Politecnico di Milano Implementazione di un Architettura Sicura per lAES 27 Luglio 2006 Milano Motta Francesco Nazzari Davide Relatore: Luca Breveglieri
- 2 - Sommario Obiettivi AES Architettura Rilevazione DAttacco Occupazione FPGA Risultati Conclusioni e Sviluppi Futuri
- 3 - Obiettivi Proporre limplementazione di unarchitettura per lAES capace di riconfigurasi in caso di attacco esterno, riscontrato tramite lutilizzo della rilevazione derrore.
- 4 - Cosè lAES LAES: Algortimo di crittografia a chiave simmetrica Algoritmo a blocchi Chiavi da 128, 192 e 256 bit Dal 2001 nuovo standard per la crittografia Operazioni: SubByte ShiftRow MixColumn AddRoundKey s 00 s 01 s 02 s 03 s 10 s 11 s 12 s 13 s 20 s 21 s 22 s 23 s 30 s 31 s 32 s 33 Matrice STATE Algoritmo di Codifica
- 5 - AES: Le operazioni SubByteMixColumn ShiftRowAddRoundKey Matrice Substitution Box a c (x) = (a c,r ) · x3 + (a c,r ) · x2 + (a c,r ) · x + (a c,r ) c(x) = {03} h · x 3 + {01} h · x 2 + {01} h · x + {02} h b(x) = [a c (x) · c(x)] mod (x 4 -1) a 2,2 = {68} h b 2,2 = {45} h
- 6 - ControlUnit DataUnit KeyUnit Architettura
- 7 - Architettura DataUnit: due possibili implementazioni Sono necessari 64 cicli per i 10 round. In ogni round 5 cicli servono per eseguire SubByte e ShiftRow. Utilizza il 43% in meno di spazio. Per eseguire i 10 round sono necessari 34 cicli di clock. 3 cicli per ogni round: uno per la SubByte, uno per la ShiftRow e uno per MixColumn e AddRoundKey. DataUnit ad Alte Prestazioni DataUnit Standard
- 8 - Attacchi Ad oggi non è stato ancora violato Esistono nuovi tipi di attacco potenzialmente pericolosi ESISTONO NUOVI TIPI DI ATTACCHI POTENZIALMENTE PERICOLOSI Optical Attack
- 9 - Rilevazione dattacchi Gli attacchi si traducono in errori in (de)codifica Come rilevarli: Metodi EDC (Error Detecting Code) p 00 p 01 p 02 p 03 p 10 p 11 p 12 p 13 p 20 p 21 p 22 p 23 p 30 p 31 p 32 p 33 s 00 s 01 s 02 s 03 s 10 s 11 s 12 s 13 s 20 s 21 s 22 s 23 s 30 s 31 s 32 s 33 Matrice STATE Per alcune operazioni è molto facile AddRoundKey ShiftRow Altre invece richiedono funzioni appositamente studiate Per la SubByte si crea una nuova unità la Parity_SBox In uscita dalla MixColumn la parità dipende dai byte della stessa colonna e dal bit di parità: Matrice Delle Parità Parità Predetta Operazione AES Predittore Comparatore Input Calcolo Parità Parità
Parità come Usarla Il metodo è molto efficace ed efficiente Poco spazio occupato Copertura totale (100% nel caso di un solo bit errato o un numero dispari di bit, 99.9% nel caso di errore multiplo pari) Uno volta rilevato lattacco si possono utilizzare stratagemmi per proseguire in modo corretto la crittografia Nel caso di ASIC si possono usare DataCell di Backup Costose in termini di spazio Con le FPGA è possibile sfruttare la riconfigurazione
Riconfigurazione Riconfigurazione Totale Equivale a resettare il dispositivo e riprogrammarlo Riconfigurazione Parziale Riconfiguro il solo componente soggetto allattacco (la Dataunit)
Riconfigurazione Parziale
Occupazione su FPGA xc3s200: le DataUnit a confronto Alte Prestazioni Architettura Standard Total # Slice Registers(3840) 855(22%)696(18%) # of 4 input LUTs(3,840) 4627(120%)2953(76%) # of occupied Slices(1920) 2319(120%)1699(88%) Total # of 4 input LUTs(3,840) 4627(120%)2957(77%) # of bonded IOBs(141) 233(165%)202(143%) Architettura Standard Total # Slice Registers(3840) 827(21%) # of 4 input LUTs(3,840) 3254(84%) # of occupied Slices(1920) 1893(98%) Total # of 4 input LUTs(3,840) 3254(84%) # of bonded IOBs(141)106(75%)
Riconfigurazione Parziale Occupazione sulla xcv1000 Parte fissaParte riconfigurabile Total # Slice Registers(24.576)447(1%)564(1%) # of 4 input LUTs(24.576)827(3%)3.944(16%) # of occupied Slices(12.288)574(4%)2.054(16%) Total # of 4 input LUTs(3,840) 836(3%) 3.944(16%) # of bonded IOBs(404)361(89%)223(55%)
Risultati ottenuti La riconfigurazione parziale implica un ulteriore modifica della struttura attualmente tra parte fissa e parte riconfigurabile sono necessari ben 227 bit di comunicazione, spezzarli in blocchi e inviarli uno alla volta porterebbe a diminuire le prestazioni E necessario quindi utilizzare la riconfigurazione totale
Futuri sviluppi Lutilizzo delle FPGA per la realizzazione di architetture sicure è comunque conveniente perché farlo su ASIC o circuiti dedicati comporta un notevole costo in termini di spazio occupato Implementare una nuova DataUnit da 192 e 256 bit Studiare una nuova Architettura che permetta di ridurre il numero di segnali