一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法的制作方法

文档序号:26050989发布日期:2021-07-27 15:26阅读:95来源:国知局
一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法的制作方法

本发明属于数据安全、数据安全治理、数据脱敏及隐私保护技术领域,具体是一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法。



背景技术:

由于脱敏区别于加密,在进行数据处理后,往往要保持数据的格式要求和长度要求,因此大多数数据脱敏的可恢复算法都是基于字典匹配的方式,区别仅在于字典的复杂度,通过用户配置的不用密钥实现不同的字典匹配方式,从而达到通过密钥可以实现数据的脱敏并支持可恢复的要求;

然而,现有的脱敏技术存在很多缺陷,首先,字典结合密钥的算法主要是通过不同密钥的计算获得一个字典匹配的偏移,通过该偏移的方式与源数据中每个字节单元建立新的对应关系表,但由于算法和密钥均在本次处理中均为不变值,也将造成匹配关系将是固定的,这也就造成了被破解对应关系的可能,其次,如果使用随机密钥的话,依然存在数据脱敏过程中对应关系固定的情况,存在找到该对应关系的问题,造成本次脱敏对应字典的破解,存在高价值数据泄漏的隐患,而且,目前大多数仿真功能可以支持每字段进行不同的字典匹配,达到数据脱敏的目的,每个字段都需要保存一个随机密钥和对应的字典,这种脱敏数据将不具备可恢复功能,不能满足可恢复要求。



技术实现要素:

本发明的目的在于克服现有技术的缺陷,提供一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法。

为实现上述目的,本发明采用了如下技术方案:

一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法,包括s1数据脱敏阶段,包括以下步骤:

s11基于用户输入的密钥及选择的算法,计算基础因子;

s12读取用户输入的数据源,选择需要脱敏的数据,转换为若干字段;

s13解析字段最小字符单元,转换为若干字符;

s14获取字符的属性组,基于基础因子计算属性组组合;

s15基于属性组组合计算动态因子,最终确定脱敏字符;

s16脱敏字符与已脱敏字符进行拼接。

优选的,还包括s2已脱敏数据恢复阶段,包括以下步骤:

s21基于用户输入的密钥及选择的算法,计算基础因子;

s22读取用户输入的已脱敏数据,选择需要恢复的已脱敏数据,转换为若干已脱敏字段;

s23解析已脱敏字段最小已脱敏字符单元,转换为若干已脱敏字符;

s24获取已脱敏字符的已脱敏属性组,基于基础因子计算已脱敏属性组组合;

s25基于已脱敏属性组组合计算动态因子,最终确定恢复字符;

s26恢复字符与已恢复字符进行拼接。

优选的,所述数据脱敏阶段还包括:s17判断字段脱敏是否完成,若未完成,则重复s13-s16的步骤,直至完成字段脱敏处理,若已完成,则判断数据源脱敏是否完成,若未完成,则重复s12-s17步骤,直至数据源脱敏完成,并将脱敏后的数据源保存。

优选的,所述s12读取用户输入的数据源,选择需要脱敏的数据,转换为若干字段,包括:读取数据源,确定数据类型,通过数据类型及算法选择字典的基类数据,读取需要脱敏的数据,将其转换为若干字段,其中,所述数据类型包括但不仅限于字符的位置,所处字段的长度,所处字段的md5值。

优选的,所述s15基于属性组组合计算动态因子,最终确定脱敏字符,包括:

基于属性组组合计算动态因子;

基于动态因子计算字典映射区域和偏移量;

基于映射区域和偏移量确定脱敏字符;

若干个字符有且仅有若干个互不相同的动态因子与之对应。

优选的,所述s2已脱敏数据恢复阶段,还包括:s27判断已脱敏字段恢复是否完成,若未完成,则重复s23-s26步骤,直至完成已脱敏字段恢复处理,若已完成,则判断已脱敏数据源恢复是否完成,若未完成,则重复s22-s27步骤,直至已脱敏数据源恢复完成,并将恢复后的数据源保存。

优选的,所述s22读取用户输入的已脱敏数据,选择需要恢复的已脱敏数据,转换为若干已脱敏字段,包括:读取已脱敏数据源,确定数据类型,通过数据类型及算法选择字典的基类数据,选择需要恢复的已脱敏数据,将其转换为若干已脱敏字段。

优选的,所述s25基于已脱敏属性组组合计算动态因子,最终确定恢复字符,包括:

基于已脱敏属性组组合计算动态因子;

基于动态因子计算字典逆向映射区域和逆向偏移量;

通过逆向映射区域和逆向偏移量确定恢复的字符。

综上所述,由于采用了上述技术方案,本发明的有益效果是:

本发明满足了高安全性的可逆脱敏数据需求,安全级别高于简单加密算法,同时不会降低脱敏数据处理性能,实用性高于加密性能,从而为数据的安全共享,可逆脱敏需求提供了一种高性能的,与加密安全级别相当的脱敏算法。

附图说明

图1是本发明一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法的脱敏阶段流程图;

图2是本发明一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法中的数据恢复流程图;

图3是本发明一种优选实施例中算法映射逻辑图。

具体实施方式

以下结合附图1-3,进一步说明本发明一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法的具体实施方式。本发明一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法不限于以下实施例的描述。

实施例1:

本实施例给出一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法的具体结构,如图1-2所示,包括s1数据脱敏阶段,包括以下步骤:

s11基于用户输入的密钥及选择的算法,计算基础因子;

s12读取用户输入的数据源,选择需要脱敏的数据,转换为若干字段;

s13解析字段最小字符单元,转换为若干字符;

s14获取字符的属性组,基于基础因子计算属性组组合;

s15基于属性组组合计算动态因子,最终确定脱敏字符;

s16脱敏字符与已脱敏字符进行拼接。

具体地,还包括s2已脱敏数据恢复阶段,包括以下步骤:

s21基于用户输入的密钥及选择的算法,计算基础因子;

s22读取用户输入的已脱敏数据,选择需要恢复的已脱敏数据,转换为若干已脱敏字段;

s23解析已脱敏字段最小已脱敏字符单元,转换为若干已脱敏字符;

s24获取已脱敏字符的已脱敏属性组,基于基础因子计算已脱敏属性组组合;

s25基于已脱敏属性组组合计算动态因子,最终确定恢复字符;

s26恢复字符与已恢复字符进行拼接。

具体地,数据脱敏阶段还包括:s17判断字段脱敏是否完成,若未完成,则重复s13-s16的步骤,直至完成字段脱敏处理,若已完成,则判断数据源脱敏是否完成,若未完成,则重复s12-s17步骤,直至数据源脱敏完成,并将脱敏后的数据源保存。

具体地,s12读取用户输入的数据源,选择需要脱敏的数据,转换为若干字段,包括:读取数据源,确定数据类型,通过数据类型及算法选择字典的基类数据,读取需要脱敏的数据,将其转换为若干字段,其中,数据类型包括但不仅限于字符的位置,所处字段的长度,所处字段的md5值。

进一步的,s15基于属性组组合计算动态因子,最终确定脱敏字符,包括:

基于属性组组合计算动态因子;

基于动态因子计算字典映射区域和偏移量;

基于映射区域和偏移量确定脱敏字符;

若干个字符有且仅有若干个互不相同的动态因子与之对应。

进一步的,s2已脱敏数据恢复阶段,还包括:s27判断已脱敏字段恢复是否完成,若未完成,则重复s23-s26步骤,直至完成已脱敏字段恢复处理,若已完成,则判断已脱敏数据源恢复是否完成,若未完成,则重复s22-s27步骤,直至已脱敏数据源恢复完成,并将恢复后的数据源保存。

进一步的,s22读取用户输入的已脱敏数据,选择需要恢复的已脱敏数据,转换为若干已脱敏字段,包括:读取已脱敏数据源,确定数据类型,通过数据类型及算法选择字典的基类数据,选择需要恢复的已脱敏数据,将其转换为若干已脱敏字段。

进一步的,s25基于已脱敏属性组组合计算动态因子,最终确定恢复字符,包括:

基于已脱敏属性组组合计算动态因子;

基于动态因子计算字典逆向映射区域和逆向偏移量;

通过逆向映射区域和逆向偏移量确定恢复的字符。

实施例2:

本实施例给出一种基于数据属性动态因子实现的高安全性的数据可逆脱敏算法的具体结构,如图1-3所示,本方案分为两个阶段,第一阶段为基于本发明的算法数据脱敏,第二阶段为基于本发明的算法的数据恢复阶段。

如图1所示,第一阶段,脱敏处理:

步骤101:用户配置密钥。

步骤102:用户选择需要进行脱敏得数据源。

步骤103:用户选择算法。

步骤104:通过用户密钥和内部算法计算出基础因子。

步骤105:读取数据源,通过读取的数据确定数据类型,例如中文,英文,数字等。

步骤106:通过数据类型及算法选择字典的基类数据。

步骤107:系统读取需要脱敏的数据,并根据字段进行处理。

步骤108:解析需要处理的字段的最小字符单元,如单词中的字母,数字中的每一位数字等,将字段转换为若干字符;

步骤109:获取字符的属性组,包括字母的位置,所处字段的长度,所处字段的md5值多种属性,不通的数据类型会获取不用的属性组。

步骤110:通过基础因子计算出本次字符处理的属性组合。

步骤111:通过属性组合计算出动态因子。每个字符的动态因子都将不通,同一种字符的动态因子也是不通的。

步骤112:基于动态因子计算字典映射区域和偏移量。

步骤113:通过映射区域和偏移量确定脱敏后字符。

步骤114:然后将本次处理的字符与已处理完成字符进行拼接。

步骤115:循环步骤109-步骤114,最终完成对于该字段所有字符的脱敏处理。

步骤116:脱敏数据源包含多种类型的字段和大量字段,通过以上每字段处理方式,完成整个数据源数据的脱敏处理,并将脱敏后数据存入目标存储如文件或数据库。

如图2所示,第二阶段,已脱敏数据恢复:

步骤201:用户配置之前脱敏时配置的密钥。

步骤202:用户选择需要恢复的已脱敏数据源。

步骤203:用户选择与脱敏时配置的相同算法。

步骤204:通过用户密钥和内部算法计算出基础因子。

步骤205:读取已脱敏数据,通过读取的数据确定数据类型,例如中文,英文,数字等(脱敏数据和源数据类型是保持一致的,即可恢复脱敏数据也是仿真数据)。

步骤206:通过数据类型及所选择算法系统选择字典的基类数据,该字典类型将与脱敏时系统选择的保持一致。

步骤207:系统读取需要恢复的已脱敏数据,并根据字段进行处理,转换为若干已脱敏字段。

步骤208:解析需要处理的字段的最小字符单元,如单词中的字母,数字中的每一位数字等,转换为若干已脱敏字符。

步骤209:获取已脱敏字符的属性组,包括字母的位置,所处已脱敏字段的长度,所处已脱敏字段的md5值多种属性,不同的数据类型会获取不用的属性组,由于是仿真数据,因此已脱敏数据实际上和原始数据具备相同的属性组,这也是该方法的核心,通过相关的属性组携带可实现的对应算法。

步骤210:通过基础因子计算出本次已脱敏字符处理的已脱敏属性组合,该属性组合与脱敏时使用的也是相同的,由于每个已脱敏字符都不同,因此每个已脱敏字符的属性完全不同,也就达到了极高的安全能力。

步骤211:通过已脱敏属性组合计算出动态因子,每个字符的动态因子都将是唯一且不同的,同一种字符的动态因子也是不同的。

步骤212:基于动态因子计算字典逆向映射区域和逆向偏移量。

步骤213:通过逆向映射区域和逆向偏移量确定恢复字符。

步骤214:然后将本次处理的恢复字符与已处理完成恢复字符进行拼接。

步骤215:循环步骤209-步骤214,最终完成对于该已脱敏字段的恢复处理。

步骤216:需要恢复的已脱敏数据包含多种类型的已脱敏字段和大量已脱敏字段,通过以上处理方式,完成已脱敏数据的恢复处理,并将恢复后数据存入目标存储如文件或数据库。

如图3所示,算法映射逻辑:基于基类产生的脱敏映射区和恢复需要的逆向映射区基于x是对称关系,同时由a点脱敏为b点的偏移和又b点恢复成a点的偏移是相同的,在数值上是绝对值同的正负值,因此每一个字符都将自动产生上面的逻辑图,并且不需要进行保持仅高数据的属性组即可计算所得,同时每一个字符(包括不同位置的相同字符)的述映射区都将是不同的。

工作原理:

本发明满足对于可恢复数据高安全脱敏要求,对于重要或海量数据首先需要进行数据脱敏处理,处理后的数据要具备可恢复能力,同时数据匹配字典需要为根据字段的动态字典从而提高安全能力。

如果进行一个字典的破解只拿到一个有效数据是不可能对该字典进行破解,字典破解的主要参数一个是有效数据源的数量(需要去重),一个是字典的规模,如果每一个字典的脱敏匹配都用的自己唯一的字典,那么也将意味着该字典是不能被破解的,从安全性上讲,该算法是安全性是极高,几乎趋近于加密。

在不保存密钥和字典的情况下可以实现字典的动态重建和数据恢复,从而不需要携带和保存更多信息,仅需要携带客户配置的密钥即可。

本发明通过每个字段本身的属性作为动态因子,同一个字符单元,如一个a在每一个单词中,由于它的位置,单词的长度,单词的其他组成字母的不同,单词的md5值不同等等,会使得每一个字符单元在不同的字段中具备不同的属性,这些属性作为动态因子是可以在不增加任何变更或外部存储的情况下随着字符进行移动,而且该部分动态因子可进行多种组合,从而达到更高的安全级别;

在数据进行处理时也对脱敏后数据字符产生了一组独立数据属性动态因子,而通过该组动态因子的匹配算法可重构用户回复的独立解密字典,该字典与脱敏字典是完全不同的,这同时实现了类似非对称加解密的算法能力,更进一步提高了数据破解难度,增加数据的安全性;

而字典匹配算法不会造成数据的膨胀,同时不会像加密解密过程需要进行大规模运算,从而极大的提高了数据脱敏和恢复的效率,在海量数据需要处理的背景下将大大提高生产效率。

本发明实现极高安全性的可逆脱敏数据需求,安全级别接近加密,甚至比一些简单加密算法更安全,同时不会降低脱敏数据处理性能,远远高于加密性能,从而为数据的安全共享,可逆脱敏需求提供了一种高性能的,与加密安全级别相当的脱敏算法。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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