Re: [Anima] [Iot-onboarding] EST CACerts and Pinned Domain Certificate

Esko Dijk <esko.dijk@iotconsultancy.nl> Tue, 24 March 2020 13:08 UTC

Return-Path: <esko.dijk@iotconsultancy.nl>
X-Original-To: anima@ietfa.amsl.com
Delivered-To: anima@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BDF4D3A0A08; Tue, 24 Mar 2020 06:08:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.889
X-Spam-Level:
X-Spam-Status: No, score=-1.889 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=iotconsultancynl.onmicrosoft.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 nupA7lF-B8sr; Tue, 24 Mar 2020 06:08:38 -0700 (PDT)
Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70133.outbound.protection.outlook.com [40.107.7.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 49A7F3A09EE; Tue, 24 Mar 2020 06:08:36 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jcp1QLobR+tHuPZdPss+wpE/LgWer5kOSh/lASQ50IQHrrgigrvVQoxM39zbp7QWO1yMTkg6u2iZLAHlF3xdV0cxgomoI/HKUyjgkQC2ADiRNxJmszRlakdNDKV7Qb7aBUOcNgvRYm0K/Hg3hB1So50tOXODkh5BniH8ua7iCp0WemohLmt1yJ1897aI9gI+Y79rkWErDGsqJBMlA7MTUwafGl8qe/NdV1kf6OSq0F6CtwZm5XEfu+ROiZmCe/y8mxX/oskWYDjmRH7fhM9eU8SlBfM1XmECUBBRTc/J0+bMEn4M0cTjHfCldsCwI3RMw8Gr6cmbsOIhJd12UQlmDw==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EXl6/RgutFg0LLDVMieoCjJQ0HMw57x1ydUGDSJCOVE=; b=RHOl2jijg0XW0N/pcISB86WsixDFf0rilZSGae/974+F+dgLjLLfWnuvQTw2SXWAMI7dc521fLRpfkNRaQ0NF5J+zeLsEfdOMoiKLMWJZlot8AwgpN2dWLCLaeFgrhjTqRrpMPdHAbrgkTrEIJFtn+3exlqyd593dMwKSvSMtDqqMx1EbxzMQXX+ZB8jdo4S/i6gfaoS65GguPnUUpOlKPi8eH6kIbhspfb3IvbOAAdguvTVfbPNv4opuvOHZwu1dhpBGPUZktz0bbl9KmLDMKmSmvkKz4X58TXJedJTylI6oCiJL/4qR1a3JudXueWeX5+X+NEuTvYzmx9aNip0wg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=iotconsultancy.nl; dmarc=pass action=none header.from=iotconsultancy.nl; dkim=pass header.d=iotconsultancy.nl; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iotconsultancynl.onmicrosoft.com; s=selector2-iotconsultancynl-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EXl6/RgutFg0LLDVMieoCjJQ0HMw57x1ydUGDSJCOVE=; b=CCg3MfCj6hOcDpMoNYCRikUXGmc0iruSmuagHG70C1DtZs2n1SLL5U+6VYs/+p0cECJgAGByZJIgVgGMsVYZe2kDhKwGKmZSemac3Cy5mJhgeW8Jm9vUkqKlaDJGkkmJPdiLK0IeWdu4LPwiD+7qdiguY+UcKiN0MiYsGb7CMks=
Received: from AM5P190MB0275.EURP190.PROD.OUTLOOK.COM (10.161.62.28) by AM5P190MB0356.EURP190.PROD.OUTLOOK.COM (10.161.92.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.20; Tue, 24 Mar 2020 13:08:34 +0000
Received: from AM5P190MB0275.EURP190.PROD.OUTLOOK.COM ([fe80::8c96:a66b:e170:bf8f]) by AM5P190MB0275.EURP190.PROD.OUTLOOK.COM ([fe80::8c96:a66b:e170:bf8f%3]) with mapi id 15.20.2835.021; Tue, 24 Mar 2020 13:08:33 +0000
From: Esko Dijk <esko.dijk@iotconsultancy.nl>
To: Michael Richardson <mcr+ietf@sandelman.ca>, "M. Ranganathan" <mranga@gmail.com>, "iot-onboarding@ietf.org" <iot-onboarding@ietf.org>
CC: "anima@ietf.org" <anima@ietf.org>
Thread-Topic: [Anima] [Iot-onboarding] EST CACerts and Pinned Domain Certificate
Thread-Index: AQHWAUjw+3yyVzF7skSS+DuZl7ARm6hXsPmw
Date: Tue, 24 Mar 2020 13:08:33 +0000
Message-ID: <AM5P190MB0275693D588858FA230BE113FDF10@AM5P190MB0275.EURP190.PROD.OUTLOOK.COM>
References: <CAHiu4JO93swur42mT7rjhGTouVhefjjXftHJi=4Bnpk=t_aV-Q@mail.gmail.com> <30498.1584991523@localhost>
In-Reply-To: <30498.1584991523@localhost>
Accept-Language: en-US, nl-NL
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=esko.dijk@iotconsultancy.nl;
x-originating-ip: [85.147.167.236]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1942a7b0-1ebf-472f-d58f-08d7cff47511
x-ms-traffictypediagnostic: AM5P190MB0356:
x-microsoft-antispam-prvs: <AM5P190MB03567E8FBD617D0D8C6C7395FDF10@AM5P190MB0356.EURP190.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 03524FBD26
x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(136003)(39830400003)(346002)(376002)(366004)(396003)(71200400001)(186003)(8936002)(8676002)(81166006)(44832011)(86362001)(9686003)(81156014)(66946007)(76116006)(55016002)(7696005)(2906002)(66556008)(66446008)(66476007)(64756008)(5660300002)(52536014)(110136005)(53546011)(316002)(26005)(508600001)(6506007)(4326008)(33656002)(66574012); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5P190MB0356; H:AM5P190MB0275.EURP190.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords;
received-spf: None (protection.outlook.com: iotconsultancy.nl does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: MIlCJNoDJmvgEKjfBOs3G5qK3X+dqvRAJnoPbKVhM0T+LUeH896FzbgZQhfIAdOk0ktM7Kj5OpYYjDI1O0GXdh0tG+nTF3aeTUieb6X91TPe0lUx4/+FCQUzpHF5y81+Kaa+n5+MkLLXpNLPGXIku3j1qfTatfwmkBahDatWCVRo8+FMJOeBvJPvb0INI/UBHi0MR4/F0RHG/xe+g7S1Cqh5kIvz5iX56rZel9o/u+rdaq+zs5hXP/iEGlBTlR6f/wK7dophwW2hRD3hvrXPtyjcdvNsE8/OkjHbd9N6Hux48FkFUU0nKb9G6KdGXS/Zv7AmkXAdc9OyxG8b8qdZh2mlPspipvOUI08s8i4wQSVXmZjnMAEslq7jYMKTUoegvjo2hn7gs+XfX/E1QSzcK+k1CNSkDAqOevr96I2+sFmZW4jgcEMuA/4uWHZXfgvs
x-ms-exchange-antispam-messagedata: +JnyXwTXPVZ+Hng7/tELzN9ZVibevn4erJn67qDSThBvqoKho1vRNTDUaMJ5t+wFXe2Y38qsLcNuaUFLFR1atydhynC8NhX3zOIlsGkpDW1ODcVj9Uq+px7PoEBTdrh7bFofzoz2VvoQg0z3dKH9eg==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: iotconsultancy.nl
X-MS-Exchange-CrossTenant-Network-Message-Id: 1942a7b0-1ebf-472f-d58f-08d7cff47511
X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Mar 2020 13:08:33.8588 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 58bbf628-15d2-46bc-820b-863b6774d44b
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 6lXSeFMk+Yvpiwj76xCyz5nXXCTiWbPjA0ghTDX1UNuUIyaUqXInQ+0rLD/E+D9D08RSoxnU88yxDhZXDjILY1oSJGUTB6NhNYG4Ff0vLKY=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5P190MB0356
Archived-At: <https://mailarchive.ietf.org/arch/msg/anima/9BecK33KceC3SH3unS1W-6BAeVE>
Subject: Re: [Anima] [Iot-onboarding] EST CACerts and Pinned Domain Certificate
X-BeenThere: anima@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Autonomic Networking Integrated Model and Approach <anima.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/anima>, <mailto:anima-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/anima/>
List-Post: <mailto:anima@ietf.org>
List-Help: <mailto:anima-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/anima>, <mailto:anima-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 24 Mar 2020 13:08:51 -0000

Hello Michael,

Looking at text in 5.6.2 of BRSKI:

   The 'pinned-domain-cert' is not a
   complete distribution of the [RFC7030] section 4.1.3 CA Certificate
   Response, which is an additional justification for the recommendation
   to proceed with EST key management operations.  Once a full CA
   Certificate Response is obtained it is more authoritative for the
   domain than the limited 'pinned-domain-cert' response.

Which basically says that the Domain CA cert (that is present as 'pinned-domain-cert') is a sort of partial response to the CA Certificates Response of EST.
So, the Domain CA cert must be included in the full CA Certificate Response.
Suppose the full response does not contain Domain CA cert. If the Pledge receives the full response and - as stated in above text - replaces the limited response (with Domain CA) with the more authoritative full response (without Domain CA cert) then it would have to discard its Domain CA cert! That's not wanted in this case. So from this I would conclude that Domain CA cert needs to be in the (full) CA Certificates Response of EST.

Another angle to consider is the following: by design, the pinned-domain-cert is in BRSKI a Domain CA cert (i.e. it must be a CA). Why would any CA certificate not be included in the list of CA certificates, that is given by the CA Certificates Response? 

Third, in Section 5.9.1.:
   
   The pledge SHOULD request the full EST Distribution of CA Certificates message.  See RFC7030, section 4.1.
   This ensures that the pledge has the complete set of current CA
   certificates beyond the pinned-domain-cert

This suggests that pinned-domain-cert is part of the complete set of current CA certificates. 

RFC 7030 is not fully clear to me regarding our question - there are requirements on what should be included in the message; let's assume that the EST server certificate is a subordinate CA; then the RFC states in 4.1.3:

   if the EST CA is
   a subordinate CA, then all the appropriate subordinate CA
   certificates necessary to build a chain to the root EST CA are
   included in the response.

It is unclear if the EST CA's own certificate must be included or not in order to build the chain. In other words if the chain is X (subordinate CA) -> Y (subordinate CA) -> Z (root CA) then does it include only Y / Z or all of X / Y / Z ?

Still, overall it would be strange to exclude Domain CA, as it is part of the full set of CA certificates, and because the "full response" would replace the single pinned Domain CA cert as indicated in BRSKI. 

Best regards
Esko


-----Original Message-----
From: Anima <anima-bounces@ietf.org> On Behalf Of Michael Richardson
Sent: Monday, March 23, 2020 20:25
To: M. Ranganathan <mranga@gmail.com>; iot-onboarding@ietf.org
Cc: anima@ietf.org
Subject: Re: [Anima] [Iot-onboarding] EST CACerts and Pinned Domain Certificate


M. Ranganathan <mranga@gmail.com> wrote:
    > Consider an integrated BRSKI-EST server. The pledge bootstraps and gets the
    > pinned domain certificate. Then the pledge queries EST for the ca-certs. Is
    > it correct to require that the pinned domain cert must be present in the
    > CACerts collection returned by the EST server when the pledge does a
    > cacerts query  (but can include additional certificates) ?

No, I don't think that the specific cert needs to be in the cacert set.

1) It makes sense that a trust anchor(s) returned ought to validate the pinned
   domain cert.  This is because a certificate renewal operation needs to connect to the
   EST server correctly.
   Obviously, in a very degenerate case, there is only the one owner
   certificate, and it is used for everything.
   section 3.3 of draft-richardson-anima-registrar-considerations suggests
   that, and I include the text at the bottom.

2) The pinned-domain cert is validated by the pledge using the voucher.
   It does not need to be validatable via the cacerts for BRSKI-EST to work,
   provided that the TLS connection is never broken.
   (If the TLS connection is broken, then the enrollment should restart.
   We considered many ways around this, but I think in the end, we decided
   not to do this.  HTTP/1.1+ persistent connections or die)

===

3.3.  Home Network

   Home networks and small offices that use residential class equipment
   are the most challenging situation.  The three-tier PKI architecture
   is not justified because the ability to keep the root CA offline has
   no operational value.

   The home network registrar should be initialized with a single key
   pair used as the certificate authority.

   Secret splitting is useful in order to save the generated key with a
   few neighbours.  It is recommended that the entire PKI system
   database (including CA private key) be encrypted with a symmetric key
   and the results made available regularly for download to a variety of
   devices.  The symmetric key is split among the neighbours.

   The most difficult part of the Home Network PKI and Registrar is
   where to locate it.  Generally it should be located on a device that
   is fully owned by the home user.  This is sometimes the Home Router,
   but in a lot of situations the Home Router is the ISP's CPE router.
   If the home has a Network Attached Storage (NAS) system, then running
   it there is probably better.

   A compromise for CPE devices owned by the ISP that can run containers
   is for the Registrar to be located on detachable storage that is
   inserted into the CPE.  The detachable storage is owned by the home
   owner, and can be removed from the CPE device if it is replaced.
   More experience will be necessary in order to determine if this is a
   workable solution.


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