Опубликован: 19.01.2010 | Уровень: специалист | Доступ: платный
Лекция 5:

Управление ключами

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >

5.4. Распределение открытого ключа

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

В криптографии общедоступного ключа каждый имеет доступ к общедоступному ключу; общедоступные ключи доступны обществу.

Общедоступные ключи, подобно секретным ключам, должны быть распределены, чтобы быть полезными. Кратко обсудим способ, которым могут быть распределены общедоступные ключи.

Общедоступное объявление

Наивный подход состоит в том, чтобы объявить открытые ключи публично. Боб может поместить свой открытый ключ на своем сайте или объявить его в местной или национальной газете. Когда Алиса должна передать конфиденциальное сообщение Бобу, она может получить открытый ключ Боба из его сайта или из газеты или даже передать сообщение, чтобы попросить его об этом. Рис. 5.13 иллюстрирует такую ситуацию.

Объявление открытых общедоступных ключей

Рис. 5.13. Объявление открытых общедоступных ключей

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

Центр доверия

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

 Центр доверия

Рис. 5.14. Центр доверия

Управляемый центр доверия

Более высокий уровень безопасности может быть достигнут, если добавить управление распределением открытого ключа. При объявлении открытого ключа можно включить в ответ метку времени и подпись администрации, чтобы предотвратить перехват и переделку ответа. Если Алиса хочет знать открытый ключ Боба, она может передать запрос центру, включая в запрос имя Боба и метку времени. Центр отвечает открытым ключом Боба, первоначальным запросом и меткой времени, подписанной секретным ключом центра. Алиса использует открытый ключ известного всем центра и проверяет метку времени. Если метка времени правильная, она извлекает общедоступный ключ Боба. рис. 5.15 показывает один из возможных сценариев.

 Управляемый Центр доверия

Рис. 5.15. Управляемый Центр доверия

Центр сертификации

Предыдущий подход может породить высокую нагрузку на центр, если число запросов будет большим. Альтернатива этому - создание сертификата(удостоверения) общедоступного ключа. Боб имеет два желания: он хочет, чтобы люди знали его открытый ключ, и он хочет, чтобы никто не сформировал фальшивый открытый ключ, такой же как у него. Боб может обратиться в центр сертификации (CA - Certification Authority) либо в федеральную или общегосударственную организацию, которая связывает открытый ключ с объектом и выдает сертификат. Центр сертификации имеет известный общедоступный ключ, который не может быть фальшивым. Центр сертификации проверяет идентификацию Боба, используя картинку, или ID, или другое доказательство подлинности заявителя, затем запрашивает открытый ключ Боба и подписывает сертификат с секретным ключом. Центр сертификации подписывает свидетельство своим секретным ключом. Теперь Боб может загрузить подписанное свидетельство. Любой, кто хочет иметь открытый ключ Боба, загружает подписанное свидетельство и использует общедоступный ключ центра, чтобы извлечь общедоступный ключ Боба. рис. 5.16 показывает эту концепцию.

 Администрация сертификации

увеличить изображение
Рис. 5.16. Администрация сертификации

X.509

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

Чтобы обеспечить универсальность, ITU (МСЭ) разработал рекомендацию X.509 , которая была принята в Internet с некоторыми изменениями. X.509 - способ описать сертификат структурированным способом. Он использует известный протокол, называемый ASN.1 (Abstract Syntax Notation 1 - Нотация абстрактного синтаксиса 1), - он определяет поля, которые знакомы программистам, использующим C.

Сертификат

Рис. 5.17 показывает формат сертификата.

 Формат сертификата X.509

увеличить изображение
Рис. 5.17. Формат сертификата X.509

