陈暄
摘要:伴随着云计算的概念的不断发展,基于云计算下的信息安全存储模式正在引起广泛的关注,该文首先阐述了云计算中的相关概念,其次描述密钥聚合算法及其不足,提出了一种改进的密钥聚合算法,通过对传统密钥聚合中Extract和Decrypt进行优化,并进行了紧凑性分析和正确性证明,在云计算仿真平台实验中与传统的DES算法,AES算法进行相比取得了比较好的效果,说明该文算法在云计算平台中具有一定的效果。
关键词:云计算;加密;聚合算法
中图分类号:TP393 文献标识码:文章编号:1009-3044(2017)14-0056-03
随着“互联网+”,云计算概念不断发展,有关云计算模式下的存储技术正在引起大家广泛的关注。云计算中的存储是由云计算衍生和发展而来的一种存储服务技术,其本质是通过本地网络将数据信息上传到云计算服务提供商中,这样可以有效的降低企业存储数据成本、提高使用和高扩展性的优势,有利于满足海量数据存储中的需求,有效的成为信息存储发展的重点领域。国内外学者从不同的角度进行了研究,文献[1]提出了利用同态加密技术应用于云环境的数据传输,提高云环境中数据传输的可靠性与安全性;文献[2]提出一种基于拉格朗日插值多项式的匿名广播加密方法,实验说明该方法具有较低的通信和计算开销,可以有效地解决云存储中密文数据的匿名访问控制问题;文献[3]对同态加密未来的研究问题进行了分析;文献[4]提出基于策略的多用户全同态加密方案,性能评估说明该方案高效地实现密文数据的全同态运算,并能有效地支持访问控制和多用户共享;文献[5]提出一种在非对称可搜索加密算法上实现排序查询功能的方案。实验结果表明,该方法支持非对称加密,具有较好的检索效率,并且應用性强;文献[6]提出一种基于同态加密和密钥策略基于属性的混合加密方案,实现了对云用户隐私信息分类加密保护,实验结果表明,通过基于不同类别的加密方案,使得云用户的数据共享更加安全便捷,混合方案更贴近用户需求;文献[7]设计了基于策略的文件加密存储和安全删除机制,仿真实验说明该机制增加了云存储环境下文件的安全性,且减小了空间和时间开销。本文在文献[8-9]的基础上,提出了一种改进的密钥聚合算法,并对其进行了紧凑性分析和正确性证明。
1云计算相关概念
云计算中的Hadoop架构是一种开源的分布式计算框架,被广泛的使用在大型的企业中,它实现了MapReduce模型。Had-hoop架构中包含了主控节点和计算节点两个部分,其中主控节点(JobTracker)任务是用于调度和管理其他计算节点(Task-Tracker)。主控节点的作用是主要试运行在集群中的任何一台计算机上。计算节点主要是负责在云端执行任务的节点。主控节点将云计算模型中的Map任务和Reduce任务发给空闲的TaskTracker执行并进行监控运行任务,当出现主控节点出现故障无法继续主管任务的时候,它就会把其任务交给另一个计算节点并重新进行运行,因此Hadoop是一种架构可靠的分布式计算框架。而基于Hadoop的HDFS采用的是Master/Slave架构,采用一个管理节点NameNode和若干个数据节点DataNode组成,它主要是将云计算中的大型文件分割称若干个Block小块分散存储在不同的DataNode上。Hive是一个基于hadoop的数据仓库的基础架构。它主要用来处理HDFS中的数据机制,是一种对海量数据进行提取并转化加载的框架。Hive的查询主要是通过MapReduce框架来进行实现的,而MapReduce本身就是为实现针对海量数据的高性能处理而设计的。所以Hive架构就具有了高效的处理海量数据。
MapReduce框架是一个负责它云计算作业中的所有任务调度,把这些任务分配到不同的Slave节点上,JobTracker同时监控他们的执行状态,MapReduce通常过程中会把输入的数据集合分解成若干个独立数据块,并且产生一组输出的键值(key/val-ues)。MapReduce中的常用两个函数分别为Map和Reduce,Map函数的处理并发的工作机并对其进行排序,并将排序结果输出给Reduce,Reduce函数主要对中间键值进行处理,如图1所示:
2云计算下的聚合加密算法
2.1密钥聚合算法描述
为了实现云计算下的数据有效共享,Chu在2014年提出了密钥聚合加密机制,利用双线性映射构造而成,其实质是在用户的加密过程中,不仅仅是对信息进行简单的使用公钥加密,而是在密文信息中添加一个标识记号,这就意味着加密后的密文被分解称了几个部分,密钥的拥有者持有一个主密钥,而从该密钥中可以分离出不同类型的私密密钥,被分离出来的密钥成为聚合密钥(Aggregate Key,AK),使用这种聚合密钥加密的算法为聚合密钥加密(Key Aggregate Encryption,简称KAE)算法。通常一个密钥聚合加密算法有以下几个部分组成:1)数据拥有者建立一个公共系统参数;2)通过keyGen生成一个公共密钥对;(3)消息通过Encrypt并联合明文数据来决定密文中的标识符;4)数据拥有者使用主/私密钥来产生一个聚合解密密钥给密文子集,通过分散函数产生,并通过安全的邮件传给授权者;5)用户使用Decrypt函数,通过聚合密钥来解密密文,在聚合密钥中包含密文的表示符。
步骤4:云端服务器收到了参数param和pk后,需要和用户A的共享用户通过私钥来更新服务器上的信息。当用户A将一部分数据集S分享给用户B额时候,用户A只需要执行Extract(msk,s)来计算聚合密钥Ks,通过安全邮件传递给用户B
步骤5:用户B获得访问云端数据库权限后,使用聚合密钥下载云端中的数据,对于任意的i∈S,用户B能够从服务器上通过Decrypt(Ks,S,i,Ci)函数解密下载各种密文Ci
3实验说明
为了进一步说明云计算存储具有的安全性能,本文搭建了云计算存储实验平台,并对采用了KAE算法的存储平台进行性能测试。
3.1测试环境
系统的测试环境主要包括Hadoop集群,应用服务器、安全密钥服务器和一些客户端。其中Hadoop存储系统由4台服务器组成,基本配置包括CPU为InterXeonE5606 2.13Ghz,4Ghz内存,硬盘为1500G,资源池采用ZFS,认证服务器的操作系统为Centos6.3,安全密钥管理采用MySQL的5.1.61,客户端为Win-dows7系统,如表1所示。
3.2测试结果分析
1)数据写入
考虑到云計算系统中的加密功能可能会对整个云计算环境构成影响,因此选择大小不同的文件来进行数据的写入和读取,在测试过程中,选择了三种不同的情况来进行比较,分别是使用DES加密,使用AES加密和使用KAE加密三种比较,如表2所示。图2表示三种算法下的读入文件的速度比。
从图2中可以发现,在整个云计算系统的文件中进行加密的时候,整个系统的文件写入的时间都会增加,但随着文件数量的大小的不断增加,文件写入的时间都会增加,导致整个文件的写入时间相应的增加,因此整体速度呈现下降趋势,从图中发现AKE加密算法的效果要优于其他两种加密算法,这说明本文的算法能够很好的满足写入数据的加密过程。
2)数据读取
当文件以加密的方式写入到云计算系统中之后,当文件的读取就需要对其进行解密,才能对信息进行有效的读取,表3描述了不同操作下文件读取的时间对比,图2表示了与之前相同的三种算法的读取对比,从图3中可以发现在采用AKE算法后,文件的读取时间和文件写入时间大致基本相同,并且采用AKE算法后的时间要多于其他两种算法,这是合理正常的,因为就算法的复杂度而言,本文算法要高于其他两种算法。
综合图2和图3的效果来看,在三种算法的情况下,文件的读取速度差别大于写入速度,这说明云计算用户在进行下载相关信息的时候,采用KAE算法与其他加密算法下载时间差别较小,这样就能够在一定程度上满足文件的共享需求,能够有效的适合HDFS中的文件的一次写入多次被多出的特点,能够有效的适应整个云计算平台。
4结束语
本文首先描述了云计算平台的相关内容,其次通过对KAE算法进行描述,提出了使用该算法进行加密的过程,通过在云计算平台上的实际性能测试,说明了KAE加密算法能够有效的适应云计算平台中的相关信息加密过程,具有一定的应用价值。