當你作為守方,你要考慮的是攻方會如何令你損失資產。
當你思考攻方如何令守方損失時,最好的方法就是考慮守方如何保護資產。
(這就是「道高一尺,魔高一丈」)
發問:一般人(守方)是如何建立 Address?
答案:先用 Wallet 建立助記詞,再由 Wallet 轉換成 Address。
有漏洞嗎?有。
如果守方用的助記詞不多於21字,能提供的組合數量會少於 Private key。(即使是最熱門的Metamask
wallet,早期都只是預設用12字助記詞。)
一般人認為每條助記詞只能產生一條地址。對有技術的攻方而言,這代表大多數人不懂得改變 Derivation Path。
結論:能大幅減少需要破解的組合,最終能破解的 Address 數量亦不會減少太多。
因此作為守方,我們最起碼應該使用不少於24字的助記詞。
以下是一些支援守方保護區塊鏈資產的建議及其原因。
基礎 | |
---|---|
建議 | 原因 |
必須備份助記詞。 | 如果你沒有備份助記詞,一旦你的 wallet 故障就會失去其控制權及裏面的區塊鏈資產。 |
助記詞之載體不應連上網絡。 | 一般人都是用明文備份助記詞,如果該載體連上網絡,而且被駭客入侵,攻擊者就有能力輕易盜取你的區塊鏈資產。 |
新手 | |
---|---|
建議 | 原因 |
承上所有。 | |
使用最少24字的助記詞。 | Private key 能夠提供 256-bit 的安全性,如果要以助記詞提供同級之安全性就需要使用24字助記詞。 |
使用硬件錢包。 | 相較軟件錢包,硬件錢包之助記詞在任何時間都不連網,大大減低區塊鏈資產被盜的機會。 |
中級 | |
---|---|
建議 | 原因 |
承上所有。 | |
備份 Derivation Path。 | 一般加密貨幣用戶都不知道單憑助記詞並不能做到備份 Wallet 之效果,到現在都未有災情純粹是因為大部分 Wallet 都使用預設值,但預設值會因應情況改變。 |
不要將所有區塊鏈資產都放到同一 Address。 | 任何 Address 都可能已被破解,也可能在任何時候被破解。這樣做能夠減少每次不幸被破解時的損失。 |
使用多簽錢包。 | EVM鏈的多簽錢包屬於智能合約。如果攻擊者破解出的 Address 屬於智能合約,就無法控制該 Wallet。 |
多簽錢包的最少有一個簽名者屬於硬件錢包。 | 雖然多簽錢包比較安全,但同時亦比較麻煩。保留最少一個簽名者屬硬件錢包是為了在安全和方便取得平衡。 |
高手 | |
---|---|
建議 | 原因 |
承上所有。 | |
多簽錢包的最少一個簽名者之任何資訊皆不公開,包括助記詞、Private key 及 Address 都不可公開,不能用作收發加密貨幣,亦不能用作任何鏈上操作。但可以用作簽名。 | 任何曾經收發區塊鏈資產的 Address 都可能成為攻擊者的目標,因此請不要暴露所有 Address 到區塊鏈。 |
適用於Bitcoin,不適用於EVM 每條 Address 都只使用一次,只要該 Address 曾經發起轉帳或任何鏈上操作就必須廢棄。 |
基於 Bitcoin 的機制,任何 Address 發起鏈上操作時都會暴露其 Public key,暴露的 Public key 可以縮減攻擊者破解該 Address 之時間。 |
超高手 | |
---|---|
建議 | 原因 |
承上所有。 | |
不要使用助記詞,改用 Private key。 | Wallet 破解當中有2大流派:助記詞破解及 Private key 破解。如果攻擊者是破解助記詞就會有部份 Private key 位於盲區而避過一劫。 |