Štandardná šesťstenná kocka pri každom hode poskytuje približne 2,6 bitov nepredvídateľných informácií. Možno to neznie ako veľa, ale ak sa tieto hody dostatočne často opakujú, môžu vytvoriť surovú náhodnosť potrebnú na zabezpečenie bitcoinovej peňaženky bez toho, aby bolo potrebné spoliehať sa na softvér alebo elektronické komponenty.
Hody kockou udržujú bitcoiny offline, ale nie každý sa s tým bude zaoberať

Kľúčové body
- Podľa vzorca Clauda Shannona poskytuje hod spravodlivou šesťstrannou kockou približne 2,585 bitov entropie.
- Podľa dokumentácie spoločnosti Coinkite 50 hodov kockou spĺňa 128-bitový štandard pre seed bitcoinovej peňaženky.
- Analýza Kevina Loaeca s názvom „Wizard Sardine“ poukázala na riziko v nástrojoch Coldcard, ktoré presahuje rámec hlavného semena.
Prečo je tak ťažké predpovedať výsledok hodu kockou
Claude Shannon, matematik, ktorý založil informačnú teóriu, používal entropiu na meranie neistoty výsledku. Pri spravodlivom hode šesťstrannou kockou má každá strana rovnakú šancu 1 ku 6, že sa objaví. To dáva každému hodu približne 2,585 bitov entropie. Hod mincou poskytuje 1 bit, zatiaľ čo osemstranná kocka poskytuje 3 bity.
Nedávny škandál okolo Coldcardu posunul generovanie počiatočných hodnôt na základe hádzania kockou do popredia na sociálnych médiách. Niektorí používatelia to teraz považujú za nevyhnutné, iní tvrdia, že to ochránilo ich prostriedky, zatiaľ čo skúsení prevádzkovatelia poukazujú na to, že väčšina nováčikov nebude tolerovať pomalý a chybami náchylný proces nastavenia.
Dôležité nie je to, že sa hádzaná kocka správa náhodne na atómovej úrovni. To sa totiž nedeje. Výsledok podlieha fyzikálnym zákonom, ale mení sa príliš veľa malých premenných naraz na to, aby niekto mohol spoľahlivo vypočítať výsledok. Kocka opúšťa ruku s určitou rýchlosťou, uhlom, výškou a rotáciou, potom dopadne na stôl a pri každom odskoku mení smer.
V praxi môže aj najmenšia zmena pri hode spôsobiť úplne odlišný výsledok. Mierne odlišná poloha prsta alebo o niečo silnejší hod zmení trajektóriu natoľko, že konečné číslo nie je možné predpovedať pozorovaním pohybu. Výsledok môže byť v teórii deterministický, ale pre generovanie peňaženiek je dôležité, aby ho útočník nedokázal reprodukovať ani vypočítať.
Premena hodov kockou na použiteľné údaje
Počítač nemôže priamo použiť zoznam výsledkov hodov kockou. Hody sa najskôr musia previesť na binárne údaje a spôsob prevodu je dôležitý.
Základná metóda „párne alebo nepárne“ je ľahko pochopiteľná, ale plytvá veľkou časťou dostupnej entropie. Každý hod sa zredukuje na jediný bit, hoci kocka poskytla približne 2,6 bitov informácií. Efektívnejšie metódy zhromažďujú dlhú sekvenciu hodov a spracúvajú celý reťazec, zvyčajne prostredníctvom kryptografickej hašovacej funkcie. Tým sa zachová oveľa viac náhodnosti.
Ten istý princíp sa objavuje v metóde Diceware, dlhodobo používanom postupe na vytváranie bezpečných hesiel, ako aj pri ručnom generovaní bitcoinovej peňaženky. Typická 12-slovná fráza na obnovenie peňaženky je zložená zo 128 bitov entropie. Pri približne 2,6 bite na jeden hod poskytuje asi 50 spravodlivých hodov dostatok surových informácií na prekročenie tejto hranice.
Spoločnosť Coinkite, výrobca hardvérovej peňaženky Coldcard, odporúča 99 alebo viac hodov pre používateľov, ktorí sa snažia dosiahnuť entropiu blížiacu sa k 256 bitom. Vďaka tomu nie je používanie peňaženky dvakrát zložitejšie, ale poskytuje vygenerovanému tajnému kľúču oveľa väčšiu matematickú bezpečnostnú rezervu.
Test generovaných semien pomocou kociek v reálnych podmienkach
Tento rozdiel nadobudol význam po tom, čo spoločnosť Coinkite zverejnila problém s firmvérom, ktorý sa datuje do roku 2021. Na niektorých zariadeniach Coldcard mohol softvér obísť interný hardvérový generátor náhodných čísel a namiesto toho použiť slabší proces spojený s verejne dostupnými informáciami o zariadení.
Keďže časti tohto procesu bolo možné rekonštruovať, útočníci dokázali zúžiť okruh možných kľúčov peňaženky, namiesto toho, aby prehľadávali celý priestor kľúčov. Táto chyba súvisela s krádežou odhadom 1 128,6633 BTC z približne 1 100 adries (stav k 13:00 východného času).

Semená peňaženiek vytvorené výlučne na základe dostatočného počtu nezávislých hodov kockami neboli touto cestou ohrozené. Títo používatelia poskytli vlastnú entropiu, takže chybný hardvérový generátor nebol zodpovedný za vytvorenie primárneho tajného kľúča peňaženky.
Táto ochrana sa však vzťahovala iba na seed vygenerovaný z hodov kockami. Nechránila automaticky všetky ostatné tajné kľúče vygenerované zariadením.
Wizard Sardine skúma drobné písmo
Bezpečnostný výskumník Kevin Loaec zverejnil 1. augusta na webovej stránke Wizard Sardine hodnotenie zraniteľnosti Coldcard. Jeho najdôležitejšie zistenie sa týkalo funkcií Coldcard, ktoré generovali vlastné tajné kódy oddelene od primárneho semena peňaženky.
„Domnievam sa, že je mimoriadne dôležité zdôrazniť, že aj používatelia, ktorí importovali alebo vygenerovali seed pomocou kociek, sú zraniteľní, ak používajú nasledujúce funkcie,“ napísal Loaec na X, predtým ako predstavil diagram postihnutého systému.
Schéma ukazuje chybný generátor náhodných čísel, ktorý napája niekoľko sekundárnych funkcií Coldcard. Medzi ne patrilo vytváranie papierových peňaženiek, klonovanie zariadení, šifrovanie USB relácií, funkcia prevodu Secret Teleport, vytváranie kľúčov na spolupodpisovanie, vstavaný generátor hesiel a autentifikačné kódy hardvérového bezpečnostného modulu.

Primárna peňaženka vytvorená pomocou 99 hodov kockami zostala v samostatnej časti systému. Problémom bolo, že ostatné nástroje mohli naďalej požadovať nové náhodné čísla od chybného generátora. V dôsledku toho bezpečné počiatočné číslo nezaručovalo, že každé heslo, záloha, overovací kód alebo sekundárny kľúč vytvorený na tom istom zariadení bude rovnako bezpečný.
Prečo väčšina nových používateľov nebude hádzať kockami
Entropia generovaná kockami je technicky správna, ak sa vykonáva správne, ale pre väčšinu nových používateľov nie je realistickým predvoleným nastavením. Hodenie kocky 50 alebo 99-krát, presné zadanie každého výsledku a overenie, že žiadne hodenie nebolo vynechané ani zduplikované, si vyžaduje trpezlivosť a veľa sústredenia. Jedno zle zadané číslo môže úplne zmeniť konečnú peňaženku a väčšina zariadení nedokáže rozlíšiť, či chyba vznikla v dôsledku zlého hodu, chyby pri zadávaní alebo nesprávneho pochopenia pokynov.

Tento proces so sebou prináša aj riziká, ktoré pri správne fungujúcom hardvérovom generátore neexistujú. Používatelia si môžu výsledky hodov zapísať na papier, odfotografovať ich, zadať do online nástroja alebo zoznam nechať na mieste, kde ho môže nájsť iná osoba. Niektorí ľudia hádžu kockou opakovaným alebo kontrolovaným spôsobom, používajú manipulovanú alebo poškodenú kocku, alebo prestanú skôr, pretože sa im proces zdá príliš zdĺhavý. Matematika môže byť spoľahlivá, ale výsledok je len taký bezpečný, ako je postup používateľa.

Preto nie je hádzanie kockou pre mnohých ľudí vždy považované za najlepšiu metódu, a to ani medzi skúsenými používateľmi bitcoinu. Nahradzuje dôveru v zariadenie dôverou v manuálny proces. Pre technicky opatrného používateľa, ktorý rozumie entropii, overuje metódu a zachováva súkromie postupnosti hodov, môže mať táto výmena zmysel. Pre bežného kupujúceho, ktorý si peňaženku nastavuje po prvýkrát, to však zvyšuje riziko trvalých chýb a zároveň je to otravný proces.

Je tiež ťažké si predstaviť široké prijatie bitcoinu, ak by ľudia museli sedieť pri stole a zaznamenávať výsledky 99 hodov kockou, než by mohli bezpečne prijať prostriedky. Bezpečnostné postupy musia obstáť v reálnych domácnostiach, pri nabitom programe, pri rozptýleniach a u používateľov, ktorí sa nechcú zaoberať kryptografiou. Ručná entropia by mala zostať k dispozícii ako pokročilá možnosť, ale dlhodobým cieľom je hardvér a softvér, ktoré správne generujú silnú náhodnosť, jasne vysvetľujú, čo sa deje, a vyžadujú čo najmenej špecializovaných znalostí.
Čo by mali skontrolovať majitelia zariadení Coldcard
Majitelia postihnutých zariadení Coldcard by mali najskôr overiť verziu firmvéru nainštalovaného na zariadení. Následne by mali skontrolovať, ktoré funkcie používali pri prevádzke so starším firmvérom, namiesto toho, aby sa zameriavali iba na to, ako bol vygenerovaný hlavný seed peňaženky.
Každý, kto použil postihnuté zariadenie na generovanie papierovej peňaženky, klonovacieho tajného kľúča, hesla, kľúča na spolupodpisovanie alebo autentifikačného kódu, bude možno musieť tento materiál okamžite nahradiť. Inštalácia aktualizácie zabráni tomu, aby sa rovnaký problém týkal nových tajných kľúčov, ale neopraví nič, čo bolo vytvorené skôr.
Tento incident zároveň poskytuje silnejší praktický argument v prospech konfigurácií peňaženiek s viacerými dodávateľmi. V rámci systému s viacerými podpismi môžu byť na schválenie transakcie potrebné samostatné hardvérové zariadenia od rôznych výrobcov. Takáto štruktúra síce nevylučuje chyby firmvéru, ale môže zabrániť tomu, aby jeden chybný generátor náhodných čísel sám o sebe vystavil riziku celú peňaženku.
Tento článok bol preložený z angličtiny pomocou umelej inteligencie. Pôvodná anglická verzia je autoritatívnym zdrojom; automatické preklady môžu obsahovať nepresnosti, najmä v právnej a regulačnej terminológii.
















