CN115567247B - 一种去中心化的多权威隐私保护数据访问控制方法及系统 - Google Patents

一种去中心化的多权威隐私保护数据访问控制方法及系统 Download PDF

Info

Publication number
CN115567247B
CN115567247B CN202211054753.1A CN202211054753A CN115567247B CN 115567247 B CN115567247 B CN 115567247B CN 202211054753 A CN202211054753 A CN 202211054753A CN 115567247 B CN115567247 B CN 115567247B
Authority
CN
China
Prior art keywords
attribute
participant
node
key
encrypted
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
CN202211054753.1A
Other languages
English (en)
Other versions
CN115567247A (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.)
Pingdingshan Shuosi Technology Service Co.,Ltd.
Original Assignee
Xidian University
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 Xidian University filed Critical Xidian University
Priority to CN202211054753.1A priority Critical patent/CN115567247B/zh
Publication of CN115567247A publication Critical patent/CN115567247A/zh
Application granted granted Critical
Publication of CN115567247B publication Critical patent/CN115567247B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0807Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了去中心化的多权威隐私保护数据访问控制方法及系统,方法包括:中心节点生成公共参数和多个节点的主密钥分片;节点生成自身私钥和公钥;第一参与者得到加密密钥、待共享消息密文的加密地址,生成待共享消息的访问属性密文并发送至节点;当节点得到的访问属性与自身属性集合匹配时生成随机参数;第一参与者得到随机参数,根据随机参数得到访问属性向量;第二参与者将待访问信息标识发送至节点;节点生成第二参与者的授权向量,根据授权向量和访问属性向量分析出第二参与者可以访问时,生成密钥分片;节点获取消息密文的存储地址,根据地址生成签名令牌;第二参与者通过签名令牌获得待共享消息密文,基于密钥分片解密待共享消息密文。

Description

一种去中心化的多权威隐私保护数据访问控制方法及系统
技术领域
本发明属于用户外包数据的隐私保护访问控制技术领域,具体涉及一种去中心化的多权威隐私保护数据访问控制方法及系统。
背景技术
随着区块链技术的出现和发展,一些基于区块链的访问控制方案被提出,以解决传统CP-ABE方案单点故障的问题,同时应对一些实际应用需求。现有技术中已存在一些相关技术方案,例如,A lightweight blockchain-based access control scheme for theinternet of things方案(以下简称LBAC方案),LBAC方案利用区块链技术实现了一个解密外包密文策略属性基加密(Ciphertext-Policy Attribute based Encryption,CP-ABE)访问控制方案,利用区块链避免集中式服务器单点故障问题,由区块链智能合约执行外包的解密计算从而降低用户端的解密开销,然而该方案仍存在多个负责主密钥、属性和属性令牌生成的集中式服务器,不能完全避免单点故障问题。又例如,A Trustworthy SecureCiphertext-Policy and Attribute Hiding Access Control Scheme Based onBlockchain方案(以下简称TrustAccess方案),TrustAccess方案实现了一个完全去中心化的策略隐藏访问控制方案,然而该方案需要DP(数据提供者)为每一个数据请求者生成解密密钥,给用户端带来了很大的计算开销。此外,该方案的安全模型中假设包括用户在内的所有节点都是半可信的,这种假设与实际应用场景不符。又例如,Ba等人基于布鲁姆过滤器技术提出了一种基于区块链的部分策略隐藏CP-ABE方案,但该方案未能利用区块链的分布式特性避免单点故障问题。又例如,为实现多权威CP-ABE,Banerjee等人提出一个工业互联网环境下基于区块链的细粒度访问控制方案,支持多属性权威和恒定的密文和密钥大小,然而该方案中区块链只负责存储密文,未能解决集中式服务器单点故障的问题。又例如,Yin等人设计了一个基于区块链的多权威CP-ABE方案,由各个区块链节点通过门限秘密共享分割主密钥并生成解密密钥分片,避免了单点故障的问题,然而该方案直接将消息密文用CP-ABE加密后将密文上传到区块链,在消息数据量很大的场景下将给系统带来繁重的负担。同样的,Zhang等人也通过门限秘密共享实现了基于区块链的个人健康记录共享方案,但该方案中上传到区块链的访问策略未作隐私保护,很容易被恶意用户查询并构造出策略匹配的属性集进行访问。
总之,现有技术具有如下缺点:
a)现有的访问控制方案大都将访问控制管理外包给云服务器,这些半可信的云服务器和不可信的服务提供商很可能将用户的隐私数据泄露给其他未授权的实体以获得更大的利益。另一方面,这些集中式的服务器易遭到攻击,存在用户数据泄露和单点故障的问题。
b)现有相关研究通过引入分布式的区块链来解决单点故障问题,但区块链只替代了部分集中式的服务提供商,仍需要可信的集中式属性权威执行大量计算,不能完全克服单点故障问题。
c)区块链的透明性会使得上链数据被完全公开,现有面向区块链的链上数据隐私保护方案仍存在计算开销大、安全假设强等问题。
d)目前尚无实现避免单点故障、数据隐私保护和优化用户端计算开销一体式数据访问控制方案。
发明内容
为了解决相关技术中存在的上述问题,本发明提供了一种去中心化的多权威隐私保护数据访问控制方法及系统。本发明要解决的技术问题通过以下技术方案实现:
本发明提供一种去中心化的多权威隐私保护数据访问控制方法,包括:
区块链中心节点生成公共参数和主密钥,根据所述主密钥生成多个节点各自的主密钥分片,并发送至对应节点,将所述公共参数共享,为第一参与者和第二参与者分别生成用户公钥和用户私钥,将所述用户私钥发送至对应的参与者,并将所述用户公钥共享;所述多个节点中包含属性授权节点,所述属性授权节点用于管理不同属性集;每个属性集包括至少一种属性类别,每个属性类别包括至少一个属性子类;
每个属性授权节点生成第一节点私钥和第一节点公钥,将所述第一节点公钥共享,所述属性授权节点为第一参与者和第二参与者生成加密授权属性,并将所述加密授权属性共享;
所述第一参与者生成密钥,基于所述密钥和所述公共参数得到加密的密钥、加密的待共享消息的加密的存储地址,将加密的存储地址和加密的密钥共享;对所述待共享消息的预设访问策略中的访问属性加密,将携带加密的访问属性的加密参数请求发送至所述属性授权节点;
每个属性授权节点根据所述加密参数请求得到所述访问属性,当所述访问属性与自身管理的属性集匹配时生成加密的随机参数,将加密的随机参数共享;
所述第一参与者通过解密所述加密的随机参数,得到所述随机参数,根据所述随机参数得到策略向量,并将所述策略向量共享;
所述第二参与者获取待访问信息标识,生成携带所述待访问信息标识的访问请求,并将所述访问请求发送至目标节点;
所述目标节点根据所述第二参与者的加密授权属性生成授权向量,根据所述授权向量和所述待访问信息标识的策略向量进行分析,将分析结果发送至所述第二参与者,当所述分析结果表征所述第二参与者满足所述待访问信息的预设访问策略时,根据所述主密钥分片生成解密密钥分片并发送至所述第二参与者;
每个节点获取所述待访问信息标识对应的加密的地址并解密,解密成功的节点得到所述待访问信息标识对应的存储地址,根据所述存储地址生成签名的令牌并发送至所述第二参与者;
所述第二参与者通过所述签名的令牌获取所述待访问信息的加密的待共享消息,当接收到预设数量的所述解密密钥分片时,基于所述解密密钥分片和所述待访问信息的加密的待共享消息,得到所述待访问信息。
本发明提供一种去中心化的多权威隐私保护数据访问控制系统,包括:
区块链中心节点,用于生成公共参数和主密钥,根据所述主密钥生成多个节点各自的主密钥分片,并发送至对应节点,将所述公共参数共享,为第一参与者和第二参与者分别生成用户公钥和用户私钥,将所述用户私钥发送至对应的参与者,并将所述用户公钥共享;所述多个节点中包含属性授权节点,所述属性授权节点用于管理不同属性集;每个属性集包括至少一种属性类别,每个属性类别包括至少一个属性子类;
每个属性授权节点,用于生成第一节点私钥和第一节点公钥,将所述第一节点公钥共享;为第一参与者和第二参与者生成加密授权属性,并将所述加密授权属性共享;
所述第一参与者,用于生成密钥,基于所述密钥和所述公共参数得到加密的密钥、加密的待共享消息的加密的存储地址,将加密的存储地址和加密的密钥共享;对所述待共享消息的预设访问策略中的访问属性加密,将携带加密的访问属性的加密参数请求发送至所述属性授权节点;
每个属性授权节点,用于根据所述加密参数请求得到所述访问属性,当所述访问属性与自身管理的属性集匹配时生成加密的随机参数,将加密的随机参数共享;
所述第一参与者,还用于通过解密所述加密的随机参数,得到所述随机参数,根据所述随机参数得到策略向量,并将所述策略向量共享;
所述第二参与者获取待访问信息标识,生成携带所述待访问信息标识的访问请求,并将所述访问请求发送至目标节点;
所述目标节点,还用于根据所述第二参与者的加密授权属性生成授权向量,根据所述授权向量和所述待访问信息标识的策略向量进行分析,将分析结果发送至所述第二参与者,当分析结果表征所述第二参与者满足所述待访问信息的预设访问策略时,根据所述主密钥分片生成解密密钥分片并发送至所述第二参与者;
每个节点,还用于获取所述待访问信息标识对应的加密的地址并解密,解密成功的节点得到所述待访问信息标识对应的存储地址,根据所述存储地址生成签名的令牌并发送至所述第二参与者;
所述第二参与者,还用于通过所述签名的令牌获取所述待访问信息的加密的待共享消息,当接收到预设数量的所述解密密钥分片时,基于所述解密密钥分片和所述待访问信息的加密的待共享消息,得到所述待访问信息。
本发明具有如下有益技术效果:
本发明为了减轻数据访问控制生命周期内用户端(系统的参与者)的解密开销,将CP-ABE中数据请求者(DR)解密密文前,对属性集与密文策略进行匹配的测试部分剥离出来,外包给区块链进行隐私保护的属性匹配,减轻了DR的解密开销,同时,可以减少用户属性与策略不匹配时用户端的额外解密计算;以及,利用区块链的分布式特性,各区块链节点通过门限秘密共享协议协作生成用户的解密密钥,从而消除可信的集中式属性权威,避免单点故障问题,克服了传统基于云服务器的访问控制方案易受单点故障、实际建立信任成本高的缺点,实现了CP-ABE属性匹配的外包,从而降低了用户端的计算开销,同时解决了引入区块链后新产生的问题,即区块链透明性与用户隐私保护需求不兼容的问题。因此,本发明提高了访问控制系统的隐私性和安全性,提升了访问控制系统的可信性和实用性。
以下将结合附图及实施例对本发明做进一步详细说明。
附图说明
图1为本发明实施例提供的去中心化的多权威隐私保护数据访问控制方法的一个流程图;
图2为本发明实施例提供的基于区块链的多权威属性授权和隐藏的流程图;
图3为本发明实施例提供的分布式密钥分发与重构的流程图;
图4为本发明实施例提供的去中心化的多权威隐私保护数据访问控制系统的框图;
图5为本发明实施例提供的去中心化的多权威隐私保护数据访问控制系统的工作流程图;
图6是本发明实施例提供的区块链移动众包平台的工作流程图;
图7是本发明实施例提供的医疗数据共享平台的工作流程图。
具体实施方式
下面结合具体实施例对本发明做进一步详细的描述,但本发明的实施方式不限于此。
在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。此外,本领域的技术人员可以将本说明书中描述的不同实施例或示例进行接合和组合。
如图1所示,去中心化的多权威隐私保护数据访问控制方法包括:
S101、区块链中心节点生成公共参数和主密钥,根据主密钥生成多个节点各自的主密钥分片,并发送至对应节点,将公共参数共享,为第一参与者和第二参与者分别生成用户公钥和用户私钥,将用户私钥发送至对应的参与者,并将用户公钥共享;多个节点中包含属性授权节点,属性授权节点用于管理不同属性集;每个属性集包括至少一种属性类别,每个属性类别包括至少一个属性子类。
本发明实施例中,这多个节点可以为n个区块链节点,这n个节点由区块链中心节点管理,这n个节点中具有属性授权功能的节点为属性授权节点。例如,这n个区块链节点为n个区块链背书节点,且部分节点同时为属性授权节点。
本发明实施例中,区块链中心节点将主密钥对应分割为n个主密钥分片,并将n个主密钥分片对应发送至这n个节点。
本发明实施例中,属性类别可以为任意的属性种类,例如,属性种类可以为“学历”,则该属性类别中的属性子类可以包括“博士研究生、硕士研究生、本科生、高中生”等等。
本发明实施例中,每个节点可以将第一节点公钥上传至区块链账本中,实现数据共享。
本发明实施例中,区块链中心节点接收到一个参与者发送的、包含该参与者的标识的系统注册请求时,便根据该请求为该参与者生成一个用户私钥和一个用户公钥。
在一些实施例中,可以采用下述方法生成主密钥和公共参数:
区块链认证中心节点(上述的区块链中心节点)输入安全参数λ至群生成器g(lλ)中,得到多个群,从中选择阶为素数p、q和r的群,对应得到的群为Gp、Gq和Gr,令G=GP×Gq×Gr,且G是阶为N=p*q*r的合数阶循环群。选择gp为Gp的生成元,随机选择ω∈Zn,R0∈Gr,Zn表示正整数集合;分别计算公共参数PKABE和主密钥MSKABE,其中公共参数为 主密钥为MSKABE={gp,ω}。
在一些实施例中,可采用以下方法计算n个节点的主密钥分片:
1)为每个区块链节点BNi选择随机数作为标识符,将bi上传至区块链账本,表示所有正整数。
2)随机选择一个n-1阶多项式:f(x)=ω+a1x+…+an-1xn-1,将每个区块链节点对应的bi带入f(x),计算出对应一个主密钥分片 将ωi分享给n个节点中的每一个对应的区块链节点;其中,ω为计算公共参数时获得的,a1,...,an-1为n个已知系数,x表示多项式中的未知数。
这里,不同于以往使用素数阶循环群的CP-ABE方法,本方法通过选取合数阶循环群,借助合数阶循环群对有/> 的性质,能给本方法改进的CP-ABE中数据隐藏和隐私保护的部分带来更多的可操作性。
S102、每个属性授权节点生成第一节点私钥和第一节点公钥,将第一节点公钥共享,属性授权节点为第一参与者和第二参与者生成加密授权属性,并将加密授权属性共享。
本发明实施例中,n个节点中的每个节点具有一个公钥和一个私钥(称为第二公钥、第二私钥),其中,每个节点的第一公钥是存储在区块链账本中的;这n个节点中的属性授权节点还会额外生成一个公钥和一个私钥(称为第一公钥、第一私钥)。
本发明实施例中,这n个节点中的每个属性授权节点可以根据变色龙哈希密钥生成函数,额外为自身生成一个变色龙哈希私钥和一个变色龙哈希公钥,并将自身的变色龙哈希公钥上传至自身对应的区块链账本中;这n个节点中的属性授权节点还可以在接收到每个参与者发送的、包含参与者自身的标识的属性授权请求时,根据自身对应的属性集,为该参与者生成加密的授权属性,并将加密授权属性和对应的参与者的标识,上传至自身对应的区块链账本中。
例如,每个属性授权节点可以根据参与者的用户标识,从自身管理的属性集中查询出参与者对应的属性,从而得到该参与者的授权属性,并通过加密该授权属性,得到参与者的加密的授权属性。
S103、第一参与者生成密钥,基于密钥和公共参数得到加密的密钥、加密的待共享消息的加密的存储地址,将加密的存储地址和加密的密钥共享;对待共享消息的预设访问策略中的访问属性加密,将携带加密的访问属性的加密参数请求发送至属性授权节点。
本发明实施例中,在第一参与者需要上传自身的待共享消息时,从区块链账本中获取公共参数,并从自身对应的多个密钥中选取密钥,并对密钥加密得到加密的密钥,以及,基于密钥和公共参数得到加密的待共享消息的加密的存储地址,并将加密的存储地址和加密的密钥上传至区块链账本中。
这里,存储地址为第三方服务器(例如,云服务器)对应的存储地址,加密的待共享消息存储在第三方服务器中。
本发明实施例中,第一参与者可以预先为需要上传的待共享消息生成预设访问策略,该预设访问策略由访问属性和访问属性之间的关系(例如,“和”、“或”,等等)组成,用于表征该待共享消息的访问条件。
S104、每个属性授权节点根据加密参数请求得到访问属性,当访问属性与自身管理的属性集匹配时生成加密的随机参数,将加密的随机参数共享。
本发明实施例中,每个属性授权节点可以从加密参数请求中获取加密的访问属性,并对加密的访问属性进行解密,得到对应的访问属性;之后,当判断该访问属性与自身对应管理的属性集中的属性匹配时,生成随机参数,并对随机参数进行加密处理,得到加密的随机参数,将加密的随机参数发送至区块链账本上,实现共享。
S105、第一参与者通过解密加密的随机参数,得到随机参数,根据随机参数得到策略向量,并将策略向量共享。
本发明实施例中,第一参与者通过查询区块链账本,得到加密的随机参数,并对加密的随机参数进行解密,得到随机参数,并根据随机参数生成策略向量,并将策略向量发送至自身对应的区块链账本上进行共享。
S106、第二参与者获取待访问信息标识,生成携带待访问信息标识的访问请求,并将访问请求发送至目标节点。
本发明实施例中,第二参与者在获取到待访问信息标识时,还可以从区块链账本中获取各个节点的标识和功能,根据各个节点的标识和功能,选择预设数量个具有主密钥分片的节点,并根据待访问信息标识和自身的用户标识,生成访问请求,将所述访问请求分别发送至这预设数量的节点中的每个节点;这预设数量个具有主密钥分片的节点为目标节点。
这里,预设数量可以根据实际需要设定,例如,可以为5,也可以为其他数值,对此不作限定。
本发明实施例中,区块链账本上存储有所有已上传的待共享消息的标识,每个标识是对应的已上传的待共享消息的描述信息,例如,该标识可以描述对应的已上传的待共享消息的作用或所属的数据类别等等。
本发明实施例中,第二参与者可以从区块链账本上查询自己感兴趣的信息的标识,从而得到待访问信息标识,并根据待访问信息标识和自身的用户标识,生成访问请求,并将访问请求发送至目标节点。
S107、目标节点根据第二参与者的加密授权属性生成授权向量,根据授权向量和待访问信息标识的策略向量进行分析,将分析结果发送至参与者,当分析结果表征第二参与者满足待访问信息的预设访问策略时,根据主密钥分片生成解密密钥分片并发送至第二参与者。
本发明实施例中,每个目标节点在接收到第二参与者的访问请求时,根据第二参与者的用户标识从自身对应的区块链账本中获取第二参与者对应的所有加密授权属性,以及获取待访问信息标识对应的预设访问策略中的访问属性的向量(称为策略向量);接着,根据第二参与者的所有加密授权属性生成授权向量,对策略向量与授权向量进行分析,在得到用于表征该策略向量与授权向量匹配的分析结果,根据自身的主密钥分片生成解密密钥分片,将解密密钥分片发送至第二参与者。
S108、每个节点获取待访问信息标识对应的加密的地址并解密,解密成功的节点得到待访问信息标识对应的存储地址,根据存储地址生成签名的令牌并发送至第二参与者。
本发明实施例中,对于n个节点中的每个节点,可以从自身对应的区块链账本上根据待访问信息标识获取对应的加密的地址,该加密的地址是待访问信息的存储地址的密文;n个节点中的每个节点各自对该存储地址密文进行解密,解密成功的节点便得到了待访问信息标识对应的存储地址,从而根据存储地址生成包含存储地址的令牌,在对令牌进行签名处理后,得到包含签名的令牌,并发送至第二参与者。
S109、第二参与者通过签名的令牌获取待访问信息的加密的待共享消息,当接收到预设数量的解密密钥分片时,基于解密密钥分片和待访问信息的加密的待共享消息,得到待访问信息。
本发明实施例中,第二参与者一方面在接收到签名的令牌时,便通过前面的令牌从第三方服务器处获取待访问信息的加密的待共享消息,另一方面,在接收到预设数量的解密密钥分片时,便基于解密密钥分片对待访问信息的加密的待共享消息进行解密,并在解密成功时得到待访问信息。
本发明为了减轻数据访问控制生命周期内用户端(系统的参与者)的解密开销,将CP-ABE中数据请求者(DR)解密密文前,对属性集与密文策略进行匹配的测试部分剥离出来,外包给区块链进行隐私保护的属性匹配,减轻了DR的解密开销,同时,可以减少用户属性与策略不匹配时用户端的额外解密计算;本发明利用区块链的分布式特性,各区块链节点通过门限秘密共享协议协作生成用户的解密密钥,从而消除可信的集中式属性权威,避免单点故障问题,克服了传统基于云服务器的访问控制方案易受单点故障、实际建立信任成本高的缺点,实现了CP-ABE属性匹配的外包,从而降低了用户端的计算开销,同时解决了引入区块链后新产生的问题,即区块链透明性与用户隐私保护需求不兼容的问题;本发明提高了访问控制系统的隐私性和安全性,提升了访问控制系统的可信性和实用性。
在一些实施例中,上述S101中的为第一参与者和第二参与者分别生成用户公钥和用户私钥,将用户私钥发送至对应的参与者,可以通过S1011~S1015实现:
S1011、在接收到第一参与者或第二参与者发送的系统注册请求时,生成第一参与者的第一用户私钥或第二参与者的第二用户私钥。
这里,第一用户私钥或第二用户私钥可以为两个不同的随机数。
S1012、根据安全参数和参数生成算法,生成第一阶数的循环群的第一子阶数的子群。
这里,安全参数为λ、参数生成算法为群生成器g(lλ)。
S1013、根据第一子阶数的子群,得到第一子阶数的子群的群生成元。
第一子阶数的子群为Gp,对应的群生成元为gp
S1014、根据第一用户私钥和群生成元,生成第一参与者的第一用户公钥。
S1015、根据第二用户私钥和群生成元,生成第二参与者的第二用户公钥。
示例性的,可以采用下述公式计算每个参与者的用户公钥和用户私钥其中,ok为随机生成的数值,gp为第一子阶数的子群的群生成元。
在一些实施例中,上述S102中的为第一参与者和第二参与者生成加密授权属性,可以通过S1021~S1022实现:
S1021、在属性授权节点接收到第一参与者的第一属性授权请求或第二参与者的第二属性授权请求时,每个属性授权节点根据自身管理的属性集,为第一参与者或第二参与者生成授权属性。
S1022、根据授权属性和原始随机值,采用哈希生成算法,生成第一参与者或第二参与者的加密授权属性。
示例性的,可以随机生成一个原始随机值r,并获取节点公钥pkCH,i,采用哈希生成算法,对r、pkCH,i和Ai,j进行计算,得到哈希值CHAi,j,r,即得到了加密授权属性。
在一些实施例中,上述S103可以通过S1031~S1036实现:
S1031、第一参与者随机选择对称密钥。
S1032、采用对称密钥和公共参数加密对称密钥,将加密的密钥共享。
这里,可以采用消息加密算法加密对称密钥,且消息加密算法的原理如下:先选择随机数然后分别计算/> 最后输出对称密钥的密文/>其中,ZN表示正整数集合。
S1033、采用对称密钥加密待共享消息,将加密的待共享消息上传至第三方服务器,得到加密的待共享消息的存储地址。
S1034、获取任一节点的第二节点公钥,并采用获取的第二节点公钥对加密的待共享消息的存储地址加密,将加密的存储地址共享。
S1035、根据各个访问属性,获取对应的属性授权节点的第一节点公钥,采用获取的第一节点公钥对对应的访问属性加密。
S1036、将携带加密的访问属性的加密参数请求发送至对应的属性授权节点。
这里,第一参与者可以从区块链账本中查询每个属性授权节点管理的属性集,根据每个属性授权节点管理的属性集,确定出待共享消息的预设访问策略中包含的每个访问属性对应的属性授权节点,并从区块链账本中获取每个访问属性对应的属性授权节点的第一节点公钥,采用获取的第一节点公钥加密对应的访问属性,并将加密的访问属性发送至第一节点公钥所属的属性授权节点。
在一些实施例中,上述S104中的每个属性授权节点根据加密参数请求得到访问属性,当访问属性与自身管理的属性集匹配时生成加密的随机参数,可以通过S1041~S1044实现:
S1041、每个属性授权节点采用自身的第一节点公钥,对加密参数请求中的加密的访问属性解密,并在解密成功时得到访问属性。
S1042、判断预设访问策略对应的访问属性与自身管理的属性集中的属性匹配时,生成随机属性参数和随机值。
这里,当判断到预设访问策略对应的访问属性与自身管理的属性集中的属性匹配时,可以随机生成一个值作为更新的属性,并采用哈希碰撞生成算法,计算原属性Ai,j、原随机数r,更新的属性A′i,j和变色龙哈希的私钥skCH,i(第一节点私钥),输出满足的随机数r′,A′i,j为随机属性参数,r′为随机值。
这里,原属性Ai,j为该第一参与者的授权属性,原随机数r为加密该授权属性时所用到的原始随机数。
S1043、获取第一参与者的用户公钥,并采用用户公钥加密随机属性参数。
S1044、将随机值和加密的随机属性参数,作为生成的加密的随机参数。
在一些实施例中,上述S106中的第一参与者通过解密加密的随机参数,得到随机参数,根据随机参数得到策略向量,可以通过S1061~S1064实现:
S1061、第一参与者获取加密的随机参数。
S1062、采用自身的用户私钥解密加密的随机参数,得到随机属性参数和随机值。
S1063、根据待共享消息的预设访问策略中的访问属性、随机属性参数和随机值,采用哈希生成算法,得到加密的访问属性。
这里,可以采用哈希生成算法对访问属性、与访问属性对应的随机属性参数A′i,j和随机值r′进行计算,得到访问属性的哈希值。
S1064、将加密的访问属性转化为策略向量。
这里,在存在多个加密的访问属性时,可以根据预设访问策略中各个访问属性之间的关系,将这多个加密的访问属性,并将拼接后的向量采用访问策略转化算法,转化为策略向量,访问策略转化算法的原理如下:
第一参与者为待共享消息m定义预设访问策略后,先将预设访问策略/>根据公式(1)和(2)转换成多项式形式,再根据多项式系数进一步转换成一个具有(a+1)b个元素的向量/>
I1∪I2:p(x1,x2)=(x1-I1)·(x2-I2) (1)
I1∩I2:p(x1,x2)=(x1-I1)+r(x2-I2),r∈ZN (2)
其中,I表示谓词,多项式p(x1,x2)对应表示I1、I2之间的交(符号为∩)、并(符号为∪)关系,x1,x2表示不同的属性,r表示随机数,a表示属性类别的个数,b表示每个属性类别下的属性子类的个数(即每个属性类别中包含的属性的个数)。
以预设访问策略为例,访问策略转化算法先将预设访问策略根据公式(1)和(2)转换成多项式形式: 根据多项式系数将访问策略转换为一个8元素的向量/> 并输出策略向量/>
在一些实施例中,上述S107中,每个目标节点可以采用属性转化算法,将第二参与者的加密授权属性,转化为授权向量。属性转化算法如下:
例如,以属性集为例,可以转换为一个8元素的授权向量/>输出授权向量/>这里,属性转化算法与访问策略转化算法的原理相同。
在一些实施例中,上述S107中的根据授权向量和待访问信息标识的策略向量进行分析,可以通过以下方法实现:计算授权向量与待访问信息标识的策略向量之间的向量内积;在向量内积为零时,得到表征第二参与者满足待访问信息的预设访问策略的分析结果。
这里,区块链各节点调用链码执行属性外包匹配算法,输入授权向量和策略向量/>当且仅当/>时,第二参与者的授权属性满足消息的访问策略,则该属性外包匹配算法输出1,若不满足则输出⊥。
在一些实施例中,上述S108中的根据主密钥分片生成解密密钥分片并发送至第二参与者,可以通过以下方法实现:每个目标节点根据自身的主密钥分片、第二参与者的用户私钥和待访问信息标识对应的加密的待共享消息,生成待访问信息的解密密钥分片,将解密密钥分片发送至第二参与者。
这里,每个目标节点采用解密密钥生成算法,生成解密密钥分片Du,i,解密密钥生成算法原理如公式(3):
其中,为第二参与者的用户公钥、/>和f(bi)均表示目标节点自身的主密钥分片、s表示随机值、ok为第二参与者的用户私钥、C0=gp s
在一些实施例中,上述S108中的每个节点获取待访问信息标识对应的加密的地址并解密,解密成功的节点得到待访问信息标识对应的存储地址,根据存储地址生成签名的令牌并发送至第二参与者,可以通过以下方法实现:每个节点获取待访问信息的加密的存储地址;采用自身的第二节点私钥解密待访问信息的加密的存储地址,解密成功的节点将待访问信息的存储地址嵌入数据访问令牌;对数据访问令牌签名后,得到签名的令牌,并将签名的令牌发送至第二参与者。
这里,解密成功的节点可以采用自身的第二节点公钥对数据访问令牌签名,得到签名的令牌。
在一些实施例中,上述S109可以通过以下方法实现:第二参与者通过签名的令牌,从第三方服务器处获取待访问信息的加密的待共享消息;第二参与者在接收到预设数量的解密密钥分片时,根据解密密钥分片重构出解密密钥;获取待访问信息的加密的密钥;采用解密密钥对加密的密钥进行解密,得到用于加密待访问信息的对称密钥;在接收到第三方服务器返回的待访问信息的加密的待共享消息时,使用待访问信息的对称密钥,对待访问信息的加密的待共享消息解密,得到待访问信息。
这里,第二参与者可以根据得到的解密密钥分片,借助拉格朗日插值公式重构解密密钥Du,Du的公式如下:/>
其中,s表示随机数、f(bi)表示任意一个解密密钥分片、ok表示第二参与者的用户私钥;对于拉格朗日插值公式,xi、xj对应表示拥有主密钥分片的不同区块链节点bi和bj,例如,当n=3,i=1时,i可以取2、3,则 当n=3,j=2时,i可以取1、3,则
这里,第二参与者可以根据以下公式(5),对加密的待共享消息进行解密,得到待访问信息(待共享消息)msg:
其中,根据乘法循环群性质以及合数阶双线性映射性质:/>则可以解密得到待访问信息msg。
以下通过两个示例图,对上述的部分方法步骤进行联合说明:
图2为基于区块链的多权威属性授权和隐藏(加密)的流程示意图,如图2所示,为保证属性外包匹配时,数据提供者DPm与区块链节点对相同属性的哈希结果一致,同时避免恶意用户对哈希值执行碰撞攻击,对于访问策略中的各个访问属性,DPm首先用属性相关的背书节点BNi的第一公钥加密待哈希的属性,如:Ai,j,并向区块链发送加密参数请求交易,交易调用BNi的链码对自身负责的属性密文进行解密,判断属性是否由自身管辖,若在管辖范围内,则生成一个随机数A′i,j并调用模块L中的哈希碰撞生成算法得到满足的r′。随后将A′i,j用DPm的公钥加密,得到/>并与哈希碰撞生成算法输出的r′一同上传到区块链帐本SC中。DPm通过加密参数查询交易在区块链账本查询BNi返回的/>(A′i,j),用私钥解密后,将A′i,j,r′和对应的第一公钥作为输入参数调用哈希生成算法,得到与相应区块链节点对相同属性进行哈希运算相同的值
图3为分布式密钥分发与重构的流程示意图,如图3所示,第一步,认证中心节点通过系统初始化,得到公共参数和主密钥,并得到主密钥分片,将公共参数共享至n个背书节点,以及将各个主密钥分片对应发送至n个背书节点;数据请求者向背书节点发送请求访问交易;第二步,各个背书节点验证数据请求者的属性是否匹配,若匹配,则进入第三步,对应生成n个解密密钥分片D1,...,Dn,并发送至数据请求者,数据请求者根据解密密钥分片{Di}i∈{1,n}重构出密钥Du,并采用密钥Du解密得到的消息密文,得到明文消息msg。
本发明还提供一种去中心化的多权威隐私保护数据访问控制系统,该系统包括:区块链中心节点、多个节点(其中包括属性授权节点)、第一参与者(数据提供者)和第二参与者(数据请求者)。
区块链中心节点,用于生成公共参数和主密钥,根据主密钥生成多个节点各自的主密钥分片,并发送至对应节点,将公共参数共享,为第一参与者和第二参与者分别生成用户公钥和用户私钥,将用户私钥发送至对应的参与者,并将用户公钥共享;多个节点中包含属性授权节点,属性授权节点用于管理不同属性集;每个属性集包括至少一种属性类别,每个属性类别包括至少一个属性子类;
每个属性授权节点,用于生成第一节点私钥和第一节点公钥,将第一节点公钥共享;为第一参与者和第二参与者生成加密授权属性,并将加密授权属性共享;
第一参与者,用于生成密钥,基于密钥和公共参数得到加密的密钥、加密的待共享消息的加密的存储地址,将加密的存储地址和加密的密钥共享;对待共享消息的预设访问策略中的访问属性加密,将携带加密的访问属性的加密参数请求发送至属性授权节点;预设访问策略对应访问属性;
每个属性授权节点,用于根据加密参数请求得到访问属性,当访问属性与自身管理的属性集匹配时生成加密的随机参数,将加密的随机参数共享;
第一参与者,还用于通过解密加密的随机参数,得到随机参数,根据随机参数得到策略向量,并将策略向量共享;
第二参与者获取待访问信息标识,生成携带待访问信息标识的访问请求,并将访问请求发送至目标节点;
目标节点,还用于根据第二参与者的加密授权属性生成授权向量,根据授权向量和待访问信息标识的策略向量进行分析,将分析结果发送至第二参与者,当分析结果表征第二参与者满足待访问信息的预设访问策略时,根据主密钥分片生成解密密钥分片并发送至第二参与者;
每个节点,还用于获取待访问信息标识对应的加密的地址并解密,解密成功的节点得到待访问信息标识对应的存储地址,根据存储地址生成签名的令牌并发送至第二参与者;
第二参与者,还用于通过签名的令牌获取待访问信息的加密的待共享消息,当接收到预设数量的解密密钥分片时,基于解密密钥分片和待访问信息的加密的待共享消息,得到待访问信息。
示例性的,图4为该系统的架构框图。如图4所示,该系统包括数据提供者、数据请求者、认证中心节点(上述的区块链中心节点)和多个背书节点BNi、BNi+1,…,BNk、BNk+1,每个背书节点对应有区块链账本SC和算法存储模块L;认证中心节点和背书节点都属于区块链网络。如图4所示,区块链账本SC用于存储共享数据,算法存储模块L用于存储节点所需的算法;认证中心节点通过系统初始化,生成公共参数和各个节点的主密钥分片,并将公共参数共享,将主密钥分片发送至对应的节点;数据提供者设置待上传的明文消息的访问策略、对明文消息进行CP-ABE加密、隐藏访问策略中的属性,生成并提交数据上传交易;数据请求者生成并提交数据访问交易,以及重构解密密钥并解密密文;每个背书节点为数据提供者或数据请求者进行用户属性分发和隐藏(加密),进行策略匹配判断,以及生成解密密钥分片。
针对上述系统,图5为该系统的一个示例性的工作流程图,如图5所示,该工作流程包括:系统初始化阶段、分布式属性授权阶段、数据上传阶段、请求访问阶段、分布式解密密钥生成阶段和解密阶段。
系统初始化阶段:区块链认证中心进行ABE初始化,将公共参数PKABE嵌入到区块链上传交易中,使用自己的私钥为交易签名,经过背书节点的背书验证后,将CP-ABE的公共参数PKABE上传到区块链账本;根据生成的CP-ABE主密钥、背书节点的个数和Shamir门限秘密共享设置的门槛数,分割ABE主密钥分割,并将第i份主密钥分片发送至第i个背书节点Pi。每个负责属性授权的区块链背书节点独立管理不同属性分类下的属性授权,因此需要每个节点BNi输入安全参数执行变色龙哈希的哈希密钥生成得到各自的变色龙哈希公钥pkCH,i和私钥skCH,i,实现CH初始化;每个负责属性授权的区块链背书节点将变色龙哈希的私钥保存在本地安全存储模块中,将变色龙哈希的公钥嵌入到新的公钥上传交易中,使用自己的私钥为交易签名,经过背书节点的背书验证后,将每个授权背书节点CH的公钥pkCH,i上传到区块链账本进行记录。
分布式属性授权阶段:加入系统的DR(数据请求者)需要拥有授权的属性集才能参与系统中数据的共享和访问,因此DR加入系统后首先向区块链发送请求属性授权交易。负责属性授权的区块链背书节点收到DR的请求属性授权交易后,先各自为DR生成所管理属性分类下的属性,调用哈希生成算法,输入变色龙哈希公钥pkCH,i,待哈希的属性Ai,j和随机数r,采用哈希生成算法生成哈希值得到DR的隐藏的授权属性,各授权区块链背书节点将DR的隐藏的授权属性嵌入到数据上传交易中,用自己的私钥为交易签名,在经过其他背书节点的验证后,将DR的隐藏的授权属性上传到区块链账本进行记录。
数据上传阶段:DP先从区块链帐本中查询ABE公共参数,然后选择对称密钥key加密待共享的消息,并为待共享的消息生成策略,并用数据的访问策略和CP-ABE的公共参数PKABE加密对称密钥,得到EABE(key),并上传至区块链账本进行记录。为保护用户的属性隐私,本方法采用CH实现用户属性集和密文策略中的属性隐藏,由于DP无法得知授权背书节点对相同属性进行变色龙哈希生成时所使用的随机数,但方案需要DP对策略中属性进行哈希的结果与授权背书节点对相同属性哈希结果一致,因此本发明借助CH中通过陷门可以高效计算出哈希碰撞的性质,先由DP向拥有属性哈希私钥的背书节点发送用节点公钥加密的属性以请求CH参数。收到请求的背书节点用私钥解密得到DP想要隐藏的属性,判定属性受自己管辖后,随机选择一个值作为更新的随机属性,输入原始属性、原始哈希随机数、更新的属性和变色龙哈希私钥来通过哈希碰撞生成算法得到更新的随机数,将更新的随机属性用DP的公钥加密,得到EpkDPm(A’i,j)与随机数r’一同上传到区块链账本进行记录。DP查询区块链账本得到EpkDPm(A’i,j)和r’,用私钥解密后,输入属性对应的变色龙哈希公钥、返回的随机属性和随机数,采用哈希生成算法计算,即可输出与背书节点隐藏结果一致的隐藏属性。随后,DP输入隐藏属性的密文策略,调用访问策略转化算法,将隐藏属性的访问策略转化成多项式形式,再取多项式系数得到隐藏属性的策略向量。DP将隐藏属性的策略向量嵌入到数据上传交易中,用私钥对交易签名,经过背书节点的背书验证后,将策略向量(密文策略)上传到区块链账本。
请求访问阶段:DR查询区块链账本中自己感兴趣的信息,生成请求访问交易并提交给区块链。DR提交的交易调用背书节点的链码,从账本中查询DR隐藏属性的属性集和请求密文的策略向量。背书节点先输入DR隐藏属性的属性集,先采用属性转化算法将DR的属性集转化成向量形式,输出属性向量。再输入属性向量和策略向量,采用外包匹配算法计算两向量的内积结果,以判断DR的属性集是否满足所请求密文的访问策略,输出判断结果,若满足则进入分布式解密密钥生成阶段,若不满足则终止DR的访问。
分布式解密密钥生成阶段:判定DR有权访问密文信息后,各背书节点输入自己的主密钥分片、DR的私钥和DR所请求的密文,采用解密密钥生成算法计算解密密钥分片,输出每个区块链背书节点为DR的生成的能够解密所请求密文的解密密钥分片,通过安全通道返回给DR,同时向DR发送包含请求数据密文存储地址的令牌。
解密阶段:DR收到来自背书节点足够多解密密钥分片后,先输入各区块链节点的解密密钥分片,借助拉格朗日插值公式重构出自己对于所请求密文的解密密钥,调用解密算法,得到对称密钥key。用对称密钥key解密根据令牌从第三方数据库取出的共享数据的密文得到数据明文。
以下通过两个具体的使用场景,对本案的方法与系统进行进一步说明。
图6为将本发明的系统实施为隐私保护的区块链移动众包平台时,区块链移动众包平台的工作流程图。如图6所示,系统初始化:区块链众包平台的认证中心节点生成ABE的主密钥MSKABE和公共参数PKABE,将PKABE上传到区块链账本;用Shamir秘密共享技术分割MSKABE,将分片发送给区块链中的n个背书节点。同时为加入网络的任务请求者和工作者生成证书和密钥对以实现标准公钥基础架构。
需要为工作者授权属性时,假设涉及到的属性包括以下分类:①学历:{博士研究生、硕士研究生、本科生、高中生、…},②专业:{计算机专业、英语专业、经济管理专业、…},③技能证书:{英语四级、英语六级、计算机二级、…}。首先,区块链中负责用户属性授权的节点通过哈希密钥生成算法得到各自的变色龙哈希公私钥对pkCH,i,skCH,i,将pkCH,i上传到区块链账本。接收到工作者的注册申请后,为工作者执行相应属性分类下的属性授权,调用哈希生成算法隐藏属性,将工作者隐藏的属性上传到区块链账本。
任务请求者加密并上传任务:任务请求者将任务信息m用对称密钥key加密得到CTm并上传到云服务器,设置能解密任务工作者的特定属性作为访问策略并使用CP-ABE加密key,得到CTkey。为保证与区块链授权节点对相同属性哈希结果的一致性,任务请求者隐藏访问策略中的属性前,先将待哈希的属性用对应授权BNi的变色龙哈希公钥加密,向区块链请求加密参数。相关属性授权区块链节点调用链码解密对应属性密文,判断属性是否在自己管辖范围内,若在则生成加密参数并返回给任务请求者。
任务请求者查询账本,用私钥解密得到新属性值,采用哈希生成算法隐藏访问策略的属性。为实现外包属性匹配,任务请求者将隐藏的访问策略转化成访问策略向量/>将CTkey、/>和CTm的任务描述上传至区块链移动众包平台的区块链账本。
请求访问数据:工作者根据个人兴趣查询区块链账本中的任务,根据任务描述选择要请求处理的任务,生成并向区块链提交包含待访问数据所在交易id的请求访问交易。
众包任务安全匹配:收到工作者的请求访问交易后,区块链背书节点根据交易id找到待访问数据块中隐藏属性的访问策略向量,在区块链帐本中查询工作者隐藏的属性集,将属性集转化成向量形式,再判断属性集是否满足访问策略,并返回匹配结果。
令牌和密钥分发:若上一步匹配成功,则由区块链向请求的工作者发送包含密文地址的令牌,同时拥有主密钥分片的BNi计算该工作者对请求密文的解密密钥分片,通过区块链节点间的安全信道将分片发送给请求访问的工作者。
解密任务并返回结果:满足访问策略的工作者通过令牌得到任务密文和对称密钥的密文,根据收到的解密密钥分片重构出解密密钥Dk,用该解密密钥解密CTkey,得到key,采用key解密CTm得到任务信息m。最后,工作者解决任务,并将任务结果用任务请求者的公钥加密,将加密的结果上传到区块链账本存储。
验证结果并发放报酬:任务请求者从区块链众包平台取下加密的结果,并用私钥解密工作者返回的结果,对结果进行验证,将验证结果提交给区块链众包平台后,众包平台将报酬发放给工作者。
图7为将本发明的系统实施为医疗数据共享平台时,医疗数据共享平台的工作流程图。如图7所示,系统初始化:在医疗数据共享联盟中的各个参与者如医院的临床医生、医学研究院的研究人员、联盟中相关机构行政人员等都可以参与医疗数据的共享,在Fabric的一个组织中包含一个认证中心节点和多个peer节点BN1、BN2…,BNk、BNk+1,这些peer节点可负责交易背书、交易排序和交易提交中一个或多个操作。
ABE初始化阶段,Fabric认证中心节点生成ABE的主密钥和公共参数,将公共参数上传到区块链账本,根据主密钥生成各个节点的主密钥分片并发送至对应节点。同时为加入网络的参与者生成证书和密钥对以实现标准公钥基础架构。
用户属性授权阶段,假设涉及到的属性包括以下分类:①机构名称:{医院A、医院B、医学研究院C、医学研究院D、...},②角色:{临床医生、科研人员、行政人员、...},③研究方向:{高血压、中风、糖尿病、玫瑰糠疹、...},④所属科室:{内科、外科、口腔科、皮肤科、耳鼻喉科、...}。首先,区块链中负责用户属性授权的节点通过哈希密钥生成算法得到各自的变色龙哈希公私钥对,将变色龙哈希公钥上传到区块链账本。接收到参与者的注册申请后,为参与者执行相应属性分类下的属性授权,调用模块L中的哈希生成算法隐藏属性,将隐藏的参与者属性上传到区块链账本SC。
加密并上传医疗数据:得到患者授权后,临床医生将患者的医疗数据m用对称密钥key加密,得到CTm并上传到云服务器,设置医疗信息相关的访问策略,并使用CP-ABE加密key,得到CTkey并上传到区块链账本。为保证与区块链授权节点对相同属性哈希结果的一致性,临床医生节点对访问策略中的属性进行隐藏之前,先将待哈希的属性用对应授权BNi的变色龙哈希公钥加密,向区块链发送加密参数请求交易,以请求加密参数。相关属性授权区块链节点调用链码解密对应属性密文,在判断属性在自己管辖范围内时生成随机属性值,调用L中的哈希碰撞生成算法得到新的随机数。将新的属性值用临床医生的公钥加密,将加密的新属性值和随机数上传到区块链账本SC,实现加密参数的返回。临床医生节点查询账本SC,用私钥解密得到新属性值,采用哈希生成算法隐藏属性元素。为实现外包属性匹配,临床医生将隐藏属性的访问策略/>转化成访问策略向量/>,将/>通过交易上传到区块链账本。
请求访问数据:医疗研究所的研究人员根据个人需求查询区块链账本中的数据信息,生成并向区块链提交包含待访问数据所在交易id的请求访问交易。
区块链外包匹配:收到医疗研究人员的请求访问交易后,区块链背书节点根据交易id找到待访问数据块中隐藏属性的访问策略向量,在帐本SC中查询研究人员隐藏的属性集,将属性集转化成向量形式,再判断属性集是否满足访问策略,并返回匹配结果。
令牌和密钥分发:若上一步匹配成功,则由区块链向请求的医疗研究人员发送包含密文地址的令牌,同时拥有主密钥分片的BNi生成解密密钥分片,通过区块链节点间的安全信道将分片发送给请求访问的医疗研究人员。
数据解密:满足访问策略的医疗研究人员通过令牌得到访问医疗数据密文和对称密钥的密文,通过收到的解密密钥分片重构解密密钥Dk,用该解密密钥Dk解密CTkey,得到key,采用key解密CTm得到相关医疗数据。
本发明引入了变色龙哈希函数,在属性全集有限且公开的情况下,通过CH哈希生成算法中的秘密随机数r有效预防恶意参与者对用户属性的推测。同时基于变色龙哈希中持有私钥的一方能轻松找到哈希碰撞的性质实现不同节点对相同属性隐藏结果的一致性,从而提供安全、高效、快速的隐私保护属性隐藏。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (9)

1.一种去中心化的多权威隐私保护数据访问控制方法,其特征在于,包括:
区块链中心节点生成公共参数和主密钥,根据所述主密钥生成多个节点各自的主密钥分片,并发送至对应节点,将所述公共参数共享,在接收到第一参与者或第二参与者发送的系统注册请求时,生成所述第一参与者的第一用户私钥或所述第二参与者的第二用户私钥,根据安全参数和参数生成算法,生成第一阶数的循环群的第一子阶数的子群,根据所述第一子阶数的子群,得到所述第一子阶数的子群的群生成元,根据所述第一用户私钥和所述群生成元,生成所述第一参与者的第一用户公钥,根据所述第二用户私钥和所述群生成元,生成所述第二参与者的第二用户公钥,并将生成的所述第一参与者与所述第二参与者的用户私钥各自发送至所述第一参与者与所述第二参与者,并将生成的用户公钥共享;所述多个节点中包含属性授权节点,所述属性授权节点用于管理不同属性集;每个属性集包括至少一种属性类别,每个属性类别包括至少一个属性子类;
每个属性授权节点生成第一节点私钥和第一节点公钥,将所述第一节点公钥共享,为所述第一参与者和所述第二参与者生成加密授权属性,并将所述加密授权属性共享;
所述第一参与者生成密钥,基于所述密钥和所述公共参数得到加密的密钥、加密的待共享消息的加密的存储地址,将加密的存储地址和加密的密钥共享;对所述待共享消息的预设访问策略中的访问属性加密,将携带加密的访问属性的加密参数请求发送至所述属性授权节点;
每个属性授权节点根据所述加密参数请求得到所述访问属性,当所述访问属性与自身管理的属性集匹配时生成加密的随机参数,将加密的随机参数共享;
所述第一参与者通过解密所述加密的随机参数,得到所述随机参数,根据所述随机参数得到策略向量,并将所述策略向量共享;
所述第二参与者获取待访问信息标识,生成携带所述待访问信息标识的访问请求,并将所述访问请求发送至目标节点;
所述目标节点根据所述第二参与者的加密授权属性生成授权向量,根据所述授权向量和所述待访问信息标识的策略向量进行分析,将分析结果发送至所述第二参与者,当所述分析结果表征所述第二参与者满足所述待访问信息的预设访问策略时,根据所述主密钥分片生成解密密钥分片并发送至所述第二参与者;
每个节点获取所述待访问信息标识对应的加密的地址并解密,解密成功的节点得到所述待访问信息标识对应的存储地址,根据所述存储地址生成签名的令牌并发送至所述第二参与者;
所述第二参与者通过所述签名的令牌获取所述待访问信息的加密的待共享消息,当接收到预设数量的所述解密密钥分片时,基于所述解密密钥分片和所述待访问信息的加密的待共享消息,得到所述待访问信息。
2.根据权利要求1所述的去中心化的多权威隐私保护数据访问控制方法,其特征在于,所述为所述第一参与者和所述第二参与者生成加密授权属性,包括:
在所述属性授权节点接收到所述第一参与者的第一属性授权请求或所述第二参与者的第二属性授权请求时,每个属性授权节点根据自身管理的属性集,为所述第一参与者或所述第二参与者生成授权属性;
根据所述授权属性和原始随机值,采用哈希生成算法,生成所述第一参与者或所述第二参与者的加密授权属性。
3.根据权利要求1所述的去中心化的多权威隐私保护数据访问控制方法,其特征在于,每个节点还对应有第二节点公钥和第二节点私钥;
所述第一参与者生成密钥,基于所述密钥和所述公共参数得到加密的密钥、加密的待共享消息的加密的存储地址,将加密的存储地址和加密的密钥共享;对所述待共享消息的预设访问策略中的访问属性加密,将携带加密的访问属性的加密参数请求发送至所述属性授权节点,包括:
所述第一参与者随机选择对称密钥;
采用所述公共参数加密所述对称密钥,将加密的密钥共享;
采用所述对称密钥加密所述待共享消息,将加密的待共享消息上传至第三方服务器,得到加密的待共享消息的存储地址;
获取任一节点的第二节点公钥,并采用获取的第二节点公钥加密所述加密的待共享消息的存储地址,将加密的存储地址共享;
根据各个访问属性,获取对应的属性授权节点的第一节点公钥,采用获取的第一节点公钥对对应的访问属性加密;
将携带加密的访问属性的加密参数请求发送至对应的属性授权节点。
4.根据权利要求1所述的去中心化的多权威隐私保护数据访问控制方法,其特征在于,所述每个属性授权节点根据所述加密参数请求得到所述访问属性,当所述访问属性与自身管理的属性集匹配时生成加密的随机参数,包括:
每个属性授权节点采用自身的第一节点公钥,对所述加密参数请求中的加密的访问属性解密,并在解密成功时得到所述访问属性;
判断所述访问属性与自身管理的属性集中的属性匹配时,生成随机属性参数和随机值;
获取所述第一参与者的用户公钥,并采用所述用户公钥加密所述随机属性参数;
将所述随机值和加密的随机属性参数,作为生成的加密的随机参数。
5.根据权利要求1或4所述的去中心化的多权威隐私保护数据访问控制方法,其特征在于,所述第一参与者通过解密所述加密的随机参数,得到所述随机参数,根据所述随机参数得到策略向量,包括:
所述第一参与者获取所述加密的随机参数;
采用自身的用户私钥解密所述加密的随机参数,得到随机属性参数和随机值;
根据所述待共享消息的预设访问策略中的访问属性、所述随机属性参数和所述随机值,采用哈希生成算法,得到加密的访问属性;
将所述加密的访问属性转化为所述策略向量。
6.根据权利要求1所述的去中心化的多权威隐私保护数据访问控制方法,其特征在于,所述根据所述授权向量和所述待访问信息标识的策略向量进行分析,包括:
计算所述授权向量与所述待访问信息标识的策略向量之间的向量内积;
在所述向量内积为零时,得到表征所述第二参与者满足所述待访问信息的预设访问策略的分析结果。
7.根据权利要求1所述的去中心化的多权威隐私保护数据访问控制方法,其特征在于,所述根据所述主密钥分片生成解密密钥分片并发送至所述第二参与者,包括:
每个目标节点根据自身的主密钥分片、所述第二参与者的用户私钥和所述待访问信息标识对应的加密的待共享消息,生成所述待访问信息的解密密钥分片,将所述解密密钥分片发送至所述第二参与者;
所述每个节点获取所述待访问信息标识对应的加密的地址并解密,解密成功的节点得到所述待访问信息标识对应的存储地址,根据所述存储地址生成签名的令牌并发送至所述第二参与者,包括:
每个节点获取所述待访问信息的加密的存储地址;
采用自身的第二节点私钥解密所述待访问信息的加密的存储地址,解密成功的节点将所述待访问信息的存储地址嵌入数据访问令牌;
对所述数据访问令牌签名后,得到所述签名的令牌,并将所述签名的令牌发送至所述第二参与者。
8.根据权利要求1所述的去中心化的多权威隐私保护数据访问控制方法,其特征在于,所述第二参与者通过所述签名的令牌获取所述待访问信息的加密的待共享消息,当接收到预设数量的所述解密密钥分片时,基于所述解密密钥分片和所述待访问信息的加密的待共享消息,得到所述待访问信息,包括:
所述第二参与者通过所述签名的令牌,从第三方服务器处获取所述待访问信息的加密的待共享消息;
所述第二参与者在接收到预设数量的所述解密密钥分片时,根据所述解密密钥分片重构出解密密钥;
获取所述待访问信息的加密的密钥;
采用所述解密密钥对所述加密的密钥进行解密,得到用于加密所述待访问信息的对称密钥;
在接收到所述第三方服务器返回的所述待访问信息的加密的待共享消息时,使用所述待访问信息的对称密钥,对所述待访问信息的加密的待共享消息解密,得到所述待访问信息。
9.一种去中心化的多权威隐私保护数据访问控制系统,其特征在于,包括:
区块链中心节点,用于生成公共参数和主密钥,根据所述主密钥生成多个节点各自的主密钥分片,并发送至对应节点,将所述公共参数共享,在接收到第一参与者或第二参与者发送的系统注册请求时,生成所述第一参与者的第一用户私钥或所述第二参与者的第二用户私钥,根据安全参数和参数生成算法,生成第一阶数的循环群的第一子阶数的子群,根据所述第一子阶数的子群,得到所述第一子阶数的子群的群生成元,根据所述第一用户私钥和所述群生成元,生成所述第一参与者的第一用户公钥,根据所述第二用户私钥和所述群生成元,生成所述第二参与者的第二用户公钥,并将生成的所述第一参与者与所述第二参与者的用户私钥各自发送至所述第一参与者与所述第二参与者,并将生成的用户公钥共享;所述多个节点中包含属性授权节点,所述属性授权节点用于管理不同属性集;每个属性集包括至少一种属性类别,每个属性类别包括至少一个属性子类;
每个属性授权节点,用于生成第一节点私钥和第一节点公钥,将所述第一节点公钥共享;为所述第一参与者和所述第二参与者生成加密授权属性,并将所述加密授权属性共享;
所述第一参与者,用于生成密钥,基于所述密钥和所述公共参数得到加密的密钥、加密的待共享消息的加密的存储地址,将加密的存储地址和加密的密钥共享;对所述待共享消息的预设访问策略中的访问属性加密,将携带加密的访问属性的加密参数请求发送至所述属性授权节点;
每个属性授权节点,用于根据所述加密参数请求得到所述访问属性,当所述访问属性与自身管理的属性集匹配时生成加密的随机参数,将加密的随机参数共享;
所述第一参与者,还用于通过解密所述加密的随机参数,得到所述随机参数,根据所述随机参数得到策略向量,并将所述策略向量共享;
所述第二参与者获取待访问信息标识,生成携带所述待访问信息标识的访问请求,并将所述访问请求发送至目标节点;
所述目标节点,还用于根据所述第二参与者的加密授权属性生成授权向量,根据所述授权向量和所述待访问信息标识的策略向量进行分析,将分析结果发送至所述第二参与者,当分析结果表征所述第二参与者满足所述待访问信息的预设访问策略时,根据所述主密钥分片生成解密密钥分片并发送至所述第二参与者;
每个节点,还用于获取所述待访问信息标识对应的加密的地址并解密,解密成功的节点得到所述待访问信息标识对应的存储地址,根据所述存储地址生成签名的令牌并发送至所述第二参与者;
所述第二参与者,还用于通过所述签名的令牌获取所述待访问信息的加密的待共享消息,当接收到预设数量的所述解密密钥分片时,基于所述解密密钥分片和所述待访问信息的加密的待共享消息,得到所述待访问信息。
CN202211054753.1A 2022-08-31 2022-08-31 一种去中心化的多权威隐私保护数据访问控制方法及系统 Active CN115567247B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211054753.1A CN115567247B (zh) 2022-08-31 2022-08-31 一种去中心化的多权威隐私保护数据访问控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211054753.1A CN115567247B (zh) 2022-08-31 2022-08-31 一种去中心化的多权威隐私保护数据访问控制方法及系统

Publications (2)

Publication Number Publication Date
CN115567247A CN115567247A (zh) 2023-01-03
CN115567247B true CN115567247B (zh) 2024-03-19

Family

ID=84739556

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211054753.1A Active CN115567247B (zh) 2022-08-31 2022-08-31 一种去中心化的多权威隐私保护数据访问控制方法及系统

Country Status (1)

Country Link
CN (1) CN115567247B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116112264B (zh) * 2023-01-31 2024-04-02 深圳市艾莉诗科技有限公司 一种基于区块链的策略隐藏大数据访问控制方法和装置
CN116484398B (zh) * 2023-03-15 2024-04-02 香港理工大学深圳研究院 一种基于变色龙哈希的加密验证方法和系统
CN116155619B (zh) * 2023-04-04 2023-07-07 江西农业大学 数据处理方法、数据请求端、数据拥有端及数据处理装置
CN117596036B (zh) * 2023-11-20 2024-06-11 北京邮电大学 多时间粒度约束的动态属性基加密访问控制方法

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法
WO2019090988A1 (zh) * 2017-11-09 2019-05-16 北京科技大学 一种基于动态规则的密码学属性基访问控制方法与系统
CN110147681A (zh) * 2019-04-02 2019-08-20 西安电子科技大学 一种支持灵活访问控制的隐私保护大数据处理方法及系统
CN111010386A (zh) * 2019-12-10 2020-04-14 上海中信信息发展股份有限公司 一种基于共享账本的隐私保护与数据监管控制方法
CN111274594A (zh) * 2020-01-20 2020-06-12 上海市大数据中心 一种基于区块链的安全大数据隐私保护共享方法
CN111327597A (zh) * 2020-01-21 2020-06-23 暨南大学 基于区块链隐私保护和细粒度访问控制的数字取证方法
CN113158143A (zh) * 2020-01-22 2021-07-23 区块链新科技(广州)有限公司 一种基于区块链数字版权保护系统的密钥管理方法及装置
CN113411384A (zh) * 2021-06-10 2021-09-17 华中科技大学 针对物联网数据安全共享过程中隐私保护的系统及方法
CN113438205A (zh) * 2021-05-31 2021-09-24 东软集团股份有限公司 区块链数据访问控制方法、节点以及系统
CN113489733A (zh) * 2021-07-13 2021-10-08 郑州轻工业大学 基于区块链的内容中心网络隐私保护方法
CN113783685A (zh) * 2021-08-30 2021-12-10 武汉海昌信息技术有限公司 一种使用区块链保护车联网数据的系统
CN114244838A (zh) * 2021-12-17 2022-03-25 东软集团股份有限公司 区块链数据的加密方法及系统、解密方法、装置及设备
CN114511322A (zh) * 2022-01-26 2022-05-17 江苏大学 一种基于中继的以链治链跨链结构及其访问控制方法
CN114650137A (zh) * 2022-05-23 2022-06-21 山东省计算中心(国家超级计算济南中心) 一种基于区块链的支持策略隐藏的解密外包方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2947810B1 (en) * 2013-01-16 2021-07-14 Mitsubishi Electric Corporation Encryption system, re-encryption key generation device, re-encryption device, encryption method and encryption program
US10887100B2 (en) * 2018-11-09 2021-01-05 Ares Technologies, Inc. Systems and methods for distributed key storage
US11223487B2 (en) * 2020-03-19 2022-01-11 Jinan University Method and system for secure blockchain-based vehicular digital forensics

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019090988A1 (zh) * 2017-11-09 2019-05-16 北京科技大学 一种基于动态规则的密码学属性基访问控制方法与系统
CN108462568A (zh) * 2018-02-11 2018-08-28 西安电子科技大学 一种基于区块链的安全文件存储和共享方法
CN110147681A (zh) * 2019-04-02 2019-08-20 西安电子科技大学 一种支持灵活访问控制的隐私保护大数据处理方法及系统
CN111010386A (zh) * 2019-12-10 2020-04-14 上海中信信息发展股份有限公司 一种基于共享账本的隐私保护与数据监管控制方法
CN111274594A (zh) * 2020-01-20 2020-06-12 上海市大数据中心 一种基于区块链的安全大数据隐私保护共享方法
CN111327597A (zh) * 2020-01-21 2020-06-23 暨南大学 基于区块链隐私保护和细粒度访问控制的数字取证方法
CN113158143A (zh) * 2020-01-22 2021-07-23 区块链新科技(广州)有限公司 一种基于区块链数字版权保护系统的密钥管理方法及装置
CN113438205A (zh) * 2021-05-31 2021-09-24 东软集团股份有限公司 区块链数据访问控制方法、节点以及系统
CN113411384A (zh) * 2021-06-10 2021-09-17 华中科技大学 针对物联网数据安全共享过程中隐私保护的系统及方法
CN113489733A (zh) * 2021-07-13 2021-10-08 郑州轻工业大学 基于区块链的内容中心网络隐私保护方法
CN113783685A (zh) * 2021-08-30 2021-12-10 武汉海昌信息技术有限公司 一种使用区块链保护车联网数据的系统
CN114244838A (zh) * 2021-12-17 2022-03-25 东软集团股份有限公司 区块链数据的加密方法及系统、解密方法、装置及设备
CN114511322A (zh) * 2022-01-26 2022-05-17 江苏大学 一种基于中继的以链治链跨链结构及其访问控制方法
CN114650137A (zh) * 2022-05-23 2022-06-21 山东省计算中心(国家超级计算济南中心) 一种基于区块链的支持策略隐藏的解密外包方法及系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Decentralized and Privacy-Preserving Key Management Model";R. Soltani等;《2020 International Symposium on Networks, Computers and Communications (ISNCC)》;全文 *
"Privacy-Preserving Data Processing with Flexible Access Control";W. DING;《 IEEE Transactions on Dependable and Secure Computing》;全文 *
可信普适社交网络研究综述和展望;闫峥;吴宸梓;冯伟;王子龙;;网络与信息安全学报(02);全文 *
基于属性基加密的区块链隐私保护与访问控制方法;汪金苗;谢永恒;王国威;李易庭;;信息网络安全(09);全文 *

