Passa al contenuto principale

B.2.1. Firma minima con rsa-pss-sha512 (Minimal Signature Using rsa-pss-sha512)

B.2.1. Firma minima con rsa-pss-sha512 (Minimal Signature Using rsa-pss-sha512)

Questo esempio presenta una firma minimale che usa l'algoritmo rsa-pss-sha512 su test-request, senza coprire alcun componente del messaggio HTTP ma fornendo una firma con marca temporale che prova il possesso della chiave con un nonce fornito dal firmatario.

La corrispondente base della firma (signature base) è:

NOTA: a capo con '' secondo RFC 8792

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

Ne consegue che al messaggio vengono aggiunti i seguenti campi di intestazione Signature-Input e Signature con l'etichetta di firma sig-b21:

NOTA: a capo con '' secondo 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==:

Si noti che, poiché l'elenco dei componenti coperti è vuoto, questa firma potrebbe essere applicata da un attaccante a un messaggio HTTP non correlato. In questo esempio il parametro nonce è incluso per impedire che la stessa firma sia riprodotta più di una volta, ma se un attaccante intercetta la firma e ne impedisce la consegna al verificatore, potrebbe applicare questa firma a un altro messaggio. Pertanto si scoraggia l'uso di un insieme vuoto di componenti coperti. Si veda la Sezione 7.2.1 per ulteriori discussioni.

Si noti che l'algoritmo RSA-PSS usato qui è non deterministico: a ogni esecuzione dell'algoritmo si ottiene un valore di firma diverso. Il valore di firma qui fornito può essere convalidato rispetto alle chiavi indicate, ma non ci si attende che i valori di firma generati di nuovo coincidano con l'esempio. Si veda la Sezione 7.3.5.