一种云数据完整性审计方法、装置、设备及存储介质

未命名 08-14 阅读:137 评论:0


1.本发明属于信息安全技术领域,尤其涉及一种云数据完整性审计方法、装置、设备及存储介质。


背景技术:

2.云存储完整性审计是一种验证云服务商是否正确地存储了用户的数据的技术,它可以在不下载数据的情况下,通过一些数学运算和随机抽样来检查数据的完整性,这种技术可以增强用户对云服务的信任度,减少数据丢失或篡改的可能性,推动云计算的应用。为了实现云存储完整性审计,研究者们提出了多种基于密码学的文件审计协议,然而,现有的文件审计协议大多只适用于单个大文件的完整性审计,而不能有效地处理多个文件的情况。用户在使用云服务商提供的数据服务时,往往需要存储和管理多个文件,例如工作文档库、代码仓库和重要数据库等文件系统。然而,现有的单文件审计协议并没有提供有效的方法来组织和审计多个文件,当审计对象转变为文件系统时,审计协议的计算和存储开销会随着文件数量的增加而急剧上升。


技术实现要素:

3.本发明的目的在于提供一种云数据完整性审计方法、装置、设备及存储介质,旨在解决由于现有技术无法提供一种有效的云数据完整性审计方法,导致面向文件系统的云数据完整性审计不可靠、审计效率低的问题。
4.一方面,本发明提供了一种云数据完整性审计方法,所述方法包括下述步骤:
5.根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战;
6.接收所述云服务商根据所述完整性审计挑战返回的用户完整性证明;
7.根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对所述用户完整性证明中对应的文件系统的完整性进行验证。
8.优选地,所述对所述用户完整性证明中的文件系统的完整性进行验证的步骤,包括:
9.根据所述第一密钥和所述验证信息,使用预先设置的加密哈希函数对所述用户完整性证明中所述文件系统对应的哈希树的节点验证路径中的节点进行正确性验证;
10.当所述节点验证路径中的每个节点都验证正确时,根据所述第二密钥,使用所述加密哈希函数对所述用户完整性证明中所述文件系统的每个文件进行完整性验证。
11.优选地,所述方法还包括:
12.使用预设的密钥生成算法生成所述第一密钥和所述第二密钥;
13.根据所述第一密钥和所述第二密钥,使用所述加密哈希函数对所述文件系统进行预处理,得到辅助验证信息;
14.将处理后的所述文件系统和所述辅助验证信息发送给所述云服务商。
15.优选地,所述使用所述加密哈希函数对所述文件系统进行预处理,得到辅助验证信息的步骤,包括:
16.根据所述第二密钥,使用所述加密哈希函数计算所述文件系统中每个文件的哈希消息验证码;
17.根据所述哈希消息验证码和所述第一密钥,计算所述文件系统对应的所述辅助验证信息,所述辅助验证信息包括所述文件系统对应的哈希表和哈希树。
18.另一方面,本发明提供了一种云数据完整性审计装置,所述装置包括:
19.挑战发起单元,用于根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战;
20.证明返回单元,用于接收所述云服务商根据所述完整性审计挑战返回的用户完整性证明;以及
21.完整性验证单元,用于根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对所述用户完整性证明中对应的文件系统的完整性进行验证。
22.优选地,所述完整性验证单元包括:
23.第一验证单元,用于根据所述第一密钥和所述验证信息,使用预先设置的加密哈希函数对所述用户完整性证明中所述文件系统对应的哈希树的节点验证路径中的节点进行正确性验证;以及
24.第二验证单元,用于当所述节点验证路径中的每个节点都验证正确时,根据所述第二密钥,使用所述加密哈希函数对所述用户完整性证明中所述文件系统的每个文件进行完整性验证。
25.优选地,所述装置还包括:
26.密钥生成单元,用于使用预设的密钥生成算法生成所述第一密钥和所述第二密钥;
27.文件处理单元,用于根据所述第一密钥和所述第二密钥,使用所述加密哈希函数对所述文件系统进行预处理,得到辅助验证信息;以及
28.信息发送单元,用于将处理后的所述文件系统和所述辅助验证信息发送给所述云服务商。
29.优选地,所述文件处理单元包括:
30.第一计算单元,用于根据所述第二密钥,使用所述加密哈希函数计算所述文件系统中每个文件的哈希消息验证码;以及
31.第二计算单元,用于根据所述哈希消息验证码和所述第一密钥,计算所述文件系统对应的所述辅助验证信息,所述辅助验证信息包括所述文件系统对应的哈希表和哈希树。
32.另一方面,本发明还提供了一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述一种云数据完整性审计方法所述的步骤。
33.另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述一种云数据完整性审计方法所述的步骤。
34.本发明根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战,接收云服务商根据该完整性审计挑战返回的用户完整性证明,根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文件系统的完整性进行验证,从而提高了面向文件系统的云数据完整性审计的可靠性和审计效率。
附图说明
35.图1是本发明实施例一提供的云数据完整性审计方法的实现流程图;
36.图2是本发明实施例一提供的云数据完整性审计方法中用户完整性证明生成的示意图;
37.图3是本发明实施例二提供的云数据完整性审计方法的实现流程图;
38.图4是本发明实施例二提供的云数据完整性审计方法中哈希表和哈希树的构建的示意图;
39.图5是本发明实施例三提供的云数据完整性审计装置的结构示意图;
40.图6是本发明实施例三提供的云数据完整性审计装置的优选结构示意图;
41.图7是本发明实施例四提供的云数据完整性审计装置的结构示意图;
42.图8是本发明实施例五提供的计算设备的结构示意图。
具体实施方式
43.为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
44.以下结合具体实施例对本发明的具体实现进行详细描述:
45.实施例一:
46.图1示出了本发明实施例一提供的云数据完整性审计方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
47.在步骤s101中,根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战。
48.本发明实施例适用于计算设备,例如,个人计算机、服务器等。在本发明实施例中,预设的审计方式是多样化的,可以是随机发起审计挑战,也可以是定期发起审计挑战,还可以是通过事件触发的方式(例如,在用户想要获取云存储的文件时进行)发起审计挑战,用户可以根据使用实践场景自定义发起审计挑战的时机和挑战的标识范围,向已存储有文件系统数据的云服务商发起完整性审计挑战,以检测存储在云存储中的文件是否存在任何篡改或损坏。
49.在步骤s102中,接收云服务商根据该完整性审计挑战返回的用户完整性证明。
50.在本发明实施例中,当云服务商接收到用户发送的完整性审计挑战时,云服务商会根据该完整性审计挑战在云存储中查询内部存储系统,定位并检索所请求的目标文件,并基于辅助验证信息为审计的该目标文件计算一个用户完整性证明,最后将该用户完整性证明和检索到的目标文件一起返回给用户,辅助验证信息包含为文件系统构建的哈希表和哈希树。
51.云服务商根据该完整性审计挑战生成用户完整性证明的过程如图2所示,具体地,通过下述步骤实现用户完整性证的生成:
52.(1).定位并搜索完整性审计挑战在哈希表的位置,也即找到挑战的哈希表项;
53.(2).找到该挑战的哈希表项在哈希树中的位置,也就是找到其对应的叶子节点;
54.(3).根据该叶子节点,找到其父亲节点和兄弟节点;
55.(4).再将父亲节点作为叶子节点,循环以上步骤(3),直到达到根节点,从叶子节点到根节点中所需要的节点称为节点验证路径,该叶子节点和挑战的哈希表项构成用户完整性证明。
56.在步骤s103中,根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文件系统的完整性进行验证。
57.在本发明实施例中,预先存储的验证信息为为文件系统构建的哈希树的根节点值,根据预先生成的第一密钥、第二密钥以及根节点值,对用户完整性证明中对应的文件系统的完整性进行验证,以确保文件系统中的每个目标文件没有被篡改或丢失,从而用户可以信任存储在云服务商中的数据。
58.在对用户完整性证明中对应的文件系统的完整性进行验证时,优选地,通过下述步骤实现完整性的验证:
59.(1)根据第一密钥和验证信息,使用预先设置的加密哈希函数对用户完整性证明中文件系统对应的哈希树的节点验证路径中的节点进行正确性验证;
60.在本发明实施例中,在使用预先设置的加密哈希函数对用户完整性证明中文件系统对应的哈希树的节点验证路径中的节点进行正确性验证时,具体地,通过下述步骤实现节点正确性验证:
61.①
使用加密哈希函数和第一密钥,计算用户完整性证明中的哈希表项的哈希值是否正确;
62.②
当用户完整性证明中的哈希表项的哈希值正确时,计算该哈希值和其在哈希树中的兄弟节点拼接后的哈希值是否一致,如果一致,则进一步计算将该结果与其在哈希树中的兄弟节点拼接后的哈希值,直接递归计算直到达到根节点,得到最终的计算结果;
63.③
将该计算结果与根节点值进行比较,确定两者是否一致,当两者一致时,则证明节点验证路径是正确的。
64.(2)当节点验证路径中的每个节点都验证正确时,根据第二密钥,使用加密哈希函数对用户完整性证明中文件系统的每个文件进行完整性验证。
65.在本发明实施例中,对用户完整性证明中文件系统的每个文件是指云服务商返回的文件系统中的目标文件,当节点验证路径中的每个节点都验证正确时,使用加密哈希函数和第二密钥,计算每个目标文件的哈希消息验证码,并将其与用户完整性证明中哈希表项中对应的哈希消息验证码进行比较,当两者一致时,则验证成功,表明目标文件是完整的,其没有被篡改或丢失,否则验证失败。
66.通过上述步骤(1)-(2)实现了文件系统完整性的验证,从而通过使用加密哈希函数来实现数据验证,避免了大量小文件场景下复杂且计算开销过高的大整数模指运算和椭圆曲线双线性配对运算,提高了审计效率。
67.在本发明实施例中,根据预设的审计方式,向已存储有文件系统数据的云服务商
发起完整性审计挑战,接收云服务商根据该完整性审计挑战返回的用户完整性证明,根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文件系统的完整性进行验证,从而提高了面向文件系统的云数据完整性审计的可靠性和审计效率。
68.实施例二:
69.图3示出了本发明实施例二提供的云数据完整性审计方法的实现流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:
70.在步骤s301中,使用预设的密钥生成算法生成第一密钥和第二密钥。
71.在本发明实施例中,当用户准备外包文件系统时,需要生成2个密钥,即第一密钥和第二密钥,第一密钥用于计算之后的辅助验证信息,该密钥需要安全地储存在用户的本地存储介质中,以验证辅助验证信息的正确性,第二密钥用于计算文件系统中每个文件的哈希消息验证码,哈希消息验证码作为一种数字签名,可以证明数据的真实性和完整性,生成第一密钥和第二密钥的密钥生成算法可以是对称加密算法(例如aes算法),也可以是非对称加密算法(例如rsa算法),在此不做限定。
72.在步骤s302中,根据第一密钥和第二密钥,使用加密哈希函数对文件系统进行预处理,得到辅助验证信息。
73.在本发明实施例中,在使用加密哈希函数对文件系统进行预处理时,优选地,通过下述步骤实现对文件系统的预处理:
74.(1)根据第二密钥,使用加密哈希函数计算文件系统中每个文件的哈希消息验证码;
75.在本发明实施例中,使用加密哈希函数和第二密钥对文件系统中的每个文件计算对应的哈希消息验证码,得到各个文件的哈希消息验证码。
76.(2)根据哈希消息验证码和第一密钥,计算文件系统对应的辅助验证信息,辅助验证信息包括文件系统对应的哈希表和哈希树。
77.在本发明实施例中,根据文件的元信息,将文件系统中每个文件一一映射到哈希表中,每个哈希表项由(index,id,state,hmac)组成,当哈希表生成之后,基于该哈希表的基础上建立哈希树,具体地,使用加密哈希函数和第一密钥对哈希表中每一个表项进行哈希计算获得表项的哈希值,并将这些哈希值作为哈希树的叶子节点,在这些叶子节点的基础上,自底向上计算中间节点的哈希值,直到计算到根节点,从而完成哈希树的构建,得到包含与文件系统对应的哈希表和哈希树的辅助验证信息,其中,index指的是该表项在哈希表中的位置,id指的是文件的文件名和/或存储路径,state指的是文件的状态,hmac指的是文件的哈希消息验证码,文件的元信息包括文件的哈希消息验证码、状态以及文件名和/或存储路径。图4示出了哈希表和哈希树的构建过程。
78.通过上述步骤(1)-(2)实现对文件系统的预处理,从而通过使用基于语义嵌入的哈希表管理文件系统的索引与目录结构,实现文件的快速查找和验证,并通过将文件的哈希消息验证码嵌入哈希表的表项中,使得后续可以高效地执行面向文件系统的完整性验证。
79.在步骤s303中,将处理后的文件系统和辅助验证信息发送给云服务商。
80.在本发明实施例中,将预处理后的文件系统和辅助验证信息发送给云服务商,并
删除原始的文件系统数据,以节省存储开销,同时在本地存储介质中只保留简短的验证信息,即哈希树的根节点值,该根节点值用于验证之后云服务商返回的哈希表和哈希树的正确性。
81.在本发明实施例中,使用预设的密钥生成算法生成第一密钥和第二密钥,根据第一密钥和第二密钥,使用加密哈希函数对文件系统进行预处理,得到辅助验证信息,将处理后的文件系统和辅助验证信息发送给云服务商,从而通过使用哈希表和哈希树等技术,确保存储在云服务商中的数据的完整性和安全性。
82.实施例三:
83.图5示出了本发明实施例三提供的云数据完整性审计装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
84.挑战发起单元51,用于根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战。
85.在本发明实施例中,预设的审计方式是多样化的,可以是随机发起审计挑战,也可以是定期发起审计挑战,还可以是通过事件触发的方式(例如,在用户想要获取云存储的文件时进行)发起审计挑战,用户可以根据使用实践场景自定义发起审计挑战的时机和挑战的标识范围,向已存储有文件系统数据的云服务商发起完整性审计挑战,以检测存储在云存储中的文件是否存在任何篡改或损坏。
86.证明返回单元52,用于接收云服务商根据该完整性审计挑战返回的用户完整性证明。
87.在本发明实施例中,当云服务商接收到用户发送的完整性审计挑战时,云服务商会根据该完整性审计挑战在云存储中查询内部存储系统,定位并检索所请求的目标文件,并基于辅助验证信息为审计的该目标文件计算一个用户完整性证明,最后将该用户完整性证明和检索到的目标文件一起返回给用户,辅助验证信息包含为文件系统构建的哈希表和哈希树。
88.在云服务商根据该完整性审计挑战生成用户完整性证明时,具体地,通过下述步骤实现用户完整性证的生成:
89.(1).定位并搜索完整性审计挑战在哈希表的位置,也即找到挑战的哈希表项;
90.(2).找到该挑战的哈希表项在哈希树中的位置,也就是找到其对应的叶子节点;
91.(3).根据该叶子节点,找到其父亲节点和兄弟节点;
92.(4).再将父亲节点作为叶子节点,循环以上步骤(3),直到达到根节点,从叶子节点到根节点中所需要的节点称为节点验证路径,该叶子节点和挑战的哈希表项构成用户完整性证明。
93.完整性验证单元53,用于根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文件系统的完整性进行验证。
94.在本发明实施例中,预先存储的验证信息为为文件系统构建的哈希树的根节点值,根据预先生成的第一密钥、第二密钥以及根节点值,对用户完整性证明中对应的文件系统的完整性进行验证,以确保文件系统中的每个目标文件没有被篡改或丢失,从而用户可以信任存储在云服务商中的数据。
95.如图6所示,优选地,完整性验证单元53包括:
96.第一验证单元531,用于根据第一密钥和验证信息,使用预先设置的加密哈希函数对用户完整性证明中文件系统对应的哈希树的节点验证路径中的节点进行正确性验证;
97.在本发明实施例中,在使用预先设置的加密哈希函数对用户完整性证明中文件系统对应的哈希树的节点验证路径中的节点进行正确性验证时,具体地,通过下述步骤实现节点正确性验证:
98.①
使用加密哈希函数和第一密钥,计算用户完整性证明中的哈希表项的哈希值是否正确;
99.②
当用户完整性证明中的哈希表项的哈希值正确时,计算该哈希值和其在哈希树中的兄弟节点拼接后的哈希值是否一致,如果一致,则进一步计算将该结果与其在哈希树中的兄弟节点拼接后的哈希值,直接递归计算直到达到根节点,得到最终的计算结果;
100.③
将该计算结果与根节点值进行比较,确定两者是否一致,当两者一致时,则证明节点验证路径是正确的。
101.第二验证单元532,用于当节点验证路径中的每个节点都验证正确时,根据第二密钥,使用加密哈希函数对用户完整性证明中文件系统的每个文件进行完整性验证。
102.在本发明实施例中,对用户完整性证明中文件系统的每个文件是指云服务商返回的文件系统中的目标文件,当节点验证路径中的每个节点都验证正确时,使用加密哈希函数和第二密钥,计算每个目标文件的哈希消息验证码,并将其与用户完整性证明中哈希表项中对应的哈希消息验证码进行比较,当两者一致时,则验证成功,表明目标文件是完整的,其没有被篡改或丢失,否则验证失败。
103.在本发明实施例中,云数据完整性审计装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
104.实施例四:
105.图7示出了本发明实施例四提供的云数据完整性审计装置的结构,为了便于说明,仅示出了与本发明实施例相关的部分,其中包括:
106.密钥生成单元71,用于使用预设的密钥生成算法生成第一密钥和第二密钥。
107.在本发明实施例中,当用户准备外包文件系统时,需要生成2个密钥,即第一密钥和第二密钥,第一密钥用于计算之后的辅助验证信息,该密钥需要安全地储存在用户的本地存储介质中,以验证辅助验证信息的正确性,第二密钥用于计算文件系统中每个文件的哈希消息验证码,哈希消息验证码作为一种数字签名,可以证明数据的真实性和完整性,生成第一密钥和第二密钥的密钥生成算法可以是对称加密算法(例如aes算法),也可以是非对称加密算法(例如rsa算法),在此不做限定。
108.文件处理单元72,用于根据第一密钥和第二密钥,使用加密哈希函数对文件系统进行预处理,得到辅助验证信息。
109.信息发送单元73,用于将处理后的文件系统和辅助验证信息发送给云服务商。
110.在本发明实施例中,将预处理后的文件系统和辅助验证信息发送给云服务商,并删除原始的文件系统数据,以节省存储开销,同时在本地存储介质中只保留简短的验证信息,即哈希树的根节点值,该根节点值用于验证之后云服务商返回的哈希表和哈希树的正确性。
111.挑战发起单元74,用于根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战。
112.在本发明实施例中,预设的审计方式是多样化的,可以是随机发起审计挑战,也可以是定期发起审计挑战,还可以是通过事件触发的方式(例如,在用户想要获取云存储的文件时进行)发起审计挑战,用户可以根据使用实践场景自定义发起审计挑战的时机和挑战的标识范围,向已存储有文件系统数据的云服务商发起完整性审计挑战,以检测存储在云存储中的文件是否存在任何篡改或损坏。
113.证明返回单元75,用于接收云服务商根据该完整性审计挑战返回的用户完整性证明。
114.在本发明实施例中,当云服务商接收到用户发送的完整性审计挑战时,云服务商会根据该完整性审计挑战在云存储中查询内部存储系统,定位并检索所请求的目标文件,并基于辅助验证信息为审计的该目标文件计算一个用户完整性证明,最后将该用户完整性证明和检索到的目标文件一起返回给用户,辅助验证信息包含为文件系统构建的哈希表和哈希树。
115.在云服务商根据该完整性审计挑战生成用户完整性证明时,具体地,通过下述步骤实现用户完整性证的生成:
116.(1).定位并搜索完整性审计挑战在哈希表的位置,也即找到挑战的哈希表项;
117.(2).找到该挑战的哈希表项在哈希树中的位置,也就是找到其对应的叶子节点;
118.(3).根据该叶子节点,找到其父亲节点和兄弟节点;
119.(4).再将父亲节点作为叶子节点,循环以上步骤(3),直到达到根节点,从叶子节点到根节点中所需要的节点称为节点验证路径,该叶子节点和挑战的哈希表项构成用户完整性证明。
120.完整性验证单元76,用于根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文件系统的完整性进行验证。
121.在本发明实施例中,预先存储的验证信息为为文件系统构建的哈希树的根节点值,根据预先生成的第一密钥、第二密钥以及根节点值,对用户完整性证明中对应的文件系统的完整性进行验证,以确保文件系统中的每个目标文件没有被篡改或丢失,从而用户可以信任存储在云服务商中的数据。
122.优选地,文件处理单元72包括:
123.第一计算单元721,用于根据第二密钥,使用加密哈希函数计算文件系统中每个文件的哈希消息验证码;
124.在本发明实施例中,使用加密哈希函数和第二密钥对文件系统中的每个文件计算对应的哈希消息验证码,得到各个文件的哈希消息验证码。
125.第二计算单元722,用于根据哈希消息验证码和第一密钥,计算文件系统对应的辅助验证信息,辅助验证信息包括文件系统对应的哈希表和哈希树。
126.在本发明实施例中,根据文件的元信息,将文件系统中每个文件一一映射到哈希表中,每个哈希表项由(index,id,state,hmac)组成,当哈希表生成之后,基于该哈希表的基础上建立哈希树,具体地,使用加密哈希函数和第一密钥对哈希表中每一个表项进行哈希计算获得表项的哈希值,并将这些哈希值作为哈希树的叶子节点,在这些叶子节点的基
础上,自底向上计算中间节点的哈希值,直到计算到根节点,从而完成哈希树的构建,得到包含与文件系统对应的哈希表和哈希树的辅助验证信息,其中,index指的是该表项在哈希表中的位置,id指的是文件的文件名和/或存储路径,state指的是文件的状态,hmac指的是文件的哈希消息验证码,文件的元信息包括文件的哈希消息验证码、状态以及文件名和/或存储路径。
127.完整性验证单元76包括:
128.第一验证单元761,用于用于根据第一密钥和验证信息,使用预先设置的加密哈希函数对用户完整性证明中文件系统对应的哈希树的节点验证路径中的节点进行正确性验证;
129.在本发明实施例中,在使用预先设置的加密哈希函数对用户完整性证明中文件系统对应的哈希树的节点验证路径中的节点进行正确性验证时,具体地,通过下述步骤实现节点正确性验证:
130.①
使用加密哈希函数和第一密钥,计算用户完整性证明中的哈希表项的哈希值是否正确;
131.②
当用户完整性证明中的哈希表项的哈希值正确时,计算该哈希值和其在哈希树中的兄弟节点拼接后的哈希值是否一致,如果一致,则进一步计算将该结果与其在哈希树中的兄弟节点拼接后的哈希值,直接递归计算直到达到根节点,得到最终的计算结果;
132.③
将该计算结果与根节点值进行比较,确定两者是否一致,当两者一致时,则证明节点验证路径是正确的。
133.第二验证单元762,用于用于当节点验证路径中的每个节点都验证正确时,根据第二密钥,使用加密哈希函数对用户完整性证明中文件系统的每个文件进行完整性验证。
134.在本发明实施例中,对用户完整性证明中文件系统的每个文件是指云服务商返回的文件系统中的目标文件,当节点验证路径中的每个节点都验证正确时,使用加密哈希函数和第二密钥,计算每个目标文件的哈希消息验证码,并将其与用户完整性证明中哈希表项中对应的哈希消息验证码进行比较,当两者一致时,则验证成功,表明目标文件是完整的,其没有被篡改或丢失,否则验证失败。
135.在本发明实施例中,云数据完整性审计装置的各单元可由相应的硬件或软件单元实现,各单元可以为独立的软、硬件单元,也可以集成为一个软、硬件单元,在此不用以限制本发明。
136.实施例五:
137.图8示出了本发明实施例五提供的计算设备的结构,为了便于说明,仅示出了与本发明实施例相关的部分。
138.本发明实施例的计算设备8包括处理器80、存储器81以及存储在存储器81中并可在处理器80上运行的计算机程序82。该处理器80执行计算机程序82时实现上述一种云数据完整性审计方法实施例中的步骤,例如图1所示的步骤s101至s103。或者,处理器80执行计算机程序82时实现上述各装置实施例中各单元的功能,例如图5所示单元51至53的功能。
139.在本发明实施例中,根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战,接收云服务商根据该完整性审计挑战返回的用户完整性证明,根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文
件系统的完整性进行验证,从而提高了面向文件系统的云数据完整性审计的可靠性和审计效率。
140.本发明实施例的计算设备可以为个人计算机、服务器。该计算设备8中处理器80执行计算机程序82时实现一种云数据完整性审计方法时实现的步骤可参考前述方法实施例的描述,在此不再赘述。
141.实施例六:
142.在本发明实施例中,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述一种云数据完整性审计方法实施例中的步骤,例如,图1所示的步骤s101至s103。或者,该计算机程序被处理器执行时实现上述各装置实施例中各单元的功能,例如图5所示单元51至53的功能。
143.在本发明实施例中,根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战,接收云服务商根据该完整性审计挑战返回的用户完整性证明,根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文件系统的完整性进行验证,从而提高了面向文件系统的云数据完整性审计的可靠性和审计效率。
144.本发明实施例的计算机可读存储介质可以包括能够携带计算机程序代码的任何实体或装置、记录介质,例如,rom/ram、磁盘、光盘、闪存等存储器。
145.以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

技术特征:
1.一种云数据完整性审计方法,其特征在于,所述方法包括下述步骤:根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战;接收所述云服务商根据所述完整性审计挑战返回的用户完整性证明;根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对所述用户完整性证明中对应的文件系统的完整性进行验证。2.如权利要求1所述的方法,其特征在于,所述对所述用户完整性证明中的文件系统的完整性进行验证的步骤,包括:根据所述第一密钥和所述验证信息,使用预先设置的加密哈希函数对所述用户完整性证明中所述文件系统对应的哈希树的节点验证路径中的节点进行正确性验证;当所述节点验证路径中的每个节点都验证正确时,根据所述第二密钥,使用所述加密哈希函数对所述用户完整性证明中所述文件系统的每个文件进行完整性验证。3.如权利要求1所述的方法,其特征在于,所述向已存储有文件系统数据的云服务商发起完整性审计挑战的步骤之前,所述方法还包括:使用预设的密钥生成算法生成所述第一密钥和所述第二密钥;根据所述第一密钥和所述第二密钥,使用所述加密哈希函数对所述文件系统进行预处理,得到辅助验证信息;将处理后的所述文件系统和所述辅助验证信息发送给所述云服务商。4.如权利要求3所述的方法,其特征在于,所述使用所述加密哈希函数对所述文件系统进行预处理,得到辅助验证信息的步骤,包括:根据所述第二密钥,使用所述加密哈希函数计算所述文件系统中每个文件的哈希消息验证码;根据所述哈希消息验证码和所述第一密钥,计算所述文件系统对应的所述辅助验证信息,所述辅助验证信息包括所述文件系统对应的哈希表和哈希树。5.一种云数据完整性审计装置,其特征在于,所述装置包括:挑战发起单元,用于根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战;证明返回单元,用于接收所述云服务商根据所述完整性审计挑战返回的用户完整性证明;以及完整性验证单元,用于根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对所述用户完整性证明中对应的文件系统的完整性进行验证。6.如权利要求5所述的装置,其特征在于,所述完整性验证单元包括:第一验证单元,用于根据所述第一密钥和所述验证信息,使用预先设置的加密哈希函数对所述用户完整性证明中所述文件系统对应的哈希树的节点验证路径中的节点进行正确性验证;以及第二验证单元,用于当所述节点验证路径中的每个节点都验证正确时,根据所述第二密钥,使用所述加密哈希函数对所述用户完整性证明中所述文件系统的每个文件进行完整性验证。7.如权利要求5所述的装置,其特征在于,所述装置还包括:密钥生成单元,用于使用预设的密钥生成算法生成所述第一密钥和所述第二密钥;
文件处理单元,用于根据所述第一密钥和所述第二密钥,使用所述加密哈希函数对所述文件系统进行预处理,得到辅助验证信息;以及信息发送单元,用于将处理后的所述文件系统和所述辅助验证信息发送给所述云服务商。8.如权利要求7所述的装置,其特征在于,所述文件处理单元包括:第一计算单元,用于根据所述第二密钥,使用所述加密哈希函数计算所述文件系统中每个文件的哈希消息验证码;以及第二计算单元,用于根据所述哈希消息验证码和所述第一密钥,计算所述文件系统对应的所述辅助验证信息,所述辅助验证信息包括所述文件系统对应的哈希表和哈希树。9.一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述方法的步骤。10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述方法的步骤。

技术总结
本发明适用信息安全技术领域,提供了一种云数据完整性审计方法、装置、设备及存储介质,该方法包括:根据预设的审计方式,向已存储有文件系统数据的云服务商发起完整性审计挑战,接收云服务商根据该完整性审计挑战返回的用户完整性证明,根据预先生成的第一密钥、第二密钥以及预先存储的验证信息,对用户完整性证明中对应的文件系统的完整性进行验证,从而提高了面向文件系统的云数据完整性审计的可靠性和审计效率。性和审计效率。性和审计效率。


技术研发人员:陈飞 林毓植
受保护的技术使用者:深圳大学
技术研发日:2023.05.24
技术公布日:2023/8/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