WEB安全威胁与SSL
一 web安全威胁有哪些?
二 解决方案
- 基于应用层实现web安全,其原理为为特定应用定制特定安全服务,将安全服务直接嵌入到应用程序中。
- 基于传输层实现web安全,原理为 SSL/TLS可作为基础协议栈的组成部分,对应用透明。
- 也可直接嵌入到浏览器中使用。
- 使用SSL/TLS后,传送的应用层数据会被加密,保证了数据通信安全。
- 基于网络层实现web安全,IPSec提供端到端(主机到主机)的安全机制---安全通道
- 通用解决方案。
- 各种应用程序均可以使用IPSec提供的安全机制。
三 SSL(安全套接字层)
- 需要发送字节流以及数据交换。
- 需要一组密钥用于整个连接
- 需要证书交换作为协议的一部分:握手阶段
SSL原理--当tcp握手成功后
简单ssl交换过程:
SSL协议栈
ssl密码组:
- 公开密钥算法
- 对称加密算法
- MAC算法
ssl支持多个密码组。
协商:客户端和服务器端沟通协商使用何种密码组。
- 客户端提供选项。
- 服务端其中选一。
SSL更改密码规格协议
SSL警告协议
SSL握手协议
SSL记录协议
四 SSL握手过程
最后步骤5,6的意义?----保护握手过程免遭篡改。
- 客户端提供的算法,安全性有强有弱。
- 中间人攻击(删除安全性强的算法)。
为什么需要交换2个一次性随机数?
-
防止重放攻击:每次 SSL/TLS 连接都需要使用新的随机数,这样即使攻击者截获了某次连接的密文,也不能在后续的会话中重用这些数据,从而避免重放攻击。
-
生成会话密钥:SSL/TLS 协议使用这些随机数来帮助生成会话密钥。客户端和服务器各自生成一个随机数,然后结合彼此的随机数和一些加密算法(例如 Diffie-Hellman 密钥交换或 RSA),来生成一个会话密钥。这个密钥将在当前会话中用于加密和解密数据传输。
-
增强密钥的随机性:通过交换两个独立的随机数,确保生成的密钥具备足够的随机性和复杂性,降低密钥被猜测或攻击的风险。
-
确保每次连接独特性:即使客户端和服务器在不同的会话中使用相同的密码算法和密钥交换机制,由于每次连接交换的随机数不同,会话密钥也会不同,确保每次连接的加密效果是唯一且不可预测的。
SSL握手消息及参数
握手过程:
SSL记录协议-操作步骤
- 将数据分段为可操作的数据块
- 对分块数据进行数据压缩
- 计算MAC值