如何創建並強制執行有效的程式碼簽章原則? 編寫內部程式碼簽章原則指南
隨著對成熟簽章要求的需求不斷增加,組織和開發團隊必須建立並執行可靠的簽章原則和流程以保護軟體。透過創建並記錄程式碼簽章的正式原則,您可以讓您的開發人員和工程師遵循保護您組建的軟體所需要的最佳做法。
應該在程式碼簽章原則指南中包含哪些內容?
有效的程式碼簽章原則包括頒發及使用程式碼簽章金鑰的指南和程序,包括以下事項:
金鑰頒發
在建立管理協定時,設定誰可以頒發金鑰以及何時頒發金鑰的控制與程序。團隊成員應該知道,根據其角色,何時頒發金鑰是適當的。管理要頒發的金鑰類型以及與其相關的屬性。這有助於避免頒發帶有弱演算法的新金鑰,這類金鑰會引入攻擊途徑。
金鑰管理
為使用者角色設定控制和程序。誰管理金鑰? 如何在團隊、組織或生產階段中根據角色劃分金鑰管理職責? 這些程序應包括對整個組織內的所有金鑰進行位置追蹤。
金鑰儲存
金鑰必須受到保護。為金鑰儲存設定控制與程序,無論其是否被使用。這應包括HSM、權杖、USB和使用多重要素身分驗證的金鑰存取。團隊成員必須知道如何避免丟失或不正確地儲存金鑰。
簽章權限
團隊成員應該知道誰有權進行簽章,以及在何時進行簽章是適當的。他們還應該知道何時未授與簽章權限,以及如何要求簽章(若權限不是其角色的一部分)。
金鑰使用
如何使用或不使用金鑰是正確的簽章程序的重要組成部分。金鑰應該在正確的時候被正確的人使用。
防止金鑰共用
金鑰共用是一種常見的做法。這也是最危險的做法之一。團隊成員永遠不應該共用金鑰,即使是在存放庫或內部伺服器、系統和網路中也是如此。金鑰應該由適當的個人根據其角色進行唯一地頒發、控制和儲存。
連續簽章
程式碼和軟體簽章不應被視為事後的補救辦法或繁瑣的合規步驟。每個CI/CD管線都應包括CS,即連續簽章,以便正確且一致地實施程式碼安全性。
請閱讀這裡的指南,以瞭解有關如何編寫內部程式碼簽章原則的全面說明。