Tarjoaa
Featured

Noppapelit pitävät Bitcoin-avaimet offline-tilassa, mutta kaikki eivät vaivaudu tekemään niin

Tavallinen kuusisivuinen noppa tuottaa jokaisella heitolla noin 2,6 bittiä ennustamatonta tietoa. Se ei ehkä kuulosta paljolta, mutta riittävän monta kertaa toistettuna nämä heitot voivat tuottaa sen raakaa satunnaisuutta, jota tarvitaan bitcoin-lompakon suojaamiseen ilman, että joudutaan turvautumaan ohjelmistoihin tai elektronisiin komponentteihin.

KIRJOITTAJA
JAA
Noppapelit pitävät Bitcoin-avaimet offline-tilassa, mutta kaikki eivät vaivaudu tekemään niin

Tärkeimmät johtopäätökset

  • Reilu kuusisivuinen noppakierros tuottaa noin 2,585 bittiä entropiaa Claude Shannonin kaavan mukaan.
  • Coinkiten dokumentaation mukaan 50 noppakierrosta täyttää bitcoin-lompakon siemenelle asetetun 128-bittisen standardin.
  • Kevin Loaecin Wizard Sardine -analyysi toi esiin Coldcard-työkaluihin liittyvän riskin, joka ulottuu pääsiemeniä pidemmälle.

Miksi noppaluvun ennustaminen on niin vaikeaa

Informaatioteorian luonut matemaatikko Claude Shannon käytti entropiaa mittaamaan tuloksen epävarmuutta. Reilussa kuusisivuisessa noppassa jokaisella sivulla on sama yksi kuudesta mahdollisuus tulla esiin. Tämä antaa jokaiselle heitolle noin 2,585 bittiä entropiaa. Kolikonheitto tuottaa 1 bitin, kun taas kahdeksansivuinen noppa tuottaa 3 bittiä.

Image of different colored diceViimeaikainen Coldcard-kohu on nostanut noppapohjaisen siemengeneroinnin esille sosiaalisessa mediassa. Jotkut käyttäjät pitävät sitä nyt välttämättömänä, toiset sanovat sen suojelleen varojaan, kun taas kokeneet toimijat huomauttavat, että useimmat aloittelijat eivät siedä hidasta ja virhealtista asennusprosessia.

Tärkeintä ei ole se, että heitettävä noppa käyttäytyy satunnaisesti atomitasolla. Se ei nimittäin tee niin. Tulosta säätelevät fysiikan lait, mutta liian monta pientä muuttujaa muuttuu samanaikaisesti, jotta kukaan voisi laskea lopputulosta luotettavasti. Noppa lähtee kädestä tietyllä nopeudella, kulmalla, korkeudella ja pyörimällä, osuu sitten pöytään ja muuttaa suuntaa jokaisella pomppulla.

Käytännössä jopa pieni muutos heitossa voi tuottaa täysin erilaisen tuloksen. Hieman erilainen sormien asento tai hiukan voimakkaampi heitto muuttaa liikerataa niin paljon, ettei lopullista lukua voi ennustaa liikettä tarkkailemalla. Tulos voi olla teoriassa deterministinen, mutta lompakon luomisen kannalta tärkeää on, ettei hyökkääjä voi toistaa tai laskea sitä.

Noppatulosten muuntaminen käyttökelpoiseksi dataksi

Tietokone ei voi käyttää noppatulosten luetteloa suoraan. Heitot on ensin muunnettava binääridataksi, ja muuntomenetelmällä on merkitystä.

Perinteinen pariton-parillinen-menetelmä on helppo ymmärtää, mutta se tuhlaa suuren osan käytettävissä olevasta entropiasta. Jokainen heitto supistetaan yhdeksi bitiksi, vaikka noppa tuotti noin 2,6 bittiä tietoa. Tehokkaammat menetelmät keräävät pitkän heittosarjan ja käsittelevät koko merkkijonon, yleensä kryptografisen hajautusfunktion avulla. Näin säilyy huomattavasti enemmän satunnaisuutta.

Sama periaate esiintyy Dicewaressa, joka on pitkään käytetty menetelmä turvallisten salasanojen luomiseen, sekä manuaalisessa Bitcoin-lompakon luomisessa. Tyypillinen 12 sanan lompakon palautuslause rakentuu 128 bitin entropiasta. Kun yksi heitto tuottaa noin 2,6 bittiä, noin 50 reilua heittoa tarjoaa riittävästi raakatietoa tämän kynnyksen ylittämiseksi.

