(57)【要約】【課題】耐タンパ機能を有し、タンパ検知後の縮退運転状態で所定処理を行うＩＣカード決済端末において、高コストであるＳＲＡＭに関するコスト削減を実現する。【解決手段】ＳＲＡＭを耐タンパ機能を有するＳＲＡＭ１２ｂのみとし、鍵情報等の秘匿情報を記憶すると共に、縮退運転時の所定処理に必要な情報（プログラム設定値等）を記憶する。ＳＲＡＭ１２ｂに記憶するデータ（但し、秘匿情報は除く）はＳＤＲＡＭ１２ａにも記憶させる。タンパ検出によりＳＲＡＭ１２ｂのデータが消去された場合、ＳＤＲＡＭ１２ａのデータを用いて縮退運転時の所定処理を実行する。【選択図】      図１
2010122807.tif 000002
【特許請求の範囲】
【請求項１】
耐タンパ機能を有し、タンパ検出後には縮退運転状態となって所定処理を実行するＩＣカード決済端末において、
前記耐タンパ機能によってタンパ検出された場合に記憶データが消去されるメモリであって、ＩＣカードとの暗号通信に必要な秘匿情報と、前記所定処理実行に必要な情報を格納する第１の不揮発性メモリと、
揮発性メモリと、
前記所定処理実行に必要な情報を更新する為に任意のデータを書き込む際に、該任意のデータを前記第１の不揮発性メモリと前記揮発性メモリとに書き込むデータライト手段と、
前記耐タンパ機能によるタンパ検出後の前記縮退運転状態において、前記揮発性メモリに記憶された情報を用いて前記所定処理を実行する縮退運転処理実行手段と、
を有することを特徴とするＩＣカード決済端末。
【請求項２】
さらに第２の不揮発性メモリを備え、
前記所定処理実行に必要な情報のうち動的且つ変更頻度が高い情報は前記第１の不揮発性メモリに格納し、変更頻度が低い情報は前記第２の不揮発性メモリに格納し、
前記縮退運転処理実行手段は、該第１の不揮発性メモリ及び第２の不揮発性メモリに格納された情報を用いて前記所定処理を実行することを特徴とする請求項１記載のＩＣカード決済端末。
【請求項３】
前記ＩＣカード決済端末の起動時に、タンパ未発生か否かを判定し、タンパ未発生の場合には前記第１の不揮発性メモリに記憶されている前記所定処理実行に必要な情報を前記揮発性メモリにコピーし、タンパ発生している場合には予め決められている仮情報を前記揮発性メモリに記憶することを特徴とする請求項１または２記載のＩＣカード決済端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子マネー用の決済端末を用い、投入金額分の電子マネーをＩＣカードに入金、積み増ししたり、商品やサービス購入時の利用額分の電子マネーをＩＣカードから差し引いたりする電子マネーシステムに関する。
【背景技術】
【０００２】
非接触ＩＣカードや非接触ＩＣカード機能搭載の携帯電話等（以下、ＩＣカードという）を用いた、電子マネーを使用するキャッシュレス決済システムでは、ＩＣカードへの入金処理や利用額の差引き処理等に代表されるＩＣカードへの各種アクセス処理を、ＩＣカード・リーダ／ライタ装置を有するＩＣカード用決済端末が行なっている。
【０００３】
ＩＣカード用決済端末は、ＩＣカードとセキュアに通信を行うために、通信内容を暗号化する必要があり、そのための鍵情報等の秘匿情報を保持する必要がある。また取引結果（ＩＣカード決済処理結果）を示す取引明細情報の保持も必要である。
【０００４】
また、取引明細情報等をＩＣカード発行・決済会社のセンター・サーバ等に通知する必要があるが、そのための接続先を示す情報等（上記サーバのＩＰアドレス等）の保持も必要となる。また、プログラムの動作に必要な設定値等（プログラム設定値という）も保持する必要がある。このプログラム設定値は、例えば上記取引明細の通番等があり、この情報が無いと決済端末のプログラムが正常に動作しない可能性がある。尚、上記接続先を示す情報等もプログラム設定値の一種と考えても良い。
【０００５】
このように、ＩＣカード決済端末では、秘匿しなければならない情報（鍵など）、取引毎（決済処理毎）に生成されて保持すべき情報（取引明細情報等）、予め設定する情報(接続先など)やプログラムの正常動作に必要な情報(明細の通番等)等の、情報の発生／変更／参照タイミングや頻度、秘匿性などが異なる複数の情報を保持する必要がある。
【０００６】
特に、鍵情報などの秘匿性の高い情報は、情報漏洩がキャッシュレス決済システム全体の信頼性に直結するため、よりセキュアに保持する必要がある。これより、通常は、鍵等の秘匿情報は決済端末内に暗号化して保持するとともに、決済端末の筐体などが開封されるなどの不正利用があった場合に、それを検知して秘匿情報を削除する等の耐タンパ機能が求められる。
【０００７】
この耐タンパ技術としては、一例として、例えば特許文献１に開示されているように、物理的な攻撃（決済端末の筐体などが開封されたこと等）を検知すると（タンパ検知すると）、上記鍵情報などの秘匿情報（特許文献１ではアクセス鍵という）を消去することで、秘匿情報の漏洩を防止することが知られている。尚、この“消去”には、例えば全データを‘１’または‘０’にすることも含まれる。
【０００８】
ここで、従来では、決済端末内の記憶装置として、プログラムを動作させるための揮発性のメモリであるＳＤＲＡＭと、電源が切断されても消えてはいけないデータを保存するために、不揮発性のメモリとしてＳＲＡＭとフラッシュメモリを配置する。尚、ＳＲＡＭ自体は揮発性のメモリであるが、電池などのバックアップ電源を接続することで不揮発性のメモリとして利用する。
【０００９】
ＳＲＡＭは、ランダムかつ高速なリードライト性能に優れるため、プログラム設定値などを格納する。フラッシュメモリは、アクセス性能が低く、またデータの書き込み回数に制限があるが、ＳＲＡＭに比べて極めて安価で大容量化しやすいため、プログラム本体や明細情報等の、書き込みが頻繁に行われないようなデータを保持するようにする。また、ＳＤＲＡＭはプログラム動作中に使われる作業用メモリ（ワークメモリ）である。尚、明細情報は、一時的にＳＲＡＭに記憶された後にフラッシュメモリに書き込まれる場合もある。
【００１０】
鍵情報等の秘匿情報は、前述の通り、物理的攻撃があった場合にハードウェアでそれを検知しかつ削除する必要があるため、例えば、タンパ検知時にバックアップ電源からの通電を切断する機能を有する回路に接続されたＳＲＡＭ（耐タンパ機能を有するＳＲＡＭというものとする）に、秘匿情報を格納することで、タンパ検知時に秘匿情報が消去されるようにする。
【００１１】
また、決済端末は、タンパ検知した場合、その後は縮退運転状態になり、所定の処理を行う必要がある。すなわち決済処理等の取引業務は停止させる必要があるが、端末内部に保持された取引情報（決済明細）をＩＣカード発行・決済会社のセンタサーバに送信するなど、電子マネー利用者の課金に係わる情報を外部に読み出す処理等を実行する必要がある。
【００１２】
このため、タンパ検知した場合に、プログラムは停止したり、異常動作をしてはならない。また、サーバのＩＰアドレス等が消去されてはならない。よって、上記プログラムの正常動作に必要な情報（明細の通番等）やＩＰアドレス等の、縮退運転時の所定処理を実行する為に必要な情報は、タンパ検知後でも残っている必要があり、タンパ検知によって消去されてはならない。
【００１３】
しかし、プログラム設定値等が上記耐タンパ機能を有するＳＲＡＭに保持されていると、タンパ検出時に消去されるため、その後の端末動作に支障がある。そこで、鍵情報等の秘匿情報だけを専門に保持するための耐タンパ機能を有する小容量（64KB）ＳＲＡＭと、耐タンパ機能をもたない比較的大容量（2MByte）のＳＲＡＭとの2つのメモリを物理的に配置し、使い分けている。比較的大容量（2MByte）のＳＲＡＭには、上記縮退運転時の所定処理を行う為に必要な情報（プログラム設定値等）が記憶される。
【特許文献１】特開２００６−１８０２４４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
ＳＲＡＭは他のメモリに比べて容量あたりの単価が極めて高く、ＳＲＡＭの容量が製品の価格に大きな影響を与える。この為、上記のような事情により２つのＳＲＡＭを配置する場合、ＳＲＡＭに関するコスト増の問題が生じ、これは決済端末のコスト増に直結する。
【００１５】
また、ＩＣカードは複数種類（複数のブランドが）存在する。すなわち、複数のＩＣカード発行・決済会社がそれぞれ自社ブランドのＩＣカードを発行・管理している。そして、昨今、１台の決済端末で複数のブランドの電子マネーを利用できるマルチブランド決済端末に対するニーズが高まっているため、ブランドのサポート数増加に伴い、各ブランド毎のプログラム設定値等を格納する必要があり、ＳＲＡＭの容量不足が問題となり、ＳＲＡＭの容量を増加させなければならない。このため、決済端末のコスト増の問題が更に大きくなっている。
【００１６】
本発明の課題は、耐タンパ機能を有し、タンパ検知後の縮退運転状態で所定処理を行うＩＣカード決済端末において、高コストであるＳＲＡＭに関するコスト削減を実現し、以って決済端末のコスト削減を行えるＩＣカード決済端末等を提供することにある。
【課題を解決するための手段】
【００１７】
本発明のＩＣカード決済端末は、耐タンパ機能を有し、タンパ検出後には縮退運転状態となって所定処理を実行するＩＣカード決済端末において、前記耐タンパ機能によってタンパ検出された場合に記憶データが消去されるメモリであって、ＩＣカードとの暗号通信に必要な秘匿情報と、前記所定処理実行に必要な情報を格納する第１の不揮発性メモリ（ＳＲＡＭ）と、揮発性メモリ（ＳＤＲＡＭ）と、前記所定処理実行に必要な情報を更新する為に任意のデータを書き込む際に、該任意のデータを前記第１の不揮発性メモリ（ＳＲＡＭ）と前記揮発性メモリ（ＳＤＲＡＭ）とに書き込むデータライト手段と、前記耐タンパ機能によるタンパ検出後の前記縮退運転状態において、前記揮発性メモリ（ＳＤＲＡＭ）に記憶された前記所定処理実行に必要な情報を用いて前記所定処理を実行する縮退運転処理実行手段とを有する。
【００１８】
上記構成のＩＣカード決済端末では、従来ではＳＲＡＭが２つ必要であったのに対して、ＳＲＡＭは１つのみである。つまり、上記耐タンパ機能をもたないＳＲＡＭは削除されている。本構成の１つのＳＲＡＭは上記耐タンパ機能をもったＳＲＡＭに相当するが、秘匿情報だけでなく、縮退運転時の所定処理実行に必要な情報（プログラム設定値等）も記憶される。よって、タンパ検知された場合には、ＳＲＡＭのプログラム設定値等は秘匿情報と共に消去される。
【００１９】
しかし、プログラム設定値等に関しては、ＳＤＲＡＭにもＳＲＡＭと同じデータを記憶させておくことで、ＳＤＲＡＭに記憶されたプログラム設定値等を用いて縮退運転時の所定処理を実行できる。
【００２０】
上記の通り、本構成ではＳＲＡＭは１つで済むので、コスト削減効果が得られる。また、ＳＲＡＭが１つであっても縮退運転時の所定処理を問題なく行える。
また、例えば、さらに第２の不揮発性メモリ（フラッシュメモリ）を備え、前記所定処理実行に必要な情報のうち動的且つ変更頻度が高い情報は前記第１の不揮発性メモリ（ＳＲＡＭ）に格納し、変更頻度が低い情報は前記第２の不揮発性メモリ（フラッシュメモリ）に格納し、前記縮退運転処理実行手段は、該第１の不揮発性メモリ（ＳＲＡＭ）及び第２の不揮発性メモリ（フラッシュメモリ）に格納された情報を用いて前記所定処理を実行する。
【００２１】
上記構成とすることで、縮退運転状態における所定処理を実行する為に必要となる情報（プログラム設定値等）の全てをＳＲＡＭに格納する場合に比べて、ＳＲＡＭの容量が少なくて済む。上記の通り、ＳＲＡＭは他のメモリに比べて容量あたりの単価が極めて高いので、比較的容量が少なくて済むことで更なるコスト削減効果が得られる。また、フラッシュメモリはアクセス性能が低いが、フラッシュメモリには変更頻度が低い情報が格納されるので、問題なく動作できる。
【００２２】
また、例えば、前記ＩＣカード決済端末の起動時に、タンパ未発生か否かを判定し、タンパ未発生の場合には前記第１の不揮発性メモリ（ＳＲＡＭ）に記憶されている前記所定処理実行に必要な情報を前記揮発性メモリ（ＳＤＲＡＭ）にコピーし、タンパ発生している場合には予め決められている仮情報を前記揮発性メモリ（ＳＤＲＡＭ）に記憶する。
【００２３】
上記の通り、ＳＤＲＡＭは、タンパ検出時にはデータ消去されないが端末の主電源ＯＦＦによりデータ消去されてしまう。これより、端末起動時の初期処理として、ＳＲＡＭに記憶されているプログラム設定値をＳＤＲＡＭにコピーする。但し、起動前にタンパ発生していた場合には、ＳＲＡＭのデータは消去されているので、予め決められている仮情報をＳＤＲＡＭに記憶することで、動作可能な状態とする。
【発明の効果】
【００２４】
本発明のＩＣカード決済端末等によれば、耐タンパ機能を有し、タンパ検知後の縮退運転状態で所定処理を行うＩＣカード決済端末において、高コストである不揮発性メモリ（ＳＲＡＭ）に関するコスト削減を実現し、以って決済端末のコスト削減を行える。
【発明を実施するための最良の形態】
【００２５】
以下、図面を参照して本発明の実施の形態について説明する。
図１に本例のＩＣカード決済端末の構成例を示す。
図示のＩＣカード決済端末１０は、主制御部１１、記憶装置１２、通信制御部（対主局）１３、通信制御部（対センタ）１４、通信制御部（対カード）１５を有する。
【００２６】
通信制御部（対主局）１３は主局（上位コントローラ）１との通信を行う機能部であり、通信制御部（対センタ）１４はセンタサーバ２との通信を行う機能部であり、通信制御部（対カード）１５はＩＣカード３との通信を行う機能部である。これらについては特に説明しないが、主局は例えばＰＯＳ端末等であり、センタサーバ２は上述したＩＣカード発行・決済会社のサーバ装置である。
【００２７】
上述してあるように、ＩＣカード決済端末１０は、タンパ検知後の縮退運転状態において所定処理（センタサーバ２に対して取引明細情報等を通知する処理等）等を行う必要がある。つまり、決済処理は行えないまでも、最低限の動作が行えるようにする必要がある。この為、最低限の動作が行えるようにする情報、特に上記縮退運転時の所定処理等を行う為に必要な情報（プログラム設定値等）、すなわちタンパ検知された場合でも消えて欲しくない情報は、タンパ検知後でも消去／破壊されずに残っているようにする必要がある。しかし、従来ではその為に高額なＳＲＡＭを２つ配置する必要があり、コスト高となる問題があった。
【００２８】
これに対して、本例のＩＣカード決済端末１０では、ＳＲＡＭは１つで済み、また当該ＳＲＡＭの容量が比較的少なくて済むようにすることで、コスト削減効果が得られる。詳しくは後述する。
【００２９】
主制御部１１は、ＩＣカード決済端末１０全体を制御する中央処理装置（ＣＰＵ／ＭＰＵ等）であり、上記各通信制御部１３、１４、１５を制御して、主局（上位コントローラ）１、センタサーバ２、ＩＣカード３との通信を行わせる。
【００３０】
また、主制御部１１は、後述する図２、図３（ａ）、（ｂ）、図４（ａ）に示す各フローチャートの処理を実行する。主制御部１１は、例えば後述するフラッシュメモリ１２ｃに予め記憶されている所定のアプリケーションプログラム（プログラム本体）を、読出し・実行することにより、これら図２、図３（ａ）、（ｂ）、図４（ａ）の各処理を実行する。
【００３１】
また、特に図示しないが、従来で説明した耐タンパ技術として、例えば物理的な攻撃（決済端末の筐体などが開封されたこと等）を検知する為のスイッチ／センサ等（タンパ検知部というものとする）も設けられている。
【００３２】
ここで、図示の通り、本例のＩＣカード決済端末１０における記憶装置１２は、ＳＤＲＡＭ１２ａ、ＳＲＡＭ１２ｂ、フラッシュメモリ１２ｃより成る。
ＳＲＡＭ１２ｂは、上述した「耐タンパ機能を有するＳＲＡＭ」である。よって、特に図示しないが、電池等のバックアップ電源が接続されていると共に、上記タンパ検知部によって開封検知等された場合に、バックアップ電源からの通電を切断することでＳＲＡＭ１２ｂに記憶されている全データを消去する機能も備えられている。尚、この“消去”には、例えば全データを‘１’または‘０’にすることも含まれる。また、尚、これらタンパ検知部やデータ消去機能にも、バックアップ電源から電源供給されており、ＩＣカード決済端末１０の主電源がＯＦＦ状態のときでも、動作可能となっている。
【００３３】
上記従来で説明した通り、従来の端末では「耐タンパ機能を有し、鍵などの秘匿情報を記憶するＳＲＡＭ」と「耐タンパ機能を持たない、プログラム設定値等を記憶するＳＲＡＭ」の２つのＳＲＡＭが必要であった。これに対して、本例の端末では１つのＳＲＡＭだけで済むようになる。従って、ＳＲＡＭに関するコスト削減効果が得られ、以って決済端末１０のコスト削減効果が得られる。
【００３４】
すなわち、上記記憶装置１２には、上記「プログラム設定値等を格納するための、耐タンパ機能を持たないＳＲＡＭ」は存在しない。ＳＲＡＭ１２ｂは上記の通り耐タンパ機能を有するＳＲＡＭである。但し、従来のような鍵情報などの秘匿情報だけを専門に保持するのではなく、秘匿情報と共に上述してある「縮退運転状態における所定処理を実行する為に必要な情報」、すなわち上記プログラム設定値等の情報も保持している。
【００３５】
このプログラム設定値は、既に述べたように、プログラムが正常に動作する為に必要な情報（明細の通番等）や、決済処理に係わる情報を外部に通知する為の情報（センタサーバ２のＩＰアドレス等）である。このプログラム設定値等の「縮退運転状態における所定処理を実行する為に必要な情報」を、全てをＳＲＡＭ１２ｂに格納する形態であってもよいが、後述するように、プログラム設定値の一部をＳＲＡＭ１２ｂに格納する形態が望ましい。
【００３６】
何れにしても本例では鍵情報等の秘匿情報を記憶する、耐タンパ機能を有するＳＲＡＭ１２ｂに、プログラム設定値等も格納するので、上記タンパ検知部によって開封検知等された場合に、ＳＲＡＭ１２ｂに保持されている情報は全て消去されるので、秘匿情報だけでなく、「縮退運転状態における所定処理を実行する為に必要な情報」も消去される。
【００３７】
しかし、本手法では、後に図２〜図４を参照して説明する処理を行うことにより、ＳＲＡＭ１２ｂに保持された情報が全て消去されても、問題なく、縮退運転状態において実行すべき処理（所定処理）を実行できる。
【００３８】
また、縮退運転時のプログラム動作（所定処理）に必要な各種情報（プログラム設定値等）を、動的かつ頻繁に変更されるデータと、変更頻度が低いデータとに分別する。これは、人間が判断するが、例えば、動的かつ頻繁に変更されるデータ（動的且つ変更頻度が高いデータ）の一例としては、明細の通番等が考えられる。また、変更頻度が低いデータとしては、音量設定値、センタサーバ２のＩＰアドレス等が考えられる。尚、“動的”とは、例えば決済処理毎に書き換えられることを意味する。
【００３９】
そして、上記縮退運転時の所定処理に必要な各種情報のうちの一部のみを、ＳＲＡＭ１２ｂに格納する。すなわち、上記動的かつ頻繁に変更されるデータはＳＲＡＭ１２ｂに格納し、変更頻度が低いデータはフラッシュメモリ１２ｃに格納する。この様にすることで、上記所定処理に必要な各種情報を全てＳＲＡＭ１２ｂに格納する場合に比べて、ＳＲＡＭ１２ｂの容量が比較的少なくて済み、ＳＲＡＭを２つから１つにすることと合わせて、十分なコスト削減効果が得られるようになる。
【００４０】
また、動的かつ頻繁に変更されるデータは、アクセス性能が低いフラッシュメモリではなく、アクセス性能が高い（高速にデータリードライトできる）ＳＲＡＭに格納するので、決済処理等の各種処理に関して処理時間が掛かる等の問題が生じることはない。一方、変更頻度が低いデータは、処理時間が掛かってもそれほど影響はないので、フラッシュメモリ１２ｃに格納しても問題ない。
【００４１】
但し、この例に限らない。上記所定処理に必要な各種情報を全てＳＲＡＭ１２ｂに格納する形態としても、ＳＲＡＭが１つで済むことによるコスト削減効果は得られる。
尚、所定処理に必要な各種情報のうちの一部のみをＳＲＡＭ１２ｂに格納する形態の場合、例えば一例としては、鍵情報等の秘匿情報を記憶する記憶領域は６４kB程度、上記動的かつ頻繁に変更されるデータを記憶する記憶領域は４４８kB程度で済むので、ＳＲＡＭ１２ｂの容量は５１２kBで済むことになる。
【００４２】
尚、フラッシュメモリ１２ｃには、従来と同様、プログラム本体（主制御部１１に実行させる上記所定のアプリケーションプログラム等）や明細情報等も格納される。尚、明細情報は、ＩＣカードへのアクセス処理中に作成されるが、フラッシュメモリ１２ｃに書き込むには時間が掛かる為、一旦、ＳＲＡＭ１２ｂに格納し、アクセス処理終了後にフラッシュメモリ１２ｃにコピーされる（コピー完了したらＳＲＡＭ１２ｂから削除される）。この意味で、ＳＲＡＭ１２ｂに記憶される上記動的かつ頻繁に変更されるデータには、この様なＳＲＡＭ１２ｂに一時的に記憶される明細情報も含まれると考えることもできる。この様にＳＲＡＭ１２ｂに一時的に記憶される明細情報も「縮退運転時の所定処理を実行する為に必要な情報」である。
【００４３】
ＳＤＲＡＭ１２ａは、基本的には従来と同様に作業用メモリとして用いられるものであるが、本手法では更に、ＳＲＡＭ１２ｂの格納データ（但し、秘匿情報は除く）が格納される。つまり、例えば上記動的かつ頻繁に変更されるデータも格納される。
【００４４】
以下、図２以降を参照して説明する。
図２に、起動処理のフローチャート図を示す。
ＩＣカード決済端末１０は、その主電源がＯＮされると、起動処理として図２の処理が実行される。まず、タンパ検知されているかどうかを確認する（ステップＳ１）。
【００４５】
タンパ検知されていない場合には（ステップＳ１，ＹＥＳ）、ＳＲＡＭ１２ｂに記憶されているデータのうち、秘匿情報以外の情報（上記「動的かつ頻繁に変更されるデータ」等）を、ＳＤＲＡＭ１２ａにコピーする（ステップＳ２）。尚、ＳＲＡＭ１２ｂにおいて、秘匿情報を記憶する記憶領域は予め決まっており、ステップＳ２の処理ではこの領域のデータにはアクセスしない。
【００４６】
一方、例えば主電源ＯＦＦ状態の間に筐体開封が行われてタンパ検知されていた場合、ＳＲＡＭ１２ｂの全データは消去された状態となっている。これより、もしタンパ検知されている場合には（ステップＳ１，ＮＯ）、最低限の動作（上記縮退運転状態において実行すべき処理等；あるいは、この処理が出来ない場合でも、タンパ発生を通知する処理等の何らかの動作が可能となるように）を実行可能とする為に、予めプログラムに設定された所定値（仮の設定値）を用いてＳＤＲＡＭ１２ａの内容を構築する（ステップＳ３）。これは、例えば、上記明細情報の通番として予めプログラムに設定された番号をＳＤＲＡＭ１２ａに格納する。通常、明細情報の通番は、予め決められた範囲（例えば１〜９９９９等）の番号が用いられるものであり、この範囲内の任意の番号が予めプログラム内に記述されている。上記縮退運転状態において実行すべき処理では、例えば明細情報の通番を確認する必要があり、もし通番が記憶されていなかったり、上記範囲内の値では無い場合には、プログラムは正常な動作ができなくなってしまう。この為、上記ステップＳ３の処理を行っている。
【００４７】
尚、ステップＳ３の処理が行われた場合、縮退運転状態となる。
一方、上記起動処理においてステップＳ２の処理が実行された場合には、その後は通常処理（決済処理等）を行う状態となり、この処理に伴って任意のデータをメモリから読み出したり書き込む処理が実行されるが、このデータ・リード／ライト処理は、本手法では、図３（ａ）、（ｂ）に示す処理を行う。
【００４８】
図３（ａ）にはデータライト処理、図３（ｂ）にはデータリード処理のフローチャート図を示す。
図３（ａ）に示すように、データライト処理においては、書き込むべきデータを、ＳＲＡＭ１２ｂ、ＳＤＲＡＭ１２ａ両方に記録し、両記憶領域間の整合性を取る。すなわち、ＳＲＡＭ１２ｂにデータを書き込み（ステップＳ１１）、同じデータをＳＤＲＡＭ１２ａにも書き込む（ステップＳ１２）。
【００４９】
また、図３（ｂ）に示すように、データリード処理においては、ＳＤＲＡＭ１２ａからデータを読み出す（ステップＳ２１）。尚、通常、ＳＤＲＡＭ１２ａの方がＳＲＡＭ１２ｂよりも高速にデータリードできる。
【００５０】
上記の通り、フラッシュメモリ１２ｃはアクセス性能が低い為、縮退運転状態において実行すべき処理に必要な情報を、全てフラッシュメモリ１２ｃに格納することには問題がある。すなわち、上記「動的かつ頻繁に変更されるデータ」はフラッシュメモリ１２ｃに格納することには問題がある。また、このデータをＳＤＲＡＭ１２ａのみに格納する場合、ＳＤＲＡＭ１２ａは揮発性メモリであるので、例えば停電等で主電源がＯＦＦした場合、データが消去されてしまう。一方、このデータをＳＲＡＭ１２ｂのみに格納することにした場合、タンパ検知した時にデータが消去されてしまう。
【００５１】
これより、本手法では、例えば上記「動的かつ頻繁に変更されるデータ」を、常に、ＳＤＲＡＭ１２ａとＳＲＡＭ１２ｂの両方に記憶するようにしている。これより、タンパ検知したときには、その後の縮退運転状態において実行すべき上記所定処理を、ＳＤＲＡＭ１２ａに記憶されているデータを用いて実行することができる（勿論、フラッシュメモリ１２ｃに記憶されているデータも用いる）。
【００５２】
また、ＳＤＲＡＭ１２ａに格納されたデータは、主電源ＯＦＦにより消去されるが（これは、停電時に限らず、運用休止期間の場合もある）、上記図２の処理により、ＳＲＡＭ１２ｂのデータがコピーされ、ＳＤＲＡＭ１２ａ、ＳＲＡＭ１２ｂ両方に同じデータが記憶された状態で運用開始できる。
【００５３】
タンパ検知した場合は、ＳＲＡＭ１２ｂの内容が物理的に破壊され、ＳＲＡＭ１２ｂからデータをリードしても不定な値しか読むことが出来ない。しかし、タンパ発生時でもＳＲＡＭ１２ｂと同じ内容が記憶されているＳＤＲＡＭ１２ａのデータを読み出すことで、例えば縮退運転時の所定処理等を問題なく実行することが出来る。尚、この状態でデータをＳＲＡＭ１２ｂに書き込んでも保持できないことから、端末は縮退運転（決済処理を禁止し、センタ通信や端末内部からのデータ読出しなどの一部動作のみ許された制限された状態）を行うのみであり、通常の動作（決済処理等）は行えない。
【００５４】
図４（ａ）にタンパ検知処理のフローチャート図を示す。
この例ではタンパ検知は２種類の方法で行う。すなわち、筐体を開封したことを検知するなど、不正利用があることを検知する各種センサ状態の確認と、ＳＲＡＭ１２ｂの特定領域に特定の値を予め設定しておき、その値に差異がないことの確認である。
【００５５】
尚、ここでは、センサは、通常時はＯＦＦ状態であり、不正（筐体開封等）を検知した場合にはＯＮ状態になるものとする。また尚、上記特定領域の一例を図４（ｂ）に示す。図４（ｂ）に示す３つのチェック領域（チェック領域１，２，３；ＳＲＡＭ１２ｂの上位16Byte、中位の16Byte、下位の16Byte）が、上記特定領域に相当する。そして、これら３つのチェック領域に同じ値（上記特定値に相当；例えば0x5aなどの固定データ）を予め書き込んでおく。そして、定周期で、この固定データ値が書き込まれていることを確認する。これは、例えば全特定領域のデータ同士を比較して、一致するか否かを確認する。この例に限らず、例えば当該処理プログラム中に上記固定データ値が記述されており、全特定領域のデータがこの固定データ値と一致するか否かを確認する。
【００５６】
上記の例に応じて、図４（ａ）の処理では、上記不正（筐体開封等）検出の為のセンサがＯＦＦであるか否かを判定し（ステップＳ３１）、ＯＦＦである場合には（ステップＳ３１，ＹＥＳ）、更に上記各特定領域のデータが上記特定値であるか否か（改竄されていないか）を判定する（ステップＳ３２）。センサがＯＮの場合（ステップＳ３１，ＮＯ）または上記各特定領域のデータが上記特定値ではない場合には（ステップＳ３２，ＮＯ）、タンパ検知したものと判定し端末を縮退運転状態に遷移させる（ステップＳ３３）。
【００５７】
ステップＳ３３の処理が実行され、端末が縮退運転状態に遷移したならば、上記の通り、ＳＤＲＡＭ１２ａのデータ等を用いて、縮退運転時の所定処理を実行することになる。
本手法によれば、高コストであるＳＲＡＭに関するコスト削減を図ることができ、決済端末におけるコスト削減効果が得られる。
【図面の簡単な説明】
【００５８】
【図１】本例のＩＣカード決済端末の構成例である。
【図２】起動処理のフローチャート図である。
【図３】（ａ）はデータライト処理、（ｂ）はデータリード処理のフローチャート図、（ｃ）はそのイメージを示す図である。
【図４】（ａ）はタンパ検知処理のフローチャート図、（ｂ）はチェック領域を示す図である。
【符号の説明】
【００５９】
１  主局（上位コントローラ）
２  センタサーバ
３  ＩＣカード３
１０  ＩＣカード決済端末
１１  主制御部
１２  記憶装置
１３  通信制御部（対主局）
１４  通信制御部（対センタ）
１５  通信制御部（対カード）
【図１】
2010122807.tif 000003
【図２】
2010122807.tif 000004
【図３】
2010122807.tif 000005
【図４】
2010122807.tif 000006