CN111130775A - 一种密钥协商方法、装置及设备 - Google Patents
一种密钥协商方法、装置及设备 Download PDFInfo
- Publication number
- CN111130775A CN111130775A CN201911382702.XA CN201911382702A CN111130775A CN 111130775 A CN111130775 A CN 111130775A CN 201911382702 A CN201911382702 A CN 201911382702A CN 111130775 A CN111130775 A CN 111130775A
- Authority
- CN
- China
- Prior art keywords
- responder
- initiator
- key
- load
- cryptographic algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种密钥协商方法、装置及设备,方法包括:第一阶段协商和第二阶段协商;第一阶段协商中,发起方通过安全联盟载荷与响应方协商,得到第一密码算法;然后发起方和响应方通过采用第一密码算法以及双方交互,得到双方进行通信的工作密钥;第二阶段协商中,发起方将第一杂凑载荷发送至响应方,使得响应方返回第二杂凑载荷;发起方根据第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至响应方,使得响应方计算第二会话密钥,同时,判断验证杂凑载荷与第一杂凑载荷是否一致。本申请解决了现有技术计算密钥过程复杂导致通信双方之间协商耗时较长的同时安全性较差的技术问题。
Description
技术领域
本申请涉及数据安全技术领域,尤其涉及一种密钥协商方法、装置及设备。
背景技术
密钥协商是一种密钥建立技术,***中的两个或多个参与方共同提供信息,各自推导出一个任何一方不能预先确定结果的共享密钥,特别是随着通信环境的日益复杂、信息技术的不断发展和计算能力的不断提高,通信环境中的攻击手段也不断发展,使得很多密钥协商方法都存在不同程度的挑战。
现有技术计算密钥过程复杂,导致通信双方之间的协商耗时较长,且存在密钥安全性较差,易造成业务数据信息被泄露或恶意篡改的问题。
发明内容
本申请提供了一种密钥协商方法、装置及设备,用于解决现有技术计算密钥过程复杂导致通信双方之间的协商耗时较长的同时安全性也较差的技术问题。
有鉴于此,本申请第一方面提供了一种密钥协商方法,包括:第一阶段协商和第二阶段协商;
所述第一阶段协商包括:
A1:发起方通过安全联盟载荷与响应方协商,得到第一密码算法,所述安全联盟载荷包括相关密码算法建议;
A2:所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方将采用所述第一密码算法计算得到的响应方密钥标识返回至所述发起方,并计算出所述发起方和所述响应方进行通信的第一工作密钥;
A3:所述发起方根据所述响应方密钥标识计算所述发起方和所述响应方进行通信的第二工作密钥;
所述第二阶段协商包括:
S1:所述发起方将第一杂凑载荷发送至所述响应方,使得所述响应方返回第二杂凑载荷,所述第一杂凑载荷包括所述第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,所述第二杂凑载荷包括所述第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟;
S2:所述发起方根据所述第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至所述响应方,使得所述响应方计算第二会话密钥,同时,判断所述验证杂凑载荷与所述第一杂凑载荷是否一致。
优选地,所述第一密码算法包括至少一种密码算法。
优选地,所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方通过密钥管理***验证所述发起方证书的准确性。
优选地,步骤A3之后还包括:
A4:所述发起方将采用第二密码算法计算得到的验证交换数据通过第三密码算法加密后发送至所述响应方,使得所述响应方将作出解析、验证后的结果发送至所述发起方。
优选地,步骤A1之前还包括:
A0:所述发起方检测所述响应方是否支持NAT-T,使得所述响应方根据接收到的检测结果调整端口类型。
本申请第二方面提供了一种密钥协商装置,包括:第一阶段协商模块和第二阶段协商模块;
所述第一阶段协商模块包括:
算法协商模块,用于发起方通过安全联盟载荷与响应方协商,得到第一密码算法,所述安全联盟载荷包括相关密码算法建议;
第一交互模块,用于所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方将采用所述第一密码算法计算得到的响应方密钥标识返回至所述发起方,并计算出所述发起方和所述响应方进行通信的第一工作密钥;
第一计算模块,用于所述发起方根据所述响应方密钥标识计算所述发起方和所述响应方进行通信的第二工作密钥;
所述第二阶段协商模块包括:
第二交互模块,用于所述发起方将第一杂凑载荷发送至所述响应方,使得所述响应方返回第二杂凑载荷,所述第一杂凑载荷包括所述第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,所述第二杂凑载荷包括所述第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟;
第二计算模块,用于所述发起方根据所述第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至所述响应方,使得所述响应方计算第二会话密钥,同时,判断所述验证杂凑载荷与所述第一杂凑载荷是否一致。
优选地,所述第一交互模块还包括:
第一验证模块,用于所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方通过密钥管理***验证所述发起方证书的准确性。
优选地,所述第一计算模块之后还包括:
第二验证模块,用于所述发起方将采用第二密码算法计算得到的验证交换数据通过第三密码算法加密后发送至所述响应方,使得所述响应方将作出解析、验证后的结果发送至所述发起方。
优选地,还包括:
检测模块,用于所述发起方检测所述响应方是否支持NAT-T,使得所述响应方根据接收到的检测结果调整端口类型。
本申请第二方面提供了一种密钥协商设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行第一方面提供的任一种所述的密钥协商方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请中,提供了一种密钥协商方法,包括:第一阶段协商,第二阶段协商;第一阶段协商包括:发起方根据包括密码算法建议的安全联盟载荷与响应方协商,得到第一密码算法;发起方将采用第一密码算法计算得到的发起方密钥标识和发起方证书发送至响应方,使得响应方将采用第一密码算法计算得到的响应方密钥标识返回至发起方,并计算出发起方和响应方进行通信的第一工作密钥;发起方根据响应方密钥标识计算发起方和响应方进行通信的第二工作密钥;第二阶段协商包括:发起方将第一杂凑载荷发送至响应方,使得响应方返回第二杂凑载荷,第一杂凑载荷包括第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,第二杂凑载荷包括第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟;发起方根据第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至响应方,使得响应方计算第二会话密钥,同时,判断验证杂凑载荷与第一杂凑载荷是否一致。
本申请提供的密钥协商方法,将整个协商过程分为两个阶段,第一阶段协商中,根据发起方和响应方进行通信的协商确定第一密码算法,然后发起方根据第一密码算法加密自身的密钥标识,将加密后的密钥标识载荷与自身的相关证书一并发送至响应方进行解析,使得响应方也根据第一密码算法进行自身密钥标识的加密操作,并将加密后的密钥标识载荷发送至发起方,同时,响应方会根据获得发起方密钥标识和发起方证书计算出发起方和响应方进行通信的第一工作密钥;在接收到响应方密钥标识和响应方证书后,发起方同样可以求得发起方和响应方进行通信的第二工作密钥;在这一阶段协商以及计算操作是为了求得双方的工作密钥,用于保护通信双方会话密钥的协商过程,实现双方的身份确认和密钥协商;第二阶段协商是为了检验数据的完整性和数据源的身份;双方通过杂凑载荷进行交互协商,求取双方的会话密钥,并且需要采用杂凑载荷对协商交换的杂凑数据进行验证从而确保通信前后的响应方没有更改,两个阶段的协商均缺一不可,通过密钥协商,算法协商以及安全联盟载荷确保了通信双方协商过程中的安全性,协商的交互过程较为简单,并未涉及到双方需要进行繁杂的计算或者操作动作。因此,本申请解决了现有技术计算密钥过程复杂导致通信双方之间协商耗时较长问题的同时,也解决了安全性较差的技术问题。
附图说明
图1为本申请提供的一种密钥协商方法的实施例一的流程示意图;
图2为本申请提供的一种密钥协商方法的实施例二的流程示意图;
图3为本申请提供的一种密钥协商装置的实施例的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
术语解释:
工作密钥:密钥协商第一阶段得到的密钥,用于会话密钥协商过程的保护。
会话密钥:密钥协商第二阶段得到的密钥,用于数据报文的加密和完整性保护。
主密钥:是SJK1121-B密码卡的SM1算法对称密钥,用于加密保护设备私钥,使其安全存储在存储卡中。
为了便于理解,请参阅图1,本申请提供的一种密钥协商方法的实施例一,包括:第一阶段协商,第二阶段协商。
第一阶段协商包括:
步骤101、发起方通过安全联盟载荷与响应方协商,得到第一密码算法,安全联盟载荷包括相关密码算法建议。
需要说明的是,密码算法可以包括以下至少一种:非对称密码算法SM2,对称密码算法SM1,密码杂凑算法SM3,以及随机生成的临时密码;发起方将密码算法的提议封装成安全联盟载荷发送给响应方,响应方就会回复一个响应安全联盟载荷,这个载荷中包括有接受密码算法提议以及响应方证书,以此方式确定第一密码算法;响应方证书包括加响应方密证书和响应方签名证书。
步骤102、发起方将采用第一密码算法计算得到的发起方密钥标识和发起方证书发送至响应方,使得响应方将采用第一密码算法计算得到的响应方密钥标识返回至发起方,并计算出发起方和响应方进行通信的第一工作密钥。
需要说明的是,发起方根据接收到的响应方的响应安全联盟载荷明确使用第一密码算法计算自身的密钥标识,并将自身的密钥标识和相关证书发送至响应方,发起方密钥标识包括:发起方临时密钥、发起方nonce和发起方身份标识ID,相关证书包括发起方加密证书和发起方签名证书;发起方密钥标识和发起方证书同样被封装成载荷进行发送传输;在响应方得到发起方采用第一密码算法加密后的发起方信息后,响应方同样根据第一密码算法计算自身的密钥标识,并回复给发起方,同时响应方还可以根据得到的发起方信息和自身信息求得发起方和响应方进行通信的第一工作密钥;响应方密钥标识包括:响应方临时密钥、响应方nonce和响应方身份标识ID;第一工作密钥包括主密钥工作密钥。
步骤103、发起方根据响应方密钥标识计算发起方和响应方进行通信的第二工作密钥。
需要说明的是,发起方也需要在接收响应方的相关信息后,才能结合自身信息计算得到发起方和响应方进行通信的第二工作密钥;第一工作密钥与第二工作密钥相同;这个阶段的协商主要是为了得到工作密钥,通过工作密钥建立ISKMP SA,从而通过ISKMP SA对第二阶段协商过程进行保护,或者说,在第一阶段建立的ISKMP SA上建立IPSEC SA。
第二阶段协商包括:
步骤104、发起方将第一杂凑载荷发送至响应方,使得响应方返回第二杂凑载荷。
其中,第一杂凑载荷包括第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,第二杂凑载荷包括第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟。
需要说明的是,第一杂凑载荷由密码杂凑算法SM3计算验证消息完整性及数据源身份的第二工作密钥、发起方标识、第一安全联盟载荷以及发起方nonce得到的;第二杂凑载荷与第一杂凑载荷生成原理相同,是由密码杂凑算法SM3计算验证消息完整性及数据源身份的第一工作密钥、响应标识、第二安全联盟载荷以及发起方nonce得到的。
步骤105、发起方根据第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至响应方,使得响应方计算第二会话密钥,同时,判断验证杂凑载荷与第一杂凑载荷是否一致。
需要说明的是,第一会话密钥是根据杂凑密钥算法SM3计算得到的;验证杂凑载荷与第一杂凑载荷相同;验证杂凑载荷与第一杂凑载荷相同,响应方将再次接收到的杂凑载荷与前面收到的第一杂凑载荷对比是为了验证前面的信息的交换的响应方的准确性,保证接收信息的是原响应方,并非第三方攻击,提高通信过程中的安全性。会话密钥包括可以用于加密的会话密钥和用于完整性校验的会话密钥,可以按照密钥长度从计算得到的会话密钥中选取。第一阶段协商后,可以通过工作密钥建立ISKMP SA,从而通过ISKMP SA对第二阶段协商过程进行保护,或者说,在第一阶段建立的ISKMP SA上建立IPSEC SA,确定通信双方的IPSEC安全策略和会话密钥。
SA是安全关联(Security association,SA),又为安全性关联、安全群组、安全参数组合,是指为了提供安全的通讯环境,在两个网络实体之间建立起的共享网络安全属性。一个安全关联中,在网络连线前,要先交换网络资料参数,包含了加密模式与加密算法,安全加密金钥等。网络安全关联与金钥管理协定提供了安全关联的基础框架。互联网金钥交换提供了金钥交换的机制;ISAKMP是互联网安全关联钥匙管理协定(InternetSecurityAssociation and Key Management Protocol,ISAKM或ISAKMP),互联网协定之一,用于在互联网上建立安全关联与加密金钥。这个协定在RFC2408中定义,它提供了一个架构来进行授权与金钥交换,主要被设计来作为金钥交换之用。互联网金钥交换与Kerberized InternetNegotiation ofKey等协定,提供了授权金钥的资料,可以在ISAKMP中使用;IPSEC是互联网安全协议(Internet Protocol Security,IPsec),是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
本实施例提供的密钥协商方法,将整个协商过程分为两个阶段,第一阶段协商中,根据发起方和响应方的协商确定第一密码算法,然后发起方根据第一密码算法加密自身的密钥标识,将加密后的密钥标识载荷与自身的相关证书一并发送至响应方进行解析,使得响应方也根据第一密码算法进行自身密钥标识的加密操作,并将加密后的密钥标识载荷发送至发起方,同时,响应方会根据获得发起方密钥标识和发起方证书计算出发起方和响应方进行通信的第一工作密钥;在接收到响应方密钥标识和响应方证书后,发起方同样可以求得发起方和响应方进行通信的第二工作密钥;在这一阶段协商以及计算操作是为了求得双方的工作密钥,用于保护通信双方会话密钥的协商过程,实现双方的身份确认和密钥协商;第二阶段协商是为了检验数据的完整性和数据源的身份;双方通过杂凑载荷进行交互协商,求取双方的会话密钥,并且需要采用杂凑载荷对协商交换的杂凑数据进行验证从而确保通信前后的响应方没有更改,两个阶段的协商均缺一不可,通过密钥协商,算法协商以及安全联盟载荷确保了通信双方协商过程中的安全性,协商的交互过程较为简单,并未涉及到双方需要进行繁杂的计算或者操作动作。因此,本实施例解决了现有技术计算密钥过程复杂导致通信双方之间协商耗时较长问题的同时,也解决了安全性较差的技术问题。
为了便于理解,请参阅图2,本申请实施例中提供了一种密钥协商方法的实施例二,包括:第一阶段协商,第二阶段协商。
第一阶段协商包括:
步骤201、发起方检测响应方是否支持NAT-T,使得响应方根据接收到的检测结果调整端口类型。
需要说明的是,检测对方是否支持NAT-T可以通过交换vendor ID载荷来实现,如果自身支持NAT-T,在密钥协商第一阶段就要发送NAT_D载荷,响应方接收此包解密并认证通过后,要将原来处理500端口状态改为处理4500端口,后续的协商过程都使用4500端口进行,以后500端口收到的不是新协商的包都将被丢弃;其余四条消息跟及第二阶段不需要更改;采用NAT穿越时,使用UDP封装隧道模式下的数据包。
步骤202、发起方通过安全联盟载荷与响应方协商,得到第一密码算法,安全联盟载荷包括相关密码算法建议。
需要说明的是,第一密码算法包括至少一种密码算法,可以是非对称密码算法SM2,对称密码算法SM1、密码杂凑算法SM3及随机生成的临时密码;发起方将密码算法的提议封装成安全联盟载荷发送给响应方,响应方就会回复一个响应安全联盟载荷,这个载荷中包括有接受密码算法提议以及响应方证书,以此方式确定第一密码算法;响应方证书包括加响应方密证书和响应方签名证书。
步骤203、发起方将采用第一密码算法计算得到的发起方密钥标识和发起方证书发送至响应方,使得响应方将采用第一密码算法计算得到的响应方密钥标识返回至发起方,并计算出发起方和响应方进行通信的第一工作密钥。
需要说明的是,发起方在确认密码算法后,根据第一密码算法计算发起方自身的密钥标识,并将求得的密钥标识和发起方证书发送至响应方,发起方密钥标识包括:发起方临时密钥、发起方nonce和发起方身份标识ID,发起方证书包括发起方加密证书和发起方签名证书;发起方密钥标识和发起方证书同样被封装成载荷进行发送传输;在响应方得到发起方采用第一密码算法加密后的发起方信息后,响应方需要对接收到的载荷进行解密获取发起方密钥标识以及发起方证书,并通过密钥管理***验证发起方证书的准确性,然后,响应方根据第一密码算法计算自身的密钥标识,并回复给发起方,同时响应方还可以根据得到的发起方信息和自身信息求得发起方和响应方进行通信的第一工作密钥;响应方密钥标识包括:响应方临时密钥、响应方nonce和响应方身份标识ID;第一工作密钥包括主密钥工作密钥。
步骤204、发起方根据响应方密钥标识计算发起方和响应方进行通信的第二工作密钥。
需要说明的是,发起方也需要在接收响应方的相关信息后,才能结合自身信息计算得到发起方和响应方进行通信的第二工作密钥;第一工作密钥与第二工作密钥相同;这个阶段的协商主要是为了得到工作密钥,通过工作密钥建立ISKMP SA,从而通过ISKMP SA对第二阶段协商过程进行保护,或者说,在第一阶段建立的ISKMP SA上建立IPSEC SA。
步骤205、发起方将采用第二密码算法计算得到的验证交换数据通过第三密码算法加密后发送至响应方,使得响应方将作出解析、验证后的结果发送至发起方。
需要说明的是,验证交换数据是指发起方将上述步骤中发送给响应方的发起方相关信息,例如,发起方密钥标识、发起方证书等;第二密码算法是非对称密码算法SM2,第三密码算法是对称密码算法SM1,采用第二密码算法得到的验证交换数据是指对于上述发起方与响应方交互过程中的密钥标识、相关证书、工作密钥等信息进行打包计算处理,相当于整体信息的再次加密,再采用第三密码密码算法加密成包或者载荷发送给响应方,响应方通过解密,用相同的算法得到载荷的根源数据,将解析出的数据与前面交换过程中的数据再次对比,确认是否一致,从而确保通信双方并未被第三方攻击,确保了通信双方的前后一致性,提高了通信安全性,保障了下一步协商过程的通信环境。
第二阶段协商包括:
步骤206、发起方将第一杂凑载荷发送至响应方,使得响应方返回第二杂凑载荷。
其中,第一杂凑载荷包括第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,第二杂凑载荷包括第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟。
需要说明的是,第一杂凑载荷由密码杂凑算法SM3计算验证消息完整性及数据源身份的第二工作密钥、发起方标识、第一安全联盟载荷以及发起方nonce得到的;第二杂凑载荷与第一杂凑载荷生成原理相同,是由密码杂凑算法SM3计算验证消息完整性及数据源身份的第一工作密钥、响应标识、第二安全联盟载荷以及发起方nonce得到的。
步骤207、发起方根据第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至响应方,使得响应方计算第二会话密钥,同时,判断验证杂凑载荷与第一杂凑载荷是否一致。
需要说明的是,第一会话密钥是根据杂凑密钥算法SM3计算得到的;验证杂凑载荷与第一杂凑载荷相同;验证杂凑载荷与第一杂凑载荷相同,将验证杂凑载荷与第一杂凑载荷进行对比是为了验证前面的信息的交换响应方的准确性,确保通信的响应方是原响应方,而不是第三方攻击,提高通信过程中的安全性。会话密钥包括可以用于加密的会话密钥和用于完整性校验的会话密钥,可以按照密钥长度从计算得到的会话密钥中选取。第一阶段协商后,可以通过工作密钥建立ISKMP SA,从而通过ISKMP SA对第二阶段协商过程进行保护,或者说,在第一阶段建立的ISKMP SA上建立IPSEC SA,确定通信双方的IPSEC安全策略和会话密钥。验证的作用是确定接收信息的响应方不是第三方,通过再次发送杂凑载荷验证响应方是否真的接收到了上一步操作中的第一杂凑载荷,响应方在接收到验证杂凑载荷后就会与前面收到的第一杂凑载荷比对,这样处理是为了避免第三方攻击,更换或者窃取通信信息,确认通信的响应方没有改变。
为了便于理解,请参与图3,本申请中还提供了一种密钥协商装置的实施例,包括:第一阶段协商模块301和第二阶段协商模块302;
第一阶段协商模块301包括:
算法协商模块3011,用于发起方通过安全联盟载荷与响应方协商,得到第一密码算法,安全联盟载荷包括相关密码算法建议;
第一交互模块3012,用于发起方将采用第一密码算法计算得到的发起方密钥标识和发起方证书发送至响应方,使得响应方将采用第一密码算法计算得到的响应方密钥标识返回至发起方,并计算出发起方和响应方进行通信的第一工作密钥;
第一计算模块3013,用于发起方根据响应方密钥标识计算发起方和响应方进行通信的第二工作密钥;
第二阶段协商模块302包括:
第二交互模块3021,用于发起方将第一杂凑载荷发送至响应方,使得响应方返回第二杂凑载荷,第一杂凑载荷包括第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,第二杂凑载荷包括第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟;
第二计算模块3022,用于发起方根据第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至响应方,使得响应方计算第二会话密钥,同时,判断验证杂凑载荷与第一杂凑载荷是否一致。
进一步地,第一交互模块3012还包括:
第一验证模块30121,用于发起方将采用第一密码算法计算得到的发起方密钥标识和发起方证书发送至响应方,使得响应方通过密钥管理***验证发起方证书的准确性。
进一步地,第一计算模块3013之后还包括:
第二验证模块3014,用于发起方将采用第二密码算法计算得到的验证交换数据通过第三密码算法加密后发送至响应方,使得响应方将作出解析、验证后的结果发送至发起方。
进一步地,还包括:
检测模块3010,用于发起方检测响应方是否支持NAT-T,使得响应方根据接收到的检测结果调整端口类型。
为了便于理解,本申请还提供了一种密钥协商设备,设备包括处理器以及存储器:
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行上述密钥协商方法实施例中的任一种密钥协商方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以通过一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种密钥协商方法,其特征在于,包括:第一阶段协商和第二阶段协商;
所述第一阶段协商包括:
A1:发起方通过安全联盟载荷与响应方协商,得到第一密码算法,所述安全联盟载荷包括相关密码算法建议;
A2:所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方将采用所述第一密码算法计算得到的响应方密钥标识返回至所述发起方,并计算出所述发起方和所述响应方进行通信的第一工作密钥;
A3:所述发起方根据所述响应方密钥标识计算所述发起方和所述响应方进行通信的第二工作密钥;
所述第二阶段协商包括:
S1:所述发起方将第一杂凑载荷发送至所述响应方,使得所述响应方返回第二杂凑载荷,所述第一杂凑载荷包括所述第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,所述第二杂凑载荷包括所述第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟;
S2:所述发起方根据所述第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至所述响应方,使得所述响应方计算第二会话密钥,同时,判断所述验证杂凑载荷与所述第一杂凑载荷是否一致。
2.根据权利要求1所述的密钥协商方法,其特征在于,所述第一密码算法包括至少一种密码算法。
3.根据权利要求1所述的密钥协商方法,其特征在于,所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方通过密钥管理***验证所述发起方证书的准确性。
4.根据权利要求1所述的密钥协商方法,其特征在于,步骤A3之后还包括:
A4:所述发起方将采用第二密码算法计算得到的验证交换数据通过第三密码算法加密后发送至所述响应方,使得所述响应方将作出解析、验证后的结果发送至所述发起方。
5.根据权利要求1所述的密钥协商方法,其特征在于,步骤A1之前还包括:
A0:所述发起方检测所述响应方是否支持NAT-T,使得所述响应方根据接收到的检测结果调整端口类型。
6.一种密钥协商装置,其特征在于,包括:第一阶段协商模块和第二阶段协商模块;
所述第一阶段协商模块包括:
算法协商模块,用于发起方通过安全联盟载荷与响应方协商,得到第一密码算法,所述安全联盟载荷包括相关密码算法建议;
第一交互模块,用于所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方将采用所述第一密码算法计算得到的响应方密钥标识返回至所述发起方,并计算出所述发起方和所述响应方进行通信的第一工作密钥;
第一计算模块,用于所述发起方根据所述响应方密钥标识计算所述发起方和所述响应方进行通信的第二工作密钥;
所述第二阶段协商模块包括:
第二交互模块,用于所述发起方将第一杂凑载荷发送至所述响应方,使得所述响应方返回第二杂凑载荷,所述第一杂凑载荷包括所述第二工作密钥、发起方身份验证标识、发起方nonce和第一安全联盟,所述第二杂凑载荷包括所述第二工作密钥、响应方身份验证标识、响应方nonce和第二安全联盟;
第二计算模块,用于所述发起方根据所述第二杂凑载荷计算第一会话密钥,同时发送验证杂凑载荷至所述响应方,使得所述响应方计算第二会话密钥,同时,判断所述验证杂凑载荷与所述第一杂凑载荷是否一致。
7.根据权利要求6中所述的密钥协商装置,其特征在于,所述第一交互模块还包括:
第一验证模块,用于所述发起方将采用所述第一密码算法计算得到的发起方密钥标识和发起方证书发送至所述响应方,使得所述响应方通过密钥管理***验证所述发起方证书的准确性。
8.根据权利要求6中所述的密钥协商装置,其特征在于,所述第一计算模块之后还包括:
第二验证模块,用于所述发起方将采用第二密码算法计算得到的验证交换数据通过第三密码算法加密后发送至所述响应方,使得所述响应方将作出解析、验证后的结果发送至所述发起方。
9.根据权利要求6中所述的密钥协商装置,其特征在于,还包括:
检测模块,用于所述发起方检测所述响应方是否支持NAT-T,使得所述响应方根据接收到的检测结果调整端口类型。
10.一种密钥协商设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-5任一项所述的密钥协商方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382702.XA CN111130775A (zh) | 2019-12-27 | 2019-12-27 | 一种密钥协商方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911382702.XA CN111130775A (zh) | 2019-12-27 | 2019-12-27 | 一种密钥协商方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111130775A true CN111130775A (zh) | 2020-05-08 |
Family
ID=70505210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911382702.XA Pending CN111130775A (zh) | 2019-12-27 | 2019-12-27 | 一种密钥协商方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111130775A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294212A (zh) * | 2020-05-12 | 2020-06-16 | 广东纬德信息科技股份有限公司 | 一种基于电力配电的安全网关密钥协商方法 |
CN111865564A (zh) * | 2020-07-29 | 2020-10-30 | 北京浪潮数据技术有限公司 | 一种IPSec通信的建立方法和*** |
CN114268473A (zh) * | 2021-12-10 | 2022-04-01 | 北京天融信网络安全技术有限公司 | IKEv1协议主模式抵御DDOS攻击的方法、***、终端及存储介质 |
CN114553507A (zh) * | 2022-02-10 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种安全认证方法、装置、设备及机器可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742491A (zh) * | 2009-12-04 | 2010-06-16 | 同济大学 | 一种移动设备与安全接入网关间密钥交换协商方法 |
CN102904861A (zh) * | 2011-07-28 | 2013-01-30 | 中兴通讯股份有限公司 | 一种基于isakmp的扩展认证方法及*** |
CN103441839A (zh) * | 2013-08-15 | 2013-12-11 | 国家电网公司 | 一种量子密码在ip安全通信中的使用方法和*** |
US20170054555A1 (en) * | 2015-08-20 | 2017-02-23 | Alibaba Group Holding Limited | Method, apparatus, terminal device and system for generating shared key |
CN109802831A (zh) * | 2019-02-26 | 2019-05-24 | 安徽皖通邮电股份有限公司 | 一种IKEv1协商使用量子密钥的方法 |
CN109981272A (zh) * | 2019-04-19 | 2019-07-05 | 鼎信信息科技有限责任公司 | 密钥协商方法、装置、计算机设备和存储介质 |
-
2019
- 2019-12-27 CN CN201911382702.XA patent/CN111130775A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101742491A (zh) * | 2009-12-04 | 2010-06-16 | 同济大学 | 一种移动设备与安全接入网关间密钥交换协商方法 |
CN102904861A (zh) * | 2011-07-28 | 2013-01-30 | 中兴通讯股份有限公司 | 一种基于isakmp的扩展认证方法及*** |
CN103441839A (zh) * | 2013-08-15 | 2013-12-11 | 国家电网公司 | 一种量子密码在ip安全通信中的使用方法和*** |
US20170054555A1 (en) * | 2015-08-20 | 2017-02-23 | Alibaba Group Holding Limited | Method, apparatus, terminal device and system for generating shared key |
CN109802831A (zh) * | 2019-02-26 | 2019-05-24 | 安徽皖通邮电股份有限公司 | 一种IKEv1协商使用量子密钥的方法 |
CN109981272A (zh) * | 2019-04-19 | 2019-07-05 | 鼎信信息科技有限责任公司 | 密钥协商方法、装置、计算机设备和存储介质 |
Non-Patent Citations (1)
Title |
---|
郭彦涛: "《面向国密新标准的IPsec VPN服务器软件研究》", 《中国优秀硕士论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111294212A (zh) * | 2020-05-12 | 2020-06-16 | 广东纬德信息科技股份有限公司 | 一种基于电力配电的安全网关密钥协商方法 |
CN111865564A (zh) * | 2020-07-29 | 2020-10-30 | 北京浪潮数据技术有限公司 | 一种IPSec通信的建立方法和*** |
CN114268473A (zh) * | 2021-12-10 | 2022-04-01 | 北京天融信网络安全技术有限公司 | IKEv1协议主模式抵御DDOS攻击的方法、***、终端及存储介质 |
CN114553507A (zh) * | 2022-02-10 | 2022-05-27 | 新华三信息安全技术有限公司 | 一种安全认证方法、装置、设备及机器可读存储介质 |
CN114553507B (zh) * | 2022-02-10 | 2024-02-09 | 新华三信息安全技术有限公司 | 一种安全认证方法、装置、设备及机器可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109309565B (zh) | 一种安全认证的方法及装置 | |
US11533297B2 (en) | Secure communication channel with token renewal mechanism | |
WO2017097041A1 (zh) | 数据传输方法和装置 | |
US8275989B2 (en) | Method of negotiating security parameters and authenticating users interconnected to a network | |
WO2016180204A1 (zh) | 一种安全通讯方法和装置 | |
US20050149732A1 (en) | Use of static Diffie-Hellman key with IPSec for authentication | |
US10686595B2 (en) | Configuring connectivity association key and connectivity association name in a media access control security capable device | |
CN111130775A (zh) | 一种密钥协商方法、装置及设备 | |
CN101409619B (zh) | 闪存卡及虚拟专用网密钥交换的实现方法 | |
WO2016058404A1 (zh) | 基于预共享密钥的实体鉴别方法及装置 | |
CN112351037B (zh) | 用于安全通信的信息处理方法及装置 | |
CN101695038A (zh) | 检测ssl加密数据安全性的方法及装置 | |
CN110635901B (zh) | 用于物联网设备的本地蓝牙动态认证方法和*** | |
KR101531662B1 (ko) | 사용자 단말과 서버간 상호 인증 방법 및 시스템 | |
WO2016054905A1 (zh) | 一种数据处理方法 | |
CN114143117B (zh) | 数据处理方法及设备 | |
CN111756528A (zh) | 一种量子会话密钥分发方法、装置及通信架构 | |
CN110493177B (zh) | 基于非对称密钥池对和序列号的量子通信服务站aka密钥协商方法和*** | |
CN112487380A (zh) | 一种数据交互方法、装置、设备及介质 | |
CN112733129B (zh) | 一种服务器带外管理的可信接入方法 | |
US20070003063A1 (en) | Methods and apparatus to perform associated security protocol extensions | |
Yang et al. | An improved security scheme in WMAN based on IEEE standard 802.16 | |
Hoeper et al. | Where EAP security claims fail | |
CN111836260A (zh) | 一种认证信息处理方法、终端和网络设备 | |
CN112787990B (zh) | 一种电力终端可信接入认证方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200508 |
|
RJ01 | Rejection of invention patent application after publication |