Corso di Internet e Sicurezza dei Sistemi

Radius: encryption o hashing della password?


Cronologico Percorso di conversazione 
  • From: "Andrea Magurano" < >
  • To:
  • Subject: Radius: encryption o hashing della password?
  • Date: Thu, 13 Mar 2008 19:25:09 +0100
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:mime-version:content-type; b=ISgvvlReIQrmTlZBo4zEUB5PjwW6MiHgIG/GkMI4nWF/jfnal7p7VrLAA7Cwt38xz1LS9nd6QenFNgCHz+Ha+mbx0lq5llRn2XswQenUAAHJKi18+lJrIpCAVBpC5q32XS8Ap36TxX5FpQGOZ8wE5zwPcVj5ggyQcFi+CVaqlxo=

Salve prof. Bianchi,
volevo chiedere maggiori chiarimenti riguardo l'encrypting della password nella richiesta di autenticazione dal NAS al server RADIUS.
La questione è: perchè sono costretto a criptare la password piuttosto che inviare l'HASH di essa?

1) Poniamo il caso in cui il server RADIUS memorizzi le password hashate: il NAS invia la richiesta mediante lo XOR tra la password in chiaro e l'HASH(numero casuale | segreto). Il server RADIUS è in grado di decriptare la password, ne fa un HASH e lo confronta con quello presente nel database. Qualora volessi inviare la password mediante HASH(password | numero casuale | segreto), il server non sarebbe in grado di confrontare la sua password hashata in memoria con la stringa che gli arriva. Secondo questo ragionamento il server RADIUS ha bisogno di ricevere la password criptata per riconoscere l'utente.

2) Poniamo ora il caso in cui il server RADIUS memorizzi le password in chiaro: il NAS invia la richiesta mediante lo XOR tra la password in chiaro e l'HASH(numero casuale | segreto). Il server RADIUS è in grado di decriptare la password, e la confronta direttamente con quella presente nel database. In realtà il NAS potrebbe benissimo inviare la password mediante HASH(password | numero casuale | segreto) e il server RADIUS confrontare la stringa in arrivo con un HASH(password | numero casuale | segreto) da lui stesso calcolato. In questo caso l'HASHING della password sembrebbe una giusta alternativa all'encrypting.

Pongo quindi le domande: il server RADIUS registra le password in chiaro o hashate?
Intuitivamente verrebbe da pensare che la password è salvata in chiaro, in quanto se paradossalmente l'utente dimenticasse la password il server sarebbe in grado di fornirla. Se il server dunque salva la password in chiaro, dal ragionamento fatto al punto 2), Hashing delle password o encryption risulterebbero entrambi metodi validi.
Dov'è che sbagliamo nel ragionamento?

Andrea Magurano
Francesco Amato



Archivio con motore MhonArc 2.6.16.

§