説明

電子機器、決済システム及びプログラム

【課題】障害から復帰した際に、認証を行う手間をなくすこと。
【解決手段】通信ネットワークNを介してセンタサーバ40との通信を行う通信部36、通信部16と、通信部36、通信部16介してセンタサーバ40から認証を許可する認証OK信号を受信した際、認証トークンを生成するCPU11と、CPU11により生成された認証トークンを記憶する不揮発性のEEPROM17と、CPU11により生成された認証トークンを記憶する揮発性のRAM33と、障害から復帰した際、RAM33に認証トークンが記憶されている場合に、EEPROM17により記憶された認証トークンとRAM33により記憶された認証トークンとが一致するか否かを検証し、一致する場合に、センタサーバ40との認証状態を継続させるCPU11と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は電子機器、決済システム及びプログラムに関する。
【背景技術】
【0002】
近年、パスワード等の機密性を担保する耐タンパ性を有するSAM(Secure Application Module)を備えた端末装置が知られている。例えば、SAMを、端末装置の本体に着脱可能なモジュールとして構成する技術が知られている(例えば、特許文献1参照)。
【0003】
また、SAMを用いた決済システムも知られている。図16を参照して決済システム100の動作について説明する。図16(A)、(B)にSAM103及び端末装置104を有する電子機器101と、センタサーバ102と、を備えた決済システム100を示す。
【0004】
SAM103及びセンタサーバ102は、それぞれ認証鍵105を有している。認証鍵105とは、認証に用いられる暗号用又は復号用のための暗号鍵のことをいう。認証とは、センタサーバ102がSAM103の有するデータの使用を端末装置104に許可することをいう。SAM103が有する認証鍵105と、センタサーバ102が有する認証鍵105とを用いて、認証が行われる。認証が得られた(認証OK)場合、端末装置104において、SAM103が有するデータ(例えば、他の鍵106等)の利用が可能となる。これにより、例えば、SAM103が有する他の鍵106を用いて、決済処理等を行うことができる(図16(A)参照)。
【特許文献1】特開2003−16527号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記の技術では、電子機器が障害から復帰した場合に、センタサーバとの認証を行う手間を要していた。
例えば、認証後、SAM103が有する他の鍵106を用いて決済処理を行っている途中に、電子機器101に落雷による停電が起きたとする。ここで、SAM103及び端末装置104は、連動して電子機器101の電源供給部(図示省略)から電源供給されている。このため、電子機器101に停電が起きると、SAM103に対する電源供給が遮断される。そうすると、SAM103は、センタサーバ102との認証状態(センタサーバ102がSAM103のデータの使用を端末装置104に許可した状態)を忘却してしまう。SAM103がセンタサーバ102との認証状態を忘却すると、他の鍵106は利用不可となる(図16(B)参照)。このため、停電(障害)から復帰した際に、再度、センタサーバ102(認証装置)と通信して認証を行う手間が必要であった。
【0006】
本発明の課題は、障害から復帰した際に、認証を行う手間をなくすことである。
【課題を解決するための手段】
【0007】
以上の課題を解決するため、請求項1に記載の発明の電子機器は、
耐タンパ性を有し、通信ネットワークを介して認証装置に接続される電子機器であって、
前記通信ネットワークを介して前記認証装置との通信を行う通信手段と、
前記通信手段を介して前記認証装置から認証を許可する認証許可情報を受信した際、前記認証装置との認証が成功したことを示す認証成功情報を生成する生成手段と、
前記生成手段により生成された認証成功情報を記憶する不揮発性の第1記憶手段と、
前記生成手段により生成された認証成功情報を記憶する揮発性の第2記憶手段と、
障害から復帰した際、前記第2記憶手段に前記認証成功情報が記憶されている場合に、前記第2記憶手段により記憶された認証成功情報と前記第1記憶手段により記憶された認証成功情報とが一致するか否かを検証し、一致する場合に、前記認証装置との認証状態を継続させる第1の制御手段と、を備える。
【0008】
請求項2に記載の発明は、請求項1に記載の電子機器において、
情報を暗号化又は復号化する暗号演算手段と、
前記認証成功情報を前記暗号演算手段に暗号鍵で暗号化させる暗号化手段と、
を備える。
【0009】
請求項3に記載の発明は、請求項1又は2に記載の電子機器において、
第1の時刻情報を計時する計時手段を備え、
前記生成手段は、
前記通信手段を介して前記認証許可情報とともに、認証を許可した時刻を示す認証時刻情報を前記認証装置から受信した場合に、当該受信した認証時刻情報を含めて前記認証成功情報を生成し、
前記第1の制御手段は、
前記計時手段により計時された第1の時刻情報と前記生成手段により生成された認証成功情報に含まれる認証時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間以内であり、且つ、前記第1記憶手段に記憶された認証成功情報と前記第2記憶手段に記憶された認証成功情報とが一致する場合に、前記認証装置との認証状態を継続させる。
【0010】
請求項4に記載の発明は、請求項1又は2に記載の電子機器において、
前記通信手段は、
時刻情報を計時する時刻サーバ装置と通信接続し、
前記生成手段は、
前記通信手段を介して前記認証許可情報を前記認証装置から受信するとともに、前記通信手段を介して認証を許可した時刻を示す認証時刻情報を前記認証装置又は前記時刻サーバ装置から受信した場合に、当該受信した認証時刻情報を含めて前記認証成功情報を生成し、
前記第1の制御手段は、
前記通信手段を介して前記時刻サーバ装置で計時された第2の時刻情報を前記時刻サーバ装置から定期又は不定期に受信し、当該受信した第2の時刻情報と前記生成手段により生成された認証成功情報に含まれる認証時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間以内であり、且つ、前記第1記憶手段に記憶された認証成功情報と前記第2記憶手段に記憶された認証成功情報とが一致する場合に、前記認証装置との認証状態を継続させる請求項1又は2に記載の電子機器。
【0011】
請求項5に記載の発明は、請求項1から4のいずれか一項に記載の電子機器において、
前記第1の制御手段により前記認証装置との認証状態が継続された場合に、前記認証成功情報を更新する更新手段を備える。
【0012】
請求項6に記載の発明の決済システムは、
請求項4又は5に記載の電子機器と、
前記認証装置と、を備え、
前記認証装置は、
前記電子機器と通信を行う認証装置側通信手段と、
前記認証装置側通信手段を介して決済処理に関する決済データ及び前記更新手段により更新された認証成功情報を前記電子機器から受信し、前記認証時刻情報と当該認証成功情報に含まれる前記第2の時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間でない場合に、前記電子機器を無効にする第2の制御手段と、を備える。
【0013】
請求項7に記載の発明のプログラムは、
コンピュータを、
通信ネットワークを介して認証装置との通信を行う通信手段、
前記通信手段を介して前記認証装置から認証を許可する認証許可情報を受信した際、前記認証装置との認証が成功したことを示す認証成功情報を生成する生成手段、
前記生成手段により生成された認証成功情報を記憶する不揮発性の第1記憶手段と、
前記生成手段により生成された認証成功情報を記憶する揮発性の第2記憶手段と、
障害から復帰した際、前記第2記憶手段に前記認証成功情報が記憶されている場合に、前記第2記憶手段により記憶された認証成功情報と前記第1記憶手段により記憶された認証成功情報とが一致するか否かを検証し、一致する場合に、前記認証装置との認証状態を継続させる第1の制御手段、
として機能させる。
【発明の効果】
【0014】
本発明によれば、障害から復帰した際に、認証を行う手間をなくすことができる。
【発明を実施するための最良の形態】
【0015】
以下、添付図面を参照して本発明に係る好適な第1の実施の形態、第2の実施の形態、及び第3の実施の形態、及び第4の実施の形態を詳細に説明する。なお、本発明は、図示例に限定されるものではない。
【0016】
(第1の実施の形態)
図1〜図7を参照して、本発明に係る第1の実施の形態を説明する。先ず、図1〜図4を参照して本実施の形態の装置構成を説明する。図1に、本実施の形態の決済システム1の構成を示す。
【0017】
図1に示すように、決済システム1は、電子機器としてのSAM10と、電子機器としての端末装置30と、認証装置としてのセンタサーバ40と、を備えて構成される。センタサーバ40は、通信ネットワークNを介して端末装置30と通信接続されている。端末装置30は、SAM10と通信接続されている。
【0018】
決済システム1では、例えば、店舗等に、端末装置30、SAM10が設置され、カード会社等のセンタサーバ40に管理される。カード情報を有するクレジットカード等のIC(Integrated Circuit)カードにより顧客が商品購入の決済をする場合に、端末装置30でICカードの情報を読み取り、センタサーバ40に送信する。センタサーバ40は、ICカード認証後に決済処理を行う。本実施の形態では、端末装置30、SAM10の認証を行い、正当な端末装置30、SAM10である場合に、ICカードの認証等を含む決済処理を行う。
【0019】
SAM10は、耐タンパ性を有するモジュールであり、中に記憶しているデータを第三者が読み取り又は変更しようとする異常状態を検出し、異常検出時に、その記憶しているデータを自動的に消去する。また、SAM10は、異常検出時に、SAM10自体の動作を停止させる構成等としてもよい。
【0020】
通信ネットワークNは、例えば、WAN(Wide Area Network)とするが、LAN(Local Area Network)等の通信ネットワークとしてもよく、電話回線、専用線、移動体通信網、通信衛星網、CATV(Cable Television)回線、インターネットプロバイダ等を含めてもよい。
【0021】
次いで、SAM10の内部構成を説明する。図2に、SAM10の内部構成を示す。図2に示すように、SAM10は、生成手段、第1の制御手段、暗号化手段、更新手段としてのCPU(Central Processing Unit)11と、暗号演算部12と、RAM(Random Access Memory)13と、異常検出部14と、ROM(Read Only Memory)15と、通信手段としての通信部16と、第1記憶手段としてのEEPROM(Electrically Erasable Programmable Read Only Memory)17と、を備えて構成され、各部がバス18を介して接続される。
【0022】
CPU11は、SAM10の各部を中央制御する。CPU11は、ROM15やEEPROM17に記憶されているシステムプログラム及び各種アプリケーションプログラムの中から指定されたプログラムをRAM13に展開し、RAM13に展開されたプログラムとの協働で、各種処理を実行する。
【0023】
CPU11は、第1のSAM使用許可プログラムとの協働により、端末装置30の通信部36及び通信部16を介してセンタサーバ40から認証許可情報としての動作OK信号を受信した際、認証成功情報としての認証トークンを生成する。認証トークンとは、センタサーバ40との認証が成功したことを示す情報のことをいう。本実施の形態では、認証トークンは、乱数により生成される。
【0024】
CPU11は、第1の認証トークン比較プログラムとの協働により、障害から復帰した際、端末装置30のRAM33に認証トークンが記憶されている場合に、RAM33により記憶された認証トークンとEEPROM17により記憶された認証トークンとが一致するか否かを検証し、一致する場合に、センタサーバ40との認証状態を継続させる。
障害とは、例えば、落雷による停電が発生し、SAM10及び端末装置30に電源供給部(図示省略)から電源の供給が遮断された状態のことをいう。認証状態とは、センタサーバ40がSAM10のデータの使用を端末装置30に許可した状態のことをいう。
【0025】
また、CPU11は、異常検出部14により異常が検出された場合に、RAM13及びEEPROM17に記憶された情報を破壊(消去)する。また、CPU11は、EEPROM17に記憶された鍵を用いて、暗号演算部12により情報を暗号化又は復号化させる。
【0026】
暗号演算部12は、CPU31の指示により、EEPROM17に記憶された鍵を用いて、各種情報を暗号化し、また暗号化された各種情報を復号化する。
【0027】
RAM13は、揮発性のメモリであり、実行される各種プログラムやこれら各種プログラムに係るデータ等を格納するワークエリアを有し、その情報を一時的に格納する。
【0028】
異常検出部14は、例えば、電圧センサ、温度センサ、光センサ等の少なくとも1つを備え、善意又は悪意によらず第三者がSAM10のデータを読み取ろうと又は変更しようとする際の異常電圧、異常温度、異常光量等を検出し、その異常の旨を示す検出信号をCPU11に出力する。
【0029】
ROM15には、書き換えが不要であるデータが予め記憶されている。例えば、SAM10のシステムプログラムである。
【0030】
通信部16は、通信制御部により構成され、有線又は無線で端末装置30と通信接続して情報を送受信する。
【0031】
EEPROM17は、各種プログラム及び各種データを読み出し又は書き込み可能に記憶する不揮発性のメモリである。
【0032】
EEPROM17は、第1のSAM使用許可プログラム、第1の認証トークン比較プログラムと、認証トークンと、鍵と、端末IDと、を記憶する。鍵は、複数の鍵が記憶されている。例えば、センタサーバ40が端末装置30を認証するための鍵であり、電子機器ごとにユニークな鍵(鍵T1)と、端末装置30にあるデータを暗号化または復号化するための鍵(鍵D1)と、カードリーダ38が端末装置30を認証するための鍵(鍵R)と、が記憶されている。端末IDは、電子機器毎にユニークな識別情報である。また、第1のSAM使用プログラム、第1の認証トークン比較プログラムは、ROM15に記憶される構成としてもよい。
【0033】
各鍵の暗号化及び復号化には、互いに相応する鍵を用いて行われる。例えば、ある鍵を用いて情報を暗号化した場合に、その鍵に相応する鍵を用いると暗号化された情報の復号化が可能となる。本実施の形態では、暗号化する鍵と、復号化する鍵とが、同一である共通の共通鍵方式で暗号化及び復号化するものとして説明する。しかし、公開鍵方式や、セション鍵方式等の方式で暗号化及び復号化する構成としてもよい。公開鍵方式では、公開鍵と秘密鍵のペアが互いに相応する鍵となる。
【0034】
次いで、端末装置30の構成を説明する。図3に端末装置30の内部構成を示す。図3に示すように、端末装置30は、CPU31と、入力部32と、第2記憶手段としてのRAM33と、バックアップ電池33Aと、表示部34と、フラッシュメモリ35と、通信手段としての通信部36と、接続部37と、カードリーダ38と、接続部39と、計時部39aと、を備えて構成され、各部がバス39bを介して接続される。
【0035】
CPU31、RAM33、フラッシュメモリ35については、SAM10のCPU11、RAM13、EEPROM17の構成と同様であり、異なる部分を主として説明する。
【0036】
CPU31は、第1の情報プログラムとの協働により、認証トークンをRAM33に記憶させる。また、CPU31は、第2の情報プログラムとの協働により、障害から復帰した際、端末装置30のRAM33に認証トークンが記憶されているか否かを判別する。
【0037】
入力部32は、数字入力キー及び各種機能キーなどを備えたキーパッドを含む構成とし、操作者により各キーが押下された操作信号をCPU31に出力する。
【0038】
RAM33は、認証トークンを記憶する。また、RAM33は、バックアップ時間の間、不揮発性を有する。ここで、バックアップ時間とは、例えば、端末装置30の電源がOFFの状態において、バックアップ電池33AによりRAM33に給電が可能な時間のことをいう。当該バックアップ時間の間、RAM33は、端末装置30の電源がOFFとなっても、不揮発性を有する。また、RAM33は、フラッシュメモリ等の不揮発性のメモリを用いる構成としても良い。
【0039】
バックアップ電池33Aは、RAM33にバックアップ時間の間、給電を行うバックアップ用の電池である。
【0040】
表示部34は、LCD(Liquid Crystal Display)等で構成され、CPU31からの表示信号に従って画面表示を行う。また、入力部32は、表示部34と一体的にタッチパネルを構成することとしてもよい。
【0041】
フラッシュメモリ35は、各種プログラム及び各種データを読み出し及び書き込み可能に記憶する不揮発性のメモリである。フラッシュメモリ35は、第1の情報プログラム、第2の情報プログラムと、鍵D1で暗号化された暗号化データd1と、を記憶する。暗号化データd1は、例えば、決済処理に使用されるカード判別データである。カード判別データは、ICカード60の機能を判別したり、ICカードのカード情報のリストを含み、使えないICカードを判定するための情報である。
【0042】
通信部36は、通信制御部により構成され、通信ネットワークNを介してセンタサーバ40と情報を送受信する。
【0043】
接続部37は、ソケット等から構成され、SAM10が接続され、CPU31の指示により、接続されたSAM10と情報を送受信する。
【0044】
カードリーダ38は、図示しないCPU、RAM、ROM、フラッシュメモリ、接続部等を備える。カードリーダ38において、ROMから読み出されRAMに展開されたプログラムとCPUとの協働で各種処理を実行する。また、接続部は、接続されたICカード60の情報を読み取る。カードリーダ38において、フラッシュメモリには、後述する鍵Rが記憶されており、CPUは、ICカード60から読み出した情報を、鍵Rを使って暗号化し、暗号化した情報を端末装置30を介してSAM10に送信する。
【0045】
ICカード60は、各顧客が有する決済用の記録媒体としてのカードである。ICカード60は、接触式又は非接触式のカードであり、各ICカードでユニークなカード情報を記憶するICチップを備える。決済用の記録媒体としては、ICカード60に代えて、磁気カード、生体認証カード等、他の記録媒体としてもよい。
【0046】
接続部39は、ソケット等から構成され、メモリカード70が接続され、CPU31の指示により、接続されたメモリカード70に記録された各種情報の読み出しや、情報の書き込みを行う。
【0047】
計時部39aは、図示しない発振回路部から入力される信号を計数して、現在時刻を得る。そして当該現在時刻をCPU31に出力する。
【0048】
次いで、センタサーバ40の内部構成を説明する。図4に、センタサーバ40の内部構成を示す。図4に示すように、センタサーバ40は、第2の制御手段としてのCPU41と、入力部42と、RAM43と、表示部44と、記憶部45と、認証装置側通信手段としての通信部46と、計時部47と、を備えて構成され、各部がバス48を介して接続される。
【0049】
CPU41、RAM43、計時部47については、SAM10のCPU11、RAM13、計時部39aの構成と同様であり、異なる部分を主として説明する。
【0050】
CPU41は、第1の端末管理プログラムとの協働で、暗号化端末ID及び端末IDを端末装置30から受信し、暗号化端末IDを鍵T1で復号化する。そして、CPU41は、復号化した端末ID及び受信した端末IDが一致し且つ許可情報が許可であるか否かを判別し、端末IDが一致し許可情報が許可である場合に認証許可情報(動作OK信号)を鍵T1で暗号化して端末装置30に送信する。
【0051】
入力部42は、カーソルキー、文字、数字入力キー及び各種機能キーなどを備えたキーボードを含む構成とし、操作者により各キーが押下された操作信号をCPU41に出力する。また、入力部42は、マウス等のポインティングデバイスを含み、位置入力信号を受け付けてCPU41に出力することとしてもよい。
【0052】
表示部44は、LCD、CRT(Cathode Ray Tube)等で構成され、CPU41からの表示信号に従って画面表示を行う。
【0053】
記憶部45は、磁気記憶媒体を有するHDD(Hard Disk Drive)等により構成され、各種プログラム及び各種データを記録媒体から読み出し及び書き込み可能に記憶する。
【0054】
また、記憶部45は、第1の端末管理プログラムと、鍵T1と、認証テーブル(図示省略)と、を記憶する。認証テーブルは、ログインIDと、端末IDと、鍵情報と、許可情報と、を有する。ログインIDは、電子機器毎にユニークなログインIDである。端末IDは、電子機器毎にユニークな端末IDである。鍵情報は、電子機器毎の認証用の鍵を特定する情報である。許可情報は、電子機器の動作が許可されているか否かを示す情報である。
【0055】
通信部46は、モデム、TA(Terminal Adapter)、ルータ、ネットワークカード等により構成され、接続される通信ネットワークN上の端末装置30等の外部機器と情報を送受信する。
【0056】
次に、図5〜図7を参照して、決済システム1の動作を説明する。図5に第1の端末管理処理、第1の情報処理、第1のSAM使用許可処理の流れを示す。図6に、図5の第1の端末管理処理、第1の情報処理、第1のSAM使用許可処理の続きの流れを示す。また、各処理の実行前に、ログインIDを用いた端末装置30からセンタサーバ40へのログイン処理が行われるものとするが、その説明を省略する。
【0057】
センタサーバ40で実行される第1の端末管理処理を説明する。センタサーバ40において、例えば、通信部46を介して、暗号化端末IDと、端末IDと、が端末装置30から受信開始されたことをトリガとして、記憶部45から読み出されて適宜RAM43に展開された第1の端末管理プログラムとCPU11との協働で、第1の端末管理処理が実行される。
【0058】
先ず、ステップS11において、通信部46を介して、暗号化端末IDと、端末IDと、が端末装置30から受信され、記憶部45から認証テーブル(図示省略)が読み出される。そして、認証テーブルが参照され、受信した端末IDに対応する鍵が特定され、特定された鍵(鍵T1)が記憶部45から読み出される。そして、読み出された鍵T1を用いて暗号化端末IDが復号化される(ステップS11)。
【0059】
そして、復号化した端末IDと、受信した端末IDとが比較され、同一であるか否かにより、ステップS11の復号がOKであるか否かが判別される(ステップS12)。復号OKである場合(ステップS12;YES)、認証テーブルが参照され、対応する端末IDの許可情報が許可であるか否かが判別される(ステップS13)。
【0060】
許可されている場合(ステップS13;YES)、電子機器動作OK(認証許可)の旨の動作OK信号が生成されて、動作OKの端末(端末装置30)に対応する鍵(鍵T1)を用いて動作OK信号(認証を許可する情報である認証許可信号)が暗号化され、暗号化OK信号として通信部46を介して端末装置30に送信され(ステップS14)、第1の端末管理処理が終了する。
【0061】
復号OKでない場合(ステップS12;NO)、又は許可されていない場合(ステップS13;NO)、電子機器動作拒否(認証拒否)の旨の拒否信号が生成されて、動作拒否の端末(端末装置30)に対応する鍵(鍵T1)を用いて拒否信号が暗号化され、暗号化拒否信号として通信部46を介して端末装置30に送信され(ステップS15)、第1の端末管理処理が終了する。拒否情報は、端末装置30にSAM10のデータの使用を伴う動作を拒否する旨の信号である。
【0062】
次いで、端末装置30で実行される第1の情報処理を説明する。端末装置30において、例えば、電源投入されたことをトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第1の情報プログラムとCPU31との協働で、第1の情報処理が実行される。
【0063】
先ず、ステップS21において、接続部37を介して、SAM10に端末IDの要求が送信され、その端末IDがSAM10から受信される(ステップS21)。そして、接続部37を介して、受信された端末IDが暗号化のためにSAM10に送出(送信)され、暗号化端末IDをSAM10から受信する(ステップS22)。そして、ステップS11に対応して、通信部36を介して、端末IDと、暗号化端末IDとがセンタサーバ40へ送信される(ステップS23)。
【0064】
そして、ステップS14又はS15に対応して、通信部36を介して、暗号化OK信号又は暗号化拒否信号をセンタサーバ40から受信して、接続部37を介して、暗号化OK信号又は暗号化拒否信号がSAM10に送信される(ステップS24)。
【0065】
そして、ステップS38に対応して、接続部37を介して認証トークンをSAM10から受信して、認証トークンがRAM33に保管(記憶)される(ステップS25)。
【0066】
そして、フラッシュメモリ35、カードリーダ38に記憶され、SAM10に記憶される鍵で暗号化された所望のプログラム及びデータの少なくとも一つが読み出され、接続部37を介して、暗号化されたプログラム及びデータの少なくとも一つがSAM10に送信され、復号化されたプログラム及びデータがSAM10から受信される(ステップS26)。そして、復号化されたプログラム及びデータを用いて各種処理が実行される(ステップS27)。
【0067】
ステップS26,S27では、例えば、カードリーダ38によりICカード60から読み出されたカード情報が、鍵Rで暗号化されて端末装置30に送信される。そして、入力部32で暗証番号等の暗証情報が入力される。端末装置30において、鍵Rで暗号化されたカード情報がSAM10に送信される。SAM10でカード情報が鍵Rで復号化され、端末装置30に送信される。そして、ステップS27で、復号化されたカード情報と、暗証番号とがSAM10に送信されて鍵T1で暗号化される。
【0068】
また、ステップS26,S27では、例えば、フラッシュメモリ35に記憶された使用していないカード情報の暗号化データd1がSAM10に送信される。SAM10で暗号化データd1が鍵D1で復号化され、その復号化データを用いて、上記鍵Rで復号化されたカード情報が使用していないものであるか判別され、使用していないものである場合に、そのICカード60の決済が禁止に設定される。
【0069】
ステップS27の実行後、認証トークンがRAM33から削除される(ステップS28)。そして、セキュリティを守るため、復号化されたプログラム及びデータの少なくとも一つが消去され(ステップS29)、第1の情報処理が終了する。
【0070】
次いで、SAM10で実行される第1のSAM使用許可処理を説明する。SAM10において、例えば、ステップS21に対応して、通信部16を介して、端末ID要求を端末装置30から受信開始したことをトリガとして、EEPROM17から読み出されて適宜RAM13に展開された第1のSAM使用許可プログラムとCPU11との協働で、第1のSAM使用許可処理が実行される。
【0071】
先ず、通信部16を介して、端末ID要求が端末装置30から受信され、EEPROM17から端末IDが読み出されて端末装置30に送信される(ステップS31)。そして、ステップS22に対応して、通信部16を介して、端末IDが端末装置30から受信され、EEPROM17から端末装置30認証用の鍵(鍵T1)が読み出され、端末IDが読み出した鍵で暗号演算部12を介して暗号化され暗号化端末IDとして端末装置30に送信される(ステップS32)。
【0072】
そして、ステップS24に対応して、通信部16を介して、暗号化OK信号又は暗号化拒否信号が端末装置30から受信され、鍵(鍵T1)で暗号演算部12を介して復号化される(ステップS33)。そして、ステップS33で復号化された信号がOK信号であるか否かにより、端末装置30の動作がOKであるか否かが判別される(ステップS34)。端末装置30の動作がOKである場合(ステップS34;YES)、SAM10のデータが使用許可に設定される(ステップS35)。SAM10のデータの使用許可の旨の信号は、端末装置30に送信される構成としてもよい。
【0073】
そして、乱数が生成され、生成された乱数が認証トークンとして設定される(ステップS36)。ステップS36の実行後、認証トークンがEEPROM17に保管(記憶)される(ステップS37)。そして、通信部16を介して認証トークンが端末装置30に出力(送信)される(ステップS38)。
【0074】
そして、ステップS26に対応して、通信部16を介して、暗号化されたプログラム及びデータの少なくとも一つが端末装置30から受信され、EEPROM17から鍵R又は鍵D1が読み出される。そして、暗号化されたプログラム及びデータの少なくとも一つが暗号演算部12を介して鍵(鍵R又は鍵D1)で復号化されて端末装置30に送信される(ステップS39)。ステップS39の実行後、認証トークンがEEPROM17から削除され(ステップS40)、第1のSAM使用許可処理が終了する。
【0075】
ステップS33で復号化された信号が拒否信号である、又は復号に失敗し、端末装置30の動作がOKでない場合(ステップS34;NO)、SAM10のデータ使用禁止が設定され(ステップS41)、第1のSAM使用許可処理が終了する。SAM10のデータの使用不許可の旨の信号は、端末装置30に送信される構成としてもよい。
【0076】
センタサーバ40が許可を出していない場合に鍵D1,Rを使用できないため、端末装置30のCPU31は、鍵D1,Rを用いた動作を行うことができない。このため、悪意を持って端末装置30からクレジットカード等の番号を盗もうとしても、端末装置30は動作しないので悪意から防御することが可能である。
【0077】
次いで、図7を参照して、障害から復帰した際の決済システム1の動作を説明する。図7に、第2の情報処理、第1の認証トークン比較処理の流れを示す。
【0078】
端末装置30で実行される第2の情報処理を説明する。例えば、第1の情報処理のステップS25において、認証トークンがRAM33に記憶された後に、停電等によりSAM10及び端末装置30への電源の供給が遮断し、所定時間経過後に電源の供給が復帰したとする。この場合、電源復帰されたこと等をトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第2の情報プログラムとCPU31との協働で、第2の情報処理が実行される。
【0079】
先ず、RAM33に認証トークンが記憶(残存)されているか否かが判別される(ステプS51)。認証トークンが残存されていないと判別された場合(ステップS51;NO)、通常処理へ移行される(ステップS52)。認証トークンが残存されていると判別された場合(ステップS51;YES)、接続部37を介して認証トークンがSAM10に送出される(ステップS53)。
【0080】
そして、ステップS67に対応して、接続部37を介して認証トークンをSAM10から受信して、受信した認証トークンがRAM33に保管(記憶)される(ステップS54)。
【0081】
ステップS55〜S58は、第1の情報処理のステップS26〜S29と同様である。ステップS58の実行後、第2の情報処理が終了する。
【0082】
次いで、SAM10で実行される第1の認証トークン比較処理を説明する。例えば、ステップS53に対応して、通信部16を介して、認証トークンを端末装置30から受信開始したことをトリガとして、EEPROM17から読み出されて適宜RAM13に展開された第1の認証トークン比較プログラムとCPU11との協働で、第1の認証トークン比較処理が実行される。
【0083】
先ず、通信部16を介して、認証トークンが端末装置30から受信され、EEPROM17から認証トークンが読み出され、受信した認証トークンと、EEPROM17から読み出した認証トークンとの比較が行われる(ステップS61)。比較は、乱数が一致するか否かにより行われる。
【0084】
そして、受信した認証トークンと、EEPROM17から読み出した認証トークンとが同一であるか否かにより、比較OKであるか否かが判別される(ステップS62)。比較OKである場合(ステップS62;YES)、ステップS63に移行される。比較OKでない場合(ステップS62;NO)、ステップS64に移行される。ステップS63、ステップS64は、それぞれ第1のSAM使用許可処理のステップS35、ステップS41と同様である。
【0085】
ステップS63の実行後、新たな乱数が生成され、生成された乱数が認証トークンとして設定されることにより認証トークンが更新される(ステップS65)。
【0086】
ステップS66〜S69は、第1のSAM使用許可処理のステップS37〜S40と同様である。ステップS69の実行後、認証トークン比較処理は終了する。
【0087】
以上、本実施の形態によれば、障害から復帰した際に、EEPROM17に記憶された認証トークンとRAM33に記憶された認証トークンとが一致する場合に、センタサーバ40との認証状態を継続する。これにより、障害から復帰した際、認証を行う手間をなくすことができる。例えば、電子機器(SAM10及び端末装置30)がノイズなどによる電源不安定状況から復帰した場合や、電池寿命による電池交換後に復帰した場合などにおいて、センタサーバ40との認証を再度行う手間をなくすことができる。また、センタサーバ40との認証を行う必要がないので、センタサーバ40との通信不通の問題を考慮する必要がない。
【0088】
また、認証トークンを新しい乱数を用いた認証トークンに更新する。これにより、古い認証トークンの再利用が不可能となるので、認証トークンの脆弱性を回避することができる。
【0089】
また、従来、管理者のみが知っているパスワードで認証を行っている場合に障害が発生すると、管理者が現場にいなければ再認証を行うことができなかった。しかし、本発明の構成であれば、再認証を行う必要がないので、管理者がいないことにより処理(例えば、決済処理)の機能が停止することを防止することができる。
【0090】
また、不揮発のメモリ(RAM33、EEPROM17)に記憶された認証トークンを比較することにより認証状態を継続させるので、例えば、停電になったとしても電子機器の処理を継続させることができる。
【0091】
(第2の実施の形態)
図8〜図10を参照して、本発明に係る第2の実施の形態を説明する。本実施の形態の装置構成は、第1の実施の形態と同様であり、同様な部分には同一の符号を付し、その詳細な説明を援用する。以下、異なる部分について説明する。
【0092】
CPU11は、第2のSAM使用許可プログラムとの協働により、端末装置30の通信部36及び通信部16を介して動作OK信号とともに、認証時刻情報をセンタサーバ40から受信した場合に、当該受信した認証時刻情報を含めて認証トークンを生成する。認証時刻情報とは、認証を許可した時刻を示す情報である。本実施の形態では、認証時刻情報は、センタサーバ時刻情報に該当する。センタサーバ時刻情報は、計時部47により計時された時刻情報である。
【0093】
また、CPU11は、第2の認証トークン比較プログラムとの協働により、計時部39aにより計時された第1の時刻情報としての端末装置時刻情報と認証トークンに含まれる認証時刻情報との差分時間を算出する。そして、CPU11は、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間以内であり、且つ、EEPROM17に記憶された認証トークンとRAM33に記憶された認証トークンとが一致する場合に、センタサーバ40との認証状態を継続させる。
【0094】
EEPROM17は、第2のSAM使用許可プログラム及び第2の認証トークン比較プログラムを記憶する。フラッシュメモリ35は、第3の情報プログラム及び第4の情報プログラムを記憶する。記憶部45は、第2の端末管理プログラムを記憶する。
【0095】
図8〜図10を参照して、決済システム1の動作を説明する。図8に第2の端末管理処理、第3の情報処理、第2のSAM使用許可処理の流れを示す。図9に第2の端末管理処理、第3の情報処理、第2のSAM使用許可処理の流れの続きを示す。
【0096】
センタサーバ40で実行される第2の端末管理処理を説明する。例えば、通信部46を介して、暗号化端末IDと、端末IDと、が端末装置30から受信開始されたことをトリガとして、記憶部45から読み出されて適宜RAM43に展開された第2の端末管理プログラムとCPU41との協働で、第2の端末管理プログラムが実行される。
【0097】
ステップS71〜S73は、第1の端末管理処理のステップS11〜S13と同様である。ステップS73において、許可されていると判別された場合(ステップS73;YES)、暗号化OK信号及びセンタサーバ時刻情報が通信部46を介して端末装置30に送信される(ステップS74)。ステップS74の実行後、第2の端末管理処理が終了する。
【0098】
ステップS75は、第1の端末管理処理のステップS15と同様である。ステップS75の実行後、第2の端末管理処理が終了する。
【0099】
次いで、端末装置30で実行される第3の情報処理を説明する。端末装置30において、例えば、電源投入されたことをトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第3の情報プログラムとCPU11との協働で、第3の情報処理が実行される。
【0100】
先ず、接続部37を介して端末装置時刻情報がSAM10に送出される(ステップS81)。端末装置時刻情報は、計時部39aで計時された時刻情報である。ステップS82〜ステップS84は、第1の情報処理のステップS21〜ステップS23と同様である。
【0101】
ステップS84の実行後、接続部37を介して暗号化信号(暗号化OK信号又は暗号化拒否信号)及びセンタサーバ時刻情報をセンタサーバ40から受信して、接続部37を介して暗号化信号及びセンタサーバ時刻情報がSAM10に送出される(ステップS85)。
【0102】
そして、ステップS107に対応して、接続部37を介してSAM10からSAM時刻情報を受信して、受信したSAM時刻情報に端末装置時刻情報が較正される(ステップS86)。ここで、受信したSAM時刻情報はセンタサーバ時刻情報に設定されている。すなわち、端末装置時刻情報がセンタサーバ時刻情報に設定される。
【0103】
ステップS87〜ステップS91は、第1の情報処理のステップS25〜ステップS29と同様である。ステップS91の実行後、第3の情報処理は終了する。
【0104】
次いで、SAM10で実行される第2のSAM使用許可処理を説明する。SAM10において、例えば、ステップS81に対応して、通信部16を介して、端末装置時刻情報を端末装置30から受信開始したことをトリガとして、EEPROM17から読み出されて適宜RAM13に展開された第2のSAM使用許可プログラムとCPU11との協働で、第2のSAM使用許可処理が実行される。
【0105】
先ず、通信部16を介して、端末装置時刻情報が端末装置30から受信され、受信された端末装置時刻情報がSAM時刻情報として設定される(ステップS101)。SAM時刻情報は、例えば、EEPROM17に格納される。
【0106】
ステップ102〜ステップS103は、第1のSAM使用許可処理のステップS31〜ステップS32と同様である。ステップS103の実行後、ステップS85に対応して、通信部16を介して暗号化信号及びセンタサーバ時刻情報が端末装置30から受信され、暗号化信号(暗号化OK信号又は暗号化拒否信号)及びセンタサーバ時刻情報が鍵(鍵T1)で暗号演算部12を介して復号化される(ステップS104)。
【0107】
ステップS105、ステップS106、ステップS114は、第1のSAM使用許可処理のステップS34、ステップS35、ステップS41と同様である。ステップS106の実行後、SAM時刻情報が較正される(ステップS107)。すなわち、SAM時刻情報がセンタサーバ時刻情報に設定される。較正されたSAM時刻情報は、通信部16を介して端末装置30に送信される。
【0108】
そして、乱数が生成される(ステップS108)。そして、乱数とSAM時刻情報とが認証トークンとして設定される(ステップS109)。ここで、SAM時刻情報はセンタサーバ時刻情報に該当する。すなわち、乱数とセンタサーバ時刻情報とが認証トークンとして設定される。
【0109】
ステップS109の実行後、認証トークンがEEPROM17に保管される(ステップS110)。そして、認証トークンが鍵(鍵B)で暗号化され、暗号化された認証トークンが通信部16を介して端末装置30に出力(送信)される(ステップS111)。ここで、鍵Bとは、認証トークンを暗号化又は復号化するための鍵のことをいう。
【0110】
ステップS112〜ステップS113は、第1のSAM使用許可処理のステップS39〜ステップS40と同様である。ステップS113の実行後、第2のSAM使用許可処理は終了する。
【0111】
次いで、図10を参照して、障害から復帰した際の決済システム1の動作を説明する。図10に、第4の情報処理、第2の認証トークン比較処理の流れを示す。
【0112】
端末装置30で実行される第4の情報処理を説明する。例えば、第3の情報処理のステップS87において、認証トークンがRAM33に記憶された後に、停電により電源の供給が遮断したとする。そして、所定時間経過後に電源の供給が復帰したとする。この場合、電源の供給が復帰されたこと等をトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第2の情報処理プログラムとCPU31との協働で、第4の情報処理が実行される。
【0113】
先ず、接続部37を介して端末装置時刻情報がSAM10に送出される(ステップS121)。ステップS122〜ステップS129は、第2の情報処理の第ステップS51〜ステップS58と同様である。ステップS129の実行後、第4の情報処理は終了する。
【0114】
次いで、SAM10で実行される第2の認証トークン比較処理を説明する。例えば、ステップS121に対応して、通信部16を介して端末装置30から端末装置時刻情報を受信開始したことをトリガとして、EEPROM17から読み出されて適宜RAM13に展開された第2の認証トークン比較プログラムと、CPU11との協働で第2の認証トークン比較処理が実行される。
【0115】
先ず、通信部16を介して端末装置時刻情報が受信される。そして、SAM時刻情報が受信した端末装置時刻情報に設定される(ステップS131)。そして、ステップS124に対応して、通信部16を介して端末装置30から認証トークンが受信され、受信した認証トークンが鍵(鍵B)で復号される(ステップS132)。
【0116】
そして、EEPROM17に記憶した認証トークンと、復号された認証トークンと、が一致するか否かが比較される(ステップS133)。具体的には、EEPROM17に記憶した認証トークンに含まれる乱数と、復号された認証トークンに含まれる乱数と、が一致するか否かが比較される。そして、認証トークンの発行時刻(認証時刻情報)は予め定められた時間以内であるか否かが検証される(ステップS134)。具体的には、ステップS131でSAM時刻情報として設定された端末装置時刻情報と、ステップS109で設定された認証トークンに含まれるセンタサーバ時刻情報と、の差分時間が算出される。そして、算出された差分時間が予め定められた時間以内か否かが検証される。予め定められた時間は、認証トークンの有効期限に該当する。また、予め定められた時間は、任意の時間(例えば、24時間)であり、EEPROM17に記憶されている。
【0117】
そして、EEPROM17に記憶した認証トークンと、復号された認証トークンとが同一であるか否か、及び認証トークンの発行時刻は予め定められた時間以内であるか否かにより、検証OKか否かが判別される(ステップS135)。
【0118】
ステップS136〜ステップS137は、第1の認証トークン比較処理のステップS63〜ステップS64と同様である。ステップS137の実行後、新しい乱数が生成される(ステップS138)。そして、新しい乱数と、ステップS131でSAM時刻情報として設定された端末装置時刻情報と、が認証トークンとして設定される(ステップS139)。すなわち、認証トークンが新しい乱数及び端末装置時刻情報を含んだ認証トークンに更新される。そして、認証トークンがEEPROM17に保管される(ステップS140)。
【0119】
そして、認証トークンが鍵(鍵B)を用いて暗号化され、暗号化された認証トークンが通信部16を介して端末装置30に出力される(ステップS141)。ステップS142〜ステップS143は、第1の認証トークン比較処理のステップS68〜ステップS69と同様である。ステップS143の実行後、第2の認証トークン比較処理は終了する。
【0120】
以上、本実施の形態によれば、端末装置時刻情報とセンタサーバ時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内であり、且つ、EEPROM17に記憶された認証トークンとRAM33に記憶された認証トークンとが一致する場合に、センタサーバ40との認証状態を継続する。これにより、認証トークンの有効期限に基づいて、認証状態を継続するか否かを検証できるので、認証トークンの安全性を高めることができる。
【0121】
また、暗号鍵(鍵B)を用いて認証トークンを暗号化させる。これにより、悪意のあるSAM10内の鍵の解析の試みを確実に防御できる。また、暗号鍵(鍵B)により、耐タンパ手段(SAM10)と端末装置30との認証トークンの暗号鍵(鍵B)の組み合わせが特定されるので、認証トークンの妥当性を確認することができる。
【0122】
また、認証トークンを新しい乱数及び端末装置時刻情報を含んだ認証トークンに更新する。これにより、古い認証トークンの再利用が不可能となるので、認証トークンの脆弱性を回避することができる。
【0123】
(第3の実施の形態)
図11〜図13を参照して、第3の実施の形態を説明する。本実施の形態の装置構成において、第1の実施の形態の装置構成と同様の部分は、同一の符号を付し、その詳細な説明を援用する。以下、異なる部分について説明する。先ず、図11を参照して、本実施の形態の装置構成を説明する。図11に決済システム2の構成を示す。
【0124】
図11に示すように、決済システム2は、SAM10と、端末装置30と、センタサーバ40と、タイムサーバ50と、通信ネットワークNと、を備えて構成される。
【0125】
タイムサーバ50は、時刻を計時するサーバ装置である。タイムサーバ50は、通信ネットワークNを介して端末装置30と通信接続される。
【0126】
図12に示すように、タイムサーバ50は、CPU51と、入力部52と、RAM53と、表示部54と、記憶部55と、通信部56と、計時部57と、を備えて構成される。CPU51と、入力部52と、RAM53と、表示部54と、記憶部55と、通信部56と、計時部57とは、センタサーバ40のCPU41と、入力部42と、RAM43と、表示部44と、記憶部45と、通信部46と、計時部47とそれぞれ同様である。
【0127】
CPU51は、時刻情報送信プログラムとの協働により通信部56を介して署名付きタイムサーバ時刻情報を送信する。タイムサーバ時刻情報とは、計時部57により計時された時刻である。署名とは、タイムサーバ時刻情報から一定の法則で割り出した固定長のデータ(ハッシュ値)を、鍵(鍵C)で暗号化した情報のことをいう。鍵Cとは、タイムサーバ時刻情報のハッシュ値を暗号化又は復号化するための鍵のことをいう。また、記憶部55は時刻情報送信プログラムを記憶する。
【0128】
CPU11は、第3の認証トークン比較プログラムとの協働により、端末装置30の通信部36及び通信部16を介してタイムサーバ50で計時された第2の時刻情報としてのタイムサーバ時刻情報をタイムサーバ50から定期的又は不定期に受信する。そして、CPU11は、受信したタイムサーバ時刻情報と認証トークンに含まれる認証時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間以内であり、且つ、EEPROM17に記憶された認証トークンとRAM33に記憶された認証トークンとが一致する場合に、センタサーバ40との認証状態を継続させる。本実施の形態では、認証時刻情報は、センタサーバ時刻情報に該当する。
【0129】
EEPROM17は、第3の認証トークン比較プログラムを記憶する。フラッシュメモリ35は、第5の情報プログラムを記憶する。
【0130】
次いで、決済システム2の動作を説明する。図13に、時刻情報送信処理、第5の情報処理、第3の認証トークン比較処理の流れを示す。なお、図13に示す各処理の前に、センタサーバ40において第2の端末管理処理、端末装置30において第3の情報処理、SAM10において第2のSAM使用許可処理が予め実行されているものとして、以下説明する。
【0131】
タイムサーバ50で実行される時刻情報送信処理について説明する。タイムサーバ50において、例えば、通信部56を介して端末装置30の電源の供給が復帰されたことを示す信号を端末装置30から受信開始したことをトリガとして、記憶部55から読み出されて適宜RAM53に展開された時刻情報送信プログラムと、CPU51との協働で、時刻情報送信処理が実行される。
【0132】
先ず、通信部56を介して署名付きのタイムサーバ時刻情報が端末装置30に送信される(ステップS151)。ステップS151の実行後、時刻情報送信処理は終了する。
【0133】
次いで、端末装置30で実行される第5の情報処理について説明する。例えば、第3の情報処理のステップS87において、認証トークンがRAM33に記憶された後に、停電により電源の供給が遮断したとする。そして、所定時間経過後に電源の供給が復帰したとする。この場合、電源の供給が復帰されたこと等をトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第5の情報処理プログラムとCPU11との協働で、第5の情報処理が実行される。
【0134】
先ず、通信部36を介して署名付きタイムサーバ時刻情報が受信される。そして、接続部37を介して受信した署名付きタイムサーバ時刻情報がSAM10に送出される(ステップS161)。
【0135】
ステップS162〜ステップS169は、第4の情報処理のステップS122〜ステップS129と同様である。ステップS169の実行後、第5の情報処理は終了する。
【0136】
次いで、SAM10で実行される第3の認証トークン比較処理について説明する。例えば、ステップS161に対応して、通信部16を介して端末装置30から署名付きタイムサーバ時刻情報を受信開始したことをトリガとして、EEPROM17から読み出されて適宜RAM13に展開された第3の認証トークン比較プログラムと、CPU11との協働で第3の認証トークン比較処理が実行される。
【0137】
先ず、通信部16を介して端末装置30から署名付きタイムサーバ時刻情報が受信される。そして、受信した署名チェックの後、SAM時刻情報がタイムサーバ時刻情報に設定される(ステップS181)。署名チェックとは、鍵(鍵C)で復号化したハッシュ値と、受信したタイムサーバ時刻情報から算出したハッシュ値とを比較することをいう。署名チェックが確認された上で(復号化したハッシュ値と、算出したハッシュ値とが一致したと確認された上で)、SAM時刻情報がタイムサーバ時刻情報に設定される。また、このとき、署名付きタイムサーバ時刻情報は、定期又は不定期に受信される。
【0138】
ステップS182〜ステップS183は、第2の認証トークン比較処理のステップS132〜S133と同様である。ステップS183の実行後、認証トークンの発行時刻は予め定められた時刻以内であるか否かが検証される(ステップS184)。具体的には、ステップS181でSAM時刻情報として設定されたタイムサーバ時刻情報と、第2のSAM使用許可処理のステップS109で設定された認証トークンに含まれるセンタサーバ時刻情報と、の差分時間が算出される。そして、算出された差分時間が予め定められた時間(認証トークンの有効期限)以内か否かが検証される。
【0139】
ステップS185〜ステップS188は、第2の認証トークン比較処理のステップS135〜ステップS138と同様である。ステップS188の実行後、新しい乱数と、ステップS181でSAM時刻情報として設定されたタイムサーバ時刻情報と、が認証トークンとして設定される(ステップS189)。すなわち、認証トークンが新しい乱数及びタイムサーバ時刻情報を含んだ認証トークンに更新される。ステップS190〜ステップS193は、第2の認証トークン比較処理のステップS140〜ステップS143と同様である。ステップS193の実行後、第3の認証トークン比較処理が終了する。
【0140】
以上、本実施の形態によれば、タイムサーバ時刻情報とセンタサーバ時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内であり、且つ、EEPROM17に記憶された認証トークンとRAM33に記憶された認証トークンとが一致する場合に、センタサーバ40との認証状態を継続する。これにより、認証トークンの有効期限に基づいて、認証状態を継続するか否かを検証できるので、認証トークンの安全性を高めることができる。また、タイムサーバ時刻情報を不定期に受信できるので、時刻精度の高いタイムサーバ時刻情報を用いて認証状態を継続するか否かを検証することができる。
【0141】
また、認証トークンを新しい乱数及びタイムサーバ時刻情報を含んだ認証トークンに更新する。これにより、古い認証トークンの再利用が不可能となるので、認証トークンの脆弱性を回避することができる。
【0142】
また、タイムサーバ時刻情報の署名チェックを行うので、時間の改ざんのないことを保障することができる。さらに、タイムサーバ時刻情報を含めて認証トークンの更新を行うので、改ざんのないことが保障された時刻情報を用いて認証トークンの更新を行うことができる。
【0143】
(第4の実施の形態)
図14及び図15を参照して、第4の実施の形態を説明する。本実施の形態の装置構成において、第1の実施の形態及び第3の実施の形態の装置構成と同様の部分は、同一の符号を付し、その詳細な説明を援用する。以下、異なる部分について説明する。
【0144】
センタサーバ40のCPU41は、正当性確認プログラムとの協働により、通信部46を介して決済処理に関する決済データ及び認証トークンを端末装置30から受信し、認証時刻情報と受信した認証トークンに含まれるタイムサーバ時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間以内でない場合に、端末装置30を無効にする。本実施の形態では、認証時刻情報は、センタサーバ時刻情報に該当する。
【0145】
端末装置30のフラッシュメモリ35は、第6の情報プログラムを記憶する。SAM10のEEPROM17は、第4の認証トークン比較プログラムを記憶する。センタサーバ40の記憶部45は正当性確認プログラム記憶する。
【0146】
次いで、決済システム2の動作を説明する。図14に、時間情報送信処理、正当性確認処理、第6の情報処理、第4の認証トークン比較処理の流れを示す。図15に、時間情報送信処理、正当性確認処理、第6の情報処理、第4の認証トークン比較処理の流れの続きを示す。なお、図14及び図15に示す各処理の前に、センタサーバ40において第2の端末管理処理、端末装置30において第3の情報処理、SAM10において第2のSAM使用許可処理が予め実行されているものとして、以下説明する。
【0147】
本実施の形態のタイムサーバ50における時間情報送信処理は、第3の実施の形態における時間情報送信処理と同様である。
【0148】
センタサーバ40で実行される正当性確認処理について説明する。例えば、ステップS222に対応して、通信部46を介して端末装置10からデータを受信開始したことをトリガとして、記憶部45から読み出されて適宜RAM43に展開された正当性確認プログラムとCPU41との協働で、正当性確認処理が実行される。
【0149】
先ず、ステップS222に対応して、通信部46を介して端末装置30からデータが受信される(ステップS201)。データとは、決済データ、認証トークン、及び署名のことをいう。決済データとは、カード番号、暗証番号、決済金額のことをいう。認証トークンは、第4の認証トークン比較処理のステップS239で更新された認証トークン(新しい乱数及びタイムサーバ時刻情報を含んだ認証トークン)に該当する。署名とは、決済データ及び認証トークンをまとめたハッシュ値を鍵(鍵X)で暗号化した情報である。また、決済データ及び認証トークンは、鍵(鍵Y)で暗号化されており、暗号化された決済データ及び認証トークンが受信される。ステップS201において、データが受信されると、暗号化された決済データ及び認証トークンが鍵Yで復号化され、復号化された決済データ及び認証トークンからハッシュ値が算出される。そして、算出されたハッシュ値と、鍵(X)で復号化された署名のハッシュ値と、の比較(署名チェック)が行われる。ここで、鍵Xとは、決済データ及び認証トークンをまとめたハッシュ値を暗号化又は復号化するための鍵のことをいう。鍵Yとは、決済データ及び認証トークンを暗号化又は復号化するための鍵のことをいう。
【0150】
そして、データの正当性がOKであるか否かが判別される(ステップS202)。具体的には、第2の端末管理処理のステップS74で設定された認証時刻情報であるセンタサーバ時刻情報と、受信したデータの認証トークンに含まれるタイムサーバ時刻情報と、の差分時間が算出される。すなわち、センタサーバ40により認証がされた時間から決済処理が行われた時までの時間(差分時間)が算出される。そして、算出された差分時間が予め定められた時間(データの有効期限)以内であるか否かが判別される。差分時間が予め定められた時間以内である場合は、データの正当性OKと検証(判別)される。すなわち、データの有効期限は過ぎていないと判別される。差分時間が予め定められた時間以内でない場合は、データの正当性がない(NG)と判別される。すなわち、データの有効期限は過ぎていると判別される。
【0151】
データの正当性がOKである場合(ステップS202;OK)、正常処理へ移行される(ステップS204)。データの正当性がOKでない場合(ステップS202;NG)、通信部46を介して端末を無効化する無効化信号が端末装置30に送信される(ステップS203)。ステップS203及びステップS204の実行後、正当性確認処理は終了する。
【0152】
次いで、端末装置30で実行される第6の情報処理について説明する。例えば、第3の情報処理のステップS87において、認証トークンがRAM33に記憶された後に、停電により電源の供給が遮断したとする。そして、所定時間経過後に電源の供給が復帰したとする。この場合、電源の供給が復帰されたこと等をトリガとして、フラッシュメモリ35から読み出されて適宜RAM33に展開された第6の情報プログラムとCPU31との協働で、第6の情報処理が実行される。
【0153】
ステップS211〜ステップS217は、第5の情報処理のステップS161〜ステップS167と同様である。
【0154】
ステップS217の実行後、接続部37を介して処理結果(決済データ)がSAM10に送出される(ステップS218)。そして、ステップS244に対応して、接続部37を介してデータが受信される。そして、受信されたデータがフラッシュメモリ35に保管される(ステップS219)。
【0155】
ステップS220〜ステップS221は、第5の情報処理のステップS168〜ステップS169と同様である。ステップS221の実行後、通信部36を介してデータがセンタサーバ40へ送信される(ステップS222)。
【0156】
そして、ステップS203;NGに対応して、通信部36を介してセンタサーバ40から無効化信号が受信され、端末装置30が無効化される(ステップS223)。ステップS223の実行後、第6の情報処理は終了する。
【0157】
次いで、SAM10で実行される第4の認証トークン比較処理について説明する。例えば、ステップS211に対応して、通信部16を介して端末装置30から署名付きタイムサーバ時刻情報を受信開始したことをトリガとして、EEPROM17から読み出されて適宜RAM13に開された第4の認証トークン比較プログラムと、CPU11との協働で第4の認証トークン比較処理が実行される。
【0158】
ステップS231〜ステップS242は、第3の認証トークン比較処理のステップS181〜ステップS192と同様である。ステップS242の実行後、通信部16を介して端末装置30から決済データが受信される(ステップS243)。そして、受信された決済データと、ステップS239で設定された認証トークンと、がまとめて鍵Xで署名される(ステップS244)。また、このとき、鍵Yで決済データ及び認証トークンが暗号化される。そして、通信部16を介してデータが端末装置30に送信される。
【0159】
ステップS245は、第3の認証トークン比較処理のステップS193と同様である。ステップS245の実行後、通信部16を介して端末装置30から無効化信号を受信したか否かが判別される(ステップS246)。無効化信号を受信していないと判別された場合(ステップS246;NO)、ステップS246に移行される。無効化信号を受信したと判別された場合、EEPROM17に記憶されている鍵(例えば、鍵T1、B、C、D、R、X、Y等)が無効化される(ステップS247)。ステップS247の実行後、第4の認証トークン比較処理は終了する。
【0160】
以上、本実施の形態によれば、センタサーバ時刻情報とタイムサーバ時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証する。これにより、センタサーバ40により認証がされた時刻から決済処理が行われた時刻までの時間(差分時間)を推定し、データの正当性を検討するので、データの安定性を高めることができる。また、差分時間が予め定められた時間以内でない場合(すなわち、データの有効期限が過ぎている場合)に、端末装置30を無効(端末装置30の利用停止)にするので、第三者による端末装置30の無断利用等の被害が広がることを防止することができる。
【0161】
また、認証トークンを新しい乱数及びタイムサーバ時刻情報を含んだ認証トークンに更新する。これにより、古い認証成功情報の再利用が不可能となるので、認証成功情報の脆弱性を回避することができる。
【0162】
なお、上記各実施の形態における記述は、本発明に係る電子機器、決済システム、及びプログラムの一例であり、これに限定されるものではない。
【0163】
例えば、上記第1の実施の形態では、認証トークンを暗号化することなく端末装置30へ出力(送信)することとしたが、暗号化した認証トークンを端末装置30へ送信することとしてもよい。
【0164】
また、上記第3の実施の形態及び第4の実施の形態では、タイムサーバ50は、センタサーバ40と異なる構成としたがこれに限定されるものではない。例えば、センタサーバ40にタイムサーバ50を含む構成としてもよい。
【0165】
また、上記第3の実施の形態及び第4の実施の形態では、認証時刻情報をセンタサーバ時刻情報としたがこれに限定されるものではない。例えば、認証時刻情報をタイムサーバ時刻情報としてもよい。この場合、センタサーバ40から動作OK信号が端末装置30へ送信されると同時にタイムサーバ50から通信部56を介して端末装置、SAM10へタイムサーバ時刻情報が送信されることとなる。SAM10は、通信部16を介して認証成功時刻に該当するタイムサーバ時刻情報を受信すると、当該タイムサーバ時刻情報含めて認証トークンを生成する。そして、障害から復旧した際に、SAM時刻情報として設定されたタイムサーバ時刻情報と、生成された認証トークンに含まれるタイムサーバ時刻情報と、の差分時間を算出し、算出時間が予め定められた時間(認証トークンの有効期限)以内であるか否かを検証する。この場合、時間精度は、タイムサーバ50からタイムサーバ時刻情報を受信する間隔のみで決まる。
【0166】
その他、上記の実施の形態における決済システムの細部構成及び詳細動作に関しても、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【図面の簡単な説明】
【0167】
【図1】本発明に係る決済システムを示す概略図である。
【図2】SAMの内部構成を示すブロック図である。
【図3】端末装置の内部構成を示すブロック図である。
【図4】センタサーバの内部構成を示すブロック図である。
【図5】第1の端末管理処理、第1の情報処理、第1のSAM使用許可処理を示すフローチャートである。
【図6】図5の第1の端末管理処理、第1の情報処理、第1のSAM使用許可処理の続きを示すフローチャートである。
【図7】第2の情報処理、第1の認証トークン比較処理を示すフローチャートである。
【図8】第2の端末管理処理、第3の情報処理、第2のSAM使用許可処理を示すフローチャートである。
【図9】図8の第2の端末管理処理、第3の情報処理、第2のSAM使用許可処理の続きを示すフローチャートである。
【図10】第4の情報処理、第2の認証トークン比較処理を示すフローチャートである。
【図11】決済システムの構成を示すブロック図である。
【図12】タイムサーバの内部構成を示すブロック図である。
【図13】第5の情報処理、第3の認証トークン比較処理を示すフローチャートである。
【図14】時刻情報送信処理、第6の情報処理、第4の認証トークン比較処理を示すフローチャートである。
【図15】時刻情報送信処理、第6の情報処理、第4の認証トークン比較処理の続を示すフローチャートである。
【図16】決済システム100を示すブロック図である。
【符号の説明】
【0168】
1,2 決済システム
10 端末装置
11,31,41 CPU
12 暗号演算部
13,33,43 RAM
14 異常検出部
15 ROM
16,36,46 通信部
17 EEPROM
18,39b,48 バス
30 端末装置
32,42 入力部
33A バックアップ電池
34,44 表示部
35 フラッシュメモリ
37 接続部
38 カードリーダ
39 接続部
39a,47 計時部
40 センタサーバ
45 記憶部
50 タイムサーバ
60 ICカード
70 メモリカード
100 決済端末
N 通信ネットワーク

