WO2023226641A1 - 区块链隐私数据访问控制方法和系统 - Google Patents

区块链隐私数据访问控制方法和系统 Download PDF

Info

Publication number
WO2023226641A1
WO2023226641A1 PCT/CN2023/089634 CN2023089634W WO2023226641A1 WO 2023226641 A1 WO2023226641 A1 WO 2023226641A1 CN 2023089634 W CN2023089634 W CN 2023089634W WO 2023226641 A1 WO2023226641 A1 WO 2023226641A1
Authority
WO
WIPO (PCT)
Prior art keywords
attribute
data
blockchain
decryption
private key
Prior art date
Application number
PCT/CN2023/089634
Other languages
English (en)
French (fr)
Inventor
戚湧
李健
Original Assignee
南京理工大学
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 南京理工大学 filed Critical 南京理工大学
Publication of WO2023226641A1 publication Critical patent/WO2023226641A1/zh

Links

Classifications

    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Definitions

  • the present invention relates to the field of blockchain technology, and specifically to a blockchain privacy data access control method and system.
  • Steps to store symmetrically encrypted ciphertext The distributed storage system receives and stores the symmetrically encrypted ciphertext sent by the data owner after symmetrically encrypting the initial plaintext, and returns the storage index information to the data owner;
  • H() represents the mapping function that maps the relevant strings corresponding to the attributes to the elements in the group G.
  • e() represents the bilinear mapping operation
  • the blockchain directly generates an incorrect value as firstm and sends it to the data visitor. Since the firstm is not obtained through pre-decryption, the attribute encrypted plaintext msg cannot be obtained through attribute decryption in the attribute decryption step.
  • Figure 3 is a comparison chart of the time spent on attribute decryption between the method of Embodiment 1 and the comparative example.
  • Figure 5 is a schematic diagram of the main framework of the system in Embodiment 1.
  • the interstellar file system IPFS is mainly responsible for the storage of symmetrically encrypted ciphertext data.
  • the user sends a registration request to the attribute authorization service, and the request contains his or her identity information.
  • the data visitor sends an access request and calls the smart contract Issatisfy (UID DO , UID DU ).
  • the blockchain determines whether the data visitor satisfies the access policy based on the attribute maintenance list maintained by the data owner. If so, the smart contract FirstDecrypt(Ct ,sk 1 )->firstm for pre-decryption; otherwise, the pre-decryption process is not performed, but a non-zero random value is initialized by the blockchain as firstm.
  • the data owner calls the smart contract Encrypt(pk,(M, ⁇ ),msg)->Ct of the blockchain to encrypt the attributes, and stores the encrypted ciphertext Ct in the blockchain.
  • Attribute-encrypted objects originate from symmetric encryption before the data owner.
  • the data owner first uses a symmetric key to symmetrically encrypt the initial plaintext of the original data, and then stores the symmetrically encrypted ciphertext in IPFS.
  • IPFS receives and stores the symmetrically encrypted ciphertext sent by the data owner, and returns the storage index information to the data owner.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种区块链隐私数据访问控制方法和系统,属于区块链技术领域。本发明将区块链系统与属性可撤销CP-ABE机制相结合,引入预解密过程,根据用户需求及时撤销属性。本发明在实现数据共享、细粒度访问的同时,保护用户数据隐私,实现数据共享与隐私保护之间的均衡。

Description

区块链隐私数据访问控制方法和系统
本申请要求于2022年05月25日提交中国专利局、申请号为202210576086.7、发明名称为“区块链隐私数据访问控制方法和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及区块链技术领域,具体涉及区块链隐私数据访问控制方法和系统。
背景技术
区块链是比特币的底层技术,从本质上说是一种分布式的共享账本和数据库。区块链技术运用加密算法、时间戳、Merkle tree、共识和奖励机制等,以实现去中心化、不可篡改以及可追溯等特点。区块链技术所具有的去中心化、开放性、自治性和链上数据不可篡改等特点使其在数据共享方面具备得天独厚的优势,但链上数据公开透明也严重威胁着个人隐私安全。
属性加密(Identity Based Encryption,ABE)方案是加密技术中的一个概念,其是身份加密(Identity Based Encryption,IBE)方案的延伸,核心思想是将用户身份用相应的属性集合表示。属性加密方案能够实现细粒度的访问控制。在分类上,属性加密可分为密钥策略属性加密和密文策略属性加密,其中密文策略属性加密(Ciphertext PolicyAttribute Based Encryption,CP-ABE)方案将密文与属性集合进行绑定,由数据拥有者根据需求指定访问控制策略,以实现由数据用户主导的访问控制,使用灵活简便。如将密文策略属性加密与区块链去中心化的特点契合,能够确保区块链数据共享机制中的隐私保护及数据安全,兼顾链上数据的安全性,同时实现数据的安全共享。
在实际应用中,当系统中某些用户因为身份属性发生变化,那用户相应的访问权限也应该发生变化,这就需要在CP-ABE方案中及时地撤销用户属性,以保证数据安全。即需要一种属性可撤销CP-ABE方案。但目前仍缺少可以适用于区块链系统的属性可撤销CP-ABE方案。
发明内容
针对现有技术存在的缺点与不足,本发明的目的在于提供一种区块链隐私数据访问控制方法和系统,使得区块链系统可以适用属性可撤销CP-ABE机制。
本发明公开的区块链隐私数据访问控制方法,其技术方案包括以下步骤:
生成用户私钥的步骤:属性授权服务根据用户提供的身份信息生成用户的唯一标识UID,并由区块链生成用户的第一私钥sk1和第二私钥sk2;区块链将用户的第一私钥sk1存储在区块链中,并将第二私钥sk2发送给用户;所述区块链生成用户的第一私钥sk1和第二私钥sk2时,结合系统主私钥msk和用户属性生成所述第一私钥sk1和第二私钥sk2
存储对称加密密文的步骤:分布式存储系统接收并存储数据拥有者发送过来的对初始明文进行对称加密后的对称加密密文,并将存储索引信息返还给数据拥有者;
属性加密的步骤:区块链根据数据拥有者的调用进行属性加密,并将属性加密后的密文Ct存储在区块链中;在进行属性加密时,以数据拥有者从分布式存储系统获得的存储索引信息以及数据拥有者对初始明文进行对称加密的对称密钥作为属性加密明文msg,并结合系统公钥pk和数据拥有者指定的访问策略实现属性加密;
属性预解密的步骤:当区块链接收到数据访问者针对属性加密的数据的访问请求时,先由区块链判断数据访问者是否满足数据拥有者指定的访问策略;如果数据访问者满足访问策略,则区块链根据数据访问者的UID获取其第一私钥sk1,通过该sk1对数据访问者要访问的属性加密的数据的相应密文Ct进行预解密,得到解密结果firstm并返还给数据访问者;如果数据访问者不满足访问策略,则区块链不进行预解密;所述判断数据访问者是否满足数据拥有者指定的访问策略,是由区块链根据数据拥有者 存储在区块链中的属性维护列表进行的,数据拥有者能够对属性维护列表进行维护以达到属性撤销的目的;
属性解密的步骤:当区块链接收到数据访问者的属性解密请求时,根据数据访问者提供的其第二私钥sk2以及数据访问者在属性预解密步骤中获得的firstm,对数据访问者要访问的属性加密的数据的相应密文Ct进行属性解密,在firstm为经过预解密而获得的情况下得到属性加密明文msg并返还给数据访问者,由数据访问者根据属性加密明文msg中的存储索引信息和对称密钥从分布式存储系统中获得对称加密密文并解密得到初始明文。
进一步而言,所述系统公钥pk和系统主私钥msk,构造方式如下:
令p为素数,G、H、GT均是素数阶为p的群,g、h分别是G、H的生成元,e表示双线性映射e:G×H->GT;Zp是对p取模得到的集合{0,1,2,...,p-1},包含所有小于p且与p互素的自然数,Z*表示Zp剔除0元素后的集合;选择随机数a1、a2∈Z*,选择随机数d1、d2、d3∈Zp,选择随机数b1、b2∈Z*,则系统公钥pk与系统主私钥msk分别表示为以下由5个组件构成的结构和由9个组件构成的结构:
pk=(h,H1,H2,T1,T2)




其中,e()表示双线性映射运算。
进一步而言,所述用户的第一私钥sk1和第二私钥sk2,生成方式如下:
设y为用户属性,所述y属于用户属性集合S,则对于y的第一私钥 sk1表示为由3个组件构成的以下结构:
sk1=(sk0,(sky)1,sk')
sk0=(sk0,1,sk0,2,sk0,3)



(sky)1=((sky,1)1,(sky,2)1,(sky,3)1)


sk'=(sk'1,sk'2,sk'3)

对于y的第二私钥sk2表示为由3个组件构成的以下结构:
sk2=(sk0,(sky)2,sk')
(sky)2=((sky,1)2,(sky,2)2,(sky,3)2)

其中,r1、r2、σy、uy、σ'∈Zp、均为随机数,H()表示将属性对应的相关字符串映射到群G中元素的映射函数,映射函数的输入有两种字符串组成格式yLt和0jLt,其中y即为属性,L=1,2,3,t=1,2,j表示正整数。
进一步而言,所述属性加密的步骤中,数据拥有者指定的访问策略表示为由M和π组成的结构(M,π),其中M为n1×n2的矩阵,π为矩阵M的行到属性的映射,则属性加密后的密文Ct表示为以下结构:

Ct0=(Ct0,1,Ct0,2,Ct0,3)



Cti=(Cti,1,Cti,2,Cti,3)

其中,S1、S2∈Zp、均为随机数,i=1,2…n1,L=1,2,3;(M)i,j表示矩阵M的第(i,j)个元素。
进一步而言,所述属性预解密的步骤中,经过预解密而获得的firstm表示为:
其中,e()表示双线性映射运算,wi表示∈Zp且满足Σi∈IwiMi=(1,0,…0)的参数,i∈I,I={1,2...n1}。
进一步而言,所述属性解密的步骤中,通过计算中间密文secm和解密参数num得到属性加密明文msg:


进一步而言,所述属性维护列表被配置为,如果属性维护列表中的数据访问者属性满足访问策略或者属性维护列表中没有数据访问者的信息,则认为数据访问者满足访问策略。
进一步而言,所述属性预解密的步骤中,如果数据访问者不满足访问 策略,则区块链直接生成一个错误的值作为firstm发送给数据访问者,因该firstm并非为经过预解密而获得的导致在属性解密的步骤中无法通过属性解密获得属性加密明文msg。
进一步而言,所述分布式存储系统为星际文件系统IPFS。
本发明公开的区块链隐私数据访问控制系统,包括区块链、属性授权服务和分布式存储系统,所述系统运行上述的方法。
本发明的有益效果如下:本发明将区块链系统与属性可撤销CP-ABE机制相结合,能够支持大规模属性集,通过引入预解密过程,实现根据用户需求及时撤销属性,无需更新密文密钥重复上链。该系统能在实现数据共享、细粒度访问的同时,保护用户数据隐私,实现数据共享与隐私保护之间的均衡。同时,数据采用链上链下存储,原始数据的初始明文对称加密后存储在IPFS中,对称密钥进行属性加密上链,也能够配套解决区块链容量不足问题。
说明书附图
图1为实施例1方法的属性加密解密过程示意图。
图2为实施例1方法与对比例之间属性加密花费时间对比图。
图3为实施例1方法与对比例之间属性解密花费时间对比图。
图4为实施例1方法属性预解密和属性解密花费时间对比图。
图5为实施例1系统的主要框架示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步的说明。
实施例1:
本发明的一个实施例,展示了一种区块链隐私数据访问控制系统及其控制方法。需要指出的,本实施例的系统和方法建构在现有的区块链技术和属性加密方案的基础上,诸如区块链智能合约的建构、属性加密方案中通过输入的系统安全参数进行系统建立设置、访问策略用由M和π组成的 结构(M,π)表达(M为n1×n2的矩阵,π为矩阵M的行到属性的映射)等相关属性加密解密方法均有成熟方案,本实施例在此不再赘述。
参照图5,该系统的主要框架包括属性授权服务、区块链和星际文件系统IPFS,其中星际文件系统IPFS作为分布式存储系统使用。数据拥有者(DO)、数据访问者(DU)通过访问系统实现数据的共享与控制。
具体而言,属性授权服务负责系统的参数设置,生成系统的公钥和主密钥。此外,当用户注册进入系统时,根据用户身份信息生成用户唯一标识UID,并且根据用户的属性生成用户的第一私钥sk1和第二私钥sk2。其中,生成系统的公钥和主密钥以及生成用户的第一私钥sk1和第二私钥sk2,均由属性授权服务通过调用区块链的相应智能合约实现。
区块链,用于存储属性加密后的密文、各用户的(UID,sk1)以及数据拥有者提供的属性维护列表。区块链提供各种智能合约,供属性授权服务、数据拥有者(DO)和数据访问者(DU)调用,实现相应功能,包括:
系统参数设置Setup(1λ)->(pk,msk)
属性私钥生成KeyGen(msk,S)->(sk1,sk2)
属性加密Encrypt(pk,(M,π),msg)->Ct
属性预解密FirstDecrypt(Ct,sk1)->firstm
属性解密SecDecrypt(Ct,sk2,firstm)->msg
维护属性维护列表Add(UIDDO,UIDDU,S)
判断是否满足访问策略Issatisfy(UIDDO,UIDDU)
数据拥有者(DO),主要负责数据的加密工作,首先对原始数据的初始明文进行对称加密,将对称加密后的密文存放在IPFS中,将返回的索引、对称密钥作为属性加密明文,并指定访问策略(M,π),一并发送给区块链进行属性加密。数据拥有者还根据需求维护存储在区块链中的属性维护列表以达到控制用户访问的目的。数据拥有者能够对属性维护列表进行 维护实现属性撤销,当需要修改某数据访问者的属性时,只需将该用户的属性重新上链就可以完成更新。
数据访问者(DU)即数据的使用者,当其需要访问相应数据(指由数据拥有者进行属性加密的数据)时,其向区块链发送访问请求。如果根据属性维护列表,数据访问者属性满足数据拥有者指定的访问策略,则由区块链根据数据访问者的第一私钥sk1进行预解密,区块链将预解密的结果发送给数据访问者,数据访问者再调用区块链的智能合约,根据数据访问者的第二私钥sk2进行属性解密,就可以得到前述索引以及对称密钥,再从IPFS中获取对称加密的密文,进行对称解密,获取初始明文。反之,当数据访问者不满足访问策略时,则不会进行预解密,因没有经过预解密,即使进行后续属性解密,也得不到属性加密明文。查询属性维护列表中的用户属性时,查找最近时间上链的即可。本实施例中,如果属性维护列表中的数据访问者属性满足访问策略或者属性维护列表中没有数据访问者的信息,则认为数据访问者满足访问策略。
星际文件系统IPFS主要负责对称加密密文数据的存储工作。
如图5所示,系统建立设置后,系统主要交互流程包括:
①用户向属性授权服务发送注册请求,请求中包含自己的身份信息。
②属性授权服务根据用户提供的身份信息生成用户唯一标识UID,并向区块链发送调用智能合约KeyGen(msk,S)->(sk1,sk2)的请求。
③区块链将生成的(UID,sk)存储,将sk2发送给用户。
④数据拥有者将原始数据的初始明文对称加密后存储在IPFS中。
⑤IPFS返回索引等信息。
⑥数据拥有者将IPFS返回的索引以及对称密钥作为属性加密明文msg,并指定访问策略(M,π),调用智能合约Encrypt(pk,(M,π),msg)->Ct进行属性加密,区块链将属性加密后的密文Ct存储下来。
⑦数据访问者发送访问请求并调用智能合约Issatisfy(UIDDO,UIDDU),区块链根据数据拥有者维护的属性维护列表判断数据访问者是否满足访问策略,如果满足,调用智能合约FirstDecrypt(Ct,sk1)->firstm进行预解密;否则,不进行预解密过程,而是由区块链初始化一个非零的随机值作为firstm。
⑧区块链将firstm返回给数据访问者。
⑨数据访问者调用智能合约SecDecrypt(Ct,sk2,firstm)->msg进行解密,只有进行过预解密过程的密文才会被成功解密。
⑩区块链将属性解密结果返回给数据访问者。
数据访问者解密后得到索引和对称密钥,从IPFS中取密文进行对称解密,得到初始明文。
数据拥有者根据需求维护属性维护列表Add(UIDDO,UIDDU,S)。
上述交互具体过程,可以参照图1。具体而言,包括以下步骤:
1、系统建立设置
属性授权服务调用区块链的智能合约Setup(1λ)->(pk,msk),生成系统的系统公钥pk和系统主私钥msk,其中1λ为输入的系统安全参数。本实施例中,为了属性加密过程中构造密文结构,系统公钥pk和系统主私钥msk的构造方式如下:
令p为素数,G、H、GT均是素数阶为p的群,g、h分别是G、H的生成元,e表示双线性映射e:G×H->GT;Zp是对p取模得到的集合{0,1,2,...,p-1},包含所有小于p且与p互素的自然数,Z*表示Zp剔除0元素后的集合;选择随机数a1、a2∈Z*,选择随机数d1、d2、d3∈Zp,选择随机数b1、b2∈Z*,则系统公钥pk与系统主私钥msk分别表示为以下由5个组件构成的结构和由9个组件构成的结构:
pk=(h,H1,H2,T1,T2)




其中,e()表示双线性映射运算。
2、生成用户私钥
用户向属性授权服务发送注册请求,请求中包含自己的身份信息。属性授权服务根据用户提供的身份信息生成用户的唯一标识UID,并调用区块链的智能合约KeyGen(msk,S)->(sk1,sk2),结合系统主私钥msk和用户属性生成用户的第一私钥sk1和第二私钥sk2。区块链将用户的第一私钥sk1存储在区块链中,并将第二私钥sk2发送给用户。为了抵抗用户的合谋攻击,本实施例的用户的第一私钥sk1和第二私钥sk2,生成方式如下:
设y为用户属性,y属于用户属性集合S,则对于y的第一私钥sk1表示为由3个组件构成的以下结构:
sk1=(sk0,(sky)1,sk')
sk0=(sk0,1,sk0,2,sk0,3)



(sky)1=((sky,1)1,(sky,2)1,(sky,3)1)


sk'=(sk'1,sk'2,sk'3)

对于y的第二私钥sk2的构造过程同第一私钥sk1类似,表示为由3个组件构成的以下结构:
sk2=(sk0,(sky)2,sk')
(sky)2=((sky,1)2,(sky,2)2,(sky,3)2)

其中,r1、r2、σy、uy、σ'∈Zp、均为随机数,H()表示将属性对应的相关字符串映射到群G中元素的映射函数,映射函数的输入有两种字符串组成格式yLt和0jLt,其中y即为属性,L=1,2,3,t=1,2,j表示正整数,第二种格式以0开头,是为了区分第一种格式。
3、属性加密
由数据拥有者调用区块链的智能合约Encrypt(pk,(M,π),msg)->Ct进行属性加密,并将属性加密后的密文Ct存储在区块链中。属性加密的对象来源于数据拥有者之前的对称加密。数据拥有者先采用对称密钥对原始数据的初始明文进行对称加密,然后将对称加密密文存储在IPFS中。IPFS接收并存储数据拥有者发送过来的对称加密密文,并将存储索引信息返还给数据拥有者。在进行属性加密时,以数据拥有者从分布式存储系统获得的存储索引信息以及数据拥有者对初始明文进行对称加密的对称密钥作为属性加密明文msg,并结合系统公钥pk和数据拥有者指定的访问策略实现属性加密。在属性加密领域,数据拥有者指定的访问策略可以表示为由M和π组成的结构(M,π),其中M为n1×n2的矩阵,π为矩阵M的行到属性的映射。基于此,本实施例中,可以利用访问策略结构中的矩阵设置密文组件,将属性加密后的密文Ct表示为以下结构:

Ct0=(Ct0,1,Ct0,2,Ct0,3)



Cti=(Cti,1,Cti,2,Cti,3)

其中,S1、S2∈Zp、均为随机数,i=1,2…n1,L=1,2,3;(M)i,j表示矩阵M的第(i,j)个元素。
4、属性预解密
数据访问者发送针对属性加密的数据访问请求并调用智能合约Issatisfy(UIDDO,UIDDU)。当区块链接收到数据访问者的访问请求时,先判断数据访问者是否满足数据拥有者指定的访问策略。如果满足,则区块链根据数据访问者的UID获取其第一私钥sk1,调用智能合约FirstDecrypt(Ct,sk1)->firstm进行预解密,并将得到的解密结果firstm返还给数据访问者;否则区块链不进行预解密。为了方便后续操作,本实施例中,当数据访问者不满足访问策略时,区块链还会直接生成一个错误的值作为firstm发送给数据访问者,因该firstm并非为经过预解密而获得的导致在属性解密的步骤中无法通过属性解密获得属性加密明文msg。本实施例中,经过预解密而获得的firstm表示为:
其中,e()表示双线性映射运算,wi表示∈Zp且满足Σi∈IwiMi=(1,0,…0)的参数,i∈I,I={1,2...n1}。因用户属性满足访问策略(M,π),故会存在wi∈Zp以满足上述要求。
5、属性解密
数据访问者调用智能合约SecDecrypt(Ct,sk2,firstm)->msg进行解密。当区块链接收到数据访问者的属性解密请求时,根据数据访问者提供的其第二私钥sk2以及数据访问者在属性预解密步骤中获得的firstm,对数据访问者要访问的属性加密的数据的相应密文Ct进行属性解密,在firstm为经过预解密而获得的情况下得到属性加密明文msg并返还给数据访问者,由数据访问者根据属性加密明文msg中的存储索引信息和对称密钥从分布式存储系统中获得对称加密密文并解密得到初始明文。本实施例中通过计算中间密文secm和解密参数num得到属性加密明文msg:


本实施例的控制方法的性能可以与现有技术中的相关方法进行比较。如图2-图3所示,比较本实施例的方法与两个现有文献方案,其中文献1为LI J,YAO W,HAN J,et al.User collusion avoidance CP-ABE with efficient attribute revocation for cloud storage[J].IEEE Systems Journal,2017,12(2):1767-1777.,文献2为葛纪红,沈韬.基于区块链的能源数据访问控制方法[J].计算机应用,2021,41(09):2615-2622.。图2-图4的横轴代表属性个数,单位为个,纵轴代表运行时间,单位为ms,图中的解密与预解密均指属性解密与属性预解密。使用jpbc2.0.0库进行仿真,根据提供的TypeD曲线构造双线性映射。从图2可以看出,在属性加密阶段,本文方案具备显著优势,并且随着属性个数的增加,时间只是缓慢增加。从图3可以看出,本文方案在预解密和解密各自只需要六次Pairing操作,预解密和解密时间并不随属性个数的增加而增加,且综合属性预解密和属性解密来看, 本文方案总解密时间显著优于两对比方案。另从图4所示,本文方案在大规模属性集下解密效率高,且解密时间不随属性数量增加而增加。
由以上比较可以看出,本文方案能够支持大规模属性集,因此系统建立前无需指定属性集大小。因属性可用任意字符串表示,故表达能力强。本文方案仅需要少量的Paring进行解密,解密速度快,且解密时间不随属性个数的增加而增加。由于通过引入预解密过程,可以实现根据用户需求及时撤销属性,无需更新密文密钥重复上链,适用于区块链系统。系统实现数据共享,细粒度访问的同时,能够保护用户数据隐私,实现数据共享与隐私保护之间的均衡。同时,数据采用链上链下存储,原始数据对称加密后存储在IPFS中,对称密钥进行属性加密上链,还能解决区块链容量不足问题。
以上所述仅为本发明的优选例实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (10)

  1. 区块链隐私数据访问控制方法,其特征在于,包括以下步骤:
    生成用户私钥的步骤:属性授权服务根据用户提供的身份信息生成用户的唯一标识UID,并由区块链生成用户的第一私钥sk1和第二私钥sk2;区块链将用户的第一私钥sk1存储在区块链中,并将第二私钥sk2发送给用户;所述区块链生成用户的第一私钥sk1和第二私钥sk2时,结合系统主私钥msk和用户属性生成所述第一私钥sk1和第二私钥sk2
    存储对称加密密文的步骤:分布式存储系统接收并存储数据拥有者发送过来的对初始明文进行对称加密后的对称加密密文,并将存储索引信息返还给数据拥有者;
    属性加密的步骤:区块链根据数据拥有者的调用进行属性加密,并将属性加密后的密文Ct存储在区块链中;在进行属性加密时,以数据拥有者从分布式存储系统获得的存储索引信息以及数据拥有者对初始明文进行对称加密的对称密钥作为属性加密明文msg,并结合系统公钥pk和数据拥有者指定的访问策略实现属性加密;
    属性预解密的步骤:当区块链接收到数据访问者针对属性加密的数据的访问请求时,先由区块链判断数据访问者是否满足数据拥有者指定的访问策略;如果数据访问者满足访问策略,则区块链根据数据访问者的UID获取其第一私钥sk1,通过该sk1对数据访问者要访问的属性加密的数据的相应密文Ct进行预解密,得到解密结果firstm并返还给数据访问者;如果数据访问者不满足访问策略,则区块链不进行预解密;所述判断数据访问者是否满足数据拥有者指定的访问策略,是由区块链根据数据拥有者存储在区块链中的属性维护列表进行的,数据拥有者能够对属性维护列表进行维护以达到属性撤销的目的;
    属性解密的步骤:当区块链接收到数据访问者的属性解密请求时,根据数据访问者提供的其第二私钥sk2以及数据访问者在属性预解密步骤中 获得的firstm,对数据访问者要访问的属性加密的数据的相应密文Ct进行属性解密,在firstm为经过预解密而获得的情况下得到属性加密明文msg并返还给数据访问者,由数据访问者根据属性加密明文msg中的存储索引信息和对称密钥从分布式存储系统中获得对称加密密文并解密得到初始明文。
  2. 如权利要求1所述的区块链隐私数据访问控制方法,其特征在于,所述系统公钥pk和系统主私钥msk,构造方式如下:
    令p为素数,G、H、GT均是素数阶为p的群,g、h分别是G、H的生成元,e表示双线性映射e:G×H->GT;Zp是对p取模得到的集合{0,1,2,...,p-1},包含所有小于p且与p互素的自然数,Z*表示Zp剔除0元素后的集合;选择随机数a1、a2∈Z*,选择随机数d1、d2、d3∈Zp,选择随机数b1、b2∈Z*,则系统公钥pk与系统主私钥msk分别表示为以下由5个组件构成的结构和由9个组件构成的结构:
    pk=(h,H1,H2,T1,T2)




    其中,e()表示双线性映射运算。
  3. 如权利要求2所述的区块链隐私数据访问控制方法,其特征在于,所述用户的第一私钥sk1和第二私钥sk2,生成方式如下:
    设y为用户属性,所述y属于用户属性集合S,则对于y的第一私钥sk1表示为由3个组件构成的以下结构:
    sk1=(sk0,(sky)1,sk')
    sk0=(sk0,1,sk0,2,sk0,3)



    (sky)1=((sky,1)1,(sky,2)1,(sky,3)1)


    sk′=(sk′1,sk′2,sk′3)

    对于y的第二私钥sk2表示为由3个组件构成的以下结构:
    sk2=(sk0,(sky)2,sk')
    (sky)2=((sky,1)2,(sky,2)2,(sky,3)2)

    其中,r1、r2、σy、uy、σ'∈Zp、均为随机数,H()表示将属性对应的相关字符串映射到群G中元素的映射函数,映射函数的输入有两种字符串组成格式yLt和0jLt,其中y即为属性,L=1,2,3,t=1,2,j表示正整数。
  4. 如权利要求3所述的区块链隐私数据访问控制方法,其特征在于,所述属性加密的步骤中,数据拥有者指定的访问策略表示为由M和π组成的结构(M,π),其中M为n1×n2的矩阵,π为矩阵M的行到属性的映射,则属性加密后的密文Ct表示为以下结构:
    Ct=(Ct0,Ct1…Ctn1,Ct′)
    Ct0=(Ct0,1,Ct0,2,Ct0,3)



    Cti=(Cti,1,Cti,2,Cti,3)

    其中,S1、S2∈Zp、均为随机数,i=1,2…n1,L=1,2,3;(M)i,j表示矩阵M的第(i,j)个元素。
  5. 如权利要求4所述的区块链隐私数据访问控制方法,其特征在于,所述属性预解密的步骤中,经过预解密而获得的firstm表示为:
    其中,e()表示双线性映射运算,wi表示∈Zp且满足Σi∈IwiMi=(1,0,…0)的参数,i∈I,I={1,2...n1}。
  6. 如权利要求5所述的区块链隐私数据访问控制方法,其特征在于,所述属性解密的步骤中,通过计算中间密文secm和解密参数num得到属性加密明文msg:

  7. 如权利要求6所述的区块链隐私数据访问控制方法,其特征在于,所述属性维护列表被配置为,如果属性维护列表中的数据访问者属性满足访问策略或者属性维护列表中没有数据访问者的信息,则认为数据访问者满足访问策略。
  8. 如权利要求6所述的区块链隐私数据访问控制方法,其特征在于,所述属性预解密的步骤中,如果数据访问者不满足访问策略,则区块链直 接生成一个错误的值作为firstm发送给数据访问者,因该firstm并非为经过预解密而获得的导致在属性解密的步骤中无法通过属性解密获得属性加密明文msg。
  9. 如权利要求1~8任一所述的区块链隐私数据访问控制方法,其特征在于,所述分布式存储系统为星际文件系统IPFS。
  10. 区块链隐私数据访问控制系统,包括区块链、属性授权服务和分布式存储系统,其特征在于,所述系统运行如权利要求1~9任一所述的方法。
PCT/CN2023/089634 2022-05-25 2023-04-21 区块链隐私数据访问控制方法和系统 WO2023226641A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210576086.7A CN114679271A (zh) 2022-05-25 2022-05-25 区块链隐私数据访问控制方法和系统
CN202210576086.7 2022-05-25

Publications (1)

Publication Number Publication Date
WO2023226641A1 true WO2023226641A1 (zh) 2023-11-30

Family

ID=82079721

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/089634 WO2023226641A1 (zh) 2022-05-25 2023-04-21 区块链隐私数据访问控制方法和系统

Country Status (2)

Country Link
CN (1) CN114679271A (zh)
WO (1) WO2023226641A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117714211A (zh) * 2024-02-04 2024-03-15 杭州海康威视数字技术股份有限公司 支持数据完整性审计的属性加密方法、系统及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114679271A (zh) * 2022-05-25 2022-06-28 南京理工大学 区块链隐私数据访问控制方法和系统
CN116561786B (zh) * 2023-06-14 2024-01-26 成都信息工程大学 一种基于区块链的医疗数据分类加密共享方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109559117A (zh) * 2018-11-14 2019-04-02 北京科技大学 基于属性基加密的区块链合约隐私保护方法与系统
CN112989378A (zh) * 2021-03-12 2021-06-18 北京航空航天大学 一种基于属性加密的文件可信中间存储架构
CN113193953A (zh) * 2021-04-16 2021-07-30 南通大学 一种基于区块链的多权威属性基加密方法
CN114338717A (zh) * 2021-12-17 2022-04-12 复旦大学 基于区块链和属性密码学的数字档案管理系统
CN114679271A (zh) * 2022-05-25 2022-06-28 南京理工大学 区块链隐私数据访问控制方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109559117A (zh) * 2018-11-14 2019-04-02 北京科技大学 基于属性基加密的区块链合约隐私保护方法与系统
CN112989378A (zh) * 2021-03-12 2021-06-18 北京航空航天大学 一种基于属性加密的文件可信中间存储架构
CN113193953A (zh) * 2021-04-16 2021-07-30 南通大学 一种基于区块链的多权威属性基加密方法
CN114338717A (zh) * 2021-12-17 2022-04-12 复旦大学 基于区块链和属性密码学的数字档案管理系统
CN114679271A (zh) * 2022-05-25 2022-06-28 南京理工大学 区块链隐私数据访问控制方法和系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117714211A (zh) * 2024-02-04 2024-03-15 杭州海康威视数字技术股份有限公司 支持数据完整性审计的属性加密方法、系统及装置
CN117714211B (zh) * 2024-02-04 2024-04-30 杭州海康威视数字技术股份有限公司 支持数据完整性审计的属性加密方法、系统及装置

Also Published As

Publication number Publication date
CN114679271A (zh) 2022-06-28

Similar Documents

Publication Publication Date Title
WO2023226641A1 (zh) 区块链隐私数据访问控制方法和系统
CN109768987B (zh) 一种基于区块链的数据文件安全隐私存储和分享方法
Chen et al. Efficient CP-ABE scheme with shared decryption in cloud storage
Li et al. An efficient attribute-based encryption scheme with policy update and file update in cloud computing
Liang et al. Searchable attribute-based mechanism with efficient data sharing for secure cloud storage
Li et al. User collusion avoidance CP-ABE with efficient attribute revocation for cloud storage
Wang et al. Hierarchical attribute-based encryption for fine-grained access control in cloud storage services
Zhou et al. Achieving secure role-based access control on encrypted data in cloud storage
WO2023044963A1 (zh) 一种基于属性条件门限代理重加密方法和系统
CN108632030B (zh) 一种基于cp-abe的细粒度访问控制方法
Li et al. Privacy-preserving data utilization in hybrid clouds
CN114065265A (zh) 基于区块链技术的细粒度云存储访问控制方法、系统及设备
CN108111540A (zh) 一种云存储中支持数据共享的分层访问控制系统及方法
Xu et al. Enabling authorized encrypted search for multi-authority medical databases
CN105933345A (zh) 一种基于线性秘密共享的可验证外包属性基加密方法
CN110933033A (zh) 智慧城市环境下多物联网域的跨域访问控制方法
CN102244660A (zh) 一种实现支持细粒度访问控制的加密方法
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
Ming et al. Efficient revocable multi-authority attribute-based encryption for cloud storage
CN105915333B (zh) 一种基于属性加密的高效密钥分发方法
WO2020082688A1 (zh) 一种云端文件共享方法、装置、设备及存储介质
Liu et al. Dynamic attribute-based access control in cloud storage systems
Wang et al. Attribute-based equality test over encrypted data without random oracles
CN106612175A (zh) 移动云中多要素访问控制的代理重加密算法
CN110611571A (zh) 一种基于雾的智能电网系统的可撤销访问控制方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23810715

Country of ref document: EP

Kind code of ref document: A1