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

2



МІНІСТЕРСТВО ВНУТРІШНІХ СПРАВ УКРАЇНИ

НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ ВНУТРІШНІХ СПРАВ



ФАКУЛЬТЕТ управління ТА інформатики



КАФЕДРА ЗАХИСТУ ІНФОРМАЦІЇ І СПЕЦІАЛЬНОЇ ТЕХНІКИ







пояснювальна записка



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

 (тема роботи)











Курсант гр.  543    ___________       Хомічук Т. О.

 (шифр групи)        (підпис)                     (прізвище, ініціали)



Керівник роботи ___________________  нач. кафедри Логвиненко М.Ф.

                                             (підпис)                          (посада, прізвище, ініціали)



ДО ЗАХИСТУ______________________________________________________

(допускається, не допускається)



Нач. факультету (кафедри) захисту інформації та спеціальної техніки                    

(назва факультету, кафедри)



________________________Логвиненко М.Ф.

      (підпис) 					 (прізвище, ініціали)







Харків – 2006
Зміст



	Вступ	3

	Розділ 1. Структура захищених систем і їх характеристики	8

	1.1. Структура захищеної системи обміну даними	8

	1.2. Сучасні основні шифри	10

	1.3. Методика визначення стійкості криптосистем	20

	1.4. Криптопротоколи, їх класифікація, особливості використання	27

	Висновки	35

	Розділ 2. Моделі елементів захищених систем	36

	2.1. Поняття стійкості шифрсистеми	36

	2.2. Стійкість криптографічних протоколів	40

	2.3. Математичні моделі елементів криптографічних систем	46

	2.4. Математична модель криптографічного протоколу	51

	Висновки	53

	Розділ 3. Оцінка стійкості криптографічних протоколів на основі імовірнісних моделей	55

	3.1. Методика оцінки стійкості	55

	3.2. Приклади доказу стійкості деяких протоколів на основі їх імовірнісних моделей	55

	Висновки	70

	Розділ 4.  Нормативно-правова база розробки, впровадження і експлуатації захищених систем	72

	4.1. Структура нормативної бази	72

	4.2. Основні поняття та положення	76

	Висновки	89

	Висновки	91

	Список літератури	93




Вступ



 Стрімкий розвиток засобів обчислювальної техніки і відкритих мереж, сучасні методи накопичення, обробки і передачі інформації сприяли появі погроз, пов'язаних з можливістю втрати, розкриття, модифікації даних, що належать кінцевим користувачам. У зв'язку з цим постійно розширюється як в кількісному, так і в якісному відношенні круг завдань, що вирішуються в області інформаційної безпеки. Під інформаційною безпекою слід розуміти стан захищеності оброблюваних, таких, що зберігаються і передаються в інформаційно-телекомунікаційних системах даних від незаконного ознайомлення, перетворення і знищення, а також стан захищеності інформаційних ресурсів від дій, направлених на порушення їх працездатності.

 Основу забезпечення інформаційної безпеки в інформаційно-телекомунікаційних системах складають криптографічні методи і засоби захисту інформації.

 Історично криптографія використовувалася з однією метою: зберегти секрет. Навіть сама писемність була свого роду шифруванням (у Стародавньому Китаї тільки вищі шари суспільства могли навчатися читанню і листу), а перший досвід застосування криптографії в Єгипті відноситься до 1900 року до н. э.: автор напису користувався незвичайними ієрогліфами. Є і інші приклади: дощечки з Месопотамії, на яких зашифрована формула виготовлення керамічної глазурі (1500 рік до н. э.), єврейський шифр ATBASH (500-600 роки до н. э.), грецький «небесний лист» (486 рік до н. э.) і шифр простої підстановки Юлія Цезаря (50-60 рік до н. э.). Кама Сутра Ватс’яяни навіть ставить мистецтво тайнопису на 44-е, а мистецтво секретної розмови на 45-е місце в списку 64 мистецтв (йог), якими повинні володіти чоловіки і жінки.

 Основними задачами, які вирішує криптографія є:

забезпечення конфіденційності, цілісності, достовірності, юридичної значущості інформації, оперативності доступу до інформації,  невідсліджуваність дій клієнта.

 Конфіденційність – властивість інформації бути доступною тільки обмеженому коло осіб.

 Під цілісністю розуміється властивість інформації зберігати свою структуру і зміст в процесі зберігання і передачі.

 Достовірність інформації виражається в суворій приналежності об'єкту, який є її джерелом.

 Оперативність - здатність інформації бути доступною для кінцевого користувача відповідно до його тимчасових потреб.

 Юридична значущість  означає, що документ володіє юридичною силою.

 Невідсліджуваність – здатність здійснювати деякі дії в інформаційній системі непомітно для інших об'єктів.

 В основі криптографічних методів лежить поняття криптографічного перетворення інформації, вироблюваного на  основі певних математичних законів, з метою виключити доступ до даної інформації сторонніх користувачів.

 Це криптографічне перетворення називається алгоритмом шифрування (шифром), під яким розуміється сімейство однозначно оборотних відображень множини відкритих повідомлень спільно з простором ключів в множину закритих повідомлень (криптограм). Де ключ – це конкретний секретний стан деяких параметрів алгоритму, який задає однозначне перетворення відкритого тексту.

 Необхідно, щоб шифри володіли наступними основними властивостями:

законний одержувач зможе виконати зворотне перетворення  і  однозначно розшифрувати повідомлення, знаючи криптографічний ключ;

криптоаналітик (зловмисник),  що перехопив повідомлення, не зможе відновити по  ньому початкове повідомлення без таких витрат часу і засобів, які зроблять цю роботу недоцільною.

 Для організації секретного зв'язку, коректного використання криптографічного алгоритму сторонам інформаційного обміну необхідно дотримуватись певних правил, послідовності дій. 

 Криптографічним протоколом називається встановлена послідовність дій, що виконується для виконання певного криптографічного завдання. В основі криптографічного протоколу лежить шифр.

 Криптографічні протоколи є важливою складовою частиною криптографічної системи. Можливі ситуації, коли завдання забезпечення безпеки інформації не розв'язуються через наявність слабких місць в протоколі, незважаючи на використання відповідних криптографічних перетворень.

 Основна відмінність протоколу від алгоритму полягає в тому, що реалізація алгоритму припускає активні дії одного суб'єкта, тоді як протокол реалізується в ході взаємодії декількох суб'єктів.

 Кожна дія криптопротокола за змістом є або обчисленнями, що виконуються діючими суб'єктами протоколу, або розсилкою повідомлень, між ними.

 Атаки на протоколи з боку супротивника можуть бути направлені як проти криптографічних алгоритмів, використовуваних в протоколах, так і проти самих протоколів. Такі атаки можна розділити на пасивні і активні.

 Під час пасивної атаки супротивник обмежується спостереженням за діями сторін протоколу і намагається витягнути із спостережень корисну для себе інформацію, не втручаючись в реалізацію протоколу.

 При активній атаці на криптографічний протокол супротивник допускає видозміну протоколу в своїх інтересах, яка може виражатися в тому, що їм вводяться в протокол нові повідомлення, проводиться підміна одних повідомлень іншими, видаляються з протоколу «законні» повідомлення, виводиться з ладу канал зв'язку або пам'ять, в якій зберігається інформація.

Той, хто атакує може бути не тільки сторонньою особою, але і «штатним учасником» протоколу, при цьому супротивник може бути групою осіб, що знаходяться в змові.

 Можна перерахувати основні завдання  забезпечення інформаційної безпеки, які розв'язуються за допомогою криптографічних протоколів:

обмін ключової інформації з подальшою установкою захищеного обміну даними;

аутентифікація сторін, що встановлюють зв'язок;

авторизація користувачів при доступі до телекомунікаційних і інформаційних служб.

 Окрім перерахованих вище класичних областей застосування протоколів існує широкий круг специфічних завдань, що також вирішуються за допомогою відповідних криптографічних протоколів. Це перш за все розкриття частини відомостей без обнародування  самого секрету в його справжньому об'ємі, а також часткове розкриття секрету.

 Метою даної роботи є системний аналіз роботи криптографічних протоколів і створення математичних імовірнісних моделей елементів криптографічних систем з метою формалізації оцінок стійкості криптопротоколів. 

 Для досягнення мети необхідно вирішити наступні завдання:

Аналіз структури захищених систем, що використовують криптографічні протоколи.

Системний аналіз методик оцінки стійкості шифрів і протоколів.

Розробка пропозицій по формалізації завдання оцінки стійкості протоколів, заснованої на імовірнісних моделях.

 Актуальність проблеми полягає в тому, що в сучасних умовах велика кількість завдань забезпечення інформаційної безпеки різних систем ефективно розв'язується за допомогою криптографічних протоколів, що обумовлює і посилення роботи криптоаналітиків по реалізації всіляких атак на протоколи. Це викликає необхідність підвищення надійності і безпеки роботи протоколів. Для ефективної протидії погрозам доцільно розробити імовірнісну  модель криптопротоколів, стійку до модельованих атак на них, тобто формалізувати доказ стійкості.



 


Розділ 1. Структура захищених систем і їх характеристики



1.1. Структура захищеної системи обміну даними



 

Щоб приступити до математичного аналізу криптосистем необхідно показати структуру захищеної системи обміну даними, яка представлена на мал.1.1.

                                     

                                             Шифрувальник

                                               повідомлення





Шифврувальник

TK

Шифруваль

ник

TK

Джерело повідомлень

                   Повідомлення                          Криптограма                                             Повідомлення









                                                               

Ключ К                                  Ключ К





Джерело ключів













Мал. 1.1

 

 На передавальному кінці є два джерела інформації – джерело повідомлення і джерело ключів. Джерело ключів відбирає конкретний ключ серед всіх можливих ключів даної системи. Цей ключ передається деяким способом на приймальний кінець, причому передбачається, що його не можна перехопити (наприклад, ключ передається посильним). Джерело повідомлень формує деяке повідомлення (незашифроване), яке потім зашифровується, і готова криптограма передається на приймальний кінець, причому криптограма може бути перехоплена. На приймальному кінці шифрувальник за допомогою ключа по криптограмі відновлює початкове повідомлення.

 Очевидно, шифрувальник на передавальному кінці виконує деяку функціональну операцію. Якщо М – повідомлення, К – ключ і Е – зашифроване повідомлення, то маємо

Е= (М, К)

 тобто Е є функцією від М і  К. Зручніше, проте, розуміти Е не як функцію двох змінних, а як (однопараметричне) сімейство операцій або відображень і записувати його у вигляді:

Е = Тi М.

 Відображення Тi, застосоване до повідомлення М, дає криптограму Е. Індекс i відповідає конкретному використовуваному ключу.

 Взагалі ми припускатимемо, що є лише кінцеве число можливих ключів, кожному з яких відповідає вірогідність рi. Таким чином, джерело ключів є статистичним процесом, або пристроєм, який вибирає одне з множини відображень Т1, …, Тm  з імовірністю  р1, …, рm  відповідно. Також припускатимемо, що число можливих повідомлень скінчене, і ці повідомлення М1, …, Мn мають апріорну імовірність q1, …, qn. Наприклад, можливими повідомленнями могли б бути всілякі послідовності англійських букв, що включають по N букв кожна, а відповідною імовірністю тоді були б відносні частоти появи таких послідовностей в нормативній англійській мові.

 Повинна бути можливість відновлювати М на приймальному кінці, коли відомі Е і К. Тому відображення Тi з нашого сімейства повинна мати єдине зворотне відображення Тi-1, так що Тi Тi-1=I, де I – тотожнє відображення. Таким чином, це зворотне відображення Тi-1 повинне існувати і бути єдиним для кожного Е, яке може бути одержане з М за допомогою ключа i.



1.2. Сучасні основні шифри

 

За характером використання  ключа  відомі  кріптосистеми можна розподілити на два типи:  симетричні (одноключові, з секретним ключем) і несиметричні (з відкритим ключем).

У першому  випадку в шифраторі відправника і дешифраторі одержувача використовується один і той же ключ.  Шифратор утворює шифртекст, який є функцією відкритого тексту, конкретний вид функції шифрування визначається секретним ключем. Дешифратор одержувача повідомлення  виконує зворотне перетворення аналогічним чином. Секретний ключ зберігається в таємниці і передається відправником повідомлення  одержувачу по каналу,  що виключає перехоплення ключа криптоаналітиком супротивника.

Як приклад симетричного алгоритму шифрування розглянемо достатньо стійкий і надійний алгоритм DES (Data Encryption Standard).

У криптосистемах з відкритим ключем в алгоритмах шифрування і дешифрування використовуються різні ключі,  кожний з яких не може бути одержаний з іншого (з прийнятними витратами). Один ключ використовується для шифрування,  інший – для дешифрування. Основний принцип систем з відкритим ключем грунтується на  застосуванні  односторонніх або необоротних функцій і односторонніх функцій з лазівкою («потайним ходом»). Обчислення ключів здійснюється одержувачем повідомлень, який залишає у себе той ключ,  який він потім використовуватиме (тобто секретний ключ). Інший ключ він висилає  відправнику повідомлень – відкритий  ключ – не побоюючись його розголосу. Користуючись цим відкритим ключем, будь-який абонент може зашифрувати текст і послати його одержувачу,  який згенерував даний відкритий ключ. Всі використовувані алгоритми загальнодоступні. Важливо те, що функції шифрування і дешифрування оборотні лише тоді,  коли вони забезпечуються строго взаємозв'язаною парою ключів (відкритого і секретного),  а відкритий ключ повинен бути необоротною функцією  від  секретного  ключа. Так само шифртекст повинен бути необоротною функцією  відкритого  тексту, що в  корені відрізняється від шифрування в системах з секретним ключем.

