Zum Hauptinhalt springen

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, Parameter created, Content-Digest [DIGEST], tag fü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.