🧭 Chromium-Gost и Ruthenium: корень Минцифры в браузере вместо системы — насколько это безопаснее

О чём заметка

Сайты банков и госпорталов на сертификатах НУЦ (Национального удостоверяющего центра Минцифры) не открываются в обычном Chrome, и вместо установки государственного корня в систему часто советуют поставить отдельный браузер, где доверие уже встроено. Здесь разобраны два таких браузера из открытых проектов — Chromium-Gost для компьютеров и Ruthenium для Android: где именно в них действует доверие к корню НУЦ, что они всё-таки меняют в системе и чем этот путь лучше и хуже установки корня в ОС. Состояние проектов — на 28 сентября 2026. Что такое НУЦ и почему его корень опасен — в обзоре раздела.

TL;DR

  • Браузер со встроенным корнем НУЦ безопаснее, чем корень в системном хранилище: доверие государственному центру получает один браузер, а не все программы устройства. Но внутри этого браузера корень работает, и держать в нём почту и личную жизнь не стоит.
  • Chromium-Gost с версии 152.0.7977.75 (6 сентября 2026) содержит Russian Trusted Root CA и доверяет ему для любых доменов, а не только для российских. Отключается флагом запуска --skip-bundled-ca-certificates.
  • Представление «Chromium-Gost никак не меняет систему» верно только без ГОСТ-шифрования. Для сайтов на ГОСТ-TLS нужен КриптоПро CSP, а его установщик для Windows по умолчанию добавляет пять ГОСТ-корней, включая «Минцифры России» и «НУЦ России», в системное хранилище доверенных корней.
  • Ruthenium (Android) ограничивает корень НУЦ зонами .ru, .рф и .su: для google.com или telegram.org он ничего не удостоверит. Но в эти зоны входят и твой банк, и mail.ru, и yandex.ru, а известная дыра — сертификаты на IP-адрес — ограничением не покрыта.
  • Сама сборка браузера — отдельный риск: браузер видит всё, что ты в нём делаешь. Chromium-Gost развивается с 2017 года при участии специалистов КриптоПро; Ruthenium — проект августа 2026 года от анонимной команды, APK ставится вручную.

Что вообще выбирается: доверие на всю систему или на один браузер

Чтобы сайт с сертификатом НУЦ открылся без красного экрана, программе нужно доверять корню Russian Trusted Root CA. Государство предлагает положить этот корень в системное хранилище сертификатов (инструкции — на Госуслугах). Системное хранилище — общий список доверенных центров сертификации, которым пользуются почти все программы устройства: большинство браузеров, почтовые клиенты, мессенджеры, механизмы обновления. Корень, положенный туда, может удостоверить любой домен для любой из этих программ, а по правилам Chromium сертификаты от вручную добавленных корней не обязаны попадать в публичные журналы Certificate Transparency, по которым ловят подделки. Почему это даёт техническую возможность незаметного перехвата HTTPS, подробно разобрано в модели угроз корня НУЦ.

Браузер со встроенным корнем устроен иначе: список доверия зашит в сам браузер, системное хранилище остаётся прежним. Остальные программы устройства корню НУЦ не доверяют, и перехват с помощью этого корня для них невозможен. Так уже работают «Яндекс Браузер» и «Атом» (как устроено встроенное доверие); Chromium-Gost и Ruthenium — открытые сборки Chromium с той же идеей.

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

Chromium-Gost: зачем он нужен и что в нём изменилось в сентябре 2026

Chromium-Gost — сборка Chromium с поддержкой российских криптографических алгоритмов (ГОСТ) в TLS. Проект существует с 2017 года под лицензией MIT, автор кода — Дмитрий Пичулин (deemru на GitHub), сборки выходят для Windows, Linux и macOS. КриптоПро на своей странице о браузере пишет, что не является его правообладателем: проект развивает сообщество на добровольной основе, и важную роль в нём играют специалисты КриптоПро.