【特許請求の範囲】
【請求項1】
耐タンパ性を有し、通信ネットワークを介して認証装置に接続される電子機器であって、
前記通信ネットワークを介して前記認証装置との通信を行う通信手段と、
前記通信手段を介して前記認証装置から認証を許可する認証許可情報を受信した際、前記認証装置との認証が成功したことを示す認証成功情報を生成する生成手段と、
前記生成手段により生成された認証成功情報を記憶する不揮発性の第1記憶手段と、
前記生成手段により生成された認証成功情報を記憶する揮発性の第2記憶手段と、
障害から復帰した際、前記第2記憶手段に前記認証成功情報が記憶されている場合に、前記第2記憶手段により記憶された認証成功情報と前記第1記憶手段により記憶された認証成功情報とが一致するか否かを検証し、一致する場合に、前記認証装置との認証状態を継続させる第1の制御手段と、
を備える電子機器。
【請求項2】
情報を暗号化又は復号化する暗号演算手段と、
前記認証成功情報を前記暗号演算手段に暗号鍵で暗号化させる暗号化手段と、
を備える請求項1に記載の電子機器。
【請求項3】
第1の時刻情報を計時する計時手段を備え、
前記生成手段は、
前記通信手段を介して前記認証許可情報とともに、認証を許可した時刻を示す認証時刻情報を前記認証装置から受信した場合に、当該受信した認証時刻情報を含めて前記認証成功情報を生成し、
前記第1の制御手段は、
前記計時手段により計時された第1の時刻情報と前記生成手段により生成された認証成功情報に含まれる認証時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間以内であり、且つ、前記第1記憶手段に記憶された認証成功情報と前記第2記憶手段に記憶された認証成功情報とが一致する場合に、前記認証装置との認証状態を継続させる請求項1又は2に記載の電子機器。
【請求項4】
前記通信手段は、
時刻情報を計時する時刻サーバ装置と通信接続し、
前記生成手段は、
前記通信手段を介して前記認証許可情報を前記認証装置から受信するとともに、前記通信手段を介して認証を許可した時刻を示す認証時刻情報を前記認証装置又は前記時刻サーバ装置から受信した場合に、当該受信した認証時刻情報を含めて前記認証成功情報を生成し、
前記第1の制御手段は、
前記通信手段を介して前記時刻サーバ装置で計時された第2の時刻情報を前記時刻サーバ装置から定期又は不定期に受信し、当該受信した第2の時刻情報と前記生成手段により生成された認証成功情報に含まれる認証時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間以内であり、且つ、前記第1記憶手段に記憶された認証成功情報と前記第2記憶手段に記憶された認証成功情報とが一致する場合に、前記認証装置との認証状態を継続させる請求項1又は2に記載の電子機器。
【請求項5】
前記第1の制御手段により前記認証装置との認証状態が継続された場合に、前記認証成功情報を更新する更新手段を備える請求項1から4のいずれか一項に記載の電子機器。
【請求項6】
請求項4又は5に記載の電子機器と、
前記認証装置と、を備え、
前記認証装置は、
前記電子機器と通信を行う認証装置側通信手段と、
前記認証装置側通信手段を介して決済処理に関する決済データ及び前記更新手段により更新された認証成功情報を前記電子機器から受信し、前記認証時刻情報と当該認証成功情報に含まれる前記第2の時刻情報との差分時間を算出し、算出した差分時間が予め定められた時間以内か否かを検証し、予め定められた時間でない場合に、前記電子機器を無効にする第2の制御手段と、
を備える決済システム。
【請求項7】
コンピュータを、
通信ネットワークを介して認証装置との通信を行う通信手段、
前記通信手段を介して前記認証装置から認証を許可する認証許可情報を受信した際、前記認証装置との認証が成功したことを示す認証成功情報を生成する生成手段、
前記生成手段により生成された認証成功情報を記憶する不揮発性の第1記憶手段と、
前記生成手段により生成された認証成功情報を記憶する揮発性の第2記憶手段と、
障害から復帰した際、前記第2記憶手段に前記認証成功情報が記憶されている場合に、前記第2記憶手段により記憶された認証成功情報と前記第1記憶手段により記憶された認証成功情報とが一致するか否かを検証し、一致する場合に、前記認証装置との認証状態を継続させる第1の制御手段、
として機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2009−59065(P2009−59065A)
【公開日】平成21年3月19日(2009.3.19)
【国際特許分類】
【出願番号】特願2007−224206(P2007−224206)
【出願日】平成19年8月30日(2007.8.30)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】