TESINA DEL CORSO DI SICUREZZA DEI SISTEMI INFORMATICI:
TOKEN OTP: DAI GENERATORI DI NUMERI
PSEUDOCASUALI AI GENERATORI QUANTISTICI
DI NUMERI REALMENTE CASUALI
Docente: Giuseppe Mastronardi
Corso di Laurea Specialistica in Ingegneria informatica
Studente: Raffaella Piizzi
A.A 2012/2013
Autenticazione
Autenticare significa verificare l'identità di un soggetto per garantirne l’accesso sicuro ad una
infrastruttura o servizio.
Le procedure di autenticazione vengono normalmente classificate:
•
•
autenticazione unilaterale, in cui si verifica l'identità di un solo partecipante
mutua autenticazione, in cui si stabilisce l'identità di entrambi i partecipanti
L’autenticazione è basata su uno, due o tre fattori:
•
qualcosa che si conosce
•
qualcosa di cui si è in possesso
•
qualcosa che caratterizza la propria persona
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Autenticazione debole
1/3
L’autenticazione debole (one factor authentication) basata solo su password associa ad
ogni utente una password condivisa con il sistema per autorizzarne l’accesso.
Per ottenere accesso alla risorsa
voluta, l’utente inserisce la coppia
<username, password>
username: affermazione di identità
password: prova a supporto dell'identificazione
Il sistema è responsabile di verificare quanto ricevuto sulla base delle informazioni in suo
possesso. I tradizionali schemi di password rientrano nella categoria di tecniche a chiave
simmetrica che forniscono l'autenticazione unilaterale.
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Autenticazione debole
1/3
In base all’immagazzinamento nel sistema dell’informazione necessaria all’autenticazione,
si hanno i seguenti schemi:
 File di password in chiaro
+ velocità di accesso
– nessuna protezione contro amministratori
di sistema o superutenti
 File di password criptate
