CN110826105A - 一种分布式银行数据脱敏方法及系统 - Google Patents
一种分布式银行数据脱敏方法及系统 Download PDFInfo
- Publication number
- CN110826105A CN110826105A CN201911116450.6A CN201911116450A CN110826105A CN 110826105 A CN110826105 A CN 110826105A CN 201911116450 A CN201911116450 A CN 201911116450A CN 110826105 A CN110826105 A CN 110826105A
- Authority
- CN
- China
- Prior art keywords
- desensitization
- function
- data
- hive
- database
- 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.)
- Granted
Links
- 238000000586 desensitisation Methods 0.000 title claims abstract description 380
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000004519 manufacturing process Methods 0.000 claims abstract description 44
- 230000008569 process Effects 0.000 claims description 19
- 101150073475 tgs1 gene Proteins 0.000 claims description 9
- 230000002441 reversible effect Effects 0.000 abstract description 4
- 238000005336 cracking Methods 0.000 abstract description 3
- 238000007726 management method Methods 0.000 description 7
- 230000006872 improvement Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000011410 subtraction method Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Medical Informatics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种分布式银行数据脱敏方法及系统,该方法包括:定义数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;备份数据库生产环境、Hive生产环境和非结构化文本生产环境下的数据作为数据脱敏源并分别存储在数据库备份库、Hive备份库和非结构化备份库中;在各备份库中创建数据库自定义脱敏函数、Hive自定义脱敏函数和脱敏工具;在数据库备份库中调用数据库自定义脱敏函数或Java脱敏工具,在Hive备份库中调用Hive自定义脱敏函数或Java脱敏工具,在非结构化备份库中调用Java脱敏工具;同时各备份调用函数时还输入脱敏规则参数A和C,或D。本发明可适用于不同数据库、Hive环境及非结构化文本环境,具有数据可逆性追溯和数据不易破解优点。
Description
技术领域
本发明涉及人信息处理领域,尤其涉及一种分布式银行数据脱敏方法及系统。
背景技术
随着银行信息技术的发展,数据中心规模的不断扩大,银行存储的敏感数据也逐渐增多,数据在银行内不同流程的流转过程中,数据安全风险也随之增加。目前对于大多数银行来说,通过线上网银、线下网点在用户注册、开户过程中收集/存储的用户个人信息,包括姓名、手机号、邮箱、身份证号码、住址等,都属于需要保护的敏感信息。而这些敏感信息在银行内部由于业务需要,可能会参与开发测试、数据分析、数据挖掘、大数据报表等环节流程中,这就需要在不同的环节流程中对敏感数据进行数据脱敏,以金融业务需求主导,根据不同场景进行全部敏感信息处理或者部分敏感信息处理。
在敏感数据的实际处理过程中,涉及到结构化数据/大数据留存数据/非结构化数据等多种数据形态,而目前市面上安全厂商提供的安全产品,如单独对数据库进行脱敏的数据库脱敏系统,如单独对文本进行脱敏的系统等,往往一套产品无法满足多场景的适用,也无法满足Hive等新兴场景的数据留存与非结构化数据的关联关系,也无法做到一个银行内所有数据的脱敏规则统一化和关联化
鉴于银行数据安全的重要性,而当前市面上脱敏产品/方案存在适用场景不全、目标数据支持种类不全等缺陷,亟待研发设计出一种在银行内不同场景下通用的分布式数据脱敏系统。
发明内容
本发明的目的旨在解决上述问题,从而提供一种分布式银行数据脱敏方法及系统。
为实现上述目的,在第一方面,本发明提供了一种分布式银行数据脱敏方法,该方法包括如下步骤:
定义数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;
备份数据库生产环境、Hive生产环境和非结构化文本生产环境下的数据作为数据脱敏源并分别存储在数据库备份库、Hive备份库和非结构化备份库中;
在数据库备份库、Hive备份库和非结构化备份库中分别根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具创建数据库自定义脱敏函数、Hive自定义脱敏函数和脱敏工具;
在数据库备份库中调用数据库自定义脱敏函数或Java脱敏工具,并向数据库自定义脱敏函数或Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在数据库备份库中;
在Hive备份库中调用Hive自定义脱敏函数或Java脱敏工具,并向Hive自定义脱敏函数或Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在Hive备份库中;
在非结构化备份库中调用Java脱敏工具,并向Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在非结构化备份库中;
其中,A为初始随机输入参数,A的值为任意正整数;C为过程输入参数,C的值可选0或1;D为初始随机输入参数,D的值为2020~2120。
进一步地,所述脱敏规则参数A,C,D的值由脱敏管理平台输入。
进一步地,所述数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具包括客户名称函数、证件号码函数、电话号码函数、邮箱函数、地址信息函数、客户编号函数、密码函数、账号信息函数和客户或员工收入信息函数。
进一步地,所述数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具采用对位固定值替换算法、非逻辑位取余运算算法和逻辑位对位和不变算法中的一种或两种或三种方式生成。
更进一步地,所述非逻辑位取余运算生成的脱敏函数中输入脱敏规则参数A和C,所述逻辑位对位和不变算法生成的脱敏函数中输入脱敏规则参数D。
进一步地,所述数据库自定义脱敏函数通过update语句调用,并通过该语句更新脱敏源数据;所述Hive自定义脱敏函数通过hadoop的MapReduce语句调用,并通过该语句更新脱敏源数据;所述Java脱敏工具通过shell语句执行java-jar pimt.jar A C D input_file_path>pimt.out调用,并通过该语句更新脱敏源数据。
进一步地,所述在调用数据库自定义脱敏函数、Hive自定义脱敏函数或Java脱敏工具无法执行数据脱敏时,则将不符合规则的待脱敏数据全部替换err开头的数字递增字符串。
在第二方面,本发明还提供了一种分布式银行数据脱敏系统,该系统包括:脱敏函数定义单元、数据库备份库、Hive备份库、非结构化备份库和脱敏管理平台;
所述脱敏函数定义单元,用以定义数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;
所述数据库备份库,用以备份数据库生产环境的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用创建的数据库自定义脱敏函数和Java脱敏工具;以及更新脱敏源数据以获取脱敏后数据并保存;
所述Hive备份库,用以备份Hive生产环境的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用Hive自定义脱敏函数或Java脱敏工具;以及更新脱敏源数据以获取脱敏后数据并保存;
所述非结构化备份库,用以备份非结构化文本生产环境下的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用Java脱敏工具,以及更新脱敏源数据以获取脱敏后数据并保存;
所述脱敏管理平台,用以向所述数据库备份库、Hive备份库、非结构化备份库调用的数据库脱敏函数或Java脱敏工具或Hive脱敏函数中输入脱敏规则参数A和C,或D,其中,A为初始随机输入参数,A的值为任意正整数;C为过程输入参数,C的值可选0或1;D为初始随机输入参数,D的值为2020~2120。
进一步地,所述数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具采用对位固定值替换算法、逻辑位对位和不变算法非逻辑位取余运算算法中的一种或两种或三种方式生成。
进一步地,所述数据库生产环境的数据、Hive生产环境和非结构化文本生产环境下的数据包括客户名称、证件号码、电话号码、邮箱、地址信息、客户编号、密码、账号信息和客户或员工收入信息。
本发明提出的分布式银行数据脱敏方法采用分布式多环境部署装,可适用于不同数据库、Hive环境及非结构化文本环境,具有数据可逆性追溯,不影响数据原有的有效性校验,不同环境下保持数据关联性的特点,并可根据需要灵活变更脱敏后的数据,具有数据不易破解,提高数据维护和共享安全性的优点。
附图说明
图1为本发明实施例提供的分布式银行数据脱敏系统的结构框图;
图2为本发明实施例提供的非逻辑位取余运算算法运算流程图;
图3为本发明实施例提供的分布式银行数据脱敏方法的流程图;
图4为本发明实施例提供的数据库生产环境下的数据脱敏流程图;
图5为本发明实施例提供的Hive生产环境下的数据脱敏流程图;
图6为本发明实施例提供的非结构化文本生产环境下的数据脱敏流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。需要说明的是,附图仅为示例性说明,并未按照严格比例绘制,而且其中可能有为描述便利而进行的局部放大、缩小,对于公知部分结构亦可能有一定缺省。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。需要说明的是,附图仅为示例性说明,并未按照严格比例绘制,而且其中可能有为描述便利而进行的局部放大、缩小,对于公知部分结构亦可能有一定缺省。
图1为本发明实施例提供的分布式银行数据脱敏系统的结构框图。
如图1所示,本发明实施例提供的一种分布式银行数据脱敏系统,包括:脱敏函数创建单元1、数据库备份库2、Hive备份库3、非结构化备份库4和脱敏管理平台5。
脱敏函数定义单元1,主要负责定义数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具。
数据库备份库2,用以备份数据库生产环境的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用创建的数据库自定义脱敏函数和Java脱敏工具;以及更新脱敏源数据以获取脱敏后数据并保存。
Hive备份库3,主要负责备份Hive生产环境的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用Hive自定义脱敏函数或Java脱敏工具;以及更新脱敏源数据以获取脱敏后数据并保存。
非结构化备份库4,主要负责备份非结构化文本生产环境下的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用Java脱敏工具,以及更新脱敏源数据以获取脱敏后数据并保存。
脱敏管理平台5,主要负责向所述数据库备份库、Hive备份库、非结构化备份库调用的数据库脱敏函数或Java脱敏工具或Hive脱敏函数中输入脱敏规则参数A和C,或D,其中,A为初始随机输入参数,A的值为任意正整数;C为过程输入参数,C的值可选0或1;D为初始随机输入参数,D的值为2020~2120。
数据库生产环境、Hive生产环境和非结构化文本生产环境下的数据包括但不限于客户名称、证件号码、电话号码、Email、地址信息、客户编号、密码、客户或员工收入信息等,见下方表1。
表1
数据库自定义脱敏函数适应于不同的数据库类型,包括Mysql,Oracle,SqlServer,DB2等。Hive自定义脱敏函数适应于Hive中存储保留的历史数据。Java脱敏工具适应于非结构化数据,如办公文档、文本、XML、HTML、各类报表等。数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具包括客户名称函数、证件号码函数、电话号码函数、邮箱函数、地址信息函数、客户编号函数、密码函数、账号信息函数和客户或员工收入信息函数等。数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具采用对位固定值替换算法、逻辑位对位和不变算法和逻辑位取余运算算法中的一种或两种或三种生成。
对位固定值替换算法,使用场景为客户名称、邮箱、地址信息、密码、个人网址等敏感数据存在处,并且同一个字段内的数据不存在相互关联对输入类型无校验,那么可以将敏感数据直接进行替换为固定值、固定长度的特定数据,从而实现用户信息脱敏。逻辑位对位和不变算法,使用场景为证件号码,如身份证号码等,由于身份证号码的编码规则限制,系统在对身份证号码输入时,会进行合理性校验(如无法出现身份证号码中部分数字为19801563的类似情况),故保证不重复的情况下,不能使用随机性的对位替换算法;则使用对位总和不变的减法进行运算,如身份证信息的第7至10位,用某特定值减去对应位得出的值,作为替换值写入相应对位。非逻辑位取余运算算法,使用场景为手机号码、客户编号、身份证号码、账号信息等处,无特定编码规则限制,则使用对位固定运算法则。
具体地,上述的客户名称函数、邮箱函数、地址信息函数、密码函数、个人网址函数采用对位固定值替换算法生成。客户编号函数、账号信息函数使用非逻辑位取余运算算法生成。电话号码函数采用对位固定值替换算法(固定电话)和非逻辑位取余算法(移动电话)生成。证件号码函数采用对位固定值替换算法(对公的组织机构代码、工商注册号和纳税人识别号等)、非逻辑位取余算法和逻辑位对位和不变算法(对私:身份证号、护照号、港澳通行证、户口簿、军官证等)生成。
其中,非逻辑位取余运算算法生成的脱敏函数中输入脱敏规则参数A和C,逻辑位对位和不变算法生成的脱敏函数中输入脱敏规则参数D。对位固定值替换算法生成的脱敏函数不输人脱敏规则参数。图2和表2示意了非逻辑位取余运算算法生成的脱敏函数中输入脱敏规则参数A和C。
表2
如图2和表2所示,表2中第二列数字原始数位为0,1,2,3,4,5,6,7,8,9,即对应图2中a0,a1,a2,a3,a4,a5,a6,a7,a8,a9的值,a0=0,a1=1,a2=2,a3=3,a4=4,a5=5,a6=6,a7=7,a8=8,a9=9。脱敏规则输入参数A=5,C=0或C=1,a0至a9经过图2中取余运输b=MOD((a*2^(A+3)),9)后得到表2中第四列数字,0,4,8,3,7,2,6,1,5,0,即图2中b’0,b’1,b’2,b’3,b’4,b’5,b’6,b’7,b’8,b’9。b’0=0,b’1=4,b’2=8,b’3=3,b’4=7,b’5=2,b’6=6,b’7=1,b’8=5,b’9=0,然后将b’0至b’9与a0至a9进行比较,判断二者之间相同的值有几个,如果大于3个,则执行A++Print,继续取余运算,直到得出的数位与原始数位相同的数量小于3个。若小于3个,如本实施例表2中第二列与第四列对比下来只有第一个相同,满足条件,可执行下一步骤,判断C的值,即判断是否进行变种。
关于是否变种的说明:在非逻辑位取余运算时,公共函数留有C入口为过程输入参数,C在非逻辑位取余运算中体现为是否对运算中间量结果进行偏移替换,如果C输入为1即进行变种,进行b’0与a9的替换,如果C输入为0即不进行变种,进行b’9与a9的替换,从而增加脱敏算法随机性,保证唯一可回溯性。即C的值可保证取余得到的值b’0至b’9中没有重复的值,使脱敏后的值唯一,即能够保证脱敏完成后的值与原值是唯一对应的,可以进行可逆/回溯运算。
数据库备份库2、Hive备份库3、非结构化备份库4中的脱敏源数据,客户名称、证件号码、电话号码、Email、地址信息、客户编号、密码、客户或员工收入信息等通过数据库自定义脱敏函数或Hive自定义脱敏函数或Java脱敏工具形成的数据可参考如下表3。
表3
图3为本发明实施例提供的分布式银行数据脱敏方法的流程图。
在步骤301中,定义数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具。
在步骤302中,备份数据库生产环境、Hive生产环境和非结构化文本生产环境下的数据作为数据脱敏源并分别存储在数据库备份库、Hive备份库和非结构化备份库中。
在步骤303中,在数据库备份库、Hive备份库和非结构化备份库中分别根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具。
在步骤304中,在数据库备份库中调用数据库自定义脱敏函数或Java脱敏工具,并向数据库自定义脱敏函数或Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在数据库备份库中。
在步骤305中,在Hive备份库中调用Hive自定义脱敏函数或Java脱敏工具,并向Hive自定义脱敏函数或Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在Hive备份库中。
在步骤306中,在非结构化备份库中调用Java脱敏工具,并向Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在非结构化备份库中。
其中,脱敏规则参数A,C,D的值由脱敏管理平台进行统一下发或统一分配人工抽取。A为初始随机输入参数,A的值为任意正整数;C为过程输入参数,C的值可选0或1;D为初始随机输入参数,D的值为2020~2120。
应当理解,本发明实施例中还可先执行步骤303,再执行步骤302,即先在备份库中创建脱敏函数,再进行脱敏源的数据备份。
本发明实施例中数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具包括客户名称函数nameMark()、证件号码函数idMark()、电话号码函数telMark()、邮箱函数mailMark()、地址信息函数addMark()、客户编号函数numberMark()、密码函数passMark()、账号信息函数accountMark()和客户或员工收入信息函数incomeMark()。数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具采用对位固定值替换算法、非逻辑位取余运算算法和逻辑位对位和不变算法中的一种或两种或三种方式生成。非逻辑位取余运算生成的脱敏函数中输入脱敏规则参数A和C,逻辑位对位和不变算法生成的脱敏函数中输入脱敏规则参数D。
数据库自定义脱敏函数适应于不同的数据库类型,包括Mysql,Oracle,SqlServer,DB2等,使用数据库自定义脱敏函数的方式进行入库执行,创建数据库自定义脱敏函数,通过update语句调用数据库自定义脱敏函数,对数据库备份库中的不同数据表进行脱敏,而后可进行数据库数据迁移,供不同业务流程使用。以某一数据库入库执行为例,通过update语句调用数据库自定义脱敏函数如下:
update AA set AA.id_code=idMark(AA.id_code)--身份证号码
update AA set AA.mobile=telMark(AA.mobile)--电话号码
update AA set AA.cust_name=nameMark(AA.cust_name)--姓名信息
update AA set AA.mail=mailMark(AA.mail)--邮箱信息
update AA set AA.passwd=passMark(AA.passwd)--密码信息
对于不同的数据库类型,包括Mysql,Oracle,SqlServer,DB2等,还可使用数据库导出成文本文件的方式,通过java脱敏工具,进行文本转换脱敏,而后供不同业务流程使用。
Hive自定义脱敏函数适应于Hive环境中存储保留的历史数据,使用Hive自定义脱敏函数的方式进行入库执行,创建Hive自定义脱敏函数,通过hadoop的MapReduce语句调用Hive自定义脱敏函数,对Hive备份库中的不同数据表进行脱敏,而后供大数据报表制作等不同业务流程使用。Hive环境中存储保留的历史数据还可使用Java脱敏工具进行脱敏。
Java脱敏工具适应于不同的数据库类型、Hive环境中存储保留的历史数据和非结构化文本环境中的数据。Java脱敏工具通过Java编写,通过shell语句执行java-jarpimt.jar A C D input_file_path>pimt.out调用,并通过该语句更新脱敏源数据。
此外,由于生产环境内的数据的写入不可避免的会存在数据质量问题,比如AA.id_code字段内填充了非身份证号码信息,而脱敏算法是基于对确定字段执行的,这样就可能会出现脱敏函数无法执行而报错退出的情况。因此,为了使得脱敏能够正常进行,本发明实施例在调用数据库自定义脱敏函数、Hive自定义脱敏函数或Java脱敏工具无法执行数据脱敏时,则将不符合规则的待脱敏数据全部替换err开头的数字递增字符串。
图4为本发明实施例提供的数据库生产环境下的数据脱敏流程图。
如图4所示,以生产环境Oracle数据库举例,假设需要对生产数据库Oracle中的身份证号码321081199102027816、手机号18805197306进行脱敏并提取,步骤如下:
在步骤401中,备份生产环境Oracle数据库中的身份证号码321081199102027816、手机号18805197306为脱敏源存储在数据库备份库中。
在步骤402中,在数据备份库中创建数据库自定义脱敏函数,idmark(),telMark()。
在步骤403中,调用idmark(),telMark()函数。
在步骤404中,取参数值A=5,C=0,D=2020。
在步骤405中,对待脱敏身份证号码321081199102027816执行update语句updateAA set AA.id_code=idMark(AA.id_code),获取脱敏后身份证号321081192911301545;对待脱敏手机号18805197306执行update语句update AA set AA.mobile=telMark(AA.mobile),获取脱敏后手机号18892401396。
在步骤406中,将获取脱敏后的身份证号321081192911301545和手机号18892401396保存在数据库备份库中。
图5为本发明实施例提供的Hive生产环境下的数据脱敏流程图。
如图5所示,以Hive生产环境举例,假设需要对Hive生产环境中的身份证号码321081199102027816、手机号18805197306,步骤如下:
在步骤501中,备份Hive生产环境中的身份证号码321081199102027816、手机号18805197306,存储在Hive备份库中;
在步骤502中,在Hive备份库中创建Hive自定义脱敏函数,idmark(),telMark();
在步骤503中,调用idmark(),telMark()函数;
在步骤504中,取参数值A=5,C=0,D=2020;
在步骤505中,对待脱敏身份证号码321081199102027816执行MapReduce语句MapReduce AA set AA.id_code=idMark(AA.id_code),获取脱敏后身份证号321081192911301545;对待脱敏手机号18805197306执行MapReduce语句MapReduce AA setAA.mobile=telMark(AA.mobile),获取脱敏后手机号18892401396。
在步骤506中,将获取脱敏后的身份证号321081192911301545和手机号18892401396保存在Hive备份库中。
图6为本发明实施例提供的非结构化文本生产环境下的数据脱敏流程图。
如图6所示,以非结构化文本生产环境FTP中存放的txt文件举例,假设需要对txt中的身份证号码321081199102027816、手机号18805197306,步骤如下:
在步骤601中,备份非结构化文本生产环境FTP中txt中的身份证号码321081199102027816、手机号18805197306,存储在非结构化备份库中。
在步骤602中,在非结构化备份库中创建java脱敏工具DataMask.java,java脱敏工具DataMask.java包括各种脱敏函数,如证件号码函数idmark()、电话号码函数telMark()以及其它函数。
在步骤603中,调用java脱敏工具DataMask.java。
在步骤604中,取参数值A=5,C=0,D=2020。
在步骤605中,对待脱敏身份证号码321081199102027816执行java程序,执行方式为shell语句执行java-jar pimt.jar 5 0 2020input_file_path>pimt.out,获取脱敏后身份证号321081192911301545;对待脱敏手机号18805197306执行java程序,执行方式为shell语句执行java-jar pimt.jar 5 0 2020input_file_path>pimt.out,获取脱敏后手机号18892401396。
在步骤606中,将获取脱敏后的身份证号321081192911301545和手机号18892401396的txt文件保存在非结构化备份库。
综上,本发明提供一种分布式银行数据脱敏方法及系统具有如下优点:
1.采用分布式多环境部署装,可适用于不同数据库、Hive环境及非结构化文本环境,具有数据可逆性追溯,不影响数据原有的有效性校验,不同环境下保持数据关联性的特点,并可根据需要灵活变更脱敏后的数据,具有数据不易破解,提高数据维护和共享安全性的优点。
2.采用数据库自定义函数,Hive自定义函数,java脱敏工具的方式分布式执行脱敏过程,可应用于银行内不同的数据存放场景,衔接银行业不同的业务需求,综合适用性强;
3.具有较强的保密性,拥有A,C,D不同的可控参数选择,并由信息安全部进行定期维护,脱敏后的数据应用于不同场景中,较难以被破解还原;
4.具有较强通配性,银行的数据不断丰富,敏感数据可能分散在成千上万张表和字段中,根据定义好的全局脱敏对象,不同业务系统或流程可根据自己需要选取需要脱敏的字段信息;
5.脱敏内容具有可逆性回溯,由于脱敏算法具有的可逆性,可根据业务场景需要,如故障排查、业务分析等,可将脱敏后的字段信息还原为真实字段信息,以形成真实的分析结果;
6.保持了原有的数据关联性,由于不同系统、不同业务流程间使用同一套脱敏规则进行脱敏,脱敏后的结果也能满足业务系统的数据关联特征,表内、表外、文件间的数据调用关系保持不变,良好应对全行内核心系统与各外围配套系统的联调配套测试需求。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种分布式银行数据脱敏方法,其特征在于,包括如下步骤:
定义数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;
备份数据库生产环境、Hive生产环境和非结构化文本生产环境下的数据作为数据脱敏源并分别存储在数据库备份库、Hive备份库和非结构化备份库中;
在数据库备份库、Hive备份库和非结构化备份库中分别根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具创建数据库自定义脱敏函数、Hive自定义脱敏函数和脱敏工具;
在数据库备份库中调用数据库自定义脱敏函数或Java脱敏工具,并向数据库自定义脱敏函数或Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在数据库备份库中;
在Hive备份库中调用Hive自定义脱敏函数或Java脱敏工具,并向Hive自定义脱敏函数或Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在Hive备份库中;
在非结构化备份库中调用Java脱敏工具,并向Java脱敏工具输入脱敏规则参数A和C,或D,更新脱敏源数据,获取脱敏后数据并保存在非结构化备份库中;
其中,A为初始随机输入参数,A的值为任意正整数;C为过程输入参数,C的值可选0或1;D为初始随机输入参数,D的值为2020~2120。
2.根据权利要求1所述的一种分布式银行数据脱敏方法,其特征在于,所述脱敏规则参数A,C,D的值由脱敏管理平台输入。
3.根据权利要求1所述的一种分布式银行数据脱敏方法,其特征在于,所述数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具包括客户名称函数、证件号码函数、电话号码函数、邮箱函数、地址信息函数、客户编号函数、密码函数、账号信息函数和客户或员工收入信息函数。
4.根据权利要求1或3所述的一种分布式银行数据脱敏方法,其特征在于,所述数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具采用对位固定值替换算法、非逻辑位取余运算算法和逻辑位对位和不变算法中的一种或两种或三种方式生成。
5.根据权利要求4所述的一种分布式银行数据脱敏方法,其特征在于,所述非逻辑位取余运算生成的脱敏函数中输入脱敏规则参数A和C,所述逻辑位对位和不变算法生成的脱敏函数中输入脱敏规则参数D。
6.根据权利要求1所述的一种分布式银行数据脱敏方法,其特征在于,所述数据库自定义脱敏函数通过update语句调用,并通过该语句更新脱敏源数据;所述Hive自定义脱敏函数通过hadoop的MapReduce语句调用,并通过该语句更新脱敏源数据;所述Java脱敏工具通过shell语句执行java-jar pimt.jar A C D input_file_path>pimt.out调用,并通过该语句更新脱敏源数据。
7.根据权利要求1所述的一种分布式银行数据脱敏方法,其特征在于,所述在调用数据库自定义脱敏函数、Hive自定义脱敏函数或Java脱敏工具无法执行数据脱敏时,则将不符合规则的待脱敏数据全部替换err开头的数字递增字符串。
8.根据权利要求1所述的一种分布式银行数据脱敏系统,其特征在于,包括:脱敏函数定义单元、数据库备份库、Hive备份库、非结构化备份库和脱敏管理平台;
所述脱敏函数定义单元,用以定义数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;
所述数据库备份库,用以备份数据库生产环境的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用创建的数据库自定义脱敏函数和Java脱敏工具;以及更新脱敏源数据以获取脱敏后数据并保存;
所述Hive备份库,用以备份Hive生产环境的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用Hive自定义脱敏函数或Java脱敏工具;以及更新脱敏源数据以获取脱敏后数据并保存;
所述非结构化备份库,用以备份非结构化文本生产环境下的数据作为数据脱敏源;并根据定义的数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具分别创建数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具;和调用Java脱敏工具,以及更新脱敏源数据以获取脱敏后数据并保存;
所述脱敏管理平台,用以向所述数据库备份库、Hive备份库、非结构化备份库调用的数据库脱敏函数或Java脱敏工具或Hive脱敏函数中输入脱敏规则参数A和C,或D,其中,A为初始随机输入参数,A的值为任意正整数;C为过程输入参数,C的值可选0或1;D为初始随机输入参数,D的值为2020~2120。
9.根据权利要求8所述的一种分布式银行数据脱敏系统,其特征在于,所述数据库自定义脱敏函数、Hive自定义脱敏函数和Java脱敏工具采用对位固定值替换算法、逻辑位对位和不变算法非逻辑位取余运算算法中的一种或两种或三种方式生成。
10.根据权利要求8所述的一种分布式银行数据脱敏系统,其特征在于,所述数据库生产环境的数据、Hive生产环境和非结构化文本生产环境下的数据包括客户名称、证件号码、电话号码、邮箱、地址信息、客户编号、密码、账号信息和客户或员工收入信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911116450.6A CN110826105B (zh) | 2019-11-15 | 2019-11-15 | 一种分布式银行数据脱敏方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911116450.6A CN110826105B (zh) | 2019-11-15 | 2019-11-15 | 一种分布式银行数据脱敏方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110826105A true CN110826105A (zh) | 2020-02-21 |
CN110826105B CN110826105B (zh) | 2021-11-12 |
Family
ID=69555389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911116450.6A Active CN110826105B (zh) | 2019-11-15 | 2019-11-15 | 一种分布式银行数据脱敏方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110826105B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274610A (zh) * | 2020-01-21 | 2020-06-12 | 京东数字科技控股有限公司 | 一种数据脱敏方法、装置及脱敏服务平台 |
CN112116973A (zh) * | 2020-09-17 | 2020-12-22 | 山东健康医疗大数据有限公司 | 一种对个人健康医疗数据的系统化脱敏方法 |
CN112732489A (zh) * | 2021-01-11 | 2021-04-30 | 上海上讯信息技术股份有限公司 | 基于数据库虚拟化的数据脱敏的方法及设备 |
CN112861185A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 基于Hive数据仓库的数据自动变形传输方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275965A1 (en) * | 2012-04-11 | 2013-10-17 | International Business Machines Corporation | Control of java resource runtime usage |
CN106339942A (zh) * | 2016-08-31 | 2017-01-18 | 国信优易数据有限公司 | 一种金融信息处理方法和系统 |
CN107403111A (zh) * | 2017-08-10 | 2017-11-28 | 中国民航信息网络股份有限公司 | Hive数据脱敏方法及装置 |
CN109284631A (zh) * | 2018-10-26 | 2019-01-29 | 中国电子科技网络信息安全有限公司 | 一种基于大数据的文档脱敏系统及方法 |
CN109522740A (zh) * | 2018-10-16 | 2019-03-26 | 易保互联医疗信息科技(北京)有限公司 | 健康数据的去隐私化处理方法及系统 |
CN109713785A (zh) * | 2019-03-06 | 2019-05-03 | 江苏苏宁银行股份有限公司 | 一种银行数据中心分布式ups供电系统及其供电方法 |
CN109977690A (zh) * | 2017-12-28 | 2019-07-05 | 中国移动通信集团陕西有限公司 | 一种数据处理方法、装置和介质 |
-
2019
- 2019-11-15 CN CN201911116450.6A patent/CN110826105B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130275965A1 (en) * | 2012-04-11 | 2013-10-17 | International Business Machines Corporation | Control of java resource runtime usage |
CN106339942A (zh) * | 2016-08-31 | 2017-01-18 | 国信优易数据有限公司 | 一种金融信息处理方法和系统 |
CN107403111A (zh) * | 2017-08-10 | 2017-11-28 | 中国民航信息网络股份有限公司 | Hive数据脱敏方法及装置 |
CN109977690A (zh) * | 2017-12-28 | 2019-07-05 | 中国移动通信集团陕西有限公司 | 一种数据处理方法、装置和介质 |
CN109522740A (zh) * | 2018-10-16 | 2019-03-26 | 易保互联医疗信息科技(北京)有限公司 | 健康数据的去隐私化处理方法及系统 |
CN109284631A (zh) * | 2018-10-26 | 2019-01-29 | 中国电子科技网络信息安全有限公司 | 一种基于大数据的文档脱敏系统及方法 |
CN109713785A (zh) * | 2019-03-06 | 2019-05-03 | 江苏苏宁银行股份有限公司 | 一种银行数据中心分布式ups供电系统及其供电方法 |
Non-Patent Citations (3)
Title |
---|
XUEFU ZHANG: "Hive Decimal Precision/Scale Support", 《网页在线公开:FILE:///C:/USERS/%E6%99%B4YYR/DOWNLOADS/HIVE_DECIMAL_PRECISION_SCALE_SUPPORT.PDF》 * |
李鹏等: "民航重要信息系统旅客敏感数据的脱敏技术研究", 《现代信息科技》 * |
苏树鹏: "基于Hadoop的大数据解决方案的设计及应用", 《河池学院学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111274610A (zh) * | 2020-01-21 | 2020-06-12 | 京东数字科技控股有限公司 | 一种数据脱敏方法、装置及脱敏服务平台 |
CN112116973A (zh) * | 2020-09-17 | 2020-12-22 | 山东健康医疗大数据有限公司 | 一种对个人健康医疗数据的系统化脱敏方法 |
CN112732489A (zh) * | 2021-01-11 | 2021-04-30 | 上海上讯信息技术股份有限公司 | 基于数据库虚拟化的数据脱敏的方法及设备 |
CN112861185A (zh) * | 2021-03-31 | 2021-05-28 | 中国工商银行股份有限公司 | 基于Hive数据仓库的数据自动变形传输方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110826105B (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110826105B (zh) | 一种分布式银行数据脱敏方法及系统 | |
US8069053B2 (en) | Systems and methods for de-identification of personal data | |
CN106599713A (zh) | 一种基于大数据的数据库脱敏系统及方法 | |
US10055600B2 (en) | Analysis and specification creation for web documents | |
US7672967B2 (en) | Method and system for obfuscating data structures by deterministic natural data substitution | |
CN110781515A (zh) | 一种静态数据脱敏方法及脱敏装置 | |
US11386224B2 (en) | Method and system for managing personal digital identifiers of a user in a plurality of data elements | |
CN111061833A (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN113626865A (zh) | 一种防止泄露敏感信息的数据共享开放方法及系统 | |
CN113158233B (zh) | 数据预处理方法、装置及计算机存储介质 | |
JP6582277B1 (ja) | ブロックチェーン履歴蓄積システム及びブロックチェーン履歴蓄積方法 | |
US20230014318A1 (en) | System and method using zero knowledge proofs for alert sharing | |
CN116541372A (zh) | 一种数据资产治理方法及系统 | |
CN116340989A (zh) | 一种数据脱敏方法、装置、电子设备及存储介质 | |
CN110879808A (zh) | 一种信息处理方法和装置 | |
US20230107191A1 (en) | Data obfuscation platform for improving data security of preprocessing analysis by third parties | |
US20220019687A1 (en) | Systems for and methods of data obfuscation | |
CN110941957A (zh) | 交通科技数据标引方法及系统 | |
US11722324B2 (en) | Secure and accountable execution of robotic process automation | |
US8037109B2 (en) | Generation of repeatable synthetic data | |
CN116450745A (zh) | 基于多设备的笔记文件操作方法、系统和可读存储介质 | |
CN115048673A (zh) | 一种日志掩码方法及装置 | |
CN114238273A (zh) | 数据库管理方法、装置、设备及存储介质 | |
RU2821442C1 (ru) | Способ автоматического анализа выгрузок из баз данных | |
WO2023228188A1 (en) | A sensitive variable identifying system and method |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: No.4 building, Hexi Financial City, Jianye District, Nanjing City, Jiangsu Province, 210000 Patentee after: Jiangsu Sushang Bank Co.,Ltd. Country or region after: China Address before: No.4 building, Hexi Financial City, Jianye District, Nanjing City, Jiangsu Province, 210000 Patentee before: JIANGSU SUNING BANK Co.,Ltd. Country or region before: China |