Управление ключами, основанное на системах с открытым ключом

Обычная система управления ключами

Распределение ключей – самый ответственный процесс. Два требования:

- оперативность и точность распределения;

- скрытость распределяемых ключей.

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

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

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

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

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

Некоторые из этих недостатков можно устранить, применив подход краспределению ключей, основанный на системах с открытым ключом.

До использования криптосистемы с открытым ключом для обмена обычными секретными ключами пользователи А и В должны обменяться своими открытыми ключами.

Эта проблема проще, чем обмен секретными ключами, поскольку открытые ключи не требуют секретности при хранении и передаче.

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

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

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

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

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

В качестве примера можно привести протокол обмена ключом Диффи-Хеллмана

Системными параметрами этого протокола являются большое простое число р и число g, являющееся примитивным элементом GF(p).

Пусть теперь пользователи А и В желают получить общий секретный ключ. Сначала А генерирует случайное число а, которое он держит в секрете, а В генерирует случайное число b, которое он также держит в секрете.

Затем они вычисляют ga mod p и gb mod p соответственно и передают вычисленные значения друг другу, причем это можно сделать по открытым каналам связи.

После этого А вычисляет , а В вычисляет

Поскольку , то у А и В теперь есть общий секретный ключ k.

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


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



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