第七章 确保Web安全的 HTTPS
在HTTP协议中有可能存在信息窃听或身份伪装等安全问题,使用HTTPS通信机制可以有效地防止这些问题。
HTTP的缺点
- 通信使用明文(不加密),内容可能会被窃听;
- 不验证通信方的身份,因此可能遭遇伪装;
- 无法证明报文的完整性,所以可能已遭篡改。
HTTP + 加密 + 认证 + 完整性保护 = HTTPS
HTTPS并非是应用层的一种新协议。只是普通HTTP通信接口部分用SSL和TLS协议替代而已。
SSL是独立于HTTP的协议,所以不光是HTTP协议,其他运行在应用层的SMTP和Telnet等协议均可配合SSL协议使用。所以说SSL是当今世界上应用最为广泛的网络安全技术。
- 由于HTTPS需要做服务器、客户端双方加密及解密处理,因此会消耗CPU和内存等硬件资源;
- 和HTTP相比,SSL通信部分消耗网络资源。而SSL通信部分,又因为要对通信进行处理,所以时间上有延迟了;
- 和HTTP相比,网络负载和速度上会变慢2~100倍。
为什么不一直使用HTTPS?
- 一个原因与纯文本通信相比,加密通信会消耗更多的CPU及内存资,能够处理的请求数量必定会减少;
- 另一个原因,想要节约购买证书的开销也是原因之一(通常一年的授权需要数万日元[一万日元600左右人民币])。
因此,如果是非敏感信息则使用HTTP通信,只有在包含个人信息等敏感数据时,才利用HTTPS加密通信。