(57)【要約】【課題】設定情報の記憶部への書き込みの頻度を抑えるカード処理システムを提供する。【解決手段】  カード処理システムＸは、カード処理装置１及び上位装置２を備える。ミドルウェア実行部２１０は、カード処理装置１を制御するミドルウェアを実行する。ミドルウェア実行部２１０は、取引種別に対応してカード処理装置１へ第一設定情報３００を送信する。設定情報取得部１００は、上位装置２から第一設定情報３００を取得する。記憶部１１は、フラッシュメモリＦ等を含み、書き込み可能回数に制限がある。設定記憶制御部１１０は、記憶部１１への第一設定情報３００の記憶の前に、第一設定情報３００のハッシュ値３０１を算出し、記憶部１１に以前に記憶された第二設定情報４００のハッシュ値３０１と比較し、異なる場合は記憶部１１に記憶された第二設定情報４００を第一設定情報３００で置き換え、同じ場合は置き換えないよう制御する。【選択図】図１
2020181462.tif 000002
【特許請求の範囲】
【請求項１】
カード処理装置、及び該カード処理装置が搭載される上位装置を備えるカード処理システムであって、
前記上位装置は、
前記カード処理装置を制御するミドルウェアを実行するミドルウェア実行部を備え、
前記ミドルウェア実行部は、取引種別に対応して前記カード処理装置へ第一設定情報を送信し、
前記カード処理装置は、
前記上位装置から前記第一設定情報を取得する設定情報取得部と、
前記設定情報取得部により以前に取得された第二設定情報を記憶する、書き換え可能回数に制限のある記憶部と、
前記設定情報取得部により取得された前記第一設定情報のハッシュ値と、前記第二設定情報のハッシュ値とを比較し、異なる場合は前記記憶部に記憶された前記第二設定情報を前記第一設定情報で置き換え、同じ場合は置き換えないよう制御する設定記憶制御部とを備える
ことを特徴とするカード処理システム。
【請求項２】
前記設定記憶制御部は、
前記第二設定情報が前記記憶部に記憶された際に、前記記憶部内のデータの誤り検出符号値を算出して、前記上位装置へ送信しておき、
前記ミドルウェア実行部は、
前記誤り検出符号値を取得して記憶しておき、前記第一設定情報の送信の際に前記誤り検出符号値も送信し、
前記取引情報取得部は、
現在の前記記憶部内のデータの誤り符号値を算出して、前記上位装置から取得された前記誤り検出符号値と同一かどうか判定し、同一と判定した場合は前記設定記憶制御部に前記ハッシュ値の比較を行わせ、同一でないと判定した場合は前記第二設定情報を前記第一設定情報で置き換える
ことを特徴とする請求項１に記載のカード処理システム。
【請求項３】
前記第一設定情報及び前記第二設定情報は、クレジットカード又はデビットカードの種別、クレジットカードの種類、上限金額、及び取引内容に対応する情報を含む
ことを特徴とする請求項１又は２に記載のカード処理システム。
【請求項４】
上位装置から第一設定情報を取得する取引情報取得部と、
前記設定情報取得部により以前に取得された第二設定情報を記憶する、書き換え可能回数に制限のある記憶部と、
前記設定情報取得部により取得された前記第一設定情報のハッシュ値と、前記第二設定情報のハッシュ値とを比較し、異なる場合は前記記憶部に記憶された前記第二設定情報を前記第一設定情報で置き換え、同じ場合は置き換えないよう制御する設定記憶制御部とを備える
ことを特徴とするカード処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に標準規格の取引を行うカード処理システム及びカード処理装置に関する。
【背景技術】
【０００２】
従来から、カード状媒体（以下、単に「カード」と称する。）の読み取りや書き込みを行うカードリーダ等のカード処理装置、及び、このようなカード処理装置が搭載されるＡＴＭ（Automatic Teller Machine）等のカード処理システムが存在する。
たとえば、特許文献１には、このようなカード処理システムにおいて、ファームウェアの更新に際してソフトウェア開発の負担を減らし、利便性を高める電子機器システムが記載されている。特許文献１のシステムは、電子機器のファームウェア更新用アプリケーションソフトウェアを格納する領域及びファームウェア更新用ＤＬＬモジュールを格納する領域を備え、ファームウェア更新用ＤＬＬモジュールを格納する領域には、更新用ファームウェアデータを格納する領域が備えられていることを特徴とする。
【０００３】
一方、ＥＭＶ  Ｌｅｖｅｌ２規格等の標準規格のカード処理装置においては、カードの取引毎に、毎回、ＡＴＭ等の上位装置から、設定情報が送信される。送られた設定情報は、カード処理装置内のフラッシュメモリ等の記憶部に記憶され、電源が再投入された場合においても、その設定の状態を保つことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２４５３９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ここで、特許文献１に記載された電子機器システムは、ファームウェアの更新のような、書き込み回数が少ない場合を想定した技術であった。
このため、標準規格のカード処理装置では、取引毎に、頻繁に記憶部内に設定情報を書き込むため、フラッシュメモリの最大書き込み可能回数（寿命）に短期間で到達してしまう可能性があるという問題があった。
【０００６】
本発明は、このような状況に鑑みてなされたものであり、設定情報の記憶部への書き込みの頻度を抑えるカード処理システムを提供し、上述の問題を解消することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のカード処理システムは、カード処理装置、及び該カード処理装置が搭載される上位装置を備えるカード処理システムであって、前記上位装置は、前記カード処理装置を制御するミドルウェアを実行するミドルウェア実行部を備え、前記ミドルウェア実行部は、取引種別に対応して前記カード処理装置へ第一設定情報を送信し、前記カード処理装置は、前記上位装置から前記第一設定情報を取得する設定情報取得部と、前記設定情報取得部により以前に取得された第二設定情報を記憶する、書き換え可能回数に制限のある記憶部と、前記設定情報取得部により取得された前記第一設定情報のハッシュ値と、前記第二設定情報のハッシュ値とを比較し、異なる場合は前記記憶部に記憶された前記第二設定情報を前記第一設定情報で置き換え、同じ場合は置き換えないよう制御する設定記憶制御部とを備えることを特徴とする。
このように構成することで、設定情報の記憶部への書き込みの頻度を抑えることができる。
【０００８】
また、前記設定記憶制御部は、前記第二設定情報が前記記憶部に記憶された際に、前記記憶部内のデータの誤り検出符号値を算出して、前記上位装置へ送信しておき、前記ミドルウェア実行部は、前記誤り検出符号値を取得して記憶しておき、前記第一設定情報の送信の際に前記誤り検出符号値も送信し、前記取引情報取得部は、現在の前記記憶部内のデータの誤り符号値を算出して、前記上位装置から取得された前記誤り検出符号値と同一かどうか判定し、同一と判定した場合は前記設定記憶制御部に前記ハッシュ値の比較を行わせ、同一でないと判定した場合は前記第二設定情報を前記第一設定情報で置き換えてもよい。
このように構成することで、別のアプリ等から記憶部の内容が書き換えられたり、別のカード処理装置に差し替えられたりしたことを容易に検出可能となる。
【０００９】
また、前記第一設定情報及び前記第二設定情報は、クレジットカード又はデビットカードの種別、クレジットカードの種類、上限金額、及び取引内容に対応する情報を含んでもよい。
このように構成することで、設定情報のうち、取引毎に変更する必要がある情報について、書き込みを制御することが可能となる。
【００１０】
本発明のカード処理装置は、上位装置から第一設定情報を取得する取引情報取得部と、前記設定情報取得部により以前に取得された第二設定情報を記憶する、書き換え可能回数に制限のある記憶部と、前記設定情報取得部により取得された前記第一設定情報のハッシュ値と、前記第二設定情報のハッシュ値とを比較し、異なる場合は前記記憶部に記憶された前記第二設定情報を前記第一設定情報で置き換え、同じ場合は置き換えないよう制御する設定記憶制御部とを備えることを特徴とする。
このように構成することで、設定情報の記憶部への書き込みの頻度を抑えることができる。
【発明の効果】
【００１１】
本発明によれば、記憶部に以前に記憶された第二設定情報のハッシュ値と、上位装置から取得した第一設定情報のハッシュ値とを比較し、異なる場合は置き換え、同じ場合は置き換えないよう制御することで、設定情報の記憶部への書き込みの頻度を抑えることが可能な情報処理システムを提供することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施の形態に係るカード処理システムのシステム構成図である。
【図２】本発明の実施の形態に係る設定情報書込制御処理のフローチャートである。
【図３】本発明の設定情報書込制御処理の概念図である。
【発明を実施するための形態】
【００１３】
＜実施の形態＞
〔カード処理システムＸの構成〕
図１を参照して、本発明の実施の形態に係るカード処理システムＸの構成について説明する。
カード処理システムＸは、カード処理装置１、及びカード処理装置１が搭載される上位装置２を含んで構成される。
本実施形態において、カード処理装置１と上位装置２との間は、ＵＳＢ（Universal Serial Bus）、ＲＳ−２３２Ｃ、イーサネット（登録商標）（Ethernet）等のＬＡＮ（Local Area Network）で接続される。
【００１４】
カード処理装置１は、例えば、標準規格の主に非接触型ＩＣカードの読み取りや書き込みを行うカードリーダ等である。本実施形態においては、カード処理装置１は、例えば、金融取引用ＩＣカードの国際的なデファクト・スタンダード（標準規格）であるＥＭＶ仕様に基づいた、ＥＭＶ  Ｌｅｖｅｌ２の非接触型決済（取引）のためのＩＣカードリーダである。カード処理装置１は、例えば、ＮＦＣ（Near-Field Communications、近距離無線）を用いて、カード３に信号を送り、取引を行う。
【００１５】
上位装置２は、例えば、ＡＴＭ（Automated Teller Machine）、その他の決済システム、キオスク（Kiosk）の端末、交通機関のチケット発行システム、コンビニエンスストア等のポイントカード決済システム、小売店のメンバーカード発行システム、遊技機のカード発行支払システム、入退場管理システム等（以下、単に「ＡＴＭ等」と省略して記載する。）である。または、上位装置２として、ＰＣ（Personal Computer）、キャッシュレジスター、その他の決済用端末を用いることも可能である。
【００１６】
カード３は、クレジットカード、デビットカード、その他の決済用の「スマートカード」等の非接触型ＩＣカードである。または、カード３は、接触型ＩＣカード、及び／又は磁気ストライプを備えた磁気カード等であってもよい。
カード３は、例えば、厚さが０．７〜０．８ｍｍ程度の矩形状の塩化ビニール製である。カード３は、例えば、ＩＣチップ、近距離無線用のＲ／Ｗ（Read / Write）アンテナが内蔵される。
【００１７】
なお、カード３が磁気カードの場合、例えば、磁気データが記録される磁気ストライプが形成されている。また、カード３には、ＩＣチップと磁気ストライプとが両方設けられていてもよい。さらに、カード３は、厚さが０．１８〜０．３６ｍｍ程度のＰＥＴ（ポリエチレンテレフタレート）カードや、所定の厚さの紙カード等であってもよい。
加えて、カード３として、ユーザーが用いる携帯電話やスマートフォン等の携帯端末も、取引に用いることが可能である。
【００１８】
次に、カード処理システムＸの制御構成について説明する。
カード処理装置１は、制御部１０、記憶部１１、及び通信部１２を備える。
上位装置２は、制御部２０、及び記憶部２１を備える。
【００１９】
制御部１０は、カード処理装置１全体の制御を行う。制御部１０は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）等を含む制御演算手段である。
【００２０】
記憶部１１は、カード処理装置１の各種設定値や制御プログラムや一時データ等を記憶する記録媒体である。この各種設定値のうち、取引に係る設定値の詳細については後述する。制御プログラムは、取引に係るカード３の読み取り及び書き込みを行うためのファームウェア等である。
【００２１】
記憶部１１は、ＲＡＭのような揮発性の記録媒体、及びＲＯＭのような不揮発性の記録媒体を含む。
このうち、ＲＯＭとしては、例えば、フラッシュメモリ、ＥＥＰＲＯＭ、ＲｅＲＡＭ、ＦｅＲＡＭ等のように、書き換え可能回数に制限のある記録媒体を含んでいる。以下、これらの記録回数に制限のある記録媒体を、単に「フラッシュメモリ」という。本実施形態では、ＲＯＭが、例えば、一つのページあたり、数百〜数万回程度のみ書き込み可能なＭＬＣ（Multi-Level Cell、多値セル）、又は、ＳＬＣ（Single-Level Cell）のフラッシュメモリである例について説明する。
【００２２】
通信部１２は、近距離無線通信を行う。このため、通信部１２は、受信回路として、対応するドライバＩＣ、アンテナ等を含む。通信部１２は、アンテナを介して、カード３内のＩＣチップと通信を行い、ＩＣチップに記録されたＩＣ情報を読み取り及び／又は書き込む。
【００２３】
制御部２０は、上位装置２全体の制御を行う、例えば、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＧＰＵ（Graphics Processing Unit）等である。
【００２４】
記憶部２１は、上位装置２の各種設定値や制御プログラムや一時データ等を記憶する記録媒体である。この制御プログラムは、ＯＳ（Operating System）、各種アプリケーションソフトウェア（Application Software、以下、単に「アプリ」という。）、カード処理装置１と上位装置２とを中継するミドルウェア等を含む。
記憶部２１は、ＲＡＭ、ＲＯＭ、ＨＤＤ（Hard Disk Drive）、その他の光学記録媒体等を含む。
【００２５】
これらの他に、カード処理装置１は、取引等の状態を表示するＬＥＤ（Light Emitting Diode）等の表示部、音声を出力する音声出力部等も含む。
上位装置２は、液晶や有機ＥＬディスプレイやＬＥＤ等の表示部、タッチパネルやテンキー等の入力部を含む。
【００２６】
次に、カード処理システムＸの機能的な構成について説明する。
カード処理装置１の制御部１０は、設定情報取得部１００、及び設定記憶制御部１１０を含む。
記憶部１１は、第一設定情報３００、ハッシュ値３０１、ハッシュ値４０１、ＣＲＣ値３１０、ＣＲＣ値４１０、第二設定情報４００を記憶する。
上位装置２の制御部２０は、アプリ実行部２００、及びミドルウェア実行部２１０を含む。
記憶部２１は、第一設定情報３００、及びＣＲＣ値３１０を記憶する。
【００２７】
設定情報取得部１００は、上位装置２から第一設定情報３００を取得し、記憶部１１へ記憶する。この際、設定情報取得部１００は、第一設定情報３００を、一旦、一時データとして、記憶部１１のＲＡＭ等に記憶する。
さらに、取引情報取得部は、現在の記憶部１１内のデータのＣＲＣ値４１０をＣＲＣっ計算で算出して、上位装置２から取得されたＣＲＣ値３１０と同一かどうか判定する。取引情報取得部は、ＣＲＣ値４１０と、ＣＲＣ値３１０とが同一と判定した場合は、設定記憶制御部１１０にハッシュ値３０１の比較を行わせる。取引情報取得部は、同一でないと判定した場合は第一設定情報３００を記憶部１１のフラッシュメモリＦに記憶して、第二設定情報４００から置き換える。
【００２８】
設定記憶制御部１１０は、記憶部１１のフラッシュメモリＦへの第一設定情報３００の記憶の前に、第一設定情報３００のハッシュ値３０１を算出する。そして、設定記憶制御部１１０は、記憶部１１に以前に記憶された第二設定情報４００のハッシュ値４０１を算出して比較する。この上で、設定記憶制御部１１０は、このハッシュ値３０１とハッシュ値４０１とが異なる場合は、記憶部１１に記憶された第二設定情報４００を第一設定情報３００で置き換えるよう制御する。設定記憶制御部１１０は、ハッシュ値３０１とハッシュ値４０１とが同じ場合は、第二設定情報４００を第一設定情報３００で置き換えないよう制御する。
設定記憶制御部１１０は、以前、第二設定情報４００が記憶部１１に記憶された際に、記憶部１１内のＣＲＣ値３１０を算出して、上位装置２へ送信しておく。
【００２９】
アプリ実行部２００は、ＡＴＭ等のアプリを実行する。このため、アプリ実行部２００は、表示部にＧＵＩ（Graphical User Interface）にてＡＴＭ等のアプリの画面を表示し、入力部からユーザーの指示を取得し、カード処理装置１を用いた取引を行わせる。この際、アプリ実行部２００は、ミドルウェア実行部２１０を介して、カード処理装置１との間で、各種情報の送受信を行う。
【００３０】
ミドルウェア実行部２１０は、カード処理装置１を制御するミドルウェアを実行する。このミドルウェアは、例えば、カード処理装置１のデバイスドライバ、中間ソフトウェア等を含む。ミドルウェアは、標準規格でのコマンド単位の処理に対応してカード処理装置１との間で情報を送受信することが可能である。
具体的には、ミドルウェア実行部２１０は、取引種別に対応してカード処理装置１へ第一設定情報３００を送信する。
ミドルウェア実行部２１０は、以前、第二設定情報４００がカード処理装置１の記憶部１１に記憶された際に、算出されたＣＲＣ値３１０をカード処理装置１から取得して、記憶部２１へ記憶しておく。
ミドルウェア実行部２１０は、カード処理装置１への第一設定情報３００の送信の際に、以前に記憶されたＣＲＣ値３１０も送信する。
【００３１】
第一設定情報３００は、標準規格のカード処理装置１用の設定情報である。第一設定情報３００は、例えば、クレジットカード又はデビットカードの種別、クレジットカードの種類、上限金額、及び取引内容に対応する情報を含む。本実施形態において、第一設定情報３００は、例えば、取引内容に応じて選択された、ＥＭＶ  Ｌｅｖｅｌ２規格のカード決済（取引）用の設定情報である。
【００３２】
ハッシュ値３０１は、第一設定情報３００のハッシュ値である。ハッシュ値３０１は、各種ハッシュ関数（Hash Function）等により算出可能である。
【００３３】
ＣＲＣ値３１０は、以前に第二設定情報４００がカード処理装置１の記憶部１１に記憶された際に、記憶部１１の記憶内容について計算された誤り検出符号値の一例である。ＣＲＣ値３１０は、各種の巡回冗長検査（Cyclic Redundancy Check、ＣＲＣ）計算等の処理で算出可能である。本実施形態では、ＣＲＣ値３１０は、一旦、上位装置２へ送信されて記憶部２１に記憶され、第一設定情報３００と供にカード処理装置１へ送信される。
【００３４】
第二設定情報４００は、以前に上位装置２から送信された設定情報である。第二設定情報４００は、記憶部１１のメモリ空間上のフラッシュメモリＦに記憶される。
第二設定情報４００は、第一設定情報３００と同一であっても、異なってもよい。すなわち、第二設定情報４００は、第一設定情報３００と同種の情報であり、クレジットカード又はデビットカードの種別、クレジットカードの種類、上限金額、及び取引内容に対応する情報を含む。
【００３５】
ハッシュ値４０１は、第二設定情報４００のハッシュ値である。
【００３６】
ＣＲＣ値４１０は、その処理の時点での記憶内容について計算された、誤り検出符号値の一例である。
【００３７】
なお、これらの記憶部１１及び記憶部２１に記憶されるデータは、処理の進行に対応して変化する。この変化の詳細については後述する。
【００３８】
〔設定情報書込制御処理〕
次に、図２及び図３により、本発明の実施の形態に係るカード処理システムＸによる設定情報書込制御処理の説明を行う。
本実施形態の設定情報書込制御処理では、取引の際に、カード処理装置１のフラッシュメモリＦに記憶された第二設定情報４００を、上位装置２から送信された第一設定情報３００で置き換えるか置き換えないかの制御を行う。
本実施形態の設定情報書込制御処理は、主に制御部１０及び制御部２０が、記憶部１１及び記憶部２１に記憶された制御プログラムを、各部と協働し、ハードウェア資源を用いて実行する。
以下で、図２のフローチャートにより、主に、カード処理装置１の制御部１０の処理に基づいて、設定情報書込制御処理をステップ毎に説明する。
【００３９】
（ステップＳ１０１）
まず、設定情報取得部１００が、各データ取得処理を行う。
図３（ａ）に、初期状態における記憶部１１の状態を示す。この状態では、記憶部１１のフラッシュメモリＦに第二設定情報４００が記憶されている。
この状態で、下記に示す取引のタイミングで、上位装置２から各データが送信され、これを設定情報取得部１００が取得する。下記で、その際の状況等について説明する。
【００４０】
上位装置２のアプリ実行部２００は、待機画面で『現金引き出し』、『払い込み』等の取引内容を、表示部に表示させ、入力部にて利用者（ユーザー）に選択させる。
ユーザーにより取引内容が選択されると、アプリ実行部２００は、送信する設定情報を、大地情報として設定する。
【００４１】
たとえば、『現金引き出し』が指定された場合、アプリ実行部２００は、デビットカードの取引に限定した設定情報を、第一設定情報３００に設定する。
一方で、『払い込み』が選択された場合、アプリ実行部２００は、クレジットカードに限定した設定情報を、第一設定情報３００に設定する。
さらに、アプリ実行部２００は、利用可能なクレジットカードのブランド等の種類まで限定させ、これを第一設定情報３００に設定することも可能である。
加えて、アプリ実行部２００は、第一設定情報３００に、決済の上限金額、及びその他の取引内容に対応する情報を加えてもよい。
【００４２】
そして、アプリ実行部２００は、その取引種別の情報に対応した第一設定情報３００を、ミドルウェア実行部２１０に受け渡す。
ミドルウェア実行部２１０は、この第一設定情報３００をカード処理装置１へ送信する。さらに、ミドルウェア実行部２１０は、以前にカード処理装置１から取得した、ＣＲＣ値３１０についても、カード処理装置１へ送信する。
【００４３】
設定情報取得部１００は、上位装置２から、第一設定情報３００及びＣＲＣ値３１０を取得し、記憶部１１に一時データとして記憶する。
【００４４】
（ステップＳ１０２）
次に、取引情報取得部が、記憶部内ＣＲＣ計算処理を行う。
取引情報取得部は、例えば、フラッシュメモリＦに記憶されているデータに対して、ＣＲＣ計算を行い、ＣＲＣ値４１０を算出する。
【００４５】
（ステップＳ１０３）
次に、取引情報取得部が、取得ＣＲＣ比較処理を行う。
取引情報取得部は、算出されたＣＲＣ値４１０と、上位装置２で記憶されていたＣＲＣ値３１０とを比較する。これにより、カード処理装置１が取り換えられたか等について判断可能となる。
図３（ｂ）に、この際の比較の様子を示す。
【００４６】
（ステップＳ１０４）
次に、取引情報取得部が、一致したか否かを判定する。取引情報取得部は、ＣＲＣ値３１０とＣＲＣ値４１０とが、一致した場合に、Ｙｅｓと判定する。取引情報取得部は、不一致の場合には、Ｎｏと判定する。
Ｙｅｓの場合、取引情報取得部は、処理をステップＳ１０５に進める。
Ｎｏの場合、取引情報取得部は、処理をステップＳ１０８に進める。
【００４７】
（ステップＳ１０５）
ＣＲＣ値３１０とＣＲＣ値４１０とが一致した場合、設定記憶制御部１１０が、第一ハッシュ値計算処理を行う。
設定記憶制御部１１０は、記憶部１１のフラッシュメモリＦへの第一設定情報３００の記憶の前に、上位装置２から取得した第一設定情報３００のハッシュ値３０１を算出する。
【００４８】
（ステップＳ１０６）
次に、設定記憶制御部１１０が、ハッシュ値比較処理を行う。
設定記憶制御部１１０は、ハッシュ値３０１と、記憶部１１に以前に記憶された第二設定情報４００のハッシュ値４０１とを比較する。これにより、上位装置２のアプリにて、前回と同じ設定情報が設定されたかどうかを判断することが可能となる。
図３（ｃ）に、この際の比較の様子を示す。
【００４９】
（ステップＳ１０７）
次に、設定記憶制御部１１０が、一致したか否かを判定する。設定記憶制御部１１０は、ハッシュ値３０１とハッシュ値４０１とが一致した場合に、Ｙｅｓと判定する。設定記憶制御部１１０は、それ以外の場合には、Ｎｏと判定する。
Ｙｅｓの場合、設定記憶制御部１１０は、処理をステップＳ１０９に進める。この場合、第二設定情報４００は第一設定情報３００と同じなので、設定記憶制御部１１０は、置き換えないよう制御することになる。すなわち、記憶部１１内の第二設定情報４００が同一、又は、上位装置２に接続されたカード処理装置１自体が変更されていなければ、以前に記憶された第二設定情報４００と同一なので、書き込まない。
Ｎｏの場合、は、処理をステップＳ１０８に進める。
【００５０】
（ステップＳ１０８）
ここで、設定記憶制御部１１０が、書き込み処理を行う。
ＣＲＣ値３１０とＣＲＣ値４１０とが異なる、又は、ハッシュ値３０１とハッシュ値４０１とが異なる場合、設定記憶制御部１１０は、記憶部１１のフラッシュメモリＦに記憶された第二設定情報４００を、上位装置２から取得した第一設定情報３００で置き換えることで、書き込む。
すなわち、設定記憶制御部１１０は、フラッシュメモリＦに、第一設定情報３００を上書きする。
【００５１】
（ステップＳ１０８）
ここで、設定記憶制御部１１０が、一時データ削除処理を行う。
設定記憶制御部１１０は、一時データとして格納された第一設定情報３００、ハッシュ値３０１、及びＣＲＣ値３１０を削除する。
図３（ｄ）に、この際の記憶部１１の様子を示す。
【００５２】
そして、設定記憶制御部１１０は、フラッシュメモリＦに記憶されているデータに対して、再びＣＲＣ計算（再計算）を行い、以前に算出されたＣＲＣ値４１０を置き換える。設定記憶制御部１１０は、この置き換えられた新たなＣＲＣ値４１０を上位装置２へ送信する。
上位装置２のミドルウェア実行部２１０は、この新たなＣＲＣ値４１０を取得して、記憶部２１のＣＲＣ値３１０と置き換える。
【００５３】
その後、カード処理装置１は待機状態となり、ユーザーによりカード３が翳されるのを待つ。
この際、アプリ実行部２００及び設定記憶制御部１１０は、限定された種類以外のカード３が翳された場合、取引を中断することが可能である。
以上により、本発明の実施の形態に係る設定情報書込制御処理を終了する。
【００５４】
〔本実施形態の主な効果〕
以上のように構成することで、以下のような効果を得ることができる。
従来、特許文献１に記載のように、ファームウェアや設定情報の更新は、上位装置２から与えられた設定情報を、ＲＳ−２３２ＣやＵＳＢ等で転送して、装置内のフラッシュメモリ等に対して書き込まれていた。さらに、フラッシュメモリに展開されたデータは、装置内でＣＲＣ計算され、上位装置２で予め計算されたＣＲＣ値と比較され、意図通りに書き込まれたことを確認していた。
【００５５】
一方、従来、ＥＭＶ  Ｌｅｖｅｌ２規格等の非接触型カードのカード処理装置１については、カードの取引毎に異なる設定情報を設定しておかなければならない場合があった。具体的には、一回目の取引ではクレジットカードを受け付け、二回目の取引ではデビッドカードを受け付ける等、各取引を行う直前に設定情報がカード処理装置１に送られていた。送られた設定情報は、カード処理装置内のフラッシュメモリに記憶され、電源が再投入された場合においても、その設定の状態を保つことができた。
しかしながら、この設定情報のように、頻繁に書き換える必要がある場合、フラッシュメモリの最大書き込み可能回数（寿命）に短期間で達してしまう可能性があった。このため、カード処理装置の設定情報の記憶部への書き込みの頻度を抑える技術が求められていた。
【００５６】
これに対して、本発明の実施の形態に係るカード処理システムＸは、カード処理装置１、及び該カード処理装置１が搭載される上位装置２を備えるカード処理システムであって、上位装置２は、カード処理装置１を制御するミドルウェアを実行するミドルウェア実行部２１０を備え、ミドルウェア実行部２１０は、取引種別に対応してカード処理装置１へ第一設定情報３００を送信し、カード処理装置１は、上位装置２から第一設定情報３００を取得する設定情報取得部１００と、設定情報取得部１００により以前に取得された第二設定情報４００を記憶する、書き換え可能回数に制限のある記憶部１１と、記憶部１１のフラッシュメモリＦへの第一設定情報３００の記憶の前に、設定情報取得部１００により取得された第一設定情報３００のハッシュ値３０１と、記憶部１１に以前に記憶された第二設定情報４００のハッシュ値４０１とを比較し、異なる場合は記憶部１１に記憶された第二設定情報４００を第一設定情報３００で置き換え、同じ場合は置き換えないよう制御する設定記憶制御部１１０とを備えることを特徴とする。
【００５７】
このように構成することで、設定情報の記憶部１１への書き込みの頻度を抑えることが可能となる。これにより、記憶部１１としてフラッシュメモリを使用した場合の、長寿命化が期待できる。
すなわち、以前に取得した設定情報と同じものを上位装置２から取得したか否かを判断するために、第一設定情報３００に対しハッシュ計算を行い、第二設定情報４００のハッシュと比較する。これにより、カード処理装置１にて、同じ設定情報を取得した場合、書き込まないように制御することで、前回と同じデータで上書きされることを防止できる。よって、フラッシュメモリの最大書き込み可能回数（寿命）に達してしまうまでの期間を長くすることができる。つまり、カード処理装置１に記憶されたデータが書き換わっていない場合、フラッシュメモリの最大書き込み可能回数に達することを防止することができる。
【００５８】
さらには、ＲＡＭ等のアクセスとは異なり、フラッシュメモリヘの書き込みは大変時間がかかるため、取引時間が長くなっていた。
これに対して、本発明の実施の形態に係るカード処理システムＸは、第二設定情報４００の第一設定情報３００での置き換えを制御することで、取引時間を短縮することができる。すなわち、同じ設定情報の再書き込みを防止することにより、ＡＴＭ等のカード翳し待ち状態になるまでの時間を短縮することが可能となる。これにより、ユーザーに対する利便性を向上させることができる。
【００５９】
さらに、本実施形態のカード処理システムＸは、カード処理装置１にて、取得された第一設定情報３００のハッシュ値３０１を算出し、第二設定情報４００のハッシュ値４０１を算出し、これらを比較することを特徴とする。
このように構成することで、カード処理装置１でハッシュ値３０１を算出するため、ハッシュ値３０１自体の改ざん等による不正を防止できる。
【００６０】
本発明のカード処理システムＸは、設定記憶制御部１１０は、第二設定情報４００が記憶部１１に記憶された際に、記憶部１１内のデータの誤り検出符号値であるＣＲＣ値３１０を算出して、上位装置２へ送信しておき、ミドルウェア実行部２１０は、誤り検出符号値であるＣＲＣ値３１０を取得して記憶しておき、第一設定情報３００の送信の際に誤り検出符号値も送信し、取引情報取得部は、現在の記憶部１１内のデータの誤り符号値であるＣＲＣ値４１０を算出して、上位装置２から取得されたＣＲＣ値３１０と同一かどうか判定し、同一と判定した場合は設定記憶制御部１１０にハッシュ値３０１とハッシュ値４０１との比較を行わせ、同一でないと判定した場合は第二設定情報４００を第一設定情報３００で置き換えることを特徴とする。
【００６１】
このように構成し、記憶部１１内のデータのＣＲＣ値３１０が異なっていることを検出することで、別のアプリ等から記憶部１１のフラッシュメモリ等の内容が書き換えられたり、別のカード処理装置１に差し替えられたりしたことを容易に検出可能となる。このように記憶部１１内の設定情報、又はカード処理装置１自体が変更されていなければ、ハッシュ値３０１及びハッシュ値４０１の比較を行うという二段階の処理により、判断時間を短縮でき、不正等も防ぐことができる。さらに、第二設定情報４００と設定情報が同じ場合、書き込まないように制御することで、設定情報の記憶部１１への書き込みの頻度を抑えることが可能となる。
【００６２】
本発明のカード処理システムＸは、第一設定情報３００及び第二設定情報４００は、クレジットカード又はデビットカードの種別、クレジットカードの種類、上限金額、及び取引内容に対応する情報を含むことを特徴とする。
このように構成することで、標準規格の設定情報のうち、取引毎に変更する必要がある情報について、書き込みを制御することが可能となる。
【００６３】
〔他の実施の形態〕
なお、上述の実施の形態では、第一設定情報３００のハッシュ値３０１は、カード処理装置１で算出するように記載した。
しかしながら、ハッシュ値３０１は、先に上位装置２で算出されていてもよい。
さらに、ハッシュ値４０１についても、その都度、設定記憶制御部１１０で算出せずに、上位装置２から取得したり、カード処理装置１で算出したりしたものを、記憶部１１のフラッシュメモリＦに記憶しておくことも可能である。さらに、第二設定情報４００を、カード処理装置１から上位装置２に送信して、上位装置２でハッシュ値４０１を算出して比較するような構成も可能である。
このように構成することで、ハッシュ値３０１の算出の時間を短くしたり、カード処理装置１の処理負担を軽減したりすることが可能となる。
【００６４】
加えて、上述の実施の形態では、上位装置２からの第一設定情報３００の送信後に、カード処理装置１でＣＲＣ値３１０を算出し、比較するように記載した。
しかしながら、上位装置２から第一設定情報３００を送信する前に、カード処理装置１でＣＲＣ値４１０を算出して上位装置２に送信し、上位装置２でＣＲＣ値３１０とＣＲＣ値４１０とを比較してもよい。この場合、一致していたら、上位装置２のミドルウェア実行部２１０は、第一設定情報３００をカード処理装置１へ送信せず、第二設定情報４００をそのまま使用するようカード処理装置１へ指示してもよい。
このように構成することで、第一設定情報３００の送受信にかかる時間を抑制できる。さらに、カード処理装置１で、一時データとして第一設定情報３００を記憶する必要がなくなるため、記憶容量を削減できる。
【００６５】
上述の実施の形態では、上位装置２から第一設定情報３００を全て送信してから、ＣＲＣ値３１０やハッシュ値３０１の比較を行うように記載した。
しかしながら、第一設定情報３００の一部を上位装置２から送信した状態で、ＣＲＣ値３１０やハッシュ値３０１の比較を行うように構成してもよい。
さらに、上位装置２からは、第一設定情報３００の取引毎に変更される一部のみを送信してもよく、圧縮等した状態で送信してもよい。
このように構成することで、カード処理装置１における記憶部１１の容量を削減することができる。
【００６６】
上述の実施の形態では、第二設定情報４００を一つ記憶するように記載した。
しかしながら、第二設定情報４００は、一つだけでなく、記憶部１１のフラッシュメモリＦに、異なる種類のものを複数記憶してもよい。
このように構成することで、クレジットカードとデビットカードとが交互に取引されるような場合でも、フラッシュメモリＦへの書き込み回数の増加を抑えることができる。
【００６７】
上述の実施の形態では、フラッシュメモリＦに記憶されているデータ、すなわち全体のＣＲＣ計算を行うように記載した。
しかしながら、ＣＲＣ計算は、第二設定情報４００が格納されているメモリアドレスの範囲のみについて行ってもよい。
このように構成することで、ＣＲＣ計算にかかる時間を短縮することができる。加えて、フラッシュメモリＦの第二設定情報４００及びハッシュ値３０１以外の箇所が書き換えられた場合でも、ＣＲＣ値３１０の比較で不一致と判断されなくなる。このため、書き込み回数を抑えられる可能性が高まる。
【００６８】
逆に、ＣＲＣ計算を、記憶部１１の一時データ以外の領域全体に対して行ってもよい。このように構成することで、カード処理装置１の置き換えられたり、アプリから設定を書き換えられたりしたことを確実に判別可能となる。
【００６９】
上述の実施の形態では、カード処理装置１として、ＥＭＶ  Ｌｅｖｅｌ２の非接触型カードのＩＣカードリーダである例を説明した。
しかしながら、カード処理装置１は、ＥＭＶ  Ｌｅｖｅｌ２の接触型のカードリーダでも、同様の処理が可能である。
【００７０】
上述の実施の形態では、フラッシュメモリＦに書き込まれる第一設定情報３００及び第二設定情報４００が、ＥＭＶ  Ｌｅｖｅｌ２の設定情報である例を説明した。
しかしながら、これ以外の取引用等の設定情報に対しても、フラッシュメモリ等の書き換え可能回数が制限されている記憶部に対して、同様の処理を行うことが可能である。
【００７１】
上述の実施の形態では、上位装置２とカード処理装置１との接続を、有線で行うように記載した。
しかしながら、上位装置２とカード処理装置１とを、ＷｉＦｉ、Ｂｌｕｔｏｏｔｈ（登録商標）等の無線で接続してもよい。加えて、有線であっても、その他の通信方式で接続することも可能である。
【００７２】
なお、上記実施の形態の構成及び動作は例であって、本発明の趣旨を逸脱しない範囲で適宜変更して実行することができることは言うまでもない。
【符号の説明】
【００７３】
１  カード処理装置
２  上位装置
３  カード
１０、２０  制御部
１１、２１  記憶部
１２  通信部
１００  設定情報取得部
１１０  設定記憶制御部
２００  アプリ実行部
２１０  ミドルウェア実行部
３００  第一設定情報
３０１、４０１  ハッシュ値
３１０、４１０  ＣＲＣ値
４００  第二設定情報
Ｆ  フラッシュメモリ
Ｘ  カード処理システム
【図１】
2020181462.tif 000003
【図２】
2020181462.tif 000004
【図３】
2020181462.tif 000005