CN111859444B - 一种基于属性加密的区块链数据监管方法及系统 - Google Patents

一种基于属性加密的区块链数据监管方法及系统 Download PDF

Info

Publication number
CN111859444B
CN111859444B CN202010535329.3A CN202010535329A CN111859444B CN 111859444 B CN111859444 B CN 111859444B CN 202010535329 A CN202010535329 A CN 202010535329A CN 111859444 B CN111859444 B CN 111859444B
Authority
CN
China
Prior art keywords
ciphertext
data
session key
supervision
key
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
CN202010535329.3A
Other languages
English (en)
Other versions
CN111859444A (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.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
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 Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202010535329.3A priority Critical patent/CN111859444B/zh
Publication of CN111859444A publication Critical patent/CN111859444A/zh
Application granted granted Critical
Publication of CN111859444B publication Critical patent/CN111859444B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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/602Providing cryptographic facilities or services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种基于属性加密的区块链数据监管方法及系统,包括:用户向可信数据处理中心提交用户标识、存储数据及用户属性;可信数据处理中心通过会话密钥加密存储数据得到密文数据,获取监管策略类型及包含用户属性的ABE密文策略;根据不同的ABE密文策略,得到ABE会话密钥密文及可能存在的门限会话密钥密文;将密文数据哈希写入区块链,存储ABE会话密钥密文、可能存在的门限会话密钥密文及监管策略类型至数据存储中心;监管部门根据上述数据及通过可信数据处理中心获取的ABE解密私钥及门限解密方案的一私钥份额,得到存储数据。本发明有效兼顾敏感数据的隐私保护,实现细粒度、强制性、非交互式的数据监管,满足不同数据的监管需求。

Description

一种基于属性加密的区块链数据监管方法及系统
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于属性加密的区块链数据监管方法及系统。
背景技术
区块链本质上是一种分布式账本,作为一种集成了分布式数据存储、点对点传输、共识机制、加密算法等技术的新型应用系统,具有去中心化、集体维护、匿名、不可篡改、不可伪造、可追溯等强大特征。区块链的应用起源于金融领域,随着区块链技术研究的深入,逐步扩展到企业管理、互联网治理、政务管理、医疗、军事、食品安全等诸多领域中,对实现数据的安全防护,形成数据资产,提升数据质量和应用价值具有重要意义。
然而,随着区块链应用到政府部门、军事以及各类关系到国计民生的行业与领域,如金融和能源等等,监管成为了区块链得以应用,并大力推广的必要条件。如果区块链监管缺失,区块链的去中心化、匿名性、隐私保护等安全特性将被恶意用户利用,进行非法交易、发送敏感数据等非法操作,区块链最终会沦为恶意用户的保护伞。区块链数据,包括区块链中存储或处理的数据本身,是区块链中首要监管的对象。通常数据监管是在明文数据上开展的,然而敏感数据以明文形式存在将不利于数据的隐私保护;而传统的加密方案可保护数据隐私,却难以开展数据监管,因此,可兼顾数据隐私保护及可靠数据监管的系统和方案设计成为亟待解决的问题。不同的区块链应用中数据的监管需求各不相同,因此区块链数据监管系统与方法应该支持灵活的监管策略设置,并能保证监管的可靠、高效。
为实现细粒度、强制性、非交互式数据监管,本发明采用属性加密方案(Attribute-based Encryption,ABE)。ABE是一种能够实现细粒度非交互访问控制机制的加密技术。据其功能不同,可将ABE分为两大类密钥策略的属性加密方案(Keyword-Policy-ABE,KP-ABE),其中密钥与访问控制策略相关联,密文与用户的属性集合相关联;而密文策略的属性加密方案(Ciphertext-Policy-ABE,CP-ABE),密钥与用户的属性集合相关,密文与访问策略相关联。对于这两种属性加密方案,当属性集合满足访问控制策略的时候,用户即能够正确解密。本发明采用CP-ABE在密文中嵌入监管策略,实现数据监管。
为了提高加密效率,采用密钥封装机制(Key Encapsulation Mechanisms,KEM)/数据封装机制(Data Encapsulation Mechanism,DEM)混合加密,即使用ABE方案加密会话密钥,使用用会话密钥作为DEM部分的私钥加密数据本身。同样,仅具有合法属性的用户才可解密KEM部门,获取封装的会话密钥,再使用会话密钥解密DEM部分获得原始数据。
为支持多方联合监管,提升监管的灵活性,本发明采用分布式RSA方案(distributed RSA,dRSA)。RSA是一种发展成熟,使用广泛的公钥加密方案,分布式RSA是RSA方案的扩展,允许可信第三方将解密私钥划分为若干弱私钥,分别分配给多个实体,解密数据时,需要所有实体联合才能完成解密,获得原始数据。这一方案在多用户场景中有广泛的用途。
本发明以属性加密、分布式RSA加密技术为核心,解决区块链中数据隐私保护和监管的问题。相比之前的技术,本发明能有效实现区块链敏感数据的隐私保护,并支持灵活可靠的数据监管,支持细粒度、强制性、非交互式的数据监管策略,以及多方联合监管,可满足不同区块链应用的数据监管需求。
发明内容
本发明的目的在于提出一种基于属性加密的区块链数据监管方法及系统,开发者及使用者可以根据区块链应用数据的具体监管需求,设置细粒度、灵活的监管策略,具体策略包括基于监管部门属性的细粒度的独立监管,以及多监管部门的联合监管,可在保护区块链敏感数据隐私性的同时,实现安全、可靠的区块链数据监管。允许合法的用户或应用访问自己的数据,并能对数据的有效性进行验证;允许合法的监管部门,依照预设的监管策略,对区块链数据进行监管。所述监管即监管部门解密获取原始数据,对数据内容进行核查,检查是否存在非法数据。
为达到上述目的,本发明采用如下技术方案:
一种基于属性加密的区块链数据监管方法,适用于若干用户、若干监管部门、至少一数据存储中心及一可信数据处理中心组成的区块链系统,其步骤包括:
1)可信数据处理中心根据监管需要为各用户赋予不同监管策略类型的用户标识,向监管部门提供属性加密方案解密私钥及门限解密方案的一私钥份额;
2)用户存储数据时,向可信数据处理中心提交用户标识、存储数据及用户属性,可信数据处理中心通过随机生成的一会话密钥加密存储数据,得到密文数据,并根据用户标识对应的监管策略类型,设置包含用户属性的属性加密方案密文策略;
3)根据不同的属性加密方案密文策略,使用属性加密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文,或分别使用属性加密方案及门限解密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文与第二会话密钥密文;
4)将通过密文数据生成的密文数据哈希写入区块链,存储第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型至数据存储中心;
5)进行数据监管时,监管部门获取一存储数据的密文数据哈希、第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型,并使用密文数据哈希对密文数据进行验证;
6)根据不同的监管策略类型,使用属性加密方案解密私钥解密第一会话密钥密文得到会话密钥,或设定数量的各监管部门使用各自的门限解密方案私钥份额进行联合解密,得到会话密钥;
7)通过会话密钥及密文数据,得到存储数据。
进一步地,门限解密方案包括基于身份的门限解密方案、Paillier阈值加密方案、RSA门限解密或分布式RSA方案。
进一步地,可信数据处理中心通过以下步骤生成分布式RSA方案的dRSA弱解密私钥:
1)随机选择两个大素数q1,q2
2)计算模数N=q1×q2
3)计算欧拉函数
Figure BDA0002536852750000031
4)随机选取整数ε,满足
Figure BDA0002536852750000032
将dRSA公钥设为pk=(N,ε);
5)计算d,满足
Figure BDA0002536852750000033
将dRSA私钥设为sk=(N,d);
6)输入dRSA私钥sk=(N,d),监管部门总数t,随机选择d1,…,dt,使得d=d1+…+dt,对于i=1,…,t,设置弱解密密钥
Figure BDA0002536852750000034
进一步地,可信数据处理中心通过以下步骤生成属性加密方案解密私钥:
1)选取一组非对称的双线性映射参数BP=(G1,G2,GT,e,p),其中G1,G2,GT为三个不同的群,p为这些群的素数阶,e:G1×G2→GT为非对称的双线性映射;
2)定义用户属性U及监管部门属性
Figure BDA0002536852750000036
为有限域Zp中的元素;
3)随机选取G1的生成元(g,h,u,v,w),G2的生成元z,任意选取属于有限域Zp的随机数α,计算e(g,z)α
4)将属性加密方案公钥PK=(BP,g,h,u,v,w,z,e(g,z)α),属性加密方案主私钥为MSK=α;
5)通过主私钥MSK=α以及合法的监管部门属性
Figure BDA0002536852750000035
随机选取k+1个属于Zp的值r,r1,…,rk,计算部分密钥K0=gαwr,k为监管部门数量;
6)执行模指数运算得到部分密钥K1=zr,对j=1,…,k,分别计算部分密钥Kj,2=gα和部分密钥
Figure BDA0002536852750000041
设置私钥
Figure BDA0002536852750000042
其中-r表示r在有限域Zp中的加法逆元。
进一步地,通过以下步骤得会话密钥:
1)随机从Zp中选取随机数s和y2,…yn,设置列向量
Figure BDA0002536852750000043
计算随机数s的共享列向量
Figure BDA0002536852750000044
M是一个l行×n列的矩阵,每一行映射为一个属性,T表示求转置,
Figure BDA0002536852750000045
表示将矩阵M和向量
Figure BDA0002536852750000046
相乘;
2)从Zp中选择随机数t1,…,tk,计算会话密钥key=e(g,z)αs
进一步地,通过以下步骤得到第一会话密钥密文
1)获取属性加密方案加密公钥及一线性秘密共享访问结构(M,ρ),ρ是一个映射;
2)通过会话密钥key=e(g,z)αs,计算部分密文C0=zs
3)对o=1,…,l,分别计算部分密文
Figure BDA0002536852750000047
Figure BDA0002536852750000048
ρ(o)表示矩阵M的第o行映射的属性,-to表示随机数to在有限域Zp中的加法逆元;
4)得到第一会话密钥密文Ckey=((M,ρ),C0,{Co,1,Co,2,Co,3;o=1,…,l})。
进一步地,通过对称加密方案加密算法,使用会话密钥加密存储数据。
进一步地,可信数据处理中心设有一存储地址列表,用以维护存储数据密文、第一会话密钥密文及相应的监管策略类型或数据密文、第一会话密钥密文、第二会话密钥密文及相应的监管策略类型的第一存储地址及数据密文哈希的第二存储地址。
进一步地,用户通过以下步骤读取相应存储数据
1)用户向可信数据处理中心提交该用户属性,请求数据解密密钥;
2)可信数据处理中心根据该用户属性,使用属性加密方案私钥生成算法,生成对应的属性加密方案私钥,并发送至相应用户;
3)用户分别通过区块链或数据存储中心获取数据密文哈希、存储数据密文、第一会话密钥密文及相应的监管策略类型;
4)使用数据密文哈希验证存储数据密文是否正确;
5)使用属性加密方案私钥解密第一会话密钥密文,得到会话密钥;
6)使用会话密钥解密存储数据密文,得到存储数据。
一种基于属性加密的区块链数据监管系统,包括若干用户、若干监管部门、至少一数据存储中心及一可信数据处理中心组成的区块链系统;
用户,用以向可信数据处理中心提交用户标识及存储数据;
监管部门,用以获取一存储数据的密文数据哈希、第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型,并使用密文数据哈希对密文数据进行验证;根据不同的监管策略类型,使用属性加密方案解密私钥解密第一会话密钥密文得到会话密钥,或设定数量的各监管部门使用各自的门限解密方案私钥份额进行联合解密,得到会话密钥;通过会话密钥及密文数据,得到存储数据;
可信数据处理中心,用以生成属性加密方案解密私钥及门限解密方案私钥份额;根据监管需要为各用户赋予不同监管策略类型的用户标识;通过随机生成的一会话密钥加密存储数据,得到密文数据,并根据用户标识对应的监管策略类型,设置包含用户属性的第一密文策略;根据不同的属性加密方案密文策略,使用属性加密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文,或分别使用属性加密方案及门限解密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文及第二会话密钥密文;将通过密文数据生成的密文数据哈希写入区块链,存储第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型至数据存储中心;
数据存储中心,用以存储第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型。
与现有技术相比,本发明的积极效果为:
1)为传统区块链提供了一种可靠、灵活、高效的数据监管系统与方法,同时可有效兼顾敏感数据的隐私保护;
2)采用属性加密方案实现细粒度、强制性、非交互式的数据监管、使用分布式RSA方案实现多监管部门的联合监管,可满足不同数据的监管需求。
附图说明
图1为本发明系统模型图;
图2为系统初始化示意图;
图3为监管部门注册示意图;
图4为合法用户隐私数据写入与读取示意图;
图5为数据监管示意图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下文特举实例,并配合所附图作详细说明如下。
如图1所示,一种基于属性加密的区块链数据监管系统主要包括两个组成组件:区块链以及数据存储中心;三个主要参与实体:可信数据处理中心、用户、以及监管部门。不同组件和主体具有不同的功能和职责。
1、区块链:提供可靠的数据存储,本发明中存储密文数据哈希,保证其不可篡改,作为数据完整性校验的凭证。
2、数据存储中心:数据存储的主要组件,本发明中存储数据密文、会话密钥密文及相应的监管策略类型。
3、可信数据处理中心(TDPC):制定并维护用户数据的监管策略;管理监管部门注册;为用户、各监管部门生成并分发合法的密钥;生成嵌有相应监管策略的合法数据密文;生成并写入密文数据哈希至区块链;存储密文数据至数据存储中心;维护密文数据哈希及密文数据相应的存储地址。
4、用户:隐私数据的产生者和拥有者,可请求TDPC写入隐私数据至区块链;与TDPC交互获取、校验、解密查看隐私数据。
5、监管部门:向TDPC注册,获取监管密钥,依照预设的监管策略校验数据,解密查看、核查数据内容,完成数据监管。
本实例需应用属性加密方案CP-ABE-KEM、分布式RSA方案dRSA、以及对称加密方案Σ,(在其他实施例中,分布式RSA方案也可使用基于身份的门限解密方案、Paillier阈值加密方案或RSA门限解密替代),相关算法说明如下:
Figure BDA0002536852750000061
Figure BDA0002536852750000062
Figure BDA0002536852750000071
Figure BDA0002536852750000072
基于以上组件、参与实体、及相关技术方案,一种基于属性加密的区块链数据监管方法主要包括以下部分:
1、系统初始化
如图2所示,TDPC运行CP-ABE-KEM方案系统建立算法Setup1,生成ABE主私钥、公钥对(MSK,PK)。具体地,
1)根据预设的规则选取一组非对称的双线性映射参数BP=(G1,G2,GT,e,p),其中G1,G2,GT为三个不同的群,p为这些群的素数阶,e:G1×G2→GT为非对称的双线性映射,表示分别输入G1中的一个元素及G2中的一个元素即可输出一个GT中的元素。2)定义用户的属性U及监管部门的属性
Figure BDA0002536852750000073
为有限域Zp(整数环中的模p的剩余类环)中的元素,即用Zp中的一个元素表示真实世界中的一个属性,且一个属性唯一对应一个这样的元素,对应关系被记录在属性描述中。3)随机选取G1的生成元g,h,u,v,w,G2的生成元z,任意选取属于有限域Zp的随机数α,计算e(g,z)α。4)将ABE公钥设为PK=(BP,g,h,u,v,w,z,e(g,z)α),并在系统中公开;将ABE主私钥设为MSK=α,由TDPC安全地保存。
TDPC运行dRSA方案系统建立算法Setup2,生成dRSA加密公私钥对(pk,sk)。具体地,
1)随机选择两个大素数q1,q2。2)计算模数N=q1×q2。3)计算欧拉函数
Figure BDA0002536852750000074
Figure BDA0002536852750000075
4)随机选取整数ε,满足
Figure BDA0002536852750000076
将dRSA公钥设为pk=(N,ε)。5)计算d,满足
Figure BDA0002536852750000077
将dRSA私钥设为sk=(N,d)。
TDPC初始化用户数据监管策略列表,根据实际数据监管需要,为用户标识UserID设置监管类型policy。本发明支持两类监管策略,policy=independent,表示基于监管部门属性的细粒度的独立监管,policy=joint表示多监管部门的联合监管。
2、监管部门注册
如图3所示,监管部门在执行监管前,需向TDPC提交注册请求
Figure BDA0002536852750000081
包括部门标识Di及其拥有的属性
Figure BDA0002536852750000082
TDPC验证注册请求信息准确性后,生成相应的监管密钥,包括:
TDPC运行CP-ABE方案私钥生成算法KeyGen1,生成对应属性
Figure BDA0002536852750000083
的私钥
Figure BDA0002536852750000084
具体地,
输入主私钥MSK=α以及合法的监管部门属性
Figure BDA0002536852750000085
A1,…Ak分别表示k各监管部门的属性,随机选取k+1个属于Zp的值r,r1,…,rk,计算部分密钥K0=gαwr;执行模指数运算得到部分密钥K1=zr,对j=1,…,k,分别计算部分密钥Kj,2=gα和部分密钥
Figure BDA0002536852750000086
Figure BDA0002536852750000087
(其中-r表示r在有限域Zp中的加法逆元),设置私钥
Figure BDA0002536852750000088
Figure BDA0002536852750000089
TDPC运行dRSA方案密钥生成算法KeyGen2,生成dRSA的弱解密密钥
Figure BDA00025368527500000810
具体地,
输入dRSA私钥sk=(N,d),监管部门总数t,随机选择d1,…,dt,使得d=d1+…+dt,对于i=1,…,t,设置弱解密密钥
Figure BDA00025368527500000811
TDPC通过安全信道分发
Figure BDA00025368527500000812
给监管部门Di
3、合法用户隐私数据写入与读取
1)用户隐私数据写入方法,步骤包括:
用户向TDPC提交写入隐私数据请求DataWrite=(UserID,Data,U),包括用户标识UserID、待写入数据Data及其拥有的属性U={B1,…Bk},其中。
TDPC根据UserID获取相应的监管策略类型policy,如果policy=independent,则设置ABE密文策略为
Figure BDA00025368527500000813
运行CP-ABE-KEM方案加密算法Enc1生成并加密会话密钥key,即允许拥有这些属性的用户或监管部门获得会话密钥。具体地,输入公钥PK,线性秘密共享访问结构(M,ρ),其中M是一个l行×n列的矩阵,每一行映射为一个属性,ρ是一个映射,由矩阵M中的任意一行映射为一个属性。首先,随机从Zp中选取随机数s和y2,…yn,设置列向量
Figure BDA00025368527500000814
其中T表示求转置,计算随机数s的共享列向量
Figure BDA00025368527500000815
Figure BDA00025368527500000816
表示将矩阵M和向量
Figure BDA00025368527500000817
相乘,接着从Zp中选择随机数t1,…,tk,计算会话密钥key=e(g,z)αs,计算部分密文C0=zs。对o=1,…,l,分别计算部分密文
Figure BDA0002536852750000091
Figure BDA0002536852750000092
Figure BDA0002536852750000093
(其中ρ(o)表示矩阵M的第o行映射的属性,-to表示随机数to在有限域Zp中的加法逆元),设置密文为Ckey=((M,ρ),C0,{Co,1,Co,2,Co,3;o=1,…,l}),其中ABE密文策略是嵌入ABE密文的。
如果policy=joint,则设置ABE密文策略为Pdata=U,运行CP-ABE-KEM方案加密算法Enc1生成并加密会话密钥key,获得密文
Figure BDA0002536852750000094
具体过程与上述过程一致。然后运行dRSA方案数据加密算法Enc2加密key,具体地,输入dRSA私钥sk=(N,d),计算
Figure BDA0002536852750000095
Figure BDA0002536852750000096
设置密文为
Figure BDA0002536852750000097
TDPC运行对称加密方案加密算法,使用会话密钥key加密用户数据Data,获得数据密文CData=E(key,data);使用哈希函数H,生成密文数据哈希hData=H(CData);写入hData至区块链,并获取存储地址addr(hData);存储数据密文、会话密钥密文及相应的监管策略类型CData||Ckey||policy至数据存储中心,并获取存储地址addr(CData);TDPC本地维护存储地址列表。
2)用户隐私数据读取方法,步骤包括:
用户向TDPC提交其属性U,请求数据解密密钥;TDPC使用CP-ABE-KEM方案私钥生成算法KeyGen1,生成对应属性U的私钥SKU=(U,K0,K1,{Kj,2,Kj,3;i=1,…,k}),并通过安全信道分发给用户;用户分别向区块链和数据存储中心提交存储地址addr(hData),addr(CData),获取密文数据哈希、数据密文、会话密钥密文及相应的监管策略类型hData,CData||Ckey||policy;用户使用哈希函数H计算H(CData),验证hData=H(CData)是否成立;运行CP-ABE方案解密算法Dec1,使用SKU解密Ckey获得会话密钥key,具体地,输入Ckey和对应属性U的私钥SKU。如果属性集合不满足访问策略,算法终止。否则,在矩阵M的所有行向量映射的属性集合中,选取和属性集合U的交集为I={o:ρ(o)∈U},计算U中每o行矩阵行向量Mo的系数ωo使其满足等式∑o∈Iωo·Mo=(1,0,…,0),然后计算会话密钥
Figure BDA0002536852750000098
Figure BDA0002536852750000099
最后,调用对称加密方案解密算法使用会话密钥key解密获得原始数据,具体地,计算输出Data=D(key,CData)。
4、监管部门数据监管
监管部门首先向TDPC请求待监管数据存储地址,TDPC根据存储地址列表返回相应的存储地址addr(hData),addr(CData);监管部门分别向区块链和数据存储中心提交存储地址,获取密文数据哈希、数据密文、会话密钥密文及相应的监管策略类型hData,CData||Ckey||policy;随后,监管部门根据监管策略类型执行以下数据解密过程:
如果监管策略类型为"independent",则运行CP-ABE-KEM方案解密算法Dec1,使用
Figure BDA0002536852750000101
解密Ckey获得会话密钥key;如果监管策略类型为"joint",则各监管部门分别使用其dRSA的弱解密密钥
Figure BDA0002536852750000102
部分解密dRSA会话密钥密文,具体地,计算
Figure BDA0002536852750000103
最后联合解密获得会话密钥,具体地,计算获得key=PC1·…·PCi·…·PCt,并在部门间共享,各监管部门运行对称加密方案解密算法解密获得原始数据:Data=D(key,CData),并对原始数据内容进行核查。
提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。

