1.一种混合链和门限代理重加密的个人信用数据授权方法,其特征在于,包括以下步骤:
1)用户节点生成门限代理重加密秘钥;
2)用户节点将生成的秘钥发送给联盟链中的n个代理节点;
3)利用重加密算法reencapsulate(kfrag,capsule)对capsule重加密,再利用checkcapsule算法验证capsule是否有效,当capsule无效时,则输出终止符,当capsule有效时,则计算cfarg;
4)从t个cfarg中获取对称密钥k,其中,t为预设的门限值;
5)机构节点利用对称密钥k解密ciphertext,完成混合链和门限代理重加密的个人信用数据授权。
2.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,步骤1)的具体操作过程为:
机构节点(pkb,skb)申请访问用户节点(pka,ska)的信用数据,用户节点设置生成的密钥碎片个数n及门限t,再利用rekeygen(ska,pkb,n,t)计算n个重加密密钥片段{kfrag1,kfrag2,...,kfragn}。
3.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,利用rekeygen(ska,pkb,n,t)计算n个重加密密钥片段的具体过程为:
11)生成临时密钥对(xa,xa),从集合zq中任意取xa,并计算
12)生成非交互式的diffie-hellman交换密钥d,令
13)从集合zq中选择t-1个参数fi,1≤i≤t-1,f0=a·d-1modq;
14)构造t-1阶多项式
15)计算
16)重加密密钥集合
4.根据权利要求3所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,计算重加密密钥片段集合kf的具体过程为:
161)任取y,id∈zq;
162)计算sx=h5(id,d)并令y=gy;
163)令rk=f(sx);
164)令u1=urk;
165)计算z1=h4(y,id,pka1,pkb,u1,xa),并令z2=y-a·z1;
166)令重加密密钥片段kfrag为一个元组(id,rk,xa,u1,z1,z2);
167)则kf=kf∪{kfrag}。
5.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,步骤4)的具体操作为:
41)计算
42)令
43)计算:
44)计算交换密钥
45)计算对称密钥k=kdf((e′·v′)d)。
6.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,步骤1)之前还包括系统初始化、生成身份秘钥、身份注册、用户节点个人信息加密、上传交易数据以及交易执行。
7.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,系统初始化的具体操作过程为:
输入系统安全参数sec,生成素数q阶乘法循环群
8.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,生成身份秘钥的具体过程为:
输入params,输出用户节点的身份密钥对(ska,pka),机构节点通过输入params,得机构节点的身份密钥对(skb,pkb)。
9.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,上传交易数据的具体过程为:
机构节点通过安全签名算法sig对密文ciphertext及验证消息m′进行签名,将生成的签名文件σb发送给用户节点a;
用户节点a收到签名文件σb,使用pkb进行解密,得密文ciphertext及m′,然后对密文ciphertext及m′进行签名,得签名文件σa,最后广播至区块链。
10.根据权利要求1所述的混合链和门限代理重加密的个人信用数据授权方法,其特征在于,交易执行的具体过程为:
根据区块链的共识算法选举当前记账员f;
记账员f将接收到的交易数据进行验证,当验证通过后,将所述交易数据打包至区块链上。