掌桥专利:专业的专利平台
掌桥专利
首页

数据脱敏方法、系统、设备及存储介质

文献发布时间:2023-06-19 13:49:36


数据脱敏方法、系统、设备及存储介质

技术领域

本发明涉及计算机技术领域,具体地说,涉及一种数据脱敏方法、系统、设备及存储介质。

背景技术

在当前大数据时代,需要确保敏感信息和私有数据的安全性,于是需要对数据进行脱敏处理。数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。

实际生产环境中需要对不同类型的数据进行脱敏,比如身份证号、手机号等,现有技术的脱敏处理方法较为单一,不能根据不同的敏感数据类型提供不同的脱敏规则,无法适应敏感数据类型复杂的场景,敏感数据安全性较低。

发明内容

针对现有技术中的问题,本发明的目的在于提供一种数据脱敏方法、系统、设备及存储介质,解决现有的数据脱敏方法脱敏后数据丧失可用性以及处理方法单一的问题。

为实现上述目的,本发明提供了一种数据脱敏方法,所述方法包括以下步骤:

服务器获取待脱敏数据,自所述待脱敏数据中确定待脱敏字符;

服务器分别确定各个待脱敏字符对应的字符类型和业务特征;

服务器根据所述字符类型、业务特征以及第一预设映射关系,确定与所述待脱敏字符相匹配的映射函数;所述第一预设映射关系表征有字符类型、业务特征以及映射函数之间的映射关系;

服务器根据各个待脱敏字符对应的映射函数,对所述待脱敏字符进行脱敏处理,生成脱敏数据。

可选地,所述服务器分别确定各个待脱敏字符对应的字符类型和业务特征,包括:

服务器将待脱敏字符转换为以unicode编码方式表示的第一字符;

服务器将所述第一字符转换为十进制数值;

服务器基于所述十进制数值和多个预设区间段,确定所述十进制数值对应的目标区间;

服务器基于所述目标区间和预设区间映射关系,确定与所述目标区间匹配的字符类型;所述预设区间映射关系表征有各个区间和字符类型的映射关系。

可选地,所述服务器分别确定各个待脱敏字符对应的字符类型和业务特征,包括:

服务器获取待脱敏字符的标签属性;

服务器依据所述标签属性和预设特征库,确定与所述标签属性匹配的业务特征;所述预设特征库中存储有标签属性和业务特征的映射关系。

可选地,所述服务器根据所述字符类型、业务特征以及第一预设映射关系,确定与所述待脱敏字符相匹配的映射函数,包括:

当所述字符类型为数字,且所述业务特征匹配第一业务时,所述映射函数为基于预设映射库形成;所述预设映射库中包含有第一数字和第二数字的映射关系,其中第一数字和第二数字不同。

可选地,所述服务器根据所述字符类型、业务特征以及第一预设映射关系,确定与所述待脱敏字符相匹配的映射函数,包括:

当所述字符类型为大写字母或者小写字母时,所述映射函数为f(x)=[hash(x)mod(z)]+x,其中x表示所述十进制数值对应的目标区间的下限值,z表示所述待脱敏数据的长度。

可选地,所述服务器根据所述字符类型、业务特征以及第一预设映射关系,确定与所述待脱敏字符相匹配的映射函数,包括:

当所述字符类型为文字时,所述映射函数为f(x)=rand(z)+x,其中x表示所述十进制数值对应的目标区间的下限值,z表示所述待脱敏数据的长度。

可选地,所述服务器根据各个待脱敏字符对应的映射函数,对所述待脱敏字符进行脱敏处理,生成脱敏数据,包括:

服务器根据各个待脱敏字符对应的映射函数,依据所述映射函数对所述待脱敏字符进行脱敏处理,得到脱敏字符;

服务器将所述待脱敏字符替换为对应的脱敏字符,得到脱敏数据。

可选地,所述服务器根据各个待脱敏字符对应的映射函数,对所述待脱敏字符进行脱敏处理,生成脱敏数据,包括:

服务器将待脱敏字符作为映射函数的输入参数,得到目标函数值;

服务器将所述目标函数值转换为十六进制数值;

服务器将所述十六进制数值转换为以unicode编码方式表示的脱敏字符。

可选地,所述映射函数的输出值对应的十进制数值位于所述待脱敏字符对应的目标区间内。

本发明还提供了一种数据脱敏系统,用于实现上述数据脱敏方法,所述系统包括:

待脱敏字符确定模块,服务器获取待脱敏数据,自所述待脱敏数据中确定待脱敏字符;

特征确定模块,服务器分别确定各个待脱敏字符对应的字符类型和业务特征;

映射函数确定模块,服务器根据所述字符类型、业务特征以及第一预设映射关系,确定与所述待脱敏字符相匹配的映射函数;所述第一预设映射关系表征有字符类型、业务特征以及映射函数之间的映射关系;

脱敏处理模块,服务器根据各个待脱敏字符对应的映射函数,对所述待脱敏字符进行脱敏处理,生成脱敏数据。

本发明还提供了一种数据脱敏设备,包括:

处理器;

存储器,其中存储有所述处理器的可执行程序;

其中,所述处理器配置为经由执行所述可执行程序来执行上述任意一项数据脱敏方法的步骤。

本发明还提供了一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现上述任意一项数据脱敏方法的步骤。

本发明与现有技术相比,具有以下优点及突出性效果:

本发明提供的数据脱敏方法、系统、设备及存储介质不仅根据不同字符类型,还根据待脱敏字符的业务特征,综合参考来匹配映射函数,能够针对不同数据类型的敏感数据采用不同需求的映射函数,利于实现数据脱敏前后数据类型不发生变化,保证数据可用性的同时,提升数据安全性。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。

图1为本发明一实施例公开的一种数据脱敏方法的示意图;

图2为本发明一实施例公开的数据脱敏方法中步骤S120的流程示意图;

图3为本发明一实施例公开的数据脱敏方法中步骤S140的流程示意图;

图4为本发明一实施例公开的一种数据脱敏系统的结构示意图;

图5为本发明一实施例公开的数据脱敏系统中特征确定模块42的结构示意图;

图6为本发明一实施例公开的数据脱敏系统中脱敏处理模块44的结构示意图;

图7为本发明一实施例公开的一种数据脱敏设备的结构示意图;

图8为本发明一实施例公开的一种计算机可读存储介质的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式。相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。

如图1所示,本发明一实施例公开了一种数据脱敏方法,该方法包括以下步骤:

S110,服务器获取待脱敏数据,自上述待脱敏数据中确定待脱敏字符。具体而言,示例性地,可以将待脱敏数据中的一预设字段作为脱敏字段,依据上述脱敏字段自待脱敏数据中识别出待脱敏字符。其中,上述预设字段可以具有多个。

S120,服务器分别确定各个待脱敏字符对应的字符类型和业务特征。其中,示例性地,上述字符类型可以为数字、大写字母、小写字母或者文字(即汉字)等。上述业务特征可以为身份证号或者手机号等。

本实施例中,如图2所示,上述步骤S120包括:

S121,服务器将待脱敏字符转换为以unicode编码方式表示的第一字符。

S122,服务器将上述第一字符转换为十进制数值。

S123,服务器基于上述十进制数值和多个预设区间段,确定上述十进制数值对应的目标区间。以及

S124,服务器基于上述目标区间和预设区间映射关系,确定与上述目标区间匹配的字符类型。上述预设区间映射关系表征有各个区间和字符类型的映射关系。

示例性地,比如上述待脱敏字符为“a”,则先求解其unicode编码对应的第一字符为\u0061,该unicode编码中十六进制0061对应的十进制数值为97。本实施例中上述预设区间段可以具有4个,预设区间映射关系可以为:与文字类型对应的预设区间段[19968,40869],与数字类型对应的预设区间段[48,57],与小写字母对应的预设区间段[97,122],与大写字母对应的预设区间段[65,90]。由于字符“a”对应的十进制为97,位于区间[97,122]内,因此可判断其对应的字符类型为小写字母。

对于上述业务特征的确定,可参考现有技术实现。比如若待脱敏数据具有11位数字,且首位数字为1,那么对应的业务特征为“手机号”。待脱敏数据具有18位字符,且前6位字符类型均为数字,那么对应的业务特征为“身份证号”。

S130,服务器根据上述字符类型、业务特征以及第一预设映射关系,确定与上述待脱敏字符相匹配的映射函数。上述第一预设映射关系表征有字符类型、业务特征以及映射函数之间的映射关系。本实施例中,上述映射函数的输出值对应的十进制数值位于上述待脱敏字符的十进制数值对应的目标区间内。也即,且映射后的数值仍然位于脱敏前对应数据类型所处的区间内,这样可以避免现有技术采用密码学加密算法或者基于对关键位置遮蔽的脱敏算法,存在脱敏后的数据丧失可用性的问题;这样可以保证上述待脱敏字符和对应的映射函数的输出值的字符类型相同,保证了脱敏后数据的可用性。

