一种数据脱敏方法及装置与流程

未命名 08-29 阅读:97 评论:0


1.本技术涉及数据处理技术领域,可以用于金融领域,具体是一种数据脱敏方法及装置。


背景技术:

2.数据脱敏,也叫数据的去隐私化,是在给定脱敏规则和策略的情况下,对敏感数据比如姓名、手机号、银行卡号等信息,进行转换或者修改的一种技术手段,防止敏感数据直接在不可靠的环境下使用。
3.例如,在应用程序编程接口服务中,由于每个具体的应用程序接口的字段不同,由此需要研发人员在服务处理的内部跟进每个字段实现脱敏的处理,对服务业务逻辑处理侵入性较大;此外,一方面,在脱敏过程中,需要找到一个合适的位置和时机进行脱敏,否则很容易导致字段不应该脱敏的情况,例如,有些字段在处理过程中不能进行脱敏,而是在最后输出阶段进行脱敏才能保证逻辑的正确性;另一方面,现有技术一般通过填写匹配数据的正则表达式和匹配成功后的替换值实现脱敏处理,一旦忘记填写或填写错误,则存在数据泄露的问题。


技术实现要素:

4.针对现有技术中的问题,本技术提供数据一种数据脱敏方法及装置,能够使得数据脱敏过程与服务提供方的服务解耦,有效提高脱敏标准的统一。
5.为解决上述技术问题,本技术提供以下技术方案:
6.第一方面,本技术提供一种数据脱敏方法,该方法包括:
7.获取元数据;
8.在所述元数据中,预先定义需要进行脱敏处理的脱敏字段;
9.接收来自服务请求方的请求报文;
10.将所述请求报文发送至服务提供方;
11.接收所述服务提供方响应于所述请求报文的调用所返回的应答报文;
12.在将所述应答报文返回给所述服务请求方之前,确定所述应答报文的字段,并对所述应答报文的字段进行遍历,响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理。
13.将脱敏后的应答报文发送至所述服务请求方。
14.在本实施例的一些可选方式中,所述在所述元数据中,预先定义需要进行脱敏处理的脱敏字段,包括:
15.将所述元数据拆分为多个元数据字段;
16.确定每个元数据字段的字段属性;
17.响应于确定所述元数据字段的字段属性与敏感属性库匹配,将对应的元数据字段标记为需要进行脱敏处理的脱敏字段,其中,所述敏感属性库存储有多个敏感属性,所述敏
感属性包括个人身份信息、财务信息以及地理位置信息。
18.在本实施例的一些可选方式中,所述方法还包括:
19.预先确定所述脱敏字段的白名单;
20.其中,所述响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理,包括:
21.响应于确定所述服务请求方在所述白名单内,对所述应答报文的字段不进行脱敏处理,并直接将所述应答报文发送至所述服务请求方;
22.响应于确定所述服务请求方不在所述白名单内,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理。
23.在本实施例的一些可选方式中,所述预先确定所述脱敏字段的白名单包括:
24.确定所述脱敏字段的敏感属性;
25.根据所述敏感属性,确定所述脱敏字段的授权范围;
26.根据所述授权范围,确定所述脱敏字段的白名单。
27.在本实施例的一些可选方式中,所述根据所述敏感属性,确定所述脱敏字段的授权范围,包括:
28.响应于所述敏感属性为个人身份信息,确定所述脱敏字段的授权范围是对个人身份信息有合法认证的服务请求方;
29.响应于所述敏感属性为财务信息,确定所述脱敏字段的授权范围是对财务信息有合法认证的服务请求方;
30.响应于所述敏感属性为地理位置信息,确定所述脱敏字段的授权范围是对地理位置信息有合法认证的服务请求方。
31.在本实施例的一些可选方式中,所述根据所述授权范围,确定所述脱敏字段的白名单包括:
32.确定落入所述授权范围的服务请求方的名称和地址;
33.将所述落入所述授权范围的服务请求方的名称和地址,作为所述脱敏字段的白名单。
34.第二方面,本技术提供一种数据脱敏装置,该装置包括:
35.获取模块,被配置为获取元数据;
36.预定义模块,被配置为在所述元数据中,预先定义需要进行脱敏处理的脱敏字段;
37.请求报文接收模块,被配置为接收来自服务请求方的请求报文;
38.请求报文发送模块,被配置为将所述请求报文发送至服务提供方;
39.应答报文接收模块,被配置为接收所述服务提供方响应于所述请求报文的调用所返回的应答报文;
40.脱敏处理模块,被配置为在将所述应答报文返回给所述服务请求方之前,确定所述应答报文的字段,并对所述应答报文的字段进行遍历,响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理。
41.应答报文发送模块,被配置为将脱敏后的应答报文发送至所述服务请求方。
42.第三方面,本技术提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述数据脱敏方法的步
骤。
43.第四方面,本技术提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述数据脱敏方法的步骤。
44.第五方面,本技术提供一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现所述数据脱敏方法的步骤。
45.针对现有技术中的问题,本技术提供了一种数据脱敏方法及装置,通过在将应答报文返回给服务请求方之前,对应答报文进行脱敏处理,能够使得数据脱敏过程与服务提供方的服务解耦,从而避免开发人员在服务提供方的内部进行侵入式的脱敏处理,有效实现脱敏标准的统一,提升外部用户体验;同时,通过设置元数据的脱敏字段对应答报文进行遍历,能够确保应答报文中需要脱敏的字段被全覆盖,有效提高数据安全。
附图说明
46.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
47.图1是根据本技术的数据脱敏方法的一个实施例的流程图;
48.图2是根据本技术的数据脱敏方法的一个实施例的流程图;
49.图3是根据本技术的一个实施例的基于api服务应用场景的脱敏方法的示意图;
50.图4是根据本技术的数据脱敏装置的一个实施例的结构示意图;
51.图5是用来实现本技术实施例的数据脱敏方法的电子设备的框图。
具体实施方式
52.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
53.图1示出了本技术一个实施例提供的数据脱敏方法的示意性流程图,如图1所示,该方法包括以下步骤:
54.步骤101、获取元数据;
55.步骤102、在所述元数据中,预先定义需要进行脱敏处理的脱敏字段;
56.步骤103、接收来自服务请求方的请求报文;
57.步骤104、将所述请求报文发送至服务提供方;
58.步骤105、接收所述服务提供方响应于所述请求报文的调用所返回的应答报文;
59.步骤106、在将所述应答报文返回给所述服务请求方之前,确定所述应答报文的字段,并对所述应答报文的字段进行遍历,响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理。
60.步骤107、将脱敏后的应答报文发送至所述服务请求方。
61.本实施例提供的一种数据脱敏方法及装置,通过在将应答报文返回给服务请求方
之前,对应答报文进行脱敏处理,能够使得数据脱敏过程与服务提供方的服务解耦,从而避免开发人员在服务提供方的内部进行侵入式的脱敏处理,以非侵入性的方式提供全面、高效的数据脱敏处理服务,有效实现脱敏标准的统一,提升外部用户体验。同时,通过设置元数据的脱敏字段对应答报文进行遍历,能够确保应答报文中需要脱敏的字段被全覆盖,有效提高数据安全。
62.下面对图1的每个步骤进行详细阐述:
63.步骤101、获取元数据。
64.在本实施例中,元数据包括:数据的基本信息、数据的结构和关系、数据的约束和规则、数据的业务含义和用途以及数据的来源和处理过程,其中:
65.数据的基本信息包括数据的名称、创建者、创建时间、修改时间,以及访问权限等相关信息;数据的结构和关系包括数据的字段、类型、长度以及字段之间的关系等信息;数据的约束和规则,包括数据的取值范围、验证规则、数据类型等信息;数据的业务含义和用途包括数据的定义、使用场景、数据字典等信息;数据的来源和处理过程,包括数据的提取、转换、加载过程以及数据血统等信息。
66.也就是说,元数据是对数据作出描述的信息,存储和管理元数据可以为数据管理者、分析师和应用开发者提供更好的数据理解和数据利用的基础。
67.步骤102、在元数据中,预先定义需要进行脱敏处理的脱敏字段。
68.根据前述步骤201的描述,可知,实际上元数据(matadata)为描述数据的数据,其常规用法为描述数据属性的信息,在数据库领域使用比较广泛,用来支持指示存储位置、历史教据、资源查找、文件记录等功能。
69.然而,在本专利申请中,利用元数据在数据描述上的特点,巧妙地采用元数据进行脱敏的定义,而不是直接定义在具体的数据字段上,相比于现有技术,能较好地减少脱敏的字段定义数量,提升脱敏的普适性。
70.在本实施例的一些可选方式中,在元数据中,预先定义需要进行脱敏处理的脱敏字段,包括:
71.将所述元数据拆分为多个元数据字段;
72.确定每个元数据字段的字段属性;
73.响应于确定所述元数据字段的字段属性与敏感属性库匹配,将对应的元数据字段标记为需要进行脱敏处理的脱敏字段,其中,所述敏感属性库存储有多个敏感属性,所述敏感属性包括个人身份信息、财务信息以及地理位置信息。
74.在一具体示例中,需要进行脱敏处理的敏感属性一般包括:个人身份信息:如姓名、身份证号、社会保障号、银行卡号、电话号码、电子邮箱等。这些信息容易被用于不当用途,如盗用身份;医疗保健信息:如病历、药品处方、疾病诊断等。这些信息由于涉及疾病、病史等敏感信息,容易引起侵犯隐私的担忧;财务信息:如年收入、税务信息、贷款信息、股票投资等。这些信息可能会揭示个人的财务状况和投资策略,需要妥善保护;地址和位置信息:如住所地址、ip地址、gps位置等。这些数据可以用于追踪个人的行踪、工作和生活习惯等,需要保护隐私。这些信息可能会造成歧视和骚扰,需要得到适当的保护。
75.总之,需要进行脱敏处理的数据往往包含个人敏感信息、行为轨迹、财务信息等,这些数据可能会被滥用或泄露,因此需要采取相应的保护措施,使用相应的技术对这些数
据进行加密或者匿名化处理。
76.在现有技术中,一般通过填写匹配数据的正则表达式和匹配成功后的替换值实现脱敏处理,一旦忘记填写或填写错误,则导致应答报文中应该被脱敏的字段未进行脱敏处理,从而存在数据泄露的问题。
77.为此,在本实施例中,在获取到元数据后,在元数据中,预先定义需要进行脱敏处理的脱敏字段,通过设置元数据的脱敏字段对应答报文进行遍历,一旦在应答报文中匹配到与脱敏字段相同的字段,则需要对应答报文的相应字段进行脱敏处理,而无需通过填写匹配数据的正则表达式和匹配成功以后替换的值来实现,能够确保应答报文中需要脱敏的字段被全覆盖,防止敏感数据泄露,有效提高数据安全。
78.同时,本实施例中在元数据中预先设置脱敏字段的方式,相当于站在服务提供方的角度,为其返回的原始应答报文进行脱敏处理,相比于现有技术中,针对不同的服务请求方设置不同的脱敏处理规则而言,本实施例的方法能够有效提高脱敏处理效率和普适性。
79.步骤103、接收来自服务请求方的请求报文。
80.在本实施例中,服务请求方一般指的是提出服务请求的个人或组织,他们需要某种服务或支持,可能是帮助解决问题,提供技术支持,或者是购买某种产品或服务等。请求报文是指由客户端(服务请求方)向服务端(服务提供方)发送的一种包含特定请求的数据包,其包含了客户端(服务请求方)请求的具体内容,例如要访问的页面、需要传输的数据、请求方法等信息。
81.在金融领域中,服务请求方一般是与银行有合作关系的第三方系统,例如,银行的合作方搭建了一个电商平台,需要调用银行的api服务进行账户信息的查询、提交转账支付指令等,则在该应用场景下,服务请求方为电商平台,请求报文包括账户信息请求和转账支付指令请求。
82.步骤104、将请求报文发送至服务提供方。
83.在本实施例中,服务提供方是指应用服务、软件服务或基础架构服务等提供商,服务提供方可以是企业、机构或个人,其提供的服务类型也各不相同。例如,在前述示例中,服务提供方为银行。
84.在本实施例中,可以通过多种方式,将请求报文发送至服务提供方。例如:
85.1、通过web浏览器发送get或post请求:这是最常见的方式,在浏览器地址栏中输入目标url,浏览器就会向服务端(服务提供方)发送一个get或post请求的请求报文。
86.2、通过命令行工具发送http请求:“curl”和“wget”是两个常用的命令行工具,可以用于在命令行中发送http请求报文。
87.3、通过编写应用程序发送请求:开发人员可以使用多种编程语言编写应用程序,并使用相应的http库将请求报文发送至服务提供方。
88.4、通过postman发送请求:postman是一款常用的api开发工具,可以方便地构建和发送请求报文,并查看响应结果。
89.需要说明的是,将请求报文发送至服务提供方的方式取决于需要发送的请求类型和目标服务器支持的协议,本技术对此不做限定。
90.步骤105、接收服务提供方响应于请求报文的调用所返回的应答报文。
91.在本实施例中,应答报文是服务端(服务提供方)向客户端(服务请求方)发送的回
应数据包。它通常包含了客户端请求的结果或者错误信息等响应数据。在前述示例中,应答报文为所请求的账户信息和转账支付指令。
92.在本实施例中,可以通过多种方式接收服务提供方响应于请求报文的调用返回的应答报文,例如:
93.1、在web浏览器中查看应答报文:如果使用web浏览器发送http请求,可以在浏览器中查看服务端返回的应答报文。对于大多数浏览器来说,可以按f12打开开发者工具,在“network”标签页下查看请求和应答报文。
94.2、使用命令行工具查看应答报文:如果使用命令行工具发送http请求,也可以在命令行中查看服务端返回的应答报文。例如,curl命令可以返回完整的http响应报文。
95.3、在编写的应用程序中解析应答报文:当编写应用程序来处理http请求和响应时,需要解析应答报文以处理服务端返回的数据。大多数现代编程语言都提供了相关的http客户端库,这些库通常提供方便的接口来解析应答报文并提取其中的数据。
96.4、使用postman查看应答报文:如果使用postman构建和发送http请求,可以直接使用postman来查看服务端返回的应答报文。
97.需要说明的是,接收服务提供方响应于请求报文的调用所返回的应答报文的方式取决于http协议和应用程序的编写技巧,根据具体的场景和任务,可以选择不同的技术来接收应答报文,本技术对此不做限定。
98.步骤106、在将应答报文返回给服务请求方之前,确定应答报文的字段,并对应答报文的字段进行遍历,响应于确定应答报文的字段与脱敏字段匹配,对应答报文的字段按照预设置的脱敏规则进行脱敏处理。
99.应当理解,服务提供方需要考虑数据隐私和安全问题,并采取必要的措施来保护用户数据的安全。
100.然而,在应用程序编程接口服务中,由于每个具体的应用程序接口的字段不同,由此需要研发人员在服务处理的内部跟进每个字段实现脱敏的处理,对服务业务逻辑处理侵入性较大;此外,在脱敏过程中,需要找到一个合适的位置和时机进行脱敏,否则很容易导致字段不应该脱敏的情况,例如,有些字段在处理过程中不能进行脱敏,而是在最后输出阶段进行脱敏才能保证逻辑的正确性。
101.为此,本实施例中,在已经接收到了服务提供方返回的应答报文(即未在服务提供方内部对应答报文进行脱敏处理)的基础上,在将应答报文返回给服务请求方之前,统一在服务提供方外部对应答报文进行脱敏处理,能够使得数据脱敏过程与服务提供方的服务解耦,从而避免开发人员在服务提供方的内部进行侵入式的脱敏处理。
102.在本实施例中,常见的数据脱敏方式包括:
103.加密:使用对称加密或非对称加密算法,对敏感数据进行加密,并使用密钥或公钥/私钥进行解密。这种方法可以对数据进行密文保护,但需要考虑密钥保护和密钥管理的安全性。
104.哈希:使用哈希函数将敏感数据转换为一个固定长度的字符串,通过比较哈希值来检查数据是否匹配。这种方法可以确保数据的不可逆性,但哈希函数也可以被暴力攻击,因此需要使用冲突不大的哈希函数。
105.脱敏工具:使用专门的脱敏工具,如数据遮蔽软件或脱敏库,可以对数据进行匿名
化、模糊或修剪等处理。这种方法比较方便,但需要确保脱敏算法的有效性和安全性。
106.数据删除:如果数据不再需要,可以直接删除或销毁,以消除安全风险。但在删除前,需要确认数据不再被需要,并在删除后确保无法恢复数据。
107.需要说明的是,数据脱敏需要根据不同数据的敏感程度和使用场景来确定其方法和程度。在实际应用中,需要根据安全需求和风险评估来选择合适的数据处理方式,本技术对此不作限定。
108.在本实施例的一些可选方式中,在将应答报文返回给服务请求方之前,需要确定应答报文的字段,以便对应答报文进行脱敏处理。例如,对应答报文进行数据解析,确认其数据格式和数据类型,一般情况下,支持xml、json两种数据封装格式,获取应答报文中全量业务字段清单,包括字段名称、字段值和字段数据类型等,来确定应答报文的字段。
109.在本实施例中,在确定了应答报文的字段后,轮询对字段逐一判断是否与脱敏字段匹配,如涉及与脱敏字段匹配的字段,则根据相关的脱敏字段预设置的脱敏规则进行脱敏处理,输出脱敏后的字段。
110.需要说明的是,各类脱敏字段的脱敏规则一般存储于脱敏规则库中,以灵活、可配置的方式,保存相关的脱敏规则,并进行脱敏规则的管理。每个脱敏规则,都带有相应的版本号、id、名称、用途等管理信息,其中版本号用以区分同一个脱敏规则的不同版本,利于对脱敏规则进行升级维护。实现上,采用脱敏规则引擎,降低if、else等的规则嵌套和硬编码。
111.此外,脱敏规则库还可以提供元数据的脱敏字段的配置功能,例如,在每个应答报文上线前,通过api开放平台进行脱敏字段的配置和录入,对每一个脱敏字段的类型,进行脱敏规则的设置,并经过相关的架构师进行审核。
112.在本实施例的一些可选方式中,例如,脱敏字段包括姓名字段、身份证号字段和邮箱字段,具体的脱敏规则示例如下:
113.当脱敏字段为姓名字段时,对应答报文的字段按照预设置的脱敏规则进行脱敏处理,包括:
114.响应于确定应答报文的字段为三个汉字以上的姓名,保留第一个汉字和最后一个汉字,中间的一个或多个汉字使用字符*代替;响应于确定应答报文的字段为两个汉字的姓名,保留第一个汉字,第二个汉字使用字符*代替;响应于确定应答报文的字段为一个汉字的姓名,不进行脱敏处理。
115.在一个具体示例中,如“abc”脱敏后为“a*c”,“ab”脱敏后为“a*”,应当理解,一个汉字的姓名几乎不存在,可不脱敏。
116.当脱敏字段为身份证号字段时,对应答报文的字段按照预设置的脱敏规则进行脱敏处理,包括:响应于确定应答报文的字段为15位或18位的身份证号,保留身份证号的前6位和后3位,中间部分使用字符*代替。
117.当脱敏字段为邮箱字段时,对应答报文的字段按照预设置的脱敏规则进行脱敏处理,包括:响应于确定应答报文的字段为邮箱账号@域名,将邮箱账号的一部分使用字符*代替,保留域名。
118.例如,原邮箱地址为abcdefgh@qq.com,其中,abcdefgh为账号,qq.com为域名,最终将原邮箱地址脱敏处理为a******h@qq.com。
119.需要说明的是,在脱敏字段不限于姓名字段、邮箱字段和身份证号字段的基础上,
以上脱敏规则是示例性的,本领域技术人员能够根据脱敏字段的具体类型,预设置对应的脱敏规则,本技术在此不再详述。
120.步骤107、将脱敏后的应答报文至服务请求方。
121.在本实施例中,可以直接将脱敏后的应答报文发送至服务请求方,客户端(服务请求方)可以直接解析api响应并处理返回的数据;为进一步提高数据安全性,还可以对脱敏后的应答报文进行加密后再发送至服务请求方,客户端利用公共密钥或私钥对加密后的应答报文进行解密即可。
122.本实施例提供的一种数据脱敏方法,通过在将应答报文返回给服务请求方之前,对应答报文进行脱敏处理,能够使得数据脱敏过程与服务提供方的服务解耦,从而避免开发人员在服务提供方的内部进行侵入式的脱敏处理,有效实现脱敏标准的统一,提升外部用户体验;同时,通过设置元数据的脱敏字段对应答报文进行遍历,能够确保应答报文中需要脱敏的字段被全覆盖,并按照相应的脱敏规则进行脱敏处理,防止数据泄露,有效提高数据安全。
123.进一步参考图2,其示出了数据脱敏方法的又一个实施例流程。如图2,该方法包括以下步骤:
124.步骤201、获取元数据。
125.在本实施例中,对步骤201的描述参考步骤101,本技术在此不再详述。
126.步骤202、在元数据中,预先定义需要进行脱敏处理的脱敏字段。
127.在本实施例中,对步骤202的描述步骤102,本技术在此不再详述。
128.步骤203、预先确定脱敏字段的白名单。
129.在本实施例中,还可以在脱敏规则库预先设置脱敏字段的白名单,其中,脱敏字段的白名单规定了能够读取该脱敏字段的服务请求方,即当处于白名单内的服务请求方请求获取该脱敏字段时,可对该脱敏字段不进行脱敏处理。白名单一般存储了服务请求方的名称、位置信息等。
130.在本实施例的一些可选方式中,预先确定所述脱敏字段的白名单的步骤包括:确定所述脱敏字段的敏感属性;根据所述敏感属性,确定所述脱敏字段的授权范围;根据所述授权范围,确定所述脱敏字段的白名单。
131.根据前述可知,敏感属性包括个人身份信息、财务信息以及地理位置信息等,其还可以包括医疗保健信息、财务信息以及其他敏感信息。
132.由此,在一具体示例中,根据所述敏感属性,确定所述脱敏字段的授权范围,包括:
133.响应于所述敏感属性为个人身份信息,确定所述脱敏字段的授权范围是对个人身份信息有合法认证的服务请求方,例如,学校、报名网站等,本技术对此不做限定。
134.响应于所述敏感属性为财务信息,确定所述脱敏字段的授权范围是对财务信息有合法认证的服务请求方,例如,银行、征信部门等,本技术对此不做限定。
135.响应于所述敏感属性为地理位置信息,确定所述脱敏字段的授权范围是对地理位置信息有合法认证的服务请求方,例如,导航软件、打车软件等,本技术对此不做限定。
136.在确定了脱敏字段的授权范围后,进一步,根据所述授权范围,确定所述脱敏字段的白名单包括:
137.确定落入所述授权范围的服务请求方的名称和地址;
138.将所述落入所述授权范围的服务请求方的名称和地址,作为所述脱敏字段的白名单。
139.在本实施例中,脱敏字段的白名单中存储有具有授权权限的服务请求方的名称和地址,例如,地理位置、ip地址等。
140.步骤204、接收来自服务请求方的请求报文。
141.在本实施例中,对步骤204的描述参考步骤103,本技术在此不再详述。
142.步骤205、将请求报文发送至服务提供方。
143.在本实施例中,对步骤205的描述参考步骤104,本技术在此不再详述。
144.步骤206、接收服务提供方响应于请求报文的调用所返回的应答报文。
145.在本实施例中,对步骤206的描述参考步骤105,本技术在此不再详述。
146.步骤207、在将应答报文返回给服务请求方之前,确定应答报文的字段。
147.步骤208、对应答报文的字段进行遍历,响应于确定应答报文的字段与脱敏字段匹配,确定服务请求方是否在白名单内。
148.在本实施例中,对步骤207和步骤208的描述参考步骤106,另外,在本实施例中,在对应答报文的字段进行遍历,响应于确定应答报文的字段与脱敏字段进行匹配,为了提高对服务请求方的服务质量,本实施例可以进一步确定服务请求方是否在白名单内。
149.步骤209、响应于确定服务请求方在白名单内,对应答报文的字段不进行脱敏处理,并直接将应答报文发送至服务请求方。
150.在本实施例中,当确定服务请求方在白名单内,对应答报文的字段不进行脱敏处理,并直接将应答报文发送至服务请求方。例如,服务请求方a向服务提供方申请服务,在返回的应答报文中匹配到了需要进行脱敏处理的姓名字段,然而该姓名字段的白名单包括服务请求方a、服务请求方b
……
服务请求方n等,也就是说,服务请求方a在白名单内,此时,对于应答报文中的该姓名字段可以不进行脱敏处理。
151.步骤210、响应于确定服务请求方不在白名单内,对应答报文的字段按照预设置的脱敏规则进行脱敏处理。
152.在本实施例中,当确定服务请求方不在白名单内,对应答报文的字段按照预设置的脱敏规则进行脱敏处理,其中,脱敏处理的方式可以参考对步骤207的描述,本技术在此不再详述。
153.需要说明的是,本实施例可轮询对应答报文中涉及到的脱敏字段均执行步骤208至步骤210的操作,以确保对应答报文中所涉及的脱敏字段进行更加准确的处理,从而使得在白名单内的服务请求方能够按需获取到其所请求的信息,提高服务请求方的使用体验,并避免数据泄露给不在白名单内的服务请求方,有效提高数据安全。
154.步骤211、将脱敏后的应答报文至服务请求方。
155.在本实施例中,对步骤211的描述参考步骤107,本技术对此不再详述。
156.本实施例提供的一种数据脱敏方法,通过在将应答报文返回给服务请求方之前,对应答报文进行脱敏处理,能够使得数据脱敏过程与服务提供方的服务解耦,从而避免开发人员在服务提供方的内部进行侵入式的脱敏处理,有效实现脱敏标准的统一,提升外部用户体验;同时,通过设置元数据的脱敏字段对应答报文进行遍历,能够确保应答报文中需要脱敏的字段被全覆盖,并按照相应的脱敏规则进行脱敏处理;还通过设置脱敏字段的白
名单,使得在白名单内的服务请求方能够按需获取到其所请求的信息,提高服务请求方的使用体验,并避免数据泄露给不在白名单内的服务请求方,有效提高数据安全。
157.参见图3,以api服务的应用场景为例对本方案的方法进行说明:
158.目前银行的api脱敏处理通常都是在后端产品应用按具体的api接口进行硬编码方式实现,即每个具体的api,都需要开发人员跟进逐个字段实现脱敏的处理研发,将接口中存在的账号、户名、备注等字段进行识别敏感信息,并进行脱敏处理,研发成本较大。此外,脱敏处理的难度也比较大。在于api服务要实现数据脱敏,需要研发人员在api服务处理的内部进行按字段的数据脱敏,每个api服务接口的字段不同,因此每个api接口的脱敏处理也不相同,脱敏的处理对api的业务逻辑处理侵入性较大。此外,在脱敏过程中,需要找到一个合适的位置和时机进行脱敏,否则很容易导致字段不应该脱敏的情况,有些字段在处理过程中不能进行脱敏,而是在最后输出阶段进行脱敏才能保证逻辑的正确性。
159.为此,本技术的一个实施例提供了一种外置的脱敏方式,不需要api服务的开发人员在服务的内部进行侵入式的脱敏处理,而是在api服务发布时,进行系统的灵活的参数配置,以非侵入性的方式提供全面、高效的api数据脱敏处理服务,具体的:
160.如图3所示,合作方系统为服务请求方,脱敏装置包括脱敏规则库模块,用于保存数据脱敏的各类规则;脱敏执行器模块,用于截取api服务的应答报文,并调用脱敏函数,对报文全部字段进行数据脱敏处理;以及api连接器模块,用于接收外来的api请求报文,并进行检查通过后转发给下游的应用,此外,应用处理完成后,将api的应答数据返传给外部合作方系统。其中,脱敏执行器是最核心的组成部分,部署在api网关和合作方系统之间,负责截取api服务的应答报文,并调用脱敏模块,对应答报文的全部字段进行数据脱敏处理,通过脱敏处理后,再转发给合作方系统。其中,脱敏规则库是重要的组成部分,是维护和保存具体的脱敏规则的场所,以xml文件的方式保存相应的脱敏规则,在启动整个装置前,需要从数据或者文件读取xml数据,并装载到执行器的内存中,通过内存提升脱敏规则的访问速度。以下对图3的每个结构进行介绍:
161.api连接器:接收合作方系统发来的请求报文,将请求报文转发给api网关后,同步等待后端的服务返回相应的应答报文,根据脱敏规划库的规则,调用脱敏执行器对应答报文的所有信息进行检索,并逐一字段进行脱敏处理,最终将脱敏以后的应答报文返传给合作方系统。
162.脱敏执行器:对报文数据进行解析,支持xml、json两种数据封装格式,获取报文中全量业务字段清单,包括字段名称、字段值和字段数据类型,轮询对业务字段逐一判断是否需要脱敏处理,如涉及脱敏需求的字段,则根据相关的脱敏字段对应的规则逻辑进行脱敏处理,输出脱敏后的字段数据。
163.脱敏规则库:脱敏规则库是保存api服务各类字段的具体脱敏规则,以灵活、可配置的方式,保存相关的规则,并进行规则的管理。每个规则,都带有相应的版本号、id、名称、用途等管理信息,其中版本号用以区分同一个规则的不同版本,利于对规则进行升级维护,避免对存量api的影响。实现上,采用规则引擎,降低if else等的规则嵌套和硬编码。
164.ssl证书卸载模块,支持国密算法、兼容国密与标准https证书卸载服务,证书卸载模块引入支持国密与标准https证书的专用卸载设备。
165.api网关:api网关是api开放平台中的重要组件,负责将请求报文进行安全检查、
对调用方进行身份识别与认证,并调用后台应用的产品api服务进行交易处理。
166.api服务:根据具体业务需求,基于服务框架组合封装了业务功能,服务a、服务b、服务c等,如:银行账户信息的查询服务等。相应的输出信息中可能存在账号、户名(姓名)、手机号、email地址、身份证号等敏感字段,如果相关敏感字段不脱敏处理,会存在涉敏安全风险。
167.基于图3的外置式的api服务脱敏处理方法,具体包括:接收合作方系统发来的经过ssl证书卸载以后的api请求报文;检查规则库是否已经启动,如果没有启动,则将脱敏规则库服务进行启动,为脱敏执行器提供规则和算法服务;将api请求报文转发给api开放平台,api网关接收报文后转发给各后台应用;后台应用处理完以后返回应答报文,对应答报文的全文进行智能搜索,识别敏感字段列表;逐一对敏感字段进行脱敏处理;可选的,报文的脱敏字段元数据保存到脱敏规则库中,脱敏字段主要包括:姓名、邮箱、手机、固定电话,银行卡号、地址、公司开户银行联号、身份证号等;对已脱敏的应答报文进行签名,并返传给合作方系统。
168.区别于现有技术中api服务采用硬编码、内置式的进行脱敏研发,每个api服务都需要研发相应的脱敏逻辑代码,本实施例的api服务可以不关注脱敏的逻辑,专注与业务逻辑的开发,提升了研发的效率;同时,区别于现有技术中api服务的敏感数据脱敏,分布在各个api中分别实现,导致脱敏规则不标准,不统一,本实施例,通过外置式的脱敏装置,作为api开放平台的一部分,可以实现脱敏的标准统一,提升外部用户体验。
169.需要说明的是,本技术提供的数据脱敏方法,可用于金融领域中的api服务场景,也可用于除金融领域之外的任意领域,本技术提供的数据脱敏方法及装置对应用领域和应用场景不做限定。
170.还需要说明的是,本技术技术方案中对数据的获取、存储、使用及处理等均符合法律法规的相关规定。
171.进一步参考图4,作为对上述各图的数据脱敏方法的实现,本公开提供了一种数据脱敏装置的一个实施例,该装置与图1或图2所示的方法实施例相对应。
172.如图4所示,该数据脱敏装置包括:
173.获取模块401,被配置为获取元数据;
174.预定义模块402,被配置为在所述元数据中,预先定义需要进行脱敏处理的脱敏字段;
175.请求报文接收模块403,被配置为接收来自服务请求方的请求报文;
176.请求报文发送模块404,被配置为将所述请求报文发送至服务提供方;
177.应答报文接收模块405,被配置为接收所述服务提供方响应于所述请求报文的调用所返回的应答报文;
178.脱敏处理模块406,被配置为在将所述应答报文返回给所述服务请求方之前,确定所述应答报文的字段,并对所述应答报文的字段进行遍历,响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理。
179.应答报文发送模块407,被配置为将脱敏后的应答报文发送至所述服务请求方。
180.在本实施例的一些可选方式中,预定义模块进一步被配置为:
181.将所述元数据拆分为多个元数据字段;
182.确定每个元数据字段的字段属性;
183.响应于确定所述元数据字段的字段属性与敏感属性库匹配,将对应的元数据字段标记为需要进行脱敏处理的脱敏字段,其中,所述敏感属性库存储有多个敏感属性,所述敏感属性包括个人身份信息、财务信息以及地理位置信息。
184.在本实施例的一些可选方式中,所述装置还包括:
185.预确定模块,被配置为预先确定所述脱敏字段的白名单;
186.其中,脱敏处理模块进一步被配置为:
187.响应于确定所述服务请求方在所述白名单内,对所述应答报文的字段不进行脱敏处理,并直接将所述应答报文发送至所述服务请求方;
188.响应于确定所述服务请求方不在所述白名单内,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理。
189.在本实施例的一些可选方式中,所述预确定模块包括:
190.敏感属性确定单元,被配置为确定所述脱敏字段的敏感属性;
191.授权范围确定单元,被配置为根据所述敏感属性,确定所述脱敏字段的授权范围;
192.白名单确定单元,被配置为根据所述授权范围,确定所述脱敏字段的白名单。
193.在本实施例的一些可选方式中,授权范围确定单元进一步被配置为:
194.响应于所述敏感属性为个人身份信息,确定所述脱敏字段的授权范围是对个人身份信息有合法认证的服务请求方;
195.响应于所述敏感属性为财务信息,确定所述脱敏字段的授权范围是对财务信息有合法认证的服务请求方;
196.响应于所述敏感属性为地理位置信息,确定所述脱敏字段的授权范围是对地理位置信息有合法认证的服务请求方。
197.在本实施例的一些可选方式中,白名单确定单元进一步被配置为:
198.确定落入所述授权范围的服务请求方的名称和地址;
199.将所述落入所述授权范围的服务请求方的名称和地址,作为所述脱敏字段的白名单。
200.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
201.一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行前述实施例的数据脱敏方法。
202.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行前述实施例的数据脱敏方法。
203.一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现前述实施例的数据脱敏方法。
204.图5示出了可以用来实施本公开的实施例的示例电子设备500的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算
装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
205.如图5所示,设备500包括计算单元501,其可以根据存储在只读存储器(rom)502中的计算机程序或者从存储单元508加载到随机访问存储器(ram)503中的计算机程序,来执行各种适当的动作和处理。在ram 503中,还可存储设备500操作所需的各种程序和数据。计算单元501、rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
206.设备500中的多个部件连接至i/o接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
207.计算单元501可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元501的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元501执行上文所描述的各个方法和处理,例如数据脱敏方法。
208.例如,在一些实施例中,数据脱敏方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由rom 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到ram 503并由计算单元501执行时,可以执行上文描述的数据脱敏方法的一个或多个步骤。备选地,在其他实施例中,计算单元501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据脱敏方法。
209.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
210.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
211.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
212.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
213.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
214.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
215.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开的技术方案所期望的结果,本文在此不进行限制。
216.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

