Skip to main content

秘密鍵を保護する

コード署名のベストプラクティス:秘密鍵をセキュアな方法で生成して保存

デジサートは、開発者がそのコード署名プロセスを実装し、サイニング証明書に関連付けられた秘密鍵をセキュア化するときは、それらを慎重に行うことをお勧めします。

推奨事項

鍵へのアクセスを制限する

コード署名鍵へのアクセスコントロールとそれらの合計数を維持し、鍵の配布を制限します。これは、鍵の使用に関する厳格な管理責任の適用に役立ちます。

鍵のストレージデバイスを施錠された容器に入れて物理的に保護する

  • 鍵のストレージデバイスが、机の上、鍵のかかっていない引き出し、または簡単に持ち出したりコピーしたりすることが可能な場所に放置されないようにしてください。

  • 秘密鍵が保存されているデバイスは、施錠された机の引き出し、キャビネット、または施錠されたドアの内側に保管してください。

秘密鍵に強力なパスワードを使用する

秘密鍵には強力なパスワードを選択してください。デジサートでは、秘密鍵の転送に、大文字、小文字、数字、および記号が含まれる、ランダムに生成された少なくとも16文字のパスワードを必須としています。辞書に記載されている単語、ユーザーIDに由来するもの、ありふれた文字列(「123456」など)、固有名詞、地理的な場所、一般的な頭文字、俗語、家族の名前、誕生日などを使用することはできません。

秘密鍵のストレージをセキュア化する

秘密鍵は、FIPS 140-2レベル2認定の暗号化デバイスを使用して、セキュアな方法で保存します。これらの暗号化デバイスでは、秘密鍵のエクスポートが許可されていません。これらのデバイスのほとんどは、多要素認証を使用しています。

テスト署名証明書とリリース署名証明書の違い

Microsoftは、個別のテスト署名証明書を使用してリリース前のコードに署名することを推奨しています。テスト環境外では、テスト署名証明書を信頼しないようにする必要があります。テスト署名証明書は、自己署名証明書、または内部のテストCAからのものである場合があります。

追加情報

追加情報については、Microsoftがコード署名に関するベストプラクティスドキュメントを提供しています。