一种适用于SM9标识密码的用户密钥申请下载安全协议的实现方法

阅读: 评论:0

著录项
  • CN201810312385.3
  • 20180409
  • CN108599950A
  • 20180928
  • 北京无字天书科技有限公司
  • 袁文恭;袁峰
  • H04L9/30
  • H04L9/30 H04L9/08 H04L29/06

  • 北京市海淀区高里章路1号院23号楼一层F21号
  • 北京(11)
  • 北京世誉鑫诚专利代理事务所(普通合伙)
  • 孙国栋
摘要
本发明为一种用户通过注册机构向密钥生成中心(KGC/PKG)申请SM9密钥的安全协议。用户首先向注册点提交申请材料,注册点审核用户材料,审核通过后组织申请数据,包括用户载体产生的对称密钥的密文、用户注册名、用户标识、终端载体号等,将这些数据进行签名和加密,发送给密钥生成中心,密钥生成中心对收到的数据进行解密和验签,验证通过后,根据用户标识为用户生成私钥,将用户对称密钥加密得到私钥密码密文,将私钥密文和属性信息签名和加密后发送给注册点,注册点解密验证后将私钥密文和属性信息导入用户载体,载体内解密并验证私钥的正确性。该协议保证了用户信息和用户密钥的机密性、真实性、完整性和不可篡改性。
权利要求

1.一种适用于SM9标识密码的用户密钥申请下载安全协议的实现方法,其特征在于:包 括:

S1、注册申请:用户到注册点注册申请用户密钥;

S2、注册审核:注册点审核用户申请材料是否完备合规,若未通过审核,则中断操作,由 用户进一步补充材料;若通过审核,则继续;

S3、注册点生成并发送申请数据:根据用户申请材料向密钥生成中心KGC/PKG发送申请 数据包;

S4、PKG接收、解密、验证申请数据包,得到用户信息和注册点对称密钥;

S5、PKG生成并发送用户密钥;

S6、注册点接收与验证数据,并得到用户私钥密文。

2.根据权利要求1所述的方法,其特征在于:所述步骤S1中所述注册点是为用户提供注 册和密钥申请的场所;其中用户提交申请材料,根据资料填写注册表,申请签发用户密钥。

3.根据权利要求1所述的方法,其特征在于:所述步骤S3具体包括以下步骤:

S31:产生用户对称加密密钥r1:使用用户载体生成随机数r1,作为对称密钥,在用户载 体内部用PKG通信公钥P加密r1得到对称密钥的密文P(r1),将P(r1)从用户载体导出给注册 点;

所述用户载体为带有存储空间具有密码运算能力的硬件设备;

S32:产生申请数据Data1:注册点提取用户注册表中相关项数据,包括用户注册码、用 户标识ID、终端载体号EID,将这些数据和P(r1)组成Data1,Data1=(用户注册名‖用户标识 ID‖终端载体号EID‖P(r1));

S33:产生申请数据Data2:注册点用自己的签名私钥对数据Data1做数字签名得到签名 值sign=SIGN(Data1),并生成数据包Data2,Data2=(Data1‖sign)=(用户注册名‖用户标 识ID‖终端载体号EID‖P(r1))‖sign);

S34:产生注册点对称密钥r2:注册点生成随机数r2作为注册点的对称密钥,用PKG通信 公钥P加密r2,得到注册点的对称密钥密文P(r2);

S35:产生申请数据Data3:注册点用对称密钥算法E和对称密钥r2对Data2加密,生成数 据包Data3,Data3=Er2(Data2);

S36:产生并发送申请数据Data4:注册点将注册点对称密钥密文P(r2)和数据Data3组 成申请数据包Data4并发送给PKG,Data4=(P(r2)‖Data3)。

4.根据权利要求1所述的方法,其特征在于:所述步骤S4具体包括以下步骤:

S41:解密获取注册点对称密钥r2:PKG收到申请数据Data4后,从中提取数据Data3和注 册点对称密钥密文P(r2),用PKG的通信私钥d解密P(r2),得到注册点对称密钥r2;

S42:解密获取数据Data2:PKG用对称密码算法和对称密钥r2解密数据包Data3,得到 Dr2(Data3)=Dr2(Er2(Data2))=Data2=(用户注册名‖用户标识ID‖终端载体号EID‖P (r1))‖sign)=(Data1||sign);

S43:验证签名,PKG从Data2提取数据Data1和sign,并用注册点的签名公钥验证sign是 否是Data1的签名,验证失败则中断流程,并向注册点返回错误信息;

