KarelWintersky

KarelWintersky / 2.md

Last active 20 hours ago

Like 0

KarelWintersky revised this gist 20 hours ago · d77503d

1 file changed, 74 insertions

2.md (file created)
@@ -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-доверия**, а не в том, что зарубежные УЦ провели проверку каждого сертификата НУЦ и признали его недействительным.