Vulnerabilità in implementazioni di l'algoritmu di criptografia post-quantum Kyber

In l'implementazione di l'algoritmu di criptografia Kyber, chì hà vintu a cumpetizione di algoritmi criptografici resistenti à a forza bruta in un computer quantisticu, hè stata identificata una vulnerabilità chì permette à l'attacchi di i canali laterali per ricreà e chjave secrete basatu nantu à a misurazione di u tempu di l'operazioni durante a decifrazione di u ciphertext furnitu da l'attaccante. U prublema affetta sia l'implementazione di riferimentu di u mecanismu di incapsulazione di chjave CRYSTALS-Kyber KEM è parechje biblioteche di criptografia di Kyber di terze parti, cumpresa a libreria pqcrypto utilizata in u Signal messenger.

L'essenza di a vulnerabilità, chì hà ricevutu u nome di codice KyberSlash, hè in l'usu di l'operazione di divisione "t = (((t

Daniel J. Bernstein, un espertu ben cunnisciutu in u campu di a criptografia, hà sappiutu preparà una dimostrazione di travagliu di prova chì l'attaccu puderia esse realizatu in pratica. In dui di i trè esperimenti realizati, quandu u codice di u codice nantu à u Raspberry Pi 2 board, era pussibule di ricreà cumplettamente a chjave privata Kyber-512 basatu nantu à a misurazione di u tempu di decodificazione di dati. U metudu pò ancu esse adattatu per e chjave Kyber-768 è Kyber-1024. Per fà un attaccu cù successu, hè necessariu chì u testu criptu specificatu da l'attaccante sia processatu cù u listessu paru di chjave è chì u tempu di esecuzione di l'operazione pò esse misuratu accuratamente.

Una altra fuga (KyberSlash2) hè stata identificata in certi biblioteche, chì si trova ancu per via di l'usu di un valore secretu in a divisione. I diffirenzii da a prima opzione venenu à a chjama à u stadiu di criptografia (in e funzioni poly_compress è polyvec_compress), è micca durante a decryption. In ogni casu, a seconda opzione pò esse utile per un attaccu solu in i casi induve a prucedura hè aduprata in l'operazioni di re-encryption in quale l'output di u ciphertext hè cunsideratu cunfidenziale.

A vulnerabilità hè digià stata riparata in e librerie:

  • zig/lib/std/crypto/kyber_d00.zig (22 dicembre),
  • pq-crystals/kyber/ref (30 dicembre),
  • symbolicsoft/kyber-k2so (19 dicembre),
  • cloudflare/circl (8 di ghjennaghju),
  • aws/aws-lc/crypto/kyber (4 di ghjennaghju),
  • liboqs/src/kem/kyber (8 ghjennaghju).

Biblioteche micca inizialmente affettate da a vulnerabilità:

  • boringssl/crypto/kyber,
  • filippo.io/mlkem768,
  • formosa-crypto/libjade/tree/main/src/crypto_kem,
  • kyber/common/amd64/avx2,
  • formosa-crypto/libjade/tree/main/src/crypto_kem/kyber/common/amd64/ref,
  • pq-crystals/kyber/avx2,
  • pqclean/crypto_kem/kyber*/avx2.

A vulnerabilità resta senza patch in e librerie:

  • antontutoveanu/crystals-kyber-javascript,
  • Argyle-Software/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/cristalli-go,
  • mupq/pqm4/crypto_kem/kyber* (U 20 dicembre, solu 1 versione di a vulnerabilità hè stata fissata),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/clean,
  • randombit/botan (U 20 dicembre, solu 1 vulnerabilità hè stata fissata),
  • rustpq/pqcrypto/pqcrypto-kyber (una correzione hè stata aghjunta à libsignal u 5 di ghjennaghju, ma a vulnerabilità ùn hè micca stata riparata in pqcrypto-kyber stessu).

Source: opennet.ru

Add a comment