Генерация ключей по стандарту ANSI X9.17

Стандарт ANSI X9.17 определяет способ генерации ключей (см. рис.8.1). Способ подходит для генерации сеансовых ключей или псевдо­случайных чисел. Для генерации ключей используется DES-шифрование, но оно может быть легко заменено любым другим криптоалгоритмом.

Пусть Е k (х) – это сообщение х, зашифрованное на специальном клю­че k, пре­дусмотренном для генерации секретных ключей. V0 - секретная 64-би­товая стартовая последовательность. Т - метка вре­ме­ни. Для генера­ции слу­чайного ключа R i необходимо выполнить следующие вычис­ления:

R i = Е kk (T i)Å V i).

Для генера­ции V i+1 необходимо вычис­лить:

V i+1 = Е kk (T i)Å R i).

 

Для превращения R i в ключ DES необходимо удалить каждый восьмой бит. Более длин­ный ключ получается путем конкатенации нескольких коротких ключей. Так для получения 128-битового ключа необходимо сначала сгенерировать пару ключей, а потом вы­полнить их конкатенацию.

1.35.

 

Неравносильные ключи

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

Простой способ заключается в генерации ключа, состоящего из двух частей: непосредственно ключа и некоторой вспомогательной фиксированной последовательности бит, зашифрованной на этом ключе. Перед шифрованием блока данных расшифровывается вспомогательная последовательность. Если результатом оказывается фиксированная после­довательность бит, то применяется криптостойкий алгоритм шифрования, если нет, то менее криптостойкий алгоритм. Если алгоритм имеет 128-битный ключ и 64-битный paзмер блока, то длина полного ключа 192 бита. Таким образом, существует 2128 различных легальных ключей, однако вероятность случайного выбора легального ключа 2-64.

1.36. Резервные ключи

Если ключ шифрования по какой-либо причине будет потерян, будет потеряна и вся зашифрованная на нем информация. Дублирование ключей увеличивает риск их компроментации.

Лучшим решением является использование схемы разделения секрета. Kогда Алиса генерирует ключ, она одновременно делит его на несколько частей и затем посылает эти части в зашифрованном виде различным уполномоченным лицам. Ни одна из этих частей сама по себе не является ключом, но, собрав их вместе, можно восстановить ключ. Согласно идеологии разделения секрета ключ может быть восстановлен даже при потере одной или нескольких частей.

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

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

Кроме того, такой способ допускает двусторонний контроль: Боб может удостовериться в том, что ключ открывает диск Алисы, а Алиса всегда может проверить, был ли использован ключ.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: