DES e RSA a confronto: crittografia al servizio della sicurezza Università degli studi di Camerino Marconi Marika
DES e RSA a confronto: crittografia al ervizio della sicurezza 2 Scopi della crittografia moderna Disponibilità Riservatezza Integrità Autenticazione Non ripudiazione
DES e RSA a confronto: crittografia al ervizio della sicurezza 3 Sigma COMPUTER CASSAFORTE HOST BANCARIO INTERFACCIA UTENTE DISPENSATORE INTRUSO SSD APPLICATIVO
DES e RSA a confronto: crittografia al ervizio della sicurezza 4 Protocollo 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. 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:
DES e RSA a confronto: crittografia al ervizio della sicurezza 5 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 6 DES SCHEDULAZIONE CHIAVI TESTO IN CHIARO CHIAVE TESTO CIFRATO ITERAZIONE 1 ITERAZIONE 16 SCAMBIO DX SX IP …… 56 bit 64 bit 48 bit
DES e RSA a confronto: crittografia al ervizio della sicurezza 7 DES: IP X 0 =IP(x)=L 0 R 0. Sia x una stringa binaria di testo in chiaro lunga 64 bit. L’algoritmo costruisce una stringa binaria x 0 di 64 bit tramite la permutazione iniziale fissata IP: Dove L 0 e R 0 sono due stringhe binarie che comprendono rispettivamente i primi e gli ultimi 32 bit della stringa x 0.
DES e RSA a confronto: crittografia al ervizio della sicurezza 8 DES: i-esima iterazione
DES e RSA a confronto: crittografia al ervizio della sicurezza 9 DES: funzione f
DES e RSA a confronto: crittografia al ervizio della sicurezza 10 DES: S-box Dato B i (l’input a 6 bit dell’S-box S i ), il primo e l’ultimo bit di B i vengono interpretati come indice di riga, mentre i bit centrali come indice di colonna. Si consulta la tabella S i 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 11 DES: S-box
DES e RSA a confronto: crittografia al ervizio della sicurezza 12 DES: schedulazione delle chiavi
DES e RSA a confronto: crittografia al ervizio della sicurezza 13 TDES E’ altamente improbabile che, per una coppia di chiavi (k, h) esista una chiave t tale che, per ogni testo in chiaro 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 = 5× Da questo risultato nasce l’algoritmo Triplo DES:
DES e RSA a confronto: crittografia al ervizio della sicurezza 14 RSA Vediamo schematicamente come un utente A può mandare un messaggio segreto a B usando il metodo RSA., due primi titanici p, q, calcola N = pq e due naturali d ed e, l’uno inverso dell’altro modulo Innanzitutto B sceglie in modo casuale: Cioè tali che 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 15 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 2.invia a B ogni unità b così ottenuta. Per decodificare il messaggio B calcola
DES e RSA a confronto: crittografia al ervizio della sicurezza 16 RSA Ciò che ottiene B è proprio M grazie ad un classico teorema di Fermat-Eulero, che in questo caso, afferma che: Infatti da si ha che da cui
DES e RSA a confronto: crittografia al ervizio della sicurezza 17 Confronto Produzione Personalizzazione Fornitura Prima istallazione Manutenzione Utilizzo
DES e RSA a confronto: crittografia al ervizio della sicurezza 18 Confronto: produzione e personalizzazione 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. TDESRSA
DES e RSA a confronto: crittografia al ervizio della sicurezza 19 Confronto: fornitura Viene fornita la carta, il Pin ed il tool per interagire con la carta. A questo punto il client deve scegliere se usare una chiave unica o una diversa per ogni ATM. Accorgimenti: memorizzare la chiave in un DB in modo sicuro e scegliere la chiave escludendo le weak key. Viene fornita la carta, il Pin, la PB di CA ed il tool per interagire con la carta. Due possibili soluzioni: CA autentica ogni ATM o CA autentica Client che autentica gli ATM. Non ci sono attacchi significativi se non di tipo Impersonation. TDESRSA
DES e RSA a confronto: crittografia al ervizio della sicurezza 20 Confronto: prima istallazione 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. TDESRSA
DES e RSA a confronto: crittografia al ervizio della sicurezza 21 Confronto: manutenzione TDES 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. Chiave unica Chiave diversa 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 22 Confronto: manutenzione RSA 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. CA/Client/ATMCA/ATM 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 23 Attacchi ai protocolli Esaustione Know-Key attack Replay Man in the middle Impersonation
DES e RSA a confronto: crittografia al ervizio della sicurezza 24 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 25 Confronto: utilizzo con TDES - forza bruta Dimensione della chiave espressa in bit Algoritmo che utilizza tale chiave Numero di possibili chiavi Tempo necessario 1crittografia/ ms Tempo necessario 10 6 crittografi e/ms 56DES2 56 =7,2 x ms=1142 anni 10,01 ore 112 TDES con 2 chiavi =5,5 x ms=7,9 x anni 5,4 x anni 128AES, IDEA2 128 =3,4 x ms=5,4 x anni 5,4 x anni 168 TDES con 3 chiavi =3,7 x ms=5,9 x anni 5,9 x anni
DES e RSA a confronto: crittografia al ervizio della sicurezza 26 Confronto: utilizzo con TDES - forza bruta Il costo di un processore che computa 10 6 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 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 27 Confronto: utilizzo con TDES - crittoanalisi Nel 1981 Merkle ed Hellman presentarono un attacco chosen- plaintex che forza il TDES avendo a disposizione 2 56 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 2 32 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 10 8 anni. A parità di risorse con un attacco a forza bruta si avrebbe una stima temporale di 2,5 x anni.
DES e RSA a confronto: crittografia al ervizio della sicurezza 28 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 29 Confronto: utilizzo con RSA - crittoanalisi Se N è di 1024 bit d deve dunque essere almeno di 256 bit. Sia n=pq con q<p<2q. Dati n, e, siano d ed e primi fra loro modulo. Allora si può calcolare rapidamente d se 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:
DES e RSA a confronto: crittografia al ervizio della sicurezza 30 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 31 Conclusione Perché non ci sono attacchi al crittosistema? In conclusione RSA è più sicuro! E’ più sicuro in ogni fase, non avvengono mai scambi di chiave!! Non si ha bisogno di data base protetti e poi c’è uno scarico di responsabilità ad ogni livello di produzione e gestione.... Con il TDES c’è sempre qualcuno che conosce la chiave segreta... Dal punto di vista matematico la scelta è elementare! Ma a noi interessa il rapporto costi/sicurezza Un’implementazione con RSA comporta dei costi molto elevati sia economici che come Know-How. Il tempo di computazione delle cifrature e decifrature è decisamente più elevato rispetto al TDES. Anche se la sicurezza è minore rispetto all’RSA è comunque sufficiente al sistema SSD. E’ giusto: l’SSD se implementato correttamente non può subire attacchi significativi.
DES e RSA a confronto: crittografia al ervizio della sicurezza 32 La Sigma ha scelto di implementare l’SSD con l’algoritmo TDES. Fine