Standardna šeststranska kocka pri vsakem metanju ustvari približno 2,6 bita nepredvidljivih podatkov. To se morda ne zdi veliko, a če se metanje dovoljkrat ponovi, lahko ti meti ustvarijo surovo naključnost, potrebno za zaščito bitcoin denarnice, ne da bi se bilo treba zanašati na programsko opremo ali elektronske komponente.
Z metanjem kock se ključi za bitcoine hranijo offline, vendar si ne bo vsakdo s tem ukvarjal

Ključne ugotovitve
- Po formuli Clauda Shannona pravi met šeststranske kocke zagotavlja približno 2,585 bitov entropije.
- V dokumentaciji podjetja Coinkite je navedeno, da 50 metov kocke izpolnjuje 128-bitni standard za semensko vrednost bitcoin denarnice.
- Analiza Wizard Sardine, ki jo je opravil Kevin Loaec, je opozorila na tveganje v orodjih Coldcard, ki presega glavno seme.
Zakaj je met kocke tako težko napovedati
Claude Shannon, matematik, ki je utemeljil informacijsko teorijo, je uporabil entropijo za merjenje negotovosti izida. Pri poštenem šeststranskem kockanju ima vsaka stran enako verjetnost, da se pojavi, in sicer ena proti šest. To vsakemu metanju daje približno 2,585 bitov entropije. Metanje kovanca prinese 1 bit, osemstranska kocka pa 3 bite.
Nedavni spor okoli Coldcarda je na družbenih omrežjih spodbudil razpravo o ustvarjanju izhodiščnih vrednosti na podlagi kock. Nekateri uporabniki to zdaj obravnavajo kot nujno, drugi pravijo, da je to zaščitilo njihova sredstva, medtem ko izkušeni upravljavci opozarjajo, da večina novincev ne bo prenašala počasnega in za napake dovzetnega postopka nastavitve.
Pomembno ni to, da se kocka med vrtenjem na atomski ravni obnaša naključno. To namreč ni res. Rezultat določa fizika, vendar se hkrati spreminja preveč majhnih spremenljivk, da bi kdorkoli lahko zanesljivo izračunal izid. Kocka zapusti roko z določeno hitrostjo, kotom, višino in vrtenjem, nato udari ob mizo in spremeni smer z vsakim odbojem.
V praksi lahko že najmanjša sprememba pri izpustu povzroči popolnoma drugačen izid. Le nekoliko drugačen položaj prsta ali nekoliko močnejši met spremeni pot dovolj, da končne številke ni mogoče napovedati z opazovanjem gibanja. Izid je morda v teoriji determinističen, vendar je za ustvarjanje denarnice pomembno, da ga napadalec ne more ponoviti ali izračunati.
Pretvorba metov kock v uporabne podatke
Računalnik ne more neposredno uporabiti seznama rezultatov metov kock. Meti morajo biti najprej pretvorjeni v binarne podatke, pri čemer je pomembna metoda pretvorbe.
Osnovna metoda »liho ali sodo« je enostavna za razumevanje, vendar zapravlja velik del razpoložljive entropije. Vsak met se zreducira na en sam bit, čeprav je kocka ustvarila približno 2,6 bita informacij. Učinkovitejše metode zbirajo dolgo zaporedje metov in obdelujejo celoten niz, običajno s pomočjo kriptografske hash funkcije. To ohrani veliko več naključnosti.
Enako načelo se pojavlja v sistemu Diceware, dolgoletni metodi za ustvarjanje varnih gesel, ter pri ročnem ustvarjanju bitcoin denarnice. Tipična 12-besedna fraza za obnovo denarnice je sestavljena iz 128 bitov entropije. Pri približno 2,6 bitov na met približno 50 poštenih metov zagotovi dovolj surovih informacij, da se preseže ta prag.
Coinkite, proizvajalec strojne denarnice Coldcard, priporoča 99 ali več metov za uporabnike, ki želijo doseči skoraj 256 bitov entropije. To ne pomeni, da je denarnica dvakrat težje uporabljati, ampak ustvarjenemu skrivnemu ključu zagotavlja veliko večjo matematično varnostno rezervo.
Praktični test semena, ustvarjenega s kockami
Ta razlika je postala pomembna, potem ko je Coinkite razkril težavo s firmwareom, ki sega v leto 2021. Na nekaterih napravah Coldcard je programska oprema lahko preskočila notranji strojni generator naključnih številk in namesto tega uporabila šibkejši postopek, povezan z nezakritimi podatki o napravi.
Ker je bilo mogoče dele tega postopka rekonstruirati, so napadalci lahko zožili izbor možnih ključev denarnice, namesto da bi preiskovali celoten ključni prostor. Ta pomanjkljivost je bila povezana s krajo približno 1.128,6633 BTC s približno 1.100 naslovov, po podatkih ob 13. uri po vzhodnem času.

