Re: [MLS] Idea for Issue #33
Richard Barnes <rlb@ipv.sx> Thu, 24 January 2019 14:22 UTC
Return-Path: <rlb@ipv.sx>
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 05BEA1277CC for <mls@ietfa.amsl.com>; Thu, 24 Jan 2019 06:22:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.04
X-Spam-Level:
X-Spam-Status: No, score=-2.04 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=ipv-sx.20150623.gappssmtp.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 qxy8QnNuOVsW for <mls@ietfa.amsl.com>; Thu, 24 Jan 2019 06:22:35 -0800 (PST)
Received: from mail-ot1-x32d.google.com (mail-ot1-x32d.google.com [IPv6:2607:f8b0:4864:20::32d]) (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 988B1123FFD for <mls@ietf.org>; Thu, 24 Jan 2019 06:22:35 -0800 (PST)
Received: by mail-ot1-x32d.google.com with SMTP id 81so5379710otj.2 for <mls@ietf.org>; Thu, 24 Jan 2019 06:22:35 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipv-sx.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=cSPrrvfcfVmP5+lXp32qvwWhOORvVnIDG8v24yGBMyc=; b=ntApB0yPuSOBN7nfA0iuO9NUmBIRkxfttjBkdaaFl39OJaot66hRyAj/DQFCwm/D8r oRGH4n0OlLCtppwkl8woRO9ZUgR++lt7UvJqJmb162NaI/qpjpe3Xp7hdDhVZ/UIdLdq Plpm+cqCRsXtlhDNOrV7/Dlt/eBCQCRBr42e+zz66D3tW6zjyg00x9VlY7/qNz2tJO5j xJYFhRcIEET7KqrcFIa8Vy6xWdS8AucPmyaQGHbDIWIwQtKr+n2zdmMl8wxTM33MJJxB aNVyonvlKbxqfSKH6CQOV6xe55QROf+pD/++zsddiSS68F8fSvkm/F8m6GrRZn00iaj+ iqOg==
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=cSPrrvfcfVmP5+lXp32qvwWhOORvVnIDG8v24yGBMyc=; b=mPbEVuWnxI8TYKIoUKa7yTF9SmJH8YOw5WiYwJaI7tzANBNw8Gaf2mUZLkTb7vqNEN QRrGirRKKy0Vzhc/dD/t092ttfy8xprFcY4u7AcMGy3gLGcM9OqNUWuPE3CBMt3oGxkg l/OMYmoZnn5+cMrVevCVrSQmhRAFYtxi2k+npAkNcfxjtYg0O6B7X8UKxW51PSDNtkpy 6mT/bvRBxaSnvfqWmwibWRzq71bKe9B0HX+YlRAafKKX6OArWxkjBqRd4SiuF95sr+y2 ce9sVjh2Du3hLm8I8enHFlpnNrPAySClsnEauuGGmekic1e8snLUkS6TM4fDDbBtwCLy X4Lw==
X-Gm-Message-State: AJcUukcDJi3EuTjDF1giDTQi5H7rE4pgUzfYDBQyg1oC1KR7t6G16AKV 3Dp4+LYfYVXtBnN1bXEt9ufzvgypP5E+b8azuptRfpsj
X-Google-Smtp-Source: ALg8bN4qN5ve7q9b8U6YhpDZi26ROJ3V53hcGjyTq0PpvyRuPJnL+EjgoworAddWKkQILV/k2inyWAV57J+iZdGbyY0=
X-Received: by 2002:a9d:3f34:: with SMTP id m49mr4301396otc.23.1548339754441; Thu, 24 Jan 2019 06:22:34 -0800 (PST)
MIME-Version: 1.0
References: <CAFDDyk8Onmkmn=BeK27X5cXVsN1ardw745vX2QqxYhwYnAC-RA@mail.gmail.com>
In-Reply-To: <CAFDDyk8Onmkmn=BeK27X5cXVsN1ardw745vX2QqxYhwYnAC-RA@mail.gmail.com>
From: Richard Barnes <rlb@ipv.sx>
Date: Thu, 24 Jan 2019 09:22:21 -0500
Message-ID: <CAL02cgQ3CTFpCW22DtGmvZY9=kdvT3hhohyNQ8QPsyCxr7AwyQ@mail.gmail.com>
To: Nick Sullivan <nick=40cloudflare.com@dmarc.ietf.org>
Cc: "mls@ietf.org" <mls@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000000e319b058034f176"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/5C6F4BFEYsj8urRS50RoLefFnFk>
Subject: Re: [MLS] Idea for Issue #33
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: Thu, 24 Jan 2019 14:22:38 -0000
Hey Nick, If I'm understanding this correctly, I'm not sure it adds much new. W.r.t (1), the public keys in the path already provide this function, since they're a public value derived from the node's secret. Similarly, w.r.t. (2), the public key rP commits to the secret value r. So if the desire is to allow a third party to verify that an update is bad, and we're OK revealing one of the (previously) encrypted node secrets, we may have the machinery we need. The reporter can reveal the ECIES secret value r, and the verifier can first check that r matches the ECIESCiphertext, then decrypt the ciphertext and check the rest of the path. It seems like the only way you could do better than this is if you could do reporting without revealing any node secrets (even the inconsistent ones). But that seems appreciably more difficult. --Richard On Wed, Jan 23, 2019 at 8:34 PM Nick Sullivan <nick= 40cloudflare.com@dmarc.ietf.org> wrote: > Hello all, > > Relaying some ideas that I posted in the Github issue that allow a > participant that was maliciously removed from the group by a bad update > message to publicly prove that it was given an inconsistent update. This is > an idea based on lightweight zero-knowledge proofs. > > https://github.com/mlswg/mls-protocol/issues/21 > <https://github..com/mlswg/mls-protocol/issues/21> > > Recall the following from ECIES: > Say that you are encrypting a ciphertext *X* to a user with private key > *a*, public key *A* (= aP) and elliptic curve base point *P*. The ECIES > ciphertext is the pair *(rP, c)* where *r* is a randomly-chosen scalar > and *c* is the encryption of X with a key derived from *k* > =KDF(rA)=KDF(raP). > > The key to this mechanism is revealing enough to prove to a third party > that an update received by the user is decrypted to an inconsistent X than > an update received by another participant, but without revealing the > private key *a *(which would compromise the confidentiality of previous > messages). > > Proposed modifications of the protocol: > 1) Add a mechanism that allows a party with access to a supposed secret > value of a node to validate the consistency of the chain of hashed derived > from that secret. This could be implemented by creating a public value that > consists of a KDF of the secret value with a known public value for every > node that is being updated. To check a secret value, the validating party > needs to compute the KDF for every node up the tree to the root and compare > with the published values. > > The KDF acts as sort of a public integrity hash of to the node's secret > value. > > 2) Add a Schnorr NIZK of knowledge (RFC 8235) of the random value r with > every ECIES ciphertext. This proves that the r used in the ECIES encryption > is known to the updater and rP is not trivially derived from some other > previously sent r'P. > > For one participant to prove that they were given an update message that > did not include the correct node secret, that participant can reveal the > following: > arP, DLEQ(arP:rP :: P:aP) > > Where a is the node's private key, and DLEQ is a discrete log equivalence > proof that shows that arP is rP multiplied by the private key *a* of the > user. > > > So in summary, we would add: > - Proof of knowledge of the randomness used in ECIES > - Public KDF of each node's secret value > and then a member could prove to an auditor that it was given the wrong > secret by revealing: > - an intermediate calculation of the ECIES decryption, a DLEQ proof that > the right key was used > > > I'm eager for this proposal to have some holes shot in it. > > > Nick > > > _______________________________________________ > MLS mailing list > MLS@ietf.org > https://www.ietf.org/mailman/listinfo/mls >
- [MLS] Idea for Issue #33 Nick Sullivan
- Re: [MLS] Idea for Issue #33 Yevgeniy Dodis
- Re: [MLS] Idea for Issue #33 Nick Sullivan
- Re: [MLS] Idea for Issue #33 Richard Barnes
- Re: [MLS] Idea for Issue #33 Nick Sullivan