论文部分内容阅读
软件定义网络作为一种新型的网络架构,其核心思想是将传统网络分成控制平面和数据平面,优化传统网络架构,提高网络的运维和管理的效率。但是新型的网络架构在带来便利的同时,在安全方面也同样带来了新的挑战。尤其是将网络的控制权限高度集中到控制平面后,控制平面拥有调度和管理数据平面的能力。其通过南向通信与数据平面的物理转发设备进行交互,通过下发流表来控制网络中数据流量的走向,流表便成为了新型网络架构中最重要的敏感数据,也是攻击者关注的焦点。但目前对于流表的安全保护的并没有引起业界足够的重视,甚至被很多网络设备生产厂商直接忽略。本文通过研究流表在软件定义网络中流转的每一个环节中的安全威胁,包括从在OpenFlow控制器中产生到在南向通信信道中传输再到OpenFlow交换机中使用,提出了一套流表数据保护方案。该方案不仅安全强度较现有方案有一定的提升,而且软件兼容性好、运行效率高。首先,本文借鉴Kerberos认证思想,提出了在通信数据源头处进行加密的防护方案。此方案不仅在不安全信道上完成了通信双方的身份认证和会话密钥分配,而且使用高效的AES对称加密算法,确保消息在到达终点前一直以密文的形式存在,实现了对通信数据端到端的安全防护。最后,用转发代理的形式对此方案进行了实现,并用CBench测试工具对Floodlight控制器进行性能测试。结果表明,本文提出的源加密方案不仅能够对通信数据进行端到端加密,而且相对于单独启用TLS增加控制器约8%的响应延时,源加密部分仅增加约4%。其次,由于OpenFlow交换机中流表数据需要进行高速频繁查询操作,流表数据都以明文的方式保存在交换机的内存中。本文针对可能的攻击手段,提出了一种流表数据防篡改的方案。该方案基于Open vSwitch的开源实现,修改其部分代码并配合自己开发的外置程序,将方案进行了工程开发。实现了流表的下发记录审计和防篡改功能。最后,本文研究并实现了一套SDN流表保护原型系统,开发了身份认证和密钥分发模块、流表的源加密转发模块、流表的防篡改模块和一套完整的状态显示和操作调度的用户界面。在完成对流表信息保护的功能外,简化管理员的操作过程,提高了工作效率。