利索能及
我要发布
收藏
专利号: 2022112811350
申请人: 电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2025-12-17
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,其负责凭证颁发的委员会由区块链中的动态节点组成,将动态秘密共享技术应用于凭证构建中,基于动态委员会搭建了全新的身份管理协议,包括基于动态委员会的A主凭证颁发阶段、B上下文凭证颁发阶段和C密钥恢复阶段;其中,A主凭证颁发阶段分别与B上下文凭证颁发阶段、C密钥恢复阶段连接,B上下文凭证颁发阶段和C密钥恢复阶段相互独立;

所述A主凭证颁发阶段:生成用户唯一的主凭证CDmaster,该协议首先将用户的遗留数据转化为预凭证,然后由得到的预凭证来生成主凭证;

所述B上下文凭证颁发阶段:颁发用户的上下文凭证,该上下文凭证能够满足用户与不同应用程序的交互需求,并且实现上下文凭证之间的不可链接性;

所述C密钥恢复阶段:在委员会节点动态变化的条件下恢复用户的私钥;

所述A主凭证颁发阶段包括以下步骤:

A1.用户首先生成自己的公私钥对,而后委员会节点执行分布式密钥生成协议,生成委员会的公私钥对,并初始化表格CmTable为空,该表格用于重复数据删除,以保证主凭证的唯一性;

A2.用户选择想要生成预凭证的属性,并利用DECO协议安全移植现有web服务器中的属性,经委员会节点签名后得到预凭证PC;

A3.委员会节点判断用户要生成的主凭证是否唯一,若是,则进入步骤A4,否则,返回步骤A2;

A4.委员会节点通过预凭证PC来为用户颁发主凭证,并附上声明确保主凭证的唯一性;

所述B上下文凭证颁发阶段包括以下步骤:

B1.用户在获得主凭证CDmaster之后,生成新的公钥 同时在与应用程序交互时指定要使用的上下文字符串ctx;

B2.用户向委员会节点发送主凭证CDmaster,新公钥 以及满足上下文字符串ctx的新预凭证PCnew;

B3.委员会节点以动态秘密共享的方式存储ctxTable表,将已颁发的上下文凭证存储于表格中,同时根据 来为用户颁发上下文凭证;

所述C密钥恢复阶段包括以下步骤:

C1.用户首先指定一组用于身份验证的账户以及对它们的访问结构;

C2.用户通过使用DECO协议,在注册密钥恢复服务时将身份验证方案发送到委员会节点中;

C3.注册完成之后,用户使用动态秘密共享技术将私钥sku备份到委员会中;

C4.当用户想要恢复私钥时,需要执行指定的身份验证,若验证成功,则进入步骤C5,若验证失败,则返回步骤C1;

C5.验证节点生成零知识证明,证明用户已通过身份认证,并将该证明发送给委员会节点,委员会节点验证成功后执行动态秘密共享协议,将秘密碎片发送给用户,使得用户重新恢复私钥sku。

2.根据权利要求1所述的一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,所述步骤A1包括以下步骤:A101.用户生成自己的公私钥对sku和pku,而后委员会节点执行分布式密钥生成协议,生成委员会节点的私钥skc和公钥pkc;委员会节点共有n个,分别为C1,C2,...,Cn;

A102.委员会节点Ci接收私钥skc的秘密份额ski以及公钥pkc,并初始化表格CmTable为空,表格存储已发布主凭证的用户的公钥pku和唯一属性值Vu,委员会以秘密共享的方式共同维护该表格。

3.根据权利要求2所述的一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,所述步骤A2包括以下步骤:A201.用户选择想要生成预凭证的属性a,并利用DECO协议安全移植现有web服务器中的属性a所对应的值v,生成CL声明,其中CL={a,Cv},Cv=com(v,p),表示对属性值v的承诺,其中证人为p;

A202.委员会节点使用门限签名算法,将ski作为门限签名密钥,对CL进行签名,生成预凭证中的证明πDECO,用户最终生成预凭证PC=(pku,CL,πDECO)。

4.根据权利要求3所述的一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,所述步骤A3包括以下步骤:b

A301.委员会节点产生新的随机盲因子([b],B=g),并将其发送给用户U,而后用户U从中重构出b;

A302.用户计算V′u=Vu+b来隐藏属性值Vu,然后产生正确致盲证明并生成Vu′=Vu+b;

blind

A303.用户根据Vu生成对应的预凭证PCu,然后用户将(PCu,Vu′,π )发送给委员会节点,每个委员会节点Ci验证收到的证明,计算 其中λ是拉格朗日系数;

