Оновлення ключів та сертифікатів цифрового підпису для реєстру

🌐 Цей документ доступний українською та англійською мовами. Використовуйте перемикач у правому верхньому куті, щоб змінити версію.

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

Для заміни цифрового ключа реєстру дотримуйтеся кроків, описаних нижче в поточній інструкції.

1. Редагування даних ключа

  1. Увійдіть до адміністративної панелі управління реєстрами Control Plane, використовуючи попередньо отримані логін та пароль.

    update cluster mgmt 01

  2. Перейдіть до розділу Реєстри та оберіть відповідний реєстр, в якому необхідно змінити системний ключ.

    change key 01

  3. Натисніть кнопку Редагувати, що розташована у правому верхньому куті.

    change key 02

  4. Перейдіть до секції Дані про ключ та виконайте подальші налаштування.

    change key 03

2. Налаштування ключа

Можна налаштувати два типи ключів:

  • файловий ключ — зберігається на користувацькому носії у форматі *.dat;

  • апаратний ключ — зберігаються на мережевому криптомодулі та управляється програмним забезпеченням АТ "ІІТ".

2.1. Налаштування ключа на файловому носії

  1. Оберіть Тип носія — Файловий носій (встановлюється за замовчуванням).

    change key 04

  2. Додайте новий системний ключ, натиснувши кнопку Вибрати файл. У новому вікні перейдіть до теки, де зберігається файл ключа формату *.dat, оберіть його і натисніть Відкрити.

    change key 05

  3. Наступним кроком зазначте назву АЦСК у полі АЦСК, що видав ключ.

    • 3.1. Щоб дізнатися назву АЦСК ключа, завантажте додаток «Користувач центру сертифікації ключів. Інсталяційний пакет (ОС Microsoft Windows)» з офіційного ресурсу АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

      Далі відкрийте завантажений файл для інсталяції ПЗ.

      Подальший приклад буде розглянуто для користувача ОС Microsoft Windows з додатком EUInstall.exe.

      change key 07

    • 3.2. Інсталюйте та запустіть програму «ІІТ Користувач ЦСК», пройшовши всі запропоновані кроки.

      change key 08

    • 3.3. У вікні програми натисніть Зчитати.

      change key 09

    • 3.4. Оберіть ключ у відповідній директорії. Далі введіть пароль ключа і натисніть Зчитати.

      change key 10

    • 3.5. Після зчитування ключа в інтерфейсі програми «ІІТ Користувач ЦСК» з’явиться нове меню Переглянути власний сертифікат — натисніть на нього.

      change key 11

    • 3.6. У новому вікні буде зазначена інформація з назвою АЦСК у полі ЦСК.

      change key 12

    • 3.7. Скопіюйте назву ЦСК на попередньому кроці й вставте її значення у поле АЦСК, що видав ключ у налаштуваннях реєстру Control Plane.

      change key 13

  4. Введіть пароль обраного системного ключа у відповідному полі.

    change key 06

  5. Наступним кроком додайте список сертифікатів сумісних ЦСК (.p7b). Файл можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    При розгортанні та роботі з тестовим реєстром, використовуйте сертифікати тестового АЦСК, інакше пайплайн розгортання реєстру не пройде, а ви отримаєте помилку ініціалізації криптосервісу digital-signature-ops. Це станеться через те, що файли сертифікатів для виробничого середовища просто не містять даних про тестові АЦСК.

    Для промислового середовища використовуйте відповідні prod-сертифікати.

    Додайте файл сертифіката, натиснувши кнопку Вибрати файл у полі Публічні сертифікати АЦСК (розширення .p7b). У новому вікні перейдіть до теки, де зберігається файл сертифіката, оберіть його і натисніть Відкрити.

    change key 14

  6. Далі додайте параметри взаємодії із сумісними ЦСК (.json). Файл можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    При розгортанні та роботі з тестовим реєстром, використовуйте сертифікати тестового АЦСК, інакше пайплайн розгортання реєстру не пройде, а ви отримаєте помилку ініціалізації криптосервісу digital-signature-ops. Це станеться через те, що файли сертифікатів для виробничого середовища просто не містять даних про тестові АЦСК.

    Для промислового середовища використовуйте відповідні prod-сертифікати.

    Додайте файл сертифіката, натиснувши кнопку Вибрати файл у полі Перелік АЦСК (розширення .json). У новому вікні перейдіть до теки, де зберігається файл з параметрами, оберіть його і натисніть Відкрити.

    change key 15

  7. Далі вкажіть Перелік дозволених ключів, підпис яких може вважатися правдивим.

    У цьому блоці зазначається перелік ключів, у тому числі й старих (наприклад, при ротації ключів), щоб все, що раніше було підписано старим ключем, вважалося перевіреним (провалідованим). Тобто перелік дозволених ключів повинен містити історію даних усіх ключів, що використовувались у системі для накладання підпису.

    У переліку дозволених ключів вказуються наступні дані ключа:

    • 7.1. Для отримання інформації для поля Емітент ключа відкрийте детальну інформацію про ключ, після його зчитування у програмі «ІІТ Користувач ЦСК» (див. кроки 4.3.-4.6. цієї інструкції), натиснувши Детальна інформація.

      change key 17

    • 7.2. У новому вікні оберіть рядок Реквізити ЦСК, і в нижньому полі скопіюйте його повне значення для заповнення поля Емітент ключа у Control Plane.

      change key 18

    • 7.3. Для отримання інформації для поля Серійний номер ключа відкрийте детальну інформацію про ключ, після його зчитування в програмі «ІІТ Користувач ЦСК» (див. кроки 4.3.-4.6. цієї інструкції), натиснувши Детальна інформація.

      change key 17

    • 7.4. У новому вікні оберіть рядок Реєстраційний номер, і в нижньому полі скопіюйте його повне значення для заповнення поля Серійний номер ключа у Control Plane.

      change key 19

  8. На завершення перевірте внесену інформацію і натисніть кнопку Підтвердити.

    change key 20

    У результаті внесення змін у дані про ключ на інтерфейсі Control Plane, створюється новий запит на оновлення конфігурації реєстру, який необхідно підтвердити.

