论文部分内容阅读
云计算作为新型计算模式,其强调资源租用、应用托管等。云存储是云计算提供的一种常见服务。在云存储中,用户通过租用云端的存储资源来保存自己的数据,之后就可以随时随地通过网络来访问和管理自己的数据。随着云存储的不断发展,其数据的安全性受到了严峻的挑战,尤其是数据的完整性。如何检测自己存放在云端的数据是否被篡改或损坏,已经成为云存储数据安全的研究热点之一。密码学可为云存储数据完整性的公开验证提供解决方法。本文主要研究基于线性同态签名的云存储数据完整性公开验证技术。本文首先以MiaomiaoTian等人设计的无证书短签名方案为基础,结合Boneh D等人的线性同态签名方案,设计了一个新的无证书线性同态签名方案。该方案取消了传统的公钥密码体制中的公钥证书,也没有基于身份的公钥密码体制中的私钥托管问题,对子空间中向量的线性运算具有同态性质。分析了方案的运行效率,并论证了方案在适应性选择子空间攻击下的存在不可伪造性。其次对设计的无证书线性同态签名方案进行了实现。考虑到算法的核心运算是椭圆曲线上的双线性对运算,本文选择用Java程序设计语言来搭建无证书密码系统的密钥生成中心。初始化KGC的系统参数后,实现了无证书线性同态签名方案中的部分私钥提取、用户密钥生成、签名、合并以及验证五种算法。实验结果表明,方案的密钥长度、签名长度相对较短,签名和验证签名所需的时间开销较小。最后将无证书线性同态签名方案应用到云存储中,设计了一个实用的云存储数据完整性公开验证系统,并对该系统进行了实现。该系统实现了在云存储服务器上部署无证书密码体制的密钥生成中心KGC,具有用户上传文件以及在云存储上直接公开验证文件的完整性等功能。在实验中模拟多个用户使用该系统进行文档的上传、下载、删除以及数据完整性的验证。对实验数据的统计分析表明系统运行稳定、性能可靠,具有数据标签短,验证过程的时间开销小,及部署方便灵活等特点。