Nonce, un token generato casualmente

Nonce è un token crittografico generato casualmente che viene utilizzato per impedire attacchi di ripetizione. Sebbene il nonce possa essere inserito in qualsiasi punto del messaggio SOAP, di solito viene inserito nell'elemento <UsernameToken>.

Senza nonce, quando un UsernameToken viene passato da una macchina a un'altra macchina utilizzando un trasporto non sicuro, come HTTP, il token potrebbe essere intercettato e utilizzato in un attacco replay. La stessa password potrebbe essere riutilizzata quando il token del nome utente viene trasmesso tra il client e il server, il che lo rende vulnerabile all'attacco. Il token del nome utente può essere rubato anche se si utilizza la firma digitale XML e la codifica XML. Tuttavia, nonce da solo, utilizzato in un trasporto non sicuro, non può affrontare adeguatamente il problema di ripetizione. Nonce è particolarmente utile quando il messaggio SOAP viene trasmesso tramite un canale di comunicazione protetto, a livello di trasporto o a livello di messaggio.

Per eliminare questi attacchi di replay, gli elementi <wsse:Nonce> e <wsu:Created> vengono generati all'interno dell'elemento <wsse:UsernameToken> e utilizzati per convalidare il messaggio. Il server controlla la freschezza del messaggio verificando che la differenza tra l'ora di creazione del nonce, specificata dall'elemento < wsu :Created> e l'ora corrente rientri in un periodo di tempo specificato. Inoltre, il server controlla una cache di nonce utilizzati per verificare che il token del nome utente nel messaggio SOAP ricevuto non sia stato elaborato entro il periodo di tempo specificato. Queste due funzioni vengono utilizzate per ridurre la probabilità che un token nome utente venga utilizzato per un attacco di ripetizione.

Per aggiungere un nonce per UsernameToken,, è possibile specificarlo nel generatore di token per il token del nome utente. Quando viene specificato il generatore token per UsernameToken , è possibile selezionare l'opzione Aggiungi nonce se si desidera includere il nonce nel token del nome utente.