CN114285675B - 一种报文转发方法及设备 - Google Patents
一种报文转发方法及设备 Download PDFInfo
- Publication number
- CN114285675B CN114285675B CN202210217526.XA CN202210217526A CN114285675B CN 114285675 B CN114285675 B CN 114285675B CN 202210217526 A CN202210217526 A CN 202210217526A CN 114285675 B CN114285675 B CN 114285675B
- Authority
- CN
- China
- Prior art keywords
- message
- key
- encryption
- indication information
- tunnel
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种报文转发方法及设备,包括:宿主机上的虚拟交换机接收到来自于本地虚拟机的报文;若确定报文需要进行加密处理,则生成至少一个随机数,并依据至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息;依据所述加密密钥对所述报文进行加密处理得到报文密文;对报文密文进行隧道封装,以得到携带有加密标志和所述指示信息的隧道报文,并将所述隧道报文发送给目的宿主机,以使所述目的宿主机上运行的虚拟交换机若确定该隧道报文携带加密标志,则依据报文携带的指示信息获取解密密钥,并依据解密密钥对隧道报文解封装后得到的报文密文进行解密并发送。
Description
技术领域
本申请涉及云计算领域,尤其涉及一种报文转发方法及设备。
背景技术
随着互联网技术的快速发展,越来越多的线上业务(比如支付业务、购物业务、出行业务等)也得到了飞速发展。在现有的线上业务中,业务服务提供者通常为用户提供客户端,以及业务服务提供者在云计算网络中租用数据中心作为后台服务器,通过客户端与后台服务器共同工作为用户提供业务服务(比如支付、购物、出行等业务服务)。
然而,在云计算网络中,由于用户租用的可以作为后台服务器的数据中心是由一个宿主机上的多个虚拟机,或者不同宿主机上的多个虚拟机组成的,所以用户租用的数据中心在完成后台业务处理时,需要多个虚拟机协同工作,而在协同工作时,就需要多个虚拟机之间通信,因此如何保证云计算网络中虚拟机之间通信的安全性就成为亟待解决的问题。
发明内容
有鉴于此,本申请提供一种报文转发方法及设备。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种报文转发方法,云计算网络包括至少一个宿主机,每个宿主机上运行有至少一个虚拟机和虚拟机交换机,所述方法应用于任意宿主机上的虚拟交换机,所述方法包括:
接收到来自于本地虚拟机的报文;
若确定所述报文需要进行加密处理,则生成至少一个随机数,并依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息;
依据所述加密密钥对所述报文进行加密处理得到报文密文;
对所述报文密文进行隧道封装,以得到携带有加密标志和所述指示信息的隧道报文,并将所述隧道报文发送给目的宿主机,以使所述目的宿主机上运行的虚拟交换机在接收到隧道报文时,若该隧道报文携带加密标志,则依据所述报文携带的指示信息获取解密密钥,并依据解密密钥对隧道报文解封装后得到的报文密文进行解密得到所述报文,将所述报文发送给目的虚拟机。
可选的,所述确定所述报文需要进行加密处理,包括:
在确定预设了与所述云计算网络对应的密钥库时,确定所述报文需要进行加密处理;
其中,所述密钥库包括:密钥索引、加密密钥和解密密钥的对应关系。
可选的,预配置了与所述云计算网络对应的密钥库,所述密钥库包括:密钥索引、加密密钥和解密密钥的对应关系;
所述至少一个随机数包括:第一随机数和第二随机数;
所述依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息,包括:
对第一随机数进行混淆处理,并以混淆处理结果作为密钥索引,在预设的密钥库中查找所述密钥索引对应的加密密钥,将查找到的加密密钥作为用于对所述报文进行初次加密处理的第一加密密钥,以及将所述密钥索引确定为第一指示信息,所述第一指示信息用于确定与所述第一加密密钥对应的第一解密密钥;
将所述第二随机数确定为对所述报文进行二次加密处理的第二加密密钥,以及将所述第二随机数确定为第二指示信息,所述第二指示信息用于确定与所述第二加密密钥对应的第二解密密钥。
可选的,所述依据所述加密密钥对所述报文进行加密处理得到报文密文,包括:
采用所述第一加密密钥对所述报文进行加密处理;
采用第二加密密钥对加密后的报文进一步进行加密,得到报文密文。
可选的,所述加密标志和所述用于确定解密密钥的指示信息携带在所述隧道报文的隧道头中。
可选的,所述密钥库中的加密密钥和解密密钥被周期性地更新。
根据本申请的第二方面,提供一种报文转发方法,云计算网络包括至少一个宿主机,每个宿主机上运行有至少一个虚拟机和虚拟机交换机,所述方法应用于任意宿主机上的虚拟交换机,所述方法包括:
接收来自于其他虚拟机发送的隧道报文;
在确定所述隧道报文携带加密标志后,获取所述隧道报文携带的指示信息,并依据所述指示信息确定解密密钥;
依据所述解密密钥,对所述隧道报文解封装后得到的报文密文进行解密处理,得到原始报文,并将所述原始报文发送至该原始报文的目的地址所指示的目的虚拟机。
可选的,预配置了与所述云计算网络对应的密钥库;所述密钥库包括密钥索引、加密密钥和解密密钥的对应关系;
所述指示信息包括第一指示信息和第二指示信息;
所述依据所述指示信息确定解密密钥,包括:
以所述第一指示信息作为密钥索引,在与所述云计算网络对应的密钥库中,查找所述密钥索引对应的解密密钥,将查找的解密密钥作为第一解密密钥;
将所述第二指示信息确定为第二解密密钥;
其中,所述第一解密密钥与所述其他虚拟机对所述报文进行初次加密处理所使用的第一加密密钥对应;
所述第二解密密钥与所述其他虚拟机对所述报文进行二次加密处理所使用的第二加密密钥对应。
可选的,所述依据所述解密密钥,对所述隧道报文解封装后得到的报文密文进行解密处理,得到原始报文,包括:
采用第二解密密钥对所述报文密文进行解密处理;
采用第一解密密钥对解密后的报文密文再次进行解密处理,得到原始报文。
根据本申请的第三方面,提供一种网络设备,所述网络设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现上述报文转发方法。
由上述描述可知,虚拟机交换机在转发来自于本地虚拟机的报文时,虚拟交换机会生成至少一个随机数,并且通过随机数来确定加密密钥,和用于确定解密密钥的指示信息。虚拟交换机通过加密密钥对报文进行加密处理,得到报文密文。然后,虚拟交换机对报文密文进行隧道封装得到携带有加密标志和指示信息的隧道报文,并将隧道报文发送给目的宿主机上的虚拟机交换机。目的宿主机上的虚拟机交换机在接收到隧道报文后,若该隧道报文携带加密标志,则基于所述隧道报文携带的指示信息获取解密密钥,然后对隧道解封装后的报文密文进行解密,得到原始报文,并将原始报文发送给目的虚拟机。
一方面,在本申请中,由于虚拟机通信所使用的加密密钥、以及用于确定解密密钥的指示信息是通过随机数确定,所以增加了加密密钥和指示信息的随机性,所以攻击者不容易破获加密密钥和指示信息,所以可以有效地保证虚拟机之间的通信安全性。
另一方面,在本申请中,由于封装后的隧道报文中携带的指示信息,而非解密密码,所以攻击者不容易获取解密密码,所以可以进一步保证虚拟机之间通信的安全性。
附图说明
图1是本申请一示例性实施例示出的一种云计算网络的网络架构示意图;
图2是本申请一示例性实施例示出的一种报文转发方法的流程图;
图3是本申请一示例性实施例示出的一种隧道头结构示意图;
图4是本申请一示例性实施例示出的一种报文转发方法的流程图;
图5是本申请一示例性实施例示出的一种网络设备的硬件结构图;
图6是本申请一示例性实施例示出的一种报文转发装置的框图;
图7是本申请一示例性实施例示出的一种报文转发装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
云计算网络通常包括:多个宿主机、内网交换机。内网交换机可以将多个宿主机互联。每个宿主机上运行有虚拟机和虚拟交换机。虚拟机用于进行业务处理,虚拟机交换机用于进行本地虚拟机之间的通信、以及虚拟机的跨设备通信。
例如,参见图1,图1是本申请一示例性实施例示出的一种云计算网络的网络架构示意图。
假设云计算网络如图1所示,当然在实际应用中,云计算网络有大量的宿主机,虚拟机(VM,Virtual Machine),这里只是示例性地说明,不对其进行具体地限定。
如图1所示,假设云计算网络包括宿主机161、宿主机162、宿主机163和宿主机164。
宿主机161包括虚拟交换机151,VM111、VM112,…,VM11n;
宿主机162包括虚拟交换机152,VM121、VM122,…,VM12n;
宿主机163包括虚拟交换机153,VM131,…,VM13n;
宿主机164包括虚拟交换机154,VM141、VM142,…,VM14n。
假设,VM111与VM121通信,现有的保证VM111与VM121通信安全的方式有以下几种。
第一种保证虚拟机之间通信安全的方式是:VM111与VM121在通信前协商密钥,然后再通过协商出的密钥对通信内容进行加密后通信。这种方法的不好之处在于,虚拟机之间在协商密钥时,由于密钥在云计算网络中传输,所以协商出的密钥容易被攻击者获取,进而攻击者通过获取的密钥获取虚拟机之间的通信内容,所以这种方式的安全性较低。
第二种保证虚拟机之间通信安全的方式是:在VM111和VM121预先设置密钥,两个VM依据本地保存的密钥对通信内容进行加密后通信。这种方式的不好之处在于虚拟机上保存的密钥单一,并且密钥不会被及时更新,所以使得攻击者很容易侵入虚拟机获取密钥,造成密钥的泄露,进而影响虚拟机之间的通信安全。
有鉴于此,本申请提出一种报文转发方法。在本申请中,虚拟机交换机在转发来自于本地虚拟机的报文时,虚拟交换机会生成至少一个随机数,并且通过随机数来确定加密密钥,和用于确定解密密钥的指示信息。虚拟交换机通过加密密钥对报文进行加密处理,得到报文密文。然后,虚拟交换机对报文密文进行隧道封装得到携带有加密标志和指示信息的隧道报文,并将隧道报文发送给目的宿主机上的虚拟机交换机。目的宿主机上的虚拟机交换机在接收到隧道报文后,若该隧道报文携带加密标志,则基于所述隧道报文携带的指示信息获取解密密钥,然后对隧道解封装后的报文密文进行解密,得到原始报文,并将原始报文发送给目的虚拟机。
一方面,在本申请中,由于虚拟机通信所使用的加密密钥、以及用于确定解密密钥的指示信息是通过随机数确定,所以增加了加密密钥和指示信息的随机性,所以攻击者不容易破获加密密钥和指示信息,所以可以有效地保证虚拟机之间的通信安全性。
另一方面,在本申请中,由于封装后的隧道报文中携带的指示信息,而非解密密码,所以攻击者不容易获取解密密码,所以可以进一步保证虚拟机之间通信的安全性。
参见图2,图2是本申请一示例性实施例示出的一种报文转发方法的流程图,该方法可应用在云计算网络中的宿主机上的虚拟交换机上,需要说明的是,图2所示的报文转发方法是报文发送逻辑。图2所示的报文转发方法可包括如下所示步骤:
步骤201:接收到来自于本地虚拟机的报文;
步骤202:若确定所述报文需要进行加密处理,则生成至少一个随机数,并依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息;
下面通过步骤2021至步骤2023对步骤202进行详细地说明。
步骤2021:虚拟交换机检测所述报文是否需要进行加密处理。
在实现时,在云计算网络中,预配置了密钥库。该密钥库可配置在需要加密的虚拟机所在的宿主机上,也可以配置在云计算网络中的其他设备上。这里只是示例性地说明,不对其进行具体地限定。
上述密钥库包括:密钥索引、加密密钥和解密密钥的对应关系。
需要说明的是,如果本申请采用的加密方法是对称加密,则加密密钥和解密密钥相同。如果本申请采用的加密方法是非对称加密,则加密密钥和解密密钥不同。这里只是对加密方法、加密密钥和解密密钥进行示例性地说明,不对其进行具体地限定。
还需要说明的是,在本申请中,云计算网络中预配置了密钥管理设备,密钥管理设备可周期性地更新各宿主机上配置的密钥库中的加密密钥和解密密钥。
这种周期性更新密钥库种的加、解密密钥的方式可以增加攻击者破译密钥的难度,进一步保证虚拟机之间通信的安全性。
在实现步骤2021时,虚拟交换机可以检测是否预设了与该云计算网络对应的密钥库。在检测到预设了与云计算网络对应的密钥库,则确定所述报文需要进行加密处理。
例如,本申请在需要加密的虚拟机所在的宿主机上设置了密钥库,各宿主机上的密钥库相同。换句话来说,该密钥库类似于全局密钥库,宿主机上的需要加密通信的虚拟机共享该密钥库。
在检测是否预设了与该云计算网络对应的密钥库时,虚拟交换机可检测该本地虚拟机所在的宿主机上是否配置了密钥库。若该本地虚拟机所在的宿主机上配置了密钥库,则确定来自于该本地虚拟机的报文需要进行加密处理。若该本地虚拟机所在的宿主机上未配置密钥库,则确定来自于本地虚拟机的报文不需要进行加密处理。
这里只是对“检测报文是否需要加密处理”进行示例性地说明,不对其进行具体地限定。
步骤2022:若确定所述报文需要进行加密处理,则生成至少一个随机数。
在一种可选的实现方式中,为了虚拟机通信的安全性,本申请采用了多次加密的方式对虚拟机之间的报文进行加密。所以虚拟交换机在确定所述报文需要进行加密处理时,生成至少一个随机数,每一个随机数对应一次加密所使用的加、解密密钥。
例如,假设本申请采用两次加密方式对虚拟机之间的报文进行加密,则虚拟交换机可以生成第一随机数和第二随机数。其中,第一随机数对应初次加密,第二随机数对应二次加密。
步骤2023:依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息。
其中,指示信息是为了让目的宿主机上的虚拟交换机依据指示信息,获取解密密钥。
在实现时,虚拟交换机可以对第一随机数进行混淆处理。比如,虚拟交换机可以将第一随机数与预设混淆值进行预设规则的运算,得到混淆处理结果。
然后,虚拟交换机可以以混淆处理结果作为密钥索引,在密钥库中查找与该密钥索引对应的加密密钥。然后,虚拟交换机将查找到的加密密钥作为第一加密密钥。此外,虚拟交换机还可将该密钥索引作为第一指示信息,所述第一指示信息用于确定与第一加密密钥对应的第一解密密钥(即以混淆处理结果作为密钥索引查找到的解密密钥)。
此外,在本申请实施例中,虚拟交换机还可将第二随机数作为二次加密的第二加密密钥,以及将第二随机数确定为第二指示信息。第二指示信息用于确定与所述第二加密密钥对应的第二解密密钥。
步骤203:依据所述加密密钥对所述报文进行加密得到报文密文。
在一种可选的实现方式中,本申请采用了两次加密方式对来自于本地虚拟机的报文进行加密。当然,在实际应用中,虚拟交换机还可采用一次加密,或者三次加密的方式对来自于本地虚拟机的报文进行加密,这里不进行具体地限定。
在实现两次加密方式加密时,虚拟交换机可采用第一加密密钥对接收到的报文进行加密。然后,虚拟交换机可采用第二加密密钥对加密后的报文进一步进行加密,得到报文密文。
步骤204:对所述报文密文进行隧道封装,以得到携带有加密标志和所述指示信息的隧道报文,并将所述隧道报文发送给目的宿主机,以使所述目的宿主机上运行的虚拟交换机在接收到隧道报文时,若该隧道报文携带加密标志,则依据所述报文携带的指示信息获取解密密钥,并依据解密密钥对隧道报文解封装后得到的报文密文进行解密得到所述报文,将所述报文发送给目的虚拟机。
在实现时,虚拟交换机可以为报文密文增加隧道头,隧道头中可携带加密标志、指示信息。然后,虚拟交换机可在隧道头外在添加外层UDP头,在外层UDP头外封装IP头,在外层IP头外封装外层以太网头,从而形成隧道报文。
在一种可选的实现方式中,虚拟交换机采用二次加密技术,指示信息包括第一指示信息(即上文的密钥索引)和第二指示信息(即上文的第二随机数)。
隧道头的格式体如图3所示。图3所示的隧道头包括encrypt_idx字段和encrypt_rnd字段。
其中,encrypt_idx字段用于填写第一指示信息,encrypt_rnd字段用于填写加密标志和第二指示信息。图3中的reserved字段为保留字段。
当然,在实际应用中,加密标志、第一指示信息和第二指示信息还可填写在其他字段,这里只是示例性地说明面,不对其进行具体地限定。
在本申请实施例中,在生成隧道报文后,虚拟交换机可将隧道报文发送至目的宿主机上的虚拟交换机。其中,目的宿主机是指报文的目的地址所指示的目的虚拟机所在的宿主机。
以上完成了报文发送逻辑的介绍,下面介绍下报文接收逻辑。
参见图4,图4是本申请一示例性实施例示出的一种报文转发方法的流程图,该方法可应用在上述云计算网络中宿主机的虚拟机交换机上。需要说明的是,图4所示的报文转发方法是报文的接收逻辑。图4所示的报文转发方法可包括如下所示步骤:
步骤401:接收来自于其他虚拟机发送的隧道报文;
步骤402:在确定所述隧道报文携带加密标志后,获取所述隧道报文携带的指示信息,并依据所述指示信息确定解密密钥;
下面通过步骤4021至步骤4023对步骤402进行具体地描述。
步骤4021:检测所述隧道报文是否携带加密标志
在实现时,在虚拟交换机接收到其他虚拟交换机发送的隧道报文后,可以将对隧道报文进行解封装得到内层报文。比如,虚拟交换机可以去掉隧道报文的外层以太网头、外层IP头、外层UDP头,以及隧道头,得到内层报文。
然后,虚拟交换机可检测隧道头中是否携带了加密标志。比如,虚拟交换机获取隧道头中的encrypt_rnd字段,并检测该encrypt_rnd字段是否携带了加密标志。
若隧道头携带了加密标志,则表明对隧道报文进行解封装后的内层报文为加密后的报文(这里称为报文密文),此时可执行步骤4022至4023、403。若隧道头未携带加密标志,则表明对隧道报文进行解封装后的内层报文为非加密报文。在这种情况下,虚拟交换机可将报文发送给该报文的目的地址所指示的目的虚拟机。
步骤4022:在确定所述隧道报文携带加密标志后,获取所述隧道报文携带的指示信息。
在一种可选的实现方式中,发送端的虚拟交换机采用两次加密技术,在这种情况下,隧道头中携带的指示信息包括第一指示信息和第二指示信息。在获取隧道头携带的指示信息时,虚拟交换机可获取隧道头中的encrypt _idx字段和encrypt_rnd字段。然后,虚拟交换机可从encrypt _idx字段获取第一指示信息,从encrypt_rnd字段获取第二指示信息。
当然,在实际应用中,发送端的虚拟交换机也可采用一次加密技术,在这种情况下,隧道头中的指示信息包括一种指示信息,虚拟交换机可以在隧道头的特定字段中获取该指示信息。这里只是对步骤4022进行示例性地说明,不对其进行具体地限定。
步骤4023:依据所述指示信息确定解密密钥
在一种可选的实现方式中,发送端的虚拟交换机采用两次加密技术,隧道头中携带的指示信息包括第一指示信息和第二指示信息。
在依据所述指示信息确定解密密钥时,虚拟交换机以所述第一指示信息作为密钥索引,在与所述云计算网络对应的密钥库中,查找所述密钥索引对应的解密密钥,将查找的解密密钥作为第一解密密钥。
此外,虚拟交换机可以将第二指示信息作为第二解密密钥。
当然,在实际应用中,发送端的虚拟交换机若采用一次加密技术,指示信息包括一个指示信息,接收端的虚拟交换机可以基于这一个指示信息获取解密密钥。这里只是对步骤4023进行示例性地说明,不对其进行具体地限定。
步骤403:依据所述解密密钥,对所述隧道报文解封装后得到的报文密文进行解密处理,得到原始报文,并将所述原始报文发送至该报文的目的地址所指示的目的虚拟机。
在本申请实施例中,若隧道报文的隧道头中携带了加密标志,则确定对隧道报文解封装后得到的内层报文为报文密文。
虚拟交换机可采用第二解密密钥对报文密文进行解密处理。然后,虚拟交换机可以采用第一解密密钥对解密后的报文密文再次进行解密处理得到原始报文。
然后,虚拟交换机可将该原始报文发送至该原始报文的目的地址所指示的虚拟机。
由上述描述可知,第一方面,在本申请中,由于虚拟机通信所使用的加密密钥、以及用于确定解密密钥的指示信息是通过随机数确定,所以增加了加密密钥和指示信息的随机性,所以攻击者不容易破获加密密钥和指示信息,所以可以有效地保证虚拟机之间的通信安全性。
第二方面,在本申请中,由于封装后的隧道报文中携带的指示信息,而非解密密码,所以攻击者不容易获取解密密码,所以可以进一步保证虚拟机之间通信的安全性。
第三方面,由于本申请采用了两次加密技术,第一次加密处理的加解密密钥从密钥库获得,第二次加解密密钥由随机数生成,两组加解密密钥之间没有关联,所以大大增加了攻击者对密钥的破译难度,保证了虚拟机之间的通信安全。
第四方面,本申请的密钥库中具有大量的密钥,并且本申请的密钥库中的密钥会被周期性地更新,从而增加了攻击这破译密钥的难度。
下面仍以图1为例,对本申请提供的报文转发方法进行详细地说明。
如图1所示,假设云计算网络包括宿主机161、宿主机162、宿主机163和宿主机164。
宿主机161包括虚拟交换机151,VM111、VM112,…,VM11n;
宿主机162包括虚拟交换机152,VM121、VM122,…,VM12n;
宿主机163包括虚拟交换机153,VM131,…,VM13n;
宿主机164包括虚拟交换机154,VM141、VM142,…,VM14n。
假设VM111向VM121发送报文。假设本申请采用的两次加密方式都是对称加密。本申请预配置的密钥库中配置了密钥索引和密钥的对应关系。该对应关系中的密钥既是加密密钥,又是解密密钥。
VM111将报文发送给虚拟交换机151。
假设,虚拟交换机151检测到VM111所在的宿主机161上预配置有密钥库。虚拟交换机可以生成第一随机数A,和第二随机数B。
虚拟交换机151可以对第一随机数A进行混淆处理得到混淆结果C。然后,虚拟交换机在密钥库中,查找C对应的密钥。假设,查找到的密钥为P。虚拟交换机将P作为初次加密的第一加密密钥,将第二随机数B作为二次加密的第二加密密钥。
虚拟交换机151可采用P对报文进行初次加密。然后,虚拟交换机151采用第二随机数B对加密后的报文再进行加密得到报文密文。
然后,虚拟交换机151对报文密文进行隧道封装。比如虚拟交换机151为报文密文添加隧道头,并在隧道头中增加加密标志、密钥索引C和第二随机数B。然后,虚拟交换机151在隧道头外添加外层UDP头,在外层UDP头外封装IP头,在外层IP头外封装外层以太网头,从而形成隧道报文。
虚拟交换机151可将隧道报文发送给虚拟交换机152。
虚拟交换机152在接收到隧道报文后,对该隧道报文进行解封装。比如,虚拟交换机152可依次去除隧道报文的外层以太网头、外层IP头、外层UDP头、和外层隧道头。
然后,虚拟交换机152可检测隧道头中是否携带加密标志。在本例中,隧道头中携带加密标志,所以对隧道报文解封装后的内层报文为报文密文。虚拟交换机152可从隧道头中获取密钥索引C和第二随机数B。
然后,虚拟交换机152可在密钥库中查找密钥索引C对应的密钥P。虚拟交换机152可将密钥P作为与初次加密的第二加密密钥对应的第二解密密钥。将第二随机数B作为与初次加密的第一加密密钥对应的第一解密密钥。
虚拟交换机152可采用第二随机数B对报文密文进行解密。然后,虚拟交换机152采用密钥索引C对解密后的报文密文进一步进行解密,得到原始报文。
然后,虚拟交换机152可将原始报文发送给该原始报文的目的地址所指示的VM。在本例中,由于该报文是VM111发送给VM121的,则该原始报文的目的地址为VM121,所以,虚拟交换机152将原始报文发送给VM121。
参见图5,图5是本申请一示例性实施例示出的一种网络设备的硬件结构图。
该网络设备包括:通信接口501、处理器502、机器可读存储介质503和总线504;其中,通信接口501、处理器502和机器可读存储介质503通过总线504完成相互间的通信。处理器502通过读取并执行机器可读存储介质503中与报文转发控制逻辑对应的机器可执行指令,可执行上文描述的报文转发方法。
本文中提到的机器可读存储介质503可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,机器可读存储介质503可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
参见图6,图6是本申请一示例性实施例示出的一种报文转发装置的框图。云计算网络包括至少一个宿主机,每个宿主机上运行有至少一个虚拟机和虚拟机交换机,所述装置应用于任意宿主机上的虚拟交换机,该装置可包括:
接收单元601,用于接收到来自于本地虚拟机的报文;
生成单元602,用于若确定所述报文需要进行加密处理,则生成至少一个随机数,并依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息;
加密单元603,用于依据所述加密密钥对所述报文进行加密处理得到报文密文;
发送单元604,用于对所述报文密文进行隧道封装,以得到携带有加密标志和所述指示信息的隧道报文,并将所述隧道报文发送给目的宿主机,以使所述目的宿主机上运行的虚拟交换机在接收到隧道报文时,若该隧道报文携带加密标志,则依据所述报文携带的指示信息获取解密密钥,并依据解密密钥对隧道报文解封装后得到的报文密文进行解密得到所述报文,将所述报文发送给目的虚拟机。
可选的,所述生成单元602,在确定所述报文需要进行加密处理时,用于在确定预设了与所述云计算网络对应的密钥库时,确定所述报文需要进行加密处理;其中,所述密钥库包括:密钥索引、加密密钥和解密密钥的对应关系。
可选的,预配置了与所述云计算网络对应的密钥库,所述密钥库包括:密钥索引、加密密钥和解密密钥的对应关系;
所述至少一个随机数包括:第一随机数和第二随机数;
所述加密单元603,在依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息时,用于对第一随机数进行混淆处理,并以混淆处理结果作为密钥索引,在预设的密钥库中查找所述密钥索引对应的加密密钥,将查找到的加密密钥作为用于对所述报文进行初次加密处理的第一加密密钥,以及将所述密钥索引确定为第一指示信息,所述第一指示信息用于确定与所述第一加密密钥对应的第一解密密钥;将所述第二随机数确定为对所述报文进行二次加密处理的第二加密密钥,以及将所述第二随机数确定为第二指示信息,所述第二指示信息用于确定与所述第二加密密钥对应的第二解密密钥。
可选的,所述加密单元603,在依据所述加密密钥对所述报文进行加密处理得到报文密文时,用于采用所述第一加密密钥对所述报文进行加密处理;采用第二加密密钥对加密后的报文进一步进行加密,得到报文密文。
可选的,所述加密标志和所述用于确定解密密钥的指示信息携带在所述隧道报文的隧道头中。
可选的,所述密钥库中的加密密钥和解密密钥被周期性地更新。
参见图7,图7是本申请一示例性实施例示出的一种报文转发装置的框图。云计算网络包括至少一个宿主机,每个宿主机上运行有至少一个虚拟机和虚拟机交换机,所述装置应用于任意宿主机上的虚拟交换机,该装置可包括:
接收单元701,用于接收来自于其他虚拟机发送的隧道报文;
确定单元702,用于在确定所述隧道报文携带加密标志后,获取所述隧道报文携带的指示信息,并依据所述指示信息确定解密密钥;
解密单元703,用于依据所述解密密钥,对所述隧道报文解封装后得到的报文密文进行解密处理,得到原始报文,并将所述原始报文发送至该原始报文的目的地址所指示的目的虚拟机。
可选的,预配置了与所述云计算网络对应的密钥库;所述密钥库包括密钥索引、加密密钥和解密密钥的对应关系;
所述指示信息包括第一指示信息和第二指示信息;
所述确定单元702,在依据所述指示信息确定解密密钥时,用于以所述第一指示信息作为密钥索引,在与所述云计算网络对应的密钥库中,查找所述密钥索引对应的解密密钥,将查找的解密密钥作为第一解密密钥;将所述第二指示信息确定为第二解密密钥;
其中,所述第一解密密钥与所述其他虚拟机对所述报文进行初次加密处理所使用的第一加密密钥对应;
所述第二解密密钥与所述其他虚拟机对所述报文进行二次加密处理所使用的第二加密密钥对应。
可选的,所述解密单元703,在依据所述解密密钥,对所述隧道报文解封装后得到的报文密文进行解密处理,得到原始报文时,用于采用第二解密密钥对所述报文密文进行解密处理;采用第一解密密钥对解密后的报文密文再次进行解密处理,得到原始报文。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (8)
1.一种报文转发方法,其特征在于,云计算网络包括至少一个宿主机,每个宿主机上运行有至少一个虚拟机和虚拟机交换机,所述方法应用于任意宿主机上的虚拟交换机,所述方法包括:
接收到来自于本地虚拟机的报文;
若确定所述报文需要进行加密处理,则生成至少一个随机数,并依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息;
依据所述加密密钥对所述报文进行加密处理得到报文密文;
对所述报文密文进行隧道封装,以得到携带有加密标志和所述指示信息的隧道报文,并将所述隧道报文发送给目的宿主机,以使所述目的宿主机上运行的虚拟交换机在接收到隧道报文时,若该隧道报文携带加密标志,则依据所述报文携带的指示信息获取解密密钥,并依据解密密钥对隧道报文解封装后得到的报文密文进行解密得到所述报文,将所述报文发送给目的虚拟机;
预配置了与所述云计算网络对应的密钥库,所述密钥库包括:密钥索引、加密密钥和解密密钥的对应关系;
所述至少一个随机数包括:第一随机数和第二随机数;
所述依据所述至少一个随机数确定用于对报文进行加密处理的加密密钥、以及用于确定与所述加密密钥对应的解密密钥的指示信息,包括:
对第一随机数进行混淆处理,并以混淆处理结果作为密钥索引,在预设的密钥库中查找所述密钥索引对应的加密密钥,将查找到的加密密钥作为用于对所述报文进行初次加密处理的第一加密密钥,以及将所述密钥索引确定为第一指示信息,所述第一指示信息用于确定与所述第一加密密钥对应的第一解密密钥;
将所述第二随机数确定为对所述报文进行二次加密处理的第二加密密钥,以及将所述第二随机数确定为第二指示信息,所述第二指示信息用于确定与所述第二加密密钥对应的第二解密密钥。
2.根据权利要求1所述的方法,其特征在于,所述确定所述报文需要进行加密处理,包括:
在确定预设了与所述云计算网络对应的密钥库时,确定所述报文需要进行加密处理;
其中,所述密钥库包括:密钥索引、加密密钥和解密密钥的对应关系。
3.根据权利要求1所述的方法,其特征在于,所述依据所述加密密钥对所述报文进行加密处理得到报文密文,包括:
采用所述第一加密密钥对所述报文进行加密处理;
采用第二加密密钥对加密后的报文进一步进行加密,得到报文密文。
4.根据权利要求1所述的方法,其特征在于,所述加密标志和所述用于确定解密密钥的指示信息携带在所述隧道报文的隧道头中。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述密钥库中的加密密钥和解密密钥被周期性地更新。
6.一种报文转发方法,其特征在于,云计算网络包括至少一个宿主机,每个宿主机上运行有至少一个虚拟机和虚拟机交换机,所述方法应用于任意宿主机上的虚拟交换机,所述方法包括:
接收来自于其他虚拟机发送的隧道报文;
在确定所述隧道报文携带加密标志后,获取所述隧道报文携带的指示信息,并依据所述指示信息确定解密密钥;
依据所述解密密钥,对所述隧道报文解封装后得到的报文密文进行解密处理,得到原始报文,并将所述原始报文发送至该原始报文的目的地址所指示的目的虚拟机;
预配置了与所述云计算网络对应的密钥库;所述密钥库包括密钥索引、加密密钥和解密密钥的对应关系;
所述指示信息包括第一指示信息和第二指示信息;
所述依据所述指示信息确定解密密钥,包括:
以所述第一指示信息作为密钥索引,在与所述云计算网络对应的密钥库中,查找所述密钥索引对应的解密密钥,将查找的解密密钥作为第一解密密钥;
将所述第二指示信息确定为第二解密密钥;
其中,所述第一解密密钥与所述其他虚拟机对所述报文进行初次加密处理所使用的第一加密密钥对应;
所述第二解密密钥与所述其他虚拟机对所述报文进行二次加密处理所使用的第二加密密钥对应。
7.根据权利要求6所述的方法,其特征在于,所述依据所述解密密钥,对所述隧道报文解封装后得到的报文密文进行解密处理,得到原始报文,包括:
采用第二解密密钥对所述报文密文进行解密处理;
采用第一解密密钥对解密后的报文密文再次进行解密处理,得到原始报文。
8.一种网络设备,其特征在于,所述网络设备包括可读存储介质和处理器;
其中,所述可读存储介质,用于存储机器可执行指令;
所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现权利要求1-7任一所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217526.XA CN114285675B (zh) | 2022-03-07 | 2022-03-07 | 一种报文转发方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217526.XA CN114285675B (zh) | 2022-03-07 | 2022-03-07 | 一种报文转发方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114285675A CN114285675A (zh) | 2022-04-05 |
CN114285675B true CN114285675B (zh) | 2022-07-12 |
Family
ID=80882286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210217526.XA Active CN114285675B (zh) | 2022-03-07 | 2022-03-07 | 一种报文转发方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114285675B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114915455A (zh) * | 2022-04-24 | 2022-08-16 | 华控清交信息科技(北京)有限公司 | 一种密文数据传输方法、装置和用于密文数据传输的装置 |
CN115102768B (zh) * | 2022-06-24 | 2024-03-19 | 平安银行股份有限公司 | 一种数据处理方法、装置及计算机设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532985A (zh) * | 2013-11-01 | 2014-01-22 | 中国联合网络通信集团有限公司 | 虚拟机之间的通信方法、设备和系统 |
CN105245505A (zh) * | 2015-09-14 | 2016-01-13 | 深圳市优友互联有限公司 | 数据发送方法及装置、数据接收方法及装置、收发系统 |
CN106063218A (zh) * | 2014-12-30 | 2016-10-26 | 华为技术有限公司 | 虚拟化系统中加解密的方法、装置和系统 |
CN106790135A (zh) * | 2016-12-27 | 2017-05-31 | Tcl集团股份有限公司 | 一种基于云端的数据加密方法及系统、通信设备 |
CN108270561A (zh) * | 2017-01-04 | 2018-07-10 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、密钥索引的生成方法及装置 |
CN109428867A (zh) * | 2017-08-30 | 2019-03-05 | 华为技术有限公司 | 一种报文加解密方法、网路设备及系统 |
CN112131564A (zh) * | 2020-09-30 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 加密数据通信方法、装置、设备以及介质 |
CN112738101A (zh) * | 2020-12-28 | 2021-04-30 | 中国农业银行股份有限公司 | 一种报文处理方法及装置 |
CN113726795A (zh) * | 2021-09-01 | 2021-11-30 | 北京天融信网络安全技术有限公司 | 报文转发方法、装置、电子设备及可读存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006211343A (ja) * | 2005-01-28 | 2006-08-10 | Renesas Technology Corp | 認証方式及び認証システム |
CN106878278B (zh) * | 2017-01-09 | 2021-06-22 | 新华三技术有限公司 | 一种报文处理方法及装置 |
CN109150684B (zh) * | 2018-07-20 | 2021-04-06 | 新华三技术有限公司 | 报文处理方法、装置、通信设备及计算机可读存储介质 |
-
2022
- 2022-03-07 CN CN202210217526.XA patent/CN114285675B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532985A (zh) * | 2013-11-01 | 2014-01-22 | 中国联合网络通信集团有限公司 | 虚拟机之间的通信方法、设备和系统 |
CN106063218A (zh) * | 2014-12-30 | 2016-10-26 | 华为技术有限公司 | 虚拟化系统中加解密的方法、装置和系统 |
CN105245505A (zh) * | 2015-09-14 | 2016-01-13 | 深圳市优友互联有限公司 | 数据发送方法及装置、数据接收方法及装置、收发系统 |
CN106790135A (zh) * | 2016-12-27 | 2017-05-31 | Tcl集团股份有限公司 | 一种基于云端的数据加密方法及系统、通信设备 |
CN108270561A (zh) * | 2017-01-04 | 2018-07-10 | 阿里巴巴集团控股有限公司 | 数据发送方法及装置、密钥索引的生成方法及装置 |
CN109428867A (zh) * | 2017-08-30 | 2019-03-05 | 华为技术有限公司 | 一种报文加解密方法、网路设备及系统 |
CN112131564A (zh) * | 2020-09-30 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 加密数据通信方法、装置、设备以及介质 |
CN112738101A (zh) * | 2020-12-28 | 2021-04-30 | 中国农业银行股份有限公司 | 一种报文处理方法及装置 |
CN113726795A (zh) * | 2021-09-01 | 2021-11-30 | 北京天融信网络安全技术有限公司 | 报文转发方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114285675A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114285675B (zh) | 一种报文转发方法及设备 | |
EP3157225B1 (en) | Encrypted ccnx | |
CN107113239B (zh) | 包混淆和包转发 | |
EP0702477B1 (en) | System for signatureless transmission and reception of data packets between computer networks | |
JP3747520B2 (ja) | 情報処理装置及び情報処理方法 | |
US10122713B2 (en) | Method and device for the secure authentication and execution of programs | |
EP2736224A1 (en) | System for encrypting content name | |
US11470060B2 (en) | Private exchange of encrypted data over a computer network | |
CN104160674A (zh) | 内容中心网络 | |
US11063917B2 (en) | Communication network with rolling encryption keys and data exfiltration control | |
CN106487802B (zh) | 基于DPD协议的IPSec SA的异常探测方法及装置 | |
CN109274644A (zh) | 一种数据处理方法、终端和水印服务器 | |
CN105871805A (zh) | 防盗链的方法及装置 | |
CN104426869A (zh) | 基于二维码获取信息、发送信息的方法及装置 | |
US8804953B2 (en) | Extensive ciphertext feedback | |
CN114285551A (zh) | 量子密钥分发方法、装置、可读存储介质及电子设备 | |
JP2000347566A (ja) | コンテンツ管理装置、コンテンツ利用者端末及びプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN113824553A (zh) | 密钥管理方法、装置及系统 | |
CN116527405B (zh) | 一种srv6报文加密传输方法、装置及电子设备 | |
JP4933286B2 (ja) | 暗号化パケット通信システム | |
CN114826672A (zh) | 云网络的加密、解密方法、装置、计算节点及系统 | |
WO2015107561A1 (ja) | 検索システム、検索方法および検索プログラム | |
JP2015070498A (ja) | 鍵交換システム、鍵交換装置、その方法、及びプログラム | |
EP3944555B1 (en) | Communication system, key management server device, router, and computer-readable medium | |
JP4843588B2 (ja) | 情報記録媒体のセキュリティ方法、プログラム及び記録媒体 |
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 |