第七章 确保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加密通信。