Proč systematicky odstraňovat místa, ve kterých může celý systém selhat
Během analýzy způsobu generování párů klíčů pro RSA v široce používaných kryptografických čipových kartách jednoho z hlavních výrobců jsme objevili zranitelnost v algoritmu zrychleného generování prvočísel [1]. Tato chyba byla přehlédnuta certifikačními laboratořemi během certifikací dle NIST FIPS 140-2 i Common Criteria EAL 5+ po více než 15 let a vyústila v široce rozšířené čipy včetně elektronických občanských průkazů, Trusted Platform Modules (TPM) a tokenů používaných pro podepisování software, ochranu mailů v rámci PGP a autentizačních tokenů. Zranitelnost umožňuje praktickou faktorizaci klíčů o délkách 1024 a 2048 bitů za méně než 3 měsíce resp. 100 roků na jednom jádru současných procesorů. Útok může být navíc efektivně paralelizován na více CPU.
Jak je možné, že tak závažná chyba byla po tak dlouhou dobu přehlížena, i když se na její analýze podíleli odborníci v rámci firem i certifikačních laboratoří? A co je ještě důležitější, co můžeme udělat, abychom předešli podobné situaci v budoucnu?
Přednáška nejprve pokryje zjištěnou zranitelnost v generování RSA klíčů, dotčené oblasti a dostupné možnosti jejich aktuálního řešení. Druhá část se bude zabývat zásadnější otázkou – jak vytvořit kryptografické systémy (generování klíčů, digitální podpisy, šifrování dat), které zůstanou bezpečné i po nevyhnutelném selhání některých jeho částí..
[1] ROCA: Vulnerable RSA generation (CVE-2017-15361), roca.crocs.fi.muni.cz
Petr Švenda
Petr je bezpečnostní výzkumník na Masarykově univerzitě. Věnuje seoblasti kryptografických protokolů pro zařízení s omezenými výpočetnímikapacitami, např. čipové karty nebo bezdrátové sensorové sítě včetněprotokolů pro bezpečné počítaní s více účastníky využitelných proochranu před hardwarovými trojany nebo zvýšení bezpečnosti hardwarovýchpeněženek pro kryptoměny. Dále se zajímá o analýzu bezpečného hardwaru,včetně kvality generátorů náhodnosti a extrakce entropie. Snaží se ovíce otevřenosti ve vývoji pro kryptografické čipové karty s platformouJavaCard a vyvíjí komplexní bezpečnostní aplikace na této platformě vrámci Enigma Bridge, Cambridge, UK.