Claims (8)

1.一种基于属性加密的区块链数据监管方法,适用于若干用户、若干监管部门、至少一数据存储中心及一可信数据处理中心组成的区块链系统,其步骤包括:
1)可信数据处理中心根据监管需要为各用户赋予不同监管策略类型的用户标识,向监管部门提供属性加密方案解密私钥及门限解密方案的一私钥份额,其中,可信数据处理中心通过以下步骤生成属性加密方案解密私钥:
1.1)选取一组非对称的双线性映射参数BP=(G1,G2,GT,e,p),其中G1,G2,GT为三个不同的群,p为这些群的素数阶,e:G1×G2→GT为非对称的双线性映射;
1.2)定义用户属性U及监管部门属性
Figure FDA0003344773680000017
为有限域Zp中的元素;
1.3)随机选取G1的生成元(g,h,u,v,w),G2的生成元z,任意选取属于有限域Zp的随机数α,计算e(g,z)α
1.4)将属性加密方案公钥PK=(BP,g,h,u,v,w,z,e(g,z)α),属性加密方案主私钥为MSK=α;
1.5)通过主私钥MSK=α以及合法的监管部门属性
Figure FDA0003344773680000018
随机选取k+1个属于Zp的值r,r1,…,rk,计算部分密钥K0=gαwr,k为监管部门数量;
1.6)执行模指数运算得到部分密钥K1=zr,对j=1,…,k,分别计算部分密钥Kj,2=gα和部分密钥
Figure FDA0003344773680000011
设置私钥
Figure FDA0003344773680000012
其中-r表示r在有限域Zp中的加法逆元;
2)用户存储数据时,向可信数据处理中心提交用户标识、存储数据及用户属性,可信数据处理中心通过随机生成的一会话密钥加密存储数据,得到密文数据,并根据用户标识对应的监管策略类型,设置包含用户属性的属性加密方案密文策略,其中通过以下步骤得到会话密钥:
2.1)随机从Zp中选取随机数s和y2,…yn,设置列向量
Figure FDA0003344773680000013
计算随机数s的共享列向量
Figure FDA0003344773680000014
M是一个l行×n列的矩阵,每一行映射为一个属性,T表示求转置,
Figure FDA0003344773680000015
表示将矩阵M和向量
Figure FDA0003344773680000016
相乘;
2.2)从Zp中选择随机数t1,…,tk,计算会话密钥key=e(g,z)αs
3)根据不同的属性加密方案密文策略,使用属性加密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文,或分别使用属性加密方案及门限解密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文与第二会话密钥密文;
4)将通过密文数据生成的密文数据哈希写入区块链,存储第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型至数据存储中心;
5)进行数据监管时,监管部门获取一存储数据的密文数据哈希、第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型,并使用密文数据哈希对密文数据进行验证;
6)根据不同的监管策略类型,使用属性加密方案解密私钥解密第一会话密钥密文得到会话密钥,或设定数量的各监管部门使用各自的门限解密方案私钥份额进行联合解密,得到会话密钥;
7)通过会话密钥及密文数据,得到存储数据。
2.如权利要求1所述的方法,其特征在于,门限解密方案包括基于身份的门限解密方案、Paillier阈值加密方案、RSA门限解密或分布式RSA方案。
3.如权利要求2所述的方法,其特征在于,可信数据处理中心通过以下步骤生成分布式RSA方案的dRSA弱解密私钥:
1)随机选择两个大素数q1,q2
2)计算模数N=q1×q2
3)计算欧拉函数
Figure FDA0003344773680000021
4)随机选取整数ε,满足
Figure FDA0003344773680000022
将dRSA公钥设为pk=(N,ε);
5)计算d,满足
Figure FDA0003344773680000023
将dRSA私钥设为sk=(N,d);
6)输入dRSA私钥sk=(N,d),监管部门总数t,随机选择d1,…,dt,使得d=d1+…+dt,对于i=1,…,t,设置弱解密密钥
Figure FDA0003344773680000024
4.如权利要求1所述的方法,其特征在于,通过以下步骤得到第一会话密钥密文:
1)获取属性加密方案加密公钥及一线性秘密共享访问结构(M,ρ),ρ是一个映射;
2)通过会话密钥key=e(g,z)αs,计算部分密文C0=zs
3)对o=1,…,l,分别计算部分密文
Figure FDA0003344773680000025
ρ(o)表示矩阵M的第o行映射的属性,-to表示随机数to在有限域Zp中的加法逆元;
4)得到第一会话密钥密文Ckey=((M,ρ),C0,{Co,1,Co,2,Co,3;o=1,…,l})。
5.如权利要求1所述的方法,其特征在于,通过对称加密方案加密算法,使用会话密钥加密存储数据。
6.如权利要求1所述的方法,其特征在于,可信数据处理中心设有一存储地址列表,用以维护存储数据密文、第一会话密钥密文及相应的监管策略类型或数据密文、第一会话密钥密文、第二会话密钥密文及相应的监管策略类型的第一存储地址及数据密文哈希的第二存储地址。
7.如权利要求1所述的方法,其特征在于,用户通过以下步骤读取相应存储数据:
1)用户向可信数据处理中心提交该用户属性,请求数据解密密钥;
2)可信数据处理中心根据该用户属性,使用属性加密方案私钥生成算法,生成对应的属性加密方案私钥,并发送至相应用户;
3)用户分别通过区块链或数据存储中心获取数据密文哈希、存储数据密文、第一会话密钥密文及相应的监管策略类型;
4)使用数据密文哈希验证存储数据密文是否正确;
5)使用属性加密方案私钥解密第一会话密钥密文,得到会话密钥;
6)使用会话密钥解密存储数据密文,得到存储数据。
8.一种基于属性加密的区块链数据监管系统,包括若干用户、若干监管部门、至少一数据存储中心及一可信数据处理中心组成的区块链系统;
用户,用以向可信数据处理中心提交用户标识及存储数据;
监管部门,用以获取一存储数据的密文数据哈希、第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型,并使用密文数据哈希对密文数据进行验证;根据不同的监管策略类型,使用属性加密方案解密私钥解密第一会话密钥密文得到会话密钥,或设定数量的各监管部门使用各自的门限解密方案私钥份额进行联合解密,得到会话密钥;通过会话密钥及密文数据,得到存储数据,其中可信数据处理中心通过以下步骤生成属性加密方案解密私钥:
选取一组非对称的双线性映射参数BP=(G1,G2,GT,e,p),其中G1,G2,GT为三个不同的群,p为这些群的素数阶,e:G1×G2→GT为非对称的双线性映射;
定义用户属性U及监管部门属性
Figure FDA0003344773680000031
为有限域Zp中的元素;
随机选取G1的生成元(g,h,u,v,w),G2的生成元z,任意选取属于有限域Zp的随机数α,计算e(g,z)α
将属性加密方案公钥PK=(BP,g,h,u,v,w,z,e(g,z)α),属性加密方案主私钥为MSK=α;
通过主私钥MSK=α以及合法的监管部门属性
Figure FDA0003344773680000032
随机选取k+1个属于Zp的值r,r1,…,rk,计算部分密钥K0=gαwr,k为监管部门数量;
执行模指数运算得到部分密钥K1=zr,对j=1,…,k,分别计算部分密钥Kj,2=gα和部分密钥
Figure FDA0003344773680000041
设置私钥
Figure FDA0003344773680000042
其中-r表示r在有限域Zp中的加法逆元;
可信数据处理中心,用以生成属性加密方案解密私钥及门限解密方案私钥份额;根据监管需要为各用户赋予不同监管策略类型的用户标识;通过随机生成的一会话密钥加密存储数据,得到密文数据,并根据用户标识对应的监管策略类型,设置包含用户属性的第一密文策略;根据不同的属性加密方案密文策略,使用属性加密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文,或分别使用属性加密方案及门限解密方案加密会话密钥,得到包含属性加密方案密文策略的第一会话密钥密文及第二会话密钥密文;将通过密文数据生成的密文数据哈希写入区块链,存储第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型至数据存储中心,其中通过以下步骤得到会话密钥:
随机从Zp中选取随机数s和y2,…yn,设置列向量
Figure FDA0003344773680000043
计算随机数s的共享列向量
Figure FDA0003344773680000044
M是一个l行×n列的矩阵,每一行映射为一个属性,T表示求转置,
Figure FDA0003344773680000045
表示将矩阵M和向量
Figure FDA0003344773680000046
相乘;
从Zp中选择随机数t1,…,tk,计算会话密钥key=e(g,z)as
数据存储中心,用以存储第一会话密钥密文、密文数据及相应的监管策略类型或第一会话密钥密文、第二会话密钥密文、密文数据及相应的监管策略类型。
CN202010535329.3A 2020-06-12 2020-06-12 一种基于属性加密的区块链数据监管方法及系统 Active CN111859444B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010535329.3A CN111859444B (zh) 2020-06-12 2020-06-12 一种基于属性加密的区块链数据监管方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010535329.3A CN111859444B (zh) 2020-06-12 2020-06-12 一种基于属性加密的区块链数据监管方法及系统

