Zusammenfassung

  • draft-mahy-mls-semiprivatemessage-07 gibt ausgewählten externen Empfängern private Commit- oder Proposal-Inhalte, ohne daraus eine PublicMessage zu machen.
  • Der Empfänger erhält Schlüssel, Nonce, Wiederverwendungsschutz und Leaf-Index per HPKE; die Signaturprüfung setzt jedoch den passenden GroupContext voraus.
  • Entschlüsselung, gleicher Inhalt, aktuelle Epoche, authentifizierter Sender, Empfängerbefugnis und Betriebsergebnis sind getrennte Belege. Revision 07 ist vorläufig und ihre Sicherheitsanalyse bleibt offen.

Ein Föderationsdienst kann seinen HPKE-Eintrag öffnen, den Handshake entschlüsseln und mit framed_content_tbs_hash bestätigen, dass Mitglieder und Dienst denselben Inhalt erhielten. Trotzdem fehlt ihm womöglich der Beleg, wer gesendet hat.

SemiPrivateMessage 07 erklärt warum: Externe Empfänger können encrypted_sender_data nicht entschlüsseln. Der sender_leaf_index wird daher mit dem Nachrichtenschlüssel verpackt. Er zeigt auf eine Stelle im Gruppenstaat, ist aber ohne Credential und Epoche keine eigenständige Identität.

Weniger Öffentlichkeit ist keine Vollmacht

RFC 9420 kennt öffentliche und private Formate. Ein verteilter Dienst braucht in föderierten Umgebungen womöglich Commit und Proposal, ohne sie allen Beobachtern zu zeigen. Der Entwurf setzt deshalb external_receivers in den GroupContext und beschränkt das neue Format auf Handshakes.

Die Gruppe muss das Format verlangen, Leafs müssen es unterstützen, und die Liste muss einen Empfänger enthalten. Unterstützungsanzeige, Gruppenentscheidung und tatsächliche Verarbeitung bleiben verschiedene Zustände.

Für jeden Empfänger verpackt der Sender mit HPKE Nachrichtenschlüssel, Nonce, reuse_guard und Leaf-Index. Group ID, epoch sowie ein Hash aus Index und Nonce binden den Kontext. Danach wird der gemeinsame Ciphertext geöffnet.

Inhaltsgleichheit ist keine Herkunftsaussage

Der framed_content_tbs_hash deckt abweichende Inhalte für Mitglieder und externe Empfänger auf. Er bescheinigt Gleichheit, nicht institutionelle Zulassung.

Beleg Beweist Beweist nicht
Empfängerreferenz Passender Eintrag existiert Aktuelle Zulassung
HPKE-Erfolg Externer Schlüssel öffnet Material MLS-Senderidentität
AEAD-Erfolg Ciphertext und AAD sind intakt Frischer GroupContext
Gleicher Hash Beide Seiten sehen denselben Inhalt Anwendung des Commit
Gültige Signatur Sender passt zum verwendeten Gruppenstaat Handlungsrecht des Dienstes
Betriebsbeleg Eine konkrete Verarbeitung fand statt Gruppenweite Konvergenz

Ohne GroupContext lautet der ehrliche Zustand: entschlüsselt, inhaltsgebunden, Authentifizierung ausstehend. Fehlender Kontext ist keine ungültige Signatur; gültige Signatur ist keine Betriebsbefugnis.

Kontext braucht Herkunft

Ein Dienst kann Epoche N speichern und N+1 empfangen, nach Entfernung alte Schlüssel besitzen oder auf ein Leaf mit neuem Credential zeigen. Kryptografische Bindung verhindert einfaches Umpflanzen, verteilt aber nicht den vollständigen GroupContext und bestimmt keine Aufbewahrung.

Der Beleg braucht Version, Format, Group ID, epoch, Digest, Herkunft und Zeitpunkt des Kontexts, Empfängerdescriptor und Credential, Zulassungsinstanz, HPKE-Ergebnis, Leaf-Index, Content-Hash, Signaturstatus nicht ausgeführt/bestanden/fehlgeschlagen, verwendetes Credential, lokale Entscheidung und Folgeergebnis.

Die Empfängerliste ist für Mitglieder sichtbar. Damit wird die Machtfrage prüfbar: Wer darf einen Dienst hinzufügen und wer zieht alte Schlüssel ein? The Policy Mirror verlangt Akteur, Regel, Umfang und Folge, wo eine technische Liste zur Delegation wird.

Unfertigkeit offenlegen

Revision 07 ist ein individueller Internet-Draft. IANA-Werte sind TBD; das MLS-Register weist sie nicht zu, und RFC 8126 zertifiziert keine Implementierung. Security Considerations enthält weiterhin TODO More Security. Ein Pilot ist möglich, eine abgeschlossene Sicherheitsgarantie nicht.

Quellen