【えいちえすえむ】

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

最終更新:
💡 暗号鍵を保護し、内部で暗号処理も行う専用装置

暗号鍵を保護し、鍵の生成や暗号化・署名などの処理を行う専用ハードウェア。鍵を取り出せるか、誰が使えるか、物理的な攻撃への保護などは、製品の仕様と設定によって異なる。

📌 このページのポイント
鍵を渡さず、署名処理を依頼する例 💻 アプリ 署名するデータ 署名結果を受け取る 鍵自体は受け取らない HSM 🔑 署名鍵 取り出しを許さない 設定の例 ⚙️ 内部で署名 鍵の用途も設定する 処理依頼 署名結果 利用者の認証・権限管理も必要 物理的な保護・認証の範囲は機器の仕様で確認
取り出しを許さない署名鍵をHSM内に置く構成の例。アプリが受け取るのは署名結果。鍵の取り出し可否や用途は製品・設定による。
ひよこ ひよこ
HSMは鍵を入れておくだけの金庫なの?
ペンギン先生 ペンギン先生
保管に加えて、鍵の生成や暗号化、署名などの処理も行う装置だよ。例えば署名に使う鍵をHSM内に置き、アプリから処理を依頼して署名結果を受け取る。鍵そのものをアプリへ渡さずに処理する構成を作れるんだ。
ひよこ ひよこ
OSが乗っ取られても安全なの?
ペンギン先生 ペンギン先生
鍵をアプリやOSへ渡さずに済む構成は、鍵そのものの露出を減らす助けになるよ。でもHSMを使う認証情報や権限が悪用されれば、攻撃者が暗号処理を依頼する可能性は残る。HSMがあるだけで端末の侵害後もすべて安全、とは考えないでね。
ひよこ ひよこ
鍵は絶対に取り出せない?
ペンギン先生 ペンギン先生
取り出しを許すかは製品や鍵の設定で異なるよ。AWS CloudHSMにはEXTRACTABLEという属性があり、falseにするとその鍵をエクスポートできなくなる。鍵をどんな処理に使えるかという属性もあるので、保管先だけでなく、取り出しと用途の設定を確認するんだ。
ひよこ ひよこ
物理的な攻撃を受けると必ず鍵が消える?
ペンギン先生 ペンギン先生
HSMは物理的な攻撃に耐える保護を備える装置だけれど、保護の仕組みや認証の範囲は機器によって異なる。どんな攻撃を検知するか、検知後に何が起きるかは仕様で確認しよう。すべてのHSMが同じ条件で必ず鍵を消す、と一括りにはできないんだ。
ひよこ ひよこ
クラウドでも使えるの?
ペンギン先生 ペンギン先生
AWS CloudHSMのように、クラウドから専用HSMを使うサービスがあるよ。CloudHSMではHSM利用者を認証し、その種類によって許される操作が変わる。クラウドへ置けば管理が不要になるわけではなく、利用者や鍵の権限を運用する必要があるんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「HSM」って出てきたら「暗号鍵を保護し、中で暗号処理も行う専用装置」と思えればだいたいOK!
📖 おまけ:英語の意味
「Hardware Security Module」 = ハードウェアセキュリティモジュール
💬 Hardware(ハードウェア)、Security(セキュリティ)、Module(モジュール)の略。鍵の保護や暗号処理を専用のハードウェアで行うことを表しているよ

参考資料

← 用語集にもどる