后量子密码延迟随数据量增加而降低
使用时间到最后字节(TTLB)而非时间到第一字节来评估数据密集型TLS 1.3对实际连接的影响,能够获得更令人鼓舞的结果。
量子计算机可能破解当今广泛使用的加密标准的风险,引发了大量标准化抗量子算法并将其引入TLS 1.3等传输加密协议的努力。后量子算法的选择自然会影响TLS 1.3的性能。迄今为止,对这些影响的研究主要集中在两方建立抗量子加密连接所需的"握手时间",即时间到第一字节。虽然这些研究在量化握手时间增加方面很重要,但并未全面反映后量子密码对实际TLS 1.3连接的影响,这些连接通常传输大量数据。
在2024年网络测量、攻击和防御研讨会(MADWeb)上,我们发表了一篇论文,主张使用时间到最后字节(TTLB)作为评估数据密集型抗量子算法(如ML-KEM和ML-DSA)对实际TLS 1.3连接总体影响的指标。我们的论文表明,对于传输大量数据的连接,新算法的净影响将远小于对TLS 1.3握手本身的影响。
后量子密码
TLS 1.3是传输层安全协议的最新版本,用于协商和建立安全通道,加密和验证客户端与服务器之间传输的数据。TLS 1.3用于众多网络应用,包括电子银行和流媒体。
非对称加密算法(如TLS 1.3中使用的算法)的安全性依赖于离散对数或整数分解问题的难度,而密码分析相关的量子计算机可以高效解决这些问题。美国国家标准与技术研究院(NIST)一直在努力标准化抗量子算法,并选择ML-密钥封装机制(KEM)进行密钥交换。NIST还选择ML-DSA用于签名或加密认证。
由于这些算法具有千字节大小的公钥、密文和签名(而现有算法的大小为50到400字节),它们会增加TLS握手过程中交换的数据量。许多研究比较了使用传统TLS 1.3密钥交换和认证与使用后量子(PQ)密钥交换和认证的握手时间。
这些比较有助于量化每种新算法对时间到第一字节或握手协议完成的开销。但它们忽略了安全连接上的数据传输时间,该时间与握手时间一起构成应用程序开始处理数据之前的总延迟。相比之下,从连接开始到数据传输结束的总时间是时间到最后字节(TTLB)。TTLB减速多少可以接受高度取决于应用程序。
实验
我们设计的实验模拟了各种网络条件,并测量了传统和后量子算法在TLS 1.3连接中的TTLB,其中客户端发出小请求,服务器响应数百千字节(KB)的数据。我们在Ubuntu 22.04虚拟机实例中使用Linux命名空间。命名空间使用虚拟以太网接口互连。为了模拟命名空间之间的"网络",我们使用了Linux内核的netem实用程序,该实用程序可以在客户端和服务器之间引入可变的网络延迟、带宽波动和数据包丢失。
实验设置包括客户端和服务器Linux命名空间以及netem模拟的网络条件。
我们的实验有几个可配置参数,使我们能够比较在稳定、不稳定、快速和慢速网络条件下PQ算法对TTLB的影响:
- TLS密钥交换机制(传统ECDH或ECDH+ML-KEM后量子混合)
- TLS证书链大小对应传统RSA或ML-DSA证书
- TCP初始拥塞窗口(initcwnd)
- 客户端和服务器之间的网络延迟或往返时间(RTT)
- 客户端和服务器之间的带宽
- 每数据包丢失概率
- 从服务器传输到客户端的数据量
结果
我们测试的结果在论文中进行了全面分析。它们基本上表明,由于后量子公钥、密文和签名导致的TLS 1.3握手中的额外几KB在传输数百KB或更多数据的连接中不会明显。传输少于10-20 KB数据的连接可能会受到新的数据密集型握手的更大影响。
图1:传统和后量子TLS 1.3连接之间TLS 1.3握手时间的百分比增加。带宽=1Mbps;丢失概率=0%、1%、3%和10%;RTT=35ms和200ms;TCP initcwnd=20。
图1显示了在1Mbps带宽;0%、1%、3%和10%丢失概率;以及35毫秒和200毫秒RTT下收集的聚合数据集的第50、75和90百分位的TLS 1.3握手持续时间的百分比增加。我们可以看到,ML-DSA大小(16KB)证书链花费的时间几乎是8KB链的两倍。这意味着,如果我们能够保持ML-DSA认证数据量较低,将显著有利于低带宽连接中后量子握手的速度。
图2:现有和后量子TLS 1.3连接之间在0%丢失概率下的TTLB百分比增加。带宽=1Gbps;RTT=35ms;TCP initcwnd=20。
图2显示了在0%丢失和1Gbps带宽下,所有百分位数和不同数据大小的后量子握手持续时间相对于现有算法的百分比增加。我们可以观察到,虽然从服务器传输0千字节(KiB,或1,024字节的倍数,最接近1,000的2的幂)时减速较低(∼3%)(相当于握手),但随着服务器数据的增加,它进一步下降(∼1%)。在第90百分位数,减速略低。
图3:现有和后量子TLS 1.3连接之间在0%丢失概率下的TTLB百分比增加。带宽=1Mbps;RTT=200ms;TCP initcwnd=20。
图3显示了在1Mbps带宽、200ms RTT和0%丢失概率下,每个百分位数从服务器传输0-200KiB数据的现有和后量子TLS 1.3连接之间TTLB的百分比增加。我们可以看到三个百分位数的增加几乎相同。它们从服务器传输0KiB时开始较高(∼33%),但随着服务器数据大小的增加,它们下降到∼6%,因为握手数据大小在连接上分摊。
图4:现有和后量子TLS 1.3连接之间TTLB的百分比增加。丢失=10%;带宽=1Mbps;RTT=200ms;TCP initcwnd=20。
图4显示了在1Mbps带宽、200ms RTT和10%丢失概率下,每个百分位数从服务器传输0-200 KiB数据的现有和后量子TLS 1.3连接之间TTLB的百分比增加。它显示在10%丢失时,所有百分位数的TTLB增加稳定在20-30%之间。35ms RTT的相同实验产生了类似的结果。虽然20-30%的增加可能看起来很高,但我们注意到,由于场景的一般网络不稳定性,重新运行实验有时可能导致更小或更高的百分比增加。此外,请记住,现有算法在从服务器传输200KiB、200ms RTT和10%丢失时的TTLB为4,644ms、7,093ms和10,178ms,而后量子连接等效值为6,010ms、8,883ms和12,378ms。在0%丢失时,它们为2,364ms、2,364ms和2,364ms。因此,尽管后量子连接的TTLB相对于传统连接增加了20-30%,但传统连接已经因网络丢失而受损(97-331%)。在已经高度退化的连接时间中,额外的20-30%可能不会产生太大差异。
图5:在"波动网络"条件下0%丢失概率下现有和后量子TLS 1.3连接之间TTLB的百分比增加。带宽=1Gbps;RTT=35ms;TCP initcwnd=20。
图5显示了在0%丢失概率和从服务器传输0-200KiB数据大小下,现有和后量子TLS 1.3连接之间TTLB的百分比增加。为了模拟高度波动的RTT,我们使用了平均值为35ms和35/4ms抖动的帕累托正态分布。我们可以看到,后量子连接TTLB的增加在服务器数据为0KiB时开始较高,并下降到4-5%。与之前的实验一样,百分比越高,丢失概率越波动,但总体而言,结果表明即使在"波动网络条件"下,随着传输数据量的增加,TTLB也会下降到可接受的水平。
图6:后量子TLS 1.3连接的TTLB累积分布函数。从服务器传输200KiB;RTT=35ms;TCP initcwnd=20。
为了确认不稳定网络条件下的波动性,我们使用了后量子TLS 1.3连接传输200KiB服务器数据的TTLB累积分布函数(CDF)(图6)。我们观察到,在所有类型的波动条件下(1Gbps和5%丢失、1Mbps和10%丢失、帕累托正态分布的网络延迟),TTLB在实验测量样本中很早就增加,这表明总连接时间高度波动。我们在不稳定网络条件下的TLS 1.3握手时间中也做出了相同的观察。
结论
这项工作表明,数据密集型后量子算法对TLS 1.3连接的实际影响小于其对握手本身的影响。低丢失、低或高带宽连接在传输大量数据时,后量子握手的影响很小。我们还表明,尽管PQ握手的影响在具有较高丢失率或高可变性延迟的不稳定条件下可能有所不同,但它们保持在一定范围内,并随着传输数据总量的增加而下降。此外,我们看到不稳定连接本身提供较差的完成时间;由于后量子握手导致的小延迟增加不会使它们比之前更不可用。这并不意味着减少握手数据量是不可取的,特别是如果发送的应用程序数据相对于握手消息的大小较少。
有关更多细节,请参阅我们的论文。