Смекни!
smekni.com

Електронний цифровий підпис (стр. 2 из 5)

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

Інша загроза полягає в тому, що закритий ключ може бути дійсно вкрадений у Х в момент часу Т. Порушник може потім послати повідомлення, підписане підписом Х і позначений тимчасовою міткою, яка менше або дорівнює Т.

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

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

Алгоритми

Існує кілька схем побудови цифрового підпису:

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

· На основі алгоритмів асиметричного шифрування. На даний момент такі схеми ЕЦП найбільш поширені і знаходять широке застосування.

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

Використання хеш-функцій

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

Криптографічна хеш-функція повинна забезпечувати:

· стійкість до колізій (два різні набори даних повинні мати різні результати перетворення);

· необоротність (неможливість обчислити вхідні дані за результатом перетворення).

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

Використання хеш-функції дає наступні переваги:

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

· Сумісність. Більшість алгоритмів оперує з рядками біт даних, але деякі використовують інші уявлення. Хеш-функцію можна використовувати для перетворення довільного вхідного тексту у відповідний формат.

· Цілісність. Без використання хеш-функції великий електронний документ у деяких схемах потрібно розділяти на досить малі блоки для застосування ЕЦП. При верифікації неможливо визначити, чи всі блоки отримані і в правильному чи вони порядку.

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

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

Симетрична схема

Симетричні схеми ЕЦП менш поширені ніж асиметричні, так як після появи концепції цифрового підпису не вдалося реалізувати ефективні алгоритми підпису, засновані на відомих у той час симетричних шифрах. Першими, хто звернув увагу на можливість симетричної схеми цифрового підпису, були основоположники самого поняття ЕЦП Діффі і Хеллмана, які опублікували опис алгоритму підпису одного біта за допомогою блокового шифру. Асиметричні схеми цифрового підпису спираються на обчислювально складні завдання, складність яких ще не доведена, тому неможливо визначити, чи будуть ці схеми зламані найближчим часом, як це сталося зі схемою, заснованої на задачі про укладання ранця. Також для збільшення криптостійкості потрібно збільшувати довжину ключів, що призводить до необхідності переписувати програми, що реалізують асиметричні схеми, і в деяких випадках перепроектувати апаратуру. Симетричні схеми засновані на добре вивчених блокових шифрах.

У зв'язку з цим симетричні схеми мають наступні переваги:

· Стійкість симетричних схем ЕЦП випливає з стійкості використовуваних блокових шифрів, надійність яких також добре вивчена.

· Якщо стійкість шифру виявиться недостатньою, його легко можна буде замінити на більш стійкий з мінімальними змінами в реалізації.

Однак у симетричних ЕЦП є і ряд недоліків:

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

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

Через розглянутих недоліків симетрична схема ЕЦП Діффі-Хелман не застосовується, а використовується її модифікація, розроблена Березіним і Дорошкевича, в якій підписується відразу група з декількох біт. Це призводить до зменшення розмірів підпису, але до збільшення обсягу обчислень. Для подолання проблеми «одноразовості» ключів використовується генерація окремих ключів з головного ключа.

Асиметрична схема

Асиметричні схеми ЕЦП відносяться до криптосистем з відкритим ключем. На відміну від асиметричних алгоритмів шифрування, в яких зашифрування проводиться за допомогою відкритого ключа, а розшифрування - за допомогою закритого, у схемах цифрового підпису підписування проводиться із застосуванням закритого ключа, а перевірка - із застосуванням відкритого.

Загальновизнана схема цифрового підпису охоплює три процеси :

Генерація ключової пари. За допомогою алгоритму генерації ключа рівно ймовірним чином з набору можливих закритих ключів вибирається закритий ключ, обчислюється відповідний йому відкритий ключ.

Формування підпису. Для заданого електронного документа за допомогою закритого ключа обчислюється підпис.

Перевірка (верифікація) підпису. Для даних документа та підпису за допомогою відкритого ключа визначається дійсність підпису.

Для того, щоб використання цифрового підпису мало сенс, необхідно виконання двох умов:

Верифікація підпису повинна проводитися відкритим ключем, відповідним саме тому закритому ключу, який використовувався під час підписання.

Без володіння закритим ключем має бути обчислювально складно створити легітимний цифровий підпис.

Керування ключами

Відкритий ключ

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

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

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

Закритий ключ

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