AWS CloudHSM
専用のハードウェアセキュリティモジュールで暗号鍵を管理するサービス
何ができるか
AWS CloudHSM は、AWS クラウド内に専用のハードウェアセキュリティモジュール (HSM) を提供し、暗号鍵の生成・保管・管理を行うサービスです。HSM は耐タンパー性を持つ専用ハードウェアで、鍵が外部に漏洩しない設計になっています。FIPS 140-2 レベル 3 の認証を取得しており、金融機関や政府機関が求める厳格なセキュリティ基準を満たします。
どのような場面で使うか
金融機関での決済データの暗号化、SSL/TLS 証明書の秘密鍵管理、データベースの透過的暗号化 (TDE) の鍵管理など、高いセキュリティ基準が求められる場面で利用されています。また、規制要件で HSM の使用が義務付けられている業界 (PCI DSS 準拠が必要なクレジットカード処理など) でも採用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
銀行の貸金庫に例えるとわかりやすいでしょう。通常の金庫 (ソフトウェアベースの暗号化) でも貴重品は守れますが、銀行の貸金庫 (HSM) は物理的に頑丈で、こじ開けようとすると中身が自動的に破壊される仕組みがあります。CloudHSM は、この銀行の貸金庫をクラウド上で利用できるようにしたサービスです。
CloudHSM とは
AWS CloudHSM は、暗号鍵を専用のハードウェアで安全に管理するサービスです。HSM (Hardware Security Module) とは、暗号処理に特化した専用のハードウェア装置で、鍵の生成・保管・暗号化処理をハードウェア内部で完結させます。ソフトウェアベースの鍵管理と異なり、鍵がメモリ上に平文で展開されることがないため、極めて高いセキュリティを実現します。
KMS との違い
AWS には暗号鍵を管理するサービスとして KMS (Key Management Service) もあります。KMS はフルマネージドで手軽に使える一方、CloudHSM はユーザーが HSM を専有し、鍵の完全なコントロールを持ちます。KMS では AWS が鍵のバックアップや可用性を管理しますが、CloudHSM ではユーザー自身がクラスターの構成やバックアップを管理します。規制要件で専用 HSM が必要な場合や、PKCS#11 や JCE などの標準インターフェースが必要な場合は CloudHSM を選択します。
クラスター構成と可用性
CloudHSM はクラスター構成で運用します。複数のアベイラビリティゾーンに HSM インスタンスを配置することで、高可用性を確保できます。クラスター内の HSM は自動的に鍵を同期するため、1 台の HSM に障害が発生しても他の HSM で処理を継続できます。本番環境では最低 2 台の HSM を異なるアベイラビリティゾーンに配置することが推奨されています。
はじめかた
CloudHSM を使い始めるには、まず CloudHSM コンソールでクラスターを作成し、VPC とサブネットを指定します。クラスターに HSM インスタンスを追加し、初期化を行います。次に、CloudHSM クライアントソフトウェアを EC2 インスタンスにインストールし、HSM に接続します。Crypto User を作成して鍵の生成・管理を開始できます。
注意点
- CloudHSM は時間単位の課金で、HSM 1 台あたり約 1.5 USD/時間。KMS と比較して高コストなため、規制要件がない場合は KMS の利用を検討すること
- HSM の管理者パスワードを紛失すると鍵にアクセスできなくなる。パスワードの安全な保管と復旧手順を事前に確立すること
- CloudHSM クラスターは VPC 内に配置されるため、接続元の EC2 インスタンスと同じ VPC またはピアリング接続が必要
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。