CN107315972B - 一种大数据非结构化文件动态脱敏方法及系统 - Google Patents
一种大数据非结构化文件动态脱敏方法及系统 Download PDFInfo
- Publication number
- CN107315972B CN107315972B CN201710404152.1A CN201710404152A CN107315972B CN 107315972 B CN107315972 B CN 107315972B CN 201710404152 A CN201710404152 A CN 201710404152A CN 107315972 B CN107315972 B CN 107315972B
- Authority
- CN
- China
- Prior art keywords
- data
- desensitization
- datanode
- address
- client
- 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.)
- Active
Links
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
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种大数据非结构化文件动态脱敏方法及系统,该系统包括:客户端、中央调度器、脱敏系统以及HDFS;所述客户端向中央调度器发送数据读取指令,并根据从所述中央调度器返回的DataNode地址从脱敏系统所在主机或者HDFS获取数据;所述中央调度器解析数据读取指令,判断是否需要脱敏,如果是,修改获取到的文件数据块的DataNode地址为脱敏系统所在主机地址,将修改过的DataNode地址返回客户端,同时将未修改的DataNode地址发给脱敏系统;所述脱敏系统用于将从DataNode地址获取的数据脱敏后返回给客户端。通过该发明的方案,实现简单,节约成本,透明部署,对已有应用无影响。
Description
技术领域
本发明涉及数据安全领域,具体涉及一种大数据非结构化文件动态脱敏方法及系统。
背景技术
在Hadoop生态体系中,HDFS系统用来存储非结构化数据。在大数据处理系统从海量数据中挖掘价值的同时,一些数据字典、人口信息等存档数据作为数据价值挖掘的重要基础,一经存储就很少改动,HDFS文件是这类数据常见的存储方式。
以基于权限的访问控制,对用户对数据资源的访问做出是或否两种鉴权结论,这种方式难以满足用户多样化的数据使用需求。当访问某类敏感数据的用户仅需要敏感数据的部分内容,而不需要获取安全级别较高的数据内容时,仅靠权限控制模型不能满足这种需求。大数据动态脱敏技术作为权限管控技术的有效补充,称为大数据应用领域的研究热点。
静态脱敏是大数据脱敏一种较为常见的解决方案。其实现思路是通过调用数据存储系统提供的访问API,从原始数据存储库中读取数据,然后将脱敏引擎处理后的数据,写入到一个新的存储库中,如图1所示。
目前采用的HDFS静态脱敏技术主要存在以下缺点:
(1)脱敏一经完成,脱敏数据即固定,如果需要应用其他脱敏规则,必须重新执行脱敏过程。
(2)需要额外的存储库来存储脱敏数据。
(3)不支持动态脱敏规则设置,脱敏规则的变化不能实时反映到脱敏数据上。
发明内容
为解决上述技术问题,本发明提供了一种大数据非结构化文件动态脱敏方法,该方法包括以下步骤:
1)客户端向中央调度器发送数据读取指令;
2)中央调度器解析数据读取指令,判断是否需要脱敏,如果是,修改获取到的文件数据块的DataNode地址为脱敏系统所在主机地址,跳转到步骤3),如果不需要脱敏,则跳转到步骤6);
3)将修改过的DataNode地址返回客户端,同时将未修改的DataNode地址发给脱敏系统;
4)客户端向脱敏系统所在主机请求数据信息;
5)脱敏系统将数据脱敏后返回给客户端,跳转到步骤7);
6)将获取的真实文件数据块的DataNode地址返回客户端,客户端直接从DataNode获取数据;
7)结束。
根据本发明的实施例,优选的,所述步骤2)中,所述中央调度器解析所述数据读取指令,形成三元组:用户、操作、资源。
根据本发明的实施例,优选的,所述步骤2)中,所述中央调度器根据预设规则对所述三元组进行比对,判断是否需要脱敏。
根据本发明的实施例,优选的,所述步骤5)中,所述脱敏系统通过从中央调度器转发来的真实的DataNode地址获取数据信息,将数据脱敏后返回给客户端。
为解决上述技术问题,本发明提供了一种大数据非结构化文件动态脱敏系统,该系统包括:客户端、中央调度器、脱敏系统以及HDFS;
所述客户端向中央调度器发送数据读取指令,并根据从所述中央调度器返回的DataNode地址从脱敏系统所在主机或者HDFS获取数据;
所述中央调度器解析数据读取指令,判断是否需要脱敏,如果是,修改获取到的文件数据块的DataNode地址为脱敏系统所在主机地址,将修改过的DataNode地址返回客户端,同时将未修改的DataNode地址发给脱敏系统,如果不需要脱敏,则将获取的真实文件数据块的DataNode地址返回客户端;
所述脱敏系统用于将从DataNode地址获取的数据脱敏后返回给客户端。
根据本发明的实施例,优选的,根据权利要求5所述的系统,所述HDFS由NameNode服务器和DataNode服务器构成,其中NameNode是主节点,存储文件元数据信息,可以是一个或多个,所述DataNode是从节点,存储实际文件块。
根据本发明的实施例,优选的,还包括一个应用服务器,所述应用服务器连接所述客户端,所述中央调度服务器和所述脱敏服务器为双网卡网关,所述中央调度服务器和所述脱敏服务器分别通过一网卡连接所述应用服务器,同时通过另一网卡与所述NameNode服务器连接。
根据本发明的实施例,优选的,所述中央调度器解析数据读取指令,形成三元组:用户、操作、资源,并根据预设规则对所述三元组进行比对,判断是否需要脱敏。
为解决上述技术问题,本发明提供了一种数据脱敏系统,该系统包括:
地址接收模块,接收中央调度器解析数据读取指令获得的文件数据块的DataNode地址;
数据获取模块,根据文件数据块的DataNode地址,获取数据;
数据脱敏模块,对获取的数据进行脱敏处理;
数据发送模块,根据外部数据读取请求,将经过脱敏处理的数据发送给外部设备。
为解决上述技术问题,本发明提供了一种计算机存储介质,该计算机存储介质存储有计算机指令,当执行所述计算机指令时,执行所述权利要求1-4之一的方法。
通过本发明的技术方案取得了以下技术效果:
1、实现简单,节约成本
只需要修改少量Hadoop源代码即可实现HDFS访问指令截断、脱敏路由和数据脱敏功能,技术门槛低,工作量少,能够有效节约产品开发成本。
2、透明部署,对已有应用无影响
产品以网关形式部署,支持软件部署和软硬一体化部署,不影响已有应用的运行逻辑。
附图说明
图1是现有技术中的数据静态脱敏过程图
图2是本发明的数据动态脱敏过程图
图3是本发明的数据动态脱敏组成框图
具体实施方式
<名词解释>
Hadoop:是一个能够对大量数据进行分布式处理的软件框架,包括HDFS、YARN、MapReduce三部分,其中HDFS是一个分布式文件系统,YRAN是一个分布式资源调度系统、MapReduce是一个分布式编程框架,由Map和Reduce两个原子操作构成。
HDFS:采用主从架构,由NameNode和DataNode两部分构成。其中NameNode是主节点,存储文件元数据信息,可以是一个或多个;DataNode是从节点,存储实际文件块,数量可达上千个。
<本发明的系统构成>
如图2,本发明该系统包括:客户端、中央调度器、脱敏系统以及Hadoop,其中Hadoop包括HDFS;所述客户端向中央调度器发送数据读取指令,并根据从所述中央调度器返回的DataNode地址从脱敏系统所在主机或者HDFS获取数据。所述HDFS由NameNode服务器和DataNode服务器构成,其中NameNode服务器是主节点,存储文件元数据信息,可以是一个或多个,所述DataNode服务器是从节点,存储实际文件块,数量可达上千个。
所述中央调度器解析数据读取指令,从NameNode服务器获得文件数据块的DataNode地址,判断读取的数据是否需要脱敏,如果是,修改获取到的文件数据块的DataNode地址为脱敏系统所在主机地址,将修改过的DataNode地址返回客户端,同时将未修改的DataNode地址发给脱敏系统,如果不需要脱敏,则将获取的真实文件数据块的DataNode地址返回客户端;
所述脱敏系统用于将从DataNode地址获取的数据脱敏后返回给客户端。
该系统还包括一个应用服务器,所述应用服务器连接所述客户端,所述中央调度服务器和所述脱敏服务器为双网卡网关,所述中央调度服务器和所述脱敏服务器分别通过一网卡连接所述应用服务器,同时通过另一网卡与所述NameNode服务器连接。
如图3所示,调度服务器和脱敏服务器物理上都作为网关,分别设置两个网卡,一个连接应用服务器,一个连接NameNode服务器,实现一个反向代理的功能,其中央调度服务器负责截获用户读取数据指令,并按照预设的规则判断此次访问行为相关的数据是否需要脱敏处理,脱敏服务器负责按照中央调度器的指令从DataNode读取数据,完成脱敏动作,并将脱敏后的数据返回应用服务器。
本发明还公开了一种数据脱敏系统,该系统包括:
地址接收模块,接收中央调度器解析数据读取指令获得的文件数据块的DataNode地址。
数据获取模块,根据文件数据块的DataNode地址,获取数据。
数据脱敏模块,对获取的数据进行脱敏处理。
数据发送模块,根据外部数据读取请求,将经过脱敏处理的数据发送给外部设备。
<本发明实施流程>
本发明提供一种在客户端使用JAVA API访问HDFS文件时,对文件内容实现实时动态脱敏的方法。
如图2所示,客户端使用JAVA API访问HDFS文件时需要与大数据中心进行两次数据交互,客户端首先向NameNode节点请求目录信息,获得存储文件数据块的DataNode地址,然后与对应DataNode建立连接获取数据信息。
1)在客户端与HDFS之间设置一个反向代理,接收客户端请求,并将客户端请求转发到HDFS。在反向代理中实现一个中央调度器,用于识别用户请求的数据是否需要脱敏。数据动态脱敏的步骤如下:
2)客户端向中央调度器发送数据读取指令;
3)中央调度器解析用户请求指令,形成(用户,操作,资源)三元组。
4)根据预设规则和三元组比对结果,如果需要脱敏,中央调度器修改获取到的文件数据块的DataNode地址为脱敏系统所在主机地址。
5)中央调度器将修改过的信息返回客户端,同时将未修改的文件数据块的DataNode地址发给脱敏系统。
6)客户端获取数据块地址后向脱敏系统所在主机请求数据信息。
7)脱敏系统通过从中央调度器转发来的真实数据块地址获取数据信息,将数据脱敏后返回给客户端。
8)如果不需要脱敏中央调度器直接将获取的真实数据目录返回客户端,客户端会直接从DataNode获取数据。
<本发明的具体实现过程>
参考图2-3,本发明的具体实现过程如下:
3.2.1中央调度服务器
1)新建一个maven工程,并添加hadoop-hdfs和hadoop-common依赖。
2)新建org.apache.hadoop.hdfs.server.namenode包。
3)拷贝Hadoop源文件中FSNamesystem.java文件到新建包中。
4)在FSNamesystem.java文中,修改getBlockLocations函数,添加自定义脱敏路由规则。新建HDFS客户端并访问NameNode服务器获取保存在一个LocatedBlocks对象中的文件块元数据信息,如果数据需要脱敏,则将Block所在DataNode服务器IP地址都更改为脱敏服务器IP地址,否则直接将LocatedBlocks对象返回。
5)拷贝Hadoop源文件中NameNode.java文件到新建包中。
6)在NameNode.java中,只启动clientRpcServer,不启动serviceRpcSever和httpServer服务。
7)Maven工程打包,并部署在中央调度服务器上。
8)在中央调度服务器上启动自定义的NameNode进程。
9)修改应用服务器上的Hadoop配置文件,将Namenode地址改为HDFS防火墙所在地址。
通过上述步骤,用户通过应用服务器请求HDFS文件时,访问指令会首先经过中央调度服务器,然后经过自定义脱敏路由后,决定是否更改数据块所在服务器地址,从而达到脱敏调度的效果。
3.2.1脱敏服务器
1)新建一个maven工程,并添加hadoop-hdfs和hadoop-common依赖。
2)新建org.apache.hadoop.hdfs.server.datanode包。
3)拷贝Hadoop源文件中DataNode.java和DataXceiver.java文件到新建包中。
4)在DataNode.java只启动数据访问接收服务,不启动数据块上报等其他服务
5)在DataXceiver.java文件中,新建数据读取客户端,从中央调度器发送的消息队列中取出存储数据块的真实DataNode地址,并读取数据。
6)在DataXceiver.java中,将取到的数据执行脱敏,并返回客户端。
7)Maven工程打包,并部署在脱敏服务器上。
通过本发明的技术方案,可以取得以下技术效果:
1、实现简单,节约成本
只需要修改少量Hadoop源代码即可实现HDFS访问指令截断、脱敏路由和数据脱敏功能,技术门槛低,工作量少,能够有效节约产品开发成本。
2、透明部署,对已有应用无影响
产品以网关形式部署,支持软件部署和软硬一体化部署,不影响已有应用的运行逻辑。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应保护在本发明的保护范围之内。
Claims (10)
1.一种大数据非结构化文件动态脱敏方法,该方法包括以下步骤:
1)客户端向中央调度器发送数据读取指令;
2)中央调度器解析数据读取指令,根据解析得到的三元组数据判断是否需要脱敏,如果是,修改获取到的文件数据块的DataNode地址为脱敏系统所在主机地址,跳转到步骤3),如果不需要脱敏,则跳转到步骤6);
3)将修改过的DataNode地址返回客户端,同时将未修改的DataNode地址发给脱敏系统;
4)客户端向脱敏系统所在主机请求数据信息;
5)脱敏系统将数据脱敏后返回给客户端,跳转到步骤7);
6)将获取的真实文件数据块的DataNode地址返回客户端,客户端直接从DataNode获取数据;
7)结束。
2.根据权利要求1所述的方法,所述步骤2)中,所述中央调度器解析所述数据读取指令,形成三元组:用户、操作、资源。
3.根据权利要求1所述的方法,所述步骤2)中,所述中央调度器根据预设规则对所述三元组进行比对,判断是否需要脱敏。
4.根据权利要求1所述的方法,所述步骤5)中,所述脱敏系统通过从中央调度器转发来的真实的DataNode地址获取数据信息,将数据脱敏后返回给客户端。
5.一种大数据非结构化文件动态脱敏系统,该系统包括:客户端、中央调度器、脱敏服务器以及HDFS;
所述客户端向中央调度器发送数据读取指令,并根据从所述中央调度器返回的DataNode地址从脱敏服务器所在主机或者HDFS获取数据;
所述中央调度器解析数据读取指令,根据解析得到的三元组数据判断是否需要脱敏,如果是,修改获取到的文件数据块的DataNode地址为脱敏服务器所在主机地址,将修改过的DataNode地址返回客户端,同时将未修改的DataNode地址发给脱敏服务器,如果不需要脱敏,则将获取的真实文件数据块的DataNode地址返回客户端;
所述脱敏服务器用于将从DataNode地址获取的数据脱敏后返回给客户端。
6.根据权利要求5所述的系统,所述HDFS由NameNode服务器和DataNode服务器构成,其中NameNode服务器是主节点,存储文件元数据信息,所述DataNode服务器是从节点,存储实际文件块。
7.根据权利要求6所述的系统,还包括一个应用服务器,所述应用服务器连接所述客户端,所述中央调度器和所述脱敏服务器为双网卡网关,所述中央调度器和所述脱敏服务器分别通过一网卡连接所述应用服务器,同时通过另一网卡与所述NameNode服务器连接。
8.根据权利要求6所述的系统,所述中央调度器解析数据读取指令,形成三元组:用户、操作、资源,并根据预设规则对所述三元组进行比对,判断是否需要脱敏。
9.一种数据脱敏系统,该系统包括:
地址接收模块,接收中央调度器解析数据读取指令获得的文件数据块的DataNode地址;
数据获取模块,根据文件数据块的DataNode地址,获取数据;
数据脱敏模块,对获取的数据进行脱敏处理;
数据发送模块,根据外部数据读取请求,将经过脱敏处理的数据发送给外部设备;
脱敏判断模块,根据解析得到的三元组数据判断是否需要脱敏。
10.一种计算机存储介质,该计算机存储介质存储有计算机指令,当执行所述计算机指令时,执行所述权利要求1-4之一的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710404152.1A CN107315972B (zh) | 2017-06-01 | 2017-06-01 | 一种大数据非结构化文件动态脱敏方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710404152.1A CN107315972B (zh) | 2017-06-01 | 2017-06-01 | 一种大数据非结构化文件动态脱敏方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107315972A CN107315972A (zh) | 2017-11-03 |
CN107315972B true CN107315972B (zh) | 2019-06-04 |
Family
ID=60182266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710404152.1A Active CN107315972B (zh) | 2017-06-01 | 2017-06-01 | 一种大数据非结构化文件动态脱敏方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107315972B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107832464B (zh) * | 2017-11-28 | 2021-11-23 | 中国银行股份有限公司 | 一种数据漂白方法及装置 |
CN110019377B (zh) * | 2017-12-14 | 2021-10-26 | 中国移动通信集团山西有限公司 | 动态脱敏方法、装置、设备及介质 |
CN108259491B (zh) * | 2018-01-15 | 2021-07-16 | 北京炼石网络技术有限公司 | 用于非结构化数据安全处理的方法、装置及其系统 |
CN109325326B (zh) * | 2018-08-16 | 2022-09-30 | 深圳云安宝科技有限公司 | 非结构化数据访问时的数据脱敏方法、装置、设备及介质 |
CN109284631A (zh) * | 2018-10-26 | 2019-01-29 | 中国电子科技网络信息安全有限公司 | 一种基于大数据的文档脱敏系统及方法 |
CN111488604A (zh) * | 2020-04-07 | 2020-08-04 | 杭州迪普科技股份有限公司 | 数据脱敏系统和数据脱敏方法 |
CN113420328B (zh) * | 2021-06-23 | 2023-04-28 | 鹤壁国立光电科技股份有限公司 | 一种大数据批量共享交换系统 |
CN115114669B (zh) * | 2022-08-23 | 2023-02-10 | 山东双仁信息技术有限公司 | 一种交互内容脱敏方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881224B2 (en) * | 2010-06-24 | 2014-11-04 | Infosys Limited | Method and system for providing masking services |
TWI616762B (zh) * | 2012-12-12 | 2018-03-01 | 財團法人資訊工業策進會 | 動態資料遮罩方法以及資料庫系統 |
CN106503574B (zh) * | 2016-09-13 | 2019-11-05 | 中国电子科技集团公司第三十二研究所 | 区块链安全存储方法 |
CN106529329A (zh) * | 2016-10-11 | 2017-03-22 | 中国电子科技网络信息安全有限公司 | 一种用于大数据的脱敏系统及脱敏方法 |
CN106649587B (zh) * | 2016-11-17 | 2020-06-16 | 国家电网公司 | 一种基于大数据信息系统的高安全性脱敏方法 |
CN106611129A (zh) * | 2016-12-27 | 2017-05-03 | 东华互联宜家数据服务有限公司 | 数据脱敏方法、装置及系统 |
CN106778351B (zh) * | 2016-12-30 | 2020-04-21 | 中国民航信息网络股份有限公司 | 数据脱敏方法及装置 |
CN106599322A (zh) * | 2017-01-03 | 2017-04-26 | 北京网智天元科技股份有限公司 | 数据脱敏的方法及设备 |
-
2017
- 2017-06-01 CN CN201710404152.1A patent/CN107315972B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN107315972A (zh) | 2017-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107315972B (zh) | 一种大数据非结构化文件动态脱敏方法及系统 | |
US11711420B2 (en) | Automated management of resource attributes across network-based services | |
JP6621543B2 (ja) | ハイブリッドアプリケーションの自動更新 | |
TWI682653B (zh) | 短連結解析方法、裝置及設備 | |
US8332520B2 (en) | Web server for managing session and method thereof | |
US10127401B2 (en) | Redacting restricted content in files | |
US20200349221A1 (en) | Declarative and reactive data layer for component-based user interfaces | |
US20080109898A1 (en) | Modular enterprise authorization solution | |
US10922357B1 (en) | Automatically mapping natural language commands to service APIs | |
CN109983431B (zh) | 用于存储设备中的列表检索的系统和方法 | |
US9954880B2 (en) | Protection via webpage manipulation | |
CN110781505B (zh) | 系统构建方法及装置、检索方法及装置、介质和设备 | |
CN114586010A (zh) | 对象存储服务的输出路径中对象过滤代码的按需执行 | |
US10242102B2 (en) | Network crawling prioritization | |
US8352442B2 (en) | Determination of an updated data source from disparate data sources | |
JP2008234140A (ja) | ファイルアクセス先制御装置、その方法及びそのプログラム | |
US9350738B2 (en) | Template representation of security resources | |
Burns et al. | Managing Kubernetes: operating Kubernetes clusters in the real world | |
CN114026822B (zh) | 使用客户端计算进行文档处理 | |
US20230205927A1 (en) | Use of Semantically Segmented Filenames | |
CN110574033B (zh) | 减少多媒体内容传递的远程过程调用 | |
CN112487218A (zh) | 内容处理方法、系统、装置、计算设备和存储介质 | |
US11017032B1 (en) | Document recovery utilizing serialized data | |
US20240184901A1 (en) | Privacy Border For Partially Supervised Computer | |
CN109478143A (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 |