Як алгоритм з відкритим ключем далі розглянемо  один з найбільш поширених шифр RSA (Rivest - Shamir - Adleman). Його надійність знаходиться в  прямій  залежності  від складності розкладання великих чисел на множники.  Якщо множники мають довжину близько 100 десяткових цифр,  то  в найкращому з відомих способів розкладання на множники необхідно близько 100 млн. років машинного часу, шифрування ж  і дешифрування вимагає близько 1-2 с на блок.

Опис алгоритму DES.

У криптосистемі DES використовується блоковий принцип шифрування двійкового тексту. Довжина блоку шифрування складає 64 біта. Розмір ключа - також 64 біта. При цьому кожен восьмий біт є службовим і в шифруванні не бере участь. Кожен такий біт є двійковою сумою семи попередніх і служить лише для виявлення помилок при передачі ключа по каналу зв'язку. Процес криптоперетворення містить наступні три основні етапи.

1. Біти початкового повідомлення x піддаються початковій підстановці IP відповідно до табл. 1.1.

Таблиця 1.1

Підстановка IP

 

58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7



 

Це означає, що 58-й біт стає першими, 50-й - другим і т.д. Потім одержаний вектор x0 = IP(x)  представляється у вигляді x0 =L0R0, де L0 – ліва половина з 32 бітів, а R0 – права половина з 32 бітів. 

2. Повідомлення L0R0 перетворюється далі 16 разів по так званій схемі Фейстеля:

Li =Ri-1, Ri = Li-1  ( Ri-1, Ki), i = 1, 2, …, 16,

де функція  і розклад ключів K1, K2, …, K16 будуть описані окремо.





 

Мал. 1.2 Криптоперетворення Фейстеля

 

4.	Повідомлення L16R16 перемішується підстановкою IP-1:

 y = IP-1(L16R16),

де у – зашифроване повідомлення.

Таблиця 1.2

Підстановка IP-1

 

40

8

48

16

56

24

64

32

39

7

47

15

55

23

63

31

38

6

46

14

54

22

62

30

37

5

45

13

53

21

61

29

36

4

44

12

52

20

60

28

35

3

43

11

51

19

59

27

34

2

42

10

50

18

58

26

33

1

41

9

49

17

57

25



Шифрування здійснюється по схемі, приведеній на мал. 1.3.





Відкритий текст

IP









          ………………………







Мал. 1.3 Схема криптопeретворення DES



Функція . Вона має два аргументи: А і В. Перший складається з 32 бітів, а другий  - з 48 бітів. Результат складається з 32 бітів.

1. Аргумент А, що має 32 біта, перетворюється в 48-бітовий вектор Р(А) шляхом перестановки з повтореннями початкового вектора А. Ця процедура однакова для всіх тактів. Вона задана табл. 1.3. 

Таблиця 1.3

Підстановка Р1

 

32

1

2

3

4

5

4

5

6

7

8

9

8

9

10

11

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

30

1



2. Далі обчислюється сума Р(А) В і записується у вигляді конкатенації восьми 6-бітових слів: Р(А) В = B1B2 B3 B4 B5 B6 B7 B8.

3. На цьому етапі кожне слово Bі  поступає на відповідний S-блок Sі. Блок Sі перетворює 6-бітовий вхід Bі в 4-бітовий вихід Ci. S-блок є 416 матриця з цілими елементами в діапазоні від 0 до 16.

Два перших біта слова Bі, якщо їх розглядати як двійковий запис числа, визначають номер рядка матриці S-блоку. Чотири останні біти визначають деякий стовпець. Тим самим знайдений деякий елемент матриці. Його двійковий запис і є виходом.

Таблиця 1.4

Блок S1

14

4

13

1

2

15

11

8

3

10

6

12

5

9

0

7

0

15

7

4

14

2

13

1

10

6

12

11

9

5

3

8

4

1

14

8

13

6

2

11

15

12

9

7

3

10

5

0

15

12

8

2

4

9

1

7

5

11

3

14

10

0

6

13



Таблиця 1.5

Блок S2

13

1

8

14

6

11

3

4

9

7

2

13

12

0

5

10

Продовження табл. 1.5



3

13

4

7

15

2

8

14

12

0

1

10

6

9

11

5

0

14

7

11

10

4

13

1

5

8

12

6

9

3

2

15

13

8

10

1

3

15

4

2

11

6

7

12

0

5

14

9



Таблиця 1.6

Блок S3

10

0

9

14

6

3

15

5

1

13

12

7

11

4

2

8

13

7

0

9

3

4

6

10

2

8

5

14

12

11

15

1

13

6

4

9

8

15

3

0

11

1

2

12

5

10

14

7

1

10

13

0

6

9

8

7

4

15

14

3

11

5

2

12



Таблиця 1.7

Блок S4

7

13

14

3

0

6

9

10

1

2

8

5

11

12

4

15

13

8

11

5

6

15

0

3

4

7

2

12

1

10

14

9

10

6

9

0

12

11

7

13

15

1

3

14

5

2

8

4

3

15

0

6

10

1

13

8

9

4

5

11

12

7

2

14



Таблиця 1.8

Блок S5

2

12

4

1

7

10

11

6

8

5

3

15

13

0

14

9

14

11

2

12

4

7

13

1

5

0

15

10

3

9

8

6

4

2

1

11

10

13

7

8

15

9

12

5

6

3

0

14

11

8

12

7

1

14

2

13

6

15

0

9

10

4

5

3







Таблиця 1.9

Блок S6

12

1

10

15

9

2

6

8

0

13

3

4

14

7

5

11

10

15

4

2

7

12

9

5

6

1

13

14

0

11

3

8

9

14

15

5

2

8

12

3

7

0

4

10

1

13

11

6

4

3

2

12

9

5

15

10

11

14

1

7

6

0

8

13



Таблиця 1.10

Блок S7

4

11

2

14

15

0

8

13

3

12

9

7

5

10

6

1

13

0

11

7

4

9

1

10

14

3

5

12

2

15

8

6

1

4

11

13

12

3

7

14

10

15

6

8

0

5

9

2

6

11

13

8

1

4

10

7

9

5

0

15

14

2

3

12



Таблиця 1.11

Блок S8

13

2

8

4

6

15

11

1

10

9

3

14

5

0

12

7

1

15

13

8

10

3

7

4

12

5

6

11

0

14

9

2

7

11

4

1

9

12

14

2

0

6

10

13

15

3

5

8

2

1

14

7

4

10

8

13

15

12

9

0

3

5

6

11





 4. Вихід  С = С1 С2 … С8  перемішується фіксованою підстановкою Р2. 

Таблиця 1.12

Підстановка Р2.



16

7

20

21

29

12

28

17

1

15

23

26

5

18

31

10

2

8

24

14

32

27

3

9

19

13

30

6

22

11

4

25





Розклад ключів.

1. У 64-бітовому ключі К усуваються біти 8, 16..., 64. Біти, що залишилися, перемішуються підстановкою Р3.



Таблиця 1.13

Підстановка Р3

 

57

49

41

33

25

17

9

1

58

50

42

34

26

18

10

2

59

51

43

35

27

19

11

3

60

52

44

36

53

55

47

39

31

23

15

7

62

54

46

38

30

22

14

6

61

53

45

37

29

21

13

5

28

20

12

4



 

 Вихід Р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 = pq, функція (n) = (p-1)(q-1) – функція Ейлера. Візьмемо довільне 1 е(n) таке, що 
НОД(е, (n)) = 1. Тоді існує єдине 1 d (n) таке, що 

                                             ed(mod(n)) = 1.                                            (1.1)

Система шифрування RSA – це система з відкритим ключем, де 
е – відкритий, а d – секретний ключі, п – відоме. Якщо 0 x<n – це відкрите повідомлення, то криптограма отримується таким чином:

С = х(mod n).

Сторона, що отримала зашифроване повідомлення обчислює 

х’ = Сd (mod n), причому х’ = х.

Доказ:

х’ =  Сd (mod n) = хed (mod n)

Рівність (1.2.1) означає, що для деякого k

ed = k(n) + 1.

Звідси і iз теореми Ейлера слідує 

x’ = xkφ(n) + 1 (mod n) = x.

Те, що і потрібно було довести.

Розглянемо властивості системи RSA

1) Система шифрує і дешифрує інформацію коректно;

2) Зловмисник,  що перехоплює  всі  повідомлення  і що знає всю відкриту інформацію, не зможе знайти початкове повідомлення при великих р і q. Це пояснюється тим, що зловмисник знає тільки відкриті параметри n і e. Для того, щоб знайти d, він повинен знати значення (n) = (p - l)(q - 1), а для цього, у свою чергу, йому потрібно знати p і q. Взагалі кажучи, він може знайти p і q, розклавши n на множники, проте це важке завдання. 

Одностороння функція у = xе (mod n), що використовується в системі RSA, володіє так званою «лазівкою», що дозволяє легко обчислити зворотну функцію х = (mod n), якщо відоме розкладання n на прості множники. (Дійсно, легко обчислити (n) = (p - 1)(q - 1), а потім d = e-1 (mod (n))) Якщо р і q невідомі, то обчислення значення зворотної функції практично неможливе, а знайти p і q по n дуже важко, тобто знання p і q – це «лазівка» або «потайний хід»). Такі односторонні функції з лазівкою знаходять застосування і в інших розділах криптографії.

Відзначимо, що для схеми RSA важливо, щоб кожен абонент вибирав власну пару простих чисел p і q, тобто всі модулі n для кожного учасника  повинні бути різні (інакше один абонент міг би читати зашифровані повідомлення, призначені для іншого абонента). Проте цього не вимагається від другого відкритого параметра е. Параметр е може бути однаковим у всіх абонентів. Часто рекомендується вибирати е = 3 . Тоді шифрування виконується максимально швидко, всього за два множення.

Підпис RSA.

 Хай М – повідомлення, яке треба підписати. Підпис отримується за наступним алгоритмом:

 С = М(mod n),

тоді (М, С) – повідомлення з підписом. Перевірка підпису здійснюється таким чином

С( mod n) =  М(mod n) = М’.

 Якщо М = М’, то підпис вірний.



1.3. Методика визначення стійкості криптосистем



Є декілька різних критеріїв, які можна було б використовувати для оцінки якості пропонованої секретної системи. Розглянемо найбільш важливі з цих критеріїв.

 1.  Кількість секретності.

 Деякі секретні системи є досконалими в тому сенсі, що положення супротивника не полегшується в результаті перехоплення будь-якої кількості повідомлень. Інші системи, хоч і дають супротивнику деяку інформацію при перехопленні чергової криптограми, але не допускають єдиного «рішення». Системи, що допускають єдине рішення, дуже різноманітні як по витраті часу і сил, необхідних для отримання цього рішення, так і по кількості матеріалу, який необхідно перехопити для отримання єдиного рішення.

2.  Об'єм ключа.

Ключ повинен бути переданий з передавального пункту в приймальний пункт у такий спосіб, щоб його не можна було перехопити. Іноді його потрібно запам'ятати. Тому бажано мати ключ настільки малий, наскільки це можливо.

3.   Складність операції шифрування і дешифрування. Операції шифрування і дешифрування повинні бути по можливості простими. Якщо ці операції проводяться уручну, то їх складність приводить до втрати часу, появі помилок і т.д. Якщо вони проводяться механічно, то складність призводить до використання великих і дорогих пристроїв.

4.  Розростання числа помилок.

У деяких типах шифрів помилка в одній букві, допущена при шифруванні або передачі, приводить до великого числа помилок у розшифрованому тексті. Такі помилки розростаються в результаті операції дешифрування, викликаючи значну втрату інформації і часто вимагаючи повторної передачі криптограми. Природно, бажано мінімізувати це зростання числа помилок.

5. Збільшення об'єму повідомлення.

У деяких типах секретних систем об'єм повідомлення збільшується в результаті операції шифрування. Цей небажаний ефект можна спостерігати в системах, в яких робиться спроба потопити статистику повідомлення в масі нульових символів, що додаються, або де використовуються багатократні заміни. 

Основний принцип – принцип Кіркхофа – , який має бути покладений у критосистему, полягає в тому, що стійкість системи має визначатися лише стійкістю ключа. Тобто криптоаналітику відомий весь алгоритм шифрування, крім ключа.

Питання про теоретичну стійкість шифрів вперше було сформульоване Клодом Шенноном: «Наскільки надійна криптосистема, якщо криптоаналітик супротивника має в своєму розпорядженні необмежений час і всі необхідні засоби для аналізу криптограм?». З цим питанням тісно зв'язане наступне питання: «Чи існують шифри, які не міг би розкрити криптоаналітик, що має в своєму розпорядженні скільки завгодно велику криптограму і необмежені обчислювальні ресурси?».

Ідеальний шифр за Шенноном – це шифр, в якому кожен біт шифртекста залежить від кожного біта відкритого тексту і від кожного біта ключа. При виконанні цієї умови відкритий і шифрований тексти  будуть статистично незалежні, тобто для будь-якого відкритого тексту а і будь-якої криптограми у

                                         Рисх(а) = Рисх/ш(а/у)                                        (1.2)

за умови, що Ру(у)>0, де 

Рисх(а) – розподіл імовірності на множині відкритих текстів;

Рисх/ш(а/у) – сумісний розподіл імовірності на множині пар відкритих і шифрованих текстів;

Ру(у) – розподіл імовірності на множині шифрованих текстів.

Інакше кажучи, при використанні  шифру розподіл імовірності на множині відкритих текстів після перехоплення криптограми у (апостеріорний розподіл імовірності) не відрізняється від розподілу імовірності на множині відкритих текстів до отримання перехопленої криптограми у (від апріорного розподілу імовірності). Перехоплення повідомлення, зашифрованого за допомогою ідеального шифру, не містить для криптоаналітика ніякої інформації, якщо ключ йому невідомий.

Розглянемо  основні підходи до оцінки практичної стійкості шифрів.

Системний підхід.

З одного боку, криптографічна система повинна забезпечувати надійний захист інформації і, з іншого боку, повинна бути зручна з погляду технічної реалізації і експлуатації. Оскільки шифрсистеми, що забезпечують ідеальну секретність, в більшості випадків практично непридатні, то питання відноситься перш за все до шифрсистемам, що використовують ключі обмеженого розміру і здатним обробляти великі об'єми інформації.

Системний підхід до оцінки стійкості шифрсистеми має на увазі певну деталізацію поняття «стійкий шифр». В результаті цієї деталізації формується ряд критеріїв математичного і технічного характеру, яким повинна задовольняти стійка шифрсистема. Під час розробки нового підходу до аналізу шифрсистеми формується відповідний критерій якості шифрсистеми, який доповнює систему критеріїв, що раніше склалася.

Основною кількісною мірою криптографічної стійкості шифру є обчислювальна складність рішення задач дешифрування. Обчислювальна складність визначається декількома характеристиками. Розглянемо найважливіші з них.

Припустимо, що перед криптоаналітиком поставлене завдання дешифрування шифру Е по деякому набору криптограм. Хай АЕ – клас застосовних до шифру Е алгоритмів дешифрування, які має в своєму розпорядженні криптоаналітик. При цьому криптоаналітик розглядає як імовірнісний простір W елементарних подій множину пар ключів і відкритих текстів, якщо відкриті тести невідомі, або множуну ключів, якщо відкриті тексти відомі. Для алгоритму AE позначимо через Т() середню трудомісткість його реалізації, вимірювану в деяких умовних обчислювальних операціях. При цьому величина трудомісткості звичайно усереднюється по множині W.

Однією з основних характеристик практичної стійкості шифру Е є середня трудомісткість ТЕ дешифрування, яка визначається виразом

                                         ТЕ =Т().                                             (1.3)

При цьому важливо відзначити наступне:

1. Існують алгоритми дешифрування, визначені не на всьому імовірнісному просторі W, а лише на деякій його частині. Крім того, деякі алгоритми дешифрування влаштовані так, що їх реалізація приводить до успіху (рішенню дешифрувальної задачі) не на всій області визначення, а лише не деякій її підмножині. Тому до найважливіших характеристик алгоритму дешифрування  необхідно віднести не тільки його трудомісткість Т(), але і надійність (), під якою розуміється середня частка інформації, що дешифрується з використанням алгоритму .

Якщо надійність алгоритму дешифрування мала, то з погляду криптографа він є безпечним, а з погляду криптоаналітика неефективним. Таким чином, при отриманні оцінки (1.3.2) величини ТЕ доцільно розглядати лише ті алгоритми дешифрування, надійність яких достатньо велика. При цьому для визначення «найкращого» алгоритму дешифрування системи Е можна використовувати різні критерії залежно від конкретних умов завдання. Наприклад, можна вважати «найкращим» алгоритм дешифрування , для якого найменше значення приймає величина T()/(). Цю величину можна інтерпретувати як середні трудовитрати, необхідні для успішного дешифрування шифрсистеми.

2. Складність дешифрування залежить від кількісних і якісних характеристик криптограм, які має в своєму розпорядженні криптоаналітик. Кількісні характеристики визначаються числом перехоплених криптограм і їх довжинами. Якісні характеристики   пов'язані   з достовірністю   перехоплених   криптограм (наявність спотворень, пропусків і т. д.).

За Шенноном, кожен шифр має об'єктивну характеристику Те(п) – середню  (по всіх криптограмах довжини п і ключам) обчислювальну складність дешифрування. Величина Те(п) характеризує граничні можливості дешифрування системи Е при необмеженій кількості шифрматеріала і абсолютної кваліфікації криптоаналітика.

Оцінюючи стійкість шифру, криптоаналітик одержує верхні оцінки граничної стійкості, оскільки практичне дешифрування використовує обмежену кількість шифрматеріала і обмежений клас так званих відомих методів дешифрування.

Важливою характеристикою криптографічної стійкості системи є тимчасова складність її дешифрування. Оцінка тимчасової складності дешифрування системи має на увазі детальніше опрацьовування реалізації алгоритмів дешифрування з урахуванням характеристик обчислювального пристрою, використовуваного для дешифрування. До таких характеристик обчислювального пристрою, що реалізовує алгоритми дешифрування, відносяться архітектура, швидкодія, об'єм і структура пам’яті, швидкість доступу до пам’яті і ін. Отже, час дешифрування системи Е визначається наявним класом алгоритмів дешифрування АЕ і обчислювальними можливостями криптоаналітика.

Вибір найкращого алгоритму дешифрування ускладнюється і тим, що різним обчислювальним пристроям можуть відповідати різні «найкращі» алгоритми дешифрування.

Питання про криптографічну стійкість шифрсистеми має деякі особливості з погляду криптоаналітика і криптографа.

Криптоаналітик атакує шифрсистему, маючи в своєму розпорядженні конкретні інтелектуальні, обчислювальні і економічні ресурси. Його мета – успішне дешифрування системи.

Криптограф оцінює стійкість шифрсистеми, імітуючи атаку на шифр з боку криптоаналітика супротивника. Для цього криптограф моделює дії криптоаналітика, оцінюючи по максимуму інтелектуальні, обчислювальні, технічні та інші можливості супротивника. Мета криптографа – переконатися у високій криптографічній стійкості розробленої шифрсистеми.

Таким чином, системний підхід до оцінки практичної стійкості шифру пов'язаний з оцінкою обчислювальних трудовитрат при дешифруванні системи з позиції різних критеріїв якості шифру.

Асимптотичний аналіз стійкості.

Цей підхід розвивається теорією складності обчислень. При дослідженні шифру оцінка його стійкості ув'язується з деяким параметром шифру, звичайно це довжина ключа, і проводиться асимптотичний аналіз оцінок стійкості.

Вважається, як правило, що шифрсистема має високу криптографічну стійкість, якщо остання виражається через довжину ключа експоненціально, і шифрсистема має низьку криптографічну стійкість, якщо стійкість виражається у вигляді многочлена від довжини ключа.

Оцінка кількості необхідного шифрматериалу.

Даний підхід заснований не на складності обчислень при реалізації дешифрування, а на оцінці середньої кількості матеріалу, який необхідно проаналізувати криптоаналітику для розкриття шифру. Оцінка кількості необхідного криптоаналітику шифрматеріалу представляє інтерес з тієї точки зору, що є нижньою оцінкою стійкості шифру в сенсі обчислювальної складності дешифрування.

Цей підхід застосовується в основному для оцінки стійкості потокових рандомізованих шифрів. Особливістю пристрою таких шифрів є те, що вони використовують для шифрування і расшифрування секретний ключ невеликого розміру, а також велику і загальнодоступну випадкову послідовність чисел (рандомізатор). Ключ визначає, які частини рандомізатора використовуються для шифрування, тоді як криптоаналітику, що не знає секретного ключа, доводиться аналізувати весь рандомізатор.

Як приклад такого шифру розглянемо шифр Діффі. У цьому шифрі рандомізатором є масив з 2n випадкових двійкових послідовностей, занумерованих елементами множини Vn. Ключем є п-мірний двійковий вектор. При шифруванні з використанням ключа k двійкова послідовність відкритого тексту складається побітово з послідовністю рандомізатора, що має номер k. Таким чином, для дешифрування повідомлення супротивнику необхідно досліджувати порядка 2п біт.

Вартісний підхід.

Цей підхід передбачає оцінку вартості дешифрування системи. Особливо він актуальний тоді, коли для дешифрування криптосистеми необхідно розробити і побудувати новий обчислювальний комплекс. Вартісний підхід корисний з погляду зіставлення матеріальних витрат на дешифрування системи і цінності інформації, що захищається криптосистемою.



1.4. Криптопротоколи, їх класифікація, особливості використання



Нагадаємо поняття криптопротокола. Криптографічним протоколом називається встановлена послідовність дій, що виконуються  двома або більше сторонами для виконання певного криптографічного завдання. Послідовність дій означає, що протокол виконується в певному порядку, з початку до кінця. Кожна дія повинна виконуватися в свою чергу і лише після закінчення попередньої. Такі, що виконуються двома і більше сторонами означає, що для реалізації протоколу потрібно принаймні дві люди, одна людина не зможе реалізувати протокол. 

Властивості криптопротоколів:

кожен учасник протоколу повинен знати протокол і послідовність дій, що становлять його;

кожен учасник протоколу повинен погодитися слідувати протоколу;

протокол повинен бути несуперечливим, кожна дія повинна бути визначена так, щоб не було можливості нерозуміння;

протокол повинен бути повним, кожній можливі ситуації повинна відповідати певна дія.

Криптографічний протокол – це протокол, що використовує криптографію. Учасники протоколу можуть буті друзями і довіряти один одному або ворогами і не вірити один одному. Криптопротокол містить деякий криптоалгоритм, але, взагалі кажучи, прізначення протоколу виходіть за рамки простої безпеки. Учасники можуть захотіти поділитися секретом, разом генерувати випадкову послідовність, підтвердити один одному свою достовірність або підписати контракт в один і той же момент часу.

В крипптопротоколах використовується загальне правило: «Неможливо зробити або дізнатися більше, ніж це визначене в протоколі».

Умови криптографічного завдання визначають особливості відповідного протоколу.

Якщо взаємодіючі сторони довіряють один одному і готові спільно вирішувати криптографічну задачу, то в цьому випадку використовуються протоколи без посередника (двосторонні протоколи).

Якщо між сторонами можуть виникати розбіжності, то використовуються протоколи з посередником (незацікавленою довіреною стороною), які називають трибічними протоколами. Завдання посередника – забезпечити виконання всіх етапів протоколу, аж до його завершення.

Але при реалізації цих протоколів існують деякі труднощі:

Легко знайти нейтрального посередника, якому можна довіряти, якщо ви знаєте його і можете особисто його побачити. Дві сторони, що відносяться одна до одної з підозрою, з тією ж підозрою віднесуться і к посереднику, що загубився десь в мережі.

Комп’ютерна мережа повинна забезпечити підтримку посередника.

Існує затримка, що властива всім протоколам із посередником.

Посередник повинен приймати участь у кожній транзакції, будучи вузьким місцем у реалізаціях будь-якого протоколу. Зростання кількості посередників дещо пом’якшить цю проблему, але виросте ціна цієї послуги.

Через те, що в мережі всі повинні довіряти посереднику, він є слабким місцем мережі при спроби злому. 

Існують і протоколи з арбітром, де під арбітром розуміється посередник особливого типа: він не обов'язково бере участь у виконанні кожного етапу протоколу, він запрошується тільки для перевірки коректності виконання протоколу.

Найпривабливіший різновид протоколів – самодостатні протоколи, конструкція яких забезпечує контроль за вірним виконанням протоколу. Для виконання цього протоколу не потрібен ані посередник, ані арбітр, що вирішує спори. Сама побудова протоколу забезпечує відсутність спорів. Якщо одна із сторін намагатиметься зшахраювати, шахрайство буде миттєво виявлено іншою стороною, і протокол припинить виконуватись.

В ідеальному випадку будь-який протокол повинен бути самодостатнім, але, на великий жаль, не існує самодостатніх протоколів для кожної ситуації.

Люди можуть використовувати безліч способів розкрити протокол. Як вже було, зазначено існує пасивне і активне розкриття криптопротоколів.

При пасивному розкритті зловмисник не впливає на протокол. Все, що він може зробити – прослідкувати за протоколом и добути інформацію. Через те, що пасивні атаки важко виявити, протоколи намагаються попереджувати, а не виявляти їх.

При активному розкритті криптопротоколів зловмисник намагається змінити протокол для власної потреби. Він може видати себе за іншого, ввести нові повідомлення в протокол, замінити одне повідомлення іншим, повторно передати старі повідомлення, розірвати канал зв’язку або змінити інформацію, що зберігається в комп’ютері. Цей вид атак залежить від типу мережі.

Пасивні зломщики намагаються отримати інформацію про учасників протоколів. Вони збирають повідомлення, які передані різними сторонами, і намагаються криптоаналізувати їх. Спроби активного розкриття переслідує більш широкий набір задач. Зломщик може бути зацікавлений в отриманні інформації, погіршенні роботи системи або отриманні несанкціонованого доступу до ресурсів.

Активні атаки є більш серйозними, особливо по відношенню до протоколів, в яких сторони не довіряють один одному. Зломщик не обов’язково хтось зовсім сторонній, він може бути зареєстрованим користувачем системи і навіть системним адміністратором.

Як приклад роботи протоколу приведемо організацію секретного зв’язку з використанням симетричної криптосистеми. Діючими особами є відправник, адресат, пасивний супротивник та ін. Задача протоколу – передати таємне повідомлення Х  від відправника до адресату. Послідовність виглядає наступним чином:

Відправник і адресат домовляються про використовувану симетричну криптосистему, тобто про сімейство відображень Е = , k К, де К – простір ключів.

	Відправник і адресат домовляються про секретний ключ зв’язку k, тобто про використовуване відображення ЕЕк.

	 Відправник шифрує відкритий текст X за допомогою відображення Ек, тобто створює криптограму Y = Ек (Х).

	 Криптограма Y  передається по лінії зв'язку адресату.

	 Адресат розшифровує криптограму Y, використовуючи той же
ключ k і відображення Ек-1, зворотне до відображення Ек, і читає повідомлення X:

	Х = Ек-1(Y).

	Пояснимо важливі особливості даного протоколу за допомогою схеми, приведеної на рис. 1.4.

Крок 2 протоколу реалізується або за допомогою посередника, третьої сторони, яку можна умовно назвати центром генерації і розподілу ключів (ЦГРК), або функції ЦГРК покладаються на абонентів. У першому випадку криптографічний протокол зв'язку шифру називають трибічним, а в другому випадку – двостороннім.

	

	

	

ЦГРК

	

Адресат

Відправник

	Захищений

	канал зв’язку

	                              Х         k                                                      k          Х  

	

Шифратор

(дешифрування)

Шифратор

(шифрування)Лінія зв’язку

	

	



Криптоаналітик                                                                                   Х

                                                                                    k



Рис. 1.4

Істотною особливістю протоколу є секретність ключа k, який передається відправнику і адресату або у відкритому вигляді по каналу зв'язку, захищеному від дій криптоаналітика, або в шифрованому вигляді по лінії зв'язку.

Захищеній канал зв’язку може мати відносно невисоку пропускну спроможність, але повинен надійно захищати ключову інформацію від несанкціонованого доступу. Ключ повинен залишатися у секреті до, під час і після реалізації протоколу, інакше зловмисник, заволодівши ключем, може розшифрувати криптограму і прочитати повідомлення. Відправник і адресат можуть виконати крок 1 протоколу публічно (секретність шифрсистеми необов'язкова), але крок 2 вони повинні виконати таємно (секретність ключа обов'язкова).

Така необхідність викликана тим, що лінії зв'язку, в особливості протяжні, уразливі з погляду втручання пасивного і активного супротивників.	

Пасивний супротивник (криптоаналітик), бажаючи дістати доступ до повідомлення X, контролює лінію зв'язку на кроці 4 протоколу. Не втручаючись в реалізацію протоколу, він перехоплює криптограму Y з метою розкриття шифру.

Розробляючи криптосистему, криптограф звичайно виходить з наступних припущень про можливості криптоаналітика:

криптоаналітик контролює лінію зв'язку;

криптоаналітику відомий пристрій сімейства Е відображень шифру;

криптоаналітику невідомий ключ k, тобто невідомо відображення Ек,  яке  використане для отримання криптограми Y.

У цих умовах криптоаналітик намагається вирішити наступні завдання, які називаються завданнями дешифрування:

1. Визначити відкритий текст X і використаний ключ k по перехопленій криптограмі Y, тобто побудувати алгоритм дешифрування  такий, що

( Y) = (Х, k).

2. Визначити використаний ключ по відомим відкритому і шифрованому текстам, тобто побудувати алгоритм дешифрування такий, що

(Х, Y) = к.

Така постановка задачі має сенс, коли криптоаналітик перехопив декілька криптограм, одержаних з використанням ключа k, і має в своєму розпорядженні відкриті тексти не для всіх перехоплених криптограм. В цьому випадку, вирішивши завдання дешифрування другого типу, він прочитає всі відкриті тексти, зашифровані з використанням ключа k.

3. Визначити використовуваний ключ k по спеціально підібраному відкритому тексту X і по відповідному шифрованому тексту Y, тобто побудувати алгоритм дешифрування Х такий, що

Х(Y) = к.

Подібна постановка задачі вникає тоді, коли криптоаналітик має можливість тестування криптосистеми, тобто генерування криптограми для спеціально підібраного відкритого тексту. Частіше така можливість виникає при аналізі асиметричних систем.

Дешифрувальні задачі першого типу відрізняються вищою обчислювальною складністю в порівнянні із задачами другого і третього типу. Найменшу обчислювальну складність мають задачі тестування.

Активний супротивник порушує реалізацію протоколу. Він може перервати зв'язок на кроці 4, вважаючи, що відправник не зможе більше ніщо повідомити адресату. Він може також перехопити повідомлення і замінити його своїм власним. Якби активний  узнав ключ (контролюючи крок 2 або проникнувши в криптосистему), він міг би зашифрувати своє повідомлення і відправити його адресату замість перехопленого повідомлення, що не викликало б у останнього ніяких підозр. Якщо активний супротивник не знає ключа, то він може створити лише таке шифроване повідомлення, яке при розшифруванні перетворюється на випадкову послідовність символів.

Розглянутий протокол має на увазі взаємну довіру відправника, адресата і третьої сторони в особі ЦГРК. Це є слабкістю даного протоколу, оскільки не завжди можна виключити взаємний обман дійових осіб протоколу. Втім, абсолютних гарантій бездоганності того або іншого протоколу не існує, оскільки виконання будь-якого протоколу зв'язане за участю людей і залежить, зокрема, від надійності дійових осіб протоколу.

Таким чином, по організації секретного зв'язку з використанням симетричної криптосистеми можна зробити наступні висновки:

1. Протокол повинен захищати відкритий текст і ключ від несанкціонованого доступу сторонньої особи на всіх етапах передачі інформації від джерела до одержувача повідомлень. Секретність ключа важливіша, чим секретність декількох повідомлень, що шифруються на цьому ключі. Якщо ключ скомпрометований (вкрадений, вгаданий, розкритий, викуплений), тоді супротивник, що має ключ, може розшифрувати всі повідомлення, зашифровані на цьому ключі. Крім того, супротивник зможе імітувати одну із сторін, що переговорюються, і генерувати фальшиві повідомлення ввести в оману іншу сторону. Якщо часто змінювати ключі, ця проблема зводиться до мінімуму.

2. Протокол не повинен допускати виходу в лінію зв'язку «зайвої» інформації, що надає криптоаналітику супротивника додаткові можливості дешифрування криптограм. Протокол повинен захищати інформацію не тільки від сторонніх осіб, але і від взаємного обману дійових осіб протоколу.

3. Якщо допустити, що кожна пара користувачів мережі зв'язку
застосовує окремий ключ, то число необхідних ключів дорівнює
п(п-1)/2 для п користувачів. Це означає, що при великому п генерація, зберігання і розподіл ключів стає трудомісткою проблемою.

Розглянемо тепер організацію секретного зв'язку з використанням асиметричної криптосистеми. Послідовність дій виглядає таким чином:

	Відправник і адресат домовляються про використовувану асиметричну криптосистему.

	Адресат посилає відправнику відкритий ключ k.

	Відправник шифрує відкритий текст X за допомогою відкритого
ключа k, тобто створює криптограму Y = Еk(X).

	Криптограма Y передається по лінії зв'язку адресату.

	Адресат розшифровує криптограму Y, використовуючи закритий ключ z, і читає повідомлення X:

		 X = Еz(X).

		Поза сумнівом, даний протокол захищає повідомлення X: пасивний супротивник може перехопити відкритий ключ і криптограму Y, але не може розшифрувати повідомлення, оскільки немає закритого ключа.

		Гідністю протоколу є те, що він не вимагає розподілу секретних ключів. У мережі зв'язку нерідко відкриті ключі всіх користувачів поміщаються в загальнодоступну базу даних, а закриті ключі зберігаються у користувачів. Це спрощує протокол, оскільки відправник сам виконує крок 2 протоколи, не чекаючи дії адресата. Адресат не бере участь в протоколі до тих пір, поки не збереться прочитати відкрите повідомлення.

		



Висновки



Можна відмітити динамічний характер оцінок криптографічної стійкості шифрів. Ці оцінки необхідно час від часу переглядати у зв’язку із розвитком обчислювальних засобів і прогресом у області розробки методів дешифрування.

		На практиці алгоритми з відкритим ключем не замінюють симетричних алгоритмів. Як правило, вони використовуються для шифрування не самих повідомлень, а ключів або деяких інших «допоміжних» інформаційних блоків відносно невеликої довжини. Це викликано наступними обставинами:	

	1. Продуктивність алгоритмів з відкритим ключем (швидкість шифрування) принаймні в 1000 разів поступається продуктивності симетричних алгоритмів, що ставить їх в невигідне становище при шифруванні великих об'ємів інформації.

	2. Криптосистеми з відкритим ключем уразливі до атак на основі
підібраного відкритого тексту, особливо коли число варіантів блоку
відкритого тексту обмежене і допустимо перебір цих варіантів.

	Тому найбільш вигідним представляється протокол секретного зв'язку з використанням гібридної криптосистеми, в якому асиметричний алгоритм використовується для засекречування і розподілу ключів зв’язку, а алгоритм із секретним ключем використовується для захисту даних. Крім того, такий протокол допускає знищення секретного сеансового ключа одразу після закінчення сеансу, що різко зменшує небезпеку його компрометації.

	


Розділ 2. Моделі елементів захищених систем



2.1. Поняття стійкості шифрсистеми



Абстрактно кажучи, стійкість криптографічної системи є мірою стійкості системи до атак. Система називається стійкою, якщо зловмисник не може зламувати її дуже часто або дуже швидко. Отже, для вимірювання стійкості системи необхідно оцінювати імовірність злому і об'єм обчислювальних витрат.

Щоб конкретизувати наші міркування, розглянемо «ігрову атаку», яка розігрується між Зловмисником і законним Учасником сеансу зв’язку. Ця гра дозволить продемонструвати обчислювальні аспекти, пов'язані з поняттям стійкості. 

Для опису криптосистеми вважатимемо, що вона складається з алгоритму шифрування , простору початкових текстів М і простору зашифрованих текстів С. Однак, слід зробити одне важливе зауваження: алгоритм шифрування  вважається імовірнісним, тобто містить внутрішню випадкову операцію, що має якийсь розподіл імовірності. Таким чином, зашифрований текст представляє собою випадкову величину, що має той же самий розподіл. Наприклад, якщо вихідне повідомлення двічі шифрується за допомогою одного і того ж ключа шифрування, з великою імовірності виникнуть два різних зашифрованих текста (оскільки алгоритм шифрування є однозначним перетворенням).

Ігрова атака описується наступним протоколом .

Попередні умови:

а) Зловмисник і законний Учасник діють в заданій криптосистемі, що складається з алгоритму шифрування , простору початкових повідомлень М і простору зашифрованих текстів С;

б)  законний Учасник володіє фіксованим ключем шифрування k.

1. Зловмисник підбирає різні повідомлення m0, m1  М і посилає їх учаснику. Повідомлення m0, m1 називаються підібраним початковим текстом (chosen plaintext messages). Зловмисник поки знаходиться на етапі пошуку ("find-stage") повідомлень m0, m1. Зрозуміло, він готує їх так, щоб легко розпізнати результат їх шифрування.

2. Якщо ці повідомлення мають різну довжину, Учасник доповнює коротше з них, щоб їх довжини стали однаковими. Наприклад, для доповнення повідомлень він може використовувати фіктивний рядок 0d, де d – різниця між довжинами повідомлень. Учасник підкидає ідеальну монету b{0,1} і виконує наступну операцію шифрування

с* = 

Учасник посилає Зловмиснику повідомлення с*  С. Зашифроване повідомлення с* називається зашифрованим текстом оклику (challenge ciphertext). Слід пам'ятати, що зашифрований текст с* є випадковою величиною, залежною від двох випадкових вхідних величин: ідеальної монети b і внутрішньої випадкової операції алгоритму . 

3. Одержавши зашифрований текст с*, Зловмисник повинен вгадати результат підкидання монети, надіславши учаснику 0 або 1. Тепер Зловмисник знаходиться на етапі осмисленого вгадування ("guess-stage" for an educated guess), намагаючись вгадати результат жеребкування, проведеного учасником. Відповіді, що відрізняються від 0 і 1, не допускаються. 

У цій грі учасник пропонує зловмиснику відповісти на наступне питання. Результатом якого з експериментів k(m0) чи  k(m1) є оклик с*?

Вважатимемо, що Зловмисник застосовує імовірнісний поліноміальний алгоритм розпізнавання. Позначимо через Adv перевагу Зловмисника, з яким він може розпізнавати відмінність між зашифрованими текстами. Вона дорівнює різниці між ймовірностями, з якими Зловмисник може розпізнати експерименти k(m0) чи  k(m1).

Adv = | Prob[0  Зловмисник(с* = k(m0))] – Prob[0  Зловмисник(с* = =k(m1))]|.                                                                                                             (2.1)

Імовірнісний простір повинен містити випадковий вибір, зроблений Учасником і Зловмисником, а також внутрішню випадкову операцію алгоритму шифрування. Відзначимо, що відповідь Зловмисника залежить не тільки від зашифрованого тексту оклику с*, але і від двох підібраних початкових повідомлень (m0, m1). Тільки тому його відповідь можна вважати результатом «осмисленого вгадування» («educated guess»).

