8. Security Considerations
8. Security Considerations
Das Protokoll MUST HTTP über TLS [RFC2818] gemäß [RFC7525] zwischen User Agent und Push-Dienst sowie zwischen Anwendungsserver und Push-Dienst verwenden. Alle URIs nutzen https für Vertraulichkeit und Integrität gegenüber Dritten.
8.1. Confidentiality from Push Service Access
TLS schützt den Inhalt nicht vor dem Push-Dienst. Ohne zusätzliche Maßnahmen kann dieser Inhalt lesen und ändern.
Anwendungen MUST Ende-zu-Ende-Vertraulichkeit, Integrität und Datenursprungsauthentisierung bereitstellen. Häufig sind Server- und Clientkomponenten dieselbe Anwendung; Abonnementverteilung unterstützt Schlüsselvereinbarung.
Die W3C Push API [API] nutzt [ENCRYPT] gegen den Dienst.
Topic ermöglicht feinere Korrelation und kann Traffic-Analyse unterstützen.
8.2. Privacy Considerations
Nachrichtenvertraulichkeit schützt nicht wer wann kommuniziert; die Menge exponierter Daten kann begrenzt werden.
Push-URIs MUST NOT Korrelation für einen User Agent ermöglichen; zwei Push-URIs MUST NOT allein aus dem Inhalt korrelierbar sein.
Push-Message-URIs MUST NOT Korrelation über Abonnements hinweg erlauben; innerhalb eines Abonnements MAY Korrelationshinweise enthalten sein.
Nutzer- und Geräteinformationen MUST NOT in Push- oder Message-URIs stehen.
Push-URIs desselben User Agents bzw. Message-URIs desselben Abonnements MUST NOT den User Agent korrelierbar machen.
Hinweis: Anonymitätsmenge ([RFC6973], 6.1.1) muss ausreichend groß sein.
Der User Agent MUST jederzeit neue Abonnements mit neuen Identifikatoren erstellen können.
8.3. Authorization
Das Protokoll regelt nicht, wie der Dienst Berechtigungen prüft. Der Dienst MAY jede HTTP-kompatible Autorisierung nutzen; Konfiguration erfolgt mit der Push-Service-URL im User Agent.
Capability URLs [CAP-URI] für Abonnement-, Push- und Quittungsressourcen: Wissen um die URL genügt.
Vorteile: einfaches Teilen und einfache Client-APIs ohne zusätzliche Vereinbarungen.
Bearer-Token-Semantik wie im englischen Original beschrieben; mindestens 120 Bit Zufallsentropie im Pfad erschweren Raten.
8.4. Denial-of-Service Considerations
Verteilung der Push-URI nur an autorisierte Server begrenzt die Quelle. Schwer erratbare URIs helfen.
Nicht authentisierte Nachrichten werden nicht zugestellt, können aber Batterien leeren.
Die Push API nutzt [VAPID], um Abonnements an Server zu binden; der Dienst kann Spam ohne User-Agent-Kontakt ablehnen.
Bösartige Nutzung gültiger URIs mit Dienstressourcen: der Dienst SHOULD Raten pro User Agent begrenzen.
Bei Überschreitung MAY 429 [RFC6585]; SHOULD Retry-After [RFC7231].
Abonnements mit zu vielen Nachrichten MAY beendet werden (7.3).
Der Dienst kann User Agents auch verweigern; absichtliches Versagen ist schwer von Ausfällen zu unterscheiden.
8.5. Logging Risks
Server-Logs können Abonnement-URIs oder Beziehungen offenlegen. Kürzere Aufbewahrung und Zugriffskontrollen mindern das Risiko.