A304.委员会节点执行动态秘密共享协议,将存储的CmTable秘密共享份额合并成完整的CmTable,同时执行MPC协议,以计算出Vu=∑λiVui,然后将属性Vu与CmTable中的内容进行匹配;

A305.判断Vu在CmTable中是否匹配成功,若匹配成功,则说明主凭证唯一,委员会节点可为用户颁发主凭证,进入步骤A4,否则返回步骤A2。

5.根据权利要求4所述的一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,所述步骤A4包括以下步骤:A401.每个委员会节点Ci计算h={pku,“主凭证”,CL,{“删除重复凭证”,a}},并使用私钥ski对h进行签名,生成部分签名σi=TS.Sig(ski,h);

A402.委员会节点Ci使用用户公钥pku对生成的部分签名σi进行加密,然后将其发送给用户U;

A403.用户U使用私钥sku解密t个有效签名{σi},将其组合成完整签名σc=TS.Comb({σi}),得到主凭证CDmaster={pku,“主凭证”,CL,{“删除重复凭证”,a},σc}。

6.根据权利要求1所述的一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,所述步骤B2包括以下步骤:B201.用户在生成新公钥 之后,通过遗留数据,即满足应用程序上下文要求的数据,生成新声明CLnew,该声明为应用程序上下文所需的声明;

B202.用户在CLnew中附加零知识证明,证明该声明属于持有主凭证的用户,即该声明是有效的;

B203.用户通过新声明CLnew和上下文字符串ctx构建新的预凭证PCnew,然后将主凭证CDmaster、新公钥 和预凭证PCnew发送给委员会节点。

7.根据权利要求6所述的一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,所述步骤B3包括以下步骤:B301.委员会以动态秘密共享的方式存储ctxTable表,以实现委员会节点之间的不可链接性,表中存储成对的pku和 委员会节点将已颁发上下文凭证的成对DID存储于表格中;

B302.用户选取m>max(tx+1,ty+1)个委员会节点作为秘密共享节点,使用非对称双变量多项式 将每个成对DID秘密划分为m个秘密碎片,发送到m个委员会节点中;

B303.用户随机指定一个委员会节点执行动态秘密共享协议,使该节点获得完整的ctxTable表,然后将用户所发送的 与表中内容比较,若未找到相同的 则进入步骤B304,否则,直接为用户颁发上下文凭证;

B304.委员会节点更新ctxTable,将新的成对DID加入列表中,执行动态秘密共享协议,将ctxTable以秘密共享的方式存储于委员会节点中,同时为用户颁发上下文凭证。

8.根据权利要求1所述的一种基于动态委员会的高安全性区块链身份管理方法,其特征在于,所述步骤C3包括以下步骤:C301.用户执行动态秘密共享协议,将私钥sku作为秘密,使用双变量多项式S(x,y)=m 2mk0,0+K0,1y+k1,0x+k1,1xy+…+kmm,2mxy ,使多项式满足S(0,0)=k0,0=sku;

C302.令y=0,使得共享方案的阈值为m,将任意k>m+1个x值带入多项式得到秘密碎片S(i0,0),S(i1,0),...,S(im,0),S(im+1,0),...,S(ik,0);

C303.当委员会节点动态变化时,令x=0,使得阈值变为2m,再重新选取k′>2m+1个x值带入多项式,得到新的秘密碎片S(0,j0),S(0,j1),...,S(0,j2m),S(0,j2m+1),S(0,jk′),将得到的秘密碎片备份到委员会节点中。

9.一种基于动态委员会的高安全性区块链身份管理系统,其特征在于,基于权利要求1~8任一所述一种基于动态委员会的高安全性区块链身份管理方法,将区块链身份管理系统基于动态委员会进行构建,将动态秘密共享技术应用于凭证构建中,基于动态委员会搭建了全新的身份管理协议,包括基于动态委员会的主凭证颁发协议、上下文凭证颁发协议、密钥恢复协议;其中,主凭证颁发协议分别与上下文凭证颁发协议、密钥恢复协议连接,上下文凭证颁发协议和密钥恢复协议相互独立;

所述主凭证颁发协议用于生成用户唯一的主凭证,该协议首先将用户的遗留数据转化为预凭证,然后由得到的预凭证来生成主凭证;

所述上下文凭证颁发协议用于颁发用户的上下文凭证,该上下文凭证能够满足用户与不同应用程序的交互需求,并且实现上下文凭证之间的不可链接性;

所述密钥恢复协议用于在委员会节点动态变化的条件下恢复用户的私钥。