Aller au contenu principal

B.2.1. Signature minimale avec rsa-pss-sha512

B.2.1. Signature minimale avec rsa-pss-sha512

Cet exemple présente une signature minimale avec l'algorithme rsa-pss-sha512 sur test-request, sans couvrir aucun composant du message HTTP mais en fournissant une preuve de signature horodatée de possession de la clé avec un nonce fourni par le signataire.

La base de signature correspondante est :

NOTE: '' line wrapping per RFC 8792

"@signature-params": ();created=1618884473;keyid="test-key-rsa-pss"
;nonce="b3k2pp5k7z-50gnwp.yemd"

Il en résulte l'ajout au message des champs d'en-tête Signature-Input et Signature suivants sous l'étiquette de signature sig-b21 :

NOTE: '' line wrapping per RFC 8792

Signature-Input: sig-b21=();created=1618884473
;keyid="test-key-rsa-pss";nonce="b3k2pp5k7z-50gnwp.yemd" Signature: sig-b21=:d2pmTvmbncD3xQm8E9ZV2828BjQWGgiwAaw5bAkgibUopem
LJcWDy/lkbbHAve4cRAtx31Iq786U7it++wgGxbtRxf8Udx7zFZsckzXaJMkA7ChG
52eSkFxykJeNqsrWH5S+oxNFlD4dzVuwe8DhTSja8xxbR/Z2cOGdCbzR72rgFWhzx
2VjBqJzsPLMIQKhO4DGezXehhWwE56YCE+O6c0mKZsfxVrogUvA4HELjVKWmAvtl6
UnCh8jYzuVG5WSb/QEVPnP5TmcAnLH1g+s++v6d4s8m0gCw1fV5/SITLq9mhho8K3
+7EPYTU8IU1bLhdxO5Nyt8C8ssinQ98Xw9Q==:

Notez que, la liste des composants couverts étant vide, cette signature pourrait être appliquée par un attaquant à un message HTTP sans rapport. Dans cet exemple, le paramètre nonce est inclus pour empêcher la même signature d'être rejouée plus d'une fois, mais si un attaquant intercepte la signature et empêche sa livraison au vérificateur, il pourrait appliquer cette signature à un autre message. Par conséquent, l'usage d'un ensemble vide de composants couverts est déconseillé. Voir la section 7.2.1 pour plus de discussion.

Notez que l'algorithme RSA-PSS employé ici est non déterministe, c'est-à-dire qu'une valeur de signature différente sera produite à chaque exécution de l'algorithme. La valeur de signature fournie ici peut être validée avec les clés données, mais on ne s'attend pas à ce que les valeurs nouvellement générées correspondent à l'exemple. Voir la section 7.3.5.