Total Pageviews

Friday, 6 May 2016

Tor被国家安全局NSA监控?没问题!

前段时间新浪科技上出现了一则新闻:《报告称NSA跟踪Tor加密服务用户》
新浪科技讯 北京时间7月4日上午消息,雅克布·阿佩尔鲍姆(Jacob Appelbaum)等信息安全研究员发布的最新报告显示,美国国家安全局(NSA)能跟踪哪些用户访问了采用Tor加密系统的网站。
Tor的全称是(The Onion Router),用户通过Tor可以在网上进行匿名交流。
NSA对Tor加密系统感兴趣已经众所周知。在此次报告的作者中,有3人曾参与Tor项目。他们表示,已获得了NSA互联网数据库XKeyscore的新细节。其中的一段代码能自动记录使用Tor和隐私保护操作系统Tails的用户访问某些网站的信息。
根据德国网站WDR和NDR的报道,NSA的规则是监控位于德国和全球其他地区保存了Tor目录的服务器,这样的目录中包含了Tor的所有服务中继信息,而目的是“发现可能的Tor客户端与Tor目录服务的连接”。此外,NSA还会监控用于发送非公开中继信息的电子邮件地址。在主要Tor服务器被屏蔽的某些国家,非公开中继是用户使用Tor的主要方式。
此外,这一系统的目的似乎并不完全是为了跟踪Tor加密服务。一条规则是对访问过Tor网站,以及搜索过Tails信息,访问过存放Tails信息网站的用户进行标记。这样的网站中包括Linux Journal。
报告称,此次曝光的信息来自德国公共电视广播公司NDR和WDR数个月的调查。这些机构在调查中获得了绝密的NSA程序代码,对一些NSA前雇员进行了采访,并评估了德国政府的机密文档。不过报告没有公布这些文档的具体来源。(维金)
这则新闻让人不禁的担心:Tor作为现在最成熟的匿名浏览技术,使用有风险吗?在接下来的文章当中,我将为大家介绍Tor的工作原理和使用当中的风险。
Tor uses a variety of different keys, with three goals in mind: 1) encryption to ensure privacy of data within the Tor network, 2) authentication so clients know they're talking to the relays they meant to talk to, and 3) signatures to make sure all clients know the same set of relays.
Encryption: first, all connections in Tor use TLS link encryption, so observers can't look inside to see which circuit a given cell is intended for. Further, the Tor client establishes an ephemeral encryption key with each relay in the circuit; these extra layers of encryption mean that only the exit relay can read the cells. Both sides discard the circuit key when the circuit ends, so logging traffic and then breaking into the relay to discover the key won't work.
Authentication: Every Tor relay has a public decryption key called the "onion key". Each relay rotates its onion key once a week. When the Tor client establishes circuits, at each step it demands that the Tor relay prove knowledge of its onion key. That way the first node in the path can't just spoof the rest of the path. Because the Tor client chooses the path, it can make sure to get Tor's "distributed trust" property: no single relay in the path can know about both the client and what the client is doing.
Coordination: How do clients know what the relays are, and how do they know that they have the right keys for them? Each relay has a long-term public signing key called the "identity key". Each directory authority additionally has a "directory signing key". The directory authorities provide a signed list of all the known relays, and in that list are a set of certificates from each relay (self-signed by their identity key) specifying their keys, locations, exit policies, and so on. So unless the adversary can control a majority of the directory authorities (as of 2012 there are 8 directory authorities), he can't trick the Tor client into using other Tor relays.
译文:
Tor使用许多不同的关键技术,来达到一下三个目标:1)加密:确保Tor网络内部的数据隐私,2)验证:确保Tor用户知道他们在连接正确的中继,3)签名确保用户得到的中继目录是一样的。
加密:首先,在Tor网络内的所有连接全部使用TLS加密,这样“监控者”就不能知道Tor内部发生了什么,Tor的流量都是干什么的。同时,Tor客户端为每一次的路径的每一个中继创建不同的短期密钥。这些所有的加密措施确保只有出口节点可以知道你的真正流量。客户端和服务器都将在访问结束后销毁短期密钥。所以记录下流量后靠获得密钥解密流量是不可能的。
验证:每一个Tor中继都有一个公开的解密密钥,叫做“onion key”。每一个中继每个星期都会重新生成它的“onion key”。Tor客户端建立路径时的每一步它都会要求中继使用onion key证明自己,这样第一个节点就不能决定客户端接下来的路径。因为是Tor客户端选择路径,所以Tor的“分布式信任”得到了保障。没有任何一个单独的节点可以知道客户端从哪里来,到哪里去。
调度:客户端怎么知道哪些是中继?怎么知道中继是真的中继?每个中继都有一个长期的公共签名密钥叫做“Identity Key”。每个中继目录都会有另外一个密钥叫做“目录签名密钥”。中继目录提供一个已知中继列表,并且有着所列出中继的Identity Key,地点,出口政策等等。所以除非监控者掌握大部分中继目录的控制权(2012数量为8个),他并不能欺骗用户使用他精心设计的“中继”。

关于NSA监控

在介绍了Tor的技术之后,我们再来看看NSA监控这件事。
NSA监控的目的是:“发现可能的Tor客户端与Tor目录服务的连接”,这样监控完全没有意义,因为使用Tor的人有很多,没错,也包括NSA等美国政府的人。
所以呢,NSA监控完全没有必要担心,因为按照Tor的设计,除非是客户端感染病毒,否则,没有人能够知道是谁在哪里用Tor浏览了什么。

Tor的唯一风险

根据上面解析Tor架构的图片,我们发现红色的链接是未加密。也就是说,从出口到目的地这一段是可能被监控或者篡改的。并且出口节点也有可能读取流量。这个就是Tor唯一的风险。那么,面对这个风险应该怎么办?
办法也是唯一的,那就是使用加密的方式访问网站。也就是访问https://开头的网站,一般还会看到一把小锁。这样,出口节点也无法知晓流量的真正信息。