Розробка імовірнісної моделі криптографічних протоколів
Подовження табл. 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 -Параметр безпеки kN.
i -Ідентифікатор користувача iI, що виконує дану частину протоколу. Називатимемо цього користувача "власником". Множина 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 - деяке позитивне ціле число) - моменти часу, в які користувач і посилає повідомлення. Діалог можна позначити таким чином.
Цей запис означає, що у момент t1користувач і одержує запит m1і посилає у відповідь повідомлення m'1. Потім у момент t1> t2користувач і одержує запит m2і посилає у відповідь повідомлення m'2і так далі, поки у момент tR він не одержить запит mR і пошле у відповідь повідомлення m'R.
Нагадаю, що в даній моделі користувач будь-який запит повинен вважати повідомленням від Зловмисника, поки в якийсь момент tR він не прийме позитивне рішення. Зручно припустити, що діалог починає Зловмисник. Отже, якщо m1 = “”, називатимемо користувача іініціатором діалогу, інакше - відповідачем.
позначає діалог користувача і .Користувач jведе діалог conv', узгоджений з діалогом conv, якщо існує послідовність моментів часу t0 < t1 < t2 …<tR, така що
Якщо користувачі i і j ведуть узгоджені діалоги, то Зловмисник не в змозі організувати небезпечну атаку і вимушений грати роль нешкідливого супротивника.
Протокол П(1k,{A, В}) є стійким протоколом аутентифікації, що виконується користувачами А і В, якщо обидва користувачаприймають позитивне рішення тоді і тільки тоді, коли вони ведуть узгоджені діалоги, причому імовірність протилежної близька до нуля.
Якщо протокол є стійким, то з існування узгоджених діалогів безпосередньо слідують позитивні рішення користувачів. Довести зворотне твердження, тобто що з позитивних рішень виходить існування узгоджених діалогів, набагато складніше. Отже, метою атаки на протокол є отримання позитивних рішень, коли узгоджених діалогів не існує. Таким чином, коректнішим є наступне визначення стійкості протоколу.
Протокол П(1k,{A, В}) виявляється стійким протоколом аутентифікації, що виконується користувачами А і В, якщо імовірність виграшу Зловмисника дуже мала. Тут виграш Зловмисника означає, що обидва користувача приймають позитивне рішення, хоча між ними немає узгоджених діалогів.
Висновки
Таким чином, в цьому розділі ми визначили такі важливі поняття криптографії, як стійкість шифрсистем, стійкості криптографічних протоколів, причини ії пониження, привели приклад достатньо стійкого криптопротоколу, розглянули математичні моделі джерела повідомлень, ключової множини, шифру і, нарешті, крипторотоколу. Це все було зроблено для того, щоб полегшати формалізування опису протоколів для доказування їхньої стійкості.
Розділ 3.Оцінка стійкості криптографічних протоколів на основі імовірнісних моделей
3.1. Методика оцінки стійкості
Формальний доказ стійкості в рамках обчислювальної моделі складається з трьох етапів.
1. Формальна поведінка учасників протоколу і атакуючого алгоритму: моделювання, як правило, здійснюється за допомогою атакуючої гри, в якій беруть участь атакуючий алгоритм і об'єкт атаки.
2. Формальне визначення стійкості: перемога атакуючого алгоритму в атакуючій грі звичайно виражається через (значущу) ймовірність і оцінку (розумної) тимчасової складності.
3. Формальна демонстрація існування поліноміальної редукції, що зводить атаку до рішення задачі, що важко вирішується, як правило, має вид математичної теореми.
3.2. Приклади доказу стійкості деяких протоколів на основі їх імовірнісних моделей
Аналіз стійкості будемо проводити на основі імовірнісної моделі протоколів з нульовим розголошенням.
Одне з основних завдань криптографії представляє собою двосторонню інтерактивну гру, в якій один учасник (сторона, що доводить) доказує іншому учаснику (стороні, що перевіряє) істинність твердження, не розкриваючи суті доказу. В цьому випадку сторона, що перевіряє не може самостійно оцінити істинність твердження, оскільки йому невідома інформація, яка доступна стороні, що доводить. Ця гра називається протоколом (системою) інтерактивного доказування або ІР-протоколом. Доказування, здійснюване ІР-протоколом,можна назвати «секретним доказуванням». Секретність цього доказу полягає в тому, що по-перше, сторона, що перевіряє, переконавшись в істинності доказуваного твердження, не здатна самостійно повторити доказ, і, по-друге, після завершення протоколу ніхто із сторонніх не здатний зрозуміти жодного повідомлення, якими обмінювалися сторона, що перевіряє і сторони, що доводить.
Уявимо собі, що твердження, яке необхідно довести, не розкриваючи сутності доказу, є рішенням якої-небудь відомої невирішеної математичної задачі. В цьому випадку доказуючи сторона побоюючись плагіату, може побажати приховати технічні деталі доказу від потенційно нечесного рецензента. Для цього вона повинна провести «секретний» доказ, переконавши рецензента (що грає роль сторони, що перевіряє в ІР-протоколі) в коректності висновків, не даючи ніякої додаткової інформації.
У багатьох реальних системах існують набагато більш серйозні підстави для проведення «секретних» доказів. Як правило, ІР-протоколи застосовуються для аутентифікації сутностей. На відміну від звичайних протоколів аутентифікації, в яких користувачі ставлять цифрові підписи, в ІР-протоколі сторона, що доводить не бажає, щоб повідомлення стали доступними кому-небудь, окрім сторони, що перевіряє, і виконує «секретну» аутентифікацію. Крім того, ІР-протоколи часто застосовуються для того, щоб довести, що частина прихованої інформації має певну структуру. Це необхідно в деяких секретних системах (наприклад, при проведенні електронних аукціонів), в яких прихований номер (лот) повинен знаходитися в допустимому діапазоні (наприклад, необхідно довести, що х > у без розкриття значень Ек(х) і Ек(у), що є пропозиціями ціни).
Розглядаючи ІР-протоколи, необхідно вивчити два питання.
Питання 1. Скільки інформації одержить сторона, що перевіряє в ході інтерактивного доказу?
Питання 2. Скільки раундів повинна виконати сторона, що доводить, щоб переконати сторону, що перевіряє?
Ідеальною відповіддю на перше питання був би "аніскільки", або "нуль". ІР-протокол, що володіє такою властивістю, називається протоколом з нульовим розголошуванням або ZК-протоколом (zero-knowledge). Друге питання важливе не тільки для практичних застосувань, але і для теорії обчислювальної складності, оскільки рішення цієї проблеми пов'язане з отриманням нижчої оцінки складності.
Розглянемо обчислювальну модель інтерактивної системи доказу, яку запропонували Голдвассеср, Мікаплі і Раков. Позначимо основну модель протоколу інтерактивного доказу через (Р, V), де Р - сторона, що доводить (prover), а V -сторона, що перевіряє (verifier). Як правило, протокол (Р, V)призначений для перевірки приналежності певного речення мові, заданій над алфавітом {0, 1}.
Хай L- мова над алфавітом {0,1}. Сторони Р і V одержують зразокхL, що є загальними вхідними даними. Доказприналежності зразка позначається як (Р, V)(х). Обидві сторони протоколу пов'язані каналом зв'язку, через який вони обмінюються інформацією.
a1, b1, a2, b2,…, al, bl.
Ця послідовність повідомлень називається стенограмою доказу. У стенограмі доказу дані, що передаються користувачем Р,називаються стенограмою сторони, що доводить. Вони чергуються з даними, що передаються користувачем V,які називаються стенограмою сторони, що перевіряє. Як загальна довжина стенограми доказу l ,так і довжина кожної стенограми |аі|, |bi| (i = 1,2...,l) обмежена поліномом, що залежить від параметра |х|. Доказ приналежності зразка (Р, V)(х)мові Lтакож повинен бути обмежений поліномом, який залежить від об'єму вхідних даних |х| .
Результат роботи протоколу записується у вигляді
(Р, V)(х) { Прийняти, Відхилити}.
Ці два значення означають, що сторона, що перевіряє або підтверджує, або спростовує твердження хL ,висловлене стороною, що доводить Р. Оскільки система (Р, V)є імовірнісною, при кожному х результат (Р, V)(х)є випадковою величиною, залежною від загальних вхідних даних х,закритихвхідних даних (рrivate input) користувача Р і деяких випадкових вхідних даних (random input), загальних для користувачів Р і V. Більш того, елементи стенограми доказу також є випадковими величинами.
Оскільки протокол (Р, V)є двосторонньою грою, природно припустити, що кожна сторона прагне одержати додаткову перевагу. З одного боку, сторона, що доводить, Р повинна бути зацікавлена в результаті (Р, V)(х) Прийняти, навіть якщо хL. Сторона, що доводить, яка керується такою шахрайською стратегією, позначається як Р'. З іншого боку, сторона, що перевіряє V повинна бути зацікавлена в розкритті інформації про закриті вхідні дані гравця Р. Сторона, що перевіряє, яка притримується такої нечесної стратегії позначається як V.
Дамо визначення протоколу інтерактивного доказу.
Хай L - мова, задана над алфавітом {0,1}. IР-протокол (Р,V) називається системою інтерактивного доказу для мови L, якщо
Ргоb[(Р, V)(х) = Прийняти | х --L] e, (3.1)
Ргоb[(Р', V)(х) = Прийняти | х L] d,----------------------------------------------------(3.2)
де числа e і d є константами, що задовольняють умовам
e--, d.
Імовірнісний простір складається зі всіх вхідних значень протоколу (Р, V) і всіх випадкових вхідних даних користувачів Р і V.
Оцінка (3.1) характеризує повноту протоколу (Р,V). Величина e--називається імовірністю повноти протоколу (Р, V). Це означає, що якщо хL,то сторона, що перевіряє, V приймає припущення х з імовірністю, яка не менше величини e.
Оцінка (3.2) характеризує несуперечність протоколу (Р,V). Величина d----називається імовірністю суперечності протоколу (Р,V). Це означає, що якщо хL, то сторона, що перевіряє, V приймає припущення х з імовірністю, що не перевищує величини d.
Оцінку імовірності повноти (відповідно суперечності) можна збільшити (відповідно зменшити), наблизивши її скільки завгодно близько до одиниці (відповідно до нуля), послідовно і незалежно повторюючи протокол (Р,V) поліноміально обмежену кількість раз (залежно від розміру вхідного речення). В цьому випадку сторона, що перевіряє, V ухвалює рішення шляхом голосування.
Розглянемо введені поняття на прикладі протоколу інтерактивного доказу приналежності підгрупі (Протокол 3.1) .
Загальні вхідні дані:
1. ѓ: однонаправлена функція, визначена в групі Znі задовольняюча гомоморфній умові:
х, у Zn : ѓ (х + у) = ѓ (х) ѓ (у).
2. Х = ѓ (z) для деякого z Zn .
Закриті вхідні дані сторони А:
z < n.
Висновок сторони Б:
Х -- ѓ--(1), тобто елемент Хпороджується елементом ѓ (1).
Наступні кроки виконуються m раз.
1. А генерує число k--Zn, знаходить число Сommit ѓ(k) і посилає його Б.
2. Б генерує число Challenge {0,1} і посилає його А.
3. А обчислює число Response і посилає його Б.
4. Б перевіряє значення ѓ (Response)?
Якщо перевірка завершується невдало, Б посилає відмову і завершує роботу протоколу.
Б приймає доказ.
У цьому протоколі А є стороною, що доводить,а Б стороною, що перевіряє. Загальними вхідними даними А і Б є число X = ѓ (z), де функція ѓ є однонаправленою і гомоморфною функцією, заданою над групою Zn. Твердження про приналежність формулюється А і виглядає таким чином: X ѓ (x) .
Закритими даними А є елемент z Zn- прообраз елементу X при однонаправленому і гомоморфному відображенні ѓ.
В даному протоколі обидві сторони вступають в контакт т разів і створюють наступну стенограму доказу.
Протокол виводить результат Прийняти, якщо кожна перевірка, що виконується Б, завершується успішно. Інакше результатом є слово Відхилити. Описаний протокол є повним. Інакше кажучи, якщо А знає прообраз z і слідує інструкціям, то Б завжди відповідатиме: Прийняти.
Повнота.
Оцінка імовірності повноти протоколу виконується, причому e = 1, оскільки відповіді А завжди успішно проходять перевірку у Б, тобто
ѓ (Response)=
при будь-якому виборі випадкового числа Сhallenge {0,1}.
Несуперечливість.
Протокол є несуперечливим.
Оцінимо імовірність суперечності d.
Результат перевірки, що виконується Б на етапі 4, залежить від випадкового числа Сhallenge після отримання числа Соmmit від А. Перевірка завершується успішно в двох випадках.
Варіант 1: Challenge = 0: Б бачить, що А відомий прообраз числа Commit.
Варіант 2: Challenge = 1: Б бачить число
прообраз(Х)= Response - прообраз(Commit)(mod n).
Оскільки сторона А не може передбачити випадковий вибір Б після отримання передачі, якщо число, що передається не дорівнює одиниці, вона повинна знати прообраз(Commit), а значить, і прообраз(Х).
Якщо А не знає число прообраз(Х), вона може зшахраювати, спробувавши вгадати випадковий біт оклику передвідправкою своєї передачі. У «нечесному» доказі А обчислює значення, що передається таким чином.
* Вибирає випадкове число Response --Zn.
* Вгадує число Challenge.
* Обчислює число Commit
Очевидно, що на кожному кроці Б може відкинути помилковий доказ з імовірністю 1/2. Отже, імовірність суперечності (тобто імовірність успішного обману) рівна d = 1/2. Якщо протягом m ітерацій Б жодного разу не відкинув доказ, імовірність успішного обману не перевершує 2-m. Успішний обман стане практично неможливим, якщо число m достатньо велике, тобто число 2-m є дуже малим.
Якщо функція ѓ є гомоморфізмом, то ѓ(х) = ѓ(1)х для всіх х ?Zn. Отже, в протоколі А доводить своє знання дискретного логарифма числа X по підставі ѓ(1). Цей протокол називається «доказуванням приналежності підгрупі», оскільки ця назва має більш загальний характер. Слід підкреслити, що огd[ѓ(1)] є секретним дільником числа n, тобто в загальному випадку елемент ѓ(1) не породжує групу що складається з п елементів. Як правило, Б не може безпосередньо перевірити приналежність елемента підгрупі, не вдаючись до допомоги А.
Рішення задачі про приналежність елементу підгрупі є важким завданням. Приведемо ще декілька свідоцтв, підтверджуючих сказане. Відзначимо, що, хоча множина
Ln = ѓ(x) = ѓ(1)x
є циклічною групою (оскільки вона породжується елементом ѓ(1)), Б нелегко перевірити умову # Ln ? n. Для цього він повинен розкласти число п на прості множники. Б може відповісти ТАК, не вступаючи в контакт з А, тільки якщо #Ln = п (оскільки число ѓ(1) повинно породжувати всі п елементів множини Ln). Таким чином, завдання про приналежність елементу підгрупі зводиться до факторизації великого цілого числа. Отже, щоб затруднити рішення цієї задачі, ціле число п в протоколі повинне бути достатньо великим. Саме з цієї причини параметр безпеки в протоколі повинен мати довжину log n.
Нульове розголошування.
Припустимо, що на Питання 1 існує ідеальна відповідь (Р, V) - протокол з нульовим розголошуванням, тобто користувач V переконується у коректності твердження користувача Р, не дізнавшись нічого нового про закриті вхідні дані.
Для того, щоб протокол (Р, V) володів цією властивістю, необхідно обмежити обчислювальну потужність користувача V поліномом, що залежить від розміру його вхідної інформації. Очевидно, що без цього обмеження неможна гарантувати нульове розголошування, оскільки користувач V, що володіє необмеженими обчислювальними ресурсами може самостійно розкрити секретні вхідні дані користувача Р.
Для будь-якого речення х L виконання протоколу (Р, V)(х)приводить не тільки до виведення результату Прийняти, але і породжує стенограму доказу, в якому чергуються елементи стенограм сторони, що доводить і сторони, що перевіряє. Елементи стенограми доказу є випадковими величинами, що залежать від всіх вхідних даних, включаючи випадкові вхідні дані протоколу (Р, V).
Очевидно, що доказ (Р, V)(х)розкриває будь-яку інформацію про закриті вхідні дані користувача Р тільки в тому випадку, якщо стенограма доказу допускає виток інформації.
Проте, якщо випадкові величини в стенограмі доказу є рівномірно розподіленими по відповідному імовірнісному простору і не залежать від загальних вхідних даних, то безглуздо стверджувати, ніби вони допускають виток інформації. Вважатимемо, що у цій ситуації (тобто коли стенограма доказу складається з рівномірно розподілених випадкових величин, не залежних від загальних вхідних даних) сторона, що доводить спілкується зі стороною, що перевіряє, на мові, що не володіє властивістю надмірності, тобто що має найбільшу ентропію. Отже, не має значення, наскільки розумним(або могутнім) є користувач, що перевіряє. Навіть вивчаючи цю мову дуже довгий час, він не зможе витягнути ніякої додаткової інформації.
Доведемо тепер, що протокол, який ми вище розглянули є ідеальним ZК-протоколом.
Стенограма доказу, створена при виконанні протоколу (А, Б)(Х), виглядає таким чином.
Очевидно, оскільки сторона А витягує числа kiз рівномірно розподіленої генеральної сукупності, величини Commitі також рівномірно розподілені по простору значень функції ѓ і не залежать від загальних вхідних даних Х.
* Challengei {0,1}.
Сторона Б повинна витягувати біт оклику із генеральної сукупності рівномірно розподілених величин, але цю вимогу можна зняти.
* Responsei = ki+ zChallenge(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. А генерує число kZn, знаходить число Со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 і чекає відгуку.
Це рівняння демонструє, що при заданих числах Commit і у існують log2 р різних значень Response, що відповідають log2 р різним значенням Challenge. При невеликій величині log2 р найкращою стратегією обчислення правильної відповіді по величині Commit*yChallenge(mod p) є вгадування числа Challenge перед фіксацією числа Commit.
Очевидно, що імовірність суперечності при правильному вгадуванні на кожної ітерації рівна 1/1оg2 р, тобто імовірність суперечності протоколу, що складається з одного раунду, рівна д = 1/ 1оg2 р.
Оскільки імовірність суперечності протоколу ідентифікації Шнорра, що складається з одного раунду, менше, ніж у попереднього протоколу, його ефективність вище. Дійсно в попередньому протоколі для зниження імовірності помилки до дуже малої величини д=2-m необхідно виконати т ітерацій, в той час, коли в протоколі ідентифікації Шнорра для цього достатньо l = раундів.
При р 21024i 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 генерує число kZ(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и, Б виконує наступну верифікацию.
Таким чином, незалежно від довжини оклику, імовірність суперечності рівна всього лише д = 1/2.
Оскільки стороні Б невідома факторизація числа N, вона не може самостійно вирішити завдання про приналежність елемента підгрупі, тобто Б може запобігти шахрайству А тільки з імовірністю 1/2. Збільшення довжини оклику нічого не дає.
Використовуючи нетривіальний квадратний корінь одиниці по модулю N, A досягає максимальної імовірності угадування, що дорівнює д = 1/2. В тривіальному випадку Я = - 1 (інший тривіальний випадок Я = 1, в атаці не використовується) сторона Б може досягти більшої переконливості: або Y,або - Y належить підгрупі g. Проте, оскільки сторона А знає факторизацію числа N, а Б - ні, використовуючи китайську теорему про залишки, вона також може приховати число gk використовуючи інший множник малого порядку, наприклад, третього. Таким чином, імовірність суперечності не може бути дуже малою величиною.
Отже доказ приналежності елемента підгрупі з нульовим розголошенням складається із логарифмічного числа раундів.
Висновки
В цьому розділі були розглянуті імовірнісні моделі протоколів з нульовим розголошенням і на їх основі визначені стійкість цих крипторотоколів. Можна сказати, що задача І L(приналежності елемента підгрупі) є такою, що легко вирішується (відповідно такою, що важко вирішується), якщо існує (відповідно не існує) додаткова інформація, що полегшує роботу алгоритму. В процесі аналізу даних протоколів ми зробили висновок, що якщо стороні, що доводить відомий розклад складеного числа (N) на прості множники, то незалежно від довжини оклику (Challenge), імовірність суперечності рівна всього лише д = 1/2. Тобто для зменшення цієї імовірності в будь-якому випадку потрібно збільшити кількість раундів протоколу.
Розділ 4. Нормативно-правова база розробки, впровадження і експлуатації захищених систем
4.1. Структура нормативної бази
Структуру законодавства, що регулює відносини із захисту інформації утворюють Конституція України, загальні і спеціальні нормативно-правові акти.
Основний Закон нашої держави Конституція України очолює систему законодавства. Вона є фундаментом для інших нормативно-правових актів, в яких деталізуються її положення. Конституція України визначає право громадян на інформацію, особливості використання інформації з обмеженим доступом.
До загальних нормативно-правових актів належать:
Закон України «Про державну таємницю». Цей Закон регулює суспільні відносини, пов'язані з віднесенням інформації до державної таємниці, засекречуванням, розсекречуванням її матеріальних носіїв, порядком доступу до державної таємниці та охороною державної таємниці з метою захисту національної безпеки України.
Закон України «Про інформацію». Він дає визначення інформації, встановлює загальні правові основи одержання, використання, поширення та зберігання інформації, закріплює право особи на інформацію в усіх сферах суспільного і державного життя України, а також систему інформації, її джерела, визначає статус учасників інформаційних відносин, регулює доступ до інформації та забезпечує її охорону, захищає особу та суспільство від неправдивої інформації.
Закон України «Про науково-технічну інформацію» визначає основи державної політики в галузі науково-технічної інформації, порядок її формування і реалізації в інтересах науково-технічного, економічного і соціального прогресу країни, регулює правові і економічні відносини громадян, юридичних осіб, держави, що виникають при створенні, одержанні, використанні та поширенні науково-технічної інформації.