Publications (2)

Publication Number Publication Date
CN111859444A CN111859444A (zh) 2020-10-30
CN111859444B true CN111859444B (zh) 2022-03-01

Family

ID=72986554

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010535329.3A Active CN111859444B (zh) 2020-06-12 2020-06-12 一种基于属性加密的区块链数据监管方法及系统

Country Status (1)

Country Link
CN (1) CN111859444B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112257112B (zh) * 2020-11-16 2022-10-14 国网河南省电力公司信息通信公司 一种基于区块链的数据访问控制方法
CN112532393B (zh) * 2020-11-20 2024-06-18 杭州趣链科技有限公司 一种跨链交易的验证方法、中继链节点设备及介质
CN114978560B (zh) * 2021-02-24 2023-07-18 中国联合网络通信集团有限公司 明文密码加密解密方法、装置、设备及介质
CN112910641B (zh) * 2021-02-26 2022-06-24 杭州趣链科技有限公司 用于跨链交易监管的验证方法、装置、中继链节点及介质
CN113761570B (zh) * 2021-08-16 2024-01-30 高语澈 一种面向隐私求交的数据交互方法
CN114244838B (zh) * 2021-12-17 2024-06-04 东软集团股份有限公司 区块链数据的加密方法及系统、解密方法、装置及设备
CN114666099B (zh) * 2022-02-28 2023-10-13 广西柳钢东信科技有限公司 一种基于加解签与中间件实现网页跨域可信数据通信方法
CN115567330B (zh) * 2022-12-07 2023-05-02 国网天津市电力公司培训中心 一种隐私信息加密方法、系统、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029247A (en) * 1996-12-09 2000-02-22 Novell, Inc. Method and apparatus for transmitting secured data
CN106503994A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
CN107483198A (zh) * 2017-09-25 2017-12-15 中国科学院信息工程研究所 一种可监管的区块链系统及方法
CN108667745A (zh) * 2017-03-30 2018-10-16 深圳市中兴微电子技术有限公司 一种流量监管的方法和装置
CN109189727A (zh) * 2018-09-14 2019-01-11 江西理工大学 一种基于属性代理重加密的区块链密文云存储共享方法
CN110717191A (zh) * 2019-10-24 2020-01-21 兰州理工大学 基于可搜索属性加密的区块链数据隐私保护访问控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10572684B2 (en) * 2013-11-01 2020-02-25 Anonos Inc. Systems and methods for enforcing centralized privacy controls in de-centralized systems
CN106559211B (zh) * 2016-11-22 2019-12-13 中国电子科技集团公司第三十研究所 一种区块链中隐私保护智能合约方法
CN110417556A (zh) * 2019-07-02 2019-11-05 北京交通大学 区块链中的加密及签章验证方法
CN111159753B (zh) * 2019-12-10 2023-12-22 天翼商业保理有限公司 区块链智能合约管理方法及系统、存储介质及终端

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6029247A (en) * 1996-12-09 2000-02-22 Novell, Inc. Method and apparatus for transmitting secured data
CN106503994A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
CN108667745A (zh) * 2017-03-30 2018-10-16 深圳市中兴微电子技术有限公司 一种流量监管的方法和装置
CN107483198A (zh) * 2017-09-25 2017-12-15 中国科学院信息工程研究所 一种可监管的区块链系统及方法
CN109189727A (zh) * 2018-09-14 2019-01-11 江西理工大学 一种基于属性代理重加密的区块链密文云存储共享方法
CN110717191A (zh) * 2019-10-24 2020-01-21 兰州理工大学 基于可搜索属性加密的区块链数据隐私保护访问控制方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Verifiable and Exculpable Outsourced Attribute-Based Encryption for Access Control in Cloud Computing;Hui Ma 等;《IEEE Transactions on Dependable and Secure Computing》;20151111;第14卷(第6期);全文 *
一种基于SPK的IBE加密体制综合性能的评估研究;陆浪如 等;《中国管理科学》;20080603;第13卷(第z1期);全文 *
基于区块链的电力数据容灾备份方案;劳卫伦 等;《计算机工程》;20190718;第45卷(第11期);全文 *

