檢查下載的JUNOS與ScreenOS檔案的Checksum來判斷檔案是否遭到竄改或損毀

檢查下載的JUNOS與ScreenOS檔案的Checksum來判斷檔案是否遭到竄改或損毀

使用MD5 SHA1 校驗碼,來驗證檔案是否有損毀或遭到竄改。
校驗和(checksum,或譯為驗證碼,或稱為 hash code)是用來驗證檔案正確性的一種機制,它的做法是在檔案要經過網路傳輸、備份儲存等過程之前,利用一些特別設計的演算法依據檔案的內容算出一組驗證專用的編碼,這種校驗碼有一個特性就是當檔案發生微小的變動時,產生出來的校驗和值會完全不同,我們可以在檔案經過網路傳輸或備份回復之後,重新計算一次校驗和,在跟之前的校驗和做比較,如果校驗和值完全一致則代表檔案的內容並沒有被竄改,而我們可以靠著這樣的檢查來確保下載的檔案並沒有遭到竄改或損毀。
MD5
MD5 Checksum可以用來檢查檔案的完整性和安全性,不過,這個安全性的部份似乎已經沒用了,主要,還是用來檢查檔案的完整性哩 !
MD5 校驗碼是依據檔案內容所產生的一個編碼,而其長度固定都是 128 位元,通常兩個不同的檔案很難產生相同的 MD5 校驗碼,所以很適合用來檢查檔案的正確性,屬於最普遍被使用的校驗碼之一,例如各個 Linux 網站提供給使用者下載的 ISO 映射檔一定會附帶 MD5 的校驗碼。
SHA1
SHA1 校驗碼與 MD5 非常類似,不過由於後來 MD5 有一些碰撞(collision)問題,所以後來許多人會改用 SHA1 這個 160 位元的校驗碼,但對於資料的正確性驗證上,不管是使用 MD5 或 SHA1 都可以


Windows 7等系統上可以使用 HashMyFiles 來幫我們檢測檔案的MD5SHA1 SHA256等校驗和值。




HashMyFiles 載點如下:


【檔案名稱】:MD5 Checksum Tool Portable v3.0-幫您產生檔案的 MD5 hash
【檔案大小】:556 KB(解壓後)
【檔案格式】:EXE
【作業系統】:Windows All
MD5 Checksum Tool 應用程式設計用來幫使用者產生任何檔案或字串的檔案總和檢查碼(MD5/SHA Hash)。它也可以用來檢查可執行檔是否正當,換句話說,可檢查是否為官方作者所正式發佈的檔案。支援的 Hash 值:MD5、SHA1,SHA256,SHA384 和 SHA512。
   

在這裡我們就要說明下為什麼我們要特別介紹 MD5 Checksum 要如何使用?
目的是要教大家如何來檢查自己所下載的JUNOS韌體更新檔案是否為原廠所發佈的。
這是怕您去使用到毀損或是被駭客竄改而去使用到有問題的檔案。
我們可以在以下連結取得原廠發佈的JUNOS檔案支MD5 Checksum等資料。

SRX100 - Download Software -Juniper Networks

SRX210 - Download Software -Juniper Networks

SSG5 and SSG20 - Download Software -Juniper Networks


下圖為檢查範例:







我們也可以利用Juniper SRX設備來計算MD5校驗和(MD5 checksum),只是您必須人工比對計算出來的校驗和的編碼,您可以參考下列的實作示範來進行:
Shell Mode :
root@srx220a% md5 /var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz
MD5 (/var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz) = 6d31741b8c4ef842504f9f1fd
872aabe
root@srx220a% sha1 /var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz
SHA1 (/var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz) = 8561310c5d1c12477c42cd2e
549676d9ab4ab604
root@srx220a% sha256 /var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz
SHA256 (/var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz) = ece91e0bf458e9d1673efc
a39a44647f54922a9af678a91785346bec6151b0d0
root@srx220a%

Operational Mode :
root@srx220a> file checksum ?
Possible completions:
  md5                  Calculate MD5 checksum of a file
  sha-256              Calculate SHA-256 checksum of a file
  sha1                 Calculate SHA1 checksum of a file
root@srx220a> file checksum md5 /var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz
MD5 (/var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz) = 6d31741b8c4ef842504f9f1fd
872aabe

root@srx220a> file checksum sha-256 /var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz
SHA256 (/var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz) = ece91e0bf458e9d1673efc
a39a44647f54922a9af678a91785346bec6151b0d0

root@srx220a> file checksum sha1 /var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz
SHA1 (/var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz) = 8561310c5d1c12477c42cd2e
549676d9ab4ab604

root@srx220a>

Config Mode :
root@srx220a> run file checksum md5 /var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz
MD5 (/var/tmp/junos-srxsme-12.1X46-D81-domestic.tgz) = 6d31741b8c4ef842504f9f1fd
872aabe


下圖為 junos-srxsme-12.1X46-D81-domestic.tgz 檔案的原廠校驗碼。






關於Juniper SSG或是Netscreen系列產品,您需要檢查的校驗碼除了ScreenOS之外,還有Image Key的校驗碼您也需要檢查,如下所示:
New Image Key (download)
Note: Image is in .zip compressed format and requires decompression for use and image integrity check
$ md5sum imagekey.cer
99def4b80b75ed65aad52a5fc3ed1131  imagekey.cer

$ sha1sum imagekey.cer
06c3c15b88de548b18814d4389d18a20f65a5845  imagekey.cer

$ sha256sum imagekey.cer
02b107f0679bc5d5aa0ab49be52043bb31f2a010a980573c53dc3fc815e1d7f3  imagekey.cer

Old Image Key (
download)
Note: Image is in .zip compressed format and requires decompression for use and image integrity check
$ md5sum imagekey.cer
ccfcd027e20c9cc38b5d8dac17c7199f  imagekey.cer

$ sha1sum imagekey.cer
2af0d97abbb58821650445cd517050fd0cfa2684  imagekey.cer

$ sha256sum imagekey.cer
bab2f722cbba13a73d9af4c17af9c34d62ac71b4c9e8bbb9bac5df1fdceb0261  imagekey.cer


關於詳細的內容請參考下列之網路連結:



下圖為 ssg5ssg20.6.3.0r26.zip 檔案的原廠校驗碼。






這個網誌中的熱門文章

如何測試網路連線--網路斷線了怎麼辦?

筆記電腦刷BIOS失敗無法開機—用CH341A編程器重刷BIOS教學!

查理王的電腦部落格-首頁