Coldcard-laitteistolompakon valmistaja Coinkite suosittelee 99 tai useampaa heittoa käyttäjille, jotka haluavat saavuttaa lähes 256 bittiä entropiaa. Tämä ei tee lompakon käytöstä kaksinkertaisen vaikeaa, mutta se antaa luodulle salaisuudelle huomattavasti suuremman matemaattisen turvamarginaalin.

Noppien avulla luotujen siementen testi todellisessa ympäristössä

Tämä ero tuli tärkeäksi sen jälkeen, kun Coinkite paljasti vuonna 2021 ilmenneen laiteohjelmistovian. Joissakin Coldcard-laitteissa ohjelmisto saattoi ohittaa sisäisen laitteistopohjaisen satunnaislukugeneraattorin ja käyttää sen sijaan heikompaa menetelmää, joka liittyi laitteen ei-salaisiin tietoihin.

Koska osa kyseisestä prosessista voitiin rekonstruoida, hyökkääjät pystyivät kaventamaan mahdollisten lompakkoavainten joukkoa sen sijaan, että olisivat joutuneet etsimään koko avainavaruudesta. Haavoittuvuus liitettiin arviolta 1 128,6633 BTC:n varkauteen noin 1 100 osoitteesta kello 13.00 itärannikon aikaa.

X screenshot
Kuvan lähde: X

Lompakon siemenet, jotka oli luotu kokonaan riittävän monesta itsenäisestä noppaluvusta, eivät paljastuneet samalla tavalla. Nämä käyttäjät olivat toimittaneet oman entropiansa, joten viallinen laitteistogeneraattori ei ollut vastuussa lompakon ensisijaisen salaisuuden luomisesta.

Tämä suojaus koski kuitenkin vain noppien avulla tuotettua siementä. Se ei suojannut automaattisesti kaikkia muita laitteen luomia salaisuuksia.

Wizard Sardine tutkii pienellä painettua tekstiä

Tietoturvatutkija Kevin Loaec julkaisi 1. elokuuta Wizard Sardinen verkkosivustolla arvion Coldcard-hyökkäyksestä. Hänen tärkein havaintonsa koski Coldcardin ominaisuuksia, jotka loivat omat salaisuutensa erillään lompakon ensisijaisesta siemenestä.

”Mielestäni on äärimmäisen tärkeää korostaa, että jopa käyttäjät, jotka ovat tuoneet tai luoneet siemenen noppien avulla, ovat alttiita hyökkäyksille, jos he käyttävät seuraavia ominaisuuksia”, Loaec kirjoitti X:ssä ennen kuin esitti kaavion kyseisestä järjestelmästä.

Kaavio osoittaa, kuinka puutteellinen satunnaislukugeneraattori syöttää tietoja useisiin Coldcardin toissijaisiin toimintoihin. Näitä olivat paperilompakon luominen, laitteen kloonaus, USB-istunnon salaus, Secret Teleport -siirto-ominaisuus, yhteisallekirjoitusavaimen luominen, sisäänrakennettu salasanageneraattori sekä laitteistoturvamoduulin todennuskoodit.

X screenshot
Kuvan lähde: Turvallisuustutkija Kevin Loaecin X-julkaisu.

99 noppakierroksella luotu ensisijainen lompakko säilyi järjestelmän erillisessä osassa. Ongelmana oli, että muut työkalut pystyivät edelleen pyytämään uutta satunnaislukua vialliselta generaattorilta. Tämän seurauksena turvallinen siemen ei taannut, että jokainen samalla laitteella luotu salasana, varmuuskopio, todennuskoodi tai toissijainen avain olisi yhtä turvallinen.

Miksi useimmat uudet käyttäjät eivät heitä noppaa

Noppien avulla tuotettu entropia on teknisesti pätevää, kun se suoritetaan oikein, mutta se ei ole realistinen oletusratkaisu useimmille uusille käyttäjille. Nopan heittäminen 50 tai 99 kertaa, jokaisen tuloksen tarkka syöttäminen ja sen varmistaminen, ettei yhtään heittoa ole ohitettu tai toistettu, vaatii kärsivällisyyttä ja paljon keskittymistä. Yksi väärin kirjoitettu numero voi muuttaa lopullisen lompakon täysin, eikä useimmat laitteet pysty erottamaan, johtuiko virhe huonosta heitosta, syöttövirheestä vai ohjeiden väärinymmärryksestä.

