CN109902480B - 一种针对联盟链的高效认证方法 - Google Patents

一种针对联盟链的高效认证方法 Download PDF

Info

Publication number
CN109902480B
CN109902480B CN201910157687.2A CN201910157687A CN109902480B CN 109902480 B CN109902480 B CN 109902480B CN 201910157687 A CN201910157687 A CN 201910157687A CN 109902480 B CN109902480 B CN 109902480B
Authority
CN
China
Prior art keywords
center
user
message
signature
authentication
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
Application number
CN201910157687.2A
Other languages
English (en)
Other versions
CN109902480A (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.)
Chongqing University of Post and Telecommunications
Original Assignee
Chongqing University of Post and Telecommunications
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 Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201910157687.2A priority Critical patent/CN109902480B/zh
Publication of CN109902480A publication Critical patent/CN109902480A/zh
Application granted granted Critical
Publication of CN109902480B publication Critical patent/CN109902480B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提出了一种针对联盟链的高效认证方法,属于数据安全技术领域,该方法主要用来解决在联盟链多中心环境下的密钥分发和高效认证问题。本发明设计了一种基于身份的多中心数字签名方案MA‑IBS,该方案支持在没有可信中心的情况下,所有中心共同为用户生成密钥。用户的密钥不再依赖于某一个中心生成存储,并且可以抵抗来自N‑1个中心的合谋攻击。用户利用自己的私钥对消息进行签名并通过中心上传到联盟链中,签名支持高效的批量认证。

Description

