Реферат: Розробка імовірнісної моделі криптографічних протоколів

--PAGE_BREAK-- 
Це означає, що 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 будуть описані окремо.
<shapetype id="_x0000_t75" coordsize=«21600,21600» o:spt=«75» o:divferrelative=«t» path=«m@4@5l@4@11@9@11@9@5xe» filled=«f» stroked=«f»><path o:extrusionok=«f» gradientshapeok=«t» o:connecttype=«rect»><lock v:ext=«edit» aspectratio=«t»><imagedata src=«14212.files/image012.jpg» o:><img width=«184» height=«165» src=«dopb66090.zip» v:shapes="_x0000_i1026">
 
Мал. 1.2 Криптоперетворення Фейстеля
 
4.      Повідомлення L16R16 перемішується підстановкою IP-1:
 y = IP-1(L16R16),
де у – зашифроване повідомлення.
Таблиця 1.2
Підстановка IP-1
 
Шифрування здійснюється по схемі, приведеній на мал. 1.3.
<img width=«188» height=«141» src=«dopb66091.zip» v:shapes="_x0000_s1041 _x0000_s1042 _x0000_s1043 _x0000_s1044 _x0000_s1045 _x0000_s1046"> 

<imagedata src=«14212.files/image015.jpg» o:><img width=«299» height=«259» src=«dopb66092.zip» v:shapes="_x0000_i1027">
          ………………………
<imagedata src=«14212.files/image017.jpg» o:><img width=«301» height=«187» src=«dopb66093.zip» v:shapes="_x0000_i1028">
Мал. 1.3 Схема криптопeретворення DES
Функція ¦. Вона має два аргументи: А і В. Перший складається з 32 бітів, а другий  — з 48 бітів. Результат складається з 32 бітів.
1. Аргумент А, що має 32 біта, перетворюється в 48-бітовий вектор Р(А) шляхом перестановки з повтореннями початкового вектора А. Ця процедура однакова для всіх тактів. Вона задана табл. 1.3.
Таблиця 1.3
Підстановка Р1
 
2.Далі обчислюється сума Р(А)ÅВі записується у вигляді конкатенації восьми 6-бітових слів: Р(А)ÅВ =B1B2B3B4B5B6B7B8.
3. На цьому етапі кожне слово   поступає на відповідний S-блок . Блок перетворює 6-бітовий вхід в 4-бітовий вихід Ci. S-блок є 4´16 матриця з цілими елементами в діапазоні від 0 до 16.
Два перших біта слова , якщо їх розглядати як двійковий запис числа, визначають номер рядка матриці S-блоку. Чотири останні біти визначають деякий стовпець. Тим самим знайдений деякий елемент матриці. Його двійковий запис і є виходом.
Таблиця 1.4
Блок S1
Таблиця 1.5
Блок S2
Продовження табл. 1.5
Таблиця 1.6
Блок S3
Таблиця 1.7
Блок S4
Таблиця 1.8
Блок S5
Таблиця 1.9
Блок S6
Таблиця 1.10
Блок S7
Таблиця 1.11
Блок S8
 4. Вихід  С = С1С2 …С8  перемішується фіксованою підстановкою Р2.
Таблиця 1.12
Підстановка Р2.
Розклад ключів.
1. У 64-бітовому ключі К усуваються біти 8, 16..., 64. Біти, що залишилися, перемішуються підстановкою Р3.
Таблиця 1.13
Підстановка Р3
 
 
 Вихід Р3(К) представляється у вигляді Р3(К) = С0D0, де С0 – ліва половина D0 – права.
2. Чергове значення  СіDі обчислюється по схемі
Сi = Li(Сi-1), Di = Li(Di-1),
де Li – циклічне зрушення вліво на одну позицію, якщо i = 1, 2, 9, 16. У решті випадків  Li – зрушення вліво на дві позиції.
3. На цьому етапі вихід перемішується підстановкою Р4.
Таблиця 1.14
Підстановка Р4
14
17
11
24
1
5
3
28
15
6
21
10
23
19
12
4
26
8
16
7
27
20
13
2
41
52
31
37
47
55
30
40
51
45
33
48
44
49
39
56
34
53
46
42
50
36
29
32
 
Дешифрування DES.
Після всіх підстановок, перестановок, операцій XOR і циклічних зрушень можна подумати, що алгоритм дешифрування, різко відрізняючись від алгоритму шифрування, точно також заплутаний. Навпаки, різні компоненти DES були підібрані так, щоб виконувалася дуже корисна властивість: для шифрування і дешифрування використовується один і той же алгоритм.
DES дозволяє використовувати для шифрування або дешифрування блоку одну і ту ж функцію. Єдина відмінність полягає в тому, що ключі повинні використовуватися в зворотному порядку. Тобто, якщо на етапах шифрування використовувалися ключі К1, К2, К3, ..., K16, то ключами дешифрування будуть K16, K15, K14, ..., К1. Алгоритм, який створює ключ для кожного етапу, також циклічний. Ключ зрушується направо, а число позицій зрушення рівне 0, 1,2, 2, 2, 2, 2, 2, 1, 2, 2, 2, 2, 2, 2, 1.
Опис алгоритму RSA.
Система RSA використовується як для шифрування, так і для підпису.
Вона базується на односторонній функції з «лазівкою»(trapdoor function).
 Ця система базується на наступних двох фактах з теорії чисел:
1)  задача перевірки числа на простоту є порівняно легким;
2)  задача розкладання чисел виду п = pq (р і q – прості числа) на множники є дуже важкою, якщо ми знаємо тільки п, ар і q – великі числа (це так зване завдання факторизації).
Виберемо  p і q – великі прості числа. Хай модуль n = p×q, функція j(n) = (p-1)×(q-1) – функція Ейлера. Візьмемо довільне 1£ е<j(n) таке, що
НОД(е, j(n)) = 1. Тоді існує єдине 1£ d <j(n) таке, що
                                             ed(modj(n)) = 1.                                            (1.1)
Система шифрування RSA – це система з відкритим ключем, де
е – відкритий, а d – секретний ключі, п – відоме. Якщо 0£ x<n– це відкрите повідомлення, то криптограма отримується таким чином:
С = х<shape id="_x0000_i1029" type="#_x0000_t75" o:ole="" fillcolor=«window»><imagedata src=«14212.files/image019.wmz» o:><img width=«12» height=«27» src=«dopb66094.zip» v:shapes="_x0000_i1029">(mod n).
Сторона, що отримала зашифроване повідомлення обчислює
х’ = Сd (mod n), причому х’ = х.
Доказ:
х’ =  Сd (mod n) =хed (mod n)
Рівність (1.2.1) означає, що для деякого k
ed = kj(n) + 1.
Звідси і iз теореми Ейлера слідує
x’ = xkφ(n) + 1 (mod n) = x.
Те, що і потрібно було довести.
Розглянемо властивості системи RSA
1) Система шифрує і дешифрує інформацію коректно;
2) Зловмисник,  що перехоплює  всі  повідомлення  і що знає всю відкриту інформацію, не зможе знайти початкове повідомлення при великих р і q. Це пояснюється тим, що зловмисник знає тільки відкриті параметри n і e. Для того, щоб знайти d, він повинен знати значення j(n) = (p — l)(q — 1), а для цього, у свою чергу, йому потрібно знати p і q. Взагалі кажучи, він може знайти p і q, розклавши n на множники, проте це важке завдання.
Одностороння функція у = (mod n), що використовується в системі RSA, володіє так званою «лазівкою», що дозволяє легко обчислити зворотну функцію х = <shape id="_x0000_i1030" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image021.wmz» o:><img width=«27» height=«27» src=«dopb66095.zip» v:shapes="_x0000_i1030">(mod n), якщо відоме розкладання n на прості множники. (Дійсно, легко обчислити j(n) = (p — 1)(q — 1), а потім d = e-1 (mod j(n))) Якщо р і q невідомі, то обчислення значення зворотної функції практично неможливе, а знайти p і q по n дуже важко, тобто знання p і q – це «лазівка» або «потайний хід»). Такі односторонні функції з лазівкою знаходять застосування і в інших розділах криптографії.
Відзначимо, що для схеми RSA важливо, щоб кожен абонент вибирав власну пару простих чисел p і q, тобто всі модулі n для кожного учасника повинні бути різні (інакше один абонент міг би читати зашифровані повідомлення, призначені для іншого абонента). Проте цього не вимагається від другого відкритого параметра е. Параметр е може бути однаковим у всіх абонентів. Часто рекомендується вибирати е = 3. Тоді шифрування виконується максимально швидко, всього за два множення.
Підпис RSA.
 Хай М – повідомлення, яке треба підписати. Підпис отримується за наступним алгоритмом:
 С = М<shape id="_x0000_i1031" type="#_x0000_t75" o:ole="" fillcolor=«window»><imagedata src=«14212.files/image023.wmz» o:><img width=«13» height=«24» src=«dopb66096.zip» v:shapes="_x0000_i1031">(mod n),
тоді (М, С) – повідомлення з підписом. Перевірка підпису здійснюється таким чином
С<shape id="_x0000_i1032" type="#_x0000_t75" o:ole="" fillcolor=«window»><imagedata src=«14212.files/image025.wmz» o:><img width=«11» height=«24» src=«dopb66097.zip» v:shapes="_x0000_i1032">( mod n) =  М<shape id="_x0000_i1033" type="#_x0000_t75" o:ole="" fillcolor=«window»><imagedata src=«14212.files/image025.wmz» o:><img width=«11» height=«24» src=«dopb66097.zip» v:shapes="_x0000_i1033"><shape id="_x0000_i1034" type="#_x0000_t75" o:ole="" fillcolor=«window»><imagedata src=«14212.files/image023.wmz» o:><img width=«13» height=«24» src=«dopb66096.zip» v:shapes="_x0000_i1034">(mod n) = М’.
 Якщо М = М’, то підпис вірний.
1.3. Методика визначення стійкості криптосистем Є декілька різних критеріїв, які можна було б використовувати для оцінки якості пропонованої секретної системи. Розглянемо найбільш важливі з цих критеріїв.
 1.  Кількість секретності.
 Деякі секретні системи є досконалими в тому сенсі, що положення супротивника не полегшується в результаті перехоплення будь-якої кількості повідомлень. Інші системи, хоч і дають супротивнику деяку інформацію при перехопленні чергової криптограми, але не допускають єдиного «рішення». Системи, що допускають єдине рішення, дуже різноманітні як по витраті часу і сил, необхідних для отримання цього рішення, так і по кількості матеріалу, який необхідно перехопити для отримання єдиного рішення.
    продолжение
--PAGE_BREAK--2.  Об'єм ключа.
Ключ повинен бути переданий з передавального пункту в приймальний пункт у такий спосіб, щоб його не можна було перехопити. Іноді його потрібно запам'ятати. Тому бажано мати ключ настільки малий, наскільки це можливо.
3.   Складність операції шифрування і дешифрування. Операції шифрування і дешифрування повинні бути по можливості простими. Якщо ці операції проводяться уручну, то їх складність приводить до втрати часу, появі помилок і т.д. Якщо вони проводяться механічно, то складність призводить до використання великих і дорогих пристроїв.
4.  Розростання числа помилок.
У деяких типах шифрів помилка в одній букві, допущена при шифруванні або передачі, приводить довеликого числа помилок у розшифрованому тексті. Такі помилки розростаються в результаті операції дешифрування, викликаючи значну втрату інформації і часто вимагаючи повторної передачі криптограми. Природно, бажано мінімізувати це зростання числа помилок.
5. Збільшення об'єму повідомлення.
У деяких типах секретних систем об'єм повідомлення збільшується в результаті операції шифрування. Цей небажаний ефект можна спостерігати в системах, в яких робиться спроба потопити статистику повідомлення в масі нульових символів, що додаються, або де використовуються багатократні заміни.
Основний принцип – принцип Кіркхофа –, який має бути покладений у критосистему, полягає в тому, що стійкість системи має визначатися лише стійкістю ключа. Тобто криптоаналітику відомий весь алгоритм шифрування, крім ключа.
Питання про теоретичну стійкість шифрів вперше було сформульоване Клодом Шенноном: «Наскільки надійна криптосистема, якщо криптоаналітик супротивника має в своєму розпорядженні необмежений час і всі необхідні засоби для аналізу криптограм?». З цим питанням тісно зв'язане наступне питання: «Чи існують шифри, які не міг би розкрити криптоаналітик, що має в своєму розпорядженні скільки завгодно велику криптограму і необмежені обчислювальні ресурси?».
Ідеальний шифр за Шенноном – це шифр, в якому кожен біт шифртекста залежить від кожного біта відкритого тексту і від кожного біта ключа. При виконанні цієї умови відкритий і шифрований тексти  будуть статистично незалежні, тобто для будь-якого відкритого тексту а і будь-якої криптограми у
                                         Рисх(а) = Рисх/ш(а/у)                                        (1.2)
за умови, що Ру(у)>0, де
Рисх(а) – розподіл імовірності на множині відкритих текстів;
Рисх/ш(а/у) – сумісний розподіл імовірності на множині пар відкритих і шифрованих текстів;
Ру(у) – розподіл імовірності на множині шифрованих текстів.
Інакше кажучи, при використанні  шифру розподіл імовірності на множині відкритих текстів після перехоплення криптограми у (апостеріорний розподіл імовірності) не відрізняється від розподілу імовірності на множині відкритих текстів до отримання перехопленої криптограми у (від апріорного розподілу імовірності). Перехоплення повідомлення, зашифрованого за допомогою ідеального шифру, не містить для криптоаналітика ніякої інформації, якщо ключ йому невідомий.
Розглянемо  основні підходи до оцінки практичної стійкості шифрів.
Системний підхід.
З одного боку, криптографічна система повинна забезпечувати надійний захист інформації і, з іншого боку, повинна бути зручна з погляду технічної реалізації і експлуатації. Оскільки шифрсистеми, що забезпечують ідеальну секретність, в більшості випадків практично непридатні, то питання відноситься перш за все до шифрсистемам, що використовують ключі обмеженого розміру і здатним обробляти великі об'єми інформації.
Системний підхід до оцінки стійкості шифрсистеми має на увазі певну деталізацію поняття «стійкий шифр». В результаті цієї деталізації формується ряд критеріїв математичного і технічного характеру, яким повинна задовольняти стійка шифрсистема. Під час розробки нового підходу до аналізу шифрсистеми формується відповідний критерій якості шифрсистеми, який доповнює систему критеріїв, що раніше склалася.
Основною кількісною мірою криптографічної стійкості шифру є обчислювальна складність рішення задач дешифрування. Обчислювальна складність визначається декількома характеристиками. Розглянемо найважливіші з них.
Припустимо, що перед криптоаналітиком поставлене завдання дешифрування шифру Е по деякому набору криптограм. Хай АЕ – клас застосовних до шифру Е алгоритмів дешифрування, які має в своєму розпорядженні криптоаналітик. При цьому криптоаналітик розглядає як імовірнісний простір W елементарних подій множину пар ключів і відкритих текстів, якщо відкриті тести невідомі, або множуну ключів, якщо відкриті тексти відомі. Для алгоритму yÎAE позначимо через Т(y)середню трудомісткість його реалізації, вимірювану в деяких умовних обчислювальних операціях. При цьому величина трудомісткості звичайно усереднюється по множині W.
Однією з основних характеристик практичної стійкості шифру Е є середня трудомісткість ТЕ дешифрування, яка визначається виразом
                                         ТЕ =<shape id="_x0000_i1035" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image027.wmz» o:><img width=«31» height=«31» src=«dopb66098.zip» v:shapes="_x0000_i1035">Т(y).                                             (1.3)
При цьому важливо відзначити наступне:
1. Існують алгоритми дешифрування, визначені не на всьому імовірнісному просторі W, а лише на деякій його частині. Крім того, деякі алгоритми дешифрування влаштовані так, що їх реалізація приводить до успіху (рішенню дешифрувальної задачі) не на всій області визначення, а лише не деякій її підмножині. Тому до найважливіших характеристик алгоритму дешифрування y необхідно віднести не тільки його трудомісткість Т(y), але і надійність n(y), під якою розуміється середня частка інформації, що дешифрується з використанням алгоритму y.
Якщо надійність алгоритму дешифрування мала, то з погляду криптографа він є безпечним, а з погляду криптоаналітика неефективним. Таким чином, при отриманні оцінки (1.3.2) величини ТЕ доцільно розглядати лише ті алгоритми дешифрування, надійність яких достатньо велика. При цьому для визначення «найкращого» алгоритму дешифрування системи Е можна використовувати різні критерії залежно від конкретних умов завдання. Наприклад, можна вважати «найкращим» алгоритм дешифрування y, для якого найменше значення приймає величина T(y)/n(y). Цю величину можна інтерпретувати як середні трудовитрати, необхідні для успішного дешифрування шифрсистеми.
2. Складність дешифрування залежить від кількісних і якісних характеристик криптограм, які має в своєму розпорядженні криптоаналітик. Кількісні характеристики визначаються числом перехоплених криптограм і їх довжинами. Якісні характеристики   пов'язані   з достовірністю   перехоплених   криптограм (наявність спотворень, пропусків і т. д.).
За Шенноном, кожен шифр має об'єктивну характеристику Те(п) – середню  (по всіх криптограмах довжини п і ключам) обчислювальну складність дешифрування. Величина <shape id="_x0000_i1036" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image029.wmz» o:><img width=«27» height=«29» src=«dopb66099.zip» v:shapes="_x0000_i1036">Те(п)характеризує граничні можливості дешифрування системи Е при необмеженій кількості шифрматеріала і абсолютної кваліфікації криптоаналітика.
Оцінюючи стійкість шифру, криптоаналітик одержує верхні оцінки граничної стійкості, оскільки практичне дешифрування використовує обмежену кількість шифрматеріала і обмежений клас так званих відомих методів дешифрування.
Важливою характеристикою криптографічної стійкості системи є тимчасова складність її дешифрування. Оцінка тимчасової складності дешифрування системи має на увазі детальніше опрацьовування реалізації алгоритмів дешифрування з урахуванням характеристик обчислювального пристрою, використовуваного для дешифрування. До таких характеристик обчислювального пристрою, що реалізовує алгоритми дешифрування, відносяться архітектура, швидкодія, об'єм і структура пам’яті, швидкість доступу до пам’яті і ін. Отже, час дешифрування системи Е визначається наявним класом алгоритмів дешифрування АЕ і обчислювальними можливостями криптоаналітика.
Вибір найкращого алгоритму дешифрування ускладнюється і тим, що різним обчислювальним пристроям можуть відповідати різні «найкращі» алгоритми дешифрування.
Питання про криптографічну стійкість шифрсистеми має деякі особливості з погляду криптоаналітика і криптографа.
Криптоаналітик атакує шифрсистему, маючи в своєму розпорядженні конкретні інтелектуальні, обчислювальні і економічні ресурси. Його мета – успішне дешифрування системи.
Криптограф оцінює стійкість шифрсистеми, імітуючи атаку на шифр з боку криптоаналітика супротивника. Для цього криптограф моделює дії криптоаналітика, оцінюючи по максимуму інтелектуальні, обчислювальні, технічні та інші можливості супротивника. Мета криптографа – переконатися у високій криптографічній стійкості розробленої шифрсистеми.
Таким чином, системний підхід до оцінки практичної стійкості шифру пов'язаний з оцінкою обчислювальних трудовитрат при дешифруванні системи з позиції різних критеріїв якості шифру.
Асимптотичний аналіз стійкості.
Цей підхід розвивається теорією складності обчислень. При дослідженні шифру оцінка його стійкості ув'язується з деяким параметром шифру, звичайно це довжина ключа, і проводиться асимптотичний аналіз оцінок стійкості.
Вважається, як правило, що шифрсистема має високу криптографічну стійкість, якщо остання виражається через довжину ключа експоненціально, і шифрсистема має низьку криптографічну стійкість, якщо стійкість виражається у вигляді многочлена від довжини ключа.
Оцінка кількості необхідного шифрматериалу.
Даний підхід заснований не на складності обчислень при реалізації дешифрування, а на оцінці середньої кількості матеріалу, який необхідно проаналізувати криптоаналітику для розкриття шифру. Оцінка кількості необхідного криптоаналітику шифрматеріалу представляє інтерес з тієї точки зору, що є нижньою оцінкою стійкості шифру в сенсі обчислювальної складності дешифрування.
Цей підхід застосовується в основному для оцінки стійкості потокових рандомізованих шифрів. Особливістю пристрою таких шифрів є те, що вони використовують для шифрування і расшифрування секретний ключ невеликого розміру, а також велику і загальнодоступну випадкову послідовність чисел (рандомізатор). Ключ визначає, які частини рандомізатора використовуються для шифрування, тоді як криптоаналітику, що не знає секретного ключа, доводиться аналізувати весь рандомізатор.
Як приклад такого шифру розглянемо шифр Діффі. У цьому шифрі рандомізатором є масив з 2n випадкових двійкових послідовностей, занумерованих елементами множини Vn. Ключем є п-мірний двійковий вектор. При шифруванні з використанням ключа k двійкова послідовність відкритого тексту складається побітово з послідовністю рандомізатора, що має номер k. Таким чином, для дешифрування повідомлення супротивнику необхідно досліджувати порядка 2п біт.
Вартісний підхід.
Цей підхід передбачає оцінку вартості дешифрування системи. Особливо він актуальний тоді, коли для дешифрування криптосистеми необхідно розробити і побудувати новий обчислювальний комплекс. Вартісний підхід корисний з погляду зіставлення матеріальних витрат на дешифрування системи і цінності інформації, що захищається криптосистемою.
1.4. Криптопротоколи, їх класифікація, особливості використання Нагадаємо поняття криптопротокола. Криптографічним протоколом називається встановлена послідовність дій, що виконуються  двома або більше сторонами для виконання певного криптографічного завдання. Послідовність дій означає, що протокол виконується в певному порядку, з початку до кінця. Кожна дія повинна виконуватися в свою чергу і лише після закінчення попередньої. Такі, що виконуються двома і більше сторонами означає, що для реалізації протоколу потрібно принаймні дві люди, одна людина не зможе реалізувати протокол.
Властивості криптопротоколів:
-  кожен учасник протоколу повинен знати протокол і послідовність дій, що становлять його;
-  кожен учасник протоколу повинен погодитися слідувати протоколу;
-  протокол повинен бути несуперечливим, кожна дія повинна бути визначена так, щоб не було можливості нерозуміння;
-  протокол повинен бути повним, кожній можливі ситуації повинна відповідати певна дія.
Криптографічний протокол – це протокол, що використовує криптографію. Учасники протоколу можуть буті друзями і довіряти один одному або ворогами і не вірити один одному. Криптопротокол містить деякий криптоалгоритм, але, взагалі кажучи, прізначення протоколу виходіть за рамки простої безпеки. Учасники можуть захотіти поділитися секретом, разом генерувати випадкову послідовність, підтвердити один одному свою достовірність або підписати контракт в один і той же момент часу.
В крипптопротоколах використовується загальне правило: «Неможливо зробити або дізнатися більше, ніж це визначене в протоколі».
Умови криптографічного завдання визначають особливості відповідного протоколу.
Якщо взаємодіючі сторони довіряють один одному і готові спільно вирішувати криптографічну задачу, то в цьому випадку використовуються протоколи без посередника (двосторонні протоколи).
Якщо між сторонами можуть виникати розбіжності, то використовуються протоколи з посередником (незацікавленою довіреною стороною), які називають трибічними протоколами. Завдання посередника – забезпечити виконання всіх етапів протоколу, аж до його завершення.
Але при реалізації цих протоколів існують деякі труднощі:
-  Легко знайти нейтрального посередника, якому можна довіряти, якщо ви знаєте його і можете особисто його побачити. Дві сторони, що відносяться одна до одної з підозрою, з тією ж підозрою віднесуться і к посереднику, що загубився десь в мережі.
-  Комп’ютерна мережа повинна забезпечити підтримку посередника.
-  Існує затримка, що властива всім протоколам із посередником.
-  Посередник повинен приймати участь у кожній транзакції, будучи вузьким місцем у реалізаціях будь-якого протоколу. Зростання кількості посередників дещо пом’якшить цю проблему, але виросте ціна цієї послуги.
-  Через те, що в мережі всі повинні довіряти посереднику, він є слабким місцем мережі при спроби злому.
Існують і протоколи з арбітром, де під арбітром розуміється посередник особливого типа: він не обов'язково бере участь у виконанні кожного етапу протоколу, він запрошується тільки для перевірки коректності виконання протоколу.
Найпривабливіший різновид протоколів – самодостатні протоколи, конструкція яких забезпечує контроль за вірним виконанням протоколу. Для виконання цього протоколу не потрібен ані посередник, ані арбітр, що вирішує спори. Сама побудова протоколу забезпечує відсутність спорів. Якщо одна із сторін намагатиметься зшахраювати, шахрайство буде миттєво виявлено іншою стороною, і протокол припинить виконуватись.
В ідеальному випадку будь-який протокол повинен бути самодостатнім, але, на великий жаль, не існує самодостатніх протоколів для кожної ситуації.
Люди можуть використовувати безліч способів розкрити протокол. Як вже було, зазначено існує пасивне і активне розкриття криптопротоколів.
При пасивному розкритті зловмисник не впливає на протокол. Все, що він може зробити – прослідкувати за протоколом и добути інформацію. Через те, що пасивні атаки важко виявити, протоколи намагаються попереджувати, а не виявляти їх.
При активному розкритті криптопротоколів зловмисник намагається змінити протокол для власної потреби. Він може видати себе за іншого, ввести нові повідомлення в протокол, замінити одне повідомлення іншим, повторно передати старі повідомлення, розірвати канал зв’язку або змінити інформацію, що зберігається в комп’ютері. Цей вид атак залежить від типу мережі.
Пасивні зломщики намагаються отримати інформацію про учасників протоколів. Вони збирають повідомлення, які передані різними сторонами, і намагаються криптоаналізувати їх. Спроби активного розкриття переслідує більш широкий набір задач. Зломщик може бути зацікавлений в отриманні інформації, погіршенні роботи системи або отриманні несанкціонованого доступу до ресурсів.
Активні атаки є більш серйозними, особливо по відношенню до протоколів, в яких сторони не довіряють один одному. Зломщик не обов’язково хтось зовсім сторонній, він може бути зареєстрованим користувачем системи і навіть системним адміністратором.
Як приклад роботи протоколу приведемо організацію секретного зв’язку з використанням симетричної криптосистеми. Діючими особами є відправник, адресат, пасивний супротивник та ін. Задача протоколу – передати таємне повідомлення Х  від відправника до адресату. Послідовність виглядає наступним чином:
1.   Відправник і адресат домовляються про використовувану симетричну криптосистему, тобто про сімейство відображень Е = <shape id="_x0000_i1037" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image031.wmz» o:><img width=«33» height=«24» src=«dopb66100.zip» v:shapes="_x0000_i1037">, k ÎК, де К – простір ключів.
    продолжение
--PAGE_BREAK--
    продолжение
--PAGE_BREAK--2.2. Стійкість криптографічних протоколів Як і у випадку криптографічних алгоритмів, головне питання полягає в тому, наскільки стійким є той чи інший криптопротокол. Відповідь на нього можна знайти при зрівнянні цілого ряду факторів. Однак, оскільки в основі багатьох криптопротоколів лежать криптографічні алгоритми, зрозуміло, що остаточна стійкість буде не більше стійкості використовуваних криптографічних алгоритмів. Вона може бути понижена в наступних випадках:
-  використання слабких криптографічних алгоритмів і некоректна реалізація деяких його складових;
-  некоректна логіка роботи криптопротокола;
-  некоректне використання криптографічних алгоритмів.
Труднощі першої категорії вирішуються в межах класичної криптографії. Типовим прикладом у цьому сенсі є використання слабких генераторів випадкових чисел.
Проблеми, що відносяться до другої категорії, найбільш поширені. На практиці саме по цих «больових крапках» звичайно проводяться атаки на криптопротоколи. Активний порушник може робити вплив на функціонування криптопротоколу шляхом наступних атак:
-   атака з відомим ключем. Зловмисник, одержавши ключ попередньої сесії, намагається дізнатися ключ нової сесії;
-   повторна передача. Перехопивши в попередніх сесіях певну порцію інформації, зловмисник передає її в подальших сесіях;
підміна сторони інформаційного обміну. В процесі встановлення сеансу зв'язку між легальними користувачами зловмисник у разі подібної атаки намагається видати себе за одного з них або ініціювати від імені легального користувача встановлення зв'язку;
-   атака із словником. Полягаєв підборі пароля, що містить слова, що найбільш часто зустрічаються, або комбінацію буква/цифра. Звичайно перетворені за допомогою неключової хэш-функції паролі зберігаються у файлах на комп'ютері. Завдання зловмисника полягає в тому, щоб одержати шуканий файл, перетворити свій словник за допомогою даної хэш-функції і провести порівняння з метою знайти співпадаючі значення;
підміна повідомлень. Проводиться шляхом заміни під час роботи криптопротокола повідомлень або даних.
Як приклад успішної атаки такого типу розглянемо криптопротокол розподілу секретних сеансових ключів між двома учасниками інформаційного обміну. Авторами цього методу є Нідхем і Шредер. Уразливість цього криптопротоколуа вперше була виявлена Денінгом і Сакко. Кожен учасник даного протоколу повинен розділити знання свого секретного ключа з сервером аутентифікації. Протокол складається з наступних кроків:
1. А → S: А, В, Na. Учасник А посилає запит серверу S, в якому він указує, що необхідно встановити сеанс зв'язку з учасником В. У даному запиті присутні наступні значення:
— А і В – імена або ідентифікатори учасників;
— N – унікальне для даного сеансу число; використовується для запобігання повторним передачам шляхом включення його в подальші повідомлення.
2. S → A: { Na, В, Кab, { Кab, А}Kbs}Kas.Сервер відповідає повідомленням, зашифрованим на секретному ключі сервер-учасник А (Кas), в якому знаходиться сеансовий ключ (Кab), а також ще одна копія цього ключа, зашифрованого на секретному ключі сервер-учасник В (Кbs).
3. А → B: { Кab, А}Кbs Учасник В розшифровує дане повідомлення, оскільки йому відомий ключ Кbs; в результаті він одержує ключ Кab.
4. B → A: {Nb}Kab. Дане повідомлення учасник В посилає для того, щоб переконатися, що А володіє ключем Кab, і показати учаснику А своє знання Кab.
5.  А → B: {Nb – 1} Кab. Учасник А доводить своє володіння ключем Кab, і на цьому протокол закінчує свою роботу, в результаті учасники А і В одержують загальний секретний сеансовий ключ Кab.
Уразливість даного криптопротокола полягає в тому, що якщо сеансовий ключ К1ab із попередньої сесії був скомпрометований, то зловмисник (позначимо його через З), що дістав можливість контролю мережевого трафіку на кроці 3 нової (нескомпрометованої) сесії, перехоплює повідомлення (А → В: {Кab,A}Kbs) і замість нього посилає повідомлення (З → В: { К1ab, A}Кbs). Учасник B відповідає повідомленням (B → A: {Nb}К1ab), вважаючи, що А бажає встановити з ним нову сесію з ключем К1ab. З, одержуючи дане повідомлення, розшифровує його і відправляє В повідомлення (З →  В: {Nb – 1}К1ab). Таким чином, З встановлює сесію з В від імені А.
З погляду розуміння можливих наслідків, що виникають при виявленні недоробок в логіці роботи криптопротокола, цей приклад є дуже показовим. Для усунення подібних проблем були спеціально розроблені засоби і методи аналізу коректності побудови логіки роботи криптопротоколів. Застосування формальних методів дозволяє також виявити комунікаційну надмірність в крип-топротоколах, що є важливим плюсом в умовах постійно зростаючих вимог до оперативності обробки інформації в сучасних мережах передачі даних.
Третя група атак, що істотно знижують рівень безпеки при використанні криптопротоколів, є найменш поширеною. Про це, принаймні, можна судити по частоті їх використання зловмисниками. Але з іншого боку, через їх важке виявлення, такі спроби є найбільш небезпечними, оскільки вони багато в чому залежать від математичних властивостей використовуваних криптографічних алгоритмів. Подібні вразливі місця не піддаються формальному аналізу і тому не можуть виявлятися навіть при використанні добре вивчених криптопротоколів. Особливо характерний поява «слабких крапок» при використанні асиметричних алгоритмів, оскільки вони в основному побудовані на неможливості ефективного рішення деяких математичних задач і не піддаються строгим математичним доказам і дослідженням за допомогою формальних методів.
Для прикладу проведемо доказ стійкості криптопротокола «уявний покер». Для початку необхідно розглянути сам протокол.
Для того, щоб зіграти в покер, гравці А і Б спочатку повинні чесно роздати карти. Слово «чесно» означає, що при роздачі карт А і Б повинні дотримуватися чотирьох правил.
1. Всі карти повинні роздаватися з однаковою імовірністю (тобто рівномірно), причому одна і та ж карта не повинна опинитися у двох різних гравців одночасно.
2. А і Б повинні знати карти, якими вони володіють, а інші гравці не повинні знати, які карти знаходяться на руках їх партнерів.
3.А і Б повинні підозрюватися в шахрайстві і порушенні правил протоколу.
4. А і Б повинні мати можливість перевіряти, чи чесно була зіграна попередня гра.
Ідея, що лежить в основі уявного покеру, полягає в застосуванні шифру, що володіє властивістю комутативності. Застосовуючи такий шифр, А і Б можутьдвічі шифрувати повідомлення, використовуючи свої секретні ключі, і повинні двічі розшифровувати його. Хай
С = ЕХ(ММ = DX(C)
означають алгоритми шифрування і розшифрування, що виконуються користувачем X. Комутативна властивість шифру полягає в тому, що для будь-якого повідомлення М виконуються наступні рівняння.
                   М = DA(DB(EA(EB(M))))= DB(DA(EB(EA(M)))).                         (2.4)
Іншими словами, вихідне повідомлення можна відновити шляхом подвійного розшифрування незалежно від порядку шифрування.
Для простоти припустимо, що А і Б вирішили роздати по одній карті, використовуючи колоду, що складається з трьох карт. Спосіб чесної роздачі карт описується наступним протоколом.
Протокол чесної роздачі карт при грі в уявний покер.
Попередні умови:
А і Б погодили комутативний шифр, що володіє властивістю (2.4), і згенерували свої секретні ключі шифрування. Колода складається з трьох карт: М1,ММ3.
 Мета:
Чесна роздача по одній карті кожному гравцю за правилами 1 – 4 .
1.  А шифрує три карти таким чином: Сі= ЕА(М), де і = 1,2,3. Він посилає Б ці три зашифровані тексти у випадковому порядку. (Передача зашифрованих текстів у випадковому порядку еквівалентна перетасовуванню колоди.)
2.  Б випадковим чином витягує один із зашифрованих текстів. Позначимо його через С. Потімвін двічі шифрує його як СС = ЕВ(С), випадковим чином витягує інший текст, позначений як С¢, і посилає зашифровані тексти СС і С¢ А. ( Символи СС позначають карту, що належить Б, а символ С¢карту, видану А. Зашифрована карта, що залишилася, ігнорується.)
3.  А розшифровує тексти СС і С¢. Результат розшифрування тексту С¢ позначає його карту, а розшифрування тексту СС, що позначається як С¢¢, — карту Б. Текст С¢¢  повертається Б.
4.  Б розшифровує текст С¢¢ і  узнає свою карту.
Аналіз стійкості.
Після виконання протоколу складається наступна ситуація.
 •  Оскільки на першому кроці А тасує колоду, обидва гравці з однаковою імовірністю одержують одну з карт, що належать множині {M1, M2,M3}. Потрібно звернути увагу на те, що А прагне добре перетасувати колоду, щоб Б не одержав переваги. Отже, перша умова чесної роздачі виконана.
 •  Кожний з двох гравців після подвійного розшифрування дізнається свою карту, але не знає, яка карта дісталася супернику. Таким чином, друге правило чесної роздачі також виконане.
 •  Очевидно, що в протоколі врахована можливість шахрайства з боку гравців. Отже, третє правило чесної роздачі також виконане.
Виконання четвертого правила залежить від того, чи допускає криптосистема, використана в протоколі, чесну верифікацію закінченої гри. Шамір і його співавтори запропонували застосувати один з варіантів криптосистеми RSA, в якому обидві сторони до завершення гри зберігають в таємниці показники ступеня, використані при шифруванні і розшифруванні, а після її закінчення розкривають їх для перевірки.
Хай N — загальний модуль в криптосистемі RSA. А і Б знають розкладання числа N на множники. Позначимо через (еА, dA) показники ступенів, використані при шифруванні і розшифруванні А, а через (еВ, dВ) –показники, що вживаються Б. Знання розкладання числа N на прості множники дозволяє А (Б) знайти число еА  по заданому числу dA (число еВ–по заданому числу ) за допомогою порівняння
                                           еХ dХ = 1(mod j(N))                                           (2.5)
 де символ X позначає гравця А абоВ, j(N) – функція Ейлера. Длякористувача X одержуємо наступні формули.
ЕХ(М)=<shape id="_x0000_i1052" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image046.wmz» o:><img width=«31» height=«21» src=«dopb66109.zip» v:shapes="_x0000_i1052">( mod N),
(М)=<shape id="_x0000_i1053" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image048.wmz» o:><img width=«27» height=«23» src=«dopb66110.zip» v:shapes="_x0000_i1053"> ( mod N).
  Оскільки група RSA є комутативною, легко бачити, що умова (2.4) виконується. До завершення гри обидві сторони зберігають свої показники ступенів в таємниці. Таким чином, ніхто не може створити зашифрований текст, ідентичний тексту, створеному партнером. Це не дозволяє одному партнеру розкрити карти іншого партнера, одержавши зашифрований текст. Крім того, ніхто не може розшифрувати текст, створений іншим партнером. Таким чином, криптопротокол дійсно є достатньо стійким.
 Очевидно, що після завершення гри обидві партії можуть розкрити свої показники ступенів і переконатися, що шифрування і розшифрування були виконані правильно. Отже, четверте правило чесної роздачі карт виконано.
2.3. Математичні моделі елементів криптографічних систем Розглянемо моделі таких елементів криптосистем, як  джерела повідомлень, ключової множини, шифру.
Моделі джерел відкритих текстів.
Детерміновані моделі.
Кожне джерело відкритого тексту (ДВП) характеризується:
1.   одним або декількома мовами спілкування;
2.   набором алфавітів, що використовуються;
3.   визначеною тематикою  повідомлень, що генеруються;
4.   частотними характеристиками повідомлень.
ДВП породжує тексти у відповідності з правилами граматики деякої мови, що знаходить відображення і в статистичних характеристиках повідомлень. Наприклад у текстах на англійській мові за літерою q завжди йде літера r, в російських текстах літери ь і ъ ніколи не слідують за голосними буквами. Взагалі кожну мову і кожне ДВП можна характеризувати розбиттям множини усіх k-грам, k = 2, 3,…, на допустимі (що зустрічаються в яких-небудь текстах) і недозволені (що не зустрічаються в жодних текстах).
Розбиття множини усіх k-грам на допустимі та недозволені визначає детерміновану модель ДВП. В такій моделі відкритий текст розглядається як послідовність букв деякого алфавіту, що не містить недозволених k-грам. Можна помітити, що розподіл k-грам  на допустимі і недозволені умовне, причина чому динамічність мови, її здатність до розвитку. Крім того, вказаний розподіл може мати індивідуальні особливості для кожного ДВП.
Імовірнісні моделі.
Вімовірнісних моделях ДВП розглядається як джерело випадкових послідовностей.
Хай джерело генерує в алфавіті Zmтекст кінцевої або нескінченної довжини. При цьому можна вважати, що джерело генерує кінцеву або нескінченну послідовність випадкових змінних х0, х1, …, хn-1, що приймають значення в Zm. Імовірність випадкового повідомлення 0, а1,…,аn-1) визначається як імовірність такої послідовності подій:
Р(а0, а1,…,аn-1)= Р{х0= а0, х1 = а1,…, хn-1 = аn-1}.
Множина випадкових повідомлень утворює імовірнісний простір, якщо виконані умови:
1) Р(а0, а1,…,аn-1)³0 для будь-якого випадкового повідомлення
0, а1,…,аn-1);
2)<shape id="_x0000_i1054" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image050.wmz» o:><img width=«145» height=«37» src=«dopb66111.zip» v:shapes="_x0000_i1054"> = 1;
3) Для будь-якого повідомлення о,а1, …,аn-1) і будь-якого s > n  
Р(ао,а1, …,аn-1) = <shape id="_x0000_i1055" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image052.wmz» o:><img width=«143» height=«37» src=«dopb66112.zip» v:shapes="_x0000_i1055">,
тобто імовірність будь-якого випадкового повідомлення довжини n є сума імовірностей усіх продовжень цього повідомлення до довжини s.
Текст, що породжується таким джерелом, є імовірнісним аналогом природної мови. Він володіє однаковими з мовою частотними характеристиками  k-грам. Задаючи певний імовірнісний розподіл на множині відкритих текстів, задається відповідна модель ДВП.
Розглянемо таку імовірнісну модель ДВП, як стаціонарне джерело незалежних символів алфавіту.
У цій моделі передбачається, що імовірність повідомлень повністю визначається імовірністю використанняокремих букв алфавіту у випадковому тексті:
Р(а0, а1,…,аn-1) = <shape id="_x0000_i1056" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image054.wmz» o:><img width=«91» height=«45» src=«dopb66113.zip» v:shapes="_x0000_i1056">
де для всіх iÎ{0,1,…, n-1}і будь-якого aÎZm
P{xi = a}>0; <shape id="_x0000_i1057" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image056.wmz» o:><img width=«87» height=«36» src=«dopb66114.zip» v:shapes="_x0000_i1057"> = 1.
Відкритий текст такого джерела є реалізацією послідовності незалежних випробувань в поліноміальній імовірнісній схемі з числом результатів, рівним т. Множина результатів взаємно-однозначний відповідає множині усіх символів алфавіту.
Приведемо списки букв високої частоти використання для деяких європейських мов (табл. 2.3.1).
Таблица 2.1 Частота букв в різних мовах
Подовження табл. 2.1
Ця модель дозволяє розділити букви алфавіту на класи високої, середньої і низької частоти використання. Модель будується для будь-якого ДВП з використанням відносно невеликої кількості матеріалу і зручна для практичного застосування. Наприклад, ця модель ефективно використовується при дешифруванні текстів, що захищаються шифром простої заміни.
В той же час деякі властивості даної моделі суперечать властивостям мов. Зокрема, згідно з цією моделлю будь-яка k-грама, k >1, має ненульову імовірність появи в повідомленні. Обмеженість моделі не дозволяє застосовувати її для дешифрування широкого класу криптосистем.
Імовірнісна модель ключової множини.
Імовірнісна модель ключової множини використовується крип-тоаналітіком для аналізу статистичних властивостей криптосистеми. Імовірнісна модель визначається, зокрема, завданням імовірнісного розподілу на ключовій множині, яка розглядається як простір елементарних подій. Кожному ключу kÎK ставиться у відповідність імовірність pk його використання для зашифрування або якогось конкретного, або випадкового відкритого тексту. При цьому <shape id="_x0000_i1058" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image058.wmz» o:><img width=«65» height=«36» src=«dopb66115.zip» v:shapes="_x0000_i1058">.
У найбільш природній моделі, що часто приймається криптоаналітиком, передбачається, що ключі для шифрування вибираються незалежно від відкритих текстів і володіють добрими статистичними властивостями, тобто:
1)  для чергового періоду експлуатації (сеансу, доби, і т. п.) кожен ключ вибирається випадково рівноймовірно з ключової множини K, тобто pk = 1/|K|для будь-якого kÎК;
    продолжение
