CN115664649B - 基于动态委员会的高安全性区块链身份管理方法及系统 - Google Patents
基于动态委员会的高安全性区块链身份管理方法及系统 Download PDFInfo
- Publication number
- CN115664649B CN115664649B CN202211281135.0A CN202211281135A CN115664649B CN 115664649 B CN115664649 B CN 115664649B CN 202211281135 A CN202211281135 A CN 202211281135A CN 115664649 B CN115664649 B CN 115664649B
- Authority
- CN
- China
- Prior art keywords
- user
- committee
- credential
- dynamic
- protocol
- 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
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02W—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO WASTEWATER TREATMENT OR WASTE MANAGEMENT
- Y02W90/00—Enabling technologies or technologies with a potential or indirect contribution to greenhouse gas [GHG] emissions mitigation
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Storage Device Security (AREA)
Abstract
本发明属于区块链技术领域,尤其涉及一种基于动态委员会的高安全性区块链身份管理方法及系统,将区块链身份管理系统基于动态委员会进行构建,将动态秘密共享技术应用于凭证构建中,提出了全新的主凭证颁发协议、上下文凭证颁发协议和密钥恢复协议。主凭证颁发协议负责生成用户唯一的主凭证;上下文凭证颁发协议负责颁发用户的上下文凭证,该上下文凭证能够满足用户与不同应用程序的交互需求;密钥恢复协议负责恢复用户的私钥。本发明在保证用户凭证唯一性的同时,解决了在委员会节点动态变换阶段的用户隐私信息的安全问题,同时解决了委员会动态变化阶段的用户私钥易被盗取问题,有效提高了用户信息的安全性。
Description
技术领域
本发明属于区块链技术领域,尤其涉及一种基于动态委员会的高安全性区块链身份管理方法及系统。
背景技术
身份管理是区块链的核心要素,因此它不仅要满足区块链去中心化的特性,还要保证用户身份信息的安全。去中心化身份DID(Decentralized Identity)的提出打破了身份管理的中心化特点,用户可通过私钥自主管理身份信息。同时为了避免用户私钥丢失所带来的损失,使用秘密共享技术为用户私钥提供备份,以确保用户私钥的可恢复性。W3C首次提出了委员会这一概念,它是由任意多个区块链中的节点组成,用于用户凭证的颁发以及用户私钥的备份。
许多关于去中心化身份的研究都以静态委员会节点为前提,利用委员会颁发用户凭证同时备份用户私钥,忽略了委员会节点的动态变化。同时,许多研究都只专注于取消验证节点之间的不可链接性,忽略了委员会节点之间的不可链接性。
在区块链身份管理过程中,为安全获得现存web服务器中的数据信息,使用DECO协议进行数据信息的安全转移。DECO协议是证明者P,验证者V和TLS服务器之间的三方协议。它允许P说服V从S检索到的一段数据-可能是P的私有数据-满足谓词Pred。DECO依靠多方计算(MPC)来保护数据的隐私和真实性,并且满足零知识证明来证明谓词。由此,DECO协议实现了将现有web服务器中的属性信息安全移植到区块链中。
MPC安全多方计算协议多用来保护数据的隐私和真实性。MPC协议实现了彼此不信任的多方可以正确计算任何函数,同时还保证了各方的输入输出数据不被其他方学习到。MPC协议提供了可信第三方,将输入信息从各方以加密的方式收集起来,输入函数进行计算,最终将结果安全返回各方。MPC协议确保了各方信息的私密性与安全性。参与协议的任意一方都只会知道自己的输出结果,并且通过MPC所获得的结果均保证是正确的。
发明内容
为了解决上述现有技术中存在的技术问题,本发明提供了一种基于动态委员会的高安全性区块链身份管理系统,结合动态秘密共享技术,构建了基于动态委员会的凭证颁发协议和密钥恢复协议,以解决背景技术中提到的委员会节点动态变化时的私钥安全、委员会节点之间的链接性等问题。
为解决上述技术问题,本发明采用的技术方案如下:
一种基于动态委员会的高安全性区块链身份管理方法,其负责凭证颁发的委员会由区块链中的动态节点组成,将动态秘密共享技术应用于凭证构建中,基于动态委员会搭建了全新的身份管理协议,包括基于动态委员会的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。
作为优选,所述步骤A1包括以下步骤:
A101.用户生成自己的公私钥对sku和pku,而后委员会节点执行分布式密钥生成协议,生成委员会节点的私钥skc和公钥pkc;委员会节点共有n个,分别为C1,C2,...,Cn;
A102.委员会节点Ci接收私钥skc的秘密份额ski以及公钥pkc,并初始化表格CmTable为空,表格存储已发布主凭证的用户的公钥pku和唯一属性值Vu,委员会以秘密共享的方式共同维护该表格。
作为优选,所述步骤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)。
作为优选,所述步骤A3包括以下步骤:
A301.委员会节点产生新的随机盲因子([b],B=gb),并将其发送给用户U,而后用户U从中重构出b;
A302.用户计算V′u=Vu+b来隐藏属性值Vu,然后产生正确致盲证明 并生成Vu′=Vu+b(gb=B)(com(Vu,p)=Cv);
A303.用户根据Vu生成对应的预凭证PCu,然后用户将(PCu,Vu′,πblind)发送给委员会节点,每个委员会节点Ci验证收到的证明,计算其中λ是拉格朗日系数;
A304.委员会节点执行动态秘密共享协议,将存储的CmTable秘密共享份额合并成完整的CmTable,同时执行MPC协议,以计算出Vu=∑λiVui,然后将属性Vu与CmTable中的内容进行匹配;
A305.判断Vu在CmTable中是否匹配成功,若匹配成功,则说明主凭证唯一,委员会节点可为用户颁发主凭证,进入步骤A4,否则返回步骤A2。
作为优选,所述步骤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}。
作为优选,所述步骤B2包括以下步骤:
B201.用户在生成新公钥之后,通过遗留数据,即满足应用程序上下文要求的数据,生成新声明CLnew,该声明为应用程序上下文所需的声明;
B202.用户在CLnew中附加零知识证明,证明该声明属于持有主凭证的用户,即该声明是有效的;
B203.用户通过新声明CLnew和上下文字符串ctx构建新的预凭证PCnew,然后将主凭证CDmaster、新公钥和预凭证PCnew发送给委员会节点。
作为优选,所述步骤B3包括以下步骤:
B301.委员会以动态秘密共享的方式存储ctxTable表,以实现委员会节点之间的不可链接性,表中存储成对的pku和委员会节点将已颁发上下文凭证的成对DID存储于表格中;
B302.用户选取m>max(tx+1,ty+1)个委员会节点作为秘密共享节点,使用非对称双变量多项式将每个成对DID秘密划分为m个秘密碎片,发送到m个委员会节点中;
B303.用户随机指定一个委员会节点执行动态秘密共享协议,使该节点获得完整的ctxTable表,然后将用户所发送的与表中内容比较,若未找到相同的/>则进入步骤B304,否则,直接为用户颁发上下文凭证;
B304.委员会节点更新ctxTable,将新的DID加入列表中,执行动态秘密共享协议,将ctxTable以秘密共享的方式存储于委员会节点中,同时为用户颁发上下文凭证。
作为优选,所述步骤C3包括以下步骤:
C301.用户执行动态秘密共享协议,将私钥sku作为秘密,使用双变量多项式S(x,y)=k0,0+K0,1y+k1,0x+k1,1xy+…+km,2mxmy2m,使多项式满足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′),将得到的秘密碎片备份到委员会节点中。
为解决上述技术问题,本发明还采用的技术方案如下:
一种基于动态委员会的高安全性区块链身份管理系统,将区块链身份管理系统基于动态委员会进行构建,将动态秘密共享技术应用于凭证构建中,基于动态委员会搭建了全新的身份管理协议,包括基于动态委员会的主凭证颁发协议、上下文凭证颁发协议、密钥恢复协议;其中,主凭证颁发协议分别与上下文凭证颁发协议、密钥恢复协议连接,上下文凭证颁发协议和密钥恢复协议相互独立;
所述主凭证颁发协议用于生成用户唯一的主凭证CDmaster,该协议首先将用户的遗留数据转化为预凭证,然后由得到的预凭证来生成主凭证;
所述上下文凭证颁发协议用于颁发用户的上下文凭证,该上下文凭证能够满足用户与不同应用程序的交互需求,并且实现上下文凭证之间的不可链接性;
所述密钥恢复协议用于在委员会节点动态变化的条件下恢复用户的私钥。
本发明的有益效果:
本发明将系统分为三个阶段:首先,三个阶段中负责颁发凭证与密钥备份的委员会均由区块链中的动态节点组成。主凭证颁发阶段负责为用户颁发唯一的主凭证,该阶段首先为用户生成预凭证,而后再通过预凭证生成主凭证;上下文凭证颁发阶段负责为用户颁发上下文凭证,将动态秘密共享技术应用于凭证设计中,该凭证可用于用户与不同应用程序的交互需求;密钥恢复阶段负责恢复用户的私钥,即隐私信息,在委员会节点动态变化的情况下,也能够恢复用户的私钥。通过这三个阶段的设计,本发明实现了区块链系统中动态委员会下的用户隐私保护,既满足了用户的应用程序交互需求,又给予用户恢复隐私信息的权利,大大增强了用户的数据安全。
附图说明
图1为本发明的系统结构示意图;
图2为本发明的方法流程图;
图3为实施例中主凭证颁发活动图;
图4为实施例中上下文凭证颁发活动图;
图5为实施例中的上下文凭证颁发协议各阶段执行时间对比图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面结合图1到图5对本发明作进一步的详细说明:
一种基于动态委员会的高安全性区块链身份管理方法,其负责凭证颁发的委员会由区块链中的动态节点组成,将动态秘密共享技术应用于凭证构建中,基于动态委员会搭建了全新的身份管理协议,包括基于动态委员会的A主凭证颁发阶段、B上下文凭证颁发阶段和C密钥恢复阶段;其中,A主凭证颁发阶段分别与B上下文凭证颁发阶段、C密钥恢复阶段连接,B上下文凭证颁发阶段和C密钥恢复阶段相互独立;
所述A主凭证颁发阶段:生成用户唯一的主凭证CDmaster,该协议首先将用户的遗留数据转化为预凭证,然后由得到的预凭证来生成主凭证;
所述B上下文凭证颁发阶段:颁发用户的上下文凭证,该上下文凭证能够满足用户与不同应用程序的交互需求,并且实现上下文凭证之间的不可链接性;
所述C密钥恢复阶段:在委员会节点动态变化的条件下恢复用户的私钥。
所述A主凭证颁发阶段包括以下步骤:
A1.用户首先生成自己的公私钥对,而后委员会节点执行分布式密钥生成协议,生成委员会的公私钥对,并初始化表格CmTable为空,该表格用于重复数据删除,以保证主凭证的唯一性;
所述步骤A1包括以下步骤:
A101.用户生成自己的公私钥对sku和pku,而后委员会节点(共有n个,分别为C1,C2,...,Cn)执行分布式密钥生成协议,生成委员会节点的私钥skc和公钥pkc;
A102.委员会节点Ci接收私钥skc的秘密份额ski以及公钥pkc,并初始化表格CmTable为空,表格存储已发布主凭证的用户的公钥pku和唯一属性值Vu,委员会以秘密共享的方式共同维护该表格。
A2.用户选择想要生成预凭证的属性,并利用DECO协议安全移植现有web服务器中的属性,经委员会节点签名后得到预凭证PC;
所述步骤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)。
A3.委员会节点判断用户要生成的主凭证是否唯一,若是,则进入步骤A4,否则,返回步骤A2;
所述步骤A3包括以下步骤:
A301.委员会节点产生新的随机盲因子([b],B=gb),并将其发送给用户U,而后用户U从中重构出b;
A302.用户计算V′u=Vu+b来隐藏属性值Vu,然后产生正确致盲证明 并生成Vu′=Vu+b(gb=B)(com(Vu,p)=Cv);
A303.用户根据Vu生成对应的预凭证PCu,然后用户将(PCu,Vu′,πblind)发送给委员会节点,每个委员会节点Ci验证收到的证明,计算其中λ是拉格朗日系数;
A304.委员会节点执行动态秘密共享协议,将存储的CmTable秘密共享份额合并成完整的CmTable,同时执行MPC协议,以计算出Vu=∑λiVui,然后将属性Vu与CmTable中的内容进行匹配;
A305.判断Vu在CmTable中是否匹配成功,若匹配成功,则说明主凭证唯一,委员会节点可为用户颁发主凭证,进入步骤A4,否则返回步骤A2。
A4.委员会节点通过预凭证PC来为用户颁发主凭证,并附上“删除重复凭证”声明来确保主凭证的唯一性;
所述步骤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}。
所述B上下文凭证颁发阶段包括以下步骤:
B1.用户在获得主凭证CDmaster之后,生成新的公钥同时在与应用程序交互时指定要使用的上下文字符串ctx,例如“同意此颁发”;
B2.用户向委员会节点发送主凭证CDmaster,新公钥以及满足上下文字符串ctx的新预凭证PCnew;
所述步骤B2包括以下步骤:
B201.用户在生成新公钥之后,通过遗留数据,即满足应用程序上下文要求的数据,生成新声明CLnew,该声明为应用程序上下文所需的声明;
B202.用户在CLnew中附加零知识证明,证明该声明属于持有主凭证的用户,即该声明是有效的;
B203.用户通过新声明CLnew和上下文字符串ctx构建新的预凭证PCnew,然后将主凭证CDmaster、新公钥和预凭证PCnew发送给委员会节点。
B3.委员会节点以动态秘密共享的方式存储ctxTable表,将已颁发的上下文凭证存储于表格中,同时根据来为用户颁发上下文凭证;
所述步骤B3包括以下步骤:
B301.委员会以动态秘密共享的方式存储ctxTable表,以实现委员会节点之间的不可链接性,表中存储成对的pku和委员会节点将已颁发上下文凭证的成对DID存储于表格中;
B302.用户选取m>max(tx+1,ty+1)个委员会节点作为秘密共享节点,使用非对称双变量多项式将每个成对DID秘密划分为m个秘密碎片,发送到m个委员会节点中;
B303.用户随机指定一个委员会节点执行动态秘密共享协议,使该节点获得完整的ctxTable表,然后将用户所发送的与表中内容比较,若未找到相同的/>则进入步骤B304,否则,直接为用户颁发上下文凭证;
B304.委员会节点更新ctxTable,将新的成对DID加入列表中,执行动态秘密共享协议,将ctxTable以秘密共享的方式存储于委员会节点中,同时为用户颁发上下文凭证。
所述C密钥恢复阶段包括以下步骤:
C1.用户首先指定一组用于身份验证的账户以及对它们的访问结构,例如用户提供的身份验证方案为成功登录微信、百度、QQ中任意三分之二的账户,即为验证成功;
C2.用户通过使用DECO协议,在注册密钥恢复服务时将身份验证方案发送到委员会节点中;
C3.注册完成之后,用户使用动态秘密共享技术将私钥sku备份到委员会中;
所述步骤C3包括以下步骤:
C301.用户执行动态秘密共享协议,将私钥sku作为秘密,使用双变量多项式S(x,y)=k0,0+K0,1y+k1,0x+k1,1xy+…+km,2mxmy2m,使多项式满足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′),将得到的秘密碎片备份到委员会节点中。
C4.当用户想要恢复私钥时,需要执行指定的身份验证,若验证成功,则进入步骤C5,若验证失败,则返回步骤C1;
C5.验证节点生成零知识证明,证明用户已通过身份认证,并将该证明发送给委员会节点,委员会节点验证成功后执行动态秘密共享协议,将秘密碎片发送给用户,使得用户重新恢复私钥sku。
首先,三个阶段中负责颁发凭证与密钥备份的委员会均由区块链中的动态节点组成。主凭证颁发阶段负责为用户颁发唯一的主凭证,该阶段首先为用户生成预凭证,而后再通过预凭证生成主凭证;上下文凭证颁发阶段负责为用户颁发上下文凭证,将动态秘密共享技术应用于凭证设计中,该凭证可用于用户与不同应用程序的交互需求;密钥恢复阶段负责恢复用户的私钥,即隐私信息,在委员会节点动态变化的情况下,也能够恢复用户的私钥。通过这三个阶段的设计,本发明实现了区块链系统中动态委员会下的用户隐私保护,既满足了用户的应用程序交互需求,又给予用户恢复隐私信息的权利,大大增强了用户的数据安全。
下面以实施例的对比实验对基于动态委员会的高安全性区块链身份管理系统的可行性作进一步描述。
在基于动态委员的高安全性区块链身份管理系统中,上下文凭证颁发协议的执行时间作为衡量整个系统可行性的重要标准。在本对比实施例中将上下文凭证颁发协议的执行时间划分为四个阶段,分别为“去重”、“重组ctxTable”、“更新ctxTable”、“颁发上下文凭证”。在上下文凭证办法协议中,ctxTable为存储成对DID的表格以记录已经颁发的上下文凭证信息。ctxTable以动态秘密共享的方式存储于委员会中,在上下文凭证协议执行阶段,为检查用户所需上下文凭证的唯一性,委员会首先需要将各个节点所存储的关于ctxTable秘密份额重新组合为完整的ctxTable,该阶段为上下文凭证颁发协议的“重组ctxTable”。在委员会重组ctxTable后,委员会将用户所需上下文凭证中的成对DID与ctxTable中的内容进行比对,检查上下文凭证的唯一性,该阶段为“去重”。在确定用户所需的上下文凭证具有唯一性后,将该上下文凭证所对对应的成对DID加入到ctxTable,对该表进行更新,该阶段为“更新ctxTable”。在进行以上三阶段后,委员会为用户颁发所需的上下文凭证,该阶段为“颁发上下文凭证”。以上四个阶段有效展现了上下文凭证颁发协议的具体实现流程,能够更为全面详细的展现了系统的执行效率。
在本实施例中,进行500次的上下文凭证颁发协议的执行并取平均值,如图5所示,将基于动态委员会的高安全性区块链身份管理系统与基于静态委员会的低安全性区块链身份管理系统进行对比。通过上下文凭证颁发协议执行的四个阶段所需执行时间的比较,直观表现出本发明不仅解决了现存区块链身份管理系统在动态委员会下不能保证用户隐私安全问题,而且具有可行性。从图中可以看出,本发明在有效提高用户信息安全的前提下,上下文凭证颁发协议四个阶段的执行时间与现存低安全性的系统相比,并未存在较大时间差。基于动态委员会的高安全性区块链身份管理系统在解决区块链节点变化期间用户隐私安全问题的情况下,其上下文凭证颁发协议的执行时间仍能与现存低安全性系统的执行时间相差较小,充分说明了本发明中基于动态委员会的高安全性区块链身份管理系统的可行性。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。
Claims (9)
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包括以下步骤:
A301.委员会节点产生新的随机盲因子([b],B=gb),并将其发送给用户U,而后用户U从中重构出b;
A302.用户计算V′u=Vu+b来隐藏属性值Vu,然后产生正确致盲证明 并生成Vu′=Vu+b;
A303.用户根据Vu生成对应的预凭证PCu,然后用户将(PCu,Vu′,πblind)发送给委员会节点,每个委员会节点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)=k0,0+K0,1y+k1,0x+k1,1xy+…+kmm,2mxmy2m,使多项式满足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任一所述一种基于动态委员会的高安全性区块链身份管理方法,将区块链身份管理系统基于动态委员会进行构建,将动态秘密共享技术应用于凭证构建中,基于动态委员会搭建了全新的身份管理协议,包括基于动态委员会的主凭证颁发协议、上下文凭证颁发协议、密钥恢复协议;其中,主凭证颁发协议分别与上下文凭证颁发协议、密钥恢复协议连接,上下文凭证颁发协议和密钥恢复协议相互独立;
所述主凭证颁发协议用于生成用户唯一的主凭证,该协议首先将用户的遗留数据转化为预凭证,然后由得到的预凭证来生成主凭证;
所述上下文凭证颁发协议用于颁发用户的上下文凭证,该上下文凭证能够满足用户与不同应用程序的交互需求,并且实现上下文凭证之间的不可链接性;
所述密钥恢复协议用于在委员会节点动态变化的条件下恢复用户的私钥。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211281135.0A CN115664649B (zh) | 2022-10-19 | 2022-10-19 | 基于动态委员会的高安全性区块链身份管理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211281135.0A CN115664649B (zh) | 2022-10-19 | 2022-10-19 | 基于动态委员会的高安全性区块链身份管理方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115664649A CN115664649A (zh) | 2023-01-31 |
CN115664649B true CN115664649B (zh) | 2023-08-01 |
Family
ID=84989335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211281135.0A Active CN115664649B (zh) | 2022-10-19 | 2022-10-19 | 基于动态委员会的高安全性区块链身份管理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115664649B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117118618B (zh) * | 2023-10-25 | 2024-01-23 | 北京天润基业科技发展股份有限公司 | 数据共享方法、电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210020851A (ko) * | 2020-10-26 | 2021-02-24 | 주식회사 코인플러그 | 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 |
CN113221089A (zh) * | 2021-03-15 | 2021-08-06 | 东北大学 | 基于可验证声明的隐私保护属性认证系统及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10673626B2 (en) * | 2018-03-30 | 2020-06-02 | Spyrus, Inc. | Threshold secret share authentication proof and secure blockchain voting with hardware security modules |
CN109672529A (zh) * | 2019-01-07 | 2019-04-23 | 苏宁易购集团股份有限公司 | 一种结合区块链和秘密共享的去匿名化的方法及系统 |
CN113098838B (zh) * | 2021-02-21 | 2022-08-26 | 西安电子科技大学 | 一种可信分布式身份认证方法、系统、存储介质及应用 |
CN114448639B (zh) * | 2021-12-15 | 2022-12-06 | 电子科技大学 | 具有唯一性和密钥安全的去中心化身份系统及实现方法 |
CN114866259B (zh) * | 2022-07-01 | 2022-10-14 | 北京大学 | 一种基于秘密分享的区块链受控可追溯身份隐私方法 |
-
2022
- 2022-10-19 CN CN202211281135.0A patent/CN115664649B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20210020851A (ko) * | 2020-10-26 | 2021-02-24 | 주식회사 코인플러그 | 컨소시엄 블록체인 네트워크에서의 프라이빗 키를 백업 및 복원하는 방법 및 장치 |
CN113221089A (zh) * | 2021-03-15 | 2021-08-06 | 东北大学 | 基于可验证声明的隐私保护属性认证系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN115664649A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110300112B (zh) | 区块链密钥分层管理方法 | |
JP3230238U (ja) | 電子データを安全に格納するシステム | |
US9077710B1 (en) | Distributed storage of password data | |
Li et al. | OPoR: Enabling proof of retrievability in cloud computing with resource-constrained devices | |
EP3069249B1 (en) | Authenticatable device | |
Nicolosi et al. | Proactive Two-Party Signatures for User Authentication. | |
CN109257183B (zh) | 基于量子游走隐形传输的仲裁量子签名方法 | |
EP4068183A1 (en) | Computer-implemented system and method enabling secure storage of a large blockchain over a plurality of storage nodes | |
CN105915338B (zh) | 生成密钥的方法和系统 | |
Hardjono et al. | Anonymous identities for permissioned blockchains | |
CN110719172B (zh) | 区块链系统中的签名方法、签名系统以及相关设备 | |
CN115664649B (zh) | 基于动态委员会的高安全性区块链身份管理方法及系统 | |
Chattaraj et al. | HEAP: an efficient and fault-tolerant authentication and key exchange protocol for Hadoop-assisted big data platform | |
CN109743327B (zh) | 基于无证书的云存储中共享数据的完整性公开验证方法 | |
Mishra et al. | MPoWS: Merged proof of ownership and storage for block level deduplication in cloud storage | |
CN111091380A (zh) | 一种基于好友隐蔽验证的区块链资产管理方法 | |
Xie et al. | A novel blockchain-based and proxy-oriented public audit scheme for low performance terminal devices | |
CN103795548B (zh) | 一种基于群签名算法的分布式数据库系统及其实现方法 | |
CN112926983A (zh) | 一种基于区块链的存证交易加密系统及方法 | |
CN110912702B (zh) | 一种基于隐藏社交关系的区块链资产管理方法 | |
CN112953960A (zh) | 一种区块链访问的身份认证方法、装置及设备 | |
CN108011723B (zh) | 入侵回弹的不可拆分数字签名方法 | |
Ma et al. | Secure and Efficient Cloud Data Deduplication Supporting Dynamic Data Public Auditing. | |
CN112631552A (zh) | 基于不均匀随机源的随机数生成、再生方法及电子装置 | |
Wu et al. | A Blockchain‐Based Hierarchical Authentication Scheme for Multiserver Architecture |
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 |