一种基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法与流程

文档序号:19156619发布日期:2019-11-16 00:53阅读:896来源:国知局
一种基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法与流程

本发明涉及信息安全的技术领域,具体地涉及一种基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法。



背景技术:

目前,数据脱敏系统及技术已经有20年左右的历史,随着大数据及数据变现市场的发展,一方面世界各国都加强了个人隐私保护的立法,对数据的分发、共享提出更高的脱敏要求,另一方面数据共享使用方希望得到保持数据业务特征的更高仿真特性的数据。

高仿真数据首先需要保持业务特征,即,针对身份证号码脱敏后,数据还是一个符合业务规则的身份证号码。

高仿真数据还应该具有以下几个特征:

唯一性:脱敏前后的唯一候选值数量相同,即,脱敏前后身份证号码数量一致。

完整性:脱敏前后数据量保持一致,即,脱敏前后数据总记录数一致同时各个身份证号码的对应记录数保持一致。

关联性:不同实体的同一信息脱敏后的对应数据保持一致,即同一个身份证号码在不同的实体中脱敏后的值保持一致。

为了保持关联性,传统数据脱敏基本都采用进行实体建模的方式,通过实体建模的方式描述数据之间的关联关系,以达到脱敏后的数据还保持关联的目的。存在的问题就是实体建模需要相当大的工作量。

为了保持唯一性和完整性,传统脱敏要解决在脱敏执行过程中的类似随机因子、哈希算法产生的冲突碰撞问题,从而带来性能瓶颈。



技术实现要素:

本发明所要解决的技术问题是提供一种基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法,解决了传统的数据脱敏事中算法计算和解决冲突碰撞的额外开销的问题,使得节省了大量人工,提高了整体性能。

通过本发明可以实现的技术目的不限于上文已经特别描述的内容,并且本领域技术人员将从下面的详细描述中更加清楚地理解本文中未描述的其他技术目的。

本发明解决上述技术问题的技术方案如下:

根据本公开的第一方面,本发明提供一种基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法,其包括:

步骤1:检测在内存中是否存在脱敏数据字典表;

步骤2:如果在所述内存中存在所述脱敏数据字典表,则调用所述脱敏数据字典表进行数据脱敏作业(针对待脱敏数据中的若干字符串采用脱敏数据字典表中相应的字符串进行替换);

步骤3:如果在所述内存中不存在所述脱敏数据字典表,则检测在本地工作路径中是否存在字典表文件;

步骤4:如果本地存在所述字典表文件,则将所述字典表文件加载到所述内存中,利用公钥对所述字典表文件进行解密,在所述内存中形成所述脱敏数据字典表,然后跳转到所述步骤2;以及

步骤5:如果本地不存在所述字典表文件,则依次生成所述脱敏数据字典表并且利用私钥对所述脱敏数据字典表进行加密,将所述脱敏数据字典表写入所述本地工作路径中,然后跳转到所述步骤3。

可选地,在如上所述的方法中,所述脱敏数据字典表包括:

一位数字字典表,其建立0~9的随机对应的对照表;

两位数字字典表,其建立0~99的随机对应的对照表;

三位数字字典表,其建立0~999的随机对应的对照表;

四位数字字典表,其建立0~9999的随机对应的对照表;

五位数字字典表,其建立0~99999的随机对应的对照表;

六位数字字典表,其建立0~999999的随机对应的对照表;

大写字母字典表,其建立a-z的随机对应的对照表;

小写字母字典表,其建立a-z的随机对应的对照表;

平年日期字典表,其建立平年0101-1231的随机对应的对照表;

闰年日期字典表,其建立闰年0101-1231的随机对应的对照表;

百家姓字典表,其建立包含中国姓氏的汉字对照表;

汉字字典表,其建立常见汉字的对照表;

中文地址字典表,其建立涉及到的中文地址对照表;

ip地址字典表,其建立ip地址的对照表;

公司名称字典表,其建立常用公司名称的对照表;

中文姓名字典表,其建立中文姓名的对照表;

汉字高位字典表,其建立汉字编码高位的对照表;

汉字低位字典表,其建立汉字编码低位的对照表;

行政区划字典表,其建立中国行政区划的对照表;

电话区号字典表,其建立电话区号的对照表。

可选地,在如上所述的方法中,利用随机算法生成所述脱敏数据字典表。

可选地,在如上所述的方法中,所述脱敏数据字典表采用外部导入和自定义扫描信息方式获得原始数据。

可选地,在如上所述的方法中,在完成所述数据脱敏作业之后,销毁所述数据脱敏字典表以及所述字典表文件。

可选地,在如上所述的方法中,通过所述脱敏数据字典表的一一对应关系来保证业务数据脱敏前后的关联性、唯一性和完整性。

可选地,在如上所述的方法中,所生成的脱敏数据字典表在所述数据脱敏作业之前加载到所述内存中,使得脱敏执行过程是简单的数值替换。

上述技术方案仅为本发明实施例的一些部分,本领域技术人员从以下本发明的详细描述中可以导出和理解包含了本发明的技术特征的各种实施例。

本领域技术人员将会理解,通过本发明可以实现的效果不限于上文已经具体描述的内容,并且从以下详细说明中将更清楚地理解本发明的其他优点。

附图说明

被包括以提供对本发明的进一步理解的附图示出本发明的实施例,并且与说明书一起用于解释本发明的原理。

图1为本发明实施例提供的基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法的流程图。

具体实施方式

现在将详细参考本发明的示例性实施例,其示例在附图中示出。下面将参考附图给出的详细描述旨在解释本发明的示例性实施例,而不是示出可以根据本发明实现的唯一实施例。以下详细描述包括具体细节以便提供对本发明的透彻理解。然而,对于本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践本发明。

在一些情况下,已知的结构和设备被省略或以框图形式示出,集中于结构和设备的重要特征,以免模糊本发明的概念。在整个说明书中将使用相同的附图标记来表示相同或相似的部分。

以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。

在本发明的描述中,需要理解的是,术语“上”、“下”、“中心”、“内”、“外”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

图1示出了本发明实施例提供的基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法的流程图。如图1所示,本发明提供了一种基于数据字典的保持唯一性、完整性、关联性的数据脱敏方法,其包括:步骤1:检测在内存中是否存在脱敏数据字典表;步骤2:如果在所述内存中存在所述脱敏数据字典表,则调用所述脱敏数据字典表进行数据脱敏作业;步骤3:如果在所述内存中不存在所述脱敏数据字典表,则检测在本地工作路径中是否存在字典表文件;步骤4:如果本地存在所述字典表文件,则将所述字典表文件加载到所述内存中,利用公钥对所述字典表文件进行解密,在所述内存中形成所述脱敏数据字典表,然后跳转到所述步骤2;以及步骤5:如果本地不存在所述字典表文件,则依次生成所述脱敏数据字典表并且利用私钥对所述脱敏数据字典表进行加密,将所述脱敏数据字典表写入所述本地工作路径中,然后跳转到所述步骤3。

在项目工程针对业务数据进行脱敏之前,生成数据脱敏字典表,通过数据脱敏字典表的一一对应关系来保证业务数据脱敏前后的关联性、唯一性和完整性,同时,所生成的数据脱敏字典在脱敏前加载到内存中,使得脱敏执行过程只是简单的数值替换,从而保证高性能和跨平台跨数据源的免实体建模的特性。

根据本发明的实施例,数据脱敏字典方案包括了数据脱敏字典的设计、生成、存储、使用、销毁过程。

一、数据脱敏字典表的设计

字典表,即一个脱敏前后数据的对照表,在对照表中需确保每个数字有且仅有一个数字与之对应同时每个数字所对应的数字也仅仅用于当前数字对应。

数据脱敏字典包括可自定义的多个类型,例如常用为20个,分别为:

