О проекте Tor

Internet communication is based on a store-and-forward model that can be understood in analogy to postal mail: Data is transmitted in blocks called IP datagrams or packets. Every packet includes a source IP address (of the sender) and a destination IP address (of the receiver), just as ordinary letters contain postal addresses of sender and receiver. The way from sender to receiver involves multiple hops of routers, where each router inspects the destination IP address and forwards the packet closer to its destination. Thus, every router between sender and receiver learns that the sender is communicating with the receiver. In particular, your local ISP is in the position to build a complete profile of your Internet usage. In addition, every server in the Internet that can see any of the packets can profile your behavior.

The aim of Tor is to improve your privacy by sending your traffic through a series of proxies. Your communication is encrypted in multiple layers and routed via multiple hops through the Tor network to the final receiver. More details on this process can be found in this visualization. Note that all your local ISP can observe now is that you are communicating with Tor nodes. Similarly, servers in the Internet just see that they are being contacted by Tor nodes.

Generally speaking, Tor aims to solve three privacy problems:

First, Tor prevents websites and other services from learning your location, which they can use to build databases about your habits and interests. With Tor, your Internet connections don't give you away by default -- now you can have the ability to choose, for each connection, how much information to reveal.

Second, Tor prevents people watching your traffic locally (such as your ISP or someone with access to your home wifi or router) from learning what information you're fetching and where you're fetching it from. It also stops them from deciding what you're allowed to learn and publish -- if you can get to any part of the Tor network, you can reach any site on the Internet.

Third, Tor routes your connection through more than one Tor relay so no single relay can learn what you're up to. Because these relays are run by different individuals or organizations, distributing trust provides more security than the old one hop proxy approach.

Note, however, that there are situations where Tor fails to solve these privacy problems entirely: see the entry below on remaining attacks.

As mentioned above, it is possible for an observer who can view both you and either the destination website or your Tor exit node to correlate timings of your traffic as it enters the Tor network and also as it exits. Tor does not defend against such a threat model.

In a more limited sense, note that if a censor or law enforcement agency has the ability to obtain specific observation of parts of the network, it is possible for them to verify a suspicion that you talk regularly to your friend by observing traffic at both ends and correlating the timing of only that traffic. Again, this is only useful to verify that parties already suspected of communicating with one another are doing so. In most countries, the suspicion required to obtain a warrant already carries more weight than timing correlation would provide.

Furthermore, since Tor reuses circuits for multiple TCP connections, it is possible to associate non anonymous and anonymous traffic at a given exit node, so be careful about what applications you run concurrently over Tor. Perhaps even run separate Tor clients for these applications.

Слово "Tor" используют для обозначения разных сущностей.

Tor – компьютерная программа для защиты себя в интернете. Tor перенаправляет трафик между узлами распределённой сети серверов по всему миру. Их поддерживают волонтёры. Если кто-то принялся наблюдать за вами в сети, благодаря Tor он не сможет узнать, какие сайты вы посещаете. Сами сайты тоже не будут знать, где вы физически находитесь. Вся совокупность волонтёрских серверов называется "сеть Tor".

Чаще всего люди пользуются ей с помощью Tor Browser. Это браузер на основе Firefox, доработанный для большей приватности. Подробнее о Tor можно почитать здесь.

Tor Project – некоммерческая благотворительная организация, которая разрабатывает и поддерживает программное обеспечение Tor.

Tor – сеть на основе "луковой маршрутизации" (The Onion Routing). В 2001-2002 годах мы приступили к разработке нового поколения способов маршрутизации трафика. Чтобы объяснять людям, о какой именно маршрутизации идёт речь, мы нуждались в названии. С тех пор фраза "луковая маршрутизация" вошла в обиход. Но мы не забываем, что это название родилось от одноименного проекта Naval Research Lab.

(В немецком и турецком языках это слово имеет другие значения).

Обратите внимание: хотя название "Tor" изначально было аббревиатурой, мы не пишем "TOR". Только первая буква – большая. Кстати, обычно легко узнать тех, кто никогда не читал наш сайт, а все знания о Tor почерпнул из новостей: такие люди неправильно пишут название сети.

