-
-
-
С подробным описанием различных систем криптографии можно познакомиться в [7].
На сегодняшний день известны следующие методы распределения открытых ключей [7]:
- индивидуальное публичное объявление открытых ключей пользователями;
- использование публично доступного каталога открытых ключей;
- участие авторитетного источника открытых ключей;
- сертификаты открытых ключей.
Рассмотрим каждый из перечисленных методов.
При индивидуальном публичном объявлении открытых ключей любая сторона, участвующая в обмене сообщениями (X), может предоставить свой открытый ключ (KО) любой другой стороне. Недостатком данного подхода является невозможность обеспечить аутентификацию отправителя открытого ключа (KО). То есть, при данном подходе у нарушителя появляется возможность фальсификации пользователей (рисунок 1. 3 г)).
Использование публично доступного каталога открытых ключей позволяет добиться более высокой степени защиты информации и пользователей сети. В данном случае за ведение и распространение публичного каталога должна отвечать надежная организация (уполномоченный объект) (рисунок 2.6). При этом должны соблюдаться следующие правила.
1. Пользователи должны регистрировать свои открытые ключи в публичном каталоге, который ведет уполномоченный объект.
2. Регистрация должна проходить либо по заранее защищенным каналам связи, либо при личной (физической) явке пользователей на уполномоченный объект.
3. Уполномоченный объект должен периодически публиковать каталог открытых ключей. Например, в виде печатной продукции (книга, газета и тому подобное) либо в электронной версии (размещение на собственном сервере).
Недостатком данного подхода является следующее. Если нарушителю удастся изменить записи, хранящиеся в каталоге открытых ключей, то он сможет авторитетно выдавать фальсифицированные открытые ключи и, следовательно, выступать от имени любого из участников обмена данными и читать сообщения, предназначенные любому пользователю.
Участие авторитетного источника открытых ключей представлено на рисунке 2.7. Обязательным условием данного варианта распределения открытых ключей пользователей является условие, что авторитетный источник открытых ключей имеет свой секретный ключ, и каждый пользователь знает его открытый ключ. При этом выполняется следующий порядок действий (номера, проставленные у стрелочек, совпадают с последовательностью действий участников обмена сообщениями):
1. Пользователь 1 посылает запрос авторитетному источнику открытых ключей о текущем значении открытого ключа пользователя 2. При этом указывается дата и время запроса (д. вр.).
2. Авторитетный источник, используя свой секретный ключ
-
- д. вр. - дата и время отправки сообщения.
3. Пользователь 1, используя
- ID1 – идентификатор отправителя (пользователь 1);
- N1 - уникальную метку данного сообщения.
4, 5. Пользователь 2, получив шифрованное сообщение
6. Пользователь 2, используя
7. Пользователь 1 шифрует с помощью открытого ключа
Приведенный вариант распределения открытых ключей имеет некоторые недостатки:
- каждый раз, когда пользователь намерен передать информацию новому адресату, то он должен обращаться к авторитетному источнику с целью получения открытого ключа;
- каталог имен и открытых ключей, поддерживаемый авторитетным источником, является привлекательным местом для нарушителя передачи информации пользователей.
На рисунке 2.8 представлен сценарий распределения открытых ключей с применением сертификатов открытых ключей. Обязательным условием данного варианта распределения открытых ключей пользователей является условие, что авторитетный источник сертификатов имеет свой секретный ключ
1. Пользователь 1 генерирует пару ключей
2. Авторитетный источник шифрует с помощью своего секретного ключа
-
- IDП1 - идентификатор пользователя 1;
- TП1 - срок действия сертификата пользователя.
3. Пользователь 1 пересылает свой сертификат
4. 4, 5, 6. Пользователь 2 выполняет аналогичные действия, которые были выполнены пользователем 1 в пунктах 1, 2 и 3. То есть получает от авторитетного источника сертификат
В результате перечисленных действий пользователи обменялись открытыми ключами и готовы к передаче и приему пользовательских сообщений.
На сегодняшний день существует несколько подходов применения криптосистемы с открытым ключом для распределения секретных ключей [7]. Рассмотрим некоторые из них.
Простое распределение секретных ключей состоит в выполнении следующих действий:
1. Пользователь 1 генерирует пару ключей
2. Пользователь 1 передает пользователю 2 сообщение
3. Пользователь 2, получив сообщение