Also Published As

Publication number Publication date
CN115567247A (zh) 2023-01-03

Similar Documents

Publication Publication Date Title
CN115567247B (zh) 一种去中心化的多权威隐私保护数据访问控制方法及系统
Liang et al. PDPChain: A consortium blockchain-based privacy protection scheme for personal data
CN110099043B (zh) 支持策略隐藏的多授权中心访问控制方法、云存储系统
CN111916173B (zh) 基于ipfs和联盟链的医疗数据安全共享系统及方法
KR102025409B1 (ko) 블록체인을 기반으로 한 데이터 접근 관리 시스템 및 데이터 접근 관리 방법
Zhu et al. TBAC: Transaction-based access control on blockchain for resource sharing with cryptographically decentralized authorization
Ramu A secure cloud framework to share EHRs using modified CP-ABE and the attribute bloom filter
Ruj et al. DACC: Distributed access control in clouds
WO2016106752A1 (zh) 一种共享数据的访问控制方法、装置及系统
Pussewalage et al. A patient-centric attribute based access control scheme for secure sharing of personal health records using cloud computing
Jiang et al. Attribute-based encryption with blockchain protection scheme for electronic health records
CN107635018B (zh) 支持紧急接入访问控制和安全去重的跨域医疗云存储系统
CN112751670B (zh) 一种多中心密文策略的属性基可搜索加密及相应的搜索获取数据的方法
Ibrahim et al. A secure framework for sharing electronic health records over clouds
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
CN115987592A (zh) 基于区块链的移动医疗物联网细粒度访问控制方法及系统
Zhang et al. A blockchain-based anonymous attribute-based searchable encryption scheme for data sharing
Kibiwott et al. Privacy Preservation for eHealth Big Data in Cloud Accessed Using Resource-Constrained Devices: Survey.
Peng et al. A Secure Signcryption Scheme for Electronic Health Records Sharing in Blockchain.
CN115361126B (zh) 一种可验证外包的部分策略隐藏属性加密方法及系统
CN115412259B (zh) 基于区块链的云健康系统可搜索代理签密方法及产品
CN116668149A (zh) 一种基于策略隐藏和属性更新的电子医疗数据共享方法
Malarvizhi et al. Secure file sharing using cryptographic techniques in cloud
Kalaiselvi et al. Scalable and secure sharing of personal health records in cloud computing
Benifa et al. Blockchain-based health care monitoring for privacy preservation of COVID-19 medical records

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
TR01 Transfer of patent right

Effective date of registration: 20240621

Address after: No. 1108, Hengxinxiang Industrial Park, Southwest Corner of Kaifa Road and Light Industry Road Intersection, High tech Zone, Pingdingshan City, Henan Province, 467001

Patentee after: Pingdingshan Shuosi Technology Service Co.,Ltd.

Country or region after: China

Address before: 710071 No. 2 Taibai South Road, Shaanxi, Xi'an

Patentee before: XIDIAN University

Country or region before: China