基于声明的身份验证比基本身份验证更安全吗

时间:2013-02-05 16:24:29

标签: security basic-authentication saml claims-based-identity

我一直是服务领域的开发人员,使用基本身份验证(与SSL结合使用以保护传输)或使用基于声明的身份验证(在.NET中使用WIF)。

我认为这个问题有一个明确的答案,基于构成不同身份验证机制的整体 strong 因素。这不是基本身份验证的简单性与CBA拥有SSO和集中身份验证存储的能力的比较。

我听到的反对基本身份验证的论点是,您无法真正识别用户是否是他们所说的人。如果凭据被泄露,则可能会欺骗。显然,对于CBA,签名说SAML令牌以保证发行和身份,这使得这是一种更彻底的授权方法?但是,如果我拥有用户的凭据,我还不能通过CBA进入服务吗?

这是真的吗?CBA是一种更彻底,更安全的方法来预先形成用户身份验证?谢谢!

1 个答案:

答案 0 :(得分:0)

CBA可以更安全,但这取决于IDP端的配置。如果IDP仅需要用户名和密码来发出令牌,那么由于您解释的原因,它似乎并不安全。

我将在这里使用AD FS作为IDP来说明它如何比仅进行基本身份验证更安全。可以将ADFS配置为禁用不安全的端点。您还可以在发出声明之前将AD FS配置为执行基于2FA或MFA的身份验证。在这些情况下,因为获得声明更难,如果应用程序只能由CBA访问,它确实变得更加安全。

CBA的优势不仅仅是可以实施的更安全的身份验证方法。通过将其卸载到IDP来简化获取用户属性对开发人员的好处。我相信你已经知道了这一点,但对于这个主题的未来读者来说,“ Claims Based Identity & Access Control Guide“可能是一个很好的阅读。