Cryptocat

Last updated
Cryptocat
Original author(s) Nadim Kobeissi
Developer(s) Nadim Kobeissi and contributors [1]
Initial release19 May 2011 (2011-05-19)
Final release
3.2.08 [2]   OOjs UI icon edit-ltr-progressive.svg / 20 February 2017;7 years ago (20 February 2017)
Repository
Written in JavaScript
Operating system Cross-platform
Available in3 languages
List of languages
Type Secure communication
License GNU General Public License
Website crypto.cat   OOjs UI icon edit-ltr-progressive.svg

Cryptocat is a discontinued open-source desktop application intended to allow encrypted online chatting available for Windows, OS X, and Linux. [3] It uses end-to-end encryption to secure all communications to other Cryptocat users. Users are given the option of independently verifying their buddies' device lists and are notified when a buddy's device list is modified and all updates are verified through the built-in update downloader. [4]

Contents

Cryptocat was created by Nadim Kobeissi and further developed along with a community of open source contributors and is published under the terms of the GPLv3 license, although it has since been discontinued.

History

Cryptocat was first launched on 19 May 2011 as a web application.

In June 2012, 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. [5]

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 19 April 2013. [6] [7] Private messages were not affected, and the bug had been resolved a month before. 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. [7]

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

In February 2016, citing dissatisfaction with the project's current state after 19 months of non-maintenance, Kobeissi announced that he would be taking Cryptocat temporarily offline and discontinuing the development of its mobile application, pending a complete rewrite and relaunch of the software. [10] In March 2016 Kobeissi announced the re-release of Cryptocat, rewritten completely as desktop software instead of the original web application software, as a public beta and the resumption of the service. [11] The new desktop-centric approach allowed Cryptocat to benefit from stronger desktop integration, in a style similar to Pidgin.

In February 2019, it was announced that Cryptocat would be discontinued. [12] As of December 2019, the cryptocat domain is for sale and links to the site for the Wire messenger. [13]

Features

Cryptocat allows its users to set up end-to-end encrypted chat conversations. Users can exchange one-to-one messages, encrypted files, photos as well as create and share audio/video recordings. All devices linked to Cryptocat accounts will receive forward secure messages, even when offline.

All messages, files and audio/video recordings sent over Cryptocat are end-to-end encrypted. Cryptocat users link their devices to their Cryptocat account upon connection, and can identify each other's devices via the client's device manager in order to prevent man-in-the-middle attacks. Cryptocat also employs a Trust on first use mechanism in order to help detect device identity key changes.

Cryptocat also includes a built-in auto-update mechanism that automatically performs a signature check on downloaded updates in order to verify authenticity, and employs TLS certificate pinning in order to prevent network impersonation attacks.

Originally in 2013, Cryptocat offered the ability to connect to Facebook Messenger to initiate encrypted chatting with other Cryptocat users. [14] According to the developers, the feature was meant to help offer an alternative to the regular Cryptocat chat model which did not offer long-term contact lists. [15] This feature was disconnected in November 2015.

Reception and usage

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. [16]

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. [17]

Cryptocat was listed on the Electronic Frontier Foundation's "Secure Messaging Scorecard" from 4 November 2014 until 13 March 2016. During that time, Cryptocat had a score of 7 out of 7 points on the scorecard. It had received points for having communications encrypted in transit, having communications encrypted with keys the provider did not 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 were stolen (forward secrecy), having its code open to independent review (open-source), having its security designs well-documented, and having completed an independent security audit. [18]

Architecture

Encryption

Cryptocat uses a Double Ratchet Algorithm in order to obtain forward and future secrecy across messages, after a session is established using a four-way Elliptic-curve Diffie–Hellman handshake. The handshake mixes in long-term identity keys, an intermediate-term signed pre-key, and a one-time use pre-key. [19] The approach is similar to the encryption protocol adopted for encrypted messaging by the Signal mobile application. Cryptocat's goal is for its messages to obtain confidentiality, integrity, source authenticity, forward and future secrecy and indistinguishability even over a network controlled by an active attacker. [4] The forward secrecy features of the protocol that Cryptocat uses are similar to those first introduced by Off-the-Record Messaging.

Cryptocat uses the Advanced Encryption Standard in Galois/Counter Mode for authenticated encryption, Curve25519 for Elliptic curve Diffie-Hellman shared secret agreement, HMAC-SHA256 for key derivation and Ed25519 for signing. [20] In order to limit the effect of a long-term identity key compromise, long-term keys are used exclusively once for the initial Authenticated Key Exchange, and once for signing a newly generated intermediate-term signed pre-key.

For the transport layer, Cryptocat adopts the OMEMO Multi-End Message and Object Encryption standard, which also gives Cryptocat multi-device support and allows for offline messaging. [4]

Network

Cryptocat's network relies on a XMPP configuration served over WebSockets. According to the project's mission statement, Cryptocat's network only relays encrypted messages and does not store any data. [1] In addition to the Cryptocat client's end-to-end encryption protocol, client-server communication is protected by TLS.

Distribution

From March 2011 until March 2016, Cryptocat was officially distributed through the Google Chrome Web Store, the Apple App Store and other official channels controlled by targeted platforms. After Cryptocat's re-write into desktop software in March 2016, the software became distributed exclusively through Cryptocat's own servers, which also handle signed update delivery. [21]

See also

Related Research Articles

<span class="mw-page-title-main">Encryption</span> Process of converting plaintext to ciphertext

In cryptography, encryption is the process of encoding information. This process converts the original representation of the information, known as plaintext, into an alternative form known as ciphertext. Ideally, only authorized parties can decipher a ciphertext back to plaintext and access the original information. Encryption does not itself prevent interference but denies the intelligible content to a would-be interceptor.

Pretty Good Privacy (PGP) is an encryption program that provides cryptographic privacy and authentication for data communication. PGP is used for signing, encrypting, and decrypting texts, e-mails, files, directories, and whole disk partitions and to increase the security of e-mail communications. Phil Zimmermann developed PGP in 1991.

End-to-end encryption (E2EE) is a private communication system in which only communicating users can participate. As such, no one, including the communication system provider, telecom providers, Internet providers or malicious actors, can access the cryptographic keys needed to converse.

Off-the-record Messaging (OTR) is a cryptographic protocol that provides encryption for instant messaging conversations. OTR uses a combination of AES symmetric-key algorithm with 128 bits key length, the Diffie–Hellman key exchange with 1536 bits group size, and the SHA-1 hash function. In addition to authentication and encryption, OTR provides forward secrecy and malleable encryption.

This is a comparison of voice over IP (VoIP) software used to conduct telephone-like voice conversations across Internet Protocol (IP) based networks. For residential markets, voice over IP phone service is often cheaper than traditional public switched telephone network (PSTN) service and can remove geographic restrictions to telephone numbers, e.g., have a PSTN phone number in a New York area code ring in Tokyo.

dm-crypt is a transparent block device encryption subsystem in Linux kernel versions 2.6 and later and in DragonFly BSD. It is part of the device mapper (dm) infrastructure, and uses cryptographic routines from the kernel's Crypto API. Unlike its predecessor cryptoloop, dm-crypt was designed to support advanced modes of operation, such as XTS, LRW and ESSIV, in order to avoid watermarking attacks. In addition to that, dm-crypt addresses some reliability problems of cryptoloop.

Email encryption is encryption of email messages to protect the content from being read by entities other than the intended recipients. Email encryption may also include authentication.

Silent Circle is an encrypted communications firm based in Washington DC. Silent Circle provides multi-platform secure communication services for mobile devices and desktop. Launched October 16, 2012, the company operates under a subscription business model. The encryption part of the software used is free software/open source and peer-reviewed. For the remaining parts of Silent Phone and Silent Text, the source code is available on GitHub, but under proprietary software licenses.

Wickr is an American software company based in New York City, known for its instant messenger application of the same name. The Wickr instant messaging apps allow users to exchange end-to-end encrypted and content-expiring messages, and are designed for iOS, Android, Mac, Windows, and Linux operating systems. Wickr was acquired by Amazon Web Services (AWS) mid-2021 and shut down the free version of the app in December 2023.

