首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是什么阻止ProtonMail向我发送错误的公钥?

是什么阻止ProtonMail向我发送错误的公钥?
EN

Cryptography用户
提问于 2020-04-27 21:53:00
回答 1查看 302关注 0票数 1

我最近一直在研究ProtonMail,一种提供透明端到端加密的电子邮件服务。为了使加密变得透明,ProtonMail管理所有的公钥和私钥。

当从ProtonMail帐户向另一个ProtonMail帐户发送电子邮件时,ProtonMail服务器将目标的公钥发送给客户端。然后,客户端使用给定的公钥对电子邮件进行加密,并将邮件发送到服务器,转发给接收者,收件人可以用他们的私钥解密邮件。

由于ProtonMail的服务器只看到加密的电子邮件,并且无法访问任何明文私钥,因此无法读取电子邮件。根据ProtonMail的说法,这意味着我们不需要信任ProtonMail服务器就可以知道它没有读取电子邮件(假设它没有向客户端发送恶意javascript )。

然而,如果有的话,是什么阻止ProtonMail的服务器通过发送错误的公钥来进行中间人攻击呢?如果服务器发送与他们控制的私钥相对应的公钥,他们可以解密电子邮件,然后用正确的公钥重新加密电子邮件,并将其发送给预期的收件人。在普通PGP中,用户必须显式地将每个公钥标记为受信任的,但不请求ProtonMail客户端的用户显式信任。那么,ProtonMail客户机如何知道如何信任服务器发送的公钥呢?

EN

回答 1

Cryptography用户

发布于 2020-04-28 00:00:53

ProtonMail有一个有关此主题的支持页

ProtonMail不能透明地解决这个问题。默认情况下,客户端无法知道服务器是否提供了正确的公钥,它只是隐式地信任服务器发送的密钥。因此,默认情况下,客户端无法抵御来自ProtonMail服务器的中间攻击。

但是有一个选项可以打开手动信任键,“设置>安全>地址验证(可选)>提示信任键”。在这种情况下,当遇到未知公钥时,ProtonMail客户端将通知用户密钥不受信任,并提示他们“锁定”密钥。每个联系人都必须按下钥匙。没有固定键的联系人将使用来自ProtonMail服务器的密钥发送消息。

固定密钥存储在本地客户端,并(想必)加密并发送到服务器,因此当使用用户的密码解密时,可以从其他设备上使用。客户端将始终使用固定密钥加密对应地址的消息,如果从该地址接收到的消息没有用正确的密钥签名,它将显示错误。它由用户来验证密钥是否正确,就像在普通的PGP中一样。

票数 3
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/80316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档