Cryptocat

Cryptocat

Screenshot of Cryptocat 2.1.5
Original author(s) Nadim Kobeissi
Developer(s) Cryptocat contributors [1]
Initial release 19 May 2011
Stable release 2.2.2 / June 12, 2014
Written in JavaScript, Objective-C
Operating system Cross-platform
Available in English, Arabic, Bulgarian, Burmese, Catalan, Chinese, Danish, Dutch, Farsi, French, German, Greek, Hebrew, Hungarian, Italian, Japanese, Korean, Latvian, Norwegian, Polish, Portuguese, Romanian, Russian, Slovenian, Spanish, Swedish, Tibetan
Type Secure communication
License Affero General Public License
Website crypto.cat

Cryptocat is an open source web and mobile application intended to allow secure, encrypted online chatting.[2][3] Cryptocat uses end-to-end encryption and encrypts chats on the client side, only trusting the server with data that is already encrypted. Cryptocat is offered as an app for Mac OS X or as a browser extension for Google Chrome,[4] Mozilla Firefox, Apple Safari, Opera and as a mobile app for iPhone.

Cryptocat's stated goal is to make encrypted communications more accessible to average users.[5][6] The chat software aims to strike a balance between security and usability—offering more privacy than services such as Google Talk or Internet Relay Chat, while maintaining a higher level of accessibility than Pidgin.[7]

Cryptocat is developed by the Cryptocat team and is released under the GPLv3 license.

History

Cryptocat was first launched on 19 May 2011.

In June 2012, Cryptocat developer Nadim Kobeissi said he was detained at the U.S. border by the DHS and questioned about Cryptocat's censorship resistance. He tweeted about the incident afterwards, resulting in media coverage and a spike in the popularity of the software.[8][9]

In June 2013, Cryptocat was used by journalist Glenn Greenwald while in Hong Kong to meet NSA whistleblower Edward Snowden for the first time, after other encryption software failed to work.[10]

Reception

In November 2013, Cryptocat was banned in Iran, shortly after the election of Iran's new president Hassan Rouhani who had promised more open Internet laws.[11]

Along with Threema and Surespot, Cryptocat was ranked first in a study evaluating the security and usability of instant messaging encryption software, conducted by the German PSW Group in June 2014.[12]

In November 2014, Cryptocat received a top score on the Electronic Frontier Foundation's secure messaging scorecard, along with "ChatSecure + Orbot", TextSecure, "Signal / RedPhone", Silent Phone, and Silent Text. They received points for having communications encrypted in transit, having communications encrypted with keys the providers don't have access to (end-to-end encryption), making it possible for users to independently verify their correspondent's identities, having past communications secure if the keys are stolen (forward secrecy), having their code open to independent review (open source), having their security designs well-documented, and having recent independent security audits.[13]

Features

Cryptocat allows any desktop with a modern web browser to quickly set up an end-to-end encrypted chat environment. The browser's accessibility is frequently touted by the project as the reason why it chose the platform.[14] Cryptocat is currently compatible with Google Chrome,[4] Mozilla Firefox, Apple Safari, Opera and also offers an application for iOS devices.

Cryptocat uses the Off-the-Record Messaging (OTR) protocol for encrypted private messaging, allowing two parties to chat in private. Cryptocat also uses its own group messaging protocol to allow for group instant messaging conversations. Since Cryptocat generates new key pairs for every chat, it implements a form of perfect forward secrecy.[15] Cryptocat also offers encrypted file and photo sharing, allowing users to send documents and photos to each other using end-to-end encryption.

Cryptocat also may be used in conjunction with Tor in order to anonymize the client's network traffic. The project also plans to create an embedded version for use with Raspberry Pi devices for use by non-profits.[16][17] As of July 2013, a Commotion-compatible version was in development.

Since 2013, Cryptocat has offered the ability to connect to Facebook Messenger to initiate encrypted chatting with other Cryptocat users.[18] According to the developers, the feature was meant to help offer an alternative to the regular Cryptocat chat model which does not offer long-term contact lists.[19]

Architecture

Encryption

Cryptocat uses the Off-the-Record Messaging (OTR) protocol for encrypted private messaging, allowing two parties to chat in private. For group messaging, Cryptocat uses a group chat protocol deploying Curve25519, AES-256, and HMAC-SHA512, all industry standards for cryptography applications. All messages sent in Cryptocat, including group chat messages and file transfers, are end-to-end encrypted, which means that they can only be read by the intended recipients and not by the network during transit. Cryptocat provides cryptographic properties of confidentiality, integrity, authentication and forward secrecy for all conversations, and also provides deniability for file transfers and private OTR chats.

Network

Cryptocat's network relies on a XMPP BOSH configuration, which only relays encrypted messages and does not store any data, according to the project's privacy policy.[20] The project uses ejabberd and nginx in order to provide the XMPP-BOSH relay. In addition to the Cryptocat client's end-to-end encryption protocols, client-server communication is protected by TLS/SSL.

Cryptocat also publishes its server configuration files and instructions for others to set up their own servers for the Cryptocat client to connect to.[21]

