Actions

Voice over IP (VoIP)

From Whonix

Introduction[edit]

Voice over IP (VoIP) is: [1]

...a technology that allows you to make voice calls using a broadband Internet connection instead of a regular (or analog) phone line. ... VoIP services convert your voice into a digital signal that travels over the Internet. If you are calling a regular phone number, the signal is converted to a regular telephone signal before it reaches the destination. VoIP can allow you to make a call directly from a computer, a special VoIP phone, or a traditional phone connected to a special adapter.

VoIP software is complex and has a large attack surface. Several threat classes have been identified in the literature: social threats; eavesdropping, interception and modification of session contents; denial of service attacks; unauthorized access to VoIP equipment; and a sudden interruption of services. [2]

Anonymizing VoIP is somewhat difficult, but still possible. It is easy to hide the IP address with Whonix ™, but the voice recognition component and slow Tor network speed (latency) are definite obstacles. Depending on your threat model, pseudonymous use of VoIP might be appropriate; this involves hidden voice communications that take place with known contacts. Consider the factors in the table below before deciding to use VoIP in Whonix ™.

Anonymity Factors[edit]

Table: Factors affecting VoIP Anonymity

VoIP Domain Description IP Anonymity Full Anonymity [3]
Tor + VOIP + Known Participants
  • If two or more people use a VoIP application in combination with Tor, it is possible to hide the act of communication from the ISP, government, Tor exit relays, man-in-the-middle attackers and so on.
  • While the communication and IP addresses of each party remain hidden, this arrangement is not anonymous because the participants know each other.
Yes No
Tor + VOIP + Unknown Participants
  • It is discouraged to use VoIP with anonymous parties in forums or other environments.
    • The anonymous recipient of communications is a 'known unknown' -- it is impossible to confirm who you are talking to.
    • The voiceprint might be correlated with your real identity later on, unless a voice scrambler or artificial voice is utilized (which is impractical in most circumstances).
Yes No
Tor + VoIP + Artificial Voice
  • It is possible to type and let an artificial voice speak instead of using natural speech.
  • This technique could work (similar to anonymous videos), but there are limited benefits compared to encrypted email, other than the real-time nature of the communication.
Yes Maybe [4]
Whistleblowing: Tor + VoIP
  • Whistleblowers cannot safely use their own voice if utilizing VoIP. Voice data is recorded and voice recognition works extremely well; see footnote. [5]
  • Almost everybody has had multiple non-anonymous phone calls in their lifetime, which provides a solid baseline for later correlation of 'anonymous' and non-anonymous identities.
  • While commercial digital voice scramblers are available on the market, their effectiveness is a whole new field of research which is outside of the scope of Whonix ™.
Yes With scrambler: Maybe

Software and Configuration[edit]

Some fully-functioned and reliable Libre VoIP software is already available, such as Linphone and Jitsi. [6] Unfortunately it is not possible to communicate directly over Tor using a VoIP server, because all session initiation protocol (SIP)-based clients use UDP and Tor developers closed the related support ticket years ago. [7] [8]

The best workaround for SIP clients at present is to Tunnel UDP over Tor. The main downside of this method is that phone calls over Tor are slower and less convenient compared to ordinary networks. The reason is even when UDP packets are tunneled over Tor, the restrictions of the underlying TCP protocol still apply. To account for delays, push-to-talk is a reliable communication method in this configuration -- it has similarities to using a walkie-talkie. The Guardian Project recommends that 'prowords' (procedure words) [9] such as "Roger" are used to acknowledge the end of transmission (speech, sentence). [10]

When configuring the chosen software, it is safer to delegate encryption to Tor by utilizing onion services for both the caller and receiver. If that is not possible, then only use VoIP clients which support end-to-end encryption protocols like SRTP or ZRTP. [11] This recommendation comes with warnings:

  • Never use a Variable Bit Rate (VBR) codec because ZRTP cannot protect it.
    • If this advice is ignored, pauses in conversation will produce fingerprints in the encrypted stream that allow adversaries to infer what words are being said. [12] [13] [14]
  • Authentication strings must be compared with the other party during the initial call. If the strings do not match then this signals an active man-in-the-middle attack is underway and the call should be terminated.

Servers and Privacy[edit]

