(57)【特許請求の範囲】
【請求項１】
電子マネーの入金又は支払を含む決済の累積状況に対応した現在の固有値を記憶する現在値記憶部と、
前記電子マネーの入金決済時に、入金トランザクションを含むデータのハッシュ値を入金処理サーバから受信し、前記電子マネーの支払決済時に、支払トランザクションを含むデータのハッシュ値を支払処理端末へ送信する通信部と、
前記入金又は支払の決済の度に、前記現在値記憶部に記憶されている現在の固有値、及び前記入金トランザクション又は前記支払トランザクションを含むデータのハッシュ値を入力としたハッシュ演算により、当該現在の固有値を新たな値に更新する第１更新部と、
前記固有値に対して秘密鍵によって署名を行い、署名データを生成する署名部と、
前記秘密鍵及び前記署名データを保護する保護記憶部と、を備える決済装置。
【請求項２】
前記現在値記憶部は、前記保護記憶部に含まれる請求項１に記載の決済装置。
【請求項３】
前記署名部は、前記固有値及び現在時刻情報の連結データに対して署名を行い、
一定期間毎に、前記署名データから前記固有値を抽出し、前記署名部によって前記署名データを更新する第２更新部を備える請求項１又は請求項２に記載の決済装置。
【請求項４】
前記入金トランザクション及び前記支払トランザクションの履歴を記憶する履歴記録部と、
前記履歴から抽出した前記入金トランザクション及び前記支払トランザクションのそれぞれに署名を付加し、集計センタへ送信する通信部と、を備える請求項１から請求項３のいずれかに記載の決済装置。
【請求項５】
コンピュータによる決済方法であって、
前記コンピュータは、電子マネーの入金又は支払を含む決済の累積状況に対応した現在の固有値を記憶する現在値記憶部を備え、
前記電子マネーの入金決済時に、入金トランザクションを含むデータのハッシュ値を入金処理サーバから受信し、前記電子マネーの支払決済時に、支払トランザクションを含むデータのハッシュ値を支払処理端末へ送信する通信ステップと、
前記入金又は支払の決済の度に、前記現在値記憶部に記憶されている現在の固有値、及び前記入金トランザクション又は前記支払トランザクションを含むデータのハッシュ値を入力としたハッシュ演算により、当該現在の固有値を新たな値に更新する第１更新ステップと、
保護記憶部において前記固有値に対して秘密鍵によって署名を行い、署名データを生成して前記保護記憶部に記憶する署名ステップと、を前記コンピュータの制御部が実行する決済方法。
【請求項６】
請求項５に記載の決済方法の各ステップを前記コンピュータに実行させるための決済プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子マネーの決済装置、決済方法及び決済プログラムに関する。
【背景技術】
【０００２】
従来、電子データ及びその通信によって入金及び支払の決済を行う電子マネーのシステムが提供されている。このようなシステムにおけるソフトウェアによる決済手段は、たとえ耐タンパ化されていたとしても、例えばコピーを後日上書きするといった攻撃により、現在の残高が改竄される可能性がある。この対策として、ハードウェアにより安全性を担保する技術の他、オンラインでリアルタイムに正当性をチェックする電子決済の技術が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−３０８４６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、決済時にリアルタイムでサーバとの通信を必要とするシステムは、店舗等でのオフライン決済に適用することはできなかった。
【０００５】
本発明は、リアルタイムでのチェックを必要とせず、電子マネーの正当な利用を保証できる決済装置、決済方法及び決済プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る決済装置は、電子マネーの入金又は支払を含む決済の累積状況に対応した現在の固有値を記憶する現在値記憶部と、前記決済の度に、前記現在値記憶部に記憶されている現在の固有値、及び前記決済のトランザクションから生成されるデータに基づいて、当該現在の固有値を新たな値に更新する第１更新部と、前記固有値に対して秘密鍵によって署名を行い、署名データを生成する署名部と、前記秘密鍵及び前記署名データを保護する保護記憶部と、を備える。
【０００７】
前記第１更新部は、前記固有値、及び前記トランザクションを含むデータのハッシュ値を入力としたハッシュ演算により、当該固有値を更新してもよい。
【０００８】
前記現在値記憶部は、前記保護記憶部に含まれてもよい。
【０００９】
前記署名部は、前記固有値及び現在時刻情報の連結データに対して署名を行い、前記決済装置は、一定期間毎に、前記署名データから前記固有値を抽出し、前記署名部によって前記署名データを更新する第２更新部を備えてもよい。
【００１０】
前記決済装置は、前記トランザクションの履歴を記憶する履歴記録部と、前記履歴から抽出した前記トランザクションに署名を付加し、集計センタへ送信する通信部と、を備えてもよい。
【００１１】
本発明に係る決済方法は、コンピュータによる決済方法であって、前記コンピュータは、電子マネーの入金又は支払を含む決済の累積状況に対応した現在の固有値を記憶する現在値記憶部を備え、前記決済の度に、前記現在値記憶部に記憶されている現在の固有値、及び前記決済のトランザクションから生成されるデータに基づいて、当該現在の固有値を新たな値に更新する第１更新ステップと、保護記憶部において前記固有値に対して秘密鍵によって署名を行い、署名データを生成して前記保護記憶部に記憶する署名ステップと、をコンピュータの制御部が実行する。
【００１２】
本発明に係る決済プログラムは、前記決済方法の各ステップをコンピュータに実行させる。
【発明の効果】
【００１３】
本発明によれば、リアルタイムでのチェックを必要とせず、電子マネーの正当な利用を保証できる。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係る決済装置の機能構成を示すブロック図である。
【図２】第１実施形態に係る決済方法の全体の流れを示す図である。
【図３】第１実施形態に係る入金トランザクションに対するハッシュ値の更新処理を示すフローチャートである。
【図４】第１実施形態に係る支払トランザクションに対するハッシュ値の更新処理を示すフローチャートである。
【図５】第２実施形態に係る決済装置の機能構成を示すブロック図である。
【図６】第２実施形態に係る署名値の更新処理の流れを示す図である。
【図７】第２実施形態に係るハッシュ値の更新処理を示すフローチャートである。
【発明を実施するための形態】
【００１５】
［第１実施形態］
以下、本発明の第１実施形態について説明する。
本実施形態に係る決済装置１は、電子マネーの残高等の管理データ及び各種データを記憶するメモリと、各種プログラムを実行するプロセッサとを有する情報処理装置（コンピュータ）であり、例えば、スマートフォン、携帯電話等の携帯端末であってよい。
【００１６】
図１は、本実施形態に係る決済装置１の機能構成を示すブロック図である。
決済装置１は、制御部１０と、記憶部２０と、セキュアエレメント３０（保護記憶部）と、通信部４０とを備える。
【００１７】
制御部１０は、決済装置１の全体を制御する部分であり、記憶部２０に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各種機能を実現している。制御部１０は、ＣＰＵであってよい。
また、制御部１０は、第１更新部１１と、署名部１２とを備える。
【００１８】
記憶部２０は、ハードウェア群を決済装置１として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ＲＯＭ、ＲＡＭ、フラッシュメモリ又はハードディスク（ＨＤＤ）等であってよい。具体的には、記憶部２０は、本実施形態の各機能を制御部１０に実行させる決済プログラムを記憶する。
また、記憶部２０は、後述する現在のハッシュ値２１と、決済（例えば、入金又は支払）のトランザクションのログ情報である決済履歴２２とを記憶する。
【００１９】
セキュアエレメント３０は、メモリ保護及びレジスタ保護の機能を有し、メモリ上に保管されているデータ、プログラムにより行われるメモリへのアクセス、ＣＰＵで実行される演算を保護することができる。さらに、セキュアエレメント３０は、暗号機能を有し、重要データを暗号化して保管することができる。
具体的には、セキュアエレメント３０は、これらの機能により、後述の秘密鍵３１及びハッシュ値の署名３２等を安全に保管する。
【００２０】
通信部４０は、他の装置とデータの送受信をする。具体的には、通信部４０は、直接に又はネットワークを介して、入金処理サーバ又は店舗の支払処理端末等とデータ通信する。通信部４０は、例えば入金決済時に、入金トランザクションと電子署名とから計算されるハッシュ値を入金処理サーバから受信し、支払決済時に、支払トランザクションと電子署名とから計算されるハッシュ値を支払処理端末へ送信する。
また、通信部４０は、決済履歴２２から抽出した支払トランザクションに署名を付加した情報を電子マネーの集計センタへ送信する。
【００２１】
第１更新部１１は、電子マネーの入金又は支払を含む決済の度に、この決済のトランザクションから生成されるデータに基づいて、電子マネーの現在までの決済の累積状況に対応した固有値を更新する。固有値は、例えばハッシュ値であってよく、各決済のトランザクションを含むデータのハッシュ値と現在の固有値とを入力としたハッシュ演算により、決済処理の度に逐次新たな値に更新され、記憶部２０の現在のハッシュ値２１として記憶される。
【００２２】
署名部１２は、固有値としての現在のハッシュ値２１に対して秘密鍵３１によって署名を行い、ハッシュ値の署名３２を生成する。この署名演算がセキュアエレメント３０内で行われることにより、秘密鍵３１が秘匿されたままハッシュ値の署名３２が更新されるので、ハッシュ値の署名３２は、改竄のリスクを低減して安全に保管される。
【００２３】
図２は、本実施形態に係る決済方法の全体の流れを示す図である。
ユーザ端末（決済装置１）には、現在のハッシュ値２１（Ｈ１）及びハッシュ値の署名３２（Ｓ１）が保存されている。
【００２４】
ユーザ端末に入金処理をする場合、入金者（電子マネーの発行者）は、入金トランザクションにその電子署名を付与し、この署名を含むデータ全体のハッシュ値を計算した後、この計算されたハッシュ値（Ａ）をユーザ端末へ送付する。
ユーザ端末（第１更新部１１）は、受け取った計算されたハッシュ値（Ａ）と、現在のハッシュ値２１（Ｈ１）とを結合させてハッシュ関数に入力し、現在のハッシュ値２１を更新する（Ｈ２）。また、ユーザ端末（署名部１２）は、現在のハッシュ値２１（Ｈ２）に対する電子署名を計算し、ハッシュ値の署名３２を更新する（Ｓ２）。
一方、入金者は、入金トランザクションとその電子署名とを、集計センタへ送付する。
【００２５】
ユーザ端末は、店舗に対する支払処理をする場合、現在のハッシュ値２１（Ｈ２）と、支払トランザクションとを結合させ、このデータに電子署名を行うと、この署名を含むデータ全体のハッシュ値を計算し、計算されたハッシュ値（Ｂ）を店舗端末へ送付する。
店舗端末は、支払トランザクションデータに加えて、受け取ったハッシュ値に電子署名を付与して集計センタへ送付する。
ユーザ端末（第１更新部１１）は、計算されたハッシュ値（Ｂ）と、現在のハッシュ値２１（Ｈ２）とを結合させてハッシュ関数に入力し、現在のハッシュ値２１を更新する（Ｈ３）。また、ユーザ端末（署名部１２）は、現在のハッシュ値２１（Ｈ３）に対する電子署名を計算し、ハッシュ値の署名３２を更新する（Ｓ３）。
【００２６】
なお、入金者及び支払者（ユーザ端末）は、決済（入金又は支払）のトランザクション及び署名を、即座に集計センタへ送付してもよいし、保存しておき、後日、所定のタイミングで送付してもよい。
【００２７】
集計センタは、これらのトランザクションを集計して各ユーザの残高を把握することにより、例えば入金額よりも支払額が多い等の不正の可能性を検出できる。さらに、集計センタは、受信した各トランザクション及び署名からハッシュ値（Ａ、Ｂ）を計算し、又は受信したハッシュ値（Ｂ）を用いて、ユーザ端末で保存されている現在のハッシュ値２１と同一の値を計算できるので、これらのハッシュ値を照合することにより、ユーザ端末に保存されている現在のハッシュ値２１の正当性を検証できる。なお、集計センタは、入金者から計算されたハッシュ値（Ａ）を受信してもよい。
また、セキュアエレメント３０に保存されるハッシュ値の署名３２の改竄が困難であることから、現在のハッシュ値２１の正当性が保証される。
【００２８】
図３は、本実施形態に係る決済装置１による入金トランザクションに対するハッシュ値の更新処理を示すフローチャートである。
ステップＳ１１において、通信部４０は、入金トランザクション及び入金者の電子署名を含むデータから計算されたハッシュ値を受信する。受信したハッシュ値は、決済履歴２２に記憶される。
【００２９】
ステップＳ１２において、第１更新部１１は、記憶部２０から現在のハッシュ値２１を読み出す。
ステップＳ１３において、第１更新部１１は、現在のハッシュ値２１とステップＳ１１で受信したハッシュ値とを入力としてハッシュ演算を行い、現在のハッシュ値２１を更新する。
【００３０】
ステップＳ１４において、署名部１２は、セキュアエレメント３０において、秘密鍵３１により現在のハッシュ値２１に対して署名計算を行い、ハッシュ値の署名３２を生成する。
【００３１】
図４は、本実施形態に係る決済装置１による支払トランザクションに対するハッシュ値の更新処理を示すフローチャートである。
ステップＳ２１において、制御部１０は、支払トランザクションを生成する。
【００３２】
ステップＳ２２において、第１更新部１１は、記憶部２０から現在のハッシュ値２１を読み出す。
ステップＳ２３において、第１更新部１１は、現在のハッシュ値２１と支払トランザクションとを結合させ、このデータに対する支払者（決済装置１）の電子署名を行い、この電子署名を含むデータ全体のハッシュ値を計算する。電子署名を含むデータ全体及び計算されたハッシュ値は、決済履歴２２に記憶される。
ステップＳ２４において、第１更新部１１は、現在のハッシュ値２１とステップＳ２３で計算されたハッシュ値とを入力としてハッシュ演算を行い、現在のハッシュ値２１を更新する。
【００３３】
ステップＳ２５において、署名部１２は、セキュアエレメント３０において、秘密鍵３１により現在のハッシュ値２１に対して署名計算を行い、ハッシュ値の署名３２を生成する。
【００３４】
本実施形態によれば、決済装置１は、固有値（現在のハッシュ値２１）を決済毎に対応するトランザクションに基づいて更新する。このとき、決済装置１は、セキュアエレメント３０において秘密鍵３１により署名データ（ハッシュ値の署名３２）を生成するので、固有値の改竄を防いで正当性を保証できる。したがって、決済装置１は、ネットワーク上のサーバ等を用いたリアルタイムでのチェックを必要とせず、２重使用及び残高改竄の防止、並びに支払の否認拒否等の仕組みを実装して電子マネーの正当な利用を保証できる。
【００３５】
また、決済装置１は、固有値として現在のハッシュ値２１を採用することにより、データサイズを圧縮して効率的に保管、署名計算、及び送受信処理等を行える。特に、入金における入金者と決済装置１、又は決済装置１と店舗端末の間との間で送受信されるトランザクションデータのサイズが縮小されるので、本実施形態は、例えば２次元バーコード等を用いたオフライン決済手段にも適用できる。
【００３６】
また、決済装置１は、決済履歴２２を記憶し、署名と共に集計センタへ送信するので、集計センタは、署名付きの正当なトランザクションデータを集計でき、これによって残高管理等の信頼性が向上する。
【００３７】
［第２実施形態］
以下、本発明の第２実施形態について説明する。
なお、第１実施形態と同様の構成については、同一の符号を付し、説明を省略又は簡略化する。
【００３８】
図５は、本実施形態に係る決済装置１ａの機能構成を示すブロック図である。
本実施形態の決済装置１ａは、第１実施形態の決済装置１と比べて、署名部１２ａの機能が異なり、さらに、制御部１０ａは、第２更新部１３を備える。
【００３９】
署名部１２ａは、固有値（現在のハッシュ値２１）及び現在時刻情報の連結データに対して署名計算を行ってハッシュ値の署名３２を生成する。
第２更新部１３は、一定期間毎に、ハッシュ値の署名３２から固有値を抽出し、新たに現在時刻情報を連結した後、署名部１２ａによって署名データを更新する。
【００４０】
図６は、本実施形態に係る署名値の更新処理の流れを示す図である。
時刻ｔ１において、決済装置１ａは、現在のハッシュ値２１（Ｈ）と現在時刻ｔ１とを連結した後、署名値（Ｓ４）を計算する。
その後、時刻ｔ１から一定時間経過した時刻ｔ２において、決済装置１ａは、署名値（Ｓ４）から現在のハッシュ値２１（Ｈ）を取り出し、現在時刻ｔ２を連結した後、署名値（Ｓ５）を計算する。
時刻ｔ２と同様の処理が一定時間毎に繰り返されることにより、現在時刻情報を含んだ固有情報と、この固有情報に対応する署名値とが定期的に更新されていく。
【００４１】
図７は、本実施形態に係る決済装置１ａによるハッシュ値の更新処理を示すフローチャートである。
ステップＳ３１において、第２更新部１３は、ハッシュ値の署名３２から現在のハッシュ値２１を取得する。
【００４２】
ステップＳ３２において、第２更新部１３は、ステップＳ３１で取得した現在のハッシュ値２１と現在時刻情報との連結データを生成し、署名部１２ａへ提供する。
【００４３】
ステップＳ３３において、署名部１２ａは、セキュアエレメント３０において、秘密鍵３１により現在のハッシュ値２１に基づく連結データに対して署名計算を行い、ハッシュ値の署名３２を生成する。
【００４４】
本実施形態によれば、一定期間毎に固有値及び現在時刻情報を含むデータ（固有情報）が更新され、これに伴って署名値（ハッシュ値の署名３２）も更新される。したがって、決済装置１ａは、固有情報のロールバック等による不正を困難にし、決済システムの信頼性を向上できる。
【００４５】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００４６】
前述の実施形態における固有値（現在のハッシュ値２１）は、セキュアエレメント３０に記憶されてもよい。この場合、決済装置（１又は１ａ）は、固有値の改竄を困難にできるので、決済システムの信頼性をさらに向上できる。
【００４７】
決済装置１による制御方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（決済装置１）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータ（決済装置１）に提供されてもよい。
【符号の説明】
【００４８】
１、１ａ  決済装置
１０、１０ａ  制御部
１１  第１更新部
１２、１２ａ  署名部
１３  第２更新部
２０  記憶部（現在値記憶部、履歴記憶部）
２１  現在のハッシュ値（固有値）
２２  決済履歴
３０  セキュアエレメント（保護記憶部）
３１  秘密鍵
３２  ハッシュ値の署名
４０  通信部
【図１】
0006517027.tif 000002
【図２】
0006517027.tif 000003
【図３】
0006517027.tif 000004
【図４】
0006517027.tif 000005
【図５】
0006517027.tif 000006
【図６】
0006517027.tif 000007
【図７】
0006517027.tif 000008