假設我想取得 CentOS 的 ISO 映像。如果我不直接從鏡像伺服器下載 ISO 映像,而是從同一台伺服器下載 .torrent 文件,然後使用 BitTorrent 用戶端,是否有可能故意損壞映像?
答案1
只要您從可信任來源取得 torrent 文件,就不可能損壞圖像。
torrent 檔案包含足夠的資訊來安全地驗證最終映像的每個區塊。當您的用戶端收到圖像檔案的每個區塊時,它會根據 torrent 檔案中的雜湊集(或 Merkle 樹)對其進行驗證。無效的區塊將被丟棄並從不同的來源再次取得。繼續向您發送無效資料的來源將被列入黑名單。
然而,透過建立大量為損壞的區塊提供服務的虛假客戶端,可能會使某人很難下載 torrent 檔案。客戶端將丟棄每個損壞的區塊,並儘快將偽造的客戶端列入黑名單。但如果攻擊者意志堅定,這仍然會導致下載 torrent 檔案的速度變得不切實際。
請參閱維基百科文章種子文件,特別是pieces
或root hash
鍵。
答案2
torrent的優點是512位元組的區塊可能會被損壞,但由於它是來自不同來源的來源,一個壞的512位元組區塊不會導致整個600MB的檔案被損壞。相反,錯誤的 512 位元組的錯誤 MD5 和會被丟棄,並源自備用路由對等點。這使得 torrent 的固有優勢能夠準確地下載大型檔案。
這意味著,來自真實來源 torrent 伺服器清單(尤其是透過 HTTPS)的信任值始終為 1:1。
當然,您必須始終檢查 MD5 或 SHA1(或其他雜湊值)以驗證下載檔案的真實準確性。
根據 Tails Linux (tails.boum.org) 的建議,您應該(如果絕對偏執)重複下載相同的文件,以確保您能夠產生相同的 MD5/SHA1 哈希值,以信任您下載該文件的伺服器洪流動作文件。