4.2.2. 重建序列号和纪元
4.2.2. 重建序列号和纪元 (Reconstructing the Sequence Number and Epoch)
当接收受保护的DTLS记录时,接收方在记录中没有完整的纪元或序列号值,因此存在一些歧义的可能性。由于完整的序列号用于计算每记录的随机数,而纪元决定密钥,未能重建这些值会导致无法解除记录的保护,因此实现可以使用自己选择的机制来确定完整值。本节提供了一种相对简单的算法,建议实现遵循。
如果纪元位与当前纪元的位匹配,则实现应当通过计算数值上最接近当前纪元中最高成功解除保护记录的序列号加一的完整序列号来重建序列号。
在握手阶段,纪元位明确指示要使用的正确密钥。握手完成后,如果纪元位与当前纪元的位不匹配,实现应当使用具有匹配位的最近过去纪元,然后按上述方式重建该纪元的序列号。