Oferit de
Featured

Aruncările de zaruri mențin cheile Bitcoin offline, dar nu toată lumea se va deranja să facă asta

Un zar standard cu șase fețe generează aproximativ 2,6 biți de informație imprevizibilă la fiecare aruncare. Poate că nu pare mult, dar, repetate de suficiente ori, aceste aruncări pot crea aleatoritatea brută necesară pentru a securiza un portofel Bitcoin fără a depinde de software sau de o componentă electronică.

SCRIS DE
DISTRIBUIE
Aruncările de zaruri mențin cheile Bitcoin offline, dar nu toată lumea se va deranja să facă asta

Concluzii cheie

  • O aruncare echitabilă a unui zar cu șase fețe furnizează aproximativ 2,585 biți de entropie, conform formulei lui Claude Shannon.
  • Documentația Coinkite menționează că 50 de aruncări de zar îndeplinesc standardul de 128 de biți pentru o sămânță de portofel Bitcoin.
  • Analiza „Wizard Sardine” realizată de Kevin Loaec a semnalat existența unor riscuri în instrumentele Coldcard, dincolo de sămânța principală.

De ce este atât de dificil de prevăzut rezultatul aruncării unui zar

Claude Shannon, matematicianul care a fondat teoria informației, a folosit entropia pentru a măsura gradul de incertitudine al unui rezultat. În cazul unui zar echitabil cu șase fețe, fiecare față are aceeași șansă de a apărea, respectiv una din șase. Acest lucru conferă fiecărei aruncări aproximativ 2,585 biți de entropie. Aruncarea unei monede produce 1 bit, în timp ce un zar cu opt fețe produce 3 biți.

Image of different colored diceRecenta controversă legată de Coldcard a promovat generarea de semințe bazată pe zaruri pe rețelele sociale. Unii utilizatori o consideră acum esențială, alții spun că le-a protejat fondurile, în timp ce operatorii experimentați subliniază că majoritatea începătorilor nu vor tolera un proces de configurare lent și predispus la erori.

Partea importantă nu este că un zar care se rostogolește se comportă aleatoriu la nivel atomic. Nu este așa. Rezultatul este guvernat de fizică, dar prea multe variabile mici se schimbă simultan pentru ca cineva să poată calcula rezultatul în mod fiabil. Zarul părăsește mâna cu o anumită viteză, unghi, înălțime și rotație, apoi lovește masa și își schimbă direcția la fiecare săritură.

În practică, chiar și o schimbare infimă în momentul aruncării poate produce un rezultat complet diferit. O poziție ușor diferită a degetelor sau o aruncare puțin mai puternică modifică traiectoria suficient de mult încât numărul final să nu poată fi prezis prin observarea mișcării. Rezultatul poate fi determinist în teorie, dar pentru generarea de portofele, ceea ce contează este că un atacator nu îl poate reproduce sau calcula.

Transformarea aruncărilor de zaruri în date utilizabile

Un computer nu poate utiliza direct o listă de rezultate ale aruncărilor de zaruri. Aruncările trebuie mai întâi convertite în date binare, iar metoda de conversie este importantă.

O metodă simplă de tip „par-impar” este ușor de înțeles, dar irosește o mare parte din entropia disponibilă. Fiecare aruncare este redusă la un singur bit, chiar dacă zarul a generat aproximativ 2,6 biți de informație. Metodele mai eficiente colectează o secvență lungă de aruncări și procesează întregul șir, de obicei printr-o funcție hash criptografică. Acest lucru păstrează mult mai mult din caracterul aleatoriu.

Același principiu apare în Diceware, o metodă consacrată de creare a frazelor de acces sigure, precum și în generarea manuală a portofelelor Bitcoin. O frază tipică de recuperare a portofelului, formată din 12 cuvinte, este construită din 128 de biți de entropie. La aproximativ 2,6 biți pe aruncare, circa 50 de aruncări echitabile oferă suficiente informații brute pentru a depăși acest prag.

Coinkite, producătorul portofelului hardware Coldcard, recomandă 99 sau mai multe aruncări pentru utilizatorii care doresc să obțină aproape 256 de biți de entropie. Acest lucru nu face portofelul de două ori mai dificil de utilizat, dar conferă secretului generat o marjă de securitate matematică mult mai mare.

Un test în condiții reale al semințelor generate de zaruri

Această distincție a devenit importantă după ce Coinkite a dezvăluit o problemă de firmware care datează din 2021. Pe unele dispozitive Coldcard, software-ul putea să ocolească generatorul intern de numere aleatorii al hardware-ului și să utilizeze în schimb un proces mai slab, legat de informații nesecrete ale dispozitivului.

Deoarece anumite părți ale acelui proces puteau fi reconstituite, atacatorii au reușit să restrângă numărul posibilelor chei ale portofelului, în loc să cerceteze întregul spațiu al cheilor. Vulnerabilitatea a fost asociată cu furtul unei sume estimate la 1.128,6633 BTC de la aproximativ 1.100 de adrese, conform datelor de la ora 13:00, ora Estului.

X screenshot
Sursa imaginii: X

Semințele portofelelor create în întregime pe baza unui număr suficient de aruncări independente de zaruri nu au fost expuse prin aceeași cale. Acei utilizatori își furnizaseră propria entropie, astfel încât generatorul hardware defect nu a fost responsabil pentru crearea secretului principal al portofelului.

Această protecție, însă, se aplica doar seminței generate de zaruri. Ea nu proteja automat toate celelalte secrete generate de dispozitiv.

Wizard Sardine analizează detaliile

