网络连接加密之Tor篇-隐藏自己的所在地
Tor 是一个由虚拟通道构成的网络,团体和公民用它来增强他们在互联网上的隐私和安全。同时它使得软件开发人员能够创建具有内建隐私保护特性的新的通信工具。 Tor 奠定了一系列应用的基础,通过这些应用,组织和个人可以在公开的网络上分享信息而不必担心隐私受到威胁。
个人使用 Tor 以防止网站跟踪他们和他们的家庭成员,或者连接到被本地 ISP 封锁的新闻站点、即时通讯服务等。Tor 的隐匿服务(hidden services)使得用户能够发布网站和其他服务而不必泄露站点的位置。个人还使用 Tor 进行私密的交流。
记者使用 Tor 与告密者和持不同政见者更安全地交流。非政府组织(NGOs)也在使用 Tor,当工作人员在国外时,他们可以连接自己的网站,而周围的人对他们的工作却一无所知。
独立媒体中心(Indymedia)之类的团体建议使用 Tor 来保护成员的在线隐私和安全。电子前沿基金会(EFF)之类的社会活动团体建议将 Tor 作为维护公民在线自由的一种机制。公司使用 Tor 安全地从事竞争力分析,或者确保敏感的采购模式不被泄露。 他们还用它来替代传统的虚拟专用网络(VPNs),后者会泄露精确的通信量和通信时间:最近员工在什么地点工作?在什么地点有员工访问求职网站?哪些研究分支在和公司的专利律师交流?
Tor的如何工作
Tor 有助于降低简单的和高级的流量分析的风险,Tor 把你的流量分散到互联网上的多个地点,所以不存在单一的一点可以把你和你的目的地联系起来。这就好像用一条拐弯抹角的、难以辨认的路径甩掉跟踪你的人,然后定期擦掉你的脚印。在 Tor 网络上,来源和目的地不是用一条路径直接连接的,而是由一条通过数台中继的随机路径覆盖原始路径,数据包在这条路径上传输,因此,不存在任何单一一点上的观察者能够知道数据从哪里来、到哪里去。
用 Tor 创建一条私有网络路径时,用户的软件或客户端通过网络上的中继递增地建立一条由若干加密连接组成的环路(circuit)。环路一次扩展一跳(hop),环路上的中继仅仅知道它从哪一个中继接收数据以及向哪一个中继发送数据。没有一台单独的中继会知道数据包的完整路径。客户端与环路上的每一跳都协商一组独立的密钥,这样可以保证数据通过任何一跳时都无法跟踪。
一旦环路建立完成,多种类型的数据可以在上面进行交换,不同种类的应用程序也可以在 Tor 网络上部署。因为每一台中继最多只能知道环路中的一跳,窃听者或者被入侵的中继都无法通过流量分析把连接的来源和目的地联系起来。 Tor 仅作用于 TCP 数据流,任何支持 SOCKS 的应用程序都可以使用它。
出于有效性,Tor 为大约在相同的十分钟内发起的连接请求分配同一环路。以后的请求被分配不同的环路,这样他人就不能把你早先的行为和新的行为联系起来。
Tor的安装
Windows下
可直接使用绿色版的OperaTor:OperaTor-3.5,更多详细内容可见Http://Archetwist.Com/En/Opera/Operator
在Debian/Ubuntu GNU/Linux下:
0, 修改apt源/etc/apt/sources.list,加入以下内容
==========================
deb http://mirror.noreply.org/pub/tor
deb-src http://mirror.noreply.org/pub/tor
==========================
注意
debian 4.0、debian 5.0、debian unstable 分别为 etch, lenny, sid
ubuntu-8.04、ubuntu-8.10、ubuntu-9.04 分别为 hardy, intrepid, jaunty
例如在ubuntu-9.04下,添加如下:
==========================
deb http://mirror.noreply.org/pub/tor jaunty main
deb-src http://mirror.noreply.org/pub/tor jaunty main
==========================
执行以下命令:
==========================
$ gpg –keyserver keys.gnupg.net –recv 94C09C7F
$ gpg –export 94C09C7F | sudo apt-key add –
$ sudo apt-get update
$ sudo apt-get install tor tor-geoipdb privoxy
==========================
修改privoxy的配置/etc/privoxy/config,加入以下一行:
forward-socks4a / 127.0.0.1:9050 .
别忘记在这行的最后加上“.”
重启privoxy
==========================
$ sudo /etc/init.d/privoxy restart
==========================
给firefox安装 Torbutton插件 .
点击firefox右下角的Tor disabled使其变为Tor enabled即可启用。
要让其他支持HTTP代理的应用程序使用Tor,将他们指向Provixy即可(也就是127.0.0.1的8118端口)。其他访问SOCKET的程序(IM、MAIL)等,将应用程序端口指向Tor的127.0.0.1的9050。
Tor的未来
今天,在互联网上提供一个可用的匿名网络是一项持续的挑战。我们需要满足用户需求的软件。我们也需要网络以一种支持尽可能多的用户的方式运行。安全性和可用性并非不可协调:随着 Tor 的可用性的增加,它会吸引更多的用户,用户的增加提高了每次通信的来源与目的地的可能性,而这增强了每个人的安全性。我们在进步,但我们需要你的帮助。请考虑运行中继或者志愿作一名开发者。
法律、政策和技术的当前趋势以前所未有的程度威胁着匿名,破坏着我们在线言论与阅读的自由。这些趋势也使得个人、组织、公司、政府间的通信更易分析,削弱了国家和关键基础设施的安全。每一个新的用户、每一台新的中继都会增加网络的多样性,Tor 由此更能帮助你把安全和隐私的控制权重新掌握在自己手中。
参考文档: