Zum Hauptinhalt springen

1. Einleitung

1. Einleitung​

Das Web-Push-Protokoll [RFC8030] ist zwangsläufig ein vermitteltes Protokoll. Nachrichten eines Anwendungsservers werden über einen Push-Dienst (push service) an einen User-Agent (UA) zugestellt, wie Abbildung 1 zeigt.

+-------+           +--------------+       +-------------+
| UA | | Push Service | | Application |
+-------+ +--------------+ +-------------+
| | |
| Setup | |
|<====================>| |
| Provide Subscription |
|-------------------------------------------->|
| | |
: : :
| | Push Message |
| Push Message |<---------------------|
|<---------------------| |
| | |

Abbildung 1

Dieses Dokument beschreibt, wie mit diesem Protokoll gesendete Nachrichten vor Ausspähen, Veränderung und Fälschung durch den Push-Dienst geschützt werden können.

Web-Push-Nachrichten sind die Nutzlast einer HTTP-Nachricht [RFC7230]. Sie werden mit einer verschlüsselten Inhaltskodierung (encrypted content encoding) [RFC8188] geschützt. Dieses Dokument erläutert die Anwendung dieser Kodierung und ein empfohlenes Schlüsselmanagement.

Mehrere Nutzer von Web Push auf demselben User-Agent teilen sich oft einen zentralen Agenten, der Push-Funktionalität bündelt. Dieser Agent kann die Nutzung dieses Verschlüsselungsschemas für Anwendungen mit Push-Nachrichten erzwingen. Ein Agent, der nur korrekt verschlüsselte Nachrichten zustellt, fördert den Ende-zu-Ende-Schutz der Nachrichten stark.

Ein Webbrowser, der die Push API [API] implementiert, kann die Verschlüsselung erzwingen, indem er nur korrekt verschlüsselte Nachrichten weiterleitet.

1.1. Notationelle Konventionen​

Die Schlüsselwörter „MUST“, „MUST NOT“, „REQUIRED“, „SHALL“, „SHALL NOT“, „SHOULD“, „SHOULD NOT“, „RECOMMENDED“, „NOT RECOMMENDED“, „MAY“ und „OPTIONAL“ in diesem Dokument sind wie in BCP 14 [RFC2119] [RFC8174] beschrieben zu interpretieren, und zwar nur, wenn sie wie hier in Großbuchstaben erscheinen.

Dieses Dokument verwendet die Terminologie aus [RFC8030], insbesondere „user agent“, „push service“ und „application server“.