特定ユーザーのみが利用可能な 仮想プライベート・ネットワーク 学籍番号:9804020 宇崎 央泰 1 仮想プライベートネットワーク (VPN)とは オープンネットワーク上に、仮想的にプライ ベートネットワークを構築する技術 暗号化、ハッシュ関数、認証などの技術を使い、 盗聴、改竄、なりすましなどの危険を防ぐ 代表的なVPNプロトコル:IPsec、PPTP、 L2TP、SSH 2 VPN の認証 IPsec VPN確立のときに 送信元と受信先のホストを認証 IPパケット単位で暗号化 SSHのポートフォワーディング VPN確立のときにユーザーのRSA認証を行う TCPストリームを暗号化 3 VPNの問題点 他のユーザーにVPNを利用されてしまう ユーザーの概念が取り入れられていない VPNの入り口でユーザー認証が行われない Grandma のような共有計算機では問題 このプロセスのユーザーが VPNを作成 他のユーザーのプロセスまで VPNを使えてしまう VPNの入り口 VPN サー バー 4 パーソナルVPN(PVPN) の提案 パケットごとにユーザー認証を行うVPN PVPNを作成したユーザーしか使えない PVPNの入り口でPVPNフォワーダ(PVPNF)がパケッ トの認証をし、PVPNにフォワーディングか遮断する PVPNフォワーダは信頼する このプロセスのユーザーが PVPNを作成 他のユーザーのプ ロセスはPVPNを利 用できない PVPN PVPNフォワーダ 5 パーソナルVPNの 認証と暗号化 SSL (Secure Socket Layer) で実現 PVPN作成時に クライアントがサーバ・ホストを認証 認証後の通信の暗号化 ユーザの認証 PVPN作成時に、SSL上で、 RSAでPVPNを作成するユーザーを認証 6 PVPN入り口のユーザー認証 Divertソケットで横取り IPパケットの送信ユーザーを調べる procファイルシステムを利用 tcp通信の場合、送信元ポートと/proc/net/tcpの local_addressのポート番号が一致するエントリのユー ザーIDからわかる PVPNF App PVPNF Divert ソケット PVPNフォワーダ パケットのユーザー認証 とフォワーディング PVPN PVPNF App Rawソケット 7 PVPNの連結 2つのPVPN間でルーティング可能 サーバとクライアントが直接通信できない場合 (例: private IP)に利用 RSA認証によるユーザー認証 途中のゲートウェイが中継 クライアント ゲートウェイ ② サーバー ① ①サーバーがゲートウェイに 対しRSAユーザー認証を行う ②ゲートウェイはRSAユー ザー認証をクライアントに中継 8 PVPNのオーバーヘッド 実験 WebStoneベンチマークを利用 計測 Web server のスループットと平均レスポンスタイム 以下の3つについて計測 サーバーとクライアントが直接通信 パーソナルVPNを通して通信(暗号化無し) パーソナルVPNを通して通信(暗号化有り) 9 実験結果 PVPNを使うと10倍から数百倍遅くなる 100倍以上遅くなるときは、パケットの再送が 頻繁に起きていた 表:Throughput(Kbyte/sec) File size(byte) 1k 10k 1000k 711.3 3168.8 8497.3 Noencrypt 6.1 262.6 821.6 Encrypt 2.2 30.8 629.1 Normal 10 まとめ パーソナルVPNを提案・実装した パケットごとにユーザー認証を行うVPN 今後の課題 再送が頻発する原因を調査、修正 PVPNの連結は設計はできているが、まだ未完成なの で、実装を完成させる カーネル内部に実装を行う 11
© Copyright 2024 ExpyDoc