我试图理解为什么在登录到一个新设备时,MFA在1 1Password中是不必要的。
正是这种情况激发了我的好奇心:
在第4步,我需要提供的全部是我的1密码。为什么这个安全?难道没人能下载1 password IPhone应用程序来猜我的密码吗?
我猜我对他们的安全模型的理解是有严重缺陷的,但我渴望了解更多。
发布于 2023-02-09 15:47:05
披露:我为1 1Password的制造者AgileBits工作;我帮助设计了您所描述的系统
安全模型有一些不熟悉的组件,但是它像普通的登录一样呈现给用户,因此您可能会认为这会受到传统登录的安全性弱点的影响。
正如4 4german在他们的回答中正确指出的,您的帐户密码与您的客户端的密码组合在一起,我们称之为“您的秘密密钥”。当您创建帐户时,计算机上的浏览器中生成了一个128位随机密钥。如果你生成你的急救箱,你会在里面看到你的秘密钥匙。您的秘密密钥对您解密您的数据是绝对必要的,所以一定要保存您的紧急工具包的副本。
我们有秘密密钥同步到其他设备通过端到端加密服务,不通过我们。苹果的iCloud密钥链就是这样一种服务。因此,它进入了你的iPhone,在那里它只能被AgileBits签署的iOS应用程序读取。重要的是,秘密密钥永远不会被我们的服务器处理,因为它的设计是为了保护你,如果我们曾经被攻破。
在你遇到的例子中,秘密密钥有点像第二个因素,因为你必须使用一个独立于1 1Password服务器接收它的设备,但通常这样想是错误的。如果您的数据是从我们的系统中捕获的,秘密密钥是用来保护您的。它使我们所持有的东西真正无法破解。
您可以为1 1Password启用真正的2FA,这将需要设置新设备时的第二个因素。在已经注册的设备上解锁加密数据的2FA将是安全剧场。
您的帐户密码和您的秘密密钥是您的用户机密,用于两个目的。一个目的是导出解密数据所需的密钥。1“护照”可以离线使用。另一个是派生一个身份验证密钥(我将称之为x)。从用户秘密派生这些密钥的过程在计算上是非常昂贵的。因此,在试图向服务器发出标记之前,它就固有地限制了猜测。
与传统身份验证不同,x从未发送到服务器。相反,服务器构建了一个只能用x知识解决的数学难题。每次登录时,谜题都是不同的。
此外,服务器还向客户证明它知道一个相关的秘密,v。v是在您第一次注册时由客户端创建的,并且仅在第一次注册时才发送到服务器。与客户端对x知识的证明一样,服务器对v知识的证明也是零知识证明。服务器必须解决一个只有使用v知识才能完成的难题。
在用户看来,传统的登录过程实际上是一个安全得多的系统。如果您愿意,可以为1 1Password启用2FA,但它只保护您免受攻击者的攻击。
在这种情况下,2和3可能并存的情况是罕见的。
发布于 2023-02-09 13:40:49
听起来你可能没有MFA在您的1 1 1Password帐户上启用。
如果没有MFA,登录1 Password帐户需要您的电子邮件地址、密匙和帐户密码。
当您登录到1 1Password for Mac或iOS时,1 1Password将将您的电子邮件地址和秘密密钥存储在加密的iCloud密钥链中。
这就是为什么您只能使用帐户密码登录到您的iPhone上,因为其他所有内容都保存到iCloud密钥链中。
其他人将无法访问您的iCloud密钥链凭据,因此需要您的电子邮件、秘密密钥和帐户密码来访问您的设备上的帐户。
https://security.stackexchange.com/questions/268318
复制相似问题