RFC 9421 - HTTP Message Signatures (HTTP-Nachrichtensignaturen)
- Status: Proposed Standard
- Veröffentlicht: February 2024
- Stream: IETF
- Errata: Keine Errata
Abstract (Zusammenfassung)
Dieses Dokument beschreibt ein Verfahren zum Erstellen, Kodieren und Verifizieren digitaler Signaturen oder Message Authentication Codes (MACs) über Komponenten einer HTTP-Nachricht. Es unterstützt Fälle, in denen die vollständige Nachricht dem Signierenden nicht bekannt ist oder sie vor dem Verifizierenden transformiert wird. Es beschreibt außerdem, wie die Anwendung einer Signatur auf eine nachfolgende Nachricht in einem HTTP-Austausch angefordert werden kann.
Contents
- 1. Introduction (Einführung)
- 2. HTTP Message Components (HTTP-Nachrichtenkomponenten)
- 3. HTTP Message Signatures (HTTP-Nachrichtensignaturen)
- 4. Including a Message Signature in a Message (Nachrichtensignatur in eine Nachricht einfügen)
- 5. Requesting Signatures (Signaturen anfordern)
- 6. IANA Considerations (IANA-Überlegungen)
- 6.1. HTTP Field Name Registration (Registrierung von HTTP-Feldnamen)
- 6.2. HTTP Signature Algorithms Registry (Register HTTP-Signaturalgorithmen)
- 6.3. HTTP Signature Metadata Parameters Registry (Register Metadatenparameter)
- 6.4. HTTP Signature Derived Component Names Registry (Register abgeleiteter Komponentennamen)
- 6.5. HTTP Signature Component Parameters Registry (Register Komponentenparameter)
- 7. Security Considerations (Sicherheitsüberlegungen)
- 7.1. General Considerations (Allgemeines)
- 7.2. Message Processing and Selection (Nachrichtenverarbeitung und -auswahl)
- 7.2.1. Insufficient Coverage (Unzureichende Abdeckung)
- 7.2.2. Signature Replay (Signatur-Replay)
- 7.2.3. Choosing Message Components (Wahl der Nachrichtenkomponenten)
- 7.2.4. Choosing Signature Parameters and Derived Components over HTTP Fields (Parameter und abgeleitete Komponenten statt Felder)
- 7.2.5. Signature Labels (Signatur-Labels)
- 7.2.6. Multiple Signature Confusion (Verwirrung durch mehrere Signaturen)
- 7.2.7. Collision of Application-Specific Signature Tag (Kollision des Anwendungs-Tags)
- 7.2.8. Message Content (Nachrichteninhalt)
- 7.3. Cryptographic Considerations (Kryptografische Überlegungen)
- 7.3.1. Cryptography and Signature Collision (Kryptografie und Signaturkollision)
- 7.3.2. Key Theft (Schlüsseldiebstahl)
- 7.3.3. Symmetric Cryptography (Symmetrische Kryptografie)
- 7.3.4. Key Specification Mixup (Verwechslung von Schlüsselspezifikationen)
- 7.3.5. Non-deterministic Signature Primitives (Nicht-deterministische Signaturprimitive)
- 7.3.6. Key and Algorithm Specification Downgrades (Downgrade von Schlüssel und Algorithmus)
- 7.3.7. Signing Signature Values (Signieren von Signaturwerten)
- 7.4. Matching Signature Parameters to the Target Message (Parameter und Zielnachricht)
- 7.5. HTTP Processing (HTTP-Verarbeitung)
- 7.5.1. Processing Invalid HTTP Field Names as Derived Component Names (Ungültige Feldnamen)
- 7.5.2. Semantically Equivalent Field Values (Semantisch äquivalente Feldwerte)
- 7.5.3. Parsing Structured Field Values (Structured Fields parsen)
- 7.5.4. HTTP Versions and Component Ambiguity (HTTP-Versionen und Mehrdeutigkeit)
- 7.5.5. Canonicalization Attacks (Kanonisierungsangriffe)
- 7.5.6. Non-List Field Values (Nicht-Listen-Feldwerte)
- 7.5.7. Padding Attacks with Multiple Field Values (Padding mit mehrfachen Feldwerten)
- 7.5.8. Ambiguous Handling of Query Elements (Mehrdeutige Query-Elemente)
- 8. Privacy Considerations (Datenschutzüberlegungen)
- 9. References (Referenzen)
- Appendix A. Detecting HTTP Message Signatures (Erkennung von HTTP-Nachrichtensignaturen)
- Appendix B. Examples (Beispiele)
- Acknowledgements (Danksagungen)
- Authors' Addresses (Anschriften der Autoren)