Цепочки SSL-сертификатов

Зачем они

Вероятно, вам уже известно: когда вы посещаете сайт по безопасному протоколу HTTPS, в адресной строке браузера отображается сообщение вроде следующего.

адресная строка

Значок закрытого зелёного замка и префикс https: говорят о защищённости соединения. В разных браузерах зашифрованные соединения отображаются по-разному.

Соединение по протоколу HTTPS устанавливается с помощью SSL-сертификата. Сведения о нём можно получить, посмотрев его свойства с помощью браузера. О том, как это сделать, рассказано здесь.

Сейчас нас интересует одно из свойств сертификата: «Путь сертификации».


путь сертификации


Вообще, для того, чтобы зашифровать данные, пересылаемые между веб-сервером и браузером посетителя, достаточно одного сертификата. А здесь их целых три!

Дело в том, что при посещении многих сайтов, например, банков или железнодорожных касс, мы хотим быть уверенными не только в том, что наше соединение защищено, но и в том, что мы оказались на правильном желанном сайте.

Для удостоверения этого факта одного сертификата недостаточно. Нужно, чтобы кто-то посторонний подтвердил, что для защиты соединения используется сертификат, выпущенный именно для данного сайта.

Поручители

В роли поручителя-удостоверителя выступает центр сертификации, который выпустил SSL-сертификат по запросу владельца сайта.

Сертификат и сайт, для которого он выпущен, удостоверяются электронной цифровой подписью (ЭЦП). Эта подпись, во-первых, указывает, кому принадлежит она сама, а во-вторых, фиксирует содержимое сертификата, то есть позволяет проверить, не был ли он кем-то изменён после выпуска и подписания.

Пусть некто «Б» удостоверил личность некоего «А».

А-Б

Проблему можно считать преодолённой, если вы знаете и доверяете «Б», а что, если — нет: не знаете или не доверяете.

«Б», в свою очередь, может сообщить, что его знает «В».

А-Б-В

В принципе, длина цепочки удостоверений не ограничена. Главное, чтобы в ней оказался тот, кому мы доверяем.

Мишу знает Боря, Борю знает Дима, Диму знает Вова, а вот уж Вову мы знаем сами. Помните шуточную теорию о шести рукопожатиях между двумя любыми людьми, одновременно живущими на Земле?

Однако в реальной жизни в цепочке знакомых между собой людей может долго не быть знакомого лично нам. Или эта цепочка может оказаться слишком длинной. Или потребовать слишком много ресурсов на свою обработку.

Корневые сертификаты

Исторически и технологически сложилось так, что ряд центров сертификации получили наибольшее признание в области информационных компьютерных технологий. Поэтому было принято согласованное решение назвать их криптографические сертификаты корневыми и всегда доверять их электронным цифровым подписям.

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

Если цепочку последовательно подписанных сертификатов завершает корневой сертификат, все сертификаты, входящие в эту цепочку, считаются подтверждёнными.

А-Б-В-КС

В данном примере сертификаты «Б» и «В» называются промежуточными.

Корневые сертификаты, находящиеся в компьютере пользователя, хранятся в специальном контейнере, защищённом от случайного доступа посторонних. Тем не менее, возможность пополнять контейнер новыми корневыми сертификатами имеется, и в этом состоит один из источников опасности.

При определённых усилиях и наличии доступа к атакуемому компьютеру злоумышленник может включить в число корневых сертификатов свой и использовать его для расшифровки данных пользователя.

Корневым центр сертификации может быть назначен правительством той или иной страны или руководством корпорации. В этих случаях корневые центры сертификации не будут глобальными, но при этом они могут вполне успешно использоваться в конкретной стране или в рамках конкретного предприятия.

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

Посмотреть локальные списки корневых сертификатов можно в настройках браузеров или операционной системы.

Заключение

Важно понимать, что любая система криптографической защиты данных не может быть основана только на технических и технологических решениях. Она должна обязательно включать в себя и организационные аспекты.


P.S. Что еще можно почитать на тему SSL-сертификатов: