Перейти к содержимому. | Перейти к навигации

Персональные инструменты
Вход Регистрация
Вы здесь: Главная ЧИТАЛЬНЫЙ ЗАЛ Криптография Использование цифровых сертификатов формата X.509
Навигация
 

Использование цифровых сертификатов формата X.509

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

© Панасенко Сергей, 2003.

Стоит сказать, что в развитых странах подобные законы приняты уже достаточно давно, например, в США, Германии и Эстонии подобные законы дейстуют с конца 90-х годов. Использование ЭЦП базируется на цифровых сертификатах. Рассмотрим формат сертификатов X.509, являющийся общепризнанным мировым стандартом.

Цифровые сертификаты

Цифровой сертификат пользователя представляет собой открытый ключ пользователя, заверенный ЭЦП сертификационного центра (CA – Certification Authority). Как известно, открытые ключи вычисляются по определенным алгоритмам из соответствующих им секретных ключей и используются, в основном, для следующих целей (подробно механизмы использования открытых ключей описаны, например, в [1-3]):

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

Во всех этих случаях совершенно необходимо подтверждение целостности и принадлежности открытого ключа – некая третья доверенная сторона (TTP – Trusted Third Party), в данном случае – CA, должна подтвердить принадлежность открытого ключа именно тому пользователю, информация о котором указана в сертификате, а также соответствие открытого ключа секретному ключу пользователя. Таким образом, цифровой сертификат содержит три главные составляющие:

  • информацию о пользователе – владельце сертификата,
  • открытый ключ пользователя,
  • сертифицирующую ЭЦП двух предыдущих составляющих, вычисленную на секретном ключе CA.

В том случае, если процедура проверки ЭЦП сертификата утверждает, что ЭЦП неверна, сертификат должен игнорироваться и не использоваться, поскольку он, возможно, подменен злоумышленником (или, как минимум, поврежден).

Типы сертификатов

Формат X.509 тесно связан с инфраструктурой открытых ключей (PKI – Public Key Infrastructure), в рамках которой сертификаты данного формата применяются. PKI подразумевает иерархическую структуру сертификатов (см. рисунок), в которой можно выделить четыре типа сертификатов:

  • Сертификат конечного пользователя (описанный выше).
  • Сертификат CA. Должен быть доступен для проверки ЭЦП сертификата конечного пользователя. Сертификат CA должен, в свою очередь, быть подписан секретным ключом CA верхнего уровня, причем эта ЭЦП также должна проверяться, для чего должен быть доступен сертификат CA верхнего уровня – и так далее.
  • Самоподписанный сертификат. Является корневым для всей PKI. Данный сертификат является доверенным по определению – в результате проверки цепочки сертификатов CA выяснится, что один из них подписан корневым секретным ключом, после чего процесс проверки ЭЦП сертификатов заканчивается.
  • Кросс-сертификат. Кросс-сертификаты позволяют расширить действие конкретной PKI путем взаимоподписания корневых сертификатов двух разных PKI.

Итак, рассмотрим процесс проверки ЭЦП электронного документа с точки зрения PKI:

  1. Проверяется ЭЦП собственно документа.
  2. Проверяется ЭЦП сертификата, с помощью которого проверялась предыдущая ЭЦП.
  3. Предыдущее действие повторяется в цикле до тех пор, пока цепочка сертификатов не приведет к корневому сертификату.

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

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

Формат X.509

Стандарт X.509 [4] устанавливает наличие в цифровом сертификате следующих полей:

  • Номер версии формата, которому соответствует сертификат.
  • Серийный номер сертификата. Уникальный номер, присваиваемый каждому сертификату, выпускаемому конкретным CA (т.е. данное поле в паре со следующим образуют уникальный идентификатор сертификата).
  • Идентификатор CA, который выпустил данный сертификат (т.е. сгенерировал пару ключей и подписал открытый ключ).
  • Срок действия сертификата. Указывается диапазон, т.е. дата начала и дата окончания срока действия.
  • Персональные данные пользователя, которому принадлежит сертификат.
  • Собственно открытый ключ пользователя.
  • Уникальный идентификатор CA и уникальный идентификатор пользователя. Документ [4] рекомендует отказаться от использования данных полей в дальнейшем.
  • Расширения формата.
  • Код алгоритма, примененного при вычислении сертифицирующей ЭЦП.
  • Сертифицирующая ЭЦП.

Все поля сертификата записываются по принципу TLV (tag-length-value – код-длина-идентификатор), который в настоящее время имеет широкое распространение в различных форматах, особенно в области коммуникаций.

Приведен формат версии 3 формата X.509. Предыдущая версия (2) отличалась отсутствием расширений, а версия 1 – еще и отсутствием полей «Уникальный идентификатор CA» и «Уникальный идентификатор пользователя». В документе [4] категорически рекомендуется не издавать более сертификаты версии 2, а версия 1 остается только для поддержки совместимости с существующими приложениями, использующими сертификаты X.509 данной версии.

Расширения сертификатов версии 3 существенно увеличивают возможности обработки сертификатов. С помощью расширений можно уточнить применения конкретного сертификата и задать необходимые параметры. Предусмотрены следующие стандартные расширения:

  • Идентификатор ключа CA. Дает возможность указать конкретный секретный ключ из нескольких ключей CA (CA может иметь несколько ключей), на котором вычислялась ЭЦП данного сертификата.
  • Назначение ключа. Данное поле является битовой маской, устанавливающей одно или несколько возможных применений данного сертификата и парного ему секретного ключа. Основные из возможных вариантов: вычисление/проверка ЭЦП, шифрование данных, шифрование других ключей, сертификация ключей и т.д.
  • Альтернативные данные пользователя. Допускает указания любой альтернативной информации о владельце сертификата, например, e-mail адрес, IP-адрес и т.д. Данное расширение формата может отсутствовать, может существовать параллельно с полем «Персональные данные пользователя» основного формата, а может и использоваться вместо него.
  • Альтернативное имя CA. Аналогично предыдущему, только относится к CA, выпустившему сертификат.

Это только основные расширения формата. Помимо них, документ [4] устанавливает ряд других, кроме того, любая PKI-система (например, инфраструктура открытых ключей конкретной организации) может вводить свои расширения в зависимости от конкретных условий применения цифровых сертификатов.

Списки отозванных сертификатов

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

  • скомпрометирован соответствующий сертификату секретный ключ;
  • изменились персональные данные владельца сертификата.

Документ [4] предусматривает, что CA регулярно публикуют списки отозванных сертификатов (CRL – Certificate Revocation List), если не используются другие методы приостановки действия сертификатов. CRL может быть и пустым, если нет необходимости в отзыве сертификатов. Каждый CRL, во избежание ложных отзывов сертификатов, снабжается сертифицирующей ЭЦП CA, выпустившего CRL.

Любое PKI-ориентированное приложение в процессе проверки ЭЦП цепочки сертификатов (например, п. 2. описанного выше алгоритма проверки ЭЦП электронного документа) обязано также проверять отсутствие всех сертификатов проверяемой цепочки в текущих CRL. В случае обнаружения отозванного сертификата, все ЭЦП, проверенные на предыдущих шагах, следует считать неверными.

Заключение

Формат X.509 призван обеспечить совместимость различных средств криптографической защиты информации. Имея набор обязательных полей для обеспечения взаимопонимания между программными средствами разных производителей, в то же время, данный формат позволяет гибко настраивать содержимое сертификатов конкретных PKI для обеспечения максимальной эффективности их использования.

Литература

  1. Романец Ю.В., Тимофеев П.А., Шаньгин В.Ф. “Защита информации в современных компьютерных системах”. 2-е издание: Москва, “Радио и связь”, 2001 г.
  2. Петров А. А. “Компьютерная безопасность: криптографические методы защиты”. Москва, ДМК, 2000 г.
  3. Панасенко С.П., Петренко С.А. Криптографические методы защиты информации для российских корпоративных систем. // Защита информации. Конфидент. – 2001 - № 5 – с. 64-71.
  4. Housley R., Ford W., Polk W., Solo D. RFC 2459: Internet X.509 Public Key Infrastructure. January 1999. // http://www.ietf.org/rfc/rfc2459.txt
 
Источник: panasenko.ru

Comments (0)

Как стать участником |  Что может участник  |  Как работать с порталом  |  Реклама |  Авторские права  |  Контакты  |  Конкурсы  |  RSS  |  Форум
©2003 - 2018 GlobalTrust
Рейтинг@Mail.ru Rambler's Top100 Yandex