(57)【要約】【課題】ローカルネットワークを介して他のネットワークに接続する携帯端末上で動作するアプリケーションが、ローカルネットワークから機密情報を流出させることを防ぐ技術を提供する。【解決手段】通信装置（301）は、アプリケーション（306,307）が実行する通信を監視する通信監視手段（313）と、アプリケーションの通信において接続されたネットワーク（310,311）の履歴を示す通信履歴情報を記録し（314）且つ該通信履歴情報に応じて前記アプリケーションによるネットワークへの接続の可否を判定する通信制御手段（312）とを備える。【選択図】図３
2008191862.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションが実行する通信を監視する通信監視手段と、アプリケーションの通信において接続されたネットワークの履歴を示す通信履歴情報を記録し且つ該通信履歴情報に応じて前記アプリケーションによるネットワークへの接続の可否を判定する通信制御手段とを備えることを特徴とする通信装置。
【請求項２】
さらに、アプリケーションによるネットワークへの接続に関する条件をアプリケーションの属性ごとに規定したポリシ情報を記憶する手段を備え、
前記通信制御手段は、アプリケーションの通信において該アプリケーションが選択したネットワークについて、前記アプリケーションの属性に対応するポリシ情報と前記アプリケーションの通信履歴情報とに基づき接続の可否を判定することを特徴とする請求項１記載の通信装置。
【請求項３】
前記通信制御手段は、前記通信履歴情報として、アプリケーションの通信において接続されたホストの履歴を記録することを特徴とする請求項１又は２記載の通信装置。
【請求項４】
前記通信監視手段は、アプリケーションがプロセス間通信においてデータを受信したとき、前記受信したデータに関する当該通信先プロセスの通信履歴情報を前記アプリケーションの通信履歴情報として更新し、アプリケーションがプロセス間通信においてデータを送信したとき、前記送信したデータに関する前記アプリケーションの通信履歴情報を当該通信先プロセスの通信履歴情報として更新することを特徴とする請求項１又は２記載の通信装置。
【請求項５】
前記通信監視手段は、データ保存領域に対するアプリケーションのアクセスの履歴を示すアクセス履歴情報を記録することを特徴とする請求項１又は２記載の通信装置。
【請求項６】
前記通信制御手段は、アプリケーションの通信において該アプリケーションが選択したホストについて、前記アプリケーションの通信履歴情報に基づき接続の可否を判定することを特徴とする請求項１又は２記載の通信装置。
【請求項７】
前記通信制御手段は、アプリケーションによるプロセス間通信において該アプリケーションが選択した通信先プロセスについて、前記アプリケーションの通信履歴情報に基づき接続の可否を判定することを特徴とする請求項１又は２記載の通信装置。
【請求項８】
前記通信制御手段は、アプリケーションがデータ保存領域にアクセスするとき、前記アプリケーションのアクセス履歴情報に基づき前記データ保存領域へのアクセスの可否を判定することを特徴とする請求項１又は２記載の通信装置。
【請求項９】
前記通信制御手段は、アプリケーションの通信において該アプリケーションが選択したホストについて、前記アプリケーションの属性に対応するポリシ情報と前記アプリケーションの通信履歴情報とに基づき接続の可否を判定することを特徴とする請求項１又は２記載の通信装置。
【請求項１０】
前記通信制御手段は、アプリケーションによるプロセス間通信において該アプリケーションが選択した通信先プロセスについて、さらに、前記アプリケーションの属性に対応するポリシ情報に基づき接続の可否を判定することを特徴とする請求項１又は２記載の通信装置。
【請求項１１】
前記通信制御手段は、アプリケーションがデータ保存領域にアクセスするとき、さらに、前記アプリケーションの属性に対応するポリシ情報に基づき前記データ保存領域へのアクセスの可否を判定することを特徴とする請求項１又は２記載の通信装置。
【請求項１２】
さらに、アプリケーションにより接続したネットワークから該ネットワークに固有のポリシ情報を取得するポリシ取得手段を備え、
前記ポリシ取得手段は、取得したポリシ情報を用いて前記アプリケーションの属性に対応するポリシ情報を更新することを特徴とする請求項２乃至１１のいずれか１項に記載の通信装置。
【請求項１３】
コンピュータを請求項１乃至１２のいずれか１項に記載の通信装置として機能させることを特徴とするプログラム。
【請求項１４】
ネットワークに接続された通信装置が、
アプリケーションが実行する通信を監視し、アプリケーションの通信において接続されたネットワークの履歴を示す通信履歴情報を記録し、通信履歴情報に応じて前記アプリケーションによるネットワークへの接続の可否を判定することを特徴とする通信制御方法。
【請求項１５】
前記通信装置が、さらに、アプリケーションによるネットワークへの接続に関する条件をアプリケーションの属性ごとに規定したポリシ情報を記憶し、
アプリケーションの通信において該アプリケーションが選択したネットワークについて、前記アプリケーションの属性に対応するポリシ情報と前記アプリケーションの通信履歴情報とに基づき接続の可否を判定することを特徴とする請求項１４記載の通信制御方法。
【請求項１６】
前記通信装置が、前記通信履歴情報として、アプリケーションの通信において接続されたホストの履歴を記録することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項１７】
前記通信装置が、アプリケーションがプロセス間通信においてデータを受信したとき、前記受信したデータに関する当該通信先プロセスの通信履歴情報を前記アプリケーションの通信履歴情報として更新し、アプリケーションがプロセス間通信においてデータを送信したとき、前記送信したデータに関する前記アプリケーションの通信履歴情報を当該通信先プロセスの通信履歴情報として更新することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項１８】
前記通信装置が、データ保存領域に対するアプリケーションのアクセスの履歴を示すアクセス履歴情報を記録することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項１９】
前記通信装置が、アプリケーションの通信において該アプリケーションが選択したホストについて、前記アプリケーションの通信履歴情報に基づき接続の可否を判定することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項２０】
前記通信装置が、アプリケーションによるプロセス間通信において該アプリケーションが選択した通信先プロセスについて、前記アプリケーションの通信履歴情報に基づき接続の可否を判定することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項２１】
前記通信装置が、アプリケーションがデータ保存領域にアクセスするとき、前記アプリケーションのアクセス履歴情報に基づき前記データ保存領域へのアクセスの可否を判定することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項２２】
前記通信装置が、アプリケーションの通信において該アプリケーションが選択したホストについて、前記アプリケーションの属性に対応するポリシ情報と前記アプリケーションの通信履歴情報とに基づき接続の可否を判定することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項２３】
前記通信装置が、アプリケーションによるプロセス間通信において該アプリケーションが選択した通信先プロセスについて、さらに、前記アプリケーションの属性に対応するポリシ情報に基づき接続の可否を判定することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項２４】
前記通信装置が、アプリケーションがデータ保存領域にアクセスするとき、さらに、前記アプリケーションの属性に対応するポリシ情報に基づき前記データ保存領域へのアクセスの可否を判定することを特徴とする請求項１４又は１５記載の通信制御方法。
【請求項２５】
前記通信装置が、さらに、アプリケーションにより接続したネットワークから該ネットワークに固有のポリシ情報を取得し、取得したポリシ情報を用いて前記アプリケーションの属性に対応するポリシ情報を更新することを特徴とする請求項１５乃至２４のいずれか１項に記載の通信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および通信制御方法に関し、特に、複数のネットワークに接続可能な通信端末における情報流出の防止方法に関する。
【背景技術】
【０００２】
携帯端末を利用したネットワーク接続の普及に伴い、ユーザがネットワーク経由で携帯端末用のアプリケーションをダウンロードしてきて実行することが一般的になっている。それに伴い、悪意あるアプリケーションが、ユーザの予期しない通信を行うことで情報流出を起こすことが問題となっている。
【０００３】
悪意あるアプリケーションによる情報流出の対策として、後述の特許文献１では、ローカルネットワーク上の情報に電子透かしを埋め込むことで、Firewallが機密情報とその他の情報とを区別できるようにする方法が提案されている。この方法によれば、ローカルネットワークからグローバルネットワークに送信される情報をFirewallが監視し、機密情報が送信されようとしている場合には通信を禁止することができる。これにより、通信端末で動作するアプリケーションによってローカルネットワーク上の機密情報がグローバルネットワークへ流出することを防ぐことができる。
【０００４】
一方、後述の特許文献２のような、ネットワーク側ではなく通信端末に制御手段を設けることで、ユーザの予期しない通信を防ぐ方法も提案されている。特許文献２では、通信端末上で動作するアプリケーションが、それまでに行った通信の時間およびデータ量を参照して、アプリケーションの通信を制御する通信端末が提案されている。この通信端末によれば、通信端末上で動作するアプリケーションが通信を行うことを許可または禁止することができる。
【特許文献１】特開２００１−００５７５７号公報
【特許文献２】特開２００４−１２６７３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１および特許文献２に記載の手法は、通信端末がアクセスするネットワークが固定であることを想定しており、例えばW-LAN（Wireless Local Area Network）通信機器のような、複数のネットワークへのアクセスが可能な携帯端末については考慮されていない。複数のネットワークへのアクセスが可能な携帯端末では、その端末のアプリケーションが、例えば、社内ネットワークへの接続を経て広域ネットワークに接続するという通信処理を行う。しかしながら、この場合、社内ネットワークから取得した情報が広域ネットワークに流出する危険がある。
【０００６】
特許文献１では、ローカルネットワークに固有のFirewallが、ローカルネットワークとグローバルネットワークと間の通信を制御することで、機密情報がローカルネットワークから流出することを防いでいる。よって、仮に、通信端末が、ローカルネットワークに接続して機密情報を取得した後に、その機密情報を、Firewallが存在しない別のネットワークにて送信した場合は、機密情報の流出を防ぐことができない。
【０００７】
また、特許文献２では、通信端末が、自身の通信時間や通信量に基づき通信を制御するが、上記のような機密情報の流出が発生しているかどうかを端末が判断することは困難である。
【０００８】
本発明は、上記の事情を鑑みてなされたものであり、ローカルネットワークを介して他のネットワークに接続する携帯端末上で動作するアプリケーションが、ローカルネットワークから機密情報を流出させることを防ぐ技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る通信装置は、アプリケーションが実行する通信を監視する通信監視手段と、アプリケーションの通信において接続されたネットワークの履歴を示す通信履歴情報を記録し且つ該通信履歴情報に応じて前記アプリケーションによるネットワークへの接続の可否を判定する通信制御手段とを備える。
【発明の効果】
【００１０】
本発明によれば、通信装置のアプリケーションが、あるネットワークから取得した情報を他のネットワークに流出させることを防ぐことができる。これにより、ローカルネットワークから他のネットワークを経由して通信する通信装置であっても、ローカルネットワークにて取り扱うべきデータが他のネットワークに漏洩することを回避することができる。
【発明を実施するための最良の形態】
【００１１】
本発明を実施するための最良の形態について詳細に説明する。
【００１２】
［第１の実施形態］
［構成の説明］
（通信システムの構成）
図１は、本発明の実施形態に係る通信システムの構成を示したブロック図である。通信システム101は、ローカルネットワーク106及びローカルネットワーク107を有する。通信端末102は、ローカルネットワーク106およびローカルネットワーク107と接続し、ローカルネットワーク106上のローカルサーバ103やローカルネットワーク107上のローカルサーバ104と通信を行うことが出来る。
【００１３】
ローカルネットワーク106は、例えば企業が社内用途に構築したＬＡＮであり、いわゆる社内イントラネットとして機能する。社内の通信機器同士が通信を行う場合は、このローカルネットワーク106を介して互いに通信を行う。また、ローカルネットワーク106は、グローバルネットワーク108に接続している。ローカルネットワーク106に接続している通信機器は、グローバルネットワーク108上の機器と通信を行うことができる。図１では、ローカルネットワーク106に接続している通信機器として、通信端末102及びローカルサーバ103のみが示されているが、実際の構成ではより多くの通信機器が接続し得る。
【００１４】
また、ローカルネットワーク106はVPN（Virtual Private Network：仮想私設網）接続を許可しており、通信端末102は、グローバルネットワーク108に接続している任意のネットワークからグローバルネットワーク108を経由してローカルネットワーク106に接続することが可能である。
【００１５】
図２にVPN接続の一例を示す。図示の例は、ローカルネットワーク203に接続している通信端末201が、VPN接続により、グローバルネットワーク204を介してローカルネットワーク202に接続する様子を示したものである。
【００１６】
ローカルネットワーク107（図１）は、例えば公衆無線LANであり、喫茶店や駅に敷設されたローカルネットワークである。ローカルネットワーク107は、グローバルネットワーク108に接続しており、ローカルネットワーク107に接続している通信機器はグローバルネットワーク108上の機器と通信を行うことができる。図１では、ローカルネットワーク107に接続している通信機器として、通信端末102及びローカルサーバ104のみが示されているが、実際の構成ではより多くの通信機器が接続し得る。
【００１７】
グローバルネットワーク108は、インターネットに代表される広域ネットワークであり、ローカルネットワーク106やローカルネットワーク107とは異なり、組織や場所に限定されないネットワークである。図１では、グローバルネットワーク108に接続している通信機器として、グローバルサーバ105のみが示されているが、実際の構成ではより多くの通信機器が接続し得る。
【００１８】
通信端末102は、複数のネットワークに、同時に又は切り換えて接続することが可能な通信端末である。本実施形態では、通信端末102はローカルネットワーク106及びローカルネットワーク107に接続可能な端末であるとするが、本発明を実施するにあたっては、通信端末102が接続可能なネットワークの数は２つに限定されない。
【００１９】
通信端末102がローカルネットワーク106およびローカルネットワーク107に接続して通信を行う際の通信手段としては、例えば有線LAN、無線LAN、公衆電話網、携帯電話網、PHS（登録商標）、IrDA（Infrared Data Association）、Bluetooth（登録商標）、シリアル通信等を用いることができる。また、VPNを用いた仮想的なネットワーク接続を通信手段としてもよい。本実施形態の通信端末102は、無線LANを利用してローカルネットワーク106およびローカルネットワーク107に接続するものとし、通信端末102が他の通信端末と通信するために用いる通信プロトコルはTCP/IPであることを想定している。
【００２０】
（通信端末の構成）
図３は、本発明の実施形態に係る通信端末の構成を例示したブロック図である。図３に示されるように、通信端末301は、所定の手続きによりプログラムを実行するデータ処理装置304、情報を記憶する記憶装置305、キーボード等の入力装置302、及び、ディスプレイ装置等の出力装置303から構成される。
【００２１】
通信端末301は、図１の通信端末102に対応し、ローカルネットワーク106およびローカルネットワーク107に接続して通信を行うことができる通信端末である。通信端末301は、通信インタフェース308および通信インタフェース309を用いてネットワーク310及びネットワーク311へ接続する。
【００２２】
通信インタフェース308は、接続をネットワーク310及びネットワーク311の切り換えが可能な通信インタフェースである。他方の通信インタフェース309は、ネットワーク310に対する接続が可能な通信インタフェースである。前述の通り、通信インタフェース308および通信インタフェース309が用いる通信手段としては、有線LAN、無線LAN、公衆電話網、携帯電話網、PHS（登録商標）、IrDA、Bluetooth（登録商標）、シリアル通信、VPN等がある。
【００２３】
本実施形態において、通信インタフェース308は無線LANインタフェース、他方の通信インタフェース309はVPNを想定するが、それぞれ他の通信技術でも同等の動作が可能である。また、本実施形態では、通信端末301が有する通信インタフェース（309,310）及び接続するネットワーク（310,311）はそれぞれ２つであるが、本発明を実施するにあたっては、通信インタフェース及びネットワークの数は２つに限定されない。
【００２４】
通信アプリケーション306および通信アプリケーション307は、それぞれの通信手段により通信を行うためのアプリケーションソフトウェアである。それぞれのアプリケーションは、入力装置302からの入力を受け取り、出力装置303へ出力する。また、それぞれのアプリケーションは、ネットワークを介してサーバと接続し、通信サービスを利用する。図３では、通信端末301内で動作するアプリケーションは２つであるが、実際の構成ではより多くのアプリケーションが動作し得る。
【００２５】
通信監視手段313は、アプリケーション（306,307）により実行される通信を監視する手段である。通信監視手段313は、通信アプリケーション306や通信アプリケーション307が通信を行ったことを検知し、その通信の内容に応じて通信履歴データベース314の情報を更新する。本実施形態の通信履歴データベース314には、図６に示す通信履歴情報601が保存されている。通信履歴情報601は、アプリケーションごとに、接続したネットワーク名あるいはホストのIPアドレスと、それぞれの通信内容とがレコードとして保存されたものである。
【００２６】
通信制御手段312は、アプリケーションが行う通信を制御する手段である。通信制御手段312は、通信アプリケーション306および通信アプリケーション307からの通信要求に応じて、通信履歴データベース314から取得した通信履歴の情報（図６）を参照して、一定のルールに従って通信要求を許可または禁止する。本実施形態の通信制御手段312は、アプリケーションがローカルネットワークと通信を行った履歴がある場合、このローカルネットワーク以外のネットワークと通信を行わせないように制御する。但し、この制御ルールは、通信端末を利用する環境に応じて適当に設定されるべきであり、上記のルールはその一例であるとする。
【００２７】
［動作の説明］
図１及び図３、並びに図４のフローチャートを参照して、第１の実施形態の動作について詳細に説明する。まず、通信端末301のユーザがネットワークサービスを利用するために、通信アプリケーション306を起動し動作させる（ステップS401）。
【００２８】
通信アプリケーション306は、通信を行うために通信制御手段312に通信の要求を行う。このとき、通信アプリケーション306は、パラメータとして、通信先ホストのIPアドレスを通信制御手段312に渡す（ステップS402）。通信制御手段312は、通信の要求を受けると、要求された通信を、どの通信インタフェースを用いて行うべきかを判定する。使用すべき通信インタフェースは、通信端末301が持つTCP/IPのルーティングテーブルによって一意に定まる（ステップS403）。
【００２９】
続いて、通信制御手段312は、ルーティングにより定めた通信が経由するネットワークの同定を行う（ステップS404）。通信先のネットワークの同定には、通信インタフェース番号、無線LANアクセスポイントのSSID（Service Set IDentifier）、ローカルネットワークのIPアドレス体系、ネットワークへの接続時に利用した認証情報などが利用できる。例えば、通信インタフェースが無線LANであり、且つ、そのSSIDが特定の値の場合は、通信先のネットワークが公衆無線LANであると判定する。また、通信インタフェースがVPNであり、且つ、認証に特定のキーを利用する場合は、通信先のネットワークが社内LANであると判定する。
【００３０】
さらにまた、通信端末を、無線LAN及びVPNのような異種のネットワークから同一の他のネットワークに接続させるという条件を設定してもよい。すなわち、例えば、通信端末が通信手段として無線LANおよびVPNの何れを利用していても、その通信手段を介して接続するネットワークは社内LANであると判定するという設定である。この場合、無線LAN及びVPNの両方に関する条件を設定し、何れの条件であっても同じ社内LANと判断されるように設定すればよい。
【００３１】
通信制御手段312は、通信先ネットワークを特定すると、通信履歴データベース314を参照して通信アプリケーション306の通信履歴を取得する（ステップS405）。そして、通信先ネットワークと取得した通信履歴とを参照し、通信アプリケーション306からの通信要求を許可するか禁止するかを予め設定されたルールに従い判定する（ステップS406）。本実施形態では、そのルールとして、「ローカルネットワーク106と通信した履歴があるアプリケーションは、ローカルネットワーク106以外のネットワークとの通信を禁止する」というルールが設けられている。
【００３２】
上記判定の結果、通信先ネットワークが禁止対象であった場合（ステップS406：No）、通信制御手段312は、そのネットワークへの接続が禁止されていることを通信アプリケーション306に通知し（ステップS407）、新たな通信要求を待つ。
【００３３】
一方、上記判定の結果、通信先ネットワークへの通信が許可された場合（ステップS406：Yes）、通信制御手段312は、要求された通信を行うよう通信監視手段313に要求する（ステップS408）。このとき、通信制御手段312は、通信を行うアプリケーション名、通信先ホストのIPアドレス、通信が経由するネットワーク名をパラメータとして、通信監視手段313に渡す。
【００３４】
通信監視手段313は、通信インタフェースを用いて要求された通信を行うと共に、通信制御手段312から渡されたアプリケーション名、通信先ホストのIPアドレス、ネットワーク名を用いて、通信履歴データベース314に図６に示すようなレコードを保存する（ステップS409）。また、正常に通信が行われたことを通信制御手段312および通信アプリケーション306に通知する。
【００３５】
このように、第１の実施形態では、通信アプリケーション306が過去にローカルネットワーク106に接続したという履歴が存在する場合、この通信アプリケーション306の通信先をローカルネットワーク106のみに制限する。また、通信アプリケーション306が過去にローカルネットワーク106と通信を行っていない場合には、ローカルネットワーク106に限らず、その他のネットワークと通信を行うことができる。
【００３６】
よって、本実施形態によれば、通信アプリケーション306がローカルネットワーク106経由で取得した情報が、ローカルネットワーク106以外のネットワークを経由して送信されることを防ぐことができる。すなわち、ローカルネットワーク106からの情報流出を防ぐことが出来る。
【００３７】
一方、通信履歴データベース314の通信履歴情報601（図６）は、アプリケーションごとに保存される。よって、通信アプリケーション306が過去にローカルネットワーク106経由で通信を行ったために他のネットワークを利用できなくなった場合でも、他方の通信アプリケーション307が過去にローカルネットワーク106経由で通信を行っていなければ、この通信アプリケーション307により任意のネットワークを経由して通信を行うことができる。
【００３８】
[第２の実施形態]
上述した第１の実施形態では、ネットワークに対する通信の許可・禁止の判定をネットワーク単位で行ったが、通信先ホスト単位で上記判定を行ってもよい。そのために、通信制御手段312が用いる制御ルールとして、「ローカルネットワーク106と通信した履歴があるアプリケーションは、ローカルサーバ104との通信を禁止する」というものを設定する。すなわち、図１より、あるアプリケーションが過去にローカルネットワーク106に接続した場合、そのアプリケーションは、ローカルネットワーク106と異なるローカルネットワーク107に接続されたローカルサーバ104への接続は禁止されるというルールである。
【００３９】
上記ルールにより、通信制御手段312は、通信先ホストのIPアドレスと通信履歴データベース314とを参照し、通信アプリケーション306がローカルネットワーク106と通信した履歴がある場合に通信アプリケーション306がローカルサーバ104と通信することを禁止する。
【００４０】
本実施形態によれば、ホスト単位で通信の許可・禁止を制御することにより、アプリケーションが、信頼できないサーバと通信することを禁止でき、それにより情報流出を防ぐことが出来る。
【００４１】
[第３の実施形態]
上述した第１の実施形態では、通信アプリケーション306が通信を行ったネットワークの履歴のみを利用して通信の制御を行ったが、ホスト単位の履歴を用いて通信を制御することもできる。そのために、通信制御手段312の制御ルールを「ローカルサーバ103と通信した履歴があればローカルネットワーク107との通信を禁止する」という内容にする。すなわち、図１より、あるアプリケーションがローカルネットワーク106に接続されたローカルサーバ103と過去に交信した場合、そのアプリケーションは、ローカルネットワーク106と異なるローカルネットワーク107への接続は禁止されるというルールである。
【００４２】
上記ルールにより、通信制御手段312は、通信先ネットワークと通信履歴データベース314とを参照し、通信アプリケーション306がローカルサーバ103と通信した履歴がある場合に通信アプリケーション306がローカルネットワーク107と通信することを禁止する。
【００４３】
本実施形態によれば、ホスト単位での通信履歴を利用することにより、アプリケーションが特定のサーバから取得したデータの情報流出を防ぐことが出来る。なお、通信端末に上記第２の実施形態および第３の実施形態を同時に適用することも可能である。
【００４４】
[第４の実施形態]
上記各実施形態は、通信の許可・禁止のルールは予め設定された固定的なものであるが、本実施形態では、通信制御ポリシを用いて、より柔軟な通信制御を行う。
【００４５】
［構成の説明］
（通信システムの構成）
本実施形態の通信システムの構成は、第１の実施形態のもの（図１）と同様であり、説明を省略する。
【００４６】
（通信端末の構成）
図５に、本実施形態の通信端末501の構成を示す。入力装置502、出力装置503、通信アプリケーション506、通信アプリケーション507、通信手段508、通信手段509および通信履歴データベース515は、それぞれ第１の実施形態の入力装置302、出力装置303、通信アプリケーション306、通信アプリケーション307、通信インタフェース308、通信インタフェース309および通信履歴データベース314と同様の機能である。
【００４７】
通信制御手段512は、通信アプリケーション506や通信アプリケーション507から通信要求を受けたとき、通信履歴データベース515に保存されている履歴情報とポリシ管理データベース514に保存されているポリシ情報とを参照し、ポリシ情報に記述されたルールに従って、その通信要求を許可または禁止する。
【００４８】
図７に、ポリシ管理データベース514に保存されるポリシ情報の例を示す。ポリシ情報701は、アプリケーションが実行する通信を、どのような条件下で、どのように制御するかを記述したものである。このポリシ情報は、必要に応じてユーザにより変更することができる。
【００４９】
図７に示すように、ポリシ情報701は、通信制御を行う条件および通信制御の内容がアプリケーション属性ごとに規定されている。ここで、アプリケーション属性とは、アプリケーションの信頼性の度合いを示す情報である。この情報としては、例えば、アプリケーションが所定の機関から発行された証明書を有することや、ネットワークからダウンロードされたアプリケーションであることといった情報が含まれる。通信制御手段512には、自端末の通信アプリケーション（506,507）のアプリケーション属性を予め設定しておく、あるいは、アプリケーション属性を用いた後述の処理ごとに必要なものを読み出すよう設定しておく。
【００５０】
図７のポリシ情報701に記述される情報は、制御対象のアプリケーションが持つ属性、通信履歴データベース515の履歴情報に保存されている項目（「履歴項目」）、履歴情報に保存されている条件（「履歴条件」）、その条件に適合した場合に通信制御を行う項目（「制御項目」）、および、通信制御の内容（「制御情報」）とする。また、図７に示す「属性Ｚ」のレコードのように、履歴の項目および条件をそれぞれ複数記述することで、条件の論理的AND結合を行うことができる。
【００５１】
［動作の説明］
図１及び図５、並びに図１０のフローチャートを参照して、本実施形態の動作について詳細に説明する。通信端末501が、通信アプリケーション506を起動した後、通信要求に応じてルーティング決定およびネットワーク同定を行うまでの手順（図１０：ステップS1001〜S1004）は、前述した第１の実施形態のもの（図４：ステップS401〜S404）と同様である。通信制御手段512は、要求された通信の通信先ホストのIPアドレスと、要求された通信が経由するネットワークの情報を取得する。
【００５２】
通信制御手段512は、ポリシ管理データベース514を参照して、通信アプリケーション506のアプリケーション属性に対応するポリシ情報を取得する（ステップS1005）。また、通信制御手段512は、通信履歴データベース515を参照して、通信アプリケーション506の通信履歴を取得する（ステップS1006）。
【００５３】
通信制御手段512は、取得した通信履歴情報601の「項目」とポリシ情報701の「履歴項目」とが対応するもの、及び、通信履歴情報601の「通信内容」とポリシ情報701の「履歴条件」とが対応するものとを検索する（ステップS1007）。
【００５４】
検索の結果、ポリシ情報701にマッチする通信履歴情報601があった場合（ステップS1007：Yes）、通信制御手段512は、マッチしたポリシ情報の「制御項目」及び「制御情報」により、通信アプリケーション506が要求している通信の通信先ホストのIPアドレス及び通信先のネットワークに対して通信が許可されているかどうかを判定する（ステップS1008）。
【００５５】
上記判定の結果、通信アプリケーション506が要求している通信が通信禁止の対象である場合（ステップS1008：No）、通信制御手段512は、その通信が禁止されていることを通信アプリケーション506に通知して、通信の要求を拒否する（ステップS1009）。
【００５６】
一方、ポリシ情報の履歴条件に適合する履歴情報が無かった場合（ステップS1007：No）、もしくは、通信アプリケーション506の要求している通信が許可されていた場合（ステップS1008：Yes）、通信制御手段512は、通信アプリケーション506から要求された通信を行うよう通信監視手段513に要求する（ステップS1010）。このとき、通信制御手段512は、通信を行うアプリケーション名、通信先ホストのIPアドレス、及び、通信が経由するネットワーク名をパラメータとして通信監視手段513に渡す。
【００５７】
通信監視手段513は、通信インタフェース508もしくは通信インタフェース509により、要求された通信を行うと共に、通信制御手段512からパラメータの情報を用いて、通信履歴データベース515にレコードを保存する（ステップS1011）。また、正常に通信が行われたことを通信制御手段512および通信アプリケーション506に通知する。
【００５８】
上記第４の実施形態によれば、通信を制御するためのルール及び制御内容が、変更可能なポリシ情報で与えられるため、様々な通信制御の要求に柔軟に対応することが出来る。
【００５９】
[第５の実施形態]
上述した第４の実施形態では、通信制御ポリシとして、通信端末に固有のものが設定されたが、これに替えて、通信端末が接続したローカルネットワークごとに定められたポリシを適用することも可能である。
【００６０】
図１１に、本実施形態のシステム構成を示す。本実施形態の通信システム101´において、各ローカルネットワーク（106,107）にはポリシ配信サーバ（106A,107A）を備え、通信端末102にはポリシ取得手段102Aを備える。ポリシ配信サーバ106A及びポリシ配信サーバ107Aは、ローカルネットワークに対応したポリシ情報を配信する機能を持つ通信機器である。通信端末102のポリシ取得手段102Aは、ポリシ配信サーバ（106A,107A）からポリシ情報を取得して、自端末のポリシ管理データベースのポリシ情報を書き換える機能である。
【００６１】
通信端末102が、例えばローカルネットワーク106に接続したとき、ポリシ取得手段102Aは、ポリシ配信サーバ106Aに接続してポリシ情報を取得し、ポリシ管理データベースを更新する。ポリシ情報の更新後のアプリケーションの通信は、新しいポリシに従って制御される。
【００６２】
本実施形態によれば、通信端末が初めて接続するローカルネットワークにおいても、そのローカルネットワークで定められたポリシ情報に基づいた通信制御が可能になる。
【００６３】
[第６の実施形態]
上記各実施形態では、アプリケーションについての制御対象となる挙動は通信であった。また、その通信を制御するために用いる履歴情報は、通信先ホストのIPアドレスおよび通信が経由するネットワークであった。本実施形態においては、通信制御に用いる履歴情報として、IPC（Inter-Process Communication:プロセス間通信）を行った履歴と、記憶領域へのアクセス履歴とを用いる。
【００６４】
［構成の説明］
（通信システムの構成）
本実施形態の通信システムの構成は、第１の実施形態のもの（図１）と同様であり、説明を省略する。
【００６５】
（通信端末の構成）
図８に、本実施形態の通信端末801の構成を示す。入力装置802、出力装置803、通信アプリケーション806、通信アプリケーション807、通信手段808、通信手段809、通信履歴データベース818は、それぞれ第１の実施形態の入力装置302、出力装置303、通信アプリケーション306、通信アプリケーション307、通信インタフェース308、通信インタフェース309、通信履歴データベース314と同じものである。
【００６６】
データ保存インタフェース810は、アプリケーションからのデータ保存要求もしくはデータ参照要求に従って、データ保存領域811へのデータ保存やデータ参照を行うためのインタフェースである。
【００６７】
プロセス間通信インタフェース812は、通信端末801内のアプリケーション同士が通信を行うためのインタフェースである。
【００６８】
通信監視手段816は、アプリケーションからの要求に従って行われた通信、IPC、データ保存領域の利用状況を監視し、監視して得られた情報に基づいて、通信履歴データベース818およびデータアクセス履歴データベース819の更新を行う。
【００６９】
図９に、データアクセス履歴データベース819が保存するアクセス履歴の例を示す。ここで保存されるアクセス履歴情報901は、各アプリケーションの通信先（「項目」）及び通信内容、及び、アプリケーションが書き込みを行ったファイル名等である。
【００７０】
通信制御手段815は、アプリケーションからの通信、IPC、ストレージ（データ保存領域811）の利用の要求を受けて、それぞれの要求を許可するか禁止するかを判定する。通信制御手段815は、通信履歴データベース818から取得したアプリケーションの通信履歴（図６）と、ポリシ管理データベース817から取得したポリシ情報（図７）とを参照して、アプリケーションからの要求を許可するか禁止するかを判定する。
【００７１】
［動作の説明］
本実施形態における動作は、基本的に前述の第２の実施形態に準じる。第２の実施形態との違いは、通信制御手段815に渡される要求の種類が増えることと、通信監視手段816が監視して履歴として保存する情報の種類が増えることである。
【００７２】
通信制御手段815は、通信要求のみでなく、通信アプリケーション806からのIPCの要求とデータ保存領域811のアクセス要求とを受け付ける。通信制御手段815は、ポリシ管理データベース817から取得したポリシ情報と通信履歴データベース818から取得した履歴情報とを参照し、受け付けた要求の実行が許可されているか禁止されているかを判定する。実行を禁止されている場合は、通信アプリケーション806に対し、要求が禁止されていることを伝えて終了する。
【００７３】
また、要求の実行が許可されている場合、通信制御手段815は、通信アプリケーション806からの要求を実行するように通信監視手段816に要求する。通信監視手段816は、要求を実行した後、要求の種類によって以下の異なる動作を行う。
【００７４】
通信アプリケーション806からの要求が通信要求であった場合、通信制御手段815は、第１の実施形態と同様に、その通信履歴を通信履歴データベース818に保存する。
【００７５】
また、要求がIPC要求であり且つデータの受信を行った場合、通信制御手段815は、通信履歴データベース818を参照して、通信先となるプロセスの通信履歴を取得する。そして、取得した履歴の通信内容におけるアプリケーション名のみを通信アプリケーション806に変更し、それを通信履歴データベース818に書き込む。すなわち、例えばアプリケーション806がIPCによりアプリケーション807からデータを受信した場合、それ以前に、そのデータを得るためにアプリケーション807が行った通信に関する通信履歴を、アプリケーション806の通信履歴として更新するという処理である。これによって、通信アプリケーション806の通信先プロセスがネットワークから取得した情報を、通信アプリケーション806が間接的に受信した可能性があることを通信履歴に反映することができる。
【００７６】
さらにまた、要求がIPC要求であり且つデータの送信を行った場合は、上記の逆で、通信アプリケーション806の通信履歴を参照して、その通信内容のアプリケーション名を通信先プロセスのものに変更して、通信履歴データベース818に書き込む。これによって通信アプリケーション806がネットワークから取得した情報を、通信先プロセスに渡した可能性があることを通信履歴に反映できる。
【００７７】
さらにまた、要求がストレージアクセスに対する読み込みの要求であった場合、通信制御手段815は、データアクセス履歴データベース819を参照し、データ保存領域811から読み込むべきファイルのアクセス履歴を取得する。そして、アクセス履歴から対象ファイルに書き込みを行ったアプリケーション名を取得し、通信履歴データベース818を参照して該当のアプリケーションの通信履歴を取得する。IPC要求の場合と同様に、取得した履歴の通信内容を通信アプリケーション806のものに変更して通信履歴データベース818に書き込む。これにより、他のアプリケーションがネットワークから取得した情報を、通信アプリケーション806がストレージを介して取得した可能性があることを通信履歴に反映できる。
【００７８】
さらにまた、要求がストレージアクセスに対する書き込みの要求であった場合、通信制御手段815は、データアクセス履歴データベース819に、通信アプリケーション806がアクセスしたファイル名および通信アプリケーション806の名前を書き込む。これにより、他のアプリケーションが該ファイルを読み込んだ際に、通信アプリケーション806がネットワークから取得した情報をストレージを介して取得した可能性があることを判断できる。
【００７９】
上記の要求に応じて処理が行われると、通信監視手段816は、要求が実行されたことを通信アプリケーション806に伝えて、通信アプリケーション806に処理を戻す。
【００８０】
このように、本実施形態では、通信要求の他に、IPC要求およびストレージ（811）の利用要求を監視し、監視の状況に応じて通信履歴の更新を行う。かかる制御により、次のような効果が得られる。
【００８１】
第１に、履歴としてIPC履歴とデータ保存領域の利用履歴とを保存することで、ある通信アプリケーションが取得したデータを他の通信アプリケーションが取得し、流出させてしまうことを防ぐことが出来る。
【００８２】
第２に、ポリシを用いてIPCとデータ保存領域の利用を制御することで、通信アプリケーションが取得した情報が端末内に保存されることや、他の通信アプリケーションに渡されることを防ぐことが出来る。
【産業上の利用可能性】
【００８３】
本発明は、ネットワーク接続機能を持つ端末装置、及び、その装置上で動作する通信プログラムに適用することができる。
【図面の簡単な説明】
【００８４】
【図１】本発明の実施形態の通信システムの構成を示すブロック図である。
【図２】実施形態の通信システムにおけるVPN接続に関する説明図である。
【図３】本発明の第１の実施形態による通信端末装置の構成を示すブロック図である。
【図４】本発明の第１の実施形態による通信端末装置の動作を示すフローチャートである。
【図５】本発明の第４の実施形態による通信端末装置の構成を示すブロック図である。
【図６】本発明の第１の実施形態における通信履歴データベースに関する説明図である。
【図７】本発明の第４の実施形態におけるポリシ情報データベースに関する説明図である。
【図８】本発明の第６の実施形態による通信端末装置の構成を示すブロック図である。
【図９】本発明の第６の実施形態におけるデータアクセス履歴データベースに関する説明図である。
【図１０】本発明の第４の実施形態による通信端末装置の動作を示すフローチャートである。
【図１１】本発明の第５の実施形態のシステム構成を示すブロック図である。
【符号の説明】
【００８５】
101  通信システム
102,301,510,810  通信端末
103,104  ローカルサーバ
105グローバルサーバ
106,107  ローカルネットワーク
108  グローバルネットワーク
302,502,802  入力装置
303,503,803  出力装置
304,504,804  データ処理装置
305,505,805  記憶装置
306,307,506,507,806,807  通信アプリケーション
308,309,508,509,808,809  通信インタフェース
310,311,510,511,813,814  ネットワーク
312,512,815  通信制御手段
313,513,816  通信監視手段
314,515  通信履歴データベース
514,817  ポリシ管理データベース
810  データ保存インタフェース
811  データ保存領域
812  プロセス間通信インタフェース
818  通信履歴データベース
102A  ポリシ取得手段
106A,107A  ポリシ配信サーバ
【図１】
2008191862.tif 000003
【図２】
2008191862.tif 000004
【図３】
2008191862.tif 000005
【図４】
2008191862.tif 000006
【図５】
2008191862.tif 000007
【図６】
2008191862.tif 000008
【図７】
2008191862.tif 000009
【図８】
2008191862.tif 000010
【図９】
2008191862.tif 000011
【図１０】
2008191862.tif 000012
【図１１】
2008191862.tif 000013