0Pricing
Cryptology Academy · Урок

OCSP Stapling и прозрачность сертификатов

Настройте OCSP Stapling для повышения производительности и изучите журналы прозрачности сертификатов для возможности аудита.

«OCSP Stapling и прозрачность сертификатов» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.

Проблемы CRL

Списки отзыва сертификатов (CRL) — это файлы, публикуемые CA и содержащие перечень всех отозванных сертификатов. У CRL есть несколько проблем: со временем они увеличиваются, клиенты должны загружать их полностью, их актуальность ограничена периодичностью публикации, а браузеры исторически при сбое загрузки CRL выполняли мягкую обработку ошибки — принимали сертификаты, — из-за чего отзыв на практике оказывался ненадёжным.

OCSP для проверки статуса в реальном времени

Протокол статуса сертификатов в сети (OCSP, RFC 6960) позволяет клиентам в реальном времени запрашивать у ответчика OCSP CA статус отзыва определённого сертификата. Ответ OCSP сообщает, что сертификат «действителен», «отозван» или «неизвестен», и подписывается CA. Это эффективнее, чем загрузка всего CRL.

Проблема конфиденциальности OCSP

У стандартного OCSP есть существенный недостаток для конфиденциальности: клиент должен обратиться к ответчику OCSP CA с серийным номером проверяемого сертификата, раскрывая CA или наблюдателю в сети, какие веб-сайты посещает пользователь и когда. На уровне центра сертификации это создаёт механизм наблюдения, нарушающий конфиденциальность пользователей.

Механизм прикрепления OCSP

Прикрепление OCSP (RFC 6066) решает проблему конфиденциальности: сервер заранее получает ответ OCSP от CA и кэширует его. Во время рукопожатия TLS сервер «прикрепляет» этот кэшированный ответ к рукопожатию и передаёт его непосредственно клиенту. Клиент получает актуальный статус отзыва, не обращаясь напрямую к CA.

Настройка прикрепления OCSP

Для настройки прикрепления OCSP в Nginx требуется добавить в блок сервера: "ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8;". Директива ssl_certificate_by_lua_block или директива ssl_trusted_certificate предоставляет цепочку для проверки. Для Apache в VirtualHost требуется директива "SSLUseStapling on". Оба сервера кэшируют ответ и обновляют его до истечения срока действия.

Расширение OCSP Must-Staple

Расширение X.509 OCSP Must-Staple (RFC 7633) сообщает браузерам, что сервер этого сертификата всегда будет прикреплять ответ OCSP. Если браузер подключается к серверу и не получает прикреплённый ответ, он отклоняет соединение. Это не позволяет злоумышленнику, располагающему отозванным сертификатом, блокировать ответы OCSP и принуждать браузер к мягкой обработке ошибки.

Концепция прозрачности сертификатов

Прозрачность сертификатов (CT) — это система, в которой все общедоверенные CA обязаны заносить каждый выданный сертификат в общедоступные проверяемые журналы, допускающие только добавление записей, ещё до передачи сертификата. Эти журналы позволяют владельцам доменов, исследователям и службам мониторинга обнаруживать неправомерно выданные или полученные мошенническим путём сертификаты для любого домена.

Подписанные отметки времени CT

Когда CA отправляет сертификат в журнал CT, журнал возвращает подписанную отметку времени сертификата (SCT). SCT — это криптографически подписанное обещание того, что сертификат занесён в журнал. SCT могут быть встроены в сам сертификат, переданы через расширение TLS или прикреплены в ответе OCSP. Для доверия Chrome требует как минимум две SCT.

Требование Chrome к CT

Google Chrome требует прозрачности сертификатов для всех общедоверенных сертификатов TLS с апреля 2018 года. Сертификаты без действительных SCT Chrome отклоняет с ошибкой сертификата. Это требование фактически заставляет все основные CA вести журналы CT, поскольку CA, сертификаты которого отклоняет Chrome, не может работать как общедоступный CA.

Обнаружение неправомерно выданных сертификатов через CT

Журналы CT позволяют любому пользователю отслеживать сертификаты, выданные для его домена. Такие службы, как crt.sh и CT Monitor от Facebook, позволяют владельцам доменов искать во всех журналах CT сертификаты, в полях субъекта или SAN которых указан их домен. Несанкционированную выдачу сертификата, например скомпрометированным CA или в результате перехвата маршрутизации BGP, можно обнаружить в течение нескольких часов.

Экосистема журналов CT

Журналы CT ведут несколько независимых организаций, включая Google (Argon, Xenon), Cloudflare (Nimbus), DigiCert, Sectigo и другие. Несколько операторов журналов не позволяют одной организации скрыть зарегистрированный сертификат. Браузеры требуют SCT из журналов, входящих в их утверждённый список, поддерживая контроль качества доверенных журналов.

Проверка прикрепления OCSP

Какую проблему решает прикрепление OCSP по сравнению со стандартным OCSP?

Итоги урока: OCSP и CT

CRL велики и быстро устаревают; OCSP предоставляет статус отзыва в реальном времени, но раскрывает CA данные о посещаемых сайтах. Прикрепление OCSP передаёт заранее полученный статус отзыва во время рукопожатия TLS, сохраняя конфиденциальность. OCSP Must-Staple предотвращает обход с помощью мягкой обработки ошибки. Прозрачность сертификатов заносит все выданные сертификаты в журналы, позволяя обнаруживать неправомерно выданные сертификаты с помощью SCT. Chrome требует CT с 2018 года.

Часто задаваемые вопросы

Урок «OCSP Stapling и прозрачность сертификатов» бесплатный?

Да — полный текст урока «OCSP Stapling и прозрачность сертификатов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.

Чему я научусь в уроке «OCSP Stapling и прозрачность сертификатов»?

Настройте OCSP Stapling для повышения производительности и изучите журналы прозрачности сертификатов для возможности аудита. Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Cryptology Academy?

Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «OCSP Stapling и прозрачность сертификатов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Cryptology Academy?

Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Основы командной строки OpenSSL
  2. Создание и управление цепочками сертификатов
  3. OCSP Stapling и прозрачность сертификатов
  4. Let's Encrypt и автоматизация протокола ACME
← Назад к Cryptology Academy