根据多个国家/地区的法律要求,我们会在日志文件中匿名化用户的IP地址。使用IPv4我们经常只对最后两个字节进行匿名化,例如。而不是255.255.255.255
我们记录255.255.\*.\*
您建议使用什么算法来匿名化IPv6地址?
答案 0 :(得分:14)
至少你要剥离EUI-64,即地址的最后64位。更现实的是,你想剥离更多的东西真的是私人的,因为剩下的部分仍然只能识别一个子网(即可能是一个房子)
IPv6全局寻址非常分层,来自RFC2374:
| 3| 13 | 8 | 24 | 16 | 64 bits |
+--+-----+---+--------+--------+--------------------------------+
|FP| TLA |RES| NLA | SLA | Interface ID |
| | ID | | ID | ID | |
+--+-----+---+--------+--------+--------------------------------+
<--Public Topology---> Site
<-------->
Topology
<------Interface Identifier----->
问题变成了私人私密性如何?剥离64位,您已经识别出LAN子网,而不是用户。剥离另外16个,你已经确定了一个小型组织,即ISP的客户,例如公司/分公司有几个子网。剥离接下来的24个,你基本上已经确定了一个ISP或真正的大型组织。
您可以使用与IPv4地址完全相同的位掩码实现此问题,但问题变成了合法的问题,但“我需要剥离多少以遵守特定的法规”,而不是那时的技术问题虽然。
答案 1 :(得分:0)
要匿名化公共IPv6地址,您可以采用前2组并将其余部分替换为CRC-16。一些示例(其中 abc1 和 abc2 -是CRC-16值):
这样的缩短允许在保留时间较短的完整日志中轻松地将前两个组(当然有一定几率)与非匿名IPv6进行匹配。这对问题或安全事件调查很有用。