组织要求员工在某些情况下使用 2 人身份验证。也就是说,当访问例如服务器时,应该使用来自 2 个人的秘密知识进行身份验证。任何人都不应该单独访问服务器。
问题:此要求的哪些实现是可能的?
这是一个 Windows 设置。
我能想到的唯一实现如下:两个人都连接到机器(比如远程),第一个人输入他知道的密码的第一部分,第二个人输入后半部分。
注意:不要与两因素身份验证相混淆。
组织要求员工在某些情况下使用 2 人身份验证。也就是说,当访问例如服务器时,应该使用来自 2 个人的秘密知识进行身份验证。任何人都不应该单独访问服务器。
问题:此要求的哪些实现是可能的?
这是一个 Windows 设置。
我能想到的唯一实现如下:两个人都连接到机器(比如远程),第一个人输入他知道的密码的第一部分,第二个人输入后半部分。
注意:不要与两因素身份验证相混淆。
一种方法是使用临时密码和密码管理应用程序。该过程可以像这样工作:
我见过这样的系统,但它们都使用了一些定制的脚本,基于现有的请求管理系统。我不知道在哪里可以下载这样的应用程序。
当然,一旦管理员拥有临时密码,他们就可以单手访问服务器。如果您需要整个过程中的两人规则 - 必须有两个管理员坐在一台计算机上才能执行工作 - 这种方法将行不通。
我看到的一个变体是操作人员持有一个安全的 ID 令牌。当管理员需要登录服务器时,他们会提供一个密码(只有他们知道),并致电操作台以从安全 ID 令牌中获取代码。我不相信这种安排是一个好主意,但它确实被使用了。
从安全角度来看,使用相同密码的两个人(每个人知道一半)不是一个好主意,因为每个人都知道密码。这将使他们用已知攻击(蛮力,字典,..)猜测另一半的机会减少一半。
我建议Shamir 的秘密分享。每个人都有一个密码,只有将它们组合起来才能生成一个共享的秘密。每次使用它们时都必须更改两个密码。
除了@rda 提到的Shamir Secret Sharing,或@paj28 的带外授权机制的想法,您还可以考虑一个更简单的解决方案,它不需要大量的编码或设置:
使用 2 因素身份验证,为每个人提供不同的因素。
例如,你给一个硬件令牌,给另一个密码。这种解决方案的优点是它甚至可以非常简单地直接应用于 Windows 访问。当然,弱点与在任何地方使用单一因素相同 - 没有密码的硬件令牌通常很容易被盗。为了解决这个问题,应该还有另一个因素,例如,有些令牌需要 PIN(与操作系统密码分开)。
另一种类似的解决方案是,一个拥有操作系统密码,另一个拥有物理密钥(或生物特征)以进入服务器所在的数据中心。或者一个有密码,另一个被允许通过防火墙。或操作系统用户与应用程序用户(并验证它们是否匹配)。
其中大多数设置起来非常简单,但可能不如 Shamir 强大或严格。这实际上取决于具体场景以及您有什么要求和限制。