Even with end-to-end encryption, VoIP servers servers can log call signalling metadata. This is not a major threat if:

  1. VoIP IDs are anonymously registered (no personal data is required for signing up).
  2. All parties only and always connect over Tor and have never used (or will use) accounts over clearnet.
  3. All calls are encrypted end-to-end.
  4. No communications occur with anonymous strangers.

In this case it is unlikely a malicious server could cause much harm from logging or other actions. [15]

Other than the factors outlined in this introduction section, no additional anonymity or security problems have been identified for VoIP. That said, this configuration is less tested in Whonix ™ so the performance and voice quality could be quite variable. If this activity is necessary, then it is recommended to test the performance of VoIP software for yourself and to provide feedback about the experience.

Mumble[edit]

Introduction[edit]

Mumble is: [16]

... a low-latency, high quality voice chat program for gaming. It features noise suppression, encrypted connections for both voice and instant messaging, automatic gain control and low latency audio with support for multiple audio standards. Mumble includes an in-game overlay compatible with most open-source and commercial 3D applications. Mumble is just a client and uses a non-standard protocol. You will need a dedicated server to talk to other users. Server functionality is provided by the package "mumble-server".

Mumble has a number of advantages: [17] [18] [19] [20]

  • The software is open source and packaged in Debian, as well as for all major operating systems.
  • Client to server encryption is supported. [21]
  • The communication is high quality and low latency. [22]
  • It is possible to check nobody is wiretapping the connection (MITM) by verifying client/server certificates. [23]
  • Push to talk is supported. [24]
  • The interface is similar to Team Speak, but without its disadvantages.
  • It supports TCP mode [25] which is necessary because the Tor network does not support UDP yet.

Tips[edit]

To use Mumble, one party must act as a server while everyone else can act as a client. If the server administrator runs the server on its local machine and also wants to connect to the server, then local (127.0.0.1) connections are recommended since it is faster than connecting to the onion service domain.

Group chats pose a greater risk since there is no end-to-end encryption. This means if the server is compromised, all conversations are no longer private. However, if only two parties use Mumble for communications, then end-to-end encryption protects against this threat.

When one of the two communicating parties hosts a mumble server as a Tor onion service and the other party connects over Tor, encryption is already provided by Tor. This means Mumble's own encryption is not required and so long as a server password is set (see below), this configuration should be secure. [26]

Mumble Server Instructions[edit]

Newcomers are recommended to first read the introduction to Onion Services and to learn about security benefits compared to regular 'clearnet' connections. This wiki resource is also useful if configuring a hidden web server on the same .onion domain, since it helps users to grasp basic operations and test them.

1. Make necessary Whonix-Gateway ™ adjustments.

Open /usr/local/etc/torrc.d/50_user.conf.

If you are using Qubes-Whonix ™, complete the following steps.

Qubes App Launcher (blue/grey "Q")Whonix-Gateway ™ ProxyVM (commonly named sys-whonix)Tor User Config (Torrc)

If you are using a graphical Whonix-Gateway ™, complete the following steps.

Start MenuApplicationsSettings/usr/local/etc/torrc.d/50_user.conf

If you are using a terminal-only Whonix-Gateway ™, complete the following steps.

sudo nano /usr/local/etc/torrc.d/50_user.conf

Add.

HiddenServiceDir /var/lib/tor/mumble_service/
HiddenServicePort 64738 10.152.152.11:64738
HiddenServiceVersion 3

Save.

2. Reload Tor.

Reload Tor.

After editing /usr/local/etc/torrc.d/50_user.conf, Tor must be reloaded for changes to take effect.

Note: If Tor does not connect after completing all these steps, then a user mistake is the most likely explanation. Recheck /usr/local/etc/torrc.d/50_user.conf and repeat the steps outlined in the sections above. If Tor then connects successfully, all the necessary changes have been made.

If you are using Qubes-Whonix ™, complete the following steps.

Qubes App Launcher (blue/grey "Q")Whonix-Gateway ™ ProxyVM (commonly named 'sys-whonix')Reload Tor

If you are using a graphical Whonix-Gateway ™, complete the following steps.

Start MenuApplicationsSettingsReload Tor

If you are using a terminal-only Whonix-Gateway ™, press on Expand on the right.

Complete the following steps.

Reload Tor.

sudo service tor@default reload

Check Tor's daemon status.

sudo service tor@default status

It should include a a message saying.

Active: active (running) since ...

In case of issues, try the following debugging steps.

Check Tor's config.

sudo -u debian-tor tor --verify-config

The output should be similar to the following.

Sep 17 17:40:41.416 [notice] Read configuration file "/usr/local/etc/torrc.d/50_user.conf".
Configuration was valid

3. Retrieve the Tor onion service url.

sudo cat /var/lib/tor/hidden_service/hostname

Reminder: Always backup the onion service key. This is necessary in order to restore it on another machine, on a newer Whonix-Gateway ™, after HDD/SSD failure, etc. Follow the instructions below to find its location; root permission is required to access it.

/var/lib/tor/hidden_service/private_key

Qubes-Whonix ™

Use the usual Qubes tools. The following example shows how to copy the /var/lib/tor/hidden_service/private_key from the sys-whonix VM to the vault VM (which should be started beforehand) using qvm-copy-to-vm.

sudo qvm-copy-to-vm vault /var/lib/tor/hidden_service/private_key

The above step copies the Tor onion service private key file to the QubesIncoming folder of the vault VM.

/home/user/QubesIncoming/sys-whonix/private_key

Consider moving the file from the QubesIncoming folder to another preferred location.

Qubes VM Manager can be used to conveniently backup the vault and/or other VMs. Please refer to the Qubes backups documentation for necessary steps to accomplish that.

Non-Qubes-Whonix ™

TODO document
Also see: File Transfer.

4. Adjust Whonix-Workstation ™ firewall settings.

Modify Whonix-Workstation ™ User Firewall Settings

Note: If no changes have yet been made to Whonix Firewall Settings, then the Whonix User Firewall Settings File /etc/whonix_firewall.d/50_user.conf appears empty (because it does not exist). This is expected.

If using Qubes-Whonix ™, complete these steps.
In Whonix-Workstation ™ AppVM.

Make sure folder /rw/config/whonix_firewall.d exists.

sudo mkdir -p /rw/config/whonix_firewall.d

Open /rw/config/whonix_firewall.d/50_user.conf with root rights.

lxsudo mousepad /rw/config/whonix_firewall.d/50_user.conf

If using a graphical Whonix-Workstation ™, complete these steps.

Start MenuApplicationsSettingsUser Firewall Settings

If using Non-Qubes-Whonix ™, complete this step.

In Whonix-Workstation ™, open the whonix_firewall configuration file in an editor.

sudo nano /etc/whonix_firewall.d/50_user.conf

For more help, press on Expand on the right.

Note: This is for informational purposes only! Do not edit /etc/whonix_firewall.d/30_default.conf

The Whonix Global Firewall Settings File /etc/whonix_firewall.d/30_default.conf contains default settings and explanatory comments about their purpose. By default, the file is opened read-only and is not meant to be directly edited. Below, it is recommended to open the file without root rights. The file contains an explanatory comment on how to change firewall settings.

## Please use "/etc/whonix_firewall.d/50_user.conf" for your custom configuration,
## which will override the defaults found here. When Whonix is updated, this
## file may be overwritten.

See also Whonix modular flexible .d style configuration folders.

To view the file, follow these instructions.

If using Qubes-Whonix ™, complete these steps.

Qubes App Launcher (blue/grey "Q")Template: whonix-ws-15Whonix Global Firewall Settings

If using a graphical Whonix-Workstation ™, complete these steps.

Start MenuApplicationsSettingsGlobal Firewall Settings

If using Non-Qubes-Whonix ™, complete this step.

In Whonix-Workstation ™, open the whonix_firewall configuration file in an editor.

nano /etc/whonix_firewall.d/30_default.conf

Add.

EXTERNAL_OPEN_PORTS+=" 64738 "

Save.

5. Reload the firewall.

Reload Whonix-Workstation ™ Firewall.

If you are using Qubes-Whonix ™, complete the following steps.

Qubes App Launcher (blue/grey "Q")Whonix-Workstation ™ AppVM (commonly named anon-whonix)Reload Whonix Firewall

If you are using a graphical Whonix-Workstation ™, complete the following steps.

Start MenuApplicationsSystemReload Whonix Firewall

If you are using a terminal-only Whonix-Workstation ™, run.

