HTTP与HTTPS(安全性)

零、

百科:网络安全包含网络设备、信息安全、软件安全
网络系统的硬件软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。

一、HTTP的安全性考虑

1.首部篡改

具有一定保护级别的首部只有www-Authenticate和Authorization

2.重放攻击

指有人将从某个事务中窃取的认证证书用于另一个事务
缓解问题的方法之一:让服务器产生的随机数包含根据客户端IP地址、时间戳、资源Etag和私有服务器密钥算出的摘要。(缺陷:用客户端的IP地址来创建随机数会破坏经过代理集群的传输)
完全避免的方法:为每个事务使用一个唯一的随机数

3.多重认证机制

避免方法:让客户端去选择可用认证方案中功能最强的一个。若无法实现,使用一个只维护最强认证方案的代理服务器(在已知所有客户端都支持所选认证方案的区域中才能采用这种方式)

4.词典攻击

是典型的密码猜测型攻击方式
解决:使用复杂的相对难破译的密码和合适的密码过期策略

5.选择明文攻击

使用已知密钥来计算响应可以简化响应的密码分析过程。
变体形式:
预先计算的词典攻击
批量暴力型攻击
防止方法:配置客户端使用可选的cnonce指令,这样响应就是基于客户端的判断产生的,而不是用服务器提供的随机数。

6.存储密码

消除方法:像密码文件中包含的明文密码一样来保护它
确保域名在所在域中是唯一的。

7.恶意代理攻击和中间人攻击

代理为恶意的或容易被入侵
解决方案:由客户端提供和认证功能有关的可见线索;对客户端进行配置使其总是使用可用认证策略中功能最强的一种。但即使使用最强大的认证策略,客户端仍很容易被窃听。防止这些攻击唯一简便的方式就是SSL。

对于这种攻击,以下开始介绍HTTPS怎么维护安全

二、HTTPS(安全HTTP)

1.原理

HTTP与HTTPS(安全性)_第1张图片
HTTP和HTTPS

HTTPS比HTTP多了一个传输层的密码安全层(SSL/TLS)
大部分困难的编码和解码工作是在SSL库中完成的,所以在Web客户端和服务器在使用安全HTTP时无需过多地修改其协议处理逻辑

2.数字加密

  • 密码:对文本进行编码,使偷窥者无法识别的算法
  • 密钥:改变密码行为的数字化参数
  • 对称密钥加密系统:编码解码使用相同的密钥的算法
  • 不对称密钥加密系统:编码解码使用不同的密钥的算法
  • 公开密钥加密系统:一种能够使数百万计算机便捷地发送机密报文的系统
  • 数字签名:用来验证报文未被伪造或篡改的校验和
  • 数字证书:由一个可信的组织和签发的识别信息

3.HTTPS细节

若URL是HTTP,客户端就会打开一条到服务器端口(80默认)的连接,并向其发送老的HTTP命令
若URL是HTTPS,客户端就会打开一条到服务器端口(443默认)的连接,然后与服务器“握手”,以二进制格式与服务器交换一些SSL安全参数,附上加密的HTTP命令。
(SSL是个二进制协议)
在HTTPS中,客户端首先打开一条道Web服务器端口443的连接,一旦建立了TCP连接,客户端和服务器就会初始化SSL层,对加密参数进行沟通,并交换密钥。握手完成后,SSL初始化也完成了,客户端就可将请求报文发送给安全层了。在将这些报文发送给TCP之前,要先对其进行加密。
服务器证书:安全HTTPS事务总是要求服务器证书的。大部分现代浏览器会对证书进行简单的完整性检查,并为用户提供进一步彻查的手段。(日期检查、签名颁发者可信度检测、签名检测、站点身份检测)

你可能感兴趣的:(HTTP与HTTPS(安全性))