(57)【特許請求の範囲】
【請求項１】
通信を行う機能である通信機能を有する通信端末であって、
前記通信機能の利用を要求する通信機能利用要求をアプリケーションプログラムから取得する利用要求取得部と、
任意モジュールと前記アプリケーションプログラムとの連携状況を示す連携情報を取得する連携情報取得部と、
前記連携情報取得部によって取得される前記連携情報に基づいて、前記通信機能利用要求を許可するか否かを判定する利用許可判定部とを備えることを特徴とする通信端末。
【請求項２】
前記アプリケーションプログラムが正当であるか否かを判定するプログラム認証部をさらに備え、
前記利用許可判定部は、前記連携情報取得部によって取得される前記連携情報に加えて、前記プログラム認証部による判定結果に基づいて、前記通信機能利用要求を許可するか否かを判定することを特徴とする請求項１に記載の通信端末。
【請求項３】
前記アプリケーションプログラムには、前記アプリケーションプログラムを提供するプログラム提供者によって発行される電子署名が付与されており、
前記プログラム認証部は、前記電子署名を用いて、前記アプリケーションプログラムが正当であるか否かを判定することを特徴とする請求項１に記載の通信端末。
【請求項４】
前記任意モジュールへのアクセス要求を検出する任意モジュールアクセス検出部をさらに備え、
前記連携情報取得部は、前記任意モジュールアクセス検出部による検出結果を前記連携情報として取得することを特徴とする請求項１に記載の通信端末。
【請求項５】
前記任意モジュールが正当であるか否かを判定する任意モジュール認証部をさらに備え、
前記連携情報取得部は、前記任意モジュールアクセス検出部による検出結果に加えて、前記任意モジュール認証部による判定結果を前記連携情報として取得することを特徴とする請求項４に記載の通信端末。
【請求項６】
前記通信端末の外部から前記通信端末に接続される外部デバイスへのアクセス要求を検出する外部デバイス検出部をさらに備え、
前記連携情報取得部は、前記外部デバイス検出部による検出結果を前記連携情報として取得することを特徴とする請求項１に記載の通信端末。
【請求項７】
前記外部デバイスが正当であるか否かを判定する外部デバイス認証部をさらに備え、
前記連携情報取得部は、前記外部デバイス検出部による検出結果に加えて、前記外部デバイス認証部による判定結果を前記連携情報として取得することを特徴とする請求項６に記載の通信端末。
【請求項８】
前記利用許可判定部は、前記外部デバイスがシリアル接続されるシリアルデバイスである場合に、前記通信機能利用要求を許可しないことを特徴とする請求項６に記載の通信端末。
【請求項９】
前記任意モジュールは、前記アプリケーションプログラムによって利用される他のプログラムであることを特徴とする請求項１に記載の通信端末。
【請求項１０】
前記アプリケーションプログラムが前記通信機能を利用するか否かを判定する利用有無判定部と、
前記利用有無判定部による判定結果に基づいて、前記通信機能を利用するか否かを示す情報を前記アプリケーションプログラムに対応するプロセス情報に記述する利用有無記述部とをさらに備えることを特徴とする請求項１に記載の通信端末。
【請求項１１】
前記連携情報取得部は、前記アプリケーションプログラムが前記通信機能を利用すると前記利用有無判定部が判定した場合にのみ、前記連携情報を取得することを特徴とする請求項１０に記載の通信端末。
【請求項１２】
前記通信機能は、前記アプリケーションプログラムに含まれるライブラリ関数によって利用され、
前記利用有無判定部は、前記ライブラリ関数を呼び出すためのリンク情報が前記アプリケーションプログラムに含まれているか否かに基づいて、前記アプリケーションプログラムが前記通信機能を利用するか否かを判定することを特徴とする請求項１０に記載の通信端末。
【請求項１３】
前記通信機能は、インターネットプロトコル網と通信を行う機能であり、
前記アプリケーションプログラムは、前記インターネットプロトコル網と通信を行う機能を前記通信機能として利用するプログラムであることを特徴とする請求項１に記載の通信端末。
【請求項１４】
前記通信機能が利用される場合に前記通信端末が接続するアクセスポイントを特定するアクセスポイント特定部と、
前記アクセスポイントを管理するネットワーク接続事業者を特定する接続事業者特定部と、
前記アプリケーションプログラムを提供するプログラム提供者を特定するプログラム提供者特定部と、
前記利用許可判定部が前記通信機能利用要求を許可した場合に、前記アクセスポイント、前記ネットワーク接続事業者及び前記プログラム提供者を識別する識別情報を記憶する識別情報記憶部とをさらに備えることを特徴とする請求項１に記載の通信端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信を行う機能である通信機能を有する通信端末に関する。
【背景技術】
【０００２】
近年、既存の公衆回線網や携帯電話網と比べて通信料金が安価であるため、インターネットプロトコル（ＩＰ）を用いた電話システム（以下、ＩＰ電話システム）の利用が広がっている。
【０００３】
また、ＩＥＥＥ８０２．１１ｂ等で規定された無線ＬＡＮの普及、無線ＬＡＮで用いられるデバイスの小型化及び省電力化に伴って、無線ＬＡＮでＩＰを用いる携帯端末（ＩＰ携帯端末）が既に市販されている。
【０００４】
このようなＩＰ電話端末の中には、高性能なプロセッサや汎用ＯＳを搭載しており、様々なアプリケーションプログラムを用いるためのプラットホームを備えた端末も存在している。
【０００５】
また、ＩＰ電話やチャットなどの通信機能を利用する通信アプリケーションプログラムを新たにインストールしたいというニーズ、及び、ＩＰ電話端末にデフォルトで搭載された通信アプリケーションプログラムをサードパーティが開発した通信アプリケーションプログラムに変更したいというニーズが高まることが予想される。
【０００６】
すなわち、通信アプリケーションプログラムをユーザが自由に選択することを可能にして、ＩＰ電話端末の自由度を高め、ユーザの利便性が向上することが期待されている。
【０００７】
一方、通信アプリケーションプログラムが自由に選択されると、悪意や欠陥がある通信アプリケーションプログラム（不正プログラム）がＩＰ電話端末にインストールされる可能性が高くなる。また、通信アプリケーションプログラムは、通信機能を利用するプログラムであるため、大量の電話番号に対する自動発呼などのような不正利用が不正プログラムによって引き起こされる危険性が生じ、不正プログラムによって引き起こされる不正利用の社会的影響は非常に大きい。
【０００８】
これに対して、一般的には、通信アプリケーションプログラムの審査を厳密に行うことによって、不正プログラムが市場に流出することを防止する方法が採られている。また、機器やユーザの集合（グループ）がデータ処理要求の権限を有するか否かに応じて、一のデバイスが他のデバイスにアクセスすることを許可するか否かを判定する方法も提案されている（例えば、特許文献１）。さらに、一のプログラムが正当であるか否かを示す認証情報に応じて、一のプログラムが他のプログラムにアクセスすることを許可するか否かを判定する方法も提案されている（例えば、特許文献２）。
【特許文献１】特開２００４−１３６００
【特許文献２】特開２００３−３１６６５１
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ところで、近年、ＩＰ電話端末のような通信端末に設けられる外部インターフェースは増加する傾向にあり、通信端末に様々な外部デバイスを接続可能となることが予想される。また、様々なプログラムが通信端末にダウンロードされる可能性も高い。
【００１０】
すなわち、ユーザによって任意に選択されるモジュール（任意モジュール）として、ハードウェアモジュールやソフトウェアモジュールが通信端末にユーザの任意で適用されるケースが増加することが予想される。
【００１１】
しかしながら、上述した従来の方法では、一のプログラムや一のデバイスが単体で他のプログラムや他のデバイスにアクセスする権限を有するか否かに応じて、リソースへのアクセス要求を許可するか否かを判定している。
【００１２】
従って、様々な任意モジュールが通信端末に適用されて、通信アプリケーションプログラムと任意モジュールとが連携して動作するような環境下では、リソースへのアクセスを有効に制限することができなかった。
【００１３】
そこで、本発明は、上述した課題を解決するためになされたものであり、様々な任意モジュールが通信端末に適用されるような環境下であっても、リソースへのアクセスを有効に制限することができる通信端末を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明の第１の特徴は、通信を行う機能である通信機能を有する通信端末が、前記通信機能の利用を要求する通信機能利用要求をアプリケーションプログラムから取得する利用要求取得部（通信機能フック関数実行部１１８）と、任意モジュールと前記アプリケーションプログラムとの連携状況を示す連携情報（デバイス連携情報フラグ（ｏｐｅｎ_ｄｅｖ））を取得する連携情報取得部（デバイス連携監視部１１５）と、前記連携情報取得部によって取得される前記連携情報に基づいて、前記通信機能利用要求を許可するか否かを判定する利用許可判定部（アクセス制御部１１９）とを備えることを要旨とする。
【００１５】
かかる特徴によれば、利用許可判定部が、連携情報取得部によって取得される連携情報に基づいて、通信機能利用要求を許可するか否かを判定することにより、様々な任意モジュールが通信端末に適用されるような環境下であっても、リソースへのアクセスを有効に制限することができる。
【００１６】
本発明の第２の特徴は、前記アプリケーションプログラムが正当であるか否かを判定するプログラム認証部（通信アプリケーション実行部１１２）を通信端末がさらに備え、前記利用許可判定部が、前記連携情報取得部によって取得される前記連携情報に加えて、前記プログラム認証部による判定結果に基づいて、前記通信機能利用要求を許可するか否かを判定することを要旨とする。
【００１７】
本発明の第３の特徴は、本発明の第１の特徴において、前記アプリケーションプログラムには、前記アプリケーションプログラムを提供するプログラム提供者によって発行される電子署名が付与されており、前記プログラム認証部が、前記電子署名を用いて、前記アプリケーションプログラムが正当であるか否かを判定することを要旨とする。
【００１８】
本発明の第４の特徴は、本発明の第１の特徴において、前記任意モジュールへのアクセス要求を検出する任意モジュールアクセス検出部（外部アクセスフック関数実行部１１７）を通信端末がさらに備え、前記連携情報取得部が、前記任意モジュールアクセス検出部による検出結果を前記連携情報として取得することを要旨とする。
【００１９】
本発明の第５の特徴は、本発明の第４の特徴において、前記任意モジュールが正当であるか否かを判定する任意モジュール認証部（デバイス連携監視部１１５）を通信端末がさらに備え、前記連携情報取得部が、前記任意モジュールアクセス検出部による検出結果に加えて、前記任意モジュール認証部による判定結果を前記連携情報として取得することを要旨とする。
【００２０】
本発明の第６の特徴は、本発明の第１の特徴において、前記通信端末の外部から前記通信端末に接続される外部デバイスへのアクセス要求を検出する外部デバイス検出部（外部アクセスフック関数実行部１１７）を通信端末がさらに備え、前記連携情報取得部は、前記外部デバイス検出部による検出結果を前記連携情報として取得することを要旨とする。
【００２１】
本発明の第７の特徴は、本発明の第６の特徴において、前記外部デバイスが正当であるか否かを判定する外部デバイス認証部（デバイス連携監視部１１５）を通信端末がさらに備え、前記連携情報取得部が、前記外部デバイス検出部による検出結果に加えて、前記外部デバイス認証部による判定結果を前記連携情報として取得することを要旨とする。
【００２２】
本発明の第８の特徴は、本発明の第６の特徴において、前記利用許可判定部が、前記外部デバイスがシリアル接続されるシリアルデバイスである場合に、前記通信機能利用要求を許可しないことを要旨とする。
【００２３】
本発明の第９の特徴は、本発明の第１の特徴において、前記任意モジュールが、前記アプリケーションプログラムによって利用される他のプログラムであることを要旨とする。
【００２４】
本発明の第１０の特徴は、本発明の第１の特徴において、前記アプリケーションプログラムが前記通信機能を利用するか否かを判定する利用有無判定部（通信アプリケーション実行部１１２）と、前記利用有無判定部による判定結果に基づいて、前記通信機能を利用するか否かを示す情報（通信機能リンクフラグ（ｌｉｎｋ_ｌｉｂ_ｉｐｔｅｌ））を前記アプリケーションプログラムに対応するプロセス情報に記述する利用有無記述部（通信アプリケーション実行部１１２）とを通信端末がさらに備えることを要旨とする。
【００２５】
本発明の第１１の特徴は、本発明の第１０の特徴において、前記連携情報取得部が、前記アプリケーションプログラムが前記通信機能を利用すると前記利用有無判定部が判定した場合にのみ、前記連携情報を取得することを要旨とする。
【００２６】
本発明の第１２の特徴は、本発明の第１０の特徴において、前記通信機能が、前記アプリケーションプログラムに含まれるライブラリ関数によって利用され、前記利用有無判定部が、前記ライブラリ関数を呼び出すためのリンク情報が前記アプリケーションプログラムに含まれているか否かに基づいて、前記アプリケーションプログラムが前記通信機能を利用するか否かを判定することを要旨とする。
【００２７】
本発明の第１３の特徴は、本発明の第１の特徴において、前記通信機能が、インターネットプロトコル網と通信を行う機能であり、前記アプリケーションプログラムが、前記インターネットプロトコル網と通信を行う機能を前記通信機能として利用するプログラムであることを要旨とする。
【００２８】
本発明の第１４の特徴は、本発明の第１の特徴において、前記通信機能が利用される場合に前記通信端末が接続するアクセスポイントを特定するアクセスポイント特定部（認証機能実行部１２１）と、前記アクセスポイントを管理するネットワーク接続事業者を特定する接続事業者特定部（認証機能実行部１２１）と、前記アプリケーションプログラムを提供するプログラム提供者を特定するプログラム提供者特定部（認証機能実行部１２１）と、前記アクセスポイント、前記ネットワーク接続事業者及び前記プログラム提供者を識別する識別情報（セッション情報）を記憶する識別情報記憶部（セッション情報記憶部１２３）とを通信端末がさらに備えることを要旨とする。
【発明の効果】
【００２９】
本発明によれば、様々な任意モジュールが通信端末に適用されるような環境下であっても、リソースへのアクセスを有効に制限することができる通信端末を提供する。
【発明を実施するための最良の形態】
【００３０】
（通信システムの構成）
以下において、本発明の一実施形態に係る通信端末が用いられる通信システムの構成について、図面を参照しながら説明する。図１は、本発明の一実施形態に係る通信システムを示す図である。
【００３１】
図１に示すように、通信システムは、複数の通信端末１０（通信端末１０ａ〜通信端末１０ｈ）と、複数のアクセスポイント２０（アクセスポイント２０ａ〜アクセスポイント２０ｄ）と、複数のＩＳＰ網３０（ＩＳＰ網３０ａ及びＩＳＰ網３０ｂ）と、ＩＰ電話網４０と、公衆電話網５０と、ＩＰ電話プラットホーム６０と、インターネット７０と、ソフトウェアベンダ８０とを有する。
【００３２】
各通信端末１０は、ＩＥＥＥ８０２．１１ｂで規定された無線ＬＡＮに接続する機能などの通信機能を有しており、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）が適用されたＩＰ電話端末として機能する。具体的には、通信端末１０は、例えば、携帯電話、ＰＤＡ、ノート型ＰＣなどである。なお、通信端末１０の詳細については後述する（図２を参照）。
【００３３】
各アクセスポイント２０は、アクセスポイント２０によって管理されるエリア内に位置している通信端末１０と無線回線で接続される。例えば、アクセスポイント２０ａは、通信端末１０ａや通信端末１０ｂと無線回線で接続され、アクセスポイント２０ｂは、通信端末１０ｃや通信端末１０ｄと無線回線で接続される。
【００３４】
また、各アクセスポイント２０は、ＩＳＰ網３０に接続されている。例えば、アクセスポイント２０ａは、ＩＳＰ網３０ａに接続されており、アクセスポイント２０ｃは、ＩＳＰ網３０ｂに接続されている。
【００３５】
ＩＳＰ網３０は、インターネット接続事業者（ＩＳＰ；Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）によって提供されるネットワークであり、ＩＰ電話網４０に接続されている。なお、ＩＳＰ網３０ａ及びＩＳＰ網３０ｂは、異なるインターネット接続事業者によってそれぞれ提供されるネットワークであってもよい。
【００３６】
ＩＰ電話網４０は、ＩＰを用いた電話サービス（以下、ＩＰ電話サービス）を提供するためのネットワークである。また、ＩＰ電話網４０では、各種データは、ヘッダとペイロードとによって構成されるパケットの形式で送受信される。さらに、ＩＰ電話網４０は、公衆電話網５０及びＩＰ電話プラットホーム６０に接続されている。
【００３７】
公衆電話網５０は、いわゆるＰＳＴＮ（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）であり、公衆電話網５０では、各種信号は、回線交換方式で送受信される。
【００３８】
ＩＰ電話プラットホーム６０は、ＩＰ電話網４０を用いて提供されるＩＰ電話サービスを提供する枠組みであり、呼制御サーバ６１と、課金サーバ６２とを有する。
【００３９】
呼制御サーバ６１は、ＩＰ電話サービスにおける呼制御やアドレス変換などを行うゲートキーパなどである。例えば、呼制御サーバ６１は、ＩＴＵ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｕｎｉｏｎ）勧告Ｈ．２２５やＩＥＴＦ  ＳＩＰ（ＲＦＣ  ３２６１）で規定された手順で呼制御を行う。
【００４０】
課金サーバ６２は、ＩＰ電話サービスを利用したユーザに対して課金するために、ユーザがＩＰ電話サービスを利用した時間やユーザが送受信したパケットの量などを管理する。
【００４１】
インターネット７０は、ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）を用いてパケットが送受信されるネットワークである。
【００４２】
ソフトウェアベンダ８０は、インターネット７０を介して通信端末１０で用いられるプログラムをユーザに提供する事業者（ＩＳＶ：Ｉｎｔｅｒｎｅｔ  Ｓｏｆｔｗａｒｅ  Ｖｅｎｄｅｒ）である。また、ソフトウェアベンダ８０は、プログラムが正当であることを証明する電子署名を発行し、電子署名が付与されたプログラムをユーザに提供する。例えば、ソフトウェアベンダ８０は、通信端末１０が有する通信機能を利用する通信アプリケーションプログラムに電子署名を付与し、電子署名が付与された通信アプリケーションプログラムをユーザに提供する。
【００４３】
なお、本実施形態において、通信アプリケーションプログラムは、通信端末１０に接続される外部デバイスと連携するプログラムである。例えば、外部デバイスと連携する通信アプリケーションプログラムとは、通信端末１０にシリアルインターフェースを介して接続されるキーボードやバーコードリーダを用いて、電話帳登録、ダイヤル及び発呼などを簡便に行う機能をユーザに提供するプログラムである。
【００４４】
なお、通信アプリケーションプログラムは、例えば、ＣＤ−ＲＯＭなどの媒体やネットワークを介して取得し、通信端末１０にインストール可能なプログラムである。具体的には、通信アプリケーションプログラムは、ＩＰ電話サービスにおける呼制御などを行うプログラムであり、一般的な音声電話サービスだけではなく、チャット、プッシュツートーク及びＴＶ電話などのサービスを提供する。
【００４５】
（通信端末の構成）
以下において、本発明の一実施形態に係る通信端末の構成について、図面を参照しながら説明する。図２は、本発明の一実施形態に係る通信端末１０を示すブロック図である。
【００４６】
図２に示すように、通信端末１０は、通信アプリケーション格納部１１１と、通信アプリケーション実行部１１２と、ライブラリ関数格納部１１３と、カーネル機能部１１４と、外部Ｉ／Ｆ部１２０と、認証機能実行部１２１と、監視機能実行部１２２と、セッション情報記憶部１２３と、通信機能実行部１２４とを有する。
【００４７】
なお、本実施形態では、通信端末１０は、汎用ＯＳとしてＬｉｎｕｘを備えているものとして説明する。また、通信アプリケーションプログラムが利用する通信機能は、ＩＰ電話機能であるものとして説明する。
【００４８】
通信アプリケーション格納部１１１は、上述したソフトウェアベンダ８０によって提供される通信アプリケーションプログラムを格納する。
【００４９】
通信アプリケーション実行部１１２は、通信アプリケーション格納部１１１に格納された通信アプリケーションプログラムを実行する。
【００５０】
具体的には、通信アプリケーション実行部１１２は、通信アプリケーションプログラムの実行ファイルを呼び出す。なお、通信アプリケーションプログラムの実行ファイルには、ソフトウェアベンダ８０が発行する電子署名、通信アプリケーションプログラム又はソフトウェアベンダ８０を識別するプログラム識別子（ｐｒｏｇｒａｍ_ｉｄ）、動的又は静的に呼び出されるライブラリ関数を識別するライブラリ関数識別情報などが予め含まれている。
【００５１】
また、通信アプリケーション実行部１１２は、実行ファイルに含まれる電子署名を用いて、通信アプリケーションプログラムが正当であるか否かを判定する。また、通信アプリケーション実行部１１２は、通信アプリケーションプログラムが正当であるか否かを示す情報をプログラム属性（ｐ_ａｔｔｒ）として実行ファイル内に記述する。
【００５２】
さらに、通信アプリケーション実行部１１２は、実行ファイルに含まれるライブラリ関数識別情報の中に、通信機能を呼び出す通信機能ライブラリ関数へのリンク情報が含まれているか否かを判定する。すなわち、通信アプリケーション実行部１１２は、通信機能ライブラリ関数が通信アプリケーションプログラムによって利用されるか否かを判定する。また、通信アプリケーション実行部１１２は、通信機能ライブラリ関数が通信アプリケーションプログラムによって利用される場合にのみ、通信アプリケーションプログラムと外部デバイスとの連携状況の監視をデバイス連携監視部１１５に要求する。
【００５３】
さらに、通信アプリケーション実行部１１２は、通信機能ライブラリ関数が通信アプリケーションプログラムによって利用されるか否かを示す通信機能リンクフラグ（ｌｉｎｋ_ｌｉｂ_ｉｐｔｅｌ）、プログラム識別子（ｐｒｏｇｒａｍ_ｉｄ）及びプログラム属性（ｐ_ａｔｔｒ）をプロセス情報に記述する。
【００５４】
なお、プロセス情報は、例えば、以下のようにして生成される。具体的には、通信アプリケーション実行部１１２は、通信アプリケーションプログラムの実行ファイルを引数として、ｅｘｅｃシステムコールを発行することによって、通信アプリケーションプログラムに対応するプロセス情報を生成する。
【００５５】
また、ライブラリ関数識別情報は、実行ファイルがＥＬＦフォーマットである場合を例に挙げると、以下のようにして取得される。具体的には、静的に呼び出されるライブラリ関数を識別するライブラリ関数識別情報については、プログラムヘッダに含まれるシンボルテーブルを参照することによって取得される。また、動的に呼び出されるライブラリ関数を識別するライブラリ関数識別情報については、プログラムヘッダに含まれるｄｙｎａｍｉｃセクションを参照することによって取得される。
【００５６】
ライブラリ関数格納部１１３は、各種ライブラリ関数を記憶している。例えば、ライブラリ関数格納部１１３は、後述する外部Ｉ／Ｆ部１２０を介して通信端末１０に接続される外部デバイスにアクセスするためのライブラリ関数（外部アクセスライブラリ関数）、通信機能を呼び出すためのライブラリ関数（通信機能ライブラリ関数）などを記憶している。
【００５７】
カーネル機能部１１４は、汎用ＯＳの中核部分として機能する部分であり、デバイス連携監視部１１５と、フック関数実行部１１６と、アクセス制御部１１９とを有する。
【００５８】
デバイス連携監視部１１５は、通信アプリケーションプログラムと外部デバイスとの連携状況を監視する。具体的には、後述する外部アクセスフック関数実行部１１７が，通信アプリケーションから外部Ｉ／Ｆ部１２０へのアクセス要求を検出した場合に、通信アプリケーションプログラムと外部デバイスとが連携していると判定し，デバイス連携監視部１１５に通知する。
【００５９】
また、デバイス連携監視部１１５は、通信アプリケーションプログラムと外部デバイスとの連携状況を示すデバイス連携情報フラグを通信アプリケーションプログラムに対応するプロセス情報に記述する。具体的には、デバイス連携監視部１１５は、通信アプリケーションプログラムと外部デバイスとが連携している場合には、デバイス連携情報フラグとして“１”をプロセス情報に記述する。また、デバイス連携情報フラグには、通信アプリケーションプログラムと外部デバイスとが連携していないことを示す“０”がデフォルトで設定されているものとする。
【００６０】
なお、ＵＮＩＸ（登録商標）系のＯＳを例に挙げると、デバイス連携監視部１１５は、以下のようにして、通信アプリケーションプログラムと外部デバイスとが連携しているか否かを監視する。具体的には、ＵＮＩＸ（登録商標）系のＯＳでは、外部Ｉ／Ｆ部１２０はファイルとして抽象化されているため、デバイス連携監視部１１５は、外部Ｉ／Ｆ部１２０に対応するファイルのオープンを監視することによって、外部Ｉ／Ｆ部１２０へのアクセス要求を検出する。
【００６１】
なお、ＵＮＩＸ（登録商標）系のＯＳでは、通信アプリケーションプログラムが外部デバイスを利用する場合に、後述する外部アクセスフック関数実行部１１７は、プロセス情報に含まれる通信機能リンクフラグ（ｌｉｎｋ_ｉｐ_ｉｐｔｅｌ）を参照することによって、通信機能（ＩＰ電話機能）が利用されるか否かを判定する。また、外部アクセスフック関数実行部１１７は、通信機能（ＩＰ電話機能）が利用される場合には、通信アプリケーションプログラムからの外部Ｉ／Ｆ部１２０のファイルのオープンをデバイス連携監視部１１５に通知する。具体的には、外部アクセスフック関数実行部１１７は、フック対象システムコールのソースコードに、デバイス連携監視部１１５のアドレスを示す関数ポインタを挿入することによって、外部Ｉ／Ｆ部１２０のファイルのオープンを通知する。
【００６２】
フック関数実行部１１６は、外部アクセスフック関数実行部１１７と、通信機能フック関数実行部１１８とを有する。
【００６３】
外部アクセスフック関数実行部１１７は、通信アプリケーション実行部１１２からの要求を監視することによって、通信アプリケーションプログラムから外部Ｉ／Ｆ部１２０へのアクセス要求をフックし，デバイス連携監視部１１５に通知する機能を備える。
【００６４】
通信機能フック関数実行部１１８は、通信アプリケーション実行部１１２からの要求を監視することによって、通信アプリケーションプログラムから通信機能ライブラリへのアクセス要求をフックし，アクセス制御部１１９に通知する機能を備える。また、通信機能フック関数実行部１１８は、アクセス制御部１１９によってアクセス要求が許可された場合には、通信機能実行部１２４を呼び出す。
【００６５】
アクセス制御部１１９は、プロセス情報に含まれる情報を参照し、アクセス制御規則テーブルに従って、通信機能ライブラリ関数の実行を許可するか否かを判定する。具体的には、アクセス制御部１１９は、プログラム識別子、プログラム属性及びデバイス連携情報フラグを参照して、通信機能ライブラリへのアクセス要求を許可するか否かを判定する。また、アクセス制御部１１９は、通信機能ライブラリへのアクセス要求を許可しない場合には、通信アプリケーション実行部１１２に対してエラー通知を行う。なお、アクセス制御規則テーブルの詳細については後述する（図５を参照）。
【００６６】
また、アクセス制御部１１９は、通信機能ライブラリへのアクセス要求を許可する場合には、認証機能実行部１２１に対して各種情報の認証を要求する。具体的には、アクセス制御部１１９は、通信端末１０が接続するアクセスポイント２０、ＩＳＰ網３０を提供するインターネット接続事業者及び通信アプリケーションプログラムを提供するソフトウェアベンダ８０の認証を要求する。
【００６７】
外部Ｉ／Ｆ部１２０は、外部デバイスとのインターフェースである。例えば、外部Ｉ／Ｆ部１２０は、ＲＳ−２３２Ｃ、ＩｒＤＡ及びＵＳＢなどに準拠するシリアルポート、ＬＰＴポートなどのパラレルポートである。
【００６８】
また、外部デバイスとは、外部Ｉ／Ｆ部１２０を介して通信端末１０に接続されるデバイスであり、例えば、キーボードやバーコードリーダなどである。
【００６９】
認証機能実行部１２１は、通信端末１０が接続するアクセスポイント２０、ＩＳＰ網３０を提供するインターネット接続事業者及び通信アプリケーションプログラムを提供するソフトウェアベンダ８０を特定する。また、認証機能実行部１２１は、特定されたアクセスポイント２０、インターネット接続事業者及びソフトウェアベンダ８０が正当であるか否かを判定（認証）する。
【００７０】
さらに、認証機能実行部１２１は、各情報が正当であるか否かを示す判定結果（認証結果）をアクセス制御部１１９に通知する。また、認証機能実行部１２１は、正当であることが認証されたアクセスポイント２０、インターネット接続事業者及びソフトウェアベンダ８０を識別する情報をセッション情報記憶部１２３に格納する。
【００７１】
監視機能実行部１２２は、通信機能実行部１２４によって設定されたセッションを監視する。具体的には、監視機能実行部１２２は、セッションの設定を開始した時刻（セッション開始時刻）、セッションが切断された時刻（セッション終了時刻）、セッションが維持されている時間（セッション継続時間）、セッションの品質（通信品質）などを監視する。また、監視機能実行部１２２は、セッション開始時刻、セッション終了時刻、セッション継続時間及び通信品質などをセッション情報記憶部１２３に格納する。
【００７２】
セッション情報記憶部１２３は、通信端末１０が接続するアクセスポイント２０、ＩＳＰ網３０を提供するインターネット接続事業者及び通信アプリケーションプログラムを提供するソフトウェアベンダ８０を識別する情報をセッション情報として記憶する。また、セッション情報記憶部１２３は、セッション開始時刻、セッション終了時刻、セッション継続時間及び通信品質などをセッション情報として記憶する。
【００７３】
通信機能実行部１２４は、通信機能フック関数実行部１１８によって実行される通信機能フック関数に従って、ＩＳＰ網３０及びＩＰ電話網４０を介して通信を行う。具体的には、通信機能実行部１２４は、通信相手の電話番号をダイヤルする機能、ＩＰ電話サービスにおける呼制御などを実行する。
【００７４】
（実行ファイル）
以下において、本発明の一実施形態に係る実行ファイルの一例について、図面を参照しながら説明する。図３は、本発明の一実施形態に係る実行ファイルの一例を示す図である。なお、図３では、実行ファイルの一部のみが抜粋されている。
【００７５】
図３（ａ）に示すように、実行ファイルには、ライブラリ関数識別情報と、ｉｎｏｄｅ構造体とが含まれており、ｉｎｏｄｅ構造体には、プログラム識別子と、プログラム属性とが含まれている。具体的には、図３（ｂ）に示すように、プログラム識別子（ｐｒｏｇｒａｍ_ｉｄ）及びプログラム属性（ｐ_ａｔｔｒ）は、ｉｎｏｄｅ構造体（ｓｔｒｕｃｔ  ｉｎｏｄｅ）に記述されている。
【００７６】
（プロセス情報）
以下において、本発明の一実施形態に係るプロセス情報の一例について、図面を参照しながら説明する。図４は、本発明の一実施形態に係るプロセス情報の一例を示す図である。なお、図４では、プロセス情報の一部のみが抜粋されている。
【００７７】
図４（ａ）に示すように、プロセス情報には、ｔａｓｋ_ｓｔｒｕｃｔ構造体が含まれており、ｔａｓｋ_ｓｔｒｕｃｔ構造体には、プログラム識別子、プログラム属性、通信機能リンクフラグ及びデバイス連携情報フラグが含まれている。具体的には、図４（ｂ）に示すように、プログラム識別子（ｐｒｏｇｒａｍ_ｉｄ）、プログラム属性（ｐ_ａｔｔｒ）、通信機能リンクフラグ（ｌｉｎｋ_ｌｉｂ_ｉｐｔｅｌ）及びデバイス連携情報フラグ（ｏｐｅｎ_ｄｅｖ）は、ｔａｓｋ_ｓｔｒｕｃｔ構造体（ｓｔｒｕｃｔ  ｔａｓｋ_ｓｔｒｕｃｔ）に記述されている。
【００７８】
（アクセス制御規則テーブル）
以下において、本発明の一実施形態に係るアクセス制御規則テーブルの一例について、図面を参照しながら説明する。図５は、本発明の一実施形態に係るアクセス制御規則テーブルの一例を示す図である。
【００７９】
図５に示すように、アクセス制御規則テーブルでは、規則Ｎｏ．と、許可可否と、プログラム識別子と、プログラム属性と、デバイス連携情報フラグと、通信アプリケーションプログラムによる利用が許可される通信機能とがアクセス制御規則として対応付けられている。
【００８０】
具体的には、規則Ｎｏ．１に示すように、プログラム識別子が“ｐｒｏｇｒａｍ_ｉｄ_１”であり、デバイス連係情報フラグが“０”である場合には、ＩＰ電話機能の全て（ｆｕｎｃ_ｉｐ_ｔｅｌ＊）について、通信アプリケーションプログラム（ｐｒｏｇｒａｍ_ｉｄ_１）による利用が許可される。すなわち、通信アプリケーションプログラムと外部デバイスとが連携していない場合には、通信アプリケーションプログラムによる利用が許可される通信機能は制限されない。
【００８１】
一方、規則Ｎｏ．２に示すように、プログラム識別子が“ｐｒｏｇｒａｍ_ｉｄ_１”であっても、デバイス連係情報フラグが“１”である場合には、ＩＰ電話機能（ｆｕｎｃ_ｉｐ_ｔｅｌ）の一部（ｆｕｎｃ_ｉｐ_ｔｅｌ_ｆｕｎｃ１及びｆｕｎｃ_ｉｐ_ｔｅｌ_ｆｕｎｃ２）についてのみ、通信アプリケーションプログラム（ｐｒｏｇｒａｍ_ｉｄ_１）による利用が許可される。すなわち、通信アプリケーションプログラムと外部デバイスとが連携している場合には、通信アプリケーションプログラムによる利用が許可される通信機能が制限される。
【００８２】
また、規則Ｎｏ．３に示すように、デバイス連係情報フラグが“１”であっても、プログラム識別子が“ｐｒｏｇｒａｍ_ｉｄ_２”であり、プログラム属性が“ｔｒｕｓｔｅｄ”である場合には、ＩＰ電話機能の全て（ｆｕｎｃ_ｉｐ_ｔｅｌ＊）について、通信アプリケーションプログラム（ｐｒｏｇｒａｍ_ｉｄ_２）による利用が許可される。
【００８３】
一方、規則Ｎｏ．４に示すように、プログラム識別子が“ｐｒｏｇｒａｍ_ｉｄ_２”であっても、プログラム属性が“ｕｎｔｒｕｓｔｅｄ”である場合には、ＩＰ電話機能（ｆｕｎｃ_ｉｐ_ｔｅｌ）の一部（ｆｕｎｃ_ｉｐ_ｔｅｌ_ｆｕｎｃ１及びｆｕｎｃ_ｉｐ_ｔｅｌ_ｆｕｎｃ２）についてのみ、通信アプリケーションプログラム（ｐｒｏｇｒａｍ_ｉｄ_２）による利用が許可される。
【００８４】
（通信端末の動作）
以下において、本発明の一実施形態に係る通信端末の動作について、図面を参照しながら説明する。
【００８５】
最初に、通信アプリケーションプログラムを起動する際における通信端末１０の動作について説明する。図６は、通信アプリケーションプログラムを起動した際における通信端末１０の動作を示すフロー図である。なお、以下においては、通信アプリケーションプログラムが通信機能を利用するプログラムであるものとして説明する。
【００８６】
図６に示すように、ステップ１０において、通信端末１０は、通信アプリケーションプログラムの実行ファイルを通信アプリケーション格納部１１１から呼び出す。また、ステップ１１において、通信端末１０は、通信アプリケーションプログラムに対応するプロセス情報を生成する。例えば、通信端末１０は、通信アプリケーションプログラムの実行ファイルを引数として、ｅｘｅｃシステムコールを発行することによって、通信アプリケーションプログラムに対応するプロセス情報を生成する。
【００８７】
ステップ１２において、通信端末１０は、通信アプリケーションプログラムの実行ファイルに外部アクセスライブラリ関数が含まれているか否かを判定する。具体的には、通信端末１０は、実行ファイルに含まれるライブラリ関数識別情報を参照して、実行ファイルに外部アクセスライブラリ関数が含まれているか否かを判定する。
【００８８】
また、通信端末１０は、実行ファイルに外部アクセスライブラリ関数が含まれている場合には、ステップ１３の処理に移り、実行ファイルに外部アクセスライブラリ関数が含まれていない場合には、ステップ１４の処理に移る。
【００８９】
ステップ１３において、通信端末１０は、デバイス連携情報フラグをセットする。具体的には、通信端末１０は、実行ファイルに外部アクセスライブラリ関数が含まれている場合には、デバイス連携情報フラグとして“１”をセットする。なお、デバイス連携情報フラグには、デフォルトで“０”がセットされている。また、デバイス連携情報フラグは、上述したように、プロセス情報に含まれるｔａｓｋ_ｓｔｒｕｃｔ構造体に記述される。
【００９０】
ステップ１４において、通信端末１０は、通信アプリケーションプログラムが正当であるか否かを判定（認証）する。具体的には、通信端末１０は、通信アプリケーションプログラムに付与された電子署名を参照して、通信アプリケーションプログラムが正当であるか否かを判定（認証）する。
【００９１】
また、通信端末１０は、通信アプリケーションプログラムが正当であることが認証された場合には、プロセス情報に含まれるｔａｓｋ_ｓｔｒｕｃｔ構造体にプログラム属性（ｐ_ａｔｔｒ）として“ｔｒｕｓｔｅｄ”を記述する。一方、通信端末１０は、通信アプリケーションプログラムが正当であることが認証されなかった場合には、プロセス情報に含まれるｔａｓｋ_ｓｔｒｕｃｔ構造体にプログラム属性（ｐ_ａｔｔｒ）として“ｕｎｔｒｕｓｔｅｄ”を記述する。
【００９２】
次に、通信アプリケーションプログラムから通信機能ライブラリへのアクセス要求がフックされた際における通信端末１０の動作について説明する。図７は、通信機能ライブラリへのアクセス要求がフックされた際における通信端末１０の動作を示すフロー図である。
【００９３】
ステップ２１において、通信端末１０は、アクセス制御規則テーブルを参照して、通信アプリケーションプログラムから通信機能ライブラリへのアクセス要求が許可されるか否かを判定する。具体的には、通信端末１０は、アクセス制御規則テーブルのアクセス制御規則に従って、通信アプリケーションプログラムからのアクセス要求が許可される通信機能を特定する。
【００９４】
ステップ２２において、通信端末１０は、ステップ１６で通信機能ライブラリへのアクセス要求が許可されたか否かを判定する。また、通信端末１０は、通信機能ライブラリへのアクセス要求が許可された場合には、ステップ２４の処理に移り、通信機能ライブラリへのアクセス要求が許可されなかった場合には、ステップ２３の処理に移る。
【００９５】
ステップ２３において、通信端末１０は、通信機能ライブラリ関数の実行を禁止する。具体的には、通信端末１０のアクセス制御部１１９は、通信アプリケーション実行部１１２に対してエラー通知を行う。
【００９６】
ステップ２４において、通信端末１０は、ステップ１６で通信アプリケーションプログラムからのアクセス要求が許可される通信機能に対応する通信機能ライブラリ関数を実行する。
【００９７】
ステップ２５において、通信端末１０は、通信機能ライブラリ関数を実行することによって設定されたセッションを監視する。具体的には、通信端末１０は、セッションの設定を開始した時刻（セッション開始時刻）、セッションが切断された時刻（セッション終了時刻）、セッションが維持されている時間（セッション継続時間）、セッションの品質（通信品質）などを監視する。
【００９８】
（作用及び効果）
本発明の一実施形態に係る通信端末１０によれば、アクセス制御部１１９が、デバイス連携監視部１１５によってプロセス情報に記述されるデバイス連携情報フラグ（連携情報）に基づいて、通信機能ライブラリへのアクセス要求を許可するか否かを判定することにより、様々な外部デバイスが通信端末１０に適用されるような環境下であっても、リソースへのアクセスを有効に制限することができる。
【００９９】
また、本発明の一実施形態に係る通信端末１０によれば、通信アプリケーション実行部１１２が、通信アプリケーションプログラムに付与された電子署名を用いて、通信アプリケーションプログラムが正当であるか否かを判定し、アクセス制御部１１９が、デバイス連携情報フラグに加えて、通信アプリケーションプログラムが正当であるか否かを示すプログラム属性に基づいて、通信機能ライブラリへのアクセス要求を許可するか否かを判定する。従って、通信端末１０は、大量の電話番号に対する自動発呼などのような不正利用が通信アプリケーションプログラムによって引き起こされる危険性を軽減することができる。
【０１００】
さらに、本発明の一実施形態に係る通信端末１０によれば、通信アプリケーション実行部１１２が、通信機能ライブラリ関数が通信アプリケーションプログラムの実行ファイルに含まれている場合にのみ、通信アプリケーションプログラムと外部デバイスとの連携状況の監視をデバイス連携監視部１１５に要求することにより、デバイス連携監視部１１５の処理負荷を軽減することができる。
【０１０１】
また、本発明の一実施形態に係る通信端末１０によれば、セッション情報記憶部１２３が、通信端末１０が接続するアクセスポイント２０、ＩＳＰ網３０を提供するインターネット接続事業者及び通信アプリケーションプログラムを提供するソフトウェアベンダ８０を識別する情報をセッション情報として記憶する。
【０１０２】
従って、通信アプリケーションプログラムを用いてユーザが通信機能（例えば、ＩＰ電話機能）を利用した場合に、通信機能の利用に通信アプリケーションプログラムが寄与したことを容易に把握することができる。すなわち、ＩＰ電話サービスの利用に対する通信アプリケーションプログラムの寄与に応じて、ユーザに課金する枠組みを構築することができる。これによって、通信アプリケーションプログラムを開発するソフトウェアベンダ８０の開発意欲を促進することができる。
【０１０３】
（変更例）
上述した実施形態では、連携情報は、通信アプリケーションプログラムと外部デバイスとが連携しているか否かを示すデバイス連携情報フラグのみを含むが、これに限定されるものではない。
【０１０４】
具体的には、連携情報は、デバイス連携情報フラグに加えて、外部デバイスが正当であるか否かを示す情報を含んでいてもよい。なお、外部デバイスが正当であるか否かについては、例えば、上述したデバイス連携監視部１１５によって判定される。
【０１０５】
また、上述した実施形態では、任意モジュールは、ハードウェアモジュールである外部デバイスであるものとして説明したが、これに限定されるものではない。例えば、任意モジュールは、ユーザによって任意にダウンロードされるプログラム（ソフトウェアモジュール）であってもよい。
【０１０６】
さらに、上述した実施形態では、特に触れていないが、アクセス制御部１１９は、外部デバイスがシリアル接続されるシリアルデバイスである場合に、通信機能ライブラリへのアクセス要求を許可しなくてもよい。
【０１０７】
また、上述した実施形態では、デバイス連携監視部１１５は、通信機能ライブラリ関数が通信アプリケーションプログラムの実行ファイルに含まれている場合にのみ、通信アプリケーションプログラムと外部デバイスとの連携状況を監視するが、これに限定されるものではなく、通信アプリケーションプログラムと外部デバイスとの連携状況を常に監視していてもよい。
【図面の簡単な説明】
【０１０８】
【図１】本発明の一実施形態に係る通信システムを示す図である。
【図２】本発明の一実施形態に係る通信端末１０を示すブロック図である。
【図３】本発明の一実施形態に係る実行ファイルの一例を示す図である。
【図４】本発明の一実施形態に係るプロセス情報の一例を示す図である。
【図５】本発明の一実施形態に係るアクセス制御規則テーブルの一例を示す図である。
【図６】本発明の一実施形態に係る通信端末の動作を示すフロー図である（その１）。
【図７】本発明の一実施形態に係る通信端末の動作を示すフロー図である（その２）。
【符号の説明】
【０１０９】
１０・・・通信端末、２０・・・アクセスポイント、３０・・・ＩＳＰ網、４０・・・ＩＰ電話網、５０・・・公衆電話網、６０・・・ＩＰ電話プラットホーム、６１・・・呼制御サーバ、６２・・・課金サーバ、７０・・・インターネット、８０・・・ソフトウェアベンダ、１１１・・・通信アプリケーション格納部、１１２・・・通信アプリケーション実行部、１１３・・・通信機能ライブラリ格納部、１１４・・・カーネル機能部、１１５・・・デバイス連携監視部、１１６・・・フック関数実行部、１１７・・・外部アクセスフック関数実行部、１１８・・・通信機能フック関数実行部、１１９・・・アクセス制御部、１２０・・・外部Ｉ／Ｆ部、１２１・・・認証機能実行部、１２２・・・監視機能実行部、１２４・・・通信機能実行部
【図１】
0004619280.tif 000002
【図２】
0004619280.tif 000003
【図３】
0004619280.tif 000004
【図４】
0004619280.tif 000005
【図５】
0004619280.tif 000006
【図６】
0004619280.tif 000007
【図７】
0004619280.tif 000008