説明

決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム

【課題】電子マネー事業者が電子マネー決済処理の決済処理セキュリティ情報を決済端末のメーカに渡すことなく、決済端末を運用可能な状態にできるようにする。
【解決手段】電子マネー事業者のセンタ装置2と端末メーカのサーバ1との間で、予めネットワーク7を介して前準備処理を行うことで、センタ装置2側は“端末共有鍵A(Kct)で暗号化されたセンタ情報”35、サーバ1側は“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25を取得して保持しておく。サーバ1側では決済端末10にこの暗号化された端末情報25等を格納して出荷する。この決済端末10は、出荷されて任意の店舗等に設置後、ネットワーク7を介してセンタ装置2と暗号化通信を行って、決済処理セキュリティ情報である中間コード31、セキュリティデータ32を取得して格納する。その際、決済端末10、センタ装置2は、それぞれ、上記情報35、25を用いて、通信相手が正当な相手であることを確認する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ICカード等を用いる電子マネーシステムに係わり、特にその決済端末に対するセキュリティ情報設定方式に関する。
【背景技術】
【0002】
ICカードを使った電子マネーシステムが広く利用されている。電子マネーを運営する各電子マネー事業者は、電子マネーシステムを安全に運用するために、独自にセキュリティ機能を決済端末、データセンターに組み込むことで、セキュリティを確保している。セキュアなシステムを構築するためには、システム全体を電子マネー事業者が単独で構築することが望ましい。そこで、セキュリティ処理に関する機能を電子マネー事業者が開発して、決済端末に組み込むことでメーカとのセキュリティ境界を保っている。
【0003】
これを実現するため、例えばインタプリタ機能をICカード端末内のセキュアなLSIに実装し、電子マネー事業者が例えばインタプリタ言語で開発したアプリケーション(ICカードと通信して電子マネー決済処理を行うアプリケーション等(ここではインタプリタが解釈可能な中間コードを例にする))をロードし、LSI内でこのアプリケーションを実行させる方法が考えられる。尚、上記セキュアなLSIとは、例えば耐タンパ技術(例えば筐体の開封検知によりLSI内の上記アプリケーションを消去するもの等)により保護されているものである。
【0004】
ここで、例えば、特許文献1には、インタプリタが解釈可能な中間コードを格納するRAMと、中間コードを解釈実行可能なインタプリタ実行プログラムを格納するROMと、インタプリタ実行プログラムの実行を制御するCPUとを備えたLSIを用いることが開示されている。上記中間コードは、暗号化されている場合と暗号化されている場合がある。あるいは、上記RAMには暗号化された中間コードと暗号化されていない中間コードとが格納されており、この両方の中間コードをインタプリタ実行プログラムで解釈可能とすることも開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−333984号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
上記特許文献1などの従来技術において、特に暗号化された中間コードを用いる手法においては、中間コードの暗号化は決済端末を製造する製造メーカ(または、この決済端末内の上記LSIを別のメーカが製造する場合には、当該LSIの製造/販売業者等)が割り当てた固定の暗号化鍵を利用しなければならず、中間コードの暗号化を製造メーカ等に委ねなければならず、電子マネー事業者と製造メーカ等との間の明確なセキュリティ境界を保つことが困難である。
【0007】
ここで、従来では、決済端末内のLSIに格納させる中間コードが暗号化されているか否かに関係なく、電子マネー事業者は、自己が開発した上記アプリケーション(ここでは中間コード)を決済端末の例えば製造メーカに渡して、製造メーカにおいてこのアプリケーションをそのまま(または暗号化して)決済端末内のLSI内のメモリに格納する作業を行うことで、決済端末が完成して出荷されることになる。この為、製造メーカ側で上記アプリケーション(中間コード)の内容を知り得ることになる。また、アプリケーション(中間コード)に限らず、そのセキュリティデータ(ICカードとの通信の際に必要となる秘匿鍵等;中間コードが暗号化されている場合には、更に、復号化の為の鍵情報等)も、製造メーカに渡して、決済端末内のLSI内のメモリに格納させる作業を行わせる必要があり、セキュリティデータに関しても、その内容を製造メーカ側が知り得る状態にある。
【0008】
電子マネー事業者側としては、電子マネー事業者と製造メーカ等と間の明確なセキュリティ境界を保つ為に、中間コードやセキュリティデータを製造メーカ等に渡したく無いという要望がある。しかしながら、上記の通り、中間コードやセキュリティデータを製造メーカ等に渡さなければ、実質的に決済端末は完成しないことになり(ハードウェアは製造できても、決済端末として機能する状態にはならない)、従来ではこの要望は適わなかった。
【0009】
本発明の課題は、電子マネー事業者が、自己の電子マネーの決済処理に係わるアプリケーション等であって特にセキュリティ仕様を実現するアプリケーション等を、第3者(端末メーカ等)に公開することなく決済端末に設定でき、更に、予め実行されている前準備処理等によって得られている暗号化情報や各種鍵を用いることで、安全・確実に上記アプリケーション等を決済端末に配信して設定できる決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム等を提供することである。
【課題を解決するための手段】
【0010】
本発明の決済処理セキュリティ情報配信方法は、電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける決済処理セキュリティ情報配信方法であって、予め、前記センタ装置と前記サーバ装置とが前記ネットワークを介して相互に通信処理を行うことで、前記センタ装置は、自己に係わる特定情報が前記決済端末メーカ側のみが保持する第1の秘匿鍵によって暗号化されて成る暗号化特定情報を取得して保持し、前記サーバ装置は、出荷する各決済端末毎に、その決済端末に係わる所定情報である端末情報が前記センタ装置のみが保持する第2の秘匿鍵によって暗号化されて成る暗号化端末情報を取得して保持する前準備処理ステップと、前記サーバ装置が、出荷する各決済端末毎に、その決済端末の前記端末情報及びその前記暗号化端末情報と前記第1の秘匿鍵と、前記前準備処理ステップの際に取得した前記特定情報とを設定・格納する設定処理ステップと、前記各決済端末が出荷されて任意の設置場所に設置された後、前記センタ装置と前記決済端末とが前記ネットワークを介して暗号化通信により相互認証処理を行う処理であって、前記決済端末が前記暗号化端末情報を含む第1の送信情報を前記センタ装置へ送信し、該センタ装置は該第1の送信情報と前記第2の秘匿鍵と前記前準備処理ステップの際に取得した前記端末情報に基づいて通信相手の決済端末を認証し、前記センタ装置が前記暗号化特定情報を含む第2の送信情報を前記決済端末に送信し、該決済端末は該第2の送信情報と前記第1の秘匿鍵と前記特定情報に基づいて前記センタ装置を認証する相互認証処理ステップと、前記相互認証が成功した場合、前記センタ装置が前記決済端末に対して、電子マネー決済処理に係わる決済処理セキュリティ情報を、前記相互認証処理ステップで得られる暗号鍵によって暗号化して配信する配信ステップと、前記決済端末が、該暗号化された配信情報を前記相互認証処理ステップで得られる前記暗号鍵によって復号することで前記決済処理セキュリティ情報を取得する決済処理セキュリティ情報取得ステップとを有する。
【0011】
本手法では、電子マネー事業者は、電子マネー決済処理に係わる決済処理セキュリティ情報(例えば上述した中間コード等)を、第3者(決済端末メーカ等)に渡さない。よって、各決済端末は、決済端末メーカ側によって製造・設定・出荷された時点では、決済処理セキュリティ情報を保持していないので、電子マネー決済処理の行えない(機能しない)。決済処理セキュリティ情報は、後から(決済端末設置後に)電子マネー事業者のセンタ装置から決済端末に配信される。
【0012】
但し、決済処理セキュリティ情報は重要な情報であり、漏洩や誤配信は許されないので、センタ装置−決済端末間の通信を暗号化通信で行うだけでなく、予め前準備処理によって電子マネー事業者−決済端末メーカ間で交換した暗号化情報である上記暗号化特定情報、暗号化端末情報等を用いて認証処理を行うことで、相互に通信相手が正当なものであることを確認し、安全に決済処理セキュリティ情報を配信できるようにしている。
【発明の効果】
【0013】
本発明の決済処理セキュリティ情報配信方法、決済処理セキュリティ情報配信システム、そのセンタ装置、サーバ装置、決済端末、及びプログラム等によれば、電子マネー事業者は、自己の電子マネーの決済処理に係わるアプリケーション等であって特にセキュリティ仕様を実現するアプリケーション等を、第3者(端末メーカ等)に公開することなく、決済端末に設定できる。この設定処理はネットワークを介して行うが、予め実行されている前準備処理等によって得られている暗号化情報や各種鍵を用いることで、安全・確実に上記アプリケーション等を決済端末に配信して設定できる。
【図面の簡単な説明】
【0014】
【図1】実施例1のプログラム配信システムの構成例を示す図である。
【図2】実施例1のプログラム配信システムの処理シーケンス例を示す図である。
【図3】図2のStep12の処理を詳細に説明する為のフロー図である。
【図4】実施例2のプログラム配信システムの構成例を示す図である。
【図5】実施例2のプログラム配信システムの処理シーケンス例を示す図である。
【図6】実施例3におけるプログラム配信システムの構成例を示す図である。
【図7】実施例3のプログラム配信システムの処理シーケンス例を示す図である。
【図8】実施例4におけるプログラム配信システムの構成例を示す図である。
【図9】実施例4におけるStep12の処理を詳細に説明する為のフロー図である。
【図10】実施例5におけるプログラム配信システムの構成例を示す図である。
【図11】実施例6のプログラム配信システムの処理シーケンス例を示す図である。
【図12】メモリ管理テーブルのデータ構成例である。
【図13】コンピュータハードウェア構成図である。
【発明を実施するための形態】
【0015】
以下、図面を参照して本発明の実施の形態について説明する。
(実施例1)(単一アプリケーションの場合)
図1は、実施例1として、単一アプリケーションの場合のプログラム配信システムの構成例を示す図である。
【0016】
ところで、ここで、現在では複数種類のICカードが存在する。つまり、電子マネーは、各電子マネー事業者(ICカード発行・決済会社)から異なる仕様の電子マネーブランドが規定され、それぞれ電子マネー用のICカードが発行され、また携帯端末用ソフトウェアがリリースされている。また、決済端末における電子マネー決済処理に係わるソフトウェアも各電子マネー事業者がそれぞれ規定し作成している。このように、複数の電子マネー事業者が、それぞれ自社ブランドのICカード等を発行し、また決済端末を製造させ、電子マネー決済処理を管理している。そして、昨今、1台の決済端末で複数のブランドの(複数種類の)電子マネーを利用できるマルチブランド対応の電子マネー決済端末が出現してきている。
【0017】
この様な複数種類のICカードに対応可能な決済端末では、自端末で扱う各ブランド毎の処理機能が必要である。これは、例えば、ICカードとの通信は秘匿通信(暗号化通信)であるので、その為の鍵情報等が必要であるが、複数ブランドに対応する場合、各ブランド毎の鍵情報等を保持する必要がある。また、鍵情報に限らず、電子マネー決済処理に係わるアルゴリズムやICカードとの通信方式も、各ブランド毎に異なるものであり、それぞれが上記アルゴリズムを実現するアプリケーションプログラム(上記中間コード等)を作成している。
【0018】
実施例1に関する上記「単一アプリケーションの場合」とは、決済端末が、複数ブランド対応ではなく、任意の単一ブランドのみ対応可能なものである場合を意味している。尚、決済端末が複数ブランド対応の場合の実施例として、後に説明する実施例5、6がある。また、後に説明する実施例2〜4も、単一アプリケーションの場合の実施例である。
【0019】
尚、決済端末の通信相手(電子マネー決済の処理対象)は、非接触ICカードのようなカード型の形態に限らず、例えばICカード機能内蔵の携帯電話やタグ型(ICタグ)あるいは腕時計型の形態等であってもよく、これらを総称して非接触型情報媒体と呼ぶものとする。但し、本説明では非接触ICカードを例にして説明する。尚、非接触ICカードを省略してICカードという場合もある。
【0020】
また、以下の各実施例の説明では、上記電子マネー決済処理に係わるアプリケーションプログラムの一例として、上記従来技術、課題で示した「インタプリタが解釈可能な中間コード」を例にして説明するが、この例に限るものではない。すなわち、本例で決済端末に配信・設定する電子マネー決済処理プログラムは、上記中間コードに限るものではなく、またインタプリタ処理するプログラムに限るものでもない。
【0021】
また、決済端末が決済処理を実行できるようにする為に(つまり、決済端末が機能する為に)必要な情報は、中間コード31等の電子マネー決済処理プログラムだけでなく、セキュリティデータ32(上記ICカードとの暗号通信に必要な秘匿鍵)も含まれるものであり、またこれらのプログラム/データ(鍵等)は、漏洩してはならない重要な情報であり後述するセキュアなLSI20内で記憶・実行させるべきものであるので、これらのプログラム/データ(鍵等)(本例では中間コード31及びセキュリティデータ32)をまとめて「(電子マネー決済処理に係わる)決済処理セキュリティ情報」と呼ぶものとする。
【0022】
以下の各実施例の説明では、この「決済処理セキュリティ情報」の一例として、中間コード31とセキュリティデータ32(上記ICカードとの暗号通信に必要な秘匿鍵等の、中間コードによる電子マネー決済処理の際に必要となる各種データ)を例にして説明するが、上記の通りこの例に限るものではない。
【0023】
以下、図1に示す実施例1の決済処理セキュリティ情報配信システムの構成について説明する。
尚、図1、図4等に示すシステムは、電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムであるが、このシステムの主な特徴は上記「決済処理セキュリティ情報」を安全に各決済端末に配信して設定させるものであることから「決済処理セキュリティ情報配信システム」と呼ぶ場合もある。
【0024】
図示の決済処理セキュリティ情報配信システムは、概略的には、電子マネー事業者が有する中間コードダウンロードセンタに設置されるセンタ装置(電子マネー事業者センタ装置2)と、決済端末10を製造する任意の決済端末メーカ側に備えられるサーバ装置(端末メーカサーバ1)と、様々な各種店舗等に設置される多数の決済端末10とが、ネットワーク7(インターネットやVPN(Virtual Private Network;仮想プライベートネットワーク)等)に接続された構成となっており、相互にデータ送受信可能となっている。尚、図上、決済端末メーカ内に決済端末10を示してあるが、これは出荷時の決済端末10の状態(初期設定)を説明する為に示しているものである。尚、この設定時に(図では省略してあるが)後述する各種プログラム30も設定される。
【0025】
尚、センタ装置2−サーバ1間に関しては、何らかの専用線で接続されていてもよい。
決済端末10はセキュアなLSI20を備えるものである。これは、上記従来で説明したように、例えば耐タンパ技術が適用されたものであり、その内部に格納されるアプリケーションやデータ等が安全に保護され漏洩しないようになっている。上記の通り、「決済処理セキュリティ情報」の一例である中間コード31やセキュリティデータ32は、このLSI20内に保持させてLSI20内で処理実行させるべきものである。
【0026】
ここで、図示の通り、出荷時の状態では決済端末10のLSI20内には、中間コード31やそのセキュリティデータ32は格納されていない。つまり、本手法では、電子マネー事業者は、中間コード31やそのセキュリティデータ32を決済端末メーカ側に渡さないので、決済端末メーカはこれら中間コード31等の内容を知り得ない一方で、当然、これら中間コード31等を決済端末10にインストールすることは出来ない。よって、出荷時の状態のままでは決済端末10はICカードによる電子マネー決済処理を実行できないが、本手法では後に(出荷先の任意の店舗に設置後に)センタ装置2から決済端末10へネットワーク7を介して中間コード31等をダウンロードするようにしている。
【0027】
但し、この方法では、ネットワーク7を介して中間コード31等の極めて重要なアプリケーション/データを配信することになるので、安全に配信できるようにすることが求められる。これに対して、本手法では例えば図1に示す各種鍵や事前に特定の鍵によって暗号化済みの情報等を用いて、図2、図3で説明する処理を行うことで、中間コード31等を安全・確実に配信できるようにすることを特徴としている。
【0028】
尚、図上下側に示す決済端末10の構成では、中間コード31等がセンタ装置2からダウンロードされて格納された後の状態を示している。
ここで、図示の決済処理セキュリティ情報配信システムにおいて用いる各種鍵は、図上ではA〜Gとして示す7種類の鍵である。すなわち、まず、全ての決済端末で共有する“端末の共有鍵(Kct)”(図上ではAを併記する;これより、“端末の共有鍵A(Kct)”と記す場合もある;他の鍵も同様である)がある。“端末の共有鍵A(Kct)”は、例えば共通鍵暗号方式による鍵である(よって、暗号化と復号化の両方で同じ鍵を用いる)。“端末の共有鍵A(Kct)”は例えばサーバ1内で任意に生成する。
【0029】
また、各決済端末10それぞれが自らの内部で生成する公開鍵暗号方式の鍵ペアである“端末の公開鍵B(Kpt)”と“端末の秘密鍵C(Kst)”がある。また、上記電子マネー事業者センタ装置2において内部で生成する公開鍵暗号方式の鍵ペアである“センタ公開鍵E(Kpc)”と“センタ秘密鍵F(Ksc)”がある。また、上記電子マネー事業者センタ装置2において内部で生成する、共通鍵暗号方式による鍵である“センタ秘匿鍵D(Kcc)”がある。“センタ秘匿鍵D(Kcc)”によって暗号化と復号化の両方が行える。
更に、電子マネー事業者センタ装置2−任意の決済端末10間での後述する相互認証処理によって得られる所定情報(本例では乱数)に基づいて生成される“セッション鍵G(Ks)”がある。“セッション鍵G(Ks)”は一時的に生成・使用される鍵である。
【0030】
以下、図1に示す端末メーカサーバ1(以下、省略してサーバ1と記す場合もある)、電子マネー事業者センタ装置2(以下、省略してセンタ装置2と記す場合もある)、決済端末10の構成について、より詳しく説明する。
【0031】
まず、端末メーカサーバ1と電子マネー事業者センタ装置2は、ハードウェア的には一般的な汎用コンピュータの構成であってよく、ここでは特に図示しないが、よく知られているように、CPU、記憶装置(ハードディスク等)、メモリ、通信機能部等を有し、記憶装置に予め記憶されている所定のアプリケーションプログラムを、CPUが読み出し実行することにより、所定の処理を実現する。本実施例1では、例えば後述する図2や図3に示す処理を実行する。
【0032】
例えば、端末メーカサーバ1は上記“端末の共有鍵A(Kct)”を生成・保持しており、電子マネー事業者センタ装置2は上記“センタ秘匿鍵D(Kcc)”を生成・保持しており、サーバ1とセンタ装置2はこれらの鍵を用いて後に図2で説明する前準備処理を実行する(サーバ1−センタ装置2間で暗号化情報の交換処理を実行する)。また、前準備処理後、サーバ1は、図2で説明する出荷前の各決済端末10に対する出荷設定処理を実行する。また、センタ装置2は、上記前準備処理後、各決済端末10との間で図2、図3で説明する相互認証処理、セキュリティ情報配信処理を実行する。
【0033】
ここで、電子マネー事業者センタ装置2は、図1に示すように、上記メモリとして不揮発メモリ3と揮発性メモリ4を有している。不揮発メモリ3は例えばハードディスク等の補助記憶装置であり、揮発性メモリ4は例えば主記憶装置である。
【0034】
不揮発メモリ3には、予め、中間コード31及びそのセキュリティデータ32が格納されており、更に、当該センタ装置2内で任意に生成する暗号鍵(“センタ秘匿鍵D(Kcc)”、及び公開鍵暗号方式の鍵ペアである“センタ公開鍵E(Kpc)”と“センタ秘密鍵F(Ksc)”)が格納される。不揮発メモリ3には、更に、予め、センタ装置2に係わる特定情報(後に説明するセンタ情報等)が設定・格納されている。また、後に図2で説明する端末メーカサーバ1とのデータ交換処理(前準備処理)によって得られた“端末共有鍵A(Kct)で暗号化されたセンタ情報”35が格納される。
【0035】
ここで、既に説明してある通りであり、中間コード31及びそのセキュリティデータ32は「(電子マネー決済処理に係わる)決済処理セキュリティ情報」であり、当然、決済端末10はこの決済処理セキュリティ情報が無いと電子マネー決済処理を実行することはできない。また、この決済処理セキュリティ情報は、当然、重要な情報であり漏洩することは許されず、耐タンパのLSI20内に保持されてLSI20内で処理実行すべきものである。
【0036】
しかしながら、本手法では、電子マネー事業者が上記決済処理セキュリティ情報を決済端末メーカ側に渡したくないという要望を実現する為、LSI20内に決済処理セキュリティ情報が保持されていない状態で決済端末10が出荷されることになる。この為、そのままでは決済端末10は電子マネー決済端末として機能しないことになる。この為、本手法では、後から、電子マネー事業者のセンタ装置2から各決済端末10へ決済処理セキュリティ情報を配信するが、上記の通り決済処理セキュリティ情報の漏洩は許されないので、センタ装置2−決済端末10間の通信を暗号化によって行うだけでなく、センタ装置2、決済端末10それぞれが通信相手が正当な相手か否かを確認して、誤って第3者の装置に決済処理セキュリティ情報を配信することが無いようにする。
【0037】
このような相互に通信相手が正当な相手か否かを確認の為に、後述するように予め前準備処理や設定処理により生成・格納した“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25、“端末共有鍵A(Kct)で暗号化されたセンタ情報”35等を用いる手法を提案するものである。
【0038】
また、上記揮発性メモリ4には、任意の決済端末10との所定の通信処理(後述する相互認証処理、中間コード31等の配信処理等)を行う毎にその際に一時的に取得/生成される各種情報が格納される。すなわち、通信相手の任意の決済端末10から取得した当該決済端末10の上記“端末の公開鍵B(Kpt)”と、当該決済端末10との後述する相互認証処理によって得られる所定情報(本例では乱数)に基づいてセンタ装置2が生成する“セッション鍵G(Ks)”が、一時的に格納される。また、この“セッション鍵G(Ks)”を用いて上記不揮発メモリ3内の中間コード31及びそのセキュリティデータ32を暗号化した“暗号化中間コード”33及び“暗号化セキュリティデータ”34が、一時的に格納される。これら各種情報は、任意の決済端末10との上記所定の通信処理を行う毎に取得/生成されて一時的に格納されるものであり、この通信処理が完了したら消去される。
【0039】
また、端末メーカサーバ1は、特に図示しないが、その不揮発性メモリまたはハードディスク等に、予め登録された上記端末共有鍵A(Kct)を格納しており、また各決済端末10を製造する毎に、その決済端末10に係わる各種情報である後述する「端末情報」(詳しくは後述する)が登録されて格納される。更に、上記製造した各決済端末10に対する出荷前の設定作業を行う前に、上記前準備処理によって電子マネー事業者センタ装置2から各決済端末10毎に対応する“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25を取得して格納している。
【0040】
尚、上記登録は、例えば端末メーカ1の作業員等が行うものである。
そして、端末メーカ側では、例えば作業員等が行う各決済端末10の出荷前設定作業において、例えばサーバ1と設定対象の決済端末10とを接続して、サーバ1から決済端末10に上記端末共有鍵A(Kct)とその端末10に対応する上記“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25とを転送して、これらを決済端末10の不揮発性メモリ24に格納させる。更に、各決済端末10に、その内部で任意の上記公開鍵ペア(“端末の公開鍵B(Kpt)”及び“端末の秘密鍵C(Kst)”)を生成させて、これも不揮発性メモリ24に格納させる。
【0041】
また、サーバ1から後述する各種プログラム(インタプリタ処理やアプリケーション格納処理等のプログラム30等)を決済端末10に転送させて、これらも不揮発性メモリ24に格納させる。
【0042】
各決済端末10は、上記出荷前設定作業完了後、出荷されて任意の各店舗に設置される。そして、後に図2、図3で説明する上記センタ装置2との所定の通信処理を行うことで、上記「決済処理セキュリティ情報」(中間コード31とセキュリティデータ32)を安全・確実に取得することができ、これによって電子マネー決済処理が可能な状態となる(ICカードによる電子マネー決済端末として機能する状態となる)。
【0043】
決済端末10の詳細構成例、及び上記センタ装置2との所定の通信処理実行後の状態を、図1の図上下側に示し、以下、これを参照して説明する。
図示の例では、決済端末10は、端末管理CPU11、RAM12、ROM13、UI14、第1通信部15、第2通信部16、第3通信部17、及びLSI20等を有する。
【0044】
決済端末10を任意の店舗に設置する際に、第1通信部15を店舗内の上位装置(POSレジ5等)に接続し、第2通信部16をネットワーク7に接続しておく。これより、決済端末10は、上位装置(POSレジ5等)と通信可能となり、またネットワーク7を介して外部の他の情報処理装置(ここでは特に電子マネー事業者センタ装置2)と通信可能となる。また、第3通信部17は製造時に既にLSI20内の第4通信部22と接続しており、端末管理CPU11とLSI20とは、これら通信部17,22を介して、相互にデータ送受信するものである。
【0045】
端末管理CPU11は、当該決済端末10全体を制御する中央処理装置である。端末管理CPU11は、ROM13に格納されている所定の各種アプリケーションプログラムを読出し・実行することにより、各種処理を実行する。例えば、第1通信部15を介して上位装置(POSレジ5等)との通信処理を行ったり、第2通信部16を介してネットワーク7(LANやインターネット等)を介した電子マネー事業者センタ装置2との通信処理を行ったり、第3通信部17を介してLSI20とのデータ送受信処理を行う。特に、後述する図2の処理において、LSI20と外部の装置(上記POSレジ5やセンタ装置2等)との通信を中継する処理を行う。また、ICカード6による電子マネー決済処理に関して、LSI20内で中間コード31等により実行されるセキュアな処理以外の処理(例えば利用履歴の生成・格納等)も行う。これらの処理を実行するプログラムも、上記出荷前設定作業の際に登録されて、ROM13に格納される。
【0046】
尚、上記ROMに格納される各種アプリケーションは、後の説明における“非セキュリティ部分のプログラム”や“非決済プログラム63”に相当するものである。
上記のように、端末管理CPU11は、主に、決済端末10内で実行される各種処理のうち、上記LSI20内で実行されるセキュアな処理(電子マネー決済処理)以外の処理を実行するものである。
【0047】
ROM13には端末管理CPU11に実行させる上記所定の各種アプリケーションプログラム等が格納されている。
尚、ROM13は、純粋なROM(書き換え不可)ではなく、例えばフラッシュメモリやEEPROMなどの書換え可能な不揮発性メモリである。これより、例えばICカード6との電子マネー決済処理毎にその利用履歴等が格納される。RAM12は例えばワークメモリである。
【0048】
UI14は、ユーザインタフェースに係わる機能部であり、例えばタッチパネル等の入力装置と、ディスプレイ等の表示装置等である。
LSI20は、CPU21、第4通信部22、第5通信部26、揮発性メモリ23(SRAM等)、及び上述してある不揮発性メモリ24(EEPROM等)を有する。
【0049】
LSI20は、例えば、プログラム30によるインタプリタ処理により中間コード31を解釈・実行して(その際、セキュリティデータ32の暗号鍵情報等を用いる)、ICカード6との電子マネー決算処理等を行い、またその利用履歴を暗号化して端末管理CPU11に渡し、ROM13等に格納させる。尚、プログラム30は、図示の上記インタプリタ処理やアプリ等格納処理等をCPU21により実行させる為の各種アプリケーションプログラムである。アプリ等格納処理は、後述する図2、図3に示すセンタ装置2との相互認証処理や中間コード31等の配信処理におけるLSI20の処理を行うものである。詳しくは後述する。
【0050】
尚、LSI20には所謂“耐タンパ”適用されており、例えば不正を検知した場合には(筐体の破壊等の検知)、例えば揮発性メモリ23、不揮発性メモリ24に格納されている全データを消去することで、上記中間データ31等の重要データの漏洩を阻止する。
【0051】
上述してあるように、不揮発性メモリ24(EEPROM等)には、出荷時に既に、上記プログラム30や、各種暗号鍵(上記端末共有鍵A(Kct)、“端末の公開鍵B(Kpt)”、“端末の秘密鍵C(Kst)”)や、所定の暗号化情報(センタ秘匿鍵D(Kcc)で暗号化された端末情報25)が格納されている。
【0052】
CPU21は、上記の通り、各種プログラム30を適宜読出し・実行することにより、例えば、後に図2、図3で説明する各種処理等を実行する。特に、上記アプリ等格納処理のプログラムを実行することにより、電子マネー事業者センタ装置2から中間コード31、そのセキュリティデータ32を取得できる(上記の通り、図には既に取得済みの状態を示してある)。また、このアプリ等格納処理中、揮発性メモリ23には、センタ装置2から取得する“センタ公開鍵E(Kpc)”と、後に図2で説明する相互認証処理に基づいて内部で生成する“セッション鍵G(Ks)”が一時的に格納される。これら揮発性メモリ23内の鍵情報は、中間コード31、そのセキュリティデータ32を取得したら(センタ装置2との通信が完了したら)消去する。
【0053】
また、第5通信部26は、ICカード6と通信を行う機能部であり、例えばアンテナと送受信回路等から構成される。
上記図1に示す構成の決済処理セキュリティ情報配信システムでは、端末メーカ側には中間コード31、そのセキュリティデータ32は渡されない。よって、端末メーカ側では、中間コード31、そのセキュリティデータ32の内容を知ることができないが、その一方で当然、出荷時には決済端末10内に中間コード31、そのセキュリティデータ32は格納されていない状態であるので、このままではLSI20は機能せず、ICカード6との通信・決済処理を行うことはできない(運用可能な状態ではない)。中間コード31、そのセキュリティデータ32は、各決済端末10を任意の店舗内に設置後に、電子マネー事業者センタ装置2から配信する。
【0054】
但し、中間コード31、そのセキュリティデータ32は、非常に重要な情報であり、漏洩してはならない。これに対して、本例の決済処理セキュリティ情報配信システムでは、上述した各種鍵や暗号化情報を用いて、安全に中間コード31、そのセキュリティデータ32を配信することができる。これについて、以下、図2、図3を参照して、主に安全に中間コード31、そのセキュリティデータ32を配信する為の処理について、詳細に説明する。
【0055】
図2は、実施例1のプログラム配信システムの処理シーケンス例を示す図である。以下、この例を用いて説明する。
まず、上記前準備処理として、端末メーカサーバ1と電子マネー事業者センタ装置2との間で、ネットワーク7を介して所定のデータを交換する処理を行う。すなわち、まず、当該サーバ1−センタ装置2間でのデータ交換処理を暗号化通信で行うようにする為に、所定の暗号鍵の交換を行う(S1)。ここでは一例として、図3に示すセンタ装置2−決済端末10間の暗号化通信例と同様に、公開鍵暗号方式を用いるものとする。よって、サーバ1とセンタ装置2とで、それぞれ公開鍵暗号方式による鍵ペア(公開鍵と秘密鍵のペア)を生成し、互いに自己の鍵ペアにおける公開鍵を相手側に送信する(ここでは、一方の公開鍵を公開鍵(Kp_tm)とし、他方は公開鍵(Kp_bc)とし、これらを交換する)。
【0056】
そして、上記自己が生成した鍵ペア及び相手の公開鍵とを用いて、図3の場合と同様に、それぞれが任意の乱数を生成しつつ相互認証処理を行い、この相互認証処理の際に生成・交換される乱数情報等を用いて、通信セッション鍵(Ks_tmbc)を生成する。
【0057】
以降の処理(S2以降の処理)においてはこの通信セッション鍵(Ks_tmbc)を用いて暗号化通信によるデータ送受信を行う。尚、当然、暗号化通信は、上記公開鍵暗号方式に限らず、共通鍵暗号方式によって行ってもよい。この場合には、サーバ1とセンタ装置2は予め同じ暗号鍵を共有している。
【0058】
S2以降の処理について説明する。
まず、サーバ1は、出荷する決済端末10に関する所定の各種情報である端末情報(例えば、端末ID,事業者ID,店舗ID,店舗端末IDなど)を、センタ装置2へ送信する(S2)。この端末情報は上記通信セッション鍵により暗号化されている(以下のS3,S4,S5で送受信する情報も同じであり、上記通信セッション鍵(Ks_tmbc)により暗号化されている)。また、以下の説明では逐一述べないが、暗号化された端末情報等は、通信セッション鍵(Ks_tmbc)による復号される。
【0059】
尚、上記通信セッション鍵(Ks_tmbc)は、サーバ1−センタ装置2間のデータ送受信に用いる暗号鍵であり、後述する決済端末10−センタ装置2間のデータ送受信に用いるセッション鍵G(ks)とは別のものである。同様に、上述した公開鍵(Kp_tm,Kp_bc)も、サーバ1−センタ装置2間の通信に用いるものであり、上述した7種類の鍵における公開鍵B,Eとは別のものである。
【0060】
センタ装置2は、受信した端末情報を、電子マネー事業者側のみが知り得る(保持する)秘匿鍵である上記“センタ秘匿鍵D(Kcc)”によって暗号化することで上記“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25を生成し、この“暗号化された端末情報”25をサーバ1へ返信する(S3)。また、センタ装置2は、受信した端末情報を不揮発メモリ3に記憶しておく。サーバ1は上記返信された“暗号化された端末情報”25を、自己の不図示の不揮発性メモリ等に記憶する(送信した端末情報に対応付けて記憶する)。
【0061】
また、センタ装置2は、自装置に係わる所定の情報であるセンタ情報(事業者コード,ネットワークアドレスなど)を、サーバ1へ送信する(S4)。サーバ1は、受信したセンタ情報を、決済端末メーカ側のみが知り得る(保持する)秘匿鍵である上記“端末共有鍵A(Kct)”で暗号化することで上記“端末共有鍵A(Kct)で暗号化されたセンタ情報”35を生成し、この“暗号化されたセンタ情報”35をセンタ装置2へ返信する(S5)。また、サーバ1は受信したセンタ情報を記憶しておく。センタ装置2は、上記返信された“暗号化されたセンタ情報”35を、不揮発メモリ3に記憶する。
【0062】
上述した前準備処理におけるS2とS3の処理は、出荷する各決済端末毎に対応して行うものである。よって、例えば出荷する決済端末10が100台あれば、S2とS3の処理を100回行うことになる。一方、S4とS5の処理は、基本的に、1回だけ行えばよい。
【0063】
以上説明した前準備処理を完了したら、その結果を用いて、端末メーカ側では、上記“出荷する決済端末10”に対して上記出荷設定処理を行う。尚、この処理はサーバ1と“出荷する決済端末10”とを接続して通信可能な状態として行う。
【0064】
すなわち、例えば作業員等による指示操作により、“出荷する決済端末10”において、その内部で上記任意の上記公開鍵ペア(“端末の公開鍵B(Kpt)”及び“端末の秘密鍵C(Kst)”)を生成させて不揮発性メモリ24に記憶させる(S6)。
【0065】
その後、サーバ1から“出荷する決済端末10”に対して、上述した“端末共有鍵A(Kct)”、当該“出荷する決済端末10”の端末情報(端末ID,店舗ID,店舗端末IDなど)、当該“出荷する決済端末10”に端末情報が暗号化されてなる上記“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25、更に上記S4の処理で取得したセンタ情報を送信して、そのLSI20の不揮発性メモリ24に記憶させる(S7,S8,S9)。よって、図1には示していないが、端末情報(暗号化されていない)やセンタ情報も不揮発性メモリ24に記憶される。また、既に述べた通り上記プログラム30も設定されて不揮発性メモリ24に記憶される。
【0066】
また、UI(ユーザインタフェース)表示、つまりディスプレイ等への任意の情報表示や、利用履歴(明細)記録等の非セキュリティ部分の電子マネー事業者のアプリケーションを、決済端末10のROM13(フラッシュメモリやEEPROM等)に格納する。
【0067】
以上の出荷前の処理を経て、“出荷する決済端末10”が出荷されて任意の店舗内に設置されたら、この決済端末10はセンタ装置20と通信を行って中間コード31、そのセキュリティデータ32を取得することで、運用可能状態となる。これについて、以下、図2だけでなく図3も参照して説明する。
【0068】
上記設置後、電源ONされて起動された決済端末10において、端末管理CPU11は、まず、上記電子マネー事業者の“非セキュリティ部分のプログラム”を、RAM12にロードして実行する。このプログラム処理では、まず、図2に示すStep11、Step12、Step13の処理(その端末管理CPU11の処理)を実行する。尚、その際、LSI20のCPU21は、上記プログラム30により上記アプリ等格納処理を実行している。以下に、まず、これら各Stepの処理について説明する。
【0069】
Step11; 端末管理CPU11は、まず、LSI20と通信を行い、LSI20が中間コード31とセキュリティデータ32を保持しているか否かをチェックする(S10)。そして、中間コード31等を既に保持している場合には、図示のStep14以降の処理を実行可能な状態へ移行する。つまり、中間コード31等の配信を受ける為の処理は行わない。
【0070】
一方、中間コード31等を保持していない(未配信)の場合には、中間コード31等の配信を受ける為に、まず、ネットワーク7を介してセンタ装置2に接続し、公開鍵の交換を行う。これは、図3の最初の処理に示すように、決済端末10の端末管理CPU11は、LSI20の不揮発性メモリ24に保持されている上記“端末の公開鍵B(Kpt)”をLSI20から取得して、これをセンタ装置2へ送信する。センタ装置2は、自己の不揮発メモリ3に保持されている上記“センタ公開鍵E(Kpc)”を決済端末10へ送信する。端末管理CPU11は、受信した“センタ公開鍵E(Kpc)”をLSI20に渡して揮発性メモリ23に記憶させる。
【0071】
Step12; 相互認証処理を実行し、認証成功したら“セッション鍵G(Ks)”を生成する。“セッション鍵G(Ks)”は、相互認証処理の際に得られる情報(例えば乱数)を用いて、決済端末10、センタ装置2でそれぞれ生成するものであり、同じものが生成される。
【0072】
上記相互認証処理では、予め上記前準備処理によって得られてセンタ装置2、決済端末10にそれぞれ格納されている上記“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25、端末情報、“端末共有鍵A(Kct)で暗号化されたセンタ情報”35、センタ情報等を用いて、相互に、通信相手が正当なものであるか否かを確認する。これによって、センタ装置2にとっては誤って第3者の端末に中間コード31等を配信してしまうことなく、また決済端末10にとっては誤って第3者の装置から不正なプログラムをダウンロードすることで内部で(特にLSI20内で)何らかの不正処理が実行されてしまうことなく、安全・確実に中間コード31等が決済端末10に配信されるようにできる。
【0073】
尚、Step12の処理に関しては、詳しくは後に図3を参照して説明する。
Step13; 上記相互認証成功した場合、決済端末10は、センタ装置2に対して中間コード31とセキュリティデータ32を要求する。この要求を受けたセンタ装置2は、上記不揮発メモリ3に格納されている中間コード31及びそのセキュリティデータ32を、上記生成した“セッション鍵G(Ks)”を用いてそれぞれ暗号化して、上記“暗号化中間コード”33及び“暗号化セキュリティデータ”34を生成して決済端末10へ送信する。これを受信した決済端末10側では、LSI20内において、これら“暗号化中間コード”33及び“暗号化セキュリティデータ”34を、上記生成した“セッション鍵G(Ks)”で復号して、中間コード31及びそのセキュリティデータ32を得て、これらのコード31、データ32を不揮発性メモリ24に格納する。
【0074】
尚、復号化した後、この中間コード31及びそのセキュリティデータ32の検証を行い、検証結果がOKである場合に、これらのコード/データを不揮発性メモリ24に格納する。尚、この検証処理は、本発明には特に関係ないので特に詳細には説明しないが、例えばセンタ装置2は中間コード31のハッシュ値を生成してこのハッシュ値も一緒に送信し、LSI20はこのハッシュ値を用いて検証を行うものである。
【0075】
以上で中間コード31等は安全・確実に決済端末10に配信され、センタ装置2−決済端末10間の通信処理は終了する。通信処理終了したら、センタ装置2、決済端末10は、それぞれ“セッション鍵G(Ks)”、相手から渡された公開鍵を消去する。
【0076】
以上により、決済端末10のセキュリティ機能(セキュアな電子マネー決済処理機能)の活性化が完了し、電子マネー決済処理が可能となる。
ここで、図3には、上記Step12の処理を詳細に説明する為のフロー図を示す。
【0077】
尚、以下の説明では逐一述べないが、図3における決済端末10側の処理は、基本的にLSI20内のCPU21が実行するものであり、端末管理CPU11はセンタ装置2−LSI20間で送受信されるパケットの中継・転送を行うものである。
【0078】
以下、図3を参照して上記Step12の処理(相互認証処理)について説明する。
図3においては最初にStep11の処理例(公開鍵B,Eの交換)が示してあり、これについては既に説明してある。
【0079】
図3に示す相互認証処理では、まず、決済端末10は、その内部で任意の乱数Rtを生成し、また上記出荷設定時に記憶されている自身の端末情報を用いて、この端末情報のハッシュ値を生成する。
【0080】
そして、これら乱数Rt、端末情報ハッシュ値と、出荷設定時に記憶されている“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25とから成るデータ(図示の送信データ41)を、各種鍵により暗号化してセンタ装置2へ送信する。これは、まず、乱数Rtと端末情報ハッシュ値とを自身の秘密鍵(“端末の秘密鍵C(Kst)”)で暗号化し、更にこれら暗号化情報と上記“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25とを上記Step11の処理で取得している“センタ公開鍵E(Kpc)”で暗号化することで図示の暗号化データ42を生成する。そして、この暗号化データ42をセンタ装置2へ送信する。
【0081】
上記暗号化データ42を受信したセンタ装置2は、この暗号化データ42を自身が保持する各種鍵を用いて復号する。すなわち、まず、上記“センタ公開鍵E(Kpc)”による暗号化に対して、“センタ秘密鍵F(Ksc)”を用いて復号することで、「“端末の秘密鍵C(Kst)”で暗号化された乱数Rt及び端末情報ハッシュ値」と“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25とを得る。
【0082】
続いて、上記「“端末の秘密鍵C(Kst)”で暗号化された乱数Rt及び端末情報ハッシュ値」を“端末の公開鍵B(Kpt)”で復号して、乱数Rtと端末情報ハッシュ値を得る。更に、上記“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25をセンタ秘匿鍵D(Kcc)で復号して「端末情報」を得る。これらの処理により図示の復号データ43を得ることができる。
【0083】
上記復号処理が正常に行えなかった場合や後述するステップS21,S22の判定で一方でも判定NOであった場合は、処理終了し、それ以降の処理は行われない。よって、当然、中間データ等の配信は行われない。但し、決済端末10に認証失敗を通知してもよい。
【0084】
一方、上記復号処理が正常完了して上記復号データ43を得ることができた場合には、続いて、この復号データ43における「端末情報」と、上記S2の処理の際に取得して登録してあった端末情報とが一致するか否かをチェックする(上記の通り、基本的には複数の端末情報(例えば100台分の端末情報)が記憶されているので、その中で一致するものがあるか否かをチェックする)。つまり、通信相手の装置が、登録済みの決済端末10であるか否かを確認する(ステップS21)。
【0085】
端末情報が一致する場合には(ステップS21,YES)、続いてこの端末情報のハッシュ値を求め(尚、ハッシュ値の生成アルゴリズムは、上記決済端末10と同じである)、このハッシュ値が上記復号データ43における端末情報ハッシュ値と一致するか否かをチェックし(ステップS22)、一致する場合には(ステップS22,YES)、通信相手の決済端末10が正当なものであるものとして端末認証成功と判定し、処理を続行する。
【0086】
また、上記ステップS21の処理によって、通信相手の決済端末10を特定できる(登録されている決済端末のうちのどの決済端末であるのか分かる)。よって、例えば、登録されている(つまり、出荷されているはずの)各決済端末10のうち、どの決済端末10に中間コード31等を配信済み(または未配信)であるか等を管理することも可能となる。
【0087】
一方、上記ステップS21,S22の何れかで不一致の判定(NO)となった場合には、上記の通り、処理終了し、それ以降の処理は行われない。よって、当然、中間データ等の配信は行われない。
【0088】
上記ステップS21,S22の判定がYESとなり認証成功した場合には、続いて、まず、上記取得した乱数Rtを揮発性メモリ4に記憶する。そして、任意の乱数Rcを生成し、更に自己のセンタ情報のハッシュ値を生成する。そして、これら乱数Rc、センタ情報ハッシュ値と、上記“端末共有鍵A(Kct)で暗号化されたセンタ情報”35とから成るデータ(図示の応答データ44)を、各種鍵により暗号化して図示の暗号化データ45を生成して、これを接続先の決済端末10へ送信する。
【0089】
これは、まず、乱数Rcとセンタ情報ハッシュ値とを“センタ秘密鍵F(Ksc)”で暗号化し、更にこれら暗号化情報と上記“端末共有鍵A(Kct)で暗号化されたセンタ情報”35とを上記Step11の処理で取得している“端末の公開鍵B(Kpt)”で暗号化することで図示の暗号化データ45を生成する。そして、この暗号化データ45を接続先の決済端末10へ送信する。
【0090】
この暗号化データ45を受信した決済端末10は、この暗号化データ45を自身が保持する各種鍵を用いて復号する。すなわち、まず、上記“端末の公開鍵B(Kpt)”による暗号化に対しては、“端末の秘密鍵C(Kst)”で復号することで、「“センタ秘密鍵F(Ksc)”で暗号化された乱数Rc及びセンタ情報ハッシュ値」と“端末共有鍵A(Kct)で暗号化されたセンタ情報”35を得る。続いて、上記「“センタ秘密鍵F(Ksc)”で暗号化された乱数Rc及びセンタ情報ハッシュ値」を“センタ公開鍵E(Kpc)”で復号して、乱数Rcとセンタ情報ハッシュ値を得る。また、“端末共有鍵A(Kct)で暗号化されたセンタ情報”35を、端末共有鍵A(Kct)で復号して「センタ情報」を得る。これらの処理により図示の復号データ46を得ることができる。
【0091】
そして、この復号データ46における「センタ情報」が、上記出荷設定時に記憶されているセンタ情報と一致するか否かをチェックする(ステップS23)。一致する場合には(ステップS23,YES)、続いてこのセンタ情報のハッシュ値を求め、このハッシュ値が上記復号データ46におけるセンタ情報ハッシュ値と一致するか否かをチェックし(ステップS24)、一致する場合には(ステップS24,YES)、通信相手のセンタ装置2が正当なものであるとしてセンタ認証成功と判定し、処理を続行する。尚、上記取得した乱数Rcは揮発性メモリ23等に記憶しておく。
【0092】
一方、上記各種鍵による暗号化データ45の復号化処理が成功しなかった場合、または上記ステップS23,S24の何れか一方でも不一致の判定(NO)となった場合には、処理終了し、それ以降の処理は行われない。よって、当然、中間データ31等のダウンロードは行われない。但し、センタ装置2に対して認証失敗を通知してもよい。
【0093】
尚、上記乱数の一致も認証成功の条件としてもよい。この場合、センタ装置2は上記復号データ43における乱数Rtも上記暗号化データ45に含めて送信し、決済端末10は受信した暗号化データ45に含まれる乱数Rtが自己が生成している乱数Rtと一致するか否かをチェックする処理も上記ステップS23、S24の処理に加えて行うようにしてもよい。尚、乱数Rcに関しても同様にしてセンタ装置2側で乱数Rc一致か否かをチェックするようにしてもよい。
【0094】
尚、上記ステップS22、ステップS24の処理は、必ずしも必須の処理ではなく、ステップS21、ステップS23の処理のみを行っても良い。つまり、センタ装置2はステップS21の判定がYESである場合には通信相手の決済端末10を認証成功と判定してよく、決済端末10はステップS23の判定がYESである場合には通信相手のセンタ装置2を認証成功と判定してもよい。勿論、この場合には、上記端末情報ハッシュ値やセンタ情報ハッシュ値は、生成する必要はないしデータ41、44に含める必要もない。
【0095】
上記センタ装置2、決済端末10はどちらも、上記のように認証成功と判定した場合には、図示していないが、更に以下に説明する処理を実行する。
すなわち、センタ装置2、決済端末10の両方とも、上記相互認証処理が成功したときには、自己が生成した乱数と相手から取得した乱数の2つの乱数、すなわち上記乱数Rtと乱数Rcを記憶している。すなわち、相互認証処理によって得られる所定情報を記憶している。これより、センタ装置2、決済端末10の両方とも、この2つの乱数Rtと乱数Rcとに基づいて上記“セッション鍵G(Ks)”を生成する。これは、センタ装置2、決済端末10の両方で同じ“セッション鍵G(Ks)”を生成するものである。つまり、“セッション鍵G(Ks)”の生成アルゴリズムは、何でもよいが(例えば単純な例では「Rt+Rc」とする)、予め各決済端末10とセンタ装置2に、同じ生成アルゴリズムのプログラムを格納しておく。よって、セッション鍵生成に用いるデータが同じであるので(ここでは乱数Rtと乱数Rc)、決済端末10とセンタ装置2は同じセッション鍵を生成することになる。
【0096】
そして、上記Step13で説明してある通り、中間コード31等の配信処理は、“セッション鍵G(Ks)”を用いた暗号化通信により行うことになる。つまり、センタ装置2は中間コード31等を“セッション鍵G(Ks)”で暗号化して決済端末10に送信し、これを受信した決済端末10(そのLSI20)はこの暗号化情報を自己の“セッション鍵G(Ks)”を用いて復号することで、安全に中間コード31等を取得することができる。
【0097】
上述した処理により、決済端末10は安全・確実に中間コード31及びそのセキュリティデータ32を得ることができ、ICカード等との電子マネー決済処理が可能となり、運用開始することができる。
【0098】
運用開始後の処理である図2に示すStep14、Step15、Step16の処理は、Step16の撤去処理においてLSI20内の中間コード31,セキュリティデータ32等を削除する点以外は、既存の処理と同じであってよい。よって、以下、簡単に説明するのみとする。
【0099】
まず、Step14の決済処理について説明する。
決済端末10がPOSレジ5等の上位端末から決済指示を受けると、端末管理CPU11は、明細を作成してこれを仮明細としてフラッシュやEEPROMなどの不揮発性メモリ(ROM13)に記憶する。また、UI14による表示制御によって顧客にICカードの提示を促す等した後、LSI20に決済指示を出す。
【0100】
LSI20のCPU21は、この決済指示に従って、プログラム30のインタプリタ処理によって中間コード31を解釈・実行することで(その際、セキュリティデータ32を用いる)、ICカード6との(秘匿通信による)電子マネー決済処理を行う。そして、決済処理の完了で明細を確定し、処理結果を端末管理CPU11に通知する。
【0101】
端末管理CPU11は、UI14による表示制御(ディスプレイ表示等)で決済完了を顧客に通知するとともに、上位端末に決済結果を通知する。
次にStep15の締め処理について説明する。
【0102】
決済端末10が上位端末から締め指示を受けると、端末管理CPU11は、締め対象の明細情報を作成し、フラッシュやEEPROMなどの不揮発性メモリ(ROM13)に記憶する。また、端末管理CPU11は、LSI20に締め対象の明細情報を渡して暗号化処理を指示する。
【0103】
LSI20は、この指示に従って、プログラム30のインタプリタ処理によって中間コード31を解釈・実行することで(その際、セキュリティデータ32を用いる)、上記の明細情報の暗号化を行って、この暗号化明細情報を端末管理CPU11に返信する。
【0104】
端末管理CPU11は、この暗号化明細情報をセンタ装置2に送信する。送信完了後、端末管理CPU11は、締め情報とセンタ装置2への通信結果を上位端末に通知する。
次に、Step16の店舗の改修や移転・サービス終了時等における決済端末10の撤去に伴う撤去処理について説明する。
【0105】
決済端末10が上位端末から撤去指示を受けると、端末管理CPU11は、LSI20に対して中間コード31,セキュリティデータ32の削除を指示する。LSI20は、この指示に従い、不揮発性メモリ24に記憶されている中間コード31,セキュリティデータ32を削除して、削除完了を端末管理CPU11に通知する。
【0106】
削除処理の完了を確認した端末管理CPU11は、センタ装置2に対して撤去完了の通知を行う。
以上説明したように、実施例1のシステムによれば、電子マネー事業者は、自己の電子マネーの決済処理に係わるアプリケーション等であって特にセキュリティ仕様を実現するアプリケーション等(「決済処理セキュリティ情報」;本例では中間コード31、セキュリティデータ32)を、第3者(端末メーカ等)に公開することなく、決済端末を機能させるためのアプリケーション等(決済処理セキュリティ情報)を決済端末に設定できる。この設定処理はネットワークを介して行うが、予め実行されている前準備処理等によって得られている暗号化情報や各種鍵を用いることで、安全・確実に上記アプリケーション等を決済端末に配信して設定できる。尚、以下に説明する実施例2〜6の各実施例についても、上記実施例1の効果と同様の効果が得られる(更に、その実施例に固有の効果が得られる場合もある)。
【0107】
次に、以下、実施例2について説明する。
図4は、実施例2におけるプログラム配信システムの構成例を示す図である。
尚、図4のシステムは、ハードウェア構成自体は図1に示すシステムと同じであってよく、同一符号を付してあり、説明は省略する。図1と異なるのは、鍵の格納場所や一部の処理内容であり、以下、主に実施例1とは異なる点について説明する。
【0108】
図4に示す通り、実施例1との違いは、中間コード31,セキュリティデータ32を、不揮発性メモリ24ではなく、揮発性メモリ23に記憶することである。
図5は、実施例2の決済処理セキュリティ情報配信システムの処理シーケンス例を示す図である。
【0109】
図示の通り、図5は、図2に示す実施例1のシーケンスと殆ど同じであり、異なる点についてのみ説明する。すなわち、図2のStep11の代わりに、図示のStep11’の処理を実行する点のみが異なる。
【0110】
実施例2では、決済端末10は、中間コード31等の有無を確認する処理(S10)は行わずに、常に、上記S10の判定において中間コード31等を保持していない(未配信)と判定された場合の処理を実行する。よって、図示のStep11’の処理では、決済端末10は、電源ONされたら、上記Step11で説明した「ネットワーク7を介してセンタ装置2に接続し、公開鍵の交換を行う」処理を実行する。そして、Step12,13の処理を実行することで、中間コード31等を取得する。
【0111】
実施例2では、上記の通り、中間コード31,セキュリティデータ32を揮発性メモリ23に記憶しているので、電源OFFにより消去される。よって、再起動の際には必ずLSI20内には中間コード31,セキュリティデータ32は保持されていない状態であるので、上記ステップS10の処理を行う必要がない。よって、上記Step11の代わりに上記Step11’の処理を実行している。
【0112】
実施例2では、電源OFFにより必ず中間コード31,セキュリティデータ32は消去されるので、運用中以外(夜間等)で電源OFF状態にあるときに、中間コード31,セキュリティデータ32が漏洩する可能性は無いことになる。また、不揮発性メモリ24のメモリ容量が少なくて済む(少なくとも実施例1の場合と比べて少なくて済む)。
【0113】
次に、以下、実施例3について説明する。
図6は、実施例3における決済処理セキュリティ情報配信システムの構成例を示す図である。
【0114】
また、図7は、実施例3の決済処理セキュリティ情報配信システムの処理シーケンス例を示す図である。
尚、図6のシステムは、ハードウェア構成自体は図1に示すシステムと同じであってよく、同一符号を付してあり、説明は省略する。以下、主に実施例1とは異なる点について説明する。
【0115】
実施例3では、決済端末10において、ダウンロードした中間コード31,セキュリティデータ32を、LSI20内の揮発性メモリ23や不揮発性メモリ24には格納せずに、暗号化された状態でLSI20の外部のROM13に格納しておく。そして、任意のときに、LSI20は、ROM13に格納してある中間コード等(上記の通り暗号化されている)を取得して、これを復号して揮発性メモリ23上に展開する。その後、CPU21は、インタプリタ処理によりこの揮発性メモリ23に格納されている中間コード31等を解釈・実行して、ICカード決済処理等を実行することになる。
【0116】
尚、図6には、中間コード31等を揮発性メモリ23上に展開済みの状態を示してある。これは、一見、図4の実施例2と同様に見えるが、実施例2では中間コード等の保存場所が揮発性メモリ23であるのに対して、本例では中間コード等の保存場所はROM13であり、揮発性メモリ23上には一時的に記憶されるものである。
【0117】
また、実施例2では上記の通り、電源OFF状態にあるときに中間コード31,セキュリティデータ32が漏洩する可能性は無いという効果が得られるが、その一方で、電源OFF後に再起動した際には必ず、LSI20内に中間コード31等が無い状態となっている為、再度、センタ装置2にアクセスして中間コード等をダウンロードする必要があるが、実施例3においてはROM13に格納してある中間コード等(暗号化)を取得して復号化すれば済むので、この様な手間が必要無くなる。
【0118】
更に、実施例3では、複数種類の電子マネーアプリケーションを扱う場合に、より大きな効果を奏するものとなる。すなわち、この場合、例えば後に実施例5等で説明するように、中間コード31等を不揮発性メモリ24に格納する場合には、複数種類の電子マネーそれぞれに対応する中間コード31等を格納する必要がある為、その分、不揮発性メモリ24のメモリ容量を大きくする必要がある。
【0119】
これに対して、実施例3では、複数種類の電子マネーそれぞれに対応する中間コード等を、全て、上記の通り暗号化してROM13に格納するので、不揮発性メモリ24のメモリ容量の削減効果が、より大きなものとなる。また、ROM13に格納されている各種電子マネーの暗号化中間コード36等のうち任意の電子マネーの暗号化中間コード36等のみを復号化して揮発性メモリ23に格納すればよいので、複数種類の電子マネーに対応する場合でも揮発性メモリ23のメモリ容量を大きくする必要はない(実施例2において複数種類の電子マネーに対応する場合には、揮発性メモリ23のメモリ容量を大きくする必要がある)。これは、例えば、3種類の電子マネーa,b,cに対応する場合を例にすると、ROM13にはこれら各種電子マネーa,b,cそれぞれに対応する暗号化中間コード36等が格納されることになるが、例えば電子マネーaに対応するICカードとの決済処理を行う際には、LSI20は電子マネーaに対応する暗号化中間コード36等のみをROM13から取得して復号化して揮発性メモリ23上に一時的に展開し、これを用いて決済処理を行い、決済処理完了したらメモリ23上から削除すればよい。
【0120】
以下、上述した実施例3について更に詳しく説明する。
まず、上記の通り中間コード等は暗号化された状態でROM13に格納されるが、これは図6に示す例では、“端末の公開鍵B(Kpt)で暗号化された中間コード”36(暗号化中間コード36という場合もある)、“端末の公開鍵B(Kpt)で暗号化されたセキュリティデータ”37(暗号化セキュリティデータ37という場合もある)となっている。
【0121】
すなわち、実施例3の図7のステップ13’では、上記実施例1等と同様にセンタ装置2は中間コード31等をセッション鍵G(ks)で暗号化して配信してくるのが(上記暗号化中間コード33、暗号化セキュリティデータ34を配信してくる)、これをそのままROM13に格納するわけではない。セッション鍵G(ks)は、センタ装置2との通信の際に一時的に生成・使用されるものであり、通信完了と共に消去されるので、後で復号化できなくなるからである。
【0122】
これより、決済端末10においては、図7のステップ13’に示すように、端末管理CPU11は、配信されてきた暗号化中間コード33等をLSI20に渡し、LSI20は、上記実施例1等と同様にセッション鍵G(ks)を用いて暗号化中間コード33等を復号して中間コード31等を取得してその検証等を行った後、検証OKであれば、取得した中間コード31等を自己の“端末の公開鍵B(Kpt)”で暗号化して上記暗号化中間コード36、暗号化セキュリティデータ37を生成して、これらをROM13に格納する。これら暗号化データ36,37の復号は“端末の秘密鍵C(Kst)”を用いて行うことになる。
【0123】
尚、図7において、前準備処理、出荷前設定処理、及びStep11,12の処理は実施例1(図2)と同じであり、特に説明しない。
一方、図7に示すStep14’,15’、16’の処理は、図2のStep14,15、16の処理と一部異なる。すなわち、まず、Step14’はPOS端末5からの決済指示に応じて決済処理、インタプリタ処理を行う点は図2のStep14と同じであるが、その前に、POS端末5からの決済指示が来た際に、端末管理CPU11がLSI20に上記ROMに格納されている上記暗号化中間コード36、暗号化セキュリティデータ37を渡して、LSI20においてこれらを“端末の秘密鍵C(Kst)”で復号して揮発性メモリ23上に展開する処理を行う。そして、LSI20は、揮発性メモリ23上に展開した中間コード31等を用いて、電子マネー決済処理を行うことになる。
【0124】
また、LSI20は、決済処理完了したら、揮発性メモリ23上に展開した中間コード31等を削除する。
尚、複数種類の電子マネーに対応する場合には、端末管理CPU11は、上記POS端末5からの決済指示によって指定された電子マネー種類に応じた上記暗号化中間コード36等を、ROM13から取得してLSI20に渡すことになる。
【0125】
Step15’の処理も、上記Step14’の場合と略同様に、締め指示を受けたら、端末管理CPU11が上記ROM13に格納されている暗号化中間コード36、暗号化セキュリティデータ37をLSI20に配信して、LSI20においてこれらを復号して揮発性メモリ23上に展開する処理を行う(中間コード31、セキュリティデータ32を得て揮発性メモリ23に格納する処理)。
【0126】
そして、LSI20内でStep15と同様にこれら中間コード31等を用いて締め処理等を行う。そして、LSI20は、締め処理完了したら、揮発性メモリ23上に展開した中間コード31等を削除する。
【0127】
また、Step16’の処理では、端末管理CPU11は、撤去指示に応じて、ROM13に記憶されている暗号化データ(暗号化中間コード36、暗号化セキュリティデータ37)を削除する。
【0128】
尚、上記Step14’の処理例では、決済処理毎に逐一、ROM13から暗号化中間コード36等を取得して復号して中間コード31等を揮発性メモリ23に展開してその後に消去するものとしたが、この例に限らず、例えば起動時に暗号化中間コード36等を復号して中間コード31等を揮発性メモリ23に展開した後は、消去せずに運用し、運用終了(電源OFF)により消去されるようにしてもよい。但し、上述してある通り、複数の電子マネーアプリケーションを扱う場合には、上記Step14’の処理例の処理を行うことで、揮発性メモリ23のメモリ容量が少なくて済むという効果が得られる。
【0129】
次に、以下、実施例4について説明する。
上記実施例1〜3では、決済端末10−センタ装置2間の暗号化通信に公開鍵暗号方式を用いる場合について説明したが、実施例4のように共通鍵暗号方式を採用しても良い。
【0130】
この場合、予め、電子マネー事業者側と端末メーカ側の両方で、同じ暗号鍵(端末−センタ共通鍵H(Kc_tc))を共有しておく必要がある。あるいは、電子マネー事業者側、端末メーカ側それぞれが独自に共通鍵暗号方式による暗号鍵を生成し、それぞれが自己が生成した暗号鍵を予め相手に渡しておくようにしてもよい。前者の場合、決済端末10、センタ装置2はそれぞれ、同一の暗号鍵を用いるが、暗号化の手順が異なる方法で暗号化を行うようにしてもよい(勿論、両者とも、この2種類の暗号化手順を知っており、その暗号化/復号化プログラムを格納している)。一方、後者の場合、後述する暗号化データ51の生成とその復号の為の暗号鍵と、暗号化データ52の生成とその復号の為の暗号鍵とは異なることになる。
【0131】
但し、以下の説明では、上記のことを逐一説明することなく、単純に、電子マネー事業者側と端末メーカ側の両方で共有する同一の暗号鍵である“端末−センタ共通鍵H(Kc_tc)”によって、暗号化/復号化が行われるものとして説明する。
【0132】
まず、上記“端末−センタ共通鍵H(Kc_tc)”は、上記出荷設定作業の際、出荷する各決済端末10に、上記“端末共有鍵A(Kct)”や端末情報、センタ情報等と共に格納される。また、実施例4でも上記実施例1と同様に上記前準備処理を行っており、これによって得た上記“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25も、出荷設定作業の際に決済端末10に格納される。尚、これら各種設定情報は、図8に示す通り、不揮発性メモリ24に格納される。
【0133】
図8は、実施例4における決済処理セキュリティ情報配信システムの構成例を示す図である。
尚、図8のシステムは、ハードウェア構成自体は図1に示すシステムと同じであってよく、同一符号を付してあり、説明は省略する。以下、主に実施例1とは異なる点について説明する。実施例1との違いは、センタ装置2−決済端末10間の暗号化通信を、公開鍵ペアではなく、上記“端末−センタ共通鍵H(Kc_tc)”を用いて行う点である。つまり、公開鍵暗号方式ではなく共通鍵暗号方式で暗号化通信を行う点である。
【0134】
よって、本システムで用いる各種鍵は、図8の図上左下に示す通り、“端末の共有鍵A(Kct)”、“端末−センタ共通鍵H(Kc_tc)”、“センタ秘匿鍵D(Kcc)”、“セッション鍵G(Ks)”の4種類である。そして、これにより、図示の通り、各メモリに格納される鍵が一部、図1とは異なることになる。
【0135】
まず、センタ装置2においては、その不揮発メモリ3には、上記センタの公開鍵ペア(“センタ公開鍵E(Kpc)”と“センタ秘密鍵F(Ksc)”)の代わりに、“端末−センタ共通鍵H(Kc_tc)”が記憶される。他の鍵や暗号化データは図1と同じである。また、実施例1では図2のStep11において公開鍵の交換を行ったが、本例では必要ないので、揮発メモリ4に“端末の公開鍵B(Kpt)”が記憶されることはない。
【0136】
また、決済端末10においては、その不揮発性メモリ24には、上記端末の公開鍵ペア(“端末の公開鍵B(Kpt)”及び“端末の秘密鍵C(Kst)”)の代わりに、“端末−センタ共通鍵H(Kc_tc)”が記憶される。他の鍵や暗号化データは図1と同じである。また、実施例1では図2のStep11において公開鍵の交換を行ったが、本例では必要ないので、揮発メモリ23に“センタ公開鍵E(Kpc)”が記憶されることはない。
【0137】
実施例4においても、その全体的な処理シーケンスは、図2と略同様であり、ここでは特に説明しない。但し、上記の通り、Step11において公開鍵の交換を行わない点は異なるし、Step12の詳細な処理内容は異なる。すなわち、本例では、Step12の詳細な処理は、図3ではなく、図9の処理を行うことになる。
【0138】
図9は、実施例4におけるStep12の処理を詳細に説明する為のフロー図である。
図9において、図3と同一のデータや処理には、同一符号を付してある。
すなわち、決済端末10において上記送信データ41を生成する点、この送信データ41の暗号化データを受信したセンタ装置2が、これを復号して得た上記復号データ43を用いてステップS21、S22の判定処理を行う点は、実施例1の図3の処理と同じであり、ここでは特に説明しない。また、センタ装置2において認証成功後に上記応答データ44を生成する点、この応答データ44の暗号化データを受信した決済端末10が、これを復号して得た上記復号データ46を用いてステップS23,24の判定処理を行う点も、実施例1の図3の処理と同じであり、ここでは特に説明しない。
【0139】
上記の通り、図9において、図3と異なる点は、上記送信データ41、応答データ44の暗号化、復号化の処理であり、以下、これについて説明する。
尚、上記の通り、上記送信データ41、応答データ44自体は、図3と同じであるが、一応説明しておくならば、送信データ41は、決済端末10内で任意に生成した乱数Rtと、端末情報ハッシュ値と、“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25とから成る。また、応答データ44は、センタ装置2が内部で任意に生成する乱数Rcと、センタ情報ハッシュ値と、“端末共有鍵A(Kct)で暗号化されたセンタ情報”35とから成る。
【0140】
まず、決済端末10は、上記送信データ41を生成したら、出荷設定時に上記不揮発性メモリ24に記憶されている上記“端末−センタ共通鍵H(Kc_tc)”でこの送信データ41を暗号化することで、図示の暗号化データ51を生成して送信する。この暗号化データ51を受信したセンタ装置2は、上記不揮発メモリ3に記憶されている上記“端末−センタ共通鍵H(Kc_tc)”と“センタ秘匿鍵D(Kcc)”を用いてこの暗号化データ51を復号することで上記復号データ43を得る。そして、上述したようにステップS21、S22の判定処理を行い、端末認証成功したならば、処理を続行して、上記復号データ43における乱数Rtを記憶すると共に以下の処理を行う。
【0141】
すなわち、センタ装置2は、上記応答データ44を生成したら、上記不揮発メモリ3に記憶されている上記“端末−センタ共通鍵H(Kc_tc)”でこの応答データ44を暗号化することで、図示の暗号化データ52を生成して送信する。この暗号化データ52を受信した決済端末10は、上記不揮発性メモリ24に記憶されている上記“端末−センタ共通鍵H(Kc_tc)”と“端末の共有鍵A(Kct)”とを用いて、この暗号化データ52を復号することで上記復号データ46を得る。そして、上述したようにステップS23、S24の判定処理を行い、センタ認証成功したならば、上記復号データ46における乱数Rcを記憶する。そして、この乱数Rcと上記乱数Rtとに基づいて“セッション鍵G(Ks)”を生成し、Step13の処理を行うことになる。上記の通り、Step13以降の処理は図2と略同様であり、ここでは特に説明しない。
【0142】
上述したように、決済端末10−センタ装置2間の相互認証処理の際の暗号化通信は、公開鍵暗号方式に限らず、共通鍵暗号方式を用いてもよい。
(実施例5)(複数の電子マネーアプリケーションを扱う場合)
図10は、実施例5における決済処理セキュリティ情報配信システムの構成例を示す図である。すなわち、複数種類の電子マネーアプリケーションを扱うことが可能なシステム構成例を示す。
【0143】
尚、図10のシステムは、ハードウェア構成自体は図1に示すシステムと同じであってよく、同一符号を付してあり、説明は省略する。以下、主に実施例1とは異なる点について説明する。尚、図示の端末メーカサーバ1’は、基本的には図1の端末メーカサーバ1と略同様の処理機能を有するが、以下に説明するように複数の電子マネー事業者それぞれに対する前準備処理を行う点等が異なることから異なる符合(1ではなく1’を付してある)。
【0144】
尚、図では1つの電子マネー事業者のセンタ装置2のみを示すが、複数の電子マネー事業者の各センタ装置2が存在し得る。そして、図10の端末メーカサーバ1’は、これら各センタ装置2との間で、予め上記実施例1等と同様に前準備処理を実行して、各センタ装置2から“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25やセンタ情報を取得しておく。当然、センタ秘匿鍵D(Kcc)は各センタ装置2毎に異なるものであるので、暗号化端末情報25は(センタ情報も)各センタ装置2毎に異なるものであり、よってサーバ1は、取得した暗号化端末情報25やセンタ情報を、各電子マネー事業者毎に対応付けてサーバ1内に格納しておき、その後のオンライン設定等に用いる。
【0145】
また、サーバ1’は、上記端末共有鍵A(Kct)を、各電子マネー事業者毎に対応付けてそれぞれ生成して格納する。よって、端末共有鍵A(Kct)は、1つではなく複数存在し、各電子マネー事業者毎に異なるものであるから、ここでは図示のように“アプリ固有秘匿鍵62”と記すものとする。そして、上記前準備処理の際にセンタ装置2へ送信する上記“端末共有鍵A(Kct)で暗号化されたセンタ情報”35も、通信相手の電子マネー事業者に対応したアプリ固有秘匿鍵62を用いて暗号化するものである。尚、その意味では、“端末共有鍵A(Kct)で暗号化されたセンタ情報”35は“アプリ固有秘匿鍵62で暗号化されたセンタ情報”35と言うこともできるが、ここでは“端末共有鍵A(Kct)で暗号化されたセンタ情報”35と記すものとする。
【0146】
端末メーカ側において出荷設定の際には、出荷する各決済端末10毎に上記実施例1と同様の設定を行う。但し、設定対象の決済端末10が複数種類の電子マネーアプリケーションを扱うものである場合には、その決済端末10で扱う電子マネー種類それぞれに対応する上記“アプリ固有秘匿鍵A”と“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25、センタ情報等を、LSI20内の不揮発性メモリ24に格納する。
【0147】
勿論、実施例1と同様に、設定対象の決済端末10においてその内部で上記任意の上記公開鍵ペア(“端末の公開鍵B(Kpt)”及び“端末の秘密鍵C(Kst)”)を生成させて不揮発性メモリ24に記憶させる処理や、UI表示、プログラム追加・変更・削除、利用履歴(明細)記録等の非セキュリティ部分の電子マネー事業者のアプリケーションを、ROM13に格納する処理も行う。尚、この非セキュリティアプリケーションは、図10においては“非決済プログラム”63として示している。上記公開鍵ペアは、各電子マネー事業者毎に異なるものでないので、図示の通り1対の公開鍵ペアのみが記憶される。一方、上記“非決済プログラム”は、各電子マネー事業者毎に異なるものであり、図示の通り、各電子マネー種類それぞれについての“非決済プログラム”63が格納される。
【0148】
出荷されて任意の店舗に設置後の決済端末10は、上記実施例1の場合と同様に、上記公開鍵ペアや端末情報、“アプリ固有秘匿鍵”62、“暗号化された端末情報”25等を用いて、センタ装置2から中間コード31、セキュリティデータ32を取得することになる。複数種類の電子マネーに対応する場合には、各電子マネー事業者のセンタ装置2からそれぞれ中間コード31、セキュリティデータ32を取得することになる。その際、通信相手の電子マネー事業者に対応する“アプリ固有秘匿鍵”62、“暗号化された端末情報”25を用いることになる。中間コード31等の取得の為の処理自体(相互認証処理やセッション鍵による暗号化中間コード33等の配信、その復号処理等)は、実施例1と略同様であり、ここでは説明しない。
【0149】
取得した中間コード31、セキュリティデータ32は、図示の通り、各電子マネー事業者毎に対応付けて不揮発性メモリ24に格納管理する。
その後は、例えばstep14の処理では、任意のICカード6と決済処理を行う毎に、このICカードの種類(電子マネーの種類)に対応する中間コード31等を用いて、電子マネー決済処理を行うことになる。
【0150】
尚、後述する実施例6と同様に、上記取得・格納した中間コード31、セキュリティデータ32の格納アドレスを、後述するメモリ管理テーブル70において、サービスコードに対応付けて記憶・管理するようにしてもよい。そして、上記任意のICカード6との決済処理の際には、POSレジ5等の上位端末からの決済指示で決済対象の電子マネー種類に応じた上記サービスコードが指定されるので、メモリ管理テーブル70を参照することで、決済対象の電子マネー種類に応じた中間コード31、セキュリティデータ32の格納位置が分かるので、これらを用いて決済処理を行うことになる。
【0151】
以上説明したように、実施例5では、実施例1等のシステムの特徴を備えつつ複数種類の電子マネーアプリケーションを扱うことが可能なシステムを提供できる。
ここで、例えば、各決済端末10の出荷先の各店舗毎に、その店舗の考えによりその店舗で扱う電子マネーの種類や数が決められているものであり、端末メーカ側では出荷先の要求に応じて各決済端末10の設定を行うことになる。例えばある店舗xでは電子マネーaのみ、別の店舗yでは電子マネーbのみ、更に別の店舗zでは電子マネーaとcを扱うものとする。この場合、端末メーカ側では、出荷設定の際に、店舗x向けの決済端末10に対しては電子マネーaに対応する“アプリ固有秘匿鍵”62、“暗号化された端末情報”25等の設定情報を設定することになる。同様に、店舗y向けの決済端末10に対しては電子マネーbに対応する上記設定情報(“アプリ固有秘匿鍵”62等)を設定することになり、店舗z向けの決済端末10に対しては電子マネーaとcそれぞれに対応する上記設定情報(“アプリ固有秘匿鍵”62等)を設定することになる。
【0152】
しかしながら、出荷後に、店舗側の事情等により、その店舗で扱う電子マネーの種類を増やしたい(あるいは変更したい)場合がある。
また、上述したことから、上記実施例5では、出荷設定の際に、作業員は、各決済端末10毎に、その決済端末10で扱う電子マネー種類に対応する“アプリ固有秘匿鍵”62、“暗号化された端末情報”25等を選択して設定することになり、手間が掛かることになる。
【0153】
以下に説明する実施例6は、この様な問題に対応するものである。
実施例6は、実施例5と同様に複数種類の電子マネーアプリケーションを扱うことが可能なシステムを前提とする。よって、システム構成自体は、図10と同じであってよく、以下の説明では図10を参照して説明する。
【0154】
そして、図11に、実施例6の通信シーケンスを示し、これを用いて説明する。
図11に示すように、実施例6では、まず出荷設定の際には、決済端末10に対して暗号鍵の設定(公開鍵ペア(“端末の公開鍵B(Kpt)”及び“端末の秘密鍵C(Kst)”)を生成させて不揮発性メモリ24に記憶させる処理)とその決済端末10の端末情報の設定のみを行う(図2のS6とS8の処理のみ行う)。これらの情報は、各電子マネー事業者毎に対応するものではなく、共通して利用されるものであるからである。
【0155】
よって、このときには“アプリ固有秘匿鍵”62、“暗号化された端末情報”25等の設定(図2のS7,S9の処理)は行わない。よって、実施例1等とは異なり、必ずしも出荷設定前に前準備処理を行わなければならないわけではない。但し、後述するメンテナンス情報アップロードのときまでには、前準備処理を行っている必要はある。前準備処理自体は、図2に示すものと同じであってよく(上記S1〜S5の処理を行う)、ここでは説明しない。但し、実施例5と同様、各電子マネー事業者それぞれのセンタ装置2と前準備処理を行って、各電子マネー種類毎に対応する“暗号化された端末情報”25を取得することになる。また、これによって、各電子マネー事業者のセンタ装置2には、それぞれ、その電子マネー事業者に応じた“アプリ固有秘匿鍵”62によって暗号化された“暗号化されたセンタ情報”35が記憶されることになる。
【0156】
ここで、予め、各電子マネー種類毎に所定のサービスコードが決められているものとする。
そして、例えば、上記出荷設定作業において、出荷する各決済端末10に関して、その決済端末10で扱う電子マネー種類のサービスコードを、当該決済端末10の端末識別ID等に対応付けてサーバ1の不図示の決済端末管理テーブルに登録しておく。この登録内容は、後に、例えば店舗側からの要求に応じて更新される場合がある。例えば、上記店舗zを例にすると、この店舗zに出荷される決済端末10に関しては、最初は電子マネーaとcのサービスコードが登録されるが、後に店舗z側の要求により例えば電子マネーbのサービスコードが追加登録されるものとする。この例では、この決済端末10は、最初は2種類の電子マネーaとcに対応するものであるが、後に3種類の電子マネーa,b,cに対応するものとなる。但し、実際にこれら各種電子マネーの決済処理を実行可能となる為には、後述するメンテナンス情報アップロード時の処理やstep13による中間データ31等の取得処理を行う必要がある。
【0157】
尚、上記出荷設定作業の際、決済端末10の不揮発性メモリ24には、図10に示すプログラム30’も格納される。上記実施例1のプログラム30はインタプリタ処理、アプリ格納処理等を行うプログラムであるが、このプログラム30’は図10に示すように更にサービス管理処理を実行するプログラムも含まれる。
【0158】
上記出荷設定作業を経て出荷されて任意の店舗に設置された決済端末10は、例えば定期的に(本例ではメンテナンス情報アップロードで)、上記サービス管理処理プログラムを実行する。メンテナンス情報アップロードは、例えば、その決済端末10の現在の状態を示す情報(例えば、現況、どの電子マネーに対応しているのか等)を、サーバ1に通知するものである。
【0159】
この処理では、まず、ネットワーク7を介して端末メーカサーバ1に接続して、所定の認証処理を行い(S11)、認証成功した場合にはS12以降の処理を行う。尚、認証処理自体は既存の認証手法による処理であってよく、ここでは特に説明しない。
【0160】
上記S11の接続・認証処理の際、決済端末10は、自己のメモリ(例えば不揮発性メモリ24)に格納されているメモリ管理テーブル70に登録されているサービスコード全てを、自己の端末識別IDと共に端末メーカサーバ1に送信する。サーバ1は、上記不図示の決済端末管理テーブルを参照して、このテーブルに登録されているサービスコードと受信したサービスコードとを比較チェックして、アプリ追加が必要か不要かを判定する。例えば、上記店舗zを例にすると、例えば店舗zの決済端末10が電子マネーaとcのサービスコードを通知してきた場合、決済端末管理テーブルに電子マネーaとcのサービスコードのみが登録されている場合にはアプリ追加不要と判定し、電子マネーa,b,cのサービスコードが登録されている場合には電子マネーbのアプリ追加必要と判定する。
【0161】
また、出荷されて設置後に初めてサーバ1にアクセスしてきた決済端末10については、当然、未だ中間コード31等は何も記憶されていないので、メモリ管理テーブル70には何も登録されていない状態であるので(後述する説明参照)、“サービスコード無し”をサーバ1に通知する。これより、サーバ1は、この決済端末10について決済端末管理テーブルに登録されている全てのサービスコードのアプリ追加が必要と判定することになる。
【0162】
アプリ追加不要と判定した場合には、その旨を決済端末10に返信する。
一方、アプリ追加必要と判定した場合には、以下に説明するS12以降の処理を実行する。
【0163】
尚、上記メモリ管理テーブル70に関しては、その一例を図12に示し、後に説明する。
以下、S12以降の処理について説明する。
【0164】
まず、サーバ1は、上記S11の処理によりアプリ追加必要と判定した電子マネー種類(上記の例では電子マネーb)に係わるプログラム情報(この電子マネーの上記サービスコードや、そのプログラム、鍵等に関するサイズ情報等;具体例は後に図12で説明する)と共にアプリ追加指示を決済端末10に通知する(S12)。
【0165】
尚、アプリ追加必要と判定した電子マネー種類が複数ある場合には、そのうちの任意の1つについてS12以降の処理を行い、S14の配信処理を実行するものとなり実行した場合には、その後に、他の電子マネー種類について同様にS12以降の処理を行う。
【0166】
上記S12の通知を受信した決済端末10の端末管理CPU11は、まず、ROM13の空き容量の確認を行い、上記プログラム情報に含まれる非決済プログラム63のサイズ情報に基づいて、当該非決済プログラム63をROM13に格納可能か否か(「非決済プログラムのサイズ<空き容量」か否か)を判定する。格納不能な場合にはその旨をサーバ1に通知する。
【0167】
一方、格納可能であれば、上記受信したプログラム情報(但し、非決済プログラムのサイズ情報は除く)をLSI20に渡して、プログラム追加可能かを問い合わせる指示を出す。
【0168】
LSI20は、この指示に応じて、上記追加対象の電子マネー種類のプログラム、鍵等を不揮発性メモリ24に格納可能か否かを、メモリ24の全体サイズと現在の使用量と追加アプリのプログラム情報に基づいて判定して、判定結果を端末管理CPU11に返信する。
【0169】
これは、例えば、まず上記メモリ管理テーブル70等に基づいて、不揮発性メモリ24に現在格納されている各種データの総データサイズは分かるので、不揮発性メモリ24の現在の空き容量は分かる(空き容量=不揮発性メモリ24の容量(全体サイズ)−総データサイズ)。一方、上記渡されたプログラム情報に基づいて、上記新たに追加すべき電子マネー種類に係わるプログラム、鍵等の総データサイズは分かるので、このプログラム等を不揮発性メモリ24に格納可能か否かを判定できる。つまり、総データサイズ<空き容量であれば格納可能と判定する。これより、判定結果を端末管理CPU11に通知する。
【0170】
また、もし格納可能と判定した場合には、上記メモリ管理テーブル70に新規レコードを生成し、上記端末管理CPU11から渡されたプログラム情報(サービスコード、各サイズ(データ長))を新規レコードに格納する。
【0171】
ここで、図12を参照してメモリ管理テーブル70の一例について説明する。
図12は、メモリ管理テーブル70のデータ構成例である。
図示のメモリ管理テーブル70は、サービスコード71、端末共有鍵格納アドレス72、そのデータ長73、暗号化端末情報格納アドレス74、そのデータ長75、中間コード格納アドレス76、そのデータ長77、セキュリティデータ格納アドレス78、そのデータ長79の各データ項目より成る。
【0172】
つまり、メモリ管理テーブル70には、不揮発性メモリ24に格納される各種電子マネー毎の決済処理用プログラム/データ等の格納アドレスとサイズ情報が格納される。すなわち、各種電子マネー毎に、それに対応するアプリ固有秘匿鍵62、“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25、中間コード31、セキュリティデータ32等の格納場所やサイズがメモリ管理テーブル70に登録されることになる。
【0173】
例えば、端末共有鍵格納アドレス72、そのデータ長73は、アプリ固有秘匿鍵62の格納アドレスとデータサイズである。暗号化端末情報格納アドレス74、そのデータ長75は、“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25の格納アドレスとデータサイズである。中間コード格納アドレス76、そのデータ長77は、中間コード31の格納アドレスとデータサイズである。セキュリティデータ格納アドレス78、そのデータ長79は、セキュリティデータ32の格納アドレスとデータサイズである。
【0174】
上記端末管理CPU11から渡されるプログラム情報の具体例は、特に図示しないが、サービスコード、アプリ固有秘匿鍵62のサイズ、“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25のサイズ、中間コード31のサイズ、セキュリティデータ32のサイズであり、上記新規レコードへの格納処理の際には、これらがサービスコード71、データ長73、データ長75、データ長77、データ長79にそれぞれ格納されることになる。各格納アドレス72,74,76,78はこの時点では未だ格納されない。
【0175】
また、上記メモリ24に格納可能か否かの判定は、受信したプログラム情報における上記各データ長73、75,77,79の総和が、上記メモリ24の空き容量未満であるか否かを判定することになる。
【0176】
端末管理CPU11は、上記LSI20から上記判定結果を受け取ると、これをサーバ1へ転送する(S13の応答)。
サーバ1は、この応答を受信すると、判定結果が格納不可である場合には、本処理を終了する。一方、格納可能である場合には、追加すべき電子マネーに係わる、サービスコード、非決済部分のアプリケーション(非決済プログラム63)、電子マネー事業者センタ接続情報(その電子マネー事業者のセンタ装置2のIPアドレス等)、センタ情報、アプリ固有秘匿鍵62、及び“センタ秘匿鍵D(Kcc)で暗号化された端末情報”25を、決済端末10にダウンロードする(S14)。
【0177】
決済端末10の端末管理CPU11は、これらダウンロード情報をLSI20へ渡し、復号化等の処理を実行させ、復号化されて得られた各種情報のうち、サービスコードと非決済プログラム63と電子マネー事業者センタ接続情報を受け取って、これらをROM13に記憶する。
【0178】
一方、LSI20は、上記復号化により得られた各種情報のうち、アプリ固有秘匿鍵62)、及び“暗号化された端末情報”25を、不揮発性メモリ24に格納し、これらの格納アドレスをメモリ管理テーブル70の端末共有鍵格納アドレス72と暗号化端末情報格納アドレス74にそれぞれ格納する。尚、その際、不揮発性メモリ24における中間コード31とセキュリティデータ32の格納領域も確保しておき、これらの格納アドレスもメモリ管理テーブル70の中間コード格納アドレス76とセキュリティデータ格納アドレス78にそれぞれ格納する。これにより、メモリ管理テーブル70へのデータ登録は完了する。但し、この処理は、中間コード31とセキュリティデータ32を実際に取得・格納するまでは行わないようにしてもよい。
【0179】
その後は、決済端末10は、上記の通り取得した各種設定情報を用いて、実施例1等の場合と同様にして、上記電子マネー事業者センタ接続情報を用いて電子マネー事業者のセンタ装置2へアクセスし、中間コード31とセキュリティデータ32を取得して、既に確保してある領域に中間コード31とセキュリティデータ32を記憶する。これにより、当該新たな電子マネーに係わる決済処理機能が活性化されることになる。
【0180】
その後の決済処理、締め処理、撤去処理は、実施例1の図2で説明したstep14,15,16の処理と略同様であってよいが、本例ではこれらの処理の際に、端末管理CPU11からは処理対象の電子マネーアプリのサービスコードを含んだコマンド指示(決済・締めなど)がLSI20に送信され、LSI20はメモリ管理テーブル70を参照することで上記指示されたサービスコードに対応する中間コード31、セキュリティデータ32の格納アドレスを読取り、読取ったアドレスに格納されている中間コード31等を用いることで、指示された電子マネーに係わる決済処理等を実行することになる。
【0181】
以上説明したように、本システムによれば、電子マネー事業者は、電子マネーアプリケーションのセキュリティ処理に係わる情報(中間コード31、セキュリティデータ32等)を、端末メーカ側に公開することなく、これらの情報は出荷後にネットワークを介して決済端末10にセキュアにダウンロードすることで電子マネー決済処理を実行可能な状態にすることができる。また、サービスコードによるメモリ管理を行うことで、複数の電子マネーアプリの管理ができ、一台で複数の電子マネーアプリケーションを実行可能となる。
【0182】
最後に、図13に、上記センタ装置2やサーバ1のコンピュータのハードウェア構成の一例を示しておく。
図13に示すコンピュータ100は、CPU101、メモリ102、入力部103、出力部104、記憶部105、記録媒体駆動部106、及びネットワーク接続部107を有し、これらがバス108に接続された構成となっている。
【0183】
CPU101は、当該コンピュータ100全体を制御する中央処理装置である。
メモリ102は、任意の処理実行の際に、記憶部105(あるいは可搬型記録媒体109)に記憶されているプログラムあるいはデータを一時的に格納するRAM等のメモリである。CPU101は、メモリ102に読み出したプログラム/データを用いて、各種処理を実行する。
【0184】
出力部104は、例えばディスプレイ等であり、入力部103は、例えば、キーボード、マウス等である。
ネットワーク接続部107は、例えば上記ネットワーク7に接続して、他の情報処理装置との通信(コマンド/データ送受信等)を行う為の構成である。
【0185】
記憶部105は、例えばハードディスク等であり、上述した各種処理をCPU101により実現させる為のアプリケーションプログラムが格納されている。すなわち、当該コンピュータ100がセンタ装置2である場合には、上記前準備処理や、各決済端末10への中間コード31等のダウンロード処理等を、CPU101により実行させる為のアプリケーションプログラムが格納されている。また、当該コンピュータ100がサーバ1である場合には、上記前準備処理や、出荷設定処理(S6〜S9)や、図11に示すダウンロード処理(S11〜S14)等を、CPU101により実行させる為のアプリケーションプログラムが格納されている。
【0186】
尚、当該コンピュータ100がセンタ装置2である場合、記憶部105は上記不揮発メモリ3に相当すると考えても良い(メモリ102は揮発性メモリ4に相当すると考えてよい)。
【0187】
CPU101は、上記記憶部105に格納されている各種プログラムを読み出し・実行することにより、上述した各種処理を実現する。
あるいは、上記記憶部105に格納される各種プログラム/データは、可搬型記録媒体109に記憶されているものであってもよい。この場合、可搬型記録媒体109に記憶されているプログラム/データは、記録媒体駆動部106によって読み出される。可搬型記録媒体109とは、例えば、FD(フレキシブル・ディスク)109a、CD−ROM109b、その他、DVD、光磁気ディスク等である。
【0188】
あるいは、また、上記プログラム/データは、ネットワーク接続部107により接続しているネットワークを介して、他の装置内に記憶されているものをダウンロードするものであってもよい。あるいは、更に、インターネットを介して、外部の他の装置内に記憶されているものをダウンロードするものであってもよい。
【0189】
また、本発明は、上記本発明の各種処理をコンピュータ上で実現するプログラムを記録した可搬型記憶媒体として構成できるだけでなく、当該プログラム自体として構成することもできる。
【符号の説明】
【0190】
1 端末メーカサーバ
2 電子マネー事業者センタ装置
3 不揮発メモリ
4 揮発性メモリ
5 POSレジ
6 ICカード
7 ネットワーク
10 決済端末
11 端末管理CPU
12 RAM
13 ROM
14 UI
15 第1通信部
16 第2通信部
17 第3通信部
20 LSI
21 CPU
22 第4通信部
23 揮発性メモリ
24 不揮発性メモリ
25 センタ秘匿鍵D(Kcc)で暗号化された端末情報
26 第5通信部
31 中間コード
32 セキュリティデータ
33 暗号化中間コード
34 暗号化セキュリティデータ
35 端末共有鍵A(Kct)で暗号化されたセンタ情報
36 端末の公開鍵B(Kpt)で暗号化された中間コード
37 端末の公開鍵B(Kpt)で暗号化されたセキュリティデータ
41 送信データ
42 暗号化データ
43 復号データ
44 応答データ
45 暗号化データ
46 復号データ
51 暗号化データ
52 暗号化データ
62 アプリ固有秘匿鍵
63 非決済プログラム
70 メモリ管理テーブル
71 サービスコード
72 端末共有鍵格納アドレス
73 データ長
74 暗号化端末情報格納アドレス
75 データ長
76 中間コード格納アドレス
77 データ長
78 セキュリティデータ格納アドレス
79 データ長
100 コンピュータ
101 CPU
102 メモリ
103 入力部
104 出力部
105 記憶部
106 記録媒体駆動部
107 ネットワーク接続部
108 バス

