【えいちえすえむ】
HSM とは?
最終更新:
💡 鍵を保護し、許可された暗号処理に使う
暗号鍵を保護し、署名や暗号化などを行う専用ハードウェア。取り出し可能性、物理保護、クラウドサービスやFIPS認証を確認する観点を解説します。
📌 このページのポイント
HSMは、暗号鍵を入れる専用の装置?
鍵は絶対に外へ出ないの?
鍵の種類、属性、権限、製品による。AWS CloudHSMにも、取り出し可否を表す属性がある。公開鍵を取り出すことと秘密鍵を取り出すことも違う。保護したい鍵に合う設定と手順を確認するんだ。
分解すると、必ず自動で鍵が消える?
物理的な攻撃への検知や応答の方式は、製品と認証の範囲で確認する。すべてのHSMが、あらゆる分解や温度変化に同じように応答するとは言えない。耐タンパー性は、どんな攻撃でも突破できないという意味ではないよ。
アプリに侵入されても、もう安心?
鍵を取り出しにくくても、侵入した相手がアプリの権限で不正に署名を要求できる場合がある。誰が何を要求できるか、認証や利用権限、記録と監視も必要だ。HSMだけでシステム全体を守れるわけではない。
クラウドにも本物のHSMがある?
FIPS認証があれば、すべて同じ安全性?
もっと詳しく知りたい人へ
鍵を取り出さず、どうやって署名する?
例えば取り出し不可に設定した秘密鍵をHSM内部で使い、アプリには署名の結果を返します。どのデータやハッシュを渡すか、使えるアルゴリズム、鍵属性や要求権限はAPIと製品によります。鍵の保護だけでなく、署名を要求する側が正しく認可されていることも必要です。
HSMと鍵管理サービスは、同じ運用?
同じではありません。HSMを自分で管理するサービスと、鍵の生成や利用を管理するサービスでは、利用者が担当する範囲が違います。AWSもCloudHSMと、HSMを自分で運用せず使うKMSを分けて案内しています。名称だけで同じ権限・機能・責任と判断しないようにします。
📖 おまけ:英語の意味
「Hardware Security Module」 = ハードウェアセキュリティモジュール
💬 ハードウェアを用いて暗号鍵の保護や暗号処理を行う装置です。「モジュール」は暗号処理の境界を持つ構成要素を表し、アプリやシステム全体の安全を無条件に保証する意味ではありません。