Standardna šesterostrana kocka pri svakom bacanju proizvede oko 2,6 bita nepredvidivih informacija. To možda ne zvuči kao puno, ali ponovljeno dovoljno puta, ta bacanja mogu stvoriti sirovu slučajnost potrebnu za osiguranje bitcoin novčanika bez oslanjanja na softver ili elektroničku komponentu.
Bacanja kockica drže Bitcoin ključeve izvan mreže, ali neće se svi time zamarati

Ključne činjenice
- Pošteno bacanje šesterostrane kocke daje oko 2,585 bita entropije, prema formuli Claudea Shannona.
- Coinkiteova dokumentacija navodi da 50 bacanja kocke zadovoljava 128-bitni standard za seed bitcoin novčanika.
- Analiza Wizard Sardine Kevina Loaeca istaknula je rizik u Coldcard alatima izvan glavnog seeda.
Zašto je bacanje kocke tako teško predvidjeti
Claude Shannon, matematičar koji je utemeljio teoriju informacija, koristio je entropiju kako bi izmjerio koliko je ishod neizvjestan. Kod poštene šesterostrane kocke svaka strana ima jednaku vjerojatnost pojave, jednu prema šest. To daje svakom bacanju približno 2,585 bita entropije. Bacanje novčića proizvodi 1 bit, dok osmerostrana kocka proizvodi 3 bita.

Nedavne posljedice slučaja Coldcard pogurale su generiranje seeda pomoću kockica preko društvenih mreža. Neki korisnici sada to smatraju nužnim, drugi tvrde da im je zaštitilo sredstva, dok iskusni operateri ističu da većina novopridošlih neće tolerirati spor, pogreškama sklon proces postavljanja.
Važno nije to što se bacanje kocke ponaša nasumično na atomskoj razini. Ne ponaša. Rezultat je određen fizikom, ali istodobno se mijenja previše sitnih varijabli da bi itko mogao pouzdano izračunati ishod. Kocka napušta ruku određenom brzinom, pod određenim kutom, s određene visine i s okretanjem, zatim udara o stol i mijenja smjer pri svakom odskoku.
U praksi čak i malena promjena pri izbačaju može proizvesti potpuno drukčiji rezultat. Malo drukčiji položaj prsta ili tek neznatno jače bacanje dovoljno mijenja putanju da se konačni broj ne može predvidjeti promatranjem gibanja. Ishod može biti deterministički u teoriji, ali za generiranje novčanika važno je to da ga napadač ne može reproducirati ili izračunati.
Pretvaranje bacanja kocke u upotrebljive podatke
Računalo ne može izravno koristiti popis rezultata bacanja kocke. Bacanja se najprije moraju pretvoriti u binarne podatke, a metoda pretvorbe je važna.
Osnovna metoda par-nepar lako je razumljiva, ali rasipa velik dio dostupne entropije. Svako bacanje svodi se na jedan bit, iako je kocka proizvela oko 2,6 bita informacija. Učinkovitije metode prikupljaju dugi niz bacanja i obrađuju cijeli niz, obično kroz kriptografsku hash funkciju. Time se očuva znatno više slučajnosti.
Isti se princip pojavljuje u Dicewareu, dugogodišnjoj metodi za stvaranje sigurnih lozinki, i u ručnom generiranju Bitcoin novčanika. Tipična 12-riječna fraza za oporavak novčanika izgrađena je iz 128 bita entropije. Pri približno 2,6 bita po bacanju, oko 50 poštenih bacanja daje dovoljno sirovih informacija da se prijeđe taj prag.
Coinkite, proizvođač hardverskog novčanika Coldcard, preporučuje 99 ili više bacanja za korisnike koji žele biti blizu 256 bita entropije. To ne čini novčanik dvostruko težim za korištenje, ali generiranoj tajni daje znatno veću matematičku sigurnosnu marginu.
Test iz stvarnog svijeta za seedove generirane kockom
Ta je razlika postala važna nakon što je Coinkite otkrio problem s firmwareom koji datira još iz 2021. Na nekim Coldcard uređajima softver je mogao preskočiti interni hardverski generator slučajnih brojeva i umjesto toga koristiti slabiji proces povezan s ne-tajnim informacijama o uređaju.
Budući da su se dijelovi tog procesa mogli rekonstruirati, napadači su mogli suziti skup mogućih ključeva novčanika umjesto da pretražuju cijeli prostor ključeva. Propust je povezan s krađom procijenjenih 1.128,6633 BTC s oko 1100 adresa, zaključno s 13:00 po istočnom vremenu.

