Re: [Iot-onboarding] what can pinned-domain-cert actually pin?

Michael Richardson <> Tue, 24 September 2019 16:42 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 685371200A1 for <>; Tue, 24 Sep 2019 09:42:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -4.199
X-Spam-Status: No, score=-4.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 0nA-1htkeWn2 for <>; Tue, 24 Sep 2019 09:42:37 -0700 (PDT)
Received: from ( [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id D2A5F120013 for <>; Tue, 24 Sep 2019 09:42:36 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id B8CE33897C; Tue, 24 Sep 2019 12:40:43 -0400 (EDT)
Received: from localhost (localhost [IPv6:::1]) by (Postfix) with ESMTP id 2858F926; Tue, 24 Sep 2019 12:42:34 -0400 (EDT)
From: Michael Richardson <>
To: "Owen Friel \(ofriel\)" <>
cc: "iot-onboarding\" <>
In-Reply-To: <>
References: <2693.1566923418@localhost> <> <> <12883.1567010221@localhost> <> <16322.1567104534@localhost> <> <2318.1567197459@localhost> <>
X-Mailer: MH-E 8.6; nmh 1.7+dev; GNU Emacs 24.5.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-sha256; protocol="application/pgp-signature"
Date: Tue, 24 Sep 2019 12:42:34 -0400
Message-ID: <27343.1569343354@localhost>
Archived-At: <>
Subject: Re: [Iot-onboarding] what can pinned-domain-cert actually pin?
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Discussion of IoT onboarding mechanisms <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 24 Sep 2019 16:42:40 -0000

Owen Friel (ofriel) <> wrote:
    >> My take is that this is a lot of code effort in the Pledge.
    >> If the Enterprise/Registrar would cause to be operated a long-lived private
    >> CA, then the problem goes away.   It doesn't have to be operated by the
    >> Enterprise itself; it could be operated by a service provider that they trust.  In
    >> effect, it's just a new form of MASA.
    >> I think that this is really the right way to go: to allow chains of
    >> vouchers pinning
    >> keys, which can then be used to issue new vouchers (which could pin new keys).
    >> This solves the long-term problems you have mentioned, and removes the
    >> external dependancy upon a MASA.... by createing a new dependancy upon an
    >> internal MASA.

    > I am not convinced that allowing chains of vouchers pinning keys is
    > simpler that allowing a voucher to have 2 or more
    > pinned-domain-certs. In fact, I would the code in the pledge to support
    > chains of vouchers pinning keys is probably more complex than the code
    > to allow an array of pinned-domain-certs in the voucher. With any TLS
    > library code I have ever messed with, you setup the trust store to
    > include your set of 1 or more CAs, and the TLS stack takes care of
    > everything once the trust store is setup. If you have a chain of
    > vouchers pinning keys - then that's all application specific code.

I think that it solves the problem you outlined, but also also solves the
resale-without-MASA problem, and it solves concerns from Siemens Transport.

(BTW: Do you have access to an EAP-TEAP code base?)

]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        |    IoT architect   [
]        |   ruby on rails    [