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

Иванов М.А. КМЗИ сети

.pdf
Скачиваний:
404
Добавлен:
28.03.2016
Размер:
3.19 Mб
Скачать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

 

0

 

1

 

 

 

 

 

 

1

0

0

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

 

0

 

0

 

 

 

1

1

0

 

 

0

1

 

 

 

 

1

 

 

 

1

 

 

0

1

1

 

0

 

1

1

 

0

1

1

 

 

0

1

 

 

1

0

1

 

1

 

0

1

 

1

0

1

 

 

1

0

 

 

0

1

0

 

1

 

0

0

 

0

1

0

 

 

1

0

 

 

1

0

1

 

0

 

1

0

 

1

0

1

 

 

0

1

 

 

1

1

0

 

1

 

0

1

 

1

1

0

 

 

1

0

 

 

1

1

1

 

0

 

1

0

 

1

1

1

 

 

0

1

 

 

1

1

1

 

1

 

0

1

 

1

1

1

 

 

1

0

 

 

0

1

1

 

1

 

0

0

 

0

1

1

 

 

1

1

 

 

0

0

1

 

1

 

1

1

 

0

0

1

 

 

1

0

 

 

0

0

0

 

1

 

0

0

 

0

0

0

 

 

1

1

 

 

1

0

0

 

0

 

0

1

 

1

0

0

 

 

0

1

 

 

0

1

0

 

0

 

1

1

 

0

1

0

 

 

0

0

 

 

0

0

1

 

0

 

0

0

 

0

0

1

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Канал связи

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 1.13. Синхронное поточное шифрование с использованием LFSR

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

кнеправильному расшифрованию всех последующих элементов.

Всамосинхронизирующихся поточных шифрах элементы входной последовательности зашифровываются с учетом N предшествующих элементов (рис. 1.14), которые принимают участие в формировании ключевой последовательности. В самосинхронизирующихся шифрах имеет место эффект размножения ошибок, в то же время, в отличие от синхронных, восстановление синхронизации происходит автоматически через N элементов зашифрованной последовательности.

71

В последующих главах будут рассмотрены более эффективные схемы генераторов ПСЧ и наиболее известные современные поточные шифры.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

 

1

 

 

 

 

 

 

 

1

0

0

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

1

0

 

0

0

1

 

 

 

0

1

0

 

0

1

 

1

0

1

 

0

1

1

 

 

 

1

0

1

 

0

1

 

0

1

0

 

1

0

1

 

 

 

0

1

0

 

1

0

 

1

0

1

 

0

1

0

 

 

 

1

0

1

 

0

0

 

1

1

0

 

1

1

0

 

 

 

1

1

0

 

1

1

 

0

1

1

 

0

0

1

 

 

 

0

1

1

 

0

1

 

0

0

1

 

1

0

1

 

 

 

0

0

1

 

1

1

 

1

0

0

 

1

1

1

 

 

 

1

0

0

 

1

0

 

1

1

0

 

0

1

0

 

 

 

1

1

0

 

0

1

 

1

1

1

 

0

1

1

 

 

 

1

1

1

 

0

0

 

1

1

1

 

1

1

0

 

 

 

1

1

1

 

1

1

 

1

1

1

 

1

1

1

 

 

 

1

1

1

 

1

0

 

0

1

1

 

1

0

0

 

 

 

0

1

1

 

1

0

 

0

0

1

 

1

0

0

 

 

 

0

0

1

 

1

Канал связи

Рис. 1.14. Самосинхронизирующееся поточное шифрование с использованием LFSR

Контрольные вопросы

1.Какие свойства шифрования методом гаммирования вы знаете?

2.Перечислите методы оценки стойкости шифров.

3.Назовите свойства синхронного поточного шифрования вам известны.

4.Какие свойства самосинхронизирующегося поточного шифрования вам известны?

5.Перечислите свойства блочного составного шифра.

6.Какие требования предъявляются к абсолютно стойкому шифру?

72

7.В чем состоит принцип построения блочных составных шифров К. Шеннона?

8.Перечислите свойства петли Фейстеля.

9.Сформулируйте правило Кирхгофа.

73

ГЛАВА 2. КРИПТОСИСТЕМЫ С СЕКРЕТНЫМ КЛЮЧОМ

2.1.Модель симметричной криптосистемы

Всистеме, показанной на рис. 2.1, в информационных отношениях принимают участие три действующих лица: отправитель (абонент А) и получатель информации (абонент В), а также противник (W). Современные одноключевые криптосистемы предполагают использование взаимно-обратных преобразований E (encryption) и D (decryption) блоков данных фиксированной длины. Для задания блочной криптосистемы необходимо определить:

числовые параметры криптоалгоритма – разрядность n шифруемых блоков данных, объем ключевой информации, размер раундового ключа, число раундов шифрования; раундовую функцию F шифрования;

алгоритм получения раундовых ключей из исходного

ключа kAB .

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

m m1m2 ...mi ...mt , i 1, t.

Задача абонента В заключается в том, чтобы, получив переданное сообщение

c c1c2 ...ci ...ct ,

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

крытый текст m с помощью функции зашифрования Е и секретного (известного только А и В) ключа kAB в шифротекст с:

c EAB m ,

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

m DAB c .

74

m

Абонент

 

А

 

 

 

 

(отправитель)

 

 

Зашифрование

c

 

EAB(m)

 

Противник

 

Абонент

m

 

В

W

 

 

 

(получатель)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Открытый

c

Расшифрование

канал связи

 

DAB(c)

 

 

 

Секретный

 

 

 

 

kАВ

ключ

 

 

 

 

kАВ

 

 

 

Надежный

 

 

 

 

 

 

(аутентичный)

 

 

 

 

 

 

 

 

 

 

 

 

канал связи

 

 

 

 

 

 

 

 

 

Генератор

 

 

 

 

 

ключа

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.1. Модель криптосистемы с секретным ключом

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

системы.

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

75

2.2. Классификация угроз противника. Основные свойства криптосистемы

Таким образом, имеют место три возможных типа угроз со стороны противника:

1)нарушение секретности информации – дешифрование

(полное или частичное) переданного сообщения или получение информации о его сути;

2)нарушение целостности информации – внесение в сооб-

щение искажений, которые законный получатель не смог бы обнаружить;

3)нарушение подлинности информации – формирование ложных сообщений, которые законный получатель В

принял бы за подлинные, пришедшие от А. Дешифрование переданного сообщения противником воз-

можно в случае вычисления им секретного ключа, либо нахождения алгоритма, функционально эквивалентного DAB и не тре-

бующего знания kAB .

Соответственно задачей криптографа является обеспечение требуемого уровня крипто- и имитостойкости системы. Криптостойкость – это защищенность криптосистемы от несанкционированного ознакомления с содержимым зашифрованных сообщений. Имитостойкость – защищенность криптографической системы от навязывания ложных данных [8].

2.3. Классификация атак на криптосистему

ссекретным ключом

Всимметричной криптосистеме различают пять уровней атак со стороны криптоаналитика [4]:

1)атака на основе только шифротекста (ciphertext-only attack): противнику известны n шифротекстов, зашифрованных на одном и том же ключе k;

2)атака на основе известного (невыбранного) открытого текста (known-plaintext attack): противнику известны n

шифротекстов, зашифрованных на одном и том же ключе k, а также соответствующие им открытые тексты;

76

3) атака на основе выбранного открытого текста

(chosen-plaintext attack): противник может выбрать необходимое число открытых текстов и получить соответствующие им шифрограммы (при этом в случае простой атаки такого типа все открытые тексты могут быть выбраны до получения первой шифрограммы; в случае адаптивной атаки противник выбирает очередной открытый текст, зная шифрограммы всех предыдущих);

