Шифрование электронной почты с помощью PGP и GPG
Настройте и используйте GPG для подписи и шифрования электронных писем, а также разберитесь в модели доверия PGP
«Шифрование электронной почты с помощью PGP и GPG» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.
Фил Циммерман и рождение PGP
Фил Циммерман выпустил PGP в 1991 году, впервые сделав надёжное шифрование доступным обычным людям. Правительство US первоначально расследовало его за экспорт вооружений без лицензии, поскольку шифрование считалось оружием. Дело было закрыто в 1996 году, а PGP стал знаковым достижением в области технологий защиты личной информации.
Пары открытого и закрытого ключей в PGP
PGP использует асимметричную криптографию: Вы создаёте математически связанные пару ключей. Открытым ключом можно свободно делиться; другие люди используют его, чтобы шифровать сообщения для Вас. Закрытый ключ хранится в секрете и используется для расшифровки этих сообщений. Потеря закрытого ключа означает потерю доступа ко всем зашифрованным данным.
Шифрование сообщения для получателя
Чтобы отправить кому-либо зашифрованное электронное письмо, Вы получаете его открытый ключ и используете его для шифрования сообщения. Расшифровать и прочитать его может только владелец соответствующего закрытого ключа. На самом деле PGP использует гибридное шифрование: случайный сеансовый ключ шифрует сообщение симметричным шифром, а затем сам сеансовый ключ шифруется открытым ключом получателя.
Подписание с помощью Вашего закрытого ключа
Вы также можете подписать сообщение с помощью своего закрытого ключа. Получатель проверяет подпись с помощью Вашего открытого ключа, подтверждая и то, что сообщение отправили Вы, и то, что его содержимое не изменялось. Подписание и шифрование — независимые операции, которые можно сочетать: обычно сообщение сначала подписывают, а затем шифруют или сначала шифруют, а затем подписывают — в зависимости от модели угроз.
Модель сети доверия
PGP не полагается на центры сертификации. Вместо этого используется сеть доверия, в которой люди подписывают открытые ключи друг друга, подтверждая их подлинность. Если Алиса доверяет Бобу, а Боб подписал ключ Кэрол, Алиса может косвенно доверять ключу Кэрол. Эта модель хорошо работает в технических сообществах, но ее сложно внедрить для обычных пользователей.
GPG: свободная реализация
GNU Privacy Guard, обычно называемый GPG или GnuPG, — это свободная реализация стандарта OpenPGP с открытым исходным кодом. Он работает в Linux, macOS и Windows и предоставляет как интерфейс командной строки, так и библиотеку для интеграции функций PGP в приложения. Сегодня GPG является фактическим стандартным инструментом для операций OpenPGP.
Создание первой пары ключей GPG
Запуск команды gpg --full-generate-key пошагово предлагает выбрать алгоритм, размер ключа и дату окончания его действия. Ed25519 — современный выбор для подписания, а Curve25519 — для шифрования. Вы должны задать парольную фразу, которая защищает Ваш закрытый ключ на диске. В процессе создания ключа из активности системы собирается энтропия, обеспечивающая случайность.
Экспорт и передача открытого ключа
После создания пары ключей экспортируйте открытый ключ с помощью команды gpg --armor --export your@email.com и передайте получившийся текстовый блок. Получатели импортируют его командой gpg --import. Вы можете разместить открытый ключ на своем веб-сайте, в подписи электронного письма или на сервере ключей. Никогда не передавайте файл закрытого ключа.
Серверы ключей и поиск ключей
Серверы ключей, такие как keys.openpgp.org и keyserver.ubuntu.com, позволяют людям публиковать и находить открытые ключи. Вы загружаете ключ с помощью команды gpg --keyserver keys.openpgp.org --send-keys YOURKEYID. Современный keys.openpgp.org требует подтверждения адреса электронной почты перед публикацией, что уменьшает проблему загрузки поддельных ключей для чужих адресов.
Шифрование файлов и электронных писем с помощью GPG CLI
Чтобы зашифровать файл, выполните команду gpg --encrypt --recipient recipient@email.com --armor file.txt — она создаст файл file.txt.asc. Для расшифровки выполните команду gpg --decrypt file.txt.asc. Для электронной почты такие инструменты, как Thunderbird со встроенной поддержкой OpenPGP или дополнение Enigmail, напрямую интегрируют GPG в окно составления письма, прозрачно выполняя поиск ключей и шифрование.
Ограничения PGP и проблемы удобства использования
Шифрование PGP защищает тело сообщения, но поля «Кому», «От», «Тема» и даты остаются в открытом виде. Управление ключами сложно: пользователи должны найти, проверить и принять ключи получателей. Почтовые серверы не могут искать или индексировать зашифрованную электронную почту. Эти проблемы удобства использования ограничили распространение PGP за пределами технических сообществ, несмотря на его высокую криптографическую стойкость.
Использование ключей PGP
Если Вы хотите отправить коллеге зашифрованное электронное письмо с помощью PGP, какой ключ Вы используете для шифрования сообщения?
PGP и GPG: главные выводы
PGP обеспечивает сквозное шифрование и цифровые подписи для электронной почты с помощью пар открытого и закрытого ключей. GPG — это свободная реализация с открытым исходным кодом. Сеть доверия заменяет централизованные центры сертификации. Открытыми ключами можно обмениваться через серверы ключей, тогда как закрытые ключи необходимо защищать надежной парольной фразой. Удобство использования остается главным препятствием для широкого распространения.
Изучай Cryptology Academy с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 67
- Уроки
- 261
Часто задаваемые вопросы
Урок «Шифрование электронной почты с помощью PGP и GPG» бесплатный?
Да — полный текст урока «Шифрование электронной почты с помощью PGP и GPG» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.
Чему я научусь в уроке «Шифрование электронной почты с помощью PGP и GPG»?
Настройте и используйте GPG для подписи и шифрования электронных писем, а также разберитесь в модели доверия PGP Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cryptology Academy?
Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Шифрование электронной почты с помощью PGP и GPG»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cryptology Academy?
Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Почему электронная почта изначально небезопасна
- Шифрование электронной почты с помощью PGP и GPG
- S/MIME в корпоративной электронной почте
- Сквозное шифрование в современных мессенджерах