数据完整性验证方法、装置、电子设备及计算机存储介质与流程

文档序号:33469177发布日期:2023-03-15 07:46阅读:50来源:国知局
数据完整性验证方法、装置、电子设备及计算机存储介质与流程

1.本技术实施例涉及数据处理技术领域,尤其涉及一种数据完整性验证方法、装置、电子设备及计算机存储介质。


背景技术:

2.云存储服务作为云计算技术的衍生物,能够提供巨大的存储空间供用户使用,用户可以将本地数据上传到远程云服务器中,但是由于云服务提供商不是完全被信任的第三方实体,可能会因为硬件损坏等非人为因素和谋取利益等人为因素造成存储在云上的数据安全和缺失等问题。
3.目前,用户对云存储服务上的数据进行完整性验证时,需要将数据完全下载,然后通过下载后数据的大小确定数据是否完整。
4.但是,当用户存储的数据量较大时,下载所有数据所需要的时间较长,且占用网络资源较大,导致验证数据完整性时时间成本较高,因此现有的数据完整性验证方法适用性不高。


技术实现要素:

5.有鉴于此,本技术实施例提供一种数据完整性验证方法、装置、电子设备及计算机存储介质,以至少部分解决上述问题。
6.根据本技术实施例的第一方面,提供了一种数据完整性验证方法,应用于权限管理端,该方法包括:获取来自第一用户的数据完整性验证请求;根据所述数据完整性验证请求,获取所述第一用户所持有数据块的第一认证码、第一认证器和第一文件标签,其中,所述第一认证器包含至少两个所述第一认证码;获取所述第一用户所在用户组对应的第一授权凭证;解析所述第一文件标签,并根据解析结果和所述第一授权凭证确定所述第一用户是否为有效用户,并确定所述第一文件标签和所述第一认证器的有效性;若所述第一用户为有效用户,且所述第一文件标签和所述第一认证器均有效,则将所述第一文件标签和所述数据完整性验证请求发送至审计端,以使所述审计端根据所述第一文件标签和所述数据完整性验证请求生成质询命令向数据存储端验证数据完整性。
7.在一种可能的实现方式中,所述解析所述第一文件标签,并根据解析结果和所述第一授权凭证确定所述第一用户是否为有效用户,并确定所述第一文件标签和所述第一认证器的有效性包括:解析所述第一文件标签,获得所述第一文件标签中包含的第二授权凭证和第一签名;将所述第一授权凭证和所述第二授权凭证进行对比确定所述第一用户是否为有效用户;若所述第一用户为有效用户,则根据所述第一签名验证所述第一文件标签的有效性;若所述第一文件标签有效,则通过预先设定的第一验证公式确定所述第一认证器的有效性。
8.在一种可能的实现方式中,所述方法还包括:获取第二用户的撤销命令;若所述第二用户所在用户组为一级用户组,则将所述第二用户从该一级用户组的第一权限管理表中
删除,以及将所述第二用户管理的二级用户组分配至第三用户管理,其中,所述第三用户与所述第二用户处于同一二级用户组中;若所述第二用户所在用户组为二级用户组,则将所述第二用户从该二级用户组的第二权限管理表中删除,并生成第三授权凭证;将所述第三授权凭证确定为该二级用户组的所述第一授权凭证。
9.在一种可能的实现方式中,所述方法还包括:获取来自第四用户的加入命令;若所述第四用户需要加入二级用户组,则获取来自一级用户组管理员的主密钥,以及获取来自该二级用户组的授权密钥和授权凭证;通过所述主密钥和所述授权密钥计算获得所述第四用户对应的密钥,其中,所述密钥用于计算所述第一认证码和所述第一认证器。
10.根据本技术实施例的第二方面,提供了一种数据完整性验证方法,应用于审计端,所述方法包括:获取权限管理端发送的第一文件标签和来自第一用户的数据完整性验证请求;根据所述完整性验证请求验证所述第一用户的有效性;若所述第一用户为有效用户,则生成质询命令,并将所述质询命令发送至数据存储端,以使所述数据存储端根据所述质询命令生成数据持有证明;获取所述数据持有证明;根据所述第一文件标签和所述数据持有证明通过预先设定的第二验证公式验证数据完整性。
11.根据本技术实施例的第三方面,提供了一种数据完整性验证装置,应用于权限管理端,该装置包括:第一获取模块,用于获取来自第一用户的数据完整性验证请求;第二获取模块,用于根据所述数据完整性验证请求,获取所述第一用户所持有数据块的第一认证码、第一认证器和第一文件标签,其中,所述第一认证器包含至少两个所述第一认证码;第三获取模块,用于获取所述第一用户所在用户组对应的第一授权凭证;解析模块,用于解析所述第一文件标签,并根据解析结果和所述第一授权凭证确定所述第一用户是否为有效用户,并确定所述第一文件标签和所述第一认证器的有效性;发送模块,用于若所述第一用户为有效用户,且所述第一文件标签和所述第一认证器均有效,则将所述第一文件标签和所述完整性验证请求发送至审计端,以使所述审计端根据所述第一文件标签和所述完整性验证请求生成质询命令向数据存储端验证数据完整性。
12.根据本技术实施例的第四方面,提供了一种数据完整性验证装置,应用于审计端,所述装置包括:第四获取模块,用于获取权限管理端发送的第一文件标签和来自第一用户的数据完整性验证请求;第一验证模块,用于根据所述完整性验证请求验证所述第一用户的有效性;生成模块,用于若所述第一用户为有效用户,则生成质询命令,以使数据存储端根据所述质询命令生成数据持有证明;第五获取模块,用于获取所述数据持有证明;第二验证模块,用于根据所述第一文件标签和所述数据持有证明通过预先设定的第二验证公式验证数据完整性。
13.根据本技术实施例的第五方面,提供了一种数据完整性验证系统,包括:如本技术实施例的第三方面所述的装置和本技术实施例的第四方面所述的装置。
14.根据本技术实施例的第六方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如本技术实施例的第一方面所述的方法或本技术实施例的第二方面所述的方法。
15.根据本技术实施例的第七方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术实施例的第一方面所述的方法或本技术实施例
的第二方面所述的方法。
16.根据本技术实施例提供的数据完整性验证方法,获取第一用户持有数据块的第一认证码、第一认证器和第一文件标签,并获取第一用户所在用户组的第一授权凭证,从而可以根据第一用户的第一授权凭证、第一认证器和第一文件标签确定第一用户是否为有效用户,实现了基于用户组的权限管理,且在进行数据完整性验证时对用户的权限进行验证,避免非法用户获取数据的情况发生,提高了对数据完整性进行验证时数据的安全性,并且审计端可以根据文件标签生成质询命令并发送至数据存储端,从而无需将数据完全下载即可验证数据的完整性,提高了数据完整性验证的效率,使数据完整性验证方法适用于具有大量数据的情况,因此该数据完整性验证方法具有较高的适用性。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
18.图1是本技术实施例提供的一种数据完整性验证方法的流程图;
19.图2为本技术实施例提供的一种第一权限管理表的示意图;
20.图3是本技术实施例提供的一种第二权限管理表的示意图;
21.图4是本技术实施例提供的另一种第一权限管理表的示意图;
22.图5是本技术实施例提供的另一种数据完整性验证方法的流程图;
23.图6是本技术实施例提供的一种数据完整性验证装置的示意图;
24.图7是本技术实施例提供的另一种数据完整性验证装置的示意图;
25.图8是本技术实施例提供的一种数据完整性验证系统的示意图;
26.图9为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
27.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
28.在本技术使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术。在本技术和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
29.应当理解,尽管在本技术可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本技术范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
30.图1是本技术实施例提供的一种数据完整性验证方法的流程图,该数据完整性验证方法应用于权限管理端,如图1所示,该方法包括如下步骤101至步骤105:
31.步骤101、获取来自第一用户的数据完整性验证请求。
32.接收第一用户发出的数据完整性验证请求,第一用户为将数据存储至云存储服务上的任意一个需求查询所存储数据完整性的用户。
33.步骤102、根据数据完整性验证请求,获取第一用户所持有数据块的第一认证码、第一认证器和第一文件标签,其中,第一认证器包含至少两个第一认证码。
34.第一用户计算自己所储存数据对应的数据块的第一认证码,第一认证器和第一文件标签,第一用户首先通过公式计算数据块的第一认证码,其中h是散列函数{0,1}
*

