看起来似乎是使用太复杂的缘故,真正的原因是所有邮件巨头对此项技术采取消极接纳的结果,如果积极推进使用的复杂性会马上得到解决。那么他们为什么要抗拒呢?一旦采用端到端的 PGP 加密,那些邮件服务商无法看到邮件的内容,无法扫描,也无法提供和内容关联的广告,总之无法从用户的邮件中获取信息。
当然作为程序员要面对现实,抱怨不解决任何问题,但我可以使用 PGP 加密,当越来越多的人使用 PGP 加密通讯时,反而会促进邮件厂商的跟进。目前的情况下,使用一款支持 PGP 的邮件客户端是普通人入门 PGP 加密邮件的最佳选择,thunderbird 几乎是不二的选择。
我是 a@example.com 要发送一封加密的邮件给 b@example.com 。打开 thunderbird 发送邮件的界面:
你会看到加密按钮是灰掉的,你需要在账号设置的端到端加密界面生成自己的密钥对。
密钥对生成之后:
这里有个发布按钮,这个会将你的邮箱的公钥发布到 keys.openpgp.org ,这个有什么用?等一下你给 b@example.com 发邮件时就会需要 b 的公钥,除非通过其它方式获取 b 的公钥,不然你没法给 b 发加密邮件。
当你的 a@example.com 账号有了密钥对之后,thunderbird 发送邮件的界面就会出现变化。此时加密按钮激活了。
然后当你输入 b@example.com 之后,并且点击加密按钮,此时 thunderbird 系统内还没有 b@example.com 的公钥,它会尝试获取这个电邮的公钥,比如 KWD ,keys.openpgp.org ,
点击解决,可以看到不同的导入方法,其中包括文件导入。
当你导入之后,就可以发送加密邮件了。 当 a 发给 b 时,用 b 的公钥加密,用 a 的私钥对内容签名(防篡改).反之则反之。
接下来谈谈 KWD ( web key directory),直接以例子说明可以直观的了解它的应用范围。比如一个邮箱 sky@never-lost.app ,如果邮箱主人同时拥有 never-lost.app 的域名,那么它可以在自己的站点部署 KWD 端点,类似于域名验证的挑战,都是在.well-known 的目录下。比如:
email: sky@never-lost.app
localpart: sky
domain: never-lost.app
wkd_hash: kh566nfd7omkgp7cxgo7qgx51gsmwefr
wkd_policy_url: https://never-lost.app/.well-known/openpgpkey/policy
wkd_hu_url: https://never-lost.app/.well-known/openpgpkey/hu/kh566nfd7omkgp7cxgo7qgx51gsmwefr
policy_record_exists: yes
hu_record_exists: yes
key_id: B4621D5A04EB1A1C
fingerprint: F08FD399804724A1307CE38DB4621D5A04EB1A1C
这个有什么用呢?当你在 thunderbird 发送邮件的界面输入 sky@never-lost.app 时,thunderbird 显示前面图片中的黄色警告,然后你点击 在网上寻找公钥,thunderbird 就会从该网站获取公钥。 如果域名不是你的,那么可以将你的公钥发送到 keys.openpgp.org ,thunderbird 也会从该网站查找。
怎么样?准备发送你的第一封 PGP 加密邮件了吗?如果你没有可接受加密邮件的邮箱,可以发送到 sky@never-lost.app ,会自动回复加密的邮件。
PGP 加密的私钥在你手里,你掌控你的信息。不是 Google ,微软,qq 或网易,如果你查看网页版的邮件,看到的是加密的内容(通常是附件形式)。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.