Slide 1

Slide 1 text

© SAKURA internet Inc. パブリッククラウドにおける 機密コンピューティング 2024-11-12 @ さくらのTech Day さくらインターネット 技術推進統括担当 執行役員 / CIO / CISO 江草 陽太

Slide 2

Slide 2 text

2 自己紹介 @chibiegg 江草 陽太 【所属】 • さくらインターネット (株) 執行役員 技術推進統括担当 兼 CISO 兼 CIO • BBSakura Networks (株) 取締役 【経歴】 • ヴィアトール学園 洛星中学・高等学校 • 大阪大学工学部電子情報工学科情報通信工学専攻 • 個人事業主 (大学生時代に開業) • 大阪大学大学院工学研究科中退 【外部】 • U-22プログラミングコンテスト実行委員長 など 【趣味】 旅行/温泉/写真/電子工作/プログラミング/かわいい服

Slide 3

Slide 3 text

© SAKURA internet Inc. • 機密コンピューティングについて • TEEとVirtualization-TEEについて • クラウドにおける機密コンピューティングについて 今日の内容

Slide 4

Slide 4 text

© SAKURA internet Inc. 機密コンピューティングとは コンフィデンシャル

Slide 5

Slide 5 text

© SAKURA internet Inc. 機密コンピューティングとは ソフトウェアが実行されている間の メモリを暗号化することによって 内容を秘匿しながら処理を行う技術のこと および、その秘匿性を保証・確認するための機構

Slide 6

Slide 6 text

© SAKURA internet Inc. TEE (Trusted Execution Environment) 機密性を保持しながら処理を実行するための ハードウェアで隔離された領域を TEE (Trusted Execution Environment) という 例) ARM TrustZone Apple Secure Enclave Intel SGX

Slide 7

Slide 7 text

© SAKURA internet Inc. TEE (Trusted Execution Environment) TEEの利用においては専用の命令を利用し 専用のソフトウェアを開発する必要がある

Slide 8

Slide 8 text

© SAKURA internet Inc. 身近なTEEの利用例 サーバよりもモバイル端末での利用が主 AndroidではTrustZone / iOSではSecure Enclave 顔認証・指紋認証 Apple Pay / Google Pay

Slide 9

Slide 9 text

© SAKURA internet Inc. サーバやクラウドにおけるTEE 医療情報の処理 プライバシーを保護しながらの個人ゲノム情報解析 DRMによるコンテンツ保護 専用のソフトウェアの開発に見合った用途がない…?

Slide 10

Slide 10 text

© SAKURA internet Inc. Virtualization-based TEE の登場 Virtualization-based TEE 仮想マシン全体を隔離し保護する技術 AMD SEV Intel TDX

Slide 11

Slide 11 text

© SAKURA internet Inc. クラウドにおける 機密コンピューティング

Slide 12

Slide 12 text

© SAKURA internet Inc. Virtualization-based TEE 仮想マシンのメモリ全体をハードウェアレベルで暗号化 QEMUなどのHVもメモリの内容を見ることができない

Slide 13

Slide 13 text

© SAKURA internet Inc. Linuxにおける実際の利用方法は さくらのナレッジ「機密コンピューティング」を活用する方法を実機検証を通して学ぶ https://knowledge.sakura.ad.jp/38508/

Slide 14

Slide 14 text

© SAKURA internet Inc. ハイパーバイザーからの保護 保護されるもの • VMのメモリ 保護されないもの (盗聴や改竄の可能性がある) • ホストとの共有メモリ • ディスクI/O • ネットワークI/O • コンソールなどへの出力

Slide 15

Slide 15 text

© SAKURA internet Inc. 安全に使うための要件 ディスクは暗号化する 暗号を解く前に安全を確認する 復号鍵は安全確認後に外界から入力する

Slide 16

Slide 16 text

© SAKURA internet Inc. 安全を確認する? そのVMがTEEによって 隔離されているかどうかを確認する必要がある ↓ Virtualization-based TEE はCPUの機能であるから CPUに状況を聞けばいい ↓ 「アテステーションレポート」をCPUから取得する

Slide 17

Slide 17 text

© SAKURA internet Inc. アテステーションレポート SEV-SNPの構成がどうなっているか メモリのECCなどが有効かどうか VM起動開始時のメモリのハッシュ値 レポート要求時のノンス + CPUの秘密鍵によるレポート全体の電子署名

Slide 18

Slide 18 text

© SAKURA internet Inc. 起動時の改ざんってどうやって検知するの? 物理サーバの場合 TPM + Secure Boot 例) WindowsのBitLockerによるフルディスク暗号化とか

Slide 19

Slide 19 text

© SAKURA internet Inc. 起動時の改ざんってどうやって検知するの? 機密コンピューティングの場合 Direct Kernel Boot or vTPM + Measured Boot 本来TPMに書かれているRoot of Trustは利用できない アテステーションレポートでカーネルのハッシュ値を直接確認できる 起動中の各種コンポーネントのハッシュ値を客観的に観測する

Slide 20

Slide 20 text

© SAKURA internet Inc. vTPMによるMeasured Bootとアテステーション vTPMもLinuxもSEV-SNPの中で実行する vTPMに各コンポーネントの状態を記録していく 暗号鍵を入れる前にvTPMの結果を確認する vTPMが改竄されてないことはアテステーションレポートで確認する VMPL0 Software vTPM GRUB VMPL2 OVMF Linux Kernel systemd SEV-SNP

Slide 21

Slide 21 text

© SAKURA internet Inc. 安全に使うための手順 フルディスク暗号化をかけたOSディスクとOVMFを用意 機密モードのクラウドで起動する 外からアテステーションする 信頼できる場合、暗号化キーを入力する

Slide 22

Slide 22 text

© SAKURA internet Inc. まとめ

Slide 23

Slide 23 text

© SAKURA internet Inc. まとめ 仮想型の機密コンピューティングを利用すると クラウド事業者も信用しないまま クラウドを利用することができる 仮想化基盤や管理システムを自社開発していると こういった面白いことにも直接関わることができる