S44:解密获取用户对称密钥r1,PKG从Data1中提取用户对称密钥密文P(r1),用PKG的 通信私钥d解密P(r1),得到用户对称密钥r1。

5.根据权利要求1所述的方法,其特征在于:所述步骤S5具体包括以下步骤:

S51:生成用户私钥,PKG根据用户身份标识ID和系统参数,为用户生成用户私钥dA。

S52:加密用户私钥,PKG用杂凑函数计算dA的杂凑值H=Hash(dA),然后用对称密码算 法和用户对称密钥r1对dA和H加密,生成用户私钥密文Er1(dA‖H);

S53:产生数据Data5和签名值sign1,PKG将用户信息和用户私钥密文、私钥有效期组成 数据包Data5=(用户注册名‖用户标识ID‖终端载体号EID‖Er1(dA‖H)‖有效期),并用自己 的签名私钥对Data5做数字签名得到签名值sign1;

S54:产生PKG对称密钥r3和数据Data6,PKG生成随机数r3,作为对称密钥,PKG用对称密 码算法和密钥r3对数据Data5、签名值sign1、和签发时间t等数据进行加密,生成Data6, Data6=Er3(Data5‖sign1‖t);

S55:产生并发送数据Data7,PKG用注册点的加密公钥对r3加密得到PKG对称密钥密文P (r3),组成数据Data7=(P(r3)‖Data6),并将Data7发送给注册点。

6.根据权利要求1所述的方法,其特征在于:所述步骤S6具体包括以下步骤:

S61:解密获取PKG对称密钥r3,注册点接收PKG发送来的数据Data7,从中提取PKG对称 密钥密文P(r3)和数据Data6,并用注册点解密私钥解密P(r3)得到PKG对称密钥r3;

S62:解密获取数据Data5,注册点用对称密码算法和对称密钥r3解密数据Data6,得到D (Data6)=(Data5‖sign1‖t),其中Data5=(用户注册名‖用户标识ID‖终端载体号EID‖Er1 (dA‖H)‖有效期);

S63:验证数据,注册点用PKG的签名公钥验证sign1是否是Data5的签名值,如果验证失 败,则需重新向PKG发起生成密钥申请;

S64:将用户密钥发给用户,注册点根据用户名,用户标识ID,终端载体号EID将加密数 据Er1(dA‖H)‖有效期‖t)送入用户载体,用户载体内用r1解密Er1(dA‖H),并验证H是否是dA 的杂凑值。若通过,将私钥及有关数据存入安全区;反之,申请失败,需重新申请。

7.一种适用于SM9标识密码的用户密钥申请下载安全协议的系统,其特征在于:包括

注册单元:用户到注册点注册申请用户密钥;

审核单元:注册点审核用户申请材料注册点审核用户申请材料是否完备合规,若未通 过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;

发送单元:注册点生成并发送申请数据:根据用户申请材料向密钥生成中心KGC/PKG发 送申请数据包;

验证单元:PKG接收、解密、验证申请数据包,得到用户信息和注册点对称密钥;

生成单元:PKG生成并发送用户密钥;

接收单元:注册点接收与验证数据,并得到用户私钥密文。

说明书
技术领域

本发明涉及信息安全领域,特别涉及SM9标识密码中用户密钥的申请和下载。

标识密码是基于身份的密码技术,属于公钥密码,有别于传统的公钥密码,标识密 码中的用户公钥可以由用户姓名、手机号码等用户身份标识唯一确定,因此用户身份标识 可以看成用户公钥,从而不需要第三方来证明用户公钥的真实性。标识密码的这种特点使 它具有广阔的应用前景,如安全、电子证照、物联网等。国密算法SM9就是一种标识 密码算法,并且已正式成为ISO/IEC国际标准。SM9的用户公钥由用户身份标识确定,用户私 钥则需由密钥生成中心KGC中私钥生成器PKG生成,用户如何安全的得到用户私钥是关键问 题。

本发明的目的是为了用户能够安全申请和获取SM9的用户私钥,用于基于SM9标识 密码的基础设施的建设和系统应用。

为了实现上述目的,本发明公布了如下方案,本方案不涉及注册点和密钥生成中 心之间的身份认证:

1、一种适用于SM9标识密码的用户密钥申请下载安全协议的实现方法,其特征在 于:

S1、注册申请:用户到注册点注册申请用户密钥;

S2、注册审核:注册点审核用户申请材料注册点审核用户申请材料是否完备合规, 若未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;

S3、注册点生成并发送申请数据:根据用户申请材料向密钥生成中心KGC发送申请 数据包;

