Odhalili spôsob klonovania tokenových kľúčov na čipy NXP

Výskumní pracovníci NinjaLab vyvinuli nový útok bočný kanál (CVE-2021-3011) na klonovanie kľúčov ECDSA uložených v tokenoch USB na základe čipov NXP.

Útok predvedené pre dvojfaktorové autentifikačné tokeny Google Titan na základe čipu NXP A700X, ale teoreticky platí pre krypto tokeny Yubico a Feitian, ktoré používajú rovnaký čip.

Navrhovaná metóda umožňuje útočníkovi znovu vytvoriť kľúče ECDSA uložené v tokene na základe získaných údajov analýzou elektromagnetického signálu emitovaného tokenom počas generovania digitálnych podpisov.

Vedci preukázali, že elektromagnetický signál koreluje s prchavými kľúčovými informáciami z ECDSA, čo je dostatočné na získanie tajného kľúča pomocou techník strojového učenia.

Konkrétne povaha zmeny signálu umožňuje, aby sa informácie o jednotlivých bitoch extrahovali počas násobenia skalárom v operáciách s eliptickou krivkou.

Pre ECDSA, definovať aj pár bitov informáciami cez inicializačný vektor (nonce) stačí vykonať útok a postupne obnoviť všetok súkromný kľúč. Na získanie tajného kľúča v tokene Google Titan stačí analyzovať asi 6.000 2 operácií digitálneho podpisu na základe kľúča ECDSA použitého na dvojfaktorovú autentizáciu FIDO UXNUMXF pri pripojení k účtu Google.

Nájsť slabosti pri implementácii algoritmu ECDSA na čipoch NXP ECDSA bola použitá otvorená platforma na vytváranie čipových kariet NXP J3D081 (JavaCard), ktorá je veľmi podobná čipom NXP A700X a využíva identickú kryptografickú knižnicu, ale zároveň poskytuje viac príležitostí na štúdium fungovania motora ECDSA. Na získanie kľúča JavaCard stačilo analyzovať asi 4000 XNUMX operácií.

Vykonať útok, musíte mať fyzický prístup k tokenu, to znamená, že útočník musí mať k dispozícii útočníka na dlhodobé prešetrenie. Čip je navyše obrnený hliníkovou obrazovkou, takže puzdro musí byť rozobraté, čo sťažuje skrytie stôp po útoku, napríklad tokeny Google Titan sú zapečatené v plaste a bez viditeľných stôp ich nemožno rozobrať. (Ako ako alternatíva sa navrhuje tlač na 3D tlačiarni nového krytu).

Vyzdvihnutie kľúča trvá približne 6 hodín účtu FIDO U2F a vyžaduje približne Ďalšie 4 hodiny na rozobratie a zloženie žetónu.

Útok si vyžaduje aj dosť drahé vybavenie, ktoré stoja okolo 10 XNUMX eur, zručnosti v reverznom inžinierstve mikroobvodov a špeciálny softvér, ktorý sa verejne nedistribuuje (možnosť útoku potvrdzujú spoločnosti Google a NXP).

Počas útoku Merací komplex Langer ICR HH 500-6 používaný na testovanie mikroobvodov pre elektromagnetickú kompatibilitu zosilňovač Langer BT 706, mikromanipulátor Thorlabs PT3 / M s rozlíšením 10 μm a štvorkanálový osciloskop PicoScope 6404D.

Ako metóda implementovaná na strane servera na čiastočnú ochranu proti použitiu klonovaných tokenov na dvojfaktorovú autentifikáciu sa navrhuje použiť mechanizmus počítadla popísaný v špecifikácii FIDO U2F.

Štandard FIDO U2F spočiatku implikuje prítomnosť jednej sady kľúčov, čo je spôsobené tým, že protokol podporuje iba dve základné operácie: registráciu a autentizáciu.

Vo fáze registrácie vygeneruje sa nový pár kľúčov, súkromný kľúč sa uloží do tokenu a verejný kľúč sa prenáša na server.

Operácia autentifikácie na strane tokenu vytvorí digitálny podpis ECDSA pre údaje prenášané serverom, ktoré je potom možné na serveri overiť pomocou verejného kľúča. Súkromný kľúč vždy zostáva v tokene a nemožno ho kopírovať, takže ak je potrebné naviazať nový token, vytvorí sa nový pár kľúčov a starý kľúč sa umiestni do zoznamu odvolaných kľúčov.

Fuente: https://ninjalab.io


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.