Semena denarnic, ustvarjena izključno na podlagi zadostnega števila neodvisnih metov kock, niso bila izpostavljena na enak način. Ti uporabniki so zagotovili lastno entropijo, zato okvarjeni strojni generator ni bil odgovoren za ustvarjanje primarnega skrivnega ključa denarnice.
Ta zaščita pa je veljala le za seme, ustvarjeno iz metov kock. Ni samodejno zaščitila vseh drugih skrivnosti, ki jih je ustvarila naprava.
Wizard Sardine preuči drobni tisk
Varnostni raziskovalec Kevin Loaec je 1. avgusta na spletni strani Wizard Sardine objavil oceno izkoriščanja ranljivosti Coldcard. Njegova najpomembnejša ugotovitev se je nanašala na funkcije Coldcard, ki so ustvarjale lastne skrivnosti ločeno od primarnega semena denarnice.
»Menim, da je izredno pomembno poudariti, da so ranljivi tudi uporabniki, ki so seme uvozili ali ustvarili s kockami, če uporabljajo naslednje funkcije,« je Loaec zapisal na X, preden je predstavil diagram prizadetega sistema.
Diagram prikazuje pomanjkljiv generator naključnih številk, ki napaja več sekundarnih funkcij Coldcarda. Mednje spadajo ustvarjanje papirne denarnice, kloniranje naprave, šifriranje USB-seje, funkcija prenosa »Secret Teleport«, ustvarjanje ključa za sopodpisovanje, vgrajeni generator gesel in avtentifikacijski kodeksi varnostnega modula strojne opreme.

Glavna denarnica, ustvarjena z 99 meti kock, je ostala v ločenem delu sistema. Problem je bil v tem, da so druga orodja še vedno lahko zahtevala novo naključnost od pomanjkljivega generatorja. Posledično varno seme ni zagotavljalo, da so bila vsa gesla, varnostne kopije, avtentifikacijske kode ali sekundarni ključi, ustvarjeni na isti napravi, enako varni.
Zakaj večina novih uporabnikov ne bo metala kock
Entropija, ustvarjena z metanjem kock, je tehnično ustrezna, če se izvaja pravilno, vendar za večino novih uporabnikov ni realistična privzeta možnost. Metanje kocke 50- ali 99-krat, natančno vnašanje vsakega rezultata ter preverjanje, da ni bil noben met preskočen ali podvojen, zahteva potrpežljivost in veliko koncentracije. Že ena napačno vnesena številka lahko popolnoma spremeni končni naslov denarnice, večina naprav pa ne more ugotoviti, ali je napaka nastala zaradi napačnega metanja kocke, napake pri vnosu ali napačnega razumevanja navodil.

Postopek prinaša tudi tveganja, ki jih pri pravilno delujočem strojnem generatorju ni. Uporabniki lahko rezultate metov zapišejo na papir, jih fotografirajo, vnesejo v spletno orodje ali seznam pustijo na mestu, kjer ga lahko najde nekdo drug. Nekateri metajo kocko na ponavljajoč ali nadzorovan način, uporabljajo prirejeno ali poškodovano kocko ali pa se ustavijo prezgodaj, ker se jim postopek zdi pretiran. Matematika je morda trdna, vendar je rezultat varen le toliko, kolikor je varen postopek uporabnika.

Zato metanje kocke mnogi ljudje, celo med izkušenimi uporabniki bitcoina, ne štejejo vedno za najboljšo metodo. Zaupanje v napravo namreč nadomesti z zaupanjem v ročni postopek. Za tehnično previdnega uporabnika, ki razume entropijo, preveri metodo in zaporedje metov ohrani zasebno, je ta izmenjava morda smiselna. Za povprečnega kupca, ki prvič nastavlja denarnico, pa to poveča tveganje za trajno napako, hkrati pa je tudi nadležen postopek.

Prav tako si je težko predstavljati široko sprejetje bitcoina, če bi bilo za prejem sredstev in varno izvedbo tega potrebno, da ljudje sedijo za mizo in zabeležijo 99 rezultatov metov kock. Varnostne prakse morajo zdržati v resničnih domovih, ob natrpanih urnikih, motnjah in med uporabniki, ki se ne želijo ukvarjati s kriptografijo. Ročna entropija bi morala ostati na voljo kot napredna možnost, vendar je dolgoročni cilj strojna in programska oprema, ki pravilno ustvarja močno naključnost, jasno pojasnjuje, kaj se dogaja, in zahteva čim manj specializiranega znanja.
Kaj morajo preveriti lastniki kartic Coldcard
Lastniki prizadetih naprav Coldcard morajo najprej preveriti različico vgrajene programske opreme na napravi. Nato morajo pregledati, katere funkcije so uporabljali med delovanjem starejše programske opreme, namesto da se osredotočajo le na to, kako je bil ustvarjen glavni seed denarnice.
Vsakdo, ki je prizadeto napravo uporabil za ustvarjanje papirne denarnice, kloniranja skrivnosti, gesla, ključa za sopodpisovanje ali avtentifikacijskega kode, bo morda moral ta material takoj zamenjati. Namestitev posodobitve prepreči, da bi ista težava vplivala na nove skrivnosti, vendar ne popravi ničesar, kar je bilo ustvarjeno prej.
Ta incident prav tako ponuja močnejši praktični argument za uporabo denarnic z več proizvajalci. V sistemu z več podpisov so za odobritev transakcije lahko potrebne ločene strojne naprave različnih proizvajalcev. Ta struktura sicer ne izključi napak v firmware-u, vendar lahko prepreči, da bi en sam okvarjen generator naključnih številk sam po sebi izpostavil celotno denarnico.
Ta članek je bil iz angleščine preveden z umetno inteligenco. Izvirna angleška različica je verodostojni vir; samodejni prevodi lahko vsebujejo netočnosti, zlasti pri pravni in regulativni terminologiji.
















