説明

通信装置および処理システム

【課題】サーバに接続できない場合であっても、サーバに処理を求めるとともに、その処理結果を取得することが可能な通信装置および処理システムを提供する。
【解決手段】通信装置は、ネットワークを介してサーバと通信を行う第1の通信手段と、他の通信装置と近接通信を行う第2の通信手段と、前記サーバに保存された認証鍵と対応した認証鍵を取得する取得手段と、これら手段を制御する制御手段とを備える。前記制御手段は、前記サーバとの間で通信を行うことができない場合に、前記サーバでの所定の処理に用いられる処理情報データを前記取得手段により取得された認証鍵で暗号化し、前記暗号化したデータを含めた処理要求コマンドに前記コマンドの代理送信を求めるデータを付加し、前記第2の通信手段により前記他の通信装置に送付する。前記サーバでの処理の結果を示す処理結果データを含む結果転送コマンドを前記他の通信装置から受信すると、前記認証鍵を用いて復号化することにより前記処理結果データを抽出する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、サーバを介して処理を行う通信装置および処理システムに関する。
【背景技術】
【0002】
近年、非接触通信によるクレジット決済の規格等が定められつつあり、近接通信による決済はより高額な支払いにも利用されようとしている。また、NFC(Near Field Communication)などの近接通信機能を有する2台の通信端末を用いたP2P通信についても検討が進められており、これら2台の端末間で電子マネー等の金銭のやりとりを伴う決済処理を行うことが可能となっていきている。一般にP2P通信による取引では、端末間のみで電子マネーをやりとりせず、ネットワーク通信などを介してサーバ等で金銭情報を管理する。一方、周囲の状況次第で通信端末がネットワークに接続できないといった場合がある。特に通信端末として携帯電話等を用いる場合、建造物内や地下で使用されると、サーバに接続できずに決済完了できないといった場面が生じる可能性があると考えられる。
【0003】
特許文献1には、他の端末との間で電子マネーの受渡しを行う際に携帯端末が圏外にある場合に、近距離無線通信により他の端末の識別情報とともに電子マネー譲渡金額の情報を受信し、受信した情報保存しておき、携帯端末が、店舗決済端末などPOSシステムでサーバと接続されている端末で決済を行う際に、他の端末との間の電子マネーの受渡しを考慮して決済処理を行うシステムが開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−186297号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
電子マネー譲渡金額の情報等を保存しておき、後でサーバに接続して決済処理を行う場合、電子マネーの受渡しを行う際には相手の通信端末についてサーバを介した認証ができないため、例えば悪意のある相手と取引してしまったことが後になって初めてわかるといった可能性が考えられる。また、相手が悪意のない相手であるとしても、サーバで管理している金額情報は銀行口座等と結び付けられており、通信端末を介した決済以外にも用いられることが多いため、決済処理の遅延を抑制することが求められる。
【0006】
また、決済処理に限らず、自装置がサーバに接続できないために、サーバへの処理要求が行われず、処理が遅延することは望ましくない。
【0007】
そこで、本発明は、サーバに接続できない場合であっても、サーバに処理を求めるとともに、その処理結果を取得することが可能な通信装置及び処理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明にかかる通信装置は、ネットワークを介してサーバと通信を行う第1の通信手段と、他の通信装置と近接通信を行う第2の通信手段と、前記サーバに保存された認証鍵と対応した認証鍵を取得する取得手段と、これら手段を制御する制御手段とを備える。前記制御手段は、前記サーバとの間で通信を行うことができない場合に、前記サーバでの所定の処理に用いられる処理情報データを前記取得手段により取得された認証鍵で暗号化し、前記暗号化したデータを含めた処理要求コマンドに前記コマンドの代理送信を求めるデータを付加し、前記第2の通信手段により前記他の通信装置に送付する。前記サーバでの処理の結果を示す処理結果データを含む結果転送コマンドを前記他の通信装置から受信すると、前記認証鍵を用いて復号化することにより前記処理結果データを抽出する。
【発明の効果】
【0009】
本発明によれば、サーバに接続できない場合であっても、サーバに処理を求めるとともに、その処理結果を取得することが可能な通信装置および処理システムを提供することができる。
【図面の簡単な説明】
【0010】
【図1】決済システムの構成例を示す図である。
【図2】通信装置間でP2P通信による決済を行う際の処理フロー例を示す図である。
【図3】代理送信要求コマンドの構成例を示す図である。
【図4】決済代理要求コマンドの構成例を示す図である。
【図5】サーバが決済代理要求コマンドを受信した場合に実行する決済処理フローの一例を示す図である。
【図6】結果代理通知コマンドの構成例を示す図である。
【発明を実施するための形態】
【0011】
図1は、決済システムの構成例を示す図である。
【0012】
通信装置1Aおよび通信装置1Bは、例えば携帯電話やPDA、モバイルPCなどの移動端末である。本例では、ネットワーク通信部13A及びネットワーク通信部13Bは、異なる種類の方式による通信を実行する通信モジュールであるとする。ここで、異なる種類の方式による通信とは、例えば、CDMAとGSMなどの別々の携帯電話通信を行う場合に限らず、別々の通信キャリアを介して同じ方式の携帯電話通信を用いている場合も含むものとする。また、一方が携帯電話通信と無線LAN通信などの他の通信を行うことができる通信部であり、もう一方が携帯電話通信のみを行うことができる通信部である場合など、一方あるいは双方が複数の通信方式により通信を行うものについても含むものとする。なお、本発明の適用を限定するものではなく、ネットワーク通信部13A及びネットワーク通信部13Bが同じ種類の方式による通信を実行する通信モジュールである場合にも、本発明を適用しても良い。
【0013】
以下、通信装置1Aと通信装置1Bの通信機能を区別しない場合は、通信装置1と呼称する。
【0014】
セキュリティ装置2Aおよびセキュリティ装置2Bは、ICカードやSIMカード、組み込みセキュリティチップ等、決済処理を安全に行うための秘密情報を格納しておくための装置である。例えば、電子マネーに関する情報が記憶されている。以下、セキュリティ装置2Aとセキュリティ装置2Bを機能的に区別しない場合は、セキュリティ装置2と呼称する。
【0015】
また、図1の例では、セキュリティ装置2は通信端末1の外部装置として接続されて用いられるように記載しているが、これに限定するものではない。セキュリティ装置2は、通信端末1の内部に差し込んで使用するものであっても良いし、通信端末1と一体とし、通信端末1の構成の一部として設けるようにしても良い。構成の一部として設ける場合には、ハードウェアとして設けずにソフトウェアとして所定のモジュールに記憶するようにしてもよい。
【0016】
サーバ3は、例えば電子マネーの運営会社のサーバであり、インターネットなどのネットワーク93を介して、通信装置1A及び1Bとネットワーク通信を行う機能を有する。具体的には、サーバ3と通信装置1は、ネットワーク90Aあるいは90Bと、ネットワーク93を経由して通信を行う。91Aは、ネットワーク90Aを介して通信装置1Aとサーバ3がやり取りを行うデータを模式的に示している。同様に、91Bはネットワーク90Bを介して通信装置1Bとサーバ3がやり取りを行うデータを示している。92は、通信端末1Aと通信端末1BがP2P通信によってやり取りを行うコマンドデータを示している。
【0017】
なお、図1の例では、ネットワーク90Aとネットワーク90Bは異なるネットワークとして記載しているが、同一のネットワークであってもよい。以下、ネットワーク90Aとネットワーク90Bを区別しない場合はネットワーク90と呼称する。同様に、以下、データ91Aとデータ91Bを区別しない場合はデータ91と呼称する。
【0018】
ネットワーク90とネットワーク93は、例えばルータや中継サーバなどのゲートウェイで接続されている。また、ネットワーク93は、ネットワーク90と同一のネットワークであってもよい。
【0019】
通信装置1は、データ格納メモリ10と、プログラム格納メモリ11と、演算処理部12と、ネットワーク通信部13と、近接通信部14と、セキュリティ装置通信部15とを有しており、これらが通信用バスなどで相互に接続されている。
【0020】
データ格納メモリ10は、通信装置1が処理を行うために必要なデータを格納するためのメモリであり、半導体メモリやハードディスク等から構成される。プログラム格納メモリ11は、通信装置1が処理を行うための制御プログラムを格納し、半導体メモリやハードディスク等から構成される。演算処理部12は、通信装置1全体の制御を司り、プログラム格納メモリ11に格納しているプログラムを実行して処理を行う。演算処理部12としては、例えばマイクロプロセッサを用いる。なお、データ格納メモリ10は、個別の構成に限らず、構成の一部または全部が、プログラム格納メモリ11、あるいは演算処理部12などの、他のモジュールの中に含まれていてもよい。プログラム格納メモリ11も同様に、個別の構成に限らず、構成の一部または全部が、データ格納メモリ10、あるいは演算処理部12などの、他のモジュールの中に含まれていてもよい。
【0021】
ネットワーク通信部13は、通信装置1がサーバ3などの外部機器と、ネットワーク90を介してネットワーク通信を行うためのモジュールである。具体的には、ネットワーク通信部13は、携帯電話網や、無線通信・有線通信を介したインターネット、電話回線網、光通信網などを介して通信を行うモジュールであり、ここでは、近接通信を除いた広義での通信手段を意味するものとする。
【0022】
近接通信部14は、通信装置1が近距離のデータ通信を行うためのモジュールである。近接通信とは、例えばNFCやFeliCa(登録商標)、BrueTooth(登録商標)、TransferJET(登録商標)、赤外線などである。しかし、これらの例に限定するものではなく、近接通信部14は、P2P通信あるいは機器間通信を行うためのモジュールであれば良い。なお。近接通信部14は1つのみに限らず、通信装置の内部に複数種類存在してもよい。
【0023】
セキュリティ装置通信部15は、通信装置1がセキュリティ装置2とデータのやりとりを行うためのものであり、例えば接触ICカード用の通信規格であるISO/IEC7816に則った通信を行うモジュールなどが用いられる。なお、セキュリティ装置2が通信装置1の内部に備えられ、データバス等で他のモジュールと接続されている場合等においては、この構成を省略することができる。
【0024】
セキュリティ装置2は、データ格納メモリ20と、通信部21とを有しており、これらが通信用バスなどで相互に接続されている。なお、セキュリティ装置2の構成要素を図1に記載の構成のみに限定するものではなく、例えばセキュリティ装置2全体の制御を司るためのモジュールなどが存在しても良い。
【0025】
データ格納メモリ20は、セキュリティ装置1が処理を行うために必要なデータを格納するためのメモリであり、半導体メモリやハードディスク等から構成される。通信部21は、セキュリティ装置2が通信装置1などの外部装置とデータのやりとりを行うためのモジュールであり、例えば接触ICカード用の通信規格であるISO/IEC7816に則った通信を行う。なお、セキュリティ装置2が通信装置1の内部備えられ、データバス等で他のモジュールと接続されている場合等においては、通信部21は省略することができる。また、このような場合、データ格納メモリ20を別体として設けずに、データ格納メモリ10等の他の構成に含まれるようにしても良い。
【0026】
データ格納メモリ20は、固有ID200と、サーバ認証鍵201と、P2P認証鍵202を有する。なお、これらデータに加えて他のデータを格納してもよい。
【0027】
固有ID200は、セキュリティ装置2ごとに重複することなく割り振られたID情報である。よって、セキュリティ装置2Aの固有ID200Aと、セキュリティ装置2Bの固有ID200Bは、異なるものとなる。
【0028】
サーバ認証鍵201は、通信装置1を介してセキュリティ装置2とサーバ3とが、互いに認証を行うための鍵情報である。このサーバ認証鍵201は、共通鍵暗号方式に則った鍵情報でもよいし、公開鍵暗号方式に則った鍵情報でもよい。また、サーバ認証鍵201は、例えば処理や機能ごとに認証鍵を設けたり、所定の通信のみに有効なセッション鍵を設けたりと、複数種類の認証鍵をデータ格納メモリ20に格納するようにしてもよい。このような場合、公開鍵と秘密鍵を含む複数の認証鍵を格納し、処理や機能、所定の通信ごとに複数の認証鍵のうちの1つあるいは2つ以上を組み合わせて用いるようにしてもよい。
【0029】
P2P認証鍵202は、通信装置1を介してセキュリティ装置2と他のセキュリティ装置2との間で認証を行うための鍵情報である。P2P認証鍵202は、共通鍵暗号方式に則った鍵情報でもよいし、公開鍵暗号方式に則った鍵情報でもよい。例えば共通鍵暗号方式であれば、セキュリティ装置2AのP2P認証鍵202Aと、セキュリティ装置2BのP2P認証鍵202Bは、同一の値になる。P2P認証鍵202は、サーバ認証鍵201と同様、複数種類の認証鍵をデータ格納メモリ20に格納し、処理や機能、所定の通信ごとに複数の認証鍵のうちの1つあるいは2つ以上を組み合わせて用いるようにしても良い。
【0030】
次に、サーバ3について説明を行う。図1の例にはデータ格納メモリ30のみを記載しているが、サーバ3の構成をこれに限定するものではなく、例えばネットワーク通信によりデータを受信するためのモジュールや、サーバ3全体の制御を司るためのモジュールなどを有しているものとする。
【0031】
データ格納メモリ30は、サーバ3が処理を行うために必要なデータを格納するためのメモリであり、半導体メモリやハードディスク等から構成される。データ格納メモリ30には、固有ID300と、サーバ認証鍵301と、管理情報303を有する。
【0032】
固有ID300は、セキュリティ装置2の固有ID200と対応した情報である。サーバ認証鍵301は、サーバ3とセキュリティ装置2とが、互いに認証するための鍵情報である。このサーバ認証鍵301とセキュリティ装置2に記憶されたサーバ認証鍵201を用いて認証が行われ、サーバ認証鍵201と同様、共通鍵暗号方式や公開鍵暗号方式に則った鍵情報であり、処理等に応じて複数格納されていてよい。例えば共通鍵暗号方式を用いる場合、サーバ認証鍵301Aとセキュリティ装置2Aのサーバ認証鍵201A、サーバ認証鍵301Bとセキュリティ装置2Aのサーバ認証鍵201Bは、それぞれ同じものになる。
【0033】
管理情報303は、例えば電子マネーの金額の情報や、取引上限額、セキュリティ装置2の有効期限など、決済に必要な情報であり、決済や認証の結果に応じて適宜書き換えられるものとする。
【0034】
データ格納メモリ30は、固有ID300とサーバ認証鍵301と管理情報303とを、セキュリティ装置ごとに対応付けて記憶する。図1の例では、セキュリティ装置2Aとセキュリティ装置2Bに対応した2組の情報が記憶されているが、これに限定するものではなく、3組以上の情報を記憶するようにしても良い。また、記憶する情報の種類を固有ID300等に限定するものではなく、セキュリティ装置2が接続される通信装置1の電話番号やアドレス等の識別情報やその他の情報を追加して記憶するようにしても良い。
【0035】
図2に、通信装置間でP2P通信による決済を行う際の処理フローの一例を示す。図2では、通信装置1Aから通信装置1Bに金銭の支払いを行う場合を例にしている。すなわち、通信装置1Aが金銭を支払うICカード側の役割をし、通信装置1Bが金銭を支払われるICカードリーダライタ(以下R/W)側の役割をし、近接通信部14Aと近接通信部14Bを介してコマンドの送受信を行うことにより決済処理を実行する。なお、コマンドの送受信は、R/W側となる通信装置1Bが主導となってもよいし、相互に半二重通信等で送りあってもよいし、ICカード側となる通信装置1Aが主導となっても良い。
【0036】
この処理フローは、例えば通信装置1A及び1Bのユーザインタフェースがそれぞれのユーザにより操作され、決済処理のためのアプリケーションが起動されることにより、スタートする。
【0037】
なお、図2の例では、フローの簡略化のため、通信装置1Aとセキュリティ装置2A、通信装置1Bとセキュリティ装置2Bとの間の通信についての図示を省略している。また、サーバ3における処理についても省略し、別途、図5に処理フローを示す。
【0038】
通信装置1Aと通信装置1Bは、セキュリティ装置2Aとセキュリティ装置2BからP2P認証鍵202AとP2P認証鍵202Bを読み出し、これら認証鍵を用いて相互認証処理を行う(S100)。このとき、後の通信を保護するためのセッション鍵などを生成する処理などを合わせて行ってもよい。
【0039】
S100において認証が成功した場合、通信装置1Bは通信装置1Aに対して支払いを要求する支払い要求コマンドを送信する(S101)。なお、図示を省略しているが、コマンドを送出する前に、通信装置1Bのユーザにより、ユーザインタフェースを介して金額情報等が入力されており、支払い要求コマンドには金額情報が含まれているものとする。
【0040】
通信装置1Aは、支払い要求コマンドを受信すると、支払い要求を受諾するか判定を行い、支払い要求を受諾する場合、その旨を示す受諾コマンドを通信装置1Bに送信する(S102)。受諾コマンドは支払い要求コマンドに対するコマンドレスポンスとして返されてもよいし、改めて通信装置1Aの主導で送出されてもよい。
【0041】
支払い要求を受諾するか否かの判定は、例えば、支払い要求コマンドに含まれる金額情報と、通信装置1Aのユーザによりユーザインタフェースを介して予め設定された金額とを比較し、相違ないかを確認することにより判定を行う。あるいは、支払い要求コマンドに含まれる金額情報とともに支払いを受諾するか否かの選択を求めるメッセージを通信装置1Aの表示画面(図示せず)に表示し、ユーザにより受諾が選択されたか否かにより判定を行うようにしても良い。
通信装置1Bは受諾コマンドを受信すると、決済処理を開始する。具体的には、まず通信装置1Bはネットワーク通信部13Bによりネットワーク90Bを介してサーバ3に接続可能かどうかを判定する(S1000)。この判定処理は、ネットワーク90Bへの接続状況以外に、通信装置1Bに通信を行うに十分な電池残量があるか否かや、契約されている通信料金など、複数の条件を組み合わせて判定を行っても良い。
【0042】
接続可能と判定した場合、ネットワーク90Bに接続し、サーバ3での決済処理を要求する決済処理コマンドをサーバ3に送信し、サーバ3から決済処理結果コマンドを受信する(S1010)。一方、接続できないと判定した場合、通信装置1Bは、通信装置1Aに対して、決済要求コマンドをサーバ3に代理送信するよう要求する代理送信要求コマンドを送信する(S1020)。決済要求コマンドおよび代理送信要求コマンドの構成については、図3を用いて後述する。
【0043】
ネットワーク通信部13A及びネットワーク通信部13Bは、異なる種類の方式による通信を実行する通信モジュールであるため、通信装置1Bがサーバ3に接続できない場合にも、通信装置1Aは接続できる場合がある。本例のように、通信装置1Aに対して代理送信要求コマンドを送信することにより、決済処理の遅延が発生することを抑制することができる。なお、ネットワーク通信部13A及びネットワーク通信部13Bが同じ種類の通信方式を用いており、同じ建物内に通信装置1Aと通信装置1Bが存在する場合であっても、位置が少しずれたりすることにより通信環境に差が出る場合がある。そのため、ネットワーク通信部13A及びネットワーク通信部13Bが同じ通信方式を用いている場合にも、本例のように処理するようにしても良い。
【0044】
通信装置1Aは代理送信要求コマンドを受信すると、ネットワーク通信部13Aによりネットワーク90Aを介してサーバ3に接続可能かどうかを判定し、接続可能と判定すると、決済代理要求コマンドをサーバ3に送信する(S1030)。決済代理要求コマンドの構成については、図4を用いて後述する。なお、S1020において代理送信要求コマンドを送信する前に、通信装置1Aに対し、通信装置1Aのネットワーク接続状況を問い合わせるコマンドを送出し、接続が可能であることを示すコマンドを受信した後に送信するようにしてもよい。
【0045】
通信装置1Aは、サーバ3から結果代理通知コマンドを受信すると、サーバ3における決済結果を示す決済結果データを抽出し、決済結果データを含めた結果転送コマンドを通信装置1Aに送信する(S1040)。なお、結果代理通知コマンドの構成については図6を用いて後述する。
【0046】
通信装置1Bは結果転送コマンドを受信すると、決済結果データを抽出し(S1050)、決済結果を通知する通知コマンドを通信装置1Aに送出する。
【0047】
図3に代理送信要求コマンドの構成の一例を示す。
【0048】
代理送信要求コマンドは、P2P通信用データ400と、決済要求コマンド401から構成される。P2P通信用データ400は、例えば通信装置1Bが通信装置1Aとの間でP2P通信を行うための接続情報や、通信装置1Bが通信装置1Aに対してサーバ3への決済情報データの代理送信を要求していることを示す情報などが含まれている。なお、このP2P通信用データは、例えばヘッダやトレーラとして決済処理コマンド401に付加される。
【0049】
決済処理コマンド401は、サーバ3に接続するためのネットワーク通信用データ402、セキュリティ装置2Bの固有ID200Bに対応したIDデータ403、暗号化された決済情報データ405、改竄防止用の署名データ406などを含む。S1010では、このコマンドが通信装置1Bからサーバ3に送信される。
【0050】
ネットワーク通信用データ402は、通信装置1Bがサーバ3に接続するための接続情報や、決済処理を要求していることを示す情報などが含まれている。
【0051】
暗号化された決済情報データ405は、決済情報データ404を、サーバ認証鍵201Bで暗号化されたものである。このように、サーバ認証鍵201Bで暗号化することにより、通信装置1Aと通信装置1B間のP2P通信が盗聴された場合であっても、決済情報データが第三者により読取られることを防止することができる。また、仮に通信装置1Aのユーザーが金額等を変更しようとした場合であっても、通信装置1Aでは復号化することができないため、データの改竄を防止することができる。
【0052】
署名データ406は、ネットワーク通信用データ402、IDデータ403、暗号化された決済情報データ404などの情報が改竄されていないかどうか検出するために用いられるデータである。署名データ406は、例えばネットワーク通信用データ402等からハッシュ値を取得し、サーバ認証鍵201Bにより暗号処理を施したものである。このように、署名データ406を付加することにより、たとえ暗号化された決済情報データ404が復号化されて改竄が行われたり、IDデータ403等が変更されてしまった場合でも、改竄があったことを検出することができるため、不正な決済処理が行われることを防止することができる。
【0053】
決済情報データ404は、通信装置1Aから通信装置1Bに支払われる決済金額を示す金額データ407と、セキュリティ装置1Aの固有ID200Aに対応するIDデータ408、セキュリティ装置2Bの固有ID200Bに対応するIDデータ409、通信端末1Aが決済を承諾したことを証明する証明データ410を有する。証明データ410は、S102において送信された受諾コマンドから抽出されたものであり、支払いを承諾した金額を示す情報も含まれる。なお、証明データ410は、セキュリティ装置2Aにより作成される際に、サーバ認証鍵201Aで暗号化されている。このようにすることにより、通信装置1Aと通信装置1B間のP2P通信が傍受され、受諾コマンドが第三者により取得されてしまった場合でも、データの悪用を防止することができる。また、通信装置1Bにおいて、証明データ410の内容が書き換えられたりするなどの問題発生を防止することができる。
【0054】
なお、図3は一例であり、代理送信要求コマンドや決済要求コマンドに、誤り検出をするためのデータなど他のデータを付加しても良いし、追加の暗号処理を施しても良い。また、決済情報データ404の暗号化や署名データ406の作成に、サーバ認証鍵201を用いる代わりに、サーバ認証鍵201を用いて作成されたセッション鍵などの派生鍵を用いてもよい。
【0055】
図4は、決済代理要求コマンドの構成の一例を示す。
【0056】
決済代理要求コマンドは、サーバ3に接続するためのネットワーク通信用データ500、セキュリティ装置2Aの固有ID200Aに対応したデータ501、決済要求コマンド401、改竄防止用の署名データ503などから構成される。
【0057】
ネットワーク通信用データ500は、サーバ3の接続用宛先を示すデータなど、通信装置1Aがサーバ3に接続するため接続情報や、決済要求コマンドを代理送信することを示す情報などが含まれている。
【0058】
署名データ503は、例えばネットワーク通信用データ500等からハッシュ値を取得し、サーバ認証鍵201Aで暗号化することにより作成される。また、決済処理コマンド401は、決済代理要求コマンドに含められる際に、サーバ認証鍵201Aにより暗号化されるようにしても良い。このように、サーバ認証鍵201Aで暗号化し、署名データ503を付加することにより、通信装置1Aとサーバ3との通信が傍受された場合であっても、IDデータ403等が第三者に取得されることを防止するとともに、仮にデータが変更されてしまった場合にも改竄に気がつくことができるため、不正な決済処理を防止することができる。
【0059】
なお、図4は一例であり、決済代理要求コマンドに、誤り検出をするためのデータなど他のデータを付加しても良いし、追加の暗号処理を施しても良い。また、暗号化等にサーバ認証鍵201を用いる代わりに、サーバ認証鍵201を用いて作成されたセッション鍵などの派生鍵を用いてもよい。
【0060】
図5に、サーバ3が通信装置1Aから送信された決済代理要求コマンドを受信した場合に実行する決済処理の一例を示す。
【0061】
サーバ3は、通信装置1Aから決済代理要求コマンドを受信すると(S2000)、コマンドに含まれるIDデータ501とデータ格納メモリ30に格納された固有ID300と照合し、対応する固有ID300Aを抽出し、固有ID300Aと対応付けられたサーバ認証鍵301Aを選択する(S2010)。IDデータ501に対応する固有ID300、サーバ認証鍵301がデータ格納メモリ30に記憶されていない場合には、決済処理を停止する。なお、受信した決済代理要求コマンドが暗号化されている場合には、選択したサーバ認証鍵301Aを用いて復号化する。
【0062】
続いて、サーバ3は、署名データ503を用いて決済代理要求コマンドが改竄されていないかどうかを検証する(S2020)。サーバ3は、例えば、決済代理要求コマンドに含まれるネットワーク通信用データ500等と選択したサーバ認証鍵301Aを用いて新たに署名データを生成し、生成した署名データを署名データ503を照合し、一致することを確認することで、改竄されていないかどうかの検証を行う。署名データが一致しないなど、改竄が行われている可能性があると判断した場合は、決済処理を中止する。これにより、不正な決済が行われることを防止することができる。
【0063】
決済代理要求コマンドに含まれる情報が改竄されていないと判断すると、サーバ3は、決済処理コマンド401に含まれるIDデータ403を、データ格納メモリ30に格納された固有ID300と照合し、対応する固有ID300Bを抽出し、固有ID300Bと対応付けられたサーバ認証鍵301Bを選択する(S2030)。
【0064】
署名406データを用いて決済処理コマンドが改竄されていないかどうかを検証した後、暗号化された決済情報データ405をサーバ認証鍵301Bを用いて決済情報データ404に復号化する(S2040)。なお、改竄検証は、前述のように、例えばネットワーク通信用データ402等と選択したサーバ認証鍵301Bを用いて新たに署名データを生成し、生成した署名データを署名データ406を照合することにより行う。
【0065】
サーバ3は、決済情報データ404に含まれるIDデータ408とIDデータ409を読出し、これらデータがIDデータ403およびIDデータ501と一致するかどうかを確認する(S2050)。仮に、IDデータが一致しない場合には、データ改竄が行われている可能性あるとして、決済処理を停止する。なお、S2030においてIDデータ403に対応する固有ID300及びサーバ認証鍵301がデータ格納メモリ30に記憶されていない場合、S2040において改竄が行われている可能性があると判断した場合にも、決済処理を停止する。
【0066】
サーバ3は、決済情報データ404に含まれる証明データ410を、サーバ認証鍵301Aで復号化し、セキュリティ装置2Aがセキュリティ装置2Bによる支払い要求を受諾したことを確認する(S2060)。そして、金額データ407に基づき決済処理を行い、管理情報303Aと管理情報303Bをそれぞれ更新する。例えば、管理情報303Aに含まれる電子マネー情報から、金額データ407に示された所定の額を差し引くと共に、管理情報303Bに含まれる電子マネーの情報に所定の額を足す、といった処理を行うことにより管理情報300の更新を行う。なお、電子マネー情報に限らず、取引の履歴など各種情報を更新するようにしても良い。
【0067】
サーバ3は、決済処理を行うと、通信装置1Aから通信装置1Bへの支払いが完了したことを示す決済結果データを含む結果代理通知コマンドを作成し、通信装置1Aに送信する(S2080)。
【0068】
なお、サーバ3が、図2のS1010において通信装置1Bから送信された決済要求コマンドを受信した場合には、図5のS2030〜S2070を実行した後、結果通知コマンドを作成し、通信装置1Bに送信する。この場合、通信装置1Aを介さずに、通信装置1Bとサーバ3との間で直接通信を行っており、改竄の可能性が低いため、S2050を省略しても良い。また、S2050を実行する場合には、IDデータ403とIDデータ409との比較を行う。
【0069】
図6に、結果代理通知コマンドの構成の一例を示す。
【0070】
サーバ3は、固有ID300Bに対応したIDデータ608と、決済が行われたか否かや決済した金額を示す結果データ609とを有する決済結果データ607を作成し、サーバ認証鍵301Bで暗号化する。そして、暗号化された決済結果データ605に、サーバ認証鍵301Bにより生成された改竄防止用の署名データ606を付加したデータ603を生成する。なお、決済要求コマンドを受信した場合には、このデータ603にネットワーク通信用データを付加し、結果通知コマンドとして通信装置1Bに送信する。
【0071】
このように、サーバ認証鍵301Bによる暗号化や、署名データ606の付加を行うことにより、第三者や通信装置1により決済結果データ607が読取られたり、改竄されたりすることを防止するとともに、たとえ改竄されてしまった場合にも、それに気がつくことができるため、サーバ3に決済処理の修正を要求するなど、早急に対処することができる。
【0072】
サーバ3は、生成したデータ603をサーバ認証鍵301Aで暗号化し、暗号化データ601に、通信装置1Aに接続するためのネットワーク通信用データ600と、サーバ認証鍵301Aにより生成された改竄防止用の署名データ602を付加し、結果代理通知コマンドを生成する。なお、ネットワーク通信用データ600には、通信装置1Aの宛先などの情報を示す接続情報や、決済代理要求コマンドへのレスポンスであることを示す情報などが含まれている。
【0073】
このように、サーバ認証鍵301Aによる暗号化や、署名データ602の付加を行うことにより、ネットワーク通信中に第三者によりデータ603が読取られたり、改竄されたりすることを防止するとともに、たとえ改竄されてしまった場合には、それに気がつくことができるため、サーバ3や通信装置1Bに通知するなど、早急に対処することができる。
【0074】
通信装置1Aは、結果代理通知コマンドを受信すると、署名データ602を用いて改竄されていないことを検証した後、セキュリティ装置2Aから取得したサーバ認証鍵201Aを用いて、暗号化されたデータ601をデータ603に復号化する。
【0075】
通信装置1Aは、データ603にP2P通信用データを付加し、決済結果を転送する決済転送コマンドを生成し、通信装置1Bに送信する。
【0076】
通信装置1Bは、決済転送コマンドを受信すると、署名データ606を用いて改竄されていないことを検証した後、セキュリティ装置2Bから読み出したサーバ認証鍵201Bを用いて、暗号化された決済結果データ605を決済結果データ607に復号化する。
【0077】
そして、通信装置1Bは、セキュリティ装置2Bから読み出した固有ID200BとIDデータ608とを照合し、一致することを確認する。一致確認ができた場合、決済結果データ609を用いて、通信装置1Aに決済結果を通知する通知コマンドを生成する。 以上説明したように、本例によれば、R/W側となる通信装置がサーバと接続できない場合であっても、セキュリティを保ちつつ、決済処理の遅延を防止することができる。なお、以上、セキュリティ装置2からサーバ認証鍵201を読み出し、通信装置1においてデータの暗号化や復号化を行う場合を例に説明をしたが、これに限定するものではない。セキュリティ装置2から通信装置1へサーバ認証鍵201を送信する際に第三者に読取られることを防止するために、セキュリティ装置2の演算処理部(図示せず)において暗号化処理および復号化処理を行い、処理結果を通信装置1に送信するようにしても良い。
【0078】
また、サーバ3に決済処理を求めるコマンドを送信できない場合に、他の装置により代理で送信する場合について説明したが、決済処理以外の処理をサーバに求める場合にも、本発明を適用しても良い。
【0079】
例えば、セキュリティ装置2にP2P認証鍵202が保存されていない場合に、通信装置1間で相互認証を行うために、固有ID200に対応するIDデータを交換し、受信したIDデータを用いてサーバ3に相手装置が信用できるか否かの判定を求める認証要求コマンドを送信することが考えられる。なお、IDデータを相手装置に送信する際、改竄防止用の署名データを付けて送付することが望ましい。
【0080】
通信装置1Bがサーバ3に接続できる場合、受信したIDデータや署名データをサーバ認証鍵201Bで暗号化する。そして、図3に示した決済要求コマンドと同様、暗号化された情報に、ネットワーク通信用データ402とIDデータ403と署名データ406を付加し、認証要求コマンドを生成し、サーバ3に送信する。
【0081】
一方、通信装置1Bがサーバ3に接続できない場合、認証要求コマンドにP2P通信用データを付加した代理送信要求コマンドを生成し、通信装置1Aに送信する。通信装置1Aは、代理送信要求コマンドから認証要求コマンドを抽出し、図4に示した決済代理要求コマンドと同様に、ネットワーク通信用データ500とIDデータ501と署名データ503を付加し、認証代理要求コマンドを生成し、サーバ3に送信する。
【0082】
サーバ3は、図5に示した処理フローと同様、サーバ認証鍵による復号化や署名データを用いた改竄検証を行った上で、通信装置1Aが信用できるか否かの判定結果を示した認証結果データを作成する。図6の例と同様、認証結果データをサーバ認証鍵301Bで暗号化し、IDデータ604と署名データ606を付加したデータ603を生成する。そして、データ603をサーバ認証鍵301Aで暗号化し、ネットワーク通信用データ600と署名データ602を付加した結果代理通知コマンドを生成し、通信装置1Aに送信する。
【0083】
通信装置1Aは、結果代理通知コマンドを受信すると、復号化および改竄検証をし、データ603を抽出し、P2P通信用データ等を付加して通信装置1Bに送信する。
【0084】
このように、サーバ認証鍵による暗号化や署名データによる改竄検証を行うことにより、通信装置1Bはサーバ3に接続できない場合であっても、セキュリティを保持しつつ、認証結果データを取得することができる。なお、この場合、ネットワーク通信用データ402には、決済処理を求めることを示す情報の代わりに認証を求めることを示す情報が含まれ、ネットワーク通信用データ500には、決済要求コマンドを代理送信することを示す情報の代わりに認証要求コマンドを代理送信することを示す情報が含まれ、ネットワーク通信用データ600には決済代理要求コマンドへのレスポンスであることを示す情報の代わりに認証代理要求コマンドへのレスポンスであることを示す情報が含まれる。また、ハッシュ値を取得するもととなる情報が異なるため、署名データ406、署名データ503、署名データ606及び署名データ602の値も異なるものとなる。
【0085】
このように、本例によれば、サーバに接続できない場合であっても、セキュリティを保持しつつ、サーバに処理を求めるとともに、その処理結果を取得することができる。これにより、サーバに接続できないことによる処理の遅延が発生することを抑制することができる。
【符号の説明】
【0086】
1…通信装置、2…セキュリティ装置、3…サーバ、10…データ格納メモリ、11…プログラム格納メモリ、12…演算処理部、13…ネットワーク通信部、14…近接通信部、15…セキュリティ装置通信部、20…データ格納メモリ、21…通信部、30…データ格納メモリ

