Re: [jose] 🔔 WGLC of draft-ietf-cose-webauthn-algorithms

Jim Schaad <> Fri, 20 September 2019 15:31 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id CF8D712087E; Fri, 20 Sep 2019 08:31:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 BRa_ywXWd9ZY; Fri, 20 Sep 2019 08:31:01 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 668E9120870; Fri, 20 Sep 2019 08:31:00 -0700 (PDT)
Received: from Jude ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 20 Sep 2019 08:30:32 -0700
From: Jim Schaad <>
To: 'Neil Madden' <>
CC: 'ivaylo petrov' <>, <>, <>
References: <> <> <> <012001d56fc0$1fb30e90$5f192bb0$> <>
In-Reply-To: <>
Date: Fri, 20 Sep 2019 08:30:28 -0700
Message-ID: <013c01d56fc8$56cb8b20$0462a160$>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_013D_01D56F8D.AA6EAEF0"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: AQItNuZzA1TJsm3o5oYBLHm72ILihwMXxS2TAexErRQBoNG0bwHtXeTzpkCQkrA=
Content-Language: en-us
X-Originating-IP: []
Archived-At: <>
Subject: Re: [jose] =?utf-8?q?=F0=9F=94=94_WGLC_of_draft-ietf-cose-webauthn-a?= =?utf-8?q?lgorithms?=
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Javascript Object Signing and Encryption <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 20 Sep 2019 15:31:04 -0000

See inline


From: Neil Madden <> 
Sent: Friday, September 20, 2019 8:09 AM
To: Jim Schaad <>
Cc: ivaylo petrov <>io>;;
Subject: Re: [jose] 🔔 WGLC of draft-ietf-cose-webauthn-algorithms


Thanks for the reply, comments in-line marked with [NEM]:

On 20 Sep 2019, at 15:31, Jim Schaad < <> > wrote:




From: jose < <>> On Behalf Of Neil Madden
Sent: Friday, September 20, 2019 2:35 AM
To: ivaylo petrov < <>>
Cc:  <>;  <>
Subject: Re: [jose] 🔔 WGLC of draft-ietf-cose-webauthn-algorithms


Thanks, I wasn't aware of this draft. It looks ok, just a few comments from me:


secp256k1 is mentioned in the context of signatures and the new ES256K JWS algorithm, but when it is registered in the JOSE Elliptic Curve registry it will also be usable for ECDH-ES encryption. The current draft mentions JOSE but only links to RFC 7515 (JWS). Is the intention that the curve be only used for signatures, or is it also intended for encryption?


[JLS] That is an interesting question.  Right now I would say that it is only for signatures, but it could be expanded to key agreement quite easily.  Is there any need for it or are you just speculating?  The big use I know of is bit coin which is only signatures and WebAuthn which is only signatures.


[NEM] As soon as it is registered as a JOSE elliptic curve it can be used for ECDH-ES, so the draft should make a statement one way or another as to whether this is intended rather than standardizing that usage by side-effect IMO.


I'm glad RS1 is not being registered for JOSE, although I'm still a bit surprised that it is being registered (even as deprecated) for a standard as new as COSE. I can't find any justification in the linked WebAuthn or CTAP specs for why this algorithm needs to exist at all. Section 5.3 says that it needs to be registered because some WebAuthn TPM attestations use it, but the very same section says that the algorithm MUST NOT be used by COSE implementations (is a WebAuthn implementation not a COSE implementation?). If the normative language in the spec is obeyed then the algorithm will never be used and so the registered identifier isn't needed.


[JLS] For better or for worse, RS1 is already registered for JOSE, so that is the reason it is not registered here.  


Ouch, I hadn't seen this. The WebCrypto group really did a number on the registry. Thankfully most of them (including RS1) are only registered for JWK usage and marked as Prohibited. (What does it even mean for things like "A128CBC" to be registered as a JWK "alg" value?)


[JLS] One can have a JWK which contains a symmetric key so in that case an “alg” value of “A128CBC” makes sense.  Only use this key with this algorithm.  


My main point still stands that section 5.3 of the draft is self-contradictory as it says that the reason for registry is because some TPMs are using the algorithm but then also says that those implementations MUST NOT use the algorithm, negating the reason for registering it in the first place.


[JLS] I agree and I have also pointed this out in a couple of reviews.


-- Neil