Сертификат имеет следующие поля:

  • Номер версии. Это поле определяет версию сертификата X.509.
  • Номер версии начинается отсчитываться с 0; текущая версия (третья версия) - 2.
  • Серийный номер. Это поле определяет число, назначаемое каждому сертификату. Значение этого числа является уникальным для каждого выпускаемого свидетельства.
  • Алгоритм подписи ID. Это поле идентифицирует алгоритм, используемый для подписи сертификата. В этом поле определяется любой параметр, который необходим для подписи.
  • Название выдавшего сертификат. Это поле идентифицирует центра сертификации, который выдал свидетельство. Название - обычно иерархия строк, которые определяют страну, штат, организацию, отдел и так далее.
  • Срок действия. Это поле определяет начальное время (не раньше) и последнее время (не позже), когда сертификат считается действительным.
  • Имя пользователя. Это поле определяет объект, которому принадлежит открытый ключ. Это также иерархия строк. Часть поля определяет то, что называется общим именем, которое является фактическим именем обладателя ключа.
  • Имя общедоступного ключа. Это поле определяет открытый ключ владельца. Это - центральная информация сертификата. Поле также определяет соответствующий алгоритм общедоступного ключа (например, RSA) и его параметры.
  • Уникальный идентификатор выдавшего сертификат. Это дополнительное поле позволяет двум организациям, выдавшим ключ, иметь одно то и же значение поля выдавшего, если уникальные идентификаторы выдавшего различны.
  • Уникальный идентификатор пользователя. Это дополнительное поле позволяет двум различным пользователям иметь одно и то же поле пользователя, если уникальные идентификаторы пользователя различны.
  • Дополнительное расширение формата. Это дополнительное поле позволяет выпускающим прикладывать больше частной информации, дополняющей сертификат.
  • Подпись. Это поле состоит из трех секций. Первая секция содержит все другие поля в сертификате. Вторая содержит дайджест первой секции, зашифрованный с общедоступным ключом сертификационного центра (CA). Третья - идентификатор алгоритма, использованного для создания второй секции.

Возобновление сертификата

Каждое свидетельство имеет срок действия. Если нет никаких проблем с сертификатом, Центр сертификации выдает новый сертификат прежде, чем истекает старый. Этот процесс подобен возобновлению кредитных карточек компанией, выпускающей кредитные карточки; держатель кредитной карточки обычно получает возобновленную кредитную карточку прежде, чем срок действия старой истекает.

Аннулирование сертификата

В некоторых случаях сертификат должен быть отменен перед тем, как истечет срок его действия. Например:

  1. Секретный ключ (объекта) пользователя, соответствующий открытому ключу, который перечислен в сертификате, возможно, был скомпрометирован.
  2. Центр Сертификации больше не желает удостоверять пользователя. Например, свидетельство пользователя касается организации, в которой он больше не работает.
  3. Секретный ключ центра сертификации, который может проверять сертификаты, возможно, был скомпрометирован.

В этом случае центр сертификации должен отменить все неистекшие сертификаты.

Аннулирование происходит путем периодического выпуска списка аннулированных сертификатов (CRL - certificate revocation). Список содержит все отменяемые сертификаты, срок которых не истек в день выпуска CRL. Когда пользователь хочет использовать сертификат, он сначала должен проверить каталог соответствующего сертификационного Центра, просмотрев последний список аннулирования сертификатов. рис. 5.18 показывает список аннулирования сертификатов.

Формат аннулирования сертификата X.509

увеличить изображение
Рис. 5.18. Формат аннулирования сертификата X.509

Список аннулирования сертификатов имеет следующие поля:

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

    Каждый список содержит две части: пользовательский серийный номер сертификата и дату аннулирования.

  • Подпись. Это поле такое же, как и в списке сертификатов.

Аннулирование с помощью дельта-списка

Чтобы сделать аннулирование более эффективным, был предложен дельта- список аннулирования сертификата (дельта-список CRL - certification list). Дельта CRL создается и размещается в директории, если есть изменения в период, который начинается с даты последнего обновления сертификата до следующей модификации, - например, если CRL вырабатываются каждый месяц, но есть аннулирования между этим датами. Центр сертификации может создать дельта-список CRL, когда есть изменение в течение месяца. Однако дельта CRL содержит только изменения, сделанные после последнего CRL.

< Лекция 4 || Лекция 5: 123456 || Лекция 6 >
Евгений Виноградов
Евгений Виноградов

Прошел экстерном экзамен по курсу перепордготовки "Информационная безопасность". Хочу получить диплом, но не вижу где оплатить? Ну и соответственно , как с получением бумажного документа?

Илья Сидоркин
Илья Сидоркин

Добрый день! Подскажите пожалуйста как и когда получить диплом, после сдичи и оплаты?????

Дмитрий Хитров
Дмитрий Хитров
Россия
Юрий Докучаев
Юрий Докучаев
Россия, ПГТ Яблоновский