Fizikai támadások HSM-ek ellen Pintér Olivér <op@hardenedbsd.org>
Mi az a HSM? Hardware Security Modules TPM chipek PCI(-X,-E) kártyák smart card-ok USB tokenek távoli interface-ek (Ethernet, X25,...) újabban CPU-kban is Vonatkozó standardek FIPS 140-2 CC-EAL
Mit tud a HSM? védett keystore a privát kulcsokat soha nem lehet kiolvasni crypto hardware hardware-es titkosítási megoldások, általában gyorsabbak, mint a software-esek jól definiált software API
HSM keystore behatolás védett (tamperproof) memóriában tárolja a titkokat ha valaki mókolni akar a chip-pel, akkor törlődnek az értékek megvalósítása általában epoxy gyontával vagy az egész chipet behálózó vezetékekkel
Crypto Hardware aszimmetrikus és szimmetrikus kriptó gyorsítására DES, 3DES, AES, RSA, DSA, (MD5, SHA{1,2,3}) CSPRNG hash-elés gyakran software oldalról implementálva
API PKCS#11 OpenSSL Engine Microsoft CAPI OpenCrypto Crypto++ BouncyCastle Java Cryptography Extension
Támadások... Eltávolítás / kicsomagolás Réteg rekonstrukció Kézi micro-probing Advanced Beam technologies Ion beam Electron beam Infrared Laser Memória olvasás busz fuzzolással
... támadások... Test-mód kihasználás kulcskinyerés ROM/EEPROM felülírással kulcskinyerés kapu rongálással kulcskinyerés megőrzött memória tartalomból kulcskinyerés busz adat módosítással EEPROM módosítások feszültség változtatások UV fény segítségével
... támadások nem invazív módszerek timing analízis PCA SPA DPA DFA Glitch támadás
Eltávolítás / kicsomagolás Fizikai támadások előtt Többféle módszer éles késsel eltávolítani a chipet a kártyáról tömény salétrom savval feloldani az epoxy gyantát az egész kártyát savban feloldani mindezeket addig, amíg a nyers szilícium felület nem látszik
Réteg rekonstrukció
Manual micro-probing
Advanced Beam technologies Ion beam Electron beam Infrared Laser
Memória olvasás busz fuzzolással a buszra nem a protokollnak megfelelő üzenetek kihelyezésével random adatokkal
Test-mód kihasználás az estleges diagnosztikai mód bekapcsolása tipikusan több dologhoz hozzá lehet férni ebben a módban a chip kihasználható
kulcskinyerés ROM/EEPROM felülírással általunk kontrollált kód injektálása
kulcskinyerés kapu rongálással egyes kapukat fizikailag megrongálunk ez logikai szerkezet változását eredményezni tipikusan nem visszafordítható folyamat
EEPROM módosítások feszültség változtatások íráshoz és olvasáshoz tipikusan más feszültség szintek vannak az előírttól eltérő feszültségen üzemeltetve UV fény segítségével bizonyos chip típusok az UV fénnyel reakcióba lépnek egyes pontjait megvilágítva biteket tudunk invertálni
nem invazív módszerek olyan módszerek, amikhez nem feltétlen kell a chipet / eszközt megrongálni tipikusan egy teszt környezetbe ágyazva történik oszcilloszkóp logikai analizátor debugger...
timing analízis az egyes műveletetek végrehajtási idejéből tipikusan nem elég körültekintő tervezés az eredménye optimalizációk is okozhatják, az egyes megvalósított funkciók különböző bemenetekre más idő alatt futnak le
PCA Power Consumption Analysis
SPA Simple Power Analysis PCA-ra épül az elemek félvezetőkből épülnek fel jelszintek különböző műveletek különböző áramfelvétellel
DPA Differential Power Analysis statisztikai módszereket és csúnya képleteket használ
DFA Differential Fault Analysis Hasonlít az DPA-ra Itt teljesítmény felvétel helyett hibákkal operál Itt a szabadságfokok a fizikai behatások
glitchelés ebben az esetben a chipet fuzzoljuk (glitcheljük) órajelekkel játszunk feszültségekkel játszunk világítjuk és kb az összes korábbi támadást végrehajtuk rajta egyszerre
Linkek Security Engineering: A Guide to Building Dependable Distributed Systems - https://www.cl.cam.ac.uk/~rja14/papers/se-14.pdf Differential Power Analysis - http://www.cryptography.com/public/pdf/dpa.pdf http://gauss.ececs.uc.edu/courses/c653/lectures/sidec/lec ture11-dpa.pdf Mindenféle jó egy helyen - http://www.infosecwriters.com/text_resources/pdf/known _Attacks_Against_Smartcards.pdf Az egész folyamat egy helyen - https://www.usenix.org/legacy/events/smartcard99/full_p apers/kommerling/kommerling_html/