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

Authority Information Access

Authority Information Access (AIA) — это расширение протокола X.509, используемое в инфраструктуре открытых ключей (PKI) и определённое в стандарте RFC 5280. AIA представляет собой механизм, с помощью которого сертификат X.509 может содержать ссылки на информацию, относящуюся к удостоверяющему центру (УЦ), выпустившему сертификат. Основное назначение AIA — предоставить клиентскому программному обеспечению (например, веб-браузеру или операционной системе) возможность автоматически получать сведения для проверки действительности сертификата, такие как сертификат вышестоящего УЦ или список отозванных сертификатов.

История и стандартизация

Концепция AIA была впервые формализована в 1999 году в стандарте RFC 2459, который позже был заменён на RFC 3280 в 2002 году, а затем на RFC 5280 в 2008 году. Последний является действующим стандартом для профиля сертификата X.509 и списков отзыва сертификатов (CRL). Введение AIA было обусловлено необходимостью упрощения процедуры проверки цепочек сертификатов в условиях растущего числа УЦ и сложности ручного управления доверенными корневыми сертификатами. До появления AIA проверка часто требовала предварительной загрузки всех необходимых сертификатов на клиентское устройство, что было неудобно для крупных сетей и публичных интернет-сервисов.

Структура и синтаксис

AIA реализуется как расширение сертификата X.509, имеющее идентификатор id-pe-authorityInfoAccess (OID 1.3.6.1.5.5.7.1.1). Это расширение содержит последовательность записей (AccessDescription), каждая из которых состоит из двух полей:

  • accessMethodидентификатор объекта (OID), указывающий тип предоставляемой информации.
  • accessLocation — URI (унифицированный указатель ресурса), по которому можно получить эту информацию.

Стандарт RFC 5280 определяет два основных метода доступа:

  • id-ad-caIssuers (OID 1.3.6.1.5.5.7.48.2) — указывает на сертификат вышестоящего УЦ (CA certificate), который подписал данный сертификат.
  • id-ad-ocsp (OID 1.3.6.1.5.5.7.48.1) — указывает на URL-адрес сервера протокола OCSP (Online Certificate Status Protocol), который позволяет проверить статус отзыва сертификата в реальном времени.

Кроме того, существуют дополнительные методы, определённые другими стандартами, например, для получения CRL (списков отзыва) через AIA, но они менее распространены. В одном сертификате может быть несколько записей AIA, например, два разных URL для OCSP (основной и резервный) и один URL для сертификата УЦ.

Применение и механизм работы

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

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

Если клиент не имеет в своём хранилище промежуточного сертификата УЦ, подписавшего конечный сертификат, он может использовать поле id-ad-caIssuers из AIA. Клиент загружает сертификат УЦ по указанному URL, после чего строит цепочку: конечный сертификат → промежуточный УЦ → корневой УЦ. Это особенно важно для сертификатов, подписанных не напрямую корневым УЦ, а через один или несколько промежуточных УЦ.

Проверка статуса отзыва

После построения цепочки клиент должен проверить, не был ли сертификат отозван. Для этого он может использовать либо CRL, либо OCSP. AIA предоставляет URL для OCSP, что является более быстрым и эффективным методом, чем загрузка полного CRL. Клиент отправляет OCSP-запрос на указанный сервер, который возвращает ответ о статусе сертификата: «хороший», «отозван» или «неизвестен». Если OCSP-сервер недоступен, клиент может перейти к загрузке CRL, если он указан в расширении CRL Distribution Points (CDP).

Отличия от CRL Distribution Points

AIA и CDP (CRL Distribution Points) являются взаимодополняющими механизмами, но имеют разные цели:

  • CDP (OID 2.5.29.31) указывает на URL, где можно загрузить полный список отозванных сертификатов (CRL).
  • AIA (для OCSP) предоставляет динамический сервис проверки статуса одного сертификата без необходимости загрузки всего списка.

Основное преимущество AIA перед CDP — скорость и меньший сетевой трафик. OCSP-запрос содержит только идентификатор проверяемого сертификата, а ответ — только его статус. CRL же может быть большим (до нескольких мегабайт) и загружается целиком, даже если нужна информация только об одном сертификате. Однако AIA требует наличия работающего OCSP-сервера, что может быть узким местом при высокой нагрузке.

Проблемы и ограничения

Несмотря на полезность, AIA имеет ряд недостатков:

  • Зависимость от сетевой доступности: Если OCSP-сервер или сервер сертификатов УЦ недоступен, клиент может не получить необходимую информацию, что приведёт к ошибке проверки или использованию устаревших данных.
  • Задержки: Загрузка сертификата УЦ через AIA может увеличить время установки соединения, особенно при медленном интернет-соединении.
  • Безопасность: AIA-ссылки могут быть использованы для атак типа «человек посередине» (MITM), если не защищены протоколом HTTPS. Однако на практике большинство сертификатов УЦ и OCSP-ответы подписываются цифровой подписью, что обеспечивает их целостность.
  • Конфиденциальность: OCSP-запросы отправляются на сервер УЦ, что раскрывает информацию о том, какие сайты посещает пользователь. Для решения этой проблемы был разработан протокол OCSP Stapling, при котором веб-сервер сам предоставляет подписанный OCSP-ответ клиенту, не требуя от него прямого обращения к OCSP-серверу.

Примеры использования

AIA широко применяется в современных PKI-системах, включая:

  • Веб-сертификаты SSL/TLS: Почти все публичные сертификаты, выпущенные коммерческими УЦ (например, Let's Encrypt, DigiCert, GlobalSign), содержат AIA-расширения с ссылками на сертификаты промежуточных УЦ и OCSP-серверы.
  • Корпоративные PKI: Внутренние УЦ организаций также используют AIA для автоматического распространения сертификатов УЦ среди клиентов.
  • Электронная подпись: Сертификаты, используемые для подписания документов и кода, часто содержат AIA для проверки их статуса.

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

  • AIA является обязательным расширением для сертификатов, выпущенных в соответствии с требованиями программы CA/Browser Forum (организация, устанавливающая стандарты для веб-сертификатов). Без AIA многие браузеры могут не доверять сертификату.
  • В некоторых реализациях (например, в OpenSSL) AIA может использоваться для автоматического сбора сертификатов УЦ, что упрощает настройку серверов.
  • Существует расширение AIA и для сертификатов УЦ (CA certificates), но оно используется реже и обычно указывает на сертификат вышестоящего УЦ или на OCSP-сервер для самого УЦ.

Источники

  1. RFC 5280 — Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile.
  2. RFC 2459 — Internet X.509 Public Key Infrastructure Certificate and CRL Profile (предшественник RFC 5280).
  3. CA/Browser Forum Baseline Requirements for the Issuance and Management of Publicly-Trusted Certificates.
  4. Стандарт X.509 (ITU-T Recommendation X.509).
  5. Документация OpenSSL по расширениям сертификатов.

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

На главную BFOmetr →