Нет, не удаляет. Вам нужна отдельная программа, которая распознает ваше приложение и способ коммуникаций, и которая знает, как "вычищать" персональные данные. Tor Browser старается, чтобы данные на уровне приложений (напр. строка user-agent) выглядели одинаково для всех пользователей. При этом Tor Browser ничего не может поделать, например, с данными, которые сам пользователь вписывает в поля форм на сайтах.

Типичный прокси – сервер в интернете, который выполняет роль посредника для вашего трафика. Это простая модель, которую легко поддерживать. Пользователи входят и выходят через один и тот же сервер. Провайдер может взимать плату за использование прокси или покрывать расходы за счёт рекламы. В самом простом случае вам не нужно ничего устанавливать. Достаточно настроить браузер для работы с прокси-сервером. Такой нехитрый прокси – отличное решение, если вам не нужны защита приватности и онлайновая анонимность. Но вы должны доверять провайдеру. Некоторые простые прокси используют SSL. Это позволяет защитить ваше подключение и оберегает вас от прослушки (например, в кафе с бесплатным wi-fi).

Но у простых прокси-сервисов есть одна большая уязвимость. Владелец сервиса знает, кто вы и что вы делаете в интернете. Он может следить за вашим трафиком, который проходит через его сервер. В некоторых случаях провайдер даже способен заглянуть в ваш зашифрованный трафик, когда передает его между вами и онлайн-банком (или интернет-магазином). Вам придется поверить, что провайдер не следит за вами, не фиксирует ваши персональные данные и не вставляет собственную рекламу в ваши коммуникации.

В сети Tor ваш трафик проходит через минимум три разных сервера перед тем, как попасть к месту назначения. Каждый из этих узлов добавляет новый уровень шифрования. Если кто-то наблюдает за вашим трафиком, у него не получится прочесть или изменить то, что вы отправляете по сети Tor. Ваш трафик зашифрован на отрезке между клиентом Tor (на вашем устройстве) и точкой выхода где-то в сети интернет.

А первый сервер в цепочке видит, кто я?

Возможно. Первый из трёх серверов может видеть зашифрованный трафик от вашего устройства. Но кто вы и что делаете в сети Tor – видно не будет. Вся информация: "Такой-то IP-адрес использует Tor". Но этот узел по-прежнему не может узнать, кто вы и что смотрите в интернете.

Может ли третий сервер видеть мой трафик?

Возможно. Третий сервер в цепочке может видеть ваш трафик в Tor. Но он не знает, кто отправитель. Если вы используете шифрование (например, HTTPS), серверу будет известно только место назначения. See this visualization of Tor and HTTPS to understand how Tor and HTTPS interact.

Да.

Tor – бесплатная программа. Это значит, что мы даем вам право распространять программное обеспечение Tor с изменениями или "как есть", бесплатно или за деньги. Не нужно просить у нас особое разрешение.

Но если вы хотите распространять Tor, надо соблюдать нашу лицензию. Вы должны прикладывать файл с нашим лицензионным соглашением к любому продукту, который распространяете.

Люди, которые задают этот вопрос, как правило, не имеют в виду какие-то программы. Они хотят распространять конкретно Tor Browser. Этот продукт включает версию браузера Firefox Extended Support Release с дополнениями NoScript и HTTPS-Everywhere. Вам нужно выполнять лицензионные условия и для этих программ. Оба расширения Firefox распространяются по лицензии GNU General Public License, а Firefox ESR – по лицензии Mozilla Public License. Самый простой способ выполнить условия лицензий – распространять эти продукты вместе с их исходным кодом.

Убедитесь, что ваши пользователи не запутаются и смогут понять, что такое Tor, кто делает Tor, какие возможности даёт (и не даёт) этот продукт. У нас также есть FAQ по торговым маркам.

Есть множество программ, которые работают с Tor. Мы не проводили достаточно глубокое исследование того, как они влияют на анонимность пользователей. Поэтому мы не станем советовать вам конкретные программы. В нашем wiki есть список инструкций для Tor-ориентированных приложений, который поддерживается сообществом. Пожалуйста, пополняйте его и помогите нам заботиться о точности данных!

Большинство использует Tor Browser. Он позволяет безопасно работать в сети через Tor Using Tor with other browsers is dangerous and not recommended.

