Re: [MLS] Idea for Issue #33
Yevgeniy Dodis <dodis@cs.nyu.edu> Thu, 24 January 2019 03:02 UTC
Return-Path: <zaumka@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 393B3130DE5 for <mls@ietfa.amsl.com>; Wed, 23 Jan 2019 19:02:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 LUYcX6AdvC-i for <mls@ietfa.amsl.com>; Wed, 23 Jan 2019 19:02:00 -0800 (PST)
Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 DE572130DE4 for <mls@ietf.org>; Wed, 23 Jan 2019 19:01:59 -0800 (PST)
Received: by mail-ed1-f47.google.com with SMTP id y20so3366620edw.9 for <mls@ietf.org>; Wed, 23 Jan 2019 19:01:59 -0800 (PST)
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:content-transfer-encoding; bh=GyNRg6UWTnMFZFZIo4VSqLxxI1jxecrBjEXiSnW9jmg=; b=KJvaJl778zj7IMTtgDTfvRbQ54w/9hLct2sxB/H7+WdcXkFiGLqBgfZywyITtd00r5 ES3Z1iPHzRLc7DYQLYtyIZEnf9GT7UZ4ojKQw09gw6yYXodyGaz92UqWWGZYC7fQorG8 ZKbLM0x5DVRVXNuTUG1waL/sHpaN/qdiDrCggIvnVWFrfgXMxQwJczpiEGSWZF5VNsNp M7LLE6bPVHr64lzP8xCfH/X8tPFXol5PV3j/JM3vYK+C3IaRDtl97WUEmPfSK0c+ej5P R671X/vswp/1fbJv0unZT1xfuL+NYn/M2fcewr2KbOgXWCwGTdAiQPR7dKszj8peKVHF x4fw==
X-Gm-Message-State: AJcUukejL9Q1FX2QX8+4WYCYJ1v1Ph3o4wCv3HMoD80HIT/d8MCh4DqP ZmXxu0As4iIK6wslTDspybp6XPpjd3cAjq2qrQt2PqQ/
X-Google-Smtp-Source: ALg8bN5oLvoE8zoUDKGTceWy91J4FhyLGvy7bpxzXij188PiD61h6zsli+sOOs0+s6nQtspCxsTZukCIY8DBgJcNF7Y=
X-Received: by 2002:a50:f4c3:: with SMTP id v3mr4848859edm.196.1548298917767; Wed, 23 Jan 2019 19:01:57 -0800 (PST)
MIME-Version: 1.0
References: <CAFDDyk8Onmkmn=BeK27X5cXVsN1ardw745vX2QqxYhwYnAC-RA@mail.gmail.com>
In-Reply-To: <CAFDDyk8Onmkmn=BeK27X5cXVsN1ardw745vX2QqxYhwYnAC-RA@mail.gmail.com>
From: Yevgeniy Dodis <dodis@cs.nyu.edu>
Date: Wed, 23 Jan 2019 22:01:47 -0500
Message-ID: <CAMvzKsgHxpU6wjH29DsjSBSGaMc-Cy2_QAx0QYq+_-0cN6D1oQ@mail.gmail.com>
To: Nick Sullivan <nick=40cloudflare.com@dmarc.ietf.org>
Cc: "mls@ietf.org" <mls@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: <https://mailarchive.ietf.org/arch/msg/mls/ZphhjQ9g46pyMMBtdtCw6jIkI9c>
X-Mailman-Approved-At: Thu, 24 Jan 2019 17:35:02 -0800
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 03:02:02 -0000
Hi Nick. As I told Jon and you in Mountain View, this is a really nice idea. A couple of concerns regarding the specific proof of DLEQ by the receiver. Effectively, a malicious sender can send a ciphertext of the form <Q, garbage> for any value Q of its choice (not necessarily the one where he knows r such that Q = rP, and the receiver will "complain" by opening the value aQ. In crypto terms, this corresponds to CDH (computational diffie-hellman) oracle: given (P, P' = aP) fixed and any value Q, return aQ. There is an old paper of Maurer and Wolf which shows CDH and discrete log (DL) are polynomially equivalent in certain groups: ftp://ftp.inf.ethz.ch/pub/crypto/publications/MauWol99b.pdf I think standard groups we use do not fall there, but I did not check the paper in more detail. Of more immediate concern, this opens the following simple chosen ciphertext attack. Malicious sender wants to decrypt some old valid ciphertext (C=rP, D). He wants to obtain D / xC, so suffices to compute xC. He generates random r', and submits ciphertext (C' = r' C, garbage). Receiver will complain by opening x C' = r' (xC), from which can raise to 1/r' to recover xC, and hence D/xC. Is this chosen ciphertext attack possible? What might save us is that the only people who encrypt to node with public key aP, are the nodes in the subtree rooted by the sibling of a, since only then a is on the co-path. And these nodes anyway should be allowed to decrypt all ciphertexts encrypted using aP to the subtree rooted at a. But I feel we might concoct a scenario where this attack could be relevant. Not sure now, just pointing out this concern. In general, one malicious insiders are allowed, my feeling is that we need some kind of CCA protection, and basic ElGamal will not be secure. Still, I love the idea, and hope we can make it work... Yevgeniy 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 > > 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