(57)【要約】【課題】ネットワークに接続された個々の端末装置に内蔵されたファイヤ・ウォールが、端末機器のアプリケーションと連携して適切なアクセス制御を行なう。【解決手段】ネットワークを利用する際に、使用するシステム・コールのパラメータの内容を使ってファイヤ・ウォールの設定を動的に変更することで、あらかじめファイヤ・ウォールの設定をしなくても、安全を高めつつネットワークを利用することができる。また、ファイヤ・ウォールへ制御するための特殊なコードをアプリケーションに加えなくてもよい。また、ファイヤ・ウォールにｆｔｐなどのプロトコルに対応した固有の処理機構を組み込まなくてもよい。【選択図】　図１
2004078507.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された機器に対するアクセスを制御するアクセス制御装置であって、
ネットワーク・インターフェースへの入出力パケットを監視して、所定の制御ルールに基づいてパケットの通過の可否を制御するファイヤ・ウォールと、
アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータを解釈して前記制御ルールを変更する設定部を備えたシステム・コールと、
を具備することを特徴とするアクセス制御装置。
【請求項２】
前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態を保持する状態保持部と、前記状態保持部に保持されている通信の状態に応じてパケット通過の可否を決定する制御部と、
をさらに備えることを特徴とする請求項１に記載のアクセス制御装置。
【請求項３】
前記状態保持部は、通過するパケットの属するネットワーク接続に関する発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤを記録し、
前記制御部は、受信したパケットの宛先となるアプリケーションのＩＤの状態を参照してパケットの通過の可否を決定する、
ことを特徴とする請求項２に記載のアクセス制御装置。
【請求項４】
前記制御部は、受信したパケットの宛先となるアプリケーションのＩＤから該アプリケーションと関連するアプリケーションＩＤの一覧を参照し、関連するアプリケーションＩＤによってセッション情報を検索し、該セッションの宛先とパケットの送信元が一致するかどうかを判定し、一致した場合にパケットの通過を許可する、
ことを特徴とする請求項２に記載のアクセス制御装置。
【請求項５】
前記設定部は、外部からの接続要求時に元のアプリケーションから立ち上げられる子プロセスの状態を前記状態保持部に登録する、
ことを特徴とする請求項２に記載のアクセス制御装置。
【請求項６】
前記設定部は、元のアプリケーションから子プロセスを生成するときにその状態を前記状態保持部に登録する、
ことを特徴とする請求項２に記載のアクセス制御装置。
【請求項７】
ネットワーク接続を開始するシステム・コールにおいて、アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータにファイヤ・ウォールの制御ルールを記述するパラメータを含む、
ことを特徴とする請求項１に記載のアクセス制御装置。
【請求項８】
接続を待ち受けるためのシステム・コールにおいて、アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータにファイヤ・ウォールの制御ルールを記述するパラメータを含む、
ことを特徴とする請求項１に記載のアクセス制御装置。
【請求項９】
前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が接続中である場合、アプリケーションから指定された宛先へ接続を開始するためのパケットの通過を許す、
ことを特徴とする請求項１に記載のアクセス制御装置。
【請求項１０】
前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が通信中である場合、指定されている発信元から宛先への双方向の通信を許可する、
ことを特徴とする請求項１に記載のアクセス制御装置。
【請求項１１】
前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が待ち受けである場合、アプリケーションに対して指定されている発信元からの接続を許す、
ことを特徴とする請求項１に記載のアクセス制御装置。
【請求項１２】
前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が条件付待ち受けである場合、既に通信中状態にあるプログラムが動的に新たな接続をした場合のみ接続を許可する、
ことを特徴とする請求項１に記載のアクセス制御装置。
【請求項１３】
前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が終了待ちの場合、接続を終了させる手順の途中であることを示す、
ことを特徴とする請求項１に記載のアクセス制御装置。
【請求項１４】
ネットワークに接続された機器に対するアクセスを制御するアクセス制御方法であって、
ネットワーク・インターフェースへの入出力パケットを監視して、所定の制御ルールに基づいてパケットの通過の可否を制御するパケット通過制御ステップと、
アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータを解釈して前記制御ルールを変更する制御ルール変更ステップと、
を具備することを特徴とするアクセス制御方法。
【請求項１５】
前記パケット通過制御ステップでは、通過するパケットの属するネットワーク接続に関する通信の状態を保持するとともに、該保持されている通信の状態に応じてパケット通過の可否を決定する、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項１６】
通信の状態として、通過するパケットの属するネットワーク接続に関する発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤを記録し、
受信したパケットの宛先となるアプリケーションのＩＤの状態を参照してパケットの通過の可否を決定する、
ことを特徴とする請求項１５に記載のアクセス制御方法。
【請求項１７】
保持されている通信の状態に関する情報の中から、受信したパケットの宛先となるアプリケーションのＩＤから該アプリケーションと関連するアプリケーションＩＤの一覧を参照し、関連するアプリケーションＩＤによってセッション情報を検索し、該セッションの宛先とパケットの送信元が一致するかどうかを判定し、一致した場合にパケットの通過を許可する、
ことを特徴とする請求項１５に記載のアクセス制御方法。
【請求項１８】
通信の状態として、外部からの接続要求時に元のアプリケーションから立ち上げられる子プロセスの状態を保持する、
ことを特徴とする請求項１５に記載のアクセス制御方法。
【請求項１９】
通信の状態として、元のアプリケーションから子プロセスを生成するときにその状態を保持する、
ことを特徴とする請求項１５に記載のアクセス制御方法。
【請求項２０】
ネットワーク接続を開始するシステム・コールにおいて、アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータにファイヤ・ウォールの制御ルールを記述するパラメータを含む、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項２１】
接続を待ち受けるためのシステム・コールにおいて、アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータにファイヤ・ウォールの制御ルールを記述するパラメータを含む、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項２２】
前記パケット通過制御ステップでは、通過するパケットの属するネットワーク接続に関する通信の状態が接続中である場合、アプリケーションから指定された宛先へ接続を開始するためのパケットの通過を許す、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項２３】
前記パケット通過制御ステップでは、通過するパケットの属するネットワーク接続に関する通信の状態が通信中である場合、指定されている発信元から宛先への双方向の通信を許可する、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項２４】
前記パケット通過制御ステップでは、通過するパケットの属するネットワーク接続に関する通信の状態が待ち受けである場合、アプリケーションに対して指定されている発信元からの接続を許す、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項２５】
前記パケット通過制御ステップでは、通過するパケットの属するネットワーク接続に関する通信の状態が条件付待ち受けである場合、既に通信中状態にあるプログラムが動的に新たな接続をした場合のみ接続を許可する、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項２６】
前記パケット通過制御ステップでは、通過するパケットの属するネットワーク接続に関する通信の状態が終了待ちの場合、接続を終了させる手順の途中であることを示す、
ことを特徴とする請求項１４に記載のアクセス制御方法。
【請求項２７】
ネットワークに接続された機器に対するアクセスを制御するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
ネットワーク・インターフェースへの入出力パケットを監視して、所定の制御ルールに基づいてパケットの通過の可否を制御するパケット通過制御ステップと、
アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータを解釈して前記制御ルールを変更する制御ルール変更ステップと、
を具備することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータなどの機器への外部からのアクセスをコントロールするアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムに係り、特に、ネットワークに接続された機器に対するアクセスをコントロールするアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムに関する。
【０００２】
さらに詳しくは、本発明は、ネットワークの境界に配置されて通過するパケットを監視し、設定されたルールに従ってパケットを通過させるか破棄するかといったアクセス制御を行なうアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムに係り、特に、機器上で動作するアプリケーションと連携して適切なアクセス制御を行なうアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムに関する。
【０００３】
【従来の技術】
昨今、情報処理や情報通信などのコンピューティング技術が飛躍的に向上し、コンピュータ・システムが広汎に普及してきている。さらに、コンピュータどうしを相互接続するネットワーク・コンピューティング技術に対する要望も高まってきている。ネットワーク接続環境下では、コンピュータ資源の共有や、情報の共有・流通・配布・交換などの協働的作業を円滑に行なうことができる。
【０００４】
コンピュータどうしを相互接続するネットワークの形態は様々である。例えば、イーサネット（Ｅｔｈｅｒｎｅｔ）のような局所に敷設されたＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）や、さらには、ネットワークどうしの相互接続を繰り返し行った結果として文字通り世界規模のネットワークへ成長を遂げた「インターネット」（Ｔｈｅ　Ｉｎｔｅｒｎｅｔ）などさまざまである。
【０００５】
インターネットは、各大学や研究機関などに設置されたサーバが自主的に相互接続を繰り返した結果、巨大ネットワークへと成長するに至った、字義通り、ネットワークのネットワークである。現在、インターネット上には無数のサーバが接続されており、各サーバは、各種の資源オブジェクトを無数のクライアントに公開している。インターネット上のサーバ同士は、通常、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）プロトコルに従って相互接続されている。
【０００６】
インターネット上では、ＷＷＷ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）、Ｎｅｗｓ、ＴＥＬＮＥＴ（ＴＥＬｅｔｙｐｅｗｒｉｔｅｒ　ＮＥＴｗｏｒｋ）、ＦＴＰ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）、Ｇｏｐｈｅｒなど、多数のサービス／アプリケーションが公開されている。
【０００７】
最近では、電話回線（ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ　Ｄｉｇｉｔａｌ　Ｓｕｂｓｃｒｉｂｅｒ　Ｌｉｎｅ）など）やケーブル・テレビなどの高速なネットワーク回線の敷設に伴い、常時接続環境の充実してきている。また、今後普及が見込まれるＩＰｖ６により、数多くの機器がインターネットに接続されることが予想される。
【０００８】
しかしながら、このような広域ネットワークの普及と同時に、安全性に対する不安も生じている。何故ならば、ネットワークを介することで知らないうちに機器に不正にアクセスされ、システム内のデータを不正に模倣・盗用、改ざんしたり、ウィルス感染などによりシステムを使用不要にしたりするなど、人手を介さずに攻撃を受ける可能性があるからである。このため、インターネットの利用者は、いくつかのセキュリティ対策を講じなければならない。
【０００９】
ネットワークに接続した機器又はサービスについて、誰に対してどのような利用を許すかのコントロール、すなわちアクセス制御は、通信の経路上に配設されたファイヤ・ウォールが行なうことが一般的である。
【００１０】
ファイヤ・ウォールは、ネットワークの境界に配置され、通過するパケットを監視し、設定されたルールに従ってパケットを通過させるか又は破棄するかといった処理を行なう。
【００１１】
このようなファイヤ・ウォールの一般的な利用形態としては、ネットワークを信頼できる範囲（例えば自組織内ネットワーク）と信頼できない範囲（例えばインターネットのような外部ネットワーク）に区別し、両者間の通信を原則不可とし、少数の例外的な通信（例えばインターネット上のＨＴＴＰサーバに対する通信）のみを許すような利用方法が挙げられる。
【００１２】
しかしながら、近年のＩＰｖ６技術の発展とともに、将来のネットワークのあり方として、端末と通信相手の端末が直接接続する”ｅｎｄ−ｔｏ−ｅｎｄ”通信を基本とした構成が望まれている。その動機の１つとして、端末機器のアプリケーションを設計する者が自由にアプリケーションを作成できるようにするために、ネットワークは原則としてすべての端末へのｅｎｄ−ｔｏ−ｅｎｄでの接続性を統一した単純なインターフェースで提供すべきだという考え方が挙げられる。
【００１３】
そのような構成においては、通信の経路上にファイヤ・ウォールが存在せず、機器自体にファイヤ・ウォールの機能が組み込まれた形態が用いられるものと予想される。
【００１４】
例えば、ＩＰ　Ｆｉｌｔｅｒ（ｈｔｔｐ：／／ｃｏｏｍｓ．ａｎｕ．ｅｄｕ．ａｕ／￣ａｖａｌｏｎ／ｉｐ−ｆｉｌｔｅｒ．ｈｔｍｌから取得できるもの）のようなパケット・フィルタリング・ソフトウェアを各端末機器にインストールするような構成が考えられる。その場合、端末機器の構成は、例えば図２０に示すようなものが考えられる。
【００１５】
ファイヤ・ウォールには、ルールを設定するためのインターフェースとなる設定部があり、ユーザ・プログラムの設定ツールによって設定される。また、状態保持部には、例えば通過するパケットの属するＴＣＰセッションの状態が記録される。制御部は、設定されたルールと、状態保持部の情報を利用してパケット通過の可否を決定する。
【００１６】
しかしながら、ファイヤ・ウォールと同様の機構を端末機器に組み込んだだけでは、アプリケーション・プログラムがネットワークを利用するのに必要なファイヤ・ウォールの設定をあらかじめ設定ツールなどにより行なう必要があり、柔軟性に欠ける。例えば、新たなアプリケーションの利用を開始するときなどに設定の変更が必要になるなどの困難が生じる。
【００１７】
また、アプリケーション・プロトコルによっては、ファイヤ・ウォールを越えた通信ができないという、ファイヤ・ウォールが本来持つ問題点のため、ｅｎｄ−ｔｏ−ｅｎｄ通信を行ないつつ、安全性を確保するのは困難である。
【００１８】
一例として、ｆｔｐ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）に代表されるような、動的に決定したポート番号を使ってＴＣＰ接続を新規に行なうようなプロトコルについては、そのプロトコルの動作を把握していなければならない。すなわち、端末機器の設計者が新しいプロトコルを使うアプリケーションを作成した場合、ファイヤ・ウォールを超えた通信できないという事態が生じる。このため、上述したような端末機器自体に組み込まれたファイヤ・ウォール機能を実現するには問題となる。
【００１９】
通常のｆｔｐクライアントの動作は図２１に示すようなシーケンスに従って通信が行なわれる。まず、制御用の通信をするためにｆｔｐサーバの２１番ポートにＴＣＰ接続を行ない、各種コマンドの送信を行なう。一方、データ転送のためには別なＴＣＰ接続を用いるので、一般的には子プロセスを生成してＰＯＲＴコマンドのパラメータとして指定するようになっている。例えば、クライアントがデータの取得のためにＲＥＴＲコマンドを送った場合、ｆｔｐサーバはＰＯＲＴコマンドで指定されたポートに対して接続してデータを転送する。
【００２０】
このため、ファイや・ウォールにｆｔｐの通信を通過させるには、ｆｔｐサーバからデータ転送用の接続を許す必要がある。このような設定をあらかじめ行なおうとすると、ｆｔｐサーバは多数あり、そのアドレスをあらかじめ決定することはできないため、すべてのアドレスからの接続を受け付けるような設定が必要になってしまう。このような設定では脆弱性が増すため、実現は困難である。
【００２１】
従来のファイヤ・ウォール関連技術では、ｆｔｐの通信を通過させるには以下のような手法が用いられている。
【００２２】
ファイヤ・ウォールが２１番ポートのパケットを監視して、ｆｔｐクライアントが送信したＰＯＲＴコマンドを発見して解析し、データ転送のためのポート番号を得る。その後、データ転送用のポートに対して、サーバからクライアントへのＴＣＰコネクションの接続を許可するようにファイヤ・ウォールの設定変更を行なう。
【００２３】
この方式では、ＦＴＰに特化した処理を持つプログラムが必要になるという問題がある。さらに、ｆｔｐと同様に、通信中に動的に割り当てたポート番号によって別な接続を生成するようなプロトコルに関しては、そのプロトコルの仕様に沿った処理を個別に追加することが必要になるという問題もある。
【００２４】
このような問題を解決するための技術として、例えば特開２０００−３４９８２１号公報に開示されているポートアクセス制御システムを挙げることができる。同公報によれば、ＦＴＰクライアントがオペレーティング・システムから動的に割り当てられたデータ・コネクション用のポートに対しては、外部ネットワークからのアクセスを許可するようにファイヤ・ウォールに要求することにより、ＦＴＰサーバ間でのデータ・コネクションを確立する。データ・コネクションの開放時には、ファイヤ・ウォールにおけるそのポートに対するアクセス許可を取り消す。したがって、ＦＴＰファイル伝送をファイヤ・ウォールを介して行なう場合にも、ＦＴＰファイル伝送に用いるポートをファイヤ・ウォールにおいてアクセス可能なものとしてあらかじめ設定しておく必要がなく、ＦＴＰファイル伝送におけるデータ・コネクションの確立などがファイヤ・ウォールを介して効率的に行なうことができ、ファイヤ・ウォールによるセキュリティを維持したままネットワークの利便性を向上させることができる。
【００２５】
しかしながら、同公報に記載の技術では、ｆｔｐアプリケーションを変更しなくてはならないという問題がある。
【００２６】
【発明が解決しようとする課題】
本発明の目的は、ネットワークの境界に配置されて通過するパケットを監視し、設定されたルールに従ってパケットを通過させるか破棄するかといったアクセス制御を好適に行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することにある。
【００２７】
本発明のさらなる目的は、機器上で動作するアプリケーションと連携して適切なアクセス制御を好適に行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することにある。
【００２８】
本発明のさらなる目的は、アプリケーションが通信を行なうために設定したルールの変更が必要となった時点で動的に設定変更を行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することにある。
【００２９】
本発明のさらなる目的は、動的に決定したポート番号を使ってネットワーク接続を新規に行なうようなプロトコルでデータ通信を行なう場合であっても、好適にアクセス制御を行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することにある。
【００３０】
本発明のさらなる目的は、ネットワークに接続された個々の端末装置に内蔵されたファイヤ・ウォールが、端末機器のアプリケーションと連携して適切なアクセス制御を行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することにある。
【００３１】
本発明のさらなる目的は、初期状態のファイヤ・ウォールの設定では通信許可を与えない状態に設定し、アプリケーションが通信を行なうためにファイヤ・ウォールの設定変更が必要となった時点で動的に設定変更を行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することにある。
【００３２】
【課題を解決するための手段及び作用】
本発明は、上記課題を参酌してなされたものであり、その第１の側面は、ネットワークに接続された機器に対するアクセスを制御するアクセス制御装置であって、
ネットワーク・インターフェースへの入出力パケットを監視して、所定の制御ルールに基づいてパケットの通過の可否を制御するファイヤ・ウォールと、
アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータを解釈して前記制御ルールを変更する設定部を備えたシステム・コールと、
を具備することを特徴とするアクセス制御装置である。
【００３３】
ここで、前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態を保持する状態保持部と、前記状態保持部に保持されている通信の状態に応じてパケット通過の可否を決定する制御部とを備えている。
【００３４】
前記状態保持部は、通過するパケットの属するネットワーク接続に関する発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤを記録し、また、前記制御部は、受信したパケットの宛先となるアプリケーションのＩＤの状態を参照してパケットの通過の可否を決定するようになっている。
【００３５】
前記制御部は、より具体的には、受信したパケットの宛先となるアプリケーションのＩＤから該アプリケーションと関連するアプリケーションＩＤの一覧を参照し、関連するアプリケーションＩＤによってセッション情報を検索し、該セッションの宛先とパケットの送信元が一致するかどうかを判定し、一致した場合にパケットの通過を許可する。
【００３６】
したがって、本発明の第１の側面に係るアクセス制御装置によれば、ネットワークを利用する際に、使用するシステム・コールのパラメータの内容を使ってファイヤ・ウォールの設定を動的に変更することで、あらかじめファイヤ・ウォールの設定をしなくても、安全を高めつつネットワークを利用することができる。また、ファイヤ・ウォールへ制御するための特殊なコードをアプリケーションに加えなくてもよい。また、ファイヤ・ウォールにｆｔｐなどのプロトコルに対応した固有の処理機構を組み込まなくてもよい。
【００３７】
前記設定部は、外部からの接続要求時に元のアプリケーションから立ち上げられる子プロセスの状態を前記状態保持部に登録するようにしてもよい。
【００３８】
また、前記設定部は、元のアプリケーションから子プロセスを生成するときにその状態を前記状態保持部に登録するようにしてよい。
【００３９】
また、ネットワーク接続を開始するシステム・コールにおいて、アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータにファイヤ・ウォールの制御ルールを記述するパラメータを含んでいてもよい。
【００４０】
また、接続を待ち受けるためのシステム・コールにおいて、アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータにファイヤ・ウォールの制御ルールを記述するパラメータを含んでいてもよい。
【００４１】
また、前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が接続中である場合、アプリケーションから指定された宛先へ接続を開始するためのパケットの通過を許すようにしてもよい。
【００４２】
また、前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が通信中である場合、指定されている発信元から宛先への双方向の通信を許可するようにしてもよい。
【００４３】
また、前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が待ち受けである場合、アプリケーションに対して指定されている発信元からの接続を許すようにしてもよい。
【００４４】
また、前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が条件付待ち受けである場合、既に通信中状態にあるプログラムが動的に新たな接続をした場合のみ接続を許可するようにしてもよい。
【００４５】
また、前記ファイヤ・ウォールは、通過するパケットの属するネットワーク接続に関する通信の状態が終了待ちの場合、接続を終了させる手順の途中であることを示すようにしてもよい。
【００４６】
また、本発明の第２の側面は、ネットワークに接続された機器に対するアクセスを制御するための処理をコンピュータ・システム上で実行するようにコンピュータ可読形式で記述されたコンピュータ・プログラムであって、
ネットワーク・インターフェースへの入出力パケットを監視して、所定の制御ルールに基づいてパケットの通過の可否を制御するパケット通過制御ステップと、
アプリケーション・プログラムが通信時に呼び出す呼び出しパラメータを解釈して前記制御ルールを変更する制御ルール変更ステップと、
を具備することを特徴とするコンピュータ・プログラムである。
【００４７】
本発明の第２の側面に係るコンピュータ・プログラムは、コンピュータ・システム上で所定の処理を実現するようにコンピュータ可読形式で記述されたコンピュータ・プログラムを定義したものである。換言すれば、本発明の第２の側面に係るコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第１側面に係るアクセス制御装置と同様の作用効果を得ることができる。
【００４８】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施形態や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【００４９】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施形態について詳解する。但し、端末装置がパケット・フィルタ形式のファイヤ・ウォールを用いてアクセス制御を行なう場合について扱うものとする。
【００５０】
図１には、本発明が適用された通信システムの構成例を模式的に示している。
【００５１】
同図において、ネットワーク６は、例えば企業など特定の組織内あるいは家庭内に限定的に敷設されたネットワークなどのローカル・エリア・ネットワーク（ＬＡＮ）であり、端末４が接続され、ＩＰｖ６アドレスａｄｄｒ４が割り当てられている。
【００５２】
端末４は、ネットワークを利用するアプリケーションを搭載した機器であり、一例としてパーソナル・コンピュータ（ＰＣ）などの計算機で構成されるが、勿論、ネットワーク通信機能を備えた家電製品などの他の形態の情報機器であってもよい。本明細書では、端末機器４内にＦＴＰクライアント１４を持つ機器を例として取り上げる。
【００５３】
ネットワーク６は、インターネットなどの広域ネットワークを経由して他のネットワーク５と相互接続されている。ネットワーク５には、端末３が接続されている。
【００５４】
端末３は、ＩＰｖ６プロトコルにより通信可能な機器であり、アドレスａｄｄｒ３が割り当てられている。端末３は、一例としてパーソナル・コンピュータ（ＰＣ）などの計算機で構成されるが、勿論、ネットワーク通信機能を備えた家電製品などの他の形態の情報機器であってもよい。本明細書では、端末機器３内にＦＴＰサーバ１３を持つ機器を例として取り上げる。
【００５５】
図２には、端末機器４の機能構成を模式的に示している。同図に示すよう、端末機器４は、ネットワークを利用して通信するアプリケーション・プログラムであるＦＴＰクライアント１４と、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）プロトコルに従ったデータの受け渡し処理を行なうＩＰ処理部１５と、ネットワーク６経由でのパケットの通過の可否を制御するファイヤ・ウォール１６とを備えている。
【００５６】
ＦＴＰクライアント１４などのアプリケーションは、ネットワーク利用時に、オペレーティング・システム（ＯＳ）の機能の一部であるシステム・コールを呼び出し、ＩＰ処理部１５に指示を伝える。
【００５７】
ＩＰ処理部１５は、アプリケーションから渡されたデータを、ＩＰパケットの形式に変換し、ファイヤ・ウォールで出力の可否を判定した上で出力する。また、ネットワークから受信したＩＰパケットをファイヤ・ウォールで入力可否を判定し、形式変換してからアプリケーションに渡す。
【００５８】
ファイヤ・ウォール１６は、ルールを設定するためのインターフェースとなる設定部１６Ａ及び通信の状態を保持する状態保持部１６Ｂと、制御部１６Ｃとを備えている。アプリケーションが通信時に呼び出すＯＳの機能であるシステム・コールから、設定部１６Ａを通じてルールの設定を行なう。
【００５９】
状態保持部１６Ｂには、通過するパケットの属するＴＣＰなどの接続に関する情報として、発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤが記録される。アプリケーションのＩＤは、ネットワーク接続を利用している各アプリケーションに関するＩＤが記録される。例えばＵｎｉｘ系のオペレーティング・システムにおけるプロセスＩＤがアプリケーションＩＤとして利用可能である。また、ネットワーク接続の状態としては、「接続中」、「待ち受け」、「条件付待ち受け」、「通信中」、「終了待ち」という５通りの状態が用いられる。
【００６０】
ファイヤ・ウォール１６内の制御部１６Ｃは、状態保持部１６Ｂの情報を利用して、パケット通過の可否を決定する。
【００６１】
「接続中」状態の場合、端末内のアプリケーションから指定された宛先へ接続を開始するためのパケットの通過を許す。
【００６２】
「通信中」状態の場合、指定されている発信元から宛先への双方向の通信を許可する。
【００６３】
「待ち受け」状態の場合、端末内のアプリケーションに対して、指定されている発信元からの接続を許す。
【００６４】
「条件付き待ち受け」の場合、既に通信中状態にあるプログラムが動的に新たな接続をした場合のみ接続を許可する。
【００６５】
「終了待ち」の場合、接続を終了させる手順の途中であることを示す。
【００６６】
図２に示す実施形態に係る端末装置４における動作を、インターネット５を介して相互接続される端末３のＦＴＰサーバ１３に接続してファイル取得を行なう通信の手順を例に挙げて説明する。図３及び図４には、このときの端末装置４の動作手順をフローチャートの形式で示している。また、図５には、このときの端末装置４及び端末装置３間の動作シーケンスを示している。
【００６７】
本実施形態では、端末４上のファイヤ・ウォール１６は、当初、すべての通信を不許可とするように設定されている。但し、この初期設定は一例であり、インターネット５上で公衆に公開するような類のサーバ機能を持つ場合には、以下の説明と矛盾することなく、サーバがリクエスト受信に使用するポート番号の通信を許可するよう、適切な設定をすることが可能である。
【００６８】
ｆｔｐクライアント１４がｆｔｐサーバ１３に接続するために、端末３のＩＰアドレスａｄｄｒ３の２１番ポート（コマンド用ポート）に対するｃｏｎｎｅｃｔを実行する（ステップＳ１）。
【００６９】
端末４のＯＳは、ｃｏｎｎｅｃｔシステム・コールの処理中に、その引数である接続先アドレスａｄｄｒ３、ポート２１番といったＴＣＰ接続の情報と、ｆｔｐクライアント１４のプロセスＩＤを組にして、ファイヤ・ウォール１６の状態保持部１６Ｂに登録する（ステップＳ２）。このとき、この接続に関する情報は「接続中」状態として、状態保持部１６Ｂに登録される。
【００７０】
ｆｔｐクライアント１４とｆｔｐサーバ１３でＴＣＰ接続が確立した後、ファイヤ・ウォール１６は、状態保持部１６Ｂのａｄｄｒ３のポート２１番に対する接続に関する情報を「通信中」状態に変更する（ステップＳ３）。
【００７１】
ｆｔｐクライアント１４は、子プロセスを立ち上げ、データ転送のために新たなＴＣＰ接続を準備する（ステップＳ４）。ここでは、データ転送用ポートとしてポート５００１番を利用する場合を例に挙げる。
【００７２】
子プロセスは、５００１番ポートでＴＣＰ接続を待つよう、ｌｉｓｔｅｎを実行する（ステップＳ５）。
【００７３】
次に、子プロセスは、システム・コールａｃｃｅｐｔを実行して、５００１番ポートに接続されるまでブロックする（ステップＳ６）。
【００７４】
次に、ｆｔｐクライアント１４は、データ転送のためのポートを指定するＰＯＲＴコマンドを、制御のために既に２１番ポートに対して確立したＴＣＰ接続を使って転送する（ステップＳ７）。
【００７５】
これに対し、ｆｔｐサーバ１３は、ＰＯＲＴコマンドを受信して、パラメータであるポート番号５００１を記録する（ステップＳ８）。
【００７６】
次いで、ｆｔｐクライアント１４は、データ取得のため、ＲＥＴＲコマンドを送信する（ステップＳ９）。
【００７７】
ｆｔｐサーバ１３は、ＲＥＴＲコマンドを受信すると、ａｄｄｒ４の５００１番ポートに対してデータを送信する（ステップＳ１０）。
【００７８】
ファイヤ・ウォール１６は、ａｄｄｒ３からの５００１番ポートに対するＴＣＰパケットの到着を発見する（ステップＳ１１）。
【００７９】
次いで、ファイヤ・ウォール１６は、ＩＰ処理部１５で保持している状態の中から、現在端末４でｌｉｓｔｅｎされているポートの一覧を取得し（ステップＳ１２）、その中に５００１番があるかどうかを調べる（ステップＳ１３）。このような動作は、例えばＵｎｉｘ系のオペレーティング・システムであれば、ｓｏｃｋｔａｔコマンドを使って情報を取得することにより実現される。
【００８０】
ここで、現在端末４でｌｉｓｔｅｎされているポートの一覧の５００１番がなかった場合には、パケットを破棄して（ステップＳ１４）、ＲＳＴを返す（ステップＳ１５）。その結果、ｆｔｐサーバ１３からのＴＣＰ接続の試みは失敗する。
【００８１】
また、５００１番ポートが待ち受けられていた場合、そのポートを使用しているプロセスのプロセスＩＤ、及びその子プロセスのＩＤ一覧を取得する（ステップＳ１６）。
【００８２】
次いで、ファイヤ・ウォール１６は、上記のプロセス又はその子プロセスのそれぞれについて、ＩＤの一覧を使って、状態保持部１６Ｂにａｄｄｒ３との間で「通信中」状態である接続の情報があるかどうかを検索する（ステップＳ１７）。
【００８３】
もし存在しなければ（ステップＳ１８）、ファイヤ・ウォール１６は、パケットを破棄して（ステップＳ１４）、ＲＳＴを返す（ステップＳ１５）。その結果、ｆｔｐサーバ１３からのＴＣＰ接続の試みは失敗する。
【００８４】
一方、状態保持部１６Ｂにａｄｄｒ３との間で「通信中」状態である接続の情報が存在する場合には（ステップＳ１８）、ファイヤ・ウォール１６は、パケットの受信処理を続行すると同時に、５００１番ポートに対するＴＣＰ接続の情報を「通信中」状態として登録し、パケットの通過を許可する（ステップＳ１９）。
【００８５】
その後、子プロセスが待ち受けていた５００１番へのＴＣＰ接続が確立すると（ステップＳ２０）、子プロセスとｆｔｐサーバの間でデータ転送を実行する（ステップＳ２１）。
【００８６】
ファイヤ・ウォール１６は、５００１番ポートに対するＦＩＮパケットの到着を発見する（ステップＳ２２）。
【００８７】
ｆｔｐクライアント１４は、ＴＣＰの終了処理として、ＦＩＮに対するＡＣＫを送信する（ステップＳ２３）。
【００８８】
端末１４上の子プロセスの終了により、ｃｌｏｓｅが実行される（ステップＳ２４）。
【００８９】
オペレーティング・システムは、ｃｌｏｓｅシステム・コールの処理中に、ｃｌｏｓｅで指定されたソケット・ディスクリプタから、該当するＴＣＰコネクションの宛先アドレス、宛先ポート、送信先ポートの情報を得て、該当する（データ転送用ポートとしての）５００１番ポートの接続の情報をファイヤ・ウォール１６の状態保持部１６Ｂより削除する（ステップＳ２５）。
【００９０】
以上でデータ転送コネクションに関する処理が一通り終了する。
【００９１】
ｆｔｐクライアント１４の終了時、ｆｔｐクライアント１４がｃｌｏｓｅシステム・コールを発行する（ステップＳ２６）。
【００９２】
オペレーティング・システムは、ｃｌｏｓｅ処理中に、コマンド用ポートとしての２１番ポートの接続の情報をファイヤ・ウォール１６の状態保持部１６Ｂから削除して（ステップＳ２７）、パケットの通過を禁止する。
【００９３】
以上の説明からも判るように、図２に示すような構成の端末４においては、あらかじめｆｔｐに特化した動作をするようなファイヤ・ウォールの機能がなくても、ファイヤ・ウォール越しに従来のｆｔｐプロトコルを変更することなく使用することが可能になる。また、ｆｔｐ以外に、例えばＲＴＳＰ（Ｒｅａｌ　Ｔｉｍｅ　Ｓｔｒｅａｍｉｎｇ　Ｐｒｏｔｏｃｏｌ）など動的に決定したポート番号を使って接続を新規に作成するようなプロトコルについても、図示の端末４を同様に適用することができる。
【００９４】
図６には、端末機器４の他の機能構成例を模式的に示している。同図に示すよう、端末機器４は、ネットワークを利用して通信するアプリケーション・プログラムであるＦＴＰクライアント１４と、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）プロトコルに従ったデータの受け渡し処理を行なうＩＰ処理部１５と、ネットワーク６経由でのパケットの通過の可否を制御するファイヤ・ウォール１６とを備えている。
【００９５】
ＦＴＰクライアント１４などのアプリケーションは、ネットワーク利用時に、オペレーティング・システム（ＯＳ）の機能であるシステム・コールを呼び出し、ＩＰ処理部１５に指示を伝える。
【００９６】
ＩＰ処理部１５は、アプリケーションから渡されたデータを、ＩＰパケットの形式に変換し、ファイヤ・ウォールで出力の可否を判定した上で出力する。また、ネットワークから受信したＩＰパケットをファイヤ・ウォールで入力可否を判定し、形式変換してからアプリケーションに渡す。
【００９７】
ファイヤ・ウォール１６は、ルールを設定するためのインターフェースとなる設定部１６Ａ及び通信の状態を保持する状態保持部１６Ｂと、制御部１６Ｃとを備えている。アプリケーションが通信時に呼び出すＯＳの機能であるシステム・コールから、設定部１６Ａを通じて設定を行なう。
【００９８】
状態保持部１６Ｂには、通過するパケットの属するＴＣＰなどの接続に関する情報として、発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤが記録される。アプリケーションのＩＤは、ネットワーク接続を利用している各アプリケーションに関するＩＤが記録される。例えばＵｎｉｘ　ＯＳにおけるプロセスＩＤがアプリケーションＩＤとして利用可能である。また、状態としては、「接続中」、「待ち受け」、「条件付待ち受け」、「通信中」、「終了待ち」という５通りの状態が用いられる。
【００９９】
ファイヤ・ウォール１６内の制御部１６Ｃは、状態保持部１６Ｂの情報を利用して、パケット通過の可否を決定する。
【０１００】
図６に示す実施形態に係る端末装置４における動作を、インターネット５を介して相互接続される端末３のＦＴＰサーバ１３に接続してファイル取得を行なう通信の手順を例に挙げて説明する。図７及び図８には、このときの端末装置４の動作手順をフローチャートの形式で示している。また、図９には、このときの端末装置４及び端末装置３間の動作シーケンスを示している。
【０１０１】
本実施形態では、端末４上のファイヤ・ウォール１６は、当初、すべての通信を不許可とするように設定されている。但し、この初期設定は一例であり、インターネット５上で公衆に公開するような類のサーバ機能を持つ場合には、以下の説明と矛盾することなく、サーバがリクエスト受信に使用するポート番号の通信を許可するよう、適切な設定をすることが可能である。
【０１０２】
ｆｔｐクライアント１４がｆｔｐサーバ１３に接続するために、端末３のＩＰアドレスａｄｄｒ３のコマンド用ポートとしての２１番ポートに対するｃｏｎｎｅｃｔを実行する（ステップＳ３１）。
【０１０３】
端末４のＯＳは、ｃｏｎｎｅｃｔシステム・コールの処理中に、その引数である接続先アドレスａｄｄｒ３、ポート２１番といったＴＣＰ接続の情報と、ｆｔｐクライアント１４のプロセスＩＤを組にして、ファイヤ・ウォール１６の状態保持部１６Ｂに登録する（ステップＳ３２）。このとき、この接続に関する情報は「接続中」状態として、状態保持部１６Ｂに登録される。
【０１０４】
ｆｔｐクライアント１４とｆｔｐサーバ１３でＴＣＰ接続が確立した後、ファイヤ・ウォール１６は、状態保持部１６Ｂのａｄｄｒ３のポート２１番に対する接続に関する情報を「通信中」状態に変更する（ステップＳ３３）。
【０１０５】
ｆｔｐクライアント１４は、子プロセスを立ち上げ、データ転送のために新たなＴＣＰ接続を準備する（ステップＳ３４）。ここでは、データ転送用ポートとしてポート５００１番を利用する場合を例に挙げる。
【０１０６】
子プロセスは、５００１番ポートでＴＣＰ接続を待つよう、ｌｉｓｔｅｎを実行する（ステップＳ３５）。
【０１０７】
次に、子プロセスは、システム・コールａｃｃｅｐｔを実行して、５００１番ポートに接続されるまでブロックする（ステップＳ３６）。
【０１０８】
端末４のＯＳは、ａｃｃｅｐｔシステム・コールの処理中に、ＴＣＰ接続の情報と、子プロセスのプロセスＩＤを組にして、ファイヤ・ウォール１６の状態保持部１６Ｂに登録する。この際、ａｄｄｒ４の５００１番に対する接続の情報が「条件付接続待ち」として登録される（ステップＳ３７）。
【０１０９】
次に、ｆｔｐクライアント１４は、データ転送のためのポートを指定するＰＯＲＴコマンドを、制御のために既に２１番ポートに対して確立したＴＣＰ接続を使って転送する（ステップＳ３８）。
【０１１０】
これに対し、ｆｔｐサーバ１３は、ＰＯＲＴコマンドを受信して、パラメータであるポート番号５００１を記録する（ステップＳ３９）。
【０１１１】
次いで、ｆｔｐクライアント１４は、データ取得のため、ＲＥＴＲコマンドを送信する（ステップＳ４０）。
【０１１２】
ｆｔｐサーバ１３は、ＲＥＴＲコマンドを受信すると、ａｄｄｒ４の５００１番ポートに対してデータを送信する（ステップＳ４１）。
【０１１３】
ファイヤ・ウォール１６は、ａｄｄｒ３からの５００１番ポートに対するＴＣＰパケットの到着を発見する（ステップＳ４２）。
【０１１４】
次いで、ファイヤ・ウォール１６は、ファイヤ・ウォール１６内の状態保持部１６Ｂの中から５００１番ポートに対する「待ち受け」又は「条件付き待ち受け」状態になっているものを検索する（ステップＳ４３）。
【０１１５】
ここで、５００１番ポートに対する「待ち受け」又は「条件付き待ち受け」状態になっているものがなかった場合には（ステップＳ４４）、パケットを破棄して（ステップＳ４５）、ＲＳＴを返す（ステップＳ４６）。その結果、ｆｔｐサーバ１３からのＴＣＰ接続の試みは失敗する。
【０１１６】
また、５００１番ポートに対する「待ち受け」又は「条件付き待ち受け」状態になっているものがあった場合には（ステップＳ４４）、既に通信を行なっているプログラムが動的に新たな接続をした場合のみ接続を許可する。そのために、まず、ファイヤ・ウォール１６は、５００１番で待ち受けているプロセスのプロセスＩＤからその親プロセスのＩＤを取得する（ステップＳ４７）。
【０１１７】
次いで、ファイヤ・ウォール１６は、上記のプロセス又はその親プロセスのそれぞれについて、状態保持部１６Ｂにａｄｄｒ３と「通信中」状態である情報があるかどうかを検索する（ステップＳ４８）。
【０１１８】
もし存在しなければ（ステップＳ４９）、ファイヤ・ウォール１６は、パケットを破棄して（ステップＳ４５）、ＲＳＴを返す（ステップＳ４６）。その結果、ｆｔｐサーバ１３からのＴＣＰ接続の試みは失敗する。
【０１１９】
一方、状態保持部１６Ｂにａｄｄｒ３との間で「通信中」状態である接続の情報が存在する場合には（ステップＳ４９）、ファイヤ・ウォール１６は、パケットの受信処理を続行すると同時に、５００１番ポートに対するＴＣＰ接続の情報を「通信中」状態として登録し、パケットの通過を許可する（ステップＳ５０）。
【０１２０】
その結果、子プロセスが待ち受けていた５００１番へのＴＣＰ接続が確立する（ステップＳ５１）と、子プロセスとｆｔｐサーバの間でデータ転送を実行する（ステップＳ５２）。
【０１２１】
データ転送が終了するとき、ｆｔｐサーバ１３はＦＩＮパケットを送信する（ステップＳ５３）。
【０１２２】
ファイヤ・ウォール１６は、５００１番ポートに対するＦＩＮパケットの到着を発見すると、状態保持部１６Ｂの該当する情報を「終了待ち」状態に変更する。ｆｔｐクライアント１４は、ＴＣＰの終了処理として、ＦＩＮに対するＡＣＫパケットを送信する（ステップＳ５４）。そして、端末１４上の子プロセスの終了により、ｃｌｏｓｅが実行される（ステップＳ５５）。
【０１２３】
ファイヤ・ウォール１６は、５００１番ポートからのＡＣＫパケットの送信を発見すると、状態保持部１６Ｂよりデータ転送用ポートとしての５００１番ポートのコネクションの情報を削除する（ステップＳ５６）。そして、ファイヤ・ウォール１６は、通信を不許可にするようにファイヤ・ウォール１６の設定変更を行なう。
【０１２４】
以上でデータ転送コネクションに関する処理が一通り終了する。ｆｔｐクライアント１４が新たにデータ転送用コネクションを生成する場合には、上述と同様の処理手順を繰り返し行なう。
【０１２５】
ｆｔｐクライアント１４の終了時、ｆｔｐクライアント１４はｃｌｏｓｅシステム・コールを発行する（ステップＳ５７）。
【０１２６】
オペレーティング・システムは、ｃｌｏｓｅシステム・コールの処理中に、ｃｌｏｓｅで指定されたソケット・ディスクリプタから、該当するＴＣＰコネクションの宛先アドレス、宛先ポート、送信先ポートの情報を得て、該当するＴＣＰセッションの通信を禁止するように、コマンド用ポートとしての２１番ポートの接続の情報をファイヤ・ウォール１６内の状態保持部１６Ｂから削除して（ステップＳ５８）、パケットの通過を禁止する。
【０１２７】
以上の説明からも判るように、図６に示すような構成の端末４においては、あらかじめｆｔｐに特化した動作をするようなファイヤ・ウォールの機能がなくても、ファイヤ・ウォール越しに従来のｆｔｐプロトコルを変更することなく使用することが可能になる。また、ｆｔｐ以外に、例えばＲＴＳＰ（Ｒｅａｌ　Ｔｉｍｅ　Ｓｔｒｅａｍｉｎｇ　Ｐｒｏｔｏｃｏｌ）など動的に決定したポート番号を使って接続を新規に作成するようなプロトコルについても、図示の端末４を同様に適用することができる。
【０１２８】
図１０には、本発明が適用された通信システムについての他の構成例を模式的に示している。
【０１２９】
同図において、ネットワーク６は、例えば企業など特定の組織内あるいは家庭内に限定的に敷設されたネットワークなどのローカル・エリア・ネットワーク（ＬＡＮ）であり、端末７が接続され、Ｉｐｖ６アドレスａｄｄｒ７が割り当てられている。
【０１３０】
端末７は、ネットワークを利用するアプリケーションを搭載した機器であり、一例としてパーソナル・コンピュータ（ＰＣ）などの計算機で構成されるが、勿論、ネットワーク通信機能を備えた家電製品などの他の形態の情報機器であってもよい。本明細書では、端末機器７内にＨＴＴＰサーバ１７を持つ機器を例として取り上げる。
【０１３１】
ネットワーク６は、インターネットなどの広域ネットワークを経由して他のネットワーク５と相互接続されている。ネットワーク５には、ＩＰｖ６プロトコルにより通信可能な端末８が接続されている。
【０１３２】
端末８は、ＩＰｖ６プロトコルにより通信可能な機器であり、アドレスａｄｄｒ８が割り当てられている。端末８は、一例としてパーソナル・コンピュータ（ＰＣ）などの計算機で構成されるが、勿論、ネットワーク通信機能を備えた家電製品などの他の形態の情報機器であってもよい。本明細書では、端末機器８内にＨＴＴＰクライアント１８を持つ機器を例として取り上げる。
【０１３３】
図１１には、図１０に示したネットワークにおいて動作する端末機器７の機能構成を模式的に示している。同図に示すよう、端末機器７は、ネットワークを利用して通信するアプリケーション・プログラムであるＨＴＴＰサーバ１７と、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）プロトコルに従ったデータの受け渡し処理を行なうＩＰ処理部１５と、ネットワーク６経由でのパケットの通過の可否を制御するファイヤ・ウォール１６とを備えている。
【０１３４】
ＨＴＴＰサーバ１７などのアプリケーションは、ネットワーク利用時に、オペレーティング・システム（ＯＳ）の機能の一部であるシステム・コールを呼び出し、ＩＰ処理部１５に指示を伝える。
【０１３５】
ＩＰ処理部１５は、アプリケーションから渡されたデータを、ＩＰパケットの形式に変換し、ファイヤ・ウォールで出力の可否を判定した上で出力する。また、ネットワークから受信したＩＰパケットをファイヤ・ウォールで入力可否を判定し、形式変換してからアプリケーションに渡す。
【０１３６】
ファイヤ・ウォール１６は、ルールを設定するためのインターフェースとなる設定部１６Ａ及び通信の状態を保持する状態保持部１６Ｂと、制御部１６Ｃとを備えている。アプリケーションが通信時に呼び出すＯＳの機能であるシステム・コールから、設定部１６Ａを通じてルールの設定を行なう。
【０１３７】
状態保持部１６Ｂには、通過するパケットの属するＴＣＰなどの接続に関する情報として、発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤが記録される。アプリケーションのＩＤは、ネットワーク接続を利用している各アプリケーションに関するＩＤが記録される。例えばＵｎｉｘ　ＯＳにおけるプロセスＩＤがアプリケーションＩＤとして利用可能である。また、状態としては、「接続中」、「待ち受け」、「条件付待ち受け」、「通信中」、「終了待ち」という５通りの状態が用いられる。
【０１３８】
ファイヤ・ウォール１６内の制御部１６Ｃは、状態保持部１６Ｂの情報を利用して、パケット通過の可否を決定する。
【０１３９】
図１０に示す実施形態に係る端末装置７における動作を、インターネット５を介して相互接続される端末８のＨＴＴＰクライアント１８に接続してファイル提供を行なう通信の手順を例に挙げて説明する。図１２には、このときの端末装置７の動作手順をフローチャートの形式で示している。また、図１３には、このときの端末装置７及び端末装置８間の動作シーケンスを示している。
【０１４０】
本実施形態では、端末７上のファイヤ・ウォール１６は、当初、すべての通信を不許可とするように設定されている。
【０１４１】
ＨＴＴＰサーバ１７は、８０番ポートでＴＣＰの接続を待つよう、ｌｉｓｔｅｎを実行する（ステップＳ６１）。
【０１４２】
次いで、ＨＴＴＰサーバ１７は、ａｃｃｅｐｔシステム・コールを実行する（ステップＳ６２）。
【０１４３】
端末７のＯＳは、ａｃｃｅｐｔシステム・コールの処理として、８０番ポートでのＴＣＰ接続を待ち受ける処理を行ない、さらに接続先ポート番号である８０番に対する接続を「待ち受け」状態してファイヤ・ウォール１６の状態保持部１６Ｂに登録する（ステップＳ６３）。
【０１４４】
ＨＴＴＰサーバ１７はＨＴＴＰクライアント１８からの８０番ポートへの接続要求に応答して接続を行なう。ＨＴＴＰクライアント１８は、ａｄｄｒ７の８０番ポートに対してデータを送信する（ステップＳ６４）。
【０１４５】
ファイヤ・ウォール１６は、ａｄｄｒ８からの８０番ポートに対するＴＣＰパケットの到着を発見する（ステップＳ６５）。
【０１４６】
次いで、ファイヤ・ウォール１６は、状態保持部１６Ｂより８０番ポートに対する接続を待ち受けしているものを検索する（ステップＳ６６）。
【０１４７】
８０番ポートに対する接続を待ち受けしているものを発見できなかった場合には（ステップＳ６７）、ＲＳＴを返して（ステップＳ６８）、パケットを破棄する（ステップＳ６９）。その結果、ＨＴＴＰサーバ１７からのＴＣＰ接続の試みは失敗する。
【０１４８】
一方、８０番ポートに対する接続を待ち受けしているものを発見できた場合には（ステップＳ６７）、パケットの通過を許可し、状態保持部１６Ｂの接続に関する情報を「通信中」状態に変更する（ステップＳ７０）。
【０１４９】
その結果、「待ち受け」状態であった８０番ポートへのＴＣＰ接続が確立し（ステップＳ７１）、ＨＴＴＰサーバ１７とＨＴＴＰクライアント１８の間でデータ転送を実行する（ステップＳ７２）。
【０１５０】
ＨＴＴＰプロトコルによるデータ転送が終了するとき、ＨＴＴＰサーバ１７はＦＩＮパケットを送信する（ステップＳ７３）。
【０１５１】
ＨＴＴＰクライアント１８は、ＴＣＰの終了処理として、ＦＩＮに対するＡＣＫパケットを送信する（ステップＳ７４）。
【０１５２】
ファイヤ・ウォール１６は、８０番ポートにおけるＡＣＫパケットの受信を発見することにより、ＨＴＴＰクライアント１８とのＴＣＰ接続の終了を検出する（ステップＳ７５）。
【０１５３】
次いで、ファイヤ・ウォール１６は、状態保持部１６Ｂにおける８０番ポートに関する情報を「待ち受け」状態に戻して（ステップＳ７６）、ＨＴＴＰサーバ１７に対して指定されている発信元からの接続を許す。
【０１５４】
図１２及び図１３を参照しながら説明したファイヤ・ウォール１６の動作は、ｌｉｓｔｅｎ及びａｃｃｅｐｔシステム・コールを用いて接続を待ち受けるようなプログラム全般に対して同様に適用することが可能であり、ファイヤ・ウォール１６の設定を動的に変更することが可能である。
【０１５５】
図１４には、図１０に示したネットワークにおいて動作する端末機器７についての他の機能構成を模式的に示している。同図に示すよう、端末機器４は、ネットワークを利用して通信するアプリケーション・プログラムであるＨＴＴＰサーバ１７と、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）プロトコルに従ったデータの受け渡し処理を行なうＩＰ処理部１５と、ネットワーク６経由でのパケットの通過の可否を制御するファイヤ・ウォール１６とを備えている。
【０１５６】
ＨＴＴＰサーバ１７などのアプリケーションは、ネットワーク利用時に、オペレーティング・システム（ＯＳ）の機能の一部であるシステム・コールを呼び出し、ＩＰ処理部１５に指示を伝える。
【０１５７】
ＩＰ処理部１５は、アプリケーションから渡されたデータを、ＩＰパケットの形式に変換し、ファイヤ・ウォールで出力の可否を判定した上で出力する。また、ネットワークから受信したＩＰパケットをファイヤ・ウォールで入力可否を判定し、形式変換してからアプリケーションに渡す。
【０１５８】
ファイヤ・ウォール１６は、ルールを設定するためのインターフェースとなる設定部１６Ａ及び通信の状態を保持する状態保持部１６Ｂと、制御部１６Ｃとを備えている。アプリケーションが通信時に呼び出すＯＳの機能であるシステム・コールから、設定部１６Ａを通じてルールの設定を行なう。
【０１５９】
状態保持部１６Ｂには、通過するパケットの属するＴＣＰなどの接続に関する情報として、発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤが記録される。アプリケーションのＩＤは、ネットワーク接続を利用している各アプリケーションに関するＩＤが記録される。例えばＵｎｉｘ系のオペレーティング・システムにおけるプロセスＩＤがアプリケーションＩＤとして利用可能である。また、状態としては、「接続中」、「待ち受け」、「条件付待ち受け」、「通信中」、「終了待ち」という５通りの状態が用いられる。
【０１６０】
ファイヤ・ウォール１６内の制御部１６Ｃは、状態保持部１６Ｂの情報を利用して、パケット通過の可否を決定する。
【０１６１】
図１４に示した端末７と図１１に示したものとの主な相違は、ＨＴＴＰサーバ１７が８０番ポートでのＴＣＰ接続を待ち受けるプロセスが異なる点である。
【０１６２】
図１４に示す実施形態に係る端末装置７における動作を、インターネット５を介して相互接続される端末８のＨＴＴＰクライアント１８に接続してファイル提供を行なう通信の手順を例に挙げて説明する。図１５には、このときの端末装置７の動作手順をフローチャートの形式で示している。また、図１６には、このときの端末装置７及び端末装置８間の動作シーケンスを示している。
【０１６３】
本実施形態では、端末７上のファイヤ・ウォール１６は、当初、すべての通信を不許可とするように設定されている。
【０１６４】
ＨＴＴＰサーバ１７は、８０番ポートでＴＣＰの接続を待つよう、ｌｉｓｔｅｎを実行する（ステップＳ８１）。
【０１６５】
次いで、ＨＴＴＰサーバ１７は、ｆｗ＿ａｃｃｅｐｔシステム・コールを実行する（ステップＳ８２）。ｆｗ＿ａｃｃｅｐｔは、ａｃｃｅｐｔシステム・コールの機能を拡張したものであり、ｆｗ＿ａｃｃｅｐｔの引数には、ａｃｃｅｐｔの引数に加えて接続を許可するアドレスとしてａｄｄｒ３を指定する。
【０１６６】
従来のシステム・コールａｃｃｅｐｔは、
ｉｎｔ　ａｃｃｅｐｔ（ｉｎｔ　ｓ，　ｓｔｒｕｃｔ　ｓｏｃｋａｄｄｒ　＊ａｄｄｒ，　ｓｏｃｋｌｅｎ＿ｔ　＊ａｄｄｒｌｅｎ）；
【０１６７】
という呼び出し書式を持ち、引数ａｄｄｒは接続後に通信相手のアドレスを受け取るために用いている。これに対し、ｆｗ＿ａｃｃｅｐｔは、
【０１６８】
ｆｗ＿ａｃｃｅｐｔ（ｉｎｔ　ｓ，　ｓｔｒｕｃｔ　ｓｏｃｋａｄｄｒ　＊ａｃｃｅｐｔ＿ａｄｄｒ，　ｓｔｒｕｃｔ　ｓｏｃｋａｄｄｒ　＊ａｃｃｅｐｔ＿ｍａｓｋ，　ｓｏｃｋｌｅｎ＿ｔ　＊ａｄｄｒｌｅｎ，　ｓｔｒｕｃｔ　ｓｏｃｋａｄｄｒ　＊ａｄｄｒ，　ｓｏｃｋｌｅｎ＿ｔ　＊ａｄｄｒｌｅｎ）；
【０１６９】
という呼び出し書式を持ち、引数ａｃｃｅｐｔ＿ａｄｄｒで接続を許可するアドレスを指定する。そして、ＨＴＴＰサーバ１７は、ｆｗ＿ａｃｃｅｐｔの引数として、通常のａｃｃｅｐｔ呼び出し時の引数に加えて、接続を許可するアドレスとしてａｄｄｒ８を指定する。
【０１７０】
端末７のＯＳは、ｆｗ＿ａｃｃｅｐｔシステム・コールの処理として、通常のａｃｃｅｐｔシステム・コールと同様の処理を行ない、さらにその引数として渡されたａｄｄｒ３から、接続先ポート番号である８０番に対する接続について「待ち受け」状態としてファイヤ・ウォール１６の状態保持部１６Ｂに登録する（ステップＳ８３）。
【０１７１】
ＨＴＴＰクライアント１８は、ａｄｄｒ７の８０番ポートに対してデータを送信する（ステップＳ８４）。
【０１７２】
ファイヤ・ウォール１６は、ａｄｄｒ８からの８０番ポートに対するＴＣＰパケットの到着を発見する（ステップＳ８５）。
【０１７３】
次いで、ファイヤ・ウォール１６は、状態保持部１６Ｂを参照して、「待ち受け」状態となっている情報を、その中の発信元アドレスとして指定されているアドレスと、パケットを送ってきたアドレスを比較する（ステップＳ８６）。
【０１７４】
８０番ポートに対する接続を待ち受けしているものを発見できなかった場合には（ステップＳ８７）、ＲＳＴを返して（ステップＳ８８）、パケットを破棄する（ステップＳ８９）。その結果、ＨＴＴＰサーバ１７からのＴＣＰ接続の試みは失敗する。
【０１７５】
一方、ａｄｄｒ８が指定されている場合には、８０番ポートに対する接続を待ち受けしているものを発見される（ステップＳ８７）。この場合、さらに、発信元アドレスが許可されているかどうかを判別する（ステップＳ９０）。
【０１７６】
ファイヤ・ウォール１６には、既にこの接続を許すような設定がなされているので、パケットの通過を許可し、状態保持部１６Ｂの接続に関する情報を「通信中」状態に変更する（ステップＳ９１）。その結果、「待ち受け」状態であった８０番ポートへのＴＣＰ接続が確立し（ステップＳ９２）、ＨＴＴＰサーバ１７とＨＴＴＰクライアント１８の間でデータ転送を実行する（ステップＳ９３）。
【０１７７】
データ転送が終了するとき、ＨＴＴＰサーバ１７はＦＩＮパケットを送信する（ステップＳ９４）。
【０１７８】
ＨＴＴＰクライアント１８は、ＴＣＰの終了処理として、ＦＩＮに対するＡＣＫパケットを送信する（ステップＳ９５）。
【０１７９】
ファイヤ・ウォール１６は、８０番ポートにおけるＡＣＫパケットの受信を発見することにより、ＨＴＴＰクライアント１８とのＴＣＰ接続の終了を検出する（ステップＳ９６）。
【０１８０】
次いで、ファイヤ・ウォール１６は、状態保持部１６Ｂにおける８０番ポートに関する情報を「待ち受け」状態に戻して（ステップＳ９７）、ＨＴＴＰサーバ１７に対して指定されている発信元からの接続を許す。
【０１８１】
図１７には、図１０に示したネットワークにおいて動作する端末機器８の機能構成を模式的に示している。同図に示すように、端末機器８は、ネットワークを利用して通信するアプリケーション・プログラムであるＨＴＴＰクライアント１８と、ＩＰ（Ｉｎｔｅｒｎｅｔ　Ｐｒｏｔｏｃｏｌ）プロトコルに従ったデータの受け渡し処理を行なうＩＰ処理部１５と、ネットワーク６経由でのパケットの通過の可否を制御するファイヤ・ウォール１６とを備えている。
【０１８２】
ＨＴＴＰクライアント１８などのアプリケーションは、ネットワーク利用時に、オペレーティング・システム（ＯＳ）の機能の一部であるシステム・コールを呼び出し、ＩＰ処理部１５に指示を伝える。
【０１８３】
ＩＰ処理部１５は、アプリケーションから渡されたデータを、ＩＰパケットの形式に変換し、ファイヤ・ウォールで出力の可否を判定した上で出力する。また、ネットワークから受信したＩＰパケットをファイヤ・ウォールで入力可否を判定し、形式変換してからアプリケーションに渡す。
【０１８４】
ファイヤ・ウォール１６は、ルールを設定するためのインターフェースとなる設定部１６Ａ及び通信の状態を保持する状態保持部１６Ｂと、制御部１６Ｃとを備えている。アプリケーションが通信時に呼び出すＯＳの機能であるシステム・コールから、設定部１６Ａを通じてルールの設定を行なう。
【０１８５】
状態保持部１６Ｂには、通過するパケットの属するＴＣＰなどの接続に関する情報として、発信元のアドレス及びポート、宛先アドレス及びポート、通信の状態、アプリケーションＩＤが記録される。アプリケーションのＩＤは、ネットワーク接続を利用している各アプリケーションに関するＩＤが記録される。例えばＵｎｉｘ　ＯＳにおけるプロセスＩＤがアプリケーションＩＤとして利用可能である。また、状態としては、「接続中」、「待ち受け」、「条件付待ち受け」、「通信中」、「終了待ち」という５通りの状態が用いられる。
【０１８６】
ファイヤ・ウォール１６内の制御部１６Ｃは、状態保持部１６Ｂの情報を利用して、パケット通過の可否を決定する。
【０１８７】
図１７に示す実施形態に係る端末装置８における動作を、インターネット５を介して相互接続される端末８のＨＴＴＰサーバ１７に接続してファイル取得を行なう通信の手順を例に挙げて説明する。図１８には、このときの端末装置８の動作手順をフローチャートの形式で示している。また、図１９には、このときの端末装置７及び端末装置８間の動作シーケンスを示している。
【０１８８】
本実施形態では、端末８上のファイヤ・ウォール１６は、当初、すべての通信を不許可とするように設定されている。
【０１８９】
ＨＴＴＰクライアント１８は、ＨＴＴＰサーバ１７に接続するための端末７のＩＰｖ６アドレスａｄｄｒ７の８０番ポートに対するｃｏｎｎｅｃｔを実行する（ステップＳ１０１）。
【０１９０】
端末８のＯＳは、ｃｏｎｎｅｃｔシステム・コールの処理中に、その引数である接続先アドレスａｄｄｒ７、ポート８０番といったＴＣＰ接続の情報と、ＨＴＴＰクライアント１８のプロセスＩＤを組にして、ファイヤ・ウォール１６の状態保持部１６Ｂに登録する（ステップＳ１０２）。このとき、この接続に関する情報は「接続中」状態として、状態保持部１６Ｂに登録される。
【０１９１】
ＨＴＴＰクライアント１８からａｄｄｒ７のポート８０番に対してＳＹＮパケットが送信され、ＨＴＴＰサーバ１７が受信する。ＨＴＴＰサーバ１７は、ＴＣＰ接続を確立するため、ＡＣＫパケットを送信する（ステップＳ１０３）。
【０１９２】
ファイヤ・ウォール１６は、ａｄｄｒ７のポート８０番からのＡＣＫパケットを発見し（ステップＳ１０４）、状態保持部１６Ｂから該当する状態を検索する（ステップＳ１０５）。
【０１９３】
８０番ポートに対する接続を待ち受けしているものを発見できなかった場合には（ステップＳ１０６）、ＲＳＴを返して（ステップＳ１０７）、パケットを破棄する（ステップＳ１０８）。その結果、ＨＴＴＰサーバ１７へのＴＣＰ接続の試みは失敗する。
【０１９４】
一方、８０番ポートに対する接続を待ち受けしているものを発見できた場合には（ステップＳ１０６）、さらに、発信元アドレスが許可されているかどうかを判断する（ステップＳ１０９）。
【０１９５】
発信元アドレスが許可されていない場合には、ＲＳＴを返して（ステップＳ１０７）、パケットを破棄する（ステップＳ１０８）。その結果、ＨＴＴＰサーバ１７へのＴＣＰ接続の試みは失敗する。
【０１９６】
発信元アドレスが許可されている場合には、パケットの通過を許可し、状態保持部１６Ｂの接続に関する情報を「通信中」状態に変更する（ステップＳ１１０）。
【０１９７】
続いて、ＨＴＴＰクライアント１８からＡＣＫパケットが送信され、ＨＴＴＰサーバ１７がこれを受信することにより、８０番ポートへのＴＣＰ接続が確立し（ステップＳ１１１）、ＨＴＴＰサーバ１７とＨＴＴＰクライアント１８の間でデータ転送を実行する（ステップＳ１１２）。
【０１９８】
ＨＴＴＰプロトコルによるデータ転送が終了するとき、ＨＴＴＰサーバ１７はＦＩＮパケットを送信する（ステップＳ１１３）。
【０１９９】
ファイヤ・ウォール１６は、８０番ポートにおけるＡＣＫパケットの受信を発見することにより、ＨＴＴＰクライアント１８とのＴＣＰ接続の終了を検出すると、状態保持部１６Ｂの８０番ポートに関する情報を「終了待ち」状態に変更する（ステップＳ１１４）。
【０２００】
ＨＴＴＰクライアント１８は、ＴＣＰの終了処理として、ＦＩＮに対するＡＣＫパケットをＨＴＴＰサーバ１７に送信する（ステップＳ１１５）。
【０２０１】
続いて、ＨＴＴＰクライアント１８は、ＨＴＴＰサーバ１７にＦＩＮパケットを送信する（ステップＳ１１６）。これに対し、ＨＴＴＰサーバ１７はＡＣＫパケットを送信する（ステップＳ１１７）。
【０２０２】
ファイヤ・ウォール１６は、８０番ポートにおけるＡＣＫパケットの受信を発見することにより、ＨＴＴＰクライアント１８とのＴＣＰ接続の終了を検出する（ステップＳ１１８）。
【０２０３】
ファイヤ・ウォール１６は、状態保持部１６Ｂより８０番ポートの接続の情報についての削除する（ステップＳ１１９）。そして、ファイヤ・ウォール１６は、通信を不許可にするようにファイヤ・ウォール１６の設定変更を行なう。
【０２０４】
図１８及び図１９を参照しながら説明したファイヤ・ウォール１６の動作は、ｃｏｎｎｅｃｔシステム・コールを用いて接続を待ち受けるようなプログラム全般に対して同様に適用することが可能であり、ファイヤ・ウォール１６の設定を動的に変更することが可能である。
【０２０５】
［追補］
以上、特定の実施形態を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施形態の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、本明細書の記載内容を限定的に解釈するべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０２０６】
【発明の効果】
以上詳記したように、本発明によれば、ネットワークの境界に配置されて通過するパケットを監視し、設定されたルールに従ってパケットを通過させるか破棄するかといったアクセス制御を好適に行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することができる。
【０２０７】
また、本発明によれば、動的に決定したポート番号を使ってネットワーク接続を新規に行なうようなプロトコルでデータ通信を行なう場合であっても、好適にアクセス制御を行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することができる。
【０２０８】
また、本発明によれば、ネットワークに接続された個々の端末装置に内蔵されたファイヤ・ウォールが、端末機器のアプリケーションと連携して適切なアクセス制御を行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することができる。
【０２０９】
また、本発明によれば、初期状態のファイヤ・ウォールの設定では通信許可を与えない状態に設定し、アプリケーションが通信を行なうためにファイヤ・ウォールの設定変更が必要となった時点で動的に設定変更を行なうことができる、優れたアクセス制御装置及びアクセス制御方法、並びにコンピュータ・プログラムを提供することができる。
【０２１０】
本発明によれば、ネットワークを利用する際に、使用するシステム・コールのパラメータの内容を使ってファイヤ・ウォールの設定を動的に変更することで、あらかじめファイヤ・ウォールの設定をしなくても、安全を高めつつネットワークを利用することができる。
【０２１１】
また、本発明によれば、ファイヤ・ウォールへ制御するための特殊なコードをアプリケーションに加えなくてもよい。また、ファイヤ・ウォールにｆｔｐなどのプロトコルに対応した固有の処理機構を組み込まなくてもよい。
【図面の簡単な説明】
【図１】本発明が適用された通信システムの構成例を模式的に示した図である。
【図２】図１に示すネットワーク上で動作する端末機器４の機能構成を模式的に示した図である。
【図３】図２に示す実施形態に係る端末装置４における動作手順を示したフローチャートである。
【図４】図２に示す実施形態に係る端末装置４における動作手順を示したフローチャートである。
【図５】図２に示す実施形態に係る端末装置４と端末装置３間における動作を示したシーケンス図である。
【図６】図１に示すネットワーク上で動作する端末機器４についての他の機能構成を模式的に示した図である。
【図７】図６に示す実施形態に係る端末装置４における動作手順を示したフローチャートである。
【図８】図６に示す実施形態に係る端末装置４における動作手順を示したフローチャートである。
【図９】図６に示す実施形態に係る端末装置４と端末装置３間における動作を示したシーケンス図である。
【図１０】本発明が適用された通信システムについての他の構成例を模式的に示した図まである。
【図１１】図１０に示すネットワーク上で動作する端末機器７の機能構成を模式的に示した図である。
【図１２】図１０に示す実施形態に係る端末機器７における動作手順を示したフローチャートである。
【図１３】図１０に示す実施形態に係る端末装置７と端末装置８間における動作を示したシーケンス図である。
【図１４】図１０に示すネットワーク上で動作する端末機器７についての機能構成を模式的に示した図である。
【図１５】図１４に示す実施形態に係る端末機器７における動作手順を示したフローチャートである。
【図１６】図１０に示す実施形態に係る端末装置７と端末装置８間における動作を示したシーケンス図である。
【図１７】図１０に示すネットワーク上で動作する端末機器８についての機能構成を模式的に示した図である。
【図１８】図１７に示す実施形態に係る端末機器８における動作手順を示したフローチャートである。
【図１９】図１０に示す実施形態に係る端末装置７と端末装置８間における動作を示したシーケンス図である。
【図２０】パケット・フィルタリング・ソフトウェアをインストールした端末機器の機能構成（従来例）を示した図である。
【図２１】通常のｆｔｐクライアントの動作（従来例）を示したシーケンス図である。
【符号の説明】
３…端末機器（ＦＴＰサーバ）
４…端末機器（ＦＴＰクライアント）
５…ネットワーク（インターネット）
６…ネットワーク（ＬＡＮ）
１３…ＦＴＰサーバ
１４…ＦＴＰクライアント
【図１】
2004078507.tif 000003
【図２】
2004078507.tif 000004
【図３】
2004078507.tif 000005
【図４】
2004078507.tif 000006
【図５】
2004078507.tif 000007
【図６】
2004078507.tif 000008
【図７】
2004078507.tif 000009
【図８】
2004078507.tif 000010
【図９】
2004078507.tif 000011
【図１０】
2004078507.tif 000012
【図１１】
2004078507.tif 000013
【図１２】
2004078507.tif 000014
【図１３】
2004078507.tif 000015
【図１４】
2004078507.tif 000016
【図１５】
2004078507.tif 000017
【図１６】
2004078507.tif 000018
【図１７】
2004078507.tif 000019
【図１８】
2004078507.tif 000020
【図１９】
2004078507.tif 000021
【図２０】
2004078507.tif 000022
【図２１】
2004078507.tif 000023