Зачем вообще отзывать
Сертификат несёт дату истечения, но иногда его нужно аннулировать до того, как эта дата наступит. Приватный ключ мог утечь, сертификат мог быть выпущен по ошибке, или домен мог сменить владельца. Во всех этих случаях сертификат всё ещё криптографически действителен и всё ещё внутри своего окна действия, и тем не менее полагающимся сторонам следует перестать ему доверять. Отзыв — это механизм, чтобы сказать «игнорируй этот сертификат, хотя он не истёк». Трудная часть — доставить это сообщение надёжно каждому клиенту в мире, и это оказывается слабейшим звеном в веб-.
CRL: опубликованный список блокировки
Изначальный ответ — это Список Отзыва Сертификатов (Certificate Revocation List), определённый рядом с профилем сертификата в RFC 5280. периодически публикует подписанный список серийных номеров, которые она отозвала, и сертификаты могут указывать на него через Distribution Point. Клиент скачивает список и проверяет, появляется ли серийный номер сертификата на нём.
Проблема — размер и свежесть. Загруженная CA может накопить огромные списки, так что скачивать и разбирать CRL при каждом соединении непрактично, а кэшированный список устарел до следующей публикации. CRL всё ещё используются, всё чаще в сжатых и предобработанных формах, которые браузеры доставляют сами себе, но как проверка на соединение они масштабируются плохо.
OCSP: спросить об одном сертификате
Online Certificate Status Protocol, RFC 6960, был призван исправить проблему размера, позволяя клиенту спросить об одном сертификате вместо скачивания всего списка. Клиент отправляет серийный номер сертификата -ответчику и получает обратно подписанное «good», «revoked» или «unknown».
Это меняет одну проблему на три. Это добавляет задержку, потому что клиент теперь делает дополнительный сетевой круг во время установки соединения. Это утекает приватность, потому что ответчик узнаёт, какие сайты пользователь посещает. И это создаёт связанность доступности: если ответчик не работает, клиент должен либо провалить соединение, либо, гораздо чаще, мягко провалиться (soft-fail) и продолжить, как если бы сертификат был хорошим, что тихо сводит на нет весь смысл.
OCSP stapling и Must-Staple
Stapling решает проблемы задержки и приватности, заставляя сервер получать свежий, подписанный OCSP-ответ и прикреплять его к рукопожатию TLS (расширение status_request из RFC 6066). Клиент получает свежесть, не связываясь с ответчиком. Must-Staple, RFC 7633, — это расширение сертификата, которое говорит «отклони меня, если staple отсутствует», закрывая брешь soft-fail, но оно редко развёртывается, потому что единственная икота stapling тогда кладёт сайт.
Неудобная правда
Через все эти механизмы повторяющийся провал — это soft-fail: когда информация об отзыве недоступна, клиенты подавляюще выбирают доступность над безопасностью и принимают сертификат. Это делает отзыв ненадёжной страховочной сеткой именно тогда, когда она нужна. Браузеры ответили своими собственными внеполосными системами, которые подталкивают данные об отзыве сами себе, но протоколы на соединение никогда не выполнили своё обещание.
Современный ответ: заставить сертификаты истекать раньше
Если вы не можете надёжно аннулировать сертификат, альтернатива — сделать его достаточно короткоживущим, чтобы аннулирование редко имело значение: скомпрометированный сертификат просто истекает сам собой в течение дней или недель. Индустрия обязалась именно к этому. Ballot SC-081v3 от CA/Browser Forum, утверждённый в апреле 2025, поэтапно снижает максимальный срок жизни публичного TLS-сертификата с 398 дней до 200 дней (начиная с марта 2026), 100 дней (март 2027) и 47 дней (март 2029), причём период повторного использования валидации домена сокращается до 10 дней. Отдельно, с 2023 года Forum позволил короткоживущим сертификатам, истекающим в течение 7 дней, полностью пропускать поддержку CRL и OCSP, а Let's Encrypt начал выпускать сертификаты со сроками жизни, измеряемыми в днях. Вся посылка в том, что достаточно короткий срок жизни сам по себе является отзывом.
Это работает только с автоматизацией. Обновлять сертификаты каждые шесть или семь недель вручную несостоятельно, и поэтому протокол (см. статью о запросе подписи) и инструменты жизненного цикла сертификатов стали существенной инфраструктурой, а не удобством. Заметьте, что эти правила применяются к публично доверенным сертификатам в корневых программах браузеров; частная внутренняя PKI устанавливает свою собственную политику.
Что это значит, когда вы инспектируете сертификат
Когда вы декодируете сертификат, окно действия больше не запоздалая раз-в-год мысль; оно становится первичным средством контроля отзыва. Отчёт инструмента о notBefore, notAfter и о том, действителен ли сертификат прямо сейчас, всё больше является самым релевантным для безопасности в нём. Списки отзыва и ответчики всё ещё существуют, но направление движения ясно: укоротить срок жизни так, чтобы вопрос об отзыве редко возникал.