Seedovi novčanika stvoreni u potpunosti iz dovoljnog broja neovisnih bacanja kocke nisu bili izloženi istim putem. Ti su korisnici osigurali vlastitu entropiju, pa neispravni hardverski generator nije bio odgovoran za stvaranje primarne tajne novčanika.
Ta se zaštita, međutim, odnosila samo na seed dobiven iz kocke. Nije automatski zaštitila svaku drugu tajnu koju je uređaj generirao.
Wizard Sardine proučava sitna slova
Sigurnosni istraživač Kevin Loaec objavio je procjenu Coldcard exploita na web-stranici Wizard Sardinea 1. kolovoza. Njegovo najvažnije zapažanje odnosilo se na Coldcard značajke koje su generirale vlastite tajne odvojeno od primarnog seeda novčanika.
„Mislim da je iznimno važno naglasiti da su čak i korisnici koji su uvezli ili generirali seed pomoću kocke ranjivi, ako koriste sljedeće značajke”, napisao je Loaec na X-u, prije nego što je predstavio dijagram pogođenog sustava.
Dijagram pokazuje kako neispravni generator slučajnih brojeva napaja nekoliko sekundarnih Coldcard funkcija. To je uključivalo izradu papirnatih novčanika, kloniranje uređaja, šifriranje USB sesije, značajku prijenosa Secret Teleport, izradu ključa za supotpisivanje, ugrađeni generator lozinki i autentifikacijske kodove hardverskog sigurnosnog modula.

Primarni novčanik stvoren s 99 bacanja kocke ostao je u zasebnom dijelu sustava. Problem je bio u tome što su drugi alati i dalje mogli zatražiti svježu slučajnost od neispravnog generatora. Kao rezultat, siguran seed nije jamčio da su svaka lozinka, sigurnosna kopija, autentifikacijski kod ili sekundarni ključ stvoren na istom uređaju jednako sigurni.
Zašto većina novih korisnika neće bacati kockice
Entropija generirana kockom tehnički je ispravna kada se pravilno provede, ali nije realistična zadana opcija za većinu novih korisnika. Baciti kocku 50 ili 99 puta, točno unijeti svaki rezultat i potvrditi da nijedno bacanje nije preskočeno ili duplicirano zahtijeva strpljenje i puno koncentracije. Jedan pogrešno upisan broj može potpuno promijeniti konačni novčanik, a većina uređaja ne može utvrditi je li pogreška nastala zbog lošeg bacanja, pogrešnog unosa ili krivog razumijevanja uputa.

Proces također uvodi rizike koji ne postoje kod ispravno funkcionalnog hardverskog generatora. Korisnici mogu zapisati bacanja na papir, fotografirati ih, unijeti ih u online alat ili ostaviti popis negdje gdje ga netko drugi može pronaći. Neki ljudi bacaju kocku na ponavljajući ili kontroliran način, koriste uteženu ili oštećenu kocku ili prestanu ranije jer proces djeluje pretjerano. Matematika može biti snažna, ali rezultat je siguran samo koliko i korisnikov postupak.

Zato se bacanje kockica ne smatra uvijek najboljom metodom za mnoge ljude, čak i među iskusnim bitcoin korisnicima. Ono zamjenjuje povjerenje u uređaj povjerenjem u ručni proces. Za tehnički pažljivog korisnika koji razumije entropiju, provjerava metodu i čuva niz bacanja privatnim, ta zamjena može imati smisla. Za prosječnog kupca koji prvi put postavlja novčanik, to dodaje nekoliko prilika za trajnu pogrešku, a ujedno je i istodobno naporan proces.

Također je teško zamisliti široko usvajanje bitcoina koje ovisi o tome da ljudi sjede za stolom i bilježe 99 rezultata bacanja kocke prije nego što mogu primiti sredstva i to učiniti sigurno. Sigurnosne prakse moraju preživjeti stvarne domove, užurbane rasporede, distrakcije i korisnike koji ne žele učiti kriptografiju. Ručna entropija trebala bi ostati dostupna kao napredna opcija, ali dugoročni je cilj hardver i softver koji ispravno generiraju snažnu slučajnost, jasno objašnjavaju što se događa i zahtijevaju što manje specijaliziranog znanja.
Što bi vlasnici Coldcarda trebali provjeriti
Vlasnici pogođenih Coldcard uređaja trebali bi najprije provjeriti verziju firmwarea instaliranu na uređaju. Zatim bi trebali pregledati koje su značajke koristili dok su imali stariji firmware, umjesto da se usredotoče samo na to kako je generiran glavni seed novčanika.
Svatko tko je koristio pogođeni uređaj za generiranje papirnatog novčanika, tajne za kloniranje, lozinke, ključa za supotpisivanje ili autentifikacijskog koda možda će morati odmah zamijeniti taj materijal. Instaliranje ažuriranja sprječava da isti problem utječe na nove tajne, ali ne popravlja ništa što je stvoreno ranije.
Incident također daje jači praktični argument za postavke novčanika s više dobavljača. U multi-signature aranžmanu mogu se zahtijevati odvojeni hardverski uređaji različitih proizvođača za odobrenje transakcije. Ta struktura ne čini bugove u firmwareu nemogućima, ali može spriječiti da jedan neispravan generator slučajnih brojeva sam izloži cijeli novčanik.
Ovaj je članak preveden s engleskog jezika pomoću umjetne inteligencije. Izvorna engleska verzija mjerodavan je izvor; automatski prijevodi mogu sadržavati netočnosti, osobito u pravnoj i regulatornoj terminologiji.
