X screenshot
Kuvan lähde: X

Menetelmään liittyy myös riskejä, joita ei esiinny kunnolla toimivalla laitteistogeneraattorilla. Käyttäjät saattavat kirjoittaa heittotulokset paperille, valokuvata ne, syöttää ne verkkotyökaluun tai jättää luettelon paikkaan, josta joku muu voi sen löytää. Jotkut heittävät noppaa toistuvasti tai hallitusti, käyttävät väärennettyä tai vaurioitunutta noppaa tai lopettavat ennenaikaisesti, koska prosessi tuntuu liian työläältä. Matematiikka voi olla vankkaa, mutta tulos on vain yhtä turvallinen kuin käyttäjän menettelytapa.

X screenshot
Kuvan lähde: X

Siksi noppien heittämistä ei aina pidetä parhaana menetelmänä monien ihmisten mielestä, edes kokeneiden bitcoin-käyttäjien keskuudessa. Se korvaa laitteeseen kohdistuvan luottamuksen luottamuksella manuaaliseen prosessiin. Teknisesti huolelliselle käyttäjälle, joka ymmärtää entropiaa, tarkistaa menetelmän ja pitää heittosarjan salaisena, tällainen vaihtokauppa voi olla järkevää. Keskivertoiselle ostajalle, joka perustaa lompakkoa ensimmäistä kertaa, se lisää useita mahdollisuuksia tehdä pysyvä virhe, samalla kun se on myös ärsyttävä prosessi.

X screenshot
Kuvan lähde: X

On myös vaikea kuvitella bitcoinin laajaa yleistymistä, jos sen käyttö edellyttää, että ihmiset istuvat pöydän ääressä ja kirjaavat ylös 99 noppatulosta ennen kuin he voivat vastaanottaa varoja turvallisesti. Turvallisuuskäytäntöjen on kestettävä todelliset kotitilanteet, kiireiset aikataulut, häiriötekijät sekä käyttäjät, jotka eivät halua perehtyä kryptografiaan. Manuaalisen entropian tulisi pysyä saatavilla edistyneenä vaihtoehtona, mutta pitkän aikavälin tavoitteena on laitteisto ja ohjelmisto, jotka tuottavat vahvaa satunnaisuutta oikein, selittävät selkeästi, mitä tapahtuu, ja vaativat mahdollisimman vähän erikoisosaamista.

Mitä Coldcard-omistajien tulisi tarkistaa

Kyseessä olevien Coldcard-laitteiden omistajien tulisi ensin tarkistaa laitteeseen asennetun laiteohjelmiston versio. Sen jälkeen heidän tulisi tarkistaa, mitä ominaisuuksia he käyttivät vanhemman laiteohjelmiston ollessa käytössä, sen sijaan että keskittyisivät pelkästään siihen, miten lompakon pääsiemen luotiin.

Jokaisen, joka on käyttänyt kyseistä laitetta paperilompakon, kloonausavainten, salasanan, yhteisallekirjoitusavaimen tai todennuskoodin luomiseen, on mahdollisesti vaihdettava kyseiset materiaalit välittömästi. Päivityksen asentaminen estää saman ongelman vaikuttamasta uusiin salaisuuksiin, mutta se ei korjaa aiemmin luotuja asioita.

Tapaus vahvistaa myös monivalmistajisten lompakkoasetelmien käytännön hyötyjä. Monen allekirjoituksen järjestelyssä transaktion hyväksymiseen voidaan vaatia erillisiä laitteita eri valmistajilta. Tällainen rakenne ei tee laiteohjelmistovirheitä mahdottomiksi, mutta se voi estää yhden viallisen satunnaislukugeneraattorin paljastamasta koko lompakkoa yksinään.

Tämä artikkeli on käännetty englannista tekoälyn avulla. Alkuperäinen englanninkielinen versio on auktoritatiivinen lähde; automaattiset käännökset voivat sisältää epätarkkuuksia, erityisesti oikeudellisessa ja sääntelyyn liittyvässä terminologiassa.

Tunnisteet tässä tarinassa