Obnovení peněženky vypadá jako úloha zadávání textu, ale ve skutečnosti je to úloha ochrany klíčů. Fráze, kterou zadáváte, není heslo ověřované serverem; je to vstup do derivační funkce, která znovu sestaví stejné soukromé klíče, jaké peněženka měla, než se ztratila. Cokoli, co v tu chvíli dokáže číst stisky kláves, schránku nebo paměť procesu, je dokáže sestavit také. Příprava proto znamená rozhodnout, kde smí tajemství existovat, dřív než existuje.

Sledujte frázi od média k odvozenému klíči

Mnemotechnická fráze ve stylu BIP-39 se normalizuje, roztáhne pomocí PBKDF2-HMAC-SHA512 s volitelnou přístupovou frází jako solí a převede na seed, ze kterého peněženka odvozuje klíče. Z toho přímo plynou dva důsledky. Za prvé, fráze je trvalé oprávnění, nikoli přihlašovací údaj relace, takže při úniku neexistuje obnova na straně serveru. Za druhé, volitelná přístupová fráze se účastní odvozování, a proto obnovení, které vypadá, že vytvoří prázdnou peněženku, obvykle znamená zadanou špatnou přístupovou frázi, nikoli špatnou frázi.

Každý krok po normalizaci probíhá uvnitř procesu, do kterého jste psali. To je část, kterou většina návodů na obnovení vynechává: povrch expozice je vstupní cesta a paměť tohoto procesu, ne síť mezi vámi a webovou stránkou.

Který proces je legitimní, závisí na peněžence. Hardwarové zařízení má vlastní rozhraní pro obnovení přímo v zařízení; softwarová peněženka má zdokumentovanou obrazovku obnovení v ověřeném sestavení. Ani jedno není chat podpory a ani jedno není stránka, která nabízí, že za vás frázi zkontroluje.

Hostovaný systém dědí důvěru svého hostitele

Virtuální stroj působí jako samostatný počítač a není nezávislou hranicí důvěry. Pokyny NIST k plné virtualizaci popisují tuto závislost přímo: bezpečnost hosta závisí na hostiteli a hypervizoru pod ním a sdílené prostředky, jako je schránka nebo integrace složek, rozšiřují kanál mezi nimi. Instalace hosta na stroj, kterému už nedůvěřujete, nevytváří novou vstupní cestu.

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

Praktické úniky jdou stejnou linií. Sdílená schránka přenáší vše, co jste zkopírovali. Snímky a soubory pozastaveného stavu mohou zachytit paměť obsahující frázi. Doplňky pro hosta s přístupem k souborovému systému hostitele dávají hostovi pohled na cesty hostitele a hostiteli pohled na cesty hosta. Nic z toho nejsou exotické útoky; jsou to funkce, které virtuální stroj dělají pohodlným.

Poctivý závěr je užší než „virtuální stroj není bezpečný“. Virtuální stroj může být správným kontejnerem pro práci, když je hostitelem stroj, kterému důvěřujete, a odstranili jste funkce sdílení. Nedokáže zachránit hostitele, kterému nedůvěřujete.

Co šifrovaný tunel skutečně pokrývá

VPN chrání pakety mezi dvěma koncovými body. Nemá názor na to, kdo na kterékoli straně čte obrazovku, a nezastaví místní proces, aby sledoval, co píšete do okna. Tunel je tedy relevantní, když je obavou cesta, a irelevantní, když je obavou hostitel.

Toto rozlišení je důležité, protože se obojí prodává společně. „Šifrované připojení“ popisuje přenos; „důvěryhodné zařízení“ popisuje koncový bod. Postup obnovení potřebuje samostatnou odpověď na obojí a jen jednu z nich může poskytnout síťová služba.

Ověření toho, co jste stáhli, patří do stejné rodiny otázek o koncovém bodu. Kontrola hashe a kontrola podpisu prokazují, že archiv odpovídá tomu, co vydavatel zveřejnil; o stroji, který ho spustí, neříkají nic.

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

Připravte prostředí dřív, než se materiál objeví

Na pořadí záleží víc než na nástrojích. Rozhodněte hostitele, odstraňte funkce sdílení, odpojte to, co připojeno být nemusí, a teprve potom vyjměte záznam pro obnovení z jeho úložiště. Když to uděláte v opačném pořadí, tajemství je už v paměti, zatímco ještě rozhodujete, kam má jít.

Pak držte tajemství v toku, který výrobce peněženky dokumentuje. Zadejte je do vlastního rozhraní pro obnovení peněženky, na síti, kterou peněženka očekává, a schvalujte jen operace, které můžete ověřit na důvěryhodném displeji, který peněženka poskytuje. Známé dialogové okno na ploše není důkazem, že zařízení schválí to, co okno tvrdí.

Pokud máte podezření na expozici, přestaňte na tom systému zadávat materiál a přejděte do prostředí, kterému můžete nezávisle důvěřovat. Zavření virtuálního stroje, změna hesla VPN nebo přeinstalace aplikace peněženky oprávnění peněženky neobmění; udělá to jen přesun aktiv do nové peněženky s nově vygenerovanými klíči. Držte surovou frázi mimo jakoukoli konverzaci s podporou, dokud získáváte kroky pro svou peněženku, protože žádný legitimní proces podpory ji nepotřebuje. Toto jediné pravidlo zabrání víc ztrátám než jakýkoli kontrolní seznam pro zpevnění.

Související články