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