CN111460523B - 数据完整性的验证方法、设备及计算机可读存储介质 - Google Patents
数据完整性的验证方法、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111460523B CN111460523B CN202010233656.3A CN202010233656A CN111460523B CN 111460523 B CN111460523 B CN 111460523B CN 202010233656 A CN202010233656 A CN 202010233656A CN 111460523 B CN111460523 B CN 111460523B
- Authority
- CN
- China
- Prior art keywords
- data
- cloud server
- data block
- integrity
- updated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 238000012795 verification Methods 0.000 title claims abstract description 71
- 238000013475 authorization Methods 0.000 claims abstract description 74
- 238000013496 data integrity verification Methods 0.000 claims abstract description 36
- 238000003780 insertion Methods 0.000 claims description 17
- 230000037431 insertion Effects 0.000 claims description 17
- 238000012217 deletion Methods 0.000 claims description 10
- 230000037430 deletion Effects 0.000 claims description 10
- 238000013507 mapping Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 22
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 4
- 238000012946 outsourcing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000013524 data verification Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- GNFTZDOKVXKIBK-UHFFFAOYSA-N 3-(2-methoxyethoxy)benzohydrazide Chemical compound COCCOC1=CC=CC(C(=O)NN)=C1 GNFTZDOKVXKIBK-UHFFFAOYSA-N 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据完整性的验证方法、设备及计算机可读存储介质,该方法包括步骤:数据终端发送验证待验证数据块完整性的完整性验证请求给云服务器,以供所述云服务器在接收到所述完整性验证请求后,发送所述待验证数据块对应的数据记录值给授权终端;接收所述授权终端发送的,根据所述数据记录值得到数据证明;根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性。本发明通过数据证明来验证云服务器中存储数据的完整,且在验证数据完整性的过程中,不需要传输所需验证的数据的原始数据,避免了用户数据的泄露,提升了数据安全性,保护了用户的隐私。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据完整性的验证方法、设备及计算机可读存储介质。
背景技术
随着云计算技术的发展,越来越多的企业和个人将他们的数据存储在云服务器上,以此来减轻维护巨大的本地数据库的负担。这是一种外包模式,也是一种云计算模型,即用户将他们巨大的计算工作和存储工作交给云服务器,用户享受一种不受限制的,即用即付费的服务,并且可以通过客户端设备访问云服务,从而能够享受随时随地可以使用的,方便快捷的服务。这样一来,个人和企业无需投入精力去存储,管理大量的数据。
在这个外包模式中,首先,将数据通过数据拥有者上传给第三方的云服务器,数据拥有者本身不用再经历复杂的计算,而是由数据库服务提供商来向客户提供服务。然而,目前技术的问题在于云服务器的可靠性,很多情况下会因为受到金钱的诱惑,或者是云服务器系统本身存在着漏洞,使得数据拥有者的数据受到篡改,从而返回一个无效或者错误的数据。因此,对于外包模式来说,关键的挑战在于,如何验证云服务器返回数据的完整性。
发明内容
本发明的主要目的在于提供一种数据完整性的验证方法、设备及计算机可读存储介质,旨在解决现有的如何验证云服务器中存储数据的完整性的技术问题。
为实现上述目的,本发明提供一种数据完整性的验证方法,所述数据完整性的验证方法包括步骤:
数据终端发送验证待验证数据块完整性的完整性验证请求给云服务器,以供所述云服务器在接收到所述完整性验证请求后,发送所述待验证数据块对应的数据记录值给授权终端;
接收所述授权终端发送的,根据所述数据记录值得到数据证明;
根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性。
可选地,所述接收所述授权终端发送的,根据所述数据记录值得到数据证明的步骤包括:
接收所述授权终端发送的,根据所述数据记录值得到的数据证明,其中,所述数据证明是由所述授权终端通过所述数据记录值生成辅助多项式,并生成辅助参数,根据所述辅助多项式和所述辅助参数生成数据证明。
可选地,所述根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性的步骤包括:
获取预存的验证公钥和多项式承诺;
基于双线性映射性质,根据所述验证公钥、所述多项式承诺和所述数据证明验证所述云服务器存储的所述待验证数据块的完整性。
可选地,所述根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性的步骤之后,还包括:
获取加密后的待更新数据块,将所述待更新数据块发送给云服务器,以供所述云服务器在接收到所述待更新数据块后,更新所述待更新数据块对应的数据记录值。
可选地,所述获取加密后的待更新数据块的步骤之后,还包括:
将所述待更新数据块发送给授权终端;
其中,所述授权终端在接收到待更新数据块后,设置所述待更新数据块对应的键值;
所述授权终端根据所述键值、所述待更新数据块对应的数据记录值和获取的更新索引计算得到更新哈希值,并获取第一目标安全参数;
所述授权终端根据所述更新哈希值确定第一哈希值签名,并根据所述第一目标安全参数确定第一加密参数;
所述授权终端将所述第一目标安全参数和所述第一哈希值签名发送给所述数据终端,以及将所述第一加密参数发送给所述云服务器。
可选地,所述将所述待更新数据块发送给授权终端的步骤之后,还包括:
接收所述授权终端发送的第一目标安全参数和第一哈希值签名,以及发送更新验证请求给所述云服务器;
接收所述云服务器根据所述更新验证请求发送的第一请求返回值和第一加密参数,并根据所述第一请求返回值、所述第一加密参数、第一哈希值签名和所述第一目标安全参数确定所述云服务器中的待更新数据块是否更新成功。
可选地,所述根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性的步骤之后,还包括:
当删除所述云服务器中的待删除数据块后,发送删除验证请求给所述云服务器,以供所述云服务器返回所述删除验证请求对应的第二请求返回值和第二加密参数;
接收所述第二请求返回值和所述第二加密参数,获取预存的第二目标安全参数和所述待删除数据块对应的第二哈希值签名;
根据所述第二请求返回值、所述第二加密参数、第二哈希值签名和所述第二目标安全参数验证所述云服务器中的待删除数据块是否删除成功。
可选地,所述数据完整性的验证方法还包括:
当侦测到增加待增加数据块的增加请求后,确定所述待增加数据块对应数据记录在预设索引哈希表中的插入位置;
在所述索引哈希表的插入位置插入所述数据记录,并对应修改所述哈希表中,所述插入位置后面位置对应的数据记录。
此外,为实现上述目的,本发明还提供一种数据完整性的验证设备,所述数据完整性的验证设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据完整性的验证程序,所述数据完整性的验证程序被所述处理器执行时实现如联邦学习服务器对应的数据完整性的验证方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据完整性的验证程序,所述数据完整性的验证程序被处理器执行时实现如上所述的数据完整性的验证方法的步骤。
本发明通过数据终端发送验证待验证数据块完整性的完整性验证请求给云服务器,以供云服务器在接收到所述完整性验证请求后,发送待验证数据块对应的数据记录值给授权终端,接收授权终端发送的,根据数据记录值得到数据证明,根据数据证明验证云服务器中存储的待验证数据块的完整性。通过数据证明来验证云服务器中存储数据的完整,且在验证数据完整性的过程中,不需要传输所需验证的数据的原始数据,避免了用户数据的泄露,提升了数据安全性,保护了用户的隐私。
附图说明
图1是本发明数据完整性的验证方法第一实施例的流程示意图;
图2是本发明数据完整性的验证方法第三实施例的流程示意图;
图3是本发明实施例中数据完整性的验证方法对应系统的结构图;
图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据完整性的验证方法,参照图1,图1为本发明数据完整性的验证方法第一实施例的流程示意图。
本发明实施例提供了数据完整性的验证方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
数据完整性的验证方法应用于审计终端中,数据完整性的验证方法包括:
步骤S10,数据终端发送验证待验证数据块完整性的完整性验证请求给云服务器,以供所述云服务器在接收到所述完整性验证请求后,发送所述待验证数据块对应的数据记录值给授权终端。
在云服务器中,存储有终端设备发送的数据,该终端设备是生成该数据的设备。当终端设备生成数据后,会将该数据以拆分成数据块的形式存储至云服务器中,即终端设备为数据所有者,本实施例不限制数据块的大小和数据块的拆分方式。数据终端可为数据所有者,也可为需要从云服务器中获取数据的终端设备。数据终端可检测云服务器中存储数据块的完整性,此时,数据终端可发送验证待验证数据块完整性的完整性验证请求给云服务器。其中,完整性验证请求可为数据终端接收到其他终端设备发送的数据请求后生成的,也可为数据终端对应用户在数据终端显示界面触发的。本实施例不限制完整性验证请求的触发方式。在完整性验证请求中,携带有验证索引,通过验证索引可确定数据终端所需验证的具体数据块。
当云服务器接收到完整性验证请求后,云服务器获取完整性验证请求中的验证索引,通过验证索引获取待验证数据块对应的数据记录值,将该数据记录值发送给授权终端。其中,每一数据块都存在对应的数据记录值。
需要说明的是,在本实施例中,云服务器、数据终端和授权终端两两之间的数据传输,是通过安全信道进行数据传输,其中,安全信道可为TLS(Transport Layer Security,安全传输层协议)通道或者其它安全的通信信道。
具体地,可参照图3,图3为本发明实施例中数据完整性的验证方法对应系统的结构图,数据所有者可作为数据终端在云服务器中存储数据,更新数据和删除数据等,用户可作为数据终端获取云服务器中存储的数据。需要说明的是,当数据所有者作为数据终端时,数据终端存储在云服务器中存储的数据是以密文形式存在的,只有数据所有者对应的数据终端才能对云服务器中存储的数据进行更新,数据所有者对应的数据终端是一个可信的实体。可以理解的是,由于云服务器中存储的数据是以密文的形式存在的,因此,即使云服务器遭到恶意用户的攻击,也无法获取云服务器存储数据的原始数据,从而提高了云服务器中存储数据的安全性。
用户对应的数据终端为接受云服务器服务的实体,用户对应的数据终端计算能力和存储空间有限,通过本实施例的数据完整性验证方法,用户对应的数据终端可在不获取原始数据的情况下对云服务器存储的数据进行验证。授权终端是一个完成可信的第三方实体。云服务器对用户和数据所有者对应的数据终端提供数据库服务,它在给用户对应的数据终端提供便捷的云服务的同时,还能帮助数据所有者对应数据终端节省计算和存储开销,是一个半可信的实体。在本实施例中,云服务器不仅支持数据所有者对应的数据终端进行数据完整性验证,也支持用户对应的数据终端进行数据完整性验证。
步骤S20,接收所述授权终端发送的,根据所述数据记录值得到数据证明。
数据终端接收授权终端发送的数据证明,该数据证明是由授权终端根据数据记录值得到。
进一步地,步骤S20包括:
步骤a,接收所述授权终端发送的,根据所述数据记录值得到的数据证明,其中,所述数据证明是由所述授权终端通过所述数据记录值生成辅助多项式,并生成辅助参数,根据所述辅助多项式和所述辅助参数生成数据证明。
其中,G和GT为q阶的群,具备双线性映射关系,即G×G→GT,随机选择群G的两个生成元,这两个生成元分别表示为和P,设置/>授权终端在q阶的整数域/>中随机选择s作为系统密钥,该系统密钥是不会被数据终端和云服务器获知的。当授权终端生成验证公钥后,会将验证公钥发送给数据终端。当数据终端接收到验证公钥后,数据终端存储该验证公钥。
授权终端在生成多项式承诺过程中,随机选择φ(X)∈Zq[X],其中,φ(x)表示多项式,φ(ki)=vi,ki表示数据记录值的键值,该键值是不会发送给云服务器和数据终端,vi表示数据记录值。需要说明的是,在授权终端的数据库中,每一数据块都存在对应的数据记录(I,K,V),其中I=(1,2,…,n)为数据记录索引,V=(v1,v2,…,vn)为加密后的数据块,即数据记录值;K=(k1,k2,…,kn)为数据块的键值,即数据记录对应的索引。授权机构在Zq[X]中随机选择并根据所选择的生成元和系统密钥生成多项式承诺。授权终端生成多项式承诺的公式可用公式(1)表示。
当授权终端生成多项式承诺,且授权终端在接收到数据终端发送的多项式承诺请求后,授权终端将多项式承诺发送给数据终端。当数据终端接收到多项式承诺后,数据终端存储多项式承诺。本实施例通过多项式承诺构建一个安全的数据验证方案,以支持在验证数据的同时,还能避免用户数据的泄露,从而提升所需要验证数据的安全性,保障了用户的隐私。
当授权终端接收到云服务器发送的数据记录值后,授权终端获取数据记录值,根据数据记录值生成辅助多项式。具体地,授权终端可通过公式(2)生成辅助多项式。
授权机构获取生成元,根据生成元、键值和辅助多项式生成辅助参数,然后根据辅助参数和辅助多项式生成数据证明。具体地,辅助参数有3个,可采用公式(3)表示。
步骤S30,根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性。
当数据终端接收到数据证明后,数据终端根据所接收的数据证明验证云服务器中存储的待验证数据块的完整性。
进一步地,步骤S30包括:
步骤b,获取预存的验证公钥和多项式承诺。
步骤c,基于双线性映射性质,根据所述验证公钥、所述多项式承诺和所述数据证明验证所述云服务器存储的所述待验证数据块的完整性。
进一步地,数据终端获取预先存储的验证公钥和多项式承诺,即获取授权终端发送的验证公钥和多项式承诺,并基于双线性映射性质,根据验证公钥、多项式承诺和数据证明验证云服务器存储的待验证数据块的完整性。具体地,数据终端可采用公式(4)来验证云服务器存储的待验证数据块的完整性。
当数据终端检测到公式(4)成立时,即公式(4)的左右两边相等时,数据终端确定云服务器中存储的待验证数据块完整,当确定云服务器中存储的待验证数据块完整时,表明待验证数据块是有效且正确的。当数据终端检测到公式(4)不成立,即公式(4)左右两边不相等时,数据终端确定云服务器中存储的数据块不完整。进一步地,当数据终端确定待验证数据块完整时,数据终端可生成数据块完整的第一通知消息,数据终端将第一通知消息发送给云服务器和/或授权终端,以通过第一通知消息告知云服务器和/或授权终端,待验证数据块完整。当数据终端确定待验证数据块不完整时,数据终端可生成数据块不完整的第二通知消息,数据终端将第二通知消息发送给云服务器和/或授权终端,以通过第二通知消息告知云服务器和/或授权终端,待验证数据不完整。
本实施例通过验证公钥对数据进行验证,使通过验证公钥能够验证云服务器中所有数据的完整性,即本实施例支持公共可验证性。
本实施例通过数据终端发送验证待验证数据块完整性的完整性验证请求给云服务器,以供云服务器在接收到所述完整性验证请求后,发送待验证数据块对应的数据记录值给授权终端,接收授权终端发送的,根据数据记录值得到数据证明,根据数据证明验证云服务器中存储的待验证数据块的完整性。通过数据证明来验证云服务器中存储数据的完整,且在验证数据完整性的过程中,不需要传输所需验证的数据的原始数据,避免了用户数据的泄露,提升了数据安全性,保护了用户的隐私。
进一步地,提出本发明数据完整性的验证方法第二实施例。所述数据完整性的验证方法第二实施例与所述数据完整性的验证方法第一实施例的区别在于,所述数据完整性的验证方法还包括:
步骤d,获取加密后的待更新数据块,将所述待更新数据块发送给云服务器,以供所述云服务器在接收到所述待更新数据块后,更新所述待更新数据块对应的数据记录值。
当数据终端为数据拥有者时,数据终端可更新云服务器中存储的数据块。在更新数据块过程中,数据终端获取加密后的待更新数据块,在本实施例中,不限制加密待更新数据块的加密算法,用户可根据需要选择加密待更新数据块的加密算法。当数据终端获取到加密后的待更新数据块后,数据终端将待更新数据块发送给云服务器。可以理解的是,数据终端发送给云服务器的待更新数据块是加密后的。当云服务器接收到待更新数据块后,云服务器确定待更新数据块对应的原始数据块,并确定原始数据块在数据库中的存储位置,将该存储位置的原始数据块替换为待更新数据块,以更新云服务器中存储的数据。可以理解的是,加密后的待更新数据块就是所需要更新的数据块对应的数据记录值。需要说明的是,在待更新数据块中,携带有对应的数据块索引,每一数据块对应一个数据块索引,因此,通过数据块索引即可确定存储原始数据块的存储位置。
本实施例通过数据块索引动态更新云服务器存储的数据块,从而实现了云服务器中存储数据的动态更新,即本发明实施例中的云服务器支持同时响应多个数据终端的服务请求。
进一步地,所述数据完整性的验证方法还包括:
步骤e,将所述待更新数据块发送给授权终端,其中,所述授权终端在接收到待更新数据块后,设置所述待更新数据块对应的键值;根据所述键值、所述待更新数据块对应的数据记录值和获取的更新索引计算得到更新哈希值,并获取第一目标安全参数;根据所述更新哈希值确定第一哈希值签名,并根据所述第一目标安全参数确定第一加密参数;将所述第一目标安全参数和所述第一哈希值签名发送给所述数据终端,以及将所述第一加密参数发送给所述云服务器。
进一步地,当数据终端获取到待更新数据块后,数据终端将加密后的待更新数据块发送给授权终端。当授权终端接收到加密后的待更新数据块后,授权终端设置待更新数据块对应的键值,若将键值记为ki′,则φ(ki′)=vi′,其中,vi′是加密后的待更新数据块,即待更新数据块的数据记录值。
授权终端设置更新索引,具体地,在授权终端中,存储有各个数据块的数据块索引。当数据终端需要对云服务器中某个数据块执行操作时,授权终端会获取需要操作的原始数据块对应的数据块原始索引,根据该数据块原始索引得到待更新数据块对应的更新索引。在本实施例中。授权终端可将数据块原始索引加一,得到更新索引,如当数据块原始索引为3时,更新索引为3+1。
当授权终端获取到更新索引、待更新数据块对应的数据记录值和键值后,授权终端根据所获取的更新索引、数据记录值和键值计算得到更新哈希值。具体地,若将更新索引记为T′,更新哈希值记为hi′,则计算更新哈希值的计算公式可表示为公式(5)。
公式(5)hi′=H(T′||vi′||ki′)。
其中,公式(5)中的“||”表示连接前后两个字符串,H:{0,1}*→G。
当授权终端计算得到更新哈希值后,授权终端获取系统密钥s,通过系统密钥和更新哈希值计算得到更新哈希值的哈希值签名。在本实施例中,为了便于区分,将更新哈希值的哈希值签名记为第一哈希值签名。若将第一哈希值签名记为δi′,则计算第一哈希值签名可用公式(6)表示。
公式(6)δi′=(hi′)s。
当授权终端接收到数据终端发送的待更新数据块后,授权终端获取第一目标安全参数,具体地,授权终端随机从q阶的整数域中选择zi作为第一目标安全参数。当授权终端确定第一目标安全参数后,授权终端根据第一目标安全参数、系统密钥和生成元计算得到第一加密参数,即确定第一加密参数。若将第一加密参数记为ωi,则授权终端确定第一加密参数的过程可用公式(7)表示。
当授权终端得到第一目标安全参数、第一哈希值签名和第一加密参数后,授权终端将第一目标安全参数和第一哈希值签名发送给数据终端,以及将第一加密参数发送给云服务器。
进一步地,所述数据完整性的验证方法还包括:
步骤f,接收所述授权终端发送的第一目标安全参数和第一哈希值签名,以及发送更新验证请求给所述云服务器。
数据终端接收授权终端发送的第一目标安全参数和第一哈希值签名,并发送更新验证请求给云服务器。其中,更新验证请求可为数据终端在将加密后的待更新数据块后发送给云服务器一定时长后生成的,也可为数据终端用户在数据终端中触发的。
当云服务器接收到更新验证请求后,云服务器获取待更新数据块对应原始数据块的原始哈希值签名值,将该原始哈希签名值作为第一请求返回值发送给数据终端,同时并将授权终端发送的第一加密参数发送给数据终端。可以理解的是,若将第一请求返回值记为hi,则hi=H(T||vi||ki)。
步骤g,接收所述云服务器根据所述更新验证请求发送的第一请求返回值和第一加密参数,并根据所述第一请求返回值、所述第一加密参数、第一哈希值签名和所述第一目标安全参数确定所述云服务器中的待更新数据块是否更新成功。
数据终端接收云服务器发送的第一请求返回值和第一加密参数,并根据所接收的第一请求返回值、第一加密参数、第一哈希值签名和第一目标安全参数确定云服务器中的待更新数据块是否更新成功。具体地,数据终端基于双线性映射性质,根据第一请求返回值、第一加密参数、第一哈希值签名和第一目标安全参数确定云服务器中的待更新数据块是否更新成功。在本实施例中,若公式(8)的等式成立,即公式(8)左右两边的值相等,数据终端则确定云服务器中的待更新数据块更新成功;若公式(8)的等式不成立,即公式(8)左右两边的值不相等,数据终端则确定云服务器中的待更新数据块更新失败。
本实施例通过在验证云服务器中待更新数据块是否更新成功过程中,不需要传输所需验证的待更新数据块的原始数据,避免了用户数据的泄露,提升了数据安全性,保护了用户的隐私。
进一步地,基于数据完整性的验证方法第一实施例和/或第二实施例提出本发明数据完整性的验证方法第三实施例。在第三实施例中,数据完整性的验证方法应用于数据终端中,参照图2,所述数据完整性的验证方法还包括:
步骤S40,当删除所述云服务器中的待删除数据块后,发送删除验证请求给所述云服务器,以供所述云服务器返回所述删除验证请求对应的第二请求返回值和第二加密参数。
当数据终端删除云服务器中的待删除数据块后,数据终端会发送生成删除验证请求,数据终端将删除验证请求发送给云服务器。需要说明的是,云服务器在删除待删除数据块过程中,云服务器会将待删除数据块对应的数据记录值、待删除数据块对应的键值和待删除数据块对应的数据块索引都设置为0,以删除云服务器中的待删除数据。可以理解的是,当数据终端想知道云服务器是否成功删除了待删除数据块时,数据终端就会发送删除验证请求给云服务器。当云服务器接收到删除验证请求后,云服务器获取删除验证请求对应的第二请求返回值和第二加密参数,并将第二请求返回值和第二加密参数发送给数据终端。需要说明的是,云服务器获取第二请求返回值和第二加密参数的过程,与获取第一请求返回值和第一加密参数的过程相同,在此不再重复赘述。
步骤S50,接收所述第二请求返回值和所述第二加密参数,获取预存的第二目标安全参数和所述待删除数据块对应的第二哈希值签名。
步骤S60,根据所述第二请求返回值、所述第二加密参数、第二哈希值签名和所述第二目标安全参数验证所述云服务器中的待删除数据块是否删除成功。
数据终端接收第二请求返回值和第二加密参数,并获取预存的第二目标安全参数和待删除数据块对应的第二哈希值签名,其中,数据终端获取第二目标安全参数和第二哈希值签名的过程,与获取第一目标安全参数和第一哈希值签名的过程相同,在此不再重复赘述。
当数据终端获取到第二请求返回值、第二加密参数、第二哈希值签名和第二目标安全参数后,数据终端基于双线性映射性质,根据第二请求返回值、第二加密参数、第二哈希值签名和第二目标安全参数验证云服务器中的待删除数据块是否删除成功。具体地,本实施例中验证待删除数据块是否删除成功的过程和验证待更新数据块是否更新成功的过程一致,即在验证待删除数据块是否删除成功过程中,若公式(8)成立,即公式(8)左右两边的值相等,数据终端则确定云服务器中的待删除数据块删除成功;若公式(8)不成立,即公式(8)左右两边的值不相等,数据终端则确定云服务器中的待删除数据块删除失败。
本实施例通过在验证云服务器中待删除数据块是否删除成功过程中,不需要传输待删除数据块的原始数据,即可成功验证待删除数据块是否删除成功,避免了用户数据的泄露,提升了数据安全性,保护了用户的隐私。
进一步地,提出本发明数据完整性的验证方法第四实施例。所述数据完整性的验证方法第四实施例与所述数据完整性的验证方法第一、第二和/或第三实施例的区别在于,所述数据完整性的验证方法还包括:
步骤h,当侦测到增加待增加数据块的增加请求后,确定所述待增加数据块对应数据记录在预设索引哈希表中的插入位置。
当数据终端侦测到增加待增加数据块的增加请求后,数据终端确定待增加数据块对应的数据记录在预设索引哈希表中的插入位置。其中,增加请求可为其他终端设备发送给数据终端的,也可为数据终端用户手动触发的。数据记录包括待增加数据块对应的数据记录值、数据块索引和键值。在增加请求中,携带有位置标识,通过该位置标识即可确定数据记录在索引哈希值表中的插入位置,在本实施例中不限制位置标识的表现形式,用户可根据具体需要设置用户标识。索引哈希表中记载了数据终端各个数据块对应的数据记录。
步骤i,在所述索引哈希表的插入位置插入所述数据记录,并对应修改所述哈希表中,所述插入位置后面位置对应的数据记录。
当数据终端确定插入位置后,数据终端在索引哈希表中的该插入位置中插入待增加数据块对应的数据记录,以存储待增加数据块,并对应修改哈希表中,插入位置后面位置对应的数据记录,即修改插入位置后面位置对应数据块的数据记录值、数据块索引和键值。如数据记录值为vj,键值为kj,数据块索引为Ij,则插入位置后面位置对应的数据记录为Ij=Ij-1,kj=kj-1和vj=vj-1,即插入位置后面位置对应的数据记录的每一个值都增加1,将Ij-1修改为Ij,将kj-1修改为kj,将vj-1修改为vj,其中i+2≤j≤n,n为索引哈希表中数据记录的个数。
进一步地,当数据终端增加待增加数据块后,数据终端发送消息告知云服务器,其已经新增加了待增加数据块,同时,数据终端也可将待增加数据块存储到云服务器中,数据终端将待增加数据块存储到云服务器中的过程,与更新待更新数据块的过程类似,在此不再重复赘述。
本实施例通过索引哈希表实现数据的新增,以实现数据终端中数据的动态变化。
此外,本发明还提供一种数据完整性的验证设备,该检测设备可为审计终端或者数据终端,当检测设备为审计终端时,执行审计终端对应步骤;当检测为数据终端时,执行数据终端对应步骤。如图4所示,图4是本发明实施例方案涉及的硬件运行环境的结构示意图。
需要说明的是,图4即可为数据完整性的验证设备的硬件运行环境的结构示意图。本发明实施例数据完整性的验证设备可以是PC,便携计算机等终端设备。
如图4所示,该数据完整性的验证设备可以包括:处理器1001,例如CPU,存储器1005,用户接口1003,网络接口1004,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图4中示出的数据完整性的验证设备结构并不构成对数据完整性的验证设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图4所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及数据完整性的验证程序。其中,操作系统是管理和控制数据完整性的验证设备硬件和软件资源的程序,支持数据完整性的验证程序以及其它软件或程序的运行。
在图4所示的数据完整性的验证设备中,用户接口1003主要用于连接授权终端和云服务器,与授权终端和云服务器进行数据通信;网络接口1004主要用于后台服务器,与后台服务器进行数据通信;处理器1001可以用于调用存储器1005中存储的数据完整性的验证程序,并执行如上所述的数据完整性的验证方法的步骤。
本发明数据完整性的验证设备具体实施方式与上述数据完整性的验证方法各实施例基本相同,在此不再赘述。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有数据完整性的验证程序,所述数据完整性的验证程序被处理器执行时实现如上所述的数据完整性的验证方法的步骤。
本发明计算机可读存储介质具体实施方式与上述数据完整性的验证方法各实施例基本相同,在此不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种数据完整性的验证方法,其特征在于,所述数据完整性的验证方法包括以下步骤:
数据终端发送验证待验证数据块完整性的完整性验证请求给云服务器,以供所述云服务器在接收到所述完整性验证请求后,发送所述待验证数据块对应的数据记录值给授权终端,其中,所述待验证数据块存在对应的数据记录(I,K,V),I为数据记录索引,V为所述数据记录值;K为数据块键值;
接收所述授权终端发送的,根据所述数据记录值得到数据证明;
根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性;
所述接收所述授权终端发送的,根据所述数据记录值得到数据证明的步骤包括:
接收所述授权终端发送的,根据所述数据记录值得到的数据证明,其中,所述数据证明是由所述授权终端通过所述数据记录值生成辅助多项式,并生成辅助参数,根据所述辅助多项式和所述辅助参数生成数据证明。
2.如权利要求1所述的数据完整性的验证方法,其特征在于,所述根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性的步骤包括:
获取预存的验证公钥和多项式承诺;
基于双线性映射性质,根据所述验证公钥、所述多项式承诺和所述数据证明验证所述云服务器存储的所述待验证数据块的完整性。
3.如权利要求1所述的数据完整性的验证方法,其特征在于,所述根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性的步骤之后,还包括:
获取加密后的待更新数据块,将所述待更新数据块发送给云服务器,以供所述云服务器在接收到所述待更新数据块后,更新所述待更新数据块对应的数据记录值。
4.如权利要求3所述的数据完整性的验证方法,其特征在于,所述获取加密后的待更新数据块的步骤之后,还包括:
将所述待更新数据块发送给授权终端;
其中,所述授权终端在接收到待更新数据块后,设置所述待更新数据块对应的键值;
所述授权终端根据所述键值、所述待更新数据块对应的数据记录值和获取的更新索引计算得到更新哈希值,并获取第一目标安全参数;
所述授权终端根据所述更新哈希值确定第一哈希值签名,并根据所述第一目标安全参数确定第一加密参数;
所述授权终端将所述第一目标安全参数和所述第一哈希值签名发送给所述数据终端,以及将所述第一加密参数发送给所述云服务器。
5.如权利要求4所述的数据完整性的验证方法,其特征在于,所述将所述待更新数据块发送给授权终端的步骤之后,还包括:
接收所述授权终端发送的第一目标安全参数和第一哈希值签名,以及发送更新验证请求给所述云服务器;
接收所述云服务器根据所述更新验证请求发送的第一请求返回值和第一加密参数,并根据所述第一请求返回值、所述第一加密参数、第一哈希值签名和所述第一目标安全参数确定所述云服务器中的待更新数据块是否更新成功。
6.如权利要求1所述的数据完整性的验证方法,其特征在于,所述根据所述数据证明验证所述云服务器中存储的所述待验证数据块的完整性的步骤之后,还包括:
当删除所述云服务器中的待删除数据块后,发送删除验证请求给所述云服务器,以供所述云服务器返回所述删除验证请求对应的第二请求返回值和第二加密参数;
接收所述第二请求返回值和所述第二加密参数,获取预存的第二目标安全参数和所述待删除数据块对应的第二哈希值签名;
根据所述第二请求返回值、所述第二加密参数、第二哈希值签名和所述第二目标安全参数验证所述云服务器中的待删除数据块是否删除成功。
7.如权利要求1至6任一项所述的数据完整性的验证方法,其特征在于,所述数据完整性的验证方法还包括:
当侦测到增加待增加数据块的增加请求后,确定所述待增加数据块对应数据记录在预设索引哈希表中的插入位置;
在所述索引哈希表的插入位置插入所述数据记录,并对应修改所述哈希表中,所述插入位置后面位置对应的数据记录。
8.一种数据完整性的验证设备,其特征在于,所述数据完整性的验证设备包括存储器、处理器和存储在所述存储器上并可在所述处理器上运行的数据完整性的验证程序,所述数据完整性的验证程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据完整性的验证方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据完整性的验证程序,所述数据完整性的验证程序被处理器执行时实现如权利要求1至7中任一项所述的数据完整性的验证方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010233656.3A CN111460523B (zh) | 2020-03-27 | 2020-03-27 | 数据完整性的验证方法、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010233656.3A CN111460523B (zh) | 2020-03-27 | 2020-03-27 | 数据完整性的验证方法、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111460523A CN111460523A (zh) | 2020-07-28 |
CN111460523B true CN111460523B (zh) | 2023-06-23 |
Family
ID=71684332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010233656.3A Active CN111460523B (zh) | 2020-03-27 | 2020-03-27 | 数据完整性的验证方法、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111460523B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111967609B (zh) * | 2020-08-14 | 2021-08-06 | 深圳前海微众银行股份有限公司 | 模型参数验证方法、设备及可读存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107277054A (zh) * | 2017-08-03 | 2017-10-20 | 广东工业大学 | 一种数据完整性验证的方法及系统 |
CN109104440B (zh) * | 2018-10-22 | 2021-03-16 | 青岛大学 | 面向物联网移动终端设备的云存储大数据完整性验证方法 |
-
2020
- 2020-03-27 CN CN202010233656.3A patent/CN111460523B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111460523A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108768988B (zh) | 区块链访问控制方法、设备及计算机可读存储介质 | |
Fu et al. | NPP: A new privacy-aware public auditing scheme for cloud data sharing with group users | |
CN107493273B (zh) | 身份认证方法、系统及计算机可读存储介质 | |
CN106899410B (zh) | 一种设备身份认证的方法及装置 | |
KR101985179B1 (ko) | 블록체인 기반의 ID as a Service | |
EP1622301A2 (en) | Methods and system for providing a public key fingerprint list in a PK system | |
CN112733121B (zh) | 数据获取方法、装置、设备及存储介质 | |
CN111970299A (zh) | 基于区块链的分布式物联网设备身份认证装置和方法 | |
CN111444499B (zh) | 用户身份认证方法及系统 | |
CN115065679B (zh) | 基于区块链的电子健康档案共享模型、方法、系统和介质 | |
WO2018045802A1 (zh) | 登录认证及登录密码修改认证方法、终端及服务器 | |
WO2023124958A1 (zh) | 密钥更新方法、服务器、客户端及存储介质 | |
CN116566626B (zh) | 环签名方法和设备 | |
CN111711607A (zh) | 一种基于区块链的流式微服务可信加载与验证方法 | |
CN114257366B (zh) | 信息同态处理方法、装置、设备及计算机可读存储介质 | |
CN115277010A (zh) | 身份认证方法、系统、计算机设备和存储介质 | |
CN111460524A (zh) | 数据完整性的检测方法、设备及计算机可读存储介质 | |
CN111460523B (zh) | 数据完整性的验证方法、设备及计算机可读存储介质 | |
CN108833105B (zh) | 电子签名方法及装置 | |
CN117370952A (zh) | 基于区块链的多重节点身份验证方法及装置 | |
CN117040765A (zh) | 智能电网终端认证方法、装置、存储介质及计算机设备 | |
CN111245594A (zh) | 一种基于同态运算的协同签名方法及系统 | |
CN116528230A (zh) | 验证码处理方法、移动终端及可信服务系统 | |
KR101256114B1 (ko) | 다수의 mac검증서버에 의한 메시지인증코드 검증 방법 및 시스템 | |
CN115604034A (zh) | 一种通信连接的加解密方法、系统及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |