Sigstore 密碼驗證系統公佈

Google 宣布形成 Sigstore 專案元件的第一個穩定版本,據稱適合建立工作實作。 Sigstore 開發使用數位簽章進行軟體驗證的工具和服務,並維護確認更改真實性的公開日誌(透明日誌)。該專案是在非營利組織 Linux 基金會的支持下由 Google、Red Hat、Cisco、vmWare、GitHub 和 HP Enterprise 開發的,OpenSSF(開源安全基金會)組織和普渡大學也參與其中。

Sigstore 可以被認為是 Let's Encrypt for code 的類似物,提供用於數位簽章代碼的憑證和用於自動驗證的工具。借助 Sigstore,開發人員可以對與應用程式相關的工件進行數位簽名,例如發布檔案、容器映像、清單和可執行檔。簽名資料反映在防篡改的公共日誌中,可用於驗證和稽核。

Sigstore 使用短暫的臨時金鑰,而不是永久金鑰,這些金鑰是根據OpenID Connect 提供者確認的憑證產生的(在產生建立數位簽章所需的金鑰時,開發人員透過連結到一個OpenID 供應商來辨識自己的身分)電子郵件)。金鑰的真實性是使用公共集中式日誌進行驗證的,這使得可以驗證簽名的作者是否正是他所聲稱的人,而簽名是由負責過去發布的同一參與者生成的。

Sigstore 的實施準備是由於兩個關鍵元件 Rekor 1.0 和 Fulcio 1.0 版本的形成,其軟體介面已聲明穩定並將繼續向後相容。服務元件是用 Go 編寫的,並在 Apache 2.0 授權下分發。

Rekor 元件包含一個日誌實現,用於儲存反映項目資訊的數位簽章元資料。為了確保完整性並防止事後資料損壞,使用 Merkle Tree 樹​​結構,其中每個分支透過聯合(樹)雜湊驗證所有底層分支和節點。有了最終的雜湊值,使用者可以驗證整個操作歷史記錄的正確性,以及資料庫過去狀態的正確性(資料庫新狀態的根驗證雜湊值是根據過去的狀態計算的) )。提供 RESTful API 用於驗證和新增記錄以及命令列介面。

Fulcio 元件 (SigStore WebPKI) 包含一個用於建立憑證授權單位(根 CA)的系統,該系統根據透過 OpenID Connect 驗證的電子郵件頒發短期憑證。憑證的生命週期為20分鐘,在此期間開發者必須有時間產生數位簽章(如果憑證隨後落入攻擊者手中,則憑證已過期)。此外,該專案正在開發 Cosign(容器簽名)工具包,旨在為容器產生簽名、驗證簽名並將簽署的容器放置在與 OCI(開放容器計劃)相容的儲存庫中。

Sigstore的實施可以提高程式分發管道的安全性,並防止針對替代庫和依賴項(供應鏈)的攻擊。開源軟體的關鍵安全問題之一是難以驗證程式來源和驗證建置流程。例如,大多數項目使用雜湊來驗證版本的完整性,但身份驗證所需的資訊通常儲存在未受保護的系統和共用程式碼儲存庫中,因此攻擊者可以破壞驗證所需的檔案並引入惡意更改而不引起懷疑。

由於管理金鑰、分發公鑰和撤銷受損金鑰的困難,使用數位簽章進行發布驗證尚未廣泛使用。為了使驗證有意義,還需要組織可靠且安全的流程來分發公鑰和校驗和。即使有了數位簽名,許多用戶也會忽略驗證,因為他們需要花時間學習驗證過程並了解哪個金鑰值得信賴。 Sigstore 專案試圖透過提供現成且經過驗證的解決方案來簡化和自動化這些流程。

來源: opennet.ru

添加評論