openid / openid/connect

suggested certification test for post quantum preparation - unparseable keys in server jwks

Open
#2,147 8 comments 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

certification component: Core component: Standard
Dominant language
No language data
Stars
3
Forks
3
Avg merge
20h 14m
Merged PRs (30d)
1

Description

The certification team would appreciate feedback on a suggested new test - in thinking about the rollout of post quantum algorithms, it seems like we should ensure that clients cope okay with a server jwks that contains a key they can't parse. This would mean servers could start listing post quantum keys (in addition to the current keys) in their jwks knowing the clients would not stop working.

Not sure how to do this test in practice - having an unparseable key in the server jwks_uri all the time seems most reliable so is I think my recommendation - having a specific test that adds a key to the jwks just for that test could work unreliably if the client is caching the jwks and/or openid-configuration contents.

The slightly annoying this is that this is only a 'should' in the spec as far as I can see, https://www.rfc-editor.org/rfc/rfc7517#section-5 :

Implementations SHOULD ignore JWKs within a JWK Set that use "kty" (key type) values that are not understood by them, that are missing required members, or for which values are out of the supported ranges.

There's not really any practical way we can make this only a 'warning' in the test suite (we can't see that the client is aborting because it found an unsupported key) so in practice we would be treating it as a 'must'.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the proposed certification test described in the issue and read RFC 7517 section 5 to confirm the expected handling of unsupported JWKs. Determine how the certification suite can provide a server JWKS containing an unparseable key despite JWKS or OpenID configuration caching; done means clients continue working with the additional key present.

Written by the indexing model from the issue text.

Assessment

Domain
authentication, security, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.