开发者的Web安全戒律:真实威胁与防御实践
上QQ阅读APP看书,第一时间看更新

2.4 加密

当Web刚刚发明时,HTTP请求和响应以纯文本形式发送,这意味着任何拦截数据包的人都可以读取它们。这种拦截称为中间人攻击。因为在现代网络上私密通信和在线交易很普遍,所以Web服务器和浏览器通过使用加密来保护用户免受此类攻击,这是一种在传输过程中对消息内容进行编码的方法,以伪装消息内容。

为了保护它们之间的通信,Web服务器和浏览器使用安全传输层(TLS)发送请求和响应,TLS是一种提供隐私和数据完整性的加密方法。TLS确保没有正确的加密密钥就无法解密被第三方拦截的数据包。它还确保可以检测到任何篡改数据包的企图,从而确保数据的完整性。

使用TLS的HTTP会话称为安全HTTP(HTTPS)。HTTPS要求客户端和服务器执行TLS握手,并且双方都同意加密方法(密码)并交换加密密钥。握手完成后,任何其他消息(请求和响应)对于外部都是不透明的。

加密是一个复杂的话题,但却是保护网站安全的关键。我们将在第13章研究如何为网站启用加密。