In 2013, Cryptocat's network migrated to Bahnhof, a Swedish webhost housed in mountainous Cold War nuclear bunker which has also hosted WikiLeaks and The Pirate Bay.[22]

Audits

In June 2013, security researcher Steve Thomas pointed out a security bug that could be used to decrypt any group chat message that had taken place using Cryptocat between September 2012 and April 19, 2013.[23][24] Private messages were not affected, and the bug had been resolved a month prior. In response, Cryptocat issued a security advisory, requested that all users ensure that they had upgraded, and informed users that past group conversations may have been compromised.[24]

In February 2014, an audit by iSec Partners criticized Cryptocat's authentication model as insufficient.[25] In response, Cryptocat made improvements to user authentication, making it easier for users to authenticate and detect man-in-the-middle attacks.[26]

Security concerns

Some versions of Cryptocat have been questioned for utilizing the browser to encrypt messages,[27] which some researchers feel is less secure than the desktop environment.[28][29][30] More recent versions have relied on browser-native random number generation.[31]

See also

References

  1. Cryptocat. "Cryptocat CONTRIBUTING.md". Retrieved 2014-06-22.
  2. Dachis, Adam (9 August 2011). "Cryptocat Creates an Encrypted, Disposable Chatroom on Any Computer with a Web Browser". Lifehacker. Retrieved 8 April 2012.
  3. Giovannetti, Justin (4 February 2012). "Encrypted messages: chatting safely with Cryptocat". OpenFile. Retrieved 8 April 2012.
  4. 4.0 4.1 "Cryptocat on the Chrome Web Store". Chrome.google.com. Retrieved 2012-07-28.
  5. Greenberg, Andy (27 May 2011). "Crypto.cat Aims To Offer Super-Simple Encrypted Messaging". Forbes. Retrieved 8 April 2012.
  6. Curtis, Christopher (17 February 2012). "Free encryption software Cryptocat protects right to privacy: inventor". Montréal Gazette. Archived from the original on February 19, 2012. Retrieved 8 April 2012.
  7. "Using His Software Skills With Freedom, Not a Big Payout, in Mind". New York Times. April 18, 2012.
  8. Jon Matonis (2012-04-18). "Detaining Developer At US Border Increases Cryptocat Popularity". Forbes. Retrieved 2012-07-28.
  9. "Developer's detention spikes interest in Montreal's Cryptocat". Itbusiness.ca. 2012-06-08. Retrieved 2012-07-28.
  10. Greenwald, Glenn (May 13, 2014). No Place to Hide: Edward Snowden, the NSA, and the U.S. Surveillance State. Metropolitan Books. p. 59. ISBN 978-1627790734. Retrieved 22 June 2014.
  11. Franceschi-Bicchierai, Lorenzo (21 November 2013). "Iran Blocks Encrypted Chat Service Despite Claims of Internet Freedom". Mashable. Retrieved 22 June 2014.
  12. Christian Heutger. "Die Ergebnisse unseres großen Messenger-Tests" (in German). Retrieved 2014-06-26.
  13. "Secure Messaging Scorecard. Which apps and tools actually keep your messages safe?". Electronic Frontier Foundation. 2014-11-04.
  14. Cryptocat. "Documenting and Presenting Vulnerabilities in Cryptocat". Retrieved 2014-06-22.
  15. Cryptocat Multiparty Protocol Specification Retrieved 2013-12-28
  16. Knowles, Jamillah (3 March 2012). "Raspberry Pi network plan for online free-speech role". BBC News. Retrieved 8 April 2012.
  17. Kirk, Jeremy (14 March 2012). "Cryptocat Aims for Easy-to-use Encrypted IM Chat". PCWorld. Retrieved 8 April 2012.
  18. Norton, Quinn (12 May 2014). "Cryptocat Creates an Encrypted, Disposable Chatroom on Any Computer with a Web Browser". The Daily Beast. Retrieved 22 June 2014.
  19. Cryptocat. "Cryptocat, Now with Encrypted Facebook Chat". Retrieved 2014-06-22.
  20. Cryptocat. "Cryptocat Privacy Policy". Retrieved 2014-06-22.
  21. Cryptocat. "Server Deployment Instructions". Retrieved 2014-06-22.
  22. Nadim Kobeissi. "Cryptocat Network Now in Swedish Nuclear Bunker". Retrieved 2013-02-09.
  23. Steve Thomas. "DecryptoCat". Retrieved 2013-07-10.
  24. 24.0 24.1 Cryptocat Development Blog. "New Critical Vulnerability in Cryptocat: Details". Retrieved 2013-07-07.
  25. https://isecpartners.github.io/publications/iSEC_Cryptocat_iOS.pdf
  26. Cryptocat. "Recent Audits and Coming Improvements". Retrieved 2014-06-22.
  27. "JavaScript crypto in the browser is pointless and insecure."
  28. Matasano Security – Matasano Web Security Assessments for Enterprises
  29. Thoughts on Critiques of JavaScript Cryptography | Nadim Kobeissi
  30. HOPE 9: Why Browser Cryptography Is Bad & How We Can Make It Great on Vimeo
  31. "Mozilla Developer Network – window.crypto.getRandomValues"

External links