你會怎麼做?足夠使用校驗和
您發送其中包含許多lines.Every行的文件是從數據庫中的記錄。
所有文件被壓縮到一個文件中。用這個文件發送一個校驗和足以確保另一端收到所有記錄並且沒有消失?如果文件中的任何內容,格式有誤或缺失
你會怎麼做?足夠使用校驗和
您發送其中包含許多lines.Every行的文件是從數據庫中的記錄。
所有文件被壓縮到一個文件中。用這個文件發送一個校驗和足以確保另一端收到所有記錄並且沒有消失?如果文件中的任何內容,格式有誤或缺失
校驗會發生變化,因此通過比較校驗,收件人可以確信收到的文件充分且沒有損壞。畢竟,這是校驗和的全部目的。
如果您擔心攻擊者,我不會發送校驗和與文件,因爲攻擊者可以攔截文件和校驗和,更改文件,修改校驗和以允許修改顯示爲有效,併發送該文件在途中。
像其他海報說,然而,主要的封裝格式包含的內容驗證內置的校驗和。
如果壓縮了,你只發送一個文件。如果壓縮文件未正確接收,您將無法打開它。內部壓縮檔案管理自己的校驗和以確保數據的完整性。
有通常在大多數的包裝格式(的gzip,ZIP,...)內置的校驗和,因此沒有必要添加一個,如果你只是想檢查,如果該文件還沒有被物理傳輸過程中被損壞。
就像我對Indeera的回答所說的那樣,可以使用校驗和來持續驗證內容,這爲包裝格式產生的校驗和提供了額外的好處。 – 2009-08-11 13:47:00
確實如此。我沒有考慮安全方面。但是,如果要通過校驗和來強制執行文件完整性,則需要爲它們提供可靠的來源。據我所知,校驗和用於驗證文件是否來自真正的源文件,通常通過檢查文件與從合法源獲得的校驗和。 如果您發送校驗和以及文件,會阻止攻擊者解壓縮文件,修改它們,重新計算它們的校驗和並將所有壓縮回來?除非你使用一個模糊的校驗和算法當然...... – christopheml 2009-08-11 13:53:52
這取決於你試圖防止什麼樣的「消失」。如果它只是隨機錯誤,那麼校驗和就沒有問題。另一方面,如果它是一個惡意的攻擊者刻意消失的記錄,那麼校驗和不足,你需要一個MAC。
校驗和仍然可以防止惡意攻擊者刪除記錄,因爲對zip的任何修改都會改變校驗和。 – 2009-08-11 13:47:44
校驗和的設計目的並不在於防止惡意代理 - 攻擊者修改剩餘記錄中的一個以便校驗和檢出 - 或者簡單地將其替換(因爲它是通過同一通道傳輸的),這是微不足道的。 – caf 2009-08-11 13:53:17
但是,校驗和可以隨時使用。我可以解壓縮,更改內容,並使用相同的壓縮算法重新壓縮,文件就可以。校驗和會讓我知道事情已經改變。它提供了另一層驗證。 – 2009-08-11 13:45:13
假設'中間人'也沒有攔截校驗和並更新它以反映這些變化。 – Indy9000 2009-08-11 13:47:52
我應該更新我的帖子。通常,您不會將校驗和與文件一起發送,而是使其可用。 – 2009-08-11 13:48:55