《图解HTTP》

《图解HTTP》之确认访问用户身份的认证

2019-01-02  本文已影响137人  笙绳省盛

1.何为认证

为确认本人是否真的具有访问系统的权限,就需要核对“登录者本人才知道的信息”、“登录者本人才会有的信息”。
核对的信息通常是指以下这些。

HTTP/1.1使用的认证方式如下

2.BASIC认证

BASIC认证是从HTTP/1.0就定义的认证方式。即便是现在仍有一部分的网站会使用这种认证方式。是Web服务器与通信客户端之间进行的认证方式。


屏幕快照 2019-01-02 上午10.39.08.png

BASIC认证使用上不够便捷灵活,且达不到多数Web网站期望的安全性级别,因此它并不常用。

3.DIGEST认证

为弥补BASIC认证存在的弱点,从HTTP/1.1起就有了DIGEST认证。DIGEST认证同样使用质询/响应的方式,但不会像BASIC认证那样直接发送明文密码。
所谓质询响应方式是指,一开始一方会先发送认证要求给另一方,直接使用从另一方那接收到的质询码计算生成响应码。最后将响应码返回给对方进行认证的方式。


屏幕快照 2019-01-02 上午10.57.30.png

DIGEST认证提供了高于BASIC认证的安全等级,但是和HTTPS的客户端认证相比仍旧很弱。DIGEST认证提供防止密码被窃听的保护机制,但并不存在防止用户伪装的保护机制。
DIGEST认证和BASIC认证一样,使用上不那么便捷灵活,且仍达不到
多数Web网站对高度安全等级的追求标准。因此它的适用范围也有所限制。

4.SSL客户端认证

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

多数情况下,SSL客户端认证不会仅依靠证书完成认证,一般会和基于表单认证组合形成一种双因素认证来使用。所谓双因素认证就是指,认证过程中不仅需要密码这一因素,还需要申请认证者提供其他持有信息,从而作为另一因素,与其组合使用的认证方式。

5.基于表单认证

基于表单的认证方法并不是在HTTP协议中定义的。客户端会向服务器上的Web应用程序发送登录信息,按登录信息的验证结果认证。

通常,一种安全的保存方法是,先利用给密码加盐的方式增加额外信息,再使用散列函数计算出散列值后保存。

上一篇下一篇

猜你喜欢

热点阅读