PGP означає Pretty Good Privacy. Це програмне забезпечення для шифрування, призначене для забезпечення конфіденційності, безпеки та автентифікації систем онлайн-зв’язку. Філ Ціммерман — це ім’я, що стоїть за першою програмою PGP, і, за його словами, вона була надана у вільному доступі через зростаючий суспільний попит на конфіденційність.
З часу його створення в 1991 році було створено багато версій програмного забезпечення PGP. У 1997 році Філ Циммерман запропонував Інженерній групі Інтернету (IETF) створити стандарт PGP з відкритим кодом. Пропозиція була прийнята і призвела до створення протоколу OpenPGP, який визначає стандартні формати для ключів шифрування та повідомлень.
Хоча PGP спочатку використовувався лише для захисту повідомлень електронної пошти та вкладень, тепер PGP застосовується для широкого спектру випадків використання, включаючи цифрові підписи, повне шифрування диска та захист мережі.
PGP спочатку належав компанії PGP Inc, яку пізніше придбала Network Associates Inc. У 2010 році Symantec Corp. придбала PGP за 300 мільйонів доларів, і зараз цей термін є торговою маркою, яка використовується для їхніх продуктів, сумісних з OpenPGP.
Як це працює?
PGP є одним з перших широкодоступних програм, які використовують криптографію з відкритим ключем. Це гібридна криптосистема, яка використовує як симетричне, так і асиметричне шифрування для досягнення високого рівня безпеки.
У базовому процесі шифрування тексту відкритий текст (дані, які можна чітко зрозуміти) перетворюється на зашифрований текст (нечитабельні дані). Але перш ніж розпочнеться процес шифрування, більшість систем PGP виконують стиснення даних. Завдяки стисненню відкритих текстових файлів перед їх передачею PGP економить місце на диску та час передачі, а також покращує безпеку.
Після стиснення файлу починається фактичний процес шифрування. На цьому етапі стислий файл відкритого тексту шифрується за допомогою одноразового ключа, відомого як ключ сеансу. Цей ключ генерується випадковим чином за допомогою симетричної криптографії, і кожен сеанс зв’язку PGP має унікальний ключ сеансу.
Далі сам сеансовий ключ (1) шифрується за допомогою асиметричного шифрування: призначений одержувач (Боб) надає свій відкритий ключ (2) відправнику повідомлення (Алісі), щоб вона могла зашифрувати сеансовий ключ. Цей крок дозволяє Алісі безпечно ділитися ключем сеансу з Бобом через Інтернет, незалежно від умов безпеки.
Асиметричне шифрування сеансового ключа зазвичай виконується за допомогою алгоритму RSA. Багато інших систем шифрування використовують RSA, включаючи протокол безпеки транспортного рівня (TLS), який захищає значну частину Інтернету.
Після того, як зашифрований текст повідомлення та зашифрований ключ сеансу передано, Боб може використовувати свій приватний ключ (3) для розшифровки ключа сеансу, який потім використовується для розшифровки зашифрованого тексту назад у вихідний відкритий текст.
Окрім основного процесу шифрування та дешифрування, PGP також підтримує цифрові підписи, які виконують принаймні три функції:
Автентифікація: Боб може підтвердити, що відправником повідомлення була Аліса.
Цілісність: Боб може бути впевнений, що повідомлення не було змінено.
Невідмовність: після того, як повідомлення буде підписано цифровим підписом, Аліса не може стверджувати, що вона його не надсилала.
Випадки використання
Одним із найпоширеніших застосувань PGP є захист електронних листів. Електронний лист, захищений за допомогою PGP, перетворюється на рядок символів, які неможливо прочитати (зашифрований текст), і їх можна розшифрувати лише за допомогою відповідного ключа розшифровки. Робочі механізми захисту текстових повідомлень практично однакові, а також є деякі програмні додатки, які дозволяють використовувати PGP поверх інших програм, фактично додаючи систему шифрування до незахищених служб обміну повідомленнями.
Хоча PGP здебільшого використовується для захисту інтернет-зв’язку, його також можна застосовувати для шифрування окремих пристроїв. У цьому контексті PGP можна застосовувати до розділів диска комп’ютера або мобільного пристрою. Завдяки шифруванню жорсткого диска користувачеві потрібно буде вводити пароль під час кожного завантаження системи.
Переваги та недоліки
Завдяки комбінованому використанню симетричного та асиметричного шифрування PGP дозволяє користувачам безпечно обмінюватися інформацією та криптографічними ключами через Інтернет. Як гібридна система, PGP виграє як від безпеки асиметричної криптографії, так і від швидкості симетричного шифрування. Крім безпеки та швидкості, цифрові підписи забезпечують цілісність даних і автентичність відправника.
Протокол OpenPGP сприяв появі стандартизованого конкурентного середовища, і рішення PGP тепер пропонуються кількома компаніями та організаціями. Проте всі програми PGP, які відповідають стандартам OpenPGP, сумісні між собою. Це означає, що файли та ключі, створені в одній програмі, можна без проблем використовувати в іншій.
Що стосується недоліків, системи PGP не такі прості у використанні та розумінні, особливо для користувачів з невеликими технічними знаннями. Крім того, багато хто вважає велику довжину відкритих ключів досить незручною.
У 2018 році Electronic Frontier Foundation (EFF) опублікувала велику вразливість під назвою EFAIL. EFAIL дозволив зловмисникам використовувати активний вміст HTML у зашифрованих електронних листах, щоб отримати доступ до версій повідомлень у відкритому вигляді.
Однак деякі проблеми, описані EFAIL, уже були відомі спільноті PGP з кінця 1990-х років, і, насправді, уразливості пов’язані з різними впровадженнями з боку клієнтів електронної пошти, а не з самим PGP. Таким чином, незважаючи на тривожні та оманливі заголовки, PGP не зламано та продовжує бути високобезпечним.
Закриття думок
З моменту свого створення в 1991 році PGP був важливим інструментом для захисту даних і зараз використовується в широкому діапазоні програм, забезпечуючи конфіденційність, безпеку та автентифікацію для кількох систем зв’язку та постачальників цифрових послуг.
Хоча виявлення у 2018 році недоліку EFAIL викликало серйозні занепокоєння щодо життєздатності протоколу, основна технологія все ще вважається надійною та криптографічно надійною. Варто зазначити, що різні реалізації PGP можуть мати різні рівні безпеки.