В Tor совершенно точно нет никаких закладок (умышленно созданных нами уязвимостей).

У нас есть хорошие юристы. Они говорят, что просьба встроить в Tor закладку маловероятна в нашей юрисдикции (США). Если такая просьба прозвучит, мы будем сопротивляться. Юристы говорят, что у нас есть шансы выиграть.

Мы никогда не станем встраивать в Tor закладки. Создание закладки было бы грандиозной безответственностью по отношению к нашим пользователям и создало бы дурной прецедент для всех разработчиков программ. Если бы мы осознанное внедрили "лазейку" в наши программы для обеспечения безопасности, нашей профессиональной репутации пришел бы конец. Больше никто и никогда не смог бы доверять нашим программам – с полным на то основанием!

Впрочем, у злоумышленников есть немало изощрённых способов испортить людям жизнь. Они могут попытаться выдать себя за нас. Или взломать наши компьютеры. Или ещё что-нибудь в этом духе. Tor – продукт с открытым кодом. Советуем всегда сверяться с источником (или хотя бы уточнять разницу с предыдущими версиями), чтобы исключить подозрения. Если мы (или распространители Tor) перестанем давать вам доступ к исходному коду, это будет тревожный признак. You should also check the PGP signatures on the releases, to make sure nobody messed with the distribution sites.

Кроме того, в Tor могут найтись непреднамеренные ошибки, ограничивающие вашу анонимность. Мы периодически находим и ликвидируем такие ошибки. Лучше всегда использовать самую свежую версию Tor.

Tor (like all current practical low-latency anonymity designs) fails when the attacker can see both ends of the communications channel. For example, suppose the attacker controls or watches the Tor relay you choose to enter the network, and also controls or watches the website you visit. In this case, the research community knows no practical low-latency design that can reliably stop the attacker from correlating volume and timing information on the two sides.

So, what should we do? Suppose the attacker controls, or can observe, C relays. Suppose there are N relays total. If you select new entry and exit relays each time you use the network, the attacker will be able to correlate all traffic you send with probability around (c/n)2. But profiling is, for most users, as bad as being traced all the time: they want to do something often without an attacker noticing, and the attacker noticing once is as bad as the attacker noticing more often. Thus, choosing many random entries and exits gives the user no chance of escaping profiling by this kind of attacker.

The solution is "entry guards": each Tor client selects a few relays at random to use as entry points, and uses only those relays for their first hop. If those relays are not controlled or observed, the attacker can't win, ever, and the user is secure. If those relays are observed or controlled by the attacker, the attacker sees a larger fraction of the user's traffic - but still the user is no more profiled than before. Thus, the user has some chance (on the order of (n-c)/n) of avoiding profiling, whereas they had none before.

You can read more at An Analysis of the Degradation of Anonymous Protocols, Defending Anonymous Communication Against Passive Logging Attacks, and especially Locating Hidden Servers.

Restricting your entry nodes may also help against attackers who want to run a few Tor nodes and easily enumerate all of the Tor user IP addresses. (Even though they can't learn what destinations the users are talking to, they still might be able to do bad things with just a list of users.) However, that feature won't really become useful until we move to a "directory guard" design as well.

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 2021 there are 10 directory authorities), they can't trick the Tor client into using other Tor relays.

How do clients know what the directory authorities are?

The Tor software comes with a built-in list of location and public key for each directory authority. So the only way to trick users into using a fake Tor network is to give them a specially modified version of the software.

How do users know they've got the right software?

When we distribute the source code or a package, we digitally sign it with GNU Privacy Guard. See the instructions on how to check Tor Browser's signature.

In order to be certain that it's really signed by us, you need to have met us in person and gotten a copy of our GPG key fingerprint, or you need to know somebody who has. If you're concerned about an attack on this level, we recommend you get involved with the security community and start meeting people.

Tor will reuse the same circuit for new TCP streams for 10 minutes, as long as the circuit is working fine. (If the circuit fails, Tor will switch to a new circuit immediately.)

But note that a single TCP stream (e.g. a long IRC connection) will stay on the same circuit forever. We don't rotate individual streams from one circuit to the next. Otherwise, an adversary with a partial view of the network would be given many chances over time to link you to your destination, rather than just one chance.