Re: [Secdispatch] [lamps] IDevID considerations document to secdispatch

Michael Richardson <mcr+ietf@sandelman.ca> Thu, 23 July 2020 19:35 UTC

Return-Path: <mcr+ietf@sandelman.ca>
X-Original-To: secdispatch@ietfa.amsl.com
Delivered-To: secdispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 059F43A0CF3; Thu, 23 Jul 2020 12:35:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, 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 CUXcAJ7CMsSS; Thu, 23 Jul 2020 12:34:58 -0700 (PDT)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [209.87.249.19]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 96CB03A0C4D; Thu, 23 Jul 2020 12:34:58 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id DD94438A32; Thu, 23 Jul 2020 15:14:29 -0400 (EDT)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id TsC2yniYBvz5; Thu, 23 Jul 2020 15:14:29 -0400 (EDT)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id D397638A06; Thu, 23 Jul 2020 15:14:28 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 1D8851CB; Thu, 23 Jul 2020 15:34:56 -0400 (EDT)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Phillip Hallam-Baker <phill@hallambaker.com>, SPASM <spasm@ietf.org>, secdispatch@ietf.org
In-Reply-To: <CAMm+Lwgp4d7E_=CUOo=h6q6nvgDXziyfJ9MHFvNDX=e_N3eCSA@mail.gmail.com>
References: <159176190855.9169.7350787463977998504@ietfa.amsl.com> <10463.1591763623@localhost> <13107.1591804306@localhost> <f7cdd360-7ab7-28f6-86b9-9f8c4ae04aaf@primekey.com> <5843.1591897975@localhost> <092308c1-dc44-4989-e3a5-1a248a3c361e@primekey.com> <20595.1593377487@localhost> <841240ae-f610-dcf8-1e29-c73371ae976b@primekey.com> <22303.1595374300@localhost> <08ab938b-deee-09f2-697b-657049cc4192@primekey.se> <19924.1595432391@localhost> <995a966c-bd9e-ca25-18a2-1e90b3c530e7@primekey.com> <19403.1595518388@localhost> <CAMm+Lwgp4d7E_=CUOo=h6q6nvgDXziyfJ9MHFvNDX=e_N3eCSA@mail.gmail.com>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature"
Date: Thu, 23 Jul 2020 15:34:56 -0400
Message-ID: <15413.1595532896@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/secdispatch/5hwithIlMW90yhTB_FbhHqFiLcM>
Subject: Re: [Secdispatch] [lamps] IDevID considerations document to secdispatch
X-BeenThere: secdispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Security Dispatch <secdispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/secdispatch/>
List-Post: <mailto:secdispatch@ietf.org>
List-Help: <mailto:secdispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/secdispatch>, <mailto:secdispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 23 Jul 2020 19:35:01 -0000

Phillip Hallam-Baker <phill@hallambaker.com> wrote:
    > Just thought I would weigh in with some points.

Thank you.
I don't quite understand how XKMS can be used to provision private keys, but
I do agree that I do agree that the rest is a mess.

My goal is to just collect and describe the methods.

I originally started with the idea of being prescriptive about the shape of
of the PKI that is used to provision the certificates.  I am pulling back
from the prescriptive part, and instead I intend to just describe the
different considerations, giving them names.

    > There are no good choices for creating key pairs. All have drawbacks.

    > * Any key generated by the manufacturer can leak at multiple points in the
    > supply chain. But it can be welded to the device in such a way that it
    > cannot be extracted without extreme persuasion.

    > * Any key that is generated by the device can also be compromised through
    > an intentional side channel or by weak key generation. And once generated
    > can usually be extracted.

I am interested in why you say that the key can be welded into place
by the factory, but a key generated internally can't be welded in place in
the same way.
I think both strong and weak ways are possible in each case.

    > * Any key that is installed from an external source during onboarding can
    > be compromised during that process.

Agreed.

    > So none of the solutions are good. What should we do? The best answer is to
    > do all of them and combine the keys using threshold techniques. That allows
    > us to get a key that combines all the properties we want and is only
    > vulnerable if there are multiple failures.

    > The math is explained in this draft:
    > https://tools.ietf.org/id/draft-hallambaker-threshold-02.html

I would like to include this in my list, but we have a chicken and egg
situation on it.

    > There are some caveats. While the private key is as strong as the strongest
    > of the input keys, the public key is only as good as the weakest public
    > key. Which means that the validation process has to be carefully designed.
    > There are approaches I took out of the drafts that are secure but only when
    > implemented exactly right so I have described a conservative approach.

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]     mcr@sandelman.ca  http://www.sandelman.ca/        |   ruby on rails    [


--
Michael Richardson <mcr+IETF@sandelman.ca>ca>, Sandelman Software Works
 -= IPv6 IoT consulting =-