Определение простыми словами
OCSP — это интернет-протокол, который позволяет клиентам, например браузерам или серверам, быстро проверить, не был ли отозван цифровой сертификат. Вместо того чтобы скачивать полный список отозванных сертификатов (CRL), клиент делает запрос на OCSP-сервер и получает актуальный статус конкретного сертификата. Это значительно ускоряет проверку и повышает безопасность при использовании HTTPS и других систем с сертификатами.
Протокол был разработан для повышения эффективности проверки сертификатов и снижения нагрузки на сеть. Он широко применяется в TLS/SSL-соединениях, где важно удостовериться, что сертификат действителен, а не отозван по причине компрометации или других проблем.
Сравнение
| Характеристика | OCSP | CRL (Certificate Revocation List) |
|---|---|---|
| Метод проверки | Запрос статуса конкретного сертификата онлайн | Скачивание полного списка отозванных сертификатов |
| Время отклика | Быстрый (зависит от OCSP-сервера) | Медленнее (зависит от размера списка) |
| Полезность | Подходит для динамичной проверки статуса | Подходит для периодических проверок |
| Нагрузка на сеть | Низкая, отправляется запрос только для одного сертификата | Высокая, скачивается полный список |
| Наличие поддержки | Широко поддерживается современными браузерами и серверами | Менее популярен, устаревающий метод |
Кейсы использования
- Проверка статуса TLS-сертификатов при установлении HTTPS-соединений.
- Обеспечение безопасности электронной почты через протоколы S/MIME.
- Верификация подписанных программных пакетов или обновлений в системах с цифровыми подписями.
- Использование в корпоративных системах аутентификации с сертификатами.
- Мониторинг и автоматизация проверки состояния сертификатов в системах управления ключами.
Негативный пример: При отсутствии сетевого соединения с OCSP-сервером проверка не может быть выполнена, что иногда приводит к ошибкам или необходимости игнорировать статус сертификата, снижая уровень безопасности.
Технические детали
OCSP работает по протоколу HTTP или HTTPS, где клиент формирует запрос в формате ASN.1 DER, содержащий идентификатор запрашиваемого сертификата. Сервер OCSP возвращает подписанный ответ, указывающий статус: good (действителен), revoked (отозван) или unknown (неизвестен).
# Пример запроса с использованием openssl для проверки сертификата с OCSP-сервером
openssl ocsp -issuer issuer.crt -cert server.crt -url http://ocsp.example.com -resp_text -noverify
Ответ OCSP подписывается ключом центра сертификации, что обеспечивает доверие к результату проверки. В протоколе предусмотрены механизмы кеширования ответа и обновления статуса сертификатов с учётом времени жизни ответа.
Подробнее о сертификатах и безопасности смотрите в DNSSEC и HTTPS.
🔥 Где это применяется
Частые вопросы
Зачем нужен OCSP?
OCSP позволяет оперативно проверить валидность цифрового сертификата, избегая использования больших списков отозванных сертификатов.
Что происходит, если OCSP-сервер недоступен?
В некоторых реализациях соединение будет продолжено без проверки, что снижает безопасность, в других может быть прервано.