CN117061115B - 密钥协商方法、装置、计算机设备和计算机可读存储介质 - Google Patents
密钥协商方法、装置、计算机设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN117061115B CN117061115B CN202311311079.5A CN202311311079A CN117061115B CN 117061115 B CN117061115 B CN 117061115B CN 202311311079 A CN202311311079 A CN 202311311079A CN 117061115 B CN117061115 B CN 117061115B
- Authority
- CN
- China
- Prior art keywords
- key
- gateway
- negotiation
- network segment
- encryption
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 230000006854 communication Effects 0.000 claims abstract description 177
- 238000004891 communication Methods 0.000 claims abstract description 176
- 238000004590 computer program Methods 0.000 claims abstract description 23
- 230000004044 response Effects 0.000 claims description 76
- 230000004083 survival effect Effects 0.000 claims description 76
- 230000000977 initiatory effect Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 14
- 238000012545 processing Methods 0.000 description 13
- 230000006399 behavior Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 239000000284 extract Substances 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 239000003999 initiator Substances 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
-
- 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/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请涉及一种基于云技术的密钥协商方法、装置、计算机设备、存储介质和计算机程序产品。方法应用于密钥协商模块,密钥协商模块独立于第一网关,通过预设接口与第一网关交互,包括:获取网关配置信息,基于网关配置信息,确定需与第一网关进行加密通信的第二网关;与第二网关协商第一密钥;获取第二网关的网关类型,基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略;按照预设协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥;调用预设接口,通过调用的预设接口,向第一网关发送第二密钥,第二密钥用于供第一网关与第二网关加密通信。采用本方法能够适配不同类型的网关的密钥协商操作。
Description
技术领域
本申请涉及计算机设备技术领域,特别是涉及一种密钥协商方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着计算机技术的发展,出现了网络密钥交换技术,通过网络密钥交换技术可以在不同的VPN(Virtual Private Network,虚拟专用网络)网关之间进行加密通信。
传统技术中,通过不同的VPN网关之间进行IKE(Internet Key Exchange,网络密钥交换)协商,以协商出双方的密钥,从而通过密钥实现两个网关之间的加密通信。但是由于不同的VPN网关对IKE协商的处理有所不同,一个VPN网关难以适配不同的网关,因此经常会出现一个VPN网关对另一个VPN网关不兼容的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够适配不同网关的密钥协商方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种密钥协商方法,应用于密钥协商模块,所述密钥协商模块独立于第一网关,通过预设接口与所述第一网关交互,所述方法包括:
获取网关配置信息,基于所述网关配置信息,确定需与所述第一网关进行加密通信的第二网关;
与所述第二网关协商第一密钥;
获取所述第二网关的网关类型,基于所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略;
按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥;
调用所述预设接口,通过调用的所述预设接口,向所述第一网关发送所述第二密钥,所述第二密钥用于供所述第一网关与所述第二网关加密通信。
第二方面,本申请还提供了一种密钥协商装置,所述密钥协商装置独立于第一网关,通过预设接口与所述第一网关交互,所述装置包括:
策略存储模块,用于在预置的策略数据库中存储预设协商策略;
密钥协商引擎,用于获取网关配置信息,基于所述网关配置信息,确定需与所述第一网关进行加密通信的第二网关;与所述第二网关协商第一密钥;
获取所述第二网关的网关类型,基于所述网关类型,从所述预置的策略数据库中选择与所述第二网关相匹配的预设协商策略;按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥;调用所述预设接口,通过调用的所述预设接口,向所述第一网关发送所述第二密钥,所述第二密钥用于供所述第一网关与所述第二网关加密通信。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取网关配置信息,基于所述网关配置信息,确定需与所述第一网关进行加密通信的第二网关;
与所述第二网关协商第一密钥;
获取所述第二网关的网关类型,基于所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略;
按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥;
调用所述预设接口,通过调用的所述预设接口,向所述第一网关发送所述第二密钥,所述第二密钥用于供所述第一网关与所述第二网关加密通信。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取网关配置信息,基于所述网关配置信息,确定需与所述第一网关进行加密通信的第二网关;
与所述第二网关协商第一密钥;
获取所述第二网关的网关类型,基于所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略;
按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥;
调用所述预设接口,通过调用的所述预设接口,向所述第一网关发送所述第二密钥,所述第二密钥用于供所述第一网关与所述第二网关加密通信。
第五方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取网关配置信息,基于所述网关配置信息,确定需与所述第一网关进行加密通信的第二网关;
与所述第二网关协商第一密钥;
获取所述第二网关的网关类型,基于所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略;
按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥;
调用所述预设接口,通过调用的所述预设接口,向所述第一网关发送所述第二密钥,所述第二密钥用于供所述第一网关与所述第二网关加密通信。
上述密钥协商方法、装置、计算机设备、存储介质和计算机程序产品,提供了独立于第一网关的密钥协商模块,并通过预设接口与第一网关交互,使得用于密钥协商模块能够从传统的网关中剥离出来。密钥协商模块获取网关配置信息,基于网关配置信息,确定需与第一网关进行加密通信的第二网关,以通过与第二网关协商第一密钥来建立密钥协商模块和第二网关之间的信任关系。获取第二网关的网关类型,基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略,使得密钥协商模块通过协商策略的匹配能力,为不同类型的网关适配预先配置的协商策略。按照预设协商策略,采用第一密钥与第二网关进行加密通信,以在加密通信中进行密钥协商,提高密钥协商的安全性,获得的第二密钥更可信。并且,使得密钥协商模块通过协商策略的执行能力,按照所匹配的预设协商策略来适配不同厂商的网关的协商行为,能够有效解决不同网关之间不兼容的问题。调用预设接口,通过调用的预设接口向第一网关发送第二密钥,使得第一网关可通过第二密钥与第二网关加密通信,提高通信的安全性。
附图说明
图1为一个实施例中密钥协商方法的应用环境图;
图2为一个实施例中密钥协商方法的流程示意图;
图3为一个实施例中预置的策略数据库中以键值对存储预设协商策略的示意图;
图4为一个实施例中密钥协商方法的架构示意图;
图5为一个实施例中与第二网关协商第一密钥的流程示意图;
图6为一个实施例中密钥协商模块与第二网关协商第一密钥的时序图;
图7为一个实施例中多个网段组合的示意图;
图8为一个实施例中当网段密钥协商策略表征多网段共享密钥,采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商的示意图;
图9为一个实施例中分别对每个网段组合进行密钥协商的时序图;
图10为一个实施例中当网段密钥协商策略表征单网段独享密钥,采用第一密钥与第二网关进行加密通信,以分别对每个网段组合进行密钥协商,获得每个网段组合对应的第二密钥的流程示意图;
图11为一个实施例中分别对每个网段组合进行密钥协商,获得每个网段组合对应的第二密钥的时序图;
图12为一个实施例中密钥协商模块按照所述预设协商策略与所述第二网关进行密钥协商,获得第二密钥的时序图;
图13为一个实施例中密钥协商方法的时序图;
图14为一个实施例中密钥协商装置的结构框图;
图15为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通等。云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。本申请实施例可应用于基于云技术下的云物联的密钥协商方法。
物联网(The Internet of Things,IOT)是指通过各种信息传感器、射频识别技术、全球定位系统、红外感应器、激光扫描器等各种装置与技术,实时采集任何需要检测、连接、互动的物体或过程,采集其声、光、热、电、力学、化 学、生物、位置等各种需要的信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。物联网是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
云物联(Cloud IOT)旨在将传统物联网中传感设备感知的信息和接受的指令连入互联网中,真正实现网络化,并通过云计算技术实现海量数据存储和运算,由于物联网的特性是物与物相连接,实时感知各个“物体”当前的运行状态,在这个过程中会产生大量的数据信息,如何将这些信息汇总,如何在海量信息中筛取有用信息为后续发展做决策支持,这些已成为影响物联网发展的关键问题,而基于云计算和云存储技术的物联云也因此成为物联网技术和应用的有力支持。
网关是物联网产品中的重要组成部分,主要用于在不同设备和系统之间进行数据交换和转换。网关可以将不同的协议、数据格式和通信方式进行转换,以便终端设备可以与云端进行通信。
本申请实施例提供的密钥协商方法,可以应用于如图1所示的应用环境中。其中,策略数据库用于存储预设协商策略,策略数据库可以集成在密钥协商模块102上,也可以放在云上或其他服务器上。密钥协商模块102获取网关配置信息,基于网关配置信息,确定需与第一网关104进行加密通信的第二网关106。密钥协商模块102与第二网关106协商第一密钥。密钥协商模块102获取第二网关106的网关类型,基于网关类型,从预置的策略数据库中选择与第二网关106相匹配的预设协商策略。密钥协商模块102按照预设协商策略,采用第一密钥与第二网关106进行加密通信,以进行密钥协商,获得第二密钥。密钥协商模块102调用预设接口,通过调用的预设接口,向第一网关104发送第二密钥,第二密钥用于供第一网关104与第二网关106加密通信。
其中,密钥协商模块102和第一网关104可以集成在任意具有密钥协商功能的计算机设备上,可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。第二网关106可以部署在任意具有密钥协商功能的计算机设备上,可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备。
在一个实施例中,如图2所示,提供了一种密钥协商方法,以该方法应用于图1中的密钥协商模块为例进行说明,该密钥协商模块独立于第一网关,通过预设接口与第一网关交互,该密钥协商方法包括以下步骤:
步骤S202,获取网关配置信息,基于网关配置信息,确定需与第一网关进行加密通信的第二网关。
其中,网关配置信息是对需要协商密钥的网关的配置信息。网关配置信息可包括密钥协商的第一网关和第二网关,还可以包括第一网关的第一网关地址、第二网关的第二网关地址。第一网关地址可以是第一网关的网际协议地址(Internet Protocol,IP)。第二网关地址可以是第二网关的网际协议地址。
其他实施例中,网关配置信息包括第二网关的网关类型、第一网关的网关类型、密钥协商的协商模式等。
具体地,用户可在网关的配置界面配置相关的网关配置信息,网关控制器将网关配置信息下发给密钥协商模块。
密钥协商模块获取到该网关配置信息,可从该网关配置信息中确定与第一网关进行加密通信的第二网关。
本实施例中,密钥协商模块和第一网关部署在同一网络设备上。
步骤S204,与第二网关协商第一密钥。
其中,第一密钥是指密钥协商第一阶段得到的密钥,用于对第二密钥协商过程的通信加密。
具体地,密钥协商模块可获取第一网关的第一网关密钥生成信息,基于第一网关密钥生成信息向第二网关发起密钥协商,获得在第一网关端使用的第一密钥。
本实施例中,该方法还包括:
获取第一网关的身份信息,采用第一密钥与第二网关进行加密通信,以向第二网关发送第一网关的身份信息,指示第二网关验证第二网关的身份;接收第二网关基于加密通过返回的第二网关的身份信息,基于第二网关的身份信息验证第二网关的身份。基于第一密钥进行加密通信以验证双方的身份,保证协商第二密钥的安全性。
步骤S206,获取第二网关的网关类型,基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略。
其中,网关类型是指网关的厂商类型(VendorId)。第二网关的网关类型,是指第二网关的厂商类型。
预置的策略数据库是预先设置的用于存储预设协商策略的数据库。策略数据库中存储有多个预设协商策略。进一步地,策略数据库中存储多个预设网关类型,以及与每个预设网关类型相匹配的预设协商策略。
策略数据库中存储多个键值对,键可包括预设网关类型,值是指预设协商策略。一个键值对中的键和值相匹配,即属于同一键值对的预设的网关类型和预设协商策略相匹配。
具体地,密钥协商模块可从网关配置信息中获取第二网关的网关类型,将第二网关的网关类型与预置的策略数据库中存储的预设网关类型进行匹配,以确定与匹配的预设网关类型相匹配的预设协商策略,将该预设协商策略作为与第二网关相匹配的预设协商策略。
本实施例中,密钥协商模块可向第二网关发起类型获取请求,接收第二网关基于类型获取请求返回的响应报文,从响应报文中提取第二网关的网关类型。
本实施例中,键可包括预设网关类型、网关地址和协商模式,值为预设协商策略。协商模式即IKE模式,IKE模式例如IKE v1模式和IKE v2模式。其中,IKE v1模式分为2个阶段,第一阶段又分为2种模式:主模式和野蛮模式,用于协商出IKE-SA,第二阶段为快速模式,用于协商出IPSec-SA。v2模式则分为“初始交换阶段”和“创建子SA交换”两个阶段。
如图3所示,预置的策略数据库中以键值对存储预设协商策略。策略数据库中存储了键值对(A1-B1)、键值对(A2-B2)、键值对(A3-B3)。其中,键A1包括预设网关类型1、网关地址1和协商模式1,值B1预设协商策略1。键A2包括预设网关类型2、网关地址2和协商模式2,值B2预设协商策略2。键A3包括预设网关类型3、网关地址3和协商模式3,值B3预设协商策略3。
步骤S208,按照预设协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥。
其中,预设协商策略包括密钥协商策略,还可以包括生存时长配置策略、密钥协商策略对应的策略执行位置,或密钥重置条件中的至少一种。
密钥协商策略可包括网段密钥协商策略。网段密钥协商策略,是指协商第一网关的特定网段和第二网关的特定网段之间的密钥的策略。
生存时长配置策略,是指基于网关预设的密钥生存时长来识别密钥协商权限的策略。密钥协商权限,表征允许进行第一网关与第二网关之间的密钥协商。
策略执行位置是指执行密钥协商策略的位置,即hook点。例如,hook点可以是“PRE_V1_MAIN_3”、“POST_V1_MAIN_3”、“PRE_V1_MAIN_4”、“POST_V2_MAIN_4”、“PRE_V2_3”、“POST_V2_3”。
密钥重置条件,是指重新协商第二密钥的条件。
第二密钥,是用于供第一网关与第二网关进行加密通信的密钥。该第二密钥包括第一加密密钥和第一解密密钥。第一加密密钥用于供第一网关对发送给第二网关的通信数据进行加密。第一解密密钥用于供第一网关对来自第二网关的通信数据进行解密。
具体地,密钥协商模块按照预设协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得在第一网关处的第二密钥。
进一步地,密钥协商模块按照预设协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得在第一网关处的第一加密密钥和第一解密密钥。
本实施例中,预设协商策略包括密钥协商策略和密钥重置条件;按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥;当第二密钥满足密钥重置条件,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。进一步地,可通过重新协商的第二密钥替换原有的第二密钥。
步骤S210,调用预设接口,通过调用的预设接口,向第一网关发送第二密钥,第二密钥用于供第一网关与第二网关加密通信。
具体地,该密钥协商模块独立于第一网关,通过预设接口与第一网关交互。密钥协商模块调用预设接口,并通过调用的预设接口,向第一网关发送第二密钥,使得第一网关可通过第二密钥与第二网关进行加密通信。
本实施例中,预设接口可以是远程过程调用接口(Remote Procedure Call,RPC)。
如图4所示,提供了一种密钥协商方法的架构示意图。该密钥协商方法的处理包括控制面和数据面,用户在控制面配置相关信息。密钥协商方法处理主要在数据面,本实施例中将传统的IKE组件从第一网关中剥离,增加了基于策略的密钥协商模块与第二网关进行IKE协商,第一网关只用于对报文的进行加解密和转发。第一网关和第二网关均为VPN(Virtual Private Network,虚拟专用网)网关。密钥协商模块包含2个组件:密钥协商引擎和策略数据库。密钥协商引擎具备IKE协商能力,还具备了策略执行能力,可以根据策略数据库中的预设协商策略来执行对应的协商行为。密钥协商模块与第一网关之间通过RPC接口交互,以实现进程间通信(Inter-ProcessCommunication,IPC)和传递第二密钥。
本实施例中,第一网关通过加解密组件采用第二密钥与第二网关进行加密通信。当第二密钥符合密钥重置条件,第一网关的加解密组件调用预设接口,以指示密钥协商引擎重新进行密钥协商。
上述密钥协商方法中,提供了独立于第一网关的密钥协商模块,并通过预设接口与第一网关交互,使得用于密钥协商模块能够从传统的网关中剥离出来。密钥协商模块获取网关配置信息,基于网关配置信息,确定需与第一网关进行加密通信的第二网关,以通过与第二网关协商第一密钥来建立密钥协商模块和第二网关之间的信任关系。获取第二网关的网关类型,基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略,使得密钥协商模块通过协商策略的匹配能力,为不同类型的网关适配预先配置的协商策略。按照预设协商策略,采用第一密钥与第二网关进行加密通信,以在加密通信中进行密钥协商,提高密钥协商的安全性,获得的第二密钥更可信。并且,使得密钥协商模块通过协商策略的执行能力,按照所匹配的预设协商策略来适配不同类型的网关的协商行为,能够有效解决不同网关之间不兼容的问题。调用预设接口,通过调用的预设接口向第一网关发送第二密钥,使得第一网关可通过第二密钥与第二网关加密通信,提高通信的安全性。
在一个实施例中,如图5所示,第一密钥包括第一加密密钥和第一解密密钥;与第二网关协商第一密钥,包括:
步骤S502,获取第一网关的第一网关密钥生成信息,基于第一网关密钥生成信息,生成用于第一网关加密的第一加密密钥。
其中,第一加密密钥,用于第一网关在密钥协商过程中,对发送给第二网关的数据进行加密。
第一网关密钥生成信息可包括第一网关地址和第一网关的密钥生成信息。
具体地,密钥协商模块可获取第一网关的第一网关密钥生成信息,基于第一网关密钥生成信息,生成用于第一网关加密的第一加密密钥。
本实施例中,第一网关密钥生成信息可包括IKE安全提议、第一网关的密钥生成信息和身份信息;IKE安全提议包括加密算法、认证算法、Diffie-Helman组及认证方法等;第一网关的密钥生成信息包括Difie-Helman公共值和nonce值;第一网关的身份信息包括第一网关的第一网关地址或名称。
步骤S504,向第二网关发送第一网关密钥生成信息,第一网关密钥生成信息,用于指示第二网关生成用于解密的网关解密密钥。
其中,网关解密密钥是第一加密密钥对应的解密密钥。
网关解密密钥,用于第二网关在密钥协商过程中对来自第一网关的加密数据进行解密。进一步地,网关解密密钥,用于第二网关在密钥协商过程中,对来自第一网关的采用第一加密密钥加密的数据进行解密。
具体地,密钥协商模块向第二网关发送第一网关密钥生成信息,第一网关密钥生成信息,用于指示第二网关生成用于解密的网关解密密钥。
步骤S506,接收第二网关返回的第二网关密钥生成信息,基于第二网关密钥生成信息,生成用于第一网关解密的第一解密密钥。
其中,第一解密密钥,用于第一网关在密钥协商过程中对来自第二网关的加密数据进行解密。进一步地,第一解密密钥,用于第一网关在密钥协商过程中,对来自第二网关的采用网关加密密钥加密的数据进行解密。
第二网关密钥生成信息,是用于生成第二网关的网关加密密钥,以及生成第一网关的第一解密密钥的信息。
第二网关密钥生成信息,可包括第二网关地址和第二网关的密钥生成信息。
具体地,第二网关获取第二网关密钥生成信息,第二网关基于第二网关密钥生成信息生成网关加密密钥。网关加密密钥,用于第二网关在密钥协商过程中,对发送给第一网关的数据进行加密。
密钥协商模块接收第二网关返回的第二网关密钥生成信息,基于第二网关密钥生成信息,生成用于第一网关解密的第一解密密钥。第一解密密钥是网关加密密钥对应的解密密钥。
本实施例中,第二网关密钥生成信息可包括IKE安全提议、第二网关的密钥生成信息和身份信息;IKE安全提议包括加密算法、认证算法、Diffie-Helman组及认证方法等;第二网关的密钥生成信息包括Difie-Helman公共值和nonce值;第二网关的身份信息包括第二网关的第二网关地址或名称。
如图6所示,为一个实施例中密钥协商模块与第二网关协商第一密钥的时序图,即IKE-SA的处理:
密钥协商模块发送IKE安全提议、密钥生成信息和身份信息;IKE安全提议包括加密算法、认证算法、Diffie-Helman组及认证方法等;密钥生成信息包括Difie-Helman公共值和nonce值;身份信息包括IP地址或名称;
第二网关对发起方的IKE安全提议进行匹配,匹配出合适的IKE安全提议;第二网关基于密钥协商模块发送的密钥生成信息,生成第一密钥;
第二网关获取自身的密钥生成信息、身份信息和验证数据,以返回响应消息;响应消息中携带经协商匹配的安全提议及参数;
密钥协商模块接收响应方返回的响应消息,响应消息包括协商匹配的安全提议、响应方的密钥生成信息、身份信息和验证数据;
密钥协商模块接受协商匹配的安全提议,并基于第二网关的密钥生成信息生成第一密钥;
密钥协商模块基于响应方的身份信息对响应方进行身份验证,以及发送方将自身的身份信息发送给响应方。
第二网关接收发起方发送的验证数据,基于发起方的身份信息对发起方进行身份验证。
本实施例中,获取第一网关的第一网关密钥生成信息,以基于第一网关密钥生成信息,生成用于第一网关加密的第一加密密钥,使得第一网关可以使用第一加密密钥对发送给第二网关的数据进行加密,避免数据泄漏。
向第二网关发送第一网关密钥生成信息,使得第二网关可以使用该第一网关密钥生成信息生成用于解密的网关解密密钥,以对第一网关使用第一加密密钥加密的数据进行准确解密。第二网关会基于第二网关密钥生成信息,生成用于第二网关加密的网关加密密钥,使得第二网关可以使用网关加密密钥对发送给第一网关的数据进行加密,避免数据泄漏。而密钥协商模块接收第二网关返回的第二网关密钥生成信息,能够基于第二网关密钥生成信息,生成用于第一网关解密的第一解密密钥,使得第一网关可以使用该第二网关密钥生成信息生成用于解密的第一解密密钥,以对第二网关使用网关加密密钥加密的数据进行准确解密,从而有效实现双网关之间的网络密钥交换,以在后续实现加密通信。
在一个实施例中,获取第二网关的网关类型,包括:
当网关配置信息不包括第二网关的网关类型,向第二网关发起类型获取请求;接收第二网关基于类型获取请求返回的响应报文,从响应报文中提取第二网关的网关类型。
具体地,密钥协商模块可从网关配置信息中获取第二网关的网关类型。当网关配置信息不包括第二网关的网关类型,密钥协商模块向第二网关发起类型获取请求。第二网关基于类型获取请求返回响应报文,该响应报文中携带第二网关的网关类型。密钥协商模块接收第二网关返回的响应报文,从响应报文中提取第二网关的网关类型。
本实施例中,当网关配置信息中已经配置了第二网关的网关类型,可直接从网关配置信息提取网关类型,以快速匹配第二网关对应的预设协商策略。当网关配置信息不包括第二网关的网关类型,向第二网关发起类型获取请求,以从第二网关返回的响应报文中准确提取出第二网关的网关类型。
在一个实施例中,网关配置信息包括第一网关的至少一个第一网段和第二网关的至少一个第二网段;预设协商策略包括网段密钥协商策略;按照预设协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥,包括:
分别将每个第一网段与每个第二网段组合,获得多个网段组合;当网段密钥协商策略表征多网段共享密钥,采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,获得多个网段组合共享的第二密钥;共享的第二密钥,用于供多个网段组合中的每个第一网段与每个第二网段加密通信。
其中,每个网关可支持多个网段。网段是指一个计算机网络中提供给网关等同一物理层设备通信的物理段。
第一网关可支持多个网段,在网关配置信息中可配置第一网关需要协商密钥的至少一个第一网段。例如,第一网关支持的网段为10.1.0.0/16和11.1.0.0/16。
第二网关可支持多个网段,在网关配置信息中可配置第二网关需要协商密钥的至少一个第二网段。例如,第二网关支持的网段为192.168.1.0/24和192.168.2.0/30。
网段密钥协商策略是指协商两个网关的网段之间的密钥的策略。网段密钥协商策略可以是表征多网段共享密钥,表示需要为多个网段组合协商一个共享的密钥。
网段密钥协商策略可以是表征单网段独享密钥,表示需要为每个网段组合协商一个独有的密钥。
具体地,密钥协商模块从网关配置信息中获取第一网关的至少一个第一网段和第二网关的至少一个第二网段。密钥协商模块将每个第一网段分别和每个第二网段组合,获得多个网段组合。
如图7所示,两个第一网段分别为10.1.0.0/16和11.1.0.0/16,一个第二网段为192.168.1.0/24,组合得到网段组合A(10.1.0.0/16 – 192.168.1.0/24)、网段组合B(11.1.0.0/16–192.168.1.0/24)、网段组合C(192.168.1.0/24-10.1.0.0/16)和网段组D(192.168.1.0/24-11.1.0.0/16)。
当网段密钥协商策略表征多网段共享密钥,密钥协商模块采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,获得多个网段组合共享的第二密钥。该共享的第二密钥,用于供多个网段组合中的每个第一网段与每个第二网段加密通信。
本实施例中,如图8所示,第一密钥包括第一加密密钥和第一解密密钥;第二密钥包括多个网段组合共享的第二解密密钥;当网段密钥协商策略表征多网段共享密钥,采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,获得多个网段组合共享的第二密钥,包括:
获取每个网段组合在第一网关处对应的第一组合密钥生成信息;当网段密钥协商策略表征多网段共享密钥,采用第一加密密钥加密每个第一组合密钥生成信息,形成加密协商信息;向第二网关发送加密协商信息,该加密协商信息,用于指示第二网关生成多个网段组合在第二网关处共享的组合解密密钥。组合解密密钥是与第一加密密钥相对应的解密密钥,用于对第一加密密钥加密的通信数据进行解密。
组合解密密钥,用于供多个网段组合中的第二网段解密来自第一网段的通信数据。
接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个网段组合在第二网关处对应的第二组合密钥生成信息;根据每个第二组合密钥生成信息,生成多个网段组合在第一网关处共享的第二解密密钥;第二解密密钥,用于供多个网段组合中的第一网段解密来自第二网段的通信数据。
本实施例中,第二网关获取每个网段组合在第二网关处对应的第二组合密钥生成信息,第二网关根据各第二组合密钥生成信息,生成多个网段组合在第二网关处共享的组合加密密钥。
组合加密密钥,用于供多个网段组合中的第二网段加密发送给第一网段的通信数据。
第二解密密钥是与组合加密密钥相对应的解密密钥,用于对组合加密密钥加密的通信数据进行解密。
进一步地,第二密钥还包括多个网段组合共享的第二加密密钥,该方法还包括:
根据每个第一组合密钥生成信息,生成多个网段组合在第一网关处共享的第二加密密钥;第二加密密钥,用于供多个网段组合中的第一网段加密发送给第二网段的通信数据。
本实施例中,网关配置信息中配置了需要第一网关中需要协商密钥的第一网段和第二网关需要协商密钥的第二网段,则分别将每个第一网段与每个第二网段组合,以确定需要协商密钥的多个网段组合。当网段密钥协商策略表征多网段共享密钥,表示需要为多个网段组合协商共享的密钥,则采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,准确获得多个网段组合共享的第二密钥。协商获得的共享的第二密钥,用于供多个网段组合中的每个第一网段与每个第二网段加密通信,使得多个网段组合可以使用共享密钥进行通信。并且,通过为不同类型的网关配置不同的密钥协商策略,能够避免有些类型的网关只支持多网段共享密钥,而有些类型的网关只支持单网段独享密钥所造成的不兼容的问题,从而能够自动适配与不同类型的网关之间的密钥协商处理。
在一个实施例中,该方法还包括:
当网段密钥协商策略表征单网段独享密钥,采用第一密钥与第二网关进行加密通信,以分别对每个网段组合进行密钥协商,获得每个网段组合对应的第二密钥;网段组合对应的第二密钥,用于供属于该网段组合中的第一网段与第二网段加密通信。
具体地,当网段密钥协商策略表征单网段独享密钥,表示需要为每个子网组合单独配置的第二密钥,则密钥协商模块获取每个网段组合在第一网关处对应的第一组合密钥生成信息。
密钥协商模块采用第一密钥与第二网关进行加密通信,在加密通信过程中,基于每个网段组合在第一网关处对应的第一组合密钥生成信息,确定每个网段组合在第一网关处对应的第二密钥。网段组合对应的第二密钥,用于供该网段组合中的第一网段与该网段组合中的第二网段加密通信。
在一个实施例中,该密钥协商方法应用在VPN网关产品中,其中包括2部分:控制台和后台。其中,控制台界面支持选择“对端网关”的厂商类型和产品型号,即网关类型,当选择厂商类型之后会自动选择对应的策略进行IKE协商,同时会对“VPN连接”的配置进行校验,当发现不兼容的配置时会在控制台提示错误和建议的正确配置。以“Azure”的VPN网关为例,当用户在控制台完成配置后,控制台会向后台的“策略数据库”拉取对应的配置,
比如请求信息如下:
{
"vendor_id":"test",
"cfg":[
{
"key":"ike_sa_lifetime",
"value":"38800" // 此处为不兼容配置
},
{
"key":"ipsec_sa_lifetime",
"value":"28800"
}
]
}
返回数据格式如下:
{
"error":"对端网关为Azure,建议将ike_sa_lifetime设置为小于28800"
}
后台的实现方面包括“IKE协商引擎”和“策略数据库”共同完成针对不同类型的对端网关执行不同的预设协商策略。如图9所示,以多网段subnet场景为例,控制台即控制面,当用户在控制台没有选择对端网关类型,IKE集群会在协商过程中尝试自动识别对端网关类型,并对其执行相应的预设协商策略,在策略数据库中设置策略如下:
Key:VendorId=“cisco vpn”; Value: Action=“SUBNET_PER_SA”
即当识别对端网关协商报文中携带“VendorId”为“cisco vpn”时,为每一个网段协商一个单独的第二密钥IPSec-SA。
本实施例中,网关配置信息中配置了需要第一网关中需要协商密钥的第一网段和第二网关需要协商密钥的第二网段,则分别将每个第一网段与每个第二网段组合,以确定需要协商密钥的多个网段组合。当网段密钥协商策略表征单网段独享密钥,表示需要为每个子网组合单独配置第二密钥,采用第一密钥与第二网关进行加密通信,以分别对每个网段组合进行密钥协商,以准确生成每个网段组合在第一网段处独享的第二密钥。每个网段组合对应的第二密钥,用于供相应网段组合中的第一网段与第二网段加密通信。并且,通过为不同类型的网关配置不同的密钥协商策略,能够避免有些类型的网关只支持多网段共享密钥,而有些类型的网关只支持单网段独享密钥所造成的不兼容的问题,从而能够自动适配与不同类型的网关之间的密钥协商处理。
在一个实施例中,如图10所示,第一密钥包括第一加密密钥和第一解密密钥;第二密钥包括每个网段组合对应的第二解密密钥;当网段密钥协商策略表征单网段独享密钥,采用第一密钥与第二网关进行加密通信,以分别对每个网段组合进行密钥协商,获得每个网段组合对应的第二密钥,包括:
步骤S1002,获取每个网段组合在第一网关处对应的第一组合密钥生成信息。
具体地,密钥协商模块通过与第一网关协商获得第一密钥,该第一密钥包括用于第一网关加密的第一加密密钥,以及用于第一网关解密的第一解密密钥。
同一网段组合在第一网关和第二网关处的组合密钥生成信息不同。网段组合在第一网关处的第一组合密钥生成信息,是生成用于该网段组合中的第一网段加密的第二加密密钥,也是用于该网段组合中的第二网段解密的组合解密密钥。
密钥协商模块可获取每个网段组合在第一网关处对应的第一组合密钥生成信息。进一步地,密钥协商模块可从配置信息中,获取每个网段组合在第一网关处对应的第一组合密钥生成信息。
步骤S1004,当网段密钥协商策略表征单网段独享密钥,采用第一加密密钥分别加密每个第一组合密钥生成信息,并将加密形成的加密协商信息向第二网关发送。
具体地,当网段密钥协商策略表征单网段独享密钥,表示需要为每个子网组合单独配置第二密钥,则采用第一加密密钥分别加密每个第一组合密钥生成信息,获得每个加密协商信息。将每个加密协商信息发送给第二网关,每个加密协商信息,用于指示第二网关分别生成每个网段组合在第二网关处的组合解密密钥。
进一步地,第二网关接收每个加密协商信息,通过第一加密密钥对应的网关解密密钥分别解密每个加密协商信息,获得每个第一组合密钥生成信息。第二网关根据每个第一组合密钥生成信息,分别生成每个网段组合在第二网关处的组合解密密钥。组合解密密钥是与第一加密密钥相对应的解密密钥。
本实施例中,加密形成的加密协商信息可以是包括对每个第一组合密钥生成信息加密的信息。或者,一个第一组合密钥生成信息可加密形成一个加密协商信息。
本实施例中,当一个第一组合密钥生成信息加密形成一个加密协商信息,密钥协商模块可将各加密协商信息一起发送给第二网关,也可以依次发送。还可以先发送其中一个加密协商信息,当接收到第二网关的加密响应信息后再发送下一个,在此不做过多限制。
步骤S1006,接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个网段组合在第二网关处对应的第二组合密钥生成信息。
具体地,第二网关接收每个加密协商信息后,可获取每个网段组合在第二网关处对应的第二组合密钥生成信息,生成加密响应信息。第二网关将加密响应信息返回给第一网关。
进一步地,第二网关可采用组合加密密钥分别对每个第二组合密钥生成信息加密,形成加密协商信息,将加密协商信息返回给第二网关。
密钥协商模块接收到第二网关返回的加密响应信息,通过第一解密密钥对该加密响应信息进行解密,获得每个网段组合在第二网关处对应的第二组合密钥生成信息。
本实施例中,加密响应信息可以是包括对每个第二组合密钥生成信息加密的信息。或者,一个第二组合密钥生成信息可加密形成一个加密响应信息。
本实施例中,当一个第二组合密钥生成信息加密形成一个加密响应信息,可将各加密响应信息一起返回给密钥协商模块,也可以依次返回。还可以先返回其中一个加密响应信息,当再次接收到密钥协商模块的加密协商信息后再发送下一个,在此不做过多限制。
步骤S1008,根据每个第二组合密钥生成信息,生成每个网段组合在第一网关处对应的第二解密密钥;第二解密密钥,用于供对应网段组合中的第一网段解密来自第二网段的通信数据。
具体地,针对每个网段组合的第二组合密钥生成信息,密钥协商模块根据所针对网段组合的第二组合密钥生成信息,生成所针对网段组合在第一网关处对应的第二解密密钥,以获得每个网段组合在第一网关处对应的第二解密密钥。
第二解密密钥是与相应网段组合的组合加密密钥相对应的解密密钥。第二解密密钥,用于供对应网段组合中的第一网段解密来自该网段组合中的第二网段的通信数据。
在其中一个实施例中,多个网段组合包括至少一个源端网段组合和至少一个目标端网段组合。源端网段组合是以第一网段为发送端,以第二网段为接收端的组合。而目标端网段组合相反,是以第二网段为发送端,第一网段为接收端的组合。
每个源端网段组合具有相匹配的目标端网段组合。源端网段组合与相匹配的目标端网段组合,这两个组合中的网段相同,收发数据的主体不同。例如,网段组合A(10.1.0.0/16–192.168.1.0/24)为源端网段组合,则网段组合C(192.168.1.0/24-10.1.0.0/16)为目标端网段组合。
获取每个网段组合在第一网关处对应的第一组合密钥生成信息,包括:
获取每个源端网段组合在第一网关处对应的第一组合密钥生成信息;
当网段密钥协商策略表征单网段独享密钥,采用第一加密密钥分别加密每个第一组合密钥生成信息,并将加密形成的加密协商信息向第二网关发送,包括:
当网段密钥协商策略表征单网段独享密钥,采用第一加密密钥分别加密每个第一组合密钥生成信息,并将加密形成的加密协商信息向第二网关发送;该加密协商信息,用于指示第二网关生成每个源端网段组合在第二网关处的组合解密密钥;
接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个网段组合在第二网关处对应的第二组合密钥生成信息,包括:
接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个目标端网段组合在第二网关处对应的第二组合密钥生成信息;
根据每个第二组合密钥生成信息,生成每个网段组合在第一网关处对应的第二解密密钥,包括:
根据每个目标端网段组合在第二网关处对应的第二组合密钥生成信息,生成每个目标端网段组合在第一网关处对应的第二解密密钥。
如图11所示,为一个实施例中,分别对每个网段组合进行密钥协商,获得每个网段组合对应的第二密钥的时序图。
密钥协商模块向第二网关发起类型获取请求。
密钥协商模块接收第二网关基于类型获取请求返回的响应报文,从响应报文中提取第二网关的网关类型。
密钥协商模块基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略。
密钥协商模块按照预设协商策略与第二网关进行密钥协商,获得第二密钥。
密钥协商模块调用预设接口,通过调用的预设接口,向第一网关发送第二密钥。
第一网关使用第二密钥与第二网关进行加密通信。
本实施例中,密钥协商模块按照预设协商策略与第二网关进行密钥协商,获得第二密钥的时序图如图12所示。
对端使用cisco网关、 IKEv2协议,本端有2个subnet 10.1.0.0/16, 11.1.0.0/16,对端1个subnet 192.168.1.0/24,那么本端有2个需要保护的网段组合A(10.1.0.0/16– 192.168.1.0/24)、B(11.1.0.0/16–192.168.1.0/24),对端也有2个需要保护的网段组合C(192.168.1.0/24-10.1.0.0/16)、D(192.168.1.0/24-11.1.0.0/16),策略DB存在这样一条策略:KEY:VendorId=“cisco vpn”,Value为“SUBNET_PER_SA”,PRE_V2_3。
密钥协商模块在进行第二阶段协商时,查找策略数据库,并且匹配到上述预设协商策略,该策略Action为在IKEv2协商发送第3个报文前执行,执行内容是要为每一个被保护的网段组合产生独立的IPSEC-SA,具体的交互过程如下:
密钥协商模块根据网段组合A的第一组合密钥生成信息,生成网段组合A的第二加密密钥,保存并存储。密钥协商模块采用第一加密密钥对网段组合A的第一组合密钥生成信息加密,形成网段组合A的加密协商信息并发送给第二网关。
第二网关收到网段组合A的加密协商信息后,采用网关解密密钥对加密协商信息进行解密,获得网段组合A的第一组合密钥生成信息。第二网关根据第一组合密钥生成信息,生成网段组合A的组合解密密钥,保存并存储。
第二网关根据网段组合C的第二组合密钥生成信息,生成网段组合C的组合加密密钥。第二网关采用网关加密密钥对将网段组合C的第二组合密钥生成信息加密,形成网段组合C的加密响应信息,并发送给密钥协商模块。
密钥协商模块收到网段组合C的加密响应信息后,采用第一解密密钥对该加密响应信息进行解密,获得网段组合C的第二组合密钥生成信息加密。密钥协商模块根据网段组合C的第二组合密钥生成信息加密,生成网段组合C的第二解密密钥,保存并存储。
密钥协商模块根据网段组合B的第一组合密钥生成信息,生成网段组合B的第二加密密钥,保存并存储该。密钥协商模块采用第一加密密钥对网段组合B的第一组合密钥生成信息加密,形成网段组合B的加密协商信息并发送给第二网关。
第二网关收到网段组合B的加密协商信息后,采用网关解密密钥对加密协商信息进行解密,获得网段组合B的第一组合密钥生成信息。第二网关根据第一组合密钥生成信息,生成网段组合B的组合解密密钥,保存并存储。
第二网关根据网段组合D的第二组合密钥生成信息,生成网段组合D的组合加密密钥。第二网关采用网关加密密钥对将网段组合D的第二组合密钥生成信息加密,形成网段组合D的加密响应信息,并发送给密钥协商模块。
密钥协商模块收到网段组合D的加密响应信息后,采用第一解密密钥对该加密响应信息进行解密,获得网段组合D的第二组合密钥生成信息加密。密钥协商模块根据网段组合D的第二组合密钥生成信息加密,生成网段组合D的第二解密密钥,保存并存储。
至此协商完毕,在密钥协商模块共有4个密钥,分别用于对网段组合A、B加密的第二加密密钥、分别用于对网段组合C、D解密的第二解密密钥。
在第二网关也会有4个密钥,分别用于对网段组合A、B的解密的组合解密密钥,分别用于对网段组合C、D加密的组合加密密钥。
本实施例中,获取每个网段组合在第一网关处对应的第一组合密钥生成信息,当网段密钥协商策略表征单网段独享密钥,采用第一加密密钥分别加密每个第一组合密钥生成信息,并将加密形成的加密协商信息向第二网关发送,以指示第二网关生成针对每个网段组合的组合解密密钥,从而能够对来自第一网关的第一网段的加密数据进行针对性解密处理,提高通信的安全性。接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个网段组合在第二网关处对应的第二组合密钥生成信息,从而根据每个第二组合密钥生成信息,生成第一网关针对每个网段组合的第二解密密钥,使得第一网关能够对来自第二网关的第二网段的加密数据进行针对性解密处理,提高通信的安全性。
并且,针对特定类型的网关的指定网段协商各自的加密密钥和解密密钥,从而能够基于网关的类型制定适配的密钥协商方式,从而能够避免不同类型的网关之间的密钥协商手段不兼容的问题。以及,还可以在首次进行密钥协商的情况下意识到该类型的网关所支持的密钥协商方式,无需用户手动配置,能够提高密钥协商的效率,从而提高通信效率。
在一个实施例中,第二密钥还包括每个网段组合对应的第二加密密钥,该方法还包括:
根据每个第一组合密钥生成信息,生成每个网段组合在第一网关处对应的第二加密密钥;第二加密密钥,用于供对应网段组合中的第一网段加密发送给第二网段的通信数据。
其中,每个网段组合对应的第二加密密钥,是指每个网段组合独享的加密密钥。一个网段组合对应的第二加密密钥,用于供该网段组合中的第一网段加密发送给该网段组合中的第二网段的通信数据。
具体地,当网段密钥协商策略表征单网段独享密钥,针对每个网段组合的第一组合密钥生成信息,密钥协商模块根据所针对网段组合的第一组合密钥生成信息,生成所针对网段组合在第一网关处对应的第二加密密钥,以获得每个网段组合在第一网关处对应的第二加密密钥。
本实施例中,当网段密钥协商策略表征单网段独享密钥,根据每个第一组合密钥生成信息,分别生成每个网段组合在第一网关处对应的第二加密密钥,从而能够为每个网段组合生成一个独享的第二加密密钥,使得不同网段组合可以使用独有的第二加密密钥对需要发送的通信数据进行加密,能够提高通信数据的安全性。
在其中一个实施例中,根据每个第一组合密钥生成信息,生成每个网段组合在第一网关处对应的第二加密密钥,包括:
根据每个源端网段组合在第一网关处对应的第一组合密钥生成信息,生成每个源端网段组合在第一网关处对应的第二加密密钥。
在一个实施例中,预设协商策略包括生存时长配置策略和密钥协商策略;按照预设协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥,包括:
获取第一网关的预设的第一密钥生存时长,并获取第二网关的预设的第二密钥生存时长;确定第一密钥生存时长和第二密钥生存时长间的时长比对结果;
当时长比对结果满足生存时长配置策略,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥。
其中,生存时长配置策略,是基于第一密钥生存时长和第二密钥生存时长之间的时长比对结果,识别第一网关是否具备与第二网关进行密钥协商的权限的策略。时长比对结果满足生存时长配置策略,则表示具备密钥协商权限,意味着允许密钥协商以获得第二密钥。
时长比对结果不满足生存时长配置策略,则表示不具备密钥协商权限,意味着不执行与第二网关的密钥协商。
生存时长配置策略,具体可以是第一密钥生存时长小于或等于第二密钥生存时长。
密钥协商策略与第二网关协商第二密钥时所使用的协商策略。密钥协商策略可包括网段密钥协商策略。
预设的第一密钥生存时长,是为第一网关的密钥预设配置的生存时长。预设的第二密钥生存时长,是为第二网关的密钥预设配置的生存时长。不同类型的网关所支持的密钥生存时长不同,例如,一些类型的网关能够支持密钥生存28800秒,一些类型的网关能够支持密钥生存38800秒。
具体地,密钥协商模块从网关配置信息中获取第一网关的预设的第一密钥生存时长,以及获取第二网关的预设的第二密钥生存时长。
对比第一密钥生存时长和第二密钥生存时长,获得时长比对结果。该时长比对结果,表征第一密钥生存时长大于第二密钥生存时长,或者,表征第一密钥生存时长小于或等于第二密钥生存时长。
生存时长配置策略表征限制第一密钥生存时长小于或等于第二密钥生存时长。当时长比对结果表征第一密钥生存时长小于或等于第二密钥生存时长,表示时长比对结果满足生存时长配置策略,密钥协商模块按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥。
本实施例中,当时长比对结果不满足生存时长配置策略,则停止执行第二密钥的协商,即不执行第二密钥的协商。
生存时长配置策略表征限制第一密钥生存时长小于或等于第二密钥生存时长。当时长比对结果表征第一密钥生存时长大于第二密钥生存时长,表示时长比对结果不满足生存时长配置策略,则不执行第二密钥的协商。
在其中一个实施例中,网关配置信息包括第一网关的至少一个第一网段和第二网关的至少一个第二网段;密钥协商策略包括网段密钥协商策略,当时长比对结果满足生存时长配置策略,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥,包括:
当时长比对结果满足生存时长配置策略,分别将每个第一网段与每个第二网段组合,获得多个网段组合;
当网段密钥协商策略表征多网段共享密钥,采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,获得多个网段组合共享的第二密钥;共享的第二密钥,用于供多个网段组合中的每个第一网段与每个第二网段加密通信。
进一步地,该方法还包括:
当网段密钥协商策略表征单网段独享密钥,采用第一密钥与第二网关进行加密通信,以分别对每个网段组合进行密钥协商,获得每个网段组合对应的第二密钥;网段组合对应的第二密钥,用于供属于网段组合中的第一网段与第二网段加密通信。
传统的密钥协商没有考虑到不同类型的网关能够支持的密钥生存时长不同,存在一端网关的密钥失效后另一端网关的密钥仍有效的情况,导致密钥失效的网关与对端网关之间产生断流。而本实施例中,获取第一网关的预设的第一密钥生存时长,并获取第二网关的预设的第二密钥生存时长,以确定第一密钥生存时长和第二密钥生存时长间的时长比对结果,从而在时长比对结果满足生存时长配置策略的情况下,才按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,从而能够在密钥协商之前考虑双端网关的密钥生存时长,从而避免不同网关的密钥生存时长之间的差异可能带来的断流现象。
在其中一个实施例中,预设协商策略还包括密钥重置条件;该方法还包括:
当第二密钥满足密钥重置条件,删除第一网关的第二密钥;按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
密钥重置条件表示当第二密钥的已生存时长达到第一密钥生存时长时重置密钥。即当第二密钥的已生存时长达到第一密钥生存时长,表示密钥失效,删除第一网关的第二密钥;按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
在一个实施例中,预设协商策略还包括密钥协商策略对应的策略执行位置;当时长比对结果满足生存时长配置策略,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥,包括:
当时长比对结果满足生存时长配置策略,在策略执行位置处,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥。
其中,策略执行位置是指开始执行第二密钥的协商的位置。该策略执行位置,用于指示何时开始执行密钥协商策略。
具体地,预设协商策略包括生存时长配置策略、密钥协商策略,以及密钥协商策略对应的策略执行位置。当时长比对结果满足生存时长配置策略,密钥协商模块确定密钥协商策略对应的策略执行位置,在策略执行位置处,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥。
本实施例中,可基于第二网关的网关类型和协商模式,确定与第二网关相匹配的预设协商策略。不同协商模式中,信息发送和信息接收的次数不同,则需要考虑到密钥协商策略需要在哪次信息发送前或发送后执行。即,该策略执行位置,指示在使用特定协商模式的情况下,在发送第几个信息前按照密钥协商策略执行密钥协商。
例如,在协商模式为IKEv2模式,策略执行位置为PRE_V2_3,表示使用IKEv2模式进行协商,并在IKEv2模式协商中发送第3个信息前按照密钥协商策略执行密钥协商。
本实施例中,当时长比对结果满足生存时长配置策略,确定策略执行位置,能够判断在不同的协商模式下何时开始执行密钥协商策略。以在策略执行位置处,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,从而在加密通信中进行密钥协商,从而考虑到密钥协商策略在不同协商模式下的执行位置,有效保证密钥协商策略的顺利执行。
在一个实施例中,预设协商策略还包括密钥重置条件;该方法还包括:
当第二密钥符合密钥重置条件,删除第二密钥;响应于第一网关对预设接口的调用请求,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
具体地,预设协商策略包括生存时长配置策略、密钥协商策略和密钥重置条件。当密钥协商模块与第二网关协商获得第二密钥后,为第二密钥设置密钥重置条件。
密钥协商模块调用预设接口,通过调用的预设接口,向第一网关发送第二密钥。密钥协商模块定时或实时检测第二密钥是否符合密钥重置条件,不符合则继续检测。当第二密钥符合密钥重置条件,删除第二密钥,并响应于第一网关对预设接口的调用请求,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
本实施例中,密钥协商模块记录第二密钥的已生存时长,当第二密钥的已生存时长达到第一密钥生存时长时,表示第二密钥符合密钥重置条件,则密钥协商模块删除第二密钥。
本实施例中,该方法还包括:
密钥协商模块调用预设接口,通过调用的预设接口,向第一网关发送第二密钥和密钥重置条件;密钥重置条件,用于指示第一网关在第二密钥符合密钥重置条件时调用预设接口,以指示密钥协商模块重新发起第二密钥的协商。
在其中一个实施例中,该方法还包括:
密钥协商模块调用预设接口,通过调用的预设接口,向第一网关发送第二密钥和密钥重置条件;
响应于第一网关在第二密钥符合密钥重置条件时对预设接口的调用请求,删除第二密钥;按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
传统的密钥协商没有考虑到不同类型的网关能够支持的密钥生存时长不同,存在一端网关的密钥失效后另一端网关的密钥仍有效的情况,而密钥失效的网关不会主动发起与对端网关的重新协商,导致密钥失效的网关与对端网关之间产生断流现象。而本实施例中,考虑到不同类型的网关所支持的密钥生存时长不同,为协商获得的密钥设置了密钥重置条件,使得协商获得的密钥在失效或即将失效时能够重新发起密钥协商,能够有效避免由于双端网关的密钥生存时长不同所造成的无法通信的情况。并且,通过设置密钥重置条件,能够在密钥失效或即将失效时能够自动发起新的密钥协商,无需人为修改配置信息,提高密钥协商的效率。
在一个实施例中,该方法还包括:从网关配置信息中,获取第二网关的第二网关地址和协商模式;
基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略,包括:
基于第二网关地址、协商模式和网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略。
具体地,密钥协商模块可从网关配置信息中,获取第二网关的第二网关地址和协商模式。预置的策略数据库中存储了多个预设网关地址、多个预设协商模式和多个预设网关类型,以及与每个预设网关地址、每个预设协商模式和每个预设网关类型相匹配的预设协商策略。
密钥协商模块可将第二网关的第二网关地址、协商模式和网关类型在策略数据库中进行查找,以查找与第二网关地址、协商模式和网关类型相匹配的预设协商策略。将查找到的预设协商策略作为与第二网关相匹配的预设协商策略。
本实施例中,密钥协商模块可将第二网关的第二网关地址、协商模式和网关类型作为键,在策略数据库中查找与该键相匹配的值,该值表征预设协商策略。
本实施例中,预置的策略数据库中预先配置了不同网关地址、不同协商模式和不同网关类型等相匹配的预设协商策略,从而能够基于不同网关的网关地址、不同网关的网关类型,以及不同网关所使用的协商模式,共同筛选出与网关适配的预设协商策略,能够为不同的网关配置不同的协商策略,从而能够兼容与不同网关之间的协商操作。
在一个实施例中,提供了一种密钥协商方法,应用于密钥协商模块,密钥协商模块独立于第一网关,通过预设接口与第一网关交互,该方法包括:
获取网关配置信息,基于网关配置信息,确定需与第一网关进行加密通信的第二网关;网关配置信息包括第一网关的至少一个第一网段和第二网关的至少一个第二网段,预设协商策略包括网段密钥协商策略。
获取第一网关的第一网关密钥生成信息,基于第一网关密钥生成信息,生成用于第一网关加密的第一加密密钥;向第二网关发送第一网关密钥生成信息,第一网关密钥生成信息,用于指示第二网关生成用于解密的网关解密密钥;接收第二网关返回的第二网关密钥生成信息,基于第二网关密钥生成信息,生成用于第一网关解密的第一解密密钥。
当网关配置信息包括第二网关的网关类型,从网关配置信息中获取第二网关的网关类型;当网关配置信息不包括第二网关的网关类型,向第二网关发起类型获取请求;接收第二网关基于类型获取请求返回的响应报文,从响应报文中提取第二网关的网关类型。
从网关配置信息中,获取第二网关的第二网关地址和协商模式;
基于第二网关地址、协商模式和网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略;预设协商策略包括生存时长配置策略、网段密钥协商策略、网段密钥协商策略对应的策略执行位置和密钥重置条件。
分别将每个第一网段与每个第二网段组合,获得多个网段组合;获取第一网关的预设的第一密钥生存时长,并获取第二网关的预设的第二密钥生存时长;确定第一密钥生存时长和第二密钥生存时长间的时长比对结果。
当时长比对结果满足生存时长配置策略,且网段密钥协商策略表征多网段共享密钥,在策略执行位置处,采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,获得多个网段组合共享的第二密钥;共享的第二密钥,用于供多个网段组合中的每个第一网段与每个第二网段加密通信。
当时长比对结果满足生存时长配置策略,且网段密钥协商策略表征单网段独享密钥,获取每个网段组合在第一网关处对应的第一组合密钥生成信息;根据每个第一组合密钥生成信息,生成每个网段组合在第一网关处对应的第二加密密钥;第二加密密钥,用于供对应网段组合中的第一网段加密发送给第二网段的通信数据。
当网段密钥协商策略表征单网段独享密钥,采用第一加密密钥分别加密每个第一组合密钥生成信息,在策略执行位置处,将加密形成的加密协商信息向第二网关发送;接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个网段组合在第二网关处对应的第二组合密钥生成信息;根据每个第二组合密钥生成信息,生成每个网段组合在第一网关处对应的第二解密密钥;第二解密密钥,用于供对应网段组合中的第一网段解密来自第二网段的通信数据。
调用预设接口,通过调用的预设接口,向第一网关发送第二加密密钥和第二解密密钥,第二密钥用于供第一网关与第二网关加密通信。
当第二密钥符合密钥重置条件,删除第二密钥;响应于第一网关对预设接口的调用请求,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二加密密钥和第二解密密钥。
在一个实施例中,提供了一种密钥协商方法,如图13所示的时序图,包括:
用户在网关控制器的控制界面配置密钥协商的相关信息,形成网关配置信息。该网关配置信息如下:
第二网关为cisco网关、IKEv2模式,第一网关有2个第一网段参与密钥协商,即10.1.0.0/16和11.1.0.0/16,第二网关有1个第二网段参与密钥协商,即192.168.1.0/24,那么第一网关有2个需要保护的网段组合,即网段组合A(10.1.0.0/16–192.168.1.0/24)和网段组合B(11.1.0.0/16–192.168.1.0/24)。第二网关也有2个需要保护的网段组合,即网段组合C(192.168.1.0/24-10.1.0.0/16)和网段组合D(192.168.1.0/24-11.1.0.0/16)。
该配置信息中还包括第一网关的第一网关地址和第二网关的第二网关地址等。
密钥协商模块接收网关控制器下发的网关配置信息,从网关配置信息中确定第二网关的网关类型。
第一阶段的密钥协商:
密钥协商模块获取第一网关的第一网关密钥生成信息,基于第一网关密钥生成信息,生成用于第一网关加密的第一加密密钥。
密钥协商模块向第二网关发送第一网关密钥生成信息,第一网关密钥生成信息,用于指示第二网关生成用于解密的网关解密密钥。
第二网关根据第二网关密钥生成信息,生成用于第二网关加密的网关加密密钥。
密钥协商模块接收第二网关返回的第二网关密钥生成信息,基于第二网关密钥生成信息,生成用于第一网关解密的第一解密密钥。
密钥协商模块通过第二网关的网关类型“cisco vpn”,在策略数据库中查找相匹配的预设协商策略,策略数据库存在这样一条预设协商策略:
KEY:VendorId=“cisco vpn”,Value为“SUBNET_PER_SA”,PRE_V2_3。
密钥协商模块在进行第二阶段协商时,查找策略数据库,可匹配到上述预设协商策略。该策略执行位置“PRE_V2_3”,表征使用IKEv2模式进行密钥协商,且在发送第3个报文前执行该“SUBNET_PER_SA”。网段密钥协商策略“SUBNET_PER_SA”,表示要为每一个被保护的网段组合产生独立的IPSEC-SA,第二阶段协商的具体过程如下:
密钥协商模块根据网段组合A的第一组合密钥生成信息,生成网段组合A的第二加密密钥,保存并存储。密钥协商模块采用第一加密密钥对网段组合A的第一组合密钥生成信息加密,形成网段组合A的加密协商信息并发送给第二网关。
第二网关收到网段组合A的加密协商信息后,采用网关解密密钥对加密协商信息进行解密,获得网段组合A的第一组合密钥生成信息。第二网关根据第一组合密钥生成信息,生成网段组合A的组合解密密钥,保存并存储。
第二网关根据网段组合C的第二组合密钥生成信息,生成网段组合C的组合加密密钥。第二网关采用网关加密密钥对将网段组合C的第二组合密钥生成信息加密,形成网段组合C的加密响应信息,并发送给密钥协商模块。
密钥协商模块收到网段组合C的加密响应信息后,采用第一解密密钥对该加密响应信息进行解密,获得网段组合C的第二组合密钥生成信息加密。密钥协商模块根据网段组合C的第二组合密钥生成信息加密,生成网段组合C的第二解密密钥,保存并存储。
密钥协商模块根据网段组合B的第一组合密钥生成信息,生成网段组合B的第二加密密钥,保存并存储该。密钥协商模块采用第一加密密钥对网段组合B的第一组合密钥生成信息加密,形成网段组合B的加密协商信息并发送给第二网关。
第二网关收到网段组合B的加密协商信息后,采用网关解密密钥对加密协商信息进行解密,获得网段组合B的第一组合密钥生成信息。第二网关根据第一组合密钥生成信息,生成网段组合B的组合解密密钥,保存并存储。
第二网关根据网段组合D的第二组合密钥生成信息,生成网段组合D的组合加密密钥。第二网关采用网关加密密钥对将网段组合D的第二组合密钥生成信息加密,形成网段组合D的加密响应信息,并发送给密钥协商模块。
密钥协商模块收到网段组合D的加密响应信息后,采用第一解密密钥对该加密响应信息进行解密,获得网段组合D的第二组合密钥生成信息加密。密钥协商模块根据网段组合D的第二组合密钥生成信息加密,生成网段组合D的第二解密密钥,保存并存储。
至此协商完毕,在密钥协商模块共有4个密钥,分别用于对网段组合A、B加密的第二加密密钥、分别用于对网段组合C、D解密的第二解密密钥。
在第二网关也会有4个密钥,分别用于对网段组合A、B的解密的组合解密密钥,分别用于对网段组合C、D加密的组合加密密钥。
调用预设接口,通过调用的预设接口,向第一网关发送对网段组合A、B加密的第二加密密钥、分别用于对网段组合C、D解密的第二解密密钥。
第一网关可通过网段组合A、B的第二加密密钥和网段组合C、D的第二解密密钥,与第二网关进行加密通信。
当第一网关检测到第二加密密钥、第二解密密钥失效或即将失效,则调用预设接口指示密钥协商模块重新进行密钥协商。
密钥协商模块响应于第一网关对预设接口的调用请求,重新协商网段组合A、B、C、D的密钥。
本实施例中,通过将复杂度较高的IKE组件从VPN网关剥离出来,形成一个具有策略可扩展的、具备策略执行能力的密钥协商模块,统一与各种类型的对端网关进行IKE协商,具有以下效果:
对于一些已知的对端网关设备的行为,可以预先设置相应的协商策略到“策略数据库”中,一方面可以对一些网关设备做自适应的兼容行为,另一方面可以将一些不兼容的配置阻挡在第一次协商阶段,避免将来出问题时耗费精力进行排查。
“策略数据库”和“IKE策略引擎”是可扩展的并且其行为是可以定制化的,当识别到新的对端VPN网关不兼容行为时,可以通过为指定的VPN网关配置策略来进行兼容。
独立的IKE集群隔离了复杂度并且与加解密组件分离,可以独立升级和扩展,并且不会影响数据的加解密和转发,提升了运维效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的密钥协商方法的密钥协商装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个密钥协商装置实施例中的具体限定可以参见上文中对于密钥协商方法的限定,在此不再赘述。
在一个实施例中,如图14所示,提供了一种密钥协商装置1400,密钥协商装置独立于第一网关,通过预设接口与第一网关交互,该装置包括:
策略存储模块1402,用于在预置的策略数据库中存储预设协商策略。
密钥协商引擎1404,用于获取网关配置信息,基于网关配置信息,确定需与第一网关进行加密通信的第二网关;与第二网关协商第一密钥;获取第二网关的网关类型,基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略;按照预设协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥;调用预设接口,通过调用的预设接口,向第一网关发送第二密钥,第二密钥用于供第一网关与第二网关加密通信。
本实施例中,提供了独立于第一网关的密钥协商装置,并通过预设接口与第一网关交互,使得用于密钥协商引擎能够从传统的网关中剥离出来。密钥协商引擎获取网关配置信息,基于网关配置信息,确定需与第一网关进行加密通信的第二网关,以通过与第二网关协商第一密钥来建立密钥协商引擎和第二网关之间的信任关系。获取第二网关的网关类型,基于网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略,使得密钥协商引擎通过协商策略的匹配能力,为不同类型的网关适配预先配置的协商策略。按照预设协商策略,采用第一密钥与第二网关进行加密通信,以在加密通信中进行密钥协商,提高密钥协商的安全性,获得的第二密钥更可信。并且,使得密钥协商引擎通过协商策略的执行能力,按照所匹配的预设协商策略来适配不同类型的网关的协商行为,能够有效解决不同网关之间不兼容的问题。调用预设接口,通过调用的预设接口向第一网关发送第二密钥,使得第一网关可通过第二密钥与第二网关加密通信,提高通信的安全性。
在一个实施例中,密钥协商引擎1404,还用于获取第一网关的第一网关密钥生成信息,基于第一网关密钥生成信息,生成用于第一网关加密的第一加密密钥;向第二网关发送第一网关密钥生成信息,第一网关密钥生成信息,用于指示第二网关生成用于解密的网关解密密钥;接收第二网关返回的第二网关密钥生成信息,基于第二网关密钥生成信息,生成用于第一网关解密的第一解密密钥。
本实施例中,获取第一网关的第一网关密钥生成信息,以基于第一网关密钥生成信息,生成用于第一网关加密的第一加密密钥,使得第一网关可以使用第一加密密钥对发送给第二网关的数据进行加密,避免数据泄漏。
向第二网关发送第一网关密钥生成信息,使得第二网关可以使用该第一网关密钥生成信息生成用于解密的网关解密密钥,以对第一网关使用第一加密密钥加密的数据进行准确解密。第二网关会基于第二网关密钥生成信息,生成用于第二网关加密的网关加密密钥,使得第二网关可以使用网关加密密钥对发送给第一网关的数据进行加密,避免数据泄漏。而密钥协商模块接收第二网关返回的第二网关密钥生成信息,能够基于第二网关密钥生成信息,生成用于第一网关解密的第一解密密钥,使得第一网关可以使用该第二网关密钥生成信息生成用于解密的第一解密密钥,以对第二网关使用网关加密密钥加密的数据进行准确解密,从而有效实现双网关之间的网络密钥交换,以在后续实现加密通信。
在一个实施例中,密钥协商引擎1404,还用于当网关配置信息不包括第二网关的网关类型,向第二网关发起类型获取请求;接收第二网关基于类型获取请求返回的响应报文,从响应报文中提取第二网关的网关类型。
本实施例中,当网关配置信息中已经配置了第二网关的网关类型,可直接从网关配置信息提取网关类型,以快速匹配第二网关对应的预设协商策略。当网关配置信息不包括第二网关的网关类型,向第二网关发起类型获取请求,以从第二网关返回的响应报文中准确提取出第二网关的网关类型。
在一个实施例中,网关配置信息包括第一网关的至少一个第一网段和第二网关的至少一个第二网段;预设协商策略包括网段密钥协商策略;
密钥协商引擎1404,还用于分别将每个第一网段与每个第二网段组合,获得多个网段组合;当网段密钥协商策略表征多网段共享密钥,采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,获得多个网段组合共享的第二密钥;共享的第二密钥,用于供多个网段组合中的每个第一网段与每个第二网段加密通信。
本实施例中,网关配置信息中配置了需要第一网关中需要协商密钥的第一网段和第二网关需要协商密钥的第二网段,则分别将每个第一网段与每个第二网段组合,以确定需要协商密钥的多个网段组合。当网段密钥协商策略表征多网段共享密钥,表示需要为多个网段组合协商共享的密钥,则采用第一密钥与第二网关进行加密通信,以对多个网段组合进行密钥协商,准确获得多个网段组合共享的第二密钥。协商获得的共享的第二密钥,用于供多个网段组合中的每个第一网段与每个第二网段加密通信,使得多个网段组合可以使用共享密钥进行通信。并且,通过为不同类型的网关配置不同的密钥协商策略,能够避免有些类型的网关只支持多网段共享密钥,而有些类型的网关只支持单网段独享密钥所造成的不兼容的问题,从而能够自动适配与不同类型的网关之间的密钥协商处理。
在一个实施例中,密钥协商引擎1404,还用于当网段密钥协商策略表征单网段独享密钥,采用第一密钥与第二网关进行加密通信,以分别对每个网段组合进行密钥协商,获得每个网段组合对应的第二密钥;网段组合对应的第二密钥,用于供属于网段组合中的第一网段与第二网段加密通信。
本实施例中,网关配置信息中配置了需要第一网关中需要协商密钥的第一网段和第二网关需要协商密钥的第二网段,则分别将每个第一网段与每个第二网段组合,以确定需要协商密钥的多个网段组合。当网段密钥协商策略表征单网段独享密钥,表示需要为每个子网组合单独配置第二密钥,采用第一密钥与第二网关进行加密通信,以分别对每个网段组合进行密钥协商,以准确生成每个网段组合在第一网段处独享的第二密钥。每个网段组合对应的第二密钥,用于供相应网段组合中的第一网段与第二网段加密通信。并且,通过为不同类型的网关配置不同的密钥协商策略,能够避免有些类型的网关只支持多网段共享密钥,而有些类型的网关只支持单网段独享密钥所造成的不兼容的问题,从而能够自动适配与不同类型的网关之间的密钥协商处理。
在一个实施例中,第一密钥包括第一加密密钥和第一解密密钥;第二密钥包括每个网段组合对应的第二解密密钥;
密钥协商引擎1404,还用于获取每个网段组合在第一网关处对应的第一组合密钥生成信息;当网段密钥协商策略表征单网段独享密钥,采用第一加密密钥分别加密每个第一组合密钥生成信息,并将加密形成的加密协商信息向第二网关发送;接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个网段组合在第二网关处对应的第二组合密钥生成信息;根据每个第二组合密钥生成信息,生成每个网段组合在第一网关处对应的第二解密密钥;第二解密密钥,用于供对应网段组合中的第一网段解密来自第二网段的通信数据。
本实施例中,获取每个网段组合在第一网关处对应的第一组合密钥生成信息,当网段密钥协商策略表征单网段独享密钥,采用第一加密密钥分别加密每个第一组合密钥生成信息,并将加密形成的加密协商信息向第二网关发送,以指示第二网关生成针对每个网段组合的组合解密密钥,从而能够对来自第一网关的第一网段的加密数据进行针对性解密处理,提高通信的安全性。接收第二网关基于加密协商信息返回的加密响应信息,通过第一解密密钥解密加密响应信息,获得每个网段组合在第二网关处对应的第二组合密钥生成信息,从而根据每个第二组合密钥生成信息,生成第一网关针对每个网段组合的第二解密密钥,使得第一网关能够对来自第二网关的第二网段的加密数据进行针对性解密处理,提高通信的安全性。
并且,针对特定类型的网关的指定网段协商各自的加密密钥和解密密钥,从而能够基于网关的类型制定适配的密钥协商方式,从而能够避免不同类型的网关之间的密钥协商手段不兼容的问题。以及,还可以在首次进行密钥协商的情况下意识到该类型的网关所支持的密钥协商方式,无需用户手动配置,能够提高密钥协商的效率,从而提高通信效率。
在一个实施例中,第二密钥还包括每个网段组合对应的第二加密密钥,密钥协商引擎1404,还用于根据每个第一组合密钥生成信息,生成每个网段组合在第一网关处对应的第二加密密钥;第二加密密钥,用于供对应网段组合中的第一网段加密发送给第二网段的通信数据。
本实施例中,当网段密钥协商策略表征单网段独享密钥,根据每个第一组合密钥生成信息,分别生成每个网段组合在第一网关处对应的第二加密密钥,从而能够为每个网段组合生成一个独享的第二加密密钥,使得不同网段组合可以使用独有的第二加密密钥对需要发送的通信数据进行加密,能够提高通信数据的安全性。
在一个实施例中,预设协商策略包括生存时长配置策略和密钥协商策略;密钥协商引擎1404,还用于获取第一网关的预设的第一密钥生存时长,并获取第二网关的预设的第二密钥生存时长;确定第一密钥生存时长和第二密钥生存时长间的时长比对结果;当时长比对结果满足生存时长配置策略,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥。
传统的密钥协商没有考虑到不同类型的网关能够支持的密钥生存时长不同,存在一端网关的密钥失效后另一端网关的密钥仍有效的情况,导致密钥失效的网关与对端网关之间产生断流。而本实施例中,获取第一网关的预设的第一密钥生存时长,并获取第二网关的预设的第二密钥生存时长,以确定第一密钥生存时长和第二密钥生存时长间的时长比对结果,从而在时长比对结果满足生存时长配置策略的情况下,才按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,从而能够在密钥协商之前考虑双端网关的密钥生存时长,从而避免不同网关的密钥生存时长之间的差异可能带来的断流现象。
在一个实施例中,预设协商策略还包括密钥协商策略对应的策略执行位置,密钥协商引擎1404,还用于当时长比对结果满足生存时长配置策略,在策略执行位置处,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以进行密钥协商,获得第二密钥。
本实施例中,当时长比对结果满足生存时长配置策略,确定策略执行位置,能够判断在不同的协商模式下何时开始执行密钥协商策略。以在策略执行位置处,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,从而在加密通信中进行密钥协商,从而考虑到密钥协商策略在不同协商模式下的执行位置,有效保证密钥协商策略的顺利执行。
在一个实施例中,预设协商策略还包括密钥重置条件;密钥协商引擎1404,还用于当第二密钥符合密钥重置条件,删除第二密钥;响应于第一网关对预设接口的调用请求,按照密钥协商策略,采用第一密钥与第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
传统的密钥协商没有考虑到不同类型的网关能够支持的密钥生存时长不同,存在一端网关的密钥失效后另一端网关的密钥仍有效的情况,而密钥失效的网关不会主动发起与对端网关的重新协商,导致密钥失效的网关与对端网关之间产生断流现象。而本实施例中,考虑到不同类型的网关所支持的密钥生存时长不同,为协商获得的密钥设置了密钥重置条件,使得协商获得的密钥在失效或即将失效时能够重新发起密钥协商,能够有效避免由于双端网关的密钥生存时长不同所造成的无法通信的情况。并且,通过设置密钥重置条件,能够在密钥失效或即将失效时能够自动发起新的密钥协商,无需人为修改配置信息,提高密钥协商的效率。
在一个实施例中,密钥协商引擎1404,还用于从网关配置信息中,获取第二网关的第二网关地址和协商模式;基于第二网关地址、协商模式和网关类型,从预置的策略数据库中选择与第二网关相匹配的预设协商策略。
本实施例中,预置的策略数据库中预先配置了不同网关地址、不同协商模式和不同网关类型等相匹配的预设协商策略,从而能够基于不同网关的网关地址、不同网关的网关类型,以及不同网关所使用的协商模式,共同筛选出与网关适配的预设协商策略,能够为不同的网关配置不同的协商策略,从而能够兼容与不同网关之间的协商操作。
上述密钥协商装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种密钥协商方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (24)
1.一种密钥协商方法,其特征在于,应用于密钥协商模块,所述密钥协商模块独立于第一网关,通过预设接口与所述第一网关交互,所述方法包括:
获取网关配置信息,基于所述网关配置信息,确定需与所述第一网关进行加密通信的第二网关;
与所述第二网关协商第一密钥;
获取所述第二网关的网关类型,基于所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略,所述预设协商策略包括密钥协商策略,或者还包括生存时长配置策略、密钥协商策略对应的策略执行位置、密钥重置条件中的至少一种;
按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥;
调用所述预设接口,通过调用的所述预设接口,向所述第一网关发送所述第二密钥,所述第二密钥用于供所述第一网关与所述第二网关加密通信。
2.根据权利要求1所述的方法,其特征在于,所述第一密钥包括第一加密密钥和第一解密密钥;所述与所述第二网关协商第一密钥,包括:
获取所述第一网关的第一网关密钥生成信息,基于所述第一网关密钥生成信息,生成用于所述第一网关加密的第一加密密钥;
向所述第二网关发送所述第一网关密钥生成信息,所述第一网关密钥生成信息,用于指示所述第二网关生成用于解密的网关解密密钥;
接收所述第二网关返回的第二网关密钥生成信息,基于所述第二网关密钥生成信息,生成用于所述第一网关解密的第一解密密钥。
3.根据权利要求1所述的方法,其特征在于,所述获取所述第二网关的网关类型,包括:
当所述网关配置信息不包括所述第二网关的网关类型,向所述第二网关发起类型获取请求;
接收所述第二网关基于所述类型获取请求返回的响应报文,从所述响应报文中提取所述第二网关的网关类型。
4.根据权利要求1所述的方法,其特征在于,所述网关配置信息包括所述第一网关的至少一个第一网段和所述第二网关的至少一个第二网段;所述密钥协商策略包括网段密钥协商策略;所述按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥,包括:
分别将每个所述第一网段与每个所述第二网段组合,获得多个网段组合;
当所述网段密钥协商策略表征多网段共享密钥,采用所述第一密钥与所述第二网关进行加密通信,以对所述多个网段组合进行密钥协商,获得所述多个网段组合共享的第二密钥;所述共享的第二密钥,用于供所述多个网段组合中的每个所述第一网段与每个所述第二网段加密通信。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述网段密钥协商策略表征单网段独享密钥,采用所述第一密钥与所述第二网关进行加密通信,以分别对每个所述网段组合进行密钥协商,获得每个所述网段组合对应的第二密钥;所述网段组合对应的第二密钥,用于供属于所述网段组合中的所述第一网段与所述第二网段加密通信。
6.根据权利要求5所述的方法,其特征在于,所述第一密钥包括第一加密密钥和第一解密密钥;所述第二密钥包括每个所述网段组合对应的第二解密密钥;所述当所述网段密钥协商策略表征单网段独享密钥,采用所述第一密钥与所述第二网关进行加密通信,以分别对每个所述网段组合进行密钥协商,获得每个所述网段组合对应的第二密钥,包括:
获取每个所述网段组合在所述第一网关处对应的第一组合密钥生成信息;
当所述网段密钥协商策略表征单网段独享密钥,采用所述第一加密密钥分别加密每个所述第一组合密钥生成信息,并将加密形成的加密协商信息向所述第二网关发送;
接收所述第二网关基于所述加密协商信息返回的加密响应信息,通过所述第一解密密钥解密所述加密响应信息,获得每个所述网段组合在所述第二网关处对应的第二组合密钥生成信息;
根据每个所述第二组合密钥生成信息,生成每个所述网段组合在所述第一网关处对应的第二解密密钥;所述第二解密密钥,用于供对应网段组合中的所述第一网段解密来自所述第二网段的通信数据。
7.根据权利要求6所述的方法,其特征在于,所述第二密钥还包括每个所述网段组合对应的第二加密密钥,所述方法还包括:
根据每个所述第一组合密钥生成信息,生成每个所述网段组合在所述第一网关处对应的第二加密密钥;所述第二加密密钥,用于供对应网段组合中的所述第一网段加密发送给所述第二网段的通信数据。
8.根据权利要求1所述的方法,其特征在于,所述预设协商策略包括生存时长配置策略和密钥协商策略;所述按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥,包括:
获取所述第一网关的预设的第一密钥生存时长,并获取所述第二网关的预设的第二密钥生存时长;
确定所述第一密钥生存时长和所述第二密钥生存时长间的时长比对结果;
当所述时长比对结果满足所述生存时长配置策略,按照所述密钥协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥。
9.根据权利要求8所述的方法,其特征在于,所述预设协商策略还包括所述密钥协商策略对应的策略执行位置,所述当所述时长比对结果满足所述生存时长配置策略,按照所述密钥协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥,包括:
当所述时长比对结果满足所述生存时长配置策略,在所述策略执行位置处,按照所述密钥协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥。
10.根据权利要求8所述的方法,其特征在于,所述预设协商策略还包括密钥重置条件;所述方法还包括:
当所述第二密钥符合所述密钥重置条件,删除所述第二密钥;
响应于所述第一网关对所述预设接口的调用请求,按照所述密钥协商策略,采用所述第一密钥与所述第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
11.根据权利要求1至10任意一项所述的方法,其特征在于,所述方法还包括:
从所述网关配置信息中,获取所述第二网关的第二网关地址和协商模式;
所述基于所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略,包括:
基于所述第二网关地址、所述协商模式和所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略。
12.一种密钥协商装置,其特征在于,所述密钥协商装置独立于第一网关,通过预设接口与所述第一网关交互,所述装置包括:
策略存储模块,用于在预置的策略数据库中存储预设协商策略;
密钥协商引擎,用于获取网关配置信息,基于所述网关配置信息,确定需与所述第一网关进行加密通信的第二网关;与所述第二网关协商第一密钥;
获取所述第二网关的网关类型,基于所述网关类型,从所述预置的策略数据库中选择与所述第二网关相匹配的预设协商策略,所述预设协商策略包括密钥协商策略,或者还包括生存时长配置策略、密钥协商策略对应的策略执行位置、密钥重置条件中的至少一种;按照所述预设协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥;调用所述预设接口,通过调用的所述预设接口,向所述第一网关发送所述第二密钥,所述第二密钥用于供所述第一网关与所述第二网关加密通信。
13.根据权利要求12所述的装置,其特征在于,所述第一密钥包括第一加密密钥和第一解密密钥;所述密钥协商引擎,还用于获取所述第一网关的第一网关密钥生成信息,基于所述第一网关密钥生成信息,生成用于所述第一网关加密的第一加密密钥;向所述第二网关发送所述第一网关密钥生成信息,所述第一网关密钥生成信息,用于指示所述第二网关生成用于解密的网关解密密钥;接收所述第二网关返回的第二网关密钥生成信息,基于所述第二网关密钥生成信息,生成用于所述第一网关解密的第一解密密钥。
14.根据权利要求12所述的装置,其特征在于,所述密钥协商引擎,还用于当所述网关配置信息不包括所述第二网关的网关类型,向所述第二网关发起类型获取请求;接收所述第二网关基于所述类型获取请求返回的响应报文,从所述响应报文中提取所述第二网关的网关类型。
15.根据权利要求12所述的装置,其特征在于,所述网关配置信息包括所述第一网关的至少一个第一网段和所述第二网关的至少一个第二网段;所述密钥协商策略包括网段密钥协商策略;所述密钥协商引擎,还用于分别将每个所述第一网段与每个所述第二网段组合,获得多个网段组合;当所述网段密钥协商策略表征多网段共享密钥,采用所述第一密钥与所述第二网关进行加密通信,以对所述多个网段组合进行密钥协商,获得所述多个网段组合共享的第二密钥;所述共享的第二密钥,用于供所述多个网段组合中的每个所述第一网段与每个所述第二网段加密通信。
16.根据权利要求15所述的装置,其特征在于,所述密钥协商引擎,还用于当所述网段密钥协商策略表征单网段独享密钥,采用所述第一密钥与所述第二网关进行加密通信,以分别对每个所述网段组合进行密钥协商,获得每个所述网段组合对应的第二密钥;所述网段组合对应的第二密钥,用于供属于所述网段组合中的所述第一网段与所述第二网段加密通信。
17.根据权利要求16所述的装置,其特征在于,所述第一密钥包括第一加密密钥和第一解密密钥;所述第二密钥包括每个所述网段组合对应的第二解密密钥;所述密钥协商引擎,还用于获取每个所述网段组合在所述第一网关处对应的第一组合密钥生成信息;当所述网段密钥协商策略表征单网段独享密钥,采用所述第一加密密钥分别加密每个所述第一组合密钥生成信息,并将加密形成的加密协商信息向所述第二网关发送;接收所述第二网关基于所述加密协商信息返回的加密响应信息,通过所述第一解密密钥解密所述加密响应信息,获得每个所述网段组合在所述第二网关处对应的第二组合密钥生成信息;根据每个所述第二组合密钥生成信息,生成每个所述网段组合在所述第一网关处对应的第二解密密钥;所述第二解密密钥,用于供对应网段组合中的所述第一网段解密来自所述第二网段的通信数据。
18.根据权利要求17所述的装置,其特征在于,所述密钥协商引擎,还用于根据每个所述第一组合密钥生成信息,生成每个所述网段组合在所述第一网关处对应的第二加密密钥;所述第二加密密钥,用于供对应网段组合中的所述第一网段加密发送给所述第二网段的通信数据。
19.根据权利要求12所述的装置,其特征在于,所述预设协商策略包括生存时长配置策略和密钥协商策略;所述密钥协商引擎,还用于获取所述第一网关的预设的第一密钥生存时长,并获取所述第二网关的预设的第二密钥生存时长;确定所述第一密钥生存时长和所述第二密钥生存时长间的时长比对结果;当所述时长比对结果满足所述生存时长配置策略,按照所述密钥协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥。
20.根据权利要求19所述的装置,其特征在于,所述预设协商策略还包括所述密钥协商策略对应的策略执行位置,所述密钥协商引擎,还用于当所述时长比对结果满足所述生存时长配置策略,在所述策略执行位置处,按照所述密钥协商策略,采用所述第一密钥与所述第二网关进行加密通信,以进行密钥协商,获得第二密钥。
21.根据权利要求19所述的装置,其特征在于,所述预设协商策略还包括密钥重置条件;所述密钥协商引擎,还用于当所述第二密钥符合所述密钥重置条件,删除所述第二密钥;响应于所述第一网关对所述预设接口的调用请求,按照所述密钥协商策略,采用所述第一密钥与所述第二网关进行加密通信,以重新进行密钥协商,获得重新协商的第二密钥。
22.根据权利要求12至21任意一项所述的装置,其特征在于,所述密钥协商引擎,还用于从所述网关配置信息中,获取所述第二网关的第二网关地址和协商模式;基于所述第二网关地址、所述协商模式和所述网关类型,从预置的策略数据库中选择与所述第二网关相匹配的预设协商策略。
23.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至11中任一项所述的方法的步骤。
24.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311311079.5A CN117061115B (zh) | 2023-10-11 | 2023-10-11 | 密钥协商方法、装置、计算机设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311311079.5A CN117061115B (zh) | 2023-10-11 | 2023-10-11 | 密钥协商方法、装置、计算机设备和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117061115A CN117061115A (zh) | 2023-11-14 |
CN117061115B true CN117061115B (zh) | 2024-02-02 |
Family
ID=88657574
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311311079.5A Active CN117061115B (zh) | 2023-10-11 | 2023-10-11 | 密钥协商方法、装置、计算机设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117061115B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219217A (zh) * | 2013-06-05 | 2014-12-17 | 中国移动通信集团公司 | 安全关联协商方法、设备和系统 |
CN110943996A (zh) * | 2019-12-03 | 2020-03-31 | 迈普通信技术股份有限公司 | 一种业务加解密的管理方法、装置及系统 |
CN111918284A (zh) * | 2020-07-24 | 2020-11-10 | 郑州信大捷安信息技术股份有限公司 | 一种基于安全通信模组的安全通信方法及系统 |
CN114285571A (zh) * | 2022-03-03 | 2022-04-05 | 成都量安区块链科技有限公司 | 一种在IPSec协议中使用量子密钥的方法、网关装置与系统 |
CN114338128A (zh) * | 2021-12-24 | 2022-04-12 | 卡斯柯信号有限公司 | 一种基于通用网关的数据传输方法 |
CN114422115A (zh) * | 2021-12-10 | 2022-04-29 | 国网浙江省电力有限公司宁波供电公司 | 一种电网数据加密传输方法、系统、设备及可读存储介质 |
CN114826627A (zh) * | 2021-01-13 | 2022-07-29 | 中国电信股份有限公司 | 信息传输方法、企业安全网关和系统 |
CN115208555A (zh) * | 2021-03-24 | 2022-10-18 | 阿里巴巴新加坡控股有限公司 | 网关协商方法、设备及存储介质 |
CN115459912A (zh) * | 2022-09-13 | 2022-12-09 | 浙江九州量子信息技术股份有限公司 | 一种基于量子密钥集中管理的通信加密方法及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108574589B (zh) * | 2017-03-10 | 2021-09-14 | 华为技术有限公司 | 一种互联网协议安全性隧道的维护方法、装置及系统 |
US10609008B2 (en) * | 2017-06-08 | 2020-03-31 | Nxp Usa, Inc. | Securing an electronically transmitted communication |
-
2023
- 2023-10-11 CN CN202311311079.5A patent/CN117061115B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104219217A (zh) * | 2013-06-05 | 2014-12-17 | 中国移动通信集团公司 | 安全关联协商方法、设备和系统 |
CN110943996A (zh) * | 2019-12-03 | 2020-03-31 | 迈普通信技术股份有限公司 | 一种业务加解密的管理方法、装置及系统 |
CN111918284A (zh) * | 2020-07-24 | 2020-11-10 | 郑州信大捷安信息技术股份有限公司 | 一种基于安全通信模组的安全通信方法及系统 |
CN114826627A (zh) * | 2021-01-13 | 2022-07-29 | 中国电信股份有限公司 | 信息传输方法、企业安全网关和系统 |
CN115208555A (zh) * | 2021-03-24 | 2022-10-18 | 阿里巴巴新加坡控股有限公司 | 网关协商方法、设备及存储介质 |
CN114422115A (zh) * | 2021-12-10 | 2022-04-29 | 国网浙江省电力有限公司宁波供电公司 | 一种电网数据加密传输方法、系统、设备及可读存储介质 |
CN114338128A (zh) * | 2021-12-24 | 2022-04-12 | 卡斯柯信号有限公司 | 一种基于通用网关的数据传输方法 |
CN114285571A (zh) * | 2022-03-03 | 2022-04-05 | 成都量安区块链科技有限公司 | 一种在IPSec协议中使用量子密钥的方法、网关装置与系统 |
CN115459912A (zh) * | 2022-09-13 | 2022-12-09 | 浙江九州量子信息技术股份有限公司 | 一种基于量子密钥集中管理的通信加密方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN117061115A (zh) | 2023-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Schiller et al. | Landscape of IoT security | |
Aïvodji et al. | IOTFLA: A secured and privacy-preserving smart home architecture implementing federated learning | |
Atiewi et al. | Scalable and secure big data IoT system based on multifactor authentication and lightweight cryptography | |
EP2820792B1 (en) | Method of operating a computing device, computing device and computer program | |
US11736304B2 (en) | Secure authentication of remote equipment | |
US10470102B2 (en) | MAC address-bound WLAN password | |
US20120023325A1 (en) | Virtual private network system and network device thereof | |
KR20160078475A (ko) | 키 구성 방법, 시스템, 및 장치 | |
US20150121076A1 (en) | Simplifying ike process in a gateway to enable datapath scaling using a two tier cache configuration | |
EP2820793A2 (en) | Method of operating a computing device, computing device and computer program | |
KR102167627B1 (ko) | 데이터 통신 시스템 및 방법 | |
Ferreira et al. | Security analysis of a proposed internet of things middleware | |
US20130227280A1 (en) | Method of operating a computing device, computing device and computer program | |
Enge et al. | An offline mobile access control system based on self-sovereign identity standards | |
Hamoudy et al. | Video security in Internet of things: an overview | |
Khan et al. | chownIoT: enhancing IoT privacy by automated handling of ownership change | |
CN106537962B (zh) | 无线网络配置、接入和访问方法、装置及设备 | |
Khandare et al. | Analysis on privacy protection in cloudlet and edge technology | |
CN109450849B (zh) | 一种基于区块链的云服务器组网方法 | |
CN114650182B (zh) | 身份认证方法、系统、装置、网关设备、设备和终端 | |
CN117061115B (zh) | 密钥协商方法、装置、计算机设备和计算机可读存储介质 | |
Bello et al. | A cloud based conceptual identity management model for secured Internet of Things operation | |
CN112751664B (zh) | 一种物联网组网方法、装置和计算机可读存储介质 | |
Sharma et al. | Fog computing: An overview of IoT applications with security issues and challenges | |
Joudeh | Security Performance Analysis and Enhancement Authentication for Internet of Things |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |