一种基于SGX技术的云外包计算安全方法技术

技术编号:33389001 阅读:19 留言:0更新日期:2022-05-11 23:04
一种基于SGX技术的云外包计算安全方法属于云计算安全领域,解决了云环境运行环境不透明、不安全问题。本方法利用Intel SGX提供的可信执行环境Enclave确保云计算节点的可信性,在注册阶段通过第三方可信机构制定的统一安全标准对云环境进行配置与远程认证,保证云端的软硬件环境安全可靠。利用Intel SGX的密码学库成公私钥对,公钥生成集群证书,私钥通过密封机制保存在云端,确保只有受过认证的相同配置的Enclave才能通过解封获得证书私钥。在工作阶段,用户通过集群证书中的公钥加密自己的隐私数据上传到云环境中,云节点启动Enclave向第三方可信机构进行远程认证、通过密封机制获得私钥、解密读取用户数据、计算并加密输出。加密输出。加密输出。

【技术实现步骤摘要】
一种基于SGX技术的云外包计算安全方法


[0001]本专利技术属于分布式大数据计算安全领域,具体设计一种基于SGX技术的云外包计算安全方法。

技术介绍

[0002]Intel SGX是内嵌于英特尔CPU的一组扩展指令集,可以在内存中开辟一块受保护的区域,提供给用户64MB或128MB大小可保障的可信执行环境——Enclave,任何特权软件与恶意代码都无法访问、窃取和篡改其中所保护的内容。SGX还提供了丰富的密码学库,包括:基于AES_GCM模式的加解密功能,SHA256的哈希函数,利用RSA生成非对称密钥等功能。并且SGX还支持本地人证与远程认证两种认证模式,可以证明自身是否正确运行在Intel SGX的硬件环境下。当Enclave关闭时,Enclave内的秘密就会丢失。Enclave生成特有的密钥,加密或解密平台上已有的数据以保存和保护数据。加密和解密操作分别称为封装和解封装操作,只有同一配置的Enclave才能对密封数据进行解封。
[0003]Hadoop是一个分布式系统基础架构,也是一个可开发与运行处理大规模数据的软件平台。21世纪初,谷歌公司用廉价PC集群搭建了大型的MPP搜索引擎系统,成功解决了巨大数据量的搜索问题。并于2003年、2004年和2006年在学术会议SOSP和OSDI上发表了有关GFS(Google文件系统)、Map/Reduce(编程环境)和Big Table(数据模型)的论文,这3篇奠基性的论文促成了Hadoop的诞生。2004年,Cutting D和Cafarella M J根据Google Lab论文实施,取名Hadoop。Hadoop的出现解决了大数据并行计算、存储、管理等关键问题,用户可以在不了解分布式底层细节的情况下开发分布式程序,即功能的透明性,开发者只需要实现map,reduce等接口,而不需要关注底层系统级的问题,便可充分利用集群的威力高速运算和存储。
[0004]在Hadoop中,其数据处理核心为Map

Reduce程序设计模型。Map

Reduce把数据处理和分析分成两个主要阶段,即Map阶段和Reduce阶段。Map阶段主要是对输入进行整合,通过定义的输入格式获取文件信息和类型,并且确定读取方式,最终将读取的内容以键值对的形式保存。而Reduce是用来对结果进行后续处理,通过对Map获取内容中的值进行二次处理和归并排序从而计算最终结果。
[0005]目前有一些使用Intel SGX技术构建可信云的初步方案,但是大多存在以下问题:(1)现有的可信云方案基本是站在云服务提供商的角度以云端自身建立一个可信执行环境为目的,只解决了代码执行时的安全性,并没有站在用户的角度考虑数据在传输时的保密性。使用提供商自己生成的密钥加密数据、或直接明文传输,存在敏感信息泄露问题,容易遭受到来自云端内部的窃听。(2)现有的方案都是云服务提供商自己进行远程证明,给出的认证结果很容易被伪造。并且大多使用的安全协议都很不清晰,对用户来说云端依然是一个不透明的“黑匣子”,无法保证其正确运行在可信环境中。(3)现有的方案缺乏统一的安全标准与管理,无法向用户保证云端计算的可信性,导致用户难以信任云服务提供商。

技术实现思路

[0006]本专利技术的目的是提供一种拥有可信保障的云外包计算安全方法,基于Intel SGX技术设计安全方案,从而有效地实现云环境下分布式计算的安全,防止用户数据的泄露。
[0007]本专利技术引入第三方可信机构,可以实现如下功能:(1)第三方可信机构(类似CA认证机构)定期对云端集群硬件基础进行检查,确保SGX可以正常运行,并进行相关配置及记录。(2)对集群SGX创建的Enclave进行远程认证并与硬件信息核对,确保Enclave正确运行在SGX的硬件环境下。(3)向用户提供集群安全情况以及远程认证结果,并为用户提供集群证书(私钥由SGX密封在集群)。用户使用证书中的公钥上传自己的对称密钥来进行分布式计算与存储。(4)对用户的代码进行包装或提供接口,以满足集群分布式计算运行规范。
[0008]本专利技术由三个实体组成:用户,第三方可信机构和云计算服务提供商。
[0009]注册阶段主要是第三方可信机构对云服务提供商进行硬件检测,并都在本地初始化一个Enclave,双方利用Intel SGX技术的远程认证机制进行平台可信性认证。
[0010]在云服务提供商的Enclave内生成公私钥对,其中公钥与集群相关信息由第三方可信机构制作成集群证书,私钥由SGX的数据密封机制保存到云端系统。
[0011]工作阶段由用户向云服务提供商申请服务,云服务提供商向用户发送由第三方可信机构颁发的集群证书。
[0012]用户通过证书上的公钥与相关要求,将自己的数据与代码加密上传到云端系统。
[0013]云端系统启动云计算节点,创建enclave向第三方可信机构进行远程认证,认证通过后用密封的私钥解密用户上传的对称秘钥,再用对称秘钥解密用户的代码及数据进行计算,最后用相同的对称密钥加密输出,以保证分布式计算中的安全性。
[0014]分布式作业过程中数据传输方案:依据Hadoop Map

