Skip to content

Commit ed3d25a

Browse files
committed
Further simplifications
1 parent f7874fe commit ed3d25a

2 files changed

Lines changed: 32 additions & 39 deletions

File tree

‎IETF-OCM.md‎

Lines changed: 32 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -586,12 +586,11 @@ _Directory Service_, and is typically used to populate a WAYF Page
586586
seed the registry of _Trusted Servers_.
587587

588588
An OCM Server MAY be a member of multiple Federations. In that case,
589-
its Directory Service exposes one document per Federation, and the
590-
OCM Server uses the union of the respective lists for the purposes
591-
above. Conversely, a Federation MAY include OCM Servers that are
592-
themselves members of other Federations: membership is not exclusive,
593-
and no transitivity is implied. In particular, the fact that a given
594-
OCM Server is a member of two Federations does not, in itself, make
589+
its Directory Service exposes all of them (see below), and the OCM
590+
Server uses the union of the respective lists for the purposes above.
591+
Conversely, a Federation MAY include OCM Servers that are themselves
592+
members of other Federations. Note that the fact that a given OCM
593+
Server is a member of two Federations does not, in itself, make
595594
the members of one Federation trusted by the members of the other.
596595

597596
The Directory Service is deliberately distributed and does not require
@@ -608,8 +607,7 @@ one. Two operating models are defined:
608607
managed as an MLS [RFC9420] group of OCM Servers as specified in
609608
[OCM-MLS], so that the membership of the Federation is attested by
610609
the MLS group state rather than by the individual configuration of
611-
each member. See
612-
[MLS-based Directory](#mls-based-directory).
610+
each member. See [MLS-based Directory](#mls-based-directory).
613611

614612
In both models, the membership is published in the same format at the
615613
same endpoint, so that a consumer of a Directory Service does not need
@@ -636,15 +634,14 @@ specified below, when the OCM Server is a member of exactly one
636634
Federation, or a JSON array of Federation objects, one per Federation.
637635
Consumers MUST accept both forms.
638636

639-
The document is not signed. The membership it exposes is not
640-
self-attesting, and a consumer MUST NOT treat it as an authorisation
641-
to interact with the OCM Servers it lists: it is a proposal, whose
642-
trust is established elsewhere. In the peer-announced model that is the
643-
agreement of the OCM Server Administrators, each of whom approves
644-
every member of their own Federation configuration (see [Peer-announced
645-
Directory](#peer-announced-directory)); in the MLS-based model it is the
646-
MLS group state, which is cryptographically verifiable by every member
647-
(see [MLS-based Directory](#mls-based-directory)). In either case a
637+
The document is not signed. A consumer MUST NOT consider the listed
638+
OCM Servers as implicitly trustworthy. In the peer-announced model,
639+
trust resides with the agreement of the OCM Server Administrators, each
640+
of whom approves every member of their own Federation configuration (see
641+
[Peer-announced Directory](#peer-announced-directory)); in the MLS-based
642+
model, the cryptographically verifiable MLS group state guarantees
643+
that the list is trustworthy (see
644+
[MLS-based Directory](#mls-based-directory)). In either case a
648645
consumer MUST fetch the document over TLS, so that it is attributable
649646
to the host it was fetched from.
650647

@@ -723,8 +720,12 @@ And of a member of two Federations:
723720
"name": "The ScienceMesh Directory",
724721
"servers": [
725722
{
726-
"url": "https://ocm-server.example.org",
723+
"url": "https://ocm-server-1.example.org",
727724
"displayName": "OCM Server 1"
725+
},
726+
{
727+
"url": "https://ocm-server-2.example.org",
728+
"displayName": "OCM Server 2"
728729
}
729730
]
730731
},
@@ -734,8 +735,12 @@ And of a member of two Federations:
734735
"mlsGroupId": "51dc30ddc473d43a6011e9ebba6ca770",
735736
"servers": [
736737
{
737-
"url": "https://ocm-server.example.com:4443",
738-
"displayName": "OCM Server 2"
738+
"url": "https://ocm-server-1.example.org",
739+
"displayName": "OCM Server 1"
740+
},
741+
{
742+
"url": "https://ocm-server-3.example.com:4443",
743+
"displayName": "OCM Server 3"
739744
}
740745
]
741746
}
@@ -754,19 +759,13 @@ propagated by means of the `OCM_SERVER_ADDED` and
754759
Membership](#federation-membership)), such that the members of a
755760
Federation eventually converge to a consistent membership.
756761

757-
This model is sometimes informally described as gossip-based. This
758-
document avoids that term: unlike an epidemic gossip protocol, an
759-
announcement here concerns only the sender's own directory, is sent
760-
only to a peer the sender's Administrator deliberately added, and is
761-
acted upon only after the receiving Administrator agrees.
762-
763-
Both Notifications carry the same, deliberately narrow meaning: an OCM
764-
Server A sends one to an OCM Server B to inform B that A's directory
765-
for a given Federation now contains B, respectively no longer contains
766-
B. A never asserts anything about the presence of a third server: B
767-
learns about the rest of the Federation by fetching A's Directory
768-
Endpoint, not from the notification itself. This keeps every statement
769-
on the wire attributable to the Administrator who made it.
762+
Both Notifications carry the same meaning: an OCM Server A sends one
763+
to an OCM Server B to inform B that A's directory for a given Federation
764+
now contains B, respectively no longer contains B. A never asserts
765+
anything about the presence of a third server: B learns about the rest
766+
of the Federation by fetching A's Directory Endpoint, not from the
767+
notification itself. This keeps every statement on the wire
768+
attributable to the Administrator who made it.
770769

771770
### Adding a Member
772771

@@ -1953,11 +1952,6 @@ Further, the `notification` object MUST include the following fields:
19531952
in [Directory Payload](#directory-payload). The target OCM
19541953
Server SHOULD verify that this URL identifies itself, and SHOULD
19551954
discard the notification otherwise.
1956-
* OPTIONAL directoryEndPoint (string) - the URL of the sender's
1957-
Directory Endpoint, as a hint. If omitted, the recipient MUST
1958-
obtain it from the `directoryEndPoint` field of the sender's
1959-
Discovery response; if the two values differ, the recipient MUST
1960-
use the discovered one.
19611955
* OPTIONAL mlsGroupId (string) - the identifier of the MLS group
19621956
that manages the Federation, when the model described in
19631957
[MLS-based Directory](#mls-based-directory) is in use.

‎spec.yaml‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1156,7 +1156,6 @@ components:
11561156
federationId: sciencemesh
11571157
name: The ScienceMesh Directory
11581158
url: https://cloud.example.org
1159-
directoryEndPoint: https://ocm-server.example.org/ocm/directory
11601159
ocmServerWasRemoved:
11611160
notificationType: OCM_SERVER_REMOVED
11621161
shareType: federation

0 commit comments

Comments
 (0)