una lista di password criptate (secondo una
particolare one-way function h ) è contenuta in
un file protetto in sola scrittura
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Autenticazione debole
1/3
Attacchi
Replay
Attack
Attacco
Forza bruta
del dizionario
La
insieme
viaggia
in chiaro
sulla
di comunicazione
Si password
Consiste
effettuanel
una
confrontare
ricercaall'username
esaustiva
le password
dei
possibili
segrete
valori
con lefino
parole
a linea
trovare
presenti
quello
in un
desiderato.
dizionario.
con
sistema,
da essere
intercettata
da un malintenzionato,
chetrovarne
ha la molte nella
Nonil si
usa percosì
trovare
la password
di un particolare
utente, ma per
possibilità
di riusarla
per effettuare successivi accessi.
maggior parte
dei sistemi.
Difese
Difese
•
•
•
Uso all’interno della password di almeno
Limitare il numero di tentativi non validi consentiti in determinati periodi di tempo
un carattere per ogni diversa categoria di
Aumentare il tempo computazionale della funzione di verifica della password applicando
caratteri (maiuscolo, numerico, ecc.)
in maniera ricorsiva una funzione unidirezionale
• Aumentare la password con una stringa
random di t-bit chiamata “sale” prima di
applicargli la funzione unidirezionale
Difese
che le
password
siano
in chiaro sulla rete
• Evitare
Estensione
delle
password
contrasmesse
passphrase
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Verso l’autenticazione forte: le One Time Password
• La password è valida per una singola autenticazione, dopodiché non è più valida
• Difesa molto forte contro le intercettazioni (replay attack) e gli attacchi di ricerca esaustiva
I vari approcci per la generazione delle OTP:
• Algoritmi, in cui il server di autenticazione e il
client sono sincronizzati sulla base del tempo o
di un contatore
• Algoritmi matematici, che generano una nuova
password in base alla password precedente
• Algoritmi matematici, dove la password è
basata su una sfida (challenge)
Gli algoritmi basati sulla sincronizzazione sono utilizzati dalle banche, perchè a differenza dei
metodi matematici, non richiedono un dialogo diretto tra il client ed il server per la generazione
delle password.
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Verso l’autenticazione forte: le One Time Password
Esistono molti modi per implementare gli schemi di password monouso, il più noto prevede
l'uso di un dispositivo elettronico portatile noto come token
L’autenticazione a due fattori (strong authentication) basata su token richiede all’utente di
immettere, oltre al nome utente:
• PIN (l’informazione conosciuta)
• codice che appare sul display del token
(l’elemento di appartenenza esclusiva)
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Time-synchronized token
1/3
Meccanismo OTP time-based inventato e brevettato da RSA SecurID
I token generano numeri pseudocasuali a 6 cifre ad intervalli regolari di 60 sec, secondo un
algoritmo che tiene conto:
• trascorrere del tempo (orologio interno)
• un’informazione originaria “seed” condivisa con il server e token
Lo stesso algoritmo è implementato sul server di autenticazione, inizialmente sincronizzato
con il token, che genera la stessa sequenza di numeri pseudocasuali del token negli stessi
momenti.
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Time-synchronized token
2/3
Problemi
•
deriva temporale
finestra di tolleranza per consentire l'accettazione delle password entro i +/- 3 min
•
aggiornando le OTP ad intervalli di 60 secondi, 7 password accettate come corrette,
consentendo ad un malintenzionato di effettuare il login con una delle altre password
valide
codici OTP validi visibili da chiunque intorno
costruttore ha una copia del seed di ogni token e ciò rende il meccanismo vulnerabile ad
attacchi massivi (17 marzo 2011 RSA)
necessaria la sostituzione dopo 24-60 mesi
•
•
•
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Time-synchronized token
3/3
Algoritmo standard di riferimento TOTP (Time-based, RFC-6238)
TOTP (K, T) = Truncate( HMAC-SHA-2 (K, T) )
•
•
•
•
K : chiave segreta (uguale al “seed”)
T: riferimento temporale (numero intero)
HMAC-SHA-2: calcola l’Hash based Message Authentication Code tramite la funzione hash SHA-2
Truncate: seleziona 4 byte in modo deterministico
HMAC-SHA-2 (K, T) = SHA-2 (K1, SHA-1 (K2, T))
con chiavi le K1, K2 ricavate da K:
K1 = K ⊕ opad
K2 = K ⊕ ipad
dove
ipad = 00110110 ripetuto dim. blocco/8 volte
opad = 01011010 ripetuto dim. blocco/8 volte
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Event-based token
L’utente genera la successiva OTP premendo un bottone sul token (l’evento)
Sincronizzazione in base ad un contatore, che viene incrementato:
• sul token ogni volta che viene generata una nuova OTP
• sul server ogni volta che un’autenticazione avviene con successo
contatori sul token e sul server sincronizzati per generare sempre la stessa OTP
Algoritmo standard di riferimento HOTP
variante event-based dell’algoritmo TOTP
al posto del valore temporale T compare il
contatore C (RFC-4226)
Problema
desincronizzazione dovuta alla generazione di OTP non utilizzate per autenticarsi
accettati come validi i 10 codici successivi all’ultimo utilizzato con successo
Vantaggio
Non scadono, non avendo un orologio interno, quindi non richiedono costi di sostituzione.
Vanno solo sostituite le batterie dopo 4-6 anni
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Challenge-response token
1/2
Sistema di autenticazione asincrono:
• l'utente
– digita il proprio username
• il server
– risponde con un numero pseudocasuale,
che presenta come "sfida" (challenge)
• l'utente
– per accedere al token in suo possesso
inserisce il proprio PIN
– digita a "sfida" fornita dal server
• il token
– cripta la sfida usando la chiave segreta (seed) dell'utente
• l’utente
– invia il risultato al server come risposta alla "sfida"
• nel frattempo il server
– accede tramite lo username ricevuto, al PIN e alla chiave segreta dell'utente ad
esso associata
– cripta la sua "sfida", e attende la risposta dell'utente
– se i due numeri coincidono l'utente può accedere al sistema
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Challenge-response token
2/2
Vantaggi
•
•
•
non è richiesta la sincronizzazione tra server e token
le precedenti password non sono valide per i successivi logon
ogni password è valida per un determinato tentativo di logon. Se il logon fallisce, viene
richiesta un'altra “sfida”
elimina il rischio di attacchi di intercettazione e di riuso delle OTP
Problemi
•
•
richiesti diversi passaggi con conseguente aumento della probabilità di user error
per la generazione della OTP, è richiesto un dialogo diretto tra client e server
Algoritmo standard OCRA (RFC-6287):
OCRA = CryptoFunction ( K, DataInput )
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Schema di Lamport
1/2
• token software implementato originariamente dalla Bellcore con il nome di S/KEY
• non necessaria la sincronizzazione temporale
• robustezza dovuta all’impiego reiterato di una funzione crittografica di hash unidirezionale
• l'utente
– digita il proprio username
• il server
– risponde con un messaggio specifico di challenge
contenente: il numero N di iterazioni necessarie per
generare l’OTP e un seme S random (modificato
ogni volta che N scende a 1)
• l'utente
– concatena la sua password locale al seme S
ricevuto, ponendoli in ingresso alla funzione di hash,
che viene reiterata per N volte
• il risultato finale per mezzo di operatori XOR viene trasformato in un numero binario di 64 bit
• se digitato manualmente viene frammentato in 6 blocchi da 11 bit (2 bit di padding) e ciascun blocco convertito
in una singola parola estratta da un vocabolario
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Schema di Lamport
•
2/2
il server
– utilizza l’OTP ricevuta come
ingresso di un blocco di digest e il
risultato viene confrontato con
l’OTP contenuto nel file delle
credenziali
– se l’autenticazione ha avuto
successo, decrementa N e
aggiorna l’OTP con quella appena
trasmessa dal client
Vantaggi
• non è richiesta la sincronizzazione tra client e server
• rispetto al generico schema challenge/response, la password rimane un esclusivo segreto
dell’utente, non risiede sul server
Problemi
• indispensabile che il client tenga traccia del
numero di iterazioni N utilizzato per l’ultima
OTP, onde evitare attacchi man-in-the-middle
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Limiti funzioni crittografiche di hash
Il Token è un generatore di numeri pseudocasuali (PRNG), basato su funzioni di hash
unidirezionali, che calcolano in maniera deterministica sequenze periodiche di numeri,
determinate dallo stato iniziale seed
conoscendo il valore iniziale si può risalire a tutta la sequenza dei valori generati
più il fattore random è buono più l’OTP è sicura
generatori hardware di numeri casuali (TRNG):
non hanno bisogno di uno stato iniziale
estraggono la casualità da processi fisici microscopici di
natura non deterministica
(rumore termico, rumore atmosferico, avalanche noise)
SVANTAGGI
• basso throughput
• costo elevato
• influenzabili da fattori esterni => mancanza di uniformità nella distribuzione dei numeri della sequenza
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Veri numeri casuali con metodi quantistici
FISICA QUANTISTICA
FISICA CLASSICA
qualsiasi processo fisico classico può essere
determinato, se si dispone delle informazioni
sufficienti sulle condizioni iniziali
vi è certezza dell’indeterminazione di moltissimi
semplici fenomeni
non consente la casualità reale in senso stretto
La (pseudo)casualità si cela dietro la
complessità del sistema
casualità intrinseca
La casualità è caratterizzata dalla semplicità
Semplici processi quantistici da utilizzare come fonti di casualità:
• decadimento radioattivo
+ numeri di ottima qualità
- generatori ingombranti
- pericolosità dei materiali radioattivi
• emissione di un fotone su di uno schermo semitrasparente
• effetto fotoelettrico
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Quantum TRNG “Quantis”
• processo ottico quantistico molto elementare:
un fotone viene proiettato su uno schermo
semitrasparente, che permette con uguale
probabilità la trasmissione del fotone stesso
oppure la sua riflessione. A ciascuno evento
viene assegnato valore binario 1 o 0
• prodotto dall’azienda ID Quantique, raggiunge la velocità di 16 Mbps
Altre aziende, che lavorano alla creazione di dispositivi quantistici:
MagiQ Technologies, Toshiba, NEC, Corning
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Metodo di Autenticazione forte basato su TRNG
Problemi dei token OTP tradizionali:
• ogni token al mondo ha un diverso seed => c'è un limite al numero di utenti
• possibilità che il seed venga scoperto
NUOVO METODO DI STRONG AUTHENTICATION
• la sicurezza è incrementata dall’uso di codici puramente casuali
• la chiave comune ed il codice di autenticazione vengono aggiornati ad ogni accesso sia sul
token, che sul server di autenticazione, realizzando un sistema di autenticazione
estremamente sicuro
schema a blocchi del token:
procedura di autenticazione:
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi
Conclusioni
Il contributo della fisica quantistica alla sicurezza informatica è duplice e di segno contrastante:
•
distruttivo
l’avvento dei computer quantistici, in grado di effettuare in tempo polinomiale calcoli svolti
da un computer classico in tempo esponenziale, renderebbe vulnerabile ogni attuale
sistema crittografico, mettendo in pericolo sistemi di sicurezza civili, militari, bancari ecc.
•
costruttivo
gli stessi principi della meccanica quantistica possono essere sfruttati per realizzare nuovi
dispositivi e sistemi crittografici quantistici assolutamente inattaccabili, anche da un
eventuale computer quantistico
Tesina del corso di Sicurezza dei Sistemi Informatici A.A. 2012-2013
R. Piizzi