Discussione:
Sicurezza e funzionamento dei Tokens OTP
(troppo vecchio per rispondere)
[proxima]
2007-12-20 13:37:47 UTC
Permalink
Sapete spiegarmi come funzionano i tokens OTP ?
Si tratta di quei dispositivi che visualizzano una password usa e
getta su uno schermo LCD utilizzati dalle banche per accedere ad
alcuni servizi on line.

Il dispositivo è in comunicazione in qualche modo con il server della
banca ? Come fanno le password a cambaire ogni 30 secondi ?
Sono legate all'altra password che bisogna digitare ?

Se è vero che tale password usa e getta non può essere intercettata da
eventuali keylogger/sniffer è anche vero che bisogna portarsi dietro
il generatore che si può sempre smarrire.... come vedete la sicurezza
di questo metodo ?

Conosco per grandi linee come funziona l'algoritmno OTP ma non ho ben
chiaro il funzionamento di questi dispositivi. Grazie.
Cristiano
2007-12-20 19:21:27 UTC
Permalink
Post by [proxima]
Sapete spiegarmi come funzionano i tokens OTP ?
Si tratta di quei dispositivi che visualizzano una password usa e
getta su uno schermo LCD utilizzati dalle banche per accedere ad
alcuni servizi on line.
Il dispositivo è in comunicazione in qualche modo con il server della
banca ? Come fanno le password a cambaire ogni 30 secondi ?
Sono legate all'altra password che bisogna digitare ?
Se è vero che tale password usa e getta non può essere intercettata da
eventuali keylogger/sniffer è anche vero che bisogna portarsi dietro
il generatore che si può sempre smarrire.... come vedete la sicurezza
di questo metodo ?
Non so come funzionano e nemmeno li ho mai sentiti nominare, ma da quello
che scrivi è possibile fare delle ipotesi, solo ipotesi; regolati di
conseguenza :-).

Mi pare di capire che tu hai una specie di chiavetta USB. Se è così, è molto
semplice scambiarsi in maniera sicura una serie di bit OTP generati dalla
banca (molto probabile) o dal tuo dispositivo (poco probabile).

Se il dispositivo è in comunicazione con il server della banca, potrebbe
funzionare in questo modo:
1) il dispositivo dice al server che ha bisogno di una password;
2) il server genera la password;
3) il server cifra la password utilizzando la tua chiave pubblica (relativa
ad un qualunque schema di cifratura asimmetrica: RSA, ECC, LUC, ElGamal,
ecc);
4) il tuo dispositivo riceve la password cifrata;
5) il dispositivo decifra la password con la tua chiave privata (memorizzata
nel dispositivo);
6) a questo punto hai la password necessaria per la sessione corrente.

La comunicazione con il server mi sembra scontata, perché se devi fare
qualche operazione, è necessario che sei in collegamento con la banca.

Lo schema di funzionamento che ho ipotizzato sarebbe virtualmente
inviolabile, ma l'inviolabilità richiederebbe che tu non ti metta a digitare
la password, in altre parole, dovrebbe fare tutto il dispositivo (non
capisco perché la password viene visualizzata). Inoltre, tutte le successive
comunicazioni con la banca dovrebbero essere protette da una cifratura
robusta (per es. con chiave simmetrica a 128 bit).

Ribadisco: è solo un'ipotesi per ragionarci un po'.

Cristiano
[proxima]
2007-12-20 20:54:59 UTC
Permalink
On Thu, 20 Dec 2007 20:21:27 +0100, "Cristiano"
Post by Cristiano
Non so come funzionano e nemmeno li ho mai sentiti nominare, ma da quello
che scrivi è possibile fare delle ipotesi, solo ipotesi; regolati di
conseguenza :-).
Mi pare di capire che tu hai una specie di chiavetta USB.
No, non si collega al PC. E' un dispositivo standalone.
Esempio:
Loading Image...

