VMware Cloud on AWS の SDDC では「vSAN 暗号化」がディフォルトで有効になっています。今回は、VMware Cloud on AWS で構成されている vSAN 暗号化の仕組みや安全性、ユーザーのメリットについてご紹介します。
目次
- VMware Cloud on AWS における vSAN 暗号化の概要
- 暗号化キーの管理に AWS Key Management Service を採用
- 安全な暗号化キーの交換プロセス
- 安全性が確保されている理由
- 鍵の更新でリスクを低減
- それでもまだセキュリティ対策が必要な理由
- まとめ
- 関連情報リンク
VMware Cloud on AWS における vSAN 暗号化の概要
VMware Cloud on AWS では、vSAN 暗号化が有効になった状態でクラスタが構成されます。これにより、データストア内のオブジェクトはすべて暗号化されて保持されます。 まずは、暗号化のタイミングと場所について簡単に整理しておきましょう。
暗号化は、データを書き込むタイミングで実行されます。書き込みプロセスでは、まずキャッシュ層にデータが書き込まれ、その後デステージプロセスでキャパシティ層に書き込まれます。暗号化はキャッシュ層とキャパシティ層に書き込まれるタイミングでそれぞれ実行されます(図1)。
図1 vSAN 暗号化の書き込みプロセスのイメージ
暗号化される場所はデバイスです。上図では省略していますが、書き込まれたデータは最終的にキャパシティ層の各デバイスに分散して配置されます。暗号化は Disk Group の各デバイスで実行されます。クラスタが作成されると、各ホストでデバイス毎に「ディスク暗号化キー」(詳細は後述します)が生成されます。データはそれらのキーで暗号化されます。
また、VMware Cloud on AWS のホストは複数の Disk Group で構成されています。したがって、実際の環境では一台のホストで複数のデバイスで構成された複数の Disk Group が存在しており、その中にキャッシュ層とキャパシティ層が存在しているとご理解ください。VMware Cloud on AWS の Disk Group 構成に関しては、過去のブログをご覧ください。
暗号化キーの管理に AWS Key Management Service を採用
vSAN 暗号化にはキープロバイダが必要です。キープロバイダは、「vSphere ネイティブキープロバイダ」または「サポート対象の外部のキープロバイダ」が選択できますが、VMware Cloud on AWS ではアマゾンウェブサービス(AWS)の「AWS Key Management Service (KMS)」を外部プロバイダとして採用しています(図2)。
図2 VMware Cloud on AWS と AWS KMS
AWS KMS は、暗号化に使用される暗号化キーの作成と管理に最適なマネージドサービスです。このサービスで管理されるマスターキーは「FIPS 140-2」認定規格の検証済み Hardware Security Module (HSM) によって保護されており、暗号化キーの不正使用防止規制のコンプライアンスに準拠することができます。また、AWS KMS に対するセキュリティコントロールや品質管理は、複数のコンプライアンススキームによって認定されているので、安心して使用できます。AWS KMS に関する詳しい情報は、AWS KMS のオフシャルサイトをご覧ください。
尚、VMware Cloud on AWS において vSAN 暗号化で使用する AWS KMS は、VMware がサービスインフラの一部として採用しているため、ユーザーが AWS KMS を別途契約する必要はありません。
安全な暗号化キーの交換プロセス
暗号化キーは AWS KMS で安全に維持・管理されますが、キーを使用するプロセスとその安全性についても整理しておきましょう。
vSAN 暗号化では複数のキーが使用されます。マスターキーである「Customer Master Key (CMK)」とキーを暗号化するキーである「Key Encryption Key (KEK)」、Core Dump (ESXi のエラー等で作成される解析用データ)を暗号化する「Host Key」が使用されます(図3)。これらのキーは AWS KMS にて作成および管理されます。データを暗号化する「Data Encryption Key (DEK)」は、各ホストで作成され暗号化された状態で保持されます。
図3 VMware Cloud on AWS の vSAN 暗号化で使用する暗号化キー
次に、暗号化キーの交換プロセスに目を向けてみましょう。
SDDC を作成する際、最初のクラスタが作成され AWS KMS も準備されます。この時、vCenter は AWS KMS との通信を確立し、キーを要求します。AWS KMS は KEK と Host Key を作成します。その後、vCenter は作成した「キー ID」を AWS KMS から取得します(vCenter はキー自体を取得・保持しません)。そして、vCenter は各ホストへ「キープロバイダ情報」と「キー ID」を配布します(図4)。
図4 暗号化キー交換プロセスとキーの配置
ホストは、配布されたキー ID を基にして AWS KMS から KEK とHost Key を取得します。キーを取得したら一時的にホストメモリ上の安全なキャッシュ領域(許可されたプロセスのみアクセス可能なキーキャッシュカーネルモジュール)に保存します。
クラスタ作成時に、ホストはデバイス毎に DEK を作成します。DEK は、データの暗号化で使用します。DEK は KEK によって暗号化され、デバイスに保持されます。尚、Host Key は各ホストの Core Dump の暗号化に使用されます。
安全性が確保されている理由
vSAN 暗号化では、正常なキー交換プロセスが実行されない限り vSAN として機能しない仕様になっており、不正行為に対する安全性が確保されます。次に、その理由についてもう少し詳しく見てみましょう。
ホストは、停止または再起動するタイミングでキャッシュ領域の暗号化キー(KEK と Host Key)を破棄します。また、ホストがクラスタから除去される場合(ホスト障害やクラスタからのホスト削除など)、そのホストに保持されている暗号化キーは回復不能な形で完全に破棄されます。
ホストが起動するとキープロバイダ情報とキー IDを基に AWS KMS に対して暗号化キー(KEK と Host Key)の取得を試みます。そこで、もし KEK が取得できなければ 、ホストは Disk Group をマウントしません(図5)。Disk Group がマウントできなければ、そもそもデータストアが構成できません。
図5 ホスト再起動時のプロセス
この仕組みによって、万が一物理ホストやディスク単体で盗難にあってもキープロバイダから KEK が取得できなければ暗号化されたデータを複合できないため、安全性が確保されていると言えます。
鍵の更新でリスクを低減
定期的に暗号化キー(KEK)を更新することで、より安全な運用を実現できます。これは、情報セキュリティの順守やコンプライアンス準拠を目的とした運用に活用できます(図6)。
図6 KEK の再作成プロセス
KEK を再作成する方法は極めてシンプルです。vCenter の vSAN 構成メニューから「新しい暗号化キーの生成」リンクをクリックするだけで完了します(図7、8)。あとは、バックグラウンドで AWS KMS 上に新しい KEK が作成され、各ホストが新しい KEK を取得して DKE を再暗号化するまで自動的に処理されます。
図7 KEK 再作成画面(1)
図8 KEK 再作成画面(2)
また、KEK の更新はログに記録されます。KEK が再作成されると vRealize Log Insight Cloud にログとして記録されるため、管理者は監査の一環として KEK の更新を把握できます(図9)。VMware Cloud on AWS のログ管理については、過去のブログをご覧ください。
図9 vRealize Log Insight Cloud に記録される KEK 再作成イベント
それでもまだセキュリティ対策が必要な理由
誤解のないように補足しておきますが、vSAN 暗号によって安心してVMware Cloud on AWS を使用いただけるものの、それがサイバー攻撃などの不正アクセスからデータを保護することを保証している訳ではありません。
クラウド事業者とユーザー(ここでは、VMware Cloud on AWS のお客様)との間でセキュリティ上の責任を共有する「責任共有モデル」という考え方があります。VMware Cloud on AWS も独自の責任共有モデルを提供しています(図10)。そこで定義されている通り、お客様のデータ保護はお客様ご自身にその責任があります。詳細はブログ「VMware Cloud on AWS の責任共有モデル」をご覧ください。
図10 VMware Cloud on AWS の責任共有モデル
SDDC のデータストア層でデータが暗号化されていても、それらのデータは仮想マシンやアプリケーションにログインできればアクセスできます。つまり、お客様はデータを保護するための対策(通信の暗号化や不正アクセス防止など)が必要であり、それらの対策を併用することで、はじめて高い水準のセキュリティが維持できると言えます。
VMware Cloud on AWS では NSX の Firewall 機能を活用できますし、VMware Carbon Black Cloud Workload を採用すれば、ワークロードを保護することもできます。さらに、AWS の各種セキュリティ関連サービス(AWS WAF や AWS Shield など)との連携も可能です。大切なデータ保護のためのぜひセキュリティ対策の併用をご検討ください。
まとめ
vSAN 暗号化によってクラウド環境であっても安心してサービスを利用できます。大切なデータを保護するためのセキュリティ対策を併用することで、さらに安全かつ快適にクラウドサービスを活用できます。VMware Cloud on AWS のセキュリティやコンプライアンスに関する情報は、下記リンクの情報も併せてご覧ください。
関連情報リンク
- ブログ「VMware Cloud on AWS の責任共有モデル」
- ブログ「VMware Cloud on AWS のコンプライアンス対応」
- ブログ「VMware Cloud on AWS のホスト構成」
- ブログ「VMware Cloud on AWS のソフトウエア構成とリソース管理」
- ブログ「VMware Cloud on AWS の vSAN 構成」
- ブログ「VMware Cloud on AWS の vSAN ストレージポリシー」
- ブログ「VMware Cloud on AWS の vSAN 暗号化」
- ブログ「VMware Cloud on AWS のログ管理」
- ブログ「VMware Cloud on AWS のイベント通知」
- ブログ「VMware Cloud on AWS イベントの Slack への通知」
- FIPS Validation (FIPS 140-2) 「vSAN」
- FIPS Validation (FIPS 140-2) 「AWS Key Management Service HSM」
- The Cloud Platform Tech Zone「vSAN Data at Rest Encryption」