CN108111479A - 用于Hadoop分布式文件***透明加解密的密钥管理方法 - Google Patents

用于Hadoop分布式文件***透明加解密的密钥管理方法 Download PDF

Info

Publication number
CN108111479A
CN108111479A CN201711105375.4A CN201711105375A CN108111479A CN 108111479 A CN108111479 A CN 108111479A CN 201711105375 A CN201711105375 A CN 201711105375A CN 108111479 A CN108111479 A CN 108111479A
Authority
CN
China
Prior art keywords
encryption
kms
client
key
decryption
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.)
Pending
Application number
CN201711105375.4A
Other languages
English (en)
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.)
No32 Research Institute Of China Electronics Technology Group Corp
Original Assignee
No32 Research Institute Of China Electronics Technology Group 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 No32 Research Institute Of China Electronics Technology Group Corp filed Critical No32 Research Institute Of China Electronics Technology Group Corp
Priority to CN201711105375.4A priority Critical patent/CN108111479A/zh
Publication of CN108111479A publication Critical patent/CN108111479A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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/602Providing cryptographic facilities or services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种用于Hadoop分布式文件***透明加解密的密钥管理方法,包括以下步骤:在客户端增加一个加密层和一个密钥提供者接口,在服务端增加一个KMS,在名字节点增加一个密钥提供者接口;客户端和名字节点配合完成加密文件的读写,并使用KMS HTTP REST API与KMS交互完成密钥的管理工作;HDFS为实现透明加解密功能新增加了一个加密区域的概念,一个加密区域就是一个HDFS上的特殊目录;客户端向名字节点发送创建加密区域指令的时候,名字节点通过密钥提供者接口通过REST API向KMS申请与新建加密区域关联的KEK。本发明将KMS的密钥管理协议的承载协议改成负载更轻、效率更高的方式。

Description

