close
The Wayback Machine - https://web.archive.org/web/20120610074127/https://guardianproject.info/blog/

A Partnership for Open Secure Mobile Messaging between iOS and Android

We believe in protocols, not products. We believe in partnerships, not proprietary fiefdoms. We believe in building a community of collaborators, not a cacophony of criticism and unnecessary competition. We believe in practical solutions to perilous problems. 

With all of this in mind, we are very happy to announce our partnership and support of the ChatSecure for iOS open-source free software project. Through our our two year history, we have been lucky to receive support from a variety of donors and funders, and we are now using what influence and opportunities we have to endorse other projects that we feel are compatible with our outlook and goals.

Using ChatSecure on an iPhone or iPad, you can have an end-to-end encryption chat session with someone using the Guardian Project’s Gibberbot on Android (or Pidgin, Jisti, or Adium on the desktop as well) through any  Jabber/XMPP compliant chat service such as GTalk, Jabber.org, or even Facebook (gasp!). You can also run your own server using something like OpenFire or Prosody.

BERJAYA  BERJAYA

While we fundamentally believe that the more open platform and ecosystem of Android is a better choice for people at risk around the world, we know that the iPhone and iPad devices are very compelling and quite popular. This is especially true among some of our most closest, at-risk users – journalists and activists – people who praise the time saving usability of Apple products, while being frustrated they have no way to communicate as securely as they would like. Messaging apps like WhatsApp and Facebook Messenger are terribly insecure, and there is still no open-source cross-platform encrypted SMS solution.

Now using ChatSecure and Gibberbot, members of the same organization, friends, or colleagues can now easily communicate in a completely secure manner between Android and iOS devices.

A message below from the ChatSecure team…

BERJAYA

I would like to announce a partnership with The Guardian Project, who develops the Android equivalent of ChatSecure called Gibberbot, along with a whole suite of mobile security applications. It’s an exciting time for open-source secure mobile communications!

Version 1.2 has been approved! This new version includes support for limited background messaging, the #1 most requested feature. Yay!

Read more and learn about this great open-source effort on the ChatSecure blog: https://chatsecure.org/blog#2

If you are reading this on an iOS device, go to the App Store and install ChatSecure now!

OSTN secure VoIP wizard now built into CSipSimple for Android

If you saw our last post about how to setup your own secure voice-over-IP server instance, then this news is for you.

If you are an Android user looking for the best open-source VoIP app, and really need one that can support secure communications, then this post is ALSO for you.

CSipSimple, the previously mentioned “best VoIP app”, now includes a wizard for setting up an account configuration for any server which complies with our Open Secure Telephony Network specification. In short, this means it uses TLS or SSL to secure the SIP signaling traffic, and supports proxying of the RTP media streams for the actual voice or video calls, without in any way interfering with the ZRTP encryption passing through it.

There are currently two OSTN compliant public services, OSTel and PillowTalk, but we hope and expect there to be many more, both public and private, and are very happy that this secure by default wizard configuration is now included in the core CSipSimple project. In addition, by having this support in a multiple purpose client (as opposed to a single OStel-only app), you can simultaneously use multiple VoIP accounts. For example, you might setup a second account with Callcentric, that is less secure, but that would allow you to make calls over the standard telephone system.

Below are screenshots of CSipSimple account setup running on an Android 4 ICS 7″ Tablet.

First, select “Add account”, scroll down to Generic wizards, and select OSTN.

BERJAYA

Then enter your username, password, and the OSTN compliant server you wish to connect to.

BERJAYA

Once you hit “Save”, the account should be configured, attempt to register, and be ready to make calls.

Learn more about the CSipSimple project: http://code.google.com/p/csipsimple/

Download the latest CSipSimple nightly trunk here.

Many thanks to the brilliant Ooze and R3gis for their continued support.

Build your own Open Secure Telephony Network, some assembly required

The Open Secure Telephony Network is a standard that defines how to configure a VoIP softswitch with the capability to have secure two-way VoIP conversations if both parties are using the same server. The system requires both backend and frontend components, which makes OSTN is a little different than some of the other Guardian apps. Unlike Gibberbot, there are few public SIP services that support secure signalling for a mobile app to connect with. Notably Tanstagi.net offers free accounts. But it’s more fun to run your own.

Ready? Here’s the 12 step program.

