CN113901528A - 基于区块链的云端数据完整性审计方法 - Google Patents

基于区块链的云端数据完整性审计方法 Download PDF

Info

Publication number
CN113901528A
CN113901528A CN202111271014.3A CN202111271014A CN113901528A CN 113901528 A CN113901528 A CN 113901528A CN 202111271014 A CN202111271014 A CN 202111271014A CN 113901528 A CN113901528 A CN 113901528A
Authority
CN
China
Prior art keywords
user
block chain
information
cloud
data
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.)
Pending
Application number
CN202111271014.3A
Other languages
English (en)
Inventor
陈钟
李青山
高健博
任立峰
王利朋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Boya Zhenglian Chongqing Technology Co ltd
Nanjing Boya Blockchain Research Institute Co ltd
Boya Chain Beijing Technology Co ltd
Original Assignee
Boya Zhenglian Chongqing Technology Co ltd
Nanjing Boya Blockchain Research Institute Co ltd
Boya Chain Beijing Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Boya Zhenglian Chongqing Technology Co ltd, Nanjing Boya Blockchain Research Institute Co ltd, Boya Chain Beijing Technology Co ltd filed Critical Boya Zhenglian Chongqing Technology Co ltd
Priority to CN202111271014.3A priority Critical patent/CN113901528A/zh
Publication of CN113901528A publication Critical patent/CN113901528A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种基于区块链的云端数据完整性审计方法,涉及信息安全技术领域。该方法涉及秘钥管理中心、用户、云端、区块链和校验方;首先通过秘钥管理中心为参与用户生成公私钥信息,该过程中密钥管理中心不能获知用户公私钥信息;然后用户将自身数据以及从自身数据抽取出来的其它元数据信息上传到云端或区块链系统中,确保用户上传的数据满足配额要求;校验方利用区块链上存储的元数据以及其它信息对云端数据进行完整性校验。数据完整性校验方式是采用challenge‑proof的形式完成,校验方负责生成challenge信息,然后发送至云端;云端再生成其对应的proof信息,并将proof信息发送至区块链;区块链收到proof信息后,再进行校验,并将校验结果存储到区块链上。

Description

基于区块链的云端数据完整性审计方法
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于区块链的云端数据完整性审计方法。
背景技术
用户在共享自身数据时,需要将数据上传到云端,然后其它系统或用户便可以访问这些数据,然而这会存在一些问题。首先,用户在将自身数据存储在云端系统后,便会失去对数据的直接控制,导致数据的安全性高度依赖于云服务提供商。其次,虽然用户可能会授权云服务提供商托管自己的数据,但云服务提供商缺乏一种对用户透明的数据审计方法,确保云端数据的完整性。最后,在实际场景中,受限于数据存储能力,云端会限定用户上传数据的多少,即云端系统会为用户分配相应的配额,该配额如果由中心化节点进行管理,会出现单点故障问题,因此如何实现一种去中心化的配额管理方案也是需要解决的一个问题。
针对云端数据完整性校验问题,相关研究人员已经提出了PDP(provable datapossession,用户无需下载云端数据,即可实现对云端数据完整性审计的方案)技术,用户无需下载云端数据,即可实现对云端数据完整性审计。然而现在大部分PDP方案需要依赖一个中心化的权威节点生成用户公私钥信息,中心节点会掌握用户的公私钥信息,一旦中心节点被攻破,会导致用户信息泄露。此外,在实现用户配额功能时,现存的大部分PDP方案并不支持实现该功能。
区块链是一种分布式账本技术,允许用户进行可信通信。区块链做出的决策不是来自某一中心化的权威机构,而是来自集体决策过程,对外提供一种去中心化、防篡改和透明性的安全服务,基于区块链的数据审计方案有望成为应对前述问题的解决方案。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于区块链的云端数据完整性审计方法,适用于可信用户数据共享场景中,实现对云端数据的完整性进行审计。
为解决上述技术问题,本发明所采取的技术方案是:基于区块链的云端数据完整性审计方法,适用于可信用户数据共享场景中,首先秘钥管理中心(Key GenerationCenter,即KGC)为参与用户生成公私钥信息,该过程中密钥管理中心KGC不能获知用户公私钥信息;然后用户将自身数据以及从自身数据抽取出来的其它元数据信息上传到云端或区块链系统中,确保用户上传的数据满足配额要求;之后校验方利用区块链上存储的元数据以及其它信息对云端数据进行完整性校验;该方法具体包括用户注册阶段、数据存储阶段和完整性校验阶段三个过程;
在用户注册阶段,用户访问密钥管理中心KGC,并在其协助下生成自己的公私钥信息;
在数据存储阶段,用户对待上传的文件进行切片,生成多个数据块,然后计算该文件对应的元数据信息,以及每个数据块对应的鉴别符;用户将元数据发送至区块链,将文件、鉴别符数据集发送至云端;区块链对元数据进行校验,并检查该用户上传的文件数量是否超过了其配额限制,如果上述校验有一个不通过,则区块链拒绝存储该元数据信息,数据存储操作失败;如果校验成功,区块链则将该文件对应的元数据信息存储起来;云端收到文件和鉴别符数据集后,首先检测区块链是否已经成功存储了该文件对应的元数据信息,如果没有,云端终止后续执行流程,并返回给用户数据存储失败的信息,如果存储成功,则对接收到文件和鉴别符进行校验,校验成功后,将接收到的文件和鉴别符存储到云端,否则终止操作,并返回给用户存储失败的消息;
在完整性校验阶段,当校验方,需要校验某一文件完整性时,生成文件相应的challenge信息,并将其连同文件信息发送至云端;云端收到上述信息后,计算得到与challenge信息相应的proof信息,并将其发送至区块链端;区块链收到云端发送的proof信息后,再对其进行校验,并将校验结果存储到区块链中,如果校验通过,则该文件是完整的,否则该文件是不完整的;
所述用户注册阶段的具体方法为:
该阶段的参与实体为密钥管理中心KGC、用户和区块链;密钥管理中心KGC:随机选择密钥信息
Figure BDA0003328003300000021
为大于0小于q的整数,q为素数,计算得到公钥信息Ppub=xP,P为一个加法循环群G对应的生成元;
用户i:随机选择一个整数
Figure BDA0003328003300000022
然后计算得到用于协助生成公钥信息的一个临时变量Xi=xiP,然后将<IDi,Xi>发送给密钥管理中心KGC,其中,IDi为用户i对应的身份信息;
KGC:收到<IDi,Xi>后,随机选择一个整数
Figure BDA0003328003300000023
并计算得到数值Yi=riP,以及用于协助生成用户私钥信息的临时变量ui=ri+xH1(IDi,Xi+Yi,RN)+H2(IDi,xXi,Yi),其中,RN为允许用户i存取文件的个数,即用户配额,H1()和H2()均为哈希函数;然后KGC再将Yi、ui以及RN经公开网络信道发送至用户i;然后再计算得到用户i对应的公钥Ki=Xi+Yi,并将<Ki,RN>发送至区块链;
区块链:区块链收到<Ki,RN>后,将其存储到区块链中;
用户i:用户收到Yi、ui以及RN后,对这些数据进行校验,防止数据在传输过程中被破坏,校验公式为uiP=Yi+H1(IDi,Xi+Yi,RN)Ppub+H2(IDi,xiPpub,Yi)P,如果校验不通过,则要求KGC重新发送相应的数据;然后计算得到用于协助生成用户私钥信息的临时变量yi=ui-H2(IDi,xiPpub,Yi),进而得到用户私钥σi=xi+yi,用户公钥Ki=Xi+Yi
所述数据存储阶段的具体方法为:
所述数据存储阶段的参与实体为用户、区块链和云端;用户负责将文件进行切片,并计算切片对应的鉴别符和文件对应的元数据信息,然后将上述数据上传到云端或区块链端;区块链负责校验并存储用户数据对应的元数据信息,而云端则负责校验并存储用户数据以及对应的鉴别符;
用户a:设定当前用户为a,对于文件F,对其进行切片,设切为n份,对每个数据块mj分别计算其对应的鉴别符为Tj=h(name||j||RN)mjσaP,其中,1≤j≤n,h()为用户自定义的哈希函数,name为文件F的唯一标记符,σa为用户a的私钥;最终得到文件F对应的鉴别符集Λ={Tj}1≤j≤n;然后计算得到文件F对应的元数据tag=Ka||name||RN||Za||SSig(Ka||name||RN||Za),其中,Za=H1(IDa,Ka,RN)Ppub为临时变量,SSig()为用户自定义的签名函数,IDa、Ka分别为用户a对应的身份信息和公钥;用户a将tag发送至区块链,之后收到区块链返回的存储成功消息后,用户a再将{F,Λ,Ka}发送至云端;
区块链:区块链收到文件F对应的元数据tag后,检测tag的有效性,包括SSig(Ka||name||RN||Za)是否校验成功,<Ka,RN>是否存储在区块链中,Ka已存储的文件个数是否超过RN,只有通过上述所有检验后,才将tag=Ka||name||RN||Za||SSig(Ka||name||RN||Za)存储到区块链上,并给用户a发送存储成功的消息;
云端:云端收到用户a发送的{F,Λ,Ka}信息后,首先检测区块链中是否存在文件F对应的元数据tag,如果不存在,云端终止后续执行流程,并返回给用户数据存储失败的信息,否则,云端对接收到的F和Λ进行检验,校验公式为Tj×P=h(name||j||RN)mj(Za+Ka),校验通过后,云端接收并存储这些数据,否则,返回给用户数据存储失败的信息;
所述完整性校验阶段的具体方法为:
所述完整性校验阶段的参与实体有校验方、云端和区块链;数据完整性校验方式是采用challenge-proof的形式完成,校验方负责生成challenge信息,然后发送至云端;云端再生成其对应的proof信息,并将proof信息发送至区块链;区块链收到proof信息后,再进行校验,并将校验结果存储到区块链上;
校验方:文件F的唯一标记符为name,校验时选择C个数据块进行校验,其中1≤C≤n;校验方A随机选择C个整数vc,其中c∈I,I={1,...,C},然后得到challenge信息Chal={c,vc}c∈I,I={1,...,C},并将name和Chal发送至云端;
云端:收到name和Chal后,首先计算用于完整性校验的临时变量
Figure BDA0003328003300000041
和T,其中,
Figure BDA0003328003300000042
再将
Figure BDA0003328003300000043
发送至区块链;
区块链:收到
Figure BDA0003328003300000044
后,首先检查文件F的唯一标记符name是否存储在区块链上,如果检索不到,则校验失败,文件F是不完整的;如果检索到,则得到name对应的tag;检索到tag后,区块链校验
Figure BDA0003328003300000045
是否成立;如果成立,则校验通过,文件F是完整的,并将校验结果存储到区块链上,否则校验失败,文件F是不完整的。
采用上述技术方案所产生的有益效果在于:本发明提供的基于区块链的云端数据完整性审计方法,在生成用户公私钥信息时,由用户和中心节点KGC协作生成,KGC无法获知用户公私钥信息,即使中心化KGC节点被攻破,也不会影响用户、校验方和区块链所构成的整个系统的安全性;同时,该方法支持实现用户配额管理功能,能够以一种去中心化方式实现限制用户上传数据量多少的功能,防止出现单点故障问题。
附图说明
图1为本发明实施例提供的基于区块链的云端数据完整性审计方法的架构图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本实施例中,基于区块链的云端数据完整性审计方法,如图1所示,适用于可信用户数据共享场景中,涉及秘钥管理中心、用户、云端、校验方区块链;首先秘钥管理中心(KeyGeneration Center,即KGC)为参与数据完整性审计的用户生成公私钥信息,该过程中密钥管理中心KGC不能获知用户公私钥信息;然后用户将自身数据以及从自身数据抽取出来的其它元数据信息上传到云端或区块链系统中,确保用户上传的数据满足配额要求;之后校验方利用区块链上存储的元数据以及其它信息对云端数据进行完整性校验,整个过程无需下载云端用户数据,减少了网络带宽消耗;该方法具体包括用户注册阶段、数据存储阶段和完整性校验阶段三个过程;
在用户注册阶段,用户访问密钥管理中心KGC,并在其协助下生成自己的公私钥信息;
在数据存储阶段,用户对待上传的文件进行切片,生成多个数据块,然后计算该文件对应的元数据信息,以及每个数据块对应的鉴别符;用户将元数据发送至区块链,将文件、鉴别符数据集发送至云端;区块链对元数据进行校验,并检查该用户上传的文件数量是否超过了其配额限制,如果上述校验有一个不通过,则区块链拒绝存储该元数据信息,数据存储操作失败;如果校验成功,区块链则将该文件对应的元数据信息存储起来;云端收到文件和鉴别符数据集后,首先检测区块链是否已经成功存储了该文件对应的元数据信息,如果没有,云端终止后续执行流程,并返回给用户数据存储失败的信息,如果存储成功,则对接收到文件和鉴别符进行校验,校验成功后,将接收到的文件和鉴别符存储到云端,否则终止操作,并返回给用户存储失败的消息;
在完整性校验阶段,当校验方,需要校验某一文件完整性时,生成文件相应的challenge信息,并将其连同文件信息发送至云端;云端收到上述信息后,计算得到与challenge信息相应的proof信息,并将其发送至区块链端;区块链收到云端发送的proof信息后,再对其进行校验,并将校验结果存储到区块链中,如果校验通过,则该文件是完整的,否则该文件是不完整的;
所述用户注册阶段的具体方法为:
该阶段的参与实体为密钥管理中心KGC、用户和区块链;密钥管理中心KGC:随机选择密钥信息
Figure BDA0003328003300000051
为大于0小于q的整数,q为素数,q对应的二进制位数最小为128bit,最大位数为1024bit。计算得到公钥信息Ppub=xP,P为一个加法循环群G对应的生成元;
用户i:随机选择一个整数
Figure BDA0003328003300000052
然后计算得到用于协助生成公钥信息的一个临时变量Xi=xiP,然后将<IDi,Xi>发送给密钥管理中心KGC,其中,IDi为用户i对应的身份信息;
KGC:收到<IDi,Xi>后,随机选择一个整数
Figure BDA0003328003300000053
并计算得到数值Yi=riP,以及用于协助生成用户私钥信息的临时变量ui=ri+xH1(IDi,Xi+Yi,RN)+H2(IDi,xXi,Yi),其中,RN为允许用户i存取文件的个数,即用户配额,H1()和H2()均为哈希函数;然后KGC再将Yi、ui以及RN经公开网络信道发送至用户i;然后再计算得到用户i对应的公钥Ki=Xi+Yi,并将<Ki,RN>发送至区块链;
区块链:区块链收到<Ki,RN>后,将其存储到区块链中;
用户i:用户收到Yi、ui以及RN后,对这些数据进行校验,防止数据在传输过程中被破坏,校验公式为uiP=Yi+H1(IDi,Xi+Yi,RN)Ppub+H2(IDi,xiPpub,Yi)P,如果校验不通过,则要求KGC重新发送相应的数据;然后计算得到用于协助生成用户私钥信息的临时变量yi=ui-H2(IDi,xiPpub,Yi),进而得到用户私钥σi=xi+yi,用户公钥Ki=Xi+Yi
大素数q、一个加法循环群G、G对应的生成元P、两个哈希函数H1()和H2()、签名函数SSig,这些信息都是公开信息,其它用户或实体都可以获得这些信息;
所述数据存储阶段的具体方法为:
所述数据存储阶段的参与实体为用户、区块链和云端;用户负责将文件进行切片,并计算切片对应的鉴别符和文件对应的元数据信息,然后将上述数据上传到云端或区块链端;区块链负责校验并存储用户数据对应的元数据信息,而云端则负责校验并存储用户数据以及对应的鉴别符;
用户a:设定当前用户为a,对于文件F,对其进行切片,设切为n份,对每个数据块mj分别计算其对应的鉴别符为Tj=h(name||j||RN)mjσaP,其中,1≤j≤n,h()为用户自定义的哈希函数,name为文件F的唯一标记符,σa为用户a的私钥;最终得到文件F对应的鉴别符集Λ={Tj}1≤j≤n;然后计算得到文件F对应的元数据tag=Ka||name||RN||Za||SSig(Ka||name||RN||Za),其中,Za=H1(IDa,Ka,RN)Ppub为临时变量,SSig()为用户自定义的签名函数,IDa、Ka分别为用户a对应的身份信息和公钥;用户a将tag发送至区块链,之后收到区块链返回的存储成功消息后,用户a再将{F,Λ,Ka}发送至云端;
区块链:区块链收到文件F对应的元数据tag后,检测tag的有效性,包括SSig(Ka||name||RN||Za)是否校验成功,<Ka,RN>是否存储在区块链中,Ka已存储的文件个数是否超过RN,只有通过上述所有检验后,才将tag=Ka||name||RN||Za||SSig(Ka||name||RN||Za)存储到区块链上,并给用户a发送存储成功的消息;
云端:云端收到用户a发送的{F,Λ,Ka}信息后,首先检测区块链中是否存在文件F对应的元数据tag,如果不存在,云端终止后续执行流程,并返回给用户数据存储失败的信息,否则,云端对接收到的F和Λ进行检验,校验公式为Tj×P=h(name||j||RN)mj(Za+Ka),校验通过后,云端接收并存储这些数据,否则,返回给用户数据存储失败的信息;
所述完整性校验阶段的具体方法为:
所述完整性校验阶段的参与实体有校验方、云端和区块链;数据完整性校验方式是采用challenge-proof的形式完成,校验方负责生成challenge信息,然后发送至云端;云端再生成其对应的proof信息,并将proof信息发送至区块链;区块链收到proof信息后,再进行校验,并将校验结果存储到区块链上,基于区块链不可篡改特性和公开审计特性,确保审计过程的可信性。
校验方:文件F的唯一标记符为name,校验时选择C个数据块进行校验,其中1≤C≤n,C越大,对文件F校验的覆盖度也就越大,但其执行时间也越长,C越小,虽然执行时间随着减少,但对文件完整性校验覆盖度也就越小;校验方A随机选择C个整数vc,其中c∈I,I={1,...,C},然后得到challenge信息Chal={c,vc}c∈I,I={1,...,C},并将name和Chal发送至云端;
云端:收到name和Chal后,首先计算用于完整性校验的临时变量
Figure BDA0003328003300000071
和T,其中,
Figure BDA0003328003300000072
再将
Figure BDA0003328003300000073
发送至区块链;
区块链:收到
Figure BDA0003328003300000074
后,首先检查文件F的唯一标记符name是否存储在区块链上,如果检索不到,则校验失败,文件F是不完整的;如果检索到,则得到name对应的tag;检索到tag后,区块链校验
Figure BDA0003328003300000075
是否成立;如果成立,则校验通过,文件F是完整的,并将校验结果存储到区块链上,否则校验失败,文件F是不完整的。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

Claims (5)

1.一种基于区块链的云端数据完整性审计方法,适用于可信用户数据共享场景中,其特征在于:首先秘钥管理中心KGC为参与用户生成公私钥信息,该过程中密钥管理中心KGC不能获知用户公私钥信息;然后用户将自身数据以及从自身数据抽取出来的其它元数据信息上传到云端或区块链系统中,确保用户上传的数据满足配额要求;之后校验方利用区块链上存储的元数据以及其它信息对云端数据进行完整性校验。
2.根据权利要求1所述的基于区块链的云端数据完整性审计方法,其特征在于:该方法具体包括用户注册阶段、数据存储阶段和完整性校验阶段三个过程;
在用户注册阶段,用户访问密钥管理中心KGC,并在其协助下生成自己的公私钥信息;
在数据存储阶段,用户对待上传的文件进行切片,生成多个数据块,然后计算该文件对应的元数据信息,以及每个数据块对应的鉴别符;用户将元数据发送至区块链,将文件、鉴别符数据集发送至云端;区块链对元数据进行校验,并检查该用户上传的文件数量是否超过了其配额限制,如果上述校验有一个不通过,则区块链拒绝存储该元数据信息,数据存储操作失败;如果校验成功,区块链则将该文件对应的元数据信息存储起来;云端收到文件和鉴别符数据集后,首先检测区块链是否已经成功存储了该文件对应的元数据信息,如果没有,云端终止后续执行流程,并返回给用户数据存储失败的信息,如果存储成功,则对接收到文件和鉴别符进行校验,校验成功后,将接收到的文件和鉴别符存储到云端,否则终止操作,并返回给用户存储失败的消息;
在完整性校验阶段,当校验方需要校验某一文件完整性时,生成文件相应的challenge信息,并将其连同文件信息发送至云端;云端收到上述信息后,计算得到与challenge信息相应的proof信息,并将其发送至区块链端;区块链收到云端发送的proof信息后,再对其进行校验,并将校验结果存储到区块链中,如果校验通过,则该文件是完整的,否则该文件是不完整的。
3.根据权利要求2所述的基于区块链的云端数据完整性审计方法,其特征在于:所述用户注册阶段的具体方法为:
所述用户注册阶段的参与实体为密钥管理中心KGC、用户和区块链;
密钥管理中心KGC:随机选择密钥信息
Figure FDA0003328003290000011
Figure FDA0003328003290000012
为大于0小于q的整数,q为素数,计算得到公钥信息Ppub=xP,P为一个加法循环群G对应的生成元;
用户i:随机选择一个整数
Figure FDA0003328003290000013
然后计算得到用于协助生成公钥信息的一个临时变量Xi=xiP,然后将<IDi,Xi>发送给密钥管理中心KGC,其中,IDi为用户i对应的身份信息;
KGC:收到<IDi,Xi>后,随机选择一个整数
Figure FDA0003328003290000021
并计算得到数值Yi=riP,以及用于协助生成用户私钥信息的临时变量ui=ri+xH1(IDi,Xi+Yi,RN)+H2(IDi,xXi,Yi),其中,RN为允许用户i存取文件的个数,即用户配额,H1()和H2()均为哈希函数;然后KGC再将Yi、ui以及RN经公开网络信道发送至用户i;然后再计算得到用户i对应的公钥Ki=Xi+Yi,并将<Ki,RN>发送至区块链;
区块链:区块链收到<Ki,RN>后,将其存储到区块链中;
用户i:用户收到Yi、ui以及RN后,对这些数据进行校验,防止数据在传输过程中被破坏,校验公式为uiP=Yi+H1(IDi,Xi+Yi,RN)Ppub+H2(IDi,xiPpub,Yi)P,如果校验不通过,则要求KGC重新发送相应的数据;然后计算得到用于协助生成用户私钥信息的临时变量yi=ui-H2(IDi,xiPpub,Yi),进而得到用户私钥σi=xi+yi,用户公钥Ki=Xi+Yi
4.根据权利要求3所述的基于区块链的云端数据完整性审计方法,其特征在于:所述数据存储阶段的具体方法为:
所述数据存储阶段的参与实体为用户、区块链和云端;用户负责将文件进行切片,并计算切片对应的鉴别符和文件对应的元数据信息,然后将上述数据上传到云端或区块链端;区块链负责校验并存储用户数据对应的元数据信息,而云端则负责校验并存储用户数据以及对应的鉴别符;
用户a:设定当前用户为a,对于文件F,对其进行切片,设切为n份,对每个数据块mj分别计算其对应的鉴别符为Tj=h(name||j||RN)mjσaP,其中,1≤j≤n,h()为用户自定义的哈希函数,name为文件F的唯一标记符,σa为用户a的私钥;最终得到文件F对应的鉴别符集Λ={Tj}1≤j≤n;然后计算得到文件F对应的元数据tag=Ka||name||RN||Za||SSig(Ka||name||RN||Za),其中,Za=H1(IDa,Ka,RN)Ppub为临时变量,SSig()为用户自定义的签名函数,IDa、Ka分别为用户a对应的身份信息和公钥;用户a将tag发送至区块链,之后收到区块链返回的存储成功消息后,用户a再将{F,Λ,Ka}发送至云端;
区块链:区块链收到文件F对应的元数据tag后,检测tag的有效性,包括SSig(Ka||name||RN||Za)是否校验成功,<Ka,RN〉是否存储在区块链中,Ka已存储的文件个数是否超过RN,只有通过上述所有检验后,才将tag=Ka||name||RN||Za||SSig(Ka||name||RN||Za)存储到区块链上,并给用户a发送存储成功的消息;
云端:云端收到用户a发送的{F,Λ,Ka}信息后,首先检测区块链中是否存在文件F对应的元数据tag,如果不存在,云端终止后续执行流程,并返回给用户数据存储失败的信息,否则,云端对接收到的F和Λ进行检验,校验公式为Tj×P=h(name||j||RN)mj(Za+Ka),校验通过后,云端接收并存储这些数据,否则,返回给用户数据存储失败的信息。
5.根据权利要求4所述的基于区块链的云端数据完整性审计方法,其特征在于:所述完整性校验阶段的具体方法为:
所述完整性校验阶段的参与实体包括校验方、云端和区块链;数据完整性校验方式是采用challenge-proof的形式完成,校验方负责生成challenge信息,然后发送至云端;云端再生成其对应的proof信息,并将proof信息发送至区块链;区块链收到proof信息后,再进行校验,并将校验结果存储到区块链上;
校验方:文件F的唯一标记符为name,校验时选择C个数据块进行校验,其中1≤C≤n;校验方A随机选择C个整数vc,其中c∈I,I={1,...,C},然后得到challenge信息Chal={c,vc}c∈I,I={1,...,C},并将name和Chal发送至云端;
云端:收到name和Chal后,首先计算用于完整性校验的临时变量
Figure FDA0003328003290000031
和T,其中,
Figure FDA0003328003290000032
再将
Figure FDA0003328003290000033
发送至区块链;
区块链:收到
Figure FDA0003328003290000034
后,首先检查文件F的唯一标记符name是否存储在区块链上,如果检索不到,则校验失败,文件F是不完整的;如果检索到,则得到name对应的tag;检索到tag后,区块链校验
Figure FDA0003328003290000035
是否成立;如果成立,则校验通过,文件F是完整的,并将校验结果存储到区块链上,否则校验失败,文件F是不完整的。
CN202111271014.3A 2021-10-29 2021-10-29 基于区块链的云端数据完整性审计方法 Pending CN113901528A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111271014.3A CN113901528A (zh) 2021-10-29 2021-10-29 基于区块链的云端数据完整性审计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111271014.3A CN113901528A (zh) 2021-10-29 2021-10-29 基于区块链的云端数据完整性审计方法

Publications (1)

Publication Number Publication Date
CN113901528A true CN113901528A (zh) 2022-01-07

Family

ID=79027585

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111271014.3A Pending CN113901528A (zh) 2021-10-29 2021-10-29 基于区块链的云端数据完整性审计方法

Country Status (1)

Country Link
CN (1) CN113901528A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024088082A1 (zh) * 2022-10-24 2024-05-02 郑州师范学院 一种数据完整性审计方法、设备及存储介质
CN117978546A (zh) * 2024-03-29 2024-05-03 华侨大学 一种基于可信执行环境的无证书动态共享数据审计方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024088082A1 (zh) * 2022-10-24 2024-05-02 郑州师范学院 一种数据完整性审计方法、设备及存储介质
CN117978546A (zh) * 2024-03-29 2024-05-03 华侨大学 一种基于可信执行环境的无证书动态共享数据审计方法

Similar Documents

Publication Publication Date Title
CN112055025B (zh) 一种基于区块链的隐私数据保护方法
CN113194469B (zh) 基于区块链的5g无人机跨域身份认证方法、系统及终端
CN107508686B (zh) 身份认证方法和系统以及计算设备和存储介质
Park et al. Efficient multicast stream authentication using erasure codes
CN113642019B (zh) 一种双层分组拜占庭容错共识方法及系统
CN112039872A (zh) 基于区块链的跨域匿名认证方法及系统
CN112600678B (zh) 一种数据处理方法、装置、设备及存储介质
US8140849B2 (en) Security for network coding file distribution
CN113901528A (zh) 基于区块链的云端数据完整性审计方法
CN115378604B (zh) 一种基于信誉值机制的边缘计算终端设备的身份认证方法
CN109685505B (zh) 基于关联环签名的拜占庭容错共识优化方法
CN112865962B (zh) 一种基于区块链的分布式标识认证方法和装置、电子设备
CN113055176B (zh) 终端认证方法和系统、终端设备、p2p验证平台和介质
KR20200081533A (ko) 사물 인터넷 환경을 위한 동적 블라인드 투표기반의 블록체인 합의방법
Li et al. On the practical and security issues of batch content distribution via network coding
CN108123934A (zh) 一种面向移动端的数据完整性校验方法
CN108494558B (zh) 用于实现公平交换的方法和系统
CN112039837B (zh) 一种基于区块链和秘密共享的电子证据保全方法
CN112235290B (zh) 基于区块链的物联网设备管理方法及第一物联网设备
CN113904854A (zh) 一种基于商密算法的区块链数据加密方法及装置
CN117201031A (zh) 一种基于同态哈希树的文件分布式存储共享方法
CN111541668A (zh) 一种基于区块链的能源物联网信息安全传输与存储方法
CN115514568A (zh) 一种基于区块链的电力信息安全系统及方法
CN115499453A (zh) 面向联盟链的分片存储方法
Saad et al. Self-healing computation

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