OCSP сообщает состояние конкретного сертификата, CRL — пакетный документ. Подпись каждого документа сама не гарантирует свежесть.
OCSP (проверка состояния сертификата)
Определение
OCSP — протокол получения подписанного состояния good, revoked или unknown для конкретного сертификата.
Также ищут: Online Certificate Status Protocol · OCSP · online certificate status · проверка статуса сертификата
Зачем это знать
Ответ состояния нужно связать с нужным сертификатом, уполномоченным подписантом и временем. Иначе старое или чужое good ошибочно превращается в разрешение соединения.
Карта понятия
Что подтверждено
Ответ SingleResponse связывает конкретный сертификат, состояние good, revoked или unknown и срок применимости ответа.
Граница применимости: Смысл ответа OCSP по RFC 6960.
good как минимум сообщает, что у данного издателя нет записи об отзыве для запрошенного серийного номера на время сообщаемого состояния. Это не гарантия самого выпуска, действующего срока сертификата или неизменности статуса после формирования ответа.
Граница применимости: Значение good в RFC 6960; подлинность, полномочия ответчика, CertID и временную применимость ответа проверяют отдельно.
Перед использованием SingleResponse проверяют подпись ответа, полномочия подписанта и совпадение CertID с запросом. CertID включает сведения об издателе и серийный номер; одного текста good недостаточно.
Граница применимости: Проверка ответа OCSP по RFC 6960, разделы 4.1.1 и 4.2.2.2; временная применимость проверяется отдельно.
thisUpdate указывает время, для которого сообщаемый статус известен как корректный; nextUpdate при наличии обозначает ожидаемое обновление. Подписанный ранее ответ не является непрерывным наблюдением состояния в момент чтения.
Граница применимости: Поля времени OCSP по RFC 6960; проверяющий применяет требования свежести. Отсутствие nextUpdate не даёт бессрочной свежести.
unknown означает, что ответчик не знает состояния указанного сертификата. Этот статус нельзя переименовать в good или считать доказанным revoked; дальнейшее решение принимает политика клиента.
Граница применимости: Три значения certStatus по RFC 6960; не задаёт универсальный режим отказа приложения.
Не путать
good не заменяет путь и срок сертификата. Даже подлинный актуальный ответ состояния не доказывает сам выпуск сертификата или его имя TLS.
Что проверить
- Сверьте CertID с запросом.
- Проверьте подпись ответа.
- Проверьте полномочия подписанта.
- Учитывайте thisUpdate и наличие nextUpdate.
- Примените требования свежести.
- Различайте good, revoked и unknown.
- Не принимайте один текст good без проверки CertID, подписи и полномочий ответчика.
Первоисточники
- Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List Profile
Определяет Internet X.509 certificate и CRL profiles, PKI entities, extensions и certification path validation.