Zum Hauptinhalt springen

1.1. Conventions and Terminology (Konventionen und Terminologie)

1.1. Conventions and Terminology (Konventionen und Terminologie)

Die Schlüsselwörter „MUST“, „MUST NOT“, „REQUIRED“, „SHALL“, „SHALL NOT“, „SHOULD“, „SHOULD NOT“, „RECOMMENDED“, „NOT RECOMMENDED“, „MAY“ und „OPTIONAL“ sind wie in BCP 14 [RFC2119] [RFC8174] zu verstehen, sofern sie in Großbuchstaben wie hier gezeigt erscheinen. In dieser deutschen Fassung werden sie sinngemäß als MUSS, DARF NICHT, ERFORDERLICH, SOLLTE, SOLLTE NICHT, EMPFOHLEN, NICHT EMPFOHLEN, KANN bzw. OPTIONAL wiedergegeben, sobald sie im Fließtext übersetzt werden.

Die Begriffe „HTTP message“, „HTTP request“, „HTTP response“, „target URI“, „gateway“, „header field“, „intermediary“, „request target“, „trailer field“, „sender“, „method“ und „recipient“ werden wie in [HTTP] definiert verwendet.

Der Begriff „signature“ allein meint digitale Signaturen (asymmetrisch) und schlüsselgebundene MACs (symmetrisch). „sign“ bezeichnet die Erzeugung einer der beiden über eine Signaturbasis. „Digital signature“ meint ausdrücklich das Ergebnis einer asymmetrischen Signieroperation.

Aus [STRUCTURED-FIELDS], Abschnitt 3, werden die Datentypen List, Inner List, Dictionary, Item, String, Integer, Byte Sequence und Boolean verwendet.

ABNF [ABNF]: VCHAR, SP, DQUOTE, LF; aus [STRUCTURED-FIELDS]: sf-string, inner-list, parameters; aus [HTTP]/[HTTP/1.1]: field-content, obs-fold, obs-text.

Weitere Begriffe:

HTTP Message Signature (HTTP-Nachrichtensignatur): Digitale Signatur oder MAC über einen oder mehrere Teile einer HTTP-Nachricht; eine Nachricht kann mehrere solcher Signaturen tragen.

Signer (Signierende): Entität, die eine HTTP-Nachrichtensignatur erzeugt oder erzeugt hat; mehrere Signierende sind möglich.

Verifier (Verifizierende): Entität, die eine Signatur gegen eine Nachricht prüft; mehrfache Verifikation ist möglich.

HTTP Message Component: Teil einer HTTP-Nachricht, der von einer Signatur abgedeckt werden kann.

Derived Component (abgeleitete Komponente): Aus der Nachricht per festgelegtem Verfahren abgeleitet (Abschnitt 2.2).

HTTP Message Component Name: String, der die Quelle identifiziert (Feldname oder Name abgeleiteter Komponente).

HTTP Message Component Identifier: Name plus Parameter; identifiziert eindeutig eine Komponente bezüglich Signatur und Nachricht.

HTTP Message Component Value: Wert zum Identifier im Kontext der Nachricht; meist kanonisiert.

Covered Components: Geordnete Menge der Identifikatoren abgedeckter Felder und abgeleiteter Komponenten, ohne @signature-params; Reihenfolge wird beibehalten.

Signature Base (Signaturbasis): Bytefolge aus abgedeckten Komponenten und Nachricht; Eingabe des kryptografischen Algorithmus.

HTTP Message Signature Algorithm: Algorithmus in Form der Primitive HTTP_SIGN und HTTP_VERIFY (Abschnitt 3.3).

Key Material: Schlüsselmaterial zum Signieren/Verifizieren, oft mit keyid.

Creation Time / Expiration Time: Zeitstempel (vom Signierenden angegeben).

Target Message: Nachricht, auf die die Signatur angewendet wird.

Signature Context: Quelle der Komponentenwerte (Zielnachricht, ggf. Anfrage zu einer Antwort, Konfiguration).

UNIX timestamp: wie in [POSIX.1], Abschnitt 4.16 („seconds since the Epoch“).

Nicht normative Beispiele können mit abschließendem \ gemäß [RFC8792] umbrechen; \ und führende Leerzeichen der Fortsetzungszeilen gehören nicht zum Wert.