Crittografia, Banche e Password Mutanti

A magnifying glass is held in front of a computer screen in this picture illustration taken in Berlin May 21, 2013. The Financial Times' website and Twitter feeds were hacked May 17, 2013, renewing questions about whether the popular social media service has done enough to tighten security as cyber-attacks on the news media intensify. The attack is the latest in which hackers commandeered the Twitter account of a prominent news organization to push their agenda. Twitter's 200 million users worldwide send out more than 400 million tweets a day, making it a potent distributor of news. REUTERS/Pawel Kopczynski (GERMANY - Tags: CRIME LAW SCIENCE TECHNOLOGY) - RTXZUYF

Alcune banche hanno adottato un sistema ingegnoso per aumentare la sicurezza delle transazioni online. Per esempio, Unicredit ha adottato la tecnologia RSA SecurID.

Di che cosa si tratta? SecurID è un dispositivo delle dimensioni di un portachiavi, simile ad una chiavetta usb, dotato di display. Su questo display appare una codice, codice la cui vita dura 30 (o 60) secondi. Questo codice viene utilizzato per una sola autenticazione dopodiché scade.

E’ sicuro questo sistema? E come funziona? Ritengo che sia ragionevolmente sicuro. Intanto perché è stato creato dalla RSA azienda autorevole che non metterebbe in commercio un prodotto scadente. Tanto per intenderci, RSA sta per Rivest, Shamir, Adleman, tre dei più grandi esperti di crittografia, inventori della crittografia asimmetrica.

La sicurezza è garantita dal fatto che la password (il codice) è mono-uso: l’eventuale hacker ha a disposizione un tempo ridottissimo per il brute-force attack.

Come funziona? Vediamo. La forma più sicura di crittografia è quella dove le chiavi vengono utilizzate una volta sola (one-time pad). Questa forma di crittografia è sicurissima ma ha un limite: lo scambio delle chiavi. Essendo una forma di crittografia simmetrica le due parti coinvolte nella transazione devono condividere elenchi di chiavi da usare e gettare. Procedura scomoda.

Per superare questo problema è necessario creare una funzione che sia in grado di produrre password usa-e-getta che siano sincronizzate in qualche modo col sistema remoto.

Un primo elemento utile per risolvere il problema è il tempo: utilizzando orologi sincronizzati sia sul server, sia sul token, si è in grado sia di sincronizzare i sistemi, sia di creare codici in continuo mutamento.

Naturalmente il tempo non basta: è si un elemento in continuo movimento, ma è anche assai facile da prevedere, in quanto non occorre essere hacker per saper leggere l’orologio! Occorre una altro ingrediente. Questo secondo ingrediente è un segreto condiviso (seed) da 128 bit.

Questo “seme” viene in qualche modo combinato con il tempo (nella forma dello Unix timestamp per esempio), e passato attraverso una funzione di hashing. Infine dall’hash viene estrapolato il codice della durata di 30 secondi.

Riepilogando:

1. Esiste un segreto condiviso nel token e nel sistema remoto

2. Questo segreto (seed) a 128 bit viene combinato con il timestamp creando così un valore sempre nuovo

3. Il codice così ottenuto viene trattato in qualche modo ulteriore (funzione hash)

Di fatto si tratta di un ingegnoso meccanismo per moltiplicare all’infinito un’unica password condivisa. Indovinare o predire i codici è pressoché impossibile. L’aggiunta di questa elemento alza decisamente il livello di sicurezza della transazione.

5 Commenti

  1. Bell’articolo come sempre!
    Avrei un paio di numeretti in successione, ke dovrebbero nascondere un nome utente ed una password ma nn so come decodificarli. Mi potresti dare una mano, anke piccola se puoi? Fammi sapere se si dove posso inviarti il “codice”.

    Grazie comunque!

  2. Prima di tutto mi complimento per l’ ottimo blog, che seguo da tempo; Tratta tematiche specifiche spiegandole in termini semplici.

    Ho tiportato il tuo articolo nel mio NewsPortal, Con i dovuti credits, naturalmente.
    Se ci fossero problemi per mia pubblicazione sopra citata avvisami pure via mail (ho inserito quella vera).

    Buona continuazione
    WebDataBank

  3. @WebDataBank: Intanto grazie per i cocmplimenti!
    Non ci sono problemi per la pubblicazione dell’articolo su tuo sito, anzi; sito che trovo interessante e affine a PH: entrarà nel blogroll 😉

I commenti sono bloccati.