一种针对联盟链的高效认证方法
技术领域
本发明属于数据安全技术领域,涉及联盟链环境下的多中心密钥分发与签名认证方法。
背景技术
随着互联网技术快速发展,人们的电子数据变得越来越多,不同的组织或机构相互掌握着不同或类似的数据。由于这些组织之间存在着各种利益问题,因此这些组织之间的数据往往无法很好的共享和认证,例如在电子医疗环境下,我们在一个医院看过病之后,在换医院时候依旧需要我们重新进行体检,就是因为不同的医院无法进行数据的共享。其次,当我们需要向医保局领取自己的保险时,则需要医院帮我们开取大量的证明材料,就是因为医保局无法对医院的数据进行直接认证。因此如何将这些隶属于不同组织或机构的数据进行共享和认证正在受到广泛的关注。联盟链作为一种区块链在多中心环境下的应用形态,具有多中心环境下的数据共享功能。它是由多个组织或机构通过联盟的形式组建的一种区块链,联盟参与者之间通过契约或其他形式建立信任和共识机制,联盟链能够建立在无可信中心环境下的数据共享条件,具有迫切的实际应用需求,广泛的应用前景,以及改善民生的重大战略意义。
随着联盟链技术在不同应用场景的快速发展,同时产生了一些问题,尽管联盟链技术本身解决了在无可信中心环境下的数据共享和存储问题,即并不是由某一个中心来存储所有数据,避免该中心对数据的篡改或删除。但是仍然需要密钥生成中心(KeyGenerationCenter,KGC)来为用户生成密钥,这使得我们的密钥依旧是不安全的,所以如何由多个中心共同为用户生成密钥并且保证中心在密钥生成过程中无法知道用户的密钥是一个关键问题。其次在联盟链这种多中心环境下,数据量是非常大的,往往会集中好多组织或机构的数据在一起,尽管提高了工作速度,但是如何提高系统中的数据认证效率也是亟待解决的问题之一。
基于上述两个问题,我们需要提出一个能够实现在无可信中心环境下的密钥分发及高效的签名认证方案。Liu等人在文献“Research on a cross-domain authenticationscheme based on consortium blockchain in V2G networks of smart grid”中,针对V2G网络的安全性问题,提出了一种基于联盟链的跨域认证方案,该方案使用SM9标识密码算法来实现签名和认证,并通过使用哈希算法进行证书验证,减少使用公钥算法签名和验证的数量,使方案具有高效和可伸缩性。Brousmiche等人在文献“Hybrid cryptographicprotocol for secure vehicle data sharing over a consortium blockchain”针对基于联盟链的车辆信息共享方案引入了一种新的混合密码协议,以确保车辆信息相关者对数据访问的安全性。不过上述两个方案并未解决密钥分发问题,仍然需要一个KGC来为用户分发密钥。Sun等人在文献“A decentralizing attribute-based signature forhealthcare blockchain”中,针对电子健康记录系统的双重隐私保护,提出了一种基于去中心化的基于联盟链的电子健康记录系统签名方案,该方案对电子健康数据的真实性和签名者的身份进行了有效的隐私保护。不过上述方案的认证效率不高。
发明内容
有鉴于此,本发明的目的在于提供一种针对联盟链多中心环境下的密钥分发和高效签名认证方法。
为达到上述目的,本发明提供如下技术方案:
一种针对联盟链的高效认证方法,包括以下步骤:
S1:系统初始化:联盟链服务器根据安全参数生成系统公共参数;包括如下步骤:
S11:联盟链服务器随机选择一个素数p,G和GT是两个阶为素数p的乘法循环群,g是G的生成元,双线性映射e:G×G→GT
S12:服务器定义并生成两个哈希函数:H:{0,1}*→G;
Figure GDA0003972170020000021
然后服务器公开公共参数params={G,GT,p,g,e,H,H1,N},其中N为联盟链中心个数;
S2:各个联盟链中心(Consortium Blockchain Authority,CBA)根据公共参数生成参数h、各自的公/私钥对以及主公/私钥对;包括如下步骤:
S21:联盟链中心CBA初始化生成参数h,包括:
S211:每个联盟链中心IDi根据所接收的公共参数随机选择一个N-1阶的多项式Hi(z)=ci0+ci1z+…+ci(N-1)zN-1,其中N为联盟链中心个数;
S212:每个IDi分别计算和广播
Figure GDA0003972170020000022
其中k=0,1,...,N-1;
S213:每个IDi计算秘密值tij,其中j=1,...,N,然后IDi发送tij给IDj,其中j≠i;
S214:每个中心IDi验证秘密值是否为真,如果是真则认为IDj为诚实的中心,否则,IDi要求IDj重新广播tji
S215:每个中心IDi都可以计算参数
Figure GDA0003972170020000023
S22:联盟链中心CBA生成自己的公/私钥对以及主公/私钥对,包括:
S221:每个IDi随机选择两个N-1阶多项式Fi(x)=ai0+ai1x+…+ai(N-1)xN-1,F’i(x)=bi0+bi1+…+bi(N-1)xN-1,其中ai0作为其私钥;
S222:每个IDi分别计算和广播
Figure GDA0003972170020000024
其中k=0,1,...,N-1;
S223:每个IDi计算秘密值sij和s’ij,其中j=1,...,N,然后IDi发送sij和s’ij给IDj,其中j≠i;
S224:每个中心IDi验证等式
Figure GDA0003972170020000031
是否成立,如果等式成立,则认为IDj所发送的秘密值为真,否则,IDi要求IDj重新发送(sij,s’ij);
S225:所有中心一起才能够通过计算恢复联盟链中心CBA主私钥
Figure GDA0003972170020000032
S226:每个中心IDi广播它的公钥
Figure GDA0003972170020000033
并计算/>
Figure GDA0003972170020000034
作为主公钥,然后将公钥与主公钥广播出去作为公共参数;
S3:用户的注册和密钥生成:用户向联盟链服务器请求注册,通过服务器验证后每个联盟链中心CBA生成该用户的部分私钥,用户接收部分私钥并根据公共参数验证部分私钥的正确性,之后用户使用部分私钥生成自己的公/私钥对;所述的用户idi注册与私钥的生成,包括如下步骤:
S31:用户idi申请加入系统,向联盟链服务器提供身份信息进行注册,通过认证后,联盟链中心CBA为用户idi生成私钥;
S32:每个中心IDj计算部分密钥
Figure GDA0003972170020000035
并安全传送给用户idi
S33:当用户idi收到来自中心IDj的部分密钥
Figure GDA0003972170020000036
后,验证等式/>
Figure GDA0003972170020000037
是否成立,如果正确则认为中心IDj发送的部分私钥是正确的,否则就要求中心IDj重新发送;
S34:在接收部分密钥
Figure GDA0003972170020000038
后,用户计算自己的私钥/>
Figure GDA0003972170020000039
S4:用户签名和联盟链中心签名:当用户选择好想要上传的消息后,使用用户私钥对消息进行签名,并将签名上传到所属联盟链的各个中心之后联盟链中负责上传区块的中心对这些数据打包并进行签名,最后将签名上传至联盟链中;
S5:联盟链中心签名认证:当用户或者中心接收到签名消息后,验证消息是否出自某个联盟链中的中心,如果验证通过,则接受消息并做后续处理,如果未通过,则拒绝接受消息;
S6:用户签名普通/批量认证:当用户或者中心接收到签名消息后,验证消息是否出自某个用户,并对消息进行批量验证,如果验证通过,则接受消息并做后续处理,如果未通过,则拒绝接受消息。
进一步,所述步骤S4包括如下步骤:
S41:用户idi对消息m进行签名,包括:
S411:用户idi随机选择整数
Figure GDA00039721700200000310
并计算u=H(0||idi)r∈G;
S412:计算
Figure GDA0003972170020000041
S413:计算
Figure GDA0003972170020000042
S414:生成签名σ=(u,v);
S42:本次负责上传区块的联盟链中心IDi对用户上传的签名σ与消息m进行打包并签名和上传,包括:
S421:联盟链每隔一段时间根据共识机制选出本次上传区块的联盟链中心IDi,IDi将这段时间内所有用户上传的签名σ与消息m打包成一个区块,其中区块看做消息M;
S422:中心IDi计算签名
Figure GDA0003972170020000043
S423:中心IDi上传区块和区块签名δ。
进一步,步骤S5中所述中心的签名认证,包括如下步骤:
S51:接收区块消息M与其签名δ;
S52:验证等式e(δ,g)=e(H(1||M),Ai0),如果等式成立,则认为认证成立,否则认证失败。
进一步,所述步骤S6包括如下步骤:
S61:用户普通签名认证,包括:
S611:接收用户消息m与其签名σ;
S612:计算
Figure GDA0003972170020000044
/>
S613:验证等式e(v,g)=e(u,y)·e(H(0||idi)t,y)是否成立,如果等式成立,则认为认证成立,否则认证失败;
S62:用户批量签名验证,包括:
S621:当需要批量验证n条来自于同一个签名者idi的签名时,这n条签名(mjj=(uj,vj)),其中j=1,...,n,验证等式
Figure GDA0003972170020000045
是否成立,如果等式成立,则认为认证成立,否则认证失败;
S622:当需要批量验证n条来自于n个签名者id1,...,idn的签名时,这n条签名σj=(uj,vj)对应于n个消息mj,其中j=1,...,n,验证等式
Figure GDA0003972170020000046
是否成立,如果等式成立,则认为认证成立,否则认证失败。
本发明的有益效果在于:
本发明提出了一个能够实现在无可信中心环境下的密钥分发及高效的签名认证方案,每个联盟链的中心可以在互不信任的情况下共同维护用户数据安全,不存在某一个中心单独存储用户信息,即实现了不同组织或机构的数据共享功能,同时也保证了用户数据的安全性。避免单个中心存储用户数据时,可以对用户数据造成篡改或删除的问题。
另外,用户的密钥也不再由密钥生成中心来负责管理,而是由联盟链中心共同生成。每个中心为用户生成他的部分密钥
Figure GDA0003972170020000051
并发送给用户,由用户合成自己的私钥。由于每个中心只知道用户的部分私钥,因此,如果不是所有中心共同合谋就无法获取用户的私钥,即可以抵抗来自N-1个中心的合谋攻击。如果当涉及类似刑事案件时,则可以由政府出面背书,所有中心共同合作来获取该用户信息。由于现实中这些联盟链的中心之间存在着诸多利益问题,所以在没有政府背书的情况下是不会存在合谋的情况。此外,本发明极大地提高了签名和验证效率,并且支持批量验证功能,具有高效的签名认证能力。
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
图1为本发明所述针对联盟链的高效认证方法使用的系统模型图;
图2为本发明所述针对联盟链的高效认证方法的流程框图;
图3为系统初始化流程框图;
图4为联盟链中心初始化流程框图;
图5为用户注册和密钥生成流程框图;
图6为用户签名和联盟链中心签名流程框图;
图7为联盟链中心签名认证流程框图;
图8为用户签名普通/批量认证流程框图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
如图1所示,我们将联盟链系统用户分为三个层次。其中Level 1是联盟链服务器,不同于云计算中心、密钥生成中心等传统中心化角色,联盟链服务器只负责生成系统的公开参数,不能拥有秘密信息,因此无法扮演中心化的角色。Level 2是联盟参与组织或机构,它们通过契约或某种机制达成共识,管理维护联盟链数据。Level 3是Level 2的员工,在联盟链系统中负责生成具体业务数据信息。具体方案内容如下:首先,构建去中心化的密钥生成机制以生成联盟参与组织的公私钥(Ai0,ai0),其中私钥ai0既可用于区块数据签名认证又可用于Level3用户授权。其次,Level 3用户可以向所属组织申请加入联盟链,组织负责审核员工的身份信息idi,如果审核通过就分发与身份信息相关的部分私钥
Figure GDA0003972170020000061
给用户,用户随后可合成私钥/>
Figure GDA0003972170020000062
并用其对所传数据签名认证。在不同应用场景中,区块数据可能会包含不同业务信息,这些信息由Level 3用户产生并用他自己的私钥/>
Figure GDA0003972170020000063
签名保证其真实性。联盟组织收到员工即Level 3用户的业务信息与签名,验证其真实性,若通过验证则将数据与签名打包并用自己的私钥ai0对数据包签名,最后将打包的区块放到联盟链中。
该机制是建立在双线性映射对的基础上,满足双线性映射的性质。下面给出双线性映射的定义:设G和GT是两个阶为素数p的乘法循环群。g是G的生成元,双线性映射e:G×G→GT,该映射满足以下特性:
(1)双线性:对于任意P,Q∈G,满足e(P,Q+R)=e(P,Q)·e(P,R);特别地,对任意
Figure GDA0003972170020000064
满足e(ga,gb)=e(g,g)a·b
(2)非退化:e(P,P)≠1;
(3)可计算性:对于任意P,Q∈G,都能有效计算e(P,Q)。
本发明提供的针对联盟链多中心环境下的密钥分发和高效签名认证方法,参见图2,包括以下步骤:
S1:系统初始化:联盟链服务器根据安全参数生成系统公共参数;
进一步,参见图3,所述步骤S1包括如下步骤:
S11:联盟链服务器随机选择一个素数p,G和GT是两个阶为素数p的乘法循环群,g是G的生成元,双线性映射e:G×G→GT
S12:服务器定义并生成两个哈希函数:H:{0,1}*→G;
Figure GDA0003972170020000071
然后服务器公开公共参数params={G,GT,p,g,e,H,H1,N},其中N为联盟链中心个数;
S2:各个联盟链中心(Consortium Blockchain Authority,CBA)根据公共参数生成参数h、各自的公/私钥对以及主公/私钥对;
进一步,参见图4,所述步骤S2包括如下步骤:
S21:联盟链中心CBA初始化生成参数h,包括:
S211:每个联盟链中心IDi根据所接收的公共参数随机选择一个N-1阶的多项式Hi(z)=ci0+ci1z+…+ci(N-1)zN-1
S212:每个IDi分别计算和广播
Figure GDA0003972170020000072
其中k=0,1,...,N-1;
S213:每个IDi计算秘密值tij=Hi(H1(IDj))(modp),其中j=1,...,N,之后IDi发送tij给IDj,其中j≠i;
S214:每个中心IDi验证等式
Figure GDA0003972170020000073
是否成立,如果等式成立,则认为IDj为诚实的中心,否则,IDi要求IDj重新广播tji
S215:每个中心IDi都可以计算参数
Figure GDA0003972170020000074
S22:联盟链中心CBA生成自己的公/私钥对以及主公/私钥对,包括:
S221:每个IDi随机选择两个N-1阶多项式Fi(x)=ai0+ai1x+…+ai(N-1)xN-1,F’i(x)=bi0+bi1+…+bi(N-1)xN-1,其中ai0作为其私钥;
S222:每个IDi分别计算和广播
Figure GDA0003972170020000075
其中k=0,1,...,N-1;
S223:每个IDi计算秘密值sij=Fi(H1(IDj))(modp)和s’ij=F’i(H1(IDj))(modp),其中j=1,...,N,之后之后IDi发送sij和s’ij给IDj,其中j≠i;
S224:每个中心IDi验证等式
Figure GDA0003972170020000076
是否成立,如果等式成立,则认为IDj所发送的秘密值为真,否则,IDi要求IDj重新发送(sji,s′ji);
S225:不少于N个才可以通过计算恢复联盟链中心CBA主私钥
Figure GDA0003972170020000077
S226:每个中心IDi广播它的公钥
Figure GDA0003972170020000078
并计算/>
Figure GDA0003972170020000079
作为主公钥,之后将公钥与主公钥广播出去作为公共参数;
S3:用户的注册和密钥生成:用户向联盟链服务器请求注册,通过服务器验证后每个联盟链中心CBA生成该用户的部分私钥,用户接收部分私钥并根据公共参数验证部分私钥的正确性,之后用户使用部分私钥生成自己的公/私钥对;
进一步,参见图5,所述步骤S3包括如下步骤:
S3:用户idi注册与私钥的生成,包括:
S31:用户idi申请加入系统,像联盟链服务器提供身份信息进行注册,通过认证后,联盟链中心CBA为用户idi生成私钥;
S32:每个中心IDj计算部分密钥
Figure GDA0003972170020000081
并安全传送给用户idi
S33:当用户idi收到来自中心IDj的部分密钥
Figure GDA0003972170020000082
后,可以验证等式/>
Figure GDA0003972170020000083
是否成立,如果正确则认为中心IDj发送的部分私钥是正确的,否则就要求中心IDj重新发送;
S34:在接收部分密钥
Figure GDA0003972170020000084
后,用户可以计算自己的私钥/>
Figure GDA0003972170020000085
/>
S4:用户签名和联盟链中心签名:当用户选择好想要上传的消息后,使用用户私钥对消息进行签名,并将签名上传到所属联盟链的各个中心。之后联盟链中负责上传区块的中心对这些数据打包并进行签名,最后将签名上传至联盟链中;
进一步,参见图6,所述步骤S4包括如下步骤:
S41:用户idi对消息m进行签名,包括:
S411:用户idi随机选择整数
Figure GDA0003972170020000086
并计算u=H(0||idi)r∈G;
S412:计算
Figure GDA0003972170020000087
S413:计算
Figure GDA0003972170020000088
S414:生成签名σ=(u,v);
S42:本次负责上传区块的联盟链中心IDi对用户上传的签名σ与消息m进行打包并进行签名和上传,包括:
S421:联盟链每隔一段时间会根据共识机制选出本次上传区块的联盟链中心IDi,IDi将这段时间内所有用户上传的签名σ与消息m打包成一个区块,其中区块可以看做消息M;
S422:中心IDi计算签名
Figure GDA0003972170020000089
S423:中心IDi上传区块和区块签名δ;
S5:中心签名认证:当用户或者中心接收到签名消息后,可以验证消息是否出自某个联盟链中的中心,如果验证通过,则接受消息并做后续处理,如果未通过,则拒绝接受消息;
进一步,参见图7,所述步骤S5包括如下步骤:
S5:中心的签名认证,包括:
S51:接收区块消息M与其签名δ;
S52:验证等式e(δ,g)=e(H(1||M),Ai0),如果等式成立,则认为认证成立,否则认证失败,验证过程如下:
Figure GDA0003972170020000091
S6:用户签名普通/批量认证:当用户或者中心接收到签名消息后,可以验证消息是否出自某个用户,并且可以对消息进行批量验证,同样的如果验证通过,则接受消息并做后续处理,如果未通过,则拒绝接受消息。
进一步,参见图8,所述步骤S6包括如下步骤:
S61:用户普通签名认证,包括:
S611:接收用户消息m与其签名σ;
S612:计算
Figure GDA0003972170020000092
S613:验证等式e(v,g)=e(u,y)·e(H(0||idi)t,y),如果等式成立,则认为认证成立,否则认证失败,验证过程如下:
Figure GDA0003972170020000093
S62:用户批量签名验证,包括:
S621:当需要批量验证n条来自于同一个签名者idi的签名时,这n条签名(mjj=(uj,vj)),其中j=1,...,n,验证等式
Figure GDA0003972170020000094
如果等式成立,则认为认证成立,否则认证失败,验证过程如下:
Figure GDA0003972170020000101
S622:当需要批量验证n条来自于n个签名者id1,...,idn的签名时,这n条签名σj=(uj,vj)对应于n个消息mj,其中j=1,...,n,验证等式
Figure GDA0003972170020000102
如果等式成立,则认为认证成立,否则认证失败,验证与上相同。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.一种针对联盟链的高效认证方法,其特征在于:包括以下步骤:
S1:系统初始化:联盟链服务器根据安全参数生成系统公共参数;包括如下步骤:
S11:联盟链服务器随机选择一个素数p,G和GT是两个阶为素数p的乘法循环群,g是G的生成元,双线性映射e:G×G→GT
S12:服务器定义并生成两个哈希函数:H:{0,1}*→G;
Figure FDA0004054282880000011
然后服务器公开公共参数params={G,GT,p,g,e,H,H1,N},其中N为联盟链中心个数;
S2:各个联盟链中心CBA根据公共参数生成参数h、各自的公/私钥对以及主公/私钥对;包括如下步骤:
S21:联盟链中心CBA初始化生成参数h,包括:
S211:每个联盟链中心IDi根据所接收的公共参数随机选择一个N-1阶的多项式Hi(z)=ci0+ci1z+…+ci(N-1)zN-1,其中N为联盟链中心个数;
S212:每个IDi分别计算和广播
Figure FDA0004054282880000012
其中k=0,1,...,N-1;
S213:每个IDi计算秘密值tij,其中j=1,...,N,然后IDi发送tij给IDj,其中j≠i;
S214:每个中心IDi验证秘密值是否为真,如果是真则认为IDj为诚实的中心,否则,IDi要求IDj重新广播tji
S215:每个中心IDi都可以计算参数
Figure FDA0004054282880000013
S22:联盟链中心CBA生成自己的公/私钥对以及主公/私钥对,包括:
S221:每个IDi随机选择两个N-1阶多项式Fi(x)=ai0+ai1x+…+ai(N-1)xN-1,F′i(x)=bi0+bi1x+...+bi(N-1)xN-1,其中ai0作为其私钥;
S222:每个IDi分别计算和广播
Figure FDA0004054282880000014
其中k=0,1,...,N-1;
S223:每个IDi计算秘密值sij和s′ij,其中j=1,...,N,然后IDi发送sij和s′ij给IDj,其中j≠i;
S224:每个中心IDi验证等式
Figure FDA0004054282880000015
是否成立,如果等式成立,则认为IDj所发送的秘密值为真,否则,IDi要求IDj重新发送(sji,s′ji);
S225:所有中心一起才能够通过计算恢复联盟链中心CBA主私钥
Figure FDA0004054282880000016
S226:每个中心IDi广播它的公钥
Figure FDA0004054282880000017
并计算/>
Figure FDA0004054282880000018
作为主公钥,然后将公钥与主公钥广播出去作为公共参数;
S3:用户的注册和密钥生成:用户向联盟链服务器请求注册,通过服务器验证后每个联盟链中心CBA生成该用户的部分私钥,用户接收部分私钥并根据公共参数验证部分私钥的正确性,之后用户使用部分私钥生成自己的公/私钥对;所述的用户idi注册与私钥的生成,包括如下步骤:
S31:用户idi申请加入系统,向联盟链服务器提供身份信息进行注册,通过认证后,联盟链中心CBA为用户idi生成私钥;
S32:每个中心IDj计算部分密钥
Figure FDA0004054282880000021
并安全传送给用户idi
S33:当用户idi收到来自中心IDj的部分密钥
Figure FDA0004054282880000022
后,验证等式/>
Figure FDA0004054282880000023
是否成立,如果正确则认为中心IDj发送的部分私钥是正确的,否则就要求中心IDj重新发送;
S34:在接收部分密钥
Figure FDA0004054282880000024
后,用户计算自己的私钥/>
Figure FDA0004054282880000025
S4:用户签名和联盟链中心签名:当用户选择好想要上传的消息后,使用用户私钥对消息进行签名,并将签名上传到所属联盟链的各个中心之后联盟链中负责上传区块的中心对这些数据打包并进行签名,最后将签名上传至联盟链中;
S5:联盟链中心签名认证:当用户或者中心接收到签名消息后,验证消息是否出自某个联盟链中的中心,如果验证通过,则接受消息并做后续处理,如果未通过,则拒绝接受消息;
S6:用户签名普通/批量认证:当用户或者中心接收到签名消息后,验证消息是否出自某个用户,并对消息进行批量验证,如果验证通过,则接受消息并做后续处理,如果未通过,则拒绝接受消息。
2.根据权利要求1所述的针对联盟链的高效认证方法,其特征在于:所述步骤S4包括如下步骤:
S41:用户idi对消息m进行签名,包括:
S411:用户idi随机选择整数
Figure FDA0004054282880000026
并计算u=H(0||idi)r∈G;
S412:计算
Figure FDA0004054282880000027
S413:计算
Figure FDA0004054282880000028
S414:生成签名σ=(u,v);
S42:本次负责上传区块的联盟链中心IDi对用户上传的签名σ与消息m进行打包并签名和上传,包括:
S421:联盟链每隔一段时间根据共识机制选出本次上传区块的联盟链中心IDi,IDi将这段时间内所有用户上传的签名σ与消息m打包成一个区块,其中区块看做消息M;
S422:中心IDi计算签名
Figure FDA0004054282880000031
S423:中心IDi上传区块和区块签名δ。
3.根据权利要求2所述的针对联盟链的高效认证方法,其特征在于:步骤S5中所述中心的签名认证,包括如下步骤:
S51:接收区块消息M与其签名δ;
S52:验证等式e(δ,g)=e(H(1||M),Ai0),如果等式成立,则认为认证成立,否则认证失败。
4.根据权利要求3所述的针对联盟链的高效认证方法,其特征在于:所述步骤S6包括如下步骤:
S61:用户普通签名认证,包括:
S611:接收用户消息m与其签名σ;
S612:计算
Figure FDA0004054282880000032
S613:验证等式e(v,g)=e(u,y)·e(H(0||idi)t,y)是否成立,如果等式成立,则认为认证成立,否则认证失败;
S62:用户批量签名验证,包括:
S621:当需要批量验证n条来自于同一个签名者idi的签名时,这n条签名
(mjj=(uj,vj)),其中j=1,...,n,验证等式
Figure FDA0004054282880000033
是否成立,如果等式成立,则认为认证成立,否则认证失败;
S622:当需要批量验证n条来自于n个签名者id1,...,idn的签名时,这n条签名σj=(uj,vj)对应于n个消息mj,其中j=1,...,n,验证等式
Figure FDA0004054282880000034
是否成立,如果等式成立,则认为认证成立,否则认证失败。/>
CN201910157687.2A 2019-03-01 2019-03-01 一种针对联盟链的高效认证方法 Active CN109902480B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910157687.2A CN109902480B (zh) 2019-03-01 2019-03-01 一种针对联盟链的高效认证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910157687.2A CN109902480B (zh) 2019-03-01 2019-03-01 一种针对联盟链的高效认证方法

Publications (2)

Publication Number Publication Date
CN109902480A CN109902480A (zh) 2019-06-18
CN109902480B true CN109902480B (zh) 2023-03-31

Family

ID=66946146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910157687.2A Active CN109902480B (zh) 2019-03-01 2019-03-01 一种针对联盟链的高效认证方法

Country Status (1)

Country Link
CN (1) CN109902480B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110233850B (zh) * 2019-06-20 2021-08-31 浪潮卓数大数据产业发展有限公司 基于联盟链的注册方法、应用服务器、用户端以及系统
CN111030821B (zh) * 2019-08-27 2022-07-12 杭州云象网络技术有限公司 一种基于双线性映射技术的联盟链的加密方法
CN111193590B (zh) * 2019-12-31 2023-07-18 华测电子认证有限责任公司 一种针对联盟链的支持节点动态变化的密钥授权方法
CN111294202B (zh) * 2020-01-16 2023-04-21 重庆邮电大学 一种面向联盟链的身份认证方法
CN111415718B (zh) * 2020-02-29 2024-02-09 沈培君 一种基于区块链和条件代理重加密的电子处方共享方法
CN111786968B (zh) * 2020-06-17 2022-04-19 杭州溪塔科技有限公司 一种保护隐私的数据上报方法、装置、系统及电子设备
CN112311772B (zh) * 2020-10-12 2022-06-14 华中师范大学 基于Hyperledger的跨域证书管理系统及方法
CN114697001A (zh) * 2020-12-28 2022-07-01 山东浪潮质量链科技有限公司 一种基于区块链的信息加密传输方法、设备及介质
CN114499952B (zh) * 2021-12-23 2024-04-09 中电科大数据研究院有限公司 一种联盟链共识身份认证方法
CN116074119A (zh) * 2023-03-07 2023-05-05 天津电力工程监理有限公司 基于区块链的研究型审计双向认证方法、装置及可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947932A (zh) * 2018-01-09 2018-04-20 重庆邮电大学 基于非双线性映射无证书签名的车辆自组网络认证方法
CN108494581A (zh) * 2018-02-09 2018-09-04 孔泽 Sdn网络的控制器分布式日志生成方法及装置
CN109243020A (zh) * 2018-08-24 2019-01-18 电子科技大学 一种基于无证书的智能锁身份认证方法
CN109274573A (zh) * 2018-07-12 2019-01-25 华泰证券股份有限公司 一种融合区块链技术的即时消息系统、方法及应用

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201511964D0 (en) * 2015-07-08 2015-08-19 Barclays Bank Plc Secure digital data operations
CN111917864B (zh) * 2017-02-22 2023-08-22 创新先进技术有限公司 一种业务校验的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107947932A (zh) * 2018-01-09 2018-04-20 重庆邮电大学 基于非双线性映射无证书签名的车辆自组网络认证方法
CN108494581A (zh) * 2018-02-09 2018-09-04 孔泽 Sdn网络的控制器分布式日志生成方法及装置
CN109274573A (zh) * 2018-07-12 2019-01-25 华泰证券股份有限公司 一种融合区块链技术的即时消息系统、方法及应用
CN109243020A (zh) * 2018-08-24 2019-01-18 电子科技大学 一种基于无证书的智能锁身份认证方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
可更改区块链技术研究;李佩丽等;《密码学报》;20181015(第05期);全文 *
基于区块链的可监管数字货币模型研究;徐治理;《中国优秀硕士学位论文数据库》;20190228;全文 *

Also Published As

Publication number Publication date
CN109902480A (zh) 2019-06-18

Similar Documents

Publication Publication Date Title
CN109902480B (zh) 一种针对联盟链的高效认证方法
CN110309634B (zh) 一种基于区块链的可信广告数据管理系统
US11552792B2 (en) Systems and methods for generating signatures
Wang et al. Identity-based data outsourcing with comprehensive auditing in clouds
Li et al. Hidden attribute-based signatures without anonymity revocation
Lee et al. Secure key issuing in ID-based cryptography
Li et al. Cryptanalysis and improvement of certificateless aggregate signature with conditional privacy-preserving for vehicular sensor networks
US8225098B2 (en) Direct anonymous attestation using bilinear maps
US9021572B2 (en) Anonymous access to a service by means of aggregated certificates
Chang et al. A threshold signature scheme for group communications without a shared distribution center
CN107579819A (zh) 一种sm9数字签名生成方法及系统
EP2285040A1 (en) Two-factor combined public key generation and authentication method
CN107947913A (zh) 一种基于身份的匿名认证方法与系统
Chen et al. Light-weight and privacy-preserving authentication protocol for mobile payments in the context of IoT
Hsu et al. Improvement of threshold proxy signature scheme
JP2004208263A (ja) バイリニアペアリングを用いた個人識別情報に基づくブラインド署名装置及び方法
CN113468570A (zh) 基于智能合约的隐私数据共享方法
Feng et al. A new public remote integrity checking scheme with user and data privacy
Wang et al. Simulatable and secure certificate‐based threshold signature without pairings
CN114339743A (zh) 一种基于边缘计算的物联网客户端隐私保护认证方法
Su Enhanced short signature scheme with hybrid problems
Kwak et al. A secure extension of the Kwak–Moon group signcryption scheme
Tso et al. Certificateless proxy signature and its extension to blind signature
CN114006691B (zh) 远程证明的方法和装置
Li et al. A new threshold Group Signature scheme based on discrete logarithm problem

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