Web development , php , ajax , symfony, framework, zend
In: tutorial
31 Jul 2010
Do you use instant messengers like Skype, MSN and Yahoo IM or do you upload to online storage services so that you can easily share files with friends? Most of the communications usually involve a middle server that handles profiles, memberships and directing those communications and messages.
Of course, a third party introduces a security hole where the line of communication could get tapped into. The person doing the tapping may be a government, a private investigator, or just a hacker out to capture your private information. If you are the least bit concerned about the privacy and security of your personal chat conversations, then peer-to-peer, where each installation is its own sort of secure chat server, is the way to go.
Here at MakeUseOf, we’ve covered lots of P2P file sharing solutions, like GigaTribe and OneSwarm, which Simon reviewed. However, if you’re looking for a one-to-one, ultra-secure line of communication with your friends or colleagues using secure chat server software, then I’d like to introduce you to RetroShare.
Even if you’ve never used any peer-to-peer service before, RetroShare makes the setup ridiculously simple and fast. However, the system is amazingly secure – with all communications encrypted.
When you first set up the software, you need to create a profile. This isn’t a profile that gets stored on some remote server, it’s a profile that is stored on your PC memory and identifies you to other users that you invite via email.

The process of setting up your profile is an interesting process where the software generates prime numbers to come up with a unique “GPG key”. This is a special code that identifies your computer – so even if someone steals your password, installs the software on their own computer and tries to communicate with someone pretending to be you, it’s not going to happen. All authentication with friends is a process that ensures absolute security.

Network connection types available include Firewalled, Manual Forwarded Port, or automatic (UPnP). The first two will require that you know how to tweak your router. The third “automatic” choice is easiest, but you’ll need to configure your PC virus/security software to allow RetroShare to communicate over the network.

In addition to P2P chatting, RetroShare offers a whole suite of other peer-to-peer services like file sharing, messages (like email), and even forums. For file sharing, you can configure as many shared directories on your PC as you like.

That is all there is to setting up the secure chat server and client software. It’s a three-step introduction Wizard, and then your software is running and ready to initiate connections with friends. You can start a new connection to your friend (who also needs to have the software installed) by clicking on the “Add a Friend” icon in the left menu bar.
When you choose to add a friend, you’ll see a screen with an insanely long and convoluted code. This is your PGP Public Key Block. This paragraph has meaning to the software on both your end and to your friend’s install. Copy all of the text in the top field and paste it in an email to your friend. Once they install their software, they’ll also need to click on the button to add a friend and send you the block of code in their window as well.

When you receive your friend’s PGP key, copy it from the email they sent you, and paste it into the lower field on the same screen. Once both of you have gone through this authentication process, your software and your friend’s software will reach out and touch. You are now part of the same P2P authenticated network of trusted nodes.

Now that you are both authenticated, you’re ready to really have some fun and explore the features of RetroShare.
Once you’re both authenticated, you can communicate using the many tools that RetroShare offers. Initiate a chat window and you’ll be chatting just like in Skype or Yahoo IM. The big difference – the chat communications are encrypted – and no third party servers are involved whatsoever.

File sharing is also available via the shared directories that you defined in the setup. Want to send your friends the latest video of your child’s recital? Drop it in the shared folder and your friends can download. In the example below, we’ve both shared a folder called “RetroShare”.

Other cool features of RetroShare include a messaging system, and my favorite feature is a forum area where you can organize messages into “threads” of conversation. Here, I’m using our family’s secure network to create a family forum where we can all collaborate on planning our upcoming trip.

The value of RetroShare really becomes apparent when you’re taking part in research or other activity that may be sensitive or even classified in nature. When you really want to be sure that there’s no “middleman” in the conversation, this software is an excellent solution. With authenticated contacts and encrypted communications, you can’t go wrong.
Have you ever used RetroShare for your P2P needs? What did you think? Do you know of any other similar secure P2P systems that work as well or better? Share your insight in the comments below.
Image Credit: linusb4
Similar MakeUseOf Articles
This blog delivers stylish and dynamic news for designers and web-developers on all subjects of design, ranging from: CSS, Ajax, Javascript, web design, graphics, typography, advertising & much more. Our goal is to help you communicate effectively on the web with an engaging website or functional interface.