S4、PKG接收、解密、验证申请数据包,得到用户信息和注册点对称密钥;

S5、PKG生成并发送用户密钥;

S6、注册点接收与验证数据,并得到用户私钥密文。

上述步骤S1中所述注册点是为用户提供注册和密钥申请的场所;其中用户提交申 请材料,根据资料填写注册表,申请签发用户密钥。

所述步骤S3具体包括以下步骤:

S31:产生用户对称加密密钥r1:使用用户载体生成随机数r1,作为对称密钥,在用 户载体内部用PKG通信公钥P加密r1得到对称密钥的密文P(r1),将P(r1)从用户载体导出给 注册点。

所述用户载体为带有存储空间具有密码运算能力的硬件设备,例如智能密码钥 匙。

S32:产生申请数据Data1:注册点提取用户注册表中相关项数据,包括用户注册 码、用户标识ID、终端载体号EID,将这些数据和P(r1)组成Data1,Data1=(用户注册名‖用 户标识ID‖终端载体号EID‖P(r1))。

S33:产生申请数据Data2:注册点用自己的签名私钥对数据Data1做数字签名得到 签名值sign=SIGN(Data1),并生成数据包Data2,Data2=(Data1‖sign)=(用户注册名‖用 户标识ID‖终端载体号EID‖P(r1))‖sign)。

S34:产生注册点对称密钥r2:注册点生成随机数r2作为注册点的对称密钥,用PKG 通信公钥P加密r2,得到注册点的对称密钥密文P(r2)。

S35:产生申请数据Data3:注册点用对称密钥算法E和对称密钥r2对Data2加密,生 成数据包Data3,Data3=Er2(Data2)。

S36:产生并发送申请数据Data4:注册点将注册点对称密钥密文P(r2)和数据 Data3组成申请数据包Data4并发送给PKG,Data4=(P(r2)‖Data3)。

所述步骤S4具体包括以下步骤:

S41:解密获取注册点对称密钥r2:PKG收到申请数据Data4后,从中提取数据Data3 和注册点对称密钥密文P(r2),用PKG的通信私钥d解密P(r2),得到注册点对称密钥r2。

S42:解密获取数据Data2:PKG用对称密码算法和对称密钥r2解密数据包Data3,得 到Dr2(Data3)=Dr2(Er2(Data2))=Data2=(用户注册名‖用户标识ID‖终端载体号EID‖P (r1))‖sign)=(Data1||sign)。

S43:验证签名,PKG从Data2提取数据Data1和sign,并用注册点的签名公钥验证 sign是否是Data1的签名,验证失败则中断流程,并向注册点返回错误信息。

S44:解密获取用户对称密钥r1,PKG从Data1中提取用户对称密钥密文P(r1),用 PKG的通信私钥d解密P(r1),得到用户对称密钥r1。

所述步骤S5具体包括以下步骤:

S51:生成用户私钥,PKG根据用户身份标识ID和系统参数,为用户生成用户私钥 dA。

S52:加密用户私钥,PKG用杂凑函数计算dA的杂凑值H=Hash(dA),然后用对称密 码算法和用户对称密钥r1对dA和H加密,生成用户私钥密文Er1(dA‖H)。

S53:产生数据Data5和签名值sign1,PKG将用户信息和用户私钥密文、私钥有效期 组成数据包Data5=(用户注册名‖用户标识ID‖终端载体号EID‖Er1(dA‖H)‖有效期),并用 自己的签名私钥对Data5做数字签名得到签名值sign1。

S54:产生PKG对称密钥r3和数据Data6,PKG生成随机数r3,作为对称密钥,PKG用对 称密码算法和密钥r3对数据Data5、签名值sign1、和签发时间t等数据进行加密,生成 Data6,Data6=Er3(Data5‖sign1‖t)。

S55:产生并发送数据Data7,PKG用注册点的加密公钥对r3加密得到PKG对称密钥 密文P(r3),组成数据Data7=(P(r3)‖Data6),并将Data7发送给注册点。

所述步骤S6具体包括以下步骤:

S61:解密获取PKG对称密钥r3,注册点接收PKG发送来的数据Data7,从中提取PKG 对称密钥密文P(r3)和数据Data6,并用注册点解密私钥解密P(r3)得到PKG对称密钥r3。

S62:解密获取数据Data5,注册点用对称密码算法和对称密钥r3解密数据Data6, 得到D(Data6)=(Data5‖sign1‖t),其中Data5=(用户注册名‖用户标识ID‖终端载体号 EID‖Er1(dA‖H)‖有效期)。

