CN115982746B - 一种基于区块链的数据共享方法 - Google Patents

一种基于区块链的数据共享方法 Download PDF

Info

Publication number
CN115982746B
CN115982746B CN202310257598.1A CN202310257598A CN115982746B CN 115982746 B CN115982746 B CN 115982746B CN 202310257598 A CN202310257598 A CN 202310257598A CN 115982746 B CN115982746 B CN 115982746B
Authority
CN
China
Prior art keywords
attribute
data
ciphertext
represented
storage address
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
Application number
CN202310257598.1A
Other languages
English (en)
Other versions
CN115982746A (zh
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.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
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 Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN202310257598.1A priority Critical patent/CN115982746B/zh
Publication of CN115982746A publication Critical patent/CN115982746A/zh
Application granted granted Critical
Publication of CN115982746B publication Critical patent/CN115982746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Storage Device Security (AREA)

Abstract

本申请涉及一种基于区块链的数据共享方法。该方法包括:数据拥有方生成共享数据密文上传到IPFS,获得数据存储地址,设置属性访问策略和对对称加密密钥加密,输出对称密钥密文,将对称密钥密文和数据存储地址写入智能合约,共识节点获取第一存储地址证明和第二存储地址证明,验证地址的正确性和当前地址是否有效,确认当前地址有效后将数据存储地址的第一哈希值写入区块链,数据需求方根据自身属性集生成属性密钥与身份信息提交到区块链,进行属性验证和身份信息验证,通过后获取对称加密密钥及数据存储地址,向IPFS获取共享数据密文解密获得共享数据。可以灵活的实现一对一或者一对多的数据共享控制。

Description

一种基于区块链的数据共享方法
技术领域
本申请涉及区块链技术领域,特别是涉及一种基于区块链的数据共享方法。
背景技术
很多企业面临着“人人有数据,人人缺数据”的局面,“数据孤岛”问题越来越严重。因此,数据需要共享。如何保证数据的安全性是必须要关注的问题,一些数据中可能包含用户的隐私信息,若发生数据泄露,将对用户的隐私造成威胁。目前在数据共享方面使用较多的方法是将区块链与密文策略属性基加密(Ciphertext-Policy Attribute-BasedEncryption, CP-ABE)相结合,数据存储在星际文件***(InterPlanetary File System,IPFS)中,数据存储地址存储在区块链中,为了实现基于属性的细粒度的访问控制,通常将数据存储地址通过CP-ABE加密之后存储在区块链中,CP-ABE访问控制写入智能合约中,实现自动化验证。然而现有基于CP-ABE访问控制的数据共享仍然存在一些问题,即CP-ABE实现的是一对多的访问控制,实现一对一的访问控制较为困难。虽然目前存在实现一对一数据共享的方法,例如代理重加密技术,但是代理重加密技术无法实现一对多的数据共享。因此,需要一种方便实现一对一和一对多的访问控制方法。
CP-ABE被认为是数据共享中最合适的访问控制方案之一,它可以提供基于属性的细粒度的访问控制。然而CP-ABE虽然可以提供个性化访问控制,但是CP-ABE并不灵活。数据拥有方通过设置一定的属性访问策略来限制访问数据的用户,但可能有多个无关的人员都满足访问策略,无关的人员也可以获取数据,这将是一种数据泄露,也可能泄露数据共享者的隐私。传统的基于云的存储模式,当云被攻击时,不仅会导致服务中断,还有可能导致用户的数据隐私泄露。采用区块链和IPFS相结合的方式,可有效避免云服务器单点故障或者被攻击所带来的损失。
因此,使用CP-ABE实现一对多模式的数据共享,可以将数据共享给多个满足访问策略的用户,但在一些情况下,例如双方存在利益关系的时候,数据拥有方只想分享给特定的用户而不是满足访问策略的所有用户,CP-ABE将难以做到,无法灵活的实现一对一和一对多的访问控制。
发明内容
基于此,有必要针对上述技术问题,提供一种能够灵活的实现一对一和一对多的访问控制的基于区块链的数据共享方法。
一种基于区块链的数据共享方法,其特征在于,所述方法包括:
数据拥有方选择对称加密密钥k使用AES对称加密算法对共享数据M进行加密,生成共享数据密文C M ,调用密文上传函数Upload(C M )将生成的所述共享数据密文C M 上传到IPFS中,以获得所述IPFS对接收到的所述共享数据密文C M 进行存储后生成的数据存储地址δ
所述数据拥有方设置属性访问策略F,并执行加密函数Enck(P,k,F),对所述对称加密密钥k进行加密,输出对称密钥密文C k ,其中,P表示为***公共参数,P=(e,G 1,G 2,g,L,H),e表示为双线性映射,G 1G 2表示为具有相同阶数p的乘法循环群,g表示为G 1的一个随机生成元,L表示为关于随机数α和随机数β 映射的结果,H表示为哈希函数;
所述数据拥有方调用智能合约接口将所述对称密钥密文C k 以及所述数据存储地址δ写入智能合约中,并设置身份列表χ写入到智能合约中;
共识节点获取所述IPFS根据所述数据存储地址δ及区块链账户生成的第一存储地址证明Φ',以及所述数据拥有方根据所述数据存储地址δ的哈希值H δ 及区块链账户生成的第二存储地址证明Φ,执行验证地址函数
Figure SMS_1
验证所述数据存储地址δ的正确性,并在三分之二及以上的共识节点确认所述数据存储地址δ有效的情况下,则将所述数据存储地址δ的第一哈希值H δ 写入区块链中;
数据需求方根据自身属性集生成属性密钥ζ,并将所述属性密钥ζ与身份信息I提交到区块链中,由所述属性密钥ζ解密所述对称密钥密文C k ,进行属性验证,属性验证通过的情况下,从所述身份列表χ中查找是否存在所述身份信息I,若存在,则身份信息验证通过,获取所述对称加密密钥k及所述数据存储地址δ
数据需求方对所述数据存储地址δ进行哈希运算,获得第二哈希值H(δ),与存储在区块链上第一哈希值H δ 进行比较,在第二哈希值H(δ)与第一哈希值H δ 相等的情况下,从所述IPFS中获取所述共享数据密文C M ,并使用所述对称加密密钥k解密所述共享数据密文C M ,获取所述共享数据M
上述基于区块链的数据共享方法,通过数据拥有方选择对称加密密钥使用AES对称加密算法对共享数据进行加密,生成共享数据密文,将生成的共享数据密文上传到IPFS中,获得数据存储地址,并设置属性访问策略,并对对称加密密钥进行加密,输出对称密钥密文,并设置身份列表χ,再将对称密钥密文、身份列表以及数据存储地址写入智能合约中,进而共识节点获取IPFS生成的第一存储地址证明以及数据拥有方生成的第二存储地址证明,验证数据存储地址的正确性以及数据存储地址是否有效,若确认数据存储地址有效,则将数据存储地址的第一哈希值写入区块链中,数据需求方根据自身属性集生成属性密钥,并与身份信息提交到区块链中,进行属性验证和身份信息验证,属性验证和身份信息验证通过,获取对称加密密钥及数据存储地址,进而向IPFS获取共享数据密文进行解密获得共享数据。因此,数据拥有方可以个性化地控制可以访问数据的用户,当用户发生改变时,只需更新身份列表信息即可,降低数据泄露的可能性的同时,可以灵活的实现一对一或者一对多的数据访问控制。
附图说明
图1为一个实施例中基于区块链的数据共享方法的数据共享框架的示意图;
图2为一个实施例中基于区块链的数据共享方法的流程示意图;
图3为一个实施例中基于区块链的数据共享方法的数据共享的场景示意图;
图4为另一个实施例中基于区块链的数据共享方法的流程示意图;
图5为一个实施例中数据存储地址验证过程的示意图;
图6为一个实施例中结合密文策略属性基加密和身份列表的身份认证的示意图。
实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
相关技术中,使用CP-ABE实现一对多模式的数据共享,可以将数据共享给多个满足属性访问策略的用户,但在一些情况下,(1)例如双方存在利益关系的时候,数据拥有者只想分享给特定的用户而不是满足属性访问策略的所有用户,CP-ABE将难以做到,无法灵活的实现一对一和一对多的访问控制。(2)若数据拥有方因为粗心或其他原因将错误的地址上传到区块链中,数据需求方在获取存储地址之后仍无法获取到真实的数据,本申请针对上述问题,提出了基于区块链的数据共享方法,通过对CP-ABE进行改进,引入身份列表,对用户的身份信息进一步核实,在身份列表中,数据拥有方设定可以访问数据的用户的身份信息,使数据拥有方可以个性化地控制可以访问数据的用户,当用户发生改变时,只需更新身份列表信息即可。降低数据泄露的可能性的同时,可以灵活的实现一对一或者一对多的访问控制,保护数据拥有者的数据及隐私安全。为了确保存储在区块链中数据存储地址的正确性,并通过存储地址证明的方式来验证数据存储地址的正确性,共识节点通过验证IPFS和数据拥有者生成的存储地址证明完成数据存储地址的验证,IPFS根据数据存储地址生成存储地址证明后发送到共识节点,数据拥有者将要上传的数据存储地址生成存储地址证明发送到共识节点,由共识节点验证,验证通过之后将数据存储地址存储在区块链中。可以避免数据拥有方因为粗心或其他原因将错误的数据存储地址上传到区块链中。
本申请提出的基于区块链的数据共享方法的数据共享框架的示意图如图1所示,基于区块链的数据共享方法中的参与方包括:数据拥有方(DO)、数据需求方(DR)、星际文件***(IPFS)和共识节点。功能模块包括存储地址验证模块和两阶段身份验证模块。
数据拥有方(DO):数据拥有方作为个人数据的实际拥有者,通常为个人或者企业机构,数据拥有方通过加密技术将待共享的共享数据加密后存储在IPFS中,并设定获取该共享数据的属性访问策略及想要该共享数据的用户的身份信息,以便共享给通过属性访问策略及身份认证的数据需求方。
数据需求方(DR):数据需求方指的是对数据有需求,通常对数据进行分析处理,以提高自身利益的个人或者一些企业机构。
如图1所示,主要包含三个阶段:数据存储阶段,存储地址验证及身份验证阶段,获取数据阶段。数据存储阶段主要将加密的共享数据密文存储在IPFS中,IPFS返回相应的数据存储地址给DO。
存储地址验证及身份验证阶段:该阶段主要通过智能合约和共识节点完成,包含两个功能模块,分别为存储地址验证模块和两阶段身份验证模块。存储地址验证模块主要验证DO上传的数据存储地址的有效性,该操作由区块链网络中的共识节点完成,共识节点根据IPFS生成的第一存储地址证明
Figure SMS_2
以及DO在验证完数据完整性之后生成的第二存储地址证明Φ进行验证。两阶段身份验证模块主要对DR的身份信息进行两阶段身份验证,第一阶段为属性验证,第二阶段为身份信息验证。DO根据想要共享数据的用户的属性设置属性访问策略F,使用该属性访问策略加密DO选择的对称加密密钥k,并设置身份列表χ,身份列表中包含DR具体的身份信息。
数据获取阶段:DR在请求数据时需要根据自身属性集生成属性密钥ζ,并将属性密钥ζ与身份信息I提交到区块链中,由属性密钥ζ解密对称密钥密文,进行属性验证,属性验证通过之后,再从身份列表χ中查找是否存在DR提交的身份信息I,若存在,则身份信息验证通过,DR可以获取对称加密密钥k及数据存储地址,DR最后获取源数据密文,并解密数据。
应理解,假设DO和DR都是诚实的,而IPFS和区块链的共识节点是半诚实的,DO和DR可以保管好自己的私钥,智能合约部署在可信的环境中,并且可以实现预定义的目标,基于上述假设,可以实现以下安全目标:
1) 数据安全有效:DO正确将共享数据加密并上传到IPFS中,IPFS能够存储数据并将数据存储地址返回给DO。DR使用自己的私钥解密共享数据。
2) 隐私保护:任何人都不能通过DO提交的共享数据来推断出DO的真实身份。
3) 抗共谋攻击:任何两个或者两个以上的攻击者都无法通过共谋来通过属性访问策略及身份验证从而非法获取DO上传的该共享数据。
4) 个性化访问控制:DO可以根据自己的要求来设置属性访问策略以及有关DR的身份信息,可以实现一对一和一对多的访问控制,未经授权和身份验证的DR无法获得该共享数据。
在一个实施例中,如图2所示,提供了一种基于区块链的数据共享方法,包括以下步骤:
步骤S220,数据拥有方选择对称加密密钥k使用AES对称加密算法对共享数据M进行加密,生成共享数据密文C M ,调用密文上传函数Upload(C M )将生成的共享数据密文C M 上传到IPFS中,以获得IPFS对接收到的共享数据密文C M 进行存储后生成的数据存储地址δ
其中,AES对称加密算法通过数据拥有方选择的对称加密密钥k对共享数据M进行加密,生成共享数据密文C M
其中,密文上传函数Upload(C M ) 通过将共享数据密文上传到IPFS中,IPFS返回数据存储地址δ
步骤S240,数据拥有方设置属性访问策略F,并执行加密函数Enck(P,k,F),对对称加密密钥k进行加密,输出对称密钥密文C k ,其中,P表示为***公共参数,P=(e,G 1,G 2,g,L,H),e表示为双线性映射,G 1G 2表示为具有相同阶数p的乘法循环群,g表示为G 1的一个随机生成元,L表示为关于随机数α和随机数β 映射的结果,H表示为哈希函数。
其中,加密函数Enck(P,k,F) 通过以***公共参数P、对称加密密钥k和属性访问策略F作为输入,输出结果为对称加密密钥k的对称密钥密文C k
在一个实施例中,数据拥有方设置属性访问策略F,并执行加密函数Enck(P,k,F),对对称加密密钥k进行加密,输出对称密钥密文C k 的步骤包括:
为属性访问策略F的访问树T中的每个节点选择一个多项式q x ,将多项式q x 的阶数d x 设置为d x =K x -1,其中,K x 表示为访问树T中非叶子节点的阈值;
从访问树T中的根节点开始,随机选择随机数o,其中,oZ p ,使q r (0)=o,对于访问树T中的其他任意的非根节点,根据多项式q x 的阶数d x 设置
Figure SMS_3
,生成属性访问策略F,其中,o表示为域Z p 上的随机数,Z p 表示为域,q r (0)表示为根节点的秘密值,q x (0) 表示为非根节点的秘密值,/>
Figure SMS_4
表示为非根节点的父节点/>
Figure SMS_5
的多项式,/>
Figure SMS_6
表示为非根节点在兄弟节点中的序号;
Y为访问树T的叶子节点集,根据属性访问策略F和叶子节点集Y,执行加密函数Enck(P,k,F),对对称加密密钥k进行加密,输出对称密钥密文C k
在一个实施例中,对称密钥密文C k 为:
Figure SMS_7
其中,
Figure SMS_8
表示对称密钥密文C k 关于属性的其中一个密文片段,/>
Figure SMS_9
表示为对称密钥密文C k 中关于属性的另一个密文片段,y表示为叶子节点,/>
Figure SMS_10
表示为叶子节点y的秘密值,/>
Figure SMS_11
表示为叶子节点y代表的属性,k表示对称加密密钥,e表示为双线性映射。
步骤S260,数据拥有方调用智能合约接口将对称密钥密文C k 以及数据存储地址δ写入智能合约中,并设置身份列表χ写入到智能合约中。
步骤S280,共识节点获取IPFS根据数据存储地址δ及区块链账户生成的第一存储地址证明Φ',以及数据拥有方根据数据存储地址δ的哈希值H δ 及区块链账户生成的第二存储地址证明Φ,执行验证地址函数
Figure SMS_12
验证数据存储地址δ的正确性,并在三分之二及以上的共识节点确认数据存储地址δ有效的情况下,将数据存储地址δ的第一哈希值H δ 写入区块链中。
其中,验证地址函数
Figure SMS_13
根据IPFS提供的第一存储地址证明/>
Figure SMS_14
和数据拥有方提供的第二存储地址证明Φ进行验证,验证通过返回true,否则返回false。
步骤S300,数据需求方根据自身属性集生成属性密钥ζ,并将属性密钥ζ与身份信息I提交到区块链中,由属性密钥ζ解密对称密钥密文C k ,进行属性验证,属性验证通过的情况下,从身份列表χ中查找是否存在身份信息I,若存在,则身份信息验证通过,获取对称加密密钥k及数据存储地址δ
在一个实施例中,属性验证的方式为:
以数据需求方的属性密钥ζ、属性访问策略F的访问树T中的每个节点x以及密钥密文C k 为测试函数
Figure SMS_15
的输入,采用测试函数的属性验证分析公式,从访问树T中的叶子节点开始依次计算访问树T中的每个节点的秘密值,直至获得根节点的秘密值,根据根节点的秘密值判断数据需求方的属性集S是否满足属性访问策略F
在一个实施例中,当前节点为访问树T的叶子节点的情况下,设该叶子节点的编号为y,设置
Figure SMS_16
=j,其中,j为该叶子节点的属性,如果jS,属性验证分析公式为:
Figure SMS_17
,其中,/>
Figure SMS_18
表示为该叶子节点的属性验证结果,/>
Figure SMS_19
表示为属性密钥ζ的其中一个片段,/>
Figure SMS_20
表示为属性密钥ζ的另一个片段,/>
Figure SMS_21
表示为该叶子节点的秘密值,m表示为域Z p 上的随机数;
如果
Figure SMS_22
,属性验证分析公式为:
Figure SMS_23
,其中,/>
Figure SMS_24
表示为空。
在一个实施例中,当前节点为访问树T的非叶子节点的情况下,属性验证分析公式为:
Figure SMS_25
其中,
Figure SMS_26
表示为任意K x 个非根节点的节点集,F z 表示为该非叶子节点x的子节点z的属性验证结果, />
Figure SMS_27
表示为该非叶子节点x的秘密值,/>
Figure SMS_28
表示为拉格朗日系数,m表示为域Z p 上的随机数。
步骤S320,数据需求方对数据存储地址δ进行哈希运算,获得第二哈希值H(δ),与存储在区块链上第一哈希值H δ 进行比较,在第二哈希值H(δ)与第一哈希值H δ 相等的情况下,从IPFS中获取共享数据密文C M ,并使用对称加密密钥k解密共享数据密文C M ,获取共享数据M
上述基于区块链的数据共享方法,通过数据拥有方选择对称加密密钥使用AES对称加密算法对共享数据进行加密,生成共享数据密文,将生成的共享数据密文上传到IPFS中,获得数据存储地址,并设置属性访问策略,并对对称加密密钥进行加密,输出对称密钥密文,并设置身份列表χ,再将对称密钥密文、身份列表以及数据存储地址写入智能合约中,进而共识节点获取IPFS生成的第一存储地址证明以及数据拥有方生成的第二存储地址证明,验证数据存储地址的正确性以及数据存储地址是否有效,若确认数据存储地址有效,则将数据存储地址的第一哈希值写入区块链中,数据需求方根据自身属性集生成属性密钥,并与身份信息提交到区块链中,进行属性验证和身份信息验证,属性验证和身份信息验证通过,获取对称加密密钥及数据存储地址,进而向IPFS获取共享数据密文进行解密获得共享数据。因此,数据拥有方可以个性化地控制可以访问数据的用户,当用户发生改变时,只需更新身份列表中的身份信息即可,降低数据泄露的可能性的同时,可以灵活的实现一对一或者一对多的数据访问控制。
在一个实施例中,如图3和图4所示,提供了一种基于区块链的数据共享方法,包括三个阶段,分别为***初始化阶段(即步骤S1.1~ 步骤S1.2)、数据生成与存储地址验证阶段(即步骤S2.1~ 步骤S2.7)和数据共享阶段(即步骤S3.1~ 步骤S3.6)。***初始化阶段主要实现生成***公共参数及主密钥。数据生成与存储地址验证阶段主要生成对称密钥密文并将属性访问策略上传到区块链以及验证数据存储地址的正确性。数据共享阶段主要实现DR根据自身属性生成属性密钥,以及提交个人身份信息进行验证,进而获取共享数据。
步骤S1.1~步骤S1.2:在***初始化阶段,DO和DR通过向CA注册身份加入到区块链网络中。CA通过预定义的安全参数生成***参数,包括***公共参数P和主密钥Γ
其中,DO和DR以用户的身份向CA注册身份,参与区块链。CA选择一个安全参数λ,生成两个大素数pq,并选择双线性对e:G 1×G 1G 2,其中,G 1G 2是具有相同阶数p的乘法循环群,gG 1的一个随机生成元,满足g p =1(modq)。CA选择一个哈希函数H:{0,1}*→G 1,CA选择两个随机数αβZ p ,计算L=e(g,g) α+β 。最后***公共参数为P=(e,G 1,G 2,g,L,H),主密钥为Γ=(g α ,β)。
步骤S2.1~步骤 S2.3:DO使用对称加密算法将共享数据加密得到共享数据密文C M ,并将共享数据密文C M 存储在IPFS中,IPFS返回相应的数据存储地址δ给DO,并根据当前的数据存储地址δ生成一个第一存储地址证明
Figure SMS_29
并将/>
Figure SMS_30
发送到区块链中的共识节点。
其中,DO选择共享数据M,使用AES对称加密算法对共享数据M进行加密。DO首先选择对称加密密钥k,然后执行对称加密算法EncM(k,M),生成共享数据密文C M 。然后,DO调用密文上传函数Upload(C M )将生成的共享数据密文上传到IPFS中,IPFS接收到共享数据密文之后,为共享数据密文进行存储,并将得到数据存储地址δ发送给DO。DO根据δ验证数据是否正确。
步骤S2.4~ 步骤S2.7:DO接收到数据存储地址后验证存储在IPFS中的数据是否完整无误,若完整无误,DO则生成第二存储地址证明Φ并将Φ提交到区块链中的共识节点。共识节点验证通过后,将数据存储地址δ的第一哈希值H δ 存储在区块链中。然后DO设置属性访问策略F,将对称加密密钥k使用CP-ABE加密得到对称密钥密文C k ,之后DO将对称密钥密文C k 数据存储地址δ,属性访问策略F及身份列表χ(身份列表χ包含DO想要共享数据的用户的身份信息。如:姓名,手机号等信息)写入智能合约中,如果χ为null,则表明每个属性密钥满足属性访问策略的用户都可以解密对称密钥密文C k
其中,IPFS根据数据存储地址δ及区块链账户生成第一存储地址证明
Figure SMS_31
,其中,/>
Figure SMS_32
为区块链地址和数据存储地址的哈希值连接之后结果的哈希值,“+”代表字符串连接,H' δ 为IPFS生成的数据存储地址的哈希值,A' DO为IPFS提供的关于DO的区块链账户地址。DO根据δ验证完共享数据后,DO根据数据存储地址生成第一哈希值H δ ,根据第一哈希值H δ 及区块链账户生成第二存储地址证明Φ=(A DO,H δ , U),其中,U=H(A DO+H δ ),H δ 为DO生成数据存储地址的哈希值(即第一哈希值),A DO为DO本身提供的区块链账户地址。DO将Φ发送到共识节点,共识节点接受到存储地址证明之后执行验证地址函数/>
Figure SMS_33
验证数据存储地址的正确性,并通过拜占庭共识机制确定数据存储地址是否有效,若接受到三分之二及以上的节点确认,则将H δ 写入区块链中。
其中,DO设置属性访问策略F,执行加密函数Enck(P,k,F),对对称加密密钥k进行加密。该加密函数Enck(P,k,F)将***公共参数P,对称加密密钥k,属性访问策略F作为输入,输出对称密钥密文C k 。该加密函数Enck(P,k,F)首先为访问树中的每个节点选择一个多项式q x q x 根据以下方式设置,将多项式q x 的阶数d x 设置为K x -1,也即是d x =K x -1。然后从根节点r开始,随机选择oZ p ,使q r (0)=o,对于访问树T中的其他任意的非根节点,根据多项式q x 的阶数d x 设置
Figure SMS_34
。设Y为访问树T的叶子节点集,根据属性访问策略F和叶子节点集Y,执行加密函数Enck(P,k,F),对对称加密密钥k进行加密,输出对称密钥密文
Figure SMS_35
,其中,/>
Figure SMS_36
C 2=g o ,/>
Figure SMS_37
Figure SMS_38
。DO将调用智能合约接口将对称密钥密文C k ,数据存储地址δ写入智能合约中。DO在身份列表χ中设置想要共享数据的用户的身份信息,设置完后将身份列表写入到智能合约中。
步骤S3.1~ 步骤 S3.4:当DR想要获取共享数据时,DR首先需要向属性授权机构(AA)提交自己的属性集,AA在接收到DR提交的属性集之后,为DR生成解密密钥ζ,并返回给DR。之后,DR查看要求并向智能合约提交自己的属性密钥ζ及身份信息I,智能合约根据DO上传的属性访问策略对DR的属性密钥ζ进行验证,若属性验证通过,智能合约将继续在身份列表χ中查找DR所提交的身份信息是否存在身份列表χ中。只有当两者都满足时,才能获取对称加密密钥k及数据存储地址δ。
其中,DR需要执行密钥生成算法Kengen(Γ,S)生成属性密钥ζKengen(Γ,S)如算法1所示。
算法1:
Figure SMS_39
其中,算法1中所生成的属性密钥由两个部分组成,分别为ζ 1ζ 2ζ 1为属性密钥ζ的其中一个片段,ζ 2为属性密钥ζ的另一个片段,ζ 1通过算法1的第 3行和第4行计算得到, 第3行中αβ为***初始化阶段CA随机生成的两个随机数。ζ 2通过算法1的第 5行计算得到,H()为哈希运算,g是初始化阶段中G 1的一个随机生成元。
其中,属性验证的方式为:通过一个测试函数
Figure SMS_40
来判断DR的属性集S是否满足属性访问策略F,该函数以DR的属性密钥ζ、访问树T中的每个节点x、密钥密文C k 为输入。
如果节点y 是访问树的叶子节点,那么设a(y)=jj为该叶子节点的属性,如果jS,属性验证分析公式为:
Figure SMS_41
,其中,/>
Figure SMS_42
表示为该叶子节点的属性验证结果,/>
Figure SMS_43
表示为属性密钥ζ的其中一个片段,/>
Figure SMS_44
表示为属性密钥ζ的另一个片段,/>
Figure SMS_45
表示为该叶子节点的秘密值,m表示为域Z p 上的随机数;
如果
Figure SMS_46
,属性验证分析公式为:/>
Figure SMS_47
,其中,/>
Figure SMS_48
表示为空。
如果节点是非叶子节点,属性验证分析公式为:
Figure SMS_49
其中,
Figure SMS_53
表示为任意K x 个非根节点的节点集,F z 表示为该非叶子节点x的子节点z的属性验证结果,/>
Figure SMS_54
表示为该非叶子节点x的秘密值,/>
Figure SMS_57
表示为拉格朗日系数,m表示为域Z p 上的随机数。S x 是任意K x 个非根节点的节点集,使得F z ≠/>
Figure SMS_50
。/>
Figure SMS_55
表示为拉格朗日系数, />
Figure SMS_58
,/>
Figure SMS_61
,其中,/>
Figure SMS_52
表示为拉格朗日插值多项式,i表示为非叶子节点x的子节点z在兄弟节点中的序号,x表示为非叶子节点,/>
Figure SMS_56
表示为非叶子节点x的子节点z在兄弟节点中的序号,/>
Figure SMS_59
表示为非叶子节点x的子节点的节点集,z表示为非叶子节点x的子节点。然后在F上调用/>
Figure SMS_60
函数计算根节点r的值,如果数据需求方的属性集S满足属性访问策略F,则设置
Figure SMS_51
,其中,N表示为解密属性访问策略的结果。
其中,身份信息验证的方式为:
验证身份信息需要调用查询函数Search(χ,I)查找当前的身份列表χ中是否存在身份信息I,身份列表χ的结构定义为:
χ=<I 1,I 2,I 3, … ,I i , … ,I n >
其中,共有n个身份信息,n的值以及I i 的值由DO根据需求设定。I i 表示第i个身份信息。若身份列表χ中存在DR的身份信息I,则函数返回true,否则返回false。当Search(χ,I)返回true以及属性验证都通过之后再计算C 1/(e(C 2,D)/N)=k,而获得对称加密密钥k
其中,用户信息验证的算法部署在智能合约中,如算法2和算法3所示:
算法2:
Figure SMS_62
其中,算法2的第 2行和第3行判断当前的属性密钥ζ是否满足设定的属性访问策略,m为算法1中生成的随机数,设置属性访问策略时将根节点的秘密值设置为随机数o。算法2的第4行表示如果ζ满足设定的属性访问策略,则解密对称密钥密文得到对称加密密钥k,其中e表示双线性映射,gG 1的一个随机生成元,C 1C 2由生成对称密钥密文阶段计算得出,D由算法1中第 3行计算得出。算法2的第5-11行表示判断当前DR的身份信息I是否在DO设定的身份列表中,若属性验证和身份验证都满足,算法2返回对称加密密钥k和数据存储地址δ
其中,对称加密密钥的正确性验证公式为:
Figure SMS_63
算法3:
Figure SMS_64
其中,算法3为验证DR的身份信息是否满足DO设置的身份信息。算法3的第1行定义一个临时变量i。算法3的第2-7行定义一个查询函数,χ为身份列表,I为身份信息,函数len(χ)指的是χ的长度。算法3的第2行和第3行通过在身份列表中遍历查找身份信息,若存在,返回true,否则返回false。
步骤S3.5~ 步骤 S3.6:DR将获得的δ进行哈希运算并与存储在区块链上数据存储地址的哈希值进行比较,若相等DR则从IPFS中获取共享数据密文C M ,并使用对称加密密钥k解密共享数据密文C M ,获取共享数据M
其中,这个阶段由DR执行,DR在从智能合约中得到数据存储地址δ,首先计算H(δ)=H δ 是否成立,若成立则从IPFS中获取共享数据密文。然后通过对称加密密钥k执行解密算法DecM(C M ),得到共享数据M
其中,由于区块链具有不可篡改性,任何存储在区块链中的数据都应该是有效的,若在一些情况下,DO无意中将错误的数据存储地址上传到区块链中,DR在身份验证通过之后所获得的数据存储地址也将是错误的,DR将无法获得正确的数据存储地址,DR将向DO重新请求,这将浪费彼此的时间。因此,采用存储地址证明验证的方式验证数据存储地址的正确性。图5为存储地址验证过程的示意图,图5中IPFS及DO分别计算存储地址证明并提交到共识节点,由共识节点验证数据存储地址的正确性,具体步骤如下:
步骤S1:IPFS存储DO的共享数据之后将共享数据的数据存储地址发送到DO。
步骤S2:IPFS根据当前的数据存储地址生成第一存储地址证明
Figure SMS_65
,并将/>
Figure SMS_66
发送到区块链中的共识节点。
步骤S3:DO接收到数据存储地址δ之后,根据δ从IPFS中获取共享数据,验证共享数据是否正确,若正确,则为当前的数据存储地址生成一个第二存储地址证明Φ=(A DO,H δ ,U)。
步骤S4:DO将Φ发送到共识节点。
步骤S5:共识节点通过执行函数
Figure SMS_67
验证/>
Figure SMS_68
是否等于Φ来判断数据存储地址是否有效,若验证通过则将数据存储地址的哈希值H δ 存入区块链中。
数据存储地址是否有效的算法如算法4所示:
算法4:
Figure SMS_69
其中,算法4对生成的存储地址证明进行验证,算法4的第1行验证区块链的地址A DO,若地址正确则继续执行,否则返回false,结束算法4。算法4的第2行对数据存储地址的哈希值H δ 进行验证,若数据存储地址的哈希值验证正确,则继续执行,否则返回false,结束算法。第3行对区块链地址与数据存储地址的哈希值相连接之后的数据进行验证,验证通过则返回true,否则返回false,只有算法执行结果为true时,数据存储地址验证才完成。
应理解,结合密文策略属性基加密和身份列表的方案可以实现一对一的访问控制,只需在身份列表χ中设置想要共享的DR的身份信息即可。若DO想重新对多人(满足属性访问策略)进行共享,则只需要更新χ中的信息,而不需要重新加密对称密钥。图6为结合密文策略属性基加密和身份列表的身份认证的示意图,如图6所示,通过设定身份列表χ可以实现一对一和一对多的访问控制,具体步骤如下:
步骤S31:DO调用加密函数Enck()加密对称加密密钥k,生成对称密钥密文C k
步骤S32:DO在智能合约中写入对称密钥密文C k 、数据存储地址δ和属性访问策略F
步骤S33:DO设定一个身份列表χ,其中包含DO想要共享的DR的身份信息,如果χ为null,则表明每个满足属性访问策略的用户都可以解密共享数据密文。
步骤S34:DO将身份列表χ部署在智能合约中,DR请求数据时需要进行两次身份验证,第一次为DR的属性认证,第二次为身份信息认证。
步骤S35:DR提交自己的属性密钥ζ和身份信息I
步骤S36:进行验证属性密钥及身份信息,两阶段身份验证通过后,DR才能获取对称加密密钥k及数据存储地址δ,从而解密共享数据密文C M ,获取共享数据M
上述基于区块链的数据共享方法,通过引入身份列表,对身份进行二次验证,从而可以实现一对一或者一对多的访问控制,保护数据拥有者的数据及隐私安全。当用户发生改变时,只需更新身份列表信息即可。进一步的对IPFS及数据拥有方生成的存储地址证明进行验证,IPFS根据存储地址生成第一存储地址证明后发送到共识节点,数据拥有方将要上传的数据存储地址生成第二存储地址证明发送到共识节点,由共识节点验证,验证通过之后将数据存储地址存储在区块链中,以确保存储在区块链中存储地址的正确性。
在一个实施例中,针对基于区块链的数据共享方法的数据安全分析如下:
如果DR的属性满足共享数据的属性访问策略,DR将获得对称加密密钥。获取对称加密密钥的正确性验证的公式为:
Figure SMS_70
根据对称加密密钥的正确性验证的公式可知,对称加密密钥k可以计算得出。此外,DR可以使用该对称加密密钥解密共享数据密文。
2) 共享数据是由DO经过加密之后上传到IPFS,IPFS返回数据存储地址及关于地址有效性的第一存储地址证明Φ',DO需要使用该数据存储地址验证存储在IPFS中的数据是否正确,若正确则向区块链中的共识节点提交第二存储地址证明Φ。共识节点验证Φ
Figure SMS_71
是否相等,相等则将数据存储地址的第一哈希值H δ 写入区块链中,DR在请求得到数据存储地址之后可以根据得到的数据存储地址和区块链中的地址进行验证。
3)对于数据存储地址的验证,需要经过三层验证,首先验证区块链的账户是否相等,相等则验证数据存储地址的哈希值,因为哈希不可逆,所以尽管知道数据存储地址的哈希值仍然无法获得准确的数据存储地址,但是,尽管数据存储地址的哈希值是相等的,仍然存在二者的数据存储地址不相等的情况,因此需要进行三次验证。通过将DO的区块链账户与数据存储地址连接起来所组成的字符串的长度较长,再对它们进行哈希运算,出现相同的哈希值但字符串数据不相同的概率几乎为0,若攻击者想攻克,也会付出巨大的代价。因此,该方法用于验证数据存储地址真实性是可行的。
在一个实施例中,针对基于区块链的数据共享方法的个性化访问控制分析如下:对称加密密钥需要经过DO设定的属性访问策略进行加密,DR的解密密钥由DR的属性生成,DR的解密密钥只有满足DO设定的属性访问策略才能解密对称密钥密文得到对称加密密钥,如果不满足属性访问策略,则无法对对称密钥密文进行解密。然后,DO设置身份列表对DR的身份进行进一步验证,在属性访问策略及身份列表都验证通过的情况下,DR可以得到数据存储地址及解密的对称加密密钥。
在一个实施例中,针对基于区块链的数据共享方法的抗共谋攻击及隐私保护分析如下:区块链中的用户所采用的地址为匿名地址而非真实地址。因此,攻击者无法通过区块链中的匿名地址得到用户的真实身份,此外,本申请结合CP-ABE和身份列表对用户的身份进行精确控制,无关用户难以通过身份验证,因此,本申请有效地保护用户隐私。针对多用户共谋的问题,用户在AA上获取对称加密密钥时,AA为每个属性生成的随机数m j 都不相同,而在解密时只有相同的m j 生成的密钥可以结合共同解密,所以不同属性的多个用户无法结合其属性来解密密文,有效地防止了用户间的共谋攻击。
在一个实施例中,针对基于区块链的数据共享方法的安全证明分析如下:在随机预言机模型下基于DBDH困难假设对CP-ABE进行安全性证明:
定理1:假设该方案满足DBDH难度假设,则不存在任何概率多项式时间(PPT)对手可以选择性地突破本申请的方案。
证明:在这个方案中,假设存在一个具有不可忽略优势µ的敌手
Figure SMS_72
可以攻破本申请的方案,并构造一个具有µ/2优势的模拟器作为挑战者/>
Figure SMS_73
可以区分随机元组和DBDH元组。挑战者/>
Figure SMS_74
的构建过程如下:
首先,创建双线性映射e和循环群G 0G 1。然后,挑战者
Figure SMS_75
随机选择多个随机数abc、dZ p ,随机选择一个变量ν,ν∈{0,1},gG 0,同时,挑战者/>
Figure SMS_76
定义了一个随机元素Z。如果ν=0,Z=e(g,g) abc ;否则,Z=e(g,g) d
初始化:在这个阶段,敌手
Figure SMS_77
选择具有挑战性的访问结构F',并将/>
Figure SMS_78
提交给挑战者/>
Figure SMS_79
设置:预设一个安全参数λ,挑战者
Figure SMS_80
通过Setup()算法计算***公共参数为P=(e,G 1,G 2,g,L,H),***主密钥为Γ=(g α ,β),其中L=e(g,g) α+β 。将***公共参数P发送给敌手
Figure SMS_81
,自己保存私钥Γ
阶段1:敌手
Figure SMS_82
选择属性集S并请求属性密钥。挑战者/>
Figure SMS_83
随机选择一个随机数uZ p ,然后为每个属性jS选择一个随机数t j Z p ,然后使用算法1计算属性密钥ζ=(ζ 1,ζ 2),并将ζ提交给敌手/>
Figure SMS_84
挑战:敌手
Figure SMS_85
向挑战者/>
Figure SMS_86
提交两个等长的消息m 0m 1以及访问策略F'。挑战者/>
Figure SMS_87
随机选择一个变量θθ∈{0, 1},随机选择随机数s's'Z p , 计算密文/>
Figure SMS_88
。挑战者/>
Figure SMS_89
将密文/>
Figure SMS_90
发送给敌手/>
Figure SMS_91
阶段2:与阶段1相同,但是ζ不满足F'
猜测:敌手
Figure SMS_92
输出猜测θ * ∈{0,1}。如果θ=θ * ,挑战者/>
Figure SMS_93
输出“0”,此时Z=e(g,g) abc ,否则,挑战者/>
Figure SMS_94
输出“1”,则表示ZG 1上的随机数,也即是Z=e(g,g) d 。/>
如果Z=e(g,g) abc ,则表明
Figure SMS_95
是一个有效的密文,根据上述定义,敌手/>
Figure SMS_96
的优势为µ,则挑战者/>
Figure SMS_97
能够区分随机元组和DBDH元组的概率表达式为:
Figure SMS_98
如果Z=e(g,g) d ,则表明对于敌手
Figure SMS_99
,/>
Figure SMS_100
是一个随机密文,则挑战者/>
Figure SMS_101
能够区分随机元组和DBDH元组的概率表达式为:/>
Figure SMS_102
。最后,挑战者/>
Figure SMS_103
在本次安全博弈中的优势说明如下:
{Pr[
Figure SMS_104
)=0]-Pr[/>
Figure SMS_105
)=0]}/2
= [1/2+(µ-1)/2] /2=µ/2
综上,通过定理1证明了方案的安全性。
基于上述分析,本申请方法所提出的方案具有较为全面的安全保障。与对比方法进行比较,如表1所示:
表1 本申请方法与对比方法的比较结果
Figure SMS_106
表2中涉及的数据安全在VI.A部分进行阐述;访问控制和身份列表在VI.B部分进行阐述;隐私保护在VI.C部分进行阐述;无单点故障是因为本专利采用IPFS存储数据,IPFS本身是一种分布式的数据库,数据存储在分布式数据库中,即使IPFS中的某个节点被攻击或发生故障,也并不影响数据的存储,数据存储地址的哈希值存储在区块链中。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (6)

1.一种基于区块链的数据共享方法,其特征在于,所述方法包括:
数据拥有方选择对称加密密钥k使用AES对称加密算法对共享数据M进行加密,生成共享数据密文C M ,调用密文上传函数Upload(C M )将生成的所述共享数据密文C M 上传到IPFS中,以获得所述IPFS对接收到的所述共享数据密文C M 进行存储后生成的数据存储地址δ
所述数据拥有方设置属性访问策略F,并执行加密函数Enck(P, k, F),对所述对称加密密钥k进行加密,输出对称密钥密文C k ,其中,P表示为***公共参数,P=(e, G 1, G 2, g,L, H),e表示为双线性映射,G 1G 2表示为具有相同阶数p的乘法循环群, g表示为G 1的一个随机生成元,L表示为关于随机数α和随机数β映射的结果,H表示为哈希函数;
所述数据拥有方调用智能合约接口将所述对称密钥密文C k 以及所述数据存储地址δ写入智能合约中,并设置身份列表χ写入到智能合约中;
共识节点获取所述IPFS根据所述数据存储地址δ及区块链账户生成的第一存储地址证明Φ',以及所述数据拥有方根据所述数据存储地址δ的哈希值H δ 及区块链账户生成的第二存储地址证明Φ,执行验证地址函数
Figure QLYQS_1
验证所述数据存储地址δ的正确性,并在三分之二及以上的共识节点确认所述数据存储地址δ有效的情况下,将所述数据存储地址δ的第一哈希值H δ 写入区块链中;
数据需求方根据自身属性集生成属性密钥ζ,并将所述属性密钥ζ与身份信息I提交到区块链中,由所述属性密钥ζ解密所述对称密钥密文C k ,进行属性验证,属性验证通过的情况下,从所述身份列表χ中查找是否存在所述身份信息I,若存在,则身份信息验证通过,获取所述对称加密密钥k及所述数据存储地址δ
数据需求方对所述数据存储地址δ进行哈希运算,获得第二哈希值H(δ),与存储在区块链上第一哈希值H δ 进行比较,在第二哈希值H(δ)与第一哈希值H δ 相等的情况下,从所述IPFS中获取所述共享数据密文C M ,并使用所述对称加密密钥k解密所述共享数据密文C M ,获取所述共享数据M
2.根据权利要求1所述的基于区块链的数据共享方法,其特征在于,所述数据拥有方设置属性访问策略F,并执行加密函数Enck(P, k, F),对所述对称加密密钥k进行加密,输出对称密钥密文C k 的步骤包括:
为所述属性访问策略F的访问树T中的每个节点选择一个多项式q x ,将多项式q x 的阶数d x 设置为d x =K x -1,其中,K x 表示为访问树T中非叶子节点的阈值;
从访问树T中的根节点开始,随机选择随机数o,其中,oZ p ,使q r (0)= o,对于访问树T中的其他任意的非根节点,根据多项式q x 的阶数d x 设置
Figure QLYQS_2
,生成属性访问策略F,其中,Z p 表示为域,q r (0)表示为根节点的秘密值,q x (0) 表示为非根节点的秘密值,/>
Figure QLYQS_3
表示为非根节点的父节点/>
Figure QLYQS_4
的多项式,/>
Figure QLYQS_5
表示为非根节点在兄弟节点中的序号;
Y为访问树T的叶子节点集,根据所述属性访问策略F和所述叶子节点集Y,执行加密函数Enck(P, k, F),对所述对称加密密钥k进行加密,输出对称密钥密文C k
3.根据权利要求2所述的基于区块链的数据共享方法,其特征在于,所述对称密钥密文C k 为:
Figure QLYQS_6
其中,
Figure QLYQS_7
表示对称密钥密文C k 关于属性的其中一个密文片段,/>
Figure QLYQS_8
表示为对称密钥密文C k 中关于属性的另一个密文片段,y表示为叶子节点,/>
Figure QLYQS_9
表示为叶子节点y的秘密值,
Figure QLYQS_10
表示为叶子节点y代表的属性,k表示对称加密密钥,e表示为双线性映射。
4.根据权利要求3所述的基于区块链的数据共享方法,其特征在于,所述属性验证的方式为:
以数据需求方的属性密钥ζ、属性访问策略F的访问树T中的每个节点以及密钥密文C k 为测试函数
Figure QLYQS_11
的输入,采用所述测试函数的属性验证分析公式,从访问树T中的叶子节点开始依次计算访问树T中的每个节点的秘密值,直至获得根节点的秘密值,根据根节点的秘密值判断数据需求方的属性集S是否满足属性访问策略F
5.根据权利要求4所述的基于区块链的数据共享方法,其特征在于,当前节点为访问树T的叶子节点的情况下,设该叶子节点的编号为y,设置
Figure QLYQS_12
=j j为该叶子节点的属性,如果jS,属性验证分析公式为:
Figure QLYQS_13
,其中,/>
Figure QLYQS_14
表示为该叶子节点的属性验证结果,/>
Figure QLYQS_15
表示为属性密钥ζ的其中一个片段,/>
Figure QLYQS_16
表示为属性密钥ζ的另一个片段,/>
Figure QLYQS_17
表示为该叶子节点的秘密值,m表示为域Z p 上的随机数;
如果
Figure QLYQS_18
,属性验证分析公式为:
Figure QLYQS_19
,其中,/>
Figure QLYQS_20
表示为空。
6.根据权利要求5所述的基于区块链的数据共享方法,其特征在于,当前节点为访问树T的非叶子节点的情况下,属性验证分析公式为:
Figure QLYQS_21
其中,
Figure QLYQS_22
表示为任意K x 个非根节点的节点集,F z 表示为该非叶子节点x的子节点z的属性验证结果, />
Figure QLYQS_23
表示为该非叶子节点x的秘密值,/>
Figure QLYQS_24
表示为拉格朗日系数。
CN202310257598.1A 2023-03-17 2023-03-17 一种基于区块链的数据共享方法 Active CN115982746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310257598.1A CN115982746B (zh) 2023-03-17 2023-03-17 一种基于区块链的数据共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310257598.1A CN115982746B (zh) 2023-03-17 2023-03-17 一种基于区块链的数据共享方法

Publications (2)

Publication Number Publication Date
CN115982746A CN115982746A (zh) 2023-04-18
CN115982746B true CN115982746B (zh) 2023-06-27

Family

ID=85964706

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310257598.1A Active CN115982746B (zh) 2023-03-17 2023-03-17 一种基于区块链的数据共享方法

Country Status (1)

Country Link
CN (1) CN115982746B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226926B (zh) * 2023-05-08 2023-08-22 东信和平科技股份有限公司 一种基于区块链的数据安全交互方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197769A1 (zh) * 2015-06-12 2016-12-15 深圳大学 一种基于表格属性的云存储密文访问控制***
CN109040045A (zh) * 2018-07-25 2018-12-18 广东工业大学 一种基于密文策略属性基加密的云存储访问控制方法
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和***
CN112804064A (zh) * 2021-01-26 2021-05-14 西安邮电大学 基于区块链的属性加密访问控制***及方法
CN113065107A (zh) * 2021-04-07 2021-07-02 福建师范大学 一种基于区块链的cp-abe云数据安全共享方案
CN114065265A (zh) * 2021-11-29 2022-02-18 重庆邮电大学 基于区块链技术的细粒度云存储访问控制方法、***及设备
CN114900290A (zh) * 2022-03-07 2022-08-12 南京信息工程大学 一种基于区块链的数据交易模型和隐私保护方法
CN115296817A (zh) * 2022-08-03 2022-11-04 北京航空航天大学 基于区块链技术和属性加密的数据访问控制方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016197769A1 (zh) * 2015-06-12 2016-12-15 深圳大学 一种基于表格属性的云存储密文访问控制***
CN109040045A (zh) * 2018-07-25 2018-12-18 广东工业大学 一种基于密文策略属性基加密的云存储访问控制方法
CN111914269A (zh) * 2020-07-07 2020-11-10 华中科技大学 一种区块链和云存储环境下的数据安全共享方法和***
CN112804064A (zh) * 2021-01-26 2021-05-14 西安邮电大学 基于区块链的属性加密访问控制***及方法
CN113065107A (zh) * 2021-04-07 2021-07-02 福建师范大学 一种基于区块链的cp-abe云数据安全共享方案
CN114065265A (zh) * 2021-11-29 2022-02-18 重庆邮电大学 基于区块链技术的细粒度云存储访问控制方法、***及设备
CN114900290A (zh) * 2022-03-07 2022-08-12 南京信息工程大学 一种基于区块链的数据交易模型和隐私保护方法
CN115296817A (zh) * 2022-08-03 2022-11-04 北京航空航天大学 基于区块链技术和属性加密的数据访问控制方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BDSS-FA: A Blockchain-Based Data Security Sharing Platform With Fine-Grained Access Control;Hong Xu 等;IEEE Access;第8卷;全文 *
Security-Aware and Privacy-Preserving Personal Health Record Sharing Using Consortium Blockchain;Yong Wang 等;IEEE Internet of Things Journal;第9卷(第14期);全文 *
基于IPFS的区块链数据共享架构设计与实现;郭昊;中国优秀硕士学位论文全文数据库 信息科技辑((2023)02);I138-1026 *
基于区块链的云存储加密数据共享方案;梁艳丽;凌捷;;计算机工程与应用(17);全文 *

