HTTP虽然被广泛应用但是还是存在缺陷:
- 通信使用明文,内容易被窃听;
- 不验证对方身份信息,身份易被伪装;
- 无法确保报文完整性,可能遭受篡改。
1.加密处理可以防止被窃听:
通信加密
HTTP协议通过和SSL(Secure Socket Layer,安全套接层)或TLS(Transport Layer Security,安全层传输协议)的组合使用可以加密HTTP通信内容。
与SSL组合使用的HTTP被成为HTTPS
内容加密
把HTTP报文内容进行加密处理,。由于通信线路没经过加密仍然有被篡改的风险。
2.不验证对方身份信息身份易被伪装
- 无法确定请求发送至目标的Web服务器是否按是真实意图返回响应的那台服务器。可能是伪装服务器。
- 无法确定响应返回到的客户端是否是按真实意图接受响应的客户端。有可能是已伪装的客户端。
- 无法确定正在通信的对方是否具备访问权限。因为某些Web服务器上保存重要信息,只想给特定用户通信的权限。
- 无法判定请求来自何方、出自谁手。
- 即使是无意义的请求也照单全收。无法阻止海量请求下的DoS攻击。
验证信息可以通过查明对方的证书的手段来确保对方身份。
3.无法确保报文完整性可能遭受篡改
HTTP无法保证发出的请求/响应和收到的请求/响应是否一致。也就是说当你下载一个文件的时候,实际下载到你电脑上的文件也许和服务器上的文件并不一致,这是因为内容在客户端未察觉的状态下被篡改了。如此遭受到拦截并篡改的攻击称为中间人攻击(MITM)。
HTTP+加密+证书认证+完整性保护=HTTPS
(完)
时间: 2024-10-09 10:46:51