一种轻量级SDN交换机与控制器的安全连接方法与流程

文档序号:15846256发布日期:2018-11-07 09:04阅读:656来源:国知局
一种轻量级SDN交换机与控制器的安全连接方法与流程

本发明涉及网络安全技术,具体涉及sdn安全技术。

背景技术

openflow信道是连接交换机和控制器的接口。通过该接口,控制器能够管理和配置交换机,接收交换机发送的时间,发送数据包给交换机。交换机控制信道支持单控制器的单一控制信道以及多控制器的多控制信道共同管理交换机。消息被封装为openflow协议中规定的格式在控制器和交换机之间传输,这个控制器—交换机协议运行在安全传输层协议(tls)或无保护tcp连接之上。

而sdn交换机和控制器的安全连接建立在可验证双方身份的真实性的基础上。sdn交换机与控制器的连接协议运行在tls或无保护tcp连接之上。无保护tcp连接缺少必要的安全保障,sdn交换机和控制器无法验证对方身份是否合法。若使用能够满足安全需求的安全传输层协议(tls),则因为sdn交换机与控制器交互需要转发控制通道和管理通道两个通道,会消耗较多的系统资源。



技术实现要素:

针对现有sdn交换机和控制器之间通信连接在安全方面所存在的问题,需要一种可用于sdn交换机和控制器之间安全连接的方案。

为此,本发明所要解决的问题是提供一种轻量级sdn交换机与控制器的安全连接方式,本方案在无保护的tcp连接上增加相应的安全机制,使得sdn交换机与控制器能够通过该安全机制验证对方身份的合法性,并在一定程度上节约了资源消耗。

为了解决上述问题,本发明提供的轻量级sdn交换机与控制器的安全连接方法,包括:

sdn交换机与控制器之间基于token确定两者连接的合法性;

sdn交换机和控制器在转发控制通道和管理通道同时使用token交互。

进一步的,所述连接方法中通过如下步骤完成sdn交换机与控制器之间连接合法性的确定:

(1)sdn交换机发送本机的相关信息给sdn交换机认证模块,在收到sdn交换机认证模块反馈的临时公钥和有效事件后,发送确认信息;

(2)sdn交换机接收并使用临时公钥解密sdn交换机认证模块反馈的有效token和控制器地址以及时间戳,以验证sdn交换机认证模块的合法性;

(3)sdn交换机使用有效token向控制器发起连接请求;

(4)sdn控制器在接收到sdn交换机发送的带token的连接请求,从token存储模块获取sdn交换机的token,核对sdn交换机发送的token与token存储模块中的token是否一致。

进一步的,sdn交换机认证模块在收到sdn交换机发送的相关信息后,验证sdn交换机身份是否合法,如果合法,向密钥管理中心申请临时非对称密钥对;在收到密钥管理中心分发的密钥后,保存临时私钥,发送临时公钥和有效时间给sdn交换机;在收到sdn交换机确认收到公钥信息后,生成该交换机的有效token,将token及交换机相关信息发送至token存储模块,使用临时私钥加密有效token、控制器地址以及时间戳后发送给sdn交换机。

本发明提供的连接方案能够在交互前通过基于token的安全机制验证对方身份的合法性,确保了交互的安全性,并在一定程度上节约了资源消耗。

利用本发明提供的连接方案能够有效的解决现有sdn交换机与控制器的连接协议运行在无保护tcp连接之上的安全性问题,以及sdn交换机与控制器的连接协议运行在tls之上且交换机与控制器交互需要转发控制通道和管理通道两个通道,资源消耗大的问题。

附图说明

以下结合附图和具体实施方式来进一步说明本发明。

图1为本发明实例中安全认证系统的系统框图;

图2为本发明实例中sdn交换机认证流程图;

图3为本发明实例中临时密钥分发流程图;

图4为本发明实例中验证控制器端合法性流程图;

图5为本发明实例中安全连接流程图。

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明。

本实例通过构建一安全认证系统在sdn交换机与控制器之间构建相应的安全认证机制,使得sdn交换机与控制器能够通过该安全机制验证对方身份的合法性,并在一定程度上节约了资源消耗。

参见图1,本实例中安全认证系统100主要由密钥管理中心110、sdn交换机认证模块120(以下简称认证模块)、sdn交换机130、sdn控制器140和token存储模块150相互配合构成。

其中,密钥管理中心110,管理所有合法sdn交换机密钥,提供密钥的生成、保存、分发等密钥服务。

认证模块120,其收到sdn交换机130发送的相关信息后,验证sdn交换机身份是否合法,如果合法,向密钥管理中心110申请临时非对称密钥对;认证模块120在收到密钥管理中心110分发的密钥后,保存临时私钥,发送临时公钥和有效时间给sdn交换机130;并在收到sdn交换机确认收到公钥信息后,生成该交换机的有效token,将token及交换机相关信息发送至token存储模块150,使用临时私钥加密有效token、控制器地址以及时间戳后发送给sdn交换机130。

sdn交换机130,发送本机的相关信息给sdn交换机认证模120;在收到认证模块返回的临时公钥和有效事件后,发送确认信息;同时接收并使用临时公钥解密交换机认证模块发送的有效token和控制器地址以及时间戳,验证sdn交换机认证模块的合法性;使用有效token和控制器开始正常交互。

sdn控制器140,接收到sdn交换机130发送的带token的连接请求,向token存储模块150请求该交换机的token,核对sdn交换机发送的token与token存储模块中的token是否一致,保证连接的安全性。

token存储模块150,存储合法sdn交换机的token值及交换机相关信息,管理token值的有效时间。

基于上述的安全认证系统100,本实例在sdn交换机和sdn控制器之间实现安全连接的过程如下(参见图2-图5):

1.sdn交换机认证:

参见图2,sdn交换机向认证模块发送本机信息(认证模块地址预先存放在交换机中),例如:mac、软件版本、型号等信息后,确认连接交换机合法,向密钥管理中心请求临时密钥。

2.临时密钥分发:

参见图3,密钥管理中心在生成临时公钥pk1、私钥sk1后,将临时公钥pk1和有效时间validtime生成数字摘要h1,使用预先生成的密钥对中的私钥sk对h1进行加密,完成数字签名;将sk1、pk1、validtime以及数字签名c1发送给认证模块;认证模块将sk1存储在本地后,将剩余部分发送给sdn交换机,sdn交换机使用预先存储在交换机的pk将c1解密,获得h1,将收到的pk和validtime计算出数字摘要与h1进行对比,如两者相同,则认证模块合法。

3.验证控制器端合法性:

参见图4,sdn交换机向认证模块发送消息,确认收到pk1;认证模块生成该交换机的token,并将token连同交换机信息存储在token存储模块;认证模块使用sk1加密token、时间戳time、交换机地址controllerip以及sequence,生成密文c2;sdn交换机使用pk1解密c2,获得token、time、controllerip。

4.安全连接:

参见图5,sdn交换机携带token向sdn控制器发起连接,控制器在收到请求后,从token存储模块读取token、交换机相关信息和token的有效时间(有效时间在token写入存储模块时生成);控制器检查token是否在有效时间内,确认交换机发送的token与token存储模块中的token相同,则交换机为合法交换机,之后交换机与控制器在转发控制通道和管理通道两个通道同时使用token交互,确保交互的安全性。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1