Изначальная задача браузера — открывать сайты на ГОСТ-TLS, то есть на TLS с российскими шифрами вместо международных. Обычный Chrome таких шифров не знает и с ГОСТ-сервером не договорится даже при установленном корне (почему так и какие сайты этого требуют). Сам Chromium-Gost криптографию ГОСТ не реализует: он передаёт такие соединения внешнему криптопровайдеру через библиотеку msspi. Криптопровайдер — это системный компонент, реализующий алгоритмы шифрования; на практике это КриптоПро CSP. При запуске браузер проверяет, работает ли ГОСТ, и только при успехе предлагает ГОСТ-шифры серверу. Без криптопровайдера Chromium-Gost ведёт себя как обычный Chromium.

С версии 152.0.7977.75 (6 сентября 2026) в браузер встроены сертификаты Минцифры: корневой Russian Trusted Root CA и два промежуточных Russian Trusted Sub CA. Поводом стал запрос пользователей про online.sberbank.ru (issue #137 в репозитории проекта), после того как крупные банки в августе 2026 перешли на сертификаты НУЦ. Теперь сайты на обычных сертификатах НУЦ открываются в Chromium-Gost без установки корня в систему — так же, как в «Яндекс Браузере».

Для каких доменов Chromium-Gost доверяет корню НУЦ

Здесь главное отличие от Ruthenium и от заявленной схемы «Яндекс Браузера». В коде Chromium-Gost корень передаётся проверяющему модулю Chromium как якорь доверия «с ограничениями, записанными в самом сертификате» (trust_anchors_with_enforced_constraints). В самом Russian Trusted Root CA никаких ограничений по доменам нет: у сертификата нет расширения Name Constraints, есть только признак центра сертификации. Значит, внутри Chromium-Gost корень НУЦ может удостоверить сертификат для любого домена — российского банка, google.com, proton.me, твоей почты.

Проще говоря: в границах этого одного браузера доверие к корню НУЦ такое же широкое, как при установке в систему. Выигрыш — только в том, что оно не выходит за пределы браузера. Для роли отдельного «гос-браузера» этого достаточно; для основного браузера, где открыто всё подряд, — нет.

Если Chromium-Gost нужен только для ГОСТ-сайтов вроде личного кабинета ФНС, встроенный корень можно выключить, добавив флаг к команде запуска или в свойства ярлыка (пример из wiki проекта):

chrome --skip-bundled-ca-certificates

Кроме сертификатов, браузер при первом запуске сам устанавливает в каждый профиль четыре расширения: в коде они названы plugin v2, plugin v3, gosuslugi и gosplugin — по названиям это плагины для электронной подписи и работы с Госуслугами. Каждое отключается своим флагом (--skip-bundled-plugin, --skip-bundled-gosuslugi, --skip-bundled-gosplugin).

«Браузер не меняет систему» — только пока не нужен ГОСТ

Если ставить только сам Chromium-Gost, системное хранилище сертификатов действительно остаётся прежним. Но смысл этого браузера — ГОСТ-TLS, а для ГОСТ-TLS нужен КриптоПро CSP. Это уже системный компонент: он встраивается в криптографическую подсистему ОС, создаёт свои хранилища сертификатов и требует лицензии (для самого TLS в браузере, по словам КриптоПро, лицензия не нужна).

Главное для вопроса о доверии: в официальной инструкции по использованию КриптоПро CSP 5.0 R3 для Windows (ЖТЯИ.00101-03 92 01, стр. 5) сказано, что в установщике по умолчанию стоит флаг «Установить корневые сертификаты». Если их нет в хранилище «Доверенные корневые центры сертификации» локального компьютера, установщик добавляет корни с именами CryptoPro GOST Root CA, «Минкомсвязь России», «Минцифры России», «Головной удостоверяющий центр» и «НУЦ России». Это ГОСТ-корни, а не RSA-корень Russian Trusted Root CA, но ставятся они именно в системное хранилище.

Что это значит на практике — оценка, а не проверенный факт

Chrome, Edge и Firefox подписи по ГОСТ проверять не умеют, поэтому ГОСТ-корень в системе для них бесполезен и перехватить через него их трафик нельзя. Однако КриптоПро CSP как раз добавляет в систему поддержку ГОСТ-алгоритмов. Программы, которые проверяют сертификаты через криптографию Windows и умеют работать с ГОСТ-провайдером, после установки CSP теоретически начинают принимать цепочки от этих корней. Для каких именно программ это верно, по открытым источникам не проверено. Безопасный вывод: связку «Chromium-Gost + КриптоПро CSP» лучше ставить в отдельную виртуальную машину или отдельную учётную запись, а не в основную систему. На Linux, по сообщениям пользователей проекта, КриптоПро держит корни в собственных хранилищах, а не в системном; как именно они туда попадают, в этой заметке не проверялось.

Флаг «Установить корневые сертификаты» при установке CSP можно снять, но без нужного ГОСТ-корня в хранилище ГОСТ-сайты в Chromium-Gost не откроются: для проверки их цепочек КриптоПро использует системное хранилище (на Windows) или своё (на Linux). Так или иначе, работа с ГОСТ-TLS означает доверие к ГОСТ-корням государства на уровне системы, а не одного браузера.

Обновления

Автообновления у Chromium-Gost нет: автор объясняет это отсутствием предрелизного тестирования и нежеланием держать фоновый сервис (issue #19). Новые версии нужно скачивать со страницы релизов вручную. Релиз 152.0.7977.134 от 19 сентября 2026 собран на ветке Chrome Extended Stable — это ветка, которая переходит на новые версии реже основной, но продолжает получать исправления безопасности. На 28 сентября 2026 в Extended Stable уже вышла 152.0.7977.140, то есть Chromium-Gost отстаёт на одно обновление, а основная стабильная ветка Chrome — 155-я. По функциям браузер отстаёт заметно, а по исправлениям безопасности зависит от скорости выхода сборок и от того, как быстро ты сам их ставишь.

Ruthenium: корень только для российских зон

Ruthenium — сборка Chromium для Android, опубликованная в августе 2026 года (репозиторий создан 11 августа, анонс на Хабре — 14 августа). Задача узкая: открывать сайты банков и госслужб, которые на Android в Chrome дают ошибку NET::ERR_CERT_AUTHORITY_INVALID, не устанавливая корень в системное хранилище Android. ГОСТ-шифрования в Ruthenium нет.

Главная идея проекта — ограничение по именам. Корень Russian Trusted Root CA (тот же сертификат, что и в Chromium-Gost, SHA-256 отпечаток начинается с d26d2d02) добавлен через механизм Chromium trust_anchors_with_additional_constraints, который позволяет навесить на корень ограничения, которых нет в самом сертификате. Согласно README на 28 сентября 2026, корню разрешены только имена в зонах .ru, .xn--p1ai (это .рф в ASCII-записи) и .su. В анонсе на Хабре от 14 августа упоминались только .ru и .рф; зона .su добавлена позже.

Ограничение проверяется для каждого имени в сертификате. Сертификат, где рядом с bank.ru указан ещё и example.com, отклоняется целиком, даже если открывается именно bank.ru. Имя вида bank.ru.example.com относится к зоне .com и тоже не проходит. Остальные проверки Chromium — срок действия, подписи, соответствие имени — не отключены.

Проще говоря: если кто-то на канале попытается подсунуть Ruthenium поддельный сертификат для google.com или telegram.org, выпущенный от корня НУЦ, браузер его отвергнет. Для .ru-доменов такой защиты нет.

Что ограничение не закрывает

Во-первых, зоны .ru, .рф и .su — это почти весь российский интернет: банки, госуслуги, маркетплейсы, mail.ru, yandex.ru, личная почта на российских доменах. Для них перехват с сертификатом от корня НУЦ внутри Ruthenium технически возможен ровно так же, как при установке корня в систему. Ограничение защищает зарубежные сервисы, но не российские.

Во-вторых, авторы сами перечисляют в README известную дыру: ограничение задано только для доменных имён и не распространяется на IP-адреса. Сертификат, выписанный на голый IP-адрес, корень НУЦ в Ruthenium удостоверит для любого IP. Сайты открывают по имени, а сертификаты на IP встречаются редко, поэтому авторы оценивают риск как низкий и описывают способ исправления, но на 28 сентября 2026 он не применён.

Кто собирает и как обновлять

Ruthenium отслеживает стабильную ветку Chrome для Android: релиз от 24 сентября 2026 основан на Chromium 155.0.8059.16 — эта же версия была у Chrome Stable для Android и на 28 сентября 2026. Сборки выходят для arm64-v8a, armeabi-v7a и x86_64 отдельными APK с контрольными суммами и сертификатом подписи. Встроенного автообновления нет: новую версию нужно скачать с GitHub и поставить поверх.

Команда проекта анонимна. По README, сборка идёт во внутреннем репозитории на закрытом GitLab CI, в публичный GitHub выкладывается очищенный снимок исходников, а публикация выполняется через Tor. Метка релиза — хэш входных данных сборки (версии Chromium, патча, настроек и сертификата подписи): по ней можно проверить, что релиз соответствует опубликованным файлам. Но это не проверенная независимая воспроизводимая сборка — нет гарантии, что APK собран именно из этих исходников, пока его кто-то не пересобрал и не сравнил побайтно.

Сама сборка — отдельный уровень доверия

У браузера есть доступ ко всему, что в нём происходит: паролям, куки, содержимому страниц. Поэтому при выборе неофициальной сборки Chromium доверие нужно не только корню НУЦ, но и тому, кто собрал бинарник. Любая сборка может содержать изменения, которых нет в опубликованных исходниках, и проверить это обычный пользователь не в состоянии.

У двух проектов этот риск разный. Chromium-Gost работает девять лет, у него около 600 звёзд на GitHub, есть связь с КриптоПро и форум поддержки на сайте компании — есть кого спросить и с кого спросить. Ruthenium появился в августе 2026 года, его команда намеренно анонимна, а APK ставится в обход магазина приложений. Анонимность может объясняться заботой о приватности авторов, но для пользователя это значит, что спросить за сборку не с кого. Наличие скрытых изменений ни в одном из проектов не доказано и не опровергнуто — речь о том, насколько обоснованно можно им доверять.

Возможность ≠ доказанное злоупотребление

На сентябрь 2026 публичных доказательств перехвата трафика через корень НУЦ нет, как нет и доказательств закладок в Chromium-Gost или Ruthenium. Все описанные риски — структурные: они показывают, что технически становится возможным, а не что уже происходит.

Сравнение вариантов

ВариантКому доверяет корень НУЦДля каких доменовЧто меняется в системеОбновления
Корень в системном хранилищеВсе программы без своего хранилищаЛюбыеКорень в хранилище ОС—
«Яндекс Браузер», «Атом»Только этот браузерПо заявлению Яндекса — список доменов с сертификатами НУЦ (подробнее)НичегоАвтоматически
Chromium-Gost без КриптоПро CSPТолько этот браузерЛюбыеНичегоВручную
Chromium-Gost + КриптоПро CSP (ГОСТ-TLS)Браузер; ГОСТ-корни — системеЛюбыеCSP и 5 ГОСТ-корней в хранилище Windows по умолчаниюВручную
Ruthenium (Android)Только этот браузер.ru, .рф, .su (кроме дыры с IP-адресами)НичегоВручную

Как пользоваться, если такой браузер нужен

  • Проверь, не стоит ли корень НУЦ уже в системе, и удали его, если ставил раньше, — по инструкции проверки и удаления.
  • Используй выбранный браузер только для сайтов, которым нужен сертификат НУЦ, а основной браузер держи без корня: это и есть изоляция доверия.
  • Не входи в «гос-браузере» в личную почту, соцсети и зарубежные сервисы. В Chromium-Gost это особенно важно: корень там действует для любых доменов.
  • Если Chromium-Gost нужен только для ГОСТ-сайтов, запускай его с --skip-bundled-ca-certificates.
  • КриптоПро CSP ставь в отдельную виртуальную машину или отдельную учётную запись, а не в основную систему.
  • Для Ruthenium скачивай APK только со страницы релизов проекта и сверяй SHA-256 с опубликованным файлом .sha256; обновления проверяй сам.

📚 См. также


🤖 Эти статьи открыты — можно обучать на них ИИ

При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование доступно в Forgejo: исходник этой заметки · скачать весь репозиторий одним zip-архивом.