Електронний цифровий підпис
Доклад - Компьютеры, программирование
Другие доклады по предмету Компьютеры, программирование
°ка на основі вибраних повідомлень. Криптоаналітик може одержати підписи електронних документів, які він обирає сам.
Можливі результати атак:
- Повний злом цифрового підпису. Отримання закритого ключа, що означає повний злом алгоритму.
- Універсальна підробка цифрового підпису. Знаходження алгоритму, аналогічного алгоритму підпису, що дозволяє підробляти підписи для будь-якого електронного документа.
- Вибіркова підробка цифрового підпису. Можливість підробляти підписи для документів, вибраних криптоаналітиком.
- Екзистенціальна підробка цифрового підпису. Можливість отримання допустимого підпису для якогось документа, не вибраного криптоаналітиком.
Ясно, що самою небезпечною атакою є адаптивна атака на основі вибраних повідомлень, і при аналізі алгоритмів ЕЦП на криптостійкість потрібно розглядати саме її (якщо немає яких-небудь особливих умов).
При безпомилковій реалізації сучасних алгоритмів ЕЦП отримання закритого ключа алгоритму є практично неможливим завданням через обчислювальні складності завдань, на яких ЕЦП побудована. Набагато більш ймовірний пошук криптоаналітиків колізій першого і другого роду. Колізія першого роду еквівалентна екзистенціальної підробці, а колізія другого роду - вибіркової. З урахуванням застосування хеш-функцій, знаходження колізій для алгоритму підпису еквівалентно знаходження колізій для самих хеш-функцій.
Протоколи
Протоколи електронного цифрового підпису (ЕЦП): в основі протоколу цього класу міститься деякий алгоритм обчислення ЕЦП на передачі за допомогою секретного ключа відправника та перевірки ЕЦП на прийомі за допомогою відповідного відкритого ключа, витягнутого з відкритого довідника, але захищеного від модифікацій. У разі позитивного результату перевірки протокол, зазвичай, завершується операцією архівування отриманого повідомлення, його ЕЦП і відповідного відкритого ключа. Операція архівування може не виконуватися, якщо ЕЦП використовується тільки для забезпечення властивостей цілісності і автентичності отриманого повідомлення, але не безвідмовності. У цьому випадку, після перевірки, ЕЦП може бути знищена відразу або після обмеженого проміжку часу очікування.
Протоколи управління ключами можна розділити на два класи:
- Протоколи погодження ключів, завданням яких є вироблення загального секрету (таємного ключа) на основі відомих відкритих ключів обєктів;
- Протоколи транспортування ключів, завданням яких є доставка, введення в дії та використання ключів із забезпеченням їх цілісності, дійсності та при не-обхідності, конфіденційності.
Стандартні протоколи узгодження ключів
Можна виділити два обєкти, один з яких є джерелом (ініціатором), а інший відповідачем (приймачем). У такому протоколі ключі складаються з пари сеансових ключів.
Протокол 1. Сеансовий протокол узгодження ключів
Секретними є ключі і , відкриті і .
Загальним секретом є , що виробляється користувачами А і В, де h-кофактор. Конкретне секретне значення виробляється як
Таким чином, протокол реалізує вироблення сеансових пар ключів і виробляє про-мен відкритими сеансовий ключ, на підставі яких виробляється загальне секрет-ве значення.
Протокол 2. Протокол на головних ключах
У протоколі використовуються тільки головні пари ключів
і
Протокол виконує обчислення загального секрету, грунтуючись тільки на головних ключах, що дозволяє не виробляти передачі відкритих ключів під час виконання протоколу. Секретний ключ обчислюється з використанням наступної функції:
.
Протокол 3. Повний протокол узгодження ключів
Даний протокол є повним протоколом узгодження ключів. Ключовий матеріал складається з двох пар головних ключів та
, і двох пар сеансових ключів , .
У цьому протоколі виконується дві передачі сеансових відкритих ключів. З використанням сеансових і довготривалих відкритих та особистих ключів, що формуються загальні секретні значення та . Обчислення секретного ключа здійснюється за формулою
.
Підписування електронних документів різних форм
Підпис в HTML-формі
Така задача виникає при встановленні засобів ЕЦП в системах коли користувач працює в системі через Web-браузер (MS IE). У таких системах надходять наступним чином: створюється приховане hidden-поле у формі. Коли користувач натискає кнопку типу "підписати і відправити", відповідний скрипт обробника (наприклад, на VBScript) формує строкову змінну, в яку методом конкатенації записують важливу інформацію з ідентифікації документа і вміст текстових полів, які ввів користувач. Далі сформована стрічка підписується. Найчастіше використовуються методи обєктів CAPICOM.dll, не відділений підпис. Підписана строкою змінна і є електронний документ. Підписаний документ (підписаний рядок) записується в hidden-полі і методом POST передається на сервер. Серверний додаток перевіряє підпис у змінної, отриманої з hidden-поля, і в залежності від результатів перевірки ЕЦП і змістовної частини електронного документа здійснює його подальшу обробку. Важливим моментом є збереження підписаного документа на сервер. Для цього, як правило, створюють таблицю в базі даних системи з двома полями: поле ключа і строкове поле з підписаним електронним документом.
Підпис в базі даних
&n