Слід відмітити, що Зловмисник має додаткову можливість для того, щоб поліпшити результати свого вгадування: Учасник підкидає ідеальну монету. Формула обчислення переваги (2.1.1) не указує явно на те, як Зловмисник може скористатися цим фактом, хоча неявно відомо, що кожна з імовірності, що входить у формулу (2.1.1), ніколи не перевищить , наприклад, імовірность події с* = k(m0) складає рівно . Необхідно явно вказати, як саме Зловмисник використовує додатковий ключ у формулі обчислення переваги. Застосовуючи умовну імовірность і помічаючи, що імовірность обох результатів при підкиданні ідеальної монети рівна , можна переписати формулу (2.1.1) в наступному вигляді

Adv = |Prob[0  Зловмисник(с* = k(m0))] –

- Prob[0  Зловмисник(с*=k(m1))]|.                                             (2.2)

Згідно з правилами гри Зловмиснику не дозволяється давати відповіді, які відрізняються від 0 та 1, тому неправильна відповідь є подією, додатковою по відношенню до правильної відповіді. З цього випливає наступна формула

Adv = |Prob[0  Зловмисник(с* = k(m0))] –

- (1 – Prob[0  Зловмисник(с*=k(m0))] )|. 

Тобто

       Prob[0  Зловмисник(с* = k(m0))] =   Adv.                                 (2.3)

Формула (2.3) часто застосовується для виразу переваги алгоритму при вгадуванні результатів підкидання ідеальної монети. Отже, якщо Adv = 0, то випадкова відповідь Зловмисника має такий самий розподіл, як і результати підкидання ідеальної монети. Проте слід враховувати, що перевага завжди більше нуля. Очевидно, що формула (2.1.3) також справедлива, якщо в результатах жеребкування всі нулі замінити одиницями.

З формули (2.3) виходить, що перевага Зловмисника ніколи не перевищує , оскільки імовірність завжди лежить в інтервалі [0,1]. Дійсно, якщо Учасник шифрує обидва початкові тексти з імовірністю , перевагу Adv, що задана формулою (2.1), є різниця імовірності сумісних подій і ніколи не перевищує . Можна відмітити, що формула (2.1.3) виглядає так, ніби Учасник підкидає несиметричну монету, наприклад, Учасник з імовірністю  шифрує повідомлення m0 і з імовірністю  -  повідомлення m1. 

Досліджувана криптосистема стійка по відношенню до ігрової атаки, якщо експеримент k(m0) не можливо відрізнити від експерименту k(m1). Це  означає, що при будь-якій значущій перевазі Adv не повинно існувати жодного поліноміального алгоритму розпізнавання. Інакше кажучи, перевага, з якою Зловмисник може розрізняти результати шифрування, повинна бути дуже малою величиною в порівнянні з параметром безпеки схеми шифрування, яким, як правило, є довжина ключа шифрування. Можна вважати, що перевага будь-якого поліноміального алгоритму розпізнавання, що вживається Зловмисником, задається функцією, що повільно росте, залежною від об'єму обчислювальних ресурсів. Тут термін «повільно росте» означає, що, навіть якщо Зловмисник різко збільшить об'єм своїх обчислювальних ресурсів, перевага збільшиться украй трохи. 

Стійкість розглянутої системи називається семантичною стійкістю. Тобто зашифрований текст не допускає ніякого витоку корисної інформації про вихідний текст( якщо не вважати корисною інформацією довжину самого вихідного тексту) жодному зловмиснику, який має поліноміально обмежені обчислювальні ресурси. 



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, М2 і М3.

 Мета: 

Чесна роздача по одній карті кожному гравцю за правилами 1 – 4  .

1.  А шифрує три карти таким чином: Сі = ЕА( М), де і = 1,2,3. Він посилає Б ці три зашифровані тексти у випадковому порядку. (Передача зашифрованих текстів у випадковому порядку еквівалентна перетасовуванню колоди.)

2.  Б випадковим чином витягує один із зашифрованих текстів. Позначимо його через С. Потім він двічі шифрує його як СС = ЕВ( С), випадковим чином витягує інший текст, позначений як С , і посилає зашифровані тексти СС і С  А. ( Символи СС позначають карту, що належить Б , а символ С -  карту, видану А. Зашифрована карта, що залишилася, ігнорується.)

3.  А розшифровує тексти СС і С. Результат розшифрування тексту С  позначає його карту, а розшифрування тексту СС, що позначається як С , - карту Б. Текст С  повертається Б.

4.  Б розшифровує текст С  і  узнає свою карту.

Аналіз стійкості.

Після виконання протоколу складається наступна ситуація.

 •  Оскільки на першому кроці А тасує колоду, обидва гравці з однаковою імовірністю одержують одну з карт, що належать множині {M1, M2, M3}. Потрібно звернути увагу на те, що А прагне добре перетасувати колоду, щоб Б не одержав переваги. Отже, перша умова чесної роздачі виконана.

 •  Кожний з двох гравців після подвійного розшифрування дізнається свою карту, але не знає, яка карта дісталася супернику. Таким чином, друге правило чесної роздачі також виконане.

 •  Очевидно, що в протоколі врахована можливість шахрайства з боку гравців. Отже, третє правило чесної роздачі також виконане.

Виконання четвертого правила залежить від того, чи допускає криптосистема, використана в протоколі, чесну верифікацію закінченої гри. Шамір і його співавтори запропонували застосувати один з варіантів криптосистеми RSA, в якому обидві сторони до завершення гри зберігають в таємниці показники ступеня, використані при шифруванні і розшифруванні, а після її закінчення розкривають їх для перевірки.

Хай N - загальний модуль в криптосистемі RSA. А і Б знають розкладання числа N на множники. Позначимо через (еА, dA) показники ступенів, використані при шифруванні і розшифруванні А, а через (еВ, dВ) – показники, що вживаються Б. Знання розкладання числа N на прості множники дозволяє А (Б) знайти число еА  по заданому числу dA (число еВ – по заданому числу dВ) за допомогою порівняння

                                           еХ dХ = 1(mod (N))                                           (2.5)

 де символ X позначає гравця А або В, (N) – функція Ейлера. Для користувача X одержуємо наступні формули.

ЕХ( М)=( mod N),

DХ( М)= ( mod N).

  Оскільки група RSA є комутативною, легко бачити, що умова (2.4) виконується. До завершення гри обидві сторони зберігають свої показники ступенів в таємниці. Таким чином, ніхто не може створити зашифрований текст, ідентичний тексту, створеному партнером. Це не дозволяє одному партнеру розкрити карти іншого партнера, одержавши зашифрований текст. Крім того, ніхто не може розшифрувати текст, створений іншим партнером. Таким чином, криптопротокол дійсно є достатньо стійким.

 Очевидно, що після завершення гри обидві партії можуть розкрити свої показники ступенів і переконатися, що шифрування і розшифрування були виконані правильно. Отже, четверте правило чесної роздачі карт виконано.



2.3. Математичні моделі елементів криптографічних систем



Розглянемо моделі таких елементів криптосистем, як  джерела повідомлень, ключової множини, шифру.

Моделі джерел відкритих текстів.

Детерміновані моделі.

Кожне джерело відкритого тексту (ДВП) характеризується:

одним або декількома мовами спілкування;

набором алфавітів, що використовуються;

визначеною тематикою  повідомлень, що генеруються;

частотними характеристиками повідомлень.

ДВП породжує тексти у відповідності з правилами граматики деякої мови, що знаходить відображення і в статистичних характеристиках повідомлень. Наприклад у текстах на англійській мові за літерою 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.

Множина випадкових повідомлень утворює імовірнісний простір, якщо виконані умови:

Р(а0, а1,…, аn-1)0 для будь-якого випадкового повідомлення 

(а0, а1,…,аn-1);

2) = 1;

3) Для будь-якого повідомлення (ао, а1, …,аn-1) і будь-якого s > n  

Р(ао, а1, …,аn-1) = ,

тобто імовірність будь-якого випадкового повідомлення довжини n є сума імовірностей усіх продовжень цього повідомлення до довжини s.

Текст, що породжується таким джерелом, є імовірнісним аналогом природної мови. Він володіє однаковими з мовою частотними характеристиками  k-грам. Задаючи певний імовірнісний розподіл на множині відкритих текстів, задається відповідна модель ДВП. 

Розглянемо таку імовірнісну модель ДВП, як стаціонарне джерело незалежних символів алфавіту.

У цій моделі передбачається, що імовірність повідомлень повністю визначається імовірністю використання окремих букв алфавіту у випадковому тексті:

Р(а0, а1,…, аn-1) = 

де для всіх i0,1,…, n-1 і будь-якого aZm 

Pxi = a>0;  = 1.

Відкритий текст такого джерела є реалізацією послідовності незалежних випробувань в поліноміальній імовірнісній схемі з числом результатів, рівним т. Множина результатів взаємно-однозначний відповідає множині усіх символів алфавіту.

Приведемо списки букв високої частоти використання для деяких європейських мов (табл. 2.3.1).











Таблица 2.1 Частота букв в різних мовах



Мова

Буква алфавіту/частота букви у текстах, %

Англійська

Е/ 12,86

Т/9,72

А/7,96

S/7,77

N / 7,51

К / 7,03

Іспанська

Е/ 14,15

А/ 12,90

О / 8,84

S / 7,64

S/7,01

К / 6,95

Подовження табл. 2.1



Італійська

І/12,04

Е/11,63

А/11,12

О/8,92

N/7,68

Т / 7,07

Німецька

Е/ 19,18

N1/ 10,20

S/8,21

S/7,07

К/7,01

Т/5,86

Французьська

Е/ 17,76

S / 8,23

А/7,68

N/7,61

Т / 7,30

I/7,23

Російська

О / 11,0

И/8,9

Е/8,3

А/7,9

Н / 6,9

Т/6,0



Ця модель дозволяє розділити букви алфавіту на класи високої, середньої і низької частоти використання. Модель будується для будь-якого ДВП з використанням відносно невеликої кількості матеріалу і зручна для практичного застосування. Наприклад, ця модель ефективно використовується при дешифруванні текстів, що захищаються шифром простої заміни.

В той же час деякі властивості даної моделі суперечать властивостям мов. Зокрема, згідно з цією моделлю будь-яка k-грама, k >1, має ненульову імовірність появи в повідомленні. Обмеженість моделі не дозволяє застосовувати її для дешифрування широкого класу криптосистем.

Імовірнісна модель ключової множини.

Імовірнісна модель ключової множини використовується крип-тоаналітіком для аналізу статистичних властивостей криптосистеми. Імовірнісна модель визначається, зокрема, завданням імовірнісного розподілу на ключовій множині, яка розглядається як простір елементарних подій. Кожному ключу kK ставиться у відповідність імовірність pk його використання для зашифрування або якогось конкретного, або випадкового відкритого тексту. При цьому .

У найбільш природній моделі, що часто приймається криптоаналітиком, передбачається, що ключі для шифрування вибираються незалежно від відкритих текстів і володіють добрими статистичними властивостями, тобто:

1)  для чергового періоду експлуатації (сеансу, доби, і т. п.) кожен ключ вибирається випадково рівноймовірно з ключової множини K, тобто pk = 1/K для будь-якого kК;

2)  при зміні ключів новий ключ вибирається незалежно від попередніх.

Імовірнісна модель шифру.

На основі відображень шифру, імовірнісних моделей відкритого тексту  і множини ключів можна побудувати імовірнісну модель шифру. Позначимо деякі розподіли ймовірностей(р. й.):

Рвідкр – р. й. на множині відкритих текстів;

 Ркл  - р. й. на множині ключів;

Рш  - р. й. на множині шифрованих текстів;

 Рвідкр,к  - сумісний р. й. на множині пар відкритих текстів і ключів;

 Рвідкр,ш – сумісний  р. й. на множині пар відкритих і шифрованих текстів;

 Рвідкр/ш  - умовний р. й. на множині відкритих текстів (при умові, що шифрований текст фіксований).

Хай а – відкритий текст, z – ключ, y – шифрований текст, Е(а, z) - криптограма, одержана в результаті шифрування відкритого тексту а на ключі z.

Звичайно вважають, що при шифруванні ключ z обирається незалежно від відкритого тексту а, тому

Рвідкр,к(a, z) = Рвідкр(a) Ркл(z).

Сумісні і умовні р. й. визначаються із формул:

Рш(y) = ,

Рвідкр,ш = ,

Рвідкр/ш = Рвідкр,ш(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}*  {"повідомлень немає"}. Це – відкрите повідомлення, що підлягає відправці адресату через відкриту мережу.

δ – Рішення користувача – δ  { Прийняти, Відмовити, Не приймати рішення}. Користувач вирішує, прийняти або відкинути ідентифікатор партнера по переговорах, або не ухвалювати рішення взагалі. Прийняття ідентифікатора, як правило, відкладається до завершення протоколу, а відхилити його можна у будь-який момент. Якщо користувач ухвалює яке-небудь певне рішення, значення δ більше не змінюється.

α – Закритий результат, обчислений власником, - α  {0,1}*  {"результату немає"}. Можна вважати, що закритим результатом, обчисленим власником при сприятливому результаті протоколу, є узгоджений сеансовий ключ.

Діалог між цими користувачами є послідовністю впорядкованих в часі повідомлень, що посилаються ними в мережу, і одержуваних на них відповідей. Хай 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, m’t-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, m’t),

де рядок m’t  означає "немає повідомлень".

Якщо користувачі 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]  ,                                 (3.1)

                   Ргоb[(Р’, V)(х) = Прийняти | х  L]  ,      (3.2)

де числа   і   є константами, що задовольняють умовам

,   .

Імовірнісний простір складається зі всіх вхідних значень протоколу  (Р, V) і всіх випадкових вхідних даних користувачів Р і V.

Оцінка (3.1) характеризує повноту протоколу (Р,V). Величина називається імовірністю повноти  протоколу (Р, V). Це означає, що якщо хL, то сторона, що перевіряє, V приймає припущення х з імовірністю, яка не менше величини .

Оцінка (3.2) характеризує несуперечність протоколу (Р,V). Величина називається імовірністю суперечності протоколу (Р,V). Це означає, що якщо хL, то сторона, що перевіряє, V приймає припущення х з імовірністю, що не перевищує величини .

Оцінку імовірності повноти (відповідно суперечності) можна збільшити (відповідно зменшити), наблизивши її скільки завгодно близько до одиниці (відповідно до нуля), послідовно і незалежно повторюючи протокол (Р,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                       і посилає його Б. 

4. Б перевіряє значення ƒ (Response)≟      

Якщо перевірка завершується невдало, Б посилає відмову і завершує роботу протоколу.

Б приймає доказ.

У цьому протоколі А є стороною, що доводить, а Б стороною, що перевіряє. Загальними вхідними даними А і Б є число X = ƒ (z), де функція ƒ є однонаправленою і гомоморфною функцією, заданою над групою  Zn. Твердження про приналежність формулюється А і виглядає таким чином: X  { ƒ (x) | х Zn}. 

Закритими даними А є елемент z Zn – прообраз елементу X при однонаправленому і гомоморфному відображенні ƒ.

В даному протоколі обидві сторони вступають в контакт т разів і створюють наступну стенограму доказу.

Commit1, Challenge1, Response1,..., Commitm, Challengem, Responsem.

Протокол виводить результат Прийняти, якщо кожна перевірка, що виконується Б, завершується успішно. Інакше результатом є слово Відхилити. Описаний протокол є повним. Інакше кажучи, якщо А знає прообраз z і слідує інструкціям, то Б завжди відповідатиме: Прийняти. 

Повнота.

Оцінка імовірності повноти протоколу виконується, причому  = 1, оскільки відповіді  А завжди успішно проходять перевірку у Б, тобто

ƒ (Response)=

 при будь-якому виборі випадкового числа Сhallenge  {0,1}.

Несуперечливість.

Протокол є несуперечливим.

Оцінимо імовірність суперечності .

Результат перевірки, що виконується Б на етапі 4, залежить від випадкового числа Сhallenge після отримання числа Соmmit від А. Перевірка завершується успішно в двох випадках.

Варіант 1: Challenge = 0: Б бачить, що А відомий прообраз числа Commit.

Варіант 2:  Challenge = 1: Б бачить число

прообраз(Х)= Response – прообраз(Commit)(mod n).

Оскільки сторона А не може передбачити випадковий вибір Б після отримання передачі, якщо число, що передається не дорівнює одиниці, вона повинна знати прообраз(Commit), а значить, і прообраз(Х).

Якщо А не знає число прообраз(Х), вона може зшахраювати, спробувавши вгадати випадковий біт оклику перед відправкою своєї передачі. У «нечесному» доказі А обчислює значення, що передається таким чином.

 •  Вибирає випадкове число Response Zn.

 •  Вгадує число Challenge.

 •  Обчислює число Commit 

Очевидно, що на кожному кроці Б може відкинути помилковий доказ з імовірністю 1/2. Отже, імовірність суперечності (тобто імовірність успішного обману) рівна  = 1/2. Якщо протягом m ітерацій Б жодного разу не відкинув доказ, імовірність успішного обману не перевершує 2-m. Успішний обман стане практично неможливим, якщо число m достатньо велике, тобто число 2-m є дуже малим. 

Якщо функція ƒ є гомоморфізмом, то ƒ(х) = ƒ(1)х для всіх  х  Zn. Отже, в протоколі А доводить своє знання дискретного логарифма числа X по підставі ƒ(1). Цей протокол називається «доказуванням приналежності підгрупі», оскільки ця назва має більш загальний характер. Слід підкреслити, що огd[ƒ(1)] є секретним дільником числа n, тобто в загальному випадку елемент ƒ(1) не породжує групу що складається з п елементів. Як правило, Б не може безпосередньо перевірити приналежність елемента підгрупі, не вдаючись до допомоги А.

Рішення задачі про приналежність елементу підгрупі є важким завданням. Приведемо ще декілька свідоцтв, підтверджуючих сказане. Відзначимо, що, хоча множина

Ln = { ƒ(x) = ƒ(1)x | х  Zn}

є циклічною групою (оскільки вона породжується елементом  ƒ(1)), Б нелегко перевірити умову # Ln ≟ n. Для цього він повинен розкласти число п на прості множники. Б може відповісти ТАК, не вступаючи в контакт з А, тільки якщо #Ln = п (оскільки число ƒ(1) повинно породжувати всі п елементів множини Ln). Таким чином, завдання про приналежність елементу підгрупі зводиться до факторизації великого цілого числа. Отже, щоб затруднити рішення цієї задачі, ціле число п в протоколі повинне бути достатньо великим. Саме з цієї причини параметр безпеки в протоколі  повинен мати довжину log n.

Нульове розголошування.

Припустимо, що на Питання 1  існує ідеальна відповідь (Р, V) – протокол з нульовим розголошуванням, тобто користувач V  переконується у коректності твердження користувача Р, не дізнавшись нічого нового про закриті вхідні дані.

Для того, щоб протокол (Р, V) володів цією властивістю, необхідно обмежити обчислювальну потужність користувача V  поліномом, що залежить від розміру його вхідної інформації. Очевидно, що без цього обмеження неможна гарантувати нульове розголошування, оскільки користувач V, що володіє необмеженими обчислювальними ресурсами може самостійно розкрити секретні вхідні дані користувача Р.

Для будь-якого речення х  L виконання протоколу (Р, V)(х) приводить не тільки до виведення результату Прийняти, але і породжує стенограму доказу, в якому чергуються елементи стенограм сторони, що доводить і сторони, що перевіряє. Елементи стенограми доказу є випадковими величинами, що залежать від всіх вхідних даних, включаючи випадкові вхідні дані протоколу (Р, V).

Очевидно, що доказ (Р, V)(х) розкриває будь-яку інформацію про закриті вхідні дані користувача Р тільки в тому випадку, якщо стенограма доказу допускає виток інформації.

Проте, якщо випадкові величини в стенограмі доказу є рівномірно розподіленими по відповідному імовірнісному простору і не залежать від загальних вхідних даних, то безглуздо стверджувати, ніби вони допускають виток інформації. Вважатимемо, що у цій ситуації (тобто коли стенограма доказу складається з рівномірно розподілених випадкових величин, не залежних від загальних вхідних даних) сторона, що доводить спілкується зі стороною, що перевіряє, на мові, що не володіє властивістю надмірності, тобто що має найбільшу ентропію. Отже, не має значення, наскільки розумним (або могутнім) є користувач, що перевіряє. Навіть вивчаючи цю мову дуже довгий час, він не зможе витягнути ніякої додаткової інформації.

Доведемо тепер, що протокол, який ми вище розглянули є ідеальним ZК-протоколом.

Стенограма доказу, створена при виконанні протоколу (А, Б)(Х), виглядає таким чином.

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   і посилає його 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 log2 p біт.

Оскільки умова q | р – 1 накладається явно, протокол ідентифікації Шнорра більше не повинен вирішувати задачу про приналежність елементу певній підгрупі. Тепер Б може самостійно визначити, чи належить елемент у підгрупі g, не вдаючись до допомоги сторони А: уq ≡ gq ≡ 1(mod р). Отже, протокол ідентифікації Шнорра призначений для вирішення конкретнішого завдання: чи знає  сторона А дискретний логарифм числа у по підставі g, що є її криптографічним мандатом.

Проаналізуємо стійкість даного протоколу.

Повнота.

Ця властивість виконується тривіальним чином, причому ε = 1. 

Несуперечність.

Припустимо, що сторона А’ шахраює, тобто не знає правильне значення дискретного логарифма. Одержавши число Commit від А, сторона Б генерує число Challenge і чекає відгуку.

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  .

3.  Обчислюємо величину Соmmit = gResponse yChallemge(mod p).

Очевидно, що імовірність суперечності при правильному вгадуванні на кожної ітерації рівна 1/1оg2 р, тобто імовірність суперечності протоколу, що складається з одного раунду, рівна δ = 1/ 1оg2 р.

Оскільки імовірність суперечності протоколу ідентифікації Шнорра, що складається з одного раунду, менше, ніж у попереднього протоколу, його ефективність вище. Дійсно в попередньому протоколі для зниження імовірності помилки до дуже малої величини δ = 2-m  необхідно виконати т ітерацій, в той час, коли в протоколі ідентифікації Шнорра для цього достатньо l =   раундів.

При р  21024 i m = 100 одержуємо l = 100/10 = 10. Інакше кажучи, збільшення довжини оклику скорочує кількість ітерацій в порівнянні з попереднім протоколом  в 10 разів при тій же імовірності суперечності.

Ефективність раунду.

Розглянемо друге питання, сформульоване в розділі 3.1: скільки раундів необхідне для того, щоб сторона, що доводить, переконала в своїй правоті сторону, що перевіряє? Це питання про так звану ефективність раунду. Раундом називається повний цикл дій, пов'язаних з відправкою і отриманням повідомлень. Оскільки багато ZК - (і IР) протоколів складаються із обчислень величин Commit(перший крок учасника Р), Challenge (другий крок учасника V), Response (другий крок учасника Р), ми часто називатимемо раундом саме ці три дії.

Для того, щоб понизити імовірність помилки в протоколах з нульовим розголошенням, звичайно використовується велика кількість раундів. У виразі (3.1.1) величина ε є нижньою оцінкою імовірності повноти, а величина 1 – ε – її оцінку зверху. Як і оцінку несуперечності, оцінку повноти зверху необхідно мінімізувати. Для того, щоб об'єктивно оцінювати ефективність раундів в протоколі з нульовим розголошуванням, необхідно оцінювати імовірності помилок в кожному окремому раунді. Чим нижча оцінка такої імовірності, тим вище ефективність сеансу.

Знайдемо нижню оцінку ефективності раунду при вирішенні задачі про приналежність елемента підгрупі. 

Сформулюємо питання таким чином.

Чи можна поліпшити ефективність протоколу 3.1, збільшивши розмір оклику, що генерується стороною Б, як це зроблено в протоколі ідентифікації Шнорра, якщо ƒ(х) = gх(mod N) і стороні A відоме розкладання складеного цілого числа N на прості множники?

Нагадаємо, що, наприклад, в протоколі ідентифікації Шнорра ми трохи збільшили довжину оклику: Challenge. В результаті ефективність протоколу підвищилася: замість m раундів, передбачених в протоколі 3.1, для доказу виявилось достатньо виконати  раунди, причому імовірність суперечності не змінилася.

На жаль, якщо А знає розкладання числа N на прості множники, такий прийом стає неможливим. Проблема полягає не в нульовому розголошенні. Вона пов'язана з імовірністю суперечності. Імовірність суперечності даного протоколу рівна δ = 1/2 незалежно від довжини оклику.

Для прикладу розглянемо імовірність суперечності однораундового трьохкрокового протоколу, що використовує довгий оклик. 

Отже, опишемо протокол з нульовим розголошуванням під назвою «Непридатний протокол», призначений для доказу приналежності елемента однієі з підгруп Zn. Цей протокол непридатний для використання на практиці. Він описується його лише для демонстрації ідеї.

Загальні вхідні дані:

велике складене ціле число;

g, у: два елементи групи Zn, де g має великий порядок по модулю N, а у = gz (mod N). 

Закрита інформація сторони А:

ціле число z < (N). 

Висновок сторони Б:

у g, тобто у ≡ gz (mod N) при деякому х.

1. A генерує число  k  Z(N), обчислює значення  Commit  gk (mod N )і посилає його Б.

2. Б  генерує   рівномірно розподілену випадкову величину Challenge < N і посилає її А.

3. А обчислює значення Response  k + z Challenge(mod (N)) і посилає його Б.

4. Якщо gResponse = Commit*yChallenge(mod N), сторона Б приймає доказ, інакше вона його відкидає.

На перший погляд, оскільки розмір числа Challenge великий, стороні А нелегко його вгадати, і вона вимушена точно слідувати інструкціям протоколу, що зменшує імовірність несуперечності до величини δ ≈ 1/(N). Якби це було правдою, то протокол складався б тільки з одного раунду. Але, на жаль, ця оцінка імовірності суперечності некоректна. 

Знаючи факторизацію числа N, А може легко обчислити нетривіальний квадратний корінь одиниці, тобто елемент ß ZN, що задовольняє  умовам ß ≠ ±1 ß2 ≡ 1(mod N).

Далі А обчислює загальні вхідні дані:

Y  ßgz(mod N).

Замість обчислення значення Commit по інструкціях протоколу, сторона А підкидає монету b{0,1}, намагаючись вгадати парність оклику сторони Б. Потім вона обчислює величину Commit  по наступній формулі.

Commit

В частині протоколу, що залишилася, сторона А повинна слідувати інструкціям.

Очевидно, що шанси правильно вгадати число 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. Структура нормативної бази



Структуру законодавства, що регулює відносини із захисту інформації утворюють Конституція України, загальні і спеціальні нормативно-правові акти.

Основний Закон нашої держави Конституція України очолює систему законодавства. Вона є фундаментом для інших нормативно-правових актів, в яких деталізуються її положення. Конституція України визначає право громадян на інформацію, особливості використання інформації з обмеженим доступом.

До загальних нормативно-правових актів належать:

Закон України «Про державну таємницю». Цей Закон регулює суспільні відносини, пов’язані з віднесенням інформації до державної таємниці, засекречуванням, розсекречуванням її матеріальних носіїв, порядком доступу до державної таємниці та охороною державної таємниці з метою захисту національної безпеки України.

Закон України «Про інформацію». Він дає визначення інформації, встановлює загальні правові основи одержання, використання, поширення та зберігання інформації, закріплює право особи на інформацію в усіх сферах суспільного і державного життя України, а також систему інформації, її джерела, визначає статус учасників інформаційних відносин, регулює доступ до інформації та забезпечує її охорону, захищає особу та суспільство від неправдивої інформації.

Закон України «Про науково-технічну інформацію» визначає  основи  державної  політики  в   галузі науково-технічної інформації, порядок її формування і реалізації в інтересах науково-технічного, економічного і соціального  прогресу країни, регулює правові і економічні відносини  громадян, юридичних осіб, держави, що виникають  при  створенні, одержанні, використанні та поширенні науково-технічної  інформації.

Закони України «Про Національну програму інформатизації», «Про Концепцію Національної програми інформатизації». Національна програма інформатизації, невід’ємною частиною якої є інфомаційна безпека, визначає стратегію розв’язання проблеми забезпечення інформаційних потреб та інформаційної підтримки соціально-економічної, екологічної, науково-технічної, оборонної, національно-культурної та іншої діяльності у сферах загальнодержавного значення.

Закон України «Про електронні документи та електронний документообіг» встановлює основні організаційно-правові засади електронного документообігу та використання електронних документів.

Спеціальні нормативно-правові акти визначають конкретні методи та засоби захисту інформації, порядок розроблення та експлуатації захищених систем.

Закон України «Про захист інформації в автоматизованих системах». Метою цього Закону є встановлення основ регулювання правових відносин щодо захисту інформації в автоматизованих системах за умови дотримання права власності громадян України і юридичних осіб на інформацію та права доступу до неї, права власника інформації на її захист, а також встановленого чинним законодавством обмеження на доступ до інформації.

Закон України «Про електронний цифровий підпис» визначає правовий статус електронного цифрового підпису та регулює відносини, що виникають при використанні електронного цифрового підпису.

Постанова Кабінету міністрів України від 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 Закону України «Про захист інформації в автоматизованих системах»).

Криптографічна система (криптосистема) – сукупність засобів криптографічного захисту інформації (далі КЗІ), необхідної ключової, нормативної, експлуатаційної, а також іншої документації (у тому числі такої, що визначає заходи безпеки), використання яких забезпечує належний рівень захищеності інформації, що обробляється, зберігається та (або) передається (п. 2 Положення «Про порядок здійснення криптогрфічнго захисту інформації в Україні»).

Державну політику щодо КЗІ відповідно до Указу Президента України від 11 лютого 1998 року N 110 (110/98) реалізує Департамент спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України (п. 3). 

Для КЗІ, що становить державну таємницю, та службової інформації, створеної на замовлення державних органів або яка є власністю держави, використовуються криптосистеми і засоби криптографічного захисту, допущені до експлуатації.

Зазначені криптосистеми і засоби перебувають у державній власності.

Засоби криптографічного захисту службової інформації та криптосистеми з відповідного дозволу можуть перебувати і в недержавній власності (п. 7).

 Порядок розроблення, виготовлення, розповсюдження, експлуатації, збереження, використання, випробування, сертифікації та допуску до експлуатації криптосистем і засобів криптографічного захисту інформації, контролю за додержанням вимог безпеки при проведенні цих робіт визначається відповідними положеннями.

 Діяльність, пов’язана зі створенням і експлуатацією систем криптографічного захисту секретної інформації, забезпеченням безпеки інформації, що циркулює в цих системах, регламентується Інструкцією (п. 9 цього Положення).

Діяльність, пов’язану з розробкою, виготовленням, ввезенням, вивезенням, реалізацією та використанням засобів КЗІ, а також з наданням послуг із КЗІ, можуть здійснювати суб’єкти підприємницької діяльності, зареєстровані в порядку, встановленому законодавством (п. 11). До користування криптосистемами та засобами криптографічного захисту секретної інформації допускаються особи, які у встановленому законодавством України порядку одержали допуск до державної таємниці (п. 12).

Суб’єкт господарювання, який має намір провадити господарську діяльність у галузі КЗІ та відповідає цим Ліцензійним умовам, подає до Департаменту заяву про видачу ліцензії за встановленою формою.

У разі забезпечення суб’єктом господарювання криптографічного захисту інформації клієнтів (юридичних або фізичних осіб) шляхом надання послуг з шифрування, дія цих Ліцензійних умов поширюється на суб’єкт господарювання, який організовує використання, експлуатацію засобів КЗІ, та встановлює відповідний режим безпеки і порядок доступу до засобів захисту інформації. Клієнти, які отримують послуги з шифрування, ліцензію на право здійснення діяльності в галузі КЗІ не одержують (п. 3.1 Ліцензійних умов).

Порядок проведення розроблення, виробництва, використання, експлуатації, сертифікаційних випробувань, тематичних досліджень, експертизи, ввезення, вивезення криптосистем і засобів криптографічного захисту інформації, надання послуг у галузі КЗІ визначається окремими нормативно-правовими актами та є обов’язковим до виконання всіма суб’єктами господарювання (п. 3.2).

Вимоги для провадження господарськоїдіяльності у галузі КЗІ.

1. Кваліфікаційні вимоги.

Суб’єкт господарювання має бути укомплектований штатними спеціалістами, які відповідають заявленому виду діяльності та обсягу робіт (за кількістю, освітою, професійною підготовкою, кваліфікацією, досвідом роботи).

Спеціалісти повинні забезпечувати:

Проведення повного циклу розроблення криптосистем і засобів КЗІ, що може включати або бути пов’язаний з прикладними науковими дослідженнями, вибором напрямків та проведенням теоретичних (експериментальних) досліджень (фундаментальних наукових досліджень), ескізним (технічним) проектуванням і макетуванням, проектно-пошуковими роботами та технологічним проектуванням, створенням і виготовленням конструкторської документації (п. 5.1).

2. Організаційні вимоги.

Для провадження господарської діяльності у галузі КЗІ:

 2.1 Суб’єкт господарювання повинен мати затверджені керівником документи, у яких визначені:

підрозділ (підрозділи) або група співробітників, які безпосередньо організовуватимуть та забезпечуватимуть проведення робіт у галузі КЗІ, його структура (склад) та завдання;

інструкції щодо порядку проведення робіт у галузі КЗІ;

функціональні обов’язки та кваліфікаційні вимоги до спеціалістів, які залучаються до виконання робіт у галузі КЗІ;

відповідальність спеціалістів, які забезпечуватимуть проведення робіт у галузі КЗІ, за забезпечення збереження інформації з обмеженим доступом при виконанні робіт (п. 5.2.1).

2.2 Суб’єкт господарювання повинен мати визначений у документальному вигляді перелік відомостей, які відносяться до інформації з обмеженим доступом (п. 5.2.2).

3. Технологічні та інші вимоги.

Суб’єкт господарювання повинен мати власні (або такі, що використовуються на інших законних підставах) приміщення, виробничі потужності (зокрема, дослідне виробництво, випробувальну базу, обладнані робочі місця для збирання та налагодження макетів розроблених криптосистем і засобів КЗІ, налагоджувальні стенди, призначені для здійснення моделювання роботи апаратури, інформаційно-обчислювальні комплекси, оснащені сучасними апаратними та програмними засобами, перевірені згідно з діючими нормативними вимогами технічні засоби вимірювання і контролю, інструмент, оснащене виробництво, ліцензійне програмне забезпечення), потрібні для провадження господарської діяльності у галузі КЗІ.

Для провадження робіт у галузі криптографічного захисту інформації, що становить державну таємницю, суб’єкт господарювання повинен мати спеціальний дозвіл на провадження діяльності, пов’язаної з державною таємницею, атестовані на відповідність вимогам нормативних документів з питань технічного захисту інформації приміщення та (або) об’єкти електронно-обчислювальної техніки (п. 5.3).

4. Особливі вимоги провадження господарської діяльності у галузі КЗІ.

Залежно від важливості інформації для особистості, суспільства, держави та правового режиму доступу до інформації встановлюються особливі умови провадження робіт у межах господарської діяльності у галузі КЗІ, які відображаються у ліцензії, що видається суб’єкту господарювання:

з наданням права провадження робіт у галузі криптографічного захисту інформації, що становить державну таємницю;

з наданням права провадження робіт у галузі криптографічного захисту конфіденційної інформації, що є державною власністю;

з наданням права провадження робіт у галузі криптографічного захисту конфіденційної інформації.

Для провадження робіт у галузі криптографічного захисту інформації, що становить державну таємницю, суб’єкти господарювання повинні забезпечити встановлений режим секретності, а також мати матеріали, які відповідно до завдань, програм та замовлень державних органів підтверджують залучення заявника до їх виконання. Провадження цих робіт дозволяється лише в межах терміну дії дозволу на здійснення діяльності, пов’язаної з державною таємницею (п. 6).

Суб’єкти господарювання, які здійснюють господарську діяльність у галузі криптографічного захисту конфіденційної інформації, що є власністю держави, в разі використання бойових кодів, паролів доступу, шифрів для засобів криптографічного захисту інформації повинні забезпечити режим безпеки (секретності) відповідно до вимог нормативно-правових актів Департаменту (п. 7 Інструкції).

Суб’єкти господарювання, які здійснюють розроблення, виробництво, сертифікаційні випробування (експертні роботи) та експлуатацію засобів КЗІ, повинні мати відповідні ліцензії Департаменту на розроблення, виробництво, сертифікаційні випробування, експертизу та експлуатацію криптосистем та засобів КЗІ, крім випадків, передбачених законодавством України (п. 1.7 Наказу).

Розроблення засобів КЗІ здійснюється відповідно до вимог нормативно-правових актів і національних стандартів у сфері КЗІ, а також нормативних документів з питань розроблення та поставлення продукції на виробництво.

Розроблення засобів КЗІ здійснюється шляхом поставлення та виконання відповідних науково-дослідних робіт (далі — НДР) з розробки нових принципів побудови і функціонування засобів КЗІ та дослідно-конструкторських робіт (далі — ДКР) зі створення нових або модернізації існуючих зразків засобів КЗІ.

 НДР з розробки нових принципів побудови і функціонування засобів КЗІ виконуються згідно з технічним завданням (далі — ТЗ), яке погоджується виконавцем НДР.

Погоджене виконавцем ТЗ на НДР надсилається на погодження до Департаменту, який протягом одного місяця його погоджує або надає мотивовану відмову. Після затвердження ТЗ замовником один його примірник надсилається до Департаменту.

За результатами НДР готується ТЗ на ДКР з розробки нового або модернізації існуючого зразка засобу КЗІ з підготовкою, за необхідності, техніко-економічного обґрунтування ДКР.

У ТЗ на ДКР з розробки нового типу або модернізації існуючого зразка засобу КЗІ включаються:

відомості про замовника та виконавця ДКР, а також про випробувальну лабораторію (експертний заклад), яка провадитиме сертифікаційні випробування (експертні роботи) засобу КЗІ;

відомості про тип і клас засобу та відомості про його застосування (у тому числі типова схема організації зв’язку із зазначенням способу застосування засобу КЗІ, максимальна кількість абонентів у мережі, вид інформації, що підлягає обробці, швидкість обробки, необхідний рівень захисту інформації, тип виконання і конструктивні особливості реалізації виробу);

вимоги до криптоалгоритму та його реалізації (у тому числі вимоги щодо завадостійкості і криптостійкості алгоритму, вимоги до імітозахисту повідомлень, порядок моделювання і верифікації моделей, порядок реалізації і тестування програмного забезпечення засобу);

вимоги до ключової системи та її організації (у тому числі вид та кількість ключів, періодичність їх зміни, вимоги до носіїв ключової інформації);

вимоги до управління ключовими даними (у тому числі їх генерації) та дещо інше.

Засоби КЗІ розробляються з урахуванням можливих загроз з боку середовища, у якому передбачається їх застосування.

У засобах КЗІ, що розробляються, реалізуються механізми їх захисту від несанкціонованого доступу, контролю цілісності мікропрограм (змісту постійних запам’ятовувальних пристроїв), які конфігурують логічну інтегральну мікросхему, що програмується, тощо (для програмних засобів КЗІ – контролю цілісності програмного забезпечення), надійного тестування засобу на правильність функціонування та блокування його роботи в разі виявлення порушень.

Розроблення програмних засобів КЗІ здійснюється з використанням тільки ліцензійного програмного забезпечення (п. 2).

Виробництво засобів КЗІ здійснюється тільки за наявності сертифіката відповідності (позитивного експертного висновку) на засіб, проекту технічних умов (далі – ТУ) та інструкції із забезпечення безпеки експлуатації засобів КЗІ.

