- 何为认证
计算机本身无法判断坐在显示器前的使用者的身份。进一步说,也无法确认网络的那头究竟有谁。可见,为了弄清究竟是谁在访问服务器,就得让对方的客户端自报家门。就算正在访问服务器的对方声称自己是ueno,身份是否属实这点却也无从谈起。为确认 ueno 本人是否真的具有访问系统的权限,就需要核对“登录者本人才知道的信息”、“登录者本人才会有的信息”。
核对的信息:- 密码 :只有本人才会知道的字符串信息;
- 动态令牌:仅限本人持有的设备内显示的一次性密码;
- 数字证书:仅限本人(终端)持有的信息;
- 生物认证:指纹和虹膜等本人的生理信息;
- IC 卡等:仅限本人持有的信息;
- HTTP 使用的认证方式
- BASIC 认证(基本认证)
- DIGEST 认证(摘要认证)
- SSL 客户端认证
- FormBase 认证(基于表单认证)
- BASIC 认证
缺点:- 在 HTTP 等非加密通信的线路上进行 BASIC 认证的过程中,如果被人窃听,被盗的可能性极高;
- 一般的浏览器却无法实现认证注销操作;
BASIC 认证使用上不够便捷灵活,且达不到多数 Web 网站期望的安全性等级,因此它并不常用。
- DIGEST 认证
质询响应方式 : 一开始一方会先发送认证要求给另一方,接着使用从另一方那接收到的质询码计算生成响应码。最后将响应码返回给对方进行认证的方式;
发送给对方的只是响应摘要 及由质询码产生的计算结果,所以比起 BASIC 认证,密码泄露的可能性就降低了。
使用上不那么便捷灵活,且仍达不到多数 Web 网站对高度安全等级的追求标准。 - SSL 客户端认证
SSL 客户端认证采用双因素认证: 在多数情况下,SSL 客户端认证不会仅依靠证书完成认证,一般会和基于表单认证(稍后讲解)组合形成一种双因素认证(Two-factorauthentication)来使用。所谓双因素认证就是指,认证过程中不仅需要密码这一个因素,还需要申请认证者提供其他持有信息,从而作为另一个因素,与其组合使用的认证方式。
第一个认证因素的 SSL 客户端证书用来认证客户端计算机,另一个认证因素的密码则用来确定这是用户本人的行为。 - 基于表单认证
认证多半为基于表单认证 ?- 由于使用上的便利性及安全性问题,HTTP 协议标准提供的 BASIC 认证和 DIGEST 认证几乎不怎么使用。
- SSL 客户端认证虽然具有高度的安全等级,但因为导入及维持费用等问题,还尚未普及。
- 一种安全的保存方法是,先利用给密码加盐(salt)的方式增加额外信息,再使用散列(hash)函数计算出散列值后保存。但是我们也经常看到直接保存明文密码的做法,而这样的做法具有导致密码泄露的风险。
第八章:确认访问用户的身份认证
猜你喜欢
转载自blog.csdn.net/ChrisSen/article/details/88293177
今日推荐
周排行