
我们每天发送的电子邮件在到达收件人之前,会经过多台服务器中转。如果内容没有加密,任何在传输途中截获邮件的人都能像打开一张明信片一样直接读取内容。本指南将从零开始教您使用PGP/GPG加密邮件,确保只有真正的收件人才能阅读内容,即使邮件在传输过程中被截获或泄露也无妨。
什么是PGP/GPG?
PGP(Pretty Good Privacy)是Phil Zimmermann早在1991年开发的加密标准,用于保护电子邮件内容不被未授权方读取。GPG(GNU Privacy Guard)则是实现OpenPGP标准(RFC 4880)的免费开源软件,可在Windows、macOS和Linux上运行。如今人们通常将"PGP"和"GPG"互换使用,因为两者遵循相同原理,密钥文件也可以互通。
核心机制是非对称加密,使用一对相互匹配的密钥:公钥用于分享给他人,让对方用它加密发送给您的信息;私钥则只有您自己保管,用于解密。即使有人在传输途中截获了您的邮件,没有匹配的私钥也无法读取内容。
公钥与私钥如何配合工作
当A想给B发送一封机密邮件时,流程如下:A使用B的公钥加密邮件内容,然后照常发送这封已加密的邮件。只有持有匹配私钥的B才能在收到邮件后解密并阅读。即使是邮件服务商,或是在传输途中截获流量的任何人,看到的也只是毫无意义的密文。
除了加密功能,PGP/GPG还可以生成数字签名。A用自己的私钥为邮件签名,B则用A的公钥验证签名,从而确认邮件确实来自A本人,且未在传输过程中被篡改。这一功能能有效防御伪造发件人身份的网络钓鱼攻击。
为什么要加密电子邮件
- 防止中间人窃听——公共Wi-Fi网络或被入侵的中转服务器可能让未加密的邮件内容暴露给窃听者
- 保护重要商业数据——合同、密码、客户数据或财务文件通过邮件发送时应始终加密
- 验证发件人身份——数字签名能让收件人确信邮件未被伪造或篡改
- 满足合规要求——受数据保护法规或安全标准约束的企业,往往需要对通过邮件发送的敏感信息进行加密
开始之前需要准备的工具
使用PGP/GPG之前,需要根据您的操作系统安装相应软件:
- Windows——安装Gpg4win(gpg4win.org),其中包含用于图形化密钥管理的Kleopatra
- macOS——安装GPG Suite(gpgtools.org),可直接与Apple Mail集成
- Linux——大多数发行版已预装GnuPG,可用
gpg --version命令检查 - Thunderbird——这款免费邮件客户端从78版本起内置OpenPGP支持,无需安装插件,是新手最容易上手的选择
本指南以Thunderbird为例进行演示,因为它设置简单且跨平台通用。建议使用您自己的企业域名邮箱(例如通过AsiaGB邮件主机搭建的邮箱),而非免费网页邮箱,以获得更高的可信度。
如何生成密钥对
在Thunderbird中创建新密钥对的步骤如下:
- 打开Thunderbird,进入要加密的邮箱账户的账户设置
- 选择端到端加密菜单,点击添加密钥
- 选择创建新的OpenPGP密钥,并将密钥类型设置为RSA 4096位(建议选择最长的密钥长度以增强安全性)
- 设置密钥的有效期(建议1至2年,之后定期续期以保证长期安全)
- 设置一个难以猜测的密码短语——这是私钥万一落入他人之手时的最后一道防线
- 点击生成密钥,等待片刻,系统即会完成密钥对的创建
生成完成后,建议将公钥导出为.asc文件分享给联系人,或上传到公共密钥服务器(如keys.openpgp.org),方便他人查找您的公钥。
如何在Thunderbird中发送加密邮件
当您拥有自己的密钥对,并已导入收件人的公钥后(可通过添加密钥菜单从.asc文件导入,或在密钥服务器上查找),发送加密邮件就很简单了:打开新邮件撰写窗口,点击底部工具栏的锁形图标,选择加密与数字签名,然后照常撰写并发送邮件。软件会在发送前自动加密正文和附件。
收件人一方,Thunderbird会使用其私钥自动解密邮件,并显示"已签名并加密"的状态,同时确认发件人身份的真实性与内容的完整性。
信任网络与签名验证
PGP面临的一个挑战是:如何确认收到的公钥确实属于其声称的所有者,而不是攻击者伪造的假密钥。"信任网络"(Web of Trust)概念通过让用户在线下验证身份后(例如当面比对密钥指纹)互相为对方的公钥签名来解决这一问题。您信任的人为某个密钥签名的越多,该密钥的可信度就越高。
对大多数企业而言,更简便的做法是通过另一渠道(如电话或即时通讯软件)比对密钥指纹(一串40个字符的字符串),以确认收到的公钥确实与对方要分享的一致。
需要注意的限制
- 邮件主题不会被加密——PGP只加密正文和附件,切勿在主题栏中填写敏感信息
- 双方都需要使用PGP——如果收件人没有公钥或不支持PGP,邮件要么以未加密方式发送,要么根本无法发送
- 私钥丢失意味着永久无法访问——请将私钥备份在多个安全的位置,因为一旦忘记密码短语或密钥文件丢失,将无法恢复
- 元数据依然可见——即使内容已加密,邮件服务商仍能看到谁在何时给谁发了邮件
PGP与S/MIME对比
S/MIME是另一种电子邮件加密标准,使用由证书颁发机构(CA)签发的SSL证书,而非自行生成的密钥。两者的主要区别在于:S/MIME原生集成在Outlook和Apple Mail中,无需额外安装软件,因此更适合由集中式IT部门为员工签发证书的企业。而PGP/GPG更加开放,不依赖任何证书颁发机构,任何人都可以免费生成密钥,因此更受开发者、记者以及希望完全掌控自己加密密钥的组织青睐。
小贴士:PGP/GPG加密与自有企业域名邮箱搭配使用时效果最佳,因为您可以完全掌控服务器安全性,并叠加SPF/DKIM/DMARC来进一步防止发件人伪造。AsiaGB邮件主机通过DirectAdmin即可完整配置以上所有功能。
PGP和GPG有什么区别?
PGP是最初的标准,原本是商业软件;GPG(GNU Privacy Guard)则是实现同一OpenPGP标准的免费开源软件。如今两者可以互换使用,密钥文件也彼此兼容。
使用PGP需要安装哪些软件?
安装内置OpenPGP功能的Thunderbird,或在Windows上安装Gpg4win、在macOS上安装GPG Suite。生成公钥/私钥对后即可立即免费开始使用。
如果忘记私钥的密码短语,还能找回吗?
无法找回。密码短语是解锁私钥的唯一凭证,只有您本人知道。如果忘记且没有单独备份私钥,就必须重新生成一套新密钥,并通知所有联系人更换为您的新公钥。
没有安装PGP的收件人能打开加密邮件吗?
不能。用PGP加密的邮件会显示为无法读取的.asc附件或密文。收件人需要安装支持OpenPGP的软件,并拥有匹配的私钥才能解密阅读。
PGP会加密邮件主题吗?
不会。即使正文已加密,主题、发件人和收件人信息仍然可见。请避免在主题栏中填写敏感信息。
每封邮件都需要用PGP加密吗?
不一定。对包含合同、密码、财务数据或客户资料等敏感信息的邮件最有价值。不涉及敏感内容的日常邮件仍可照常发送。