Att vara sin egen bank är ingen lätt uppgift. Vi har tidigare skrivit om multisig-lösningar, både hur man kan göra det själv och tillsammans med ett företag som t.ex. Casa. Michael Flaxman är expert på säkerhet i hårdvaruplånböcker och har publicerat en guide som ska hjälpa folk att ta sin säkerhet till nästa nivå. Jag ska här gå igenom en del av Michaels tips men innan vi börjar vill jag bara varna för att det här kommer att bli ganska tekniskt och att det tyvärr inte är något medelsvensson bör försöka sig på (än).
Varför multisig?
En kedja är inte starkare än sin svagaste länk och Michaels tanke med guiden är att se till att ingen sådan svag länk finns, att man inte har en “single point of failure”. För att åstadkomma detta bör man använda flera olika hårdvaruplånböcker, från olika tillverkare, i en multisig-setup där alltså t.ex. 2 av 3 hårdvaruplånböcker räcker för att utföra en transaktion. Tanken här är att skydda sig mot eventuella buggar, attacker etc. som kan drabba hårdvaruplånböcker, för även om dessa fysiska plånböcker har rykte om sig att vara det säkra sättet att förvara sina bitcoin så finns det många saker som skulle kunna gå fel. Genom att inte förlita sig på en enskild tillverkare är man säker även om någon av följande (annars katatrofala) saker skulle inträffa.
- En bugg i plånbokens mjukvara/firmware
- Att du fått en fejkad eller modifierad enhet
- Att någon du gett tillgång till en återställningsnyckel (kanske t.ex. en advokat) visar sig vara opålitlig
- Borttappad eller stulen plånbok / backup-seed
- En attack någonstans i distributionskedjan (från tillverkaren till dig)
- Bortglömd PIN-kod / lösenord
- En felaktig/modifierad slumpgenerator
- En s.k. evil maid-attack som syftar på att någon utomstående (t.ex. den som städar ditt hotellrum) kan få tag i din enhet
- En banktjänsteman som snokar i ditt bankfack
Som du ser är det otaliga saker som skulle kunna gå fel och även om en setup med multisig inte är en perfekt så tycker Michael att det är det absoluta viktigaste steget man kan ta för att förbättra sin säkerhet. Man kan göra en multisig-lösning hur avancerad som helst men det rimligaste för de flesta är förmodligen att gå över från single point of failure till en 2-av-3-lösning, där du alltså har 3 olika enheter men där det räcker med 2 av dem för att komma åt dina bitcoin.
OK, men hur?
Problemet med att använda flera olika hårdvaruplånböcker för signering är att det inte finns något riktigt smidigt, standardiserat sätt för dem att kommunicera med varandra. Michael rekommenderar därför att man använder mjukvaran Specter Desktop som byggts för att agera som en användarvänlig “brygga” mellan de olika hårdvaruplånböckerna. Specter använder sig av Bitcoin Core för att interagera med blockkedjan så du behöver till att börja med en dator med ordentligt med hårddiskutrymme. Du kan dock, om du vill, använda din vanliga dator då ingen känslig information (privata nycklar etc.) kommer i kontakt med den här datorn. Ett annat alternativ är att köpa en förberedd bitcoinnod såsom myNode eller Nodl.
Nästa steg är att konfigurera dina hårdvaruplånböcker i Specter Desktop.
Pappersplånbok som tredjenyckel
Du kan förstås välja vilken typ av X-av-Y-lösning du vill men den som demonstreras i guiden är en 2-av-3-uppsättning med 2 hårdvaruplånböcker och en s.k. paper wallet, eller pappersplånbok. Pappersplånboken är då tänkt att fungera som en backup/återställningsnyckel medan man till vardags använder de 2 hårdvaruenheterna för att skicka och ta emot bitcoin. Att skapa en pappersplånbok kan ju låta enkelt men med det extrema säkerhetstänk som vi fokuserar på nu så finns det ändå en del att tänka på. För att skydda sig mot felaktiga eller modifierade slumpgeneratorer så är det bästa att generera sin seed helt själv utan tekniska hjälpmedel. Man kan t.ex. skriva ut alla 2048 ord från ordlistan i BIP39, klippa ut dem, lägga dem i en hatt och sedan dra en “lott” 23 gånger. Tycker man att det klippandet är lite väl jobbigt så finns ett enklare förfarande på seedpicker.net, skapad av svenske Martin Erlandsson, där det räcker med att du klipper ut 342 lappar och sedan kombinerar detta med ett tärningsslag.
Du kanske märkte att jag skrev “23 ord” ovan istället för 24 som man kanske är van vid. Det beror på att det 24:e ordet i ett seed är en checksumma som räknas fram utifrån de 23:e första. För att få fram det 24:e ordet behöver du därför tyvärr ändå hjälp av en dator. Ett sådant verktyg finns också på ovan nämnda seedpicker.net. OBS! Eftersom du här knappar in hela din seed phrase så är det ytterst viktigt att detta görs på en dator som inte är internetansluten (och helst aldrig har varit eller kommer att vara det).
Hårdvaruplånböckerna
Michael har valt att använda Coldcard samt den relativt nya Cobo vault men Specter har även stöd för alla de vanliga hårdvaruplånböckerna som t.ex. Ledger, Trezor och KeepKey. Uppsättningen ser lite olika ut för olika plånböcker men tydliga instruktioner med skärmdumpar gör processen relativt enkel.
Det sista steget är sedan att koppla ihop de olika plånböckerna till en multisig-lösning enligt nedan.
Skicka och ta emot
När du ska ta emot bitcoin bör du verifiera mottagningsadressen på 2 av 3 enheter, alltså i exemplet vi hittills använt på både din Coldcard och din Cobo vault. På Cobo vault görs detta enkelt genom att gå in i Multisig Wallet-menyn varefter adress och QR-kod visas tydligt på den stora displayen men med Coldcard är det krångligare och du måste ansluta enheten med USB (inte optimalt!) och sedan initiera proceduren via Specter.
Det här är givetvis en irriterande omständlig procedur, speciellt om man ska följa råden om förvara enheterna på fysiskt separata ställen. Tänk dock på att man kan göra sin egen riskbedömning här och kanske vara lite oförsiktigare om det endast är ett mindre belopp man ska ta emot.
Att skicka innebär ungefär samma steg, på Cobo vault sker det genom skannande av en QR-kod medan du på Coldcard gör det genom att koppla in den med USD-sladden.
Backuper
Du har två olika enheter och det är en bra idé att ha en pappersbackup av de 24 återställningsorden för båda dessa. En fördel med en multisig-lösning är förvisso att du kan komma åt dina bitcoin även om en av enheterna skulle vara oanvändbar men i ett läge där t.ex. en av enheterna gått sönder är det klart smidigast om du kan köpa en ny och mata in din gamla seed för att komma igång igen snabbt med samma setup. Har du ingen backup till den trasiga enheten så kan du ändå komma åt dina bitcoin men du behöver då skaffa en ny enhet, göra en ny multisig-setup och skicka alla dina bitcoin till den nya adress som denna nya uppsättning ger.
En lite ointuitiv aspekt av multisig-plånböcker är att du för att kunna spendera några bitcoin måste ha tillgång till alla publika nycklar i uppsättningen, alltså till var och en av de 3 delarna i din 2-av-3-setup. Publika nycklar är dock inte känsligt material i sig så Michael rekommenderar att du sparar undan alla dessa på flera olika ställen, t.ex. att du sparar den fulla uppsättningen publika nycklar tillsammans med varje backup av återställningsorden.
Hur ska du då förvara återställningsorden? Det viktigaste är att tänka på att inte förvara några av de 3 delarna tillsammans. Kanske kan du ha en del i ett bankfack, en annan del i ditt kassaskåp hemma och en tredje hemma hos en mycket nära vän. Du kan förmodligen själv bäst bedöma vad som passar dig bäst. Att spara en del i huvudet genom att memorera de 24 orden är också en möjlighet.
Slutsats
Att hålla högsta möjliga nivå av säkerhet är som du ser ingen enkel uppgift men det positiva är att det åtminstone blir enklare och enklare, t.ex. genom den guide som Michael Flaxman har skapat och de verktyg som olika personer bidragit med att skapa. Man kan kanske tyckas vara närmast paranoid för att sätta upp något så här krångligt men är det stora summor det handlar om så bör man ändå fundera på det. Stora summor förvarade hos t.ex. en bank går nästan alltid att rädda bara genom att banken kan identifiera dig som person på något sätt men bitcoin som du helt själv ansvarar för kan faktiskt försvinna på en kort sekund och vara helt omöjliga att återfå.