利用对称性加密实现简单的内网IP地址数据脱敏

近期,由于随着威胁情报工作的开展,拿到了大量敏感单位内部的数据,由于考虑到安全问题,故对相关数据进行脱敏处理后存入数据库,便于后续作为数据训练智能体。因此不难发现,IP地址不能进行简单的加密,要求加密后得到的结果也是合法的内网IP地址段。

加密思路

我们知道,常见的内网IP地址有三种,A类私有地址‌:范围是10.0.0.0到10.255.255.255。B类私有地址‌:范围是172.16.0.0到172.31.255.255。C类私有地址‌:范围是192.168.0.0到192.168.255.255。假如我们把IP地址分为四个段,为:A.B.C.D,那么我们可以对ABCD四个段分别加密。

对于A段,我们考虑以下的映射关系表

加密映射表:
192->172,
172->10,
10->192
解密映射表:
172->192,
10->172,
192->10

B段有以下变换:若加密IP为172段,那么B段保持不变,若加密IP为192段,那么将其B段设置为16~31之间的随机数,若加密IP为10段,将其B段设置为168。C段的规则是c+100>255则保持不变,若c+100<=255,c+100,D段保持不变,其中10段B段与168的差值称为KEY,作为解密的密钥使用。

代码实现

此处使用Python语言编程实现,具体算法不作展示。

Avatar photo

Sebastian

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注