| @@ -0,0 +1,74 @@ | |||
| 1 | + | Коротко: **глобальные УЦ сами по себе не «не доверяют» сертификатам НУЦ**. Доверие определяют не другие центры сертификации, а браузеры, ОС и их программы доверенных корневых сертификатов. Если `Russian Trusted Root CA` нет в таком хранилище, сертификат НУЦ не образует доверенную цепочку в браузере. | |
| 2 | + | ||
| 3 | + | ## Это разные PKI | |
| 4 | + | ||
| 5 | + | Упрощённо, браузер проверяет цепочку: | |
| 6 | + | ||
| 7 | + | ```text | |
| 8 | + | сертификат сайта | |
| 9 | + | ↓ | |
| 10 | + | Russian Trusted Sub CA | |
| 11 | + | ↓ | |
| 12 | + | Russian Trusted Root CA | |
| 13 | + | ``` | |
| 14 | + | ||
| 15 | + | Последний сертификат должен находиться в доверенном хранилище браузера или ОС. Если его там нет, криптографическая подпись может быть полностью корректной, но браузер покажет: | |
| 16 | + | ||
| 17 | + | ```text | |
| 18 | + | NET::ERR_CERT_AUTHORITY_INVALID | |
| 19 | + | ``` | |
| 20 | + | ||
| 21 | + | Именно поэтому для российских сертификатов предлагается отдельно устанавливать `Russian Trusted Root CA`, а Минцифры публикует инструкции и версии браузеров с поддержкой этой цепочки. [mos](https://www.mos.ru/cert/) | |
| 22 | + | ||
| 23 | + | ## Почему корень не добавляют | |
| 24 | + | ||
| 25 | + | Для включения корневого сертификата в глобальные root-программы недостаточно заявить, что УЦ является государственным или выпускает корректные сертификаты. Обычно требуется: | |
| 26 | + | ||
| 27 | + | - подать заявку на включение; | |
| 28 | + | - раскрыть Certificate Policy и CPS; | |
| 29 | + | - доказать контроль над ключами и инфраструктурой; | |
| 30 | + | - регулярно проходить независимый аудит; | |
| 31 | + | - соблюдать требования CA/Browser Forum; | |
| 32 | + | - иметь процедуры проверки доменов, отзыва и реагирования на инциденты; | |
| 33 | + | - публиковать необходимые сведения и результаты аудитов. | |
| 34 | + | ||
| 35 | + | Например, политика Mozilla требует для TLS-УЦ аудиты WebTrust или ETSI, причём аудитор должен быть квалифицированным и независимым. Требования Chrome также предусматривают регулярные полные аудиты и публикацию подтверждающих документов в CCADB. [mozilla](https://www.mozilla.org/en-US/about/governance/policies/security-group/certs/policy/) | |
| 36 | + | ||
| 37 | + | По открытым данным нельзя уверенно утверждать, что НУЦ прошёл процедуру включения в root-программы Chrome, Mozilla, Apple и Microsoft. Точнее сказать так: **корень НУЦ не включён в стандартные глобальные хранилища доверия**, а публично известной причины в формате «Mozilla официально отказала именно по пункту X» нет. | |
| 38 | + | ||
| 39 | + | ## Роль политики и геополитики | |
| 40 | + | ||
| 41 | + | Есть и нетехнический фактор. НУЦ создавался как национальная инфраструктура, чтобы российские сайты могли продолжать работать независимо от зарубежных УЦ и санкционных ограничений. Поэтому его модель доверия ориентирована прежде всего на российские браузеры, ОС, государственные системы и локально установленные корни. | |
| 42 | + | ||
| 43 | + | Для глобальных браузеров это означает дополнительный риск: | |
| 44 | + | ||
| 45 | + | - УЦ контролируется российской государственной инфраструктурой; | |
| 46 | + | - применимое законодательство и порядок выдачи сертификатов отличаются от западной модели; | |
| 47 | + | - сертификат потенциально может быть выдан для любого домена, если CA сочтёт запрос законным; | |
| 48 | + | - непонятно, насколько глобальные операторы root-программ смогут независимо проверять работу такого УЦ и добиваться исправления нарушений. | |
| 49 | + | ||
| 50 | + | Последний пункт важен: доверие к публичному CA — это не только проверка математики сертификата, а ещё и доверие к процедурам, аудиту, независимости и возможности внешнего контроля. | |
| 51 | + | ||
| 52 | + | ## CT проблему не решает | |
| 53 | + | ||
| 54 | + | НУЦ поддерживает российскую инфраструктуру Certificate Transparency, но **CT не делает корневой сертификат автоматически доверенным во всём мире**. CT отвечает за обнаружение факта выдачи сертификатов, а root store — за решение, считать ли CA доверенным вообще. | |
| 55 | + | ||
| 56 | + | Chrome, например, применяет стандартные требования CT к публично доверенным CA; для локально установленных корней действуют отдельные правила. Поэтому можно одновременно иметь: [googlechrome.github](https://googlechrome.github.io/CertificateTransparency/enterprises.html) | |
| 57 | + | ||
| 58 | + | - технически корректный сертификат; | |
| 59 | + | - запись о нём в российском CT-журнале; | |
| 60 | + | - отсутствие доверия к нему в обычном Chrome, Firefox, Safari или стандартной ОС. | |
| 61 | + | ||
| 62 | + | ## Практический вывод | |
| 63 | + | ||
| 64 | + | Сертификат НУЦ не обязательно «плохой» или криптографически небезопасный. Он просто принадлежит **другому контуру доверия**: | |
| 65 | + | ||
| 66 | + | | Сценарий | Результат | | |
| 67 | + | |---|---| | |
| 68 | + | | Яндекс Браузер с поддержкой НУЦ | Обычно доверяется | | |
| 69 | + | | ОС или браузер с вручную установленным корнем | Доверяется локально | | |
| 70 | + | | Стандартный Chrome/Firefox/Safari без установки корня | Обычно не доверяется | | |
| 71 | + | | Серверная система, Docker или Linux без добавленного корня | Цепочка обычно не проверяется | | |
| 72 | + | | Глобальный CT-поиск | Может не показать сертификат, если российские журналы не интегрированы в глобальный сервис | | |
| 73 | + | ||
| 74 | + | Таким образом, причина прежде всего в **отсутствии глобального root-store-доверия**, а не в том, что зарубежные УЦ провели проверку каждого сертификата НУЦ и признали его недействительным. | |
KarelWintersky / 2.md
Last active 20 hours ago
KarelWintersky revised this gist 20 hours ago · d77503d
1 file changed, 74 insertions