2.2. Налаштування апаратного ключа

  1. Оберіть Тип носія — Апаратний носій.

    change key 21

  2. Значення поля Тип ключа зазначається за замовчуванням значенням криптомод. ІІТ Гряда-301.

    change key 22

  3. Введіть пароль апаратного ключа у відповідному полі.

    Пароль ключа має наступну структуру ##User##Password.

    change key 23

  4. Наступним кроком зазначте назву АЦСК у полі «Ім’я АЦСК».

    • 4.1. Отримати інформацію про назву АЦСК можливо у програмі «ІІТ Користувач ЦСК», відкрийте її.

      Кроки інсталяції програми описані у пунктах 4.1-4.3 попереднього розділу.

    • 4.2. У вікні програми натисніть «Зчитати».

      change key 09

    • 4.3. Оберіть ключ у директорії «криптомод. ІІТ Гряда-301». Далі введіть пароль ключа (у форматі ##User##Password) і натисніть «Зчитати».

      change key 24

    • 4.4. Після зчитування ключа в інтерфейсі програми «ІІТ Користувач ЦСК» з’явиться нове меню «Переглянути власний сертифікат» - натисніть на нього.

      change key 11

    • 4.5. Натисніть «Детальна інформація»

      change key 17

    • 4.6. Скопіюйте назву ЦСК.

      change key 25

    • 4.7. Вставте значення в поле Ім’я АЦСК в налаштуваннях реєстру Control Plane.

      change key 28 01

  5. Наступним кроком вкажіть параметр Хост АЦСК.

    change key 28

    Значення можна переглянути у файлі параметрів взаємодії із сумісними ЦСК, який можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    change key 26

  6. Далі заповніть параметр Порт АЦСК.

    change key 29

    Значення можна переглянути у файлі параметрів взаємодії із сумісними ЦСК, який можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    change key 27

  7. Вкажіть Серійний номер пристрою.

    change key 32

    Наступні параметри зазначаються під час створення і налаштування мережевого криптомодуля.

    change key 31

    Серійний номер пристрою відображається в назві ключа, наприклад:

    001:3016(10.0.200.102), де

    • 001 — серійний номер пристрою;

    • 3016 — порт ключа;

    • 10.0.200.102 — хост ключа.

    change key 30

  8. Вкажіть Порт ключа.

    change key 33

  9. Вкажіть Хост ключа (IP-адреса).

    change key 34

  10. Вкажіть Маску ключа.

    change key 35

    За замовчуванням встановлюється значення 255.255.255.255.

  11. На підставі усіх раніше вказаних параметрів буде автоматично сконфігуровано INI-файл. Детальна інформація щодо його вмісту і додаткових параметрів відображається у відповідному полі INI конфігурація, яке доступне до редагування.

    change key 36

  12. Наступним кроком додайте список сертифікатів сумісних ЦСК (.p7b). Файл можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    При розгортанні та роботі з тестовим реєстром, використовуйте сертифікати тестового АЦСК, інакше пайплайн розгортання реєстру не пройде, а ви отримаєте помилку ініціалізації криптосервісу digital-signature-ops. Це станеться через те, що файли сертифікатів для виробничого середовища просто не містять даних про тестові АЦСК.

    Для промислового середовища використовуйте відповідні prod-сертифікати.

    Додайте файл сертифіката, натиснувши кнопку Вибрати файл у полі Публічні сертифікати АЦСК (розширення .p7b). У новому вікні перейдіть до теки, де зберігається файл сертифіката, оберіть його та натисніть Відкрити.

    change key 14

  13. Далі додайте параметри взаємодії із сумісними ЦСК (.json). Файл можна отримати на сайті АТ "ІІТ" за посиланням https://iit.com.ua/downloads.

    При розгортанні та роботі з тестовим реєстром, використовуйте сертифікати тестового АЦСК, інакше пайплайн розгортання реєстру не пройде, а ви отримаєте помилку ініціалізації криптосервісу digital-signature-ops. Це станеться через те, що файли сертифікатів для виробничого середовища просто не містять даних про тестові АЦСК.

    Для промислового середовища використовуйте відповідні prod-сертифікати.

    Додайте файл сертифіката, натиснувши кнопку Вибрати файл у полі Перелік АЦСК (розширення .json). У новому вікні перейдіть до директорії, де зберігається файл з параметрами, оберіть його та натисніть Відкрити.

    change key 15

  14. Вкажіть Перелік дозволених ключів, підпис яких може вважатися правдивим.

    У цьому блоці зазначається перелік ключів, у тому числі й старих (наприклад, при ротації ключів), щоб все, що раніше було підписано старим ключем, вважалося перевіреним (провалідованим). Тобто перелік дозволених ключів повинен містити історію даних усіх ключів, що використовувались у системі для накладання підпису.

    У переліку дозволених ключів вказуються наступні дані ключа:

    change key 16

  15. На завершення перевірте внесену інформацію та натисніть Підтвердити.

    change key 37

    У результаті внесення змін у дані про ключ на інтерфейсі Control Plane, створюється новий запит на оновлення конфігурації реєстру, який необхідно підтвердити.

3. Підтвердження змін та застосування конфігурації

Оновлення реєстрових ключів виконується через внесення змін до конфігурації Сервісу цифрового підпису.

3.1. Алгоритм конфігурації ключів цифрового підпису

Загальний алгоритм конфігурації наступний для ключів платформи та реєстру:
  • Адміністратор редагує платформні, або реєстрові ключі цифрового підпису в інтерфейсі адміністративної панелі Control Plane.

  • Вебінтерфейс Control Plane зберігає внесені адміністратором зміни до сервісу HashiCorp Vault підсистеми управління секретами та шифруванням, або до сервісу Gerrit підсистеми розгортання та налаштування Платформи та реєстрів.

  • Вебінтерфейс Control Plane відображає шлях до значень та файлів у відповідних конфігураціях values.yaml.

  • Пайплайн забирає необхідні дані із HashiCorp Vault або Gerrit та створює необхідні секрети в OpenShift.

Нижче подано схему оновлення платформних та реєстрових ключів та конфігурацію сервісу цифрового підпису.

registry-platform-keys
registry-platform-keys
Зображення 1. Оновлення платформних та реєстрових ключів та конфігурація сервісу цифрового підпису

3.2. Параметри конфігурації та створення секретів

Адміністративна панель Control Plane зберігає наступні дані у Vault для Сервісу цифрового підпису (DSO):

  • Перелік АЦСК

  • KeySecretData

  • CASecretData

  • AllowedKeysSecretData

  • osplm.ini

  • Дані для змінних середовища DSO (DSO env vars)

Шлях до engine для реєстрових ключів виглядає так:

registry-kv/registry/<назва-реєстру>/key-management/

Параметри та шляхи додаються до конфігурації реєстру deploy-templates/values.yaml.

Приклад 1. Конфігурація values.yaml реєстру для оновлення даних про файловий ключ
digital-signature:
  data:
    CACertificates: <path to vault>
    CAs: <path to vault>
    Key-6-dat: <path to vault>
    allowed-keys-yml: <path to vault>
    osplm.ini: ""
  env:
    sign.key.device-type: file
    sign.key.file.issuer: <path to vault>
    sign.key.file.password: <path to vault>
    sign.key.hardware.device: ""
    sign.key.hardware.password: ""
    sign.key.hardware.type: ""
Приклад 2. Конфігурація values.yaml реєстру для оновлення даних про апаратний ключ
digital-signature:
  data:
    CACertificates: <path to vault>
    CAs: <path to vault>
    Key-6-dat: ""
    allowed-keys-yml: <path to vault>
    osplm.ini: <path to vault>
  env:
    sign.key.device-type: hardware
    sign.key.file.issuer: ""
    sign.key.file.password: ""
    sign.key.hardware.device: <path to vault>
    sign.key.hardware.password: <path to vault>
    sign.key.hardware.type: <path to vault>

Пайплайн MASTER-Build-<назва-реєстру> створює секрети для digital-signature-env-vars та digital-signature-data і зберігає їх в OpenShift.

  • Адміністративна панель перезаписує дані у Vault при оновленні інформації про ключі.

  • Пайплайн при оновленні даних про ключ, перестворює секрети, тобто є ідемпотентним.

Зміст секретів, які створює пайплайн на основі values.yaml:
Приклад 3. Секрети для файлового ключа
digital-signature-data:
    CACertificates.p7b
    CAs.json
    Key-6.dat
    allowed-keys.yml
    osplm.ini -- порожній
digital-signature-env-vars:
    sign.key.device-type
    sign.key.file.issuer
    sign.key.file.password
    sign.key.hardware.device -- порожній
    sign.key.hardware.password -- порожній
    sign.key.hardware.type -- порожній
Приклад 4. Секрети для апаратного ключа
digital-signature-data:
    CACertificates.p7b
    CAs.json
    Key-6.dat -- порожній
    allowed-keys.yml
    osplm.ini -- згенерований із шаблону
digital-signature-env-vars:
    sign.key.device-type
    sign.key.file.issuer -- порожній
    sign.key.file.password -- порожній
    sign.key.hardware.device
    sign.key.hardware.password
    sign.key.hardware.type

3.3. Підтвердження змін та запуск пайплайну

У результаті оновлення даних про ключ на інтерфейсі Control Plane, створюється новий запит на оновлення конфігурації реєстру, який необхідно підтвердити.

  1. В інтерфейсі адмін-панелі Control Plane поверніться до розділу Реєстри, прокрутіть бігунок униз сторінки та знайдіть секцію Запити на оновлення.

    cp submit mr 1

  2. Відкрийте сформований запит, натиснувши іконку перегляду — 👁.

    Запропоновані зміни вносяться до конфігурації файлу deploy-templates/values.yaml у разі підтвердження.
  3. У новому вікні зіставте 2 версії змін, переконайтеся, що внесені вами дані вірні, та натисніть Підтвердити.

    change key 38
    Зображення 2. Внесення даних про файловий ключ до конфігурації values.yaml
    change key 39
    Зображення 3. Внесення даних про апаратний ключ до конфігурації values.yaml

    cp submit mr 3

    В результаті запит набуває статусу Підтверджено, а зміни набувають чинності.

    cp submit mr 4

    Далі відбувається автоматичний запуск пайплайну MASTER-Build-<назва-реєстру>, який застосовує параметри заданої конфігурації та створює секрети для ключів цифрового підпису.

  4. Зачекайте, доки виконається збірка коду. Це може зайняти приблизно 15 хвилин, але все залежатиме від конфігурації певного реєстру.

    Ви можете перевірити поточний статус та результат виконання за посиланням CI на інтерфейсі.

    cp id gov ua iit setup 6

    cp id gov ua iit setup 7

    cp id gov ua iit setup 8