From nobody Thu Jul  8 03:37:39 2021
Return-Path: <benl@google.com>
X-Original-To: cfrg@ietfa.amsl.com
Delivered-To: cfrg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
 by ietfa.amsl.com (Postfix) with ESMTP id A12823A1E21
 for <cfrg@ietfa.amsl.com>; Thu,  8 Jul 2021 03:37:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.598
X-Spam-Level: 
X-Spam-Status: No, score=-17.598 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001,
 RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001,
 URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5,
 USER_IN_DEF_SPF_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key)
 header.d=google.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 C0kphdXpgszX for <cfrg@ietfa.amsl.com>;
 Thu,  8 Jul 2021 03:37:32 -0700 (PDT)
Received: from mail-il1-x129.google.com (mail-il1-x129.google.com
 [IPv6:2607:f8b0:4864:20::129])
 (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 646DB3A1E23
 for <cfrg@irtf.org>; Thu,  8 Jul 2021 03:37:32 -0700 (PDT)
Received: by mail-il1-x129.google.com with SMTP id z1so6198564ils.0
 for <cfrg@irtf.org>; Thu, 08 Jul 2021 03:37:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025;
 h=mime-version:references:in-reply-to:from:date:message-id:subject:to
 :cc; bh=JToROq3HK3cB/HliGsNyFDRbxuX97+FqP4I9aBLx2UU=;
 b=Eeb4fZUTs9BChFzFrB08R343NcjAofu1mhOuyE54pdWnNwnUm5/8G/sm21I9pDqYXM
 Pmx07S2k02jE11BVY+J5cEvbBmO2TN1hdP2vruIEEKd0X38mtin3YknD8cUWV/8S4wMq
 NRBhLdoVsdWV0fgt+eEygU30HuOWWKZK9P6QwjGgQRkVZNhXfbh+m6r5PA8On1sLgnHP
 7vk5mq5LHi4PGUm1SHi2ON0+NobnM8kRid1bzC0yQq78bloM+M/Ho7R6P0/m+NwnE/7r
 i6vI+E+axXKUHZOGkPLhjiJPLXP2pbBQvGbO2S0OYkdrEJx3JFQwykdSFfzFrjLhNUZv
 XtBg==
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=JToROq3HK3cB/HliGsNyFDRbxuX97+FqP4I9aBLx2UU=;
 b=PYKvABVLEJOHl0BirwzoLuILbuwXuveWs1WSrLOaB6vUJxNLdELNoNlJpWtAHJ2gZz
 /zDM7ca9R27TdDaHO5G8+to3ZZVWEyt1+b4QjyPsG+JqCpOZCfqght75A0X0ncheVrZX
 sFlkL3qTGu9Ct4LMggfaeiyGCk1n+Yoh0u/AGkU1S8BhLAp09GXpp4cpeWjUWdzwdA07
 pEGsKpxaX+FRb1kzvbWHwOzjuRHgAGXEv62qARpSKEgJF71nP8inYQ8lC0Pbr9ok3rus
 fPBlqbIH8eOvYHV6l3JDoS9n1CprPeo3Jentp9sg7sKTrXAbiVESNAGxAxbXkh0u+G4W
 7FJg==
X-Gm-Message-State: AOAM530QmhO5C/GHtkTFrpJG5klZ46D5c9XaZPMfTAGfvQk7BpDRQa6z
 H+9d4XsQrJDkQ9rJAWTNECn7iwOEIJid3HlihA9hDA==
X-Google-Smtp-Source: ABdhPJyZrQ1m50SlZO9s6ZOHF0mTCneX4F1NPQhsFMJsrPmSp1bmVD0jAKqsndyKxnaKBNwMeCvQ9L3H5/L3BTSExN4=
X-Received: by 2002:a92:710a:: with SMTP id m10mr22001209ilc.254.1625740650249; 
 Thu, 08 Jul 2021 03:37:30 -0700 (PDT)
MIME-Version: 1.0
References: <CAMm+Lwjh29Eugv=HO-yL8fXW_xh7a=4vVgCKYWdRvGW9dU9o7A@mail.gmail.com>
In-Reply-To: <CAMm+Lwjh29Eugv=HO-yL8fXW_xh7a=4vVgCKYWdRvGW9dU9o7A@mail.gmail.com>
From: Ben Laurie <benl@google.com>
Date: Thu, 8 Jul 2021 11:37:18 +0100
Message-ID: <CABrd9SSPcqdbsSwx=bOJdDeGwHwTKmnZcWR2Oi0jN06neEFvrA@mail.gmail.com>
To: Phillip Hallam-Baker <phill@hallambaker.com>
Cc: IRTF CFRG <cfrg@irtf.org>
Content-Type: multipart/alternative; boundary="000000000000f4eb6d05c69a3def"
Archived-At: <https://mailarchive.ietf.org/arch/msg/cfrg/AM0MiXpoPOL04RxCGLYbqPegTOY>
Subject: Re: [CFRG] Threshold Sig required - Random bit flip hits Cert
 Transparency Log
X-BeenThere: cfrg@irtf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Crypto Forum Research Group <cfrg.irtf.org>
List-Unsubscribe: <https://www.irtf.org/mailman/options/cfrg>,
 <mailto:cfrg-request@irtf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cfrg/>
List-Post: <mailto:cfrg@irtf.org>
List-Help: <mailto:cfrg-request@irtf.org?subject=help>
List-Subscribe: <https://www.irtf.org/mailman/listinfo/cfrg>,
 <mailto:cfrg-request@irtf.org?subject=subscribe>
X-List-Received-Date: Thu, 08 Jul 2021 10:37:38 -0000

--000000000000f4eb6d05c69a3def
Content-Type: text/plain; charset="UTF-8"

On Wed, 7 Jul 2021 at 17:04, Phillip Hallam-Baker <phill@hallambaker.com>
wrote:

> So it has actually happened, a one in a billion computing error has caused
> a cert transparency log to become corrupted due to a bit flip error. There
> is a discussion of the issue here:
>
> Single random bit flip causes error in certificate transparency log |
> Hacker News (ycombinator.com)
> <https://news.ycombinator.com/item?id=27728287>
>
> The solution they obsess over (ECC RAM) is actually irrelevant to the
> error in that case as it was an even rarer CPU error. Which means that what
> I considered to be a more or less theoretical concern about signing append
> only logs turns out to have actually occurred. Do things billions of times
> and billion to one chances will happen.
>
>
> The only robust solution to this issue is for redundant notaries to sign
> the log.
>

That's not true - the solution CT uses already is to have multiple
redundant logs.


>
> Consider the case where we have an append only log that is authenticated
> by means of a Merkle tree with the apex of the tree being signed at 10
> minute intervals. If we have a single server doing the signing, any error
> that occurs will lead to the log becoming invalid. This condition cannot be
> distinguished from a notary default.
>
> But consider the case where there are three notaries each signing the log,
> which private key should they use?
>
> All three signers use the same key means that if an error occurs, we risk
> having a correct and incorrect version of the same log being signed. That
> means there is a real risk of the incorrect log and signature leaking
> somehow.
>
> All three signers using different keys is also bad because now we have
> three independent notaries and the relying party has to do the job of
> deciding which one to trust. There is an even greater risk of the wrong log
> being relied on at some point.
>
> A threshold scheme with three shares and a quorum of 2 solves the problem
> very neatly. The possibility of an undetected error is now much smaller as
> two signers must be hit with an error having exactly the same effect at the
> same time. That is a very remote possibility unless the error is somehow
> caused by an architectural defect in the CPU. So we should probably choose
> separate chipset architectures (Intel, AMD, ARM?) if we want to get to
> maximum robustness.
>

This seems no more robust to me than the existing scheme - in fact it is
probably less robust because it is more complex.

Also, I'm not sure why a quorum helps - logs are verifiably correct (or
not), so what's the quorum for? That requirement also reduces robustness.


