Paper 2018/1037
The Double Ratchet: Security Notions, Proofs, and Modularization for the Signal Protocol
Joël Alwen, Sandro Coretti, and Yevgeniy Dodis
Abstract
Signal is a famous secure messaging protocol used by billions of people, by virtue of many secure text messaging applications including Signal itself, WhatsApp, Facebook Messenger, Skype, and Google Allo. At its core it uses the concept of "double ratcheting," where every message is encrypted and authenticated using a fresh symmetric key; it has many attractive properties, such as forward security, post-compromise security, and "immediate (no-delay) decryption," which had never been achieved in combination by prior messaging protocols. While the formal analysis of the Signal protocol, and ratcheting in general, has attracted a lot of recent attention, we argue that none of the existing analyses is fully satisfactory. To address this problem, we give a clean and general definition of secure messaging, which clearly indicates the types of security we expect, including forward security, post-compromise security, and immediate decryption. We are the first to explicitly formalize and model the immediate decryption property, which implies (among other things) that parties seamlessly recover if a given message is permanently lost---a property not achieved by any of the recent "provable alternatives to Signal." We build a modular "generalized Signal protocol" from the following components: (a) continuous key agreement (CKA), a clean primitive we introduce and which can be easily and generically built from public-key encryption (not just Diffie-Hellman as is done in the current Signal protocol) and roughly models "public-key ratchets;" (b) forward-secure authenticated encryption with associated data (FS-AEAD), which roughly captures "symmetric-key ratchets;" and (c) a two-input hash function that is a pseudorandom function (resp. generator with input) in its first (resp. second) input, which we term PRF-PRNG. As a result, in addition to instantiating our framework in a way resulting in the existing, widely-used Diffie-Hellman based Signal protocol, we can easily get post-quantum security and not rely on random oracles in the analysis. We further show that our design can be elegantly extended to include other forms of "fine-grained state compromise" recently studied at CRYPTO'18, but without sacrificing the immediate decryption property. However, we argue that the additional security offered by these modifications is unlikely to justify the efficiency hit of using much heavier public-key cryptography in place of symmetric-key cryptography.
Metadata
- Available format(s)
- Category
- Cryptographic protocols
- Publication info
- A major revision of an IACR publication in EUROCRYPT 2019
- Keywords
- Signal protocoldouble ratchetingsecure messagingmodularizationpost-quantum security
- Contact author(s)
- corettis @ gmail com
- History
- 2020-02-21: last of 11 revisions
- 2018-10-30: received
- See all versions
- Short URL
- https://ia.cr/2018/1037
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2018/1037, author = {Joël Alwen and Sandro Coretti and Yevgeniy Dodis}, title = {The Double Ratchet: Security Notions, Proofs, and Modularization for the Signal Protocol}, howpublished = {Cryptology {ePrint} Archive, Paper 2018/1037}, year = {2018}, url = {https://eprint.iacr.org/2018/1037} }