ユビキタスネットワーク環境を想定した P2P 型プレゼンスシステム
ならびに IPv4 NAT 環境下での P2P 通信の 実現方式の研究
松浦克智
電気通信大学大学院 情報システム学研究科 博士(工学)の学位申請論文
2010 年 3 月
ユビキタスネットワーク環境を想定した P2P 型プレゼンスシステム
ならびに IPv4 NAT 環境下での P2P 通信の 実現方式の研究
博士論文審査委員会
主査 長岡浩司教授
委員 森田啓義教授
委員 吉永努教授
委員 多田好克教授
委員 笠井裕之准教授
委員 大坐畠智准教授
著作権所有者 松浦 克智
2010
A study on Peer-to-Peer Presence Information Exchange System and Source IP-based dynamic configuration
of NAT with Firewall capability in Ubiquitous Computing Environment
Matsuura Katsunori
Abstract
This thesis has proposed Peer to Peer Exchange System, Source IP-based dynamic configuration of firewall and NAT capability and Advanced IPsec Pass Through.
In ubiquitous network, where Internet access is available “anytime and anywhere,” presence services play a major role in understanding the companions’ status and availability prior to communication.
First, a peer-to-peer system architecture for presence services is proposed.
The proposed architecture made a distinct separation between core presence service functions, P2P communicative applications, and ubiquitous devices.
When the presence information is exchanged directly among user’s computer, the user enables to control the privacy information. In the proposed P2P architecture, load of presence servers on each computing node is not heavily influenced for the number of users, but only by the number of buddy members of each user. The experiment result shows the buddy members per user is allowed from 50 to 70 on one PDA device. The proposed method shows enough scalability.
Home LANs are now being installed in many houses, and electronic
appliances with network functions are increasingly used. To encourage the
widespread adoption of these appliances and LANs, issues of the Internet
proposed method is implemented on home routers. A home router with these functions enables to support access from outside of home network to the inside and the user is not required with any special technical knowledge or additional software. The users enables to access home appliances from outside by setting via its Web browser. Multiple devices in a LAN enable to share the same service port number of global IP address of NAT.
The proposed source address NAT method is extended to IPsec NAT
Traversal. The proposed source-address-based NAT method enables multiple
hosts in a LAN to receive IPsec (ESP and IKE). With this method, outside users
can access different IPsec hosts inside a LAN independently of each other.
ユビキタスネットワーク環境を想定した
P2P 型プレゼンスシステムならびに
IPv4 NAT 環境下での P2P 通信の実現方式の研究 松浦 克智
概要
本論文は、ワイヤレス LAN や携帯電話網などを用いたワイヤレスネットワーク などを含む多様なアクセス回線と、外出先で利用可能な共用端末や個人のノート PC 、 PDA など多様な端末が利用されるユビキタス環境でのユーザの新たなネット ワークの利用シーンに対応した、 P2P 型プレゼンスシステムと、ファイアウォー ル・ NAT 制御技術を提案する。
ユビキタスネットワーク環境のように、ユーザいつでも、どこでもインターネッ トにアクセスできる状況においては、ユーザがインターネットに接続している際に、
常にチャットや VoIP などの双方向コミュニケーションができる状況にあるとは限 らない。ユーザが双方向コミュニケーションできる状態にあるのか、通信アプリケ ーションは文字や音声や映像のうち何が望ましいのか、といった情報を伝えること で、円滑なコミュニケーションを実現することができる。しかし、プレゼンス情報 を高頻度でやりとりをするとプレゼンスサーバへの負荷が高くなりスケーラビリ ティが低くなる課題がある。また、詳細なプレゼンス情報を交換しようとすると、
それらの情報はプライバシ情報を含むようになり、個人情報の保護が課題となる。
本論文ではユーザの持ち運ぶ端末にプレゼンスサーバを配置することで負荷の集 中を防ぐとともに、ユーザのプレゼンス情報をユーザの端末内で収集・加工するこ とで、プライバシの保護を実現する P2P 型プレゼンスシステムを提案し実装評価 を行う。
また、ユビキタス環境では、ユーザ同士のコミュニケーションだけでなく、ユー ザが外出先から自宅のサーバや情報家電等にアクセスすること利用が想定される。
しかし、プライベートアドレスを用いて構築された家庭内の LAN にアクセスする には、ファイアウォールの制御や NAT の制御などを行う必要があるという課題が ある。本論文では、ユーザが安全・簡単に LAN 内の機器にアクセスできるファイ アウォール・ NAT 制御技術を提案し、実装評価を行う。
第 1 章で研究の背景と、次章以降の概要について述べる。
課題となるプライベートアドレスとグローバルアドレス間の通信やセキュリティ に対応した技術としてファイウォール、 NAT 、 IPsec の技術の概要とそれらの課題 について述べる。
第 3 章では、 P2P 型プレゼンスシステムについて提案する。このシステムは、
ユーザ同士のコミュニケーションをユビキタス環境で円滑に行うために、ユーザの 位置情報や回線情報などプレゼンス情報を相互に高頻度で交換することを目的と している。このプレゼンス情報を用いて端末はアクセスしている回線の帯域やユー ザの状態によって、ビデオチャットや文字チャットなどから適切なコミュニケーシ ョンツールが自動的に選択することが可能となる。本システムはユビキタス環境で のプレゼンス情報の交換を目的としており、無線 LAN と移動体通信( PHS )の異 なる通信メディアのハンドオーバーを実装し、ネットワークの利用状況をプレゼン ス情報に加工して用いることができる。これらの特徴をもつ完全分散型( P2P 型)
のプレゼンスシステムをモバイル端末上に試作し、方式の有用性を確認した。
第 4 章では、一般家庭やオフィス環境のサーバや情報家電などの安全かつ簡単に アクセスするための新たなファイアウォール技術と NAT 技術を提案する。正規の ユーザを認証した際に取得したユーザの IP アドレスをファイアウォールと NAT のルールに動的に組み込むことで、次に示す利点を実現する。提案方式のファイア ウォールは認証された正規のユーザが利用中であっても、 IP アドレスの異なる他 のユーザからのアクセスを遮断することができる。また提案方式の NAT 方式は、
認証されたユーザの利用している IP アドレスを内部の機器と対応付ける NAT ル ールを生成することで、従来は一つのポート番号で一つのサーバのみを公開できる 従来の NAT と異なり、異なるユーザが同一のポート番号を用いて、 LAN 内の異な るサーバに、それぞれ独立してアクセスすることを実現する。これらの制御方式は WEB ブラウザのクリックのみで操作することができる。提案方式はルータ装置の みで実装され、端末や内部の機器には追加のソフトウェアのインストールや設定を 行うことなく利用できるため、既存の LAN 環境にそのまま導入でき、普及が容易 である。この方式をブロードバンドルータ上に試作し、方式の有用性を確認した。
第 5 章では NAT のある環境で、外部端末からの IPsec 通信を LAN 内の異なる 端末がそれぞれ独立して受けられるようにする方式を提案する。従来の技術の課題 を解決するため、 IPsec Pass Through を拡張することで、 NAT 内の異なる端末に 対して、外部から IPsec 通信を開始できる技術を提案する。提案方式では、従来の IPsec Pass Through に、 通信する端末のアドレスを NAT ルールに組み込む Source
Address Based NAT を適用することで LAN 内の複数の端末が、それぞれ独立し
て外部の端末から IPsec の通信を受けることを実現する。
第 6 章では第 5 章までの結果についてまとめる。
目次
1章 はじめに...1
2章 ユビキタス環境を実現する IP ネットワーク技術とプレゼンスアプリケーションの既存 技術 ...6
2.1. ネットワークアクセス環境の普及...6
2.2. プレゼンスサービスの普及...6
2.3. プレゼンスサービスの標準プロトコル...8
2.4. SIP SIMPLE ...12
2.4.1. SIP 概要...12
2.4.2. SIP SIMPLEの概要...13
2.4.3. 従来のプレゼンスシステムの課題...15
2.5. ファイアウォール...16
2.6. IPsec...17
2.6.1. IPsecのトンネルモードとトランスポートモード...18
2.6.2. IPsec AH...19
2.6.3. IPsec ESP ...20
2.6.4. SPとSA、IKE...21
2.7. NAT ...22
2.7.1. NAPT...22
2.7.2. 静的アドレス変換(Port Forwarding)...26
2.7.3. NAT技術の課題...27
2.8. IPsec NAT Traversal技術...28
2.8.1. IPsec Pass Through ...29
2.8.2. UDP Encapsulation of IPsec ESP Packets...32
2.8.3. NAT Traversalの課題...33
3章 P2P型プレゼンスシステムの実装...35
3.1. P2P型プレゼンスシステムの設計要件...35
3.2. コンテキストによるプレゼンスサービスのプラットフォームとその課題...35
3.3. FieldCast実装...37
3.3.1. P2P型プレゼンスサーバ...38
3.3.2. P2Pでの情報共有の既存研究...39
3.3.3. SIMPLEプロトコルの採用...40
3.4. FieldCastのソフトウェアアーキテクチャ...41
3.4.1. 外部への標準化されたAPIをもつモジュール設計...42
3.5.1. 実装環境...45
3.5.2. 試験内容...46
3.5.3. 端末へのCPU負荷の測定...46
3.5.4. CPU負荷とプレゼンス通知間隔とのトレードオフ...47
3.5.5. 不安定なネットワーク上でのコネクションレス型の転送プロトコルの課題と提案.. ...48
3.5.5.1. SIMPLEプロトコルの適用による課題...48
3.5.5.2. 改善のための中央サーバと分散方式のハイブリッド方式...49
3.6. センサデバイスとプレゼンスエンジンの接続動作...49
3.6.1. フィールド試験の結果と評価...50
3.7. むすび...51
4章 動的ファイアウォール制御、動的NAT制御の提案・実装...53
4.1. 本提案方式の特徴...53
4.2. 動的ファイアウォール制御方式...54
4.3. ソースIPアドレスベースルールの生成方法...55
4.4. 動的NAT制御による複数ユーザと複数デバイス環境でのNATアクセスの向上....58
4.5. 正規のユーザが外部のNATにいる場合の課題...59
4.6. デバイスリストの作成方法...60
4.7. SGWの実装評価...60
4.7.1. 提案方式の実装環境への要求条件...60
4.7.2. 方式実装...61
4.8. ユーザインタフェース...61
4.9. 検証・評価...62
4.9.1. 試験環境1...62
4.9.2. 試験環境2...63
4.9.3. 試験環境3...63
4.10. IPv6環境での本提案方式の意義の考察...63
4.11. 既存のリモートアクセス、NAT Traversal技術との比較...64
4.11.1. IPsecによるリモートアクセス...64
4.11.2. PPTP、L2TP ...64
4.11.3. UPnP...64
4.11.4. UDP/TCPポートパンチング...65
4.11.5. m2m-X ...66
4.11.6. その他の技術(キャリアによるVPNサービスや、シャープガリレオなど)...66
4.11.7. 動的ファイアウォール、NAT制御技術と既存サービスの比較...67
4.12. むすび...71
5章 IPsec-NAT traversal へのソースIPアドレスベースNATの適用...72
5.1. NAT経由でのIPsec利用の必要性...72
5.2. 本論文での提案方式の概要...72
5.3. 目的とするIPsec通信...73
5.4. 提案方式...74
5.5. Source Address Based NAT Ruleの動的生成方法...78
5.6. 両端末がNAT配下でLAN内の端末が複数のケースへの拡張...79
5.7. NATルールの生成について...82
5.8. 実証試験...83
5.8.1. 試験NW...83
5.8.2. 試験ソフトウェア構成...84
5.8.3. コンフィグレーション...84
5.8.4. 試験結果...85
5.9. むすび...85
6章 結果...88
謝辞...91
参考文献...92
図目次
図 1-1 従来のインターネット利用のモデル...2
図 1-2 ユビキタスネットワークでの利用モデル...2
図 2-1 プレゼンスサービスと、プレゼンティティ、ウォッチャ...8
図 2-2 プレゼンスサービス概要 初期状態...9
図 2-3 プレゼンスサービス概要 プレゼンティティのプレゼンス情報更新...9
図 2-4 プレゼンスサービス概要 プレゼンスサービスへのプレゼンス情報通知...10
図 2-5 プレゼンスサービス概要 プレゼンスサービスからサブスクライバへの更新通知. ...10
図 2-6 プレゼンス情報の構造... 11
図 2-7 SIP基本フロー...13
図 2-8 SIMPLE 基本フロー...15
図 2-9 ファイアウォールを含むネットワーク...17
図 2-10 IPsecトンネルモードで動作するルータを含むネットワーク...18
図 2-11 通常のIPパケット概略図...18
図 2-12 トンネルモードのIPsecパケットの概略図...19
図 2-13 トランスポートモードで動作する端末を含むネットワーク...19
図 2-14 トンネルモードのIPsecパケットの概略図...19
図 2-15 IPパケット概略図...20
図 2-16 トランスポートのAHのIPsecパケットの概略図...20
図 2-17 トンネルモードのAHパケットの概略図...20
図 2-18 トランスポートモードのESPのIPsecパケット概略図...21
図 2-19 トンネルモードのESPのIPsecパケット概略図...21
図 2-20 NAPTルータを含むネットワーク...23
図 2-21 TCPパケット概略図...23
図 2-22 NAPT変換されたパケット...23
図 2-23 NAPT装置へ向けた応答パケット...23
図 2-24 NAPT装置がアドレス変換したパケット...24
図 2-25 端末Bが生成したWEBアクセス要求のTCPパケット...24
図 2-26 NAPT装置によってアドレス変換された端末Bの生成したパケット...25
図 2-27 NAPT装置に返したパケット...25
図 2-28 NAPT装置がアドレス変換して端末Bへ送信したパケット...25
図 2-29 静的アドレス変換を行うNATルータを含むネットワーク...26
図2-30 NATで接続されたLAN内にWEBサーバが二台あるネットワーク...28
図2-31 IPsec Pass Through装置を含むネットワーク...30
図2-32 端末αからIPTへのパケット...31
図2-33 IPTから端末Aへのパケット...31
図2-34 端末AからIPTへのパケット...32
図2-35 IPTから端末αへのパケット...32
図2-36 UDPカプセル化したトランスポートモードのESPパケット...33
図2-37 UDPカプセル化したトンネルモードのESPパケット...33
図3-1 コンテキストによるプレゼンスサービスとその課題...36
図3-2 従来の中央サーバ型プレゼンスシステム...38
図3-3 P2P型プレゼンスシステム...39
図3-4 P2P型プレゼンスシステムでのSIMPLEのシーケンス...41
図3-5 Field Castアーキテクチャ概要...42
図3-6 プライバシポリシエンジンの概略...44
図3-7 プレゼンスビューワ画面...45
図3-8 CPU利用率と接続数の関係...47
図3-9 位置センサの動作結果...51
図4-1 SGWを含むネットワーク...54
図4-2 NAT配下の端末からSGWへアクセスするネットワーク...59
図4-3 WEBブラウザによる認証画面...62
図4-4 WEBブラウザによる制御画面...62
図5-1 目標とするNAT環境でのIPsec通信...74
図5-2 AIPTが一台のネットワーク...74
図5-3 端末αからAIPTへのパケット...75
図5-4 AIPTから端末Aへのパケット...76
図5-5 端末AからAIPTへのパケット...76
図5-6 AIPTから端末αへのパケット...76
図5-7 端末αからAIPTへのIKEパケット...76
図5-8 AIPTから端末AへのIKEパケット...77
図5-11 AIPTが3台の構成...79
図5-12 端末αからAIPT2へのパケット...81
図5-13 AIPT1からAIPT2へのパケット...82
図5-14 AIPT1から端末Aへのパケット...82
図5-15 試験ネットワーク...83
図 5-16 AIPT1 iptables 設定...85
図 5-17 端末1_1 IPsecのSPD設定...85
図 5-18 バックボーンルータでのパケットキャプチャー結果...85
表目次
表 2-1 ファイアウォールルール...17
表 2-2 NAPT装置内のルールの概念...24
表 2-3 端末Bのためのルールを追加したNAPTルール...25
表 2-4 NATルータに設定された静的アドレス変換ルール...27
表 2-5 WEBサーバAへのNATルール...28
表 2-6 ポート番号を変更して登録したNATルール...28
表 2-7 IPTの宛先アドレスNATルール...30
表 2-8 IPTのソースIPアドレスNATルール...31
表 4-1 ソースIPアドレスベース ファイアウォールルール...55
表 4-2 ソースIPアドレスベース NATルール...55
表 4-3 機器リスト...56
表 4-4 アクセス許可リスト...56
表 4-5 手順4で生成したファイアウォールルール...57
表 4-6 手順4で生成したNATルール...57
表 4-7 端末αと端末βのアドレスを含むファイアウォールルール...58
表 4-8 端末αと端末βのアドレスを含むNATルール...58
表 4-9 提案方式と既存技術の比較検討...69
表5-1 AIPTの宛先アドレスNAT ...75
表5-2 AIPTのソースIPアドレスNAT ...75
表5-3 AIPTの宛先アドレスNATルール 2...77
表5-4 AIPTの宛先アドレスNAT 3 ...78
表5-5 AIPT1の宛先アドレスNAT ...80
表5-6 AIPT1のソースIPアドレスNAT...80
表5-7 AIPT2の宛先アドレスNAT ...80
表5-8 AIPT2のソースIPアドレスNAT...80
表5-9 AIPT3の宛先アドレスNAT ...81
表5-10 AIPT3のソースIPアドレスNAT...81
1 章 はじめに
近年インターネットへのアクセス手段の多様化、低廉化、広帯域化が進んでおり、ユーザが インターネットアクセス環境にアクセスできる端末を携帯したり、外出先で端末を一時的に利 用したりするなどして、様々な場所からいつでもインターネットにアクセスできる環境が整い つつある。
従来のインターネットの利用は、家庭やオフィスのネットワークからインターネット上に設 置されたWEBサーバやメールサーバへアクセスするサーバ・クライアントモデルでの利用が 一般的であったが、アクセスする回線の多様性と、利用する端末の多様性が、インターネット 上のサーバにアクセスする形態にとどまらず、利用形態を多様化させつつある。従来はインタ ーネットに有線接続された家庭やオフィスのLAN内にあるクライアントのPCからインター ネット上のサーバにアクセスする利用がほとんどであったが(図1-1)、近年の携帯端末やワイ ヤレス接続、情報家電などの機器の普及により、ワイヤレス接続されたノートPCやPDAか ら家庭やオフィスのLAN内のPCや情報家電にアクセスしたり、携帯端末同士での直接通信 したりするなどの利用も広がりつつある(図 1-2)。
インターネットの普及段階では一般的な利用方法はインターネットメールとWEBアクセス、
ニュースサーバの利用などであった。これらのツールは文字ベースでのコミュニケーション手 段であり、サーバクライアント型のアプリケーションである。これらのアプリケーションは、
ユーザがサーバにデータをアップロード・ダウンロードすることでコミュニケーション(メー ルの送受信や、WEB 掲示板など)を行い、ユーザ同士は非同期で利用する。非同期であるた め、相手がいつその情報を受信したか、もしくは受信しなかったのか、等の情報は送信側から は基本的には把握できない。その後、一般家庭にも、常時接続環境が普及すると、チャットと 呼ばれるリアルタイムでの双方向コミュニケーションを実現するアプリケーションも広く利 用されるようになった。さらに、ネットワークの広帯域化や、出先でも利用できる端末の多様 化に伴い、VoIP(Voice over IP)やビデオチャットなどの、様々な双方向のコミュニケーション 手段が普及しつつある。
家庭やオフィスにもFTTHなどの広帯域の回線が接続され、さらに外出先からでもインター ネットが利用できるようになり、家庭やオフィスにあるサーバや機器類、情報家電などにアク セスするニーズが高まっている。
このように、ユビキタスネットワークの普及は、ユーザ間による直接通信や外出先から自宅 やオフィスへの通信のように、従来とは異なる利用形態を一般化していくと考えられる。
インターネット
ノートPC
PC PC ノートPC
WEBサーバ メールサーバ
有線アクセス
図 1-1 従来のインターネット利用のモデル
インターネット
PC
PDA
PC
WEBサーバ メールサーバ
有線アクセス ワイヤレスアクセス
PDA
情報家電 PDA
ノートPC
情報家電
インターネット
図 1-2 ユビキタスネットワークでの利用モデル
従来のインターネット上のサーバとの通信では、サーバは常に応答する前提で利用できるが、
VoIP やビデオチャットのようなユーザ間の直接通信によるリアルタイムコミュニケーション ツールでは通信相手が通信要求の際に利用者が応答できる必要がある。現在、広く普及してい るリアルタイムコミュニケーションである電話では、着信者が応答できない際に電話機や網サ ービスによる留守番電話サービスなどが用いられている。一方で、IP通信上でのリアルタイム
しようとしている相手に対して、通信要求に対応できる状態にあるか否かという情報を事前に 伝えることができる。これにより、相手が通信できない際には、送信側は通信開始要求を送ら ないようにすることができる。プレゼンスサービスはチャット、VoIP、ビデオチャットなどの リアルタイムコミュニケーションのアプリケーションと併用して使われることが多く、円滑な コミュニケーションの実現に寄与している。
プレゼンスサービスが提供する情報を拡張することで、より円滑なコミュニケーションを実 現することができる。たとえば、広帯域を必要とするアプリケーションは、ユーザの端末が狭 帯域のPHS 接続であるか、光ファイバ経由であるかといった回線の状況によってアプリケー ションの可用性が変化する。ユーザが利用している回線の情報や、位置情報などを、事前に登 録した相手にプレゼンスサービスが伝えることで、情報を受け取った相手は回線状況や場所が 適さない際にビデオチャットで呼び出しをすることを回避することができる。
従来のプレゼンス情報はユーザが手動で、「利用中」「多忙」といった情報を投入するケース が多かったが、ユーザ操作に基づく情報ではユーザが変更を忘れることが想定される。そのた め、無線LANやGPSなどのセンサデバイスなどから情報が自動的に取得できれば、より確度 の高いプレゼンス情報を生成し、ユーザの利便性も向上させることができる。一方で、プレゼ ンス情報に詳細な情報を反映しようとすると、それらの情報はプライバシ情報を含むようにな り、中央サーバによるプライバシ情報の管理をユーザが望まなくなるという課題がある。また、
プレゼンス情報に用いる情報が頻繁に変化する情報である場合、プレゼンス情報の更新頻度が 高くなり、サーバの負荷が高くなるといった課題がある。
次に、外出先から家庭やオフィスへアクセスする利用シーンについて述べる。外出先で利用 できる端末はノートPCだけに留まらず、PDAやゲーム機、情報家電など、様々なデバイスに 多様化している。一方、家庭やオフィスのネットワークにおいても、WEB ブラウザ機能を具 備するテレビやWEBカメラ、ネットワークストレージ、動画配信機能のあるTV番組録画機 などが販売され、一般家庭に普及しつつある。さらに、家庭やオフィスでもFTTHなどの広帯 域なアクセス回線が普及しており、ホットスポットや3Gなどのモバイルアクセスの普及によ り、家庭やオフィスのLANに設置した機器へインターネット経由で利用する環境が整いつつ ある。しかし、LAN 内にある機器類へのアクセスは、企業のサーバと同様に、確実なアクセ ス制御がなされなければ、不正侵入などの脅威にさらされる。従来の技術では、LAN 内の機 器に外出先からアクセスしようとすると、常時ファイアウォールを開放する必要があった。ま た外出先で公衆無線 LAN(ホットスポット)を用いた際には、通信した内容が盗聴されるリ スクもある。それらを解決する一つの手法であるリモートアクセスのための技術は専用のソフ トウェアのインストールなどを必要とするため、PDAやゲーム機、情報家電などのノンPCデ バイスでのアクセスでは利用することができない。
ネットワーク回線や情報家電などが家庭に普及しても、それだけでは、外出先から多様な端 末を用いてアクセスをする利用シーンを実現することはできない。すなわち、外出先で利用で きる様々な端末から、安全かつ簡易にアクセスできるセキュリティ技術の普及も並行して進ま なければ、一般ユーザがオフィスや自宅にある危機へアクセスすることは大きなリスクが伴い 現実として不可能となる。また IPv4 アドレスが不足しており、多くのネットワークは NAT
を介して接続されている。NATのあるネットワーク環境では、NATの内部にある機器へイン ターネット側からアクセスするには、事前に外部に公開する機器を登録しておく必要があり、
その際にはTCP/UDPの特定のポート番号で公開できるのは、事前に登録した一台のみという 制約がある。このため、家庭内にある複数のWEBカメラなどに自由にアクセスする環境を構 築することは実際には難しい。
また、通信の盗聴のリスクに対して有効な対策となるIPsecはNATがあるネットワーク環 境での送受信に制約がある。通常はファイアウォールと NAT に、IPsec を通過させるための 設定を事前に行っておく必要があり、特にNAT内部のプライベートIPアドレスで動作してい る機器に対してNAT の外部からアクセスすることができるのは、事前に登録された一台のみ という制限があるため、端末間の通信にIPsecを利用できる環境は限定されている。
以上述べたように、外出中でもいつでも、どこでもインターネット接続を利用でき、広帯域 化したネットワークが家庭やオフィスへ接続される環境では、ユーザ同士の直接通信を円滑化 するより詳細な情報を送信できるプレゼンスサービスと、外出先のユーザが家庭やオフィスの 機器に安全・簡単にアクセスできる方式が求められる。
本論文では、ユビキタスネットワークにおいて、重要となるプレゼンス情報の利用に関する 課題と、家庭やオフィスのネットワークへの安全で簡単なアクセスの実現のための課題を解決 する技術を提案する。
一つ目のプレゼンス情報の高度化には、プレゼンスサーバによるプライバシコントロールと プレゼンス情報を高頻度で配信した際に中央サーバが高負荷となる課題がある。また、プレゼ ンス情報をより詳細化するとプライバシ情報を含むようになるため、個人情報保護が確実に行 えるようにする必要があるという課題がある。
二つ目の家庭やオフィスへの安全・簡易なアクセスには、一般的なインターネット利用者が 外出先から家庭やオフィスのネットワーク設置した機器にアクセスしようとすると、ファイア ウォールを常時開放することになることや、一つのグローバル IP アドレスで公開できる機器 は一つのポート番号につき一台のみという課題があり、それらを解決する既存のリモートアク セスのための技術はPDAやゲーム機、情報家電で利用できないという課題があった。また、
セキュリティを守るために用いられるIPsec はグローバルIPアドレス一個につき一つの機器 のみが外部からのIPsecの通信要求を受けられるという課題があった。
これらの課題を解決するため、本論文では、それぞれ以下の方式を提案する。
・ プレゼンスサーバの高負荷を回避するために、従来の中央サーバ型から、エンドユーザの 端末上で動作するPeer to Peer型で動作するプレゼンスサーバ方式を提案する。このPeer to Peer(P2P)型のプレゼンスシステムはユーザの端末内でプレゼンス情報を収集・加工 することで個人情報を保護することができる。
・ ファイアウォール制御をWEB ブラウザのクリック程度の操作で実現し、正規のユーザが LAN内のIP端末にアクセスしている際でも第三者から通信を遮断するファイアウォール
が外部からのIPsec通信を待ち受けることを可能にするNAT方式を提案する。
第一の方式においては以下のアプローチを採用する。従来の中央サーバ型で動作しているプ レゼンスサーバに対し、本論文では各端末上で動作し、事前に登録したユーザ間でやり取りを
するPeer to Peer 型のプレゼンスシステムを採用する。プレゼンスの交換プロトコルはSIP
によるプレゼンスサービスの標準化されたプロトコルである SIMPLE を採用する。各端末が 保持しているセンサデバイスを利用してプレゼンス情報の生成を行うようにする。この実装方 式はモジュール構成とし、新たにセンサデバイスを追加したり、プレゼンス情報の生成ルール を変更したりすることが容易になるようにする。
第二の方式においては以下のアプローチを採用する。外部からアクセスする端末の IP アド レスを動的に取得し、ファイアウォールルールとNATルール内のソースIPアドレスとして用 いる。このソースIPアドレスを動的に取得する方式は、ユーザがWEB インターフェースで アクセスし認証を受けた際に自動的に取得する方式を採用し、ユーザが手動で IP アドレスを 入力する必要がないようにする。ファイアウォールルールがソースIP アドレスをルールに含 むことにより、正規のユーザが利用している際であっても、異なるIP アドレスを用いている 第三者の端末からのアクセスはファイアウォールで遮断することができる。また、ソース IP アドレスを用いてNATルールを生成することで、外部機器ごとに内部に転送する内部機器を 定めることができ、同一のポート番号を用いて、LAN内の複数の機器が同時にLANの外部に サービスを提供できることを実現する。
第三の方式においては、以下のアプローチを採用する。IPsec Pass ThroughのNATルール にソースIPアドレスを含める拡張を行う。ソースIPアドレスを含むNATルールを生成する ことで、外部のIPsec端末と内部のIPsec端末を対応づけることができる。このNATルール の生成は第二の方式と同じ手順を採用することで、ユーザの専門的知識を不要とする。
本論文では、以上のような方針に基づいて、P2P型プレゼンスシステムと、新たなファイア ウォールとNATの制御方式を設計し、実装を行った結果について示す。本論文では次の構成 で研究結果について述べる。
第1章では、研究の背景と課題解決のアプローチを提示し、本論文の構成について述べた。
第2章では本論文の研究の背景について述べる。次にプレゼンスサービスの従来の技術と標 準化仕様について述べる。一般のネットワーク環境で用いられるファイアウォール技術やNAT 技術、IPsec技術について述べ、それらの課題を示す。第3章では、SIMPLEプロトコルを用 いたP2P型プレゼンスシステムの設計方針と実装評価の結果について述べる。第4 章では正 規のユーザの利用している外部端末のIPアドレスを認証した際にファイアウォールとNATの ルールに含める方式について述べ、その実装評価の結果について述べる。第5章では、第4章
の方式をIPsecに拡張する方式提案と評価試験の結果について述べる。最後に第6章では本論
文の結論を述べる。
2 章 ユビキタス環境を実現する IP ネットワーク技術と プレゼンスアプリケーションの既存技術
本章でははじめに一般ユーザが利用するインターネット環境の発展について述べる。次に、
ユーザ同士のコミュニケーションをサポートするプレゼンスサービスについて述べる。次に外 出先からのネットワーク環境家庭やオフィスノネットワークに安全にアクセスするための既 存方式について述べる。最後に、これらの技術では解決されない課題をまとめる。
2.1. ネットワークアクセス環境の普及
現在インターネットへのアクセスの手段は多様化し、利用料金の低廉化により広く家庭やオ フィスに高速なアクセス手段が普及している。また、そうしたインターネットアクセス環境に アクセスできる端末を利用者が携帯したり、外出先で借りられたりして、いつでもインターネ ットアクセスを利用できる環境が整いつつある。
インターネットへのアクセスはインターネットの創生期から長らく有線接続によって実現 していたが、近年では無線LANやPHS、3Gなどのワイヤレスでのインターネットアクセス が一般にも普及しており、コンピュータデバイスも低価格化、小型化、高機能化が進んでいる。
今後はこうした流れがさらに進み、コンピュータ端末とコンピューターネットワークが広く多 くの場所に存在し、ユーザがそれらを利用できる環境が普遍的に存在するユビキタスコンピュ ーティング(Ubiquitous Computing)、ユビキタスネットワーキング(Ubiquitous Networking) と呼称する環境の実現が目指されている[1]。
一方、日本をはじめ世界的にオフィスや家庭のネットワークにおいても、xDSLやFTTHと いった高速アクセスが普及しており、日本国内ではブロードバンドサービスの契約数が 2008 年に2934万件となり、うちFTTHアクセスサービスの契約数は1308万件に上る[2]。
近年の、PDAや軽量ノートPCなどの小型化・低価格化により、高機能でありながら持ち運 び可能で、カメラやマイクや動画再生機能や GPSなどのセンサを備えた端末をユーザが常に 持ち歩く環境が実現しつつある。さらに、ネットワークアクセスの普及や広帯域化、低廉化に より、人々が常にインターネットに接続できる環境が整いつつある。このように、ワイヤレス などの公衆で用いられるインターネットアクセスの普及と、家庭やオフィスなどへの高速回線 の普及の二つの流れにより、ユーザ同士が IP ネットワークを用いていつでもどこでも相互に 通信を行い、ユーザが自分の家庭やオフィスのサーバへアクセスするニーズが高まると考えら れる。
ッセンジャーやプレゼンスサービスはPC上で広く使われるアプリケーションの一つであ る。
インスタントメッセンジャーサービスは、ユーザ同士のリアルタイム志向のコミュニケ ーションである。多くのサービスでは、リアルタイムでの短い文字メッセージ機能を提供 し、さらに音声通話機能やビデオチャット機能などを備えるものもある。こうしたメッセ ンジャーサービスでは、事前に登録したユーザ同士が互いのアプリケーション画面に表示 される。さらに、ユーザがオンライン状態であるか、文字メッセージ以外を受け取れるか といったプレゼンス情報を画面上に表示するプレゼンスサービスが提供されている。
プレゼンスサービスによるプレゼンス情報の交換のためのプロトコルはIETFのワーキ ンググループで議論され、SIMPLE [5], IMPP [6], XMPP[7]のような標準化ワーキンググ ループで議論されてきた。
メッセンジャーやプレゼンスサービスを実現するには、ユーザ間を仲介するサーバが必 要となるが、Googleによって公開されたJabber [8]のようにオープンソースで提供される インスタントメッセンジャー、プレゼンスサーバもあり、JabberはGoogle Talkなどの商 用サービスでも利用されている。
現在、プレゼンスサービスはyahoo、GoogleやMSなどでメッセンジャーサービスと合 わせて提供されており、ユーザがアクセス可能な状態にあるか、アクセスする際に適した コミュニケーションメディアは何か(文字チャット、音声コミュニケーション、ビデオコ ミュニケーション)などの情報を交換する目的で用いることができる。こうした切り替え はPCのログインの有無やユーザ操作による自分のプレゼンス設定の変更によって実現し ている。
このように従来はユーザが主に手動で生成したプレゼンス情報を、ユビキタスコンピュ ーティング環境では、ネットワークやセンサなどの環境にある機器やリソースを用いるこ とで、ユーザは自動的に適切なタイミングで情報を更新し、得られた情報をプレゼンスサ ービスに用いることが考えられる。たとえば、GPSなどの位置センサや、画像認識装置(カ メラ)、IDタグ[9]、位置情報を持つネットワークアクセスポイントなどのユビキタスデバ イスなどに問い合わせて、ユーザの位置情報に関するプレゼンス情報を自動生成すること が考えられる。
こうした位置情報がプレゼンス情報として重要であるのは、たとえば、ユーザがある場 所から、別の場所に動いたという情報や、ユーザが今どこにいるのかといった情報は、通 信相手がそれらを知ることで、そのユーザとの通信が適切なタイミングであるかを判断す ることができるからである。
従来のように、PCが家庭のネットワークにのみ接続されている状態であれば、PCが起 動したタイミングで、ユーザが通信可能状態となるケースが多かったが、ネットワーク環 境をいつでも利用できるようになると、ユーザの端末は常時インターネットに接続してい ることが想定されるが、ユーザ自身は、自宅にいたり、仕事中であったり、人と会話や食 事をしていたり、バスや電車の車内にいたりと、常にコミュニケーションを受けられる状 況にあるわけではない。そのため、従来と異なり、オンライン状態であっても、通信を望
まないケースが多く生じる。このような通信の受信可否に関する情報は頻繁に更新される ため、前述したように位置情報などにより自動化することで、確度が高い情報を自動生成 し、それを自分とリアルタイムコミュニケーションしようとする人に伝えることで、円滑 なコミュニケーションを実現することができると考えられる。さらに、生成されたプレゼ ンス情報は、リアルタイムで対象者に伝えられることが求められる。
このように、ユーザ同士がいつでもどこでも密にコミュニケーションをできるユビキタ スネットワーク環境では、ユーザのコミュニケーションを円滑にするプレゼンス情報の交 換が有益である一方で、プレゼンス情報の取り扱いに関してはプライバシを守る上で最大 限の配慮をした上で交換される必要がある。プレゼンス情報はユーザが伝えたいと望んだ 人に、許可した情報のみを伝えることができるように制限されることが望まれる。
2.3. プレゼンスサービスの標準プロトコル
前節で述べたプレゼンスサービスについて、基本的な概念や実装に関する標準化が行われて きた。本節では、RFCに準拠したプレゼンスサービスの概念について述べる。
プレゼンスサービスとインスタンスメッセージサービスについてはプロトコルに依存しな いサービス概念について RFC2778[10]で提案されている。本節ではこの概略を述べる。プレ ゼンスサービス概要として、図 2-1に示すように、プレゼンス情報を生成して送るクライアン トをプレゼンティティと呼び、プレゼンス情報を受け取るクライアントをウォッチャと呼び、
それを仲介するサービスをプレゼンスサービスと定義している。これは概念的なモデルであり、
実際にプレゼンティティとウォッチャが同一の端末上にあるのか、同一のプログラムで実装さ れているのかには拠らない。
図 2-1 プレゼンスサービスと、プレゼンティティ、ウォッチャ
さらにウォッチャはフェッチャ(FETCHER)とサブスクライバ(SUBSCRIBER)の二つ の種類に分けられる。フェッチャはプレゼンスサービスからプレゼンティティの現在のプレゼ
プレゼンスサービス (PRESENCD SERVICE)
プレゼンティティ
(PRESENTITY) ウォッチャ
(WATHCER)
ウォッチャがサブスクライバである場合のプレゼンスサービスの動作の概念は次に示すフ ローになる。まず、図 2-2のように、すべてのプレゼンスサービス、プレゼンティティ、サブ スクライバの全てがプレゼンティティのプレゼンス情報をP1として認識しているケースを考 える。
図 2-2 プレゼンスサービス概要 初期状態
初期状態でのプレゼンス情報がP1の状態から図 2-3に示すように、プレゼンティティ内でプ レゼンス情報がP1からP2に書き換えられる。
図 2-3 プレゼンスサービス概要 プレゼンティティのプレゼンス情報更新
プレゼンティティ内の情報が更新されると図 2-4に示すように、プレゼンティティはプレゼン ス情報P2をプレゼンスサービスに通知する。通知を受け取ったプレゼンスサービスはサーバ 内で保持しているプレゼンス情報をP1からP2に更新する。
プレゼンスサービス P1
P1
プレゼンティティ
P1
サブスクライバ
プレゼンスサービス P1
P1>P2 プレゼンティティ
P1
サブスクライバ
図 2-4 プレゼンスサービス概要 プレゼンスサービスへのプレゼンス情報通知
プレゼンスサービスはプレゼンス情報が更新されたため図 2-5に示すように、サブスクライバ に変更を通知し、サブスクライバが中で保持しているプレゼンティティの情報を更新してフロ ーが終了する。
図 2-5 プレゼンスサービス概要 プレゼンスサービスからサブスクライバへの更新通知
フローのウォッチャがサブスクライバではなく、フェッチャの場合は、フェッチャがプレゼ ンスサービスに情報を要求するまで、フェッチャ内の情報はP1のままである。
このように伝達されるプレゼンス情報は図 2-6に示す構成になっている。
プレゼンスサービス P1>P2
P2
プレゼンティティ
P1
サブスクライバ P2
プレゼンスサービス P2
P2
プレゼンティティ
P1>P2 サブスクライバ
P2
プレゼンス情報(PRESENCE INFORMATION)
プレゼンス情報の組(PRESENCE TURPLE) ステータス(STATUS)
コミュニケーションアドレス(COMMUNICATION ADDRESS) 連絡方法(CONTACT MEANS)
連絡アドレス(CONTACT ADDRESS) その他の付加情報(OTHER PRESENCE MARKUP)
プレゼンス情報の組(PRESENCE TURPLE) プレゼンス情報の組(PRESENCE TURPLE)
ステータス(STATUS)
コミュニケーションアドレス(COMMUNICATION ADDRESS) 連絡方法(CONTACT MEANS)
連絡アドレス(CONTACT ADDRESS) その他の付加情報(OTHER PRESENCE MARKUP)
・・・・
図 2-6 プレゼンス情報の構造
ひとつのプレゼンス情報は、複数のプレゼンス情報の組から構成される。プレゼンス情報の組 はステータス、コミュニケーションアドレス、その他の付加情報からなる。ステータス情報は、
オンライン、オフライン、忙しい、離席中、呼び出しを望まない、などといった値を持つこと ができる。コミュニケーションアドレスは連絡方法と連絡アドレスからなり、連絡方法はコミ ュニケーションがどのように行われるかを示している。RFC2778 では連絡方法としてインス タンスメッセージのみを定めているが、音声通話などの他の通信手段をここに格納しても良い。
また連絡アドレスは連絡方法に対応する連絡アドレスであり、電話番号などであっても良い。
他に付与すべき情報があれば、その他の付加情報としてプレゼンス情報に含めることができる。
このようにRFC2778ではプレゼンスサービスについて概念をまとめているが、実際の送受信 のプロトコルを規定するものとしてはSIP Presence(SIMPLE)[11]などがある。
2.4. SIP SIMPLE
前節で述べた RFC2778 におけるプレゼンスサービスの概念をベースにして、SIP(Session Initiation Protocol)[12]上でプレゼンスサービスを実現する検討をIETFのSIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions)ワーキンググループが行っている。
SIPを用いたプレゼンスサービスのプロトコルはRFC3856[11]として提案されている。
本節ではこの規格の概要を述べる。
2.4.1. SIP 概要
はじめに、SIP SIMPLEの基礎となっているSIPの概略を述べる。SIPはHTTPをベース として、様々なアプリケーションのセッション制御を行う汎用のプロトコルである。たとえば IP電話やビデオ会議システムなどのセッションの開始、変更、終了などの操作を行うことがで きる。ベースとなったHTTPでは、WEBサーバとWEBクライアントは非対称な関係であり、
サーバ・クライアントモデルによって動作している。一方、IP電話などは端末双方が対等な関 係で通信を行っている。このように相手の通信端末での該当アプリケーションを起動して、双 方向の通信を行う必要が生じることなどから、IP電話などがSIPを利用する必要性が生じる。
図 2-7に端末同士が互いのIPアドレスを事前に知っているケースでの基本的なフローを示 す。
端末A 端末B 1 INVITE
2 180 Ringing
4 Ack
5 通話
6 BYE 3 200 OK
7 200 OK
図 2-7 SIP基本フロー
このフローでのそれぞれのパケットは次に示す役割をしている
1 端末Aが端末Bに対して、INVITEメッセージを送信してセッション確立を要求 2 端末Bではユーザに着信があったことを伝え(着信ベルが鳴るなど)、呼び出し中である
ことを示す180 Ringingレスポンスを送信する。
3 端末Bのユーザが応答すると端末Aに200OKレスポンスを送信する。
4 端末Aから端末Bに確認応答のAckが送られ、通話が開始される。
5 ユーザ間で通話を行う。
6 どちらかの端末から切断のためのBYEリクエストが送信する(図中では端末Bから送信)。 7 BYEリクエストを受け取った対向端末は200OKレスポンスを送信する。
このように、制御機能としてINVITEによるユーザの端末間でのセッション確立が主要な目的 のプロトコルであったが、より汎用的に拡張され、要求電文としてINVITE、ACK、BYE な どの他に、イベントの購読を要求するメソッドであるSUBSCRIBE や、購読しているイベン ト状態を通知するメソッドであるNOTIFY、インスタント・メッセージ等のテキストを送信す るメソッドであるMESSAGEなどが追加された。
2.4.2. SIP SIMPLE の概要
前節で述べたSIPのSUBSCRIBEやNOTIFYのメソッド・フィールドを用いてプレゼンス 情報を送信するための規格がSIMPLEである。SIMPLEではRFC2778の用語に加えて、次
の概念を付け加えている。
・ プレゼンスユーザエージェント(Presence User Agent/PUA):
プレゼンスユーザエージェントは、プレゼンティティのプレゼンス情報を操作する。1つのプ レゼンティティに付き複数のPUAが存在するケースも許容される。たとえば、あるユーザは、
多くのデバイス(GPS、携帯電話、PDA (Personal Digital Assistant)、センサデバイスなど)を 持つことがあるが、それらのデバイスは、それぞれがPUAとして相互に独立してプレゼンテ ィティのプレゼンス情報の一部を生成することができる。
PUA は、プレゼンスシステムにデータを受け渡しするが、SIP でのプレゼンスサービスの プロトコルで通信するシステムの外部にあり、SUBSCRIBEメッセージやNOTIFYメッセー ジの送受信には携わらない。
・ プレゼンスエージェント(Presence Agent/PA):
プレゼンスエージェントは、プレゼンス情報の購読リクエスト(SUBSCRIBE)の受信と応答、
プレゼンス状態の変更時に通知を生成する機能を持つSIPユーザエージェントである。プレゼ ンスエージェントは、プレゼンティティのプレゼンス状態を知っている必要がある。つまり、
プレゼンスエージェントは、プレゼンティティのPUAが保持しているプレゼンスデータへの アクセスができる必要がある。たとえば、プレゼンスユーザエージェントと同じ端末内、同じ ソフトウェア内に置く方法が考えられるが、具体的な実装方法はRFC3856では規定されてお らず実装依存である。
・ プレゼンスサーバ(Presence Server):
プレゼンサーバーは、SUBSCRIBEリクエストに対して、上記のプレゼンスエージェトもしく はプロキシサーバーとして動作することができる物理的な機能(エンティティ)である。PA として動作する際には、何らかの方法によりプレゼンティティのプレゼンス情報を把握してい る。一方、プロキシとして動作する場合には、受信したSUBSCRIBEリクエストを、PAとし て動作している可能性がある別のエンティティにプロキシする。
・ エッジプレゼンスサーバ(Edge Presence Server):
エッジプレゼンスサーバは、プレゼンスサーバのうち、PUA と共存しているものである。プ レゼンス情報を操作するエンティティと共存しているため、プレゼンティティのプレゼンス情 報を把握することができる。
図 2-8はウォッチャとプレゼンスサーバ、PUAの構成によるSIMPLEでの基本的なプレゼン ス情報のシーケンスを示している。
ウォッチャー プレゼンスサーバ
SUBSCRIBE 200 OK
200 OK NOTIFY
プレゼンスエージェント プレゼンス情報
プレゼンス情報更新
200 OK NOTIFY
図 2-8 SIMPLE 基本フロー
プレゼンスエージェントはプレゼンスサーバに対して、プレゼンス情報を通知している。こ の通知方法は、SIMPLE の規定範囲外である。ウォッチャはプレゼンスサーバに対して、
SUBSCRIBEを送信し、プレゼンス情報を要求する。どのユーザのプレゼンス情報かは電文中
の定められたフォーマットに従って記述されている。SUBSCRIBEを受け取ったプレゼンスサ ーバは電文を認証する。次に、プレゼンス情報の購読が認められるか認可を行う。認可の方法 についてはSIMPLEの規定外である。購読が認可されると200 OKの電文がプレゼンスサー バからウォッチャーに送信され、直ちにプレゼンス情報を含む NOTIFY メッセージが送信さ れる。その後、PUA からプレゼンス情報の更新がプレゼンスサーバに送られると、プレゼン スサーバは新たなプレゼンス情報を含むNOTIFYを送信する。また、NOTIFYを送信するタ イミングはプレゼンスサーバの任意のタイミングで送信してよい。
以上で説明したようにSIPを用いてプレゼンスサービスを実現することができる。
2.4.3. 従来のプレゼンスシステムの課題
従来のプレゼンスシステムでは、家庭やオフィスの端末にログインして用いるような PC を前提としているため、比較的更新頻度が低く、かつ、プレゼンスの情報も、待ち受 け可能かどうかなどの限定的な情報のやり取りに適した設計となっている。現在のプレゼ ンスサーバはユーザのステータス情報を中央のデータベースに格納するので、プレゼンス サーバとクライアントの間でコンテキストの変更を取り込む際に頻繁に通信が発生する 課題がある。プレゼンス情報のデータ量が大きく、アップデートのサイクルが短くなると、
プレゼンスサーバの処理能力を圧迫していくことになる[10]。プレゼンス情報により多く の情報を含め、より短いサイクルで交換するためには、サーバの負荷があがることに適切 に対処してスケーラビリティを確保する必要がある。
また、コンテキスト情報はユーザのプライバシへの懸念に基づいて適切にフィルタリン グされる必要がある。プライバシ保護の観点からプレゼンスサービスはユーザが情報を開 示したり非公開にしたりすることを可能にすることが求められる。ユーザは重要なプライ バシ情報は一部のユーザには伝えないようにしたいであるとか、プレゼンスサーバに情報 をアップロードせずに秘匿にしたいと考えたりすることが想定される。そうしたユーザの ニーズに答えるために、他のユーザに情報を送るときには、プライバシ情報はユーザの望 むレベルに正確にフィルタリングされて処理されるべきである。そして、一般的にそうし たプライバシ情報のフィルタリングに関する処理は通信するユーザごとに異なるポリシ が適用できる必要がある。
このように、プレゼンスサービスの課題として、多くの情報を頻繁に更新する際に中央サー バが高負荷となる懸念と、プライバシ情報を中央サーバの管理者が閲覧できるなどのプライバ シ情報の取り扱いが適正になされないことへの懸念があげられる。
2.5. ファイアウォール
ファイアウォールはそれが保護するネットワークと、外部との通信を制御し、内部のネット ワークの安全を維持するためのソフトウェアや装置である。ファイアウォールは基本的に通信 の通過の可否を判断し、許可されない通信を遮断する動作を行うが、その実現方法により、IP パケットのIP層とTCP/UDP層のヘッダ情報を用いて、許可するパケットのルールを作成し、
通過するパケットをフィルタリングするパケットフィルタ型、TCP層の通信をファイアウォー ル装置が代替し制御を行うサーキットレベルゲートウェイ型、HTTPやFTPなどのアプリケ ーションのクライアントとしてファイアウォールが動作し、外部との通信をアプリケーション レベルで終端し制御するプロキシ型に分けられる。
その中でもパケットフィルタリングは、家庭などで用いられるブロードバンドルータをはじ め、多くのネットワーク環境で広く用いられている。パケットフィルタリングの基本的な概念 は、前述したようにIP層やTCP/UDP層の情報を用いてパケットの通過の可否を判断するも のである。
図 2-9のネットワークで、WEBサーバは公衆網からの全ての端末のアクセスを許容し、SSH サーバにはクライアントA とクライアント B からの通信を許可し、それ以外の通信を全て遮 断するファイアウォールのルールは表 2-1のように表現される。表中でANYは任意の値を表 し、表は上から順に評価され、動作の項目の内容に従って通過や廃棄が行われる。
ファイア ウォール WEBサーバ
1.1.1.2
SSHサーバ
1.1.1.3 公衆網公衆網
クライアントA クライアントB クライアントC
2.2.2.2
3.3.3.3 4.4.4.4 非公開サーバ
1.1.1.4
図 2-9 ファイアウォールを含むネットワーク 表 2-1 ファイアウォールルール
ルール番号 ソースIPアドレス 宛先IPアドレス 宛先ポート 動作
No.1 ANY 1.1.1.2 TCP 80 通過
No.2 2.2.2.2 1.1.1.3 TCP 22 通過
No.3 3.3.3.3 1.1.1.3 TCP 22 通過
No.4 ANY ANY ANY 廃棄
表 2-1はファイアウォールのルールを概念的にあらわしたものである。ルール番号のNo.1は 任意のソースIPアドレス(ANY)から送信された宛先IPアドレス1.1.1.2(WEBサーバ)で、
かつ、宛先ポートがTCP80番ポートのパケットを通過させることを示している。No.2はソー スIPアドレスが2.2.2.2であり、かつ、あて先IPアドレスが1.1.1.3で、かつ、宛先ポートが
TCP 22 番ポートであるパケットを通過させることを示している。NO.3 は No.2 と同様に
3.3.3.3のソースIPアドレスから到達したパケットを通過させるルールである。No.4は上記の
ルールに適合しなかったパケットを廃棄するためのルールであり、任意のソース IP アドレス から来たパケットで任意のあて先のパケットを廃棄している。たとえばクライアント C から SSHサーバに宛てて送られたパケットはNo.4が初めて適合するルールとなるため、廃棄され る。
ここでは簡単のためにソース IP アドレスやポート番号のみで説明を行ったが、たとえばソ ースIPアドレスについてはNo.1のようにネットワーク上の任意のアドレスとしても良いし、
ルールに、ソースポート番号やTCPのSYNフラグなどを用いても良い。またUDPやICMP などのプロトコルについても同様にルールを記載することができる。
2.6. IPsec
ファイアウォールを用いることで保護されたネットワークへの、許可しない通信を遮断する ことができるが、その際でも、許可された通信が公衆網上などの経路途中で盗聴される可能性 が残る。こうしたセキュリティの脅威に対して、IPsec(Security Architecture for Internet
Protocol)[13]は通信を暗号化することで、セキュリティ強度が低い経路を介しても通信の安全
を守る技術である。IPsecは、暗号技術を用いて、IPパケット単位でデータの改竄防止や秘匿 機能を提供するプロトコルである。これによって、HTTPやFTP`などのように暗号化をサポ
ートしていないアプリケーションを用いる際にも、通信路の途中で通信内容を盗聴されたり、
改竄されたりすることを防止できる。
IPsecはAH (Authentication Header)[14]と、ESP (Encapsulated Security Payload)[15]
の二つのセキュリティプロトコルが定義されている。この二つは実現するセキュリティ機能が 異なっている。
AHはIPパケットの完全性の保証を提供し、AHはIPヘッダの改ざんの検知も行う。ESP は送信側がIPパケットを暗号化するため、伝送経路の途中での盗聴を防止することができる。
これらのセキュリティプロトコルとは独立した概念として、トンネルモードとトランスポート モードの二種類のIPsecモードがある[13]。トンネルモードは主に端末間の間にあるルータ装
置間でIPsecを用いるケースで利用され、最初の端末が発信したパケットにルータ装置が新た
なIPヘッダとIPsec ヘッダをつけてオリジナルのパケットをカプセル化して対向のルータ装
置が、オリジナルのパケットを取り出して、本来のあて先に転送する。トランスポートモード では端末同士で直接IPsecを処理する際に用いられる。
2.6.1. IPsec のトンネルモードとトランスポートモード
本節ではIPsecのトンネルモードとトランスポートモードについて述べる。図 2-10に示す
ネットワークで端末Aが送信したIPパケット(図 2-11)を受け取ったIPsecルータAはこ のパケットをIPsecのトンネルモードのパケット(図 2-12)に変換してIPsecルータBへ送 信する。このパケットを受け取ったIPsec ルータ B はIPsec トンネルモードのパケット(図
2-12)を復号化して元のパケット(図 2-11)を取り出して端末Bに送信する。
IPsec
端末 A ルータA IPsec
ルータB 端末 B
図 2-10 IPsecトンネルモードで動作するルータを含むネットワーク
ペイロード ソースアドレス
端末A
宛先アドレス 端末B
図 2-11 通常のIPパケット概略図
ソースアドレス IPsecルータA
宛先アドレス IPsecルータB
IPsec
ヘッダ ペイロード
Inner Header Outer Header
ソースアドレス 端末A
宛先アドレス 端末B
図 2-12 トンネルモードのIPsecパケットの概略図
トランスポートモードでは端末同士が直接IPsecの処理を行う。図 2-13のようなネットワ ーク端末同士がIPsecトランスポートモードで通信を行っている。この際のIPsecのトランス ポートのパケットの概念図は図 2-14のようになる
端末 A ルータ 端末 B
IPsec通信
ルータ
図 2-13 トランスポートモードで動作する端末を含むネットワーク
ソースアドレス 端末A
宛先アドレス 端末B
IPsec
ヘッダ ペイロード Inner Header Outer Header
図 2-14 トンネルモードのIPsecパケットの概略図
端末同士が直接IPsec処理を行う際にはトランスポートモードだけでなく、トンネルモード を用いても良い。この場合は、IPsecヘッダの内外で同じIPアドレスが用いられることになる。
2.6.2. IPsec AH
トンネルモードとトランスポートモードでは、それぞれESP、AHを用いることができる。
以下にAHのパケットの概略を示す。図 2-15 はIPsecを用いていない通常のIPパケットの 概略図である。
ソースアドレス 端末A
宛先アドレス
端末B ペイロード
図 2-15 IPパケット概略図
図 2-16はAHでのトランスポートモードのパケットの概念図である。パケット全体が完全性 の検証範囲になっている。AHではパケットの暗号化は行われない。
ソースアドレス 端末A
宛先アドレス 端末B
AH
ヘッダ ペイロード
完全性の検証範囲
図 2-16 トランスポートのAHのIPsecパケットの概略図
図 2-17はAHのトンネルモードのパケットの概念図である。パケット全体が完全性の検証範 囲になっている。パケットの暗号化は行われない。
ソースアドレス 端末A
宛先アドレス 端末B AH
ヘッダ ペイロード
完全性の検証範囲
ソースアドレス IPsecルータA
宛先アドレス IPsecルータB
図 2-17 トンネルモードのAHパケットの概略図
トランスポートモード、トンネルモードの共に、パケットの生成時に送信者は送信者と受信者 のみが知っている鍵を用いて、全体のハッシュ値を計算しICV(Integrity Check Value)を求め、
AHヘッダに格納している。パケットの受信者は、受け取ったパケットを保持している鍵でハ ッシュ値を求め、格納されているハッシュ値と一致するかを確認することで、パケットが改ざ んされているかを検出することができる。