የድህረ-ኳንተም ምስጠራ ስልተ ቀመር Kyber ትግበራዎች ላይ ተጋላጭነት

በኳንተም ኮምፒዩተር ላይ የሚደረጉ ክሪፕቶግራፊክ ስልተ ቀመሮችን ፉክክር ያሸነፈው የ Kyber ምስጠራ ስልተ ቀመር ሲተገበር የጎን ቻናል ጥቃቶች ሚስጥራዊ ቁልፎችን ለመፍጠር የሚያስችል ተጋላጭነት ተለይቷል ምስጠራ በሚፈታበት ጊዜ የሚሠራበትን ጊዜ በመለካት ላይ የተመሠረተ። በአጥቂው የቀረበ የምሥጥር ጽሑፍ። ችግሩ በሁለቱም የCRYSTALS-Kyber KEM ቁልፍ ማቀፊያ ዘዴ እና ብዙ የሶስተኛ ወገን ኪበር የነቁ ምስጠራ ቤተ-መጻሕፍትን በማጣቀሻ አተገባበር ላይ ተጽእኖ ያደርጋል፣ በሲግናል መልእክተኛ ውስጥ ጥቅም ላይ የዋለውን pqcrypto ቤተ-መጽሐፍትን ጨምሮ።

የኮድ ስም KyberSlash የተቀበለው የተጋላጭነት ዋናው ነገር መልእክትን በመግለጽ ሂደት ውስጥ “t = ((t <1) + KYBER_Q/2) , በውስጡም ክፍፍሉ ሚስጥራዊ እሴቱን "t" ከ "ድርብ" ዓይነት ጋር ይይዛል, እና አካፋዩ የታወቀው የህዝብ እሴት KYBER_Q ነው. ችግሩ የዲቪዥን ኦፕሬሽን ጊዜ ቋሚ አይደለም, እና በተለያዩ አከባቢዎች ውስጥ ለመከፋፈል የተከናወኑ የሲፒዩ ዑደቶች ብዛት በመግቢያው መረጃ ላይ የተመሰረተ ነው. ስለዚህ በስራ ጊዜ ውስጥ በሚደረጉ ለውጦች ላይ በመመስረት አንድ ሰው በክፍል ውስጥ ጥቅም ላይ የዋለውን የውሂብ ምንነት ማወቅ ይችላል.

በስክሪፕቶግራፊ መስክ ታዋቂው ኤክስፐርት ዳንኤል ጄ በርንስታይን ጥቃቱ በተግባር ሊፈጸም እንደሚችል የሚያሳይ ማስረጃ ማዘጋጀት ችሏል። ከተካሄዱት ሶስት ሙከራዎች ውስጥ በሁለቱ ውስጥ፣ በ Raspberry Pi 2 ሰሌዳ ላይ ኮድ ሲሰራ፣ የውሂብ መፍታት ጊዜን በመለካት የ Kyber-512 የግል ቁልፍን ሙሉ በሙሉ መፍጠር ተችሏል። ዘዴው ለ Kyber-768 እና Kyber-1024 ቁልፎች ሊስተካከል ይችላል. ጥቃትን በተሳካ ሁኔታ ለመፈፀም በአጥቂው የተገለፀው የምስጢር ጽሑፍ ተመሳሳይ የቁልፍ ጥንድ በመጠቀም እንዲሰራ እና የቀዶ ጥገናውን የአፈፃፀም ጊዜ በትክክል መለካት አስፈላጊ ነው.

በአንዳንድ ቤተ-መጻሕፍት ውስጥ ሌላ ፍንጣቂ (KyberSlash2) ተለይቷል፣ ይህ ደግሞ ክፍፍሉን በሚሰራበት ጊዜ ሚስጥራዊ እሴትን በመጠቀም ይከሰታል። ከመጀመሪያው አማራጭ ውስጥ ያሉት ልዩነቶች ወደ ጥሪው የሚወርዱት በምስጠራ ደረጃ (በፖሊ_ኮምፕሬስ እና ፖሊቪክ_ኮምፕሬስ ተግባራት ውስጥ) እንጂ በዲክሪፕት ጊዜ አይደለም። ይሁን እንጂ ሁለተኛው አማራጭ ለጥቃቱ ጠቃሚ ሊሆን የሚችለው የምስጢር ጽሑፉ ውፅዓት ሚስጥራዊ ሆኖ በሚቆጠርበት ዳግም ምስጠራ ስራዎች ላይ በሚውልበት ጊዜ ብቻ ነው።

ተጋላጭነቱ አስቀድሞ በቤተመጻሕፍት ውስጥ ተስተካክሏል፡-

  • zig/lib/std/crypto/kyber_d00.zig (ታህሳስ 22)፣
  • pq-crystals/kyber/ref (ታህሳስ 30)፣
  • symbolicsoft/kyber-k2so (ታህሳስ 19)፣
  • ክላውድፍላር/ክበብ (ጥር 8)፣
  • aws/aws-lc/crypto/kyber (ጥር 4)፣
  • liboqs/src/kem/kyber (ጥር 8)።

በተጋላጭነት መጀመሪያ ላይ ያልተነኩ ቤተ-መጻሕፍት፡-

  • boringssl/crypto/kyber፣
  • filippo.io/mlkem768፣
  • formosa-crypto/libjade/ዛፍ/ዋና/src/crypto_kem፣
  • kyber/common/amd64/avx2፣
  • formosa-crypto/libjade/ዛፍ/ዋና/src/crypto_kem/kyber/common/amd64/ማጣቀሻ፣
  • pq-crystals/kyber/avx2፣
  • pqclean/crypto_kem/kyber*/avx2.

ተጋላጭነቱ በቤተመጻሕፍት ውስጥ እንዳልተሸፈነ ይቆያል፡-

  • አንቶንቱቶቬአኑ/ክሪስታል-ኪበር-ጃቫስክሪፕት፣
  • አርጋይል-ሶፍትዌር/ኪበር፣
  • ዴቢያን/src/liboqs/ያልተረጋጋ/src/kem/kyber፣
  • kudelskisecurity/crystals-go፣
  • mupq/pqm4/crypto_kem/kyber* (ታህሳስ 20 ላይ፣ የተጋላጭነት 1 ስሪት ብቻ ተስተካክሏል)
  • PQClean/PQClean/crypto_kem/kyber*/arch64፣
  • PQClean/PQClean/crypto_kem/kyber*/ንፁህ፣
  • randombit/botan (በዲሴምበር 20፣ 1 ተጋላጭነት ብቻ ተስተካክሏል)
  • rustpq/pqcrypto/pqcrypto-kyber (እ.ኤ.አ. ጥር 5 ላይ ማስተካከያ በሊብሲግናል ላይ ተጨምሯል፣ ነገር ግን ተጋላጭነቱ በpqcrypto-kyber እራሱ ላይ ገና አልተስተካከለም)።

ምንጭ: opennet.ru

አስተያየት ያክሉ