Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОСНОВИ ЗАХИСТУ ІНФОРМАЦІЇ.doc
Скачиваний:
55
Добавлен:
21.12.2018
Размер:
1.26 Mб
Скачать

6.4. Цифровий підпис

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

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

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

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

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

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

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

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

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

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

RSA, для шифрування може бути використаний чи відкритий, чи закритий ключ. Зашифруйте документ своїм закритим ключем, і ви одержите надійний цифровий підпис. В інших випадках - прикла­дом є DSA - для цифрових підписів використовується окремий ал­горитм, що неможливо використовувати для шифрування. Ця ідея вперше була винайдена Діффі і Хеллманом. Цей протокол набагато краще попереднього. Посередник не потрібний ні для підпису доку­ментів, ні для її перевірки. Такий підпис відповідає усім вимогам:

  1. Цей підпис достовірний.

  2. Цей підпис непідроблений.

  3. Цей підпис не можна використовувати повторно. Підпис є фу­нкцією документа і не може бути перенесений в інший документ.

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

  5. Від підпису неможливо відмовитися. Одержувачу не потрібно допомога відправника при перевірці підпису.

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

Підпис документа $а допомогою криптографії з відкритими ключами й однонапраелених хеш-функцій. На практиці алгоритми з відкритими ключами часто недостатньо ефективні для підпису ве­ликих документів. Для економії часу протоколи цифрового підпису нерідко використовують разом з односпрямованими хеш-фуикціями. Відправник підписує не документ, а значення хеш-функції для дано­го документа. У цьому протоколі односпрямована хеш-функція й алгоригм цифрового підпису узгоджуються заздалегідь.

Швидкість помітно зростає, а імовірність одержати для двох різ­них документів однакове 160-бітне значення хеш-функції складає тільки один шанс із 2,6°. Зазначимо, що повинна використовуватися тільки односпрямована хеш-функція, інакше створити різні докуме­нти з тим самим значенням хеш-функції неважко, і підпис одного документа приведе до помилкового підпису відразу багатьох доку­ментів.

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

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

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

Процедура ефекгивної генерації електронного підпису проілюст­рована на рис.6.16а.

Перевірка ефективно згенерованого електронного підпису може бути реалізована способом, зображеним на рис.6.166.

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

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

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