基于区块链的云计算关键技术及应用方案研究
【摘要】:云计算(Cloud Computing)作为一种基于互联网的新型计算范式,一直以来都是学术界和工业界持续关注的热点领域。尽管云计算经过了多年的快速发展,但是数据安全和可信计算仍是当前云计算应用中面临的主要挑战。为解决这个问题,很多学者对此进行了大量研究,提出了包括数据完整性检验、安全多方计算等诸多模型。然而,这些方案大都面临计算复杂度过高或缺乏可扩展性等问题。本文研究利用区块链技术来改善这种状况。区块链(Blockchain)是一种去中心化的全新分布式计算范式。将区块链技术应用于云计算,利用前者的安全机制来改善后者安全存储和安全计算的性能是一个很有应用前景的研究课题。本文结合区块链和云计算各自的优势,构建基于区块链的云计算关键技术应用方案,一方面实现云数据的安全性保护和完整性检验,另一方面实现更广泛的安全多方计算。基于以上阐述,本文完成的主要研究内容如下:(1)提出一种基于区块链的云数据安全保护方案。研究典型数据完整性检验机制的种类和算法过程,分析了区块链中的数据组织结构以及常见的树型数据结构的特征。提出一种基于B+树改进的多叉Merkle哈希树结构方案,并对其理论性能和构建过程进行分析。结合PDP数据持有性证明机制提出一种支持动态操作的数据完整性检验方案,并对其数据完整性检验过程和数据动态更新过程进行阐述。研究区块链安全机制和“膨胀问题”,提出一种基于元数据的区块链方案,并结合云存储模型构建云数据安全保护和数据恢复方案。(2)提出一种基于区块链的安全多方计算方案。研究了区块链中的加密算法、共识机制和激励机制等安全机制和算法,并对可扩展安全多方计算通用过程、攻击模型以及包括密码共享在内的典型的密码学工具进行分析和研究。进而研究基于计算节点操作日志信息的区块链方案,并将其应用到安全多方计算建模中。最后,利用本文构建的区块链方案实现一种更加高效的可扩展的安全多方计算协议。(3)基于CloudSim云计算仿真平台搭建仿真环境。设计实验对多叉Merkle树性能和基于其的数据完整性检验进行测试和分析并与传统二叉Merkle树方案进行对比分析,对安全多方计算协议的关键技术性能进行实验测试并和传统安全多方计算方案及非安全计算方案进行对比分析。