このシナリオを例にとります。組織には、リポジトリからソースを定期的にチェックアウトしてすべてをビルドするいくつかのビルドサーバーがあります。ビルドが完了すると、バイナリはコード署名およびアーカイブされ、署名と公開証明書とともに公開されることもあります。
仮定して:
そのような署名サーバー、HSMなどに適切な予防策は何ですか。
ありがとう!
考慮すべき主要な原則はこれです:秘密鍵は決して移動してはなりません。
コード署名環境にビルド/テスト環境からアクセスできないようにする必要があります。ビルド環境がコード署名リクエストを直接満たすことができる場合、ビルド/テスト環境(巨大な攻撃面のあるスペース)が危険にさらされ、コード署名が侵害されることを意味します。
署名するコードは署名環境に再配置する必要があります。キーをビルド環境に移動することはできません。
このために考えられる1つの解決策は、ビルドシステムが適格なビルドアーティファクトを公開し、キーカストディアン(実際の人)がそれらのビルドアーティファクトを取得して署名環境で署名し、署名されたアーティファクトをアーティファクトに公開することです。リポジトリ。
署名環境は物理的に分離されていることが望ましいですが、ビジネス上の理由から、署名環境は、キーの公開のリスクにキーの公開のコストを掛けたリスクを超えないようにする必要があります。非常にリスクの低いシナリオでの署名環境(展開の便宜のためにコード署名のみを行い、悪意を持って使用された場合、評判の損害と法的責任のリスクを受け入れる)は、十分に安全であれば、カストディアン自身のワークステーションになる可能性があります。