Sì, Ed25519 è ancora sicuro. The paper descrive un attacco contro l'elaborazione hardware delle firme Ed25519. Non è un attacco crittografico contro l'algoritmo stesso. Come spiegato qui , un attacco di errore (chiamato anche attacco glitching) comporta cercando di confondere un processore mentre sta elaborando il materiale crittografico per causarlo a glitch in un modo che perde la chiave privata. A meno che qualcuno non stia collegando le sonde elettriche alla tua CPU, l'attacco non ha alcun effetto su di te.
L'attacco comporta l'aggancio di un dispositivo alla CPU e il suo "glitching", ad esempio alimentandolo con troppa o poca tensione in momenti specifici. Se il problema si verifica mentre il materiale crittografico viene elaborato, è possibile scoprire informazioni sulla chiave osservando i risultati della glitch. È una procedura molto invasiva, come puoi vedere in questa foto dell'attacco in corso:
Dal testo che descrive questa immagine:
We demonstrated it on an Arduino Nano, using the Arduino Libs’ Crypto Ed25519 implementation and simple voltage glitches. We were able to cause single byte random errors at the end of the computation of H(R,A,M), allowing us to efficiently brute-force the error location and value, thus recovering half of the secret key.
Allora perché questo attacco è degno di nota? La risposta è semplicemente che non tutti gli usi di Ed25519 si verificano su una macchina su cui si ha il pieno controllo. Ad esempio, i dispositivi embedded sicuri, come le smart card, potrebbero cadere in mani contraddittorie. Questi dispositivi sono progettati per essere sicuri e non rivelare la loro chiave privata, anche se si dispone di accesso fisico a loro, quindi sarebbe male se si potesse rubare la chiave privata semplicemente monitorando il dispositivo mentre si alimenta una tensione errata! Questo attacco non significa che ogni utilizzo di Ed25519 è destinato a essere vulnerabile a un attacco di errore, solo che ogni implementazione deve applicare attenuazioni per evitare questo problema in situazioni in cui è rilevante.