>AFAIK,SSL将在安全下加密消息。但我仍然担心中间的人是否可以捕获数据包并复制它,例如 1000 次
应用程序数据被分成小段(依赖于实现的大小,通常<=16kb)。那么该段是
- 压缩
- 给定一个序列号 添加了 MAC(
- 序列号包含在 MAC 计算中)
- 加密
- 给定包含序列号的 SSL 记录标头
请注意序列号在此过程中的作用。如果中间人复制了一个这样的段,则接收者可以使用序列号检测到它。攻击者无法伪造序列号,因为它包含在MAC和记录标头中。
序列号提供 SSL 保护,防止重复、删除、重新排序和重放攻击。
SSL 是安全的,不会受到拦截、重放、MITM 和截断攻击。至少。
当然,被动的中间人攻击者可以捕获加密的数据包 - 这就是您进行加密的原因。但是,由于每个 SSL 连接都使用唯一的加密密钥,因此攻击者以后无法使用此嗅探加密数据包将其注入另一个连接。只要加密密钥没有被泄露(这意味着对于RSA密钥交换,证书的私钥不会受到损害),攻击者就无法解码嗅探的数据包。
除此之外,一个活跃的中间人攻击者可能会将自己置于双方之间,例如,爱丽丝不会与鲍勃交谈,而是与马洛里交谈,马洛里与鲍勃交谈。要做到这一点,您需要SSL的标识部分,例如证书检查和主机名验证(仅一个是不够的)。只有这样才能实现真正的端到端加密。