RE: SPA ed attacchi "control flow based"

Sala Massimiliano <[email protected]> Mon, 14 Feb 2005 11:06:13 +0100 (CET)
Newsgroups gmane.comp.security.italian.crypto
Message-ID <[email protected]>
Caro Patrick,

non esistono "algoritmi di cifratura" vulnerabili a SPA, ma esistono
"implementazione di algoritmi" vulnerabili.
Facciamo il caso di algoritmi che usano campi finiti GF(2^m), tipo
per le curve elittiche o per AES.
Allora ci sono essenzialmente quattro tipi di operazioni: 
somme/sottrazioni, prodotti, inversioni, potenze.
Se uno riuscisse a capire quali di questi sono usati (e quando) con uno
SPA, allora ovviamente l'implementazione e' debole.
Il punto di fondo e' la rappresentazione usata. 
Facendo un esempio stupido, se gli elementi di GF(2^m) sono rappresentati
come resti di divisione per un pol. irriducile di grado m, allora
somme/sottrazioni sono banali (e quindi consumano pochissimo),
mentre le altre operazioni lo sono meno (e quindi consumano di piu').
Per distinguere tra le altre tre, bisogna andare ancora piu' in dettaglio
nell'implentazione (es. si moltiplica nel dominio di Montgomery??, si 
usano coordinate proiettive??).

L'esempio opposto e' dato dal rappresentare gli elementi (non zero) del
campo come potenze di un elemento primitivo. In questo caso prodotti, 
inversioni e potenze sono banali (e quindi a basso consumo), mentre le 
somme/sottrazioni sono dolori.

Per cui se vuoi attaccare qualcosa col tuo strumento, devi sapere tutti
i dettagli dell'implementazione, non basta sapere "cosa fa".

Ciao, spero di esserti stato utile pur non avendo risposto a nessuna
delle tue domande,

	Max




> From: Patrick Bellasi <zeus(at)cds.polimi.it>
> To: "SiKurezza.org" <ml(at)sikurezza.org>
> Subject: SPA ed attacchi "control flow based"
> Date: Mon, 7 Feb 2005 18:14:40 +0100
> 
> 
> Salve ragazzi,
>   da qualche tempo mi stò interessando a problematiche legate alle sicurezza 
> degli algoritmi di cifratura. Mi sono focalizzato principalmente sulla 
> possibilità di effettuare SPA a partire dall'analisi di una traccia di 
> potenza assorbita dal core di un sistema di cifratura.
> 
>  In particolare, dispongo di un simulatore di microprocessori; non si tratta 
> di un Instruction Set Simulator ma bensì di un simulatore comportamentale, 
> pensato originariamente per rilevare statistiche sulle tempistiche di 
> esecuzione delle istruzioni macchina.
> 
> Bene, ho esteso questo simulatore rendendolo capace di tracciare gli 
> assorbimenti del core con il dettaglio del singolo clock cycle. Quello che 
> ottengo in output è un tracciato che è molto vicino, almeno nell'andamento, a 
> quello che si otterrebbe se collegassimo direttamente un oscilloscopio al 
> core hardware.
> Tengo a precisare che nel tracciato ottenuto NON ho dipendenza dai dati, 
> questo dipende da come è stato pensato originariamente il simulatore, ma solo 
> una potenza calcolata in funzione del tipo di istruzioni che si trovano 
> all'interno della pipeline in ogni istante di clock.
> 
> Venendo al punto. Mi chiedevo se fosse possibile sfruttare i dati che riesco 
> ora a generare per analizzare la vulnerabilità di alcuni algoritmi di 
> cifratura ad attacchi basati sulla "Simple Power Analysis".
> 
> In particolare, mi chiedevo:
> 
> 1. esistono algoritmi vulnerabili alla SPA, ovvero che mostrano una forte 
> dipendenza del "flusso di controllo" dalla chiave?
> 
> 2. DES, AES, SHA, MD5 sono sicuri in merito alla SPA;
> 
> 3. Quali altre informazioni possono avere una certa correlazione con la chiave 
> di cifratura ed al contempo essere analizzabili mediante SPA? (tipo numero di 
> volte che viene eseguito una certa operazione)
> 
> 4. Gli algoritmi "meno vulnerabili" alla SPA, se implementati su architetture 
> elementari, come i microporcessori delle smartcard, possono mostrare 
> debolezze verso attacchi SPA? (ad esempio uno shift di Nbit inplementato come 
> successione di N shift in linguaggio macchina ciascuno di 1 bit: potrebbe 
> essere evidente in un tracciato per SPA)
> 
> 
> Ho pensato di scrivere a questa mailing list perchè so essere frequentata da 
> alcuni dei migliori esperti di sicurezza in Italia... spero qualcuno mi 
> riesca a dare qualche dritta interessante.
> Vanno benissimo anche riferimenti bibliografici.
> 
> Grazie per la collaborazione,
>  Patrick Bellasi
> 
> 

________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List