DJB: attacco alle S-box
Lapo Luchini <[email protected]> Thu, 21 Apr 2005 01:34:18 +0200
| Newsgroups | gmane.comp.security.italian.crypto |
|---|---|
| Message-ID | <[email protected]> |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
http://cr.yp.to/antiforgery/cachetiming-20050414.pdf
"Cache-timing attacks on AES", Daniel J. Bernstein
14/04/2005 (versione NON definitiva)
Tutti i cifrari che hanno gareggiato per diventare AES basano una loro
implementazione efficiente sull'uso di S-box precalcolate e molti di
loro utilizzano l'S-box come principale (per Rijndael, unica) fonte di
non-linearità nell'intero algoritmo. Questo è stato perfino uno
dei motivi di scelta di Rijndael, particolarmente adatto a essere
implementato con S-box e poco altro e, quindi, molto veloce da
implementare in modo "sicuro".
Tutto questo, ovviamente, considerando l'accesso a una S-box (ovvero
l'accesso ad un array di valori precalcolati con indice dipendente dal
dato) una operazione tempo-costante.
Questo paper di DJB si "limita" a dire con prepotenza quello che già
da oltre un decennio altri avevano accennato: un accesso ad array con
indice dipendente dal dato NON è da considerarsi tempo costante.
Questo permette di fare svariate analisi basate sul tempo necessario
per eseguire l'algoritmo crittografico (Bernstein si concentra su AES,
dato che è "lo standard", ma sottintende che le sue argomentazioni si
applicano alla maggior parte degli altri cifrari) e, in definitiva,
capire la chiave utilizzata.
La piacevole novità di questo paper, inoltre, è che DJB non lavora in
quell'ambito da crittografo/matematico professionista che è a lui
congeniale ma a tanti altri poco accessibile: l'intero paper è
leggibilissimo (per mio giudizio) da chiunque abbia una conoscenza
base dell'informatica e del funzionamento delle moderne CPU.
Il tutto, infine, è corredato da un set di piccoli programmi in C
(poche pagine in tutto!) che in modo *sorprendentemente* facile,
applicano quanto detto e -voila- recuperano una chiave AES da un
processo remoto che utilizza OpenSSL. (ma DJB specifica che tutte le
implementazioni che ha provato hanno questo problema, non è certo
specifico a OpenSSL)
In definitiva? In definitiva AES (e con lui la MAGGIOR PARTE dei
cifrari moderni) ha subito un brutto colpo, qualcosa di difficile da
"rappezzare" in software (se non perdendo straordinariamente in
prestazioni), qualcosa che, fondamentalmente, dovrebbe spingere il
NIST (o chi per lui) a un nuovo turno di scelte, per trovare il
successore di AES, aggiungendo come ovvio pre-requisito (oltre ai
pre-esistenti, come ad esempio resistere a crittanalisi lineare e
differenziale) anche di non utilizzare array con indice dipendente dal
dato: fino a oggi considerati tempo costanti e quindi "sicuri", ma ora
non più.
O il NIST si muoverà a proporre un nuovo standard "de iure",
possibilmente con l'illuminato processo "aperto" che ha portato alla
scelta di AES (XES? eXtreme Encryption System? oggi le X vanno tanto
di moda...) o probabilmente gli implementatori inizieranno ad avere
"sufficienti motivi" per spingere qualche altro standard "de facto"...
Tra questo e i recenti attacchi cinesi all'intero gruppo degli hash
oggi in uso.. come dire: viviamo in tempi interessanti.
Lapo
- --
L a p o L u c h i n i
l a p o @ l a p o . i t
w w w . l a p o . i t /
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (Cygwin)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iQIcBAEBCAAGBQJCZub5AAoJELBiMTth2oCDOuwP/igkcZm2ytrWIlWkdCyEDzsA
EihFSAVTTlgVHqJmA7jJ/Lt7vOhPI3AJ3LjooigrB9C9BvtscBvtLfsLKaR/Fgbv
mhj9DtSDi9LZSOKXatbtKX8Zk9ySZ1PD+pOCJp18MOvYp/3cfeEu5E4qBkBxU/I6
fMEPGNhWdombcS1YMyznArEp2B4rhJmGpZ8rHVp+/q12z0dkv/OLxPqu9IIa6m/y
nZ4wxBcQmqbO0MA7SvljBmqYPf1/Pu14nsAdP2yto0OTlOYQjkDYhZkapOZzFqF6
mvxj9mlvEov3K7lwxH1Euy7UEPN9tqHFfheXiJHq05jWymhYgMrAnBOlzLabR0Gp
PFsTecO1kY+2OoV69294c+Mkf4RRZnsg6B5XTj0Nv1feL489K9gECO0wHeuW2nMq
zsbUi2qPvrJzJ+VEoeZxNywGWIZiXExRdEAGSVqc6WTA/XLu/WoLHb2XZbrNvHCF
/tgmFc/0HLOJrDBnKt4TE6MsehtQ6O6attaXQ2uhxFNQ5BldCrH7KRj99Ta47+46
y+cJqCZO/Yh5RLdm58tGgA2wdfxcr7P8xRUWHncallzDoV8k7WXKdvaJzNXST+Zi
WUvdOsbtBoZlXrAcEFFWE/cuZeP0jDT2moTvzQREW0r9aV074k9EeDNy/2nekUQU
cjU211f+KGgeZAFhD3Uf
=dIm6
-----END PGP SIGNATURE-----
________________________________________________________
http://www.sikurezza.org - Italian Security Mailing List