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

Maintenance Iteration 19 Holistic Feedback #638

Closed
CDR-API-Stream opened this issue Apr 9, 2024 · 3 comments
Closed

Maintenance Iteration 19 Holistic Feedback #638

CDR-API-Stream opened this issue Apr 9, 2024 · 3 comments
Labels
No change The DSB proposes no change to the Standards is required to address this issue.
Milestone

Comments

@CDR-API-Stream
Copy link
Collaborator

This change request has been created to simplify the raising of minor changes, such as text corrections or description clarifications, that are not really material to the standards but do have a real impact on readability and clarity.

Please raise any such suggestions that you would like included in Maintenance Iteration 19 on this issue and the DSB will review them. If a suggestion is a material change a dedicated CR will be raised.

@perlboy
Copy link

perlboy commented Apr 9, 2024

#561

@CDR-API-Stream CDR-API-Stream moved this from Full Backlog to Iteration Candidates in Data Standards Maintenance Apr 30, 2024
@nils-work nils-work added the Non-breaking change A change that is not expected to result in a new endpoint version. label May 1, 2024
@benkolera
Copy link

benkolera commented May 30, 2024

As discussed in the Implementation call 2024-05-30, I asked the question clarifying two parts of the current infosec standards around JARM encryption for recipients that appear to be in some conflict.

Data Recipient Software Products

Data Recipients MUST support [JARM] in accordance with [FAPI-1.0-Advanced] section 5.2.3.2.

In addition,

Data Recipients MUST request authorisation response signing using one of the authorization_signing_alg_values_supported values offered by the Data Holder.
Data Recipients MAY request response encryption using one of the advertised encryption sets.
Data Recipients MAY request no response encryption by omitting the values in their client registration.
If authorization_signed_response_alg is omitted, the default algorithm is "PS256".
Additional requirements and guidelines for the authentication flows are contained in the Consumer Experience section. 

and

JARM Response Encryption Considerations

If Data Holders support authorisation response encryption, they MUST support, at a minimum, one of each of the following alg and enc algorithms:

Claim	Values
authorization_encryption_alg_values_supported	RSA-OAEP, RSA-OAEP-256
authorization_encryption_enc_values_supported	A256GCM, A128CBC-HS256

Data Recipients MUST support the minimum required algorithms.

I know when we were discussing JARM standardisation we tried to make it as optional as possible, but personally could not remember whether there were any cases where ADRs were forced to support it even if they didn't want JWE. GIven that DCRs are requests only, there might have been legitimate cases where some DH IdPs might ignore the request for no JARM JWE and enable it anyway.

@markverstege in the call said the intent of this was actually only that an ADR only needs to support the minimum algorithms only if they are requesting encryption and that an ADR that does not request encryption does not need to support all of the encryption algorithms.

It's probably worth bringing up in the final MI call to just run it by folk that might remember something that Mark and I do not, but otherwise clarifying that final point to:

If requesting JARM response encryption, Data Recipients MUST support the minimum required algorithms.

would be awesome. :) I am a bit suspicious that there is context I am missing, though, given it doesn't really make sense to force full support of the minimum set either given it's optional and the ADR can always fall back to non JWE anyway if they don't support the enc alg of the holder. Like JARM JWE is either optional (and the ADR can choose an alg supported by the holder and not banned by fapi), or it's not, and even with the clarification the statement feels a little weird.

Edit after reading more standards

Sorry, I found in the standards the bit I was thinking about. The section above in the DH section for JARM says:

If the Data Holder supports authorisation response encryption and the authorization_encrypted_response_alg is 
omitted from the registration request, the Data Holder MAY require response encryption by returning a client 
registration response with the chosen “authorization_encrypted_response_alg” value.

So this means that the ADRs do actually have support all enc algs "just in case". If my memory serves, it was because some holders had already implemented JARM that always forced on JWE and we had to cater for those cases in the standards. Later on, this seems like a very expensive thing for ADRs to have to support (especially for new entrants to the ecosystem) for an edge case where we're not sure of how many holders there are that actually still need lean on this extra clause and need to force JARM JWE.

After all of this rambling, is this worth an actual MI ticket to consider deprecating JARM JWE for good now the dust on fapi 1 uplift has passed?

@CDR-API-Stream
Copy link
Collaborator Author

Thanks @benkolera, it would be great if you could create an issue on the standards-maintenance repository to address this.

@CDR-API-Stream CDR-API-Stream added No change The DSB proposes no change to the Standards is required to address this issue. and removed Non-breaking change A change that is not expected to result in a new endpoint version. labels Jun 14, 2024
@CDR-API-Stream CDR-API-Stream moved this from Iteration Candidates to In Progress: Design in Data Standards Maintenance Jun 20, 2024
@CDR-API-Stream CDR-API-Stream moved this from In Progress: Design to In Progress: Staging in Data Standards Maintenance Jun 20, 2024
@nils-work nils-work added this to the v1.31.0 milestone Jun 21, 2024
@github-project-automation github-project-automation bot moved this from In Progress: Staging to Done in Data Standards Maintenance Jul 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
No change The DSB proposes no change to the Standards is required to address this issue.
Projects
Status: Done
Development

No branches or pull requests

4 participants