Підключення центру сертифікації ключів, перевірка підписів, типові проблеми OCSP/CRL.
Електронний підпис за ДСТУ 4145 — стандарт для української державної інфраструктури. На відміну від міжнародних алгоритмів (RSA, ECDSA), ДСТУ 4145 базується на власному стандарті криптографії на еліптичних кривих з GOST-сумісним підходом до представлення. Інтеграція з центром сертифікації ключів (ЦСК) — обов’язкова для систем, що приймають кваліфікований електронний підпис.
Українська PKI-інфраструктура побудована навколо Закону України «Про електронні довірчі послуги». Ключові ролі:
На ринку діє понад 15 кваліфікованих надавачів. Серед найбільших:
Користувач може мати сертифікати від кількох ЦСК одночасно. Система, що приймає підпис, повинна підтримувати всіх кваліфікованих ЦСК — не тільки одного.
Інтеграція складається з трьох рівнів:
UBD містить вбудовану реалізацію ДСТУ 4145 для перевірки і генерації підписів. Реалізація сертифікована як частина експертного висновку Г-3.
Сертифікат користувача підписаний ЦСК. ЦСК — Центральним засвідчувальним органом. Кореневий сертифікат довіреного засвідчувального органу повинен бути встановлений у trust store UBD.
Trust store UBD має містити кореневі сертифікати всіх ЦСК, з якими планується працювати. Список оновлюється при додаванні нових ЦСК до реєстру.
Сертифікат може бути відкликаний (revoked) до закінчення терміну дії — наприклад, при втраті носія ключа. Перевірка статусу — обов’язкова частина перевірки підпису. Два механізми:
| Механізм | Переваги | Недоліки |
|---|---|---|
| CRL | Працює офлайн (після завантаження), низьке навантаження на ЦСК | Може бути застарілим (інтервал оновлення), великий обсяг при тривалій історії |
| OCSP | Real-time, точніший, менший обсяг даних | Залежить від доступності ЦСК, додає latency, навантаження на ЦСК |
| OCSP stapling | Real-time + менше навантаження на ЦСК | Потребує підтримки на серверній стороні |
Рекомендований підхід: OCSP як основний, CRL як fallback при недоступності OCSP-responder’а.
Параметри, які треба правильно встановити:
Користувач намагається підписати документ сертифікатом, термін дії якого минув. UBD коректно відмовляє, але повідомлення може бути не зрозумілим. Рішення: повідомлення з конкретною інформацією — «сертифікат недійсний з {date}, отримайте новий у ЦСК».
Сертифікат відкликаний, але користувач продовжує його використовувати (наприклад, локально на токені). UBD ловить це через CRL/OCSP і відмовляє. Аудит: окремий запис у журналі.
ЦСК тимчасово припинив роботу (рідко, але буває — особливо для невеликих комерційних ЦСК). Сертифікати, видані цим ЦСК, не можуть бути перевірені через OCSP. CRL може бути недоступним. Рішення: процедура реагування на блокування ЦСК (повідомлення користувачам, тимчасові міри, оновлення довірених).
UBD працює у захищеному сегменті без виходу в інтернет. OCSP-запити неможливі. Рішення: налаштувати локальний кеш OCSP-відповідей через проксі або забезпечити локальну копію CRL з періодичним оновленням через контрольований канал.
Документ кілька сотень МБ. Підпис формується на хеш-сумі — швидко. Але передача документа з токеном на сервер може бути повільною. Оптимізація: хеш обчислюється локально на клієнті, передається на токен, токен повертає підпис — мережа не передає сам документ.
Особливість українських державних систем — користувачі можуть мати сертифікати від різних ЦСК. Один користувач може використовувати сертифікат АЦСК ІДД ДПС для звітності, сертифікат комерційного ЦСК для документообігу.
UBD має це підтримувати:
UBD підтримує ДСТУ 4145 + RSA + ECDSA паралельно як стандартну функцію — будь-який тип підпису обирається при налаштуванні документа. Реалізація ДСТУ 4145 покрита експертним висновком Г-3. Trust store ЦСК оновлюється через адміністративний інтерфейс. OCSP/CRL налаштовуються візуально, з тестом доступності для кожного ЦСК.