インターネットにおける真に プライベートなネットワークの構築

Slides:



Advertisements
Similar presentations
電子社会設計論 第12回 Electronic social design theory 中 貴俊.
Advertisements

TCP / IP の基礎 ネットワーク管理者入門. インターネットを支える技術 ISO の 7 階層プロトコルと TCP / IP の実装 階層機能関連する TCP / IP プロ トコル アプリケーション層電子メールやファイルの転送 といった、具体的なアプリ ケーションが使用する規約 TELNET.
プロセスの依存関係に基づく 分散システムのセキュリティ機構
Webプロキシサーバにおける 動的資源管理方式の提案と実装
第1回.
クラウド上の仮想マシンの安全なリモート監視機構
SSHのセキュリティ技術 SSH2 IPSec PKI TLS/ SSL
(株)アライブネット RS事業部 企画開発G 小田 誠
(株)アライブネット RS事業部 企画開発G 小田 誠
Ibaraki Univ. Dept of Electrical & Electronic Eng.
IaaS 仮想マシン(VM)をネットワーク経由で提供 負荷に応じてVM数や性能を変更できる ハードウェアの導入・管理・維持コストの削減
第14回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
CGI Programming and Web Security
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
「コンピュータと情報システム」 07章 インターネットとセキュリティ
「まめだくん Ver.1.0」 特徴と利用方法.
ネットワーク コミュニケーション トランスポート層 TCP/UDP 6/28/07.
XenによるゲストOSの解析に 基づくパケットフィルタリング
TCPソケットプログラミング ソケットプログラミング TCP-echoのデータ通信手順
第13回 今日の目標 §4.3 情報セキュリティー 情報化社会の特徴を社会的な面から概観する 情報に関わる危険の要因を示す
トランスポート層.
Telnet, rlogin などの仮想端末 ftp などのファイル転送 rpc, nfs
ネストした仮想化を用いた VMの安全な帯域外リモート管理
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
サーバ構成と運用 ここから私林がサーバ構成と運用について話します.
クラウドの内部攻撃者に対する安全なリモートVM監視機構
GoNET 競合比較 POPCHAT 2015年04月 アイビーソリューション株式会社.
第2章 第1節 情報通信の仕組み 1 ネットワークの仕組み 2 通信プロトコル 3 認証と情報の保護
Step.9 VPN VPNのトンネルを張る PC 3 PC 1 PC 2 論理ネットワーク1 xx (自動割当)
インターネット概論第3回 kudo担当分.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
Linux リテラシ 2006 第4回 ネットワーク CIS RAT.
IPv6 ネットワークにおける エニーキャスト通信実現のための プロトコル設計と実装
ネットワークアプリケーションと セキュリティ
踏み台攻撃だけを抑制できる VMMレベル・パケットフィルタ
インターネットの基礎知識 その3 ~TCP・UDP層編~
7. セキュリティネットワーク (ファイアウォール)
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
ソケットプログラム(TCP,UDP) EasyChat開発
分散IDSの実行環境の分離 による安全性の向上
第15章 TFTP:トリビアル・ファイル転送プロトコル
岡村耕二 トランスポート層 ソケットプログラミング 岡村耕二 情報ネットワーク.
共通暗号方式 共通のキーで暗号化/復号化する方法 例) パスワードつきのZIPを送信して、後からパスワードを送る方法 A さん B さん
仮想マシンモニタによる きめ細かい パケットフィルタリング
PGP インターネットで 広く使われている暗号技術
キャンパスクラウドによる 実験環境の構築 情報ネットワーク特論 講義資料.
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
クラウドにおけるIntel SGXを用いた VMの安全な監視機構
UDPマルチキャストチャット    空川幸司.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
クラウドにおけるVMリダイレクト攻撃を防ぐためのリモート管理機構
複数のオーバレイネットワークを制御するためのプライベートなネットワーク環境
岡村耕二 トランスポート層 岡村耕二 情報ネットワーク.
インターネットにおける パーソナルネットワークの構築
Intel SGXを用いた仮想マシンの 安全な監視機構
VPNとホストの実行環境を統合するパーソナルネットワーク
仮想環境を用いた 侵入検知システムの安全な構成法
仮想マシンに対する 高いサービス可用性を実現する パケットフィルタリング
VMリダイレクト攻撃を防ぐための 安全なリモート管理機構
岡村耕二 TCP通信プログラム 岡村耕二 情報ネットワーク.
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第11回 プロセス間通信4 仮想FTPの実現 担当:青木義満
異種セグメント端末による 分散型仮想LAN構築機構の設計と実装
特定ユーザーのみが利用可能な仮想プライベート・ネットワーク
TCP/IPの通信手順 (tcpdump)
ソケットの拡張によるJava用分散ミドルウエアの高信頼化
管理VMへの キーボード入力情報漏洩の防止
ユーザ認証の盗聴 2002/9/10 峯 肇史 牧之内研究室「インターネット実習」Webページ
VPNクライアント接続 サーバー保守のための安全な経路+作業者単位のアクセス制御 簡単な図 (網羅性より象徴性)
岡村耕二 TCP通信プログラム 岡村耕二 情報ネットワーク.
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

インターネットにおける真に プライベートなネットワークの構築 東京大学    光来健一 筑波大学    千葉滋

パーソナルネットワーク 特定のユーザだけが使えるネットワーク OSが提供する機能 あるネットワーク資源について、 特定ユーザのプロセスだけにアクセスを許可

パーソナルVPN 特定ユーザのための Virtual Private Network kourai VPN kourai kourai process VPN kourai kourai process firewall 分散並列処理 メールの読み込み ftp, web, ... : chiba process hosting service chiba