【特許請求の範囲】
【請求項1】
金銭を支払われるカードリーダライタ側の役割をし、金銭を支払うカード側の役割をする他の通信装置との間で通信を行い、決済処理を行うサーバに決済を要求する通信装置であって、
前記サーバとネットワークを介して通信を行う第1の通信手段と、
前記他の通信装置と近接通信を行う第2の通信手段と、
前記サーバに保存された認証鍵と対応した認証鍵を取得する取得手段と、
前記第1の通信手段と前記第2の通信手段と前記取得手段とを制御する制御手段と、を備え、
前記第2の通信手段により前記他の通信装置に支払いを求める支払要求を送信し、前記他の通信装置から前記支払要求を受諾することを示す受諾情報を受信した場合に、前記第1の通信手段により前記サーバとの間で通信を行うことができないとき、前記制御手段は、
前記受諾情報および前記他の通信装置から支払われる金額を示す金額情報を含めた決済情報データを前記取得手段により取得された認証鍵で暗号化し、前記暗号化された決済情報データを含めた決済要求コマンドに前記決済要求コマンドの代理送信を求めるデータを付加し、前記第2の通信手段により前記他の通信装置に送付するように制御することを特徴とする通信装置。
【請求項2】
前記制御手段は、前記サーバでの決済処理の結果を示す決済結果データを含む結果転送コマンドを前記他の通信装置から受信すると、前記認証鍵を用いて復号化することにより前記決済結果データを抽出し、前記決済結果データを用いて前記他の通信装置に決済結果を通知する通知情報を作成し、前記通知情報を前記第2の通信手段により送信するように制御することを特徴とする請求項1に記載の通信装置。
【請求項3】
前記取得手段はセキュリティ装置から前記認証鍵を取得し、
前記セキュリティ装置は前記認証鍵とともに前記セキュリティ装置を識別する固有IDを格納し、
前記決済要求コマンドは、前記暗号化された決済情報データとともに、前記取得手段により取得した前記固有IDと、前記決済要求コマンドに含まれるデータが改竄されていないかどうかを検出するための署名データとを含み、
前記署名データは、前記暗号化された決済情報データと前記固有IDからハッシュ値を取得し、前記認証鍵により暗号化されたものであることを特徴とする請求項1又は2に記載の通信装置。
【請求項4】
ネットワークを介してサーバと通信を行う第1の通信手段と、
他の通信装置と近接通信を行う第2の通信手段と、
前記サーバに保存された認証鍵と対応した認証鍵を取得する取得手段と、
前記第1の通信手段と前記第2の通信手段と前記取得手段とを制御する制御手段と、を備え、
前記制御手段は、前記第1の通信手段により前記サーバとの間で通信を行うことができない場合、前記サーバでの所定の処理に用いられる処理情報データを前記取得手段により取得された認証鍵で暗号化し、前記暗号化したデータを含めた処理要求コマンドに前記処理要求コマンドの代理送信を求めるデータを付加し、前記第2の通信手段により前記他の通信装置に送付し、前記サーバでの処理の結果を示す処理結果データを含む結果転送コマンドを前記他の通信装置から受信すると、前記認証鍵を用いて復号化することにより前記処理結果データを抽出することを特徴とする通信装置。
【請求項5】
金銭を支払われるカードリーダライタ側の役割をする第1の通信装置と、金銭を支払うカード側の役割をする第2の通信装置と、決済処理を行うサーバとを備えた処理システムであって、
前記第1の通信装置は、前記サーバとネットワークを介して通信を行う手段と、前記第2の通信装置と近接通信を行う手段と、前記サーバに保存された第1の認証鍵と対応した認証鍵を第1のセキュリティ装置から取得する手段とを備え、前記第2の通信装置に支払いを求める支払要求を送信した後に前記第2の通信装置から前記支払要求を受諾することを示す受諾情報を受信した場合に、前記サーバとの間で通信を行うことができないとき、前記受諾情報と前記第2の通信装置から支払われる金額を示す金額情報と前記第1のセキュリティ装置を識別する第1の識別情報とを含む決済情報データを前記第1のセキュリティ装置から取得された認証鍵で暗号化し、前記暗号化された決済情報データを含めた決済要求コマンドに前記決済要求コマンドの代理送信を求めるデータを付加した代理送信要求コマンドを前記第2の通信装置に送付するように制御し、
前記第2の通信手段は、前記サーバとネットワークを介して通信を行う手段と、前記第2の通信装置と近接通信を行う手段と、前記サーバに保存された第2の認証鍵と対応した認証鍵を第2のセキュリティ装置から取得する手段とを備え、前記代理送信要求コマンドを受信すると、前記代理送信要求コマンドに含まれる前記決済要求コマンドを前記第2のセキュリティ装置から取得された認証鍵で暗号化し、前記暗号化したデータに前記第2のセキュリティ装置を識別する第2の識別情報を付加した代理決済要求コマンドを前記サーバに送信し、
前記サーバは、前記第1の識別情報に対応する情報に前記第1の認証鍵と前記第1の通信装置のユーザーが所持する金額に関する第1の金額管理情報とを関連付けて記憶し、前記第2の識別情報に対応する情報に前記第2の認証鍵と前記第2の通信装置のユーザーが所持する金額に関する第2の金額管理情報とを関連付けて記憶するメモリを備え、前記代理決済要求コマンドを受信すると、前記代理決済要求コマンドに含まれる前記第2の識別情報に関連付けて記憶された前記第2の認証鍵を前記メモリから読み出し、前記第2の認証鍵を用いて前記決済要求コマンドを復号化し、前記決済要求コマンドに含まれる前記第1の識別情報に関連付けて記憶された前記第1の認証鍵を前記メモリから読み出し、前記第1の認証鍵を用いて前記決済情報データを復号化し、復号化された前記決済情報データを用いて前記メモリに記憶された前記第1の金額管理情報と前記第2の金額管理情報を変更することにより決済処理を行うことを特徴とする処理システム。
【請求項6】
第1の通信装置と第2の通信装置とサーバとを備えた処理システムであって、
前記第1の通信装置は、前記サーバとネットワークを介して通信を行う手段と、前記第2の通信装置と近接通信を行う手段と、前記サーバに保存された第1の認証鍵と対応した認証鍵を第1のセキュリティ装置から取得する手段とを備え、前記サーバとの間で通信を行うことができない場合に前記サーバでの所定の処理に用いられる処理情報と前記第1のセキュリティ装置を識別する第1の識別情報とを含む処理情報データを前記第1のセキュリティ装置から取得された認証鍵で暗号化し、前記暗号化したデータを含めた処理要求コマンドに前記処理要求コマンドの代理送信を求めるデータを付加した代理送信要求コマンドを前記第2の通信装置に送付するように制御し、
前記第2の通信手段は、前記サーバとネットワークを介して通信を行う手段と、前記第2の通信装置と近接通信を行う手段と、前記サーバに保存された第2の認証鍵と対応した認証鍵を第2のセキュリティ装置から取得する手段とを備え、前記代理送信要求コマンドを受信すると、前記代理送信要求コマンドに含まれる前記処理要求コマンドを前記第2のセキュリティ装置から取得された認証鍵で暗号化し、前記暗号化したデータに前記第2のセキュリティ装置を識別する第2の識別情報を付加した代理処理要求コマンドを前記サーバに送信し、
前記サーバは、前記第1の識別情報に対応する情報に前記第1の認証鍵を関連付けて記憶し、前記第2の識別情報に対応する情報に前記第2の認証鍵を関連付けて記憶するメモリを備え、前記代理処理要求コマンドを受信すると、前記代理処理要求コマンドに含まれる前記第2の識別情報に関連付けて記憶された前記第2の認証鍵を前記メモリから読み出し、前記第2の認証鍵を用いて前記処理要求コマンドを復号化し、前記処理要求コマンドに含まれる前記第1の識別情報に関連付けて記憶された前記第1の認証鍵を前記メモリから読み出し、前記第1の認証鍵を用いて前記処理情報データを復号化し、復号化された前記処理情報データを用いて処理を行うことを特徴とする処理システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2011−118789(P2011−118789A)
【公開日】平成23年6月16日(2011.6.16)
【国際特許分類】
【出願番号】特願2009−277143(P2009−277143)
【出願日】平成21年12月7日(2009.12.7)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.GSM
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】