250 likes | 406 Views
DES e RSA a confronto: crittografia al servizio della sicurezza. Scopi della crittografia moderna. Disponibilità. Riservatezza. Integrità. Autenticazione. Non ripudiazione. Sigma. INTERFACCIA UTENTE. COMPUTER. HOST BANCARIO. APPLICATIVO. INTRUSO. CASSAFORTE. DISPENSATORE. SSD.
E N D
DES e RSA a confronto: crittografia al servizio della sicurezza
Scopi della crittografia moderna Disponibilità Riservatezza Integrità Autenticazione Nonripudiazione
Sigma INTERFACCIA UTENTE COMPUTER HOSTBANCARIO APPLICATIVO INTRUSO CASSAFORTE DISPENSATORE SSD
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.
Protocollo • l’applicativo (challenger) invia una richiesta (challenge) all’SSD, • l’SSD invia una risposta in cui include un numero randomRND all’applicativo, • l’applicativo cifra tale numero con l’algoritmo scelto (simmetrico o asimmetrico) ed invia E(RND) all’SSD, • l’SSD decifra il messaggio ricevuto effettuando D(E(RND)) e, se il numero è esatto, dà all’applicativo il permesso di procedere.
TDES E’ altamente improbabile che, per una coppia di chiavi (k, h) esista una chiave t tale che, per ogni testo in chiaro x Da questo risultato nasce l’algoritmo Triplo DES: 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.
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 • due naturali d ed e, l’uno inverso dell’altro modulo Cioè tali che Poi rende noti N ed e: questo forma la sua chiave pubblica. Tiene invece gelosamente segreto d: la sua chiave privata.
RSA L’utente A per mandare un messaggio a B compie allora le seguenti operazioni: • eleva ogni unità del messaggio, a, ad e modulo N • invia a B ogni unità b così ottenuta. Per decodificare il messaggio B calcola
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
Confronto Produzione Personalizzazione Fornitura Prima istallazione Manutenzione Utilizzo
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. Confronto: produzione e personalizzazione TDES RSA
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. Confronto: fornitura 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 . Confronto: prima istallazione TDES RSA
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. Confronto: manutenzione TDES 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.
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. 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 (interviene la CA). • Furto chiave: si ripetono le procedure effettuate in fase di prima istallazione (interviene la CA).
Attacchi ai protocolli • Esaustione • Know-Key attack • Replay • Man in the middle • Impersonation
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
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.
Confronto: utilizzo con TDES - crittoanalisi Nel 1981 Merkle ed Hellman presentarono un attacco chosen-plaintex 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.
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.
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 . Allora si può calcolare rapidamente d se Se N è di 1024 bit d deve dunque essere almeno di 256 bit.
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.
Conclusione Con il TDES c’è sempre qualcuno che conosce la chiave segreta... Un’implementazione con RSA comporta dei costi molto elevati sia economici che come Know-How. Anche se la sicurezza è minore rispetto all’RSA è comunque sufficiente al sistema SSD. Perché non ci sono attacchi al crittosistema? Ma a noi interessa il rapporto costi/sicurezza Non si ha bisogno di data base protetti e poi c’è uno scarico di responsabilità ad ogni livello di produzione e gestione. Dal punto di vista matematico la scelta è elementare! E’ giusto: l’SSD se implementato correttamente non può subire attacchi significativi. E’ più sicuro in ogni fase, non avvengono mai scambi di chiave!! In conclusione RSA è più sicuro! Il tempo di computazione delle cifrature e decifrature è decisamente più elevato rispetto al TDES.
La Sigma ha scelto di implementare l’SSD con l’algoritmo TDES. Fine