Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Data Recipient Software Product unable to indicate optional idtoken encryption requirement #540

Closed
renjith85 opened this issue Sep 1, 2022 · 3 comments
Labels
Breaking change A change expected to result in a new endpoint version. Proposal made The DSB has proposed a specific change to the standards to address the change request Security Change or question related to the information security profile
Milestone

Comments

@renjith85
Copy link

renjith85 commented Sep 1, 2022

Description

Phase 2 FAPI 1.0 Baseline and Advanced support proposal indicates that ID Token encryption must be changed from MUST to MAY - "ID Tokens MUST be signed and MAY be encrypted when returned to a Data Recipient Software Product from both the Authorisation End Point and Token End Point."

With the existing CDR DCR swagger definition, it is not possible to register an ADR using DCR to indicate that it does not require the idToken encrypted. Currently the CDR DCR swagger spec has the id_token_encrypted_response_alg & id_token_encrypted_response_enc fields as required which means there is no way for ADR/clients using DCR to indicate that they require non encrypted idTokens unless the CDR DCR swagger definition makes those field OPTIONAL.

Area Affected

Couple of object properties(id_token_encrypted_response_alg, id_token_encrypted_response_enc) in the ClientRegistrationRequest utilized in DCR (https://consumerdatastandardsaustralia.github.io/standards/#dcr-apis) APIs to be made optional

Change Proposed

To adhere with core OIDC DCR specification, if idToken encryption is optional, then the below fields should be made optional in the RegistrationProperties object used in the ClientRegistrationRequest for CDR DCR API

`
id_token_encrypted_response_alg

OPTIONAL. JWE alg algorithm [JWA] REQUIRED for encrypting the ID Token issued to this Client. If this is requested, the response will be signed then encrypted, with the result being a Nested JWT, as defined in [JWT]. The default, if omitted, is that no encryption is performed.

id_token_encrypted_response_enc

OPTIONAL. JWE enc algorithm [JWA] REQUIRED for encrypting the ID Token issued to this Client. If id_token_encrypted_response_alg is specified, the default for this value is A128CBC-HS256. When id_token_encrypted_response_enc is included, id_token_encrypted_response_alg MUST also be provided.
`

DSB Proposal

It is proposed this issue be closed as addressed in the comment below.

@perlboy
Copy link

perlboy commented Sep 10, 2022

If an ID Token isn't exchanged it will never be encrypted. At this stage I believe ID Token encryption is still required but a Recipient can elect to use code only flow (with PKCE) and avoid having to exchange ID Tokens at all.

@AG-IAM
Copy link

AG-IAM commented Dec 8, 2022

If an ID Token isn't exchanged it will never be encrypted. At this stage I believe ID Token encryption is still required but a Recipient can elect to use code only flow (with PKCE) and avoid having to exchange ID Tokens at all.

Isn't openid a mandatory scope, so the id_token will be returned from token endpoint.

@nils-work nils-work added the Security Change or question related to the information security profile label Feb 3, 2023
@markverstege markverstege added the Breaking change A change expected to result in a new endpoint version. label Oct 23, 2024
@CDR-API-Stream
Copy link
Collaborator

With the changes proposed in #666, it is proposed that ID token encryption is removed because OIDC Hybrid Flow support will be formally retired. Authorization Code Flow will be the only supported flow which requires JARM and PKCE. As a result, ID Tokens will no longer be delivered via the front channel.

Therefore, it is proposed this issue be closed.

@CDR-API-Stream CDR-API-Stream added the Proposal made The DSB has proposed a specific change to the standards to address the change request label Oct 29, 2024
@nils-work nils-work added this to the v1.33.0 milestone Nov 15, 2024
@nils-work nils-work moved this from In Progress: Design to Awaiting Chair Approval in Data Standards Maintenance Dec 18, 2024
@github-project-automation github-project-automation bot moved this from Awaiting Chair Approval to Done in Data Standards Maintenance Dec 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Breaking change A change expected to result in a new endpoint version. Proposal made The DSB has proposed a specific change to the standards to address the change request Security Change or question related to the information security profile
Projects
Status: Done
Development

No branches or pull requests

6 participants