云计算中一种基于身份的数据存储方法及完整性验证方法
【技术领域】
[0001] 本发明属于网络安全技术领域,具体设及云计算中一种基于身份的数据存储与完 整性验证方法。
【背景技术】
[0002] 作为信息技术的一次重要革新,云计算向用户提供了几乎"能力无限"且"无所不 在"的信息服务,云计算具有安全、方便、数据共享、无限可能等优点,成为改变全球信息产 业竞争格局的重要手段,云计算蕴藏着巨大的战略价值和产业机遇。
[0003] 云存储是云计算提供的最重要的服务之一,其通过虚拟化技术,将网络中大量各 种不同类型的存储设备通过应用软件集合起来协同工作,向用户提供空间无限的数据存储 和随时随地的业务访问。用户只需要通过支付少量的费用就可W将自身的数据存储到云 端,从而无需自己购买和管理大规模的数据存储设施,大大减轻用户数据储存、管理和维护 的负担,使其将更多的精力放在核屯、业务上。云存储W其可伸缩、按需支付、位置无关、价格 便宜的特点,已经成为了云计算中一个较快的利润增长点。目前,上百万用户已经选择租赁 商业的云存储服务,如Dropbox,GoogleDrive,MicrosoftOver化ive等。
[0004] 然而,云存储给云用户的数据安全威胁不容忽视。一方面,无论云服务提供商采取 多么可靠的措施,数据丢失仍可能发生;另一方面,云服务提供商并不是完全可信的,由于 利益的驱使,云服务提供商可能删除不被访问或者访问较少的数据,但仍宣称自己完好地 存储着用户的数据;或者,云服务提供商为了维护自己的声誉,刻意隐瞒数据丢失事件。因 此,云用户频繁地检查存储在云上的数据是否被删除或篡改是很有必要的。
[0005] 在云存储中,一旦云用户把自己的数据存储到云服务器上,则失去了对自身数据 的控制能力,该使得数据的保密性和完整性成为了云用户的最大担忧。传统的数据完整性 验证方法由于用户不再占有原始数据而无法发挥其应有的功能,因此,如何为用户产生一 个证据使其相信云服务器完整地保存了其数据至关重要。目前,数据拥有证明PDP和数据 可回取证明PoR技术是两个主要的云数据完整性验证协议。
[0006] Ateniese等首次提出了数据拥有证明PDP(Prov油leDataPossession)的概念和 安全模型,PDP协议使得用户在不取回文件的情况下,能够验证存储在不可信服务器上的文 件的完整性,极大的节省了通信带宽。此外他们还提出了两个高效的可证明安全的PDP方 案。同时,Juels和Kaliski提出了可回取证明PoR(ProofofRetriev油ility)的概念, PoR协议基于纠错码和随机抽样技术,用W确保云服务器正确存储了数据,而且在需要数据 时云用户能够取回数据。Shacham和Waters提出的紧凑的可恢复证明(CPoR)方案是一个 具有代表性的PoR协议,他们利用纠删码设计了两个高效且紧凑的化R方案,并在化els等 的安全模型下进行了严格的安全性论证。第一个方案的设计基于伪随机函数PRF,只支持秘 密验证。第二个方案的构造基于BLS短签名,挑战值和服务器的响应值得长度都很短,并且 满足公开验证;该两个方案都利用同态可验证标签技术将响应证明聚合成一个认证值,从 而降低了通信代价。
[0007] 在云数据完整性验证体制中,云用户由于自身计算和通信能力的限制,引入第s 方的可信验证人对于云数据的完整性验证来说更具有说服力,公开验证性也在许多应用领 域具有更大的实用性,但同时引起的数据隐私问题是一个必须要考虑的问题。因为任何人 都可W检查数据的完整性,而云用户可能向云中存放一些机密的或者敏感的数据。云用户 把数据存放到云服务器之前对数据进行加密是解决数据隐私问题的一种方法,然而,由于 解密密钥的泄露,该种方法仍然可能导致未授权的数据的访问;另一方面,外包数据之前 对数据进行加密使得数据的捜索和共享成为近乎不可实现的困难,会大大增加云用户的负 担。
[000引Shacham和Waters设计的紧凑的化R方案利用同态可验证标签技术将响应证明聚 合成一个较小的认证值,从而获得了公开可恢复性。在化acham-Waters工作的基础上,一 些具有公开验证的完整性验证方案也已经被提出。例如;CongWang等提出了一种云计算 中可行的公开完整性验证和数据动态性的安全存储方案。该方案利用随机掩盖技术实现隐 私保护,但没有实现真正的零知识隐私,公开验证人依然可W区分出用户的数据。朱岩等利 用挑战响应机制和零知识技术实现完整性验证,达到了零知识隐私,但需要进行多轮交互。 且两个方案的证据长度与数据的分片数量成正比。为了缩短证明长度,在INF0C0M14上, Jiawei化an等利用基于多项式的同态认证子提出了多用户修改的公开验证的完整性验证 协议,其验证信息长度为两个元素长度。JiaXu等利用多项式承诺技术实现了固定响应长 度的隐私保护完整性验证方案,但方案中的验证算法需要用户的私钥,因此没有实现公开 验证性。
[0009] 上述方案都是基于复杂的公钥基础设施(PKI),在一个PKI系统中,每个用户的公 钥都伴随一个公钥证书,任何人都需要通过验证证书的合法性(CA的签名)来认证公钥,增 加了用户的计算量和通信成本。Jining化ao等利用Gentry的聚合基于身份加密方案构造 了第一个基于身份的云数据完整性验证方案,其隐私保护方案沿用了CongWang的随机掩 盖技术,具有标签的计算开销大,存储效率低的缺点,并不实用。同时,化aqunWang提出了 基于身份的数据完整性验证概念,但其方案中的验证算法需要用户额外的秘密信息(私钥 中的一个量),因此没有实现公开验证性,并且,该方案存在安全问题;即使服务器删除了 所有的数据,仍然能够产生一个有效的效应W欺骗用户。
[0010] 综上所述,现有的方案存在=方面的缺陷:
[0011] (1)除Jining化ao和化aqunWang的方案外,其他的方案都依赖于复杂的PKI。 在一个PKI系统中,每个用户的公钥都伴随一个公钥证书,该个证书由证书管理机构CA签 发。公钥证书是一个结构化的数据记录,它包括了用户的身份信息、公钥参数和CA的签名。 任何人使用公钥前都需要先验证公钥证书的合法性,增加了云用户的计算量,CA需要进行 复杂的证书管理工作,包括证书的撤销、存储和颁发。而Jining化ao等和化aqunWang的 方案本身存在致命的缺陷。
[0012] (2)对验证服务器的数据隐私保护。目前的云数据完整性验证方案都没有达到高 效的零知识隐私保护。目前的两种隐私保护方法;一种是随机掩盖技术,没有达到零知识隐 私保护,另一种是零知识证明技术,通信开销大,交互轮数多,计算效率低。
[0013] (3)响应值传输的带宽消耗多。大部分的方案中证据的长度与数据的分片数量成 正比。
【发明内容】
[0014] 本发明的发明目的在于:针对基于公钥基础设施(PKI)的云数据完整性验证系统 中存在的证书管理的复杂性和公开验证的完整性验证体制中的数据隐私问题,提出了一种 云计算中基于身份的数据存储与完整性验证方法,W保证云用户在使用公钥前不需要再验 证公钥证书的合法性,云用户的公钥是由其身份信息(如身份证号码、电话号码、E-mail地 址等)组成,私钥是由一个称为密钥生成中屯、(KGC)的可信第S方服务器生成。该大大减 少了建立和管理PKI系统的成本,降低了系统的复杂性。同时,在完整性验证处理中,能够 获得高效的零知识隐私保护,从而防止公开验证过程中的数据泄漏。
[0015] 本发明的云计算中一种基于身份的数据存储方法,包括下列步骤:
[0016] 云用户生成密钥申请请求并发送至密钥生成中屯、KGC服务器,所述密钥申请请求 包含基于云用户的身份ID生成的公钥Qid;
[0017] KGC服务器基于公钥Qid生成云用户的私钥S并通过安全信道发送至云用户;
[0018] 云用户设置待上传文件的文件名,并将待上传文件分成n个数据块,基于私钥S为 每个数据块生成一个数据块标签〇1,基于各数据块标签得到文件标签T= (r,〇i)i<K。, 其中r=g",系统预设参数g为q阶乘法循环群Gi的生成元,参数q为系统基于预设安全 参数所选择的大素数,参数^ 表示模q的乘法循环换群;
[0019] 云用户将文件标签T和文件上传至云服务器。
[0020] 在本发明的存储方法中,私钥由KGC服务器生成,大大减少了建立和管理PKI系统 的成本,降低了系统的复杂性。
[0021] 基于本发明的数据存储方法,本发明还公开了云计算中一种基于身份的完整性验 证方法,包括云用户、验证服务器和云服务器,通过本发明的数据存储方法,云用户将待上 传文件进行预处理(设置文件名和分块),生成数据块标签,并将数据块和数据块标签一起 存储到云服务器中。当云用户需要验证数据的完整性时,基于零知识证明执行下列验证步 骤:
[0022] 步骤S1;云用户生成完整性验证请