title: MS-CHAPv2
text: # MS-CHAPv2
  
  MS-CHAP versione 2 deriva dal protocollo MS-CHAP. In MS-CHAPV2 il processo di autenticazione è reciproco, il client e il server si presentano e il server deve dimostrare al client che è in grado di accedere al database dove è contenuta la password dell'utente che sta tentando la connessione.
  
  In linea di massima, i passi compiuti dal processo di autenticazione sono:
  
  * Il client contatta il server e stabilisce una sessione.
  * Il server di autenticazione invia al client un messaggio composto da:
     * un identificatore della sessione (IdS)
     * una stringa pseudocasuale (A).
  * Il client riceve il messaggio dal server e invia una risposta composta da:
     * Username
     * Una stringa fittizia (B).
     * La stringa pseudocasuale (A), l'identificativo di sessione (IdS), la password utente tutto cifrato.
  * Il server riceve il messaggio dal client lo verifica e invia la relativa risposta composta da:
     * L'esito del tentativo di connessione.
     * La stringa fittizia (B) e la password utente tutto cifrato.
  * Il client riceve la risposta e se è avvenuta l'autenticazione utilizza la sessione altrimenti interrompe la connessione.
  
  Rispetto al MS-CHAP l'MS-CHAP v2 è più sicuro, questo perché:
  
  * Ogni volta che l'utente si collega è generata una chiave per crittografare i dati basata sia sulla password utente sia su una stringa casuale. Nella versione v1 essendo la chiave generata solo a partire dalla password la chiave di crittografia è sempre la stessa.
  * I dati inviati e quelli trasmessi sono cifrati con chiavi generate separatamente e non come nella versione v1 dove la chiave era sempre la stessa.
  