Repository navigation
Conversation
38d9eb8 to
f7874fe
Compare
|
I'd like to resume the discussion/evaluation of this feature. As we stand, there were two concerns for which I'm seeking further comments from @michielbdejong, @MahdiBaghbani and whoever wants to contribute:
Finally, I remember @mickenordin suggesting that we do not need (any longer) to expose the list of nodes of the federation as an additional endpoint at |
This commit introduces two modes for a distributed directory, one 'gossip-based' or peer-based and one MLS-based. This change was produced with Claude and is still WIP.
|
During the OCM checkpoint meeting, a question came up how this relates to existing (academic) federation infrastructures and federation groups, such as eduGAIN, REFEDS, MyAccessID, etc. Some research around the topic suggests that OpenID Federation might be the closest match and overlap, and that the relationship and binding should be specified better. In general, an AI review of the PR came up with 8 questions that might need to be considered. I have reviewed them and all seem to be valid points, especially the security relevant questions. If we move to v2.0 with MUST for security related features, we SHOULD NOT introduce a new threat model through the distributed directory service. Here are the review questions, with question 7 addressing the OpenID Federation. 1. Who may announce, and do receivers auto-apply? 2. Revocation semantics. 3. MLS mode: Authentication Service and Delivery Service.
4. Reusing 5. Relationship to the existing signed JWS list (Appendix C). 6. Membership carries no metadata or policy. 7. Possible alternative binding: OpenID Federation. 8. Security considerations. |
mickenordin
left a comment
There was a problem hiding this comment.
One thing which I think is tripping us up, is that we are using "Federation" to mean to different things.
One: A collection of servers that trust each other and have a shared governance structure.
Two: a group distributed across multiple servers
I have a hard time coming up with good terminalogy, but I think we should perhaps reserve the term "Federation" for the first concept. Thus a federation is a collection of servers that are configured in such a way that they trust each other based on a shared governance structure.
For the second concept, we could call it a distributed group,which is contrasted with a local group. That would mean that we remove the shareType federation and introduce a distributed-group shareType or even a mls-group in addition to the user and group. If we want a distinct term perhaps we could introduce cluster or syndicate for this, although it may seem contrived.
For this pr, it would mean that anytime "Federation" is mentioned, it should be in IETF-OCM.md and any time distrubuted-group or what ever we choose for the shareType terminology, it is in IETF-OCM-MLS.md.
What do you think?
This makes very much sense to me. After all, the people-related federation was never implemented until now and we are more at ease with breaking with the past. I'm not great at terminology but what about |
|
Also concerning the AI-generated review we discussed with @sunetfreitag, there are a couple of valid points:
Yes, that can trivially be added, but indeed the intended behavior is that there's never an automatic inclusion of peers.
This is a bit trickier and we have to work on that.
Same here, let's see with @mickenordin on this.
OK here the proposal to use
Possibly to be better specified, but a new server gets its initial view from a configured list of servers, and by probing their directories. If the configuration is empty, a new server's federation is made of just itself.
I'm not sure we want to go that far, I mean the additional metadata IMHO is out of scope for OCM.
I investigated a bit how the OIDFed works, but as I understand it, it's intrinsically hierarchical, whereas we are trying to propose a peer-to-peer model. On top of that, it seems you can't "remove" members, and removal is based on expiry. So I'm not that sure it would fit our context: as much as it would be great to adopt something existing, we should not bend it beyond reason.
Noted, to do as well. |
This is all fully specified in OCM-MLS, except for the first point, where we would need to introduce a server ocm-address, perhaps that is just the domain without a local part. The group owning server orders the commits. The member that are allowed to commit proposals is the server that is the group owning server. |
This PR evolves the Directory Service and makes it distributed, with two models:
In both cases, the concept is that a human administrator decides whether an OCM Server is member of a federation. Injecting a pre-populated list of servers by configuration remains possible.
Technically, two new notifications are now defined,
OCM_SERVER_ADDEDandOCM_SERVER_REMOVED, which usefederationasshareType. This is a deliberate choice so thatfederationrefers both to a group of users spanning multiple servers - managed via MLS - and to a group of servers - managed via direct notification or via MLS.