1

我一直是服务领域的开发人员,他们使用基本身份验证(与SSL组合使用来保护传输)或使用基于声明的身份验证(使用WIF的.NET)。基于声明的身份验证是否比基本身份验证更安全?

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

我听过的基本身份验证的参数是,您无法真正识别用户是谁,他们是谁。如果证书被泄露,可能会被欺骗。很明显,与CBA签署一份SAML令牌来保证签发和身份证明是一种更彻底的授权方法?但是,如果我不管用户的凭证,我是否仍然可以通过CBA进入该服务?

这是否属实,CBA是一种更为彻底和安全的预先验证用户身份的方法?谢谢!

回答

0

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

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

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