本发明涉及通信技术领域,具体涉及一种ikev2协商使用量子密钥的方法。
背景技术:
ipsec(internetprotocolsecurity因特网协议安全)是一种开放标准的框架结构,通过使用加密的安全服务以确保在ip网络上进行保密而安全的通讯。ike(internetkeyexchange)是ipsec体系结构中的一种主要协议,ipsec通过ike协议交换和管理在vpn中使用的加密密钥。ike有v1和v2两个版本。ikev1为早期版本。ikev2简化了安全联盟的协商过程,主要通过初始交换和创建子sa交换完成协商过程,并且增加了安全特性和扩展性。ikev2初始使用2次交换,分别是ike_sa_init交换和ike_auth交换,完成一个ikesa和一对ipsecsa的协商,然后通过create_child_sa交换实现ikesa和ipsecsa的密钥更新。ikev1和ikev2的密钥交换都是基于diffie-hellman算法实现的,diffie-hellman算法的安全性是建立在计算大素数离散对数的困难性这一基础上的。随着计算机性能的不断提升,人们开始担心任何基于数学难题的加密算法,终有被破解的一天。目前有一种新技术不以来数学难题,而依赖于物理学原理,这就是量子密钥分发(qkd:quantumkeydistribution)协议,qkd以量子作为信息的载体,经量子信道传输,在合法的用户之间建立共享密钥。bb84协议是qkd协议中的一个,它通过光的偏振的物理学特性,满足量子学的测不准原理和不可克隆定律,一旦量子信道被监听,就会触发物理定律,从而被发现,保证了量子密钥分发的无条件安全。
技术实现要素:
本发明提出的一种ikev2协商使用量子密钥的方法,可解决现有的网络加密方法容易被破解不够安全的技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种ikev2协商使用量子密钥的方法,包括:
在ikev2协商基础上,增加或修改以下步骤:
1)发起方和响应方采用量子密钥分发协议qkd,产生量子密钥qk,用qk替代或结合diffie-hellman密钥交换产生的共享密钥g^ir;
2)使用量子密钥票据qkt,唯一标识本次产生qk;
3)发起方和响应方采用ikev2协议进行密钥交换,新增qkt载荷,由发起方发给响应方;
4)对于ikev2初始交换产生基础密钥材料skeyseed及工作密钥的计算方法如下:
skeyseed=prf(ni|nr,qk[|g^ir])
然后产生7种工作密钥:
{sk_d|sk_ai|sk_ar|sk_ei|sk_er|sk_pi|sk_pr}=prf+(skeyseed,ni|nr|spii|spir)
说明:
[|g^ir]为可选项,g^ir表示diffie-hellman的ke密钥交换产生的共享密钥。若采用量子密钥qk替代diffie-hellman的ke密钥交换方式时,[|g^ir]不参与计算;
sk_d:d代表deriving,为派生密钥;
sk_a:a代表authenticating,为认证密钥;
sk_e:e代表encrypting,为加密密钥;
sk_p:p代表payload,生成auth有效负载时使用的密钥;
i:代表发起方;
r:代表响应方;
上述生成的ikesa的7种工作密钥,由量子密钥qk等参数推导得到,从而使得ikev2协商阶段的加密因使用了量子密钥而提高了安全性;
5)对于ikev2初始交换生成的sa的密钥材料keymat的计算方法如下:
keymat=prf+(sk_d,ni|nr)
keymat可分为两部,第一部分用于ipsecsa的加密密钥,另一部分用于认证密钥。它们使用了量子密钥qk等参数间接推导得到,从而使得ipsec隧道报文的加密因使用了量子密钥而提高了安全性。
6)创建子sa时,发起方重新产生一个的量子密钥qk(new)和量子票据qkt(new),然后进行create_child_sa交换;
7)create_child_sa交换生成密钥材料keymat的计算方法如下:
keymat=prf+(sk_d,qk(new)[|g^ir(new)]|ni|nr)
[|g^ir(new)]为可选项,g^ir(new)表示创建子sa时diffie-hellman的ke密钥交换产生的共享密钥;若采用量子密钥qk替代diffie-hellman的ke密钥交换方式时,[|g^ir(new)]不参与计算。
keymat可分为两部,第一部分用于ipsecsa的加密密钥,另一部分用于认证密钥。
创建的子sa可用于ike密钥更新和ipsec加密和认证,它使用了量子密钥等参数推导得到,从而使得ike密钥更新和ipsec隧道报文的加密因使用了量子密钥而提高了安全性。
进一步的,ikev2的初始交换采用以下步骤:
第一对消息,即ike_sa_init交换,进行协商加密算法,传递量子票据,交换nonce,可选做一个diffie-hellman的ke密钥交换,具体的消息内容为:发起方发送hdr,sai1,qkt,[kei,]ni;响应方发送hdr,sar1,[ker,]nr,[certreq]。
第二对消息,即ike_auth交换,验证前一对消息,交换身份和证书,并建立第一个子sa,消息内容用sk_e密钥加密,用sk_a密钥认证,具体的消息内容为:发起方发送hdr,sk{idi,[cert,][certreq,][idr,]auth,sai2,tsi,tsr};响应方发送hdr,sk{idr,[cert,]auth,sar2,tsi,tsr}。
qkt为发起方通过qkd密钥分发协议产生量子密钥qk对应的量子票据,作为ike载荷发给响应方。响应方使用qkt向量子qkd设备请求得到qk。
[kei,]、[ker,]为可选项,ke表示diffie-hellman密钥交换时的ke载荷,i和r分别代表发起方和响应方。采用量子密钥qk替代diffie-hellman密钥交换方式,交换过程中不携带ke载荷。
进一步的,create_child_sa交换可用于创建新的子sa、ikesa的密钥更新、子sa的密钥更新,分别采用以下步骤:
创建新的子sa的消息内容用sk_e密钥加密,用sk_a密钥认证,发起方发送hdr,sk{sa,ni,qkt(new),[kei,]tsi,tsr};响应方发送hdr,sk{sa,nr,[ker,]tsi,tsr}。
ikesa的密钥更新的消息内容用sk_e密钥加密,用sk_a密钥认证,发起方发送hdr,sk{sa,ni,qkt(new),[kei]};响应方发送hdr,sk{sa,nr,[ker]}。
子sa的密钥更新消息内容用sk_e密钥加密,用sk_a密钥认证,发起方发送hdr,sk{n(rekey_sa),sa,ni,qkt(new),[kei,]tsi,tsr};响应方发送hdr,sk{sa,nr,[ker,]tsi,tsr}。
由上述技术方案可知,本发明提供的ikev2协商使用量子密钥的方法具有如下有益效果:使传统的ipsec技术能够在ikev2协商阶段时使用量子密钥生成ikesa和childsa,协商阶段的加密和隧道报文的加密因使用了量子密钥而提高了安全性。
附图说明
图1是本发明方法的流程示意图;
图2是本发明的网络拓扑图;
图3是新增量子票据载荷的报文格式;
图4是ike_sa_init交换示意图;
图5是ike_auth交换示意图;
图6是create_child_sa交换——创建新的子sa示意图;
图7是create_child_sa交换——ikesa的密钥更新示意图
图8是create_child_sa交换——子sa的密钥更新示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
如图1所示,本实施例所述的ikev2协商使用量子密钥的方法,采用ikev2预共享密钥方式,使用量子密钥建立ipesc隧道,主要步骤如下:
s100、发起方和响应方采用量子密钥分发协议qkd,产生量子密钥qk,用qk替代或结合diffie-hellman密钥交换产生的共享密钥g^ir;
s200、使用量子密钥票据qkt,唯一标识本次产生量子密钥qk;
s300、发起方和响应方采用ikev2协议进行密钥交换,新增qkt载荷,由发起方发给响应方;
s400、对于ikev2初始交换计算产生基础密钥材料skeyseed及工作密钥;
s500、对于ikev2初始交换进行计算生成的sa的密钥材料keymat;
s600、创建子sa时,发起方重新产生一个的量子密钥qk(new)和量子票据qkt(new),然后进行create_child_sa交换;
s700、create_child_sa交换生成密钥材料keymat。
以下结合图2-图8详细说明:
步骤1:在两个加密设备之间建立ipsec隧道,详细步骤为:在两个加密设备之间配置ipsec隧道参数,包括:
1)配置设备的ip地址和路由;
2)配置ike参数,采用ikev2版本,使用预共享密钥身份认证方式,并配置预共享密钥;
3)配置ipsec的加密算法为sm4,认证算法为sm3;
4)配置量子密钥输出协议,并与量子qkd设备完成协商;
5)采用量子密钥qk替代diffie-hellman密钥交换方式。
步骤2:发起方通过量子密钥输出协议,从量子qkd设备获取量子密钥qk及密钥票据qkt;
步骤3:发起方和响应方采用ikev2版本,通过2个交互消息完成ike_sa_init交换:
1)发起方发送一个带有sai1,qkt,ni载荷的消息;
2)响应方回应一个带有sar1,nr载荷的消息。由于采用量子密钥qk替代diffie-hellman密钥交换方式,ike_sa_init交换中未携带ke载荷。通过ike_sa_init交换,产生基础密钥材料skeyseed及工作密钥,其计算方法如下:
skeyseed=prf(ni|nr,qk)
然后产生7种工作密钥:
{sk_d|sk_ai|sk_ar|sk_ei|sk_er|sk_pi|sk_pr}=prf+(skeyseed,ni|nr|spii|spir)
上述生成的ikesa的7种工作密钥,由qk等参数推导得到,从而使得ikev2协商阶段的加密因使用了量子密钥而提高了安全性。
步骤4:发起方和响应方采用ikev2版本,通过2个交互消息完成ike_auth交换:
1)发起方发送一个加密和认证的,带有idi,auth,sai2,tsi,tsr载荷的消息;
2)响应方回应一个加密和认证的,带有idr,auth,sar2,tsi,tsr载荷的消息。认证交换的加密密钥和认证密钥分别采用步骤3中的sk_e和sk_a,这2个密钥通过量子密钥qk等参数推导得到,使得ikev2的ike_auth交换过程因使用了量子密钥而提高了安全性。
步骤5:发起方和响应方采用以下方法计算第一个子sa,即ipsecsa的密钥材料keymat以及ipsec的加密密钥和认证密钥:
keymat=prf+(sk_d,ni|nr)
keymat可分为两部,第一部分用于ipsecsa的加密密钥,另一部分用于认证密钥。它们使用了量子密钥等参数间接推导得到,从而使得ipsec隧道报文的加密因使用了量子密钥而提高了安全性。
步骤6:ipsecsa密钥更新时,发起方从量子qkd设备获取新的量子密钥qk(new)及新的密钥票据qkt(new);
步骤7:ipsecsa密钥更新时,通过2个交互消息完成create_child_sa交换:
1)发起方发送一个加密和认证的,带有n(rekey_sa),sa,ni,qkt(new),tsi,tsr载荷的消息;
2)响应方回应一个加密和认证的,带有sa,nr,tsi,tsr载荷的消息。由于采用量子密钥qk替代diffie-hellman密钥交换方式,create_child_sa交换中未携带ke载荷。create_child_sa交换的加密密钥和认证密钥分别采用步骤3中的sk_e和sk_a,这2个密钥通过量子密钥qk等参数推导得到,使得ikev2的create_child_sa交换过程因使用了量子密钥而提高了安全性。
步骤8:发起方和响应方采用以下方法计算ipsecsa的密钥材料keymat以及加密密钥和认证密钥:
keymat=prf+(sk_d,qk(new)|ni|nr)
keymat可分为两部,第一部分用于ipsecsa的加密密钥,另一部分用于认证密钥。它们使用了量子密钥等参数推导得到,从而使得ipsec隧道密钥更新后的报文加密因使用了量子密钥而提高了安全性。
使用本实施例提供的一种ikev2协商使用量子密钥的方法具有如下有益效果:可以结合新型的量子加密技术,使传统的ipsec技术能够在ikev2协商阶段时使用量子密钥,提高网络的安全性。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。