コンテンツにスキップ

AWS CloudHSM

1. サービス概要

AWS CloudHSM は、ハードウェアセキュリティモジュール(HSM)を AWS 上で専用に利用できるようにした、クラウドベースのハードウェア暗号化サービスである。
従来のオンプレミスでの HSM 運用に近い形で鍵を管理・保持できるため、高いセキュリティ要件や規制準拠(PCI DSS、FIPS 140-2 レベル 3 など)に対応する用途に活用される。

主なユースケースとしては、

  • 金融や保険
  • 公共機関などの厳格な規制下にある機関での鍵管理
  • 大規模な暗号処理(証明書発行、鍵生成、TLS/SSL セッションの終端処理など)

がある。
ユーザーが鍵を完全に所有し、AWS 側でも読み出しできない点が特徴である。

2. 主な特徴と機能

2.1 専用ハードウェアによる強固な鍵管理

CloudHSM は AWS が提供する物理的な HSM アプライアンスをユーザー専用に割り当てます。
これにより、共用基盤ではなく専有環境で鍵を保持できるため、シングルテナントかつ高いセキュリティ隔離を実現する。

  • 完全な鍵管理: HSM 内の鍵はユーザーのみが制御し、AWS はアクセス不可
  • 高速暗号処理: 専用ハードウェアが暗号演算を高速かつ安全に実行

2.2 FIPS 140-2 準拠

CloudHSM は FIPS 140-2 レベル 3 に準拠しており、高度な暗号鍵管理やハードウェアセキュリティを要する業界向けの要件を満たする。
カード決済業界の PCI DSS 要件など、厳格なコンプライアンスにも対応可能である。

2.3 スケーラビリティと可用性

必要に応じてクラスタを構成し、複数の CloudHSM インスタンスを展開することで、高可用性と負荷分散を実現できる。
フェイルオーバー時にも鍵が失われないように自動レプリケーションされ、ダウンタイムの短縮に貢献する。

2.4 柔軟な API サポート

PKCS#11 や JCE(Java Cryptography Extensions)、OpenSSL エンジンなど、業界標準の暗号 API をサポートしており、既存のアプリケーションとの統合が容易である。
これによりオンプレミスからクラウドへの移行時や、カスタム暗号ロジックの実装がスムーズに行える。

2.5 AWS Key Management Service(AWS KMS)との比較

CloudHSM はユーザーが鍵を完全に制御する一方、KMS は AWS によるフルマネージドでの鍵管理が可能である。
クラウドネイティブな運用性を求めるなら KMS、より厳格な鍵所有を求めるなら CloudHSM、と使い分けるケースが一般的である。

3. アーキテクチャおよび技術要素

  1. CloudHSM クラスタを作成し、VPC のサブネットに専用 HSM アプライアンスを配置
  2. アプリケーションサーバは PKCS#11 等の暗号 API を介し、HSM で鍵生成・暗号化・復号化を実行
  3. 鍵や証明書は HSM 内部に安全に保管され、AWS 側からはアクセス不可
  4. クラスタによって複数の HSM 間で自動的に鍵がレプリケートされ、高可用性を確保

クライアントソフトウェア(AWS CloudHSM Client)を利用することで、アプリケーションはクラウド上の HSM をローカルの HSM と同様に扱えます。

4. セキュリティと認証・認可

CloudHSM はハードウェアレベルでのセキュリティ保護を提供する:

  • ハードウェア要塞化: 物理的に改ざんされると自動的に鍵を破棄する仕組み
  • アクセスコントロール: CloudHSM 内の鍵操作はユーザーが作成するトークン認証(PKCS#11 の PIN など)を利用
  • ネットワーク分離: VPC 内のプライベートサブネットに配置し、許可された EC2 やオンプレミス環境からのみアクセスを許可

5. 料金形態

AWS CloudHSM の料金は、主に以下の要素に基づきます:

  • HSM インスタンスの時間単位料金: 稼働している HSM アプライアンス 1 台あたりの時間単位の従量課金
  • クラスタ台数: 高可用性確保のために複数台を起動する場合、台数に応じた料金が加算
  • データ転送料金: 通常は VPC 内通信のためコストは低いが、プライベート接続形態などで追加費用が発生する場合もあり

6. よくあるアーキテクチャ・設計パターン

CloudHSM を導入する代表的なパターンは以下の通りです:

  • PCI DSS 準拠環境: クレジットカード情報の暗号化やトランザクション処理をクラウドで安全に行う
  • SSL/TLS 終端: Web サーバの SSL 証明書を CloudHSM 内に格納し、高速な TLS ハンドシェイクを実行
  • 証明書発行基盤(CA)の構築: ルート証明書を HSM 内で厳格に管理し、PKI 基盤のセキュリティを高める
  • KMS 連携: CloudHSM で生成したカスタマー管理キー(CMK)を KMS にインポートし、用途によって使い分け

7. 設定・デプロイ手順(ハンズオン例)

  1. VPC とサブネットを準備し、プライベートサブネット内に CloudHSM クラスタを作成
  2. CloudHSM クライアントソフトウェアを EC2 インスタンスにインストール
  3. クラスタへ接続し、鍵生成やユーザーアカウント設定を行う
  4. アプリケーション側は PKCS#11/JCE/OpenSSL 等の API を通じて HSM での暗号操作を実行
  5. 複数台のクラスタ構成により高可用性を確認

8. 試験で問われやすいポイント

8.1 KMS との違い

  • CloudHSM: ユーザーが鍵をフル制御。専用ハードウェアで FIPS 140-2 レベル 3 に準拠
  • KMS: マルチテナントかつフルマネージド。AWS サービスとの統合が容易
  • 使い分け: 厳格な鍵所有が必要 →CloudHSM、クラウドネイティブ運用 →KMS

8.2 セキュリティとコンプライアンス

  • FIPS 140-2: レベル 3 に適合し、物理的改ざん対策に優れる
  • PCI DSS: カード情報保護要件などの厳格な規制に対応
  • 鍵所有モデル: AWS が鍵にアクセスできず、ユーザーのみが制御

8.3 アーキテクチャ設計

  • クラスタ構成: 複数の HSM を配置して高可用性とフォールトトレランスを確保
  • VPC プライベートサブネット: ネットワーク的にも隔離してリスクを最小化
  • API 互換性: PKCS#11、JCE、OpenSSL など既存アプリとのインテグレーションが容易

8.4 運用管理と可用性

  • メンテナンス: AWS がハードウェアを管理し、利用者は論理的な鍵管理に集中
  • 自動フェイルオーバー: クラスタが故障しても鍵レプリケーションにより継続運用
  • 監視ツール: CloudWatch などで HSM インスタンスの状態や CPU 負荷を把握

8.5 料金最適化

  • 必要な台数のみ: 本番/ステージング環境それぞれの最小限の HSM クラスタ数を設定
  • 稼働時間の制御: テスト環境で不要時は HSM を停止し、コストを抑える
  • 通信コスト: 主に VPC 内通信のため低コストだが、オンプレミス接続の場合は設計を最適化

8.6 試験で頻出となる具体的な問われ方と答え

  • Q: AWS KMS と CloudHSM の違いは?
  • A: 鍵管理の方法や責任分界。CloudHSM はユーザー専用 HSM で鍵を完全所有、KMS は AWS マネージド。
  • Q: FIPS 140-2 レベル 3 のメリットは?
  • A: 物理的改ざんに対する耐性と厳格な暗号モジュール認証で、高いコンプライアンス要件を満たせる。
  • Q: PKCS#11 を使う理由は?
  • A: 多くの暗号アプリケーションとの互換性が高く、既存システムとの統合が容易になるため。
  • Q: CloudHSM の運用で気をつける点は?
  • A: HSM クラスタの可用性確保、VPC 内のネットワーク設計、鍵のバックアップ方針など。
  • Q: クラスタを構成するメリットは?
  • A: フェイルオーバーによるダウンタイムの回避、暗号処理負荷の分散、高可用性の実現。