`

HTTP协议:基本认证与摘要认证

阅读更多

HTTP协议:基本认证与摘要认证

认证就是客户端要给服务器出示一些自己的身份证明,来证明自己是谁!一旦服务器知道了客户端的身份,就可以判定客户端可以访问的事务和资源了。 在HTTP中,认证通常是通过提供用户名和密码来进行认证的。我们来介绍一下常用的两种认证方式:基本认证与摘要认证!

一、基本认证

在基本认证中,Web服务器可以拒绝一个事务,质询客户端,请用户提供有效的用户名和密码。服务器会返回401状态码来初始化认证质询,并用WWW-Authenticate响应首部指定要访问的安全域。浏览器收到质询时,会打开一个对话框,请求用户输入这个域的用户名和密码,然后将用户名和密码用Base64编码,再用Authorization请求首部回送给服务器。

1.基本认证实例

1)用户请求服务器上某资源:/family/jeff.jpg。

2)服务器回送一条401 Authrization Required,对此资源进行密码质询。同时通过WWW-Authenticate首部说明如何以及在哪里认证。

3)浏览器收到401质询,弹出认证对话框。用户输入用户名和密码后,浏览器会用一个冒号将其连接在一起,并经过Base64编码,然后将其放入Authorization首部发送给服务器。

4)服务器对用户名和密码进行解码,验证他们的正确性,然后用一条HTTP 200 OK报文返回所请求的资源。

2.基本认证缺点

1)基本认证会通过网络发送用户名和密码,这些用户名和密码以Base64编码,Base64编码是一种可逆编码,非常容易破解,所以基本认证相当于以明文的方式传输用户名和密码,非常容易被第三方拦截!

2)使用基本认证登录后,除非关闭浏览器或者清除历史记录,不然无法登出!

3)基本认证没有考虑到重放攻击,即使base64编码是不可逆的,攻击者也可以通过重放攻击来获得服务器的信任。

二、摘要认证

为了弥补基本认证的不足,摘要认证做了以下改进:

1)以密文(不可逆)形式发送密码。

2)防止重放攻击

1.如何加密?

摘要认证遵循的箴言是“绝不通过网络发送密码”,客户端不会发送密码,而是会发送一个指纹或密码的“摘要”,这是密码的不可逆扰码。客户端和服务器都知道密码,因此服务器可以验证所提供的摘要是否与密码相配。

摘要是对信息主题的浓缩。摘要是一种单向函数,主要用于将无限的输入值转换为有限的浓缩输出。常见的摘要函数MD5,会将任意长度的字节序列转换为一个128位的摘要。

2.如何防止重放攻击?

使用单向散列函数加密密码,可以保证密码不以明文形式传送,但是仅仅隐藏密码并不能避免危险,因为即便是不知道密码,攻击者可以通过截获摘要,一遍遍的重放给服务器。在重放攻击的角度,加密和不加密没有区别。

摘要认证中防止重放攻击的前提条件是客户端和服务器都知道密码的明文形式。服务器先发送给客户端一个随机数,客户端使用散列函数加密随机数和密码,然后发送给服务器端。这样即使第三方截获报文,利用重放攻击进行认证也无济于事,因为每次事务的随机数不一样!

分享到:
评论

相关推荐

    ISAPI协议摘要认证实现方法介绍1

    2摘要认证开发实现方法目前以 HTTP 协议为例。2.1 C++实现MD5 算法:void __stdcall mprGetMD5Hash(unsigned c

    专题资料(2021-2022年)rtsp摘要认证协议Response计算方法.doc

    专题资料

    gat1400:SpringBoot 对接 GAT/1400协议

    gat1400是【有来开源组织】使用 Java 语言基于 SpringBoot 框架快速对接视图库视频专网...已实现GAT/1400协议功能:人脸识别上传/车牌识别上传/摘要认证登陆/注册保活/时间同步。 已成功对接大华/海康视频专网平台。

    okhttp-digest:okhttp的摘要身份验证器

    okhttp-digest okhttp的摘要身份验证器。 大多数代码是从Apache Http Client移植的。重要的该工件已从jcenter转移到了Maven Central! 坐标已从com.burgstaller:okhttp-digest:<version>到io.github.rburgst:okhttp-...

    java server

    在身份认证上,针对基本认证方法以明文传输口令这一最大弱点,补充了摘要认证方法,不再传递口令明文,而是将口令经过散列函数变换后传递它的摘要 2.针对HTTP协议的改进还有安全HTTP协议SHTTP。最新版本的SHTTP1.3...

    GAT1400+GAT669+GAT1400部分对接样例视频接口.zip

    gat1400 1234协议 还有收集到的部分1400官方对接文档, 一定要注意公共部分, 注册的时候需要用到 IETF RFC 2617 http身份验证:基本和摘要访问认证

    Http Digest 鉴权

    “摘要”式认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述。...摘要认证就是要核实,参与通信的双方,都知道双方共享的一个秘密(即口令)。

    网络安全试卷四-含答案.doc

    " " " "完整性 " " " "加密 " " " "访问控制 " " " "认证技术 " " " "窗体底端 " " " "窗体顶端 " " 问题9 " "单项选择题(2.0分 难度:基本题) " " " " " " " "MD5算法得出的摘要大小是( ) " " " "128位 " " " ...

    落雨博客基于CAS框架的单点登录技术讲解(ppt+code实例+doc)配套资料

    [置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) http://blog.csdn.net/ae6623/article/details/8851801 [置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas...

    网络安全试卷一-含答案.doc

    " " " "基于摘要算法认证 " " " "基于PKI认证 " " " "基于数据库认证 " " " "窗体底端 " " " "窗体顶端 " " 问题11 " "单项选择题(2.0分 难度:基本题) " " " " " " " "当某一服务器需要同时为内网用户和外网用户...

    商用密码应用安全性评估管理办法 《商⽤密码应⽤与安全性评估》第⼀章密码基础知识-⼩结

    杂凑算法实现任意长信息压缩为固定长度摘要的功能 密码是:“基因”、“信使”、“卫⼠” 信息系统的要素有:计算机硬件、⽹络和通讯设备、计算机软件、信息资源、信息⽤户、规章制度 信息安全的主要⽬的:保障信息...

    一种改进的适用于多服务器架构的匿名认证协议_余宜诚1

    摘要:为了保证合法用户与应用服务器双方的通信安全,如何实现会话双方高效安全的相互认证是多服务器架构网络系统急需解决的重要安全问题。针对 Guo 等人提出的三因子

    论文研究-基于 SIP 的安全认证机制的改进与实现 .pdf

    基于 SIP 的安全认证机制的改进与实现,刘冬杰,卞佳丽,SIP 协议是当前 IP 电话中的主流协议,HTTP 摘要认证机制被很多 SIP 系统作为安全认证机制,但存在客户端不能认证服务器端、不支持密钥

    大型分布式网站架构与实践

     如何采用摘要认证方式防止信息篡改、通过数字签名验证通信双方的合法性,以及通过HTTPS协议保障通信过程中数据不被第三方监听和截获。  在开放平台体系下,OAuth协议如何保障ISV对数据的访问是经过授权的合法行为...

    单片机与DSP中的HMAC认证协议的单片机实现

    摘要:HMAC是一种基于密钥的Hash算法的认证协议,可以应用于电子商务领域。我们通过国有自主知识产权的单片机ZQ032SA,实现了以MD5算法为核心的HMAC协议,并把它调用于IP电话计费认证系统。  关键词:HMAC ZQ032...

    基于改进的Diameter/EAP-MD5的SWIM认证方法

    在分析SWIM体系结构和基于Diameter协议的EAP-MD5应用子协议基础上,给出标准Diameter/EAP-MD5认证过程中存在的安全隐患,改进了EAP-MD5认证协议,提出基于改进的Diameter/EAP-MD5协议的SWIM用户身份认证方法,研究...

    网络安全考试题.doc

    【应用题】 1. 计算机网络安全所面临的威胁分为哪几类?从人的角度,威胁网络安全的因素有哪些? 答:计算机网络安全所面临的威胁主要可分为...源文件进行信息摘要(HASH)- 》加密(私钥)-》连同原文再次加密(公钥)

    一种基于改进的HTTP摘要认证的SIP安全机制

    SIP协议是当前IP电话中的主流协议,HTTP摘要认证机制被很多SIP系统作为安全机制,但存在客户端不能认证服务器端,且不支持密钥协商的缺陷。为解决这一不足,提出了一种基于改进的HTTP摘要认证的SIP安全机制,使得SIP...

    互联网打印机协议IPP分析.pdf

    互联网打印机协议IPP分析.pdf

    电子商务安全期末考试题附答案.pdf

    本资源摘要信息涵盖了电子商务安全的多个方面,包括安全协议、加密算法、数字签名、身份认证、电子商务安全需求等。 首先,电子商务安全协议中,_SSL/TLS 协议是一种安全的通信协议,用于保护网络通信的安全。它...

Global site tag (gtag.js) - Google Analytics