--PAGE_BREAK--2)  при зміні ключів новий ключ вибирається незалежно від попередніх.
Імовірнісна модель шифру.
На основі відображень шифру, імовірнісних моделей відкритого тексту  і множини ключів можна побудувати імовірнісну модель шифру. Позначимо деякі розподіли ймовірностей(р. й.):
Рвідкр– р. й. на множині відкритих текстів;
 Ркл - р. й. на множині ключів;
Рш   — р. й. на множині шифрованих текстів;
 Рвідкр, к  - сумісний р. й. на множині пар відкритих текстів і ключів;
 Рвідкр, ш– сумісний  р. й. на множині пар відкритих і шифрованих текстів;
 Рвідкр/ш  — умовний р. й. на множині відкритих текстів (при умові, що шифрований текст фіксований).
Хай а – відкритий текст, z– ключ, y – шифрований текст, Е(а, z) — криптограма, одержана в результаті шифрування відкритого тексту а на ключі z.
Звичайно вважають, що при шифруванні ключ z обирається незалежно від відкритого тексту а, тому
Рвідкр, к(a, z) = Рвідкр(a) Ркл(z).
Сумісні і умовні р. й. визначаються із формул:
Рш(y) = <shape id="_x0000_i1059" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image060.wmz» o:><img width=«147» height=«37» src=«dopb66116.zip» v:shapes="_x0000_i1059">,
Рвідкр, ш= <shape id="_x0000_i1060" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image062.wmz» o:><img width=«139» height=«37» src=«dopb66117.zip» v:shapes="_x0000_i1060">,
Рвідкр/ш = Рвідкр, ш(a,y)/Рш(y),
де остання рівність витікає з визначення умовної імовірності і справедливо за умови Рш(y)>0.
Таким чином, маючи розподіли імовірності на множині відкритих текстів і ключів і знаючи сімейство шифру, можна у принципі обчислити як розподіл імовірності на множині шифртекстів, так і різні сумісні і умовні розподіли імовірності.
Використовуючи імовірнісну модель шифру, Шеннон вперше сформулював поняття абсолютно стійкого шифру.
2.4. Математична модель криптографічного протоколу З формальної точки зору абстрактний аутентифікації протокол описується функцією P, що має поліноміальну складність і наступні аргументи.
1k –Параметр безпеки k ÎN.
i –Ідентифікатор  користувача i Î I , що виконує дану частину протоколу. Називатимемо цього користувача «власником». Множина I складається з користувачів, що володіють одним і тим же довготривалим ключем.
j –Ідентифікатор партнера, з яким спілкується власник;j Î I.
К – Довготривалий симетричний ключ (тобто секретна вхідна інформація). У двосторонньому протоколі симетричний ключ К належить як власнику, так і його партнеру.
сonv –Попередні повідомлення – conv (від англ.: conversation ), що є рядком бітів. Цей рядок збільшується у міру виконання протоколу, причому новий рядок приписується до старого.
r – Випадковий аргумент власника – можна вважати число r одноразовим випадковим числом, що генерується власником.
Оскільки P(1k,i,j,K,conv,r) має поліноміальну складність, залежну від розміру аргументів (відзначимо, що розмір параметра k рівний 1k), можна вважати, що аргументи K і r мають розмір k, а розмір аргументів i, j і conv поліноміальнo залежить від параметра k.
Значеннями функції P(1k,i,j,K,conv,r) є три числа.
m – Наступне повідомлення, що підлягає відправці, — m Î {0,1}* <shape id="_x0000_i1061" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image064.wmz» o:><img width=«16» height=«20» src=«dopb66118.zip» v:shapes="_x0000_i1061"> {«повідомлень немає»}. Це – відкрите повідомлення, що підлягає відправці адресату через відкриту мережу.
δ – Рішення користувача – δ Î { Прийняти, Відмовити, Не приймати рішення}. Користувач вирішує, прийняти або відкинути ідентифікатор партнера по переговорах, або не ухвалювати рішення взагалі. Прийняття ідентифікатора, як правило, відкладається до завершення протоколу, а відхилити його можна у будь-який момент. Якщо користувач ухвалює яке-небудь певне рішення, значення δ більше не змінюється.
α – Закритий результат, обчислений власником, — α Î {0,1}* <shape id="_x0000_i1062" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image064.wmz» o:><img width=«16» height=«20» src=«dopb66118.zip» v:shapes="_x0000_i1062"> {«результату немає»}. Можна вважати, що закритим результатом, обчисленим власником при сприятливому результаті протоколу, є узгоджений сеансовий ключ.
Діалог між цими користувачамиє послідовністю впорядкованих в часі повідомлень, що посилаються ними в мережу, і одержуваних на них відповідей. Хай t1 < t2 < …<tR ,(де R – деяке позитивне ціле число) – моменти часу, в які  користувач і посилає повідомлення. Діалог можна позначити таким чином.
conv =(t1, m1, m’1), (t2, m2, m’2),…, (tR, mR, m’R).
Цей запис означає, що у момент t1користувач і одержує запит m1і посилає у відповідь повідомлення m’1. Потім у момент t1> t2користувач і одержує запит m2і посилає у відповідь повідомлення m’2і так далі, поки у момент tR він не одержить запит mR і пошле у відповідь повідомлення m’R.
Нагадаю, що в даній моделі користувач будь-який запит повинен вважати повідомленням від Зловмисника, поки в якийсь момент tR він не прийме позитивне рішення. Зручно припустити, що діалог починає Зловмисник. Отже, якщо m1 = “”, називатимемо користувача і ініціатором діалогу, інакше – відповідачем.
Хай
conv = (t0, “”, m1), (t2, m’1, m2), (t4, m’2, m3),…, (t2t-2, mt-1, mt)
 позначає діалог користувача і.Користувачj веде діалог conv', узгоджений з діалогом conv, якщо існує послідовність моментів часу t0< t1 < t2 …<tR, така що
