OCSP представляет собой протокол проверки актуального статуса X.509-сертификатов в режиме реального времени. Его основная задача — ответить на вопрос, был ли сертификат отозван удостоверяющим центром, без необходимости загружать большие списки отзыва.
В основе OCSP лежит модель запрос–ответ. Клиент формирует запрос к
OCSP-респонденту, указывая серийный номер сертификата. Респондент
возвращает одно из состояний: good, revoked
или unknown. Такая модель позволяет получать актуальную
информацию о конкретном сертификате с минимальной задержкой.
Процесс проверки включает несколько этапов:
Ключевой особенностью является то, что ответ подписывается удостоверяющим центром или доверенным OCSP-респондентом, что позволяет проверять его подлинность.
Расширение OCSP stapling переносит ответственность за запрос статуса на сервер:
Это снижает задержки и устраняет проблему утечки приватности, связанной с обращением клиента к стороннему сервису.
CRL представляет собой альтернативный механизм проверки отозванных сертификатов, основанный на централизованных списках. Удостоверяющий центр публикует файл, содержащий перечень серийных номеров сертификатов, которые больше не являются доверенными.
Модель работы CRL отличается от OCSP:
CRL может содержать тысячи или миллионы записей, что напрямую влияет на размер файла и время загрузки.
CRL включает:
Основная проблема подхода заключается в необходимости регулярного скачивания полного списка, даже если интересует только один сертификат.
OCSP предоставляет статус в реальном времени, так как запрос выполняется непосредственно к серверу удостоверяющего центра. CRL же зависит от частоты обновления списка, что может приводить к задержке между отзывом и его отражением в списке.
OCSP создает нагрузку на серверы удостоверяющего центра из-за большого количества запросов. CRL, напротив, переносит нагрузку на клиента, который загружает и хранит весь список.
CRL может достигать значительных размеров, особенно в крупных PKI-инфраструктурах. OCSP передает минимальный объем данных — только статус одного сертификата.
OCSP позволяет удостоверяющему центру видеть, какие сайты посещает клиент, поскольку каждый запрос содержит информацию о проверяемом сертификате. CRL лишен этого недостатка, так как загрузка списка происходит без указания конкретного сертификата.
В современных TLS-реализациях оба механизма могут использоваться совместно:
Выбор механизма зависит от конфигурации сервера и политики удостоверяющего центра.
В библиотеке Jsrsasign поддержка проверки статуса сертификатов реализуется на уровне X.509-инфраструктуры. Она позволяет:
Типичный сценарий работы включает:
При работе с CRL используется иной поток:
OCSP и CRL отражают два разных подхода к управлению доверием:
OCSP ближе к модели «запрос по требованию», тогда как CRL — к модели «локальной репликации состояния».
Эти различия напрямую влияют на поведение TLS-клиентов, балансировку нагрузки в инфраструктуре PKI и скорость принятия решений о доверии к сертификату.