Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
65
Добавлен:
19.02.2016
Размер:
374.27 Кб
Скачать

5.3. Режимы работы блочных алгоритмов

Существует несколько режимов работы блочных алгоритмов, которые используются в зависимости от конкретных приложений [11,12].

Режим электронной кодовой книги ECB (Electronic Codebook Mode) – наиболее очевидный способ использования блочного крптоалгоритма.

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

Обычно, размер блока равен 64 битам, следовательно, в «кодовой книге» достаточно много записей – . Структура каждой «кодовой книги» определяется своим ключом.

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

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

Не менее, а потенциально может быть и более, опасный риск заключается в возможности имитации или воспроизведения блоков (block replay) без знания ключа и даже деталей алгоритма. По сути, злоумышленник может изменять зашифрованные сообщения так, чтобы обмануть получателя.

В частности, рассмотрим систему электронных банковских расчетов, сообщения в которой шифруются блочным алгоритмом в режиме ECB. Стандартный формат сообщений может иметь вид 13 блоков по 64 бита.

1

2

3

4

5-10

11

12

13

Штамп

времени

Банк -

Отправитель

Банк -

получатель

Имя вкладчика

счета

Сумма

8 байт

12 байт

12 байт

48 байт

16 байт

8 байт

Рис. 5.6. Формат сообщения о транзакции

Пусть злоумышленник контролирует линию связи между двумя банками. Он посылает некоторую сумму (например, $100) из одного банка в другой, затем еще раз. Далее, просмотрев все сообщения, он находит пару совпадающих сообщений. Если таких много, то операцию нужно повторить для вывления «своего» перевода.

Послав выявленное сообщение еще раз, можно получить на счет дохода +$100. Если проделать это с суммами больше $100 и несколько раз, то можно получить достаточный куш.

Эта атака носит название «повторение блока» (block replay).

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

Банки могут уменьшить риск, чаще меняя ключи, но это значит только то, что злоумышленнику необходимо работать быстрее.

Адекватным ответом системы защиты на атаки подобного рода является преобразование, называемое сцеплением (chaining), которому соответствует т.н. режим СВС (Cipher Block Chaining Mode).

Соседние файлы в папке Гулак_по_главам