【发布时间】:2021-03-28 09:32:34
【问题描述】:
我知道 sctp 确实通过使用状态 cookie 来防止 SYN/Flooding(拒绝服务),每个回显的 cookie 都存储在会话浏览器缓冲区级别。 但是状态cookie实际上包含什么?!
【问题讨论】:
我知道 sctp 确实通过使用状态 cookie 来防止 SYN/Flooding(拒绝服务),每个回显的 cookie 都存储在会话浏览器缓冲区级别。 但是状态cookie实际上包含什么?!
【问题讨论】:
5.1.3。生成状态 Cookie
当发送一个 INIT ACK 作为对一个 INIT 块的响应时,发送方 INIT ACK 创建一个 State Cookie 并在 State Cookie 中发送它
INIT ACK 的参数。在这个状态 Cookie 中,发送者
应该包括一个 MAC(参见 [RFC2104] 的例子),一个时间戳
State Cookie 的创建时间,以及 State 的生命周期
Cookie,以及建立它所需的所有信息
协会。应采取以下步骤来生成状态 Cookie:
使用来自双方的信息创建关联 TCB 收到 INIT 和传出的 INIT ACK 块,
在 TCB 中,将创建时间设置为当前时间, 和 协议参数“Valid.Cookie.Life”的生命周期(参见 第 15 节),
从 TCB 中,识别并收集 重新创建 TCB 并使用生成 MAC 所需的信息 这个信息子集和一个密钥(参见 [RFC2104] 生成 MAC 的示例),以及
通过组合这个子集来生成状态 Cookie 信息 以及由此产生的 MAC。
在发送带有 State Cookie 参数的 INIT ACK 后,
发件人应该删除 TCB 和任何其他与
相关的本地资源 新的关联,从而防止资源攻击。用于生成 MAC 的散列方法是严格私有的
对于 INIT 块的接收者来说很重要。 MAC的使用是
强制以防止拒绝服务攻击。秘钥
应该是随机的([RFC4086] 提供了一些关于随机性的信息
指导方针);应该经常合理地更改它,并且
状态 Cookie 中的时间戳可用于确定哪个键
应用于验证 MAC。实现应该使 cookie 尽可能小
确保互操作性。
【讨论】: