The Domain Name System Security Extensions (DNSSEC) provide authentication of DNS responses using digital signatures. DNS operates primarily over UDP, which leads to several constraints: notably, packets should be at most 1232 bytes long to avoid problems during transmission. Larger DNS responses either need to be fragmented into several UDP responses or the request would need to be repeated over TCP, neither of which is sufficiently reliable in today's DNS ecosystem. While RSA or elliptic curve digital signatures are sufficiently small to avoid this problem, even for DNSSEC packets containing both a public key and a signature, this problem is unavoidable when considering the larger sizes of post-quantum schemes. We propose ARRF, a method of fragmenting DNS resource records at the application layer (rather than the transport layer) that is request-based, meaning the initial response contains a truncated fragment and then the requester sends follow-up requests for the remaining fragments. Using request-based fragmentation avoids problems identified for several previously proposed (and rejected) application-level DNS fragmentation techniques. We implement our approach and evaluate its performance in a simulated network when used for the three post-quantum digital signature schemes selected by NIST for standardization (Falcon, Dilithium, and SPHINCS+) at the 128-bit security level. Our experiments show that our request-based fragmentation approach provides substantially lower resolution times compared to standard DNS over UDP with TCP fallback, for all the tested post-quantum algorithms, and with less data transmitted in the case of both Falcon and Dilithium. Furthermore, our request-based fragmentation design can be implemented relatively easily: our implementation is in fact a small daemon that can sit in front of a DNS name server or resolver to fragment/reassemble transparently.
翻译:域名系统安全扩展( DNSSEC) 提供使用数字签名的 DNSS 响应的认证。 DNSS 主要通过 UDP 操作, 导致若干限制: 特别是, 软件包应该最多1232 字节长, 以避免传输过程中出现问题。 更大的 DNS 响应需要分散成几个 UDP 响应, 或者请求需要在 TCP 上重复, 在今天的 DNS 生态系统中, 两者都不够可靠。 虽然 RSA 或 椭圆曲线数字签名都足够小, 以避免出现这一问题, 即使是包含公共密钥和签名的 DNS SEC 包, 这个问题在考虑后QQantum 计划较大规模时, 不可避免出现。 我们建议 ARRF, 在应用程序层( 而不是运输层) 中, 将 DNS 资源记录碎裂分割成 DNSS 资源记录的方法, 意味着最初的响应是一个松散的碎片片段, 然后请求者会发出后续请求。 使用基于请求的 DNS 格式 方法, 避免先前提议的( 和拒绝的) 应用程序级 DNS 碎块断技术。 我们采用的方法, 的比前的 的 版本的 的 的 版本的 版本的 的, 在SDISDL 版本的 版本的 版本的 版本的 的 的 版本的 的 的 的 将演示的 演示的 演示的 演示的 演示的 演示的 演示的 演示的 演示的 演示的 数据 的 的 演示的 的 的 的 的 演示的 系统 的 的 的 的 演示的 的 演示的 演示的 演示的 演示的 的 的 的 的 的 的 的 的 演示的 演示的 的 的 的 的 的 的 的 的 演示的 的 演示的 的 的 的 演示的 演示的 演示的 演示的 演示的 的 的 演示的 的 的 的 的 的 的 的 的 演示的 的 的 演示的 的 的 的 的 的 的 的 演示的 的