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

RFC 5280

RFC 5280 — это документ, опубликованный в 2008 году, который определяет профиль сертификатов открытых ключей и списков отзыва сертификатов (CRL) для инфраструктуры открытых ключей (PKI) на основе стандарта X.509. Разработанный Рабочей группой по безопасности Интернета (PKIX) в составе Инженерного совета Интернета (IETF), RFC 5280 является основополагающим стандартом для реализации PKI в Интернете, включая протоколы TLS/SSL, S/MIME и IPsec.

История

Предшественником RFC 5280 был RFC 3280, опубликованный в 2002 году, который, в свою очередь, заменил RFC 2459 (1999 год). Основной причиной обновления стандарта стала необходимость уточнения правил обработки расширений сертификатов, в частности, для поддержки современных криптографических алгоритмов и улучшения обратной совместимости. В RFC 5280 были внесены исправления, касающиеся использования ключей, расширений для политик сертификации и механизмов отзыва. Стандарт остаётся актуальным по состоянию на 2024 год, хотя его частично дополняют более новые RFC (например, RFC 6818, уточняющий обработку некоторых расширений).

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

RFC 5280 описывает формат сертификата, соответствующий стандарту X.509 версии 3. Каждый сертификат содержит следующие основные поля:

  • Версия: Целое число, указывающее версию сертификата (обычно 3).
  • Серийный номер: Уникальное целое число, присвоенное удостоверяющим центром (УЦ).
  • Алгоритм подписи: Идентификатор алгоритма (например, sha256WithRSAEncryption), используемого для подписи сертификата.
  • Издатель: Различающееся имя (DN) УЦ, выпустившего сертификат.
  • Срок действия: Дата начала и окончания действия сертификата.
  • Субъект: Различающееся имя владельца сертификата (например, доменное имя или имя организации).
  • Открытый ключ: Криптографический ключ (например, RSA или ECDSA) и алгоритм, с которым он используется.
  • Расширения: Набор необязательных полей, добавляющих дополнительные атрибуты (см. ниже).
  • Подпись: Криптографическая подпись, созданная УЦ.

Расширения сертификата

Расширения являются ключевым нововведением версии 3. RFC 5280 определяет несколько обязательных и опциональных расширений:

  • Key Usage (Использование ключа): Определяет разрешённые операции с открытым ключом (например, цифровая подпись, шифрование ключа, шифрование данных).
  • Extended Key Usage (Расширенное использование ключа): Уточняет цель сертификата (например, аутентификация сервера TLS, аутентификация клиента, подпись кода).
  • Subject Alternative Name (Альтернативное имя субъекта): Позволяет указать дополнительные идентификаторы, такие как доменные имена (DNS), IP-адреса или адреса электронной почты. Это расширение является обязательным для сертификатов TLS/SSL.
  • Basic Constraints (Базовые ограничения): Указывает, является ли субъект удостоверяющим центром, и задаёт максимальную глубину цепочки сертификации.
  • Certificate Policies (Политики сертификата): Ссылается на документы, описывающие правила выпуска и использования сертификата.
  • CRL Distribution Points (Точки распространения CRL): Указывает URL-адреса, по которым можно получить список отзыва сертификатов.
  • Authority Information Access (Доступ к информации об УЦ): Содержит ссылки на сертификат издателя и, опционально, на протокол OCSP (Online Certificate Status Protocol).

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

RFC 5280 также определяет формат CRL — списка сертификатов, которые были отозваны до истечения срока их действия. CRL подписывается УЦ и содержит:

  • Версия: Обычно 2.
  • Издатель: DN УЦ, выпустившего CRL.
  • Дата выпуска: Время создания CRL.
  • Дата следующего обновления: Планируемое время выпуска следующего CRL.
  • Список отозванных сертификатов: Перечень серийных номеров отозванных сертификатов с указанием даты отзыва и, опционально, причины отзыва (например, компрометация ключа, смена принадлежности).
  • Расширения CRL: Аналогично сертификатам, CRL могут содержать расширения, такие как точки распространения CRL (для сегментирования списков) и указатели на архивы.

