RetroShare
Introduction[edit]
RetroShare is not an anonymizing network
, it is a friend-to-friend
(F2F) network, or optionally a darknet
. RetroShare has a very different audience and threat model.
RetroShare is in active development. Users can operate servers for themselves, but the architecture doesn't depend on them. Communications are encrypted end-to-end and provide for messaging, mail, forums, pubsub, file exchange and even telephony. The problems with RetroShare are the confused user interface, the necessity to have it run most of the time and contribute to the distributed hashtable (DHT, causing continuous CPU usage) and three relevant privacy aspects: You expose your social graph to a global passive adversary because friends connect to friends directly. Your public IP is available in the DHT, allowing to track your physical locations. And your visible user name is exposed in the TLS certificate when somebody connects to your RetroShare node.
Several of these problems can be solved by disabling the built-in DHT and hiding RetroShare behind a Tor onion service. People who scan Tor onion services will however still be able to connect the service and see the RetroShare user name in the self-signed certificate. This can be prevented by setting up Authenticated Onion Services and limiting connections only to trusted people.
On November 4, 2014, RetroShare scored 6 out of 7 points on the Electronic Frontier Foundation's secure messaging scorecard. It lost a point because there has not been an independent code audit.[1] A recent audit by the pen-testing group Elttam uncovered many bugs in the code (some remotely exploitable) that were promptly fixed. The auditor's opinion was that RetroShare's codebase lacked secure coding practice.[2]
Running RetroShare through Tor enables you, to do things, which are normally potentially dangerous, such as adding random people (from a forum), while staying anonymous. (For example, to join a RetroShare forum.) This is not a recommendation, just stating a possibility. You can exchange your key on dedicated chat servers at: https://retroshare.rocks/
After adding tons of random "friends" from a public forum, connection to a very few people over TCP. [3] [4] Approximately only 5% were online. Although probably only a very small portion of the network could be seen, the content of the network looked pretty interesting.
RetroShare reports Right click → DHT Details: NET WARNING No DHT; Behind NAT UNKNOWN NAT STATE MANUAL FORWARD
There still may be some privacy caveats left with RetroShare trying to communicate outside of Tor, but that doesn't matter if Whonix ™ makes any non-Tor traffic impossible.
Installation[edit]
WARNING: RetroShare packages are signed with weak 1024 bit keys. Until this is fixed we recommend using Ricochet IM with OnionShare instead.
Security warning: Adding a third party repository allows the vendor to replace any package on your system. Proceed at your own risk! See Foreign Sources for further information. For greater safety, users adding third party repositories should always use Multiple Whonix-Workstation ™ to compartmentalize VMs with additional software.
RetroShare is currently available on Debian 7.0 Wheezy and 6.0 Squeeze for armel, armhf, i386 and amd64 architectures and for 8.0 Jessie.
Before adding the repo[5], fetch the key and verify[6] fingerprints. Always check the fingerprint for yourself. The output at the moment is:
pub 1024D/0x9418A47921691F91 2011-08-16 home:AsamK OBS Project <home:AsamK@build.opensuse.org> Key fingerprint = E2CE 3677 C801 5772 D097 B0AA 9418 A479 2169 1F91
Download key with curl to home folder.
Check fingerprints/owners without importing anything.
If it looks good import into trusted.gpg.d.[7]
For stable builds:
For nightly builds:
Update the package lists.
Install Retroshare.
For the latest nightly package name install retroshare06-git
instead.
Setup[edit]
RetroShare setup:
- Pick a pseudonym and password. Don't use real name or location obviously. Move your mouse to generate enough entropy.
- Check Advanced Options → Create a hidden node
- Change key-length to 4096 bits for adequate security then generate the new profile.
Configuration[edit]
I2P[edit]
Follow the steps in this guide to connect to others over I2P.
Tor[edit]
INCOMPLETE - Depends on unimplemented features for Whonix[9] [10]
On your Whonix-Gateway ™.
If you want to read an introduction about onion services and to learn about about onion service security, see Onion Services.
If you also want to run a hidden web server on the same .onion domain (nice for testing and learning Onion Services basics), see Onion Services.
Open file /usr/local/etc/torrc.d/50_user.conf
in a text editor of your choice with
sudoedit
.
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 Menu
→ Applications
→ Settings
→ /usr/local/etc/torrc.d/50_user.conf
If you are using a terminal-only Whonix-Gateway ™, complete the following steps.
Add. [11]
Save.
Reload Tor.
After changing Tor configuration, 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 Menu
→ Applications
→ Settings
→ Reload Tor
If you are using a terminal-only Whonix-Gateway ™, click
HERE
for instructions.
Complete the following steps.
Reload Tor.
Check Tor's daemon 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.
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
Reminder: To get your onion service url.
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/retroshare/hs_ed25519_secret_key
The following example shows how to copy the /var/lib/tor/retroshare/hs_ed25519_secret_key from the sys-whonix VM to the vault VM (which should be started beforehand) using qvm-copy. A dialog will appear asking for the destination VM.
When the dialog appears asking to confirm, select vault. This copies the Tor onion service private key file to the QubesIncoming folder of the vault VM.
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.
TODO document
Also see: File Transfer.
Footnotes[edit]
- ↑ https://www.eff.org/secure-messaging-scorecard
- ↑ https://www.elttam.com.au/blog/a-review-of-the-eff-secure-messaging-scorecard-pt1/
- ↑ Chance of working better (untested): Tunnel UDP over Tor.
- ↑ Note, in case you are using the previous footnote, Other Anonymizing Networks over Tor UDP Tunnel applies.
- ↑ http://retroshare.sourceforge.net/downloads.html
- ↑ http://download.opensuse.org/repositories/home:/AsamK:/RetroShare/Debian_8.0/Release.gpg
- ↑ To import asc key files into trusted.gpg.d they must be converted into a .gpg keychain file first.
- ↑
RetroShare .deb Packages installation instructions from RetroShare's third party repository
- ↑
https://github.com/RetroShare/RetroShare/issues/356
- ↑
This task is up for grabs: https://phabricator.whonix.org/T560
- ↑ Arbitrary choice of port to avoid conflicts with custom RetroShare setups.