`

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

    摘要认证是一种在网络交互中增强安全性的方式,特别是在HTTP协议中,用于保护敏感的用户信息,如登录凭证。在ISAPI(Internet Server Application Programming Interface)协议中,摘要认证是确保基于HTTP REST架构...

    WebApi摘要认证

    摘要认证是HTTP协议中的一个标准身份验证方法,它比基本认证更安全,因为它在传输过程中不直接暴露用户的明文密码。本文将深入探讨WebAPI摘要认证的原理、配置以及如何在Winform应用中调用WebAPI。 摘要认证基于...

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

    RTSP(Real Time Streaming Protocol)摘要认证协议是一种用于保护网络媒体流传输安全的身份验证机制,主要在HTTP 1.1中被引入,作为基本认证的安全替代方案。摘要认证通过使用MD5哈希算法确保了传输过程中敏感信息...

    node.js简单的实现http摘要验证

    总的来说,实现Node.js中的HTTP摘要认证需要理解HTTP协议、认证流程以及相关加密算法。通过上述步骤和提供的文件,你可以构建一个基本的HTTP摘要认证服务器,为你的应用程序提供安全的身份验证机制。

    SSL经摘要认证传输

    在描述中提到的环境,嵌入式浏览器shttpd作为服务器端,它支持SSL协议并启用摘要认证,提供了一个安全的环境供IE浏览器访问。IE浏览器作为客户端,它能够处理SSL连接并进行摘要身份验证,以确保与shttpd的交互是安全...

    无需后端数据库的RFID认证协议

    #### 摘要与背景 近年来,随着无线射频识别(Radio Frequency Identification, RFID)技术的广泛应用,其安全性问题引起了人们的高度关注。RFID技术通过无线射频方式进行非接触双向数据通信来识别特定目标并采集...

    RFC2617-cn.pdf

    与基本认证相比,摘要认证是一种更安全的方法,它采用了一种称为“摘要”的算法来确保密码不会以明文形式在网络上传输。摘要认证使用了哈希函数来生成一个不可逆的哈希值,这样即使有人截获了数据包也无法从中推断出...

    介绍RIP路由协议的认证

    RIP支持两种类型的邻居认证:纯文本认证和MD5消息摘要认证。纯文本认证简单易用,但在传输过程中容易被窃取,因为认证密钥会明文发送。相反,MD5消息摘要认证更为安全,因为它只发送由认证密钥和消息内容计算出的...

    应用密码学:协议、算法与C源程序_.rar_应用密码学

    身份认证是密码学的另一重要方面,书中可能会涵盖基于密钥的认证协议(如Diffie-Hellman密钥交换)以及基于证书的认证机制(如X.509证书和PKI体系)。这些知识对于理解互联网上的身份验证和安全通信至关重要。 除了...

    基于身份密码系统和区块链的跨域认证协议.pdf

    本文提出了一种基于身份密码系统和区块链的跨域认证协议,以解决异构网络环境中用户访问不同信任域网络服务时的跨域身份认证问题。该协议基于NC身份密码系统,结合区块链技术的分布式对等网络架构,提出了一种联盟链...

    Digest认证摘要 isapi (MD5算法)

    摘要认证是一种基于HTTP协议的安全身份验证机制,常用于Web服务器的身份验证。在"Digest认证摘要 isapi (MD5算法)"这个主题中,我们主要探讨的是如何利用ISAPI(Internet Server API)扩展在IIS(Internet ...

    计算机网络-HTTP协议实验报告

    - **HTTP认证:** 用于验证用户身份的一种机制,分为基本认证和摘要认证。 - **相关HTTP字段:** - `Authorization`:包含用户的认证信息。 - `WWW-Authenticate`:服务器端要求客户端提供认证信息。 2. **具体...

    模拟Digest认证的登录demo

    在IT领域,网络通信安全是至关重要的,尤其是当我们与...总之,这个Demo涵盖了HTTP协议的高级特性、网络爬虫技术,以及针对特定设备(如海康NVR)的API交互,对于理解和开发这类安全认证的应用具有很高的参考价值。

    was 安全认证例子

    WAS 提供了多种安全认证机制,包括基于基本认证、摘要认证、LTPA(Lightweight Third-Party Authentication)、Kerberos 和数字证书等。这些机制能够帮助我们构建一个强大的安全环境,保护数据不被未经授权的访问。 ...

    digest 用户认证 response生成算法

    在网络安全认证领域,digest用户认证是一种...摘要认证使用MD5算法,比基本认证更安全,但随着计算能力的提升和新算法的出现,MD5的破解难度降低,因此在安全性要求更高的场景下,可能需要采用更先进的算法和安全措施。

    http鉴权认证

    - **HTTP摘要认证**:比基本认证更安全,它使用哈希函数对用户名、密码和随机字符串进行计算,然后发送哈希值,服务器端再进行验证。 - **OAuth**:主要用于第三方应用获取用户资源的授权,常见于社交媒体登录。 ...

    HTTP digest RFC2671规范 加密实现(JAVA)

    HTTP Digest认证是一种安全的身份验证机制,它在HTTP协议中用于保护服务器资源免受未经授权的访问。RFC2671是HTTP/1.1扩展中关于Digest认证的规范,旨在改进基本认证的安全性,因为它不直接在请求中传输明文密码。在...

    视频监控系统中一种基于HTTP摘要 安全认证设计.pdf

    这种认证方式结合了HTTP协议与安全机制,旨在保护视频监控系统的数据传输不被未经授权的用户访问或篡改。 HTTP摘要认证的工作原理是,服务器向客户端发送一个挑战(Challenge),这个挑战通常包含一个随机的字符串...

    一种实现在线注册与权限分离的工业物联网身份认证协议.docx

    设计IIoT身份认证协议时,需要考虑双向认证、消息完整性和抗抵赖性、匿名性、前/后向保密性以及高效性等基本要求。 近年来,学者们提出了一系列针对IIoT的认证协议,如基于时间凭据和椭圆曲线加密(ECC)的方案,...

Global site tag (gtag.js) - Google Analytics