多簽名錢包什麼時候要更換密鑰?

作者:Tyler Campbell

來源:https://www.unchained.com/blog/replace-key-multisig-wallet

使用多簽名錢包並自己持有密鑰來保管比特幣,可以幫助消除單點故障:即使組成你的錢包的其中一個密鑰丟失了、毀壞了、失盜了,你這邊也有容錯機制,你依然能花費自己的比特幣。然而,一旦發生了這種情況,能夠 “花費” 自己的比特幣是一回事,但保持這個錢包的 健康 又是另一回事。如果你的多簽名錢包的其中一個密鑰因為某個原因而不安全了,你應該儘快替換掉這個密鑰。反之,嘗試替換一個 沒有必要 替換的密鑰則可能帶來不必要的風險。

如何替換多簽名錢包中的密鑰?

在我們考慮什麼時候有必要替換密鑰時,先看看如何替換密鑰,也是有好處的。

生成一個新密鑰 —— 以及一個新保險櫃

把你的多簽名錢包想象成一個電子保險櫃,而你持有這個保險櫃的鑰匙。我們假設使用 2-of-3 多簽名錢包,類比過來,就是你的保險櫃有兩個鑰匙孔、三把兼容的鑰匙。這三把鑰匙中的任意兩個,都可以打開這個保險櫃,然後你就可以取出其中的比特幣。

multisig_vault

如果某人偷走了你的其中一個鑰匙,或者你弄丟了它,那麼你就會想替換掉這個鑰匙,這樣事情才不會失控。

如果你弄丟了一個實體保險櫃的鑰匙,或者你想換一把鑰匙,隨便買一把新鑰匙是不行的,它跟你的保險櫃又對不上!如果隨便一把鑰匙都能打開你的鎖,那你這個鎖本身就沒有任何意義,不是嗎。

所以,必要的步驟是,你得用剩餘的兩把鑰匙先打開這個舊的保險櫃、把裡面的東西轉移到一個新的保險櫃才行,並且,要確保這個新的保險櫃能夠用你原先的兩個沒有暴露的鑰匙以及一個全新的鑰匙打開。這就是多簽名錢包密鑰替換背後的原理。

如何創建一個新的多簽名錢包裝置

我們設想一種最常見的密鑰替換場景:一個 2-of-3 的多簽名錢包,組成它的密鑰編號為【1】、【2】、【3】;現在編號為【3】的密鑰需要替換,而我們生成了一個新的密鑰,編號為【4】;現在我們的目標是將密鑰【3】替換成密鑰【4】。

為了完全替換密鑰【3】,我們需要先使用密鑰【1】、【2】、【4】創建一個新的多簽名錢包。一旦這個新的多簽名錢包構造出來了,資金就可以從舊錢包(使用來自密鑰【1】和【2】的簽名)轉移到新的多簽名錢包中。換句話說,你將資金從舊的、已經不夠安全的保險櫃轉移到新的、足夠安全的保險櫃。

multisig-key-replacement-address

記住:在你給一個多簽名錢包裝置替換其中一個密鑰時,你是在(使用一個新的密鑰)創建一個全新的錢包!這意味著,你的舊的多簽名錢包中的任何地址,都跟這個新的密鑰無關,也並不使用這個新密鑰來保護。

出於這個原因(以及其它原因),你最好:

  1. 僅在真的有必要的時候才替換密鑰;這個 “有必要” 的時機,我們會在後文詳述。
  2. 如果你替換了密鑰,務必從舊錢包中轉出所有資金到新錢包。
  3. 記得在交易所和其它平臺更新白名單地址。

什麼時候需要替換密鑰?

如果你認為自己已經陷入了可能需要替換密鑰的情形,請先深呼吸。多簽名錢包的好處之一就是它的容錯屬性。即使組成你的錢包的其中一個密鑰已經不安全了,也不是世界末日。

when_do_you_need_a_key_replacement

多簽名錢包裝置中的每一個密鑰都有兩個組成部分:一個硬件簽名其,以及一個種子詞備份。在我們的 2-of-3 多簽名裝置案例中,這意味著總共有 6 個敏感物件 —— 3 個硬件簽名器,以及 3 個種子詞備份 —— 需要確保安全;此外,還有一個描述錢包配置的文件。如果是聯合保管的 2-of-3 多簽名錢包,則總共有 4 個敏感物件 —— 2 個硬件簽名器和 2 個種子詞備份 —— 需要確保安全,外加一個錢包配置文件(第三個密鑰由託管夥伴持有)。

種子詞備份是每個密鑰最敏感的組成部分,因為它是你的密鑰的可直接閱讀的表示形式,它能生成你用來 花費/保管 你的資金的所有私鑰。而硬件簽名器,雖然也存儲著種子詞並讓你可以用來簽名比特幣交易,但它通常帶有 PIN 碼作為額外的物理安全層。

我們來看你的密鑰失去安全性的最常見情形。

暴露的種子詞

一個 “暴露的種子詞” 就意味著這個種子詞可能已經被(意料之外的)第三方看到了。比如,假如你用一個電子文件來存儲種子詞,然後用某種互聯網通訊工具來傳輸這個文件;又或者你把種子詞拍成了照片,然後用互聯網來傳輸這張照片;或者,別人直接拿到了你的種子詞實體備份;這都意味著這個種子詞成了一個暴露的種子詞。

電子暴露風險

絕大部分硬件簽名器都會在生成種子詞時鼓勵你保存一個實體備份,但新用戶不理會這一建議、選擇用電子設備來保存種子詞的情形,是非常常見的。

硬件簽名器被專門設計為在一個安全的環境下生成種子詞,而與更不安全的、帶有互聯網連接的設備相互隔絕。生成種子詞之後,立即在另一個非專門設計的設備中存儲它,會使這個種子詞暴露在電子存儲媒介的可能故障以及惡意軟件(比如鍵盤監控器)的風險之下。更糟糕的是,你可能要在已經存入大額資金(到該密鑰所生成的錢包)之後,才會發現它已經暴露了。

如果你使用了電子存儲媒介來保存你的種子詞,你應該假定這個密鑰已經暴露了,所以,你需要替換掉這個密鑰。

弄丟種子詞

弄丟種子詞是說,要麼你沒法確定它的下落,要麼,你已經無法使用它了。也許你檢查了一遍家裡的保險箱,發現種子詞沒在裡面;也許你在旅行中弄丟了一些東西。

不管是哪一種情形,你都要假設這個種子詞已經暴露了,所以需要替換掉這個密鑰。

種子詞被盜

幸運的是,如果你使用了一個合適的多簽名與之,耽美單個種子詞被盜不會導致資金損失。當然,被盜就必須被認定為已經丟失和暴露了。

需要替換掉這個密鑰,因為竊賊只需再偷盜你的一個密鑰,就能拿到你的比特幣(假設他們也拿到了你的多簽名錢包密鑰配置文件,或者在聯合託管商處登錄的證書)。

硬件簽名器被劫持

類似於種子詞暴露,如果你的硬件簽名器丟失或失盜,你也必須在多簽名錢包中替換掉它所存儲的那個密鑰。即使這個簽名器帶有 PIN 碼,可以阻止別人立即獲得其中的密鑰,你也應該假設這個密鑰已經暴露了,尤其是,已經有案例表明,某些設備允許攻擊者完全繞過 PIN 碼防護。

丟失硬件簽名器

如果你無法確定你的設備的下落,你就無法知道其中的種子詞是否已經暴露,或者未來會不會暴露。

這時候,你應該假設其中的種子詞已經暴露,所以你需要為你的多簽名錢包裝置替換掉這個密鑰。

硬件簽名器被盜

如果你的設備在你的保管位置不翼而飛,被你在定期檢查中發現(我們一直建議你每個季度檢查一詞);或者,在你旅行期間從你的私人物品中消失,你的硬件簽名器都有可能被盜了。

這時候,你應該假設其中的種子詞已經暴露,所以你需要為你的多簽名錢包裝置替換掉這個密鑰。

何時 不需要 替換密鑰?

對於一個密鑰來說,實體的種子詞備份是最敏感的東西,如果你有理由認為自己的種子詞已經丟失或暴露,那麼你需要替換掉這個密鑰。但是,通常,也有一些情形,是你無需替換密鑰的。實際上,在這些情形中,替換密鑰可能比不替換的風險更大。

在不必要時替換密鑰所帶來的部分風險和代價包括:

  • 交易手續費:替換密鑰意味著你要把所有資金從舊的多簽名錢包的地址中移動到新的多簽名錢包的地址中,這需要讓區塊鏈網絡確認你的交易,因此要支付區塊確認手續費。
  • 移動大額的比特幣:在轉移比特幣時總有出錯的可能,而換用新錢包可能需要移動大額的比特幣。
  • 錢包配置文件:你的多簽名錢包配置文件也應該保存在安全的地方,而替換密鑰意味著也要替換它(即訪問這個安全位置)。
  • 白名單地址:任何你可能在某個交易所或其它服務中使用的白名單或者 “固定” 地址(屬於你的舊錢包),都必須更新成來自新錢包的地址。

