本文是一篇计算机论文,本文在文献[38]原有方案的基础上,提出两个可行的改进方案,并对两种改进方案进行了安全分析和性能分析。两种方案在在线计算阶段,用户仅需执行少量轻量级计算,运算效率大大提高,并且方案都能提供健壮性的安全需求。其中方案二在方案一的基础上做出改进,相较于改进方案一,在线阶段的运算量相对大一些,但验证阶段传送的数据有所下降,并具有更优的存储效率。
第一章 绪论
1.1研究背景
理论、计算和实验是科学研究领域中基本的研究手段和应用方式。围绕“计算”为主题的理论与应用研究是计算机科学与应用领域中的核心问题之一。信息科学领域中计算技术的发展历程经历了三个阶段。第一个发展阶段是计算机发展初期,由于历史条件和技术发展受限,计算机设备都集中在机房且设备庞大,因此计算技术是集中计算。第二个发展阶段中,科学技术的飞速发展使得计算机的成本大幅下降,计算机开始普及进入大众生活,计算技术发展为独立计算。第三个发展阶段中,随着网络技术的发展,数据通信的带宽逐渐增加,信息技术也随之飞速发展,集中计算和存储、共享资源逐渐占据主流,云计算开始进入人们的视野[1,2]。
近年来,随着科技的发展和信息技术的不断普及,经济数字化的浪潮愈演愈烈,人们在生产生活中要面对和处理的数据规模与数据种类越来越庞大。2018 年,国际数据公司(International Data Corporation, IDC)的《数据时代 2025》白皮书[3]表明,全球数据圈将从 2018 年的 33ZB(泽字节)增至 2025 年的 175ZB。人们对于运算效率和资源环境的需求越来越高,传统的硬件计算机和服务器模式已经难以满足人们的需求,越来越多的企业选择将各种信息、业务上云,企业的应用和管理也逐渐云端化。数据从本地迁移到云端存储成为必然趋势。
云存储[4,5]是一种数据外包存储服务技术,是云计算[6,7]的重要应用模式,其中数据存储在由云服务提供商管理的逻辑池中。使用云存储服务,企业可以降低存储数据的成本,个人用户也可以节省管理和维护的工作投入和成本。云存储服务的本质是将物理上隔离的、不同类型的存储设备整合成一个拥有存储海量数据能力的数据池。
1.2研究现状
远程数据完整性审计方案主要包括两类,即可证明数据所有权(Provable Data Possession, PDP)和可恢复证明(Proof of Retrievability, PoR),是近年来云端存储安全领域最热门的研究方向之一。Ateniese 等人开创性地提出了可证明数据所有权方案[12]的研究,在云中存储领域具有举足轻重的意义。Ateniese 等人所提方案利用 RSA 的同态认证性对外包数据进行公共审计。在 PDP 方案中,公共验证者通过随机指定要验证的数据块向服务器发出挑战,并验证服务器返回的证明,从而无需下载整个数据就可以有效地验证数据完整性,由于云不需要读取所有的存储文件,所以相应的 I/O 开销也大大降低。Juels 等人提出的可恢复证明方案[13],通过使用纠错码保证存储数据的可恢复性,然而在 PoR 方案中,用户需要对外包数据文件进行编码,因此计算和传输的开销有所增加,并且方案要求更大的云存储空间。由于以上两个协议基于RSA 的同态认证性,使用 RSA 对标签进行编码,因此存在昂贵的通信和计算成本的问题。在这之后,Shacham 和 Waters 分别基于 PRFs 和 BLS 的短签名,提出并设计了一种有效的可公开验证的 PoR 协议,由于方案采用短签名生成标签,因此减小了通讯过程中的开销。2011 年,Wang 等人首次在方案中引入第三方审计者(Third Party Auditor,TPA),提出了可提供隐私保护的支持公共审计和动态数据审计的方案[14],在此方案中,Wang 等人结合随机掩码技术和同态认证符用以实现公共审计和隐私保护,同时利用双线性聚合签名实现批量审计的目的并减少了计算开销。随着数据爆发式地海量增长,许多学者对数据共享的关注也逐渐提高,针对数据共享,Wang 等人提出了 Qrtua[59],该方案将同态验证标签和环签名相结合对用户在数据共享中的身份隐私进行保护。然而在这个方案中,群组成员缺乏动态性,一旦群组成员发生变化则需要重新计算所有的签名信息。为了解决 Qrtua 中出现的问题,Wang 等人随后又提出了另一种方案 Panda[60],在该方案中当新用户加入群组会重新计算所有用户的授权信息,解决了群组中成员动态性的问题,同时这种方式也实现了身份溯源的安全性。此后针对远程数据完整性验证问题,涌现了大量的研究成果[15-23]。
第二章 相关背景知识介绍
2.1相关密码学背景
2.1.1 椭圆曲线密码体制
密码体制,即密码系统,是针对信息安全中关于数据完整性、身份识别和认证、信息机密性以及不可抵赖性等问题进行解决的一个系统。密码体制分为对称密码体制和非对称密码体制,非对称密码体制(公钥密码体制)的密钥由公钥和私钥对组成,其中公钥作为可公开的密钥通过非保密的方式向公共系统进行公布,私钥作为用户私有密钥进行隐秘保存。在公钥加密系统中,加密过程和解密过程使用的密钥是不同的。当只知道公钥时,要推测出用户私钥,在计算上是不可行的。公开密钥对信息进行加密,私有密钥则用来对信息进行解密,通信的双方只要知道对方的公钥,就可以进行安全的通信。公钥密码算法的设计通常基于某个困难问题,如 RSA 算法基于因式分解问题的困难性。其它背包密码、McEliece 密码、椭圆曲线、Diffe-Hellman 等都是公钥密码体制中的典型代表。
椭圆曲线在代数学和几何学中经过多年的研究,拥有丰富而深厚的理论积累。而椭圆曲线密码体制(Elliptic Curve Cryptosystems,ECC),即基于椭圆曲线离散对数问题的各种公钥密码体制。椭圆曲线在密码学中的使用最早是在 1985 年由 Neal Koblitz[51]和 Victor Miller[52]分别独立提出的。椭圆曲线在密码学中的应用是基于有限域上的,通过引入无穷远点,将椭圆曲线上的所有点和无穷远点组成一个合集,并在该合集上定义一个运算,从而该合集和运算构成了群。对于椭圆曲线密码系统的安全性,其数学基础是计算椭圆曲线离散对数问题(ECDLP)的难解性,一般来说,ECC 没有亚指数攻击,所以它的密钥长度大大地减少。ECC的另一个优势是可以定义群之间的双线性映射,如 Weil 对或是 Tate 对;双线性映射已经在密码学中,特别在基于身份的密码系统中,发现了大量的应用。
2.2Spring Boot
SpringBoot 是 Java 平台中一个开源的轻量级全栈(Full-stack)应用程序框架,Spring 框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的 Web 框架方便开发等等。Spring 框架具有控制反转(IOC)特性,IOC 旨在方便项目维护和测试,它提供了一种通过 Java 的反射机制对 Java对象进行统一的配置和管理的方法。
Spring 框架利用容器管理对象的生命周期,容器可以通过扫描 XML 文件或类上特定 Java注解来配置对象,开发者可以通过依赖查找或依赖注入来获得对象。Spring 框架提供了面向切面编程(AOP)的支持,SpringAOP 框架基于代理模式,同时运行时可配置;AOP 框架主要针对模块之间的交叉关注点进行模块化。Spring 框架下的事务管理、远程访问等功能均可以通过使用 SpringAOP 技术实现。
Spring 的事务管理框架为 Java 平台带来了一种抽象机制,使本地和全局事务以及嵌套事务能够与保存点一起工作,并且几乎可以在 Java 平台的任何环境中工作。Spring 集成多种事务模板,系统可以通过事务模板、XML 或 Java 注解进行事务配置,并且事务框架集成了消息传递和缓存等功能。
Spring 的数据访问框架解决了开发人员在应用程序中使用数据库时遇到的常见困难。它不仅对 Java:JDBC、iBATS/MyBATIs、Hibernate、Java 数据对象(JDO)、ApacheOJB 和ApacheCayne 等所有流行的数据访问框架提供支持,同时还可以与 Spring 的事务管理一起使用,为数据访问提供了灵活的抽象机制。
第三章 对基于身份的在线/离线安全云存储审计方案的安全性分析 ................ 19
3.1基于身份的在线/离线安全云存储审计方案 .............................. 19
3.1.1 系统模型 .......................................... 20
3.1.2 安全性定义 ............................... 21
第四章 基于身份的在线/离线云存储审计方案改进设计 ........................... 25
4.1改进方案一 ........................ 25
4.1.1 方案一的设计 ............................................. 25
4.1.2 方案一的安全性分析 .................................. 27
第五章 基于身份的在线/离线安全云存储审计系统的实现与分析 ............................ 34
5.1仿真环境介绍 ..................................... 34
5.1.1 开发环境 ............................................ 34
5.1.2 云环境 ................................................. 35
第五章 基于身份的在线/离线安全云存储审计系统的实现与分析
5.1仿真环境介绍
5.1.1 开发环境
我们基于腾讯云平台对云环境下基于身份的在线/离线安全云存储审计系统进行实现,在系统实现过程中所使用的软件及硬件环境为:编程开发设备的操作系统为 Windows10,CPU为 Intel(R) Core(TM) i7-9750H,内存 8G 以及硬盘空间为 512G 固态硬盘和 1000G 机械硬盘,编程在 IntelliJ IDEA 2020.1 平台基于 Java 语言 Springboot 框架进行开发。云存储审计系统环境选择腾讯云主机、华南地区(广州)、1 核 CPU、2G 内存、50G 云盘、CentOS 8.2 64 位操作系统,数据库则选择采用 Maria 存储引擎的 MySQL 分支 Mariadb 10.4,因为其不仅具有MySQL 的优点,同时比 MySQL 更加安全。具体的仿真开发环境如下表 5.1 所示。
第六章 总结与展望
6.1工作总结
本文对现有的基于身份的在线/离线云存储审计方案进行研究与分析,本文所做的主要工作如下:
(1) 在基于身份的云存储审计系统研究中,针对文献[38]提出的基于身份的在线/离线安全云存储审计方案进行分析,分析结果表明文献[38]方案并不能满足健壮性的安全需求,也就是说即便云服务器没有完整的保存用户数据,也能生成合法的验证证明通过完整性验证。因为在文献[38]所提方案中,云服务器拥有任意两个标签块和他们的验证标签时,就可以通过简单的计算得到用户私钥。从而云服务器可以利用用户私钥对任意的审计消息伪造合法的拥有证明并通过 TPA 的验证。
(2) 本文在文献[38]原有方案的基础上,提出两个可行的改进方案,并对两种改进方案进行了安全分析和性能分析。两种方案在在线计算阶段,用户仅需执行少量轻量级计算,运算效率大大提高,并且方案都能提供健壮性的安全需求。其中方案二在方案一的基础上做出改进,相较于改进方案一,在线阶段的运算量相对大一些,但验证阶段传送的数据有所下降,并具有更优的存储效率。
(3) 基于腾讯云云服务器 CMV(Cloud Virtual Machine)和轻量级密码学包 JPBC,对第四章中提出的改进方案二进行了算法实现,并通过实验分析了文中理论分析的正确性。最后基于本文提出的基于身份的在线/离线安全云存储审计方案改进方案二为例,实现了一个云存储审计系统,系统能够提供支持用户进行文件上传、数据审计和下载等功能,同时也为本文所提的其他方案的实现提供了平台支持。
参考文献(略)