S63:验证数据,注册点用PKG的签名公钥验证sign1是否是Data5的签名值,如果验 证失败,则需重新向PKG发起生成密钥申请。

S64:将用户密钥发给用户,注册点根据用户名,用户标识ID,终端载体号EID将把 加密数据Er1(dA‖H)‖有效期‖t)送入用户载体,用户载体内用r1解密Er1(dA‖H),并验证H是 否是dA的杂凑值。若通过,将私钥及有关数据存入安全区;反之,申请失败,需重新申请。

本发明还涉及一种系统,具体如下:一种适用于SM9标识密码的用户密钥申请下载 安全协议的系统包括:

注册单元:用户到注册点注册申请用户密钥;

审核单元:注册点审核用户申请材料注册点审核用户申请材料是否完备合规,若 未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;

发送单元:注册点生成并发送申请数据:根据用户申请材料向密钥生成中心KGC/ PKG发送申请数据包;

验证单元:PKG接收、解密、验证申请数据包,得到用户信息和注册点对称密钥;

生成单元:PKG生成并发送用户密钥;

接收单元:注册点接收与验证数据,并得到用户私钥密文。

本发明提供的适用于SM9标识密码的用户密钥申请下载安全协议的实现方法,用 户首先向注册点提交申请材料,注册点审核用户材料,审核通过后组织申请数据,包括用户 载体产生的对称密钥的密文、用户注册名、用户标识、终端载体号等,将这些数据进行签名 和加密,发送给密钥生成中心,密钥生成中心对收到的数据进行解密和验签,验证通过后, 根据用户标识为用户生成私钥,将用户对称密钥加密得到私钥密码密文,将私钥密文和属 性信息签名和加密后发送给注册点,注册点解密验证后将私钥密文和属性信息导入用户载 体,载体内解密并验证私钥的正确性。该协议保证了用户信息和用户密钥的机密性、真实 性、完整性和不可篡改性。

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施 例,并与说明书一起用于解释本发明的原理。

图1为本发明的安全协议概要流程图。

图2为本发明的安全协议流程图。

通过上述附图,已示出本发明明确的实施例,后文中将有更详细的描述。这些附图 和文字描述并不是为了通过任何方式限制本发明构思的范围,而是通过参考特定实施例为 本领域技术人员说明本发明的概念。

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本公开的一些方面相一致的方法和设备的例子。

本发明的说明书和权利要求书及所述附图中的术语“第一”、第二”等是用于区别 不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图 在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没 有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包 括对于这些过程、方法、产品或设备固有的其它步骤或单元。

以下将结合附图和实施例对本发明做进一步的说明,但不应以此来限制本发明的 保护范围。

参照附图来说明具有根据如上所述的本发明安全协议申请过程的技术思想的优 选实施例。

图1为安全协议概要流程图,图2为安全协议流程图。

一种适用于SM9标识密码的用户密钥申请下载安全协议的具体实现流程如下:

S1、注册申请,用户到注册点注册申请用户密钥,注册点是为用户提供注册和密钥 申请的场所。用户提交申请材料,根据资料填写注册表,申请签发用户密钥。

S2、注册审核,注册点审核用户申请材料。注册点审核用户申请材料是否完备合 规,若未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续做下面的密钥 申请流程。

S3、注册点生成并发送申请数据,根据用户申请材料向密钥生成中心KGC/PKG发送 申请数据,包括下述步骤。

S31:产生用户对称加密密钥r1,使用用户载体生成随机数r1,作为对称密钥,在用 户载体内部用PKG通信公钥P加密r1得到对称密钥的密文P(r1),将P(r1)从用户载体导出给 注册点。用户载体为带有存储空间具有密码运算能力的硬件设备,如智能密码钥匙。

S32:产生申请数据Data1,注册点提取用户注册表中相关项数据,包括用户注册 码、用户标识ID、终端载体号EID,将这些数据和P(r1)组成Data1,Data1=(用户注册名‖用 户标识ID‖终端载体号EID‖P(r1))。

S33:产生申请数据Data2,注册点用自己的签名私钥对数据Data1做数字签名得到 签名值sign=SIGN(Data1),并生成数据包Data2,Data2=(Data1‖sign)=(用户注册名‖用 户标识ID‖终端载体号EID‖P(r1))‖sign)。

S34:产生注册点对称密钥r2,注册点生成随机数r2作为注册点的对称密钥,用PKG 通信公钥P加密r2,得到注册点的对称密钥密文P(r2)。

