Введение

PGP (Pretty Good Privacy) — семейство криптографических протоколов и форматов, созданное Филом Циммерманном в 1991 году для защиты email и файлов. Сегодня стандарт де-факто называется OpenPGP (RFC 4880 и successors), а свободная реализация GNU Privacy Guard (GPG) установлена на большинстве Linux-систем и доступна для Windows/macOS. PGP решает три задачи: конфиденциальность (encryption), целостность и аутентичность (digital signatures), а также распределённое управление ключами через web of trust и keyservers.

В контексте криптоанонимности PGP остаётся рабочим инструментом для signed announcements, encrypted coordination P2P-сделок и verification software releases — даже когда мессенджеры с E2E encryption удобнее для chat.

Криптографические основы

OpenPGP использует гибридное шифрование: симметричный session key (AES и др.) шифрует payload, а asymmetric key (RSA, ECDSA/Curve25519 в modern profiles) шифрует session key для каждого получателя. Подпись создаётся private signing key и проверяется public key. Separate subkeys для signing и encryption позволяют ротировать encryption subkey без смены identity master key.

Fingerprint — короткий идентификатор public key (SHA-1 historically, modern keys use stronger hashes). Users должны сверять fingerprint по второму каналу (voice, in-person) — keyservers не гарантируют, что uploaded key принадлежит заявленному email.

Web of trust vs TOFU

Классическая модель PGP: участники подписывают ключи друг друга после проверки identity, формируя граф доверия. Marginal vs ultimate trust определяет, чужие signatures учитываются ли при валидации.

На практике web of trust частично заменён TOFU (Trust On First Use) как в Signal — первое получение ключа кэшируется, изменения fingerprint тригger warning. Keyservers вроде keys.openpgp.org поддерживают verified email upload, но не предотвращают все spoofing сценарии.

Практическое применение

Шифрование email

Integrations: Enigmail/Thunderbird, GPG Mail plugins, mutt, neomutt. MIME attachments шифруются целиком. Metadata (from, to, subject, time) остаётся видимой почтовым серверам — для metadata privacy нужен дополнительный transport (Tor, mix networks).

Подпись файлов и репозиториев

Release engineering: tarballs подписываются maintainer key, пользователь gpg --verify перед установкой. Git supports signed commits (often via SSH now, but PGP-signed tags remain common in legacy projects).

Encrypted pastebins и dead drops

Публикация ciphertext с передачей passphrase out-of-band — простой паттерн для static secrets distribution.

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

Master private key храните offline на air-gapped machine или smartcard (YubiKey OpenPGP). Daily operations — encryption/signing subkeys on online machine with expiration dates. Revocation certificate сгенерируйте при создании master и храните offline — без него компрометация key = permanent identity hijack на keyservers.

Passphrase на private key обязателен; без неё stolen key file = instant breach. Argon2/scrypt-protected key storage в modern GPG.

Rotation policy: encryption subkey каждые 1–2 года, master — долгоживущий с редкой offline rotation.

Ограничения и критика

Usability historically poor: key management confusing для non-technical users. No forward secrecy в classic email PGP — скомпрометированный long-term key расшифровывает весь архив. Modern protocols (Signal Double Ratchet) лучше для chat.

Metadata leakage, lack of deniability в некоторых режимах, и dependency on client-side implementation quality — частые audit findings. Не используйте deprecated algorithms (MD5, SHA-1 for signatures in new keys, RSA-1024).

Интеграция в рабочие процессы команд

Distributed teams используют PGP для signed release tags, encrypted incident reports и verification CI artifacts. Пример: maintainer публикует SHA256 tarball и detached .sig; пользователь импортирует public key из официального сайта (не из email!) и выполняет verify. Automating через gpg --verify в shell scripts снижает human error.

Для rotating keys команда публикует transition statement: old key signs new key, expiration dates overlap grace period. Keyservers могут cache revoked keys — проверяйте статус перед trust.

WKD и распространение ключей

Web Key Directory (WKD) позволяет email-клиентам автоматически fetch public key с домена openpgpkey.example.com. Для организаций это удобнее ручного keyserver search. Настройка требует DNS и HTTPS hosting — operational overhead, но улучшает UX для correspondents.

Post-quantum дискуссия

OpenPGP community обсуждает hybrid post-quantum algorithms для long-term archive encryption. Текущие RSA/ECDH keys theoretically vulnerable to future quantum adversary — для data с horizon decades consider additional layers или periodic re-encryption с modern algorithms по мере стандартизации RFC.

Типичные ошибки новичков

Upload private key «для backup» на keyserver — катастрофа. Публикация только email без verification fingerprint на сайте. Использование weak RSA-1024 в 2026. Отсутствие revocation certificate. Шифрование без signing — MITM может подменить ciphertext. Смешение personal и pseudonymous keys на одном keyring без alias separation.

Связанные термины

Tor — скрытие IP при отправке PGP email через hidden mail providers. Escrow — encrypted contracts между сторонами. Seed phrase — другой класс secrets, не путать с PGP passphrase.

Autocrypt и автоматизация email encryption

Autocrypt protocol attempts reduce PGP UX friction через automatic key exchange headers in emails — controversial in security community из- trade-offs trust model. Understand before enabling in client; may not meet high-threat requirements traditional fingerprint verification satisfies.

Заключение

PGP — зрелый, audited building block asymmetric cryptography с decades-long track record. Он не заменяет holistic OPSEC, но остаётся стандартом для signed static content, cross-platform encrypted files и identity that не привязана к телефону. Освойте gpg --full-generate-key, verification fingerprints и subkey workflow — это базовая грамотность для anyone operating in high-trust cryptographic environments.