软件定义网络匿名通信关键技术研究
2020-12-08陈姣田彧
陈姣 田彧
【摘 要】匿名通信的概念最初由Chaum在1981年提出,他也最早提出了Mix网络技术,在该网络中,Mix节点将接收到的来自发送者的信息通过加密、延迟、填充等方式进行混合处理后再传输给下一个节点,以此来隐藏通信双方的身份信息,实现高匿名性,是一种牺牲了性能的高时延匿名通信技术。1996年,Goldschlag等美国海军研究实验室的员工提出了第一代洋葱路由技术,洋葱路由网络首先在通信双方之间建立一条虚电路,传输路径中的任一路由节点只知道前一个节点和后一个节点的身份信息,为建立连接的双方提供实时的双向匿名服务,因而它是一种低时延的匿名通信技术。2004年,Dingledine等提出了第二代洋葱路由技术,即实现Tor的主要技术,在第一代的基础之上进一步提高了安全性,如将加密算法由公钥加密变为了Diffie-Hellman密钥交换算法。
【关键词】软件定义网络;匿名通信;关键技术
引言
匿名可以做到使个人的身份信息得以隐蔽,不被外人识别获取。互联网影响社会生活方方面面,人们传递信息、休闲娱乐都已经少不了互联网。随着新技术的出现,软件定义网络(SDN)为弥补传统网络架构的不足,成為未来网络架构发展的一个重要趋势。软件定义网络]的显著特征即转控分离,实现控制平面的中央控制,通信协议简化网络间传输设备工作量,具有软件编程功能,北向接口可与多应用程序连接。但软件定义网络并非是以用户的安全性和隐秘性为基础开发的,因此在通信中外来攻击者可以通过报文分析获取通信用户的敏感信息。
1匿名的定义
“匿名”是“一个主体在一组集合(即匿名集合,AnonymitySet)中不可识别的状态”。匿名集合指的是“所有可能的主体构成的集合”。根据匿名集合的大小可以判断匿名系统的匿名性强弱,可以理解为匿名集合越大,匿名集合中的每个对象被攻击者关注的概率越低,则匿名性越强;根据匿名集合的变化可以衡量攻击者对匿名系统的攻击效果。对通信系统匿名性定性、定量的定义一般都采用基于信息熵的定义,具体形式如下:n为匿名集合中对象的数量,Pi为集合中的对象被攻击的概率。由于该匿名性定义将匿名集合中的对象数量、集合中每一个对象被攻击的概率等因素都考虑到,因此可以使用它来定量的描述和判断一个通信系统的匿名性。
2传统网络匿名通信
众多学者已经研究匿名系统以保护各用户的通信身份并防止攻击者的流量分析。传统网络所采用的匿名系统主要有Mix-net、DC-net、可验证的shuffle或广播。当前,从性质上分析,可以将匿名系统划分为高延迟与低延迟,主要参考的是传输时间。高延迟匿名通信系统主要是为需要强大匿名性且允许高延迟的应用而设计的,例如:电子邮件、Babel、Mixminion。该类系统基于Mix-Nets,其中消息通常被延迟数小时以进行批处理,以最大化匿名实现对流量分析的阻断。低延迟匿名通信系统主要用于网页浏览和互联网聊天等交互式应用。在低延迟匿名系统中,比较常见的是Anonymizer,只有一个代理,整体较为简单。洋葱路由是初始混合网络的实时变体。软件定义网络作为一种新兴的网络架构,它所拥有的集中控制和掌控全局的新特性还并没有引起匿名通信领域研究的思考和重视。在发送消息之前,发送器拾取混合列表并通过中继器与接收器构建双向电路。发送方对消息进行分层加密,每个中继对它们进行解密,然后将它们转发到电路中的下一跳。每个中继仅知道其上一跳和下一跳,但不知道通信参与者。二代洋葱路由Tor是基于志愿者并最为流行的匿名系统。基于P2P架构的匿名系统,各节点都可作流量发起者或转发者。LAP是低延迟的轻量级匿名系统,可保证日常在线活动的安全。
3方案设计
3.1系统架构
软件定义网络的主要特点是将控制功能从网络设备中提取出来,网络的控制平面在控制器上,转发平面在网络设备上,实现了控制层与数据转发层的分离。基于SDN的匿名通信网络架构从上往下分为应用层、控制层以及数据层。应用层包含了匿名通信服务等相关网络应用。控制平面负责网络控制,主要功能为协议处理与计算。控制器获取系统中网络设备之间的连接信息,并对连接信息进行处理,通过OpenFlow协议定期获取网络中主机的剩余带宽等信息,根据这些信息挑选最优转发节点来建立最优转发路径。数据平面搭建网络拓扑,交换机根据控制平面下发的流表完成数据的转发和处理。系统可以看作是由一个控制器和多个交换机及主机组织起来的覆盖网络,将网络中的主机划分为多个集群,每个集群中有一个主机作为该集群的管理员。其中,SDN控制器负责维护网络中交换机节点的相关信息,建立匿名通信路径以及指挥网络中的数据包转发。各集群管理员负责维护该集群中普通成员的地址映射关系,为该集群中普通成员请求并建立匿名通信。
3.2数据包包头信息隐匿
为了实现数据包包头信息的隐匿性,方案采用唯一哈希值来改写包头,结合随机数的不确定性加强包头信息的安全转发。由于数据包包头中五元组包含源IP地址、目的IP地址、协议号、源端口、目的端口。为了实现隐藏包头的敏感信息,方案用唯一哈希值替代原包头中的源/目的IP地址和源/目的MAC地址。步骤1交换机在收到新的数据包后,查找匹配项,通过预设置packet_in将此数据包的包头上交给控制器,其中消息包含的敏感信息有(Si,Di)。步骤2控制器在收到交换机发来的数据包包头后,首先生成一个随机数,利用正态随机数,依据中心极限定理得到服从U(0,1)均匀分布的随机数k。生成随机数k后,控制器首先对包头消息C进行解析,获得信息Si、Di之后混合Si、Di与随机数k,通过sha1算法生成一个唯一的哈希值M,并下发给入口交换机。步骤3入口交换机收到控制器下发的唯一哈希值后,用此哈希值替换原数据包包头中的源/目的IP地址。
3.3约束最优路径规划算法
通常传统网络中的路径选择依据是通过路由协议计算出的最优传输路径,但结果可能会导致网络中部分路径流量拥塞。当采用SDN网络架构时,SDN控制器可以根据网络流量状态调整传输路径,提升网络资源利用率。此外,控制器根据节点在线时长选择信誉度较高的节点作为转发节点,可以一定程度上降低路径选择攻击的威胁。控制器收到发送方的匿名通信请求后获取发送方和接收方的IP地址等信息。拓扑感知模块负责获取网络中交换机与主机之间的连接信息,并对连接信息进行处理,形成网络拓扑。链路信息收集模块负责获取网络中交换机节点的剩余带宽、在线时长等信息。控制器在收到上述信息后,利用多约束最优路径规划算法建立匿名通信路径。
结束语
随着互联网安全的不断发展,匿名通信已经成为其不可分割的一部分。匿名通信网络最初的目的是保护通信双方的隐私不被泄露,但是如今匿名攻击技术层出不穷,未来希望匿名网络可以在保护用户隐私的同时也能够监测恶意流量并屏蔽恶意行为。
参考文献:
[1]魏占祯,孟莘蕊,李兆斌.软件定义网络匿名通信关键技术研究[J].计算机应用与软件,2020,38(10):131-138.
[2]龚力.匿名网络匿名性评估关键技术研究[D].电子科技大学,2020.