对 ProtonMail 及其它加密邮件服务的看法

这段时间在考察几个比较有名的加密邮件服务商,本文系把自己的笔记简单扩充而成。分成两部分,第一部分以 ProtonMail 为例讨论了目前加密邮件服务的问题。第二部分简单对比了一下几家著名的加密邮件服务商。 以 ProtonMail 为例讨论加密邮件服务 引言 很多注重隐私的人正在逃离 Gmail 这样的大公司服务而转向更重视隐私的加密邮件服务商。然而,固然这些服务商在降低加密技术的使用门槛上做了很大努力,也的确使得它们的服务相对于传统邮件加密工具显得更加平易近人,但使用者如果盲目信任它们而以为使用它们就完全安全,因而疏于防范,很可能会使自己陷入真正的危险中。尤其是对于某些不希望公权力侵犯自己的通讯隐私的人来说,这种虚幻的安全感可能更加危险。 端到端加密不是银弹 恰当地实践端到端加密总比喊口号更重要。而这不能只靠服务商来完成,也需要用户的参与。 Trust on First Use (TOFU) 是端到端加密的一个重要问题。对于任何端到端加密来说,第一步交换密钥是最为脆弱的时间,需要慎重验证密钥究竟是对方的真实密钥还是攻击者的假冒密钥,否则之后的所有安全就无从谈起。对于大多数人来说,无法在频繁更换密钥的同时每次都认真校验对方身份,对于他们来说,长期使用的密钥会更加安全。 我们姑且假设 ProtonMail 用户彼此通信时它的服务端软件足够可靠,和站外用户互通 PGP 加密邮件时,是否要信任对方的公钥,就完全仰赖用户自己的小心谨慎。 进一步说,即使是两个 ProtonMail 用户之间的通讯,也同样面临 TOFU 问题的变种:如何知道对应的邮箱地址是对方的真实邮箱地址而不是钓鱼邮件地址?整个邮件通讯的安全也就完全系于「获得这个邮件地址」的那一瞬——如果是从某人的个人网页上获得,则整个通讯的安全性就不会高于那个网站的安全性(当然,可能那个网站本来就是假的);如果是在其它聊天工具中获得邮件地址,那么任何有能力控制该聊天软件的人都可以变造假的邮件地址。 相比之下,使用传统 PGP/GPG 邮件加密的用户大多对于 TOFU 的风险有所了解,彼此的互信也完全不依赖于邮件服务商的软件安全性。只是用户友好度远不及 ProtonMail。 ProtonMail 用户的私钥保存在他们的服务器上。对于安全极端在意的用户很可能并不放心。虽然 ProtonMail 用户的私钥使用用户的密码进行加密,理论上只能被用户解开。但是在私钥泄露的情况下,比如说 ProtonMail 迫于法院命令交出私钥后,离线暴力破解的难度取决于密码的长度和复杂度。因此 ProtonMail 的密码必须设置得足够长。 安全不是一个人的事 ProtonMail 仅在通讯双方都使用 ProtonMail 或 PGP 时可以提供理想的加密保护。 用于收信时,外站发信方如果不使用 PGP 加密,邮件内容将对诸多相关方(比如发信人的邮件服务商)可见。此时 ProtonMail 与任何普通邮件服务商无异,除了它对于权力方的数据披露请求会抵抗得久一点之外——然而发信人的邮箱依然会被权力方检查,这种抵抗很可能是毫无意义的。用于发信时,外站收信方如果不使用 PGP …

GPG SKS 同步网络被投毒事件及其影响

2019年6月,有不知名攻击者对 GPG SKS 密钥同步服务器投毒,详情见 SKS 网络和 GPG 的核心维护者 rjhansen的解释。 根据 rjhansen 的说法,投毒已成既成事实,该隐患短期内无法从SKS或OpenPGP协议中移除。 可能产生的严重后果有许多,比如说,如果有人再次对各大 Linux 发行版包管理器的 GPG 证书投毒,将导致受影响的 Linux 系统无法执行任何包更新。 因为关于这个重大事件的中文资料几乎没有,特此综合英文资料做一综合评述。 熟悉 GPG 的朋友从 rjhansen 文中已经可以明白前因后果。在开始讨论之前,先对不熟悉此事件的读者做一下科普。 什么是 GPG?为什么 GPG 证书服务器被破坏影响很大? GPG 是 GNU 开源版本的 PGP,是一个加密软件。可以用于加密、签署和验证身份。在开源软件世界中广为采用,尤其是 GNU 生态圈内的各大 Linux 发行版和软件的包管理器都广泛使用 GPG 对重要文件进行签名,以防用户下载到冒名恶意软件。 因此,如果 GPG 不能正常工作,不能正常从其证书服务器拉取证书,可能导致一系列依赖 GPG 的软件出现故障,比如说无法正常升级软件包。 什么是 SKS 公钥服务器同步网络? GPG 与 SSL 证书系统不同,它不依赖一个权威的第三方来为每一个证书提供背书。相反,每个用户应该自行选择信任哪些证书。那么,如何解决无法见面验证时的 TOFU (trust on …