PGP — это аббревиатура от Pretty Good Privacy. Это программное обеспечение для шифрования, предназначенное для обеспечения конфиденциальности, безопасности и аутентификации для систем Интернет-коммуникаций. Фил Циммерман является владельцем первого программного обеспечения PGP, и, по его словам, оно стало доступным бесплатно из-за растущего социального спроса на конфиденциальность.
Многие версии PGP были созданы с момента его создания в 1991 году. В 1997 году Фил Циммерман представил в Инженерную рабочую группу Интернета (IETF) предложение о создании стандарта PGP с открытым исходным кодом. Затем предложение было принято и привело к созданию протокола OpenPGP, который определяет стандартные форматы ключей шифрования и сообщений.
Хотя изначально PGP использовался только для защиты электронных писем и вложений, теперь он применяется в широком спектре случаев использования, включая цифровые подписи, полное шифрование диска и защиту сети.
Первоначально PGP принадлежала компании PGP Inc, которая позже была куплена Network Associates Inc. В 2010 году корпорация Symantec приобрела PGP за 300 миллионов долларов, и теперь этот термин является товарным знаком, используемым для ее продуктов, совместимых с OpenPGP.
Как это работает?
PGP — одна из первых широко доступных программ, реализующих криптографию с открытым ключом. Это гибридная система шифрования, которая использует симметричное и асимметричное шифрование для достижения высокого уровня безопасности.
В простом процессе шифрования текста открытый текст (данные, которые можно четко понять) преобразуется в зашифрованный текст (данные, которые невозможно прочитать). Но перед шифрованием большинство систем PGP сжимают данные путем сжатия простых текстовых файлов перед их отправкой. PGP экономит дисковое пространство и время передачи, а также повышает безопасность.
После сжатия файла начинается собственно процесс шифрования. На этом этапе сжатый текстовый файл шифруется с помощью одноразового ключа, который называется сеансовым ключом. Этот ключ генерируется случайным образом с помощью симметричного шифрования, и каждый сеанс соединения PGP имеет уникальный ключ сеанса.
Сам сеансовый ключ затем шифруется (1) с использованием асимметричного шифрования. Предполагаемый получатель (Боб) предоставляет свой открытый ключ (2) отправителю сообщения (Алисе), чтобы она могла зашифровать сеансовый ключ. Этот шаг позволяет Алисе безопасно поделиться сеансовым ключом с Бобом через Интернет независимо от условий безопасности.

Асимметричное шифрование сеансового ключа обычно выполняется с использованием алгоритма RSA. Многие другие системы шифрования используют RSA, включая протокол Transport Layer Security (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 по-прежнему очень безопасен.
Заключительные мысли
PGP стал важным инструментом защиты данных и теперь используется в широком спектре приложений с момента его создания в 1991 году, обеспечивая конфиденциальность, безопасность и аутентификацию для многих систем связи и поставщиков цифровых услуг.
Хотя обнаружение уязвимости EFAIL в 2018 году вызвало серьезные опасения по поводу осуществимости протокола, по-прежнему считается, что лежащая в его основе технология криптографически надежна и надежна. Следует также отметить, что разные реализации PGP могут предлагать разные уровни безопасности.

