2.2. Система контролю цілісності державних інформаційних ресурсів
Етап 1
Користувач А зашифровує повідомлення. Секретний ключ К передається по закритому каналу.
Етап 2
Накладання розробленої хеш-функції на зашифроване повідомлення.
Етап 3
Накладання електронно-цифрового підпису (ЕЦП).
Етап 4
Передача зашифрованого повідомлення користувачеві В.
Етап 5
Перевірка ЕЦП.
Етап 6
Користувач В перевіряє цілісність повідомлення
Етап 7
У випадку коректності перевірки цілісності, користувач В розшифровує повідомлення секретним ключем К.
Схема контролю цілісності державних інформаційних ресурсів наведена на рис.2.3
Рис. 2.3. Система контролю цілісності державних інформаційний ресурсів.
ЕЦП - це блок інформації, який додається до файлу даних автором (підписантом) і захищає файл від несанкціонованої модифікації, а також вказує на підписувача (власника підпису).
Для функціонування ЕЦП використовуються 2 ключі захисту (які зберігаються в різних файлах):
Секретний ключ, який зберігається у підписувача (наприклад, на дискеті, пристрої Touch Memory, Smart-карті і т.п.)
Відкритий ключ, який, як правило, публікується в загальнодоступному або спеціалізованому довіднику.
Для накладання ЕЦП використовується таємний (особистий) ключ, а для її перевірки - відкритий (загальновідомий) ключ.
Алгоритм роботи системи побудовано таким чином, що маючи доступ до відкритого ключа неможливо відтворити таємний ключ або поставити цифровий підпис - його можна тільки перевірити.
Система ЕЦП включає дві процедури: 1) процедуру постановки підпису; 2) процедуру перевірки підпису. У процедурі постановки підпису використовується секретний ключ відправника повідомлення, в процедурі перевірки підпису - відкритий ключ відправника.
При формуванні ЕЦП відправник насамперед обчислює хеш-функцію підписуваного тексту. Обчислення значення хеш-функціїявляє собою один короткий блок інформації, що характеризує весь текств цілому. Потім число m шифрується секретним ключем відправника. Отримана при цьому пара чисел являє собою ЕЦП для даного тексту.
При перевірці ЕЦП одержувач повідомлення знову обчислює хеш-функцію прийнятого по каналу тексту, після чого за допомогою відкритого ключа відправника перевіряє, чи відповідає отримана підпис обчисленому значеннюхеш-функції.
В програмі використовувався алгоритм ЕЦП на основі еліптичних кривих.
Алгоритм ECDSA (Elliptic Curve DSA) є аналогом алгоритму цифрового підпису DSA (Digital Signature Algorithm), реалізованим за допомогою еліптичних груп. Розглянемо еліптичну групу і генеруючу точкуз порядком, причомупросте число. Користувачі A генерують свої ключі: секретнийі відкритий, де. Для постановки цифрового підпису під повідомленнямкористувач A:
На основі хеш-функції знаходить хеш-кодвід. В якості хеш-функції повинна використовуватися криптографічно стійка функція.
Генерує випадкове число .
Обчислює значення і. Якщо, повертається на крок 2.
Обчислює . Якщо, то повертається на крок 2.
Підпис повідомлення - це пара цілих чисел. Для перевірки цифрового підпису користувач B використовує ту ж еліптичну групу, генеруючу точку, відкритий ключі хеш-функцію.
На основі хеш-функції визначаємо хеш-кодвід.
Перевіряємо, чи належать числа іінтервалу від 1 до.
Обчислюємо . Обчислюємоі.
Обчислюємо і.
Рівність засвідчує підпис користувача A.