Aller au contenu
ecdsa.com

Signatures de messages HTTP

La norme de l’IETF (RFC 9421, février 2024) pour signer des composants choisis d’une requête ou d’une réponse HTTP, la signature étant transportée dans les champs d’en-tête Signature-Input et Signature.
Autres graphiesRFC 9421Signature-InputHTTP signaturesHTTPSig

Le signataire liste dans Signature-Input les composants couverts (des composants dérivés tels que @method, @authority, @path, @query, @status, et des champs d’en-tête tels que content-digest) avec les paramètres created, expires, nonce, keyid, alg et tag ; la base de signature est un texte canonique construit à partir de ces valeurs, et Signature contient le résultat. Les algorithmes comprennent ecdsa-p256-sha256 (r‖s brut), ed25519, rsa-pss-sha512 et hmac-sha256.

Pour couvrir le corps, il faut un en-tête Content-Digest (RFC 9530). Comme des intermédiaires peuvent réécrire les en-têtes, les signataires devraient ne couvrir que les composants qui survivent au trajet. Parmi les usages : Web Bot Auth pour identifier les clients automatisés, le profil de signature de messages de FAPI 2.0, la fédération de type Mastodon, qui abandonne les anciennes signatures draft-cavage, et la signature des webhooks.

L’outil de signatures de messages HTTP construit la base de signature et vérifie les signatures localement.

Normes et références

Tous les termes