WolfSSL 中的 DTLS `HelloVerifyRequest`/`HelloRetryRequest`

问题描述

section 4.2.1 of RFC 6347 中描述的 HelloverifyRequest 发起的 cookie 交换对于 DTLS 中的 DoS 保护至关重要。除非我忽略了一些东西,否则 WolfSSL 文档并没有真正描述如何通过其 DTLS 实现启用此 cookie 交换。

我能找到的最接近的是函数 wolfSSL_send_hrr_cookie,手册中提到:

在服务器端调用这个函数来表明一个 HelloRetryRequest 消息必须包含一个 Cookie。 Cookie 包含一个 当前成绩单的散列,以便另一个服务器进程可以 处理 ClientHello 作为回复。该秘密在生成 对 Cookie 数据进行完整性检查。

据我所知,HelloRetryRequest(比较 HelloverifyRequest)是 TLS 1.3 术语。 DTLS 1.3 尚未最终确定。如何在 WolfSSL 中启用和控制 DTLS 1.0/1.2 cookie 交换?

解决方法

默认启用 DTLS Hello Cookie。 wolfSSL 服务器代码使用文件 src/wolfio.c 中的回调函数 EmbedGenerateCookie() 根据 RFC 6347 §4.2.1 中的建议生成 cookie。

TLSv1.3 的 hrr_cookie 是其他无关的。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...