Also Published As

Publication number Publication date
CN115982746A (zh) 2023-04-18

Similar Documents

Publication Publication Date Title
CN110493347B (zh) 基于区块链的大规模云存储中数据访问控制方法及***
Zhang et al. Ensuring attribute privacy protection and fast decryption for outsourced data security in mobile cloud computing
Han et al. Improving privacy and security in decentralized ciphertext-policy attribute-based encryption
US20190305938A1 (en) Threshold secret share authentication proof and secure blockchain voting with hardware security modules
Zhu et al. TBAC: Transaction-based access control on blockchain for resource sharing with cryptographically decentralized authorization
Guo et al. Paas: A privacy-preserving attribute-based authentication system for ehealth networks
Ateniese et al. Secret handshakes with dynamic and fuzzy matching.
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
CN112019591A (zh) 一种基于区块链的云数据共享方法
Xu et al. Decentralized attribute-based conjunctive keyword search scheme with online/offline encryption and outsource decryption for cloud computing
CN112106322A (zh) 基于密码的阈值令牌生成
CN105721158A (zh) 云安全隐私性和完整性保护方法和***
Wang et al. A pre-authentication approach to proxy re-encryption in big data context
Zhao et al. Are you the one to share? Secret transfer with access structure
CN110086615A (zh) 一种媒介混淆的分布式多授权方密文策略属性基加密方法
Baseri et al. Privacy preserving fine-grained location-based access control for mobile cloud
Liu et al. A fair data access control towards rational users in cloud storage
CN115982746B (zh) 一种基于区块链的数据共享方法
Lai et al. Privacy-enhanced attribute-based private information retrieval
Zhang et al. A blockchain-based anonymous attribute-based searchable encryption scheme for data sharing
Wang et al. Permissioned blockchain-based secure and privacy-preserving data sharing protocol
Peng et al. A Secure Signcryption Scheme for Electronic Health Records Sharing in Blockchain.
CN111447058B (zh) 基于中国剩余定理的图书资源访问控制方法
Xu et al. Decentralized and expressive data publish-subscribe scheme in cloud based on attribute-based keyword search
Gunupudi et al. Generalized non-interactive oblivious transfer using count-limited objects with applications to secure mobile agents

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