Chyba generování náhodných čísel v Androidu umožnila krádež BitCoinů za $5 720, další aplikace jsou v ohrožení

0

Android code

Pokud na něčem stojí a padá moderní kryptografie, tak to není vysoká matematika ani extrémní výkon dnešních chytrých zařízení, ale schopnost generovat pokud možno co nejnáhodnější čísla.

A právě v tomto klíčovém bodě má podle všeho Android poměrně závažnou chybu, která mimo jiného minulý týden umožnila okradení několika uživatelů o kryptoměnu BitCoiny v celkově hodnotě nejméně 5 720 amerických dolarů.

Při použití Java Cryptography Architecture (JCA) nebo OpenSSL PRNG bez důkladné inicializace kvalitním semínkem totiž Android vracel čísla sice na první pohled náhodná, ale s trochou snahy předpověditelná a tedy naprosto nevhodná k použití v kryptografii.

Google o problému naštěstí ví a už vydal prohlášení, ve kterém dočasně doporučuje vývojářům aplikací, aby pokud jednu z výše zmíněných komponent používají, tak ji vždy inicializovali semínkem z /dev/urandom.

Ačkoliv se z nadpisu a uvedené krádeže BitCoinů může zdát, že vlastně nejde o žádný problém, o peníze přišlo jen pár nadšenců, tak důsledky této chyby by mohli být poměrně velké. Ve větší nebo menší míře totiž generování náhodných čísel pro šifrování používá většina aplikací a nedá se úplně s jistotou počítat, že všechny si generátor inicializovali.

Na druhou stranu, o chybě se už ví, autoři aplikací pomalu svá díla předělávají a Google nejspíše již brzy zahrne opravu do Androidu.

Zdroj: andorid.developers, arstechnika