这是一个为新手准备的从无到有的发送加密邮件的教程,老手请略过~
我的公钥请戳导航栏
在电影《斯诺登》中,斯诺登就要求她的女朋友使用加密邮件和她通信,并且说,很简单,其实真的很简单。
如今情况越来越变得严峻,加密邮件是保护隐私的重要手段之一。
一些邮箱只提供不加密的 SMTP/IMAP/POP3,这些通信过程无疑是具有被偷窥、劫持的风险的;有些提供了支持 SSL/TLS 的 SMTP,但是我们仍然无法保证服务器的偷窥、审查。
保护隐私的理由大概不用说什么了。
考虑到广大读者都是使用 Windows 的,所以此次使用 Windows 下的 Thunderbird + Enigmail 作为示例。对于 Linux、Mac OS,Thunderbird 也是有的,基本操作也都是类似的。
准备工具:Mozilla Thunderbird
没错就是小狐狸的那个 Mozilla(不过 Mozilla 已经不再管 Thunderbird 了)
看我百变 doge
当然啦咱得准备个邮箱……
为了方便起见,咱给 Thunderbird 的菜单添加出来。如图所示
打开 Thunderbird,在主页面选择创建新账户 - 电子邮件(或者右上角菜单 - 选项 - 账户设置 -(左下角)添加邮件账户,会进入如图所示页面,我们输入自己的邮箱和密码
点击继续,有的时候 Thunderbird 无法找到正确的 SMTP/IMAP 服务器,那咱就要手动配置下。具体的 SMTP/IMAP 服务器,参考你的邮箱的帮助。
腾讯企业邮是
smtp.exmail.qq.com 端口 465
imap.exmail.qq.com 端口 993
QQ 邮箱是
smtp.qq.com 端口 465
imap.qq.com 端口 993
正确填入信息之后,点击重新测试按钮。
之后点击完成,Thunderbird 会验证密码
注意:
1. 有些邮箱默认不开启 SMTP、IMAP 服务,有些邮箱默认需要一个特殊的动态密码才能够使用邮件客户端。遇到这种情况请查看对应邮箱的帮助和设置文档。
2. 有时如果没有重新测试按钮,可能是因为启用了 Enigmail 扩展。请暂时将其禁用。
3.Thunderbird 默认会把发送后的邮件保存到已发送文件夹,在某些邮件服务商下这一步骤可能会耗费很长时间,所以如果遇到类似问题,可以在账户设置中取消这个选项。
在 Thunderbird 的菜单 - 附加组件中搜索 Enigmail 并安装。这一步大概是个人都会吧……
Enigmail - 安装向导 - 我更喜欢扩展配置(其实普通的也行)。相信大部分用户都会有这么个提示:需要 GnuPG 什么的。
咱就点上面的安装吧,之后他会为我们下载 GnuPG 并运行,咱只要无脑下一步就可以啦。
之后,我们选择 " 我想为数字签名和加密邮件创建新的密钥对 ",如下图所示
此时由于我们的 Thunderbird 只添加了一个邮箱,所以这里默认就是为这个邮箱创建密钥对。
这里需要输入一个密码,并且一定要牢记。
点击下一步之后,就是等待。当进度条走到最后的时候,屏幕上会提示您的密钥已生成。此时如果不想生成证书废除,点取消 - 关闭就可以啦。
备注:无法下一步的原因是因为没有 "创建证书废除",所谓证书废除就是能够废除你的公钥的那个玩意,如果大家觉得有必要的话,生成也是可以的。
我们想要给其他人发邮件,必然要有其他人的公钥,所以这里大家得找个公钥,比如说我的公钥你可以这里下载
下载完成之后,Enigmail - 密钥管理 - 文件 - 从文件导入密钥,选择下载的公钥(通常扩展名是 asc),之后在密钥管理器里面我们可以看见导入的公钥
导入公钥之后,就可以发送加密邮件啦。这一步仅需要设置一次。点击新建消息,
我们点击 Enigmail 的工具条中红框所示按钮,点击配置,
选择 " 为这个标识打开 OpenPGP……" 其他选项默认即可。
之后 Enigmail 会再次弹出来,问我们选择何种加密方式
我们确保勾选了 "加密邮件" 这个选项,其他默认不动,确定即可。
注:
我们可以在选项 - 账户设置 - OpenPGP 中启用。操作方式是一样的。
在刚刚的新建消息页面,我们输入邮箱、主题、正文,确保工具栏中 Enigmail 提示已加密。然后菜单栏中选择 Enigmail - 附加公钥(或者直接点工具栏的附送我的公钥也可以),选择自己邮箱的公钥。之后发送即可。
注:
想要双向通信,就要让对方也持有你的公钥,否则这通信就会是单向的了。
我们打开 Thunderbird 并选择获取消息,会发现这么一个新的邮件
我们只要点击标题,输入密码即可成功解密啦。
那么我们如何回复呢?简单的点击回复,输入正文,确保 Enigmail 提示此消息将被加密,发送即可。
我们可以从可信的地方(他的分享在 HTTPS 博客站上的公钥下载、密钥服务器、面交)、邮件附送的公钥确认这个公钥的合法性,之后在 Enigmail 的密钥管理中根据情况使用文件 - 从文件导入密钥、编辑 - 从剪贴板导入密钥、或者 Thunderbird 直接右键导入即可。
在 Enigmail 的密钥管理中,点击你的邮箱,选择导出密钥到文件,然后选择只导出公钥。之后你可以通过将这个文件贴到自己的博客上,存到 U 盘里等安全的方式来交换密钥。
注:
可以将公钥的内容复制粘贴作为博文发布,但是 WordPress 处理五个 - 的时候会转义,敬请注意。
这个可以算得上是社会学问题了,我们可以想象下如果用中间人劫持的手段对付公钥密码,将会是怎样的情景。
邮件正文以及附件。收件人、发件人、邮件主题都是无法被保护的。
注意:只有 PGP/MIME 才可以保护邮件附件(包括文件名);内嵌 PGP 不可以。
使用 Linux 的用户,在导入了密钥之后,咱还可以用gpg2 -d
来解密,gpg2 –e -a
来加密。
这个…… 我只知道 Android 上有个 APG 可以用来解密、加密 PGP Message……
如果你收到了 enigmail 发的邮件,但是自己只有 cli 的 gpg,那么怎么办呢?直接把 encrypt.asc 解密了,扩展名改成 eml,用任意的邮件客户端打开就可以啦
更多从参考资料,请阅读如下文章:
https://securityinabox.org/zh/guide/thunderbird/windows/
https://dmesg.app/encryption-gpg-veracrypt.html
https://getfreedom.life/191/