本帖最后由 小江哥 于 2018-10-21 13:36 编辑
计算机本身无法识别使用者的身份,需要通过核对''登录者本人才知道的信息,登录者本人才会有的信息“,核对信息尤为重要。常见有下面几种: 密码:本人设置的字符串信息
动态令牌:仅本人持有的设备中显示一次性的密码
数字证书:仅限本人持有的信息
生物认证:指纹和虹膜等本人的生物学信息
IC卡等:本人持有
HTTP /1.1使用认证方式如下:
BASIC认证(基本认证)
DIGEST认证(摘要认证)
SSL客户端认证
FORMBASE认证(基于表单认证)
BASIC认证步骤:
步骤1 :当请求资源需要BASIC认证的时候,服务器会随状态码401,返回带有WWW-Authenticate 首部字段的响应。该字段内包含认证的方式及request_url安全域字符串。
步骤2:接收到状态401的客户端为了通过Basic认证,需要将用户ID 及密码发送给服务器。发送的字符串内容是有用户ID和密码构成的,两者中间用冒号(:)连接后,再经base64编码处理。
假设用户ID为gg,密码为gg,连接起来形成gg:gg的字符串。经base64 编码后的结果是adscbhsdav=。把这些字符串写入首部字段authorization后发送请求。
当用户代理为浏览器时,用户仅需输入用户ID和密码即可。之后浏览器会自动完成到base64编码的转换工作。
步骤3:接收到包含首部字段authorization 请求的服务器,会对认证信息的正确性进行验证。如果通过验证,就返回一条包含request-url资源的响应。
basic认证虽然采用了base64编码方式,但这不是加密处理。不需要任何附加信息就可以对其解码。换言之,由于明文解码后就是用户的真实信息,在Http等非加密通信的线路上进行basic认证的过程中,如果被监听,被盗的可能性极高。
另外,想再次进行basic认证的时候,一般浏览器无法实现认证注销操作。为此,basic认证使用上不便捷灵活,且达不到多数web网站期望的安全性等级,因此它并不常用。
|
|