一种基于国密算法的预共享密钥的身份鉴别方法技术

技术编号:14123247 阅读:311 留言:0更新日期:2016-12-09 09:34
本发明专利技术涉及一种加密方法,尤其涉及了一种使用国密算法做IPSEC VPN时,使用基于国密算法的预共享密钥的方法。本发明专利技术能够在IPSEC VPN中实现一种简单的、易于部署的基于国密算法的预共享密钥的身份鉴别,特别是在一些不具备部署国密CA系统的小型网络中,能完整的使用国密算法部署IPSEC VPN。

【技术实现步骤摘要】

本专利技术涉及一种加密方法,尤其涉及了一种基于国密算法的预共享密钥的身份鉴别方法。技术背景目前国家保密局处于对通讯安全的考虑,发布了一系列国密算法,包括对称算法SM1和SM4,非对称算法SM2,密码杂凑算法SM3,分别用于替代国际标准上美国提出的AES/3DES、RSA、SHA-1/MD5等算法。国密局还提出了支持国密算法的数字证书、CA系统、IPSec VPN等的中国密码行业标准。国际标准IPSec协议中,使用IKE协议协商,支持预共享密钥和数字证书两种身份鉴别方式。预共享密钥身份鉴别方式使用起来比较简单,双方各自设置一个相同口令作为预共享密钥,用来表征双方身份;数字证书方式需要依赖CA系统,制作双方表征身份的数字证书。国密算法的IPSec VPN中国行业标准中,只描述了使用数字证书作为身份鉴别的方法,而数字证书身份鉴别方式依赖于国密算法CA系统。在一些不具备部署CA系统的小型网络中,则只能使用预共享密钥方式时。而预共享密钥方式是建立在Diffie-Hellman密钥交换算法基础上的,这个算法不属于国密算法,于是在国密算法的体系下的IPSEC VPN实现方式上,缺少一种预共享密钥身份鉴别方法。
技术实现思路
本专利技术的目的就是实现一种简单的、易于部署的基于国密算法的预共享密钥的身份鉴别方法。为了解决上述技术问题,本专利技术通过下述技术方案得以解决:一种基于国密算法的预共享密钥的身份鉴别方法,包括以下步骤:步骤1:通信双方发起者A和响应者B事先约定好一个预共享密钥PSK;步骤2:通信双方采用IKE协议进行安全协商、密钥交换,算法采用国密算法;步骤3:在IKE协商第一阶段采用主模式协商,交互消息1和消息2中,发起者A和响应者B互相协商一个安全联盟载荷SA;步骤4:发起者A和响应者B各产生一个128-bit的随机数rA和rB;步骤5:根据SM2椭圆曲线公钥密码算法,发起者A和响应者B分别计算椭圆曲线上的点RA=[rA]G,RB=[rB]G;步骤6:在IKE协商第一阶段交互消息3和消息4中,将RA和RB作为密钥交换载荷KE_I和KE_R互相交换,互相交换Nonce载荷Ni和Nr;步骤7:发起者A计算KA=[rA]RB,响应者B计算KB=[rB]RA,根据椭圆曲线计算规则:KA=[rA]RB=[rA∙ rB]G=[rB∙ rA]G =[rB]RA=KB,所以KA、KB相同,作为第一阶段的公共密钥K(K= KA=KB);步骤8:使用预共享密钥PSK,推导出衍生密钥SKEYID,用于交换鉴别数据,实现身份认证:SKEYID = prf(PSK, Ni_b | Nr_b)prf(key, msg)是key的伪随机函数——通常是key的hash函数,hash算法采用SM3算法;步骤9:按如下方法计算后续密钥:衍生密钥SKEYID_d = prf(SKEYID, K | CKY-I | CKY-R | 0)认证密钥SKEYID_a = prf(SKEYID, SKEYID_d | K | CKY-I | CKY-R | 1)加密密钥SKEYID_e = prf(SKEYID, SKEYID_a | K | CKY-I | CKY-R | 2)步骤10:在IKE协商第一阶段交互消息5和消息6中,通信双方鉴别前面的交互过程,交换鉴别数据HASH_I和HASH_R。这个消息使用SKEYID_e作为对称密码加密,算法采用SM1或SM4,模式采用CBC模式,IV=HASH(rA | rB)HASH_I = prf(SKEYID, CKY-I | CKY-R | SAi_b | IDii_b )HASH_R = prf(SKEYID, CKY-R | CKY-I | SAi_b | IDir_b )步骤11:至此,IKE第一阶段协商,采用基于国密算法预共享密钥身份鉴别,后续按照国密算法标准规定的步骤进行第二阶段的协商。本专利技术由于采用了以上技术方案,具有显著的技术效果:本专利技术基于这种方法,能够在IPSEC VPN中实现一种简单的、易于部署的基于国密算法的预共享密钥的身份鉴别方法,特别是在一些不具备部署国密CA系统的小型网络中,能完整的使用国密算法部署IPSEC VPN。附图说明:为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要的附图作简单地介绍。图1是本专利技术的网络拓扑图;图2是IKE协商第一阶段,采用主模式时,基于国密算法的预共享密钥身份验证的协商过程;图3是IKE协商第一阶段,采用积极模式时,基于国密算法的预共享密钥身份验证的协商过程。具体实施方式:下面结合实施例对本专利技术做进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。实施例1:本专利技术系统组成,如图1所示,由路由器A与路由器B组成的网络,路由器A和路由器B之间建立IPSEC隧道,使用IKE协议协商安全联盟、密钥交换,算法采用国密算法,IKE第一阶段采用主模式。一种基于国密算法的预共享密钥的身份鉴别方法,包括以下步骤:步骤1:通信双方发起者A和响应者B事先约定好一个预共享密钥PSK;步骤2:通信双方采用IKE协议进行安全协商、密钥交换,算法采用国密算法;步骤3:在IKE协商第一阶段的交互消息1和消息2中,发起者A和响应者B互相协商一个安全联盟载荷SA;步骤4:发起者A和响应者B各产生一个128-bit的随机数rA和rB,例如rA = 3945208F 7B2144B1 3F36E38A C6D39F95 88939369 2860B51A 42FB81EF 4DF7C5B8rB= 59276E27 D506861A 16680F3A D9C02DCC EF3CC1FA 3CDBE4CE 6D54B80D EAC1BC21步骤5:根据SM2椭圆曲线公钥密码算法,发起者A和响应者B分别计算椭圆曲线上的点RA=[rA]G,RB=[rB]G,例如RA = 09F9DF31 1E5421A1 50DD7D16 1E4BC5C6 72179FAD 1833FC07 6BB08FF3 56F35020CCEA490C E26775A5 2DC6EA71 8CC1AA60 0AED05FB F35E084A 6632F607 2DA9AD13RB = 04EBFC71 8E8D1798 62043226 8E77FEB6 415E2EDE 0E073C0F 4F640ECD 2E149A73 E858F9D8 1E5430A5 7B36DAAB 8F950A3C 64E6EE6A 63094D99 283AFF76 7E124DF0步骤6:在IKE协商第一阶段交互消息3和消息4中,将RA和RB作为密钥交换载荷KE_I和KE_R互相交换,互相交换Nonce载荷Ni和Nr;步骤7:发起者A计算KA=[rA]RB,响应者B计算KB=[rB]RA,根据椭圆曲线计算规则:KA=[rA]RB=[rA∙ rB]G=[rB∙ rA]G =[rB]RA=KB,所以KA、KB相同,作为第一阶段的公共密钥K(K= KA=KB),例如KA = 335E18D7 51E51F04 0E27D468 138B7AB1 DC86AD7F 981D7D4本文档来自技高网...
一种基于国密算法的预共享密钥的身份鉴别方法

【技术保护点】
一种基于国密算法的预共享密钥的身份鉴别方法,其特征在于包括以下步骤:步骤1:通信双方发起者A和响应者B事先约定好一个预共享密钥PSK;步骤2:通信双方采用IKE协议进行安全协商、密钥交换,算法采用国密算法;步骤3:在IKE协商第一阶段采用主模式协商,交互消息1和消息2中,发起者A和响应者B互相协商一个安全联盟载荷SA;步骤4:发起者A和响应者B各产生一个128‑bit的随机数rA和rB;步骤5:根据SM2椭圆曲线公钥密码算法,发起者A和响应者B分别计算椭圆曲线上的点RA=[rA]G,RB=[rB]G;步骤6:在IKE协商第一阶段交互消息3和消息4中,将RA和RB作为密钥交换载荷KE_I和KE_R互相交换,并且互相交换Nonce载荷Ni和Nr;步骤7:发起者A计算KA=[rA]RB,响应者B计算KB=[rB]RA,根据椭圆曲线计算规则:KA=[rA]RB=[rA∙ rB]G=[rB∙ rA]G =[rB]RA=KB,所以KA、KB相同,作为第一阶段的公共密钥K(K= KA=KB);步骤8:使用预共享密钥PSK,推导出衍生密钥SKEYID,用于交换鉴别数据,实现身份认证:SKEYID = prf(PSK, Ni_b | Nr_b)prf(key, msg)是key的伪随机函数——通常是key的hash函数,hash算法采用SM3算法;步骤9:按如下方法计算后续密钥:衍生密钥SKEYID_d = prf(SKEYID, K | CKY‑I | CKY‑R | 0)认证密钥SKEYID_a = prf(SKEYID, SKEYID_d | K | CKY‑I | CKY‑R | 1)加密密钥SKEYID_e = prf(SKEYID, SKEYID_a | K | CKY‑I | CKY‑R | 2)步骤10:在IKE协商第一阶段交互消息5和消息6中,通信双方鉴别前面的交互过程,交换鉴别数据HASH_I和HASH_R。...

【技术特征摘要】
1.一种基于国密算法的预共享密钥的身份鉴别方法,其特征在于包括以下步骤:步骤1:通信双方发起者A和响应者B事先约定好一个预共享密钥PSK;步骤2:通信双方采用IKE协议进行安全协商、密钥交换,算法采用国密算法;步骤3:在IKE协商第一阶段采用主模式协商,交互消息1和消息2中,发起者A和响应者B互相协商一个安全联盟载荷SA;步骤4:发起者A和响应者B各产生一个128-bit的随机数rA和rB;步骤5:根据SM2椭圆曲线公钥密码算法,发起者A和响应者B分别计算椭圆曲线上的点RA=[rA]G,RB=[rB]G;步骤6:在IKE协商第一阶段交互消息3和消息4中,将RA和RB作为密钥交换载荷KE_I和KE_R互相交换,并且互相交换Nonce载荷Ni和Nr;步骤7:发起者A计算KA=[rA]RB,响应者B计算KB=[rB]RA,根据椭圆曲线计算规则:KA=[rA]RB=[rA∙ rB]G=[rB∙ rA]G =[rB]RA=KB,所以KA、KB相同,作为第一阶段的公共密钥K(K= KA=KB);步骤8:使用预共享密钥PSK,推导出衍生密钥SKEYID,用于交换鉴别数据,实现身份认证:SKEYID = prf(PSK, Ni_b | Nr_b)prf(key, msg)是key的伪随机函数——通常是key的hash函数,hash算法采用SM3算法;步骤9:按如下方法计算后续密钥:衍生密钥SKEYID_d = prf(SKEYID, K | CKY-I | CKY-R | 0)认证密钥SKEYID_a = prf(SKEYID, SKEYID_d | K ...

【专利技术属性】
技术研发人员:林晨
申请(专利权)人:安徽皖通邮电股份有限公司
类型:发明
国别省市:安徽;34

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

1