【特許請求の範囲】
【請求項1】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける決済処理セキュリティ情報配信方法であって、
予め、前記センタ装置と前記サーバ装置とが前記ネットワークを介して相互に通信処理を行うことで、前記センタ装置は、自己に係わる特定情報が前記決済端末メーカ側のみが保持する第1の秘匿鍵によって暗号化されて成る暗号化特定情報を取得して保持し、前記サーバ装置は、出荷する各決済端末毎に、その決済端末に係わる所定情報である端末情報が前記センタ装置のみが保持する第2の秘匿鍵によって暗号化されて成る暗号化端末情報を取得して保持する前準備処理ステップと、
前記サーバ装置が、出荷する各決済端末毎に、その決済端末の前記端末情報及びその前記暗号化端末情報と前記第1の秘匿鍵と、前記前準備処理ステップの際に取得した前記特定情報とを設定・格納する設定処理ステップと、
前記各決済端末が出荷されて任意の設置場所に設置された後、
前記センタ装置と前記決済端末とが前記ネットワークを介して暗号化通信により相互認証処理を行う処理であって、前記決済端末が前記暗号化端末情報を含む第1の送信情報を前記センタ装置へ送信し、該センタ装置は該第1の送信情報と前記第2の秘匿鍵と前記前備処理ステップの際に取得した前記端末情報に基づいて通信相手の決済端末を認証し、前記センタ装置が前記暗号化特定情報を含む第2の送信情報を前記決済端末に送信し、該決済端末は該第2の送信情報と前記第1の秘匿鍵と前記特定情報に基づいて前記センタ装置を認証する相互認証処理ステップと、
前記相互認証が成功した場合、前記センタ装置が前記決済端末に対して、電子マネー決済処理に係わる決済処理セキュリティ情報を、前記相互認証処理ステップで得られる暗号鍵によって暗号化して配信する配信ステップと、
前記決済端末が、該暗号化された配信情報を前記相互認証処理ステップで得られる前記暗号鍵によって復号することで前記決済処理セキュリティ情報を取得する決済処理セキュリティ情報取得ステップと、
を有することを特徴とする決済処理セキュリティ情報配信方法。
【請求項2】
前記相互認証処理ステップにおいて、
前記センタ装置は、受信した暗号化端末情報を前記第2の秘匿鍵によって復号化でき、且つ該復号化により得た端末情報が前記前準備処理ステップの際に登録されている端末情報と一致する場合には、通信相手の決済端末を認証成功とし、
前記決済端末は、受信した暗号化特定情報を前記第1の秘匿鍵により復号化でき、且つ復号化により得た特定情報が前記設定処理ステップで設定された特定情報と一致する場合には、通信相手のセンタ装置を認証成功とすることを特徴とする請求項1記載の決済処理セキュリティ情報配信方法。
【請求項3】
前記相互認証処理ステップにおいて、
前記決済端末は、更に、前記端末情報のハッシュ値を生成し、該端末情報ハッシュ値を前記第1の送信情報に含めて前記センタ装置へ送信し、
前記センタ装置は、前記端末情報一致に加えて更に、前記復号化により得た端末情報のハッシュ値を生成し該ハッシュ値が受信した前記端末情報ハッシュ値と一致する場合に、通信相手の決済端末を認証成功と判定し、
前記センタ装置は、更に、前記特定情報のハッシュ値を生成し、該特定情報ハッシュ値を前記第2の送信情報に含めて前記決済端末へ送信し、
前記決済端末は、前記特定情報一致に加えて更に、前記復号化により得た特定情報のハッシュ値を生成し該ハッシュ値が受信した前記特定情報ハッシュ値と一致する場合に、通信相手のセンタ装置を認証成功と判定することを特徴とする請求項2記載の決済処理セキュリティ情報配信方法。
【請求項4】
前記前準備処理ステップにおいて、
前記センタ装置は前記特定情報を前記サーバ装置へ送信し、該サーバ装置が該特定情報を記憶すると共に該特定情報を自装置が保持する前記第1の秘匿鍵で暗号化して前記暗号化特定情報を生成して該暗号化特定情報を前記センタ装置に返信し、該センタ装置が該暗号化特定情報を記憶し、
前記サーバ装置は、出荷対象の決済端末がある毎に、その前記端末情報を前記センタ装置に送信し、該センタ装置は該端末情報を記憶すると共に該端末情報を自装置のみが保持する前記第2の秘匿鍵で暗号化して前記暗号化端末情報を生成して該暗号化端末情報を前記サーバ装置に返信し、該サーバ装置が該暗号化端末情報を記憶することを特徴とする請求項1記載の決済処理セキュリティ情報配信方法。
【請求項5】
前記決済端末は、耐タンパ適用されたLSIと、該LSIの外部にある制御手段を有し、
前記設定処理ステップで設定・格納される前記端末情報及びその前記暗号化端末情報と前記第1の秘匿鍵と、前記配信される決済処理セキュリティ情報は、前記LSI内の記憶手段に記憶され、
前記相互認証処理ステップ、配信ステップに係わる暗号化/復号化処理は前記LSI内で実行されることを特徴とする請求項1記載の決済処理セキュリティ情報配信方法。
【請求項6】
前記LSI内の記憶手段は揮発性メモリと不揮発性メモリより成り、
前記配信された決済処理セキュリティ情報は、前記不揮発性メモリに格納されることを特徴とする請求項5記載の決済処理セキュリティ情報配信方法。
【請求項7】
前記LSI内の記憶手段は揮発性メモリと不揮発性メモリより成り、
前記配信された決済処理セキュリティ情報は、前記揮発性メモリに格納されることを特徴とする請求項5記載の決済処理セキュリティ情報配信方法。
【請求項8】
前記決済端末は、耐タンパ適用されたLSIと、該LSIの外部にある第2記憶手段を有し、
前記設定処理ステップで設定される前記端末情報及びその前記暗号化端末情報と前記第1の秘匿鍵は、前記LSI内の不揮発性メモリに記憶され、前記相互認証処理ステップ、配信ステップに係わる暗号化/復号化処理は前記LSI内で実行され、
前記LSIは、前記決済処理セキュリティ情報取得ステップによって取得した前記決済処理セキュリティ情報を、自己が生成した暗号鍵を用いて暗号化して、該暗号化決済処理セキュリティ情報を前記第2記憶手段に記憶し、任意のときに該第2記憶手段から前記暗号化決済処理セキュリティ情報を取得して、これを前記暗号鍵を用いて復号して得た前記決済処理セキュリティ情報を前記LSI内の揮発性メモリ上に一時的に記憶することを特徴とする請求項1記載の決済処理セキュリティ情報配信方法。
【請求項9】
前記前準備処理ステップは、複数の前記電子マネー事業者の各センタ装置それぞれと前記決済端末メーカのサーバ装置との間で実行され、その際、該サーバ装置は、前記複数の前記電子マネー事業者の各センタ装置毎に、それぞれ異なる前記第1の秘匿鍵によって前記特定情報の暗号化を行って該暗号化特定情報をセンタ装置に返信し、各センタ装置から取得した前記暗号化端末情報、特定情報を各電子マネー事業者毎に対応付けて保持し、
前記サーバ装置は、前記設定処理ステップにおいて前記暗号化端末情報と前記第1の秘匿鍵は設定しないで、前記決済端末が出荷されて任意の設置場所に設置された後に前記ネットワークを介して、その決済端末が扱う各電子マネーに係わる前記第1の秘匿鍵と前記暗号化特定情報を当該決済端末に配信して設定させるオンライン設定処理ステップを更に有し、
決済端末は、自己が扱う各電子マネー毎にその電子マネー事業者のセンタ装置にアクセスして、前記設定処理ステップとオンライン設定処理ステップにより設定された情報に基づいて、前記相互認証処理ステップと配信ステップとによりその電子マネーの決済処理に係わる前記決済処理セキュリティ情報を取得することを特徴とする請求項1記載の決済処理セキュリティ情報配信方法。
【請求項10】
前記サーバ装置は、前記オンライン設定処理ステップにおいて前記配信を行う前に、その決済端末が扱う各電子マネーのなかで配信対象となる電子マネーを判定し、該配信対象の各電子マネー毎に、その電子マネーに係わり配信すべき全データの容量を配信先の決済端末に通知し、
前記各決済端末は、前記通知を受信すると、自己の記憶手段の空き容量と前記全データ容量とに基づいて、前記配信すべき全データを新たに格納可能か否かを判定し、格納可能な場合のみ前記サーバ装置に前記オンライン設定処理ステップによる配信を実行させることを特徴とする請求項9記載の決済処理セキュリティ情報配信方法。
【請求項11】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムであって、
前記センタ装置と前記サーバ装置は、それぞれ、第1の前準備処理手段、第2の前準備処理手段を有し、
予め前記第1の前準備処理手段と第2の前準備処理手段とによって前記ネットワークを介して相互に所定データの送受信を行うことで、前記センタ装置の第1の前準備処理手段は、自装置に係わる特定情報が前記決済端末メーカ側のみが保持する第1の秘匿鍵によって暗号化されて成る暗号化特定情報を取得して保持し、前記サーバ装置の第2の前準備処理手段は、出荷する各決済端末毎に、その決済端末に係わる所定情報である端末情報が前記センタ装置のみが保持する第2の秘匿鍵によって暗号化されて成る暗号化端末情報を取得して保持し、
前記サーバ装置は、更に、出荷する各決済端末毎に、その決済端末の前記端末情報及びその前記暗号化端末情報と、前記第1の秘匿鍵と前記特定情報を設定する設定処理手段を備え、
前記センタ装置は、更に、第1の相互認証処理手段と、セキュリティ情報配信手段とを備え、
前記各決済端末は、第2の相互認証処理手段と、配信情報格納手段とを備え、
前記各決済端末が出荷されて任意の設置場所に設置された後、
前記第1の相互認証処理手段と第2の相互認証処理手段とによって前記ネットワークを介して暗号化通信により相互認証処理を行い、その際、前記決済端末が前記暗号化端末情報を含む第1の送信情報を前記センタ装置へ送信し、該センタ装置は該第1の送信情報と前記第2の秘匿鍵と予め登録されている前記端末情報に基づいて通信相手の決済端末を認証し、前記センタ装置が前記暗号化特定情報を含む第2の送信情報を前記決済端末に送信し、該決済端末は該第2の送信情報と前記第1の秘匿鍵と前記特定情報に基づいて前記センタ装置を認証し、
前記相互認証処理が成功した場合、前記センタ装置のセキュリティ情報配信手段は、前記決済端末に対して、電子マネー決済処理に係わる決済処理セキュリティ情報を、該相互認証処理で得られる暗号鍵によって暗号化して配信し、該決済端末の前記配信情報格納手段は配信された暗号化決済処理セキュリティ情報を前記相互認証処理で得られる暗号鍵によって復号して格納することを特徴とする決済処理セキュリティ情報配信システム。
【請求項12】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける前記サーバ装置であって、
予め、前記ネットワークを介して前記センタ装置との通信を行って、出荷する各決済端末毎に、その決済端末に係わる所定情報である端末情報を送信して、該センタ装置から該端末情報が当該センタ装置のみが保持する第2の秘匿鍵によって暗号化されて成る暗号化端末情報が返信されてくるとこれを保持し、前記センタ装置から該センタ装置に係わる特定情報が送られてくると、該特定情報を前記決済端末メーカ側のみが保持する第1の秘匿鍵によって暗号化して該暗号化特定情報をセンタ装置に返信する前準備処理手段と、
出荷する各決済端末毎に、その決済端末の前記端末情報及びその前記暗号化端末情報と、前記第1の秘匿鍵と前記特定情報を設定する設定処理手段と、
を有することを特徴とするサーバ装置。
【請求項13】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける前記センタ装置であって、
予め、前記ネットワークを介して前記サーバ装置との通信を行って、自装置に係わる特定情報を前記サーバ装置に送信し、該サーバ装置から該特定情報が前記決済端末メーカ側のみが保持する第1の秘匿鍵によって暗号化されて成る暗号化特定情報が返信されてくるとこれを記憶し、前記サーバ装置から各決済端末毎の所定情報である各端末情報が送信されてくると、該各端末情報を当該センタ装置のみが保持する第2の秘匿鍵によって暗号化して該暗号化端末情報を前記サーバ装置に返信する前準備処理手段と、
任意の設置場所に設置された前記決済端末から前記ネットワークを介してアクセスがあると、暗号化通信による相互認証処理を行い、その際、前記暗号化特定情報を含む第2の送信情報を決済端末へ送信し、該決済端末から前記暗号化端末情報を含む第1の送信情報が送られてくると、該第1の送信情報と前記第2の秘匿鍵と予め登録されている前記端末情報に基づいて通信相手の決済端末を認証する相互認証処理手段と、
前記相互認証処理手段によって通信相手の決済端末と相互に認証成功した場合、前記決済端末に対して、電子マネー決済処理に係わる決済処理セキュリティ情報を、該相互認証処理で得られる暗号鍵によって暗号化して配信するセキュリティ情報配信手段と、
を有することを特徴とするセンタ装置。
【請求項14】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける前記決済端末であって、
少なくとも自己の端末情報が前記センタ装置のみが保持する第2の秘匿鍵によって暗号化されて成る暗号化端末情報と、前記決済端末メーカ側のみが保持する第1の秘匿鍵と、前記センタ装置に係わる特定情報を含む各種設定情報を、該サーバ装置により設定させてこれを自端末内の記憶部に格納する設定情報格納手段と、
自端末が任意の設置場所に設置された後、前記ネットワークを介して前記センタ装置にアクセスして、暗号化通信により相互認証処理を行い、その際、前記設定された暗号化端末情報を含む第1の送信情報を前記センタ装置に送信すると共に、該センタ装置から送られてくる、前記特定情報が前記第1の秘匿鍵によって暗号化されて成る暗号化特定情報を含む第2の送信情報を受信すると、該第2の送信情報と前記第1の秘匿鍵と前記特定情報に基づいて前記センタ装置を認証する相互認証処理手段と、
前記相互認証処理手段によって前記センタ装置と相互に認証処理が成功した場合、前記センタ装置から電子マネー決済処理に係わる決済処理セキュリティ情報が前記相互認証処理で得られる暗号鍵によって暗号化されて送られてくると、該暗号化された決済処理セキュリティ情報を前記相互認証処理で得られる暗号鍵によって復号して格納する決済処理セキュリティ情報取得・格納手段と、
を有することを特徴とする決済端末。
【請求項15】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける前記サーバ装置のコンピュータを、
予め、前記ネットワークを介して前記センタ装置との通信を行って、出荷する各決済端末毎に、その決済端末に係わる所定情報である端末情報を送信して、該センタ装置から該端末情報が当該センタ装置のみが保持する第2の秘匿鍵によって暗号化されて成る暗号化端末情報が返信されてくるとこれを保持し、前記センタ装置から該センタ装置に係わる特定情報が送られてると、該特定情報を前記決済端末メーカ側のみが保持する第1の秘匿鍵によって暗号化して該暗号化特定情報をセンタ装置に返信する前準備処理手段と、
出荷する各決済端末毎に、その決済端末の前記端末情報及びその前記暗号化端末情報と、前記第1の秘匿鍵と前記特定情報を設定する設定処理手段、
として機能させる為のプログラム。
【請求項16】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける前記センタ装置のコンピュータを、
予め、前記ネットワークを介して前記サーバ装置との通信を行って、自装置に係わる特定情報を前記サーバ装置に送信し、該サーバ装置から該特定情報が前記決済端末メーカ側のみが保持する第1の秘匿鍵によって暗号化されて成る暗号化特定情報が返信されてくるとこれを記憶し、前記サーバ装置から各決済端末毎の所定情報である各端末情報が送信されてくると、該各端末情報を当該センタ装置のみが保持する第2の秘匿鍵によって暗号化して該暗号化端末情報を前記サーバ装置に返信する前準備処理手段と、
任意の設置場所に設置された前記決済端末から前記ネットワークを介してアクセスがあると、暗号化通信による相互認証処理を行い、その際、前記暗号化特定情報を含む第2の送信情報を決済端末へ送信し、該決済端末から前記暗号化端末情報を含む第1の送信情報が送られてくると、該第1の送信情報と前記第2の秘匿鍵と予め登録されている前記端末情報に基づいて通信相手の決済端末を認証する相互認証処理手段と、
前記相互認証処理手段によって通信相手の決済端末と相互に認証成功した場合、前記決済端末に対して、電子マネー決済処理に係わる決済処理セキュリティ情報を、該相互認証処理で得られる暗号鍵によって暗号化して配信するセキュリティ情報配信手段、
として機能させる為のプログラム。
【請求項17】
電子マネー事業者のセンタ装置と、決済端末メーカのサーバ装置と、各決済端末とが、ネットワークに接続されて相互にデータ送受信可能なネットワークシステムにおける前記決済端末のコンピュータを、
少なくとも自己の端末情報が前記センタ装置のみが保持する第2の秘匿鍵によって暗号化されて成る暗号化端末情報と、前記決済端末メーカ側のみが保持する第1の秘匿鍵と、前記センタ装置に係わる特定情報を含む各種設定情報を、該サーバ装置により設定させてこれを自端末内の記憶部に格納する設定情報格納手段と、
自端末が任意の設置場所に設置された後、前記ネットワークを介して前記センタ装置にアクセスして、暗号化通信により相互認証処理を行い、その際、前記設定された暗号化端末情報を含む第1の送信情報を前記センタ装置に送信すると共に、該センタ装置から送られてくる、前記特定情報が前記第1の秘匿鍵によって暗号化されて成る暗号化特定情報を含む第2の送信情報を受信すると、該第2の送信情報と前記第1の秘匿鍵と前記特定情報に基づいて前記センタ装置を認証する相互認証処理手段と、
前記相互認証処理手段によって前記センタ装置と相互に認証処理が成功した場合、前記センタ装置から電子マネー決済処理に係わる決済処理セキュリティ情報が前記相互認証処理で得られる暗号鍵によって暗号化されて送られてくると、該暗号化された決済処理セキュリティ情報を前記相互認証処理で得られる暗号鍵によって復号して格納する決済処理セキュリティ情報取得・格納手段、
として機能させる為のプログラム。

【図2】
image rotate

【図5】
image rotate

【図7】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図1】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2010−212805(P2010−212805A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−54180(P2009−54180)
【出願日】平成21年3月6日(2009.3.6)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.EEPROM
【出願人】(000237710)富士電機リテイルシステムズ株式会社 (1,851)
【Fターム(参考)】