Точка распространения CRL
Точка распространения CRL — это сетевой сервер или служба, предоставляющая доступ к спискам отозванных сертификатов (Certificate Revocation List, CRL) в инфраструктуре открытых ключей (PKI). CRL представляет собой структурированный цифровой документ, содержащий перечень серийных номеров сертификатов, которые были отозваны удостоверяющим центром (УЦ) до истечения срока их действия, а также дату и причину отзыва. Точка распространения CRL (CRL Distribution Point, CDP) является ключевым элементом механизма проверки статуса сертификатов, обеспечивая клиентам (браузерам, операционным системам, приложениям) доступ к актуальным данным об отозванных сертификатах.
Назначение и принцип работы
Основная функция точки распространения CRL — публикация и распространение списков отозванных сертификатов. Когда удостоверяющий центр отзывает сертификат (например, из-за компрометации закрытого ключа, смены владельца или нарушения политики), он обновляет CRL и размещает его по определённому URL-адресу. Клиентское программное обеспечение, проверяющее действительность сертификата (например, при установке HTTPS-соединения), обращается к указанной точке распространения, загружает CRL и сверяет серийный номер проверяемого сертификата с записями в списке. Если сертификат присутствует в CRL, соединение считается небезопасным и прерывается.
Точка распространения CRL обычно указывается в самом сертификате в расширении CRL Distribution Points (CDP). Это расширение содержит один или несколько URI (Uniform Resource Identifier), по которым можно получить CRL. Формат URI может быть различным: HTTP, HTTPS, LDAP (Lightweight Directory Access Protocol) или FTP. Наиболее распространённым является протокол HTTP, так как он прост в реализации и поддерживается всеми клиентами.
Структура и формат CRL
Список отозванных сертификатов имеет строго определённую структуру, описанную в стандарте X.509. CRL подписывается удостоверяющим центром с использованием его закрытого ключа, что гарантирует целостность и подлинность данных. Основные поля CRL включают:
- Версия — номер версии формата CRL (обычно версия 2).
- Эмитент — название удостоверяющего центра, выпустившего список.
- Дата выпуска — дата и время создания данного CRL.
- Дата следующего обновления — дата и время, когда будет опубликован следующий CRL (период действия текущего списка).
- Список отозванных сертификатов — перечень серийных номеров отозванных сертификатов с указанием даты отзыва и, опционально, причины отзыва (например, компрометация ключа, смена принадлежности, прекращение действия).
- Подпись — цифровая подпись УЦ, подтверждающая подлинность списка.
Размер CRL может варьироваться от нескольких килобайт до десятков мегабайт в зависимости от количества отозванных сертификатов. Для крупных удостоверяющих центров, обслуживающих миллионы сертификатов, CRL могут быть значительными по объёму.
Типы точек распространения
Точки распространения CRL могут быть организованы различными способами в зависимости от архитектуры PKI и требований к производительности:
- Полные точки распространения — предоставляют полный список отозванных сертификатов (Full CRL). Это наиболее простой вариант, но при большом количестве отозванных сертификатов загрузка такого списка может занимать значительное время.
- Сегментированные точки распространения — используются для разделения CRL на несколько частей (например, по регионам, типам сертификатов или временным интервалам). Каждая точка распространения содержит только часть списка, что уменьшает объём загружаемых данных для клиента.
- Дельта-CRL — предоставляют только изменения с момента выпуска предыдущего полного CRL. Клиент, имеющий полный CRL, может загрузить только дельту и обновить свой локальный список. Это снижает нагрузку на сеть и время проверки.
Роль в инфраструктуре открытых ключей
Точка распространения CRL является одним из двух основных механизмов проверки статуса сертификатов (наряду с протоколом OCSP — Online Certificate Status Protocol). CRL-механизм имеет следующие особенности:
- Преимущества: не требует постоянного соединения с сервером для каждого запроса; позволяет клиентам кэшировать CRL локально; не зависит от доступности отдельного сервера OCSP.
- Недостатки: задержка между отзывом сертификата и публикацией CRL (период между датами выпуска); большой размер списков для крупных УЦ; необходимость регулярного обновления CRL на стороне клиента.
В современных системах часто используется комбинация CRL и OCSP: OCSP применяется для проверки статуса в реальном времени, а CRL — для резервной проверки или в случаях, когда OCSP недоступен.
Примеры реализации
Точки распространения CRL широко используются в различных PKI-системах:
- Корпоративные PKI — в организациях, использующих внутренние удостоверяющие центры (например, на базе Microsoft Active Directory Certificate Services), точки распространения CRL публикуются на веб-серверах или в LDAP-каталогах.
- Общедоступные УЦ — крупные центры сертификации, такие как Let's Encrypt, GlobalSign, DigiCert, публикуют CRL по множеству URL-адресов, указанных в выпускаемых сертификатах.
- Государственные PKI — в России точки распространения CRL используются в инфраструктуре электронной подписи (например, в системе Минцифры РФ для сертификатов квалифицированной электронной подписи).
Проблемы и ограничения
Несмотря на широкое распространение, CRL-механизм имеет ряд недостатков, которые привели к постепенному переходу на OCSP и другие технологии (например, Certificate Transparency):
- Задержка отзыва — между моментом отзыва сертификата и публикацией нового CRL может пройти до нескольких часов или дней (в зависимости от политики УЦ).
- Нагрузка на сеть — при большом количестве клиентов, одновременно загружающих CRL, серверы точек распространения могут испытывать перегрузку.
- Конфиденциальность — при загрузке CRL клиент не раскрывает информацию о том, какой именно сертификат он проверяет (в отличие от OCSP), но сам факт загрузки CRL может указывать на использование определённого УЦ.
- Кэширование — клиенты могут использовать устаревшие CRL, если не обновляют их своевременно.
Безопасность
Точка распространения CRL сама по себе не является критическим элементом безопасности, но её компрометация может привести к серьёзным последствиям. Если злоумышленник получит контроль над сервером CDP, он может подменить CRL на поддельный, в котором отозванные сертификаты будут отсутствовать. Это позволит использовать скомпрометированные сертификаты для проведения атак «человек посередине» (MITM) или подписи вредоносного кода. Для защиты точки распространения CRL используются стандартные меры: HTTPS-соединение, контроль доступа, регулярное обновление программного обеспечения и мониторинг целостности данных.
Тенденции развития
В последние годы наблюдается снижение роли CRL в пользу более оперативных механизмов. Протокол OCSP, а затем и OCSP Stapling (при котором статус сертификата передаётся непосредственно веб-сервером в рамках TLS-рукопожатия) позволяют проверять статус сертификата практически в реальном времени. Однако CRL остаётся важным резервным механизмом, особенно в корпоративных и государственных PKI, где требуется полный контроль над процессом проверки. Кроме того, CRL используется в системах, где OCSP недоступен или нежелателен (например, в офлайн-средах).
Источники
- Стефанов С. Инфраструктура открытых ключей (PKI): принципы построения и применения. — М.: ДМК Пресс, 2018.
- Рекомендации ITU-T X.509: Информационные технологии — Взаимосвязь открытых систем — Справочник: Сертификаты открытых ключей и атрибутов.
- RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile.
- Документация Microsoft: Active Directory Certificate Services — публикация и распространение CRL.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →