Re: [COSE] New Version Notification for draft-schaad-cose-x509-00.txt

Jim Schaad <ietf@augustcellars.com> Tue, 18 April 2017 02:22 UTC

Return-Path: <ietf@augustcellars.com>
X-Original-To: cose@ietfa.amsl.com
Delivered-To: cose@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DC77512940C for <cose@ietfa.amsl.com>; Mon, 17 Apr 2017 19:22:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=augustcellars.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 WL4hK5giMi2T for <cose@ietfa.amsl.com>; Mon, 17 Apr 2017 19:22:21 -0700 (PDT)
Received: from mail4.augustcellars.com (augustcellars.com [50.45.239.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5B4941277BB for <cose@ietf.org>; Mon, 17 Apr 2017 19:22:21 -0700 (PDT)
Content-Type: multipart/alternative; boundary="----=_NextPart_000_000E_01D2B7AE.7EB158B0"
Content-Language: en-us
DKIM-Signature: v=1; a=rsa-sha256; d=augustcellars.com; s=winery; c=simple/simple; t=1492482135; h=from:subject:to:date:message-id; bh=6HoILtqR5VzU4Fgazzc/3fai4R3Vr82bCmMKtW8Vwrk=; b=Ml7hnNDoqdSxY5B0AJEJNE9yrO0BKFATO3WCVPXKVS+KnnZY3h5rL0b2P5J1ot1pIWF8q+9VRqv 2ghmOTTejiU0fL26vc9im5OVskS1lgZjBDpubJlTBLzcgjs4YFBGq48ouszb7Gt1/HL0Y+pWUvRc0 cHjKy4B9Ol+ybExQGewptK3irvjX2Zm1NnXFZraQF/q1QSv2FP1DKpXRVCr90UwaNgbDi+iSNkDC8 QZFbt2mM0MI0IDiHTsStNnTdGTWWTSShdPZq7m7pgQBGp66ngRbfZOZ7+PDu/OILLHCB9sSZtrykn ZFAhpwgdkHB6lXgF9oW0rds4Zy4Lva86m8eA==
Received: from mail2.augustcellars.com (192.168.1.201) by mail4.augustcellars.com (192.168.1.153) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Mon, 17 Apr 2017 19:22:15 -0700
Received: from Hebrews (24.21.96.37) by mail2.augustcellars.com (192.168.0.56) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Mon, 17 Apr 2017 19:22:10 -0700
From: Jim Schaad <ietf@augustcellars.com>
To: 'Laurence Lundblade' <llundbla@qti.qualcomm.com>
CC: 'cose' <cose@ietf.org>
References: <147987163959.30322.14158962529156430503.idtracker@ietfa.amsl.com> <004901d24546$8e76bfe0$ab643fa0$@augustcellars.com> <CAF2hCbZK4+mSHTqvZQnzFD+7F8PDkP0q3JNFYp=dOMRkE+Vh=w@mail.gmail.com> <9CE238FE-6AF0-458D-A1C7-B790870323D3@qti.qualcomm.com> <06e701d24f77$8d438280$a7ca8780$@augustcellars.com> <CAF2hCbbdp=mW5yfKvWoF-Tm53-CdVPQe7Xx-+TPpJwjsiMzofQ@mail.gmail.com> <BB0F527A-E061-427D-AA0B-C5CDDE4B9A76@qti.qualcomm.com>
In-Reply-To: <BB0F527A-E061-427D-AA0B-C5CDDE4B9A76@qti.qualcomm.com>
Date: Mon, 17 Apr 2017 19:11:59 -0700
Message-ID: <000d01d2b7e9$2b0a6450$811f2cf0$@augustcellars.com>
MIME-Version: 1.0
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQGas+U5hOX2ZwwTfdISQ4lSrZ9yRQGKptd0AmvDM5wAeJK3ggKGVo5qAN7e8PgCx1bv7aHla7mA
X-Originating-IP: [24.21.96.37]
Archived-At: <https://mailarchive.ietf.org/arch/msg/cose/WPoMDb8R1Ilk1_UDTvQGG1VzPRs>
Subject: Re: [COSE] New Version Notification for draft-schaad-cose-x509-00.txt
X-BeenThere: cose@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: CBOR Object Signing and Encryption <cose.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/cose>, <mailto:cose-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cose/>
List-Post: <mailto:cose@ietf.org>
List-Help: <mailto:cose-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/cose>, <mailto:cose-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Apr 2017 02:22:25 -0000

The problem w/ trying to define a single way to do SKI is that different Cas are going to do it in different ways and that is always a problem.

 

If you are doing a certificate enrollment protocol, it is always possible to return some information back to the end point that it can use or the same purpose.  It could either return a Key Id that the client is supposed to use or it could return a hash of the certificate as we have a way to identify that as well.

 

One of the problems for certificate based people on just using the SKI for identifying the certificate is to make sure that there are not more than one certificate in the world.  If multiple certificates exist (see attacker), then it is always possible that a certificate with a different identity or set of associated attributes can be obtained when you do the indirection.  Use the hash of the certificates (even a truncated one) makes this a much harder problem to solve.

 

I am leery of doing this because of the difficulty in doing a – this is how we do SKI and it will never change – statement for implementation.  I would rather see an identifier returned as part of the enrollment protocol when a certificate is not returned.

 

jim

 

From: Laurence Lundblade [mailto:llundbla@qti.qualcomm.com] 
Sent: Monday, April 17, 2017 4:58 PM
To: Samuel Erdtman <samuel@erdtman.se>
Cc: Jim Schaad <ietf@augustcellars.com>; cose <cose@ietf.org>
Subject: Re: [COSE] New Version Notification for draft-schaad-cose-x509-00.txt

 

It’s been a while, but I have another scenario.

 

Let’s say the key pair is generated on a device, but the certificate is not on the device because the device is very constrained or there are other considerations.  The certificate is to be picked up from a server or some other part of the system infrastructure.

 

In that case identifying the certificate by the public key or some derivation of the public key is very helpful.  Subject Key ID from RFC 5280 section 4.2.1.2 seems exactly the right thing. The parameter name could be “x5i” or “x5ski”. 

 

For full and standardized interop, we would have to go one step further than RFC 5280 and RFC 7093 to formally define the how the Subject Key ID is created from the key itself.  RFC 5280 only gives “common methods”. 

 

LL

 

 

 

On Dec 6, 2016, at 10:01 PM, Samuel Erdtman <samuel@erdtman.se <mailto:samuel@erdtman.se> > wrote:

 

Hi Jim,

I think we should name the parameters differently x5t, x5c and x5u are used in JOSE with slightly different semantic. This would be similar to the "content type" in the COSE specification where cty is not used.

Since the names are not included in the encoded message it might make sense to name them:

* x509 Certificate Thumbprint
* x509 Certificate Chain
* x509 Certificate URL

 

//Samuel

 

On Tue, Dec 6, 2016 at 5:16 AM, Jim Schaad <ietf@augustcellars.com <mailto:ietf@augustcellars.com> > wrote:

Thanks for input, it is something that nobody else has actually given yet.

 

I could easily get behind the idea of moving to two different headers, one for ordered and one for a bag.  I don’t think that there would be a huge problem with assigning the multiple code points.

 

I don’t know how common/uncommon it is for fields to allow multiple types.  I do know that the COSE spec does it in a couple of places, although most of them can be ignored at this point in time.  Personally, I don’t find the code to support that feature to be very difficult and argued that as part of the JOSE effort when the same topic was discussed.

 

While it does not explicitly say that in COSE, my assumption was always that ‘kid’ only identified COSE based keys.  I think that is probably an invalid assumption.  I would however expect that if an explicit key is given in the form a certificate then a kid would not need to be present.  An application however could state that a kid could be the spki value from a certificate so that it could be used to find certificates if desired. I’ll make a comment to myself on that.

 

More comments from everybody about what is good and bad are wanted.

 

Jim

 

 

From: Lundblade, Laurence [mailto:llundbla@qti.qualcomm.com <mailto:llundbla@qti.qualcomm.com> ] 
Sent: Monday, December 05, 2016 6:21 PM
To: Samuel Erdtman <samuel@erdtman.se <mailto:samuel@erdtman.se> >
Cc: Jim Schaad <ietf@augustcellars.com <mailto:ietf@augustcellars.com> >; cose <cose@ietf.org <mailto:cose@ietf.org> >
Subject: Re: [COSE] New Version Notification for draft-schaad-cose-x509-00.txt

 

Sorry for the delayed response and thanks for the draft.

 

The order definitive chain option for x5c looks pretty good. How does the kid parameter come into play? Is x5c in lieu of kid?  Seems like it would be.

 

Is it usual to have the data type / semantics vary for some CBOR like x5c? Haven’t run into any CBOR like that before.  Would it be better to have an x5cb (b for bag) and an x5co (o for ordered).

 

Thanks!

 

LL

 

 

 

 

 

On Nov 23, 2016, at 10:43 PM, Samuel Erdtman <samuel@erdtman.se <mailto:samuel@erdtman.se> > wrote:

 

Looks like a good start to me.

Laurence what do you think?

//Samuel

 

On Wed, Nov 23, 2016 at 6:00 AM, Jim Schaad <ietf@augustcellars.com <mailto:ietf@augustcellars.com> > wrote:

This is a rough draft of what a set of X.509 headers could look like.  There is lots of things that are incomplete or missing, but I said I would write up a fast version for people to look at so here it is.

If you are interested, please comment on the headers.  The pointer to the github repository is in the document.

Jim


> -----Original Message-----
> From: internet-drafts@ietf.org <mailto:internet-drafts@ietf.org>  [mailto:internet-drafts@ietf.org <mailto:internet-drafts@ietf.org> ]
> Sent: Tuesday, November 22, 2016 7:27 PM
> To: Jim Schaad <ietf@augustcellars.com <mailto:ietf@augustcellars.com> >
> Subject: New Version Notification for draft-schaad-cose-x509-00.txt
>
>
> A new version of I-D, draft-schaad-cose-x509-00.txt has been successfully
> submitted by Jim Schaad and posted to the IETF repository.
>
> Name:         draft-schaad-cose-x509
> Revision:     00
> Title:                CBOR Encoded Message Syntax (COSE): Headers for carrying
> and referencing X.509 certificates
> Document date:        2016-11-22
> Group:                Individual Submission
> Pages:                6
> URL:            https://www.ietf.org/internet-drafts/draft-schaad-cose-x509-00.txt
> Status:         https://datatracker.ietf.org/doc/draft-schaad-cose-x509/
> Htmlized:       https://tools.ietf.org/html/draft-schaad-cose-x509-00
>
>
> Abstract:
>    This document defines the headers and usage for referring to and
>    transporting X.509 certificates in the CBOR Encoded Message (COSE)
>    Syntax.
>
> Contributing to this document
>
>    The source for this draft is being maintained in GitHub.  Suggested
>    changes should be submitted as pull requests at <https://github.com/
>    cose-wg/X509>.  Instructions are on that page as well.  Editorial
>    changes can be managed in GitHub, but any substantial issues need to
>    be discussed on the COSE mailing list.
>
>
>
>
> Please note that it may take a couple of minutes from the time of submission
> until the htmlized version and diff are available at tools.ietf.org <http://tools.ietf.org/> .
>
> The IETF Secretariat


_______________________________________________
COSE mailing list
COSE@ietf.org <mailto:COSE@ietf.org> 
https://www.ietf.org/mailman/listinfo/cose

 

 


_______________________________________________
COSE mailing list
COSE@ietf.org <mailto:COSE@ietf.org> 
https://www.ietf.org/mailman/listinfo/cose