S35:产生申请数据Data3,注册点用对称密钥算法E和对称密钥r2对Data2加密,生 成数据包Data3,Data3=Er2(Data2)。

S36:产生并发送申请数据Data4,注册点将注册点对称密钥密文P(r2)和数据 Data3组成申请数据包Data4并发送给PKG,Data4=(P(r2)‖Data3)。

S4、PKG接收、解密、验证申请数据包,得到用户信息和注册点对称密钥,步骤如下:

S41:解密获取注册点对称密钥r2。PKG收到申请数据Data4后,从中提取数据Data3 和注册点对称密钥密文P(r2),用PKG的通信私钥d解密P(r2),得到注册点对称密钥r2。

S42:解密获取数据Data2,PKG用对称密码算法和对称密钥r2解密数据包Data3,得 到Dr2(Data3)=Dr2(Er2(Data2))=Data2=(用户注册名‖用户标识ID‖终端载体号EID‖P (r1))‖sign)=(Data1||sign)。

S43:验证签名,PKG从Data2提取数据Data1和sign,并用注册点的签名公钥验证 sign是否是Data1的签名,验证失败则中断流程,并向注册点返回错误信息。

S44:解密获取用户对称密钥r1,PKG从Data1中提取用户对称密钥密文P(r1),用 PKG的通信私钥d解密P(r1),得到用户对称密钥r1。

S5、PKG生成并发送用户密钥,步骤如下

S51:生成用户私钥,PKG根据用户身份标识ID和系统参数,为用户生成用户私钥 dA。

S52:加密用户私钥,PKG用杂凑函数计算dA的杂凑值H=Hash(dA),然后用对称密 码算法和用户对称密钥r1对dA和H加密,生成用户私钥密文Er1(dA‖H)。

S53:产生数据Data5和签名值sign1,PKG将用户信息和用户私钥密文、私钥有效期 组成数据包Data5=(用户注册名‖用户标识ID‖终端载体号EID‖Er1(dA‖H)‖有效期),并用 自己的签名私钥对Data5做数字签名得到签名值sign1。

S54:产生PKG对称密钥r3和数据Data6,PKG生成随机数r3,作为对称密钥,PKG用对 称密码算法和密钥r3对数据Data5、签名值sign1、和签发时间t等数据进行加密,生成 Data6,Data6=Er3(Data5‖sign1‖t)。

S55:产生并发送数据Data7,PKG用注册点的加密公钥对r3加密得到PKG对称密钥 密文P(r3),组成数据Data7=(P(r3)‖Data6),并将Data7发送给注册点。

S6、注册点接收与验证数据,并得到用户私钥密文,步骤如下:

S61:解密获取PKG对称密钥r3,注册点接收PKG发送来的数据Data7,从中提取PKG 对称密钥密文P(r3)和数据Data6,并用注册点解密私钥解密P(r3)得到PKG对称密钥r3。

S62:解密获取数据Data5,注册点用对称密码算法和对称密钥r3解密数据Data6, 得到D(Data6)=(Data5‖sign1‖t),其中Data5=(用户注册名‖用户标识ID‖终端载体号 EID‖Er1(dA‖H)‖有效期)。

S63:验证数据,注册点用PKG的签名公钥验证sign1是否是Data5的签名值,如果验 证失败,则需重新向PKG发起生成密钥申请。

S64:将用户密钥发给用户,注册点根据用户名,用户标识ID,终端载体号EID将把 加密数据Er1(dA‖H)‖有效期‖t)送入用户载体,用户载体内用r1解密Er1(dA‖H),并验证H是 否是dA的杂凑值。若通过,将私钥及有关数据存入安全区;反之,申请失败,需重新申请。

本申请的一种适用于SM9标识密码的用户密钥申请下载安全协议的系统,包括:

注册单元:用户到注册点注册申请用户密钥;

审核单元:注册点审核用户申请材料注册点审核用户申请材料是否完备合规,若 未通过审核,则中断操作,由用户进一步补充材料;若通过审核,则继续;

发送单元:注册点生成并发送申请数据:根据用户申请材料向密钥生成中心KGC/ PKG发送申请数据包;

验证单元:PKG接收、解密、验证申请数据包,得到用户信息和注册点对称密钥;

生成单元:PKG生成并发送用户密钥;

接收单元:注册点接收与验证数据,并得到用户私钥密文。

根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方 式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的 一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用 了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。

本文发布于:2023-04-12 23:04:13,感谢您对本站的认可!

本文链接:https://patent.en369.cn/patent/3/85641.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 369专利查询检索平台 豫ICP备2021025688号-20 网站地图