Oporavak novčanika izgleda kao zadatak unosa teksta, a zapravo je zadatak čuvanja ključeva. Fraza koju upišete nije lozinka koju provjerava server; ona je ulaz u funkciju izvođenja koja ponovno gradi iste privatne ključeve koje je novčanik imao prije nego što je izgubljen. Sve što u tom trenutku može čitati pritiske tipki, međuspremnik ili memoriju procesa može ih također ponovno izgraditi. Zato priprema znači odlučiti gdje je tajni podatak dopušten, prije nego što postoji.

Pratite frazu od medija do izvedenog ključa

Mnemonička fraza u stilu BIP-39 normalizuje se, proširuje s PBKDF2-HMAC-SHA512 koristeći opcionalnu lozinku kao so, i pretvara u sjeme iz kojeg novčanik izvodi ključeve. Iz toga izravno slijede dvije posljedice. Prvo, fraza je trajno ovlaštenje, a ne vjerodajnica sesije, pa nema poništavanja na strani servera ako pobjegne. Drugo, opcionalna lozinka sudjeluje u izvođenju, zbog čega oporavak koji kao da daje prazan novčanik obično znači da je unesena pogrešna lozinka, a ne pogrešna fraza.

Svaki korak nakon normalizacije odvija se unutar procesa u koji ste upisivali. To je dio koji većina vodiča za oporavak preskače: površina izloženosti je put unosa i memorija tog procesa, a ne mreža između vas i web stranice.

Koji je proces legitiman zavisi od novčanika. Hardverski uređaj ima vlastito sučelje za oporavak na samom uređaju; softverski novčanik ima dokumentirani ekran za oporavak u provjerenoj verziji. Ni jedno nije razgovor s podrškom, i ni jedno nije stranica koja nudi da provjeri frazu umjesto vas.

Gostujući sistem nasljeđuje povjerenje svog hosta

Virtualna mašina se osjeća kao zasebno računalo i nije nezavisna granica povjerenja. NIST-ove smjernice o punoj virtualizaciji opisuju tu zavisnost izravno: sigurnost gosta zavisi od hosta i hipervizora ispod njega, a dijeljeni resursi poput međuspremnika ili integracije mapa proširuju kanal između njih. Instaliranje gosta na mašinu u koju već sumnjate ne stvara novi put unosa.

ControlWhat it addressesWhat it leaves exposed
Verified wallet buildRunning the code the publisher actually signedEverything the running process can read once it starts
Live-boot environment, no persistent diskSecrets left in swap, caches or a saved sessionThe firmware, the keyboard and the display path
Full-disk encryption on the hostRecovery material at rest after shutdownThe same material while the machine is unlocked
Tunnel to a trusted exitWho can observe traffic in transitLocal processes, screen capture and input hooks

Praktična curenja slijede istu liniju. Dijeljeni međuspremnik nosi sve što ste kopirali. Snimke i datoteke obustavljenog stanja mogu uhvatiti memoriju koja sadrži frazu. Dodaci za gosta s pristupom datotečnom sistemu hosta daju gostu pogled na putanje hosta, a hostu pogled na putanje gosta. Ništa od ovoga nisu egzotični napadi; to su funkcije koje virtualnu mašinu čine praktičnom.

Iskren zaključak je uži od „virtualna mašina nije sigurna“. Virtualna mašina može biti pravi kontejner za posao kada je host mašina kojoj vjerujete i kada ste uklonili funkcije dijeljenja. Ne može spasiti host kojem ne vjerujete.

Šta enkriptovani tunel zapravo pokriva

VPN štiti pakete između dvije krajnje točke. Nema mišljenje o tome ko čita ekran na bilo kojoj strani i ne sprječava lokalni proces da promatra šta upisujete u prozor. Zato je tunel relevantan kada je briga put, a irelevantan kada je briga host.

Ta razlika je važna jer se oboje prodaje zajedno. „Enkriptovana veza“ opisuje prijenos; „pouzdan uređaj“ opisuje krajnju točku. Procedura oporavka zahtijeva odvojen odgovor na oboje, a samo na jedno od njih može odgovoriti mrežna usluga.

Provjera onoga što ste preuzeli pripada istoj porodici pitanja o krajnjoj točki. Provjera heša i provjera potpisa utvrđuju da arhiva odgovara onome što je izdavač objavio; one ne govore ništa o mašini koja će je pokrenuti.

sha256sum -c SHA256SUMS.txt
gpg --verify SHA256SUMS.txt.sig SHA256SUMS.txt

Pripremite okruženje prije nego se materijal pojavi

Redoslijed je važniji od alata. Odlučite o hostu, uklonite funkcije dijeljenja, isključite ono što ne treba biti povezano i tek tada izvadite zapis za oporavak iz njegovog spremišta. Ako to učinite obrnutim redoslijedom, tajna je već u memoriji dok još odlučujete gdje treba ići.

Zatim držite tajnu u toku koji proizvođač novčanika dokumentuje. Unesite je u vlastito sučelje za oporavak novčanika, na mreži koju novčanik očekuje, i odobravajte samo operacije koje možete provjeriti na pouzdanom ekranu koji novčanik pruža. Poznat prozor radne površine nije dokaz da će uređaj odobriti ono što prozor tvrdi.

Ako sumnjate na izloženost, prestanite unositi materijal na tom sistemu i prijeđite u okruženje kojem možete nezavisno vjerovati. Zatvaranje virtualne mašine, promjena VPN lozinke ili ponovna instalacija aplikacije novčanika ne mijenjaju ovlaštenje novčanika; to čini samo premještanje sredstava u novi novčanik s novogenerisanim ključevima. Držite sirovu frazu izvan svakog razgovora s podrškom dok dobijate korake za svoj novčanik, jer nijedan legitiman proces podrške ne treba je. To jedno pravilo sprječava više gubitaka od bilo koje kontrolne liste za jačanje sigurnosti.

Povezani članci