Artifactory 如何使用 SHA-256 進行安全存儲?




Artifactory 從一開始的設計就獨特,以最佳的方式管理二進制文件,並有效支持任何格式的軟件包。基於 Checksum 的存儲是實現這種"靈活性"的關鍵特性之一。儘管所有工件、文件都是在 Artifactory 支持的二進制存儲的幾個選項中進行存儲和管理的,但文件的元數據(包括其校驗和)仍保存在Artifactory的數據庫中。Artifactory 使用工件的 SHA1 值作爲二進制存儲中文件物理位置的映射。這使得文件(如複製,移動,刪除等)的許多操作都可以作爲數據庫事務執行,從而使其具有更高的性能。同時這些校驗也起到了另一個重要的作用。它們是驗證工件下載後的完整性的一種方式。


但是最近,Google 宣佈了第一次成功的 SHA1 衝突(也就是說,他們設法用相同的 SHA1 摘要創建兩個不同的文件)。但是不用擔心,Artifactory 存儲庫是安全的。新發布的 JFrog Artifactory 5.5本身支持 SHA-256 校驗和,使存儲庫更加安全。


對 SHA-256 的原生支持爲二進制工件提供了一個更安全的環境,並支持需要更強大的 SHA-256 驗證文件完整性的工具。隨着密碼技術的進步和計算能力的提高,我們認識到需要支持 SHA-256 爲我們的客戶工作如此難以生產的二進制文件提供更安全的環境。



SHA1 有什麼缺點?



SHA-1 是通過獲取文件的內容並計算160位散列值(基本上是一串數字和字母),作爲該文件的加密指紋。



隨着密碼學研究和計算能力的不斷提高,谷歌和阿姆斯特丹 CWI 研究所的研究人員設法用相同的 SHA1 哈希創建了2個文件 - 這就是我們所說的"碰撞***"。



衝突***意味着一個文件可以冒充另一個開放文件,不同的安全漏洞,如僞造數字簽名文件或 HTTPS 證書。在 Artifactory 中,一個工件可以在理論上冒充另一個,但這僅僅是在下載一個工件的情況下。



鍵入 SHA-256



SHA-256 散列比 SHA1 強得多,消除了碰撞風險。



將工件隔離起來



爲了降低 SHA1 碰撞***的風險,可以遷移到 SHA-256,Artifactory 5.5允許執行這樣的操作。升級到5.5版本後,可以遷移數據庫以使用 SHA-256 校驗和,從而使存儲庫更安全,因爲沒有人能夠模擬另外一個相同的工件。


如果你正在使用 Artifactory OSS 或 Artifactory Pro,則可以升級到最新版本。 


如果您正在使用 Artifactory Enterprise HA 羣集,則此更復雜的安裝程序會有特殊的升級說明。確保遵守這些說明仔細。


但是請注意,升級到5.5意味着 Artifactory 將能夠計算 SHA-256 校驗和,實際上,任何上傳到存儲庫的新工件都將自動計算其 SHA-256 校驗和。要計算所有現有工件的 SHA-256 校驗和,必須要遷移數據庫,但不用擔心,Artifactory 官方提供瞭如何執行此操作的說明。



展望未來



Artifactory 增加對 SHA-256 的支持是一個很重要的步驟,因爲即使在 Google 和公司破解了 SHA1 之後,Artifactory 仍然能夠100%確保下載的工件確實是安全的,但這只是第一步。未來,Artifactory 的二進制存儲將遷移到基於 SHA2 的環境中,將 Artifactory 的安全性提高到一個新的水平。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章