文章目录
前言
近期,远程访问解决方案公司AnyDesk遭到了黑客的入侵。这也引发了业界对于代码签名实践以及软件供应链安全的关注与重视。
代码签名的用途在于为软件、固件或应用添加数字签名,以确保用户的代码来自可信源并且在上次签名后未被篡改。但代码签名的实际效用取决于其执行情况,不当的实践可能会导致恶意软件注入、代码和软件篡改以及冒充攻击。
一、证书和私钥的关系
虽说私钥的安全保护至关重要,但许多开发者出于便利性考虑,经常将其保存在本地电脑或构建服务器中来进行自行管理。这使得私钥更容易被盗用和误用,同时也给安全团队制造了盲点。
自2020年SolarWinds黑客攻击事件之后,证书颁发机构/浏览器论坛(CA/B Forum)发布了一套新的基线要求,用于维护代码签名证书,其中要求强制使用HSM(hardware security modules,硬件安全模块),以及专门用于保护和管理加密密钥的设备,并实施其他相关措施来保护私钥。
HSM提供了最高级别的安全性,但同时也带来了更高的成本、更复杂的操作以及维护需求。除非它们能被集成到DevOps团队使用的代码签名工具中,否则这种脱节很可能会使得代码签名过程变得更加复杂并造成一定的延迟。
随着行业资产与服务向云端的迁移,安全性成为了更高的优先级,同时云解决方案也为代码签名提供了新的可能。云端代码签名和HSM不仅加快了开发速度,增强了灵活性,同时还支持分布式开发团队的