(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
<実施形態1>
図1は、認証システムのシステム構成の一例を示す図である。
認証システムは、IC媒体100、読書装置101、管理サーバ102を含む。読書装置101と管理サーバ102とは、ネットワーク103を介して相互に接続されている。
IC媒体100は、演算装置、読み書き可能なメモリを含むICカード等の媒体である。IC媒体100には、例えば、ICカード、携帯電話、スマートフォン、スマートウォッチがある。読書装置101は、IC媒体100と無線で通信し、情報のやり取りを行い、IC媒体100の認証を行い、認証した後で、IC媒体と管理サーバ102との間の情報のやり取りを仲介する情報処理装置である。管理サーバ102は、読書装置101を介して、IC媒体の製造識別情報の照合を行う情報処理装置である。本実施形態では、管理サーバ102は、単一のコンピュータ等の情報処理装置であるとするが、複数の情報処理装置を含む情報処理システムであってもよい。ネットワーク103は、LAN、WAN、インターネット等のネットワークである。
本実施形態では、読書装置101は、IC媒体100から製造識別情報を取得する。そして、読書装置101は、IC媒体100に対して、取得した製造識別情報を伴って、設定された情報の取得要求を送信する。読書装置101は、送信した取得要求に応じたIC媒体100からの応答信号に基づいて、IC媒体100が正当なものであるかどうかを判定する。読書装置101は、IC媒体100が正当なものであると判定した場合、IC媒体100から取得した製造識別情報を正当なものとして決定する。
【0009】
図2(a)は、読書装置101のハードウェア構成の一例を示す図である。
読書装置101は、CPU201、主記憶装置202、補助記憶装置203、IC媒体通信部204、ネットワークI/F205を含む。CPU201、主記憶装置202、補助記憶装置203、IC媒体通信部204、ネットワークI/F205は、システムバス206を介して、相互に接続されている。
CPU201は、読書装置101の処理を制御する中央演算装置である。主記憶装置202は、CPU201のワークエリアやデータの一時記録領域として機能する記憶装置である。補助記憶装置203は、本実施形態の処理をCPU201に実行させるためのプログラム、各種設定ファイル、各種設定情報、各種閾値情報、各種プログラム等を記録する。
IC媒体通信部204は、IC媒体100との無線通信に利用される通信部であり、アンテナ等で構成される。CPU201は、IC媒体通信部204を介して、IC媒体100からの情報を受信したり、IC媒体100に対して情報を送信したりする。ネットワークI/F205は、管理サーバ102等の外部の装置やシステムとのネットワーク103を介した接続に利用されるインターフェースである。
CPU201が、補助記憶装置203等に記録されたプログラムに基づき処理を実行することで、読書装置101の機能、
図3のシーケンス図における読書装置101の処理及び
図4で後述するフローチャートの処理等が実現される。
【0010】
管理サーバ102が単一の情報処理装置である場合、管理サーバ102のハードウェア構成は、
図2(a)と同様のものであるとする。その場合、管理サーバ102のCPUが、管理サーバ102の補助記憶装置等に記録されたプログラムに基づき処理を実行することで、管理サーバ102の機能、及び処理が実現される。
また、管理サーバ102が複数の情報処理装置を含む情報処理システムである場合、管理サーバ102に含まれる情報処理装置それぞれのハードウェア構成は、
図2(a)と同様のものであるとする。その場合、管理サーバ102に含まれる情報処理装置それぞれのCPUが、管理サーバ102に含まれるそれぞれの情報処理装置の補助記憶装置等に記録されたプログラムに基づき、連携して処理を実行することで、管理サーバ102の機能、及び
図3にシーケンス図における管理サーバ102の処理等が実現される。
【0011】
図2(b)は、IC媒体100のハードウェア構成の一例を示す図である。
IC媒体100は、CPU211、メモリ212、通信部213を含む。CPU211、メモリ212、通信部213は、システムバス214を介して相互に接続されている。
CPU211は、IC媒体100の処理を制御する中央演算装置である。メモリ212は、製造識別情報、各種サービスの情報、各種設定情報、各種プログラム等が記録され、IC媒体100の記録領域として機能する記憶装置である。サービスとは、IC媒体の内部のメモリに記録されているデータのまとまりであり、コンピュータにおけるファイルに相当する。通信部213は、IC媒体通信部204との無線通信に利用される通信部であり、アンテナ等で構成される。
CPU211が、メモリ212等に記録されたプログラムに基づき処理を実行することで、IC媒体100の機能、及び
図3のシーケンス図におけるIC媒体100の処理等が実現される。
【0012】
図3は、認証システムの処理の一例を示すシーケンス図である。
図3を用いて、イベント会場への入場管理を例に、本実施形態の認証システムの処理の一例について説明する。
IC媒体100のユーザは、予めイベントの参加権利を購入している。それにより、管理サーバ102は、予めIC媒体100の製造識別情報を、イベントの参加権利者の情報として保持している。認証システムは、IC媒体100の製造識別情報を、イベントの電子チケットとして扱うことで、イベント会場の入場管理を行うこととなる。イベント会場の入り口には、読書装置101と読書装置101からの指示により開閉が可能な電動扉が設置されている。
CS301において、CPU201は、媒体捕捉コマンドを送信する。媒体捕捉コマンドとは、通信可能な範囲に存在するIC媒体に対して製造識別情報を要求するためのコマンドである。IC媒体100のユーザがIC媒体100をIC媒体通信部204にかざすことで、CPU211は、読書装置101から送信された媒体捕捉コマンドを受信する。
CS302において、CPU211は、読書装置101に対して、IC媒体100の製造識別情報を平文(暗号化されていない情報)として送信する。CPU201は、IC媒体100から送信されたIC媒体100の製造識別情報を受信する。
【0013】
CS303において、CPU201は、CS302で受信したIC媒体100の製造識別情報と、設定されたサービスがIC媒体100内に存在するか否かを示す情報の要求信号と、をIC媒体100に送信する。CPU211は、読書装置101から受信した製造識別情報がIC媒体100の識別情報と一致するかどうか判定する。CPU211は、読書装置101から受信した製造識別情報がIC媒体100の識別情報と一致すると判定した場合、読書装置101から受信した要求信号に応じたサービスがメモリ212に記録されているか否かを判定する。
CS304において、CPU211は、CS303で読書装置101から受信した要求信号に応じた設定されたサービスがメモリ212に記録されていると判定した場合、以下の処理を行う。即ち、CPU211は、設定されたサービスがIC媒体100内に存在することを示す情報を、CS303で受信した要求信号に対する応答信号として読書装置101に送信する。また、CPU211は、CS303で読書装置101から受信した要求信号に応じた設定されたサービスがメモリ212に記録されていないと判定した場合、以下の処理を行う。即ち、CPU211は、設定されたサービスがIC媒体100内に存在しない旨の情報を、CS303で受信した要求信号に対する応答信号として、読書装置101に送信する。CPU201は、IC媒体100から応答信号を受信する。
CS305において、CPU201は、CS304で受信した応答信号に基づいて、IC媒体100が正当であるか否かを判定する。CPU201は、受信した応答信号がIC媒体100内に設定されたサービスが存在することを示す情報である場合、IC媒体100を正当であると判定する。CPU201は、受信した応答信号がIC媒体100内に設定されたサービスが存在しないことを示す情報である場合、IC媒体100を正当でないと判定する。CPU201は、IC媒体100を正当であると判定した場合、CS301で受信したIC媒体100の製造識別情報を正当なものであると決定する。
【0014】
CS306において、CPU201は、CS305で正当なものであると決定したIC媒体100の製造識別情報を管理サーバ102に送信する。
CS307において、管理サーバ102は、予め記録していたイベントの参加権利の購入者のIC媒体の製造識別情報の一覧情報から、CS306で送信されたIC媒体100の製造識別情報を照合する。管理サーバ102は、IC媒体100の製造識別情報を照合できた場合、IC媒体100のユーザがイベントの参加権利を購入していると判定する。管理サーバ102は、IC媒体100の製造識別情報を照合できなかった場合、IC媒体100のユーザがイベントの参加権利を購入していないと判定する。
CS308において、管理サーバ102は、CS307の処理の結果を示す情報を読書装置101に送信する。
CS309において、CPU201は、CS308で送信された情報が、IC媒体100の製造識別情報が、イベントの参加権利を購入しているユーザのIC媒体の識別情報であることを示す情報である場合、以下の処理を行う。即ち、CPU201は、読書装置101に接続されている電動扉を開き、IC媒体100のユーザを、イベント会場に入場させる。
図3の例では、本実施形態の認証システムがイベント会場への入場管理に利用される例を説明した。しかし、本実施形態の認証システムは、劇場への入場管理、スポーツ観戦における入場管理、学校での教室への入退室管理等にも利用することができる。
【0015】
図4は、本実施形態における読書装置101の処理の一例を示すフローチャートである。
S401において、CPU201は、IC媒体100の捕捉処理を行う。より具体的には、CPU201は、以下の処理を行う。CPU201は、IC媒体通信部204を介して、媒体捕捉コマンドをIC媒体100に送信する。IC媒体100が読書装置101と通信可能な範囲に存在する場合、CPU211は、通信部213を介して、送信された媒体捕捉コマンドを受信し、受信した媒体捕捉コマンドに対する応答としてIC媒体100の製造識別情報を読書装置101に送信する。そして、CPU201は、IC媒体100から、IC媒体100の製造識別情報を受信する。
例えば、補助記憶装置203とメモリ212とは、媒体捕捉コマンド等の読書装置101とIC媒体100とがやり取りする可能性のあるコマンドの情報を記録する。CPU201は、例えば、媒体捕捉コマンドの情報を、補助記憶装置203から取得し、取得した媒体捕捉コマンドをIC媒体100に送信する。そして、CPU211は、受信した媒体捕捉コマンドを、メモリ212に記録されているコマンドの情報と比較することで、受信したコマンドが、媒体捕捉コマンドであることを把握する。
また、CPU211は、受信した媒体捕捉コマンドに対する応答としてIC媒体100の製造識別情報以外にも、IC媒体100に関する情報等を読書装置101に送信することとしてもよい。そうすることで、CPU201は、情報のやり取りの相手がどのようなIC媒体であるかを把握することができる。
従来のICカード等のIC媒体では、識別情報の認証が成功した場合、IC媒体は、更に、IC媒体の発行処理毎に発行者により一意に決定される発行識別情報を、暗号化して、読書装置に送信する。その後、IC媒体と読書装置とは、発行識別情報に基づいて、情報のやり取りを行うことになる。
【0016】
S402において、CPU201は、S401でIC媒体100を捕捉できたか否かを判定する。CPU201は、S401で送信した媒体捕捉コマンドの応答として、IC媒体100からIC媒体100の製造識別情報を受信した場合、S401でIC媒体100を捕捉できたと判定し、S403の処理に進む。
また、CPU201は、S401で送信した媒体捕捉コマンドの応答として、IC媒体100からIC媒体100の製造識別情報を受信していない場合、S401でIC媒体100を捕捉できていないと判定し、S401の処理に進む。
【0017】
S403において、CPU201は、IC媒体100の領域情報の要求信号を、IC媒体100に送信し、IC媒体100から応答信号として、IC媒体100の領域情報を取得する。IC媒体の領域情報とは、IC媒体内のサービスの情報や、IC媒体内のサービスについての属性情報等のIC媒体内に記録されているデータに関する情報のことである。サービスの属性情報とは、サービスに関する特性を示す情報であり、例えば、メモリ212内におけるIC媒体100内におけるサービスの有無に関する情報、サービスの鍵情報等がある。
本実施形態では、CPU201は、IC媒体100の領域情報の要求信号として、設定されたサービスがIC媒体100に記録されているか否かを示す情報の要求信号を、IC媒体100に送信する。CPU201は、S401でIC媒体100から受信した製造識別情報と併せて、設定されたサービスがIC媒体100に記録されているか否かを示す情報の要求信号を、IC媒体100に送信する。例えば、CPU201は、設定されたサービスの情報を含む要求信号をIC媒体に送信する。これにより、CPU211は、どのサービスの有無についての情報が要求されているのか把握することができる。
【0018】
CPU211は、読書装置101から受信した製造識別情報がIC媒体100の製造識別情報と一致し、読書装置101から受信した要求信号に応じた情報がIC媒体100内に存在する場合、要求された情報を領域情報として読書装置101に送信する。また、CPU211は、要求信号に応じた情報がIC媒体100内に存在しない場合、要求された情報がIC媒体100内に存在しない旨を示す情報を領域情報として読書装置101に送信する。CPU211は、要求された情報がIC媒体100内に存在しない旨を示す情報として、例えば、予め設定されたビット列の情報を読書装置に送信する。また、CPU211は、読書装置101から受信した製造識別情報がIC媒体100の製造識別情報と一致しない場合、製造識別情報が一致しない旨を示す情報を、読書装置101に送信する。
本実施形態では、CPU211は、以下の処理を行う。即ち、CPU211は、読書装置101から受信した製造識別情報がIC媒体100の製造識別情報と一致するか否かを判定する。そして、CPU211は、読書装置101から受信した製造識別情報がIC媒体100の製造識別情報と一致すると判定すると、読書装置101から受信した要求信号が示す設定されたサービスを、メモリ212内に記録しているサービスの中から検索する。CPU211は、設定されたサービスをメモリ212内に記録しているサービスの中から検索できた場合、設定されたサービスがIC媒体100内に存在することを示す情報を、領域情報として、検索できたサービスの情報を読書装置101に送信する。例えば、CPU211は、設定されたサービスがIC媒体100内に存在することを示す情報として、検索できたサービスの識別情報を読書装置に送信する。また、CPU211は、設定されたサービスをメモリ212内に記録しているサービスの中から検索できなかった場合、設定されたサービスがIC媒体100内に存在しないことを示す情報を領域情報として、読書装置101に送信する。CPU201は、IC媒体100から領域情報を取得する。
【0019】
S404において、CPU201は、S403でIC媒体100から取得した領域情報に基づいて、IC媒体100が正当であるか否かを判定する。本実施形態では、S403で取得された領域情報は、設定されたサービスがIC媒体100内に存在するか否かを示すサービスの属性情報である。IC媒体が正当であるとは、IC媒体内の情報が不正に改竄されていないことを示す。
例えば、IC媒体100が正当でないIC媒体である場合、IC媒体100は、正当なIC媒体ならば内部のメモリに記録しているはずの特定のサービスを、メモリ212に記録していないと考えられる。そのため、CPU201は、S403で、IC媒体100が正当でないIC媒体である場合、領域情報として、設定されたサービスがIC媒体100内に存在しないことを示す情報をIC媒体100から取得することになる。逆に、CPU201は、S403で、IC媒体100が正当なIC媒体である場合、領域情報として、設定されたサービスがIC媒体100内に存在することを示す情報をIC媒体100から取得することになる。
CPU201は、S403で取得した領域情報が、設定されたサービスがIC媒体100内に存在することを示す情報である場合、IC媒体100を正当なものと判定し、S405の処理に進む。CPU201は、S403で取得した領域情報が、設定されたサービスがIC媒体100内に存在しないことを示す情報である場合、IC媒体100を正当なものではないと判定し、S406の処理に進む。
【0020】
S405において、CPU201は、IC媒体100が正当なものであるとして、IC媒体100のS401で取得したIC媒体100の製造識別情報が正当なものであると決定する。IC媒体の製造識別情報が正当であるとは、その製造識別情報が改竄されていないことを示す。そして、CPU201は、その後に、IC媒体100、管理サーバ102等と連携し、目的に合わせた処理を行うことになる。
S406において、CPU201は、IC媒体100が正当なものでないとして、S401で取得したIC媒体100の製造識別情報が正当でないものと決定し、IC媒体100との通信を、中止する。
【0021】
本実施形態では、CPU201は、S403で、IC媒体100から領域情報として、IC媒体100内に設定されたサービスが存在するか否かを示す情報を取得する。そして、S404で、CPU201は、IC媒体100から取得した領域情報が設定されたサービスがIC媒体100内に存在することを示す情報である場合、IC媒体100を正当であると判定する。また、CPU201は、IC媒体100から取得した領域情報が設定されたサービスがIC媒体100内に存在しないことを示す情報である場合、IC媒体100を正当でないと判定することとした。
しかし、CPU201は、S403、S404で、以下のような処理を行うこととしてもよい。即ち、S403で、CPU201は、領域情報の要求信号として、設定されたサービスがIC媒体100内に存在するか否かを示す情報と設定されたサービスの鍵情報との要求信号を、IC媒体100に送信する。CPU211は、読書装置101から要求信号を受信すると、設定されたサービスがメモリ212内に記録されているか否かを判定する。そして、CPU211は、設定されたサービスがメモリ212内に記録されていると判定した場合、設定されたサービスがIC媒体100内に存在する旨の情報とそのサービスの鍵情報とを、領域情報として、読書装置101に送信する。それにより、CPU201は、領域情報として、設定されたサービスが存在する旨の情報とそのサービスの鍵情報とを取得する。また、CPU211は、設定されたサービスがメモリ212内に記録されていないと判定した場合、設定されたサービスがIC媒体100内に存在しない旨の情報を、領域情報として、読書装置101に送信する。それにより、CPU201は、領域情報として、設定されたサービスが存在しない旨の情報を取得する。
【0022】
CPU201は、設定されたサービスがIC媒体100内に存在する旨の情報を取得した場合、S404で以下の処理を行う。CPU201は、S403で取得した設定されたサービスの鍵情報に基づいて、IC媒体100が正当であるか否かを判定する。
CPU201は、S403で取得したサービスの鍵情報が設定されたバージョンの鍵情報である場合、IC媒体100が正当であると判定し、S405の処理に進む。CPU201は、例えば、S403で取得したサービスの鍵情報の特定の位置のビット情報を取得することで、鍵のバージョン情報を取得する。設定されたバージョンの情報は、設定ファイル等の形式で、補助記憶装置203等に記録されている。CPU201は、読書装置101の入力部を介したユーザの操作に基づいて、設定ファイルの背ってされた鍵のバージョンの情報を更新することができる。CPU201は、S403で取得したサービスの鍵情報が設定されたバージョンの鍵情報でない場合、IC媒体100が正当でないと判定し、S406の処理に進む。また、CPU201は、S403で設定されたサービス存在しない旨の情報を取得した場合も、IC媒体100が正当でないと判定し、S406の処理に進む。
以上の処理により、例えば、正当でないIC媒体が正当なIC媒体が記録しているはずのサービスを保持している場合でも、CPU201は、サービスの鍵のバージョンが設定されているものと異なれば、IC媒体の製造識別情報を正当でないと判定する。それにより、CPU201は、正当でないIC媒体を誤って認証する可能性を軽減できる。
【0023】
また、本実施形態では、CPU201は、S403で、IC媒体100に対して、領域情報として、正当なIC媒体ならば記録しているはずのサービスがIC媒体内に存在するか否かについての情報を要求することとした。しかし、例えば、不正なIC媒体が記録している可能性のあるサービスのうち、正当なIC媒体が記録しえないサービスが特定できる場合、CPU201は、S403、S404で以下のような処理を行うこととしてもよい。
即ち、S403で、CPU201は、領域情報として、正当でないIC媒体が記録している可能性があり正当なIC媒体が記録しえないサービスである設定されたサービスがIC媒体100内に存在するか否かを示す情報の要求信号を、IC媒体100に送信する。CPU211は、読書装置101から要求信号を受信すると、設定されたサービスがメモリ212内に記録されているか否か判定する。CPU211は、読書装置101から受信した要求信号が示す設定されたサービスを、メモリ212に記録されたサービスの中から検索し、検索できた場合、設定されたサービスがIC媒体100内に存在すると判定する。また、CPU211は、読書装置101から受信した要求信号が示す設定されたサービスを、メモリ212に記録されたサービスの中から検索し、検索できなかった場合、設定されたサービスがIC媒体100内に存在しないと判定する。
【0024】
そして、CPU211は、設定されたサービスがメモリ212内に記録されていると判定した場合、領域情報として、設定されたサービスがIC媒体100内に存在する旨の情報を、読書装置101に送信する。それにより、CPU201は、領域情報として、設定されたサービスがIC媒体100内に存在する旨の情報を取得する。また、CPU211は、設定されたサービスがメモリ212内に記録されていないと判定した場合、領域情報として、設定されたサービスがIC媒体100内に存在しない旨の情報を、読書装置101に送信する。それにより、CPU201は、領域情報として、設定されたサービスがIC媒体100内に存在しない旨の情報を取得する。
S403で、CPU201は、領域情報として、設定されたサービスが存在する旨の情報を取得した場合、S404で以下の処理を行う。即ち、CPU201は、IC媒体100が正当でないと判定し、S406の処理に進む。また、S403で、CPU201は、領域情報として、設定されたサービスが存在しない旨の情報を取得した場合、S404で以下の処理を行う。即ち、CPU201は、IC媒体100が正当であると判定し、S405の処理に進む。
以上の処理により、CPU201は、例えば、特定のサービスを記録している正当でないIC媒体について、誤って認証する可能性を軽減できる。
【0025】
以上、本実施形態の処理により、認証システムは、領域情報の要求に対してIC媒体100から取得した領域情報に基づいて、IC媒体100の正当性を判定し、IC媒体100が正当であると判定した場合、IC媒体の製造識別情報を正当なものとして決定する。これにより、認証システムは、正当でないIC媒体の製造識別情報を誤って正当なものとして取り扱う可能性を軽減し、セキュアなIC媒体の認証処理を実現できる。また、認証システムは、IC媒体100の認証に暗号化した情報を利用しないため、暗号化に利用される鍵を記録、管理することができる高価な読書装置の導入の必要がないため、費用を削減できる。また、認証システムは、既存のIC媒体に対して何らかの書き込み可能領域の割り当て処理等を行う必要もないため、導入の手間を軽減でき、交通系システムで利用されるIC媒体のように新たな領域を割り当てできないIC媒体にも対応できる。そのため、認証システムは、より安価で、より容易に、よりセキュアなIC媒体の認証を行うことができる。
例えば、イベント会場等の入退場管理に、従来の暗号化した情報を利用する認証システムを導入する場合、導入者は、セキュアな認証処理を実現できるが、高価な読書装置の設置が必要なため、費用がかさむ。また、認証システムの導入者は、観客の端末に対して書き込み可能領域の割り当て等を行う手間をかける必要もある。
対して、イベント会場等の入退場管理に、本実施形態の認証システムを導入する場合、導入者は、セキュアな認証処理を実現できるうえに、安価な読書装置を設置すればよいため、費用がかさまない。また、導入者は、観客の端末に対して書き込み可能領域の割り当て等を行う手間をかける必要もないこととなる。
【0026】
<実施形態2>
実施形態1では、読書装置101は、IC媒体100から、設定されたサービスがIC媒体100内に存在するか否かを示す情報を、領域情報として取得することとした。しかし、本実施形態では、読書装置101は、IC媒体100から、IC媒体の内部メモリ内の相互認証無しに読取可能な領域に記録されているサービスを、領域情報として取得することとする。IC媒体の内部メモリ内の相互認証無しに読取可能な領域に記録されているサービスは、読出可能情報の一例である。
本実施形態の処理の主体は、実施形態1と同様に認証システムであるとする。また、本実施形態の認証システムのシステム構成、認証システムのシステム構成要素のハードウェア構成及び機能は、実施形態1と同様であるとする。
以下では、本実施形態の処理のうち、実施形態1と異なる部分について説明する。
本実施形態の読書装置101の処理は、実施形態1と同様に
図4のフローチャートに示される処理であるが、S403、S404の処理が実施形態1の場合と異なっている。
【0027】
S403において、CPU201は、領域情報の要求信号として、設定されたサービスの要求信号をIC媒体100に送信する。CPU201は、S401でIC媒体100から受信した製造識別情報と併せて、設定されたサービスの要求信号を、IC媒体100に送信する。CPU201は、例えば、設定されたサービスの識別情報を含む要求信号をIC媒体100に送信することで、設定されたサービスをIC媒体100に要求する。
IC媒体100のメモリ212内のサービスには、相互認証後に取得できる鍵を用いて読取可能になるものと、相互認証の必要なく鍵がなくても読取可能なものがある。CPU201は、予め設定された相互認証の必要なく読取可能なサービスの要求信号をIC媒体100に送信することになる。
サービスと、アクセス情報との対応関係を示すデータは、補助記憶装置203等に、設定ファイル等の形式で、記録されているものとする。CPU201は、読書装置101の入力部を介したユーザの操作に基づいて、設定ファイルの内容を更新することができる。CPU201は、例えば、補助記憶装置203等に記録されたサービスとアクセス情報との対応関係を示すデータに基づいて、読み込みのアクセスが可能なサービスのうち、アクセスに相互認証を要しないサービスを決定するものとする。そして、S403で、CPU201は、決定したサービスの要求信号をIC媒体100に送信するものとしてもよい。また、S403で、CPU201は、読書装置101の入力部を介したユーザの操作に基づいて決定したサービスの要求信号をIC媒体100に送信するものとしてもよい。
【0028】
CPU211は、読書装置101から受信した製造識別情報がIC媒体100の製造識別情報と一致する場合、設定されたサービスがメモリ212に記録されているか否かを判定する。CPU211は、メモリ212に記録されているサービスの中からCPU211は、設定されたサービスがあるかどうか照合することで、設定されたサービスがメモリ212に記録されているか否かを判定する。CPU211は、設定されたサービスがメモリ212に記録されていると判定した場合、更に、メモリ212に記録されていると判定したサービスが相互認証なしに読み込みアクセス可能なサービスであるか否かを判定する。CPU211は、メモリ212に記録されていると判定したサービスが相互認証なしに読取可能なサービスであると判定した場合、領域情報として、設定されたサービスを、読書装置101に送信する。CPU201は、IC媒体100から、領域情報として設定されたサービスを取得する。CPU211は、メモリ212に記録されていると判定したサービスが相互認証なしに読み込みアクセス可能なサービスではないと判定した場合、領域情報として、設定されたサービスが読み取りできないことを示す情報を読書装置101に送信する。CPU201は、IC媒体100から、領域情報として設定されたサービスが読み取りできないことを示す情報を取得する。CPU211は、設定されたサービスがメモリ212に記録されていないと判定した場合、領域情報として、設定されたサービスが存在しない旨を示す情報を、読書装置101に送信する。CPU201は、IC媒体100から、領域情報として設定されたサービスが存在しない旨を示す情報を取得する。
また、CPU211は、読書装置101から受信した製造識別情報がIC媒体100の製造識別情報と一致しない場合、領域情報として、製造識別情報が一致しない旨を示す情報を、読書装置101に送信する。CPU201は、IC媒体100から、領域情報として製造識別情報が一致しない旨を示す情報を受信する。
【0029】
S404において、CPU201は、S403でIC媒体100から取得した領域情報に基づいて、IC媒体100が正当であるか否かを判定する。本実施形態では、S403で取得される領域情報は、設定されたサービス、又は設定されたサービスがメモリ212内に存在しない旨の情報である。
実施形態1で上述したように、IC媒体100が正当でないIC媒体である場合、IC媒体100は、正当なIC媒体ならば内部のメモリに記録しているはずの特定のサービスを、メモリ212に記録していないと考えられる。そのため、CPU201は、S403で、IC媒体100が正当でないIC媒体である場合、設定されたサービスがIC媒体100内に存在しないことを示す情報を取得することになる。逆に、CPU201は、S403で、IC媒体100が正当なIC媒体である場合、設定されたサービスを取得することになる。
CPU201は、S403で取得した領域情報が、設定されたサービスの情報である場合、IC媒体100を正当なものと判定し、S405の処理に進む。CPU201は、S403で取得した領域情報が、設定されたサービスがIC媒体100内に存在しないことを示す情報である場合、IC媒体100を正当なものではないと判定し、S406の処理に進む。
以上、本実施形態の処理により、実施形態1と同様に、認証システムは、より安価で、より容易に、よりセキュアなIC媒体の認証を行うことができる。
【0030】
また、CPU201は、S403で、領域情報として設定されたサービスの情報そのものを取得することができるので、次のような処理を行うこととしてもよい。即ち、CPU201は、S403で、領域情報として互いに関連のある2以上の設定されたサービスの要求信号を、IC媒体100に送信し、IC媒体100から互いに関連のある2以上の設定されたサービスを取得することとしてもよい。そして、CPU201は、S404で、IC媒体100から領域情報として取得した2以上のサービス同士に整合性があるか否かを判定する。CPU201は、IC媒体100から送信された2以上のサービス同士に整合性があると判定した場合、IC媒体100が正当であると判定し、S405の処理に進む。また、CPU201は、IC媒体100から送信された関連のある2以上のサービス同士に整合性がないと判定した場合、IC媒体100が正当でないと判定し、S406の処理に進む。
例えば、IC媒体100がプリペイドカードとして利用される場合、CPU201は、S403で、残高情報と利用履歴の最終金額情報との要求信号をIC媒体100に送信する。IC媒体100は、領域情報として、メモリ212内に記録されている残高情報と、利用履歴の最終金額情報と、を読書装置101に送信する。それにより、CPU201は、領域情報として、残高情報と利用履歴の最終金額情報とを取得する。
【0031】
残高情報は、プリペイドカードであるIC媒体100に残っている残金の額を示す情報であり、相互認証無しに読み取り可能な情報であるとする。利用履歴の最終金額情報は、IC媒体100が最後に利用された際の残高を示す履歴情報であり、相互認証無しに読み取り可能な情報であるとする。通常、プリペイドカードであるIC媒体内の残高情報と利用履歴の最終金額情報とは、同じ額を示し、整合性が取れていることとなる。しかし、正当でないIC媒体の場合、例えば、残高情報が不正に操作されることが考えられる。そのため、残高情報に示されている金額が、利用履歴の最終金額情報よりも多くなっており、整合性が取れていないというような場合がありうる。
そこで、S404で、CPU201は、S403で取得した残高情報と、利用履歴の最終金額情報と、が同じ額を示し、整合性がとれているか否かを判定する。CPU201は、S403で取得した残高情報と、利用履歴の最終金額情報と、が同じ額を示し、整合性がとれていると判定した場合、IC媒体100が正当であるとして、S405の処理に進む。また、CPU201は、S403で取得した残高情報と、利用履歴の最終金額情報と、が違う額を示し、整合性がとれていないと判定した場合、IC媒体100が正当でないとして、S406の処理に進む。このS404の処理は、読出可能情報同士の整合性の判定処理の一例である。
以上の処理により、認証システムは、内部メモリ内のサービスの情報が不正に操作されている正当でないIC媒体を誤って認証する可能性を軽減できる。
【0032】
<その他の実施形態>
実施形態1、2では、CPU201は、実施形態1、2で上述したIC媒体の製造識別情報の正当性判定方法の何れか1つの方法を実行することとした。しかし、CPU201は、実施形態1、2で上述した方法のうち、複数の方法を組み合わせて実行することとしてもよい。また、CPU201は、実行する複数の方法の実行順序を、IC媒体の製造識別情報の正当性判定処理毎に変更することとしてもよい。また、CPU201は、実行する方法を実行するタイミングを、IC媒体の製造識別情報の正当性判定処理毎に変更することとしてもよい。
また、実施形態1、2では、CPU201は、実施形態1、2で上述したIC媒体の製造識別情報の正当性判定方法を1度だけ実行することとした。しかし、CPU201は、実施形態1、2で上述した製造識別情報の正当性判定方法を任意の回数、実行することとしてもよい。また、CPU201は、実施形態1、2で上述した製造識別情報の正当性判定方法のうち、複数の製造識別情報の正当性判定方法を任意の回数、実行することとしてもよい。CPU201は、実施形態2で上述した製造識別情報の正当性判定方法の何れかを複数回、実行する場合、1回毎にS403でIC媒体100に読み出すよう要求する領域、領域の数、等を変更することとしてもよい。
以上の処理により、CPU201は、よりセキュアなIC媒体の認証処理が実現でき、また、オウム返しによる不正を防止することができる。
【0033】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではない。
例えば、上述した認証システムの機能構成の一部又は全てをハードウェアとして読書装置101に実装してもよい。