- •Лекція 12 ідентифікація клієнта в системі
- •12.1 Приклади протоколів автентифікації Як перший приклад, надамо протокол односторонної автентифікації на основі паролів, так звану систему s-keys.
- •12.2 Протокол Фіата-Шаміра ідентифікації клієнта в системі
- •12.3 Модифікований протокол ідентифікації Фіата-Шаміра
- •12.4 Протокол Шнорра ідентифікації клієнта в системі
12.2 Протокол Фіата-Шаміра ідентифікації клієнта в системі
Даний
протокол оснований на складності задачі
здобуття квадратного кореня за великим
нефакторизованим біпростим модулем
.
Ця задача
потребує розкладу числа
на співмножники.
Параметри:
,
,
- секретні великі нерівні прості числа,
-
кількість ітерацій основної процедури
– параметр надійності протоколу.
Ключі:
відкритий ключ:
,![]()
,
приватний ключ:
.
Припустимо, що ключі і параметри породжуються кожним клієнтом системи окремо.
Система
має доступ до автентичних копій відкритих
ключів
.
В ході
протоколу кліент
(Proover) доводить свою автентичність
системі
(Verifier),
що перевіряє спроможність
коректно виконати етапи протоколу.
Для
цього повторюється
разів процедура, надана у таб. 12.4.
Таблиця 12.4 Протокол Фіата-Шаміра ідентифікації клієнта в системі
|
1. |
|
|
|
Зловмисник
|
|
2. |
|
|
|
|
|
3. |
|
|
|
На
вимогу
|
|
4. |
|
|
|
Якщо так, то не виключено,
що абонент
Інакше
– абонент
|
Таким
чином, за допомогою
,
з двох можливих варіантів контрольних
завдань
формує випадкову послідовність
запитів-відповідей довжини
.
Для
законного користувача перевірка дає
.
Якщо
- зловмисник, що дійсно спроможний обійти
захист системи, то ще перед першим кроком
процедури він має бути готовим дати або
відповідь
,
при
,
або відповідь
,
при
.
Оскільки
до другого кроку він не знає значення
,
то незалежно від
від має знати
і
,
тобто він знає
,
що, за умовою, неможливо.
Якщо в
одному з
запитів зловмисник помилиться, він не
буде визнаний користувачем системи.
Надсилати
постійно квадратичні лишки
він не зможе, оскільки
невідомо коли може видати запит
.
Залишається
едина можливість пройти протокол без
знання
:
вгадати майбутнє значення
перед першим кроком протоколу. Далі у
першому кроці переслати
(
- довільне), а у кроці 3 пред’явити
.
Це можна
зробити з ймовірністю
,
тобто для повного протоколу ймовірність
помилки ідентифікації дорівнює
.
12.3 Модифікований протокол ідентифікації Фіата-Шаміра
Як і
раніше, позначимо клієнта через
,
а систему через
.
Нехай
ідентифікатор клієнта заданий двійковою
послідовністю
,
що розглядається як двійковий запис
цілого числа.
Параметри:
,
,
- секретні великі нерівні прості числа;
- криптографічно стійка геш-функція;
- параметри надійності протоколу
(натуральні числа).
Ключі
виробляються центром розподілу ключів,
що знає
і
.
Відкритий
ключ має вигляд
,
де![]()
- бітові строки, які підібрані так щоб
![]()
![]()
.
Кількість
квадратичних лишків за
становить
,
і
легко підібрати, перевіряючи значення
символу Лежандра за модулями
і
окремо.
Приватний
ключ задається як послідовність
,
де![]()
.
Перед
виконанням основної процедури
надсилає
свій відкритий ключ:
.
Система
перевіряє співвідношення![]()
![]()
.
Якщо
перевірку виконано успішно, то повторюється
разів процедура, надана у таб. 12.4.
Таблиця 12.4 Модифікований протокол Фіата-Шаміра
|
1. |
|
|
|
|
|
2. |
|
|
|
|
|
3. |
|
|
|
На
вимогу
|
|
4. |
|
|
|
Якщо так, то не виключено,
що абонент
Інакше
– абонент
|
Перевірка
полягає в тому, що лише при коректному
значенні
маємо
![]()
![]()
.
Для
повного протоколу ймовірність помилки
ідентифікації дорівнює
.
Особливості цього протоколу:
- для
побудови не тільки приватного, але й
відкритого ключа необхідно знати
секретні числа
і
;
- кліент довіряє системі, система генерує ключі;
- після
побудови узгодженого між кліентом і
системою відкритого ключа секретний
ключ, виходячи з
і
,
відновлюється з відкритого автоматично,
тобто в системі не обов’язково сберігати
секретні ключі;
- При
наявности
і
у кліента, останній може змінювати
відкритий ключ у довільні моменти часу,
оскільки система може обчислити секретний
ключ з відкритого, виходячи з
і
.
