Dobësi në implementimet e algoritmit të kriptimit post-kuantik Kyber

Në zbatimin e algoritmit të kriptimit Kyber, i cili fitoi konkurrencën e algoritmeve kriptografike rezistente ndaj forcës brutale në një kompjuter kuantik, u identifikua një dobësi që lejon sulmet e kanaleve anësore të rikrijojnë çelësat sekretë bazuar në matjen e kohës së operacioneve gjatë dekriptimit të teksti shifror i ofruar nga sulmuesi. Problemi prek si zbatimin e referencës së mekanizmit të kapsulimit të çelësit CRYSTALS-Kyber KEM, ashtu edhe shumë biblioteka të enkriptimit të palëve të treta me mbështetje Kyber, duke përfshirë bibliotekën pqcrypto të përdorur në mesazherin Signal.

Thelbi i cenueshmĂ«risĂ«, i cili mori emrin e koduar KyberSlash, Ă«shtĂ« nĂ« pĂ«rdorimin e operacionit tĂ« ndarjes "t = (((t < 1) + KYBER_Q/2)/KYBER_Q) & 1;" nĂ« procesin e dekodimit tĂ« njĂ« mesazhi , nĂ« tĂ« cilĂ«n dividenti pĂ«rmban vlerĂ«n sekrete “t” me tipin “double”, dhe pjesĂ«tues Ă«shtĂ« vlera e njohur publike KYBER_Q. Problemi Ă«shtĂ« se koha e njĂ« operacioni tĂ« ndarjes nuk Ă«shtĂ« konstante dhe nĂ« mjedise tĂ« ndryshme numri i cikleve tĂ« CPU-sĂ« qĂ« kryhen pĂ«r ndarje varet nga tĂ« dhĂ«nat hyrĂ«se. KĂ«shtu, bazuar nĂ« ndryshimet nĂ« kohĂ«n e funksionimit, mund tĂ« merret njĂ« ide pĂ«r natyrĂ«n e tĂ« dhĂ«nave tĂ« pĂ«rdorura nĂ« ndarje.

Daniel J. Bernstein, një ekspert i njohur në fushën e kriptografisë, ishte në gjendje të përgatiste një demonstrim pune të provës se sulmi mund të kryhej në praktikë. Në dy nga tre eksperimentet e kryera, gjatë ekzekutimit të kodit në tabelën Raspberry Pi 2, ishte e mundur të rikrijohej plotësisht çelësi privat Kyber-512 bazuar në matjet e kohës së deshifrimit të të dhënave. Metoda mund të përshtatet edhe për çelësat Kyber-768 dhe Kyber-1024. Për të kryer me sukses një sulm, është e nevojshme që teksti i koduar i specifikuar nga sulmuesi të përpunohet duke përdorur të njëjtin çift çelësash dhe që koha e ekzekutimit të operacionit të mund të matet me saktësi.

Një tjetër rrjedhje (KyberSlash2) është identifikuar në disa biblioteka, e cila gjithashtu ndodh për shkak të përdorimit të një vlere sekrete gjatë kryerjes së ndarjes. Dallimet nga opsioni i parë zbresin në thirrjen në fazën e enkriptimit (në funksionet poly_compress dhe polyvec_compress), dhe jo gjatë deshifrimit. Megjithatë, opsioni i dytë mund të jetë i dobishëm për një sulm vetëm në rastet kur procedura përdoret në operacionet e rikriptimit në të cilat dalja e tekstit të shifruar konsiderohet konfidenciale.

Dobësia tashmë është rregulluar në biblioteka:

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

Bibliotekat që nuk janë prekur fillimisht nga cenueshmëria:

  • boringssl/kripto/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-kristale/kyber/avx2,
  • pqclean/crypto_kem/kyber*/avx2.

Dobësia mbetet e parregulluar në biblioteka:

  • antontutoveanu/crystals-kyber-javascript,
  • Argyle-Software/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/crystals-go,
  • mupq/pqm4/crypto_kem/kyber* (MĂ« 20 dhjetor, vetĂ«m 1 version i cenueshmĂ«risĂ« u rregullua)
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/clean,
  • randombit/botan (MĂ« 20 dhjetor, vetĂ«m 1 cenueshmĂ«ri u rregullua),
  • rustpq/pqcrypto/pqcrypto-kyber (njĂ« rregullim u shtua nĂ« libsignal mĂ« 5 janar, por dobĂ«sia nuk Ă«shtĂ« rregulluar ende nĂ« vetĂ« pqcrypto-kyber).

Burimi: opennet.ru

Bleni njĂ« host tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, serverĂ« VPS VDS đŸ”„ Bleni hosting tĂ« besueshĂ«m tĂ« faqeve tĂ« internetit me mbrojtje DDoS, servera VPS VDS | ProHoster