http --- 基本认证与摘要认证
基本认证:
// (a)客户端:查询
GET /cgi-bin/checkout?cart=17854 HTTP/1.1// (b)服务器:质询
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Basic realm="Shopping Cart"// (c)客户端:响应
GET /cgi-bin/checkout?cart=17854 HTTP/1.1
Authorization: Basic YnJpYW4tdG90dHk6T3ch// (d)服务器:成功,返回信息
HTTP/1.1 200 OK
基本认证的缺陷在于:账号和密码是明文发送,不安全.
摘要认证:
// (a)客户端:查询
GET /cgi-bin/checkout?cart=17854 HTTP/1.1// (b)服务器:质询
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digestrealm="Shopping Cart"qop="auth,auth-int"nonce="66C4EF58DA7CB956BD04233FBB64E0A4"// (c)响应
GET /cgi-bin/checkout?cart=17854 HTTP/1.1
Authorization: Digestusername="bri"realm="Shopping Cart"nonce="66C4EF58DA7CB956BD04233FBB64E0A4"uri="/cgi-bin/checkout?cart=17854"qop="auth"nc=0000001,cnonce="CFA9207102EA210FFC1120F6001110D073"response="E483C94FOB3CA29109A7BA83D10FE519"// (d)成功
HTTP/1.1 200 OK
Authorization-Info: nextnonce="29FE72D109C7EF23841AB914F0C3B831"qop= 0auth0rspauth="89F5A4CE6FA932F6C4DA120CEB754290"cnonce="CFA9207102EA210EA210FFC1120F6001110D073"....
摘要认证的3个组件:
// *摘要由以下3个组件计算出来:
// 1.由单向散列函数H(d)和摘要KD(s,d)组成的一对函数,其中s表示密码,d表示数据
// 2.一个包含了安全信息的数据块,包括密码,称为A1
// 3.一个包含了请求报文中非保密属性的数据块,称为A2
安全性相关的数据(A1)
// A1是密码和受保护信息的产物,它包含有用户名、密码、保护域和随机数等内容
与报文有关的数据(A2)
// 数据库A2表示的是与报文自身有关的信息,比如URL、请求方法和报文实体的主体部分
// A2有助于防止方法、资源或报文被篡改
摘要认证会话
// 客户端在响应保护空间的WWW-Authenticate质询时(请求账号、密码信息),会启动一个此保护空间的认证会话
// 在客户端收到另一条来自保护空间的任意一台服务器的WWW-Authenticate质询之前,认证会话会一直持续
预授权
// 在普通的认证方式中,事务结束之前,每条请求都要有一次 请求/质询 的循环
// 如果客户端事先知道下一个随机数是什么,就可以取消这个 请求/质询 循环
// 这样客户端就可以在服务器发出请求之前,生成正确的Authorization首部了.
对称认证
// RFC 2617扩展了摘要认证机制,允许客户端对服务器进行认证.
// 通过提供客户端随机数来实现的.
// 它是可选的.
增强保护质量
// 可以在三种摘要首部中提供qop(保护质量)字段:WWW-authenticate、Authorization和Authentication-Info
// 通过qop字段,客户端和服务器可以对不同类型及质量的保护进行协商.
多重质询
// 服务器可以对某个资源发起多重质询.如:服务器不了解客户端的能力,可以既提供基本认证质询,又提供摘要认证质询
// 客户端在面对多重质询时,必须以它所支持的最强的质询机制来应答
差错处理
// 在摘要认证中,如果某个指令或其值使用不当,或者缺少某个必要指令,就应该使用响应400 Bad Request
// 如果请求的摘要不匹配,就应该记录一次登录失败.某客户端连续多次失败可能说明有攻击者正在猜测密码
保护空间
// 阈值,与被访问服务器的标准根URL结合在一起,定义了保护空间
// 通过域可以将服务器上的受保护资源划分为一组保护空间,每个空间都有自己的认证机制 和/或 授权数据库
参考《HTTP权威指南》P308~P318
http --- 基本认证与摘要认证相关推荐
- [转]asp.net权限认证:摘要认证(digest authentication)
本文转自:http://www.cnblogs.com/lanxiaoke/p/6357501.html 摘要认证简单介绍 摘要认证是对基本认证的改进,即是用摘要代替账户密码,从而防止明文传输中账户密 ...
- asp.net权限认证:摘要认证(digest authentication)
摘要认证简单介绍 摘要认证是对基本认证的改进,即是用摘要代替账户密码,从而防止明文传输中账户密码的泄露 之前对摘要认证也不是很熟悉,还得感谢圆中的 parry 贡献的博文:ASP.NET Web AP ...
- HTTP的认证方式之DIGEST 认证(摘要认证)
核心步骤: 步骤 1: 请求需认证的资源时,服务器会随着状态码 401Authorization Required,返回带WWW-Authenticate 首部字段的响应.该字段内包含质问响应方式认证 ...
- (chap8 确认访问用户身份的认证) DIGES认证(摘要认证)
1. 定义 为了弥补BASIC不加密的缺点,DIGEST同样适用质询/响应的方式,但不会像BASIC直接发送明文,给对方的只是相应摘要以及知讯码产生的计算结果,所以比起BASIC认证,密码泄露的可能性 ...
- RTSP鉴权认证之基础认证和摘要认证
RTSP认证类型 基本认证(basic authentication):http 1.0提出的认证方案,其消息传输不经过加密转换因此存在严重的安全隐患: 摘要认证(digest authenticat ...
- java http 摘要认证_HTTP - 摘要认证
基本认证便捷灵活,但极不安全.用户名和密码都是以明文形式传送的,也没有采取任何措施防止对报文的篡改.安全使用基本认证的唯一方式就是将其与 SSL 配合使用. 摘要认证是另一种 HTTP 认证协议,它与 ...
- rtsp摘要认证协议流程
1. rtsp摘要认证协议流程 RTSP协议,全称Real Time Streaming Protocol,是应用层的协议,它主要实现的功能是传输并控制具有实时特性的媒体流,如音频(Audio)和视频 ...
- HTTP的几种认证方式之BASIC 认证(基本认证)
目录 1.BASIC 认证(基本认证)的步骤 2.BASIC 认证的的缺点 3.Java + SpringBoot 实现 BASIC 认证的Demo 4.测试 5.注意事项 6.Java + Spri ...
- WebApi接口安全认证——HTTP之摘要认证
摘要访问认证是一种协议规定的Web服务器用来同网页浏览器进行认证信息协商的方法.它在密码发出前,先对其应用哈希函数,这相对于HTTP基本认证发送明文而言,更安全.从技术上讲,摘要认证是使用随机数来阻止 ...
最新文章
- com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'user'
- 使tomcat和lighttpd使用service启停
- docker中创建RabbitMQ并在管理端界面打开
- 看《长安十二时辰》可以了解哪些算法知识
- 社区发现SLPA算法
- Spring: Spring AOP 方面/切面(Aspect)
- python个人所得税怎么写分录_个人所得税的会计分录!
- c语言冒泡排序的两种实现方式,c语言中冒泡排序的实现原理是什么?
- 在线字符串转列表工具
- 30-40岁的程序员们,请把一些账算清楚,为过冬做准备(一)
- 武当功夫在现代2 视频
- Modelica资料整理
- 【Quant】80+面试,5个offer,Quant大神总结分享各家quant面试题
- zuul+ribbon实现负载均衡
- 100层楼和两个玻璃球的问题
- gitter 卸载_最佳的Gitter渠道:数据科学和机器学习
- so库方法的调用过程
- 从Idea到付诸实践,你必须要知道的
- networkx2.5知识梳理
- 【线下沙龙免费报名】像阿里巴巴一样工作_听干货分享欣赏阿里西溪园区风景