>
>
> So how is the FROST draft coming?
>
>
>
> _______________________________________________
> CFRG mailing list
> CFRG@irtf.org
> https://www.irtf.org/mailman/listinfo/cfrg
>

--000000000000f4eb6d05c69a3def
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><br></div><br><div class=3D"gmail_quote">=
<div dir=3D"ltr" class=3D"gmail_attr">On Wed, 7 Jul 2021 at 17:04, Phillip =
Hallam-Baker &lt;<a href=3D"mailto:phill@hallambaker.com" target=3D"_blank"=
>phill@hallambaker.com</a>&gt; wrote:<br></div><blockquote class=3D"gmail_q=
uote" style=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,2=
04);padding-left:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div style=3D"font-=
size:small">So it has actually happened, a one in a billion computing error=
 has caused a cert transparency log to become corrupted due to a bit flip e=
rror. There is a discussion of the issue here:</div><div style=3D"font-size=
:small"><br></div><div style=3D"font-size:small"><a href=3D"https://news.yc=
ombinator.com/item?id=3D27728287" target=3D"_blank">Single random bit flip =
causes error in certificate transparency log | Hacker News (ycombinator.com=
)</a><br></div><div style=3D"font-size:small"><br></div><div style=3D"font-=
size:small">The solution they obsess over (ECC RAM) is actually irrelevant =
to the error in that case as it was an even rarer CPU error. Which means th=
at what I considered to be a more or less theoretical concern about signing=
 append only logs turns out to have actually occurred. Do things billions o=
