(57)【要約】【課題】  通信装置にネットワークを介した外部装置との通信を行わせる際の動作を安定させ、またセキュリティを向上させる。【解決手段】  ネットワークへのアクセスポイント２０を介して外部装置４０と通信可能な通信装置１０において、管理サービスモジュール１０３により、認証アプリケーション１０２による認証処理が成功している状態では、データリンク層より上位の階層のプロトコルを用いるプロトコルスタック１１１及び上位アプリケーション１０１による通信を許可し（Ｓ１０９，Ｓ１１１）、認証アプリケーション１０２による認証処理が成功していない状態では、プロトコルスタック１１１及び上位アプリケーション１０１による通信をしない（Ｓ１１８，Ｓ１１９）ようにした。【選択図】        図５
2007258816.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して外部装置と通信可能な通信装置であって、
物理インタフェースが前記ネットワークへ接続してデータ転送を行う許可を得るための認証処理を行う認証手段と、
前記認証手段による認証処理が成功している状態では、当該通信装置におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を許可し、前記認証処理が成功していない状態では、当該通信装置におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を禁止する制御を行う通信制御手段とを有することを特徴とする通信装置。
【請求項２】
請求項１記載の通信装置であって、
前記物理インタフェースのドライバに、前記認証手段による認証処理の状態を示す認証状態情報を前記通信制御手段に対して通知する手段を設けたことを特徴とする通信装置。
【請求項３】
請求項１記載の通信装置であって、
前記物理インタフェースのドライバに、前記認証手段による認証処理の状態を示す認証状態情報を記憶する手段を設け、
前記通信制御手段に、前記ドライバから、前記認証状態情報を取得する手段を設けたことを特徴とする通信装置。
【請求項４】
請求項２又は３記載の通信装置であって、
前記通信制御手段に、前記認証状態情報に基づいて、前記データリンク層より上位の階層のプロトコルを用いた通信を行うためのモジュールの起動及び停止を行う手段を設けたことを特徴とする通信装置。
【請求項５】
請求項３記載の通信装置であって、
前記データリンク層より上位の階層のプロトコルを用いた通信を行うためのモジュールに、前記ドライバから、前記認証状態情報を取得する手段を設けたことを特徴とする通信装置。
【請求項６】
請求項５記載の通信装置であって、
前記データリンク層より上位のプロトコルを用いた通信を行うためのモジュールに、前記ドライバから取得した前記認証状態情報に基づいて自身の機能による通信の可否を制御する手段を設けたことを特徴とする通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
ネットワークを介して外部装置と通信可能な通信装置に関し、特に、外部装置と通信を行う場合に、物理インタフェースがネットワークへ接続する際にデータ転送を行う許可を得るための認証処理を行う通信装置に関する。
【背景技術】
【０００２】
以前から、ネットワークを介した通信を行う場合において、暗号化、認証などのセキュリティのニーズはあったが、インターネットの普及によりますますその必要性が高くなっている。これは、インターネットをはじめとしたネットワークはそれなりの知識がある人であれば誰でも盗聴が可能であり、データの改ざんなども比較的に容易におこなうことができるためである。
【０００３】
このような背景のもと、従来は専用機や特注レベルでしかありえなかったセキュリティ搭載製品も、パーソナルコンピューター（ＰＣ）上のソフトウェア、画像処理装置、通信装置などに大きく広がり、一般のオフィスでも使われるようになってきた。
ところで、インターネットなどのネットワークに接続可能な機器において、ネットワークやその関連するプログラムが階層化された構造をとる場合、一般的に、暗号化、認証といった処理がＯＳＩ（Open Systems Interconnection）参照モデルにおける各階層によってそれぞれの目的で行われる。
【０００４】
例えば、ＬＡＮ（ローカルエリアネットワーク）上におけるＴＣＰ／ＩＰ（Transmission Control Protocol / Internet Protocol）通信をＯＳＩ参照モデルで説明すると、レイヤ１の物理層からレイヤ２のデータリンク層までがイーサネット（登録商標）や無線ＬＡＮなどのインタフェイスカード部分にあたり、それぞれＰＨＹ（物理）通信規定、ＭＡＣ（Media Access Control）プロトコルを規定している。同様にレイヤ３のネットワーク層がＩＰプロトコル、レイヤ４のトランスポート層がＴＣＰプロトコルを規定しており、それより上位がアプリケーション層となっている。
【０００５】
暗号化、認証はそれぞれの階層で行うことが可能であり、最上位のアプリケーション上ではコンテンツデータの暗号化、ＴＣＰプロトコル上ではＳＳＬ（セキュア・ソケット・レイヤー）、ＩＰプロトコル上ではＩＰＳｅｃ（セキュリティー・アーキテクチャー・フォー・インターネット・プロトコル）、そしてＭＡＣプロトコルではＭＡＣ層を含むデータ通信まるごとを暗号化する技術が存在する。
それぞれの暗号化にはその暗号鍵を共有するための相互の認証が必要となるが、これもそれぞれの暗号方式で様々な実装をすることができる。
【０００６】
そして、上記のように通信装置がネットワークを介して外部装置と通信をする際に、種々の階層で認証処理を行うようにする場合、その認証処理の進行に応じて、装置の動作を管理することが重要である。そして、このような技術に関連する文献としては、例えば特許文献１及び特許文献２が知られている。
特許文献１には、高速なＩＰ接続処理を実現するため、ユーザ認証の成功検出後に、起動されたＩＰ処理部又は高速ＩＰ接続処理部が直ちにネットワークにルータ広告メッセージを要求し、その応答として受信したルータ広告メッセージにより、以降のＩＰ接続処理を早期に開始させるようにする技術が開示されている。
特許文献２には、無線情報通信端末装置において、データリンク層が使用可能な無線領域を検出したり、通信時の認証や加入等の手順に合格したりした場合にその旨を表示するようにする技術が記載されている。
【特許文献１】特開２００４−２５４２７７号公報
【特許文献２】特開２００２−３４０６６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
ところで、上記のような階層化されたプロトコルを用いて通信を行う場合、インタフェースカードがネットワークに接続するためになんらかの認証プロトコルで認証をうける際、その認証処理が成功していない状態では本質的にそれより上位のプロトコルが通信を行うべきではない。認証された際に暗号化のための鍵を接続先（有線であればハブ、無線ＬＡＮであればアクセスポイント等）と共有して暗号化通信を行う場合には、認証される以前に上位プロトコルが通信を試みても通信がまったく行えないし、また暗号化が行われなくても認証される以前はハブやアクセスポイントより先にデータが出ていけないため、通信プロトコルアドレス取得や通信プロトコルアドレス重複の検出などができない、といった弊害が考えられる。この点は、一旦認証処理が成功した後、通信が切断され、再度認証処理が必要になった状態でも、同様である。
【０００８】
一方、上記の特許文献１及び２に記載の技術は、このような弊害を意識した技術ではないため、このような弊害を十分に解消できるものではない。
この発明は、このような弊害を防止し、通信装置にネットワークを介した外部装置との通信を行わせる際の動作を安定させ、またセキュリティを向上させることを目的とする。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、この発明の通信装置は、ネットワークを介して外部装置と通信可能な通信装置において、物理インタフェースが上記ネットワークへ接続してデータ転送を行う許可を得るための認証処理を行う認証手段と、上記認証手段による認証処理が成功している状態では、その通信装置におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を許可し、上記認証処理が成功していない状態では、その通信装置におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を禁止する制御を行う通信制御手段とを設けたものである。
【００１０】
このような通信装置において、上記物理インタフェースのドライバに、上記認証手段による認証処理の状態を示す認証状態情報を上記通信制御手段に対して通知する手段を設けるとよい。
あるいは、上記物理インタフェースのドライバに、上記認証手段による認証処理の状態を示す認証状態情報を記憶する手段を設け、上記通信制御手段に、上記ドライバから、上記認証状態情報を取得する手段を設けるとよい。
【００１１】
さらに、上記通信制御手段に、上記認証状態情報に基づいて、上記データリンク層より上位の階層のプロトコルを用いた通信を行うためのモジュールの起動及び停止を行う手段を設けるとよい。
あるいは、上記データリンク層より上位の階層のプロトコルを用いた通信を行うためのモジュールに、上記ドライバから、上記認証状態情報を取得する手段を設けるとよい。
さらに、上記データリンク層より上位のプロトコルを用いた通信を行うためのモジュールに、上記ドライバから取得した上記認証状態情報に基づいて自身の機能による通信の可否を制御する手段を設けるとよい。
【発明の効果】
【００１２】
以上のようなこの発明の通信装置によれば、通信装置にネットワークを介した外部装置との通信を行わせる際の動作を安定させ、またセキュリティを向上させることができる。
【発明を実施するための最良の形態】
【００１３】
以下、この発明を実施するための最良の形態を図面に基づいて説明する。
〔第１の実施形態：図１乃至図４〕
まず、この発明の通信装置の第１の実施形態について説明する。図１は、その通信装置のハードウェア構成を示すブロック図である。
この図に示すように、通信装置１０は、ＣＰＵ１１，ＲＯＭ１２，ＲＡＭ１３，表示部１４，操作部１５，通信Ｉ／Ｆ（インタフェース）１６を備え、それらがシステムバス１７により接続されている。
【００１４】
そして、ＣＰＵ１１は通信装置１０全体を統括制御する制御手段であり、ＲＯＭ１２に記録された種々のプログラムを実行することにより、認証手段や通信制御手段を始めとする通信装置１０の種々の機能を実現する。
ＲＯＭ１２は不揮発性の記憶手段であり、ＣＰＵ１１が実行するプログラムや固定的なパラメータ等を記憶する。ＲＯＭ１２を書き換え可能な記憶手段として構成し、これらのデータをアップデートできるようにしてもよい。
ＲＡＭ１３は、一時的に使用するデータを記憶したり、ＣＰＵ１１のワークメモリとして使用したりする記憶手段である。
【００１５】
表示部１４は、液晶ディスプレイなどの表示器を備え、ＣＰＵ１１の制御に従い、通信装置１０の動作状態や設定内容、ユーザからの操作を受け付けるためのＧＵＩ（グラフィカル・ユーザ・インタフェース）、あるいはユーザへのメッセージ等を表示する表示手段である。
操作部１５は、ユーザによる操作を受け付けるためのキーやボタンを備えた操作手段である。
【００１６】
通信Ｉ／Ｆ１６は、通信装置１０を何らかの通信経路を介して他の装置と通信可能にするためのインタフェースであり、例えば、ネットワークに接続してＩＥＥＥ（Institute of Electrical and Electronic Engineers）８０２．３方式（イーサネット（登録商標）方式）の有線通信やＩＥＥＥ８０２．１１方式の無線通信を行うためのネットワークインタフェースとすることができる。より具体的には、ネットワークインタフェースカードを採用することが考えられる。
【００１７】
そして、通信装置１０が他の装置と通信を行う場合、この通信Ｉ／Ｆ１６とＣＰＵ１１とが通信手段として機能する。なお、通信Ｉ／Ｆ１６は、通信経路の規格や使用する通信プロトコル等に応じて適切なものを用意する。通信経路は、有線／無線を問わず任意のものを利用可能であるし、複数の規格に対応させて複数の通信Ｉ／Ｆ１６を設けることも当然可能である。
【００１８】
例えば、ＴＣＰ／ＩＰではなく、ＩＰＸ／ＳＰＸ（Internetwork Packet eXchange / Sequenced Packet eXchange）を用いるＮｅｔｗａｒｅを利用することもできる。
なお、ここでは、通信プロトコルとして、ＩＥＥＥ８０２．１１方式のセキュリティ拡張であるＩＥＥＥ８０２．１１ｉ方式（ＷＰＡ（Wi-Fi Protected Access）としても知られる）に、ＩＥＥＥ８０２．１Ｘ方式による認証実装を適用した通信プロトコルを採用し、通信装置１０を、外部装置との間でセキュリティを確保した通信が可能となるよう構成している。
【００１９】
また、通信装置１０に、その用途に応じて、種々の構成要素を設けてよいことは、もちろんである。例えば、通信装置１０を、プリント，ファクシミリ通信，スキャン，コピー，文書蓄積等の機能を備えたデジタル複合機（ＭＦＰ）として構成する場合には、プリントエンジンやスキャナエンジン、およびハードディスクドライブ（ＨＤＤ）等を設けることが考えられる。また、通信装置１０が、自身で表示を行ったり操作を受け付けたりする必要がない場合には、表示部１４や操作部１５を設けなくてもよい。
【００２０】
通信装置１０は、以上のような構成を有し、通信Ｉ／Ｆ１６を介してネットワークに接続可能であり、そのネットワークを介して外部装置と通信可能な装置である。そして、ここでは通信プロトコルとしてＩＥＥＥ８０２．１１ｉ方式を採用しているため、通信経路は無線であり、ネットワークに接続する際に直接の通信相手となる装置としては、例えば無線ＬＡＮのアクセスポイントが考えられる。
【００２１】
また、ＩＥＥＥ８０２．１Ｘ方式による認証実装を適用しているため、通信装置１０は、ネットワークを介した通信を開始するに際し、ＥＡＰｏＬ（Extended Authentication Protocol over LAN）を用いた認証処理を行ってアクセスポイントに接続許可を受ける必要がある。この処理は、ＭＡＣ（メディアアクセスコントロール）プロトコルを用いて直接の通信相手となる装置との間でデータリンク層の通信経路を確立する処理に該当する。
【００２２】
図２は、この認証処理の内容について説明するための図である。
この図に示す通り、ＥＡＰｏＬは、通信装置１０の直接の通信相手となるアクセスポイント２０が認証の仲介をして、通信装置１０から送信されてくる認証情報を認証サーバ３０に送信して認証を行わせ、この認証が成功した場合に、通信装置１０からアクセスポイント２０への接続が許可され、通信装置１０がアクセスポイント２０を介してネットワーク上の外部装置４０との間のデータ通信を行うことができるようにするものである。
【００２３】
そして、この認証に係る通信の際には、チャレンジレスポンス方式のパスワード認証や、公開鍵基盤（ＰＫＩ）を用いた公開鍵暗号が利用され、通信装置１０と認証サーバ３０には、認証局５０が発行し、公開鍵暗号を用いた認証に使用する電子証明書を設定しておく。
また、接続許可後の通信を暗号化する場合には、認証完了時に、認証サーバ３０から通信装置１０に、暗号化に使用する鍵やその鍵の元となるデータを配布することも可能である。
【００２４】
次に、図３に、通信装置１０のソフトウェア構成を示す。
この図に示すように、通信装置１０は、ＣＰＵ１１に実行させるプログラムとして、上位アプリケーション１０１，認証アプリケーション１０２，管理サービスモジュール１０３，ＯＳ（オペレーティングシステム）カーネル１１０とを備えている。また、通信Ｉ／Ｆ１６は、ハードウェアであるが、説明を分かり易くするために図３にも示している。
【００２５】
上記のうちＯＳカーネル１１０は、プロトコルスタック１１１と、デバイスドライバ１１２と、ドライバインタフェース１１３とを含む。
そして、プロトコルスタック１１１は、ＴＣＰ／ＩＰやＵＤＰ（User Datagram Protocol）／ＩＰといった、図４に示すようなＯＳＩ参照モデルの第４層（トランスポート層）及び第３層（ネットワーク層）に係る通信機能を実現するためのプログラムモジュールである。
【００２６】
デバイスドライバ１１２は、第１層（物理層）である通信Ｉ／Ｆ１６の動作を制御し、第２層（データリンク層）に関する通信機能を実現するためのプログラムモジュールであり、通信Ｉ／Ｆ１６毎にこれと対応して設けられる。
ドライバインターフェイス１１３は、デバイスドライバ１１２を利用するプロトコルスタック１１１，認証アプリケーション１０２，管理サービスモジュール１０３等から、デバイスドライバ１１２の種類あるいはデバイスドライバ１１２が制御する通信Ｉ／Ｆ１６の種類によらず同一のインタフェースでデータ送受、制御、監視などが可能となるように、デバイスドライバ１１２のインタフェースを統一するためのプログラムモジュールである。また、デバイスドライバ１１２には、直接の通信相手となる装置との間でデータリンク層の通信経路が確立されているか否かを示す情報を管理サービスモジュール１０３に渡す機能を持たせているが、この点については後述する。
【００２７】
また、上位アプリケーション１０１は、ＯＳＩ参照モデルの第７層（アプリケーション層），第６層（プレゼンテーション層），及び第５層（セッション層）に係る通信機能を実現するためのプログラムモジュール群、あるいはこれらの通信機能を利用して種々の機能を実現するためのプログラムモジュール群である。
【００２８】
例えば、ユーザの操作に従ってファイルを外部装置との間で送受信する機能や、外部装置からの要求に応じて何らかの動作を行って応答を返す機能、外部装置のアプリケーションとの間でメッセージを送受信する機能、外部装置に対して通信装置１０の状態を通知する機能等を実現するためのプログラムを上位アプリケーション１０１として設けることが考えられる。また、ユーザの指示に従ってホームページを閲覧するブラウザや電子メール送受信用プログラム等を設けることも考えられる。
さらに、上位アプリケーション１０１を、通信相手（アクセスポイント２０のような、ネットワーク上で直結された装置とは限らない）を認証したり、通信内容を暗号化する等のセキュリティプログラムと組み合わせて動作させることも考えられる。
【００２９】
認証アプリケーション１０２は、デバイスドライバ１１２及び通信Ｉ／Ｆ１６により、ネットワーク上で通信装置１０と直結される外部装置と通信する際、その外部装置との間でデータリンク層の通信経路を確立するために必要な認証処理、すなわち物理インタフェースがネットワークへ接続してデータ転送を行う許可を得るための認証処理を行う認証手段の機能を実現するためのプログラムモジュールである。
【００３０】
この認証処理の方式は、通信Ｉ／Ｆ１６やデバイスドライバ１１２が通信に使用する通信プロトコルによって異なるが、適切な方式に対応した認証アプリケーション１０２を用意しておくものとする。例えば、ここで採用しているＩＥＥＥ８０２．１Ｘ方式の認証実装の場合、上述のようなＥＡＰｏＬを用いた認証を行うための認証アプリケーション１０２を用意しておけばよい。なお、異なる方式に対応した認証アプリケーション１０２を複数用意しておき、使用する通信プロトコルに応じて必要な認証アプリケーション１０２を起動して認証処理を行わせるようにしてもよい。
【００３１】
管理サービスモジュール１０３は、通信に使用する通信Ｉ／Ｆ１６やプロトコルの種類に応じて、データリンク層の通信経路確立のために必要な認証アプリケーション１０２を起動する機能を実現するためのプログラムモジュールである。
また、管理サービスモジュール１０３は、デバイスドライバ１１２及び通信Ｉ／Ｆ１６を介した通信の状態を把握し、その状態に応じて、プロトコルスタック１１１及び上位アプリケーション１０１の起動、停止及び設定を制御する通信制御手段の機能を実現するためのプログラムモジュールでもある。
この管理サービスモジュール１０３により実現される機能が、この実施形態において特徴的な機能であるので、以下、この点について説明する。
【００３２】
図５は、通信装置１０の起動時の動作シーケンスを、管理サービスモジュール１０３の機能に関連する部分を中心に示すシーケンス図である。ただし、ドライバインタフェース１１３の図示は省略した。また、以降の説明及び図面においては、説明を簡単にするため、ＣＰＵ１１が図３に示したソフトウェアを実行することによって行う処理は、そのソフトウェアが行う動作であるとして説明することにする。
【００３３】
通信装置１０においては、電源が投入されると、まずＯＳカーネル１１０及び管理サービスモジュール１０３が自動的に起動する。
そしてまず、管理サービスモジュール１０３は通信装置１０が備える通信Ｉ／Ｆ１６を検出する（Ｓ１０１）。そして、検出した通信Ｉ／Ｆ１６の種類に応じて、その通信Ｉ／Ｆ１６によりアクセスポイント２０との間でデータリンク層の通信経路を確立するために必要な認証処理を行うための認証アプリケーション１０２を起動する（Ｓ１０２）。
【００３４】
すると、起動された認証アプリケーション１０２は、デバイスドライバ１１２にアクセスポイント２０との間で認証通信を実行させ、アクセスポイント２０に対して認証情報を送信させて、認証結果を受け取る（Ｓ１０３〜Ｓ１０６）。ここでは、認証は成功したものとし、このことにより、通信装置１０が、直接の通信相手となるアクセスポイント２０を介して、ネットワークに接続されている任意の相手と通信可能となる。
【００３５】
なお、デバイスドライバ１１２には、認証アプリケーション１０２による認証が成功している状態か否かの情報と、通信Ｉ／Ｆ１６と直接の通信相手となる装置（ここではアクセスポイント２０）との間で物理的な接続が保たれているか否かの情報を取得し、これらの情報に基づき、直接の通信相手となる装置との間で認証処理が完了してデータリンク層の通信経路が確立されているか否かを示す情報を、認証状態情報として管理する機能を持たせている。
【００３６】
認証成否の情報は、認証アプリケーション１０２からデバイスドライバ１１２に通知させるようにしても、デバイスドライバ１１２が通信Ｉ／Ｆ１６を介して送受信するデータ（特に認証アプリケーション１０２が認証時の通信により送受信するデータ）を監視して、その内容から取得するようにしてもよい。
【００３７】
また、物理的な接続に関する情報は、有線通信であれば、ケーブルが接続されているか否か、無線通信であれば、通信相手から所定レベル以上の無線信号を受信できているか否かを示すものであるが、これは、通信Ｉ／Ｆ１６が検出できるため、デバイスドライバ１１２が通信Ｉ／Ｆ１６の制御動作の一環として、通信Ｉ／Ｆ１６から取得できる。
そして、デバイスドライバ１１２は、通信相手との間で物理的な接続が保たれ、かつ認証アプリケーション１０２による認証が成功している状態の場合に、データリンク層の通信経路が確立されていると判断する。
【００３８】
以上のようなデバイスドライバ１１２は、管理サービスモジュール１０３から認証状態情報の問い合わせがあると、管理している認証状態情報を管理サービスモジュール１０３に返す。
また、管理サービスモジュール１０３は、定期的にこの問い合わせを行い、デバイスドライバ１１２は、ステップＳ１０６において認証ＯＫを認証アプリケーション１０２に返した後は、認証が成功している状態であると把握しているため、管理サービスモジュール１０３からの問い合わせに対して、認証状態ＯＫの応答を返す（Ｓ１０７，Ｓ１０８）。
【００３９】
なお、管理サービスモジュール１０３が定期的に認証状態情報を問い合わせることに代えて、認証状態が変化した場合に、デバイスドライバ１１２が変化後の状態を管理サービスモジュール１０３に通知するようにしてもよい。
いずれにせよ、管理サービスモジュール１０３は、デバイスドライバ１１２から、認証状態がＯＫである旨の情報を取得すると、データリンク層より上位の階層のプロトコルを用いた通信を行えるようにすべく、プロトコルスタック１１１の初期化を行う（Ｓ１０９）。
【００４０】
この初期化は、プロトコルスタック１１１に、通信の実行に必要なＩＰアドレス等のアドレスを設定したり、アドレスの設定に必要なアプリケーションを起動し、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバ等からアドレスを取得させてプロトコルスタック１１１に設定させたりする処理を含む。
そして、初期化が完了してプロトコルスタック１１１が外部装置４０との通信に使用可能な状態となると、プロトコルスタック１１１は管理サービスモジュール１０３に初期化完了通知を返す（Ｓ１１０）。
【００４１】
そして、管理サービスモジュール１０３は、この通知を受けると、上位アプリケーション１０１を起動する（Ｓ１１１）。この時点では、通信装置１０はアクセスポイント２０に認証を受け、その先の外部装置４０との間で通信が可能な状態になっているから、起動された上位アプリケーション１０１は、必要に応じてプロトコルスタック１１１に通信を要求し、デバイスドライバ１１２を介して外部装置４０とデータの送受信を行うことができる（Ｓ１１２〜Ｓ１１４）。
【００４２】
ところで、通信Ｉ／Ｆ１６とアクセスポイント２０とが無線通信を行う場合、電波状態が悪くなったり、通信装置１０やアクセスポイント２０の移動により互いの距離が離れたりすると、通信相手からの無線信号が所定レベル以下になり、一旦確立された通信経路が途切れてしまうことも考えられる。有線通信であっても、コネクタの取り外しや脱落等により、同様な自体が生じることが考えられる。
そして、この場合には、デバイスドライバ１１２が通信Ｉ／Ｆ１６のハードウェアを介して通信経路の遮断を検出すると（Ｓ１１５）、管理サービスモジュール１０３からの認証状態情報問い合わせに対し、認証状態ＮＧを返すようになる（Ｓ１１６，Ｓ１１７）。
【００４３】
そして、管理サービスモジュール１０３は、デバイスドライバ１１２から、認証状態がＮＧである旨の情報を取得すると、この状態では外部装置４０との間の通信が行えないと認識し、上位アプリケーション１０１を終了させる（Ｓ１１８）と共に、プロトコルスタック１１１も停止させて（Ｓ１１９）、外部に対して通信を要求しないようにする。
【００４４】
なお、上位アプリケーション１０１の「終了」は、必ずしもプログラムの実行自体を終了しなくても、通信に関する動作の停止及び設定のクリアを行えばよい。サーバ系のアプリケーションで、クライアント認証を行っている場合には、その認証結果もクリアし、通信再開時に再度認証を行うようにする。また、ユーザに対して呈示中のＧＵＩ等は、通信経路の遮断時に急に消去してしまうと不自然な動作になるため、元のまま残しておくことが好ましい。
また、図示はしていないが、その後通信Ｉ／Ｆ１６とアクセスポイント２０との間の物理的接続が回復した場合、ステップＳ１０３以降と同様な手順により、通信経路の確立、プロトコルスタック１１１の初期化、上位アプリケーション１０１の起動等を行う。
【００４５】
次に、図６に、ＣＰＵ１１が管理サービスモジュール１０３を実行することにより行う処理のフローチャートを示す。
通信装置１０の電源が投入されると、所要の初期処理の終了後、管理サービスモジュール１０３を実行することにより、図６のフローチャートに示す処理を開始する。
そして、まずステップＳ１１で、通信装置１０が備える通信Ｉ／Ｆ１６を検出し、ステップＳ１２で、検出した通信Ｉ／Ｆ１６の種類に応じて、その通信Ｉ／Ｆ１６によりアクセスポイント２０との間でデータリンク層の通信経路を確立するために必要な認証処理を行うための認証アプリケーション１０２を起動する。
【００４６】
その後、ステップＳ１３でデバイスドライバ１１２に対して認証状態情報の問い合わせを行い、応答として認証状態ＯＫを受信するまでステップＳ１４からステップＳ１３に戻ってこれを繰り返す。なお、問い合わせを行わなくてもデバイスドライバ１１２から認証状態情報を通知してくる場合には、ステップＳ１３の処理を行わず、ステップＳ１４で認証状態ＯＫを受信するまで待機すればよい。
そして、認証状態ＯＫを受信すると、ステップＳ１４からステップＳ１５及びＳ１６に進み、プロトコルスタック１１１の初期化と上位アプリケーション１０１の起動を行う。
【００４７】
その後、ステップＳ１７で、ステップＳ１３の場合と同様、デバイスドライバ１１２に対して認証状態情報の問い合わせを行い、応答として認証状態ＮＧを受信するまでステップＳ１８からステップＳ１７に戻ってこれを繰り返す。
そして、認証状態ＮＧを受信すると、ステップＳ１８からステップＳ１９及びＳ２０に進み、上位アプリケーション１０１の終了とプロトコルスタック１１１の停止を行う。
ステップＳ２０の後は、ステップＳ１３に戻って処理を繰り返す。
【００４８】
通信装置１０においては、ＣＰＵ１１が以上のような処理を行うことにより、認証アプリケーション１０２による認証処理が成功している状態では、通信装置１０におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を許可し、認証処理が成功していない状態では、通信装置１０におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を禁止する制御を行い、全体として、図５に示したような動作を実現している。
【００４９】
そして、このことにより、データリンク層以下の通信経路が確立されていない状態で上位レイヤの上位の階層のプロトコルを用いた通信が実行されないようにすることができる。
従って、データリンク層以下の通信経路が確立されていない状態でプロトコルスタック１１１がアドレス自動取得処理のために初期化作業を開始し、アドレスが取得できずタイムアウトとなり、再びリトライ処理によりアドレス自動取得処理が繰り返されるというような不具合を回避することができ、通信プロトコルの動作を安定させることができる。
【００５０】
また、通信の暗号化を想定していたにも関わらず、暗号化のための鍵が通信装置１０とアクセスポイント２０との間で共有される前にプロトコルスタック１１１がデータの送信を開始し、外部に平文が送出されてしまうような事態を防止し、セキュリティを向上させることができる。
また、通信の実行中に通信経路が遮断された場合に、タイムアウトやリトライのような異常処理に頼ることなく上位アプリケーション１０１の終了やプロトコルスタック１１１の停止を行うことができるため、通信装置１０を、速やかに通信経路の遮断に対応した動作に移行させることができる。また、異常処理を行わずに済むため、装置の制御を安定して行うことができる。
【００５１】
なお、認証状態情報をデバイスドライバ１１２から管理サービスモジュール１０３に伝達する動作を、デバイスドライバ１１２が認証状態情報の変化を検出したとき能動的に管理サービスモジュール１０３に通知して行うようにすれば、管理サービスモジュール１０３は定期的な認証状態情報の問い合わせを行う必要がなく、管理サービスモジュール１０３における処理負荷を軽減することができる。
【００５２】
また、デバイスドライバ１１２が認証状態情報を管理しておき、管理サービスモジュール１０３からの問い合わせがあった場合にそれに応じてデバイスドライバ１１２が管理サービスモジュール１０３に通知するようにすれば、デバイスドライバ１１２が、認証状態情報の通知先を把握している必要がないため、ソフトウェア構成の変更に柔軟に対応することができる。また、多数の通信Ｉ／Ｆに対応したデバイスドライバが稼動し、これらが一斉にその状態を変化させた場合などでも、管理サービスモジュール１０３の処理能力の範囲内で順次処理を行うことができるので、過負荷による通信装置１０全体の処理遅延などを回避できる。
【００５３】
また、これらのどちらの構成を採用する場合でも、特に前者の構成を採用する場合には、通信装置１０で使用するデバイスドライバ１１２全てに、同じ種類のコマンドやメッセージ等により認証状態情報を管理サービスモジュール１０３に伝達する機能を設けておくとよい。このようにすれば、管理サービスモジュール１０３は、プロトコルスタック１１１や上位アプリケーション１０１による通信の制御を、これらモジュールが通信に使用する通信Ｉ／Ｆ１６やその通信のための認証を行う認証アプリケーション１０２の種類を意識せずに行うことができる。
【００５４】
〔第２の実施形態：図７乃至図９〕
次に、この発明の通信装置の第２の実施形態について説明する。
この第２の実施形態の通信装置は、ハードウェア構成及びソフトウェア構成は、第１の実施形態の場合と同様であり、プロトコルスタック１１１を最初に初期化した後は、プロトコルスタック１１１に、自身の通信可否を制御させるようにした点が第１の実施形態と異なるのみである。そこで、この相違点を中心に説明する。また、第１の実施形態の場合と対応する構成要素には、同じ符号を用いる。
【００５５】
図７は、通信装置１０の起動時の動作シーケンスを示す、図５と対応するシーケンス図である。
この実施形態の通信装置１０においても、管理サービスモジュール１０３から上位アプリケーション１０１に起動指示を行うまでの処理（Ｓ１２１〜Ｓ１３１）は、第１の実施形態で図５のステップＳ１０１〜Ｓ１１１に示した処理と同様である。
【００５６】
しかし、プロトコルスタック１１１は、ステップＳ１３０で管理サービスモジュール１０３に初期化完了を通知した後、通信を行う前に、デバイスドライバ１１２に対して認証状態情報の問い合わせを行う。そして、デバイスドライバ１１２は、ステップＳ１２６において認証ＯＫを認証アプリケーション１０２に返した後は、認証が成功している状態であると把握しているため、プロトコルスタック１１１からの問い合わせに対しても、認証状態ＯＫの応答を返す（Ｓ１３２，Ｓ１３３）。
【００５７】
そしてその後、プロトコルスタック１１１は、上位アプリケーション１０１からの要求に応じて外部装置４０との間の通信を行う状態に移行する。そして、通信装置１０は、全体として、上位アプリケーション１０１が、必要に応じてプロトコルスタック１１１に通信を要求し、デバイスドライバ１１２を介して外部装置４０とデータの送受信を行うことができる状態になる（Ｓ１３４〜Ｓ１３６）。
【００５８】
なお、その後も、プロトコルスタック１１１が定期的にデバイスドライバ１１２に対して認証状態情報の問い合わせを行う、認証状態が変化した場合にデバイスドライバ１１２が変化後の状態をプロトコルスタック１１１に通知する、等により、プロトコルスタック１１１は、常時認証状態情報の監視を続ける。
【００５９】
そして、デバイスドライバ１１２が通信Ｉ／Ｆ１６のハードウェアを介して通信経路の遮断を検出し（Ｓ１３７）、プロトコルスタック１１１に対して認証状態ＮＧの情報を報知すると（Ｓ１３８，Ｓ１３９）、プロトコルスタック１１１は、上位アプリケーション１０１からのデータ通信要求に対し、通信不可応答を返す状態に移行する（Ｓ１４０，Ｓ１４１）。
すなわち、プロトコルスタック１１１は、認証アプリケーション１０２による認証が成功している状態でなくなると、自身による通信機能を無効にし、データリンク層より上位の階層のプロトコルを用いた通信の実行を禁止する機能を有する。
【００６０】
また、図には示していないが、プロトコルスタック１１１は、その後も認証状態情報の監視を続け、デバイスドライバ１１２から認証状態ＯＫの情報を取得すると、再度、上位アプリケーション１０１からの要求に応じて外部装置４０との間の通信を行う状態に移行する。このとき、必要に応じて、ステップＳ１２９で行ったような初期化も行う。
【００６１】
従って、プロトコルスタック１１１は、認証アプリケーション１０２による認証が成功している状態では、データリンク層より上位の階層のプロトコルを用いた通信の実行を許可する機能も有する。
すなわち、この実施形態においては、管理サービスモジュール１０３だけでなく、プロトコルスタック１１１も、通信制御手段として機能する。
【００６２】
次に、図８に、ＣＰＵ１１が管理サービスモジュール１０３を実行することにより行う処理のフローチャートを示す。
通信装置１０の電源が投入されると、ＣＰＵ１１は、所要の初期処理の終了後、管理サービスモジュール１０３を実行することにより、図８のフローチャートに示す処理を開始する。
【００６３】
この図に示すステップＳ３１〜Ｓ３６の処理は、第１の実施形態で説明した図６のステップＳ１１〜Ｓ１６の処理と同様なものである。ただし、ステップＳ３６で上位アプリケーション１０１を起動した後は、認証状態情報の監視は行わず、処理を終了する。
この実施形態では、一旦プロトコルスタック１１１を初期化した後の通信の許可／禁止の制御を、プロトコルスタック１１１に行わせるようにしているためである。
【００６４】
また、図９に、ＣＰＵ１１がプロトコルスタック１１１を実行することにより行う処理のフローチャートを示す。
通信装置１０の電源が投入されると、ＣＰＵ１１は、所要の初期処理の終了後、プロトコルスタック１１１を実行することにより、図９のフローチャートに示す処理を開始する。
そして、ステップＳ４１で管理サービスモジュール１０３からの初期化指示があるまで待機し、この指示があると、ステップＳ４２でアドレス設定等の初期化処理を行う。
【００６５】
その後、ステップＳ４３でデバイスドライバ１１２に対して認証状態情報の問い合わせを行い、応答として認証状態ＯＫを受信すれば、ステップＳ４４からステップＳ４５に進んでデバイスドライバ１１２及び通信Ｉ／Ｆ１６を介した外部装置４０との間の通信に関する処理を行う。具体的には、上位アプリケーション１０１等からの通信要求に応じてデバイスドライバ１１２に通信メッセージの送信を行わせ、その応答のメッセージを受信した場合に通信要求元へ返すような処理を行う。
【００６６】
なお、問い合わせを行わなくてもデバイスドライバ１１２から認証状態情報を通知してくる場合には、ステップＳ４３の処理を行わず、単にステップＳ４４でその情報の内容について判断すればよい。また、通常は、ステップＳ４２での初期化の直後は、ステップＳ４４の判断はＹＥＳになると考えられる。
【００６７】
一方、ステップＳ４４で認証状態がＯＫでなければ、すなわちＮＧであれば、ステップＳ４６以下に進む。そして、認証状態がＮＧである間は、通信要求があった場合に通信不可応答を返す処理を繰り返す（Ｓ４６〜Ｓ４９）。問い合わせを行わなくてもデバイスドライバ１１２から認証状態情報を通知してくる場合にステップＳ４６の処理が不要なことは、ステップＳ４３の場合と同様である。
【００６８】
そして、ステップＳ４７で認証状態がＯＫになったと判断すると、ステップＳ４２に戻り、必要に応じてアドレス再設定等の初期化処理を行って、以下の処理を繰り返す。この状態では、ステップＳ４４の判断はＹＥＳになると考えられるから、再度認証状態がＮＧになるまでは、通信処理を続けることになる。
なお、このフローチャートに示す処理は、プロトコルスタック１１１が複数ある場合には、プロトコルスタック毎に行う。
【００６９】
通信装置１０においては、ＣＰＵ１１が以上のような図８及び図９に示した処理を行うことにより、認証アプリケーション１０２による認証処理が成功している状態では、通信装置１０におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を許可し、認証処理が成功していない状態では、通信装置１０におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を禁止する制御を行い、全体として、図７に示したような動作を実現している。
そして、このことにより、第１の実施形態の場合と同様な効果を得ることができる。
【００７０】
さらに、通信の許可／禁止の制御機能の一部を、通信機能を実現するためのプロトコルスタック１１１自身に持たせたことにより、全てを管理サービスモジュール１０３に行わせる場合と比べ、制御の即時応答性を向上させると共に、処理負荷の集中を防止し、認証の状態に応じた通信の許可／禁止の制御をより厳密に行うことができる。
【００７１】
〔第３の実施形態：図１０乃至図１２〕
次に、この発明の通信装置の第３の実施形態について説明する。
この第３の実施形態の通信装置も、ハードウェア構成及びソフトウェア構成は、第１の実施形態の場合と同様であり、上位アプリケーション１０１を起動した後は上位アプリケーション１０１に自身の通信可否を制御させるようにした点が、第１の実施形態と異なるのみである。そこで、この相違点を中心に説明する。また、第１の実施形態の場合と対応する構成要素には、同じ符号を用いる。
【００７２】
図１０は、通信装置１０の起動時の動作シーケンスを示す、図５と対応するシーケンス図である。
この実施形態の通信装置１０においても、管理サービスモジュール１０３から上位アプリケーション１０１に起動指示を行うまでの処理（Ｓ１５１〜Ｓ１６１）は、第１の実施形態で図５のステップＳ１０１〜Ｓ１１１に示した処理と同様である。
【００７３】
しかし、上位アプリケーション１０１は、ステップＳ１６１での起動指示に応じて起動した後、デバイスドライバ１１２に対して認証状態情報の問い合わせを行う。そして、デバイスドライバ１１２は、ステップＳ１５６において認証ＯＫを認証アプリケーション１０２に返した後は、認証が成功している状態であると把握しているため、上位アプリケーション１０１からの問い合わせに対して、認証状態ＯＫの応答を返す（Ｓ１６２，Ｓ１６３）。
【００７４】
そしてその後、上位アプリケーション１０１は、自身の通信に関する機能を有効にする（Ｓ１６４）。すなわち、プロトコルスタック１１１に対して外部へのデータ送信を要求する状態に移行する。そしてこのことにより、通信装置１０は、全体として、上位アプリケーション１０１が、必要に応じてプロトコルスタック１１１に通信を要求し、デバイスドライバ１１２を介して外部装置４０とデータの送受信を行うことができる状態になる（Ｓ１６５〜Ｓ１６７）。
【００７５】
なお、その後も、上位アプリケーション１０１が定期的にデバイスドライバ１１２に対して認証状態情報の問い合わせを行う、認証状態が変化した場合にデバイスドライバ１１２が変化後の状態を上位アプリケーション１０１に通知する、等により、上位アプリケーション１０１は、常時認証状態情報の監視を続ける。
【００７６】
そして、デバイスドライバ１１２が通信Ｉ／Ｆ１６のハードウェアを介して通信経路の遮断を検出し（Ｓ１６８）、上位アプリケーション１０１に対して認証状態ＮＧの情報を報知すると（Ｓ１６９，Ｓ１７０）、上位アプリケーション１０１は、通信を停止する（Ｓ１７１）。すなわち、プロトコルスタック１１１に対して外部へのデータ送信を要求しない状態に移行する。
【００７７】
この状態では、プロトコルスタック１１１は、上位アプリケーション１０１からデータ送信を要求されないため、通信に関する動作は行わないようになる。従って、上位アプリケーション１０１は、認証アプリケーション１０２による認証が成功している状態でなくなると、自身の通信に関する機能を無効にすることにより、データリンク層より上位の階層のプロトコルを用いた通信の実行を禁止する機能を有すると言える。
また、上位アプリケーション１０１は、通信を停止した場合には管理サービスモジュール１０３にその旨を通知し（Ｓ１７２）、通信が回復した場合にプロトコルスタック１１１を再起動できるようにする。
【００７８】
また、図には示していないが、上位アプリケーション１０１は、その後も認証状態情報の監視を続け、デバイスドライバ１１２から認証状態ＯＫの情報を取得すると、再度、必要に応じてプロトコルスタック１１１に通信を要求し、デバイスドライバ１１２を介して外部装置４０とデータの送受信を行うことができる状態に移行する。
また、管理サービスモジュール１０３も、上位アプリケーション１０１から通信を停止した旨の通知を受け取った場合には、認証情報の監視を再開し、デバイスドライバ１１２から認証状態ＯＫの情報を取得すると、必要に応じて再度プロトコルスタック１１１を初期化する。
【００７９】
従って、上位アプリケーション１０１及び管理サービスモジュール１０３は、認証アプリケーション１０２による認証が成功している状態では、データリンク層より上位の階層のプロトコルを用いた通信の実行を許可する機能も有する。
すなわち、この実施形態においては、管理サービスモジュール１０３だけでなく、上位アプリケーション１０１も、通信制御手段として機能する。
【００８０】
次に、図１１に、ＣＰＵ１１が管理サービスモジュール１０３を実行することにより行う処理のフローチャートを示す。
通信装置１０の電源が投入されると、ＣＰＵ１１は、所要の初期処理の終了後、管理サービスモジュール１０３を実行することにより、図１１のフローチャートに示す処理を開始する。
【００８１】
この図に示すステップＳ６１〜Ｓ６６の処理は、第１の実施形態で説明した図６のステップＳ１１〜Ｓ１６の処理と同様なものである。ただし、ステップＳ６６で上位アプリケーション１０１を起動した後は、ステップＳ６７で、上位アプリケーション１０１からの停止通知を監視する。そして、停止通知があると、ステップＳ６８以降に進む。
【００８２】
この部分の処理は、ステップＳ６３乃至Ｓ６５の処理と同様なものであり、デバイスドライバ１１２から認証状態ＯＫを受信した場合に、プロトコルスタック１１１を初期化するものである（Ｓ６８〜Ｓ７０）。ここでは、上位アプリケーション１０１は既に起動しているため、ステップＳ６６のような起動処理は必要ない。
そして、ステップＳ７０の後は、ステップＳ６７に戻って処理を繰り返す。
【００８３】
また、図１２に、ＣＰＵ１１がプロトコルスタック１１１を実行することにより行う処理のフローチャートを示す。なお、このフローチャートには、上位アプリケーション１０１の通信可否の制御に関する処理のみを示しており、上位アプリケーション１０１が提供するアプリケーションとしての機能に関する処理は、別途行うものとする。
通信装置１０の電源が投入され、図１１のステップＳ６６の処理により上位アプリケーション１０１が起動されると、ＣＰＵ１１は、上位アプリケーション１０１を実行することにより、図１１に示した処理とは別に、図１２のフローチャートに示す処理を開始する。
【００８４】
そして、ステップＳ８１で上位アプリケーション１０１が提供する機能を実現するために必要な初期化処理を行う。そして、ステップＳ８２でデバイスドライバ１１２に対して認証状態情報の問い合わせを行い、応答として認証状態ＯＫを受信すれば、ステップＳ８３からステップＳ８４に進み、自身の通信に関する機能を有効にする。すなわち、外部装置４０との間で通信を行う必要が生じた場合にプロトコルスタック１１１に対してその通信を行う要求を発する状態に移行する。
【００８５】
なお、問い合わせを行わなくてもデバイスドライバ１１２から認証状態情報を通知してくる場合には、ステップＳ８２の処理を行わず、単にステップＳ８３でその情報の内容について判断すればよい。また、通常は、ステップＳ８１での初期化の直後は、ステップＳ８３の判断はＹＥＳになると考えられる。
【００８６】
一方、ステップＳ８３で認証状態がＯＫでなければ、すなわちＮＧであれば、ステップＳ８５以下に進む。そして、ステップＳ８５で自身の通信に関する機能を停止する。すなわち、外部装置４０との間で通信を行う必要が生じた場合でもプロトコルスタック１１１に対してその通信を行う要求を発しない状態に移行する。また、ステップＳ８６で、管理サービスモジュール１０３にその旨を伝える停止通知を行う。
【００８７】
その後、ステップＳ８６及びＳ８７で、ステップＳ８３及びＳ８４の場合と同様、認証状態を監視し、ＯＫになると、ステップＳ８４に戻って処理を繰り返す。問い合わせを行わなくてもデバイスドライバ１１２から認証状態情報を通知してくる場合に、ステップＳ８７の処理を行わなくてよいことは、ステップＳ８２の場合と同様である。
なお、このフローチャートに示す処理は、上位アプリケーション１０１が複数ある場合には、上位アプリケーション１０１毎に行う。
【００８８】
通信装置１０においては、ＣＰＵ１１が以上のような図１１及び図１２に示した処理を行うことにより、認証アプリケーション１０２による認証処理が成功している状態では、通信装置１０におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を許可し、認証処理が成功していない状態では、通信装置１０におけるデータリンク層より上位の階層のプロトコルを用いた通信の実行を禁止する制御を行い、全体として、図１０に示したような動作を実現している。
そして、このことにより、第１の実施形態の場合と同様な効果を得ることができる。
【００８９】
さらに、通信の許可／禁止の制御機能の一部を、通信要求を行う上位アプリケーション１０１に持たせたことにより、全てを管理サービスモジュール１０３に行わせる場合と比べ、制御の即時応答性を向上させると共に、処理負荷の集中を防止し、認証の状態に応じた通信の許可／禁止の制御をより厳密に行うことができる。
【００９０】
〔変形例〕
以上で実施形態の説明を終了するが、装置のハードウェア構成、ソフトウェア構成、具体的な処理内容、通信に使用するプロトコル等が、上述の実施形態で説明したものに限られないことはもちろんである。
例えば、第３の実施形態において、上位アプリケーション１０１が、認証状態がＮＧの間は自身の通信に関する機能を停止する例について説明したが、認証状態がＮＧになった場合に、自身を終了させ、その際にその旨を管理サービスモジュール１０３に通知するようにしてもよい。この場合、管理サービスモジュール１０３が認証状態を監視し、認証状態がＯＫに戻った場合に必要に応じて上位アプリケーション１０１を再起動するようにすればよい。
【００９１】
また、第２の実施形態で説明したプロトコルスタック１１１や、第３の実施形態で説明した上位アプリケーション１０１は、起動している状態でも、認証状態がＯＫでなければ、通信を行わない。そこで、起動管理や初期化タイミング管理のために管理サービスモジュール１０３を用いず、プロトコルスタック１１１に初期化タイミングを自律管理させたり、上位アプリケーション１０１を任意のタイミングで起動してしまい、通信の開始を上位アプリケーション１０１に自律管理させるようにすることも考えられる。
【００９２】
その他、この発明を適用する通信装置の具体例は、ＭＦＰを始めとする画像処理装置には限られず、携帯情報端末，携帯電話装置，ネットワーク家電，自動販売機，医療機器，電源装置，空調システム，ガス・水道・電気等の計量システム，汎用コンピュータ，自動車，航空機等の電子装置にネットワークを介して外部装置と通信する通信機能を設けた、種々の通信装置が考えられる。
また、上述した各実施形態及び変形例の内容は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
【産業上の利用可能性】
【００９３】
以上説明してきたように、この発明の通信装置によれば、通信装置にネットワークを介した外部装置との通信を行わせる際の動作を安定させ、またセキュリティを向上させることができる。
従って、この発明を適用することにより、通信装置の安定性及びセキュリティを向上させることができる。
【図面の簡単な説明】
【００９４】
【図１】この発明の第１の実施形態の通信装置のハードウェア構成を示すブロック図である。
【図２】図１に示した通信装置が行うＥＡＰｏＬを用いた認証処理について説明するための図である。
【図３】図１に示した通信装置におけるソフトウェア構成を示す図である。
【図４】図３に示したソフトウェアとＯＳＩ参照モデルとの関係について説明するための図である。
【図５】図１に示した通信装置の起動時の動作シーケンスを、管理サービスモジュールの機能に関連する部分を中心に示すシーケンス図である。
【００９５】
【図６】図１に示した通信装置のＣＰＵが管理サービスモジュールを実行することにより行う処理のフローチャートである。
【図７】この発明の第２の実施形態の通信装置の起動時の動作シーケンスを示す、図５と対応する図である。
【図８】その通信装置においてＣＰＵが管理サービスモジュールを実行することにより行う処理のフローチャートである。
【図９】同じくＣＰＵがプロトコルスタックを実行することにより行う処理のフローチャートである。
【図１０】この発明の第３の実施形態の通信装置の起動時の動作シーケンスを示す、図５と対応する図である。
【図１１】その通信装置においてＣＰＵが管理サービスモジュールを実行することにより行う処理のフローチャートである。
【図１２】同じくＣＰＵがプロトコルスタックを実行することにより行う処理のフローチャートである。
【符号の説明】
【００９６】
１０：通信装置、１１：ＣＰＵ、１２：ＲＯＭ、１３：ＲＡＭ、１４：表示部
１５：操作部、１６：通信Ｉ／Ｆ、１７：システムバス、２０：アクセスポイント、
３０：認証サーバ、４０：外部装置、５０：認証局、１０１：上位アプリケーション、
１０２：認証アプリケーション、１０３：管理サービスモジュール、
１１０：ＯＳカーネル、１１１：プロトコルスタック、１１２：デバイスドライバ、
１１３：ドライバインタフェース
【図１】
2007258816.tif 000003
【図２】
2007258816.tif 000004
【図３】
2007258816.tif 000005
【図４】
2007258816.tif 000006
【図５】
2007258816.tif 000007
【図６】
2007258816.tif 000008
【図７】
2007258816.tif 000009
【図８】
2007258816.tif 000010
【図９】
2007258816.tif 000011
【図１０】
2007258816.tif 000012
【図１１】
2007258816.tif 000013
【図１２】
2007258816.tif 000014