conv’= (t1, m1, m’1), (t3, m2, m’2), (t5, m3, m’3),…, (t2t-2, mt, mt),
де рядок mозначає «немає повідомлень».
Якщо користувачі i і  j ведуть узгоджені діалоги, то Зловмисник не в змозі організувати небезпечну атаку і вимушений грати роль нешкідливого супротивника.
Протокол П(1k,{A, В})є стійким протоколом аутентифікації, що виконується користувачами А і В, якщо обидва користувача приймають позитивне рішення тоді і тільки тоді, коли вони ведуть узгоджені діалоги, причому імовірність протилежної близька до нуля.
Якщо протокол є стійким, то з існування узгоджених діалогів безпосередньо слідують позитивні рішення користувачів. Довести зворотне твердження, тобто що з позитивних рішень виходить існування узгоджених діалогів, набагато складніше. Отже, метою атаки на протокол є отримання позитивних рішень, коли узгоджених діалогів не існує. Таким чином, коректнішим є наступне визначення стійкості протоколу.
Протокол П(1k,{A, В}) виявляється стійким протоколом аутентифікації, що виконується користувачами А і В, якщо імовірність виграшу Зловмисника дуже мала. Тут виграш Зловмисника означає, що обидва користувача приймають позитивне рішення, хоча між ними немає узгоджених діалогів.
Висновки Таким чином, в цьому розділі ми визначили такі важливі поняття криптографії, як стійкість шифрсистем, стійкості криптографічних протоколів, причини ії пониження, привели приклад достатньо стійкого криптопротоколу, розглянули математичні моделі джерела повідомлень, ключової множини, шифру і, нарешті, крипторотоколу. Це все було зроблено для того, щоб полегшати формалізування опису протоколів для  доказування їхньої стійкості.

Розділ 3. Оцінка стійкості криптографічних протоколів на основі імовірнісних моделей 3.1. Методика оцінки стійкості Формальний доказ стійкості в рамках обчислювальної моделі складається з трьох етапів.
1. Формальна поведінка учасників протоколу і атакуючого алгоритму: моделювання, як правило, здійснюється за допомогою атакуючої гри, в якій беруть участь атакуючий алгоритм і об'єкт атаки.
2. Формальне визначення стійкості: перемога атакуючого алгоритму в атакуючій грі звичайно виражається через (значущу) ймовірність і оцінку (розумної) тимчасової складності.
3. Формальна демонстрація існування поліноміальної редукції, що зводить атаку до рішення задачі, що важко вирішується, як правило, має вид математичної теореми.
3.2. Приклади доказу стійкості деяких протоколів на основі їх імовірнісних моделей Аналіз стійкості будемо проводити на основі імовірнісної моделі протоколів з нульовим розголошенням.
Одне з основних завдань криптографії представляє собою двосторонню інтерактивну гру, в якій один  учасник (сторона, що доводить) доказує іншому учаснику (стороні, що перевіряє) істинність твердження, не розкриваючи суті доказу. В цьому випадку сторона, що перевіряє не може самостійно оцінити істинність твердження, оскільки йому невідома інформація, яка доступна стороні, що доводить. Ця гра називається протоколом (системою) інтерактивного доказування або ІР-протоколом. Доказування, здійснюване ІР-протоколом, можна назвати «секретним доказуванням». Секретність цього доказу полягає в тому, що по-перше, сторона, що перевіряє, переконавшись в істинності доказуваного твердження, не здатна самостійно повторити доказ, і, по-друге, після завершення протоколу ніхто із сторонніх не здатний зрозуміти жодного повідомлення, якими обмінювалися сторона, що перевіряє і сторони, що доводить.
Уявимо собі, що твердження, яке необхідно довести, не розкриваючи сутності доказу, є рішенням якої-небудь відомої невирішеної математичної задачі. В цьому випадку доказуючи сторона побоюючись плагіату, може побажати приховати технічні деталі доказу від потенційно нечесного рецензента. Для цього вона повинна провести «секретний» доказ, переконавши рецензента (що грає роль сторони, що перевіряє в ІР-протоколі) в коректності висновків, не даючи ніякої додаткової інформації.
У багатьох реальних системах існують набагато більш серйозні підстави для проведення «секретних» доказів. Як правило, ІР-протоколи  застосовуються для аутентифікації сутностей. На відміну від звичайних протоколів аутентифікації, в яких користувачі ставлять цифрові підписи, в ІР-протоколі сторона, що доводить не бажає, щоб повідомлення стали доступними кому-небудь, окрім сторони, що перевіряє, і виконує «секретну» аутентифікацію. Крім того, ІР-протоколи часто застосовуються для того, щоб довести, що частина прихованої інформації має певну структуру. Це необхідно в деяких секретних системах (наприклад, при проведенні електронних аукціонів), в яких прихований номер (лот) повинен знаходитися в допустимому діапазоні (наприклад, необхідно довести, що х > у без розкриття значень Ек(х) і Ек(у), що є пропозиціями ціни).
Розглядаючи ІР-протоколи, необхідно вивчити два питання.
Питання 1. Скільки інформації одержить сторона, що перевіряє в ході інтерактивного доказу?
Питання 2. Скільки раундів повинна виконати сторона, що доводить, щоб переконати сторону, що перевіряє?
Ідеальною відповіддю на перше питання був би "аніскільки", або "нуль". ІР-протокол, що володіє такою властивістю, називається протоколом з нульовим розголошуванням або ZК-протоколом (zero-knowledge). Друге питання важливе не тільки для практичних застосувань, але і для теорії обчислювальної складності, оскільки рішення цієї проблеми пов'язане з отриманням нижчої оцінки складності.
Розглянемо обчислювальну модель інтерактивної системи доказу, яку запропонували Голдвассеср, Мікаплі і Раков. Позначимо основну модель протоколу інтерактивного доказу через (Р, V), де Р – сторона, що доводить (prover), а V – сторона, що перевіряє (verifier). Як правило, протокол (Р, V)призначений для перевірки приналежності певного речення мові, заданій над алфавітом {0, 1}.
Хай L – мова над алфавітом {0,1}. Сторони Р і V одержують зразокхÎL, що є загальними вхідними даними. Доказприналежності зразка позначається як (Р, V)(х). Обидві сторони протоколу пов’язані каналом зв’язку, через який вони обмінюються інформацією.
a1, b1, a2, b2,…, al, bl.
Ця послідовність повідомлень називається стенограмою доказу. У стенограмі доказу дані, що передаються користувачем Р, називаються стенограмою сторони, що доводить. Вони чергуються з даними, що передаються користувачем V, які називаються стенограмою сторони, що перевіряє. Як загальна довжина стенограми доказу l, так і довжина кожної стенограми |аі|, |bi| (i = 1,2...,l) обмежена поліномом, що залежить від параметра |х|. Доказ приналежності зразка (Р, V)(х)мові L також повинен бути обмежений поліномом, який залежить від об'єму вхідних даних |х|.
Результат роботи протоколу записується у вигляді
(Р, V)(х)Î { Прийняти, Відхилити}.
Ці два значення означають, що сторона, що перевіряє або підтверджує, або спростовує твердження хÎL , висловлене стороною, що доводить Р. Оскільки система (Р, V)є імовірнісною, при кожному х результат (Р, V)(х)є випадковою величиною, залежною від загальних вхідних даних х, закритихвхідних даних (рrivate input) користувача Р і деяких випадкових вхідних даних (random input), загальних для користувачів Р і V. Більш того, елементи стенограми доказу також є випадковими величинами.
Оскільки протокол (Р, V)є двосторонньою грою, природно припустити, що кожна сторона прагне одержати додаткову перевагу. З одного боку, сторона, що доводить, Р повинна бути зацікавлена в результаті (Р, V)(х) Прийняти, навіть якщо хÏL. Сторона, що доводить, яка керується такою шахрайською стратегією, позначається як Р’. З іншого боку, сторона, що перевіряє V повинна бути зацікавлена в розкритті інформації про закриті вхідні дані гравця Р. Сторона, що перевіряє, яка притримується такої нечесної стратегії позначається як V.
Дамо визначення протоколу інтерактивного доказу.
Хай L — мова, задана над алфавітом {0,1}. IР-протокол (Р,V) називається системою інтерактивного доказу для мови L, якщо
                   Ргоb[(Р, V)(х) = Прийняти | х Î L] ³ e,                                 (3.1)
                   Ргоb[(Р’, V)(х)= Прийняти | х Ï L] £ d,                               (3.2)
