安全科普 · 09/24/2024

區塊鏈安全入門筆記(一) | 慢霧科普

文章來源:慢霧科技
繁體翻譯:hk007.net 連載1/10

隨著越來越的人參與到區塊鏈這個行業中來,為行業注入新活力的同時也由於相關知識的薄弱以及安全意識的匱乏,給了攻擊者更多的可乘之機。面對頻頻爆發的安全事件,慢霧特推出區塊鏈安全入門筆記系列,向大家介紹區塊鏈安全相關名詞,讓新手們更快適應區塊鏈危機四伏的安全攻防世界。

錢包 Wallet
錢包(Wallet)是一個管理私鑰的工具,數字貨幣錢包形式多樣,但它通常包含一個軟體客戶端,允許使用者透過錢包檢查、儲存、交易其持有的數字貨幣。它是進入區塊鏈世界的基礎設施和重要入口。

據 SlowMist Hacked 統計,僅 2018 年因“釣魚”、“第三方劫持”等原因所造成的錢包被黑損失總金額就達 69,160,985 美元,深究根本,除了部分錢包本身對攻擊防禦的不全面之外,最主要的是錢包持有者們的安全防範意識不強。

冷錢包 Cold Wallet
冷錢包(Cold Wallet)是一種脫離網路連線的離線錢包,將數字貨幣進行離線儲存的錢包。使用者在一臺離線的錢包上面生成數字貨幣地址和私鑰,再將其儲存起來。冷錢包是在不需要任何網路的情況下進行數字貨幣的儲存,因此駭客是很難進入錢包獲得私鑰的,但它也不是絕對安全的,隨機數不安全也會導致這個冷錢包不安全,此外硬體損壞、丟失也有可能造成數字貨幣的損失,因此需要做好金鑰的備份。

熱錢包 Hot Wallet
熱錢包(Hot Wallet)是一種需要網路連線的線上錢包,在使用上更加方便。但由於熱錢包一般需要線上使用,個人的電子裝置有可能因誤點釣魚網站被駭客盜取錢包檔案、捕獲錢包密碼或是破解加密私鑰,而部分中心化管理錢包也並非絕對安全。因此在使用中心化交易所或錢包時,最好在不同平臺設定不同密碼,且開啟二次認證,以確保自己的資產安全。

公鑰 Public Key
公鑰(Public Key)是和私鑰成對出現的,和私鑰一起組成一個金鑰對,儲存在錢包中。公鑰由私鑰生成,但是無法透過公鑰倒推得到私鑰。公鑰能夠透過一系列演算法運算得到錢包的地址,因此可以作為擁有這個錢包地址的憑證。

私鑰 Private Key
私鑰(Private Key)是一串由隨機演算法生成的資料,它可以透過非對稱加密演算法算出公鑰,公鑰可以再算出幣的地址。私鑰是非常重要的,作為密碼,除了地址的所有者之外,都被隱藏。區塊鏈資產實際在區塊鏈上,所有者實際只擁有私鑰,並透過私鑰對區塊鏈的資產擁有絕對控制權,因此,區塊鏈資產安全的核心問題在於私鑰的儲存,擁有者需做好安全保管。

和傳統的使用者名稱、密碼形式相比,使用公鑰和私鑰交易最大的優點在於提高了資料傳遞的安全性和完整性,因為兩者——對應的關係,使用者基本不用擔心資料在傳遞過程中被駭客中途擷取或修改的可能性。同時,也因為私鑰加密必須由它生成的公鑰解密,傳送者也不用擔心資料被他人偽造。

助記詞 Mnemonic
由於私鑰是一長串毫無意義的字元,比較難以記憶,因此出現了助記詞(Mnemonic)。助記詞是利用固定演算法,將私鑰轉換成十多個常見的英文單詞。可以簡單認為助記詞和私鑰功能是類似的,它只是作為區塊鏈數字錢包私鑰的友好格式。所以在此強調:助記詞同私鑰一樣重要!由於它的明文性,不建議它以電子方式儲存,而是抄寫在物理介質上保管好,它和 Keystore 作為雙重備份互為補充。

Keystore
Keystore 主要在以太坊錢包 App 中比較常見(比特幣類似以太坊 Keystore 機制的是:BIP38),是把私鑰透過錢包密碼再加密得來的,與助記詞不同,一般可儲存為文字或 JSON 格式儲存。換句話說,Keystore 需要用錢包密碼解密後才等同於私鑰。因此,Keystore 需要配合錢包密碼來使用,才能匯入錢包。當駭客盜取 Keystore 後,在沒有密碼情況下, 有可能透過暴力破解 Keystore 密碼解開 Keystore,所以建議使用者在設定密碼時稍微複雜些,比如帶上特殊字元,至少 8 位以上,並安全儲存。

由於區塊鏈技術的加持使得區塊鏈數字錢包安全係數高於其他的數字錢包,其中最為關鍵的就是兩點:防盜和防丟。相比於盜幣事件原因的多樣化,造成丟幣事件發生的原因主要有五個型別:沒有備份、備份遺失、忘記密碼、備份錯誤以及裝置丟失或損壞。因此,我們在備份一個區塊鏈數字錢包的時候,對私鑰、助記詞、Keystore 一定要進行多重、多次備份,把丟幣的風險扼殺在搖籃之中。最後為大家提供一份來自 imToken 總結的錢包安全“十不原則”:

不使用未備份的錢包
不使用郵件傳輸或儲存私鑰
不使用微信收藏或雲備份儲存私鑰
不要截圖或拍照儲存私鑰
不使用微信、QQ 傳輸私鑰
不要將私鑰告訴身邊的人
不要將私鑰傳送到群裡
不使用第三方提供的未知來源錢包應用
不使用他人提供的 Apple ID
不要將私鑰匯入未知的第三方網站