CN109559117B - 基于属性基加密的区块链合约隐私保护方法与系统 - Google Patents
基于属性基加密的区块链合约隐私保护方法与系统 Download PDFInfo
- Publication number
- CN109559117B CN109559117B CN201811351573.3A CN201811351573A CN109559117B CN 109559117 B CN109559117 B CN 109559117B CN 201811351573 A CN201811351573 A CN 201811351573A CN 109559117 B CN109559117 B CN 109559117B
- Authority
- CN
- China
- Prior art keywords
- attribute
- user
- key
- contract
- encryption
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000013475 authorization Methods 0.000 claims abstract description 49
- 238000004422 calculation algorithm Methods 0.000 claims description 50
- 230000008569 process Effects 0.000 claims description 28
- 238000004806 packaging method and process Methods 0.000 claims description 15
- 238000005538 encapsulation Methods 0.000 claims description 9
- 230000014509 gene expression Effects 0.000 claims description 8
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000013507 mapping Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000007667 floating Methods 0.000 claims description 3
- 238000011084 recovery Methods 0.000 claims description 3
- 239000004576 sand Substances 0.000 claims description 2
- 239000013256 coordination polymer Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 7
- 230000003993 interaction Effects 0.000 description 4
- 238000011217 control strategy Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 101150096839 Fcmr gene Proteins 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于信息技术领域,具体涉及一种基于属性基加密的区块链合约的隐私保护方法与系统。所述系统包括密钥分发中心KDC、用户、区块链系统;所述密钥分发中心KDC用于建立支持属性基访问策略的属性基加密系统、用户密钥分发、公钥管理、授权检查与撤销;整个所述区块链系统采用一个所述属性基加密系统,并且采用一个所述密钥分发中心KDC进行密钥管理。本发明所述方法采用属性基加密实现对区块链合约中敏感信息进行隐私保护;并且能够支持动态地生成和撤销访问控制策略中的属性密钥,由合约方动态地控制区块链上隐私数据的访问权限。
Description
技术领域
本发明属于信息技术领域,具体涉及一种基于属性基加密的区块链合约的隐私保护方法与系统。
背景技术
区块链是一种新型去中心化的分布式记帐单系统,具有的特征包括:1)去中心化;2)公开透明;3)不可篡改;4)全体共识;5)智能合约化;6)可认证性;7)可审计与追溯性。这些特征保证了区块链可被广泛地应用,包括金融、证券、保险、商务、物流等领域。
然而,由于数据开放性的要求,区块链系统中的数据是完全公开,当所承载的交易或合约含有敏感信息时,无法保证这些数据的隐私性要求,因而制约了区块链系统在高安全性领域的应用。
为了解决区块链中敏感数据的私密性要求,加密技术是必然的选择。然而目前现有的加密方法,无论是对称加密或是公钥加密,都无法实现特定数据在限定人群下的加/解密要求,例如,某次交易中的“关键参数”仅对“协议双方”、该协议的“负责律师”和“司法机构”可见;在招标中,“标的”仅对“开标方”和“公正机构”可访问等。在这些情况下,所选用的加密系统必须具有灵活的访问控制性、灵活性、易用性。
为了满足上述要求,属性基加密(Attribute-based Encryption,ABE)是一种非常适合于区块链系统中数据隐私保护的要求的加密技术。在技术上,属性基加密就是一种能够支持属性标识上访问控制逻辑的加密技术,它能够通过对系统中的每个成员颁发属性标识,例如,“身份”是“律师”或“公证员”等,“区域”为“北京”或“上海”等,同时,在加密时为数据指定建立在属性标识上的逻辑表达式作为访问策略,例如:身份==“律师”且区域==“北京”,或身份==“律师”且负责案件号==“NO12345”。有鉴于属性基加密强大的逻辑表达能力,能够很好地表达数据加密的授权范围,为各种应用中灵活、高效的数据隐私保护提供了可能。
然而,现有技术中,属性基加密被应用到区块链隐私保护中也存在一些技术上的难点,特别是在“密钥管理”方面。用户客户端密码系统维护困难,在存储、传输、使用上都存在密钥泄露的风险,存在使用范围等多种局限。
发明内容
针对上述技术问题,本发明提供一种基于属性基加密的区块链合约的隐私保护方法与系统。所述系统采用整个区块链系统一个密码系统,多个属性密钥中心构成一个密钥分发中心KDC的密钥管理方式,并通过提供用户申请的新属性和属性值、以及更加灵活的属性密钥动态分发过程提高易用性。
本发明是通过以下技术方案实现的:
基于属性基加密的区块链合约隐私保护系统,其特征在于,所述系统包括:
密钥分发中心KDC,所述密钥分发中心KDC用于建立支持属性基访问策略的属性基加密系统、用户密钥分发、公钥管理、授权检查与撤销;
用户,包括所述系统的所有成员,成员具有多种身份,身份由若干属性构成;
区块链系统,为分布式的记帐单系统,包括若干节点,共同维护一个不可更改的公共数据库;整个所述区块链系统采用一个所述属性基加密系统,并且采用一个所述密钥分发中心KDC进行密钥管理。
进一步地,所述密钥分发中心KDC建立的所述属性基加密系统,包括:
系统生成算法SETUP模块:根据安全要求生成密码系统的数学参数,以及系统主私钥msk和主公钥mpk;
属性加入算法JOIN模块:根据所述系统主私钥msk和给定的属性Ai,生成该属性Ai所对应的属性私钥ski和属性公钥pki;
用户密钥生成算法KEYGEN模块:根据输入的用户标识IDi和属性值列表{aij},生成用户密钥uski;
数据加密算法ENCRYPT模块:根据输入的访问策略P、随机会话密钥ek和主公钥mpk,生成访问策略P下的密文C;
数据解密算法DECRYPT模块:根据输入的用户密钥uski和密文C,如果用户密钥对应的属性值列表{aij}满足所述密文C对应的访问策略P,则恢复出会话密钥ek。
进一步地,所述属性基加密系统建立在属性基访问策略判决基础上,能够确保属性判决通过时,加密数据能够被解密。
所述属性基加密系统中属性基访问策略包括:
1)属性集合A由若干属性Ai构成,其中,每个属性Ai包含若干属性值aij,属性Ai用字符串表示,属性值包括字符串、整数、浮点数、坐标、时间;
2)访问策略P是属性集合A上的逻辑判定表达式或判定函数,结果为拒绝或授权,判定函数由若干谓词及它们的逻辑操作构成,其中,逻辑操作包括与and、或or、非not;
3)谓词是一个返回布尔值的判定函数或判定式,它由属性名、判定符和操作数三者构成,其中,
b)操作数包括属性值、属性值集合、常数、字符串、布尔值。
基于属性基加密的区块链合约隐私保护方法,所述方法采用所述基于属性基加密的区块链合约隐私保护系统;所述方法用于含有敏感信息的合约隐私保护,包括以下步骤:
系统初始化:由系统管理者调用系统生成算法SETUP模块生成系统主私钥msk和主公钥mpk,并将主私钥msk送至所述密钥分发中心KDC保存,并公布主公钥mpk;公布主公钥mpk的方法包括:PKI证书、分布区块链、KDC端口检索服务;
用户注册:用于对用户身份进行验证并颁发用户私钥的过程;
合约入链:包括合约生成、敏感信息加密封装和合约上传入链;
1)所述合约生成具体为:合约方产生合约文档,所述合约文档中包括合约中的相关人员和条目的描述;
2)所述敏感信息加密封装为合约方对合约中的敏感信息进行加密与封装、用封装结果对原敏感数据进行替换;
3)所述合约上传入链为:合约方将封装好的合约上传至区块链系统中;
访问请求授权:是在用户从区块链上获取合约后,请求访问合约中敏感信息的过程,包括:
1)策略匹配阶段:对某一加密数据获取合约绑定的访问策略P,用户判定用户自己所具有的属性是否能通过访问策略P的判决,如果判决通过,则进入步骤2);否则,进入步骤3);
2)请求授权阶段:用户向合约方请求获取数据访问授权,并依据合约方给出的数据访问授权向密钥分发中心KDC请求缺少的属性私钥;
3)数据解密阶段:通过调用属性基加密系统的数据解密算法DECRYPT模块对数据进行解密和去封装。
进一步地,所述用户注册,具体包括:
发送注册请求阶段:用户填写注册请求表并向所述密钥分发中心KDC发送注册请求;所述注册请求表包括用户的身份证明信息以及身份属性信息;所述身份证明信息包括各类身份证件,所述身份属性信息包括用户标识IDi和属性值列表{aij};
身份验证阶段:所述密钥分发中心KDC接收到注册请求后依据用户提供的身份证明信息对用户身份进行验证,如失败则退出;
私钥生成阶段:所述密钥分发中心KDC依据用户提供的身份属性信息,调用所述属性基加密系统中的用户密钥生成算法KEYGEN模块生成用户私钥uski;
请求返回阶段:所述密钥分发中心KDC将生成的用户私钥uski通过安全的信道返回给用户。
进一步地,所述合约入链过程中,敏感信息加密封装具体为:
1)敏感数据判定:判定合约中是否存在尚未封装的敏感数据,如果判定通过,存在尚未封装的敏感数据,则进入步骤2)进行敏感数据加密与封装;否则,直接退出;
2)敏感数据加密与封装:对每一处需要加密保护的敏感信息D,指定属性基访问策略P、获取属性基访问策略P中新增属性的属性公钥、再采用基于策略的数据封装格式对敏感信息D进行加密与封装,并对原合约中的信息D进行替换,最后,跳转到步骤1)进行敏感数据判定。
进一步地,步骤2)敏感数据加密与封装中,所述获取属性基访问策略P中新增属性的属性公钥,具体为:
1)KDC请求判定:密钥分发中心判断合约方还是用户是否已经拥有访问策略P所需要的所有属性公钥,如果判断通过,则直接返回;否则,进入步骤2)发送新增属性集合请求;
2)发送新增属性集合请求:合约方向密钥分发中心KDC发送新增属性集合请求表单;新增属性集合请求表单中包括合约方标识ID,合约内容、新增的属性集合、合约方签名;
3)KDC请求校验:密钥分发中心KDC对新增属性集合请求进行校验,包括合约方签名有效性、新增属性的合规性,如果校验判定通过,则进入步骤4)计算属性公钥PK;否则,返回错误信息;
4)计算属性公钥PK:对每一个新增的属性,密钥分发中心KDC调用属性加入算法JOIN模块生成新增属性的属性公钥pki。
进一步地,步骤2)敏感数据加密与封装中,所述再采用基于策略的数据封装格式对敏感信息D进行加密与封装,包括:
被封装敏感信息D的访问策略P以明文形式表示;
访问策略P的密文Cek,是选择随机会话密钥ek,通过以访问策略P、随机会话密钥ek和主公钥mpk及新增属性的属性公钥为输入,调用数据加密算法ENCRYPT模块生成访问策略P下的密文Cek;
被封装敏感信息D的密文CD,是调用常规加密算法Enc对被封装敏感信息D进行加密,获得密文CD;所述常规加密算法Enc是指采用随机数作为密钥的对称加密算法,包括分组密码、流密码。
进一步地,所述访问请求授权的过程中,所述请求授权阶段,用户向合约方请求获取数据访问授权,并可依据此授权向KDC请求缺少的属性私钥,具体包括:
1)合约方授权阶段。用户向合约方请求获得合约中属性密钥的授权,在合约方同意后,获得带有合约方签名的访问授权,再由用户或合约方向KDC发送访问授权请求;
2)合规性检查阶段。KDC对访问授权请求进行校验,包括合约方签名有效性、请求属性密钥的合规性,验证通过后,进入步骤2);否则,退出并报告错误;
3)属性密钥分发阶段;KDC通过调用加密系统的用户密钥生成算法KEYGEN模块,返回用户请求属性所对应的属性私钥。
进一步地,所述访问请求授权的过程中,所述请求授权阶段,通过调用属性基加密系统的数据解密算法对数据进行解密和去封装,具体包括:
1)由密文Cek获取会话密钥ek。它是输入的用户密钥uski和基于策略的数据封装格式中的密文Cek,通过调用前述数据解密算法DECRYPT模块,恢复出会话密钥ek;
2)由密文CD获取敏感信息D。它是以会话密钥ek为输入,通过调用前述常规加密算法Enc对应的解密算法Dec,恢复出敏感信息D,并用该信息替换合同中的数据封装格式。
本发明的有益技术效果:
(1)本发明所述方法采用属性基加密实现对区块链合约中敏感信息进行隐私保护。
(2)本发明采用访问控制策略实现对区块链中敏感信息进行动态访问授权,访问策略可支持对属性集合下各种关系谓词构成的逻辑表达式的判定。
(3)本发明所述系统中整个区块链系统采用一个密码系统,多个属性密钥中心构成一个密钥分发中心KDC的密钥管理方式。
(4)本发明所述方法能够支持动态地生成和撤销访问控制策略中的属性密钥,由合约方动态地控制区块链上隐私数据的访问权限。
附图说明
图1为本发明实施例中基于属性基加密的区块链合约隐私保护系统结构图。
图2为本发明实施例中一种基于属性基加密的区块链合约隐私保护方法流程图。
图3为本发明实施例中用户注册流程图。
图4为本发明实施例中用户注册交互过程示意图。
图5为本发明实施例中合约加密入链流程图。
图6为本发明实施例中合约加密入链过程示意图。
图7为本发明实施例访问请求授权流程图。
图8为本发明实施例访问请求授权交互过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细描述。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
相反,本发明涵盖任何由权利要求定义的在本发明的精髓和范围上做的替代、修改、等效方法以及方案。进一步,为了使公众对本发明有更好的了解,在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。
在实施例中,将采用常见的双线性对(Bilinear Pairing)进行构造,具体定义如下:
2)非退化性:e(g,h)≠1;
3)可计算性:存在多项式时间内算法可快速计算e(g,h)。
令该双线性映射系统表示为V=(p,G1,G2,GT,e(·,·))。
本发明实施例提供一种基于属性基加密的区块链合约隐私保护系统,所述系统包括:
密钥分发中心KDC,所述密钥分发中心KDC用于建立支持属性基访问策略的属性基加密系统、用户密钥分发、公钥管理、授权检查与撤销;
用户,包括所述系统的所有成员,成员具有多种身份,身份由若干属性构成;
区块链系统,为分布式的记帐单系统,包括若干节点,共同维护一个不可更改的公共数据库,包括公有区块链、私有区块链、联盟区块链、联邦制区块链。
所述密钥分发中心KDC建立的所述属性基加密系统,包括:
系统生成算法SETUP模块:输入安全强度κ,输出主公钥和主私钥过程如下:
1)根据安全强度κ,构造基于椭圆曲线密码的双线性映射系统V=(p,G1,G2,GT,e(·,·));
2)在G1和G2中随机选择两个元素G∈G1和H∈G2;
4)生成主公钥mpk=(V,H,Q,R),主私钥msk=(α,β,ε,G,Gε),输出(mpk,msk)。
属性加入算法JOIN模块:输入主私钥msk和属性集Ai={ai1,ai2,…,ail},添加该属性进入系统的过程如下:
用户密钥生成KeyGen:输入主私钥msk和用户ul的属性值集合Φl={Ai←aij},输出用户私钥的过程如下:
数据加密算法ENCRYPT模块:输入明文M、公钥mpk和访问策略P对应的共享生成矩阵与属性值置换(T,π),输出密文CΠ过程如下:
其中,HS=PolesAggr(mpk,S),GS=ZerosAggr(mpk,S)。
1)从具有的子密文里提取属性值集合,然后尝试在密钥sk(l)中找到能够满足以上条件的指派(Ai←aij)∈Φl。如果成功,即用户的私钥对应的属性值Ai←aij满足密文中访问策略条件即,查找子密钥并且计算式:
其中,GS-=ZerosAggr(mpk,S\{aij})和Hs+=PolesAggr(mpk,S∪{aij})。
2)当所有的ci值已知时,根据共享生成矩阵T和I={i:π(i)∈U}计算出重构的向量{wi∈Zp}i∈I,其中,U是任意满足策略Π的策略条件集合,而且,如果{λi}是任意秘密s的有效共享,那么Σi∈Iwiλi=s。然后,计算最后恢复会话密钥ek=R'=e(sk0,c0)/c。
4)如果用户的私钥对应的属性值集合Φl不满足密文中访问策略P,输出空。
所述属性基加密系统建立在属性基访问策略判决基础上,能够确保属性判决通过时,加密数据能够被解密。
所述属性基加密系统中属性基访问策略包括:
1)属性集合A由若干属性Ai构成,其中,每个属性Ai包含若干属性值aij,属性Ai用字符串表示,属性值包括字符串、整数、浮点数、坐标、时间;
2)访问策略P是属性集合A上的逻辑判定表达式或判定函数,结果为拒绝或授权,判定函数由若干谓词及它们的逻辑操作构成,其中,逻辑操作包括与and、或or、非not;
3)谓词是一个返回布尔值的判定函数或判定式,它由属性名、判定符和操作数三者构成,其中,
B)操作数包括属性值、属性值集合、常数、字符串、布尔值。
本发明实施例还提供一种基于属性基加密的区块链合约隐私保护方法,所述方法采用上述实施例中的所述基于属性基加密的区块链合约隐私保护系统所述方法用于含有敏感信息的合约隐私保护,如图2所示,所述方法包括系统初始化、用户注册、合约入链、访问请求授权步骤。
系统初始化,包括
1)由区块链系统管理员调用系统初始化SETUP函数,生成系统参数V=(p,G1,G2,GT,e(·,·)),以及主公钥mpk=(S,H,Q,R)和主私钥msk=(α,β,ε,G,Gε)。
2)系统管理员将主私钥送KDC中保存。
3)系统管理员将系统参数和主公钥写入公钥证书Cert(包括PKI、X509、PGP)中,本例存储于区块链交易表单中,实例如下:
用户注册,如图2-3所示,图3为本发明实施例中用户注册流程图;
图4为本发明实施例中用户注册交互过程示意图;
1)用户依据自己的身份构造注册请求表单并发送给KDC,具体请求样例如下:
其中,{}表示若干属性元素集合,[]表示若干属性元素列表,属性元素表示为“属性名:属性值”形式。部分字段的意义如下:
1.Username为用户的用户名;
2.Identity为用户基于所有属性计算出的hash值;
3.Attribute为用户用于验证身份的属性集合。
2)KDC收到用户注册请求表单后对用户身份信息进行校验。
4)KDC向用户返回私钥。
合约加密入链,如图5-6所示,图5为本发明实施例中合约加密入链流程图,图6为本发明实施例合约加密入链过程示意图;
假设有一个合约是“A向B支付了100元用于购买B提供的软件使用权,该使用权通过B向A提供“许可证号”实现”。这里,“许可证号”是私密信息,因此需要加密保护。从合约适用性角度考虑,“许可证号”仅对下面人员开放:
“两个合约当事人、或法官、或受委托该合约的律师和公证人”。
针对这一实例,合约加密入链过程如下:
1)合约生成:合约各方签署合约。在本例中,协议双方A和B按照合约脚本填写合约信息,例如:
为了保证双方的匿名,采用了A和B的公钥地址(即注册时使用的Identity属性值)表示两者身份,对应“Form”和“To”字段内。同时,在“Signature”记录两者的签名,并且A和B的公钥能够检测该签名的正确性,从而证明A和B的身份。
2)敏感数据判定:在“Statement”中保存B签发给A的“许可证号”。为了对该许可证号信息进行加密,采用了XML文件格式进行了策略的表述和密文存储,其中,<CipherText>记录了实际的加密信息,它采用通常的加密算法(如AES)由会话密钥ek进行加密,而会话密钥ek的加密则采用本发明中的属性基加密ABE方案进行加密。ABE的加密策略为:
(Identity∈{A_ID,B_ID}or Staff==Judge or(Staff∈{Lawyer,Notary}andTx_ID==tx_id))
其中,每个谓词形成一个策略条件Condition,共四个。
每个条件需要生成一个子策略密文,由于子密文生成需要获得公钥中相应的属性公钥,例如,Tx_ID是本合约中出现的新属性,因此,需要请求系统中KDC建立上述新属性并颁发相应的属性公钥和属性私钥。注意,四个条件中的子密文以及<MainCipher>中的主密文都为空。
3)新增属性的属性公钥获取:向KDC请求属性公/私钥。合约方将上述合约发送给KDC,并求取KDC向合约双方发放新属性,即Tx_ID的属性公钥和属性私钥。KDC返回用户属性公私钥。KDC调用ABE密码系统中的JOIN函数分别生成三个属性的KDC再调用ABE密码系统中的KeyGen函数为合约双方A和B,分别生成Tx_ID属性的私钥并分别通过安全信道(采用带有接收方标识为策略的ABE加密属性私钥)分发给A和B。合约双方分别使用自己的私钥解密KDC返回的数据得到新的属性私钥。
4)敏感信息加密封装:合约两方利用系统公钥mpk和返回的属性公钥Hij,分别对四个条件和会话密钥ek进行加密,生成四个条件中的子密文以及<MainCipher>中的主密文。并将策略的明文和密文xml文件形式以如下格式封装进合约中:
其中,属性From、To、Amount、Asset为公开字段,Statement为隐私数据的密文字段,相应的访问策略及密文为xml格式。
策略由“or”和“and”构成的条件下的布尔表达式构成,三元组(属性名:操作:属性值)表示策略中的条件。
1)合约提交入链。合约两方向区块链系统提交上述完成的合约,区块链系统按照通常的入链过程对合约有效性进行检测,并通过共识协议将该合约加入到当前块中。
访问请求授权,如图7-8所示,图7为本发明实施例访问请求授权流程图,图8为本发明实施例访问请求授权交互过程示意图;
1)用户获取数据:用户依据合约的标识(例如,上例中Tx_ID=“B1DFCA8…5FFE4AB6A03C17”)从区块链上获取上述的合约数据。
2)策略匹配:用户从合约数据中Statement字段中得到访问策略的明文和密文,然后用户将自己已经拥有的属性私钥与策略所涉及的私钥进行配对,从之前给出的用户私钥可以看出,当前用户拥有属性Username、Identity、SSN、Address、Staff这5个属性的属性私钥,而策略中需要Identity、Stuff、Tx_ID的属性私钥。所以用户需要向KDC请求Tx_ID的属性私钥。
3)请求授权:用户向合约参与方IDNEOVNL…TAMUSDOE和ECWBT741…VVUAGC8W请求授权,具体请求授权样例如下:
当合约参与方同意给用户进行授权后,则各自在对应的Sig字段添加上自己的签名,并将签名后的授权返回给用户。
4)合规性检查与属性密钥分发:用户将授权发送给KDC,KDC获取合约参与方的公钥来对其签名进行验证,验证通过后,KDC通过调用加密系统的用户密钥生成算法为用户生成Tx_ID属性的属性私钥.KDC使用请求方的公钥对返回的私钥进行加密,然后将加密后的私钥返回给请求者。
5)数据解密和去封装:此时用户已经拥有了Identity,Staff,Tx_ID这3个属性的属性私钥,用户使用上述这3个属性的属性私钥调用加密系统的数据解密算法对数据进行解密。因为用户的职业是Lawyer且获得了Tx_ID,满足策略判定的条件,即(Identity∈{A_ID,B_ID}or Staff==Judge or(Staff∈{Lawyer,Notary}and Tx_ID==tx_id)),所以用户可以获取到加密数据的会话密钥并对加密数据进行解密。解密后的合约形式如下:
本发明为了避免客户端密码系统维护困难、使用范围有限的局限,本发明采用整个区块链系统一个密码系统,多个属性密钥中心构成一个密钥分发中心KDC的密钥管理方式,并通过提供用户申请的新属性和属性值、以及更加灵活的属性密钥动态分发过程提高易用性。此外,本专利所采用的基于属性集合上“属于”与“不属于”加密方案也减少了区块链中策略表示的存储开销和密文的长度,增加了策略表示的能力。
Claims (8)
1.基于属性基加密的区块链合约隐私保护系统,其特征在于,所述系统包括:密钥分发中心KDC、用户和区块链系统;
密钥分发中心KDC,所述密钥分发中心KDC用于建立支持属性基访问策略的属性基加密系统、用户密钥分发、公钥管理、授权检查与撤销;
用户,包括所述系统的所有成员,成员具有多种身份,身份由若干属性构成;
区块链系统,为分布式的记帐单系统,包括若干节点,共同维护一个不可更改的公共数据库;整个所述区块链系统采用一个所述属性基加密系统,并且采用一个所述密钥分发中心KDC进行密钥管理;
所述属性基加密系统中属性基访问策略包括:
1)属性集合A由若干属性Ai构成,其中,每个属性Ai包含若干属性值aij,属性Ai用字符串表示,属性值包括字符串、整数、浮点数、坐标、时间;
2)访问策略P是属性集合A上的逻辑判定表达式或判定函数,结果为拒绝或授权,判定函数由若干谓词及它们的逻辑操作构成,其中,逻辑操作包括与and、或or、非not;
3)谓词是一个返回布尔值的判定函数或判定式,它由属性名、判定符和操作数三者构成,其中,
b)操作数包括属性值、属性值集合、常数、字符串、布尔值;
所述密钥分发中心KDC建立的所述属性基加密系统包括:系统生成算法SETUP模块、属性加入算法JOIN模块、用户密钥生成算法KEYGEN模块、数据加密算法ENCRYPT模块和数据解密算法DECRYPT模块;
系统生成算法SETUP模块:根据安全要求生成密码系统的数学参数,以及系统主私钥msk和主公钥mpk;
输入安全强度κ,输出主公钥和主私钥过程如下:
1)根据安全强度κ,构造基于椭圆曲线密码的双线性映射系统
V=(p,G1,G2,GT,e(·,·)),
2)非退化性:e(g,h)≠1;
3)可计算性:存在多项式时间内算法可快速计算e(g,h);
令该双线性映射系统表示为V=(p,G1,G2,GT,e(·,·));
2)在G1和G2中随机选择两个元素G∈G1和H∈G2;
4)生成主公钥mpk=(V,H,Q,R),主私钥msk=(α,β,ε,G,Gε),输出(mpk,msk);
属性加入算法JOIN模块:根据所述系统主私钥msk和给定的属性Ai,生成该属性Ai所对应的属性私钥ski和属性公钥pki;
输入主私钥msk和属性集Ai={ai1,ai2,…,ail},添加该属性进入系统的过程如下:
用户密钥生成算法KEYGEN模块:根据输入的用户标识IDi和属性值列表{aij},生成用户密钥uski;
输入主私钥msk和用户ul的属性值集合Φl={Ai←aij},输出用户私钥的过程如下:
数据加密算法ENCRYPT模块:根据输入的访问策略P、随机会话密钥ek和主公钥mpk,生成访问策略P下的密文C;
输入明文M、公钥mpk和访问策略P对应的共享生成矩阵与属性值置换(T,π),输出密文CP过程如下:
其中,HS=PolesAggr(mpk,S),GS=ZerosAggr(mpk,S);
数据解密算法DECRYPT模块:根据输入的用户密钥uski和密文C,如果用户密钥对应的属性值列表{aij}满足所述密文C对应的访问策略P,则恢复出会话密钥ek;
1)从具有的子密文里提取属性值集合,然后尝试在密钥sk(l)中找到能够满足以上条件的指派(Ai←aij)∈Φl;如果成功,即用户的私钥对应的属性值Ai←aij满足密文中访问策略条件即,查找子密钥并且计算式:
其中,GS-=ZerosAggr(mpk,S\{aij})和Hs+=PolesAggr(mpk,S∪{aij});
2)当所有的ci值已知时,根据共享生成矩阵T和I={i:π(i)∈U}计算出重构的向量{wi∈Zp}i∈I,其中,U是任意满足策略P的策略条件集合,而且,如果{λi}是任意秘密s的有效共享,那么Σi∈Iwiλi=s;然后,计算最后恢复会话密钥ek=R'=e(sk0,c0)/c;
4)如果用户的私钥对应的属性值集合Φl不满足密文中访问策略P,输出空;
所述属性基加密系统建立在属性基访问策略判决基础上,能够确保属性判决通过时,加密数据能够被解密。
2.基于属性基加密的区块链合约隐私保护方法,所述方法采用权利要求1所述基于属性基加密的区块链合约隐私保护系统;其特征在于,所述方法用于含有敏感信息的合约隐私保护,包括以下步骤:
系统初始化:由系统管理者调用系统生成算法SETUP模块生成系统主私钥msk和主公钥mpk,并将主私钥msk送至所述密钥分发中心KDC保存,并公布主公钥mpk;
用户注册:用于对用户身份进行验证并颁发用户私钥的过程;
合约入链:包括合约生成、敏感信息加密封装和合约上传入链;
1)所述合约生成具体为:合约方产生合约文档,所述合约文档中包括合约中的相关人员和条目的描述;
2)所述敏感信息加密封装为合约方对合约中的敏感信息进行加密与封装、用封装结果对原敏感数据进行替换;
3)所述合约上传入链为:合约方将封装好的合约上传至区块链系统中;
访问请求授权:是在用户从区块链上获取合约后,请求访问合约中敏感信息的过程,包括:
1)策略匹配阶段:对某一加密数据获取合约绑定的访问策略P,用户判定用户自己所具有的属性是否能通过访问策略P的判决,如果判决通过,则进入步骤2);否则,进入步骤3);
2)请求授权阶段:用户向合约方请求获取数据访问授权,并依据合约方给出的数据访问授权向密钥分发中心KDC请求缺少的属性私钥;
3)数据解密阶段:通过调用属性基加密系统的数据解密算法DECRYPT模块对数据进行解密和去封装。
3.根据权利要求2所述基于属性基加密的区块链合约隐私保护方法,其特征在于,所述用户注册,具体包括:
发送注册请求阶段:用户填写注册请求表并向所述密钥分发中心KDC发送注册请求;所述注册请求表包括用户的身份证明信息以及身份属性信息;所述身份证明信息包括各类身份证件,所述身份属性信息包括用户标识IDi和属性值列表{aij};
身份验证阶段:所述密钥分发中心KDC接收到注册请求后依据用户提供的身份证明信息对用户身份进行验证,如失败则退出;
私钥生成阶段:所述密钥分发中心KDC依据用户提供的身份属性信息,调用所述属性基加密系统中的所述用户密钥生成算法KEYGEN模块生成用户私钥uski;
请求返回阶段:所述密钥分发中心KDC将生成的用户私钥uski通过安全的信道返回给用户。
4.根据权利要求2所述基于属性基加密的区块链合约隐私保护方法,其特征在于,所述合约入链过程中,敏感信息加密封装具体为:
1)敏感数据判定:判定合约中是否存在尚未封装的敏感数据,如果判定通过,存在尚未封装的敏感数据,则进入步骤2)进行敏感数据加密与封装;否则,直接退出;
2)敏感数据加密与封装:对每一处需要加密保护的敏感信息D,指定属性基访问策略P、获取属性基访问策略P中新增属性的属性公钥、再采用基于策略的数据封装格式对敏感信息D进行加密与封装,并对原合约中的信息D进行替换,最后,跳转到步骤1)进行敏感数据判定。
5.根据权利要求4所述基于属性基加密的区块链合约隐私保护方法,其特征在于,步骤2)敏感数据加密与封装中,所述获取属性基访问策略P中新增属性的属性公钥,具体为:
1)KDC请求判定:密钥分发中心判断合约方是否已经拥有访问策略P所需要的所有属性公钥,如果判断通过,则直接返回;否则,进入步骤2)发送新增属性集合请求;
2)发送新增属性集合请求:合约方向密钥分发中心KDC发送新增属性集合请求表单;新增属性集合请求表单中包括合约方标识ID,合约内容、新增的属性集合、合约方签名;
3)KDC请求校验:密钥分发中心KDC对新增属性集合请求进行校验,包括合约方签名有效性、新增属性的合规性,如果校验判定通过,则进入步骤4)计算属性公钥PK;否则,返回错误信息;
4)计算属性公钥PK:对每一个新增的属性,密钥分发中心KDC调用属性加入算法JOIN模块生成新增属性的属性公钥pki。
6.根据权利要求4所述基于属性基加密的区块链合约隐私保护方法,其特征在于,步骤2)敏感数据加密与封装中,所述再采用基于策略的数据封装格式对敏感信息D进行加密与封装,包括:
被封装敏感信息D的访问策略P以明文形式表示;
访问策略P的密文Cek,是选择随机会话密钥ek,通过以访问策略P、随机会话密钥ek和主公钥mpk及新增属性的属性公钥为输入,调用数据加密算法ENCRYPT模块生成访问策略P下的密文Cek;
被封装敏感信息D的密文CD,是调用常规加密算法Enc对被封装敏感信息D进行加密,获得密文CD;所述常规加密算法Enc是指采用随机数作为密钥的对称加密算法。
7.根据权利要求2所述基于属性基加密的区块链合约隐私保护方法,其特征在于,所述访问请求授权的过程中,所述请求授权阶段,用户向合约方请求获取数据访问授权,并可依据此授权向KDC请求缺少的属性私钥,具体包括:
1)合约方授权阶段:用户向合约方请求获得合约中属性密钥的授权,在合约方同意后,获得带有合约方签名的访问授权,再由用户或合约方向KDC发送访问授权请求;
2)合规性检查阶段:KDC对访问授权请求进行校验,包括合约方签名有效性、请求属性密钥的合规性,验证通过后,进入步骤2);否则,退出并报告错误;
3)属性密钥分发阶段:KDC通过调用加密系统的用户密钥生成算法KEYGEN模块,返回用户请求属性所对应的属性私钥。
8.根据权利要求2所述基于属性基加密的区块链合约隐私保护方法,其特征在于,所述访问请求授权的过程中,所述请求授权阶段,通过调用属性基加密系统的数据解密算法对数据进行解密和去封装,具体包括:
1)由密文Cek获取会话密钥ek:它是输入的用户密钥uski和基于策略的数据封装格式中的密文Cek,通过调用数据解密算法DECRYPT模块,恢复出会话密钥ek;
2)由密文CD获取敏感信息D:它是以会话密钥ek为输入,通过调用常规加密算法Enc对应的解密算法Dec,恢复出敏感信息D,并用该信息替换合同中的数据封装格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811351573.3A CN109559117B (zh) | 2018-11-14 | 2018-11-14 | 基于属性基加密的区块链合约隐私保护方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811351573.3A CN109559117B (zh) | 2018-11-14 | 2018-11-14 | 基于属性基加密的区块链合约隐私保护方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109559117A CN109559117A (zh) | 2019-04-02 |
CN109559117B true CN109559117B (zh) | 2022-05-20 |
Family
ID=65866207
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811351573.3A Expired - Fee Related CN109559117B (zh) | 2018-11-14 | 2018-11-14 | 基于属性基加密的区块链合约隐私保护方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109559117B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020211078A1 (en) * | 2019-04-19 | 2020-10-22 | Nokia Technologies Oy | Distributed storage of blocks in blockchains |
CN110084050B (zh) * | 2019-04-23 | 2023-03-24 | 武汉大学 | 一种基于区块链的属性基加密微网交易方法 |
CN110135986B (zh) * | 2019-04-23 | 2024-01-16 | 武汉大学 | 一种基于区块链智能合约实现的可搜索加密文件数据方法 |
CN110059503B (zh) * | 2019-04-24 | 2023-03-24 | 成都派沃特科技股份有限公司 | 可追溯的社交信息防泄露方法 |
US11263333B2 (en) * | 2019-04-25 | 2022-03-01 | International Business Machines Corporation | Multi-subject device access authorization |
CN110278193B (zh) * | 2019-05-20 | 2021-06-01 | 创新先进技术有限公司 | 结合代码标注与交易、事件类型的收据存储方法和节点 |
CN110166237A (zh) * | 2019-05-31 | 2019-08-23 | 杭州时戳信息科技有限公司 | 一种基于区块链的密钥分发方法及系统 |
CN110400642A (zh) * | 2019-06-12 | 2019-11-01 | 梁胤豪 | 一种基于区块链技术的医疗数据共享系统及设计方法 |
CN110278256B (zh) * | 2019-06-13 | 2021-12-14 | 魏松杰 | 区块链节点接入上链方法、相关设备及系统 |
CN110493347B (zh) * | 2019-08-26 | 2020-07-14 | 重庆邮电大学 | 基于区块链的大规模云存储中数据访问控制方法及系统 |
CN110798321B (zh) * | 2019-10-29 | 2022-09-06 | 北京计算机技术及应用研究所 | 一种基于区块链的物品信息服务方法 |
CN112950367B (zh) * | 2019-12-11 | 2021-09-14 | 支付宝(杭州)信息技术有限公司 | 生成和执行智能合约交易的方法及装置 |
CN111159745B (zh) * | 2019-12-30 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种适用于区块链的验证方法及装置 |
CN111327597B (zh) * | 2020-01-21 | 2022-02-11 | 暨南大学 | 基于区块链隐私保护和细粒度访问控制的数字取证方法 |
CN111586010B (zh) * | 2020-04-29 | 2022-04-01 | 中国联合网络通信集团有限公司 | 一种密钥分发方法及装置 |
CN111614678B (zh) * | 2020-05-22 | 2022-07-29 | 中国联合网络通信集团有限公司 | 防泄密方法及防泄密装置、加密装置 |
CN111786968B (zh) * | 2020-06-17 | 2022-04-19 | 杭州溪塔科技有限公司 | 一种保护隐私的数据上报方法、装置、系统及电子设备 |
CN111901302B (zh) * | 2020-06-28 | 2022-02-25 | 石家庄铁道大学 | 基于区块链的医疗信息属性加密访问控制方法 |
CN112307116A (zh) * | 2020-09-17 | 2021-02-02 | 北京沃东天骏信息技术有限公司 | 基于区块链的数据访问控制方法、装置及设备 |
CN112540957B (zh) * | 2020-12-03 | 2022-06-24 | 齐鲁工业大学 | 基于混合区块链的档案安全存储和共享系统及实现方法 |
CN114697001B (zh) * | 2020-12-28 | 2024-06-07 | 浪潮云洲工业互联网有限公司 | 一种基于区块链的信息加密传输方法、设备及介质 |
CN113034140B (zh) * | 2021-03-17 | 2023-07-18 | 深圳壹账通智能科技有限公司 | 实现智能合约加密的方法、系统、设备及存储介质 |
CN112801664B (zh) * | 2021-03-17 | 2021-12-28 | 农夫铺子发展集团有限公司 | 基于区块链的智能合约供应链可信服务方法 |
CN112989413B (zh) * | 2021-03-19 | 2024-01-30 | 北京思特奇信息技术股份有限公司 | 嵌入式数据安全保护方法及系统 |
CN113193953B (zh) * | 2021-04-16 | 2022-09-02 | 南通大学 | 一种基于区块链的多权威属性基加密方法 |
CN113507359A (zh) * | 2021-06-18 | 2021-10-15 | 泰安北航科技园信息科技有限公司 | 基于区块链的数字版权多权限属性加密管理系统 |
CN113726520A (zh) * | 2021-08-19 | 2021-11-30 | 广东工业大学 | 一种基于区块链的多权限可撤销加密二维码电子病历 |
CN114050915B (zh) * | 2021-10-25 | 2024-03-15 | 安徽中科晶格技术有限公司 | 隔离网络下细粒度权限访问同步方法、装置及设备 |
CN114372281A (zh) * | 2021-12-24 | 2022-04-19 | 浙江吉利控股集团有限公司 | 智能合约访问方法、装置、设备及存储介质 |
CN114745201B (zh) * | 2022-05-07 | 2023-05-23 | 北京航空航天大学 | 基于区块链与属性加密的数据访问隐私保护系统及方法 |
CN114679271A (zh) * | 2022-05-25 | 2022-06-28 | 南京理工大学 | 区块链隐私数据访问控制方法和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635135A (zh) * | 2015-12-28 | 2016-06-01 | 北京科技大学 | 一种基于属性集及关系谓词的加密系统及访问控制方法 |
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
CN107979590A (zh) * | 2017-11-02 | 2018-05-01 | 财付通支付科技有限公司 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423764B2 (en) * | 2010-06-23 | 2013-04-16 | Motorola Solutions, Inc. | Method and apparatus for key revocation in an attribute-based encryption scheme |
-
2018
- 2018-11-14 CN CN201811351573.3A patent/CN109559117B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635135A (zh) * | 2015-12-28 | 2016-06-01 | 北京科技大学 | 一种基于属性集及关系谓词的加密系统及访问控制方法 |
CN106503994A (zh) * | 2016-11-02 | 2017-03-15 | 西安电子科技大学 | 基于属性加密的区块链隐私数据访问控制方法 |
CN107979590A (zh) * | 2017-11-02 | 2018-05-01 | 财付通支付科技有限公司 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109559117A (zh) | 2019-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109559117B (zh) | 基于属性基加密的区块链合约隐私保护方法与系统 | |
Li et al. | Full verifiability for outsourced decryption in attribute based encryption | |
CN106961336B (zh) | 一种基于sm2算法的密钥分量托管方法和系统 | |
AU2003202511B2 (en) | Methods for authenticating potential members invited to join a group | |
Deng et al. | Ciphertext-policy attribute-based signcryption with verifiable outsourced designcryption for sharing personal health records | |
Hwang et al. | Short dynamic group signature scheme supporting controllable linkability | |
Li et al. | Digital provenance: Enabling secure data forensics in cloud computing | |
Hamdane et al. | Named-data security scheme for named data networking | |
US20040123098A1 (en) | Method and apparatus for use in relation to verifying an association between two parties | |
US20210152370A1 (en) | Digital signature method, device, and system | |
WO2009143713A1 (zh) | 双因子组合公钥生成和认证方法 | |
WO2021190452A1 (zh) | 用于云雾协助物联网的轻量级属性基签密方法 | |
GB2398713A (en) | Anonymous access to online services for users registered with a group membership authority | |
Saranya et al. | Cloud based efficient authentication for mobile payments using key distribution method | |
Li et al. | Traceable Ciphertext‐Policy Attribute‐Based Encryption with Verifiable Outsourced Decryption in eHealth Cloud | |
Wang et al. | Accountable authority key policy attribute-based encryption | |
Hahn et al. | Trustworthy delegation toward securing mobile healthcare cyber-physical systems | |
Chaudhary et al. | RMA-CPABE: A multi-authority CPABE scheme with reduced ciphertext size for IoT devices | |
Kerschbaum et al. | RFID-based supply chain partner authentication and key agreement | |
Cui et al. | Towards Multi-User, Secure, and Verifiable $ k $ NN Query in Cloud Database | |
Ding et al. | A new approach for delegation using hierarchical delegation tokens | |
Li et al. | PriExpress: Privacy-preserving express delivery with fine-grained attribute-based access control | |
Pei et al. | Smart contract based multi-party computation with privacy preserving and settlement addressed | |
CN114866244B (zh) | 基于密文分组链接加密的可控匿名认证方法、系统及装置 | |
Barker et al. | SP 800-56A. recommendation for pair-wise key establishment schemes using discrete logarithm cryptography (revised) |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220520 |