Also Published As

Publication number Publication date
CN111859444A (zh) 2020-10-30

Similar Documents

Publication Publication Date Title
CN111859444B (zh) 一种基于属性加密的区块链数据监管方法及系统
CN108881314B (zh) 雾计算环境下基于cp-abe密文隐私保护方法及系统
Kumar et al. Secure storage and access of data in cloud computing
Zhao et al. Trusted data sharing over untrusted cloud storage providers
EP2228942B1 (en) Securing communications sent by a first user to a second user
Belguith et al. Accountable privacy preserving attribute based framework for authenticated encrypted access in clouds
CN104168108B (zh) 一种泄露密钥可追踪的属性基混合加密方法
CN108111540B (zh) 一种云存储中支持数据共享的分层访问控制系统及方法
CN110430161B (zh) 一种基于区块链的可监管数据匿名分享方法及系统
Zhang et al. Multiauthority access control with anonymous authentication for personal health record
CN108551435B (zh) 一种具有匿名性的可验证加密群签名方法
Zhu et al. The attack on Mona: Secure multi-owner data sharing for dynamic groups in the cloud
Wang et al. A pre-authentication approach to proxy re-encryption in big data context
CN113158143A (zh) 一种基于区块链数字版权保护系统的密钥管理方法及装置
CN115865531B (zh) 一种代理重加密数字资产授权方法
Kroll et al. Secure protocols for accountable warrant execution
Guo et al. Non-transferable proxy re-encryption
CN116318696B (zh) 一种双方无初始信任情况下代理重加密数字资产授权方法
CN117014137A (zh) 一种安全高效的多服务器外包多项式计算的方法
Ilokah et al. A secure privacy preserving cloud-based framework for sharing electronic health data
Lee et al. Data encryption method using CP-ABE with symmetric key algorithm in blockchain network
Xu et al. A decentralized pseudonym scheme for cloud-based eHealth systems
CN115499141A (zh) 一种基于属性的数据加密方法及装置
Rao et al. Secure and practical outsourcing of linear programming in cloud computing: A survey
George et al. Improved multi‐party verification protocol with reduced computational overhead in cloud storage system

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