Novinky

Více než 30 IDM realizací v České republice i zahraničí

AMI Praha Ohrožuje bitcoin bezpečnost hesel?
Ohrožuje bitcoin bezpečnost hesel?

Ohrožuje bitcoin bezpečnost hesel?

Ponechme stranou různé ekonomické rozepře typu, zda je bitcoin měnou, komoditou nebo nástrojem pro odklonění majetku od zraků úřadů a pojďme se podívat na jeden zajímavý technologický aspekt vzestupu bitcoinu.

Síť bitcoin funguje díky tomu, že po celém světě existuje mnoho subjektů (od drobných nadšenců po obří datacentra), kteří věnují svůj výpočetní výkon pro těžení bitcoinů. Z technického pohledu je těžení proces, při kterém jde o to objevit určitý vzácný hash řetězec formou zkoušení všech možných kombinací vstupů. Jde o klasickou metodu brute-force útoku známého například při dobývání zašifrovaných hesel.

Co je to ASIC?

Těžaři jsou na efektivitě svého brute-force mechanismu ekonomicky závislí, protože čím více vzácných hash řetězců objeví, tím více dostanou od sítě za své služby zaplaceno. Není proto divu, že s rostoucí cenou bitcoinu vznikly i specializované jednoúčelové stroje pro jejich těžení. V angličtině se těmto typům hardware říká ASIC – Application-specific integrated circuit. Stroje ASIC dokáží nalézt požadovaný výsledek o několik řádů rychleji než to trvá na univerzálních výpočetních systémech jako je CPU nebo GPU.

V případě bitcoinu je pro implementaci hash funkce použit algoritmus SHA-256. Jde o stejnou funkci, která se používá pro ukládání hesel v některých systémech UNIX, LDAP, internetových aplikacích a mnoha dalších. Dostupnost levných a masivně výkonných ASIC pro těžbu bitcoinů může teoreticky ohrožovat i bezpečnost stejným algoritmem hashovaných hesel v existujících informačních systémech. Pro příklad typicky jeden nynější ASIC má výkon 3 THash/s, což znamená, že za vteřinu provede 3 000 miliard hashů SHA-256. Pro bližší představu tento výkon jediného zařízení dokáže spočítat hashe všech možných 10-znakových hesel alfanumerické abecedy (uvažuji 62 znaků) za zhruba 3 dny.

Bitcoin a SHA-256

Předchozí odstavec je z pohledu bezpečnosti a možné kompromitace SHA-256 trochu chmurný. Naštěstí realita je v současnosti poněkud jiná. Důvodem jsou určité odlišnosti, kterými protokol bitcoin s SHA-256 pracuje. Tak prvně je v bitcoinu hashovací funkce použita dvojnásobně – tzn. nad vzniklým hash řetězcem se ještě jednou zavolá SHA-256 a tak vznikne výsledek. Toto specifikum je pevně zadrátováno do hardware ASIC strojů a ty je tak možné v současnosti použít pouze pro funkci SHA-256(SHA-256(x)). Druhé specifikum se týká selekce výsledků (hashů), které jsou účelné pro bitcoin protokol. Jak jsem již zmínil na začátku, důležité jsou jen některé vzácné hashe – konkrétně ty, které začínají hodně nulami, proto hardware v ASIC ostatní výsledky automaticky zahazuje. A do třetice jsou obvody Bitcoin ASIC navržené tak, aby přijímaly pouze vstup o délce 80 bytů.

Memory-hard hashovací algoritmy

Nedostatek algoritmu SHA-256, spočívající v jeho snadné HW implementaci, se snaží odstranit nově vznikající standardy. Jejich společným jmenovatelem je tzv. „memory-hard“ prvek, který zvyšuje HW nároky na provedení matematické funkce. V praxi tak provedení jednoho cyklu vedoucí k výpočtu hashe trvá řádově mnohem déle, přičemž vyšší potřeba paměti zároveň prodražuje výrobu jednoúčelových ASIC strojů. Za všechny jmenujme algoritmus scrypt, který našel uplatnění v alternativních virtuálních měnách, známý je například Litecoin. Dlužno doplnit, že i pro tento algoritmus již od května 2014 existují výkonné ASIC stroje, avšak díky již zmíněné paměťové náročnosti je jejich výkon více než 10 tisíckrát nižší než je tomu u bitcoin/SHA-256. V minulosti podobné stroje vznikly také pro (dnes překonaný) standard DES, např. FPGA s hezkým názvem Copacobana.

Virtuální měna Bitcoin bezpečnost hashovaných hesel aktuálně neohrožuje, za což vděčíme trochu rozdílné implementaci SHA-256 v jednoúčelových strojích na jejich těžení. Avšak dostupnost nástroje pro efektivní brute-force útok na čisté SHA-256 se díky této virtuální měně přiblížila, protože design takového ASIC stroje je hardwarově velmi podobný stroji pro těžení bitcoinů. Na rozdíl od těžení bitcoinů však po SHA-256 ASIC hardware chybí široká poptávka.

 

Autor: Martin Lízner

Autor se ve volném čase věnuje virtuálním měnám a rovněž v Čínské lidové republice provozuje scrypt ASIC stroj na jejich těžení.