Для процесу перевіряння необхідні такі елементи даних:
параметри проблемної області Z;
перевірковий ключ У;
повідомлення М;
підпис S;
ідентифікатори використовуваних геш-функцій, якщо вони однозначно не визначені іншими засобами (див. розділ 7);
інший текст (необов’язково).
Процес перевіряння механізму цифрового підписування з доповненням складається з таких процедур:
готування повідомлення для перевіряння;
відновлювання свідоцтва;
обчислювання перевіркової функції;
перевіряння свідоцтва.
Під час готування повідомлення для перевіряння може існувати потреба одержати з повідомлення М ідентифікаційні дані для ідентифікації достовірного перевіркового ключа підписувача.
Якщо свідоцтво детерміновано, то перевірювач відновлює значення свідоцтва як функцію повідомлення. Цей процес перевіряння зображений на рисунку 4.
Рисунок 4 — Процес перевіряння з детермінованим свідоцтвом
Інакше (див. рис. 5) перевірювач відновлює значення свідоцтва з підпису. Перший процес перевіряння має ту перевагу, що свідоцтво можна відновлювати і повторно обчислювати паралельно.
Рисунок 5 — Процес перевіряння з рандомізованим свідоцтвом
Готування повідомлення
Ця процедура повинна бути ідентична наведеній у 9.2. Входом є повідомлення М, а виходом — дві частини повідомлення і М2. Якщо використовується геш-функція і якщо вона однозначно не визначена механізмом чи параметрами проблемної області, перевірювач одержує ідентифікатор геш- функції з підписаного повідомлення.
Відновлювання свідоцтва
Детерміноване свідоцтво Н відновлюється обчислюванням його як геш-атрибута повідомлення з використанням тієї самої стійкої до колізій геш-функції, що використовувалася підписувачем у 9.3.
Якщо вона однозначно не визначена механізмом чи параметрами проблемної області, то перевірювач одержує ідентифікатор геш-функції з підписаного повідомлення.
Рандомізоване свідоцтво R відновлюється як перша частина підпису S чи як вихід перевіркової функції (див. рис. 5).
Обчислювання перевіркової функції
Перевіркова функція визначається відкритим ключем підписувача Y. Підпис S є обов’язковим входом для перевіркової функції. Якщо свідоцтво рандомізоване, частини повідомлення і М2 з інформацією є обов’язковими входами для цього кроку (див. рис. 5). Інакше (див. рис. 4) тільки друга частина М2, якщо вона з інформацією, є входом для перевіркової функції.
Виходом цієї процедури є повторно обчислене значення свідоцтва Н або R. Якщо рандомізова- не свідоцтво R не є частиною підпису, то воно відновлюється перевірювачем як другий вихідний елемент цієї процедури (див. рис. 5).
Перевіряння свідоцтва
На цьому кроці порівнюються два значення свідоцтва: одне — відновлене, як пояснено в 10.2, друге — повторно обчислене (див. 10.3). Якщо ці два значення дорівнюють один одному, перевірювач одержує обґрунтування того, що підпис L для повідомлення М був здійснений за допомогою ключа підпису X, що відповідає перевірковому ключу У, використаному під час перевіряння.
11 РАНДОМІЗОВАНІ МЕХАНІЗМИ З ПІДПИСАМИ, ЩО СКЛАДЕНІ З ДВОХ ЧАСТИН
У цьому розділі подані вдосконалення моделі, описаної в розділах 9 і 10. Ці вдосконалення стосуються конкретизації рандомізованих механізмів цифрового підписування, де підпис обчислюється в двох частинах.
Обчислювання підпису
Щоб обчислити підпис рандомізованим механізмом, необхідні такі елементи даних:
параметри проблемної області Z;
ключ підпису X;
попередній підпис П;
друга частина повідомлення М2;
детерміноване свідоцтво Нчи перша частина повідомлення Му,
рандомізатор К;
ідентифікатор геш-функцїї (необов’язковий).
В обчисленні підпису з двох частин у механізмі підписування можна виділити такі кроки:
обчислювання першої частини підпису;
обчислювання призначення;
обчислювання другої частини підпису.
Для механізму з детермінованим свідоцтвом ці кроки зображені на рисунку 6, що є розширенням блоку «обчислювання підпису» рисунка 2 для спеціального випадку рандомізованих механізмів.
Рисунок 6 — Обчислювання підпису рандомізованим механізмом з детермінованим свідоцтвом
Якщо свідоцтво рандомізоване, воно є першою частиною підпису. Кроки, необхідні для обчислювання підпису, зображені на рисунку 7, що є розширенням блоку «обчислювання підпису» (див. рис. 3).
Рисунок 7 — Обчислювання підпису з рандомізованим свідоцтвом як частини підпису
Потрібно, щоб для всіх значень попереднього підпису щодо обчислювання було неможливо знайти два повідомлення з однаковим свідоцтвом і призначенням. У більшості рандомізованих механізмів цифрового підписування або - М, а М2— порожньо, або Мі — порожньо, а М2= М.
У першому випадку свідоцтво Н чи R обчислюється за допомогою геш-функції, стійкої до колізій. У другому випадку, де Мі — порожньо, свідоцтво залежить тільки від попереднього підпису, а призначення 7 обчислюється за допомогою геш-функції, стійкої до колізій. Якщо геш-функція однозначно не визначена механізмом підписування чи параметрами проблемної області, до призначення треба включити ідентифікатор геш-функції.
1.1.1 Обчислювання першої частини підпису
Якщо свідоцтво рандомізоване, воно є першою частиною підпису. Його обчислюють так, як описано в 9.4.
Якщо свідоцтво детерміноване, то входами для цього кроку є свідоцтво Н і попередній підпис П. Виходом буде R — перша частина підпису. Цей процес обчислювання повинен бути зворотній в такому розумінні: за заданими R і П перевірювач повинен обчислити Н.
1.1.2 Обчислювання призначення
Входом для цього кроку є R— перша частина підпису, а також, можливо, частина повідомлення М2, а виходом буде призначення Т.
1.1.3 Обчислювання другої частини підпису
Функція підпису визначається ключем підпису X, на вході їй потрібні рандомізатор К і призначення Т, а на виході вона видає значення другої частини підпису S.
У деяких механізмах підписування функція підпису подається як рівняння, визначене набором параметрів з X, К і Тта S як невідомого,
11.2 Обчислювання перевіркової функції
Для обчислювання перевіркової функції необхідні такі елементи даних:
параметри проблемної області Z;
перевірковий ключ У;
підпис Z = (R, S);
друга частина повідомлення М2 (необов’язковий);
ідентифікатор геш-функції (необов’язковий).
Процес перевіряння рандомізованого механізму підписування складається з таких кроків:
відновлення призначення;
повторного обчислювання попереднього підпису;
повторного обчислювання свідоцтва.Для рандомізованих механізмів з детермінованим свідоцтвом ці кроки зображені на рисунку 8, що є розширенням відповідного блоку (див. рис. 4) для спеціального випадку рандомізованих механізмів. Якщо свідоцтво рандомізоване, воно обчислюється повторно, як зображено на рисунку 9, що є вдосконаленою версією відповідного блоку (див. рис. 5).
Рисунок 8 — Обчислювання перевіркової функції в рандомізованому механізмі з детермінованим свідоцтвом
Рисунок 9 — Обчислювання перевіркової функції
в рандомізованому свідоцтві як частини підпису
Відновлення призначення
Цей крок ідентичний 11.1.2. Виходом його є призначення 7.
Повторне обчислювання попереднього підпису
Цей крок визначається перевірковим ключем Y. Іншими входами в нього є друга частина підпису S і призначення 7з 11.2.1. Виходом буде повторно обчислене значення попереднього підпису П .
Відновлювання призначення
Цей крок ідентичний 11.1.2. Виходом його є призначення Т.
Повторне обчислювання попереднього підпису
Цей крок визначається перевірковим ключем У. Іншими входами в нього є друга частина підпису S і призначення Т з 11.2.1. Виходом буде повторно обчислене значення попереднього підпису П .
Повторне обчислювання свідоцтва
Якщо свідоцтво детерміноване, то відповідно до умови кроку 11.1.1 перевірювач згодний повторно обчислити значення свідоцтва Н_з першої частини підпису R, використовуючи повторно обчислене значення попереднього підпису П (див. рис. 8).
Якщо свідоцтво рандомізоване, то перевірювач використовує ту саму обчислювальну процедуру, що й підписувач в 9.3, щоб визначити повторно обчислене значення свідоцтва R залежно від повторно обчисленого попереднього підпису П і, необов’язково, від першої частини повідомлення (див. рис. 9).
УКНД 35.040
Ключові слова: безпека інформації, геш-атрибут, геш-функція, детерміноване свідоцтво, захист, перевіркова функція, перевірковий ключ, повідомлення, рандомізатор.
Редактор Є. Козир
Технічний редактор О. Марченко
Коректор О. Ніколаєнко
Верстальник С. Павленко
Підписано до друку 06.12.2006. Формат 60 х 84 1/8.
Ум. друк. арк. 1,86. Зам. Ціна договірна.
Відділ редагування нормативних документів ДП «УкрНДНЦ»
03115, Київ, вул. Святошинська, 2