Zum Hauptinhalt springen

3.3. Signature Algorithms (Signaturalgorithmen)

3.3. Signature Algorithms (Signaturalgorithmen)

Eine HTTP-Nachrichtensignatur MUSS ein kryptografisches digitales Signatur- oder MAC-Verfahren verwenden, das zu Schlüsselmaterial, Umgebung und Bedürfnissen von Signierendem und Verifizierendem passt. Diese Spezifikation beschränkt die verfügbaren Algorithmen nicht streng; jeder Algorithmus, der diese Grundanforderungen erfüllt, KANN von einer Anwendung von HTTP-Nachrichtensignaturen genutzt werden.

Für jede Signiermethode nimmt HTTP_SIGN als Eingabe die Signaturbasis aus Abschnitt 2.5 als Byte-Array (M) und das Signierschlüsselmaterial (Ks) und liefert die Signatur als Byte-Array (S):

HTTP_SIGN (M, Ks) -> S

Für jede Verifikationsmethode nimmt HTTP_VERIFY die neu erzeugte Signaturbasis (M), das Verifikationsschlüsselmaterial (Kv) und die vorliegende Signatur (S) und liefert das boolesche Ergebnis (V):

HTTP_VERIFY (M, Kv, S) -> V

Die folgenden Abschnitte beschreiben gängige Signaturalgorithmen und zeigen, wie sie auf HTTP_SIGN und HTTP_VERIFY abbilden. Die Wahl kann über den expliziten Signaturparameter alg (Abschnitt 2.3), Bezug auf das Schlüsselmaterial oder gegenseitige Vereinbarung erfolgen. Über alg gewählte Algorithmen MÜSSEN Werte aus dem Register „HTTP Signature Algorithms“ (Abschnitt 6.2) verwenden.