Прозрачность сертификатов (Certificate Transparency) — это проект корпорации Google, предоставляющий возможность занесения, мониторинга и аудита всех выпущенных EV-сертификатов в открытых и общедоступных источниках.

Зачем?

Современные методы криптографии все время совершенствуются. Мы думаем, что защитили свой сайт от спуфинга или от атаки «человек посередине», установив на него SSL-сертификат. Вместе с тем, методы интернет-мошенничества и подобных угроз становятся все более изощренными, что заставляет более критически смотреть на существующие схемы безопасности. Например, на тот факт, что Центры сертификации (ЦС) могут выпустить сертификат на абсолютно любой ресурс, а случаи компрометации ЦС происходили несколько раз, как и случаи ошибочного выпуска сертификата. С прозрачной защитой владельцы корпораций смогут следить за сертификатами, выпускаемыми на их домены, и вовремя отреагировать при обнаружении ошибок.

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

Данный процесс никак не затрагивает владельца домена, заказывающего сертификат, как и не задерживает выпуск. Это дополнительный шаг, выполняющийся на стороне Центра сертификации сразу при выпуске сертификата. Прозрачность сертификатов обеспечивается 3 составляющими:

  • Лог-серверы
  • Мониторы
  • Аудиторы

Лог-серверы — это репозиторий, или журнал сертификатов, куда центры сертификации отправляют сертификаты при выпуске.

Мониторы сканируют занесенные сертификаты на наличие подозрительных свойств и соответствие техническим рекомендациям. Большинство мониторов будут предоставляться самими Центрами сертификации.

Аудиторы — это программное обеспечение (в большинстве своем вшитое в браузеры), которое работает с сертификатами, следит за корректностью работы лог-серверов и за тем, чтобы конкретный сертификат был занесен в лог-сервер и не изменялся за время присутствия в журнале.

Центры сертификации отправляют в лог-сервер запись по выпускаемому сертификату, получая взамен отметку времени для сертификата SCT (signed certificate timestamp) — обещание занести сертификат в лог на протяжении некоторого времени (максимум 24 часа). Это никак не влияет на собственно выпуск сертификата и не задерживает его.

В рекомендуемой конфигурации Прозрачности сертификатов временная метка SCT добавляется в сертификат через расширение X.509v3 и сопровождает сертификат все время его действия. При общении с веб-клиентом она является показателем того, что сертификат внесен в лог-сервер. Кроме X.509v3, есть 2 альтернативных метода передачи SCT вместе с сертификатом — с помощью расширений TLS и OCSP. Более детальное описание каждого читайте на официальном сайте проекта Прозрачности сертификатов.

Далее Центр сертификации выпускает сертификат вместе с прикрепленным SCT. Менять конфигурацию сервера не нужно, поскольку сейчас все серверы поддерживают расширение X.509v3.

При общении клиента и сервера происходит «рукопожатие», во время которого проверяется подлинность сертификата и его цепочка, и плюс к этому, проверяется подлинности SCT — чтобы метка времени предоставлялась действующим лог-сервером и именно для этого сертификата.

Ниже схема работы TLS/SSL системы до и после применения Прозрачности сертификатов (через расширение x509v3).

Как это касается моего сертификата, выпущенного через SSL.com.ua?

Как уже писалось, данный процесс не требует дополнительных действий от вас как заказчика сертификата или администратора сервера. Все EV сертификаты, выпущенные через SSL.com.ua, поддерживают Прозрачность сертификатов.

Компании Comodo и Symantec (в прошлом VeriSign) — наши основные поставщики сертификатов — уже передают свои сертификаты в лог-серверы Google. При этом Symantec с недавних пор публикует не только сертификаты с расширенной проверкой (EV SSL или extended SSL certificate), но и с проверкой организации (SSL OV или organization SSL certificate) и доменной проверкой (DV SSL или domain SSL certificate).

Среди браузеров поддержка прозрачности сертификатов появилась в Chrome, а также запланирована в Firefox. Пока что эти опции отключены по умолчанию.

Проверить поддержку прозрачности можно в браузере, нажав на замочек и выбрав опцию «Соединения» (в описании сертификата будет запись «publicly auditable», «прозорiсть сертифiката» или «прозрачность сертификата» в зависимости от языка браузера).

Ответы на большинство вопросов по данному проекту можно найти тут. Если же у вас возникнут дополнительные вопросы о том, что такое SSL и как с ним работать — обращайтесь. Будем рады подсказать.