Оновлення ключів шифрування id.gov.ua

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

Для інтеграції з системою id.gov.ua необхідно налаштувати ключі шифрування (надалі – ключ). Ключ забезпечує безпечний обмін даними.

Щоб додати ключ, дотримуйтеся кроків, описаних у поточній інструкції.

1. Додавання ключа

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

    update cluster mgmt ua 01

  2. Відкрийте меню Керування Платформою.

  3. У правому верхньому куті сторінки натисніть Редагувати.

    update cluster mgmt 1

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

    change key 40

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

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

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

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

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

  1. У розділі Файлові ключі натисніть — Додати файловий ключ.

  2. Вкажіть назву ключа в полі Технічна назва ключа. Ця назва використовується лише для зручності адміністрування ключ.

    change key 43

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

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

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

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

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

      change key 07

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

      change key 08

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

      change key 09

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

      change key 10

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

      change key 11

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

      change key 12

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

      change key 13

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

    change key 06

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

    change key 20

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

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

  1. У розділі Апаратні ключі натисніть — Додати апаратний ключ.

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

    change key 22

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

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

    change key 23

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

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

      Кроки інсталяції програми описані у пунктах 3.1-3.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

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

    change key 26

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

    change key 29

    Значення можна переглянути у файлі параметрів взаємодії із сумісними ЦСК (CAs.json), який можна отримати на сайті АТ "ІІТ" за посиланням 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. Перевірте внесену інформацію та натисніть Підтвердити.

    change key 37

  12. Перейдіть до наступного ключа або натисніть Підтвердити.

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

change key 36

У разі видалення ключа слід також очистити відповідні записи в INI-файлі.

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

3. Керування доступом до ключа

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

  1. Поверніться до секції Керування ключами.

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

    change key 44

  3. У випадаючому списку поля Дозволено для реєстрів оберіть назви реєстрів. Натисніть Підтвердити.

    change key 45

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

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

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

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

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

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

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

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

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

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

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

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

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

  • CASecretData

  • osplm.ini

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

  • Ключі шифрування

Шлях до engine для платформних ключів виглядає так:

registry-kv/cluster/key-management

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

Приклад 1. Конфігурація values.yaml компонента cluster-mgmt для оновлення даних про файловий ключ
digital-signature:
  data:
    CACertificates: <path to vault>
    CAs: <path to vault>
  keys:
    <key name>:
        allowedRegistries:
          - <registry name>
        device-type: file
        file: <path to vault>
        issuer: <path to vault>
        password: <path to vault>
Приклад 2. Конфігурація values.yaml компонента cluster-mgmt для оновлення даних про апаратний ключ
digital-signature:
  data:
    CACertificates: <path to vault>
    CAs: <path to vault>
    osplm.ini: ""
  keys:
    <key name>:
        allowedRegistries:
          - <registry name>
        device-type: hardware
        type: ""
        device: ""
        password: <path to vault>

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

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

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

Зміст секретів, які створює пайплайн на основі values.yaml:
Приклад 3. Секрети для файлового ключа
digital-signature-data:
    CACertificates.p7b
    CAs.json
    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
    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.3. Підтвердження змін та запуск пайплайну

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

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

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

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

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

    cp submit mr 3

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

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

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

    change key 42

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

    cp platform admins 25