
技术摘要:
本申请公开一种云端数据完整性审计方法、装置及计算机可读存储介质。云存储服务器包括彼此独立运行的可信执行环境、审计验证器和存储器,方法应用于可信执行环境,包括:当接收到用户端发送的加密数据,将加密数据分块处理后发送至存储器,同时为各数据块计算相应的标 全部
背景技术:
随着大数据、云技术的快速发展,本地存储难以满足海量数据的存储需求,为了满 足爆炸式增长数据的存储需求,云存储服务提供商向用户提供云服务器以存储数据。不可 避免的是,云存储服务提供商可能会由于自然灾害、网络攻击、意外断电等原因对数据造成 损害,并不能完全确保云端存储数据的完整性。而用户使用不完整的数据进行科学分析等 行为时,将会得到错误的结果,造成巨大的损失。可见,云端存储数据完整性的验证是很有 必要的。 但是,由于云存储采用外包形式,用户失去了对数据的直接控制,无法直接检测和 验证云端数据的完整性。传统的数据完整性验证方法需要下载云端数据到本地再验证,将 耗费大量的带宽资源,还会给用户带来巨大的存储空间和计算资源的浪费。而且,许多基于 云端应用不需要下载数据到本地,通常提供在线数据计算服务。其次,云存储服务提供商不 完全可信,仅仅依赖“承诺”不足以打消用户的疑虑,并且云存储服务提供商可能为了商业 利益而损坏用户利益。此外,其他不可抗力,如地震,火灾等也会造成数据完整性破坏,但是 云端数据的完整性无法得到实时有效检测。这些因素的存在导致无法对云端数据采用有效 手段进行完整性验证。 为了解决现有技术中缺乏有效手段检测云端数据的完整性的问题,确保用户的数 据安全,促进云存储服务的健康发展,利用数据完整性审计协议对存储在云服务提供商的 数据进行完整性验证应用而生,例如利用第三方审计机构来对数据进行完整性审计,将用 户从审计的计算负担之中释放出来。但是利用第三方审计机构的审计结果不一定是正确 的,导致原因如下:(1)现有的审计协议不能处理第三方审计机构和云服务提供商的共谋问 题,因此第三方审计机构可能为了双方的利益向用户反馈虚假结果。(2)第三方审计机构往 往是中心化的设置,存在单点故障与性能瓶颈,因此第三方审计机构可能会为了自身的利 益不完成审计过程就返回审计结果。 为了提高审计结果的准确度,解决第三方审计者的不可信问题和中心化问题。一 种相关技术利用第三方审计者构建审计区块链,所有审计者共同验证同一数据的完整性, 从而解决了第三方审计者的不可信问题和中心化问题。但是由于所有审计者都要为同一数 据进行验证,再根据一定的共识算法确保所有审计者的结果一致,导致重复性工作过多,造 成大量的资源浪费的同时也降低了审计的效率。 为了在不牺牲审计效率的基础上提高审计准确度,一种相关技术基于层次默克尔 哈希树进行轻型动态数据完整性审计,数据拥有者对数据构建层次默克尔哈希树,在节点 上存储数据信息,并且引入局部根节点;云端数据库利用位置敏感哈希技术存储数据拥有 者的数据;云端数据库根据可信第三方审计的挑战信息生成挑战证据;可信第三方审计对 5 CN 111611625 A 说 明 书 2/12 页 证据进行完整性审计;对数据进行动态操作时,云端数据库生成证据,可信第三方审计对动 态数据进行完整性审计。另外一种相关技术通过公开验证的云数据完整性审计来提高审计 结果准确度,由系统初始化、数据存储、可信第三方发出挑战、云存储服务器生成证明、可信 第三方进行验证步骤组成,采用可验证分级跳表验证数据分块的存储位置,提出一种能够 达到标准模型安全性、仅依赖于标准假设,支持任意可信第三方公开验证的云数据完整性 审计方法。解决了现有技术中云存储服务商隐瞒数据丢失事件,甚至可能恶意删除用户数 据,从而对用户造成损失的缺陷,提高了用户存储数据的安全性。但是,这些相关技术依赖 单一的第三方审计者且设定第三方为完全可信。在实际中,第三方服务商更倾向于是一种 利益驱动型角色,可能会出于某种利益而与云存储服务器进行共谋,对数据造假,欺骗用 户,因此是半可信或者不可信的角色。除此之外,单一的第三方审计者往往存在单点故障与 性能瓶颈问题,延误完整性审计的时机,对用户的使用体验造成不良影响。也即第三方审计 机构存在安全性的问题。 鉴于此,如何在解决用户操作过程繁琐的基础上,解决第三方审计机构的安全性 问题,是所属领域技术人员需要解决的技术问题。
技术实现要素:
本申请提供了一种云端数据完整性审计方法、装置及计算机可读存储介质,不仅 解决了用户操作过于繁琐的问题,还解决了相关技术基于第三方审计机构存在安全性的问 题,有效提高云端数据完整性审计的准确度,保证云端数据的完整性。 为解决上述技术问题,本发明实施例提供以下技术方案: 本发明实施例一方面提供了一种云端数据完整性审计方法,应用于云存储服务器 的可信执行环境,所述云存储服务器包括独立于所述可信执行环境的审计验证器和存储 器,包括: 当接收到用户端发送的加密数据,将所述加密数据进行分块处理后发送至所述存 储器,同时为各数据块计算相应的标签;所述加密数据为所述用户端利用自身随机生成的 公私/钥对加密所得; 当检测到存在审计任务,向所述审计验证器发送携带待审计数据块号和审计随机 值的审计请求,以使所述审计验证器基于所述审计请求计算生成审计证明; 根据所述审计随机值和各标签验证所述审计证明,并将验证结果作为完整性审计 结果反馈至所述用户端。 可选的,所述将所述加密数据进行分块处理后发送至所述存储器,同时为各数据 块计算相应的标签包括: 预先为审计任务生成审计公私/钥对; 将所述加密数据分为多个数据块,并生成标签随机值; 基于所述审计公私/钥对和所述标签随机值为各数据块计算相应的标签,并构成 标签集合进行存储; 将分块后的加密数据发送给所述存储器进行数据存储,以用于所述审计验证器在 计算审计证明之前基于所述待审计数据块号进行相应数据块的获取。 可选的,所述基于所述审计公私/钥对和所述标签随机值为各数据块计算相应的 6 CN 111611625 A 说 明 书 3/12 页 标签包括: 利用标签计算关系式依次为每个数据块计算相应的标签,所述标签计算关系式 为: 式中,φi为第i个数据块的标签,H:{0,1}*→G1为将字符串数据映射到G1中的点的 散列函数,G1为乘法循环群,Fi为第i个数据块,vi为第i个数据块的审计随机值,x为用于为 审计任务生成的私钥,u为所述标签随机值。 可选的,当同时接收到第一用户端发送的第一加密数据和第二用户端发送的第二 加密数据,所述将所述加密数据进行分块处理后发送至所述存储器,同时为各数据块计算 相应的标签包括: 调用两个数据块拆分进程同时将所述第一加密数据和所述第二加密数据分为多 个数据块,生成第一数据块集合和第二数据块集合,同时还生成相应的第一标签随机值和 第二标签随机值; 将所述一数据块集合和所述第二数据块集合发送给所述存储器进行数据存储; 调用两个标签计算进程同时执行下述操作: 基于所述审计公私/钥对和所述第一标签随机值为所述第一数据块集合中的各数 据块计算相应的标签,并构成第一标签集合进行存储; 基于所述审计公私/钥对和所述第二标签随机值为所述第二数据块集合中的各数 据块计算相应的标签,并构成第二标签集合进行存储。 可选的,所述接收到用户端发送的加密数据之后,包括: 判断所述加密数据是否为所述存储器中已有存储数据的增量更新数据; 若是,则重新计算所述增量更新数据对应数据块的标签,并更新所述标签集合中 相应标签;同时将所述增量更新数据发送至所述存储器。 可选的,所述根据所述审计随机值和各标签验证所述审计证明,并将验证结果作 为完整性审计结果反馈至所述用户端包括: 根据所述审计随机值和各数据块的标签计算审计证明验证关系式是否成立,所述 审计证明验证关系式为: 式中, e:G1×G2→GT为双线性配对,G1,G2和GT为乘法循环 群,g为G2的生成元,α、β为所述审计证明包括的第一证明参数和第二证明参数,I为各待审 计数据块号构成的集合,φi为第i个数据块的标签,H:{0,1}*→G1为将字符串数据映射到G1 中的点的散列函数,Fi为第i个数据块,vi为第i个数据块的审计随机值,x为用于为审计任务 生成的私钥,y为用于为审计任务生成的公钥,u为标签计算过程中生成的标签随机值; 若所述审计证明验证关系式成立,则将包含所述加密数据完整的信息发送给所述 用户端;若所述审计证明验证关系式不成立,则将包含所述加密数据不完整的信息发送给 所述用户端。 本发明实施例另一方面提供了一种云端数据完整性审计装置,应用于云存储服务 7 CN 111611625 A 说 明 书 4/12 页 器的可信执行环境,所述云存储服务器包括独立于所述可信执行环境的审计验证器和存储 器;所述可信执行环境包括审计器和访问控制器; 所述访问控制器用于与用户端进行数据通信,包括接收用户端发送的加密数据、 将所述审计器的验证结果作为完整性审计结果反馈至所述用户端;所述审计器包括审计数 据处理模块、审计请求下发模块和审计证明验证模块; 所述审计数据处理模块用于当接收到用户端发送的加密数据,将所述加密数据进 行分块处理后发送至所述存储器,同时为各数据块计算相应的标签;所述加密数据为所述 用户端利用自身随机生成的公私/钥对加密所得; 所述审计请求下发模块用于当检测到存在审计任务,向所述审计验证器发送携带 待审计数据块号和审计随机值的审计请求,以使所述审计验证器基于所述审计请求计算生 成审计证明; 所述审计证明验证模块用于根据所述审计随机值和各标签验证所述审计证明。 可选的,所述审计数据处理模块包括: 公私钥预生成子模块,用于预先为审计任务生成审计公私/钥对; 数据分块子模块,用于将所述加密数据分为多个数据块; 数据标签计算子模块,用于基于所述审计公私/钥对和生成的标签随机值为各数 据块计算相应的标签,并构成标签集合进行存储; 数据下发存储子模块,用于将分块后的加密数据发送给所述存储器进行数据存 储,以用于所述审计验证器在计算审计证明之前基于所述待审计数据块号进行相应数据块 的获取。 本发明实施例还提供了一种云端数据完整性审计装置,包括处理器,所述处理器 用于执行存储器中存储的计算机程序时实现如前任一项所述云端数据完整性审计方法的 步骤。 本发明实施例最后还提供了一种计算机可读存储介质,所述计算机可读存储介质 上存储有云端数据完整性审计程序,所述云端数据完整性审计程序被处理器执行时实现如 前任一项所述云端数据完整性审计方法的步骤。 本申请提供的技术方案的优点在于,通过调用云存储服务器的可信执行环境将相 关技术中的三方审计协议降至两方审计协议,消去了实际不完全可信的第三方审计机构, 确保了审计过程中的安全性,从而解决相关技术中审计协议不能处理第三方审计机构和云 服务提供商的共谋问题而导致第三方审计机构可能为了双方的利益向用户反馈虚假结果 存在的安全性问题,有效提高云端数据完整性审计的准确度,保证云端数据的完整性;用户 端只需要将待审计的数据发送至云存储服务器并接收反馈的审计结果即可,不需要为每个 数据计算数据标签并进行存储,通过调用可信执行环境,将原有的计算数据标签任务由用 户转移至可信执行环境之中,大大减少了用户的计算开销和存储开销,从而解决用户操作 过程繁琐的问题。 此外,本发明实施例还针对云端数据完整性审计方法提供了相应的实现装置及计 算机可读存储介质,进一步使得所述方法更具有实用性,所述装置及计算机可读存储介质 具有相应的优点。 应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本 8 CN 111611625 A 说 明 书 5/12 页 公开。 附图说明 为了更清楚的说明本发明实施例或相关技术的技术方案,下面将对实施例或相关 技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发 明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根 据这些附图获得其他的附图。 图1为本发明实施例提供的一种云端数据完整性审计方法的流程示意图; 图2为本发明实施例提供的云端数据完整性审计装置的一种