Actions

Transporting UDP Tunnels over Tor

Tor Design[edit]

According to the Tor Project: [1]

Tor transports data over encrypted TLS tunnels between nodes, which is in turn carried by TCP.

The current Tor design does not support the transport of UDP-based protocols through exit nodes in the network. [2] This is unlikely to be supported in the near future due to incompatibility with cryptographic protocols in use and those planned.

The consequence is that UDP-based protocols and applications cannot be used to transmit UDP datagrams between guards and exit nodes in the default configuration. This affects a number of activities, such as VoIP or video applications. [3]

Transporting UDP Tunnels over Tor with a VPN[edit]

A solution to this problem is to use a tunneling protocol. In simple terms, this allows a user to access a foreign protocol or network service that the underlying (Tor) network does not support or provide directly.

The tested and working method in Whonix is to utilize a Virtual Private Network (VPN) with a trusted provider that does not block UDP traffic in the following configuration: User -> Tor -> VPN -> [Other Anonymizing Network] -> Internet. Some VPN protocols like OpenVPN can use UDP while implementing reliable connections and error checking at the application level. [4]

Before following the instructions to tunnel UDP over Tor, please first read the related VPN documentation and warnings:

The current Tor architecture may lead to a negative performance impact on user activities. This arises from high latency due to congestion in the network, queue length on nodes (mixing of traffic across multiple nodes), and TCP mechanisms which attempt to account for lost packets and hold delivery of future packets until a resend is complete. [5]

Always remember that adding a second connection in the tunneling chain adds significant complexity. This potentially increases the user's security and anonymity risks due to:

  • Misconfiguration.
  • The increased attack surface of secure tunneling software.
  • The difficulty in anonymously paying for VPN services.
  • Potential bottlenecks with VPN providers.

Depending on the final configuration this may also: increase fingerprinting risk, remove stream isolation of activities, and lead to a permanent destination "X" in the Tor network. [6]

Whonix Recommendations[edit]

Whonix recommends the use of OpenVPN as the most secure (SSL/TLS-based) protocol, rather than reliance upon IKE, L2TP/IPsec or PPTP. OpenVPN is considered extremely secure when used with encryption algorithms such as AES. [7]

A dedicated virtual machine is recommended for this activity; see Multiple Whonix-Workstations.

Footnotes[edit]

  1. https://blog.torproject.org/blog/moving-tor-datagram-transport
  2. The Tor ticket was closed as "wontfix" in 2017.
  3. https://en.wikipedia.org/wiki/User_Datagram_Protocol
  4. Other VPN implementations may also be useful, but they have not been researched yet.
  5. https://guardianproject.info/2012/12/10/voice-over-tor/
  6. Also read the Tor Project warnings here: https://trac.torproject.org/projects/tor/wiki/doc/TorPlusVPN
  7. IKE is being exploited by advanced agencies to decrypt IPSec traffic. IPsec configured with pre-shared keys is vulnerable to MITM attacks. PPTP is an obsolete method for VPN implementation with a host of security weaknesses. For further reading on adversary capabilities against VPN protocols see: http://www.spiegel.de/media/media-35515.pdf

Random News:

Do you wonder why Whonix will always be free? Check out Why Whonix is Free Software.


https | (forcing) onion

Share: Twitter | Facebook

This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! See Conditions for Contributions to Whonix, then Edit! IP addresses are scrubbed, but editing over Tor is recommended. Edits are held for moderation.

Whonix is a licensee of the Open Invention Network. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Libre Software license as Whonix itself. (Why?)