既存のVPNの問題点 同一ホストからであれば、全てのユーザが使えてしまう IPsec PPTPやプロキシによるport forwarding モチベーション 既存のVPNの問題点 同一ホストからであれば、全てのユーザが使えてしまう IPsec ホスト間の認証のみ PPTPやプロキシによるport forwarding 認証に成功したユーザだけがVPNを作れるが、作られたVPNは誰でも使える

セキュリティ上の問題 IPアドレスによるアクセス制限 ウェブの内部ユーザ向けのページ TCP Wrapper モチベーション セキュリティ上の問題 IPアドレスによるアクセス制限 ウェブの内部ユーザ向けのページ 130.158.85.* だけアクセスを許可 TCP Wrapper 130.158.85.* ならpopへのアクセス許可 VPNによってセキュリティ・ホールができる 例えば、port forwardingをするとリモートホストからのアクセスでも内部からのアクセスに見える

現実的な対処 アプリケーション毎にVPNを作成 SSL (Secure Socket Layer) 問題点 モチベーション 個々のアプリケーションが対応しなければならない アプリケーション毎にセッションを確立しなければならず、資源を浪費しがち 最初の認証は重い

virtual private network 提案 OSによるアクセス制限(1) プロセスのユーザを考慮 VPNの入り口で制限 双方のOSが信頼できる場合 ユーザIDによりVPNの利用を制限 kourai chiba kourai OS OS virtual private network

virtual private network 提案 OSによるアクセス制限(2) VPNの出口で制限 送り元のOSが信頼できない場合 登録されていないホスト、DHCP リモートユーザ認証によりVPNの利用を制限 kourai chiba kourai OS OS virtual private network

リモートユーザ認証の実装 TCPオプションを用いて、TCPコネクションの3-way handshakeと同時に認証を行う プロトタイプ実装 リモートユーザ認証の実装 TCPオプションを用いて、TCPコネクションの3-way handshakeと同時に認証を行う なるべく早い段階で許可されない通信をブロックする ユーザ認証に必要なパケット数をなるべく減らす

ユーザの公開鍵の送信 クライアントはSYNパケットでユーザの公開鍵のハッシュ値を送る プロトタイプ実装 ユーザの公開鍵の送信 クライアントはSYNパケットでユーザの公開鍵のハッシュ値を送る ハッシュ値はIPアドレス、ポート、シーケンス番号も含めて計算し、攻撃されにくくする サーバは存在しないユーザや接続が許可されていないユーザなら、接続を拒否できる

チャレンジの送信 サーバはSYN+ACKパケットでチャレンジを送る 受け取ったハッシュ値に対応する公開鍵でセッション鍵(乱数)を暗号化する プロトタイプ実装 チャレンジの送信 サーバはSYN+ACKパケットでチャレンジを送る 受け取ったハッシュ値に対応する公開鍵でセッション鍵(乱数)を暗号化する TCPオプションには入りきらないので、データ部に入れる

レスポンスの送信 クライアントはレスポンスをACKパケットで送る プロトタイプ実装 レスポンスの送信 クライアントはレスポンスをACKパケットで送る 受け取ったチャレンジを秘密鍵で復号し、 そのハッシュ値を計算してレスポンスを生成する レスポンスが正しければ、ユーザ認証が成功する 正しくなければ、接続を切断する

リモートユーザ認証の簡略化 一旦ユーザ認証した後は簡略化できる ユーザの公開鍵を送る際に、以前に交換したセッション鍵のハッシュ値も送る プロトタイプ実装 リモートユーザ認証の簡略化 一旦ユーザ認証した後は簡略化できる ユーザの公開鍵を送る際に、以前に交換したセッション鍵のハッシュ値も送る ハッシュ値はシーケンス番号も含めて計算する リプレイ攻撃を防ぐ セッション鍵が正しければ認証完了 期限切れなら通常の認証を行う

通信の暗号化の実装 準備段階としてSSL Wrapperを実装した カーネルでアプリケーション透明にSSLを実装できるかどうか検証 プロトタイプ実装 通信の暗号化の実装 準備段階としてSSL Wrapperを実装した カーネルでアプリケーション透明にSSLを実装できるかどうか検証 どの層でどの暗号を用いるのが良いかは現在、模索中 OpenSSLライブラリを用いた

SSL Wrapper システムコール関数をフックし、透過的にSSLを用いて暗号化通信を行う プロトタイプ実装 SSL Wrapper システムコール関数をフックし、透過的にSSLを用いて暗号化通信を行う LD_PRELOADで指定したライブラリを先にロードし、libcの関数をオーバロードする connect → connect + SSLconnect accept → accept + SSLaccept read, write → SSLread, SSLwrite ...

SSL Wrapperからの知見 SSLacceptはコネクションが張られた時点で行う プロトタイプ実装 SSL Wrapperからの知見 SSLacceptはコネクションが張られた時点で行う acceptを発行した時点ではデッドロックする場合がある(ftp) SSLacceptが完了してからlistenソケットをselectで返す acceptするとブロックする場合がある non-blockingソケットでのconnectへの対応 connectはしたが、SSLのネゴシエーションが完了していない場合がある

関連研究 ssh X11 forwarding IPsec Ident Xの認証機構を使ってポートの使用を制限 Security Association(SA)をユーザ毎に割り当てることも可能かもしれない Ident TCPコネクションを張ったユーザを問い合わせるプロトコル

まとめと今後の課題 パーソナルVPNを提案した OSによるユーザのアクセス制限を行う 今後はカーネルで暗号化を行えるようにしていく