Upgrade to Pro — share decks privately, control downloads, hide ads and more …

次世代のクラウドセキュリティ!Confidential Computingとは

次世代のクラウドセキュリティ!Confidential Computingとは

Confidential ComputingとはCPUに搭載された機能を使って利用中のデータを守る新しい技術です。比較的最近になって登場した技術ですが、クラウド上で稼働するワークロードを保護する新たなセキュリティ技術として注目を集めており、複数のクラウドサービスプロバイダから相次いで関連サービスがリリースされています。この講演では、Confidential Computingとは何か、そのメリットやユースケースを交えながら説明します。

Cloud Operator Days Tokyo 2024 講演資料です。 https://cloudopsdays.com/

Takashi Kajinami

September 09, 2024
Tweet

More Decks by Takashi Kajinami

Other Decks in Technology

Transcript

  1. © 2024 NTT DATA Group Corporation 2 自己紹介 梶波 崇

    (Takashi KAJINAMI) kajinamit kajinamit irc: tkajinam@OFTC Distinguished Cloud Engineer @ NTTデータグループ • クラウド基盤に関連した技術の研究開発を担当 • 現在のテーマはConfidential Computing OpenStack*1を中心にOSSコミュニティで活動 • Heat(Orchestrationサービス) Project Team Lead • Oslo(共通ライブラリ) Release Liaison • Puppet OpenStack(OpenStack構築用のPuppetマニフェスト) Project Team Lead • Storlets(オブジェクトストレージ内でのアプリ実行エンジン) Project Team Lead *1 https://www.openstack.org/
  2. © 2024 NTT DATA Group Corporation 3 Agenda • Confidential

    Computingとは • Confidential Computingの活用例 • Confidential Computingの現状と展望 • まとめ
  3. © 2024 NTT DATA Group Corporation 5 Confidential Computingとは Confidential

    Computing is the protection of data in use by performing computation in a hardware-based, attested Trusted Execution Environment. Confidential Computing Consortium[1]が提唱する定義から引用 [1] https://confidentialcomputing.io/ ① ② ③
  4. © 2024 NTT DATA Group Corporation 6 ポイント1: 利用中のデータの保護 •

    メモリ上のデータなど、利用中のデータを保護する技術 • 既存のデータ保護技術と組み合わせることで、すべての状態でデータを保護することが可能 Data at Rest ストレージに保存されたデータ 対応する技術例: LUKS、BitLocker Data in Transit ネットワーク転送中のデータ 対応する技術例: TLS, SSL Data in Use 計算のため利用中のデータ 対応する技術例: Confidential Computing, 秘密計算
  5. © 2024 NTT DATA Group Corporation 7 ポイント2: ハードウェアベースのTrusted Execution

    Environment • Trusted Execution Environment(以下、TEE)は、信頼されたコンポーネントにのみデータアクセスを許可する機能 • 大きく分けてプロセス単位のTEE(IntelⓇ SGX等)と仮想マシン単位のTEE(IntelⓇ TDX、AMD SEV等)の二つが存在 • TEEはハードウェア(主にCPU)の機能として提供され、ソフトウェアでの解除は困難 OS VMM TEE TEE 物理サーバ 仮想マシン 仮想マシン TEE外からの アクセスも防止 別のTEEからの アクセスを防止 コア コア セキュア プロセッサ メモリコントローラ 暗号化 コントローラ メモリ 鍵生成 平文データ 暗号化データ 図. TEEを使った仮想サーバの保護 図. AMD SEVのアーキテクチャ CPU
  6. © 2024 NTT DATA Group Corporation 8 ポイント3: アテステーション •

    アテステーションは、実行環境を検証する仕組み。 • 特にリモート環境を検証する仕組みをリモートアテステーション[1]と呼び、クラウド上の仮想マシンの検証等に利用される • アテステーションにより、実行環境・ソフトウェアが期待通りであることを確認した上で機密情報へのアクセスを許可する サーバ TEE 仮想マシン (Attester) セキュア プロセッサ アテステーションサービス (Verifier) KMS等 (Relying Party) エビデンス エビデンス アテステーション結果 復号鍵などの機密情報 ・TEEの設定 ・TEE内で実行するソフトウェアの情報 を含むエビデンス情報を取得 エビデンスを外部サービスで検証し、 その結果を返却 検証結果に応じて機密情報の リリース可否を判断 図. リモートアテステーションのフロー(パスポートモデル) [1] https://www.ietf.org/rfc/rfc9334.html
  7. © 2024 NTT DATA Group Corporation 9 参考: アテステーションレポート •

    CPUのセキュアプロセッサから取得する「アテステーションレポート」が利用される • ハードウェア・ファームウェアの情報、TEEの設定、ソフトウェアを元に計算されたMeasurement等が含まれる • アテステーションレポートはCPU固有の鍵で署名され、CPUベンダが提供する公開鍵により検証可能 • ハイパーバイザ管理者等の第三者がレポートを改ざん、捏造することは不可能 ハイパーバイザ TEE 仮想マシン kernel / initramfs / cmdline OVMF セキュア プロセッサ ハードウェア・ファームウェア アテステーションレポート 情報を収集・登録 起動オプション(policy ..) 生成・署名 Attestation Report (1184 bytes): Version: 2 Guest SVN: 0 Guest Policy (196608): ABI Major: 0 ABI Minor: 0 SMT Allowed: 1… Measurement: 09 1e b7 72 fb 07 7d 83 6f 32 2e 9d 87 ec 0b da 03 5e 9c fc 97 b6 bc cc a3 9e 3a 10 02 2b bb a2 e2 b1 b2 c0 01 45 cf b0 35 7c 80 83 fd 7a e9 e7 … Signature: R: 4e 54 fe 8a 12 4a c0 49 11 c6 0a 7b 26 2d 23 5a ... S: a4 41 69 a2 5f 4a 8d ca 1d 65 ac f1 67 52 6e 45 ... AMD SEV-SNPで取得した レポートの例
  8. © 2024 NTT DATA Group Corporation 11 活用例1. Secure Enclave

    • 仮想マシン等に保護・隔離されたアプリケーションの実行環境を提供する • アプリケーション単位でのデータアクセス制御が可能 • ネットワーク通信不可などの制限があり制限に即したアプリケーション実装が必要 サービス例: AWS Nitro Enclave、Azure Intel SGX VMs ハイパーバイザ 仮想マシン TEE アプリケーション TEE アプリケーション 仮想マシン TEE アプリケーション TEE アプリケーション
  9. © 2024 NTT DATA Group Corporation 12 活用例2. Confidential VM

    • 仮想マシンをTEEにより保護することで、仮想マシン上のデータをハイパーバイザ(やその運用者)から秘匿 • データアクセス制御は仮想マシン単位になりアプリケーションでの分離はできない • 暗号化が透過的に行われるため既存のアプリケーションをそのまま移植できる サービス例: Azure Confidential VMs、GCP Confidential VMs ハイパーバイザ TEE 仮想マシン アプリケーション アプリケーション TEE 仮想マシン アプリケーション アプリケーション
  10. © 2024 NTT DATA Group Corporation 13 活用例3. Confidential Containers

    • Kataコンテナ等の仮想マシンベースのコンテナランタイムにてTEEを活用し、コンテナ上のアプリケーションのデータを暗号化する • Pod(≒アプリケーション)単位でのデータアクセス制御が可能 • 暗号化が透過的に行われるため既存のコンテナ化されたアプリケーションが流用できる サービス例: Azure Confidential containers on AKS 物理サーバ TEE 軽量仮想マシン TEE 軽量仮想マシン コンテナ アプリケーション サイドカー コンテナ コンテナ アプリケーション サイドカー コンテナ
  11. © 2024 NTT DATA Group Corporation 15 Confidential Computingの現状と展望 •

    2020年ごろから活発に開発が進められ、CPUベンダ・クラウド事業社各社は関連機能・サービスを順次提供開始 • 一部企業はLinux Foundation配下のConfidential Computing Consortium(以下、CCC)等の下、関連OSSを開発 • 特にクラウド上において、機密性が高い情報を取り扱うために必要なデータ保護技術として注目を集める • 昨今はAIの利用拡大によってデータ保護の重要性が高まっており、そのための技術としても注目されている • 国内でも調達要件やガイドラインにおいて関連技術が言及されはじめており、今後普及・展開が進むと予想される • ガバメントクラウド整備のためのクラウドサービスの提供 調達仕様書別紙1 コンピュート機能[1] • 重要情報を扱うシステムの要求策定ガイド[2] 25 機密コンピューティング環境 クラウド利用者からは完全に分離し暗号化された仮想マシンでデータの暗号化/復号が行えるサービスまたはサポート が提供されていること。 26 機密コンピューティング環境 H/Wによってあらかじめ実装され、秘匿対象とするデータが事前に確認し信頼されたプログラムのコードからのみアクセ ス可能な隔離された環境を提供可能であること。 [1] https://www.digital.go.jp/procurement/3058bc41-ee8f-49bb-8f22-8def725f6f3f [2] https://www.ipa.go.jp/digital/kaihatsu/system-youkyu.html
  12. © 2024 NTT DATA Group Corporation 17 まとめ Confidential Computingは

    • 計算途上のデータを守る技術です。既存の技術と組み合わせることでより完全なデータ保護を可能にします • クラウド上のワークロードを保護する仕組み(リモートアテステーション)を実現します • 新しいクラウドセキュリティとして注目を集め、様々な製品機能やサービスが開発・提供されています • 機密データの取り扱いやAIなど、データ保護が重要となる分野での活用が期待されています