doc/IT/CADES/AI/cryptopro-csp_old1.md

103 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### cryptopro CSP
Есть СЭД, где подписание проводится электронной подписью.
Параметры:
- Тип подписи: усиленная квалифицированная электронная подпись (УКЭП).
- Выдается аккредитованным центром УЦ Контур (удостоверяющий центр).
- Формат подписи: CADES-XL. В качестве OCSP сервера используется внешний сервис «УЦ Контур OCSP».
- TSP внешний сервис компании Тензор.
- Ключи хранятся в РуТокен.
- Внутри компании при подписании используются продукты КриптоПРО.
Нарисуй подробную схему (mermaid) взаимодействия всех компонент рассмотренного решения с указанием протокола, передаваемых данных и состава программных моделей на серверной и клиентской части.
```mermaid
sequenceDiagram
title Схема взаимодействия компонентов при электронном подписании в СЭД
participant Пользователь as Пользователь СЭД
participant Клиент as Клиентская часть СЭД
participant КриптоПРО as КриптоПРО CSP
participant Рутокен as Рутокен
participant СЭД_Сервер as Сервер СЭД
participant УЦ_Контур as УЦ Контур (OCSP)
participant Тензор_TSP as Тензор TSP
Note over Пользователь,Тензор_TSP: Процесс подписания документа
Пользователь->>Клиент: Инициация подписания документа
Клиент->>КриптоПРО: Запрос на создание хэша документа
КриптоПРО-->>Клиент: Хэш документа (SHA-256/512)
Клиент->>КриптоПРО: Запрос подписи хэша
КриптоПРО->>Рутокен: Команда подписания хэша
Рутокен-->>КриптоПРО: Подписанный хэш (RSA/ECDSA)
Note over КриптоПРО,УЦ_Контур: Получение данных для усиления подписи
Клиент->>УЦ_Контур: OCSP-запрос (HTTP/HTTPS)
УЦ_Контур-->>Клиент: OCSP-ответ (статус сертификата)
Клиент->>Тензор_TSP: TSP-запрос (HTTP/HTTPS)
Тензор_TSP-->>Клиент: TSP-ответ (метка времени)
Клиент->>КриптоПРО: Формирование CAdES-XL подписи
КриптоПРО-->>Клиент: Готовая подпись (PKCS#7/CMS)
Клиент->>СЭД_Сервер: Отправка подписанного документа
СЭД_Сервер->>СЭД_Сервер: Верификация подписи
СЭД_Сервер-->>Клиент: Результат подписания
Note over Клиент,СЭД_Сервер: Состав программных компонентов
box Клиентская часть
participant Вебраузер as Веб-браузер
participant КриптоПро_Плагин as КриптоПРО Browser Plugin
participant КриптоПРО_CSP as КриптоПРО CSP
participant Рутокен_Драйвер as Драйвер Рутокен
end
box Серверная часть
participant СЭД_Backend as Backend СЭД
participant КриптоПРО_Сервер as КриптоПРО SDK
participant БД_Сертификаты as База сертификатов
end
```
## Детализация компонентов и данных:
### Клиентская часть:
**Состав:**
- Веб-браузер с JavaScript API
- КриптоПРО Browser Plugin
- КриптоПРО CSP 4.0+
- Драйвер Рутокен
- Криптографические библиотеки
**Данные:**
- Исходный документ (PDF/XLS/DOC)
- Хэш документа (SHA-256/512)
- Электронная подпись (CAdES-XL)
- Сертификат ЭП (X.509)
### Серверная часть:
**Состав:**
- Backend СЭД (Java/.NET)
- КриптоПРО SDK
- База данных сертификатов
- API для внешних сервисов
### Протоколы и форматы:
- **OCSP:** HTTP/HTTPS, ASN.1
- **TSP:** HTTP/HTTPS, RFC 3161
- **Подпись:** CAdES-XL, PKCS#7/CMS
- **Сертификаты:** X.509 v3
- **Криптография:** RSA-2048/4096, ECDSA
### Ключевые процессы:
1. **Хэширование документа** - SHA-256/512
2. **Подписание хэша** - закрытым ключом с Рутокен
3. **Верификация статуса** - через OCSP УЦ Контур
4. **Временная метка** - через TSP Тензор
5. **Формирование CAdES-XL** - включение всех данных в подпись
6. **Верификация на сервере** - проверка целостности и валидности