Autenticazione.

Prima di iniziare una comunicazione, il server vuole avere la certezza che il client sia realmente colui che asserisce di essere. Un intruso, infatti, potrebbe intercettare i messaggi e, dopo averli modificati ingannerebbe i due interlocutori inviando false risposte.

Autenticazione con chiave condivisa.

Nell'ipotesi che il client A e il server B condividano una chiave segreta, il protocollo di autenticazione sfida-risposta prevede che il server B invii un numero casuale al client A, chiedendogli di codificarlo con la chiave segreta e di rispedire il risultato. Più dettagliatamente, il processo di autenticazione consiste dei seguenti passi:

In questo modo il client A ha provato la sua identità, perchè solo lui poteva possedere la chiave segreta.

Ma se anche A vuole avere la certezza che stia comunicando con B, allora A, usando una diversa chiave condivisa, invia la sfida a B e questi, che deve conoscere l'altra chiave, deve criptare la sfida e restituirla ad A.

Scambio delle chiavi.

I due sistemi in comunicazione devono accordarsi sulle chiavi da usare. Lo scambio manuale non sempre è realizzabile. Lo scambio tramite la rete, prima della comunicazione potrebbe essere intercettato.

L'algoritmo di Diffie-Hellman consente a due sistemi, che intendono comunicare, di individuare una chiave segreta da condividere, senza farla viaggiare in rete per comunicarsela.

Entrambi i sistemi hanno ottenuto lo stesso valore (QM·N modulo P). Questo risultato rappresenta la chiave segreta che i due sistemi interconnessi condividono.

Esempio:

I due sistemi usano il valore 34 come chiave segreta condivisa. È ovvio che, siccome ad un intruso sono richiesti solo 47 tentativi per individuare la chiave, occorre scegliere il numero P molto grande.

Attacco man in the middle.

Un intruso potrebbe intercettare il primo messaggio inviato dal sistema A e quindi stabilire una chiave condivisa con A, poi l'intruso invia a B il messaggio che aveva intercettato e quindi stabilisce una chiave condivisa anche con B. A questo punto l'intruso intercetta i messaggi spediti da uno dei due sistemi, li modifica e li consegna all'altro sistema.

Centro di distribuzione delle chiavi (KDC).

Un centro di distribuzione delle chiavi ha lo scopo di autenticare gli utenti che intendono comunicare e permettere loro di scambiarsi la chiave condivisa.

Gli utenti che usano il centro di distribuzione delle chiavi devono condividere una chiave segreta con il centro. Ad esempio, il sistema A condivide, con il centro di distribuzione delle chiavi, la chiave Ka, mentre il sistema B condivide, con il centro di distribuzione delle chiavi, la chiave Kb.

Attacco di risposta.

Il rischio di questo metodo consiste nella possibilità che l'intruso potrebbe intercettare il pacchetto che il KDC invia a B e, intercettando i pacchetti successivi, pur non riuscendo a decriptarli, li invierebbe in un momento successivo a B. Per contrastare questo attacco i messaggi vengono corredati di un campo che ne marca la validità temporale, in modo che B scarta quelli che vengono ritenuti scaduti.