Riporto da un sito web:
--------------------------------------------------------------------------
O.T.P.: L'acronimo sta per One-Time-Password e indica un
sistema che crea parole chiave usa e getta che durano pochi
secondi. Sono generate da un piccolo apparecchio tascabile
chiamato "token" e che è stato ribattezzato con nomi diversi
dalle banche (anche se l'idea iniziale era di dare un nome unico
per tutte e cioè "Pass" seguito dal Nome della banca). Il
sistema funziona anche attraverso sim card del cellulare o di
un handy. In questo caso è ritenuto un metodo più sicuro,
perché il piccolo token è facilmente perdibile o dimenticabile
dal cliente. Non si tratta di un rimedio definitivo al problema
del phishing, ci sono già stati numerosi casi di violazione e
phishing anche a sistemi con OTP, come ha scritto anche
l'esperto internazionale di sicurezza, Bruce Schneir, fin dal
2005. Ma è considerato un buon deterrente e soprattutto è
diventato uno strumento di web-marketing capace di
tranquillizzare il cliente. Il sistema, in pratica, funziona con
una doppia identificazione, la prima con identificativo e
password e la seconda con la password "a perdere" generata
dal token. L'hanno scelto, ad oggi, BMPS (con sim del
cellulare e servizio chiamato PaschiDoveVuoi), BNP Paribas-
BNL (Pass BNL), UniCredit Banca (UniCredit Pass),
Credem (Mr.Pin), Sanapaolo.com (O-Key), IWbank
(Token), Banca Marche (Otp), ABN Amro-Antonveneta
(GE.CO), Banca Popolare Pugliese (Token).
--------------------------------------------------------------------------

Ciao, [proxima]
Cristiano
2007-12-20 21:33:02 UTC
Permalink
Post by [proxima]
On Thu, 20 Dec 2007 20:21:27 +0100, "Cristiano"
Post by Cristiano
Non so come funzionano e nemmeno li ho mai sentiti nominare, ma da
quello che scrivi è possibile fare delle ipotesi, solo ipotesi;
regolati di conseguenza :-).
Mi pare di capire che tu hai una specie di chiavetta USB.
No, non si collega al PC. E' un dispositivo standalone.
http://www.credem.it/n_images/schede/internetBanking/imm_mr-pin4N.jpg
Ho letto anche le informazioni fornite nelle altre pagine del sito.

Il funzionamento è molto più semplice di quello che avevo ipotizzato (non si
fa uso della crittografia a chiave asimmetrica). Si utilizza una normale
comunicazione protetta da cifratura simmetrica (con tutte le debolezze che
comporta).

Il termine OTP utilizzato per "Mr. Pin" è estremamente fuorviante rispetto
al termine OTP usato in crittografia. Probabilmente Mr. Pin è soltanto un
generatore di numeri pseudo-casuali. In tal caso, la banca deve solo
verificare che il numero generato da Mr. Pin appartenga alla sequenza di
numeri che può generare il dispositivo.

Comunque sto ancora ipotizzando e forse sto solo facendoti perdere tempo...
Post by [proxima]
[...]
Non si tratta di un rimedio definitivo al problema
del phishing, ci sono già stati numerosi casi di violazione e
phishing anche a sistemi con OTP, [...]
Direi che questa è una risposta molto chiara alla tua domanda in merito alla
sicurezza.
Post by [proxima]
[...] soprattutto è
diventato uno strumento di web-marketing capace di
tranquillizzare il cliente.
Non c'è niente di peggio che stare tranquilli quando non c'è alcun motivo
per stare tranquilli! :-)

Ciao
Cristiano
[proxima]
2007-12-20 21:46:06 UTC
Permalink
On Thu, 20 Dec 2007 22:33:02 +0100, "Cristiano"
Post by Cristiano
In tal caso, la banca deve solo
verificare che il numero generato da Mr. Pin appartenga alla sequenza di
numeri che può generare il dispositivo.
Probabile ma allora non si spiegherebbe il fatto che la password è usa
e getta. Se fosse come tu dici tutte le password generate dal
dispositivo dovrebbero essere valide in ogni istante.
Mi pare che invece una password sia valida solo per 30 secondi.

Può darsi che il dispositivo abbia un orologio interno sincronizzato
con quello della banca ? Siamo sicuri che il tutto resti ben
sincronizzato ? Boh...
Post by Cristiano
Comunque sto ancora ipotizzando e forse sto solo facendoti perdere tempo...
E' un piacere, anch'io sto ipotizzando.
Post by Cristiano
Non c'è niente di peggio che stare tranquilli quando non c'è alcun motivo
per stare tranquilli! :-)
Già, mi fido molto di più del tuo Genepa ;-)

Ciao, [proxima]
Cristiano
2007-12-20 22:13:26 UTC
Permalink
Post by [proxima]
On Thu, 20 Dec 2007 22:33:02 +0100, "Cristiano"
Post by Cristiano
In tal caso, la banca deve solo
verificare che il numero generato da Mr. Pin appartenga alla
sequenza di numeri che può generare il dispositivo.
Probabile ma allora non si spiegherebbe il fatto che la password è usa
e getta. Se fosse come tu dici tutte le password generate dal
dispositivo dovrebbero essere valide in ogni istante.
Mi pare che invece una password sia valida solo per 30 secondi.
Potrebbe darsi che tu puoi utilizzare una qualunque password appartenente
alla sequenza, ma una volta che la utilizzi, questa è valida solo per 30
secondi. Questo presuppone che sia valida solo una piccola percentuale di
password tra tutte quelle potenzialmente visualizzabili da Mr. Pin (quali
password sono valide lo determinerebbe un algoritmo).
Post by [proxima]
Può darsi che il dispositivo abbia un orologio interno sincronizzato
con quello della banca ? Siamo sicuri che il tutto resti ben
sincronizzato ? Boh...
E` proprio quello che pensavo. La sincronizzazione sarebbe molto critica. Io
avevo già scartato l'ipotesi.
Post by [proxima]
Post by Cristiano
Non c'è niente di peggio che stare tranquilli quando non c'è alcun
motivo per stare tranquilli! :-)
Già, mi fido molto di più del tuo Genepa ;-)
Utilizzi ancora Genepa?! :-) Mi sento onorato! :-)
Non per lodarmi da solo, ma il principio di funzionamento, da quello che ho
capito di Mr. Pin, è totalmente diverso.

Nel frattempo ho sviluppato GePaHE, una versione evoluta di Genepa; se lo
vuoi... :-)

Ciao
Cristiano
Leonardo Miliani
2007-12-21 18:40:42 UTC
Permalink
Post by Cristiano
Post by [proxima]
On Thu, 20 Dec 2007 22:33:02 +0100, "Cristiano"
Post by Cristiano
In tal caso, la banca deve solo
verificare che il numero generato da Mr. Pin appartenga alla
sequenza di numeri che può generare il dispositivo.
Probabile ma allora non si spiegherebbe il fatto che la password è usa
e getta. Se fosse come tu dici tutte le password generate dal
dispositivo dovrebbero essere valide in ogni istante.
Mi pare che invece una password sia valida solo per 30 secondi.
Potrebbe darsi che tu puoi utilizzare una qualunque password appartenente
alla sequenza, ma una volta che la utilizzi, questa è valida solo per 30
secondi. Questo presuppone che sia valida solo una piccola percentuale di
password tra tutte quelle potenzialmente visualizzabili da Mr. Pin (quali
password sono valide lo determinerebbe un algoritmo).
Post by [proxima]
Può darsi che il dispositivo abbia un orologio interno sincronizzato
con quello della banca ? Siamo sicuri che il tutto resti ben
sincronizzato ? Boh...
E` proprio quello che pensavo. La sincronizzazione sarebbe molto critica. Io
avevo già scartato l'ipotesi.
Post by [proxima]
Post by Cristiano
Non c'è niente di peggio che stare tranquilli quando non c'è alcun
motivo per stare tranquilli! :-)
Già, mi fido molto di più del tuo Genepa ;-)
Utilizzi ancora Genepa?! :-) Mi sento onorato! :-)
Non per lodarmi da solo, ma il principio di funzionamento, da quello che ho
capito di Mr. Pin, è totalmente diverso.
Nel frattempo ho sviluppato GePaHE, una versione evoluta di Genepa; se lo
vuoi... :-)
Ciao
Cristiano
Da quello che so sui token questi generano dei numeri casuali ogni tot
secondi che vengono poi combinati con il proprio PIN per creare il
codice di accesso vero e proprio. Esempio:
il PIN è 1234
il tokencode è 12345
il codice è 123412345

