KarelWintersky

KarelWintersky / прозрачность.md

Last active 20 hours ago

Like 0
прозрачность.md Raw

В контексте SSL/TLS «прозрачность» обычно означает Certificate Transparency (CT) — публичную регистрацию выданных сертификатов. Центр сертификации публикует сведения о сертификате в доступных для проверки журналах, чтобы владелец домена и браузеры могли обнаружить ошибочную или мошенническую выдачу. developers.google

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

При выпуске сертификата CA обычно:

  1. отправляет сертификат или специальный precertificate в несколько CT-журналов;
  2. получает от журналов подписанные временные метки — SCT (Signed Certificate Timestamp);
  3. включает SCT в сертификат, TLS-handshake или OCSP-ответ;
  4. браузер проверяет, что сертификат был опубликован в приемлемых журналах.

Журналы устроены по принципу append-only: записи можно добавлять, но нельзя незаметно исправлять или удалять. Это позволяет обнаружить, если CA выпустил сертификат для чужого домена. datatracker.ietf

Практический пример

Допустим, злоумышленник каким-то образом добился выпуска сертификата:

example.com

у доверенного CA, хотя владелец домена этого не просил. Сертификат попадёт в CT-журналы. Владелец может мониторить их и получить уведомление: «для example.com выпущен новый сертификат». После этого он может обратиться в CA, инициировать отзыв сертификата и расследовать проблему.

Именно поэтому сертификаты для публичных сайтов часто можно найти через сервисы вроде crt.sh: там видны домены и поддомены, указанные в сертификатах.

Что именно становится публичным

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

  • доменное имя или имена из поля SAN;
  • wildcard вроде *.example.com;
  • срок действия;
  • издателя;
  • открытый ключ;
  • иногда сведения об организации.

Закрытый ключ при этом не публикуется — он должен оставаться только на сервере владельца.

Следовательно, CT может раскрыть факт существования внутренних поддоменов. Например, сертификат с SAN git.intranet.example.com фактически сообщит всему миру о таком имени. Wildcard уменьшает раскрытие конкретных имён, но не устраняет публикацию самого сертификата. chromium.googlesource

Что означает галочка CT

Если в панели CA или проверке сертификата указано, что Certificate Transparency включена, это обычно означает:

  • сертификат опубликован или будет опубликован в CT-журналах;
  • браузеры смогут принять его как соответствующий требованиям публичной инфраструктуры PKI;
  • владелец домена сможет отслеживать неожиданные сертификаты.

Это не означает, что:

  • сертификат безопаснее шифрует трафик;
  • CA проверяет сайт после выдачи;
  • сертификат невозможно украсть или неправильно выпустить;
  • сертификат автоматически отзывается при обнаружении проблемы.

CT в первую очередь обеспечивает обнаружение и аудит, а не предотвращает сам факт ошибочной выдачи. datatracker.ietf

Для обычного публичного сайта это нормальное и фактически обязательное свойство сертификата от публично доверенного CA. Для внутренних доменов, которые не должны раскрывать свои имена, обычно используют собственный или корпоративный CA, а не публичный сертификат: требования CT применяются прежде всего к публично доверенным центрам сертификации. chromium.googlesource