КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Вказівки до роботи ⇐ ПредыдущаяСтр 3 из 3 Лабораторна робота №1.7.2 Електронний цифровий підпис. Ціль роботи Ознайомитися зі схемами цифрового підпису (ЦП) й одержати навички створення й перевірки дійсності ЦП. Вказівки до роботи Протягом багатьох століть при веденні ділової переписки, заключенні контрактів і оформленні будь-яких інших важливих паперів підпис відповідальної особи або виконавця був неодмінною умовою визнання його статусу або незаперечним свідченням його важливості. Подібний акт переслідував дві мети:
Виконання даних вимог ґрунтується на наступних властивостях підпису:
З переходом до безпаперових способів передачі й зберігання даних, а також з розвитком систем електронного переказу коштів, в основі яких – електронний аналог паперового платіжного доручення, проблема віртуального підтвердження автентичності документа придбала особливу гостроту. Розвиток будь-яких подібних систем тепер немислимий без існування електронних підписів під електронними документами. Однак застосування й широке поширення електронно-цифрових підписів (ЕЦП) спричинило цілий ряд правових проблем. Так, ЕЦП може застосовуватися на основі домовленостей усередині якої-небудь групи користувачів системи передачі даних, і відповідно до домовленості усередині даної групи ЕЦП повинен мати юридичну чинність. Але чи буде електронний підпис мати доказову силу в суді, наприклад, при заперечуванні факту передачі платіжного доручення? Схема 1 Дана схема припускає шифрування електронного документа (ЕД) на основі симетричних алгоритмів і передбачає наявність у системі третьої особи (арбітра), що користується довірою учасників обміну підписаними подібним чином електронними документами. Взаємодія користувачів даною системою проводиться за наступною схемою: Рис. 1. Основні методи побудови схем ЕЦП. Схема 1.
Учасник A зашифровує повідомлення своїм секретним ключем KA, знання якого розділено з арбітром (С на рис. 1), потім шифроване повідомлення передається арбітрові зі вказівкою адресата даного повідомлення (інформація, що ідентифікує адресата, передається також у зашифрованому вигляді). Арбітр розшифровує отримане повідомлення ключем КА, робить необхідні перевірки й потім зашифровує його секретним ключем учасника B (KB). Далі зашифроване повідомлення надсилає учасникові B разом з інформацією, що воно прийшло від учасника A. Учасник B розшифровує дане повідомлення й переконується в тому, що відправником є учасник A. Авторизацією документа в даній схемі вважається сам факт шифрування електронного документа (ЕД) секретним ключем і передача зашифрованого ЕД арбітрові. Основною перевагою цієї схеми є наявність третьої сторони, що виключає які-небудь спірні питання між учасниками інформаційного обміну, тобто в цьому випадку не потрібно додаткової системи арбітражу ЕЦП. Недоліком схеми є так само наявність третьої сторони й використання симетричних алгоритмів шифрування. На практиці ця схема не одержала широкого поширення. Схема 2 Фактом підписання документа в даній схемі є шифрування документа секретним ключем його відправника. Тут використовуються асиметричні алгоритми шифрування. Рис. 2. Основні методи побудови схем ЕЦП. Схема 2. Друга схема використовується досить рідко внаслідок того, що довжина ЕД може виявитися дуже великою (шифрування асиметричним алгоритмом може виявитися неефективним за часом), але в цьому випадку в принципі не потрібна наявність третьої сторони, хоча вона й може виступати в ролі сертифікаційного органа відкритих ключів користувача. Схема 3 Найпоширеніша схема ЕЦП використовує шифрування остаточного результату обробки ЕД хэш-функцією за допомогою асиметричного алгоритму. Структурна схема такого варіанта побудови ЕЦП представлена на рис. 3. Рис.3. Основні методи побудови схем ЕЦП. Схема 3. Процес генерації ЕЦП відбувається в такий спосіб. Учасник A обчислює хеш-код від ЕД. Отриманий хеш-код проходить процедуру перетворення з використанням свого секретного ключа. Після чого отримане значення (яке і є ЕЦП) разом з ЕД відправляється учасникові B. Учасник B повинен одержати ЕД з ЕЦП і сертифікований відкритий ключ учасника A, а потім зробити розшифрування на ньому ЕЦП, сам ЕД зазнає операції хешування, після чого результати порівнюються, і якщо вони збігаються, то ЕЦП визнається дійсним, а якщо ні, то неправильним. У цей час застосовуються кілька алгоритмів цифрового підпису:
Електронний підпис RSA Для здійснення підпису повідомлення m=m1m2m3..mn необхідно обчислити хеш-функцію y=h(m1m2m3..mn), яка ставить у відповідність повідомленню m число y. На наступному кроці досить забезпечити підписом тільки число y, і цей підпис буде відноситися до всього повідомлення m. Далі за алгоритмом RSA обчислюються ключі (e,n) і (d,n). Потім обчислюється (d цього разу секретний ступінь). Число s це і є цифровий підпис. Він просто додається до повідомлення й виходить підписане повідомлення <m,s>. Тепер кожний, хто знає параметри того, що підписав повідомлення ( тобто числа e і n), може перевірити дійсність підпису. Для цього необхідно перевірити виконання рівності . Алгоритм Ель-Гамаля Для генерації пари ключів спочатку вибирається просте число p і два випадкові числа g і x. Оба ці числа повинні бути менше p. Щоб підписати повідомлення М, спочатку вибирається випадкове число k, взаємно просте з p-1. Потім обчислюється і за допомогою розширеного алгоритму Евклида знаходиться b у наступному рівнянні: Підписом є пара чисел: a і b. Випадкове значення k повинне зберігатися в секреті. Для перевірки підпису потрібно переконатися, що
ПРИКЛАД (алгоритм Ель-Гамаля) 1)Нехай загальні параметри для деякого співтовариства користувачів p=23 і g=5. Нехай секретний ключ x=7. Обчислимо відкритий ключ y: 2) Нехай потрібно поставити підпис на повідомлення m=baaqab Перейдемо до обчислення підпису по алгоритму. 3) Насамперед, обчислюється хеш-функция. Нехай її значення h(m)=h(baaqab)=M=3. 4)Потім генерується випадкове число k, наприклад k=5. Обчислюємо по формулах 5) І по розширеному алгоритму Евклида знаходимо b 6)3=(7*20+5*b) mod 22 Таке b існує, тому що НОД(k,p-1)=1. Одержали b=21. 7)Одержали підписане повідомлення у вигляді <baaqab,20,21> Підписане повідомлення передається.
|