JP2015179359A - 決済端末装置、プログラム - Google Patents
決済端末装置、プログラム Download PDFInfo
- Publication number
- JP2015179359A JP2015179359A JP2014055947A JP2014055947A JP2015179359A JP 2015179359 A JP2015179359 A JP 2015179359A JP 2014055947 A JP2014055947 A JP 2014055947A JP 2014055947 A JP2014055947 A JP 2014055947A JP 2015179359 A JP2015179359 A JP 2015179359A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- terminal device
- format
- program
- mcu
- 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.)
- Pending
Links
Landscapes
- Cash Registers Or Receiving Machines (AREA)
Abstract
【課題】タンパが検出されても、決済端末装置を引き続き運用することが可能な技術を提供することを目的とする。【解決手段】実施形態の決済端末装置は、第1ユニットと、第2ユニットと、検知部と、制御部とを有する。第1ユニットはカードを読み取る。第2ユニットは、第1ユニットで読み取られるカードのデータを、事前に定義される第1フォーマットで受信する。検知部は、動きを検知し、その動きが規定を超えると異常情報を出力する。制御部は、検知部から異常情報を受信すると、第1ユニットと第2ユニットとの間の通信が、第1フォーマットとは異なるフォーマットとなるように切り替える。【選択図】図3
Description
この明細書に記載の実施形態は、決済端末装置のタンパ検出に関する。
例えば決済端末装置のケースが開けられた場合や、プログラム、データの改ざんが発生した場合、「タンパ検出センサ回路」などが動作することで「タンパ」が検出される。タンパが検出されると、決済端末装置は、暗号鍵あるいはプログラムを消去して、自らを停止して利用不可能にする。
決済端末装置を利用不可能にする手法や復旧方法として、以下のような実装がある。
1.決済端末装置が停止した場合に決済端末装置内の暗号鍵及びプログラムを消去して、機能を停止させる。停止した決済端末装置はメーカで新たな暗号鍵とプログラムを再度導入する。
2.決済端末装置が暗号鍵を削除し、搭載プログラムは機能停止したことをネットワーク経由で管理運用会社のサーバに通知し、ネットワーク経由で暗号鍵を変更する。これにより再度利用可能となる。
1.決済端末装置が停止した場合に決済端末装置内の暗号鍵及びプログラムを消去して、機能を停止させる。停止した決済端末装置はメーカで新たな暗号鍵とプログラムを再度導入する。
2.決済端末装置が暗号鍵を削除し、搭載プログラムは機能停止したことをネットワーク経由で管理運用会社のサーバに通知し、ネットワーク経由で暗号鍵を変更する。これにより再度利用可能となる。
従来の決済端末装置やシステムでは、機密性が重要視されており、タンパが検出される場合は、安全性の観点から機能停止する。上記1の実装では、装置自体がメーカに送り返されることから、メーカが交換用の決済端末装置を持ってくるまで、決済業務は停止を余儀なくされる。このため、決済端末装置の停止時にカード決済を望む消費者が現れたときには、消費者の要求に応えられなくなり信用低下につながる。
上記2の実装では、上記1の実装よりも決済端末装置の停止時間が短くなるメリットがある。しかしながら、決済端末装置が管理運営会社の管理サーバにネットワーク接続されている場合にのみ対応可能である。セキュリティの観点で、決済端末装置が決済処理会社の決済処理サービスにしか接続できない場合、すなわち、管理サーバとの接続が禁止されている環境である場合、暗号鍵の変更(更新)はできない。よって上記2の実装は、効果が限定的である。
実施形態は上述した問題点を解決するためになされたものであり、タンパが検出されても、決済端末装置を引き続き運用することが可能な技術を提供することを目的とする。
実施形態の決済端末装置は、第1ユニットと、第2ユニットと、検知部と、制御部とを有する。第1ユニットはカードを読み取る。第2ユニットは、第1ユニットで読み取られるカードのデータを、事前に定義される第1フォーマットで受信する。検知部は、動きを検知し、その動きが規定を超えると異常情報を出力する。制御部は、検知部から異常情報を受信すると、第1ユニットと第2ユニットとの間の通信が、第1フォーマットとは異なるフォーマットとなるように切り替える。
図1は、実施形態に係るシステム構成例を示した図である。システム500は、決済端末装置5、POS(Point of Sale)端末装置6、決済処理サーバ8、およびサーバ50を有する。
POS端末装置6は、いわゆるキャッシュレジスタであり、キーボードやバーコードスキャナを介して顧客が購入した商品のデータを入力することで、会計処理を行うための端末装置である。サーバ50は、店舗内商品を管理するサーバ(コンピュータ)であり、例えば商品の在庫管理や価格設定などを行う。サーバ50は、POS端末装置6から購入商品に関する情報を受信し、各商品についての集計を行い、統計情報をまとめる。
決済端末装置5は、キャッシュカードやクレジットカード(図1のカード1)を読み取る端末装置である。また決済端末装置5は、今回の購入金額などの取引情報をPOS端末装置6から受信し、この取引情報と読み取ったカード番号などを決済情報として決済処理サーバ8に送信する。決済端末装置5は、支払い可否や金額などの支払情報をPOS端末装置6に送信する。
決済端末装置5は、決済処理ユニット3、カード読取ユニット2、伝票印刷ユニット4を有し、決済処理ユニット3を下部に配置し、その上部にカード読取ユニット2を積層配置した配置構成となっている。決済端末装置5のフロント側面(操作者が操作する側の側面)には、伝票印刷ユニット4が位置する。
決済処理サーバ8は、受信するカード番号や取引情報などに基づき、代金の支払い可否について判定するサーバ(コンピュータ)である。支払い可能である場合、決済処理サーバ8は、実際の決済処理を実行する。決済処理サーバ8は、判定結果や決済処理の実行結果を決済端末装置5に返信する。
POS端末装置6とサーバ50とは、LAN(Local Area Network)もしくは広域回線網などを用いてデータの送受信を行っている。POS端末装置6と決済端末装置5とは、たとえばシリアルケーブルなどで接続されている。決済端末装置5と決済処理サーバ8とは、専用回線となる決済ネットワーク7を介して、決済情報などのデータの送受信を行っている。
図2は、図1に示すシステム500のブロック図であり、主に決済端末装置5の構成例を示す図である。決済端末装置5は、カード読取ユニット2、決済処理ユニット3、伝票印刷ユニット4を有する。カード読取ユニット2は、後述の磁気ヘッド101を用いてカード1を直接的に読み取るユニットである。カード読取ユニット2は、読み取ったカード番号などの個人情報データを決済処理ユニット3に送信する。決済処理ユニット3は、カード読取ユニット2が読み取ったデータを事前に定義される転送フォーマットで受信し、またPOS端末装置6から取引情報を受信して、これらに基づき決済データを構成して決済処理サーバ8に送信する。尚、決済処理サーバ8に送信する際の取り決め(決済データの内容やデータフォーマット、暗号処理など)については、事前に規定されているものであるため、これ以上の説明を割愛する。
決済処理ユニット3は、決済可否の結果や決済処理の実行結果を決済処理サーバ8より受信する。このとき受信するデータ内容やフォーマット、暗号処理についても、従前より規定されているものである。決済処理ユニット3は、得られる決済可否の結果や決済処理の実行結果を、POS端末装置6に送信する。
伝票印刷ユニット4は、決済処理ユニット3からの指示に基づき、今回の決済についての伝票を印刷する。伝票には、例えば購入商品の名称やその個数、支払い金額、顧客のサイン記入欄が印刷されている。
カード読取ユニット2と決済処理ユニット3との間や、決済処理ユニット3とPOS端末装置6との間は、シリアルI/F(Interface)で接続されている。また決済端末装置5の内部、より具体的にはカード読取ユニット2と決済処理ユニット3とは、第3者によりモニタリングされる可能性があるため、カードデータの保護の観点から、暗号化してデータの送受信を行っている。
以降、決済端末装置5についてさらに詳細な説明を行うが、まずは前提となる技術について説明し、次いで実施形態の態様を説明する。尚、以降の説明では伝票印刷ユニット4の説明を省略する。
(前提技術)
まずは図10、図11を参照しつつ、関連する前提技術を説明する。ここでは決済端末装置を決済端末装置5Aであるものとして説明する。図10に示す決済端末装置5Aは、カード読取ユニット2A、決済処理ユニット3Aを有する。カード読取ユニット2Aは、磁気ヘッド10、カードデータ入力部11、デジタル化処理部12、MCU(Micro Control Unit)13、通信部15、タンパ検出部16を有する。またMCU13はメモリ部14を有し、メモリ部14は、プログラムP、および決済処理ユニット3Aと通信を行うための暗号鍵Kを記憶している。プログラムPは、例えばカード1の読取から通信部15を介してカード情報を送信するまでの一連の動作など、カード読取ユニット2A内部で実行され、且つMCU13が実行するためのコードを定義したプログラムである。
まずは図10、図11を参照しつつ、関連する前提技術を説明する。ここでは決済端末装置を決済端末装置5Aであるものとして説明する。図10に示す決済端末装置5Aは、カード読取ユニット2A、決済処理ユニット3Aを有する。カード読取ユニット2Aは、磁気ヘッド10、カードデータ入力部11、デジタル化処理部12、MCU(Micro Control Unit)13、通信部15、タンパ検出部16を有する。またMCU13はメモリ部14を有し、メモリ部14は、プログラムP、および決済処理ユニット3Aと通信を行うための暗号鍵Kを記憶している。プログラムPは、例えばカード1の読取から通信部15を介してカード情報を送信するまでの一連の動作など、カード読取ユニット2A内部で実行され、且つMCU13が実行するためのコードを定義したプログラムである。
カードデータ入力部11やデジタル化処理部12は、例えばASIC(application specific integrated circuit)で実装されているものとする。通信部15は、ケーブルを接続するソケット端子や通信を制御するためのチップセットを含む。またタンパ検出の方法は、タンパ用スイッチでの検出や、金属メッシュ破壊検出、各種センサによる物理量の検出など、多くのものがある。タンパ検出部16は、これらを実現することができる実装とする。
決済処理ユニット3Aは、通信部17、MCU21、記憶部22、USB−I/F部19、LAN−I/F部20を有する。MCU21は、記憶部22に事前に記憶されているプログラムQを演算実行することで、暗号処理や決済処理を遂行する装置である。プログラムQは、決済処理ユニット3Aの内部で実行され、且つMCU21が実行するためのコードを定義したプログラムである。また記憶部22は、カード読取ユニット2Aと通信を行うための暗号鍵Kを記憶している。このように、カード読取ユニット2Aと決済処理ユニット3Aとは同じ暗号鍵Kを記憶している。
通信部17は、ケーブルを接続するソケット端子や通信を制御するためのチップセットを含む。USB−I/F部19は、POS端末装置6との通信を制御し、USB規格に準拠したデバイスを有する。LAN−I/F部20は、ネットワークカードを含み、決済処理サーバ8との間で、専用線を介して通信を行う。
図10に示す決済端末装置5Aの動作例を、図11のフローチャートを参照しつつ説明する。まず、決済端末装置5Aが初めて導入、設置されて電力が供給されると、決済端末装置5Aは、初期化処理として、各機能を有効にするための開局処理を実施する(ACT001)。この後、決済端末装置5Aを用いた運用が開始される。
決済端末装置5Aの運用時に、タンパ検出部16がタンパを検出しない場合(ACT002、No)、通常の業務処理となる。この処理は、カード読取ユニット2Aでの処理はプログラムPによって行われ、決済処理ユニット3Aでの処理は、記憶部22に記憶されているプログラムQにより行われる。
決済処理ユニット3AのMCU21は、USB−I/F部19を経由してPOS端末装置6から取引金額などの取引情報を取得する(ACT003)。この取引情報は、一時的に記憶部22に記憶される。
カード読取ユニット2Aのカードデータ入力部11は、磁気ヘッド10を制御してカード1内に記録されているカード番号を読み取る(ACT004)。デジタル化処理部12は、カード番号をアナログ信号からデジタルデータに変換する(ACT005)。MCU13は、デジタル化されたカード番号のコードをメモリ部14に一時的に記憶して(ACT006)、暗号化鍵Kを用いてこのコードを暗号化する(ACT007)。MCU13は、通信部15を制御して、暗号鍵Kで暗号化されたコードを決済処理ユニット3Aに送信する(ACT008)。
決済処理ユニット3Aの通信部17が暗号化されたコードを受信すると(ACT009)、MCU21は、暗号鍵Kを記憶部22から取得し、暗号鍵Kを用いて受信したコードを復号する(ACT010)。これにより、MCU21はカード番号を取得する。MCU21は、LAN−I/F部20を動作させて、カード番号およびACT003で記憶部22に一時的に記憶した取引情報を、決済処理サーバ8へ送信する(ACT011)。この通信は、専用回線網である決済ネットワーク7を介して行い、また事前に定義される方式で暗号化通信される。これにより決済処理サーバ8にて決済処理が行われる(ACT012)。MCU21は、決済の可否結果や決済処理の実行結果の情報を決済サーバ8から受信し、取引完了通知をPOS端末装置6に送信する(ACT013)。
決済端末装置5Aは、上記ACT003〜ACT013の動作を、一取引が行われる際に実行する。一方、タンパ検出部16がタンパを検出した場合(ACT002、Yes)、カード読取ユニット2AのMCU13は、タンパが検出されたことを示す情報を決済処理ユニット3Aに送信する。決済処理ユニット3AのMCU21は、POS端末装置6にタンパが検出されたことを通知する(ACT043)。またMCU13、MCU21は、各ユニット内のメモリ部14、記憶部22にある、プログラムP、Q、およびそれぞれに記憶された暗号鍵Kを消去する(ACT044)。MCU13、MCU21は、動作停止コマンドを実行する(ACT045)。これにより決済端末装置5Aは動作を停止する。
(実施形態)
上記前提技術のように、タンパが検出されて決済端末装置5Aの動作が停止すると、メーカでの修理が行われるまでカード決済を行うことができない。実施形態では、タンパを検出しても引き続き運用を続ける決済端末装置の実装例を説明する。
上記前提技術のように、タンパが検出されて決済端末装置5Aの動作が停止すると、メーカでの修理が行われるまでカード決済を行うことができない。実施形態では、タンパを検出しても引き続き運用を続ける決済端末装置の実装例を説明する。
タンパの種別としては、大きく分けて2つ考えられる。1つは第3者によるプログラムの改ざんであり、もう1つはスキミング用カードの装着やユニットの置き換えなど、第3者によるハードウェアの構成変更である。実施形態では、プログラムの改ざんがあった場合はプログラムを開局時の初期状態に戻す。またハードウェアの構成変更があった場合は、カード読取ユニットと決済処理ユニットとの間での転送フォーマットを変更する。この転送フォーマット変更により、ハードウェアのスキミングや置き換えがあった場合でも、第3者から通信内容の読取りを阻止することができる。
図3に、第1実施形態の決済端末装置の構成例を示す。決済端末装置5は、カード読取ユニット2、決済処理ユニット3を有する。カード読取ユニット2は、磁気ヘッド101、カードデータ入力部102、コード化処理部103(上記前提技術のデジタル化処理部12に相当)、MCU104、セキュリティチップ106、通信部107を有する。尚、図3内のカッコ表記は、記憶しているプログラムやデータである。
磁気ヘッド101、カードデータ入力部102、コード化処理部103、通信部107は、上記前提技術と同様の構成であり、同様の動作を行う。MCU104はメモリ部105、116を有する。メモリ部105には、上記前提技術と同様の命令が定義されるプログラムP、および決済処理ユニット3と通信を行うための暗号鍵K1を記憶している。メモリ部116は、転送定義情報Rを記憶している。
転送定義情報Rは、プログラムP内で使用する情報であり、カード読み取りユニット2と決済処理ユニット3との間の転送フォーマットを定義するためのデータである。プログラムP内では、転送フォーマットの具体的な動作指令が複数定義されており、且つ選択可能なように記載されている。また一方で、転送定義情報Rには、本例では制御用の数値(例えば1)が記載されている。プログラムPは、転送定義情報Rを読み込み、制御用数値に従い、複数の転送フォーマットの指令から1つの指令を選択する。これにより、カード読取ユニット2は、転送定義情報Rの記載内容に基づき決済処理ユニット3との間でカードデータ送信などのデータ送受信を行う。
セキュリティチップ106は、TMP(Trusted Platform Module)であり、セキュリティチップ106固有の識別情報を有する。以下、セキュリティチップ106固有の識別情報を固有ID1と称する。またセキュリティチップ106は、開局時(運用使用前)のプログラムPのハッシュ値も記憶する。
決済処理ユニット3は、通信部110、MCU113、暗号化メモリ部114、USB−I/F部111、LAN−I/F部112、セキュリティチップ109を有する。通信部110、USB−I/F部111、LAN−I/F部112は、上記前提技術と同様の構成であり、同様の動作を実行する。
MCU113は、暗号処理や決済処理を遂行する装置であり、暗号化メモリ部114に事前に記憶されているプログラムQを演算実行する。
暗号化メモリ部114は、上記前提技術と同様の命令が定義されたプログラムQ、およびカード読取ユニット2と通信を行うための暗号鍵K1を記憶している。これらプログラムQ、暗号鍵K1をMCU113内にある不図示の記憶部に記憶させる実装でもよい。また暗号化メモリ114には、上述カード読取ユニット2と同様に、プログラムQ内で使用する転送定義情報Rを記憶しており、この定義内容に基づき決済処理ユニット3はカード読み取りユニット2との間で、カードデータ受信などのデータ送受信を行う。
また暗号化メモリ部114には、活性化鍵(後述の暗号鍵K2、K3)を内部でセットしていない場合はアクセス不可とする記憶領域がある。この領域を、本例では鍵領域を称する。本例では、鍵領域は2つ用意されており、鍵領域の1つには、上記プログラムP、プログラムQと同じプログラム、および暗号鍵K1が記憶されている。この鍵領域内に記憶されたプログラムP、Q、暗号鍵K1は、プログラムが改ざんされた場合の置き換え用のファイルである。他方の鍵領域には、独自転送定義情報R’が記憶されている。独自転送定義情報R’は、転送定義情報Rを使用するときとは異なるフォーマットで、データ転送を行うための定義情報である。独自転送定義情報R’には、本例では制御用の数値(例えば2)が記載されている。これら鍵領域内のプログラムは、工場出荷前に事前に導入されていたり、初期起動時に鍵領域内に導入されたりする。
セキュリティチップ109は、TMPであり、セキュリティチップ109固有の識別情報を記憶している。この識別情報を固有ID2と称する。またセキュリティチップ109は、カード読取ユニット2内にあるセキュリティチップ106の識別情報である固有ID1も記憶している。さらにセキュリティチップ109は、暗号化メモリ部114の鍵領域にアクセスするための暗号鍵K2、K3を記憶している。セキュリティチップ109は、開局時状態でのプログラムQのハッシュ値も記憶する。
決済端末装置5は、さらに状態検知部115、タンパ検知部108を有する。状態検知部115は、加速度センサやジャイロセンサなどを含み、決済端末装置5の規定超えの移動や回転、振動、衝撃を検知するユニットである。状態検知部115の詳細は後述する。タンパ検出部108は、カード読取ユニット2、決済処理ユニット3のタンパを検出する。状態検知部115、タンパ検出部108は、カード読取ユニット2、決済処理ユニット3のいずれにも属さず、これらの外部に位置しているものとするが、カード読取ユニット2、決済処理ユニット3のいずれかのボード上とする構成であってもよい。また状態検知部115、タンパ検知部108を包含して1つのユニットとしてもよい。
次に暗号化メモリ部114について、図4を用いて説明する。暗号化メモリ部114は、アクセス対象の領域を指定したアドレス信号180、当該アクセスを行うか否かを示すリード/ライト信号182を入力する。リード/ライト信号がオンであるときに実データの読み書きが行われる。また図4では、読み書きの実データがデータ信号181として示されている。暗号化メモリ部114がアドレス信号180やリード/ライト信号182を入力すると、アドレス制御部183は、メモリ素子186内の指定されたアドレスへのアクセスを許可する。これによりリードもしくはライトが実行される。図4に示すメモリ素子1やメモリ素子nは、アドレス信号180とリード/ライト信号182のみで読み書き可能な領域である。すなわち決済処理ユニット3が現在使用しているプログラムQ、暗号鍵K1、転送定義情報Rは、上記各信号のみでメモリ素子186から取り出すことができる。
一方、メモリ素子186内のメモリ素子2、メモリ素子3は、揮発性記憶部185内の領域Kpに規定の暗号鍵がセットされていないと読み書きができない記憶素子となっている(暗号鍵がセットされていない場合、たとえ読み書きできても無用なデータとなる)。MCU113は、メモリ素子2の鍵領域にアクセスする場合、セキュリティチップ109から暗号鍵K2を取得して揮発性記憶部185の領域Kpにセットする。これにより、暗号化/復号化部184は、アドレス信号180がメモリ素子2を示すものである場合に、メモリ素子2内に記憶されているプログラムP、Q、暗号鍵K1を、暗号鍵K2を用いて復号する。この復号後のプログラムP、Q、暗号鍵K1が暗号化メモリ部114から出力される。また一方で、メモリ素子3の鍵領域にアクセスする場合、MCU113は、セキュリティチップ109から暗号鍵K3を取得して領域Kpにセットする。これにより、暗号化/復号化部184は、アドレス信号180がメモリ素子3を示すものである場合に、メモリ素子3内に記憶されている独自転送定義情報R’を、暗号鍵K3を用いて復号する。この復号後の独自転送定義情報R’が暗号化メモリ部114から出力される。
尚、図4に示す例では、メモリ素子2、3のみを鍵領域としているが、その他のメモリ素子の領域を鍵領域としてもよい。この場合、暗号鍵K2、K3とは別の活性化鍵(暗号鍵)を揮発性記憶部185にセットすることでアクセス可能となる実装でもよい。
次に、実施形態のフォーマット変換についての説明を、図5、図6を用いて説明する。第3者が何らかのユニットを装着して、カード読取ユニット2と決済処理ユニット3と間でスキニングを行っているおそれのある場合、本実施形態では、今まで行っていた転送フォーマット(ここでは通常フォーマットと称する)から、形式の異なる転送フォーマット(独自フォーマット)へ切り替える。
図5(A)は、通常のフォーマット例、すなわち本実施形態においては転送定義情報Rを用いる場合のフォーマット例である。図中のST、SPは、データの区切りを示す値であり、このST、SPで実データを挟んだフォーマットとなっている。実データの並びは、図5(A)に示すように、順序4を先頭にする以外はカードデータ値そのままの並び順となっている。
本実施形態では、転送定義情報Rが独自転送定義情報R’に切り替わることで、通常フォーマットから独自フォーマットに切り替わる。独自フォーマットでは、図5(B)に示すように実データの配列を所定規定に基づき異ならせる。本例では、順序4はそのまま先頭とし、最後尾の順序9を先頭から2番目に配置する。その次に順序1を配置し、次いで順序8、順序2、・・・となるように配置替えを行う。すなわち、順序番号の大きいもの順と小さいもの順とが互い違いとなるように再配置する。また独自フォーマットでは、区切りを示す値も異ならせる。この手法以外にも、区切り値の組み合わせに基づき並び順を決める手法、ノイズデータの挿入、関数による変換、バイト列のバイナリ化など、さまざまな実装を適用してもよい。
また本例の独自フォーマットは、カード読取ユニット2と決済処理ユニット3との間での信号レベルを異ならせる。図6(A)は通常フォーマットの場合の信号レベルを例示している。通常フォーマットの場合、レベルがVL(max)を下回ると0とし、VH(min)を超えると1としている。一方独自フォーマットは、信号の出入力レベルを落とすとともに、別途規定値を設ける。図6(B)を参照しつつ説明すると、VH(min)とVL(min)との間に新たに規定値VN(min)を設け、且つ出入力レベルがVH(min)を超えないように制御する。そしてレベルがVN(min)を超える場合に1とする。これにより、カード読取ユニット2と決済処理ユニット3との間で、この操作に気づかない第3者によりスキミングが行われている場合、実際には信号を出力しているが信号が無い(常時0)ものと認識される。
次に、図7のフローチャートを参照しつつ実施形態の動作例を説明する。まず初期導入の開局時に、カード読取ユニット2のMCU104は、プログラムPのハッシュ値を計測し、ハッシュ値を不揮発性に記憶する(ACT101)。ハッシュ値は、セキュリティチップ106に記憶されるものとするが、他の記憶部に記憶されてもよい。決済処理ユニット3のMCU113も同様に、開局時に、プログラムQを暗号化メモリ部114から取得し、そのハッシュ値を計測する(ACT101)。このハッシュ値は、セキュリティチップ109に記憶されるものとするが、他の記憶部に記憶されてもよい。尚、これらハッシュ値は出荷前に事前に入手することが可能な値であるため、出荷前に各セキュリティチップにハッシュ値を導入しておく実装でも構わない。
決済処理ユニット3のMCU113は、状態検知部115からデータを取得する(ACT102)。この動作は、MCU113がポーリングを実施して状態を問い合わせる実装でもよいし、状態検知部115から決済処理ユニット3へ向けてトラップ送信する実装でもよい。いずれの動作においても、状態検知部115が情報を送信し、決済処理ユニット3がその情報を受信する動作となる。この情報が異常を示す情報である場合、すなわち状態検知部115が規定を超えた回転、移動、振動、衝撃を検知すると(ACT103、Yes)、ACT120に進む。尚、状態検知部115の詳細動作については後述する。
ACT120において、決済処理ユニット3のMCU113は、第3者によるハードウェアモニタリングの可能性があることを、POS端末装置6に通知する(ACT120)。その後MCU113は、暗号鍵K3をセキュリティチップ109より取得し、この暗号鍵K3を暗号化メモリ部114の領域Kpにセットする。これにより、暗号化メモリ部114のメモリ素子3の領域が活性化する(ACT121)。
MCU113は、メモリ素子3に記憶されている独自転送定義情報R’を取得し、セキュリティチップ109に事前登録されている固有ID1を使って独自転送定義情報R’を暗号化する。そしてMCU113は、暗号化した独自転送定義情報R’をカード読取ユニット2に送信する(ACT122)。またMCU113は、送信後に今現在使用している転送定義情報Rを独自転送定義情報R’に置き換える。
カード読取ユニット2が暗号化された独自転送定義情報R’を受信すると、MCU104は、セキュリティチップ106に事前登録されている固有ID1を取得して復号する。MCU104は、今現在使用している転送定義情報Rを、独自転送定義情報R’に置き換える(ACT123)。これにより、各ユニットは今までのフォーマットとは異なるフォーマットで送受信を行う。
その後、MCU113もしくはMCU104は、状態検知部115にクリア信号を出力する。これにより、状態検知部115は異常検知状態をクリアする(ACT114)。その後、通常運用動作を行い(ACT107)、通常運用動作が終了次第、ACT102に戻る。通常運用動作は、図11を用いて説明したACT003〜ACT013までの動作と同様である。
第3者がスキミングユニットなどを装置内に組み込む際、第3者は装置を動かしたり、衝撃を与えたりする。許容を超えた回転、移動、振動、衝撃などの動きを検出する場合、上記フローにより、今まで使用していた転送フォーマットとは異なる方式でデータの送受信を行うようになる。よってデータの漏えいを抑止することができる。
フローチャートのACT103の説明に戻る。ACT103で、異常動作が検知されない場合(ACT103、No)、カード読取ユニット2のMCU104は、セキュリティチップ106内に記憶したハッシュ値を読み出し(ACT104)、一方で現状のプログラムPのハッシュ値を算出してこれらを比較する(ACT105)。決済処理ユニット3も同様に、MCU113は、セキュリティチップ109内に記憶したハッシュ値を取得して(ACT104)、一方で現状のプログラムQのハッシュ値を算出し、これらを比較する(ACT105)。両方とも一致している場合(ACT106、No)、通常運用動作を行い(ACT107)、終了次第ACT102に戻る。
いずれかで一方でも不一致である場合(ACT106、Yes)、MCU113は、プログラムの改ざんを検知したこと、および改修処理を行うことをPOS端末装置6に通知する(ACT110)。MCU113は、暗号鍵K2をセキュリティチップ109から取得し、この暗号鍵K2を暗号化メモリ部114の領域Kpにセットする。これにより、暗号化メモリ部114のメモリ素子2が活性化する(ACT111)。
MCU113は、メモリ素子2に記憶されているプログラムP、Q、暗号鍵K1を取得し、セキュリティチップ109に事前登録された固有ID1を使ってプログラムP、暗号鍵K1を暗号化する。そしてMCU113は、暗号化したプログラムP、暗号鍵K1をカード読取ユニット2に送信する(ACT112)。また一方でMCU113は、暗号鍵メモリ部114のメモリ素子1に記憶されている、今現在使用しているプログラムQ、暗号鍵K1を、新たに取得したプログラムQ、K1に置き換える。
カード読取ユニット2が暗号化したプログラムQ、暗号鍵K1を受信すると、MCU104は、セキュリティチップ106に事前記憶された固有ID1を取得してこれらを復号する。MCU104は、今現在使用しているプログラムQ、暗号鍵K1を、新たに取得したプログラムQ、暗号鍵K1に置き換える(ACT113)。その後処理はACT114に進み、さらに通常運用動作となる(ACT107)。
このように、ハッシュ値を用いてプログラムの改ざんを検出することができ、改ざんを検知する場合にプログラム、暗号鍵を正規のものに置き換えることができる。
最後に、状態検知部115について説明する。まずは状態検知部115の構成例について、図8を用いて説明する。状態検知部115は、加速度センサ201、ジャイロセンサ202、MCU203、バッテリ204、記憶部205を有する。
加速度センサ201は、加速度を計測する。ジャイロセンサ202は、装置の傾きや回転を計測する。これら計測値はMCU203に出力され、許容を超えた回転、移動、振動、衝撃などの動きを検出することができる。
バッテリ204は、状態検知部115内部の各ユニットに電力を供給するとともに、残量が少なくなると、MCU203に通知する。記憶部205は、MCU203を動作させるための制御コードや制御データを記憶する。また記憶部205は、規定値超えを検知した際に、その異常状態を示す情報を記憶する。MCU203は、加速度センサ201、ジャイロセンサ202からの計測信号を入力し、事前に決められた規定値を超えてないかを判定する。規定値を超えると、異常状態であることを示す情報(異常情報)を記憶部205に書き込み、I2C(Inter-Integrated Circuit)方式でカード読取ユニット2や決済処理ユニット3に異常情報を通知する。
図9に状態検知部115の動作例を示す。MCU203は、まずは事前に定義される規定値を記憶部205から取得する(ACT201)。本例では、加速度センサ202で計測される加速度値や、ジャイロセンサ202で計測される傾き値、回転値に対しての許容値を取得する。MCU203は、加速度センサ202から計測データを取得し(ACT202)、ジャイロセンサ202から計測データを取得する(ACT203)。
MCU203は、計測される値と規定値とを比較する(ACT204)。規定値を超える場合(ACT205、Yes)、MCU203は、異常状態を示す情報を記憶部205に記録し(ACT207)、I2Cインターフェイスを介して異常状態を検知したことを決済処理ユニット3に通知する(ACT208)。尚、カード読取ユニット2にも通知する実装でもよい。その後ACT202に戻る。
許容値を超えていない場合(ACT205、No)、MCU203は、記憶部205に異常状態を示すデータが記録されている場合はそのデータをクリアし(ACT206)、ACT202に戻る。このように自前でクリアせずに、図7のフローチャートのACT114の通知を受けた際に異常状態を示す情報をクリアする、という実装でもよい。
上記各実施形態の暗号方式としては、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)などの従前の共通鍵暗号方式を用いることができる。
実施形態では、セキュリティチップ106の識別情報である固有ID1を用いて、置き換え用のプログラムPや暗号鍵K1、もしくは独自転送定義R’を暗号化し、カード読取ユニット2に送信する実装例を示したが、セキュリティチップの識別情報に限らず、カード読取ユニット2、決済処理ユニット3で共に記憶されている共通の同一情報であればよい。
転送定義情報R、独自転送定義情報R’は、実施形態ではプログラムから読み込まれるデータであるものとして説明し、転送定義情報Rから独自転送定義情報R’に書き替える実装例を説明した。これに替えて、通常フォーマットで送受信を行うプログラムと、独自フォーマットで送受信を行うプログラムとの2パターンのプログラムを事前に用意し、ハードウェアモニタリングを検知した際は、プログラムを通常フォーマットのものから独自フォーマットのものに書き替える、という実装でもよい。
第1ユニットは、実施形態のカード読取ユニット2に相当する。第2ユニットは、実施形態の決済処理ユニット3に相当する。検知部は、実施形態の状態検知部115に相当する。
制御部は、本実施形態では決済処理ユニット3のMCU113、暗号化メモリ部114、セキュリティチップ109、通信部110、およびカード読取ユニット2のMCU104、セキュリティチップ106、通信部107に相当する。また決済処理ユニット3のMCU113が能動的に動作し、カード読取ユニット2が受動的に動作するものとして説明した。この構成以外にも、図7のACT110〜114、120〜123を実行する機能部を、決済処理ユニット3やカード読取ユニット2の外部に設置する実装でもよい。
また実施形態では、暗号鍵や置き換え用のプログラムなどの各データの記憶場所を特定しているが、これに限定されない。また、カード読取ユニット2内部の構成の一部もしくは全部と、決済処理ユニット3内部(決済処理ユニット3B内部)の構成の一部もしくは全部を入れ替えてもよい。すなわち、プログラムや暗号鍵の置き換え動作の際、上記実施形態では決済処理ユニット3が能動的に動作し、カード読取ユニット2が受動的に動作するものとして説明したが、逆であってもよい。
実施形態により、決済端末装置のタンパ検出時のセキュリティを確保するといった機密性の確保と、決済処理をいつでも安全に実施できるといった可用性の確保をすることでき、消費者の信頼も得ることができる。
本実施形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
以上に詳説したように、本実施形態の決済端末装置は、タンパが検出されてもカードによる会計取引を引き続き行うことができる。
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
1 カード、2 カード読取ユニット、3 決済処理ユニット、
4 伝票印刷ユニット、5 決済端末装置、
6 POS端末装置、7 決済ネットワーク、8 決済処理サーバ、
101 磁気ヘッド、102 カードデータ入力部、103 コード化処理部、
104 MCU、105、116 メモリ部、106 セキュリティチップ、
107 通信部、108 タンパ検出部、115 状態検知部、
110 通信部、114 暗号化メモリ部、113 MCU、
109 セキュリティチップ、111 USB−I/F部、
112 LAN−I/F部、50 サーバ、500 システム。
4 伝票印刷ユニット、5 決済端末装置、
6 POS端末装置、7 決済ネットワーク、8 決済処理サーバ、
101 磁気ヘッド、102 カードデータ入力部、103 コード化処理部、
104 MCU、105、116 メモリ部、106 セキュリティチップ、
107 通信部、108 タンパ検出部、115 状態検知部、
110 通信部、114 暗号化メモリ部、113 MCU、
109 セキュリティチップ、111 USB−I/F部、
112 LAN−I/F部、50 サーバ、500 システム。
Claims (6)
- カードを読み取る第1ユニットと、
前記第1ユニットで読み取られるカードのデータを、事前に定義される第1フォーマットで受信する第2ユニットと、
動きを検知し、その動きが規定を超えると異常情報を出力する検知部と、
前記検知部から異常情報を受信すると、前記第1ユニットと前記第2ユニットとの間の通信が、前記第1フォーマットとは異なるフォーマットとなるように切り替える制御部と、
を有する決済端末装置。 - 請求項1に記載の決済端末装置において、
前記制御部は、前記カードのデータの並びが前記第1フォーマットとは異なる並びとなるように切り替える。 - 請求項1または2に記載の決済端末装置において、
前記制御部は、前記第1ユニットからの出力レベルを、前記第1フォーマットとは異ならせるように切り替える。 - 請求項1乃至3のいずれか1項に記載の決済端末装置において、
前記制御部は、さらに、前記決済端末装置が使用する、運用使用前のプログラムのハッシュ値を算出し、
運用使用中、現在使用しているプログラムのハッシュ値を算出し、該ハッシュ値と前記運用使用前のハッシュ値とを比較して、一致しない場合、前記現在使用しているプログラムを前記運用使用前のプログラムに戻す。 - 請求項4に記載の決済端末装置において、
前記制御部は、ハッシュ値が一致しない場合、さらに、前記第1ユニットと前記第2ユニットとの間での通信に使用する暗号鍵を、運用使用前の暗号鍵に戻す。 - カードを読み取る第1ユニットと、
前記第1ユニットで読み取られるカードのデータを、事前に定義される第1フォーマットで受信する第2ユニットと、
動きを検知し、その動きが規定を超えると異常情報を出力する検知部とを有する決済端末装置が実行するためのプログラムであり、
前記検知部から異常情報を受信すると、前記第1ユニットと前記第2ユニットとの間の通信が、前記第1フォーマットとは異なるフォーマットとなるように切り替える
処理を、前記決済端末装置に実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014055947A JP2015179359A (ja) | 2014-03-19 | 2014-03-19 | 決済端末装置、プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014055947A JP2015179359A (ja) | 2014-03-19 | 2014-03-19 | 決済端末装置、プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015179359A true JP2015179359A (ja) | 2015-10-08 |
Family
ID=54263371
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014055947A Pending JP2015179359A (ja) | 2014-03-19 | 2014-03-19 | 決済端末装置、プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2015179359A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018050228A (ja) * | 2016-09-23 | 2018-03-29 | 東芝テック株式会社 | 決済端末 |
-
2014
- 2014-03-19 JP JP2014055947A patent/JP2015179359A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018050228A (ja) * | 2016-09-23 | 2018-03-29 | 東芝テック株式会社 | 決済端末 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5369502B2 (ja) | 機器、管理装置、機器管理システム、及びプログラム | |
US10025957B2 (en) | Learning a new peripheral using a security provisioning manifest | |
CN108629207B (zh) | 基于外围设备的信息生成加密密钥的系统和方法 | |
US20210005331A1 (en) | Management device, management method, and program | |
US20120198553A1 (en) | Secure auditing system and secure auditing method | |
JP2005235159A (ja) | セキュアリモートアクセスシステム | |
TWI673658B (zh) | 威脅事件監控系統及相關方法、電腦可讀媒體以及計算裝置 | |
JP2008072613A (ja) | 管理システム,管理装置および管理方法 | |
JP2007220070A (ja) | 対象機器、機器管理システム、機器管理方法および外部装置 | |
KR101745706B1 (ko) | 생체 정보 기반 인증 장치 그리고 이의 동작 방법 | |
JP2010518499A (ja) | 工業設備の少なくとも1つの自動化コンポーネントへのアクセスを認証するための方法 | |
US10318933B2 (en) | Settlement terminal and method of protecting data stored in the settlement terminal against tampering | |
JP5617981B2 (ja) | 機器、管理装置、機器管理システム、及びプログラム | |
KR101062916B1 (ko) | 유에스비 포트용 저장매체의 보안 관리 시스템 및 방법 | |
JP5823457B2 (ja) | 販売情報登録処理装置及びプログラム | |
JP2013008378A (ja) | 機器管理システム、機器管理方法および外部装置 | |
CN113190880A (zh) | 基于对安全协处理器的背书信息的分析确定是否对计算设备执行动作 | |
CN114626025A (zh) | 于离线环境下使用的软件授权验证方法 | |
JP2015179359A (ja) | 決済端末装置、プログラム | |
US11551220B2 (en) | Method for processing transaction data, corresponding communications terminal, card reader and program | |
JP6100145B2 (ja) | 決済端末装置、更新プログラム | |
JP2010146401A (ja) | 制御支援システム、情報処理装置及びコンピュータプログラム | |
JP2011154513A (ja) | コンピュータープログラム、コンピュータープログラムの更新方法、コンピューター、および、記録装置 | |
JP7516133B2 (ja) | 決済装置 | |
WO2014098048A1 (ja) | 認証補助装置、端末装置、認証システム、及び記憶媒体 |