已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 本文研究了一种因特网上的匿名通讯技术洋葱路由技术。该技术所建立的 匿名连接可以有效的防止监听和通信量分析攻击,不暴露通信者的身份信息以及 通信的内容。用洋葱路由技术所实现的匿名连接是双向的和近乎实时的,可以广 泛的应用于、,p n 、网页浏览、电子邮件等。本文首先介绍匿名通讯技术,接着介 绍洋葱路由技术及其实现;然后分析洋葱路由技术的安全性,最后讨论洋葱路由 技术的应用。 关键词:网络安全匿名通讯信息隐藏洋葱路由 a b s t r a c t a t e c h n i q u eo fa n o n y m o u sc o m m u n i c a t i o no v e rt h ei n t e m e t 。0 n i o nr o u t i n g ,i s s t u d i e di nt h i s p a p e l i t p r o v i d e sa n o n y m o u s c o n n e c t i o n sw h i c h p r e v e n t b o t h e a v e s d r o p p i n ga n dt r a f f i ca n a l y s i sf r o mr e v e a l i n gt h ei d e n t i f y i n gi n f o r m a t i o no ft h e c o r r e s p o n d e n ta n dt h e c o n t e n to ft h ec o m m u n i c a t i o n 0 n i o nr o u t i n g s a n o n y m o u s c o n n e c t i o na r eb i d i r e c t i o n a l ,n e a rr e a l t i m e ,a n dc a nb eu s e di nv p n ,w e bb r o w s i n g , e m a i l ,e t c t e c h n i q u e so fa n o n y m o u sc o m m u n i c a t i o na v a i l a b l ea r ed e s c r i b e di nt h i s p a p e lt h e n0 n i o nr o u t i n ga n di t si m p l e m e n t a t i o n t h es e c u r i t yo fo n i o nr o u t i n gb e a n a l y z e di nt h i sp a p e lf i n a l l ys e v e r a la p p l i c a t i o no f o n i o nr o u t i n ga r ed e s c r i b e d k e y w o r d s :s e c u r i t y i n f o r m a t i o nh i d i n g ,a n o n y m o u sc o m m u n i c a t i o n ,o n i o nr o u t i n g 第一章绪论 第一章绪论 随着人们对互联网使用越来越频繁,各种网络应用如网页浏览、电子邮件、消 息传送、电子投票、电子支付等等也越来越多。几乎所有的网络用户都不希望自 己在使用这些应用的时候让攻击者了解自己的身份信息如:自己的i p 地址、自己 的电子邮件地址、自己喜欢访问那些网站等等。电子投票、电子支付者们对这方 面的要求更为强烈。通常使用的加密技术可以使攻击者很难知道通讯的内容,但 是却不能防止攻击者通过跟踪数据包发现通讯双方的一些连接信息进而得到通讯 双方的身份信息,我们称这种攻击为通信量分析( t r a f f i ca n a l y s i s ) ,它是以发现谁 在和谁通信为目的。事实上,我们目f ; 使用的因特网( 大部分通讯协议为t c p i p ) 如果没有一些防范措施,攻击者很容易就可以得到通讯双方的身份信息。 例如,人们在互联网上进行通讯时,攻击者可以发动的攻击有 1 在互联网上,一般采用t c p i p 协议进行通讯,i p 包在传送时总是包含源 l p 地址和目的l p 地址,因此,攻击者监听到通讯的数据包后( 这种软件 很多,如n e t x r a y ) ,可以分析i p 包的源地址与目的地址了解通讯者的发 送地点与接收地点;同样的,在传输电子邮件时,所传输的电子邮件信息 中总是包含此电子邮件的的发送地址和接收地址,攻击者只需简单的读出 电子邮件中的发送地址和接收地址,就可以发现此电子邮件的发送者和接 收者。 2 如果信息在传送过程中的编码方式没有改变,攻击者可以采用类型匹配, 对数据进行跟踪,这种攻击称为信息编码攻击( m e s s a g ec o d i n ga t t a c k ) 。例 如,攻击者通过追踪数据包中固定的数据编码在网络中的移动情况,就可 以发现通讯的起始地址和目的地址。 3 更进一步,信息在互联网上传送时,每个数据包都包含有反应该数据包长 度的信息,攻击者通过追踪有固定长度的数据包,就可以发现此数据包的 源发送地址和目的发送地址。这种攻击称为信息标签攻击( m e s s a g ev o l u m e a t t a c k ) ,即使数据包的源地址和目的地址经过加密,也能通过这种攻击发 现数据包的起始地址和目的地址。 4 更进一步,如果攻击者通过观察固定的起始点到目的节点的连接,能够建 立一个时间上的相关关系,就可以发现此连接上有没有数据通信。这种攻 击称为时间测量攻击( t i m i n ga t t a c k ) 。比如,观察者通过观察发现,数据包 由一个固定的起始地址发送到一个固定的目的地址所用去的时间大概在一 第1 负共4 3 负 种因特网上的匿名通信技术 个细小范围之内,那么攻击者通过观察起始地址所发出一个数据包的时间 以及目的地址接收到一个数据包的时间,经过一段时间的观察,就有可能 发现这一对地址是否在通讯。 这些攻击,在实际中可以使攻击者得到许多有用的信息。因此,设计一种可以 防止这些攻击保护通讯者身份信息的通讯协议,越来越受到人们的重视。这种 可以防止通信量分析这类攻击且不暴露通信者身份信息的的通讯,称为匿名通 讯( a n o n y m o u sc o m m u n i c a t i o n ) 。目前已经提出的匿名通汛方法可以分为三类, 第一类为基于电子邮件的匿名通讯如t y p e 0r e m a i l e r 、t y p e lr e m a i l e r 、 t y p e 2r e m a i l e r 、a n o np e n e t f i 、c y p h e r p u n kr e m a i l e r 、m i x m a s t e r 、p s e u d o n y m s y s t e m 、c h a u m 的m i x e s 理论等;第二类为基于w e b 的匿名通讯,如 a n o n y m i z e r 、l u c e n tp e r s o n a lw e ba s s i s t a n t 、c r o w d s 、t a zs e r v e r s r e w e b b e r n e t w o r k 、j a n u s 、p u b l i u s 等;第三类为基于网络的匿名通讯,如p i p e n e t 、 f r e e d o m n e t w o r k 等f 3 ,1 0 】。本文所介绍的匿名通讯协议洋葱路由技术是基于 网络的匿名通讯技术,它是在c h a u m 的m i x e s 思想1 1 的基础上提出的一种实 时的、双向的匿名通讯技术,它采用层层加密技术将用户的标识信息进行多层 加密,按事先指定的路由将信息发送给接收者,信息每经过一个路由点,就山 路由点去掉一层加密,然后传给下一个节点,最后到达接收者时,得到明文。 该方法可以有效的防止通信量分析这类攻击,保护通信者的身份信息。另外, 山于该技术是基于网络的匿名通讯方法,独立于具体的应用,可以适用于许多 应用如网页浏览、电子邮件、远程登录等。本文第一章为概述;第二章介绍匿 名通讯技术应该具备的特点和可以采用的方法,同时还介绍了目前所提出的匿 名通讯协议并分析其优缺点;第三章介绍洋葱路由技术;第四章介绍洋葱路由 技术的实现;第五章分析洋葱路由网络的安全性能;第六章介绍洋葱路由网络 在v p n 、网页浏览、电子邮件等方面的应用;第七章为结论;最后为致谢。 鹕2 以共4 3 贞 第二章安全韵匿名通信协议 第二章安全的匿名通讯协议 安全的匿名通讯协议应该能给发送者和接收者提供全方位的保护。这些保护包 括发送者匿名、接收者匿名、发送内容的匿名以及接收内容的匿名。能够抵御各 种攻击如信息编码攻击、信息标签攻击、时间攻击、重放攻击、溢出攻击以及联 合攻击等。目前,一个安全的匿名通讯协议除了必须要使用加密方法外,还要采 用许多办法如扰乱路由法、外在和固有寻址法、使用可信的第三团体转发、使用 多个不可信的第三团体的层叠转发还有叠加发送、混淆等。利用这些技术或技术 的组合现在已经实现了许多匿名通讯协议如t y p e0r e m a i l e r 、t y p el r e m a i l e r 、 t y p e2r e m a i l e r 、t h ew e ba n o n y m i z e r 、l p w a 、c r o w d s 、p i p e n e t 、f r e e d o mn e t w o r k 等。这些实现的协议中,有些是基于电子邮件的,有些是基于网页浏览的,还有 的是基于网络的。 2 1 应该提供的匿名保护 1 发送者匿名( s e n d e ra n o n y m i t ) ) 匿名通讯协议首先应该提供发送者匿名保护,发送者的身份信息以及发送 的端点地址应该向攻击者隐藏起来,即攻击者通过各种攻击手段,不能或 者很难获得表明发送者身份的信息和发送时的位置的信息。 2 接收者匿名( r e c i e v e ra n o n y m i t y ) 匿名通讯协议还应该提供接收者匿名保护,接收者的身份信息以及接收的 端点地址应该向攻击者隐藏起来,即攻击者通过各种攻击手段,不能获得 表明接收者身份的信息和接收时的位置的信息。 3 发送内容匿名( s e n d e r c o n t e n ta n o n y m i t y ) 在通讯中,匿名通讯协议还应该保证发送者所发送的内容不暴露给攻击者。 4 接收内容匿名( r e c i e v e rc o n t e n ta n o n y m i t y ) 在通讯中,匿名通讯协议还应该保证接收者接收到的内容不暴露给攻击者。 匿名通讯协议应该提供的所有的匿名保护见图1 : 接收者匿名 塑坚咂 图1 匿名通讯协议应提供的匿名保护 2 2 能够抵御的攻击 匿名通讯网络应该能够防御许多攻击,为通信双方提供匿名保护。常见的攻击 一种因特网上的匿名通信技术 有 1 信息编码攻击( m e s s a g ec o d i n ga t t a c k ) :不改变编码的信息在网络中传输 时,可以通过类型匹配在网络中对该信息进行跟踪。 2 信息标签攻击( m e s s a g ev o l u m ea t t a c k ) :在网络中传输的信息,可以检 测特定长度的信息在网络中传输的途径对信息进行跟踪。 3 重放攻击( r e p l a ya t t a c k ) :攻击者通过重放先前截获的数据包获得通讯双方 的信息。 4 溢出攻击( f l o o d i n ga t t a c k ) :由于匿名服务都限定于某个特定的群,攻击者 使系统溢出从而从群中分离出某些信息。 5 时间测量攻击( t i m i n ga t t a c k ) :这种攻击在可能的些端口找出建立连接和 中断连接的时削发现其中的相关性。 6 联合攻击( c o l l u s i o na t t a c k ) :一些被攻克的节点联合起来获得通讯双方的信 息。 2 3 可以采用的方法 我们可以采用许多现有的加密方法对数据进行加密来保证发送内容的匿名与 接收内容的匿名,加密技术的加密强度可以保证数据的安全性。发送者匿名与接 收者匿名却需要另外的技术,本文列出5 种用于匿名的技术: 1 扰乱路由法( s h u f f l e dr o u t i n g ) 2 外在和固有地址寻址法( e x p l i c i ta n di m p l i c i ta d d r e s s i n g ) 3 使用可信任的第三团体转发( f o r w a r d i n g u s i n g t h i r dp a r t i e s l 4 使用多个不可信的第三团体的层叠进行转发( f o r w a r d i n gu s i n gc a s c a d e so f u n t r u s t e dt h i r dp a r t i e s ) 5 叠加发送( s u p e r p o s e ds e n d i n g ) 2 3 1 扰乱路由法( s h u f f l e dr o u t i n g ) 采用一定的方法扰乱路由,就形成了扰乱路由法,该技术可以使控制部分网络 的攻击者成功攻击的风险减到最小。如图2 :有7 个匿名点的网络连接图。攻击者 e v e 控制了节点4 和节点7 。如果a n d r e a 要使用这7 个匿名节点进行通讯,但不 第4 贞共4 3 贞 第一章安伞的匿名通信协议 知道谁被e v e 控制,它可以随机的选择其中一个匿名节点,那么a n d r e a 就有随机 选择一个安全节点的公平的机会,e v e 不能保证完全攻击到a n d r e a 。在图2 的情 况下,e v e 能够攻击到a n d r e a 的概率为2 7 。 图2 扰乱路由法使发送者有机会避开受攻击者控制的网络 2 3 2 外在和固有地址法( e x p l i c i ta n di m p l i c i ta d d r e s s i n g ) 使用这种方法可以得到接收者匿名,即隐藏信息的真实接收者。如果地址既不 包含收件人的实际位置,也不包含收件人的物理可到达的地址,我们定义为固有 地址( i m p l i c i ta d d r e s s ) 。只有特定的群的成员爿可以使用这种固有地址寻址以达 到匿名的效果。另外,对应于固有地址,设置外在地址( e x p l i c i ta d d r e s s ) ,外在 地址包含可被用来直接路由到收件人的路由信息。 简单的支持接收者匿名的协议如图3 ( 下页) 所示:信息的接收者,b e n ,要 保持匿名接收消息,他在公众论坛上公布自己的句柄“m y h a n d l e ”,此句柄是它的 固有地址。a n d r e a 不知道b e n 的外在地址,如果要向b e n 发送信息,他先写好信 息,将m y h a n d l e 放在首部并发送此整个信息到组播地址。组群中的成员除了b e n 以外都将忽略这个信息,因为信息中不包含自己的旬柄。只有b e n 接收此信息, 检测到m y h a n d l e 属于自己的句柄,判定是发给自己的信息。 2 3 3 使用可信的第三团体转发( f o r w a r d i n gu s i n gt h i r dp a r t i e s ) 可信的第三团体( t r u s t e dt h i r dp a r t y ,简称t t p ) 是指使直接通信时不可信任的 两个团体经过此团体后的通信是可信任的团体。 一个使用可信的第三团体转发的用于匿名通讯的简单的技术就是使用这样的 可信第三团体作为中间通讯伙伴。a n d r e a 发送它的信息给b e n 时,首先将信息发 第5 贝共4 3 贝 种因特网上的匿名通信技术 送给t t p ,这个t t p 将a n d r e a 的地址转换成自己的地址,然后将此地址与a n d r e a 图3 一个简单的支持接收者匿名的外在和固有地址法网络连接图 发送给b e n 的信息一起发给b e n ,b e n 只能看到t t p 的地址。 通过t t p 转发能够提供发送者的匿名,但只限于t t p 与接收者之间的攻击者。 如果在发送者与t t p 之间,则不能提供匿名。 这种技术不提供接收者匿名,b e n 始终被列为收件人。 更进一步,与t t p 合作的内部攻击者或者在t t p 与a n d r e a 之间路经上的攻击 者都可以破坏发送者的匿名。 2 3 4 使用多个不可信的第三团体的层叠进行转发( f o r w a r d i n gu s i n gc a s c a d e so f u n t r u s t e dt h i r dp a r t i e s ) 2 2 3 所描述的实用可信任的第三团体技术有一个很明显的缺点,t t p 容易成为 攻击者的一个重点。因此,如果去掉一个可信的第三团体代之以若干个不可信的 匿名站点,安全性将可以有较大的提高。a n d r e a 发送自己的信息给t e d d 。t e d d 将 自己作为发送者将此信息发送给t i m 。t i m 将自己作为发送者将信息发送给b e n 。 为完成这一过程,需要增加一些处理。直到现在我们减慢了发送过程运用了t e d d 和t o m 两个可信的第三团体。 如果将上述方法与公钥密码学结合起来,就可以完成我们的目的。 1 a n d r e a 将要发送给b e n 的信息用t i m 的公钥加密并在信息头上注名“t i m 发给b e n ”,然后将此结果用t e d d 的公钥加密并在信息头上注名“t e d d 发 给t i m ”。最后,将形成的新信息加上头“a n d r e a 发给t e d d ”。 第6 贝共4 3 页 第二章安全的匿名通信协议 2 t e d d 去掉包头用自己的公钥将信息解密,然后将信息发给t i m 。 3 t i m 同样去掉包头,用自己的公钥解密信息,将信息发给b e n 。 我们又称这种转发技术为层加密转发( 1 a y e r e de n c r y p t i o nf o r w a r d i n g m e c h a n i s m ) ,每一个中间节点的发送者都必须增加一个寻址信息层并将其加密。 注意到层加密转发不改变在通讯关系中需要的可信任点的总量。在2 3 3 中发送同 样的信息时,只经过一跳,t e d d 和t i m 需要彼此可信任。但是,本技术与2 3 3 的重要的差别是每一个中间节点都不暴露完整的源到目的的连接的信息。因此, 攻击者如果要攻击层加密转发必须要攻击t e d d 和t i m 之间连接的所有的中间节点 才能揭露整个源到目的得连接信息。 2 3 5 叠加发送( s u p e r p o s e ds e n d i n g ) 叠加发送,又称加密者就铰法( d i n i n g c r y p t o g r a p h e r m e t h e d ) 【2 】,该方法使用 几个加密传输的组合提供发送者匿名。c h a u m 于1 9 8 8 年介绍了此方法的问题描述 及解决办法:三个加密者在餐馆用餐,服务生告诉他们账单已经付了,但不知道 是谁付的。但是,加密者想要知道账单是他们三个中的一个付的还是其他人付的。 解决办法很简单:每一个加密者向相邻的右侧的那个人投一个硬币,硬币的值只 有这两个人才知道。每个加密者都公布它所看到的两个硬币是在一个面上还是在 不同的面上。三人中付账的人,公布它所看到值的反,如果没有付帐,那么公布 它所看到的值。然后三个人所公布的值的和除以2 取余,如果三个人中没有个 人付账,则余数为0 ;如果有人付了,则余数为1 。这种方法的结果是即使是:人 中的一个人付了( 三人都知道) ,但是除了付款者外其他两人不知道是谁付的款。 这种方法可以提供发送者匿名保护,如图4 。 图4 加密者就餐法示意图 第7 贝共4 3 贝 种因特网上的匿名通信技术 山这个问题以及解决办法可以得到一个匿名通讯的解决办法。由若干个参与者 组成匿名通讯群,每个参与者与其余参与者共享一个密钥的一位。在每一轮通讯 时,每个参与者都公布它所共享的密钥的和( 模2 ) ,如果他想要通讯,就公布和 的反。所有公布值的和( 模2 ) 可以表明是否有人通讯。如果没人通讯,则和为0 ; 如果有人通讯,则和为1 。这种方法的缺点是需要一个协议控制谁来发送,需要解 决有两个人以上的人同时要发送的情况。 2 4 相关工作 确:多目前提出的匿名通讯协议都是以上技术的组合,我们分三类介绍,基于电 j 邮件的方法、基于w e b 的方法和基于网络的方法。c h a u m 的m i x e s 方法是基于 i u 川邢件的方法,由于本文所提出的匿名通讯技术是一种实时的m i x e s 通讯思想, n 蛾后单独列出加以详细介绍。 2 4 1 基于电子邮件的方法 琏f 电子邮件的方法有三种不同的类别: 1 t y p e 0r e m a i l e r ,该方法是一个比较简单的匿名通讯方法,只是简单的去掉 头部标识信息,将其余的信息经过一个中间服务器发送给接收者。由于信 息经过一个中间服务器,因此,发送者的i p 地址不会暴露给接收者。 2 t y p e lr e m a i l e r ,该方法使用各种不同的层加密方法封装住所有剩余的信 息。在该系统中,电子邮件信息由一个多层加密的信息组成,发送时经过 许多m i x ( 混淆器) ,每经过一个m i x 去掉一层加密,然后把剩余的信息发 送给下一个m i x ,一直到接收者为止。 3 t v p e2r e m a i l e r ,又称m i x m a s t e r 2 8 ,2 9 ,比以上两种方法更为完善,可以 防止s p a m 和通信量分析攻击。在该系统中,信息在发送前使用不同的对称 密钥经过多次加密,对于每一个发送信息时要经过的m i x ,它的头部信息 是经过加密的,首先使用该m i x 的公钥进行加密,然后使用前面所有经过 的m i x 的对称钥进行多次加密。头部信息包含下一个m i x 的地址, p a c k e t i d ( 避免重放) ,一个可选的信息i d ( 信息可以在不同的包中发送) , 以及用于解密的对称钥。当一个m i x 接到这类信息,首先解密头部信息, 得到对称钥,使用该对称钥解密剩下的头部信息和信息体。然后,重新构 造头部信息,在头信息末尾增加垃圾信息使信息保持恒定长度。经过延迟、 重排序后,m i x 将信息发往下一个m i x 。一直到接收者。 2 4 2 基于w e b 的方法 讯8 贝共4 31 i ( 第二章安全的匿名通信协议 1 w e b a n o n y m i z e r 1 8 ,该方法提供与t y p e 0r e m a i l e r 相同层次的匿名保护, 在传送信息时,使用一个w e b 代理,信息在发送时去掉所有发送者的标识 信息后发送给w e b 代理,经过代理发送给目的w e b 服务器。 2 l u c e n tp e r s o n a l i z e dw e b a s s i s t a n t ( l p w a ) 2 0 】,该方法提供匿名的、个性化 的、w e b 浏览。许多网站需要用户提供用户名和密码以便为用户提供个性 化的服务,l p w a 将用户的用户名和密码保存起来,用户只需要输入一组 用户名和密码,通过l p w a 转化成用户在某个w e b 站点的用户名和密码, 进而可以得到该站点的用户的个性化服务。 3 c r o w d s 【1 6 】,在这种方法中,用户加入到一群用户( c r o w d s ) 中,c r o w d s 中的每一个用户都可以进行匿名w e b 浏览( 对于w e b 服务器而言) 。每一 个用户都由一个j o n d o ,j o n d o 是一个w e b 代理,可以处理用户自己的和其 他用户的请求。用户将请求发给自己的j o n d o ,j o n d o 去掉用户的标识信息, 随即选择一个j o n d o ( 也可以是w e b 服务器) 将请求发送出去,一直到w e b 服务器,路径是随机选择的,但是在同一个会话中是相同的。信息在j o n d o 之间采用加密传送。这种方法可以提供很好的匿名保护。 2 4 3 基于网络的方法 1 p i p e n e t 2 6 1 ,这种方法基于虚拟连接加密思想。首先建立匿名连接,我们称 连接的中的第一个节点为c a l l e r ,最后一个节点为r e c i e v e r ,其余的中i n j 介 点为s w i t c h 。每一个节点都有一个h o p l d ,每一对毗邻的节点共享一个 l i n k i d 。连接中的每一个节点与c a l l e r 共享一个密钥对,并且各节点都知道 路径中自己的上一个节点与下一个节点。c a l l e r 建立匿名连接时,随机选 择一个节点( n 1 ) 并建立与n 1 的密钥对和l i n k i d ,然后随机选择另一个 节点( n 2 ) ,请求n 1 和n 2 建立l i n ki d ,并通过n l 建立与n 2 的密钥对。 匿名连接建立后,c a l l e r 以一个固定的速率向第二个节点发送数据包,第二 个节点将一段时间内收到的数据包打乱,以随机的顺序发到下一个节点。 当路径中的每一个s w i t c h 接到由前面一个节点发来的数据包时,他用相关 的公钥对数据包进行解密,检查顺序码和m a c ,将顺序码和m a c 随机打 乱排列,将此数据包指定为发给下一个节点,并将此节点发送出去。如果 接到从后面一个节点发来的数据包,它将顺序码和m a c 放入数据包中, 并用相应公钥加密,指明发给前一个节点,并把数据包发给前一个节点。 利用这种方法建立c a l l e r 与r e c i e v e r 的匿名通讯。 2 f r e e d o mn e t w o r k 4 ,这种方法采用多层加密方法,用户通过使用f r e e d o m 第9 见共4 3 贝 一种因特网上的匿名通信技术 客户端向f r e e d o m 核心服务器提出匿名通讯请求,f r e e d o m 核心服务器为 其提供一个访问目标节点需要经过的a l p ( a n o n y m o u si n t e m e tp r o x y ) 以及 加密所用的各种密钥,所要发送的信息经过层层加密发送出去,经过a i p 路径后以明文到达目标节点。返回的信息经过同样的路径多层加密,经过 a l p 路径后以明文到达用户。 2 4 4c h a u m 的m i x e s 思想 m i x e s 也是采用层层加密方法实现匿名通讯,洋葱路由技术是在m i x e s 的基础 l 实现的实时的匿名通讯技术。下面详细介绍c h a u m 的m i x e s 思想 1 】。 在电子邮件系统中设置许多m i x 。发送者x 在发送信息给接收者y 时,首先用 接受者的公钥对信息进行加密,形成要发送的信息。可表示为k a ( r 0 ,m ) ,a ,其中 k a 为接收者的公钥,r 0 为随机串,使信息保持等量长度,m 为发送的信息,a 为发送者y 的地址。发送者随机确定信息到达接收者所要经过的 m i x ,m i x ( o n 下所示) , s e n d e r - - m i x - - ) m i x 专- - ) m i x - - ) m i x - - ) r e s p o n d e r 然后按照由远至近的顺序用m i x 的公钥对要发送的信息进行加密并发送给 m i x ,表示如下: k n ( r n ,k ( r n 一1 ,k 2 ( r 2 ,k n ( r 1 ,k a ( r 0 ,m ) ,a ) ) ) ) , 必 ik n 表示第n 个m i x 的公钥:r n 表示为第n 个m i x 随机指定的附加串。经过 第一个m i x 的输出为: k ( r ,k 2 ( r 2 ,k i ( r 1 ,k a ( r 0 ,m ) ,a ) ) ) ,一直到 第n 个m i x 的输出为: k a ( r 0 ,m ) ,a ,第n 个m i x 按地址a 将加密信息发送给接收者,接收者将信息 解密得到明文。 发送者x 同时生成一个不可追踪的的返回地址 k 1 ( r i ,k 2 ( r 2 ,k ,k n ( m a ,a x ) ) ) ) ,k x 其中a x 为自己的真实地址,k n 为随机指定的公钥,r n 是一个随机的密钥作 为加密用。发送者x 将此返回地址作为信息的一部分用上面介绍的方法发送给接 收者y 。 接收者用此地址形成响应信息 k l ( r l ,k 2 ( r 2 ,k ,k n ( r n ,a x ) ) ) ) ,k x ( r 0 ,m ) ,发送给第一个m i x ,m i x 对信息解密,并用获得密钥r 1 对发送的信息加密,经过第一个m i x 处理后的信息 为: k 2 ( r 2 ,k ,k n ( r n ,a x ) ) ) ) ,r 1 ( k x ( r 0 ,m ) ) ,一直到第n 个m i x 输出的信 皂、为: 第二章安全的匿名通信协议 a x ,r n ( r ,r 2 ( r 1 ( k x ( r 0 ,m ) ) ) ) 。发送者x 接收到此信息后,由于 r n ,r 1 ,k x 都是发送者x 自己所创建的密钥,因此它用相应的解密钥对信息进 行n + 1 次解密得到r 0 ,m ,去掉r 0 后得到接收者y 发送的响应信息。 由以上过程可看出,发送者可以发送信息给接收者并可以收到接收者的响应但 除了发送者以外任何人都不知道发送者身份信息。 利用这种方法,可以形成一种适用于因特网的匿名通讯协议洋葱路由技术。 第11 页共4 3 负 一种因特网上的匿名通信技术 第三章洋葱路由技术( 0 n i o nr o u t i n g ) 洋葱路由技术是一个实时的m i x 方案。它的设计思想是,在因特网中设置许多 洋葱路由器( o n i o nr o u t e r 简称o r ) 组成洋葱路由网络。之所以称其为洋葱,是 因为这种匿名通讯技术采用层层加密指定路由信息的方法,像洋葱一样。这些洋 葱路由器在传输信息时充当匿名节点( m i x ) 的作用。每个洋葱路由器都和相邻的 洋葱路由器有一个专门的连接。这种连接是可靠的t c p 连接,保证在相邻洋葱路 由器之间传输的数据不会有差错。每个洋葱路由器只可以和相邻的洋葱路由器通 信并传输数据。需要注意的是,洋葱路由器只是相对洋葱路由技术的相邻,而相 邻的洋葱路由器之间的通讯是建立在安全的t c p 传输的基础上的,数据包在相邻 洋葱路由器之间的传输所经过的许多跳的路由( 有可能是动态的) 是通过i p 协议 完成的。下图5 是一个洋葱路由网络连接示意图。 图5 一个洋葱路由网络的连接示意图 在发送者上运行一个应用代理( a p p l i c a t i o np r o x y ) ,在应用代理与洋葱路由器 之洲运行一个洋葱代l 里( o n i o np r o x y ) ,响应者也需要运行一个响应代理( r e s p o n d e r p r o x y ) 。 发送者要进行匿名通讯时,首先与应用代理( a p p l i c a t i o np r o x y ) 建立s o c k e t 连接,应用代理将发送者的请求信息转成统一格式,以便能在洋葱路由网络中传 输。使用应用代理,可以使洋葱路由网络独立于各种应用需求。用户的h t t p 、 s m t p 、r l o g l n 等请求通过应用代理被转换成统一的数据格式。这种设计,使洋 葱路由网络可以适用于多种不同的应用。对于不同的应用,只要使用一个用户端 应用代理就可以了,洋葱路由网络不用做任何修改。 应用代理如果允许这个请求,就与洋葱代理建立s o c k e t 连接,将此请求发给洋 葱代理( o n i o np r o x y ) 。洋葱代理保存有整个洋葱路由网络的拓扑结构图,这个拓 柳12 贝共4 3 贝 墨三兰生翌堕虫塑堡! 旦生! ! ! ! ! ! 竖! 扑图可以由洋葱路由器上获取,也可以由专门的中心服务器上得到。洋葱代理如 果允许此请求,就根据用户请求建立一个洋葱( o n i o n ) ,洋葱是一个层状的数据 结构,指定了由发送者到响应者之间的路由,即所要经过的洋葱路由器。最外面 的一层就是洋葱代理首先要将数据发送给的路由器,以此类推,直到最早面得一 层指定的是负责将数据发送给响应者的洋葱路由器。洋葱的每一层都定义了路由 中下一跳的洋葱路由器的信息,还指定了本洋葱路由器在传输数据时应该使用的 加密方法以及用该加密算法对数据进行加密时使用的公钥。一共两个公钥,一个 是数据向前发送( 发送者到响应者方向) 时的公钥,一个是返回( 响应着到发送 者方向) 时的公钥。洋葱的每一层的信息都要使用响应的洋葱路由器的公钥进行 加密,这样可以保证每个洋葱路由器只能知道传给它数掘的洋葱路由器和它要串 数据的下一跳的洋葱路由器,而不知道发送者到响应者之间要经过的所有的洋葱 路由器,从而达到隐藏路由信息防止通信量分析的目的。同时,为防止信息标签 攻击,所有的洋葱都要保持相同的大小。所以,要给最里层的信息附加随机字符 串。下图是一个定义经过三个洋葱路由器( x 、y 、z ) 的洋葱。 表1 一个由洋葱代理创建的洋葱 洋葱随后被传给输入通道( i n p u tf u n n e l ) ,输入通道的作用是管理连接到本洋 葱路由器上的连接,并使该洋葱路由器与洋葱路由网络保持多个连接,即与多个 洋葱路由器保持连接并同时接收它们发来的请求。因此一个洋葱路由器可以同时 接收多个不同的洋葱,建立不同的连接。输入通道所在的洋葱路由器就是洋葱的 最外层所定义的路由器。洋葱路由器收到洋葱后,先剥掉一层,得到用于数据加 密的公钥,识别出下一跳,然后将剩下的洋葱,附加一些随机信息,使洋葱保持 与原来一样大小,发到下一个洋葱路由器。下一个洋葱路由器重复上述过程,就 这样直到最后一个洋葱路由器,最后一个洋葱路由器将数据发给输出通道( o u t p u t f u n n e l ) ,输出通道管理洋葱路由器所有输出的连接,可以使一个洋葱路由器同时 和许多不同的响应者进行通讯。以上这个过程就为发送者建立了一个到响应者的 匿名连接( a n o n y m o u sc o n n e c t i o n ) 。在这个过程中,每个洋葱路由器都保存接收 到的洋葱直到他过期,重放的或过期的洋葱,路由器不接收,这样可以防止重放 一种因特刖上的匿名通信技术 攻击。建立匿名连接的过程可以用下图6 表示 图6 洋葱路由网络匿名连接示意图 匿名连接建立后,形成了一个由发送者到响应者的传输数据的通道,下图7 为 个经过三个洋葱路由器的匿名连接。 f l y , k f y 图7 一个经过三个洋葱路由器的匿名连接示意图 匿名连接建立后,就可以传输数据了。传输数据分两个方向,一个是由发送者发 送数据到响应者,另一个是发送者接收由响应者发送的数据。 在前一种情况下,洋葱代理依次按路由中要经过的洋葱路由器所对应的密钥对 数掘进行层层加密,然后发送到洋葱路由网络中。当数据沿匿名连接移动时,所 经过的洋葱路由器对数据用向前加密公钥进行解密,将数据发送给下一个洋葱路 由器,到达响应者时得到明文。发送数据的过程如下图8 。 第14 页共4 3 负 翌三童堡璺堕由垫堡! 旦! 堕! ! ! 业坚! 图8 由发送者向接收者发送的数据在建立的匿名连接中移动的示意图 在后一种情况f ,数据返回时,所经过的洋葱路由器又用返回加密公钥对数据进 行加密,传给上一个洋葱路由器。当传给洋葱代理时,洋葱代理用对应密钥对数 据进行依次解密得到明文传给发送者( 下图9 ) 。 图9 由接收者向发送者返回的数据在建立的匿名连接中移动的示意图 如果需要清除匿名连接,应用代理发送d e s t r o y 消息给洋葱代理,洋葱代理将 此消息转发给第一个洋葱路由器,洋葱路由器收到此消息后,就删除与此匿名连 结对应的双向加密公钥,然后将d e s t r o y 消息发给下一个洋葱路由器,直到最后一 个洋葱路由器结束。如果中间某个洋葱路由器要终止匿名连结,此路由器就同时 向前,向后发送d e s t r o y 消息,其他洋葱路由器接收到d e s t r o y 消息后,删除自己 的双向加密公钥,按就收到的方向发送d i s t r o y 消息,直到起始者和相应者。匿名 连接由中阳j 被破坏的情况见下图1 0 。 图10 断开匿名连接时d es tr o y 消息发送示意图 在传输数据时,为抵御通信量分析攻击,传输的数据要划分成固定长度的数据 单元。这样每次传输数据时都是以相同的数据长度传输的。而且数据在经过一个 洋葱路由器后,由于去掉或增加了一层解密,是变化的。 还有一些应用,如电子邮件,不是要求接收者立即对发送者进行响应。这就要 求在原始匿名通讯结束以后响应者还能够对发送者进行响应。为解决这一问题, 发送者在初次建立匿名连接进行通信时,构造一个应答洋葱( r e p l yo n i o n ) ,应答 洋葱的结构与洋葱相同,但是它的层次结构确实逆序的。例如,由发送者到接收 一种因特网上的匿名通信技术 者在进行第一次匿名通讯时所经过的洋葱路由器路径为:x 专y 专z 。那么,在构 造应答洋葱时,指定其洋葱的层次结构由外到内依次为:z - - ) y - - ) x ,应答洋葱的 最内层包含有所有此次匿名连接的解密钥,如图。应答洋葱实质上是由发送者 为接收者构造的一个由接收者到发送者自己的一个洋葱,当接收者要进行响应时, 只需将应答洋葱发送给洋葱路由器z ,进而建立一个到接收者的匿名连接。由于到 达时,解密密钥才以明文出现。所以,通过此匿名连接的密文到达发送者时得到 明文。 洋葱路由技术不是在应用层的协议栈中实现,也不是在1 p 层的协议中实现,而 是在应用层与t c p i p 网络之阳j 实现的一种路由。它由洋葱代理随机的指定数据在 山发送者到接收者时必须要经过的若干个匿名节点( 洋葱路由器) ,洋葱路由器 之j h j 使用可靠的t c p 连接传输数据。由于采用多层加密方法,数据在各段之间传 输时的数据形式都不相同,可以有效的防止通信量分析攻击。洋葱路由协议又是 表2 由洋葱代理创建的应答洋葱 基于网络的匿名通讯协议,独立于具体的应用。因此,洋葱路由器可以广泛适用 于网页浏览、电子邮件、远程登录、f t p 、t e l n e t 等应用。另外,洋葱路由网络 由应用代理、洋葱代理、洋葱路由器、响应代理等许多构件组成,这些构件的不 同组合形成多种接入洋葱路由网络方案( 详见第四章的洋葱路由网络接入配置) , 可以在不同的网络结构如:远程代理、i s p 、f i r e w a l l 等网络中为用户提供不同程 度的匿名保护。 第四章洋葱路由技术的实现 第四章洋葱路由技术的实现 洋葱路由网络是由应用代理、洋葱代理、洋葱路由器、响应代理等组件组成, 根据不同的网络结构和用户需求,应用代理、洋葱代理可以设置在不同的位置, 从而产生了多种不同的接入洋葱路由网络的方法,我们称之为接入配置。用户可 以通过远程代理接入、用户1 s p 接入、完全本地接入以及防火墙上的接入等配置 方法接入洋葱路由网络 1 7 1 。每一种接入配置都可以为用户提供不同程度的匿名通 讯服务。实现洋葱路由网络,在用户端要使用应用代理,还要使用洋葱代理确定 洋葱路由,另外每个洋葱路由器要根据接收到的洋葱进行相应的操作。下面首先 介绍洋葱路由网络的接入配置,然后分别就应用代理、洋葱代理、洋葱、洋葱路 由器互连、洋葱路由器、输入通道与输出通道、响应代理的实现以及实现洋葱路 由网络需要考虑的其它一些问题进行介绍。 4 1 洋葱路由网络接入配置 4 1 1 远程代理接入 用户使用加密连接到可信的远程代理,就形成了远程代理接入。用户不需要安 装任何软件或降低本地的计算能力就可以使用洋葱路由网络的匿名保护( 如图 1 1 ) 。 图11 远程代理接入洋葱路由网络示意图 在这种接如配置下,起始者必须信任远程代理为其创建一个洋葱路由。发送者 按照洋葱代理所指定的路由完成与接收者的匿名通讯。在远程代理接入配置下, 洋葱路由网络所能提供的匿名的保护是从第一个洋葱路由器到接收者。从发送者 到第一个洋葱路由器之间的经过的中间环节如洋葱代理、第一个洋葱路由器必须 时完全可信赖的,如果其中有一个被攻击者控制,发送者和接收者就不能实现匿 名通讯。同样,从最后一个洋葱路由器的响应代理至接收者之间也要建立加密连 接,否则就会暴露此匿名连接与接收者的关系,而不能提供接收者匿名保护。还 有,在洋葱路由技术中,路由中的最后一个洋葱路由器经响应代理发送给接收者 的内容是明文,如果不采用加密连接,监听攻击者可以很容易得到传输的内容, 从而使接收内容的匿名保护失败。 因此,如果发送者到接收者之间有匿名连接,并且在发送者到匿名连接以及接 第17 页共4 3 贝 一种因特网上的匿名通信协议 收者到匿名连接之间运行端对端的加密,发送者和接收者可以互相识别对方,但 是,其余的第三者却不能知道他们的通讯。 这种接入配置的要求是发送者者信任远程代理可以通过洋葱路由网络建立一 个匿名连接隐藏发送者到接收者之间的通讯。 4 1 2 用户i s p 接入 如果用户使用i s p 接入因特网并希望得到匿名通讯服务,用户可以使用洋葱代 理指定一个经过i s p 到目的地址的路由,i s p 运行一个输入通道接受运行在i s p 代理范围内的机器上的洋葱代理的连接,如图1 2 。 旧 洋
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 青岛版四年级数学上册混合运算练习题
- 二年级语文教研组教研活动计划
- 光伏板安装施工方案
- 物流企业岗位培训心得体会
- 大梦杯福建省初中数学竞赛试题
- 2025年企业培训项目与企业文化建设关联性研究报告
- 信宜市白石镇四方田小学一年级数学加减法练习题
- 信宜市水口镇平埇小学一年级数学加减法练习题
- 信宜市思贺镇大坪小学(沙木坑分校)一年级数学加减法练习题
- 信宜市北界镇六问小学一年级数学加减法练习题
- 民宿员工聘用合同范本
- 企业级BOM培训课件
- 主井提升培训课件
- 浙江金石亚药医药科技有限公司迁扩建项目环评报告
- 酒店安全巡查日常检查记录表
- 招商岗位测试题及答案
- 医院后勤管理与设备职责
- 《左传》完整版本
- 周三多-管理学:原理与方法(第七版),第三章
- 无人机遥感图像融合
- 高考英语复习读后续写练习 善举篇 改变家乡为无法使用操场的孩子们带来福音 课件
评论
0/150
提交评论