为什么端到端加密的 PGP 邮件没有被广泛使用?

15 小时 12 分钟前
 jianglibo

看起来似乎是使用太复杂的缘故,真正的原因是所有邮件巨头对此项技术采取消极接纳的结果,如果积极推进使用的复杂性会马上得到解决。那么他们为什么要抗拒呢?一旦采用端到端的 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 或网易,如果你查看网页版的邮件,看到的是加密的内容(通常是附件形式)。

1951 次点击
所在节点    程序员
42 条回复
Owenjia
15 小时 5 分钟前
依稀记得在本站,有人问为什么不用 pgp 代替 base64 编码邮箱防爬虫,被喷了好多楼……
jianglibo
14 小时 52 分钟前
@Owenjia PGP 确实不是用来加密邮件内容,和防爬虫无关。PGP 就是确保通信双方知道内容,别人不知道。
jianglibo
14 小时 51 分钟前
@jianglibo typo ,PGP 是用来加密邮件内容。
sn0wdr1am
14 小时 50 分钟前
对普通人来说,使用复杂。
对于邮件服务商来说,看不到邮件内容,没法进行分析,没法窥探用户隐私,对投放广告没有任何好处,抵制使用。
stella
14 小时 40 分钟前
正确地使用 PGP 过于复杂:要保护 PGP 私钥文件、记住密码、定期轮换,更别提还有各种密钥剥离...正因此,也有许多密码学方面的人士批评 PGP 跟不上当今环境。
jianglibo
14 小时 33 分钟前
这里没有投票功能,不知有多少人正真的发送和接收过一个 PGP 加密的邮件?
artiga033
14 小时 22 分钟前
私钥:大部分非技术群体根本没有自己管理自己的私钥的能力或者学习这种能力的意愿。

公钥:依然需要中心化的方式来分发,你想用 openpgp 的,他想用 mozilla 的,还有人想用 ubuntu 的,我甚至想用自己的。就算商业公司入局,那也顶多是再多几个 keyserver.(gmail.com/live.com/qq.com/163.com)继续各自为战...
nicaiwss
14 小时 10 分钟前
主要就是公钥没有可靠渠道分发,中间人攻击太容易,建议是政府给每个人生成一对,和身份证绑定,终生不能替换,只能在政府网站查。
kkk9
13 小时 58 分钟前
@nicaiwss #8 终生不能替换,泄露私钥就直接枪毙是吧😂😂
MFWT
13 小时 37 分钟前
@jianglibo 我收发过,但第一印象还是太复杂了,各种 Key 很容易搞混用途/不正确配置
crackself
13 小时 34 分钟前
因为解密相对麻烦
jianglibo
13 小时 27 分钟前
@MFWT 对着这个帖子操作应该不算复杂,但有些人一直用网页端邮箱,甚至不知道有邮件客户端。不过 thunderbird 简化了常见邮箱的登录,还是值得尝试一下。
nbndco
13 小时 7 分钟前
绝大多数的用户的需求从来不是不让 Google 根据邮件内容显示广告,而且让 Google 根据邮件内容对邮件进行分类,垃圾邮件,风险邮件识别。没有需求的东西自然没人用。
MacsedProtoss
13 小时 1 分钟前
@nicaiwss gov 拿着?那不就是裸奔吗 给 gov 等于公开私钥
现在的国密就是这样 gov 想看内容就能看内容 你的私钥仅限于签名
ryd994
12 小时 57 分钟前
@nicaiwss #8 标准的错误用法:由第三方为你生成密钥
PGP 密钥应该由你自己生成,只传输公钥,私钥严格保管。严格的最好是在 TPM 智能卡里直接生成,任何人包括你自己都无法读取,只能由智能卡进行加解密操作。
智能卡丢了怎么办?预先互信几个备用的智能卡,丢了就直接挂失。
busier
12 小时 51 分钟前
客户端的问题

thunderbird 使用起来太烦琐

而 delta chat 则可以傻瓜式使用电子邮件+PGP
marsteel
12 小时 50 分钟前
普通的邮件服务商怎么能提供这种服务,如果界面提供加密,你需要把私钥告诉邮件服务商。你要安全就只能在网页之外自己用客户端自己加密。
seers
12 小时 35 分钟前
我司公司邮箱都是要导入个人证书才能解密
jianglibo
12 小时 25 分钟前
@seers 这个是 s/mime ,企业用的多
Destiny1332
12 小时 11 分钟前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1192939

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX