Лекции по "Информационной безопасности"

Автор работы: Пользователь скрыл имя, 11 Мая 2013 в 20:43, курс лекций

Краткое описание

Информационная безопасность. Тема 10. Лекция 16.
Информационная безопасность. Лекция 6. Административный уровень обеспечения ИБ
Информационная безопасность. Тема 5-1. Лекция 7. Введение в криптографию
Информационная безопасность. Тема 5-2. Лекция 8. Симметричные алгоритмы шифрования. Алгоритм DES

Вложенные файлы: 12 файлов

ИБ-08.doc

— 310.00 Кб (Скачать файл)

Первый из них - простая замена. В этом случае блоки шифруются независимо друг от друга и от положения в массиве исходной информации. То есть две одинаковые последовательности размером в 64 бита и после обработки останутся одинаковыми. Кроме того, в режиме простой замены очень желательно, чтобы объем исходного массива данных был кратен 64 битам. В противном случае наблюдается снижение криптоустойчивости алгоритма к некоторым видам атак. Режим простой замены применяется для ключей шифрования.

Вторым режимом работы алгоритма  является гаммирование. В рассматриваемом алгоритме для этой цели используется операция побитового сложения по модулю 2, поскольку она является обратной самой себе и к тому же наиболее просто реализуется аппаратно.

Таким образом, использование гаммирования решает обе проблемы простой замены. Во-первых, применение различных гамм для шифрования одинаковых последовательностей приводит к тому, что в закодированном тексте они отличаются друг от друга. Во-вторых, никто не может помешать "обрезать" гамму до нужного размера для шифрования блоков, отличных от стандартных. Таким образом, режим гаммирования избавлен от всех недостатков простой замены и может использоваться для надежного шифрования любой информации.

Третий режим работы алгоритма - это гаммирование с обратной связью. Он очень похож на предыдущий. Единственное отличие заключается в том, что очередной элемент гаммы вырабатывается с помощью определенных преобразований предыдущей последовательности информации. То есть фактически получается, что результат кодирования блока данных зависит от ключа шифрования и предыдущего уже зашифрованного блока. Таким образом, имеется связь всего закодированного текста. И если кто-то поменяет в нем какой-либо бит, то при расшифровке искаженным окажется не один, а два блока данных. В принципе, сильного влияния на криптостойкость обратная связь не оказывает. Однако она может послужить дополнительной защитой от некоторых типов атак.

В ГОСТе 28147-89 описана еще одна очень полезная функция алгоритма шифрования - возможность создания имитовставки. Имитовставка - контрольная комбинация, зависящая от открытых данных и секретной ключевой информации. Она нужна для того, чтобы обнаружить все случайные или преднамеренные изменения в зашифрованных данных. Обнаружить внесенные в текст изменения несложно. Тем более что полноценно заменить одни слова другими без знания ключа нельзя. Но если злоумышленник внесет изменения в файл, полученный путем шифрования бинарной, звуковой, графической или видеоинформации, то при декодировании искажения перейдут и на исходные данные. И заметить их зачастую просто-напросто нереально. Именно тогда имитовставка и оказывается незаменимой. Да и в случае с текстом ее использование позволяет точно узнать, вносились изменения в зашифрованный файл или нет.

