Reading Time: 2 minutes

Ancora sulle Passwords

Tutti conoscono le password o le hanno utilizzate almeno una volta nella vita, ma alcune implementazioni delle password sono migliori di altre.

Nelle attuali pratiche di sicurezza, la maggior parte delle password sono costituite da una coppia: un ID utente e una password segreta.

Se la password è associata all’ID, l’utente viene autenticato ed entra nel sistema. È semplice.

Ciò che accade nel mezzo dell’operazione diventa complicato. Per una semplice implementazione, tutto ciò che è necessario è una tabella memorizzata in un file.

Ogni riga della tabella ha un ID utente e una password corrispondente, entrambi in chiaro.

Quando un utente tenta di autenticarsi, il sistema esegue la scansione della tabella per l’ID immesso dall’utente.

Se nella tabella non sono presenti ID utente corrispondenti, significa che il fruitore del servizio non ha un account. Se l’ID utente è nella tabella, il sistema confronta la password presentata dall’utente con la password corrispondente all’ID nella tabella.

Se le due password corrispondono, l’utente è autorizzato ad accedere. Se l’ID utente non è presente o la password non corrisponde, chi richiede il servizio non può essere autenticato e quindi non è autorizzato all’accesso (o ad altre operazioni).

È chiaro che questa implementazione (molto semplificata) poteva funzionare nei primi anni di avvento dei computer.

Con la nascita di Internet e degli attacchi informatici, conservare password in chiaro in un database ha creato non pochi problemi.

Per questo i sistemi ad oggi si sono evoluti e, anche nell’implementazione minima, dovrebbe essere a disposizione la possibilità di cifrare i dati contenuti nel database in modo da garantire confidenzialità e integrità dei dati e per impedire lo snooping delle password.

Protezione delle password

La maggior parte degli schemi di password ora utilizza hash crittografici a senso unico anziché crittografati. Se una password è crittografata anziché resa segreta tramite hash, può essere decifrata se si viene a conoscenza della chiave.

Se un hacker ottiene la chiave, può rapidamente decifrare tutte le password presenti nel database delle password.

Un hash crittografico invece non ha chiave e non può essere invertito.

Le password codificate non hanno mai bisogno di essere decodificate. Il sistema esegue un hash della stringa quando l’utente immette la sua password, e la confronta con l’hash memorizzato sul database.

Poiché le password codificate non devono mai essere decodificate, l’utilizzo della crittografia con una chiave costituisce un rischio non necessario.

Si noti che esiste una grande vulnerabilità: effettuare l’hash della password prima che venga controllata potrebbe non essere pratico.

Vedremo in altri articoli come questo problema può essere risolto.

error: Content is protected !!

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.