(57)【要約】  リーダ装置（１）は、パスポート（２）に内蔵されたＩＣチップ（５）へ認証コマンドを送信するときの通信レートを異ならせる制御を行う。そして、通信レートを異ならせた場合に、ＩＣチップ（５）へ認証コマンドを送信してからその認証コマンドに対する応答を受信するまでの所要時間Ｔ１、Ｔ２をそれぞれ計測する。このようにして計測した所要時間Ｔ１、Ｔ２に基づいて、ＩＣチップ（５）で認証コマンドの実行に要した演算時間Ｔｃを算出し、さらに、算出した演算時間Ｔｃに基づいて、ＩＣチップ（５）の真偽（パスポート２の真偽）を判定する。これにより、短時間で帳票やカードの真偽判定を行う、その判定精度を向上させることのできる、表面的かつ物理的な複製に影響されないリーダ装置が提供される。
2013125245.tif 000002
【特許請求の範囲】
【請求項１】
情報記憶媒体から情報を読み取るリーダ装置であって、
前記情報記憶媒体には、前記リーダ装置から送信されるコマンドを実行するＩＣチップが内蔵され、
前記リーダ装置は、
前記情報記憶媒体へ前記コマンドを送信し、その結果得られる前記情報記憶媒体からの応答信号を受信するコマンド通信部と、
前記ＩＣチップの特徴点を記憶する記憶部と、
前記情報記憶媒体からの応答信号より前記特徴点を抽出し、前記抽出した特徴点に基づいて、前記ＩＣチップの真偽を判定する真偽判定部と、
を備えたことを特徴とするリーダ装置。
【請求項２】
前記コマンド通信部に対して、第１の前記コマンドを送信させ、その結果得られる前記情報記憶媒体からの応答信号を受信した後、前記第１のコマンドと同一でかつ通信仕様が異なる第２のコマンドを続けて送信させる通信制御部と、
前記通信制御部と前記真偽判定部とを制御する制御部と、
をさらに備えたことを特徴とする請求項１記載のリーダ装置。
【請求項３】
前記特徴点とは、前記情報記憶媒体の管理情報と、前記情報記憶媒体のＩＣチップの世代を判別するための世代判別情報であり、
前記記憶部には前記情報記憶媒体の管理情報に対応付けられる前記ＩＣチップの世代判別情報が記憶され、
前記真偽判定部は、前記情報記憶媒体の管理情報より、前記情報記憶媒体に搭載されるべきＩＣチップの世代を判別し、前記世代判別情報が前記搭載されるべき世代のＩＣチップのものであるか否かを判定することを特徴とする請求項１記載のリーダ装置。
【請求項４】
前記世代判別情報とは、前記情報記憶媒体のＩＣチップが前記コマンドの実行に要する演算時間であり、
前記通信仕様とは通信レートであり、
前記記憶部には前記情報記憶媒体の管理情報に対応付けられる前記ＩＣチップの演算時間情報が世代毎に記憶され、
前記真偽判定部は、前記情報記憶媒体の管理情報より、前記情報記憶媒体に搭載されるべきＩＣチップの世代を判別し、前記演算時間が前記搭載されるべき世代のＩＣチップの演算時間情報に含まれるか否かを判定することを特徴とする請求項３記載のリーダ装置。
【請求項５】
前記制御部は、
前記第１のコマンドを前記情報記憶媒体へ送信してから前記第１のコマンドに対する前記情報記憶媒体の第１の応答信号を受信するまでの第１の所要時間と、前記第２のコマンドを前記情報記憶媒体へ送信してから前記第２のコマンドに対する前記情報記憶媒体の第２の応答信号を受信するまでの第２の所要時間と、をそれぞれ計測する所要時間計測部と、
前記第１の所要時間と前記第２の所要時間とに基づいて、前記情報記憶媒体のＩＣチップにおいて前記第１のコマンドおよび前記第２のコマンドの実行に要した演算時間を算出する演算時間算出部と、
をさらに備えたことを特徴とする請求項２記載のリーダ装置。
【請求項６】
前記第１のコマンドおよび前記第２のコマンドはいずれも、前記情報記憶媒体に記憶されている情報へのアクセスについて前記情報記憶媒体より拒否される応答信号が得られるよう生成される不正な認証コマンドであることを特徴とする請求項２記載のリーダ装置。
【請求項７】
前記通信制御部は、前記コマンド通信部が前記不正な認証コマンドを送信する前に、前記情報記憶媒体に記憶されている情報へのアクセスについて前記情報記憶媒体より認証される応答信号が得られるよう生成される正当な認証コマンドを送信するよう制御することを特徴とする請求項６記載のリーダ装置。
【請求項８】
前記通信制御部は、前記真偽判定部による判定の結果、前記世代判別情報が前記搭載されるべき世代のＩＣチップのものであると判定した場合には、前記情報記憶媒体に記憶されている情報へのアクセスについて前記情報記憶媒体より認証される応答信号が得られるよう生成される正当な認証コマンドを送信するよう、前記コマンド通信部を制御することを特徴とする請求項３記載のリーダ装置。
【請求項９】
前記通信制御部は、前記真偽判定部による判定の結果、前記世代判別情報が前記搭載されるべき世代のＩＣチップのものではないと判定した場合には、前記情報記憶媒体に記憶されている情報へのアクセスについて前記情報記憶媒体より拒否される応答信号が得られるよう生成される不正な認証コマンドをさらに送信するよう、前記コマンド通信部を制御することを特徴とする請求項３記載のリーダ装置。
【請求項１０】
前記記憶部に記憶されている前記特徴点のデータを更新するデータ更新部をさらに備えたことを特徴とする請求項１記載のリーダ装置。
【請求項１１】
請求項１記載のリーダ装置を備え、前記真偽判定部により前記ＩＣチップが正当なものであると判定した場合に、その後のデータ処理を実行するデータ処理装置。
【請求項１２】
情報記憶媒体から情報を読み取るリーダ装置で実行される真偽判定方法であって、
前記情報記憶媒体には、前記リーダ装置から送信されるコマンドを実行するＩＣチップが内蔵され、
前記真偽判定方法は、
前記情報記憶媒体へ前記コマンドを送信することと、
前記情報記憶媒体からの応答信号より前記ＩＣチップの特徴点を抽出し、前記抽出した特徴点に基づいて、前記ＩＣチップの真偽を判定することと、
を含むことを特徴とする真偽判定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票やカードから情報を読み取るリーダ装置に関し、特に、帳票やカードの真偽を判定する技術に関するものである。
【背景技術】
【０００２】
従来から、帳票（例えば、ＩＣチップを内蔵したパスポート）やカード（例えば、ＩＣカード）から情報を読み取るリーダ装置が利用されており、そのようなリーダ装置として、帳票やカードの真偽を判定する機能を備えたものも提案されている。【０００３】
例えば、パスポートの券面に赤外線や紫外線を照射して得られる画像データに基づいて（特定の模様が浮き上がるか、あるいは、画像に不自然な点がないか等に基づいて）、パスポートの真偽の判定を行う方法が知られている（特許文献１参照）。【０００４】
また、特にＩＣカードにおいては、カードの偽造を検出するために、特定の模様が浮き上がるようにしたホログラムマーク（例えば特許文献２参照）がカード表面に形成されている。そして、このホログラムマークを検出するための方法も知られている（例えば特許文献３参照）。【０００５】
しかしながら、従来のリーダ装置においては、画像データやホログラムマークに基づいて真偽の判定を行うため、画像処理の演算負荷が大きく、帳票やカードの真偽判定に時間がかかることがあった。また、近年の画像形成技術の進歩とともに、このような画像データやホログラムマークの複製が可能となりつつあり、これら表面的かつ物理的な画像形成技術を用いた真偽判定では偽造検出が確実に行われないことがあった。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−２００９１３号公報
【特許文献２】米国特許第５，５４９，９５３号明細書
【特許文献３】米国特許第５，５６８，２５１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上記背景の下でなされたものである。本発明の目的は、短時間で帳票やカードの真偽判定を行うことができ、その判定精度を向上させることのできる、表面的かつ物理的な複製に影響されないリーダ装置を提供することにある。
【課題を解決するための手段】
【０００８】
本発明の一の態様は、帳票またはカードから情報を読み取るリーダ装置であり、帳票またはカードには、リーダ装置から送信されるコマンドを実行するＩＣチップが内蔵されており、リーダ装置は、ＩＣチップへコマンドを送信するコマンド送信部と、コマンドを送信するときの通信レートを異ならせる制御を行う送信制御部と、送信制御部により通信レートを異ならせた場合に、ＩＣチップへコマンドを送信してからＩＣチップからコマンドに対する応答を受信するまでの所要時間をそれぞれ計測する所要時間計測部と、時間計測部により計測される所要時間に基づいて、ＩＣチップでコマンドの実行に要した演算時間を算出する演算時間算出部と、演算時間算出部により算出される演算時間に基づいて、ＩＣチップの真偽を判定する真偽判定部と、を備えている。【０００９】
以下に説明するように、本発明には他の態様が存在する。したがって、この発明の開示は、本発明の一部の態様の提供を意図しており、ここで記述され請求される発明の範囲を制限することは意図していない。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施の形態１におけるリーダ装置のブロック図
【図２】図２は、本発明の実施の形態１におけるコマンドを送信してから応答を受信するまでの所要時間の説明図
【図３】図３は、本発明の実施の形態１における所要時間から演算時間を算出する仕方の説明図
【図４】図４は、本発明の実施の形態１における真偽判定用のデータの更新の説明図
【図５】図５は、本発明の実施の形態１におけるＩＣチップの世代ごとの演算時間の説明図
【図６】図６は、本発明の実施の形態１におけるリーダ装置の動作を説明するためのフロー図
【図７】図７は、本実施の形態２のリーダ装置を示すブロック図
【図８】図８（ａ）は、正当な保持者が有する正当な世代のＩＣチップを備えた真正なＩＣカードを従来のリーダ装置が読み取った場合についての説明図、図８（ｂ）は、正当な保持者が有する正当な世代のＩＣチップを備えた真正なＩＣカードを本実施の形態２のリーダ装置２１が読み取った場合の説明図
【図９】図９は、リーダ装置のＰＩＮパッドに暗証番号が入力されてからカードホルダー認証とＩＣカードの真偽判定を行うまでの処理フロー図
【図１０】図１０（ａ）は、悪意を持った第三者により古い世代のＩＣチップを利用して偽造されたＩＣカードを従来のリーダ装置が読み取った場合についての説明図、図１０（ｂ）は、悪意を持った第三者により古い世代のＩＣチップを利用して偽造されたＩＣカードを本実施の形態２のリーダ装置が読み取った場合の説明図
【発明を実施するための形態】
【００１１】
以下に本発明の詳細な説明を述べる。ただし、以下の詳細な説明と添付の図面は発明を限定するものではない。
【００１２】
本発明のリーダ装置は、帳票またはカードなどの情報記憶媒体から情報を読み取るリーダ装置であって、情報記憶媒体には、リーダ装置から送信されるコマンドを実行するＩＣチップが内蔵され、リーダ装置は、情報記憶媒体へコマンドを送信し、その結果得られる情報記憶媒体からの応答信号を受信するコマンド通信部と、ＩＣチップの特徴点を記憶する記憶部と、情報記憶媒体からの応答信号より特徴点を抽出し、抽出した特徴点に基づいて、ＩＣチップの真偽を判定する真偽判定部と、を備えた構成を有している。
【００１３】
この構成により、抽出した特徴点に基づいて、ＩＣチップの真偽が判定される。本発明によれば、表面的かつ物理的な複製に影響されないので、真偽判定の判定精度を向上させることができる。
【００１４】
また、本発明のリーダ装置は、コマンド通信部に対して、第１のコマンドを送信させ、その結果得られる情報記憶媒体からの応答信号を受信した後、第１のコマンドと同一でかつ通信仕様が異なる第２のコマンドを続けて送信させる通信制御部と、通信制御部と真偽判定部とを制御する制御部と、をさらに備えてよい。
【００１５】
この構成により、ＩＣチップにコマンドを送信するときの通信仕様を変化させて、情報記憶媒体からの応答信号より特徴点が抽出される。
【００１６】
また、特徴点とは、情報記憶媒体の管理情報と、情報記憶媒体のＩＣチップの世代を判別するための世代判別情報であり、本発明のリーダ装置の記憶部には情報記憶媒体の管理情報に対応付けられるＩＣチップの世代判別情報が記憶され、本発明のリーダ装置の真偽判定部は、情報記憶媒体の管理情報より、情報記憶媒体に搭載されるべきＩＣチップの世代を判別し、世代判別情報が搭載されるべき世代のＩＣチップのものであるか否かを判定してよい。
【００１７】
この構成により、ＩＣチップにコマンドを送信するときの通信仕様を変化させて、情報記憶媒体からの応答信号より得られるＩＣチップの世代情報が、管理情報に対応付けられるＩＣチップの世代情報と一致するかどうかを判別することができるので、そのＩＣチップを搭載する情報記憶媒体が、真正なものであるか偽造されたものであるのかを判定することができる。
【００１８】
また、本発明のリーダ装置における世代判別情報とは、情報記憶媒体のＩＣチップがコマンドの実行に要する演算時間であり、通信仕様とは通信レートであり、記憶部には情報記憶媒体の管理情報に対応付けられるＩＣチップの演算時間情報が世代毎に記憶され、真偽判定部は、情報記憶媒体の管理情報より、情報記憶媒体に搭載されるべきＩＣチップの世代を判別し、その演算時間が搭載されるべき世代のＩＣチップの演算時間情報に含まれるか否かを判定してよい。
【００１９】
この構成により、ＩＣチップにコマンドを送信するときの通信レートを変化させて、情報記憶媒体からの応答信号より得られるＩＣチップの演算時間により、ＩＣチップの世代情報が判別できる。そして、そのＩＣチップの世代情報が、管理情報に対応付けられるＩＣチップの世代情報と一致するかどうかを判別することができるので、そのＩＣチップを搭載する情報記憶媒体が、真正なものであるか偽造されたものであるのかを判定することができる。
【００２０】
また、本発明のリーダ装置の制御部は、第１のコマンドを情報記憶媒体へ送信してから第１のコマンドに対する情報記憶媒体の第１の応答信号を受信するまでの第１の所要時間と、第２のコマンドを情報記憶媒体へ送信してから第２のコマンドに対する情報記憶媒体の第２の応答信号を受信するまでの第２の所要時間と、をそれぞれ計測する所要時間計測部と、これら第１の所要時間と第２の所要時間とに基づいて、情報記憶媒体のＩＣチップで第１のコマンドおよび第２のコマンドの実行に要した演算時間を算出する演算時間算出部と、をさらに備えてよい。
【００２１】
この構成により、ＩＣチップにコマンドを送信するときの通信レート（通信速度）を変化させて、そのコマンドを送信してからそのコマンドに対する応答を受信するまでの所要時間が計測される。そして、この所要時間に基づいて、ＩＣチップでコマンドの実行に要した演算時間が算出され、この演算時間に基づいて、ＩＣチップの真偽が判定される。本発明によれば、画像処理に比べて演算負荷が小さく、短時間でＩＣチップの真偽判定（帳票やカードの真偽判定）を行うことが可能になる。また、表面的かつ物理的な複製に影響されないので、真偽判定の判定精度を向上させることができる。
【００２２】
また、本発明のリーダ装置が送信する第１のコマンドおよび第２のコマンドはいずれも、情報記憶媒体に記憶されている情報へのアクセスについて情報記憶媒体より拒否される応答信号が得られるよう生成される不正な認証コマンドであってよい。
【００２３】
この構成により、正当な認証コマンドを送信する場合に得られる特徴点（例えば演算時間）とは異なる特徴点が、不正な認証コマンドの送信により得られる。特に、それらの特徴点の相違が、不正な（例えば古い世代の）ＩＣチップが搭載されている偽造された情報記憶媒体において顕著となる場合には、偽造された情報記憶媒体の発見はより容易なものとなる。
【００２４】
また、本発明のリーダ装置の通信制御部は、コマンド通信部が不正な認証コマンドを送信する前に、情報記憶媒体に記憶されている情報へのアクセスについて情報記憶媒体より認証される応答信号が得られるよう生成される正当な認証コマンドを送信するよう制御してよい。
【００２５】
この構成により、情報記憶媒体の照合回数は上限を超えることがなく、正当な保持者による真正な情報記憶媒体が使用不能になることを防ぐことができる。
【００２６】
また、本発明のリーダ装置の通信制御部は、真偽判定部による判定の結果、世代判別情報が搭載されるべき世代のＩＣチップのものであると判定した場合には、情報記憶媒体に記憶されている情報へのアクセスについて情報記憶媒体より認証される応答信号が得られるよう生成される正当な認証コマンドを送信するよう、コマンド通信部を制御してよい。
【００２７】
この構成により、情報記憶媒体の照合回数は上限を超えることがなく、正当な保持者による真正な情報記憶媒体が使用不能になることを防ぐことができる。
【００２８】
また、本発明のリーダ装置の通信制御部は、真偽判定部による判定の結果、世代判別情報が搭載されるべき世代のＩＣチップのものではないと判定した場合には、情報記憶媒体に記憶されている情報へのアクセスについて情報記憶媒体より拒否される応答信号が得られるよう生成される不正な認証コマンドをさらに送信するよう、コマンド通信部を制御してよい。
【００２９】
この構成により、情報記憶媒体は無効化され、二度と使用できなくなる。そして、悪意を持った第三者が、リーダ装置で使用し、偽造されたものであることが発覚しそうになって逃走した後に、従来のリーダ装置で再びその情報記憶媒体を使用しようとしても、それができないようにすることができる。そして、偽造された情報記憶媒体の不正使用による被害の拡大を小さくすることができる。
【００３０】
また、本発明のリーダ装置は、記憶部に記憶されている前記特徴点のデータを更新するデータ更新部をさらに備えてよい。
【００３１】
この構成により、記憶部には、ＩＣチップの真偽判定用の特徴点に関するデータが記憶されており、そのデータが真偽判定部以外の判定手段によるＩＣチップの真偽判定（例えば、画像や磁気を用いた真偽判定）など、他より得られる情報に基づいて更新される。これにより、データベース部に記憶されているデータ（ＩＣチップの真偽判定用のデータ）が適切に更新され、真偽判定部によるＩＣチップの真偽判定の精度が向上する。
【００３２】
本発明のデータ処理装置は、以上に述べたいずれかのリーダ装置を備え、真偽判定部によりＩＣチップが正当なものであると判定した場合には、その後のデータ処理を実行する。
【００３３】
この構成により、抽出した特徴点に基づいて、ＩＣチップの真偽が判定される。本発明によれば、表面的かつ物理的な複製に影響されないので、真偽判定の判定精度を向上させることができる。本発明のデータ処理装置は、もしそのＩＣチップが正当なものと判定した場合は、その情報記憶媒体によるクレジット決済や電子マネーの支払などのデータ処理を行う。そして本発明のデータ処理装置は、もしそのＩＣチップが正当なものでないと判定した場合には、その情報媒体によるクレジット決済や電子マネーの支払などのデータ処理は行わず、悪意を持った第三者によるＩＣカードの不正な利用は食い止められる。
【００３４】
本発明の方法は、情報記憶媒体から情報を読み取るリーダ装置で実行される真偽判定方法であって、情報記憶媒体には、リーダ装置から送信されるコマンドを実行するＩＣチップが内蔵され、真偽判定方法は、情報記憶媒体へコマンドを送信することと、情報記憶媒体からの応答信号よりＩＣチップの特徴点を抽出し、抽出した特徴点に基づいて、ＩＣチップの真偽を判定することと、を含んでいる。
【００３５】
この方法により、抽出した特徴点に基づいて、ＩＣチップの真偽が判定される。本発明によれば、表面的かつ物理的な複製に影響されないので、真偽判定の判定精度を向上させることができる。
【００３６】
あるいは、本発明のリーダ装置は、帳票またはカードから情報を読み取るリーダ装置であって、  または、帳票またはカードには、リーダ装置から送信されるコマンドを実行するＩＣチップが内蔵されており、リーダ装置は、ＩＣチップへコマンドを送信するコマンド送信部と、コマンドを送信するときの通信レートの制御を行う送信制御部と、送信制御部により通信レートを異ならせた場合に、ＩＣチップへコマンドを送信してからＩＣチップからコマンドに対する応答を受信するまでの所要時間をそれぞれ計測する所要時間計測部と、時間計測部により計測される所要時間に基づいて、ＩＣチップでコマンドの実行に要した演算時間を算出する演算時間算出部と、演算時間算出部により算出される演算時間に基づいて、ＩＣチップの真偽を判定する真偽判定部と、を備えた構成を有している。
【００３７】
この構成により、ＩＣチップにコマンドを送信するときの通信レート（通信速度）を変化させて、そのコマンドを送信してからそのコマンドに対する応答を受信するまでの所要時間が計測される。そして、この所要時間に基づいて、ＩＣチップでコマンドの実行に要した演算時間が算出され、この演算時間に基づいて、ＩＣチップの真偽が判定される。本発明によれば、画像処理に比べて演算負荷が小さく、短時間でＩＣチップの真偽判定（帳票やカードの真偽判定）を行うことが可能になる。また、表面的かつ物理的な複製に影響されないので、真偽判定の判定精度を向上させることができる。
【００３８】
例えば、まず、基本速度（１０６ｋｂｐｓ）でコマンドを送信してから、応答を受信するまでの時間Ｔ１を計測し、つぎに、倍速度（２１２ｋｂｐｓ）でコマンドを送信してから、応答を受信するまでの所要時間Ｔ２を計測する。この場合、「（Ｔ１−Ｔ２）×２」が基本速度での通信時間であると考えることができ、ＩＣチップにおいてコマンドの実行に要した演算時間は「Ｔ１−（Ｔ１−Ｔ２）×２」であると考えられる。この演算時間が、真正なＩＣチップの場合に算出されるべき値の範囲外であると、そのＩＣチップは偽造されたものであると判定される。
【００３９】
また、本発明のリーダ装置は、ＩＣチップへ不正な認証コマンドを送信する不正認証コマンド送信部を、さらに備え、送信制御部は、ＩＣチップへ不正な認証コマンドを送信する場合に、不正な認証コマンドを送信するときの通信レートを変化させる制御を行い、時間計測部は、送信制御部により通信レートを変化させた場合に、ＩＣチップへ不正な認証コマンドを送信してからＩＣチップから不正な認証コマンドに対する応答を受信するまでの所要時間をそれぞれ計測し、演算時間算出部は、時間計測部により計測される所要時間に基づいて、ＩＣチップにおいて不正な認証コマンドの実行に要した演算時間を算出し、真偽判定部は、演算時間算出部により算出される演算時間に基づいて、ＩＣチップの真偽を判定する構成を有してよい。
【００４０】
この構成により、ＩＣチップに不正な認証コマンドを送信するときの通信レート（通信速度）を異ならせて、その不正な認証コマンドを送信してからその不正な認証コマンドに対する応答を受信するまでの所要時間が計測される。そして、この所要時間に基づいて、ＩＣチップで不正な認証コマンドの実行に要した演算時間が算出され、この演算時間に基づいて、ＩＣチップの真偽が判定される。
【００４１】
一般に、真正なＩＣチップでは、不正な認証コマンドが送信された場合にそのコマンドを処理するための演算時間と、正当な認証コマンドが送信された場合にそのコマンドを処理するための演算時間との間にそれほどばらつきは生じない。一方、偽造のＩＣチップでは、専用品でない等の理由により、不正な認証コマンドが送信された場合にそのコマンドを処理するための演算時間と、正当な認証コマンドが送信された場合にそのコマンドを処理するための演算時間との間に大きなばらつきが生じる。したがって、演算時間に大きなばらつきが生じた場合には、そのＩＣチップは偽造されたものであると判定することができる。
【００４２】
また、本発明のリーダ装置は、ＩＣチップの真偽判定用のデータとして、真正なＩＣチップと判定するための演算時間と、偽造のＩＣチップと判定するための演算時間のデータが記憶されているデータベース部と、真偽判定部以外の判定手段によるＩＣチップの真偽判定の結果に基づいて、データベース部に記憶されているＩＣチップの真偽判定用のデータを更新するデータ更新部とを、さらに備えた構成を有してよい。
【００４３】
この構成により、データベース部には、ＩＣチップの真偽判定用のデータ（真正なＩＣチップの場合に算出される演算時間と、偽造のＩＣチップの場合に算出される演算時間のデータ）が記憶されており、そのデータが、真偽判定部以外の判定手段によるＩＣチップの真偽判定（例えば、画像や磁気を用いた真偽判定）の結果に基づいて更新される。これにより、データベース部に記憶されているデータ（ＩＣチップの真偽判定用のデータ）が適切に更新され、真偽判定部によるＩＣチップの真偽判定の精度が向上する。
【００４４】
また、本発明のリーダ装置では、データベース部は、ＩＣチップの（発行）世代ごとに、真正なＩＣチップと判定するための演算時間と、偽造のＩＣチップと判定するための演算時間のデータを記憶した構成を有してよい。
【００４５】
この構成により、ＩＣチップの世代ごとに、ＩＣチップの真偽判定が可能になる。例えば、最初の世代（第１世代）のＩＣチップの演算時間は、その次の世代（第２世代）のＩＣチップの演算時間より長い。したがって、複数の世代のＩＣチップが流通している場合、ＩＣチップの世代を考慮せずにＩＣチップの演算時間に基づいて真偽判定を行うと誤判定が生じるおそれがある。本発明では、ＩＣチップの世代ごとの演算時間を考慮して真偽判定を行うことにより、そのような誤判定が生じるのを防止することができる。
【００４６】
本発明の方法は、帳票またはカードから情報を読み取るリーダ装置で実行される真偽判定方法あって、帳票またはカードには、リーダ装置から送信されるコマンドを実行するＩＣチップが内蔵されており、真偽判定方法は、ＩＣチップへコマンドを送信することと、コマンドを送信するときの通信レートを異ならせる制御を行うことと、通信レートを異ならせた場合に、ＩＣチップへコマンドを送信してからＩＣチップからコマンドに対する応答を受信するまでの所要時間をそれぞれ計測することと、計測される所要時間に基づいて、ＩＣチップでコマンドの実行に要した演算時間を算出することと、算出される演算時間に基づいて、ＩＣチップの真偽を判定することと、を含むことを含んでいる。
【００４７】
この方法によっても、上記と同様に、ＩＣチップにコマンドを送信するときの通信レート（通信速度）を異ならせて、そのコマンドを送信してからそのコマンドに対する応答を受信するまでの所要時間が計測される。そして、この所要時間に基づいて、ＩＣチップでコマンドの実行に要した演算時間が算出され、この演算時間に基づいて、ＩＣチップの真偽が判定される。したがって、画像処理に比べて演算負荷が小さく、短時間でＩＣチップの真偽判定（帳票やカードの真偽判定）を行うことが可能になる。また、表面的かつ物理的な複製に影響されないので、真偽判定の判定精度を向上させることができる。
【００４８】
本発明は、帳票やカード内に内蔵されているＩＣチップでコマンドの実行に要した演算時間をリーダ装置で算出し、その演算時間に基づいてＩＣチップの真偽を判定することが可能であり、短時間で帳票やカードの真偽判定を行うことができるという効果を有するリーダ装置を提供することができる。また、表面的かつ物理的な複製に影響されないので、真偽判定の判定精度を向上させることができる。
【００４９】
以下、本発明の実施の形態のリーダ装置について、図面を用いて説明する。
【００５０】
（実施の形態１）
本実施の形態１では、帳票（例えば、ＩＣチップを内蔵したパスポート）から情報を読み取るリーダ装置の場合を例示する。このリーダ装置は、偽造パスポートを判別する機能を備えている。
【００５１】
本発明の実施の形態１のリーダ装置の構成を、図面を参照して説明する。図１は、本実施の形態１のリーダ装置を示すブロック図である。図１に示すように、リーダ装置１は、パスポート２の画像を撮影する撮影部３と、パスポート２との無線通信を行う無線通信インターフェース部４（無線通信ＩＦ部４）を備えている。無線通信ＩＦ部４は、例えば、パスポート２へ認証コマンドを送信する。パスポート２には、リーダ装置１から送信される認証コマンドを実行するＩＣチップ５が内蔵されている。
【００５２】
また、リーダ装置１は、パスポート２の真偽判定のための制御を行う制御部６と、パスポート２の真偽判定のためデータが記憶される記憶部７と、表示用端末（または制御用端末）であるコンピュータ装置８やデータベース部９との有線通信を行う有線通信インターフェース部１０（有線通信ＩＦ部１０）を備えている。
【００５３】
制御部６は、送信制御部１１と、所要時間計測部１２と、演算時間算出部１３と、真偽判定部１４を備えている。送信制御部１１は、認証コマンドを送信するときの通信レートを異ならせる制御を行う。所要時間計測部１２は、送信制御部１１により通信レートを異ならせた場合に、ＩＣチップ５へ認証コマンドを送信してからＩＣチップ５から認証コマンドに対する応答を受信するまでの所要時間をそれぞれ計測する。演算時間算出部１３は、時間計測部により計測される所要時間に基づいて、ＩＣチップ５で認証コマンドの実行に要した演算時間を算出する。真偽判定部１４は、演算時間算出部１３により算出される演算時間に基づいて、ＩＣチップ５の真偽を判定する。
【００５４】
また、無線通信ＩＦ部４は、パスポート２へ不正な認証コマンド（真偽判定用の不正な認証コマンド）を送信する。パスポート２のＩＣチップ５は、この不正な認証コマンドを実行することもできる。その場合、送信制御部１１は、不正な認証コマンドを送信するときの通信レートを異ならせる制御を行う。所要時間計測部１２は、送信制御部１１により通信レートを異ならせた場合に、ＩＣチップ５へ不正な認証コマンドを送信してからＩＣチップ５から不正な認証コマンドに対する応答を受信するまでの所要時間をそれぞれ計測する。演算時間算出部１３は、時間計測部により計測される所要時間に基づいて、ＩＣチップ５で不正な認証コマンドの実行に要した演算時間を算出する。真不正認証判定部１４は、不正な認証コマンドを用いたときに、演算時間算出部１３により算出される演算時間に基づいて、ＩＣチップ５の真不正認証を判定することもできる。
【００５５】
ここで、所要時間の計測、および、演算時間の算出について、図面を参照しながら説明する。図２は、リーダ装置１がＩＣチップ５へ認証コマンド（または不正な認証コマンド）を送信してから応答を受信するまでの所要時間の説明図である。図２に示すように、「所要時間」は、リーダ装置１がＩＣチップ５へ認証コマンドを送信するときの「通信時間」と、ＩＣチップ５で認証コマンドの実行に要する「演算時間」と、リーダ装置１がＩＣチップ５からの応答を受信するときの「通信時間」の合計である。
【００５６】
図３は、所要時間から演算時間を算出する仕方の説明図である。図３（ａ）に示すように、基本速度（例えば、１０６ｋｂｐｓ）で認証コマンドを送信したときの所要時間Ｔ１は、ＩＣチップ５で認証コマンドの実行に要する「演算時間」と、認証コマンド送信および応答受信のときの「通信時間」の合計である。また、図３（ｂ）に示すように、倍速度（例えば、２１２ｋｂｐｓ）で認証コマンドを送信したときの所要時間Ｔ２は、ＩＣチップ５で認証コマンドの実行に要する「演算時間」と、認証コマンド送信および応答受信のときの「通信時間」の合計である。一般に同じコマンドであれば、倍速度の「通信時間」は、基本速度の「通信時間」の半分である。したがって、図３（ｃ）に示すように、基本速度の「通信時間」は「（Ｔ１−Ｔ２）×２」として算出することができ、「演算時間」は「Ｔ１−（Ｔ１−Ｔ２）×２」として算出することができる。
【００５７】
図１に戻って、リーダ装置１の構成の説明を続ける。データベース部９には、ＩＣチップ５の真偽判定用のデータとして、真正なＩＣチップ５と判定するための演算時間と、偽造のＩＣチップ５と判定するための演算時間のデータが記憶されている。そして、図１に示すように、制御部６には、真偽判定部１４以外の判定手段によるＩＣチップ５の真偽判定の結果に基づいて、データベース部９に記憶されているＩＣチップ５の真偽判定用のデータを更新するデータ更新部１５が備えられている。
【００５８】
図４は、真偽判定用のデータの更新の説明図である。図４（ａ）に示すように、データベース更新前（例えば出荷時など）には、演算時間算出部１３で算出された演算時間が、所定の範囲Ａ（例えば、真正なＩＣチップ５の演算時間の分布を含むような広めの範囲）に含まれる場合には、そのＩＣチップ５は「真正」であると判定される。ところが、演算時間に基づく真偽判定では「真正」であると判定されたパスポート２であっても、他の判定手段（例えば、画像や磁気に基づく判定手段）によって「偽造」であると判定される場合がある（図４において×印で図示）。そのような場合、図４（ｂ）に示すように、真偽判定用のデータの更新が行われ、演算時間に基づく真偽判定で「真正」であると判定される範囲が、当所の範囲Ａより狭い範囲Ｂ（例えば、他の判定手段によって「偽造」と判定されたところを除いた範囲）に更新される。
【００５９】
データベース部９には、ＩＣチップ５の世代ごとに、真正なＩＣチップ５の場合に算出される演算時間と、偽造のＩＣチップ５の場合に算出される演算時間のデータが記憶されている。例えば、図５は、ＩＣチップ５の世代ごとの演算時間の一例を示す説明図である。図５に示すように、第１世代のＩＣチップ５の場合には、演算時間算出部１３で算出された演算時間が、所定の範囲Ｘに含まれば、そのＩＣチップ５は「真正」であると判定される。また、第２世代のＩＣチップ５の場合には、演算時間算出部１３で算出された演算時間が、所定の範囲Ｙに含まれば、そのＩＣチップ５は「真正」であると判定される。また、第３世代のＩＣチップ５の場合には、演算時間算出部１３で算出された演算時間が、所定の範囲Ｚに含まれば、そのＩＣチップ５は「真正」であると判定される。
【００６０】
以上のように構成されたリーダ装置１について、図面を参照してその動作を説明する。
【００６１】
図６は、認証コマンドを送信するときの通信レートを異ならせてＩＣチップ５の真偽判定（パスポート２の真偽判定）をするときの動作の流れを説明するフロー図である。図６に示すように、まず、リーダ装置１は、基本速度でＩＣチップ５へ（正当な）認証コマンドを送信し（Ｓ１０）、ＩＣチップ５から応答を受信するまでの所要時間Ｔ１を計測する（Ｓ１１）。つぎに、リーダ装置１は、倍速度でＩＣチップ５へ（正当な）認証コマンドを送信し（Ｓ１２）、ＩＣチップ５から応答を受信するまでの所要時間Ｔ２を計測する（Ｓ１３）。
【００６２】
リーダ装置１は、このようにして計測した所要時間Ｔ１とＴ２から、ＩＣチップ５で認証コマンドの実行に要した演算時間Ｔｃを算出する（Ｓ１４）。そして、このようにして算出した演算時間Ｔｃが、そのＩＣチップ５の世代ごとに定められた規定時間内でない場合には（Ｓ１５）、ＩＣチップ５が「偽造」である、つまり、パスポート２が「偽造」と判定される（Ｓ１９）。
【００６３】
一方、演算時間Ｔｃが、そのＩＣチップ５の世代ごとに定められた規定時間内である場合には（Ｓ１５）、不正な認証データを使用して上記のステップＳ１０〜Ｓ１４を実行し、演算時間Ｔｆを算出する（Ｓ１６）。そして、演算時間の差「Ｔｆ−Ｔｃ」が小さく、ばらついていないならば（Ｓ１７）、ＩＣチップ５が「真正」である、つまり、パスポート２が「真正」と判定される（Ｓ１８）。一方、演算時間の差「Ｔｆ−Ｔｃ」が大きく、ばらついているならば（Ｓ１７）、ＩＣチップ５が「偽造」である、つまり、パスポート２が「偽造」と判定される（Ｓ１９）。
【００６４】
なお、ここでは、認証コマンドを送信するときの通信レートを「基本速度」と「倍速度」で異ならせる例について説明したが、「４倍速」や「８倍速」で異ならせてもよい。
【００６５】
このような本実施の形態１のリーダ装置１によれば、パスポート２のＩＣチップ５で認証コマンドの実行に要した演算時間をリーダ装置１で算出し、その演算時間に基づいてＩＣチップ５の真偽を判定することが可能であり、短時間でパスポート２の真偽判定を行うことができる。
【００６６】
すなわち、本実施の形態１では、ＩＣチップ５に認証コマンドを送信するときの通信レート（通信速度）を異ならせて、その認証コマンドを送信してからその認証コマンドに対する応答を受信するまでの所要時間Ｔ１、Ｔ２が計測される。そして、この所要時間Ｔ１、Ｔ２に基づいて、ＩＣチップ５で認証コマンドの実行に要した演算時間Ｔｃが算出され、この演算時間Ｔｃに基づいて、ＩＣチップ５の真偽が判定される。本実施の形態１のリーダ装置１によれば、画像処理に比べて演算負荷が小さく、短時間でＩＣチップ５の真偽判定（パスポート２の真偽判定）を行うことが可能になる。
【００６７】
例えば、まず、基本速度（１０６ｋｂｐｓ）で認証コマンドを送信したときの所要時間Ｔ１を計測し、つぎに、倍速度（２１２ｋｂｐｓ）で認証コマンドを送信したときの所要時間Ｔ２を計測する。この場合、「（Ｔ１−Ｔ２）×２」が基本速度での通信時間であると考えることができ、ＩＣチップ５で認証コマンドの実行に要した演算時間Ｔｃは「Ｔ１−（Ｔ１−Ｔ２）×２」であると考えられる。この演算時間Ｔｃが、真正なＩＣチップ５の場合に算出されるべき値の範囲外であると、そのＩＣチップ５は偽造されたものであると判定される。
【００６８】
また、本実施の形態１では、ＩＣチップ５に不正な認証コマンドを送信するときの通信レート（通信速度）を異ならせて、その不正な認証コマンドを送信してからその不正な認証コマンドに対する応答を受信するまでの所要時間Ｔ１、Ｔ２が計測される。そして、この所要時間Ｔ１、Ｔ２に基づいて、ＩＣチップ５で不正な認証コマンドの実行に要した演算時間Ｔｆが算出され、この演算時間Ｔｆと上記演算時間Ｔｃとに基づいて、ＩＣチップ５の真偽が判定される。
【００６９】
一般に、真正なＩＣチップ５では、不正な認証コマンドが送信された場合の演算時間と、正当な認証コマンドが送信された場合との演算時間にそれほどばらつき（差分）は生じない。一方、偽造のＩＣチップ５では、不正な認証コマンドが送信された場合の演算時間と、正当な認証コマンドが送信された場合との演算時間に大きなばらつき（差分）が生じる。したがって、演算時間に大きな遅延が生じた場合には、そのＩＣチップ５は偽造されたものであると判定される。
【００７０】
また、本実施の形態１では、データベース部９には、ＩＣチップ５の真偽判定用のデータ（真正なＩＣチップと判定するための演算時間と、偽造のＩＣチップと判定するための演算時間のデータ）が記憶されており、そのデータが、真偽判定部１４以外の判定手段によるＩＣチップ５の真偽判定（例えば、画像や磁気を用いた真偽判定）の結果に基づいて更新される。これにより、データベース部９に記憶されているデータ（ＩＣチップ５の真偽判定用のデータ）が適切に更新され、真偽判定部１４によるＩＣチップ５の真偽判定の精度が向上する。
【００７１】
また、本実施の形態１では、ＩＣチップ５の世代ごとに、ＩＣチップ５の真偽判定が可能になる。例えば、最初の世代（第１世代）のＩＣチップ５の演算時間は、その次の世代（第２世代）のＩＣチップ５の演算時間より長い。したがって、複数の世代のＩＣチップ５が流通している場合、ＩＣチップ５の世代を考慮せずにＩＣチップ５の演算時間に基づいて真偽判定を行うと誤判定が生じるおそれがある。本実施の形態１のリーダ装置１では、ＩＣチップ５の世代ごとの演算時間を考慮して真偽判定を行うことにより、そのような誤判定が生じるのを防止することができる。
【００７２】
以上、本発明の実施の形態１を例示により説明したが、本発明の範囲はこれらに限定されるものではなく、請求項に記載された範囲内において目的に応じて変更・変形することが可能である。
【００７３】
例えば、以上の説明では、ＩＣチップ５が内蔵された帳票から情報を読み取るリーダ装置１の場合について説明したが、本発明の範囲はこれに限定されるものではなく、ＩＣチップ５が内蔵されたカードから情報を読み取るリーダ装置１であってもよい。
【００７４】
（実施の形態２）
本実施の形態２では、ＩＣカード、例えばＩＣチップを内蔵したクレジットカードから情報を読み取るリーダ装置の場合を例示する。本実施の形態２におけるリーダ装置は、偽造ＩＣカードを判別する機能を備えている。
【００７５】
本発明の実施の形態２のリーダ装置の構成を、図面を参照して説明する。図７は、本実施の形態２のリーダ装置を示すブロック図である。図７に示すように、パスポート２の画像を撮影する撮影部３と、ＰＩＮパッド２３は、ＩＣカード２２の使用者が正当な保持者であるか否かを確認するカードホルダー認証を行うために、暗証番号を入力するものである。リーダ装置２１は、近距離通信インターフェース部２４（近距離通信ＩＦ部２４）を介して、ＩＣカード２２との近距離通信を非接触に行う。そしてリーダ装置２１は、遠距離にある決済センター２９との通信を、有線の遠距離通信インターフェース部３０（遠距離通信ＩＦ部３０）を介して行う。但し、この決済センター２９との通信は、無線通信を利用するものであってもよい。リーダ装置２１の制御部２６は、これらＰＩＮパッド２３、近距離通信ＩＦ部２４、遠距離通信ＩＦ部３０を制御する。記憶部２７には、ＩＣカード２２の真偽判定のためデータが記憶される。
【００７６】
無線通信ＩＦ部２４は、例えば、ＩＣカード２２へカードホルダー認証コマンド（以下、「ＣＨ認証コマンド」）を送信する。ＩＣカード２２には、リーダ装置２１から送信されるＣＨ認証コマンドを実行するＩＣチップ２５が内蔵されている。ＩＣチップ２５は、ＣＰＵをはじめ、実行プログラムや暗号アルゴリズムを格納するＲＯＭ、データ処理用メモリであるＲＡＭ、データ格納用メモリであるＥＥＰＲＯＭ、公開鍵暗号アルゴリズムを高速に処理するためのＣｏ−Ｐｒｏｃｅｓｓｏｒなどを有する。そして、このＩＣチップ２５には、この後説明するリーダ装置との通信を行うための図示しない通信アンテナが接続されている。なお、図示しないが、ＩＣカード２２は、カード番号などが記録された磁気ストライプ（図示せず）も有している。カード番号は、この磁気ストライプに記録されているほか、ＩＣチップ２５にも記憶されている。
【００７７】
ＰＩＮパッド２３に暗証番号が入力されると、リーダ装置２１の制御部２６は、コマンド生成部３６において、例えばその暗証番号にハッシュ関数などの一方向性関数や暗号関数で処理したデータをＣＨ認証コマンドに埋め込む。ＣＨ認証コマンドは、無線通信ＩＦ部２４を介してリーダ装置２１からＩＣカード２２へと送られる。ＩＣカード２２はＣＨ認証コマンドを解釈する。次に、入力されたデータ（暗証番号にハッシュ関数などの一方向性関数や暗号関数で処理したデータ）と、ＩＣカード２２内に記憶されている参照用の暗証番号に、上記と同様な処理を施したデータとを照合する。そして、その照合結果を、無線通信ＩＦ部２４を介してリーダ装置２１へ送信する。参照用の暗証番号はＩＣカード２２のメモリに記憶されており、決して外に読み出されることができない仕組みになっている。照合結果のみが、ＩＣカード２２よりリーダ装置２１へ通知される。
【００７８】
先に述べた実施の形態１におけるリーダ装置１（図１参照）と、本実施の形態２におけるリーダ装置２１（図７参照）との相違は、以下に述べる点にある。すなわち、実施の形態１を示す図１においてパスポート２の画像を撮影する撮影部３と、表示用端末であるコンピュータ装置８に相当するものが、本実施の形態２を示す図７には無い。その代わりに、本実施の形態２のリーダ装置２１は、実施の形態１におけるリーダ装置１には無いＰＩＮパッド２３を備えている。また、図１に示すリーダ装置１が無線通信ＩＦ部４を介して読み取るのはパスポート２であるのに対し、図７に示すリーダ装置２１が近距離通信ＩＦ部２４を介して読み取るのはＩＣカード２２である。さらに、本実施の形態２における決済センター２９はリーダ装置２１から物理的に離れたところにあり、インターネットや電話回線などを介して、リーダ装置２１と接続される。本実施の形態２においては、リーダ装置２１と決済センター２９との接続を有線通信としているが、リーダ装置２１が携帯端末である場合は無線通信としてもよい。その他、細かい点に相違はあるが、実施の形態１における制御部６（図１参照）と、本実施の形態２における制御部２６（図７参照）とは、同様の機能および基本構成を有している。
【００７９】
図７において、本実施の形態２における制御部２６は、通信制御部３１と、所要時間計測部３２と、演算時間算出部３３と、真偽判定部３４を備えている。通信制御部３１は、ＣＨ認証コマンドを送信するときの通信レートを異ならせる制御を行う。所要時間計測部３２は、通信制御部３１により通信レートを異ならせた場合に、ＩＣチップ２５へＣＨ認証コマンドを送信してからＩＣチップ２５からＣＨ認証コマンドに対する応答を受信するまでの所要時間をそれぞれ計測する。演算時間算出部３３は、時間計測部により計測される所要時間に基づいて、ＩＣチップ２５でＣＨ認証コマンドの実行に要した演算時間を算出する。真偽判定部３４は、演算時間算出部３３により算出される演算時間に基づいて、ＩＣチップ２５の真偽を判定する。
【００８０】
また、無線通信ＩＦ部２４は、ＩＣカード２２へ不正なＣＨ認証コマンド（真偽判定用の不正なＣＨ認証コマンド）を送信する。この不正なＣＨ認証コマンドは、偽造カードであることを検知しやすくするために、特別に生成されるコマンドである。その詳細については後ほど説明する。ＩＣカード２２のＩＣチップ２５は、この不正なＣＨ認証コマンドを実行することもできる。その場合、通信制御部３１は、不正なＣＨ認証コマンドを送信するときの通信レートを異ならせる制御を行う。所要時間計測部３２は、通信制御部３１により通信レートを異ならせた場合に、ＩＣチップ２５へ不正なＣＨ認証コマンドを送信してからＩＣチップ２５から不正なＣＨ認証コマンドに対する応答を受信するまでの所要時間をそれぞれ計測する。演算時間算出部３３は、時間計測部により計測される所要時間に基づいて、ＩＣチップ２５で不正なＣＨ認証コマンドの実行に要した演算時間を算出する。真不正認証判定部３４は、不正なＣＨ認証コマンドを用いたときに、演算時間算出部３３により算出される演算時間に基づいて、ＩＣチップ２５の真不正認証を判定することもできる。
【００８１】
先にも述べたように、実施の形態１における制御部６（図１参照）と、本実施の形態２における制御部２６（図７参照）とは、同様の機能および基本構成を有している。したがって、所要時間の計測、および、演算時間の算出については、先に述べた実施の形態１において、図２（リーダ装置１がＩＣチップ５へ認証コマンド（または不正な認証コマンド）を送信してから応答を受信するまでの所要時間の説明図）を用いて説明したものと同じである。すなわち図３（ａ）に示すように、基本速度（例えば、１０６ｋｂｐｓ）でＣＨ認証コマンドを送信したときの所要時間Ｔ１は、ＩＣチップ２５でＣＨ認証コマンドの実行に要する「演算時間」と、ＣＨ認証コマンド送信および応答受信のときの「通信時間」の合計である。また、図３（ｂ）に示すように、倍速度（例えば、２１２ｋｂｐｓ）でＣＨ認証コマンドを送信したときの所要時間Ｔ２は、ＩＣチップ２５でＣＨ認証コマンドの実行に要する「演算時間」と、ＣＨ認証コマンド送信および応答受信のときの「通信時間」の合計である。一般に同じコマンドであれば、倍速度の「通信時間」は、基本速度の「通信時間」の半分である。したがって、図３（ｃ）に示すように、基本速度の「通信時間」は「（Ｔ１−Ｔ２）×２」として算出することができ、「演算時間」は「Ｔ１−（Ｔ１−Ｔ２）×２」として算出することができる。
【００８２】
図７に戻って、リーダ装置２１の構成の説明を続ける。記憶部２７には、ＩＣチップ２５の真偽判定用のデータとして、真正なＩＣチップ２５と判定するための演算時間と、偽造のＩＣチップ２５と判定するための演算時間のデータが記憶されている。そのデータは、真偽判定部３４以外の判定手段によるＩＣチップ２５の真偽判定（例えば、ホログラムマークを含む画像や磁気ストライプを用いた真偽判定）の結果に基づいて更新される。そのために、制御部２６には、記憶部２７に記憶されているＩＣチップ２５の真偽判定用のデータを更新するデータ更新部３５が備えられている。リーダ装置２１は、その更新データを、決済センター２９より取得する。先にも述べたように、本実施の形態２における決済センター２９はリーダ装置２１から物理的に離れたところにあり、インターネットや電話回線などを介して、リーダ装置２１と接続される。本実施の形態２においては、リーダ装置２１と決済センター２９との間を有線通信としているが、リーダ装置２１が携帯端末である場合は無線通信としてもよい。これにより、記憶部２７に記憶されているデータ（ＩＣチップ２５の真偽判定用のデータ）が適切に更新され、真偽判定部３４によるＩＣチップ２５の真偽判定の精度が向上する。
【００８３】
データ更新部３５における真偽判定用のデータの更新に関しても、基本的には実施の形態１におけるデータ更新部５（図１参照）と大きな相違は無く、先の図４を用いて説明したものと同様である。すなわち図４（ａ）に示すように、データベース更新前（例えば出荷時など）には、演算時間算出部３３で算出された演算時間が、所定の範囲Ａ（例えば、真正なＩＣチップ２５の演算時間の分布を含むような広めの範囲）に含まれる場合には、そのＩＣチップ２５は「真正」であると判定される。ところが、演算時間に基づく真偽判定では「真正」であると判定されたＩＣカード２２であっても、他の判定手段（例えば、ホログラムマークを含む画像や磁気ストライプに基づく判定手段）によって「偽造」であると判定される場合がある（図４において×印で図示）。そのような場合、図４（ｂ）に示すように、真偽判定用のデータの更新が行われ、演算時間に基づく真偽判定で「真正」であると判定される範囲が、当所の範囲Ａより狭い範囲Ｂ（例えば、他の判定手段によって「偽造」と判定されたところを除いた範囲）に更新される。
【００８４】
ＩＣチップ２５の世代ごとに異なる演算時間を利用してＩＣチップ５の真偽を判定する点についても、先に述べた実施の形態１において図５（ＩＣチップの世代ごとの演算時間の一例を示す説明図）を用いた説明と同様である。すなわち、記憶部２７には、ＩＣチップ２５の世代ごとに、真正なＩＣチップ５の場合に算出される演算時間と、偽造のＩＣチップ２５の場合に算出される演算時間のデータが記憶されている。第１世代のＩＣチップ２５の場合には、演算時間算出部３３で算出された演算時間が、所定の範囲Ｘに含まれば、そのＩＣチップ２５は「真正」であると判定される。また、第２世代のＩＣチップ２５の場合には、演算時間算出部３３で算出された演算時間が、所定の範囲Ｙに含まれば、そのＩＣチップ２５は「真正」であると判定される。また、第３世代のＩＣチップ２５の場合には、演算時間算出部３３で算出された演算時間が、所定の範囲Ｚに含まれば、そのＩＣチップ２５は「真正」であると判定される。真偽判定を行うＩＣカード２２に搭載されているべきＩＣチップ２２の世代については、例えば磁気ストライプ（図示せず）やＩＣチップ２５に記録されているカード番号によりわかる。その情報は例えば、記憶部２７に参照テーブルが登録されていてもよいし、決済センター２９に問い合わせるようにしてもよい。
【００８５】
以上のように構成されたリーダ装置２１の動作についても、先に述べた実施の形態１において図６（ＩＣチップの真偽判定をするときの動作の流れを説明するフロー図）を用いた説明と同様である。すなわち、まず、リーダ装置２１は、基本速度でＩＣチップ２５へ（正当な）ＣＨ認証コマンドを送信し（Ｓ１０）、ＩＣチップ２５から応答を受信するまでの所要時間Ｔ１を計測する（Ｓ１１）。つぎに、リーダ装置２１は、倍速度でＩＣチップ２５へ（正当な）ＣＨ認証コマンドを送信し（Ｓ１２）、ＩＣチップ２５から応答を受信するまでの所要時間Ｔ２を計測する（Ｓ１３）。
【００８６】
リーダ装置２１は、このようにして計測した所要時間Ｔ１とＴ２から、ＩＣチップ２５でＣＨ認証コマンドの実行に要した演算時間Ｔｃを算出する（Ｓ１４）。そして、このようにして算出した演算時間Ｔｃが、そのＩＣチップ２５の世代ごとに定められた規定時間内でない場合には（Ｓ１５）、ＩＣチップ２５が「偽造」である、つまり、ＩＣカード２２が「偽造」と判定される（Ｓ１９）。
【００８７】
一方、演算時間Ｔｃが、そのＩＣチップ２５の世代ごとに定められた規定時間内である場合には（Ｓ１５）、不正なＣＨ認証コマンドを使用して上記のステップＳ１０〜Ｓ１４を実行し、演算時間Ｔｆを算出する（Ｓ１６）。そして、演算時間の差「Ｔｆ−Ｔｃ」が小さく、ばらついていないならば（Ｓ１７）、ＩＣチップ２５が「真正」である、つまり、ＩＣカード２２が「真正」と判定される（Ｓ１８）。一方、演算時間の差「Ｔｆ−Ｔｃ」が大きく、ばらついているならば（Ｓ１７）、ＩＣチップ２５が「偽造」である、つまり、ＩＣカード２２が「偽造」と判定される（Ｓ１９）。
【００８８】
なお、ここでは、ＣＨ認証コマンドを送信するときの通信レートを「基本速度」と「倍速度」で異ならせる例について説明したが、「４倍速」や「８倍速」で異ならせてもよい。
【００８９】
このような本実施の形態２のリーダ装置２１によれば、ＩＣカード２２のＩＣチップ２５でＣＨ認証コマンドの実行に要した演算時間をリーダ装置２１で算出し、その演算時間に基づいてＩＣチップ２５の真偽を判定することが可能であり、短時間でＩＣカード２２の真偽判定を行うことができる。
【００９０】
すなわち、本実施の形態２では、ＩＣチップ２５にＣＨ認証コマンドを送信するときの通信レート（通信速度）を異ならせて、そのＣＨ認証コマンドを送信してからそのＣＨ認証コマンドに対する応答を受信するまでの所要時間Ｔ１、Ｔ２が計測される。そして、この所要時間Ｔ１、Ｔ２に基づいて、ＩＣチップ２５でＣＨ認証コマンドの実行に要した演算時間Ｔｃが算出され、この演算時間Ｔｃに基づいて、ＩＣチップ２５の真偽が判定される。本実施の形態２のリーダ装置２１によれば、ホログラムマークを含む画像や磁気ストライプに基づく真偽判定手段に加えて、本発明によるＩＣチップ２５の真偽判定を用いることにより、ＩＣカード２２の真偽判定を、より確実に行うことが可能になる。
【００９１】
例えば、まず、基本速度（１０６ｋｂｐｓ）でＣＨ認証コマンドを送信したときの所要時間Ｔ１を計測し、つぎに、倍速度（２１２ｋｂｐｓ）でＣＨ認証コマンドを送信したときの所要時間Ｔ２を計測する。この場合、「（Ｔ１−Ｔ２）×２」が基本速度での通信時間であると考えることができ、ＩＣチップ２５でＣＨ認証コマンドの実行に要した演算時間Ｔｃは「Ｔ１−（Ｔ１−Ｔ２）×２」であると考えられる。この演算時間Ｔｃが、真正なＩＣチップ２５の場合に算出されるべき値の範囲外であると、そのＩＣチップ２５は偽造されたものであると判定される。
【００９２】
また、本実施の形態２では、ＩＣチップ２５に不正なＣＨ認証コマンドを送信するときの通信レート（通信速度）を異ならせて、その不正なＣＨ認証コマンドを送信してからその不正なＣＨ認証コマンドに対する応答を受信するまでの所要時間Ｔ１、Ｔ２が計測される。そして、この所要時間Ｔ１、Ｔ２に基づいて、ＩＣチップ２５で不正なＣＨ認証コマンドの実行に要した演算時間Ｔｆが算出され、この演算時間Ｔｆと上記演算時間Ｔｃとに基づいて、ＩＣチップ２５の真偽が判定される。
【００９３】
一般に、真正なＩＣチップ２５では、不正なＣＨ認証コマンドが送信された場合の演算時間と、正当なＣＨ認証コマンドが送信された場合との演算時間にそれほどばらつき（差分）は生じない。一方、偽造のＩＣチップ５では、不正なＣＨ認証コマンドが送信された場合の演算時間と、正当なＣＨ認証コマンドが送信された場合との演算時間に大きなばらつき（差分）が生じる。
【００９４】
それは次の理由による。
悪意のある第三者がＩＣチップ２５内に実装されている鍵データなどの重要情報を推測し奪い取るための、ＩＣチップ２５への攻撃方法の一つに、鍵の値の相違による演算時間の変化を利用するものが存在する。そのため、ＩＣチップ２５の供給業者は、新しい世代のＩＣチップをリリースする際に、異なる鍵の値や、異なる暗証番号の入力値に対する演算時間の相違が小さくなるよう、ＣＨ認証コマンドの照合アルゴリズムを改良する。最新の世代のＩＣチップは、その供給業者やカード会社などにより厳重に管理されているため、もし偽造が行われるとすれば、偽造されるＩＣカードは古いＩＣチップを利用したものである。したがって、演算時間に大きな遅延が生じた場合には、そのＩＣチップ２５は古い世代のものを利用して偽造されたものであると判定される。
【００９５】
または逆に、ＩＣチップ２５の消費電力が小さくなるように、ＩＣチップ２５の供給業者は、新しい世代のＩＣチップの設計変更を行うかもしれない。その結果、新しい世代のＩＣチップにＣＨ認証コマンドが送信された場合の演算時間が、古い世代のＩＣチップよりも長くなる場合も有り得る。その場合でも、新しい世代のＩＣチップにおいて正当なＣＨ認証コマンドが送信された場合と不正なＣＨ認証コマンドが送信された場合との演算時間のばらつきは、古い世代のＩＣチップのそれとは異なる分布となる。したがってこのような場合においても、正当な世代のＩＣチップを有する真正なＩＣカードであるのか、古い世代のＩＣチップを利用して偽造されたＩＣカードであるのかを判別することができる。そして、このような演算時間のばらつきに関する世代毎のデータについても、リーダ装置２１の記憶部２７に記憶されるようにしてもよい。また、これら演算時間のばらつきに関する世代毎のデータは、決済センター２９との接続により、演算時間の世代毎のデータと同様、更新されるようにしてもよい。
【００９６】
この正当な保持者が有する正当な世代のＩＣチップを備えた真正なＩＣカードと、悪意を持った第三者が有する古い世代のＩＣチップを利用して偽造されたＩＣカードとを見分ける実施の形態について、より詳細に説明する。
【００９７】
図８は、正当な保持者が有する正当な世代のＩＣチップ２５Ａを備えた真正なＩＣカード２２Ａをリーダ装置が読み取った場合についての説明図である。図８（ａ）は従来のリーダ装置４１が読み取った場合の説明図であり、図８（ｂ）は本実施の形態２のリーダ装置２１が読み取った場合の説明図である。図８において、正当な保持者は、正しい暗証番号ｎによりカードホルダー認証される真正なＩＣカード２２Ａを保持しているものとする。そして、この真正なＩＣカード２２Ａに使用されているＩＣチップ２５Ａは、例えば図５における第３世代のものとする。ＩＣチップ２５Ａには、暗証番号ｎとカード番号も記憶されている。そしてリーダ装置２１は、記憶部２７に記憶された図示しない参照テーブルを参照することにより、ＩＣチップ２５Ａに記憶されたカード番号から、ＩＣカード２２Ａには第３世代のＩＣチップが搭載されているべきと判断する。
【００９８】
まず図８（ａ）において、従来のリーダ装置４１は、暗証番号ｎに対して、ある数学的な処理を施した正当な暗号化データｆ（ｎ）を含む正当なＣＨ認証コマンドを、真正なＩＣカード２２Ａに対して送信する。ＩＣカード２２Ａが備える正当な世代のＩＣチップ２５Ａには、リーダ装置４１に記憶されているものと同じ関数ｆが、あらかじめ記憶されている。すると、ＩＣカード２２Ａが備える正当な世代のＩＣチップ２５Ａは、送信されてきた正当なＣＨ認証コマンドに含まれる暗号化されたデータｆ（ｎ）と、チップ内部に記憶されている暗証番号ｎより関数ｆを使って求めたデータｆ（ｎ）とを照合する。当然ながらこの場合、ｆ（ｎ）＝ｆ（ｎ）となるので、真正なＩＣカード２２Ａは、この真正なＩＣカード２２Ａの暗証番号の照合結果が正しかったことを、従来のリーダ装置４１に対して送信する。このようにして従来のリーダ装置４１は、正当なＩＣチップ２５Ａを備える真正なＩＣカード２２Ａが、正しい暗証番号ｎにより、正当な保持者によって保持されていると判断する。そして、以降のクレジット決済や電子マネーの支払が、リーダ装置４１によって可能となる。
【００９９】
もし、ＰＩＮパッド２３に入力された暗証番号が、正しい暗証番号ｎではなく、間違った暗証番号ｍであった場合、従来のリーダ装置４１は、暗証番号ｍに対して、ある数学的な処理を施した正当な暗号化データｆ（ｍ）を含む正当なＣＨ認証コマンドを、真正なＩＣカード２２Ａに対して送信する。すると、ＩＣカード２２Ａが備える正当な世代のＩＣチップ２５Ａは、送信されてきた正当なＣＨ認証コマンドに含まれる暗号化されたデータｆ（ｍ）と、チップ内部に記憶されている暗証番号ｎより関数ｆを使って求めたデータｆ（ｍ）とを照合する。当然ながらこの場合、ｆ（ｍ）≠ｆ（ｎ）となる（すなわち、ｆ（ｍ）＝ｆ（ｎ）とはならない）ので、真正なＩＣカード２２Ａは、この真正なＩＣカード２２Ａの暗証番号の照合結果が正しくなかったことを、従来のリーダ装置４１に対して送信する。
【０１００】
これに対して図８（ｂ）における本実施の形態２のリーダ装置２１は、真正なＩＣカード２２Ａに対して、図８（ａ）に示すものと同様の手順で、正当なＣＨ認証コマンドを送信する（後述の図９におけるステップＳ２１〜Ｓ２３に対応）ほかに、これより説明する不正なＣＨ認証コマンドも送信できる。リーダ装置２１は、この不正なＣＨ認証コマンドに含ませる不正な暗号化データを、正しい暗証番号ｎを別の暗証番号ｑに置き換えることで生成してもよいし、あるいはあらかじめ決められた関数ｆを別の関数ｋに置き換えることにより生成してもよい。さらにはその両方を置き換えることにより、リーダ装置２１は、この不正なＣＨ認証コマンドに含ませる不正な暗号化データを生成してもよい（後述の図９におけるステップＳ２５に対応）。
【０１０１】
そしてリーダ装置２１は、不正なＣＨ認証コマンドを、例えば、以下に述べるタイミングで、ＩＣカード２２Ａに対して送信してよい。図９は、リーダ装置２１のＰＩＮパッド２３に暗証番号が入力されてからカードホルダー認証とＩＣカードの真偽判定を行うまでの処理フロー図である。
【０１０２】
最初にリーダ装置２１は、暗証番号ｐ（正しい暗証番号であればｐ＝ｎとなる）がＰＩＮパッド２３より入力される（ステップＳ２１）と、その暗証番号ｐを用いて暗号化データｆ（ｐ）を生成する（ステップＳ２２）。そしてリーダ装置２１は、その暗号化データｆ（ｐ）を含むＣＨ認証コマンドを送信する（ステップＳ２３）。すなわちリーダ装置２１は、不正なＣＨ認証コマンドの送信を行う前に、まずＰＩＮパッド２３より入力された暗証番号ｐを用いて生成された暗号化データを含むＣＨ認証コマンドを送信する。そしてリーダ装置２１は、ＰＩＮパッド２３に入力された暗証番号ｐが、正しい暗証番号ｎであるかどうか、すなわち、ＩＣカード２５Ａの応答からｐ＝ｎか否かを確認する（ステップＳ２４）。ｐ≠ｎであれば、リーダ装置２１は、正しい暗証番号を入力するよう、暗証番号の入力者に促して、再び暗証番号ｐが入力されるのを待つ。ｐ＝ｎであれば、その暗証番号ｐを用いて生成された暗号化データｆ（ｐ）は、正当な暗号化データｆ（ｎ）ということになる。
【０１０３】
このとき、リーダ装置２１は、ＰＩＮパッド２３を用いて入力された暗証番号ｐが正しい暗証番号ｎであることが確認できたら、この正当な暗号化データｆ（ｎ）を含む正当なＣＨ認証コマンドを用いた送信を、通信レートを異ならせて再び行ってもよい。そしてリーダ装置２１は、通信レートの異なるそれら２回の送信に対するＩＣカード２２Ａからの２つの応答信号を基に、先に述べた計算方法（図６参照）により、ＩＣカード２２Ａに搭載されているＩＣチップ２５Ａの演算時間（図８（ｂ）における「ｃａｌ−ｔ」）を導き出してもよい。そうすれば、この時点でリーダ装置２１は、ＩＣカード２２Ａの真偽判定の一部を実施することができる。真偽判定を行う対象となるＩＣカード２２Ａに搭載されているべきＩＣチップ２５Ａの世代については、例えばＩＣチップ２５Ａに記憶されているカード番号により、第３世代であることがわかる。そのためリーダ装置２１は、通信レートが異なる２つの正当なＣＨ認証コマンドの送信により導き出される演算時間（図８（ｂ）における「ｃａｌ−ｔ」）が、例えば図５において、「第３世代で真正と判定する範囲Ｚ」に入るかどうかを見ればよい。図８に示すＩＣカード２２Ａに使用されているＩＣチップ２５Ａは第３世代のものなので、計算により導き出される演算時間は、この範囲Ｚに入るはずである（すなわち、図８（ｂ）において「ｃａｌ−ｔ：３Ｇ」となる）。
【０１０４】
もしこの段階でＩＣカードが偽造されたものであることが判明した場合、リーダ装置２１は、この時点で真偽判定の処理を打ち切り、ＩＣカードを即座に使用不能にしても良い。しかしながら本実施の形態２におけるリーダ装置２１は、真偽判定に万全を期すために、さらに後述の手順を実施するようにしている。この後述の手順によりリーダ装置２１は、不正なＣＨ認証コマンドを用いたＩＣカード２２Ａの演算時間を導き出すことができる。そしてリーダ装置２１は、その演算時間（図８（ｂ）における「ｃａｌ−ｔ」）と、先ほど正当なＣＨ認証コマンドを用いて導き出した演算時間との差分、すなわち「演算時間のばらつき」（図８（ｂ）における「ｃａｌ−Δｔ」）を求めることができる。これらの各演算時間および「演算時間のばらつき」により、リーダ装置２１は、ＩＣカード２２Ａの真偽判定を、より確実に行うことができる。
【０１０５】
すなわち、次にリーダ装置２１は、先ほど説明した方法により生成した不正な暗号化データ、例えばｆ（ｑ）やｋ（ｎ）、ｋ（ｑ）などのいずれかを含む不正なＣＨ認証コマンドを送信する（ステップＳ２５）。この不正なＣＨ認証コマンドについても、それぞれ、通信レートを異ならせて２回ずつ行われる。そして、この不正なＣＨ認証コマンドの送信は、後ほど説明する理由により、複数組行われることが望ましい。そしてリーダ装置２１は、それら不正なＣＨ認証コマンドの送信に対する応答信号を用いて、先に述べた計算方法（図６参照）により、ＩＣカード２２Ａに搭載されているＩＣチップ２５Ａの演算時間（図８（ｂ）における「ｃａｌ−ｔ」）を導き出すことができる。この時点でもリーダ装置２１は、ＩＣカード２２Ａの真偽判定を確定させてもよいが、さらに万全を期すために、「演算時間のばらつき」（図８（ｂ）における「ｃａｌ−Δｔ」）を求める。「演算時間のばらつき」とは、すなわち、これらの不正なＣＨ認証コマンドの送信により得られた演算時間（図８（ｂ）における「ｃａｌ−ｔ」）と、先ほど正当なＣＨ認証コマンドを用いて導き出した演算時間との各差分のことである。
【０１０６】
先ほども述べたように、真正なＩＣチップ２５Ａでは、不正なＣＨ認証コマンドが送信された場合の演算時間と、正当なＣＨ認証コマンドが送信された場合との演算時間にそれほど大きなばらつき（差分、すなわち図８（ｂ）における「ｃａｌ−Δｔ」）は生じない。一方、不正なＩＣチップでは、不正なＣＨ認証コマンドが送信された場合の演算時間と、正当なＣＨ認証コマンドが送信された場合との演算時間に大きなばらつき（差分）が生じる。したがって、このような、ＣＨ認証コマンドの相違による演算時間の大きなばらつきが生じた場合には、そのＩＣチップを搭載するＩＣカードは偽造されたものであると判定される。本実施の形態２におけるリーダ装置２１は、先に図５に示すような、ＩＣチップの「演算時間」に関する世代別データのほかに、「演算時間のばらつき」に関する世代別データを、記憶部２７に記憶させてある。これらの世代別データにより、リーダ装置２１は搭載されるべきＩＣチップの世代を特定し、「演算時間のばらつき」がその世代のＩＣチップの許容範囲に入っていれば（すなわち図８（ｂ）において「ｃａｌ−Δｔ：３Ｇ」）、そのＩＣチップを搭載するＩＣカードは真正なもの（図８（ｂ）において「ｇｅｎｕｉｎｅ」）であると判定される。もし、「演算時間のばらつき」が許容範囲外（すなわち「ｃａｌ−Δｔ：ｎｏｔ  ３Ｇ」）であれば、そのＩＣカードは偽造された（「ｃｏｕｎｔｅｒｆａｉｔ」）可能性があると判定される。
【０１０７】
このようにしてリーダ装置２１は、以上に述べたＣＨ認証コマンドの送信により得られるＩＣチップ２５Ａの「演算時間」（図８（ｂ）における「ｃａｌ−ｔ」）および「演算時間のばらつき」（図８（ｂ）における「ｃａｌ−Δｔ」）を基に、真偽判定を行う（ステップＳ２６）。もしＩＣカード２２Ａが真正なＩＣカードであることが確認できなければ、リーダ装置２１は、偽造ＩＣカードが使用されている疑いがある旨を通知し（ステップＳ２７）、処理フローを終了させる。リーダ装置２１が複数の表示部を有しているのであれば、この表示は、ＩＣカードの保持者に対しては表示せず、リーダ装置の操作者のみに表示するようにしてもよい。また、リーダ装置２１は、決済センター２９に対して、その旨を通知するようにしてもよい。そうすれば、その通知以降に決済センター２９との通信を行う別のリーダ装置も、その偽造されたＩＣカードによる以降のクレジット決済や電子マネーの支払を行わず、悪意を持った第三者によるＩＣカードの不正な利用は食い止められる。
【０１０８】
リーダ装置２１は、ＩＣカード２２Ａが真正なＩＣカードであることが確認できれば、最後にもう一度、正しい暗証番号より生成される正当な暗号化データｆ（ｎ）を含む正当なカードホルダー認証を送信する（ステップＳ２８）。そしてリーダ装置２１は、ＩＣカード２２Ａから、正しい暗証番号ｎによりアクセスされたことを確認する応答信号を受信して（ステップＳ２９）から、処理フローを終了させる。（先に説明した図８（ｂ）との関係を明確にするために、以上に述べた図９における各ステップは、図８（ｂ）にも記載されている。）
【０１０９】
このように、ＩＣカード２２Ａが真正なものと判断した場合、ＩＣチップ２５Ａの真偽判定を行う前後とも、必ず、正当な暗号化データｆ（ｐ）を含むＣＨ認証コマンドの送信を行うよう、リーダ装置２１を設定することについては、以下の理由がある。
【０１１０】
ＩＣカード２２Ａには、暗証番号の照合回数の上限が定められているのが通常である。リーダ装置２１が、ＩＣチップ２５Ａの真偽判定を行った後にだけ、正当な暗号化データｆ（ｐ）を含むＣＨ認証コマンドの送信を行うように設定すると、次のような不具合がある。ＩＣチップの真偽判定において用いられる不正なＣＨ認証コマンドでは、照合結果が必ず正しくならない。そのため、ＩＣチップ２５Ａの真偽判定自体が暗証番号の照合可能な回数を減らすことにつながる。そして、ＩＣチップ２５Ａの真偽判定が終わった時点で、ＩＣカード２２Ａは、暗証番号の照合回数が上限に近づいて、照合可能な残り回数が余裕の無い状態となる。そのため、その状態でもし間違った暗証番号ｍに基づくＣＨ認証コマンドがリーダ装置２１からＩＣカード２２Ａに送信されると、ＩＣカード２２Ａの暗証番号の照合回数は、上限を超える可能性がある。
【０１１１】
また、リーダ装置２１が、ＩＣチップ２５Ａの真偽判定を行う前にだけ、正当な暗号化データｆ（ｐ）を含むＣＨ認証コマンドの送信を行うように設定すると、次のような不具合がある。すなわち、その後に行われるＩＣチップ２５Ａの真偽判定において用いられる不正なＣＨ認証コマンドにより、ＩＣカード２２Ａは、暗証番号の照合回数が上限に近づいて、照合可能な残り回数が余裕の無い状態のまま、リーダ装置２１との通信を終える。日時が経過し、再びＩＣカード２２Ａをリーダ装置２１と通信させる時に、もしＰＩＮパッド２３に入力された暗証番号が間違っていると、やはりその時点で、ＩＣカード２２Ａの暗証番号の照合回数は、上限を超える可能性がある。したがって、ＩＣカード２２Ａが真正なものと判断した場合は、ＩＣチップ２５Ａの真偽判定を行う前のみならず、その後においても、必ず、正当な暗号化データｆ（ｎ）を含むＣＨ認証コマンドの送信を行うよう、リーダ装置２１を設定する。そうすれば、ＩＣカード２２Ａの真偽判定が終わった後にも、正当な暗号化データｆ（ｎ）を含むＣＨ認証コマンドの送信を送信しておくことにより、暗証番号の照合可能な回数を最大値にリセットしておくことができる。そして、ＩＣカード２２Ａの保持者は、違和感を全く持たずに、従来と同様にＩＣカード２２Ａを使用することができる。
【０１１２】
なお、先ほどＩＣカード２２Ａの真偽判定において、不正なＣＨ認証コマンドは、複数組用いられることが望ましいと述べたが、これについては注意すべき点がある。ＩＣカード２２Ａの真偽判定時に演算時間の算出を行う場合、先にも述べたように、リーダ装置２１は１つのＣＨ認証コマンドについて通信レートが異なるものを２回送信する。そのため、不正なＣＨ認証コマンドを連続して複数組用いると、実際はその２倍の数の不正なＣＨ認証コマンドが連続して送られることになる。そうすると、真偽判定が完了する前にＩＣカード２２Ａが使用不能となる恐れがある。したがって、真偽判定時に不正なＣＨ認証コマンドを複数組送るときには、異なる２組の不正なＣＨ認証コマンドの間に正当なＣＨ認証コマンドを挟めて送信するようにするとよい。この場合の正当なＣＨ認証コマンドの送信は、通信レートを異ならせて２回行われる必要はなく、任意の通信レートによる１回の送信でよい。または、最初に暗証番号が正しいことを確認（ステップＳ２１〜Ｓ２３）したものと同じ暗証番号より生成され、かつ通信レートが異なる正当なＣＨ認証コマンドの送信を、この異なる２組の不正なＣＨ認証コマンドの間に行ってもよい。その場合、最初に暗証番号が正しいことを確認（ステップＳ２１〜Ｓ２３）した後においては、同じ暗証番号より生成され、かつ通信レートが異なる正当なＣＨ認証コマンドの送信は行われなくてもよい。そうすればリーダ装置２１は、ＣＨ認証コマンドの送信回数を不必要に増加させることなく、ＩＣカード２２Ａの真偽判定を効率的に行うことができる。いずれにしても、この正当なＣＨ認証コマンドによる送信により、ＩＣカード２２Ａの暗証番号の照合可能な回数は最大値にリセットされる。そして、ＩＣカード２２Ａの暗証番号の照合回数は上限を超えることがなく、正当な保持者による真正なＩＣカード２２Ａが使用不能になることを防ぐことができる。
【０１１３】
ちなみに、不正なＣＨ認証コマンドは複数組用いられることが望ましい点および正当なＣＨ認証コマンドを不正なＣＨ認証コマンドの間に挟めて送信する点については、図１０を用いて後述する不正なＩＣカード２２Ｂの真偽判定においても同様である。真偽判定が完了するまでは、判定の対象としているＩＣカードが真正なものなのか偽造されたものなのかがわからない。そのため、たとえそれが不正なＩＣカード２２Ｂであるとしても、真偽判定が完了するまでは、真正なＩＣカードと同様に扱わなければならない。
【０１１４】
以上の手順により、ＩＣカード２２Ａに搭載されているＩＣチップ２５Ａは、正当な世代のものであることがわかる。そして、そのＩＣチップ２５Ａを搭載するＩＣカード２２Ａは、真正なＩＣカードであることが証明される。このようにして本実施の形態２のリーダ装置２１は、正当なＩＣチップ２５Ａを備える真正なＩＣカード２２Ａが、正しい暗証番号ｎにより、正当な保持者によって保持されていると判断する。そして、以降のクレジット決済や電子マネーの支払が、リーダ装置２１によって可能となる。
【０１１５】
図１０は、悪意を持った第三者により古い世代のＩＣチップ２５Ｂを利用して偽造されたＩＣカード２２Ｂをリーダ装置が読み取った場合についての説明図である。図１０（ａ）は従来のリーダ装置４１が読み取った場合の説明図であり、図１０（ｂ）は本実施の形態２のリーダ装置２１が読み取った場合の説明図である。図１０において、悪意を持った第三者は、暗証番号ｒによりカードホルダー認証される偽造されたＩＣカード２２Ｂを保持しているものとする。通常、悪意を持った第三者は、正当な保持者が有するＩＣカード２２Ａの暗証番号ｎを知ることができないので、偽造するＩＣカード２２Ｂに勝手な暗証番号ｒを設定している。この場合の最新ＩＣチップである第３世代のＩＣチップは、カード会社などにより厳重に管理されており、盗難は困難である。したがって、この偽造されたＩＣカード２２Ｂに使用されているＩＣチップ２５Ｂは、例えば図５における第２世代のものとする。悪意を持った第三者は、ＩＣチップ２５Ｂに対して、暗証番号ｒの他にカード番号も記憶させている。カード番号は、図８における真正なＩＣカード２２Ａと同じものである。したがって図１０のリーダ装置２１は、記憶部２７に記憶されている図示しない参照テーブルを参照することにより、ＩＣチップ２５Ｂに記憶されたカード番号から、ＩＣカード２２Ｂには第３世代のＩＣチップが搭載されているべきと判断する。
【０１１６】
まず図１０（ａ）において、従来のリーダ装置４１は、暗証番号ｒに対して、ある数学的な処理を施した正当な暗号化データｆ（ｒ）を含む正当なＣＨ認証コマンドを、偽造されたＩＣカード２２Ｂに対して送信する。ＩＣカード２２Ｂが備える古い世代のＩＣチップ２５Ｂにも、リーダ装置４１に記憶されているものと同じ関数ｆが、あらかじめ記憶されている。すると、ＩＣカード２２Ｂが備える古い世代のＩＣチップ２５Ｂは、送信されてきた正当なＣＨ認証コマンドに含まれる暗号化されたデータｆ（ｒ）と、チップ内部に記憶されている暗証番号ｎより関数ｆを使って求めたデータｆ（ｒ）とを照合する。当然ながらこの場合、ｆ（ｒ）＝ｆ（ｒ）となるので、古いＩＣチップ２５Ｂは、この偽造されたＩＣカード２２Ｂの暗証番号の照合結果が正しかったことを、従来のリーダ装置４１に対して送信する。結果的に従来のリーダ装置４１は、不正なＩＣチップ２５Ｂを備える偽造されたＩＣカード２２Ｂが、悪意を持った第三者によって保持されている偽造されたＩＣカードであることを見破ることができず、正当な保持者によって保持されていると誤って判断する。そして、以降のクレジット決済や電子マネーの不正な支払が、リーダ装置４１によって可能となる。
【０１１７】
ＰＩＮパッド２３に入力された暗証番号が、暗証番号ｒではなく、間違った暗証番号であった場合については、図８（ａ）を用いて説明した場合と同様であるので、詳細については省略する。
【０１１８】
これに対して図１０（ｂ）における本実施の形態２のリーダ装置２１は、偽造されたＩＣカード２２Ｂに対して、図１０（ａ）に示すものと同様の手順で、正当なＣＨ認証コマンドを送信する（図９におけるステップＳ２１〜Ｓ２３に対応）ほかに、これより説明する不正なＣＨ認証コマンドも送信できる。リーダ装置２１は、この不正なＣＨ認証コマンドに含ませる不正な暗号化データを、正しい暗証番号ｎを別の暗証番号ｑに置き換えることで生成してもよいし、あるいはあらかじめ決められた関数ｆを別の関数ｋに置き換えることにより生成してもよい。さらにはその両方を置き換えることにより、リーダ装置２１は、この不正なＣＨ認証コマンドに含ませる不正な暗号化データを生成してもよい（図９におけるステップＳ２５に対応）。
【０１１９】
リーダ装置２１がＩＣカード２２Ｂを真正なものであると判断した場合、ＩＣチップ２５Ｂの真偽判定を行う前後とも、必ず、正当な暗号化データｆ（ｐ＝ｒ）を含むＣＨ認証コマンドの送信を行うよう、リーダ装置２１を設定することについては、先の図８および図９における説明と同様である。
【０１２０】
これに対して図１０（ｂ）におけるリーダ装置２１は、以下に述べる手順を用いる。すなわち、まず暗証番号ｐ（正しい暗証番号であればｐ＝ｒとなる）がＰＩＮパッド２３より入力される（ステップＳ２１）と、リーダ装置２１は、その暗証番号ｐを用いて暗号化データｆ（ｐ）を生成する（ステップＳ２２）。そしてリーダ装置２１は、その暗号化データｆ（ｐ）を含むＣＨ認証コマンドを送信する（ステップＳ２３）。すなわちリーダ装置２１は、不正なＣＨ認証コマンドの送信を行う前に、まずＰＩＮパッド２３より入力された暗証番号ｐを用いて生成された暗号化データを含むＣＨ認証コマンドを送信する。そしてリーダ装置２１は、ＰＩＮパッド２３に入力された暗証番号ｐが、正しい暗証番号ｒであるかどうか、すなわち、ＩＣカード２５Ｂの応答からｐ＝ｒか否かを確認する（ステップＳ２４）。ｐ≠ｒであれば、リーダ装置２１は、正しい暗証番号を入力するよう、暗証番号の入力者に促して、再び暗証番号ｐが入力されるのを待つ。ｐ＝ｒであれば、その暗証番号ｐを用いて生成された暗号化データｆ（ｐ）は、正当な暗号化データｆ（ｒ）ということになる。
【０１２１】
このとき、リーダ装置２１は、ＰＩＮパッド２３を用いて入力された暗証番号ｐが正しい暗証番号ｒであることが確認できたら、この正当な暗号化データｆ（ｒ）を含む正当なＣＨ認証コマンドを用いた送信を、通信レートを異ならせて再び行ってもよい。そしてリーダ装置２１は、通信レートの異なるそれら２回の送信に対するＩＣカード２２Ｂからの２つの応答信号を基に、先に述べた計算方法（図６参照）により、ＩＣカード２２Ｂに搭載されているＩＣチップ２５Ｂの演算時間（図１０（ｂ）における「ｃａｌ−ｔ」）を導き出してもよい。そうすれば、この時点でリーダ装置２１は、ＩＣカード２２Ｂの真偽判定の一部を実施することができる。真偽判定を行う対象となるＩＣカード２２Ｂに搭載されているべきＩＣチップ２５Ｂの世代については、例えばＩＣチップ２５Ｂに記憶されているカード番号により、第３世代であることがわかる。そのためリーダ装置２１は、通信レートが異なる２つの正当なＣＨ認証コマンドの送信により導き出される演算時間（図１０（ｂ）における「ｃａｌ−ｔ」）が、例えば図５において、「第３世代で真正と判定する範囲Ｚ」に入るかどうかを見ればよい。しかしながら、図１０に示すＩＣカード２２Ｂに使用されているＩＣチップ２５Ｂは第２世代のものなので、計算により導き出される演算時間は、この範囲Ｚに入らないはずである（すなわち、図１０（ｂ）において「ｃａｌ−ｔ：ｎｏｔ  ３Ｇ」となる）。
【０１２２】
この段階でＩＣカード２２Ｂが偽造されたものであることが判明した場合、リーダ装置２１は、この時点で真偽判定の処理を打ち切り、ＩＣカード２２Ｂを即座に使用不能にしても良い。しかしながら本実施の形態２におけるリーダ装置２１は、真偽判定に万全を期すために、さらに後述の手順を実施するようにしている。この後述の手順によりリーダ装置２１は、不正なＣＨ認証コマンドを用いたＩＣカード２２Ｂの演算時間を導き出すことができる。そしてリーダ装置２１は、その演算時間（図１０（ｂ）における「ｃａｌ−ｔ」）と、先ほど正当なＣＨ認証コマンドを用いて導き出した演算時間との差分、すなわち「演算時間のばらつき」（図１０（ｂ）における「ｃａｌ−Δｔ」）を求めることができる。これらの各演算時間および「演算時間のばらつき」により、リーダ装置２１は、ＩＣカード２２Ｂの真偽判定を、より確実に行うことができる。
【０１２３】
すなわち、次にリーダ装置２１は、先ほど説明した方法により生成した不正な暗号化データ、例えばｆ（ｑ）やｋ（ｎ）、ｋ（ｑ）などのいずれかを含む不正なＣＨ認証コマンドを送信する（ステップＳ２５）。この不正なＣＨ認証コマンドについても、それぞれ、通信レートを異ならせて２回ずつ行われる。そして、この不正なＣＨ認証コマンドの送信は、先ほど説明した理由により、複数組行われることが望ましい。そしてリーダ装置２１は、それら不正なＣＨ認証コマンドの送信に対する応答信号を用いて、先に述べた計算方法（図６参照）により、ＩＣカード２２Ｂに搭載されているＩＣチップ２５Ｂの演算時間（図１０（ｂ）における「ｃａｌ−ｔ」）を導き出すことができる。この時点でもリーダ装置２１は、ＩＣカード２２Ｂの真偽判定を確定させてもよいが、さらに万全を期すために、「演算時間のばらつき」（図１０（ｂ）における「ｃａｌ−Δｔ」）を求める。「演算時間のばらつき」とは、すなわち、これらの不正なＣＨ認証コマンドの送信により得られた演算時間（図１０（ｂ）における「ｃａｌ−ｔ」）と、先ほど正当なＣＨ認証コマンドを用いて導き出した演算時間との各差分のことである。
【０１２４】
先ほども述べたように、不正なＩＣチップ２５Ｂでは、不正なＣＨ認証コマンドが送信された場合の演算時間と、正当なＣＨ認証コマンドが送信された場合との演算時間にそれほど大きなばらつき（差分、すなわち図１０（ｂ）における「ｃａｌ−Δｔ」）が生じる。そのＩＣチップ２５Ｂを搭載するＩＣカード２２Ｂは、偽造されたものであると判定される。本実施の形態２におけるリーダ装置２１は、先に図５に示すような、ＩＣチップの「演算時間」に関する世代別データのほかに、「演算時間のばらつき」に関する世代別データを、記憶部２７に記憶させている。リーダ装置２１は、「演算時間」による真偽判定だけでは、ＩＣカード２２Ｂに搭載されるべきＩＣチップ２５Ｂの世代を第３世代と誤って判定するかもしれない。しかしながら、「演算時間のばらつき」がそのＩＣチップの世代の許容範囲に入っていなければ（すなわち図１０（ｂ）において「ｃａｌ−Δｔ：ｎｏｔ  ３Ｇ」）、リーダ装置２１は、「そのＩＣカード２２Ｂは偽造された（図１０（ｂ）において「ｃｏｕｎｔｅｒｆａｉｔ」）可能性があると正しく判定することができる。こうして、リーダ装置２１は、ＩＣカード２２Ｂの真偽判定を、より確実に行うことができる。
【０１２５】
以上に述べたようにしてリーダ装置２１は、ＣＨ認証コマンドの送信により得られるＩＣチップ２５Ｂの「演算時間」（図１０（ｂ）における「ｃａｌ−ｔ」）および「演算時間のばらつき」（図１０（ｂ）における「ｃａｌ−Δｔ」）を基に、真偽判定を行い（ステップＳ２６）、ＩＣカード２２Ｂが偽造されたものであると判定することができる。すなわち、リーダ装置２１は、ＩＣカード２２Ｂに搭載されているＩＣチップ２５Ｂが正当な第３世代のものではないことを見破り、そのＩＣチップ２５Ｂを搭載するＩＣカード２２Ｂは、偽造されたＩＣカードである可能性が高いと判断する。本実施の形態２のリーダ装置２１は、不正なＩＣチップ２５Ｂを備える偽造されたＩＣカード２２Ｂが、悪意を持った第三者によって勝手に設定された暗証番号ｒだけでは、正当な保持者によって保持されているとは判断しない。すなわち、通信レートの異なるＣＨ認証コマンドを用いた真偽判定を行うことにより、このＩＣカード２２Ｂが、偽造されたものであると見破ることができる（図９のステップＳ２６における「Ｎｏ」に対応）。そして、以降のクレジット決済や電子マネーの支払は、リーダ装置２１によって行われず、悪意を持った第三者によるＩＣカード２２Ｂの不正な利用は食い止められる。
【０１２６】
これに加えてリーダ装置２１は、偽造されたＩＣカード２２Ｂがさらに使用されることを防止する手段を取ることも可能である。先ほども述べたように、リーダ装置２１は、もしＩＣカード２２Ｂが真正なものであれば、ＩＣチップ２５Ｂの真偽判定を行う前後とも、必ず、正当な暗号化データｆ（ｐ＝ｒ）を含むＣＨ認証コマンドの送信を行うよう設定されている。しかしながら、ＩＣカード２２Ｂが偽造された疑いがあると判断した場合、リーダ装置２１は、ＩＣチップ２５Ｂの真偽判定の後に、正当な暗号化データｆ（ｐ＝ｒ）を含むＣＨ認証コマンドの送信を行わなくてよい。そしてリーダ装置２１は、ＩＣチップ２５Ｂの真偽判定の後、ＩＣカード２２Ｂの暗証番号の照合回数が上限を超えるよう、不正なＣＨ認証コマンドをさらに送信してもよい（図９のステップＳ３０）。すなわちリーダ装置２１は、この場合の不正なＣＨ認証コマンドの連続送信回数を、ＩＣカードが真正なものと判断した場合よりも多くする（図１０（ｂ）における「ｍｏｒｅ  ｃｏｍｍａｎｄ（ｓ）」）。このときリーダ装置２１は、ＩＣカード２２ＢのＩＣチップ２５Ｂより、ＮＧの照合結果と、ＩＣチップ２５Ｂが無効化された（図１０（ｂ）において「ｕｎａｖａｉｌａｂｌｅ」）ことを受信した上で処理を終了するようにすれば、より確実である。また、このときに使用する不正なＣＨ認証コマンドは、真偽判定（ステップ２５）時において既に生成している不正なＣＨ認証コマンドを用いてもよい。そうすれば、リーダ装置２１は、新たに不正なＣＨ認証コマンドを生成するのに要する時間を短縮することができ、ＩＣカード２２Ｂの無効化を迅速かつ確実に行うことができる。とにかく、その時点でＩＣカード２２Ｂは無効化され、二度と使用できなくなる。そして、悪意を持った第三者が、本実施形態２のリーダ装置２１で使用し、偽造されたものであることが発覚しそうになって逃走した後に、従来のリーダ装置４１で再びそのＩＣカード２２Ｂを使用しようとしても、それができないようにすることができる。そして、ＩＣカードの不正使用による被害の拡大を小さくすることができる。
【０１２７】
なお、この不正なＣＨ認証コマンドの送信による真偽判定の結果、計算により導き出される演算時間は、例えば図５において「第３世代で真正と判定する範囲Ｚ」と「第２世代で真正と判定する範囲Ｙ」とが重なる範囲に入る可能性もある。このように、導き出される演算時間は、複数の世代の重なる範囲に入る場合があるので、先にも述べたように、不正なＣＨ認証コマンドを複数用意し、複数組の送信をＩＣカード２２Ｂに対して行うようにする（もちろん、その送信回数は、ＩＣカード２２Ｂが有する暗証番号の照合回数の上限を超えない範囲で設定されるべきである）。そうすれば、少なくとも１回は、複数の世代の重ならない範囲に入ることが期待できる。
【０１２８】
さらに万一、複数組にわたる不正なＣＨ認証コマンドの送信による真偽判定の結果、計算により導き出される演算時間が、全て、複数の世代の重なる範囲に入った場合であっても、「偽造されたＩＣカードの疑いがある」と判定してもよい。真正なＩＣチップに対して正しい暗証番号を用いれば、導き出される演算時間は、図４または図５に示す「真正と判定する範囲」のヤマの中央からそれほどかけ離れないものとなるはずだからである。もちろん、先ほども説明したように、正しい暗証番号を用いて正当なＣＨ認証コマンドを送信した場合における演算時間と、不正なＣＨ認証コマンドを送信した場合における演算時間との差、すなわち「演算時間のばらつき」を求める方法もある。そしてその演算時間の差があらかじめ設定された閾値以上であれば「偽造されたＩＣカードの疑いがある」と判定する、としてもよい。
【０１２９】
またさらに、本実施の形態２で用いられるＩＣカード２２、２２Ａおよび２２Ｂとしては、以上に説明した非接触通信タイプの代わりに、接触電極を有するものであってもよい。そして、本実施の形態２の図８〜図１０を用いて説明した真偽判定のプロセスについては、先の実施の形態１に適用、または応用することも可能である。
【０１３０】
以上、本発明の実施の形態２を例示により説明したが、本発明の範囲はこれらに限定されるものではなく、請求項に記載された範囲内において目的に応じて変更・変形することが可能である。本実施の形態においては、情報記憶媒体として、パスポートまたはＩＣカードを例として取り上げたが、例えば免許証など、他の情報記憶媒体であってもよい。また、その情報記憶媒体が有する特徴点として、情報記憶媒体に対するアクセスを認証するか否かを判定するのに必要な演算時間と、その情報記憶媒体内に記憶されている管理情報としてのカード番号とを用いているが、本発明の範囲はこれらに限定されない。例えば生体認証情報を管理情報として用いて、その生体情報の真偽を計算するのに必要な演算時間とともに、特徴点として用いてもよい。さらに、その特徴点を抽出するために、本実施の形態においては、通信レートの異なる同じ認証コマンドを送信しているが、本発明の範囲はこれに限定されない。例えば、変調方式を変更するなどの手段を用いてもよい。
【０１３１】
以上に現時点で考えられる本発明の好適な実施の形態を説明したが、本実施の形態に対して多様な変形が可能なことが理解され、そして、本発明の真実の精神と範囲内にあるそのようなすべての変形を添付の請求の範囲が含むことが意図されている。
【産業上の利用可能性】
【０１３２】
以上のように、本発明にかかるリーダ装置は、短時間で帳票やカードの真偽判定を行うことができるという効果を有し、偽造パスポートを判別する機能を備えたパスポートリーダや、偽造ＩＣクレジットカードを判別する機能を備えたＩＣカードリーダライタ、それを搭載する決済端末等のデータ処理装置として有用である。
【符号の説明】
【０１３３】
１，２１  リーダ装置
２  パスポート
３  撮影部
４  無線通信ＩＦ部
５，２５，２５Ａ，２５Ｂ  ＩＣチップ
６，２６  制御部
７，２７  記憶部
８  コンピュータ装置
９  データベース部
１０，３０  有線通信ＩＦ部
１１  送信制御部
１２，３２  所要時間計測部
１３，３３  演算時間算出部
１４，３４  真偽判定部
１５，３５  データ更新部
２２，２２Ａ，２２Ｂ  ＩＣカード
２３  ＰＩＮパッド
２４，近距離通信ＩＦ部
２９  決済センター
３０  遠距離通信ＩＦ部
３１  通信制御部
【図１】
2013125245.tif 000003
【図２】
2013125245.tif 000004
【図３】
2013125245.tif 000005
【図４】
2013125245.tif 000006
【図５】
2013125245.tif 000007
【図６】
2013125245.tif 000008
【図７】
2013125245.tif 000009
【図８】
2013125245.tif 000010
【図９】
2013125245.tif 000011
【図１０】
2013125245.tif 000012
【国際調査報告】
2013125245.tif 000013
2013125245.tif 000014