在被监控时进行身份验证(多因素身份验证?)的安全方式?

信息安全 验证 多因素 监控
2021-08-31 04:31:17

(我正在尝试更准确的答案,特别是在多因素身份验证方面,而不是我收到的“使用安装了间谍软件/键盘记录器的计算机的安全方法?”在 SU 上。)

假设我正在使用一台计算机,出于合同/法律/政策的原因,它受到了广泛的监控。为了论证起见,我们假设屏幕上可见的任何内容和键入的任何内容都被捕获(因此屏幕键盘不安全)。该策略允许我对受监控的计算机进行一些个人使用,但不能禁用或规避监控(因此我无法将计算机引导到不受监控的环境),也不能使用我自己的个人计算机。我可以使用多因素身份验证或其他方法来安全地对远程服务进行身份验证(例如,对 OpenID 提供商、电子邮件帐户、ssh 等)进行身份验证吗?我所说的“安全地”是指不允许有权访问监控日志的人以我身份对远程服务进行身份验证。

4个回答

假设。据我了解,您只关心窃听:例如,监视您的人可能会记录您所做的一切,并且无法充分保护这些记录。您不必担心他们会积极恶意。例如,他们不会对您发起中间人攻击。

建议。鉴于这种威胁模型,我认为任何外部身份验证器都可能起作用。例如,这里有三个选项,其中任何一个都应该满足您的需求:

  • 使用 RSA SecurID 卡进行身份验证将解决您的顾虑,因为 SecurID 卡会生成一个与时间相关的一次性身份验证器,如果随后暴露该身份验证器,对攻击者将无用。

  • 另一个合理的选择是存储客户端证书和私钥的智能卡,然后使用 SSL 客户端证书进行身份验证;这是安全的,因为您的私钥永远不会离开智能卡,即使监视器捕获通过 SSL 发送的质询-响应值,它们在使用后对攻击者也没有任何好处。

  • 您也可以使用一次性密码。一次性密码会被记录下来,但即使这些记录后来泄露,该密码也已经被使用过,不再有效,因此对攻击者没有任何用处。

  • 另一种可能性是使用 OpenID 对网站进行身份验证。这仍然留下了如何向您的 OpenID 提供者进行身份验证的问题,但是如果您能找到一个允许用户通过上述三种方法中的任何一种进行身份验证的 OpenID 提供者,那么您的状态就会很好——这会让您可以安全地登录到任何支持 OpenID 的网站。

  • 除了网络之外,如果您想远程登录另一台计算机,您可以通过 SSH 使用公钥身份验证登录,并将您的私钥存储在智能卡上。 SSH 允许您将私钥存储在智能卡上,因此监视您的人永远不会知道您的私钥(另请参见此处此处此处)。

基本上,这里的共同主题是使用密码(例如,公钥密码)而不是密码进行身份验证。

主要挑战是所有这些方法都需要您登录的站点提供某种支持。如果该站点不支持一次性密码、SecurID、客户端证书、OpenID 或 SSH——如果它只支持普通密码身份验证——那么你就完蛋了。

一次性密码似乎符合要求。

假设您没有被拍摄,您可以打印一份清单。

这是什么问题!

好的,那么,多因素身份验证有帮助吗?是的。如果没有一些严肃的技术魔法(或特别好的摄像头),你就无法截取普通银行卡读卡器上产生的内容。使得登录信息只能被拦截;下次你来认证时,令牌应该不同。

但是,这是一个很大的问题。我们假设(我认为)与此远程服务的每次通信都受到监控,并且您不会为每个给定的操作重新进行身份验证。在这种情况下,如果可以拦截和劫持该会话,您将能够执行服务允许的任何操作。

这可能包括更改身份验证凭据,例如密码组件。这肯定会在您下次登录远程服务时将您锁定在远程服务之外,但是对于重复访问,攻击者需要物理令牌或它使用的算法。我们可以放心地假设他们可以获得合适的读卡器,但除非他们可以获得卡和 PIN,否则他们将无法重新进行身份验证。

因此,当第一个因素受到威胁时,安全性就会落在第二个因素上,即物理数字生成器或其他任何因素,以及正在进行的会话的安全性。您的银行很可能也涵盖了这一点;如果我想付款,我现在还必须使用我的读卡器进行授权,因为虽然任何人都可以劫持我的会话,但他们将无法访问我的实体卡(理论上)。同样,在我的银行中,进行凭证更改也是如此。但是,例如,对于您的电子邮件帐户来说,情况就不同了。

让我们也考虑其他可能的想法:生物特征数据的问题在于它不会随着时间而改变。这意味着,就像密码一样,一旦被拦截,它就永远有效。完全可以代替密码使用;事实上,适当地存储它可能会更好,我对这个话题的阅读还不够好,但它具有与密码可能具有的相同的恒定性。

所以,基本上,道格拉斯到了那里。一次性密码是一个很好的选择;在这种情况下,似乎是读卡器根据受 PIN 保护的卡的输入生成的一次性密码。

然而值得注意的是,信用卡安全是剑桥大学计算机安全实验室Light Blue Touchpaper上经常讨论的话题,其中芯片和 PIN 的实施安全经常受到抨击。

总而言之,这是一个平衡游戏。您认为这台计算机的控制器在多大程度上可能会对您进行此类攻击?他们访问您的电子邮件或其他问题的能力在多大程度上?有一个方程式可以说类似severity = likelihood x risk- 以这种方式评估关注点,并根据您的特定情况决定风险是否是您愿意承担的风险。

带外身份验证可能适合您的情况。电话身份验证是一种类型(免责声明:我这样做是为了在 PhoneFactor 谋生)。OpenID可以与手机认证配对,达到类似的效果;myopenid.com 包含电话验证选项。