Il modello challenge-response è progettato principalmente per prevenire gli attacchi replay , in cui un utente malintenzionato annusa un pacchetto di autenticazione e poi lo riproduce all'interno della propria sessione per ottenere l'accesso non autorizzato.
Come hai notato, un token random controllato dal server (chiamato "server nonce" nella maggior parte dei protocolli) che deve essere firmato per l'autenticazione rende quasi infinitamente improbabile che un utente malintenzionato sia in grado di riprodurre un pacchetto di autenticazione per ottenere l'accesso.
Tuttavia, un ulteriore vantaggio è che lo schema forma una sorta di prova della password con zero conoscenze , in cui la conoscenza di un segreto può essere dimostrata al server, senza mai trasferire il vero segreto sulla rete. Ciò significa che un intercettatore di rete deve interrompere lo schema di risposta alla sfida (ad es. Tramite attacco bruteforce) per scoprire il segreto.
Thomas Pornin ha fornito un eccellente riassunto di entrambi i server nonce e client nonces in un'altra domanda , che lo riassume molto più chiaramente di quanto potessi sperare.