Браузер Chromium-Gost — веб-браузер с открытым исходным кодом на основе Chromium с поддержкой криптографических алгоритмов ГОСТ (в соответствии с методическими рекомендациями ТК 26) при установке защищённых соединений через интерфейс msspi.
Основной задачей проекта является техническая демонстрация возможности встраивания ГОСТ в браузер с открытым исходным кодом Chromium. Данное технологическое решение может помочь разработчикам адаптировать браузер при встраивании поддержки ГОСТ.
Компания КриптоПро не является правообладателем браузера Chromium-Gost и не отвечает за его функционирование и поддержку на регулярной основе, продукт развивает и поддерживает сообщество разработчиков на безвозмездной и добровольной основе, среди которых важную роль составляют специалисты КриптоПро.
Скачать
Браузер Chromium-Gost доступен для Windows, Linux, MacOS, Android.
Ссылки для скачивания актуальных сборок и основная ветка разработки:
https://github.com/deemru/chromium-gost/releases/latest
Версия браузера Chromium-Gost для Windows XP:
https://github.com/deemru/chromium-gost/releases/tag/49.0.2623.112
Обсуждение и отзывы по проекту:
https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=9991
Требования к системе
Для работы с алгоритмами ГОСТ требуется наличие в системе криптопровайдера, поддерживающего работу с российской криптографией.
В качестве криптопровайдера мы рекомендуем использовать КриптоПро CSP. Для работы с защищёнными соединениями не требуется покупка лицензии КриптоПро CSP, кроме того КриптоПро CSP имеет
Проверка работоспособности
Если соответствующий криптопровайдер установлен в системе, то проверить работоспособность браузера Chromium-Gost, можно перейдя по ссылке на сервис для разработчиков https://gost.cryptopro.ru
Сертификат сайта должен выглядеть следующим образом, что подтверждает установку защищённого соединения по алгоритмам ГОСТ:
Альтернативный вариант проверки — через панель разработчика:
- Находясь в браузере, нажмите F12, откроется панель разработчика браузера
- Перейдите на вкладку Security
- Находясь на вкладке Security, обновите страницу (1 — на картинке ниже)
- Перейдите на появившуюся закладку https://gost.cryptopro.ru/ (2 — на картинке ниже)
- Проверьте данные соединения и сертификата (3 — на картинке ниже)
Если у вас показывается другой сертификат (примеры ниже), то попробуйте переустановить криптопровайдер и перезапустить браузер Chromium-Gost.
Или в альтернативном варианте проверки — если соединение не по ГОСТ:
Если у вас по какой-то причине не установлены корневые сертификаты (перечёркнут https, как на картинке ниже), мы рекомендуем переустановить криптопровайдер, воспользовавшись универсальным установщиком КриптоПро CSP с автоматической установкой необходимых корневых сертификатов.
Принцип работы
Оригинальная реализация Chromium при установке защищённых соединений использует библиотеку BoringSSL, которая не поддерживает криптографические алгоритмы ГОСТ. Для обеспечения работы ГОСТ-алгоритмов используется интерфейс msspi, который может поддерживать соответствующие алгоритмы, используя установленный в систему криптопровайдер.
При запуске браузера определяется наличие технической возможности работы криптографических алгоритмов ГОСТ через интерфейс msspi. В случае успеха при установке очередного защищённого соединения помимо оригинальных идентификаторов алгоритмов в пакете будут отправлены идентификаторы алгоритмов ГОСТ.
Если сайт поддерживает работу по ГОСТ, он может отреагировать на наличие этих идентификаторов предложением работы на ГОСТ-алгоритмах. Тогда защищённое соединение в рамках BoringSSL установлено не будет, так как BoringSSL не поддерживает ГОСТ, но поступит сигнал о соответствующей ошибке.
В случае возникновения подобного сигнала для данного сайта происходит переключение в режим работы интерфейса msspi. Если защищённое соединение успешно устанавливается через интерфейс msspi, сайт отмечается поддерживающим алгоритмы ГОСТ и все последующие с ним соединения будут использовать интерфейс msspi.
Для пользователя данный алгоритм работы остаётся прозрачен, так как Chromium автоматически устанавливает повторное соединение через интерфейс msspi.