Открыть сервис

PGP-шифрование

PGP (Pretty Good Privacy) — это криптографический протокол и программное обеспечение для шифрования данных, цифровой подписи и аутентификации, обеспечивающие конфиденциальность и целостность информации при передаче и хранении. PGP сочетает в себе симметричное шифрование (с использованием сеансового ключа) и асимметричное шифрование (с открытыми и закрытыми ключами), что позволяет решить проблему безопасного обмена ключами. Система была разработана программистом и криптоактивистом Филом Циммерманом в 1991 году и с тех пор стала одним из основных стандартов для защиты электронной переписки и файлов.

История

Создание и ранние годы

Первая версия PGP была опубликована Филом Циммерманом в 1991 году. Циммерман создал её как инструмент для защиты конфиденциальности личных сообщений от государственного и корпоративного наблюдения. Изначально программа распространялась бесплатно через интернет и на дискетах, что вызвало недовольство американских властей. В 1993 году ФБР США начало расследование в отношении Циммермана по обвинению в нарушении закона о контроле за экспортом криптографических средств (экспорт PGP приравнивался к экспорту военного оборудования). Дело было закрыто в 1996 году без предъявления обвинений, а сам Циммерман стал символом борьбы за цифровые права.

Стандартизация

В 1997 году была опубликована спецификация OpenPGP (RFC 2440), которая стандартизировала формат сообщений и ключей PGP. Этот стандарт лёг в основу множества свободных и коммерческих реализаций, включая GNU Privacy Guard (GnuPG или GPG). В 2007 году спецификация была обновлена до RFC 4880, который остаётся действующим стандартом. OpenPGP не зависит от конкретной реализации и является открытым протоколом.

Юридические и политические аспекты

В разное время PGP подвергалась попыткам ограничения со стороны государственных органов многих стран. В частности, в конце 1990-х годов правительство США ввело ограничения на экспорт криптографии, но PGP распространялась в виде книги с исходным кодом, что защищалось Первой поправкой к Конституции США (свобода слова). В Великобритании по Закону о полномочиях полиции 1997 года (RIPA) требовалось раскрытие ключей шифрования по запросу властей.

Принцип работы

Гибридная криптосистема

PGP использует гибридное шифрование, комбинируя преимущества симметричных и асимметричных алгоритмов:

Цифровая подпись

Для обеспечения аутентичности и целостности сообщения PGP позволяет создавать цифровую подпись. Отправитель вычисляет хеш-сумму сообщения (алгоритмы SHA-2, MD5), шифрует её своим закрытым ключом и прикрепляет к сообщению. Получатель, используя открытый ключ отправителя, расшифровывает хеш и сравнивает его с вновь вычисленным. Совпадение подтверждает авторство и отсутствие изменений.

Управление ключами

Каждый пользователь PGP генерирует пару ключей:

Сертификаты и «Сеть доверия»

PGP не использует централизованные центры сертификации (как в PKI — инфраструктуре открытых ключей). Вместо этого применяется модель «Сети доверия» (Web of Trust), где пользователи лично удостоверяют подлинность открытых ключей друг друга путём подписания их своими ключами. Чем больше доверенных подписей у ключа, тем выше его уровень надёжности. Например, при встрече с коллегой можно сверить отпечаток ключа (fingerprint) и поставить свою подпись.

Структура сообщения PGP

Сообщение, зашифрованное с помощью PGP, состоит из нескольких частей:

  1. Заголовок — указание алгоритмов, версии и временных меток.
  2. Зашифрованный сеансовый ключ — один или несколько блоков (для каждого получателя), зашифрованных открытыми ключами.
  3. Зашифрованное тело сообщения — сами данные (или вложение).
  4. Цифровая подпись (опционально) — хеш, подписанный закрытым ключом отправителя.

Формат сообщения описывается в RFC 4880 и может быть представлен как в двоичном виде (растровый поток), так и в текстовом виде (ASCII-кодировка — «Armor»).

Реализации

GNU Privacy Guard (GnuPG)

GnuPG (или GPG) — это свободная (лицензия GPL) реализация стандарта OpenPGP. Разработана Вернером Кохом в 1999 году. GnuPG является стандартным инструментом шифрования во многих дистрибутивах Linux и операционных системах BSD. Поддерживает симметричное и асимметричное шифрование, а также цифровые подписи.

Коммерческие решения

Мобильные и встраиваемые

Применение

Защита электронной почты

PGP традиционно используется для шифрования и подписи сообщений в email-клиентах (Thunderbird, Outlook, Apple Mail). Для этого письмо перед отправкой шифруется открытым ключом получателя, а на стороне получателя расшифровывается его закрытым ключом. PGP также позволяет подписывать открытые тексты без шифрования.

Хранение файлов

PGP применяется для шифрования отдельных файлов и архивов при резервном копировании или передаче через небезопасные каналы (FTP, облачные хранилища). Алгоритм обеспечивает сквозное шифрование (end-to-end encryption), когда данные недоступны провайдеру.

Цифровая подпись программ и документов

Разработчики свободного и коммерческого ПО используют PGP-подписи для верификации дистрибутивов и обновлений. Например, все официальные релизы ядра Linux, Debian, Ubuntu и многих других проектов подписываются PGP-ключами. Пользователь может проверить подпись, чтобы убедиться, что файл не был подменён.

Безопасность мессенджеров и протоколов

Некоторые современные протоколы защищённого обмена сообщениями (например, Signal Protocol) имеют в своей основе идеи, аналогичные PGP, но не являются его прямой реализацией. В то же время существуют реализации, использующие OpenPGP для обмена сообщениями в чатах (например, Thunderbird+Enigmail).

Критика и ограничения

Сложность использования

PGP требует от пользователя понимания принципов криптографии, управления ключами и необходимости регулярной верификации отпечатков ключей. Это создаёт порог входа для массового внедрения. По данным опросов, менее 10% пользователей электронной почты, имеющих PGP, правильно используют его.

Отсутствие защиты метаданных

PGP шифрует тело сообщения, но не скрывает такие метаданные, как адреса отправителя и получателя, дата и тема письма. В некоторых случаях метаданные могут быть критичны для сохранения анонимности.

Угрозы со стороны квантовых компьютеров

Асимметричные алгоритмы, используемые в PGP (RSA, DSA, ECDH), уязвимы перед гипотетическими квантовыми компьютерами, работающими по алгоритму Шора. Считается, что появление мощных квантовых компьютеров может сделать PGP небезопасным. В ответ на это сообщество разрабатывает постквантовые адаптации OpenPGP (например, на основе решёточных криптосистем).

Проблема забытых ключей

Если закрытый ключ утерян или забыт пароль от него, все зашифрованные для этого ключа данные становятся навсегда недоступными. В отличие от некоторых других систем, PGP не предусматривает механизма восстановления доступа (backdoor), что является как достоинством, так и недостатком.

Статус в России и правовые аспекты

В Российской Федерации использование криптографических средств регулируется Федеральным законом «Об информации, информационных технологиях и о защите информации» и законодательством о лицензировании криптографической деятельности. PGP не относится к запрещённым технологиям, однако:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →