(57)【特許請求の範囲】
【請求項１】
取引金額をカードで決済する決済処理を実行する演算処理部と、
入力された個人情報を記憶するとともに、前記個人情報を利用する第１の業務アプリケーションプログラムを展開する第１のメモリと、
前記個人情報を利用しない第２の業務アプリケーションプログラムを展開する第２のメモリと、
前記演算処理部が前記第１の業務アプリケーションプログラムを実行したときに、前記第１のメモリに記憶している前記個人情報を外部機器へ出力する出力部と、を備え、
前記個人情報には、前記取引金額の決済に使用するカードの暗証番号が含まれ、
前記第１の業務アプリケーションプログラムには、前記個人情報を暗号化する暗号化プログラムが含まれ、
前記出力部は、前記暗号化プログラムの実行によって暗号化された前記個人情報を前記外部機器へ出力し、
さらに、前記演算処理部は、前記取引金額の決済にかかる認証をセンタで行うかどうかを判定し、前記取引金額の決済にかかる認証を前記センタで行うと判定した場合、前記暗証番号を暗号化し、前記取引金額の決済にかかる認証を前記センタで行わないと判定した場合、前記暗証番号を暗号化しない、決済端末。
【請求項２】
前記第１のメモリは、前記暗号化プログラムの実行によって前記個人情報を暗号化するときに用いる暗号鍵を記憶している、請求項１に記載の決済端末。
【請求項３】
前記第１のメモリは、バッテリバックアップされた揮発性のメモリであり、
前記決済端末本体の筐体が開封されたことを検知する開封検知部と、
前記開封検知部が前記決済端末本体の筐体が開封されたことを検知すると、前記第１のメモリに対するバッテリバックアップを停止する、請求項１、または２に記載の決済端末。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、取引金額をカードで決済する決済端末に関する。
【背景技術】
【０００２】
従来、取引金額をカード（クレジットカードやデビットカード等）で決済（精算）する電子決済取引が行われている。電子決済取引を処理する決済端末の１つとして、ＣＡＴ（Credit Authorization Terminal）がある。
【０００３】
決済端末は、カード情報や、カード所有者が入力した暗証番号等の個人情報を取り扱うことから、悪意を持った第三者のタンパ行為によって、入力された個人情報が不正に読み出されて漏洩するのを防止するための機能（耐タンパ性機能）を有している。例えば、決済端末は、決済端末本体の筐体が開封されたことを検知する開封検知機能を備え、この開封検知機能によって決済端末本体の筐体が開封されたことを検知すると、メモリに記憶している個人情報等を消去する構成であった（特許文献１等参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２００８／１１７４６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、タンパ行為の手法が巧妙化しており、耐タンパ性の強化が望まれている。
【０００６】
耐タンパ性の強化の１つとして、不正に書き換えられたアプリケーションプログラムによって、メモリ上に記憶している個人情報がダンプされ、第三者に漏洩するのを防止することがある。
【０００７】
この発明の目的は、不正に書き換えられたアプリケーションプログラムによって、メモリ上に記憶している個人情報が不正に読み出され、第三者に漏洩するのを防止することによって、セキュリティの向上を図った決済端末を提供することにある。
【課題を解決するための手段】
【０００８】
この発明の決済端末は、上記目的を達するために以下の構成を備えている。
【０００９】
決済端末は、例えば、取引金額をカード（クレジットカードやデビットカード等）で決済（精算）する電子決済取引を処理する。
【００１０】
第１のメモリには、入力された個人情報を記憶するとともに、個人情報を利用する第１の業務アプリケーションプログラムが展開される。第１の業務アプリケーションプログラムは、例えば取引の決済の認証にかかる処理を行う認証プログラムや、入力された個人情報を暗号化する暗号化プログラムである。また、個人情報は、取引の決済に用いるカードの情報（カード情報）や、そのカードの暗証番号等である。
【００１１】
また、第２のメモリには、個人情報を利用しない第２の業務アプリケーションプログラムが展開される。第２の業務アプリケーションプログラムは、例えば決済端末本体に設けられた表示器における画面表示を制御する表示プログラムや、取引にかかる印字データをプリンタに出力する印字プログラムである。
【００１２】
出力部は、演算処理部が第１の業務アプリケーションプログラムを実行したときに、第１のメモリに記憶している個人情報を外部機器へ出力する。第１の業務アプリケーションプログラムには、個人情報を暗号化する暗号化プログラムが含まれており、出力部は、暗号化プログラムの実行によって暗号化された個人情報を外部機器へ出力する。さらに、演算処理部は、取引金額の決済にかかる認証をセンタで行うかどうかを判定し、取引金額の決済にかかる認証をセンタで行うと判定した場合、暗証番号を暗号化し、取引金額の決済にかかる認証をセンタで行わないと判定した場合、暗証番号を暗号化しない。
【００１３】
このように、決済端末は、個人情報を利用する第１の業務アプリケーションプログラムを第１のメモリに展開し、個人情報を利用しない第２の業務アプリケーションプログラムを第１のメモリとはハード的に異なる第２のメモリに展開する。したがって、個人情報を利用しない第２の業務アプリケーションプログラムが不正に書き換えられても、この不正に書き換えられた第２の業務アプリケーションプログラムによって、第１のメモリに記憶している個人情報がダンプされることがない。すなわち、不正に書き換えられた第２の業務アプリケーションプログラムによって、第１のメモリに記憶している個人情報がダンプされ、第三者に漏洩するのを防止することができる。
【００１４】
また、出力部が外部機器へ出力する個人情報については、暗号化されている。これにより、外部機器に出力した個人情報が抜き取られることに対するセキュリティも向上できる。この場合、個人情報の暗号化に用いる暗号鍵は、第１のメモリに記憶すればよい。ここで言う暗号鍵は、情報（個人情報）の暗号化に用いる鍵である。また、暗号鍵は、暗号化した情報（個人情報）を復号化するときに用いる復号鍵と同じ鍵であってもよいし、この復号鍵と異なる鍵であってもよい。言い換えれば、復号鍵は、暗号鍵と同じであってもよいし、暗号鍵と異なっていてもよい。
なお、外部機器は、上位装置と通信するための通信機器、取引内容を印字するプリンタ、取引する商品の登録等を行うＰＯＳ端末等である。また、上位装置は、電子決済取引にかかる決済可否を認証するセンタや、取引履歴を管理する取引管理装置等である。
【００１５】
さらに、第１のメモリは、揮発性のメモリで、バッテリバックアップした構成にすることで、暗号鍵が消失するのを防止するとともに、この暗号鍵が不正に読み出されるのを防止してもよい。例えば、決済端末本体の筐体が開封されたことを検知する開封検知部を設け、決済端末本体の筐体が開封されたことを検知したときには、第１のメモリに対するバッテリバックアップを停止することによって、第１のメモリに記憶している暗号鍵を消失させる。
【発明の効果】
【００１６】
この発明によれば、不正に書き換えられたアプリケーションプログラムによって、メモリ上に記憶している個人情報が不正に読み出され、第三者に漏洩するのを防止でき、セキュリティの向上が図れる。
【図面の簡単な説明】
【００１７】
【図１】決済端末の主要部の構成を示すブロック図である。
【図２】決済端末の概観を示す概略図である。
【図３】決済端末の動作を示すフローチャートである。
【図４】ロード処理を示すフローチャートである。
【図５】取引処理を示すフローチャートである。
【図６】個人情報の入力受付処理を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、この発明の実施形態である決済端末について説明する。
【００１９】
図１は、この例にかかる決済端末の主要部の構成を示すブロック図である。図２は、この例にかかる決済端末の概観を示す概略図である。決済端末１は、ＣＰＵ２と、ＲＯＭ３と、第１のＲＡＭ４と、第２のＲＡＭ５と、個人情報入力部６と、入出力部７と、開封検知部８と、を備える。決済端末１本体各部は、導体ラインによって、電気的に接続されている。
【００２０】
決済端末１は、取引金額をカード（クレジットカードやデビットカード等）で決済（精算）する電子決済取引を処理する。
【００２１】
ＣＰＵ２は、決済端末１本体の動作を制御する。
【００２２】
ＲＯＭ３は、オペレーティングシステム（ＯＳ：Operating System）、アプリケーションプログラミングインタフェース（ＡＰＩ：Application Programming Interface）、業務アプリケーションプログラム（以下、単に業務アプリと言う。）、暗号化プログラム等、決済端末１本体で起動させるプログラムを記憶する。業務アプリには、個人情報を利用するものと、個人情報を利用しないものとがある。個人情報を利用する業務アプリは、例えば取引の決済の認証にかかる処理を行う認証プログラムや、入力された個人情報を暗号化する暗号化プログラムである。個人情報を利用しない業務アプリは、例えば決済端末１本体に設けられた表示器９における画面表示を制御する表示プログラムや、取引にかかる印字データをプリンタに出力する印字プログラムである。また、個人情報は、取引の決済に用いるカードの情報（カード情報）や、そのカードの暗証番号等である。
【００２３】
なお、図１では、暗号化プログラムを業務アプリと区別して記載しているが、この暗号化プログラムも業務アプリの１つである。
【００２４】
第１のＲＡＭ４には、ＲＯＭ３が記憶する個人情報を利用する業務アプリ（暗号化プログラムや、認証プログラム等）が決済端末１本体の起動時に展開される。また、第１のＲＡＭ４は、暗号鍵を記憶している。また、第１のＲＡＭ４は、揮発性のメモリであるが、バッテリバックアップされているので、決済端末１本体の電源オフによって、この暗号鍵が消失することはない。暗号鍵で暗号化された情報（個人情報）を復号化するときに用いる復号鍵は、この暗号鍵であってもよいし、この暗号鍵とは異なる鍵であってもよい。
【００２５】
第２のＲＡＭ５には、ＲＯＭ３が記憶するＯＳ、ＡＰＩ、個人情報を利用しない業務アプリ（表示プログラムや、印字プログラム等）が決済端末１本体の起動時に展開される。
【００２６】
第１のＲＡＭ４と、第２のＲＡＭ５とは、異なるハードウェアである。第２のＲＡＭ５も揮発性のメモリであるが、バッテリバックアップされていない。
【００２７】
第１のＲＡＭ４が、この発明で言う第１のメモリに相当し、第２のＲＡＭ５がこの発明で言う第２のメモリに相当する。
【００２８】
個人情報入力部６は、カードに記録されているカード情報を読み取るカードリーダ６ａや、テンキーや機能キー等を有する操作キー６ｂ、さらには、決済端末１本体に接続されたＰＩＮパッド（不図示）等である。ＰＩＮパッドは、カード所有者が暗証番号を入力するデバイスである。また、図２では、カードリーダ６ａとして磁気カードからカード情報を読み取る磁気カードリーダのみを示しているが、個人情報入力部６は、接触式のＩＣカードからカード情報を読み取るＩＣカードリーダや、非接触式のＩＣカードからカード情報を読み取る非接触式ＩＣカードリーダ等も備える構成であってもよい。
【００２９】
入出力部７は、接続されている外部機器との間におけるデータの入出力を行う。外部機器は、上位装置と通信するための通信機器、取引内容を印字するプリンタ、取引する商品の登録等を行うＰＯＳ端末等である。また、上位装置は、電子決済取引にかかる決済可否を認証する認証センタ（この発明で言うセンタに相当する。）や、取引履歴を管理する取引管理装置等である。入出力部７が、この発明で言う出力部に相当する構成を有する。
【００３０】
開封検知部８は、決済端末１本体の筐体が開封されたことを検知する。開封検知部８は、例えば、公知のタンパピンを利用して、決済端末１本体の筐体が開封されたことを検知する構成である。
【００３１】
なお、決済端末１は、図２に示す表示器９や、この表示器９の画面表示を制御する表示部（不図示）等も備えている。
【００３２】
以下、決済端末１の動作について説明する。図３は、決済端末の動作を示すフローチャートである。
【００３３】
決済端末１は、本体の電源がオンされるとＲＯＭ３に記憶している各種プログラムをロードするロード処理を行う（ｓ１、ｓ２）。
【００３４】
図４は、ｓ２にかかるロード処理を示すフローチャートである。決済端末１は、ＣＰＵ２においてローディングプログラムを実行し（ｓ１１）、ＲＯＭ３に記憶している個人情報を利用する業務アプリ（暗号化プログラム、認証プログラム等）を第１のＲＡＭ４に展開する（ｓ１２）。また、決済端末１は、ＲＯＭ３に記憶しているＯＳ、ＡＰＩ，および個人情報を利用しない業務アプリ（印字プログラムや表示プログラム等）を第２のＲＡＭ５に展開し（ｓ１３）、このロード処理を完了する。ｓ１２とｓ１３の処理は、上記順番と逆であってもよいし、並列的に実行されてもよい。
【００３５】
決済端末１は、ｓ２にかかるロード処理の完了により、取引処理が行える状態になる。
【００３６】
決済端末１は、取引の開始にかかる入力操作が行われるか、決済端末１本体の電源がオフされるのを待つ（ｓ３、ｓ４）。決済端末１は、取引の開始にかかる入力操作が行われると、取引処理を行う（ｓ５）。また、決済端末１は、電源がオフされると、電源オフ処理を行い（ｓ６）、本処理を終了する。
【００３７】
図５は、ｓ５にかかる取引処理を示すフローチャートである。決済端末１は、取引情報の入力を受け付ける（ｓ２１）。ｓ２１で入力を受け付ける取引情報は、取引する商品やサービスを識別する商品・サービスコードや、取引金額等である。決済端末１は、ｓ２１で入力された取引情報を第１のＲＡＭ４の変数領域(不図示）に記憶する。また、決済端末１は、取引金額の決済に用いる個人情報の入力を受け付ける（ｓ２２）。ｓ２２で入力を受け付ける個人情報は、取引金額を決済するカードのカード情報や、取引金額を決済するカードの暗証番号等である。
【００３８】
図６は、ｓ２２にかかる個人情報の入力受付処理を示すフローチャートである。決済端末１は、取引金額の決済に用いるカードの種別の入力を受け付ける（ｓ３１）。ｓ３１では、クレジットカード、デビットカード、プリペイドカード等のカードの利用用途にかかる種別や、磁気カード、接触式ＩＣカード、非接触式ＩＣカード等のカードの物理的構成にかかる種別等の入力を受け付ける。ｓ３１では、オペレータによる操作キー６ｂの操作によって、取引金額の決済に用いるカードの種別の入力が行われる。
【００３９】
決済端末１は、ｓ３１で入力された種別のカードについて、カード情報の入力を受け付ける（ｓ３２）。ｓ３２では、個人情報入力部６が備えるカードリーダが、カード情報を読み取り、読み取ったカード情報を第１のＲＡＭ４に入力する。第１のＲＡＭ４が、入力されたカード情報を変数領域に記憶する。
【００４０】
決済端末１は、ｓ３２で入力されたカード情報を暗号化する（ｓ３３）。ｓ３３では、第１のＲＡＭ４に展開している暗号化プログラムによって、入力されたカード情報を暗号化する。決済端末１は、第１のＲＡＭ４に記憶している暗号鍵を用いて、カード情報を暗号化する。また、決済端末１は、カード情報を暗号化すると、暗号化したカード情報を、第１のＲＡＭ４の変数領域に記憶するとともに、この変数領域に記憶している暗号化していないカード情報（ｓ３２で入力されたカード情報）を消去する。すなわち、決済端末１は、暗号化されていないカード情報については、そのカード情報が不要になると、すぐに第１のＲＡＭ４の変数領域から消去する（但し、暗号化したカード情報は、第１のＲＡＭ４の変数領域に記憶している。）。これにより、暗号化されていないカード情報が漏洩することに対するセキュリティの低下を抑えている。
【００４１】
決済端末１は、暗証番号の入力を受け付ける（ｓ３４）。ｓ３４では、カード所有者が、個人情報入力部６が備えるＰＩＮパッドを利用して暗証番号を入力する。入力された暗証番号は、第１のＲＡＭ４に入力される。第１のＲＡＭ４は、入力された暗証番号を記憶する。
【００４２】
決済端末１は、今回の取引にかかる取引金額の決済にかかる認証を、センタで行うか、または決済端末１本体で行うかを判定する（ｓ３５）。決済端末１は、取引金額の決済にかかる認証をセンタで行うと判定すると、第１のＲＡＭ４に展開している暗号化プログラムによって、入力された暗証番号を暗号化する（ｓ３６）。決済端末１は、第１のＲＡＭ４に記憶している暗号鍵を用いて、暗証番号を暗号化する。決済端末は、暗証番号を暗号化すると、暗号化した暗証番号を、第１のＲＡＭ４の変数領域に記憶するとともに、この変数領域に記憶している暗号化していない暗証番号（ｓ３４で入力された暗証番号）を消去する。すなわち、決済端末１は、暗号化されていない暗証番号については、その暗証番号が不要になると、すぐに第１のＲＡＭ４から消去する（但し、暗号化した暗証番号は、第１のＲＡＭ４の変数領域に記憶している。）。これにより、暗号化されていない暗証番号が漏洩することに対するセキュリティの低下を抑えている。
【００４３】
一方、決済端末１は、取引金額の決済にかかる認証をセンタで行わない（すなわち、決済端末１本体で行う。）と判定すると、取引金額の決済可否にかかる認証処理を行う（ｓ３７）。決済端末１は、取引の決済に使用するカードがプリペイドカードである場合等に、ｓ３６で取引金額の決済にかかる認証をセンタで行わないと判定する。ｓ３７では、取引の決済に使用するプリペイドカードが有する価値の残高が取引金額未満であれば、取引金額の決済不可と判定する。一方、取引の決済に使用するプリペイドカードが有する価値の残高が取引金額以上であれば、取引金額の決済可と判定する。
【００４４】
なお、決済端末１は、取引金額が予め定めた金額(例えば、１０００円）未満である場合(小額取引である場合）も、ｓ３５で取引金額の決済にかかる認証をセンタで行わない（決済端末１本体で行う。）と判定するようにしてもよい。
【００４５】
図５に戻って、決済端末１は、ｓ２２にかかる処理(図６に示した処理）が完了すると、取引金額の決済にかかる認証が完了しているかどうかを判定する（ｓ２３）。ｓ２３では、上述したｓ３７で取引金額の決済にかかる認証を行ったかどうか、すなわち取引金額の決済にかかる認証をセンタで行うかどうかを判定している。
【００４６】
決済端末１は、ｓ２３で認証済みであると判定すると、以下に示すｓ２４、ｓ２５にかかる処理を行うことなく、後述するｓ２６に進む。
【００４７】
決済端末１は、ｓ２３で認証済みでないと判定すると、センタに対して認証要求を送信し（ｓ２４）、センタからの認証結果を受信するのを待つ（ｓ２５）。決済端末１は、ｓ２４では、暗号化した個人情報(暗号化したカード情報や、暗証番号）や、取引金額を含む取引情報をセンタに送信する。センタは、決済端末１毎に、その決済端末１が記憶している暗号鍵を復号鍵として記憶している。したがって、センタは、決済端末１から受信した認証要求に含まれている個人情報の復号が行える。
【００４８】
なお、センタは、認証要求を送信してきた決済端末１を回線番号によって認識する構成であってもよいし、認証要求に含まれている端末コード（決済端末１を識別する端末コード）によって認識する構成であってもよい。また、各決済端末１が暗号鍵としてセンタの公開鍵を記憶し、センタが対応する復号鍵（秘密鍵）を記憶する構成であってもよい。この場合、センタは、認証要求を送信してきた決済端末１を認識する必要は無い。
【００４９】
決済端末１は、カードによる取引金額の決済可否を判定する（ｓ２６）。決済端末１は、決済可であれば、取引金額をカードで決済する決済処理を行い、取引を処理する（ｓ２７）。一方、決済端末１は、決済不可であれば、取引を中止する取引中止処理を行い（ｓ２８）、本処理を終了する。
【００５０】
また、決済端末１は、図５に示した取引処理の実行時には、第２のＲＡＭ５に展開した表示プログラムや、印字プログラム等を実行することにより、表示器９における画面表示の制御や、入出力部７に接続されたプリンタに対する印字データの生成、出力等にかかる処理を行う。
【００５１】
このように、この例にかかる決済端末１は、個人情報を利用する業務アプリを第１のＲＡＭ４に展開し、個人情報を利用しない業務アプリを第２のＲＡＭ５に展開する構成としたので、第２のＲＡＭ５に展開した業務アプリによって、第１のＲＡＭ４に記憶した個人情報がダンプされることがない。したがって、不正に書き換えられた個人情報を利用しない業務アプリによって、第１のＲＡＭ４に記憶している個人情報が不正に読み出され、第三者に漏洩するのを防止でき、セキュリティの向上が図れる。
【００５２】
また、これにより、個人情報の漏洩に対するセキュリティを低下させることなく、決済端末１本体を使用するユーザが個人情報を利用しない業務アプリを自由に変更することができるようになる。すなわち、決済端末１本体を使用するユーザは、使い勝手のよい業務アプリを利用することができ、操作性の向上が図れる。
【００５３】
また、決済端末１は、開封検知部８において、決済端末１本体の筐体が開封されたことを検知すると、第１のＲＡＭ４に記憶している個人情報や暗号鍵を消去する。具体的には、第１のＲＡＭ４に対するバッテリバックアップを停止することによって、第１のＲＡＭ４に記憶している個人情報や暗号鍵を消失させる。したがって、決済端末１は、開封によって、第１のＲＡＭ４に記憶している暗号鍵が漏洩することもない。
【００５４】
また、上記の例にかかる決済端末１は、入力された個人情報(カード情報や暗証番号）を暗号化し、上位装置に送信するとしたが、入力された個人情報(カード情報や暗証番号）を暗号化せずに、上位装置に送信する構成であってもよい。すなわち、決済端末１は、上述した個人情報の暗号化にかかる構成を備えていないものであってもよい。
【符号の説明】
【００５５】
１…決済端末
２…ＣＰＵ
３…ＲＯＭ
４…第１のＲＡＭ
５…第２のＲＡＭ
６…個人情報入力部
６ａ…カードリーダ
６ｂ…操作キー
７…入出力部
８…開封検知部
９…表示器
【図１】
0006464817.tif 000002
【図２】
0006464817.tif 000003
【図３】
0006464817.tif 000004
【図４】
0006464817.tif 000005
【図５】
0006464817.tif 000006
【図６】
0006464817.tif 000007