一种支持离线SM9算法密钥首次申请下载方法技术

技术编号:18292134 阅读:541 留言:0更新日期:2018-06-24 08:00
本发明专利技术公开了一种在SM9密码算法中,用户离线申请和下载SM9密钥的安全方法。用户在注册点经过身份审核后,提供用来存储密钥的终端载体,用户终端载体生成临时主密钥,包括主公钥和主私钥,将临时主公钥和用户ID等信息发给PKG,PKG利用用户ID和PKG的主密钥为用户生成私钥d,利用用户临时主公钥和用户ID将私钥d加密发送给注册点/用户,用户将数据导入终端载体并内部验证正确性。该方法利用SM9标识密码算法保证了用户信息和用户私钥的机密性、真实性、完整性,简单易行。

【技术实现步骤摘要】
一种支持离线SM9算法密钥首次申请下载方法
本专利技术涉及信息安全和密码学领域,尤其涉及SM9密码设施过程中用户私钥的首次申请下载。
技术介绍
SM9是一种基于身份的公钥密码,2016年成为密码行业标准,2017年成为国际标准。SM9算法有别于RSA、SM2等公钥密码算法,用户公钥可以自己选定的具有明确意义的标识,比如身份证号、电子邮箱地址等,这种特点使得用户公钥本身天然就具有代表用户身份的性质,因此不需要CA等可信第三方颁发数字证书来实现用户身份和用户公钥的绑定,即不需要第三方证明公钥的归属。SM9标识密码算法的这种性质使它在电子证照使用、车联网等物联网应用、社保卡等证件管理等应用方面具有很大的优势。在SM9标识密码算法中,用户的签名私钥和加密私钥都是由KGC(密钥生成中心)/PKG统一生成的,因此首先需要解决的问题是用户密码的安全分发问题。
技术实现思路
本专利技术的目的是为了解决用户首次向PKG进行密钥生成申请时的安全密钥分发问题,适用于SM密码系统的建设和应用。为了实现上述目的,本专利技术公布了如下方案:一种支持离线SM9算法密钥首次申请下载方法的具体实现流程如下:S1、注册申请:用户提交申请材料,用户到注册点提交用户密钥生成申请材料,并填写注册点提供的申请表格;S2、注册审核:注册点审核用户申请材料注册点审核用户申请材料是否完备合规,若未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;S3、注册点根据用户申请材料并组织相应的申请数据并发送给PKG;S4、PKG验证申请数据包,PKG接收注册点发送的密钥申请数据包APPD,用自己的解密私钥解密APPD,提取数据Data和sign,用注册的签名公钥验证sign是否是Data1得到签名,若通过验证,则继续为用户生产密钥,否则向注册点发送数据错误信息;S5、PKG为用户生成密钥;S6、注册点将用户私钥导入用户终端载体。所述步骤S3具体包括以下步骤:S3.1生成临时加密主密钥,利用终端载体生成临时加密主密钥,算法为SM9,包括临时加密主私钥和临时加密主公钥TMEPK,从终端载体导出TMPK。S3.2生成申请数据APPD,记用户身份标识为UID,记Tex1为其它信心,包括申请密钥的有效期、用户注册名、其它可选信息,记Data1=UID‖TMEPK‖Text1,用注册点签名私钥对Data1做数字签名得到签名值sign,用PKG的加密公钥PKGPK加密Data1和sign,则密钥申请数据APPD=EPKGPK(Data1‖sign)。S3.3将密钥申请数据APPD发送给PKG。所述步骤S5具体包括以下步骤:S5.1生成用户私钥,PKG根据用户标识UID和系统参数,用SM9算法为用户生成用户私钥PrivK(可以是签名私钥或者加密私钥)。S5.2生成对称密钥k,PKG产生随机数,作为对称密钥k,推荐使用SM4分组密码算法,k为16字节,利用用户标识UID和用户临时主密钥用SM9算法加密对称密钥k,记为EUI-DTMEPK(k),并且用k加密用户私钥得到Ek(PrivK)。S5.3产生密钥响应数据REPD,记Tex2为可选信息,可以包括用户身份标识UID,用户注册名等,记数据Data2=Ek(PrivK)‖EUI-DTMEPK(k)‖Text2,PKG用自己的签名私钥对Data2做数字签名得到签名值sign1,则响应数据REPD=Data2||sign1。S5.4将响应数据REPD发送给注册点。所述步骤S6具体包括以下步骤:S6.1注册点验证数据,注册点接收PKG的响应数据REPD,从中提取Data2和sign1,用PKG的签名公钥验证sign1是否是Data2的签名,若验证成功,则继续,否则重新向PKG申请密钥生成。S6.2将密钥数据导入用户终端载体,将数据Ek(PrivK)‖EUID—TMEPK(k)导入用户终端载体,在终端载体内通过SM9算法,用用户身份标识UID和临时加密密钥解密EUID—TMEPK(k)获取对称密钥k,进而用k解密Ek(PrivK)得到用户私钥PrivK,进行验证存储。本专利技术还公开了一种支持离线SM9算法密钥首次申请下载系统,其特征在于,包括:申请单元:用户提交申请材料,用户到注册点提交用户密钥生成申请材料,并填写注册点提供的申请表格;审核单元:注册点审核用户申请材料注册点审核用户申请材料是否完备合规,若未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;发送单元:注册点根据用户申请材料并组织相应的申请数据并发送给PKG;验证单元:PKG验证申请数据包,PKG接收注册点发送的密钥申请数据包APPD,用自己的解密私钥解密APPD,提取数据Data和sign,用注册的签名公钥验证sign是否是Data1得到签名,若通过验证,则继续为用户生产密钥,否则向注册点发送数据错误信息;生成单元:PKG为用户生成密钥;导入单元:注册点将用户私钥导入用户终端载体。本专利技术公开了一种在SM9密码算法中,用户离线申请和下载SM9密钥的安全方法,本专利技术属于信息安全领域。用户在注册点经过身份审核后,提供用来存储密钥的终端载体,用终端载体生成临时主密钥,包括主公钥和主私钥,将临时主公钥和用户ID等信息发给PKG,PKG利用用户ID和PKG的主密钥为用户生私钥d,利用用户临时主公钥和用户ID将私钥d加密发送给注册点/用户,用户将数据导入终端载体并内部验证正确性。该方法利用SM9标识密码算法保证了用户信息和用户私钥的机密性、真实性、完整性,简单易行。附图说明此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本专利技术的实施例,并与说明书一起用于解释本专利技术的原理。图1为本专利技术的概要流程图。图2为本专利技术的实施例流程图。通过上述附图,已示出本专利技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本专利技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本专利技术的概念。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的方法和设备的例子。本专利技术的说明书和权利要求书及所述附图中的术语“第一”、第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。以下将结合附图和实施例对本专利技术做进一步的说明,但不应以此来限制本专利技术的保护范围。参照附图来说明具有根据如上所述的本专利技术安全协议申请过程的技术思想的优选实施例。图1为概要流程图,图2为实施例流程图。一种支持离线SM9算法密钥首次申请下载方法的具体实现流程如下:S1、用户提交申请材料,用户到注册点提交用户密钥生成申请材料,并填写注册点提供的申请表格。S2、审核申请材料,注册点按照申请要求审核用户提本文档来自技高网...
一种支持离线SM9算法密钥首次申请下载方法

【技术保护点】
1.一种支持离线SM9算法密钥首次申请下载方法,其特征在于,包括如下步骤:S1、注册申请:用户提交申请材料,用户到注册点提交用户密钥生成申请材料,并填写注册点提供的申请表格;S2、注册审核:注册点审核用户申请材料注册点审核用户申请材料是否完备合规,若未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;S3、注册点根据用户申请材料并组织相应的申请数据并发送给PKG;S4、PKG验证申请数据包,PKG接收注册点发送的密钥申请数据包APPD,用自己的解密私钥解密APPD,提取数据Data和sign,用注册的签名公钥验证sign是否是Data1得到签名,若通过验证,则继续为用户生产密钥,否则向注册点发送数据错误信息;S5、PKG为用户生成密钥;S6、注册点将用户私钥导入用户终端载体。

【技术特征摘要】
1.一种支持离线SM9算法密钥首次申请下载方法,其特征在于,包括如下步骤:S1、注册申请:用户提交申请材料,用户到注册点提交用户密钥生成申请材料,并填写注册点提供的申请表格;S2、注册审核:注册点审核用户申请材料注册点审核用户申请材料是否完备合规,若未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;S3、注册点根据用户申请材料并组织相应的申请数据并发送给PKG;S4、PKG验证申请数据包,PKG接收注册点发送的密钥申请数据包APPD,用自己的解密私钥解密APPD,提取数据Data和sign,用注册的签名公钥验证sign是否是Data1得到签名,若通过验证,则继续为用户生产密钥,否则向注册点发送数据错误信息;S5、PKG为用户生成密钥;S6、注册点将用户私钥导入用户终端载体。2.根据权利要求1所述的方法,其特征在于:所述步骤S3具体包括以下步骤:S3.1生成临时加密主密钥,利用终端载体生成临时加密主密钥,算法为SM9,包括临时加密主私钥和临时加密主公钥TMEPK,从终端载体导出TMPK;S3.2生成申请数据APPD,记用户身份标识为UID,记Tex1为其它信息,包括申请密钥的有效期、用户注册名、其它可选信息,记Data1=UID‖TMEPK‖Text1,用注册点签名私钥对Data1做数字签名得到签名值sign,用PKG的加密公钥PKGPK加密Data1和sign,则密钥申请数据APPD=EPKGPK(Data1‖sign);S3.3将密钥申请数据APPD发送给PKG。3.根据权利要求1所述的方法,其特征在于:所述步骤S5具体包括以下步骤:S5.1生成用户私钥,PKG根据用户标识UID和系统参数,用SM9算法为用户生成用户私钥PrivK(可以是签名私钥或者加密私钥);S5.2生成对称密钥k,PKG产生随机数,作为对称密钥k,推荐使用SM4分组密码算法,k为16字节,利用用户标识UID和用户临时主密钥用SM9算法加密对称密钥k,记为EUI-DTMEPK(k),并且用k加密用户私钥得到Ek(PrivK);S5.3产生密钥响应数据REPD,记Tex2为可选信息,可以包括用户身份标识UID,用户注册名等,记数据Data2=Ek(PrivK)‖EUI-DTMEPK(k)‖Text2,PKG用自己的签名私钥对Data2做数字签名得到签名值sign1,则响应数据REPD=Data2||sign1;S5.4将响应数据REPD发送给注册点。4.根据权利要求1所述的方法,其特征在于:所述步骤S6具体包括以下步骤:S6.1注册点验证数据,注册点接收PKG的响应数据REPD,从中提取Data2和sign1,用PKG的签名公钥验证sign1是否是Data2的签名,若验证成功,则继续,否则重新向PKG申请密钥生成;S6.2将密钥数据导入用户终端载体,将数据Ek(PrivK)‖EUID—TMEPK(k)导入用户终端载体,在终端载体内通过SM9算法,用用户身份标识UID和临时加密密钥解密EUID—TMEPK(k)获取对称密钥k,进而用k解密Ek(PrivK)得到用户私钥PrivK,进...

【专利技术属性】
技术研发人员:袁文恭袁峰
申请(专利权)人:北京无字天书科技有限公司
类型:发明
国别省市:北京,11

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

1