Файл: Опорный конспект.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 05.06.2024

Просмотров: 80

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Криптографічні протоколи

1 Поняття протоколу

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

Протоколом називають послідовність дій, що виконуються двома й більше

сторонами, спроектовану для розв’язання деякої задачі.

Слова «послідовність дій» означають, що протокол виконується послідовно, від

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

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

протоколу потрібно принаймні дві людини. Виконати протокол поодинці неможливо.

Нарешті слова «спроектована для рішення деякої задачі» означають, що протокол

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

1Кожен учасник протоколу повинен знати протокол і всю послідовність його

дій.

2Кожен учасник протоколу повинен погодитися додержуватися протоколу.

3Протокол повинен бути недвозначним – кожна дія повинна бути добре визначена так, щоб не виникало ніякого непорозуміння.

4Протокол повинен бути повним – у ньому повинні бути зазначені точні дії в будь-якій можливій ситуації.

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

Криптографічним протоколом називають протокол, у якому використовується

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

До криптографічного протоколу належить деякий криптографічний алгоритм; однак, як правило, протоколи призначені не тільки для забезпечення таємності. Так учасникам протоколу може знадобитися:

розділити на частини свої секрети для розрахунку будь-якого значення;

спільно згенерувати випадкову послідовність;

упевнитися в істинності один одного;

одночасно підписати контракт.

Ідея використання в протоколі криптографії полягає в запобіганні або виявленні

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

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

51


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

2 Призначення та учасники протоколів

У повсякденному житті неформальні протоколи використовуються практично всюди:

для замовлення товарів по телефону;

при грі в покер;

при голосуванні на виборах і т.п.

Люди не замислюються над цими протоколами. Протоколи еволюціонували протягом тривалого часу, усі знають, як ними користуватися і вони працюють досить надійно.

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

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

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

Крім формалізації дій, протоколи дозволяють відокремити процес розв’язання

задачі від механізму рішення.

3 Учасники протоколів

Для полегшення демонстрації роботи протоколів, як правило, беруть участь декілька учасників (табл. 1). Основні діючі особи – Аліса (Alice) і Боб (Bob). Вони виконують всі загальноприйняті двосторонні протоколи. Як правило, всі протоколи ініціює Аліса, а Боб відповідає. Якщо протокол вимагає участі третьої або четвертої сторін, у гру вступають Керол (Carol) і Дейв (Dave). Інші учасники відіграють спеціальні допоміжні ролі; вони виходять на сцену за потреби.

Таблиця 1 – Діючі особи протоколів

52

Учасник

Роль

Аліса

Перший учасник всіх протоколів

Боб

Другий учасник всіх протоколів

Керол

Учасник у трьох- і чотирибічних

 

протоколах

Дейв

Учасник у чотирибічних протоколах

Єва

Перехоплювач повідомлень

Мелорі

Зловмисний активний зломщик

Трент

Довірений посередник

Уолте

Наглядач, який стереже Алісу й Боба

Пеггі

Претендент, намагається довести

 

щось

Віктор

Верифікатор, перевіряє Пеггі

53


4 Типи протоколів

Розрізняють три основні типи протоколів (рис. 1):

протокол з посередником;

протокол з арбітром;

самодостатні протоколи.

Рисунок 1 - Типи протоколів

Протоколи з посередником

Посередником називають незацікавлену третю сторону, якій довірено довести

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

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

виконання протоколу, так і будь-який учасник протоколу.

Слово «довірене» означає, що всі учасники протоколу сприймають слова

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

Уреальному житті посередниками часто є адвокати. Наприклад, Аліса продає незнайомому Бобу автомобіль. Боб хоче заплатити чеком, але Аліса не має можливості перевірити платоспроможність чека. Тому перш ніж передати право власності Бобу, Аліса хоче одержати гроші по чеку. Боб вірить Алісі нітрохи не більше, ніж вона йому і не хоче передавати чек, не діставши права власності. Участь адвоката у цій справі влаштовує обидві сторони. Його допомога дозволяє Алісі й Бобу виконати наступний протокол, що гарантує, що вони не зможуть ошукати один одного:

1 Аліса передає право власності адвокату.

2 Боб передає чек Алісі.

3 Аліса депонує чек.

4 Через точно заданий період, необхідний для оплати чека, адвокат передає право власності Бобу. Якщо протягом певного часу чек не буде оплачено, Аліса доводить цей факт адвокату, і Боб повертає право власності Алісі.

Уцьому протоколі Аліса вірить, що до сплати чека адвокат не передасть право власності Бобу та поверне право власності Алісі, якщо чек не буде сплачено. Боб вірить, що поки чек не буде оплачений, право власності залишиться в адвоката, і негайно по оплаті чека він передасть право власності Бобу. Адвоката не цікавить

54

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

У цьому прикладі адвокат відіграє роль посередника.

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

1Боб виписує чек і передає його в банк.

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

3Аліса передає право власності Бобу, а Боб передає Алісі гарантований

чек.

4Аліса депонує чек.

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

Схему протоколу з посередником можна перенести і на світ комп’ютерів. Однак з комп’ютерними посередниками існує ряд проблем.

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

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

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

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

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

У протоколах, що використовують довірену особу, роль посередника виконує Трент.

Протоколи з арбітром

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

протокол без посередника, який виконується в тих випадках, коли сторони мають намір виконувати протокол;

протокол з посередником, який виконується тільки у виняткових

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

Арбітр, як і посередник, являє собою незацікавлену, довірену третю сторону

протоколу. На відміну від посередника він не обов’язково бере участь у виконанні кожного протоколу. Арбітр запрошується тільки для перевірки чесності виконання протоколу.

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

Протокол підписання контракту можна формалізувати в такий спосіб:

55


Підпротокол без посередника (виконується завжди):

1Аліса й Боб погоджуються з умовами контракту.

2Аліса підписує контракт.

3Боб підписує контракт.

Підпротокол з використанням арбітра (виконується тільки з появою

розбіжностей):

1Аліса й Боб з’являються перед судом.

2Аліса наводить свої докази.

3Боб наводить свої докази.

4Спираючись на докази, суддя виносить вирок.

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

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

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

Самодостатні протоколи

Самодостатні протоколи (self-enforcing) - кращий тип протоколів. Чесність сторін гарантується самим протоколом. Для виконання протоколу не потрібний посередник, а для дозволу розбіжностей - арбітр. Відсутність суперечок забезпечує сама конструкція протоколу. Якщо одна зі сторін спробує схитрувати, інша сторона негайно виявить обман, і виконання протоколу припиниться. Не відбудеться нічого з того, на що міг би сподіватися ошуканець.

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

5 Атаки на протоколи

Криптографічні атаки можуть бути спрямовані на:

криптографічні алгоритми, які використовуються в протоколах;

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

самі протоколи.

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

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

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

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

56


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

стандарту мережі.

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

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

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

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

протоколу.

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

6 Типи організації зв’язків у криптографічних протоколах Організація зв’язку за допомогою симетричної криптографії

Яким чином дві сторони можуть обмінюватися секретною інформацією? Звичайно ж, шифруючи інформацію. Подивимося, що відбудеться, якщо Аліса перешле Бобу шифроване повідомлення.

1Аліса й Боб вибирають криптосистему.

2Аліса й Боб вибирають ключ.

3Аліса створює шифротекст повідомлення, використовуючи алгоритм шифрування й ключ.

4Аліса посилає шифротекст Бобу.

5Боб, знаючи алгоритм і ключ, розшифровує шифротекст.

Розглянемо можливі варіанти атак на дану схему організації зв’язку.

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

57