基于安全硬件的云端数据机密性验证方案

更新时间:2023-07-14 00:35:13 阅读: 评论:0

N0TINFO SECURITY简历模板
等级保护__________________________________________________________________________________________________2020年第12期
■doi:10.3969/j.issn.1671-1122.2020.12.001
基于安全硬件的云端数据机密性验证方案
-----------------------尤玮媾蔦刘丽敏2,马悦B,韩东4----------------------------------
(1.中国科学院大学计算机科学与技术学院,北京100043;  2.中国科学院信息工程研究所信息安全国家重点实验室,
北京100089;3.国家电网西安供电公司,西安710032;4.北京赛迪软件测评工程技术中心有限公司,北京100048)摘要:随着物联网、社交网络、移动边缘计算和雾计算等新兴技术的出现和发展,互联网承载的数据量逐年攀升,云存储技术为大规模的数据存储管理提供了集约、规
范与高效的解决方案。云存储技术在提供便利的同时,也对云用户信息资产安全和隐
私保护带来了巨大的挑战。目前,云端数据机密性验证已成为云存储领域亟待突破的
重要安全问题。文章总结和分析现有云存储数据机密性验证方案,提出一种基于安全
硬件的云端数据机密性验证方案,安全分析及与现有方案的效率对比表明,该方案在
达到安全目标的前提下有效提升了运行效率。
关键词:云存储;可信执行环境;英特尔软件安全扩展;加密;数据机密性验证
中图分类号:TP309文献标志码:A文章编号:1671-1122(2020)12-0001-08
中文引用格式:尤玮嬪,刘丽敏,马悦,等.基于安全硬件的云端数据机密性验证方案[J].信息网络安全,2020,20(12):1-&
英文引用格式:YOU Weijing,LIU Limin,MA Yue,et al.An Intel SGX-bad Proof of Encryption in Clouds[J].
Netinfo Security,2020,20(12):1-8.
An Intel SGX-bad Proof of Encryption in Clouds
什么万千
YOU Weijing1,LIU Limin2,MA Yue3,HAN Dong4
(1.School of C omputer Science Technology^University of C hine Academy ofScience,Beijing100043,China",2.State
Key Laboratory of I nformation Security,the Institute of i nformation engineerings CAS,Beijing100089,China;3.Xi'an
Power Supply Company,Xi'an710032,China}4.Beijing CCID Software Testing Engineering Technology Center
C0.9LTD.,Beijing10004&China)
Abstract:With the evolvement of the Internet of Things(IoT),the edging computing,and the fog computing,the volume of data on the Internet surges by years In this ca,the cloud
storage technique comes and provides centralized,formalized,and efficient storage rvices
to the cloud urs.Despite the convenience attributed to using the cloud storage,it also brings
great challenges on information curity and privacy.The assurance of data confidentiality in
the cloud storage has become a significant curity issue.First,this paper analyzes existing
proof of confidentiality schemes.Second,an Intel sgx-bad proof of confidentiality in cloud
storage is propod.The curity analysis and performance evaluation show the proposal is
efficient and without degrading curity.
以苦为师
Key words:cloud storage;trusted execution environments(TEEs);intel software guard extensions(Intel SGX);encryption;proofs of confidentiality
花菖蒲收稿日期:2020-11-02
基金项目:国家重点研发计划[2017YFB0802404]
作者简介:尤玮#(1994—),女,福建,博士研究生,主要研究方向为云存储安全;刘丽敏(1985—),女,湖南,高级工程师,博士,主要研究方向为云计算安全与系统安全;马悦(1990—),女,陕西,工程师,硕士,主要研究方向为能源互联网安全;韩东(1990—),男,四川,工程师,本科,主要研究方向为信息安■全,电子信息工程。
通信作者:韩东186****************
n C tinfo 等级SECURITY
保护2020年第12城、
0引言
云存储作为各大云服务超共商碰要的业务之一,已逐渐发展为运用范围最广的存储技术。尤其在物联网、移动边缘计算、社交网络和雾计算等技术迅猛发展的今天,云存储服务集约、规范且高效地存储和管理着网络中的大量数搦。
果园全球知名数据分析公司IDC公司在2018年撰写的报告DI显示,预计到2025年,全球将会有超过49%的数据存放在公有云上。随着云存储技术的不断普及,诸多安全问题也逐步凸显,其中云端存储数据的机密性保护成为了云用户关心的重中之重。云用户可采取用户端加密或云服务器端加密的方式保护其数据机密性,其中,物联网中的大量节点因其计算能力有限而无法实现用户端加密,只能将数据上传后,由云服务器代为完成数据加密并将密文妥善存储。在云存储环境中,数据一旦上传,云用户即失去对数据的物理控制,进而无法获知云服务器中的安全服务和安全策略实施的具体细节。若云服务器并没有如约加密云用户的数据,云用户的数据机密性将受到威胁。因此,为了确保云用户的数据在云服务器中被如约加密存储,云用户可以向云存储服务器发起云端数据机密性验证,以确定娠机密性保护策略在云端的题情况。
学术界一般将云端数据机密性验证问题转化为两个子问题:云存储服务器是否执行加密、密文是否完整存储。在传统云存储系统模型中,云用户与云存储服务器仅通过网络连接,云用户对云存储服务器系统没有控制权限,因此,云用户只能通过挑战-响应的方式获取这两个子问题的答案。文献[2]首次提出云端数据机密性验证问题,云存储服务器采用高计算复杂度的对称算法封装云用户的数据,当且仅当数据被正确加密封装时,云存储服务器可以正确且快速地响应云用户的挑战,否则,云存储服务器无法在规定时间内向云用户响应正确的数据机密性证据;文献[3]基于杂凑函数提出了一种非对称封装算法,在保持封装过程耗时的前提下大大降低了解封装的算法复杂度,云用户仍可以通过时间差判断加密执行情况,同时,数据解封装和M1E确性的效率大幅提升;文献[4]在文献[3]的非对称封装算法的基础上引入抽样检査,进一步减少了云用户在数据封装过程中的操作,并在一定程度上降低了密文完整性校验的计算开销。但现有方案均需依赖特定的高计算复杂度的加密算法构造时间差,仍然给云用户和云存储服务器带去了较大的计算负担。
本文针对云端数据机密性錘方案存在的性能问题,提出了一种基于安全硬件的云端数据机密性密正方案。本方案不再依赖现有中央处理器计算能力与编码算法计算复杂度之间的冲突制造编码延迟,而是利用英特尔的软件安全扩展技术在云服务器的内存中分离一个可信执行环境,该环境中的用户应用程序代码和数据的安全性将受到硬件级别的强制性保护,使得云用户可以在一定程度上控制和验证云端数据加密过程的执行,以通用密码算法代替特定的高计算复杂度的密码算法,从而避免加密算法成为
限制系统性能的瓶颈,有效改善机密性验证系统数据加密阶段的运行性能。同时,数据完整性验证密钥和验证信息也在可信执行环境内生成,使得云用户在取回密文检査的情况下稣密文在云存储服务器上的存储状态,优化了密文数据完整性验证阶段的通信开销。加密密钥和数据完整性验证密钥在云用户与可信执行环境之间的传输也受到可信硬彳4«保执
1背景知识
1.1英特尔软件安全扩展
尔软扩展(hitel Soflware Guard Extensions, Intel SGX)Pl是一组扩展指令集,旨在以中央处理器安全为核心,依托严格的内存访问控制机制,保障用户关键代码和数据的机密性和完整性。英特尔六代及以上的中央处理器均支持软件安全扩展。英特尔软件安全扩展主要包括SHA1在内的主流杂凑算法以及AES在内的密码算法等处理器级别的指令,同时支持对系统函数和主流密码算法库(如OpenSSL)的
2
N0TINFO SECURITY
等级保护__________________________________________________________________________________________________2020
年第12期
安全编译和调用。用户在编写应用程序时可灵活使用这些扩展指令集以实现在运行时隔离出一个称为“围圈”(enclave)的安全执行环境。围圈是应用程序运行时在其地址空间中隔离出一块受到保护的内存空间,其内部的代码和数据以及数据输入输出均由英特尔中央处理器严格度量,外部软件甚至操作系统不可访问或篡改围圈内部的代码和数据。围圈是用户的应用程序控制的最小可信计算单元,英特尔中央处理器依据用户编写的软件安全扩展指令保护其代码和数据的安全。在云计算环境中,使用英特尔软件安全扩展赋予了云用户对其关键代码和敏感数据的控制能力,降低了云用户对云服务进行审计的难度。全球知名云服务提供商Azure,Dropbox^]等公司已在其搭载六代及以上英特尔中央处理器的云服务器上开启对英特尔软件疑扩展的支持。
作为安全保护的核心,英特尔软件安全扩展允许用户认证其创建的围圈,并提供了两种围圈认证方式:同一平台运行的不同围圈之间的本地认证(Local Attestation,LA)同以及跨平台围圈之间的远程认证(Remote Attestation,RA)[9]o在客户端-服务器服务模型下的云计算环境中,云用户一般采取远程认证方式认证部署在云端的围圈。在远程认证过程中,云用户除了可以认证围圈的身份外,还可以使用改良的DififisHelhnan密钥交换协议与围圈协商一个临时会话密钥,该密钥可以用于保护远程认证方与被认证围圈之间的通信消息,即云用户与围圈之间可以实现安全通信[32]。
忘忧石
1.2云端数据完整性证明方案
房屋财产保险
云端数据的完整性是云用户关心的另一个重要的数据安全属性,云端数据完整性验证方案主要由初始化、生成标签、生成证明和检查证明四个算法
初始化算法Seft奴I,(a,b))T血,:输入系统安全参数久和一组数据块分块规则,输出验证密钥民、验证系数A和一个验证密钥控制输出的伪随机数生成函数(PudorandomFunction,PRF)o验证密钥兄是一个长度满足2的随机验证密钥;根据数据分块规则(“),琳将被切分为若干个大小为a的数据块,环数据块内单位字节长度为/>,如此,每个数据块中有$=£个单位字节,相应地,本算法随机生成s个验证b
系薮A={a川W/Ws};此外,本算法选定一4*输出长度满足久的
生成数据块标签算法帀gG切仮:输入验证密钥民、数据M,输出数据块标签A。将数据M按数据分块规则分为”个大小为a的数据块,其中每个数据块包含s个长度为0的单位字节,即娠M可视作一个"xs个元素组成的矩阵{M=m s\l W7W",1W/W s};验证密钥民、验证系数△与数据块共同运算得到数据块标签A={oj11W i W n}o
生成数据完整性验证挑战算法:输入文件块数",输出本轮数据完整性验证挑战集合chai。一般数据完整性验证采取抽样检测的方式进行以保证协议运行效率。
生成数据完整性证据算法股層(胚加/”r:输入数据M、数据完整性挑战跑、输出数据完整性证据一般嫌
完整性验证挑战集合cW会包含一组数据块索引{◎},本算法基于数据块索引指定的数据块内髀合H算得到一组癖完整性磔r=觸1有ws}。
检査数据完整性证据算法VerifyPmofQia/S.,chai,A, r)^0/1:输入验证密钥民、验证系数△、数据完整性挑战c初、数据块标签A和数据完整性证据F,输出“成功”(标记为“1”)或“失败”(标记为“0”)。
数据完整性验证协议中的验证者运行初始化、生成数据块标签、生成数据完整性验证挑战和检査数据完整性证据算法,证明者根据錘者发起的挑战运行完整算法并响应。
2系统模型与敌手模型
2.1系统模型
本文所述云存储系统主要包含以下两类实体:云用户和云存储服务器。云用户从云服务提供商处购买
3
n C tinfo curity
等级保护2020年第12賦____________________________________________________________________________________________
慌乱的意思并使用云存储服务;云存储服务器向云用户提供存储服务并保障云用户的数据在云端的机密性。特别地,本文将云存储服务器划分为受英特尔软件安全扩展保护的可信执行环境(即运行时建立的围圈)和不可信执行环境两部分。
2.2敌手模型
本文的安全模型假定云存储服务器符合“廉价松散”(cheap-and-lazy)閃的敌手模型,即云存储服务器可能受经济原因驱使而出现破坏云用户安全的违规或违法行为。在本文的安全模型中,云存储服务器可能为节省计算资源而不按约定加密云用户的数据,或为节省存储空间而删除部分云用户数据。云用户仅信任自身以及通过英特尔公司处理器产品和软件安全扩展在云存储服务器上构建的可信执行环境。而云存储服务器上的其他部分,包括不受保护的内存、外存,其他应用软件或其他租户的云服务实例以及操作系统等均不受云用户信任。
3基于安全硬件的云端数据机密性验证方案3.1方案概述
传统的云端数据机密性验证方案中云用户无法控制云存储器上的代码和数据,因此只能依赖提升密码算法的计算复杂度以提高云存储服务器欺骗的难度,从而间接强制云存储服务器诚实执行加密。高计算复杂度的密码算法虽然是数据机密性验证有效性的基础,但同时也是制约协议运行效率的根源。为了达成机密性验证,云用户和云存储服务器均需付出较大的计算开销(本文第5章将给出具体的性能
分析)。本方案充分利用安全硬件提供的特殊安全服务使得云用户可以一定程度上控制其上传至云端的关键代码和敏感数据,将通过算法实现对云存储服务器审计转换为利用可信硬件对加密过程进行控制和审计,即云端机密性验证不再依赖复杂计算,因此系统性能将得到大幅提升。云用户可通过支持软件安全扩展的英特尔中央处理器在不可信的执行环境中隔离出一个可信执行环境即围圈,并在其中完成加密。首先云用户在云存储服务器上创建f围圈,并通过远程认证确定围圈身份,同时建立一个安全通信信道。为了防止云存储服务器临时加密数据,方案采取一次一密的方式生成加密密钥,以避免云存储服务器回滚加密过程,即云存储服务器不能通过重放云用户请求临时加密以欺骗云用户0加密完成后,围圈通过安全信道将密钥传输给云用户,云用户在本地妥善保管该密钥。当云用户需要解密数据时,将再次通过安全信道回传密钥,密文在围圈内解密,并通过云存储服务器传回明文数据。
云端数据机密性的实现不仅包含加密过程的正确执行,还包含密文数据的完整存储。将云数据完整性验证方法与本文的系统模型相融合,各个算法的执行主体发生了一定的变化。围圈在加密数据的同时一次完成初始化和标签生成,生成的数据标签直接存储在云存储服务器外存上,数据完整性验证密钥和验证系数则通过安全信道传输给云用户。系统运行过程中,可由云用户多次发起挑战,云存储服务器基于密文和挑战生成完整性证据,最后由云用户使用验证密钥检查完整性证据合法性,进而判断密文的完整情况。
3.2方案描述
基于安全硬件的云端数据机密性验证方案由初始化、数据加密、密文数据完整性检查3个部分组成,具磐法邀十如下。初始化与数据加密流程如图1所示。
-----►安全信道
-----►普通信道
云存储服务器(CSP)云用户
图1初始化与数据加密流程图
初始化阶段。云存储服务器与云用户协商得到系统应当满足的安全等级和对应的安全参数2。相应地,系统产生并发布一个阶为g的乘法循环群G,g
的长
__________________________________________________________________________________________________“020年第12期n C tinfo curity 等级保护
度为2,g是G的一个生成元系统同时还产生并发布一个阶为q的大整数域乙o随后云用户应用程序在云存储服务器内存空间中建立一个围圈,通过远程认证与该围圈建立安全通信信道(对应图]的步骤①)。
远程认证包含一个改良的Difiie-HeUman密钥交换,围圈与云用户通过三轮交互协商输出一个临时会话密钥用于加密后续通信消息。远程认证由云用户端发起,围圈首先与云用户端通过消息msg.同步远程认证模式是基于增强私有身份标识(Enhanced Private ID,EPID)还是基于椭圆曲线数字签名(EUiptic Curve Digitd Signature Algorithm,ECDSA),以及是否使用可连接的认证报告。同时,围圈内部随机生成一对公私钥对(a,g a),其中°是一个刍上的大整数。随后,云用户接受围圈发来的msg.并从中提取出g a,选取另一个乙上的大整数b作为云用户的临时私钥,计算对应的才作为临时公钥并通过消息加锂发还给围圈。围圈将收到的云用户临时公钥貳,围圈的临时公钥g。以及其他的应当被加载进围圈中的所有代码和数据作为输入,经过Intel中央处理器的严格度量,输出一个度量报告,随后交给TWk的围圈,即断言围圈(Quoting Enclave)进行进一步签名。断言围圈在验证本地生
成的度量报告有效后,将使用硬编码在中央处理器上的秘密值导出签名私钥,对度量报告进行签名。云用户收到包含签名度量报告的加昭3后,向Intel在线认证服务询问该度量报告上的签名的有效性。当且仅当Intel 认证服务器确认签名有效时,对围圈的远程认证完成,云用户可以确定围圈已成功加载并正常运行,其协商密钥的过程和后续加密以及密文数据完整性验证的执行也将受到可信硬件的保护。与此同时,围圈和云用户用各自的私钥份额讨算出临时会话密钥k=g ab,这个密钥将用于保护云用户与围圈之间的通信消息。否则,用户将认为本次远程认证失败,云用户与围圈协商的密钥作废,后续操作直接终止。
围圈按照用户数据分块规则读入云用户存储在云存储服务器上的数据M(对应图1中的②);随后云用户随机生成一个密钥乞并经由安全信道返回给云用户(对应图1中的步骤③);紧接着,围圈使用密钥上加密云用户的数据,并存储在云存储服务器上(对应图1中的步骤④);最后,围圈内的数据将在围圈完成明文数据块加密后随围圈一起安全销毁。
数据密文数据完整性验证阶段流程如图2所示。
-----►安全信道
-----►普通信道
云存储服务器(CSP)云用户
图2密文数据完整性验证流程图
围圈运行完整性验证中的初始化算法随机生成验证密钥人和Zg上的一组大整数作为验证系数4=他| 10/0},指定伪随机生成函数刃迟。随后运行生成数据标签算法为每个密文块生成密文数据标签(对应图2中的步骤①)。
6=PRF kc(0+£勺伽(1)
戶1
数据块标签集合A={a^n}与密文一同被云存储服务器存储在外存上,而验证密钥❻和验证系数A 通过安全信道彳专输给云用户()(寸应图2中的步骤②)。
系统持续运行过程中,云用户生成随机挑战{(Z,砧◎}并将挑战发送给云存储服务器(对应图2中的步骤③),其中2•是随机选取的文件块的索引,则是Z上的一组随机大整数;接着,云存储服务器运行完整性验证协议中的生成数据完整性证据算法得到数据完整性碑。
Y ViSj(2)(i9Vi)echal
并与挑战数据块对应的数据标签Ac={6|注肋/}—同发送给云用户(对应图2中的步骤④)。最后,
云用户使用

本文发布于:2023-07-14 00:35:13,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1095212.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   用户   验证   服务器   围圈   加密   机密性   算法
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图