1.4. Application of HTTP Message Signatures (Anwendung)
1.4. Application of HTTP Message Signatures (Anwendung von HTTP-Nachrichtensignaturen)
HTTP-Nachrichtensignaturen sind ein allgemeines Werkzeug. Eine Anwendung oder ein Profil MUSS mindestens festlegen:
-
erwartete und erforderliche Komponenten-Identifikatoren (Abschnitt 2) und Signaturparameter (Abschnitt 2.3) in der Liste abgedeckter Komponenten (z. B.
Authorization, Parametercreated,Content-Digest[DIGEST],tagfür eine API); -
erwartete Structured-Field-Typen [STRUCTURED-FIELDS] für abgedeckte Felder/Parameter;
-
Abruf des Verifikationsschlüsselmaterials (z. B. über
keyid, Abschnitt 2.3); -
zulässige Signaturalgorithmen;
-
Angemessenheit des Verifikationsalgorithmus für Schlüssel und Kontext (z. B.
alg, Ableitung aus Schlüssel, Konfiguration); -
Angemessenheit von Schlüssel und Algorithmus für den Nachrichtenkontext (z. B. nur ECDSA, nur asymmetrisch);
-
Kontext zur Ableitung von Komponenten (meist Zielnachricht, ggf. externer Hostname);
-
bei Bindung Anfrage/Antwort (Abschnitt 2.4): alle nötigen Elemente beider Nachrichten;
-
Fehlermeldungen/-codes bei ungültiger Signatur, falschem Schlüssel, Zeitfenster, nicht berechenbarem Komponentenwert usw. (z. B. 401/403, 400 mit [RFC7807]/[RFC9457]).
Der Verifizierende muss alle Informationen zur Rekonstruktion der Signaturbasis haben (z. B. ursprüngliche URI hinter Reverse-Proxy, Abschnitt 7.4.3; Client-Zugriff auf alle signierten Teile bei Antwortsignaturen inkl. req, Abschnitt 2.4).
Profiling liegt bei der Anwendung; siehe Abschnitt 7, insbesondere Abdeckung (Abschnitte 7.2.1, 7.2.8). Vollständige Sicherheit erfordert Systemanalyse; historische Systeme wie AWS Signature Version 4 [AWS-SIGv4] sind nur Anregung, kein Ersatz.