Иерархия ключевой информации. Распределение ключей

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

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

Иерархия ключевой информации может включать множество уровней, однако, наиболее часто выделяют:

· главные ключи (мастер-ключи),

· ключи шифрования ключей,

· рабочие ключи (сеансовые).

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

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

Значение мастер- ключа фиксируется на длительное время (до нескольких недель или месяцев). Сеансовые ключи меняются намного чаще, например, при построении криптозащищенных туннелей их можно менять каждые 10-15 минут, либо по результатам шифрования заданного объема трафика (например, 1 Мб).

Распределение ключей является очень ответственным процессом в управлении ключами. Одним из основных требований к реализации этого процесса является сокрытие распределяемой ключевой информации.

Задача распределения ключей сводится к построению протокола распределения ключей, обеспечивающего:

1) взаимное подтверждение подлинности участников сеанса;

2) подтверждение достоверности сеанса для защиты от атак методом

повторов;

3) использование минимального числа сообщений при обмене ключами.

Вообще говоря, выделяют два подхода к распределению ключевой информации в компьютерной сети:

1. Распределение ключевой информации с использованием одного

либо нескольких центров распределения ключей.

2. Прямой обмен сеансовыми ключами между пользователями.

Распределение ключевой информации с использованием центров распределения ключей

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

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

Данный подход реализован в протоколе Нидхема-Шредера и базирующемся на нем протоколе аутентификации Kerberos. Распределение ключевой информацией и разграничение доступа основывается в данных протоколах на выдаче мандатов центром распределения ключей. Использование данных протоколов позволяет безопасно распределить сеансовые ключи даже в случае взаимного недоверия двух взаимодействующих сторон.

Прямой обмен сеансовыми ключами между пользователями

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

Для решения проблемы выработки общего секрета без раскрытия его злоумышленником существует два основных способа:

· использование криптосистемы с открытым ключом для шифрования;

· использование протокола открытого распространения ключей Диффи-Хеллмана.

Реализация первого способа не должна вызывать вопросов. Рассмотрим более подробно реализацию второго способа.

Протокол Диффи-Хеллмана

Протокол Диффи-Хеллмана был первым алгоритмом работы с открытыми ключами (1976 г.). Безопасность данного протокола основана на трудности вычисления дискретных логарифмов [4].

Пусть пользователи A и B хотят выработать общий секрет. Для этого они выполняют следующие шаги.

Стороны A и B договариваются об используемом модуле N, а также о примитивном элементе g, , степени которого образуют числа от 1 до N -1.

1. Числа N и g являются открытыми элементами протокола.

2. Пользователи A и B независимо друг от друга выбирают собственные секретные ключи СКA и CKB (случайные большие целые числа, меньшие N, хранящиеся в секрете).

3. Пользователи A и B вычисляют открытые ключи ОКА и OKB на основании соответствующих секретных ключей по следующим формулам:

4. Стороны A и B обмениваются между собой значениями открытых ключей по незащищенному каналу.

5. Пользователи A и B формируют общий секрет K по формулам:

Пользователь A:

K = (OKB)CKA (mod N) = (gCKB)CKA (mod N) = gCKB.CKA (mod N).

Пользователь B:

K = (OKA)CKB (mod N) = (gCKA)CKB(mod N) = gCKA.CKB (mod N).

Ключ K может использоваться в качестве общего секретного ключа (мастер-ключа) в симметричной криптосистеме.

Пример 6.2.

Возьмем модуль N = 47 и примитивный элемент g = 23. Пусть пользователи A и B выбрали свои секретные ключи СКА = 12, СКВ = 33. Тогда,

В данном случае общий секрет будет иметь вид:

.

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

Протокол Диффи - Хеллмана нашел эффективное применение в протоколе SKIP управления ключами. Данный протокол используется при построении криптозащищенных туннелей в семействе продуктов ЗАСТАВА.


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



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