<span class="mw-page-title-main">Tox (protocol)</span> Distributed protocol for telephony and instant messaging

Tox is a peer-to-peer instant-messaging and video-calling protocol that offers end-to-end encryption. The stated goal of the project is to provide secure yet easily accessible communication for everyone. A reference implementation of the protocol is published as free and open-source software under the terms of the GNU GPL-3.0-or-later.

TextSecure was an encrypted messaging application for Android that was developed from 2010 to 2015. It was a predecessor to Signal and the first application to use the Signal Protocol, which has since been implemented into WhatsApp and other applications. TextSecure used end-to-end encryption to secure the transmission of text messages, group messages, attachments and media messages to other TextSecure users.

<span class="mw-page-title-main">Open Whisper Systems</span> Open source software organization

Open Whisper Systems was a software development group that was founded by Moxie Marlinspike in 2013. The group picked up the open source development of TextSecure and RedPhone, and was later responsible for starting the development of the Signal Protocol and the Signal messaging app. In 2018, Signal Messenger was incorporated as an LLC by Moxie Marlinspike and Brian Acton and then rolled under the independent 501c3 non-profit Signal Technology Foundation. Today, the Signal app is developed by Signal Messenger LLC, which is funded by the Signal Technology Foundation.

Threema is a paid cross-platform encrypted instant messaging app developed by Threema GmbH in Switzerland and launched in 2012. The service operates on a decentralized architecture and offers end-to-end encryption. Users can make voice and video calls, send photos, files, and voice notes, share locations, and make groups. Unlike many other popular secure messaging apps, Threema does not require phone numbers or email address for registration, only a one-time purchase that can be paid via an app store or anonymously with Bitcoin or cash.

<span class="mw-page-title-main">Signal (messaging app)</span> Privacy-focused encrypted messaging app

Signal is an encrypted messaging service for instant messaging, voice, and video calls. The instant messaging function includes sending text, voice notes, images, videos, and other files. Communication may be one-to-one between users or may involve group messaging.

Peerio was a cross-platform end-to-end encrypted application that provided secure messaging, file sharing, and cloud file storage. Peerio was available as an application for iOS, Android, macOS, Windows, and Linux. Peerio (Legacy) was originally released on 14 January 2015, and was replaced by Peerio 2 on 15 June 2017. The app is discontinued.

In cryptography, the Double Ratchet Algorithm is a key management algorithm that was developed by Trevor Perrin and Moxie Marlinspike in 2013. It can be used as part of a cryptographic protocol to provide end-to-end encryption for instant messaging. After an initial key exchange it manages the ongoing renewal and maintenance of short-lived session keys. It combines a cryptographic so-called "ratchet" based on the Diffie–Hellman key exchange (DH) and a ratchet based on a key derivation function (KDF), such as a hash function, and is therefore called a double ratchet.

The Signal Protocol is a non-federated cryptographic protocol that provides end-to-end encryption for voice and instant messaging conversations. The protocol was developed by Open Whisper Systems in 2013 and was first introduced in the open-source TextSecure app, which later became Signal. Several closed-source applications have implemented the protocol, such as WhatsApp, which is said to encrypt the conversations of "more than a billion people worldwide" or Google who provides end-to-end encryption by default to all RCS-based conversations between users of their Google Messages app for one-to-one conversations. Facebook Messenger also say they offer the protocol for optional Secret Conversations, as does Skype for its Private Conversations.

Wire is an encrypted communication and collaboration app created by Wire Swiss. It is available for iOS, Android, Windows, macOS, Linux, and web browsers such as Firefox. Wire offers a collaboration suite featuring messenger, voice calls, video calls, conference calls, file-sharing, and external collaboration – all protected by a secure end-to-end-encryption. Wire offers three solutions built on its security technology: Wire Pro – which offers Wire's collaboration feature for businesses, Wire Enterprise – includes Wire Pro capabilities with added features for large-scale or regulated organizations, and Wire Red – the on-demand crisis collaboration suite. They also offer Wire Personal, which is a secure messaging app for personal use.

