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