V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
jianglibo
V2EX  ›  程序员

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

  •  1
     
  •   jianglibo ·
    PRO
    · 17 小时 17 分钟前 · 2046 次点击

    看起来似乎是使用太复杂的缘故,真正的原因是所有邮件巨头对此项技术采取消极接纳的结果,如果积极推进使用的复杂性会马上得到解决。那么他们为什么要抗拒呢?一旦采用端到端的 PGP 加密,那些邮件服务商无法看到邮件的内容,无法扫描,也无法提供和内容关联的广告,总之无法从用户的邮件中获取信息。

    当然作为程序员要面对现实,抱怨不解决任何问题,但我可以使用 PGP 加密,当越来越多的人使用 PGP 加密通讯时,反而会促进邮件厂商的跟进。目前的情况下,使用一款支持 PGP 的邮件客户端是普通人入门 PGP 加密邮件的最佳选择,thunderbird 几乎是不二的选择。

    我是 [email protected] 要发送一封加密的邮件给 [email protected] 。打开 thunderbird 发送邮件的界面:

    你会看到加密按钮是灰掉的,你需要在账号设置的端到端加密界面生成自己的密钥对。

    密钥对生成之后:

    这里有个发布按钮,这个会将你的邮箱的公钥发布到 keys.openpgp.org ,这个有什么用?等一下你给 [email protected] 发邮件时就会需要 b 的公钥,除非通过其它方式获取 b 的公钥,不然你没法给 b 发加密邮件。

    当你的 [email protected] 账号有了密钥对之后,thunderbird 发送邮件的界面就会出现变化。此时加密按钮激活了。

    然后当你输入 [email protected] 之后,并且点击加密按钮,此时 thunderbird 系统内还没有 [email protected] 的公钥,它会尝试获取这个电邮的公钥,比如 KWD ,keys.openpgp.org

    点击解决,可以看到不同的导入方法,其中包括文件导入。

    当你导入之后,就可以发送加密邮件了。 当 a 发给 b 时,用 b 的公钥加密,用 a 的私钥对内容签名(防篡改).反之则反之。

    接下来谈谈 KWD ( web key directory),直接以例子说明可以直观的了解它的应用范围。比如一个邮箱 [email protected] ,如果邮箱主人同时拥有 never-lost.app 的域名,那么它可以在自己的站点部署 KWD 端点,类似于域名验证的挑战,都是在.well-known 的目录下。比如:

    email: [email protected]
    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 发送邮件的界面输入 [email protected] 时,thunderbird 显示前面图片中的黄色警告,然后你点击 在网上寻找公钥,thunderbird 就会从该网站获取公钥。 如果域名不是你的,那么可以将你的公钥发送到 keys.openpgp.org ,thunderbird 也会从该网站查找。

    怎么样?准备发送你的第一封 PGP 加密邮件了吗?如果你没有可接受加密邮件的邮箱,可以发送到 [email protected] ,会自动回复加密的邮件。

    PGP 加密的私钥在你手里,你掌控你的信息。不是 Google ,微软,qq 或网易,如果你查看网页版的邮件,看到的是加密的内容(通常是附件形式)。

    44 条回复    2026-02-16 07:59:30 +08:00
    Owenjia
        1
    Owenjia  
       17 小时 11 分钟前   ❤️ 1
    依稀记得在本站,有人问为什么不用 pgp 代替 base64 编码邮箱防爬虫,被喷了好多楼……
    jianglibo
        2
    jianglibo  
    OP
    PRO
       16 小时 57 分钟前 via Android
    @Owenjia PGP 确实不是用来加密邮件内容,和防爬虫无关。PGP 就是确保通信双方知道内容,别人不知道。
    jianglibo
        3
    jianglibo  
    OP
    PRO
       16 小时 56 分钟前 via Android
    @jianglibo typo ,PGP 是用来加密邮件内容。
    sn0wdr1am
        4
    sn0wdr1am  
       16 小时 56 分钟前   ❤️ 1
    对普通人来说,使用复杂。
    对于邮件服务商来说,看不到邮件内容,没法进行分析,没法窥探用户隐私,对投放广告没有任何好处,抵制使用。
    stella
        5
    stella  
       16 小时 45 分钟前   ❤️ 1
    正确地使用 PGP 过于复杂:要保护 PGP 私钥文件、记住密码、定期轮换,更别提还有各种密钥剥离...正因此,也有许多密码学方面的人士批评 PGP 跟不上当今环境。
    jianglibo
        6
    jianglibo  
    OP
    PRO
       16 小时 39 分钟前 via Android
    这里没有投票功能,不知有多少人正真的发送和接收过一个 PGP 加密的邮件?
    artiga033
        7
    artiga033  
       16 小时 27 分钟前 via Android
    私钥:大部分非技术群体根本没有自己管理自己的私钥的能力或者学习这种能力的意愿。

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

    thunderbird 使用起来太烦琐

    而 delta chat 则可以傻瓜式使用电子邮件+PGP
    marsteel
        17
    marsteel  
       14 小时 55 分钟前
    普通的邮件服务商怎么能提供这种服务,如果界面提供加密,你需要把私钥告诉邮件服务商。你要安全就只能在网页之外自己用客户端自己加密。
    seers
        18
    seers  
       14 小时 41 分钟前 via Android
    我司公司邮箱都是要导入个人证书才能解密
    jianglibo
        19
    jianglibo  
    OP
    PRO
       14 小时 30 分钟前 via Android
    @seers 这个是 s/mime ,企业用的多
    Destiny1332
        20
    Destiny1332  
       14 小时 16 分钟前
    Muniesa
        21
    Muniesa  
       13 小时 59 分钟前 via Android
    了解过但从没用过,主要现在发邮件要么是工作汇报,要么就是找什么客服,加密还是太麻烦
    busier
        22
    busier  
       13 小时 52 分钟前 via iPhone
    这个技术本来就是用来防止邮件运营商看到邮件内容,存在对抗审查的嫌疑。显然不会推广提倡使用。最好大家都不知道还有这么个东西。目前只有小范围公司使用。

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

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

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

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

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

    ④最后是根本硬伤:

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

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

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

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

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

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

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

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

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

    @sworld233

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

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

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

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

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

    怎么说呢

    S/MIME 用来签名邮件还好点,毕竟他有 CA 。

    PGP 就有点尴尬了。
    onionKnight888
        42
    onionKnight888  
       7 小时 36 分钟前 via iPhone
    记得刚工作时的第一个公司发工资邮件就用 pgp ,仅此一家
    jianglibo
        43
    jianglibo  
    OP
    PRO
       12 分钟前 via Android
    我发现许多人没有用 thunderbird 尝试一下就在那里说什么不安全,说什么都 2026 了还用这玩意,密码学不是前端,花样百出。thunderbird 在设计时通过 UI 的提醒,只有你在人工和对对方的指纹之后,最终交互的邮件才会显示帖子中最后的安全图标。一旦使用,作为程序员,这个真不难,只是需要花点脑子理解一下,只有好处,没有坏处。
    jianglibo
        44
    jianglibo  
    OP
    PRO
       8 分钟前 via Android
    @cynics PGP 做两件事,一是签名,是证明邮件是你发的,并且没有被修改过。二是加密,只有收件人可以解密。
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   2448 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:08 · PVG 08:08 · LAX 16:08 · JFK 19:08
    ♥ Do have faith in what you're doing.