CN104852922B - 基于分布式文件系统的大数据加解密方法 - Google Patents
基于分布式文件系统的大数据加解密方法 Download PDFInfo
- Publication number
- CN104852922B CN104852922B CN201510274970.5A CN201510274970A CN104852922B CN 104852922 B CN104852922 B CN 104852922B CN 201510274970 A CN201510274970 A CN 201510274970A CN 104852922 B CN104852922 B CN 104852922B
- Authority
- CN
- China
- Prior art keywords
- encryption
- back end
- file system
- distributed file
- password
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于分布式文件系统的大数据加解密方法,包括如下步骤:a)在分布式文件系统中的每个数据节点配置相同的加密协议和密码;b)在每个数据节点对文件块流数据进行本地存储时,先根据该数据节点配置的加密协议和密码,对流数据进行加密,加密完成后再写到磁盘上;c)在每个数据节点对文件块流数据进行读取时,先根据该数据节点配置的加密协议和密码,对读取的流数据进行解密,解密完成后再存入内存供客户端读取。本发明通过配置方式在分布式文件系统中植入统一的加解密处理,加密完成才存储到磁盘中,读取过程中自动对流数据进行解密,从而大大提升了数据的安全性,且不影响集群的整体性能,易于移植维护,扩展性强。
Description
技术领域
本发明涉及一种数据加解密读取方法,尤其涉及一种基于分布式文件系统的大数据加解密方法。
背景技术
Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop是一个能够对大量数据进行分布式处理的软件框架。Hadoop是可靠的,因为它假设计算元素和存储会失败,因此它维护多个工作数据副本,确保能够针对失败的节点重新分布处理。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。
Hadoop最初的设计目标:分布式存储超大文件,流式访问数据、适用于商业低成本硬件、高扩展、数据自动恢复能力等,因此并没有涉及到存储的加密解密。现有Hadoop文件存储的访问和读写技术对于用户来说是透明的,用户操作HDFS相对透明,所以只要获取NameNode配置信息,在集群外部就可以通过Hadoop的API调用就可以获取集群文件,在读取的过程对文件数据没有任何的加密操作,赤裸裸的获取数据,甚至在集群中植入监听程序来获取集群信息进行数据盗取。对集群的数据安全造成了深远的影响。
在英特尔Hadoop发行版本增加硬件级加密功能;名为Rhino,已经携手Apache让该项目专门负责提供一套利用x86AES处理器指令为Hadoop提供硬件加速型加密与解密功能的框架。同时英特尔在HBase当中启用了额外的加密功能,能够对HBase表与列进行透明化加密,同时将HBase中的加密机制扩展至单元级别。该项目的出台正是为了对斯诺登事件作出回应,希望借此克服据称已经被美国国安局成功破解的某知名芯片组加密功能、从而挽回FreeBSD在x86RdRand操作中的可靠性危机。
Intel的Hadoop加密方法对Hadoop植入性太强,不能任意插拔,不能适用于其他版本的Hadoop:如Hadoop2.6以及以下的Hadoop版本(CDH5.x以下,HDP2.x以下)等;另外不能在Hadoop中进行任意插拔,直接集成至Hadoop中,密钥库也是紧密项链,和Hadoop耦合度太高。此外通过密钥库去适配,增加了系统的复杂度,并且在使用中很难管理和配置。
Zettaset提供了一种基于证书设置密钥管理服务器的方法,建立基于Hadoop数据分区加密的对称密钥管理服务器方式。基于AES256高级加密标准,此安全架构将使用对称加密密钥,为了加密和解密,数据将保存在计算节点的内核节点。同样需要通过密钥库去适配,增加了系统的复杂度,而且与Hadoop的分区加密系统不兼容。
发明内容
本发明所要解决的技术问题是提供一种基于分布式文件系统的大数据加解密方法,易于配置植入,保证数据在落盘流化至磁盘中的一瞬间进行相应的加密,然后落盘存储,在获取文件流时自动进行文件读取解密操作,从而大大提升了数据的安全性,且不影响集群的整体性能。
本发明为解决上述技术问题而采用的技术方案是提供一种基于分布式文件系统的大数据加解密方法,包括如下步骤:a)在分布式文件系统中的每个数据节点配置相同的加密协议和密码;b)在每个数据节点对文件块流数据进行本地存储时,先根据该数据节点配置的加密协议和密码,对流数据进行加密,加密完成后再写到磁盘上;c)在每个数据节点对文件块流数据进行读取时,先根据该数据节点配置的加密协议和密码,对读取的流数据进行解密,解密完成后再存入内存供客户端读取。
上述的基于分布式文件系统的大数据加解密方法,其中,所述分布式文件系统为Hadoop,所述加密协议为AES,所述步骤a)的配置过程如下:在Hadoop的core-site.xml配置文件中设置解密配置扩展项fs.security.key作为通用密码,并且在所有数据节点的hdfs-site.xml配置文件中修改fs.hdfs.impl,将value值修改成相应的包名AESDistributedFileSystem,然后同步刷新配置文件,使得Hadoop环境的ClassPath下的每个数据节点完成相同配置,AESDistributedFileSystem继承DistributedFileSystem并且重写create/append、open方法,分别植入加密和解密方法进行调用。
上述的基于分布式文件系统的大数据加解密方法,其中,所述步骤b)通过继承重写分布式文件系统的write接口,通过增加字符串类型的加密协议参数选项和数组类型的密码参数选项,并在Hadoop系统写入或者叠加内容的过程中进行调用,实现落盘加密存储。
上述的基于分布式文件系统的大数据加解密方法,其中,所述步骤c)通过继承重写分布式文件系统的read接口,通过增加字符串类型的加密协议参数选项和数组类型的密码参数选项,并在Hadoop系统读取内容的过程中进行调用,实现读取解密。
上述的基于分布式文件系统的大数据加解密方法,其中,所述密码参数选项为128/192/256位密码,所述步骤b)和步骤c)直接获取AES加密协议操作对象,并且把流数据内容和密码分别交给AES加密协议操作对象的doFinal直接进行加解密。
本发明对比现有技术有如下的有益效果:本发明提供的基于分布式文件系统的大数据加解密方法,通过配置方式在分布式文件系统中植入统一的加解密处理,对即将写入磁盘的流数据进行加密,加密完成才存储到磁盘中;将磁盘的数据读取到内存的过程中自动对流数据进行解密,从而大大提升了数据的安全性,且不影响集群的整体性能,易于移植维护,扩展性强。
附图说明
图1为本发明基于分布式文件系统的大数据加解密过程示意图;
图2为本发明的数据存储调用流程图;
图3为本发明的数据读取调用流程图;
图4为本发明的数据加密实现流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的描述。
图1为本发明基于分布式文件系统的大数据加解密过程示意图。
请参见图1,本发明提供的基于分布式文件系统的大数据加解密方法,包括如下步骤:
a)在分布式文件系统中的每个数据节点配置相同的加密协议和密码;
b)在每个数据节点对文件块流数据进行本地存储时,先根据该数据节点配置的加密协议和密码,对流数据进行加密,加密完成后再写到磁盘上;
c)在每个数据节点对文件块流数据进行读取时,先根据该数据节点配置的加密协议和密码,对读取的流数据进行解密,解密完成后再存入内存供客户端读取。
本发明提供的基于分布式文件系统的大数据加解密方法,所述分布式文件系统为Hadoop,所述加密协议为AES,在Hadoop所有数据节点下的core-site.xml中配置文件中设置解密配置扩展项fs.security.key作为通用密码设置,配置如下:
@password是指任意的字母、数字、特殊字符组合的字符串;整个系统所有的数据节点关于fs.security.key的配置都必须完全相同;如果不配置,都必须都不配置;在操作HDFS文件的时候Hadoop在调用HDFS操作的同时会自动实例core-site.xml中的配置fs.hdfs.impl的配置值,进行输入密码进行文件的write和read。在Hadoop环境的ClassPath下的每个数据节点完成相同配置。
具体实现过程如下:
1、继承重写:继承DistributedFileSystem类,分布式文件读写入口
1)实现create/append方法增加类型为字符串类型的加密密码参数选项和类型为byte数组类型的参数选项,byte传输的内容是字节数组,密码参数主要是传输加密密码,在系统向HDFS文件中写入或者叠加内容的过程中进行调用,如图2所示。
2)实现open方法,增加类型为字符串类型的加密密码参数选项和类型为byte数组类型的参数选项,byte传输的内容是字节数组,在系统向HDFS创建文件内容过程中进行调用,如图3所示。
3)继承FSDataInputStream类,增加read方法,传递byte内容和加密密码,实现文件落盘操作;继承FSDataOutputStream类,添加write方法,传递byte内容和加密密码,实现文件落盘操作。在Hadoop的core-site.xml中配置文件中设置解密配置扩展项fs.security.key作为通用密码,这里可以设置统一的密码项目,也可以设置密码生成方式,默认为可使用的加解密密码。
2、实现加密
加密实现流程如图4所示;本发明直接获取AES加密协议操作对象,并且可以设置密钥长度,并且把内容和密码分别交给AES的doFinal直接进行加密。
3、实现解密
获取AES加密协议操作对象,现有的JDK中直接有现有的操作算法实现,所以直接可以利用获取,并且可以设置密钥长度,并且把内容和密码分别交给AES的doFinal直接进行解密,返回要处理的结果。
在集成的过程中,将编写好的文件打包至Hadoop环境的ClassPath下,在所有数据节点的hdfs-site.xml配置文件中修改fs.hdfs.impl,将value值修改成相应的包名.AESDistributedFileSystem,然后同步刷新配置文件,使得Hadoop环境的ClassPath下的每个数据节点完成相同配置。
org.apache.hadoop.hdfs.AESDistributedFileSystem需要继承DistributedFileSystem并且重写create/append、open方法,分别植入加密和解密方法进行调用;刷新或者重启整个集群可以得到使用。
本发明的具体优点如下:1)本发明作为插件式依附在Hadoop中,可以方便地通过配置方式实现加密解密密码的设置,并且与Hadoop原有的接口完全兼容,做到架构依赖低耦合。2)结合加密解密算法技术,在分布式文件系统操作文件的中间层植入文件加密解密引擎。通过配置方式,让系统自动检测传输的HDFS文件块对HDFS文件进行安全的加密解密。3)提升数据的安全性,让外部程序就算有HadoopAPI获取的数据也是不可读的,做到数据安全管控;提升数据的保护性的同时,也不影响集群的整体性能。4)文件加密解密采用AES(Advanced Encryption Standard)技术,安全级别高,加密速度快,机密算法很难被破解。5)适用跨度广泛,实用性强,没有版本限制,可以无缝隙集成到目前任何版本的Hadoop。6)植入非常简单轻松,采用配置文件模式,利用Java生产环境中原生态库集成。7)维护容易,扩展性强。8)无需进行繁杂的密钥交互设定,使用默认的密钥即可,也可以根据需求设置,并且兼容AES128、AES256、AES192高级加密标准。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。
Claims (1)
1.一种基于分布式文件系统的大数据加解密方法,其特征在于,包括如下步骤:
a)在分布式文件系统中的每个数据节点配置相同的加密协议和密码;
b)在每个数据节点对文件块流数据进行本地存储时,先根据该数据节点配置的加密协议和密码,对流数据进行加密,加密完成后再写到磁盘上;
c)在每个数据节点对文件块流数据进行读取时,先根据该数据节点配置的加密协议和密码,对读取的流数据进行解密,解密完成后再存入内存供客户端读取;
所述分布式文件系统为Hadoop,所述加密协议为AES,所述步骤a)的配置过程如下:在Hadoop的core-site.xml配置文件中设置解密配置扩展项fs.security.key作为通用密码,并且在所有数据节点的hdfs-site.xml配置文件中修改fs.hdfs.impl,将value值修改成相应的包名AESDistributedFileSystem,然后同步刷新配置文件,使得Hadoop环境的ClassPath下的每个数据节点完成相同配置,AESDistributedFileSystem继承DistributedFileSystem并且重写create/append、open方法,分别植入加密和解密方法进行调用;
所述步骤b)通过继承重写分布式文件系统的write接口方法,对文件进行写入,并在Hadoop系统写入或者叠加内容的过程中进行调用,实现落盘加密存储;
所述步骤c)通过继承重写分布式文件系统的read接口,通过增加字符串类型的加密协议参数选项和数组类型的密码参数选项,并在Hadoop系统读取内容的过程中进行调用,实现读取解密;
所述密码参数选项为128/192/256位密码,所述步骤b)和步骤c)直接获取AES加密协议操作对象,并且把流数据内容和密码分别交给AES加密协议操作对象的doFinal直接进行加解密。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510274970.5A CN104852922B (zh) | 2015-05-26 | 2015-05-26 | 基于分布式文件系统的大数据加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510274970.5A CN104852922B (zh) | 2015-05-26 | 2015-05-26 | 基于分布式文件系统的大数据加解密方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104852922A CN104852922A (zh) | 2015-08-19 |
CN104852922B true CN104852922B (zh) | 2018-10-02 |
Family
ID=53852278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510274970.5A Expired - Fee Related CN104852922B (zh) | 2015-05-26 | 2015-05-26 | 基于分布式文件系统的大数据加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104852922B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107995147B (zh) * | 2016-10-27 | 2021-05-14 | 中国电信股份有限公司 | 基于分布式文件系统的元数据加解密方法和系统 |
CN106549963A (zh) * | 2016-11-05 | 2017-03-29 | 北京工业大学 | 基于hdfs的安全存储系统 |
CN108076034A (zh) * | 2016-11-11 | 2018-05-25 | 北京嘀嘀无限科技发展有限公司 | 加解密数据的方法、装置及系统 |
CN106713330A (zh) * | 2016-12-30 | 2017-05-24 | 广东浪潮大数据研究有限公司 | 一种基于Spring的property文件的密码加密方法 |
CN107508813A (zh) * | 2017-08-29 | 2017-12-22 | 南京中蓝数智信息技术有限公司 | 分布式数据加解密方法 |
CN108111479A (zh) * | 2017-11-10 | 2018-06-01 | 中国电子科技集团公司第三十二研究所 | 用于Hadoop分布式文件系统透明加解密的密钥管理方法 |
CN108616537B (zh) * | 2018-04-28 | 2021-11-30 | 湖南麒麟信安科技股份有限公司 | 一种低耦合的通用数据加解密方法及系统 |
CN111132150A (zh) * | 2019-12-31 | 2020-05-08 | 中科曙光国际信息产业有限公司 | 一种保护数据的方法、装置、存储介质和电子设备 |
CN111859430B (zh) * | 2020-07-23 | 2024-04-16 | 深圳市纳研科技有限公司 | 一种企业数据安全管理方法、系统及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577298A (zh) * | 2003-07-10 | 2005-02-09 | 索尼株式会社 | 数据管理设备,数据管理方法以及计算机程序 |
CN101478548A (zh) * | 2009-01-22 | 2009-07-08 | 上海交通大学 | 数据传输的加密和完整性校验方法 |
CN102394894A (zh) * | 2011-11-28 | 2012-03-28 | 武汉大学 | 一种基于云计算的网络虚拟磁盘文件安全管理方法 |
CN103209202A (zh) * | 2012-01-16 | 2013-07-17 | 联想(北京)有限公司 | 用于传输数据的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040247125A1 (en) * | 2003-06-04 | 2004-12-09 | Mcclellan Stanley Archer | Wireless network and methods for data encryption/decryption in a wireless network |
-
2015
- 2015-05-26 CN CN201510274970.5A patent/CN104852922B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577298A (zh) * | 2003-07-10 | 2005-02-09 | 索尼株式会社 | 数据管理设备,数据管理方法以及计算机程序 |
CN101478548A (zh) * | 2009-01-22 | 2009-07-08 | 上海交通大学 | 数据传输的加密和完整性校验方法 |
CN102394894A (zh) * | 2011-11-28 | 2012-03-28 | 武汉大学 | 一种基于云计算的网络虚拟磁盘文件安全管理方法 |
CN103209202A (zh) * | 2012-01-16 | 2013-07-17 | 联想(北京)有限公司 | 用于传输数据的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104852922A (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104852922B (zh) | 基于分布式文件系统的大数据加解密方法 | |
TWI803291B (zh) | 加密使用者資料傳輸及儲存(nuts) | |
US20230171101A1 (en) | NUTS: Flexible Hierarchy Object Graphs | |
US9767299B2 (en) | Secure cloud data sharing | |
US10148437B2 (en) | Encryption system with key recovery | |
CN106063185B (zh) | 用于安全地共享数据的方法和装置 | |
CN104331644A (zh) | 一种智能终端文件的透明加解密方法 | |
CN103701829B (zh) | 一种离线解析dpapi加密数据的方法 | |
US20190332792A1 (en) | Access management system, access management method and program | |
US20140331062A1 (en) | System and apparatus for securely storing data | |
US8848922B1 (en) | Distributed encryption key management | |
CN102325026A (zh) | 账号密码安全加密系统 | |
CN103745162A (zh) | 一种安全网络文件存储系统 | |
WO2015176461A1 (zh) | 分布式文件系统的文件访问处理、访问方法及装置 | |
CN109657497B (zh) | 安全文件系统及其方法 | |
CN109190386A (zh) | 基于Device Mapper的容器镜像分层加密存储方法 | |
CN102868826A (zh) | 终端和终端数据保护方法 | |
CN102821110B (zh) | 一种用于音视频存储设备的密码找回方法 | |
US7747861B2 (en) | Method and system for redundant secure storage of sensitive data by using multiple keys | |
CN105515959A (zh) | 基于cms技术的即时通信保密系统的实现方法 | |
US10749689B1 (en) | Language-agnostic secure application development | |
US20170262640A1 (en) | Database operation method and device | |
CN110378131A (zh) | 一种利用可信根管理cryptsetup密钥的方法、系统及装置 | |
US9178855B1 (en) | Systems and methods for multi-function and multi-purpose cryptography | |
CN103546274A (zh) | 一种手机应用程序与主机之间动态加密短信的实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20181002 Termination date: 20200526 |
|
CF01 | Termination of patent right due to non-payment of annual fee |