Розробка імовірнісної моделі криптографічних протоколів
Розробка імовірнісної моделі криптографічних протоколів
95
МІНІСТЕРСТВО ВНУТРІШНІХ СПРАВ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ВНУТРІШНІХ СПРАВ
ФАКУЛЬТЕТ управління ТА інформатики
КАФЕДРА ЗАХИСТУ ІНФОРМАЦІЇ І СПЕЦІАЛЬНОЇ ТЕХНІКИ
95
пояснювальна записка
Розробка імовірнісної моделі криптографічних протоколів
(тема роботи)
Курсант гр. 543 ___________ Хомічук Т. О.
(шифр групи) (підпис) (прізвище, ініціали)
Керівник роботи ___________________ нач. кафедри Логвиненко М.Ф.
(підпис) (посада, прізвище, ініціали)
ДО ЗАХИСТУ______________________________________________________
(допускається, не допускається)
Нач. факультету (кафедри) захисту інформації та спеціальної техніки
(назва факультету, кафедри)
________________________Логвиненко М.Ф.
(підпис) (прізвище, ініціали)
Харків - 2006Зміст
Вступ 3
Розділ 1. Структура захищених систем і їх характеристики 8
1.1. Структура захищеної системи обміну даними 8
1.2. Сучасні основні шифри 10
1.3. Методика визначення стійкості криптосистем 20
1.4. Криптопротоколи, їх класифікація, особливості використання 27
Висновки 35
Розділ 2. Моделі елементів захищених систем 36
2.1. Поняття стійкості шифрсистеми 36
2.2. Стійкість криптографічних протоколів 40
2.3. Математичні моделі елементів криптографічних систем 46
2.4. Математична модель криптографічного протоколу 51
Висновки 53
Розділ 3. Оцінка стійкості криптографічних протоколів на основі імовірнісних моделей 55
3.1.Методика оцінки стійкості 55
3.2.Приклади доказу стійкості деяких протоколів на основі їх імовірнісних моделей 55
Висновки 70
Розділ 4. Нормативно-правова база розробки, впровадження і експлуатації захищених систем 72
4.1.Структура нормативної бази 72
4.2.Основні поняття та положення 76
Висновки 89
Висновки 91
Список літератури 93
Вступ
Стрімкий розвиток засобів обчислювальної техніки і відкритих мереж, сучасні методи накопичення, обробки і передачі інформації сприяли появі погроз, пов'язаних з можливістю втрати, розкриття, модифікації даних, що належать кінцевим користувачам. У зв'язку з цим постійно розширюється як в кількісному, так і в якісному відношенні круг завдань, що вирішуються в області інформаційної безпеки. Під інформаційною безпекою слід розуміти стан захищеності оброблюваних, таких, що зберігаються і передаються в інформаційно-телекомунікаційних системах даних від незаконного ознайомлення, перетворення і знищення, а також стан захищеності інформаційних ресурсів від дій, направлених на порушення їх працездатності.
Основу забезпечення інформаційної безпеки в інформаційно-телекомунікаційних системах складають криптографічні методи і засоби захисту інформації.
Історично криптографія використовувалася з однією метою: зберегти секрет. Навіть сама писемність була свого роду шифруванням (у Стародавньому Китаї тільки вищі шари суспільства могли навчатися читанню і листу), а перший досвід застосування криптографії в Єгипті відноситься до 1900 року до н. э.: автор напису користувався незвичайними ієрогліфами. Є і інші приклади: дощечки з Месопотамії, на яких зашифрована формула виготовлення керамічної глазурі (1500 рік до н. э.), єврейський шифр ATBASH (500-600 роки до н. э.), грецький «небесний лист» (486 рік до н. э.) і шифр простої підстановки Юлія Цезаря (50-60 рік до н. э.). Кама Сутра Ватс'яяни навіть ставить мистецтво тайнопису на 44-е, а мистецтво секретної розмови на 45-е місце в списку 64 мистецтв (йог), якими повинні володіти чоловіки і жінки.
Основними задачами, які вирішує криптографія є:
забезпечення конфіденційності, цілісності, достовірності, юридичної значущості інформації, оперативності доступу до інформації, невідсліджуваність дій клієнта.
Конфіденційність - властивість інформації бути доступною тільки обмеженому коло осіб.
Під цілісністю розуміється властивість інформації зберігати свою структуру і зміст в процесі зберігання і передачі.
Достовірність інформації виражається в суворій приналежності об'єкту, який є її джерелом.
Оперативність - здатність інформації бути доступною для кінцевого користувача відповідно до його тимчасових потреб.
Юридична значущість означає, що документ володіє юридичною силою.
Невідсліджуваність- здатність здійснювати деякі дії в інформаційній системі непомітно для інших об'єктів.
В основі криптографічних методів лежить поняття криптографічного перетворення інформації, вироблюваного на основі певних математичних законів, з метою виключити доступ до даної інформації сторонніх користувачів.
Це криптографічне перетворення називається алгоритмом шифрування (шифром), під яким розуміється сімейство однозначно оборотних відображень множини відкритих повідомлень спільно з простором ключів в множину закритих повідомлень (криптограм). Де ключ - це конкретний секретний стан деяких параметрів алгоритму, який задає однозначне перетворення відкритого тексту.
Необхідно, щоб шифри володіли наступними основними властивостями:
- законний одержувач зможе виконати зворотне перетворення і однозначно розшифрувати повідомлення, знаючи криптографічний ключ;
- криптоаналітик (зловмисник), що перехопив повідомлення, не зможе відновити по ньому початкове повідомлення без таких витрат часу і засобів, які зроблять цю роботу недоцільною.
Для організації секретного зв'язку, коректного використання криптографічного алгоритму сторонам інформаційного обміну необхідно дотримуватись певних правил, послідовності дій.
Криптографічним протоколом називається встановлена послідовність дій, що виконується для виконання певного криптографічного завдання. В основі криптографічного протоколу лежить шифр.
Криптографічні протоколи є важливою складовою частиною криптографічної системи. Можливі ситуації, коли завдання забезпечення безпеки інформації не розв'язуються через наявність слабких місць в протоколі, незважаючи на використання відповідних криптографічних перетворень.
Основна відмінність протоколу від алгоритму полягає в тому, що реалізація алгоритму припускає активні дії одного суб'єкта, тоді як протокол реалізується в ході взаємодії декількох суб'єктів.
Кожна дія криптопротокола за змістом є або обчисленнями, що виконуються діючими суб'єктами протоколу, або розсилкою повідомлень, між ними.
Атаки на протоколи з боку супротивника можуть бути направлені як проти криптографічних алгоритмів, використовуваних в протоколах, так і проти самих протоколів. Такі атаки можна розділити на пасивні і активні.
Під час пасивної атаки супротивник обмежується спостереженням за діями сторін протоколу і намагається витягнути із спостережень корисну для себе інформацію, не втручаючись в реалізацію протоколу.
При активній атаці на криптографічний протокол супротивник допускає видозміну протоколу в своїх інтересах, яка може виражатися в тому, що їм вводяться в протокол нові повідомлення, проводиться підміна одних повідомлень іншими, видаляються з протоколу «законні» повідомлення, виводиться з ладу канал зв'язку або пам'ять, в якій зберігається інформація.
Той, хто атакує може бути не тільки сторонньою особою, але і «штатним учасником» протоколу, при цьому супротивник може бути групою осіб, що знаходяться в змові.
Можна перерахувати основні завдання забезпечення інформаційної безпеки, які розв'язуються за допомогою криптографічних протоколів:
- обмін ключової інформації з подальшою установкою захищеного обміну даними;
- аутентифікація сторін, що встановлюють зв'язок;
- авторизація користувачів при доступі до телекомунікаційних і інформаційних служб.
Окрім перерахованих вище класичних областей застосування протоколів існує широкий круг специфічних завдань, що також вирішуються за допомогою відповідних криптографічних протоколів. Це перш за все розкриття частини відомостей без обнародування самого секрету в його справжньому об'ємі, а також часткове розкриття секрету.
Метою даної роботи є системний аналіз роботи криптографічних протоколів і створення математичних імовірнісних моделей елементів криптографічних систем з метою формалізації оцінок стійкості криптопротоколів.
Для досягнення мети необхідно вирішити наступні завдання:
1. Аналіз структури захищених систем, що використовують криптографічні протоколи.
2. Системний аналіз методик оцінки стійкості шифрів і протоколів.
3. Розробка пропозицій по формалізації завдання оцінки стійкості протоколів, заснованої на імовірнісних моделях.
Актуальність проблеми полягає в тому, що в сучасних умовах велика кількість завдань забезпечення інформаційної безпеки різних систем ефективно розв'язується за допомогою криптографічних протоколів, що обумовлює і посилення роботи криптоаналітиків по реалізації всіляких атак на протоколи. Це викликає необхідність підвищення надійності і безпеки роботи протоколів. Для ефективної протидії погрозам доцільно розробити імовірнісну модель криптопротоколів, стійку до модельованих атак на них, тобто формалізувати доказ стійкості.
Розділ 1.Структура захищених систем і їх характеристики
1.1. Структура захищеної системи обміну даними
Щоб приступити до математичного аналізу криптосистем необхідно показати структуру захищеної системи обміну даними, яка представлена на мал.1.1.
Шифрувальник
повідомлення
Повідомлення Криптограма Повідомлення
Ключ К Ключ К
Мал. 1.1
На передавальному кінці є два джерела інформації - джерело повідомлення і джерело ключів. Джерело ключів відбирає конкретний ключ серед всіх можливих ключів даної системи. Цей ключ передається деяким способом на приймальний кінець, причому передбачається, що його не можна перехопити (наприклад, ключ передається посильним). Джерело повідомлень формує деяке повідомлення (незашифроване), яке потім зашифровується, і готова криптограма передається на приймальний кінець, причому криптограма може бути перехоплена. На приймальному кінці шифрувальник за допомогою ключа по криптограмі відновлює початкове повідомлення.
Очевидно, шифрувальник на передавальному кінці виконує деяку функціональну операцію. Якщо М - повідомлення, К-ключ і Е -зашифроване повідомлення, то маємо
Е= (М, К)
тобто Е єфункцією від М і К. Зручніше, проте, розуміти Е не якфункцію двох змінних, а як (однопараметричне) сімейство операцій або відображень і записувати його у вигляді:
Е = Тi М.
Відображення Тi, застосоване до повідомлення М, дає криптограму Е. Індексi відповідає конкретному використовуваному ключу.
Взагалі ми припускатимемо, що є лише кінцеве число можливих ключів, кожному з яких відповідає вірогідність рi. Таким чином, джерело ключів є статистичним процесом, або пристроєм, який вибирає одне з множини відображень Т1, …,Тm з імовірністю р1, …, рm відповідно. Також припускатимемо, що число можливих повідомлень скінчене, і ці повідомлення М1, …, Мn мають апріорну імовірність q1, …, qn. Наприклад, можливими повідомленнями могли б бути всілякі послідовності англійських букв, що включають по N букв кожна, а відповідною імовірністю тоді були б відносні частоти появи таких послідовностей в нормативній англійській мові.
Повинна бути можливість відновлювати М на приймальному кінці, коли відомі Е і К. Тому відображення Тiз нашого сімейства повинна мати єдине зворотне відображення Тi-1, так що Тi Тi-1=I, де I - тотожнє відображення. Таким чином, це зворотне відображення Тi-1 повинне існувати і бути єдиним для кожного Е, яке може бути одержане з М за допомогою ключа i.
1.2. Сучасні основні шифри
За характером використання ключа відомі кріптосистеми можна розподілити на два типи: симетричні (одноключові, з секретним ключем) і несиметричні (з відкритим ключем).
У першому випадку в шифраторі відправника і дешифраторі одержувача використовується один і той же ключ. Шифратор утворює шифртекст, який є функцією відкритого тексту, конкретний вид функції шифрування визначається секретним ключем. Дешифратор одержувача повідомлення виконує зворотне перетворення аналогічним чином. Секретний ключ зберігається в таємниці і передається відправником повідомлення одержувачу по каналу, що виключає перехоплення ключа криптоаналітиком супротивника.
Як приклад симетричного алгоритму шифрування розглянемо достатньо стійкий і надійний алгоритм DES (Data Encryption Standard).
У криптосистемах з відкритим ключем в алгоритмах шифрування і дешифрування використовуються різні ключі, кожний з яких не може бути одержаний з іншого (з прийнятними витратами). Один ключ використовується для шифрування, інший - для дешифрування. Основний принцип систем з відкритим ключем грунтується на застосуванні односторонніх або необоротних функцій і односторонніх функцій з лазівкою («потайним ходом»). Обчислення ключів здійснюється одержувачем повідомлень, який залишає у себе той ключ, який він потім використовуватиме (тобто секретний ключ). Інший ключ він висилає відправнику повідомлень - відкритий ключ - не побоюючись його розголосу. Користуючись цим відкритим ключем, будь-який абонент може зашифрувати текст і послати його одержувачу, який згенерував даний відкритий ключ. Всі використовувані алгоритми загальнодоступні. Важливо те, що функції шифрування і дешифрування оборотні лише тоді, коли вони забезпечуються строго взаємозв'язаною парою ключів (відкритого і секретного), а відкритий ключ повинен бути необоротною функцією від секретного ключа. Так само шифртекст повинен бути необоротною функцією відкритого тексту, що в корені відрізняється від шифрування в системах з секретним ключем.
Як алгоритм з відкритим ключем далі розглянемо один з найбільш поширених шифр RSA (Rivest - Shamir - Adleman). Його надійність знаходиться в прямій залежності від складності розкладання великих чисел на множники. Якщо множники мають довжину близько 100 десяткових цифр, то в найкращому з відомих способів розкладання на множники необхідно близько 100 млн. років машинного часу, шифрування ж і дешифрування вимагає близько 1-2 с на блок.
Опис алгоритму DES.
У криптосистемі DES використовується блоковий принцип шифрування двійкового тексту. Довжина блоку шифрування складає 64 біта. Розмір ключа - також 64 біта. При цьому кожен восьмий біт є службовим і в шифруванні не бере участь. Кожен такий біт є двійковою сумою семи попередніх і служить лише для виявлення помилок при передачі ключа по каналу зв'язку. Процес криптоперетворення містить наступні три основні етапи.
1. Біти початкового повідомлення x піддаються початковій підстановці IP відповідно до табл. 1.1.
Таблиця 1.1
Підстановка IP
58
50
42
34
26
18
10
2
60
52
44
36
28
20
12
4
62
54
46
38
30
22
14
6
64
56
48
40
32
24
16
8
57
49
41
33
25
17
9
1
59
51
43
35
27
19
11
3
61
53
45
37
29
21
13
5
63
55
47
39
31
23
15
7
Це означає, що 58-й біт стає першими, 50-й - другим і т.д. Потім одержаний вектор x0 = IP(x) представляється у вигляді x0 =L0R0, де L0 - ліва половина з 32 бітів, а R0 - права половина з 32 бітів.
2. Повідомлення L0R0 перетворюється далі 16 разів по так званій схемі Фейстеля:
Li =Ri-1, Ri = Li-1 ( Ri-1, Ki), i = 1, 2, …, 16,
де функція і розклад ключів K1, K2, …, K16 будуть описані окремо.
Мал. 1.2 Криптоперетворення Фейстеля
4. Повідомлення L16R16 перемішується підстановкою IP-1:
y = IP-1(L16R16),
де у - зашифроване повідомлення.
Таблиця 1.2
Підстановка IP-1
40
8
48
16
56
24
64
32
39
7
47
15
55
23
63
31
38
6
46
14
54
22
62
30
37
5
45
13
53
21
61
29
36
4
44
12
52
20
60
28
35
3
43
11
51
19
59
27
34
2
42
10
50
18
58
26
33
1
41
9
49
17
57
25
Шифрування здійснюється по схемі, приведеній на мал. 1.3.
………………………
Мал. 1.3 Схема криптопeретворення DES
Функція . Вона має два аргументи: А і В. Перший складається з 32 бітів, а другий - з 48 бітів. Результат складається з 32 бітів.
1. Аргумент А, що має 32 біта, перетворюється в 48-бітовий вектор Р(А) шляхом перестановки з повтореннями початкового вектора А. Ця процедура однакова для всіх тактів. Вона задана табл. 1.3.
Таблиця 1.3
Підстановка Р1
32
1
2
3
4
5
4
5
6
7
8
9
8
9
10
11
12
13
12
13
14
15
16
17
16
17
18
19
20
21
20
21
22
23
24
25
24
25
26
27
28
29
28
29
30
31
30
1
2. Далі обчислюється сума Р(А) Ві записується у вигляді конкатенації восьми 6-бітових слів: Р(А) В = B1B2 B3 B4 B5 B6 B7 B8.
3. На цьому етапі кожне слово Bі поступає на відповідний S-блок Sі. Блок Sі перетворює 6-бітовий вхід Bі в 4-бітовий вихід Ci. S-блок є 416 матриця з цілими елементами в діапазоні від 0 до 16.
Два перших біта слова Bі, якщо їх розглядати як двійковий запис числа, визначають номер рядка матриці S-блоку. Чотири останні біти визначають деякий стовпець. Тим самим знайдений деякий елемент матриці. Його двійковий запис і є виходом.