VPNとホストの実行 環境を統合するパーソナルネットワ

VPNとホストの実行環境を統合
するパーソナルネットワーク
光来健一* 廣津登志夫* 佐藤孝治*
明石修* 福田健介* 菅原俊治* 千葉滋**
*NTT未来ねっと研究所
**東京工業大学
複数のネットワークの同時利用

VPNの普及

管理者によるLAN間接続だけでなく、ユーザ
によるリモートアクセスに




IPsec road warrior、ssh port forwarding
仮想的なLANに見せかける
インターネット上で情報の漏洩を防ぐ
複数のネットワークを使う機会が増加

LANと複数のVPN
複数のネットワークを扱うホスト
の問題

名前空間の衝突

172.16.0.1
組織1
各ネットワークのIPアドレス
やホスト名が重なるかも
VPN1

172.16.0.1
組織2
VPN2
VPNからの情報漏洩

他のネットワークに機密情
報が流れるかもしれない

ホスト上のプロセスやファイ
ルシステムを介して
インターネット
ネットワークの排他制御の必要性

従来のOSはネットワークを排他的に利用
できなかった



名前空間が1つしか提供されていない
プロセスには全てのネットワークが見える
IPが重ならないように運用し、データの流
れに注意を払う必要があった

LAN間接続のVPNではネットワークは1つ
だったので問題なかった
パーソナルネットワーク

VPNとホストの実行環境
を統合


プロセスとVPNを結びつ
ける
httpd
独立したネットワーク

独自の名前空間を持つ


popper
ベースネットワークと同じIP
アドレスも使える
VPN
メーラ
情報の流れを制限できる

機密情報を外に漏らさない
ブラウザ
ポートスペース
プロセス

VPN毎に分離された
実行環境



ネットワークとファイル
システムの空間を分離
ユーザプログラムは ファイル
システム
そのまま動かせる
transport
IP
IPsec
link
transport
IP
IPsec
link
VPN1
継承
継承


親の実行環境の一部
を利用できる
ユーザが作り易くなる
transport
IP
link
ホスト
VPN2
ルート・
ポートスペース
ベースネットワーク
ネットワーク空間の多重化

ポートスペースは以下の空間を独自管理

ネットワークインタフェース空間


IPsec空間


IPの設定とルーティングテーブル
トランスポート空間

ソケット
TCP UDP ICMP
VPNの設定
IP空間


VPNの出入り口
ポートへのソケットのバインド
IP
IPsecポリシー
IPsec SA
gif0
gif1
lo0
他のホストの
ポートスペースへ
ネットワークサービスの継承

親ポートスペースで提供されているサー
ビスを継承

サービスの上書き、隠蔽もできる
子ポートスペース
IPsec
ポート80
リクエスト
転送
ポート80
親ポートスペース
ウェブ
サーバ
ファイルシステム空間の多重化

ポートスペース毎に独自のファイルシステ
ムを提供


プロセスは他のポートスペースのファイルシ
ステムにアクセスできない
ファイルシステムの継承


親ポートスペースのファイルシステムを参照
変更は子ポートスペースのファイルシステム
へ
パーソナルネットワークの例
httpd
継承
継承
popper
httpd
自分用のウェブサーバ
が使えるパーソナル
ネットワーク
安全にメールを読む
ためのパーソナルネッ
トワーク
継承
ポートスペース間の通信
クライアント
プロセス
IP
ルーティング
テーブル
パーソナルネットワーク
における次のホストを
検索
サーバ
プロセス
配送先の
ソケットを選択
IPsec通信路の
有無を検索
PCBリスト
SPD
IP IPsec IP
ベースネットワーク
における次のホスト
を検索
SPI-ポートスペース
ハッシュテーブル
IPsecトンネル
ルーティング
テーブル
IP
カーネル
IP
SPI
ポートスペース
を選択
パーソナルネットワークの作成:
unite

自分のホストにリモートホストを結合
自分のホスト
unite
リモートホスト
racoon
racoon
子ポートスペース
500→500
1026→1026
NPTテーブル
united
NPTテーブル
ルート・ポートスペース
ネットワーク・ポート・トランスレーション(NPT)
親ポートスペースの通信路を使って通信
親子間でポート番号をつけかえる
パーソナルネットワークへの参加:
reunite

パーソナルネットワークに外部から加わる
自分のホスト
reunite
racoon
パーソナルネットワーク内のホスト
racoon
united
united
ルート・ポートスペース
アップコール
認証
カーネル
実装

ポートスペースをFreeBSD 4.7に実装

ネットワーク空間の多重化


ネットワークに関するデータベースをポートス
ペース毎に管理
ファイルシステムの多重化


継承なし:chrootをベース
継承あり:unionファイルシステムをベース
実験

ポートスペースのオーバヘッドを調べた

ベンチマークプログラム: netperf、ab




ベースネットワーク+IPsec
パーソナルネットワーク
パーソナルネットワーク+継承
実験環境



PC(PentiumIII-S 1.4GHz) 2台
100baseTのイーサネットで接続
IPsecの暗号化と認証はなし
実験結果:netperf
往復のレイテンシ(μsec)
スループット(Mbps)
140
96
135
94
130
92
125
90
120
88
TCP
UDP
ベースネットワーク+IPsec
パーソナルネットワーク
パーソナルネットワーク+継承
1.5%のレイテンシ増大
TCP
UDP
ベースネットワーク+IPsec
パーソナルネットワーク
パーソナルネットワーク+継承
0.1%のスループット低下
実験結果:ab
リクエスト/秒
thttpdの性能の変化
5500
5000
4500
4000
3500
3000
2500
2000


1 2 3 4 5 6 7 8
並行度
ベースネットワーク+IPsec
パーソナルネットワーク
パーソナルネットワーク+継承
並行度1では性能低
下は1.1%
並行度が増すと性能
低下は3.9%に
関連研究:仮想OS

jail、VMware

既存の環境の上に仮想的な環境を作る



既存の環境の名前空間を汚染する
既存の環境からアクセスできる
ネットワーク・スタックの仮想化 [Zec’02]

ポートスペースのネットワーク多重化と同じ

継承はない
ネットワークからは複数のホストに見える
関連研究:仮想ネットワーク

仮想インターネット [Touch et al.’02]



パーソナルVPN [宇崎ら’02]


仮想ネットワーク毎にホストに実行環境を作る
実行環境の間でルーティング
特定のユーザからのみ利用できるVPNを作れるよ
うにする
VNAP [廣津ら’00]

VLANによって通信を分類し、ホストの特定の実行
環境と結びつける
まとめと今後の課題

パーソナルネットワークを提案した

VPNとホストの実行環境(ポートスペース)を
統合する



名前空間の衝突を防ぐ
情報の流れを制御する
今後の課題


パーソナルネットワーク間の情報のやりとり
パーソナルネットワーク毎のQoS
パーソナルネットワークの構築に
おける制約

チャイニーズウォール・モデルを採用

パーソナルネットワークに1つの組織の情報
しか含まれないようにする

サービスを継承した時、サーバプロセスを介して
情報が漏れる危険性があるため
NTT
NTT
継承
○○大学
NTT
サーバプロセス