Cercetătorul în securitate Kevin Loaec a publicat o evaluare a vulnerabilității Coldcard pe site-ul Wizard Sardine pe 1 august. Cea mai importantă observație a sa a vizat funcțiile Coldcard care generau propriile secrete separat de seed-ul principal al portofelului.

„Consider că este extrem de important să subliniez că chiar și utilizatorii care au importat sau generat o sămânță cu ajutorul zarurilor sunt vulnerabili, dacă utilizează următoarele funcții”, a scris Loaec pe X, înainte de a prezenta o diagramă a sistemului afectat.

Diagrama arată generatorul de numere aleatorii defectuos care alimentează mai multe funcții secundare ale Coldcard. Printre acestea se numără crearea portofelului de hârtie, clonarea dispozitivului, criptarea sesiunilor USB, funcția de transfer „Secret Teleport”, crearea cheilor de cosemnare, generatorul de parole încorporat și codurile de autentificare ale modulului de securitate hardware.

X screenshot
Sursa imaginii: postare pe X prin intermediul cercetătorului în securitate Kevin Loaec.

Un portofel principal creat cu 99 de aruncări de zaruri rămânea într-o parte separată a sistemului. Problema era că celelalte instrumente puteau totuși să solicite numere aleatorii noi de la generatorul defectuos. Drept urmare, o sămânță sigură nu garanta că fiecare parolă, copie de rezervă, cod de autentificare sau cheie secundară creată pe același dispozitiv era la fel de sigură.

De ce majoritatea utilizatorilor noi nu vor arunca zarurile

Entropia generată de zaruri este valabilă din punct de vedere tehnic atunci când este realizată corect, dar nu reprezintă o opțiune implicită realistă pentru majoritatea utilizatorilor noi. Aruncarea unui zar de 50 sau 99 de ori, introducerea cu precizie a fiecărui rezultat și confirmarea faptului că nicio aruncare nu a fost omisă sau duplicată necesită răbdare și multă concentrare. O singură cifră tastată greșit poate schimba complet portofelul final, iar majoritatea dispozitivelor nu pot distinge dacă greșeala a provenit dintr-o aruncare nereușită, o eroare de introducere a datelor sau o neînțelegere a instrucțiunilor.

X screenshot
Sursa imaginii: X

Procesul introduce, de asemenea, riscuri care nu există în cazul unui generator hardware care funcționează corespunzător. Utilizatorii pot nota aruncările pe hârtie, le pot fotografia, le pot introduce într-un instrument online sau pot lăsa lista undeva unde o altă persoană o poate găsi. Unii oameni aruncă zarul într-un mod repetitiv sau controlat, folosesc un zar trucat sau deteriorat sau se opresc mai devreme deoarece procesul li se pare excesiv. Matematica poate fi solidă, dar rezultatul este la fel de sigur ca și procedura utilizatorului.

X screenshot
Sursa imaginii: X

De aceea, aruncarea zarurilor nu este întotdeauna considerată cea mai bună metodă de către mulți oameni, chiar și printre utilizatorii experimentați de bitcoin. Aceasta înlocuiește încrederea într-un dispozitiv cu încrederea într-un proces manual. Pentru un utilizator atent din punct de vedere tehnic, care înțelege entropia, verifică metoda și păstrează confidențialitatea secvenței de aruncări, acest compromis poate avea sens. Pentru un cumpărător obișnuit care își configurează un portofel pentru prima dată, aceasta adaugă mai multe ocazii de a comite o greșeală ireversibilă, fiind, în același timp, un proces enervant.

X screenshot
Sursa imaginii: X

De asemenea, este dificil să ne imaginăm o adoptare pe scară largă a bitcoinului dacă aceasta depinde de faptul ca oamenii să stea la o masă și să înregistreze rezultatele a 99 de aruncări de zaruri înainte de a putea primi fonduri și de a face acest lucru în siguranță. Practicile de securitate trebuie să reziste în condițiile reale de acasă, programelor încărcate, distragerilor și utilizatorilor care nu doresc să studieze criptografia. Entropia manuală ar trebui să rămână disponibilă ca opțiune avansată, dar obiectivul pe termen lung îl reprezintă hardware-ul și software-ul care generează corect o aleatorietate puternică, explică clar ce se întâmplă și necesită cât mai puține cunoștințe specializate.

Ce ar trebui să verifice proprietarii de Coldcard

Proprietarii dispozitivelor Coldcard afectate ar trebui să verifice mai întâi versiunea de firmware instalată pe dispozitiv. Apoi, ar trebui să analizeze ce funcții au utilizat în timp ce rulau firmware-ul mai vechi, în loc să se concentreze doar asupra modului în care a fost generată sămânța principală a portofelului.

Oricine a folosit dispozitivul afectat pentru a genera un portofel pe hârtie, un secret de clonare, o parolă, o cheie de cosemnare sau un cod de autentificare ar putea fi nevoit să înlocuiască imediat respectivul material. Instalarea actualizării împiedică apariția aceleiași probleme la noile secrete, dar nu repară nimic din ceea ce a fost creat anterior.

Incidentul oferă, de asemenea, un argument practic mai puternic în favoarea configurațiilor de portofele cu mai mulți furnizori. Într-un sistem cu semnături multiple, pot fi necesare dispozitive hardware separate de la diferiți producători pentru a aproba o tranzacție. Această structură nu elimină complet posibilitatea apariției erorilor de firmware, dar poate împiedica ca un singur generator de numere aleatorii defect să expună singur întregul portofel.

Acest articol a fost tradus din limba engleză cu ajutorul inteligenței artificiale. Versiunea originală în limba engleză este sursa autoritară; traducerile automate pot conține inexactități, în special în terminologia juridică și de reglementare.

Etichete în această poveste