[stir] OCSP and short-lived certs

Jack Rickard <jack.rickard@microsoft.com> Wed, 04 January 2023 10:44 UTC

Return-Path: <jack.rickard@microsoft.com>
X-Original-To: stir@ietfa.amsl.com
Delivered-To: stir@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id E2675C152594 for <stir@ietfa.amsl.com>; Wed, 4 Jan 2023 02:44:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=microsoft.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RZYa-yaHf2zr for <stir@ietfa.amsl.com>; Wed, 4 Jan 2023 02:44:00 -0800 (PST)
Received: from DM6FTOPR00CU001-vft-obe.outbound.protection.outlook.com (mail-cusazon11020027.outbound.protection.outlook.com [52.101.61.27]) (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 E8D4EC152593 for <stir@ietf.org>; Wed, 4 Jan 2023 02:43:26 -0800 (PST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FYeLoFACKtwBUdAypZp0FPlrttZxh+pKmT7zO341ntcJ3aiV8ZRdycnyULPegzAlQfOAA7KQjQob3iaaQoBHBDrOEFuZDM0uLX3KWhcnUB03VQhsifnSrWB3OuedrT1Ze5c+OQNJaeQpb42KOeLOQwtIR+A2bxSmzofHwaaXoaZ7yeEmR5oUoXXaRoT1do6cRRqX9IYrxhCgZFjeIsUqI2l4F1MBph5fhvIGSHhpuhER51wyL1aqwK5izmLQZFrSleJd7i4BUCxVED9o7ZjROaDGV/uf7+4bV8kyOSn0X5c4CFEe+aEvAXE7kN6Csuh/dpgZVKYbYXGLq2BiOP+DFw==
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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=wXMt6ZezfGITyJKhsHCEs8eD2eZjp11wzqBj4hRmcQY=; b=VndkrWxyiDhcB6fI1DgqKz/W1+jsIvjNmeE+8Zyz48kljfKjdPK8LnUAvGw3RRiTju5vD/R8pc2cTO7a4WGlWKIFlRhQjwctmlzkzMkACX/sYCJoD87B76jfhln5BnfLKFVimPpRLo/1x/MxmWOy2Y+Q84DkdR6sF9xQIT09Y0bWVOMea/YNATYlqs52Lo4iGM869OXhmkzBKdDA8yfpKxZz68r2gj5eSW/Q6ZCZdOFURcTFvcXKOoQoGGEczU+U4kZe77etDVdzMbqkeYSJts42PbRZym0lJTVZwQmK75EZ3QPZJqVSY/97lbAcibjUZLzO5wOitccBjWuvo+WPHg==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wXMt6ZezfGITyJKhsHCEs8eD2eZjp11wzqBj4hRmcQY=; b=CtuUIR4bkJRmZouaMpxFOJS7O3OoRKwrg9pLTbJnqTuKYjwE9hnz4+SwuO2jxjVMCzvLzyX3fdPUbYZt6hFo4/YNpbuYuOkFolM3xYrVprvp8/oyvGeZL+ZRQD/wKEWDQBYzNrvCE5l/C315T9rNmvpX/1a1addXr8Wn+an5qWE=
Received: from DM5PR00MB0392.namprd00.prod.outlook.com (2603:10b6:4:a0::28) by SJ0PR00MB1206.namprd00.prod.outlook.com (2603:10b6:a03:35b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6010.0; Wed, 4 Jan 2023 10:43:22 +0000
Received: from DM5PR00MB0392.namprd00.prod.outlook.com ([fe80::879f:8120:d8ec:d0db]) by DM5PR00MB0392.namprd00.prod.outlook.com ([fe80::879f:8120:d8ec:d0db%8]) with mapi id 15.20.6019.000; Wed, 4 Jan 2023 10:43:22 +0000
From: Jack Rickard <jack.rickard@microsoft.com>
To: "Peterson, Jon" <jon.peterson@team.neustar>, IETF STIR Mail List <stir@ietf.org>
CC: Simon Castle <simoncastle@microsoft.com>
Thread-Topic: OCSP and short-lived certs
Thread-Index: AdkgJ7ok1Np8l/MhQfqJ3mjoXbtiVw==
Date: Wed, 04 Jan 2023 10:42:09 +0000
Deferred-Delivery: Wed, 4 Jan 2023 10:38:03 +0000
Message-ID: <DM5PR00MB03929E33135A1AAE6CD5E4D888F59@DM5PR00MB0392.namprd00.prod.outlook.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com;
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: DM5PR00MB0392:EE_|SJ0PR00MB1206:EE_
x-ms-office365-filtering-correlation-id: f37779e9-5e80-4b36-5b95-08daee40803a
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: 28keCN9RWzIiwjaImdadcM6bxaHnr+c4JRhyDWrLycUbcQ77bbClbyiWHxlKx4JUyajhwZz4pS+2g51a6uVlH3CPEnfIuT3aLTfSC1tr1TaJCN/F0A1vvmShfMcjQ3txO03sBLR879sBqPulFuDTAYmiSs+5c9geLV91SlRn6URMW/xRo7elci/6LlENZXYimtRceQRPzqU6+DFP20by4ECI4eCWt5AAkv7yGnmzJIIv7Vs7Tm3KQjGiTJffyRtaw3N0Iu6BrV8EsAW33Wkvr/DxMm5K8xyH3izo1oXPWELCO2po+7aCYmQen8fOHxKrn0GG2BtVj+vbNqdHT1v4mKOK3p9Ft2n8cP4C0qOrjjhz9M99KUKHNmYxzA5BthzLnm4FZo/32WtxTbLGEJ0pzfqz+cC8+62cZOhNlgs+tu8OD+HO+bcHc0wpFCuIoIfm7my/ACvxkK5B3WqEeM+u3qBklJhaoWQaTdry8LfgSD0zMk3nbUoDYDpFwu6UxboDA8t2hJj3CWviYOAgI3Sbi7earQb49xLVIPNDrHSG0dTWxjPxl+fsVSkMCcq37lt7n4tLmnXB6CXyhcIkIv+6UqMISWb3ZG46bHri46vgD88Zp5mpvqYOWHqkL8GEODCcZXrec3mi0DVGiPkLoHgY15fgge6dDGPsBPSkb2U6Cs4cN7QoQ8QlesgdOJcywbYDC3Ve3mjUEgOVhhJOuM+chbkdwx+1kCKTbCGA47d+kBjs/GU11v7VofR/X4IVZhIpdiJNB8yHRXQh+e1i1MRAvDz8T2/IwDZ8IuNY40ACjEnyXLpRw5WpqSNfEsQQ7t9v
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR00MB0392.namprd00.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(376002)(396003)(366004)(136003)(39860400002)(346002)(451199015)(83380400001)(8990500004)(5660300002)(316002)(6506007)(38070700005)(41300700001)(7696005)(110136005)(3480700007)(2906002)(186003)(71200400001)(9686003)(33656002)(55016003)(478600001)(86362001)(10290500003)(44832011)(66574015)(66446008)(66556008)(66946007)(4326008)(66476007)(82960400001)(166002)(38100700002)(82950400001)(122000001)(8676002)(107886003)(6666004)(66899015)(76116006)(52536014)(64756008)(8936002); DIR:OUT; SFP:1102;
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: yxfas8y4l5S88fboQVryJaFLltxcJv3epeuqA6o6uvi76Ofh6ue/FBmDtZwecIJQYNVHLDo4FP10K5U+a9Uf7REiKoS8wbMxQCNxyeFpunbwJCtcw1xc0IzM6NsFejXPv9ExVCL0/OIxhc2Jqulwn5xegFswTWHeVzI90eR3xHkPaZSIVdIFrzzkIRWhjL9SDU006oAd0s30i/1TQ4g+LaZXObiNuySwXrC5xI+jxtlsNfIpwBlZ97t/VjwJtByl1vF647045y1cxgRhoB0BHHnmpu9aFMctItPRRFZk1RyTBoHbTEuaZIs3ohbCoLvluka4K+XvuLV/Otmp/usLu3Gh/NnJIJnp++CDyICE+MEakc8A+AycN5vdXIqwv+4a1vBxh32Rw+y1Qpdt5R/UxxsfhSGefD4cV4qBMJ1KMG7wuxOm3aqQuJM6OmYTDJqJmYS3LvVghCO16UPkUH23v4GNKwYxWi1V5X4PWVaUi9pFcOCkty2wmn5zrNE5w3dXzdSAd0vrZdVCvvWKUvznVeqi3Ts31pp4Jr0AJHgzzuUpcj9470I92yb4AWkYWcT1jfnNDHXoe8B6JI7t+RKST3SDVqCECN2eWu9wN3RmXpUmOghXE1hh5yMO1EEMzumEBF9D+KEYBaQYdOYdZHOS41zBLhIIX5bgFsic1QYxw845L5/T+S8EAUrYyaYAtMc3K1euVlpDFuoNVvQcax8GWyCqRYX0hRrUAU1vZAHfNDd/6gdsv3qMTbzH2rKEEZrkKHKuUR6VrbTsneDUai5k0Dwsf/ukbX58t1wdHzUuEgjlpz5PSzu+2lVsaIimSkJE0aJH4aAVINazHY/IxZ27MYZQXWfgzFpNGxDjzoHNP9VpzsfKJZ7yaJvbDNTajltYykNUgjtEcIKBma8B5DycJqcl7xPEY1a4aFgdCKKLYi1GxrSA/Bh6HQUPxbAYOgrV+EQabELwvk6OVBV3ren++T8SRPWMN8EIpastIrdkPTFv4IyxwiPY93PaH8ErQSYSdSCgn9zbBA8pMYkGw0f70aYxm86oaN422BBcFn/Jh8/I9IVQmrpq2NrWjKCEswliapHm2M7bXxjHdNhQWWgM9fWboGtcEvxvBbvye8L13A+FknjPjtTm4XOx3iJ5uASLkhIuYa0a9/joLLe16YsS/stlDQiQF8T9fTKJEZteMLvelXXYDGLjSW9d8rf/siUJ14dIOjg/tsMkMJwOJ5PqQQiAUbCBrRKeGJCzBfEV/ovj2t+z6V8gdJaCvv1KiaJIGc5aNzCcDNyHzCrj37XOUUWdiB02f7qXIj5UIaYA+lYQ3VIW6VXzqL+W0SeAMqrrIIqWWINwgJpJRvlkt26l9IOQtGJL+YiT1bFpCljx3y+97LMzXzYXfkmUhDR0AFSWJlLxq8TFGXfunZNntmmvkB4Obrt7JBtpY95lWQQmuq9lHwrB9I4T4tK5YhRKrBJVs76hShqJxnVdYKb87OEUj5tpwwI3oNDercGePe9xsFD068VLdMIcZMqzV62xVYwgAseBO6f9pXMYQm23mujYeimx5L9YcrNrYoqHEr0qE7pXBS/0lFxXK09GCeb2b8SMGUUGvuPR6E6SElv0ghpb2w==
Content-Type: multipart/alternative; boundary="_000_DM5PR00MB03929E33135A1AAE6CD5E4D888F59DM5PR00MB0392namp_"
MIME-Version: 1.0
X-OriginatorOrg: microsoft.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: DM5PR00MB0392.namprd00.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: f37779e9-5e80-4b36-5b95-08daee40803a
X-MS-Exchange-CrossTenant-originalarrivaltime: 04 Jan 2023 10:43:22.2347 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: RV7iuGliiknzrva9DxR7bSadH5SeuzkIji54SQCDIYd8yJiEm9DjG6DQWkDfI4F95DhuD56wdK7Hl/NSFzQTaawOfSn8Ke6P+GqZ6Lsmo48=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR00MB1206
Archived-At: <https://mailarchive.ietf.org/arch/msg/stir/qgmEp71zkm58iUHVIdkil-Rt81o>
Subject: [stir] OCSP and short-lived certs
X-BeenThere: stir@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Secure Telephone Identity Revisited <stir.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/stir>, <mailto:stir-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/stir/>
List-Post: <mailto:stir@ietf.org>
List-Help: <mailto:stir-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/stir>, <mailto:stir-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Jan 2023 10:44:02 -0000

Hi all,

I wanted to summarize the pros and cons of the different options around providing dynamic TN authorization for certificates, hopefully to clarify exactly what the differences are and guide us towards a destination.

Issues these are attempting to solve:

  1.  Existing certificate infrastructure doesn't cope well with rapidly changing TN assignments (such as number portability).
  2.  Some users want privacy about which numbers they own, currently they must provide a complete list to whoever sees their certificate.
  3.  The latency added by an arbitrary URI access on the call path is not acceptable to some use-cases.

Facts about all approaches:

  *   The certificate issuer has control over the TNs that the certificate can sign over.
  *   The certificate issuer must host a server allowing someone to dynamically query whether an entity has permission to use a telephone number.
  *   Someone is going to have to do a dynamic lookup at some point, making issue 3 mostly a question of cache-ability.

Existing by-ref using the AIA extension:
Sticking with the existing mechanism in RFC 8226 is an available option. This is where the Authority Information Access extension is used to host the TnAuthList on a remote server (controlled by the CA). In this solution the AS does not need to care about the TNs it owns at all, and the VS makes requests to the server hosted by the CA.
Pros:

  *   It already exists.
  *   HTTP caching headers could be used to indicate to the VS how long it is able to cache the information for.
Cons:

  *   This leaks the entire list of telephone numbers that a certificate has authority over.
  *   Any changes to TN ownership require a completely new document meaning cache times must be reasonably short.
  *   It is not required that the HTTP request contains caching information, making caching the response difficult.
  *   This partially reveals to the CA who you are calling.

OCSP without stapling:
draft-ietf-stir-certificates-ocsp-03 - OCSP Usage for Secure Telephone Identity Certificates<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-ietf-stir-certificates-ocsp%2F&data=05%7C01%7Cjack.rickard%40microsoft.com%7C28f7c73e9a4a4af57d9208dadf89668c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638068078488875792%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=A04UQdGyeXcYAb8FeoBQajcAjUeaa7twt1QknGgL5V0%3D&reserved=0>. This extends the OCSP protocol to allow a VS to query whether a certificate has authority over a specific originator. Note that existing implementations would likely treat OCSP enabled certs as invalid (due to not having the TNAuthList extension).
Pros:

  *   This can easily cope with rapidly changing numbers as each request only authorises one number for an arbitrarily short period of time.
  *   We could require the nextUpdate field to be present (I think) allowing the VS to know how long it may cache the information for.
Cons:

  *   This doesn't completely solve the privacy issue; an attacker could use the OCSP server to enumerate all TNs that a certificate owns.
  *   A verifier is unlikely to be able to cache OCSP statuses, as a cache is only useful if it sees multiple calls from the same originator.
  *   This adds complexity to the ecosystem as CA's must host OCSP servers and VSs must be enhanced to understand OCSP.

OCSP with stapling:
draft-peterson-stir-ocsp-staple-00 - OCSP Stapling for Secure Telephone Identity (ietf.org)<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fdraft-peterson-stir-ocsp-staple%2F&data=05%7C01%7Cjack.rickard%40microsoft.com%7C28f7c73e9a4a4af57d9208dadf89668c%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638068078488875792%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=Guy%2B50ZYiOpDikMB2Bo%2FYdyWvX50W1Dy3%2FWLbmozJgc%3D&reserved=0>. This is the same as OCSP without stapling but the AS places the OCSP response inside the PASSporT, so the VS does not have to retrieve it. Note that existing implementations would likely treat OCSP enabled certs as invalid (due to not having the TNAuthList extension).
Pros:

  *   Rapidly changing numbers can be easily dealt with, as in OCSP without stapling.
  *   The AS is in a much better position to always have all OCSP staples as it can be push notified of changes, and only needs to cache certificates for numbers for which it signs outgoing calls.
  *   This could completely protect the privacy of the certificate owner as the OCSP server does not have to be accessible on the internet.
Cons:

  *   This will make PASSporTs substantially larger as they must contain the OCSP staple.
  *   This adds complexity to the ecosystem as CAs must host OCSP servers and authentication & verification services must be enhanced to understand OCSP.

Short-lived certs without stapling:
The CA issues short-lived certs with restricted scopes, potentially only a few hours and a single TN. This is already supported by the existing standards; we may however want to specify some mechanism for obtaining these short-lived certs programmatically. This conceptually is very similar to the OCSP without stapling option above.
Pros:

  *   No new standards are required, and already works.
  *   This allows the most flexibility around what certificates you want to exist and how long those permissions last.
  *   If you only ever issue certificates containing a single TN then this allows complete privacy, assuming the certificate URLs are not guessable.
Cons:

  *   This will add a lot of latency as a verifier is unlikely to be able to cache these certs, as they will expire quickly and may not be reused to the same destination.
  *   Obtaining short lived certs is difficult as the AS and CA will need an API, we may be able to help by specifying something here. (A suggestion is ACME STAR although implementations generally use custom APIs here currently)

Short-lived certs with stapling:
This is identical to short-lived certs without stapling but the AS puts part of the certificate chain into the PASSporT; only the leaf needs to be stapled as the rest of the chain is more easily cached. This conceptually is very similar to OCSP with stapling.
Pros:

  *   This is likely backwards compatible with existing implementations; they would just have to retrieve the certificate rather than using the stapled one.
  *   This allows the most flexibility around what certificates you want to exist and how long those permissions last.
  *   If you only ever issue certificates containing a single TN then this allows complete privacy, assuming the certificate URLs are not guessable.
  *   The AS is in a much better position to always have all required certs as it can be push notified of changes, and only needs to cache certificates for numbers for which it signs outgoing calls.
Cons:

  *   This will make PASSporTs a lot larger (larger even than OCSP stapling) as they will contain at least one certificate.
  *   This adds complexity to the ecosystem as authenticators & CAs must communicate (again possibly ACME STAR) and verification services must be enhanced to understand stapled certs.


Thanks for reading if you got this far! I'd appreciate your opinion as these all look similar; I believe we need one of the stapling options, but there is little difference between the two options.

Jack