quando cambia il tokencode, cambia il codice di accesso:
adesso il tokencode è 67890
il codice è quindi diventato 123467890

Il token è sincronizzato temporalmente col dispositivo su cui si deve
accedere per cui entrambi i componenti sanno sempre qual è il tokencode
generato. Ecco perché se si combina il proprio PIN con un codice
generato da un tokencode che non è il proprio non si accede alla risorsa
protetta. Quasi sicuramente il tutto è basato su un generatore di numeri
casuali inizializzato con un numero univoco scelto da chi ha impostato
l'accesso (la banca o l'amministratore di un sistema, ad esempio).

La curiosità è sapere se il quarzo del token sgarri nel tempo e di
quanto, così da rendere ad esempio inaccessibile una risorsa dopo un tot
di mesi perché si è persa la sincronizzazione fra il server ed il token.
--
Ciao.
Leo.

Web: www.leonardomiliani.com
E-mail: ***@leonardomiliani.com
Scegli software opensource - Choose opensource software
[proxima]
2007-12-22 15:25:03 UTC
Permalink
On Fri, 21 Dec 2007 18:40:42 GMT, Leonardo Miliani
Post by Leonardo Miliani
Il token è sincronizzato temporalmente col dispositivo su cui si deve
accedere per cui entrambi i componenti sanno sempre qual è il tokencode
generato.
Ecco, quindi il dispositivo avrebbe un orologio interno.
Post by Leonardo Miliani
La curiosità è sapere se il quarzo del token sgarri nel tempo e di
quanto, così da rendere ad esempio inaccessibile una risorsa dopo un tot
di mesi perché si è persa la sincronizzazione fra il server ed il token.
Boh..sono proprio i dubbi di cui parlavamo con Cristiano.

Ciao, [proxima]
Leonardo Miliani
2007-12-22 15:45:13 UTC
Permalink
Post by [proxima]
On Fri, 21 Dec 2007 18:40:42 GMT, Leonardo Miliani
Post by Leonardo Miliani
Il token è sincronizzato temporalmente col dispositivo su cui si deve
accedere per cui entrambi i componenti sanno sempre qual è il tokencode
generato.
Ecco, quindi il dispositivo avrebbe un orologio interno.
Post by Leonardo Miliani
La curiosità è sapere se il quarzo del token sgarri nel tempo e di
quanto, così da rendere ad esempio inaccessibile una risorsa dopo un tot
di mesi perché si è persa la sincronizzazione fra il server ed il token.
Boh..sono proprio i dubbi di cui parlavamo con Cristiano.
Secondo me più il tempo che intercorre fra un numero ed il successivo è
minore tanto più deve essere di qualità il quarzo che tiene
sincronizzato il token. Mi ricordo di alcuni orologini al quarzo da
poche migliaia di lire che sgarravano di 1 minuto in 1 mese! Se fossero
montati sui token, dopo un mese perderebbero la sincronizzazione col
server...
--
Ciao.
Leo.

Web: www.leonardomiliani.com
E-mail: ***@leonardomiliani.com
Scegli software opensource - Choose opensource software
quaqo
2007-12-29 01:59:37 UTC
Permalink
[proxima] wrote:
[...]

Se n'è parlato varie volte nel corso degli anni, qui e su i.c.s.pgp.

Cerca: token, RSA, SecurID.

In breve: il token ha un orologio interno ed una chiave random preimpostata.

Il server conosce il seme utilizzato dal token e quindi riesce a verificare
la correttezza delle informazioni ricevute.

Il software di autenticazione sul server è anche in grado di correggere gli
errori di sincronia entro un certo limite; ad ogni modo è possibile
risincronizzare il token col server se dovessero risultare troppo fuori
sync.

Il token genera un numero ogni k secondi, ed ha una scadenza (pochi anni).

È anche studiato in maniera tale da non poter essere disassemblato senza
comprometterlo.

Di solito si utilizza come secondo fattore di autenticazione, quindi il
perderlo non comporta un immediato pericolo se chi lo trova non conosce il
pin corrispondente: basta disabilitare quel token sul server e rimediarne
un altro.
--
Saluti, Federico - http://www.quaqo.org
Ducati SuperSport 750 i.e. "Duchessa rossa"
Loading...