Re: [MLS] Deniability without pairwise channels.

Natanael <natanael.l@gmail.com> Sun, 26 January 2020 15:09 UTC

Return-Path: <natanael.l@gmail.com>
X-Original-To: mls@ietfa.amsl.com
Delivered-To: mls@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8E360120096 for <mls@ietfa.amsl.com>; Sun, 26 Jan 2020 07:09:29 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id f8XCb5oQqjrd for <mls@ietfa.amsl.com>; Sun, 26 Jan 2020 07:09:27 -0800 (PST)
Received: from mail-ua1-x931.google.com (mail-ua1-x931.google.com [IPv6:2607:f8b0:4864:20::931]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0C48120091 for <mls@ietf.org>; Sun, 26 Jan 2020 07:09:26 -0800 (PST)
Received: by mail-ua1-x931.google.com with SMTP id a12so2575820uan.0 for <mls@ietf.org>; Sun, 26 Jan 2020 07:09:26 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=p8ML645983zrHpAcCJ//ql99uj1MFqmycIIXh8mDISA=; b=tWnlgLCb6/auz+3R1PklavdxFnpE6Yf8Bx9MMKeFZLhKsNTCotvC5VBWPKDlK99cQC M6up+fW9VODL/Ymsxzj0ZhC1pXqYrZT0git1E5KzwnXuE9q/CEyGHD9b5Skw08wZbp63 Snh0DhOBIdhei0GWDPbyUElp+0I5tE/cKJD07P1AOC8VP57kZiorZm9eg/GPWvGbC+F8 eZT9lsjVWFBqB6XJXqNO0Rm8LPaEAwHbjjusUj4/8Ny3SyDBcxfPqH11VXwLqpknPdC5 w78mEUuNPa/Jv+mLX7Gu0yK3+EoxQ/KtH+LV31Ck+nv2aZhJp0rBQwsisfxAZV+yTIaO KGsw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=p8ML645983zrHpAcCJ//ql99uj1MFqmycIIXh8mDISA=; b=n69NkFX+MOGz265BdtjHIP0dhTtadZ7M+Mw+i5HpMszMmOyBXcaccAX59nDpMCRtVD JDVLfnjND+2zFgH//EN8CHuF3mt6cSGnotOsqQo47NBRdAjWcTxWEwLHyi/K0mdXO43k tm2H47SzXXYbG6m3+xQNUouB3iJUqJ8Nz+erVl/BXBRcjKWgerMcY2e9bnAyaH/OJRwB NI3ZjVNS1qJ/AX0BKr4jmgWgnOU7GXIOw86+pZYf4y4yL3k4ZMETKSjnfEtD80kQHh5p HZNL1FP8nJRuJ2yEwC5fZr6TE0kTla+hcBjVozUUjRUZa9wrCQdx5N0UlRQ99CanI0uH 77Fg==
X-Gm-Message-State: APjAAAXoy/91i0E/r5QDCV17tJOd31zG6reGxMW4UEy7Ioc6a3NXZQYu tvuO0EJ9N44Apwq7JRD0LC62JO2S0pnQHFojBmc=
X-Google-Smtp-Source: APXvYqwtE+Ov6QW6cBNzEdbml7BCFugJ/CS9AxU34mlskbKMVnymViVxRVtvNowtXj2Sx/i4JGCgar/wEYTK/h59bmw=
X-Received: by 2002:ab0:74ce:: with SMTP id f14mr7210133uaq.118.1580051365768; Sun, 26 Jan 2020 07:09:25 -0800 (PST)
MIME-Version: 1.0
References: <42f46da8-aca8-d63c-4672-e06bd84f8e5f@hall-andersen.dk> <C1D0D1E5-C107-487D-B302-63048109492E@wire.com> <696cb206-a261-e44b-3cce-2a157641fd68@riseup.net> <b26db4a2-2d31-7f5c-36ec-053d1d382e14@riseup.net>
In-Reply-To: <b26db4a2-2d31-7f5c-36ec-053d1d382e14@riseup.net>
From: Natanael <natanael.l@gmail.com>
Date: Sun, 26 Jan 2020 16:09:09 +0100
Message-ID: <CAAt2M19J_4NJoDibgzu5DZ9T+7e=7q+ruOcyqOTNXLdUxkj+xw@mail.gmail.com>
To: =?UTF-8?Q?Sof=C3=ADa_Celi?= <cherenkov@riseup.net>
Cc: mls@ietf.org
Content-Type: multipart/alternative; boundary="000000000000623163059d0c6049"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/BrTL04CvWAxaFMGW11oyW69PYwk>
Subject: Re: [MLS] Deniability without pairwise channels.
X-BeenThere: mls@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Messaging Layer Security <mls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mls>, <mailto:mls-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mls/>
List-Post: <mailto:mls@ietf.org>
List-Help: <mailto:mls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mls>, <mailto:mls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 26 Jan 2020 15:09:30 -0000

I have previously suggested a method for deniable authentication using a
VDF (verifiable delay function);

This variant of deniable authentication would use a VDF construction with a
private key based shortcut function (like a PKE / VDF hybrid function),
implementing a challenge-response protocol where the verifier uses the
prover's public key to construct a challenge which only the prover can
immediately respond correctly to, but where the correct response value will
also automatically become public later on (since anybody can solve the VDF,
but not fast enough).

See more here: https://www.reddit.com/r/crypto/comments/bt7cq4

This construction provides authentication trough latency / provenance /
time asymmetry - as the verifier you know that you just constructed the
challenge with fresh randomness, and you know that only the private key
holder can respond before the timeout, while anybody else will be unable to
reply before the timeout / expiration of the challenge.

For example, a correct reply within a second when the VDF takes at minimum
an hour to solve is a certain proof of authentication.

This also means a genuine live session is indistinguishable from a forged
live session, since you can trivially pre-compute inauthentic replies to
your own arbitary challenges.

For example, Alice and Bob can authenticate to each other in a live genuine
session while Carol and Dave can simultaneously conspire together to
pretend to be Alice and Bob in their own separate inauthentic session. Eve
can not distinguish between these two sessions even when watching the
traffic live, because Eve don't know how the respective challenges were
chosen (fresh or pre-computed).

This should at minimum be an improvement over ring signatures (there's no
longer a limited group of possible provers), and many similar
constructions. The inherent automatic disclosure via the VDF is also an
improvement over manual MAC disclosure, and the prover does not otherwise
need to actively take action to disassociate themselves from the session
contents.

It would also be KCI attack resistant, since since disclosure of your
private key does not impact your ability to securely verify other's
responses to your challenges.

Note 1: I have not currently worked out how to best solve session binding,
this may vary between different protocols and VDF primitive. You need to
bind to session ID:s / session keys in some way. Perhaps by introducing
them as variables in the VDF construction.

Note 2: I don't currently know of a specific VDF primitive that would be
suitable for this. If there's no VDF construction that can do this
stand-alone, then this can still be done in a less elegant manner by
constructing the challenge message as a trio of VDF encrypted challenge,
public key encrypted challenge, and a Zero-knowledge proof that show the
two are equivalent.

The prover verifies equivalence first and then decrypt and returns the
challenge value, while the VDF still serves as a way to ensure the
transcript proves nothing after the fact.

Den fre 24 jan. 2020 02:47Sofía Celi <cherenkov@riseup.net>; skrev:

> I forgot to include paper [3]
>
> 3. http://www.jbonneau.com/doc/BM06-OTR_v2_analysis.pdf
>
> Thanks!
>
> On 1/23/20 8:42 PM, Sofía Celi wrote:
> > Hello!
> >
> > Very interesting insight!
> >
> >> What has become clearer in some of the discussion is that a “sign &
> reveal” scheme puts the burden of proof on the victim to some (large)
> extent. The attacker can publish a signature chain that starts with the
> public identity of the victim and ends with the signature of a specific
> message. This signature chain will most likely look valid to a third party
> at first sight. It then becomes the duty of the victim to prove that they
> indeed published secret keys and that therefore anyone could have signed
> the last part in the signature chain. For the victim, this is painful at
> best and impossible at worst. It would be much nicer if the attacker
> couldn’t publish such a signature chain in the first place.
> >
> > The "sign & reveal" mechanism is something that can be considered coming
> > from OTR, because in it you reveal the MAC keys. But the idea, since the
> > first paper of OTR[1] was to use the revelation of keys as an additional
> > measure to expand the set of possible message forgers. Message
> > unlinkability and deniability was provided in some previous version of
> > OTR by using MAC keys instead of long-term keys for signing messages.
> > OTR even provides a stronger notion for it by also using malleable
> > encryption so anyone can forge a message. So only revealing keys is not
> > enough to achieve strong offline deniability. OTR also used an
> > authenticated key exchange where conversation partners are able to reuse
> > ephemeral keys signed by the other party in forged transcripts, thereby
> > providing partial participation repudiation. This insight by Trevor
> > Perrin is nice to read[2]
> >
> >
> > It depends on what kind of notions of deniability want to be provided.
> >
> >> There might be another problem, regarding synchronicity: since MLS is
> > completely asynchronous no one should publish a secret key too early
> > (i.e. before others have consumed the encrypted messages) otherwise we
> > might not be able to trust the authentication any longer.
> >
> > This is super interesting and it is problem ;), see section '3.4 Message
> > Integrity' of this paper[3].
> >
> >
> > I think the notions of deniability in a cryptographic sense have evolved
> > and new ways of achieving it have been studied. So many things can be
> > done ;)
> >
> >
> > 1. https://otr.cypherpunks.ca/otr-wpes.pdf
> > 2. https://lists.cypherpunks.ca/pipermail/otr-dev/2013-July/001796.html
> >
> >
> >
>
> --
> Sofía Celi
> @claucece
> Cryptographic research and implementation at many places
> FAB9 3EDC 7CDD 1198 DCFD  4558 91BB 6B45 6F44 2D02
>
> _______________________________________________
> MLS mailing list
> MLS@ietf.org
> https://www.ietf.org/mailman/listinfo/mls
>