Attacco di analisi del tempo e criptosistema

1

Perché un "Timeing Analysis Attack" è un problema per un crittosistema?

Ho cercato di imparare la sicurezza e ho una domanda sull'attacco per l'analisi dei tempi.

    
posta okkk 12.09.2013 - 12:48
fonte

1 risposta

6

Gli attacchi a tempo sono un tipo di attacchi ai canali laterali . Da un punto di vista formale, un algoritmo crittografico (diciamo un sistema di crittografia) prende un po 'di input e fornisce un output, e l'attaccante vede i due valori e cerca di elaborare la chiave da questi valori. Tuttavia, in un sistema realistico, l'algoritmo non avviene "magicamente": deve essere eseguito da qualche parte, su un computer o su qualche altro circuito, e l'attaccante può cercare di osservare dall'esterno questa operazione e dedurre alcune informazioni extra.

Un'analisi temporale (o attacco) riguarda la misurazione del tempo impiegato dall'algoritmo crittografico per eseguire una determinata operazione. Informalmente, l'hacker tenta di fare "ipotesi informate" che assomigliano a "mmh ... l'algoritmo ha impiegato 174 nanosecondi per essere eseguito, ma se quel bit della chiave era un 1, avrebbe dovuto prenderne almeno 176 nanosecondi, quindi il bit chiave era uno 0 ".

La difesa dagli attacchi temporali include la messa a punto dell'implementazione dell'algoritmo in modo che venga eseguita sempre in un intervallo di tempo fisso indipendentemente dal valore della chiave e dai dati di input; o "randomizzandolo" in modo che l'attaccante non possa più fare supposizioni. Per esempio. con l'esponenziazione core di RSA, invece di calcolare m d mod n ( n è il modulo, d è l'esponente privato), l'implementazione genera un valore casuale r modulo n , quindi calcola r e mod n e 1 / r mod n e calcola ((m * r e ) d) * (1 / r) mod n . Questo è chiamato masking . Poiché viene generato un nuovo r per ogni calcolo RSA, questo processo impedisce efficacemente le ipotesi basate sui tempi dall'hacker.

    
risposta data 12.09.2013 - 13:10
fonte

Leggi altre domande sui tag