де числа e  і d  є константами, що задовольняють умовам
e Î<shape id="_x0000_i1063" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image066.wmz» o:><img width=«41» height=«45» src=«dopb66119.zip» v:shapes="_x0000_i1063">,  dÎ<shape id="_x0000_i1064" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image068.wmz» o:><img width=«44» height=«45» src=«dopb66120.zip» v:shapes="_x0000_i1064">.
Імовірнісний простір складається зі всіх вхідних значень протоколу  (Р, V) і всіх випадкових вхідних даних користувачів Р і V.
Оцінка (3.1) характеризує повноту протоколу (Р,V). Величина e називається імовірністю повноти  протоколу (Р, V). Це означає, що якщо хÎL, то сторона, що перевіряє, V приймає припущення х з імовірністю, яка не менше величини e.
Оцінка (3.2) характеризує несуперечність протоколу (Р,V). Величина d  називається імовірністю суперечності протоколу (Р,V). Це означає, що якщо хÏL, то сторона, що перевіряє, V приймає припущення х з імовірністю, що не перевищує величини d.
Оцінку імовірності повноти (відповідно суперечності) можна збільшити (відповідно зменшити), наблизивши її скільки завгодно близько до одиниці (відповідно до нуля), послідовно і незалежно повторюючи протокол (Р,V) поліноміально обмежену кількість раз (залежно від розміру вхідного речення). В цьому випадку сторона, що перевіряє, V ухвалює рішення шляхом голосування.
Розглянемо введені поняття на прикладі протоколу інтерактивного доказу приналежності підгрупі (Протокол 3.1).
Загальні вхідні дані:
1. ѓ: однонаправлена функція, визначена в групі Znі задовольняюча гомоморфній умові:
"х, уÎZn: ѓ (х + у) = ѓ (х) ѓ (у).
2. Х = ѓ (z) для деякого zÎZn.
Закриті вхідні дані сторони А:
z < n.
Висновок сторони Б:
Х Î á ѓ (1)ñ, тобто елемент Х породжується елементом ѓ (1).
Наступні кроки виконуються m раз.
1. А генерує число k Î Zn, знаходить число Сommit  ¬ѓ(k) і посилає його Б.
2.  Б генерує число Challenge Î {0,1} і посилає його А.
3. А обчислює число Response ¬<shape id="_x0000_i1065" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image070.wmz» o:><img width=«248» height=«48» src=«dopb66121.zip» v:shapes="_x0000_i1065">                      і посилає його Б.
4. Б перевіряє значення ѓ (Response)≟<shape id="_x0000_i1066" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image072.wmz» o:><img width=«233» height=«48» src=«dopb66122.zip» v:shapes="_x0000_i1066">     
Якщо перевірка завершується невдало, Б посилає відмову і завершує роботу протоколу.
Б приймає доказ.
У цьому протоколі А є стороною, що доводить, а Б стороною, що перевіряє. Загальними вхідними даними А і Б є число X = ѓ (z), де функція ѓ є однонаправленою і гомоморфною функцією, заданою над групою  Zn. Твердження про приналежність формулюється А і виглядає таким чином: X Î { ѓ (x) |х Î Zn}.
Закритими даними А є елемент zÎZn– прообраз елементу X при однонаправленому і гомоморфному відображенні ѓ.
В даному протоколі обидві сторони вступають в контакт т разів і створюють наступну стенограму доказу.
Commit1, Challenge1, Response1,..., Commitm, Challengem, Responsem.
Протокол виводить результат Прийняти, якщо кожна перевірка, що виконується Б, завершується успішно. Інакше результатом є слово Відхилити. Описаний протокол є повним. Інакше кажучи, якщо А знає прообраз z і слідує інструкціям, то Б завжди відповідатиме: Прийняти.
Повнота.
Оцінка імовірності повноти протоколу виконується, причому e = 1, оскільки відповіді  А завжди успішно проходять перевірку у Б, тобто
ѓ (Response)=<shape id="_x0000_i1067" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image074.wmz» o:><img width=«224» height=«48» src=«dopb66123.zip» v:shapes="_x0000_i1067">
 при будь-якому виборі випадкового числа Сhallenge Î {0,1}.
Несуперечливість.
Протокол є несуперечливим.
Оцінимо імовірність суперечності d.
Результат перевірки, що виконується Б на етапі 4, залежить від випадкового числа Сhallenge після отримання числа Соmmit від А. Перевірка завершується успішно в двох випадках.
Варіант 1: Challenge = 0: Б бачить, що А відомий прообраз числа Commit.
    продолжение
--PAGE_BREAK--Варіант 2:  Challenge = 1: Б бачить число
прообраз(Х)= Response – прообраз(Commit)(mod n).
Оскільки сторона А не може передбачити випадковий вибір Б після отримання передачі, якщо число, що передається не дорівнює одиниці, вона повинна знати прообраз(Commit), а значить, і прообраз(Х).
Якщо А не знає число прообраз(Х), вона може зшахраювати, спробувавши вгадати випадковий біт оклику передвідправкою своєї передачі. У «нечесному» доказі А обчислює значення, що передається таким чином.
 •  Вибирає випадкове число Response Î Zn.
 •  Вгадує число Challenge.
 •  Обчислює число Commit ¬<shape id="_x0000_i1068" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image076.wmz» o:><img width=«252» height=«48» src=«dopb66124.zip» v:shapes="_x0000_i1068">
Очевидно, що на кожному кроці Б може відкинути помилковий доказ з імовірністю 1/2. Отже, імовірність суперечності (тобто імовірність успішного обману) рівна d = 1/2. Якщо протягом m ітерацій Б жодного разу не відкинув доказ, імовірність успішного обману не перевершує 2-m. Успішний обман стане практично неможливим, якщо число m достатньо велике, тобто число 2-m є дуже малим.
Якщо функція ѓ є гомоморфізмом, то ѓ(х) = ѓ(1)х для всіх  х Î Zn. Отже, в протоколі А доводить своє знання дискретного логарифма числа X по підставі ѓ(1). Цей протокол називається «доказуванням приналежності підгрупі», оскільки ця назва має більш загальний характер. Слід підкреслити, що огd[ѓ(1)] є секретним дільником числа n, тобто в загальному випадку елемент ѓ(1) не породжує групу що складається з п елементів. Як правило, Б не може безпосередньо перевірити приналежність елемента підгрупі, не вдаючись до допомоги А.
Рішення задачі про приналежність елементу підгрупі є важким завданням. Приведемо ще декілька свідоцтв, підтверджуючих сказане. Відзначимо, що, хоча множина
Ln = { ѓ(x) = ѓ(1)x | х Î Zn}
є циклічною групою (оскільки вона породжується елементом  ѓ(1)), Б нелегко перевірити умову # Lnn. Для цього він повинен розкласти число п на прості множники. Б може відповісти ТАК, не вступаючи в контакт з А, тільки якщо #Ln = п (оскільки число ѓ(1) повинно породжувати всі п елементів множини Ln). Таким чином, завдання про приналежність елементу підгрупі зводиться до факторизації великого цілого числа. Отже, щоб затруднити рішення цієї задачі, ціле число п в протоколі повинне бути достатньо великим. Саме з цієї причини параметр безпеки в протоколі  повинен мати довжину log n.
Нульове розголошування.
Припустимо, що на Питання 1  існує ідеальна відповідь (Р, V) – протокол з нульовим розголошуванням, тобто користувач V  переконується у коректності твердження користувача Р, не дізнавшись нічого нового про закриті вхідні дані.
Для того, щоб протокол (Р, V) володів цією властивістю, необхідно обмежити обчислювальну потужність користувача V  поліномом, що залежить від розміру його вхідної інформації. Очевидно, що без цього обмеження неможна гарантувати нульове розголошування, оскільки користувач V, що володіє необмеженими обчислювальними ресурсами може самостійно розкрити секретні вхідні дані користувача Р.
Для будь-якого речення х ÎL виконання протоколу (Р, V)(х)приводить не тільки до виведення результату Прийняти, але і породжує стенограму доказу, в якому чергуються елементи стенограм сторони, що доводить і сторони, що перевіряє. Елементи стенограми доказу є випадковими величинами, що залежать від всіх вхідних даних, включаючи випадкові вхідні дані протоколу (Р,V).
Очевидно, що доказ (Р, V)(х)розкриває будь-яку інформацію про закриті вхідні дані користувача Р тільки в тому випадку, якщо стенограма доказу допускає виток інформації.
Проте, якщо випадкові величини в стенограмі доказу є рівномірно розподіленими по відповідному імовірнісному простору і не залежать від загальних вхідних даних, то безглуздо стверджувати, ніби вони допускають виток інформації. Вважатимемо, що у цій ситуації (тобто коли стенограма доказу складається з рівномірно розподілених випадкових величин, не залежних від загальних вхідних даних) сторона, що доводить спілкується зі стороною, що перевіряє, на мові, що не володіє властивістю надмірності, тобто що має найбільшу ентропію. Отже, не має значення, наскільки розумним(або могутнім) є користувач, що перевіряє. Навіть вивчаючи цю мову дуже довгий час, він не зможе витягнути ніякої додаткової інформації.
Доведемо тепер, що протокол, який ми вище розглянули є ідеальним -протоколом.
Стенограма доказу, створена при виконанні протоколу (А,Б)(Х), виглядає таким чином.
Commit1, Challenge1, Response1,..., Commitm, Challengem, Responsem,
 де для і = 1,2..., m  виконуються наступні умови.
 •  Commitі = ѓ(ki), де kiÎ Zn.
Очевидно, оскільки сторона А витягує числа kiз рівномірно розподіленої генеральної сукупності, величини Commitі також рівномірно розподілені по простору значень функції ѓ і не залежать від загальних вхідних даних Х.
•  Challengei Î {0,1}.
Сторона Б повинна витягувати біт оклику із генеральної сукупності рівномірно розподілених величин, але цю вимогу можна зняти.
 •  Responsei = ki+ z Challenge(mod n).
