如何驗證下載的Ubuntu、BitcoinQT、Armory、Electrum等文件沒有被篡改?
創建安全離線錢包時,第一步是下載一些軟體或作業系統(如Ubunutu)來創建錢包。
如何驗證您正在下載的軟體沒有被篡改?
某些下載在下載頁面上有文件的 SHA。但黑客可以更改下載頁面上的 SHA。那麼你怎麼知道文件沒有被污染,而 SHA 是被污染文件的正確 SHA 呢?
例如,Armory 的下載頁麵包含安裝程序文件和一些文件的 SHA。
你將如何驗證 Ubuntu 的下載沒有被污染?
這完全取決於您的作業系統的安全機制。在 Ubuntu 上,對包進行簽名,安裝程序會檢查簽名。因此,中間人或流氓鏡像站點無法修改我安裝的 Electrum 副本。
您機器上比特幣的安全性不僅僅取決於您的比特幣應用程序。如果作業系統本身受到威脅,它可能會竊取您的比特幣(使用鍵盤記錄器查找可能的密碼),因此請注意使用安全的作業系統,並進行安全更新等。
(我還不能對其他答案發表評論,因為我沒有 50 個代表,但是認為 MITM 無法更改您認為您正在看到的受 HTTPS 保護的 URL 上的內容是完全錯誤的……MITM可能在中間的任何地方,包括在您的線上電腦和瀏覽器之間,讓您相信您看到的網站是正確的,讓您相信 HTTPS 簽名是合法的。這種由 rootkit 製造的攻擊正是一種人們確實使用完全離線的電腦和 Live CD/DVD 來創建冷錢包的原因)
對於 Linux,第一件事是 d/l 一個您將要刻錄的*.iso ,然後,一旦刻錄,通過從離線電腦檢查整個 DVD 來驗證您的.iso 。*
接下來的內容可能看起來很偏執,但實際上並非如此:這只是良好的安全實踐,只需幾分鐘即可正確完成……
不要只在下載後驗證*.iso的 SHA1 :它可能在您完成下載/校驗它的那一刻和刻錄期間被後門。或者您用來驗證 SHA1 / 刻錄它的電腦可能*會受到損害,從而給您返回虛假值。
理想情況下,您會:
- 查找要下載的文件(例如 ubuntu-13.10-desktop-amd64.iso )
- 寫下文件的確切文件大小(稍後將需要),在這種情況下:925 892 608 字節
- 將您的*.iso*刻錄到 DVD
現在不要錯誤地使用 DVD 的自我驗證程序,一旦您啟動它。如果它是後門的,它會告訴你一切都很好。
找到您下載的*.iso*文件的官方 SHA1 總和。這些也可能受到損害,因此您可能想通過電話給您的家人或朋友打電話,並要求他們訪問包含雜湊值的 URL,或者您可能想訪問公共電腦或工作中的電腦:任何地方與您下載 DVD 的地方不同。
現在從離線電腦(但不是從您剛刻錄的 DVD 啟動時),執行以下操作來驗證您的 DVD:
</dev/sr0 head -c "925892608" | sha1sum
您不能只使用*“cat /dev/sr0 | sha1sum”:由於 DVD 上的最後一個塊具有固定大小,因此無法正常工作。您必須*輸入準確的字節數。
這需要一些時間(30 秒左右,取決於您的硬體)。
請注意該命令中的前導“<”。
檢查您的 SHA1 是否匹配。
如果匹配,那麼您很可能擁有正式版本。這並不能證明官方發布本身沒有後門,或者您的 CPU 的rdrand函式沒有硬體後門,但這是一個好的開始。
這就是我驗證我的 Linux Live DVD 的方式。僅查看帶有 SHA1 雜湊的 URL 是不夠的。如果您面臨 MITM,那麼您的 DVD 將被安裝後門,並且 SHA1 雜湊值也將被偽造。
這就是為什麼你使用另一個渠道來寫下 SHA1:你要麼在一天/一周的早些時候/晚些時候寫它,當你在一個完全不同的地方,使用不同的電腦……或者你打電話給遠離你的地方的人並讓他檢查SHA1。
如果您碰巧信任 Ubuntu 的 .gpg 密鑰,您可以使用它們來驗證雜湊值,但如果您面臨 MITM,攻擊者也可能會向您提供假的 .gpg 密鑰。