什么是匿名通信
匿名通信指采取一定的措施隐蔽通信流中的通信关系,使窃听者难以获取或推知通信双方的关系及内容。匿名通信的目的就是隐蔽通信双方的身份或通信关系,保护网络用户的个人通信隐私。
匿名通信的基本框架
匿名通信的基本框架可以从三个方面加以阐述:匿名属性(anonymity property)、对手能力(adversary capability)和网络类型(network type)。
1.匿名属性
匿名属性包括不可辨识性(unidentifiability)和不可联系性(unlinkability)。不可辨识性是指对手无法识别用户的身份和行为;不可联系性是指对手无法通过观察系统将消息、行为和用户相关联。
不可辨识性由发送者匿名、接收者匿名、相互匿名和位置匿名四个部分构成。发送者匿名是指不能辨识消息发送者的身份;接收者匿名是指不能辨识消息接收者的身份;相互匿名是指既不能辨识消息发送者的身份,也不能辨识消息接收者的身份;位置匿名是指无法辨识消息发送者和消息接收者的位置、移动、路由或拓扑信息。
不可联系性主要是通信匿名。通信匿名是指特定的消息不能和任意通信会话相关联,或者特定的通信会话不能和任意的消息相关联。通信匿名的匿名程度要低于发送者匿名和接收者匿名。
2.对手能力
对手是意图降低、消除通信匿名的通信网络用户或用户的集合。匿名通信系统一般通过提出威胁模型(threadmode),来表明该系统能够抵抗的对手能力。对手能力分为三个方面:可达能力(reachability)、攻击能力(attackability)和适应能力(adaptability)。
对手的可达能力分为全局(globa1)和本地(1oca1)两种。具有全局能力的对手可以访问网络中所有的节点和链路,而具有本地能力的对手只能访问网络中部分的节点和链路。攻击能力分为被动(passive)和主动(active)两种。攻击的目的是为了识别消息的发送者或接收者。被动攻击一般由匿名通信网络的外部观测者发起,其主要行为为观测网络中传输的消息、网络中数据的流量,并通过对消息和流量的分析达到攻击的目的。主动攻击一般由匿名通信网络的内部节点发起,其主要行为为通过其控制的部分通信节点修改通信消息、追溯通信行为、修改通信行为,来达到攻击的目的。
适应能力分为动态和静态两种。在匿名通信系统中,对手的适应能力一般是动态的,动态地跟踪网络的变化,实时地收集路径选择算法信息,实时地监控网络传输的消息和流量的变化。
3.网络类型
匿名通信系统的网络类型由以下三个因素确定,分别为:路径拓扑(pathto pology)、路由机制(route scheme)和路径类型(path type)。
匿名通信系统的路径拓扑有两种,分别为:瀑布型(cascade)和自由型(free)。在瀑布型的网络中,发送者从匿名通信网络中选择固定的通信路径进行消息的传输;在自由型的网络中,发送者可以选择任意长度的通信路径进行消息的传输。一般意义上,自由型的网络拓扑比瀑布型的网络拓扑具有更强的匿名。
匿名通信系统的路由机制分为单播(unicast)、组播(multicast)、广播(broadcast)和任意播(anycast)。目前基于系统效率和系统部署等实际问题的考虑,大多数实际部署的匿名通信系统的路由机制都是单播的机制。
匿名通信系统的路径类型分为简单(simple)和复杂(complex)。简单的路径类型不允许出现路径的循环,中继的节点在整个路径中只能出现一次;复杂的路径类型可以出现路径的循环,中继的节点在整个路径中可以出现多次。
匿名通信研究现状
现阶段匿名通信的研究主要分为三类:基于Mix算法的匿名通信系统、基于OnionRouting算法的匿名通信系统和基于泛洪算法的匿名通信系统。
基于Mix算法的匿名通信系统是在的匿名通信算法基础上发展起来的。该类通信系统的核心思想是利用单个Mix节点或瀑布型的多个Mix节点实现匿名通信。Mix节点是指网络中向其他节点提供匿名通信服务的节点,它接收用其公钥加密的数据,并对数据进行解密、批处理、重序、增加冗余字节等处理,然后将数据传输给下一个Mix或最终接收者。基于Mix算法的匿名通信系统具有以下特点:
1)匿名通信系统网络中一部分节点为其他节点提供匿名通信服务;
2)发起者需要在发起匿名通信之前确定整个通信的传输路径,该路径在传输中不会改变;
3)发起者需要在发起匿名通信之前,得到整个传输路径中各个Mix节点的信息,包括地址、密钥信息等;
4)Mix节点对来自多个发送者的通信信息进行解密、复用、批处理、重序、增加冗余字节等处理,系统匿名较高,但通信传输的时延较高,一般不适合实时的数据通信。
基于Mix算法的匿名通信系统包括Babel、Cyberpunk(TypeI)、Mixmaster(TypeII)、Mixminion(TypeIII)等。
基于OnionRouting算法的匿名通信系统是在Reed等人1998年提出的Onion Routing算法基础上发展起来的。相比于基于Mix算法的匿名通信系统,基于Onion Routing算法的匿名通信系统更注重数据通信的实时性以及系统的简单性、有效性和可实施性,其特点为:
1)基于Onion Routing算法的匿名通信系统建立在TCP传输的基础上,节点之间通常通过SSL方式传输;
2)基于Onion Routing算法的匿名通信系统在路径建立时采用非对称密钥算法加密,在数据通信时采用对称密钥算法加密,以提高数据传输效率,降低时延;
3)基于Onion Routing算法的匿名通信系统采用实时复用并转发,不对通信数据进行乱序、固定输入输出流量等批处理。基于Onion Routing算法的匿名通信系统包括Tor、FreeNet等。Tor是目前Internet中最成功的公共匿名通信系统。目前,Tor在全球具有超过1300个中继节点,大部分的节点位于美国和德国;正常状态下,全球有超过20Gbps的匿名通信传输数据流量。
基于泛洪算法的匿名通信系统是近期匿名通信传输领域新的研究热点,主要基于flooding、epidemic等类洪泛算法实现匿名通信,目前仍处于实验室研究阶段,没有实际部署的成熟的匿名通信系统。基于泛洪算法的匿名通信系统一般具有以下特点:
1)发起者在发起匿名传输之前完全不清楚匿名传输的路径,也无需得到传输中间节点的任何信息;
2)发起者的每一次匿名传输路径并不固定;
3)匿名通信网络中的任何一个中间节点都不知道匿名通信的发起者和接收者。
基于泛洪算法的匿名通信系统主要面临的挑战是系统会产生大量的网络传输流量,对于网络带宽的需求较大;同时在目前的状态下,系统算法的稳定性和可靠性还不够。