Открыть сервис

X.509

X.509 — это стандарт Международного союза электросвязи (ITU-T) для инфраструктуры управления открытыми ключами (PKI), определяющий форматы сертификатов открытых ключей, списков отзыва сертификатов (CRL) и алгоритмы проверки подлинности. Он широко используется в криптографических протоколах для аутентификации субъектов (пользователей, серверов, устройств) и обеспечения конфиденциальности, целостности и неотказуемости передаваемых данных. Стандарт является основой для SSL/TLS (HTTPS), S/MIME (защищённая электронная почта), IPsec и электронной подписи в различных юрисдикциях, включая российские ГОСТ-криптосистемы.

История

Разработка стандарта началась в 1980-х годах в рамках работы ITU-T над справочной моделью OSI (Взаимодействие открытых систем). Первая версия (X.509v1) была опубликована в 1988 году. Она определяла базовую структуру сертификата: серийный номер, идентификаторы издателя и владельца, срок действия, открытый ключ и подпись удостоверяющего центра (УЦ). Версия 2 (1993 год) добавила поля для уникальных идентификаторов субъекта и издателя, что позволило решить проблему повторного использования имён. Наибольшее распространение получила версия 3 (1996 год), которая ввела механизм расширений (extensions), сделавший стандарт гибким и адаптируемым к различным сценариям использования (например, ограничения на использование ключа, политики сертификатов, альтернативные имена субъекта). Параллельно с ITU-T стандарт развивался рабочей группой IETF PKIX (Public Key Infrastructure — X.509), которая адаптировала его для Интернета, выпустив серию RFC (2527, 3280, 5280 и другие). В России стандарт адаптирован в национальных стандартах ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012, а также в профилях защиты информации.

Структура сертификата X.509v3

Сертификат X.509 представляет собой цифровой документ, связывающий открытый ключ с идентификационной информацией владельца. Подписывается он закрытым ключом удостоверяющего центра (УЦ). Основные поля сертификата:

Основные расширения X.509v3

Списки отзыва сертификатов (CRL)

CRL — это подписанный список серийных номеров сертификатов, которые были отозваны до истечения срока действия. CRL публикуется УЦ и содержит дату выпуска, дату следующего обновления, а также список отозванных сертификатов с указанием даты отзыва и причины (например, компрометация ключа, смена должности, прекращение деятельности). Формат CRL также определён в X.509. Для проверки актуальности сертификата клиент может загрузить CRL с указанного в сертификате URL (CRL Distribution Point) или использовать протокол OCSP, который позволяет проверить статус одного сертификата в реальном времени без загрузки всего списка.

Иерархия доверия и цепочки сертификации

X.509 предполагает строгую иерархическую модель доверия, основанную на удостоверяющих центрах (УЦ). Корневой УЦ (Root CA) выпускает самоподписанный сертификат (свой собственный). Он может выпускать сертификаты для промежуточных УЦ (Intermediate CA), которые, в свою очередь, выпускают сертификаты для конечных субъектов (end-entity). Такая цепочка сертификации (chain of trust) позволяет уменьшить риск компрометации корневого ключа и упрощает управление. Для проверки подлинности сертификата клиент (например, браузер) строит цепочку от сертификата субъекта до доверенного корневого сертификата, хранящегося в локальном хранилище (trust store). Каждый сертификат в цепочке проверяется по подписи, сроку действия, статусу отзыва и соответствию политик.

Применение

SSL/TLS

Наиболее массовое применение X.509 — сертификаты для протоколов SSL/TLS, используемые для защиты веб-трафика (HTTPS). Сервер предъявляет клиенту сертификат, подписанный доверенным УЦ. Клиент (браузер) проверяет его по цепочке, сверяет доменное имя с полем Subject Alternative Name и устанавливает защищённое соединение.

Электронная подпись и шифрование (S/MIME)

В защищённой электронной почте (S/MIME) сертификаты X.509 используются для подписи и шифрования сообщений. Отправитель подписывает письмо своим закрытым ключом, а получатель проверяет подпись с помощью сертификата отправителя. Для шифрования используется открытый ключ получателя.

Кодовая подпись (Code Signing)

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

IPsec и VPN

В протоколах IPsec и VPN (например, IKEv2) сертификаты X.509 используются для взаимной аутентификации сторон (клиента и сервера) и установления защищённого туннеля.

Государственные и корпоративные PKI

В России и других странах X.509 является основой для инфраструктуры электронной подписи (ЭП). Сертификаты, выпускаемые аккредитованными УЦ, используются для подписания юридически значимых документов, в системах электронного документооборота (ЭДО), для авторизации в государственных порталах (например, «Госуслуги») и в банковских системах. При этом применяются криптографические алгоритмы, установленные национальными стандартами (ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012).

Критика и ограничения

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →