【技术实现步骤摘要】
签名验签方法、装置及存储介质
[0001]本专利技术涉及网络信息安全
,尤其涉及一种协同认证方法、系统、装置及存储介质。
技术介绍
[0002]传统基于非对称的公私钥的签名方法有两种主要的技术路线—基于证书和基于标识。非对称公私钥只是一对无意义的数字,所以需要证书颁发机构CA(Certificate Authority,证书授权中心)为用户颁发证书实现用户身份与公钥的关联和绑定。为了避免CA和证书的引入,标识公钥中将标识用户身份的信息直接作为公钥,避免了通过证书来实现用户身份与公钥的绑定。用户通过私钥进行签名,验签方通过用户公钥完成验签和身份确认。
[0003]但无论是基于证书还是基于标识的公私钥体系,在实际应用中会面临一些问题。主要包括以下几个方面:1、证书公钥体系引入了CA和证书实现身份和公钥的绑定,并通过CA实现证书生命周期管理,增加了部署、维护和使用的复杂度;2、标识公钥体系中用户身份标识就是公钥,意味着更换私钥就要更换用户标识,并且私钥完全由密钥管理中心生成再发送给用户,增加了安全风险。
专利 ...
【技术保护点】
【技术特征摘要】
1.一种签名验签方法,其特征在于,所述方法包括:签名方生成第一私钥分量并向密钥管理方发送无证书公钥申请,所述无证书公钥申请包括签名方标识以及基于所述第一私钥分量生成的第一公钥分量;所述密钥管理方在接收到所述无证书公钥申请后,基于所述签名方的标识以及所述第一公钥分量生成第二公钥分量以及第二私钥分量并将所述第二公钥分量以及所述第二私钥分量返回至所述签名方;所述签名方基于预存的密钥管理方公钥对所述第二公钥分量以及所述第二私钥分量进行验证,并在验证通过的情况下,将所述签名方标识,所述第一公钥分量以及所述第二公钥分量合成为签名公钥,以及将所述第一私钥分量以及所述第二私钥分量合成为签名私钥;在需要对目标消息进行签名时,所述签名方基于所述目标消息、所述签名公钥以及所述签名私钥生成签名结果,并将所述目标消息、所述签名公钥以及所述签名结果发送至验签方;所述验签方基于预存的所述密钥管理方公钥以及所述签名公钥对所述签名结果进行验证以得到验签结果。2.如权利要求1所述的方法,其特征在于,所述方法还包括:在所述签名方向所述密钥管理方发送无证书公钥申请之前,所述密钥管理方生成在预设的取值范围内的第一随机数,并基于所述第一随机数以及所采用的加密机制所要求的预设的基础参数生成所述密钥管理方公钥,随之将所述密钥管理方公钥发送至所述签名方以及所述验签方预存;在接收到所述密钥管理方公钥后,在需要向所述密钥管理方发送所述无证书公钥申请时,所述签名方生成在预设的取值范围内的第二随机数,并将所述第二随机数作为所述第一私钥分量,以及基于所述第一私钥分量和所述基础参数生成所述第一公钥分量。3.如权利要求2所述的方法,其特征在于,所述密钥管理方在接收到所述无证书公钥申请后,基于所述签名方的标识以及所述第一公钥分量生成第二公钥分量以及第二私钥分量包括:所述密钥管理方生成在预设的取值范围内的第三随机数,并基于所述第三随机数和所述基础参数生成所述第二公钥分量;根据所述第一公钥分量、所述第二公钥分量以及所述签名方标识计算公钥散列值;根据所述第一随机数、所述公钥散列值以及所述第三随机数确定所述第二私钥分量。4.如权利要求3所述的方法,其特征在于,所述签名方基于预存的密钥管理方公钥对所述第二公钥分量以及所述第二私钥分量进行验证包括:所述签名方根据所述第一公钥分量、所述第二公钥分量以及所述签名方标识计算公钥散列值,并根据所述公钥散列值,所述基础参数以及所述密钥管理方公钥对所述第二公钥分量以及所述第二私钥分量进行验证。5.如权利要求4所述的方法,其特征在于,所述签名方基于所述目标消息、所述签名公钥以及所述签名私钥生成签名结果包括:所述签名方生成在预设的取值范围内的第四随机数,以及基于所述第四随机数和所述基础参数生成第一加密参数;
根据所述目标消息,所述第一加密参数、以及所述第一公钥分量、所述第二公钥分量生成第一签名分量;根据所述第一公钥分量,所述第二公钥分量以及所述签名方标识确定公钥散列值,并根据所述第四随机数、所述公钥散列值、所述第一私钥分量、所述第二私钥分量、以及所述第一签名分量确定第二签名分量;将所述第一签名分量以及所述第二签名分量合成为所述签名结果。6.如权利要求5所述的方法,其特征在于,所述验签方基于预存的所述密钥管理方公钥以及所述签名公钥对所述签名结果进行验证以得到验签结果包括:所述验签方基于所述第一公钥分量,所述第二公钥分量以及所述签名方标识计算所述公钥散列值;根据所述第一签名分量、所述第二签名分量、所述基础参数,所述公钥散列值、所述第一公钥分量、所述第二公钥分量、以及所述密钥管理方公钥确定第二加密参数;根据所述目标消息,所述第二加密参数、所述第一公钥分量、以及所述第二公钥分量确定第三签名分量;将所述第三签名分量与所述第一签名分量相比较,若所述第三签名分量与所述第一签名分量相同,则验签结果为验签成功,否则,验签结果为验签失败。7.如权利要求6所述的方法,其特征在于,所述验签方基于预存的所述密钥管理方公钥以及所述签名公钥对所述签名结果进行验证以得到验签结果还包括:在对所述签名结果进行验证之前,所述验签方向所述密钥管理方发送签名公钥有效性验证请求,所述签名公钥有效性验证请求包含第一公钥分量、第二公钥分量、以及签名方标识,所述第一公钥分量、第二公钥分量、以及签名方标识构成所述签名公钥;所述密钥管理方根据接收到的所述第一公钥分量、第二公钥分量、以及签名方标识确定所述签名公钥的有效性,并将有效性验证结果发送至所述验签方;所述验签方仅在所述有效性验证结果为签名公钥有效的情况下触发对所述签名结果进行验证的操作。8.如权利要求2至6任一项所述的方法,其特征在于,所述所采用的加密机制是基于SM2算法的加密机制,所述签名方和所述密钥管理方共享所述SM2算法定义的椭圆曲线E
p
和E
p
上阶为n的基点G,并且所述预设的基础参数是所述基点G。9.如权利要求8所述的方法,其特征在于,所述密钥管理方通过以下方式确定所述密钥管理方公钥P
k
:生成第一随机数s
k
,P
k
=s
k
*G;所述签名方通过以下方式确定所述第一私钥分量d1以及所述第一公钥分量P1:生成第二随机数d1,并将d1作为第一私钥分量,第一公钥分量P1=d1*G;其中,s
k
∈[1,n
‑
1],d1∈[1,n
‑
1],n是与所述预设的取值范围相关的常量,G为所述基础参数。10.如权利要求9所述的方法,其特征在于,所述密钥管理方在接收到所述无证书公钥申请后,基于所述签名方的标识以及所述第一公钥分量生成第二公钥分量P2以及第二私钥分量d2包括:生成第三随机数r1,P2=r1*G;
基于所述第一公钥分量P1,所述第二公钥分量P2以及所述签名方标识确定公钥散列值h,其中,h=hash(P1||P2||ID),d2=r1h+s
k
;其中,ID为所述签名方标识。11.如权利要求9所述的方法,其特征在于所述签名方基于预存的密钥管理方公钥对所述第二公钥分量以及所述第二私钥分量进行验证包括:所述签名方通过以下方法确定公钥散列值:h=hash(P1||P2||ID);所述签名方验证d2*G=h*P2+P
k
是否成立,从而完成对所述第二公钥分量以及所述第二私钥分量的验证。12.如权利要求9所述的方法,其特征...
【专利技术属性】
技术研发人员:晏志文,
申请(专利权)人:南京易科腾信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。