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 Studente: Raffaella Piizzi Corso di Laurea Specialistica in Ingegneria informatica A.A 2012/2013
Tesina del corso di Sicurezza dei Sistemi Informatici A.A R. Piizzi 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 R. Piizzi Autenticazione debole 1/3 Per ottenere accesso alla risorsa voluta, l’utente inserisce la coppia username : affermazione di identità password: prova a supporto dell'identificazione L’autenticazione debole (one factor authentication) basata solo su password associa ad ogni utente una password condivisa con il sistema per autorizzarne l’accesso. 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 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 File di password criptate + velocità di accesso – nessuna protezione contro amministratori di sistema o superutenti 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 R. Piizzi Autenticazione debole 1/3 Attacchi Replay Attack La password insieme all'username viaggia in chiaro sulla linea di comunicazione con il sistema, così da essere intercettata da un malintenzionato, che ha la possibilità di riusarla per effettuare successivi accessi. Difese Evitare che le password siano trasmesse in chiaro sulla rete Forza bruta Si effettua una ricerca esaustiva dei possibili valori fino a trovare quello desiderato. Difese Limitare il numero di tentativi non validi consentiti in determinati periodi di tempo Aumentare il tempo computazionale della funzione di verifica della password applicando in maniera ricorsiva una funzione unidirezionale Attacco del dizionario Consiste nel confrontare le password segrete con le parole presenti in un dizionario. Non si usa per trovare la password di un particolare utente, ma per trovarne molte nella maggior parte dei sistemi. Difese Uso all’interno della password di almeno un carattere per ogni diversa categoria di caratteri (maiuscolo, numerico, ecc.) Aumentare la password con una stringa random di t-bit chiamata “sale” prima di applicargli la funzione unidirezionale Estensione delle password con passphrase
Tesina del corso di Sicurezza dei Sistemi Informatici A.A 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 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 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 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 mesi
Tesina del corso di Sicurezza dei Sistemi Informatici A.A 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 = ripetuto dim. blocco/8 volte opad = ripetuto dim. blocco/8 volte
Tesina del corso di Sicurezza dei Sistemi Informatici A.A 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 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 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 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 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 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 R. Piizzi Veri numeri casuali con metodi quantistici FISICA CLASSICA qualsiasi processo fisico classico può essere determinato, se si dispone delle informazioni sufficienti sulle condizioni iniziali non consente la casualità reale in senso stretto La (pseudo)casualità si cela dietro la complessità del sistema FISICA QUANTISTICA vi è certezza dell’indeterminazione di moltissimi semplici fenomeni 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 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 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 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