CryptoDB
Joël Alwen
Publications
Year
Venue
Title
2024
EUROCRYPT
Updatable Public Key Encryption, Revisited
Abstract
We revisit Updatable Public-Key Encryption (UPKE), which was introduced as a practical mechanism for building forward-secure cryptographic protocols. We begin by observing that all UPKE notions to date are neither syntactically flexible nor secure enough for the most important multi-party protocols motivating UPKE. We provide an intuitive taxonomy of UPKE properties -- some partially or completely overlooked in the past -- along with an overview of known (explicit and implicit) UPKE constructions. We then introduce a formal UPKE definition capturing all intuitive properties needed for multi-party protocols.
Next, we provide a practical pairing-based construction for which we provide concrete bounds under a standard assumption in the random oracle and the algebraic group model. The efficiency profile of the scheme compares very favorably with existing UPKE constructions (despite the added flexibility and stronger security). For example, when used to improve the forward security of the Messaging Layer Security protocol [RFC9420], our new UPKE construction requires less than 1.5% of the bandwidth of the next-most efficient UPKE construction satisfying the strongest UPKE notion considered so far.
2023
CRYPTO
Fork-Resilient Continuous Group Key Agreement
Abstract
Continuous Group Key Agreement (CGKA) lets a evolving group of clients agree
on a sequence of group keys.
An important application of CGKA is scalable asynchronous end-to-end (E2E)
encrypted group messaging.
A major problem preventing the use of CGKA over unreliable infrastructure are
so-called forks. A fork occurs when group members have diverging views
of the group's history (and thus its current state); e.g. due to network or
server failures. Once communication channels are restored, members
resolve a fork by agreeing on the state of the group again. Today's
CGKA protocols make fork resolution challenging, as natural resolution
strategies seem to conflict with the way the protocols enforce group state
agreement and forward secrecy. Meanwhile, secure group messaging
protocols which do support fork resolution do not scale nearly as well as
CGKA does.
In this work, we pave the way to practical scalable E2E messaging over
unreliable infrastructure. To that end, we generalize CGKA to Fork
Resilient-CGKA which allows clients to process significantly more types of
out-of-order network traffic. This is important for many natural fork
resolution procedures as they are based, in part, on replaying missed
traffic. Next, we give two FR-CGKA constructions: a practical one based on
the CGKA underlying the MLS messaging standard and an optimally secure one
(albeit with only theoretical efficiency). To further assist with fork
resolution, we introduce a simple new abstraction to describe a client's
local protocol state. The abstraction describes all and only the information
relevant to natural fork resolution, making it easier for higher-level fork
resolution procedures to work with and reason about. We define a black-box
extension of an FR-CGKA which maintains such a description of a client's
internal state. Finally, as a proof of concept, we give a basic fork
resolution protocol.
2023
ASIACRYPT
The Pre-Shared Key Modes of HPKE
Abstract
The Hybrid Public Key Encryption (HPKE) standard was
recently published as RFC 9180 by the Crypto Forum Research Group
(CFRG) of the Internet Research Task Force (IRTF). The RFC specifies
an efficient public key encryption scheme, combining asymmetric and
symmetric cryptographic building blocks.
Out of HPKE’s four modes, two have already been formally analyzed by
Alwen et al. (EUROCRYPT 2021). This work considers the remaining
two modes: HPKE_PSK and HPKE_AuthPSK. Both of them are “pre-shared
key” modes that assume the sender and receiver hold a symmetric pre-
shared key. We capture the schemes with two new primitives which we
call pre-shared key public-key encryption (pskPKE) and pre-shared key
authenticated public-key encryption (pskAPKE). We provide formal secu-
rity models for pskPKE and pskAPKE and prove (via general composition
theorems) that the two modes HPKE_PSK and HPKE_AuthPSK offer active
security (in the sense of insider privacy and outsider authenticity) under
the Gap Diffie-Hellman assumption.
We furthermore explore possible post-quantum secure instantiations of the
HPKE standard and propose new solutions based on lattices and isogenies.
Moreover, we show how HPKE’s basic HPKE_PSK and HPKEAuth_PSK modes
can be used black-box in a simple way to build actively secure post-
quantum/classic-hybrid (authenticated) encryption schemes. Our hybrid
constructions provide a cheap and easy path towards a practical post-
quantum secure drop-in replacement for the basic HPKE modes HPKE_Base
and HPKE_Auth.
2022
EUROCRYPT
CoCoA: Concurrent Continuous Group Key Agreement
📺
Abstract
Messaging platforms like Signal are widely deployed and provide strong security in an asynchronous setting. It is a challenging problem to construct a protocol with similar security guarantees that can \emph{efficiently} scale to large groups. A major bottleneck are the frequent key rotations users need to perform to achieve post compromise forward security.
In current proposals -- most notably in TreeKEM (which is part of the IETF's Messaging Layer Security (MLS) protocol draft) -- for users in a group of size $n$ to rotate their keys, they must each craft a message of size $\log(n)$ to be broadcast to the group using an (untrusted) delivery server.
In larger groups, having users sequentially rotate their keys requires too much bandwidth (or takes too long), so variants allowing any $T \leq n$ users to simultaneously rotate their keys in just $2$ communication rounds have been suggested (e.g.\ ``Propose and Commit" by MLS). Unfortunately, $2$-round concurrent updates are either damaging or expensive (or both); i.e.\ they either result in future operations being more costly (e.g.\ via ``blanking'' or ``tainting'') or are costly themselves requiring $\Omega(T)$ communication for each user [Bienstock et al., TCC'20].
In this paper we propose CoCoA; a new scheme that allows for $T$ concurrent updates that are neither damaging nor costly. That is, they add no cost to future operations yet they only require $\Omega(\log^2(n))$ communication per user. To circumvent the [Bienstock et al.] lower bound, CoCoA increases the number of rounds needed to complete all updates from $2$ up to (at most) $\log(n)$; though typically fewer rounds are needed.
The key insight of our protocol is the following: in the (non-concurrent version of) TreeKEM, a delivery server which gets $T$ concurrent update requests will approve one and reject the remaining $T-1$. In contrast, our server attempts to apply all of them. If more than one user requests to rotate the same key during a round, the server arbitrarily picks a winner. Surprisingly, we prove that regardless of how the server chooses the winners, all previously compromised users will recover after at most $\log(n)$ such update rounds.
To keep the communication complexity low, CoCoA is a server-aided CGKA. That is, the delivery server no longer blindly forwards packets, but instead actively computes individualized packets tailored to each user. As the server is untrusted, this change requires us to develop new mechanisms ensuring robustness of the protocol.
2022
CRYPTO
On the Insider Security of MLS
📺
Abstract
The Messaging Layer Security (MLS) protocol is an open standard for end-to-end (E2E) secure group messaging being developed by the IETF, poised for deployment to consumers, industry, and government. It is designed to provide E2E privacy and authenticity for messages in long-lived sessions whenever possible, despite the participation (at times) of malicious insiders that can adaptively interact with the PKI at will, actively deviate from the protocol, leak honest parties' states, and fully control the network.
The core of the MLS protocol (from which it inherits essentially all of its efficiency and security properties) is a Continuous Group Key Agreement (CGKA) protocol. It provides asynchronous E2E group management by allowing group members to agree on a fresh independent symmetric key after every change to the group's state (e.g. when someone joins/leaves the group).
In this work, we make progress towards a precise understanding of the insider security of MLS (Draft 12). On the theory side, we overcome several subtleties to formulate the first notion of insider security for CGKA (or group messaging). Next, we isolate the core components of MLS to obtain a CGKA protocol we dub Insider Secure TreeKEM (ITK). Finally, we give a rigorous security proof for ITK. In particular, this work also initiates the study of insider secure CGKA and group messaging protocols.
Along the way we give three new (very practical) attacks on MLS and corresponding fixes. (Those fixes have now been included into the standard.) We also describe a second attack against MLS-like CGKA protocols proven secure under all previously considered security notions (including those designed specifically to analyze MLS). These attacks highlight the pitfalls in simplifying security notions even in the name of tractability.
2021
EUROCRYPT
Analysing the HPKE Standard
📺
Abstract
The Hybrid Public Key Encryption (HPKE) scheme is an emerging standard currently under consideration by the Crypto Forum Research Group (CFRG) of the IETF as a candidate for formal approval. Of the four modes of HPKE, we analyse the authenticated mode HPKE_Auth in its single-shot encryption form as it contains what is, arguably, the most novel part of HPKE.
HPKE_Auth’s intended application domain is captured by a new primitive which we call Authenticated Public Key Encryption (APKE). We provide syntax and security definitions for APKE schemes, as well as for the related Authenticated Key Encapsulation Mechanisms (AKEMs). We prove security of the AKEM scheme DH-AKEM underlying HPKE Auth based on the Gap Diffie-Hellman assumption and provide general AKEM/DEM composition theorems with which to argue about HPKE_Auth’s security. To this end, we also formally analyse HPKE_Auth’s key schedule and key derivation functions. To increase confidence in our results we use the automatic theorem proving tool CryptoVerif. All our bounds are quantitative and
we discuss their practical implications for HPKE_Auth.
As an independent contribution we propose the new framework of nominal groups that allows us to capture abstract syntactical and security properties of practical elliptic curves, including the Curve25519 and Curve448 based groups (which do not constitute cyclic groups).
2021
TCC
Grafting Key Trees: Efficient Key Management for Overlapping Groups
📺
Abstract
Key trees are often the best solution in terms of transmission cost and storage requirements for managing keys in a setting where a group needs to share a secret key, while being able to efficiently rotate the key material of users (in order to recover from a potential compromise, or to add or remove users). Applications include multicast encryption protocols like LKH (Logical Key Hierarchies) or group messaging like the current IETF proposal TreeKEM.
A key tree is a (typically balanced) binary tree, where each node is identified with a key: leaf nodes hold users’ secret keys while the root is the shared group key. For a group of size N, each user just holds log(N) keys (the keys on the path from its leaf to the root) and its entire key material can be rotated by broadcasting 2log(N) ciphertexts (encrypting each fresh key on the path under the keys of its parents). In this work we consider the natural setting where we have many groups with partially overlapping sets of users, and ask if we can find solutions where the cost of rotating a key is better than in the trivial
one where we have a separate key tree for each group.
We show that in an asymptotic setting (where the number m of groups is fixed while the number N of users grows) there exist more general key graphs whose cost converges to the cost of a single group, thus saving a factor linear in the number of groups over the trivial solution.
As our asymptotic “solution” converges very slowly and performs poorly on concrete examples, we propose an algorithm that uses a natural heuristic to compute a key graph for any given group structure. Our algorithm combines two greedy algorithms, and is thus very efficient: it first converts the group
structure into a “lattice graph”, which then is turned into a key graph by repeatedly applying the algorithm for constructing a Huffman code.
To better understand how far our proposal is from an optimal solution, we prove lower bounds on the update cost of continuous group-key agreement and multicast encryption in a symbolic model admitting (asymmetric) encryption, pseudorandom generators, and secret sharing as building blocks.
2020
CRYPTO
Security Analysis and Improvements for the IETF MLS Standard for Group Messaging
📺
Abstract
Secure messaging (SM) protocols allow users to communicate securely
over untrusted infrastructure. In contrast to most other secure
communication protocols (such as TLS, SSH, or Wireguard), SM
sessions may be long-lived (e.g., years) and highly asynchronous.
In order to deal with likely state compromises of users during the
lifetime of a session, SM protocols do not only protect authenticity
and privacy, but they also guarantee forward secrecy (FS) and
post-compromise security (PCS). The former ensures that
messages sent and received before a state compromise remain secure,
while the latter ensures that users can recover from state
compromise as a consequence of normal protocol usage.
SM has received considerable attention in the two-party
case, where prior work has studied the well-known double-ratchet
paradigm, in particular, and SM as a cryptographic primitive, in
general. Unfortunately, this paradigm does not scale well to the
problem of secure group messaging (SGM). In order to address
the lack of satisfactory SGM protocols, the IETF has launched the
message-layer security (MLS) working group, which aims to
standardize an eponymous SGM protocol.
In this work we analyze the TreeKEM protocol, which is at the
core of the SGM protocol proposed by the MLS working group.
On a positive note, we show that TreeKEM achieves PCS in isolation
(and slightly more). However, we observe that the current version
of TreeKEM does not provide an adequate form of FS. More precisely,
our work proceeds by formally capturing the exact security of
TreeKEM as a so-called continuous group key agreement (CGKA)
protocol, which we believe to be a primitive of independent
interest. To address the insecurity of TreeKEM, we propose a simple
modification to TreeKEM inspired by recent work of Jost et al.
(EUROCRYPT '19) and an idea due to Kohbrok (MLS Mailing List). We
then show that the modified version of TreeKEM comes with almost no
efficiency degradation but achieves optimal (according to MLS
specification) CGKA security, including FS and PCS. Our work also
lays out how a CGKA protocol can be used to design a full SGM
protocol.
2020
TOSC
Beyond-Birthday-Bound Security for 4-round Linear Substitution-Permutation Networks
📺
Abstract
Recent works of Cogliati et al. (CRYPTO 2018) have initiated provable treatments of Substitution-Permutation Networks (SPNs), one of the most popular approach to construct modern blockciphers. Such theoretical SPN models may employ non-linear diffusion layers, which enables beyond-birthday-bound provable security. Though, for the model of real world blockciphers, i.e., SPN models with linear diffusion layers, existing provable results are capped at birthday security up to $2^{n/2}$ adversarial queries, where $n$ is the size of the idealized S-boxes.
In this paper, we overcome this birthday barrier and prove that a 4-round SPN with linear diffusion layers and independent round keys is secure up to $2^{2n/3}$ queries. For this, we identify conditions on the linear layers that are sufficient for such security, which, unsurprisingly, turns out to be slightly stronger than Cogliati et al.'s conditions for birthday security. These provides additional theoretic supports for real world SPN blockciphers.
2020
TCC
Continuous Group Key Agreement with Active Security
📺
Abstract
A continuous group key agreement (CGKA) protocol allows a long-lived group
of parties to agree on a continuous stream of fresh secret key material. CGKA protocols allow parties to join and leave mid-session but may neither rely on special group managers, trusted third parties, nor on any assumptions about if, when, or for how long members are online.
CGKA captures the core of an emerging generation of highly practical end-to-end secure group messaging (SGM) protocols.
In light of their practical origins, past work on CGKA protocols have been subject to stringent engineering and efficiency constraints at the cost of diminished security properties. In this work, we somewhat relax those constraints, instead considering progressively more powerful adversaries.
To that end, we present 3 new security notions of increasing strength. Already the weakest of the 3 (passive security) captures attacks to which all prior CGKA constructions are vulnerable. Moreover, the 2 stronger (active security) notions even allow the adversary to use parties' exposed states combined with full network control to mount attacks. In particular, this is closely related to so-called insider attacks which involve malicious group members actively deviating from the protocol.
Although insiders are of explicit interest to practical CGKA/SGM designers, our understanding of this class of attackers is still quite nascent.
Indeed, we believe ours to be the first security notions in the literature to precisely formulate meaningful guarantees against (a broad class of) insiders.
For each of the 3 new security notions we give a new CGKA scheme enjoying sub-linear (potentially even logarithmic) communication complexity in the number of group members (on par with the asymptotics of state-of-the-art practical constructions). We prove each scheme optimally secure, in the sense that the only security violations possible are those necessarily implied by correctness.
2019
EUROCRYPT
The Double Ratchet: Security Notions, Proofs, and Modularization for the Signal Protocol
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.
2016
EUROCRYPT
Program Committees
- Eurocrypt 2022
- Eurocrypt 2021
- TCC 2019
- Eurocrypt 2018
- PKC 2016
- TCC 2015
- Eurocrypt 2014
Coauthors
- Hamza Abusalah (1)
- Joël Alwen (26)
- Benedikt Auerbach (2)
- Mirza Ahad Baig (1)
- Bruno Blanchet (1)
- Jeremiah Blocki (3)
- Binyi Chen (2)
- Bram Cohen (1)
- Sandro Coretti (3)
- Yevgeniy Dodis (4)
- Georg Fuchsbauer (1)
- Yansong Gao (1)
- Chun Guo (1)
- Eduard Hauck (1)
- Jonas Janneck (1)
- Daniel Jost (2)
- Chethan Kamath (1)
- Jonathan Katz (2)
- Danylo Khilko (1)
- Eike Kiltz (2)
- Karen Klein (2)
- Vladimir Kolmogorov (1)
- Stephan Krenn (1)
- Yehuda Lindell (1)
- Benjamin Lipp (2)
- Ueli Maurer (1)
- Marta Mularczyk (4)
- Moni Naor (1)
- Miguel Cueto Noval (2)
- Rafail Ostrovsky (1)
- Guillermo Pascual-Perez (2)
- Giuseppe Persiano (2)
- Krzysztof Pietrzak (8)
- Leonid Reyzin (2)
- Doreen Riepel (1)
- Gil Segev (1)
- Abhi Shelat (2)
- Björn Tackmann (1)
- Stefano Tessaro (2)
- Yiannis Tselekounis (2)
- Ivan Visconti (3)
- Shabsi Walfish (1)
- Michael Walter (2)
- Weijia Wang (1)
- Meiqin Wang (1)
- Daniel Wichs (3)
- Hong-Sheng Zhou (1)
- Vassilis Zikas (2)