Сіра Т. О.
Національний авіаційний університет
БЕЗПОСЕРЕДНІЙ ТА АРБІТРАЖНИЙ ЦИФРОВИЙ ПІДПИС
Для реалізації ідеї цифрового підпису
було запропоновано безліч підходів, які можна розбити на дві категорії: з
безпосередньою та арбітражною логікою.
Безпосередній цифровий підпис
Безпосередній цифровий підпис
передбачає участь лише двох сторін, що обмінюються даними (джерело, адресат). Передбачається, що адресат знає
відкритий ключ джерела. Цифровий підпис може бути сформований за допомогою
шифрування всього повідомлення особистим ключем відправника або за допомогою
шифрування хеш-коду повідомлення особистим ключем відправника.
Після цього конфіденційність може бути
забезпечена шифруванням усього повідомлення разом з підписом - або за допомогою
відкритого ключа одержувача (шифрування з відкритим ключем), або за допомогою
загального секретного ключа (традиційне шифрування). Важливо спочатку виконати
функцію підпису і тільки потім - зовнішню функцію, що забезпечує
конфіденційність. У разі виникнення конфлікту деяка третя сторона повинна
розглянути повідомлення і підпис. Якщо обчислювати підпис для шифрованого
повідомлення, то третій стороні, щоб прочитати оригінальне повідомлення,
потрібно доступ до ключа дешифрування. Якщо ж підпис є внутрішньою операцією,
одержувач зможе зберігати повідомлення у вигляді відкритого тексту і підпис для
можливого використання в подальшому в процесі вирішення конфлікту.
Усі схеми що пропонувалися досі
безпосереднього застосування цифрового підпису мають спільне слабке місце:
придатність всієї схеми залежить від захищеності особистого ключа відправника.
Якщо відправник згодом вирішить заперечувати відправку конкретного
повідомлення, він може заявити, що особистий ключ був загублений або вкрадений
і тому хтось інший за допомогою цього ключа фальсифікував підпис. Для того щоб
запобігти або принаймні перешкодити застосуванню такого підступного прийому,
можна вдатися до адміністративних засобів контролю, які мають відношення до
захисту особистих ключів, але загроза при цьому все одно повністю не
усувається. Однією з можливостей тут є вимога, щоб кожне підписане повідомлення
включало мітку дати і часу, а також вимога негайно повідомляти про будь-які
випадки компрометації ключа до уповноваженого центру.
Інша загроза полягає в тому, що
особистий ключ може бути дійсно викрадений у X в момент часу Т. Після цього
противник отримує можливість відіслати повідомлення з підписом X, позначений
часом більш раннім або рівним Т.
Арбітражний цифровий підпис
Проблеми, що виникають при використанні
безпосередніх цифрових підписів, можуть вирішуватися за допомогою використання
арбітра (третьої сторони).
Як і для безпосередніх цифрових
підписів, є безліч схем застосування арбітражних цифрових підписів. Кожне
підписане повідомлення відправника X адресату У спочатку потрапляє до арбітра
А, який піддає повідомлення і підпис до нього тестуванню по ряду критеріїв, щоб
перевірити достовірність джерела і вмісту повідомлення. Після цього
повідомлення датується і надсилається У з зазначенням того, що це повідомлення
було перевірено і задовольнило критеріям арбітра. Наявність А вирішує проблему,
що виникає в схемах використання безпосередніх цифрових підписів, коли X може
відмовитися від авторства свого повідомлення.
В таких схемах арбітр грає виключно
важливу роль, і всі хто бере участь в обміні даними сторони повинні мати дуже
високий ступінь довіри до механізму арбітражного пристрою. У табл. 1
представлено кілька прикладів схем арбітражних цифрових підписів. У першому
прикладі використовується традиційне шифрування. Припускається, що відправник X
і арбітр А використовують загальний секретний ключ Кха, а А і В - загальний
секретний ключ Кау. Відправник X створює повідомлення М і обчислює значення
хешування Н (М). Потім X передає повідомлення з доданим до нього підписом
арбітру А. Підпис складається з ідентифікатора X і значення хешування, і все це
шифрується з використанням Кха. Арбітр А дешифрує підпис і перевіряє значення
хешування, щоб переконатися в достовірності повідомлення. Потім А передає
повідомлення адресату У в зашифрованому за допомогою Кау вигляді. Це
повідомлення включає ІDх, оригінальне повідомлення X і мітку дати / часу.
Одержувач У може дешифрувати його, щоб відновити повідомлення і підпис. Мітка
дати / часу інформує У, що це повідомлення отримано своєчасно і не є
відтворенням. Тепер У може зберегти М і підпис. У разі спору У, який заявляє,
що отримав М від X, відправить А повідомлення наступного змісту:
ЕКау[ІDх
|| М || ЕКax[IDх
|| Н(М)]].
Арбітр використовує Кау, щоб відновити
IDХ, М і підпис, а потім звертається до допомоги Кха, щоб дешифрувати підпис і
перевірити хеш-код. У цій схемі У не може безпосередньо перевірити підпис X -
для нього підпис присутній виключно в якості елемента, до якого можна буде
звернутися у разі виникнення конфлікту для його вирішення. Одержувач У вважає
повідомлення від X справжнім, оскільки воно прийшло від А. Цей сценарій
передбачає, що обидві сторони повинні мати дуже високий ступінь довіри до А.
· X повинен вірити, що А не розголосить Кха і не буде генерувати фальшиві
підписи виду ЕКxa [IDх | | Н (М)].
· У повинен вірити, що А буде посилати ЕКay [IDх | | М | | ЕКха [IDх | | Н
(М)] | | Т] лише в тих випадках, коли значення хешування виявляється правильним
і підпис дійсно була виконана відправником X.
· Обидві сторони повинні бути впевнені, що А буде чесно вирішувати конфлікти.
· Якщо арбітр дійсно буде відповідати таким очікуванням, то X може бути
впевнений, що ніхто не зможе фальсифікувати його підпис, а У може бути впевнений,
що X не зможе дезавуювати свою підпис.
Попередній сценарій передбачає, що А
може прочитати повідомлення від X до У, і насправді те ж саме може зробити
будь-перехоплювач повідомлень. У табл. 1.б показаний сценарій, в якому, як і в
попередньому сценарії, забезпечується арбітраж, але, крім того, гарантується і
конфіденційність. В даному випадку передбачається, що X і У використовують
загальний секретний ключ Кху. Тепер X передає арбітру А ідентифікатор,
примірник повідомлення, зашифрований за допомогою Кху, і підпис. Підпис
складається з ідентифікатора і значення хешування шифрованого повідомлення і
все це шифрується з використанням Кха. Як і колись, А дешифрує підпис і
перевіряє значення хеширування, щоб перевірити справжність отриманого
повідомлення. В даному випадку А працює тільки з шифрованого версією
повідомлення, і тому не має можливості прочитати його. Після перевірки А
передає адресату У те, що було отримано від X, додавши мітку дати / часу і
зашифрувавши все це за допомогою Кау.
Таблиця 1. Методи
використання арбітражного цифрового підпису.
(а) Традиційне шифрування, арбітр може бачити
повідомлення |
(1) X è A: M | | Ekax [IDx |
| H(M)] (2) X è A: Ekay [IDx | | M |
| Ekax [IDx | | H(M)] | | T]
|
(б) Традиційне шифрування, арбітр не може бачити
повідомлення |
(1) X è A: IDx | | Ekax[M] |
| Ekax [IDx | | H(Ekxy [M])] (2) X è A: Ekax [IDx | | Ekax[M]
| | Ekax [IDx | | H(Ekxy [M])] | | T] |
(в) Шифрування з відкритим ключем, арбітр не може
бачити повідомлення |
(1) X è A: IDx | | Ekrx[IDx |
| Ekuy (Ekrx [M])]
(2) X è A: Ekra [IDx | | Ekuy
(Ekrx [M]) | | T] |
Позначення: Х – відправник, У –
отримувач, А – арбітр, М – повідомлення
Не маючи можливості прочитати
повідомлення, арбітр все ж виявляється здатним запобігти обман і з боку X, і з
боку У. Проблемами, які залишаються тут від першого сценарію, є змова арбітра з
відправником з метою заперечення факту відправки підписаного повідомлення, або
змова арбітра з одержувачем з метою фальсифікації підпису відправника.
Всі щойно згадані складнощі можуть бути
усунені за допомогою схеми з відкритим ключем, один з варіантів якої показаний
в табл .1 (в). У цьому випадку X двічі шифрує повідомлення М - спочатку з
допомогою особистого ключа X (ключа КRх), а потім за допомогою відкритого ключа
У (ключа КRу). Це буде підписана секретна версія повідомлення. Дане підписане
повідомлення поряд з ідентифікатором X шифрується знову за допомогою КRх і разом
з IDх надсилається А. Внутрішнє, двічі шифроване повідомлення приховується від
арбітра (і будь-якої іншої особи, крім У). Однак можна зняти зовнішнє
шифрування і переконатися, що повідомлення напевно прийшло від X (оскільки
тільки X має КRх). Арбітр А повинен переконатися в тому, що пара особистий /
відкритий ключі X ще дійсна і, якщо це так, перевірити саме повідомлення. Потім
А передає повідомлення У, шифруючи його за допомогою КRa. Повідомлення включає
IDх, двічі шифроване повідомлення та мітку дати / часу.
Ця схема має ряд переваг у порівнянні з
двома попередніми. По-перше, в спільному розпорядженні сторін до початку обміну
даними немає ніякої інформації, що запобігає можливість змови з метою обману.
По-друге, некоректно датоване повідомлення не може бути передано, навіть якщо
КRх скомпрометований, якщо тільки не скомпрометований КRa. Нарешті вміст
повідомлення від X до У є секретом для А, як і для всіх інших.
Список використаної літератури
1.
Н. Смарт
Криптография, Москва: Техносфера, 2005. – 528 с.
2.
Коробейников А. Г, Ю.А.Гатчин. Математические основы
криптологии.
Учебное пособие.
СПб: СПб ГУ ИТМО, 2004. – 106 с.