mirror of
https://github.com/bpmbpm/doc.git
synced 2026-04-30 12:30:52 +00:00
847 lines
76 KiB
Markdown
847 lines
76 KiB
Markdown
## https://chat.deepseek.com/
|
||
CRL
|
||
- https://uc-em.ru/kornevye-sertifikaty/
|
||
- https://support.kontur.ru/ca/38808-kornevye_sertifikaty_spisok_otozvannyx
|
||
- http://crl.roskazna.ru/
|
||
- https://cryptoarm.ru/documentation/oshibka-postroenia-puti-sertifikacii
|
||
- https://www.cryptopro.ru/forum2/default.aspx?g=posts&t=23143
|
||
## 1 вопрос
|
||
Укажи подробный алгоритм подписания и проверки электронной подписи на разных узлах.
|
||
Операция 1. Подписание документа открепленной квалифицированной (УКЭП) подписью CADES-XL. На компьютере подписанта установлены: корневой сертификат Минцифры России в хранилище «Доверенные корневые центры сертификации» и промежуточный сертификат аккредитованного Минцифры России УЦ «Контур» в хранилище «Промежуточные центры сертификации». Требуется ли при подписании скачивать файл tsl.xml Trust Service Status List (по адресу https://e-trust.gosuslugi.ru/app/scc/portal/api/v1/portal/ca/getxml)?
|
||
Подписание проводится программой КриптоПро 5.
|
||
Если файл tsl.xml требуется, то кто (программа КриптоПро 5, сервис OCSP или еще кто-то) и как его запрашивает? Считается, что CADES-XL (CAdES-X Type 1) реализуется сервисом OCSP (не CRL). Сертификат подписанта (УКЭП) выдан УЦ «Контур».
|
||
Операция 2. На компьютере проверки подписи установлен корневой сертификат Минцифры России в хранилище «Доверенные корневые центры сертификации». Требуется ли для проверки подписи установка сертификата УЦ «Контур»?
|
||
Требуется ли при проверки скачивать файл tsl.xml? Что в подписи CADES-XL содержится относительно сертификатов Минцифры России и аккредитованного УЦ «Контур». Что-то из tsl.xml (АккредитованныеУдостоверяющиеЦентры) записывается в открепленный файл подписи CADES-XL? Что в ответе OCSP содержится относительно сертификатов Минцифры России и аккредитованного УЦ «Контур»?
|
||
Может ли информация, содержащая в подписи противоречить tsl.xml? Например, по данным из подписи УЦ «Контур» имел действующий сертификат на момент подписания, а по данным из tsl.xml – отозванный, т.е. <ПериодДействияДо> содержит дату ранее подписания документа.
|
||
|
||
Извините, мне не удалось получить содержимое файла TSL с указанного вами адреса, так как сервер вернул ошибку 403 (доступ запрещён). Это означает, что я не могу проанализировать актуальное содержимое файла `tsl.xml` для предоставления точных деталей о сертификатах или статусах УЦ «Контур».
|
||
|
||
Однако, основываясь на ваших вопросах, я могу объяснить общие принципы работы, которые остаются верными.
|
||
|
||
### 📝 Операция 1: Подписание документа (CADES-XL)
|
||
|
||
**Роль файла TSL.xml:**
|
||
* **Требуется ли при подписании?** **Да, как правило, требуется.** Основная цель запроса списка TSL (Trust Service Status List) во время создания расширенной подписи CAdES-XL — включить в подпись **актуальные на момент подписания доказательства валидности** сертификата подписанта (статус «не отозван»).
|
||
* **Кто и как его запрашивает?** Запрос выполняет **программа КриптоПро CSP 5** (или плагин КриптоПро ЭЦП Browser Plug-in) в момент создания подписи. Алгоритм обычно такой:
|
||
1. КриптоПро обращается к **сервису OCSP**, указанному в сертификате подписанта (или заданному в настройках), для получения ответа о статусе.
|
||
2. Для формирования полного ответа и доказательств (proof-of-existence) сервису OCSP или непосредственно КриптоПро может потребоваться **свежий список TSL**, чтобы проверить аккредитацию и доверие к Удостоверяющему Центру (УЦ «Контур»), выпустившему сертификат.
|
||
3. **Ответ OCSP и ссылка на TSL** (или его штамп времени) упаковываются в подпись формата CAdES-XL.
|
||
|
||
**Ваши установленные сертификаты:** Наличие корневого сертификата Минцифры и промежуточного УЦ «Контур» на вашем компьютере необходимо для криптографической операции подписания и построения цепочки доверия. Однако для проверки аккредитации УЦ на момент подписания все равно требуется свежий TSL.
|
||
|
||
### 🔍 Операция 2: Проверка подписи
|
||
|
||
**Роль файла TSL.xml:**
|
||
* **Требуется ли установка сертификата УЦ «Контур»?** Нет, отдельная установка не требуется. Для проверки цепочки доверия достаточно корневого сертификата Минцифры. Промежуточные сертификаты (УЦ «Контур») **должны быть уже вложены в саму подпись** формата CAdES-XL, что является стандартной практикой.
|
||
* **Требуется ли при проверке скачивать TSL.xml?** **Да, для полной проверки.** Программа проверки (КриптоПро или иное ПО) должна свериться с актуальным TSL, чтобы удостовериться, что:
|
||
1. УЦ «Контур» был аккредитован на дату выдачи сертификата подписанта.
|
||
2. Корневой сертификат Минцифры России остаётся действующим и доверенным.
|
||
* **Что содержится в подписи CADES-XL относительно сертификатов?** В подписи содержится:
|
||
* **Цепочка сертификатов:** Как минимум, сертификат подписанта и промежуточный сертификат УЦ «Контур» (возможно, и другие).
|
||
* **Ответ OCSP:** Содержит **штамп времени** и подтверждение, что на момент этой метки времени сертификат подписанта не был отозван. В ответе OCSP также содержится информация о цепочке доверия, включая статус промежуточного и корневого УЦ на тот момент (может ссылаться на TSL).
|
||
* **Ссылки на TSL:** Подпись может содержать прямые ссылки (URL, хеш) на использованный при создании файл TSL, но **не сам полный список TSL**.
|
||
* **Может ли информация в подписи противоречить TSL?** **Да, и это ключевой момент.** Подпись CAdES-XL фиксирует свидетельства валидности **на момент ее создания**. Файл TSL — это **актуальное состояние** на момент проверки. Возможен именно ваш пример:
|
||
* **В подписи (ответ OCSP):** «Сертификат УЦ «Контур» действовал на 01.10.2023».
|
||
* **В свежем TSL (на дату проверки):** В `<ПериодДействияДо>` для УЦ «Контур» указана дата **01.11.2023** (т.е., он прекратил действие *после* подписания, но *до* проверки).
|
||
* **Итог проверки:** Подпись остается **технически корректной и юридически значимой**, так как была создана в период, когда все сертификаты были действительны. Это преимущество CAdES-XL с метками времени. Однако, если в TSL указано, что сертификат УЦ был **отозван (revoked) до даты подписания**, а ответ OCSP в подписи говорит об обратном — это признак критической проблемы (например, скомпрометированный OCSP-сервер).
|
||
|
||
### 💡 Что делать дальше?
|
||
|
||
Поскольку прямой доступ к TSL через URL ограничен, рекомендую:
|
||
1. Проверить настройки **КриптоПро CSP** (оснастка «Параметры TSP/OCSP»), возможно, там уже указан альтернативный источник списков доверия.
|
||
2. Посетить **официальный портал Госуслуг** в разделе, посвящённом электронной подписи и аккредитованным УЦ — там часто можно скачать TSL вручную.
|
||
3. Обратиться в **техническую поддержку УЦ «Контур»** — они обязаны предоставлять своим клиентам корректные настройки и пути для получения TSL.
|
||
4. Использовать **средства КриптоПро** (например, «КриптоПро TSP Client» или «КриптоПро OCSP Client») для диагностики запросов статусов.
|
||
5. При проверке подписей в корпоративной среде уточнить, не развёрнут ли у вас **локальный сервис кэширования TSL/OCSP** (например, КриптоПро TSP), к которому следует обращаться.
|
||
|
||
## 2 Файл tsl.xml прилагаю. Уточни свой ответ при необходимости.
|
||
|
||
Разберем всё по порядку, опираясь на предоставленный TSL.
|
||
|
||
### Краткие ответы на ваши вопросы:
|
||
|
||
1. **"Разве сервис OCSP не даст ответ?"**
|
||
**Ответ:** **Да, даст, но на другой вопрос.** OCSP отвечает на вопрос: **"Не отозван ли данный конкретный сертификат на текущий момент?"**. Он **НЕ** проверяет аккредитацию УЦ на историческую дату выдачи сертификата и не управляет доверием к корневым сертификатам.
|
||
|
||
2. **"Разве это не аналог листа CRL, но для аккредитованных УЦ?"**
|
||
**Ответ:** **И да, и нет. Это более широкое понятие.**
|
||
* **Как CRL:** В TSL, внутри данных каждого ключа УЦ, есть секция `<АдресаСписковОтзыва>`. Это прямые ссылки на CRL этого конкретного УЦ, которые используются программами для проверки отзыва.
|
||
* **Гораздо больше, чем CRL:** TSL — это **полный паспорт аккредитованного УЦ**. Он содержит не только точки распространения CRL, но и юридические данные УЦ, его программно-аппаратные комплексы (ПАК), действующие и исторические сертификаты ключей проверки электронной подписи (СКПЭП) самого УЦ, его статус аккредитации (например, "Приостановлена" для "Ижинформпроект") и историю смены этого статуса. CRL же — это просто список серийных номеров отозванных сертификатов.
|
||
|
||
3. **"В tsl.xml разве есть сведения о сертификате самого Минцифры?"**
|
||
**Ответ:** **Нет, напрямую — нет.** TSL содержит информацию об **аккредитованных УЦ**, но не о корневом УЦ (Минцифры). Однако корневой сертификат Минцифры является **предпосылкой доверия** ко всему TSL и всем сертификатам в нем. Программа проверки (КриптоПро) должна иметь предустановленный и доверенный корневой сертификат Минцифры, чтобы проверить подпись на самом файле TSL. Только после этого она может доверять данным внутри TSL.
|
||
|
||
4. **"Может ли информация в подписи противоречить TSL?"**
|
||
**Ответ:** **Да, может, и это критично.** Именно для этого и нужна проверка по TSL.
|
||
* **Пример 1:** Сертификат выдан УЦ "Ижинформпроект" 05.12.2023. Программа смотрит в TSL и видит, что статус аккредитации этого УЦ — `Приостановлена` с `2022-07-04`. Значит, на дату выдачи сертификата УЦ **не имел действующей аккредитации**. Это прямое противоречие, и подпись должна быть признана невалидной (с соответствующей детализацией ошибки).
|
||
* **Пример 2:** В подписи указан УЦ, которого нет в актуальном TSL вообще. Значит, он не аккредитован, и доверять его сертификатам нельзя.
|
||
|
||
### Уточненный ответ на ваш главный тезис:
|
||
|
||
> "Программа проверки (КриптоПро или иное ПО) должна свериться с актуальным TSL, чтобы удостовериться, что: УЦ был аккредитован на дату выдачи сертификата подписанта. Корневой сертификат Минцифры России остаётся действующим и доверенным."
|
||
|
||
**Это абсолютно верно.** Процесс проверки электронной подписи в РФ (по ГОСТу) включает несколько независимых шагов, и TSL — центральный из них:
|
||
|
||
1. **Проверка цепочки сертификатов:** С помощью криптографии проверяется, что сертификат пользователя выдан УЦ, сертификат УЦ выдан корневым УЦ (Минцифры) и т.д.
|
||
2. **Проверка срока действия:** Все сертификаты в цепочке должны быть действующими на дату подписания.
|
||
3. **Проверка на отзыв (CRL/OCSP):** Ни один из сертификатов в цепочке не должен быть отозван. Для этого используются ссылки из TSL или OCSP.
|
||
4. **Проверка аккредитации УЦ по TSL (Ключевой этап для квалифицированной подписи):**
|
||
* Находится сертификат УЦ, выпустившего сертификат подписанта.
|
||
* В актуальном TSL ищется этот УЦ и его **СКПЭП** (по отпечатку).
|
||
* Проверяется, что на **дату выдачи сертификата подписанта** УЦ имел статус аккредитации `Действует`.
|
||
* Проверяется, что использованный в документе СКПЭП УЦ соответствует данным в TSL (правильный отпечаток, срок действия).
|
||
5. **Проверка доверия к корню:** Доверие к корневому сертификату Минцифры — это не проверка по TSL, а **начальное условие**. Он должен быть предустановлен в хранилище доверенных корневых сертификатов. Его статус (действует/отозван) проверяется через свои механизмы (собственные CRL Минцифры).
|
||
|
||
### Ситуация с "скомпрометированным OCSP-сервером":
|
||
|
||
Вы правы, проблема может быть не в компрометации, а в **расхождении данных**.
|
||
|
||
* **OCSP-сервер УЦ** (`http://ocsp.infotrust.ru`) отвечает только на вопрос об отзыве сертификатов, выпущенных этим УЦ. Его ответ основан на внутренней базе отзывов УЦ.
|
||
* **TSL Минцифры** — это официальный государственный реестр статусов аккредитации. Он формируется Минцифры на основе представленных УЦ данных и решений об аккредитации/приостановке.
|
||
* **Возможный конфликт:** OCSP-сервер УЦ может отвечать, что сертификат **не отозван** (технически верно), но при этом по данным TSL Минцифры **УЦ уже приостановлен**. Для проверки квалифицированной подписи этого недостаточно. Программа **обязана** проверить статус в TSL и, обнаружив приостановку, должна отвергнуть подпись, даже если OCSP говорит "не отозван".
|
||
|
||
**Вывод:** TSL — это фундаментальный компонент инфраструктуры доверия для квалифицированной ЭП в РФ. Он не заменяет, а **дополняет** OCSP/CRL, добавляя критически важный юридический контекст — аккредитацию УЦ. Проверка по TSL обязательна для установления валидности квалифицированной подписи с юридической силой.
|
||
|
||
### 3
|
||
Рассмотрим ситуацию. Проводим проверку подписи CADES-XL. В ответе OCSP ведь содержится подтверждение, что на момент подписания сертификат УКЭП как подписанта, так и УЦ «Контур» были действующими? Зачем тогда нужен файл tsl.xml в момент проверки?
|
||
|
||
Отличный вопрос! Вы попали в самую суть различия между **технической проверкой цепочки сертификатов** и **юридической проверкой квалифицированной подписи**.
|
||
|
||
Давайте разберём, что даёт CADES-XL с OCSP-ответами и почему этого **недостаточно** без TSL.
|
||
|
||
### Что дают OCSP-ответы в CADES-XL?
|
||
|
||
1. **Доказательство неотозванности на момент подписания:** OCSP-ответы — это криптографически подписанные свидетельства от УЦ или его OCSP-сервера о том, что **на конкретный момент времени** (timestamp) сертификат подписанта **и** сертификат УЦ **не были отозваны**. Это "моментальный снимок" статуса отзыва.
|
||
|
||
2. **Проблема, которую решает CADES-XL:** Без этого "снимка" при проверке подписи спустя время пришлось бы полагаться на текущие CRL/OCSP, которые могут показать, что сертификат **сейчас отозван**, даже если на момент подписания он был действителен. OCSP-ответ внутри подписи фиксирует этот факт.
|
||
|
||
### Чего **НЕ** дают OCSP-ответы и зачем **критически** нужен TSL:
|
||
|
||
OCSP **не содержит и не может содержать** информацию об **аккредитации УЦ**. Это принципиально разные понятия.
|
||
|
||
**Представьте аналогию:**
|
||
* **OCSP** — это как звонок в ГИБДД с вопросом: "Не лишён ли водитель с правами серии ХХХ №YYYY своих прав **на текущий момент**?".
|
||
* **TSL** — это как официальный реестр аккредитованных автошкол, имеющих **право** выдавать водительские удостоверения. И в этом реестре есть история: "Автошкола 'Контур' была аккредитована с 2010 по 2025 год".
|
||
|
||
**Ситуация, которую может выявить только TSL:**
|
||
1. УЦ "Контур" выдал вам сертификат **01 декабря 2024 года**.
|
||
2. OCSP-ответ внутри CADES-XL подтверждает, что на момент подписания (допустим, **05 декабря 2024**) ни ваш сертификат, ни сертификат УЦ "Контур" не были отозваны. **Технически цепочка идеальна.**
|
||
3. **НО!** Вы проверяете подпись **в 2025 году** и загружаете актуальный TSL. В нём видите, что аккредитация УЦ "Контур" была **приостановлена** **15 ноября 2024 года**.
|
||
|
||
**ВОПРОС:** Может ли УЦ, у которого **приостановлена аккредитация**, выдавать новые **действительные квалифицированные сертификаты**?
|
||
|
||
**ОТВЕТ по закону (ФЗ-63): НЕТ, не может.**
|
||
|
||
Если УЦ потерял аккредитацию (или она приостановлена) на дату выдачи сертификата, то выданный им сертификат **не является квалифицированным**, даже если он технически корректен, не истёк и не отозван.
|
||
|
||
### Что именно проверяет программа, сверяясь с TSL?
|
||
|
||
Для квалифицированной подписи программа **должна** проверить:
|
||
|
||
1. **Аккредитация на дату выдачи:** Был ли УЦ "Контур" аккредитован **на дату выдачи вашего сертификата** (01.12.2024)? Смотрит в историю статусов в TSL.
|
||
2. **Соответствие сертификата УЦ:** Тот ли это самый УЦ "Контур"? Сверяет `Отпечаток` и данные сертификата УЦ из цепочки подписи с теми `ДанныеСертификата`, что перечислены в TSL для этого УЦ.
|
||
3. **Действительность СКПЭП УЦ:** Был ли сертификат ключа проверки ЭП (СКПЭП) самого УЦ "Контур" действующим (не просроченным) на дату выдачи вашего сертификата? Смотрит на `ПериодДействияС/До` внутри TSL.
|
||
|
||
### Итог: Роли OCSP и TSL принципиально разные
|
||
|
||
* **OCSP (в CADES-XL):** Фиксирует **технический факт неотозванности** на момент подписания. Это защита от последующего отзыва.
|
||
* **TSL:** Определяет **юридическое право** УЦ выдавать квалифицированные сертификаты. Это проверка **легитимности источника** вашего сертификата с точки зрения регулятора (Минцифры).
|
||
|
||
**Без актуального TSL вы не можете установить, является ли электронная подпись квалифицированной**, то есть имеющей **полную юридическую силу**, равную собственноручной подписи. Вы можете лишь установить, что она технически корректна и была создана действующим на тот момент закрытым ключом. Для многих юридически значимых действий (сдача отчётности, работа с госорганами, участие в электронных торгах) этого недостаточно — требуется именно квалифицированная подпись, валидность которой **невозможно** подтвердить без TSL.
|
||
|
||
**Ваш пример "скомпрометированного OCSP-сервера" теперь можно переформулировать:** OCSP-сервер УЦ "Контур" мог бы отвечать, что сертификаты не отозваны, но если регулятор (Минцифры) исключил "Контур" из TSL за нарушение, то его ответы теряют юридическую значимость для квалифицированной подписи. **TSL — это единственный официальный источник истины об аккредитации, утверждённый государством.**
|
||
|
||
### 3.1 Рассуждения
|
||
|
||
Вопрос затрагивает фундаментальные различия между технической проверкой цепочки сертификатов (на которую отвечает OCSP) и юридической проверкой статуса аккредитации УЦ (на которую отвечает TSL).
|
||
|
||
Давайте разберем по шагам, что дает CADES-XL с OCSP-ответами и зачем все равно нужен TSL.
|
||
|
||
Что дает OCSP в составе CADES-XL?
|
||
OCSP-ответы, приложенные в формате CADES-XL (или полученные онлайн), содержат мгновенные снимки статуса сертификатов на момент подписания.
|
||
|
||
Для сертификата подписанта: OCSP-ответ подтверждает, что на момент подписания (или на момент запроса) сертификат подписанта не был отозван.
|
||
|
||
Для сертификата УЦ (промежуточного): OCSP-ответ подтверждает, что на тот же момент сертификат УЦ, который выдал сертификат подписанта, также не был отозван.
|
||
|
||
Важно: OCSP подтверждает только отсутствие отзыва (revocation status). Он не подтверждает ничего другого.
|
||
|
||
Что НЕ может подтвердить OCSP?
|
||
OCSP не может подтвердить следующие критически важные для квалифицированной электронной подписи (КЭП) аспекты:
|
||
|
||
Аккредитация УЦ на дату выдачи сертификата подписанта.
|
||
|
||
Аккредитация — это право УЦ выдавать квалифицированные сертификаты. Это право может быть выдано, приостановлено или прекращено регулятором (Минцифры России).
|
||
|
||
Даже если сертификат УЦ технически действителен (не истек срок, не отозван), УЦ мог потерять аккредитацию. В этом случае выданные им сертификаты теряют юридическую силу как квалифицированные.
|
||
|
||
OCSP не содержит информации об аккредитации.
|
||
|
||
Соответствие сертификата УЦ данным, опубликованным регулятором.
|
||
|
||
TSL содержит точные данные о сертификатах ключей проверки электронной подписи (СКПЭП) аккредитованных УЦ: их отпечатки, сроки действия, точки распространения CRL и т.д.
|
||
|
||
УЦ мог выдать себе новый сертификат (например, после компрометации ключа), но если этот новый сертификат не был вовремя опубликован в TSL, он не считается доверенным для КЭП.
|
||
|
||
OCSP отвечает за статус отзыва того сертификата, который представлен в цепочке, но не проверяет, является ли этот сертификат тем самым, который был заявлен УЦ регулятору и внесен в TSL.
|
||
|
||
Действительность корневого сертификата Минцифры.
|
||
|
||
Корневой сертификат Минцифры — источник доверия для всей инфраструктуры. Его статус (действителен/отозван) также проверяется через CRL/OCSP, но это отдельная процедура, не связанная с OCSP-ответами для конкретного УЦ.
|
||
|
||
Зачем нужен TSL в момент проверки?
|
||
TSL — это официальный реестр аккредитованных УЦ, выпускаемый Минцифры. При проверке КЭП необходимо:
|
||
|
||
Убедиться, что УЦ, выдавший сертификат, был аккредитован на дату выдачи сертификата подписанта.
|
||
|
||
Для этого в TSL ищется запись об УЦ и проверяется история статусов аккредитации. Если на дату выдачи сертификата подписанта статус был "Действует", то с точки зрения аккредитации всё в порядке. Если же статус был "Приостановлен" или "Прекращен", то сертификат не является квалифицированным, несмотря на технически корректную цепочку и отсутствие отзывов.
|
||
|
||
Убедиться, что сертификат УЦ, использованный в цепочке, соответствует тому, что опубликован в TSL.
|
||
|
||
В TSL для каждого УЦ указаны действующие СКПЭП (их отпечатки, сроки действия). Необходимо сверить, что сертификат УЦ из цепочки подписи совпадает с одним из опубликованных в TSL (по отпечатку) и что на момент выдачи сертификата подписанта этот СКПЭП был действителен.
|
||
|
||
Получить актуальные точки распространения CRL и OCSP для проверки отзыва.
|
||
|
||
Хотя в CADES-XL уже могут быть вложены OCSP-ответы, валидатор всё равно может свериться с TSL, чтобы проверить, что используемые точки распространения CRL/OCSP являются теми, которые заявлены УЦ и разрешены регулятором.
|
||
|
||
Пример из вашего TSL
|
||
Возьмем УЦ "Ижинформпроект". В TSL видно:
|
||
```
|
||
text
|
||
<СтатусАккредитации>
|
||
<Статус>Приостановлена</Статус>
|
||
<ДействуетС>2022-07-04T21:00:00</ДействуетС>
|
||
</СтатусАккредитации>
|
||
```
|
||
Это означает, что с 2022-07-04 УЦ не имеет права выдавать новые квалифицированные сертификаты, а выданные ранее могут потерять юридическую силу (в зависимости от политик).
|
||
|
||
Предположим, у нас есть подпись с сертификатом, выданным этим УЦ 01.08.2022. OCSP-ответы показывают, что на момент подписания ни сертификат подписанта, ни сертификат УЦ не были отозваны. Но проверка по TSL покажет, что на дату выдачи (01.08.2022) УЦ уже был в статусе "Приостановлена" (с 04.07.2022). Следовательно, сертификат не является квалифицированным, и подпись не имеет усиленной квалифицированной юридической силы.
|
||
|
||
Вывод
|
||
OCSP (в CADES-XL) отвечает на вопрос: "Был ли отозван сертификат на момент подписания?"
|
||
|
||
TSL отвечает на вопросы: "Имел ли УЦ право выдавать квалифицированные сертификаты на дату выдачи? Доверяем ли мы именно этому сертификату УЦ?"
|
||
|
||
Для полной проверки юридической силы квалифицированной электронной подписи необходимо использовать оба механизма:
|
||
|
||
Проверить цепочку сертификатов, сроки действия и статус отзыва (через вложенные OCSP-ответы или онлайн-запросы).
|
||
|
||
Проверить аккредитацию УЦ и соответствие сертификатов УЦ данным TSL на дату выдачи сертификата подписанта.
|
||
|
||
Поэтому даже при наличии OCSP-ответов в CADES-XL файл TSL (актуальный!) необходим для проверки статуса аккредитации УЦ. Без TSL нельзя установить, является ли подпись квалифицированной с юридической точки зрения.
|
||
|
||
## 4
|
||
Правильно ли я понимаю.
|
||
1 Если Минцифры отзовет сертификат у УЦ Контур, то и без TSL это будет выявлено при подписании и программа не подпишет (или все же подпишет?).
|
||
2 tsl.xml нужен только для установления факта аккредитации, т.е. чтобы считать сертификат квалифицированным. Если УЦ Контур вообще нет в tsl.xml, то это значит, что он никогда не был аккредитованным УЦ?
|
||
|
||
Отличные вопросы! Рассмотрим их по порядку.
|
||
|
||
## Минцифры кроме tsl.xml публикует какие-либо CRL-листы?
|
||
|
||
**Да, публикует, но по другим адресам и для других целей.**
|
||
|
||
Минцифры России (ранее Минкомсвязи) как головной УЦ:
|
||
- **Выпускает свои собственные CRL** для отзыва сертификатов, которые **оно само выдало**:
|
||
- Сертификатов других УЦ (включая "Контур")
|
||
- Возможно, сертификатов для своих систем
|
||
- **Эти CRL хранятся отдельно от TSL** на других серверах
|
||
- **Адреса этих CRL** указываются в самих сертификатах, выданных Минцифры (в поле CRL Distribution Points)
|
||
|
||
В вашем tsl.xml можно увидеть ссылки на CRL Минцифры в записях, где оно выступает издателем:
|
||
```
|
||
<Адрес>http://rostelecom.ru/cdp/guс.crl</Адрес>
|
||
<Адрес>http://reestr-pki.ru/cdp/guс.crl</Адрес>
|
||
```
|
||
|
||
## 2. Правильно ли я понимаю...
|
||
|
||
### 2.1. Если Минцифры отзовет сертификат у УЦ "Контур"
|
||
|
||
**Программа подписания:**
|
||
- При подписании **обычно не проверяет** отзыв сертификата УЦ (если не настроена специально)
|
||
- Она просто использует ваш закрытый ключ и сертификат
|
||
- **Подписать документ можно будет** даже если сертификат УЦ отозван
|
||
|
||
**Программа проверки:**
|
||
- При проверке **должна проверить отзыв** по цепочке доверия
|
||
- Если сертификат УЦ "Контур" отозван Минцифры, проверка должна показать:
|
||
- Технически подпись корректна (математически верна)
|
||
- Но **юридически недействительна**, так как цепочка доверия разорвана
|
||
|
||
**Аналогия:** Водитель с правами может физически вести машину даже после лишения прав, но юридически это нарушение.
|
||
|
||
### 2.2. Если УЦ "Контур" вообще нет в tsl.xml
|
||
|
||
**Да, это может означать две ситуации:**
|
||
|
||
**СИТУАЦИЯ A: УЦ никогда не был аккредитован**
|
||
- Он не имеет права выдавать **квалифицированные сертификаты**
|
||
- Может выдавать только **неквалифицированные сертификаты**
|
||
- Такие сертификаты можно использовать для:
|
||
- Авторизации в системах
|
||
- Защищённой переписки
|
||
- **НО НЕ** для юридически значимых действий
|
||
|
||
**СИТУАЦИЯ B: УЦ был аккредитован, но исключён из TSL**
|
||
- Например, за нарушения или по решению суда
|
||
- В этом случае все выданные им **квалифицированные сертификаты теряют статус квалифицированных**
|
||
- Технически они остаются рабочими, но юридически бесполезны
|
||
|
||
## Важный нюанс: TSL vs Полный реестр
|
||
|
||
**TSL ≠ Полный список всех УЦ в России**
|
||
|
||
TSL содержит **только аккредитованные УЦ**. Есть также:
|
||
1. **Корневые УЦ** (Минцифры) - не в TSL, они "над" TSL
|
||
2. **Неквалифицированные УЦ** - не в TSL, они не имеют права выдавать квалифицированные сертификаты
|
||
3. **Тестовые УЦ** - не в TSL
|
||
|
||
## Проверочный алгоритм для программы:
|
||
|
||
```python
|
||
def check_signature(signature):
|
||
# 1. Техническая проверка
|
||
if not signature.is_mathematically_correct():
|
||
return "Технически неверна"
|
||
|
||
# 2. Проверка цепочки до корня
|
||
if not signature.has_valid_chain_to_root():
|
||
return "Цепочка доверия нарушена"
|
||
|
||
# 3. Проверка отзыва (CRL/OCSP)
|
||
if signature.is_revoked():
|
||
return "Сертификат отозван"
|
||
|
||
# 4. Проверка в TSL (ТОЛЬКО для квалифицированной подписи!)
|
||
ucc = signature.get_issuing_ca()
|
||
|
||
if ucc not in tsl:
|
||
return "УЦ не аккредитован → подпись неквалифицированная"
|
||
|
||
if not tsl[ucc].was_accredited_at(signature.cert_issue_date):
|
||
return "УЦ не имел аккредитации на дату выдачи → подпись неквалифицированная"
|
||
|
||
return "Квалифицированная электронная подпись (полная юридическая сила)"
|
||
```
|
||
|
||
## Практический пример:
|
||
|
||
В вашем tsl.xml есть УЦ "Ижинформпроект":
|
||
- Статус: **Приостановлена** с 2022-07-04
|
||
- История: **Действовала** с 2012-07-19 по 2022-07-04
|
||
|
||
**Значит:**
|
||
- Сертификаты, выданные до 04.07.2022 — квалифицированные (если не отозваны)
|
||
- Сертификаты, выданные после 04.07.2022 — **неквалифицированные**, даже если:
|
||
- Технически корректны
|
||
- Не отозваны
|
||
- Имеют полную цепочку до Минцифры
|
||
|
||
**Вывод:** TSL — это не про "работает/не работает", а про "имеет право/не имеет право выдавать квалифицированные сертификаты".
|
||
|
||
## 5
|
||
*"Программа подписания:
|
||
При подписании обычно не проверяет отзыв сертификата УЦ (если не настроена специально)
|
||
Она просто использует ваш закрытый ключ и сертификат
|
||
Подписать документ можно будет даже если сертификат УЦ отозван"*
|
||
|
||
Мы говорим про CADES-XL. Там требуется OSCP ответ. Разве если ответ будет, что сертификат отозван, то все равно будет произведена подпись документа?
|
||
Второй вопрос: Программа разве проверяет сертификат от аккредитованного УЦ или нет? Ему не достаточно знать, что сертификат просто действующий?
|
||
|
||
Отличные уточняющие вопросы! Давайте разберем их детально.
|
||
|
||
## 1. CADES-XL и OCSP-ответ при подписании
|
||
|
||
**Вы совершенно правы!** В случае CADES-XL ситуация сложнее.
|
||
|
||
### Что происходит при подписании CADES-XL:
|
||
|
||
1. **Программа пытается получить OCSP-ответ ДО подписания** для включения его в подпись
|
||
2. **Если OCSP-сервер отвечает "отозван" (revoked):**
|
||
- **Теоретически:** программа должна отказаться от подписания
|
||
- **Практически:** зависит от реализации программы
|
||
|
||
**Сценарии:**
|
||
|
||
**СЦЕНАРИЙ A (корректная реализация):**
|
||
```
|
||
1. Программа: "Хочу подписать документ CADES-XL"
|
||
2. Программа: "Запрашиваю OCSP-статус для своего сертификата..."
|
||
3. OCSP-сервер: "Сертификат ОТОЗВАН"
|
||
4. Программа: "Отказ! Не могу подписать, т.к. мой сертификат недействителен"
|
||
```
|
||
|
||
**СЦЕНАРИЙ B (некорректная реализация или настройки):**
|
||
```
|
||
1. Программа: "Хочу подписать документ CADES-XL"
|
||
2. Программа: "Запрашиваю OCSP-статус..."
|
||
3. OCSP-сервер: "Сертификат ОТОЗВАН"
|
||
4. Программа: "ОК, подпишу без OCSP-ответа" или "Подпишу с флагом 'unknown'"
|
||
→ Получается невалидная подпись CADES-XL
|
||
```
|
||
|
||
**Важный нюанс:** OCSP-сервер может ответить тремя состояниями:
|
||
- `good` - не отозван
|
||
- `revoked` - отозван
|
||
- `unknown` - статус неизвестен
|
||
|
||
**Если OCSP-сервер недоступен**, программа может:
|
||
1. Отказаться от подписания CADES-XL
|
||
2. Подписать без OCSP (не будет настоящего CADES-XL)
|
||
3. Подписать с отметкой `unknown` (будет CADES-XL, но проверка может провалиться)
|
||
|
||
## 2. Проверка аккредитации УЦ программой
|
||
|
||
### Что проверяет программа **по умолчанию**:
|
||
|
||
1. **Техническую корректность:**
|
||
- Математическая правильность подписи
|
||
- Цепочка сертификатов до доверенного корня
|
||
- Сроки действия сертификатов
|
||
- Отсутствие отзыва (по OCSP/CRL)
|
||
|
||
2. **А вот аккредитацию УЦ программа НЕ проверяет автоматически!**
|
||
|
||
### Почему аккредитация - это отдельная проверка:
|
||
|
||
**Аналогия:** Представьте, что вы проверяете медицинский рецепт.
|
||
- **Техническая проверка:** Подпись врача реальная, печать настоящая, дата не просрочена
|
||
- **Проверка аккредитации:** А имеет ли этот врач право выписывать рецепты? Может, его лицензию отозвали?
|
||
|
||
### Как программа узнает об аккредитации:
|
||
|
||
**Только через TSL!** Программа должна:
|
||
1. Загрузить актуальный TSL от Минцифры
|
||
2. Найти в нем УЦ, выпустивший сертификат
|
||
3. Проверить:
|
||
- Был ли УЦ аккредитован на дату выдачи сертификата
|
||
- Совпадает ли отпечаток сертификата УЦ с указанным в TSL
|
||
|
||
### Конкретный пример из вашего tsl.xml:
|
||
|
||
Возьмем УЦ "Ижинформпроект":
|
||
```xml
|
||
<СтатусАккредитации>
|
||
<Статус>Приостановлена</Статус>
|
||
<ДействуетС>2022-07-04T21:00:00</ДействуетС>
|
||
</СтатусАккредитации>
|
||
<ИсторияСтатусовАккредитации>
|
||
<СтатусАккредитации>
|
||
<Статус>Действует</Статус>
|
||
<ДействуетС>2012-07-19T20:00:00</ДействуетС>
|
||
</СтатусАккредитации>
|
||
<СтатусАккредитации>
|
||
<Статус>Приостановлена</Статус>
|
||
<ДействуетС>2022-07-04T21:00:00</ДействуетС>
|
||
</СтатусАккредитации>
|
||
</ИсторияСтатусовАккредитации>
|
||
```
|
||
|
||
**Что должна сделать программа:**
|
||
|
||
```python
|
||
def check_accreditation(cert, tsl):
|
||
# 1. Найти УЦ в TSL
|
||
ca = find_ca_in_tsl(cert.issuer, tsl)
|
||
|
||
if not ca:
|
||
return "УЦ не найден в TSL → не аккредитован"
|
||
|
||
# 2. Проверить статус на дату выдачи сертификата
|
||
cert_issue_date = cert.not_before # Дата выдачи
|
||
ca_status_on_date = get_ca_status_on_date(ca, cert_issue_date)
|
||
|
||
if ca_status_on_date != "Действует":
|
||
return f"УЦ не имел действующей аккредитации на {cert_issue_date}"
|
||
|
||
# 3. Проверить соответствие сертификата УЦ
|
||
if cert.issuer_certificate != ca.certificate_in_tsl:
|
||
return "Сертификат УЦ не соответствует TSL"
|
||
|
||
return "Аккредитация подтверждена"
|
||
```
|
||
|
||
### Почему программам "недостаточно" просто действующего сертификата:
|
||
|
||
1. **Юридические требования:**
|
||
- ФЗ-63 четко разделяет квалифицированные и неквалифицированные подписи
|
||
- Квалификация зависит от аккредитации УЦ на момент выдачи
|
||
|
||
2. **Разные сценарии использования:**
|
||
- **Внутренние системы компании:** достаточно технической проверки
|
||
- **Электронная отчетность в госорганы:** обязательна проверка аккредитации
|
||
- **Электронные торги:** обязательна проверка аккредитации
|
||
|
||
3. **Настройки программы:**
|
||
- **КриптоПро CSP** может работать в разных режимах
|
||
- Плагины для браузеров/Office имеют разные настройки
|
||
- Специализированные программы (для отчетности, торгов) всегда проверяют аккредитацию
|
||
|
||
### Практический пример с вашим tsl.xml:
|
||
|
||
**Ситуация:** УЦ "Ижинформпроект" выдает сертификат **05.12.2024**
|
||
|
||
**Техническая проверка:**
|
||
- Сертификат действителен до 2027 года ✓
|
||
- Подпись математически верна ✓
|
||
- OCSP-ответ: не отозван ✓
|
||
- Цепочка до Минцифры: корректна ✓
|
||
|
||
**Проверка по TSL:**
|
||
- УЦ в TSL: найден ✓
|
||
- Статус на 05.12.2024: "Приостановлена" (с 04.07.2022) ✗
|
||
- **ВЫВОД:** Сертификат не является квалифицированным!
|
||
|
||
**Вывод для пользователя:** "Технически подпись корректна, но не имеет юридической силы квалифицированной подписи"
|
||
|
||
## Что происходит в реальных программах:
|
||
|
||
### 1. **КриптоПро PDF** (при подписании PDF):
|
||
- Если выбрать "Квалифицированная подпись" → проверяет наличие OCSP-ответа
|
||
- Если OCSP не отвечает → предупреждение
|
||
- **Но аккредитацию не проверяет при подписании!** Только при проверке.
|
||
|
||
### 2. **Контур.Крипто / Такском**:
|
||
- При подписании: запрашивают OCSP для CADES-XL
|
||
- При проверке: если указано "квалифицированная" → загружают TSL и проверяют
|
||
|
||
### 3. **Сайты госуслуг / ФНС**:
|
||
- Всегда проверяют и техническую часть, и аккредитацию через TSL
|
||
- Отказывают в приеме, если УЦ не аккредитован на дату выдачи
|
||
|
||
**Главный вывод:** TSL - это **юридический компонент** проверки, а не технический. Программа может технически подписать документ и без проверки TSL, но такая подпись не будет признана квалифицированной при юридической проверке.
|
||
|
||
## Вывод: КриптоПро PDF - Но аккредитацию не проверяет при подписании! Только при проверке.
|
||
|
||
## 6
|
||
Превосходные вопросы! Вы затрагиваете ключевые аспекты инфраструктуры PKI в РФ. Давайте разберём по порядку.
|
||
|
||
## 1. Если УЦ "Контур" имеет сертификат от Минцифры, он автоматически аккредитован?
|
||
|
||
**НЕТ, НЕ АВТОМАТИЧЕСКИ!** Это важнейшее различие.
|
||
|
||
### Аналогия:
|
||
- **Сертификат от Минцифры** = "Диплом о высшем образовании"
|
||
- **Аккредитация Минцифры** = "Лицензия на ведение медицинской деятельности"
|
||
|
||
У вас может быть диплом врача, но без лицензии вы **не имеете права** лечить пациентов официально.
|
||
|
||
### В PKI России:
|
||
|
||
| Критерий | Сертификат от Минцифры | Аккредитация Минцифры |
|
||
|----------|----------------------|---------------------|
|
||
| **Что это** | Техническое доверие | Юридическое право |
|
||
| **Кто выдает** | Минцифры как корневой УЦ | Минцифры как регулятор |
|
||
| **Для чего** | Построение цепочек доверия | Право выдавать квалифицированные сертификаты |
|
||
| **Где фиксируется** | В самом сертификате | В TSL.xml |
|
||
| **Пример из файла** | Все УЦ в tsl.xml имеют сертификаты от Минцифры | Но у "Ижинформпроект" статус "Приостановлена" |
|
||
|
||
**Конкретный пример из вашего tsl.xml:**
|
||
```xml
|
||
<УдостоверяющийЦентр>
|
||
<Название>Общество с ограниченной ответственностью Научно-производственное предприятие "Ижинформпроект"</Название>
|
||
<РеестровыйНомер>17</РеестровыйНомер>
|
||
<СтатусАккредитации>
|
||
<Статус>Приостановлена</Статус> ← АККРЕДИТАЦИЯ ПРИОСТАНОВЛЕНА!
|
||
</СтатусАккредитации>
|
||
</УдостоверяющийЦентр>
|
||
```
|
||
|
||
Но при этом у него есть действующие сертификаты, подписанные Минцифры.
|
||
|
||
## 2. Зачем Минцифры выпускает CRL для своих сертификатов?
|
||
|
||
### Для быстрого отзыва доверия в случаях:
|
||
|
||
1. **Компрометация закрытого ключа УЦ**
|
||
- Если УЦ "Контур" потерял контроль над своим закрытым ключом
|
||
- Минцифры немедленно отзывает его сертификат через CRL
|
||
- Все цепочки через этот УЦ становятся недействительными **технически**
|
||
|
||
2. **Выявление нарушений**
|
||
- УЦ нарушает правила (например, выдаёт сертификаты без проверки личности)
|
||
- Минцифры отзывает сертификат УЦ
|
||
- Все выданные им сертификаты становятся технически недействительными
|
||
|
||
3. **Добровольный отказ от деятельности**
|
||
- УЦ прекращает работу
|
||
- Минцифры отзывает его сертификат
|
||
|
||
### Разница между отзывом (CRL) и приостановкой аккредитации (TSL):
|
||
|
||
| Аспект | Отзыв через CRL | Приостановка через TSL |
|
||
|--------|----------------|-----------------------|
|
||
| **Механизм** | Технический (PKI) | Административный |
|
||
| **Скорость** | Мгновенно (после публикации CRL) | После административного решения |
|
||
| **Эффект** | Все цепочки разрываются | Только новые сертификаты неквалифицированные |
|
||
| **Восстановление** | Выпуск нового сертификата УЦ | Восстановление аккредитации |
|
||
| **Пример из файла** | Нет в файле (CRL отдельно) | Статус "Приостановлена" у "Ижинформпроект" |
|
||
|
||
## 3. Кроме аккредитованных УЦ, какие ещё могут быть?
|
||
|
||
### Иерархия УЦ в РФ:
|
||
|
||
```
|
||
Минцифры России (Корневой УЦ)
|
||
/ \
|
||
/ \
|
||
(выдает сертификаты) (аккредитует)
|
||
/ \
|
||
/ \
|
||
┌─────────────────────┐ ┌─────────────────────┐
|
||
│ │ │ │
|
||
▼ ▼ ▼ ▼
|
||
Аккредитованные НЕаккредитованные Корпоративные
|
||
УЦ (в TSL) УЦ (не в TSL) УЦ (не в TSL)
|
||
│ │ │
|
||
├─ Контур ├─ Test-УЦ ├─ УЦ Сбербанка
|
||
├─ Такском ├─ Demo-УЦ ├─ УЦ Газпромбанка
|
||
└─ и др. └─ УНЭП-УЦ └─ и др.
|
||
```
|
||
|
||
### Типы УЦ в России:
|
||
|
||
1. **Корневой УЦ (Минцифры)**
|
||
- Самый верхний уровень
|
||
- Не нуждается в аккредитации
|
||
- Его сертификат предустановлен во всех программах
|
||
- **Не входит в TSL!** TSL — это список тех, кого он аккредитовал
|
||
|
||
2. **Аккредитованные УЦ** (в TSL)
|
||
- Имеют право выдавать **квалифицированные сертификаты**
|
||
- Пример: УЦ "КАЛУГА АСТРАЛ" в вашем файле
|
||
- Проверяются регулятором
|
||
|
||
3. **Неквалифицированные УЦ** (не в TSL)
|
||
- Сертификаты от Минцифры или от других УЦ
|
||
- **Не имеют права** выдавать квалифицированные сертификаты
|
||
- Могут выдавать:
|
||
- Неквалифицированные сертификаты (УНЭП)
|
||
- Сертификаты для аутентификации
|
||
- Сертификаты для шифрования
|
||
|
||
4. **Корпоративные УЦ**
|
||
- Выпускают сертификаты для внутреннего использования
|
||
- Часто не связаны с государственной PKI
|
||
- Пример: Active Directory Certificate Services в компании
|
||
|
||
5. **Тестовые/Демонстрационные УЦ**
|
||
- Для разработки и тестирования
|
||
- Сертификаты не должны использоваться в продуктивной среде
|
||
|
||
## 4. Если нет аккредитации, что может выдавать УЦ?
|
||
|
||
УЦ без аккредитации может выдавать:
|
||
|
||
### А. **Неквалифицированные сертификаты (УНЭП)**
|
||
- Для внутреннего документооборота компаний
|
||
- Для аутентификации в информационных системах
|
||
- Для защиты электронной почты
|
||
- **НО:** Не для отчетности в госорганы!
|
||
|
||
### Б. **Сертификаты специального назначения:**
|
||
1. **Сертификаты для СМЭВ** (системы межведомственного взаимодействия)
|
||
2. **Сертификаты для ЕСИА** (госуслуги) - только если специально уполномочен
|
||
3. **SSL/TLS-сертификаты** для сайтов
|
||
4. **Сертификаты для код-сайнинга** (подписание ПО)
|
||
|
||
### В. **Особенности неквалифицированных сертификатов:**
|
||
|
||
**Технически** они идентичны квалифицированным:
|
||
- Такая же криптография (ГОСТ 34.10-2012)
|
||
- Такая же структура X.509
|
||
- Такая же цепочка доверия
|
||
|
||
**Юридически** они отличаются:
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ Квалифицированный сертификат │
|
||
│ │
|
||
│ Техническая корректность + │
|
||
│ Аккредитованный УЦ на дату выдачи + │
|
||
│ Соответствие требованиям ФЗ-63 │
|
||
│ │
|
||
│ = Полная юридическая сила (как собственноручная подпись) │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ Неквалифицированный сертификат │
|
||
│ │
|
||
│ Техническая корректность + │
|
||
│ (возможно) Сертификат от Минцифры + │
|
||
│ (НО) УЦ не аккредитован │
|
||
│ │
|
||
│ = Ограниченная юридическая сила │
|
||
│ (только если стороны заранее договорились) │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### Практический пример:
|
||
|
||
**Сценарий:** Компания "Ромашка" хочет внедрить ЭДО с контрагентами.
|
||
|
||
**Вариант 1 (дешевле):**
|
||
- Покупает неквалифицированные сертификаты у неаккредитованного УЦ
|
||
- Заключает соглашение с контрагентами: "Принимаем такие подписи"
|
||
- **Работает, но:** нельзя сдавать отчетность в ФНС
|
||
|
||
**Вариант 2 (дороже, но полный функционал):**
|
||
- Покупает квалифицированные сертификаты у аккредитованного УЦ
|
||
- Все контрагенты обязаны их принимать (по закону)
|
||
- Можно сдавать отчетность в госорганы
|
||
- Можно участвовать в электронных торгах
|
||
|
||
## Вывод: В чём главное отличие?
|
||
|
||
```python
|
||
def validate_signature(signature):
|
||
# Все проверяют это:
|
||
if not check_technical_validity(signature):
|
||
return "Технически недействительна"
|
||
|
||
# Только для квалифицированных подписей проверяют это:
|
||
if not check_accreditation_in_tsl(signature.ca, signature.cert_issue_date):
|
||
# Подпись технически работает, но...
|
||
return "Неквалифицированная подпись (УЦ не имел аккредитации)"
|
||
|
||
return "Квалифицированная подпись (полная юридическая сила)"
|
||
```
|
||
|
||
**Ключевой момент:** Сертификат от Минцифры даёт **техническое доверие**, аккредитация в TSL даёт **юридическое право**. Это как водительское удостоверение (технически вы можете водить) и страховка ОСАГО (юридически вы можете нести ответственность).
|
||
|
||
## 6.1
|
||
**Нет, неверно!** Моя схема была упрощённой и ввела вас в заблуждение. Прошу прощения за эту неточность. Давайте исправим.
|
||
|
||
## Правильная иерархия:
|
||
|
||
```
|
||
┌─────────────────────────────────────┐
|
||
│ Минцифры России │
|
||
│ (Головной УЦ и Регулятор) │
|
||
└───────────┬─────────────────────────┘
|
||
│
|
||
┌────────────────┼─────────────────┐
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
(выдает сертификаты) (аккредитует) (предъявляет
|
||
│ │ требования)
|
||
│ │ │
|
||
┌───────┴───────┐ ┌─────┴──────┐ ┌──────┴──────┐
|
||
│ │ │ │ │ │
|
||
▼ ▼ ▼ ▼ ▼ ▼
|
||
Аккредитованные НЕаккредитованные │ УЦ, которые │
|
||
УЦ, которым УЦ, которым │ вообще НЕ │
|
||
Минцифры выдало Минцифры выдало │ связаны с │
|
||
сертификаты сертификаты │ Минцифры │
|
||
(есть в TSL) (нет в TSL) │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
▼ ▼ ▼ ▼
|
||
Квалифици- Неквалифи- Корпоративные Тестовые
|
||
рованные цированные УЦ УЦ
|
||
сертификаты сертификаты (внутренние (для разработки)
|
||
PKI компаний)
|
||
```
|
||
|
||
## Уточнение: Минцифры НЕ аккредитует неквалифицированные и корпоративные УЦ!
|
||
|
||
### 1. **Что Минцифры действительно делает:**
|
||
|
||
**A. Выдаёт сертификаты** (как технический корневой УЦ):
|
||
- Аккредитованным УЦ (они в TSL)
|
||
- Некоторым неквалифицированным УЦ (они не в TSL)
|
||
- Возможно, другим организациям по специальным программам
|
||
|
||
**B. Аккредитует** (как регулятор):
|
||
- **Только УЦ, которые хотят выдавать квалифицированные сертификаты**
|
||
- Аккредитованные УЦ попадают в **TSL**
|
||
|
||
### 2. **Какие УЦ НЕ аккредитует Минцифры:**
|
||
|
||
**A. Неквалифицированные УЦ:**
|
||
- Могут получить сертификат от Минцифры (технически)
|
||
- Но **не проходят аккредитацию** или не подают на неё
|
||
- **Не попадают в TSL**
|
||
|
||
**B. Корпоративные УЦ:**
|
||
- Часто вообще **не связаны с государственной PKI**
|
||
- Используют свои корневые сертификаты
|
||
- Пример: УЦ на базе Microsoft AD CS в компании
|
||
- **Никакого отношения к Минцифры не имеют**
|
||
|
||
**C. Тестовые УЦ:**
|
||
- Для разработки ПО
|
||
- Часто самоподписанные
|
||
- **Не связаны с Минцифры**
|
||
|
||
## Примеры из вашего tsl.xml:
|
||
|
||
В файле есть только **аккредитованные** УЦ:
|
||
1. **"Ижинформпроект"** - аккредитация приостановлена, но был аккредитован
|
||
2. **"КАЛУГА АСТРАЛ"** - аккредитованный УЦ
|
||
|
||
**Где неквалифицированные УЦ?** Их **нет в tsl.xml**, потому что они не аккредитованы!
|
||
|
||
## Конкретный пример разделения полномочий Минцифры:
|
||
|
||
### Процесс для УЦ "Контур":
|
||
|
||
```
|
||
┌────────────────────────────┐
|
||
│ УЦ "Контур" подаёт │
|
||
│ заявление в Минцифры │
|
||
└─────────────┬──────────────┘
|
||
│
|
||
┌─────────────┴──────────────┐
|
||
│ Минцифры проверяет: │
|
||
│ 1. Технические средства │
|
||
│ 2. Процедуры │
|
||
│ 3. Персонал │
|
||
│ 4. Юридические документы │
|
||
└─────────────┬──────────────┘
|
||
│
|
||
┌─────────────────┼─────────────────┐
|
||
│ │ │
|
||
▼ ▼ ▼
|
||
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
|
||
│Отказ │ │Аккредитация │ │Сертификат │
|
||
│в аккредитации│ │одобрена │ │выдан │
|
||
│ │ │ │ │(технически) │
|
||
└─────────────┘ └──────┬──────┘ └──────┬──────┘
|
||
│ │
|
||
▼ ▼
|
||
┌─────────────┐ ┌─────────────┐
|
||
│Внесён в TSL │ │Может строить│
|
||
│(юридически) │ │цепочки │
|
||
│ │ │(технически) │
|
||
└─────────────┘ └─────────────┘
|
||
```
|
||
|
||
## Почему это важно?
|
||
|
||
1. **УЦ может иметь сертификат от Минцифры, но не быть в TSL**
|
||
- Технически: может выдавать сертификаты
|
||
- Юридически: не может выдавать **квалифицированные** сертификаты
|
||
|
||
2. **УЦ может быть в TSL, но потерять аккредитацию**
|
||
- Как "Ижинформпроект" в вашем файле
|
||
- Старые сертификаты (выданные при действующей аккредитации) остаются квалифицированными
|
||
- Новые сертификаты (после приостановки) — неквалифицированные
|
||
|
||
3. **Корпоративные УЦ вообще вне этой системы**
|
||
- Не обращаются в Минцифры
|
||
- Не получают сертификатов от Минцифры
|
||
- Не попадают в TSL
|
||
|
||
## Итоговая таблица:
|
||
|
||
| Тип УЦ | Сертификат от Минцифры | В TSL | Может выдавать квалифицированные сертификаты |
|
||
|--------|------------------------|-------|---------------------------------------------|
|
||
| **Корневой (Минцифры)** | Самоподписан | Нет | Да (для УЦ) |
|
||
| **Аккредитованный УЦ** | Да | Да | Да |
|
||
| **Неквалифицированный УЦ** | Может быть | Нет | Нет |
|
||
| **Корпоративный УЦ** | Нет | Нет | Нет (только для внутреннего использования) |
|
||
| **Тестовый УЦ** | Нет | Нет | Нет |
|
||
|
||
**Вывод:** Минцифры как регулятор аккредитует **только тех, кто хочет и может выдавать квалифицированные сертификаты**. Выдача сертификата (техническая операция) и аккредитация (юридическая процедура) — это **разные процессы**, даже если оба осуществляются Минцифры.
|