Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методи та засоби захисту інформації.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
246 Кб
Скачать
☆

Електронні цифрові підписи та адміністрування ключами. Обмін ключами. Алгоритм Діффі – Хеллмана. Криптосистема Ель-Гамаля.

Електронним (цифровим) підписом (ЕЦП) називається приєднане до тексту його криптографічне перетворення, що дозволяє при одержанні тексту іншим користувачем перевірити авторство і дійсність повідомлення. Робота зі створення ЕЦП стала можливою з появою систем автоматизації діловодства і документообігу (САДД), що включають програмно-апаратне забезпечення обробки ЕЦП. Електронний цифровий підпис став актуальним з розвитком банківських технологій і поширенням систем безготівкових розрахунків. Процедура цифрового підписування полягає у тому, що на основі вмісту файлу і ключа підписування обчислюється визначений набір символів, що зветься цифровим підписом. Алгоритми обчислень можуть відрізнятися, але всі вони використовують стискання вихідного документа за допомогою хеш-функції. На основі таємного ключа підписування і хеш-функції формується цифровий підпис і визначений відкритий ключ, щоб отримувач зміг його перевірити. Потенційному шахраю, який би взявся за підписом автора відшукати його секретний ключ, треба розв’язати комбінаторну задачу з таким обсягом комп’ютерного перебору варіантів, якого вистачить практично на все його життя. Адресату, що отримав документ електронною поштою, досить запустити програму, що на основі вмісту файлу і обчислює певне значення і порівнює його з відкритим зразком цифрового підпису. Рівність значень доводить, що документ не модифікувався, тобто саме цей документ завізовано відповідним секретним ключем підписування. Цифровий підпис робить юридично чинним документом не роздрукування документа, а сам комп’ютерний файл. ЕЦП може служити аналогом усякого роду печаток і штампів організації. Адже вони видаються визначеному працівникові канцелярії підприємства з єдиною функцією - засвідчувати підпису керівників організації. Електронна форма документа, збережена й оброблювана САДД, являє собою реєстраційну картку (РК) і один або кілька файлів із умістом документа. В ній утримуються зведення про реєстраційний номер і дату документа, а також інші реквізити для його пошуку, класифікації і контролю виконання. Реєстраційні картки документів заповнюються одними працівниками - секретарями і виконавцями, а підпис на документах ставлять інші люди, як правило, керівники. Корпоративна САДД - це кілька установок системи в центральному органі підприємства і його дочірніх організацій. Кожна із САДД установлена на локальній мережі окремої організації, а між собою системи можуть спілкуватися по електронній пошті. Природно САДД повинні уміти використовувати ЕЦП як для підпису і перевірки підпису файлів, так і при прийомі і передачі повідомлень по електронній пошті. Ряд із пропонованих на вітчизняному ринку САДД мають таку можливість, у тому числі одна з розповсюджених у Росії САДД - «СПРАВА» компанії «Електронні офісні системи». Для того, щоб використовувати ЕЦП у САДД, потрібні:

- «секретні» ключі для користувачів із правом нанесення підпису;

- «несекретні» сертифікати ключів, за допомогою яких здійснюється перевірка підписів іншими користувачами.

Для того, щоб створити секретний ключ і сертифікат, а вони створюються одночасно, потрібен центр керування ключовою системою (ЦККС). У функції ЦККС може входити:

- створення ключів і сертифікатів;

- перевірка їхньої дійсності;

- ведення списку відкликаних сертифікатів (сертифікатів ключів, що перестали діяти внаслідок різних причин, наприклад, скінчився термін дії ключа або ключ скомпрометований - загублений і т.п.).

Якщо передбачається обмін підписаними документами з зовнішніми організаціями, то можна скористатися послугами, наданими центрами колективного користування, що їх засвідчують. А можна створити і корпоративний ЦККС, діяльність якого поширюється тільки на власну організацію і підвідомчі їй підприємства або установи. Склад подібного ЦККС може бути мінімальний: окремий комп’ютер, що працює під керуванням ОС Windows 2000 Server, програмне забезпечення (ПО), що керує Microsoft Certificate Services, і ПО криптопровайдера, що має сертифікат ФАПСИ, наприклад, Криптопро CSP для формування ключів ЕЦП. Секретні ключі, записані ЦККС на ключових носіях, передаються користувачам, що мають право підпису. Як ключові носії можуть використовуватися дискети, інтелектуальні карти і т.п. Використання ЕЦП в майбутньому дозволить скоротити непродуктивні витрати і значно збільшити швидкість поширення документів. Може значно зменшитися обсяг споживання паперу за рахунок виключення копіювання екземплярів документів при їхньому розсиланні в підрозділи і підвідомчі організації. Стануть непотрібними журнали передачі документів, аркуші узгодження й інші супровідні документи. Знизиться потреба в копіювальній техніці і видаткових матеріалах, а також звільнить виконавців документів від рутинних операцій при узгодженні й оформленні документів. В Україні всі стосунки електронний документів та підписів визначаються Законами України «Про електронні документи та електронний документообіг» та «Про електронний цифровий підпис». Крім вибору криптографічної системи, що підходить для конкретної інформаційної системи, важлива проблема - адміністрування ключами. Якою б не була складною й надійною сама криптосистема, вона заснована на використанні ключів. Якщо для забезпечення конфіденційного обміну інформацією між двома користувачами процес обміну ключами тривіальний, то в ІС, де кількість користувачів складає десятки й сотні, управління ключами - серйозна проблема. Під ключовою інформацією розуміється сукупність усіх діючих у ІС ключів. Якщо не забезпечене досить надійне управління ключовою інформацією, то, заволодівши нею, зловмисник одержує необмежений доступ до всієї інформації. Адміністрування ключами - інформаційний процес, що містить в собі три елементи:

1. Генерацію ключів.

2. Накопичення ключів (організація їхнього збереження, обліку й вилучення).

3. Розподіл ключів між користувачами.

У загальному випадку задача управління ключами зводиться до створення такого протоколу розподілу ключів, який повинен забезпечувати:

- можливість розосередження розподілу ключів;

- взаємне підтвердження дійсності учасників сеансу;

- підтвердження вірогідності сеансу механізмом запиту-відповіді, використання для цього програмних або апаратних засобів;

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

Обмін ключами (англ. key exchange, key establishment) — між користувачами дозволяє використання криптографічних алгоритмів. Якщо відправник і отримувач бажають обмінятись зашифрованими повідомленнями, кожен повинен мати відповідне спорядження для шифрування повідомлень до відсилання і розшифрування отриманих. Природа необхідного спорядження залежить від використовної техніки шифрування. Якщо вони використовують коди, обидва повинні мати копії одної книги кодів. Якщо шифр, вони потребуватимуть підході ключі. Якщо шифр симетричний, обидва потребуватимуть копії одного й того самого ключа. Якщо асиметричний, вони потребуватимуть відкриті ключі один одного. Проблема обміну ключами полягає в обміні ключами або іншою інформацією так, щоб ніхто інший не міг отримати копію. Традиційно, це вимагає довіреного посильного або іншого безпечного каналу. Алгоритм Діффі - Хеллмана (англ. Diffie-Hellman, DH) дозволяє двом або більше користувачам обмінятися без посередників ключем, який може бути використаний потім для симетричного шифрування. Даний алгоритм не застосовується для шифрування повідомлень або формування електронного підпису. Його призначення - у розподілі ключів. Це була перша криптосистема, яка дозволяла захищати інформацію без використання секретних ключів, переданих по захищених каналах. Схема відкритого розподілу ключів, запропонована Діффі і Хеллманом, здійснила справжню революцію у світі шифрування, так як знімала основну проблему класичної криптографії - проблему розподілу ключів. Проблема передачі ключа по відкритих каналах була великою проблемою криптографії минулого століття. Але цю проблему вдалося вирішити після появи алгоритму Діффі-Хеллмана. Даний алгоритм дозволив дати відповідь на головне питання: "Як при обміні зашифрованими посланнями піти від необхідності передачі секретного коду розшифровки, який, як правило, не менше самого послання?" Відкрите поширення ключів Діффі-Хеллмана дозволяє парі користувачів системи виробити загальний секретний ключ, що не обмінюючись секретними даними. При роботі алгоритму, кожна сторона:

1. генерує випадкове натуральне число a - закритий ключ

2. спільно з віддаленою стороною встановлює відкриті параметри p і g (зазвичай значення p і g генеруються на одній стороні і передаються іншій), де p є випадковим простим числом, (P-1)/2 також має бути випадковим простим числом (для підвищення безпеки), g є первісним коренем за модулем p

3. обчислює відкритий ключ A, використовуючи перетворення над закритим ключем

A = gamod p

4. обмінюється відкритими ключами з віддаленою стороною

5. обчислює загальний секретний ключ K, використовуючи відкритий ключ віддаленої сторони B і свій закритий ключ a

K = Ba mod p

К виходить рівним з обох сторін, тому що:

Ba mod p = (gb mod p)a mod p = gab mod p = (ga mod p)b mod p = Ab mod p

У практичних реалізаціях, для a і b використовуються числа порядку 10100 і p близько 10300. Число g не повинно бути великим і зазвичай має значення в межах першого десятка. Алгоритм Діффі-Хеллмана також може бути використаний при шифруванні з відкритим ключем. У цьому випадку загальна схема залишається аналогічною наведеній вище, але з невеликими відмінностями. Аліса не передає значення p, g і A Бобу безпосередньо, а публікує їх заздалегідь у якості свого відкритого ключа. Боб виконує свою частину обчислень, після чого шифрує повідомлення симетричним алгоритмом, використовуючи K в якості ключа, і передає шифротекст Аліси разом зі значенням B. На практиці, алгоритм Діффі-Хеллмана не використовується таким чином. У даній області домінуючим алгоритм з відкритим ключем є RSA. Це більше обумовлено чинності комерційних вигод, так як саме компанією RSA Data Security було створено центр сертифікації. До того ж алгоритм Діффі-Хеллмана не може бути використаний при підписанні сертифікатів. Алгоритм Ель-Гамаля може використовуватися для формування електронного підпису або для шифрування даних. Він базується на труднощі обчислення дискретного логарифма. Для генерації пари ключів спочатку береться просте число p і два випадкових числа g і x, кожне з яких менше p. Потім обчислюється:

y = gx mod p

Загальнодоступними ключами є y, g і p, а секретним ключем є х. Для підпису повідомлення M вибирається випадкове число k, яке є простим по відношенню до p-1. Після цього обчислюється a = gk mod p. Далі з рівняння M = (xa + kb) mod (p-1) знаходимо b. Електронним підписом для повідомлення M буде служити пара a і b. Випадкове число k слід зберігати в секреті. Для верифікації підпису необхідно перевірити рівність:

yaab mod p = gM mod p.

Пара a і b являють собою зашифрований текст. Слід зауважити, що зашифрований текст має розмір у два рази більше початкового. Щоб дешифрувати виробляється обчислення:

M = b / ax mod p