(57)【特許請求の範囲】
【請求項１】
メモリ及びこのメモリ上の格納データへの更新制御手段を有する装置と、前記装置の前記格納データと対応する内部管理データの更新制御手段を有するセンタシステムと、に対してデータ更新要求を発行する発行部を有し、前記装置の前記格納データと前記センタシステムの前記内部管理データの不一致を抑制するリーダライタであって、
前記リーダライタは、
前記装置の前記メモリ上の前記格納データの仮更新を前記装置に対して要求する仮更新要求発行手段と、前記仮更新の正常処理済通知を前記装置から受信する手段と、該仮更新の正常終了を確認したときに前記センタシステムにオンライン接続し前記センタシステムの前記更新制御手段に対して前記装置の格納データと対応する内部管理データの実更新を要求する実更新要求発行手段と、前記実更新の正常処理済通知を前記センタシステムから受信する手段と、該内部管理データの実更新の正常終了を確認したときに、前記装置のメモリ上の前記格納データの内容を確定させる本更新を要求する本更新要求発行コマンドを前記装置に対して送信する手段を有することを特徴とする前記装置の前記格納データと前記センタシステムの前記内部管理データの不一致を抑制するリーダライタ。
【請求項２】
前記リーダライタは、さらに、前記内部管理データの実更新要求の送信と同時に、前記センタシステムに対して異常の有無を監視するタイマ監視を開始し、タイムアップまでに前記実更新の正常処理済通知を前記センタシステムから受信しなかった場合に、前記装置に対して前記本更新発行コマンドを送信するかわりに前記装置のメモリ上の前記格納データを前記仮更新の実行前の状態に復元させるリカバリを要求するリカバリ要求発行手段を有し、前記装置の前記リカバリ要求の実行によって、前記装置のメモリ上の前記格納データを前記仮更新の実行前の状態に復元させることを特徴とする請求項１記載のリーダライタ。
【請求項３】
前記リーダライタは、前記装置への仮更新の要求には、前記装置のメモリ上の前記格納データへのアクセスを制限するロック要求機能が含まれ、前記装置への本更新の要求には、前記装置のメモリ上の前記格納データへのアクセス制限を解除するロック解除要求機能が含まれることを特徴とする請求項１記載のリーダライタ。
【請求項４】
前記リーダライタは、前記装置への仮更新の要求には、前記装置のメモリ上の前記格納データへのアクセスを制限するロック要求機能が含まれ、前記装置へのリカバリ要求には、前記装置のメモリ上の前記格納データへのアクセス制限を解除するロック解除要求機能が含まれることを特徴とする請求項２記載のリーダライタ。
【請求項５】
前記実更新要求発行手段は、前記センタシステムに対して前記実更新要求を更新データとともに送信するものであり、
前記リーダライタは、さらに、前記装置からの更新データを一時的に格納するテンポラリメモリを備えた更新管理部を有し、
前記更新管理部は、前記装置から仮更新の正常処理済通知を受けとると、前記装置からの更新データを前記テンポラリメモリに一時的に格納するものであり、
さらに、前記更新管理部は、前記テンポラリメモリに、センタシステムへ送信した更新データが存在しない場合は、前記仮更新要求発行手段を通じて仮更新を前記装置に要求し、
前記更新管理部は、前記テンポラリメモリに、センタシステムへ送信した更新データが存在する場合は、前記本更新要求発行手段を通じて本更新を前記装置に要求することを特徴とする請求項１〜４のいずれかに記載のリーダライタ。
【請求項６】
前記装置は、ＩＣカードであることを特徴とする請求項１〜５のいずれかに記載のリーダライタ。
【請求項７】
前記装置は、回路であることを特徴とする請求項１〜５のいずれかに記載のリーダライタ。
【請求項８】
メモリ及びこのメモリ上の格納データへの更新制御手段を有する装置と、前記装置の前記格納データと対応する内部管理データの更新制御手段を有するセンタシステムと、に対してデータ更新要求を発行する発行部を有し、前記装置の前記格納データと前記センタシステムの前記内部管理データの不一致を抑制するリーダライタで実行される方法であって、
前記リーダライタは、
前記装置の前記メモリ上の前記格納データの仮更新を前記装置に対して要求し、
前記仮更新の正常処理済通知を前記装置から受信し、
該仮更新の正常終了を確認したときに前記センタシステムにオンライン接続して前記センタシステムの前記更新制御手段に対して前記装置の格納データと対応する内部管理データの実更新を要求し、
前記実更新の正常処理済通知を前記センタシステムから受信し、
該内部管理データの実更新の正常終了を確認したときに、前記装置のメモリ上の前記格納データの内容を確定させる本更新を要求する本更新要求発行コマンドを前記装置に対して送信する、
方法。
【請求項９】
前記リーダライタは、さらに、前記内部管理データの実更新要求の送信と同時に、前記センタシステムに対して異常の有無を監視するタイマ監視を開始し、タイムアップまでに前記実更新の正常処理済通知を前記センタシステムから受信しなかった場合に、前記装置に対して前記本更新発行コマンドを送信するかわりに前記装置のメモリ上の前記格納データを前記仮更新の実行前の状態に復元させるリカバリを要求し、
前記装置の前記リカバリ要求の実行によって、前記装置のメモリ上の前記格納データを前記仮更新の実行前の状態に復元させることを特徴とする請求項８記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、カード発行主体であるセンタシステムで管理するデータとの更新状態の整合性が図れない場合に、格納データへのアクセスを制限する機能を有するＩＣカード、及びこのＩＣカードを使用したＩＣカードシステムに関する。
【０００２】
【従来の技術】
ＩＣカードの内部に、カード発行主体であるセンタシステム側で管理されている対象データ、例えば金額等に相当するデータ（以下、金額データ）を格納しておき、その金額データを用いてセンタシステム側の了解を得ずに商品購入等を行う取引形態がある。このような取引形態をオフライン取引という。例えば、センタシステムとオンライン接続されているＡＴＭ（automatic teller machine）等を用いて自己の銀行預金残高の全部または一部に対応する金額データをＩＣカードのメモリ領域に格納しておき、商品購入時には、店舗にあるオフライン端末を用いて上記金額データを逐次減算していく場合がオフライン取引に該当する。
【０００３】
このようなオフライン取引においては、ＩＣカードに格納されている金額データと、センタシステム側で管理している預金残高に相当する金額データとの不一致による、カード発行者とカード保有者との間のトラブル発生を回避する手段を講じることが重要となる。
【０００４】
そこで、従来は、カード内部の金額データを先に更新し、次いでオンラインによって銀行口座の預金残高を更新するという手順がとられている。あるいは、逆に、銀行口座の預金残高を更新してから、カード内部のデータを後で更新するという手順がとられる場合もある。カード内部の金額データを更新する場合は、１回のデータ更新要求コマンドにより、カード内部のデータを更新するとともに必要に応じてその履歴をカード内部に追記していた。
【０００５】
図１０は、ＩＣカード側とセンタシステム側との金額データの不一致を防止するための手順を示したシーケンスチャートであり、ＩＣカード、ＡＴＭに設けられるカードリーダライタ（以下、Ｒ／Ｗ）、及び、ＡＴＭにオンライン接続されているセンタシステムにおける、それぞれの処理の流れを示すものである。
【０００６】
図１０において、Ｒ／Ｗ（ＡＴＭ）は、挿入されているＩＣカードに対して現在の金額データの更新要求（更新データ＋コマンド）を行う（Ｒ４１，Ｒ４２）。ＩＣカードは、この更新要求の受信によって自己のメモリ領域に格納されている金額データを更新し（Ｋ４１）、併せて更新履歴をメモリ領域に追記する（Ｋ４２）。正常終了した場合は、更新済通知をＲ／Ｗ側へ送る（Ｋ４３）。ＩＣカードから更新済通知を受信したＲ／Ｗは（Ｒ４３）、センタシステムに対して管理データの更新要求（更新データ＋コマンド）を行う（Ｒ４３）。ここに管理データとは、当該ＩＣカードの正規所有者について管理している金額データをいう。センタシステムは、管理データ更新要求の受信により該当する管理データを検索して更新し（Ｃ４１）、それが正常終了した場合は、更新済通知をＲ／Ｗに送る（Ｃ４２）。この通知を受信したＲ／Ｗは、図示しないディスプレイ等に更新済を表示した後（Ｒ４４）、当該ＩＣカードの排出制御を行う（Ｒ４５）。このようにして、ＩＣカードの金額データとセンタシステム側で管理している金額データとの連携が図られている。
【０００７】
【発明が解決しようとする課題】
ここで、金額データを増やす場合を想定する。また、この場合のデータ更新手法として、ＩＣカード側の金額データを更新（増額）した後に、センタシステム側の管理データを更新（増額）する手法を採用していたとする。このような状況では、ＩＣカードにおけるデータ更新は正常に終了し、それにより金額データは増えたが、オンラインによるセンタシステム側のデータ更新が正常に行われなかった場合は、それを知らないカード所有者が、センタシステム側の管理データを越える金額でＩＣカードによる買い物をしてしまうことが考えられる。
【０００８】
また、その逆に、ＩＣカード内部の金額データを減らす場合、センタシステム側の管理データを更新（減額）した後にＩＣカード側の金額データを更新（減額）する手法を採用していたとする。このとき、センタシステム側のデータ更新は正常に終了し、それにより管理データは減ったが、ＩＣカード内部のデータ更新が何らかの理由で正常に実行できなかった場合には、正常に減額がなされたと信じているカード所有者が、センタシステム側の管理データを越える金額でＩＣカードによる買い物をしてしまうことが考えられる。
【０００９】
つまり、従来のＩＣカードでは、オフライン取引の際に、カード内部の金額データとセンタシステム側の管理データとの不一致を生じる可能性が高く、正しい金額データの使用が保証されにくいという問題があった。
【００１０】
そこで、本発明の課題は、カード内部の格納データの更新状態とその格納データを管理している側の更新状態との不一致の発生、及び該不一致状態でのカード取引を自律的に抑制することができるＩＣカード、及びこのＩＣカードを用いたＩＣカードシステムを提供することにある。
【００１１】
【課題を解決するための手段】
上記課題を解決するため、本発明は、ＩＣ内部のデータ格納領域に格納されたデータの更新制御手段を有するＩＣカードと、このＩＣカードの格納データに対応する内部管理データの更新制御手段を有する第１装置と、前記ＩＣカード及び第１の装置の各更新制御手段に対してデータ更新要求を発行する第２装置とを含んで構成されるＩＣカードシステムにおいて、前記第２装置に、前記ＩＣカードの更新制御手段へ前記格納データの仮更新を要求する仮更新要求発行手段と、該仮更新の正常終了を確認したときに前記第１装置の更新制御手段へ内部管理データの実更新を要求する実更新要求発行手段と、該内部管理データの実更新の正常終了を確認したときに前記ＩＣカードの更新制御手段へ本更新を要求する本更新発行手段とを設け、この本更新の実行によって前記ＩＣカード内の格納データの内容を確定させるようにした。
【００１２】
このＩＣカードシステムのより好ましい形態としては、前記第２装置に、さらに、前記内部管理データの実更新の異常の有無を監視するシステム監視手段と、該システム監視手段が異常を検知したときに前記本更新の要求に代えてリカバリ要求を前記ＩＣカードの更新制御手段へ送出するリカバリ要求発行手段とを設ける。この場合、前記ＩＣカードの更新制御手段は、前記リカバリ要求の受信時に前記仮更新の実行前の状態を復元するように構成する。
【００１３】
本発明は、また、上記ＩＣカードシステムでの利用に適したＩＣカードを提供する。このＩＣカードは、下記の機能をもつ更新制御手段を有することを特徴とするものである。
（１）ＩＣ内部のデータ格納領域内の格納データについての仮更新要求を受信したときに該仮更新要求に基づく更新候補データを生成する第１の手段と、生成された前記更新候補データについての本更新要求を受信したときに該更新候補データの内容を確定させる第２の手段。
（２）前記仮更新要求の受信を契機に少なくとも前記データ格納領域へのアクセスを制限させ、前記本更新要求の受信を契機に該制限を解除する第３の手段。
（３）所定のリカバリ要求の受信を契機に前記データ格納領域内の格納データを前記仮更新要求前の状態に復元させるリカバリ要求実行手段。
（４）前記仮更新要求の実行結果または前記更新候補データの元データを一時的に保持するデータバッファと、前記本更新要求またはリカバリ要求の受信時に前記データバッファの保持内容をクリアするバッファ制御手段。つまり、ＩＣ内部の格納データとこれを管理する側のデータとの不一致の有無を検知し、一致性の確認が確保できない間の更新候補データの使用を制限するとともに、本更新要求時またはリカバリ要求時の後続処理の迅速化を図ることができるＩＣカードを提供する。
【００１４】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。図１は、本発明が適用されるＩＣカードの構成例を示す図である。このＩＣカード１は、カードリーダライタ（Ｒ／Ｗ）２との間のデータ入出力制御を行う入出力制御部（Ｉ／Ｏ）１１、マイクロプロセッサ（ＣＰＵ）１２、ＲＯＭ１３、ＲＡＭ１４、及びＥＥＰＲＯＭ１５を備えて構成される。
【００１５】
ＲＡＭ１４は、ＣＰＵ１２がプログラムを実行するために使用するワーキングメモリであり、ＲＯＭ１３は、少なくともＣＰＵ１２が実行する制御プログラムを格納するメモリである。この実施形態では、ＣＰＵ１２、ＲＯＭ１３、及びＲＡＭ１４によって本発明の更新制御手段を実現する。
【００１６】
図２は、ＥＥＰＲＯＭ１５の内容説明図である。本実施形態では、ＥＥＰＲＯＭ１５に、少なくとも、ＰＩＮ（Personal Identification Number：暗証番号）の現在の設定状態がＰＩＮロック状態かＰＩＮアンロック状態かを表すカードステータスを格納するためのステータス格納領域１５１、変更データバッファ１５２、金額データ格納領域１５３、及び更新履歴格納領域１５４を形成している。なお、このほか、必要に応じてＰＩＮの格納領域を別途形成しておいてもよい（複数のＰＩＮを設定する場合等）。
【００１７】
ＰＩＮロック状態とは、金額データへのアクセス時（データ保存、更新、読出し等、以下同じ）、保有者ＰＩＮの入力を促して利用者認証を行うことを必須とする状態であり、カードステータスがこの状態のときは、カード使用時にＰＩＮ入力が不可欠となる。一方、ＰＩＮロック解除状態とは、操作上の便宜を考慮してＰＩＮ入力を不要としている状態、つまり、ＰＩＮによる利用者認証が省略される状態である。カードステータスがこの状態のときはカード使用時のＰＩＮ入力は不要となる。
【００１８】
変更データバッファ１５２は、例えば金額データ格納領域１５３に格納されるデータを外部（Ｒ／Ｗ２）から受信したデータをもとに生成（算出）する場合、この受信データ等を一時的に保持しておき、その内容が確定したとき、あるいは最終的に確定し得なかったときに、保持データをもとに金額データ格納領域１５３内の金額データを元に戻す、という場合に使用される。
【００１９】
更新履歴格納領域１５４は、金額データの更新が確定する度にその取引日と額の履歴を追記するための領域である。この更新履歴は、後日の取引行為の分析時等に使用されるものである。
【００２０】
図３は、ＲＯＭ１３に格納された制御プログラムに従ってＣＰＵ１２により実現される更新制御手段の機能ブロック構成図である。この実施形態では、更新要求実行処理部１２１、演算処理部１２２、データ・履歴状態判定部１２３、ステータス遷移制御部１２４、バッファ制御部１２５、データ更新処理部１２６、及び更新履歴追記処理部１２７を構築する。更新要求実行処理部１２１は、下記の各部１２２〜１２７の制御を統括するものであり、Ｉ／Ｏ１１を介してＲ／Ｗ２から入力される各種要求（コマンド）や金額データ等を識別し、現在のカードステータスを監視しながら入力された各種要求の実行等を行う。例えば、カードステータスがＰＩＮロック状態のときはＰＩＮ入力による照合以外は特定のコマンド入力がないと金額データへのアクセスを禁止するようにする。このデータアクセスの禁止状態を単なる「ロック状態」と称し、ＰＩＮロック状態とは区別して説明する。但し、後述の本更新要求やリカバリ要求については、ロック状態であってもこれを受け付けて実行するように例外コマンドを設定しておく。
【００２１】
演算処理部１２２は、金額データの演算の際に用いられるものである。データ・履歴状態判定部１２３は、現在の金額データや履歴の状態が仮状態（更新可能であるが未確定の状態、以下同じ）か本状態（更新が確定している状態、以下同じ）かを判定する。この判定は、例えば、変更データバッファ１５２内にデータが保持されていれば仮状態、保持データが存在しておらず、金額データ格納領域１５３の金額データや変更履歴格納領域１５４内の更新履歴の内容が確定している場合は本状態と判定する。変更バッファメモリ１５２内の保持データ、あるいは金額データ格納領域１５３の金額データや変更履歴格納領域１５４内の更新履歴に仮状態または本状態のフラグを立てておくことで判定するようにしてもよい。
【００２２】
ステータス遷移制御部１２４は、更新要求実行処理部１２１の指示によってステータス格納領域１５１の現在のカードステータスの監視と遷移制御を行う。この実施形態では、金額データ等が仮状態のときは当該金額データに対するアクセスを制限するためにロック状態にしておき、本状態になったときにロック解除状態に遷移させるものとする。
【００２３】
バッファ制御部１２５は、変更データバッファ１５２のクリア等を行うものである。データ更新処理部１２６は、金額データ格納領域１５３に格納されている金額データの更新等を行うものであり、更新履歴追記処理部１２７は、更新履歴格納領域１５４内の更新履歴を追記するものである。なお、更新履歴格納領域１５４内の更新履歴は上書きするように変更してもよい。
【００２４】
次に、上記ＩＣカード１との間でデータ等の授受を行うＲ／Ｗ２（第２装置）側の構成を説明する。この場合のＲ／Ｗ２は、例えば図示しないセンタシステム側とオンラインで結ばれたＡＴＭやＰＯＳ操作端末等に備えられるものを想定している。
【００２５】
Ｒ／Ｗ２は、更新管理部２１と、コマンド発行部２２と、システム監視部２３とを含んで構成される。更新管理部２１は図示しないテンポラリメモリを有し、Ｒ／Ｗ２の操作者、ＩＣカード１、及びセンタシステムから、金額データ、更新データ、各種通知、あるいは後述のシステム監視結果等を受け取ってテンポラリメモリに一時的に格納するとともに、各種通知やデータ更新に関する情報を出力ないし返送する。また、テンポラリメモリの格納データに基づいてコマンド発行部２２に各種要求発行の指示を与える。コマンド発行部２２は、ＩＣカード１に対して仮更新要求及び本更新要求（データ込）、あるいはリカバリ要求を生成して送信するとともに、センタシステム側に管理データの実更新要求を生成して送信するものである。
【００２６】
仮更新要求は、ＩＣカードに金額データの仮更新を要求するためのコマンドであり、例えばカード取引時に入力される金額データの関連データ（例えばセンタシステムに送信した更新データ）が更新管理部２１のテンポラリメモリに存在しない場合に、これを検知した更新管理部２１からの指示によって生成される（仮更新要求発行手段）。
【００２７】
また、本更新要求は、ＩＣカードに仮状態にある金額データの確定を要求するコマンドであり、センタシステムからの更新済通知の受信時にテンポラリに該当更新データが存在する場合に、これを検知した更新管理部２１からの指示によって生成される（本更新要求発行手段）。
【００２８】
一方、リカバリ要求は仮更新要求を発行した後に何らかの理由でセンタシステム側での管理データの実更新が成功しなかった場合にＩＣカード１の内容を仮更新要求の発行直前の状態に復元させるためのコマンドであり、仮更新処理の正常終了後に本更新要求を発行できない事態の発生を検知した更新管理部２１からの指示によって生成される（リカバリ要求発行手段）。
【００２９】
システム監視部２３は、例えばタイマを含んで構成され、コマンド発行部２２がセンタシステムへ管理データ更新要求を発出した後の経過時間を監視し、タイムアップ前に更新済通知を受領しない場合にその結果を更新管理部２１に通知するように構成される（システム監視手段）。
【００３０】
次に、Ｒ／Ｗ２から上記各種要求（コマンド）を受信したときのＩＣカード１側の処理動作を図５及び図６を参照して説明する。図５は、仮更新要求を受信した場合の例である。この場合は、まずカードステータスを調べ、ロック解除状態になっている場合は、ロック状態へ遷移させる（ステップＳ１０１，１０２，１０３）。次いで、変更データバッファ１５２がクリア状態かどうかを確認し、クリア状態であれば、対象金額データが本状態かを調べ、本状態であれば最新更新履歴が本状態であるかどうかを調べる（ステップＳ１０４，１０５，１０６）。最新更新履歴が本状態のときは変更データバッファへ仮更新要求と共に送られたデータを書き込み（ステップＳ１０７）、更新候補データの算出を行う（ステップＳ１０８）。そして、金額データ格納領域１５３内の金額データの仮更新と更新履歴格納領域１５４内の更新履歴の仮追記とを行い（ステップＳ１０９，１１０）、正常処理済通知をＲ／Ｗ２側に送る（ステップＳ１１１）。ステップＳ１０３，１０４，１０５，１０６での判定結果が否定的である場合はエラー処理、例えば正常に仮更新できなかった旨のレスポンスをＲ／Ｗ２側に送る。
【００３１】
図６は、本更新要求を受信した場合の例である。この場合は、カードステータスを調べ、ロック状態であることを確認する（ステップＳ２０１，２０２）。ロック状態であれば変更データバッファ１５２に有効なデータ、すなわち本更新の際に用いられるデータが存在しているかどうかを調べる（ステップＳ２０３）。有効なデータの存在を確認した場合は、対象金額データが仮状態かどうかを調べ、仮状態であれば最新更新履歴が仮状態かどうかを調べる（ステップＳ２０４，２０５）。仮状態であれば該当する金額データの本更新と更新履歴の本追記とを行う（ステップＳ２０６，２０７）。その後、変更データバッファ１５２の内容をクリアし（ステップＳ２０８）、ロック状態を解除させるとともに（ステップＳ２０９）、正常処理済通知をＲ／Ｗ２側に対して行う（ステップＳ２１０）。一方、ステップＳ２０２，２０３，２０４，２０５での判定結果が否定的である場合は、上述のエラー処理をＲ／Ｗ２に対して行う（ステップＳ２１１）。
【００３２】
なお、以上は、仮更新要求の中にＩＣカードをロックする機能、本更新要求の中にＩＣカードのロックを解除する機能が含まれていることを前提として説明したが、これらの機能は、各更新要求とは別のコマンドにより行うことができる。
【００３３】
次に、上記のように動作するＩＣカード１、Ｒ／Ｗ２、及びセンタシステム側の処理の全体の流れを図７〜図９を参照して説明する。
【００３４】
図７は、正常時の流れを示すシーケンスチャートである。Ｒ／Ｗ２が仮更新要求を送信した後（Ｒ１１，Ｒ１２）、ＩＣカード１から正常処理済通知を受信するまでの手順（Ｋ１１〜Ｋ１４）については図５に示したとおりである。ＩＣカード１側の仮更新処理が正常に終了した場合、Ｒ／Ｗ２は、次に、センタシステムに対して管理データの実更新要求（更新データ込）を送信する（Ｒ１３）。センタシステムでは、該当する管理データを検索してこれを更新し（Ｃ１１）、更新済通知をＲ／Ｗ２に送る（Ｃ１２）。この通知により管理データの実更新を確認したＲ／Ｗ２は（Ｒ１４）、ＩＣカード１に対して本更新要求を送信する（Ｒ１５）。この本更新要求を受信したＩＣカード１が対象金額データや更新履歴の本更新、本追記を行った後、ロック状態の解除をＲ／Ｗ２に通知するまでの手順（Ｋ１５〜Ｋ１９）は、図６に示したとおりである。解除通知を受けたＲ／Ｗ２は、正常処理済をディスプレイ等に表示し（Ｒ１６）、所要の終了処理を経てカード排出制御を行う（Ｒ１７）。
【００３５】
図８は、異常時の流れを示すシーケンスチャートである。異常発生の形態としては種々のものが考えられるが、ここでは、センタシステム側において実更新ができない原因が発生し、前述の更新済通知（Ｃ１２）がＲ／Ｗ２側に送信されなかったものとする。
【００３６】
この場合、Ｒ／Ｗ２が仮更新要求をＩＣカード１側に送信するとともに、ＩＣカード１から正常処理済通知を受信したＲ／Ｗ２がセンタシステムに管理データの実更新要求を送信するまでの手順（Ｒ２１，Ｒ２２、Ｋ２１〜Ｋ２５、Ｒ２３）は図７の場合と同様である。ここでは、Ｒ／Ｗ２において、管理データの更新要求送信と同時にタイマによる監視を始める（Ｒ２４）。この監視は、システム監視部２３が行う。上述のようにセンタシステムに異常が発生しているので（Ｃ２１）、タイムアップ後も更新済通知は行われない（Ｒ２５）。そこで、システム監視部２３は、監視結果が否定的であることを更新管理部２１に伝える。更新管理部２１は、この監視結果に基づいてエラー処理、例えば図示しないディスプレイにエラー表示を行う（Ｒ２７）。このように、仮更新要求後、本更新要求前に異常が発生した場合、ＩＣカード１の金額データや更新履歴は仮状態のままであり、カードステータスもロック状態が継続される。
【００３７】
図９は、リカバリ処理時のシーケンスチャートである。リカバリ処理は、ＩＣカード１の金額データ等が仮状態を維持しているときに、これを仮更新要求の直前の状態に強制的に復元するものである。このリカバリ処理は、Ｒ／Ｗ２からＩＣカード１へリカバリ要求が送信されることによって開始する（Ｒ３１，Ｒ３２）。ＩＣカード１では、更新要求実行処理部１２１が、金額データ格納領域１５３内の金額データに変更データバッファ１５２上の変更金額データを加算（仮更新が減額であった場合）、または減算（仮更新が増額であった場合）する（Ｋ３１）。また、最新のデータ更新仮履歴を削除する（Ｋ３２）。その後、変更データバッファ１５２をクリアし（Ｋ３３）、ロック状態を解除するとともに、ロック状態解除をＲ／Ｗ２に通知する（Ｋ３４）。Ｒ／Ｗ２は、このロック状態解除をディスプレイ等に表示した後（Ｒ３３）、カード排出制御を行う（Ｒ３４）。これにより、ＩＣカード１は、仮更新要求前の状態に戻る。
【００３８】
このように、本実施形態のＩＣカード１は、センタシステムにおける管理データとの不一致を検知するとともに、そのような状態での使用が防止される機能を有しているので、カード所有者が、センタシステム側の管理データを越える金額で買い物をしてしまう事態を回避することができる。
【００３９】
なお、本実施形態では、金額データの場合の例を挙げて示したが、このほか、図書カードによる貸出量や、ゲームカードによる得点量の場合も同様の実施態様が可能である。
【００４０】
【発明の効果】
以上の説明から明らかなように、本発明のＩＣカードによれば、センタシステム側の管理データとの連携が図られるので、該管理データと不一致の状態でのＩＣカードによる取引が回避される効果がある。このような効果は、オフライン取引を許容するＩＣカードシステムでは、特に有効となるものである。
【図面の簡単な説明】
【図１】本発明が適用されるＩＣカードの構成図。
【図２】本実施形態のＩＣカードのＥＥＰＲＯＭの内容説明図。
【図３】本実施形態のＩＣカードにより実現される機能ブロックの構成図。
【図４】本実施形態のカードリーダライタ側が備える機能ブロックの構成図。
【図５】本実施形態において仮更新要求を受信した場合のＩＣカード側の処理順の説明図。
【図６】本実施形態において本更新要求を受信した場合のＩＣカード側の処理手順の説明図
【図７】 本実施形態のＩＣカード、Ｒ／Ｗ、及びセンタシステムにおいて、正常時の処理の流れを示すシーケンスチャート。
【図８】 本実施形態のＩＣカード、Ｒ／Ｗ、及びセンタシステムにおいて、異常発生時の処理の流れを示すシーケンスチャート。
【図９】 本実施形態のＩＣカード、Ｒ／Ｗ、及びセンタシステムにおけるリカバリ処理の流れを示すシーケンスチャート。
【図１０】ＩＣカード、Ｒ／Ｗ、及びセンタシステムにおいてデータ更新要求が発生した場合の従来の処理の流れを示すシーケンスチャート。
【符号の説明】
１ ＩＣカード
２ カードリーダライタ（Ｒ／Ｗ）
１１ 入出力制御部（Ｉ／Ｏ）
１２ マイクロプロセッサ（ＣＰＵ）
１３ ＲＯＭ
１４ ＲＡＭ
１５ ＥＥＰＲＯＭ
１２１ 更新要求実行処理部
１２２ 演算処理部
１２３ データ・履歴状態判定部
１２４ ステータス遷移制御部
１２５ バッファ制御部
１２６ データ更新処理部
１２７ 更新履歴追記処理部
１５１ ステータス格納領域
１５２ 変更データバッファ
１５３ 金額データ格納領域
１５４ 更新履歴格納領域
【図１】
0003917004.tif 000002
【図２】
0003917004.tif 000003
【図３】
0003917004.tif 000004
【図４】
0003917004.tif 000005
【図５】
0003917004.tif 000006
【図６】
0003917004.tif 000007
【図７】
0003917004.tif 000008
【図８】
0003917004.tif 000009
【図９】
0003917004.tif 000010
【図１０】
0003917004.tif 000011