Очевидно, що завдяки рівномірному розподілу чисел ki, величина Responsei рівномірно розподілена по групі Zn при всіх значеннях Challengei {0,1} (навіть якщо Challenge не є рівномірно розподіленою випадковою величиною) і не залежить від загальних вхідних даних Х.
Отже, дані, що передані стороною А у процесі виконання протоколу є рівномірно розподіленими і не представляють для сторони Б ніякої додаткової інформації про її закриті дані. Таким чином цей протокол є ідеальним протоколом з нульовим розголошенням.
З цього прикладу виходить, що елементи стенограми А є рівномірно розподіленими незалежно від того, як Б вибирає випадкові біти оклику. Інакше кажучи, Б не може вплинути на розподіл чисел у  стенограмі сторони А. Отже, протокол є ідеальним протоколом з нульовим розголошуванням, навіть якщо сторона Б веде нечесну гру.
Протокол ідентифікації Шнорра.
В протоколі, який ми вище розглянули сторона Б  використовує біти оклику. Це призводить до великої імовірності суперечності протоколу: δ = 1/2. Отже для того, щоб зменшити помилку до 2-m необхідно повторити протокол  m разів. Для запобігання шахрайства з боку А достатньо прийняти  m = 100. Але необхідність великої кількості раундів знижує ефективність протоколу.
При деяких параметрах безпеки імовірність суперечності протоколу можна понизити, що приведе до зменшення кількості необхідних раундів. Для цього сторона Б повинна знати розкладання числа п на прості множники. Особлива ситуація виникає, коли число п є простим. Розглянемо протокол ідентифікації Шнора.
Загальні вхідні дані.
p,q: два простих числа, що задовольняють умові q | p – 1.
(Типовий розмір: |p | = 1024, |q| = 160.)
g: огdp(g)= q;
y : y = g-a(mod р).
( Кортеж ,q,g,у) складається з параметрів відкритого ключа сторони А,
сертифікованого органом авторизації.)
Закриті вхідні дані сторони А:
а < q.
Висновок сторони Б :
А відомий деякий елемент аÎ Zq, що задовольняє умові
уg-a(mod р).
Наступні кроки виконуються 1оg2 1оg2р разів.
1.  А генерує число k Î Zn, знаходить число Соmmit ¬gk(mod р) і посилає його Б.
2.  Б генерує число Сhallenge Î <shape id="_x0000_i1069" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image078.wmz» o:><img width=«76» height=«25» src=«dopb66125.zip» v:shapes="_x0000_i1069"> і посилає його A.
3.  A обчислює значення Responsе ¬ k + a Сhallenge(mod p) і надсилає його Б.
4.  Б перевіряє число Соmmit = gResponse yChallemge(mod p).
Якщо перевірка завершується невдало, сторона Б  посилає відмову і припиняє роботу протоколу. Сторона Б  ідентифікує сторону А.
Цей протокол є різновидом попереднього протоколу, в якому функція ѓ(х) реалізується за допомогою операції g-x(mod p)над кінцевим полем Fр, де підгрупа ágñ має простий порядок q | р – 1. Легко, бачити, що функція g-x(mod p) є гомоморфною. Більш того, для достатньо великих простих чисел  q і р, наприклад |р| = 1024, |q |  = 160, функція g-x(mod p) є однонаправленою.
При такому виборі параметрів Б може використовувати злегка збільшені оклики, що складаються з log2 log2p біт.
Оскільки умова q | р – 1 накладається явно, протокол ідентифікації Шнорра більше не повинен вирішувати задачу про приналежність елементу певній підгрупі. Тепер Б може самостійно визначити, чи належить елемент у підгрупі ágñ, не вдаючись до допомоги сторони А: уq≡ gq ≡ 1(mod р). Отже, протокол ідентифікації Шнорра призначений для вирішення конкретнішого завдання: чи знає  сторона А дискретний логарифм числа у по підставі g, що є її криптографічним мандатом.
Проаналізуємо стійкість даного протоколу.
Повнота.
Ця властивість виконується тривіальним чином, причому ε = 1.
Несуперечність.
Припустимо, що сторона А’ шахраює, тобто не знає правильне значення дискретного логарифма. Одержавши число Commit від А, сторона Б генерує число Challenge<shape id="_x0000_i1070" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image078.wmz» o:><img width=«76» height=«25» src=«dopb66125.zip» v:shapes="_x0000_i1070"> і чекає відгуку.
Response = logg [Commit*yChallenge(mod p)] (mod q).
Це рівняння демонструє, що при заданих числах Commit і у існують log2р різних значень Response, що відповідають log2р різним значенням Challenge. При невеликій величині log2р найкращою стратегією обчислення правильної відповіді по величині Commit*yChallenge(mod p) є вгадування числа Challenge перед фіксацією числа Commit.
1.  Генеруємо число Response Î Zq.
2Вгадуємо значення Сhallenge Î <shape id="_x0000_i1071" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image078.wmz» o:><img width=«76» height=«25» src=«dopb66125.zip» v:shapes="_x0000_i1071">.
3.  Обчислюємо величину Соmmit = gResponse yChallemge(mod p).
Очевидно, що імовірність суперечності при правильному вгадуванні на кожної ітерації рівна 1/1оg2р, тобто імовірність суперечності протоколу, що складається з одного раунду, рівна δ = 1/ 1оg2р.
Оскільки імовірність суперечності протоколу ідентифікації Шнорра, що складається з одного раунду, менше, ніж у попереднього протоколу, його ефективність вище. Дійсно в попередньому протоколі для зниження імовірності помилки до дуже малої величини δ = 2-m необхідно виконати т ітерацій, в той час, коли в протоколі ідентифікації Шнорра для цього достатньо l = <shape id="_x0000_i1072" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image080.wmz» o:><img width=«79» height=«45» src=«dopb66126.zip» v:shapes="_x0000_i1072">  раундів.
При р » 21024i m = 100 одержуємо l = 100/10 = 10. Інакше кажучи, збільшення довжини оклику скорочує кількість ітерацій в порівнянні з попереднім протоколом  в 10 разів при тій же імовірності суперечності.
Ефективність раунду.
Розглянемо друге питання, сформульоване в розділі 3.1: скільки раундів необхідне для того, щоб сторона, що доводить, переконала в своїй правоті сторону, що перевіряє? Це питання про так звану ефективність раунду. Раундом називається повний цикл дій, пов'язаних з відправкою і отриманням повідомлень. Оскільки багато — (і IР) протоколів складаються із обчислень величин Commit(перший крок учасника Р),Challenge (другий крок учасника V),Response (другий крок учасника Р), ми часто називатимемо раундом саме ці три дії.
Для того, щоб понизити імовірність помилки в протоколах з нульовим розголошенням, звичайно використовується велика кількість раундів. У виразі (3.1.1) величина ε є нижньою оцінкою імовірності повноти, а величина 1 – ε – її оцінку зверху. Як і оцінку несуперечності, оцінку повноти зверху необхідно мінімізувати. Для того, щоб об'єктивно оцінювати ефективність раундів в протоколі з нульовим розголошуванням, необхідно оцінювати імовірності помилок в кожному окремому раунді. Чим нижча оцінка такої імовірності, тим вище ефективність сеансу.
Знайдемо нижню оцінку ефективності раунду при вирішенні задачі про приналежність елемента підгрупі.
Сформулюємо питання таким чином.
Чи можна поліпшити ефективність протоколу 3.1, збільшивши розмір оклику, що генерується стороною Б, як це зроблено в протоколі ідентифікації Шнорра, якщо ѓ(х) = (mod N) і стороні A відоме розкладання складеного цілого числа N на прості множники?
Нагадаємо, що, наприклад, в протоколі ідентифікації Шнорра ми трохи збільшили довжину оклику: Challenge<shape id="_x0000_i1073" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image082.wmz» o:><img width=«76» height=«25» src=«dopb66125.zip» v:shapes="_x0000_i1073">. В результаті ефективність протоколу підвищилася: замість m раундів, передбачених в протоколі 3.1, для доказу виявилось достатньо виконати <shape id="_x0000_i1074" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image083.wmz» o:><img width=«79» height=«45» src=«dopb66126.zip» v:shapes="_x0000_i1074"> раунди, причому імовірність суперечності не змінилася.
На жаль, якщо А знає розкладання числа N на прості множники, такий прийом стає неможливим. Проблема полягає не в нульовому розголошенні. Вона пов'язана з імовірністю суперечності. Імовірність суперечності даного протоколу рівна δ = 1/2 незалежно від довжини оклику.
Для прикладу розглянемо імовірність суперечності однораундового трьохкрокового протоколу, що використовує довгий оклик.
Отже, опишемо протокол з нульовим розголошуванням під назвою «Непридатний протокол», призначений для доказу приналежності елемента однієі з підгруп Zn. Цей протокол непридатний для використання на практиці. Він описується його лише для демонстрації ідеї.
Загальні вхідні дані:
велике складене ціле число;
g, у: два елементи групи Zn, де g має великий порядок по модулю N, а у = gz (mod N). <shape id="_x0000_i1075" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image084.wmz» o:><img width=«12» height=«23» src=«dopb66127.zip» v:shapes="_x0000_i1075">
Закрита інформація сторони А:
ціле число z < f(N).
Висновок сторони Б:
у Îágñ, тобто уgz (mod N) при деякому х.
1. A генерує число  k Î Zf(N), обчислює значення  Commit ¬ gk (mod N )і посилає його Б.
2. Б  генерує   рівномірно розподілену випадкову величину Challenge < N і посилає її А.
3. А обчислює значення Response ¬ k + z Challenge(mod f(N)) і посилає його Б.
4. Якщо gResponse = Commit*yChallenge(mod N), сторона Б приймає доказ, інакше вона його відкидає.
На перший погляд, оскільки розмір числа Challenge великий, стороні А нелегко його вгадати, і вона вимушена точно слідувати інструкціям протоколу, що зменшує імовірність несуперечності до величини δ ≈ 1/f(N). Якби це було правдою, то протокол складався б тільки з одного раунду. Але, на жаль, ця оцінка імовірності суперечності некоректна.
Знаючи факторизацію числа N, А може легко обчислити нетривіальний квадратний корінь одиниці, тобто елемент ЯÎ ZN, що задовольняє  умовам Я ≠ ±1 Я2 ≡ 1(mod N).
Далі А обчислює загальні вхідні дані:
Y ¬Яgz(mod N).
Замість обчислення значення Commit по інструкціях протоколу, сторона А підкидає монету bÎ{0,1}, намагаючись вгадати парність оклику сторони Б. Потім вона обчислює величину Commit  по наступній формулі.
Commit¬<shape id="_x0000_i1076" type="#_x0000_t75" o:ole=""><imagedata src=«14212.files/image086.wmz» o:><img width=«201» height=«51» src=«dopb66128.zip» v:shapes="_x0000_i1076">
В частині протоколу, що залишилася, сторона А повинна слідувати інструкціям.
Очевидно, що шанси правильно вгадати число Challenge рівні 1/2. Якщо сторона А правильно вгадала парний оклик Challenge = 2и, Б виконує наступну верифікацию.
gResponse ≡ gk gz2u ≡ Commit(Яg)z2u ≡ Commit YChallenge(mod N).
Значить, Б приймає доказ. Якщо сторона А правильно вгадала непарний оклик Challenge = 2и + 1, Б виконує верифікацію наступним чином.
gResponse ≡ gk gz(2u+1)≡ Яgk (Я g)z(2u+1) ≡ Commit YChallenge(mod N).
Значить сторона Б знову повинна прийняти доказ.
Таким чином, незалежно від довжини оклику, імовірність суперечності рівна всього лише δ = 1/2.
Оскільки стороні Б невідома факторизація числа N, вона не може самостійно вирішити завдання про приналежність елемента підгрупі, тобто Б може запобігти шахрайству А тільки з імовірністю 1/2. Збільшення довжини оклику нічого не дає.
Використовуючи нетривіальний квадратний корінь одиниці по модулю N, A досягає максимальної імовірності угадування, що дорівнює δ = 1/2. В тривіальному випадку  Я = — 1   (інший тривіальний випадок Я = 1, в атаці не використовується) сторона Б може досягти більшої переконливості: або Y, або –Y належить підгрупі ágñ. Проте, оскільки сторона А знає факторизацію числа N, а Б – ні, використовуючи китайську теорему про залишки, вона також може приховати число gk використовуючи інший множник малого порядку, наприклад, третього. Таким чином, імовірність суперечності не може бути дуже малою величиною.
Отже доказ приналежності елемента підгрупі з нульовим розголошенням складається із логарифмічного числа раундів.
Висновки В цьому розділі були розглянуті імовірнісні моделі протоколів з нульовим розголошенням і на їх основі визначені стійкість цих крипторотоколів. Можна сказати, що задача І Î L(приналежності елемента підгрупі) є такою, що легко вирішується (відповідно такою, що важко вирішується), якщо існує (відповідно не існує) додаткова інформація, що полегшує роботу алгоритму.  В процесі аналізу даних протоколів ми зробили висновок, що якщо стороні, що доводить відомий розклад складеного числа (N) на прості множники, то незалежно від довжини оклику (Challenge), імовірність суперечності рівна всього лише δ = 1/2. Тобто для зменшення цієї імовірності в будь-якому випадку потрібно збільшити кількість раундів протоколу.

Розділ 4.  Нормативно-правова база розробки, впровадження і експлуатації захищених систем 4.1. Структура нормативної бази Структуру законодавства, що регулює відносини із захисту інформації утворюють Конституція України, загальні і спеціальні нормативно-правові акти.
    продолжение
