首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否不可能有一个分散的服务使用电子邮件地址作为登录?

是否不可能有一个分散的服务使用电子邮件地址作为登录?
EN

Cryptography用户
提问于 2018-01-30 20:36:43
回答 2查看 92关注 0票数 1

假设我们有一个分散的服务S,分布在由1000个节点/服务器组成的网络上。是否可能有一个注册/注册计划使用电子邮件地址作为登录?

我看到两个问题:

  • (忽略这个问题)从分散网络的节点向主要电子邮件提供商(Gmail、Yahoo等)发送的电子邮件的交付率可能很低;这不是密码问题,让我们在这里忽略这个问题。
  • 下面的示例工作流中描述的另一个实际问题是:
    1. UserA,userA@example.com的所有者,签署了服务S (例如,在网络提供的一个网站镜像上的注册表格)。
    2. 注册令牌f9x372d2aff0由其中一个节点存储在网络的PendingRegistrations数据库中,其中一个节点向userA@example.com发送确认电子邮件。
    3. UserA打开他的邮箱,看到一封新邮件:“请确认你想通过点击http://203.0.113.2/register/userA@example.com/f9x372d2aff0注册服务S”。
    4. UserA点击链接,将令牌与网络的PendingRegistrations数据库中的令牌进行比较,如果匹配,他可以完成注册过程,因为他已经证明自己是userA@example.com的合法所有者。

现在:

  • 恶意UserB (他自己不运行节点)无法创建名为userA@example.com的帐户,因为他将无法访问将发送到user@example.com邮箱的令牌。
  • 恶意UserC自己运行节点,可以创建一个名为userA@example.com的帐户:他可以访问网站,填写注册表格,然后观察PendingRegistrations数据库,获取令牌并自己注册帐户。或者:他可以观察服务器发出的电子邮件,查看将发送到userA@example.com的链接,并获得确认链接。

这与佐科三角原理很接近,但我看不出著名的解决方案(如斯沃茨解)如何解决这里的问题。

使用电子邮件地址作为登录的分散服务是不可能的,还是非对称加密(公钥/私钥)在这里有帮助?

注意:任何从节点发送给用户的电子邮件,都必须由网络的一个节点“编写”。所以我想说的是:“任何将由电子邮件接收者打开其邮箱中收到的电子邮件的字符串,也可以由节点所有者/电子邮件发送服务器所有者查看”,从而使问题变得更加困难。这似乎很明显,但也许有一个聪明的解决方案?

EN

回答 2

Cryptography用户

发布于 2018-01-30 23:06:02

您问题的核心是“是否有一个userA@example.com的‘所有者’可以被证明具有的属性,而在其他方面没有一个属性可以被证明具有?”这在很大程度上取决于电子邮件系统的安全性,总的来说,电子邮件系统相当差。另一个核心问题是,“登记”甚至意味着什么。想必,它意味着“证明”一个人的身份,但向谁证明它,以及其他人如何知道它已经被证明?必须有“网络”验证身份的过程,然后必须有用户验证网络已验证身份的过程。要想完全回答你的问题,就需要对这些过程进行精确的表述。

最终,“所有者”唯一可能拥有的两个独特属性是发送电子邮件的能力和接收/读取电子邮件的能力。任何其他属性,比如使用私钥(非对称加密)签名的能力,都意味着您不再仅仅基于电子邮件。在这一点上,这就像问“如果你也有一个开瓶器的话,用勺子打开瓶子可以吗?”

如果您有信心能够检测到电子邮件欺骗,那么您就可以让某人选择一个私钥和公钥,将他们的公钥从他们的电子邮件发送到节点,然后用他们的私钥签名所有东西。

如果您不确信可以检测到电子邮件欺骗,但您确信有可能以只有电子邮件地址的“所有者”才能读取邮件的方式发送消息,那么任何一条消息都不可能生成新用户特有的任何属性;在电子邮件中发送的任何信息,发送节点也有。因此,通常您必须让“网络”从多个节点发送多条消息,每个节点都有自己的令牌。

票数 1
EN

Cryptography用户

发布于 2018-01-30 21:12:45

这里有很多‘if’,但是您的具体问题可以通过在数据库中存储公钥而不是注册令牌来解决,私钥被发送到userA@example.com,注册是通过用户用这个私钥签名来完成的。

但是,如果您想继续进行这种设置(网络中的某些节点可能是恶意的),则必须更详细地定义攻击者模型。

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

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

复制
相关文章

相似问题

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