技术特征:
1.一种数据脱敏方法,其特征在于,包括:获取元数据;在所述元数据中,预先定义需要进行脱敏处理的脱敏字段;接收来自服务请求方的请求报文;将所述请求报文发送至服务提供方;接收所述服务提供方响应于所述请求报文的调用所返回的应答报文;在将所述应答报文返回给所述服务请求方之前,确定所述应答报文的字段,并对所述应答报文的字段进行遍历,响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理;将脱敏后的应答报文发送至所述服务请求方。2.根据权利要求1所述的方法,其特征在于,所述在所述元数据中,预先定义需要进行脱敏处理的脱敏字段,包括:将所述元数据拆分为多个元数据字段;确定每个元数据字段的字段属性;响应于确定所述元数据字段的字段属性与敏感属性库匹配,将对应的元数据字段标记为需要进行脱敏处理的脱敏字段,其中,所述敏感属性库存储有多个敏感属性,所述敏感属性包括个人身份信息、财务信息以及地理位置信息。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:预先确定所述脱敏字段的白名单;其中,所述响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理,包括:响应于确定所述服务请求方在所述白名单内,对所述应答报文的字段不进行脱敏处理,并直接将所述应答报文发送至所述服务请求方;响应于确定所述服务请求方不在所述白名单内,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理。4.根据权利要求2所述的方法,其特征在于,所述预先确定所述脱敏字段的白名单包括:确定所述脱敏字段的敏感属性;根据所述敏感属性,确定所述脱敏字段的授权范围;根据所述授权范围,确定所述脱敏字段的白名单。5.根据权利要求3所述的方法,其特征在于,所述根据所述敏感属性,确定所述脱敏字段的授权范围,包括:响应于所述敏感属性为个人身份信息,确定所述脱敏字段的授权范围是对个人身份信息有合法认证的服务请求方;响应于所述敏感属性为财务信息,确定所述脱敏字段的授权范围是对财务信息有合法认证的服务请求方;响应于所述敏感属性为地理位置信息,确定所述脱敏字段的授权范围是对地理位置信息有合法认证的服务请求方。6.根据权利要求5所述的方法,其特征在于,所述根据所述授权范围,确定所述脱敏字
段的白名单包括:确定落入所述授权范围的服务请求方的名称和地址;将所述落入所述授权范围的服务请求方的名称和地址,作为所述脱敏字段的白名单。7.一种数据脱敏装置,其特征在于,包括:获取模块,被配置为获取元数据;预定义模块,被配置为在所述元数据中,预先定义需要进行脱敏处理的脱敏字段;请求报文接收模块,被配置为接收来自服务请求方的请求报文;请求报文发送模块,被配置为将所述请求报文发送至服务提供方;应答报文接收模块,被配置为接收所述服务提供方响应于所述请求报文的调用所返回的应答报文;脱敏处理模块,被配置为在将所述应答报文返回给所述服务请求方之前,确定所述应答报文的字段,并对所述应答报文的字段进行遍历,响应于确定所述应答报文的字段与所述脱敏字段匹配,对所述应答报文的字段按照预设置的脱敏规则进行脱敏处理;应答报文发送模块,被配置为将脱敏后的应答报文发送至所述服务请求方。8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6任一项所述的数据脱敏方法的步骤。9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6任一项所述的数据脱敏方法的步骤。10.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至6任一项所述的数据脱敏方法的步骤。

技术总结
本申请提供一种数据脱敏方法及装置,涉及数据处理领域,也可用于金融领域,包括:获取元数据;在所述元数据中,预先定义需要进行脱敏处理的脱敏字段;接收来自服务请求方的请求报文;将请求报文发送至服务提供方;接收服务提供方响应于请求报文的调用所返回的应答报文;在将应答报文返回给服务请求方之前,确定应答报文的字段,并对应答报文的字段进行遍历,响应于确定应答报文的字段与脱敏字段匹配,对应答报文的字段按照预设置的脱敏规则进行脱敏处理。将脱敏后的应答报文发送至服务请求方。本申请能够避免开发人员在服务提供方的内部进行侵入式的脱敏处理,能够确保应答报文中需要脱敏的字段被全覆盖,有效提高数据安全。有效提高数据安全。有效提高数据安全。


技术研发人员:古建新
受保护的技术使用者:中国工商银行股份有限公司
技术研发日:2023.05.31
技术公布日:2023/8/28
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