--PAGE_BREAK--Основний Закон нашої держави Конституція України очолює систему законодавства. Вона є фундаментом для інших нормативно-правових актів, в яких деталізуються її положення. Конституція України визначає право громадян на інформацію, особливості використання інформації з обмеженим доступом.
До загальних нормативно-правових актів належать:
Закон України «Про державну таємницю». Цей Закон регулює суспільні відносини, пов’язані з віднесенням інформації до державної таємниці, засекречуванням, розсекречуванням її матеріальних носіїв, порядком доступу до державної таємниці та охороною державної таємниці з метою захисту національної безпеки України.
Закон України «Про інформацію». Він дає визначення інформації, встановлює загальні правові основи одержання, використання, поширення та зберігання інформації, закріплює право особи на інформацію в усіх сферах суспільного і державного життя України, а також систему інформації, її джерела, визначає статус учасників інформаційних відносин, регулює доступ до інформації та забезпечує її охорону, захищає особу та суспільство від неправдивої інформації.
Закони України «Про Національну програму інформатизації», «Про Концепцію Національної програми інформатизації». Національна програма інформатизації, невід’ємною частиною якої є інфомаційна безпека, визначає стратегію розв’язання проблеми забезпечення інформаційних потреб та інформаційної підтримки соціально-економічної, екологічної, науково-технічної, оборонної, національно-культурної та іншої діяльності у сферах загальнодержавного значення.
Закон України «Про електронні документи та електронний документообіг» встановлює основні організаційно-правові засади електронного документообігу та використання електронних документів.
Спеціальні нормативно-правові акти визначають конкретні методи та засоби захисту інформації, порядок розроблення та експлуатації захищених систем.
Закон України «Про захист інформації в автоматизованих системах». Метою цього Закону є встановлення основ регулювання правових відносин щодо захисту інформації в автоматизованих системах за умови дотримання права власності громадян України і юридичних осіб на інформацію та права доступу до неї, права власника інформації на її захист, а також встановленого чинним законодавством обмеження на доступ до інформації.
Закон України «Про електронний цифровий підпис» визначає правовий статус електронного цифрового підпису та регулює відносини, що виникають при використанні електронного цифрового підпису.
Постанова Кабінету міністрів України від 29.03.2006 р. № 373 «Про затвердження правил забезпечення захисту інформації в інформаційних, телекомунікаційних  та інформаційно-телекомунікаційних системах». Ці правила визначають загальні вимоги і організаційні основи забезпечення захисту інформації, що є власністю держави або інформацією з обмеженим доступом.
Указ Президента України «Про Положення про технічний захист інформації в Україні». Це Положення визначає правові та організаційні засади технічного захисту важливої для держави, суспільства і особи інформації, охорона якої забезпечується державою відповідно до законодавства.
Постанова Кабінету міністрів України «Про затвердження Концепції технічного захисту інформації в Україні». Ця Концепція визначає основи державної політики у сфері захисту інформації інженерно-технічними заходами.
Указ Президента України «Про Положення про порядок здійснення криптографічного захисту інформації в Україні». Це Положення визначає порядок здійснення криптографічного захисту інформації з обмеженим доступом, розголошення якої завдає (може завдати) шкоди державі, суспільству або особі.
Ліцензійні умови провадження господарської діяльності з розроблення, виробництва, використання, експлуатації, сертифікаційних випробувань, тематичних досліджень, експертизи, ввезення, вивезення криптосистем і засобів криптографічного захисту інформації, надання послуг в галузі криптографічного захисту інформації (крім послуг електронного цифрового підпису), торгівлі криптосистемами і засобами криптографічного захисту інформації, затверджені Наказом Державного комітету України з питань регуляторної політики та підприємництва, Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України (далі Департамент) від 29.12.2000, № 88/66 (далі – Ліцензійні умови).
Наказ Департаменту спеціальних телекомунікаційних  систем  та захисту    інформації Служби безпеки України «Про внесення змін до Положення «Про порядок розроблення, виробництва та експлуатації засобів криптографічного захисту конфіденційної інформації» від 30.04.2004, № 30 (далі Наказ).
Інструкція «Про порядок забезпечення режиму безпеки, що повинен бути створений на підприємствах, установах та організаціях, які здійснюють господарську діяльність у галузі криптографічного захисту конфіденційної інформації, що є власністю держави», затверджена Наказом Департаменту спеціальних телекомунікаційних  систем  та захисту  інформації СБ України від 22.10.99,№ 45(далі – Інструкція). Цей нормативний документ визначає конкретні вимоги щодо режиму безпеки, який повинен бути створений при проведенні робіт з криптографічного захисту конфіденційної інформації, що є власністю держави.
Тимчасова інструкція «Про порядок постачання і використання ключів до засобів криптографічного захисту інформації», затверджена спільним наказом Держстандарту України та Служби   безпеки України   від 28  листопада 1997 р., № 708/156. Цей документ встановлює порядок постачання і використання ключів, що внесені до п.1.7. ГОСТ 28147-89 та визначають заповнення ключових запам’ятовуючих пристроїв і таблиць блоку підстановки.
ДСТУ 4145–2002 Криптографічний захист інформації. Цифорвий підпис, що грунтується на еліптичних кривих. Формування та перевіряння».
Російські стандарти:
ГОСТ 28147–89 Системы обработки инфоромации. Защита крипто-графическая. Алгоритм криптографического преобразования.
ГОСТ 34.311–95 Информационная технология. Криптографическая функция хеширования.
Ці стандарти визначають конкретні способи та механізми крипто-графічних перетворень для захисту інформації.
4.2. Основні поняття та положення Згідно зі ст. 1 Закону України «Про інформацію» інформація – це документовані або публічно оголошені відомості про події та явища, що відбуваються у суспільстві, державі та навколишньому природному середовищі.
Основними принципами інформаційних відносин є:
-  гарантованість права на інформацію;
-  відкритість, доступність інформації та свобода її обміну;
-  об’єктивність, вірогідність інформації;
-  повнота і точність інформації;
-  законність одержання, використання, поширення та зберігання інформації (ст. 5 цього Закону).
Інформаційна безпека є невід’ємною частиною політичної, економічної, оборонної та інших складових національної безпеки. Об’єктами інформаційної безпеки є інформаційні ресурси, канали інформаційного обміну і телекомунікації, механізми забезпечення функціонування телекомунікаційних систем і мереж та інші елементи інформаційної інфраструктури країни (п. 3 розділу 6 Закону України «Про Крнцепцію Національної програми інформатизації»).
Режим доступу до інформації – це передбачений правовими нормами порядок одержання, використання, поширення і зберігання інформації.
За режимом доступу інформація поділяється на відкриту інформацію та інформацію з обмеженим доступом.
Держава здійснює контроль за режимом доступу до інформації (ст. 28 Закону «Про інформацію»).
Інформація з обмеженим доступом за своїм правовим режимом поділяється на конфіденційну і таємну.
Конфіденційна інформація – це відомості, які знаходяться у володінні, користуванні або розпорядженні окремих фізичних чи юридичних осіб і поширюються за їх бажанням відповідно до передбачених ними умов (ст. 30).
До таємної інформації належить інформація, що містить відомості, які становлять державну та іншу передбачену законом таємницю, розголошення якої завдає шкоди особі, суспільству і державі.
Віднесення інформації до категорії таємних відомостей, які становлять державну таємницю, і доступ до неї громадян здійснюється відповідно до закону про цю інформацію.
Порядок обігу таємної інформації та її захисту визначається відповідними державними органами за умови додержання вимог, встановлених цим Законом.
Порядок і терміни обнародування таємної інформації визначаються відповідним законом.
Інформація з обмеженим доступом може бути поширена без згоди її власника, якщо ця інформація є суспільно значимою, тобто якщо вона є предметом громадського інтересу і якщо право громадськості знати цю інформацію переважає право її власника на її захист (ст. 30).
Державна таємниця – вид таємної інформації, що охоплює відомості у сфері оборони, економіки, науки і техніки, зовнішніх відносин, державної безпеки та охорони правопорядку, розголошення яких може завдати шкоди національній безпеці України та які визнані у порядку, встановленому цим Законом, державною таємницею і підлягають охороні державою (ст. 1 Закону України «Про державну таємницю»).
Дамо визначення таким важливим поняттям, як допуск та доступ до секретної інфориації (ст. 1 того ж Закону):
Допуск до державної таємниці – оформлення права громадянина на доступ до секретної інформації.
Доступ до державної таємниці – надання повноважною посадовою особою дозволу громадянину на ознайомлення з конкретною секретною інформацією та провадження діяльності, пов’язаної з державною таємницею, або ознайомлення з конкретною секретною інформацією та провадження діяльності, пов’язаної з державною таємницею, цією посадовою особою відповідно до її службових повноважень.
Охорона державної таємниці – комплекс організаційно-правових, інженерно-технічних, криптографічних та оперативно-розшукових заходів, спрямованих на запобігання розголошенню секретної інформації та втратам її матеріальних носіїв (ст. 1).
Криптографічний захист секретної інформації – вид захисту, що реалізується шляхом перетворення інформації з використанням спеціальних даних (ключових даних) з метою приховування (або відновлення) змісту інформації, підтвердження її справжності, цілісності, авторства тощо (та ж стаття).
Технічний захист секретної інформації – вид захисту, спрямований на забезпечення інженерно-технічними заходами конфіденційності, цілісності та унеможливлення блокування інформації (та ж стаття).
З метою охорони державної таємниці впроваджуються:
-  єдині вимоги до виготовлення, користування, збереження, передачі, транспортування та обліку матеріальних носіїв секретної інформації;
-  дозвільний порядок провадження органами державної влади, органами місцевого самоврядування, підприємствами, установами та організаціями діяльності, пов’язаної з державною таємницею;
-  обмеження оприлюднення, передачі іншій державі або поширення іншим шляхом секретної інформації;
-  обмеження щодо перебування та діяльності в Україні іноземців, осіб без громадянства та іноземних юридичних осіб, їх доступу до державної таємниці, а також розташування і переміщення об’єктів і технічних засобів, що їм належать;
-  особливості здійснення органами державної влади їх функцій щодо органів державної влади, органів місцевого самоврядування, підприємств, установ і організацій, діяльність яких пов’язана з державною таємницею;
-  режим секретності органів державної влади, органів місцевого самоврядування, підприємств, установ і організацій, що провадять діяльність, пов’язану з державною таємницею;
-  спеціальний порядок допуску та доступу громадян до державної таємниці;
-  технічний та криптографічний захисти секретної інформації (ст. 18 того ж Закону).
Органи державної влади, органи місцевого самоврядування, підприємства, установи, організації мають право провадити діяльність, пов’язану з державною таємницею, після надання їм Службою безпеки України спеціального дозволу на провадження діяльності, пов’язаної з державною таємницею (ст. 20).
Відповідальність за порушення законодавства про інформацію несуть особи, винні у вчиненні таких порушень, як:
-  розголошення державної або іншої таємниці, що охороняється законом, особою, яка повинна охороняти цю таємницю;
-  порушення порядку зберігання інформації;
-  навмисне знищення інформації;
-  необгрунтоване віднесення окремих видів інформації до категорії відомостей з обмеженим доступом;
-  порушення порядку обліку, зберігання і використання документів та інших носіїв інформації, які містять конфіденційну інформацію, що є власністю держави (ст. 47 Закону України «Про інформацію»).
Електронний документ – документ, інформація в якому зафіксована у вигляді електронних даних, включаючи обов’язкові реквізити документа (ст.5 Закону України «Про електронні документи та електронний докумнтообіг»). Суб’єкти електронного документообігу, які здійснюють його на договірних засадах, самостійно визначають режим доступу до електронних документів, що містять конфіденційну інформацію, та встановлюють для них систему (способи) захисту.
Перевірка цілісності електронного документа проводиться шляхом перевірки електронного цифрового підпису (ст. 12). Електронний підпис є обов’язковим реквізитом електронного документа, який використовується для ідентифікації автора та/або підписувача електронного документа іншими суб’єктами електронного документообігу (ст. 6). Це дані в електронній формі, які додаються до інших електронних даних або логічно з ними пов’язані та призначені для ідентифікації підписувача цих даних. Електронний цифровий підпис – вид електронного підпису, отриманого за результатом криптографічного перетворення набору електронних даних, який додається до цього набору або логічно з ним поєднується і дає змогу підтвердити його цілісність та ідентифікувати підписувача. Електронний цифровий підпис накладається за допомогою особистого ключа та перевіряється за допомогою відкритого ключа. Де особистий ключ – це параметр криптографічного алгоритму формування електронного цифрового підпису, доступний тільки підписувачу, а відкритий ключ – це параметр криптографічного алгоритму перевірки електронного цифрового підпису, доступний суб’єктам відносин у сфері використання електронного цифрового підпису (ст. 1 Закону України «Про електронний цифровий підпис»).
Електронний цифровий підпис за правовим статусом прирівнюється до власноручного підпису (печатки) у разі, якщо:
-  електронний цифровий підпис підтверджено з використанням посиленого сертифіката ключа за допомогою надійних засобів цифрового підпису;
-  під час перевірки використовувався посилений сертифікат ключа, чинний на момент накладення електронного цифрового підпису;
-  особистий ключ підписувача відповідає відкритому ключу, зазначеному у сертифікаті (ст. 3). Тобто у документі, що виданий центром сертифікації ключів, який засвідчує чинність і належність відкритого ключа підписувачу. Сертифікати ключів можуть розповсюджуватися в електронній формі або у формі документа на папері та використовуватися для ідентифікації особи підписувача (ст. 1).
Захист інформації в автоматизованих системах(далі АС) забезпечується шляхом:
-  дотримання суб’єктами правових відносин норм, вимог та правил організаційного і технічного характеру щодо захисту оброблюваної інформації;
-  використання засобів обчислювальної техніки, програмного забезпечення, засобів зв’язку і АС в цілому, засобів захисту інформації, які відповідають встановленим вимогам щодо захисту інформації (мають відповідний сертифікат);
-  перевірки відповідності засобів обчислювальної техніки, програмного забезпечення, засобів зв’язку і АС в цілому встановленим вимогам щодо захисту інформації (сертифікація засобів обчислювальної техніки, засобів зв’язку і АС);
-  здійснення контролю щодо захисту інформації (ст. 10 Закону України «Про захист інформації в автоматизованих системах»).
    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по информатике