Politecnico di Milano Algoritmi e Architetture per la Protezione dellInformazione Multichannel Adaptive Information Systems Paolo Maistri Dipartimento di Elettronica e Informazione
Motivazioni (1/2) Molti domini applicativi richiedono comunicazioni confidenziali e protette Servizi finanziari, autenticazione dei mittenti, … La presenza di canali di comunicazione eterogenei aumenta la necessità di proteggere le informazioni sensibili Una comunicazione wireless può essere facilmente intercettata e letta Luso di protocolli e algoritmi crittografici può garantire la sicurezza richiesta, ma adeguati accorgimenti devono essere adottati Perché i dati siano trasmessi correttamente Perché i dati siano al sicuro da manomissioni e sia difficile ottenere la chiave segreta
Motivazioni (2/2) La rilevazione on-line degli errori è necessaria per identificare elaborazioni errate con il minimo ritardo La corruzione dei dati ha particolare rilevanza in crittografia: Per raggiungere la resistenza contro alcune tecniche di crittanalisi, ingressi anche molto vicini devono dare risultati molto differenti Gli attacchi basati sulliniezione di guasti: Permettono di recuperare la chiave segreta con un numero di tentativi molto limitato Sono stati descritti attacchi contro sistemi a chiave pubblica (RSA, ECC), algoritmi a chiave simmetrica (DES, AES), algoritmi a flusso (RC4) Le tecniche convenzionali di rilevazione dei guasti sono basate sulla pura ridondanza e sono lente o costose
La Rilevazione On-Line degli Errori Duplicazione generica delle operazioni Ridondanza circuitale: due unità indipendenti e parallele Ridondanza temporale: una sola unità ripete il processo Alcuni brevetti correlati: US : Le tabelle di DES sono estese per includere anche dei codici di rilevazione degli errori US : Shamir propone di usare laritmetica modulare per proteggere RSA Sfruttamento di componenti inutilizzati Effettua la decifratura subito dopo la cifratura Sfruttamento dei tempi morti Unarchitettura pipeline permette di effettuare le stesse operazioni due volte, sfruttando i cicli di riposo, senza eccessivi incrementi nella latenza
Obiettivi Completare larchitettura di cifratura AES Completare il modello della evoluzione di uno o più errori durante la cifratura Realizzare unarchitettura di cifratura con capacità di rilevazione degli errori Valutare gli incrementi di latenza e area richiesti, in relazione ad altre soluzioni Dare una valutazione estesa delle operazioni usate generalmente negli algoritmi simmetrici Suggerire il miglior codice di rilevazione derrore dato un insieme di operazioni (un algoritmo) Suggerire il valore ottimale della frequenza di controllo e del livello di ridondanza Valutare la copertura di alcuni casi esemplificativi
LAlgoritmo AES Il testo è temporaneamente memorizzato in una matrice di 4x4 byte 10 iterazioni di 4 operazioni ciascuna Le operazioni operano principalmente a livello del singolo byte E stata scelta come riferimento una soluzione di base: I dati vengono elaborati completamente in parallelo Nessuna ottimizzazione particolare è stata esplorata SubBytesShiftRowsMixColumnsAddRoundKey Round Iteration
La Propagazione del Codice S(S,P S )
Risultati Codici di Rilevazione Ridondanza Temporale Ridondanza Circuitale Latenza +24%+100% circa Incremento dovuto alla sola verifica Area +16% Incremento dovuto alla sola verifica +100% circa Area * Latenza +44%+100% circa
Codici di Rilevazione dErrore Offrono unalta copertura dei guasti di basso ordine (pochi errori iniettati) La copertura dei guasti di ordine elevato dipende in massima parte dal livello di ridondanza Il livello di ridondanza è ampiamente configurabile Portano ad un basso incremento dei requisiti rispetto alla duplicazione Richiedono comunque un generatore iniziale, un comparatore finale e delle regole di predizione per ogni operazione Molti codici sono presenti in letteratura, ma pochi presentano regole di predizione semplici Codici di parità: orientati alle operazioni logiche (AES) Residui aritmetici: orientati alle operazioni aritmetiche
Frequenza di Controllo Tre livelli principali di controllo: Alla fine della cifratura, Alla fine di alcune (o tutte le) iterazioni, Dopo ogni operazione interna Maggiore è la frequenza di verifica del codice, minore è la latenza di rilevazione dellerrore Ma le prestazioni possono esserne affette pesantemente La frequenza influenza anche la copertura effettiva Il mascheramento di errori può essere evitato con controlli più frequenti Daltra parte, controlli frequenti possono aumentare le probabilità di falsi positivi Ad ogni modo, i punti di controllo devono essere posizionati in modo che nessun errore possa essere mascherato dal processo di cifratura
Risultati
Sviluppi Futuri Ottimizzare le prestazioni dellarchitettura AES con capacità di rilevazione dellerrore Esplorare alcune ottimizzazioni architetturali standard Realizzare e valutare architetture differenti Ottenere la tolleranza al guasto, non solo la rilevazione Sviluppare una libreria di funzioni crittografiche con supporto alla rilevazione degli errori Ottenere stime precise degli incrementi di area e latenza Valutare leffettiva copertura degli errori in risposta ad attacchi realistici Usare la rilevazione dellerrore come contromisura agli attacchi basati sulliniezione di guasti Ad esempio, restituendo come risultato un valore casuale