- •Індивідуальне завдання
- •Анотація
- •Розробка криптопротоколу
- •Узагальнений опис криптопротоколу
- •Алгоритм блокового шифрування rc6
- •Алгоритм формування підключів
- •Алгоритм зашифрування даних
- •Розробка детального алгоритму реалізації криптопротоколу
- •Аналіз криптопротоколу
- •Постулати і правила ban-логіки
- •Аналіз криптопротоколу з використанням ban-логіки
- •РoЗробка структури спеціалізованого процесора
- •Визначення набору функцій, що реалізує спеціалізований процесор
- •Розробка структурної схеми спеціалізованого процесора
- •Визначення технічних характеристик спеціалізованого процесора
- •Розробка програми
- •Розробка структури програми
- •Результати тестування програми
- •Висновки
- •Список використаних джерел
- •Функція зашифрування
- •Функція розшифрування
- •Функція зняття мітки часу
-
Аналіз криптопротоколу
-
Постулати і правила ban-логіки
-
BAN-логіка використовується для аналізу властивостей “знання” і “довіри” роботи криптопротоколу в цілому, або його окремих етапів[3].
Постулати, що застосовуються в BAN-логіці:
-
P believes X – Р вірить у те, що Х – істинно;
-
P sees X – хто-небудь послав Р повідомлення, що містить Х і Р може прочитати і повторити Х (можливо після розшифрування);
-
P said X – Р коли-набудь посилав повідомлення, що містить Х і при цьому Р довіряв Х, в момент його передавання;
-
P control X – Р має права на Х;
-
#X – Х не було використано в попередніх кроках протоколу;
-
– P i Q розділяють між собою ключ К і відповідно P i Q довіряють один одному;
-
– Р має відкритий ключ К, що відповідає секретному ключу К-1, який ніколи не буде розкритий іншими учасниками криптопротоколу;
-
– секретна формула Х відома тільки P i Q і вони можуть використовувати її для ідентифікації один одного;
-
{X}K from P – формула Х зашифрована на ключі К, що належить Р.
Правила BAN-логіки:
-
– Р вірить, що Q і Р розділяють між собою секретний ключ К, і Р бачить повідомлення Х, зашифроване на ключі К, тому Р вірить, що Q послав Х.
-
– Р вірить, що Q має право на Х і Р вірить Q , що Q вірить Х , тому Р довіряє Х.
-
– Р вірить у те, що Х до цього не використовувалося і що Q послав Х, тому Р може думати, що Q довіряє Х.
-
Аналіз криптопротоколу з використанням ban-логіки
Порядок аналізу:
-
представлення протоколу в ідеалізованій формі;
-
присвоєння початкових значень;
-
застосування логічних формул до станів протоколу, для одержання тверджень про стани системи після кожного кроку протоколу;
-
застосування логічних постулатів до початкових значень і послідовності тверджень, для вивчення довіри частинам протоколу.
Виконаємо аналіз односторонньої автентифікації з використанням міток часу та блокового шифру RC6.
Представимо протокол в ідеалізованій формі з використанням постулатів і правил з пункту 2.1.
Отже маємо: А В:
Сторона А відправляє стороні В зашифровану на ключі k мітку часу і ідентифікатор сторони В.
Введемо початкове позначення:
Складаємо ідеалізовану форму: А→B:
- Сторони А і В розділяють між собою повідомлення Х зашифроване на ключі k.
- стороні В відіслано повідомлення, що містить і В може прочитати його розшифрувавши на ключі k.
Залишається застосувати логічні постулати до початкових значень і послідовності тверджень для виявлення довіри частинам протоколу.
X – це секретне повідомлення, яке відомо тільки А і В, і це повідомлення А і В можуть використовувати для ідентифікації один одного.
За результатами аналізу можна зробити висновок, що протокол є стійким та дозволяє виявити несанкціоноване втручання сторонньої особи.
-
РoЗробка структури спеціалізованого процесора
-
Визначення набору функцій, що реалізує спеціалізований процесор
-
Складовою частиною спеціалізованого процесора, що реалізує криптопротокол, є операційний автомат[4]. Математично операційний автомат описується таким набором множин:
ОА={DI, DO, S, Y, X}, де:
DI – множина вхідних даних;
DO – множина вихідних даних;
S – множина проміжних даних;
Y – множина виконуваних операцій;
X – множина логічних умов.
Визначимо для протоколу автентифікації множини, що входять до складу операційного автомату для сторін А і В згідно опису протоколу в 2-му розділі:
DI={tA, IB, k};
DO={tA, IВ, Dk, R};
S={tA, tB, IB, k, Еk,},
де:
Еk – зашифроване повідомлення на відкритому ключі k;
Dk – розшифроване повідомлення на відкритому ключі k;
R – результат автентифікації (0 або 1);
tA, tB – мітки часу сторін А і В відповідно;
IB – ідентифікатор сторони В;
k – відкритий ключ.