Newsgroup: it.comp.sicurezza.crittografia
Titolo: Sicurezza e funzionamento dei Tokens OTP

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.

 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 

Mi pare di capire che tu hai una specie di chiavetta USB.
No, non si collega al PC. E' un dispositivo standalone.
Esempio:
http://www.credem.it/n_images/schede/internetBanking/imm_mr-pin4N.jpg
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]

 tranquillizzare il cliente.
Non c'è niente di peggio che stare tranquilli quando non c'è alcun motivo 
per stare tranquilli! :-)
Ciao
Cristiano 

per stare tranquilli! :-)
Già, mi fido molto di più del tuo Genepa ;-)
Ciao, [proxima]

 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 

Cristiano ha scritto:

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: 
leon...@leonardomiliani.com
Scegli software opensource - Choose opensource software

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]

 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...


[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"