首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >双因素认证w/证书和用户名和密码?

双因素认证w/证书和用户名和密码?
EN

Security用户
提问于 2012-05-15 12:08:17
回答 5查看 16.7K关注 0票数 7

示例场景:

  • ActiveSync

认证方法:

  • 基于证书的身份验证和Active域用户名-密码

在设备上加密:

  • 公用钥匙和私钥
  • 广告用户名和密码

问题

如果证书用于反向代理的身份验证,而Outlook使用用户名和密码,这是否被认为是双因素身份验证?如果证书公钥是Active用户帐户的一部分,它是否有用?支持或反对此实现的论据是什么?

备注:

  • 这种设计不是更不安全吗(因为AD域用户名和密码不必要地存储在设备上)?
  • 我在那里找不到任何文件,但我确信人们普遍认为,将AD域名&密码存储在设备上有更多的潜在威胁,而仅仅是一个证书公钥/私钥对。
  • 是否有一个选项w/Exchange,其中为ActiveSync颁发的证书只能用于Exchange访问?(例如,证书不能用于对应用程序的HTTPS身份验证?)
EN

回答 5

Security用户

发布于 2012-05-17 23:40:51

这个问题对我来说有点难破译,但我将假设您正在考虑通过让用户提供用户名和密码来验证用户,并让用户使用存储在用户设备上的私钥(客户端证书)进行身份验证。

简短的回答:是的,这通常是有益的。如果用户通过客户端证书和用户名/密码对进行身份验证,那么是的,我会考虑这种双因素身份验证。

比它是否“算作”双因素身份验证更重要的是它是否增加了安全性,以及它是否满足了您的安全需求。一般来说,我会说是的,与仅仅使用用户名和密码相比,这种方法是有用的,并且确实增加了安全性。您还没有提供足够的信息来评估它是否适合您的业务需求,但是我可以分享一些关于这种方法的优点和缺点的想法。

安全分析。一般来说,要求用户同时使用客户端证书和用户名/密码对进行身份验证应该比单独使用任何一个都更安全。我假设客户端的私钥只存储在他们的设备上,而用户的密码不存储在设备上。以下是一些好处:

  • 优点:不受社会工程影响。密码的一个弱点是,由于用户知道自己的密码,用户经常会被欺骗而泄露自己的密码,例如通过网络钓鱼、伪造电子邮件、被假装来自IT服务台的人或其他形式的社会工程。Client certs解决了此风险:客户端证书的好处是私钥是用户不知道的秘密,因此用户不会被欺骗而暴露私钥。攻击者可能仍然能够使用社交工程窃取用户的密码,但他们发现盗取用户的私钥并不容易,因此他们无法访问用户的帐户。
  • 优点:防止密码猜测攻击。密码的另一个弱点是用户经常选择错误的密码(可以通过字典攻击来猜测)。此外,用户经常在多个站点上重复使用密码,这意味着一个站点的妥协会对其他站点的安全性产生负面影响。客户端证书消除了这个问题:私钥由计算机随机选择,因此不存在低熵的问题。因此,即使攻击者能够猜出用户的密码,攻击者也无法访问用户的帐户。
  • 好处:防止丢失的设备。客户端证书的一个缺点是私钥存储在用户的设备上。因此,如果用户的设备丢失或被盗,私钥被泄露,该设备的新所有者可能能够访问用户的帐户。除了使用客户端证书之外,还使用密码可以解决此威胁。如果用户的设备丢失或被盗,设备的接收方可能无法访问用户的帐户,因为接收者将不知道用户的密码(假设用户没有选择一个完全糟糕的密码)。

然而,这种方法也存在一些值得注意的局限性和缺陷。

  • 限制:不防御客户端恶意软件。这种形式的双因素认证并不能抵御用户设备上的恶意软件或间谍软件。这种恶意软件可以记录用户的密码,还可以获取用户私钥的副本,从而捕获访问用户帐户所需的所有凭据。因此,如果您关注客户端恶意软件,则需要使用其他方法来减轻这种威胁。
  • 陷阱:不要存储密码。这种方法有一个陷阱。如果您将用户的密码存储在用户的设备上,那么密码就会成为设备上的另一个秘密;那么安全性就不会比使用客户端证书更好了。特别是,在这一点上,如果用户的设备丢失或被盗,访问用户帐户所需的所有信息都会出现在用户的电话中,因此用户的帐户必须被认为是被破坏的。因此,如果您正在编写自定义客户端应用程序,则必须避免将用户的密码存储在用户的设备上。类似地,如果要通过web访问该密码,则必须确保用户的密码不存储在他们的浏览器密码管理器中。

警告。对我的分析要谨慎一点。我正在讨论使用用户名/密码和客户端证书组合对用户进行身份验证的一般概念。我不能谈论有关Outlook、ActiveSync、Exchange、ActiveSync、反向代理或其他特定于Windows环境的方面的实现细节,因为我不熟悉这些细节。我只能分析一般的方法。如果我缺少相关的实现细节,那么我的结论可能不适用于您的情况。

票数 19
EN

Security用户

发布于 2012-05-18 13:05:29

您的证书存储在计算机上,可能是用用户的密码加密的。因此,要访问OWA帐户,必须有

  1. 用户名(可能是在登录时预先填写,或者很容易找到)
  2. 密码
  3. 存储证书的计算机。

问题(+1给@D.W.,谁已经提过了)是,计算机密钥库几乎没有被篡改的证据。安全性是你所知道的,用户名和密码。

在具有相同设置的客户端,我们解决了这个问题,说它可以作为1.x因子来考虑,因为它提供了更好的安全性,但不是两个因素。如果您已经建立了PKI,那么在智能卡上添加一个证书,加上适当的程序,将使您的计划成为一个真正的两个因素。

票数 2
EN

Security用户

发布于 2012-05-18 23:15:59

我不认为静态凭据/密钥是好的双因素认证。如前所述,设备可以与存储的私钥一起被盗。

最好的两个因素认证使用设备(或软件)来计算一些可以用作密码的数据,如SecurID令牌或软令牌,甚至可以在智能手机(Android/iPhone)上设置客户端。

对于您的设置,我认为VPN可能是更好的解决方案。如果您在用户上设置了具有此类安全设备的VPN,则不需要更严格的安全性:

  • 认证将分为两个因素。
  • 通信将受到保护(通常是L2TP/IPSEC)

电脑通常不会用这样的钥匙被偷(这要么适合你的钥匙圈,要么在你的手机上)。

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

https://security.stackexchange.com/questions/14969

复制
相关文章

相似问题

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