f times and billion to one chances will happen.</div><div style=3D"font-siz=
e:small"><br></div><div style=3D"font-size:small"><br></div><div style=3D"f=
ont-size:small">The only robust solution to this issue is for redundant not=
aries to sign the log.</div></div></div></blockquote><div><br></div><div>Th=
at&#39;s not true - the solution CT uses already is to have multiple redund=
ant logs.</div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"=
margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-lef=
t:1ex"><div dir=3D"ltr"><div dir=3D"ltr"><div style=3D"font-size:small"><br=
></div><div style=3D"font-size:small">Consider the case where we have an ap=
pend only log that is authenticated by means of a Merkle tree with the apex=
 of the tree being signed at 10 minute intervals. If we have a single=C2=A0=
server doing the signing, any error that occurs will lead to the log becomi=
ng invalid. This condition=C2=A0cannot be distinguished from a notary defau=
lt.</div><div style=3D"font-size:small"><br></div><div style=3D"font-size:s=
mall">But consider the case where there are three notaries each signing the=
 log, which private key should they use?</div><div style=3D"font-size:small=
"><br></div><div style=3D"font-size:small">All three signers use the same k=
ey means that if an error occurs, we risk having a correct and incorrect ve=
rsion of the same log being signed. That means there is a real risk of the =
incorrect log and signature leaking somehow.=C2=A0</div><div style=3D"font-=
size:small"><br></div><div style=3D"font-size:small">All three signers usin=
g different keys is also bad because now we have three independent notaries=
 and the relying party has to do the job of deciding which one to trust. Th=
ere is an even greater risk of the wrong log being relied on at some point.=
</div><div style=3D"font-size:small"><br></div><div style=3D"font-size:smal=
l">A threshold scheme with three shares and a quorum of 2 solves the proble=
m very neatly. The possibility of an undetected error is now much smaller a=
s two signers must be hit with an error having exactly the same effect at t=
he same time. That is a very remote possibility unless the error is somehow=
 caused by an architectural defect in the CPU. So we should probably choose=
 separate chipset architectures (Intel, AMD, ARM?) if we want to get to max=
imum robustness.</div></div></div></blockquote><div><br></div><div>This see=
ms no more robust to me than the existing scheme - in fact it is probably l=
ess robust because it is more complex.</div><div><br></div><div>Also, I&#39=
;m not sure why a quorum helps - logs are verifiably correct (or not), so w=
hat&#39;s the quorum for? That requirement also reduces robustness.=C2=A0</=
div><div>=C2=A0</div><blockquote class=3D"gmail_quote" style=3D"margin:0px =
0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div=
 dir=3D"ltr"><div dir=3D"ltr"><div style=3D"font-size:small"><br></div><div=
 style=3D"font-size:small"><br></div><div style=3D"font-size:small">So how =
is the FROST draft coming?</div><div style=3D"font-size:small"><br></div><d=
iv style=3D"font-size:small"><br></div><div style=3D"font-size:small"><br><=
/div></div></div>
_______________________________________________<br>
CFRG mailing list<br>
<a href=3D"mailto:CFRG@irtf.org" target=3D"_blank">CFRG@irtf.org</a><br>
<a href=3D"https://www.irtf.org/mailman/listinfo/cfrg" rel=3D"noreferrer" t=
arget=3D"_blank">https://www.irtf.org/mailman/listinfo/cfrg</a><br>
</blockquote></div></div>

--000000000000f4eb6d05c69a3def--

