Online Certificate Status Protocol (OCSP)

Простыми словами

Приложение спрашивает уполномоченный сервис о сертификате и получает ответ о его статусе. Этот ответ нужно проверить: он должен относиться к нужному сертификату, иметь допустимую подпись и соответствовать требованиям к актуальности.

OCSP проверяет только часть условий доверия. Даже ответ good не доказывает, что сертификат подходит данному сайту, что его срок не истёк или что цепочка ведёт к доверенному центру.

Как применяется

OCSP применяют там, где нужно учитывать отзыв сертификатов при аутентификации или установлении защищённых соединений. Доступность ответчика, допустимое время ответа и поведение при недоступности определяют заранее, с учётом риска и возможностей клиента.

В TLS сервер может передать клиенту заранее полученный подписанный OCSP-ответ — это OCSP stapling. Такой способ уменьшает необходимость отдельных обращений клиента к ответчику, но не отменяет проверку подписи и актуальности ответа.

Пример применения

Например, в тестовой корпоративной PKI сертификат сервиса отзывают после моделируемой утечки закрытого ключа. Команда проверяет, что ответчик возвращает revoked и клиент отказывает в соединении согласно принятой политике.

Затем отдельно проверяют недоступность ответчика и просроченный ответ. Так выясняют, блокирует ли клиент соединение или продолжает работу без подтверждения статуса. Ожидаемое поведение документируют заранее, а не выбирают после сбоя.

Не путать с

  • CRLПодписанный список отозванных сертификатов. OCSP позволяет запросить статус конкретного сертификата; способ распространения и обновления сведений отличается.
  • OCSP staplingСпособ доставки OCSP-ответа через TLS-сервер. Это не другой статус и не замена самого протокола OCSP.
  • Проверка цепочки PKIУстанавливает доверие к сертификату через цепочку центров и дополнительные условия. Статус OCSP — лишь один из учитываемых результатов.

Как это работает

  1. Определить сертификатКлиент формирует идентификатор на основе данных издателя и серийного номера проверяемого сертификата.
  2. Получить ответОтправляет запрос ответчику либо получает ответ через поддерживаемый механизм stapling.
  3. Проверить ответПроверяет подпись уполномоченного ответчика, совпадение идентификатора и допустимую актуальность сведений.
  4. Применить политикуУчитывает good, revoked, unknown или ошибку получения. Отдельно проверяет остальные условия доверия к сертификату.

Связанные термины

Частые вопросы

Что означает good?

Ответчик сообщает положительный результат запроса статуса: как минимум, сертификат с указанным номером в пределах срока действия не числится отозванным. Это не гарантия всех условий действительности и не доказательство выпуска сертификата.

Чем unknown отличается от revoked?

Unknown означает, что ответчик не может определить статус. Revoked сообщает об отзыве. Unknown нельзя автоматически трактовать как good; решение задаётся политикой проверяющей системы.

Можно ли принять ответ без проверки подписи?

Нет. Иначе атакующий может подменить статус. Проверяются также полномочия подписанта, принадлежность ответа нужному сертификату и актуальность сведений.

OCSP (Online Certificate Status Protocol) — протокол получения подписанного ответа о статусе конкретного сертификата открытого ключа: good, revoked или unknown.