CN114640468A - 一种基于在线离线属性加密的区块链隐私保护方法 - Google Patents

一种基于在线离线属性加密的区块链隐私保护方法 Download PDF

Info

Publication number
CN114640468A
CN114640468A CN202210255503.8A CN202210255503A CN114640468A CN 114640468 A CN114640468 A CN 114640468A CN 202210255503 A CN202210255503 A CN 202210255503A CN 114640468 A CN114640468 A CN 114640468A
Authority
CN
China
Prior art keywords
user
ciphertext
chain
data
offline
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.)
Granted
Application number
CN202210255503.8A
Other languages
English (en)
Other versions
CN114640468B (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.)
Vocational And Technical College Of Anshun
Original Assignee
Vocational And Technical College Of Anshun
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 Vocational And Technical College Of Anshun filed Critical Vocational And Technical College Of Anshun
Priority to CN202210255503.8A priority Critical patent/CN114640468B/zh
Publication of CN114640468A publication Critical patent/CN114640468A/zh
Application granted granted Critical
Publication of CN114640468B publication Critical patent/CN114640468B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于在线离线属性加密的区块链隐私保护方法,所述保护方法涉及区块链系统和多个实体模块,所述实体模块包括有数据拥有者DO、数据使用者DU、群管理员GM、离线加密机构OEA、离线解密机构ODE、联盟链AC和共享链EST;所述区块链系统用于为实体模块提供分布式可信的数据存储云服务器系统,其实现方式包括以下过程,系统初始化阶段,用户注册阶段,加密阶段,群签名认证阶段,数据使用者解密阶段和追责阶段。采用本发明所述的保护方法,实现了对数据拥有者和验证者的双向追溯,增加了数控的安全性。

Description

