Про блокировки, анонимность и VPNы. Скромный ликбез в понятных словах. Часть 3. Государственные сертификаты

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

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

Во-первых, стоит рассказать, как работают сертификаты впринципе.

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

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

Выдачей сертификтов занимаются центры сертификации. Единственное на чем они держатся - это доверие. Да да, вот так вот все просто. То есть, каждый центр сертификации берет на себя обязательство того, что он не выдаст ключи кому попало и будет использовать все юридически доступные методы подтверждения для того, чтобы убедиться, что сертификат выдается именно тому физическому или юридическому лицу, от имени которого этот сертификат запрашивается. Для того, чтобы получить расширенный и самый безопасный сертификат, в котором однозначно указано имя компании, которой он пренадлежит (ими, к примеру, пользуются банки), нужно вообще предоставить кучу документов, подтверждающих то ты - это ты.

В браузере подобные сертификаты выглядят вот так (не сочтите за рекламу):

Про блокировки, анонимность и VPNы. Скромный ликбез в понятных словах. Часть 3. Государственные сертификаты Анонимность, Роскомнадзор, Интернет, Самообразование, Длиннопост
Про блокировки, анонимность и VPNы. Скромный ликбез в понятных словах. Часть 3. Государственные сертификаты Анонимность, Роскомнадзор, Интернет, Самообразование, Длиннопост

Для обычного сертификата достаточно подтверждения админского доступа к сайту или домену, на который выписывается сертификат. Но тогда названия комапании в адресной строке не будет, будет просто зеленый "https://...".

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

Для проверки сертификатов каждый браузер использует системный (или свой собственный) набор "корневых" публичных ключей. То есть - сертификатов, используя которые как основу, можно проверить всю цепочку до того самого сертификата, который прислал сайт. Грубо говоря, сайт присылает обычно цепочку сертификатов и проверка представляет из себя следующий процесс (от имени браузера): ага, вот основной сертификат, он подписан промежуточным, тот подписан еще одним промежуточным, ага, а промежуточный подписан корневым, который у меня есть и которому я доверяю, значит основной сертификат достоверный. Информацию о сертификате можно посмотреть, нажав на значек замка:

Про блокировки, анонимность и VPNы. Скромный ликбез в понятных словах. Часть 3. Государственные сертификаты Анонимность, Роскомнадзор, Интернет, Самообразование, Длиннопост

Нажав на "Certificate information" (информация о сертификате), вы увидете окно где расписана вся цепочка сертификатов, от "конревого" до сертификата сайте.

Про блокировки, анонимность и VPNы. Скромный ликбез в понятных словах. Часть 3. Государственные сертификаты Анонимность, Роскомнадзор, Интернет, Самообразование, Длиннопост

Как мы видим, в данном случае сертификат выдан компанией Thawte. Это очень уважаемый и дорогой сертификационный центр.

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

Если в браузере или в операционной системе есть некий ключ государственного сертификационного центра, то в случае атаки MITM (man in the middle, человек в середине), мы можем срегенировать поддельный сертификат для сайта, который будет принят браузером как валидный (потому что он пройдет проверку, т.к. у браузера будет публичный корневой ключ этого гос. центра, которому он доверяет). Соответственно, соединение пойдет таким путем: вы обращаетесь на сайт -> вас прозрачно соединяют с промежуточным хостом -> промежуточный хост отправляет вам поддельный сертификат, а сам устанавливает соединение с настоящим сайтом, чтобы перенаправлять запросы от вас и ответы вам от настоящего сайта -> ваш браузер верит сертификату, потому что он его проверил по своей базе доверенных корневых сертификатов -> вы спокойно работаете с сайтом и думаете что в безопасности, а на самом деле - промежуточный хост спокойно видит все ваши данные, потому что у него есть ключ к подложному сертификату и он может расшифровать данные.

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

Защита от этого пока весьма проста - используйте открыте операционные системы или официальный версии операционных систем, скачанные с оригинальных источников (то есть с сайта самого производителя, *паранойа* желательно какой нибудь консольной утилитой под linux\bsd загруженной с livecd и с дважды сверенной контрольной суммой образа взятой из разных источников */паранойа*), не в коем случае не соглашайтесь с установкой каких угодно левых сертификатов в систему (в 99% случаев это не нужно) и конечно аккуратнее в интернете, чтобы не подхватить левый сертификат через заражение вирусом и невнимательность.

И самое главное, если вы видете на сайте предупреждение о том, что его сертификат не достоверен - не в коем случае не идите туда, попробуйте позже. Это не всегда значит что сертификат подменен (бывает что обновить забывают), но при подмене, при условии чистой ОС без левых сертификатов, будет точно так же.

Если у вас есть вопрос или идея для следующего топика про интернет-безопасность и вы бы хотели что то узнать - милости прошу в комментарии.

1
Автор поста оценил этот комментарий

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

раскрыть ветку
Автор поста оценил этот комментарий

Что-то недопонимаю.

В месте про левые сборки ОС речь идет о замене корневых центров сертификации или все же о добавлении новых.

Многие сайты просят добавят их сертификаты в доверенные, что бы устанавливать защищенные подключения конкретно сих сайтом, разве это опасно?

раскрыть ветку
Автор поста оценил этот комментарий

Почему разговор про государственные сертификаты?

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

А посмотрите в другую сторону. Практически любой современный антивирус имеет функции брандмауэра и прописывает сертификат своего УЦ в список доверенных и при этом он действительно подменяет сертификаты (во благо или нет не суть).

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

У гугла есть свой УЦ (и возможнось MITM есть). У многих монстров сетевого оборудования тоже.

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

Да все эти конторы не выдают EV-сертификатов но это не потому что не могут, а потому что не хотят (...пока не хотят) (..пока делают вид что не хотят)

раскрыть ветку
Автор поста оценил этот комментарий

Кряк винды может подсунуть свой сертификат. Как можно проверить не подсунул ли?

раскрыть ветку
Автор поста оценил этот комментарий

Заголовок не соответствует содержанию.


Государственные сертификаты - это моя идентификации перед гос. органами РФ. Например, для подачи налоговой декларации в электронном виде. Выдаются центрами сетрификации, требуют сторонний софт (а не браузер). Тема интересная, но раельно сложная


А содержимое статьи про сертификаты защищённых HTTPS соединений. Ну прикольно, конечно, только государственности тут нет никакой.

раскрыть ветку