1

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

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

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

这是真的吗?CBA 是一种更彻底、更安全的用户身份验证方法?谢谢!

4

1 回答 1

0

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

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

CBA 的优势不仅仅是可以强制执行的更安全的身份验证方法。它对开发人员的好处在于通过将用户属性卸载到 IDP 来简化获取用户属性。我相信您已经知道这一点,但对于该线程的未来读者来说,“ 基于声明的身份和访问控制指南”可能是一本好书。

于 2013-06-15T16:20:28.173 回答