【每日一知】洋葱路由
洋葱路由(英语:Onion routing)为一种在电脑网络上匿名沟通的技术,在洋葱路由的网络中,消息一层一层的加密包装成像洋葱一样的数据包(封包),并经由一系列被称作洋葱路由器的网络节点发送,每经过一个洋葱路由器会将数据包的最外层解密,直至目的地时将最后一层解密,目的地因而能获得原始消息。而因为透过这一系列的加密包装,每一个网络节点(包含目的地)都只能知道上一个节点的位置,但无法知道整个发送路径以及原发送者的地址。
发明与实现
1990年代中期,美国海军研究实验室的研究员保罗‧塞维利亚森(Paul Syverson)、麦可‧里德和大卫‧戈尔德施拉格(David Goldschlag)为了保护美国在线情报系统而开发了洋葱路由。其后国防高等研究计划署接手该项目继续开发,并在1998年获得海军的专利。2002年计算机科学家罗杰‧丁高戴恩(Roger Dingledine)和尼克‧马修森(Nick Mathewson)加入了塞维利亚森的项目,并开始开发Tor;Tor为“洋葱路由项目”(The Onion Routing project)的头字语,该项目后来成为规模最大的洋葱路由实现并广为人知。之后美国海军研究实验室将Tor以自由软件授权的方式公开了源代码,丁高戴恩、马修森以及其他五位成员在2006年成立了名为“The Tor Project”的非营利组织,并获得包含电子前哨基金会在内的几个组织的财政资助。
数据结构
被称作洋葱路由的原因在于讯息一层一层的加密包装成被称作洋葱封包的数据结构,层数取决于到目的地中间会经过的节点数,每经过一个节点层会将封包的最外层解密,因此任一个节点都无法同时知晓这个讯息最初与最终的目的地,使发送者达到匿名的效果。
一个在洋葱路由网络中传递的封包例子。 发送者首先将封包传送给路由器A,解密了蓝色一层,并发现要传给B,而封包传送至B时又解密了绿色一层,同理再传给C,而C在解密了红色一层后得到原始要传送的讯息并将之传给目的地。
封包的建立与传送
为了传送洋葱封包,发送讯息者会从「目录节点」(directory node)提供的列表中选取一些节点,并以这些规划出一条被称作「链」(chain)或「线路」(circuit)的传送路径,这条路径将为传输封包所用。 为了确保发送者的匿名性,任一节点都无法知道在链中自己的前一个节点是发送者还是链上的另一节点;同理,任一节点也无法知道在链中自己的下一节点是目的地还是链上另一节点。 只有链上的最后一个节点知道自己是链上最终节点,该节点被称作「出口节点」(exit node)。
洋葱路由网络使用非对称加密,发送者从目录节点获得一把公钥,用之将要传送的讯息加密并传送给链上的第一个节点,该节点又被称作入口节点(entry node);其后与之建立联机和共享密钥。 建立联机后发送者就可以通过这条联机传送加密过的讯息至链上的第二个节点,该讯息将只有第二个节点可以解密;当第二个节点收到此讯息后,便会与前一个节点也就是入口节点同样的建立联机,使发送者的加密联机延伸到它,但第二个节点并不晓得前一个节点在链中的身分。 之后按照同样原理,发送者通过入口节点和第二个节点的这条加密联机将只有第三个节点能解密的讯息传送给第三个节点,第三节点同样的与第二个节点建立联机;藉由重复相同的步骤,发送者能产生一条越来越长的联机,但在效能上仍有限制。 [11]
当链上的联机都建立后,发送者就可以透过其传送数据并保持匿名性。 当目的地回送数据时,链上的节点会透过同一条联机将数据回传,且一样对数据层层加密,但加密的顺序与发送者完全相反;原发送者收到目的地回传的数据时,将仅剩最内一层加密,此时对其解密就可拿到目的地回送的讯息。
弱点
计时分析
另见:使用分析
传统因特网不被认为具有匿名性的一个理由为因特网服务供货商具有纪录和追踪各计算机间的联机能力;例如当有人存取一个特定网站时,往来的信息内容如密码等,虽然能透过像是HTTPS等加密联机方式保护让其他人无法得知内容,但是联机本身却仍会有纪录,包含何时建立联机,多少数据量被传送等。 洋葱路由虽然能建立并隐藏两计算机之间的联机,使两者之间并无一个可分辨的直接联机,但仍会有上述的联机纪录问题。使用分析可藉由搜寻联机纪录的连接时间和数据传输量来试图判别潜在的一对发送者与接收者;例如当有人传送51KB的数据到一个未知的计算机,三秒后另一未知的计算机传送51KB的数据给一个特定的网站,则可以推断此人可能与该网站曾建立联机。 此外还有一些原因可以让使用分析更加有效,包含节点的损坏或离开网络,以及当链已经因为定期重建而改变,但有些链上节点却仍在追踪此前建立的会话等。
大蒜路由是洋葱路由的一种变体,其结合了I2P网络并将多份讯息加密打包在一起,使其更难被攻击者以使用分析的方式破解。
出口节点漏洞
虽然讯息在洋葱路由网络中被层层加密,但是在出口节点时,该节点会把最后一层解密并将原始讯息传给接收者;因此若出口节点遭到攻击或是受控制,则原始的讯息将会被截取。 瑞典研究员丹‧伊格史塔德(瑞典语:Dan Egersta)曾用此方式获得了超过100封寄给外国大使馆的电子邮件密码。 出口节点漏洞的原理与未加密无线网络很类似,后者为用户将未加密的数据在无线网络上传送时可能中途被其他人截走;这两种问题都可以透过端对端加密联机如SSL、HTTPS等方式解决。
内容摘自:百度百科、维基百科因为内容实时性,保留较为永久内容;如果发现不妥请联系admin@go176.net