Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Q_DEK14_spets1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2 Мб
Скачать
☆

11. Системи захисту інформації в глобальній мережі internet (на прикладі pgp).

(аккуратно, перевод с русского)

PGP (англ. PrettyGoodPrivacy) — компьютерная программа, также библиотека функций, позволяющая выполнять операции шифрования и цифровой подписи сообщений, файлов и другой информации, представленной в электронном виде, в том числе прозрачное шифрование данных на запоминающих устройствах, например, на жёстком диске.

Механізм роботи PGP

Шифрування PGP здійснюється послідовно хешуванням, стисненням даних, шифруванням з симетричним ключем, і, нарешті, шифруванням з відкритим ключем, причому кожен етап може здійснюватися одним з декількох підтримуваних алгоритмів. Симетричне шифрування здійснюється з використанням одного з семи симетричних алгоритмів (AES, CAST5, 3DES, IDEA, Twofish, Blowfish, Camellia) на сеансовом ключі. Сеансовий ключ генерується з використанням криптографічно стійкого генератора псевдовипадкових чисел. Сеансовий ключ зашифрована відкритим ключем одержувача з використанням алгоритмів RSA або Elgamal (залежно від типу ключа одержувача). Кожен відкритий ключ відповідає імені користувача або адресою електронної пошти. Перша версія системи називалася Мережа Довіри і протиставлялася системі X.509, що використала ієрархічний підхід, заснованої на засвідчують центрах, доданий в PGP пізніше. Сучасні версії PGP включають обидва способи.

Ключі

Користувач PGP створює ключову пару: відкритий і закритий ключ. При генерації ключів задаються їх власник (ім'я та адреса електронної пошти), тип ключа, довжина ключа і термін його дії. Відкритий ключ використовується для шифрування і перевірки цифрового підпису. Закритий ключ - для декодування і створення цифрового підпису.

PGP підтримує три типи ключів RSA v4, RSA legacy (v3) і Diffie-Hellman/DSS (Elgamal в термінології GnuPG).

Для ключів RSA legacy довжина ключа може становити від 1024 до 2048 біт, а для Diffie-Hellman/DSS і RSA - від 1024 до 4096. Ключі RSA legacy містять одну ключову пару, а ключі Diffie-Hellman/DSS і RSA можуть містити один головний ключ і додаткові ключі для шифрування. При цьому ключ електронного підпису в ключах Diffie-Hellman/DSS завжди має розмір 1024. Термін дії для кожного з типів ключів може бути визначений як необмежений або до конкретної дати. Для захисту ключового контейнера використовується секретна фраза.

Цифровий підпис

PGP підтримує аутентифікацію та перевірку цілісності допомогою цифрового підпису. За умовчанням вона використовується спільно з шифруванням, але також може бути застосована і до відкритого тексту. Відправник використовує PGP для створення підпису алгоритмом RSA або DSA. При цьому спочатку створюється хеш відкритого тексту (також відомий як дайджест), потім - цифровий підпис хешу за допомогою закритого ключа відправника. Для формування хешу можуть використовуватися алгоритми MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. У нових версіях PGP підтримка MD5 здійснюється для збереження сумісності з ранніми версіями. Для підпису використовуються алгоритми RSA або DSA (залежно від типу ключа).

Стиснення даних

З метою зменшення обсягу повідомлень і файлів і, можливо, для утруднення криптоанализа PGP виробляє стиснення даних перед шифруванням. Стиснення здійснюється по одному з алгоритмів ZIP, ZLIB, BZIP2. Для стиснених, коротких і слабосжімаемих файлів стиск не виконується.

Мережа довіри

Як при шифруванні повідомлень, так і при перевірці цифрового підпису, необхідно, щоб прийнятий одержувачем відкритий ключ дійсно належав відправнику. При простому скачуванні відкритого ключа він може бути підмінений. З перших версій PGP підтримує сертифікати відкритих ключів, за допомогою яких підміни (або випадкові помилки передачі) легко розпізнаються. Проте недостатньо просто створити сертифікат, захищений від модіфіцікаціі, так як при цьому гарантується лише цілісність сертифіката після його створення. Користувачі також повинні яким-небудь способом перевірити, що відкритий ключ у сертифікаті дійсно належить відправнику. З перших версій продукти PGP включають в себе внутрішню схему перевірки сертифікатів, названу мережу довіри (англ. web of trust). Задана пара «ім'я користувача - відкритий ключ» може бути підписана третьою особою, що засвідчує відповідність ключа і власника. У таких підписах може бути кілька вкладених рівнів довіри. Хоча багато програм читають і пишуть цю інформацію, дуже мало враховують цей рівень сертифіката, приймаючи рішення про прийняття або відхилення сертифіката.

Механізм мережі довіри має перевагами над централізованої інфраструктурою управління відкритими ключами, наприклад, використовуваної в S / MIME, але не отримав повсюдного застосування. Користувачі хотіли перевіряти коректність сертифікатів вручну або не перевіряти зовсім.

Сертифікати

В останніх специфікаціях OpenPGP довірені підписи можуть використовуватися для підтримки створення центрів сертифікації. Довіреність сертифіката означає, що ключ дійсно належить вказаному власнику і може використовуватися для підпису сертифікатів одним рівнем нижче. Сертифікат рівня 0 означає звичайну підпис. Рівень 1 означає, що за допомогою підписаного ключа можна створювати сертифікати рівня 0. За допомогою сертифіката рівня 2 можна створювати сертифікати рівня 1. Рівень 2 практично ідентичний ступеня довіри, з якою покладаються користувачі на списки довірених сертифікатів, вбудовані в браузери.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]