|
|
Електронний цифровий підпис |
|
|
Електронний цифровий підпис (ЕЦП) - реквізит електронного документа, призначений для посвідчення джерела даних та захисту даного електронного документа від підробки. ЕЦП формується шляхом криптографічного перетворення вибірки електроних даних, приєднується до цього набору або логічно об'єднується з ним і дає можливість підтвердити його цілісність і ідентифікувати підписувача. ЕЦП накладається за допомогою особистого ключа і перевіряється за допомогою відкритого ключа.
Загальна схема Схема електронного підпису зазвичай включає:
Функція обчислення підпису на основі документа і секретного ключа користувача обчислює підпис. У залежності від алгоритму, функція обчислення підпису може бути детермінована або ймовірнісна. Детерміновані функції завжди обчислюють однаковий підпис за однаковими вхідними даними. Імовірнісні функції вносять у підпис елемент випадковості, що підсилює крипостійкість алгоритмів ЕЦП. Однак, для імовірнісних схем необхідне надійне джерело випадковості (апаратний генератор шуму або надійний з точки зору криптографії генератор псевдовипадкових бітів), що ускладнює реалізацію. Стійкість У наш час детерміновані схеми практично не використовуються. Навіть у ті алгоритми, які спочатку були детерміновані, зараз внесено модифікації, що обертають їх у імовірнісні. Саме так до схеми підпису RSA, у другій версії стандарту PKCS#1 додане попереднє перетворення даних, що має у собі, серед іншого, зашумлення. Після внесення змін алгоритм RSA був перейменований у RSA-OAEP. Алгоритми ЕЦП поділяють на два великих класи:
Звичайні цифрові підписи необхідно пов'язувати з документом, що підписують. Цифрові підписи з відновленням документа вже містять у собі документ, який підписують: в процесі перевірки підпису автоматично обчислюється і тіло документа.
Захищеність Цифровий підпис забезпечує:
Можливі наступні загрози щодо цифрового підпису:
У разі використання надійної геш-функції, важко створити підроблений документ з таким самим геш-образом, як у справжнього. Однак ці загрози можуть реалізуватися внаслідок слабкості конкретних алгоритмів гешування, підпису, або помилок в їх реалізаціях. Тим не менш, можливі ще такі загрози щодо систем цифрового підпису:
Стандарти та алгоритми ЕЦП:
Управління ключами Важливою проблемою всієї криптографії з використанням відкритого ключа, в тому числі й систем ЕЦП, є управління відкритими ключами. Необхідно забезпечити доступ будь-якого користувача до справжнього відкритого ключа будь-якого іншого користувача, захистити ці ключі від підміни зловмисником, а також організувати відгук ключа у разі його компрометації. Проблема захисту ключів від підміни вирішується за допомогою сертифікатів. Сертифікат дозволяє засвідчити дані о користувачі, що в ньому утримуються, і його відкритий ключ підписом якої-небудь довіреної особи. У централізованих системах сертифікатів (таких як PKI) працюють центри сертифікації відкритих ключів (ЦСК), підтримку яких ведуть довірені організації. У децентралізованих системах (наприклад, PGP) шляхом перехресного підписування сертифікатів знайомих і довірених осіб кожним користувачем будується мережа довіри.
Схема RSA Розглянемо процес накладення ЕЦП відповідно до алгоритму RSA (див. розділ «Направлене шифрування» - дати лінк - для довідки). Припустимо, Кореспондент 1 хоче послати Кореспонденту 2 повідомлення M, причому таким чином, щоб Кореспондент 2 був упевнений, що повідомлення не було модифіковано і що автором повідомлення дійсно є Кореспондент 1. Кореспондент 1 створює цифровий підпис S, зводячи M в ступінь d і помножуючи на модуль n: S = Md (mod n), де d і n - приватний секретний ключ Кореспондента 1. Він посилає M і S Кореспонденту 2. Щоб перевірити підпис, Кореспондент 2 зводить S в ступінь E і помножує на модуль N: M = Se (mod n), де e і n - відкритий (Public) ключ Кореспондента 1. Таким чином, забезпечення цілісності та автентифікація автора повідомлення здійснюється без передачі секретних (Private) ключів: обидва кореспонденти використовують тільки відкритий (Public) ключ свого опонента або власний особистий (Private) ключ. Надіслати зашифроване повідомлення і перевірити підписане повідомлення може будь-хто, але розшифрувати або підписати повідомлення може тільки власник відповідного особистого (Private) ключа.
Схема Ель-Гамаль У 1991 р. в США був опублікований проект федерального стандарту цифрового підпису - DSS (Digital Signature Standard), що описує систему цифрового підпису DSA (Digital Signature Algorithm). Одним з основних критеріїв при створенні проекту була його патентна чистота. Алгоритм DSA заснований на криптографічній системі Ель-Гамаль і має, як і RSA, теоретико-числовий характер. Його надійність основана на практичній нерозв'язності певного часткового випадку задачі обчислення дискретного логарифму. Сучасні методи вирішення цієї проблеми мають приблизно таку саму ефективність, що й методи вирішення задачі факторізаціі. Довжина підпису у схемі DSA менша за RSA в декілька разів. З моменту опублікування проект отримав багато критичних відгуків, багато з яких було враховано під час доопрацьовувань. Одним з головних аргументів проти DSA є те, що, на відміну від загальної задачі обчислення дискретного логарифма, її окремий випадок, що використаний в даній схемі, мало вивчений і, можливо, має істотно меншу складність розкриття. Крім того, стандарт не специфікує спосіб отримання псевдовипадкових чисел, що використовуються під час формування цифрового підпису, і не вказує на те, що цей елемент алгоритму є одним з найбільш критичних з точки зору криптографічного стійкості. Функції DSA обмежені тільки цифровим підписом, система принципово не призначена для шифрування даних. По швидкодії система DSA порівнянна з RSA при формуванні підпису, але істотно (в 10-40 разів) поступається їй при перевірці підпису. Під час генерації ЕЦП використовуються параметри трьох груп:
Загальні параметри необхідні для функціонування системи в цілому. Секретний ключ використовується для формування ЕЦП, а відкритий - для перевірки ЕЦП. Загальними параметрами системи є прості цілі числа p, q, g, де q - простий дільник числа (p - 1), g - так званий генератор, що задовольняє рівності g = h ^ ((p - 1) /q) mod p> 1 . Параметри p, q, g публікуються для всіх учасників обміну. Секретний ключ X випадково вибирається з діапазону [1, q] і тримається в секреті.
Процес створення ЕЦП складається з декількох етапів:
Значення r, s є ЕЦП повідомлення m і передаються разом з ним по каналах зв'язку.
Якщо остання рівність виконується, то підпис приймається. У даному стандарті специфікується також процедура створення основних параметрів системи і проводиться доказ того, що у разі v = r1, то m1 = m, r1 = r, s1 = s. |
||
У розділі


