CN109981579A - 基于SGX的Hadoop秘钥管理服务安全加强方法 - Google Patents
基于SGX的Hadoop秘钥管理服务安全加强方法 Download PDFInfo
- Publication number
- CN109981579A CN109981579A CN201910137462.0A CN201910137462A CN109981579A CN 109981579 A CN109981579 A CN 109981579A CN 201910137462 A CN201910137462 A CN 201910137462A CN 109981579 A CN109981579 A CN 109981579A
- Authority
- CN
- China
- Prior art keywords
- kms
- code key
- sgx
- ezk
- 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.)
- Granted
Links
Classifications
-
- 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/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
-
- 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
- H04L63/0442—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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
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
本发明提出了一种基于SGX的Hadoop秘钥管理服务安全加强方法,描述了系统模型和本方法加强Hadoop秘钥管理服务安全性的具体流程。将Hadoop秘钥管理服务中加密区秘钥、数据加密秘钥、加密数据加密秘钥的创建过程和秘钥的加解密模块转移到SGX安全区中;秘钥管理服务客户端通过SGX远程认证的方式建立安全会话,用来传递在秘钥管理服务的安全区中加密发送给客户端的秘钥信息的会话秘钥。本发明提出的方法为Hadoop秘钥管理服务提供了硬件级别的保护。
Description
技术领域
本专利属于信息安全技术领域,提出了一种基于SGX的Hadoop秘钥管理服务安全加强方法,旨在提高Hadoop秘钥管理服务的安全性。
背景技术
随着信息技术的迅速发展,数据越来越决定着企业的未来,与此同时,数据安全性成为大数据平台的重要问题,尤其是在管理医疗信息和财务记录等敏感数据的企业中,数据的保护更是一个关键问题。Apache开源项目Hadoop作为流行的大数据分析平台,为了提高对隐私数据的保护能力,在其平台架构中不断增添更加健壮的安全机制。为了解决数据存储和数据传输中的安全问题,HDFS(Hadoop Distributed File System)增加了透明加解密功能,提供对HDFS中存储数据的加密保护。为了支撑HDFS的透明加解密功能,Hadoop引入了秘钥管理服务(Key Management Service,KMS),它是一种用于管理加密秘钥的集群新服务。目前HDFS静态数据加密混合使用将加密秘钥与文件元数据组合和依赖外部的秘钥服务器管理秘钥,基于软件的加密方式虽然易于拓展但其容易受到系统软件攻击,将秘钥存储在硬件安全模块(Hardware Security Module,HSM)中又价格高昂且不易于拓展。IntelSGX(Software Guard Extensions)作为新的处理器可信计算技术被提出,用于增强软件的安全性。这种方式并不是识别和隔离平台上的所有恶意软件,而是将合法软件的安全操作封装在一个安全区中,保护其不受恶意软件的攻击,安全区中的代码只能通过SGX提供的ECALL指令访问,安全区访问外部的代码通过OCALL指令,特权或者非特权的软件都无法访问安全区,也就是说,一旦软件和数据位于安全区中,即便操作系统或者虚拟机也无法影响安全区里面的代码和数据,安全区的安全边界只包含CPU和它自身。
发明内容
本发明提供了通过新的处理器可信计算技术Intel SGX技术构建一个基于处理器可信的Hadoop秘钥管理服务安全加强方法。秘钥管理服务主要对HDFS的透明数据加密(Transparent Data Encryption,TDE)提供三种可信的秘钥服务功能:一,为系统生成加密区秘钥(Encryption Zone Key,EZK)和数据加密秘钥(Data Encryption Key,DEK);二,提供对EZK的创建、更新、销毁等生命周期管理;三,提供对DEK的加解密服务。本发明通过建立SGX远程认证的方式安全传递客户端通信秘钥(Session Key,SK),用来在安全区中加密服务端要传输给客户端的秘钥信息。将EZK、DEK秘钥的生成,加解密等模块转移到受保护的SGX安全区中,以加强秘钥的安全。
为了实现上述的模型,本发明采用的技术方案是:
基于SGX的Hadoop秘钥管理服务安全加强方法,包括以下步骤:
步骤1:HDFS客户端向KMS发起SGX远程认证请求并完成对KMS的认证。
步骤2:KMS接收HDFS客户端通过步骤1中建立的安全通道发送的通信秘钥SK、SK-id用以加密服务端返回的私密数据并调用SGX密封机制加密SK保存为加密客户端通信秘钥(Sealed Session Key,SSK)。
步骤3:HDFS客户端向KMS发起创建秘钥EZK请求。
步骤4:KMS处理创建秘钥请求。
步骤4.1:KMS进入SGX安全区。
步骤4.2:根据客户端指定的秘钥生成算法生成秘钥EZK。
步骤4.2:KMS调用SGX密封机制提供的加密算法加密EZK得到密封加密区秘钥(Sealed Encryption Zone Key,SEZK)。
步骤4.3:KMS通过OCALL调用保存SEZK至秘钥数据库。
步骤4.4:KMS根据客户端权限决定返回EZK秘钥的数据,客户端拥有获取秘钥权限则KMS用步骤2中的通信秘钥SK加密步骤4.1中的秘钥EZK,得到要返回给客户端的加密加密区秘钥(Encrypted Encryption Zone Key,EEZK)和EZK元数据,客户端没有获取秘钥权限,则只返回EZK元数据。
步骤4.5:KMS离开SGX安全区。
步骤4.6:KMS将步骤4.2中的秘钥EEZK返回给HDFS客户端。
步骤5:HDFS客户端用SK解密收到的秘钥EEZK,得到EZK。
步骤6:HDFS服务端向KMS发起创建EDEK请求。
步骤7:KMS处理创建EDEK请求。
步骤7.1:KMS通过HDFS服务端发送的EZK-id从秘钥库中取出加密的SEZK。
步骤7.2:KMS进入SGX安全区。
步骤7.3:调用SGX密封解密算法解密SEZK得到EZK。
步骤7.4:KMS在SGX安全区生成DEK,并用EZK加密DEK生成EDEK。
步骤7.5:KMS离开SGX安全区。
步骤8:KMS将EDEK发送至HDFS服务端。
步骤9:KMS处理DEK解密请求。
步骤9.1:HDFS客户端将EDEK和客户端通信秘钥SK-id发送至KMS。
步骤9.2:KMS根据EDEK取出对应的SEZK,根据SK-id取出对应的SSK。
步骤9.3:KMS进入SGX安全区。
步骤9.4:通过SGX密封机制解密SEZK、SSK,得到EZK、SK。
步骤9.5:用EZK解密EDEK得到DEK。
步骤9.6:用SK加密DEK得到SDEK。
步骤9.7:KMS离开SGX安全区。
步骤10:KMS将SDEK发送至HDFS客户端。
步骤11:HDFS客户端用SK解密SDEK,得到用来实现Hadoop透明加解密的DEK。
附图说明
图1为本发明设计的基于SGX的Hadoop秘钥管理服务安全加强方法的总体概念图。
图2为本发明设计的客户端通信秘钥创建流程图。
图3为本发明设计的通信秘钥创建后Hadoop静态加密中创建加密文件流程图。
图4为本发明设计的通信秘钥创建后Hadoop静态加密中读取加密文件流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。
如图1所示,基于SGX的Hadoop秘钥管理服务的主要实现原理是通过将原有KMS代码和数据划分为可信区和不可信区,在Hadoop KMS中的可信区即EZK,DEK在内存中明文存在的代码段。为了实现上述目标,在可信区中添加了客户端通信秘钥SK,Hadoop KMS其余秘钥管理操作如秘钥删除,秘钥id获取等不需要划分为可信区。
KMS安全获取客户端会话秘钥SK的流程如图2所示,HDFS客户端向KMS发起SGX远程认证请求根据并完成对KMS的认证,HDFS客户端通过秘钥生成算法生成通信秘钥SK,将自定义SK-id和SK发送至KMS,KMS调用SGX密封机制加密SK保存为SSK,此后KMS返回给客户端的隐私数据将由秘钥SK加密。
Hadoop KMS主要为HDFS的静态加密读写文件提供秘钥服务。HDFS客户端使用基于SGX的Hadoop秘钥管理服务安全加强方法写入新文件的流程如图3所示。HDFS客户端调用create()函数写新文件,NameNode请求KMS使用给定的EZK-id/版本创建一个EDEK,KMS在安全区中生成一个新的DEK,KMS从秘钥库获取SEZK,在安全区中解密,得到EZK,KMS从秘钥库获取SSK,在安全区中解密,得到SK,KMS在安全区中用EZK对DEK进行加密,形成EDEK。然后KMS将EDEK提交给NameNode,NameNode将EDEK保存为文件元数据的拓展属性。NameNode将EDEK提交给HDFS客户端,HDFS客户端将EDEK,SK-id提交到KMS。KMS从秘钥库获取SEZK。KMS在安全区中用EZK对EDEK进行解密,形成DEK,并用SK对DEK加密得到SDEK。KMS将SDEK提交给HDFS客户端。HDFS客户端用SK解密SDEK,得到DEK。最后HDFS客户端用DEK加密文件后将密文提交到DataNodes。
HDFS客户端使用基于SGX的Hadoop秘钥管理服务安全加强方法读取加密文件的流程如图4所示。HDFS客户端调用open()函数读文件。NameNode将EDEK提交给HDFS客户端。HDFS客户端将EDEK和SK-id提交到KMS。KMS在安全区中解密根据EDEK中的EZK-id/版本获取的SEZK,得到EZK。KMS在安全区中解密根据SK-id获取的SSK,得到SK。KMS在安全区中用EZK对EDEK进行解密,形成DEK,并用SK加密DEK,得到SDEK。KMS将SDEK提交给HDFS客户端。HDFS客户端用SK解密SDEK,得到DEK。最后HDFS客户端读取加密数据块,并用DEK对其解密。
Claims (1)
1.基于SGX的Hadoop秘钥管理服务安全加强方法,其特征在于,包括以下步骤:
步骤1:HDFS客户端向KMS发起SGX远程认证请求并完成对KMS的认证;
步骤2:KMS接收HDFS客户端通过步骤1中建立的安全通道发送的通信秘钥SK、SK-id用以加密服务端返回的私密数据并调用SGX密封机制加密SK保存为SSK;
步骤3:HDFS客户端向KMS发起创建秘钥EZK请求;
步骤4:KMS处理创建秘钥请求;
步骤4.1:KMS进入SGX安全区;
步骤4.2:根据客户端指定的秘钥生成算法生成秘钥EZK;
步骤4.2:KMS调用SGX密封机制提供的加密算法加密EZK得到密封加密区秘钥SEZK;
步骤4.3:KMS通过OCALL调用保存SEZK至秘钥数据库;
步骤4.4:KMS根据客户端权限决定返回EZK秘钥的数据,客户端拥有获取秘钥权限则KMS用步骤2中的通信秘钥SK加密步骤4.1中的秘钥EZK,得到要返回给客户端的加密加密区秘钥EEZK和EZK元数据,客户端没有获取秘钥权限,则只返回EZK元数据;
步骤4.5:KMS离开SGX安全区;
步骤4.6:KMS将步骤4.2中的秘钥数据返回给HDFS客户端;
步骤5:HDFS客户端用SK解密收到的秘钥EEZK,得到EZK;
步骤6:HDFS服务端向KMS发起创建EDEK请求;
步骤7:KMS处理创建EDEK请求;
步骤7.1:KMS通过HDFS服务端发送的EZK-id从秘钥库中取出加密的SEZK;
步骤7.2:KMS进入SGX安全区;
步骤7.3:调用SGX密封解密算法解密SEZK得到EZK;
步骤7.4:KMS在SGX安全区生成DEK,并用EZK加密DEK生成EDEK;
步骤7.5:KMS离开SGX安全区;
步骤8:KMS将EDEK发送至HDFS服务端;
步骤9:KMS处理DEK解密请求;
步骤9.1:HDFS客户端将EDEK和客户端通信秘钥SK-id发送至KMS;
步骤9.2:KMS根据EDEK取出对应的EEZK,根据SK-id取出对应的SSK;
步骤9.3:KMS进入SGX安全区;
步骤9.4:通过SGX密封机制解密SEZK、SSK,得到EZK、SK;
步骤9.5:用EZK解密EDEK得到DEK;
步骤9.6:用SK加密DEK得到SDEK;
步骤9.7:KMS离开SGX安全区;
步骤10:KMS将SDEK发送至HDFS客户端;
步骤11:HDFS客户端用SK解密SDEK,得到用来实现Hadoop透明加解密的DEK。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137462.0A CN109981579B (zh) | 2019-02-25 | 2019-02-25 | 基于SGX的Hadoop秘钥管理服务安全加强方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910137462.0A CN109981579B (zh) | 2019-02-25 | 2019-02-25 | 基于SGX的Hadoop秘钥管理服务安全加强方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109981579A true CN109981579A (zh) | 2019-07-05 |
CN109981579B CN109981579B (zh) | 2021-07-02 |
Family
ID=67077323
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910137462.0A Active CN109981579B (zh) | 2019-02-25 | 2019-02-25 | 基于SGX的Hadoop秘钥管理服务安全加强方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109981579B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611620A (zh) * | 2020-05-26 | 2020-09-01 | 牛津(海南)区块链研究院有限公司 | 一种访问平台的访问请求处理方法及相关装置 |
CN112839013A (zh) * | 2019-11-22 | 2021-05-25 | 航天信息股份有限公司 | 一种密钥传输方法、装置及计算机可读存储介质 |
CN113691530A (zh) * | 2021-08-24 | 2021-11-23 | 上海瓶钵信息科技有限公司 | 一种基于sgx的对称秘钥生成管理系统、方法、设备及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017193108A2 (en) * | 2016-05-06 | 2017-11-09 | ZeroDB, Inc. | Encryption for distributed storage and processing |
CN107995147A (zh) * | 2016-10-27 | 2018-05-04 | 中国电信股份有限公司 | 基于分布式文件系统的元数据加解密方法和系统 |
CN108111479A (zh) * | 2017-11-10 | 2018-06-01 | 中国电子科技集团公司第三十二研究所 | 用于Hadoop分布式文件系统透明加解密的密钥管理方法 |
CN108491732A (zh) * | 2018-03-13 | 2018-09-04 | 山东超越数控电子股份有限公司 | 一种基于业务隔离存储的海量存储数据保护系统及方法 |
US20180254901A1 (en) * | 2016-05-06 | 2018-09-06 | ZeroDB, Inc. | Method and system for secure delegated access to encrypted data in big data computing clusters |
-
2019
- 2019-02-25 CN CN201910137462.0A patent/CN109981579B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017193108A2 (en) * | 2016-05-06 | 2017-11-09 | ZeroDB, Inc. | Encryption for distributed storage and processing |
US20170323114A1 (en) * | 2016-05-06 | 2017-11-09 | ZeroDB, Inc. | Encryption for distributed storage and processing |
US20180254901A1 (en) * | 2016-05-06 | 2018-09-06 | ZeroDB, Inc. | Method and system for secure delegated access to encrypted data in big data computing clusters |
CN107995147A (zh) * | 2016-10-27 | 2018-05-04 | 中国电信股份有限公司 | 基于分布式文件系统的元数据加解密方法和系统 |
CN108111479A (zh) * | 2017-11-10 | 2018-06-01 | 中国电子科技集团公司第三十二研究所 | 用于Hadoop分布式文件系统透明加解密的密钥管理方法 |
CN108491732A (zh) * | 2018-03-13 | 2018-09-04 | 山东超越数控电子股份有限公司 | 一种基于业务隔离存储的海量存储数据保护系统及方法 |
Non-Patent Citations (2)
Title |
---|
MADHVARAJ M SHETTY等: ""Data security in Hadoop distributed file system"", 《2016 INTERNATIONAL CONFERENCE ON EMERGING TECHNOLOGICAL TRENDS (ICETT)》 * |
SHANG, T., ZHUANG, H., & LIU, J.: ""Comprehensive security management system for Hadoop platforms"", 《IN 2018 IEEE INTERNATIONAL CONFERENCE ON INTELLIGENCE AND SAFETY FOR ROBOTICS (ISR)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112839013A (zh) * | 2019-11-22 | 2021-05-25 | 航天信息股份有限公司 | 一种密钥传输方法、装置及计算机可读存储介质 |
CN112839013B (zh) * | 2019-11-22 | 2022-10-11 | 航天信息股份有限公司 | 一种密钥传输方法、装置及计算机可读存储介质 |
CN111611620A (zh) * | 2020-05-26 | 2020-09-01 | 牛津(海南)区块链研究院有限公司 | 一种访问平台的访问请求处理方法及相关装置 |
CN113691530A (zh) * | 2021-08-24 | 2021-11-23 | 上海瓶钵信息科技有限公司 | 一种基于sgx的对称秘钥生成管理系统、方法、设备及介质 |
CN113691530B (zh) * | 2021-08-24 | 2023-04-07 | 上海瓶钵信息科技有限公司 | 一种基于sgx的对称秘钥生成管理系统、方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109981579B (zh) | 2021-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
LU101903B1 (en) | System and method for storing and accessing private data of Hyperledger Fabric blockchain | |
US11366924B2 (en) | Block chain-based data query method, server and storage medium | |
EP3962019B1 (en) | Trusted data transmission methods, apparatuses, and devices | |
KR101371608B1 (ko) | Dbms 및 데이터베이스에서 암호화 방법 | |
JP3741357B2 (ja) | データの保存方法およびシステム並びにデータ保存処理用記録媒体 | |
CN109936626A (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
CN110032885A (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
US20150019881A1 (en) | Accelerated cryptography with an encryption attribute | |
US11626976B2 (en) | Information processing system, information processing device, information processing method and information processing program | |
CN109992987B (zh) | 基于Nginx的脚本文件保护方法、装置及终端设备 | |
CN103336929A (zh) | 用于已加密文件访问的方法和系统 | |
CN110032876A (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
CN109981579A (zh) | 基于SGX的Hadoop秘钥管理服务安全加强方法 | |
CN106682521B (zh) | 基于驱动层的文件透明加解密系统及方法 | |
US20210248245A1 (en) | Calculation device, calculation method, calculation program and calculation system | |
CN110059497A (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
CN110033265A (zh) | 区块链中实现隐私保护的方法、节点和存储介质 | |
Coppolino et al. | Exploiting new CPU extensions for secure exchange of eHealth data at the EU level | |
US20220414223A1 (en) | Training data protection for artificial intelligence model in partitioned execution environment | |
Raj et al. | Efficient mechanism for sharing private data in a secured manner | |
Zhao et al. | Research on sqlite database encryption technology in instant messaging based on android platform | |
Khan et al. | An Investigation of Operative Data Safety and Authentication Schemes for Benign Cloud Environments | |
Sanchez et al. | AuditTrust: Blockchain-Based Audit Trail for Sharing Data in a Distributed Environment | |
JP2023154825A (ja) | 分散情報処理システムおよび分散情報処理方法 | |
Inbamani et al. | Securing cloud storage through face recognition mode |
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 |