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

5.4 KiB
Raw Blame History

cryptopro CSP

Есть СЭД, где подписание проводится электронной подписью.
Параметры:

  • Тип подписи: усиленная квалифицированная электронная подпись (УКЭП).
  • Выдается аккредитованным центром УЦ Контур (удостоверяющий центр).
  • Формат подписи: CADES-XL. В качестве OCSP сервера используется внешний сервис «УЦ Контур OCSP».
  • TSP внешний сервис компании Тензор.
  • Ключи хранятся в РуТокен.
  • Внутри компании при подписании используются продукты КриптоПРО. Нарисуй подробную схему (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. Верификация на сервере - проверка целостности и валидности