如何创建和执行有效的代码签名证书使用策略
2022年8月10日
随着对成熟签名要求的需求增加,组织和开发团队必须制定和运行强大的签名策略和流程来保护软件。通过创建和记录用于签署代码的正式政策,您可以让您的开发人员和工程师遵循保护您构建的软件所需的最佳实践。那么如何创建和执行有效的代码签名证书使用策略?
有效的代码签名政策包括发布和使用代码签名密钥的指南和程序,包括以下事项:
1、密钥发行
在建立管理协议时,为谁可以颁发密钥以及何时颁发密钥设置控制和程序。团队成员应该根据他们的角色知道何时发布密钥是合适的。管理发出哪些类型的密钥,以及与它们关联的属性。这有助于避免使用引入攻击向量的弱算法发布新密钥。
2、密钥管理
为用户角色设置控制和程序。谁管理密钥?如何根据团队、组织或生产阶段中的角色划分关键管理人员?这些程序应包括对整个组织内所有钥匙的位置跟踪。
3、密钥存储
密钥必须受到保护。在使用和不使用时设置密钥存储的控制和程序。这应该包括 HSM、令牌、USB 和使用多因素身份验证的密钥访问。团队成员必须知道如何避免丢失或不正确地存储密钥。
4、签署权限
团队成员应该知道谁有权签名,以及何时适合签名。他们还应该知道何时不授予签名权限,以及如果权限不是他们角色的一部分,如何请求签名。
5、密钥用法
如何使用或不使用密钥是正确签名过程的关键部分。正确的人应该在正确的时间使用密钥。
6、防止密钥共享
密钥共享是一种常见的做法。这也是最危险的做法之一。团队成员不应共享密钥,即使在存储库或内部服务器、系统和网络内部也是如此。密钥应该由适当的个人根据他们的角色唯一地发布、控制和存储。
7、持续签名
代码和软件签名永远不应被视为事后的想法或繁琐的合规步骤。每个CI/CD管道都应包含 CS(连续签名),以便正确且一致地实践代码安全性。