Виробники засобів КЗІ повинні:

ужити заходів щодо своєчасної сертифікації або експертизи засобів КЗІ (у тому числі повторної — після закінчення строку дії раніше отриманого сертифіката відповідності або експертного висновку);

погодити зміни, які вносяться у вироби та документацію на них, із замовником та Департаментом;

забезпечити виконання усіх вимог ТУ, включаючи спеціальні параметри;

визначити, за наявності вимог у ТУ, контрольний еталонний зразок від партії виробів, що виготовляється, та утримувати його відповідно до встановлених вимог;

забезпечити технічне обслуговування та гарантійний ремонт засобів КЗІ, а також випуск і поставку запасних частин для цих засобів відповідно до Закону України “Про захист прав споживачів" (п. 3).

Для криптографічного захисту інформації використовуються засоби КЗІ, які мають сертифікат відповідності або експертний висновок Департаменту.

До початку експлуатації керівник організації, яка здійснює експлуатацію засобів КЗІ, затверджує проекти інструкції із забезпечення безпеки експлуатації засобу КЗІ та інструкції щодо порядку генерації ключових даних та поводження з ключовими документами.

Експлуатація засобів КЗІ здійснюється відповідно до вимог експлуатаційної документації, інструкції із забезпечення безпеки експлуатації засобів КЗІ, а також інструкції щодо порядку генерації ключових даних та поводження з ключовими документами.

Унесення змін до інструкції щодо порядку генерації ключових даних та поводження з ключовими документами, які отримані від Департаменту, здійснюється за погодженням з Департаментом.

Ключові документи, що постачаються Департаментом, не можуть тиражуватися або використовуватися для засобів КЗІ, які не обумовлені договором про постачання ключових документів.

Користувачі засобів КЗІ повинні бути ознайомлені з інструкцією щодо порядку генерації ключових даних та поводження з ключовими документами в частині, що їх стосується, та виконувати вимоги цієї інструкції .

Застосування засобів КЗІ під час міжнародного обміну інформацією здійснюється відповідно до законодавства та міжнародних угод (договорів) України (п. 4).

Висновки

Таким чином, захисту інформації приділяється дуже велика увага з боку держави шляхом прийняття відповідних нормативго-правових актів, контролю за їх виконанням, застосування до порушників порядку користування інформацією різних санкцій. Це пов’язано з тим, що захищається, як правило, і нформація з обмеженим доступом, виток якої може спричинити державі значні збитки (розмір цих збитків залежить від важливості інформації). Тому так чітко регламнтований  порядок проведення розроблення, виробництва, використання, експлуатації, сертифікаційних випробувань, тематичних досліджень, експертизи, ввезення, вивезення захищених систем, засобів криптографічного, технічного, організаційного захисту інформації, причому не одним нормативно-правовим актом. До суб’єктів цієї діяльності пред’являються жорсткі організаційні, кваліфікаційні, технологічні, особливі та інші вимоги.


Висновки

В даній роботі мною ставилася мета провести системний аналіз роботи криптографічних протоколів і створити математичні імовірнісні моделі елементів криптографічних систем і самих протоколів з метою формалізації оцінок стійкості криптопротоколів.

Для досягнення мети я вирішив наступні завдання.

1. Проаналізував структуру захищених систем, що використовують криптографічні протоколи. В загальному вигляді її можна описати так.

На передавальному кінці є два джерела інформації – джерело повідомлення і джерело ключів. Джерело ключів відбирає конкретний ключ серед всіх можливих ключів даної системи. Цей ключ передається деяким способом на приймальний кінець, причому передбачається, що його не можна перехопити (наприклад, ключ передається посильним). Джерело повідомлень формує деяке повідомлення (незашифроване), яке потім зашифровується, і готова криптограма передається на приймальний кінець, причому криптограма може бути перехоплена. На приймальному кінці шифрувальник за допомогою ключа по криптограмі відновлює початкове повідомлення.

2. Проаналізував методики оцінки стійкості криптографічних шифрів і протоколів. 

Вирішуючи цю задачу я зробив висновок, що криптографічний алгоритм вважається стійким, якщо для його злому супротивник повинен витратити практично недосяжні обчислювальні ресурси або мати недосяжного обсягу перехопленого шифр матеріалу. В свою чергу оскільки в основі багатьох криптопротоколів лежать криптографічні алгоритми, зрозуміло, що остаточна стійкість протоколів буде не більше стійкості використовуваних криптографічних алгоритмів. Вона може бути понижена в наступних випадках:

використання слабких криптографічних алгоритмів і некоректна реалізація деяких його складових;

некоректна логіка роботи криптопротокола;

некоректне використання криптографічних алгоритмів.

3. Розробив пропозицій по формалізації завдання оцінки стійкості протоколів, заснованої на імовірнісних моделях, привів приклад аналізу стійкості протоколу з нульовим розголошенням на основі його імовірнісної моделі.

Для того, щоб попередити атаки, що мають декілька рівнів загроз, необхідно визначити більш строге поняття стійкості. Необхідно правильно формалізувати задачу. Безпека криптографічної системи повинна мати кількісну оцінку, яка зв’язує безпеку криптосистеми  з визначеною задачею, що не вирішується. Стандартний спосіб доказу високої стійкості системи передбачає вираження успіхів зловмисника при спробі злому криптографічної системи у вигляді величин, які вимірюють, як часто і як швидко зловмиснику вдається вирішити одну із задач, що важко вирішуються. Ці величини є оціноками імовірності і обчислювальної складності злому.

Криптосистема, що аналізується повинна обиратися і розроблятися досить ретельно. Аналіз повинен показати, що обрана система відповідає висунутим вимогам, які також повинні бути строго формалізовані.

Формальні методи системного аналізу використовують систематичні процедури, строгість яких забезпечується математичними засобами. Ці процедури дозволяють або розробляти системи, що володіють наперед заданими властивостями, або перевіряти вже існуючі системи, щоб виявити можливі приховані помилки. Уразливість криптографічних систем загальновизнана, тому в теперішній час майже всі досліджувачі вважають, що системи повинні розроблятися за допомогою формальних методів. Формальне описання криптографічних протоколів необхідне для більш точного їх аналізу.


Список літератури



1. Фомичев В. М. Дискретная математика и криптология. Курс лекцій / Под общ. ред. д-ра физ.-мат. н. Н. Д. Подуфалова. – М.: Диалог – МИФИ, 2003 – 400 с.

2. Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си. – М: Издательство Триумф, 2003 – 816 с.

3. Математические и компьютерные основы криптологии: Учеб. пособие / Ю. С. Харин, В. И. Берник, Г. В. Матвеев, С. В. Агиевич. – Мн.: Новое знание, 2003 – 382 с.

4. Столлингс В. Криптографія и защита сетей: принципы и практика, 2-е издание.: Пер. С англ. – М.: Издательский дом «Вильямс», 2001 – 672 с.

5. Шнаер Б. Секреты и ложь. Безопасность даннях в цифровом мире. – СПб.: Питер, 2003 – 368 с.

6. Бабичев С. Г., Гончаров В. В., Серов Р. Е. Основы современной криптографии. – М.: Горячая линия – Телеком, 2001 – 120 с.

7. Шеннон К. Работы по теории информации и кибернетике.: Пер. с англ. – М.: Издательство иностранной литературы, 1963 – 830 с.

8. Петров А. А. Компьютерная безопасность. Криптографические методы защиты. – М.: ДМК, 2000 – 448 с.

9. Ирвин Дж., Харль Д. Передача даннях в сетях: инженерный поход.: Пер. с англ. – СПб.: БХВ – Петербург, 2003 – 448 с.

10. Молдован А. А. Криптография: скоростные шифры. – СПб.: БХВ - Петербург, 2002 – 496 с.

11. Венбо Мао. Современная криптографія: теорія и практика.: Пер. с англ. – М.: Издательский дом «Вильямс», 2005 – 768 с.

12. Кельтон В., Лоу А. Имитационное моделирование. Класcика CS. 3-е изд. – СПб.: Питер; Киев: Издательская группа BHV, 2004 – 847 с.

13. Рябко. Б. Я., Фионов А. Н. Криптографические методы защиты информации: Учебние пособие для вузов. – М.: Горячая линия – Телеком, 2005 – 229 с.

14. Скляров Д. В. Искусство защиты и взлома информации. – СПб.: БХВ – Петербург, 2004 – 288 с.

15. Программиование алгоритмов защиты информации: Учебное пособие. – М.: «Нолидж», 2000 – 288 с.

16. Романец Ю. В. , Тимофеев П. А., Шаньгин В. Ф. Защита информации в компьютерных системах и сетях / Под ред. В. Ф. Шаньгина. – М.: Радио и связь, 1999 – 328 с.

17. Носов В. В., Орлов П. И., Громыко И. А. организация т обеспечениебезопасности информации. Учебное пособие. – Харьков, 2004 – 141 с.

18. Мафтик С. Механизмы защиты в сетях ЭВМ. – М.: Издательство «Мир», 1993 – 343 с.

19. Воробьёв С. Защита информации  в персональных ЭВМ. – М.: Издательство «Мир», 1993 – 312 с.

20. Сапегин Л. Н. Специальная техника средств связи, Выпуск 1, Серия «Системы, сети и технические средства конфиденциальной связи», 1996.

21. Диффи, Хэллман. ”Новые направления в криптографии”.: ТИИЭР, т.67, №3, 1979.

22. Теория и практика обеспечения информационной безопасности / Под ред. П. Д. Зегжды. – М.: Яхтсмен, 1996.

23. Ларс Кландер. Hacker Proof: Полное руководство по безопасности компьютера. – Минск: Издательство «Белорусский Дом печати», 2002 – 688 с.

24. Соколов А. В., Степанюк О. М. Зашита от компьютерного терроризма: Справочное пособие. – СПб.: БХВ –Петербург, 2002 – 496 с.

25. Ломакин П., Шрейн Д. Антихакинг. – М.: Издательство «Майор», 2002 510 с.

26. Медведовский И. Д., Семьянов П. В., Леонов Д. Г., Атака на Internet, - М.: Издательство ДМК, 1999 – 453 с.

27. Ростовцев А. Г. Элементы криптологии. – СПб.: Издательство СПбГТУ, 1995 – 378 с.

28. Мельников В. Защита информации в компьютерных системах. – М.: Финансы и статистика; Электроинформ, 1997 – 432 с.

29. Мак-Клар С., Скембрей Дж., Курц Дж. Секреты хакеров. Безопасность сетей – готовые решения, 3-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2002. – 736 с.

30. Защита информации в персональных ЭВМ. А. В Спесивцев, В. А. Вегнер и др. – М.: Радио  и связь, 1993 – 193 с.

31. Черёмушкин А. В. Лекции по арифметическим алгоритмам в криптографии. – М.: МЦНМО, 2002 – 103 с. 

32. Ростовцев А. Алгебраические основы криптографии. – СПб.: Мир и семья – Интерлайн, 2000 – 289 с.

33. Закон України «Про інформацію» //ВВР, 1992, № 48, ст. 650.

34. Закон України «Про державну таємницю» //ВВР, 1994, №16, ст. 94.

35. Закон України «Про Національну програму інформатизації» //ВВР, 1998, № 27-28, ст. 181.

36. Закон України «Про Концепцію Національної програми інформа-тизації» // ВВР, 1998, № 27-28, ст. 182.

37. Закон України «Про електронні документи та електронний документообіг» // ВВР, 2003, № 36, ст. 275.

38. Закон України «Про електронний цифровий підпис» // ВВР, 2003, № 36, ст. 276.

39. Закон України «Про захист інформації в автоматизованих системах» // ВВР, 1994, № 31, ст.. 286.

40. Указ Президента України «Про Положення про технічний захист інформації в Україні» від 27.09.1999 р., № 1229/99.

41. Указ Президента України «Про Положення про порядок здійснення криптографічного захисту інформації в Україні» від 22.05.1998 р., № 505/98.

42. Наказ Державного комітету України з питань регуляторної політики та підприємництва, Департаменту спеціальних телекомунікаційних систем та захисту інформації Служби безпеки України  від 29.12.2000, № 88/66 «Про затвердження Ліцензійних умов провадження господарської діяльності з розроблення, виробництва, використання, експлуатації, сертифікаційних випробувань, тематичних досліджень, експертизи, ввезення, вивезення криптосистем і засобів криптографічного захисту інформації, надання послуг в галузі криптографічного захисту інформації (крім послуг електронного цифрового підпису), торгівлі криптосистемами і засобами криптографічного захисту інформації».

43. Наказ Департаменту спеціальних телекомунікаційних  систем  та за-хисту  інформації Служби безпеки України «Про внесення змін до Положення «Про порядок розроблення, виробництва та експлуатації засобів крипто-графічного захисту конфіденційної інформації» від 30.04.2004, № 31.

44.  Наказ Департаменту спеціальних телекомунікаційних  систем  та захисту  інформації СБ України від 22.10.99,№ 45 «Про затвердження Інструк-ція Про порядок забезпечення режиму безпеки, що повинен бути створений на підприємствах, установах та організаціях, які здійснюють господарську діяльність у галузі криптографічного захисту конфіденційної інформації, що є власністю держави». 

45. Наказ Держстандарту України та Служби   безпеки України   від 28.11.1997 р., № 708/156 «Про затвердження Тимчасової інструкції Про порядок постачання і використання ключів до засобів криптографічного захисту інформації».