Misplaced Pages

Signal Protocol

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

In cryptography , the Double Ratchet Algorithm (previously referred to as the Axolotl Ratchet ) 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.

#686313

28-472: The Signal Protocol (formerly known as the TextSecure 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 introduced in the open-source TextSecure app, which later became Signal . Several closed-source applications have implemented

56-469: A man-in-the-middle attack . An implementation can also choose to employ a trust on first use mechanism in order to notify users if a correspondent's key changes. The Signal Protocol does not prevent a company from retaining information about when and with whom users communicate. There can therefore be differences in how messaging service providers choose to handle this information. Signal's privacy policy states that recipients' identifiers are only kept on

84-618: A "sealed sender" feature into Signal, which reduces the amount of metadata that the Signal servers have access to by concealing the sender's identifier. The sender's identity is conveyed to the recipient in each message, but is encrypted with a key that the server does not have. This is done automatically if the sender is in the recipient's contacts or has access to their Signal Profile. Users can also enable an option to receive "sealed sender" messages from non-contacts and people who do not have access to their Signal Profile. A contemporaneous wiretap of

112-505: A 3-DH handshake. The protocol provides confidentiality, integrity, authentication, participant consistency, destination validation, forward secrecy, backward secrecy (aka future secrecy), causality preservation, message unlinkability, message repudiation, participation repudiation, and asynchronicity. It does not provide anonymity preservation, and requires servers for the relaying of messages and storing of public key material. A client attempts to renew session key material interactively with

140-628: A Double Ratchet Algorithm implementation. The developers of Wire have said that their app uses a custom implementation of the Double Ratchet Algorithm. Messaging Layer Security , an IETF proposal, uses Asynchronous ratcheting trees to efficiently improve upon security guarantees over Signal's Double Ratchet . Signal Messenger maintains a reference implementation of the Signal Protocol library written in Rust under

168-592: A compromise of the secret persistent main key, and plausible deniability for the authorship of messages. Additionally, it enables session key renewal without interaction with the remote peer by using secondary KDF ratchets. An additional key-derivation step is taken to enable retaining session keys for out-of-order messages without endangering the following keys. It is said to detect reordering, deletion, and replay of sent messages, and improve forward secrecy properties against passive eavesdropping in comparison to OTR messaging. Combined with public key infrastructure for

196-427: A long time: encryption of contents on the entire way of transport as well as authentication of the remote peer and protection against manipulation of messages. As a hybrid of DH and KDF ratchets, it combines several desired features of both principles. From OTR messaging it takes the properties of forward secrecy and automatically reestablishing secrecy in case of compromise of a session key, forward secrecy with

224-474: A new feature, WhatsApp Status, which uses the Signal Protocol to secure its contents. In October 2016, WhatsApp's parent company Facebook also deployed an optional mode called Secret Conversations in Facebook Messenger which provides end-to-end encryption using an implementation of the Signal Protocol. In September 2015, G Data Software launched a new messaging app called Secure Chat which used

252-610: A partnership with WhatsApp to provide end-to-end encryption by incorporating the Signal Protocol into each WhatsApp client platform. Open Whisper Systems said that they had already incorporated the protocol into the latest WhatsApp client for Android and that support for other clients, group/media messages, and key verification would be coming soon after. On April 5, 2016, WhatsApp and Open Whisper Systems announced that they had finished adding end-to-end encryption to "every form of communication" on WhatsApp, and that users could now verify each other's keys. In February 2017, WhatsApp announced

280-707: Is named. The Double Ratchet Algorithm was developed by Trevor Perrin and Moxie Marlinspike ( Open Whisper Systems ) in 2013 and introduced as part of the Signal Protocol in February 2014. The Double Ratchet Algorithm's design is based on the DH ratchet that was introduced by Off-the-Record Messaging (OTR) and combines it with a symmetric-key ratchet modeled after the Silent Circle Instant Messaging Protocol (SCIMP). The ratchet

308-458: The AGPLv3 license on GitHub . There are bindings to Swift, Java, TypeScript, C, and other languages that use the reference Rust implementation. Signal maintained the following deprecated libraries: There also exist alternative libraries written by third-parties in other languages, such as TypeScript . Federation (information technology) Too Many Requests If you report this error to

SECTION 10

#1732791194687

336-559: The Double Ratchet Algorithm , prekeys, and a triple Elliptic-curve Diffie–Hellman (3-DH) handshake, and uses Curve25519 , AES-256 , and HMAC-SHA256 as primitives . The development of the Signal Protocol was started by Trevor Perrin and Moxie Marlinspike (Open Whisper Systems) in 2013. The first version of the protocol, TextSecure v1, was based on Off-the-record messaging (OTR). On 24 February 2014, Open Whisper Systems introduced TextSecure v2, which migrated to

364-553: The Axolotl Ratchet. The design of the Axolotl Ratchet is based on the ephemeral key exchange that was introduced by OTR and combines it with a symmetric-key ratchet modeled after the Silent Circle Instant Messaging Protocol (SCIMP). It brought about support for asynchronous communication ("offline messages") as its major new feature, as well as better resilience with distorted order of messages and simpler support for conversations with multiple participants. The Axolotl Ratchet

392-688: The Signal Protocol. G Data discontinued the service in May 2018. In September 2016, Google launched a new messaging app called Allo , which featured an optional Incognito Mode that used the Signal Protocol for end-to-end encryption. In March 2019, Google discontinued Allo in favor of their Google Messages app on Android. In November 2020, Google announced that they would be using the Signal Protocol to provide end-to-end encryption by default to all RCS -based conversations between users of their Google Messages app, starting with one-to-one conversations. In January 2018, Open Whisper Systems and Microsoft announced

420-434: The Signal servers as long as necessary in order to transmit each message. In June 2016, Moxie Marlinspike told The Intercept : "the closest piece of information to metadata that the Signal server stores is the last time each user connected to the server, and the precision of this information is reduced to the day, rather than the hour, minute, and second." In October 2018, Signal Messenger announced that they had implemented

448-493: The Wikimedia System Administrators, please include the details below. Request from 172.68.168.150 via cp1114 cp1114, Varnish XID 974162588 Upstream caches: cp1114 int Error: 429, Too Many Requests at Thu, 28 Nov 2024 10:53:14 GMT Double Ratchet Algorithm The algorithm provides forward secrecy for messages, and implicit renegotiation of forward keys; properties for which the protocol

476-448: The addition of Signal Protocol support to an optional Skype mode called Private Conversations. The Signal Protocol has had an influence on other cryptographic protocols. In May 2016, Viber said that their encryption protocol is a custom implementation that "uses the same concepts" as the Signal Protocol. Forsta's developers have said that their app uses a custom implementation of the Signal Protocol. The Double Ratchet Algorithm that

504-496: The protocol, concluding that the protocol was cryptographically sound. Another audit of the protocol was published in 2017. The protocol provides confidentiality, integrity, authentication , participant consistency, destination validation, forward secrecy , post-compromise security (aka future secrecy), causality preservation, message unlinkability, message repudiation , participation repudiation, and asynchronicity. It does not provide anonymity preservation and requires servers for

532-444: 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. The protocol combines

560-453: The ratchet and the full protocol because some had used the name Axolotl when referring to the full protocol. As of October 2016, the Signal Protocol is based on TextSecure v3, but with additional cryptographic changes. In October 2016, researchers from the UK's University of Oxford , Australia's Queensland University of Technology , and Canada's McMaster University published a formal analysis of

588-695: The relaying of messages and storing of public key material. The Signal Protocol also supports end-to-end encrypted group chats. The group chat protocol is a combination of a pairwise double ratchet and multicast encryption . In addition to the properties provided by the one-to-one protocol, the group chat protocol provides speaker consistency, out-of-order resilience, dropped message resilience, computational equality, trust equality, subgroup messaging, as well as contractible and expandable membership. For authentication, users can manually compare public key fingerprints through an outside channel. This makes it possible for users to verify each other's identities and avoid

SECTION 20

#1732791194687

616-405: The remote peer using a Diffie-Hellman (DH) ratchet. If this is impossible, the clients renew the session key independently using a hash ratchet. With every message, a client advances one of two hash ratchets—one for sending and one for receiving. These two hash ratchets get seeded with a common secret from a DH ratchet. At the same time it tries to use every opportunity to provide the remote peer with

644-407: The retention of pregenerated one-time keys (prekeys), it allows for the initialization of messaging sessions without the presence of the remote peer ( asynchronous communication ). The usage of triple Diffie–Hellman key exchange (3-DH) as initial key exchange method improves the deniability properties. An example of this is the Signal Protocol, which combines the Double Ratchet Algorithm, prekeys, and

672-411: The user's device and/or the Signal servers may still reveal that the device's IP address accessed a Signal server to send or receive messages at certain times. Open Whisper Systems first introduced the protocol in application TextSecure . They later merged an encrypted voice call application named RedPhone into TextSecure and renamed it Signal . In November 2014, Open Whisper Systems announced

700-491: The wire protocol. In October 2014, researchers from Ruhr University Bochum published an analysis of TextSecure v3. Among other findings, they presented an unknown key-share attack on the protocol, but in general, they found that it was secure. In March 2016, the developers renamed the protocol as the Signal Protocol. They also renamed the Axolotl Ratchet as the Double Ratchet algorithm to better differentiate between

728-493: Was initially named after the critically endangered aquatic salamander axolotl , which has extraordinary self-healing capabilities. In March 2016, the developers renamed the Axolotl Ratchet as the Double Ratchet Algorithm to better differentiate between the ratchet and the full protocol, because some had used the name Axolotl when referring to the Signal Protocol. The Double Ratchet Algorithm features properties that have been commonly available in end-to-end encryption systems for

756-614: Was introduced as part of the Signal Protocol has also been adopted by other protocols. OMEMO is an XMPP Extension Protocol (XEP) that was introduced in the Conversations messaging app and approved by the XMPP Standards Foundation (XSF) in December 2016 as XEP-0384. Matrix is an open communications protocol that includes Olm, a library that provides optional end-to-end encryption on a room-by-room basis via

784-419: Was named after the critically endangered aquatic salamander Axolotl , which has extraordinary self-healing capabilities. The developers refer to the algorithm as self-healing because it automatically disables an attacker from accessing the cleartext of later messages after having compromised a session key . The third version of the protocol, TextSecure v3, made some changes to the cryptographic primitives and

#686313