关键词:网络安全,网络通信,网络加密,洋葱路由,大蒜路由
定义
洋葱路由
洋葱路由(英语:Onion routing)为一种在电脑网络上匿名沟通的技术。在洋葱路由的网络中,消息一层一层的加密包装成像洋葱一样的数据包,并经由一系列被称作洋葱路由器的网络节点发送,每经过一个洋葱路由器会将数据包的最外层解密,直至目的地时将最后一层解密,目的地因而能获得原始消息。而因为透过这一系列的加密包装,每一个网络节点(包含目的地)都只能知道上一个节点的位置,但无法知道整个发送路径以及原发送者的地址。
大蒜路由
大蒜路由(Garlic routing)是洋葱路由的一个变体,它将传输的原始数据拆散为加密数据包通过多条隧道交叉疏散传递,令攻击者的流量分析难上加难。在洋葱路由中一条或多条数据流的上传与下载共用一条隧道,而这种路由方式的上传与下载隧道相互独立而且两个方向上的隧道数量都可能>1,所以被称为大蒜路由。令攻击者的流量分析难上加难。
洋葱路由弱点
计时分析
传统互联网不被认为具有匿名性的一个理由为互联网服务供应商具有纪录和追踪各电脑间的连接能力;例如当有人访问一个特定网站时,往来的信息内容如密码等,虽然能透过像是HTTPS等加密连接方式保护让其他人无法得知内容,但是连接本身却仍会有纪录,包含何时创建连接,多少数据量被发送等。洋葱路由虽然能创建并隐藏两电脑之间的连接,使两者之间并无一个可分辨的直接连接,但仍会有上述的连接纪录问题。流量分析可借由搜索连接纪录的连接时间和数据传输量来试图判别潜在的一对发送者与接收者;例如当有人发送51KB的数据到一个未知的电脑,三秒后另一未知的电脑发送51KB的数据给一个特定的网站,则可以推断此人可能与该网站曾创建连接。此外还有一些原因可以让流量分析更加有效,包含节点的损坏或离开网络,以及当链已经因为定期重建而改变,但有些链上节点却仍在追踪此前创建的会话等。
出口节点漏洞
虽然消息在洋葱路由网络中被层层加密,但是在出口节点时,该节点会把最后一层解密并将原始消息传给接收者;因此若出口节点遭到攻击或是受控制,则原始的消息将会被截取。瑞典研究员丹‧伊格史塔德(瑞典语:Dan Egersta)曾用此方式获得了超过100封寄给外国大使馆的电子邮件密码。出口节点漏洞的原理与未加密无线网络很类似,后者为用户将未加密的数据在无线网络上传送时可能中途被其他人截走;这两种问题都可以透过端对端加密连接如SSL、HTTPS等方式解决。
目录服务器
使用tor浏览器访问网页,除了走正常的http/https协议的流程外,tor还需要先访问目录服务器,从目录服务器拿到中继服务器的地址和公钥(这是tor的致命问题之一:目录服务器的数量有限,一旦屏蔽目录服务器,tor浏览器就用不了了;据说防火墙有专人盯着目录服务器,一旦发现新增立即加入屏蔽的黑名单;后来tor又提供网桥中继,但还是被防火墙盯上了……..)。
大蒜路由优势
- 不需要目录服务器,不用担心被防火墙“卡脖子”
- Kad算法拿到的节点信息只是整个 I2P 网络的一小部分
- 每一台运行 I2P 的主机都可以成为中继,帮别人转发数据(类似于 P2P 下载)。防火墙不太可能会将所有的I2P节点都加入黑名单ban掉!
- 上传与下载(也就是双方互相通信)的隧道相互独立而且两个方向上的隧道数量都可能>1;如下图所示:比如A到E走蓝色隧道,E到A走红色隧道,并且隧道还有可能不止1条,增加了追踪的难度!