-
Notifications
You must be signed in to change notification settings - Fork 415
MSC4312: Resetting cross-signing keys in the OAuth world #4312
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
MSC4312: Resetting cross-signing keys in the OAuth world #4312
Conversation
Signed-off-by: Johannes Marbach <[email protected]>
cc0517c to
e78bc09
Compare
|
MAS lists the Does this need to be added to this MSC? |
Signed-off-by: Johannes Marbach <[email protected]>
Good point. I hadn't noticed that MSC4191 doesn't list this action. Have added it here with a781be5. |
|
|
||
| Rather than approving cross-signing reset specifically, the authorization server could provide | ||
| mechanisms for temporary scope elevation. | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Following a discussion with @erikjohnston earlier it might be helpful to elaborate on this:
| An example of a potential mechanism that could help achieve this is the | |
| [RFC 9470 OAuth 2.0 Step Up Authentication Challenge Protocol](https://datatracker.ietf.org/doc/rfc9470/). | |
| Theoretically such a mechanism could act as full replacement for UIA in the CS API | |
| where protection is needed for sensitive actions. | |
| However, the is no proposal on how this would be applied to the CS API and therefore | |
| it is proposed to codify this present mechanism that does allow for the specific | |
| cross-signing reset action. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This feels like the correct solution?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, it probably is. This proposal was originally only intended to document the status quo that I found on matrix.org so that it could be reused by other implementations in the interim. It doesn't feel great to add this into the spec. If the good solution is far away though, it might be better than the current situation where the spec renders the OAuth login APIs and cross-signing key reset incompatible.
I applied @hughns suggestion separately with d8649fb but will leave this thread open in case there's further input.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It may not change the plan for this proposal but I have tried to adapt RFC9470 to Matrix in #4363.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that this is already deployed on matrix.org ( 😢 ), and Element-Web implements support for it (cf element-hq/element-meta#2956), I think we had better spec what we have asap and leave the Correct Solution for another time.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
otherwise lgtm
|
MSCs proposed for Final Comment Period (FCP) should meet the requirements outlined in the checklist prior to being accepted into the spec. This checklist is a bit long, but aims to reduce the number of follow-on MSCs after a feature lands. SCT members: please check off things you check for, and raise a concern against FCP if the checklist is incomplete. If an item doesn't apply, prefer to check it rather than remove it. Unchecking items is encouraged where applicable. MSC authors: feel free to ask in a thread on your MSC or in the#matrix-spec:matrix.org room for clarification of any of these points.
|
|
Team member @mscbot has proposed to merge this. The next step is review by the rest of the tagged people: Concerns:
Once at least 75% of reviewers approve (and there are no outstanding concerns), this will enter its final comment period. If you spot a major issue that hasn't been raised at any point in this process, please speak up! See this document for information about what commands tagged team members can give me. |
|
@mscbot concern Is not documenting the current in-the-wild implementation |
… identifier Signed-off-by: Johannes Marbach <[email protected]>
|
@mscbot resolve Is not documenting the current in-the-wild implementation |
1 similar comment
|
@mscbot resolve Is not documenting the current in-the-wild implementation |
Signed-off-by: Johannes Marbach <[email protected]>
|
To write it out explicitly -- I'm pretty meh on this change (probably a -0.3), but not enough to block it. |
|
🔔 This is now entering its final comment period, as per the review above. 🔔 |
|
The final comment period, with a disposition to merge, as per the review above, is now complete. |
|
Spec PR: matrix-org/matrix-spec#2234 |
Rendered
Implementations:
org.matrix.cross_signing_resetUIA stage flow element-hq/matrix-react-sdk#34ScreenRecording_09-25-2025.16-32-30_2.mov
SCT Stuff:
FCP tickyboxes
MSC checklist