Každý, kdo drží netriviální množství bitcoinů, by měl zvážit zabezpečení více podpisů, včetně toho, jak zmírnit potenciální útoky.
Toto je názorový článek Ananta Tapadii, počítačového inženýra a přispěvatele do projektů Bitcoin Self-Custody Bitcoin Keeper a Hexa Wallet.
Zabezpečení více podpisů neboli „multisig“ nabízí jiný soubor bezpečnostních záruk než řešení s jedním podpisem (singlesig), které to nedokáže. I když se domnívám, že singlesig je skvělou formou úschovy, pokud člověk s bitcoiny teprve začíná nebo spravuje malé částky, podle mého názoru by měl každý, kdo drží netriviální množství bitcoinů dlouhodobě, posoudit možnost multisig
Defining Multisig
Než předložím své argumenty ve prospěch jednoho typu oproti druhému, je nezbytné pochopit, co máme na mysli pod pojmem „peněženka“. Multisig peněženka je v aplikacích, jako je Bitcoin Keeper a Blue Wallet, označována jako „trezor“, zatímco někteří ji označují také jako „koordinátor“ nebo „koordinační software“ Je to v podstatě peněženka, která může komunikovat s více podepisovacími zařízeními a koordinovat mezi nimi podepisování transakcí (obvykle pomocí formátu PSBT). Pro srovnání, peněženka singlesig hovoří pouze s jedním podepisovacím zařízením. Singlesig peněženka je často také podepisujícím subjektem, což znamená, že klíče jsou horké.
Takže plocha útoku vystavená kvůli singlesig peněžence a trezoru je podobná, protože obě mají podobné role. Existence podepisovacího zařízení v obou případech zvyšuje bezpečnost a zavádí nové plochy útoku.
Multisig se často označuje jako „m-of-n“, kde k podepsání transakce potřebujete „m klíčů z n“. Výstupní deskriptor neboli bitcoin secure multisig setup (BSMS) je formát, který se používá k definování konfigurace multisig. Lze jej použít k opětovnému vytvoření nastavení na jiných koordinátorech nebo k registraci multisig u podepisovacích zařízení.
Úvahy o úschově bitcoinů
Minimalizace důvěryhodnosti
Zřejmou výhodou existence více podepisujících osob je omezení jednotlivých bodů selhání a zvýšení redundance nastavení. S pomocí níže uvedených běžných příkladů útoků na multisig, které jsou součástí tohoto dokumentu, vysvětlím, proč jsou tyto útoky použitelné i při opatrování singlesig. S multisigem však můžete minimalizovat důvěru v jeden subjekt, protože se na něm podílí více subjektů
Provozní náročnost
Nastavení a používání multisigů může být provozně časově náročnější a obsahovat více úskalí, pokud není provedeno správně. Proto doporučuji, aby uživatelé zvažovali multisig pouze pro dlouhodobý HODLing, kde se nepředpokládají pravidelné transakce.
Náklady na zřízení
Robustní multisig s více dodavateli (například s třemi z pěti custody) lze pořídit za 250 až 600 USD. Pokud tedy máte kolem 0,5 BTC (v době psaní tohoto článku asi 11 000 USD), není špatný nápad utratit za jeho zabezpečení méně než 10 %, protože hodnota tohoto bitcoinu se může velmi rychle zhodnotit
Snižují se i náklady na podepisovací zařízení, např. na Tapsigner od společnosti Coinkite. Navíc použití nehardwarových softwarových klíčů dává možnost nulových nákladů, ale nedoporučuje se je používat pro více než jeden klíč v multisig nastavení.“
Zmírnění běžných útoků
Nyní se podívám na některé útoky, ke kterým může dojít, pokud se koordinátor opatrovnických klíčů pokusí jednat ve zlém. Poté vysvětlím, jak se to neliší od hrozeb v singlesigovém nastavení a co mohou multisigové peněženky udělat pro zmírnění těchto rizik. Konečná odpovědnost nevyhnutelně leží na uživateli, který musí zajistit, aby přijal správná opatření, jak je navrženo níže.
Špatná adresa pro příjem
Nejpřímější útok, který nastíním, je ten, kdy se uživatel pokusí přijmout finanční prostředky a aplikace koordinátora místo toho zobrazí adresu útočníka. V takových scénářích by software mohl stále ukazovat, že prostředky byly přijaty tam, kde uživatel zamýšlel. Tento útok je teoreticky možný s jakoukoli singlesig peněženkou, protože uživatel spoléhá na to, že mu peněženka vygeneruje adresu. Neexistuje žádný způsob, jak ručně odvodit adresy z 12- nebo 24slovné fráze pro obnovení.
V případě multisig peněženky lze tento problém zmírnit kontrolou adresy na podepisovacích zařízeních, kde byl multisig zaregistrován. Můžete také použít jiný koordinační software, importovat stejnou konfiguraci a zkontrolovat adresu tímto způsobem.
Nahrazení adresy pro odeslání
Stejně jako v předchozím scénáři útoku může multisig koordinátor při sestavování PSBT nahradit adresu, na kterou se snažíte odeslat prostředky. V případě běžné singlesig peněženky se situace nebude lišit
Pro zmírnění tohoto rizika se uživateli doporučuje vždy zkontrolovat adresu na podepisovacích zařízeních. Protože podepisovací zařízení podepisují transakci obsahující adresu příjemce (ve formátu PSBT), zobrazí adresu, kterou podepisují. Pokud nedojde k nějakému spolčení mezi koordinátorovou aplikací a podepisovacími zařízeními, je to vynikající způsob, jak minimalizovat důvěru v kterékoli z nich.
Změna adresy změny
Méně zřejmý je útok, při kterém aplikace koordinátora nahradí adresu změny ve vaší transakci. To znamená, že změna z transakce půjde na adresu útočníka. Na rozdíl od adresy odeslání uživatel nemusí při odesílání peněz kontrolovat adresu změny, takže tento útok je méně zřejmý. Pokud jde o singlesigové řešení, opět není žádný rozdíl
Zde je registrace multisig na podepisovacích zařízeních velmi potřebná. Pokud je registrace provedena, podepisovací zařízení transakci nepodepíše, pokud neidentifikuje adresu změny
Změna registrace
Protože koordinátor koordinuje i krok registrace, může být zaregistrován jiný multisig, takže útočník ovládá „n“ nebo více klíčů. V takovém případě nebude podepisovací zařízení schopno správně identifikovat adresu příjmu nebo změnit adresu. Uživatel uvidí stejnou (útočníkovu) adresu příjmu i na podepisovacím zařízení a podepisovací zařízení bude změnu adresy vydávat za správnou, protože nemá možnost potvrdit, zda byly ostatní spolupodepisující osoby změněny, nebo ne.
Proto se doporučuje, aby v nastavení bylo „n“ registrovaných zařízení. Kromě toho při registraci potvrdíte údaje o nastavení na všech takových zařízeních. Dalším způsobem, jak ověřit správnou registraci, je nastavit stejný multisig na jiném softwaru koordinátoru a zkontrolovat, zda se zobrazují přesné údaje.
Můžete tedy mít multisig s jedním zařízením pro podepisování trezoru registrace a dvěma slepými podepisovači. Stejný postup zopakujte s jiným koordinátorem. Nyní zkontrolujte konfiguraci na obou koordinátorech a podepisovacím zařízení s multisigem. Můžete přidat další koordinátory, abyste vyloučili tajnou dohodu.
Útok výkupným
Tento typ útoku je podobný výše uvedenému, ale útočník ovládá méně než „n“ klíčů, takže nemůže kontrolovat finanční prostředky. Ale v situaci, kdy ztratíte některý z klíčů, vás může útočník požadovat výkupné, protože nyní nemáte potřebné minimální kvorum. Tento útok lze provést také vložením klíče, kdy jsou do nastavení přidáni další spolupodepisovatelé. To má stejný účinek jako nahrazení některých signatářů.
Šance na tyto útoky opět sníží kontrola údajů o spolupodepisujících zařízeních na více koordinátorech potřebných k registraci
Využití multisig úschovy pro váš Bitcoin
Zopakujme: Mít minimální kvorum podepisujících zařízení registrovaných v multisig a kontrolovat údaje o transakcích (když už je musíte provést) by bylo dobrým pravidlem při použití multisig.
Při kontrole adres nebo detailů nastavení trezoru nekontrolujte pouze začátek a konec řetězce, protože útočník může mít podobně vypadající řetězec
Kontrola, zda je aplikace pro úschovu otevřeným zdrojem, a kontrola jejího kódu (pokud můžete) je pro některé také dobrý nápad. Podpora běžných standardů, jako jsou BSMS a PSBT, zajišťuje, že nastavení multisig nebo transakce lze přenést do jiných aplikací pro ověření.
Také se domnívám, že otestováním nastavení se nikdy nic nezkazí. Jakmile budete mít multisig připravený, zkopírujte nastavení na více koordinátorech. Přijměte malou částku v jedné aplikaci a část z ní odešlete z jiné. Po každém kroku zkontrolujte, zda se zůstatky náležitě projevily na všech koordinátorech.
Odkazy a další čtení:
- „10x bezpečnostní průvodce Bitcoinem“
- „Jak jsou téměř všechna osobní hardwarová nastavení multisig peněženek nezabezpečená“
Tento příspěvek napsal Anant Tapadia. Vyjádřené názory jsou výhradně jeho vlastní a nemusí nutně odrážet názory společnosti BTC Inc. nebo časopisu Bitcoin Magazine.