在Web中包括了四种认证方式:Basic, Form, Digest, SSL。下面进行一一阐述。
1. Basic (HTTP 1.0 提出)
客户端请求某个资源后,服务器会发送一个401(未授权)的响应,在响应中带了Realm信息表示使用Basic认证。
浏览器接收到这个响应后会弹出一个框,输入用户名和密码。点取消表示取消认证,点确定会提交用户名、密码到服务器。 提交的方式是在HTTP头中加入:
WWW-Authorization:Basic XXXXXXX
Basic后面是用户名、密码的BASE64编码。在客户端编程中,这段内容的构造为:
a. String cre = userName + ":" + password
b. Base64 encode(cre);
c. add to request header with "WWW-Authroization"
2. Form
Form就是在页面上以Form的形式提交数据,GET或POST. 也可以使用AJAX来提交认证信息。
3. Digest (HTTP 1.1最基本)
为了防止重放攻击,采用摘要访问认证。客户发送一个请求后,收到一个401消息,消息中还包括一个唯一的字符串:nonce,
每次请求都不一样。如,
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Digest
realm="xxxxxxx",
qop="auth,auth-int",
nonce="--base code--",
opaque="--base code--"
此时客户端将用户名、密码、nonce、HTTP Method和URI为校验值基础进行散列(默认为MD5)的摘要返回给服务器。响应头必须包括的5个部分:
- realm:领域,不同领域可能密码不一样
- nonce: 挑战值
- username:用户名
- digest-uri:请求URI
- response:摘要部分
服务器端则根据收到的信息加上存储的密码算出一个新的摘要与请求中的摘要比较,因为每次nonce都会变,就很难做到重放攻击了。
4. SSL
SSL协议位于TCP/IP和应用协议之间,基于公钥体制保证数据通讯的安全性。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
SSL协议提供的服务主要有:
1)认证用户和服务器,确保数据发送到正确的客户机和服务器;
2)加密数据以防止数据中途被窃取;
3)维护数据的完整性,确保数据在传输过程中不被改变。
SSL协议的工作流程:
服务器认证阶段:
1)客户端向服务器发送一个开始信息"Hello"以便开始一个新的会话连接;
2)服务器根据客户的信息确定是否需要生成新的主密钥,即会话密钥,如需要则服务器在响应客户的"Hello”信息时将包含生成主密钥所需的信息;
3)客户根据收到的服务器响应信息,产生一个主密钥,并用服务器的公开密钥加密后传给服务器;
4)服务器恢复该主密钥,并返回给客户一个用主密钥认证的信息,以此让客户认证服务器。
用户认证阶段:在此之前,服务器已经通过了客户认证,这一阶段主要完成对客户的认证。经认证的服务器发送一个提问给客户(往往是一张登录页面),客户则返回(数字)签名后的提问和其公开密钥,从而向服务器提供认证。
References:
[1] Basic 验证的Domain处理
http://blog.csdn.net/zfive5/archive/2006/11/01/1361138.aspx
[2] HTTP 认证方式
http://blog.csdn.net/hotnet522/archive/2010/08/19/5824716.aspx
[3] 什么是SSL连接
http://zhidao.baidu.com/question/39307683.html?fr=ala0
分享到:
相关推荐
WIFI 十二种 web 认证方式及简单配置 WIFI 认证是 WIFI 网络安全的关键组件,提供了多种认证方式来满足不同场景的需求。下面我们将详细介绍 WIFI 十二种 web 认证方式及简单配置。 一、 不需认证 不需认证是 ...
Portal认证是无线网络中常见的用户认证方式,它要求用户在未认证的状态下只能访问特定的门户网站,这个网站通常被称为Portal页面。当用户想要访问互联网中其他资源时,必须在这个Portal页面上进行认证,认证通过后,...
Web认证PAP方式流程是一种常见的网络访问控制方法,主要用于公共Wi-Fi或企业内部网络环境,确保只有经过身份验证的用户才能接入网络。该流程详细解释如下: 1. **用户访问外网网页请求**:用户(Station)尝试访问...
MAC认证是一种网络安全技术,主要目的是基于设备的物理地址(即MAC地址)来限制网络访问权限。这种方法无需用户安装额外的...在实际网络部署中,根据安全需求和用户体验,这两种认证方式可能会结合使用,提供多层防护。
在该流程中,涉及到多个技术点,如 RouterOS 的配置、DNS 配置、NAT 配置、路由管理、认证模板下载、认证接口配置等。该流程对 RouterOS 的使用和配置进行了详细的指导,能够帮助用户快速掌握 RouterOS 的使用和配置...
本文将深入探讨WebAPI摘要认证的原理、配置以及如何在Winform应用中调用WebAPI。 摘要认证基于HTTP的Authorization头,其过程大致如下: 1. 客户端发起请求,服务器返回401未经授权响应,包含WWW-Authenticate头,...
本文将深入探讨Django用户认证系统在Web请求中的应用,特别是如何解析和处理用户认证。 首先,每个Django Web请求中都有一个`request.user`属性,这个属性表示当前的用户状态。如果用户已登录,`request.user`将是...
WayOS_Web认证客户端就是这个过程中的关键组件。它提供了友好的用户界面,使得用户可以通过Web浏览器进行认证,而无需直接与PPPOE服务器交互。这样做的好处是,用户可以享受更直观的登录体验,同时,所有必要的认证...
在实际应用中,Web认证过程通常包括以下步骤: 1. 用户尝试连接到网络。 2. 路由器或接入点拦截连接请求,并重定向用户到一个特定的Web页面,即认证页面。 3. 用户在页面上输入用户名和密码,或者按照其他验证流程...
"ROS WEB认证"是ROS系统中的一个重要特性,用于实现网络接入的Web认证功能,尤其在公共场所如咖啡厅、图书馆等提供无线网络服务的场所广泛应用。 在ROS5.20及以上版本中,Web认证功能得到了进一步优化和增强。这一...
在"带web认证的boa web server"这个主题中,我们主要关注的是boa如何实现Web认证功能,这涉及到用户登录和安全性方面的知识。 Web认证是确保只有授权用户能够访问特定Web资源的一种机制。在 boa 中,它通过集成认证...
这种认证方式允许用户通过Web浏览器进行身份验证,以便接入网络。"自适应大小"特性意味着该系统能够自动调整界面以适应不同设备的屏幕尺寸,无论是电脑、平板还是智能手机,都能提供良好的用户体验。 在WayOS Web...
关于ROS Web认证,这涉及到ROS与Web服务器之间的通信。通常,ROS节点可以作为Web服务提供者,通过HTTP或HTTPS协议暴露接口。用户在浏览器中访问这些服务时,需要经过身份验证。这可以通过多种认证机制实现,如基本...
WebApi Token+ 数字签名认证源码是一种常见的安全机制,用于保护Web API接口免受未经授权的访问。在本文中,我们将深入探讨这个...这种认证方式广泛应用于现代Web应用和微服务架构中,为安全的通信提供了坚实的基础。
1. **安装Owin中间件**:在ASP.NET Web API项目中,首先需要通过NuGet包管理器安装`Microsoft.Owin.Security.OAuth`和`Microsoft.Owin.Security.Cookies`,这两个包分别用于OAuth2.0授权和Cookie认证。 2. **配置...
文件信息中出现的“***”和“***”指的可能是WEB认证页面中CSS文件和图像资源的网络路径。在更新这些资源时,要确保路径正确,否则页面将无法正确加载CSS样式和图像,影响最终显示效果。 通过以上知识点可以推断,...
认证技术是AAA(认证,授权, 计费)的初始步骤,AAA一般包括用户终端、AAAClient、AAA Server和...用户终端与AAA Client之间的通信方式通常称为认证方式。目前的主要技术有以下三种:PPPoE、Web+Portal、IEEE802.1x。
2. 基本身份验证(Basic Authentication):这是一种简单的认证方式,用户凭据(用户名和密码)以Base64编码的形式包含在请求头中。虽然简单,但不安全,因为数据未加密,容易被截取。 3. OAuth2:OAuth2是一种授权...