跳到主要内容

PGP 加密邮件完整指南(以 Thunderbird 为例)

本指南从零开始讲清楚:

  • 什么是 PGP
  • 如何在 Thunderbird 中生成密钥
  • 如何发布与获取公钥
  • 如何发送与接收加密邮件
  • 常见公钥保存与发布方式
  • 安全建议与注意事项

不对比其他客户端,只以 Thunderbird 为例。


一、PGP 是什么?

PGP(Pretty Good Privacy)是一种端到端加密技术。

它的核心逻辑是:

用对方的"公钥"加密,只有对方的"私钥"能解密。

PGP 解决两个问题:

  1. 🔒 内容保密(即使邮件被截获也无法读取)
  2. ✍️ 身份验证(确认邮件确实由你发送)

二、三个核心概念

1️⃣ 公钥(Public Key)

  • 可以公开
  • 别人用它给你加密
  • 可以上传到公钥服务器或网站

2️⃣ 私钥(Private Key)

  • 必须自己保存
  • 用来解密别人发给你的邮件
  • 丢失后无法恢复历史加密邮件

3️⃣ 指纹(Fingerprint)

  • 公钥的唯一标识
  • 用于验证公钥没有被篡改
  • 建议通过电话或线下确认

三、整体流程图

生成密钥 → 发布公钥 → 导入对方公钥 → 发送加密邮件 → 对方解密


四、在 Thunderbird 中生成 OpenPGP 密钥

步骤:

  1. 打开 Thunderbird
  2. 进入"账户设置"
  3. 选择"端到端加密"
  4. 点击"添加密钥"
  5. 选择"生成新的 OpenPGP 密钥"
  6. 设置密钥有效期
  7. 设置保护密码

完成后:

  • 你拥有一对 公钥 + 私钥
  • 私钥保存在本地电脑中

五、导出公钥

步骤:

  1. 打开"OpenPGP 密钥管理"
  2. 选中你的密钥
  3. 点击"导出"
  4. 选择导出"公钥"
  5. 保存为 .asc 文件

这个文件可以发送给别人。


六、常见的公钥保存与发布方式

1️⃣ 直接发送公钥文件

  • 通过邮件发送 .asc 文件
  • 通过聊天工具发送
  • 通过 U 盘等方式线下传递

优点:简单
缺点:可能被中间人替换


2️⃣ 放在个人或公司网站

例如:

https://yourdomain.com/pgp.asc

建议:

  • 在"Contact / 联系方式"页面公布
  • 同时公布指纹
  • 明确说明"官方公钥"

3️⃣ 发布在 GitHub

方式:

  • 在 README 中粘贴公钥
  • 单独一个 pgp.asc 文件
  • 放在个人资料页面

4️⃣ 上传到公钥服务器(Key Server)

常见服务器:

  • keys.openpgp.org(推荐)
  • keyserver.ubuntu.com

优点:

  • 全球可查询
  • 可通过邮箱搜索

缺点:

  • 一旦上传难以删除

5️⃣ 使用 WKD(Web Key Directory)

适用于拥有域名的用户。

如果你的邮箱是:

user@yourdomain.com

可在服务器部署:

https://yourdomain.com/.well-known/openpgpkey/

Thunderbird 可自动发现公钥。


七、导入对方公钥

步骤:

  1. 打开"OpenPGP 密钥管理"
  2. 点击"导入"
  3. 选择对方的公钥文件
  4. 查看指纹
  5. 确认并信任

八、发送加密邮件

  1. 点击"写邮件"
  2. 填写收件人
  3. 点击 🔒 加密图标
  4. 建议同时启用"签名"
  5. 发送

九、接收加密邮件

  1. 打开邮件
  2. 自动识别为 PGP 加密
  3. 输入私钥密码
  4. 解密成功

十、安全建议

  • 使用强密码保护私钥
  • 定期更新密钥(例如 1~2 年)
  • 不随意信任未知公钥
  • 发布公钥时公开指纹
  • 离线备份私钥

十一、一句话总结

PGP 是真正"你掌握密钥"的邮件安全模式。
公钥可以公开,私钥必须永远安全。