日期:2023-01-24 阅读量:0次 所属栏目:计算机应用
摘 要:随着计算机网络技术的不断发展,人们在生活工作中对于信息安全的要求不断提升,研究人员针对这些需求提出了多种匿名通信系统的解决方案。本文基于洋葱路由的匿名通信系统思想,设计并且在应用层实现了匿名通信的功能。该系统使用非对称加密算法RSA对传输数据进行加密及解密,针对密钥分配和路径选择功能设立了密钥中心。本文还通过实验分析了设计的性能和可靠性,认为该设计可应用于局域网的匿名通信。
关键词:匿名通信;洋葱路由;RSA算法
引 言
随着计算机网络技术的不断发展成熟和深入每一个的生活,人们对于个人隐私和信息安全的要求也逐步提高。匿名通信技术作为网络安全的一个重要分支已经受到了越来越多研究人员的重视,无论在理论上还是在实践中都具有重大的意义。
现阶段匿名通信的研究主要分为三类:基于Mix算法的匿名通信系统,基于洋葱路由的匿名通信系统和基于洪泛算法的匿名通信系统【1】。基于Mix算法的匿名通信有很高的匿名程度,数据在每个中间节点都会被进行一系列处理,致使在网络中传输时延较大,不适合实时通信。基于洪泛算法的匿名通信目前仍处于实验阶段,尚不成熟。综上,为适应即时通信的要求,尽量减少时延,并考虑现行技术的可行性,本文基于洋葱路由的思想设计并在应用层上模拟了匿名通信系统。该程序可于办公室网络、家庭网络、学校多媒体教室等局域网环境中,以进行匿名通信,能够较好地保护信者的身份、位置、路由和拓扑信息和数据本身的私密性。
1.洋葱路由
洋葱路由是应用于计算机网络上的一种匿名通信技术,它的目标是通过防止信息量分析的方法在公共网络上提供高效、低廉的匿名网络服务。其中的匿名包括信息的本身私密性和通信双方身份关系的不可见性。洋葱路由建立的网络具有分布式、容错性强和多个管理域等特征,即便单个用户不可信也不会破坏整个网络传输可靠性【2】。
1.1 网络的建立
基于洋葱路由的匿名通信系统建网过程首先由用户端动态地与其他参与洋葱路由的用户动态进行匿名链接,从而建立一条通信链路。这是一种实时的动态存储转发过程,其过程的中密文解析和转发操作都是自动完成的。路径中每增加一个洋葱路由都使流量分析的难度加大,消息经过多个路由后几乎不可能获知发送者和接收者的身份信息。
1.2 加密与解密
洋葱路由的消息加密按照路径的逆序加密。假设链路中有4个洋葱路由(不包括发送者S和接收者D),S先使用D的公钥对原始数据进行第一层加密,然后将密文和D的地址一起通过4的公钥加密,如此重复直至用1的公钥加密完毕。最终S将这个层层加密的消息数据发送给第一个洋葱路由器。每一个洋葱路由器接收到消息数据后,首先移除其对应的加密层、提取出路由信息,然后根据指示信息将消息转发到下一个路由节点,参与者以这种接力式的传输将消息最终送达D。由于中间路由无法直接获取发送者和接收者的地址,通过监视链路中的某一节点也无法解析出整条链路的构成,因此保护了通信双方的身份和通信关系。这种技术可以避免中间节点获取消息发送者信息、消息接收者信息以及消息的内容等。
2.模块设计
匿名通信系统分为用户端和密钥中心两大模块。用户端负责用户间匿名通信的操作。密钥中心负责对联网用户进行密钥分配和更新。本文中着重介绍用户端和密钥中心的设计。
2.1 客户端
软件的用户端包含加密、路径选择和数据传输三个模块。
程序入口由加密子模块生成密钥对,路径选择子模块可以将用户选择的转发路径保存到本地路由表,程序根据路径选择模块中的路径顺序使用相应的公钥对数据以洋葱路由的方式进行加密。数据传输子模块将传统意义上的客户端和服务器合二为一,使程序同时具有被动监听和主动发送消息的功能。当程序接收 到密文数据后,程序使用本地私钥对密文进行解密,并获得下一跳信息。如果得到的地址与本地地址不同,则该主机地址不为目的地址,程序自动调用客户端进行转发。反之,直接在目的端程序中显示。
加密子模块使用RSA算法生成1024bit长的密钥,权衡了安全性和加密速度。相较同种类型其他长度和其他类型的密钥,该方案为综合效率较高的一种选择之一。同时,加密解密的过程采用了分段的技术,得以实现对长串数据的有效加密和解密。
路径选择模块使用可扩展标记语言文件(*.xml),将包括别名、IP地址和使用端口的主机信息序列化,实现了联网路由的别名显示和用户列表的动态更新。
数据传输子模块在用户端启动后首先根据绑定的端口建立远程端点,然后建立套接字进行监听。
2.2 密钥中心
密钥中心负责用户数字证书的生成、颁发和撤销。用户用特定的密钥算法生成密钥对,并将自己的个人信息和公钥信息发送给中心。密钥中心验证该用户的身份,如是合法用户则生成并颁发该用户的数字证书。所谓数字证书就是包含用户信息以及公钥信息的文件,该证书由密钥中心生成并经过密钥中心的数字签名,可以确定拥有该数字证书的用户是合法的。每个合法用户可以去密钥中心下载其他用户经过中心数字签名的证书,用于之后的加密通信。对于已无效或过期的证书由中心负责撤销。
3.性能分析
3.1 加密算法性能分析
本实验运行发送者和接收者的程序在同一台主机上,不经由洋葱路由直接进行数据传输。由此可以忽略传播时延和排队时延,近似地将影响总时延的因素归结为处理时延,也就是匿名通信系统加密解密的时间。通过实验“加密数据长度与时延的关系”数据得出的函数图像拟合出一条近似二次函数的曲线(图3.1-1)。
由于匿名通信的过程中加入了一定长度的路径信息,因此即使发送空串消息也会在网络中造成一定量的时间消耗。根据二次函数的性质,时延的增长速率高于信息的增长速率。由此看来,本设计中的匿名通信系统对于少量数据加密的效率较高。
图3.1-1 加密数据与时间关系图
3.2 数据传输性能分析
如图3.2-1所示,微观地看,在数据量较小的情况下(发送字节数小于300),传输实验近似相等,拟合的曲线可以用一个二次函数来描绘。
由于每经过一个路由都要进行解密和路径信息的解读,并且密文数据量也随着洋葱路由层数的增多而增大,网络开销也随之增大。发送等长度消息的情况下,时延根据转发路由个数进行二次性的增长。当转
发路由到达5个时,由于本匿名通信系统实现时的技术局限,至多只能发送约500字节的数据。因此,本设计中使用的匿名通信系统相对适用于局域网中的即时消息传输以及文字文档的发送等功能。
图3.2-21 数据与转发时延关系图
在数据量较小的情况下,如图可以看出发送数据的长度对于时延几乎不产生影响。这是由于现代计算机处理速度很快,计算机本身运算消耗的时间已经小于网络传输时延。
图3.2-2 转发路由与传输时延关系图
一般来说,实时通信中500毫秒的时延是在可接受范围内的。同时,经过4个洋葱路由后安全性已达到较高的水平,因为在一般的通信系统中节点的数目在几十至几百个不等,即使在已知系统内部具体的拓扑结构的情况下,要从N个节点确定具体的4个路由其难度是N关于4的组合数,且经过5层RSA加密后数据其安全性也达到了相当高的水平。综上所述,该系统运行于局域网中会有较好的表现。
4. 安全性
4.1 RSA加密
本文设计的匿名通信系统 采用RSA非对称算法对数据进行加密。首先,考虑到单个路由节点加密的安全性,采用RSA算法生成的1024位密钥。已经达到了80级的传统推荐长度,针对它的破解基于大数因数分解,即便使用最佳的算法进行破解,也要花费数以千计的MIPS年。因此,本方案中选择的密钥已可以避免逐一针对网络中单个节点进行的密钥破解和信息窃取,可以较好地保护单个路由节点的安全性。其次,在速度上非对称加密比对称加密慢很多,用硬件实现比对称算法慢约1000倍,用软件实现比对称算法慢约100倍。但实际中的时延以毫秒计算,所以在运算过程中的时延对整体时延的影响并非决定性的。最终,采用RSA加密算法还着重考量了密钥分配的功能。为了实现匿名通信系统对密钥的集中管理和统一分配,并且保障一定的安全性,只有使用非对称密钥才能满足如上要求。
4.2 密钥分配
对称密钥在分配的过程中一旦被截获,将会严重破坏通信的安全性。但对于非对称密钥,由于公钥只负责对数据加密,所以即便在传输中被第三方获得也没法解密消息。
对于非对称密钥的分配有多种方法,其中包括密钥分配中心技术(KDC)和密钥认证中心技术(CA)。本文所描述的匿名通信系统针对其特性采用了密钥认证中心的技术对公钥进行有效的管理和分配。
4.3 针对洋葱路由的攻击
根据洋葱路由的特性,单个节点只能获得自己的后继结点信息。即便网络中的一个甚至多个路由器不能确定是安全的,匿名通信仍然可以完成。但针对洋葱路由仍然存在着时序分析、交叉攻击、前驱攻击和出口节点嗅探四种【4】可能的攻击模式。
5.结束语
通过匿名通信系统的需求我们提出了一种可行的解决方案,并在应用层上进行了模拟和性能分析。本程序适用于办公网络、家庭网络等小型局域网中,比较适用于涉密的小量数据传输。当然,本方案中仍然在密钥中心的安全性方面存在一定的缺陷,有待通过数字签名技术加强这一匿名通信核心模块的安全性。并且,在硬件技术和软件技术的不断发展的趋势下,未来将会以P2P的形式进行公钥传输,最终发展成为自组网式的匿名通信系统。
参考文献:
【1】CHAUM D L. Untraceable electronic mail, return addresses, and digital pseudonyms [J].Communications of the ACM1981,24(2): 84—88.
【2】Michael G. Reed, Paul F. Syverson. Onion Routing[J]. Proceeding of AIPA '99. MARCH 1999
【3】Landwehr, Carl; Reed, Michael; Syverson, Paul; Tsudik, Gene: Towards an Analysis of Onion Routing Security, Workshop on Design Issues in Anonymity and Unobservability Berkeley, CA, July 2000. 本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/242868.html