sudo whonix_firewall

6. Update the package lists and install necessary software.

sudo apt-get update

Install the mumble-server package.

sudo apt-get install mumble-server

7. Configure the server.

sudo dpkg-reconfigure mumble-server

Follow the recommendations below:

  • Autostart is suggested, unless you want to run
    sudo service mumble-server start
    (which failed in the past).
  • Higher priority? Select 'Yes'.
  • Password: choose a secure password.

There is also an upstream Mumble server guide, but it does not consider onion services which are already described here. For any additional questions regarding the server setup, refer to the upstream documentation.

8. Set a server password in the relevant file.

Open file /etc/mumble-server.ini in an editor with root rights.

(Qubes-Whonix ™: In TemplateVM)

This box uses lxsudo for root privilege escalation and mousepad as editor. These are examples. Other tools could archive the same goal too. If these example tools do not work for you or if you are not using Whonix, please see this link.

If you are using a graphical Whonix or Qubes-Whonix ™ with XFCE, run.

lxsudo mousepad /etc/mumble-server.ini

If you are using a terminal-only Whonix, run.

sudo nano /etc/mumble-server.ini

Search for "serverpassword=" and file in.

serverpassword=use_a_long_and_secure_server_password

9. Restart mumble-server.

sudo service mumble-server restart

Mumble Client[edit]

Installation[edit]

Update the package lists.

sudo apt-get update

Install mumble.

sudo apt-get install mumble

Start[edit]

Start Mumble.

Start menuApplicationsInternetVoice Chat

Configure[edit]

Configure Mumble to suit your preferences.

Next, enable Force TCP mode.

Go to ConfigureCheck "Advanced"NetworkCheck "Force TCP mode"Ok

Add Server[edit]

Follow these steps to add a new server. [27]

ServerConnectAdd New...

  1. Servername: anything - this can be same as the .onion domain name
  2. Address: enter your .onion domain name or if the mumble server is running in your own Whonix-Workstation ™, choose 127.0.0.1
  3. Port: 64738
  4. Username: anything

It is now possible to connect to the server.

Technical Notes[edit]

Mumble (and mumble-server) connections pass through Tor's TransPort, but this should not have a negative anonymity impact. The reason is connections to and from onion services are stream-isolated. [28]

Security-conscious, free software developers consider browsers as a poor and dangerous option for implementing privacy-critical software. Browsers have a large attack surface (numerous security holes) and lack adequate process isolation, which can lead to the theft of private encryption keys if malicious code is run.

Tox[edit]

Tox [29] [30] looks like a promising solution for secure, encrypted communications. The official client implementation is based on the Toxcore protocol library, which is very feature-rich and has a variety of functions besides VoIP. By default, Tox does not attempt to cloak your IP address from authorized contacts. However, Tox connections can be tunneled through Tor, allowing communication with others even if they are not anonymous. [31] Desktop and mobile client versions have been developed for every major OS platform. [32]

To learn more or to install this software, refer to this entry.

Warnings[edit]

Skype[edit]

Does this mean if I combine Whonix ™ with proprietary software like Skype, that my IP address and location will be safe?

Yes, the IP address and location remain hidden. Skype was tested to work in Whonix ™ several years ago, but it appears to have stopped working around 2013/14. [33] Developers have very little interest in testing or providing functional Skype instructions, because it is strongly recommended against. As gnu.org notes: "Skype contains spyware. Microsoft changed Skype specifically for spying."

Any corporation that willingly changes flagship software to enable secretive surveillance of users (without notice) cannot redeem itself. In addition: [34] [35]

  • Microsoft has long delayed providing a secure end-to-end encrypted communication channel until the announcement of the non-default "Conversations" option in 2018. [36]
  • After Microsoft purchased Skype in 2010 they changed the architecture, leading observers to note this would increase the ease of surveillance. Client-side encryption was replaced with server-side encryption, allowing unencrypted data to be disseminated when requested. [37]
  • Skype is closed source software and inherently distrusted based on Microsoft's behavior. For example it was revealed in 2013 that Skype had a program entitled "Project Chess", which was exploring legal and technical issues in making communications available to law enforcement and other agencies. [38] [39]
  • Company executives lied in 2012 when they denied giving government agency access to customer communications.
  • Skype has a long history of serious security flaws and conducting unannounced spying, such as reading BIOS data from the PC and accessing the Firefox profile folder during execution (where passwords are stored). [40]

