CN114239026A - 信息脱敏转换处理方法、装置、计算机设备和存储介质 - Google Patents
信息脱敏转换处理方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114239026A CN114239026A CN202111560878.7A CN202111560878A CN114239026A CN 114239026 A CN114239026 A CN 114239026A CN 202111560878 A CN202111560878 A CN 202111560878A CN 114239026 A CN114239026 A CN 114239026A
- Authority
- CN
- China
- Prior art keywords
- key
- field
- desensitization
- data
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本申请公开了一种信息脱敏转换处理方法、装置、计算机设备和存储介质。该方法包括:通过预配置的切面功能拦截请求入参数据,其中,请求入参数据包括加密数据和第一密钥摘要;在请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段;根据第一密钥摘要从密钥池中获取解密密钥,并采用解密密钥对加密数据进行解密,得到明文字段;根据明文字段执行任务请求;通过预配置的切面功能拦截请求返回数据;在请求返回数据中遍历含有脱敏注解的注释字段,获取第二待处理字段;从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段;将密文字段和第二密钥摘要返回到客户端。该信息脱敏转换处理方法能够提高信息脱敏转换处理效率。
Description
技术领域
本申请涉及信息安全技术领域,尤其涉及一种信息脱敏转换处理方法、装置、计算机设备和存储介质。
背景技术
涉及到数据安全的敏感信息,并不合适直接明文展示在客户端,应通过服务端完成脱敏处理后返回给客户端。客户端发起的任务请求携带脱敏数据,需在服务端转成明文信息后处理任务请求,以此来避免敏感信息的泄露。然而,目前常用的信息脱敏处理转换的处理在请求和返回的业务敏感信息嵌套很深的情况下,遍历起来会比较繁琐,信息脱敏转换处理的效率较低。
发明内容
有鉴于此,本申请实施例提供了一种信息脱敏转换处理方法、装置、计算机设备和存储介质,用以解决信息脱敏转换处理效率较低的问题。
第一方面,本申请实施例提供了一种信息脱敏转换处理方法,所述方法包括:
通过预配置的切面功能拦截请求入参数据,其中,所述请求入参数据包括加密数据和第一密钥摘要,所述请求入参数据由客户端发送的任务请求携带;
在所述请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段;
根据所述第一密钥摘要从密钥池中获取解密密钥,并采用所述解密密钥对所述加密数据进行解密,得到明文字段;
根据所述明文字段执行所述任务请求;
所述任务请求执行完成后,通过所述预配置的切面功能拦截请求返回数据;
在所述请求返回数据中遍历含有脱敏注解的注释字段,获取第二待处理字段;
从所述密钥池中选取一加密密钥对所述第二待处理字段进行加密,得到密文字段;
将所述密文字段和第二密钥摘要返回到所述客户端,其中,所述第二密钥摘要由所述加密密钥通过摘要算法计算得到。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述预配置的切面功能配置为实现如下步骤:
确定切面的通知对象;
根据所述切面的通知对象确定切入点,其中,所述切入点为对所述切面的通知对象进行拦截的节点;
创建织入信息;
根据所述切入点将所述织入信息织入所述切面的通知对象所在的业务模块。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述切面的通知对象确定切入点,包括:
确定目标传输数据;
测试所述切面的通知对象中所述目标传输数据的传输路径;
若所述目标传输数据的所述传输路径均经过预设的目标路径,则在所述目标路径的方法执行前确定所述切入点。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述根据所述第一密钥摘要从密钥池中获取解密密钥,包括:
采用预设定的摘要算法计算所述密钥池中密钥的摘要信息,其中,优先计算所述密钥池中生成时间最早的密钥;
每采用所述摘要算法计算得到一待比对摘要后,将所述待比对摘要与所述第一密钥摘要进行字符串匹配;
若所述待比对摘要与所述第一密钥摘要的所述字符串匹配结果为相同,将所述字符串匹配结果为相同的所述待比对摘要所对应的密钥作为所述解密密钥,并停止所述摘要算法对所述密钥池中所述密钥的摘要信息的计算。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,从所述密钥池中选取一加密密钥对所述第二待处理字段进行加密,得到密文字段,包括:
根据所述脱敏注解的注释字段确定脱敏类型;
根据所述脱敏类型从所述密钥池中筛选得到同种脱敏类型的密钥;
获取所述第二待处理字段的处理时间戳;
根据所述第二待处理字段的处理时间戳,按照预设置的时间范围区域,在所述同种脱敏类型的密钥中随机选取得到一所述加密密钥,并采用所述加密密钥对所述第二待处理字段进行加密,得到所述密文字段。
第二方面,本申请实施例提供一种信息脱敏转换处理装置,所述装置包括:
第一拦截模块,用于通过预配置的切面功能拦截请求入参数据,其中,所述请求入参数据包括加密数据和第一密钥摘要,所述请求入参数据由客户端发送的任务请求携带;
第一获取模块,用于在所述请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段;
第二获取模块,用于根据所述第一密钥摘要从密钥池中获取解密密钥,并采用所述解密密钥对所述加密数据进行解密,得到明文字段;
任务请求执行模块,用于根据所述明文字段执行所述任务请求;
第二拦截模块,用于所述任务请求执行完成后,通过所述预配置的切面功能拦截请求返回数据;
第三获取模块,用于在所述请求返回数据中遍历含有脱敏注解的注释字段,获取第二待处理字段;
第四获取模块,用于从所述密钥池中选取一加密密钥对所述第二待处理字段进行加密,得到密文字段;
返回模块,用于将所述密文字段和第二密钥摘要返回到所述客户端,其中,所述第二密钥摘要由所述加密密钥通过摘要算法计算得到。
进一步地,所述预配置的切面功能配置为用于:
确定切面的通知对象;
根据所述切面的通知对象确定切入点,其中,所述切入点为对所述切面的通知对象进行拦截的节点;
创建织入信息;
根据所述切入点将所述织入信息织入所述切面的通知对象所在的业务模块。
进一步地,所述预配置的切面功能还配置为用于:
确定目标传输数据;
测试所述切面的通知对象中所述目标传输数据的传输路径;
若所述目标传输数据的所述传输路径均经过预设的目标路径,则在所述目标路径的方法执行前确定所述切入点。
进一步地,第二获取模块具体用于:
采用预设定的摘要算法计算所述密钥池中密钥的摘要信息,其中,优先计算所述密钥池中生成时间最早的密钥;
每采用所述摘要算法计算得到一待比对摘要后,将所述待比对摘要与所述第一密钥摘要进行字符串匹配;
若所述待比对摘要与所述第一密钥摘要的所述字符串匹配结果为相同,将所述字符串匹配结果为相同的所述待比对摘要所对应的密钥作为所述解密密钥,并停止所述摘要算法对所述密钥池中所述密钥的摘要信息的计算。
进一步地,第四获取模块,具体用于:
根据所述脱敏注解的注释字段确定脱敏类型;
根据所述脱敏类型从所述密钥池中筛选得到同种脱敏类型的密钥;
获取所述第二待处理字段的处理时间戳;
根据所述第二待处理字段的处理时间戳,按照预设置的时间范围区域,在所述同种脱敏类型的密钥中随机选取得到一所述加密密钥,并采用所述加密密钥对所述第二待处理字段进行加密,得到所述密文字段。
第三方面,本申请实施例提供了一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时执行如第一方面所述信息脱敏转换处理方法的步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如第一方面所述信息脱敏转换处理方法的步骤。
在本申请实施例中,首先在处理任务请求的阶段,服务器通过预配置的切面功能拦截请求入参数据,可基于业务层面自动地对含有加密数据的请求入参数据进行拦截;接着在请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段,能够快速从拦截的请求入参数据中确定需要解脱敏处理的数据,并根据第一密钥摘要获取解密密钥,利用该解密密钥得到明文字段,然后再根据明文字段执行任务请求。该处理任务请求的阶段利用切面功能在原本固定执行的业务逻辑中插入拦截功能,能够实现基于业务层面对关键的请求入参数据进行拦截。同理地,在请求返回数据阶段,同样采用该预配置的切面功能拦截请求返回数据,并遍历含有脱敏注释的注释字段,获取第二待处理字段,之后从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段;并将密文字段和第二密钥摘要返回到客户端。本申请中,利用切面功能实现对复杂业务逻辑的解耦,并在业务实现的模块间织入了实现请求入参数据、请求返回数据的拦截功能,开发人员可以做到无感知的方式实现数据的脱敏处理转换和明文字段的获取。相比于业务敏感信息嵌套很深的情况,本申请能够做到对第一待处理字段、第二待处理字段的准确、快速获取,能够提高信息脱敏转换处理的效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本申请实施例中一种信息脱敏转换处理方法的流程图;
图2是本申请实施例中一种与信息脱敏转换处理方法一一对应的装置的原理框图;
图3是本申请实施例中一种计算机设备的示意图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的相同的字段,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
应当理解,尽管在本申请实施例中可能采用术语第一、第二、第三等来描述预设范围等,但这些预设范围不应限于这些术语。这些术语仅用来将预设范围彼此区分开。例如,在不脱离本申请实施例范围的情况下,第一预设范围也可以被称为第二预设范围,类似地,第二预设范围也可以被称为第一预设范围。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
图1是本申请实施例中一种信息脱敏转换处理方法的流程图。该信息脱敏转换处理方法可应用在客户端向服务器发送含有敏感信息的任务请求场景。在服务器上可实现该信息脱敏转换处理方法。如图1所示,该信息脱敏转换处理方法包括如下步骤:
S10:通过预配置的切面功能拦截请求入参数据,其中,请求入参数据包括加密数据和第一密钥摘要,请求入参数据由客户端发送的任务请求携带。
其中,该切面功能采用面向切面编程的方式实现,可通过预编译方式和运行期动态代理实现程序功能的统一维护。具体地,该切面功能能够对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性。本申请实施例中,可根据客户端和服务器端之间传输数据的交互逻辑,在需要进行脱敏、解脱敏处理的数据的方法(实现函数)前配置实现方法拦截的切面功能,能够精准地定位到业务逻辑中的关键方法部分。
其中,请求入参数据是客户端发送的任务请求中传输的方法入参相关的数据,一般来说,该请求入参数据在客户端是脱敏处理过的,而服务器在接收该请求入参数据时,需要解脱敏处理后得到明文字段再完成与客户端的交互逻辑,返回客户端所需的数据。
其中,加密数据是指脱敏处理后的数据。第一密钥摘要用于找到解密该加密数据的加密密钥,获取该第一密钥摘要的摘要算法可以是客户端和服务器约定好的。
在一实施例中,利用切面功能在原本固定模块化的业务逻辑中对请求入参数据进行拦截,实现业务逻辑上的解耦,可对开发者关心的请求入参数据直接进行操作,这有效提高了对请求入参数据的处理效率。可以理解地,当请求和返回的业务敏感信息嵌套很深时,遍历起来会比较繁琐,开发人员需要编写逻辑性很强的脱敏处理执行代码,工作量大且容易出错。本提案采用的切面功能可以高效简易地织入到业务逻辑中,开发人员仅需要编写极小量的织入型代码便可实现信息脱敏转换处理。
S20:在请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段。
在一实施例中,本申请可利用解脱敏注解的注释字段对请求入参数据进行遍历,以对加密数据执行解脱敏的操作。需要说明的是,该含有解脱敏注解的注释字段,除了方便遍历之外,还可触发切面方法的拦截,实现业务解耦,在业务模块之间实现对传输数据的监控。
S30:第一密钥摘要从密钥池中获取解密密钥,并采用解密密钥对加密数据进行解密,得到明文字段。
在一实施例中,第一密钥摘要是通过摘要算法从密钥池中的加密密钥计算得到的,在这里可根据摘要算法的单向性唯一确定加密数据所对应的解密密钥。其中,加密密钥和解密密钥可基于对称性加解密方式实现,即加密密钥和解密密钥为同一个。
S40:明文字段执行任务请求。
在一实施例中,服务器在返回数据到客户端之前,需要根据请求入参数据得到明文字段后进行一下步的执行逻辑。
S50:任务请求执行完成后,通过预配置的切面功能拦截请求返回数据。
在一实施例中,服务器要求数据是明文形式,而客户端要求数据是脱敏形式。因此,在请求返回数据返回之前,需要先做脱敏处理,这样,在客户端显示的数据可以呈现为脱敏状态。
S60:在请求返回数据中遍历含有脱敏注解的注释字段,获取第二待处理字段。
类似地,第二待处理字段可利用含有脱敏注解的注释字段遍历得到。可以理解地,解脱敏注解和脱敏注解不同,但是两者的解脱敏、脱敏的方法应相对应。
S70:从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段。
在一实施例中,可从密钥池中随机选取一加密密钥加密得到密文字段。可以理解地,在客户端发起下次任务请求时,该密文字段可作为新的请求入参数据,也就是说该密文字段作为此次与服务器完成逻辑交互的关键数据。
S80:将密文字段和第二密钥摘要返回到客户端,其中,第二密钥摘要由加密密钥通过摘要算法计算得到。
可以理解地,除了密文字段,考虑到密文字段可能作为请求入参数据的情况,应该同时将第二密钥摘要返回到客户端。
在本申请实施例中,首先在处理任务请求的阶段,服务器通过预配置的切面功能拦截请求入参数据,可基于业务层面自动地对含有加密数据的请求入参数据进行拦截;接着在请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段,能够快速从拦截的请求入参数据中确定需要解脱敏处理的数据,并根据第一密钥摘要获取解密密钥,利用该解密密钥得到明文字段,然后再根据明文字段执行任务请求。该处理任务请求的阶段利用切面功能在原本固定执行的业务逻辑中插入拦截功能,能够实现基于业务层面对关键的请求入参数据进行拦截。同理地,在请求返回数据阶段,同样采用该预配置的切面功能拦截请求返回数据,并遍历含有脱敏注释的注释字段,获取第二待处理字段,之后从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段;并将密文字段和第二密钥摘要返回到客户端。本申请中,利用切面功能实现对复杂业务逻辑的解耦,并在业务实现的模块间织入了实现请求入参数据、请求返回数据的拦截功能,开发人员可以做到无感知的方式实现数据的脱敏处理转换和明文字段的获取。相比于业务敏感信息嵌套很深的情况,本申请能够做到对第一待处理字段、第二待处理字段的准确、快速获取,能够提高信息脱敏转换处理的效率。
进一步地,预配置的切面功能配置为实现如下步骤:
S11:确定切面的通知对象。
其中,该切面的通知对象可以是涉及敏感信息(如请求入参数据、请求返回数据等)发送或接收的方法类,切面的通知对象可理解为方法类中具体的方法。该确定切面的通知对象的步骤可定位到业务逻辑中敏感信息执行时所涉及的具体方法,可根据实际需求,对相关敏感信息进行查询确定切面的通知对象。
S12:根据切面的通知对象确定切入点,其中,切入点为对切面的通知对象进行拦截的节点。
其中,切入点是切面方法中确定信息织入的关键节点。在一实施例中,切入点具体可以是执行拦截操作的节点。可以理解地,在业务逻辑固定的背景下,可在不破坏原有业务逻辑的情况下,根据切面的通知对象的逻辑分析得到适合织入信息的切入点。
S13:创建织入信息。
其中,该织入信息是指在原本固定业务模块下织入的用于实现特定功能的方法,在本申请实施例中该织入信息具体可以是用于拦截请求入参数据、请求返回数据的方法。
在一实施例中,针对敏感信息的脱敏转换处理,可采用织入信息用于监控、拦截与敏感信息相关的执行操作,以实现在业务执行过程中对敏感信息的自动化脱敏转换处理。
S14:根据切入点将织入信息织入切面的通知对象所在的业务模块。
可以理解地,切面的通知对象所在的业务模块执行的是一个成熟、完整的业务功能逻辑。本申请将织入信息织入后,可在实现原业务的前提下做到对敏感信息的拦截,完成敏感信息的脱敏转换处理。
进一步地,在步骤S12中,即在根据切面的通知对象确定切入点中,还包括如下步骤:
S121:确定目标传输数据。
本申请中目标传输数据具体是指需要进行脱敏、解脱敏的数据,也即敏感信息。可以理解地,客户端上显示的一些数据是需要脱敏处理的,而服务器执行客户端发送的任务请求时又需要明文字段,因此需要在该传输的过程中对目标传输数据执行脱敏、解脱敏的操作。
S122:测试切面的通知对象中目标传输数据的传输路径。
在一实施例中,可通过全面覆盖切面的通知对象的所有执行逻辑来判断目标传输数据可能的传输路径,以确保目标传输数据绕不过必要的执行逻辑。
S123:若目标传输数据的传输路径均经过预设的目标路径,则在目标路径的方法执行前确定切入点。
在一实施例中,切入点可在方法(业务逻辑中敏感信息执行时所涉及的具体方法)前的位置切入,以保证目标传输数据会被截取到并按照织入信息完成脱敏或解脱敏操作后再回到逻辑交互的业务流程。这样,开发人员能够以无感知的方式实现数据的脱敏转换处理和明文信息的获取。
进一步地,在步骤S30中,即根据第一密钥摘要从密钥池中获取解密密钥中,具体包括如下步骤:
S31:采用预设定的摘要算法计算密钥池中密钥的摘要信息,其中,优先计算密钥池中生成时间最早的密钥。
其中,本申请实施例中的密钥池中的密钥可以是动态变化的。当生成一新的加/解密密钥后,可删除最早生成的加/解密密钥。当然,在设定时会保证最早生成的加/解密密钥存在的时间比第一待处理字段的有效处理时间长。
可以理解地,在对敏感信息进行脱敏转换处理操作时,优先采用最新生成的密钥进行加密,也就是说脱敏后的数据是采用较早的密钥进行处理的。相应地,在计算解密密钥对应的摘要信息时,可优先对密钥池中生成时间最早或较早的密钥进行摘要计算然后再进行字段匹配,这样能够更快地得到解密密钥。进一步地,这种密钥池的设定也可以让密钥得到及时的更新,可预防密钥泄漏的情况。
S32:每采用摘要算法计算得到一待比对摘要后,将待比对摘要与第一密钥摘要进行字符串匹配。
S33:若待比对摘要与第一密钥摘要的字符串匹配结果为相同,将字符串匹配结果为相同的待比对摘要所对应的密钥作为解密密钥,并停止摘要算法对密钥池中密钥的摘要信息的计算。
可以理解地,待比对摘要是根据生成时间较早的密钥得到的,当匹配到字符串与第一密钥摘要相同的待比对摘要后,可不生成后续的待比对摘要,这样可节约内存资源。
进一步地,在步骤S70中,即从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段中,具体包括如下步骤:
S71:根据脱敏注解的注释字段确定脱敏类型。
S72:根据脱敏类型从密钥池中筛选得到同种脱敏类型的密钥。
在一实施例中,脱敏处理可以有多种方式,一种方式对应一种脱敏类型。脱敏类型对应的加密方式也随之区分,因此可根据脱敏类型在密钥池中快速筛选得到同种类型的密钥。
S73:获取第二待处理字段的处理时间戳。
S74:根据第二待处理字段的处理时间戳,按照预设置的时间范围区域,在同种脱敏类型的密钥中随机选取得到一加密密钥,并采用加密密钥对第二待处理字段进行加密,得到密文字段。
在一实施例中,加密密钥可以是随机选取的,但要在一定的时间范围区域内,以保证采用该加密密钥处理过后的数据在有解脱敏需求时该加密密钥还存在于密钥池中。具体地,可以采用较新生成的尚未使用的加密密钥作为脱敏加密的选择。
本申请实施例中,加密密钥的选取是有讲究的。首先,脱敏、解脱敏处理可能有多种方式,因此脱敏类型设置有多种,这样可根据脱敏类型对密钥进行区分,在加解密计算密钥摘要时的效率会更高。密钥设置有密钥定期自动删除的机制,对于采用过早的密钥加密要么需要耗费较大的存储成本,要么加密后的数据没有对应的解密密钥的情况,可按照预设置的时间范围区域选取加密密钥。本申请对密钥池的动态设计在保证数据安全的前提下,有效地解放了长期维持密钥对存储空间的资源占有问题。
在本申请实施例中,首先在处理任务请求的阶段,服务器通过预配置的切面功能拦截请求入参数据,可基于业务层面自动地对含有加密数据的请求入参数据进行拦截;接着在请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段,能够快速从拦截的请求入参数据中确定需要解脱敏处理的数据,并根据第一密钥摘要获取解密密钥,利用该解密密钥得到明文字段,然后再根据明文字段执行任务请求。该处理任务请求的阶段利用切面功能在原本固定执行的业务逻辑中插入拦截功能,能够实现基于业务层面对关键的请求入参数据进行拦截。同理地,在请求返回数据阶段,同样采用该预配置的切面功能拦截请求返回数据,并遍历含有脱敏注释的注释字段,获取第二待处理字段,之后从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段;并将密文字段和第二密钥摘要返回到客户端。本申请中,利用切面功能实现对复杂业务逻辑的解耦,并在业务实现的模块间织入了实现请求入参数据、请求返回数据的拦截功能,开发人员可以做到无感知的方式实现数据的脱敏处理转换和明文字段的获取。相比于业务敏感信息嵌套很深的情况,本申请能够做到对第一待处理字段、第二待处理字段的准确、快速获取,能够提高信息脱敏转换处理的效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
图2是本申请实施例中一种与信息脱敏转换处理方法一一对应的装置的原理框图。如图2所示,该信息脱敏转换处理装置包括第一拦截模块10、第一获取模块20、第二获取模块30、任务请求执行模块40、第二拦截模块50、第三获取模块60、第四获取模块70和返回模块80。
第一拦截模块10,用于通过预配置的切面功能拦截请求入参数据,其中,请求入参数据包括加密数据和第一密钥摘要,请求入参数据由客户端发送的任务请求携带。
第一获取模块20,用于在请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段。
第二获取模块30,用于根据第一密钥摘要从密钥池中获取解密密钥,并采用解密密钥对加密数据进行解密,得到明文字段。
任务请求执行模块40,用于根据明文字段执行任务请求。
第二拦截模块50,用于任务请求执行完成后,通过预配置的切面功能拦截请求返回数据。
第三获取模块60,用于在请求返回数据中遍历含有脱敏注解的注释字段,获取第二待处理字段。
第四获取模块70,用于从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段。
返回模块80,用于将密文字段和第二密钥摘要返回到客户端,其中,第二密钥摘要由加密密钥通过摘要算法计算得到。
可选地,预配置的切面功能配置为用于:
确定切面的通知对象;
根据切面的通知对象确定切入点,其中,切入点为对切面的通知对象进行拦截的节点;
创建织入信息;
根据切入点将织入信息织入切面的通知对象所在的业务模块。
可选地,预配置的切面功能还配置为用于:
确定目标传输数据;
测试切面的通知对象中目标传输数据的传输路径;
若目标传输数据的传输路径均经过预设的目标路径,则在目标路径的方法执行前确定切入点。
可选地,第二获取模块具体用于:
采用预设定的摘要算法计算密钥池中密钥的摘要信息,其中,优先计算密钥池中生成时间最早的密钥;
每采用摘要算法计算得到一待比对摘要后,将待比对摘要与第一密钥摘要进行字符串匹配;
若待比对摘要与第一密钥摘要的字符串匹配结果为相同,将字符串匹配结果为相同的待比对摘要所对应的密钥作为解密密钥,并停止摘要算法对密钥池中密钥的摘要信息的计算。
可选地,第四获取模块,具体用于:
根据脱敏注解的注释字段确定脱敏类型;
根据脱敏类型从密钥池中筛选得到同种脱敏类型的密钥;
获取第二待处理字段的处理时间戳;
根据第二待处理字段的处理时间戳,按照预设置的时间范围区域,在同种脱敏类型的密钥中随机选取得到一加密密钥,并采用加密密钥对第二待处理字段进行加密,得到密文字段。
在本申请实施例中,首先在处理任务请求的阶段,服务器通过预配置的切面功能拦截请求入参数据,可基于业务层面自动地对含有加密数据的请求入参数据进行拦截;接着在请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段,能够快速从拦截的请求入参数据中确定需要解脱敏处理的数据,并根据第一密钥摘要获取解密密钥,利用该解密密钥得到明文字段,然后再根据明文字段执行任务请求。该处理任务请求的阶段利用切面功能在原本固定执行的业务逻辑中插入拦截功能,能够实现基于业务层面对关键的请求入参数据进行拦截。同理地,在请求返回数据阶段,同样采用该预配置的切面功能拦截请求返回数据,并遍历含有脱敏注释的注释字段,获取第二待处理字段,之后从密钥池中选取一加密密钥对第二待处理字段进行加密,得到密文字段;并将密文字段和第二密钥摘要返回到客户端。本申请中,利用切面功能实现对复杂业务逻辑的解耦,并在业务实现的模块间织入了实现请求入参数据、请求返回数据的拦截功能,开发人员可以做到无感知的方式实现数据的脱敏处理转换和明文字段的获取。相比于业务敏感信息嵌套很深的情况,本申请能够做到对第一待处理字段、第二待处理字段的准确、快速获取,能够提高信息脱敏转换处理的效率。
图3是本申请实施例中一种计算机设备的示意图。
如图3所示,计算机设备110包括处理器111、存储器112以及存储在存储器112中并可在处理器111上运行的计算机可读指令113。处理器111执行计算机可读指令113时实现信息脱敏转换处理方法的各个步骤。
示例性地,计算机可读指令113可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器112中,并由处理器111执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述计算机可读指令113在计算机设备110中的执行过程。
计算机设备110可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,处理器111、存储器112。本领域技术人员可以理解,图3仅仅是计算机设备110的示例,并不构成对计算机设备110的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器111可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器112可以是计算机设备110的内部存储单元,例如计算机设备110的硬盘或内存。存储器112也可以是计算机设备110的外部存储设备,例如计算机设备110上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器112还可以既包括计算机设备110的内部存储单元也包括外部存储设备。存储器112用于存储计算机可读指令以及计算机设备所需的其他程序和数据。存储器112还可以用于暂时地存储已经输出或者将要输出的数据。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例中,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机可读指令来指令相关的硬件来完成,所述的计算机可读指令可存储于一计算机可读存储介质中,该计算机可读指令在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机可读指令包括计算机可读指令代码,所述计算机可读指令代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机可读指令代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现信息脱敏转换处理方法。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (10)
1.一种信息脱敏转换处理方法,其特征在于,包括:
通过预配置的切面功能拦截请求入参数据,其中,所述请求入参数据包括加密数据和第一密钥摘要,所述请求入参数据由客户端发送的任务请求携带;
在所述请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段;
根据所述第一密钥摘要从密钥池中获取解密密钥,并采用所述解密密钥对所述加密数据进行解密,得到明文字段;
根据所述明文字段执行所述任务请求;
所述任务请求执行完成后,通过所述预配置的切面功能拦截请求返回数据;
在所述请求返回数据中遍历含有脱敏注解的注释字段,获取第二待处理字段;
从所述密钥池中选取一加密密钥对所述第二待处理字段进行加密,得到密文字段;
将所述密文字段和第二密钥摘要返回到所述客户端,其中,所述第二密钥摘要由所述加密密钥通过摘要算法计算得到。
2.根据权利要求1所述的方法,其特征在于,所述预配置的切面功能配置为实现如下步骤:
确定切面的通知对象;
根据所述切面的通知对象确定切入点,其中,所述切入点为对所述切面的通知对象进行拦截的节点;
创建织入信息;
根据所述切入点将所述织入信息织入所述切面的通知对象所在的业务模块。
3.根据权利要求2所述的方法,其特征在于,所述根据所述切面的通知对象确定切入点,包括:
确定目标传输数据;
测试所述切面的通知对象中所述目标传输数据的传输路径;
若所述目标传输数据的所述传输路径均经过预设的目标路径,则在所述目标路径的方法执行前确定所述切入点。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一密钥摘要从密钥池中获取解密密钥,包括:
采用预设定的摘要算法计算所述密钥池中密钥的摘要信息,其中,优先计算所述密钥池中生成时间最早的密钥;
每采用所述摘要算法计算得到一待比对摘要后,将所述待比对摘要与所述第一密钥摘要进行字符串匹配;
若所述待比对摘要与所述第一密钥摘要的所述字符串匹配结果为相同,将所述字符串匹配结果为相同的所述待比对摘要所对应的密钥作为所述解密密钥,并停止所述摘要算法对所述密钥池中所述密钥的摘要信息的计算。
5.根据权利要求1所述的方法,其特征在于,从所述密钥池中选取一加密密钥对所述第二待处理字段进行加密,得到密文字段,包括:
根据所述脱敏注解的注释字段确定脱敏类型;
根据所述脱敏类型从所述密钥池中筛选得到同种脱敏类型的密钥;
获取所述第二待处理字段的处理时间戳;
根据所述第二待处理字段的处理时间戳,按照预设置的时间范围区域,在所述同种脱敏类型的密钥中随机选取得到一所述加密密钥,并采用所述加密密钥对所述第二待处理字段进行加密,得到所述密文字段。
6.一种信息脱敏转换处理装置,其特征在于,包括:
第一拦截模块,用于通过预配置的切面功能拦截请求入参数据,其中,所述请求入参数据包括加密数据和第一密钥摘要,所述请求入参数据由客户端发送的任务请求携带;
第一获取模块,用于在所述请求入参数据中遍历含有解脱敏注解的注释字段,获取第一待处理字段;
第二获取模块,用于根据所述第一密钥摘要从密钥池中获取解密密钥,并采用所述解密密钥对所述加密数据进行解密,得到明文字段;
任务请求执行模块,用于根据所述明文字段执行所述任务请求;
第二拦截模块,用于所述任务请求执行完成后,通过所述预配置的切面功能拦截请求返回数据;
第三获取模块,用于在所述请求返回数据中遍历含有脱敏注解的注释字段,获取第二待处理字段;
第四获取模块,用于从所述密钥池中选取一加密密钥对所述第二待处理字段进行加密,得到密文字段;
返回模块,用于将所述密文字段和第二密钥摘要返回到所述客户端,其中,所述第二密钥摘要由所述加密密钥通过摘要算法计算得到。
7.根据权利要求6所述的装置,其特征在于,所述预配置的切面功能配置为用于:
确定切面的通知对象;
根据所述切面的通知对象确定切入点,其中,所述切入点为对所述切面的通知对象进行拦截的节点;
创建织入信息;
根据所述切入点将所述织入信息织入所述切面的通知对象所在的业务模块。
8.根据权利要求7所述的装置,其特征在于,所述预配置的切面功能还配置为用于:
确定目标传输数据;
测试所述切面的通知对象中所述目标传输数据的传输路径;
若所述目标传输数据的所述传输路径均经过预设的目标路径,则在所述目标路径的方法执行前确定所述切入点。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时执行如权利要求1-5任一项所述信息脱敏转换处理方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1-5任一项所述信息脱敏转换处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111560878.7A CN114239026A (zh) | 2021-12-20 | 2021-12-20 | 信息脱敏转换处理方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111560878.7A CN114239026A (zh) | 2021-12-20 | 2021-12-20 | 信息脱敏转换处理方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114239026A true CN114239026A (zh) | 2022-03-25 |
Family
ID=80759096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111560878.7A Pending CN114239026A (zh) | 2021-12-20 | 2021-12-20 | 信息脱敏转换处理方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114239026A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334166A (zh) * | 2022-08-15 | 2022-11-11 | 平安壹钱包电子商务有限公司 | 一种加密机调用方法、装置、设备及存储介质 |
WO2024060630A1 (zh) * | 2022-09-20 | 2024-03-28 | 京东科技信息技术有限公司 | 数据传输管理的方法、数据处理的方法和装置 |
-
2021
- 2021-12-20 CN CN202111560878.7A patent/CN114239026A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115334166A (zh) * | 2022-08-15 | 2022-11-11 | 平安壹钱包电子商务有限公司 | 一种加密机调用方法、装置、设备及存储介质 |
WO2024060630A1 (zh) * | 2022-09-20 | 2024-03-28 | 京东科技信息技术有限公司 | 数据传输管理的方法、数据处理的方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111045756B (zh) | 生成接口服务的方法、装置、计算设备和介质 | |
EP3895049B1 (en) | Utilizing independently stored validation keys to enable auditing of instrument measurement data maintained in a blockchain | |
US20170308712A1 (en) | Automatic Audit Logging of Events in Software Applications Performing Regulatory Workloads | |
US9280665B2 (en) | Fast and accurate identification of message-based API calls in application binaries | |
CN114239026A (zh) | 信息脱敏转换处理方法、装置、计算机设备和存储介质 | |
US9910724B2 (en) | Fast and accurate identification of message-based API calls in application binaries | |
CN109902493B (zh) | 脚本的下发方法及服务器 | |
US20140298107A1 (en) | Dynamic Near Real-Time Diagnostic Data Capture | |
US20210406004A1 (en) | System and method for implementing a code audit tool | |
CN110597877A (zh) | 一种区块链交易处理方法及装置 | |
US20180025162A1 (en) | Application program analysis apparatus and method | |
US11716354B2 (en) | Determination of compliance with security technical implementation guide standards | |
WO2024187902A1 (zh) | 一种模型训练方法、装置、存储介质以及电子设备 | |
CN114116509A (zh) | 程序分析方法、装置、电子设备和存储介质 | |
CN113922952A (zh) | 访问请求响应方法、装置、计算机设备和存储介质 | |
CN116249980A (zh) | 通过异构加密的软件访问 | |
CN110309062B (zh) | 用例生成方法、装置、电子设备及存储介质 | |
KR20170122874A (ko) | 데이터 분산 서비스 기반의 응용 시스템의 통합 로그 관리 장치 | |
KR101979320B1 (ko) | 메타정보 및 엔터프라이즈 프레임웍을 이용한 암호화 sql문 자동 생성 시스템 및 방법 | |
CN115374207A (zh) | 业务处理方法及装置、电子设备和计算机可读存储介质 | |
CN114969832A (zh) | 一种基于无服务器架构的隐私数据管理方法和系统 | |
CN111190824B (zh) | 监测方法、装置、终端设备及存储介质 | |
CN111782678A (zh) | 数据存储方法和装置 | |
CN113783835B (zh) | 一种口令分享方法、装置、设备及存储介质 | |
CN111092883A (zh) | 用户访问记录自动生成方法、装置、网络设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |