匿名化IPv6地址

时间:2011-05-23 14:22:38

标签: ip ipv6 anonymity

根据多个国家/地区的法律要求,我们会在日志文件中匿名化用户的IP地址。使用IPv4我们经常只对最后两个字节进行匿名化,例如。而不是255.255.255.255我们记录255.255.\*.\*

您建议使用什么算法来匿名化IPv6地址?

2 个答案:

答案 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值):

  • 2001:0db8:85a3:0000:0000:8a2e:0370:7334-> 2001:0db8-abc1
  • 2a02:200:7 :: 123-> 2a02:200-abc2

这样的缩短允许在保留时间较短的完整日志中轻松地将前两个组(当然有一定几率)与非匿名IPv6进行匹配。这对问题或安全事件调查很有用。