CN110210241A - 一种数据脱敏方法和装置 - Google Patents

一种数据脱敏方法和装置 Download PDF

Info

Publication number
CN110210241A
CN110210241A CN201810169170.0A CN201810169170A CN110210241A CN 110210241 A CN110210241 A CN 110210241A CN 201810169170 A CN201810169170 A CN 201810169170A CN 110210241 A CN110210241 A CN 110210241A
Authority
CN
China
Prior art keywords
data
hbase
request
desensitization
data desensitization
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
Application number
CN201810169170.0A
Other languages
English (en)
Other versions
CN110210241B (zh
Inventor
牛家浩
曹其林
张强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201810169170.0A priority Critical patent/CN110210241B/zh
Publication of CN110210241A publication Critical patent/CN110210241A/zh
Application granted granted Critical
Publication of CN110210241B publication Critical patent/CN110210241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据脱敏方法,将分布式计算数据库(Hbase)数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端。本发明还公开了一种数据脱敏的装置、存储介质和信息处理装置。

Description

一种数据脱敏方法和装置
技术领域
本发明涉及数据安全技术领域,尤其涉及一种数据脱敏方法和装置。
背景技术
随着互联网技术的飞速发展,当前社会已进入大数据时代;目前,隐私数据保护遇到了严峻的挑战,数据安全成为重中之重。
数据脱敏可以在不降低安全性的前提下,使原有数据的使用范围和共享对象得以拓展,是大数据环境下最有效的敏感数据保护方法之一。
现有的数据脱敏技术主要针对于关系数据库,通常采用数据脱敏服务器进行数据脱敏;数据脱敏服务器对从数据库获取的数据进行数据脱敏处理,将数据脱敏处理后的数据发送给请求端。
现有数据脱敏技术的主要缺陷和不足包括:
第一、需要专门的数据脱敏服务中间件,即外置的数据脱敏服务器,增加了软硬件成本及复杂度,运维成本高;
第二、数据访问请求和结果数据返回都需要经过数据脱敏服务器,消耗大量网络带宽及计算、存储资源、并发程度不高,效率低;在数据量非常庞大的情况下,通过数据脱敏服务器的方式无法满足高性能数据脱敏的响应时间要求。
因此,如何能精简数据脱敏服务中间件,并提升数据脱敏效率,是亟待解决的问题。
发明内容
有鉴于此,本发明实施例期望提供一种数据脱敏方法和装置,能精简数据脱敏服务中间件,并提升数据脱敏效率。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种数据脱敏方法,所述方法包括:
将分布式计算数据库(Hbase,Hadoop database)数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端。
上述方案中,所述方法还包括:
将所述预设的所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中。
上述方案中,所述Hbase数据请求端对应的数据脱敏策略,包括:
所述Hbase数据请求端对应的数据脱敏算法和/或所述数据脱敏算法的参数列表。
上述方案中,所述对从各所述Hbase分布式处理节点请求得到的数据分别进行数据脱敏处理,包括:
将从所述各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;
对各原数据形式的请求数据分别进行数据脱敏处理;
分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式。
上述方案中,所述采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的数据分别进行数据脱敏处理,包括:
通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;
各所述数据操作指令触发自身对应的钩子函数,各所述钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行数据脱敏处理。
本发明实施例还提供了一种数据脱敏装置,所述装置包括:解析模块、数据脱敏模块和传输模块;其中,
所述解析模块,用于将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
所述数据脱敏模块,用于采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
所述传输模块,用于将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端。
上述发明中,所述数据脱敏模块,具体用于:
将所述预设的所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中;
所述Hbase数据请求端对应的数据脱敏策略,包括:
所述Hbase数据请求端对应的数据脱敏算法和/或所述数据脱敏算法的参数列表。
上述发明中,所述数据脱敏模块,具体用于:
通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;
各所述数据操作指令触发自身对应的钩子函数,各所述钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行脱敏处理;
所述数据脱敏模块,具体用于:
将从所述各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;
对各原数据形式的请求数据分别进行数据脱敏处理;
分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式。
本发明实施例还提供了一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现上述方案中任一种所述数据脱敏方法的步骤。
本发明实施例还提供了一种信息处理装置,包括处理器、存储器及存储在存储器上并能够有所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行上述方案中任一种所述数据脱敏方法的步骤。
本发明实施例所提供的数据脱敏方法和装置,将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端。如此,不需要数据脱敏服务中间件参与数据脱敏,直接在数据库内部就可以进行数据脱敏处理,提升了数据脱敏效率。
附图说明
图1为本发明实施例数据脱敏方法的流程示意图;
图2为本发明实施例Hbase数据脱敏过程数据交互示意图;
图3为本发明实施例Hbase引擎静态加载数据脱敏插件流程示意图;
图4为本发明实施例Hbase执行数据脱敏具体流程示意图;
图5为本发明实施例Hbase支持透明数据脱敏流程示意图;
图6为本发明实施例Phoenix实现数据脱敏的流程示意图;
图7为本发明实施例数据脱敏装置组成结构示意图。
具体实施方式
随着数据库的不断发展,出现了适用于各种场景下的不同类型的数据库,各种数据库具有不同的特点,比如Hbase,基于Hbase的服务端对应有多个分布式处理节点,具有分布式处理能力。本发明实施例正是利用Hbase服务端对应的分布式处理节点架构及其分布式处理能力,来取代现有技术中所使用的数据脱敏服务中间件如数据脱敏服务器,以完成数据脱敏。具体的,本发明实施例基于Hbase的各种应用或客户端直接向Hbase服务端的执行引擎发起数据访问请求,由Hbase服务端的执行引擎利用其分布式处理能力,完成数据脱敏,并将数据脱敏后的请求数据直接返回给应用或客户端,进而提升数据脱敏的效率。
本发明实施例中,将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端。
下面结合实施例对本发明再作进一步详细的说明。
本发明实施例提供的数据脱敏方法,如图1所示,所述方法包括:
步骤101:将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
这里,可以由Hbase服务端进行数据脱敏,所述Hbase服务端包括Hbase分布式节点;所述Hbase数据请求端可以是基于Hbase的各种应用、和/或客户端,和/或应用及客户端对应的用户或用户组等;所述Hbase数据请求端在获取Hbase数据时有不同数据脱敏要求;通常,在从Hbase数据库中发送数据给不同的应用、客户端、用户、和/或用户组时,需要对数据做不同的数据脱敏处理;
所述数据脱敏是指对某些敏感信息通过数据脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护;如身份证号数据脱敏,可以隐含后4位或隐含所有数位,即数据脱敏后4位或数据脱敏所有数位;电话号码数据脱敏,可以隐含中间4位或隐含所有数位,即数据脱敏中间4位或数据脱敏所有数位;
Hbase通过客户端应用程序编程接口(API,Application ProgrammingInterface)或客户端命令等方式向Hbase服务端发送Hbase数据请求信息,从而发起数据请求,客户端在Hbase数据请求信息中会携带Hbase数据请求端的用户名信息等,如此,可以根据所述用户名信息等确定Hbase数据请求端。
Hbase服务端接受客户端的Hbase数据请求信息并进行解析,解析为针对于各Hbase分布式处理节点的Hbase子数据请求信息,然后根据Hbase数据访问流程,将Hbase子数据请求信息分发给各个Hbase分布式处理节点执行具体的逻辑;各个Hbase分布式处理节点的数据处理模块,收到Hbase子数据请求信息,根据请求业务逻辑,获取满足条件的数据集;
实际应用中,Hbase中的Hbase数据请求信息可以包括数据读取或数据扫描请求等;通常分别通过指令Get和Scan等实现。
步骤102:采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
这里,可以针对不同的Hbase数据请求端可以获取数据的敏感度,预先设置与Hbase数据请求端对应的数据脱敏策略;可以在Hbase内部设置针对不同Hbase数据请求端的数据脱敏策略;以上述身份证数据脱敏为例,可以对一个Hbase数据请求端设置数据脱敏后4位,对另一个Hbase数据请求端设置数据脱敏所有数位等;如此,各Hbase数据请求端在Hbase中均设置了各自对应的数据脱敏策略。所述数据脱敏策略可以设置在Hbase的各个分布式处理节点。其中,所述请求数据为Hbase分布式处理节点根据子Hbase数据请求信息在数据库中查询或获取到的数据。
进一步的,可以将所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中;
更进一步的,所述Hbase数据请求端对应的数据脱敏策略可以包括:所述Hbase数据请求端对应的数据脱敏算法和/或及所述数据脱敏算法的参数列表;
具体的,可以在Hbase的授权模块中,扩展Hbase的授权命令,如grant和revoke等接口,实现数据脱敏策略配置;
以Hbase授权命令中分配权限命令grant和收回权限命令revoke为例,现有命令如下:
grant<user><permissions><table><column family><column qualifier>;
revoke<user><table><column family><column qualifier>;
其中,user表示Hbase数据请求端如:用户/用户组,permissions表示权限,table表示表,column family代表列族,column qualifier代表列限定符;
可以在grant和revoke命令扩展该授权模型支持数据脱敏策略,增加<masking_function>和<masking_parameters>;其中,masking_function表示数据脱敏算法名称,masking_parameters表示数据脱敏算法实际参数列表;如脱敏算法名称可以是身份证数据脱敏,数据脱敏算法实际参数可以是预设的字符,用于区分数据脱敏算法的级别,如1表示高优先级,可以数据脱敏后4位,2表示第优先级,可以数据脱敏全部数位;具体命令结构可以采用如下结构:
grant<user><permissions><table><column family><column qualifier><masking_function>masking_parameters>;
revoke<user><permissions><table><column family><column qualifier><masking_function><masking_parameters>;
通过这种模式,即可以实现对资源的授权也可以实现对资源的数据脱敏能力,针对不同权限的Hbase数据请求端可以配置不同的数据脱敏策略。在Hbase中数据脱敏策略控制的粒度可以为为列级别,对同一个列,可以根据场景针对不同的Hbase数据请求端,如用户/用户组,设置不同的数据脱敏策略;如对于身份证列,高权用户可以设置数据脱敏后4位规则,低权用户可以设置全部数据脱敏规则;对于电话号码列,高权用户组可以设置数据脱敏中间4位规则,低权用户组可以设置全部数据脱敏规则。
进行数据脱敏处理时,可以由各Hbase的分布式处理节点进行请求数据的数据脱敏处理并发送数据脱敏后的请求数据;
各个Hbase分布式处理节点通过执行接收到的子Hbase数据请求信息获取满足条件的请求数据后,采用预设的所述Hbase数据请求端对应的数据脱敏策略进行数据脱敏处理,并将数据脱敏后述请求数据发送给所述Hbase数据请求端。
进一步的,可以通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;所述各数据操作指令触发自身对应的钩子函数,所述各钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行数据脱敏处理;
具体的,所述子Hbase数据请求信息可以包含读取操作Get或者扫描操作Scan等;如果是读取操作Get或者扫描操作Scan,则进行对应的操作,读取或扫描满足要求的数据;
所述钩子函数可以采用Hbase的观察者模式协处理器(Observer Coprocessor)处理机制,类似于传统数据库中的触发器,当发生某些事件,如客户端Get操作之后,则有对应于读取操作Get的PostGet钩子函数被调用;Scan操作之后,则有对应于扫描操作Scan的PostScannerNext钩子函数被调用;其中,PostGet钩子函数和PostScannerNext钩子函数分别用于对读取操作Get或者扫描操作Scan获取的请求数据进行数据脱敏处理;
可以基于Hbase的Observer Coprocessor模式的协处理器框架实现数据脱敏插件功能,数据脱敏插件利用RegionObserver提供的数据操纵事件钩子接口PostGet、PostScannerNext接口,在PostGet/PostScannerNext钩子函数中首先可以判断是否需要进行数据脱敏,如果需要数据脱敏,则对获取的每一条记录调用数据脱敏算法,进行数据脱敏处理,实现数据脱敏功能;可以采用人工设定等方式设定是否需要进行数据脱敏。
更进一步的,可以将从各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;对各原数据形式的请求数据分别进行数据脱敏处理;分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式;
具体的,由于Hbase在写入数据时全部须转换成二进制字节(BYTE)流的方式进行内部存储,客户端读取数据时,需要将二进制BYTE流转换成写入时的数据类型;
可以首先将BYTE二进制流转为目标数据类型格式的请求数据,然后调用数据脱敏策略进行数据脱敏处理,在数据脱敏处理后再将目标数据类型转换为BYTE二进制流格式的请求数据,最后发送给Hbase数据请求端。
实际应用中,可以在数据脱敏策略参数中特别指定一个参数代表待数据脱敏处理列的须转换的不同数据类型作为指示标识,在数据脱敏处理前,可以根据所述指示标识,将BYTE二进制流转为目标数据类型格式的数据。
步骤103:将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端;
这里,各Hbase分布式处理节点在各自内部进行请求数据脱敏处理,将数据脱敏处理后得到的处理结果数据直接返回给所述Hbase数据请求端;
如此,摒弃了常用的数据脱敏服务中间件实施数据脱敏的方法,基于Hbase的各种应用或者客户端直接向Hbase服务端执行引擎发起数据访问请求,由Hbase服务端引擎利用其分布式处理能力将数据脱敏后的请求数据直接返回给应用程序或者客户端,从而提高了数据处理的效率,节省了数据脱敏服务器。
下面结合具体示例对本发明产生的积极效果作进一步详细的描述;
实施例1:本发明实施例基于Hbase的Observer Coprocessor模式的协处理器框架,实现数据脱敏插件功能,数据脱敏插件基于RegionObserverr提供客户端的数据操纵事件钩子接口PostGet和/或PostScannerNext接口,在PostGet和/或PostScannerNext等钩子函数中首先调用数据脱敏策略接口判断是否需要进行数据脱敏,如果需要数据脱敏,则对获取的每一条记录调用数据脱敏算法,进行数据脱敏处理,实现数据脱敏功能。其中,PostGet和PostScannerNext分别是对应于读取操作Get和扫描操作Scan的数据脱敏策略钩子函数;
以Hbase的Get操作为例,Hbase数据脱敏方法的数据交互示意图如图2所示,当客户端提交一个Get数据请求时,Hbase会在对RegionServer上的某些Region的HTable进行分布式Get查询,Get获取数据之后会触发调用coprocessorHost的PostGet接口来执行数据脱敏协处理器的接口;
这里,数据脱敏插件可以由Hbase引擎启动时静态加载,Hbase引擎静态加载数据脱敏插件过程如图3所示,可以包括:
步骤301:在hbase-site.xml文件hbase.coprocessor.region.classes参数配置数据脱敏协处理器类名称及位置;
步骤302:修改完配置文件后,需将相应的数据脱敏jar包放入hbase-env.sh中的HbASE CLASSPATH中;
步骤303:重启Hbase服务端引擎,使得数据脱敏协处理器插件功能生效。
本实施例摒弃了数据脱敏服务中间件实施数据脱敏的方法,基于Hbase的各种应用或者客户端直接向Hbase服务端执行引擎发起数据访问请求,由Hbase服务端引擎利用其分布式处理能力将数据脱敏后的请求数据直接返回给应用程序或者客户端,Hbase执行数据脱敏具体流程如图4所示:
步骤410:Hbase通过客户端API或客户端命令等方式直接向Hbase服务端发起数据读取Get或数据扫描Scan请求,客户端在Hbase数据请求信息中会携带访问者自身用户名信息;这里,摒弃了数据脱敏服务中间件实施数据脱敏的方法,不需要数据脱敏服务器中转Hbase数据请求信息;
步骤420:Hbase服务端接受客户端的Hbase数据请求信息并进行解析,然后根据Hbase数据访问流程,将Hbase子数据请求信息分发给各个分布式处理节点执行具体的逻辑;
步骤430:各个分布式处理节点的数据处理模块,收到Hbase子数据请求信息,根据请求业务逻辑,针对读取操作Get或扫描操作Scan,则查询扫描满足要求的数据,获取满足条件的数据集;
步骤440:数据读取Get或数据扫描Scan在获取相应数据后会触发后处理钩子接口调用,Get操作对应PostGet,Scan操作对应PostScannerNext,在接口中实现数据脱敏流程;
PostGet/PostScannerNext中执行如下数据脱敏流程:
步骤441:判断当前是否已开启数据脱敏功能,如果没开启,则进入步骤450;
步骤442:调用数据脱敏策略接口获取当前用户对应Hbase敏感数据的数据脱敏策略;
步骤443:根据当前用户的数据脱敏策略,判断当前请求待访问的列是否需要执行数据脱敏,如果不需要数据脱敏,则进入步骤450;
步骤444:根据获取的用户对应的数据脱敏算法,对结果集中的所有数据逐条数据脱敏处理;
由于Hbase在写入数据时全部须转换成二进制BYTE流的方式进行内部存储,读取数据时客户端也是根据写入时的数据类型进行类型转换。这里,数据脱敏算法的参数中可以指定1个参数代表待数据脱敏处理列的须转换类型作为指示标识,数据脱敏算法首先是根据该标识,将BYTE二进制流转为目标数据类型格式的数据,然后调用数据脱敏处理逻辑进行数据脱敏处理,在数据脱敏处理后再将目标数据类型转换为BYTE二进制流格式的数据;
步骤450:各个分布式处理节点对完成数据脱敏处理的数据进行排序封装等处理,并将数据返回客户端;如此,摒弃了数据脱敏服务中间件实施数据脱敏的方法,不需要数据脱敏服务器中转数据脱敏后的结果数据;
步骤460:客户端获得从各个分布式处理节点的返回结果并进行汇总;
其中,步骤430到步骤450由多个分布式的处理节点并行完成处理,数据脱敏过程也是在数据查询过程中分布式运行,大大提升性能。
实施例2:Hbase支持透明数据脱敏的具体步骤,如图5所示:
步骤501:合规管理员根据行业的合规要求,设置用户/用户组的对应的数据脱敏策略,指定该用户/用户组可访问的数据库的表、列族包含的列的数据脱敏规则;
步骤502:应用程序发起原始的Hbase数据请求信息访问大数据组件Hbase服务进行业务逻辑处理,应用程序的访问请求不需要做任何改变,访问的目标地址仍然指向Hbase服务的URL及端口;
步骤503:当收到客户端Hbase数据请求信息时,对Hbase数据请求信息解析并将Hbase子数据请求信息分发给各个处理节点执行具体的业务逻辑;处理节点收到Hbase子数据请求信息,根据请求业务逻辑判断如果是Get/Scan操作,则扫描并获取满足请求逻辑处理要求的数据,然后触发协处理器后处理插件对应的PostGet/PostScannerNext等操作,对获取的每一条记录执行数据脱敏处理,最后将数据脱敏后的结果在本地处理节点汇总后返回应用程序;
步骤504:应用程序获得从各个分布式执行节点的返回结果并进行汇总,对数据脱敏后的数据进行展示或者其他处理流程。
在上述步骤中,应用程序并不感知数据脱敏过程;并且由于分布式环境下执行数据脱敏处理逻辑,其响应时间能够满足动态及静态数据脱敏场景下的性能要求。
实施例3:Phoenix是构建在Hbase之上的一个结构化查询语言(SQL,StructuredQuery Language)中间件,Phoenix提供了一个客户端可嵌入的java数据库连接(JDBC,JavaDataBase Connectivity)驱动,实现了低延迟的查询Hbase数据;Phoenix实现数据脱敏的具体流程,如图6所示:
步骤601:合规管理员根据行业的合规要求,设置用户/用户组的对应的数据脱敏策略,指定该用户对数据库/表/列族对应的列的数据脱敏规则;
步骤602:应用程序通过Phoenix发起SQL数据访问请求访问;
步骤603:Phoenix查询引擎首先解析SQL,把SQL解析成对应的Hbase的扫描计划,扫描计划中包含一个或多个Hbase Scan,当Phoenix提取结果集时,逐个调度Scan操作向Hbase发起扫描数据请求;
步骤604:Hbase对Hbase数据请求信息解析并将Hbase子数据请求信息分发给各个处理节点执行具体的业务逻辑;处理节点收到Hbase子数据请求信息,根据请求业务逻辑判断如果是Get/Scan操作,则扫描并获取满足请求逻辑处理要求的数据,然后触发协处理器后处理插件对应的PostGet/PostScannerNext等操作,对获取的每一条记录执行数据脱敏处理;
步骤605:Hbase将数据脱敏后的结果在本地处理节点汇总后返回Phoenix;
步骤606:Phoenix对作业进行调度并对结果进行数据类型转换及组装,生成最终结果集。
本发明实施例提供的数据脱敏装置,如图7所示,所述装置包括:解析模块71、数据脱敏模块72和传输模块73;其中,
所述解析模块71,用于将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
这里,可以由Hbase服务端进行数据脱敏,所述Hbase服务端包括Hbase分布式节点;所述Hbase数据请求端可以是基于Hbase的各种应用、和/或客户端,和/或应用及客户端对应的用户或用户组等;所述Hbase数据请求端在获取Hbase数据时有不同数据脱敏要求;通常,在从Hbase数据库中发送数据给不同的应用、客户端、用户、和/或用户组时,需要对数据做不同的数据脱敏处理;
所述数据脱敏是指对某些敏感信息通过数据脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护;如身份证号数据脱敏,可以隐含后4位或隐含所有数位,即数据脱敏后4位或数据脱敏所有数位;电话号码数据脱敏,可以隐含中间4位或隐含所有数位,即数据脱敏中间4位或数据脱敏所有数位;
Hbase通过客户端API或客户端命令等方式向Hbase服务端发送Hbase数据请求信息,从而发起数据请求,客户端在Hbase数据请求信息中会携带Hbase数据请求端的用户名信息等,如此,可以根据所述用户名信息等确定Hbase数据请求端。
Hbase服务端接受客户端的Hbase数据请求信息并进行解析,解析为针对于各Hbase分布式处理节点的Hbase子数据请求信息,然后根据Hbase数据访问流程,将Hbase子数据请求信息分发给各个Hbase分布式处理节点执行具体的逻辑;各个Hbase分布式处理节点的数据处理模块,收到Hbase子数据请求信息,根据请求业务逻辑,获取满足条件的数据集;
实际应用中,Hbase中的Hbase数据请求信息可以包括数据读取或数据扫描请求等;通常分别通过指令Get和Scan等实现。
所述数据脱敏模块72,用于采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
这里,可以针对不同的Hbase数据请求端可以获取数据的敏感度,预先设置与Hbase数据请求端对应的数据脱敏策略;可以在Hbase内部设置针对不同Hbase数据请求端的数据脱敏策略;以上述身份证数据脱敏为例,可以对一个Hbase数据请求端设置数据脱敏后4位,对另一个Hbase数据请求端设置数据脱敏所有数位等;如此,各Hbase数据请求端在Hbase中均设置了各自对应的数据脱敏策略。所述数据脱敏策略可以设置在Hbase的各个分布式处理节点。其中,所述请求数据为Hbase分布式处理节点根据子Hbase数据请求信息在数据库中查询或获取到的数据。
进一步的,可以将所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中;
更进一步的,所述Hbase数据请求端对应的数据脱敏策略可以包括:所述Hbase数据请求端对应的数据脱敏算法和/或及所述数据脱敏算法的参数列表;
具体的,可以在Hbase的授权模块中,扩展Hbase的授权命令,如grant和revoke等接口,实现数据脱敏策略配置;
以Hbase授权命令中分配权限命令grant和收回权限命令revoke为例,现有命令如下:
grant<user><permissions><table><column family><column qualifier>;
revoke<user><table><column family><column qualifier>;
其中,user表示Hbase数据请求端如:用户/用户组,permissions表示权限,table表示表,column family代表列族,column qualifier代表列限定符;
可以在grant和revoke命令扩展该授权模型支持数据脱敏策略,增加<masking_function>和<masking_parameters>;其中,masking_function表示数据脱敏算法名称,masking_parameters表示数据脱敏算法实际参数列表;如脱敏算法名称可以是身份证数据脱敏,数据脱敏算法实际参数可以是预设的字符,用于区分数据脱敏算法的级别,如1表示高优先级,可以数据脱敏后4位,2表示第优先级,可以数据脱敏全部数位;具体命令结构可以采用如下结构:
grant<user><permissions><table><column family><column qualifier><masking_function>masking_parameters>;
revoke<user><permissions><table><column family><column qualifier><masking_function><masking_parameters>;
通过这种模式,即可以实现对资源的授权也可以实现对资源的数据脱敏能力,针对不同权限的Hbase数据请求端可以配置不同的数据脱敏策略。在Hbase中数据脱敏策略控制的粒度可以为为列级别,对同一个列,可以根据场景针对不同的Hbase数据请求端,如用户/用户组,设置不同的数据脱敏策略;如对于身份证列,高权用户可以设置数据脱敏后4位规则,低权用户可以设置全部数据脱敏规则;对于电话号码列,高权用户组可以设置数据脱敏中间4位规则,低权用户组可以设置全部数据脱敏规则。
进行数据脱敏处理时,可以由各Hbase的分布式处理节点进行请求数据的数据脱敏处理并发送数据脱敏后的请求数据;
各个Hbase分布式处理节点通过执行接收到的子Hbase数据请求信息获取满足条件的请求数据后,采用预设的所述Hbase数据请求端对应的数据脱敏策略进行数据脱敏处理,并将数据脱敏后述请求数据发送给所述Hbase数据请求端。
进一步的,可以通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;所述各数据操作指令触发自身对应的钩子函数,所述各钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行数据脱敏处理;
具体的,所述子Hbase数据请求信息可以包含读取操作Get或者扫描操作Scan等;如果是读取操作Get或者扫描操作Scan,则进行对应的操作,读取或扫描满足要求的数据;
所述钩子函数可以采用Hbase的Observer Coprocessor处理机制,类似于传统数据库中的触发器,当发生某些事件,如客户端Get操作之后,则有对应于读取操作Get的PostGet钩子函数被调用;Scan操作之后,则有对应于扫描操作Scan的PostScannerNext钩子函数被调用;其中,PostGet钩子函数和PostScannerNext钩子函数分别用于对读取操作Get或者扫描操作Scan获取的请求数据进行数据脱敏处理;
可以基于Hbase的Observer Coprocessor模式的协处理器框架实现数据脱敏插件功能,数据脱敏插件利用RegionObserver提供的数据操纵事件钩子接口PostGet、PostScannerNext接口,在PostGet/PostScannerNext钩子函数中首先可以判断是否需要进行数据脱敏,如果需要数据脱敏,则对获取的每一条记录调用数据脱敏算法,进行数据脱敏处理,实现数据脱敏功能;可以采用人工设定等方式设定是否需要进行数据脱敏。
更进一步的,可以将从各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;对各原数据形式的请求数据分别进行数据脱敏处理;分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式;
具体的,由于Hbase在写入数据时全部须转换成二进制BYTE流的方式进行内部存储,客户端读取数据时,需要将二进制BYTE流转换成写入时的数据类型;
可以首先将BYTE二进制流转为目标数据类型格式的请求数据,然后调用数据脱敏策略进行数据脱敏处理,在数据脱敏处理后再将目标数据类型转换为BYTE二进制流格式的请求数据,最后发送给Hbase数据请求端。
实际应用中,可以在数据脱敏策略参数中特别指定一个参数代表待数据脱敏处理列的须转换的不同数据类型作为指示标识,在数据脱敏处理前,可以根据所述指示标识,将BYTE二进制流转为目标数据类型格式的数据。
所述传输模块73,用于将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端;
这里,各Hbase分布式处理节点在各自内部进行请求数据脱敏处理,将数据脱敏处理后得到的处理结果数据直接返回给所述Hbase数据请求端;
如此,摒弃了常用的数据脱敏服务中间件实施数据脱敏的方法,基于Hbase的各种应用或者客户端直接向Hbase服务端执行引擎发起数据访问请求,由Hbase服务端引擎利用其分布式处理能力将数据脱敏后的请求数据直接返回给应用程序或者客户端,从而提高了数据处理的效率,节省了数据脱敏服务器。
在实际应用中,所述解析模块71、数据脱敏模块72和传输模块73均可以由Hbase服务端中的CPU、微处理器(MCU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
本发明实施例提供的存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现数据脱敏方法,如图1所示,所述方法包括:
步骤101:将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
这里,可以由Hbase服务端进行数据脱敏,所述Hbase服务端包括Hbase分布式节点;所述Hbase数据请求端可以是基于Hbase的各种应用、和/或客户端,和/或应用及客户端对应的用户或用户组等;所述Hbase数据请求端在获取Hbase数据时有不同数据脱敏要求;通常,在从Hbase数据库中发送数据给不同的应用、客户端、用户、和/或用户组时,需要对数据做不同的数据脱敏处理;
所述数据脱敏是指对某些敏感信息通过数据脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护;如身份证号数据脱敏,可以隐含后4位或隐含所有数位,即数据脱敏后4位或数据脱敏所有数位;电话号码数据脱敏,可以隐含中间4位或隐含所有数位,即数据脱敏中间4位或数据脱敏所有数位;
Hbase通过客户端API或客户端命令等方式向Hbase服务端发送Hbase数据请求信息,从而发起数据请求,客户端在Hbase数据请求信息中会携带Hbase数据请求端的用户名信息等,如此,可以根据所述用户名信息等确定Hbase数据请求端。
Hbase服务端接受客户端的Hbase数据请求信息并进行解析,解析为针对于各Hbase分布式处理节点的Hbase子数据请求信息,然后根据Hbase数据访问流程,将Hbase子数据请求信息分发给各个Hbase分布式处理节点执行具体的逻辑;各个Hbase分布式处理节点的数据处理模块,收到Hbase子数据请求信息,根据请求业务逻辑,获取满足条件的数据集;
实际应用中,Hbase中的Hbase数据请求信息可以包括数据读取或数据扫描请求等;通常分别通过指令Get和Scan等实现。
步骤102:采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
这里,可以针对不同的Hbase数据请求端可以获取数据的敏感度,预先设置与Hbase数据请求端对应的数据脱敏策略;可以在Hbase内部设置针对不同Hbase数据请求端的数据脱敏策略;以上述身份证数据脱敏为例,可以对一个Hbase数据请求端设置数据脱敏后4位,对另一个Hbase数据请求端设置数据脱敏所有数位等;如此,各Hbase数据请求端在Hbase中均设置了各自对应的数据脱敏策略。所述数据脱敏策略可以设置在Hbase的各个分布式处理节点。其中,所述请求数据为Hbase分布式处理节点根据子Hbase数据请求信息在数据库中查询或获取到的数据。
进一步的,可以将所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中;
更进一步的,所述Hbase数据请求端对应的数据脱敏策略可以包括:所述Hbase数据请求端对应的数据脱敏算法和/或及所述数据脱敏算法的参数列表;
具体的,可以在Hbase的授权模块中,扩展Hbase的授权命令,如grant和revoke等接口,实现数据脱敏策略配置;
以Hbase授权命令中分配权限命令grant和收回权限命令revoke为例,现有命令如下:
grant<user><permissions><table><column family><column qualifier>;
revoke<user><table><column family><column qualifier>;
其中,user表示Hbase数据请求端如:用户/用户组,permissions表示权限,table表示表,column family代表列族,column qualifier代表列限定符;
可以在grant和revoke命令扩展该授权模型支持数据脱敏策略,增加<masking_function>和<masking_parameters>;其中,masking_function表示数据脱敏算法名称,masking_parameters表示数据脱敏算法实际参数列表;如脱敏算法名称可以是身份证数据脱敏,数据脱敏算法实际参数可以是预设的字符,用于区分数据脱敏算法的级别,如1表示高优先级,可以数据脱敏后4位,2表示第优先级,可以数据脱敏全部数位;具体命令结构可以采用如下结构:
grant<user><permissions><table><column family><column qualifier><masking_function>masking_parameters>;
revoke<user><permissions><table><column family><column qualifier><masking_function><masking_parameters>;
通过这种模式,即可以实现对资源的授权也可以实现对资源的数据脱敏能力,针对不同权限的Hbase数据请求端可以配置不同的数据脱敏策略。在Hbase中数据脱敏策略控制的粒度可以为为列级别,对同一个列,可以根据场景针对不同的Hbase数据请求端,如用户/用户组,设置不同的数据脱敏策略;如对于身份证列,高权用户可以设置数据脱敏后4位规则,低权用户可以设置全部数据脱敏规则;对于电话号码列,高权用户组可以设置数据脱敏中间4位规则,低权用户组可以设置全部数据脱敏规则。
进行数据脱敏处理时,可以由各Hbase的分布式处理节点进行请求数据的数据脱敏处理并发送数据脱敏后的请求数据;
各个Hbase分布式处理节点通过执行接收到的子Hbase数据请求信息获取满足条件的请求数据后,采用预设的所述Hbase数据请求端对应的数据脱敏策略进行数据脱敏处理,并将数据脱敏后述请求数据发送给所述Hbase数据请求端。
进一步的,可以通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;所述各数据操作指令触发自身对应的钩子函数,所述各钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行数据脱敏处理;
具体的,所述子Hbase数据请求信息可以包含读取操作Get或者扫描操作Scan等;如果是读取操作Get或者扫描操作Scan,则进行对应的操作,读取或扫描满足要求的数据;
所述钩子函数可以采用Hbase的Observer Coprocessor处理机制,类似于传统数据库中的触发器,当发生某些事件,如客户端Get操作之后,则有对应于读取操作Get的PostGet钩子函数被调用;Scan操作之后,则有对应于扫描操作Scan的PostScannerNext钩子函数被调用;其中,PostGet钩子函数和PostScannerNext钩子函数分别用于对读取操作Get或者扫描操作Scan获取的请求数据进行数据脱敏处理;
可以基于Hbase的Observer Coprocessor模式的协处理器框架实现数据脱敏插件功能,数据脱敏插件利用RegionObserver提供的数据操纵事件钩子接口PostGet、PostScannerNext接口,在PostGet/PostScannerNext钩子函数中首先可以判断是否需要进行数据脱敏,如果需要数据脱敏,则对获取的每一条记录调用数据脱敏算法,进行数据脱敏处理,实现数据脱敏功能;可以采用人工设定等方式设定是否需要进行数据脱敏。
更进一步的,可以将从各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;对各原数据形式的请求数据分别进行数据脱敏处理;分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式;
具体的,由于Hbase在写入数据时全部须转换成二进制BYTE流的方式进行内部存储,客户端读取数据时,需要将二进制BYTE流转换成写入时的数据类型;
可以首先将BYTE二进制流转为目标数据类型格式的请求数据,然后调用数据脱敏策略进行数据脱敏处理,在数据脱敏处理后再将目标数据类型转换为BYTE二进制流格式的请求数据,最后发送给Hbase数据请求端。
实际应用中,可以在数据脱敏策略参数中特别指定一个参数代表待数据脱敏处理列的须转换的不同数据类型作为指示标识,在数据脱敏处理前,可以根据所述指示标识,将BYTE二进制流转为目标数据类型格式的数据。
步骤103:将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端;
这里,各Hbase分布式处理节点在各自内部进行请求数据脱敏处理,将数据脱敏处理后得到的处理结果数据直接返回给所述Hbase数据请求端;
如此,摒弃了常用的数据脱敏服务中间件实施数据脱敏的方法,基于Hbase的各种应用或者客户端直接向Hbase服务端执行引擎发起数据访问请求,由Hbase服务端引擎利用其分布式处理能力将数据脱敏后的请求数据直接返回给应用程序或者客户端,从而提高了数据处理的效率,节省了数据脱敏服务器。
本发明实施例提供的信息处理装置,包括处理器、存储器及存储在存储器上并能够有所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行实现数据脱敏方法,如图1所示,所述方法包括:
步骤101:将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
这里,可以由Hbase服务端进行数据脱敏,所述Hbase服务端包括Hbase分布式节点;所述Hbase数据请求端可以是基于Hbase的各种应用、和/或客户端,和/或应用及客户端对应的用户或用户组等;所述Hbase数据请求端在获取Hbase数据时有不同数据脱敏要求;通常,在从Hbase数据库中发送数据给不同的应用、客户端、用户、和/或用户组时,需要对数据做不同的数据脱敏处理;
所述数据脱敏是指对某些敏感信息通过数据脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护;如身份证号数据脱敏,可以隐含后4位或隐含所有数位,即数据脱敏后4位或数据脱敏所有数位;电话号码数据脱敏,可以隐含中间4位或隐含所有数位,即数据脱敏中间4位或数据脱敏所有数位;
Hbase通过客户端API或客户端命令等方式向Hbase服务端发送Hbase数据请求信息,从而发起数据请求,客户端在Hbase数据请求信息中会携带Hbase数据请求端的用户名信息等,如此,可以根据所述用户名信息等确定Hbase数据请求端。
Hbase服务端接受客户端的Hbase数据请求信息并进行解析,解析为针对于各Hbase分布式处理节点的Hbase子数据请求信息,然后根据Hbase数据访问流程,将Hbase子数据请求信息分发给各个Hbase分布式处理节点执行具体的逻辑;各个Hbase分布式处理节点的数据处理模块,收到Hbase子数据请求信息,根据请求业务逻辑,获取满足条件的数据集;
实际应用中,Hbase中的Hbase数据请求信息可以包括数据读取或数据扫描请求等;通常分别通过指令Get和Scan等实现。
步骤102:采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
这里,可以针对不同的Hbase数据请求端可以获取数据的敏感度,预先设置与Hbase数据请求端对应的数据脱敏策略;可以在Hbase内部设置针对不同Hbase数据请求端的数据脱敏策略;以上述身份证数据脱敏为例,可以对一个Hbase数据请求端设置数据脱敏后4位,对另一个Hbase数据请求端设置数据脱敏所有数位等;如此,各Hbase数据请求端在Hbase中均设置了各自对应的数据脱敏策略。所述数据脱敏策略可以设置在Hbase的各个分布式处理节点。其中,所述请求数据为Hbase分布式处理节点根据子Hbase数据请求信息在数据库中查询或获取到的数据。
进一步的,可以将所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中;
更进一步的,所述Hbase数据请求端对应的数据脱敏策略可以包括:所述Hbase数据请求端对应的数据脱敏算法和/或及所述数据脱敏算法的参数列表;
具体的,可以在Hbase的授权模块中,扩展Hbase的授权命令,如grant和revoke等接口,实现数据脱敏策略配置;
以Hbase授权命令中分配权限命令grant和收回权限命令revoke为例,现有命令如下:
grant<user><permissions><table><column family><column qualifier>;
revoke<user><table><column family><column qualifier>;
其中,user表示Hbase数据请求端如:用户/用户组,permissions表示权限,table表示表,column family代表列族,column qualifier代表列限定符;
可以在grant和revoke命令扩展该授权模型支持数据脱敏策略,增加<masking_function>和<masking_parameters>;其中,masking_function表示数据脱敏算法名称,masking_parameters表示数据脱敏算法实际参数列表;如脱敏算法名称可以是身份证数据脱敏,数据脱敏算法实际参数可以是预设的字符,用于区分数据脱敏算法的级别,如1表示高优先级,可以数据脱敏后4位,2表示第优先级,可以数据脱敏全部数位;具体命令结构可以采用如下结构:
grant<user><permissions><table><column family><column qualifier><masking_function>masking_parameters>;
revoke<user><permissions><table><column family><column qualifier><masking_function><masking_parameters>;
通过这种模式,即可以实现对资源的授权也可以实现对资源的数据脱敏能力,针对不同权限的Hbase数据请求端可以配置不同的数据脱敏策略。在Hbase中数据脱敏策略控制的粒度可以为为列级别,对同一个列,可以根据场景针对不同的Hbase数据请求端,如用户/用户组,设置不同的数据脱敏策略;如对于身份证列,高权用户可以设置数据脱敏后4位规则,低权用户可以设置全部数据脱敏规则;对于电话号码列,高权用户组可以设置数据脱敏中间4位规则,低权用户组可以设置全部数据脱敏规则。
进行数据脱敏处理时,可以由各Hbase的分布式处理节点进行请求数据的数据脱敏处理并发送数据脱敏后的请求数据;
各个Hbase分布式处理节点通过执行接收到的子Hbase数据请求信息获取满足条件的请求数据后,采用预设的所述Hbase数据请求端对应的数据脱敏策略进行数据脱敏处理,并将数据脱敏后述请求数据发送给所述Hbase数据请求端。
进一步的,可以通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;所述各数据操作指令触发自身对应的钩子函数,所述各钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行数据脱敏处理;
具体的,所述子Hbase数据请求信息可以包含读取操作Get或者扫描操作Scan等;如果是读取操作Get或者扫描操作Scan,则进行对应的操作,读取或扫描满足要求的数据;
所述钩子函数可以采用Hbase的Observer Coprocessor处理机制,类似于传统数据库中的触发器,当发生某些事件,如客户端Get操作之后,则有对应于读取操作Get的PostGet钩子函数被调用;Scan操作之后,则有对应于扫描操作Scan的PostScannerNext钩子函数被调用;其中,PostGet钩子函数和PostScannerNext钩子函数分别用于对读取操作Get或者扫描操作Scan获取的请求数据进行数据脱敏处理;
可以基于Hbase的Observer Coprocessor模式的协处理器框架实现数据脱敏插件功能,数据脱敏插件利用RegionObserver提供的数据操纵事件钩子接口PostGet、PostScannerNext接口,在PostGet/PostScannerNext钩子函数中首先可以判断是否需要进行数据脱敏,如果需要数据脱敏,则对获取的每一条记录调用数据脱敏算法,进行数据脱敏处理,实现数据脱敏功能;可以采用人工设定等方式设定是否需要进行数据脱敏。
更进一步的,可以将从各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;对各原数据形式的请求数据分别进行数据脱敏处理;分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式;
具体的,由于Hbase在写入数据时全部须转换成二进制BYTE流的方式进行内部存储,客户端读取数据时,需要将二进制BYTE流转换成写入时的数据类型;
可以首先将BYTE二进制流转为目标数据类型格式的请求数据,然后调用数据脱敏策略进行数据脱敏处理,在数据脱敏处理后再将目标数据类型转换为BYTE二进制流格式的请求数据,最后发送给Hbase数据请求端。
实际应用中,可以在数据脱敏策略参数中特别指定一个参数代表待数据脱敏处理列的须转换的不同数据类型作为指示标识,在数据脱敏处理前,可以根据所述指示标识,将BYTE二进制流转为目标数据类型格式的数据。
步骤103:将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端;
这里,各Hbase分布式处理节点在各自内部进行请求数据脱敏处理,将数据脱敏处理后得到的处理结果数据直接返回给所述Hbase数据请求端;
如此,摒弃了常用的数据脱敏服务中间件实施数据脱敏的方法,基于Hbase的各种应用或者客户端直接向Hbase服务端执行引擎发起数据访问请求,由Hbase服务端引擎利用其分布式处理能力将数据脱敏后的请求数据直接返回给应用程序或者客户端,从而提高了数据处理的效率,节省了数据脱敏服务器。
以上所述,仅为本发明的最佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种数据脱敏方法,其特征在于,所述方法包括:
将分布式计算数据库Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述预设的所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中。
3.根据权利要求2所述的方法,其特征在于,所述Hbase数据请求端对应的数据脱敏策略,包括:
所述Hbase数据请求端对应的数据脱敏算法和/或所述数据脱敏算法的参数列表。
4.根据权利要求1所述的方法,其特征在于,所述对从各所述Hbase分布式处理节点请求得到的数据分别进行数据脱敏处理,包括:
将从所述各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;
对各原数据形式的请求数据分别进行数据脱敏处理;
分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的数据分别进行数据脱敏处理,包括:
通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;
各所述数据操作指令触发自身对应的钩子函数,各所述钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行数据脱敏处理。
6.一种数据脱敏装置,其特征在于,所述装置包括:解析模块、数据脱敏模块和传输模块;其中,
所述解析模块,用于将Hbase数据请求端发送的Hbase数据请求信息解析为各Hbase分布式处理节点对应的子Hbase数据请求信息,并将各所述子Hbase数据请求信息发送给各自对应的Hbase分布式处理节点;
所述数据脱敏模块,用于采用预设的所述Hbase数据请求端对应的数据脱敏策略,对从各所述Hbase分布式处理节点请求得到的请求数据分别进行数据脱敏处理;
所述传输模块,用于将各所述请求数据进行数据脱敏处理后的处理结果数据分别发送给所述Hbase数据请求端。
7.根据权利要求6所述的装置,其特征在于,所述数据脱敏模块,具体用于:
将所述预设的所述Hbase数据请求端对应的数据脱敏策略携带于所述Hbase数据请求端对应的授权命令中;
所述Hbase数据请求端对应的数据脱敏策略,包括:
所述Hbase数据请求端对应的数据脱敏算法和/或所述数据脱敏算法的参数列表。
8.根据权利要求6或7所述的装置,其特征在于,所述数据脱敏模块,具体用于:
通过所述各子Hbase数据请求信息各自包含的数据操作指令,分别从各自对应的Hbase分布式处理节点获取所述请求数据;
各所述数据操作指令触发自身对应的钩子函数,各所述钩子函数采用所述Hbase数据请求端对应的数据脱敏策略分别对各自对应的Hbase分布式处理节点获取的所述请求数据进行脱敏处理;
所述数据脱敏模块,具体用于:
将从所述各Hbase分布式处理节点请求得到的二进制形式的请求数据分别复原为原数据形式;
对各原数据形式的请求数据分别进行数据脱敏处理;
分别将各数据脱敏处理后的原数据形式的请求数据转化为二进制形式。
9.一种存储介质,其上存储由可执行程序,其特征在于,所述可执行程序被处理器执行时实现如权利要求1至5任一项所述数据脱敏方法的步骤。
10.一种信息处理装置,包括处理器、存储器及存储在存储器上并能够有所述处理器运行的可执行程序,其特征在于,所述处理器运行所述可执行程序时执行如权利要求1至5任一项所述数据脱敏方法的步骤。
CN201810169170.0A 2018-02-28 2018-02-28 一种数据脱敏方法和装置 Active CN110210241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810169170.0A CN110210241B (zh) 2018-02-28 2018-02-28 一种数据脱敏方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810169170.0A CN110210241B (zh) 2018-02-28 2018-02-28 一种数据脱敏方法和装置

Publications (2)

Publication Number Publication Date
CN110210241A true CN110210241A (zh) 2019-09-06
CN110210241B CN110210241B (zh) 2023-11-21

Family

ID=67778741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810169170.0A Active CN110210241B (zh) 2018-02-28 2018-02-28 一种数据脱敏方法和装置

Country Status (1)

Country Link
CN (1) CN110210241B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143875A (zh) * 2019-12-17 2020-05-12 航天信息股份有限公司 一种基于大数据的数据信息脱敏方法及系统
CN113010904A (zh) * 2021-03-17 2021-06-22 腾讯科技(深圳)有限公司 数据处理方法和装置及电子设备
CN113627535A (zh) * 2021-08-12 2021-11-09 福建中信网安信息科技有限公司 基于数据安全和隐私保护的数据分级分类系统与方法
CN117520020A (zh) * 2024-01-05 2024-02-06 同盾科技有限公司 用于实现隐私计算的数据交互方法、装置、系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092502B1 (en) * 2013-02-25 2015-07-28 Leidos, Inc. System and method for correlating cloud-based big data in real-time for intelligent analytics and multiple end uses
CN106778351A (zh) * 2016-12-30 2017-05-31 中国民航信息网络股份有限公司 数据脱敏方法及装置
CN107403110A (zh) * 2017-08-10 2017-11-28 中国民航信息网络股份有限公司 Hdfs数据脱敏方法及装置
CN107563218A (zh) * 2017-08-23 2018-01-09 北京明朝万达科技股份有限公司 一种基于大数据的数据脱敏方法和Hbase脱敏处理系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092502B1 (en) * 2013-02-25 2015-07-28 Leidos, Inc. System and method for correlating cloud-based big data in real-time for intelligent analytics and multiple end uses
CN106778351A (zh) * 2016-12-30 2017-05-31 中国民航信息网络股份有限公司 数据脱敏方法及装置
CN107403110A (zh) * 2017-08-10 2017-11-28 中国民航信息网络股份有限公司 Hdfs数据脱敏方法及装置
CN107563218A (zh) * 2017-08-23 2018-01-09 北京明朝万达科技股份有限公司 一种基于大数据的数据脱敏方法和Hbase脱敏处理系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111143875A (zh) * 2019-12-17 2020-05-12 航天信息股份有限公司 一种基于大数据的数据信息脱敏方法及系统
CN111143875B (zh) * 2019-12-17 2024-03-08 航天信息股份有限公司 一种基于大数据的数据信息脱敏方法及系统
CN113010904A (zh) * 2021-03-17 2021-06-22 腾讯科技(深圳)有限公司 数据处理方法和装置及电子设备
CN113627535A (zh) * 2021-08-12 2021-11-09 福建中信网安信息科技有限公司 基于数据安全和隐私保护的数据分级分类系统与方法
CN117520020A (zh) * 2024-01-05 2024-02-06 同盾科技有限公司 用于实现隐私计算的数据交互方法、装置、系统
CN117520020B (zh) * 2024-01-05 2024-03-29 同盾科技有限公司 用于实现隐私计算的数据交互方法、装置、系统

Also Published As

Publication number Publication date
CN110210241B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
CN110210241A (zh) 一种数据脱敏方法和装置
CN104573115B (zh) 支持多类型数据库操作的集成接口的实现方法及系统
CN109818937A (zh) 针对安卓权限的控制方法、装置、及存储介质、电子装置
CN102651775B (zh) 基于云计算的多租户共享对象管理的方法、设备及系统
Lazouski et al. Usage control in cloud systems
CN110489417A (zh) 一种数据处理方法及相关设备
CN109936571B (zh) 一种海量数据共享方法、开放共享平台及电子设备
CN107315972B (zh) 一种大数据非结构化文件动态脱敏方法及系统
CN109829287A (zh) Api接口权限访问方法、设备、存储介质及装置
CN106528269B (zh) 轻量级的虚拟机访问控制系统及控制方法
CN112465046B (zh) 海量小文件的人工智能训练的方法、系统、设备及介质
CN110138767B (zh) 事务请求的处理方法、装置、设备和存储介质
CN110502487A (zh) 一种缓存管理方法与装置
Kumar et al. A face recognition method in the IoT for security appliances in smart homes, offices and cities
CN111371809A (zh) 一种基于反向代理架构的服务器及gis服务访问控制方法
CN101197675B (zh) 访问控制列表配置方法及装置
CN107566375B (zh) 访问控制方法和装置
CN113297433A (zh) 一种访问图数据库的方法和系统
CN114244568B (zh) 基于终端访问行为的安全接入控制方法、装置和设备
CN107766707B (zh) 在应用容器引擎中响应用户请求的方法和装置
KR101003095B1 (ko) 다중 접근 개체에 대한 접근제어 방법 및 그 시스템
CN110135184A (zh) 一种静态数据脱敏的方法、装置、设备及存储介质
CN109241727B (zh) 权限设置方法及装置
US20230315886A1 (en) Data use control method and system, electronic device and storage medium
CN106095535B (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
GR01 Patent grant
GR01 Patent grant