2.1.4. Структура ключевой системы симметричных криптосхем
Ключевая система любой криптосхемы строится таким образом, чтобы она соответствовала ряду условий и ограничений, которые можно сформулировать в виде набора практических правил и прин-ципов организации криптосистем, образующих своеобразный свод правил «техники безопасности» для криптографа.
1.
Принципы «функционального» разделения ключей.1.1. Принцип целевого использования ключей. Криптографиче-ские ключи, применяемые для различных целей, должны быть раз-личными. Не допускается использование одного и того же ключа для двух или более различных назначений. Ключи используются только по тому назначению, которое предопределено в момент их создания. Необходимость введения этого правила объясняется тем, что, например, требования к ключам, используемым в блочном шифре и в схеме цифровой подписи, могут различаться как по длине ключа, так и по качеству псевдослучайного генератора, а также по наличию у ключа специальных математических свойств. Еще один аргумент в пользу этого правила заключается в том, что криптограф, проектируя криптосистему, никогда не может знать, каким образом и насколько корректно ключи будут использоваться прикладными программами, реализующими эту криптосистему. Ограничения по использованию ключа могут быть усилены физической защитой или криптографическими методами.
1.2. Принцип иерархии ключей. Любая сложная криптосистема включает многоуровневую ключевую систему. Впервые это было сформулировано в американском стандарте по управлению ключами для финансовой индустрии X 9.17. Действительно, можно выделить два типа информации, защищаемой секретными ключами: пользова-тельские данные и сам ключевой материал криптосистемы. Ключи, защищающие пользовательские данные, в соответствии с принци-пом целевого использования ключей подразделяются на ключи шифрования, ключи цифровой подписи, ключи аутентификации и др.
Таким образом, приходим к необходимости каким-то образом структурировать ключевую систему, чтобы в ней была обеспечена надежная защита обоих типов ключей. Упомянутый выше стандарт предлагает упорядочить ключи сложной криптосистемы в виде ие-рархической схемы, включающей мастер-ключи, ключи шифрова-ния ключей и ключи шифрования данных.Мастер-ключи (МК) - ключи высшего уровня иерархии, которые сами защищаются некриптографическими средствами: физическими, аппаратными, организационными, юридическими и пр. Они рас-пределяются вручную или инсталлируются в систему на предоперационной стадии самой информационной системы (изделия) и оста-ются неизменными в течение всего жизненного цикла. МК защищаются мерами процедурного контроля, физической или логи-ческой изоляцией их от посторонних субъектов.
Ключи шифрования ключей (КШК) - симметричные ключи или открытые ключи шифрования, используемые для транспортировки или хранения других ключей, например в протоколах транспортировки ключей. Безопасность КШК обеспечивается уровнем МК.
Ключи шифрования данных (КШД) - ключи, которые использу-ются для выполнения криптографических операций над данными пользователя (шифрование, аутентификация). Обычно это кратко-временные (сеансовые) симметричные ключи. Однако и асиммет-ричные секретные ключи цифровой подписи также могут рассмат-риваться как КШД.
Ключи верхних уровней применяются для защиты ключей нижних уровней. Это позволяет сделать атаки на схемы шифрования более затруднительными (меньшим становится объем шифртекста) и снизить ущерб от возможной компрометации каждого ключа. 2. Принципы «временного» разделения ключей. Криптопериод ключа - это период времени, в течение которого ключ остается действительным для санкционированного использо-вания в системе. Криптопериод ограничивает использование ключей на фиксированный период, после которого они должны быть заме-нены.
Введение криптопериода ключей может служить следующим целям:
ограничению информации, связанной с определенным ключом, доступной для криптоанализа противником;
ограничению ущерба - количества раскрытой информации - в случае компрометации ключа;
ограничению использования определенной технологии (напри-мер, лицензионного программного обеспечения) в пределах оце-ночного времени жизненного цикла;
ограничению времени, доступного для криптоаналитика против-ника с мощными вычислительными ресурсами.
Введение криптопериодов влечет за собой (довольно условное) подразделение всех ключей крипто системы по временному признаку на долговременные и кратковременные.
Долговременные ключи (long-term keys), к которым относятся, как правило, мастер-ключи, а часто также КШК и другие ключи, способствующие обмену ключами, защищают кратковременные ключи.
Долговременные ключи типичны для прикладных программ, требующих хранения данных в течение более или менее длительного промежутка времени.Кратковременные ключи (short-term keys) - это ключи, вырабо-танные посредством протоколов обмена ключами или транспортировки ключей (что будет рассмотрено в разд. 2.2), которые исполь-зуются часто как КШД или сеансовые ключи для одного- единственного сеанса связи между абонентами криптосистемы. Такие ключи типичны для коммуникационных прикладных программ.
С понятием криптопериода ключа связана еще одна тонкость. Понятие время жизни ключа следует отличать от понятия время га-рантированной защиты. Первое означает предполагаемый период использования ключа законным владельцем, второе - расчетное время, которое ключ будет противостоять атакам криптоаналитика. Это не время, затрачиваемое противником на криптоанализ, а время до того момента, когда криптоанализ станет реально возможным с учетом быстро возрастающей вычислительной мощности современ-ных средств вычислительной техники.
Выбор ключей и организация ключевой системы в соответствии с принципами «функционального» и «временного» разделения клю-чей формируют структуру ключевой системы, т. е. ее строение, взаиморасположение и связь ее составных ключей - криптографиче-ских ключей.