HTTP安全方面的进化史:
Basic Access Authorization;
Digest Access Authoriazation;
SSL
TLS
1、firefox 没携带“用户名+密码”去访问www.jxceo.com 服务器返回: 401 Unauthorized
2、firefox 在包头的可选字段Authorization携带“用户名+密码”再次访问www.jxceo.com,但是用户名和密码不对,服务器返回: 401 Unauthorized
(包头的Authorization字段是个可选字段,如果服务端的资源不需要进行认证,则服务端不会去看有没有Authorization信息;如果服务端的资源需要进行认证,则服务端会看该字段,如果该字段没填或填错了,服务端都会返回401 Unauthorized,表示为通过认证。)
(思考一个问题:这里的用户名和密码不是明文的方式传递的,那是什么呢? 一种可能是单向加密算法,然后服务端拿正确的用户名和密码也进行单向加密,然后比对两密文。这种方式有两问题,一个是明文到密文的映射关系不一定是一一映射,也就是说两个不同的明文可能被映射到同一个密文/明文碰撞/;另一个情况是黑客并不需要知道明文是什么,只需要捕获到密文。 另一种可能是可逆的加密,比如Base64,那么这种手段对于专业级黑客来讲跟明文毫无区别,只能拦住一些普通用户。因为Base64算法是公开的,而且算法是可逆的。
结论:进行Base64并不是出于安全因素考虑。)
3、wikipedia对Http Basic Auth的解释 (访问权限控制)
http://en.wikipedia.org/wiki/Basic_access_authentication
In the context of an HTTP transaction, the basic access authentication is a method designed to allow a web browser, or other client program, to provide credentials – in the form of a user name and password – when making a request.
(如果服务端的某个url资源被设置成了需要进行Basic Access Auth,那么客户端在进行请求的时,被要求在包头可选字段Authorization携带用户名和密码信息,以便服务端进行验证。)
Before transmission, the username and password are encoded as a sequence of base-64 characters.
(携带的“用户名和密码”信息,在传输前,被进行了Base64编码。也就是用户名和密码不是以明文的形式传输,而是进行了Base64编码。)
For example, the user name Aladdin and password open sesame would be combined as Aladdin:open sesame – which is equivalent to QWxhZGRpbjpvcGVuIHNlc2FtZQ== when encoded in Base64. Little effort is required to translate the encoded string back into the user name and password, and many popular security tools will decode the strings "on the fly".
(客户端进行Base64后,服务端接收到后需要解码,都很快,花不了多少代价。)
package com.eyesmore.art;
import org.apache.commons.codec.binary.Base64;
public class Base64Demo {
public static void main(String[] args) {
String userName = "Aladdin";
String password = "open sesame";
String authCombination = userName + ":" + password;
String authBase64 = new String(Base64.encodeBase64(authCombination.getBytes()));
System.out.println("authCombination = "+authCombination);
System.out.println("authBase64 = "+authBase64);
String authRecovery = new String(Base64.decodeBase64(authBase64.getBytes()));
System.out.println("authRecovery = "+authRecovery);
}
}
Wrongly, people believe that this base-64 encoding is done because of security, to prevent it from being read directly by a person. Encoding is done, instead, to avoid breaking the HTTP protocol data encoding because of bizarre (and more secure) passwords containing special HTTP characters, such as newlines.
(值得纠正的一点是:人们常常误认为之所以进行Base64编码的原因是出于安全因素的考虑,其实是为了防止密码中含有怪异的字符,这些字符和http的协议保留字符冲突,比如换行。)
The basic access authentication was originally defined by RFC 1945 (Hypertext Transfer Protocol – HTTP/1.0) although further information regarding security issues may be found in RFC 2616 (Hypertext Transfer Protocol – HTTP/1.1) and RFC 2617 (HTTP Authentication: Basic and Digest Access Authentication).
4、
- 大小: 10.3 KB
- 大小: 11.1 KB
分享到:
相关推荐
本章介绍网络安全方面存在的问题及其解决办法,即网络通信中的数据保密技术和签名与认证技术,以及有关网络安全威胁的理论和解决方案。 6.1.,网络安全威胁的类型 网络威胁是对网络安全缺陷的潜在利用,这些缺陷可能...
简介:本书系统性地介绍了移动通信网络架构及其演进路线,并针对各种移动通信系统和技术详细分析了其安全防护基本原理、技术内涵和应用方案。本书涵盖个人移动通信、宽带无线接入、无线个域网络、无线自组织网络、...
可以扫描任何通过Web浏览器访问和遵循HTTP/HTTPS规则的Web站点 WVS可以通过检查SQL注入攻击漏洞、XSS跨站脚本攻击漏洞等漏洞来审核Web应用程序的安全性。 WVS简介 WebScanner:全站扫描, Web安全漏洞扫描 Site ...
Windows系统的安全架构 一、Windows安全设置 1、加强windows用户账户认证和访问控制权限控制 Windows用户账号可以确认访问系统资源的用户身份,是用户获得系统访问权限的关键。当前windows系统中身份认证通常是采用...
计算机网络安全概述,网络安全的基本概念、内容、方法和模型 网络协议安全 信息加密与认证 访问控制 防火墙与入侵检测 数据备份与恢复
传统安全防护思想——头疼医头,脚痛医脚 安全的 组织保障 密码机 物理隔离卡 基本 安全机制 LAN/WAN 的安全 TEMPEST 外网互连 安全 网络管理 防火墙 安全应用 安全 数据库 CA认证 个人机安全 保护 安全审计 ...
最新CISP考试认证课件,完整版,供大家学习参考。 CISP0302信息安全风险管理 CISP0101信息安全保障 CISP0201密码学基础 CISP0201密码学基础 CISP0202密码学应用 CISP0203访问控制 CISP0204网络安全 CISP0205操作...
4.数据库安全防护需求:用户认证、访问控制、保密性、可用性、完整性、可审计性 5.Windows系统安全机制:①Windows认证机制②Windows访问控制机制③用户账户管理 ④加密文件系统⑤BitLocker机制⑥Windows审计/日志...
计算机网络安全基础(第3版)》共有11章,内容包括:网络的基础知识与因特网提供的主要服务、网络常用的操作系统、网络安全的基本知识、计算机系统安全与访问控制、数据安全、数据库系统安全、数据加密与认证技术、...
包括访问控制、授权、认证、加密和内容安全等。 访问控制是提供企业内部与外界及内部不同信息源之间隔离的基本机制,也是企业的基本要求。但是提供隔离不是最终目的,企业利用Internet技术的最终目的应当是在安全的...
《信息安全理论与技术》介绍信息安全的基本概念、方法和技术,详细讲解了信息安全的基础知识、信息安全模型、当代主流的密码技术、访问控制技术、数字签名和信息认证技术、安全审计与监控技术、网络攻防技术、病毒及...
11、ISO安全体系结构提出了8种基本的安全机制,它们分别是加密机制、()、()、数据完整性机制、认证(鉴别)机制、通信业务填充机制、路由选择控制机制、公证机制 答案: 数字签名机制 ; 访问控制机制 ; 12、...
二、无线安全基本技术 2 2.1访问控制:利用ESSID、MAC限制,防止非法无线设备入侵 2 2.2数据加密:基于WEP的安全解决方案 3 三、新一代无线安全技术——IEEE802.11i 4 四、无线接入点安全 7 4.1 修改admin密码 7 4.2...
HTTP1.1提供了一个基于口令基本认证方法,目前所有的WEB服务器都可以通过“基本身份认证”支持访问控制。在身份认证上,针对基本认证方法以明文传输口令这一最大弱点,补充了摘要认证方法,不再传递口令明文,而是将...
网络的基础知识与因特网提供的主要服务、网络常用的操作系统、网络安全的基本知识、计算机系统安全与访问控制、数据安全、数据库系统安全、数据加密与认证技术、计算机病毒的防治、网络安全技术、网络站点的安全等...
同时也能够提供更为强大的连接检测、攻击检测、认证、内容过滤等更加细粒度的安全防护,所以在网络层访问控制方面通常都采用防火墙设备,通过防火墙设备定义好的安全规则来实现基本的访问控制。 防火墙是实现网络...
解析远程访问的三种攻击及防范方法 - 解析远程访问的三种攻击及防范方法 -
六、网络安全技术 1、信息安全的基本概念。 2、网络管理的基本概念。 3、网络安全策略。 4、加密与认证技术。 5、防火墙技术的基本概念。 七、网络应用:电子商务于电子政务 1、电子商务基本概念与系统结构。 2、...
《信息安全导论》全面介绍了信息安全的基本概念、原理和知识体系,主要内容包括网络攻击与安全防范、密码学基础、认证技术与PKI、信息隐藏技术、访问控制与防火墙技术、入侵检测技术、防病毒技术、安全扫描技术、...
应用层安全需求 如何根据不同访问权限对同一数据库内容进行筛选 如何提供用户隐私信息保护,同时又能正确认证 如何解决信息泄露追踪问题 如何进行计算机取证 如何销毁计算机数据 如何保护电子产品和软件的知识产权 ...