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

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

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

Добавлен: 04.05.2024

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

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

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

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

План

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

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

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

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

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

6 Типи організації зв’язків у криптографічних протоколах

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

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

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

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

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

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

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

Крім того, у протоколів є й інші характеристики:

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

Учасник

Роль

Аліса

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

Боб

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

Керол

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

Дейв

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

Єва

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

Мелорі

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

Трент

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

Уолте

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

Пеггі

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

Віктор

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Всім протоколам з посередником властива «уроджена» затримка.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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