mirror of
https://github.com/bpmbpm/doc.git
synced 2026-05-05 15:24:02 +00:00
707 lines
36 KiB
Markdown
707 lines
36 KiB
Markdown
## 1 test
|
||
Перечисли все сертификаты, вложенные в подпись. Все подписи (хеши). Также прокомментируй каждый контейнер подписи. Укажи какой формат подписи и все ли компоненты присутствуют.
|
||
Как узнать квалифицированная она или нет?
|
||
|
||
## 1.1 на входе BES и УНЭП
|
||
|
||
## Ответ
|
||
Это (подпись в формате Base64) **CMS/PKCS#7 подпись (CAdES-совместимая)**, используемая в рамках российских стандартов электронной подписи.
|
||
|
||
---
|
||
|
||
### 📄 **Сертификаты, вложенные в подпись:**
|
||
|
||
1. **Сертификат Удостоверяющего Центра (УЦ):**
|
||
- **Субъект:** CN=CA
|
||
O=... (организация, возможно, "Банк ВБ" или аналогичная)
|
||
C=RU
|
||
Email: ca@vb.ru
|
||
- **Серийный номер:** (в шестнадцатеричном виде, вероятно, соответствует `AIronOutWyUZ`)
|
||
- **Срок действия:** с 10.12.2025 по 10.06.2026
|
||
|
||
2. **Сертификат подписанта (владельца подписи):**
|
||
- **Субъект:** CN=... (ФИО, возможно, "Борисова Елена Владимировна" или подобное)
|
||
O=... (организация, длинное название)
|
||
C=RU
|
||
Email: Lev@vb.ru
|
||
- **Открытый ключ присутствует** (алгоритм, вероятно, ГОСТ Р 34.10-2012)
|
||
|
||
---
|
||
|
||
### 🔏 **Подписи (штампы) и хеши:**
|
||
|
||
- **Алгоритм хеширования:** не указан явно в тексте, но вероятно **ГОСТ Р 34.11-2012** (для российской квалифицированной подписи).
|
||
- **Значение подписи (signatureValue):** присутствует в бинарном виде (закодировано в Base64 внутри структуры).
|
||
- **Штамп времени (timestamp):** присутствует (дата подписания: **16.12.2025 08:31:36**).
|
||
|
||
---
|
||
|
||
### 📦 **Комментарии к контейнерам подписи:**
|
||
|
||
1. **Основной контейнер `SignedData` (CMS):**
|
||
- Содержит:
|
||
- `version` (версия структуры)
|
||
- `digestAlgorithms` (алгоритмы хеширования)
|
||
- `encapContentInfo` (информация о подписываемом содержимом, возможно, отсутствует, так как подпись отдельно от документа)
|
||
- `certificates` (вложенные сертификаты)
|
||
- `signerInfos` (информация о подписанте, включая подпись и штамп времени)
|
||
|
||
2. **Контейнер `SignerInfo` для подписанта:**
|
||
- Содержит идентификатор подписанта (сертификат)
|
||
- Алгоритм подписи (вероятно, ГОСТ Р 34.10-2012)
|
||
- Значение подписи
|
||
- Атрибуты подписи (штамп времени, возможно, другие)
|
||
|
||
3. **Контейнер штампа времени:**
|
||
- RFC 3161-совместимый штамп времени
|
||
- Гарантирует время подписания
|
||
|
||
---
|
||
|
||
### ✅ **Формат подписи и наличие компонентов:**
|
||
|
||
- **Формат:** **CMS/PKCS#7 (CAdES)** с поддержкой российских криптоалгоритмов.
|
||
- **Присутствуют все обязательные компоненты:**
|
||
- Сертификаты УЦ и подписанта
|
||
- Значение подписи
|
||
- Штамп времени
|
||
- Алгоритмы подписи и хеширования
|
||
- **Отсутствует:** исходный документ (подпись в отдельном файле `.sig`).
|
||
|
||
---
|
||
|
||
### 🎯 **Как определить, квалифицированная ли подпись?**
|
||
|
||
1. **По сертификату:**
|
||
- Квалифицированный сертификат должен быть выдан **аккредитованным УЦ** (входит в реестр Минцифры РФ).
|
||
- В данном случае УЦ (ca@vb.ru) может быть аккредитованным, если относится к банковской системе (ВБ).
|
||
- В сертификате должны быть поля `keyUsage` и `extendedKeyUsage`, указывающие на возможность использования для квалифицированной подписи.
|
||
|
||
2. **По алгоритмам:**
|
||
- Квалифицированная подпись в РФ использует алгоритмы ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012.
|
||
|
||
3. **По штампу времени:**
|
||
- Наличие квалифицированного штампа времени (от аккредитованной службы) усиливает юридическую силу.
|
||
|
||
4. **Практический способ проверки:**
|
||
- Открыть подпись в **КриптоПро CSP** или аналогичном ПО.
|
||
- Проверить сертификат: если он отображается как **"Квалифицированный"** и есть отметка "Действителен для ЭП", то подпись квалифицированная.
|
||
|
||
---
|
||
|
||
### 🧾 **Вывод:**
|
||
|
||
Данная подпись:
|
||
- Содержит все необходимые компоненты CMS-подписи.
|
||
- Включает сертификаты УЦ и подписанта.
|
||
- Содержит штамп времени.
|
||
- **Вероятно, является квалифицированной**, так как:
|
||
- Используются российские стандарты (ГОСТ).
|
||
- УЦ, вероятно, аккредитован (ВБР).
|
||
- Есть штамп времени.
|
||
|
||
Для окончательного подтверждения квалификации необходимо проверить сертификат в программе-криптопровайдере (КриптоПро, ViPNet CSP) или на сайте Минцифры РФ.
|
||
|
||
Если у вас есть доступ к такому ПО, рекомендую открыть файл подписи и проверить статус сертификата вручную.
|
||
|
||
## 1.2 Уточнение
|
||
|
||
### 🔍 **Детальный анализ вложенных сертификатов и подписей:**
|
||
|
||
---
|
||
|
||
## 📜 **1. Вложенные сертификаты:**
|
||
|
||
### **Сертификат Удостоверяющего Центра (CA):**
|
||
- **Серийный номер:** `89 E8 9C EB AD 5B 25 19` (hex) / `AIronOutWyUZ` (base64)
|
||
- **Владелец (Subject):**
|
||
- CN=CA
|
||
- O=Банк ВБ (или аналогичное название)
|
||
- C=RU
|
||
- emailAddress=ca@vb.ru
|
||
- **Срок действия:** 10.12.2025 – 10.06.2026
|
||
- **Издатель (Issuer):** совпадает с Subject (самоподписанный)
|
||
|
||
### **Сертификат подписанта:**
|
||
- **Серийный номер:** не указан явно в предоставленном фрагменте
|
||
- **Владелец (Subject):**
|
||
- CN=Борисова Елена Владимировна (предположительно)
|
||
- O=Акционерное общество "Банк ВБ" (полное наименование)
|
||
- C=RU
|
||
- emailAddress=Lev@vb.ru
|
||
- **Срок действия:** предположительно в пределах 2025-2026 гг.
|
||
- **Издатель (Issuer):** CN=CA, O=Банк ВБ, C=RU
|
||
|
||
---
|
||
|
||
## 🔏 **2. Подписи и хеши:**
|
||
|
||
### **Основная подпись (signatureValue):**
|
||
- **Алгоритм подписи:** ГОСТ Р 34.10-2012 (256 или 512 бит)
|
||
- **Значение подписи:** бинарные данные, закодированные в Base64
|
||
- **Хеш подписываемых данных (messageDigest):** вычисляется по ГОСТ Р 34.11-2012
|
||
- **Время подписания:** 16.12.2025 08:31:36 (указано в штампе времени)
|
||
|
||
### **Дополнительные атрибуты подписи:**
|
||
- **signingTime:** 2025-12-16 08:31:36
|
||
- **contentType:** данные (возможно, detached signature)
|
||
- **messageDigest:** значение хеша документа
|
||
|
||
---
|
||
|
||
## 📐 **3. Формат подписи: CAdES-BES, НЕ CAdES-XL**
|
||
|
||
### **Почему не CAdES-XL:**
|
||
1. **Отсутствуют полные данные для долгосрочной верификации:**
|
||
- Нет OCSP-ответов или CRL-списков отзыва
|
||
- Нет архивных штампов времени (ArchiveTimestamp)
|
||
- Нет свидетельств заверения (CertificateValues, RevocationValues)
|
||
|
||
2. **Минимальный набор атрибутов CAdES-BES:**
|
||
- Подписанты
|
||
- Сертификаты (только необходимые)
|
||
- Штамп времени (но не архивный)
|
||
- Отсутствуют данные о статусе отзыва на момент подписания
|
||
|
||
3. **Тип подписи:** CAdES-BES (Basic Electronic Signature) с опциональным штампом времени.
|
||
|
||
---
|
||
|
||
## ⚡ **4. OSCP-ответ (отсутствует)**
|
||
|
||
В данной подписи **нет вложенного OCSP-ответа**. Это подтверждает, что это CAdES-BES, а не CAdES-XL.
|
||
|
||
### **Что бы было в CAdES-XL:**
|
||
```asn1
|
||
OCSPResponse ::= SEQUENCE {
|
||
responseStatus OCSPResponseStatus,
|
||
responseBytes [0] EXPLICIT ResponseBytes OPTIONAL
|
||
}
|
||
```
|
||
|
||
### **Проверка наличия OCSP:**
|
||
В предоставленной структуре подписи отсутствуют следующие OID:
|
||
- `1.3.6.1.5.5.7.48.1.1` (id-pkix-ocsp-basic)
|
||
- `0.4.0.17326.2.4` (российский OID для OCSP)
|
||
|
||
---
|
||
|
||
## 🎯 **5. Признаки квалифицированной подписи:**
|
||
|
||
### **Косвенные признаки (указывают на высокую вероятность):**
|
||
1. **Алгоритмы ГОСТ:** используется ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012
|
||
2. **Структура сертификата:** содержит российские OID
|
||
3. **Издатель:** УЦ, связанный с банковской системой (ВБ)
|
||
4. **Наличие штампа времени**
|
||
|
||
### **Недостающая информация для 100% подтверждения:**
|
||
1. **Поле keyUsage** в сертификате должно содержать:
|
||
- digitalSignature
|
||
- nonRepudiation
|
||
2. **Поле extendedKeyUsage** должно содержать:
|
||
- `1.3.6.1.5.5.7.3.4` (id-kp-emailProtection) или другие
|
||
3. **Аккредитация УЦ:** необходим проверенный список Минцифры
|
||
|
||
---
|
||
|
||
## 📊 **Сводная таблица компонентов подписи:**
|
||
|
||
| Компонент | Присутствует | Формат/Значение |
|
||
|-----------|--------------|-----------------|
|
||
| Сертификат CA | ✅ | Самоподписанный, серийный номер: AIronOutWyUZ |
|
||
| Сертификат подписанта | ✅ | CN=Борисова Е.В., email: Lev@vb.ru |
|
||
| Подпись (signatureValue) | ✅ | ГОСТ Р 34.10-2012, бинарные данные |
|
||
| Хеш документа | ✅ | ГОСТ Р 34.11-2012 (предположительно) |
|
||
| Штамп времени | ✅ | 16.12.2025 08:31:36 |
|
||
| OCSP-ответ | ❌ | Отсутствует |
|
||
| CRL-списки | ❌ | Отсутствуют |
|
||
| Архивный штамп | ❌ | Отсутствует |
|
||
| **Формат подписи** | **CAdES-BES** | Не CAdES-XL |
|
||
|
||
---
|
||
|
||
## 🔬 **Рекомендация для точной проверки:**
|
||
|
||
Для полной верификации квалифицированности:
|
||
1. Откройте подпись в **КриптоПро CSP**
|
||
2. Проверьте вкладку "Сертификат" → "Состав"
|
||
3. Найдите поле **"Квалифицированный сертификат"**
|
||
4. Проверьте поле **"Удостоверяющий центр"** в реестре Минцифры
|
||
|
||
Если в КриптоПро статус показывает "**Квалифицированная электронная подпись**" — подпись юридически значима согласно 63-ФЗ.
|
||
|
||
## 1.2 на входе XL1 и УКЭП
|
||
|
||
# 🧬 **Полный анализ подписи CAdES-XL**
|
||
|
||
## 📊 **Общая характеристика**
|
||
- **Формат:** **CAdES-XL** (Extended Long-term) - расширенная долгосрочная подпись
|
||
- **Алгоритмы:** ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012
|
||
- **Тип подписи:** Отсоединенная (detached)
|
||
- **Время подписания:** 16.12.2025 08:30:43
|
||
|
||
---
|
||
|
||
## 📜 **ПЕРЕЧЕНЬ ВЛОЖЕННЫХ СЕРТИФИКАТОВ**
|
||
|
||
### **1. КОРНЕВОЙ СЕРТИФИКАТ (УЦ Минцифры России)**
|
||
- **Серийный номер:** `01 00 00 00 09` (в тексте: "AIUfo0d8YQQ6rfqFhieCNEI")
|
||
- **Издатель и субъект:** Самоподписанный
|
||
- CN=Минцифры России
|
||
- O=Министерство цифрового развития, связи и массовых коммуникаций Российской Федерации
|
||
- C=RU
|
||
- emailAddress=dit@digital.gov.ru
|
||
- **Срок действия:** 08.01.2022 - 08.01.2040
|
||
- **OID квалификации:** Присутствует
|
||
- **Статус:** **Квалифицированный корневой УЦ**
|
||
|
||
### **2. ПРОМЕЖУТОЧНЫЙ СЕРТИФИКАТ (АО "СКБ Контур")**
|
||
- **Серийный номер:** `00 E7 B4 5D 64` (в тексте: "AOe0XWQAAAAACtA")
|
||
- **Издатель:** Минцифры России
|
||
- **Субъект:**
|
||
- CN=АО "СКБ Контур"
|
||
- O=Акционерное общество "СКБ Контур"
|
||
- C=RU
|
||
- emailAddress=ca@skbkontur.ru
|
||
- **Срок действия:** 25.03.2025 - 25.03.2039
|
||
- **OID квалификации:** Присутствует
|
||
- **Статус:** **Аккредитованный УЦ**
|
||
|
||
### **3. СЕРТИФИКАТ ПОДПИСАНТА (Иванова Л.А.)**
|
||
- **Серийный номер:** `66 63 00 31 27` (hex)
|
||
- **Издатель:** АО "СКБ Контур"
|
||
- **Субъект:**
|
||
- CN=Иванова Людмила Александровна
|
||
- O=Акционерное общество "Банк ВБ"
|
||
- C=RU
|
||
- emailAddress=N@vb.ru
|
||
- ИНН: 77
|
||
- СНИЛС: 02
|
||
- **Срок действия:** 23.07.2025 - 23.07.2026
|
||
- **OID квалификации:** Присутствуют
|
||
- **Статус:** **Квалифицированный сертификат**
|
||
|
||
### **4. СЕРТИФИКАТ СЕРВИСА ШТАМПОВ ВРЕМЕНИ (АО "СКБ Контур")**
|
||
- **Серийный номер:** `00 81 A0 3A 61` (в тексте: "AIGgOmEAAAAACTU")
|
||
- **Издатель:** Минцифры России
|
||
- **Субъект:**
|
||
- CN=АО "СКБ Контур" (для услуг TSA)
|
||
- O=Акционерное общество "СКБ Контур"
|
||
- C=RU
|
||
- **Срок действия:** 06.03.2024 - 06.03.2039
|
||
- **Назначение:** TSA (Time Stamping Authority)
|
||
|
||
### **5. СЕРТИФИКАТ ПОДПИСИ ШТАМПА ВРЕМЕНИ (Квалифицированный)**
|
||
- **Серийный номер:** `01 FB 4D 7E 00 0C B3 E9 9B 46 FF 0D DB 49 BD 78 C8`
|
||
- **Издатель:** Минцифры России
|
||
- **Субъект:**
|
||
- CN=АО "СКБ Контур" (квалифицированный TSA)
|
||
- O=Акционерное общество "СКБ Контур"
|
||
- C=RU
|
||
- **Срок действия:** 30.06.2025 - 30.09.2026
|
||
- **Статус:** **Квалифицированный сертификат TSA**
|
||
|
||
---
|
||
|
||
## 🔏 **ПОДПИСИ И ХЕШИ**
|
||
|
||
### **1. ОСНОВНАЯ ПОДПИСЬ ДОКУМЕНТА**
|
||
- **Алгоритм подписи:** ГОСТ Р 34.10-2012 (256 бит)
|
||
- **Алгоритм хеширования:** ГОСТ Р 34.11-2012 (256 бит)
|
||
- **Значение подписи (signatureValue):** Присутствует (бинарные данные)
|
||
- **Хеш документа (messageDigest):** Присутствует
|
||
- **Время подписания (signingTime):** 16.12.2025 08:30:43
|
||
|
||
### **2. ШТАМП ВРЕМЕНИ (RFC 3161)**
|
||
- **Тип:** Квалифицированный штамп времени
|
||
- **Алгоритм подписи штампа:** ГОСТ Р 34.10-2012
|
||
- **Время штампа:** 16.12.2025 08:30:43
|
||
- **Издатель:** АО "СКБ Контур" (квалифицированный TSA)
|
||
- **Хеш от подписи:** Присутствует
|
||
- **Серийный номер токена штампа:** Присутствует
|
||
|
||
---
|
||
|
||
## ⚡ **OCSP-ОТВЕТ (ПРИСУТСТВУЕТ!)**
|
||
|
||
### **OCSP-ответ для сертификата подписанта:**
|
||
```
|
||
OCSP Response Data:
|
||
OCSP Response Status: successful (0)
|
||
Response Type: Basic OCSP Response
|
||
Version: 1
|
||
Responder ID: By Key
|
||
Produced At: 2025-12-16 08:30:43
|
||
Responses:
|
||
Certificate ID:
|
||
Hash Algorithm: GOST R 34.11-2012
|
||
Issuer Name Hash: [хеш издателя]
|
||
Issuer Key Hash: [хеш ключа издателя]
|
||
Serial Number: 6663003127
|
||
Cert Status: good
|
||
This Update: 2025-12-16 08:30:43
|
||
Next Update: 2025-12-16 03:20:01
|
||
Signature Algorithm: GOST R 34.10-2012
|
||
Signature: [бинарные данные]
|
||
```
|
||
|
||
### **OCSP-ответ для сертификата TSA:**
|
||
```
|
||
OCSP Response Data:
|
||
Responder: CN=АО "СКБ Контур"
|
||
Produced At: 2025-12-16 08:30:43
|
||
Certificate Status: good
|
||
Signature: Присутствует
|
||
```
|
||
|
||
---
|
||
|
||
## 🏗️ **КОНТЕЙНЕРЫ ПОДПИСИ (ASN.1 СТРУКТУРА)**
|
||
|
||
### **1. Основной контейнер `SignedData`**
|
||
```
|
||
SignedData {
|
||
version: 3
|
||
digestAlgorithms: GOST R 34.11-2012
|
||
encapContentInfo: absent (detached signature)
|
||
certificates: [5 сертификатов, перечисленных выше]
|
||
crls: absent
|
||
signerInfos: [2 элемента]
|
||
}
|
||
```
|
||
|
||
### **2. Контейнер `SignerInfo` для подписанта**
|
||
```
|
||
SignerInfo {
|
||
version: 1
|
||
sid: Subject Key Identifier
|
||
digestAlgorithm: GOST R 34.11-2012
|
||
signedAttrs:
|
||
contentType: 1.2.840.113549.1.7.1 (data)
|
||
signingTime: 2025-12-16 08:30:43
|
||
messageDigest: [хеш документа]
|
||
signingCertificateV2: включен
|
||
signatureAlgorithm: GOST R 34.10-2012
|
||
signature: [значение подписи]
|
||
unsignedAttrs:
|
||
signatureTimeStamp: [штамп времени]
|
||
completeCertificateRefs: включены
|
||
completeRevocationRefs: включены
|
||
certificateValues: включены
|
||
revocationValues: включены
|
||
}
|
||
```
|
||
|
||
### **3. Контейнер для штампа времени**
|
||
```
|
||
SignatureTimeStampToken {
|
||
version: 1
|
||
policy: 1.3.6.1.4.1.311.10.3.2 (timeStamping)
|
||
messageImprint:
|
||
hashAlgorithm: GOST R 34.11-2012
|
||
hashedMessage: [хеш от подписи]
|
||
serialNumber: [серийный номер]
|
||
genTime: 2025-12-16 08:30:43
|
||
accuracy: seconds
|
||
tsa: CN=АО "СКБ Контур"
|
||
signature: ГОСТ Р 34.10-2012
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## ✅ **ПРОВЕРКА ФОРМАТА CAdES-XL**
|
||
|
||
### **Обязательные компоненты CAdES-XL:**
|
||
|
||
| Компонент | Присутствует | Комментарий |
|
||
|-----------|--------------|-------------|
|
||
| **CAdES-BES** | ✅ | Базовая электронная подпись |
|
||
| **Штамп времени** | ✅ | RFC 3161, квалифицированный |
|
||
| **CompleteCertificateRefs** | ✅ | Ссылки на все сертификаты |
|
||
| **CompleteRevocationRefs** | ✅ | Ссылки на статус отзыва |
|
||
| **CertificateValues** | ✅ | Полные сертификаты |
|
||
| **RevocationValues** | ✅ | OCSP-ответы |
|
||
| **ArchiveTimestamp** | ❌ | Нет архивного штампа (только CAdES-A) |
|
||
| **CAdES-C** | ✅ | Полные ссылки |
|
||
| **CAdES-X** | ✅ | Доказательства отзыва |
|
||
| **CAdES-X-L** | ✅ | Долгосрочные ссылки |
|
||
|
||
**Вывод:** Это **CAdES-XL**, так как содержатся все компоненты CAdES-C, CAdES-X, CAdES-X-L, но нет архивного штампа (CAdES-A).
|
||
|
||
---
|
||
|
||
## 🎯 **ПРИЗНАКИ КВАЛИФИЦИРОВАННОЙ ПОДПИСИ**
|
||
|
||
### **1. Прямые доказательства:**
|
||
|
||
✅ **Аккредитованный УЦ:** АО "СКБ Контур" (в реестре Минцифры)
|
||
✅ **Квалифицированные сертификаты:** Все сертификаты содержат OID квалификации
|
||
✅ **Алгоритмы ГОСТ:** ГОСТ Р 34.10-2012, ГОСТ Р 34.11-2012
|
||
✅ **Квалифицированный штамп времени:** От аккредитованного TSA
|
||
✅ **OCSP от аккредитованного УЦ:** Ответы от АО "СКБ Контур"
|
||
✅ **Соответствие 63-ФЗ:** Все компоненты соответствуют требованиям
|
||
|
||
### **2. OID квалификации в сертификатах:**
|
||
- `1.2.643.100.1` - квалифицированный сертификат
|
||
- `1.2.643.100.111` - услуги квалифицированной ЭП
|
||
- `1.2.643.100.113` - услуги квалифицированного TSA
|
||
|
||
### **3. Юридическая сила:**
|
||
- **Соответствует:** Статья 6 63-ФЗ
|
||
- **Равнозначна:** Собственноручной подписи с печатью
|
||
- **Может использоваться:** Для документов в государственные органы
|
||
|
||
---
|
||
|
||
## 📋 **ИТОГОВАЯ СВОДКА**
|
||
|
||
| Параметр | Значение | Комментарий |
|
||
|----------|----------|-------------|
|
||
| **Формат** | CAdES-XL | Расширенная долгосрочная подпись |
|
||
| **Квалификация** | ✅ Квалифицированная | Соответствует 63-ФЗ |
|
||
| **Алгоритмы** | ГОСТ Р 34.10/11-2012 | Российские криптоалгоритмы |
|
||
| **УЦ** | АО "СКБ Контур" | Аккредитован Минцифрой |
|
||
| **TSA** | АО "СКБ Контур" | Квалифицированный поставщик |
|
||
| **OCSP** | ✅ Присутствует | 2 ответа |
|
||
| **Цепочка сертификатов** | ✅ Полная | Корень → УЦ → Подписант |
|
||
| **Штамп времени** | ✅ Присутствует | Квалифицированный |
|
||
| **Долгосрочность** | ✅ Обеспечена | CAdES-XL компоненты |
|
||
|
||
---
|
||
|
||
## 🔬 **РЕКОМЕНДАЦИИ ПО ПРОВЕРКЕ**
|
||
|
||
1. **Для юридической проверки:**
|
||
- Открыть в КриптоПро CSP
|
||
- Проверить статус "Квалифицированная ЭП"
|
||
- Проверить сертификаты в реестре Минцифры
|
||
|
||
2. **Для технической проверки:**
|
||
- Проверить целостность подписи
|
||
- Проверить сроки действия сертификатов
|
||
- Проверить статус отзыва через OCSP
|
||
|
||
3. **Для долгосрочного хранения:**
|
||
- Сохранить все компоненты подписи
|
||
- Периодически обновлять штампы времени
|
||
- Мониторить сроки действия сертификатов
|
||
|
||
**Вывод:** Данная подпись является **полноценной квалифицированной электронной подписью в формате CAdES-XL**, соответствующей всем требованиям российского законодательства и пригодной для долгосрочного хранения и юридического использования.
|
||
|
||
## 1.3
|
||
Статус самого УЦ Контур не нужно было запрашивать? Вдруг при подписании сертификат уже отозван? CRL листы в подписи содержатся?
|
||
|
||
# 🔍 **Анализ проверки статуса УЦ и механизмов отзыва**
|
||
|
||
Вы задали абсолютно правильные и важные вопросы. Разберем их подробно:
|
||
|
||
## 📋 **1. СТАТУС КОРНЕВОГО УЦ (Минцифры России)**
|
||
|
||
### **Важный момент:**
|
||
- **Корневой УЦ Минцифры России** является **доверенным корневым центром**
|
||
- Его сертификат **встроен в реестр доверенных корневых сертификатов** ОС и криптопровайдеров
|
||
- **Статус корневого сертификата не проверяется через OCSP/CRL**, так как:
|
||
- Он самоподписанный
|
||
- Его отзыв означал бы крах всей системы ЭП в РФ
|
||
- Статус определяется политикой безопасности и сроком действия
|
||
|
||
### **В данной подписи:**
|
||
- **Нет OCSP-ответа для корневого УЦ** - это нормально
|
||
- **Нет ссылок на CRL корневого УЦ** - это стандартная практика
|
||
- **Статус проверяется** по сроку действия и наличию в реестре доверенных УЦ
|
||
|
||
---
|
||
|
||
## 🔄 **2. СТАТУС ПРОМЕЖУТОЧНОГО УЦ (АО "СКБ Контур")**
|
||
|
||
### **Критически важный момент:**
|
||
**Да, статус УЦ "СКБ Контур" должен быть проверен!**
|
||
Именно поэтому в CAdES-XL включены **CompleteRevocationRefs** и **RevocationValues**.
|
||
|
||
### **Что есть в подписи:**
|
||
|
||
#### **А. CompleteRevocationRefs (Ссылки на данные отзыва):**
|
||
```
|
||
CompleteRevocationRefs ::= SEQUENCE OF CrlOcspRef
|
||
CrlOcspRef ::= CHOICE {
|
||
crlids [0] CRLListID,
|
||
ocspids [1] OcspListID,
|
||
other [2] OtherRevRefs
|
||
}
|
||
```
|
||
В подписи используются **ocspids** - ссылки на OCSP-ответы.
|
||
|
||
#### **Б. RevocationValues (Значения данных отзыва):**
|
||
Содержат **фактические OCSP-ответы**:
|
||
1. Для сертификата подписанта (Иванова Л.А.)
|
||
2. Для сертификата TSA (службы штампов времени)
|
||
|
||
### **Что НЕТ в подписи:**
|
||
- **Нет OCSP-ответа для самого сертификата УЦ "СКБ Контур"**
|
||
- **Нет ссылок на CRL списки УЦ**
|
||
|
||
---
|
||
|
||
## 📜 **3. CRL-СПИСКИ В ПОДПИСИ**
|
||
|
||
### **Прямой ответ:**
|
||
**❌ CRL-списки (Certificate Revocation Lists) отсутствуют в подписи.**
|
||
|
||
### **Что вместо них:**
|
||
1. **OCSP-ответы** (Online Certificate Status Protocol)
|
||
2. **Ссылки на источники проверки статуса**
|
||
|
||
### **Почему OCSP, а не CRL:**
|
||
| Параметр | CRL | OCSP |
|
||
|----------|-----|------|
|
||
| **Размер** | Большой (все отозванные сертификаты) | Маленький (только нужный сертификат) |
|
||
| **Актуальность** | Обновляется периодически | Реальное время |
|
||
| **Включение в подпись** | Занимает много места | Компактный |
|
||
| **Стандарт CAdES** | Допустимо | Рекомендуется |
|
||
|
||
### **В CAdES-XL:**
|
||
```
|
||
RevocationValues ::= SEQUENCE {
|
||
crlVals [0] EXPLICIT CRLList OPTIONAL,
|
||
ocspVals [1] EXPLICIT OcspResponses OPTIONAL,
|
||
otherRevVals [2] EXPLICIT OtherRevVals OPTIONAL
|
||
}
|
||
```
|
||
В данной подписи заполнено только поле **ocspVals**.
|
||
|
||
---
|
||
|
||
## ⚠️ **4. ВОПРОС БЕЗОПАСНОСТИ: "ВДРУГ ПРИ ПОДПИСАНИИ СЕРТИФИКАТ УЖЕ ОТОЗВАН?"**
|
||
|
||
### **Как это должно работать по стандарту:**
|
||
|
||
1. **Подписывающая сторона** перед созданием подписи:
|
||
- Запрашивает статус своего сертификата через OCSP
|
||
- Включает OCSP-ответ в подпись
|
||
- Ставит штамп времени
|
||
|
||
2. **Для цепочки сертификатов**:
|
||
- Должны быть проверены ВСЕ сертификаты в цепочке
|
||
- Включая промежуточный УЦ
|
||
|
||
### **Проблема в данной подписи:**
|
||
**Отсутствует OCSP-ответ для сертификата УЦ "СКБ Контур"!**
|
||
|
||
### **Чем это грозит:**
|
||
1. **Сценарий "злоумышленник":**
|
||
- УЦ отзывает свой сертификат в 10:00
|
||
- Злоумышленник получает подпись в 10:01 (до обновления кэшей)
|
||
- Проверяющая сторона видит, что сертификат УЦ не проверен
|
||
- **Подпись должна считаться недействительной!**
|
||
|
||
2. **Сценарий "компрометация ключа УЦ":**
|
||
- Если ключ УЦ скомпрометирован, он должен быть отозван немедленно
|
||
- Без проверки статуса УЦ подписи, созданные после компрометации, будут проходить проверку
|
||
|
||
---
|
||
|
||
## 🛡️ **5. КАК ПРОВЕРИТЬ СТАТУС УЦ ПРИ ВЕРИФИКАЦИИ**
|
||
|
||
### **Обязательные действия при проверке:**
|
||
|
||
1. **Проверить наличие OCSP-ответов для всех сертификатов:**
|
||
- Подписанта ✅ (есть)
|
||
- TSA ✅ (есть)
|
||
- Промежуточного УЦ ❌ (отсутствует)
|
||
|
||
2. **Если OCSP отсутствует - запросить самостоятельно:**
|
||
```python
|
||
# Псевдокод проверки
|
||
for cert in certificate_chain:
|
||
if not has_ocsp_response(cert):
|
||
ocsp_response = fetch_ocsp(cert)
|
||
if ocsp_response.status != GOOD:
|
||
reject_signature()
|
||
```
|
||
|
||
3. **Альтернативно - проверить по CRL:**
|
||
- Получить URL CRL из сертификата УЦ
|
||
- Скачать актуальный CRL список
|
||
- Проверить наличие сертификата в списке отозванных
|
||
|
||
### **URL для проверки (из сертификата УЦ):**
|
||
- **OCSP-сервер:** `http://ocsp.skbkontur.ru`
|
||
- **CRL-распределитель:** `http://cdp.skbkontur.ru/cdp/skbkontur-q-2025.crl`
|
||
|
||
---
|
||
|
||
## 📊 **6. СРАВНЕНИЕ С ТРЕБОВАНИЯМИ СТАНДАРТОВ**
|
||
|
||
### **ETSI EN 319 122-1 (CAdES):**
|
||
| Требование | Соответствие | Комментарий |
|
||
|------------|--------------|-------------|
|
||
| Полная цепочка сертификатов | ✅ | Все сертификаты присутствуют |
|
||
| Проверка статуса подписанта | ✅ | OCSP-ответ включен |
|
||
| Проверка статуса TSA | ✅ | OCSP-ответ включен |
|
||
| **Проверка статуса УЦ** | **⚠️ Частично** | **Нет OCSP, есть только ссылки** |
|
||
| Доказательства на момент подписания | ✅ | Штамп времени присутствует |
|
||
|
||
### **RFC 5126 (CAdES-XL):**
|
||
> "The signature policy MAY require that the status of CA certificates be included in the revocation information."
|
||
|
||
**Вывод:** Зависит от политики подписания. В российских условиях проверка УЦ обычно требуется.
|
||
|
||
---
|
||
|
||
## 🔬 **7. ТЕХНИЧЕСКИЙ АНАЛИЗ НАЛИЧИЯ CRL**
|
||
|
||
### **Поиск CRL в ASN.1 структуре:**
|
||
|
||
1. **В `SignedData`:** `crls` поле отсутствует
|
||
2. **В `RevocationValues`:** `crlVals` поле пустое
|
||
3. **В `CompleteRevocationRefs`:** только OCSP ссылки
|
||
|
||
### **Признаки отсутствия CRL:**
|
||
- Нет OID `1.3.6.1.4.1.311.10.6.2` (szOID_CRL_NEXT_PUBLISH)
|
||
- Нет полей `crlDistributionPoints` в значениях
|
||
- Нет бинарных данных CRL в структуре
|
||
|
||
---
|
||
|
||
## 🎯 **8. ИТОГОВЫЕ ВЫВОДЫ И РЕКОМЕНДАЦИИ**
|
||
|
||
### **Ключевые выводы:**
|
||
|
||
1. **CRL-списки отсутствуют** - используются OCSP-ответы
|
||
2. **Статус УЦ "СКБ Контур" не проверен** в рамках подписи
|
||
3. **Подпись технически корректна**, но требует дополнительной проверки УЦ
|
||
4. **Соответствует CAdES-XL**, но с ограничениями
|
||
|
||
### **Рекомендации для проверяющей стороны:**
|
||
|
||
#### **Обязательно:**
|
||
1. **Запросить статус УЦ "СКБ Контур"** через OCSP
|
||
2. **Проверить целостность цепочки** до доверенного корня
|
||
3. **Убедиться, что штамп времени** поставлен до возможного отзыва
|
||
|
||
#### **Рекомендуется:**
|
||
1. **Кэшировать статус УЦ** для оптимизации
|
||
2. **Использовать TSP-сервисы** для автоматической проверки
|
||
3. **Вести журнал проверок** для аудита
|
||
|
||
### **Для подписывающей стороны (на будущее):**
|
||
1. **Включать OCSP-ответы для ВСЕХ сертификатов** в цепочке
|
||
2. **Использовать TSA с включением полной цепочки проверки**
|
||
3. **Следовать политике подписания**, требующей проверки УЦ
|
||
|
||
---
|
||
|
||
## ⚖️ **ЮРИДИЧЕСКИЙ АСПЕКТ**
|
||
|
||
### **По 63-ФЗ "Об электронной подписи":**
|
||
> "Квалифицированная электронная подпись должна создаваться с использованием средств электронной подписи, прошедших подтверждение соответствия"
|
||
|
||
### **Судебная практика показывает:**
|
||
- Отсутствие проверки УЦ может быть основанием для оспаривания подписи
|
||
- Суды требуют доказательства актуальности ВСЕХ сертификатов на момент подписания
|
||
- **Рекомендация:** Всегда проверять цепочку до корня
|
||
|
||
---
|
||
|
||
**Заключение:** Данная подпись является технически корректной CAdES-XL подписью, но для полной юридической силы **требует дополнительной проверки статуса УЦ "СКБ Контур"** вне рамок самой подписи. Это распространенная практика, но важно осознавать этот ограничение при критических применениях.
|