基于SM9算法的签名密钥生成方法、装置和计算机设备制造方法及图纸

技术编号:32823155 阅读:18 留言:0更新日期:2022-03-26 20:21
本申请涉及一种基于SM9算法的签名密钥生成方法、装置和计算机设备。所述方法包括:接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;基于所述安全因子,从所述用户身份信息中获取系统参数;发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;对所述多个私钥进行相加处理,得到签名密钥。采用本方法能够有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。了用户签名私钥的安全性。了用户签名私钥的安全性。

【技术实现步骤摘要】
基于SM9算法的签名密钥生成方法、装置和计算机设备


[0001]本申请涉及网络安全
,特别是涉及一种基于SM9算法的签名密钥生成方法、装置、计算机设备、存储介质和计算机程序产品。

技术介绍

[0002]目前大多数应用系统采用用户名加口令方式实现身份验证,网络之间的信息传输都是明文。这种传统的认证方式存在很多的安全隐患,信息极易泄密。用户为了便于记忆,其用户名和密码往往过于简单且带有一定的规律性,易被猜测、易泄露;同时用户在输入密码时易被偷窥,而密码在传输的过程中也易被黑客截获;信息以明文形式传输,或密文的加密强度太低,很容易破解。现有方法中多采用IBC系统,通过公钥和私钥的结合使用,来进行身份验证,然而这种方法在密钥托管时,用户签名私钥的安全性难以得到保障。

技术实现思路

[0003]基于此,有必要针对上述技术问题,提供一种用于解决现有的IBC密码系统中的密钥托管问题,用户签名私钥的安全性不能保障的基于SM9算法的签名密钥生成方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
[0004]第一方面,本申请提供了一种基于SM9算法的签名密钥生成方法。所述方法包括:
[0005]接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
[0006]基于所述安全因子,从所述用户身份信息中获取系统参数;
[0007]发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
[0008]对所述多个私钥进行相加处理,得到签名密钥。
[0009]在其中一个实施例中,在对所述多个私钥进行相加处理,得到签名密钥之后,还包括:
[0010]对各个所述私钥进行加密,生成多个密文;
[0011]发送生成指令至所述多个密钥管理中心,使所述多个密钥管理中心生成多个随机数;
[0012]通过各个所述随机数对各个所述密文进行混合处理,得到封装信息;
[0013]当所述封装信息满足预设条件时,输出所述签名密钥。
[0014]在其中一个实施例中,所述方法还包括:
[0015]对所述封装信息进行解析,得到所述封装信息中末尾附加有所述用户身份信息的字段;
[0016]根据所述字段,获取所述发起终端的标识信息,并保存所述发起终端的标识信息。
[0017]在其中一个实施例中,所述方法还包括:
[0018]对所述封装信息中的密文进行解密处理,以及对所述发起终端的标识信息进行解
析,得到验签信息;
[0019]通过所述验签信息,验证所述发起终端和所述公钥系统的身份。
[0020]在其中一个实施例中,所述方法还包括:
[0021]当向所述发起终端发送的相应请求消息中的信息量不足时,向所述发起终端发送主密钥修改请求,使所述发起终端对主密钥进行修改,以及,对所述系统参数进行调整。
[0022]在其中一个实施例中,所述主密钥为所述发起终端从附加有所述用户身份信息的字段中,确定出所述字段对应的原有字段的数据;基于所述用户身份信息的字节长度,从所述原有字段的数据中确定出的目标数据得到。
[0023]第二方面,本申请还提供了一种基于SM9算法的签名密钥生成装置。所述装置包括:
[0024]接收模块,用于接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
[0025]获取模块,用于基于所述安全因子,从所述用户身份信息中获取系统参数;
[0026]发送模块,用于发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
[0027]相加模块,用于对所述多个私钥进行相加处理,得到签名密钥。
[0028]第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0029]接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
[0030]基于所述安全因子,从所述用户身份信息中获取系统参数;
[0031]发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
[0032]对所述多个私钥进行相加处理,得到签名密钥。
[0033]第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0034]接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
[0035]基于所述安全因子,从所述用户身份信息中获取系统参数;
[0036]发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
[0037]对所述多个私钥进行相加处理,得到签名密钥。
[0038]第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
[0039]接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;
[0040]基于所述安全因子,从所述用户身份信息中获取系统参数;
[0041]发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;
[0042]对所述多个私钥进行相加处理,得到签名密钥。
[0043]上述基于SM9算法的签名密钥生成方法、装置、计算机设备、存储介质和计算机程序产品,无需申请数字证书、无需各类专用硬件介质,即可实现类似USB key认证的安全效果,SM9算法省略了证书的申请与校验,尤为适于各类大型互联网软件的安全保护。本申请用户的私钥是由多方联合生成,这样任何单独一个PKI就无法掌握用户的私钥,密钥托管问题就迎刃而解,协商出的私钥也不能被密钥管理中心所知,只能由用户掌握,可以有效地克服IBC密码系统中的密钥托管问题,提高了用户签名私钥的安全性。
附图说明
[0044]图1为一个实施例中基于SM9算法的签名密钥生成方法的应用环境图;
[0045]图2为一个实施例中基于SM9算法的签名密钥生成方法的流程示意图;
[0046]图3为另一个实施例中基于SM9算法的签名密钥生成方法的流程示意图;
[0047]图4为一个实施例中基于SM9算法的签名密钥生成装置的结构框图;
[0048]图5为一个实施例中计算机设备的内部结构图。...

【技术保护点】

【技术特征摘要】
1.一种基于SM9算法的签名密钥生成方法,其特征在于,所述方法包括:接收发起终端发送的安全因子和多个密钥管理中心的主密钥;所述主密钥为所述发起终端基于所述发起终端的标识信息和用户身份信息生成;基于所述安全因子,从所述用户身份信息中获取系统参数;发送所述系统参数和各个所述主密钥至公钥系统,使所述公钥系统基于各个所述主密钥和所述系统参数生成多个私钥;对所述多个私钥进行相加处理,得到签名密钥。2.根据权利要求1所述的方法,其特征在于,在对所述多个私钥进行相加处理,得到签名密钥之后,还包括:对各个所述私钥进行加密,生成多个密文;发送生成指令至所述多个密钥管理中心,使所述多个密钥管理中心生成多个随机数;通过各个所述随机数对各个所述密文进行混合处理,得到封装信息;当所述封装信息满足预设条件时,输出所述签名密钥。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:对所述封装信息进行解析,得到所述封装信息中末尾附加有所述用户身份信息的字段;根据所述字段,获取所述发起终端的标识信息,并保存所述发起终端的标识信息。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:对所述封装信息中的密文进行解密处理,以及对所述发起终端的标识信息进行解析,得到验签信息;通过所述验签信息,验证所述发起终端和所述公钥系统的身份。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:当向所述发起终端发送的相应请求消息...

【专利技术属性】
技术研发人员:吴金宇陶文伟胡荣杨俊权曾初阳庞晓健
申请(专利权)人:中国南方电网有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1