双向认证SSL - 有多少认证是足够的?

5
假设您有一个相互SSL服务,除了SSL外,还具有应用程序身份验证。因此,客户端提供证书(以及服务器),但客户端请求(例如REST请求)还包含后端应用程序服务器进行身份验证的用户名/密码。
在客户端身份验证的“程度”方面,似乎存在多个级别。一级(a)仅是客户端提供由服务器CA存储库中签名的证书。另一个明显的级别(b)是要求服务器执行(a)并确保应用凭据正确。第三个级别(c)是执行(a)和(b),并确保客户端证书与账户唯一关联。
(c)的好处在于防止受“受信任的CA”信任的人滥用非法获取的应用程序密码。
我意识到这一切都很不可能,但我想知道相互SSL中假定了多大程度的(c),而不仅仅是(a)或(b)?

你需要这三个步骤,还需要第四个完整的步骤:授权,即这个用户是否被授权访问应用程序的这部分? - user207421
2个回答

0

是的,我在考虑类似的事情

你可以为应用程序提供一个单独的信任存储库,其中不包含任何CA。这样,您只需授权具有自签名证书的客户端即可访问。


不可以混淆认证和授权,它们是本质上不同的东西。SSL 可以完美地为您进行认证,但它无法进行授权:只有应用程序才能做到这一点。 - user207421

0
我假设你所说的“mutual SSL”是指TLS v1.0、1.1或1.2,同时具有基于服务器和客户端证书的身份验证;而你所说的“part of mutual SSL”是指TLS规范的一部分。
按照这种解释,只有(a)是mutual SSL的一部分。TLS规范包括在SSL握手消息中共享证书,但不包括用户名/密码检查或将SSL证书与帐户进行核对。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接