The core server system is what provides user registration and media proxying. The reference application I used is called Freeswitch. It has a plethora of configuration options, so I chose to use a configuration management system called Chef to get everything set correctly.

  1. Bootstrap a Debian server. Right now the only supported platform for an automated installation is Debian 6 “Squeeze”. The adventerous may try to run the cookbook on another platform and do some bug fixing
  2. Install sudo, curl and git if you don’t already have them. apt-get install sudo curl git-core
  3. Get a static IP address. This is crucial! Your users will need a place to register from anywhere in the world
  4. Get a domain name. This is also crucial! Your users will prefer to register to a name rather than an IP address
  5. Configure a local hostname. This is a dependency for the cookbook to properly configure Freeswitch to serve your custom domain. Unfortunately, this process varies based on OS and has bizarre conventions that make no sense. Just follow the instructions and don’t ask questions. Remember to reboot after changing the hostname
  6. Install Chef from the opscode full stack.
  7. Download the freeswitch cookbook and execute it with chef-solo
  8. Walk away and have some coffee or a beer, depending on where the sun is relative to you
  9. When the Chef run is finished, Freeswitch will be up and running. Check with netstat -lntp you should see freeswitch listening on TCP port 5061
  10. Create users by running /opt/opscode/embedded/bin/ruby /usr/local/freeswitch/scripts/gen_users. Without arguments, it will print the required parameters. Run it with an offset of 1000 and as many users as you like. Copy the XML files output by the script to /usr/local/freeswitch/conf/directory/default/ The script will also output a file with plaintext passwords so you can provision user handsets. Put this file somewhere safe and encrypted
  11. Reload the XML into Freeswitch’s memory. /usr/local/freeswitch/bin/fs_cli -x "reloadxml"
  12. Install CSipSimple and configure it to connect to your domain name with the username/password pair

If you make it through these steps, congratulations! You are now a Freeswitch operator. If you’re curious what is behind all of this and why it works, you should read about SIP, ZRTP and SDP. It’s also worth noting that the Chef cookbook configures the server to act as an SSL Certificate Authority. This is used for Secure SIP. The current landscape of using commercially signed certificates in Freeswitch is far more complicated than any HTTPS web server you may have worked with.

If you’d like to get help from me or another Guardian Project hacker, you can create issues in our tracker and message SteeleNivenson on Freenode or OFTC in channel #guardianproject. Oh yeah, and there’s Twitter @leeazzarello.

IOCipher lives! encrypted virtual file system for Android

Nathan and I just got the first complete test of IOCipher working in the IOCipherServer/SpotSync app. We created a filesystem sqlite.db file, then mounted it and got all the files via HTTP. In the test suite, I have lots of operations all running fine and encrypting! The core idea here is a java.io API replacement that transparently writes to an encrypted store. So for the most part, just change your import statements from:

java.io.*   --->   info.guardianproject.iocipher.*

Then in your code, make a VirtualFileSystem instance and mount it, and unmount it. That’s about it. Right now, you can have only a single filesystem per app, but you can unmount one and mount another. We hope to add support for multiple filesystems in the not-too-distant future.

Its ready for people to try, some kind of early alpha. Here’s the framework itself:
https://github.com/guardianproject/IOCipher

THe easiest way to get started right now is probably the test suite:
https://github.com/guardianproject/IOCipherTests

Our first app using it is here:
https://github.com/guardianproject/IOCipherServer

Comments, feedback, criticism, welcome and wanted!

Bye, bye, BBM! Facebook Allows Verifiable Encrypted Mobile Messaging for Android and iOS; Mobile Revenue Threatened?

Yes, yes, we are trying to get in on all of the Facebook pre-IPO buzz. Fortunately, the headline is true – through Facebook’s support for open-standards messaging, our secure mobile messaging app, Gibberbot for Android, can be used to communicate securely with any other friend on Facebook who is ALSO using a secure messaging app. Whether it is Gibberbot, ChatSecure for iOS, Adium (Mac), Pidgin (Windows/Linux), or one of the many secure messaging apps that support the Off-the-Record encryption capability, Facebook allows encrypted messaging between mobile and desktops alike.

This means that as opposed to the default Facebook Messenger apps that transmit and store their messages in plaintext, no one but you and the person you are messaging can read the contents of the communication. This goes far beyond the really unsafe designs of group messaging products like WhatsApp, which have pretty much no security at all, and are easily hijacked and monitored.

You can even use Gibberbot over the Tor network, to access Facebook messaging in places where it might be blocked or monitored, like your school, work, or your local authoritarian surveillance state.

BERJAYA

Now, it is very interesting to note, that while they allow it, they do *detect* that you are using encryption, and tag it as such in the web-based messaging interface (which does NOT support encryption). Only time will tell if this is simply a feature for tidying up the user interface (else you see a bunch of cypher text gobblyegook), or some sort of retro-future surveillance of who is using Facebook in non mainstream ways. After all, if Facebook cannot index my chats for keywords to advertise against, do they really want me using up their server computing time?

Below is a screenshot of ChatSecure, the first open-source secure messenger for iOS devices. We are excited to be partnering this project to ensure full interoperability with Gibberbot.

BERJAYA

Learn more about the entire Guardian Project suite of open-source secure mobile apps.

Performance Optimization WordPress Plugins by W3 EDGE

Featuring Recent Posts WordPress Widget development by YD