TL

Cloud Service

AWS CloudHSM

鍵を自分だけが完全に支配できる。FIPS 140 準拠の専有ハードウェアセキュリティモジュールをマネージドに使い、鍵を AWS にも見せずに暗号化・署名処理を実行できる。Azure の専有 HSM や GCP の Cloud HSM に相当。

中級SCS-C02SAP-C02セキュリティ
最終更新: 2026-06-28公式ドキュメント ↗
TL;DR要点だけ先に
  • 1.FIPS 140 準拠の専有 HSM を自分専用に持ち、鍵の生成・保管・暗号処理を完全に自分の管理下で行える。
  • 2.AWS は HSM を運用するが鍵には触れず、鍵素材は HSM 外に平文で出ない。厳格な規制・コンプライアンス要件向け。
  • 3.多くの暗号化用途は KMS で足りる。専有 HSM や独自ライブラリ連携が必須なときに CloudHSM を選ぶ。

解決する課題

  • 暗号鍵を AWS にも一切見せず、自分だけが完全に支配する形で管理したい
  • FIPS 140 準拠の専有ハードウェアでの鍵保護を、コンプライアンスや規制で求められている
  • データベースの透過的暗号化や公開鍵基盤の署名処理など、**標準の暗号ライブラリ(PKCS#11・JCE・OpenSSL 等)**から HSM を使いたい
  • 自前で HSM アプライアンスを購入・設置・冗長化する運用負荷から解放されたい

AWS CloudHSM は、FIPS 140 準拠のハードウェアセキュリティモジュール(HSM)を、利用者専有の形でクラウド上にマネージド提供するサービスです。鍵の生成・保管・暗号処理をすべて HSM 内部で完結させ、鍵素材を平文で外に出さないまま、利用者が鍵を単独で完全に管理できます。

主要概念と用語

  • HSM(ハードウェアセキュリティモジュール): 暗号鍵の生成・保管・暗号処理を物理的に隔離して行う専用ハードウェア。鍵素材を外部に平文で取り出せないよう設計されている
  • クラスター: 複数の HSM をまとめた論理単位。クラスター内の HSM は鍵を自動的に同期し、可用性と耐久性を高める
  • 専有(シングルテナント): HSM は利用者専用に割り当てられ、他の利用者と共有しない。マルチテナントの KMS との大きな違い
  • CO(Crypto Officer)/CU(Crypto User): HSM 内のユーザー種別。CO は HSM とユーザーの管理を、CU は実際の暗号操作(鍵の作成・暗号化・署名など)を担う
  • クライアント SDK: アプリケーションが HSM と通信するためのソフトウェア。PKCS#11・JCE・OpenSSL エンジン・KSP/CNG などの標準インターフェースを提供する
  • FIPS 140: 米国の暗号モジュール認証規格。CloudHSM はこの認証を受けたハードウェアで動作する
  • クォーラム認証(M of N): 重要な操作に複数の管理者の承認を必要とする仕組み。単独の管理者による不正操作を防ぐ
  • KMS カスタムキーストア: KMS の鍵素材を CloudHSM クラスターに保管する連携機能。KMS の使いやすさと HSM の専有性を両立する

仕様・制限・クォータ

  • 鍵の管理責任は利用者にある: 鍵の生成・バックアップ・ユーザー管理は利用者が行う。AWS は HSM のハードウェアと運用基盤を管理するが、鍵には関与しない
  • VPC 内に配置される: HSM はクラスターとして利用者の VPC 内に ENI を持ち、プライベートに接続する。インターネット経由の直接アクセスはしない
  • クラスターで冗長化: 単一 HSM だと可用性・耐久性に欠けるため、複数 AZ にまたがる複数 HSM でクラスターを組むのが前提。鍵はクラスター内で同期される
  • 標準インターフェース対応: PKCS#11・JCE・OpenSSL・KSP/CNG といった業界標準ライブラリから利用でき、既存アプリの暗号処理を載せ替えやすい
  • 対称・非対称の両方に対応: AES などの対称鍵、RSA・ECC などの非対称鍵、ハッシュ・署名・乱数生成といった一般的な暗号操作をサポートする
  • バックアップ: クラスターのバックアップが定期的に取得され、暗号化された状態で保管される。リージョン間でのコピーにも対応する
  • HSM の数や鍵の容量などには上限があり、要件に応じて HSM を追加したり上限緩和を申請したりする
鍵を失うと復旧できない

CloudHSM の鍵は利用者が単独で支配するため、AWS は鍵を復元できません。管理者の認証情報やバックアップを失うと、HSM 内の鍵に永久にアクセスできなくなります。クォーラム認証やバックアップの保全を含め、鍵管理の運用設計を必ず整えてください。

内部の仕組み

CloudHSM の中核は「専有 HSM」と「クラスターによる鍵同期」です。利用者は VPC 内にクラスターを作成し、複数の AZ に HSM を配置します。各 HSM は FIPS 140 認証を受けた物理デバイスで、鍵の生成・保管・暗号処理をすべて内部で完結させ、鍵素材を平文で外に出しません。

クラスター内の複数 HSM は鍵を自動的に同期します。ある HSM で作成した鍵は他の HSM にも反映され、1つの HSM が障害を起こしても他の HSM が処理を継続できます。これにより、単一ハードウェアの故障に対する可用性と、鍵の耐久性を確保します。

アプリケーションはクライアント SDK を通じて HSM と通信します。PKCS#11 や JCE などの標準ライブラリ経由で暗号化・復号・署名・検証を依頼すると、実際の演算は HSM 内部で行われ、結果だけがアプリケーションに返ります。鍵そのものはアプリケーション側に渡らないため、アプリが侵害されても鍵は HSM 内に留まります。

AWS は HSM のハードウェア交換や基盤の運用を担いますが、HSM 内のユーザーや鍵は利用者だけが管理します。AWS の運用担当者であっても鍵素材を取り出せない設計になっており、これが「鍵を AWS にも見せない」という CloudHSM の最大の特徴を支えています。

単一 HSM で本番運用しない

HSM が1台だけだと、ハードウェア障害時に鍵にアクセスできなくなります。複数 AZ にまたがる複数 HSM でクラスターを組み、鍵を同期させた冗長構成を本番の前提にしてください。

設計パターン / ベストプラクティス

  • 複数 AZ・複数 HSM で冗長化する: 可用性と耐久性のため、最低でも2台以上の HSM を別 AZ に配置してクラスターを組む
  • まず KMS で足りるか検討する: 多くの暗号化要件はマネージドで安価な KMS で満たせる。専有 HSM や独自ライブラリ連携が必須のときだけ CloudHSM を選ぶ
  • KMS カスタムキーストアで両取りする: KMS の使いやすさと AWS サービス統合を保ちつつ、鍵素材を専有 HSM に置きたい場合は KMS カスタムキーストア連携を使う
  • ユーザー権限を CO と CU で分離する: 管理操作と暗号操作の権限を分け、最小権限で運用する
  • クォーラム認証を有効化する: 鍵の削除やユーザー管理など重要操作に複数管理者の承認を要求し、単独の不正・誤操作を防ぐ
  • バックアップを保全する: クラスターバックアップを確実に保管し、必要に応じてリージョン間コピーで災害対策とする

運用・監視

  • クラスターと HSM の健全性を監視する: HSM の台数・状態を定期的に確認し、障害が起きた HSM はクラスターから外して新しい HSM を追加する
  • 監査ログを取得する: HSM 内の操作はログとして記録でき、CloudWatch Logs などに集約して誰がどの操作を行ったかを追跡する
  • API 操作を監査する: クラスターや HSM の作成・削除といった管理 API は CloudTrail に記録される。鍵そのものの操作ログとは別物である点に注意する
  • バックアップの取得状況を確認する: 自動バックアップが想定どおり取得・保管されているかを定期的に検証する
  • クライアント SDK のバージョンを保つ: SDK や HSM のソフトウェアは更新され、古い構成は互換性や脆弱性の問題を生むため、計画的に更新する
HSM 障害時の自動回復はされない場合がある

クラスター内の HSM が障害を起こしても、台数の補充は自動では行われないことがあります。最小台数を割り込むと可用性が低下するため、健全性を監視し、不足時に HSM を追加する運用を用意してください。

コスト

  • HSM ごとに時間課金: 稼働している HSM の台数と稼働時間に応じて料金が発生する。冗長化のために台数を増やすほど費用も積み上がる
  • 常時稼働が前提: HSM は鍵を保持し続けるため基本的に止められず、稼働分の課金が継続する。KMS のようなリクエスト単価とは課金モデルが異なる
  • KMS との比較で割高になりやすい: マネージドかつ安価な KMS に比べ、専有ハードウェアである CloudHSM は単価が高い。専有性が本当に必要かをコスト面でも見極める
  • 台数設計がコストを左右する: 可用性要件と費用のバランスで HSM 台数を決める。過剰な冗長化は無駄なコストになる

セキュリティ

  • 鍵を AWS にも見せない: 鍵素材は HSM 内で生成・保管され、平文で外に出ない。AWS の運用担当者も鍵を取り出せず、利用者が単独で支配する
  • FIPS 140 準拠ハードウェア: 認証済みの物理 HSM で動作し、規制・コンプライアンス要件に応えやすい
  • ユーザーと操作の分離: CO と CU でユーザー種別を分け、IAM とは別に HSM 内部でのアクセス制御を行う
  • クォーラム認証で多重承認: 重要操作に複数管理者の承認を要求し、単独管理者による不正を防ぐ
  • VPC 内のプライベート接続: HSM は VPC 内に閉じており、ネットワーク経路を限定して外部からの到達面を絞る
  • 監査ログで証跡を残す: HSM 内の操作ログを集約し、暗号操作の監査と異常検知に使う
アンチパターン

専有 HSM が不要なのに「より安全そう」という理由だけで CloudHSM を選ぶと、運用負荷とコストが跳ね上がります。鍵の復旧責任も利用者に移るため、運用設計を誤ると鍵を失います。まず KMS で要件を満たせないかを必ず先に検討し、専有・FIPS・独自ライブラリ連携が必須のときに限って CloudHSM を採用してください。

関連サービス・比較

CloudHSM は専有 HSM を直接扱うサービス、KMS は鍵管理をマネージドに代行するサービスで、抽象度と責任分界が大きく異なります。両者の違いを整理します。

観点CloudHSMKMS
テナント専有(シングルテナント)マルチテナントのマネージド
鍵の管理責任利用者が単独で管理・復旧責任も負うAWS と分担、運用負荷は低い
AWS の鍵参照AWS も鍵素材を取り出せないAWS 管理基盤内で鍵を扱う
インターフェースPKCS#11・JCE・OpenSSL 等の標準AWS API・各サービス統合(SSE-KMS 等)
料金HSM ごとに時間課金で割高鍵月額+リクエスト課金で安価
主な用途FIPS・専有要件・独自暗号アプリS3/EBS/RDS 等の暗号化と鍵管理
使い分けのキモ

標準的な暗号化や AWS サービス統合は KMS が第一候補です。専有 HSM・FIPS 準拠・標準暗号ライブラリ連携が必須のときに CloudHSM を選び、両者の橋渡しが欲しい場合は KMS カスタムキーストアで KMS の鍵素材を CloudHSM に置く構成を取ります。

ハンズオン / CLI例

# CloudHSM クラスターを作成(VPC 内のサブネットを指定)
aws cloudhsmv2 create-cluster \
  --hsm-type hsm1.medium \
  --subnet-ids subnet-aaaa1111 subnet-bbbb2222 \
  --region ap-northeast-1

# 作成したクラスターの状態を確認
aws cloudhsmv2 describe-clusters --region ap-northeast-1

# クラスターに HSM を追加(冗長化のため別 AZ に配置)
aws cloudhsmv2 create-hsm \
  --cluster-id <クラスターID> \
  --availability-zone ap-northeast-1c \
  --region ap-northeast-1

# クラスターのバックアップ一覧を確認
aws cloudhsmv2 describe-backups --region ap-northeast-1

AWS Service

AWS CloudHSMを実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

セキュリティ・ID

比較で見る軸

クラウド: AWS / カテゴリ: セキュリティ・ID / 難易度: intermediate

導入後に効く点

AWS は HSM を運用するが鍵には触れず、鍵素材は HSM 外に平文で出ない。厳格な規制・コンプライアンス要件向け。

先に潰すリスク

サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。

数字・仕様の読み方
クラウド
AWS
カテゴリ
セキュリティ・ID
難易度
intermediate
関連資格
SCS-C02 / SAP-C02
設計柱
security

判断チェックリスト

  • 自社の用途が「セキュリティ・ID / security」に近いか確認する。
  • 強みである「FIPS 140 準拠の専有 HSM を自分専用に持ち、鍵の生成・保管・暗号処理を完全に自分の管理下で行える。」が本当に評価軸になるか確認する。
  • 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

セキュリティ・IDsecuritySCS-C02SAP-C02