Bod yn agored i niwed wrth weithredu'r algorithm amgryptio ôl-cwantwm Kyber

Wrth weithredu algorithm amgryptio Kyber, a enillodd gystadleuaeth algorithmau cryptograffig sy'n gwrthsefyll grym 'n ysgrublaidd ar gyfrifiadur cwantwm, nodwyd bregusrwydd sy'n caniatáu i ymosodiadau sianel ochr ail-greu allweddi cyfrinachol yn seiliedig ar fesur amser gweithrediadau yn ystod dadgryptio'r ciphertext a ddarperir gan yr ymosodwr. Mae'r broblem yn effeithio ar weithrediad cyfeirio mecanwaith amgáu allwedd CRYSTALS-Kyber KEM a llawer o lyfrgelloedd amgryptio trydydd parti sy'n galluogi Kyber, gan gynnwys y llyfrgell pqcrypto a ddefnyddir yn y negesydd Signal.

Hanfod y bregusrwydd, a dderbyniodd yr enw cod KyberSlash, yw'r defnydd o'r gweithrediad rhannu “t = ((( t < 1) + KYBER_Q/2)/KYBER_Q) & 1;” yn y broses o ddadgodio neges , lle mae'r difidend yn cynnwys y gwerth cyfrinachol “t” gyda math “dwbl”, a'r rhannwr yw'r gwerth cyhoeddus adnabyddus KYBER_Q. Y broblem yw nad yw amser gweithrediad rhannu yn gyson, ac mewn gwahanol amgylcheddau mae nifer y cylchoedd CPU a gyflawnir ar gyfer rhannu yn dibynnu ar y data mewnbwn. Felly, yn seiliedig ar newidiadau mewn amseroedd gweithredu, gall rhywun gael syniad o natur y data a ddefnyddir wrth rannu.

Roedd Daniel J. Bernstein, arbenigwr adnabyddus ym maes cryptograffeg, yn gallu paratoi arddangosiad gweithiol o brawf y gellid cyflawni'r ymosodiad yn ymarferol. Mewn dau o'r tri arbrawf a gynhaliwyd, wrth redeg cod ar y bwrdd Raspberry Pi 2, roedd yn bosibl ail-greu allwedd breifat Kyber-512 yn llwyr yn seiliedig ar fesur yr amser datgodio data. Gellir addasu'r dull hefyd ar gyfer allweddi Kyber-768 a Kyber-1024. Er mwyn cyflawni ymosodiad yn llwyddiannus, mae angen i'r ciphertext a bennir gan yr ymosodwr gael ei brosesu gan ddefnyddio'r un pâr allweddol a bod modd mesur amser gweithredu'r llawdriniaeth yn gywir.

Mae gollyngiad arall (KyberSlash2) wedi'i nodi mewn rhai llyfrgelloedd, sydd hefyd yn digwydd oherwydd y defnydd o werth cyfrinachol wrth berfformio rhannu. Daw'r gwahaniaethau o'r opsiwn cyntaf i lawr i'r alwad yn y cam amgryptio (yn y swyddogaethau poly_compress a polyvec_compress), ac nid yn ystod dadgryptio. Fodd bynnag, gall yr ail opsiwn fod yn ddefnyddiol ar gyfer ymosodiad dim ond mewn achosion lle defnyddir y weithdrefn mewn gweithrediadau ail-amgryptio lle mae allbwn y ciphertext yn cael ei ystyried yn gyfrinachol.

Mae'r bregusrwydd eisoes wedi'i bennu yn y llyfrgelloedd:

  • zig/lib/std/crypto/kyber_d00.zig (Rhagfyr 22),
  • pq-crisials/kyber/ref (Rhagfyr 30),
  • symbolicsoft/kyber-k2so (Rhagfyr 19),
  • fflêr cymylau/cylch (Ionawr 8),
  • aws/aws-lc/crypto/kyber (Ionawr 4),
  • liboqs/src/kem/kyber (8 Ionawr).

Llyfrgelloedd na chafodd eu heffeithio i ddechrau gan y bregusrwydd:

  • boressl/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,
  • crisialau pq/kyber/avx2,
  • pqclean/crypto_kem/kyber*/avx2.

Mae’r bregusrwydd yn parhau heb ei newid yn y llyfrgelloedd:

  • antontutoveanu/crisialau-kyber-javascript,
  • Argyle-Meddalwedd/kyber,
  • debian/src/liboqs/unstable/src/kem/kyber,
  • kudelskisecurity/cristals-go,
  • mupq/pqm4/crypto_kem/kyber* (Ar Ragfyr 20, dim ond 1 fersiwn o'r bregusrwydd a sefydlogwyd),
  • PQClean/PQClean/crypto_kem/kyber*/aarch64,
  • PQClean/PQClean/crypto_kem/kyber*/ glân,
  • hapbit/botan (Ar Ragfyr 20, dim ond 1 bregusrwydd oedd yn sefydlog),
  • rustpq/pqcrypto/pqcrypto-kyber (ychwanegwyd atgyweiriad i libsignal ar Ionawr 5, ond nid yw'r bregusrwydd wedi'i bennu eto yn pqcrypto-kyber ei hun).

Ffynhonnell: opennet.ru

Prynu gwesteio dibynadwy ar gyfer gwefannau sydd â diogelwch DDoS, gweinyddwyr VPS VDS 🔥 Prynu cynnal gwefannau dibynadwy gyda diogelwch DDoS, gweinyddion VPS VDS | ProHoster