None of these issues are related to Whonix ™ or Tor; the blame falls squarely on the company producing the software. At best, Skype usage can only be considered pseudonymous rather than anonymous, particularly since it acts like malware. It would be completely unsurprising if Skype linked all account names inside Whonix-Workstation ™ to the same pseudonym.

As well as the threat posed by Skype's design, behavior and parent company, there are additional risks to this non-free software:

  • Accounts: if you log into an account without Tor, even once, then it should be considered non-anonymous. It is virtually certain logs are retained that can link Tor and non-Tor use together.
  • Communication partner: if the other party did not create their account over Tor, or has not exclusively paired the account with Tor, then it is easy to verify your identity.
  • Encryption: as noted above, the encryption architecture is weak by default and the Skype authority is unworthy of trust -- consider the encryption broken at the outset. Always remember you do not control the encryption keys and the closed source software is hostile to privacy by design.
  • Voice recognition: as noted in the introduction, today's sophisticated software can easily identify you, even if Skype encryption is not broken.

In conclusion, Skype cannot be used for truly (pseudo-)anonymous activites, even though it does not leak the IP address/location. This means it is useful for circumvention only. Anybody capable and willing to communicate with partners who exclusively create and use accounts over Tor have far better options available.

Refer to the technical footnotes if you are interested in why Skype works at all in Whonix ™ over Tor (since Tor only supports TCP). [41] [42]

TORFone[edit]

Whonix has consistently advised against TORFone -- a fork of SpeakFreely -- since the developer in 2013 recommended against using the software: [43] "I did not think this project as a finished product for practical use." At that time, the project received an overall poor review in the mailing list thread.

It is unclear whether the situation has improved over the last several years, but the software is under active development based on the number of recent commits. Any reader who is interested in testing TORFone in Whonix ™ is encouraged to report their experience here.

USB Webcam Passthrough[edit]

Avoid this course of action -- the firmware of USB devices could be flashed by malware and cross infect the host.

VoIP Software List[edit]

There is a Comparison of VoIP software page on Wikipedia. Any client that is chosen should be open source and if onion services are not being used on both ends of the communication (where Tor handles the encryption), then it should also support voice encryption such as ZRTP.

Sources[edit]

