Reading Time: < 1 minute

Schema CRAM-MD5

Lo schema challenge/response maggiormente diffuso prevede esclusivamente l’uso di una funzione di hash per la trasformazione delle credenziali utente prima della loro diffusione su un canale di comunicazione insicuro.

Tale schema, descritto nella RFC 2195 è denominato CRAM-MD5 (Challenge Response Authentication Mechanism MD5) e prevede l’utilizzo della funzione di hash MD5 all’interno di uno schema HMAC.

Lo schema si sviluppa secondo i seguenti passi:

  1. Il server invia al client un banner iniziale;
  2. Il client richiede l’avvio di una procedura di autenticazione basata su CRAM-MD5;
  3. Il server invia il challenge (si tratta della codifica base 64 di una sequenza prestabilita);
  4. Il client calcola la response (16 byte) e la invia insieme al proprio username (il tutto codificato base 64) al server;
  5. Il server restituisce l’esito dell’autenticazione.

Il challenge inviato dal server è ottenuto concatenando un numero casuale N, il timestamp e il nome completo del server (Fully Qualified Domain Name):

Server Challenge: <N.Timestamp@FQDN>

La response prodotta dal client è ottenuta usando la propria password P secondo uno schema HMAC con funzione di hash MD5.

Client Response: H (( P XOR 01011010…) | H ((P XOR 00110110…) | Server Challenge))

Procedure di autenticazione basate su schema CRAM-MD5 sono oramai integrate in numerosi protocolli applicativi di larga diffusione (SMTP, IMAP, ecc).

Lo schema è supportato anche dal protocollo generale SASL.

error: Content is protected !!

La maggior parte dei contenuti del blog ComputerSec vengono pubblicati a beneficio di tutti e in modo completamente gratuito.
Tuttavia per supportare il blog, e per avere ulteriori vantaggi, puoi decidere di abbonarti e sfruttare al 100% tutti i contenuti!
Abbonati Ora!

Complimenti! Ti sei iscritto alla nostra Newsletter

C'è stato un errore durante l'invio della richiesta. Per favore riprova.

Computer Security will use the information you provide on this form to be in touch with you and to provide updates and marketing.