特許第6100145号(P6100145)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

<>
  • 6100145-決済端末装置、更新プログラム 図000002
  • 6100145-決済端末装置、更新プログラム 図000003
  • 6100145-決済端末装置、更新プログラム 図000004
  • 6100145-決済端末装置、更新プログラム 図000005
  • 6100145-決済端末装置、更新プログラム 図000006
  • 6100145-決済端末装置、更新プログラム 図000007
  • 6100145-決済端末装置、更新プログラム 図000008
  • 6100145-決済端末装置、更新プログラム 図000009
  • 6100145-決済端末装置、更新プログラム 図000010
  • 6100145-決済端末装置、更新プログラム 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6100145
(24)【登録日】2017年3月3日
(45)【発行日】2017年3月22日
(54)【発明の名称】決済端末装置、更新プログラム
(51)【国際特許分類】
   G06F 21/75 20130101AFI20170313BHJP
   G06F 21/64 20130101ALI20170313BHJP
【FI】
   G06F21/75
   G06F21/64
【請求項の数】6
【全頁数】15
(21)【出願番号】特願2013-238868(P2013-238868)
(22)【出願日】2013年11月19日
(65)【公開番号】特開2015-99480(P2015-99480A)
(43)【公開日】2015年5月28日
【審査請求日】2016年1月12日
(73)【特許権者】
【識別番号】000003562
【氏名又は名称】東芝テック株式会社
(74)【代理人】
【識別番号】100087398
【弁理士】
【氏名又は名称】水野 勝文
(74)【代理人】
【識別番号】100128473
【弁理士】
【氏名又は名称】須澤 洋
(74)【代理人】
【識別番号】100128783
【弁理士】
【氏名又は名称】井出 真
(72)【発明者】
【氏名】福島 孝文
【審査官】 平井 誠
(56)【参考文献】
【文献】 特開2012−009938(JP,A)
【文献】 特開2012−169751(JP,A)
【文献】 特開2003−016527(JP,A)
【文献】 特開2013−051577(JP,A)
【文献】 米国特許出願公開第2003/0132292(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21
(57)【特許請求の範囲】
【請求項1】
第1ユニットと第2ユニットを有する決済端末装置であり、
前記第1ユニットは、
暗号化されるデータを前記第2ユニットに送信する通信部と、
前記第2ユニットで実行される第1プログラムを記憶した記憶部と、
前記決済端末装置でタンパが検出されると、前記第1ユニットおよび前記第2ユニットのそれぞれで記憶されている第1データを用いて、前記暗号化を行うための第1暗号鍵、または前記記憶部に記憶されている前記第1プログラムのいずれか一方もしくは両方を暗号化し、暗号化された前記第1暗号鍵または前記第1プログラムのいずれか一方もしくは両方を、前記通信部に出力する制御部と、を有する
決済端末装置。
【請求項2】
請求項1に記載の決済端末装置において、
前記制御部は、前記第2ユニットが記憶している第1プログラムのハッシュ値と、前記決済端末装置の初期状態時の第1プログラムのハッシュ値とが異なっている場合、前記記憶部に記憶されている第1プログラムを前記第1データで暗号化し、前記通信部に暗号化した前記第1プログラムを出力する
決済端末装置
【請求項3】
請求項1または2に記載の決済端末装置において、
前記制御部は、前記第2ユニットが記憶している第1プログラムのハッシュ値と、前記決済端末装置の初期状態時の第1プログラムのハッシュ値とが一致している場合、前記第1暗号鍵を前記第1データで暗号化し、前記通信部に暗号化した前記第1暗号鍵を出力する
決済端末装置。
【請求項4】
請求項1乃至3のいずれか1項に記載の決済端末装置において、
前記記憶部の記憶領域の一部は、第2暗号鍵を用いることでアクセ可能な領域であり、前記記憶部は、該一部の記憶領域に前記第1プログラムを記憶しており、
前記制御部は、前記第2暗号鍵を用いて前記記憶部から前記第1プログラムを取得する
決済端末装置。
【請求項5】
第1ユニットと第2ユニットを有する決済端末装置であり、
前記第1ユニットは、
暗号化されるデータを前記第2ユニットに送信する第1通信部と、
前記決済端末装置の外部にある装置と通信する第2通信部と、
前記決済端末装置でタンパが検出されると、前記第2ユニットが実行するプログラムに変更があったか否かを判定し、
変更が無い場合、前記第1ユニットおよび前記第2ユニットのそれぞれで記憶されている第1データを用いて、前記暗号化を行うための第1暗号鍵を暗号化し、暗号化された前記第1暗号鍵を前記第1通信部に出力し、
変更がある場合、前記第2通信部に、前記第2ユニットが実行するプログラムの更新を要求する電文を出力する制御部と、を有する
決済端末装置。
【請求項6】
第1ユニットと第2ユニットとを有する決済端末装置で実行され、演算処理装置を有する前記第1ユニットに実行させるためのプログラムであり、
前記決済端末装置でタンパが検出されると、前記第1ユニットおよび前記第2ユニットのそれぞれで記憶されている第1データを用いて、前記第1ユニットと前記第2ユニットとの間の通信を暗号化するための第1暗号鍵、または前記第1ユニットの記憶部に記憶されており、前記第2ユニットで実行される第1プログラムのいずれか一方もしくは両方を暗号化し、
暗号化された前記第1暗号鍵または前記第1プログラムのいずれか一方もしくは両方を、前記第2ユニットに送信する
ことを前記第1ユニットに実行させるための更新プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
この明細書に記載の実施形態は、決済端末装置に関する。
【背景技術】
【0002】
例えば決済端末装置のケースが開けられた場合や、プログラム、データの改ざんが発生した場合、「タンパ検出センサ回路」の動作により「タンパ」が検出される。タンパが検出されると、決済端末装置は、暗号鍵あるいはプログラムを消去して、自らを停止して利用不可能にするようになっている。
【0003】
この決済端末装置を利用不可能にする手法や復旧方法として、以下のような実装がある。
1.決済端末装置が停止した場合に決済端末装置内の暗号鍵及びプログラムを消去して、機能を停止させる。停止した決済端末装置はメーカで新たな暗号鍵とプログラムを再度導入する。
2.決済端末装置が暗号鍵を削除し、搭載プログラムは機能停止したことをネットワーク経由で管理運用会社のサーバに通知し、ネットワーク経由で暗号鍵を変更する。これにより再度利用可能となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−243275号公報
【特許文献2】特開2005−267031号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の決済端末装置やシステムでは、セキュリティの機密性が重要視されており、タンパが検出されたものは安全性の観点から、機能停止することが目的とされている。上記1の実装では、装置自身がメーカに送り返されることから、メーカが交換用の決済端末装置を持ってくるまで、決済業務は停止を余儀なくされる。このため、決済端末装置の停止時にカード決済を望む消費者が現れたときには、消費者に要求に応えられなくなり信用が低下する。
【0006】
上記2の実装では、上記1の実装よりも決済端末装置の停止時間が短くなるメリットがある。しかしながら、決済端末装置が管理運営会社の管理サーバにネットワーク接続されている場合にのみ対応可能である。セキュリティの観点で、決済端末装置が決済処理会社の決済処理サービスにしか接続できない場合、すなわち、管理サーバとの接続が禁止されている環境である場合、暗号鍵の変更(更新)はできない。よって、上記2の実装は、効果が限定的である。
【0007】
実施形態は上述した問題点を解決するためになされたものであり、タンパが検出されても、決済端末装置を引き続き運用することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0008】
実施形態の決済端末装置は、第1ユニットと第2ユニットを有する。第1ユニットは、通信部と、記憶部と、制御部とを有する。通信部は、暗号化されるデータを第2ユニットに送信する。記憶部は、第2ユニットで実行される第1プログラムを記憶している。制御部は、決済端末装置でタンパが検出されると、第1ユニットおよび第2ユニットのそれぞれで記憶されている第1データを用いて、暗号化を行うための第1暗号鍵、または記憶部に記憶されている第1プログラムのいずれか一方もしくは両方を暗号化し、暗号化された第1暗号鍵または第1プログラムのいずれか一方もしくは両方を、通信部に出力する。
【図面の簡単な説明】
【0009】
図1】実施形態に係るシステムの全体構成例を示す図である。
図2】実施形態の決済端末装置の構成例を示す図である。
図3】第1実施形態の決済端末装置のハードウェア構成例を示す図である。
図4】第1、第2実施形態の決済端末装置の、タンパが検出されない場合の通常運用動作の一例を示すフローチャートである。
図5】第1実施形態の決済端末装置の、タンパが検出された場合の動作例を示すフローチャートである。
図6】第1実施形態の暗号化メモリ部の構成例を示す図である。
図7】第2実施形態の決済端末装置のハードウェア構成例を示す図である。
図8】第2実施形態の決済端末装置の、タンパが検出された場合の動作例を示すフローチャートである。
図9】前提技術となる決済端末装置のハードウェア構成例を示す図である。
図10】前提技術となる決済端末装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【0010】
図1は、実施形態に係るシステム構成例を示した図である。システム500は、決済端末装置5、POS(Point of Sale)端末装置6、決済処理サーバ8、およびサーバ50を有する。
【0011】
POS端末装置6は、いわゆるキャッシュレジスタであり、キーボードやバーコードスキャナを介して顧客が購入した商品のデータを入力することで、会計処理を行うための端末装置である。サーバ50は、店舗内商品を管理するサーバ(コンピュータ)であり、例えば商品の在庫管理や価格設定などを行う。サーバ50は、POS端末装置6から購入商品に関する情報を受信し、各商品についての集計を行い、統計情報をまとめる。
【0012】
決済端末装置5は、キャッシュカードやクレジットカード(図1のカード1)を読み取る端末装置である。また決済端末装置5は、今回の購入金額などの取引情報をPOS端末装置6から受信し、この取引情報と読み取ったカード番号などを決済情報として決済処理サーバ8に送信する。決済端末装置5は、支払い可否や金額などの支払情報をPOS端末装置6に送信する。
【0013】
決済端末装置5は、決済処理ユニット3を有し、その上部にカード読取ユニット2が積層配置している。決済端末装置5のフロント側面(操作者が操作する側の側面)には、伝票印刷ユニット4を有する。
【0014】
決済処理サーバ8は、受信するカード番号や取引情報などに基づき、代金の支払い可否について判定するサーバ(コンピュータ)である。支払い可能である場合は、決済処理サーバ8は、実際の決済処理を実行する。決済処理サーバ8は、判定結果や決済処理の実行結果を決済端末装置5に返信する。
【0015】
POS端末装置6とサーバ50とは、LAN(Local Area Network)もしくは広域回線網などを用いてデータの送受信を行っている。決済端末装置5と決済処理サーバ8とは、専用回線となる決済ネットワーク7を介して、決済情報などのデータの送受信を行っている。
【0016】
図2は、図1に示すシステム500の機能ブロック図であり、主に決済端末装置の構成例を示す図である。決済端末装置5は、カード読取ユニット2、決済処理ユニット3、伝票印刷ユニット4を有する。カード読取ユニット2は、後述の磁気ヘッド10を用いてカード1を直接的に読み取るユニットである。カード読取ユニット2は、読み取ったカード番号などの個人情報データを決済処理ユニット3に送信する。決済処理ユニット3は、カード読取ユニット2が読み取ったデータを受信し、またPOS端末装置6から取引情報を受信して、これらに基づき決済データを決済処理サーバ8に送信する。尚、決済データの内容やデータフォーマット、暗号処理については、事前に規定されているものであるため、これ以上の説明を割愛する。
【0017】
決済処理ユニット3は、決済可否の結果や決済処理の実行結果を決済処理サーバ8より受信する。このとき受信するデータ内容やフォーマット、暗号処理についても、従前より規定されているものである。決済処理ユニット3は、得られる決済可否の結果や決済処理の実行結果を、POS端末装置6に送信する。
【0018】
伝票印刷ユニット4は、決済処理ユニット3からの指示に基づき、今回の決済についての伝票を印刷する。伝票には、例えば購入商品の名称やその個数、支払い金額、顧客のサイン記入欄が印刷されている。
【0019】
カード読取ユニット2と決済処理ユニット3との間や、決済処理ユニット3とPOS端末装置6との間は、シリアルI/F(Interface)で接続されている。シリアルI/Fは、例えばRS−232Cでの接続やUSB(Universal Serial Bus)の規格に準拠した接続である。また、決済端末装置5の内部、より具体的にはカード読取ユニット2と決済処理ユニット3とは、第3者によりモニタリングされる可能性があるため、カードデータの保護の観点から、暗号化してデータの送受信を行っている。決済処理ユニット3と決済処理サーバ8との間は、規定に定められた暗号化方式でデータ送受信が行われる。
【0020】
以降、決済端末装置5について、さらに詳細な説明を行うが、まずは前提となる技術について説明し、次いで第1実施形態、第2実施形態の各態様を説明する。尚、以降の説明では伝票印刷ユニット4の説明を省略する。
【0021】
(前提技術)
まず、図9図10を参照しつつ、関連する前提技術を説明する。ここでは、図1図2で示した決済端末装置5を決済端末装置5Aに置き換えるものとして説明する。図9に示す決済端末装置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が実行するためのコードを定義したプログラムである。
【0022】
カードデータ入力部11やデジタル化処理部12は、例えばASIC(application specific integrated circuit)で実装されているものとする。通信部15は、ケーブルを接続する端子や通信を制御するためのチップセットを含む。またタンパ検出の方法は、タンパ用スイッチでの検出や、金属メッシュ破壊検出、各種センサによる物理量の検出など、多くのものがある。タンパ検出部16は、これらを実現することができる実装とする。
【0023】
決済処理ユニット3Aは、通信部17、MCU21、記憶部22、USB−I/F部19、LAN−I/F部20を有する。MCU21は、記憶部22に事前に記憶されているプログラムQを演算実行することで、暗号処理や決済処理を遂行する装置である。プログラムQは、決済処理ユニット3Aの内部で実行され、MCU21が実行するためのコードを定義したプログラムである。また記憶部22は、カード読取ユニット2Aと通信を行うための暗号鍵Kを記憶している。このように、カード読取ユニット2Aと決済処理ユニット3Aとは同じ暗号鍵Kを記憶している。
【0024】
通信部17は、ケーブルを接続する端子や通信を制御するためのチップセットを含む。USB−I/F部19は、POS端末装置6との通信を制御し、USB規格に準拠したデバイスを有する。LAN−I/F部20は、ネットワークカードを含み、決済処理サーバ8との間で、専用線を介して通信を行う。
【0025】
図9に示す決済端末装置5Aの動作例を、図10のフローチャートを参照しつつ説明する。まず、決済端末装置5Aが初めて導入されて電力が供給されると、決済端末装置5Aは、初期化処理として、各機能を有効にするための開局処理を実施する(ACT001)。この後、決済端末装置5Aを用いた運用が開始される。
【0026】
決済端末装置5Aの運用時に、タンパ検出部16がタンパを検出しない場合(ACT002、No)、通常の業務処理となる。この処理は、カード読取ユニット2Aでの処理はプログラムPによって行われ、決済処理ユニット3Aでの処理は、記憶部22に記憶されているプログラムQにより行われる。
【0027】
決済処理ユニット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)。
【0028】
決済処理ユニット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)。
【0029】
決済端末装置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は動作を停止する。
【0030】
(第1実施形態)
上記前提技術のように、タンパが検出されて決済端末装置5Aの動作が停止すると、メーカでの修理が行われるまでカード決済を行うことができない。第1実施形態では、タンパを検出しても引き続き運用を続ける決済端末装置の実装例を説明する。
【0031】
タンパの種別としては、大きく分けて2つ考えられる。1つは第3者によるプログラムの改ざんであり、もう1つはスキミング用カードの装着やユニットの置き換えなど、第3者によるハードウェアの構成変更である。第1実施形態では、プログラムの改ざんがあった場合はプログラムを開局時の状態に戻す。またハードウェアの構成変更があった場合は、暗号鍵を新たに生成し、以降、この新規の暗号鍵でデータ送受信を行う。暗号鍵の変更により、ハードウェアのスキミングや置き換えがあった場合でも、中のデータの読取りを阻止することができる。
【0032】
図3に、第1実施形態の決済端末装置の構成例を示す。決済端末装置5は、カード読取ユニット2、決済処理ユニット3を有する。カード読取ユニット2は、磁気ヘッド101、カードデータ入力部102、コード化処理部103(上記前提技術のデジタル化処理部12に相当)、MCU104、セキュリティチップ106、通信部107を有する。尚、図3のカッコ表記は、記憶しているプログラムやデータである。
【0033】
磁気ヘッド101、カードデータ入力部102、コード化処理部103、通信部107は、上記前提技術と同様の構成であり、同様の動作を行う。MCU104はメモリ部105を有する。このメモリ部105には、上記前提技術と同様の命令が定義されるプログラムP、および決済処理ユニット3と通信を行うための暗号鍵K1を記憶している。またセキュリティチップ106は、TMP(Trusted Platform Module)であり、セキュリティチップ106固有の識別情報を有する。以下、セキュリティチップ106固有の識別情報を固有ID1と称する。またセキュリティチップ106は、開局時のプログラムPのハッシュ値も記憶する。尚、暗号鍵K1は、このセキュリティチップ106内で記憶していてもよい。
【0034】
決済処理ユニット3は、通信部110、MCU113、暗号化メモリ部114、USB−I/F部111、LAN−I/F部112、セキュリティチップ109を有する。通信部110、USB−I/F部111、LAN−I/F部112は、上記前提技術と同様の構成であり、同様の動作を実行する。
【0035】
MCU113は、暗号処理や決済処理を遂行する装置であり、暗号化メモリ部114に事前に記憶されているプログラムQを演算実行する。
【0036】
暗号化メモリ部114は、上記前提技術と同様の命令が定義されたプログラムQ、およびカード読取ユニット2と通信を行うための暗号鍵K1を記憶している。これらプログラムQ、暗号鍵K1をMCU113内にある不図示の記憶部に記憶させる実装でもよい。
【0037】
また暗号化メモリ部114には、活性化鍵(ここでは暗号鍵Kpと称す)を内部でセットしていない場合はアクセス不可とする記憶領域がある。この領域を、本例では鍵領域を称する。この鍵領域内に、上記プログラムP、プログラムQと同じプログラムが記憶されている。この鍵領域内に記憶されたプログラムP、Qは、プログラムが改ざんされた場合の置き換え用のプログラムであり、工場出荷前に事前に導入されていたり、初期起動時に事前に鍵領域内に導入されたりする。
【0038】
セキュリティチップ109は、TMPであり、セキュリティチップ107固有の識別情報を記憶している。この識別情報を固有ID2と称する。またセキュリティチップ109は、カード読取ユニット2内にあるセキュリティチップ106の識別情報である固有ID1も記憶している。さらにセキュリティチップ109は、暗号化メモリ部114の上記鍵領域にアクセスするための暗号鍵Kpを記憶している。セキュリティチップ109は、開局時のプログラムQのハッシュ値も記憶する。尚、暗号鍵K1は、このセキュリティチップ109内で記憶していてもよい。
【0039】
第1実施形態のタンパ検出部108は、カード読取ユニット2、決済処理ユニット3のいずれにも属さず、これらの外部に位置している。タンパ検出部108は、カード読取ユニット2、決済処理ユニット3のタンパを検出する。
【0040】
図4図5は、第1実施形態の動作例を示したフローチャートである。図4は、主に通常運用時の動作を例示しており、図5は、タンパが検出された場合の動作例を示している。まず初期導入の開局時に、カード読取ユニット2のMCU104は、プログラムPのハッシュ値を計測し、ハッシュ値を不揮発性に記憶する(ACT050)。ハッシュ値は、セキュリティチップ106に記憶されるものとするが、メモリ部105に記憶されてもよい。決済処理ユニット3のMCU113も同様に、開局時に、プログラムQを暗号化メモリ部114から取得し、そのハッシュ値を計測する(ACT050)。このハッシュ値は、セキュリティチップ109に記憶されるものとするが、暗号化メモリ部114に記憶されてもよい。
【0041】
以降、タンパ検出部108がタンパを検出するまで、決済端末装置5は、ACT003〜ACT013に示すフローを実行する。尚、暗号鍵K1でコード値(カード番号)を暗号化、復号化する処理(ACT051、ACT052参照)以外は、図4に示すACT003〜ACT013の各処理と上記前提技術内で説明したACT003〜ACT013とは同じものである。よってここでの説明を割愛する。
【0042】
次に、タンパが検出された場合について説明する。尚、以下の説明では、カード読取ユニット2でタンパが検出されるものとして説明する。
【0043】
タンパ検出部108がカード読取ユニット2についてのタンパを検出する場合(ACT002、Yes)、タンパ検出部108は、タンパ検出信号をMCU104に送信する。MCU104は、セキュリティチップ106に記憶されたハッシュ値を読み出し(ACT101)、開局時のプログラムPのハッシュ値と、現状のプログラムコードのハッシュ値とを比較する(ACT102)。比較した結果、一部でも異なる値がある場合はプログラムPに改ざんがあるとみなすことができる。
【0044】
プログラムPの改ざんでは無い場合(ACT103、No)、ハードウェアの構成が変更されたものとして扱い、暗号化鍵の置き換えを行う。まずMCU104は、ハードウェアの構成変更が起きたことを決済処理ユニット3に通知する。通知を受けた決済処理ユニット3内のMCU113は、新たな暗号鍵K1’を生成する(ACT104)。本例では新たに暗号鍵を生成するものとしたが、例えば暗号化メモリ部114やセキュリティチップ109内に、事前に予備の暗号鍵を記憶させておき、MCU113がこの予備の暗号鍵を取得する、という実装でもよい。
【0045】
MCU113は、セキュリティチップ109に記憶されている固有ID1を取得し、固有ID1を用いて、生成した暗号鍵K1’を暗号化し、カード読取ユニット2に送信する(ACT105)。このように固有ID1で送信用データ(ここでは暗号鍵K1’)を暗号化することで、セキュリティも確保される。またこのとき、MCU113は、暗号化メモリ部114に記憶されている暗号鍵K1を、生成した暗号鍵K1’に置き換える。
【0046】
カード読取ユニット2のMCU104は、セキュリティチップ106内にある固有ID1を用いて、送信されたデータを復号して暗号鍵K1’を取り出す。MCU104は、メモリ部105に記憶されている暗号鍵K1を、新しい暗号鍵K1’に置き換える(ACT106)。その後MCU104は、タンパ検出部108に所定信号を送信してタンパ検出をリセットする(ACT107)。一方、決済処理ユニット3のMCU113は、POS端末装置6にタンパが検出されたことを通知する(ACT008)。これら各処理が行われた後はACT002に戻る。尚、通知を受けたPOS端末装置6は、メッセージ表示を行い利用者に通知する。以降、利用者によるメーカへの問い合わせなどが行われ、適切に対処される。
【0047】
ACT103の判定に戻る。ACT103で、プログラムPの改ざんと判定される場合(ACT103、Yes)、MCU104は、プログラムPの改ざんがあったことを決済処理ユニット3に通知する。決済処理ユニット3のMCU113は、暗号化メモリ部114の鍵領域を活性化させるための暗号鍵Kpを、セキュリティチップ109から取得する(ACT110)。MCU113は、この暗号鍵Kpを、暗号化メモリ部114内の事前に決められている揮発性領域にセットする(記憶させる)(ACT111)。
【0048】
ここで、暗号化メモリ部114について、図6を用いて説明する。暗号化メモリ部114は、アクセス対象の領域のアドレスを指定したアドレス信号180、当該アクセスがリードであるかライトであるかを示すリード/ライト信号182を入力する。リード/ライト信号がオンであるときに実データの読み書きが行われる。図6では、この実データがデータ信号181として示されている。暗号化メモリ部114がアドレス信号180やリード/ライト信号182を入力すると、アドレス制御部183は、メモリ素子186内の指定されたアドレスへのアクセスを許可する。これによりリードもしくはライトが実行される。図6に示すメモリ素子1やメモリ素子nは、この動作のみで読み書き可能な領域であり、実行用のプログラムQ、暗号鍵K1は、この動作のみで出力される。
【0049】
メモリ素子186内のメモリ素子2は、暗号鍵Kpが揮発性記憶部185内にセットされていないと読み書きができない記憶素子となっている。MCU113は、セキュリティチップ109から取得した暗号鍵Kpを揮発性記憶部185にセットする。これにより、暗号化/復号化部184は、アドレス信号180がメモリ素子2を示すものである場合、メモリ素子2内に記憶されているプログラムPを、暗号鍵Kpを用いて復号する。この復号後のプログラムPが暗号化メモリ部114から出力される。MCU113は、このようにして改ざん前のプログラムPを入手する。メモリ素子2内のプログラムQを入手する場合も同様の動作となる。
【0050】
尚、図6に示す例では、メモリ素子2のみを鍵領域としているが、例えばメモリ素子1やメモリ素子nの記憶領域を鍵領域としてもよい。これらメモリ素子1やメモリ素子nの鍵領域は、暗号鍵Kpとは別の活性化鍵(暗号鍵)を揮発性記憶部185にセットすることでアクセス可能となる実装でもよい。
【0051】
図5のフローチャートの説明に戻る。MCU113は、セキュリティチップ109に記憶されている、固有ID1を暗号鍵K2とし(ACT112)、この暗号鍵K2(固有ID1)で、プログラムPを暗号化して、カード読取ユニット2に送信する(ACT113)。固有ID1で暗号化することにより、通信部210、通信部107間のデータ送受信のセキュリティは確保される。カード読取ユニット2のMCU105は、固有ID1をセキュリティチップ106から取得し、受信したデータを固有ID1で復号してプログラムPを取得する。MCU105は、改ざんのあったプログラムを、取得したプログラムPに置き換える(ACT114)。これにより、改ざん前のプログラムPに戻すことができる。ACT114の処理後、ACT107に進む。
【0052】
上記例では、カード読取ユニット2でタンパが検出される例を示した。カード読取ユニット2、決済処理ユニット3の両ユニットで同じ暗号鍵を保持しておく必要があるため、暗号鍵の交換の場合(ACT103、Noの場合)、両ユニットがそれぞれで鍵の置き換え処理を行う。一方、プログラム改ざんの場合(ACT103、Yesの場合)、両ユニットのプログラムを交換する必要はなく、タンパが検出されたユニット(上記例ではカード読取ユニット2)で使用するプログラムのみを交換すればよい。
【0053】
このように、上記説明ではカード読取ユニット2のプログラムPのみを交換する実装例を説明したが、決済処理ユニット3が使用するプログラムの交換も、同手法で行うことができる。この場合、暗号化メモリ部114の鍵領域には、決済処理ユニット3が使用する、元の状態のプログラムPを事前に記憶させておく。プログラムの改ざんがあった場合、MCU113は、暗号鍵Kpを取得して暗号化メモリ部114の鍵領域を活性化し、元の状態のプログラムPを取得してこれに置き換える。またこの場合、決済処理ユニット3内部で処理が完結するため、プログラムPを固有ID1(暗号鍵K2)で暗号化することは不要であるが、当然固有ID1で暗号化して復号化する処理行っても構わない。
【0054】
上記例では、カード読取ユニット2の処理ではMCU104が主として動作し、決済処理ユニット3の処理ではMCU113が主として動作するものとして説明したが、この動作の一部もしくは全部を、セキュリティチップ106、109で行う実装でも構わない。
【0055】
また上記例では、プログラムに改ざんがある場合はプログラムのみを元の状態に戻す実装であるが、プログラムに加えて暗号鍵も置き換える実装でもよい。この場合、ACT110からACT114を実行した後にACT104からACT106を実行するか、もしくはACT104からACT106を実行した後にACT110からACT114を実行する。また、ハードウェアの構成変更、ソフトウェアの改ざんに拘わらず、タンパを検出した場合は常にプログラムと暗号鍵の両方を置き換える実装であってもよい。この場合、ACT103の判定は不要となり、上記同様に、ACT114の後にACT104を行うか、もしくはACT106の後にACT110を行う実装となる。
【0056】
(第2実施形態)
保守の観点でプログラムを更新する機能を有するPOS端末装置がある。この機能は、POS端末装置が動作主体となって、自装置内のプログラムおよび決済端末装置内で記憶されるプログラムを更新する。第2実施形態では、POS端末装置がこのプログラムの更新機能を有している場合についての実装例を、図7図8を参照しつつ説明する。
【0057】
図7に第2実施形態の構成例を示す。図7に示すPOS端末装置6Aは、第1実施形態のPOS端末装置6の機能に加え、自装置で使用するプログラムおよび決済端末装置5Bで使用するプログラムを、自動で更新する機能を有する。また決済端末装置5Bは、第1実施形態と同様のカード読取ユニット2を有し、また決済処理ユニット3Bを有する。決済処理ユニット3Bの通信部110、USB−I/F部111、LAN−I/F部112は、上記第1実施形態と同様である。
【0058】
決済処理ユニット3Bは、第1実施形態で説明した暗号化メモリ部114を有さず、替わりに記憶部212を有する。記憶部212は、決済処理ユニット3Bが使用するプログラムQ、およびカード読取ユニット2と暗号化通信を行うための暗号鍵K1を記憶している。プログラムQ、暗号鍵K1は第1実施形態で示したものと同様である。また暗号化メモリ部114を有さないため、セキュリティチップ209は、暗号鍵Kpを記憶していない。またMCU213は、タンパが発生した際にプログラムを元に戻す処理を実行しない。
【0059】
決済端末装置5Bの動作例を図8に示す。図8に示す処理は、第1実施形態の図4で示した処理とつながっている。すなわち、タンパ検出があった場合(図4のACT002、Yes)、処理は図8のACT101に進み、図8のACT108の後は図4のACT002に移行する。
【0060】
ACT101〜ACT108は、第1実施形態と同様であるため、ここでの説明を割愛する。ACT103で、当該タンパ検出がプログラム改ざんである場合(ACT103、Yes)、MCU213は、USB−I/F部111を動作させて、POS端末装置6Aへ、プログラムアップデートを行うように要求電文を送信する(ACT201)。その後、決済端末装置5Aは、アップデートが完了するまで待機する(ACT202、Noのループ)。アップデートが完了すると(ACT202、Yes)、ACT107に進む。尚、要求電文を受け付けたPOS端末装置6Aは、決済端末装置5Aのプログラムアップデート処理を行う。この処理の具体例については割愛するが、例えば、第1実施形態のACT110〜ACT114(図5参照)のような動作となる。
【0061】
上記各実施形態の暗号方式としては、DES(Data Encryption Standard)、AES(Advanced Encryption Standard)などの従前の共通鍵暗号方式を用いることができる。
【0062】
実施形態では、セキュリティチップ106の識別情報である固有ID1を用いて、置き換え用のプログラムPや新規作成の暗号鍵K1’を暗号化し、カード読取ユニット2に送信する実装例を示したが、セキュリティチップの識別情報に限らず、カード読取ユニット2、決済処理ユニット3(決済処理ユニット3B)とで記憶されている共通の同一情報であればよい。
【0063】
第1ユニットは、実施形態の決済処理ユニット3、3Bに相当する。第2ユニットは、実施形態のカード読取ユニット2に相当する。通信部、第1通信部は、実施形態の通信部110に相当する。記憶部は、実施形態の暗号化メモリ部114に相当する。制御部は、実施形態のMCU113、213に相当する。制御部で実施する動作の一部もしくは全部を、セキュリティチップ106、109で行ってもよい。第2通信部は、実施形態のUSB−I/F部111に相当する。
【0064】
第1プログラムは、実施形態のプログラムPに相当する。第1データは、実施形態の固有ID1に相当する。第1暗号鍵は、実施形態の暗号鍵K1’に相当する。第2暗号鍵は、実施形態の暗号鍵Kpに相当する。
【0065】
また実施形態では、暗号鍵や置き換え用のプログラムなどの各データの記憶場所を特定しているが、これに限定されない。また、カード読取ユニット2内部の構成の一部もしくは全部と、決済処理ユニット3内部(決済処理ユニット3B内部)の構成の一部もしくは全部を入れ替えてもよい。すなわち、プログラムや暗号鍵の置き換え動作の際、上記実施形態では決済処理ユニット3(決済処理ユニット3B)が能動的に動作し、カード読取ユニット2が受動的に動作するものとして説明したが、逆であってもよい。この場合、第1ユニットは、カード読取ユニット2に相当し、各種データやユニットの機能も入れ替わる。
【0066】
第1、第2実施形態により、決済端末装置のタンパ検出時のセキュリティを確保するといった機密性の確保と、決済処理をいつでも安全に実施できるといった可用性の確保をすることでき、消費者の信頼も得ることができる。
【0067】
本実施形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、CD−ROM等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
【0068】
以上に詳説したように、本実施形態の決済端末装置は、タンパが検出されてもカードによる会計取引を引き続き行うことができる。
【0069】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【0070】
1 カード、2 カード読取ユニット、3 決済処理ユニット、
4 伝票印刷ユニット、5、5A、5B 決済端末装置、
6、6A POS端末装置、7 決済ネットワーク、8 決済処理サーバ、
10、101 磁気ヘッド、11、102 カードデータ入力部、
12 デジタル化処理部、103 コード化処理部、13、104、 MCU、
14、105 メモリ部、15、107 通信部、106 セキュリティチップ、
16、108 タンパ検出部、17、110 通信部、22、212 記憶部、
114 暗号化メモリ部、21、113、213 MCU、109、
209 セキュリティチップ、111USB−I/F部、
112 LAN−I/F部、50 サーバ、500 システム。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10