ProtonMail 声称的电子邮件加密是否可行?

信息安全 加密 电子邮件 质子邮件
2021-08-20 06:45:18

是否有可能创建一个对所有消息进行加密的 Web 服务,这样只有作者和接收邮件的人才能阅读它?换句话说,ProtonMail背后的理论是否有效?

4个回答

严格来说这是不可能的,原因如下:如果 Web 服务加密了消息,那么 Web 服务会在某个时候看到未加密的消息(注意:我写的是service,而不是server)。充其量,该服务可能是诚实的,并尽最大努力不查看它们流动的消息。

现在让我们看看“ProtonMail”服务的声明:

  • 瑞士总部。好吧,我认为没有理由认为这不可信。瑞士是一个真正的国家,有人住在那里。然而,他们建议作为“瑞士服务”,数据立即受到瑞士法律的保护,这是一个相当大胆的声明。电子没有国籍,并且与一张纸相反,电子消息在任何时候都没有明确定义的地理位置。

  • 对用户数据的零访问。那不是完全正确的。当你写你的信息时,你是在他们的网站上写的。即使从技术上讲,所有加密都发生在您的浏览器中,仍然可以使用他们每次连接到他们的服务时发送给您的 Javascript 代码来完成如果他们想在您不注意的情况下阅读您的消息,他们可以。

  • 端到端加密。这是可能的,如果加密是基于发送者的浏览器的 Javascript,而解密又是基于接收者的浏览器的 Javascript。考虑到在 Javascript 中进行加密的陷阱

  • 匿名的。我不相信,至少从长远来看是这样。他们声称不记录任何东西;然而,过去匿名转发者的经验表明,在某些极端情况下(例如,如果该服务用于协调某些恐怖行动),日志是唯一介于转发者运营商和监狱之间的东西。几乎总是,一段时间后不记录的说法被证明是假的。同样,即使站点运营商非常理想主义,不会记录任何内容,但在网络提供商方面进行窃听也足以获得大量元数据,例如,找出谁与谁交谈。这称为流量分析它运行良好,没有 Web 服务可以防止这种情况(只有网络范围的系统,如Tor 理论上有机会击败流量分析)。

  • 与其他电子邮件提供商安全通信。那个让我有点畏缩。他们的意思是,当收件人不是 ProtonMail 注册用户时,他们会发送一封带有嵌入式链接的普通电子邮件到他们的网站,以便用户可以下载加密的电子邮件和解密它的 Javascript 片段。正如他们所说,这要求您之前以某种未指定的方式与收件人共享密码。这里不好的部分是它训练人们点击通过电子邮件收到的链接,然后在生成的网页上输入他们的密码。

  • 自毁消息。这与电影的复制保护一样好或一样坏。原始事实是,如果收件人可以在某个时候阅读该消息,那么他可以无限期地获得一份副本(如果只是用他的智能手机拍摄屏幕照片)。“自我毁灭”更像是一种意图声明(请不要保存此电子邮件),而不是可以真正执行的安全措施。(但是,一段时间后自动销毁邮件肯定会帮助 ProtonMail 管理员,因为他们将加密的电子邮件存储在他们的系统上,并且不想无限期地这样做,因为磁盘空间虽然便宜,但不是免费的。)

  • 开源密码学。那是可信的,也是好消息。至少他们没有重新发明他们的加密货币,而是使用历史悠久的标准(在本例中为OpenPGP)。(我不认识他们的安全专家名单中的任何名字,但我不认识每个人。透明度方面的努力是好的。)

  • 硬件级安全。它们并不意味着HSM他们的意思是他们锁上服务器机房的门,并使用磁盘加密。最后一点很奇怪:电子邮件不是应该已经加密了吗?剩下哪些私人数据,他们认为应该再次加密?这对我来说就像安全剧院。

  • SSL 安全连接。这是非常合理的,并且非常需要以避免第三方篡改他们的 Javascript。不使用 SSL 将是他们系统中的致命缺陷。不幸的是,他们通过添加以下内容破坏了效果:“为了让极度注重安全的用户进一步验证他们实际上正在连接到我们的服务器,我们还将为我们的 SSL 公钥发布 SHA3 哈希”。只有当人们能够以不可篡改的方式获取散列时,发布公钥的散列才有意义;如果该散列只是简单地推送到您自己的 SSL 网站上,那么您就是在绕圈子。调用“SHA3”的魔力揭示了该声明的严重程度:这实际上只是一些更安全的剧院(至少因为 SHA-3 还不存在:现在,)。(事实上​​,他们发布了SHA-1 哈希,而不是 SHA-3。)

  • 使用方便。对于那个,你将不得不自己判断。“易用性”取决于谁使用它。

总结: ProtonMail 看起来大致相当于使用 PGP,除了它是基于 Web 的,因此是集中的。它带回了许多 PGP 应该解决的问题,即有一个中央服务器可以查看谁与谁对话,并重复为实际代码提供服务。因此,对于任何打算监视他人的人来说,该中央服务器都是一个多汁的目标。PGP 的去中心化特性是其对抗攻击者的最大资产;通过使其基于 Web,他们提高了易用性,但放弃了去中心化。

虽然 ProtonMail 肯定比普通的、未加密的电子邮件更好,但认为它是电子邮件安全的最终答案是错误的。至少,他们做了一些努力:

  • 他们使用现有的标准。
  • 他们有一个明确的威胁模型即使不是很详细,至少他们知道“威胁模型”这个表述,这使得他们在安全系统供应商中排名前 5%。
  • 他们尽量做到透明

不太乐观的是,我没有看到任何与开源相关的东西。也就是说,他们说他们使用“开源库”进行密码学,但实际上并没有说明这些库是什么;他们也不显示自己的源代码。用户重新开始查看 Javascript 代码并进行自己的逆向工程,这对我来说看起来不是很开源。

他们实际上也没有提供有关他们协议的任何细节。由于他们不知道(或者他们这么说)收件人的“邮箱密码”,所以这就引出了他们如何将电子邮件推送到该邮箱的问题。我们可以推断出邮箱中包含了一对公私钥对,而邮箱密码确实是用来加密私钥的,而不是邮箱本身;这就是他们提供的信息(特别是对 OpenPGP 的依赖)的意义所在。但如果他们出来就更好了。如果协议很好,那么它应该被发布;没有理由不这样做。没有来源和没有协议是非常糟糕的点,他们真的应该解决这个问题。

总结总结: ProtonMail 的安全性可以总结为:他们的系统是安全的,因为他们说他们是好人,诚实和一切,他们声称自己有能力。所以这一切都很好,嗯?

是的。ProtonMail 使用客户端加密。您的浏览器会加密邮件。您仅限于浏览器的弱点,但是是的,正如他们声称的那样。在不知道您的消息的情况下端到端。

质子邮件到非质子邮件看起来极易受到 MITM 攻击,其中用户被引导到一个虚假网页,该网页获取他们的秘密共享密码(必须有一个,否则根本没有安全性),然后在其他地方解码邮件使用该密码并将解码结果以看起来像真实页面的样式发送给用户。

是的,有一个安全密码/代码可以访问加密的电子邮件。如果我很了解收件人,他们就会知道以下练习。对于在我发送电子邮件之前我没有联系过的收件人,他们需要与我联系以获取密码,此时我指示收件人首先输入错误的密码以确保合法性,如果未经检查则可能是 MITM 攻击. 此外,如果这是一个通常不处理但事先与之沟通过的人,我将首先向收件人发送一个不正确的密码(例如通过加密文本服务),以确保他们给我发回正确的密码。完美,不,一个坚定的黑客最终可能会弄清楚,但总比没有好。