(57)【特許請求の範囲】
【請求項１】
コンピュータと接続された場合、該コンピュータにおいて起動しているデバイスドライバに基づいて該コンピュータにネットワークデバイスとして認識されることが可能であって該コンピュータとの通信を可能にする通信部と、
コンピュータを識別するためのポート番号である識別ポート番号を格納する格納部と、
前記通信部を介して接続された第１のコンピュータに対して第１の試験要求情報を送信し、該第１の試験要求情報に対する該第１のコンピュータからの第１の試験応答情報を受信した場合に該第１の試験要求情報の送信に使用した第１のポート番号を保持し、該保持した第１のポート番号の組み合わせと前記識別ポート番号の組み合わせとを照合し、該照合結果に基づいて前記第１のコンピュータの認証を行う認証部と、
を備えることを特徴とする情報装置。
【請求項２】
前記格納部は、前記通信部を介して接続された第２のコンピュータであって、１以上のポートについて試験要求情報を受信した場合に他のポート番号で示されるポートとは異なる動作をするように設定された該第２のコンピュータに対して送信した第２の試験要求情報に対する該第２のコンピュータからの第２の試験応答情報を受信した場合に該第２の試験要求情報の送信に使用したポートの番号を前記識別ポート番号として格納する
ことを特徴とする請求項１に記載の情報装置。
【請求項３】
前記認証部は、前記接続された第１のコンピュータに対して所定のポート番号の範囲でポートスキャンを行い、該ポートスキャンに対する該第１のコンピュータからの前記第１の試験応答情報を受信した場合に該ポートスキャンに使用した前記第１のポート番号を保持し、該第１のポート番号の組み合わせと前記識別ポート番号の組み合わせとを照合して、前記第１のコンピュータの認証を行う
ことを特徴とする請求項１または２に記載の情報装置。
【請求項４】
前記情報装置は、さらに、
前記第１のコンピュータに対して前記情報装置の機能を有効にするか否かを切り替える切替部と、
前記認証部による照合結果に基づいて、前記切替部の切り替えを制御する切替制御部と、
を備えることを特徴とする請求項１〜３のうちいずれか１項に記載の情報装置。
【請求項５】
前記情報装置は、可搬型記憶媒体である
ことを特徴とする請求項１〜４のうちいずれか１項に記載の情報装置。
【請求項６】
コンピュータに接続可能な情報装置の制御部により実行される認証プログラムであって、
コンピュータと接続された場合、該コンピュータにおいて起動しているデバイスドライバに基づいて該コンピュータにネットワークデバイスとして認識されることが可能であって該コンピュータとの通信を可能にする前記情報装置に設けられた通信部を介して接続された第１のコンピュータに対して第１の試験要求情報を送信する送信処理と、
前記第１の試験要求情報に対する前記第１のコンピュータからの第１の試験応答情報を受信した場合に該第１の試験要求情報の送信に使用した第１のポート番号を保持する保持処理と、
前記保持した第１のポート番号の組み合わせと、コンピュータを識別するためのポート番号である識別ポート番号の組み合わせとを照合し、該照合結果に基づいて前記第１のコンピュータの認証を行う認証処理と、
を前記制御部に実行させることを特徴とする認証プログラム。
【請求項７】
ユニバーサルシリアルバス（ＵＳＢ）規格を用いて、コンピュータとＵＳＢ接続が可能なＵＳＢメモリ装置であって、
認証プログラムを実行する制御部と、
ＵＳＢ接続された前記コンピュータで実行されるデバイスドライバによって該コンピュータにネットワークデバイスとして認識される通信部と、
前記コンピュータを識別する識別ポート番号を格納する格納部と、
データを保存するメモリと
を有し、前記制御部は、
前記通信部を介してＵＳＢ接続された第１のコンピュータに対して試験要求情報を送信する送信処理と、
前記第１のコンピュータから試験応答情報を受信する受信処理と、
受信した前記試験応答情報に対応する試験要求情報の送信に使用したポート番号と、前記識別ポート番号とを照合する照合処理と、
前記照合結果に基づいて前記第１のコンピュータから前記メモリの参照を可能とする認証処理とを実行する
ことを特徴とするＵＳＢメモリ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、接続されたコンピュータに対する認証処理を行う情報装置に関する。
【背景技術】
【０００２】
顧客情報や会社の重要なデータを含む情報の漏えいが問題となっている。例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格に準拠した可搬型メモリ装置（いわゆるＵＳＢメモリ装置）などの可搬媒体経由での漏えい事件も多い。そこで、ＵＳＢメモリ装置からの情報漏洩を防止するために、ＵＳＢメモリ装置の記憶領域にアクセスするためにパスワードを必要とする製品や、指紋入力を必要とする製品が流通している。
【０００３】
また、ポータブルデバイスをホストデバイスに接続すると、そのホストデバイスに当該ポータブルデバイスを識別させ、ホストデバイスとの通信リンクを確立させることができるポータブルデバイスが開示されている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６‐１１４０４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来のＵＳＢメモリ装置の記憶領域にアクセスするためにパスワードを必要とする製品や指紋入力を必要とする製品はコンピュータと接続され、当該製品とコンピュータとの間で認証処理が行われることが多い。しかし、セキュリティの観点からは、認証処理は個々の装置で完結しているのが望ましい。
【０００６】
そこで、接続されたコンピュータに対する認証処理が情報装置側で完結する情報装置を提供する。
【課題を解決するための手段】
【０００７】
本実施形態の一例に係る情報装置は、コンピュータと接続された場合、該コンピュータにおいて起動しているデバイスドライバに基づいて該コンピュータにネットワークデバイスとして認識されることが可能であって該コンピュータとの通信を可能にする通信部と、コンピュータを識別するためのポート番号である識別ポート番号を格納する格納部と、前記通信部を介して接続された第１のコンピュータに対して第１の試験要求情報を送信し、該第１の試験要求情報に対する該第１のコンピュータからの第１の試験応答情報を受信した場合に該第１の試験要求情報の送信に使用した第１のポート番号を保持し、該保持した第１のポート番号の組み合わせと前記識別ポート番号の組み合わせとを照合し、該照合結果に基づいて前記第１のコンピュータの認証を行う認証部と、を含む。
【０００８】
本実施形態の一例に係る、コンピュータに接続可能な情報装置の制御部により実行される認証プログラムは、コンピュータと接続された場合、該コンピュータにおいて起動しているデバイスドライバに基づいて該コンピュータにネットワークデバイスとして認識されることが可能であって該コンピュータとの通信を可能にする前記情報装置に設けられた通信部を介して接続された第１のコンピュータに対して第１の試験要求情報を送信する送信処理と、前記第１の試験要求情報に対する前記第１のコンピュータからの第１の試験応答情報を受信した場合に該第１の試験要求情報の送信に使用した第１のポート番号を保持する保持処理と、前記保持した第１のポート番号の組み合わせと、コンピュータを識別するためのポート番号である識別ポート番号の組み合わせとを照合し、該照合結果に基づいて前記第１のコンピュータの認証を行う認証処理と、を前記制御部に実行させる。
【発明の効果】
【０００９】
本発明の実施形態における情報装置によれば、接続されたコンピュータに対する認証処理が情報装置側で完結することができる。
【図面の簡単な説明】
【００１０】
【図１】ＰＣ１００とＵＳＢメモリ装置の関連付けを実現するための構成を示す。
【図２】ＵＳＢメモリ装置２００をＰＣ１００に接続したときの様子を示す。
【図３】アプリケーションプログラム２３１がＰＣ１００にロードされてプロセス１０１が起動された様子を示す。
【図４】プロセス１０１によるＰＣ１００とＵＳＢメモリ装置２００（コントローラ２４０）の関連付けのシーケンスを示す。
【図５】ＰＣ１００との関連付け処理が完了したＵＳＢメモリ装置２００を利用する場合に行われるシーケンスを示す。
【図６】本実施形態におけるＵＳＢメモリ装置２０１の全体構成の一例（ＰＣ１００がネットワークデバイスを認識する前の状態）を示す。
【図７】本実施形態におけるＵＳＢメモリ装置２０１の全体構成の一例（ＰＣ１００がネットワークデバイス５００を認識している状態）を示す。
【図８】本実施形態におけるマイコン６００の内部構成の一例を示す。
【図９】本実施形態におけるＰＣ１００とＵＳＢメモリ装置２０１の関連付けの前提として実行されるＰＣ１００によるネットワークアドレスの割り当て処理からＵＳＢメモリ装置２０１によるＰＣ１００のＩＰアドレス取得までのシーケンスの一例を示す。
【図１０】３ＷＡＹ−ＨａｎｄＳｈａｋｅを説明するための図である。
【図１１】本実施形態におけるＳＹＮフラグがセットしてあるＴＣＰ受信パケットをＤＲＯＰするように設定されたＰＣ１００のポートに対してＴＣＰ接続を試みた場合のシーケンスの一例を示す。
【図１２】本実施形態におけるＳＹＮパケットを受信できるポートに対してＳＹＮパケットを送信した場合のシーケンスの一例を示す。
【図１３】予め決められたポート番号の範囲に対するポートスキャン実施後のポート番号格納領域６０１に格納されたポート番号の一例を示す。
【図１４】本実施形態におけるマイコン６００による全体の制御フローの一例を示す。
【図１５】本実施形態における関連付け設定処理フローの一例を示す。
【図１６】本実施形態におけるＵＳＢメモリ装置による接続されたコンピュータに対する認証処理フローの一例を示す。
【発明を実施するための形態】
【００１１】
ＵＳＢメモリ装置を介した情報漏洩を防ぐため、ＵＳＢメモリ装置を特定のコンピュータのみにおいて使用できるように、ＵＳＢメモリ装置とＰＣとの関連付けを行う技術が考えられる。すなわち、ＵＳＢメモリ装置等の可搬型記憶装置を、所有者のＰＣでのみ利用できるようにするために、初回利用時にＰＣと関連付けをし、他のＰＣでは利用できないようにすることが考えられる。ＵＳＢメモリ装置を特定のコンピュータＰＣのみにおいて使用できるように、ＵＳＢメモリ装置とＰＣとの関連付けを行う技術としては、例えば、次のものが考えられる。
【００１２】
まず、使用を許可するＰＣの固有のＩＤ（ＢＩＯＳのＩＤ等）と、その関連付けを行うための自動起動アプリケーションプログラムとをＵＳＢメモリ装置に予め格納しておく。ＵＳＢメモリ装置がＰＣに接続されると、当該アプリケーションプログラムがＰＣ上に読み込まれて起動され、ＰＣの所定の位置に格納された固有のＩＤを読み込む。
【００１３】
そして、アプリケーションプログラムは、ＰＣから読み込んだＩＤと、ＵＳＢメモリ装置上に格納されたＩＤとを照合する。照合の結果、両ＩＤが一致すれば、アプリケーションプログラムは、ＵＳＢメモリ装置の使用を許可し、一致しない場合にはＵＳＢメモリ装置へのアクセスを禁止する。ＵＳＢメモリ装置とＰＣとの関連付けを行う技術について、以下で説明する。なお、以下では、可搬媒体をＵＳＢメモリ装置として説明するがこれに限定されない。
【００１４】
図１は、ＰＣ１００とＵＳＢメモリ装置の関連付けを実現するための構成を示す。ＵＳＢメモリ装置２００は、ＰＣ１００に接続する前の状態である。この時点では、ＰＣ１００とＵＳＢメモリ装置２００との関連付けは、行われていない。ＲＯＭ２３０は、リードオンリーメモリである。ＲＯＭ２３０には、ＰＣ１００とＵＳＢメモリ装置２００との関連付けを制御するアプリケーションプログラム２３１が保存されている。
【００１５】
メモリ２２０は、データ等を保存するためのフラッシュメモリである。メモリ２２０には、保護すべきコンテンツ２２１が保存されている。ＵＳＢハブ２１０は、ＲＯＭ２３０とメモリ２２０をＰＣ１００側に見せるためのハブ装置である。
【００１６】
コントローラ２４０は、アプリケーションプログラム２３１からの制御コマンドを受けて、メモリ２２０をＰＣ１００側に見せるようにＵＳＢハブ２１０に指示する装置である。また、ＰＣ１００との関連付け情報を保存するための関連付け保存領域２４１を持つ。
【００１７】
図２は、ＵＳＢメモリ装置２００をＰＣ１００に接続したときの様子を示す。ＵＳＢメモリ装置２００のＵＳＢコネクタを、ＰＣ１００のＵＳＢコネクタに接続する。すると、ＰＣ１００は、ＵＳＢハブ２１０を介して、ＲＯＭ２３０とコントローラ２４０とを参照できるようになる。
【００１８】
それから、ＰＣ１００を利用するユーザは、ＲＯＭ２３０上のアプリケーションプログラム２３１を起動する。もしくは、オペレーションシステム（以下では「ＯＳ」と称する。ＯＳとして例えば、本実施形態ではＷｉｎｄｏｗｓ（登録商標）を用いる。）の自動起動機能により、アプリケーションプログラム２３１が自動起動される。
【００１９】
図３は、アプリケーションプログラム２３１がＰＣ１００にロードされてプロセス１０１が起動された様子を示す。図３では、ＲＯＭ２３０に格納されたアプリケーションプログラム２３１が、ＵＳＢハブ２１０を介して、ＰＣ１００に設けられたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）にロードされている。そして、アプリケーションプログラム２３１はプロセス１０１としてＰＣ１００上で実行されている。
【００２０】
図４は、プロセス１０１によるＰＣ１００とＵＳＢメモリ装置２００（コントローラ２４０）の関連付けのシーケンスを示す。ＵＳＢメモリ装置２００からＰＣ１００上で起動されたプロセス１０１は、ＰＣ１００に割り当てられたユニークなＩＤ（ＰＣＩＤ）を、ＰＣ１００から抽出する。ＰＣＩＤは例えば、ＰＣ１００において、ネットワークカードに割り当てられているＭＡＣアドレスやＢＩＯＳに割り当てられているＢＩＯＳ−ＩＤ等である。プロセス１０１は、その抽出したＰＣＩＤをＵＳＢメモリ装置２００へ転送する。
【００２１】
コントローラ２４０は、ＰＣＩＤを格納する関連付け保存領域２４１を有している。コントローラ２４０は、ＰＣ１００から受け取ったＰＣＩＤを、関連付け保存領域２４１に保存する。これにより、ＰＣ１００のＰＣＩＤは、コントローラ２４０に設定される（Ｓ１）。
【００２２】
ＰＣＩＤの設定の終了後、プロセス１０１はバインディグ・フェーズを完了することをコントローラ２４０に通知する（Ｓ２）。
図５は、ＰＣ１００との関連付け処理が完了したＵＳＢメモリ装置２００を利用する場合に行われるシーケンスを示す。まず、図４で説明したＰＣ１００との関連付け処理が完了したＵＳＢメモリ装置２００のＵＳＢコネクタを、ＰＣ１００のＵＳＢコネクタに接続する。
【００２３】
すると、ＰＣ１００上のプロセス１０１は、ＰＣ１００のＰＣＩＤを、上記と同様にＰＣ１００から抽出する。それから、ＵＳＢメモリ装置２００と接続されたＰＣが図４のシーケンスを経て関連付けされたＰＣ１００かどうかを確認するために、プロセス１０１は、ＰＣＩＤをコントローラ２４０へその確認依頼と共にそのＰＣＩＤを送信する（Ｓ１１）。
【００２４】
コントローラ２４０は、その確認依頼を受信すると、図４のＳ１で保存したＰＣＩＤと、Ｓ１１でプロセス１０１から送られてきたＰＣＩＤとを比較する。その比較の結果、コントローラ２４０は、ＰＣＩＤが一致すれば予めＵＳＢメモリ装置２００と関連付けされたＰＣと判断し、一致しなければ関連付けされていないＰＣと判断する。
【００２５】
関連付けされていないＰＣの場合は、メモリ２２０の情報を消去、もしくは、メモリ２２０の機能自体を無効にするなどの処理が施行される。
ところが、本方式は、ＰＣ１００が関連付けされているかを確認するために、ＰＣ１００上でＵＳＢメモリ装置２００のアプリケーションプログラム２３１を起動しなければならない。
【００２６】
もしアプリケーションプログラム２３１を起動させないとすると、ＵＳＢメモリ装置２００が予め関連付けされていないＰＣに接続されていても、ＵＳＢメモリ装置２００の機能自体を無効化するなどの処理を施せないことになる。
【００２７】
このように図１−図５の場合、ＰＣ１００とＵＳＢメモリ装置２００との関連付けを行うためのアプリケーションプログラム２３１をＰＣ１００側で実行する必要がある。ＵＳＢメモリ装置２００側にとって、ＰＣ１００は信頼できない（ブラックボックスである）ため、このような構成については問題がある。すなわち、セキュリティの観点からは、関連付けを行う仕組みが、ＵＳＢメモリ装置内で完結しているのが望ましい。
【００２８】
そこで、本実施形態では、接続されたコンピュータにネットワークデバイスとして認識させ、ＰＣとＵＳＢメモリ装置との関連付けを確認するプログラムを実行させるようにする。このプログラムは、コンピュータに対してネットワーク接続により所定の試験要求パケット（ＰＣ固有の振る舞いがネットワークから判別できるパケットであって、例えば、特定のポートの開閉状況を確認するためのパケット等）を送信する。そして、そのプログラムは、そのパケットに対する試験応答を受信する。そして、そのプログラムは、そのＰＣが、予めＵＳＢメモリ装置と関連付けがあることを確認した場合、コンピュータにメモリアクセスを許可する。
【００２９】
このように構成することにより、ＰＣとＵＳＢメモリ装置との関連付けを判定する仕組みがＵＳＢメモリ装置内で完結する。そのため、ＰＣが信頼できないという前提であっても、安全に、ＰＣとＵＳＢメモリ装置とが関連付けされているか否かの判定をすることができる。
【００３０】
以下では、ＵＳＢメモリ装置２０１の初期時に行われるＰＣとの関連付け処理について図６〜図１３を用いて説明し、ＵＳＢメモリ装置２０１によるＰＣの認証処理を含めた全体の処理については図１４−図１６を用いて説明する。
【００３１】
図６は、本実施形態におけるＵＳＢメモリ装置２０１の全体構成の一例（ＰＣ１００がネットワークデバイスを認識する前の状態）を示す。
ＵＳＢメモリ装置２０１は、ＵＳＢハブ２１０、ＲＯＭ２３０、メモリ２２０、コントローラ２４０、ネットワークデバイス、マイクロコンピュータ（以下、「マイコン」と称する）６００を含む。図６は、図１の構成に、ネットワークデバイス５００、マイコン６００を追加したものである。
【００３２】
ＵＳＢハブ２１０は、ネットワークデバイス５００と、ＲＯＭ２３０及びメモリ２２０とを切り替えて、ＰＣ１００側に見せるためのハブ装置である。ＵＢＳハブ２１０は、ＵＳＢメモリ装置２０１がＰＣ１００に接続された場合、ネットワークデバイス５００だけがＰＣ１００側から見えるように切り替えられている。
【００３３】
ネットワークデバイス５００は、ネットワークに接続してＰＣ１００との通信を制御するためのデバイスであり、例えばＭＡＣアドレス等を有する。
ＵＳＢメモリ装置２０１が接続されて、ネットワークデバイス５００を検知したＰＣ１００側のＯＳは、自身が予め格納しているネットワークデバイス５００のドライバを読み出し、インストールする。
【００３４】
なお、ＵＢＳメモリ装置２０１にネットワークデバイス５００のドライバを格納しておき、ＰＣ１００のＯＳが予め保持していない場合には、ＰＣ１００にネットワークデバイス５００のドライバをインストールすることができるようにしてもよい。
【００３５】
その後、ＰＣ１００側のＯＳは、ネットワークアドレスを割り当てる処理を行う。アドレス割り当ての方法として、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＡｕｔｏＩＰなどの方法がある。
【００３６】
マイコン６００は、ＵＳＢメモリ装置２０１と接続されたＰＣ１００に対する認証のための設定処理及び認証処理を制御する。マイコン６００には、ＰＣ１００を識別するためにＰＣ１００のポート番号を格納することができるポート番号格納領域６０１を有する不揮発性メモリを含む。
【００３７】
マイコン６００によるＰＣ１００の認証が成功した場合、マイコン６００の制御に基づいて、コントローラ２４０は、ＵＳＢハブ２１０に、ＰＣ１００側に見せるデバイスを、ネットワークデバイス５００から、ＲＯＭ２３０及びメモリ２２０へと切り替えさせる。
【００３８】
図７は、本実施形態におけるＵＳＢメモリ装置２０１の全体構成の一例（ＰＣ１００がネットワークデバイス５００を認識している状態）を示す。
デバイスドライバ１１０、ネットワークスタック１２０は、ＰＣ１００のＯＳ（Ｗｉｎｄｏｗｓ（登録商標））に搭載され、起動している。デバイスドライバ１１０は、上記でインストールしたネットワークデバイス５００のドライバである。デバイスドライバ１１０により、ＰＣ１００は、ネットワークデバイス５００をネットワーク上に存在するデバイスと認識することができる。
ネットワークスタック１２０は、デバイスドライバ１１０を介して、ＵＳＢメモリ装置２０１から送られてきたパケットについての通信プロトコル解析を行う。
【００３９】
図８は、本実施形態におけるマイコン６００の内部構成の一例を示す。マイコン６００は、パケット受信部６１１、パケット解析部６１２、パケット送信部６１３、不揮発性メモリ６０３を有する。
パケット受信部６１１は、ネットワークデバイス５００により転送された、ＰＣ１００からのパケット（例えば、ＤＨＣＰ−ＤＩＳＣＯＶＥＲＹ、ＰＣ１００のＩＰアドレス等）を受信する。
【００４０】
パケット解析部６１２は、その受信したパケットを解析する。パケット解析部６１２は、その解析の結果、ＤＨＣＰ−ＤＩＳＣＯＶＥＲＹであると判定した場合には、ＤＨＣＰ−ＤＩＳＣＯＶＥＲＹに対する返信をしないで、ＲＡＲＰパケットを生成する。また、パケット解析部６１２は、予め設定されたポート番号の範囲内において、取得したＩＰアドレスを用いて、ＴＣＰパケットを生成し、ポートスキャンを行う。また、パケット解析部６１２は、ＰＣ１００から送られてきたＰＣ１００のＩＰアドレス及びポートスキャンにより得られたポート番号を不揮発性メモリ６０３に格納する。ここで、ポート番号とは、通信ネットワーク上の機器間の通信における、ネットワークアプリケーションプログラムの識別番号をいう。
【００４１】
パケット送信部６１３は、パケット解析部６１２で生成されたＲＡＲＰパケット、ＴＣＰパケット等を、ＰＣ１００へ転送するために、ネットワークデバイス５００へ転送する。
【００４２】
不揮発性メモリ６０３は、ポート番号格納領域６０１とＩＰアドレス格納領域６０２を有する。ポート番号格納領域６０１には、例えば、１以上のポート番号（例えば、ポート１、ポート２、ポート３等）を保持することができる。
【００４３】
また、ＩＰアドレス格納領域６０２には、ＰＣ１００から取得したＰＣ１００のＩＰアドレスが格納される。なお、ＩＰアドレス格納領域６０２は、不揮発性メモリ６０３とは別の記憶装置に格納されていてもよく、その場合は揮発性メモリであってもよい。
【００４４】
初期状態では、ポート番号格納領域６０１において、例えば、ポート１〜３にはそれぞれ０がセットされている。また、ＩＰアドレス格納領域６０２には、ＩＰアドレス「０．０．０．０」がセットされている。
【００４５】
ＵＳＢメモリ装置２０１及びマイコン６００は上記の構成要素を含んでいる。これらの構成要素による具体的な処理の一例については、以下にて順を追って説明する。
まず、後述するように、ＵＳＢメモリ装置２０１とＰＣ１００との関連付け処理に際し、ＵＳＢメモリ装置２０１はＰＣ１００に対し、ポートスキャンを実行する。したがって、そのポートスキャンの前提として、ＵＳＢメモリ装置２０１はＰＣ１００のネットワークアドレスを必要とする。そこで、図９を用いて、ＵＳＢメモリ装置２０１によるＰＣ１００のネットワークアドレスの取得処理について説明する。
【００４６】
図９は、本実施形態におけるＰＣ１００とＵＳＢメモリ装置２０１の関連付けの前提として実行されるＰＣ１００によるネットワークアドレスの割り当て処理からＵＳＢメモリ装置２０１によるＰＣ１００のＩＰアドレス取得までのシーケンスの一例を示す。
【００４７】
ＰＣ１００のネットワークアドレスを取得する場合、その前段階として、ＰＣ１００によりアドレス割り当て処理が行われる。アドレス割り当ての方法として、上述の通り、ＤＨＣＰ（Ｄｙｎａｍｉｃ  Ｈｏｓｔ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＡｕｔｏＩＰなどの方法がある。今回はネットワークアドレスの割り当ての１つの実施例としてＡｕｔｏＩＰ（Ａｕｔｏｍａｔｉｃ  Ｐｒｉｖａｔｅ  ＩＰ  Ａｄｄｒｅｓｓｉｎｇ）に関して説明する。
【００４８】
まず、ネットワークスタック１２０は、デバイスドライバ１１０及びネットワークデバイス５００を介してＤＨＣＰ−ＤＩＳＣＯＶＥＲＹをマイコン６００へ送信する（Ｓ２１−Ｓ２３）。
【００４９】
マイコン６００は、その送信されたパケットを解析する。その解析の結果、そのパケットがＤＨＣＰ−ＤＩＳＣＯＶＥＲＹを示すパケットであると判定すると、マイコン６００は、そのＤＨＣＰ−ＤＩＳＣＯＶＥＲＹに対して返信をしない（Ｓ２４）。
【００５０】
その結果、ＤＨＣＰ−ＤＩＳＣＯＶＥＲＹに対する応答時間がタイムアウトになる。タイムアウトになると、ネットワークスタック１２０は、ＰＣ１００内において、自動的にＰＣ１００及びネットワークデバイス５００にＩＰアドレスを割り当てる処理を開始する（Ｓ２５）。すなわち、ネットワークスタック１２０がＤＨＣＰ−ＤＩＳＣＯＶＥＲＹに対する返答がない（＝ＤＨＣＰサーバが不在）と判断した時に、ＡｕｔｏＩＰ機能が開始される。ＡｕｔｏＩＰ機能では、ネットワークスタック１２０により、ネットワークデバイス５００のＩＰアドレスが、１６９．２５４．０．０〜１６９．２５０．２５５．２５５の範囲から適当に選択されて決定される。このとき、ＰＣ１００のＯＳは、ＰＣ１００のＩＰアドレスと、ネットワークデバイス１００のＩＰアドレスとを関連付けた情報を保持している。
【００５１】
なお、ＤＨＣＰの場合でも、ＡｏｕｔｏＩＰの場合と同様に、ネットワークスタック１２０がネットワークデバイス５００の割り当てを行い、ＰＣ１００のＩＰアドレスと、ネットワークデバイス１００のＩＰアドレスとを関連付けた情報を作成する。
【００５２】
次に、ＵＳＢメモリ装置２０１によるＰＣ１００のＩＰアドレス取得シーケンスについて説明する。
ＵＳＢメモリ装置２０１側では、マイコン６００は、ネットワークスタック１２０からのＤＨＣＰ−ＤＩＳＣＯＶＥＲＹを受信すると、ＲＡＲＰ（Ｒｅｖｅｒｓｅ  Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）を発行する。ＲＡＲＰは、特定のＭＡＣアドレスを持つネットワークデバイスに割り当てられているＩＰアドレスを取得するプロトコルである。ＲＡＲＰは、ネットワークデバイス５００及びデバイスドライバ１１０を介して、ネットワークスタック１２０へ転送される（Ｓ３１−Ｓ３３）。
【００５３】
ネットワークスタック１２０はそのＲＡＲＰに対して、Ｓ２５でＰＣ１００に割り当てたＩＰアドレスを、マイコン６００へ送信する（Ｓ３４）。
ＲＡＲＰの返答として、ネットワークスタック１２０から送信されたＰＣ１００のＩＰアドレスを受信すると、マイコン６００はネットワークスタック１２０がＰＣ１００及びネットワークデバイス５００にＩＰアドレスを割り当てたことを検知できる。マイコン６００は、受信したＰＣ１００のＩＰアドレスをポート番号格納領域６０１に格納する。
【００５４】
次に、ＰＣ１００とＵＳＢメモリ装置２０１との関連付けを説明する。利用者は、関連付けするＰＣ１００のデフォルトのファイヤフォール設定を、予め変更しておく。具体的には、ＰＣ１００のファイヤフォール設定において、例えばポート番号４１０００〜４２０００の範囲のうち、１以上の任意のポート番号で示されるポートについてのＳＹＮパケット受信時の動作を、その範囲内の他のポート番号で示されるポートとは異なる動作となるように設定する。この設定した任意のポート番号の組み合わせがそのＰＣ１００を識別するための識別情報となり得る。すなわち、ＵＳＢメモリ装置２０１がＰＣ１００に対して、ポート番号４１０００〜４２０００の範囲をポートスキャンした場合、そのポートスキャンに対する応答があったときにポートスキャンに使用したポート番号の組み合わせを、ＰＣ１００の識別情報とすることができる。また、ＵＳＢメモリ装置２０１がＰＣ１００に対して、ポート番号４１０００〜４２０００の範囲をポートスキャンした場合、そのポートスキャンに対する応答がなかったときにポートスキャンに使用したポート番号の組み合わせを、ＰＣ１００の識別情報としてもよい。
【００５５】
なお、ＵＳＢメモリ装置２０１がポート番号４１０００〜４２０００の範囲のポートについてポートスキャンするということは事前に利用者に通知してあるとする。ポートスキャンは、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）でコネクションを確立するための手順である３ＷＡＹ−ＨａｎｄＳｈａｋｅに従って行う。
【００５６】
図１０は、３ＷＡＹ−ＨａｎｄＳｈａｋｅを説明するための図である。本実施形態では、クライアントＣＬがＵＳＢメモリ装置２０１に相当し、サーバＳＶがＰＣ１００に相当する。
【００５７】
ここで、３ＷＡＹ−ＨａｎｄＳｈａｋｅにおいて、例えば、ポート番号４１００１，４１０２０，４１１００で示されるポートについて、ＵＳＢメモリ装置２０１からのＳＹＮフラグがセットしてあるＴＣＰ受信パケットを受信するように設定が行われているとする。また、これら以外のポート番号で示されるポートについて、ＳＹＮフラグがセットしてあるＴＣＰ受信パケットをドロップするように、ＰＣ１００のファイヤフォール機能の設定が行われているとする。
【００５８】
それでは、３ＷＡＹ−ＨａｎｄＳｈａｋｅによるＴＣＰ接続の説明をする。３ＷＡＹ−ＨａｎｄＳｈａｋｅによるＴＣＰ接続の際、ポート番号４１００１，４１０２０，４１１００で示されるポートのそれぞれについて、クライアントＣＬ（＝２０１）からサーバＳＶ（＝１００）へＳＹＮパケットを送信する（Ｓ４１）。
【００５９】
そのＳＹＮパケットを受け取ったサーバＳＶ（＝１００）は、そのＳＹＮパケットに対するＡＣＫと、サーバＳＶ（＝１００）からクライアントＣＬ（＝２０１）へのＳＹＮをＳＹＮ＋ＡＣＫの形で送る（Ｓ４２）。
【００６０】
クライアントＣＬ（＝２０１）はそのＳＹＮ＋ＡＣＫに対するＡＣＫを返す（Ｓ４３）。ＰＣ１００は、ポート番号４１００１，４１０２０，４１１００で示されるポートについて、ＳＹＮ＋ＡＣＫまでは返答する（Ｓ３２）。しかし、ＰＣ１００は、ＡＣＫフラグが立っているＴＣＰ受信パケットをドロップするように設定されているものとする（Ｓ３３において、ＰＣ１００は、ＵＳＢメモリ装置２０１から送信されたＡＣＫをＤＲＯＰする）。
【００６１】
次に、この３ＷＡＹ−ＨａｎｄＳｈａｋｅを利用したポートスキャンについて説明する。予め、利用者は、３ＷＡＹ−ＨａｎｄＳｈａｋｅにおいて、例えば、ポート番号４１００１，４１０２０，４１１００で示されるポートについて、ＵＳＢメモリ装置２０１からのＳＹＮフラグがセットしてあるＴＣＰ受信パケットを受信するように設定を行う。これ以外のポート番号で示されるポートについて、ＳＹＮフラグがセットしてあるＴＣＰ受信パケットをドロップするように、ＰＣ１００のファイヤフォール機能の設定を行う。これにより、ＰＣ１００の特徴を表すことができる。
【００６２】
まず、マイコン６００は、ＰＣ１００より取得したＰＣ１００のＩＰアドレスを用いて、ＰＣ１００のポート番号４１０００〜４２０００の範囲に含まれる各ポートについてポートスキャンする。
【００６３】
具体的には、取得したＰＣ１００のＩＰアドレスを使って、ＰＣ１００のポート番号４１０００〜４２０００の範囲内の各ポートに対して、図１０で説明したように、３ＷＡＹ−ＨａｎｄＳｈａｋｅにより、ＴＣＰ接続を試みる。以下に、ＳＹＮフラグがセットしてあるＴＣＰ受信パケットをＤＲＯＰするように設定されたポートに対してＴＣＰ接続をするシーケンス（図１１）、ＳＹＮパケットを受信できるポートに対してＳＹＮパケットを送信した場合のシーケンス（図１２）について説明する。
【００６４】
図１１は、本実施形態におけるＳＹＮフラグがセットしてあるＴＣＰ受信パケットをＤＲＯＰするように設定されたＰＣ１００のポートに対してＴＣＰ接続を試みた場合のシーケンスの一例を示す。
【００６５】
マイコン６００は、ネットワークスタック１２０から取得したＰＣ１００のＩＰアドレスを用いて、ネットワークドライバ５００及びデバイスドライバ１１０を介して、ＰＣ１００のポート番号４１０００で示されるポートに対してＴＣＰ−ＳＹＮパケットを送信する（Ｓ５１−Ｓ５３）。
【００６６】
上述したように、ＰＣ１００のファイアウォール機能の設定により、ポート番号４１００１、４１０２０、４１１００以外のポート番号で示されるポートについて、ＳＹＮフラグがセットしてあるＴＣＰ受信パケットをドロップするように設定されている。よって、ネットワークスタック１２０は、その受信したポート番号４１０００で示されるポートに対するＴＣＰ−ＳＹＮパケットをＤＲＯＰ（破棄）する（Ｓ５４）。
【００６７】
図１２は、本実施形態におけるＳＹＮパケットを受信できるポートに対してＳＹＮパケットを送信した場合のシーケンスの一例を示す。マイコン６００は、ネットワークスタック１２０から取得したＰＣ１００のＩＰアドレスを用いて、ネットワークドライバ５００及びデバイスドライバ１１０を介して、ＰＣ１００のポート番号４１００１で示されるポートに対してＴＣＰ−ＳＹＮパケットを送信する（Ｓ６１−Ｓ６３）。
【００６８】
当該ＳＹＮ受信パケットは、ＳＹＮパケットを受信できるポート番号４１００１で示されるポートに対するＳＹＮ受信パケットである。従って、ネットワークスタック１２０は、デバイスドライバ１１０及びネットワークドライバ５００を介して、マイコン６００へＳＹＮ＋ＡＣＫパケットを返信する（Ｓ６４−Ｓ６６）。
【００６９】
マイコン６００は、そのポートスキャンに対する応答パケット（ＳＹＮ＋ＡＣＫパケット）を受信する。そして、図１３で説明するように、マイコン６００は、その応答パケットを受信した場合にそのポートスキャンに用いたポート番号を格納する。
【００７０】
図１３は、予め決められたポート番号の範囲に対するポートスキャン実施後のポート番号格納領域６０１に格納されたポート番号の一例を示す。ＳＹＮ＋ＡＣＫパケットを受け取った時にそのポートスキャンで使用したポート番号は、図１３に示すように、ポート番号格納領域６０１に格納される。この時点でＰＣ１００とＵＳＢメモリ装置２０１の関連付けが完了する。すなわち、ＵＳＢメモリ装置２０１の初期設定が完了する。
【００７１】
ポートスキャン後のポート番号格納領域６０１に格納されたポート番号の組み合わせがＰＣ１００を識別する識別情報となり得る。上述したように、ＰＣ１００を識別するために、ＰＣ１００に応じて、１以上の任意のポート番号で示されるポートに対して、応答パケットを送信するように設定している。したがって、その応答パケットを受信した場合にそのポートスキャンで使用したポート番号の組み合わせがＰＣ１００を識別するための識別情報となり得る。図１３の例では、ポート番号４１００１，４１０２０，４１１００の組み合わせが、ＵＳＢメモリ装置２０１と関連付けられたＰＣ１００の識別番号ということになる。
【００７２】
次に、特定のＰＣと関連付けがされたＵＳＢメモリ装置２０１が、当該ＵＳＢメモリ装置２０１と接続されたＰＣ１００に対して認証を行うことを説明する。
ＵＳＢメモリ装置２０１を任意のコンピュータに接続してＵＳＢメモリ装置２０１を利用する場合、図９で説明したようにＰＣ１００のＩＰアドレスを取得し、図１１及び図１２で説明したようにポート番号４１０００〜４２０００の範囲で示されるポートについてポートスキャンする。このとき、マイコン６００は、ＳＹＮ＋ＡＣＫパケットを受信した時にそのポートスキャンで使用したポート番号を保持しておく。
【００７３】
ポートスキャンの終了後、その保持されたポート番号の組み合わせが、ポート番号格納領域６０１に格納されたポート番号の組み合わせと一致するか否かを判定する。その保持されたポート番号の組み合わせが、ポート番号格納領域６０１に格納されたポート番号の組み合わせと一致した場合、マイコン６００は、そのＰＣ１００は予め関連付けられているＰＣ１００であると判断する。この場合、マイコン６００は、コントローラ２４０に切替指示を行う。この切替指示に基づいて、コントローラ２４０は、ＵＳＢハブ２１０に、ＰＣ１００側に見せるデバイスを、ネットワークデバイス５００から、ＲＯＭ２３０及びメモリ２２０へと切り替えさせる。これにより、ＰＣ１００に対してＵＳＢメモリ装置２０１の機能を有効にすることができる。
【００７４】
一方、ポートスキャンの終了後、その保持されたポート番号の組み合わせが、ポート番号格納領域６０１に格納されたポート番号の組み合わせと一致しない場合、マイコン６００は、そのＰＣ１００は予め関連付けられているＰＣ１００ではないと判断する。この場合、マイコン６００はコントローラ２４０に切替指示を行わない。したがって、ＰＣ１００に対してＵＳＢメモリ装置２０１の機能が有効になることはない。
【００７５】
上記では、ＰＣ１００とＵＢＳメモリ装置２００ａとの間のシーケンスに着目して本実施形態を説明した。以下では、マイコン６００に着目して、図９−図１２で説明した内容を図１４−図１６を用いて説明する。
【００７６】
図１４は、本実施形態におけるマイコン６００による全体の制御フローの一例を示す。まず、ユーザによってＵＳＢメモリ装置２０１がＰＣ１００に接続される。すると、ＰＣ１００によるＵＳＢメモリ装置２０１のネットワークデバイス５００の認識後、ＰＣ１００からＤＨＣＰ−ＤＩＳＣＯＶＥＲＹパケットが送信される。マイコン６００は、その送信されたパケットを受信する（Ｓ１０１）。マイコン６００は、その送信されたパケットを解析し、その解析の結果、そのパケットがＤＨＣＰ−ＤＩＳＣＯＶＥＲＹを示す場合には、そのＤＨＣＰ−ＤＩＳＣＯＶＥＲＹに対する返信をしない。
【００７７】
それから、マイコン６００は、ＲＡＲＰをＰＣ１００へ送信する（Ｓ１０２）。マイコン６００は、このＲＡＲＰへの応答として、ＰＣ１００から送信されたＰＣ１００のＩＰアドレスを受信する。マイコン６００は、その受信したＰＣ１００のＩＰアドレスをＩＰアドレス格納領域６０２に設定する（Ｓ１０３）。
【００７８】
このとき、ポート番号格納領域６０１に格納されているポート番号が全て０の場合（Ｓ１０４で「Ｙｅｓ」）、マイコン６００は関連付け設定処理（図１５）を行う（Ｓ１０５）。一方、ポート番号格納領域６０１に格納されているポート番号のいずれかが０でない場合（Ｓ１０４で「Ｙｅｓ」）、マイコン６００はＵＳＢメモリ装置２０１を利用する際に接続されるコンピュータに対する認証処理（図１６）を行う（Ｓ１０６）。
【００７９】
図１５は、本実施形態における関連付け設定処理フローの一例を示す。図１５は、ＵＳＢメモリ装置２０１の初期設定時に行われるポート番号設定処理を示す。図１５は、図１１、図１２のマイコン６００の処理に対応する。
【００８０】
マイコン６００は、ポートスキャンの対象となるＰＣ１００のポート番号ｉ（ｉ＝４１０００〜４２０００）で示されるポートに対して、ＴＰＣ−ＳＹＮパケットを送信する（Ｓ１１１）。
【００８１】
マイコン６００は、ＰＣ１００から返信されたパケットがＳＹＮ＋ＡＣＫか否か判定する（Ｓ１１２）。ＰＣ１００から返信されたパケットがＳＹＮ＋ＡＣＫでない場合（Ｓ１１２で「Ｎｏ」）、マイコン６００は、ポート番号ｉをインクリメントして（Ｓ１１５）、Ｓ１１１の処理へ戻る。
【００８２】
ＰＣ１００から返信されたパケットがＳＹＮ＋ＡＣＫである場合（Ｓ１１２で「Ｙｅｓ」）、マイコン６００は、ＴＰＣ−ＳＹＮパケット送信（Ｓ１１１）で使用したポート番号ｉをポート番号格納領域６０１に保存する（Ｓ１１３）。
【００８３】
それから、マイコン６００は、ポート番号格納領域６０１に予め格納すべきポート番号が全て０でなくなったか、またはスキャンすべきポートが終了したかを判定する。ポート番号格納領域に予め格納すべきポート番号のいずれかが０か（Ｓ１１４で「Ｎｏ」）、またはスキャンすべき全てのポートのスキャンが終了していない場合（Ｓ１１４で「Ｎｏ」）、マイコン６００は、ポート番号ｉをインクリメントして（Ｓ１１５）、Ｓ１１１の処理へ戻る。
【００８４】
マイコン６００は、ポート番号格納領域６０１に予め格納すべきポート番号が全て０でなくなったか（Ｓ１１４で「Ｙｅｓ」）、またはスキャンすべき全てのポートのスキャンが終了した場合（Ｓ１１４で「Ｙｅｓ」）、図１５のフローは終了する。
【００８５】
これにより、この時点でＰＣ１００とＵＳＢメモリ装置２０１の関連付け、すなわち、ＵＳＢメモリ装置２０１の初期設定が完了する。その結果、ポート番号格納領域６０１に格納されたポート番号の組み合わせをＰＣ１００の識別情報とすることができる。
【００８６】
図１６は、本実施形態におけるＵＳＢメモリ装置による接続されたコンピュータに対する認証処理フローの一例を示す。
マイコン６００は、ポートスキャンの対象となるＰＣ１００のポート番号ｉ（例えば、ｉ＝４１０００〜４２０００）で示されるポートに対して、ＴＰＣ−ＳＹＮパケットを送信する（Ｓ１２１）。
【００８７】
マイコン６００は、ＰＣ１００から返信されたパケットがＳＹＮ＋ＡＣＫか否か判定する（Ｓ１２２）。ＰＣ１００から返信されたパケットがＳＹＮ＋ＡＣＫでない場合（Ｓ１２２で「Ｎｏ」）、マイコン６００は、ポート番号ｉをインクリメントして（Ｓ１２５）、Ｓ１１１の処理へ戻る。
【００８８】
ＰＣ１００から返信されたパケットがＳＹＮ＋ＡＣＫである場合（Ｓ１２２で「Ｙｅｓ」）、マイコン６００は、その受信したＳＹＮ＋ＡＣＫパケットに対応するＴＰＣ−ＳＹＮパケット送信（Ｓ１２１）で使用したポート番号が、ポート番号格納領域６０１に格納されたポート番号のいずれかと一致するか否かを判定する（Ｓ１２３）。
【００８９】
その受信したＳＹＮ＋ＡＣＫパケットに対応するＴＰＣ−ＳＹＮパケット送信（Ｓ１２１）に使用したポート番号がポート番号格納領域６０１に格納されたポート番号のいずれとも一致しない場合（Ｓ１２３で「Ｎｏ」）、マイコン６００は、そのＰＣ１００は予め関連付けされているＰＣ１００ではないと判断し、図１６のフローを終了する（認証失敗）。
【００９０】
その受信したＳＹＮ＋ＡＣＫパケットに対応するＴＰＣ−ＳＹＮパケット送信に使用したポート番号がポート番号格納領域６０１に格納されたポート番号のいずれかと一致した場合（Ｓ１２３で「Ｙｅｓ」、Ｓ１２４で「Ｎｏ」）、マイコン６００は、ポート番号ｉをインクリメントして（Ｓ１２５）、Ｓ１１１の処理へ戻る。ポートスキャンの対象となるポートへのスキャンがすべて終了するまで、Ｓ１２１−Ｓ１２５を繰り返す。
【００９１】
その受信したＳＹＮ＋ＡＣＫパケットに対応するＴＰＣ−ＳＹＮパケット送信に使用したポート番号の組み合わせがポート番号格納領域６０１に格納されたポート番号の組み合わせと一致した場合、マイコン６００は、そのＰＣ１００は予め関連付けされているＰＣ１００であると判断する（認証成功）。
【００９２】
認証成功の場合、マイコン６００は、コントローラ２４０に切替指示を行う。この切替指示に基づいて、コントローラ２４０は、ＵＳＢハブ２１０に、ＰＣ１００側に見せるデバイスを、ネットワークデバイス５００から、ＲＯＭ２３０及びメモリ２２０へと切り替えさせる。これにより、ＵＳＢメモリ装置２０１の機能が有効になる。
【００９３】
本実施形態では、ＵＳＢ規格のメモリ装置を用いたが、これに限定されず、ＩＥＥＥ１３９４、ＰＣＩ、ＰＣＩ  Ｅｘｐｒｅｓｓ等の他の規格を用いてもよい。また、機器もメモリ装置に限定されず、例えば、デジタルカメラ、プリンタ、ハードディスクドライブ、マウス等のコンピュータと接続する機器であればよい。また、本実施形態では、アドレス割り当ての方法として、ＡｕｔｏＩＰを用いたが、これに限定されず、ＤＨＣＰまたはその他のアドレス割り当ての方法を用いてもよい。また、本実施形態で用いた数値は一例であって、その数値に限定されない。
【００９４】
本実施形態によれば、ＵＳＢメモリ装置を一旦汎用的なネットワークデバイスと見せかけておく。そして、ＰＣ側で通信可能な状態になったときに、ＵＳＢメモリ装置側からＰＣに対してダミーの通信を開始する。ＵＳＢメモリ装置は、そのダミーの通信によって、そのＰＣの特徴を検知し、特定のＰＣかどうかを判定することができる。これにより、ＵＳＢメモリ装置がＰＣと接続された場合、そのＰＣが当該ＵＳＢメモリ装置と予め関連付けされているか否かの認証処理をＵＳＢメモリ装置内で完結させることができる。そして、ＵＳＢメモリ装置は、認証結果に基づいて、特定のコンピュータのみに自身の機能を有効にすることができる。
【００９５】
したがって、ＰＣ側はＵＳＢメモリ装置をネットワークデバイスとして認識して通信可能な状態になり得ればよく、ＰＣ側で認証プロセスが発生し認証処理が実行されることもない。よって、コンピュータの認証に際し、コンピュータに依存することなく認証を行うことができる。すなわち、当該ＵＳＢメモリ装置より認証処理の独立性を向上させることができる。その結果、ＵＳＢメモリ装置への不正なアクセスを回避してセキュリティを向上させることができる。
【００９６】
上述の通り、本実施形態に係る情報装置は、通信部と、格納部と、認証部を含む。
通信部は、コンピュータと接続された場合、該コンピュータにおいて起動しているデバイスドライバに基づいて該コンピュータにネットワークデバイスとして認識されることが可能であって該コンピュータとの通信を可能にする。通信部は、例えば本実施形態で言えば、ネットワークデバイス５００に相当する。
【００９７】
格納部は、コンピュータを識別するためのポート番号である識別ポート番号を格納する。より具体的には、前記通信部を介して接続された第２のコンピュータに対して送信した第２の試験要求情報（ＴＰＣ−ＳＹＮパケット）に対する該第２のコンピュータからの第２の試験応答情報（ＳＹＮ＋ＡＣＫパケット）を受信した場合に該第２の試験要求情報の送信に使用した第２のポート番号を格納する。ここで、該第２のコンピュータは、１以上のポートについて試験要求情報を受信した場合に他のポート番号で示されるポートとは異なる動作をするように設定されている。格納部は、例えば本実施形態で言えば、ポート番号格納領域６０１に相当する。
【００９８】
認証部は、前記通信部を介して接続された第１のコンピュータに対して第１の試験要求情報を送信し、該第１の試験要求情報に対する該第１のコンピュータからの第１の試験応答情報を受信した場合に該第１の試験要求情報の送信に使用した第１のポート番号を保持し、該保持した第１のポート番号の組み合わせと前記識別ポート情報の組み合わせとを照合し、該照合結果に基づいて前記第１のコンピュータの認証を行う。すなわち、前記認証部は、前記接続された第１のコンピュータに対して所定のポート番号の範囲でポートスキャンを行い、該ポートスキャンに対する該第１のコンピュータからの前記第１の試験応答情報を受信した場合に該ポートスキャンに使用した前記第１のポート番号を保持し、該第１のポート番号の組み合わせと前記識別ポート情報の組み合わせとを照合して、前記第１のコンピュータの認証を行うことができる。認証部は、例えば本実施形態で言えば、マイコン６００またはパケット解析部６１２に相当する。
【００９９】
このように構成することにより、ＰＣに情報装置の通信部を認識させた後、情報装置によって、送信した試験要求情報に対する試験応答情報があった場合にその試験要求情報を送信した際に使用したポート情報の組み合わせと、ＰＣの識別情報として予め保持しているポート情報との組み合わせとを照合して、そのＰＣに対する認証を行うことができる。これにより、コンピュータは情報装置をネットワークデバイスとして認識して通信可能な状態になり得ればよく、コンピュータ側で認証プロセスを発生させることがない。よって、情報装置内において認証処理を完結させることができる。したがって、情報装置への不正なアクセスを回避して、より情報装置に対するセキュリティを向上させることができる。
【０１００】
前記情報装置は、さらに、切替部と、切替制御部とを含む。
切替部は、前記第１のコンピュータに対して前記情報装置の機能を有効にするか否かを切り替える。切替部は、例えば本実施形態で言えば、ＵＳＢハブ２１０に相当する。
【０１０１】
切替制御部は、前記認証部による照合結果に基づいて、前記切替部の切り替えを制御する。切替制御部は、例えば本実施形態で言えば、コントローラ２４０に相当する。
このように構成することにより、認証されたコンピュータに対してのみ、情報装置へのアクセスを許可することができる。なお、情報装置は、一例として可搬型記憶媒体であってもよい。
【０１０２】
なお、本発明の実施形態は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１０３】
１００  ＰＣ
１０１  プロセス
１２０  ネットワークスタック
２００，２０１  ＵＳＢメモリ装置
２１０  ＵＳＢハブ
２２０  メモリ
２２１  コンテンツ
２３０  ＲＯＭ
２３１  アプリケーションプログラム
２４０  コントローラ
２４１  関連付け保存領域
５００  ネットワークデバイス
６００  マイコン
６０１  ポート番号格納領域
６０２  ＩＰアドレス格納領域
６０３  不揮発性メモリ
６１１  パケット受信部
６１２  パケット解析部
６１３  パケット送信部
【図１】
0005381504.tif 000002
【図２】
0005381504.tif 000003
【図３】
0005381504.tif 000004
【図４】
0005381504.tif 000005
【図５】
0005381504.tif 000006
【図６】
0005381504.tif 000007
【図７】
0005381504.tif 000008
【図８】
0005381504.tif 000009
【図９】
0005381504.tif 000010
【図１０】
0005381504.tif 000011
【図１１】
0005381504.tif 000012
【図１２】
0005381504.tif 000013
【図１３】
0005381504.tif 000014
【図１４】
0005381504.tif 000015
【図１５】
0005381504.tif 000016
【図１６】
0005381504.tif 000017