Hi Mike,

Thanks for the response, but none of this addresses or is even relevant to any 
of the points I raised. It just confirms that the mistake is wide-spread.

Taking OIDC as an example, why is it a perfectly fine solution for OIDC 
discovery to define both 
    id_token_encryption_alg_values_supported
    id_token_encryption_enc_values_supported
allowing these two independent parameters to be independently specified, but it 
is not an option to define a similar
    id_token_encryption_crv_values_supported
?

Incidentally, given that you've put WebAuthn in the list, what's the plan there 
for when you deprecate the algorithm identifiers used by already deployed 
hardware? Given that WebAuthn is basically a monoculture around ES256 at this 
point, you will be directly deprecating the algorithm used by nearly 100% of 
existing hardware.

(I tried to find out *why* WebAuthn makes this restriction instead of just 
specifying the key size/curve directly, but I got lost in a maze of twisty 
little hyperlinks, all alike).

-- Neil

On 6 May 2024, at 18:11, Michael Jones <[email protected]> wrote:
> 
> The draft is solving a real problem that’s not hypothetical.  Multiple 
> specifications by multiple working groups across both JOSE and COSE have had 
> to create workarounds for the problems that polymorphic algorithm identifiers 
> are causing.  While previously discussed on-list and in the draft, as a 
> reminder, these specifications implemented or need mitigations for 
> polymorphic algorithm identifiers:
>  
> WebAuthn 
> <https://www.w3.org/TR/2021/REC-webauthn-2-20210408/#sctn-public-key-easy> 
> contains this de-facto algorithm definition to work around this problem:
> 
>   -8 (EdDSA), where crv is 6 (Ed25519) 
> FAPI 2 
> <https://openid.bitbucket.io/fapi/fapi-2_0-security-profile.html#section-5.4> 
> contains this similar workaround:
> Note: As of the time of writing there isn't a registered 
> <https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-algorithms>
>  fully-specified algorithm describing "EdDSA using the Ed25519 variant". If 
> such algorithm is registered in the future, it is also allowed to be used for 
> this profile.
>  
> OAuth 2.0 Authorization Server Metadata 
> <https://www.rfc-editor.org/rfc/rfc8414.html#section-2>, which defines this 
> metadata property (and others similar to it):
>    token_endpoint_auth_signing_alg_values_supported
>       OPTIONAL.  JSON array containing a list of the JWS signing
>       algorithms ("alg" values) supported by the token endpoint for the
>       signature on the JWT [JWT 
> <https://www.rfc-editor.org/rfc/rfc8414.html#ref-JWT>] used to authenticate 
> the client at the
>       token endpoint for the "private_key_jwt" and "client_secret_jwt"
>       authentication methods.
>  
> OpenID Connect Discovery 1.0 
> <https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderMetadata>,
>  which defines this metadata property (and others similar to it):
> id_token_signing_alg_values_supported
> REQUIRED. JSON array containing a list of the JWS signing algorithms (alg 
> values) supported by the OP for the ID Token to encode the Claims in a JWT 
> [JWT] <https://openid.net/specs/openid-connect-discovery-1_0.html#JWT>.
>  
> Neil, you’re right that the spec needs editorial work to accurately reflect 
> which parts of the problem space the working group decided to tackle and not 
> tackle at this time.  We didn’t update the spec before WGLC to reflect the 
> outcome of the on-list working group discussion “[jose] Fully-specified ECDH 
> algorithms”.  This will happen once the working group last call feedback is 
> in.  That said, solving the acute parts of the problem now won’t preclude 
> additional specifications solving more of the pain points in the future.
>  
> As for you disagreeing with deprecating “EdDSA” for JOSE, the polymorphic 
> EdDSA definition is the root cause of the need for the workarounds above.  
> Fixing the problem requires replacing it.
>  
> Summarizing my position, this specification will be ready for publication 
> after applying the (mostly editorial) updates described above.
>  
>                                                                 -- Mike
>  
> From: jose <[email protected]> On Behalf Of Neil Madden
> Sent: Monday, May 6, 2024 6:41 AM
> To: Karen ODonoghue <[email protected]>
> Cc: [email protected]
> Subject: Re: [jose] WGLC for draft-ietf-jose-fully-specified-algorithms
>  
> Unsurprisingly, I still don’t think this is a very good idea, and I think the 
> draft still needs a lot of work. The abstract and rest of the draft still 
> mentions making *all* JOSE algorithm identifiers “fully-specified”, but the 
> draft does no such thing: just changing EdDSA now (for JOSE). As this WGLC 
> says, there was no support for “fully-specifying” ECDH algorithm identifiers, 
> because it’s clearly a bad idea. 
>  
> So the draft needs to be substantially rewritten to reflect what it is 
> actually now proposing. It also, ironically, needs to flesh out what 
> “fully-specified” means, because that description is very vague. (eg it seems 
> key sizes do not need to be specified, but curves do, and it refers to KDFs 
> and other things that are not in scope).  Perhaps rewrite it as a more 
> focused draft saying that *elliptic curve signature* algorithms should 
> specify the curve specifically. 
>  
> I strongly disagree with deprecating “EdDSA” for JOSE, so IMO section 3.1.2 
> should be deleted. 
>  
> The entirety of section 3.3 should also be removed, or else substantially 
> rewritten to reflect that the advice doesn’t apply to encryption algorithms. 
> I would delete it. 
>  
> Section 6.1 is wrong, as has been pointed out already in this WG: numerous 
> HSM restrict RSA key sizes they support. (Saying it’s not a problem in the 
> wild because everything uses the same key sizes begs the question as to why 
> the same reasoning doesn’t apply to EdDSA). 
>  
> Section 6.2 says it is not sure what to do, suggesting the draft isn’t ready 
> for WGLC. 
>  
> The security considerations in section 7 are nonsense. How does an attacker 
> get to “choose algorithms” with current EdDSA?
>  
> Overall, this draft is still deeply confused and not anywhere near ready for 
> publication. 
>  
> Regards,
>  
> Neil
> 
> 
> On 6 May 2024, at 06:31, Karen ODonoghue <[email protected] 
> <mailto:[email protected]>> wrote:
> 
> JOSE working group members,
> 
> This email initiates a three week working group last call on the following 
> document: 
> https://datatracker.ietf.org/doc/draft-ietf-jose-fully-specified-algorithms/ 
> <https://datatracker.ietf.org/doc/draft-ietf-jose-fully-specified-algorithms/>
> 
> All open issues have been resolved. Additionally there does not appear to be 
> general support for including fully-specified ECDH algorithms.
> https://mailarchive.ietf.org/arch/msg/jose/ZHDlXENvTwjlWxTVQQ2hkNBX4dw/ 
> <https://mailarchive.ietf.org/arch/msg/jose/ZHDlXENvTwjlWxTVQQ2hkNBX4dw/> 
>  
> Please review the document and post any final comments along with your 
> recommendation on whether or not it is ready to proceed by the Monday 27 May. 
>  
> Thank you, 
> JOSE chairs
>  
> _______________________________________________
> jose mailing list
> [email protected] <mailto:[email protected]>
> https://www.ietf.org/mailman/listinfo/jose 
> <https://www.ietf.org/mailman/listinfo/jose>
_______________________________________________
jose mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to