(57)【要約】【課題】タンパが検出されても、決済端末装置を引き続き運用することが可能な技術を提供することを目的とする。【解決手段】実施形態の決済端末装置は、第１ユニットと第２ユニットを有する。第１ユニットは、通信部と、記憶部と、制御部とを有する。通信部は、暗号化されるデータを第２ユニットに送信する。記憶部は、第２ユニットで実行される第１プログラムを記憶している。制御部は、決済端末装置でタンパが検出されると、第１ユニットおよび第２ユニットのそれぞれで記憶されている第１データを用いて、暗号化を行うための第１暗号鍵、または記憶部に記憶されている第１プログラムのいずれか一方もしくは両方を暗号化し、暗号化された第１暗号鍵または第１プログラムのいずれか一方もしくは両方を、通信部に出力する。【選択図】図１
2015099480.tif 000002
【特許請求の範囲】
【請求項１】
第１ユニットと第２ユニットを有する決済端末装置であり、
前記第１ユニットは、
暗号化されるデータを前記第２ユニットに送信する通信部と、
前記第２ユニットで実行される第１プログラムを記憶した記憶部と、
前記決済端末装置でタンパが検出されると、前記第１ユニットおよび前記第２ユニットのそれぞれで記憶されている第１データを用いて、前記暗号化を行うための第１暗号鍵、または前記記憶部に記憶されている前記第１プログラムのいずれか一方もしくは両方を暗号化し、暗号化された前記第１暗号鍵または前記第１プログラムのいずれか一方もしくは両方を、前記通信部に出力する制御部と、を有する
決済端末装置。
【請求項２】
請求項１に記載の決済端末装置において、
前記制御部は、前記第２ユニットが記憶している第１プログラムのハッシュ値と、前記決済端末装置の初期状態時の第１プログラムのハッシュ値とが異なっている場合、前記記憶部に記憶されている第１プログラムを前記第１データで暗号化し、前記通信部に暗号化した前記第１プログラムを出力する
決済端末装置
【請求項３】
請求項１または２に記載の決済端末装置において、
前記制御部は、前記第２ユニットが記憶している第１プログラムのハッシュ値と、前記決済端末装置の初期状態時の第１プログラムのハッシュ値とが一致している場合、前記第１暗号鍵を前記第１データで暗号化し、前記通信部に暗号化した前記第１暗号鍵を出力する
決済端末装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の決済端末装置において、
前記記憶部の記憶領域の一部は、第２暗号鍵を用いることでアクセル可能な領域であり、前記記憶部は、該一部の記憶領域に前記第１プログラムを記憶しており、
前記制御部は、前記第２暗号鍵を用いて前記記憶部から前記第１プログラムを取得する
決済端末装置。
【請求項５】
第１ユニットと第２ユニットを有する決済端末装置であり、
前記第１ユニットは、
暗号化されるデータを前記第２ユニットに送信する第１通信部と、
前記決済端末装置の外部にある装置と通信する第２通信部と、
前記決済端末装置でタンパが検出されると、前記第２ユニットが実行するプログラムに変更があったか否かを判定し、
変更が無い場合、前記第１ユニットおよび前記第２ユニットのそれぞれで記憶されている第１データを用いて、前記暗号化を行うための第１暗号鍵を暗号化し、暗号化された前記第１暗号鍵を前記第１通信部に出力し、
変更が無い場合、前記第２通信部に、前記第２ユニットが実行するプログラムの更新を要求する電文を出力する制御部と、を有する
決済端末装置。
【請求項６】
第１ユニットと第２ユニットとを有する決済端末装置で実行され、演算処理装置を有する前記第１ユニットに実行させるためのプログラムであり、
前記決済端末装置でタンパが検出されると、前記第１ユニットおよび前記第２ユニットのそれぞれで記憶されている第１データを用いて、前記第１ユニットと前記第２ユニットとの間の通信を暗号化するための第１暗号鍵、または前記第１ユニットの記憶部に記憶されており、前記第２ユニットで実行される第１プログラムのいずれか一方もしくは両方を暗号化し、
暗号化された前記第１暗号鍵または前記第１プログラムのいずれか一方もしくは両方を、前記第２ユニットに送信する
ことを前記第１ユニットに実行させるための更新プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この明細書に記載の実施形態は、決済端末装置に関する。
【背景技術】
【０００２】
例えば決済端末装置のケースが開けられた場合や、プログラム、データの改ざんが発生した場合、「タンパ検出センサ回路」の動作により「タンパ」が検出される。タンパが検出されると、決済端末装置は、暗号鍵あるいはプログラムを消去して、自らを停止して利用不可能にするようになっている。
【０００３】
この決済端末装置を利用不可能にする手法や復旧方法として、以下のような実装がある。
１．決済端末装置が停止した場合に決済端末装置内の暗号鍵及びプログラムを消去して、機能を停止させる。停止した決済端末装置はメーカで新たな暗号鍵とプログラムを再度導入する。
２．決済端末装置が暗号鍵を削除し、搭載プログラムは機能停止したことをネットワーク経由で管理運用会社のサーバに通知し、ネットワーク経由で暗号鍵を変更する。これにより再度利用可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２４３２７５号公報
【特許文献２】特開２００５−２６７０３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の決済端末装置やシステムでは、セキュリティの機密性が重要視されており、タンパが検出されたものは安全性の観点から、機能停止することが目的とされている。上記１の実装では、装置自身がメーカに送り返されることから、メーカが交換用の決済端末装置を持ってくるまで、決済業務は停止を余儀なくされる。このため、決済端末装置の停止時にカード決済を望む消費者が現れたときには、消費者に要求に応えられなくなり信用が低下する。
【０００６】
上記２の実装では、上記１の実装よりも決済端末装置の停止時間が短くなるメリットがある。しかしながら、決済端末装置が管理運営会社の管理サーバにネットワーク接続されている場合にのみ対応可能である。セキュリティの観点で、決済端末装置が決済処理会社の決済処理サービスにしか接続できない場合、すなわち、管理サーバとの接続が禁止されている環境である場合、暗号鍵の変更（更新）はできない。よって、上記２の実装は、効果が限定的である。
【０００７】
実施形態は上述した問題点を解決するためになされたものであり、タンパが検出されても、決済端末装置を引き続き運用することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態の決済端末装置は、第１ユニットと第２ユニットを有する。第１ユニットは、通信部と、記憶部と、制御部とを有する。通信部は、暗号化されるデータを第２ユニットに送信する。記憶部は、第２ユニットで実行される第１プログラムを記憶している。制御部は、決済端末装置でタンパが検出されると、第１ユニットおよび第２ユニットのそれぞれで記憶されている第１データを用いて、暗号化を行うための第１暗号鍵、または記憶部に記憶されている第１プログラムのいずれか一方もしくは両方を暗号化し、暗号化された第１暗号鍵または第１プログラムのいずれか一方もしくは両方を、通信部に出力する。
【図面の簡単な説明】
【０００９】
【図１】実施形態に係るシステムの全体構成例を示す図である。
【図２】実施形態の決済端末装置の構成例を示す図である。
【図３】第１実施形態の決済端末装置のハードウェア構成例を示す図である。
【図４】第１、第２実施形態の決済端末装置の、タンパが検出されない場合の通常運用動作の一例を示すフローチャートである。
【図５】第１実施形態の決済端末装置の、タンパが検出された場合の動作例を示すフローチャートである。
【図６】第１実施形態の暗号化メモリ部の構成例を示す図である。
【図７】第２実施形態の決済端末装置のハードウェア構成例を示す図である。
【図８】第２実施形態の決済端末装置の、タンパが検出された場合の動作例を示すフローチャートである。
【図９】前提技術となる決済端末装置のハードウェア構成例を示す図である。
【図１０】前提技術となる決済端末装置の動作例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
図１は、実施形態に係るシステム構成例を示した図である。システム５００は、決済端末装置５、ＰＯＳ（Point of Sale）端末装置６、決済処理サーバ８、およびサーバ５０を有する。
【００１１】
ＰＯＳ端末装置６は、いわゆるキャッシュレジスタであり、キーボードやバーコードスキャナを介して顧客が購入した商品のデータを入力することで、会計処理を行うための端末装置である。サーバ５０は、店舗内商品を管理するサーバ（コンピュータ）であり、例えば商品の在庫管理や価格設定などを行う。サーバ５０は、ＰＯＳ端末装置６から購入商品に関する情報を受信し、各商品についての集計を行い、統計情報をまとめる。
【００１２】
決済端末装置５は、キャッシュカードやクレジットカード（図１のカード１）を読み取る端末装置である。また決済端末装置５は、今回の購入金額などの取引情報をＰＯＳ端末装置６から受信し、この取引情報と読み取ったカード番号などを決済情報として決済処理サーバ８に送信する。決済端末装置５は、支払い可否や金額などの支払情報をＰＯＳ端末装置６に送信する。
【００１３】
決済端末装置５は、決済処理ユニット３を有し、その上部にカード読取ユニット２が積層配置している。決済端末装置５のフロント側面（操作者が操作する側の側面）には、伝票印刷ユニット４を有する。
【００１４】
決済処理サーバ８は、受信するカード番号や取引情報などに基づき、代金の支払い可否について判定するサーバ（コンピュータ）である。支払い可能である場合は、決済処理サーバ８は、実際の決済処理を実行する。決済処理サーバ８は、判定結果や決済処理の実行結果を決済端末装置５に返信する。
【００１５】
ＰＯＳ端末装置６とサーバ５０とは、ＬＡＮ（Local Area Network）もしくは広域回線網などを用いてデータの送受信を行っている。決済端末装置５と決済処理サーバ８とは、専用回線となる決済ネットワーク７を介して、決済情報などのデータの送受信を行っている。
【００１６】
図２は、図１に示すシステム５００の機能ブロック図であり、主に決済端末装置の構成例を示す図である。決済端末装置５は、カード読取ユニット２、決済処理ユニット３、伝票印刷ユニット４を有する。カード読取ユニット２は、後述の磁気ヘッド１０を用いてカード１を直接的に読み取るユニットである。カード読取ユニット２は、読み取ったカード番号などの個人情報データを決済処理ユニット３に送信する。決済処理ユニット３は、カード読取ユニット２が読み取ったデータを受信し、またＰＯＳ端末装置６から取引情報を受信して、これらに基づき決済データを決済処理サーバ８に送信する。尚、決済データの内容やデータフォーマット、暗号処理については、事前に規定されているものであるため、これ以上の説明を割愛する。
【００１７】
決済処理ユニット３は、決済可否の結果や決済処理の実行結果を決済処理サーバ８より受信する。このとき受信するデータ内容やフォーマット、暗号処理についても、従前より規定されているものである。決済処理ユニット３は、得られる決済可否の結果や決済処理の実行結果を、ＰＯＳ端末装置６に送信する。
【００１８】
伝票印刷ユニット４は、決済処理ユニット３からの指示に基づき、今回の決済についての伝票を印刷する。伝票には、例えば購入商品の名称やその個数、支払い金額、顧客のサイン記入欄が印刷されている。
【００１９】
カード読取ユニット２と決済処理ユニット３との間や、決済処理ユニット３とＰＯＳ端末装置６との間は、シリアルＩ／Ｆ（Interface）で接続されている。シリアルＩ／Ｆは、例えばＲＳ−２３２Ｃでの接続やＵＳＢ（Universal Serial Bus）の規格に準拠した接続である。また、決済端末装置５の内部、より具体的にはカード読取ユニット２と決済処理ユニット３とは、第３者によりモニタリングされる可能性があるため、カードデータの保護の観点から、暗号化してデータの送受信を行っている。決済処理ユニット３と決済処理サーバ８との間は、規定に定められた暗号化方式でデータ送受信が行われる。
【００２０】
以降、決済端末装置５について、さらに詳細な説明を行うが、まずは前提となる技術について説明し、次いで第１実施形態、第２実施形態の各態様を説明する。尚、以降の説明では伝票印刷ユニット４の説明を省略する。
【００２１】
（前提技術）
まず、図９、図１０を参照しつつ、関連する前提技術を説明する。ここでは、図１、図２で示した決済端末装置５を決済端末装置５Ａに置き換えるものとして説明する。図９に示す決済端末装置５Ａは、カード読取ユニット２Ａ、決済処理ユニット３Ａを有する。カード読取ユニット２Ａは、磁気ヘッド１０、カードデータ入力部１１、デジタル化処理部１２、ＭＣＵ（Micro Control Unit）１３、通信部１５、タンパ検出部１６を有する。またＭＣＵ１３はメモリ部１４を有し、メモリ部１４は、プログラムＰ、および決済処理ユニット３Ａと通信を行うための暗号鍵Ｋを記憶している。プログラムＰは、例えばカード１の読取から通信部１５を介してカード情報を送信するまでの一連の動作など、カード読取ユニット２Ａ内部で実行され、ＭＣＵ１３が実行するためのコードを定義したプログラムである。
【００２２】
カードデータ入力部１１やデジタル化処理部１２は、例えばＡＳＩＣ（application specific integrated circuit）で実装されているものとする。通信部１５は、ケーブルを接続する端子や通信を制御するためのチップセットを含む。またタンパ検出の方法は、タンパ用スイッチでの検出や、金属メッシュ破壊検出、各種センサによる物理量の検出など、多くのものがある。タンパ検出部１６は、これらを実現することができる実装とする。
【００２３】
決済処理ユニット３Ａは、通信部１７、ＭＣＵ２１、記憶部２２、ＵＳＢ−Ｉ／Ｆ部１９、ＬＡＮ−Ｉ／Ｆ部２０を有する。ＭＣＵ２１は、記憶部２２に事前に記憶されているプログラムＱを演算実行することで、暗号処理や決済処理を遂行する装置である。プログラムＱは、決済処理ユニット３Ａの内部で実行され、ＭＣＵ２１が実行するためのコードを定義したプログラムである。また記憶部２２は、カード読取ユニット２Ａと通信を行うための暗号鍵Ｋを記憶している。このように、カード読取ユニット２Ａと決済処理ユニット３Ａとは同じ暗号鍵Ｋを記憶している。
【００２４】
通信部１７は、ケーブルを接続する端子や通信を制御するためのチップセットを含む。ＵＳＢ−Ｉ／Ｆ部１９は、ＰＯＳ端末装置６との通信を制御し、ＵＳＢ規格に準拠したデバイスを有する。ＬＡＮ−Ｉ／Ｆ部２０は、ネットワークカードを含み、決済処理サーバ８との間で、専用線を介して通信を行う。
【００２５】
図９に示す決済端末装置５Ａの動作例を、図１０のフローチャートを参照しつつ説明する。まず、決済端末装置５Ａが初めて導入されて電力が供給されると、決済端末装置５Ａは、初期化処理として、各機能を有効にするための開局処理を実施する（ＡＣＴ００１）。この後、決済端末装置５Ａを用いた運用が開始される。
【００２６】
決済端末装置５Ａの運用時に、タンパ検出部１６がタンパを検出しない場合（ＡＣＴ００２、Ｎｏ）、通常の業務処理となる。この処理は、カード読取ユニット２Ａでの処理はプログラムＰによって行われ、決済処理ユニット３Ａでの処理は、記憶部２２に記憶されているプログラムＱにより行われる。
【００２７】
決済処理ユニット３ＡのＭＣＵ２１は、ＵＳＢ−Ｉ／Ｆ部１９を経由してＰＯＳ端末装置６から取引金額などの取引情報を取得する（ＡＣＴ００３）。この取引情報は、一時的に記憶部２２に記憶される。カード読取ユニット２Ａのカードデータ入力部１１は、磁気ヘッド１０を制御してカード１内に保存されているカード番号を読み取る（ＡＣＴ００４）。デジタル化処理部１２は、カード番号をアナログ信号からデジタルデータに変換する（ＡＣＴ００５）。ＭＣＵ１３は、デジタル化されたカード番号のコードをメモリ部１４に一時的に記憶して（ＡＣＴ００６）、暗号化鍵Ｋを用いてこのコードを暗号化する（ＡＣＴ００７）。ＭＣＵ１３は、通信部１５を制御して、暗号鍵Ｋで暗号化されたコードを決済処理ユニット３Ａに送信する（ＡＣＴ００８）。
【００２８】
決済処理ユニット３Ａの通信部１７が暗号化されたコードを受信すると（ＡＣＴ００９）、ＭＣＵ２１は、暗号鍵Ｋを記憶部２２から取得し、暗号鍵Ｋを用いて受信したコードを復号する（ＡＣＴ０１０）。これにより、ＭＣＵ２１はカード番号を取得する。ＭＣＵ２１は、ＬＡＮ−Ｉ／Ｆ部２０を動作させて、カード番号およびＡＣＴ００３で記憶部２２に一時的に記憶した取引情報を、決済処理サーバ８へ送信する（ＡＣＴ０１１）。この通信は、専用回線網である決済ネットワーク７を介して行い、また事前に定義される方式で暗号化通信される。これにより決済処理サーバ８にて決済処理が行われる（ＡＣＴ０１２）。ＭＣＵ２１は、決済の可否結果や決済処理の実行結果の情報を決済サーバ８から受信し、取引完了通知をＰＯＳ端末装置６に送信する（ＡＣＴ０１３）。
【００２９】
決済端末装置５Ａは、上記ＡＣＴ００３〜ＡＣＴ０１３の動作を、一取引が行われる際に実行する。一方、タンパ検出部１６がタンパを検出した場合（ＡＣＴ００２、Ｙｅｓ）、カード読取ユニット２ＡのＭＣＵ１３は、タンパが検出されたことを示す情報を決済処理ユニット３Ａに送信する。決済処理ユニット３ＡのＭＣＵ２１は、ＰＯＳ端末装置６にタンパが検出されたことを通知する（ＡＣＴ０４３）。またＭＣＵ１３、ＭＣＵ２１は、各ユニット内のメモリ部１４、記憶部２２にある、プログラムＰ、Ｑ、およびそれぞれに記憶された暗号鍵Ｋを消去する（ＡＣＴ０４４）。ＭＣＵ１３、ＭＣＵ２１は、動作停止コマンドを実行する（ＡＣＴ０４５）。これにより決済端末装置５Ａは動作を停止する。
【００３０】
（第１実施形態）
上記前提技術のように、タンパが検出されて決済端末装置５Ａの動作が停止すると、メーカでの修理が行われるまでカード決済を行うことができない。第１実施形態では、タンパを検出しても引き続き運用を続ける決済端末装置の実装例を説明する。
【００３１】
タンパの種別としては、大きく分けて２つ考えられる。１つは第３者によるプログラムの改ざんであり、もう１つはスキミング用カードの装着やユニットの置き換えなど、第３者によるハードウェアの構成変更である。第１実施形態では、プログラムの改ざんがあった場合はプログラムを開局時の状態に戻す。またハードウェアの構成変更があった場合は、暗号鍵を新たに生成し、以降、この新規の暗号鍵でデータ送受信を行う。暗号鍵の変更により、ハードウェアのスキミングや置き換えがあった場合でも、中のデータの読取りを阻止することができる。
【００３２】
図３に、第１実施形態の決済端末装置の構成例を示す。決済端末装置５は、カード読取ユニット２、決済処理ユニット３を有する。カード読取ユニット２は、磁気ヘッド１０１、カードデータ入力部１０２、コード化処理部１０３（上記前提技術のデジタル化処理部１２に相当）、ＭＣＵ１０４、セキュリティチップ１０６、通信部１０７を有する。尚、図３のカッコ表記は、記憶しているプログラムやデータである。
【００３３】
磁気ヘッド１０１、カードデータ入力部１０２、コード化処理部１０３、通信部１０７は、上記前提技術と同様の構成であり、同様の動作を行う。ＭＣＵ１０４はメモリ部１０５を有する。このメモリ部１０５には、上記前提技術と同様の命令が定義されるプログラムＰ、および決済処理ユニット３と通信を行うための暗号鍵Ｋ１を記憶している。またセキュリティチップ１０６は、ＴＭＰ（Trusted Platform Module）であり、セキュリティチップ１０６固有の識別情報を有する。以下、セキュリティチップ１０６固有の識別情報を固有ＩＤ１と称する。またセキュリティチップ１０６は、開局時のプログラムＰのハッシュ値も記憶する。尚、暗号鍵Ｋ１は、このセキュリティチップ１０６内で記憶していてもよい。
【００３４】
決済処理ユニット３は、通信部１１０、ＭＣＵ１１３、暗号化メモリ部１１４、ＵＳＢ−Ｉ／Ｆ部１１１、ＬＡＮ−Ｉ／Ｆ部１１２、セキュリティチップ１０９を有する。通信部１１０、ＵＳＢ−Ｉ／Ｆ部１１１、ＬＡＮ−Ｉ／Ｆ部１１２は、上記前提技術と同様の構成であり、同様の動作を実行する。
【００３５】
ＭＣＵ１１３は、暗号処理や決済処理を遂行する装置であり、暗号化メモリ部１１４に事前に記憶されているプログラムＱを演算実行する。
【００３６】
暗号化メモリ部１１４は、上記前提技術と同様の命令が定義されたプログラムＱ、およびカード読取ユニット２と通信を行うための暗号鍵Ｋ１を記憶している。これらプログラムＱ、暗号鍵Ｋ１をＭＣＵ１１３内にある不図示の記憶部に記憶させる実装でもよい。
【００３７】
また暗号化メモリ部１１４には、活性化鍵（ここでは暗号鍵Ｋｐと称す）を内部でセットしていない場合はアクセス不可とする記憶領域がある。この領域を、本例では鍵領域を称する。この鍵領域内に、上記プログラムＰ、プログラムＱと同じプログラムが記憶されている。この鍵領域内に記憶されたプログラムＰ、Ｑは、プログラムが改ざんされた場合の置き換え用のプログラムであり、工場出荷前に事前に導入されていたり、初期起動時に事前に鍵領域内に導入されたりする。
【００３８】
セキュリティチップ１０９は、ＴＭＰであり、セキュリティチップ１０７固有の識別情報を記憶している。この識別情報を固有ＩＤ２と称する。またセキュリティチップ１０９は、カード読取ユニット２内にあるセキュリティチップ１０６の識別情報である固有ＩＤ１も記憶している。さらにセキュリティチップ１０９は、暗号化メモリ部１１４の上記鍵領域にアクセスするための暗号鍵Ｋｐを記憶している。セキュリティチップ１０９は、開局時のプログラムＱのハッシュ値も記憶する。尚、暗号鍵Ｋ１は、このセキュリティチップ１０９内で記憶していてもよい。
【００３９】
第１実施形態のタンパ検出部１０８は、カード読取ユニット２、決済処理ユニット３のいずれにも属さず、これらの外部に位置している。タンパ検出部１０８は、カード読取ユニット２、決済処理ユニット３のタンパを検出する。
【００４０】
図４、図５は、第１実施形態の動作例を示したフローチャートである。図４は、主に通常運用時の動作を例示しており、図５は、タンパが検出された場合の動作例を示している。まず初期導入の開局時に、カード読取ユニット２のＭＣＵ１０４は、プログラムＰのハッシュ値を計測し、ハッシュ値を不揮発性に記憶する（ＡＣＴ０５０）。ハッシュ値は、セキュリティチップ１０６に記憶されるものとするが、メモリ部１０５に記憶されてもよい。決済処理ユニット３のＭＣＵ１１３も同様に、開局時に、プログラムＱを暗号化メモリ部１１４から取得し、そのハッシュ値を計測する（ＡＣＴ０５０）。このハッシュ値は、セキュリティチップ１０９に記憶されるものとするが、暗号化メモリ部１１４に記憶されてもよい。
【００４１】
以降、タンパ検出部１０８がタンパを検出するまで、決済端末装置５は、ＡＣＴ００３〜ＡＣＴ０１３に示すフローを実行する。尚、暗号鍵Ｋ１でコード値（カード番号）を暗号化、復号化する処理（ＡＣＴ０５１、ＡＣＴ０５２参照）以外は、図４に示すＡＣＴ００３〜ＡＣＴ０１３の各処理と上記前提技術内で説明したＡＣＴ００３〜ＡＣＴ０１３とは同じものである。よってここでの説明を割愛する。
【００４２】
次に、タンパが検出された場合について説明する。尚、以下の説明では、カード読取ユニット２でタンパが検出されるものとして説明する。
【００４３】
タンパ検出部１０８がカード読取ユニット２についてのタンパを検出する場合（ＡＣＴ００２、Ｙｅｓ）、タンパ検出部１０８は、タンパ検出信号をＭＣＵ１０４に送信する。ＭＣＵ１０４は、セキュリティチップ１０６に記憶されたハッシュ値を読み出し（ＡＣＴ１０１）、開局時のプログラムＰのハッシュ値と、現状のプログラムコードのハッシュ値とを比較する（ＡＣＴ１０２）。比較した結果、一部でも異なる値がある場合はプログラムＰに改ざんがあるとみなすことができる。
【００４４】
プログラムＰの改ざんでは無い場合（ＡＣＴ１０３、Ｎｏ）、ハードウェアの構成が変更されたものとして扱い、暗号化鍵の置き換えを行う。まずＭＣＵ１０４は、ハードウェアの構成変更が起きたことを決済処理ユニット３に通知する。通知を受けた決済処理ユニット３内のＭＣＵ１１３は、新たな暗号鍵Ｋ１’を生成する（ＡＣＴ１０４）。本例では新たに暗号鍵を生成するものとしたが、例えば暗号化メモリ部１１４やセキュリティチップ１０９内に、事前に予備の暗号鍵を記憶させておき、ＭＣＵ１１３がこの予備の暗号鍵を取得する、という実装でもよい。
【００４５】
ＭＣＵ１１３は、セキュリティチップ１０９に記憶されている固有ＩＤ１を取得し、固有ＩＤ１を用いて、生成した暗号鍵Ｋ１’を暗号化し、カード読取ユニット２に送信する（ＡＣＴ１０５）。このように固有ＩＤ１で送信用データ（ここでは暗号鍵Ｋ１’）を暗号化することで、セキュリティも確保される。またこのとき、ＭＣＵ１１３は、暗号化メモリ部１１４に記憶されている暗号鍵Ｋ１を、生成した暗号鍵Ｋ１’に置き換える。
【００４６】
カード読取ユニット２のＭＣＵ１０４は、セキュリティチップ１０６内にある固有ＩＤ１を用いて、送信されたデータを復号して暗号鍵Ｋ１’を取り出す。ＭＣＵ１０４は、メモリ部１０５に記憶されている暗号鍵Ｋ１を、新しい暗号鍵Ｋ１’に置き換える（ＡＣＴ１０６）。その後ＭＣＵ１０４は、タンパ検出部１０８に所定信号を送信してタンパ検出をリセットする（ＡＣＴ１０７）。一方、決済処理ユニット３のＭＣＵ１１３は、ＰＯＳ端末装置６にタンパが検出されたことを通知する（ＡＣＴ００８）。これら各処理が行われた後はＡＣＴ００２に戻る。尚、通知を受けたＰＯＳ端末装置６は、メッセージ表示を行い利用者に通知する。以降、利用者によるメーカへの問い合わせなどが行われ、適切に対処される。
【００４７】
ＡＣＴ１０３の判定に戻る。ＡＣＴ１０３で、プログラムＰの改ざんと判定される場合（ＡＣＴ１０３、Ｙｅｓ）、ＭＣＵ１０４は、プログラムＰの改ざんがあったことを決済処理ユニット３に通知する。決済処理ユニット３のＭＣＵ１１３は、暗号化メモリ部１１４の鍵領域を活性化させるための暗号鍵Ｋｐを、セキュリティチップ１０９から取得する（ＡＣＴ１１０）。ＭＣＵ１１３は、この暗号鍵Ｋｐを、暗号化メモリ部１１４内の事前に決められている揮発性領域にセットする（記憶させる）（ＡＣＴ１１１）。
【００４８】
ここで、暗号化メモリ部１１４について、図６を用いて説明する。暗号化メモリ部１１４は、アクセス対象の領域のアドレスを指定したアドレス信号１８０、当該アクセスがリードであるかライトであるかを示すリード／ライト信号１８２を入力する。リード／ライト信号がオンであるときに実データの読み書きが行われる。図６では、この実データがデータ信号１８１として示されている。暗号化メモリ部１１４がアドレス信号１８０やリード／ライト信号１８２を入力すると、アドレス制御部１８３は、メモリ素子１８６内の指定されたアドレスへのアクセスを許可する。これによりリードもしくはライトが実行される。図６に示すメモリ素子１やメモリ素子ｎは、この動作のみで読み書き可能な領域であり、実行用のプログラムＱ、暗号鍵Ｋ１は、この動作のみで出力される。
【００４９】
メモリ素子１８６内のメモリ素子２は、暗号鍵Ｋｐが揮発性記憶部１８５内にセットされていないと読み書きができない記憶素子となっている。ＭＣＵ１１３は、セキュリティチップ１０９から取得した暗号鍵Ｋｐを揮発性記憶部１８５にセットする。これにより、暗号化／復号化部１８４は、アドレス信号１８０がメモリ素子２を示すものである場合、メモリ素子２内に記憶されているプログラムＰを、暗号鍵Ｋｐを用いて復号する。この復号後のプログラムＰが暗号化メモリ部１１４から出力される。ＭＣＵ１１３は、このようにして改ざん前のプログラムＰを入手する。メモリ素子２内のプログラムＱを入手する場合も同様の動作となる。
【００５０】
尚、図６に示す例では、メモリ素子２のみを鍵領域としているが、例えばメモリ素子１やメモリ素子ｎの記憶領域を鍵領域としてもよい。これらメモリ素子１やメモリ素子ｎの鍵領域は、暗号鍵Ｋｐとは別の活性化鍵（暗号鍵）を揮発性記憶部１８５にセットすることでアクセス可能となる実装でもよい。
【００５１】
図５のフローチャートの説明に戻る。ＭＣＵ１１３は、セキュリティチップ１０９に記憶されている、固有ＩＤ１を暗号鍵Ｋ２とし（ＡＣＴ１１２）、この暗号鍵Ｋ２（固有ＩＤ１）で、プログラムＰを暗号化して、カード読取ユニット２に送信する（ＡＣＴ１１３）。固有ＩＤ１で暗号化することにより、通信部２１０、通信部１０７間のデータ送受信のセキュリティは確保される。カード読取ユニット２のＭＣＵ１０５は、固有ＩＤ１をセキュリティチップ１０６から取得し、受信したデータを固有ＩＤ１で復号してプログラムＰを取得する。ＭＣＵ１０５は、改ざんのあったプログラムを、取得したプログラムＰに置き換える（ＡＣＴ１１４）。これにより、改ざん前のプログラムＰに戻すことができる。ＡＣＴ１１４の処理後、ＡＣＴ１０７に進む。
【００５２】
上記例では、カード読取ユニット２でタンパが検出される例を示した。カード読取ユニット２、決済処理ユニット３の両ユニットで同じ暗号鍵を保持しておく必要があるため、暗号鍵の交換の場合（ＡＣＴ１０３、Ｎｏの場合）、両ユニットがそれぞれで鍵の置き換え処理を行う。一方、プログラム改ざんの場合（ＡＣＴ１０３、Ｙｅｓの場合）、両ユニットのプログラムを交換する必要はなく、タンパが検出されたユニット（上記例ではカード読取ユニット２）で使用するプログラムのみを交換すればよい。
【００５３】
このように、上記説明ではカード読取ユニット２のプログラムＰのみを交換する実装例を説明したが、決済処理ユニット３が使用するプログラムの交換も、同手法で行うことができる。この場合、暗号化メモリ部１１４の鍵領域には、決済処理ユニット３が使用する、元の状態のプログラムＰを事前に記憶させておく。プログラムの改ざんがあった場合、ＭＣＵ１１３は、暗号鍵Ｋｐを取得して暗号化メモリ部１１４の鍵領域を活性化し、元の状態のプログラムＰを取得してこれに置き換える。またこの場合、決済処理ユニット３内部で処理が完結するため、プログラムＰを固有ＩＤ１（暗号鍵Ｋ２）で暗号化することは不要であるが、当然固有ＩＤ１で暗号化して復号化する処理行っても構わない。
【００５４】
上記例では、カード読取ユニット２の処理ではＭＣＵ１０４が主として動作し、決済処理ユニット３の処理ではＭＣＵ１１３が主として動作するものとして説明したが、この動作の一部もしくは全部を、セキュリティチップ１０６、１０９で行う実装でも構わない。
【００５５】
また上記例では、プログラムに改ざんがある場合はプログラムのみを元の状態に戻す実装であるが、プログラムに加えて暗号鍵も置き換える実装でもよい。この場合、ＡＣＴ１１０からＡＣＴ１１４を実行した後にＡＣＴ１０４からＡＣＴ１０６を実行するか、もしくはＡＣＴ１０４からＡＣＴ１０６を実行した後にＡＣＴ１１０からＡＣＴ１１４を実行する。また、ハードウェアの構成変更、ソフトウェアの改ざんに拘わらず、タンパを検出した場合は常にプログラムと暗号鍵の両方を置き換える実装であってもよい。この場合、ＡＣＴ１０３の判定は不要となり、上記同様に、ＡＣＴ１１４の後にＡＣＴ１０４を行うか、もしくはＡＣＴ１０６の後にＡＣＴ１１０を行う実装となる。
【００５６】
（第２実施形態）
保守の観点でプログラムを更新する機能を有するＰＯＳ端末装置がある。この機能は、ＰＯＳ端末装置が動作主体となって、自装置内のプログラムおよび決済端末装置内で記憶されるプログラムを更新する。第２実施形態では、ＰＯＳ端末装置がこのプログラムの更新機能を有している場合についての実装例を、図７、図８を参照しつつ説明する。
【００５７】
図７に第２実施形態の構成例を示す。図７に示すＰＯＳ端末装置６Ａは、第１実施形態のＰＯＳ端末装置６の機能に加え、自装置で使用するプログラムおよび決済端末装置５Ｂで使用するプログラムを、自動で更新する機能を有する。また決済端末装置５Ｂは、第１実施形態と同様のカード読取ユニット２を有し、また決済処理ユニット３Ｂを有する。決済処理ユニット３Ｂの通信部１１０、ＵＳＢ−Ｉ／Ｆ部１１１、ＬＡＮ−Ｉ／Ｆ部１１２は、上記第１実施形態と同様である。
【００５８】
決済処理ユニット３Ｂは、第１実施形態で説明した暗号化メモリ部１１４を有さず、替わりに記憶部２１２を有する。記憶部２１２は、決済処理ユニット３Ｂが使用するプログラムＱ、およびカード読取ユニット２と暗号化通信を行うための暗号鍵Ｋ１を記憶している。プログラムＱ、暗号鍵Ｋ１は第１実施形態で示したものと同様である。また暗号化メモリ部１１４を有さないため、セキュリティチップ２０９は、暗号鍵Ｋｐを記憶していない。またＭＣＵ２１３は、タンパが発生した際にプログラムを元に戻す処理を実行しない。
【００５９】
決済端末装置５Ｂの動作例を図８に示す。図８に示す処理は、第１実施形態の図４で示した処理とつながっている。すなわち、タンパ検出があった場合（図４のＡＣＴ００２、Ｙｅｓ）、処理は図８のＡＣＴ１０１に進み、図８のＡＣＴ１０８の後は図４のＡＣＴ００２に移行する。
【００６０】
ＡＣＴ１０１〜ＡＣＴ１０８は、第１実施形態と同様であるため、ここでの説明を割愛する。ＡＣＴ１０３で、当該タンパ検出がプログラム改ざんである場合（ＡＣＴ１０３、Ｙｅｓ）、ＭＣＵ２１３は、ＵＳＢ−Ｉ／Ｆ部１１１を動作させて、ＰＯＳ端末装置６Ａへ、プログラムアップデートを行うように要求電文を送信する（ＡＣＴ２０１）。その後、決済端末装置５Ａは、アップデートが完了するまで待機する（ＡＣＴ２０２、Ｎｏのループ）。アップデートが完了すると（ＡＣＴ２０２、Ｙｅｓ）、ＡＣＴ１０７に進む。尚、要求電文を受け付けたＰＯＳ端末装置６Ａは、決済端末装置５Ａのプログラムアップデート処理を行う。この処理の具体例については割愛するが、例えば、第１実施形態のＡＣＴ１１０〜ＡＣＴ１１４（図５参照）のような動作となる。
【００６１】
上記各実施形態の暗号方式としては、ＤＥＳ（Data Encryption Standard）、ＡＥＳ（Advanced Encryption Standard）などの従前の共通鍵暗号方式を用いることができる。
【００６２】
実施形態では、セキュリティチップ１０６の識別情報である固有ＩＤ１を用いて、置き換え用のプログラムＰや新規作成の暗号鍵Ｋ１’を暗号化し、カード読取ユニット２に送信する実装例を示したが、セキュリティチップの識別情報に限らず、カード読取ユニット２、決済処理ユニット３（決済処理ユニット３Ｂ）とで記憶されている共通の同一情報であればよい。
【００６３】
第１ユニットは、実施形態の決済処理ユニット３、３Ｂに相当する。第２ユニットは、実施形態のカード読取ユニット２に相当する。通信部、第１通信部は、実施形態の通信部１１０に相当する。記憶部は、実施形態の暗号化メモリ部１１４に相当する。制御部は、実施形態のＭＣＵ１１３、２１３に相当する。制御部で実施する動作の一部もしくは全部を、セキュリティチップ１０６、１０９で行ってもよい。第２通信部は、実施形態のＵＳＢ−Ｉ／Ｆ部１１１に相当する。
【００６４】
第１プログラムは、実施形態のプログラムＰに相当する。第１データは、実施形態の固有ＩＤ１に相当する。第１暗号鍵は、実施形態の暗号鍵Ｋ１’に相当する。第２暗号鍵は、実施形態の暗号鍵Ｋｐに相当する。
【００６５】
また実施形態では、暗号鍵や置き換え用のプログラムなどの各データの記憶場所を特定しているが、これに限定されない。また、カード読取ユニット２内部の構成の一部もしくは全部と、決済処理ユニット３内部（決済処理ユニット３Ｂ内部）の構成の一部もしくは全部を入れ替えてもよい。すなわち、プログラムや暗号鍵の置き換え動作の際、上記実施形態では決済処理ユニット３（決済処理ユニット３Ｂ）が能動的に動作し、カード読取ユニット２が受動的に動作するものとして説明したが、逆であってもよい。この場合、第１ユニットは、カード読取ユニット２に相当し、各種データやユニットの機能も入れ替わる。
【００６６】
第１、第２実施形態により、決済端末装置のタンパ検出時のセキュリティを確保するといった機密性の確保と、決済処理をいつでも安全に実施できるといった可用性の確保をすることでき、消費者の信頼も得ることができる。
【００６７】
本実施形態では装置内部に発明を実施する機能が予め記録されている場合で説明をしたが、これに限らず同様の機能をネットワークから装置にダウンロードしても良いし、同様の機能を記録媒体に記憶させたものを装置にインストールしてもよい。記録媒体としては、ＣＤ−ＲＯＭ等プログラムを記憶でき、かつ装置が読み取り可能な記録媒体であれば、その形態は何れの形態であっても良い。またこのように予めインストールやダウンロードにより得る機能は装置内部のＯＳ（オペレーティング・システム）等と協働してその機能を実現させるものであってもよい。
【００６８】
以上に詳説したように、本実施形態の決済端末装置は、タンパが検出されてもカードによる会計取引を引き続き行うことができる。
【００６９】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。そのため、前述の実施の形態はあらゆる点で単なる例示に過ぎず、限定的に解釈してはならない。本発明の範囲は、特許請求の範囲によって示すものであって、明細書本文には、なんら拘束されない。さらに、特許請求の範囲の均等範囲に属する全ての変形、様々な改良、代替および改質は、すべて本発明の範囲内のものである。
【符号の説明】
【００７０】
１  カード、２  カード読取ユニット、３  決済処理ユニット、
４  伝票印刷ユニット、５、５Ａ、５Ｂ  決済端末装置、
６、６Ａ  ＰＯＳ端末装置、７  決済ネットワーク、８  決済処理サーバ、
１０、１０１  磁気ヘッド、１１、１０２  カードデータ入力部、
１２  デジタル化処理部、１０３  コード化処理部、１３、１０４、  ＭＣＵ、
１４、１０５  メモリ部、１５、１０７  通信部、１０６  セキュリティチップ、
１６、１０８  タンパ検出部、１７、１１０  通信部、２２、２１２  記憶部、
１１４  暗号化メモリ部、２１、１１３、２１３  ＭＣＵ、１０９、
２０９  セキュリティチップ、１１１ＵＳＢ−Ｉ／Ｆ部、
１１２  ＬＡＮ−Ｉ／Ｆ部、５０  サーバ、５００  システム。
【図１】
2015099480.tif 000003
【図２】
2015099480.tif 000004
【図３】
2015099480.tif 000005
【図４】
2015099480.tif 000006
【図５】
2015099480.tif 000007
【図６】
2015099480.tif 000008
【図７】
2015099480.tif 000009
【図８】
2015099480.tif 000010
【図９】
2015099480.tif 000011
【図１０】
2015099480.tif 000012