一种数据脱敏方法、装置、设备以及存储介质与流程
未命名
10-14
阅读:127
评论:0
1.本发明涉及数据安全技术领域,尤其涉及一种数据脱敏方法、装置、设备以及存储介质。
背景技术:
2.在数据共享时,常常需要对共享的数据进行脱敏处理,以保证数据传输过程中的安全性。
3.然而,现有的数据脱敏方法,比如,通过改造业务api(application programming interface,应用程序编程接口)实现数据脱敏的方法对代码的入侵度非常高,开发复杂度高,对开发人员的要求也较高。又比如,通过数据库访问拦截的数据脱敏方法,虽然具有无代码侵入性的优势,但原本数据库访问处于偏底层技术层,实现难度较大,且在实现数据脱敏的过程中需要通过偏上层的服务调用等技术来获取相应的分级数据和权限数据等,与上层业务有较高的耦合,导致底层依赖上层的反向逻辑,稳定性欠缺。
技术实现要素:
4.本发明提供了一种数据脱敏方法、装置、设备以及存储介质,以解决代码入侵的问题,降低开发复杂度,降低底层代码层与上层业务层的耦合度,提高数据脱敏的稳定性。
5.根据本发明的一方面,提供了一种数据脱敏方法,应用于应用程序编程接口api网关,该方法包括:
6.获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文;
7.基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则;
8.根据目标脱敏实施规则,对数据明文进行脱敏处理。
9.根据本发明的另一方面,提供了一种数据脱敏方法,应用于业务api,该方法包括:
10.接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥;
11.采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文;
12.执行请求明文对应的数据处理操作,得到数据处理结果;
13.采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文;
14.向api网关发送数据密文,以使api网关对数据密文进行解密,得到数据明文,并对数据明文进行脱敏处理。
15.根据本发明的另一方面,提供了一种数据脱敏装置,由api网关执行,该装置包括:
16.数据明文确定模块,用于获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文;
17.脱敏实施规则确定模块,用于基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则;
18.脱敏处理模块,用于根据目标脱敏实施规则,对数据明文进行脱敏处理。
19.根据本发明的另一方面,提供了一种数据脱敏装置,由业务api执行,该装置包括:
20.数据获取模块,用于接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥;
21.请求明文确定模块,用于采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文;
22.处理结果确定模块,用于执行请求明文对应的数据处理操作,得到数据处理结果;
23.数据密文确定模块,用于采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文;
24.数据密文发送模块,用于向api网关发送数据密文,以使api网关对数据密文进行解密,得到数据明文,并对数据明文进行脱敏处理。
25.根据本发明的另一方面,提供了一种电子设备,所述电子设备包括:
26.至少一个处理器;以及
27.与至少一个处理器通信连接的存储器;其中,
28.存储器存储有可被至少一个处理器执行的计算机程序,计算机程序被至少一个处理器执行,以使至少一个处理器能够执行本发明任一实施例的数据脱敏方法。
29.根据本发明的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,计算机指令用于使处理器执行时实现本发明任一实施例的数据脱敏方法。
30.本发明实施例的技术方案,获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文;基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则;根据目标脱敏实施规则,对数据明文进行脱敏处理。上述技术方案,通过将待脱敏api调用请求拦截在api网关,由api网关对待脱敏api调用请求对应的数据密文进行解密处理,得到数据明文,再由api网关对数据明文进行数据脱敏处理,在api网关完成了数据脱敏操作,避免了对底层代码的入侵,降低了开发复杂度,降低了底层代码层与上层业务层的耦合度,提高了数据脱敏的稳定性。
31.应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
32.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是根据本发明实施例一提供的一种数据脱敏方法的流程图;
34.图2是根据本发明实施例二提供的一种数据脱敏方法的流程图;
35.图3是根据本发明实施例三提供的一种数据脱敏方法的流程图;
36.图4是根据本发明实施例四提供的一种数据脱敏方法的流程图;
37.图5是根据本发明实施例五提供的一种数据脱敏装置的结构示意图;
38.图6是根据本发明实施例六提供的一种数据脱敏装置的结构示意图;
39.图7是实现本发明实施例的数据脱敏方法的电子设备的结构示意图。
具体实施方式
40.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
41.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“目标”、“第一”和“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
42.此外,还需要说明的是,本发明的技术方案中,所涉及的api调用请求等的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
43.实施例一
44.图1为本发明实施例一提供的一种数据脱敏方法的流程图,本实施例可适用于在数据共享过程中对数据脱敏的情况,该方法可以由数据脱敏装置来执行,该装置可以采用硬件和/或软件的形式实现,可配置于电子设备中。如图1所示,该方法包括:
45.s101、获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文。
46.其中,业务api是指用于提供一些易于使用的应用接口。待脱敏api调用请求是指需要进行脱敏处理的api调用请求。api调用请求是指数据调用方发送的调用api数据的请求。其中,数据调用方是指调用api数据的一方。数据密文是指数据经加密处理后得到的密文。目标私钥是指api网关与业务api约定好的密钥对中的私钥;目标私钥由api网关保存。数据明文是指数据密文经解密处理后得到的明文。
47.具体的,api网关获取业务api发送的待脱敏api调用请求对应的数据密文,并基于预设数据解密算法,采用目标私钥对数据密文进行解密,得到数据明文。其中,预设数据解密算法可以根据实际业务需求预先设置,本发明实施例对其不做具体限定。
48.s102、基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则。
49.其中,目标访问权限是指数据调用方所拥有的数据访问权限;目标访问权限可以是一级访问权限、二级访问权限、三级访问权限、四级访问权限和临时访问权限等中的一种。需要说明的是,若访问权限总共有四级,则一级访问权限是最低的访问权限,四级访问权限是最高的访问权限。目标脱敏实施规则是指用于对数据明文进行数据脱敏的实施规则。
50.具体的,api网关可以将数据调用方的目标访问权限与数据明文预设的访问权限进行比较,若目标访问权限高于或等于数据明文预设的访问权限,则将目标访问权限对应
的脱敏实施规则,作为数据明文对应的目标脱敏实施规则;否则,则将数据明文预设的访问权限对应的脱敏实施规则,作为数据明文对应的目标脱敏实施规则。
51.示例性的,数据调用方的目标访问权限是一级访问权限,数据明文预设的访问权限为四级访问权限;api网关将目标访问权限与数据明文预设的访问权限进行比较,由于目标访问权限低于数据明文预设的访问权限,即一级访问权限低于四级访问权限,api网关确定数据明文对应的目标脱敏实施规则为数据明文预设的访问权限对应的脱敏实施规则。
52.可选的,若目标访问权限高于或等于数据明文预设的访问权限,则目标脱敏实施规则为原样返回数据明文;若目标访问权限低于数据明文预设的访问权限,则目标脱敏实施规则为按照数据明文预设的访问权限对应的数据脱敏规则,对数据明文进行脱敏处理。
53.可选的,可以在目标访问权限为临时访问权限的情况下,生成临时授权记录,以便api网关随时根据临时授权记录获取数据调用方的目标访问权限。可选的,api网关还可以将临时授权记录存储至其缓存中,以便后续追溯数据调用方的访问权限记录。
54.其中,临时访问权限是指在一定时间内有效的访问权限,比如,在5分钟内有效的访问权限。可以理解的是,临时访问权限可以使数据调用方临时拥有访问比其原始访问权限高的数据。临时授权记录中存储有授权标识、数据调用方的身份标识、授权的api、授权属性、授权级别和有效时长。
55.s103、根据目标脱敏实施规则,对数据明文进行脱敏处理。
56.具体的,api网关根据目标脱敏实施规则,在目标脱敏实施规则为原样返回数据明文的情况下,不对数据明文进行脱敏处理;在目标脱敏实施规则为按照数据明文预设的访问权限对应的数据脱敏规则,对数据明文进行脱敏处理的情况下,按照数据明文预设的数据访问权限对应的数据脱敏规则,对数据明文件脱敏处理。
57.示例性的,目标访问权限为一级访问权限,数据明文预设的访问权限为四级访问权限;api网关按照四级访问权限对应的数据脱敏规则,对数据明文进行脱敏处理。
58.示例性的,目标访问权限为三级访问权限,数据明文预设的访问权限包括一级访问权限、二级访问权限和四级访问权限;api网关对数据明文中一级访问权限的数据和二级访问权限的数据不进行脱敏处理,对四级访问权限的数据,按照四级访问权限对应的数据脱敏规则,对四级访问权限的数据进行脱敏处理。
59.本发明实施例的技术方案,获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文;基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则;根据目标脱敏实施规则,对数据明文进行脱敏处理。上述技术方案,通过将待脱敏api调用请求拦截在api网关,由api网关对待脱敏api调用请求对应的数据密文进行解密处理,得到数据明文,再由api网关对数据明文进行数据脱敏处理,在api网关完成了数据脱敏操作,避免了对底层代码的入侵,降低了开发复杂度,降低了底层代码层与上层业务层之间的耦合度,提高了数据脱敏的稳定性。
60.实施例二
61.图2为本发明实施例二提供的一种数据脱敏方法的流程图,本实施例在上述实施例的基础上,提供了一种在api网关获取业务api发送的待脱敏api调用请求对应的数据密文之前,对待脱敏api调用请求进行加密处理的技术方案。需要说明的是,在本发明实施例中未详述部分,可参照其他实施例的相关表述。如图2所示,该方法包括:
62.s201、从至少一个api调用请求中,确定待脱敏api调用请求。
63.其中,api调用请求是指数据调用方发送的调用api数据的请求。其中,数据调用方是指调用api数据的一方。待脱敏api调用请求是指需要进行脱敏处理的api调用请求。
64.具体的,api网关基于预设请求拦截模型,从数据调用方发送的至少一个api调用请求中拦截待脱敏api调用请求。其中预设请求拦截模型可以根据实际业务需求预先设置,比如,预设请求拦截模型可以是具有待脱敏api调用请求功能的过滤器,本发明实施例对其不做具体限定。
65.可选的,可以通过获取api调用请求的目标路由地址;基于预设路由规则脱敏表,根据目标路由地址,从至少一个api调用请求中确定待脱敏api调用请求。
66.其中,目标路由地址是指api调用请求的路由地址。需要说明的是,一个api调用请求对应一个目标路由地址。预设路由规则脱敏表可以根据实际业务需求预先设置,用于存储待脱敏api调用请求的路由地址,本发明实施例对其不做具体限定。
67.具体的,api网关获取数据调用方发送的api调用请求的目标路由地址;并检测预设路由规则脱敏表中是否存在目标路由地址;若预设路由规则脱敏表中存在目标路由地址,则将目标路由地址对应的api调用请求,确定为待脱敏api调用请求;否则,则将目标路由地址对应的api调用请求放行。
68.可以理解的是,通过检测预设路由规则脱敏表中是否存在api调用请求的目标路由地址,确定待脱敏api调用请求,实现了对待脱敏api调用请求的识别,考虑了api调用请求中无需进行脱敏处理的api调用请求,减少了数据脱敏处理的数据量,提高了数据脱敏的效率。
69.可选的,api网关还可以根据实际业务需求,实时更新预设路由规则脱敏表中的路由地址,以实现对待脱敏api调用请求的准确识别。
70.可选的,api网关还可以记录所有放行的api调用请求,并记录所有待脱敏api调用请求的数据脱敏细节,以方便后续审计。
71.s202、基于预设密钥生成方式,为待脱敏api调用请求生成目标公钥和目标私钥。
72.其中,预设密钥生成方式可以根据实际业务需求预先设置,比如,预设密钥生成方式可以是rsa非对称加密算法,又比如,预设密钥生成方式可以是基于随机数的密钥生成方式,本发明实施例对其不做具体限定。目标公钥是指api网关与业务api约定好的密钥对中的公钥;目标公钥由业务api保存。相应的,目标私钥是指api网关与业务api约定好的密钥对中的私钥;目标私钥由api网关保存。
73.示例性的,api网关基于rsa非对称加密算法,为待脱敏api调用请求生成目标公钥和目标私钥。
74.示例性的,api网关基于随机数的密钥生成方式,为待脱敏api调用请求生成目标公钥和目标私钥。
75.s203、采用目标私钥对待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文。
76.其中,请求密文是指待脱敏api调用请求经加密处理后得到的密文。
77.具体的,api网关基于预设请求加密算法,采用目标私钥对待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文。其中,预设请求加密算法可以根据实际业务
需求预先设置,本发明实施例对其不做具体限定。
78.s204、向业务api发送请求密文和目标公钥,以使业务api基于请求密文和目标公钥得到待脱敏api调用请求的请求明文。
79.其中,请求明文是指请求密文经解密处理后得到的明文,即待脱敏api调用请求。
80.具体的,api网关向业务api发送请求密文和目标公钥,以使业务api采用目标公钥对请求密文进行解密处理,得到待脱敏api调用请求的请求明文。
81.s205、获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文。
82.s206、基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则。
83.s207、采用目标脱敏实施规则,对数据明文进行脱敏处理。
84.本发明实施例的技术方案,提供了一种在api网关获取业务api发送的待脱敏api调用请求对应的数据密文之前,对待脱敏api调用请求进行加密处理的技术方案,避免了待脱敏api调用请求在数据传输过程的泄露,从而保证了待脱敏api调用请求在数据传输过程中的安全性。
85.在上述实施例的基础上,作为本发明实施例的一种可选方式,api网关在采用目标私钥对待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文之后,还可以是:基于预设时间戳,对请求密文进行数字签名,得到请求密文的校验签名;向业务api发送校验签名和预设时间戳,以使业务api基于预设时间戳对校验签名进行校验。
86.其中,预设时间戳可以根据实际业务需求预先设置,比如,预设时间戳可以是2分钟,本发明实施例对其不做具体限定。校验签名是指一个包含请求密文以及预设时间戳,并能够鉴别请求密文是否被篡改的一段数字串;可选的,校验签名可以采用数字、字母或数字加字母等形式。
87.具体的,api网关可以将预设时间戳和请求密文输入md5或sha(security hash algorithm)数字签名算法中,通过md5或sha数字签名算法处理得到请求密文的校验签名;api网关向业务api发送校验签名和预设时间戳,以使业务api基于预设时间戳对校验签名进行校验。
88.可以理解的是,通过对请求密文进行数字签名,实现了对待脱敏api调用请求的请求密文的二次加密处理,进一步保证了待脱敏api调用请求在数据传输过程中的安全性。
89.实施例三
90.图3为本发明实施例三提供的一种数据脱敏方法的流程图,本实施例可适用于在数据共享过程中对数据脱敏的情况,该方法可以由数据脱敏装置来执行,该装置可以采用硬件和/或软件的形式实现,可配置于电子设备中。如图3所示,该方法包括:
91.s301、接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥。
92.其中,api网关是任意两个相互独立的局域网之间的通信桥梁;api网关可以是路由器。待脱敏api调用请求是指需要进行脱敏处理的api调用请求。api调用请求是指数据调用方发送的调用api数据的请求。其中,数据调用方是指调用api数据的一方。请求密文是指待脱敏api调用请求经加密处理后得到的密文。目标公钥是指api网关与业务api约定好的密钥对中的公钥;目标公钥由业务api保存。
93.具体的,业务api接收api网关发送的待脱敏api调用请求对应的请求密文和目标
公钥。
94.s302、采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文。
95.其中,请求明文是指请求密文经解密处理后得到的明文。
96.具体的,业务api在接收到请求密文和目标公钥后,触发其内部的解密注解程序;解密注解程序启动预设请求解密算法,采用目标公钥对请求密文进行解密,得到待脱敏api调用请求对应的请求明文。需要说明的是,解密注解程序用于启动预设请求解密算法对请求密文进行解密。
97.需要说明的是,预设请求解密算法与预设请求加密算法之间存在对应关系;采用预设请求加密算法对待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文;相应的,采用预设请求解密算法对请求密文进行解密,得到待脱敏api调用请求对应的请求明文。
98.可以理解的是,解密注解程序的应用,使得业务api不需要开发请求明文的解密算法,而是直接调用预设请求解密算法,避免了对业务api中代码的修改,从而降低了开发复杂度。
99.s303、执行请求明文对应的数据处理操作,得到数据处理结果。
100.具体的,业务api执行请求明文对应的数据处理操作,得到数据处理结果。
101.s304、采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文。
102.其中,数据密文是指数据处理结果经加密处理后得到的密文。
103.具体的,业务api在得到数据处理结果之后,同样会触发其内部的加密密注解程序;加密注解程序启动预设数据加密算法,采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文。需要说明的是,加密注解程序用于启动预设数据加密算法对数据处理结果进行解密。
104.可以理解的是,加密注解程序的应用,使得业务api不需要开发数据处理结果的加密算法,而是直接调用预设数据加密算法,避免了对业务api中代码的修改,从而进一步降低了开发复杂度。
105.需要说明的是,预设数据加密算法与预设数据解密算法之间存在对应关系;采用预设数据加密算法对数据处理结果进行加密,得到数据处理结果的数据密文;相应的,采用预设数据解密算法对数据密文进行解密,得到数据明文。
106.s305、向api网关发送数据密文,以使api网关对数据密文进行解密,得到数据明文,并对数据明文进行脱敏处理。
107.其中,数据明文是指数据密文经解密处理后得到的明文。
108.具体的,业务api向api网关发送数据密文,以使api网关采用其保存的目标私钥对数据密文进行解密,得到数据明文,并对数据明文进行脱敏处理。
109.本发明实施例的技术方案,通过接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥;采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文;执行请求明文对应的数据处理操作,得到数据处理结果;采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文;向api网关发送数据密文,以使api网关对数据密文进行解密,得到数据明文,并对数据明文进行脱敏处理。上述技术方案,由业务api对加密后的待脱敏api调用请求进行解密,并执行待脱敏api调用请求既定的逻辑操作,得到了待
脱敏api调用请求对应的数据处理结果;之后,由业务api对数据处理结果进行加密处理,避免了数据处理结果在数据传输过程中的泄露,从而保证了数据处理结果在数据传输过程中的安全性。且整个过程不需要开发人员根据待脱敏api调用请求编写相应的数据脱敏代码,对数据处理结果进行脱敏处理,避免了对业务api底层代码的入侵,降低了开发复杂度。
110.在上述实施例的基础上,作为本发明实施例的一种可选方式,业务api在采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文之前,还可以是:接收api网关发送的校验签名和预设时间戳;基于预设时间戳,对校验签名进行校验。
111.其中,预设时间戳可以根据实际业务需求预先设置,比如,预设时间戳可以是2分钟,本发明实施例对其不做具体限定。校验签名是指一个包含请求密文以及预设时间戳,并能够鉴别请求密文是否被篡改的一段数字串;可选的,校验签名可以采用数字、字母或数字加字母等形式。
112.具体的,业务api接收api网关发送的校验签名(记为第一校验签名)和预设时间戳;之后,业务api将预设时间戳和请求密文输入md5或sha数字签名算法中,通过md5或sha数字签名算法处理得到请求密文的第二校验签名;将第二校验签名与第一校验签名进行比对,若二者一致,则api网关进一步对请求密文进行解密,否则,api网关向api网关发送泄露报警信息。
113.可以理解的是,业务api基于预设时间戳对校验签名进行校验,减少了请求密文被篡改的可能性,从而进一步保证了请求密文的准确性。
114.实施例四
115.图4为本发明实施例四提供的一种数据脱敏方法的流程图,在上述实施例的基础上,提供了一种优先的实施方案。需要说明的是,在本发明实施例中未详述部分,可参照其他实施例的相关表述。如图4所示,该方法包括:
116.s401、api网关从至少一个api调用请求中,确定待脱敏api调用请求。
117.可选的,api网关获取api调用请求的目标路由地址;基于预设路由规则脱敏表,根据目标路由地址,从至少一个api调用请求中确定api调用请求。
118.s402、api网关基于预设密钥生成方式,为待脱敏api调用请求生成目标公钥和目标私钥。
119.s403、api网关采用目标私钥对待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文。
120.s404、api网关基于预设时间戳,对请求密文进行数字签名,得到请求密文的校验签名。
121.s405、api网关向业务api发送目标公钥、请求密文、校验签名和预设时间戳。
122.s406、业务api接收api网关发送的目标公钥、请求密文、校验签名和预设时间戳。
123.s407、业务api基于预设时间戳,对校验签名进行校验。
124.s408、在校验通过的情况下,业务api采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文。
125.s409、业务api执行请求明文对应的数据处理操作,得到数据处理结果。
126.s410、业务api采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文。
127.s411、业务api向api网关发送数据密文。
128.s412、api网关获取业务api发送的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文。
129.s413、api网关基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则。
130.可选的,在目标访问权限为临时访问权限的情况下,生成临时授权记录。
131.s414、api网关根据目标脱敏实施规则,对数据明文进行脱敏处理。
132.之后,api网关将数据明文经脱敏处理后得到的数据反馈给数据调用方。
133.本发明实施例的技术方案,相比于现有的数据脱敏方法,将待脱敏api调用请求全部拦截在api网关,由api网关对待脱敏api调用请求进行两次加密处理后,在发送给业务api,保证了数据传输过程中待脱敏api调用请求的安全性;之后,业务api根据解密注解程序,在对底层代码不进行修改的情况下,实现了对待脱敏api调用请求的解密;之后,业务api执行待脱敏api调用请求对应的数据处理操作,得到数据处理结果;之后,业务api根据加密注解程序,在对底层代码不进行修改的情况下,实现了对数据处理结果的加密,降低了开发复杂度;之后,由api网关对从业务api接收的加密的数据处理结果进行解密,并根据数据调用方的访问权限,按照相应的脱敏规则,对数据处理结果进行数据脱敏处理,不存在跨层级的依赖,降低了底层代码层与上层业务层的耦合度,可以很方便地实现各种规则下对数据的脱敏处理,提高了数据脱敏的稳定性。
134.实施例五
135.图5为本发明实施例五提供的一种数据脱敏装置的结构示意图,本实施例可适用于在数据共享过程中对数据脱敏的情况,该装置可以采用硬件和/或软件的形式实现,可配置于电子设备中。如图5所示,该装置包括:
136.数据明文确定模块501,用于获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文;
137.脱敏实施规则确定模块502,用于基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则;
138.脱敏处理模块503,用于根据目标脱敏实施规则,对数据明文进行脱敏处理。
139.本发明实施例的技术方案,获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文;基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则;根据目标脱敏实施规则,对数据明文进行脱敏处理。上述技术方案,通过将待脱敏api调用请求拦截在api网关,由api网关对待脱敏api调用请求对应的数据密文进行解密处理,得到数据明文,再由api网关对数据明文进行数据脱敏处理,在api网关完成了数据脱敏操作,避免了对底层代码的入侵,降低了开发复杂度,降低了底层代码层与上层业务层之间的耦合度,提高了数据脱敏的稳定性。
140.可选的,该装置还包括:
141.调用请求获取模块,用于在获取业务api发送的待脱敏api调用请求对应的数据密文之前,从至少一个api调用请求中,确定待脱敏api调用请求;
142.密钥生成模块,用于基于预设密钥生成方式,为待脱敏api调用请求生成目标公钥和目标私钥;
143.请求密文确定模块,用于采用目标私钥对待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文;
144.第一数据发送模块,用于向业务api发送请求密文和目标公钥,以使业务api基于请求密文和目标公钥得到待脱敏api调用请求的请求明文。
145.可选的,调用请求获取模块,具体用于:
146.获取api调用请求的目标路由地址;
147.基于预设路由规则脱敏表,根据目标路由地址,从至少一个api调用请求中确定待脱敏api调用请求。
148.可选的,该装置该包括:
149.校验签名确定模块,用于在采用目标私钥对待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文之后,基于预设时间戳,对请求密文进行数字签名,得到请求密文的校验签名;
150.第二数据发送模块,用于向业务api发送校验签名和预设时间戳,以使业务api基于预设时间戳对校验签名进行校验。
151.可选的,该装置还包括:
152.授权记录生成模块,用于在目标访问权限为临时访问权限的情况下,生成临时授权记录。
153.本发明实施例所提供的数据脱敏装置可执行本发明实施例一和实施例二中任意实施例所提供的数据脱敏方法,具备执行各数据脱敏方法相应的功能模块和有益效果。
154.实施例六
155.图6为本发明实施例六提供的一种数据脱敏装置的结构示意图,本实施例可适用于在数据共享过程中对数据脱敏的情况,该装置可以采用硬件和/或软件的形式实现,可配置于电子设备中。如图6所示,该装置包括:
156.数据获取模块601,用于接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥;
157.请求明文确定模块602,用于采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文;
158.处理结果确定模块603,用于执行请求明文对应的数据处理操作,得到数据处理结果;
159.数据密文确定模块604,用于采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文;
160.数据密文发送模块605,用于向api网关发送数据密文,以使api网关对数据密文进行解密,得到数据明文,并对数据明文进行脱敏处理。
161.本发明实施例的技术方案,通过接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥;采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文;执行请求明文对应的数据处理操作,得到数据处理结果;采用目标公钥对数据处理结果进行加密,得到数据处理结果的数据密文;向api网关发送数据密文,以使api网关对数据密文进行解密,得到数据明文,并对数据明文进行脱敏处理。上述技术方案,由业务api对加密后的待脱敏api调用请求进行解密,并执行待脱敏api调用请求既定的逻辑操作,得到了待
脱敏api调用请求对应的数据处理结果;之后,由业务api对数据处理结果进行加密处理,避免了数据处理结果在数据传输过程中的泄露,从而保证了数据处理结果在数据传输过程中的安全性。且整个过程不需要开发人员根据待脱敏api调用请求编写相应的数据脱敏代码,对数据处理结果进行脱敏处理,避免了对业务api底层代码的入侵,降低了开发复杂度。
162.可选的,该装置还包括:
163.数据接收模块,用于在采用目标公钥对请求密文解密,得到待脱敏api调用请求对应的请求明文之前,接收api网关发送的校验签名和预设时间戳;
164.数据校验模块,用于基于预设时间戳,对校验签名进行校验。
165.本发明实施例所提供的数据脱敏装置可执行本发明实施例三所提供的数据脱敏方法,具备执行数据脱敏方法相应的功能模块和有益效果。
166.实施例七
167.图7示出了可以用来实施本发明的实施例的电子设备10的结构示意图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
168.如图7所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、rom12以及ram13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
169.电子设备10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
170.处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如数据脱敏方法。
171.在一些实施例中,数据脱敏方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到ram13并由处理器11执行时,可以执行上文描述的数据脱敏方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据脱敏方法。
172.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电
路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
173.用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
174.在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
175.为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
176.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)、区块链网络和互联网。
177.计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。
178.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例
如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
179.上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
技术特征:
1.一种数据脱敏方法,其特征在于,应用于应用程序编程接口api网关,包括:获取业务api发送的待脱敏api调用请求对应的数据密文,并采用目标私钥对所述数据密文进行解密,得到数据明文;基于数据调用方的目标访问权限,确定所述数据明文对应的目标脱敏实施规则;根据所述目标脱敏实施规则,对所述数据明文进行脱敏处理。2.根据权利要求1所述的方法,其特征在于,在获取业务api发送的待脱敏api调用请求对应的数据密文之前,还包括:从至少一个api调用请求中,确定待脱敏api调用请求;基于预设密钥生成方式,为所述待脱敏api调用请求生成目标公钥和目标私钥;采用所述目标私钥对所述待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文;向业务api发送所述请求密文和所述目标公钥,以使所述业务api基于所述请求密文和所述目标公钥得到所述待脱敏api调用请求的请求明文。3.根据权利要求2所述的方法,其特征在于,所述从至少一个api调用请求中,确定待脱敏api调用请求,包括:获取api调用请求的目标路由地址;基于预设路由规则脱敏表,根据所述目标路由地址,从至少一个api调用请求中确定待脱敏api调用请求。4.根据权利要求2所述的方法,其特征在于,在所述采用所述目标私钥对所述待脱敏api调用请求进行加密,得到待脱敏api调用请求的请求密文之后,还包括:基于预设时间戳,对所述请求密文进行数字签名,得到所述请求密文的校验签名;向业务api发送所述校验签名和所述预设时间戳,以使所述业务api基于所述预设时间戳对所述校验签名进行校验。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述目标访问权限为临时访问权限的情况下,生成临时授权记录。6.一种数据脱敏方法,其特征在于,应用于业务api,包括:接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥;采用所述目标公钥对所述请求密文解密,得到待脱敏api调用请求对应的请求明文;执行所述请求明文对应的数据处理操作,得到数据处理结果;采用所述目标公钥对所述数据处理结果进行加密,得到所述数据处理结果的数据密文;向api网关发送所述数据密文,以使所述api网关对数据密文进行解密,得到数据明文,并对所述数据明文进行脱敏处理。7.根据权利要求6所述的方法,其特征在于,在所述采用所述目标公钥对所述请求密文解密,得到待脱敏api调用请求对应的请求明文之前,包括:接收api网关发送的校验签名和预设时间戳;基于所述预设时间戳,对所述校验签名进行校验。8.一种数据脱敏装置,其特征在于,由api网关执行,包括:数据明文确定模块,用于获取业务api发送的待脱敏api调用请求对应的数据密文,并
采用目标私钥对所述数据密文进行解密,得到数据明文;脱敏实施规则确定模块,用于基于数据调用方的目标访问权限,确定所述数据明文对应的目标脱敏实施规则;脱敏处理模块,用于根据所述目标脱敏实施规则,对所述数据明文进行脱敏处理。9.一种数据脱敏装置,其特征在于,由业务api执行,包括:数据获取模块,用于接收api网关发送的待脱敏api调用请求对应的请求密文和目标公钥;请求明文确定模块,用于采用所述目标公钥对所述请求密文解密,得到待脱敏api调用请求对应的请求明文;处理结果确定模块,用于执行所述请求明文对应的数据处理操作,得到数据处理结果;数据密文确定模块,用于采用所述目标公钥对所述数据处理结果进行加密,得到所述数据处理结果的数据密文;数据密文发送模块,用于向api网关发送所述数据密文,以使所述api网关对数据密文进行解密,得到数据明文,并对所述数据明文进行脱敏处理。10.一种电子设备,其特征在于,所述电子设备包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-5中任一项所述的数据脱敏方法,和/或,权利要求6-7中任一项所述的数据脱敏方法。11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-5中任一项所述的数据脱敏方法,和/或,权利要求6-7中任一项所述的数据脱敏方法。
技术总结
本发明公开了一种数据脱敏方法、装置、设备以及存储介质,属于数据安全技术领域,所述方法包括:获取业务API发送的待脱敏API调用请求对应的数据密文,并采用目标私钥对数据密文进行解密,得到数据明文;基于数据调用方的目标访问权限,确定数据明文对应的目标脱敏实施规则;根据目标脱敏实施规则,对数据明文进行脱敏处理。本发明在API网关完成了数据脱敏操作,避免了对底层代码的入侵,降低了开发复杂度,降低了底层代码层与上层业务层之间的耦合度,提高了数据脱敏的稳定性。提高了数据脱敏的稳定性。提高了数据脱敏的稳定性。
技术研发人员:殷联佳 吴高峰 赵嘉玮
受保护的技术使用者:神彩科技股份有限公司
技术研发日:2023.08.17
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
上一篇:一种大米精加工机的制作方法 下一篇:一种猫砂清理装置