Footnotes[edit]

  1. https://www.fcc.gov/general/voice-over-internet-protocol-voip
  2. See: Voice over IP: Risks, Threats and Vulnerabilities
  3. No information is available to uniquely identify the VoIP user.
  4. The language structure and syntax might be unique.
  5. For more than a decade, government agencies have been recording private phone calls to identify individuals by their unique voiceprint, while also recording and transcribing personal conversations, see: Finding Your Voice for a detailed description based on intelligence disclosures.
  6. See: Wikipedia: Comparison of VoIP Software to research alternatives.
  7. https://trac.torproject.org/projects/tor/ticket/7830
  8. This does not mean it will not be supported in the future, but the wait could be lengthy.
  9. https://en.wikipedia.org/wiki/Procedure_word
  10. Once your calling partner hears "Roger", it is understood that it is safe to answer and then also terminate the answer with "Roger" or "Out" when leaving the conversation.
  11. ZRTP has been implemented in Jitsi as GNU ZRTP4J, and in Linphone as oRTP.
  12. https://zfoneproject.com/faq.html#vbr
  13. https://www.webcitation.org/6RrGGaAho
  14. Research has found:

    ... in encrypted phone calls using a certain combination of technologies, preselected phrases can be spotted up to 50 percent of the time on average, and up to 90 percent of the time under optimal conditions. ... Variable-bit-rate encoding, Wright says, adjusts the size of data packets being sent over the Internet based on how much information they actually contain. For example, when the person on one end of a VoIP call is listening rather than speaking, the packets sent from that person’s computer shrink significantly. Also, packets containing certain sounds, such as “s” or “f,” can take up less space than those containing more-complex sounds, such as vowels.

    Encrypting the packets after they’ve been compressed scrambles their contents, making them look like gibberish. But it doesn’t change their size, which is what would give away information to potential eavesdroppers.

  15. Apart from trying to exploit random Tor users.
  16. https://packages.debian.org/buster/mumble
  17. https://sourceforge.net/projects/mumble/
  18. https://github.com/mumble-voip/mumble
  19. https://www.mumble.com/mumble-server-support.php
  20. https://wiki.mumble.info/wiki/FAQ/English
  21. Is Mumble encrypted?:

    Your whole communication to and from the server is always encrypted. This encryption is mandatory and cannot be disabled. The so-called control channel, which transports your chat messages and other non-time critical information, is encrypted with TLS using 256 bit AES-SHA. The voice channel carrying speech and positional audio is encrypted with OCB-AES 128 bit. You and the server authenticate to each other using digital certificates like they are used for secured connections in Web-browsers.

  22. Although some voices are reported to sound 'metallic' or 'robotic'.
  23. https://wiki.mumble.info/wiki/FAQ/English#How_can_I_verify_that_there_is_nobody_wiretapping_my_connection_.28MITM.29.3F
  24. https://www.mumble.com/support/mumble-server-push-to-talk.php
  25. https://ccm.net/faq/26187-mumble-force-tcp-mode
  26. Alternatively, the interested reader can learn more about Mumble certificates for defense in depth, as well as using channel passwords instead of server passwords and so on.
  27. https://wiki.mumble.info/wiki/Murmurguide#Connecting_to_Murmur_Server
  28. See Stream Isolation for further information on TransPort, SocksPort, stream isolation and related issues.
  29. https://wiki.tox.chat/users/faq#what_is_tox
  30. https://tox.chat
  31. https://wiki.tox.chat/users/tox_over_tor_tot
  32. https://wiki.tox.chat/clients
  33. https://community.skype.com/t5/Security-Privacy-Trust-and/Is-Skype-blocking-TOR-exit-nodes/td-p/1706941
  34. https://www.wired.com/story/skype-end-to-end-encryption-voice-text/
  35. https://en.wikipedia.org/wiki/Skype_security
  36. Increasing the ease with which the company and other parties could spy on the communications of hundreds of millions of people. Even with "Conversations" set, Microsoft still has access to a host of metadata.
  37. Microsoft routinely releases data to law enforcement agencies upon request, including users' geographical locations.
  38. https://www.schneier.com/blog/archives/2013/06/new_details_on.html
  39. Snowden leaks also confirm Skype became part of the PRISM program on 6 February, 2011.
  40. https://en.wikipedia.org/wiki/Skype_security#Flaws_and_potential_flaws
  41. Quote Silver Needle in the Skype (w):

    Skype can’t work without a TCP connection
    But Skype can work without UDP
    Blocking UDP is not sufficient

  42. Refer to the "Skype over Tor" section here: guardianproject.info: Voice over Tor? (w)
  43. https://lists.torproject.org/pipermail/tor-talk/2013-February/027215.html

No user support in comments. See Support. Comments will be deleted after some time. Specifically after comments have been addressed in form of wiki enhancements. See Wiki Comments Policy.


Add your comment
Whonix welcomes all comments. If you do not want to be anonymous, register or log in. It is free.


Random News:

Please help in testing new features and bug fixes in Whonix ™.


https | (forcing) onion

Follow: Twitter | Facebook | gab.ai | Stay Tuned | Whonix News

Share: Twitter | Facebook

This is a wiki. Want to improve this page? Help is welcome and volunteer contributions are happily considered! Read, understand and agree to Conditions for Contributions to Whonix ™, then Edit! Edits are held for moderation.

Copyright (C) 2012 - 2019 ENCRYPTED SUPPORT LP. Whonix ™ is a trademark. Whonix ™ is a licensee of the Open Invention Network. Unless otherwise noted, the content of this page is copyrighted and licensed under the same Freedom Software license as Whonix ™ itself. (Why?)

Whonix ™ is a derivative of and not affiliated with Debian. Debian is a registered trademark owned by Software in the Public Interest, Inc.

Whonix ™ is produced independently from the Tor® anonymity software and carries no guarantee from The Tor Project about quality, suitability or anything else.

By using our website, you acknowledge that you have read, understood and agreed to our Privacy Policy, Cookie Policy, Terms of Service, and E-Sign Consent. Whonix ™ is provided by ENCRYPTED SUPPORT LP. See Imprint.