文章目录
认证机制
- Web网页要设置成访问权限,确认电脑前是否是user在使用
- 对于现在的网络认证机制——采用基于表单的认证
- 表单认证:采用Cookie应用管理Sessions会话
【1】认证
- 核对登陆者身份
(1)密码
(2)动态令牌
(3)数字证书
(4)生物认证
(5)IC卡
【2】HTTP的认证机制有哪些
- Basic认证
- Digeset认证
- SSL认证
- FormBase认证
Basic认证(不常用)
- Web服务器与通信客户端之间进行的认证
- 不常用,安全性低(明文密码传输),效率低
Digset认证(不常用)
- 质询/响应方式(challenge/response),但不会像Basic一样发送明文密码
- 发送给对方的是响应摘要和由质询码产生的计算结果——安全性提升
SSL客户端认证(不常用——贵)
- 利用SSL客户端认证避免用户ID和密码被盗
- 利用HTTPS的客户端证书完成认证
- 分发客户端证书给客户端,客户端安装
双因素认证
- SSL客户端认证往往和基于表单认证结合使用
- 认证的过程中,除了提供ID和密码,还要提供其他持有信息
(1)SSL客户端认证:用来认证客户端计算机
(2)基于表单认证:密码用来确认是用户本人的行为
基于表单认证(常用)
- 基于表单的认证方式并不是在HTTP协议中定义的
- Web网站各自实现自己的表单认证(实现方式不同),因为Web网站的认证功能能够满足其安全级别的标准规范并不存在。
【3】Cookie应用管理Session会话
- 基于表单认证的规范尚未明确,一般会使用cookie技术管理session会话
- 利用cookie技术弥补HTTP协议中不存在的状态管理功能
- 基于表单认证本身是通过服务器端的Web应用,将客户端发送过的用户ID和密码与之前登陆过的保存的信息进行匹配进行认证
- 步骤:
(1)客户端将用户ID和密码放入到报文中
(2)服务器会发放用以识别用户的Session ID,通过从客户端发送过来的登录信息进行身份验证,然后将用户的验证状态和Session ID记录在服务器端
(3)客户端接收Session ID,将其作为cookie保存到本地,下次向服务器发送请求时,浏览器会自动发送cookie,这样session ID就发送到了服务器,进而对session ID对用户进行识别和验证
【4】总结
- 认证采用:基于表单认证
- Web网站各自实现自己的基于表单认证
- 利用Cookie应用管理会话
【5】服务器端对ID和密码等信息保存方式
- 给密码加盐(salt):添加额外信息
- 散列(hash):函数计算出散列值后保存
给密码加盐:由服务器随机生成一个足够长字符串,添加到密码后面或者前面,两个用户设置了同一个密码,但salt不同
生成散列值:利用散列函数,攻击者很难利用自己手中的密码特征库进行破解
关注公众号:<小杨的健解之路>
回复:"图解http"获取《图解HTTP》pdf