用于Hadoop分布式文件***透明加解密的密钥管理方法
技术领域
本发明涉及一种密钥管理方法,具体地,涉及一种用于Hadoop分布式文件***(HDFS)透明加解密的密钥管理方法。
背景技术
早期,Hadoop集群的初始用途是管理大量的公共Web数据,因此数据安全性和隐私并不是最初设计的考虑因素。设计时总是假定Hadoop集群将会由相互协作的、可信的计算机组成,并由在可信环境中的可信用户使用。因此Hadoop不认证用户或服务,没有数据隐私,任何人都可以提交执行代码和查看***中存储的数据。
后来随着Hadoop成为一个更加流行的大数据分析平台,Hadoop开发社区意识到有必要为Hadoop增添更加健壮的安全机制,来保护数据隐私。开发人员为HDFS增加了透明加解密功能,提供对HDFS中存储数据的加密保护。为了支撑HDFS的透明加解密功能,Hadoop***中增加了一个密钥管理服务(KMS)组件。KMS主要为HDFS透明加解密提供三种密钥服务功能:一,为***生成密钥加密密钥(KEK)和数据加密密钥(DEK)。二,提供对KEK的创建、更新、销毁等生命周期管理。三,提供对DEK的加解密服务。
KMS的引入,虽然解决了HDFS的密钥管理问题,让Hadoop集群中的数据得到了必要的加密保护,但是仍然存在以下不足:加密客户端与KMS的通信采用私有密钥管理协议,扩展性和交互性差;采用的私有密钥管理协议承载于HTTP协议(超文本传输协议)之上,负载重,效率低;
由于KMS采用标准的JCE(Java加密引擎)架构实现,对密钥加密算法和密钥生成算法的限制大,可扩展性差,在某些安全性要求高的场合下不适用。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种用于Hadoop分布式文件***透明加解密的密钥管理方法,其将KMS的密钥管理协议的承载协议改成负载更轻、效率更高的方式。
根据本发明的一个方面,提供一种用于Hadoop分布式文件***透明加解密的密钥管理方法,其特征在于,包括以下步骤:在客户端增加一个加密层和一个密钥提供者接口,在服务端增加一个KMS,在名字节点增加一个密钥提供者接口;客户端和名字节点配合完成加密文件的读写,并使用KMS HTTP REST API与KMS交互完成密钥的管理工作;HDFS为实现透明加解密功能新增加了一个加密区域的概念,一个加密区域就是一个HDFS上的特殊目录;客户端向名字节点发送创建加密区域指令的时候,名字节点通过密钥提供者接口通过REST API向KMS申请与新建加密区域关联的KEK;KMS创建KEK成功后,加密区域建立成功;当客户端往加密区域写入文件时,客户端首先需要通过密钥提供者接口向KMS申请DEK和EDEK,然后将EDEK和文件信息提交并存储到名字节点,最后调用本地加密算法用DEK加密文件数据;当客户端要读取加密区域的文件时,客户端首先从名字节点获取文件信息和EDEK,然后客户端将EDEK通过密钥提供者接口发送到KMS申请解密,KMS用当前加密区域的KEK调用JCE解密EDEK得到DEK发回客户端;客户端拿到DEK后,调用本地算法解密文件数据,完成读取加密文件的过程。
与现有技术相比,本发明具有如下的有益效果:
一,由于采用了行业标准KMIP作为密钥管理协议,增加了HDFS透明加解密密钥管理的扩展性和交互性。
二,由于KMIP是一种TTLV二进制编码,比原来的HTTP REST文本编码模式效率更高,性能更好。
三,由于KMIP是一种TTLV二进制编码,比原来的HTTP REST文本编码模式效率更高,性能更好。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明用于Hadoop分布式文件***透明加解密的密钥管理方法的流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
如图1所示,Hadoop分布式文件***(HDFS)透明加解密的基本实现原理如下(本发明用于Hadoop分布式文件***透明加解密的密钥管理方法):在客户端增加一个加密层和一个密钥提供者接口,在服务端增加一个KMS,在名字节点增加一个密钥提供者接口;客户端和名字节点配合完成加密文件的读写,并使用KMS HTTP REST API(私有协议)与KMS交互完成密钥的管理工作;HDFS为实现透明加解密功能新增加了一个加密区域的概念,一个加密区域就是一个HDFS上的特殊目录。客户端向名字节点发送创建加密区域指令的时候,名字节点通过密钥提供者接口通过REST API(Representational State Transfer表述性状态传递应用程序编译接口)向KMS申请与新建加密区域关联的KEK(密钥加密密钥);KMS创建KEK成功后,加密区域建立成功。当客户端往加密区域(目录)写入文件时,客户端首先需要通过密钥提供者接口向KMS申请DEK(数据加密密钥)和EDEK(用KEK加密后的DEK),然后将EDEK和文件信息提交并存储到名字节点,最后调用本地加密算法用DEK加密文件数据;当客户端要读取加密区域的文件时,客户端首先从名字节点获取文件信息和EDEK,然后客户端将EDEK通过密钥提供者接口发送到KMS申请解密,KMS用当前加密区域的KEK调用JCE解密EDEK得到DEK(明文)发回客户端。客户端拿到DEK后,调用本地算法解密文件数据,完成读取加密文件的过程。
本发明为了完全兼容HDFS透明加解密的原生实现,不会修改上述透明加密密的流程,只针对原生实现的缺点进行改进和加强。针对KMS的私有密钥管理协议扩展性和交互性差的缺点,采用OASIS(结构化信息标准促进组织,Organization for the Advancement ofStructured Information Standards)发布的标准KMIP协议来取代原协议。KMIP就是密钥管理互操作协议,2009年由博科、EMC、惠普、IBM、LSI、希捷和Thales向OASIS提交的新规范,主要是为了在企业密钥管理领域寻求通用开放标准和互操作性以满足日益增长的加密需求而提出。KMIP能够很好的满足HDFS透明加解密的密钥管理需求。KMIP是一种基于TTLV(Type/Tag/Length/Value)编码的二进制编码方式,具有高效、灵活、扩展性好等优点,可以非常完美的解决HDFS目前所采用的基于HTTP文本编码方式的效率低、负载重的问题。KMS采用标准JCE的公开算法实现对密钥的加解密,在某些特殊场合,需要采用自定义算法的情况下,这种模式的限制非常大。因为JCE要调用客户自定义算法,算法代码首先需要提供给甲骨文公司认证和签名,这样就必然对外泄露了需要保密的私有算法。因此本发明不再采用JCE方式加密密钥,而且采用普通JAVA API的方式实现对密钥的加密保护。
本发明将KMS的密钥管理协议更新为一种扩展性和交互性更好的通用协议;将KMS的密钥管理协议的承载协议改成负载更轻、效率更高的方式;更改KMS的JCE引擎为更加灵活和扩展性更好的普通API(应用程序编程接口)模式;上述改进完成后,新的KMS必须能够完全兼容原来HDFS的密钥管理业务。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (1)

