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