出於這些原因,你應該要理解,什麼時候是不必替換密鑰的。所有這些情形的共性在於,它們只跟你的簽名器有關,而不影響你的種子詞備份。

硬件或軟件故障

如果你的硬件簽名器完全損壞了(比如遇上了火災或者水災),或者因為不知道確定原因的軟件或硬件故障而變成了磚頭(例如在固件升級中出錯,或者因為 USB 接口故障,或者是顯示屏無法顯示),你都可以將種子詞導入一個新設備。只要你的備份還是安全的,就沒有必要替換密鑰。

如果你只是簽名器設備損壞,種子詞備份還是完好保管的、沒有暴露,那麼你可以安全地假設自己的種子詞沒有暴露、硬件簽名器也沒有遭到劫持,所以不需要在多簽名錢包中替換這個密鑰。

弄丟或忘記 PIN 碼

類似地,如果你只是忘記了在一個設備上設置好的 PIN 碼,你可以將這個設備恢復為出廠狀態,然後重新導入種子詞;或者,你也可以買一臺新設備,然後導入種子詞。(譯者注:注意,這裡的兩種做法的安全性並不等同,如果你是換用新的硬件簽名器,應確保清空了舊的簽名器(即復原為出廠狀態))。

只要你的種子詞備份還是完好保管的、沒有暴露,那麼你可以安全地假設自己的種子詞沒有暴露、硬件簽名器也沒有遭到劫持,所以不需要在多簽名錢包中替換這個密鑰。

PIN 碼暴露

如果你的 PIN 碼暴露了,但沒有人拿到了你的簽名器,那麼你不必認為這臺設備已經丟失或失盜。(譯者注:但應該更新 PIN 碼,以防止未來有人拿到這個簽名器,使你的種子詞暴露。)

你可以安全地假設種子詞和簽名器都沒有暴露,所以不需要替換這個密鑰。

更新設備

另一種常見的、你不需要替換密鑰情形是,換用新的硬件簽名器。BIP39 種子詞標準在所有著名的比特幣硬件簽名器上都是受到支持的,所以你可以導入給定密鑰的種子詞到新設備中。最好的習慣是通過在新設備來確認你的多簽名錢包地址、執行一筆小額花費,來確保密鑰被正確導入了。(譯者注:確保正確導入種子詞後,舊的簽名器應該清空,否則你將增加多一個敏感物件。)

只要你的種子詞備份還是完好保管的、沒有暴露,那麼你不需要在多簽名錢包中替換這個密鑰。

如何替換密鑰?

如果因為上面解釋的原因,你的自主保管的多簽名裝置需要替換一個密鑰,有一套標準的流程可以遵循,無論你使用什麼比特幣錢包軟件。我們將 2-of-3 多簽名錢包作為案例,你需要遵循以下通用的步驟:

  1. 在一個新的硬件簽名器上生成一個新的替換密鑰
  2. 妥當地備份這個新的種子詞(到紙上或者金屬板上)
  3. (在錢包軟件中)使用這個新密鑰以及原來的兩個沒有暴露的密鑰創建一個新的多簽名錢包
  4. 執行測試:向該多簽名錢包存入小額資金、花費這些資金,以確認這個多簽名錢包已經構建好了
  5. 使用原來的兩個沒有暴露的密鑰,將資金從舊錢包轉出、發送到新的多簽名錢包的地址
  6. 確保從錢包軟件中下載了這個新的多簽名錢包的錢包配置信息並備份;最後,更新你在交易所或其它服務商用到舊錢包地址的白名單

完成上述步驟之後,兩個未暴露的密鑰以及那個已經暴露的密鑰就只控制著已經沒有資金的舊錢包;而這兩個未暴露的密鑰以及新生成的密鑰控制著新錢包。

如何避免在未來需要更換密鑰?

最好的情形當然是,總是確保不需要用上密鑰替換方法。你的安全模型的具體情形取決於許多變量和取捨,但一般來說,你應該保證你的種子詞備份被安全地保管在分散的位置,並且只有你知道的、信任的人能觸及你的簽名器設備。

若要學習如何保管種子詞備份和硬件簽名器,請看我們的《種子詞保管終極指南》、《紙張、金屬板和其它種子詞保管方法指南》。如果你是 Unchained 的客戶,請看我們的操作安全性指南中的種子詞和簽名器保管建議

(完)

相关赛道:
來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論