Суверенный интернет страшилки или реальность?
Госдума приняла в третьем чтении законопроект о создании российского сегмента интернета. За принятие документа проголосовали 307 депутатов, против — 68.
Депутат от фракции ЛДПР Сергей Иванов заявил, что операторов связи обяжут установить «некие средства противодействия угрозам», хотя что такое угроза — неизвестно.
«На все это будет выделено 30 млрд рублей из федерального бюджета, еще 30 млрд потратят операторы, а всем этим будет руководить организация, которая прославилась как слон в посудной лавке, пытаясь заблокировать Telegram», — сказал он, добавив, что фракция ЛДПР против принятия законопроекта. ВВС сообщает, что будут блокировать с помощью технологии DPI (от английского deep packet inspection, "глубокий анализ пакетов").
Что может произойти на самом деле? Давайте проразмыслим.
Там есть пункт про пере-направление трафика. Такой инструмент плюс маленькая деталька позволят властям РФ прослушивать весь зарубежный https трафик так, что конечный пользователь и сайт не узнают о факте прослушки ни сразу ни потом. Я попытаюсь объяснить максимально простым и понятным языком как это у властей получится сделать.
Для начала о том, почему в современном мире https с зелёным замочком - это действительно 100% гарантия, что трафик с данным сайтом прочитать или изменить невозможно.
Существует технология при помощи которой можно создать пару "приватный-ключ" и "публичный-ключ" (не путать с ключами от кошельков биткоина). Создавший такую пару должен сохранить в секрете приватный ключ и отдать всем желающим публичный ключ. Тогда любой сможет зашифровать любое сообщение или данные при помощи публичного ключа так, что расшифровать сможет только владелец приватного ключа. На этой простой технологии и построена инфраструктура https.
Деталь первая: браузер и сайт каким-то образом надёжно обменялись публичными ключами (доказывать это будем чуть позже). Тогда браузер сможет создавать пару ключей для сайта, по публичному ключу сайта зашифровать публичный ключ браузера, отправить его на сервер сайта. Расшифровать сообщение соответственно может только настоящий сервер сайта. Далее сервер сайта отправляет браузеру pin код какой-то зашифрованный публичным ключом браузера. Прочитать такое сообщение соответственно может только браузер. Браузер получает это сообщение и уже понимает, что соединение установлено именно с сервером сайта. Далее браузер шифрует pin код публичным ключом сайта опять и отправляет его. Прочитать соответственно может только сервер сайта. И в этот момент сервер понимает, что с конечным клиентом установлено надёжное соединение.
Деталь вторая: недоброжелатели же могут поставить сервер между браузером и сайтом - с обоими установить защищённое соединение и никто не узнает, что канал прослушивается или даже в трафик вносятся поправки. Для борьбы с этим придумали центры сертификации. Эти центры сертификации делают главное - раздают публичные ключи сайтов всем желающим. Почему они это делают? Потому что каждый владелец сайта с зелёным замочком заносит им по 10$ в год или более. И потому что, за отдачу ложного сертификата по договору положен большой штраф. И ложным сертификатом очень тяжело кому-то воспользоваться. И в нормальной ситуации факт ложного сертификата мгновенно вскрывается. Итак, нам осталось каким-то образом установить защищённое соединение с центром сертификации - тогда соединение с сайтом будет 100% защищено.
Деталь третья: поскольку центров сертификации по всему миру немного - около 200. То публичные ключи к каждому из них можно прилагать к каждому браузеру, к каждой операционной системе. И они поставляются. Теперь остаётся обеспечить гарантию того, что прилагаемые сертификаты у скачиваемых браузеров и ОС - настоящие. Тогда вся цепочка выше - будет давать 100% гарантию того, что установленное соединение с сайтом надёжное.
Деталь четвёртая: а как мы получаем ОС и браузеры? В магазине покупаем или скачиваем из интернета по https. Если через https - то понятно, что это замкнутый цикл постоянного защищённого соединения. Если в магазине - то легко будет специалисту изучить сертификаты и понять, что они ложные - и тогда скандал будет грандиозный. Но подобных скандалов ещё не было.
Теперь зная всю цепочку защиты https трафика от прослушивания мы сможем определить уязвимые места. Вся система построена так, что пользователь сразу узнаёт о факте прослушки или даже о факте попытки прослушки. Но в случае с последним законом у властей РФ появляется окно возможностей прослушивать весь зарубежный https трафик так, что пользователь и сайт никогда не узнают о факте прослушки. Именно это мы и рассмотрим дальше.
Для этого надо каким-то образом добавить ещё 200 сертификатов у конкретного пользователя внутри РФ (так, чтобы к каждому зарубежному центру сертификации был бы второй - поддельный). Как это они смогут сделать - рассмотрим позже. А пока представим, что такое случилось.
Теперь пользователь отправляет запрос на сайт facebook для установления https соединения. facebook должен ответить "мой центр сертификации такой-то". На одном из пограничных серверов РФ ловим этот запрос и с одной стороны пропускаем его дальше - чтобы для facebook было всё прозрачно и настоящий ответ от facebook оставляем себе. А пользователю даём ответ про ложный центр сертификации.
Пользователь принимает ложный центр сертификации как настоящий, потому что у него на компьютере есть поддельный сертификат. Далее запрашивает публичный ключ facebook у этого ложного центра сертификации (разумеется соединение с этим центром будет защищено как надо - это наоборот даст возможность вовлечь в эту грандиозную аферу всего несколько десятков человек). Ложный центр сертификации отдаёт ложный публичный ключ facebook. Браузер используя этот ключ обращается к facebook. Чтобы сигнал дошёл до facebook - сигнал должен пройти через один из пограничных серверов. А каждый пограничный сервер будет иметь приватные ключи всех сайтов, которые государство хочет прослушивать. Таким образом устанавливается реальное защищённое соединение именно с пограничным сервером, а пограничный сервер далее уже общается с facebook от своего имени по защищённому каналу, facebook при этом думает, что он общается с реальным пользователем IP же подделан - в законе какраз про такую возможность сказано.
О том как установить поддельные сертификаты на конечном устройстве пользователя. Я бы на месте властей использовал программу "Касперский" для этого. Все новые устройства - по возможности снабжать этими сертификатами. Все новые продаваемые дистрибутивы - тоже. В государственных браузерах типа Яндекса установить такое. Наверняка ещё чего-то придумают.
Ну вобщем это должна быть красной линией за которую нельзя переходить - нельзя допустить установку любого сертификата о центре сертификации на любое устройство. Я вспоминаю себя год назад - если бы скажем Ростелеком сказал бы "для работы интернета надо установить корневой сертификат вот такой вот так" - я бы пожал бы плечами и сделал бы. Но теперь уж точно нет. Мне удалось простым языком изложить свою мысль?
Особенности маскировки
Разумеется это всё будет работает при соблюдении рядя условий. Например пограничных серверов должно быть не много и весь зарубежный трафик должен идти через них. Скажем 50 пограничных серверов на земле и 5 пограничных серверов на спутниках. Спутники - под контролем государства, всякие Илоны Маски со своим роем спутников будут крайне мешать этой афере. Если это условие не соблюдать - то факт грандиозной прослушки будет тут же вскрыт конечным пользователем.
При пересечении границы - все устройства должны быть выключены. Чтобы при включении - они запросили новый сертификат у facebook и факт прослушки внутри РФ остался бы в тайне.
Не получится прослушивать https трафик внутри страны без ведома пользователей. Уж не буду объяснять почему. По этой же причине США не сможет прослушивать Китайские https например, а Китай исходящий https трафик сможет прослушивать.
Ко всему этому могу добавить, что в случае принятия такого плана, он будет стоить явно не 30 млрд рублей и даже не 60. Задержки в милисекундах будут существенными, а требовательные приложения, как то он-лайн игры, или биржевая торговля станут невозможными.
Про блокчейн биткоина или эфира совсем непонятно. Но если предположить, что этот фантастический вариант будет осущствлен, то блокировать можно будет одним движением руки, простите мышки. Правда в случае, если криптовалюты запретят. И еще, зная насколько это сложно и материалоемко, а также дефицит админов и программистов, ждать это сказочное время придется долго. Время покажет. В ноябре этого года посмотрим, ждать недолго.
Если кто не верит, посмотрите этот ролик, как в приниципе будет проходить процедура (для тех кто понимает) https://youtu.be/sGtLnFmRKPM