图解HTTP第七章:确保web安全的https
- 在http协议中有可能存在信息窃听或者身份伪装等安全问题。使用https通信机制可以有效的防止这些问题。
7.1http的缺点
- 通信(http协议通信的请求和响应的内容)使用明文(不加密),内容可能会被窃听。那么如何保护信息呢?
![这里写图片描述][Image 1]
1. 通信路线加密。Http协议中没有加密机制,但可以通过和SSL(安全套接层)或TLS(安全层传输协议)的组合使用,加密http的通信内容。**与SSL组合使用的http被称为https**
![这里写图片描述][Image 1]
2. 内容的加密。对http协议传输的内容本身加密,也就是http报文内所含的内容进行加密处理。不过要求客户端和服务器同时具备加密和解密机制。![这里写图片描述][Image 1]
- 不验证通信方的身份,因此有可能遭遇伪装
* 由于不存在确认通信方的处理步骤,任何人都可以发起请求。服务器只要接收到请求,不管对方是谁都会返回一个响应。
![这里写图片描述][Image 1]
* 因此不确认通信方会存在以下几种隐患
![这里写图片描述][Image 1]
* 解决方法:虽然http协议无法确定通信方,但如果使用SSL就可以,SSL使用了一种被称为证书的手段,用于确定通信方。
![这里写图片描述][Image 1]
- 无法证明报文的完整性(信息的准确性),所以有可能已遭篡改
* 在请求或者响应送出之后对方接受之前这段时间之内,即时请求或响应的内容遭到篡改,也没办法知道。
![这里写图片描述][Image 1]
* 在请求或响应在传输途中,遭遇攻击者拦截并篡改内容的攻击称为中间人攻击(MITM)
![这里写图片描述][Image 1]
* 如何防止呢? 比较常用的是MD5和SHA-1等散列值校验,以及用来确认文件的数字签名方法
7.2HTTP+加密+认证+完整性保护=HTTPS
![这里写图片描述][Image 1]
* 吧添加了加密及认证机制的http称为https(http Secure),https并不是应用层的一种新协议,只是http通信接口部分用SSL和TLS协议代替了而已。https其实就是身披SSL协议这层外壳的http
* 采用SSL后,http就有了https的加密,整数和完整性保护这些功能。SSL是独立于http的协议,不光是http,其他运行在应用层的SMTP和Telnet等协议课配合SSL协议使用,可以说SSL是世界上应用最广泛的网络安全技术。
* SSL采用一种公开密钥加密的加密处理方式。(加密算法是公开的,而密钥是保密的)
* 共享密钥加密:加密和解密公用一个密钥的方式成为共享密钥加密,也叫做对称密钥加密
![这里写图片描述][Image 1]
* 缺点:以这种方式加密时必须将密钥也发送给对方,但在互联网上转发密钥时,如果通信被监听那么密钥就可能被攻击者得到
* ![这里写图片描述][Image 1]
* 使用两把密钥的公开密钥加密。公开密钥加密使用一堆非对称的密钥,一把叫做私有密钥,另一把叫做公开密钥。发送密文的一方使用对方的公开密钥进行加密处理,对方收到加密信息后,在使用自己私有的密钥进行解密。相对于共享密钥加密,其处理速度要慢一点
![这里写图片描述][Image 1]
* HTTPS采用这两者混合加密机制
* ![这里写图片描述][Image 1]
[Image 1]:
还没有评论,来说两句吧...