HTTP

HTTP 知识量:10 - 42 - 186

8.4 SSL客户端认证><

SSL客户端认证简介- 8.4.1 -

从使用用户ID和密码的认证方式方面来讲,只要二者的内容正确,即可认证是本人的行为。但如果用户ID和密码被盗,就很有可能被第三者冒充。利用SSL客户端认证则可以避免该情况的发生。

SSL客户端认证是借由HTTPS的客户端证书完成认证的方式。凭借客户端证书(在HTTPS一章已讲解)认证,服务器可确认访问是否来自已登录的客户端。

SSL客户端认证的认证步骤- 8.4.2 -

为达到SSL客户端认证的目的,需要事先将客户端证书分发给客户端,且客户端必须安装此证书。

步骤1: 接收到需要认证资源的请求,服务器会发送Certificate Request报文,要求客户端提供客户端证书。

步骤2: 用户选择将发送的客户端证书后,客户端会把客户端证书信息以Client Certificate报文方式发送给服务器。

步骤3: 服务器验证客户端证书验证通过后方可领取证书内客户端的公开密钥,然后开始HTTPS加密通信。

双因素认证- 8.4.3 -

在多数情况下,SSL客户端认证不会仅依靠证书完成认证,一般会和基于表单认证组合形成一种双因素认证(Two-factor authentication)来使用。

所谓双因素认证就是指,认证过程中不仅需要密码这一个因素,还需要申请认证者提供其他持有信息,从而作为另一个因素,与其组合使用的认证方式。

第一个认证因素的SSL客户端证书用来认证客户端计算机,另一个认证因素的密码则用来确定这是用户本人的行为。通过双因素认证后,就可以确认是用户本人正在使用匹配正确的计算机访问服务器。

SSL客户端认证费用- 8.4.4 -

使用SSL客户端认证需要用到客户端证书。而客户端证书需要支付一定费用才能使用。

这里提到的费用是指,从认证机构购买客户端证书的费用,以及服务器运营者为保证自己搭建的认证机构安全运营所产生的费用。