Здравствуйте, я провожу небольшое исследование цензуры РуНета - от блокировок через ТСПУ до контроля инфраструктуры. Один из интересующих меня вопросов - сертификат TLS от Минцифры (Russian Trusted Root CA). Скажите, есть ли известные вам приложения или программы, в которых были бы встроены сертификаты TLS Минцифры? Если такие есть, может ли установка такого приложения добавить российский TLS в корневые сертификаты девайса? Заранее спасибо!
Не думаю, что Андроид даст просто так установить корневой сертификат из приложения.
в крипто-про помоему есть возможность при установке поставить галочку “установить сертификаты минцифры”
но скорее всего там просто скачивается отдельно
аналогичное поведение есть у бухгалтерских программ, которые необходимы для работы с ресурсами
(сбис плагин, контур плагин итд) но там при диагностике рабочего места предлагается установить
мне лень проверять, но что-то такое вспоминается
но чтобы сертификат устанавливался автоматически без каких-либо действий от пользователя - такого не помню.
В российских линуксах (альт, роса) можно установить сертификат минцифры из репозитория, добавляется в систему.
Спасибо! но установка сертификата необязательна для нормального функционирования системы?
Необязательна, конечно. Другое дело, может какие-нибудь зависимости их подтягивают, хотя врядли. Ещё какой-то Хромиум ГОСТ обсуждают.
У android есть два хранилища сертификатов: Системное хранилище и Пользовательское хранилище.
Системное хранилище, начиная с android 14 такое сделать невозможно, а даже имея root-права на устойстве такое будет провернуть крайне проблематично, потому что они поставляються Google в пакете APEX, изменить и применить изменения в таком роде пакетов можно только имея возможноть подписывать пакеты/приложения от имени Google, что невозможно.
Пользовательское хранилище: А вот сюда можно такое установить, НО это требует явного действия пользователя через настройки безопасности устройства, и система показывает предупреждения. Незаметно - нет нельзя. А так же начиная с Android 7.0 (Nougat), приложения, ориентированныена API 24 и выше, по умолчанию не доверяют сертификатам из пользовательского хранилища. Чтобы приложение доверяло пользовательским сертификатам, разработчик должен явно разрешить это в конфигурации сетевой безопасности приложения. Большинство современных приложений естественно не делают этого из соображений безопасности. Поэтому если Янхер захочет Вам закатать сертификат от мин цифры и попробовать его использовать в других приложениях, будь то браузеры (firefox, chrome) или например приложения с пользовательским контентом (Google Drive, Dropbox и т.д), то у него такой трюк не прокатит.
На iOS все чуть проще: сертификат можно установить через профиль конфигурации, но пользователю нужно перерыть настройки и несколько раз согласиться на установку стороннего сертификата
На Linux: такие сертификаты можно установить в /usr/local/share/ca-certificates/ или /etc/ssl/certs/, но нужно это делать через root.
На Windows аналагично, нужно иметь права администратора. Но это такая себе защита. Будете вы Янхер браузер устанавливать и он запросит права администратора для установки, а так же незаметно загрузит Вам серты, упс.
На MacOS примено как с windows, если у приложения есть root права, то оно может установить сертификат, но в связки ключей прекрасно видно сертификаты которые были установены, удалить не проблема.
А так же не забываем про Certificate pinning, когда приложение использует исключительно свои сертификаты, и ему без разницы какие сертификаты установлены на системе, хоть только единственный о Минцифры, он с ним работать не захочет, но и это имеет обратную силу, тот же Янхер браузер может запинить сертификат от Минцифры и с другими не рабоать
Потом ещё нужно выполнить, для Debian:
sudo update-ca-certificates
для Fedora:
sudo update-ca-trust
В post-install скриптах deb пакета яндекс браузер может сделать что угодно. Часто браузеры добавляют свою репу и прописывают обновления в cron. Так что лучше ставить просто распаковкой папки в /opt (можно куда угодно, в общем-то, но лучше чтобы не было прав на запись). Или перепаковкой deb, очищая лишнее, но это несколько нетривиально.
В любом случае, post-install скрипты совершенно прозрачны, в отличии от exe установщиков.
Если речь идет про андроид: без root такое в принципе невозможно, даже при большом желании. можно установить как пользовательский сертификат (только с подтверждением пользователя, просто так — нет), но очень мало какие приложения будут его учитывать. разрешение на использование пользовательских сертификатов должно быть прописано в манифесте приложения. из всех приложений знаю что такое прописано только у ВК и у браузеров.
Ну а на винде/линуксе возможно всё и без ведома пользоватепя.