1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

概要

Nitroは結構興味があるのでセッションがあると良く聞くのですが、今回はAWS Summitで下記のセッションを聞きました。忘れないうちに聞いた内容をまとめておきたいと思います。

Amazon EC2がセキュアな理由を、専用チップの設計から徹底解説 — EC2インスタンスの裏で動くAWS Nitro System

IMG_20260626_140050876_SR.jpg

EC2の裏側で動いているNitro Systemについて、ハードウェアの設計思想からネットワーキングまで幅広くカバーする内容でした。

シリコンイノベーションの歴史

IMG_20260626_140457487_SR.jpg

AWSのカスタムチップ開発の歴史です。Nitro V1から始まり、現在はNitro V6まで進化しています。並行してGravitonプロセッサも初代からGraviton5まで、さらにML向けのInferentia/Trainiumシリーズも開発されてきました。

Nitro Systemの全体像

IMG_20260626_141037740_SR.jpg

Nitro Systemは3つのコンポーネントで構成されています:

  • Nitro Card — ネットワーク(VPC)、ストレージ(EBS)、ローカルNVMeなどのI/Oを処理する専用ハードウェア
  • Nitro Security Chip — マザーボード上で信頼の起点(Root of Trust)を担う。起動時にファームウェアの整合性を暗号検証する
  • Nitro Hypervisorファームウェア — 最小限の機能だけを持つ軽量ハイパーバイザー

Nitro以前のXenベースではソフトウェアでやっていた仮想化周りの処理を、全部専用ハードウェアにオフロードした形です。これによってホストCPUのリソースをゲストに丸ごと渡せますし、パフォーマンスも改善します。

SRD

IMG_20260626_141348909_SR.jpg

AWSのサーバ間の通信で使用されるAWSが開発したSRDプロトコルの説明です。従来のTCPだと1フローが1パスに固定されるので、特定の経路に負荷が集中してしまいます。SRDはこの「1フロー1パス」の制約をマルチパス通信で解決します。パケット単位で複数経路に分散し、輻輳制御とパケットの並べ替えをNitro Cardがハードウェアで処理します。

ENA Expressでのネットワークフロー

IMG_20260626_141647580_SR.jpg

ENA Expressのネットワークフローです。図では、インスタンス→ENA→AWSネットワーク内の複数ノード→対向ENA→インスタンスという流れが描かれていて、SRDによって複数のパスにフローが分散されている様子が見て取れます。

コンフィデンシャルコンピューティング

IMG_20260626_142342063_SR.jpg

ここからセキュリティの話です。「処理中のデータの保護」として2つの観点が提示されました。まずは一つめの「① クラウドプロバイダからの保護」です。

「クラウド事業者の社員がうちのデータ見れるのでは?」という疑問に対して、Nitro Systemでは「ポリシーで禁止している」のではなく、そもそもアクセスする仕組み自体がハードウェア設計上存在しないという作りになっています。

Nitro Systemによるセキュリティの強化

IMG_20260626_142540187_SR.jpg

クラウドプロバイダーからの保護を実現する4つの仕組みです。

  1. 移動時・保管時の暗号化 — Nitro System内部の通信チャネルはすべて暗号化
  2. 人間のログイン手段なし — サーバーへのアクセスは暗号化されたAPI経由のみ。SSHもコンソールもない
  3. ファームウェアのライブアップデート — 利用者の操作なしでセキュリティパッチ適用が可能
  4. セキュアブート — 起動時に全コンポーネントを暗号検証。改ざんされていたら起動しない

つまりAWSの社員であってもゲストのデータにアクセスする手段が物理的に存在しないということです。

Nitro Enclaves: 機密コードの分離実行

IMG_20260626_143216480_MFNR_HDR.jpg

続いて2つ目の「② お客様組織内での保護」の話です。

Nitro EnclavesはEC2インスタンスの中にさらに隔離された実行環境を作る仕組みです。CPUとメモリが親インスタンスから完全に分離されていて、通信は親インスタンスとのvsock(ローカルソケット)のみ。ネットワークアクセスもインタラクティブなログインもできません。暗号化データをEnclaves内で復号・処理するような用途で使います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?