Re: [lamps] [EXTERNAL] Re: [CMP Updates] Requesting a current CRL

Russ Housley <housley@vigilsec.com> Mon, 11 October 2021 18:11 UTC

Return-Path: <housley@vigilsec.com>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C31FD3A0691 for <spasm@ietfa.amsl.com>; Mon, 11 Oct 2021 11:11:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.796
X-Spam-Level:
X-Spam-Status: No, score=-1.796 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=no 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 4Q1s4WHziUT3 for <spasm@ietfa.amsl.com>; Mon, 11 Oct 2021 11:11:03 -0700 (PDT)
Received: from mail.smeinc.net (mail.smeinc.net [209.135.209.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 958583A0654 for <spasm@ietf.org>; Mon, 11 Oct 2021 11:11:03 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mail.smeinc.net (Postfix) with ESMTP id 0A708300C1C for <spasm@ietf.org>; Mon, 11 Oct 2021 14:11:04 -0400 (EDT)
X-Virus-Scanned: amavisd-new at mail.smeinc.net
Received: from mail.smeinc.net ([127.0.0.1]) by localhost (mail.smeinc.net [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id jt631ExpAOcL for <spasm@ietf.org>; Mon, 11 Oct 2021 14:10:56 -0400 (EDT)
Received: from [192.168.1.161] (pool-141-156-161-153.washdc.fios.verizon.net [141.156.161.153]) by mail.smeinc.net (Postfix) with ESMTPSA id 679BB300A1C; Mon, 11 Oct 2021 14:10:56 -0400 (EDT)
From: Russ Housley <housley@vigilsec.com>
Message-Id: <C5546F9B-8AF0-48FA-9B9E-FE10C9B700F9@vigilsec.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_A1BDBABC-DD90-4109-B1DB-8249DBA4A0EC"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\))
Date: Mon, 11 Oct 2021 14:10:52 -0400
In-Reply-To: <AM0PR10MB2418B4A2D6498C6E4A7CC6D9FEB59@AM0PR10MB2418.EURPRD10.PROD.OUTLOOK.COM>
Cc: David von Oheimb <nl0@von-Oheimb.de>, "spasm@ietf.org" <spasm@ietf.org>, Lijun Liao <lijun.liao@gmail.com>, John Gray <John.Gray@entrust.com>
To: "Brockhaus, Hendrik" <hendrik.brockhaus@siemens.com>
References: <AM0PR10MB24181E0CB7F13C5969337F56FEB09@AM0PR10MB2418.EURPRD10.PROD.OUTLOOK.COM> <C81D6269-EA75-4A0F-9C47-63ED46BA43E0@vigilsec.com> <DM6PR11MB25853662F94B5B12933C23F9EAB09@DM6PR11MB2585.namprd11.prod.outlook.com> <VI1PR10MB24298128902B438BCAF406D4FEB19@VI1PR10MB2429.EURPRD10.PROD.OUTLOOK.COM> <FD4EBC6E-77CE-4D96-8D9E-D929C27159D6@vigilsec.com> <AM0PR10MB2418E1DE7004C868C0E3AEA2FEB29@AM0PR10MB2418.EURPRD10.PROD.OUTLOOK.COM> <EDA2ACBF-E745-430A-A13F-A144B08125AC@vigilsec.com> <AM0PR10MB241887D39072B393C56FB28AFEB29@AM0PR10MB2418.EURPRD10.PROD.OUTLOOK.COM> <8D6D333A-14A3-4487-967F-CFCAC22D856C@vigilsec.com> <AM0PR10MB241865E9784CC03F81AA9D39FEB29@AM0PR10MB2418.EURPRD10.PROD.OUTLOOK.COM> <B92F36D2-605F-4E60-A654-AA0F89E310CA@vigilsec.com> <CANNx7D8AaT3+7Ah7tZHXUYRkcgx7CW_ExgciJ4nB90WAuP6tzw@mail.gmail.com> <E5F845E3-4281-4409-9085-28CC68751DB3@vigilsec.com> <AM0PR10MB241822FCF1E83E6444FDFAE5FEB59@AM0PR10MB2418.EURPRD10.PROD.OUTLOOK.COM> <0b24c287-a6ac-593e-e0e4-3fd0b9373208@von-Oheimb.de> <B48AB092-BE17-42AE-BBA8-7ACDBDBF75D7@vigilsec.com> <AM0PR10MB2418B4A2D6498C6E4A7CC6D9FEB59@AM0PR10MB2418.EURPRD10.PROD.OUTLOOK.COM>
X-Mailer: Apple Mail (2.3445.104.21)
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/UXqaMra52Qs-az3R5M78HHM0eBE>
Subject: Re: [lamps] [EXTERNAL] Re: [CMP Updates] Requesting a current CRL
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 11 Oct 2021 18:11:09 -0000

Hendrik:

As the introduction to Section 5 od RFC 5280 says, the scope can be based on "arbitrary local information".  Consider the example that I gave in my earlier response, where a CA uses multiple CRL distribution points.  One distribution point could be associated with NIST employees located in Boulder and a separate distribution point could be for NIST employees in Gaithersburg.  There are certainly other ways to do this, including indirect CRLs, but this is one straightforward approach.

Russ

> On Oct 11, 2021, at 12:20 PM, Brockhaus, Hendrik <hendrik.brockhaus@siemens.com> wrote:
> 
> Russ
>  
> The introduction to Section 5 gives some examples on different scopes.
> I du understand how to express theses scopes by using the flags David mentioned.
> "all certificates issued by CA X"
> "all CA certificates issued by CA X"
> "all certificates issued by CA X that have been revoked for reasons of key compromise and CA compromise",
>  
> But I have issues to understand how "all certificates issued to the NIST employees located in Boulder" would be expressed.
> Can you give an example?
>  
> Hendrik
>  
> Von: Russ Housley <housley@vigilsec.com <mailto:housley@vigilsec.com>> 
> Gesendet: Montag, 11. Oktober 2021 17:26
> An: David von Oheimb <nl0@von-Oheimb.de <mailto:nl0@von-Oheimb.de>>
> Cc: Lijun Liao <lijun.liao@gmail.com <mailto:lijun.liao@gmail.com>>; spasm@ietf.org <mailto:spasm@ietf.org>; Brockhaus, Hendrik (T RDA CST SEA-DE) <hendrik.brockhaus@siemens.com <mailto:hendrik.brockhaus@siemens.com>>; John Gray <John.Gray@entrust.com <mailto:John.Gray@entrust.com>>
> Betreff: Re: [lamps] [EXTERNAL] Re: [CMP Updates] Requesting a current CRL
>  
> David:
>  
> These flags are clearly part of the scope.  The use of CRL distribution points in certificates can be used to divide the population of certificates across many different CRLs.
>  
> Russ
> 
> 
> On Oct 11, 2021, at 11:16 AM, David von Oheimb <nl0@von-Oheimb.de <mailto:nl0@von-Oheimb.de>> wrote:
>  
> Interesting discussion!
> It looks to me that the currently open issue boils down to uniquely identifying the (latest) CRL information currently known to the client.
> Even when scoped, indirect, and delta CRLs need to be taken into account, 
> according to https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.3 <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc5280%23section-5.2.3&data=04%7C01%7Chendrik.brockhaus%40siemens.com%7C730a6cf99cfe45f6b1e508d98ccb6733%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C637695627504801460%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=vQVV1IHUgSbjezDqvu%2F01JXhEGZ6Zpnarlmjs3z%2Famg%3D&reserved=0>
> apparently the following data should be sufficient for unique identification: 
>     CRL issuer, scope, and CRL Number,
> or am I missing something?
> And how is the scope defined/encoded?
> I'm having a hard time getting this nailed down from RFC 5280 and other sources, 
> but according to https://datatracker.ietf.org/doc/html/rfc5280#section-5.2.5
>  <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdatatracker.ietf.org%2Fdoc%2Fhtml%2Frfc5280%23section-5.2.5&data=04%7C01%7Chendrik.brockhaus%40siemens.com%7C730a6cf99cfe45f6b1e508d98ccb6733%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C637695627504811454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=TfKtJ1iJ1vgi3rDWO9iUC3dr7pyzCpliVbHFEmuFPds%3D&reserved=0>it looks like the scope is the combination of the following fields:
>         onlyContainsUserCerts      [1] BOOLEAN DEFAULT FALSE,
>         onlyContainsCACerts        [2] BOOLEAN DEFAULT FALSE,
>         onlySomeReasons            [3] ReasonFlags OPTIONAL,
>         indirectCRL                [4] BOOLEAN DEFAULT FALSE,
>         onlyContainsAttributeCerts [5] BOOLEAN DEFAULT FALSE }
> right?
>     David
>  
> On 11.10.21 08:28, Brockhaus, Hendrik wrote:
> Russ
>  
> Thank you for this proposal. It looks straight forward.
> I will need to dig a little deeper into the partitioning of CRLs and check the requirements of our use case for CRL retrieval via CMP to better understand the complexity needed.
>  
> Hendrik
>  
> Von: Russ Housley <housley@vigilsec.com> <mailto:housley@vigilsec.com> 
> Gesendet: Samstag, 9. Oktober 2021 21:07
> An: Lijun Liao <lijun.liao@gmail.com> <mailto:lijun.liao@gmail.com>
> Cc: Brockhaus, Hendrik (T RDA CST SEA-DE) <hendrik.brockhaus@siemens.com> <mailto:hendrik.brockhaus@siemens.com>; spasm@ietf.org <mailto:spasm@ietf.org>; von Oheimb, David (T RDA CST SEA-DE) <david.von.oheimb@siemens.com> <mailto:david.von.oheimb@siemens.com>; John Gray <John.Gray@entrust.com> <mailto:John.Gray@entrust.com>
> Betreff: Re: [lamps] [EXTERNAL] Re: [CMP Updates] Requesting a current CRL
>  
> This is an interesting observation, but it does not seem to cover a certificate with multiple CRL distribution points, indirect CRLs, and delta CRLs.  I'm not sure we want all of that complexity here.  That said, it does make sense to me to list a distribution point name and the thisUpdate for each one.
>  
> CRLStatusList ::= SEQUENCE OF CRLStatus
>  
> CRLStatus ::= SEQUENCE {
>    crldpn    DistributionPointName,
>    thisUpdate    Time }
>  
> CRLs ::= SEQUENCE OF CertificateList
>  
>    GenMsg:    {id-it TBD}, CRLStatusList
>    GenRep:    {id-it TBD}, CRLs  |  < absent >
>  
> Russ
>  
> 
> 
> 
> On Oct 8, 2021, at 4:10 PM, Lijun Liao <lijun.liao@gmail.com <mailto:lijun.liao@gmail.com>> wrote:
>  
> Please also consider the following some complicated scenarios:
> 
> 1. The CA may have multiple CRLs with different scopes. In RFC 4210, id-it 6
> seems to work only for the CA with maximal one CRL scope.
> 
> 2. The CA may issue full CRL and delta CRLs. Between the period of two full
> CRLs, one or more delta CRLs will be issued.
> 
> Specifying only thisUpdate does not cover above scenarios, I will suggest to
> define a new GenMesage (following the direction of Option B) as follows:
> 
> New Section
> 5.3.19.x Extended CRL Retrieval
> 
> CRLGenMsg: {id-it TBD}, ExtendedCRLRetrieval
> 
> ExtendedCRLRetrieval ::= SEQUENCE {
>    lastCRL    LastCRL OPTIONAL, 
>               -- the meta data of last CRL known to the client 
>    crlNumber  INTEGER OPTIONAL
>               -- only CRL with this number will be returned
> }
> 
> LastCRL ::= SEQUENCE {
>    thisUpdate          TIME,
>    sha256DigestValue   OCTET STRING
>                        -- SHA256 Fingerprint of CRL
> }
> 
> GenRep: {id-it TBD}, SEQUENCE (0..MAX) OF CertificateList
>                      -- The CA may have multiple CRLs with different scopes 
> 
> At the first time, the client sends an ExtendedCRLRetrieval with an empty
> SEQUENCE, and the CA returns the current CRLs of all scopes.
> 
> For the case without delta CRL, the client sends the following request to
> get the current CRL only if it is generated after the lastCRL.
> 
> ExtendedCRLRetrieval
>    lastCRL
>        thisUpdate
>        sha256DigestValue
> 
> The field sha256DigestValue is needed to identify the scope of CRL.
> 
> If the current CRL is a delta CRL, the client has to get the full CRL on
> which this delta CRL bases on. It sends the following request:
> 
> ExtendedCRLRetrieval
>     lastCRL   -- required only if there is more than 1 scope, since
>               -- RFC 5280 allows two CRLs with different scopes to have
>               -- the same crlNumber
>     crlNumber 
> 
> 
> Since the response is a sequence of CertificateList, option 1A cannot be
> applied here.
> 
> Lijun
>  
> On Fri, Oct 8, 2021 at 6:41 PM Russ Housley <housley@vigilsec.com <mailto:housley@vigilsec.com>> wrote:
>  
> 
> 
> 
> On Oct 8, 2021, at 12:36 PM, Brockhaus, Hendrik <hendrik.brockhaus@siemens.com <mailto:hendrik.brockhaus@siemens.com>> wrote:
>  
> My question is, is it OK to reuse id-it-currentCrl together with id-it-crlThisUpdate like this
> 
>    GenMsg:    {id-it 6}, < absent >
>    GenRep:    {id-it 6}, CertificateList  |  < absent >
>  
> Yes, because <absent> is exactly the same response that would be given if {id-it 6} is unrecognized by the server.
>  
> Russ
> _______________________________________________
> Spasm mailing list
> Spasm@ietf.org <mailto:Spasm@ietf.org>
> https://www.ietf.org/mailman/listinfo/spasm <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fspasm&data=04%7C01%7Chendrik.brockhaus%40siemens.com%7C730a6cf99cfe45f6b1e508d98ccb6733%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C637695627504811454%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=saZZx1bqimOUHA9XuVQRKWiZGRQd%2Bb5QkzF6XoI%2FdFc%3D&reserved=0>
> 
> 
> -- 
> Lijun Liao
>  
> 
> 
> _______________________________________________
> Spasm mailing list
> Spasm@ietf.org <mailto:Spasm@ietf.org>
> https://www.ietf.org/mailman/listinfo/spasm <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fspasm&data=04%7C01%7Chendrik.brockhaus%40siemens.com%7C730a6cf99cfe45f6b1e508d98ccb6733%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C637695627504821448%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Gb6HS9iVC5ymX804Hud7r1qIUOUWu4lzIx7CxUitVJI%3D&reserved=0>
> _______________________________________________
> Spasm mailing list
> Spasm@ietf.org <mailto:Spasm@ietf.org>
> https://www.ietf.org/mailman/listinfo/spasm <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.ietf.org%2Fmailman%2Flistinfo%2Fspasm&data=04%7C01%7Chendrik.brockhaus%40siemens.com%7C730a6cf99cfe45f6b1e508d98ccb6733%7C38ae3bcd95794fd4addab42e1495d55a%7C1%7C0%7C637695627504821448%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000&sdata=Gb6HS9iVC5ymX804Hud7r1qIUOUWu4lzIx7CxUitVJI%3D&reserved=0>
>  
> _______________________________________________
> Spasm mailing list
> Spasm@ietf.org <mailto:Spasm@ietf.org>
> https://www.ietf.org/mailman/listinfo/spasm <https://www.ietf.org/mailman/listinfo/spasm>