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 的安全性提高到一個新的水平。
Artifactory 如何使用 SHA-256 進行安全存儲?