66
65
На практиці, як правило, в схемах ЕЦП замість документа х розглядають його хеш-функцію h(х), яка
володіє рядом спеціальних властивостей, найважливіша з яких – відсутність “колізій” (тобто практична
неможливість створення двох різних документів з однаковим значенням хеш-функції). Найбільш відомі
математичні схеми ЕЦП такі: RSA (R.L.Rivest, A.Shamir,L.Adleman), OSS (H.Ong, C.P.Schnorr, A.Shamir), Ель-
Гамаля (T.ElGamal), Рабіна (M.Rabin), Окамото-Сараісі (T.Okamoto, A.Shiraishi), Мацумото-
Імаі
(T.Matsumoto,H.Imai).
Складність задачі підтримки ЕЦП у цих схемах грунтується на обчислювальній складності задач
факторизації або дискретного логарифмування. У схемі, запропонованій російським вченим А.А.Грушо
(1992р.), її однонаправлена функція, на відміну від перелічених, засновується не на складності теоретико-
числових задач, а на складності вирішення систем нелінійних булевих рівнянь.
У прийнятих
стандартах США і Росії на ЕЦП (DSS – Digital Signature Standart (FIPS PUB 186), ГОСТ
Р34.10-94 і Р34.11-94) використовуються спеціально створені алгоритми. В DSS довжина числа 159-160 біт, у
ГОСТ 34.10 – 255-256 біт. В основу цих алгоритмів покладено схеми Ель-Гамаля і Шаміра.
Технологія застосування систем ЕЦП передбачає мережу абонентів, що надсилають один одному
електронні документи. Деякі з цих абонентів можуть лише
перевіряти підписані іншими повідомлення, інші
(назвемо їх абонентами з правом підпису) можуть як перевіряти, так і самостійно підписувати повідомлення.
Крім того, можуть бути випадки, коли будь-хто може ставити свій ЕЦП лише як другий підпис після підпису
визначеного абонента – начальника (наприклад, директор – бухгалтер).
Далі можливі дві ситуації: або у цій
мережі є центр (призначено абонента, що наділений деякими
особливими повноваженнями), або всі абоненти з правом підпису рівноправні. Не виключений, однак, і варіант,
при якому функції центра розосереджені по кількох локальних центрах. Мережі з центрами можуть бути
класифіковані за ступенем довіри абонентів до центру. Інакше кажучи, мережі можуть бути “тоталітарними” і
“
демократичними”. Центри в таких мережах можуть потенційно або повністю контролювати абонента або ж
виконувати суто формальні функції адміністрування, скажімо, з приймання в мережу нових абонентів.
Архітектура алгоритмів ЕЦП. Оскільки підпис під важливим документом може мати далекосяжні
наслідки, перед підписанням слід передбачити відповідні запобіжні заходи. У разі програмної реалізації, як
правило, секретний ключ того, хто підписує, зберігається на його особистій дискеті, захищеній від копіювання.
Однак цього буває недостатньо, адже дискету можуть вкрасти або загубити. Отже, потрібен захист від
несанкціонованого
доступу до секретної інформації (ключа). Природнім рішенням цієї проблеми є парольний
захист. Паролем можуть закриватись не лише функції постановки ЕЦП і генерації ключів, але й функції, що
змінюють зміст каталогу відкритих ключів абонентів мережі тощо.
Слід перевірити (у разі програмної реалізації, зокрема на ПЕОМ), щоб в системі не було
“криптовірусів”,
які можуть завдати суттєвої шкоди. Наприклад, у момент підписування криптовіруси можуть
перехопити секретні ключі та скопіювати їх у потрібне місце. Крім того, при перевірці підпису вони можуть
змусити систему “сказати”, що підпис правильний, хоча насправді він таким не є. Можна уявити собі
криптовірус, який, потрапивши в систему лише один раз у
момент генерації ключів, “допоможе” системі
згенерувати “слабкі” ключі. Наприклад, якщо ключі генеруються на основі датчика псевдовипадкових чисел,
який використовує вбудований таймер, вірус може змінити покази таймера, а потім відновити “статус-кво”. Ці
ключі можуть бути легко відкриті зловмисниками. Надалі цей вірус уже не потрібний. Проти таких
криптовірусів є лише один
захист – завантаження з чистої системної дискети і використання чистого, “рідного”
програмного продукту.