Minerva: një seri dobësish në zbatimet e ECDSA / EdDSA

Minervë

Studiuesit nga Universiteti Masaryk zbuluan informacione i rëndësishëm në lidhje me dobësitë në i ndryshëm iZbatimet e algoritmit të gjenerimit të nënshkrimeve dixhitale ECDSA / EdDSA, që lejon të rimarrë vlerën e çelësit privat bazuar në analizën e rrjedhjeve të informacionit në bit individualë që shfaqen kur zbatohen metodat e analizës përmes kanaleve të palëve të treta. Dobësitë janë me emrin e koduar Minerva.

Projektet më të famshme që ndikojnë metoda e propozuar e sulmit janë OpenJDK, OracleJDK (CVE-2019-2894) dhe bibliotekën libgcrypt (CVE-2019-13627) e përdorur në GnuPG. Problemet janë gjithashtu të ndjeshëm ndaj bibliotekave MatrixSSL, Crypto ++, wolfCrypt, eliptike, jsrsasign, Python-ECDSA, ruby_ecdsa, fastecdsa dhe gjithashtu disa karta inteligjente Athena IDProtect, Karta e blinduar TecSec, SafeNet eToken 4300, Valid S / A IDflex V.

Përveç dobësive të përmendura për momentin ato nuk preken OpenSSL, Botan, mbedTLS dhe BoringSSL. Mozilla NSS, LibreSSL, Nettle, BearSSL, kriptlib, OpenSSL në modalitetin FIPS. Microsoft .NET kripto, Linux kernel libkcapi, Sodium dhe GnuTLS ende nuk janë testuar.

Ne kemi gjetur implementime që humbin gjatësinë e bitit të skalarit gjatë shumëzimit skalar në ECC. Kjo rrjedhje mund të duket e vogël pasi gjatësia e bitit ka një sasi shumë të vogël informacioni të pranishëm në skalar. Sidoqoftë, në rastin e gjenerimit të nënshkrimeve ECDSA / EdDSA, filtrimi i gjatësisë së bit-it të nonce-it të rastit është i mjaftueshëm për rikuperimin e plotë të çelësit privat të përdorur pasi keni vëzhguar disa qindra deri në disa mijëra nënshkrime në mesazhet e njohura, për shkak të disa teknika.

Ne besojmë se të gjitha kartat e mëparshme preken sepse ato ndajnë një përbërës të përbashkët ECDSA (moduli FIPS 214), i cili përshkruhet si Komponenti Athena OS2 ECDSA755 në Inside Secure AT90SC A1.0 (Firmware). Ne kemi testuar cenueshmërinë vetëm në kartelën Athena IDProtect me të dhëna CPLC dhe ATR

Problemi është shkaktuar nga aftësia për të përcaktuar vlerat individuale të bitit gjatë shumëzimit me një skalar gjatë operacioneve ECC. Metodat indirekte, të tilla si vlerësimi i vonesës në kryerjen e llogaritjeve, përdoren për nxjerrjen e informacionit bit.

Një sulm kërkon qasje të pa privilegjuar në host në të cilën gjenerohet nënshkrimi dixhital (një sulm në distancë nuk përjashtohet, por është shumë i komplikuar dhe kërkon një sasi të madhe të dhënash për analizë, prandaj mund të konsiderohet e pamundur).

Pavarësisht nga madhësia e vogël e rrjedhjes, për ECDSA përkufizimi i madje edhe disa bit me informacione në lidhje me vektorin e inicimit (nonce) është i mjaftueshëm për të kryer një sulm për të rivendosur sekuencën e plotë private.

Sipas autorëve të metodës, për rikuperimin e suksesshëm të çelësit, mjafton analiza e disa qindra deri në disa mijëra nënshkrime dixhitale të gjeneruara për mesazhet e njohura nga sulmuesi. Për shembull, për të përcaktuar çelësin privat të përdorur në kartën inteligjente Athena IDProtect bazuar në çipin Inside Secure AT90SC, duke përdorur lakoren eliptike secp256r1, u analizuan 11 mijë nënshkrime dixhitale. Koha totale e sulmit ishte 30 minuta.

Kodi ynë i sulmit dhe prova e konceptit është frymëzuar nga metoda Brumley & Tuveri.

Problemi është rregulluar tashmë në libgcrypt 1.8.5 dhe wolfCrypt 4.1.0, projekte të tjera nuk kanë gjeneruar ende azhurnime. Alsoshtë gjithashtu e mundur të gjurmoni rregullimin e cenueshmërisë në paketën libgcrypt në shpërndarjet në këto faqe: Debian, Ubuntu, RHEL, Fedora, openSUSE / SUSE, FreeBSD, Harku

Studiuesit gjithashtu testuan karta dhe biblioteka të tjera, nga të cilat më poshtë nuk janë të prekshme:

  • OpenSSL 1.1.1d
  • Kalaja Bouncy 1.58
  • BoringSSL 974f4dddf
  • libtomkriptimi 1.18.2
  • Boot 2.11.0
  • Microsoft CNG
  • mbedTLS 2.16.0
  • Intel IPP-Kripto

Letra

  • DHW ACOSJ 40K
  • Feitian A22CR
  • G&D SmartCafe 6.0
  • G&D SmartCafe 7.0
  • Infineon CJTOP 80K INF SLJ 52GLA080AL M8.4
  • JCard Universale Infineon SLE78
  • NXP JCOP31 v2.4.1
  • NXP JCOP CJ2A081
  • NXP JCOP v2.4.2 R2
  • NXP JCOP v2.4.2 R3
  • SIMOME TaiSYS Vault

Nëse doni të dini më shumë rreth sulmit të përdorur dhe dobësive të zbuluara, mund ta bëni këtë në lidhja vijuese. Mjetet e përdorura për të replikuar sulmin janë në dispozicion për shkarkim.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.