近日,国际互联网工程任务组(也被称为IETF)发布了一套新标准:
R
FC 8064,《有关稳定IPv6接口标识符的建议》。
这个新标准正式更新了14个IETF标准,包括IPv6寻址架构。本质上来看,RFC 8064建议部署和使用RFC 7217以生成稳定IPv6地址。该RFC的发布是先前IPv6寻址安全和隐私方面工作的成果,特别是RFC 7217本身,还有RFC 7707和RFC 7721。
(图片来源于网络)
传统算法通过无状态地址自动配置(SLAAC)生成稳定IPv6地址,这种算法被设计为使用底层链路层地址作为地址的接口标识符来生成地址。
随着时间的推移,人们已经意识到通过IPv6地址执行主机跟踪的风险。由于MAC地址通常为独一无二,并且它们被嵌入在IPv6地址中,所以主机标识符容易由IPv6地址泄漏。为了应对这个问题,IETF发布了针对临时地址的标准,这些临时地址通常与传统(稳定)IPv6地址一起使用。然而,尽管临时地址可帮助缓解主机跟踪的特定向量,但IPv6主机跟踪的其他向量以及传统地址扫描机制的漏洞等问题仍然未被解决。
IETF在IPv6地址安全和隐私方面不断努力,最终发布了一个提案,以替代传统算法来生成IPv6地址。不过,这个IPv6更新提案在相关IETF工作组(被称为6man)被推迟。6man工作组决定将所提出的算法作为RFC7217发布,但不会正式取代传统SLAAC算法。这意味着没有正式更新IETF标准。
虽然RFC7217的发布是IPv6更新,但没有任何标准推荐或者强制执行其部署和使用,因此,当时传统SLAAC算法仍然是生成稳定IPv6地址的推荐方法。
随后,有关IPv6地址安全和隐私的两个RFC的发布(即RFC 7707和RFC 7721)为IETF采取最后一步奠定了基础,即让RFC 7217中提到的算法取代传统SLAAC算法。
这最终在2017年2月发布RFC 8064得以实现,该RFC建议部署和使用RFC 7217生成稳定地址,并建议不要使用在IPv6地址嵌入链路层地址的任何地址生成机制。
RFC 7217 IPv6更新指定了算法来生成IPv6接口标识符(以及IPv6地址),在相同网络内稳定,但随着节点从一个网络移动到另一个网络而发生变化。该算法可用以下表达式来总结和体现:
IPv6_IID = Hash(Net_Prefix, Net_ID, Net_Iface_ID, Secret_Key)
其中: