时间:2016-06-21 11:13 文章来源:http://www.lunwenbuluo.com 作者: 胡元闯 张波 张红军 点击次数:
摘要:引入可信的第三方TPA,基于RSA算法、Hash函数和DES算法,为云计算提出一种能为数据提供机密性和完整性的安全存储方案SCBRHD。该方案利用RSA算法、Hash函数及DES算法进行加密来确保数据的机密性和存储安全。数据通过二次加密存储在云服务器,加密、解密和认证只涉及终端用户和TPA。给出了方案的架构模型和算法流程,并在Linux平台的Cloudsim云计算仿真环境下对其进行仿真分析,验证其有效性。
关键词:云计算;机密性;完整性;存储安全;加密解密
引言
云计算是一种新出现的技术,通过互联网提供各种硬件、软件和应用服务[1]。由于其资源利用率高、大容量的存储空间、超强的处理能力等特性,使其成为未来的主流计算模式。但由于云计算的开放性特点,通过互联网为终端用户提供各种服务,所以存在潜在的安全隐患,数据的隐私保护和安全存储问题成为云计算推广的巨大障碍[2]。据调查,74%的IT行业行政主管和办公室人员因为安全和隐私风险不希望把他们的信息存储在云服务器上。因此,需要新的服务体系结构来处理终端用户在云服务器上存储数据的安全问题。为云计算建立安全的数据存储方案,成为云计算为终端用户提供可靠服务的一个重要问题[3]。
针对当前云计算存在的安全风险,不少学者对云计算的数据安全存储和隐私保护问题进行了研究。Choudhury等人[4]提出一种认证框架,在用户访问云服务器之前其合法性被强制验证,通过提供管理认证,在用户和云服务器之间建立会话。通过评估,该方案可以抵制各种攻击如人为攻击、重放攻击和拒绝服务攻击等。XiaoChunYIN等人[5]基于PKI体系,利用椭圆曲线密码原理(EllipticCurveCryptography,ECC),为云计算提出一种安全的数据存储方案。
本文引入可信的第三方TPA,基于RSA算法、Hash函数和DES算法,为云计算提出一种能为数据提供机密性和完整性的安全存储方案SCBRHD。给出了方案的架构模型和算法流程,并在Linux下的云计算模拟仿真环境Cloudsim对其进行仿真分析,验证其有效性。
1参与者及相关加密算法介绍
1.1参与者及相关符号说明
本文提出的SCBRHD,提供安全的数据存储,涉及到三个参与者,分别是终端用户(End-User,EU)、可信第三方(ThirdPartyAuditor,TPA)和云服务器(CloudService,CS)。这些参与者及其角色描述如表1。
1.2相关加密算法介绍
RSA算法:RSA是一种公钥加密算法。RSA可用于密钥交换、数字签名或数据块加密。RSA用一个可变大小的加密块和一个可变大小的密钥进行加密。在SCBRHD中,RSA用来生成终端用户和TPA的对应密钥,这些密钥用来对文件进行加密和解密。
Hash函数:Hash函数运算可以把任意长度的消息生成固定长度的摘要。对每一个消息,Hash函数都能产生一个较短而固定长度的摘要,且都是独一无二的。这对Hash函数安全性方面的主要要求是单向函数(不可逆的),且他们不能产生冲突。在SCBRHD中,通过Hash函数校验,能维持数据的完整性。
DES算法:DES即数据加密标准,是一种对称密钥块密码,为64位块大小和56位的密钥。在加密端,DES利用64位的普通文本产生64位的密码文本,在解密端,DES利用64位密码文本产生64位的块文本。在SCBRHD方案中,TPA利用DES算法来为EU的文件提供更可靠的安全服务。TPA在往云服务器发送文件之前执行DES算法。利用DES算法,可以为用户提供更安全的数据。
2SCBRHD的架构模型和算法流程
本文提出的SCBRHD方案,利用RSA算法、Hash函数和DES算法及相关加密工具来为云计算提供安全的数据存储服务。在SCBRHD中,EU和TPA分别有两个密钥,即公钥和私钥。SCBRHD对数据进行两次加密,首先通过EU私钥进行加密,再由TPA公钥进行加密,这为EU提供数据的机密性。该方案利用RSA算法和DES算法来执行加密和解密,进行数据认证,通过计算Hash摘要,进行比较,确保数据的安全性。该方案的框架模型结构图如图1所示。
SCBRHD方案涉及以下操作。
⑴密钥产生:终端用户EU和可信第三方TPA分别利用RSA算法为自己产生一对密钥。其中TPA的私钥为pk1,EU的私钥为pk2;TPA的公钥为d1,EU的公钥为d2。
⑵密钥共享:TPA密钥集合{pk1,d1}在TPA上,EU的密钥集合为{pk2,d2},在EU上。TPA使用安全信道和EU共享器公钥d1。
⑶加密:首先,EU利用其公钥d2对数据文件F进行加密E(F,d2),然后进行Hash运算,生成Hash摘要H(E(F,d2)),接着,用TPA公钥d1对E(F,d2)进行二次加密E(E(F,d2),d1)。之后,Hash摘要H(E(F,d2))再次由d1加密E(H(E(F,d2)),d1)。此时,这两个包为E(E(F,d2),d1)|E(H(E(F,d2)),d1),被附加在数据上发往TPA。
TPA存储数据的Hash摘要,以确保数据的完整性。TPA用其私钥对接收到的E(E(F,d2),d1)进行解密,得到E(F,d2)。接着,TPA通过DES算法产生一个随机密钥k对E(F,d2)进行加密,然后将再次加密后的数据发往CS。这样,数据的安全性得到进一步保障,而产生的随机密钥由TPA存储,用于将来解密。
⑷解密:当要求验证数据文件的正确性时,经DES加密后存储在云服务器上的数据文件{Encrypt(E(F,d2))}发送到TPA。TPA首先通过自己存储的DES随机密钥K对数据进行解密;然后TPA生成从CS中获得加密文件的Hash摘要;接着,TPA对数据文件原始加密的Hash摘要进行解密,并将其与新生成的Hash摘要相比较,若一致,说明数据文件没有被修改过,是安全的。这样,可以确定EU请求的数据文件是否正确。传送到EU的数据文件是由其公钥加密,所以也只有EU能解密。EU接收到加密文件后,用其自身的私钥解密,从而可以读取数据文件。
图2给出EU、TPA和CS之间对数据文件进行加密、存储到云服务器的过程,以及EU读取数据时TPA对数据文件的校验认证、解密,EU的解密过程。
SCBRHD方案涉及的算法对应三个参与者交互的过程,可以细分为三个算法。算法1给出数据由EU存储到CS的加密过程。算法2进行验证,给出TPA验证数据完整性的过程。算法3给出文件恢复过程,指数据从CS通过TPA,然后到EU的过程。
3安全性分析及性能分析
3.1安全性分析
本文提出的SCBRHD方案,数据通过强有力的加密算法进行加密,并由Hash摘要进行验证,对非授权用户是保密的。因此数据的机密性和完整性就可以得到保证。以下是对SCBRHD方案的安全性分析。
数据的正确性和完整性:在SCBRHD中,只有EU能够对从可信第三方TPA接收到的数据进行解密。因为该数据是由EU的公钥d2加密,所以,只有其对应的私钥pk2可以解密,而私钥只有EU知道,因此数据的正确性得到保证。当EU想读取存储在CS上的数据时,TPA要求对来自CS的数据执行数据完整性验证,这保证了数据的完整性。
鉴定认证:EU利用自己的密钥标记Hash摘要,其他人无法对其标记,因此TPA很容易找出发送消息者进行鉴定。如果其他任何人从CS下载该数据文件,通过任何方式执行修改后再上传到CS,而上传的时候需要EU的私钥pk2对文件进行标记,因此,TPA很容易识别一个用户是否合法。
数据机密性:数据在可信第三方TPA和云服务器CS之间加密和编码,避免了云服务器知道文件的内容,保证了文件的隐私和机密性。数据只以密文形式在网络上传输,所以入侵者无法从传输的文件中知道文件的具体信息。在SCBRHD中,CS只存储加密的数据文件,不参与加密解密,所以CS无法得到文件的任何信息,能确保数据的机密性。
预防网络攻击:EU必须通过互联网才能将数据存储到CS上,EU通过互联网可以从CS中访问自己的数据,这就有被入侵者攻击的危险。但在SCBRHD中,传输的数据是通过不对称加密和使用一次Hash摘要。传输的数据包含加密的Hash摘要,而入侵者无论扮演何种角色都难以解密。若有人对数据和Hash摘要进行修改,TPA很容易就能证实,最终将结果传给EU。因此,SCBRHD能有效的预防网络攻击。
3.2性能分析
由EU、TPA和CS分别完成相应的操作。EU执行更多的加密操作,而TPA既执行加密操作也执行解密操作,减少了用户的解密操作。CS仅存储EU的加密数据,没有涉及加密和解密。EU、TPA和CS的开销情况如表3所示。涉及加密操作(指数操作)配对操作和计算Hash摘要。这些加密操作都是在EU和TPA上完成。表3和表4比较了EU和TPA上加密和解密过程的指数操作、Hash函数计算和配对操作。
首先,分析EU和TPA加密过程指数操作。文件加密过程中,EU首先执行一个指数操作,接着在文件二次加密过程中再执行一次指数操作,然后在Hash加密过程再执行一次指数操作。因此,在EU上一共执行了三次指数操作。此时在TPA中,在接收到消息的解密过程中执行了一次指数操作,在存储到CS之前进一步加密再执行一次指数操作。所以TPA在加密过程中一共执行两次指数操作。在解密过程中,EU只执行一次指数操作。而TPA执行了两次。所以在解密过程中,TPA比EU做了更多的工作。
其次,分析EU和TPA的Hash运算。EU执行一次Hash运算,以找到消息的Hash摘要。在TPA中,加密过程没有涉及Hash运算。在解密过程中,EU没有涉及Hash运算,在TPA上执行一次Hash运算以验证数据的完整性。
再次,分析EU和TPA上的配对运算。加密过程在TPA端有一次配对运算。加密过程在EU和TPA都没有配对运算。通过表3、表4可知,在云存储器上没有涉及到运算,CS只提供为EU存储数据。很多运算在TPA完成,减少了EU的工作。
4仿真
4.1仿真环境
本文在Linux环境下的云计算环境模拟仿真工具Cloudsim[6]上,对提出的SCBRHD进行仿真验证。Cloudsim是2009年推出,由澳大利亚墨尔本大学RajkumarBuyya教授领导团队开发的云计算仿真器,其目标是在云基础设施(软件、硬件、服务)上,对不同应用和服务模型的调度和分配策略的性能进行量化和比较,达到控制使用云计算资源的目的。
4.2仿真结果
本文在Cloudsim上模拟EU、TPA和CS,对所提出的方案进行模拟仿真实验。实验机器配置:CPU:AMD3.2G;内存4GMB;硬盘:6*150GSATA硬盘;OS:红旗Linux7.0。设置一个终端用户EU、一个TPA和一个数据处理中心(CS),虚拟机采用空间共享方式,网络延迟等参数采用环境默认值。实验时,用户存储文件数量从1到500个,用来测试云模拟基础设施的运算能力。本文主要测试在SCBRHD中从EU加密数据最终存储到CS所消耗的时间,以及EU发出请求最终从CS读取数据所需要的时间,验证该方案的可行。实验结果如图3所示。
由图3结果可知,一个终端用户通过加密将500个文件存储到云服务器大约需要15.6秒,而从云服务器读取500个文件大约要21.6秒。读取时间比存储时间要长,主要原因是读取文件的时间除了解密时间外还有一个完整性校验的过程,故时间比存储的时候要稍长。但从总的存取时间来看,是在用户完全可以接受的范围,表明了SCBRHD方案的有效性。
5结束语
本文针对终端用户将数据存储在云服务器上所面临的隐私保护和安全存储问题,引入可信的第三方TPA,基于RSA算法、Hash函数和DES算法,为云计算提出一种能为数据提供机密性和完整性的安全存储方案SCBRHD。该方案利用RSA算法、Hash函数及DES算法进行加密来确保数据的机密性和存储安全。给出了方案的架构模型和算法流程,在Linux平台下的云计算模拟仿真环境Cloudsim对其进行仿真实验,并对其性能指标进行分析,结果表明提出SCBRHD方案的有效性。本文的研究对云计算中的数据安全存储具有一定的参考意义。
参考文献(References):
[1]M.Armbrust,A.Fox,R.Griffith."AViewofCloud
Computing,"CommunicationsoftheACMMagazine,2010.53(4):50-58
[2]冯朝胜,秦志光,袁丁.云数据安全存储技术[J].计算机学报,
2014.37.
[3]李晖,孙文海,李凤华等.公共云存储服务数据安全及隐私保
护技术综述[J].计算机研究与发展,2014.51(7):1397-1409
[4]A.J.Choudhury,P.Kumar,M.Sain,L.Hyotaek."AStrong
UserAuthenticationFrameworkforCloudComputing,"inProc.IEEEAsia-PacificServicesComputingConference(APSCC),JejuIsland,SouthKorea,2011:110-115
[5]XiaoChunYin,NonThiranant,HoonjaeLee.Secured
DataStorageSchemeinCloudComputingusingEllipticCurveCryptography,APICIST2013.
[6]RodrigoN.Calheiros,RajivRanjan.CloudSim:atoolkitfor
modelingandsimulationofcloudcomputingenvironmentsandevaluationofresourceprovisioningalgorithms.Software:PracticeandExperience,2011.41(1):23-50
联系方式
随机阅读
热门排行