Minerit

Andy O'Fiesh - Bitcoin Security Expert

Andy a fost al doilea dezvoltator care sa alăturat lui Alan la Armory, care lucra la dezvoltarea unor caracteristici avansate ale portmoneei Bitcoin Armonia. Este un dezvoltator senior de software cu peste 20 de ani de experiență în dezvoltarea de software la nivel de întreprindere pentru companii precum Juniper Networks, Intel și Nortel.

Andy deține o diplomă în ingineria sistemelor și în diplome de absolvent în domeniul informaticii și al ingineriei sistemelor informatice.

### PODCAST INTERVIU TRANSCRIPT Trace Mayer: Aceasta este gazda ta, Trace Mayer, și avem cu noi Andy O'Fiesh. Este un dezvoltator senior cu Armory care dezvoltă portofelul Bitcoin Armory. Bine ați venit la podcast, Andy Ofiesh. Andy Ofiesh: Mulțumesc, Trace. E bine să vorbim cu tine. Trace: Da. Deci, tema noastră pentru acest podcast va fi totul despre portofele și asta este 101, știi. Tocmai începem cu adevăratele lucruri de bază. Deci, cum ar fi un portofel Bitcoin? Cum functioneazã? Andy Ofiesh: Ei bine, un portofel Bitcoin este modul în care organizați și protejați cheile dvs. Bitcoin, cheia dvs. publică și cheia privată. Pentru cei necunoscuți cu Bitcoin, cheile sunt în esență cheia pentru cheltuirea și primirea Bitcoins. Când cineva vă trimite un Bitcoin, îl trimit cheia dvs. publică. Deci toată lumea știe cheia dvs. publică. Sperăm că doar tu știi cheia privată. Deci, există o relație 1-1 între cheile publice și cele private. Unul dintre efectele lui Bitcoin este că acum există date în lume care merită în mod direct bani. În trecut, un hacker ar fi trebuit să vă preia computerul și să facă ceva cu el pentru a câștiga bani, poate accesa alte date financiare și pentru a profita de acest lucru într-un fel, dar cu Bitcoin, este acum un proces un pas. Accesați cheia privată și luați-vă banii. De fapt, a crescut cantitatea de potențial pentru hacking computerele. De asemenea, a provocat o mare creștere a tehnologiei disponibile pentru a vă proteja datele. Una dintre aceste manifestări este Armonia Bitcoin. Lucrăm la multe caracteristici diferite și avem deja câteva caracteristici care sunt concepute special pentru a vă proteja cheile private pentru Bitcoins-urile pe care le dețineți. ### Bitcoin Private Keys În cazul în care cauciucul întâlnește drumul Trace: Da, deci îmi place cum ajungeți direct în cazul în care cauciucul întâlnește drumul. E vorba de cheia privată, nu? Andy Ofiesh: Da. Urmăriți: Trebuie să respectați cheile și, la sfârșitul zilei, cineva va ține acele chei sau unele. Fie că este o bază de coș sau un cerc, fie o bancă, fie ca persoană fizică, ca și cum cineva va ține cheia privată. Acum când spunem cheia privată, care este într-adevăr doar un șir de numere, nu? Andy Ofiesh: Ei bine, este într-adevăr un număr, un număr foarte mare.Când vorbim despre chei private, ține minte, este doar un număr mare. În termeni tehnici, este un număr de 32 octeți. Cât de mare este de 32 octeți? 32 octeți este suficient pentru a atribui un număr fiecărui atom din univers, adică despre cât de mari sunt 32 de octeți. Deci, dacă doriți să vizualizați ce înseamnă să aveți o cheie privată, puteți să vă gândiți la ea, "Mă gândesc la un atom din univers, puteți ghici atomul la care mă gândesc?" Fiind capabil să ghicească că ar fi foarte greu. Aceasta este securitatea la nivelul de bază, are un număr suficient de mare pentru a enumera fiecare atom din univers și pentru a păstra acest secret. Trace: Și când vorbim doar despre a ghici unul dintre aceștia la întâmplare, este cam imposibil. Având în vedere legile actuale ale matematicii și legile actuale ale științei calculatoarelor și termodinamicii etc., cum nu puteți doar să ghiciți acest număr, cheia privată, nu? Andy Ofiesh: Nu, nu poți, pentru că asta e un alt lucru cu care oamenii se preocupă, este dacă am aceeași cheie privată ca și altcineva. Într-adevăr, este echivalent cu a spune bine ce se întâmplă dacă m-am gândit la același atom din univers în care sa gândit altcineva. Ai putea încerca toată viața ta și nu ai niciodată o coliziune cu doi atomi în univers. Trace: Dar, bine, deci vom reveni la acest lucru, cum ar fi, cum sunt generate acele numere pentru că am putea obține o "coliziune" și o coliziune este locul unde doi oameni au venit cu același număr, nu? Andy Ofiesh: Da, dar asta nu se poate întâmpla din cauza dimensiunii. Andy Ofiesh: Ei bine, s-ar putea întâmpla dacă, bine, vom ajunge la ea mai târziu, dar se poate întâmpla că cineva a ales să se concentreze pe același atom, de exemplu. Andy Ofiesh: Oh, ei bine, da, daca ai entropie slaba, atunci asta s-ar putea intampla cu siguranta si asta e cheia in spatele entropiei. În timp ce aveți numerele implicate în cheia dvs. privată sunt destul de mari, corect, pentru a enumera fiecare atom din univers, este metoda dvs. de a genera acel număr care va extinde acel spațiu. Adică se va extinde pentru a umple acel spațiu. Deci, dacă spui să alegi un număr aleatoriu, bine, cu siguranță altcineva ar putea folosi aceeași metodă pe care ai folosit-o pentru a alege numărul aleatoriu și să o faci de atâtea ori pentru a obține toate numărul aleatoriu posibil acolo și apoi ar putea pune că într-o bază de date și încercați-le pe toate și vor avea o coliziune cu dvs. dacă ați făcut același lucru au făcut. Trace: Deci, să luăm un exemplu în acest sens. Există un site numit brainwallet. org și puteți să descărcați codul sursă și să îl rulați pe calculatorul propriu, așa că este bine, dar ceea ce Brain Wallet este într-adevăr un fel de touts este că puteți crea una dintre aceste expresii pass și care devine convertită într-o cheie privată și așa este foarte ușor de reținut. De exemplu, am putea folosi cuvântul "pisică", c-a-t, care ar genera de fapt un număr specific, nu? Ca o cheie privată specifică? Andy Ofiesh: Da, imaginați-vă dacă v-ați gândit să obțineți o grămadă de oameni pe care îi cunoașteți, bine, care doresc să lucreze pentru un salariu minim și să-i pună pe acel site și să le genereze ciorchini și ciorchini din portofelele creierului și apoi stocați fiecare într-o bază de date și apoi, după ce faceți asta, poate cu câteva zeci de oameni și ei petrec spunând că o săptămână face asta, ați putea avea în baza de date câteva sute de mii de portofele de creier, ai câteva sute de mii de bilete de loterie și continuă să le verifici pe cei de la BlockChain.pentru a vedea dacă vreunul din aceste portmonee creierului are un echilibru deoarece una dintre albinele muncitorilor dvs. ar fi putut alege același portofel al creierului ca și altcineva și, dacă ați făcut-o, veți obține Bitcoins. Trace: Bine, cum ar fi înainte de a vorbi despre asta înainte de spectacol și ai avut o analogie care, asemănându-se cu furtul Bitcoins, cum ar fi jocul Capture the Flag și așa că steagul este cheia privată acum se pare că avem două moduri diferite de a ne putea fura steagul. Putem fura steagul cu un atac fizic. Acolo este cazul în care cineva ar putea dori să compromită computerul, să vă fure calculatorul sau să fure iPhone-ul dvs. și să poată obține cheile private în acest fel, dar ar putea fi, de asemenea, un vector pur atac mental, nu? Acolo este cineva în stare să-ți fure Bitcoins-ul din cauza acestui atac de entropie. Andy Ofiesh: Ei bine, acel atac de entropie înseamnă în esență că voi fura oricine Bitcoins care ar putea să folosească aceeași metodă de a-și genera cheia privată pe care o voi încerca. Trace: Da, să dăm un exemplu despre asta. Așadar, am citit forumurile Armory pe Bitcoin Talk și cineva a sugerat să includă această facilitate Wallet Brain în Armory. Această caracteristică specifică a Portofelului Brain și-a furnizat propriul cod de software. Bineinteles ca era sursa deschisa, ca si cum am putea sa o citim si orice altceva decat primul lucru despre care m-am gandit era, ma intreb daca este un vector de atac asupra entropiei, pentru ca daca poate convinge oamenii sa isi genereze portofelele Armory folosind entropia proasta, atunci ar putea exista un potențial vector de atac acolo și deci poate puteți vorbi puțin despre modul în care am văzut acest lucru și nu l-am inclus în Armory, cum ar fi putut fi un risc potențial și cum de fapt facem să generăm entropie în Arma lui Bitcoin Portofel. Andy Ofiesh: Ei bine, în primul rând, oricine își poate crea propriul Portofel Brain în Armură. Doar nu-l expunem în interfața cu utilizatorul. Practic, oamenii sunt liberi să facă tot ceea ce doresc cu codul sursă deschisă și pot găsi cu ușurință apelul funcțional corect pentru a genera un portofel al creierului și pentru a-l utiliza pe o linie de comandă și să o facă astfel. Dar avem încredere în oricine care este suficient de priceput să facă acest lucru este de asemenea suficient de priceput să înțeleagă riscurile și să o facă corect. De exemplu, folosesc aceeași caracteristică pentru a-mi genera cheia privată, dar nu am venit cu o grămadă de cuvinte, am luat un pachet de cărți și am trecut prin primele 40 de cărți din pachet și tocmai am notat inițialele numelui cardului. Regele cluburilor ar fi KC. Deci, am trecut prin 40 de cărți și am cam 80 de caractere și o introduc pe linia de comandă și îmi generez cheia privată. Aceasta are o entropie destul de mare pentru a acoperi întregul spațiu de atomi din univers. Deci, aceasta este o tehnică decentă. Urcând cu câteva cuvinte, nu atât de bine pentru că altcineva ar putea să vină cu aceleași cuvinte și să vă fure Bitcoinul. Acești oameni sunt acolo și încearcă să facă exact asta. Deci ne ascundem acea caracteristică și acest domn a venit și a vrut să-i expună, a vrut ca oamenii să știe despre frumusețile Portofelului Brain și ai văzut foarte atent că pariez că vrea să execute acel atac asupra oamenilor care folosesc acea caracteristică.Deci, într-adevăr, descurajăm faptul că ascunzându-l de interfața cu utilizatorul și, de asemenea, ori de câte ori ați auzit pe fondatorul talk-ului Armory, Alan Reiner, dacă vorbește despre chei private și entropie, el va avertiza cu cine vorbește pericolele portofelului creierului și importanța entropiei. Trace: Deci, pentru un nou utilizator de la Armory, care îl rulează în modul standard, deci nici în avans sau expert, cum este Armonia generatoare de entropie pentru ei și cum știm că este sigur? Armura nu va fura steagul lor? Andy Ofiesh: Ei bine, într-o manieră pe care o știi în siguranță, poți să te uiți la codul sursă, dar înțeleg că pentru majoritatea oamenilor, uita la codul sursă nu este o opțiune. Există experți care au analizat codul sursă și sunt independenți și au făcut comentarii și dacă, știți, citiți pe forumuri sau mergeți la Github unde este stocat codul sursă, puteți citi comentariile altor persoane și citește suficient pentru a avea încredere în el. Folosim randomizatorul de computere pe calculatoarele pe care rulează software-ul, dar mergem, de asemenea, și facem cercetarea pentru a ne asigura că numerele aleatoare generate pe diferitele platforme pe care Armory le execută oferă suficientă entropie. Adăugăm și câteva straturi suplimentare în cazul în care nu vom intra în detalii, dar chiar dacă o anumită platformă are o entropie scăzută, atunci doar în caz, ne compensează faptul că pentru adăugarea unui strat suplimentar în plus față de acea. Trace: Și astfel este o protecție împotriva acestui potențial numai atac mental și în multe cazuri oamenii nu au nicio idee despre modul în care software-ul portofelului generează entropia sau dacă dezvoltatorul a luat chiar precauții foarte bune pentru a asigurați-vă că entropia este generată în acest tip complet de întâmplări. Andy Ofiesh: Da, bine stiti acum un an, cred ca a fost ceva anul trecut, a existat o slăbiciune bine cunoscută în Android, în special telefon Android, și a existat un atac împotriva acestei slăbiciuni atacatorul a folosit telefonul special pentru a genera milioane de chei private Bitcoin, le-a pus în baza de date și apoi a încercat toate acele chei private și a reușit să fure Bitcoins de la un număr mare de utilizatori Android care au folosit Android, telefon pentru a-și genera cheia privată, pentru că telefonul nu avea entropia suficientă încât a fost un atac de succes. Baza de date a cheilor private a atacatorului a corespuns unor chei private de utilizatori Android, iar acei utilizatori și-au pierdut Bitcoin-ul și asta se întâmplă când ai entropie slabă. Trace: Omule, eo perspectivă înfricoșătoare, nu-i așa? Deoarece nu numai că un dezvoltator de portofel ar putea fi neglijent sau nu înțelege pe deplin ramificația criptografiei și a matematică, dar un dezvoltator de portofel foarte inteligent ar putea fi de fapt rău intenționat și să elibereze un portofel foarte cool acolo, care are caracteristici etc. fie o mică modalitate de a ataca toate cheile private prin entropie, de exemplu. Andy Ofiesh: Corect. Trace: Și astfel este foarte important ca oamenii să-și păstreze Bitcoins-ul într-un portofoliu foarte sigur, de încredere, evaluat de la egal la egal și deschis. Andy Ofiesh: Corect. Deci, aici este chestia, acea caracteristică pe care nu dorim să o expunem oamenilor pentru că ar putea să o abuzeze, această caracteristică este de fapt cheia pentru a face cel mai sigur portofel. Acum, desigur, știi tu, ne conduci portofelul pe orice computer decent pe care îl susținem atunci amenda ta, dar dacă vrei cu adevărat să-ți dovedești că Bitcoin Armory nu iese să-ți fure Bitcoins-ul pentru că poate nu ai încredere în noi, modul de a face asta este ceea ce am făcut, care este generarea entropiei tale. Puteți utiliza o punte de cărți. Puteți sări zaruri. Dacă sunteți foarte atent, veți face matematica și vă veți da seama câte cuburi de zaruri sau câte cărți trebuie să le desenați pentru a genera suficientă entropie pentru ca nimeni să nu aibă aceeași cheie privată ca și dumneavoastră. Trace: Acum este un fel de distracție. Chiar îmi amintesc când un prieten de-al meu tocmai a aflat despre Bitcoin și el a fost la grupul nostru Meetup și aceasta a fost prima dată când l-am întâlnit și el a fost ca, știți, eu generez cheile mele private cu zaruri și el este ca și cum eu a vrut să existe un program care să facă acest lucru și am fost ca, bine, nu ați auzit de Armory și el a fost ca și cum nu face ce face. Așa că i-am spus despre Armură și asta a fost chiar după ce am finanțat Armory și data viitoare când l-am văzut, a scris un script python în care putea să-și introducă propriile roluri de zaruri ca entropie și tu știi mai repede un pic și el este de fapt un dezvoltator acum cu Portofoliul Airbitz, portofelul mobil pentru iOS și el a contribuit, de asemenea, la Bitcoin core, dar cred că este foarte util pentru oameni să știe că știi cu Armory, caracteristica a fost abstracted departe că noul utilizator nu trebuie să se ocupe de această parte mult mai tehnică, dar dacă oamenii doresc să se sapă și să genereze propria lor entropie și să se asigure că Bitcoins lor sunt absolut sigure de acel vector de atac, nu-i așa? Andy Ofiesh: Exact. Trace: Acum, noi doar, știi, am lovit doar pe un alt subiect care este această diferență între depozitul rece și depozitul fierbinte, dar nu vreau să intru în asta în acest episod. Vreau doar ca oamenii să fie conștienți de acești termeni. Avem, de asemenea, un alt termen numit Coin Control și acest lucru are de a face cu exact Bitcoins pe care le trimiteți într-o tranzacție, deoarece unele dintre portofele într-adevăr un fel de jumble ceea ce poate fi un atac asupra vieții private, de exemplu. Așa că vom vorbi și despre asta într-un podcast mai târziu, dar, de exemplu, am vrut să închei acest podcast special, doar să intru în, să zgâriez suprafața cu câteva implicații de securitate, una, ce este securitatea rețelei și două, ce este portofel de securitate și puteți vorbi puțin despre modul în care Bitcoin Core a clientului Bitcoin QT se concentrează pe securitatea rețelei în timp ce portofelul Armory se concentrează pe securitatea portofelului? Andy Ofiesh: Ei bine, în ceea ce privește securitatea rețelei, cred că despre ce vorbim este abilitatea ta de a accesa lanțul blocului. Cât de sigur este accesul dvs. la lanțul bloc? Ne bazăm pe Bitcoin Core pentru asta. Deci, când folosiți Armory, accesați de fapt lanțul de blocuri prin Bitcoin Core. Deci, vom profita de caracteristicile de securitate Bitcoin Core și de ceva ce nu trebuie să facem față, deoarece acest lucru se întâmplă prin intermediul software-ului care există deja. Nu vrem să reinventăm roata. Ce armură a innovat, vă asigură portofelul, asigurându-vă accesul la chei. Așadar, l-am lăsat pe Bitcoin Core să aibă acces securizat la informațiile din lanțul de bloc, iar Bitcoin Armory vă asigură accesul la cheile dvs. private. Trace: Deci, un mod bun de a analogiza acest lucru ar fi Capture the Flag, steagul dvs. este cheia privată. Ăsta e secretul pe care nu-l dorești pe nimeni să știe. Andy Ofiesh: Corect. Urmăriți: Dar apoi lanțul bloc, care este complet public, astfel încât toată lumea are acces la asta, dar este important să vă asigurați că aveți o copie corectă a lanțului blocului, un bloc lanț că rețeaua distribuită a ajuns la un consens, pentru că ar putea exista și vectori potențiali de atac acolo, nu? Andy Ofiesh: Corect. Deci, unul dintre modul în care oamenii și-au pierdut Bitcoins este că au fost înșelat în a trimite Bitcoins la adresa greșită. Deci, acolo intră în joc securitatea rețelei. Deci, mai degrabă decât să încercați să vă furați cheile private, acești atacatori vă vor alimenta informații rău despre cine au primit adresa și vor încerca să-și substituie adresa pentru cineva pe care încercați în mod legitim să îl plătiți, ceea ce poate face pentru dvs. atacarea securității rețelei tu. Este practic un om în mijlocul atacului care vă împiedică să obțineți informații corecte despre starea rețelei Bitcoin. Trace: Da, și probabil că va trebui să avem un alt podcast, probabil cu Jeff Garzik, la BitPay, unde vorbim puțin despre toate aspectele legate de securitatea rețelei. Așa că mergem, cred că avem o imagine de ansamblu asupra portofelor. Avem cheile publice. Avem chei private. Înțelegem că cheile private sunt doar un număr și acesta este un număr pe care trebuie să-l păstrăm în secret, nu? Andy Ofiesh: Mmhmm. Andy Ofiesh: Atunci când generăm acea cheie privată, avem acest concept de entropie, care este întâmplarea pe care o generăm cu asta. Apoi avem controlul monedei, așa că trebuie să putem controla care Bitcoins special pe care îi trimitem în jur. Vom vorbi despre asta mai târziu. Apoi, stocarea la rece față de spațiul de stocare fierbinte, deoarece putem rula Armory și să generăm toate aceste chei private, putem face asta pe un computer pe care îl construim cu software-ul pe care îl descărcăm și verificăm, dar pe un computer care nu a atins niciodată internetul, nu? Andy Ofiesh: Asta este corect. Trace: Și asta e mare lucru. Andy Ofiesh: Da. Trace: Este o afacere cu adevărat mare pentru că face într-adevăr suprafața de atac mult mai mică. Apoi, avem implicațiile de securitate cu securitatea rețelei și securitatea portofelului. Așa că mergem. Există o imagine de ansamblu despre portofele, partea cu adevărat importantă a portofelului, care este cheia privată și care este locul în care Bitcoins-ul nostru este la și la sfârșitul zilei, cineva trebuie să dețină acele chei private și ceea ce Armory face este generând și asigurând acele chei private, sperăm, cât mai ușor și cât mai sigur posibil. Așa că mergem, e Episodul 100 și vă mulțumesc foarte mult, Andy Ofiesh, că ați fost pe Bitcoin Knowledge Podcast, un dezvoltator senior la Armory Technologies, care dezvoltă Walco Armory Wallet. Vom reveni imediat la un alt episod, mergând puțin mai adânc în unele dintre aceste zone. Mulțumesc, Andy Ofiesh. Andy Ofiesh: Mulțumesc, Trace. ### Sfârșitul transcrierii