1.一种用于Hadoop分布式文件***透明加解密的密钥管理方法,其特征在于,包括以下步骤:在客户端增加一个加密层和一个密钥提供者接口,在服务端增加一个KMS,在名字节点增加一个密钥提供者接口;客户端和名字节点配合完成加密文件的读写,并使用KMSHTTP REST API与KMS交互完成密钥的管理工作;HDFS为实现透明加解密功能新增加了一个加密区域的概念,一个加密区域就是一个HDFS上的特殊目录;客户端向名字节点发送创建加密区域指令的时候,名字节点通过密钥提供者接口通过REST API向KMS申请与新建加密区域关联的KEK;KMS创建KEK成功后,加密区域建立成功;当客户端往加密区域写入文件时,客户端首先需要通过密钥提供者接口向KMS申请DEK和EDEK,然后将EDEK和文件信息提交并存储到名字节点,最后调用本地加密算法用DEK加密文件数据;当客户端要读取加密区域的文件时,客户端首先从名字节点获取文件信息和EDEK,然后客户端将EDEK通过密钥提供者接口发送到KMS申请解密,KMS用当前加密区域的KEK调用JCE解密EDEK得到DEK发回客户端;客户端拿到DEK后,调用本地算法解密文件数据,完成读取加密文件的过程。
CN201711105375.4A 2017-11-10 2017-11-10 用于Hadoop分布式文件***透明加解密的密钥管理方法 Pending CN108111479A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711105375.4A CN108111479A (zh) 2017-11-10 2017-11-10 用于Hadoop分布式文件***透明加解密的密钥管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711105375.4A CN108111479A (zh) 2017-11-10 2017-11-10 用于Hadoop分布式文件***透明加解密的密钥管理方法

Publications (1)

Publication Number Publication Date
CN108111479A true CN108111479A (zh) 2018-06-01

Family

ID=62206524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711105375.4A Pending CN108111479A (zh) 2017-11-10 2017-11-10 用于Hadoop分布式文件***透明加解密的密钥管理方法

Country Status (1)

Country Link
CN (1) CN108111479A (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886028A (zh) * 2019-01-22 2019-06-14 杭州美创科技有限公司 远程启用Oracle透明加密的方法
CN109981579A (zh) * 2019-02-25 2019-07-05 北京工业大学 基于SGX的Hadoop秘钥管理服务安全加强方法
CN110598440A (zh) * 2019-08-08 2019-12-20 中腾信金融信息服务(上海)有限公司 一种分布式自动加解密***
CN111132150A (zh) * 2019-12-31 2020-05-08 中科曙光国际信息产业有限公司 一种保护数据的方法、装置、存储介质和电子设备
CN111130773A (zh) * 2019-12-26 2020-05-08 北京三未信安科技发展有限公司 基于kmip协议的密钥管理服务器、客户端及***
CN111191261A (zh) * 2019-12-26 2020-05-22 北京三未信安科技发展有限公司 一种大数据安全保护方法、***、介质及设备
CN111625843A (zh) * 2019-07-23 2020-09-04 方盈金泰科技(北京)有限公司 一种适用于大数据平台的数据透明加解密***
CN112733189A (zh) * 2021-01-14 2021-04-30 浪潮云信息技术股份公司 一种实现文件存储服务端加密的***与方法
CN112839013A (zh) * 2019-11-22 2021-05-25 航天信息股份有限公司 一种密钥传输方法、装置及计算机可读存储介质
CN117278342A (zh) * 2023-11-23 2023-12-22 数字苏州建设有限公司 一种多环境Hadoop KMS代理服务方法及***

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852922A (zh) * 2015-05-26 2015-08-19 陈彬 基于分布式文件***的大数据加解密方法
CN205901794U (zh) * 2016-08-22 2017-01-18 成都比特信安科技有限公司 一种对大数据内容进行选择性加密的***
CN107025409A (zh) * 2017-06-27 2017-08-08 中经汇通电子商务有限公司 一种数据安全存储平台
CN107122406A (zh) * 2017-03-24 2017-09-01 东华大学 一种Hadoop平台上面向数据字段的访问控制方法
US20170323114A1 (en) * 2016-05-06 2017-11-09 ZeroDB, Inc. Encryption for distributed storage and processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104852922A (zh) * 2015-05-26 2015-08-19 陈彬 基于分布式文件***的大数据加解密方法
US20170323114A1 (en) * 2016-05-06 2017-11-09 ZeroDB, Inc. Encryption for distributed storage and processing
CN205901794U (zh) * 2016-08-22 2017-01-18 成都比特信安科技有限公司 一种对大数据内容进行选择性加密的***
CN107122406A (zh) * 2017-03-24 2017-09-01 东华大学 一种Hadoop平台上面向数据字段的访问控制方法
CN107025409A (zh) * 2017-06-27 2017-08-08 中经汇通电子商务有限公司 一种数据安全存储平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MADHVARAJ M SHETTY等: "Data Security in Hadoop Distributed File System", 《2016 INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGICAL TRENDS》 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886028A (zh) * 2019-01-22 2019-06-14 杭州美创科技有限公司 远程启用Oracle透明加密的方法
CN109981579A (zh) * 2019-02-25 2019-07-05 北京工业大学 基于SGX的Hadoop秘钥管理服务安全加强方法
CN109981579B (zh) * 2019-02-25 2021-07-02 北京工业大学 基于SGX的Hadoop秘钥管理服务安全加强方法
CN111625843A (zh) * 2019-07-23 2020-09-04 方盈金泰科技(北京)有限公司 一种适用于大数据平台的数据透明加解密***
CN110598440A (zh) * 2019-08-08 2019-12-20 中腾信金融信息服务(上海)有限公司 一种分布式自动加解密***
CN110598440B (zh) * 2019-08-08 2023-05-09 中腾信金融信息服务(上海)有限公司 一种分布式自动加解密***
CN112839013A (zh) * 2019-11-22 2021-05-25 航天信息股份有限公司 一种密钥传输方法、装置及计算机可读存储介质
CN112839013B (zh) * 2019-11-22 2022-10-11 航天信息股份有限公司 一种密钥传输方法、装置及计算机可读存储介质
CN111130773A (zh) * 2019-12-26 2020-05-08 北京三未信安科技发展有限公司 基于kmip协议的密钥管理服务器、客户端及***
CN111191261A (zh) * 2019-12-26 2020-05-22 北京三未信安科技发展有限公司 一种大数据安全保护方法、***、介质及设备
CN111191261B (zh) * 2019-12-26 2022-06-24 三未信安科技股份有限公司 一种大数据安全保护方法、***、介质及设备
CN111132150A (zh) * 2019-12-31 2020-05-08 中科曙光国际信息产业有限公司 一种保护数据的方法、装置、存储介质和电子设备
CN112733189A (zh) * 2021-01-14 2021-04-30 浪潮云信息技术股份公司 一种实现文件存储服务端加密的***与方法
CN117278342A (zh) * 2023-11-23 2023-12-22 数字苏州建设有限公司 一种多环境Hadoop KMS代理服务方法及***
CN117278342B (zh) * 2023-11-23 2024-03-01 数字苏州建设有限公司 一种多环境Hadoop KMS代理服务方法及***

Similar Documents

Publication Publication Date Title
CN108111479A (zh) 用于Hadoop分布式文件***透明加解密的密钥管理方法
US11818262B2 (en) Method and system for one-to-many symmetric cryptography and a network employing the same
CN108259169B (zh) 一种基于区块链云存储的文件安全分享方法及***
US20140281520A1 (en) Secure cloud data sharing
US10735186B2 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
CN107359986A (zh) 可撤销用户的外包加解密cp‑abe方法
CN108520183A (zh) 一种数据存储方法及装置
CN109948322B (zh) 本地化加密防护的个人云存储数据保险箱装置及方法
CN111625852B (zh) 一种基于文档和用户私钥的混合云架构下的电子签名方法
Khan et al. A study of incremental cryptography for security schemes in mobile cloud computing environments
CN107426162A (zh) 一种基于属性基加密实施核心角色访问控制的方法
CA3056814A1 (en) Symmetric cryptographic method and system and applications thereof
CN104753870B (zh) 一种数据传输方法和***
Zhang et al. A dynamic cryptographic access control scheme in cloud storage services
WO2017126571A1 (ja) 暗号文管理方法、暗号文管理装置及びプログラム
JP2006279269A (ja) 情報管理装置、情報管理システム、ネットワークシステム、ユーザ端末、及びこれらのプログラム
Raso et al. ABEBox: A data driven access control for securing public cloud storage with efficient key revocation
CN105208017A (zh) 一种存储器信息获取方法
CN115225364B (zh) 一种面向云端加密数据的高效动态访问控制方法及***
Okano et al. Implementing Access Control in Chaincodes on Hyperledger Fabric with Attribute-Based Encryption
CN116781400A (zh) 一种区块链上链数据处理的方法、***、装置及电子设备
CN116361000A (zh) 基于fabric区块链的云环境下数据动态访问控制方法
KR20000063706A (ko) 컴퓨터상의 공유저장장소내에서 암호키 알고리즘을 이용한데이타 보안방법
CN117857033A (zh) 基于lkh的可灵活撤销用户的外包加解密cp-abe方法及***
Badnora et al. Areview ON CLOUD SECURITY ISSUES

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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180601

RJ01 Rejection of invention patent application after publication