g1,sk为第一用户所持有的密钥,mi为用户所储存的数据对应的数据块。第一用户计算第一认证码后,将第一认证码的集合作为第一认证器,即第一认证器为∑={ti}
1≤i≤n
,然后第一用户通过公式tag=fid||a||ssig
ssk
(fid||a)计算第一文件标签,a为第一用户所持有的授权凭证,第一用户计算完后,系统获取计算结果,即获取第一用户所持有数据块的第一认证码、第一认证器和第一文件标签。
35.步骤103、获取第一用户所在用户组对应的第一授权凭证。
36.获取第一用户所在用户组的第一授权凭证,不同用户组对应有不同的授权凭证。
37.每个用户可授予其他成员访问其所创建的文件的权限,文件创建者及其授权用户共同构成一个用户组,而未在用户组内的用户无法访问该用户组内的文件,因此每个用户组都具有对应的授权凭证,从而可以确定用户对数据进行访问的权限。
38.步骤104、解析第一文件标签,并根据解析结果和第一授权凭证确定第一用户是否为有效用户,并确定第一文件标签和第一认证器的有效性。
39.系统获取到第一文件标签后,对第一文件标签进行解析,根据解析结果确定第一用户是否有效,若第一用户为有效用户,则确定第一文件标签和第一认证器的有效性,若第一用户无效,则拒绝第一用户的数据完整性验证请求。
40.步骤105、若第一用户为有效用户,且第一文件标签和第一认证器均有效,则将第一文件标签和完整性验证请求发送至审计端,以使审计端根据第一文件标签和数据完整性验证请求生成质询命令向数据存储端验证数据完整性。
41.当第一用户有效,且第一文件标签和第一认证器均有效时,将第一文件标签tag=fid||a||ssig
ssk
(fid||a)发送至审计端,审计端根据第一文件标签和来自第一用户的数据完整性验证请求生成质询命令,并将质询命令发送至数据存储端,从而实现数据完整性的验证。
42.应理解,当第一用户有效,但第一文件标签无效和/或第一认证器无效时,系统认为该数据完整性验证请求为非法用户发出,此时系统拒绝该用户发出的数据完整性验证请求,即不会向审计端发送第一文件标签和数据完整性验证请求。
43.在本技术实施例中,获取第一用户持有数据块的第一认证码、第一认证器和第一文件标签,并获取第一用户所在用户组的第一授权凭证,从而可以根据第一用户的第一授权凭证、第一认证器和第一文件标签确定第一用户是否为有效用户,实现了基于用户组的权限管理,且在进行数据完整性验证时对用户的权限进行验证,避免非法用户获取数据的情况发生,提高了对数据完整性进行验证时数据的安全性,并且审计端可以根据文件标签
生成质询命令并发送至数据存储端,从而无需将数据完全下载即可验证数据的完整性,提高了数据完整性验证的效率,使数据完整性验证方法适用于具有大量数据的情况,因此该数据完整性验证方法具有较高的适用性。
44.在一种可能的实现方式中,在解析第一文件标签,并根据解析结果和第一授权凭证确定第一用户是否为有效用户,并确定第一文件标签和第一认证器的有效性时,可以解析第一文件标签,获得第一文件标签中包含的第二授权凭证和第一签名,然后将第一授权凭证和第二授权凭证进行对比确定第一用户是否为有效用户。若第一用户为有效用户,则根据第一签名验证第一文件标签的有效性。若第一文件标签有效,则通过预先设定的第一验证公式确定第一认证器的有效性。
45.解析第一文件标签,获取第一文件标签包含的第二授权凭证,将该授权凭证与第一用户所处用户组的第一授权凭证进行对比,若两个授权凭证相同,则确定第一用户为有效用户,若第一用户为无效用户,则拒接第一用户的数据完整性验证请求。
46.若第一用户为有效用户,则确定解析出的第一签名ssig
ssk
(fid||a)是否有效,若该签名无效则确定第一文件标签无效,即第一用户计算错误或第一用户为非法用户。若该签名有效,则根据公式确定认证器是否有效,若认证器无效则认为第一用户为非法用户,若认证器有效则继续进行文件完整性验证的后续步骤。
47.需要说明的是,当验证第一用户无效后,不会进行后续验证步骤,三个验证步骤为循序渐进的验证步骤,当任意步骤的验证不通过时,不会继续进行后续验证,从而提高了验证用户有效性时的效率。
48.在本技术实施例中,通过对文件标签的解析结果和第一用户的第一授权凭证确定第一用户是否有效和确定第一文件标签是否有效,实现了数据完整性验证时对用户权限的验证,避免非法用户获取数据的情况发生,提高了数据完整性验证时数据的安全性,且在有效性验证过程中,三层验证循序递进,一层验证不通过不会进行后续验证,减少了数据完整性验证时的计算量,提高了数据完整性验证的效率。
49.在一种可能的实现方式中,数据完整性验证方法,还包括:获取第二用户的撤销命令。若第二用户所在用户组为一级用户组,则将第二用户从该一级用户组的第一权限管理表中删除,以及将第二用户管理的二级用户组分配至第三用户管理,其中,第三用户与第二用户处于同一二级用户组中。若第二用户所在用户组为二级用户组,则将第二用户从该二级用户组的第二权限管理表中删除,并生成第三授权凭证,且将第三授权凭证确定为该二级用户组的第一授权凭证。
50.基于用户组对用户进行权限管理,一级管理员管理整个一级用户组,一级用户组中包括有多个二级管理员,每个二级管理员管理至少一个二级用户组,一级用户组中所有用户共享所有未授权数据,二级用户组中共享该用户组中用户的授权数据。
51.当需要撤销用户时,判断该用户处于一级用户组还是二级用户组,当第二用户处于一级用户组时一级管理员更新一级用户组中用户数量为k=k-1(k≥0),并将idj||k||ssig(idj||k)发送给用户组内未撤销的其他用户,然后修改本地存储的权限储存表。
52.示例性的,图2为本技术实施例提供的一种第一权限管理表的示意图,如图2所示,
一级管理员gm选择授权组内的另一名用户idw(1≤w≤k,w≠j)作为该授权组内新的二级管理员sgm,通过将idj对应的第二权限管理表afj链接在idw对应的第二权限管理表afw的尾部实现了撤销用户和数据访问管理权限的转移,其中,idj对应于第二用户,idw对应于第三用户,pr对应于该二级管理员所管理的第二权限管理表的头指针。
53.当第二用户处于二级用户组时,二级用户组的新管理员,即第三用户idw将该第二用户在第二权限管理表中删除,重新选择随机的盲化值计算d3=g
β
,然后生成新的授权凭证a=h2(idw)
r+β
,并将其发送给该二级用户组内其他未撤销用户,从而实现了用户的删除。
54.应理解,由于将第二用户删除后,对第二用户所在的二级用户组中的其他用户生成了新的授权凭证,因此该第二用户由于授权凭证不同无法进行数据完整性的验证,因此若系统误将第二用户识别为有效用户,该用户也无法进行数据完整性验证和访问数据。
55.示例性的,图3是本技术实施例提供的一种第二权限管理表的示意图,为了方便说明,图3中的示例中,第二用户idj不仅管理一个二级用户组,而且该用户作为普通用户位于第三用户idw所管理的二级用户组中。如图3所示,第三用户idw首先将自己管理的二级用户组中的第二用户删除,即在二级权限管理表afw中将第二用户idj对应的数据删除,并为用户组中的其他用户生成新的授权凭证a

,然后第三用户访问第二用户idj管理的二级用户组,为该二级用户组中的其他用户生成新的授权凭证,即在二级权限管理表afj中为用户组中的其他用户生成新的授权凭证a

,从而完成删除过程。
56.需要说明的是,图2和图3中,no用于表征用户的编号,id用于表征用户的标识,a为授权凭证,afw用于表征第三用户idw所管理的二级用户组对应的第二权限管理表,其他表述与上述类似在此不在赘述。
57.在本技术实施例中,判断第二用户所处的用户组,从而根据用户组的不同对第二用户进行不同的撤销方法,并对撤销后用户组的其他用户生成新的授权凭证,从而可以使被撤销的用户无法访问用户组共享的数据,进而无法进行数据完整性验证,保证了数据存储的安全,避免了非法用户的访问,提高了数据完整性验证的安全性,使该数据完整性验证方法适用于用户撤销的情况,因此该数据完整性验证方法具有较高的适用性。
58.在一种可能的实现方式中,该数据完整性验证方法,还包括:获取来自第四用户的加入命令。根据第四用户需要加入的用户组,确定第四用户对应的密钥和第一授权凭证。
59.在本技术实施例中,当接收到第四用户的加入请求后,根据第四用户需要加入的用户组,计算第四用户对应的密钥和需求加入用户组对应的第一授权凭证,从而可以使第四用户与需求加入的用户组中的其他用户组成员进行数据共享,实现了成员的加入。
60.在一种可能的实现方式中,在根据第四用户需要加入的用户组,确定第四用户对应的密钥和第一授权凭证时,若第四用户需要加入二级用户组,则获取来自一级用户组管理员的主密钥,以及获取来自该二级用户组的授权密钥和授权凭证,通过主密钥和授权密钥计算获得第四用户对应的密钥,其中,密钥用于计算第一认证码、第一认证器和第一文件标签。
61.当第四用户需求加入二级用户组时,首先获取来自于一级管理员的主密钥,该主密钥的生成方式如下:一级管理员随机选择秘密参数并根据组标识gid计算主密钥
gsk=x
·
h1(gid)和验证值d1=g
x
,然后将主密钥gsk发送至第四用户,第四用户收到后可通过检查等式来验证主密钥gsk的正确性,其中,组的身份标识gid是公开数据。
62.第四用户获取主密钥后,获取来自需求加入的二级用户组的授权密钥和第一授权凭证,授权密钥和授权凭证生成方式如下:二级管理员随机选择作为授权密钥,即ask=γ,并计算验证值y1=g
γ
,二级管理员随机选择计算d2=g
α
、d3=g
β
、h2(id)和d4=h2(id)
α
,其中id为二级管理员身份标识。然后为用户生成授权凭证a=h2(id)
ask+β
=h2(id)
γ+β
,最后将(ask,a)发送给第四用户,第四用户收到后可根据e(a,d2)=e(d4,y1·
d3)验证a和ask的有效性。
63.第四用户接收到主密钥gsk和授权密钥ask之后,根据sk=gsk+ask计算自己的密钥,该密钥用于通过公式计算第四用户所持有的第一认证码和第一认证器。
64.当第四用户需求加入一级用户组时,示例性的,图4是本技术实施例提供的另一种第一权限管理表的示意图,如图4所示,经一级管理员gm同意后,将第四用户id
k+1
设置为新的二级管理员sgm,一级管理员gm将第四用户id
k+1
和第四用户管理的二级用户组对应的第二权限管理表af
k+1
的相关信息插入第一权限管理表的最后一行,并向第四用户id
k+1
发送主密钥gsk。
65.在本技术实施例中,获取用户加入命令,若用户需求加入二级用户组,则获取主密钥和授权密钥计算用户的密钥,并获取授权凭证,从而可以使用户通过授权凭证与用户组中其他用户进行数据共享,且通过密钥可以计算第一认证码和第一认证器,从而可以实现数据完整性的验证,使该数据完整性验证方法适用于用户增加的情况,因此该数据完整性验证方法既有较高的适用性。
66.图5是本技术实施例提供的另一种数据完整性验证方法的流程图,该数据完整性验证方法应用于审计端,如图5,该方法包括如下步骤501至步骤505:
67.步骤501、获取权限管理端发送的第一文件标签和来自第一用户的数据完整性验证请求。
68.接收来权限管理端发出的第一文件标签和数据完整性验证请求。
69.步骤502、根据完整性验证请求验证第一用户的有效性。
70.根据完整性验证请求,确定第一授权凭证,并根据第一授权凭证确定第一用户是否有效,若第一用户无效则停止数据完整性验证。
71.步骤503、若第一用户为有效用户,则生成质询命令,并将质询命令发送至数据存储端,以使数据存储端根据质询命令生成数据持有证明。
72.若第一用户有效,则选取集合集合i由代表数据块下标的c个随机值构成,然后对于每个i∈i,生成一个随机值然后生成质询命令chal={i,vi}
i∈i
后发送给数据存储端。
73.步骤504、获取数据持有证明。
74.获取来自数据存储端的数据持有证明,其中,数据存储端根据如下方法生成数持
有证明:计算认证器集合然后数据存储端计算所持有的数据块的线性组合m