p001,一位数字字典表,即建立0~9的随机对应的对照表。

p002,两位数字字典表,即建立0~99的随机对应的对照表。

p003,三位数字字典表,即建立0~999的随机对应的对照表。

p004,四位数字字典表,即建立0~9999的随机对应的对照表。

p005,五位数字字典表,即建立0~99999的随机对应的对照表。

p006,六位数字字典表,即建立0~999999的随机对应的对照表。

p007,大写字母字典表,即建立a-z的随机对应的对照表。

p008,小写字母字典表,即建立a-z的随机对应的对照表。

p009,平年日期字典表,即建立平年0101-1231的随机对应的对照表。

p010,闰年日期字典表,即建立闰年0101-1231的随机对应的对照表。

p011,百家姓字典表,即建立包含中国姓氏,含复姓的汉字对照表。

p012,汉字字典表,即建立常见汉字的对照表。

p013,中文地址字典表,即建立系统中的涉及到的中文地址对照表。

p014,ip地址字典表,即建立ip地址的对照表。

p015,公司名称字典表,即建立常用公司名称的对照表。

p016,中文姓名字典表,即建立中文姓名的对照表。

p017,汉字高位字典表,即建立汉字编码高位的对照表。

p018,汉字低位字典表,即建立汉字编码低位的对照表。

p019,行政区划字典表,即建立中国行政区划的对照表。

p020,电话区号字典表,即建立电话区号的对照表。

其中:百家姓、汉字、中文地址、公司名称、中文姓名字典表可以采用外部导入系统和自定义扫描信息系统方式采集获得原始数据

二、数据脱敏字典表的生成

根据本发明的实施例,利用随机算法,同时迭代循环解决随机冲突的问题。

随机算法的参考代码如下:

三、数据脱敏字典表的存储

由于跨时间、跨空间的数据脱敏要求,数据脱敏字典表存在持久化的要求,即将数据脱敏字典表落地为本地文件,对于本地文件,对其中的内容利用私钥进行加密,然后存储为本地文件。

四、数据脱敏字典表的加载

在脱敏执行前,将数据脱敏字典表文件加载到内存,并利用公钥对文件内容进行解密,在内存中构建一一对应的数据脱敏字典表。

五、数据脱敏字典表的使用

在实际脱敏处理中,选用合适的字典类型对原始数据进行替换处理。例如,针对手机号码的后四位进行脱敏,则选用p004这个4位数字字典表进行处理。参考代码如下:

ss[i]="p004-"+s[i];

ss[i]=(string)pwdbookhm.getpwdbookhm().get(ss[i]);

六、数据脱敏字典表的销毁

为了保证数据脱敏过程的不可逆,在完成数据脱敏作业后,可以销毁数据脱敏字典表以及本地的数据脱敏字典表文件,这样,脱敏前后的数据除了保持了脱敏业务需求,还具有了完全不可逆的特性。

根据本发明的实施例采用数据脱敏字典进行脱敏具有显著的社会经济效果。完全的数据驱动,避免了传统的数据脱敏事前实体建模方式,节省了大量人工。通过基于内存的数据替换的脱敏方式,避免了传统的数据脱敏事中算法计算和解决冲突碰撞的额外开销,提高了整体性能。集中式的字典方式,避免了因为传统实体模型不完整导致的事后大量脱敏有效性检查的过程,在系统底层保证了跨平台的数据模型在脱敏后的天然继承性。

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本申请可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、闪存(flash)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

如上所述,已经给出了本发明的优选实施例的详细描述,以使本领域技术人员能够实施和实践本发明。虽然已经参照示例性实施例描述了本发明,但是本领域技术人员将会理解,在不脱离所附权利要求书中描述的本发明的精神或范围的情况下,可以在本发明中进行各种修改和改变。因此,本发明不应限于在此描述的特定实施例,而应被赋予与本文公开的原理和新颖特征一致的最宽范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1