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

2 月 15 日
 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 或网易,如果你查看网页版的邮件,看到的是加密的内容(通常是附件形式)。

8600 次点击
所在节点    程序员
83 条回复
Muniesa
2 月 15 日
了解过但从没用过,主要现在发邮件要么是工作汇报,要么就是找什么客服,加密还是太麻烦
busier
2 月 15 日
这个技术本来就是用来防止邮件运营商看到邮件内容,存在对抗审查的嫌疑。显然不会推广提倡使用。最好大家都不知道还有这么个东西。目前只有小范围公司使用。

你在看看市面上,所有使用 E2EE 技术的通信软件是个什么下场,就知道开发这类产品不但没市场,而且还有可能进去。
YGHMXFAL
2 月 15 日
①首先,2026 年了,推荐使用 AGE+MiniSign 来替代 OPENPGP 家族

这俩货的设计哲学是“简单到死”,无配置文件,没有一堆不必要地复杂模块和设计

而且只使用单一高强度算法,维护和审查都大大便利

②OPENPGP 和类似 E2EE 通讯方案没有普及绝对不是因为其复杂性,通过概念抽象和防呆封装,可以让文科生在 10 分钟内结束第一轮加密通讯,因为我就干过这事儿,我给医学生侄女打造了一套 GNUPG+IPFS 的大文件传输方案,因为她的作业/教案里有很多解剖/母婴类内容经常被 QQ 审查,她和她的同学们师兄师姐师弟师妹们通过我的握手服务器(位于墙内)已经交换了公钥 1300+次,所以“复杂性”绝对不是问题

③问题在于“对抗审查”这个属性必然被绝大多数商业公司和政府所痛恨,因此它们没有动力推广/优化,甚至它们现阶段没有“敢加密就封号”我就已经谢天谢地了

④最后是根本硬伤:

公钥交换没有办法,硬核专家只信任自己当面交换的公钥,普通小白会信任任何看起来像公钥的乱码,大多数时候这就像一场闹剧

更别提还存在中间人攻击,给我侄女打造的方案之所以可以运转,那是因为她们都是同学,随时可以见面校验公钥

找不到什么好办法来解决公钥交换这个根本硬伤
YGHMXFAL
2 月 15 日
@busier #16 容易被服务商判定滥用,速率太高了
busier
2 月 15 日
@YGHMXFAL 如果你说的速率太高是指发邮件频繁容易被封的话,这显然与客户端软件无关,不是 delta chat 独有的问题。

邮件系统本来就是去中心化系统,有一定抗封锁能力。

被封了就换其它邮件服务商,甚至自建,而不用吊死在一棵树上。

虽然大厂邮件系统往往不接受自建邮件系统发过来的邮件,大不了我自建邮件与自建邮件聊,大厂邮箱与大厂邮箱聊。

反正我去中心化,随时可以架设 MTA 。
charles0
2 月 15 日
因为不安全,在端到端加密里面 PGP 邮件属于非常原始和不够安全的,如果你需要真正安全的聊天,参考:XMPP 、OTR ( Off The Record )、Signal 、iMessage PQ3 、MLS (消息层安全协议)、Matrix

最基础的,PGP 默认不保证前向安全,你至少需要 Signal 那种双棘轮算法
charles0
2 月 15 日
这就导致反审查社区不会用 PGP 邮件(不够安全)而普通人也不会用(不够方便)
kevinzhwl
2 月 15 日
脱离时代的东西, 传一个用强密码加密压缩文件,都比这个简单
busier
2 月 15 日
@kevinzhwl 额,非对称加密与对称加密的使用场景完全不同。

大家在讨论非对称加密时,你突然抛出个对称加密及应用场景,这样会显得牛头不对马嘴!
sworld233
2 月 15 日
PGP 不够安全, #26 说的不错了,前向保密、认证加密、元数据保护都不太好,非常不现代,密钥管理也不方便
kingcanfish
2 月 15 日
感觉 pgp 现在唯一见过用途广泛的就是 git commit 的签名了
busier
2 月 15 日
@charles0

@sworld233

“前向安全”的场景不适合电子邮件!

你仔细想一想,你重装完系统,配置完邮件客户端,导入私钥,就可以解密旧的邮件。

如果有前向安全的话,倒入之前的私钥你也无法解密旧邮件。

这显然是不符合电子邮件使用场景的。
jianglibo
2 月 15 日
@YGHMXFAL 说出了关键点,触及到政府和商业利益团体痛。
kevinzhwl
2 月 15 日
@busier 其实我向表达的重点是“便利性”, 才“没有被广泛使用”(一般用户不关心技术细节)。你们可以继续讨论非对称加密。
jackOff
2 月 15 日
违法了,运营商无法监管通信内容,那你这玩意就是间谍软件
lnbiuc
2 月 15 日
一直在用,配合 simplelogin ,每个网站都创建新邮箱注册,通过 simplelogin pgp 加密之后转发到阿里企业邮箱,然后在客户端解密
缺点是 subject 没加密,能看到一点儿信息
DaCong
2 月 15 日
我觉得帖子里面提到的使用过程对于很多普通人来说已经是非常复杂了。这可能是为什么这项技术没有普及的很大一个原因。
例如说,你好不容易在你的一群朋友之间建立起了这种加密的通讯方式,只要有人在一次赶时间的时候疏忽了加密并且 reply all 了,邮件客户端很有可能引用了之前的邮件内容并且把整个对话泄露出去。
一个好的密码学工具不应该被设计成只有专家才能正确使用。它应该提供更多的 secure by default 的特性。

另一方面是 email 这个领域基本上只有各个科技巨头在维护/提供服务。真的想要推进某些技术标准现实中需要这些大玩家的支持,但他们因为监管、合规等等原因并没有很强的动力去做这件事情。
MeMoDiv
2 月 16 日
让别人用一个技术的理由应该是别人觉得好用,而不是你觉得好用。
别人不用这个技术的原因也很简单,就是不好用。尝试用商业产品的思路去理解会容易很多。你所说的 OpenPGP 的诸多优点只是它还没被扫进历史的垃圾堆的理由,离成为流行差太远了
busier
2 月 16 日
@jackOff 你最好把#35“运营商”换成别的啥的,不然在 TLS 流行的今天,显得你还活在上个世纪。
cynics
2 月 16 日
@jianglibo 也可以用来签名,有段时间 gmail 还支持签名

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

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

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

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

© 2021 V2EX