CN109981579A - 基于SGX的Hadoop秘钥管理服务安全加强方法 - Google Patents

基于SGX的Hadoop秘钥管理服务安全加强方法 Download PDF

Info

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
Application number
CN201910137462.0A
Other languages
English (en)
Other versions
CN109981579B (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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910137462.0A priority Critical patent/CN109981579B/zh
Publication of CN109981579A publication Critical patent/CN109981579A/zh
Application granted granted Critical
Publication of CN109981579B publication Critical patent/CN109981579B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network 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
    • 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/0442Network 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
    • 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
    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • 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
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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秘钥管理服务安全加强方法
技术领域
本专利属于信息安全技术领域,提出了一种基于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。
CN201910137462.0A 2019-02-25 2019-02-25 基于SGX的Hadoop秘钥管理服务安全加强方法 Active CN109981579B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
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)

* 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 (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)

* Cited by examiner, † Cited by third party
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