Random number generation attack

Bezpečnost kryptografických systémů závisí na některých tajných dat, která je známá pouze na oprávněné osoby, ale neznámé a nepředvídatelné ostatním. K dosažení tohoto nepředvídatelnost, některé randomizace je obvykle zaměstnán.Moderní kryptografické protokoly často vyžadují časté generaci náhodných veličin (viz také nonce ).

Kvalita v generování náhodných čísel (RNG) procesu je téměř vždy nutné pro bezpečnost, a nedostatek kvalitních obecně poskytuje útoku zranitelná, a tak vede k nedostatku bezpečnosti, a to i dokončit kompromis, v kryptografických systémů. RNG proces je zvláště atraktivní pro útočníky, protože to je obvykle jeden izolovaný hardware nebo software komponent snadno k nalezení. Pokud útočník může nahradit pseudo-náhodných bitů generovaných způsobem může předvídat, je bezpečnost zcela ohrožena, ale obecně nezjistitelná daląí test bitů. Kromě toho, tyto útoky vyžadují pouze jediný přístup k systému, který je ohrožena. Žádná data nemusí být poslán zpět na rozdíl od, řekněme,počítačový virus , který krade klíče a pak e-maily je do jisté skápnutí.

[ upravit překlad ]Lidská generování náhodných veličin

Lidé obecně dělat špatně při generování náhodných veličin. Kouzelníci, profesionální hazardní hráči a podvodníci závisí na předvídatelnosti lidského chování. In druhé světové válce byli němečtí úředníci code pokyn k výběru tři dopisy náhodně za počáteční rotor nastavení pro každou Enigma stroje zprávy.Místo toho někteří si vybral předvídatelné hodnoty, jako je jejich vlastní nebo přítelkyně iniciály, velmi pomáhat spojeneckou lámání těchto šifrovacích systémů. Dalším příkladem je často předvídatelným způsobem uživatelé počítačů si hesla. (Viz prolomení hesla .)

Nicméně, v konkrétním případě přehrávání smíšená strategie hry, využití lidského herní entropie pro generování náhodnost byla studována Ran Halprin aMoni Naor . "Games for Extrahování náhodnost" .

[ upravit překlad ]Prominentní příklady náhodných čísel otázek generátoru zabezpečení

Časné verze Netscape 's Secure Socket Layer (SSL) k zašifrování protokol používaný pseudo-náhodných veličin odvozených od PRNG naočkuje se třemi proměnnými hodnotami: denní době, ID procesu, a nadřazený proces ID. Tato množství jsou často relativně předvídatelné, a tak mají malou entropii a jsou nižší než náhodně, a tak, že verze SSL bylo zjištěno, že je nejistá jako výsledek. Problém byl hlášen na Netscape v roce 1994 Phillip Hallam-Baker, pak výzkumník v týmu Web CERN, ale nebyla stanovena před propuštěním.Problém v běžící kód byl objeven v roce 1995 Ian Goldberg a David Wagner ,[ 1 ] , který měl zvrátit inženýr na objektový kód , protože Netscape odmítl odhalit podrobnosti o svém generátor náhodných čísel ( bezpečnost přes neznámo ). To RNG byla stanovena v pozdějších vydáních (verze 2 a vyšší) o více robustní (tj. více náhodné a tak vyšší entropie od útočníka pohledu) setí.

Společnost Microsoft používá nepublikovanou algoritmus pro generování náhodných hodnot pro svého operačního systému Windows. Tyto náhodné veličiny jsou uživatelům k dispozici prostřednictvím CryptGenRandom nástroj.V listopadu 2007, Leo Dorrendorf et al. z Hebrejské univerzity v Jeruzalémě aUniversity of Haifa zveřejnila dokument s názvem Dešifrování Random Number Generator z operačního systému Windows . [ 2 ] Dokument představil závažné nedostatky v přístupu společnosti Microsoft. Papíru, závěry byly založeny nademontáž kódu v systému Windows 2000, ale podle Microsoft platí pro XP stejně. [ 3 ]

Americká Národní institut pro standardy a technologie vydal sbírku "deterministických náhodných bitových generátorů" doporučuje jako NIST Special vydání 800-90. [ 4 ] Jeden z generátorů, Dual ES DRBG , byl zvýhodněný National Security Agency . [ 5 ] Dual_EC_DRBG využívá eliptickou křivkou technologii a obsahuje sadu doporučených konstant. V srpnu 2007, Dan Shumow a Niels Ferguson z Microsoft ukázal, že konstanty mohou být konstruovány takovým způsobem, aby vytvořit tajnou zadní vrátka do algoritmu.[ 6 ]

