В контексте SSL/TLS **«прозрачность»** обычно означает *Certificate Transparency (CT)* — публичную регистрацию выданных сертификатов. Центр сертификации публикует сведения о сертификате в доступных для проверки журналах, чтобы владелец домена и браузеры могли обнаружить ошибочную или мошенническую выдачу. [developers.google](https://developers.google.com/public-key-infrastructure/faq/what-is-certificate-transparency) ## Как это работает При выпуске сертификата CA обычно: 1. отправляет сертификат или специальный precertificate в несколько CT-журналов; 2. получает от журналов подписанные временные метки — **SCT (Signed Certificate Timestamp)**; 3. включает SCT в сертификат, TLS-handshake или OCSP-ответ; 4. браузер проверяет, что сертификат был опубликован в приемлемых журналах. Журналы устроены по принципу **append-only**: записи можно добавлять, но нельзя незаметно исправлять или удалять. Это позволяет обнаружить, если CA выпустил сертификат для чужого домена. [datatracker.ietf](https://datatracker.ietf.org/doc/html/rfc6962) ## Практический пример Допустим, злоумышленник каким-то образом добился выпуска сертификата: ```text example.com ``` у доверенного CA, хотя владелец домена этого не просил. Сертификат попадёт в CT-журналы. Владелец может мониторить их и получить уведомление: «для example.com выпущен новый сертификат». После этого он может обратиться в CA, инициировать отзыв сертификата и расследовать проблему. Именно поэтому сертификаты для публичных сайтов часто можно найти через сервисы вроде `crt.sh`: там видны домены и поддомены, указанные в сертификатах. ## Что именно становится публичным Публичным становится содержимое сертификата, включая, как правило: - доменное имя или имена из поля SAN; - wildcard вроде `*.example.com`; - срок действия; - издателя; - открытый ключ; - иногда сведения об организации. **Закрытый ключ при этом не публикуется** — он должен оставаться только на сервере владельца. Следовательно, CT может раскрыть факт существования внутренних поддоменов. Например, сертификат с SAN `git.intranet.example.com` фактически сообщит всему миру о таком имени. Wildcard уменьшает раскрытие конкретных имён, но не устраняет публикацию самого сертификата. [chromium.googlesource](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/net/docs/certificate-transparency.md) ## Что означает галочка CT Если в панели CA или проверке сертификата указано, что **Certificate Transparency включена**, это обычно означает: - сертификат опубликован или будет опубликован в CT-журналах; - браузеры смогут принять его как соответствующий требованиям публичной инфраструктуры PKI; - владелец домена сможет отслеживать неожиданные сертификаты. Это **не означает**, что: - сертификат безопаснее шифрует трафик; - CA проверяет сайт после выдачи; - сертификат невозможно украсть или неправильно выпустить; - сертификат автоматически отзывается при обнаружении проблемы. CT в первую очередь обеспечивает **обнаружение и аудит**, а не предотвращает сам факт ошибочной выдачи. [datatracker.ietf](https://datatracker.ietf.org/doc/html/rfc6962) Для обычного публичного сайта это нормальное и фактически обязательное свойство сертификата от публично доверенного CA. Для внутренних доменов, которые не должны раскрывать свои имена, обычно используют собственный или корпоративный CA, а не публичный сертификат: требования CT применяются прежде всего к публично доверенным центрам сертификации. [chromium.googlesource](https://chromium.googlesource.com/chromium/src/+/refs/heads/main/net/docs/certificate-transparency.md)