Механизмы отзыва

Помимо CRL, RFC 5280 поддерживает использование протокола OCSP (определённого в RFC 2560), который позволяет проверять статус сертификата в реальном времени без загрузки полного списка. Стандарт не предписывает обязательное использование CRL или OCSP, оставляя выбор за реализацией PKI.

Процесс проверки цепочки сертификации

RFC 5280 детально описывает алгоритм построения и проверки цепочки сертификатов от конечного сертификата до доверенного корневого УЦ. Основные этапы:

  1. Построение цепочки: Сбор сертификатов от конечного до корневого, используя поле «Издатель» и «Субъект».
  2. Проверка подписей: Для каждого сертификата в цепочке проверяется подпись с использованием открытого ключа предыдущего сертификата.
  3. Проверка срока действия: Убедиться, что каждый сертификат находится в пределах своего срока действия.
  4. Проверка расширений: Убедиться, что расширения (например, Key Usage, Basic Constraints) соответствуют роли сертификата в цепочке.
  5. Проверка отзыва: Проверить, не был ли отозван какой-либо сертификат в цепочке (через CRL или OCSP).
  6. Проверка имени: Для конечного сертификата убедиться, что его имя (например, доменное имя) соответствует проверяемому ресурсу.

Применение

RFC 5280 является основой для большинства современных PKI-реализаций:

  • TLS/SSL: Сертификаты веб-сайтов, используемые в протоколе HTTPS, строго следуют профилю RFC 5280. Расширение Subject Alternative Name обязательно для указания доменных имён.
  • S/MIME: Сертификаты для подписи и шифрования электронной почты.
  • IPsec: Сертификаты для аутентификации устройств в VPN-соединениях.
  • Корпоративные PKI: Внутренние системы управления сертификатами в организациях, использующие Active Directory Certificate Services или аналогичные решения.
  • Электронная подпись: В России и других странах сертификаты квалифицированной электронной подписи (КЭП) также базируются на X.509 и RFC 5280, но с дополнительными национальными требованиями (например, ГОСТ Р 34.10-2012).

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

Несмотря на широкое распространение, RFC 5280 имеет ряд критических замечаний:

  • Сложность проверки CRL: Загрузка больших CRL-списков может быть медленной и ресурсоёмкой, особенно для мобильных устройств.
  • Проблемы с именами: Различающиеся имена (DN) часто содержат неоднозначности, что усложняет автоматическую проверку.
  • Отсутствие гибкости в расширениях: Некоторые расширения (например, Certificate Policies) редко используются на практике из-за сложности их реализации.
  • Зависимость от доверенных УЦ: Модель PKI, основанная на RFC 5280, критикуется за централизацию и уязвимость к компрометации корневых УЦ (например, инциденты с DigiNotar и Comodo).

Влияние на стандарты

RFC 5280 оказал значительное влияние на смежные протоколы и стандарты:

  • RFC 6818: Уточняет обработку некоторых расширений, таких как Subject Alternative Name и Issuer Alternative Name.
  • RFC 6125: Определяет правила проверки имён сертификатов для TLS.
  • CA/Browser Forum Baseline Requirements: Набор требований для публичных УЦ, выпускающих сертификаты TLS/SSL, которые дополняют RFC 5280.
  • Национальные стандарты: В России требования к сертификатам электронной подписи регулируются Федеральным законом № 63-ФЗ и ГОСТ Р 34.10-2012, которые частично пересекаются с RFC 5280, но имеют существенные отличия в криптографических алгоритмах.

Источники

  1. RFC 5280 — Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile (2008).
  2. RFC 3280 — Internet X.509 Public Key Infrastructure Certificate and CRL Profile (2002).
  3. RFC 6818 — Updates to the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile (2013).
  4. RFC 2560 — X.509 Internet Public Key Infrastructure Online Certificate Status Protocol (OCSP) (1999).
  5. CA/Browser Forum — Baseline Requirements for the Issuance and Management of Publicly-Trusted Certificates (2023).
  6. Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи» (с изменениями на 2024 год).

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

На главную BFOmetr →