<< Предыдущая

стр. 25
(из 82 стр.)

ОГЛАВЛЕНИЕ

Следующая >>

5.1.7. В какой части алгоритма DES перестановки усиливают кри-
птостойкость?

5.1.8. В чем состоит роль замен и перестановок в шифре Rijndael?

5.1.9. Назовите слабые стороны режима шифрования ЕСВ и ска­
жите, как они исправлены в режиме СВС.

5.1.10. Что такое MAC? Приведите три примера, в которых могли
бы использоваться эти коды.
Глава 5. Симметричные шифры

5.1.11. РСЛОС часто используется р^ля создания поточных шифров.
Что такое РСЛОС и почему их нельзя непосредственно при­
менять р^ля поточного шифрования?

Лабораторные работы
5.2.1. Найдите доступную реализацию алгоритма DES в Интер­
нете. Сравните описание этого алгоритма в тексте книги с
фактической. Объясните, почему изменения, внесенные про­
граммистами в алгоритм, корректны (т. е. и не меняют вы­
ходных данных) и для чего они были сделаны.

5.2.2. Выясните, как вычислить линейную сложность последова­
тельности, и разработайте соответствуюп1;ий алгоритм. С
помощью РСЛОС произведите несколько последовательно­
стей и вычислите их линейную сложность.

Упражнения
5.3.1. Пусть а обозначает поразрядное дополнение битовой строки^
а. Покажите, что если Ek — шифруюш;ая функция алгоритма
DES с ключом к и С = Ek{m), то С = Ej^{rn).
Указание, Используйте тождество а Ф Ь = а © Ь.

5.3.2. Рассмотрим композицию шифруюш;их функций блочного ши­
фра с п-битовым ключом
C = EkAEk2{m))
как шифрующую функцию нового шифра с ключом из 2п
битов. Покажите, что существует успешная атака с выбором
открытого текста на этот шифр, р^ля которой нужно 0(2'^)
памяти и О{2'^) операций шифрования и расшифрования с
использованием функции Е,

5.3.3. Рассмотрим модификацию алгоритма DES с двумя ключами
вместо трех, а именно,

с= DESkADESg\DESkM)))-
Найдите успешную атаку с выбором открытого текста на
этот двухключевой DES^ которой требуется около 2^^ шагов

^Результат поразрядного сложения по модулю 2 строки а со строкой единиц.
Если, например, а = 100110, то а = 011001. — Прим. перев.
5.6, Современные поточные шифры

и хранения в памяти 2^^ шифротекстов, полученных с помо­
щью однократного DES,

5.3.4. Опишите операцию расшифрования в режиме CFB,

5.3.5. Пусть многочлен С(Х), ассоциированный с РСЛОС^ непри­
водим, и старший его коэффициент равен 1. Покажите, что в
этом случае последовательность, генерируемая РСЛОС^ пе­
риодична с самого начала. Более того, при любом его началь­
ном состоянии период получаемой последовательности равен
наименьшему целому числу N^ при котором С{Х) делит мно­
гочлен 1 + Х^,
ГЛАВА 6
РАСПРЕДЕЛЕНИЕ
СИММЕТРИЧНЫХ
КЛЮЧЕЙ

Ц е л и главы
• Понять проблемы, связанные с управлением секретными ключа­
ми и их распределением.
• Узнать о технике распределения ключей, основанной на раз­
личных протоколах.
• Ввести понятие формального анализа протоколов.


6.1 • Управление ключами
Для успешного использования симметричных криптосистем подоб­
ных DES или Rijndael партнерам необходимо как-то договориться
о секретном ключе, т.е. найти путь управления ключами. В этом
параграфе мы обсудим некоторые способы решения этой задачи, в
частности здесь будет рассказано
- о распределении ключей,
- о выборе ключа,
- о времени жизни ключа,
- о разделении секрета.
Но сначала нам необходимо разделить все многообразие симметрич­
ных ключей на отдельные группы и понять, чем они друг от друга
отличаются. Введем термины.
Статичный (долговременный) ключ. Так называют ключ, ко­
торый используется в течение большого периода времени. Точное
значение слова «большого» зависит от приложений, где ключ ис­
пользуется, и период, о котором идет речь, может варьироваться
от нескольких часов до нескольких лет. Компрометация (раскры­
тие) статичного ключа обычно считается главной проблемой с по­
тенциально катастрофическими последствиями.
6.1, Управление ключами

Эфемерный или сеансовый (кратковременный) ключ применя­
ется лишь малое время, от нескольких секунд до одного дня. Его
обычно берут на вооружение р^ля обеспечения конфиденциальности
в одном сеансе связи. Раскрытие сеансового ключа может повлечь
за собой лишь нарушение секретности сеанса и ни коим образом не
должно влиять на криптостойкость всей системы.

6.1.1. Распределение ключей
Распределение ключей — одна из фундаментальных задач крипто­
графии. Существует несколько ее решений, подходящее из которых
выбирается в зависимости от ситуации.
Физическое распределение. С помош^>ю доверенных курьеров или
вооруженной охраны ключи могут рассылаться традиционным фи­
зическим путем. До семидесятых годов двадцатого века это дей­
ствительно был единственный безопасный путь распределения клю­
чей при установке системы. Ему сопутствовал ряд трудностей, в
особенности при расширении, масштабировании (модульном нара­
щивании системы в рамках унифицированной архитектуры) кри­
птосистемы, но основной недостаток, связанный с таким способом
распределения, состоит в том, что криптостойкость системы зави­
сит не столько от ключа, сколько от курьера. Если подкупить, по­
хитить или просто убить курьера, то система будет скомпромети­
рована.
Распределение с помощью протоколов с секретным ключом. Ес­
ли долговременные секретные ключи распределены между пользова­
телями и неким центром, который обычно называют центром дове­
рия, то его можно использовать для генерирования ключей и обме­
на между любыми двумя пользователями всякий раз, когда в этом
возникает необходимость. Протоколы, предназначенные для этой
цели, — предмет обсуждения настоящей главы. Обычно они доста­
точно эффективны, но не лишены и недостатков. В частности, этот
способ распределения предусматривает, что как оба пользователя,
так и центр работают в режиме онлайн. Кроме того, статичные
ключи при этом должны распределяться физическим путем.
Распределение с помощью протоколов с открытым ключом. Ис­
пользуя криптосистемы с открытым ключом, партнеры, не доверя­
ющие посредникам и лишенные возможности встретиться, могут до­
говориться об общем секретном ключе в режиме онлайн в соответ­
ствии с протоколом об обмене ключей. Это наиболее распространен­
ное приложение техники шифрования с открытым ключом. Вместо
Глава 6. Распределение симметричных ключей

того, чтобы шифровать большой объем данных непосредственно с
помощью открытого ключа, стороны предварительно согласовыва­
ют секретный ключ. Затем для шифрования фактической информа­
ции применяется симметричный шифр с согласованным ключом.
Чтобы понять масштабность проблемы, отметим, что при обслу­
живании п пользователей, обменивающихся закрытой информацией
друг с другом, необходимо
п{п — 1)
2
разных секретных: ключей. С ростом п возникает проблема упра­
вления огромным числом ключей. Например, для небольшого уни­
верситета с 10000 студентов нужно около пятидесяти миллионов
отдельных секретных ключей. С большим количеством уже суще­
ствующих ключей связано много проблем. Например, к чему при­
ведет компрометация Вашего ключа? Другими словами, кто-то по­
сторонний нашел Ваш ключ. Что Вам следует предпринять в связи
с э т и м ? . . . Итак, большое число ключей порождает сложную про­
блему управления.
Одно из ее решений заключается в том, что за каждым поль­
зователем закрепляется единственный ключ, используя который он
может связываться с центром доверия. В этом случае система с п
пользователями требует только п ключей. Когда двое пользователей
хотят обменяться секретными сведениями, они генерируют ключ,
который будет использован только для передачи этого сообщения.
Его называют сеансовым ключом. Сеансовый ключ генерируется с
участием центра доверия при помощи одного из протоколов, о ко­
торых будет рассказано позже в этой главе.

6.1.2. Выбор ключа
Секретный ключ должен быть случайным в полном смысле этого
слова, поскольку иначе, как мы убедились в главе 4, нападающий
может получить информацию о ключе, зная вероятностные распре­
деления ключей и сообщений. Все ключи должны быть равновероят­
ны и производиться с помощью настоящего генератора случайных
чисел. Однако источник абсолютно случайных чисел очень трудно
создать. Стоит заметить, что хотя по-настоящему случайный ключ
очень хорош для применения, его крайне трудно удержать в чело­
веческой памяти. Поэтому многие системы используют пароль или
подходящие фразы р^ля генерирования секретного ключа. Но теперь
лобовая атака даже более опасна. Как видно из табл. 6.1, пароль на-
6Л. Управление ключами

подобие PIN-кода, т. е. простой номер, лежащий в пределах от О до
9999, легко установить с помощью лобовой атаки. Даже при исполь­
зовании пароля из 8 символов число возможностей не дотягивает до
280
чего нам хотелось бы для обеспечения безопасности.
Таблица 6.1. Зависимость числа ключей от длины и типа используемых
знаков
Размер ключа Цифры Буквы
4 10^;^2^^ 10^ « 2^^
8 10^ « 2 ^ ^ 10^^ « 2^°

Можно было бы использовать длинные фразы, состоящие из 20-
30 знаков, однако это тоже не выход, поскольку, как мы уже смогли
убедиться, последовательность букв в естественном языке далеко не
случайна.
Короткие пароли, основывающиеся на именах или словах — об­
щая проблема большинства крупных организаций. Многие из них
требуют соблюдения, чтобы в пароле присутствовали
- по крайней мере одна прописная буква,
- по крайней мере одна заглавная буква,
- по крайней мере одна цифра,
- по крайней мере один знак, отличный от цифры и буквы,
- длина пароля — не менее восьми знаков.
Но перечисленные правила, исключая атаку по словарю, все еще не
обеспечивают максимально возможное число паролей, которое до­
стигается при действительно случайном выборе восьми знаков.

6.1.3. Время жизни ключа
Один из важных моментов, который следует принимать во внима­
ние при генерировании и хранении ключей, — это продолжитель­
ность их жизни. Общее правило состоит в том, что чем дольше ис­
пользуемый ключ находится в обращении, тем легче нападающему
его вскрыть, и тем большую ценность он р^ля него представляет.
Кроме того, важно правильно уничтожить ключ по истечении его
жизни. Перекладывание проблемы на плечи операционной системы
командой del или rem не гарантирует того, что нападающий не
сможет восстановить информацию, исследуя жесткий диск. Обычно
удаление файла не стирает его содержания, а всего лишь сообща­
ет системе о том, что ячейки памяти, отведенные под него, теперь
свободны р^ля записи новых данных.
Глава 6, Распределение симметричных ключей

6.1.4. Разделение секрета
Как мы уже говорили, главная проблема — безопасное управление
распределением секретных ключей. Даже при использовании центра
доверия необходим какой-нибудь способ получения ключа каждому
его пользователю.
Один из возможных путей решения состоит в расщеплении клю­
ча (более формально — разделении секрета)^ при котором ключ
делится на несколько частей

гь ^^ гь\ Ш п?2 Ш * * * мЗ i^T •


Каждая его часть передается по своему каналу. Красота этого реше­
ния бросается в глаза: р,ля определения ключа нападаюш;ий должен
суметь подключиться ко всем каналам сразу. С другой стороны, ес­
ли противнику удалось проникнуть в один из каналов, передающих
части ключа, он может воспрепятствовать законному восстановле­
нию ключа.
Более сложный метод, лишенный последнего недостатка, состо­
ит в использовании одной из форм схемы порогового разделения
секрета. Ключ, как и прежде, разделяется на несколько частей,
например, W. Легальный пользователь сможет восстановить ключ
полностью, получив некоторое количество этих частей, превышаю­
щее определенное пороговое значение Т. Однако противник, выве­
дав только (Т — 1) часть, не сможет вскрыть ключ. Эта схема на
данный момент не часто применяется на практике. Мы ввели эту
концепцию здесь, дабы подготовить читателя к лучшему воспри­
ятию различных схем разделения секрета в последующих главах,
когда будем рассматривать протокол голосования.
Схема Шамира разделения секрета является типичным приме­
ром пороговой схемы. Предположим, что ключ к разделяется на W
частей таким образом, что по Т из них, собранных вместе, ключ
однозначно восстанавливается. Схема с такими значениями назы­
вается (Т, ^Г)-пороговой схемой.
Берем простое число Р , большее чем Ж + 1. Ключ к — эле­
мент поля ?р. Доверенное лицо выбирает значения Xi G ?р для
г = 1, . . . , Ж по одному для каждой части ключа. Каждый участ­
ник разделения секрета получает свое значение Х^, которое будет
известно и всем остальным участникам. Для разделения ключа к
между пользователями ответственное лицо выбирает Т — 1 элемен-
6.2. Распределение секретных ключей

тов поля ai, . . . , ат-1 и строит многочлен

<< Предыдущая

стр. 25
(из 82 стр.)

ОГЛАВЛЕНИЕ

Следующая >>