本文へスキップ
ecdsa.com

HSM(ハードウェアセキュリティモジュール)

鍵の生成と保管、および暗号演算をその境界の内部で行う耐タンパー性のデバイスまたはクラウドサービスで、秘密鍵を平文でエクスポートすることはできません。
別表記hardware security modulecloud HSMKMSkey management service

アプリケーションは PKCS #11、KMIP、Java の JCA プロバイダー、Windows CNG、あるいはベンダーやクラウドの API を通じて HSM とやり取りします。鍵が外に出ることはなく、出てくるのは署名や復号されたデータだけです。保証レベルは通常、FIPS 140-3(または 140-2)の認証レベル 2 または 3、あるいはコモンクライテリアで示されます。公的に信頼された CA は鍵をこのようなデバイスに保管しなければならず、2023年以降は、公的に信頼されたコード署名の鍵もハードウェア内で生成・保管しなければなりません。

クラウドの鍵管理サービス(AWS KMS、Google Cloud KMS、Azure Key Vault Managed HSM)は、HSM で保護された鍵を、IAM ポリシーと監査ログを備えた API リソースとして提供します。これらの ECDSA 署名の呼び出しは DER エンコードされた署名を返すため、JWS の ES256 トークンに使うには生の r‖s に変換しなければなりません。この変換は、統合時によくあるバグの原因です。

選定前に確認すべき制約は、対応するアルゴリズムと曲線(Ed25519、secp256k1、ポスト量子アルゴリズムへの対応はモデルやファームウェアによって異なります)、署名あたりのスループットとレイテンシ、鍵のバックアップと複製の手順、そして大きなメッセージに事前ハッシュ署名が必要かどうかです。

規格と参考文献

すべての用語