Università degli studi di Camerino DES e RSA a confronto: crittografia al servizio della sicurezza Marconi Marika Scopi della crittografia moderna Disponibilità Riservatezza Integrità Autenticazione Non ripudiazione DES e RSA a confronto: crittografia al ervizio della sicurezza 2 Sigma INTERFACCIA UTENTE COMPUTER HOST BANCARIO APPLICATIVO SSD DISPENSATORE INTRUSO CASSAFORTE DES e RSA a confronto: crittografia al ervizio della sicurezza 3 Protocollo Un protocollo è una serie di passi che coinvolge due o più parti e che serve a portare a termine un compito; deve inoltre avere le seguenti caratteristiche: Chiunque partecipi al protocollo deve conoscerlo. Chiunque partecipi al protocollo deve accettare di seguirlo. Il protocollo deve essere privo di ambiguità, ogni passo deve essere descritto con chiarezza e non ci devono essere possibilità di incomprensioni. Il protocollo deve essere completo, quindi deve essere prevista un’azione per qualunque situazione. Non deve fornire più informazioni di quelle per cui è stato concepito. DES e RSA a confronto: crittografia al ervizio della sicurezza 4 Protocollo 1. l’applicativo (challenger) invia una richiesta (challenge) all’SSD, 2. l’SSD invia una risposta in cui include un numero random RND all’applicativo, 3. l’applicativo cifra tale numero con l’algoritmo scelto (simmetrico o asimmetrico) ed invia E(RND) all’SSD, 4. l’SSD decifra il messaggio ricevuto effettuando D(E(RND)) e, se il numero è esatto, dà all’applicativo il permesso di procedere. DES e RSA a confronto: crittografia al ervizio della sicurezza 5 DES TESTO IN CHIARO CHIAVE IP 64 bit 56 bit ITERAZIONE 1 64 bit … SCHEDULAZIONE CHIAVI … 48 bit ITERAZIONE 16 64 bit SCAMBIO DX SX 64 bit IP1 TESTO CIFRATO DES e RSA a confronto: crittografia al ervizio della sicurezza 6 DES: IP Sia x una stringa binaria di testo in chiaro lunga 64 bit. L’algoritmo costruisce una stringa binaria x0 di 64 bit tramite la permutazione iniziale fissata IP: X0=IP(x)=L0 R0. Dove L0 e R0 sono due stringhe binarie che comprendono rispettivamente i primi e gli ultimi 32 bit della stringa x0. DES e RSA a confronto: crittografia al ervizio della sicurezza 7 DES: i-esima iterazione Li R i 1 R i Li1 f R i1 , ki DES e RSA a confronto: crittografia al ervizio della sicurezza 8 DES: funzione f DES e RSA a confronto: crittografia al ervizio della sicurezza 9 DES: S-box Dato Bi (l’input a 6 bit dell’S-box Si), il primo e l’ultimo bit di Bi vengono interpretati come indice di riga, mentre i bit centrali come indice di colonna. Si consulta la tabella Si alle coordinate prescritte e il valore in uscita dall’S-box è l’equivalente binario del decimale trovato. DES e RSA a confronto: crittografia al ervizio della sicurezza 10 DES: S-box DES e RSA a confronto: crittografia al ervizio della sicurezza 11 DES: schedulazione delle chiavi DES e RSA a confronto: crittografia al ervizio della sicurezza 12 TDES E’ altamente improbabile che, per una coppia di chiavi (k, h) esista una chiave t tale che, per ogni testo in chiaro x DESk (DESh (x))=DESt (x). Da questo risultato nasce l’algoritmo Triplo DES: y = DESk (DES-1h (DESk (x))). Lo svantaggio è che risulta meno efficiente del DES singolo di un fattore 3. Coppersmith ha osservato però che un attacco di forza bruta per la ricerca della chiave è dell’ordine di 2112 = 5×1035 . DES e RSA a confronto: crittografia al ervizio della sicurezza 13 RSA Vediamo schematicamente come un utente A può mandare un messaggio segreto a B usando il metodo RSA. Innanzitutto B sceglie in modo casuale: due primi titanici p, q, calcola N = pq e N = (p - 1)(q - 1); due naturali d ed e, l’uno inverso dell’altro modulo N . Cioè tali che d e 1(mod (N)). Poi rende noti N ed e: questo forma la sua chiave pubblica. Tiene invece gelosamente segreto d: la sua chiave privata. DES e RSA a confronto: crittografia al ervizio della sicurezza 14 RSA L’utente A per mandare un messaggio a B compie allora le seguenti operazioni: 1. eleva ogni unità del messaggio, a, ad e modulo N a a e (modN) = b; 2. invia a B ogni unità b così ottenuta. Per decodificare il messaggio B calcola b a d e d a mod N . DES e RSA a confronto: crittografia al ervizio della sicurezza 15 RSA Ciò che ottiene B è proprio M grazie ad un classico teorema di Fermat-Eulero, che in questo caso, afferma che: (a e )d a (modN). Infatti da d e 1(mod (N)) si ha che d e = t (N) + 1 da cui (a e )d a ed a (N)t+1 (a (N) ) t a a (modN). DES e RSA a confronto: crittografia al ervizio della sicurezza 16 Confronto Produzione Personalizzazione Fornitura Prima istallazione Manutenzione Utilizzo DES e RSA a confronto: crittografia al ervizio della sicurezza 17 Confronto: produzione e personalizzazione TDES RSA Dopo la fase di produzione nella carta è presente soltanto il Pin Administrator di default. In fase di personalizzazione viene inserito il Pin Administrator specifico del cliente. Gli unici attacchi apportabili sono furto o modifica del Pin stesso. Nella prima fase sono presenti il Pin di default e la PB di CA di default. Nella seconda fase vengono inseriti il Pin e la PB di CA propri del cliente. Gli unici attacchi sono furto o modifica Pin. DES e RSA a confronto: crittografia al ervizio della sicurezza 18 Confronto: fornitura TDES RSA Viene fornita la carta, il Pin Viene fornita la carta, il Pin, la PB di CA ed il tool ed il tool per interagire con per interagire con la carta. la carta. A questo punto il client deve Due possibili soluzioni: CA autentica ogni ATM o CA scegliere se usare una autentica Client che chiave unica o una diversa autentica gli ATM. per ogni ATM. Accorgimenti: memorizzare Non ci sono attacchi significativi se non di tipo la chiave in un DB in modo sicuro e scegliere la chiave Impersonation. escludendo le weak key. DES e RSA a confronto: crittografia al ervizio della sicurezza 19 Confronto: prima istallazione TDES RSA Nel caso di chiave uguale si potrebbe cablarla già nella smartcard ed escludere ogni attacco. Nel caso di chiave diversa l’unico attacco è di tipo “cipher-text only” per scoprire la chiave: è allora importante che la chiave non abbia un significato ma sia casuale. In entrambi i casi non avvengono scambi di chiave e dunque non ci sono attacchi significativi. Porre attenzione alla generazione delle chiavi: n diverso per ogni ATM, PRa non troppo piccola, PBa non troppo piccola . DES e RSA a confronto: crittografia al ervizio della sicurezza 20 Confronto: manutenzione TDES Chiave unica Chiave diversa Guasto smartcard: sostituzione con una smartcard nuova con inserita la chiave. Guasto ATM: ricaricamento chiave (può essere automatico). Furto chiave: Ricaricamento chiave su tutte le smartcard e tutti gli ATM. Guasto smartcard: sostituzione con una smartcard nuova con inserita la stessa chiave o una chiave nuova. Guasto ATM: ricaricamento chiave (deve viaggiare sicura). Furto chiave: modifica chiave solo su smartcard e ATM interessati. DES e RSA a confronto: crittografia al ervizio della sicurezza 21 Confronto: manutenzione RSA CA/Client/ATM CA/ATM Guasto smartcard: sostituzione con una smartcard nuova. Guasto ATM: si ripetono le procedure effettuate in fase di prima istallazione. Furto chiave: si ripetono le procedure effettuate in fase di prima istallazione. Guasto smartcard: sostituzione con una smartcard nuova. Guasto ATM: si ripetono le procedure effettuate in fase di prima istallazione (interviene la CA). Furto chiave: si ripetono le procedure effettuate in fase di prima istallazione (interviene la CA). DES e RSA a confronto: crittografia al ervizio della sicurezza 22 Attacchi ai protocolli Esaustione Know-Key attack Replay Man in the middle Impersonation DES e RSA a confronto: crittografia al ervizio della sicurezza 23 Attacchi alla cifratura Brute Force Cipher-text only Known-plaintext attack Chosen-plaintext attack Adaptive Chosen-plaintext attack Chosen Cipher-text Adaptive Chosen Cipher-text Timing DES e RSA a confronto: crittografia al ervizio della sicurezza 24 Confronto: utilizzo con TDES - forza bruta Dimensione della Algoritmo che Numero di utilizza possibili chiave tale chiave chiavi espressa in bit 256=7,2 x 1016 Tempo necessario 1crittografia/ ms Tempo necessario 106crittografi e/ms 255ms=1142 anni 10,01 ore 56 DES 112 TDES con 2 112 2111ms=7,9 x 33 2 =5,5 x 10 5,4 x 1013 anni 19 chiavi 10 anni 2128=3,4 x 1038 2127ms=5,4 x 5,4 x 1018 anni 24 10 anni 128 AES, IDEA 168 TDES con 3 168 2167ms=5,9 x 50 2 =3,7 x 10 5,9 x 1030 anni 36 chiavi 10 anni DES e RSA a confronto: crittografia al ervizio della sicurezza 25 Confronto: utilizzo con TDES - forza bruta Il costo di un processore che computa 106 crittografie al microsecondo è però molto elevato: si stima intorno ai 5000 dollari il costo della forzatura della chiave a 56 bit (DES) mentre si stima intorno a 2 x 1025 dollari il costo della forzatura della chiave a 112 bit. Si presuppone però che tali costi possano scendere molto velocemente con il passare degli anni e lo sviluppo tecnologico che aumenta; ad esempio nel giro di 6 o 7 anni il costo della forzatura del DES potrebbe scendere a 50 dollari. Infine considerando che il TDES utilizza chiavi di 112 bit si può considerare questo attacco potenzialmente inefficace al momento. DES e RSA a confronto: crittografia al ervizio della sicurezza 26 Confronto: utilizzo con TDES - crittoanalisi Nel 1981 Merkle ed Hellman presentarono un attacco chosenplaintex che forza il TDES avendo a disposizione 256 coppie di testo scelto (testo in chiaro e cifrato). L’idea fu migliorata per diventare un attacco known-plaintext: Se assumiamo che l’analista ha a disposizione 232 coppie RND e f(RND) e 25 macchine da usare in parallelo per un costo totale di 1 milione di dollari (dovuto alle risorse di memoria necessarie) si ha che il tempo necessario alla forzatura della chiave è 4 x 108 anni. A parità di risorse con un attacco a forza bruta si avrebbe una stima temporale di 2,5 x 1012 anni. DES e RSA a confronto: crittografia al ervizio della sicurezza 27 Confronto: utilizzo con RSA - forza bruta Forza bruta: corrisponde a fattorizzare n, al momento non ci sono metodi rapidi se si sceglie n sufficientemente grande. Per dare un’idea della complessità, per un crittosistema RSA, un numero di 256 bits è facilmente fattorizzato da chiunque disponga di un semplice home computer; chiavi da 384 bits possono essere violate da gruppi di ricerca universitari o da alcune compagnie; crittosistemi a 512 bits possono esser rotti dai maggiori governi; chiavi da 768 bits saranno probabilmente violate tra pochissimo; chiavi a 1024 sono per il momento considerate sicure a meno di vistosi progressi fatti nel campo della fattorizzazione, mentre le chiavi di 2048 bits possono esser ritenute sicure almeno per una decina di anni. DES e RSA a confronto: crittografia al ervizio della sicurezza 28 Confronto: utilizzo con RSA - crittoanalisi Per facilitare le operazioni di cifratura (calcolo di f(RND)) da parte dell’applicativo si potrebbe scegliere una chiave privata piccola, il tempo di calcolo potrebbe diminuire anche di 10 volte ma esiste un attacco formulato da Wiener che rompe crittosistemi RSA con chiavi private piccole. Questo attacco si basa sul seguente risultato: Sia n=pq con q<p<2q. Dati n, e, siano d ed e primi fra loro modulo n . Allora si può calcolare rapidamente d se 1 14 d N . 3 Se N è di 1024 bit d deve dunque essere almeno di 256 bit. DES e RSA a confronto: crittografia al ervizio della sicurezza 29 Confronto: utilizzo con RSA - Timing L’unico attacco interessante formulato al momento è di tipo Timing, Kocher ha infatti scoperto che misurando il tempo impiegato dalla macchina per effettuare f(RND) è possibile risalire alla chiave privata d. Lo stesso Kocher ha ultimamente formulato un attacco simile misurando stavolta il consumo di energia della macchina durante il calcolo della funzione cifrante; tale attacco è però ancora lontano dall’essere applicabile, specialmente in un sistema come l’SSD. DES e RSA a confronto: crittografia al ervizio della sicurezza 30 Conclusione Un’implementazione Con il c’è con Anche seTDES la sicurezza è Perché non ci sono Ma a noi interessa il RSA comporta deiche costi minore rispetto all’RSA sempre qualcuno attacchi al sia rapporto molto elevati è conosce comunque sufficiente la chiave crittosistema? costi/sicurezza economici che come al sistema... SSD. segreta Know-How. NonDal si hapunto bisogno data base didivista In conclusione E’ piùdic’è sicuro in giusto: l’SSD se di Il E’ tempo computazione protetti e poi uno scarico matematico la scelta è RSA è più implementato delle cifrature e decifrature ogni fase, nonlivello responsabilità ad ogni elementare! sicuro! può didecisamente produzione enon gestione. ècorrettamente più elevato avvengono mai subire di attacchi rispetto alchiave!! TDES. scambi significativi. DES e RSA a confronto: crittografia al ervizio della sicurezza 31 La Sigma ha scelto di implementare l’SSD con l’algoritmo TDES. Fine DES e RSA a confronto: crittografia al ervizio della sicurezza 32