一种基于在线离线属性加密的区块链隐私保护方法
技术领域
本发明涉及的是区块链技术领域,具体地说是一种基于在线离线属性加密的区块链隐私保护方法。
背景技术
区块链是基于P2P网络和密码学技术实现的一种可信的分布式数据存储技术,区块链作为一种去中心化的分布式记账系统,基于其不可抵赖性、共识性和透明性,以及不可篡改等特性,越来越受到人们的青睐,并被广泛应用在各种场景中。但是,传统的区块链在实现数据的透明化、可追踪化的同时,户的隐私安全受到了一定的威胁。如何在实现区块链透明可追踪的优点的同时保护用户隐私安全成为了一个研究热点。
针对区块链数据可追溯与用户隐私泄漏问题,为了保护用户隐私安全,经检索,参考文献1(“自适应安全的带关键字搜索的外包属性基加密方案”,郭丽峰,王倩丽,计算机应用,2021,41(11):3266-3273)和参考文献2(“支持离线/在线加密及可验证外包解密的CP-WABE方案”,李航,冯朝胜,刘帅南,刘彬,赵开强,电子学报,2020,48(11):2146-2153),都是通过在线/离线的方式,将部分加密计算和部分解密计算外包给离线机构,虽然减少了数据拥有者和数据使用者的计算开销,但是都不能很好的适用于区块链中。参考文献3(“基于群签名与属性加密的区块链可监管隐私保护方案”,李莉,杜慧娜,李涛,计算机工程:1-9[2022-01-04].DOI:10.19678/j.issn.1000-3428.0062464)提出了一种双链结构的区块链隐私保护方案,通过群签名技术和属性加密技术,有效的保护了用户的隐私信息。但该方案的只有一个验证者,不能有效防止验证者和用户的共谋,不能有效的保证信息的真实和透明,且不能很好的适用于计算资源有限的设备。参考文献4(“基于SM9算法可证明安全的区块链隐私保护方案”,杨亚涛,蔡居良,张筱薇,袁征,软件学报,2019,30(06):1692-1704.DOI:10.13328/j.cnki.jos.005745)提出了一种主要应用于联盟链的隐私保护方案,通过验证者群体(即联盟链)的设置,有效的保护了用户的隐私信息。但该方案主要应用于联盟链中,并不能很好的应用到双链结构中,且不能很好的适用于计算资源有限的设备。
结合参考文献1至4的特点,为了适用于计算资源有限的设备,在实现细粒度的用户隐私保护的同时,还可同时对数据的拥有者和签名者进行追责,提高数据的安全性,从而提出了一种基于在线离线属性的保护方案。
发明内容
本发明所要解决的技术问题是针对背景技术中存在的问题,为了保护用户隐私安全,从而提出一种隐私保护方法,通过在线离线属性加密算法,在减小用户计算开销的同时,实现细粒度的用户访问控制,通过双链设计及群签名验证,实现对用户和验证者的双向追溯,从而提高数据的安全性,具体地说是一种基于在线离线属性加密的区块链隐私保护方法。
为解决上述技术问题,本发明所采用的技术方案为:一种基于在线离线属性加密的区块链隐私保护方法,所述保护方法涉及区块链系统和多个实体模块,所述实体模块包括有数据拥有者DO、数据使用者DU、群管理员GM、离线加密机构OEA、离线解密机构ODE、联盟链AC和共享链EST;所述区块链系统用于为实体模块提供分布式可信的数据存储云服务器系统,其实现方式包括以下过程,系统初始化阶段,用户注册阶段,加密阶段,群签名认证阶段,数据使用者解密阶段和追责阶段。
进一步地,本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,其中所述保护方法通过在线离线属性加密算法,利用区块链结合离线加密机构及离线解密机构,在减小用户的计算开销的同时,实现细粒度的用户访问控制,并通过共享链和联盟链的双链控制,防止了单点故障问题,防止用户和验证者之间出现共谋,同时,通过群签名验证,实现了对数据拥有者和验证者的双向追溯,增加了数控的安全性;其具体实现方式包括以下过程,数据拥有者DO将访问结构发送给离线加密机构ODE,离线加密机构基于时间周期树和访问结构计算中间密文并返回给数据拥有者DO,数据拥有者DO利用中间密文对数据进行加密,并将密文发送到区块链系统中的云服务器系统;数据使用者通过云服务器系统搜索关键字并得到相匹配的密文;而数据使用者DU将密文发送到离线解密机构ODE,离线解密机构ODE基于数据使用者DO的属性和密钥对密文进行部分解密,得到转换密文,并将转换密文返回给数据使用者DO;数据使用者DO利用转换密钥对转换密文进行解密,即得到数据。
进一步地,本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,其中所述系统初始化阶段的具体实现方式为:
(1)在系统初始化阶段,确定系统初始化相关属性:数据拥有者运行系统建立算法SystemSetup(1λ)→(PK,MSK),即输入一个安全系数λ,系统生成公钥PK,所述
Figure BDA0003548678810000031
MSK=(α,a,γ);
其中,G1,G2为素数p阶循环群,g为G1的生成元;e为双线性映射:G1×G1→G2;随机数α,a,β∈Zp;j表示属性个数;选择j个随机数hj∈G1;哈希函数H0:{0,1}→G1,H1:{0,1}→G2,H2:{0,1}→G2;
(2)群管理员GM初始化:群管理员运行系统建立算法GMSetup(PK)→(GMKey,GMPK,GMSK),输入公钥PK,系统生成每个群管理员GM的密钥GMKey,群公钥GMPK和群追踪密钥GMSK;
GMKey=γi
Figure BDA0003548678810000041
GMSK=(δ12),
Figure BDA0003548678810000042
其中,i表示群管理员个数;γi表示i个随机数;g1为G1的生成元;随机数δ12∈Zp;u,v∈G1
(3)联盟链AC初始化:ACSetup(PK,id)→(SignMK,SignPK),输入公钥PK,系统生成联盟链签名主密钥SignMK和各节点签名私钥SignPK;在联盟链中,分为主要节点和次要节点,主要节点负责区块链的维护工作并为新加入的区块分发id和签名私钥;
Figure BDA0003548678810000043
T=H1(id||hid,N)+ks;
其中,k表示联盟链中密钥生成中心AAk的个数;ks,kek为密钥生成中心的随机数,且ks,kek∈[1,N-1],kek被k个密钥生成中心分别持有,N为有限域;P2为G2的生成元,P1为G1的生成元;id为联盟链中各个次要节点的唯一标识,为主要节点颁发的一串随机数;hid表示隐藏。
进一步地,本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,其中所述用户注册阶段的具体实现方式为:
(1)用户获取用户私钥片段UKeyi:GMKeyGen(PK)→UKeyi;用户向群管理员GM提出注册申请Apply,若群管理员GM同意后,i个群管理员将为用户分别生成相应的用户私钥片段UKeyi,并将用户私钥片段UKeyi发送给用户;而在区块链中,用户可细分为数据拥有者DO和数据使用者DU;
Figure BDA0003548678810000044
其中,随机数x∈Zp
(2)用户计算:GMKeyGen(PK,S,UKeyi)→(UKey,IDU,CPA_SK);用户通过算法计算自己的用户私钥UKey、用户标识IDU,并向群管理员提交用户属性集AS={a1,a2,...,aj},获得属性加密密钥CPA_SK,离线验证密钥VK;
Figure BDA0003548678810000051
CPA_SK=(gαhd,z,TK),
Figure BDA0003548678810000052
VK=(g1/(β+μ),μ);
其中,vj为用户属性集AS中各属性的权重值;TK为属性加密的密文转换密钥;d,z,为随机数,且d,z,μ∈Zp
进一步地,本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,其中所述加密阶段的具体实现方式为:
(1)离线加密机构OEA进行离线加密:OEA_Enc(PK)→IC,数据拥有者DO选择一个秘密值s传给离线加密机构;离线加密机构通过秘密值s计算得到中间密文IC,并将中间密文IC发送给数据拥有者DO;
Figure BDA0003548678810000053
其中,秘密值s∈Zp;随机数ε,y∈Zp
(2)数据拥有者DO进行加密:DO_Enc(PK,IC,VK,Message)→CT。数据拥有者DO通过访问结构AC和中间密文IC对明文Message进行最终加密,得到属性加密密文CT;
Figure BDA0003548678810000054
C1=gμ/(β+μ),gβ·gμ,H1(e(g,g)μ,R·H1(Message),
Figure BDA0003548678810000057
其中,
Figure BDA0003548678810000056
为属性aj在访问结构AC=(M,ρ(x))中的映射,θ为aj在映射函数ρ(x)中的秘密份额;R为随机密文参数,且R∈G2;M为映射矩阵,M中的每一行对应一个属性。
进一步地,本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,其中所述群签名认证阶段的具体实现方式为:
(1)联盟链AC次节点A对密文CT进行签名:AC_Sign(CT,SignMK,SignPK)→(SignCT,DO_Verify)。联盟链次节点A对密文CT进行签名,令联盟链中的次节点A通过签名主密钥SignMK和次节点A的签名私钥SignPK进行签名运算,得到联盟链中该次节点对密文CT的群签名SignCT和来源验证值DO_Verify。
Figure BDA0003548678810000061
Figure BDA0003548678810000062
Figure BDA0003548678810000063
Figure BDA0003548678810000064
Figure BDA0003548678810000065
其中,随机数r1,r2∈[1,N-1];idA表示次节点A的id标识;τ,χ为随机数,且τ,χ∈Zp;选择随机的盲化因子b1,b2,b3,b4,b5∈Zp
(2)联盟链AC验证阶段:AC_Verify(SignCT)→1/0。联盟链收到密文CT和相应的群签名SignCT,通过算法对群签名进行验证。若证明了该签名由联盟链中的某个节点产生的,则输出1,并;反之,则输出0,并丢弃密文CT;
计算:U1=e(SS·SignAG),U2=e(SS·SignPKA);
验证U1=U2,若相等,则进行下一步验证;若不相等,则丢弃密文CT;
根据收到的SignCT计算:
Figure BDA0003548678810000066
验证,
Figure BDA0003548678810000067
若相等,则将CT发送到共享链中进行共享;反之,则丢弃密文CT;通过验证可证明密文CT通过了联盟链签名验证;
(3)上链阶段:采用UTXO的形式上链,次节点A将上次交易的编号Number和上次交易的哈希值HLast,和本次交易的群签名SignCT发送到联盟链主节点V中,主节点V生成新生区块New_block,并对区块中的信息进行验证,若验证通过,则并入共享链中,反之,丢弃区块;
在联盟链AC验证阶段,联盟链中各节点寻找共享链中与此新生区块关联的上一次交易信息,并对比新生区块的输入和上一次交易的输出值是否相同,若经过联盟链中大多数节点的同意后,主节点将该新生区块并入共享链中,反之,丢弃该新生区块。
进一步地,本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,其中所述数据使用者解密阶段的具体实现方式为:
(1)离线解密机构ODA进行部分解密:ODA_Dec(AC,CT,TK)→PC,数据使用者DU将密文CT和密文转换密钥TK传给离线解密机构ODA;离线加密机构ODA首先检查数据使用者的属性集AS是否满足访问结构AC的要求,若满足,则对密文CT进行部分解密并将部分解密密文PC发送给数据使用者DU;反之,则输出0;
PC=(AC,MM,R·e(g,g)αs,gs,e(g,g)daθ/z,C1);
(2)数据使用者DU进行解密:DU_Dec(PC,CPA_SK)→R;数据使用者DU通过属性加密密钥CPA_SK对部分解密密文PC解密,得到随机密文参数R;
R=R·e(g,g)αs/(e(gs,gαhd)/e(g,g)das);
Figure BDA0003548678810000071
进一步地,本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,其中所述追责阶段的具体实现方式为:
(1)追责数据拥有者DO:DO_Accountability(DO_Verify,GMSK)→idDO。若群管理员投票通过要求追责数据拥有者后,则可通过来源验证值DO_Verify和群追踪密钥GMSK计算并获取数据拥有者的id;
已知
Figure BDA0003548678810000072
Figure BDA0003548678810000073
(2)追责签名者A:A_Accountability(SignCT,SignPK)→idA;在上链过程中,通过采用群签名验证的方法和UTXO的上链方式,若群管理员投票通过要求追责数据拥有者后,主节点可通过对本次交易进行逐链溯源的方式,找到首发地址进行追责;通过群签名SignCT和签名私钥SignP,提取出签名者A的idA哈希值HID,主节点逐一对比各个子节点的id对应的HID值即可找到签名者的idA。
采用本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,与现有技术相比,其有益效果在于:通过在线离线属性加密算法,利用区块链结合离线加密机构及离线解密机构,在减小用户的计算开销的同时,实现细粒度的用户访问控制,适用于计算资源有限的设备,并通过共享链和联盟链的双链控制,防止了单点故障问题,防止用户和验证者之间出现共谋,同时,通过群签名验证,实现了对数据拥有者和验证者的双向追溯,增加了数控的安全性。
附图说明
下面结合附图对本发明作进一步详细说明。
图1为本发明所述访问结构控制树和LSSS矩阵对应结构示意图;
图2为本发明所述实体模块的结构模型示意图;
图3为本发明所述保护方法的流程示意框图。
具体实施方式
为进一步说明本发明的构思,下面结合附图和实施例对本发明的实施方式作进一步详细描述。以下实施例的详细描述和附图用于示例性地说明本发明的原理,但不能用来限制本发明的范围,即本发明不限于所描述的实施例。
本发明所述的一种基于在线离线属性加密的区块链隐私保护方法,首先需要设计一个应用场景,假设存在一个基于云服务平台医患交流平台,用户B是一名网上注册的患者,想在云服务平台上咨询医生并获取治疗建议,但用户B希望能在获取诊疗单的同时,不泄露自己的诊疗信息,能有一个承诺保证该诊疗单来自于正规的注册医生,能在后期发生医疗事故时追责到诊疗的医生和验证者。采用传统的方案并不能很好的应用于以上场景,为了解决以上问题,从而提出一种基于在线离线属性加密的区块链隐私保护方案,该方案适用于计算资源有限的设备,在实现了细粒度的用户隐私保护的同时,可同时对数据的拥有者和签名者进行追责。同时,为便于理解本发明技术方案,会涉及到访问结构及双线性映射的相关知识,下面对访问结构及双线性映射的作相关说明:
访问结构:假设存在一个非空的用户属性集A,A={A1,A2,...,An};存在一个非空的访问控制集S,S={S1,S2,...,Sk};若A和S满足
Figure BDA0003548678810000091
则称集合A为访问控制S下的授权集合;反之,则称集合A为访问控制S下的未授权集合。在CP-ABE中,若A为授权集合,存在一个矩阵AA,存在一个函数ρ(x),使得矩阵AA中的每一行都能与S中的属性一一映射,则矩阵AA称为LSSS矩阵,且LSSS矩阵的行数等于访问控制树上的叶子节点个数,即属性的个数。如图1所示的访问结构控制树和LSSS矩阵对应图。
双线性映射:设G1,G2,G3为素数p阶循环群;存在一个映射关系e:G1×G2→G3,若e为双线性对,则满足:
A、双线性:任意的a,b∈Zp,都有
Figure BDA0003548678810000092
B、非退化性:存在一个G1,G2,使得e(G1,G2)≠1;
C、可计算性:存在一个有效的算法计算e(G1,G2)。
针对上述应用场景,在实现细粒度的用户隐私保护的同时,还可同时对数据的拥有者和签名者进行追责,实现对用户和验证者进行双向追溯,提高数据的安全性,从而提出一种基于在线离线属性加密的区块链隐私保护方法,该保护方法的详细设计方案为:
一种基于在线离线属性加密的区块链隐私保护方法,所述保护方法涉及区块链系统和多个实体模块,其结构模型如图2所示,所述实体模块包括有数据拥有者DO、数据使用者DU、群管理员GM、离线加密机构OEA、离线解密机构ODE、联盟链AC和共享链EST;所述区块链系统用于为实体模块提供分布式可信的数据存储云服务器系统,其实现方式包括以下过程,系统初始化阶段,用户注册阶段,加密阶段,群签名认证阶段,数据使用者解密阶段和追责阶段;具体的操作流程如图3所示,具体包括以下过程,数据拥有者DO将访问结构发送给离线加密机构ODE,离线加密机构基于时间周期树和访问结构计算中间密文并返回给数据拥有者DO,数据拥有者DO利用中间密文对数据进行加密,并将密文发送到区块链系统中的云服务器系统;数据使用者通过云服务器系统搜索关键字并得到相匹配的密文;而数据使用者DU将密文发送到离线解密机构ODE,离线解密机构ODE基于数据使用者DO的属性和密钥对密文进行部分解密,得到转换密文,并将转换密文返回给数据使用者DO;数据使用者DO利用转换密钥对转换密文进行解密,即得到数据。
1、系统初始化阶段:
(1)首先是要确定系统初始化相关属性:数据拥有者运行系统建立算法SystemSetup(1λ)→(PK,MSK),即输入一个安全系数λ,系统生成公钥PK,所述
Figure BDA0003548678810000101
MSK=(α,a,γ);
其中,G1,G2为素数p阶循环群,g为G1的生成元;e为双线性映射:G1×G1→G2;随机数α,a,β∈Zp;j表示属性个数;选择j个随机数hj∈G1;哈希函数H0:{0,1}→G1,H1:{0,1}→G2,H2:{0,1}→G2;
(2)其次是对群管理员GM初始化:群管理员运行系统建立算法GMSetup(PK)→(GMKey,GMPK,GMSK),输入公钥PK,系统生成每个群管理员GM的密钥GMKey,群公钥GMPK和群追踪密钥GMSK;
GMKey=γi
Figure BDA0003548678810000102
GMSK=(δ12),
Figure BDA0003548678810000103
其中,i表示群管理员个数;γi表示i个随机数;g1为G1的生成元;随机数δ12∈Zp;u,v∈G1
(3)最后是对联盟链AC初始化:ACSetup(PK,id)→(SignMK,SignPK),输入公钥PK,系统生成联盟链签名主密钥SignMK和各节点签名私钥SignPK;在联盟链中,分为主要节点和次要节点,主要节点负责区块链的维护工作并为新加入的区块分发id和签名私钥;
Figure BDA0003548678810000111
T=H1(id||hid,N)+ks;
其中,k表示联盟链中密钥生成中心AAk的个数;ks,kek为密钥生成中心的随机数,且ks,kek∈[1,N-1],kek被k个密钥生成中心分别持有,N为有限域;P2为G2的生成元,P1为G1的生成元;id为联盟链中各个次要节点的唯一标识,为主要节点颁发的一串随机数;hid表示隐藏。
2、用户注册阶段:
(1)用户获取用户私钥片段UKeyi:GMKeyGen(PK)→UKeyi;用户向群管理员GM提出注册申请Apply,若群管理员GM同意后,i个群管理员将为用户分别生成相应的用户私钥片段UKeyi,并将用户私钥片段UKeyi发送给用户;而在区块链中,用户可细分为数据拥有者DO和数据使用者DU;
Figure BDA0003548678810000112
其中,随机数x∈Zp
(2)用户计算:GMKeyGen(PK,S,UKeyi)→(UKey,IDU,CPA_SK);用户通过算法计算自己的用户私钥UKey、用户标识IDU,并向群管理员提交用户属性集AS={a1,a2,...,aj},获得属性加密密钥CPA_SK,离线验证密钥VK;
Figure BDA0003548678810000113
CPA_SK=(gαhd,z,TK),
Figure BDA0003548678810000114
VK=(g1/(β+μ),μ);
其中,vj为用户属性集AS中各属性的权重值;TK为属性加密的密文转换密钥;d,z,为随机数,且d,z,μ∈Zp
3、加密阶段:
(1)离线加密机构OEA进行离线加密:OEA_Enc(PK)→IC,数据拥有者DO选择一个秘密值s传给离线加密机构;离线加密机构通过秘密值s计算得到中间密文IC,并将中间密文IC发送给数据拥有者DO;
Figure BDA0003548678810000121
其中,秘密值s∈Zp;随机数ε,y∈Zp
(2)数据拥有者DO进行加密:DO_Enc(PK,IC,VK,Message)→CT。数据拥有者DO通过访问结构AC和中间密文IC对明文Message进行最终加密,得到属性加密密文CT;
Figure BDA0003548678810000122
C1=gμ/(β+μ),gβ·gμ,H1(e(g,g)μ,R·H1(Message),MM=H1(Message)⊕H1(R);
其中,
Figure BDA0003548678810000123
为属性aj在访问结构AC=(M,ρ(x))中的映射,θ为aj在映射函数ρ(x)中的秘密份额;R为随机密文参数,且R∈G2;M为映射矩阵,M中的每一行对应一个属性。
4、群签名认证阶段:
(1)联盟链AC次节点A对密文CT进行签名:AC_Sign(CT,SignMK,SignPK)→(SignCT,DO_Verify)。联盟链次节点A对密文CT进行签名,令联盟链中的次节点A通过签名主密钥SignMK和次节点A的签名私钥SignPK进行签名运算,得到联盟链中该次节点对密文CT的群签名SignCT和来源验证值DO_Verify。
Figure BDA0003548678810000124
Figure BDA0003548678810000125
Figure BDA0003548678810000126
Figure BDA0003548678810000127
Figure BDA0003548678810000128
其中,随机数r1,r2∈[1,N-1];idA表示次节点A的id标识;τ,χ为随机数,且τ,χ∈Zp;选择随机的盲化因子b1,b2,b3,b4,b5∈Zp
(2)联盟链AC验证阶段:AC_Verify(SignCT)→1/0。联盟链收到密文CT和相应的群签名SignCT,通过算法对群签名进行验证。若证明了该签名由联盟链中的某个节点产生的,则输出1,并;反之,则输出0,并丢弃密文CT;
计算:U1=e(SS·SignAG),U2=e(SS·SignPKA);
验证U1=U2,若相等,则进行下一步验证;若不相等,则丢弃密文CT;
根据收到的SignCT计算:
Figure BDA0003548678810000131
验证,
Figure BDA0003548678810000132
若相等,则将CT发送到共享链中进行共享;反之,则丢弃密文CT;通过验证可证明密文CT通过了联盟链签名验证;
(3)上链阶段:采用UTXO的形式上链,次节点A将上次交易的编号Number和上次交易的哈希值HLast,和本次交易的群签名SignCT发送到联盟链主节点V中,主节点V生成新生区块New_block,并对区块中的信息进行验证,若验证通过,则并入共享链中,反之,丢弃区块;
在联盟链AC验证阶段,联盟链中各节点寻找共享链中与此新生区块关联的上一次交易信息,并对比新生区块的输入和上一次交易的输出值是否相同,若经过联盟链中大多数节点的同意后,主节点将该新生区块并入共享链中,反之,丢弃该新生区块。
5、数据使用者解密阶段:
(1)离线解密机构ODA进行部分解密:ODA_Dec(AC,CT,TK)→PC,数据使用者DU将密文CT和密文转换密钥TK传给离线解密机构ODA;离线加密机构ODA首先检查数据使用者的属性集AS是否满足访问结构AC的要求,若满足,则对密文CT进行部分解密并将部分解密密文PC发送给数据使用者DU;反之,则输出0;
PC=(AC,MM,R·e(g,g)αs,gs,e(g,g)daθ/z,C1);
(2)数据使用者DU进行解密:DU_Dec(PC,CPA_SK)→R;数据使用者DU通过属性加密密钥CPA_SK对部分解密密文PC解密,得到随机密文参数R;
R=R·e(g,g)αs/(e(gs,gαhd)/e(g,g)das);
Figure BDA0003548678810000141
6、追责阶段:
(1)追责数据拥有者DO:DO_Accountability(DO_Verify,GMSK)→idDO。若群管理员投票通过要求追责数据拥有者后,则可通过来源验证值DO_Verify和群追踪密钥GMSK计算并获取数据拥有者的id;
已知
Figure BDA0003548678810000142
Figure BDA0003548678810000143
(2)追责签名者A:A_Accountability(SignCT,SignPK)→idA;在上链过程中,通过采用群签名验证的方法和UTXO的上链方式,若群管理员投票通过要求追责数据拥有者后,主节点可通过对本次交易进行逐链溯源的方式,找到首发地址进行追责;通过群签名SignCT和签名私钥SignP,提取出签名者A的idA哈希值HID,主节点逐一对比各个子节点的id对应的HID值即可找到签名者的idA。
采用本发明所述的区块链隐私保护方法,通过在线离线属性加密算法,利用区块链结合离线加密机构及离线解密机构,在减小用户的计算开销的同时,实现细粒度的用户访问控制,适用于计算资源有限的设备,并通过共享链和联盟链的双链控制,防止了单点故障问题,防止用户和验证者之间出现共谋,同时,通过群签名验证,实现了对数据拥有者和验证者的双向追溯,增加了数控的安全性。
以上所述仅为本发明的优选实施方式,并不用以限制本发明,对于本领域的技术人员来说,可以有各种更改和变化,凡利用本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于在线离线属性加密的区块链隐私保护方法,其特征在于:所述保护方法涉及区块链系统和多个实体模块,所述实体模块包括有数据拥有者DO、数据使用者DU、群管理员GM、离线加密机构OEA、离线解密机构ODE、联盟链AC和共享链EST;所述区块链系统用于为实体模块提供分布式可信的数据存储云服务器系统,其实现方式包括以下过程,系统初始化阶段,用户注册阶段,加密阶段,群签名认证阶段,数据使用者解密阶段和追责阶段。
2.根据权利要求1所述的一种基于在线离线属性加密的区块链隐私保护方法,其特征在于:所述保护方法通过在线离线属性加密算法,利用区块链结合离线加密机构及离线解密机构,在减小用户的计算开销的同时,实现细粒度的用户访问控制,并通过共享链和联盟链的双链控制,防止了单点故障问题,防止用户和验证者之间出现共谋,同时,通过群签名验证,实现了对数据拥有者和验证者的双向追溯,增加了数控的安全性;其具体实现方式包括以下过程,数据拥有者DO将访问结构发送给离线加密机构ODE,离线加密机构基于时间周期树和访问结构计算中间密文并返回给数据拥有者DO,数据拥有者DO利用中间密文对数据进行加密,并将密文发送到区块链系统中的云服务器系统;数据使用者通过云服务器系统搜索关键字并得到相匹配的密文;而数据使用者DU将密文发送到离线解密机构ODE,离线解密机构ODE基于数据使用者DO的属性和密钥对密文进行部分解密,得到转换密文,并将转换密文返回给数据使用者DO;数据使用者DO利用转换密钥对转换密文进行解密,即得到数据。
3.根据权利要求1所述的一种基于在线离线属性加密的区块链隐私保护方法,其特征在于,所述系统初始化阶段的具体实现方式为:
(1)在系统初始化阶段,确定系统初始化相关属性:数据拥有者运行系统建立算法SystemSetup(1λ)→(PK,MSK),即输入一个安全系数λ,系统生成公钥PK,所述
Figure FDA0003548678800000011
MSK=(α,a,γ);
其中,G1,G2为素数p阶循环群,g为G1的生成元;e为双线性映射:G1×G1→G2;随机数α,a,β∈Zp;j表示属性个数;选择j个随机数hj∈G1;哈希函数H0:{0,1}→G1,H1:{0,1}→G2,H2:{0,1}→G2;
(2)群管理员GM初始化:群管理员运行系统建立算法GMSetup(PK)→(GMKey,GMPK,GMSK),输入公钥PK,系统生成每个群管理员GM的密钥GMKey,群公钥GMPK和群追踪密钥GMSK;
GMKey=γi
Figure FDA0003548678800000012
GMSK=(δ12),
Figure FDA0003548678800000013
其中,i表示群管理员个数;γi表示i个随机数;g1为G1的生成元;随机数δ12∈Zp;u,v∈G1
(3)联盟链AC初始化:ACSetup(PK,id)→(SignMK,SignPK),输入公钥PK,系统生成联盟链签名主密钥SignMK和各节点签名私钥SignPK;在联盟链中,分为主要节点和次要节点,主要节点负责区块链的维护工作并为新加入的区块分发id和签名私钥;
Figure FDA0003548678800000021
T=H1(id||hid,N)+ks;
其中,k表示联盟链中密钥生成中心AAk的个数;ks,kek为密钥生成中心的随机数,且ks,kek∈[1,N-1],kek被k个密钥生成中心分别持有,N为有限域;P2为G2的生成元,P1为G1的生成元;id为联盟链中各个次要节点的唯一标识,为主要节点颁发的一串随机数;hid表示隐藏。
4.根据权利要求1所述的一种基于在线离线属性加密的区块链隐私保护方法,其特征在于,所述用户注册阶段的具体实现方式为:
(1)用户获取用户私钥片段UKeyi:GMKeyGen(PK)→UKeyi;用户向群管理员GM提出注册申请Apply,若群管理员GM同意后,i个群管理员将为用户分别生成相应的用户私钥片段UKeyi,并将用户私钥片段UKeyi发送给用户;而在区块链中,用户可细分为数据拥有者DO和数据使用者DU;
Figure FDA0003548678800000022
其中,随机数x∈Zp
(2)用户计算:GMKeyGen(PK,S,UKeyi)→(UKey,IDU,CPA_SK);用户通过算法计算自己的用户私钥UKey、用户标识IDU,并向群管理员提交用户属性集AS={a1,a2,...,aj},获得属性加密密钥CPA_SK,离线验证密钥VK;
Figure FDA0003548678800000023
VK=(g1/(β+μ),μ);
其中,vj为用户属性集AS中各属性的权重值;TK为属性加密的密文转换密钥;d,z,为随机数,且d,z,μ∈Zp
5.根据权利要求1所述的一种基于在线离线属性加密的区块链隐私保护方法,其特征在于,所述加密阶段的具体实现方式为:
(1)离线加密机构OEA进行离线加密:OEA_Enc(PK)→IC,数据拥有者DO选择一个秘密值s传给离线加密机构;离线加密机构通过秘密值s计算得到中间密文IC,并将中间密文IC发送给数据拥有者DO;
Figure FDA0003548678800000031
其中,秘密值s∈Zp;随机数ε,y∈Zp
(2)数据拥有者DO进行加密:DO_Enc(PK,IC,VK,Message)→CT;
数据拥有者DO通过访问结构AC和中间密文IC对明文Message进行最终加密,得到属性加密密文CT;
Figure FDA0003548678800000032
Figure FDA0003548678800000033
其中,
Figure FDA0003548678800000034
为属性aj在访问结构AC=(M,ρ(x))中的映射,θ为aj在映射函数ρ(x)中的秘密份额;R为随机密文参数,且R∈G2;M为映射矩阵,M中的每一行对应一个属性。
6.根据权利要求1所述的一种基于在线离线属性加密的区块链隐私保护方法,其特征在于,所述群签名认证阶段的具体实现方式为:
(1)联盟链AC次节点A对密文CT进行签名:AC_Sign(CT,SignMK,SignPK)→(SignCT,DO_Verify);
联盟链次节点A对密文CT进行签名,令联盟链中的次节点A通过签名主密钥SignMK和次节点A的签名私钥SignPK进行签名运算,得到联盟链中该次节点对密文CT的群签名SignCT和来源验证值DO_Verify;
Figure FDA0003548678800000035
Figure FDA0003548678800000036
Figure FDA0003548678800000037
Figure FDA0003548678800000038
Figure FDA0003548678800000039
其中,随机数r1,r2∈[1,N-1];idA表示次节点A的id标识;τ,χ为随机数,且τ,χ∈Zp
选择随机的盲化因子b1,b2,b3,b4,b5∈Zp
(2)联盟链AC验证阶段:AC_Verify(SignCT)→1/0;
联盟链收到密文CT和相应的群签名SignCT,通过算法对群签名进行验证;
若证明了该签名由联盟链中的某个节点产生的,则输出1,并;反之,则输出0,并丢弃密文CT;
计算:U1=e(SS·SignAG),U2=e(SS·SignPKA);
验证U1=U2,若相等,则进行下一步验证;若不相等,则丢弃密文CT;
根据收到的SignCT计算:
Figure FDA0003548678800000041
验证,
Figure FDA0003548678800000042
若相等,则将CT发送到共享链中进行共享;反之,则丢弃密文CT;通过验证可证明密文CT通过了联盟链签名验证;
(3)上链阶段:采用UTXO的形式上链,次节点A将上次交易的编号Number和上次交易的哈希值HLast,和本次交易的群签名SignCT发送到联盟链主节点V中,主节点V生成新生区块New_block,并对区块中的信息进行验证,若验证通过,则并入共享链中,反之,丢弃区块;
在联盟链AC验证阶段,联盟链中各节点寻找共享链中与此新生区块关联的上一次交易信息,并对比新生区块的输入和上一次交易的输出值是否相同,若经过联盟链中大多数节点的同意后,主节点将该新生区块并入共享链中,反之,丢弃该新生区块。
7.根据权利要求1所述的一种基于在线离线属性加密的区块链隐私保护方法,其特征在于,所述数据使用者解密阶段的具体实现方式为:
(1)离线解密机构ODA进行部分解密:ODA_Dec(AC,CT,TK)→PC,数据使用者DU将密文CT和密文转换密钥TK传给离线解密机构ODA;离线加密机构ODA首先检查数据使用者的属性集AS是否满足访问结构AC的要求,若满足,则对密文CT进行部分解密并将部分解密密文PC发送给数据使用者DU;反之,则输出0;
PC=(AC,MM,R·e(g,g)αs,gs,e(g,g)daθ/z,C1);
(2)数据使用者DU进行解密:DU_Dec(PC,CPA_SK)→R;数据使用者DU通过属性加密密钥CPA_SK对部分解密密文PC解密,得到随机密文参数R;
R=R·e(g,g)αs/(e(gs,gαhd)/e(g,g)das);
Figure FDA0003548678800000043
8.根据权利要求1所述的一种基于在线离线属性加密的区块链隐私保护方法,其特征在于,所述追责阶段的具体实现方式为:
(1)追责数据拥有者DO:DO_Accountability(DO_Verify,GMSK)→idDO;
若群管理员投票通过要求追责数据拥有者后,则可通过来源验证值DO_Verify和群追踪密钥GMSK计算并获取数据拥有者的id;
已知
Figure FDA0003548678800000051
Figure FDA0003548678800000052
(2)追责签名者A:A_Accountability(SignCT,SignPK)→idA;在上链过程中,通过采用群签名验证的方法和UTXO的上链方式,若群管理员投票通过要求追责数据拥有者后,主节点可通过对本次交易进行逐链溯源的方式,找到首发地址进行追责;通过群签名SignCT和签名私钥SignP,提取出签名者A的idA哈希值HID,主节点逐一对比各个子节点的id对应的HID值即可找到签名者的idA。
CN202210255503.8A 2022-03-16 2022-03-16 一种基于在线离线属性加密的区块链隐私保护方法 Active CN114640468B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210255503.8A CN114640468B (zh) 2022-03-16 2022-03-16 一种基于在线离线属性加密的区块链隐私保护方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210255503.8A CN114640468B (zh) 2022-03-16 2022-03-16 一种基于在线离线属性加密的区块链隐私保护方法

Publications (2)

Publication Number Publication Date
CN114640468A true CN114640468A (zh) 2022-06-17
CN114640468B CN114640468B (zh) 2024-01-26

Family

ID=81948850

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210255503.8A Active CN114640468B (zh) 2022-03-16 2022-03-16 一种基于在线离线属性加密的区块链隐私保护方法

Country Status (1)

Country Link
CN (1) CN114640468B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242398A (zh) * 2022-06-24 2022-10-25 蚂蚁区块链科技(上海)有限公司 基于区块链的知识问答的系统、方法和装置
CN119728172A (zh) * 2024-12-02 2025-03-28 西北师范大学 加密方法、解密方法及系统
CN119892452A (zh) * 2025-01-10 2025-04-25 天津科技大学 一种基于密文策略属性基加密的电力数据隐私安全保护系统、方法和应用

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503994A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
US20200244634A1 (en) * 2019-01-29 2020-07-30 Mastercard International Incorporated Method and system for general data protection compliance via blockchain
CN113489733A (zh) * 2021-07-13 2021-10-08 郑州轻工业大学 基于区块链的内容中心网络隐私保护方法
CN113595971A (zh) * 2021-06-02 2021-11-02 云南财经大学 一种基于区块链的分布式数据安全共享方法、系统和计算机可读介质
CN113836222A (zh) * 2021-08-24 2021-12-24 北京理工大学 一种基于区块链的可隐藏策略和属性的访问控制方法
CN114065265A (zh) * 2021-11-29 2022-02-18 重庆邮电大学 基于区块链技术的细粒度云存储访问控制方法、系统及设备

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106503994A (zh) * 2016-11-02 2017-03-15 西安电子科技大学 基于属性加密的区块链隐私数据访问控制方法
US20200244634A1 (en) * 2019-01-29 2020-07-30 Mastercard International Incorporated Method and system for general data protection compliance via blockchain
CN113595971A (zh) * 2021-06-02 2021-11-02 云南财经大学 一种基于区块链的分布式数据安全共享方法、系统和计算机可读介质
CN113489733A (zh) * 2021-07-13 2021-10-08 郑州轻工业大学 基于区块链的内容中心网络隐私保护方法
CN113836222A (zh) * 2021-08-24 2021-12-24 北京理工大学 一种基于区块链的可隐藏策略和属性的访问控制方法
CN114065265A (zh) * 2021-11-29 2022-02-18 重庆邮电大学 基于区块链技术的细粒度云存储访问控制方法、系统及设备

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242398A (zh) * 2022-06-24 2022-10-25 蚂蚁区块链科技(上海)有限公司 基于区块链的知识问答的系统、方法和装置
CN115242398B (zh) * 2022-06-24 2025-02-25 蚂蚁区块链科技(上海)有限公司 基于区块链的知识问答的系统、方法和装置
CN119728172A (zh) * 2024-12-02 2025-03-28 西北师范大学 加密方法、解密方法及系统
CN119892452A (zh) * 2025-01-10 2025-04-25 天津科技大学 一种基于密文策略属性基加密的电力数据隐私安全保护系统、方法和应用

Also Published As

Publication number Publication date
CN114640468B (zh) 2024-01-26

Similar Documents

Publication Publication Date Title
CN110493347B (zh) 基于区块链的大规模云存储中数据访问控制方法及系统
Zhu et al. TBAC: Transaction-based access control on blockchain for resource sharing with cryptographically decentralized authorization
CN114650137B (zh) 一种基于区块链的支持策略隐藏的解密外包方法及系统
CN114036539B (zh) 基于区块链的安全可审计物联网数据共享系统及方法
CN106487506B (zh) 一种支持预加密和外包解密的多机构kp-abe方法
CN113434875B (zh) 一种基于区块链的轻量化访问方法及系统
CN104601605A (zh) 云存储中基于变色龙哈希函数的高效隐私保护审计方案
JPH1041932A (ja) 暗号キー回復方法及び装置
CN114640468B (zh) 一种基于在线离线属性加密的区块链隐私保护方法
CN116418560A (zh) 一种基于区块链智能合约的线上快速身份认证系统及方法
EP4144040A1 (en) Generating shared private keys
CN111274594B (zh) 一种基于区块链的安全大数据隐私保护共享方法
US12567975B2 (en) Dynamically traceable privacy-preserving distributed threshold signature system and method
WO2023016729A1 (en) Generating digital signature shares
CN119316156B (zh) 具有隐私保护和访问控制的分布式数字身份认证方法及系统
CN118133311A (zh) 一种基于改进群签名的联邦学习隐私保护方法
CN110519040B (zh) 基于身份的抗量子计算数字签名方法和系统
CN113868450B (zh) 一种基于区块链的遥感影像安全检索方法
CN119519987B (zh) 一种具有前后向安全性的可搜索加密方法及系统
CN114629640A (zh) 一种解决密钥托管问题的白盒可追责属性基加密系统及其方法
Lin et al. Leveraging dual‐blockchain collaboration for logistics supply chain supervision
Liu et al. Distributed Digital Identity Parking Authentication System Based on Blockchain
CN118659877A (zh) 一种面向边缘控制器的属性基加密方法和系统
Akshay et al. Dynamic list based data integrity verification in cloud environment
Wu et al. Verified CSAC-based CP-ABE access control of cloud storage in SWIM

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