JP3752937B2 - Transaction processing apparatus and method, and IC card with transaction processing function - Google Patents
Transaction processing apparatus and method, and IC card with transaction processing function Download PDFInfo
- Publication number
- JP3752937B2 JP3752937B2 JP2000000687A JP2000000687A JP3752937B2 JP 3752937 B2 JP3752937 B2 JP 3752937B2 JP 2000000687 A JP2000000687 A JP 2000000687A JP 2000000687 A JP2000000687 A JP 2000000687A JP 3752937 B2 JP3752937 B2 JP 3752937B2
- Authority
- JP
- Japan
- Prior art keywords
- transaction
- terminal device
- information
- execution
- execution result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、ICカード(Integrated Circuitカード)を用いた電子マネー取引システム等におけるトランザクション処理技術に係り、特に、トランザクション処理の信頼性向上と性能の向上を図るの好適なトランザクション処理装置と方法およびトランザクション処理機能付きICカードに関するものである。
【0002】
【従来の技術】
コンピュータを利用して商取引を行う電子商取引(エレクトロニック・コマース、EC:Electronic Commerce)等におけるトランザクション処理、例えば、ICカードをトラベラーズチェックとして利用して支払いを行う場合、ICカードと、店舗に設置された端末装置との間で、以下のようなトランザクション処理が行われる。
【0003】
トランザクション処理装置としてのICカードは、店舗側の端末装置から、金額Wの支払要求(トランザクションの実行指示T)と当該トランザクションを一意に区別できる識別情報ID(端末装置で生成される乱数R)とを入力し、予め記録している残金Wr(データ項目S)を参照して、実行指示Tによって指示されたトランザクション(金額Wの支払)を実行し、データ項目S(残金Wr)を更新する。そして、店舗側の端末装置に、予め記憶した鍵情報Kとこの鍵情報Kで暗号化した署名Sおよびトラベラーズチェックの総額(電子マネーデータC)等を、トランザクションの実行結果として出力する。
【0004】
店舗側の端末装置では、このようにICカード(トランザクション処理装置)から出力されてきた電子マネーデータCを確認し、かつ、鍵情報Kを使って、同じくICカードから出力されてきた署名Sを検証し、両方とも正常であればトランザクション処理(支払い処理)の完了とする。
【0005】
このような処理を行なうために、トランザクション処理装置には、データ項目S1,S2,…,Snをそれぞれ記録する記憶部M1,M2,…,Mnと、トランザクションの実行結果を記録する記憶部MRとが設けられている。そして、トランザクション実行開始時には、まず、記憶部MRの内容(前回の実行結果)を一旦消去し、次に、記憶部M1,M2,…,Mnに格納されているデータ項目S1,S2,…,Snの値を用いてトランザクションを実行する。さらに、その実行後、更新されたS1,S2,…,Snの値を記憶部M1,M2,…,Mnに記録し、また、新たな実行結果を記憶部MRに記録した後、その実行結果を端末装置に出力している。
【0006】
しかし、このようなトランザクション処理システムにおいては、種々の不具合が発生する。例えば、第1の不具合として次のものがある。すなわち、トランザクション処理装置において、トランザクション処理が成功したにもかかわらず、記憶部M1,M2,…,Mnへトランザクション実行後のデータ項目S1,S2,…,Snの値を格納する途中で、装置の動作に問題が生じて、この記憶部M1,M2,…,Mnへのデータ項目の書込みが不完全に終わった場合、もしくは、記憶部MRへトランザクション実行結果の値を格納する途中で問題が生じて実行結果の書き込みが不完全に終わった場合で、かつ、実行結果の端末装置への送信が不完全に終わった場合がある。
【0007】
このような場合には、トランザクション処理装置のデータの一貫性が失われる。すなわち、記憶部M1,M2,…,Mnに格納されているデータ項目S1,S2,…,Sn、および、記憶部MRに格納されている実行結果の値には、トランザクションの実行に基づく更新が完了したものと完了していないものが混在してしまい、データ項目間の一貫性が失われる。さらに、この場合、値をトランザクションの実行の前の状態に戻すことができなくなってしまう。また、記憶部MRには、そのトランザクションの実行結果が完全に記録されていないため、端末装置側では、トランザクション処理装置の記憶部MRの内容を読み出しても実行結果を取得することができない。
【0008】
また、第2の不具合として次のものがある。すなわち、端末装置側では、トランザクション処理装置からの実行結果の値を受信できなかった場合、記憶部MRに当該トランザクションの実行結果が記録されているかどうかを調べ、その結果により、トランザクション実行装置から記憶部MRの値を読み出させるべきか、再度トランザクションの実行指示Tおよび識別情報IDを与えて実行結果を得るべきかを判断する必要があり、それに伴い、端末装置側に特別の機能を設ける必要がある。
【0009】
端末装置においてこのような判断を行うことなく、再度、トランザクションの実行をトランザクション処理装置へ指示してしまうと、トランザクション処理装置内では、場合によっては同一トランザクションが2度重複して行われてしまうことになる。この場合、端末装置上ではトランザクションを1度しか実行していないため、一貫性が失われる。
【0010】
さらに、第3の不具合としては次のものがある。すなわち、トランザクション処理装置において、記憶部MRはトランザクションを実行するたびに内容(実行結果)が消去され、新しいものに書きかえられていくため、直前に実行したトランザクションの実行結果しか端末装置は取得できない。そのため、端末装置が複数台存在する場合において、ある端末装置に対するトランザクション実行結果の送信が失敗したにもかかわらず、他の端末装置に対してトランザクションを実行してしまうと、前者の端末装置へ実行結果を再度送信することができなくなってしまう。
【0011】
また、従来技術の不具合として以下のケースもある。すなわち、1回のトランザクションのためにトランザクション装置内では、記憶部MRの消去、記憶部M1,M2,…,Mnの書き換え、さらに記憶部MRの書き込みという操作が必要である。このことは、トランザクション処理にICカードを用いる場合に不都合である。
【0012】
なぜなら、ICカードでは、EEPROM(Electrically Erasable Programmable Read Only Memory)と呼ばれるタイプの記憶装置を一般に用いられているが、このEEPROMでは、書込み操作毎に書込みデータ量に関わらず固定的な所要時間が必要となり、この所要時間は代表的なICカードの場合で約55ミリ秒程度である。データの書込み速度が1バイト当り15マイクロ秒程度であることと比較すると、この所要時間は大きな負担である。
【0013】
このような問題に対処するため、実際の記憶装置上の記憶領域(記憶部M1,M2,…,Mnおよび記憶部MR)の配置順序を適正化し、これらの値の書き換えを一度の書込み操作で済むように最適化することができる。しかし、このような最適化を行ったとしてもなお、記憶部MRの消去という操作が必要であるため、記憶装置(EEPROM)への操作回数は最低でも2回必要となる。
【0014】
【発明が解決しようとする課題】
解決しようとする問題点は、従来の技術では、トランザクション処理装置と端末装置との間の通信の途絶やトランザクション処理装置の処理途中での動作停止が起きた場合には、トランザクション処理装置に格納されている内部データの一貫性の喪失を確実に防止できない点と、トランザクション処理装置内部の記憶手段への操作回数を削減することができない点である。
【0015】
本発明の目的は、これら従来技術の課題を解決し、トランザクション処理の信頼性向上と処理速度の向上を図ることを可能とするトランザクション処理装置と方法およびトランザクション処理機能付きICカードを提供することである。
【0016】
【課題を解決するための手段】
上記目的を達成するため、本発明のトランザクション処理装置と方法およびトランザクション処理機能付きICカードでは、実行したトランザクションに関して、要求された実行指示Tと識別情報IDに対応付けて、実行結果を、正常に処理完了したか否かを示す指標(開始フラグと完了フラグ等)を付与し、履歴情報として記録しておく。その後、端末装置からトランザクション実行指示Tと識別情報IDとが入力されると、これらの情報に基づき、記録した履歴情報を検索して、入力された実行指示Tと識別情報IDとに対応する正常終了した実行結果の有無を判別する。あれば、当該実行結果を読み出して端末装置に出力し、なければ、入力された実行指示Tと識別情報IDとに基づく新規のトランザクションを実行し、その実行結果を端末装置に出力すると共に、新たな履歴情報として記録する。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態を、図面により詳細に説明する。
図1は、本発明に係るトランザクション処理装置の構成例を示すブロック図であり、図2は、図1におけるトランザクション処理装置の本発明に関わる処理動作例を示すフローチャートである。
【0018】
図1に示すトランザクション処理装置は、電子マネー支払い装置を例にしており、この電子マネー支払い装置は、図示していない電子マネー端末装置からの支払い要求に対応して電子マネー支払い処理(トランザクション処理)を行う。
【0019】
本例の電子マネー支払い装置は、入力端1(図中「IW」と記載)、入力端2(図中「IR」と記載)、トランザクション実行部3、出力端4(図中「OK」と記載)、出力端5(図中「OC」と記載)、出力端6(図中「OS」と記載)、そして、履歴管理部7を有している。
【0020】
入力端1には、電子マネー端末装置からトランザクションの実行指示Tとして要求された電子マネー支払い金額W(1a)が入力され、また、入力端2には、個々の電子マネー支払いの度に電子マネー端末装置において生成されるトランザクション識別情報IDとしての乱数R(2a)が入力される。
【0021】
トランザクション実行部3は、残高確認部3a、署名生成部3b、出力処理部3cを有し、従来のトランザクション処理を行なう。また、履歴管理部7は、履歴確認部7a、履歴取得部7b、履歴情報格納処理部7c、履歴情報8を有し、本発明に係る処理を行なう。
【0022】
この履歴情報8は、過去に実行された支払い処理(トランザクション処理)の履歴を示すものであり、電子マネー端末装置から要求された支払金額Wとトランザクション識別情報IDとしての乱数Rを、実行結果としての署名Sや、各支払い処理後の残高Wr等の情報に対応付けたものである。
【0023】
以下、このような構成からなる電子マネー支払い装置の処理動作例を図2に基づき説明する。
図1における電子マネー支払い装置では、電子マネー端末装置から入力端1,2に、トランザクションの実行指示Tとしての支払い金額W(1a)と、トランザクションを一意に区別できる識別情報IDとしての乱数R(2a)とが入力されると(ステップ201)、履歴管理部7における履歴確認部7aにより、支払い金額Wと乱数R(識別情報ID)をキーにして、履歴情報8を検索し(ステップ202)、同一の金額Wと乱数Rに対応する正常に終了した電子マネー支払い処理が過去に行われているかどうかを確認する(ステップ203)。
【0024】
正常終了した支払いが過去に行われていることが確認された場合には、履歴取得部7bを起動し、履歴情報8から過去の実行結果を取得し(ステップ204)、そうでない場合には、トランザクション実行部3の残高確認部3aを起動して従来のトランザクション処理を実行させる(ステップ206)。
すなわち、ステップ204においては、履歴取得部7bは、入力された支払い金額Wと乱数R(識別情報ID)が同一の署名Sを履歴情報8から読み出し、この署名Sを、出力処理部3cに渡す。
【0025】
出力処理部3cは、予め用意された鍵情報K(4a)と、電子マネーデータC(5a)(ここでは電子マネー支払い装置に予め付与された総額)を有しており、これらの鍵情報K(4a)、電子マネーデータC(5a)と、履歴取得部7bから受け取った署名Sとを、実行結果として、出力端4〜6を介して電子マネー端末装置に送出する(ステップ205)。
【0026】
また、ステップ206においては、まず、トランザクション実行部3における残高確認部3aを起動して、電子マネー端末装置から入力端1,2に入力されたトランザクションの実行指示Tとしての支払い金額W(1a)と、トランザクションを一意に区別できる識別情報IDとしての乱数R(2a)とに対応して、履歴情報8において記録されている残高(Wr)の値に基づき、要求されたトランザクション(支払い処理)を実行し、次に、署名生成部3bを起動し、署名生成部3bにより、予め用意された鍵情報K(4a)を用いて乱数R(2a)に対する署名S(6a)を生成する。
【0027】
このような残高確認部3aと署名生成部3bによる従来のトランザクション処理が正常に終了すると、その実行結果に基づき、履歴管理部7における履歴情報格納処理部7cにより、新たな履歴情報8を生成して登録する(ステップ207)。
この新たな履歴情報8における署名生成部3bで生成された署名Sは、出力処理部3cに渡され、予め用意された鍵情報K(4a)と電子マネーデータC(5a)と共に、実行結果として、出力端4〜6を介して電子マネー端末装置に送出される(ステップ205)。
【0028】
尚、電子マネー端末装置では、このように電子マネー支払い装置から出力されてきた電子マネーデータCを確認し、かつ、鍵情報Kを使って、同じく電子マネー支払い装置から出力されてきた署名Sを検証し、両方とも正常であればトランザクション処理(支払い処理)の完了とする。
【0029】
次に、図3、図4を用いて、本発明に係わる他の例を説明する。
図3は、本発明に係るトランザクション処理装置の他の構成例を示すブロック図であり、図4は、図3におけるトランザクション処理装置で生成される履歴情報の構成例を示す説明図である。
【0030】
図3に示すトランザクション処理装置は、電子マネー支払い装置を、ICカード10を用いて実現したものであり、さらに、本ICカード10は、トラベラーズチェックとして用いられ、図示していない電子マネー端末装置からの支払い要求に対応して電子マネー支払い処理(トランザクション処理)を行う。
【0031】
まず、本ICカード10をトラベラーズチェックとして用いての具体的な取引例について説明する。例えば、トラベラーズチェックの額面を10000円とし、商店からの支払い(要求)金額Wが2000円とすると、トラベラーズチェックの利用者は、この額面10000円のトラベラーズチェックを商店に提示し、その内2000円を商店に支払うと表明するが、これと同様に、本例では、額面10000円の電子マネーデータCを有するICカード10を商店に提示し、その内2000円を支払うと表明するために、商店の電子マネー端末装置から指示された乱数Rに対して、予め用意された鍵情報Kを用いてデジタル署名Sを生成する。
【0032】
尚、実際には、乱数Rと支払い要求金額(W)の2000円の両方を結合したデータに対してデジタル署名Sを生成するものであるが説明を簡単にするために、本例では、乱数Rに対してのみデジタル署名Sを生成するものとする。
以下、図3に基づき、このようなトラベラーズチェックとして利用されるICカード10について説明する。
【0033】
本例のトラベラーズチェックとしてのICカード10は、受信バッファ11(図中「INBUF」と記載)、処理部12、送信バッファ13(図中「OUTBUF」と記載)、そして、EEPROM14を有している。
【0034】
受信バッファ11には、電子マネー端末装置から入力された、トランザクションの実行指示Tとして要求された電子マネー支払い金額W(11a)と、個々の電子マネー支払いの度に電子マネー端末装置において生成されたトランザクション識別情報IDとしての乱数R(11b)とが格納される。
【0035】
処理部12は、CPU(Central Processing Unit)や主メモリ等からなりコンピュータ処理を行うものであり、本発明に係る処理を行なう履歴確認部12a、判定部12b、履歴取得部12c、履歴情報格納処理部12fと、従来のトランザクション処理を行なう残高確認部12d、署名生成部12eとを具備している。
【0036】
送信バッファ13には、予め用意された鍵情報K(13a)とトラベラーズチェックの総額(10000円)としての電子マネーデータC(13b)、および、署名生成部12eで鍵情報K(13a)を用いて生成される署名S(13c)が格納され、これらの情報が、電子マネー端末装置に送信される。
【0037】
EEPROM14は、不揮発性記憶装置であり、残高確認部12dと署名生成部12eでのトランザクション処理(マネー支払い処理)結果に基づき履歴情報格納処理部12fで生成される履歴情報14aを格納する。
【0038】
この履歴情報14aは、図4に示すように、履歴情報テーブル14bとして、図3のEEPROM14上の記憶領域に格納されている。すなわち、履歴情報テーブル14bは、各レコードを識別するためのインデックス番号、実行開始を示す開始フラグ(図中「FS」と記載)、端末装置から要求された支払金額を示す金額W、支払い実行後の残金を示す残高Wr、端末装置から入力されたトランザクション識別情報IDを示す乱数R、実行結果を示す署名S、実行完了を示す完了フラグ(図中「FE」と記載)の各項目からなり、図3におけるICカード10で過去に行われた各電子マネー支払いに関する情報を登録する。
【0039】
本履歴情報テーブル14bにおいては、各項目の初期値は「0」とし、レコード数は固定でn個とし、インデックス番号には、「0」から順に「n−1」までが付与される。
また、開始フラグ(FS)および完了フラグ(FE)は「0」から「n+1」までの値を取る。
【0040】
一般にICカード10上のEEPROM14の記憶容量は、高々十数KB程度であり、全ての履歴情報14aを格納するには不充分であるため、本例では、履歴情報テーブル14bに割り当てられた領域を使い尽くすと、再度、履歴情報テーブル14bの先頭から順次書き換えて使用するものとする。
【0041】
図4に示す履歴情報テーブル14bの例では、インデックス番号#0のレコードにおいては、開始フラグと完了フラグの両方に「1」が、また、金額Wとして「1000(円)」、残高Wrとして「9000(円)」、乱数Rとして「52311」、署名Sとして「BcDxw」が登録され、インデックス番号#1のレコードにおいては、開始フラグと完了フラグの両方に「2」が、金額Wとして「2000(円)」、残高Wrとして「7000(円)」、乱数Rとして「84233」、署名Sとして「YonPQ」が登録されている。
【0042】
本例では、このように、開始フラグと完了フラグの両方に同じ番号が登録されていることにより、当該インデックス番号のレコードに関する支払い処理(トランザクション)が正常に完了したことを示している。そして、支払い処理(トランザクション)が正常に完了しなかった場合には、当該レコードにおける完了フラグ(FE)に、開始フラグ(FS)と異なる値が書き込まれることになる。このように開始フラグ(FS)と完了フラグ(FE)の値が異なる場合には、履歴情報の読み出し時に、記録中の何らかの異常により記録が不完全であることを検出でき、その記録を無効として排除し、完全な記録のみを最後に記録された履歴情報から順に過去に遡って読み出すことができる。
【0043】
図3におけるICカード10では、受信バッファ11に、電子マネー端末装置から、トランザクションの実行指示Tとしての支払い金額W(11a)の要求と、トランザクションを一意に区別できる識別情報ID(乱数R11b)とが入力されると、処理部12における履歴確認部12aにより、支払い金額Wと乱数R(識別情報ID)をキーにして、図4に示す履歴情報テーブル14bを検索し、そして、判定部12bにより、同一の支払い金額Wと乱数Rに対する正常終了した電子マネー支払い処理が過去に行われているかどうかを確認する。
【0044】
ここでは、図4に示す履歴情報テーブル14bに、金額Wと乱数Rが等しく、かつ、開始フラグ(FS)と完了フラグ(FE)の値が等しいという条件を満たす内容であるかどうかを確認する。条件を満たし、同一の支払いが過去に正常に行われていることが確認された場合には、履歴取得部12cを起動し、そうでない場合には、残高確認部12dを起動して従来のトランザクション処理を実行させる。
【0045】
まず、履歴取得部12cでは、上記条件を満たした図4に示す履歴情報テーブル14bにおけるレコードから署名Sを読み出し、送信バッファ13に格納する。
また、残高確認部12dでは、受信バッファ11に格納された支払い金額W(11a)と乱数R(11b)とに対応する支払い処理(トランザクション処理)を行う。
【0046】
この際、残高確認部12dは、図4の履歴情報テーブル14aにおいて最後に記録された電子マネー支払い履歴情報のレコードから順に遡って記録(レコード)を読み出し、要求された支払い金額Wと、このレコードに記録されている現在残高(Wr)とを比較し、支払い金額Wが現在残高(Wr)を下回っていることを確認する。
【0047】
尚、レコードに一度も履歴情報を記録した形跡がなければ、現在残高Wrは、電子マネーデータCの額面(トラベラーズチェックの総額としての10000円)と等しいものとなる。
また、この残高確認部12dによる、レコードに最後に記録された電子マネー支払い履歴情報のインデックス番号の取得は、以下のようにして行う。
【0048】
まず、仮のインデックス番号として末尾のレコードのインデックス番号を設定した上で、先頭レコードから順に、開始フラグ(FS)と完了フラグ(FE)を読み出し、両フラグがともに「0」である、もしくは、両フラグの間で値が異なる、もしくはフラグの値から1減じた値(減じた結果が「0」の場合は「n+1」と読み替える)と直前のレコード(先頭レコードの場合は末尾のレコード)の開始フラグ(FS)の値が等しくない、のいずれかの場合には、現在の仮のインデックス値を、最後に書き込まれたレコードのインデックス番号とし、さもなくば現在のレコードのインデックス値を仮のインデックス値に設定し、次のレコードに対して同様の処理を行う。
【0049】
この処理を繰り返してレコードの末尾に達した場合には、その末尾のレコードを、最後に書き込まれたレコードであるとする。
このようにして、残高確認部12dの処理が終了すると、署名生成部12eにより、予め登録された鍵情報K(13a)を用いて、乱数R(11b)に対する署名S(13c)を生成し、送信バッファ13に格納する。
【0050】
尚、図3のICカード10においては、図示していない実行結果生成部により、予め記録しておいた電子マネーデータC(額面10000円)と鍵情報K、および、この鍵情報Kを用いて署名生成部12で生成された、あるいは、履歴取得部12cで取得された署名Sとをあわせて送信データを完成させ、送信バッファ13に格納する。
【0051】
この送信データは、送信バッファ13から電子マネー端末装置に送信され、電子マネー端末装置では、このようにICカード10から出力されてきた電子マネーデータCを確認し、かつ、鍵情報Kを用いて、同じくICカード10から出力されてきた署名Sを検証し、両方が正常であればトランザクション処理(支払い処理)の完了とする。
【0052】
上述のようにして残高確認部12dと署名生成部12eとによる実行処理が終了すると、次にICカード10は、履歴情報格納処理部12fにより、実行処理に基づき履歴情報14aを生成し、図4における履歴情報テーブル14bに記録する。
【0053】
すなわち、履歴情報格納処理部12fは、支払い金額W、支払い直後の現在残高Wr、電子マネー端末装置より受信した乱数R、署名生成部12eにより生成された署名Sからなる電子マネー支払い履歴情報を、残高確認部12dで読み出したレコードの次のレコードに記録する。
【0054】
この際、履歴情報格納処理部12fは、残高確認部12dで読み出したレコードの開始フラグ(FS)の値に「1」加えたもの(加えた結果がn+1を超えた場合は「1」に読み替える)を、このレコードの開始フラグ(FS)および完了フラグ(FE)に設定する。
尚、ICカード上のEEPROM14におけるレコードの記憶領域は限られており、残高確認部12dで読み出したレコードが末尾レコードであれば、履歴情報格納処理部12fは、先頭レコードに対して記録を行う。このようにすることで、限られたレコードの記憶領域を繰り返し使用することができる。
【0055】
このように、限られたレコードの記憶領域を繰り返し使用する動作を、図5〜図7に示す具体的な例を用いて説明する。
図5は、図3における履歴情報を登録した履歴情報テーブルの第1の構成例を示す説明図であり、図6は、図3における履歴情報を登録した履歴情報テーブルの第2の構成例を示す説明図、図7は、図3における履歴情報を登録した履歴情報テーブルの第3の構成例を示す説明図である。
【0056】
本例では、登録可能なレコード数を「4」としており、図5(a)の履歴情報テーブル14cは、3回の書き込みが行われた例を示している。この状態で4回目の書き込みを行うには、先頭から順に開始フラグ(FS)と完了フラグ(FE)を検索する。ここでは、インデックス番号3のレコードにおける開始フラグ(FS)と完了フラグ(FE)が「0」となっており、このことから、インデックス番号2のレコードが、最後に書き込まれたレコードであることが分かる。従って、4回目の書き込みは、インデックス番号3のレコードに対して行う。
この結果が、図6の履歴情報テーブル14dに示す状態である。
【0057】
この状態で、さらに、5回目の書き込みを行う場合、同様に、先頭のレコードから順に開始フラグ(FS)と完了フラグ(FE)を検索するが、ここでは、「両フラグ共に0、もしくは両フラグの値が異なる、もしくは、両フラグの値から1減じた値と直前のレコードのフラグの値とが異なる」という条件に合致するものがない。従って、インデックス番号3のレコードが最後に書き込まれたものとして判断し、先頭のインデックス番号0のレコードに対して書き込みを行う。
この結果が、図7の履歴情報テーブル14eに示す状態である。
【0058】
この状態で、さらに、6回目の書き込みを行う場合、同様に、先頭のレコードから順に開始フラグ(FS)と完了フラグ(FE)を検索するが、ここでは、インデックス番号1のレコードに対する検索の時点で、「フラグの値から1減じた値と直前のレコードのフラグの値とが異なる」という条件に合致するので、インデックス番号0のレコードが最後に書き込まれたものとして判断でき、インデックス番号1のレコードに対して書き込みを行う。
【0059】
このような、図5〜図7に示す各履歴情報テーブル14c〜14eにおいて、書き込みが不完全で処理が途中で停止された場合、開始フラグ(FS)と完了フラグ(FE)の値は異なるものが書き込まれており、このことにより、各インデックス番号におけるレコードに対する処理が不完全かどうかの判定を行うことができる。
【0060】
以上、図3における例では、履歴情報を記録する記録装置に十分な記憶容量がない場合で説明したが、大容量の記憶装置を内蔵したICカードなどを用いる場合には、履歴情報の記憶領域に十分な空間が用意でき、テーブル領域を繰り返し使用する必要がなくなる。この場合、図3の履歴確認部12aにおいて、履歴情報14として最後に記録された電子マネー支払履歴情報のレコードのインデックス番号を得るには以下のように2分木探索法を用いて行う。
【0061】
ここで、開始フラグ(FS)および完了フラグ(FE)の値は「0」もしくは「1」のいずれかであり、この値が「0」の場合は、このレコードには何も記録されていないと判断する。
まず、二つの変数A,Bを用意し、変数Aに、先頭レコードのインデックスの値、変数Bには末尾レコードのインデックスに「1」を加えた値で初期化する。
【0062】
「値(A+B)÷2」で指し示されるレコードの開始フラグ(FS)および完了フラグ(FE)の値が互いに異なる、もしくは「値(A+B)÷2」で指し示されるレコードの両フラグが「1」であり、かつその次のレコードの両フラグがともに「0」であるかどうかを検査し、そのような条件に合致した場合、変数Aが最後に記録されたレコードのインデックスである。さもなくば、「値(A+B)÷2」で指し示されるレコードの両フラグが「1」の場合は変数Aに「値(A+B)÷2」を、また、両フラグが「0」の場合は変数Bに「値(A+B)÷2」を代入して、再度前述の検査を行う。
【0063】
変数A,Bの値がレコードの末尾に達した場合には、その末尾のレコードこそが、最後に書き込まれたレコードであるとする。
このようにして履歴確認部12aで読み出した最後に書き込まれたレコードの次のレコード(最後に書き込まれたレコードが末尾のレコードであれば先頭のレコード)に、電子マネー支払い履歴情報を記録する際に、このレコードの開始フラグ(FS)および完了フラグ(FE)には値「1」を設定する。
【0064】
本例では、図3〜図7を用いて説明した例のように限られた記憶領域を繰り返し使用することはできないので、全ての領域を使い尽くした場合には、一旦記憶内容を全て消去し、開始フラグ(FS)および完了フラグ(FE)の値を「0」に設定する必要がある。
【0065】
以上、図1〜図7を用いて説明したように、本例のトランザクション処理装置と方法およびトランザクション処理機能付きICカードでは、実行したトランザクションに関して、実行指示T(支払い金額W)と識別情報ID(乱数R)に対応付けて、その実行結果(署名S)を、正常に処理完了したか否かを示す指標(開始フラグ(FS)と完了フラグ(FE))を付与し、履歴情報として、EEPROM等の記憶装置に記録しておく。
【0066】
そして、端末装置から入力されるトランザクションの実行指示T(支払い金額W)と識別情報ID(乱数R)とに基づき、記録されている実行履歴情報を検索して、同一の支払い金額W(実行指示T)と乱数R(識別情報ID)とに対応する正常終了した実行結果(署名S)の有無を判別する。あれば、当該実行結果(署名S)を記憶装置から読み出して端末装置に出力し、なければ、入力された実行指示T(支払い金額W)と識別情報ID(乱数R)とに基づく新規のトランザクションを実行して、その実行結果(署名S)を端末装置に出力すると共に、その新規のトランザクションに関しての履歴情報を生成して記憶装置に記録する。
【0067】
このように、本例では、履歴情報の記録が行われた全てのトランザクションの履歴情報が記録されるが、正常に終了したトランザクション処理結果のみがトランザクション実行指示Tおよび識別情報IDに基づき参照可能となっており、記録が不完全に行われた履歴情報は読み出されないようになっている。
【0068】
このことにより、トランザクション処理装置が何らかの理由により、トランザクションの実行動作が成功したにもかかわらず、そのトランザクション実行後のデータや実行結果の記録が不完全に終わり、かつ、実行結果の端末装置への送信が不完全に終わった場合には、端末装置から再度、同一のトランザクション実行指示Tと識別情報IDが入力されても、対応するトランザクションと同一のものは過去に実行されていないものと判断され、全く新規のトランザクションが要求されたものとして、トランザクションを実行して、実行結果を端末装置へ出力するので、従来技術で発生していた、データ項目の一貫性が失われるという問題を回避できる。
【0069】
また、本例においては、端末装置は、トランザクション処理装置から出力されたトランザクション実行結果の受信に失敗した場合、再度同一のトランザクション実行指示Tおよび識別情報IDをトランザクション処理装置へ入力し、出力される実行結果を受信すれば良く、また、トランザクション処理装置上では、同一のトランザクション実行指示Tおよび識別情報IDに対するトランザクションは、高々1度しかトランザクション処理装置内で発生しないため、従来は端末装置に特別の手段が必要になるという問題や、データ項目の一貫性が失われるという問題を回避できる。
【0070】
また、本例においては、複数のトランザクションの実行結果を記録し読み出せるようになっているので、従来のように、トランザクションを実行する度にトランザクションの実行結果が消去されて新しいものに書き換えられ、直前に実行したトランザクションの実行結果しか端末装置は取得できず、例えば、端末装置が複数あり、ある端末装置に対するトランザクション実行結果の送信が失敗したにも係わらず、他の端末装置に対してトランザクションを実行してしまうと、前者の端末装置へ実行結果を再度送信することができなくなってしまうといった問題を回避できる。
【0071】
さらに、本例では、各トランザクション実行毎の実行指示Tや識別情報ID、データ項目等の情報と共に、実行結果を記憶装置へ書き込むので、実行結果の消去操作が不要であり、例えば、各情報の書込み操作を一度の書込み操作で済むように最適化することにより、EEPROM等の記憶装置への操作回数は1回で済むことになる。これにより固定的な所要時間を大幅に削減できる。
【0072】
尚、本発明は、図1〜図7を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、トラベラーズチェックとして利用されるICカード等を用いた電子マネー支払いに係わるトランザクション処理を例に説明したが、電子カード(財布機能)などの他の電子マネー技術等にも適用可能である。
【0073】
【発明の効果】
本発明によれば、ICカード等からなるトランザクション処理装置とそれを制御する端末装置との間の通信の途絶や、トランザクション処理装置の処理途中での動作停止が起きた場合にも、トランザクション処理装置に格納されている内部データの一貫性の喪失を確実に防止でき、さらにトランザクション処理装置内部のEEPROM等からなる記憶装置への操作回数を削減することができ、トランザクション処理時間の短縮を図ることが可能である。
【図面の簡単な説明】
【図1】本発明に係るトランザクション処理装置の構成例を示すブロック図である。
【図2】図1におけるトランザクション処理装置の本発明に関わる処理動作例を示すフローチャートである。
【図3】本発明に係るトランザクション処理装置の他の構成例を示すブロック図である。
【図4】図3におけるトランザクション処理装置で生成される履歴情報の構成例を示す説明図である。
【図5】図3における履歴情報を登録した履歴情報テーブルの第1の構成例を示す説明図である。
【図6】図3における履歴情報を登録した履歴情報テーブルの第2の構成例を示す説明図である。
【図7】図3における履歴情報を登録した履歴情報テーブルの第3の構成例を示す説明図である。
【符号の説明】
1:入力端1(「IW」)、1a:支払い金額W、2:入力端(「IR」)、2a:乱数R、3:トランザクション実行部、3a:残高確認部、3b:署名生成部、3c:出力処理部、4:出力端(「OK」)、4a:鍵情報K、5:出力端(「OC」)、5a:電子マネーデータC、6:出力端(「OS」)、6a:署名S、7:履歴管理部、7a:履歴確認部、7b:履歴取得部、7c:履歴情報格納処理部、8:履歴情報、10:ICカード、11:受信バッファ(「INBUF」)、11a:支払い金額W、11b:乱数R、12:処理部、12a:履歴確認部、12b:判別部、12c:履歴取得部、12d:残高確認部、12e:署名生成部、12f:履歴情報格納処理部、13:送信バッファ(「OUTBUF」)、13a:鍵情報K、13b:電子マネーデータC、13c:署名S、14:EEPROM、14a:履歴情報、14b〜14e:履歴情報テーブル。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a transaction processing technique in an electronic money transaction system or the like using an IC card (Integrated Circuit card), and more particularly to a transaction processing apparatus and method suitable for improving the reliability and performance of transaction processing, and the transaction. The present invention relates to an IC card with a processing function.
[0002]
[Prior art]
Transaction processing in electronic commerce (Electronic Commerce, EC, etc.) that conducts commerce using a computer, for example, when paying using an IC card as a traveler's check, installed in the IC card and store The following transaction processing is performed with the terminal device.
[0003]
An IC card as a transaction processing device receives a payment request for the amount W (transaction execution instruction T) and an identification information ID (random number R generated by the terminal device) that can uniquely distinguish the transaction from a terminal device on the store side. Is input, the transaction W instructed by the execution instruction T (payment of the amount W) is executed with reference to the remaining balance Wr (data item S) recorded in advance, and the data item S (remaining amount Wr) is updated. Then, the key information K stored in advance, the signature S encrypted with the key information K, the total amount of traveler's check (electronic money data C), and the like are output to the terminal device on the store side as the transaction execution result.
[0004]
In the terminal device on the store side, the electronic money data C output from the IC card (transaction processing device) is confirmed in this way, and the signature S also output from the IC card is obtained using the key information K. If both are normal, transaction processing (payment processing) is completed.
[0005]
In order to perform such processing, the transaction processing device includes storage units M1, M2,..., Mn for recording data items S1, S2,. Is provided. At the start of transaction execution, the contents of the storage unit MR (the previous execution result) are first erased, and then the data items S1, S2,..., Stored in the storage units M1, M2,. A transaction is executed using the value of Sn. Further, after the execution, the updated values of S1, S2,..., Sn are recorded in the storage units M1, M2,..., Mn, and new execution results are recorded in the storage unit MR, and then the execution results. Is output to the terminal device.
[0006]
However, various problems occur in such a transaction processing system. For example, the first defect is as follows. That is, in the transaction processing device, the value of the data item S1, S2,..., Sn after execution of the transaction is stored in the storage units M1, M2,. If a problem occurs in the operation and writing of data items to the storage units M1, M2,..., Mn is incomplete, or a problem occurs while storing the value of the transaction execution result in the storage unit MR. In some cases, the writing of the execution result is incomplete, and the transmission of the execution result to the terminal device is incomplete.
[0007]
In such a case, data consistency of the transaction processing device is lost. That is, the data items S1, S2,..., Sn stored in the storage units M1, M2,..., Mn and the execution result values stored in the storage unit MR are updated based on the execution of the transaction. What is completed and what is not completed are mixed, and consistency between data items is lost. Furthermore, in this case, the value cannot be returned to the state before the execution of the transaction. Further, since the execution result of the transaction is not completely recorded in the storage unit MR, the execution result cannot be acquired even if the contents of the storage unit MR of the transaction processing device are read on the terminal device side.
[0008]
The second problem is as follows. That is, if the terminal device side cannot receive the value of the execution result from the transaction processing device, it checks whether or not the execution result of the transaction is recorded in the storage unit MR, and stores it from the transaction execution device based on the result. It is necessary to determine whether the value of the part MR should be read or whether the execution result should be obtained by giving the transaction execution instruction T and the identification information ID again, and accordingly, a special function must be provided on the terminal device side There is.
[0009]
If the terminal device again instructs the transaction processing device to execute the transaction without making such a determination, the same transaction may be repeated twice in the transaction processing device. become. In this case, since the transaction is executed only once on the terminal device, consistency is lost.
[0010]
Further, the third problem is as follows. That is, in the transaction processing device, the contents (execution results) of the storage unit MR are erased each time a transaction is executed, and are rewritten to a new one. Therefore, the terminal device can acquire only the execution result of the transaction executed immediately before. . Therefore, when there are multiple terminal devices, if a transaction is executed for another terminal device even though the transmission of the transaction execution result to a certain terminal device has failed, it will be executed to the former terminal device. The result cannot be sent again.
[0011]
In addition, there are the following cases as defects of the prior art. That is, for a single transaction, operations such as erasing the storage unit MR, rewriting the storage units M1, M2,..., Mn, and writing the storage unit MR are required in the transaction apparatus. This is inconvenient when an IC card is used for transaction processing.
[0012]
This is because the IC card generally uses a storage device called EEPROM (Electrically Erasable Programmable Read Only Memory), but this EEPROM requires a fixed time for each write operation regardless of the amount of data to be written. This required time is about 55 milliseconds in the case of a typical IC card. Compared with the data writing speed of about 15 microseconds per byte, this required time is a heavy burden.
[0013]
In order to deal with such problems, the arrangement order of the storage areas (storage units M1, M2,..., Mn and storage unit MR) on the actual storage device is optimized, and these values can be rewritten by a single write operation. It can be optimized to finish. However, even if such optimization is performed, the operation of erasing the storage portion MR is still required, so that the number of operations to the storage device (EEPROM) is required at least twice.
[0014]
[Problems to be solved by the invention]
The problems to be solved are stored in the transaction processing device in the conventional technology when the communication between the transaction processing device and the terminal device is interrupted or when the operation of the transaction processing device is stopped. That is, it is impossible to reliably prevent the consistency of internal data being lost, and it is not possible to reduce the number of operations to the storage means in the transaction processing apparatus.
[0015]
An object of the present invention is to provide a transaction processing apparatus and method, and an IC card with a transaction processing function, which can solve these problems of the prior art and improve the reliability and processing speed of transaction processing. is there.
[0016]
[Means for Solving the Problems]
In order to achieve the above object, in the transaction processing apparatus and method and the IC card with transaction processing function of the present invention, with respect to the executed transaction, the execution result is normally displayed in association with the requested execution instruction T and the identification information ID. An index (start flag, completion flag, etc.) indicating whether or not the process is completed is assigned and recorded as history information. Thereafter, when the transaction execution instruction T and the identification information ID are input from the terminal device, the recorded history information is searched based on these information, and the normal corresponding to the input execution instruction T and the identification information ID Determine whether there is an execution result that has ended. If there is, the execution result is read and output to the terminal device. If not, a new transaction based on the input execution instruction T and identification information ID is executed, and the execution result is output to the terminal device. As historical information.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing a configuration example of a transaction processing apparatus according to the present invention, and FIG. 2 is a flowchart showing an example of processing operation related to the present invention of the transaction processing apparatus in FIG.
[0018]
The transaction processing apparatus shown in FIG. 1 uses an electronic money payment apparatus as an example. This electronic money payment apparatus corresponds to a payment request from an electronic money terminal apparatus (not shown). I do.
[0019]
The electronic money payment apparatus of this example includes an input terminal 1 (denoted as “IW” in the figure), an input terminal 2 (denoted as “IR” in the figure), a
[0020]
An electronic money payment amount W (1a) requested as an execution instruction T of a transaction from the electronic money terminal device is input to the
[0021]
The
[0022]
The
[0023]
Hereinafter, a processing operation example of the electronic money payment apparatus having such a configuration will be described with reference to FIG.
In the electronic money payment apparatus in FIG. 1, a payment amount W (1a) as a transaction execution instruction T and a random number R (as identification information ID for uniquely identifying a transaction) are input to the
[0024]
When it is confirmed that the payment that has been normally completed has been made in the past, the
That is, in
[0025]
The
[0026]
In
[0027]
When the conventional transaction processing by the
The signature S generated by the signature generation unit 3b in this
[0028]
The electronic money terminal device confirms the electronic money data C output from the electronic money payment device as described above, and uses the key information K to obtain the signature S output from the electronic money payment device. If both are normal, transaction processing (payment processing) is completed.
[0029]
Next, another example according to the present invention will be described with reference to FIGS.
FIG. 3 is a block diagram showing another configuration example of the transaction processing apparatus according to the present invention, and FIG. 4 is an explanatory diagram showing a configuration example of history information generated by the transaction processing apparatus in FIG.
[0030]
The transaction processing device shown in FIG. 3 is an electronic money payment device realized by using an
[0031]
First, a specific transaction example using the
[0032]
In practice, the digital signature S is generated for data obtained by combining both the random number R and the payment request amount (W) of 2000 yen. However, in order to simplify the explanation, in this example, the random number is used. Assume that a digital signature S is generated only for R.
Hereinafter, the
[0033]
The
[0034]
In the
[0035]
The
[0036]
The
[0037]
The
[0038]
As shown in FIG. 4, the
[0039]
In the history information table 14b, the initial value of each item is “0”, the number of records is fixed, n, and index numbers from “0” to “n−1” are assigned in order.
The start flag (FS) and the completion flag (FE) take values from “0” to “n + 1”.
[0040]
Generally, the storage capacity of the
[0041]
In the example of the history information table 14b shown in FIG. 4, in the record with the
[0042]
In this example, the same number is registered in both the start flag and the completion flag as described above, which indicates that the payment process (transaction) relating to the record of the index number has been normally completed. When the payment process (transaction) is not normally completed, a value different from the start flag (FS) is written in the completion flag (FE) in the record. When the values of the start flag (FS) and the completion flag (FE) are different as described above, it is possible to detect that recording is incomplete due to some abnormality during recording when reading history information, and invalidate the recording. It is possible to eliminate only the complete record and to read it back in order from the last recorded history information.
[0043]
In the
[0044]
Here, it is confirmed in the history information table 14b shown in FIG. 4 whether or not the content satisfies the condition that the amount W and the random number R are equal and the values of the start flag (FS) and the completion flag (FE) are equal. . If the conditions are met and it is confirmed that the same payment has been made normally in the past, the
[0045]
First, the
Further, the
[0046]
At this time, the
[0047]
If there is no record of history information recorded in the record, the current balance Wr is equal to the face value of electronic money data C (10,000 yen as the total amount of traveler's check).
The
[0048]
First, after setting the index number of the last record as a temporary index number, the start flag (FS) and the completion flag (FE) are read in order from the first record, and both flags are “0”, or The value differs between the two flags, or the value obtained by subtracting 1 from the flag value (if the subtraction result is “0”, it will be read as “n + 1”) and the previous record (the last record in the case of the first record) If the value of the start flag (FS) is not equal, the current temporary index value is set to the index number of the last written record, otherwise the current record index value is set to the temporary value. The index value is set and the same processing is performed for the next record.
[0049]
If this process is repeated and the end of the record is reached, it is assumed that the end record is the last written record.
When the processing of the
[0050]
In the
[0051]
The transmission data is transmitted from the
[0052]
When the execution processing by the
[0053]
That is, the history information
[0054]
At this time, the history information
The record storage area in the
[0055]
Thus, the operation | movement which repeatedly uses the storage area of a limited record is demonstrated using the specific example shown in FIGS.
FIG. 5 is an explanatory diagram showing a first configuration example of the history information table in which history information is registered in FIG. 3, and FIG. 6 is a second configuration example of the history information table in which history information is registered in FIG. FIG. 7 is an explanatory diagram illustrating a third configuration example of the history information table in which the history information in FIG. 3 is registered.
[0056]
In this example, the number of records that can be registered is “4”, and the history information table 14c in FIG. 5A shows an example in which writing is performed three times. To perform the fourth writing in this state, the start flag (FS) and the completion flag (FE) are searched in order from the top. Here, the start flag (FS) and the completion flag (FE) in the record with
This result is the state shown in the history information table 14d of FIG.
[0057]
In this state, when the fifth write is performed, similarly, the start flag (FS) and the completion flag (FE) are searched in order from the first record. Here, “both flags are 0 or both flags Is different, or the value obtained by subtracting 1 from both flag values is different from the flag value of the immediately preceding record ”. Therefore, it is determined that the record with
This result is the state shown in the history information table 14e of FIG.
[0058]
In this state, when the sixth writing is further performed, similarly, the start flag (FS) and the completion flag (FE) are searched in order from the first record. Here, the search time point for the record of
[0059]
In each of the history information tables 14c to 14e shown in FIGS. 5 to 7, when the writing is incomplete and the process is stopped halfway, the values of the start flag (FS) and the completion flag (FE) are different. Thus, it is possible to determine whether or not the processing for the record at each index number is incomplete.
[0060]
As described above, the example in FIG. 3 has been described in the case where the recording device for recording history information does not have a sufficient storage capacity. However, when an IC card or the like incorporating a large-capacity storage device is used, a history information storage area is used. Sufficient space can be prepared, and the table area need not be used repeatedly. In this case, in the
[0061]
Here, the value of the start flag (FS) and the completion flag (FE) is either “0” or “1”. If this value is “0”, nothing is recorded in this record. Judge.
First, two variables A and B are prepared, and the variable A is initialized with the index value of the first record, and the variable B is initialized with a value obtained by adding “1” to the index of the last record.
[0062]
The value of the start flag (FS) and completion flag (FE) of the record indicated by “value (A + B) ÷ 2” are different from each other, or both flags of the record indicated by “value (A + B) ÷ 2” are “ If it is “1” and both flags of the next record are “0”, and if such a condition is met, the variable A is the index of the last recorded record. Otherwise, if both flags of the record pointed to by “value (A + B) ÷ 2” are “1”, “value (A + B) ÷ 2” is set in variable A, and if both flags are “0” Substitutes “value (A + B) / 2” for variable B and performs the above-described inspection again.
[0063]
When the values of the variables A and B reach the end of the record, it is assumed that the last record is the last written record.
When the electronic money payment history information is recorded in the record next to the last written record read by the
[0064]
In this example, the limited storage area cannot be used repeatedly as in the example described with reference to FIGS. 3 to 7. Therefore, when all the areas are used up, the entire storage contents are once erased. The values of the start flag (FS) and the completion flag (FE) need to be set to “0”.
[0065]
As described above with reference to FIGS. 1 to 7, in the transaction processing apparatus and method and the IC card with transaction processing function of this example, the execution instruction T (payment amount W) and identification information ID ( In association with the random number R), the execution result (signature S) is given an index (start flag (FS) and completion flag (FE)) indicating whether or not the processing has been normally completed, and the history information is EEPROM. And so on.
[0066]
Then, based on the transaction execution instruction T (payment amount W) and the identification information ID (random number R) input from the terminal device, the recorded execution history information is searched, and the same payment amount W (execution instruction) T) and the presence or absence of a successful execution result (signature S) corresponding to the random number R (identification information ID). If there is, the execution result (signature S) is read from the storage device and output to the terminal device. Otherwise, a new transaction based on the input execution instruction T (payment amount W) and identification information ID (random number R) Is executed and the execution result (signature S) is output to the terminal device, and history information regarding the new transaction is generated and recorded in the storage device.
[0067]
As described above, in this example, history information of all transactions for which history information has been recorded is recorded, but only the transaction processing result that has been normally completed can be referred to based on the transaction execution instruction T and the identification information ID. Thus, history information that has been recorded incompletely is not read out.
[0068]
As a result, even though the transaction processing device has been successfully executed for some reason, the recording of data and execution results after the execution of the transaction is incomplete, and the execution results are recorded in the terminal device. If the transmission is incomplete, even if the same transaction execution instruction T and identification information ID are input again from the terminal device, it is determined that the same transaction as the corresponding transaction has not been executed in the past. Assuming that a completely new transaction is requested, the transaction is executed and the execution result is output to the terminal device, so that it is possible to avoid the problem of loss of data item consistency, which occurred in the prior art.
[0069]
In this example, if the terminal apparatus fails to receive the transaction execution result output from the transaction processing apparatus, the terminal apparatus inputs the same transaction execution instruction T and the identification information ID again to the transaction processing apparatus and outputs them. It is only necessary to receive the execution result, and on the transaction processing device, a transaction for the same transaction execution instruction T and identification information ID is generated only once in the transaction processing device. This avoids the problem of requiring measures and the inconsistency of data items.
[0070]
In this example, since the execution results of a plurality of transactions can be recorded and read, the transaction execution results are erased and rewritten with a new one each time a transaction is executed, Only the execution result of the transaction executed immediately before can be acquired by the terminal device. For example, there are a plurality of terminal devices, and the transmission of the transaction execution result to a certain terminal device has failed, If executed, it is possible to avoid the problem that the execution result cannot be transmitted again to the former terminal device.
[0071]
Furthermore, in this example, since the execution result is written to the storage device together with information such as the execution instruction T, identification information ID, and data item for each transaction execution, there is no need to delete the execution result. By optimizing the write operation so that only one write operation is required, the number of operations to a storage device such as an EEPROM can be reduced to one. This can significantly reduce the fixed time required.
[0072]
In addition, this invention is not limited to the example demonstrated using FIGS. 1-7, A various change is possible in the range which does not deviate from the summary. For example, in this example, transaction processing related to electronic money payment using an IC card or the like used as a traveler's check has been described as an example, but it can also be applied to other electronic money technologies such as an electronic card (wallet function). It is.
[0073]
【The invention's effect】
According to the present invention, even when communication between a transaction processing device composed of an IC card or the like and a terminal device that controls the transaction processing device is interrupted, or when an operation is stopped during the processing of the transaction processing device, the transaction processing device It is possible to reliably prevent the consistency of internal data stored in the memory, and to reduce the number of operations to a storage device such as an EEPROM in the transaction processing device, thereby shortening the transaction processing time. Is possible.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration example of a transaction processing apparatus according to the present invention.
FIG. 2 is a flowchart showing an example of processing operation related to the present invention of the transaction processing apparatus in FIG. 1;
FIG. 3 is a block diagram showing another configuration example of the transaction processing apparatus according to the present invention.
4 is an explanatory diagram showing a configuration example of history information generated by the transaction processing apparatus in FIG. 3; FIG.
FIG. 5 is an explanatory diagram showing a first configuration example of a history information table in which history information is registered in FIG. 3;
6 is an explanatory diagram illustrating a second configuration example of a history information table in which history information in FIG. 3 is registered. FIG.
7 is an explanatory diagram showing a third configuration example of a history information table in which history information in FIG. 3 is registered. FIG.
[Explanation of symbols]
1: input terminal 1 (“IW”), 1a: payment amount W, 2: input terminal (“IR”), 2a: random number R, 3: transaction execution unit, 3a: balance confirmation unit, 3b: signature generation unit, 3c: output processing unit, 4: output terminal (“OK”), 4a: key information K, 5: output terminal (“OC”), 5a: electronic money data C, 6: output terminal (“OS”), 6a : Signature S, 7: History management unit, 7a: History confirmation unit, 7b: History acquisition unit, 7c: History information storage processing unit, 8: History information, 10: IC card, 11: Reception buffer (“INBUF”), 11a: payment amount W, 11b: random number R, 12: processing unit, 12a: history confirmation unit, 12b: discrimination unit, 12c: history acquisition unit, 12d: balance confirmation unit, 12e: signature generation unit, 12f: history information storage Processing unit, 13: transmission buffer (“OUTBUF”), 13a: Information K, 13b: electronic money data C, 13c: signing S, 14: EEPROM, 14a: historical information, 14b-14e: history information table.
Claims (3)
上記端末装置からのトランザクションの実行指示と識別情報に基づいて実行したトランザクションの実行結果および該トランザクションの実行を開始したことを示す開始情報と該トランザクションの実行結果の上記端末装置への送信が完了して該トランザクションの処理が正常に終了したか否かを示す完了情報を、上記トランザクションの実行指示と識別情報に対応付けた履歴情報を記憶装置に順次に記録する履歴情報格納手段と、
上記端末装置からのトランザクションの実行指示と識別情報に一致し、かつ、上記完了情報が正常終了を示したトランザクションの実行結果の有無を上記履歴情報格納手段で記録した履歴情報を探索して判別する履歴確認手段と、
上記端末装置からのトランザクションの実行指示と識別情報に一致し、かつ、上記完了情報が正常終了を示したトランザクションの実行結果があれば該トランザクションの実行結果を読み出して上記端末装置に出力する履歴取得手段と、
上記端末装置からのトランザクションの実行指示と識別情報に一致し、かつ、上記完了情報が正常終了を示したトランザクションの実行結果がなければ、上記端末装置からのトランザクションの実行指示と識別情報に基づくトランザクションを実行し、該トランザクションの実行結果を上記端末装置に出力するトランザクション実行手段とを有し、
該トランザクション実行手段によるトランザクションの実行結果および該トランザクションに対する上記開始情報と上記完了情報を上記履歴情報格納手段により上記履歴情報として上記記憶装置に記録することを特徴とするトランザクション処理装置。A transaction processing device that executes a requested transaction based on a transaction execution instruction from a terminal device and identification information that can uniquely identify the transaction,
The transmission of the execution result of the transaction executed based on the transaction execution instruction and the identification information from the terminal device, the start information indicating that the execution of the transaction has started, and the execution result of the transaction to the terminal device is completed. History information storage means for sequentially recording in the storage device history information associated with the transaction execution instruction and identification information, indicating completion information indicating whether or not the transaction processing has been normally completed ;
Matches execution instruction identification information of the transaction from the terminal device, and determines whether the execution result of the transaction in which the complete information is indicates successful completion searches the history information recorded in the history information storage unit History checking means,
It matches execution instruction identification information of the transaction from the terminal device, and to read out the execution result of the transaction is output to the terminal device if there is an execution result of the transaction which the complete information is shows the normal end History acquisition means;
It matches execution instruction identification information of the transaction from the terminal device, and, if there is the execution result of the transaction which the complete information is indicates successful, based on the execution instruction and the identification information of the transaction from the terminal device Transactions Transaction execution means for outputting the execution result of the transaction to the terminal device ,
Transaction processing apparatus according to claim record to Rukoto in the storage device as the history information by the transaction execution means the execution result of the transactions by and the start information and the history information storage unit the complete information for the transaction.
上記端末装置からのトランザクションの実行指示と識別情報に基づいて実行したトランザクションの実行結果および該トランザクションの実行を開始したことを示す開始情報と該トランザクションの実行結果の上記端末装置への送信が完了して該トランザクションの処理が正常に終了したか否かを示す完了情報を、上記トランザクションの実行指示と識別情報に対応付けた履歴情報を記憶装置に順次に記録する第1のステップと、
上記端末装置からのトランザクションの実行指示と識別情報に一致し、かつ、上記完了情報が正常終了を示したトランザクションの実行結果の有無を上記第1のステップで上記記録装置に記録した履歴情報を探索して判別する第2のステップと、
上記端末装置からのトランザクションの実行指示と識別情報に一致し、かつ、上記完了情報が正常終了を示したトランザクションの実行結果があれば該トランザクションの実行結果を読み出して上記端末装置に出力する第3のステップと、
上記端末装置からのトランザクションの実行指示と識別情報に一致し、かつ、上記完了情報が正常終了を示したトランザクションの実行結果がなければ、上記端末装置からのトランザクションの実行指示と識別情報に基づくトランザクションを実行し、該トランザクションの実行結果を上記端末装置に出力する第4のステップとを有し、
該第4のステップでの処理によるトランザクションの実行結果および該トランザクションに対する上記開始情報と上記完了情報を上記第1のステップでの処理により上記履歴情報として上記記憶装置に記録することを特徴とするトランザクション処理方法。A transaction processing method of a transaction processing apparatus that executes a requested transaction based on a transaction execution instruction from a terminal device and identification information that can uniquely distinguish the transaction,
The transmission of the execution result of the transaction executed based on the transaction execution instruction and the identification information from the terminal device, the start information indicating that the execution of the transaction has started, and the execution result of the transaction to the terminal device is completed. A first step of sequentially recording completion information indicating whether or not the processing of the transaction has been normally completed in a storage device with history information associated with the execution instruction of the transaction and the identification information;
Matches execution instruction identification information of the transaction from the terminal device, and searches the history information recorded in the recording apparatus whether the execution result of the transaction in which the complete information is indicates successful completion in the first step A second step of determining
It matches execution instruction identification information of the transaction from the terminal device, and to read out the execution result of the transaction is output to the terminal device if there is an execution result of the transaction which the complete information is shows the normal end A third step;
It matches execution instruction identification information of the transaction from the terminal device, and, if there is the execution result of the transaction which the complete information is indicates successful, based on the execution instruction and the identification information of the transaction from the terminal device Transactions And a fourth step of outputting the execution result of the transaction to the terminal device ,
And wherein the record to Rukoto in the storage device as the history information transaction execution result by the processing in step of said 4 and the start information and the completion information to said transaction by treatment in the first step Transaction processing method.
上記端末装置からのトランザクションの実行指示と識別情報に基づいて実行したトランザクションの実行結果および該トランザクションの実行を開始したことを示す開始情報と該トランザクションの実行結果の上記端末装置への送信が完了して該トランザクションの処理が正常に終了したか否かを示す情報を、上記トランザクションの実行指示と識別情報に対応付けた履歴情報を記憶装置に順次に記録する履歴情報格納手段と、
上記端末装置からのトランザクションの実行指示と識別情報に一致しかつ上記完了情報が正常終了を示したトランザクションの実行結果の有無を、上記履歴情報格納手段で記録した履歴情報を探索して判別する履歴確認手段と、
上記端末装置からのトランザクションの実行指示と識別情報に一致しかつ上記完了情報が正常終了を示したトランザクションの実行結果があれば該トランザクションの実行結果を読み出して上記端末装置に出力する履歴取得手段と、
上記端末装置からのトランザクションの実行指示と識別情報に一致しかつ上記完了情報が正常終了を示したトランザクションの実行結果がなければ、上記端末装置からのトランザクションの実行指示と識別情報に基づくトランザクションを実行し、該トランザクションの実行結果を上記端末装置に出力するトランザクション実行手段とを有し、
該トランザクション実行手段によるトランザクションの実行結果および該トランザクションに対する上記開始情報と上記完了情報を上記履歴情報格納手段により上記履歴情報として上記記憶装置に記録することを特徴とするトランザクション処理機能付きICカード。An IC card having a transaction processing function for executing a requested transaction based on an instruction to execute a transaction from a terminal device and identification information for uniquely identifying the transaction,
The transmission of the execution result of the transaction executed based on the transaction execution instruction and the identification information from the terminal device, the start information indicating that the execution of the transaction has started, and the execution result of the transaction to the terminal device is completed. History information storage means for sequentially recording information indicating whether or not the processing of the transaction has been normally completed in a storage device with history information associated with the execution instruction of the transaction and identification information;
Whether the execution result of the transaction execution instruction identification matching vital the completion information to the information is indicates successful completion of a transaction from the terminal device, the history to determine by searching history information recorded in the history information storage unit Confirmation means;
History acquisition to be output to match the execution instruction and the identification information of the transaction and to read out the execution result of the transaction if any execution result of the transaction the completion information indicates successful completion the terminal device from the terminal device Means,
Without transaction execution instruction and match the identification information and the completion information is the execution result of the transaction that indicates successful completion of the above terminal device, executes a transaction based on the execution instruction and the identification information of the transaction from the terminal device And transaction execution means for outputting the execution result of the transaction to the terminal device ,
The transaction execution means the execution result of the transactions by and transaction processing function IC card characterized by record to Rukoto in the storage device as the history information by the history information storage unit the start information and the completion information to said transaction .
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000000687A JP3752937B2 (en) | 2000-01-06 | 2000-01-06 | Transaction processing apparatus and method, and IC card with transaction processing function |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000000687A JP3752937B2 (en) | 2000-01-06 | 2000-01-06 | Transaction processing apparatus and method, and IC card with transaction processing function |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2001195362A JP2001195362A (en) | 2001-07-19 |
| JP3752937B2 true JP3752937B2 (en) | 2006-03-08 |
Family
ID=18529999
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000000687A Expired - Lifetime JP3752937B2 (en) | 2000-01-06 | 2000-01-06 | Transaction processing apparatus and method, and IC card with transaction processing function |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3752937B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4529156B2 (en) * | 2003-05-23 | 2010-08-25 | 大日本印刷株式会社 | Method for confirming data writing to portable storage medium, portable storage medium, server, and system, |
| JP4831658B2 (en) * | 2005-05-25 | 2011-12-07 | フェリカネットワークス株式会社 | Non-contact IC chip, portable terminal, information processing method, and program |
| JP5971713B2 (en) * | 2012-09-20 | 2016-08-17 | 株式会社東芝 | IC card |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS6373365A (en) * | 1986-09-16 | 1988-04-02 | Omron Tateisi Electronics Co | Transaction processor |
| JPH0561748A (en) * | 1991-09-02 | 1993-03-12 | Nippon Telegr & Teleph Corp <Ntt> | An automated method of synchronization confirmation in database access |
| JPH0635948A (en) * | 1992-07-21 | 1994-02-10 | Oki Electric Ind Co Ltd | Transaction information processing system and transaction information processor using the system |
| JPH07175700A (en) * | 1993-12-20 | 1995-07-14 | Fujitsu Ltd | Database management method |
| JPH08180154A (en) * | 1994-12-21 | 1996-07-12 | Hitachi Ltd | Electronic wallet device |
| JPH08235038A (en) * | 1995-02-28 | 1996-09-13 | N T T Data Tsushin Kk | Resource updating decision system |
| JPH11316871A (en) * | 1998-04-30 | 1999-11-16 | Ntt Data Corp | Electronic money card, payment processor, payment cancellation method of electronic money card and record medium recording payment cancellation processing program |
| JPH11338946A (en) * | 1998-05-25 | 1999-12-10 | Glory Ltd | Deposit processing method in electronic wallet system using ic card |
| JP2000293600A (en) * | 1999-04-06 | 2000-10-20 | Matsushita Electric Ind Co Ltd | Payment system |
-
2000
- 2000-01-06 JP JP2000000687A patent/JP3752937B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JP2001195362A (en) | 2001-07-19 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2537199B2 (en) | IC card | |
| JPS6057466A (en) | Transaction terminal system | |
| JPS63201846A (en) | Inter-system database sharing system journal merging method | |
| JPH021090A (en) | IC card and its operation program writing method | |
| JP3752937B2 (en) | Transaction processing apparatus and method, and IC card with transaction processing function | |
| JPH02165290A (en) | IC card and its operation method | |
| JP4838381B2 (en) | A method for inseparably correcting a plurality of non-volatile memory locations in a microcircuit card, particularly a contactless card | |
| JPH10198776A (en) | Portable information recording medium and information writing / reading method therefor | |
| JP2000322535A (en) | Information processing method and system for ic card | |
| JP2822869B2 (en) | Library file management device | |
| JP7582527B1 (en) | Electronic information storage medium, IC chip, record processing method, and program | |
| JP2004185419A (en) | Portable electronic medium, system for issuing portable electronic medium, processing method, and issuing method | |
| JP4397437B2 (en) | IC card | |
| JPS6037069A (en) | Information storage device | |
| JPH0786910B2 (en) | Information recording processor | |
| JP3240990B2 (en) | Transaction record management device and transaction record management method | |
| JP3261198B2 (en) | Information recording medium with built-in CPU | |
| JP2977317B2 (en) | Input control method of window terminal of financial institution | |
| JPH04195371A (en) | ATM download method | |
| JP2537198B2 (en) | Portable electronic devices | |
| JPH057651Y2 (en) | ||
| JPH059865B2 (en) | ||
| JP4092578B2 (en) | Electronic voting system, voting card issuing device, voting device, voting card issuing control program and voting control program | |
| JPS60144848A (en) | Cache memory control system | |
| JPH01147686A (en) | Portable electronic device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050701 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050715 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050906 |
|
| TRDD | Decision of grant or rejection written | ||
| RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7426 Effective date: 20051122 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20051122 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051205 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 3752937 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091222 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101222 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111222 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121222 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131222 Year of fee payment: 8 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| EXPY | Cancellation because of completion of term |