Reduce工作原理,数据在作业传输中主要分为三个环节Map阶段前、Map阶段后Reduce阶段前、Reduce阶段后。其中Map阶段后Reduce阶段前由于要依照Key进行分区,而SGX提供的AES_GCM加密模式加密相同数据会产生不同的密文,所以本方法使用SHA256对key值进行散列并将结果作为中间key值,而真正的key值和value值一同存于中间value值中。从而保证在分区的过程中相同的key值被分为同一分区。
[0015]云计算节点应用总体流程架构是在Hadoop Map

Reduce计算中云计算节点的执行过程,包括可信与不可信两个部分:(1)不可信部分包含两个模块:数据处理模块、编码模块、Ecall模块。(2)可信部分包含四个模块:远程认证模块、密封模块、加解密模块、计算模块。其中不可信部分作为Hadoop Streaming架构与Enclave的交流层,具有以下功能:(1)创建与销毁Enclave。(2)把从标准输入中读取的数据通过调用可信函数传递给Enclave。(3)把Enclave中通过可信函数传递回来的输出结果按要求写入到标准输出中。(4)对二进制数据进行base64编码/解码。
[0016]云计算节点应用在启动时首先由不可信部分创建Enclave,然后执行远程认证模块,只有远程认证通过后才允许计算任务执行。由于Enclave本身资源有限,为了保证运行效率将不需要保密措施的数据处理与编码任务放在不可信部分执行。通过Ecall(可信函数调用)来将处理好的行数据传入Enclave内部解密计算,并通过函数返回加密的计算结果。
附图说明
[0017]图1是本专利技术的总体框架图。
[0018]图2是本专利技术的注册阶段流程图。
[00本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于SGX技术的云外包计算安全方法,其特征在于,包括以下步骤:(1)云服务提供商向第三方可信机构进行注册,生成集群证书;(2)用户向云服务提供商申请服务,安全执行分布式计算作业;(3)云计算节点应用总体流程架构;云服务提供商向第三方可信机构进行注册,生成集群证书步骤包括:首先,第三方可信机构制定统一的安全标准,实地对申请注册的云服务提供商计算环境进行验证;接着,第三方可信机构在云端系统中创建可信执行环境Enclave,并使用SGX提供的远程认证服务可以确保其创建的Enclave运行在正确的、支持Intel SGX技术的硬件环境中,保证云计算环境的软硬件基础的可信性;然后,通过SGX提供的密码学库,在Enclave中生成公私钥对;其中私钥通过SGX的密封机制存储至文件系统中保证其安全性,且根据SGX密封机制只有同一配置的Enclave才能解封;最后第三方可信机构通过生成的公钥与云端系统相关信息生成只属于这个集群的集群证书,完成注册;用户向云服务提供商申请服务,安全执行分布式计算作业步骤包括:首先,用户向云服务提供商申请服务,云服务提供商向用户传输由第三方可信机构颁发的集群证书;用户生成对称密钥并通过加密数据,再使用集群证书中的公钥对对称密钥进行加密,把加密的数据、加密的对称密钥上传到云端系统中;然后,云端系统中的云计算节点创建与注册阶段同一配置的Enclave环境,向第三方可信机构进行远程认证,确保软硬兼环境可信;远程认证通过后,云计算节点Enclave使用SGX的密封机制解封私钥,使用私钥解密用户上传的对称密钥,再通过SGX密码学库解密数据,进行计算;最后云计算节点Enclave使用用户上传的对称密钥加密输出数据;从而可以保证代码及数据只在可信执行环境中处于明文状态执行计算,在云端各个节点中的传输过程中始终处于使用用户密钥的加密状态;云计算节点应用总体流程架构是在Hadoop Map

Reduce计算中云计算节点的执行过程,包括可信与不可信两个部分:(1)不可信部分包含两个模块:数据处理模块、编码模块、Ecall模块;(2)可信部分包含四个模块:远程认证模块、密封模块、加解密模块、计算模块;其中不可信部分作为Hadoop Streaming架构与Enclave的交流层,具有以下功能:(1)创建与销毁Enclave;(2)把从标准输入中读取的数据通过调用可信函数传递给Enclave;(3)把Enclave中通过可信函数传递回来的输出结果按要求写入到标准输出中;(4)对二进制数据进行base64编码/解码;云计算节点应用在启动时首先由不可信部分创建Enclave,然后执行远程认证模块,只有远程认证通过后才允许计算任务执行;由于Enclave本身资源有限,为了保证运行效率将不需要保密措施的数据处理与编码任务放在不可信部分执行;通过可信函数调用来将处理好的行数据传入Enclave内部解密计算,并通过函数返回加密的计算结果。2.根据权利要求1所述的基于SGX的云外包计算安全方法,其特征在于,所述的云服务提供商向第三方可信机构进行注册具体步骤包括:(1

1):云服务提供商向第三方可信机构申请注册集群;(1

2):第三方可信机构实地检测云服务提供商的硬件环境,在每个云节点生成Enclave,通过第三方可信机构系统进行远程认证;(1

3)三:远程认证通过后云计算节点在Enclave中通过RSA生成函数sgx_creat_rsa_key_pair()生成公私钥对,并通过sgx_seal_data()函数密封私钥到云端系统;根据SGX密封机...

【专利技术属性】
技术研发人员:王冠尹煜
申请(专利权)人:北京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1