С момента ее появления в 1991 году было создано множество версий PGP-софта. В 1997 году Фил Циммерман сделал предложение создать Internet Engineering Task Force (IETF), общепринятый стандарт для PGP с открытым исходным кодом. Предложение было принято и привело к созданию OpenPGP протокола, который определяет стандартные форматы шифрования для ключей и сообщений.
Хотя изначально PGP использовалась только для защиты электронной почты и ее вложений в настоящее время она применяется более обширно, включая цифровые подписи, полное шифрование диска и защиту сети.
Изначально PGP принадлежала компании PGP Inc, которая впоследствии была приобретена Network Associates Inc. В 2010 году Symantec Corp. выкупили PGP за 300 миллионов долларов и теперь этот термин является товарным знаком, используемым для их продуктов совместимых с OpenPGP.
Как это работает?
После сжатия файла начинается процесс шифрования. На этом этапе сжатый текстовый файл шифруется одноразовым ключом, который называется - сеансовый ключ. Этот ключ генерируется случайным образом с использованием симметричной криптографии и каждый сеанс связи с PGP имеет свой уникальный сеансовый ключ.
Затем сеансовый ключ (1) шифруется с использованием асимметричного шифрования: предполагаемый получатель (Боб) предоставляет свой открытый ключ (2) отправителю сообщения (Алиса), чтобы она могла зашифровать сеансовый ключ. Этот шаг позволяет Алисе безопасно делиться ключом с Бобом через интернет, независимо от уровня безопасности.
Асимметричное шифрование сеансового ключа обычно выполняется с использованием алгоритма RSA. Многие другие системы шифрования используют его включая протокол защиты транспортного уровня (TLS), который обеспечивает безопасность большей части интернета.
Как только шифротекст сообщения и зашифрованный сеансовый ключ были получены, Боб может использовать свой приватный ключ (3) для расшифровки сеансового ключа, который затем используется для дешифрования зашифрованного текста.
Помимо основного процесса шифрования и дешифрования, PGP также поддерживает цифровые подписи, которые выполняют как минимум три функции:
Аутентификация: Боб может проверить, что отправителем сообщения была Алиса;
Целостность: Боб может быть уверен, что сообщение имеет первозданный вид;
Безотказность: после того, как сообщение подписано цифровой подписью, Алиса не сможет утверждать, что не отправляла его.
Варианты применения
Одним из наиболее распространенных способов использования PGP является защита электронной почты. Письмо защищенное с помощью PGP превращается в строку символов, которую невозможно прочитать (зашифрованный текст) и расшифровать можно только с помощью соответствующего ключа. Для обеспечения безопасности сообщений защитный механизм практически тот же самый, также есть еще и программные приложения, которые позволяют реализовывать PGP поверх других, эффективно интегрируя систему шифрования к необеспеченным безопасностью службам обмена сообщениями.
Хоть PGP в основном и предназначена для защиты интернет-коммуникации, она также может использоваться для шифрования отдельных устройств. В таком случае программа может применяться к разделам диска на ПК или к мобильному устройству. Шифруя жесткий диск пользователь должен будет указывать пароль при каждой загрузке системы.
Преимущества и недостатки
Протокол OpenPGP позволил создать стандартизированную конкурентную среду и теперь PGP решения предлагаются несколькими компаниями и организациями. Тем не менее, все программы с PGP которые соответствуют стандартам OpenPGP совместимы друг с другом. Это означает, что файлы и ключи созданные в одной программе могут без проблем быть использованы в другой.
Что касается недостатков, системы PGP не так просты в использовании и понимании, особенно для пользователей со слабыми техническими навыками. Кроме того большая длина открытых ключей многими считается неудобной.
В 2018 году Electronic Frontier Foundation (EFF) опубликовала крупную уязвимость под названием EFAIL. Эта проблема позволяет хакерам использовать активный HTML-контент в зашифрованных электронных письмах для получения доступа к расшифрованной версии сообщений.
Однако некоторые проблемы описанные в EFAIL уже были известны сообществу пользователей PGP с конца 1990-х годов и по факту, уязвимость заключалась в различных реализациях со стороны почтовых клиентов, а не самого PGP. Таким образом, несмотря на тревожные и вводящие в заблуждение заголовки, PGP все еще обладает высоким уровнем безопасности.
Заключение
С момента создания в 1991 году, PGP был важным инструментом для защиты данных и в настоящее время используется в большинстве приложений, обеспечивая конфиденциальность, безопасность и аутентификацию для систем связи и поставщиков цифровых услуг.
Не смотря на то что в 2018 году выявление EFAIL вызвало серьезные опасения по поводу жизнеспособности протокола, основная технология по-прежнему считается надежной и криптографически обоснованной. Стоит отметить, что разные реализации PGP могут иметь различные уровни безопасности.