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

CRL

CRL (сокр. от англ. Certificate Revocation List, список отзыва сертификатов) — это структурированный перечень цифровых сертификатов, которые были отозваны удостоверяющим центром (УЦ) до истечения срока их действия. CRL является одним из ключевых механизмов инфраструктуры открытых ключей (PKI) и используется для проверки актуальности и доверия к сертификатам X.509 в системах электронной подписи, TLS-соединений и других криптографических протоколах.

История и развитие

Концепция списков отзыва сертификатов возникла вместе с развитием инфраструктуры открытых ключей в 1990-х годах. Первоначально она была стандартизирована в рамках рекомендаций ITU-T X.509 (1988 год) и позднее адаптирована рабочей группой PKIX (Public Key Infrastructure X.509) IETF. В RFC 5280 (2008 год) были закреплены основные форматы CRL и правила их обработки.

До появления CRL единственным способом проверки статуса сертификата был прямой запрос к удостоверяющему центру, что было неэффективно для крупных систем. Внедрение CRL позволило централизованно публиковать информацию об отозванных сертификатах, но породило проблемы с масштабируемостью: размер списков мог достигать десятков мегабайт, а частота обновлений — раз в несколько дней.

В 2000-х годах альтернативой CRL стал протокол OCSP (Online Certificate Status Protocol), позволяющий получать статус одного сертификата в реальном времени. Однако CRL остаётся обязательным элементом PKI, особенно в офлайн-сценариях и в системах, где требуется независимая проверка без обращения к сетевым ресурсам.

Структура и формат

CRL представляет собой подписанный цифровой документ в формате ASN.1 (Abstract Syntax Notation One), закодированный в DER (Distinguished Encoding Rules) или PEM (Privacy-Enhanced Mail). Основные поля CRL включают:

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

В версии v2 добавлены расширения, такие как:

  • CRL Number — монотонно возрастающий номер версии списка.
  • Authority Key Identifier — идентификатор ключа УЦ.
  • Issuing Distribution Point — указание на точку распространения CRL (для разделения списков по сегментам).
  • Freshest CRL — ссылка на дельта-CRL (список изменений с момента последнего полного CRL).

Виды CRL

Полный CRL (Full CRL)

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

Дельта-CRL (Delta CRL)

Содержит только изменения, произошедшие с момента публикации последнего полного CRL. Позволяет уменьшить объём загружаемых данных, но требует наличия базового полного CRL для корректной проверки.

Раздельный CRL (Segmented CRL)

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

CRL по точкам распространения (CRL Distribution Points)

В сертификате может быть указано расширение CRL Distribution Points (CDP), которое содержит URL-адреса, откуда можно загрузить соответствующий CRL. Это позволяет клиентам получать только нужный фрагмент списка.

Применение

CRL используется в различных областях, где требуется проверка актуальности цифровых сертификатов:

  • Веб-безопасность (TLS/SSL). Браузеры и серверы при установке защищённого соединения могут проверять сертификат сайта по CRL. Однако из-за задержек и объёмов данных многие современные браузеры (например, Google Chrome) предпочитают OCSP или используют механизм CRLSet (встроенный список отозванных сертификатов, обновляемый через обновления браузера).
  • Электронная подпись. В системах электронного документооборота и государственных услугах (например, в России — ЕСИА, Госуслуги) проверка сертификата подписи включает обращение к CRL удостоверяющего центра.
  • Корпоративные PKI. Внутренние удостоверяющие центры организаций публикуют CRL для своих сертификатов, используемых для аутентификации сотрудников, шифрования почты или подписи документов.
  • Код и подписи ПО. Операционные системы и магазины приложений проверяют сертификаты разработчиков через CRL перед установкой программ.

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

Основные недостатки CRL:

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

В ответ на эти проблемы были разработаны альтернативные механизмы: OCSP (в том числе OCSP Stapling, где сервер предоставляет подписанный ответ OCSP вместе с сертификатом), а также CRLSet (используется в браузерах Chromium) и OneCRL (в Mozilla Firefox). Тем не менее, CRL остаётся обязательным элементом стандарта X.509 и широко применяется в корпоративных и государственных PKI, где требуется полная автономность проверки.

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

  • В 2011 году удостоверяющий центр DigiNotar был взломан, и злоумышленники выпустили поддельные сертификаты для доменов Google, Yahoo и других. CRL, опубликованный после обнаружения взлома, содержал более 500 отозванных сертификатов, но из-за задержек многие браузеры не успели обновиться.
  • В России требования к формированию и публикации CRL регламентируются Федеральным законом № 63-ФЗ «Об электронной подписи» и приказами Минцифры. Удостоверяющие центры, аккредитованные Минцифры, обязаны публиковать CRL не реже одного раза в сутки.
  • В 2023 году Google объявила о планах постепенно отказаться от использования CRL в браузере Chrome в пользу протокола CRLite, который использует сжатые фильтры Блума для проверки статуса сертификатов, что значительно снижает объём передаваемых данных.

Источники

  • RFC 5280 — Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile.
  • ITU-T Recommendation X.509 — Information technology — Open Systems Interconnection — The Directory: Public-key and attribute certificate frameworks.
  • Федеральный закон от 06.04.2011 № 63-ФЗ «Об электронной подписи».
  • Приказ Минцифры России от 30.11.2020 № 640 «Об утверждении требований к удостоверяющим центрам».
  • Статья «Certificate Revocation Lists» в NIST Special Publication 800-32.
  • Отчёт о взломе DigiNotar (Fox-IT, 2011).

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

На главную BFOmetr →