§ Інтеграції

Інтеграція з ЦСК для ЕЦП за ДСТУ 4145

Підключення центру сертифікації ключів, перевірка підписів, типові проблеми OCSP/CRL.

ЧАС: 12 хв читання СКЛАДНІСТЬ: Розширена ОНОВЛЕНО: 2026-05-14

Електронний підпис за ДСТУ 4145 — стандарт для української державної інфраструктури. На відміну від міжнародних алгоритмів (RSA, ECDSA), ДСТУ 4145 базується на власному стандарті криптографії на еліптичних кривих з GOST-сумісним підходом до представлення. Інтеграція з центром сертифікації ключів (ЦСК) — обов’язкова для систем, що приймають кваліфікований електронний підпис.

Огляд PKI для державних систем

Українська PKI-інфраструктура побудована навколо Закону України «Про електронні довірчі послуги». Ключові ролі:

  • Кваліфіковані надавачі електронних довірчих послуг (раніше — кваліфіковані ЦСК). Видають сертифікати фізичним та юридичним особам.
  • Центральний засвідчувальний орган: засвідчує сертифікати ЦСК (це фактично кореневий ЦСК для всіх кваліфікованих).
  • Контролюючий орган: Адміністрація Держспецзв’язку.

ЦСК в Україні

На ринку діє понад 15 кваліфікованих надавачів. Серед найбільших:

  • АЦСК ІДД ДПС (Інформаційно-довідковий департамент Державної податкової служби) — один з найбільших, з безкоштовною видачею сертифікатів громадянам.
  • АЦСК АТ «Приватбанк» — поширений у банківському секторі.
  • АЦСК Міністерства внутрішніх справ — для співробітників МВС.
  • Комерційні ЦСК: «Український сертифікаційний центр», «MASTERKEY», «Український цифровий вузол» та інші.

Користувач може мати сертифікати від кількох ЦСК одночасно. Система, що приймає підпис, повинна підтримувати всіх кваліфікованих ЦСК — не тільки одного.

Інтеграція UBD з ЦСК

Інтеграція складається з трьох рівнів:

1. Реалізація алгоритму ДСТУ 4145

UBD містить вбудовану реалізацію ДСТУ 4145 для перевірки і генерації підписів. Реалізація сертифікована як частина експертного висновку Г-3.

2. Перевірка ланцюжка сертифікатів

Сертифікат користувача підписаний ЦСК. ЦСК — Центральним засвідчувальним органом. Кореневий сертифікат довіреного засвідчувального органу повинен бути встановлений у trust store UBD.

Trust store UBD має містити кореневі сертифікати всіх ЦСК, з якими планується працювати. Список оновлюється при додаванні нових ЦСК до реєстру.

3. Перевірка статусу сертифіката

Сертифікат може бути відкликаний (revoked) до закінчення терміну дії — наприклад, при втраті носія ключа. Перевірка статусу — обов’язкова частина перевірки підпису. Два механізми:

  • CRL (Certificate Revocation List): ЦСК публікує список відкликаних сертифікатів. UBD періодично завантажує CRL і перевіряє наявність сертифіката.
  • OCSP (Online Certificate Status Protocol): UBD робить запит до OCSP-responder’а ЦСК у real-time для конкретного сертифіката.
Механізм Переваги Недоліки
CRL Працює офлайн (після завантаження), низьке навантаження на ЦСК Може бути застарілим (інтервал оновлення), великий обсяг при тривалій історії
OCSP Real-time, точніший, менший обсяг даних Залежить від доступності ЦСК, додає latency, навантаження на ЦСК
OCSP stapling Real-time + менше навантаження на ЦСК Потребує підтримки на серверній стороні

Рекомендований підхід: OCSP як основний, CRL як fallback при недоступності OCSP-responder’а.

Налаштування OCSP/CRL

Параметри, які треба правильно встановити:

  • URL OCSP-responder’а для кожного ЦСК. Автоматично визначається з поля Authority Information Access (AIA) у сертифікаті, але краще явно вказати у налаштуваннях UBD як fallback.
  • URL CRL для кожного ЦСК.
  • Інтервал оновлення CRL: зазвичай 1-4 години. Не рідше, ніж раз на 8 годин.
  • Timeout OCSP-запиту: 5-10 секунд. Більше — погіршує UX; менше — false negatives на повільних каналах.
  • Кешування OCSP-відповідей: зазвичай 1-15 хвилин для зменшення навантаження.

Типові проблеми

Проблема 1. Закінчений сертифікат користувача

Користувач намагається підписати документ сертифікатом, термін дії якого минув. UBD коректно відмовляє, але повідомлення може бути не зрозумілим. Рішення: повідомлення з конкретною інформацією — «сертифікат недійсний з {date}, отримайте новий у ЦСК».

Проблема 2. Відкликаний сертифікат

Сертифікат відкликаний, але користувач продовжує його використовувати (наприклад, локально на токені). UBD ловить це через CRL/OCSP і відмовляє. Аудит: окремий запис у журналі.

Проблема 3. Заблокований ЦСК

ЦСК тимчасово припинив роботу (рідко, але буває — особливо для невеликих комерційних ЦСК). Сертифікати, видані цим ЦСК, не можуть бути перевірені через OCSP. CRL може бути недоступним. Рішення: процедура реагування на блокування ЦСК (повідомлення користувачам, тимчасові міри, оновлення довірених).

Проблема 4. Мережеві обмеження

UBD працює у захищеному сегменті без виходу в інтернет. OCSP-запити неможливі. Рішення: налаштувати локальний кеш OCSP-відповідей через проксі або забезпечити локальну копію CRL з періодичним оновленням через контрольований канал.

Проблема 5. Підпис на великих документах

Документ кілька сотень МБ. Підпис формується на хеш-сумі — швидко. Але передача документа з токеном на сервер може бути повільною. Оптимізація: хеш обчислюється локально на клієнті, передається на токен, токен повертає підпис — мережа не передає сам документ.

Багатоцільові ЦСК у одній системі

Особливість українських державних систем — користувачі можуть мати сертифікати від різних ЦСК. Один користувач може використовувати сертифікат АЦСК ІДД ДПС для звітності, сертифікат комерційного ЦСК для документообігу.

UBD має це підтримувати:

  • Trust store з усіма кореневими сертифікатами.
  • Прив’язка користувача до сертифіката за РНОКПП/ЄДРПОУ, а не за конкретним ЦСК.
  • Користувач може мати кілька активних сертифікатів — вибір при підписі.
[ ПРАКТИЧНА РЕАЛІЗАЦІЯ ]
Як UBD підтримує ДСТУ 4145 штатно

UBD підтримує ДСТУ 4145 + RSA + ECDSA паралельно як стандартну функцію — будь-який тип підпису обирається при налаштуванні документа. Реалізація ДСТУ 4145 покрита експертним висновком Г-3. Trust store ЦСК оновлюється через адміністративний інтерфейс. OCSP/CRL налаштовуються візуально, з тестом доступності для кожного ЦСК.

UnityBaseDefense — технічна довідка →

Мітки