V květnu 2008, bezpečnostní výzkumník Luciano Bello revealed jeho objev, že změny provedené v roce 2006 do generátoru náhodných čísel v verzi opensslbalíčku distribuované s Debian GNU / Linux a nadstavby dselect distribucích založených, such as Ubuntu , dramaticky snižuje se entropie z generované hodnoty a z různých bezpečnostních klíčů náchylné k útoku. [ 7 ] [ 8 ] slabost bezpečnosti byla způsobena změnami provedenými v openssl kódu vývojáři Debianu v reakci na upozornění kompilátoru zdánlivě redundantní kód. [ 9 ] Key postižené typy patří SSH klíče, OpenVPN klíče, DNSSEC klíče, klíčový materiál pro použití v certifikátů X.509 a relace klíče používané v SSL / TLS spojení. Klíče generované s GnuPG nebo gnutls nejsou ovlivněny, neboť tyto programy používají různé metody generování náhodných čísel. Non-Debian-založené distribuce Linuxu jsou také ovlivněny. Tato chyba zabezpečení byla ihned oprava poté, co byl hlášen.

V prosinci 2010, skupina volat sebe fail0verflow oznámila oživení ECDSAsoukromého klíče používaného Sony podepsat software pro PlayStation 3 herní konzole. Útok byl vyroben možné proto, že Sony se nepodařilo vygenerovat nové náhodné nonce pro každého podpisu.

[ editovat ]Útoky na software generátorů náhodných čísel

Stejně jako u jiných složek kryptografický systém, by měl software generátor náhodných čísel být navrženy tak, že se brání jistým útokům. Přesně které útoky musí být chráněna proti závisí na systému, ale zde jsou některé z nich:

[ editovat ]Útoky na hardware generátorů náhodných čísel

Počet útoků na hardwaru náhodný číselných generátorů je možné, včetně snaží zachytit vysokofrekvenční emise z počítače (získání těžké časy drive přerušení od hluku motoru, například), nebo se snaží krmit signály ovládané do údajně random zdroje (například např. vypnutí světla v lávové lampy, nebo krmení silný, známý signál do zvukové karty).

[ upravit překlad ]RNG subversion

Rozhozených náhodná čísla mohou být vytvořeny pomocí kryptograficky bezpečné pseudonáhodných čísel generátor s hodnotou osiva známé na útočníka, ale skrývá v softwaru. Poměrně krátké, řekněme 24 až 40 bitů, může část semen je skutečně náhodný, aby se zabránilo sdělovač opakování, ale ne dost dlouho na to, aby se zabránilo útočníkovi vymáhat, řekněme, "náhodně" vyrobeno klíč.

Náhodná čísla obvykle procházejí několika vrstvami hardwaru a softwaru, než jsou použity. Bity mohou být generovány v periferním zařízením, poslal přes sériový kabel, shromážděné v nástroji operačního systému a získat pomocí systémového volání. Tyto rozhozených bity mohou být substituované v každém bodě v tomto procesu s malou pravděpodobností detekce.

Hardware obvod vyrábět subverted bity mohou být postaveny na integrovaném obvodu několik milimetrů čtverečních. Nejdokonalejší hardware generátor pseudonáhodných čísel lze subverted uvedení takového čip kdekoliv proti proudu, kde je digitalizován zdroj náhodnosti, říká v čipu výstupním řidiče a to ani v kabelu spojujícího RNG k počítači. Subversion Čip může obsahovat hodiny omezit zahájení provozu na nějakou dobu poté, co je přístroj poprvé zapnut a projít akceptačních testů, nebo to může obsahovat rádiový přijímač pro on / off řízení. Mohlo by to být instalována výrobcem na příkaz svého vnitrostátního signálů zpravodajské služby, nebo se přidává později někdo s fyzickým přístupem. CPU čipy s vestavěným-in hardwarových generátorů náhodných čísel může být nahrazen kompatibilní čipy s subverted RNG v čipy firmware .

[ editovat ]Obrana

Navrhování bezpečné generátor náhodných čísel vyžaduje alespoň stejně vysokou úroveň péče jako navrhování další prvky kryptografického systému.