Основные различия между DES и ГОСТ 28147 следующие:

  • DES использует гораздо более сложную процедуру создания подключей, чем ГОСТ 28147. В ГОСТ эта процедура очень проста.
  • В DES применяется 56-битный ключ, а в ГОСТ 28147 - 256-битный. При выборе сильных S-boxes ГОСТ 28147 считается очень стойким.
  • У S-boxes DES 6-битовые входы и 4-битовые выходы, а у S-boxes ГОСТ 28147 4-битовые входы и выходы. В обоих алгоритмах используется по восемь S-boxes, но размер S-box ГОСТ 28147 существенно меньше размера S-box DES.
  • В DES 16 раундов, в ГОСТ 28147 - 32 раунда, что делает его более стойким к дифференциальному и линейному криптоанализу.

  • Advanced Encryption Standard (AES) - Алгоритм Rijndael

  • Инициатива  в разработке AES принадлежит национальному институту стандартов США - NIST. Основная цель состояла в создании федерального стандарта США, который бы описывал алгоритм шифрования, используемый для защиты информации как в государственном, так и в частном секторе. В результате длительного процесса оценки был выбрал алгоритм Rijndael в качестве алгоритма в стандарте AES.

    Алгоритм Rijndael представляет собой симметричный алгоритм блочного шифрования с переменной длиной блока и переменной длиной ключа. Длина блока и длина ключа могут быть независимо установлены в 128, 192 или 256 бит. Алгоритм использует линейно-подстановочные преобразования и состоит из 10, 12 или 14 раундов в зависимости от длины ключа. Блок данных, обрабатываемый с использованием алгоритма Rijndael, делится на массивы байтов, и каждая операция шифрования является байт-ориентированной.

    Преобразование раунда алгоритма Rijndael не имеет структуру сети Фейстеля, а использует структуру типа SP-сеть (Substitution-Permutation network, подстановочно-перестановочная сеть) — разновидность блочного шифра, предложенная в 1971 году Хорстом Фейстелем. Ппреобразование каждого раунда состоит из четырех различных преобразований, называемых слоями. Каждый слой разрабатывался с учетом противодействия линейному и дифференциальному криптоанализу. В основу каждого слоя положена своя собственная функция.

    Алгоритм Rijndael очень хорошо выполняется как в программной, так и в аппаратной реализации в широком диапазоне окружений, имеет небольшие требования к памяти, что делает его пригодным для окружений с ограниченными ресурсами. В этом случае он также демонстрирует отличное выполнение.

    Алгоритм Rijndael может применяться в качестве алгоритма МАС. Для этого следует использовать блочный алгоритм в режиме СВС-МАС. Также существует много способов, с помощью которых алгоритм Rijndael можно использовать в качестве генератора псевдослучайных чисел.

  • Алгоритм поточного шифрования RC4

  • Потоковый шифр RC4 (RC расшифровывается как Ron’s Code или Rivest’s Cipher) был разработан Роном  Ривестом в 1987 году. Этот шифр позволяет  использовать ключи размером от 8 до 2048 бит (с шагом 8). В RC4 для зашифрования и расшифрования применяются одни и те же действия: генерируется гамма, которая накладывается на шифруемое сообщение путем сложения по модулю 2 (операция XOR). Алгоритм применяется в различных системах защиты информации в компьютерных сетях (например, в протоколах SSL и TLS, алгоритме безопасности беспроводных сетей WEP, в таких продуктах, как Microsoft Office, Lotus Notes, Adobe Acrobat и др.

    Рис. 8.  Общая схема алгоритма RC4.

    Ядро  алгоритма состоит из функции  генерации ключевого потока. Эта  функция генерирует последовательность битов, которая затем объединяется с открытым текстом посредством суммирования по модулю два. Дешифрация состоит из регенерации этого ключевого потока и суммирования его с шифрограммой по модулю два, восстанавливая исходный текст. Другая главная часть алгоритма — функция инициализации, которая использует ключ переменной длины для создания начального состояния генератора ключевого потока.

    RC4 — фактически класс алгоритмов, определяемых размером его блока.  Этот параметр n является размером слова для алгоритма. Обычно, n = 8. Для повышения безопасности необходимо увеличить эту величину. Внутреннее состояние RC4 состоит из массива размером 2n слов и двух счетчиков, каждый размером в одно слово. Массив обозначается как S-бокс. Он всегда содержит перестановку 2n возможных значений слова. Два счетчика обозначены через i и j.

  • Асимметричные алгоритмы шифрования

  • Алгоритмы шифрования с открытым ключом разрабатывались для того, чтобы решить две наиболее трудные задачи, возникшие при использовании симметричного шифрования.

    Первой задачей  является распределение ключа. При  симметричном шифровании требуется, чтобы  обе стороны уже имели общий  ключ, который каким-то образом должен быть им заранее передан. Диффи, один из основоположников шифрования с открытым ключом, заметил, что это требование отрицает всю суть криптографии, а именно возможность поддерживать всеобщую секретность при коммуникациях.

    Второй задачей  является необходимость создания таких  механизмов, при использовании которых  невозможно было бы подменить кого-либо из участников, т.е. нужна цифровая подпись. При использовании коммуникаций для решения широкого круга задач, например в коммерческих и частных целях, электронные сообщения и документы должны иметь эквивалент подписи, содержащейся в бумажных документах. Необходимо создать метод, при использовании которого все участники будут убеждены, что электронное сообщение было послано конкретным участником. Это более сильное требование, чем аутентификация.

    Диффи и Хеллман  достигли значительных результатов, предложив способ решения обеих задач, который радикально отличается от всех предыдущих подходов к шифрованию.

    Кроме этого, некоторые  алгоритмы, например RSA, имеют следующую  характеристику: каждый из двух ключей может использоваться как для шифрования, так и для дешифрования.

    При описании симметричного  шифрования и шифрования с открытым ключом будет использоваться следующая терминология. Ключ, используемый в симметричном шифровании, будет называться секретным ключом. Два ключа, используемые при шифровании с открытым ключом, будут называться открытым ключом и закрытым ключом. Закрытый ключ будет обозначаться KR, открытый ключ - KU.

    Предполагается, что все участники имеют доступ к открытым ключам друг друга, а закрытые ключи создаются локально каждым участником и, следовательно, не распространяются. В любое время участник может изменить свой закрытый ключ и опубликовать составляющий пару открытый ключ, заменив им старый открытый ключ.

    Диффи и Хеллман  описывают требования, которым должен удовлетворять алгоритм шифрования с открытым ключом.

    1. Вычислительно легко создавать пару (открытый ключ KU , закрытый ключ KR).
    2. Вычислительно легко, имея открытый ключ и незашифрованное сообщение М, создать соответствующий зашифрованное сообщение:

    С = ЕKU[М]

    1. Вычислительно легко дешифровать сообщение, используя закрытый ключ:

    М = DKR[C] = DKR[EKU[M]]

    1. Вычислительно невозможно, зная открытый ключ KU, определить закрытый ключ KR.
    2. Вычислительно невозможно, зная открытый ключ KU и зашифрованное сообщение С, восстановить исходное сообщение М.

    Можно добавить шестое требование, хотя оно не выполняется  для всех алгоритмов с открытым ключом:

    1. Шифрующие и дешифрующие функции могут применяться в любом порядке:

    М = ЕKU[DKR[M]]

    Это достаточно сильные требования, которые вводят понятие односторонней функции с люком. Односторонней функцией называется такая функция, у которой каждый аргумент имеет единственное обратное значение, при этом вычислить саму функцию Y=f(X) легко, а вычислить обратную функцию X = f-1(Y) - трудно (невозможно).

    Односторонней функции с люком называется функция, которую, подобно односторонней функции, легко вычислить в одном направлении и трудно вычислить в обратном направлении до тех пор, пока недоступна некоторая дополнительная информация. При наличии этой дополнительной информации инверсию можно вычислить за приемлемое время.

  • Основные способы использования алгоритмов с открытым ключом

  • Основными способами  использования алгоритмов с открытым ключом являются шифрование/дешифрование, создание и проверка подписи и обмен ключа.

    Шифрование с открытым ключом состоит из следующих шагов:

    1. Пользователь В создает пару ключей KUb и KRb, используемых для шифрования и дешифрования передаваемых сообщений.
    2. Пользователь В делает доступным некоторым надежным способом свой ключ шифрования, т.е. открытый ключ KUb. Составляющий пару закрытый ключ KRb держится в секрете.
    3. Если А хочет послать сообщение В, он шифрует сообщение, используя открытый ключ В KUb .
    4. Когда В получает сообщение, он дешифрует его, используя свой закрытый ключ KRb. Никто другой не сможет дешифровать сообщение, так как этот закрытый ключ знает только В.

     
    Рис.9.  Шифрование с открытым ключом

    Создание  и проверка подписи состоит из следующих шагов:

     
    Рис.10.  Создание и проверка подписи

    1. Пользователь А создает пару ключей KRA и KUA, используемых для создания и проверки подписи передаваемых сообщений.
    2. Пользователь А делает доступным некоторым надежным способом свой ключ проверки, т.е. открытый ключ KUA. Составляющий пару закрытый ключ KRA держится в секрете.
    3. Если А хочет послать подписанное сообщение В, он создает подпись EKRa[M] для этого сообщения, используя свой закрытый ключ KRA.
    4. Когда В получает подписанное сообщение, он проверяет подпись DKUa[M], используя открытый ключ А KUA. Никто другой не может подписать сообщение, так как этот закрытый ключ знает только А.

    Невозможно  изменить сообщение, не имея доступа  к закрытому ключу А, тем самым обеспечивается аутентификация и целостность данных.

    В этой схеме  все сообщение подписывается, причем для подтверждения целостности сообщения требуется много памяти. Каждое сообщение должно храниться в незашифрованном виде для использования в практических целях. Кроме того, копия сообщения также должна храниться в зашифрованном виде, чтобы можно было проверить в случае необходимости подпись. Более эффективным способом является шифрование небольшого блока битов, который является функцией от сообщения. Такой блок, называемый аутентификатором, должен обладать свойством невозможности изменения сообщения без изменения аутентификатора. Если аутентификатор зашифрован закрытым ключом отправителя, он является цифровой подписью, с помощью которой можно проверить исходное сообщение.

    Информация о работе Лекции по "Информационной безопасности"