AWS CloudHSMについてとその使用開始手順
はじめに
AWS CloudHSMでは独自のHSMを運用します。次に該当する場合はAmazon KMSの使用が適当です。
- データの暗号化キーを作成および管理するマネージド型サービスが欲しいが、独自のHSMは不要である
- Oracle向けのAmazon RDSを利用する
AWS CloudHSMとは
AWS CloudHSMは、クラウドベースのマネージド型ハードウェアセキュリティモジュール(HSM)を提供するサービスです。これにより、AWSクラウドで暗号化キーを簡単に生成して使用できるようになります。AWS CloudHSMを使用すると、データベースの暗号化、デジタル著作権管理(DRM)、公開鍵基盤(PKI)、認証と許可、ドキュメントの署名、トランザクション処理などを行うことができます。
AWS CloudHSMの利点
FIPS140-2のレベル3認証済みのHSMに暗号化キーを生成および使用
AWS CloudHSMによって、FIPS140-2のレベル3認証済みハードウェアで、暗号化キーを生成および使用できるようになります。AWS CloudHSMでは、不正使用防止策が施されたHSMインスタンスへのAmazon VPC内での専用シングルテナントを使って、キーを保護します。
セキュアでコンプライアンスに準拠したワークロードのデプロイ
HSMの利用は、セキュリティやプライバシーをはじめ、HIPAA、FedRAMP、PCIといった不正使用防止規制のコンプライアンスを証明するのに役立ちます。
AWS CloudHSMによって、AWSクラウド内のHSMインスタンスを利用しながら、高い信頼性と短い時間で、安全かつ適合性のあるワークロードを構築できます。
業界標準で構築されたオープンHSMの使用
AWS CloudHSMと、PKCS#11、JCE、MicrosoftCNGライブラリなどのAPIを使用すると、カスタムアプリケーションを統合できます。また、キーを他の市販のHSMソリューションに転送して、AWS内外にキーを簡単に移行することができます。
暗号化キーの制御の維持
AWS CloudHSMを使って生成および使用する暗号化キーにアクセスできるのは、指定されたHSMユーザーのみです。AWS側からは暗号化キーを見ることができず、アクセスもできません。
簡単な管理とスケール
AWS CloudHSMでは、次のような時間のかかるHSM管理タスクが自動化されます。
ハードウェアのプロビジョニング、ソフトウェアへのパッチ適用、高可用性、バックアップ
オンデマンドでクラスターからHSMを追加および削除することで、簡単にキャパシティーをスケールできます。AWS CloudHSMでは、リクエストを自動的に負荷分散し、HSMに保存されているキーをクラスター内のその他のHSMすべてに対して安全に複製します。
AWS KMSキーの制御
デフォルトのAWS KMSキーストアの代わりに、AWS CloudHSMクラスターをカスタムキーストアとして使用するようにAWS KMSを構成できます。
(AWS KMSカスタムキーストアの利用例)
- AWS KMSとAWSの統合によるメリットを活かし、AWS KMSマスターキーの保護をHSMの制御下に置いたままデータを暗号化する
AWS KMSカスタムキーストアでは、ユーザーが制御するシングルテナントHSMの手軽さとAWS KMSの統合機能の組み合わせから、両方の優れた特徴を利用できます。
AWS CloudHSMの仕様
セキュアなVPCアクセス
AWS CloudHSMは、利用者のAmazon VPC内で実行されるため、Amazon EC2インスタンスで実行されているアプリケーションでHSMを簡単に使用できます。AWS CloudHSMでは、HSMへのアクセス管理のために、標準のVPCセキュリティコントロールを使用できます。アプリケーションは、HSMクライアントソフトウェアによって確立された相互認証済みSSL channelを使用してHSMに接続されます。
HSMは、Amazon EC2インスタンスの近くにあるAmazonデータセンターに配置されるため、アプリケーションとHSM間のネットワークレイテンシーはオンプレミスのHSMよりも低くなります。
責任の分離
AWS CloudHSMの設計上の特徴は、責任の分離とロールベースのアクセスコントロールです。
・AWS側がすること
HSMの状態およびネットワークの可用性を監視します。ただし、HSM内に保存されるキーマテリアルの作成や管理は行いません。
・利用者側すること
HSM、および暗号化キーを生成し、使用します。
高可用性
AWS CloudHSMでは、1つのHSMが利用できなくなった場合でもキーの可用性は保たれます。これは、キーの複製のコピーが、異なるアベイラビリティーゾーン(AZ)に配置されたHSMに保存されるためです。
複数のAZ間で2つ以上のHSMを使用すると、可用性と耐久性のある構成ができます。
AWS CloudHSMのユースケース
ウェブサーバーのSSL/TLS処理をオフロードにする
パブリック/プライベートのキーペアとSSL/TLSパブリックキー証明書を使用して、各クライアントとのHTTPSセッションの確立というプロセスには、ウェブサーバーで大量の計算が必要になります。
(AWS CloudHSMの利用例)
- 一部の計算をAWS CloudHSMクラスターのHSMにオフロードする
- SSL/TLS処理にAWS CloudHSMを使用して、AWS CloudHSM内にあるウェブサーバーのプライベートキーを保存することで、ウェブサーバーの計算の負担を軽減し、セキュリティを強化する
認証機関(CA)の発行に必要なプライベートキーを保護する
PKIでは、CAがデジタル認証を発行する信頼されたエンティティです。これらのデジタル証明書は、公開鍵暗号方式およびデジタル署名を使用して、個人または組織を識別できるよう、パブリックキーをIDにバインドします。
(AWS CloudHSMの利用例)
- プライベートキーをHSMのAWS CloudHSMクラスターに保存し、自社の認証を発行する発行CAとして安全に機能することができるように、認証リクエストに署名する
Oracleデータベースの透過的なデータ暗号化(TDE)を有効にする
TDEを使用すると、データベースソフトウェアは、ディスクに保存する前にデータを暗号化します。データベースのテーブル列またはテーブルスペースのデータは、テーブルキーまたはテーブルスペースキーを使用して暗号化されます。
(AWS CloudHSMの利用例)
- TDEをサポートするOracleデータベースサーバーのために、TDEマスター暗号キーをAWS CloudHSMクラスターのHSMに保存して、セキュリティを強化する
AWS CloudHSMの使用開始の手順
ここでは、AWS CloudHSMを使用するにあたり、クラスターのアクティブ化までの手順を示します。
1. IAMユーザーと管理者グループの作成
ここでのベストプラクティスは次の2つです。
- AWSの操作にAWSアカウントのルートユーザーを使用しない
- AWS CloudHSMの実行に必要な権限のみを持つAWS CloudHSM管理者を作成する
2. VPCの作成
Amazon VPCコンソールを開いて、VPCを作成します。
3. VPC内にプライベートサブネットを作成
HSMを作成するAZごとにプライベートサブネットを作成します。プライベートサブネットは、すべてのAWS AZで使用できます。
4. クラスターの作成
HSMの集合であるクラスターを作成すると、ユーザーに代わって、AWS CloudHSMがクラスターのセキュリティグループを作成します。
5. Amazon EC2インスタンスをAWS CloudHSMクラスターに接続
セキュリティグループとAmazon EC2インスタンスを関連付けることで、Amazon EC2インスタンスで実行されているAWS CloudHSMクライアントはHSMと通信できるようになります。
6. HSMの作成
次のいずれかの方法によってクラスターが初期化されていないことを確認して、HSMを作成します。
- AWS CloudHSMコンソールのクラスターページを表示し、AWS CLIを使用して「describe-clusters」コマンドを実行する
- AWS CloudHSM APIでDescribeClustersリクエストを送信する
7. クラスターの初期化
必須ではありませんが、初期化前にHSMのアイデンティティと正当性を確認することをAmazonは勧めています。
クラスターの最初のHSMによって生成された証明書署名リクエスト(CSR)を取得して署名した後、クラスターを初期化します。
8. AWS CloudHSMクライアントのインストールと設定
AWS CloudHSMクラスターでHSMを操作するために、各OSのAWS CloudHSMクライアントソフトウェアが必要です。
9. クラスターのアクティブ化
PRECOの認証情報を使用してHSMにログインします。新しいクラスターの最初のHSMに割り当てられているパスワードを変更すると、PRECOがCOになり、クラスターがアクティブ化します。
まとめ
本記事では、AWS CloudHSMの利点や特徴、ユースケース、使用開始の手順について解説しました。AWS CloudHSMを使用することで、データセキュリティに対するコンプライアンスや法令遵守の要件を満たすことができます。