Recuperarea parolei este ca și cum ai naviga cu o mică barcă, aruncând plase în oceanul nesfârșit, sperând să prindă singura pește mic din întreaga mare...
Unu, introducere
“Ruda mea a plecat, am descoperit acest portofel bitcoin pe computerul lui, mă poți ajuta să-l recuperăm?”
“Prietenul meu are datorii și nu plătește, mi-a dat acest portofel ca plată, se poate recupera?”
“Prietenul meu nu își plătește datoriile, mi-a dat acest portofel ca plată, se poate recupera?”
“M-am despărțit de prietenul meu, mi-a dat acest portofel ca despăgubire, am uitat parola, se poate recupera?”
“Acesta este portofelul meu, a fost difuzat din greșeală, am indicii de parolă, mă poți ajuta să-l recuperez.”
Am lucrat în recuperarea parolelor timp de 5 ani, am întâlnit mulți clienți care vin la noi cu portofele publice pentru a le recupera, aceasta se întâmplă în fiecare an, iar anul acesta este deosebit de mult. Anul acesta am avut cel puțin 50 de consultări pentru portofele publice, astăzi voi vorbi despre povestea din spatele portofelelor publice.
二、Public wallet难辨真假
Portofelul public se referă la wallet.dat BTC/LTC/Doge vândut public pe internet, precum și la alte fișiere. Acestea îi fac pe oameni să creadă: (1) Fișierele vândute conțin cheia privată criptată; (2) Cu o parolă se poate decripta cheia privată corectă, permițând transferul de monede (3) Oricine ar putea recupera parola. Pe baza acestor trei puncte, site-urile care vând portofele pot face bani, motiv pentru care există mulți doritori de a risca puțin pentru a câștiga mult.
Fac acest domeniu de activitate și trebuie să înțeleg portofelele publice, așa că în 2021 am cheltuit 35.000 de yuani pentru a cumpăra 60-70 de portofele. După aceea, am analizat caracteristicile acestor portofele și am descoperit că este foarte greu să disting între un portofel adevărat și unul fals, ceea ce este legat de structura Wallet.dat.
Wallet.dat este o bază de date key-value, care salvează multe date legate de cheile private, cheile publice, adrese etc., dintre care cele mai importante sunt masterkey și cheia privată a adresei, masterkey este cheia privată principală, utilizată pentru a decripta cheia privată a adresei; cheia privată a adresei poate fi utilizată pentru a genera cheia publică și adresa, fiind de asemenea cheia privată utilizată pentru a semna tranzacții și a trimite tranzacții, cu această cheie privată poți transfera monede din adresa corespunzătoare.
De ce se spune că nu se poate judeca dacă un portofel este fals sau adevărat, cheia este că wallet.dat este foarte ușor de modificat și nu lasă urme:
1 Cheia publică poate fi scrisă la întâmplare, chiar dacă nu corespunde cu cheia privată, nu există o modalitate de a o verifica; aceasta face ca falsul wallet.dat să poată sincroniza tranzacții și să actualizeze soldul la fel ca un portofel adevărat, doar că nu poate genera monede;
2 Cipherul masterkey poate fi modificat la întâmplare sau generat aleatoriu, nu este posibil să se găsească o parolă corespunzătoare, chiar dacă se găsește o parolă, decriptarea ar putea duce la o cheie privată principală greșită;
3 Cipherul cheii private a adresei poate fi modificat liber sau generat aleatoriu, chiar dacă masterkey este calculat corect, dar nu poate decripta cheia privată a adresei;
Trei, tehnici și dificultăți de recuperare a parolei
Aceasta trebuie să înceapă cu procesul de criptare, iar procesul de generare a cheilor private principale și a cheilor private ale adreselor este următorul:
1 Generarea cheii private principale: generarea aleatorie a unei chei private de 32 de bytes, aceasta este cheia privată principală masterkey;
2 Cheia privată a adresei: generată aleatoriu 32 de bytes cheie privată a adresei => criptată cu masterkey => salvată împreună cu cheia publică în Wallet.dat;
3 Masterkey criptat și salvat: parola utilizatorului => N runde de SHA512 iterație => cheia utilizată pentru criptarea masterkey => criptarea masterkey => salvat în Wallet.dat;
Din procesul de mai sus, putem deduce următorii pași de decriptare:
Ghicește parola => N runde de SHA512 iterație => cheia utilizată pentru criptarea masterkey => decriptează masterkey => decriptare eșuată, continuă să ghicești parola; decriptare reușită, folosește cheia decriptată pentru a decripta cheia privată a adresei => decriptare reușită, transfer reușit, aceasta este adevărata reușită; dacă decriptarea nu reușește, continuă să ghicești parola.
Dificultatea de a decripta cheia privată principală constă în:
1 Folosind o parolă definită de utilizator, după N iterații, acest N variază de la un portofel la altul, de la zeci de mii la zeci de mii, cu cât valoarea este mai mare, cu atât puterea de recuperare este mai lentă, iar numărul de parole care pot fi testate este mai mic, dificultatea de recuperare este mai mare.
2 Parola utilizatorului nu oferă nicio indiciu, spațiul parolelor este extrem de mare. Deși unele portofele publice pretind că au indicii, credibilitatea acestora este foarte scăzută, probabilitatea de falsificare este foarte mare, și nu poți judeca;
3 Este necesar un putere mare de calcul pentru a explora spațiul parolelor, costurile de construcție a centrului de date, echipamentelor, electricității și gestionării se ridică la milioane sau zeci de milioane, și este foarte probabil să nu existe venituri niciodată. Ar fi mai bine să folosești acești bani pentru a mina sau pentru închirierea de putere de calcul, având venituri stabilizate;
4 Cheile publice, cheile private ale adreselor și cheile private principale din portofelele publice sunt ușor de modificat, probabilitatea de fals este foarte mare, cine ar cheltui o mulțime de bani adevărați pentru a recupera un portofel care este foarte probabil fals?
Patru, concluzii despre portofelele publice
Portofelul public, pe scurt, se rezumă la trei fraze:
1 Este puțin probabil să reușești să decriptezi cheia privată principală;
2 Chiar dacă decriptezi cheia privată principală, este puțin probabil să poți decripta cheia privată a adresei;
3 Chiar dacă reușești să decriptezi cheia privată a adresei, este puțin probabil ca cheia privată a adresei să corespundă cu cheia publică, imposibilitatea de a transfera monede ar trebui să fie o situație normală;
Textul de mai sus a analizat clar problemele portofelului public, este de așteptat ca mulți oameni să fi renunțat la ideea de a recupera portofelul public.
Dar dacă crezi că ești un fiu al dimensiunii, atunci nu ar fi rău să încerci, poate poți decripta un portofel mare, într-o zi să te transformi.
Dar nu mai inventa un nou scenariu și să mă cauți din nou cu portofelele publice...