<span class="mw-page-title-main">Keybase</span> Security software

Keybase is a key directory that maps social media identities to encryption keys in a publicly auditable manner. Additionally it offers an end-to-end encrypted chat and cloud storage system, called Keybase Chat and the Keybase Filesystem respectively. Files placed in the public portion of the filesystem are served from a public endpoint, as well as locally from a filesystem mounted by the Keybase client.

<span class="mw-page-title-main">Conversations (software)</span> Free software instant messaging client for the XMPP protocol

Conversations is a free software, instant messaging client application software for Android. It is largely based on recognized open standards such as the Extensible Messaging and Presence Protocol (XMPP) and Transport Layer Security (TLS).

References

  1. 1 2 Cryptocat. "Cryptocat Mission Statement". Archived from the original on 7 April 2016. Retrieved 22 April 2016.
  2. "Cryptocat 3.2.08 Release Notes".
  3. "Cryptocat". crypto.cat. Archived from the original on 18 July 2016. Retrieved 29 March 2016.
  4. 1 2 3 "Cryptocat - Security". crypto.cat. Archived from the original on 7 April 2016. Retrieved 29 March 2016.
  5. "Developer's detention spikes interest in Montreal's Cryptocat". Itbusiness.ca. 8 June 2012. Archived from the original on 29 January 2013. Retrieved 28 July 2012.
  6. Steve Thomas. "DecryptoCat". Archived from the original on 26 July 2015. Retrieved 10 July 2013.
  7. 1 2 Cryptocat Development Blog. "New Critical Vulnerability in Cryptocat: Details". Archived from the original on 5 July 2013. Retrieved 7 July 2013.
  8. https://isecpartners.github.io/publications/iSEC_Cryptocat_iOS.pdf Archived 12 November 2020 at the Wayback Machine [ bare URL PDF ]
  9. Cryptocat. "Recent Audits and Coming Improvements". Archived from the original on 15 October 2014. Retrieved 22 June 2014.
  10. Paletta, Damian (22 February 2016). "How the U.S. Fights Encryption—and Also Helps Develop It". The Wall Street Journal. News Corp. Archived from the original on 19 June 2018. Retrieved 24 February 2016.
  11. "Cryptocat Release Announcement". crypto.cat. Archived from the original on 22 December 2016. Retrieved 22 April 2016.
  12. Cryptocat (5 February 2019). "We are discontinuing the Cryptocat service starting tomorrow. The software is no longer maintained". @cryptocatapp. Archived from the original on 12 December 2021. Retrieved 5 February 2019.
  13. "crypto.cat". 7 November 2019. Archived from the original on 7 November 2019. Retrieved 5 December 2019.
  14. Norton, Quinn (12 May 2014). "Cryptocat Creates an Encrypted, Disposable Chatroom on Any Computer with a Web Browser". The Daily Beast . Archived from the original on 19 June 2014. Retrieved 22 June 2014.
  15. Cryptocat. "Cryptocat, Now with Encrypted Facebook Chat". Archived from the original on 11 November 2014. Retrieved 22 June 2014.
  16. Greenwald, Glenn (13 May 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.
  17. Franceschi-Bicchierai, Lorenzo (21 November 2013). "Iran Blocks Encrypted Chat Service Despite Claims of Internet Freedom". Mashable . Archived from the original on 22 June 2014. Retrieved 22 June 2014.
  18. "Secure Messaging Scorecard. Which apps and tools actually keep your messages safe?". Electronic Frontier Foundation. 4 November 2014. Archived from the original on 15 November 2016. Retrieved 21 April 2016.
  19. "Cryptocat Axolotl Implementation". github.com. Retrieved 22 April 2016.[ permanent dead link ]
  20. "Cryptocat Cryptographic Primitives". github.com. Retrieved 22 April 2016.[ permanent dead link ]
  21. Cryptocat. "Cryptocat Download Server". Archived from the original on 18 January 2019. Retrieved 22 April 2016.

Further reading