(57)【要約】【課題】コストを抑えつつ容易にアクセスポイントの証明を行うこと。【解決手段】ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムであって、通信装置は、アクセスポイントの証明に用いられる乱数を生成する乱数生成部と、生成された乱数を自装置が接続するアクセスポイントに送信し、アクセスポイントから所定の処理が行なわれた乱数を受信する通信部と、生成された乱数と、受信された乱数とに基づいてアクセスポイントが正当なアクセスポイントであるか否か判定する判定部と、を備え、アクセスポイントは、通信装置から受信された乱数に所定の処理を行う処理部と、通信装置から乱数を受信し、所定の処理が行なわれた乱数を通信装置に送信する通信部と、を備えるアクセスポイント証明システム。【選択図】図２
2015226267.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムであって、
前記通信装置は、
前記アクセスポイントの証明に用いられる乱数を生成する乱数生成部と、
生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信部と、
生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定部と、
を備え、
前記アクセスポイントは、
前記通信装置から受信された乱数に所定の処理を行う処理部と、
前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信部と、
を備えるアクセスポイント証明システム。
【請求項２】
前記通信装置は、
生成された前記乱数に暗号化を行う暗号化部をさらに備え、
前記通信装置の前記通信部は、暗号化された乱数である暗号化乱数を、証明の対象となるアクセスポイントに送信し、前記暗号化乱数が復号化された後の値である復号化乱数を前記証明の対象となるアクセスポイントから受信し、
前記処理部は、前記通信装置から送信された暗号化乱数を復号化し、
前記アクセスポイントの前記通信部は、復号化乱数を前記通信装置に送信する、請求項１に記載のアクセスポイント証明システム。
【請求項３】
前記通信装置は、
証明の対象となるアクセスポイントから送信される、暗号化された乱数である暗号化乱数を復号化する復号化部をさらに備え、
前記処理部は、前記通信装置から送信された前記乱数を暗号化し、
前記アクセスポイントの前記通信部は、暗号化された乱数を前記通信装置に送信する、請求項１に記載のアクセスポイント証明システム。
【請求項４】
前記判定部は、生成された乱数と、復号化された乱数とが一致する場合に前記アクセスポイントが正当なアクセスポイントであると判定し、生成された乱数と、復号化された乱数とが一致しない場合に前記アクセスポイントが正当なアクセスポイントではないと判定する、請求項２又は３に記載のアクセスポイント証明システム。
【請求項５】
ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムにおける通信装置であって、
前記アクセスポイントの証明に用いられる乱数を生成する乱数生成部と、
生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信部と、
生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定部と、
を備える通信装置。
【請求項６】
ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムにおけるアクセスポイントであって、
前記通信装置から受信された乱数に所定の処理を行う処理部と、
前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信部と、
を備えるアクセスポイント。
【請求項７】
ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムにおけるアクセスポイント証明方法であって、
前記通信装置が、前記アクセスポイントの証明に用いられる乱数を生成する乱数生成ステップと、
前記通信装置が、生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信ステップと、
前記通信装置が、生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定ステップと、
前記アクセスポイントが、前記通信装置から受信された乱数に所定の処理を行う処理ステップと、
前記アクセスポイントが、前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信ステップと、
を有するアクセスポイント証明方法。
【請求項８】
ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムとして、前記通信装置に相当する第一のコンピュータ及び前記アクセスポイントに相当する第二のコンピュータを動作させるためのコンピュータプログラムであって、
前記第一のコンピュータに対し、
前記アクセスポイントの証明に用いられる乱数を生成する乱数生成ステップと、
生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信ステップと、
生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定ステップと、
を実行させ、
前記第ニのコンピュータに対し、
前記通信装置から受信された乱数に所定の処理を行う処理ステップと、
前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信ステップと、
を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、証明書を利用せずに装置を証明する技術に関する。
【背景技術】
【０００２】
現在の公衆無線ＬＡＮ（Local Area Network）では、ユーザが操作する通信装置は、ＳＳＩＤ（Service Set Identifier）に接続してＷｅｂ認証等の認証処理を行なうことで、複数の場所に設置されている無線ＬＡＮアクセスポイント（以下、「ＡＰ」という。）において同一の無線ＬＡＮサービスを利用することができる。しかし、ＳＳＩＤは、どのＡＰでも任意の名前を設定することが可能である。そのため、ネットワークサービスの提供者が設置したＡＰ（以下、「正当ＡＰ」という。）になりすましたＡＰ（以下、「不当ＡＰ」という。）に通信装置が接続した場合には、ユーザのＩＤ及びパスワードや通信データが盗聴されてしまうおそれがある。このような問題に対し、公的証明書を利用した技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−１４０５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、公的証明書を利用する場合には、証明書の発行にコストがかかってしまう。したがって、公的証明書を利用するアクセスポイントが増えれば、アクセスポイントの台数に応じて証明書の発行コストが増大してしまう。そのため、コストを抑えつつ、容易にアクセスポイントの証明を行うことができる技術が要求されている。
【０００５】
上記事情に鑑み、本発明は、コストを抑えつつ、容易にアクセスポイントの証明を行うことができる技術の提供を目的としている。
【課題を解決するための手段】
【０００６】
本発明の一態様は、ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムであって、前記通信装置は、前記アクセスポイントの証明に用いられる乱数を生成する乱数生成部と、生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信部と、生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定部と、を備え、前記アクセスポイントは、前記通信装置から受信された乱数に所定の処理を行う処理部と、前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信部と、を備えるアクセスポイント証明システムである。
【０００７】
本発明の一態様は、上記のアクセスポイント証明システムであって、前記通信装置は、生成された前記乱数に暗号化を行う暗号化部をさらに備え、前記通信装置の前記通信部は、暗号化された乱数である暗号化乱数を、証明の対象となるアクセスポイントに送信し、前記暗号化乱数が復号化された後の値である復号化乱数を前記証明の対象となるアクセスポイントから受信し、前記処理部は、前記通信装置から送信された暗号化乱数を復号化し、前記アクセスポイントの前記通信部は、復号化乱数を前記通信装置に送信する。
【０００８】
本発明の一態様は、上記のアクセスポイント証明システムであって、前記通信装置は、証明の対象となるアクセスポイントから送信される、暗号化された乱数である暗号化乱数を復号化する復号化部をさらに備え、前記処理部は、前記通信装置から送信された前記乱数を暗号化し、前記アクセスポイントの前記通信部は、暗号化された乱数を前記通信装置に送信する。
【０００９】
本発明の一態様は、上記のアクセスポイント証明システムであって、前記判定部は、生成された乱数と、復号化された乱数とが一致する場合に前記アクセスポイントが正当なアクセスポイントであると判定し、生成された乱数と、復号化された乱数とが一致しない場合に前記アクセスポイントが正当なアクセスポイントではないと判定する。
【００１０】
本発明の一態様は、ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムにおける通信装置であって、前記アクセスポイントの証明に用いられる乱数を生成する乱数生成部と、生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信部と、生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定部と、を備える通信装置である。
【００１１】
本発明の一態様は、ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムにおけるアクセスポイントであって、前記通信装置から受信された乱数に所定の処理を行う処理部と、前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信部と、を備えるアクセスポイントである。
【００１２】
本発明の一態様は、ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムにおけるアクセスポイント証明方法であって、前記通信装置が、前記アクセスポイントの証明に用いられる乱数を生成する乱数生成ステップと、前記通信装置が、生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信ステップと、前記通信装置が、生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定ステップと、前記アクセスポイントが、前記通信装置から受信された乱数に所定の処理を行う処理ステップと、前記アクセスポイントが、前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信ステップと、を有するアクセスポイント証明方法である。
【００１３】
本発明の一態様は、ユーザが操作する通信装置が接続するアクセスポイントが正当なアクセスポイントであるか否かの証明を行うためのアクセスポイント証明システムとして、前記通信装置に相当する第一のコンピュータ及び前記アクセスポイントに相当する第二のコンピュータを動作させるためのコンピュータプログラムであって、前記第一のコンピュータに対し、前記アクセスポイントの証明に用いられる乱数を生成する乱数生成ステップと、生成された乱数を自装置が接続するアクセスポイントに送信し、前記アクセスポイントから所定の処理が行なわれた乱数を受信する通信ステップと、生成された乱数と、受信された乱数とに基づいて前記アクセスポイントが正当なアクセスポイントであるか否か判定する判定ステップと、を実行させ、前記第ニのコンピュータに対し、前記通信装置から受信された乱数に所定の処理を行う処理ステップと、前記通信装置から乱数を受信し、所定の処理が行なわれた乱数を前記通信装置に送信する通信ステップと、を実行させるためのコンピュータプログラムである。
【発明の効果】
【００１４】
本発明により、コストを抑えつつ、容易にアクセスポイントの証明を行うことが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明におけるアクセスポイント証明システム１００のシステム構成を示す図である。
【図２】第１実施形態における通信装置１０の機能構成を表す概略ブロック図である。
【図３】データベースの具体例を示す図である。
【図４】第１実施形態におけるＡＰ２０の機能構成を表す概略ブロック図である。
【図５】第１実施形態におけるＡＰ側証明情報データベースの具体例を示す図である。
【図６】第１実施形態における通信装置１０のアクセスポイントの証明処理の流れを示すフローチャートである。
【図７】第１実施形態におけるＡＰ２０の処理の流れを示すフローチャートである。
【図８】第１実施形態におけるアクセスポイント証明システム１００の動作を示すシーケンス図である。
【図９】第１実施形態におけるアクセスポイント証明システム１００の動作を示すシーケンス図である。
【図１０】第２実施形態における通信装置１０ａの機能構成を表す概略ブロック図である。
【図１１】データベースの具体例を示す図である。
【図１２】第２実施形態におけるＡＰ２０ａの機能構成を表す概略ブロック図である。
【図１３】第２実施形態におけるＡＰ側証明情報データベースの具体例を示す図である。
【図１４】第２実施形態における通信装置１０ａのアクセスポイントの証明処理の流れを示すフローチャートである。
【図１５】第２実施形態におけるＡＰ２０ａの処理の流れを示すフローチャートである。
【図１６】第２実施形態におけるアクセスポイント証明システム１００の動作を示すシーケンス図である。
【図１７】第２実施形態におけるアクセスポイント証明システム１００の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、本発明の一実施形態を、図面を参照しながら説明する。
図１は、本発明におけるアクセスポイント証明システム１００のシステム構成を示す図である。アクセスポイント証明システム１００は、通信装置１０、ＡＰ２０−１〜２０−３及び認証サーバ３０を備える。通信装置１０とＡＰ２０−１〜２０−３とは、無線ＬＡＮ接続によって通信を行う。無線ＬＡＮ接続には、例えばＷｉ−Ｆｉ（Wireless Fidelity）（登録商標）が用いられる。なお、以下の説明では、ＡＰ２０−１〜２０−３について特に区別しない場合にはＡＰ２０と称する。
【００１７】
通信装置１０は、例えばスマートフォン、タブレット端末、携帯電話、パーソナルコンピュータ、ノートパソコン、ゲーム機器等の情報処理装置を用いて構成される。通信装置１０は、自装置が通信を行うＡＰ２０が正当なアクセスポイント（正当ＡＰ）であるか否か判定する。正当ＡＰとは、ネットワーク（第１ネットワーク４０）サービスの提供者が設置したアクセスポイントである。
【００１８】
ＡＰ２０は、通信装置１０と第１ネットワーク４０との間の通信を中継する中継装置である。ＡＰ２０は、例えば無線ＬＡＮのアクセスポイントである。ＡＰ２０は、通信装置１０に対し、第１ネットワーク４０を介して第２ネットワーク５０への接続、例えば第１ネットワーク４０及び第２ネットワーク５０を介したサーバ装置（不図示）へのアクセスなどを提供する。また、ＡＰ２０は、第１ネットワーク４０を介して認証サーバ３０との間で通信を行う。
【００１９】
認証サーバ３０は、通信装置１０のユーザが正当なユーザであるか否か認証する。例えば、認証サーバ３０は、Ｗｅｂ認証によりユーザが正当なユーザであるか否か認証する。より具体的には、認証サーバ３０は、通信装置１０から送信されたＩＤ及びパスワードなどの認証情報が、自装置に記憶されているＩＤ及びパスワードと一致するか否かに応じて通信装置１０のユーザの認証を行う。
【００２０】
第１ネットワーク４０は、ＡＰ２０と認証サーバ３０及び第２ネットワーク５０とを通信可能に接続するネットワークである。第１ネットワーク４０は、どのように構成されたネットワークでもよい。例えば、第１ネットワーク４０はＮＧＮ（Next Generation Network）を用いて構成されてもよい。
第２ネットワーク５０は、第１ネットワーク４０を介したＡＰ２０とサーバ装置（不図示）とを通信可能に接続するネットワークである。第２ネットワーク５０は、どのように構成されたネットワークでもよい。例えば、第２ネットワーク５０はインターネットを用いて構成されてもよい。
以下、本発明におけるアクセスポイント証明システム１００の具体的な構成例（第１実施形態及び第２実施形態）について説明する。
【００２１】
［第１実施形態］
図２は、第１実施形態における通信装置１０の機能構成を表す概略ブロック図である。
通信装置１０は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などを備え、アクセスポイント判定プログラムを実行する。アクセスポイント判定プログラムの実行によって、通信装置１０は、乱数生成部１０１、公開鍵情報記憶部１０２、暗号化部１０３、接続先情報記憶部１０４、制御部１０５、通信部１０６、装置側証明情報記憶部１０７、判定部１０８、入力部１０９、表示部１１０を備える装置として機能する。なお、通信装置１０の各機能の全て又は一部は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて実現されてもよい。また、アクセスポイント判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、アクセスポイント判定プログラムは、電気通信回線を介して送受信されてもよい。
【００２２】
乱数生成部１０１は、所定のタイミングで、ＡＰ２０の証明に用いられる乱数を生成する。所定のタイミングとは、入力部１０９を介してユーザからＡＰ２０の証明を行う旨の指示が入力されたタイミングでもよいし、ＡＰ２０との間で接続が完了したタイミングであってもよいし、その他のタイミングであってもよい。
公開鍵情報記憶部１０２は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。公開鍵情報記憶部１０２は、通信装置１０において暗号化及び復号化に用いられる公開鍵の鍵情報を記憶する。公開鍵情報記憶部１０２には、ＡＰ２０が保有する秘密鍵の対となる公開鍵の鍵情報が記憶される。
【００２３】
暗号化部１０３は、乱数生成部１０１によって生成された乱数と、公開鍵情報記憶部１０２に記憶されている公開鍵の鍵情報とに基づいて乱数を暗号化する。暗号化には、既存の技術が用いられる。例えば、暗号化には、ＲＳＡ（Rivest Shamir Adleman）暗号方式が用いられてもよい。暗号化部１０３は、暗号化した乱数（以下、「暗号化乱数」という。）を制御部１０５に出力する。
接続先情報記憶部１０４は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。接続先情報記憶部１０４は、接続先情報データベースを記憶している。接続先情報データベースには、通信装置１０が接続している接続先（ＡＰ２０）に関する情報が登録される。
【００２４】
制御部１０５は、通信装置１０を制御する。例えば、制御部１０５は、暗号化乱数と接続先情報データベースとに基づいて、ＡＰ２０の証明を行うためのＨＴＴＰ（Hyper Text Transfer Protocol）リクエストを生成する。ＡＰ２０の証明を行うためのＨＴＴＰリクエストには、例えば暗号化乱数及びＵＲＩが含まれる。例えば、制御部１０５は、通信部１０６を介して受信されるＨＴＴＰレスポンスに含まれる情報に応じて、ＨＴＴＰレスポンスを表示部１１０又は判定部１０８に出力する。ＨＴＴＰレスポンスには、例えば復号化後の乱数（以下、「復号化乱数」という。）やＷｅｂ認証用の画面情報が含まれる。
通信部１０６は、ＡＰ２０との間で通信を行う。例えば、通信部１０６は、ＨＴＴＰリクエストをＡＰ２０に送信する。例えば、通信部１０６は、ＡＰ２０からＨＴＴＰレスポンスを受信する。
【００２５】
装置側証明情報記憶部１０７は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。装置側証明情報記憶部１０７は、装置側証明情報データベースを記憶している。装置側証明情報データベースには、ＡＰ２０の証明に関する情報が登録される。
判定部１０８は、ＨＴＴＰレスポンスに含まれる復号化乱数と、装置側証明情報記憶部１０７に記憶されている装置側証明情報データベースとに基づいて、ＨＴＴＰレスポンスの送信元であるＡＰ２０が正当なアクセスポイントであるか否か判定する。
【００２６】
入力部１０９は、キーボード、ポインティングデバイス（マウス、タブレット等）、タッチパネル、ボタン等の既存の入力装置を用いて構成される。入力部１０９は、ユーザの指示を通信装置１０に入力する際にユーザによって操作される。例えば、入力部１０９は、ＩＤ及びパスワードの入力を受け付ける。また、入力部１０９は、入力装置を通信装置１０に接続するためのインタフェースであってもよい。この場合、入力部１０９は、入力装置においてユーザの入力に応じて生成された入力信号を通信装置１０に入力する。
【００２７】
表示部１１０は、ＣＲＴ（Cathode Ray Tube）ディスプレイ、液晶ディスプレイ、有機ＥＬ（Electro Luminescence）ディスプレイ等の画像表示装置である。表示部１１０は、通信部１０６によって受信された情報を表示する。例えば、表示部１１０は、認証画面の情報を表示する。表示部１１０は、画像表示装置を通信装置１０に接続するためのインタフェースであってもよい。この場合、表示部１１０は、認証画面の情報を表示するための映像信号を生成し、自身に接続されている画像表示装置に映像信号を出力する。
【００２８】
図３は、通信装置１０が記憶しているデータベースの具体例を示す図である。
図３（Ａ）は、第１実施形態における装置側証明情報データベースの具体例を示す図である。
装置側証明情報データベースは、ＡＰ２０の証明に関する情報を表すレコード６０を複数有する。レコード６０は、ＭＡＣ＿ＡＰ、生成乱数、送信暗号化乱数、受信乱数及び判定結果の各値を有する。ＭＡＣ＿ＡＰの値は、ＡＰ２０のＭＡＣアドレスを表す。生成乱数の値は、同じレコード６０のＭＡＣ＿ＡＰで識別されるＡＰ２０の証明に用いられる乱数を表す。つまり、生成乱数の項目には、乱数生成部１０１によって生成された乱数の値が記録される。送信暗号化乱数の値は、同じレコード６０の生成乱数が暗号化部１０３によって暗号化された後の値を表す。受信乱数の値は、同じレコード６０のＭＡＣ＿ＡＰで識別されるＡＰ２０から送信されたＨＴＴＰレスポンスに含まれる復号化乱数を表す。判定結果の値は、同じレコード６０のＭＡＣ＿ＡＰで識別されるＡＰ２０が正当なアクセスポイントであるか否かを示す判定結果を表す。
【００２９】
図３（Ａ）に示される例では、装置側証明情報データベースには複数のＭＡＣ＿ＡＰ（図３（Ａ）の場合、３つのＭＡＣ＿ＡＰ）が記録されている。これらのＭＡＣ＿ＡＰは、“ＡＡＡ”、“ＢＢＢ”、“ＣＣＣ”である。図３（Ａ）において、装置側証明情報データベースの最上段に記録されているレコード６０は、ＭＡＣ＿ＡＰの値が“ＡＡＡ”、生成乱数の値が“ＤＤ”、送信暗号化乱数の値が“ＤＤＤ”、受信乱数の値が“ＤＤ”、判定結果の値が“正当”である。すなわち、ＭＡＣアドレス“ＡＡＡ”で識別されるＡＰ２０の証明に用いられる乱数が“ＤＤ”であり、乱数“ＤＤ”が暗号化された後の値が“ＤＤＤ”であり、ＡＰ２０から受信されたＨＴＴＰレスポンスに含まれる復号化乱数が“ＤＤ”であり、ＡＰ２０が正当なアクセスポイントであることが表されている。
【００３０】
また、図３（Ａ）において、装置側証明情報データベースの２段目に記録されているレコード６０は、ＭＡＣ＿ＡＰの値が“ＢＢＢ”、生成乱数の値が“ＥＥ”、送信暗号化乱数の値が“ＥＥＥ”、受信乱数の値が“ＦＦ”、判定結果の値が“不当”である。すなわち、ＭＡＣアドレス“ＢＢＢ”で識別されるＡＰ２０の証明に用いられる乱数が“ＥＥ”であり、乱数“ＥＥ”が暗号化された後の値が“ＥＥＥ”であり、ＡＰ２０から受信されたＨＴＴＰレスポンスに含まれる復号化乱数が“ＦＦ”であり、ＡＰ２０が正当なアクセスポイントではないことが表されている。
【００３１】
図３（Ｂ）は、第１実施形態における接続先情報データベースの具体例を示す図である。
接続先情報データベースは、通信装置１０が接続している接続先（ＡＰ２０）に関する情報を表すレコード６１を複数有する。レコード６１は、ＵＲＩ（Uniform Resource Identifier）及び利用目的の各値を有する。ＵＲＩの値は、通信装置１０の接続先となるＡＰ２０の情報資源を指定する識別子を表す。利用目的の値は、同じレコード６１のＵＲＩに接続する目的を表す。
【００３２】
図３（Ｂ）に示される例では、接続先情報データベースには複数のＵＲＩ（図３（Ｂ）の場合、２つのＵＲＩ）が登録されている。これらのＵＲＩは、“ＸＸＸ”、“ＹＹＹ”である。図３（Ｂ）において、接続先情報データベースの最上段に記録されているレコード６１は、ＵＲＩの値が“ＸＸＸ”、利用目的の値が“ＡＰ証明”である。すなわち、通信装置１０が、ＡＰ２０の証明を行う際にＵＲＩ“ＸＸＸ”に接続することが表されている。
また、図３（Ｂ）において、接続先情報データベースの２段目に記録されているレコード６１は、ＵＲＩの値が“ＹＹＹ”、利用目的の値が“Ｗｅｂ認証”である。すなわち、通信装置１０が、Ｗｅｂ認証を行う際にＵＲＩ“ＹＹＹ”に接続することが表されている。
【００３３】
図４は、第１実施形態におけるＡＰ２０の機能構成を表す概略ブロック図である。
ＡＰ２０は、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、中継プログラムを実行する。中継プログラムの実行によって、ＡＰ２０は、第１通信部２０１、制御部２０２、秘密鍵情報記憶部２０３、復号化部２０４、ＡＰ側証明情報記憶部２０５、認証情報記憶部２０６、第２通信部２０７、中継部２０８を備える装置として機能する。なお、ＡＰ２０の各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、中継プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、中継プログラムは、電気通信回線を介して送受信されてもよい。
【００３４】
第１通信部２０１は、通信装置１０との間で通信を行う。例えば、第１通信部２０１は、通信装置１０からＨＴＴＰリクエストを受信する。例えば、第１通信部２０１は、ＨＴＴＰレスポンスを通信装置１０に送信する。
制御部２０２は、第１通信部２０１によって受信されたＨＴＴＰリクエストに含まれるＵＲＩに応じて自装置を制御する。例えば、制御部２０２は、ＨＴＴＰリクエストに含まれるＵＲＩがＡＰ証明用のＵＲＩである場合、ＨＴＴＰリクエストを復号化部２０４に出力する。
【００３５】
秘密鍵情報記憶部２０３は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。秘密鍵情報記憶部２０３は、ＡＰ２０において暗号化及び復号化に用いられる秘密鍵の鍵情報を記憶する。秘密鍵情報記憶部２０３には、通信装置１０が保有する公開鍵の対となる秘密鍵の鍵情報が記憶される。
復号化部２０４は、ＨＴＴＰリクエストに含まれる暗号化乱数と、秘密鍵情報記憶部２０３に記憶されている秘密鍵の鍵情報とに基づいて暗号化乱数を復号化する。復号化には、既存の技術が用いられる。例えば、復号化部２０４は、通信装置１０が備える暗号化部１０３が行った暗号化方式と同様の方式で復号化する。復号化部２０４は、復号化した乱数（復号化乱数）を制御部２０２に出力する。
【００３６】
ＡＰ側証明情報記憶部２０５は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ＡＰ側証明情報記憶部２０５は、ＡＰ側証明情報データベースを記憶している。ＡＰ側証明情報データベースには、通信装置１０に関する情報が登録される。
認証情報記憶部２０６は、Ｗｅｂ認証用の画面情報を記憶している。
第２通信部２０７は、第１ネットワーク４０を介して認証サーバ３０及び第２ネットワーク５０との間で通信を行う。
中継部２０８は、第１通信部２０１と第２通信部２０７との間の通信を中継する。
【００３７】
図５は、第１実施形態におけるＡＰ側証明情報データベースの具体例を示す図である。
ＡＰ側証明情報データベースは、通信装置１０に関する情報を表すレコード７０を複数有する。レコード７０は、ＭＡＣ＿ＳＴＡ、受信暗号化乱数及び復号化乱数の各値を有する。ＭＡＣ＿ＳＴＡの値は、通信装置１０のＭＡＣアドレスを表す。受信暗号化乱数の値は、同じレコード７０のＭＡＣアドレスで識別される通信装置１０から送信されたＨＴＴＰリクエストに含まれる暗号化乱数を表す。復号化乱数の値は、同じレコード７０の受信暗号化乱数が復号化された後の乱数を表す。
【００３８】
図５に示される例では、ＡＰ側証明情報データベースには１つのＭＡＣ＿ＳＴＡが登録されている。図５において、ＡＰ側証明情報データベースの最上段に記録されているレコード７０は、ＭＡＣ＿ＳＴＡの値が“ＳＳＳ”、受信暗号化乱数の値が“ＴＴＴ”、復号化乱数の値が“ＵＵ”である。すなわち、ＭＡＣアドレス“ＡＡＡ”で識別される通信装置１０から送信されたＨＴＴＰリクエストに含まれる暗号化乱数が“ＴＴＴ”であり、この暗号化乱数が復号化された後の乱数が“ＵＵ”であることが表されている。
【００３９】
図６は、第１実施形態における通信装置１０のアクセスポイントの証明処理の流れを示すフローチャートである。なお、図６の処理開始時には、通信装置１０はＡＰ２０に帰属している。
乱数生成部１０１は、所定のタイミングで乱数を生成する（ステップＳ１０１）。乱数生成部１０１は、生成した乱数を暗号化部１０３に出力する。また、乱数生成部１０１は、生成した乱数の情報を装置側証明情報記憶部１０７に記録する。具体的には、まず乱数生成部１０１は、装置側証明情報記憶部１０７に記憶されている装置側証明情報データベースを読み出す。次に、乱数生成部１０１は、読み出した装置側証明情報データベースのレコード６０のうち、証明する対象となっているＡＰ２０（以下、「証明対象ＡＰ」という。）のＭＡＣアドレスに対応するレコード６０を選択する。そして、乱数生成部１０１は、選択したレコード６０の生成乱数の項目に、ステップＳ１０１の処理で生成された乱数の情報を記録する。
【００４０】
暗号化部１０３は、出力された乱数と、公開鍵情報記憶部１０２に記憶されている公開鍵の鍵情報とに基づいて、乱数を暗号化する（ステップＳ１０２）。暗号化部１０３は、暗号化乱数を制御部１０５に出力する。また、暗号化部１０３は、暗号化乱数の情報を装置側証明情報記憶部１０７に記録する。具体的には、まず暗号化部１０３は、装置側証明情報記憶部１０７に記憶されている装置側証明情報データベースを読み出す。次に、暗号化部１０３は、読み出した装置側証明情報データベースのレコード６０のうち、証明対象ＡＰのＭＡＣアドレスに対応するレコード６０を選択する。そして、暗号化部１０３は、選択したレコード６０の送信暗号化乱数の項目に、暗号化乱数の情報を記録する。
【００４１】
制御部１０５は、暗号化乱数が出力されたため、ＡＰ２０の証明を行うためのＨＴＴＰリクエストを生成する。ＨＴＴＰリクエストには、接続先情報記憶部１０４に記憶されている接続先情報データベースの利用目的“ＡＰ証明”に対応付けて記録されているＵＲＩと、出力された暗号化乱数とが含まれる。制御部１０５は、ＨＴＴＰリクエストを通信部１０６に出力する。通信部１０６は、ＨＴＴＰリクエストをＡＰ２０に送信する（ステップＳ１０３）。
【００４２】
制御部１０５は、通信部１０６を介してＨＴＴＰレスポンスが受信されたか否か判定する（ステップＳ１０４）。ＨＴＴＰレスポンスが受信されていない場合（ステップＳ１０４−ＮＯ）、制御部１０５は予め設定されたタイムアウトの時間が経過したか否か判定する（ステップＳ１０５）。タイムアウトの時間が経過した場合（ステップＳ１０５−ＹＥＳ）、通信装置１０は処理を終了する。
一方、タイムアウトの時間が経過していない場合（ステップＳ１０５−ＮＯ）、通信装置１０はステップＳ１０４以降の処理を繰り返し実行する。
【００４３】
また、ステップＳ１０４の処理において、ＨＴＴＰレスポンスが受信されている場合（ステップＳ１０４−ＹＥＳ）、制御部１０５はＨＴＴＰレスポンスを読み込む（ステップＳ１０６）。具体的には、制御部１０５は、ＨＴＴＰレスポンスに復号化乱数が含まれる場合、ＨＴＴＰレスポンスを判定部１０８に出力し、ＨＴＴＰレスポンスにＷｅｂ認証用の画面情報が含まれる場合、ＨＴＴＰレスポンスを表示部１１０に出力する。図６では、ＨＴＴＰレスポンスに復号化乱数が含まれる場合を説明する。したがって、制御部１０５は、ＨＴＴＰレスポンスを判定部１０８に出力する。
【００４４】
判定部１０８は、出力されたＨＴＴＰレスポンスから復号化乱数を取得する。判定部１０８は、復号化乱数と、装置側証明情報データベースの証明対象ＡＰのＭＡＣアドレスに対応するレコード６０の生成乱数の項目に記録されている生成乱数とが一致するか否か判定する（ステップＳ１０７）。乱数が一致する場合（ステップＳ１０７−ＹＥＳ）、判定部１０８は自装置が接続しているＡＰ２０が正当なアクセスポイントであると判定する（ステップＳ１０８）。その後、判定部１０８は、判定結果を、装置側証明情報データベースの証明対象ＡＰのＭＡＣアドレスに対応するレコード６０の受信乱数及び判定結果の項目に記録する。例えば、判定部１０８は、受信乱数の項目にステップＳ１０７の処理で取得された復号化乱数の情報を記録し、判定結果の項目に正当の文字列を記録する。
【００４５】
一方、乱数が一致しない場合（ステップＳ１０７−ＮＯ）、判定部１０８は自装置が接続しようとしているＡＰ２０が不当なアクセスポイントであると判定する（ステップＳ１０９）。この場合、制御部１０５は、ユーザの通信装置１０がなりすましＡＰに接続している可能性がある旨を表示部１１０に表示させてもよい。例えば、制御部１０５は、表示部１１０にポップアップ表示させてもよい。その後、判定部１０８は、判定結果を、装置側証明情報データベースの証明対象ＡＰのＭＡＣアドレスに対応するレコード６０の受信乱数及び判定結果の項目に記録する。例えば、判定部１０８は、受信乱数の項目にステップＳ１０７の処理で取得された復号化乱数の情報を記録し、判定結果の項目に不当の文字列を記録する。
【００４６】
図７は、第１実施形態におけるＡＰ２０の処理の流れを示すフローチャートである。なお、図７では、ＡＰ２０の復号化乱数の送信処理について説明する。つまり、図７では、ＡＰ２０の認証処理についての説明は省略する。
第１通信部２０１は、通信装置１０から送信されたＨＴＴＰリクエストを受信する（ステップＳ２０１）。第１通信部２０１は、受信したＨＴＴＰリクエストを制御部２０２に出力する。制御部２０２は、ＨＴＴＰリクエストに含まれているＵＲＩがＡＰ認証用のＵＲＩであるか否か判定する（ステップＳ２０２）。ＡＰ認証用のＵＲＩではない場合（ステップＳ２０２−ＮＯ）、ＡＰ２０は処理を終了する。
【００４７】
一方、ＡＰ認証用のＵＲＩである場合（ステップＳ２０２−ＹＥＳ）、制御部２０２はＨＴＴＰリクエストに暗号化乱数が含まれているか否か判定する（ステップＳ２０３）。暗号化乱数が含まれていない場合（ステップＳ２０３−ＮＯ）、ＡＰ２０は処理を終了する。
また、ステップＳ２０３の処理において、暗号化乱数が含まれている場合（ステップＳ２０３−ＹＥＳ）、制御部２０２はＨＴＴＰリクエストを復号化部２０４に出力する。
【００４８】
また、制御部２０２は、ＨＴＴＰリクエストに暗号化乱数が含まれている場合、ＡＰ側証明情報記憶部２０５に記憶されているＡＰ側証明情報データベースに、ＨＴＴＰリクエストの送信元である通信装置１０のＭＡＣアドレスが登録されたレコード７０を新たに作成する。次に、制御部２０２は、ＨＴＴＰリクエストから暗号化乱数を取得する。そして、制御部２０２は、取得した暗号化乱数の情報を、新たに作成したレコード７０の受信暗号化乱数の項目に、ＨＴＴＰリクエストの送信元である通信装置１０のＭＡＣアドレスと対応付けて記録する。
【００４９】
また、復号化部２０４は、秘密鍵情報記憶部２０３に記憶されている秘密鍵の鍵情報と、ＨＴＴＰリクエストに含まれる暗号化乱数とに基づいて、暗号化乱数を復号化する（ステップＳ２０４）。復号化部２０４は、復号化乱数を制御部２０２に出力する。
制御部２０２は、復号化部２０４から復号化乱数が出力されると、ＨＴＴＰレスポンスを生成する。この際生成されるＨＴＴＰレスポンスには、復号化乱数が含まれる。制御部２０２は、第１通信部２０１を介してＨＴＴＰリクエストの送信元である通信装置１０にＨＴＴＰレスポンスを送信する（ステップＳ２０５）。また、制御部２０２は、復号化乱数の情報を、ＨＴＴＰリクエストの送信元である通信装置１０のＭＡＣアドレスと対応付けて、ＡＰ側認証情報テーブルの復号化乱数の項目に記録する。
【００５０】
図８及び図９は、第１実施形態におけるアクセスポイント証明システム１００の動作を示すシーケンス図である。
通信装置１０は、入力部１０９を介してＡＰ２０の証明を行う旨の指示がユーザから入力されると（ステップＳ３０１）、自装置の周辺に位置するＡＰ２０のうち電波が最も強いＡＰ２０に帰属する。その後、通信装置１０は、ＤＨＣＰディスカバーを生成し、生成したＤＨＣＰディスカバーをＡＰ２０に送信する（ステップＳ３０２）。
ＡＰ２０は、通信装置１０から送信されたＤＨＣＰディスカバーを受信する。その後、通信装置１０とＡＰ２０との間で、ＤＨＣＰオファー、ＤＨＣＰリクエスト及びＤＨＣＰアックの送受信が行われる（ステップＳ３０３）。これにより、通信装置１０は、自装置が使用するＩＰアドレスを取得する。
【００５１】
次に、通信装置１０は、名前解決要求を生成し、生成した名前解決要求をＡＰ２０に送信する（ステップＳ３０４）。
ＡＰ２０は、通信装置２０から名前解決要求を受信する。ＡＰ２０は、受信した名前解決要求の応答として名前解決応答を生成し、生成した名前解決応答を通信装置１０に送信する（ステップＳ３０５）。これにより、通信装置２０は、ＡＰ２０のＩＰアドレスの情報を取得する。
【００５２】
通信装置１０の乱数生成部１０１は、乱数を生成する（ステップＳ３０６）。暗号化部１０３は、公開鍵情報と、生成された乱数とに基づいて乱数を暗号化する（ステップＳ３０７）。これにより、暗号化乱数が生成される。制御部１０５は、暗号化乱数が出力されると、ＨＴＴＰリクエストを生成する。この際生成されるＨＴＴＰリクエストには、ＡＰ２０証明用のＵＲＩ及び暗号化乱数が含まれる。通信部１０６は、生成されたＨＴＴＰリクエストをＡＰ２０に送信する（ステップＳ３０８）。
【００５３】
ＡＰ２０の第１通信部２０１は、通信装置１０から送信されたＨＴＴＰリクエストを受信する。第１通信部２０１が受信したＨＴＴＰリクエストに含まれるＵＲＩがＡＰ２０の証明用のＵＲＩであるため、制御部２０２はＨＴＴＰリクエストを復号化部２０４に出力する。復号化部２０４は、出力されたＨＴＴＰリクエストに含まれる暗号化乱数を、秘密鍵情報記憶部２０３に記憶されている秘密鍵の鍵情報に基づいて復号化する（ステップＳ３０９）。復号化部２０４は、復号化した乱数（復号化乱数）を制御部２０２に出力する。制御部２０２は、復号化乱数が出力されると、ＨＴＴＰレスポンスを生成する。この際生成されるＨＴＴＰレスポンスには、復号化乱数が含まれる。第１通信部２０１は、生成されたＨＴＴＰレスポンスを、ＨＴＴＰリクエストの送信元である通信装置１０に送信する（ステップＳ３１０）。
【００５４】
通信装置１０の通信部１０６は、ＡＰ２０から送信されたＨＴＴＰレスポンスを受信する。通信部１０６は、受信したＨＴＴＰレスポンスを制御部１０５に出力する。ＨＴＴＰレスポンスには、復号化乱数が含まれているため、制御部１０５はＨＴＴＰレスポンスを判定部１０８に出力する。判定部１０８は、ＨＴＴＰレスポンスに含まれる復号化乱数と、装置側認証情報データベースのレコード６０のうち、証明対象ＡＰのＭＡＣアドレスに対応するレコード６０の生成乱数の項目に記録されている値とが一致するか否か判定する（ステップＳ３１１）。
【００５５】
判定の結果、値が一致するため、判定部１０８は自装置が接続しているＡＰ２０が正当なアクセスポイントであると判定する。判定部１０８は、判定結果を制御部１０５に出力する。制御部１０５は、判定部１０８から正当なアクセスポイントである旨の通知が出力されると、Ｗｅｂ認証を行なうためのＨＴＴＰリクエストを生成する。ＨＴＴＰリクエストには、接続先情報記憶部１０４に記憶されている接続先情報データベースの利用目的“Ｗｅｂ認証”に対応付けて記録されているＵＲＩが含まれる。通信部１０６は、生成されたＨＴＴＰリクエストをＡＰ２０に送信する（ステップＳ３１２）。
【００５６】
ＡＰ２０の第１通信部２０１は、通信装置１０から送信されたＨＴＴＰリクエストを受信する。第１通信部２０１が受信したＨＴＴＰリクエストに含まれるＵＲＩがＷｅｂ認証用のＵＲＩであるため、制御部２０２は認証情報記憶部２０６からＷｅｂ認証用の画面情報を取得する。その後、制御部２０２は、ＨＴＴＰレスポンスを生成する。この際生成されるＨＴＴＰレスポンスには、Ｗｅｂ認証用の画面情報が含まれる。第１通信部２０１は、生成されたＨＴＴＰレスポンスを、ＨＴＴＰリクエストの送信元である通信装置１０に送信する（ステップＳ３１３）。
【００５７】
通信装置１０の通信部１０６は、ＡＰ２０から送信されたＨＴＴＰレスポンスを受信する。通信部１０６は、受信したＨＴＴＰレスポンスを制御部１０５に出力する。ＨＴＴＰレスポンスには、Ｗｅｂ認証用の画面情報が含まれているため、制御部１０５はＨＴＴＰレスポンスを表示部１１０に出力する。表示部１１０は、Ｗｅｂ認証用の画面を表示してユーザからＩＤ及びパスワードの入力を受け付ける（ステップＳ３１４）。
【００５８】
ユーザは、入力部１０９を介してＩＤ及びパスワードを入力する。通信部１０６は、入力部１０９を介して入力されたＩＤ及びパスワードをＡＰ２０に送信する（ステップＳ３１５）。
ＡＰ２０の第１通信部２０１は、通信装置１０から送信されたＩＤ及びパスワードを受信する。第２通信部２０７は、第１通信部２０１によって受信されたＩＤ及びパスワードを制御部２０２及び認証情報記憶部２０６を介して取得する。その後、第２通信部２０７は、第１ネットワーク４０を介してＩＤ及びパスワードを認証サーバ３０に送信する（ステップＳ３１６）。
【００５９】
認証サーバ３０は、ＡＰ２０から送信されたＩＤ及びパスワードを受信する。認証サーバ３０は、受信したＩＤ及びパスワードに基づいて、通信装置１０のユーザが正当なユーザであるか否か判定する（ステップＳ３１７）。判定の結果、正当なユーザであるため、認証サーバ３０は認証がなされた旨の通知を含む認証結果をＡＰ２０に送信する（ステップＳ３１８）。
ＡＰ２０の第２通信部２０７は、認証サーバ３０から送信された認証結果を受信する。第２通信部２０７は、中継部２０８を介して第１通信部２０１に受信した認証情報を出力する。第１通信部は、出力された認証情報を通信装置１０に送信する（ステップＳ３１９）。その後、通信装置１０とＡＰ２０との間で通信が行われる（ステップＳ３２０）。
【００６０】
以上のように構成された第１実施形態におけるアクセスポイント証明システム１００によれば、通信装置１０にて生成され暗号化された乱数と、ＡＰ２０から復号化されて送信された乱数とが一致するか否かに応じてＡＰ２０の証明が行われる。乱数の値が一致する場合、ＡＰ２０が正当なアクセスポイントであると判定される。一方、乱数の値が一致しない場合、ＡＰ２０が不当なアクセスポイントであると判定される。このように、ＡＰ２０の証明には乱数が使用され、乱数の値に応じた判定がなされる。したがって、証明のために高度な処理が不要となり、さらにＡＰ２０の証明に証明書を利用する必要がない。そのため、コストを抑えつつ、容易にＡＰ２０の証明を行うことが可能になる。その結果、なりすましＡＰ（不当ＡＰ）による被害を軽減することができる。
【００６１】
上述したように、本発明におけるアクセスポイント証明システム１００では、従来にはなかったＡＰのなりすましを防ぐための証明方式を確立することが可能になる。このような証明方式を利用することで、証明の一般的な課題である証明書の発行や維持に関するコストを削減することができる。
また、通信装置１０には、ＡＰ２０が保有する秘密鍵の対となる公開鍵の鍵情報が記憶され、ＡＰ２０には通信装置１０が保有する公開鍵の対となる秘密鍵の鍵情報が記憶される。そして、暗号化及び復号化には、それぞれ公開鍵又は秘密鍵が使用される。したがって、不当ＡＰでは、通信装置１０から暗号化されて送信される暗号化乱数を復号することができない。この場合、通信装置１０は、自装置が接続しているＡＰ２０が不当なアクセスポイントであると判断することができる。そのため、ユーザに不当なＡＰである旨を通知するなどすることで未然に被害の発生を防ぐことが可能になる。
【００６２】
また、証明書を利用した場合、ユーザに通知される証明書のデータは固定値である。そのため、従来では、データ自体を偽造された場合、中間攻撃やなりすましが発生してしまうおそれがあった。しかし、本発明では、ＡＰ２０の証明に固定値ではなくランダムな値である乱数が用いられる。さらに、証明に用いられる値は、ＡＰ２０側からではなく通信装置１０側から送信される。そのため、証明に用いられるデータが偽造されてしまうおそれを軽減することが可能になる。
【００６３】
＜変形例＞
本実施形態では、アクセスポイント証明システム１００が３台のＡＰ２０を備える構成を示したが、アクセスポイント証明システム１００は４台以上のＡＰ２０を備えるように構成されてもよいし、２台以下のＡＰ２０を備えるように構成されてもよい。
本実施形態では、図７のステップＳ２０２の処理において、ＨＴＴＰリクエストにＡＰ証明用のＵＲＩが含まれていない場合にはＡＰ２０が処理を終了する構成を示したが、これに限定される必要はない。例えば、ＨＴＴＰリクエストにＡＰ証明用のＵＲＩが含まれていない場合、ＡＰ２０はＡＰ証明用のＵＲＩの情報を通信装置１０に送信してもよい。
本実施形態では、図７のステップＳ２０３の処理において、ＨＴＴＰリクエストに暗号化乱数が含まれていない場合にはＡＰ２０が処理を終了する構成を示したが、これに限定される必要はない。例えば、ＨＴＴＰリクエストに暗号化乱数が含まれていない場合、ＡＰ２０はＨＴＴＰレスポンスを応答しなくてもよいし、ＨＴＴＰレスポンスに値（例えば、暗号化乱数）が格納されていない旨の通知を含めて通信装置１０に送信してもよい。
【００６４】
［第２実施形態］
図１０は、第２実施形態における通信装置１０ａの機能構成を表す概略ブロック図である。
通信装置１０ａは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、アクセスポイント判定プログラムを実行する。アクセスポイント判定プログラムの実行によって、通信装置１０ａは、乱数生成部１０１、公開鍵情報記憶部１０２、接続先情報記憶部１０４、制御部１０５ａ、通信部１０６ａ、装置側証明情報記憶部１０７ａ、判定部１０８ａ、入力部１０９、表示部１１０、復号化部１１１を備える装置として機能する。なお、通信装置１０ａの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、アクセスポイント判定プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、アクセスポイント判定プログラムは、電気通信回線を介して送受信されてもよい。
【００６５】
第２実施形態における通信装置１０ａは、制御部１０５、装置側証明情報記憶部１０７及び判定部１０８に代えて制御部１０５ａ、装置側証明情報記憶部１０７ａ、判定部１０８ａ及び復号化部１１１を備える点で通信装置１０と構成が異なる。通信装置１０ａは、他の構成については通信装置１０と同様である。そのため、通信装置１０ａ全体の説明は省略し、制御部１０５ａ、装置側証明情報記憶部１０７ａ、判定部１０８ａ及び復号化部１１１について説明する。
【００６６】
制御部１０５ａは、通信装置１０ａを制御する。例えば、制御部１０５ａは、乱数生成部１０１によって生成された乱数と、接続先情報記憶部１０４に記憶されている接続先情報データベースとに基づいて、ＡＰ２０の証明を行うためのＨＴＴＰリクエストを生成する。ＡＰ２０の証明を行うためのＨＴＴＰリクエストには、例えば乱数及びＵＲＩが含まれる。例えば、制御部１０５ａは、通信部１０６を介して受信されたＨＴＴＰレスポンスに含まれる情報を表示部１１０又は復号化部１１１に出力する。ＨＴＴＰレスポンスには、例えば暗号化乱数やＷｅｂ認証用の画面情報が含まれる。
【００６７】
装置側証明情報記憶部１０７ａは、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。装置側証明情報記憶部１０７ａは、装置側証明情報データベースを記憶している。装置側証明情報データベースには、ＡＰ２０ａの証明に関する情報が登録される。
判定部１０８ａは、復号化部１１１によって復号化された乱数（復号化乱数）と、装置側証明情報記憶部１０７ａに記憶されている装置側証明情報データベースとに基づいて、ＨＴＴＰレスポンスの送信元であるＡＰ２０ａが正当なアクセスポイントであるか否か判定する。
【００６８】
復号化部１１１は、ＨＴＴＰレスポンスに含まれる暗号化乱数と、秘密鍵情報記憶部２０３に記憶されている秘密鍵の鍵情報とに基づいて暗号化乱数を復号化する。復号化には、既存の技術が用いられる。復号化部１１１は、復号化乱数を判定部１０８ａに出力する。
【００６９】
図１１は、通信装置１０ａが記憶しているデータベースの具体例を示す図である。
図１１（Ａ）は、第２実施形態における装置側証明情報データベースの具体例を示す図である。
装置側証明情報データベースは、ＡＰ２０ａの証明に関する情報を表すレコード６０ａを複数有する。レコード６０ａは、ＭＡＣ＿ＡＰ、生成乱数、受信暗号化乱数、復号化乱数及び判定結果の各値を有する。ＭＡＣ＿ＡＰの値は、ＡＰ２０ａのＭＡＣアドレスを表す。生成乱数の値は、同じレコード６０ａのＭＡＣ＿ＡＰで識別されるＡＰ２０ａの証明に用いられる乱数を表す。受信暗号化乱数の値は、同じレコード６０ａのＭＡＣアドレスで識別されるＡＰ２０ａから送信されたＨＴＴＰレスポンスに含まれる暗号化乱数を表す。復号化乱数の値は、同じレコード６０ａの受信暗号化乱数が復号化された後の乱数を表す。判定結果の値は、同じレコード６０ａのＭＡＣ＿ＡＰで識別されるＡＰ２０が正当なアクセスポイントであるか否かを示す判定結果を表す。
【００７０】
図１１（Ａ）に示される例では、装置側証明情報データベースには複数のＭＡＣ＿ＡＰ（図１１（Ａ）の場合、３つのＭＡＣ＿ＡＰ）が登録されている。図１１（Ａ）において、装置側証明情報データベースの最上段に記録されているレコード６０ａは、ＭＡＣ＿ＡＰの値が“ＡＡＡ”、生成乱数の値が“ＤＤ”、受信暗号化乱数の値が“ＤＤＤ”、復号化乱数の値が“ＤＤ”、判定結果の値が“正当”である。すなわち、ＭＡＣアドレス“ＡＡＡ”で識別されるＡＰ２０の証明に用いられる乱数が“ＤＤ”であり、このＡＰ２０から受信されたＨＴＴＰレスポンスに含まれる暗号化乱数が“ＤＤＤ”であり、この暗号化乱数が復号化された後の乱数が“ＤＤ”であり、このＡＰ２０が正当なアクセスポイントであることが表されている。
【００７１】
また、図１１（Ａ）において、装置側証明情報データベースの２段目に記録されているレコード６０ａは、ＭＡＣ＿ＡＰの値が“ＢＢＢ”、生成乱数の値が“ＥＥ”、受信暗号化乱数の値が“ＥＥＥ”、復号化乱数の値が“ＦＦ”、判定結果の値が“不当”である。すなわち、ＭＡＣアドレス“ＢＢＢ”で識別されるＡＰ２０の証明に用いられる乱数が“ＥＥ”であり、このＡＰ２０から受信されたＨＴＴＰレスポンスに含まれる暗号化乱数が“ＥＥＥ”であり、この暗号化乱数が復号化された後の乱数が“ＦＦ”であり、このＡＰ２０が正当なアクセスポイントではないことが表されている。
【００７２】
図１１（Ｂ）は、第２実施形態における接続先情報データベースの具体例を示す図である。
第２実施形態における接続先情報データベースの構成は、図３（Ｂ）に示した接続先情報データベースの構成と同様の構成を有している。そのため、第２実施形態における接続先情報データベースの説明は省略する。
【００７３】
図１２は、第２実施形態におけるＡＰ２０ａの機能構成を表す概略ブロック図である。
ＡＰ２０ａは、バスで接続されたＣＰＵやメモリや補助記憶装置などを備え、中継プログラムを実行する。中継プログラムの実行によって、ＡＰ２０ａは、第１通信部２０１ａ、制御部２０２ａ、秘密鍵情報記憶部２０３、ＡＰ側証明情報記憶部２０５ａ、認証情報記憶部２０６、第２通信部２０７、中継部２０８、暗号化部２０９を備える装置として機能する。なお、ＡＰ２０ａの各機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されてもよい。また、中継プログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。また、中継プログラムは、電気通信回線を介して送受信されてもよい。
【００７４】
第２実施形態におけるＡＰ２０ａは、制御部２０２及びＡＰ側証明情報記憶部２０５に代えて制御部２０２ａ、ＡＰ側証明情報記憶部２０５ａ及び暗号化部２０９を備える点でＡＰ２０と構成が異なる。ＡＰ２０ａは、他の構成についてはＡＰ２０と同様である。そのため、ＡＰ２０ａ全体の説明は省略し、制御部２０２ａ、ＡＰ側証明情報記憶部２０５ａ及び暗号化部２０９について説明する。
【００７５】
制御部２０２ａは、第１通信部２０１によって受信されたＨＴＴＰリクエストに含まれるＵＲＩに応じて自装置を制御する。例えば、制御部２０２ａは、ＨＴＴＰリクエストに含まれるＵＲＩがＡＰ証明用のＵＲＩを示す場合、ＨＴＴＰリクエストを暗号化部２０９に出力する。
【００７６】
ＡＰ側証明情報記憶部２０５ａは、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。ＡＰ側証明情報記憶部２０５ａは、ＡＰ側証明情報データベースを記憶している。ＡＰ側証明情報データベースには、通信装置１０ａに関する情報が登録される。
暗号化部２０９は、制御部２０２ａから出力されたＨＴＴＰリクエストに含まれる乱数と、秘密鍵情報記憶部２０３に記憶されている秘密鍵の鍵情報とに基づいて乱数を暗号化する。暗号化には、既存の技術が用いられる。暗号化部２０９は、暗号化乱数を制御部２０２ａに出力する。
【００７７】
図１３は、第２実施形態におけるＡＰ側証明情報データベースの具体例を示す図である。
ＡＰ側証明情報データベースは、通信装置１０ａに関する情報を表すレコード７０ａを複数有する。レコード７０ａは、ＭＡＣ＿ＳＴＡ、受信乱数及び送信暗号化乱数の各値を有する。ＭＡＣ＿ＳＴＡの値は、通信装置１０ａのＭＡＣアドレスを表す。受信乱数の値は、同じレコード７０ａのＭＡＣ＿ＳＴＡで識別される通信装置１０ａから送信されたＨＴＴＰリクエストに含まれる乱数を表す。送信暗号化乱数の値は、同じレコード７０ａの受信乱数が暗号化された後の値を表す。
【００７８】
図１３に示される例では、ＡＰ側証明情報データベースには１つのＭＡＣ＿ＳＴＡが記録されている。図１３において、ＡＰ側証明情報データベースの最上段に記録されているレコード７０ａは、ＭＡＣ＿ＳＴＡの値が“ＳＳＳ”、受信乱数の値が“ＴＴ”、送信暗号化乱数の値が“ＵＵＵ”である。すなわち、ＭＡＣアドレス“ＳＳＳ”で識別される通信装置１０から送信されたＨＴＴＰリクエストに含まれる乱数が“ＴＴ”であり、暗号化された後の値が“ＵＵＵ”であることが表されている。
【００７９】
図１４は、第２実施形態における通信装置１０ａのアクセスポイントの証明処理の流れを示すフローチャートである。
乱数生成部１０１は、所定のタイミングで乱数を生成する（ステップＳ４０１）。乱数生成部１０１は、生成した乱数を制御部１０５ａに出力する。また、乱数生成部１０１は、生成した乱数の情報を装置側証明情報記憶部１０７ａに記録する。制御部１０５ａは、乱数が出力されたため、ＡＰ２０ａの証明を行うためのＨＴＴＰリクエストを生成する。ＨＴＴＰリクエストには、接続先情報記憶部１０４に記憶されている接続先情報データベースの利用目的“ＡＰ証明”に対応付けて記録されているＵＲＩと、出力された乱数とが含まれる。制御部１０５ａは、ＨＴＴＰリクエストを通信部１０６に出力する。通信部１０６は、ＨＴＴＰリクエストをＡＰ２０ａに送信する（ステップＳ４０２）。
【００８０】
制御部１０５ａは、通信部１０６を介してＨＴＴＰレスポンスが受信されたか否か判定する（ステップＳ４０３）。ＨＴＴＰレスポンスが受信されていない場合（ステップＳ４０３−ＮＯ）、制御部１０５ａは予め設定されたタイムアウトの時間が経過したか否か判定する（ステップＳ４０４）。タイムアウトの時間が経過した場合（ステップＳ４０４−ＹＥＳ）、通信装置１０ａは処理を終了する。
一方、タイムアウトの時間が経過していない場合（ステップＳ４０４−ＮＯ）、通信装置１０ａはステップＳ４０３以降の処理を繰り返し実行する。
【００８１】
また、ステップＳ４０３の処理において、ＨＴＴＰレスポンスが受信されている場合（ステップＳ４０３−ＹＥＳ）、制御部１０５ａはＨＴＴＰレスポンスを読み込む（ステップＳ４０５）。具体的には、制御部１０５ａは、ＨＴＴＰレスポンスに暗号化乱数が含まれる場合、ＨＴＴＰレスポンスを復号化部１１１に出力し、ＨＴＴＰレスポンスに認証画面の情報が含まれる場合、ＨＴＴＰレスポンスを表示部１１０に出力する。この説明では、ＨＴＴＰレスポンスに暗号化乱数が含まれる場合を説明する。したがって、制御部１０５ａは、ＨＴＴＰレスポンスを復号化部１１１に出力する。
【００８２】
復号化部１１１は、出力されたＨＴＴＰレスポンスから暗号化乱数を取得する。復号化部１１１は、取得した暗号化乱数の情報を装置側証明情報記憶部１０７ａに記録する。具体的には、まず復号化部１１１は、装置側証明情報記憶部１０７ａに記憶されている装置側証明情報データベースを読み出す。次に、復号化部１１１は、読み出した装置側証明情報データベースのレコード６０ａのうち、証明対象ＡＰのＭＡＣアドレスに対応するレコード６０ａを選択する。そして、復号化部１１１は、選択したレコード６０ａの受信暗号化乱数の項目に、暗号化乱数の情報を記録する。
【００８３】
また、復号化部１１１は、暗号化乱数と、公開鍵情報記憶部１０２に記憶されている公開鍵の鍵情報とに基づいて、暗号化乱数を復号化する（ステップＳ４０６）。その後、復号化部１１１は、復号化乱数を判定部１０８ａに出力する。判定部１０８ａは、出力された復号化乱数と、装置側証明情報データベースの証明対象ＡＰのＭＡＣアドレスに対応するレコード６０ａの生成乱数の項目に記録されている乱数とが一致するか否か判定する（ステップＳ４０７）。乱数が一致する場合（ステップＳ４０７−ＹＥＳ）、判定部１０８ａは自装置が接続しようとしているＡＰ２０ａが正当なアクセスポイントであると判定する（ステップＳ４０８）。その後、判定部１０８ａは、判定結果を、装置側証明情報データベースの証明対象ＡＰのＭＡＣアドレスに対応するレコード６０ａの復号化乱数及び判定結果の項目に記録する。例えば、判定部１０８ａは、復号化乱数の項目に、取得した復号化乱数の情報を記録し、判定結果の項目に正当の文字列を記録する。
【００８４】
一方、乱数が一致しない場合（ステップＳ４０７−ＮＯ）、判定部１０８ａは自装置が接続しようとしているＡＰ２０ａが不当なアクセスポイントであると判定する（ステップＳ４０９）。この場合、制御部１０５ａは、ユーザの通信装置１０ａがなりすましＡＰに接続している可能性がある旨を表示部１１０に表示させてもよい。例えば、制御部１０５ａは、表示部１１０にポップアップ表示させてもよい。その後、判定部１０８ａは、判定結果を、装置側証明情報データベースの証明対象ＡＰのＭＡＣアドレスに対応するレコード６０ａの復号化乱数及び判定結果の項目に記録する。例えば、判定部１０８ａは、復号化乱数の項目に、取得した復号化乱数の情報を記録し、判定結果の項目に不当の文字列を記録する。
【００８５】
図１５は、第２実施形態におけるＡＰ２０ａの処理の流れを示すフローチャートである。なお、図１５では、ＡＰ２０ａの暗号化乱数の送信処理について説明する。つまり、図１５では、ＡＰ２０の認証処理についての説明は省略する。
第１通信部２０１は、通信装置１０ａから送信されたＨＴＴＰリクエストを受信する（ステップＳ５０１）。第１通信部２０１は、受信したＨＴＴＰリクエストを制御部２０２ａに出力する。制御部２０２ａは、ＨＴＴＰリクエストに含まれるＵＲＩがＡＰ認証用のＵＲＩであるか否か判定する（ステップＳ５０２）。ＡＰ認証用のＵＲＩではない場合（ステップＳ５０２−ＮＯ）、ＡＰ２０ａは処理を終了する。
【００８６】
一方、ＡＰ認証用のＵＲＩである場合（ステップＳ５０２−ＹＥＳ）、制御部２０２ａはＨＴＴＰリクエストに乱数が含まれているか否か判定する（ステップＳ５０３）。乱数が含まれない場合（ステップＳ５０３−ＮＯ）、ＡＰ２０ａは処理を終了する。
また、ステップＳ５０３の処理において、乱数が含まれている場合（ステップＳ５０３−ＹＥＳ）、制御部２０２ａはＨＴＴＰリクエストを暗号化部２０９に出力する。
【００８７】
また、制御部２０２ａは、ＨＴＴＰリクエストに乱数が含まれている場合、ＡＰ側証明情報記憶部２０５ａに記憶されているＡＰ側証明情報データベースに、ＨＴＴＰリクエストの送信元である通信装置１０ａのＭＡＣアドレスが登録されたレコード７０ａを新たに作成する。次に、制御部２０２ａは、ＨＴＴＰリクエストから乱数の情報を取得する。そして、制御部２０２ａは、取得した乱数の情報を、新たに作成したレコード７０ａの受信乱数の項目に、ＨＴＴＰリクエストの送信元である通信装置１０ａのＭＡＣアドレスと対応付けて記録する。
【００８８】
暗号化部２０９は、秘密鍵情報記憶部２０３に記憶されている秘密鍵の鍵情報と、ＨＴＴＰリクエストに含まれる乱数とに基づいて、乱数を暗号化する（ステップＳ５０４）。暗号化部２０９は、暗号化乱数を制御部２０２ａに出力する。
制御部２０２ａは、ＨＴＴＰレスポンスを生成する。ＨＴＴＰレスポンスには、暗号化乱数が含まれる。制御部２０２ａは、第１通信部２０１を介してＨＴＴＰリクエストの送信元である通信装置１０ａにＨＴＴＰレスポンスを送信する（ステップＳ５０５）。また、制御部２０２ａは、暗号化乱数の情報を、ＨＴＴＰリクエストの送信元である通信装置１０ａのＭＡＣアドレスと対応付けて、ＡＰ側認証情報テーブルの送信暗号化乱数の項目に記録する。
【００８９】
図１６及び図１７は、第２実施形態におけるアクセスポイント証明システム１００の動作を示すシーケンス図である。なお、図８及び９と同様の処理については、図１６及び図１７において図８及び９と同様の符号を付して説明を省略する。
ステップＳ３０６までの処理が終了すると、乱数生成部１０１は、生成した乱数を制御部１０５ａに出力する。制御部１０５ａは、ＨＴＴＰリクエストを生成する。ＨＴＴＰリクエストには、ＡＰ２０ａ証明用のＵＲＩ及び乱数が含まれる。通信部１０６は、生成されたＨＴＴＰリクエストをＡＰ２０ａに送信する（ステップＳ６０１）。
【００９０】
ＡＰ２０の第１通信部２０１は、通信装置１０ａから送信されたＨＴＴＰリクエストを受信する。第１通信部２０１が受信したＨＴＴＰリクエストに含まれるＵＲＩがＡＰ２０ａの証明用のＵＲＩであるため、制御部２０２ａはＨＴＴＰリクエストを暗号化部２０９に出力する。暗号化部２０９は、出力されたＨＴＴＰリクエストに含まれる乱数を、秘密鍵情報記憶部２０３に記憶されている秘密鍵の鍵情報に基づいて暗号化する（ステップＳ６０２）。暗号化部２０９は、暗号化した乱数（暗号化乱数）を制御部２０２ａに出力する。その後、制御部２０２ａは、ＨＴＴＰレスポンスを生成する。ＨＴＴＰレスポンスには、出力された暗号化乱数が含まれる。第１通信部２０１は、生成されたＨＴＴＰレスポンスを、ＨＴＴＰリクエストの送信元である通信装置１０ａに送信する（ステップＳ６０３）。
【００９１】
通信装置１０ａの通信部１０６は、ＡＰ２０ａから送信されたＨＴＴＰレスポンスを受信する。通信部１０６は、受信したＨＴＴＰレスポンスを制御部１０５ａに出力する。ＨＴＴＰレスポンスには、暗号化乱数が含まれているため、制御部１０５ａはＨＴＴＰレスポンスを復号化部１１１に出力する。復号化部１１１は、ＨＴＴＰレスポンスに含まれる暗号化乱数を、公開鍵情報記憶部１０２に記憶されている公開鍵の鍵情報に基づいて復号化する（ステップＳ６０４）。復号化部１１１は、復号化した乱数（復号化乱数）を判定部１０８ａに出力する。判定部１０８ａは、ＨＴＴＰレスポンスに含まれる復号化乱数と、装置側認証情報データベースのレコード６０ａのうち、証明対象ＡＰのＭＡＣアドレスに対応するレコード６０ａの生成乱数の項目に記録されている値とが一致するか否か判定する（ステップＳ６０５）。
判定の結果、値が一致するため、判定部１０８ａは自装置が接続しているＡＰ２０ａが正当なアクセスポイントであると判定する。判定部１０８ａは、判定結果を制御部１０５ａに出力する。その後、ステップＳ３１３〜ステップＳ３２１までの処理が実行される。
【００９２】
以上のように構成された第２実施形態におけるアクセスポイント証明システム１００によれば、通信装置１０ａにて生成された乱数と、ＡＰ２０ａから暗号化されて通信装置１０ａにて復号化された乱数とが一致するか否かに応じてＡＰ２０ａの証明が行われる。乱数の値が一致する場合、ＡＰ２０ａが正当なアクセスポイントであると判定される。一方、乱数の値が一致しない場合、ＡＰ２０ａが不当なアクセスポイントであると判定される。このように、ＡＰ２０ａの証明には乱数が使用され、乱数の値に応じた判定がなされる。したがって、証明のために高度な処理が不要となり、さらにＡＰ２０ａの証明に証明書を利用する必要がない。そのため、コストを抑えつつ、容易にＡＰ２０ａの証明を行うことが可能になる。その結果、なりすましＡＰ（不当ＡＰ）による被害を軽減することができる。
【００９３】
上述したように、本発明におけるアクセスポイント証明システム１００では、従来にはなかったＡＰのなりすましを防ぐための証明方式を確立することが可能になる。このような証明方式を利用することで、証明の一般的な課題である証明書の発行や維持に関するコストを削減することができる。
また、通信装置１０ａには、ＡＰ２０ａが保有する秘密鍵の対となる公開鍵の鍵情報が記憶され、ＡＰ２０ａには通信装置１０ａが保有する公開鍵の対となる秘密鍵の鍵情報が記憶される。そして、暗号化及び復号化には、それぞれ公開鍵又は秘密鍵が使用される。したがって、不当ＡＰから暗号化されて送信される暗号化乱数を、通信装置１０ａでは復号することができない。この場合、通信装置１０ａは、自装置が接続しているＡＰ２０ａが不当なアクセスポイントであると判断することができる。そのため、ユーザに不当なＡＰである旨を通知するなどすることで未然に被害の発生を防ぐことが可能になる。
【００９４】
また、証明書を利用した場合、ユーザに通知される証明書のデータは固定値である。そのため、従来では、データ自体を偽造された場合、中間攻撃やなりすましが発生してしまうおそれがあった。しかし、本発明では、ＡＰ２０ａの証明に固定値ではなくランダムな値である乱数が用いられる。さらに、証明に用いられる値は、ＡＰ２０ａ側からではなく通信装置１０ａ側から送信される。そのため、証明に用いられるデータが偽造されてしまうおそれを軽減することが可能になる。
＜変形例＞
本実施形態では、図１５のステップＳ５０２の処理において、ＨＴＴＰリクエストにＡＰ証明用のＵＲＩが含まれていない場合にはＡＰ２０ａが処理を終了する構成を示したが、これに限定される必要はない。例えば、ＨＴＴＰリクエストにＡＰ証明用のＵＲＩが含まれていない場合、ＡＰ２０ａはＡＰ証明用のＵＲＩの情報を通信装置１０ａに送信してもよい。
本実施形態では、図１５のステップＳ５０３の処理において、ＨＴＴＰリクエストに乱数が含まれていない場合にはＡＰ２０ａが処理を終了する構成を示したが、これに限定される必要はない。例えば、ＨＴＴＰリクエストに乱数が含まれていない場合、ＡＰ２０ａはＨＴＴＰレスポンスを応答しなくてもよいし、ＨＴＴＰレスポンスに値（例えば、乱数）が格納されていない旨の通知を含めて通信装置１０ａに送信してもよい。
【００９５】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００９６】
１０、１０ａ…通信装置，  ２０（２０−１〜２０−３）、２０ａ…ＡＰ，  ３０、３０ａ…認証サーバ，  ４０…第１ネットワーク，  ５０…第２ネットワーク，  １０１…乱数生成部，  １０２…公開鍵情報記憶部，  １０３…暗号化部，  １０４…接続先情報記憶部，  １０５、１０５ａ…制御部，  １０６、１０６ａ…通信部，  １０７、１０７ａ…装置側証明情報記憶部，  １０８、１０８ａ…判定部，  １０９…入力部，  １１０…表示部，  ２０１、２０１ａ…第１通信部，  ２０２、２０２ａ…制御部，  ２０３…秘密鍵情報記憶部，  ２０４…復号化部（処理部），  ２０５、２０５ａ…ＡＰ側証明情報記憶部，  ２０６…認証情報記憶部，  ２０７…第２通信部，  ２０８…中継部，  ２０９…暗号化部（処理部）
【図１】
2015226267.tif 000003
【図２】
2015226267.tif 000004
【図３】
2015226267.tif 000005
【図４】
2015226267.tif 000006
【図５】
2015226267.tif 000007
【図６】
2015226267.tif 000008
【図７】
2015226267.tif 000009
【図８】
2015226267.tif 000010
【図９】
2015226267.tif 000011
【図１０】
2015226267.tif 000012
【図１１】
2015226267.tif 000013
【図１２】
2015226267.tif 000014
【図１３】
2015226267.tif 000015
【図１４】
2015226267.tif 000016
【図１５】
2015226267.tif 000017
【図１６】
2015226267.tif 000018
【図１７】
2015226267.tif 000019