本实施例中,上述映射函数包括第一映射函数、第二映射函数和第三映射函数。

第一映射函数为基于预设映射库形成。上述预设映射库中包含有第一数字和第二数字的映射关系,其中第一数字和第二数字不同。比如,对手机号类型的数据进行脱敏时,为了保证可用性,还要脱敏为数字类型。即可以在第一映射函数中,对于0-9的数字,可以将0映射为2,1映射为8等。

第二映射函数为f(x)=[hash(x)mod(z)]+x,其中x表示上述十进制数值对应的目标区间的下限值,z表示上述待脱敏数据的长度。hash(x)mod(z)表示先求x的哈希值,然后求x的哈希值和z相除的余数。比如,对于上述字符“a”,对应的目标区间为[97,122],那么下限值x就是97,z假设为26,若经过第二映射函数后,求得的输出值f(x)就是99。

第三映射函数为f(x)=rand(z)+x,其中x表示上述十进制数值对应的目标区间的下限值,z表示上述待脱敏数据的长度。rand(z)表示随机生成一个大于0且小于z的随机数。

示例性地,当字符类型为数字,且业务特征为“手机号”时,此时根据第一预设映射关系匹配的映射函数可以为第一映射函数。

S140,服务器根据各个待脱敏字符对应的映射函数,对上述待脱敏字符进行脱敏处理,生成脱敏数据。

在本申请的另一实施例中,公开了另一种数据脱敏方法。该方法在上述实施例的基础上,上述步骤S140包括:

S141,服务器根据各个待脱敏字符对应的映射函数,依据上述映射函数对上述待脱敏字符进行脱敏处理,得到脱敏字符。

S142,服务器将上述待脱敏字符替换为对应的脱敏字符,得到脱敏数据。

该实施例中,如图3所示,步骤S140包括上述步骤S141和S142,其中,步骤S141包括:

S1411,服务器将待脱敏字符作为映射函数的输入参数,得到目标函数值。

S1412,服务器将上述目标函数值转换为十六进制数值。

S1413,服务器将上述十六进制数值转换为以unicode编码方式表示的脱敏字符。

示例性地,将上述字符“a”经过映射函数的输出值即目标函数值99,转换为十六进制数值为0063,再标准化处理为字符\u0063,该字符\u0063在unicode编码上的对应的字符为“c”,所以待脱敏字符“a”对应的脱敏字符就为“c”,这样就完成了单个字符“a”的脱敏过程。

然后本申请重复上述步骤S110至步骤S140,直至完成所有待脱敏字符的脱敏。

在本申请的另一实施例中,公开了另一种数据脱敏方法。该方法在上述实施例的基础上,上述步骤S120还包括:

S125,服务器获取待脱敏字符的标签属性。

S126,服务器依据上述标签属性和预设特征库,确定与上述标签属性匹配的业务特征。上述预设特征库中存储有标签属性和业务特征的映射关系。比如,上述标签属性可以为“身份证”,那么对应的业务特征可以为“身份证号”。

在本申请的另一实施例中,公开了另一种数据脱敏方法。该方法在上述实施例的基础上,上述步骤S130包括:

当上述字符类型为数字,且上述业务特征匹配第一业务时,对应的映射函数为上述第一映射函数。这样利于保证映射后的数值仍然位于脱敏前对应数据类型所处的区间内,字符脱敏前后类型不发生变化,有利于保证脱敏数据的可用性。示例性地,第一业务可以为手机号脱敏业务。

在本申请的另一实施例中,公开了另一种数据脱敏方法。该方法在上述实施例的基础上,上述步骤S130包括:

当上述字符类型为大写字母或者小写字母时,对应的映射函数为上述第二映射函数。这样利于保证映射后的数值仍然位于脱敏前对应数据类型所处的区间内,字符脱敏前后类型不发生变化,有利于保证脱敏数据的可用性。

在本申请的另一实施例中,公开了另一种数据脱敏方法。该方法在上述实施例的基础上,上述步骤S130包括:

当上述字符类型为文字时,对应的映射函数为上述第三映射函数。这样利于保证映射后的数值仍然位于脱敏前对应数据类型所处的区间内,字符脱敏前后类型不发生变化,有利于保证脱敏数据的可用性。

需要说明的是,本申请中公开的上述所有实施例可以进行自由组合,组合后得到的技术方案也在本申请的保护范围之内。

如图4所示,本发明一实施例还公开了一种数据脱敏系统4,该系统包括:

待脱敏字符确定模块41,服务器获取待脱敏数据,自上述待脱敏数据中确定待脱敏字符。

特征确定模块42,服务器分别确定各个待脱敏字符对应的字符类型和业务特征。

映射函数确定模块43,服务器根据上述字符类型、业务特征以及第一预设映射关系,确定与上述待脱敏字符相匹配的映射函数。上述第一预设映射关系表征有字符类型、业务特征以及映射函数之间的映射关系。

脱敏处理模块44,服务器根据各个待脱敏字符对应的映射函数,对上述待脱敏字符进行脱敏处理,生成脱敏数据。

可以理解的是,本发明的数据脱敏系统还包括其他支持数据脱敏系统运行的现有功能模块。图4显示的数据脱敏系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

本实施例中的数据脱敏系统用于实现上述的数据脱敏的方法,因此对于数据脱敏系统的具体实施步骤可以参照上述对数据脱敏的方法的描述,此处不再赘述。

如图5所示,在本申请的另一实施例中,上述特征确定模块42可以包含有:

第一字符转换单元421,服务器将待脱敏字符转换为以unicode编码方式表示的第一字符。

十进制转换单元422,服务器将上述第一字符转换为十进制数值。

区间段匹配单元423,服务器基于上述十进制数值和多个预设区间段,确定上述十进制数值对应的目标区间。以及

字符类型确定单元424,服务器基于上述目标区间和预设区间映射关系,确定与上述目标区间匹配的字符类型。上述预设区间映射关系表征有各个区间和字符类型的映射关系。

在本申请的另一实施例中,如图6所示,上述脱敏处理模块44可以包含有:

第一脱敏单元441,服务器根据各个待脱敏字符对应的映射函数,依据上述映射函数对上述待脱敏字符进行脱敏处理,得到脱敏字符。

第二脱敏单元442,服务器将上述待脱敏字符替换为对应的脱敏字符,得到脱敏数据。

其中,第一脱敏单元441包含有:

映射单元4411,服务器将待脱敏字符作为映射函数的输入参数,得到目标函数值。

十六进制转换单元4412,服务器将上述目标函数值转换为十六进制数值。以及

标准编码转换单元4413,服务器将上述十六进制数值转换为以unicode编码方式表示的脱敏字符。

本发明一实施例还公开了一种数据脱敏设备,包括处理器和存储器,其中存储器存储有所述处理器的可执行程序;处理器配置为经由执行可执行程序来执行上述数据脱敏方法中的步骤。图7是本发明公开的数据脱敏设备的结构示意图。下面参照图7来描述根据本发明的这种实施方式的电子设备600。图7显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图7所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同平台组件(包括存储单元620和处理单元610)的总线630、显示单元640等。

其中,存储单元存储有程序代码,程序代码可以被处理单元610执行,使得处理单元610执行本说明书上述数据脱敏方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,处理单元610可以执行如图1中所示的步骤。

存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。

存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。

总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。

电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储平台等。

本发明还公开了一种计算机可读存储介质,用于存储程序,所述程序被执行时实现上述数据脱敏方法中的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述数据脱敏方法中描述的根据本发明各种示例性实施方式的步骤。

如上所示,该实施例的计算机可读存储介质的程序在执行时,不仅根据不同字符类型,还根据待脱敏字符的业务特征,综合参考来匹配映射函数,能够针对不同数据类型的敏感数据采用不同需求的映射函数,利于实现数据脱敏前后数据类型不发生变化,保证数据可用性的同时,提升数据安全性。

图8是本发明的计算机可读存储介质的结构示意图。参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本发明实施例提供的数据脱敏方法、系统、设备及存储介质不仅根据不同字符类型,还根据待脱敏字符的业务特征,综合参考来匹配映射函数,能够针对不同数据类型的敏感数据采用不同需求的映射函数,利于实现数据脱敏前后数据类型不发生变化,保证数据可用性的同时,提升数据安全性。

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

相关技术
  • 数据脱敏方法、数据脱敏装置、设备及存储介质
  • 通用数据脱敏方法、组件、系统、计算机设备和存储介质
技术分类

06120113822109