Эта статья может быть слишком технической для понимания большинства читателей . ( Август 2023 ) |
Certificate Transparency ( CT ) — это стандарт безопасности Интернета для мониторинга и аудита выдачи цифровых сертификатов . [1] Когда пользователь Интернета взаимодействует с веб-сайтом, необходима доверенная третья сторона для подтверждения того, что веб-сайт является законным и что ключ шифрования веб-сайта действителен. Эта третья сторона, называемая центром сертификации (CA), выдаст сертификат для веб-сайта, который браузер пользователя может проверить. Безопасность зашифрованного интернет-трафика зависит от доверия к тому, что сертификаты выдаются только центром сертификации и что центр сертификации не был скомпрометирован.
Certificate Transparency публикует все выданные сертификаты в форме распределенного реестра , предоставляя владельцам веб-сайтов и аудиторам возможность обнаруживать и раскрывать ненадлежащим образом выданные сертификаты.
Работа над прозрачностью сертификатов началась в 2011 году после того, как центр сертификации DigiNotar был скомпрометирован и начал выдавать вредоносные сертификаты. Инженеры Google представили проект в Internet Engineering Task Force (IETF) в 2012 году. Результатом этих усилий стал IETF RFC 9162, стандарт, определяющий систему публичных журналов для записи всех сертификатов, выданных публично доверенными центрами сертификации , что позволяет эффективно идентифицировать ошибочно или злонамеренно выданные сертификаты. [2]
Система прозрачности сертификатов состоит из системы журналов сертификатов только для добавления . Журналы управляются многими сторонами, включая поставщиков браузеров и центры сертификации . [3] Сертификаты, которые поддерживают прозрачность сертификатов, должны включать одну или несколько подписанных временных меток сертификатов (SCT), что является обещанием оператора журнала включить сертификат в свой журнал в течение максимальной задержки слияния (MMD). [4] [3] В какой-то момент в течение максимальной задержки слияния оператор журнала добавляет сертификат в свой журнал. Каждая запись в журнале ссылается на хэш предыдущей, образуя дерево Меркла . Подписанная голова дерева (STH) ссылается на текущий корень дерева Меркла .
Хотя любой желающий может отправить сертификат в журнал CT, эта задача обычно выполняется центром сертификации следующим образом: [4] [5]
Наконец, CA может решить также регистрировать окончательный сертификат. Например, Let's Encrypt E1 CA регистрирует как предварительные сертификаты, так и окончательные сертификаты (см. страницу профиля CA crt.sh в разделе «выданные сертификаты»), тогда как Google GTS CA 2A1 этого не делает (см. страницу профиля crt.sh).
Некоторые браузеры требуют, чтобы сертификаты Transport Layer Security (TLS) имели подтверждение регистрации с прозрачностью сертификата [7] [8] либо через SCT, встроенные в сертификат, расширение во время рукопожатия TLS, либо через OCSP :
Браузер | Текущие требования SCT | Текущие требования к расширению OCSP/TLS |
---|---|---|
Хром / Хром |
|
|
Firefox | Нет [11] | Никто |
Сафари |
| Два SCT из текущих утвержденных журналов |
Из-за большого количества сертификатов, выпущенных с помощью Web PKI , журналы прозрачности сертификатов могут разрастаться и содержать много сертификатов. Такое большое количество сертификатов может вызвать нагрузку на журналы. Временное сегментирование — это метод снижения нагрузки на журналы путем сегментирования журнала на несколько журналов и принятия каждым шардом только предварительных сертификатов и сертификатов с датой истечения срока действия в определенный период времени (обычно календарный год). [13] [14] [15] Серия журналов Nimbus от Cloudflare была первой, в которой использовалось временное сегментирование.
Одной из проблем управления цифровыми сертификатами является то, что мошеннические сертификаты долго обнаруживаются, сообщаются и отзываются . Выданный сертификат, не зарегистрированный с помощью Certificate Transparency, может вообще никогда не быть обнаружен. Главное преимущество Certificate Transparency заключается в возможности для групп кибербезопасности защищать компании и организации путем мониторинга подозрительных доменов, регистрирующих сертификаты. Новые сертификаты для этих подозрительных доменов могут иметь похожие имена с другими законными доменами и предназначены для использования для поддержки вредоносных действий, таких как фишинговые атаки. Certificate Transparency дает группам кибербезопасности контроль и позволяет им выдавать приказы об удалении подозрительных доменов и применять средства контроля кибербезопасности на веб-прокси и почтовых шлюзах для немедленной защиты. [16]
Доменные имена, которые используются во внутренних сетях и имеют сертификаты, выданные центрами сертификации, становятся общедоступными для поиска, поскольку их сертификаты добавляются в журналы CT.
Прозрачность сертификата зависит от проверяемых журналов прозрачности сертификата. Журнал добавляет новые сертификаты к постоянно растущему дереву хэшей Меркла . [1] : §4 Чтобы журнал считался работающим правильно, он должен:
Журнал может принимать сертификаты, которые еще не полностью действительны, а также сертификаты, срок действия которых истек.
Мониторы действуют как клиенты для серверов журналов. Мониторы проверяют журналы, чтобы убедиться, что они ведут себя правильно. Несоответствие используется для доказательства того, что журнал вел себя неправильно, а подписи в структуре данных журнала (дерево Меркла) не позволяют журналу отрицать это неправильное поведение.
Аудиторы также действуют как клиенты для серверов журналов. Аудиторы прозрачности сертификатов используют частичную информацию о журнале для проверки журнала относительно другой частичной информации, которой они располагают. [1] : §8.3
У Apple [17] и Google [13] есть отдельные программы журналов с различными политиками и списками доверенных журналов.
Журналы прозрачности сертификатов поддерживают собственные корневые хранилища и принимают только сертификаты, которые связаны с доверенными корнями. [1] В прошлом ряд некорректно работающих журналов публиковали несогласованные корневые хранилища. [18]
В 2011 году был атакован реселлер центра сертификации Comodo , а центр сертификации DigiNotar был скомпрометирован , [19] продемонстрировав существующие недостатки в экосистеме центра сертификации и побудив к работе над различными механизмами для предотвращения или мониторинга несанкционированной выдачи сертификатов. Сотрудники Google Бен Лори , Адам Лэнгли и Эмилия Каспер начали работу над фреймворком с открытым исходным кодом для обнаружения неправильно выпущенных сертификатов в том же году. В 2012 году они представили первый проект стандарта в IETF под кодовым названием «Sunlight». [20]
В марте 2013 года Google запустил свой первый журнал прозрачности сертификатов. [21]
В июне 2013 года был опубликован документ RFC 6962 «Прозрачность сертификатов», основанный на проекте 2012 года.
В сентябре 2013 года DigiCert стал первым центром сертификации , внедрившим прозрачность сертификатов. [22]
В 2015 году Google Chrome начал требовать прозрачность сертификатов для вновь выпущенных сертификатов расширенной проверки . [23] [24] Он начал требовать прозрачность сертификатов для всех сертификатов, вновь выпущенных Symantec с 1 июня 2016 года, после того как было обнаружено, что они выпустили 187 сертификатов без ведома владельцев доменов. [25] [26] С апреля 2018 года это требование было распространено на все сертификаты. [8]
23 марта 2018 года Cloudflare анонсировала собственный журнал CT под названием Nimbus . [27]
В мае 2019 года центр сертификации Let's Encrypt запустил собственный журнал CT под названием Oak. С февраля 2020 года он включен в утвержденные списки журналов и может использоваться всеми публично доверенными центрами сертификации. [28]
В декабре 2021 года был опубликован RFC 9162 «Certificate Transparency Version 2.0». [1] Версия 2.0 включает в себя основные изменения в требуемой структуре сертификата журнала, а также поддержку Ed25519 в качестве алгоритма подписи SCT и поддержку включения доказательств включения сертификата в SCT.
В феврале 2022 года Google опубликовала обновление своей политики CT, [29] которое отменяет требование к сертификатам включать SCT из собственной службы журналов CT, приведя все требования к сертификатам в соответствие с ранее опубликованными Apple. [30]
В версии Certificate Transparency 2.0 журнал должен использовать один из алгоритмов в реестре IANA «Алгоритмы подписи». [1] : 10.2.2 [31]
, прозрачность сертификатов (CT). CT решает проблему, которую я только что описал, делая все сертификаты общедоступными и простыми для аудита. Когда центры сертификации выдают сертификаты, они должны отправлять сертификаты как минимум в два "публичных журнала". Это означает, что в совокупности журналы содержат важные данные обо всех доверенных сертификатах в Интернете.
{{cite web}}
: CS1 maint: архивная копия как заголовок ( ссылка ){{cite book}}
: |work=
проигнорировано ( помощь )