4)атака на основе выбранного шифротекста (chosenciphertext attack): противник может выбрать необходимое количество шифротекстов и получить соответствующие им открытые тексты (в случае простой атаки такого типа все шифрограммы должны быть выбраны до получения первого открытого текста; в случае адаптивной атаки противник выбирает очередную шифрограмму, зная открытые тексты всех предыдущих);

5)атака на основе выбранного текста (chosen-text attack):

противник может атаковать криптосистему с двух сторон, т. е. выбирать шифрограммы и дешифровать их, а также выбирать открытые тексты и шифровать их (атака такого типа может быть простой, адаптивной, простой с одной стороны и адаптивной с другой).

Вкаждом случае противник должен либо определить ключ

kAB , либо выполнить дешифрование некоторого нового шифро-

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

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

77

пользования английского алфавита шифр будет вскрыт сразу после получения шифровки Ek ABC... XYZ [3].

2.4. Режимы использования блочных шифров

Для различных ситуаций, встречающихся на практике, разработано значительное количество режимов шифрования [2, 12, 21, 28, 30].

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

ная классическая схема блочного шифрования (рис. 2.2) известна под названием режима электронной кодовой книги (Electronic Code Book (ECB)). В ГОСТ 28147-89 [12] данный режим назван

режимом простой замены.

 

m1

 

 

m2

...

mt

 

 

 

 

 

 

 

 

 

 

 

 

 

EAB

EAB

 

EAB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p0c1

 

 

c2

...

ct

а

 

 

 

 

 

 

 

 

 

c1

 

 

c2

...

ct

 

 

 

 

 

 

 

 

 

 

 

 

 

DAB

DAB

 

DAB

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

mp01

 

 

mp02

...

mt

б

Рис. 2.2. Шифрование в режиме ECB: а – зашифрование, б – расшифрование

Уравнения зашифрования и расшифрования в режиме ECB

имеют вид

EAB mi ,

 

 

 

 

 

 

ci

 

 

 

 

 

 

mi

DAB ci ,

 

 

 

 

 

 

i 1, t .

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

78

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

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

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

(Ciphertext Block Chaining (CBC)). Уравнения зашифрования и

расшифрования в режиме CBC имеют вид

ci

EAB mi ci-1 ,

mi

DAB ci ci-1 ,

i

 

,

1, t

где секретность n-разрядного блока c0 (синхропосылки) не явля-

ется обязательной.

Отличительные особенности режима CBC – зависимость при зашифровании i-го блока шифротекста от всех предшествующих блоков открытого текста и зависимость при расшифровании каждого блока открытого текста mi только от двух блоков ( ci-1 и ci )

шифротекста. Первое свойство делает пригодным использование режима для решения задач контроля целостности информации.

79

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

 

m1

m2

...

mt

 

 

 

 

...

 

 

 

EAB

EAB

 

EAB

 

c0

p0c1

p0c2

...

ct

а

c0

c1

c2

...

ct

 

 

 

 

...

 

 

 

DAB

DAB

 

DAB

 

 

mp01

m2

...

mt

б

Рис. 2.3. Режим шифрования СВС: а – зашифрование, б – расшифрование

Схема режима обратная связь по шифротексту (Ciphertext Feedback (CFB)) показана на рис. 2.4. Схема, приведенная ранее на рис. 1.14, может рассматриваться как простейший частный случай данной схемы. Уравнения зашифрования и расшифрования имеют вид:

c m E Ω s

 

,

i

i

AB

i-1

 

m c E Ω

s

,

i

i

AB

i-1

 

 

s

2Ω s

c mod2n ,

i

i-1

 

i

 

 

i 1, t ,

где n – разрядность регистра сдвига; Ω – разрядность шифруемых блоков данных ( 1 δ Ω δ n ); s0 – начальное состояние

80