Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ilyaigpetrov/2fdb984ca816e1c1f813e6f3ff46e1be to your computer and use it in GitHub Desktop.
Save ilyaigpetrov/2fdb984ca816e1c1f813e6f3ff46e1be to your computer and use it in GitHub Desktop.
ЧЕРНОВИК: Не устанавливайте российские сертификаты

ЧЕРНОВИК: Не устанавливайте российские сертификаты

20.11.2022

Вкратце: устанавливая себе российский корневой сертификат, вы даёте государству полный контроль над вашим информационным трафиком. Либо не устанавливайте сертификат совсем, либо делайте это безопасно: на виртуальную машину или на отдельный компьютер.

Зачем нужны сертификаты?

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

*пока разработчики браузеров не внедрят Encrypted Client Echo (en).

А что случилось?

В результате вторжения РФ в Украину многие страны ввели санкции против России. Ограничения затронули и ИТ-отрасль. В частности, ограничения коснулись пользователей и компаний, связанных с государством РФ, за некоторыми исключениями. Так, имеется исключение для гражданских дочерних предприятий (и конечных пользователей?), принадлежащих компаниям из США и стран-партнёров:

ENC (Encryption Commodities, Software, and Technology), for encryption items, limited for use by civil end users that are subsidiaries of, or joint ventures with, companies headquartered in the United States or specified partner countries;

Источник: “Implementation of Sanctions Against Russia Under the Export Administration Regulations (EAR)”.

Т.е. какой-нибудь Let's Encrypt может выдавать сертификаты гражданам РФ, но не может вадать сертификат связанному с государством банку, например, Сбербанку. Имеющийся на сайте Сбербанка сертификат истекает в конце Января, после чего компания просит ползьователей установить корневой сертификат, произведённый в РФ. Сбербанк поставил валидный сертификат, выданный в греческой (GR) конторе. Но планов накрытия РФ отечественным сертификатом это не отменяет, вопрос лишь: как скоро?

Российский корневой сертификат -- почему бы и не поставить?

Если вы всё же поставили российский корневой сертификат, то:

  1. Государство может расшифровать и подменить трафик к любому сайту (даже к Gmail, например).
  2. Государство может отвечать от имени любого сайта.
  3. Государство может более детально, чем по DNS, следить за вашей Интернет-активностью (собирать пароли, например).

Источник: Что плохого в установке российских корневых сертификатов на личные ПК? (ru.stackoverflow).
Также по теме:

Как обойти ограничения безопасности без установки сертификата

ВНИМАНИЕ: информация ниже на практике не проверялась.

Chrome/Chromium использует реестр сертификатов операционной системы (например, Windows). При появлении сообщения об истёкшем или невалидном сертификате можно проигнорировать предупреждение безопасности и использовать сайт без шифрования.

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

«Яндекс.Браузер» и браузер «Атом» поставляются сразу с российским сертификатом. Устанавливать эти браузеры не рекомендуется, т.к. их исходные коды закрыты и какие трюки они могут проделать с вашим компьютеом неизвестно. Тоже самое можно сказать и о Хроме, но учитывайте также заинтересованность компаний-разработчиков (американский Google против прокремлёвских Yandex и VK) в том, чтобы, например, выступить в роли троянского коня и зугрузить вам backdoor (чёрный ход) на всякий случай: вдруг вы, там, власть критиковать вздумаете.

Чего они хотят

Как стало известно "Ъ", в России может быть создан государственный удостоверяющий центр (УЦ) для выдачи SSL-сертификатов, которые используют интернет-магазины, платежные системы и такие государственные порталы, как сайт Федеральной налоговой службы (ФНС) и gosuslugi.ru. Чтобы сделать использование SSL-сертификатов этого УЦ массовым, основных производителей операционных систем и браузеров — Microsoft, Google, "Яндекс" и других — могут обязать предустановить в свои продукты специальный корневой сертификат.

Источник: Коммерсантъ: «Рунет прикроют сертификатом», 15.02.2016.

Т.е. они хотят получить полный контроль над информационным трафиком каждого пользователя, как это пытались сделать власти Казахстана (wikinews, Хабр). Сегодня -- добровольно и для нескольких сайтов, завтра -- добровольно-принудительно и для всех разрешённых.

@ilyaigpetrov
Copy link
Author

ilyaigpetrov commented Mar 29, 2023

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

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

@maximlunegov
Copy link

Спасибо, общий посыл мне понятен. Просто для настольной ОС меня устроил вариант portable Firefox (т.е. сертификаты только для отдельных ресурсов). Как я понял, это допустимый вариант.
Возможно, для Android сработает какой-нибудь способ со вторым пространством, вот про это и хотел почитать. Конечно, при выборе между своей приватностью, безопасностью и работой отдельных приложений я выберу первое.

@AndyShade
Copy link

А есть какой-то способ проверить систему на установленные "плохие" сертификаты ?

@ilyaigpetrov
Copy link
Author

@AndyShade, можно проверить, установлены ли у вас сертификаты Минцифры, на этой странице: https://www.sberbank.com/ru/certificates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment