SCTP State Cookie



我知道sctp确实通过使用状态cookie来防止SYN/Flooding(拒绝服务(每个响应cookie都存储在会话浏览器缓冲区级别。但是状态cookie实际上包含什么?!

RFC-4960,第5.1.3章对其进行了详细描述:

5.1.3.生成状态Cookie

当发送INIT ACK作为对INIT块的响应时,发送方的INIT ACK创建一个State Cookie并在INIT ACK的State Cookie
参数中发送。在该状态Cookie中,发件人
应包括MAC(例如,请参阅[RFC2104](、创建状态Cookie时
的时间戳、状态
Cookie的使用寿命,以及建立
关联所需的所有信息。

应采取以下步骤生成状态Cookie:

  1. 使用接收的INIT和传出的INIT ACK块

  2. 在TCB中将创建时间设置为当前时间,和协议参数"Valid.Cookie.Life"的寿命(请参阅第15(节,

  3. 从TCB中识别并收集重新创建TCB所需的信息,并使用该信息子集和密钥(参见[RFC2104]生成MAC的示例(和

  4. 通过组合信息以及作为结果的MAC。

发送带有State Cookie参数的INIT ACK后,
发送方应删除TCB和与
新关联相关的任何其他本地资源,以防止资源攻击。

用于生成MAC的哈希方法对于INIT块的接收器来说是严格的私有
问题。必须使用MAC以防止拒绝服务攻击。密钥
应该是随机的([RFC4086]提供了一些关于随机性
准则的信息(;它应该合理频繁地更改,并且状态Cookie中的
时间戳可以用于确定哪个密钥
应该用于验证MAC。

实现应该使cookie尽可能小,以
确保互操作性。

相关内容

  • 没有找到相关文章

最新更新