=∑
i∈i
vi·
mi,然后生成对应的数据持有证明p=(t,m

)和第一文件标签tag发送给审计端。
75.步骤505、根据第一文件标签和数据持有证明通过预先设定的第二验证公式验证数据完整性。
76.接收到数据持有证明后,审计端首先检查ssig
ssk
(fid||a)是否是有效签名来验证第一文件标签tag的有效性,若有效则根据以下步骤验证p通过验证第一文件标签tag的有效性,若有效则根据以下步骤验证p通过验证是否成立来验证数据持有证明p的正确性,若成立,则说明数据持有证明p有效,即云存储中的共享数据是完整的。
77.在本技术实施例中,审计端验证第一用户有效后,根据来自第一用户的数据完整性验证请求生成质询命令,从而可以获取来自数据存储端的数据持有证明,并根据预先设定的公式验证数据的完整性,实现了数据完整性的验证,且在验证过程中,判断第一用户和第一文件标签是否有效,避免了非法用户获取数据,提高了数据完整性验证方法的安全性,实现了无需将数据下载即可验证数据的完整性。
78.图6是本技术实施例提供的一种数据完整性验证装置的示意图,该装置应用于权限管理端,如图6所示,该装置600包括:
79.第一获取模块601,用于获取来自第一用户的数据完整性验证请求。
80.第二获取模块602,用于根据数据完整性验证请求,获取第一用户所持有数据块的第一认证码、第一认证器和第一文件标签,其中,第一认证器包含至少两个第一认证码。
81.第三获取模块603,用于获取第一用户所在用户组对应的第一授权凭证。
82.解析模块604,用于解析第一文件标签,并根据解析结果和第一授权凭证确定第一用户是否为有效用户,并确定第一文件标签和第一认证器的有效性。
83.发送模块605,用于若第一用户为有效用户,且第一文件标签和第一认证器均有效,则将第一文件标签和完整性验证请求发送至审计端,以使审计端根据第一文件标签和完整性验证请求生成质询命令向数据存储端验证数据完整性。
84.在本技术实施例中,第一获取模块601可用于执行上述方法实施例中的步骤101,第二获取模块602可用于执行上述方法实施例中的步骤102,第三获取模块603可用于执行上述方法实施例中的步骤103,解析模块604可用于执行上述方法实施例中的步骤104,发送模块605可用于执行上述方法实施例中的步骤105。
85.在一种可能的实现方式中,解析模块604可以用于解析第一文件标签,获得第一文件标签中包含的第二授权凭证和第一签名;将第一授权凭证和第二授权凭证进行对比确定第一用户是否为有效用户;若第一用户为有效用户,则根据第一签名验证第一文件标签的有效性;若第一文件标签有效,则通过预先设定的第一验证公式确定第一认证器的有效性。
86.在一种可能的实现方式中,该装置还可以用于获取第二用户的撤销命令;若第二用户所在用户组为一级用户组,则将第二用户从该一级用户组的第一权限管理表中删除,以及将第二用户管理的二级用户组分配至第三用户管理,其中,第三用户与第二用户处于同一二级用户组中;若第二用户所在用户组为二级用户组,则将第二用户从该二级用户组的第二权限管理表中删除,并生成第三授权凭证;将第三授权凭证确定为该二级用户组的
第一授权凭证。
87.在一种可能的实现方式中,该装置还可以用于获取来自第四用户的加入命令;若第四用户需要加入二级用户组,则获取来自一级用户组管理员的主密钥,以及获取来自该二级用户组的授权密钥和授权凭证;通过主密钥和授权密钥计算获得第四用户对应的密钥,其中,密钥用于计算第一认证码和第一认证器。
88.图7是本技术实施例提供的另一种数据完整性验证装置的示意图,该装置应用于审计端的,如图7所示,该装置700包括:
89.第四获取模块701,用于获取权限管理端发送的第一文件标签和来自第一用户的数据完整性验证请求。
90.第一验证模块702,用于根据完整性验证请求验证第一用户的有效性。
91.生成模块703,用于若第一用户为有效用户,则生成质询命令,并将质询命令发送至数据存储端,以使数据存储端根据质询命令生成数据持有证明。
92.第五获取模块704,用于获取数据持有证明。
93.第二验证模块705,用于根据第一文件标签和数据持有证明通过预先设定的第二验证公式验证数据完整性。
94.在本技术实施例中,第四获取模块701可用于执行上述方法实施例中的步骤501,第一验证模块702可用于执行上述方法实施例中的步骤502,生成模块703可用于执行上述方法实施例中的步骤503,第五获取模块704可用于执行上述方法实施例中的步骤504,第二验证模块705可用于执行上述方法实施例中的步骤505。
95.需要说明的是,上述数据完整性验证装置内的各模块之间的信息交互、执行过程等内容,由于与前述数据完整性验证方法实施例基于同一构思,具体内容可参见前述数据完整性验证方法实施例中的叙述,此处不再赘述。
96.图8是本技术实施例提供的一种数据完整性验证系统的示意图,如图8所示,该系统800包括数据完整性验证装置600和数据完整性验证装置700。
97.参照图9,示出了根据本技术实施例的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。
98.如图9所示,该电子设备可以包括:处理器(processor)902、通信接口(communications interface)904、存储器(memory)906、以及通信总线908。
99.其中:
100.处理器902、通信接口904、以及存储器906通过通信总线908完成相互间的通信。
101.通信接口904,用于与其它电子设备或服务器进行通信。
102.处理器902,用于执行程序910,具体可以执行上述数据完整性验证方法实施例中的相关步骤。
103.具体地,程序910可以包括程序代码,该程序代码包括计算机操作指令。
104.处理器902可能是中央处理器cpu,或者是图形处理器gpu(graphics processing unit),或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;一个或多个gpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个gpu以及一个或多个asic。
105.存储器906,用于存放程序910。存储器906可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
106.程序910具体可以用于使得处理器902执行前述任一实施例中的数据完整性验证方法。
107.程序910中各步骤的具体实现可以参见前述任一数据完整性验证方法实施例中的相应步骤和单元中对应的描述,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
108.在本技术实施例中,获取第一用户持有数据块的第一认证码、第一认证器和第一文件标签,并获取第一用户所在用户组的第一授权凭证,从而可以根据第一用户的第一授权凭证、第一认证器和第一文件标签确定第一用户是否为有效用户,实现了基于用户组的权限管理,且在进行数据完整性验证时对用户的权限进行验证,避免非法用户获取数据的情况发生,提高了对数据完整性进行验证时数据的安全性,并且审计端可以根据文件标签生成质询命令并发送至数据存储端,从而无需将数据完全下载即可验证数据的完整性,提高了数据完整性验证的效率,使数据完整性验证方法适用于具有大量数据的情况,因此该数据完整性验证方法具有较高的适用性。
109.本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一方法对应的操作。
110.需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
111.上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的数据完整性验证方法。此外,当通用计算机访问用于实现在此示出的数据完整性验证方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的数据完整性验证方法的专用计算机。
112.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
113.以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利
保护范围应由权利要求限定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1