(57)【要約】      （修正有）【課題】モバイルデバイスで用いられるアドバンスド記憶鍵をセキュアエレメントなしで生成する方法を提供する。【解決手段】方法は、モバイルデバイスのメモリに少なくとも、モバイルデバイスに関連付の装置情報と、第１プログラムに関連付のインスタンス識別子を含むプログラムコードと、第２プログラムに関連付の第１鍵を含むプログラムコードと、モバイルデバイスに関連付のデバイス指紋とを、装置情報に基づいて、第１プログラムに関連付のコード実行で生成することと、ランダム値を、第１プログラムに関連付のコード実行で生成することと、多様値を、生成されたデバイス指紋と生成されたランダム値とインスタンス識別子とに基づいて作ることと、作られた多様値を、第２プログラムに関連付の第１鍵を用いて、第２プログラムに関連付のコード実行で、復号し、記憶鍵を取得することと、を含む。【選択図】図７
2020074566.tif 000002
【特許請求の範囲】
【請求項１】
アドバンスド記憶鍵を作る方法であって、
モバイル通信デバイスのメモリに少なくとも、前記モバイル通信デバイスに関連付けられた装置情報と、第１アプリケーションプログラムに関連付けられたプログラムコードであって少なくともインスタンス識別子を含むプログラムコードと、第２アプリケーションプログラムに関連付けられたプログラムコードであって第１鍵を含むプログラムコードと、を保持することと、
処理デバイスによって、前記モバイル通信デバイスに関連付けられたデバイス指紋を、保持されている前記装置情報に基づいて、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成することと、
前記処理デバイスによって、ランダム値を、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成することと、
前記処理デバイスによって、多様値を、少なくとも生成された前記デバイス指紋と生成された前記ランダム値と前記第１アプリケーションプログラムに関連付けられた前記プログラムコードに含まれる前記インスタンス識別子とに基づいて、作ることと、
前記処理デバイスによって、作られた前記多様値を、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードに保持される前記第１鍵を用いて、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、復号し、記憶鍵を取得することと、を含む方法。
【請求項２】
前記モバイル通信デバイスのローカルデータベースに、保護されたデータを保持することと、
前記処理デバイスによって、前記ローカルデータベースに保持される前記保護されたデータを、前記記憶鍵を用いて暗号化することと、をさらに含む請求項１に記載の方法。
【請求項３】
前記装置情報は、前記モバイル通信デバイスに関連付けられたひとつ以上の一意の識別子を含む請求項１に記載の方法。
【請求項４】
前記ランダム値はランダム数または疑似ランダム数である請求項１に記載の方法。
【請求項５】
前記インスタンス識別子は前記第１アプリケーションプログラムのインスタンスについて一意である請求項１に記載の方法。
【請求項６】
前記第２アプリケーションプログラムは、前記第１鍵を用いてホワイトボックス暗号方式を行うよう構成される請求項１に記載の方法。
【請求項７】
前記第１鍵は動的鍵である請求項１に記載の方法。
【請求項８】
前記メモリに、前記第１アプリケーションプログラムに関連付けられたプログラムデータを保持することと、
前記第１アプリケーションプログラムに関連付けられた前記プログラムデータに、生成された前記ランダム値を格納することと、をさらに含む請求項１に記載の方法。
【請求項９】
前記第２アプリケーションプログラムに関連付けられた前記プログラムコードは、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードに含まれる請求項１に記載の方法。
【請求項１０】
前記第２アプリケーションプログラムは前記第１アプリケーションプログラムの実行可能関数である請求項９に記載の方法。
【請求項１１】
送信デバイスによって、少なくとも生成された前記ランダム値を送信することと、
受信デバイスによって、それぞれが前記記憶鍵を用いて暗号化されているひとつ以上の暗号化パラメータを受信することと、
前記モバイル通信デバイスのローカルデータベースに、受信された前記ひとつ以上の暗号化パラメータを保持することと、をさらに含む請求項１に記載の方法。
【請求項１２】
少なくとも生成された前記ランダム値を送信することは、さらに、前記インスタンス識別子を送信することを含む請求項１１に記載の方法。
【請求項１３】
アドバンスド記憶鍵を作るシステムであって、
モバイル通信デバイスのメモリと、
処理デバイスと、を備え、
前記メモリは、少なくとも、
前記モバイル通信デバイスに関連付けられた装置情報と、
第１アプリケーションプログラムに関連付けられたプログラムコードであって少なくともインスタンス識別子を含むプログラムコードと、
第２アプリケーションプログラムに関連付けられたプログラムコードであって第１鍵を含むプログラムコードと、を保持するよう構成され、
前記処理デバイスは、
前記モバイル通信デバイスに関連付けられたデバイス指紋を、保持されている前記装置情報に基づいて、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成し、
ランダム値を、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成し、
多様値を、少なくとも生成された前記デバイス指紋と生成された前記ランダム値と前記第１アプリケーションプログラムに関連付けられた前記プログラムコードに含まれる前記インスタンス識別子とに基づいて、作り、
作られた前記多様値を、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードに保持される前記第１鍵を用いて、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、復号し、記憶鍵を取得するよう構成されるシステム。
【請求項１４】
保護されたデータを保持するよう構成された前記モバイル通信デバイスのローカルデータベースをさらに備え、
前記処理デバイスはさらに、前記ローカルデータベースに保持される前記保護されたデータを、前記記憶鍵を用いて暗号化するよう構成される請求項１３に記載のシステム。
【請求項１５】
前記装置情報は、前記モバイル通信デバイスに関連付けられたひとつ以上の一意の識別子を含む請求項１３に記載のシステム。
【請求項１６】
前記ランダム値はランダム数または疑似ランダム数である請求項１３に記載のシステム。
【請求項１７】
前記インスタンス識別子は前記第１アプリケーションプログラムのインスタンスについて一意である請求項１３に記載のシステム。
【請求項１８】
前記第２アプリケーションプログラムは、前記第１鍵を用いてホワイトボックス暗号方式を行うよう構成される請求項１３に記載のシステム。
【請求項１９】
前記第１鍵は動的鍵である請求項１３に記載のシステム。
【請求項２０】
前記メモリはさらに、前記第１アプリケーションプログラムに関連付けられたプログラムデータを保持するよう構成され、
前記処理デバイスはさらに、前記第１アプリケーションプログラムに関連付けられた前記プログラムデータに、生成された前記ランダム値を格納するよう構成される請求項１３に記載のシステム。
【請求項２１】
前記第２アプリケーションプログラムに関連付けられた前記プログラムコードは、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードに含まれる請求項１３に記載のシステム。
【請求項２２】
前記第２アプリケーションプログラムは前記第１アプリケーションプログラムの実行可能関数である請求項２１に記載のシステム。
【請求項２３】
生成された前記ランダム値を送信するよう構成された送信デバイスと、
それぞれが前記記憶鍵を用いて暗号化されているひとつ以上の暗号化パラメータを受信するよう構成された受信デバイスと、をさらに備え、
前記処理デバイスはさらに、前記モバイル通信デバイスのローカルデータベースに、受信された前記ひとつ以上の暗号化パラメータを保持するよう構成される請求項１３に記載のシステム。
【請求項２４】
生成された前記ランダム値を送信することは、さらに、前記インスタンス識別子を送信することを含む請求項２３に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本願は３５Ｕ．Ｓ．Ｃ．１１９（ｅ）の下、先に提出された以下の出願の利益を享受する。２０１３年１２月２日に出願された仮特許出願番号６１／９１０，８１９、２０１４年３月１２日に出願された仮特許出願番号６１／９５１，８４２、２０１４年３月１９日に出願された仮特許出願番号６１／９５５，７１６、２０１４年４月１４日に出願された仮特許出願番号６１／９７９，１３２、２０１４年４月１７日に出願された仮特許出願番号６１／９８０，７８４、２０１４年４月１４日に出願された仮特許出願番号６１／９７９，１２２、２０１４年５月１４日に出願された仮特許出願番号６１／９９６，６６５、そして特に２０１４年４月１４日に出願された仮特許出願番号６１／９７９，１１３。これらの出願のそれぞれは、その全体が参照により本明細書に組み入れられる。
【０００２】
本開示は、モバイルデバイスで用いられるアドバンスド記憶鍵をセキュアエレメントを要求することなしに生成することに関し、特にモバイルデバイスへのデータのセキュアな保存に用いるためのモバイルデバイスにおけるアドバンスド記憶鍵を、セキュアエレメントなしで作るために複数の値を用いることに関する。
【背景技術】
【０００３】
携帯電話技術および通信技術の進歩により非常に大きな機会が創出された。そのひとつは、移動コンピューティング装置のユーザが自身の移動装置を使用して支払取引を開始し且つ支払いを行えることである。移動装置上でそのような動作を可能にする１つのそのような方法は、移動装置から近傍の非接触ＰＯＳ（店舗販売時情報管理）端末へ支払明細をセキュリティ保護して送信する近距離無線通信（ＮＦＣ）技術を使用することである。これを達成するためには、支払証明書をセキュリティ保護して格納するためにセキュアエレメント（ＳＥ）チップ等のセキュアエレメントハードウェアを有する移動電話が使用される。セキュアエレメントは、一部のＮＦＣ対応装置に含まれてもよい特別な要素であり、アプリケーションおよびそれらの機密データをセキュリティ保護してホストしてもよい耐タンパプラットフォームである。
【０００４】
しかし、全ての移動装置がセキュアエレメントを有するわけではない。更に、移動装置がセキュアエレメントを実装する場合でも、移動装置上のセキュアエレメントにアクセスできない金融機関もある。その結果、非接触または他の種類の遠隔支払取引を実行するのに必要なハードウェアを有する移動装置を有する多くの消費者が実際に当該機能を使用できない場合がある。そのような問題のため、移動コンピューティング装置がセキュアエレメントを使用せずに支払取引を開始し且つ実行できるようにする技術的解決策が必要とされる。
【０００５】
セキュアエレメントを有さない移動装置を使用してまたはセキュアエレメントを実装する移動装置においてセキュアエレメントを使用せずに支払取引を実行するいくつかの方法およびシステムは、Ｍｅｈｄｉ  Ｃｏｌｌｉｎｇｅ他による２０１３年３月１４日に出願され且つ本明細書に参考として全ての内容が取り入れられる米国特許出願第１３／８２７，０４２号「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｐｒｏｃｅｓｓｉｎｇ  Ｍｏｂｉｌｅ  Ｐａｙｍｅｎｔｓ  ｂｙ  Ｐｒｏｖｉｓｉｏｎｉｎｇ  Ｃｒｅｄｅｎｔｉａｌｓ  ｔｏ  Ｍｏｂｉｌｅ  Ｄｅｖｉｃｅｓ  Ｗｉｔｈｏｕｔ  Ｓｅｃｕｒｅ  Ｅｌｅｍｅｎｔｓ」に見られる。そのような方法および装置は、セキュアエレメントを使用せずに移動装置を介して支払取引を実行するのに適する場合があるが、多くの消費者、業者および金融機関は更に高いセキュリティを求めるため、そのような取引への参加を警戒する場合がある。
【０００６】
そのため、セキュアエレメントを有さない移動装置における支払証明書の受信および格納のセキュリティを高め、金融取引を実行する間の移動装置からＰＯＳへの支払証明書の送信のセキュリティを高める技術的解決策が必要とされる。それらの処理においてセキュリティを向上することにより、関係する全てのエンティティの安心感を高めることができ、その結果、非接触または遠隔支払取引に対する移動装置の使用を増加でき、従来の支払い方法より多くの利益を消費者に提供できる。
【発明の概要】
【０００７】
本開示は、アドバンスド記憶鍵を作るためのシステムおよび方法の記述を提供する。
【０００８】
アドバンスド記憶鍵を作る方法は、モバイル通信デバイスのメモリに少なくとも、（ｉ）前記モバイル通信デバイスに関連付けられた装置情報と、（ｉｉ）第１アプリケーションプログラムに関連付けられたプログラムコードであって少なくともインスタンス識別子を含むプログラムコードと、（ｉｉｉ）第２アプリケーションプログラムに関連付けられたプログラムコードであって第１鍵を含むプログラムコードと、を保持することと、処理デバイスによって、前記モバイル通信デバイスに関連付けられたデバイス指紋を、保持されている前記装置情報に基づいて、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成することと、前記処理デバイスによって、ランダム値を、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成することと、前記処理デバイスによって、多様値を、少なくとも生成された前記デバイス指紋と生成された前記ランダム値と前記第１アプリケーションプログラムに関連付けられた前記プログラムコードに含まれる前記インスタンス識別子とに基づいて、作ることと、前記処理デバイスによって、作られた前記多様値を、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードに保持される前記第１鍵を用いて、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、復号し、記憶鍵を取得することと、を含む。
【０００９】
アドバンスド記憶鍵を作るシステムは、モバイル通信デバイスのメモリと、処理デバイスと、を備える。モバイル通信デバイスのメモリは、少なくとも、前記モバイル通信デバイスに関連付けられた装置情報と、第１アプリケーションプログラムに関連付けられたプログラムコードであって少なくともインスタンス識別子を含むプログラムコードと、第２アプリケーションプログラムに関連付けられたプログラムコードであって第１鍵を含むプログラムコードと、を保持するよう構成される。前記処理デバイスは、前記モバイル通信デバイスに関連付けられたデバイス指紋を、保持されている前記装置情報に基づいて、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成し、ランダム値を、前記第１アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、生成し、多様値を、少なくとも生成された前記デバイス指紋と生成された前記ランダム値と前記第１アプリケーションプログラムに関連付けられた前記プログラムコードに含まれる前記インスタンス識別子とに基づいて、作り、作られた前記多様値を、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードに保持される前記第１鍵を用いて、前記第２アプリケーションプログラムに関連付けられた前記プログラムコードの実行を介して、復号し、記憶鍵を取得するよう構成される。
【図面の簡単な説明】
【００１０】
本開示の範囲は、添付の図面と関連して例示的な実施形態の以下の詳細な説明を読むことにより最適に理解される。図面に含まれる図を以下に示す。
【００１１】
【図１】図１は、例示的な実施形態に係る支払証明書の提供および格納におけるセキュリティが高度である支払取引を処理する上位のシステムアーキテクチャを示すブロック図である。
【００１２】
【図２】図２は、例示的な実施形態に係るセキュアエレメントを用いずに支払取引を処理し且つ支払証明書をセキュリティ保護して受信および格納する図１の移動装置を示すブロック図である。
【００１３】
【図３】図３は、例示的な実施形態に係る支払証明書を格納する図２の移動装置のカードデータベースを示すブロック図である。
【００１４】
【図４】図４は、例示的な実施形態に係る高度な記憶鍵の生成およびアプリケーション暗号の生成に使用されるデータを格納し且つ図２の移動装置のメモリを示すブロック図である。
【００１５】
【図５】図５は、例示的な実施形態に係るセキュアエレメントを有さない移動装置との支払取引を処理する図１の取引管理サーバを示すブロック図である。
【００１６】
【図６】図６は、例示的な実施形態に係る支払証明書および口座明細を格納する図５の処理サーバの口座データベースを示すブロック図である。
【００１７】
【図７】図７は、例示的な実施形態に係るセキュアエレメントを有さない移動装置が関係する支払取引を処理するために２つのアプリケーション暗号を送信し且つ検証する処理を示すフローチャートである。
【００１８】
【図８】図８は、例示的な実施形態に係るセキュアエレメントを有さない移動装置が関係する支払取引を処理するために２つのアプリケーション暗号を送信し且つ検証する別の処理を示すフローチャートである。
【００１９】
【図９】図９は、例示的な実施形態に係るセキュアエレメントを有さない移動装置に提供される遠隔（リモート）通知サービスメッセージまたは他のデータメッセージを作成し、送信し且つ検証する処理を示すフローチャートである。
【００２０】
【図１０Ａ】図１０Ａは、例示的な実施形態に係るセキュアエレメントを有さない移動装置により返されるメッセージを作成し、送信し且つ検証する処理を示すフローチャートである。
【図１０Ｂ】図１０Ｂは、例示的な実施形態に係るセキュアエレメントを有さない移動装置により返されるメッセージを作成し、送信し且つ検証する処理を示すフローチャートである。
【００２１】
【図１１】図１１は、例示的な実施形態に係る図２の移動装置を使用して遠隔通知サービスメッセージを検証する処理を示すフローチャートである。
【００２２】
【図１２】図１２は、例示的な実施形態に係る図２の移動装置を使用する高度な記憶鍵の生成を示す図である。
【００２３】
【図１３】図１３および図１４は、例示的な実施形態に係る支払取引において支払証明書を生成する例示的な方法を示すフローチャートである。
【図１４】図１３および図１４は、例示的な実施形態に係る支払取引において支払証明書を生成する例示的な方法を示すフローチャートである。
【００２４】
【図１５】図１５は、例示的な実施形態に係る遠隔通知サービスメッセージを受信して処理する例示的な方法を示すフローチャートである。
【００２５】
【図１６】図１６は、例示的な実施形態に係る高度な記憶鍵を作成する例示的な方法を示すフローチャートである。
【００２６】
【図１７】図１７は、例示的な実施形態に係るコンピュータシステムアーキテクチャを示すブロック図である。
【００２７】
本開示の更なる適用範囲は、以下に示す詳細な説明から明らかになるだろう。例示的な実施形態の詳細な説明は例示のみを目的とし、必ずしも発明の範囲を限定することを意図しないことが理解されるべきである。
【発明を実施するための形態】
【００２８】
用語解説
支払いネットワーク…現金の代用品を使用する送金に使用されるシステムまたはネットワーク。支払いネットワークは、種々の取引に対する送金を処理するために種々のプロトコルおよび手順を使用してもよい。支払いネットワークを介して実行されてもよい取引は、製品またはサービスの購入、信用購入、デビット取引、資金振替、口座引き出し等を含んでもよい。支払いネットワークは、支払いカード、信用状、小切手、取引口座等を含んでもよい現金の代用品を介して取引を実行するように構成されてもよい。支払いネットワークとして実行するように構成されたネットワークまたはシステムの例は、ＭａｓｔｅｒＣａｒｄ(R)、ＶＩＳＡ(R)、Ｄｉｓｃｏｖｅｒ(R)、Ａｍｅｒｉｃａｎ  Ｅｘｐｒｅｓｓ(R)、ＰａｙＰａｌ(R)等により運用されるもの含む。本明細書における用語「支払いネットワーク」の使用は、エンティティとしての支払いネットワークと、支払いネットワークを含む機器、ハードウェアおよびソフトウェア等の物理的支払いネットワークとの双方を示してもよい。
【００２９】
取引口座…当座預金口座、普通預金口座、掛売口座、仮想支払い口座等、取引に資金提供するために使用されてもよい金融口座。取引口座は、個人、家族、会社、企業、政府事業体等を含んでもよい支払い口座に関連付けられる何らかの適切な種類のエンティティであってもよい消費者と関連付けられてもよい。いくつかの例において、ＰａｙＰａｌ(R)等により運用される口座等、取引口座は仮想であってもよい。
【００３０】
支払いカード…関連する取引口座を介して金融取引に資金提供するために業者に提供されてもよい取引口座に関連付けられるカードまたはデータ。支払いカードは、クレジットカード、デビットカード、チャージカード、ストアドバリューカード、プリペイドカード、フリートカード、仮想支払い番号、仮想カード番号、仮想クレジットカード番号（ｃｏｎｔｒｏｌｌｅｄ  ｐａｙｍｅｎｔ  ｎｕｍｂｅｒｓ）等を含んでもよい。支払いカードは、業者に提供されてもよい物理カードであってもよく、あるいは関連する取引口座を表すデータ（例えば、スマートフォンまたはコンピュータ等の通信装置に格納される）であってもよい。例えばいくつかの例において、支払い口座番号を含むデータは、関連する取引口座により資金提供される取引を処理するための支払いカードであると考えられてもよい。いくつかの例において、小切手が支払いカードとして適宜考えられてもよい。
【００３１】
支払取引…金銭または他の金銭的利得が一方のエンティティから他方のエンティティに交換される２つのエンティティ間の取引。支払取引は、商品またはサービスの購入、借金の返済、あるいは当業者には明らかだろう金銭的利得の他の何らかの交換のための資金移動であってもよい。いくつかの例において、支払取引は、クレジットカード取引等の支払いカードおよび／または支払い口座を介して資金提供される取引を示してもよい。そのような支払取引は、イシュア（カード発行会社）、支払いネットワークおよびアクワイアラ（加盟店管理業者）を介して処理されてもよい。そのような支払取引を処理する処理は、許可、バッチング、清算、決済および資金提供のうちの少なくとも１つを含んでもよい。許可は、消費者が業者に支払明細を提供することと、業者からアクワイアラに取引明細（例えば、支払明細を含む）を提出することと、取引に資金提供するために使用される消費者の支払い口座のイシュアと支払明細を照合することとを含んでもよい。バッチングは、アクワイアラに配布するために、許可された取引を他の許可された取引と共にまとめて格納することを示してもよい。清算は、処理するために、バッチングされた取引をアクワイアラから支払いネットワークに送出することを含んでもよい。決済は、イシュアの受取人が関係する取引に対して支払いネットワークによりイシュアから引き落とすことを含んでもよい。いくつかの例において、イシュアは支払いネットワークを介してアクワイアラに支払ってもよい。他の例において、イシュアはアクワイアラに直接支払ってもよい。資金提供は、清算され且つ決算された支払取引に対するアクワイアラから業者への支払いを含んでもよい。上述したステップの順序および／または分類は支払取引処理の一部として実行されることが当業者には明らかだろう。
【００３２】
ＰＯＳ…商品および／またはサービスの購入および／または支払いのために取引データ、支払いデータおよび／または他の適切な種類のデータを入力するためにユーザ（例えば、消費者、従業員等）との対話を受信するように構成されたコンピューティング装置またはコンピューティングシステム。ＰＯＳは、取引の一部として消費者が訪れる「ｂｒｉｃｋ  ａｎｄ  ｍｏｒｔａｒ」ストア等の物理的場所における物理的装置（例えば、レジ、キオスク、デスクトップコンピュータ、スマートフォン、タブレットコンピュータ等）であってもよく、あるいはインターネット等のネットワークを介して消費者から通信を受信するオンライン小売業者等の電子商取引環境において仮想であってもよい。ＰＯＳが仮想であってもよい場合、取引を開始するためにユーザにより動作されるコンピューティング装置または取引の結果としてデータを受信するコンピューティングシステムはＰＯＳであると適宜考えられてもよい。
【００３３】
セキュアエレメントを有さないモバイルデバイス（移動装置）を使用して支払取引を処理するシステム
図１は、セキュアエレメントの使用を必要とせずに移動装置を使用して支払取引を処理するシステム１００を示す。これは、支払証明書を移動装置にセキュリティ保護して提供することと、セキュリティ保護して格納することと、支払取引を検証し且つ処理するために使用する複数のアプリケーション暗号を生成する際に使用することとを含むことができる。
【００３４】
システム１００は取引管理サーバ１０２を含んでもよい。以下に更に詳細に説明する取引管理サーバ１０２は、セキュリティ保護して送信される遠隔通知メッセージを使用して移動装置１０４に支払証明書を提供するために、並びに支払取引の一部として移動装置１０４により生成された支払証明書を検証するために、本明細書中で説明する機能を実行するように特にプログラミングされた１つ以上のコンピューティング装置であってもよい。本明細書中では取引管理サーバ１０２が種々の機能を実行すると示し且つ説明するが、取引管理サーバ１０２は本明細書中で説明する機能を実行するように構成された複数のコンピューティング装置、サーバおよび／またはコンピューティングネットワークで構成されてもよいことが当業者には明らかだろう。以下に更に詳細に説明する移動装置１０４は、本明細書中で説明する機能を実行するのに適したあらゆる種類の移動コンピューティング装置であってもよく、携帯電話、スマートフォン、スマートウォッチ、他のウェアラブルまたは組み込み型コンピューティング装置、タブレットコンピュータ、ラップトップコンピュータ等を含んでもよい。いくつかの実施形態において、移動装置１０４はセキュアエレメントを有さなくてもよい。他の実施形態において、移動装置１０４はセキュアエレメントを含んでもよいが、そのようなエレメントは本明細書中で説明する方法およびシステムと関連して使用されなくてもよく、あるいは更なるセキュリティを提供するため等に本明細書中で説明する方法およびシステムと関連して使用されてもよい。
【００３５】
移動装置１０４は、デュアルチャネル通信を利用する等、複数の通信チャネルを使用して取引管理サーバ１０４と通信してもよい。デュアルチャネル通信は、データの送信におけるセキュリティ強化を保証するために、照合および認証等のためのデータの送信および受信において２つの通信チャネルを使用することを含んでもよい。移動装置１０４は、本明細書中で説明する移動装置１０４の機能を実行するために移動装置１０４により実行されるように構成されたモバイル支払いアプリケーション（ＭＰＡ）を含んでもよい。以下に更に詳細に説明するＭＰＡは移動装置１０４にインストールされてもよく、当業者には明らかだろう方法およびシステムを使用して取引管理サーバ１０２により提供される起動コードを使用して起動されてもよく、それにより、移動装置１０４および取引管理サーバ１０２は共有データを使用して２つ以上の通信チャネルにわたり通信をセキュリティ保護して送受信してもよい。
【００３６】
システム１００はイシュア１０６を更に含んでもよい。イシュア１０６は、取引口座に関連する消費者１０８に支払いカードまたは支払証明書を発行する発行銀行等の金融機関であってもよい。イシュア１０６は、取引口座および／または支払いカードに関連する支払明細を取引管理サーバ１０２に提供してもよい。支払明細は、例えば取引口座番号、口座名義人の氏名、有効期限、セキュリティコード等を含んでもよい。以下に更に説明するように、取引管理サーバ１０２は口座データベースにデータを格納してもよい。取引管理サーバ１０２は、移動装置１０４に支払証明書を更に提供してもよい。本明細書中で使用される場合、用語「支払証明書」は、本明細書中で説明する方法およびシステムを使用する支払取引において使用される支払い情報の送信および検証において移動装置１０４および／または取引管理サーバ１０２により使用される支払明細、支払証明書、使い捨て鍵、セッション鍵、アプリケーション暗号、カードマスタ鍵等を含むがそれらに限定されない何らかのデータを示してもよい。
【００３７】
いくつかの実施形態において、支払証明書は、遠隔通知サービスメッセージを介して移動装置１０４に提供されてもよい。以下に更に詳細に説明するように、遠隔通知サービス（ＲＮＳ）メッセージは、移動装置１０４へ送信された後に移動装置１０４により検証されるセキュリティ保護されたメッセージであってもよく、そのため、それに含まれるデータは他の装置およびユーザからセキュリティ保護されてもよい。移動装置１０４のＭＰＡは、受信したＲＮＳメッセージが正規のものであることを証明してもよく、それに含まれるデータを取得するために解読（復号化）してもよい。その後、移動装置１０４は、データに基づいて（例えば、データに含まれる命令を実行すること等により）何らかの必要な機能を実行してもよく、取引管理サーバ１０２に送出されるリターン（返信）メッセージを適宜生成してもよい。いくつかの例において、返信メッセージは取引管理サーバ１０２により検証される。
【００３８】
いくつかの例において、移動装置１０４におけるＲＮＳメッセージの検証または取引管理サーバ１０２における返信メッセージの検証は、少なくともメッセージカウンタおよび認証コードを使用してもよい。カウンタおよび認証コードの双方を使用することにより、指定された移動装置１０４のみがＲＮＳメッセージに含まれるデータを検証し且つ復号化できることが保証されてもよい。更に、認証コードを生成する際に使用されるルールおよび／またはアルゴリズムがＭＰＡに含まれる場合、アプリケーションプログラムの特定のインスタンスを更に含む移動装置１０４のみがＲＮＳメッセージを検証できてもよく、その結果、セキュリティが更に向上する。ＲＮＳメッセージが支払証明書を含んでもよい場合、このことは、適切な移動装置１０４においてのみ且つ支払証明書にアクセスするために使用されるＭＰＡが適切な許可されたアプリケーションである場合のみ支払証明書が使用可能であることを保証してもよい。
【００３９】
移動装置１０４に提供される支払証明書は、以下に更に詳細に説明するカードデータベース等の移動装置１０４内の記憶装置にセキュリティ保護して格納されてもよい。いくつかの実施形態において、移動装置１０４は、移動装置１０４内のデータベースまたはメモリに支払証明書等のデータをセキュリティ保護して格納する際に使用される高度な記憶鍵を生成するように構成されてもよい。以下に更に詳細に説明するように、高度な記憶鍵の生成は、移動装置１０４にデータをセキュリティ保護して格納するために使用できるセキュリティ保護記憶鍵を識別するために、一意の装置情報、一意のＭＰＡ情報およびランダムに生成された情報を使用してもよい。それにより、支払証明書または他の機密データはセキュアエレメントを使用せずに移動装置１０４にセキュリティ保護されて格納されてもよく、その結果、移動装置１０４はセキュアエレメントを使用せずに支払取引を開始し且つ実行でき、高度なセキュリティを維持しつつイシュア１０６および消費者１０８が使用しやすくなる。
【００４０】
移動装置１０４が取引口座に対する支払証明書を受信し、検証し且つセキュリティ保護して格納すると、消費者１０８は移動装置１０４を業者のＰＯＳ１１０に持って行き、支払取引を実行する。消費者１０８は、購入する商品またはサービスを選択してもよく、その購入に対する支払取引を業者と開始してもよく、支払取引に資金提供する際に使用される支払証明書を伝達するために移動装置１０４を使用してもよい。ＰＯＳ１１０への支払証明書の伝達は、２つ以上のアプリケーション暗号の送信を含んでもよい。２つ以上のアプリケーション暗号を使用する結果、本明細書中で説明する方法およびシステムを使用して処理される取引は、セキュアエレメントを有する移動装置１０４を使用して実行される取引を含む従来の非接触遠隔取引よりセキュリティレベルが高くなる場合がある。
【００４１】
各アプリケーション暗号は、別個のセッション鍵および以下に更に詳細に説明する更なるデータを使用して移動装置１０４により生成されてもよい。高度な記憶鍵を介してセキュリティ保護され且つＭＰＡと関連付けられる記憶装置等の移動装置１０４に格納されたデータを使用して生成されたアプリケーション暗号は、アプリケーション暗号が移動装置１０４およびＭＰＡの特定のインスタンスを認証することを保証してもよい。いくつかの例において、暗号のうちの１つおよび／または暗号を生成するために使用されるセッション鍵は、個人識別番号（ＰＩＮ）等の消費者１０８により提供される情報を使用してもよい。ＰＩＮまたは他の消費者認証情報を使用することにより、暗号は消費者１０８および移動装置１０４の双方を認証できてもよい。そのような場合、移動装置１０４により生成される暗号は、移動装置１０４を認証する暗号と移動装置１０４および消費者１０８の双方を認証する第２の暗号とを含んでもよい。
【００４２】
暗号は、支払取引の実行の一部として近距離無線通信等を介してＰＯＳ１１０により受信されてもよい。アプリケーション暗号は、非接触取引、遠隔取引、セキュリティ保護される遠隔支払取引、磁気ストライプによる取引およびＭ／チップＥＭＶ取引等の何らかの適切な種類の支払取引の場合に必要とされるような更なる支払い情報を伴ってもよく、当業者には明らかなように、何らかの適切な方法を適宜使用してＰＯＳ１１０へ送信されてもよい。暗号は、業者と関連付けられる加盟店銀行等の金融機関であってもよいアクワイアラ１１２へ送信されてもよい。例えばアクワイアラ１１２は、支払取引に対して消費者１０８から資金の支払いを受け取るために使用される取引口座を業者に発行してもよい。アクワイアラ１１２は、当業者には明らかだろう方法およびシステムを使用して、支払いネットワーク１１４に暗号および更なる取引明細を提出してもよい。例えば取引明細およびアプリケーション暗号は、支払いレイルズ（ｒａｉｌｓ）上で支払いネットワーク１１４に提出される許可要求に含まれてもよい。
【００４３】
いくつかの実施形態において、双方のアプリケーション暗号が単一の取引メッセージに含まれてもよい。例えば移動装置１０４および／またはＰＯＳ１１０は、既存の支払いシステムおよびハードウェアを使用して双方のアプリケーション暗号を送信するために、従来の取引メッセージの既存のデータフィールドに双方のアプリケーション暗号を含んでもよい。いくつかの例において、取引管理サーバ１０２は、磁気ストライプによる取引等におけるアプリケーション暗号の検証のためにトラック２データを使用するように構成されてもよい。そのような例において、取引メッセージがトラック１データを含む場合、取引管理サーバ１０２はトラック１データをトラック２データに変換するように構成されてもよく、これは変更されたトラック１データまたはトラック２データをそれぞれ変更前のトラック１データまたはトラック２データ（例えば、元のデータ、再構成されたデータ等）に変換することを更に含んでもよい。これらの機能を実行し且つ既存のデータフィールドにアプリケーション暗号を含むことにより、取引管理サーバ１０２は移動装置１０４上のセキュアエレメントを使用することを必要とせずに且つ既存の支払いシステムを変更することなく、移動装置１０４を使用する遠隔非接触支払取引を高いセキュリティレベルで処理し且つ検証するように構成されてもよい。
【００４４】
支払いネットワーク１１４は、当業者には明らかだろう方法およびシステムを使用して支払取引を処理してもよい。処理の一部として、支払いネットワーク１１４は照合のためにイシュア１０６へアプリケーション暗号を送信してもよい。いくつかの実施形態において、照合は支払いネットワーク１１４により実行されてもよい。イシュア１０６または支払いネットワーク１１４は取引管理サーバ１０２と通信してもよい。いくつかの実施形態において、アプリケーション暗号は取引管理サーバ１０２へ送信されてもよく、取引管理サーバ１０２を使用して検証用アプリケーション暗号を生成することにより照合されてもよい。これは、ローカルに格納された支払証明書を使用して生成されてもよい。他の実施形態において、イシュア１０６または支払いネットワーク１１４は取引管理サーバ１０２にアプリケーション暗号を要求してもよく、取引管理サーバ１０２はアプリケーション暗号を生成し、移動装置１０４により生成された暗号に対して検証するためにイシュア１０６または支払いネットワーク１１４に暗号を返送してもよい。
【００４５】
移動装置１０４がアプリケーション暗号を生成するために使用する支払証明書および他のデータは取引管理サーバ１０２が有するため、支払取引に資金提供するために移動装置１０４により生成された支払証明書の検証は、移動装置１０４により生成されたアプリケーション暗号と取引管理サーバ１０２により生成されたアプリケーション暗号とを比較することにより実行されてもよい。いくつかの実施形態において、取引管理サーバ１０２は支払いネットワーク１１４またはイシュア１０６の一部であってもよい。取引管理サーバ１０２が支払いネットワーク１１４の一部であってもよい場合、検証は、支払取引の従来の処理の一部としてイシュア１０６に連絡する前に実行されてもよい（例えば、イシュア１０６との消費者１０８の取引口座を使用する取引への資金提供を承認するために）。
【００４６】
複数のアプリケーション暗号を使用することにより、支払取引のセキュリティを向上できる。更に、一方の暗号が移動装置１０４を認証し且つ他方が移動装置１０４および消費者１０８の双方を認証する（例えば、消費者のＰＩＮを介して）場合等、各暗号が別個のデータを認証してもよい場合、取引を承認するかまたは拒否するかを決定する際に使用される更なるデータおよび考慮がイシュア１０６に更に提供されてもよい。例えば双方の暗号が誤っている（例えば、移動装置１０４により生成された暗号が取引管理サーバ１０２により生成された暗号と一致しない）場合、取引は拒否されてもよい。一方の暗号が正しくて他方が誤っている場合、取引はセキュリティ上の理由で拒否されてもよく、あるいはイシュア１０６の決定等に基づいて承認されてもよい。例えばイシュア１０６は、消費者の認証が失敗したが移動装置の認証が成功した場合、消費者１０８ではないが許可されたユーザが取引のために移動装置１０４を使用していると他の使用可能なデータが示す場合があるため、取引を承認してもよい。
【００４７】
その結果、双方の暗号を使用することにより、支払取引を処理する際に支払いネットワーク１１４およびイシュア１０６が使用できる有用なデータが提供されてもよい。更に、２つ以上の暗号を使用することにより、従来の非接触または遠隔支払い方法よりセキュリティが向上してもよく、その結果、詐欺が減少し、消費者１０８、イシュア１０６および業者に更に広く受け入れられてもよい。２つ以上のアプリケーション暗号の使用が本明細書中で説明するＲＮＳメッセージ送信方法およびシステムを使用してセキュリティ保護されて提供された支払証明書から生成され且つ本明細書中で説明する方法およびシステムを使用して生成された高度な記憶鍵を介してセキュリティ保護されて格納される場合、非接触支払取引処理に対してシステム１００全体のセキュリティを従来のシステムより大幅に向上できる。その結果、システム１００は、データの送信、格納および処理の複数の側面において、従来の非接触支払いシステムよりセキュリティを向上してもよく、本明細書中で説明する方法およびシステムを使用してもよい他の種類の遠隔支払取引および支払取引一般を提供してもよい。
【００４８】
移動装置
図２は、システム１００の移動装置１０４の一実施形態を示す。図２に示す移動装置１０４の実施形態は例示として提供されるにすぎず、本明細書中で説明する機能を実行するのに適した移動装置１０４の全ての可能な構成を含まなくてもよいことが当業者には明らかだろう。例えば図１７に示し且つ以下に更に詳細に説明するコンピュータシステム１７００が移動装置１０４の適切な構成であってもよい。
【００４９】
移動装置１０４は受信部２０２を含んでもよい。受信部２０２は、１つ以上のネットワークプロトコルにより１つ以上のネットワークを介してデータを受信するように構成されてもよい。受信部２０２は、例えば以下に更に詳細に説明するモバイル支払いアプリケーション（ＭＰＡ）等の移動装置１０４上にインストールされて実行される１つ以上のアプリケーションプログラムに対するプログラムデータを受信してもよい。受信部２０２は、支払証明書を含む遠隔通知サービス（ＲＮＳ）メッセージを含む取引管理サーバ１０２により送信されるメッセージ等のＲＮＳメッセージを更に受信してもよい。受信部２０２は、電話通信、セルラ通信等の移動装置１０４の従来の機能を実行するのに適した更なるデータを更に受信してもよい。いくつかの例において、移動装置１０４は、各々が適切なプロトコルにより１つ以上の別個のネットワークと通信するように構成される別個の受信部２０２等の複数の受信部２０２を含んでもよい。例えば移動装置１０４は、ＮＦＣ取引に対するデータを受信する第１の受信部２０２と、移動体通信ネットワークを介する通信を受信する第２の受信部２０２とを含んでもよい。
【００５０】
移動装置１０４は入力部２１４を更に含んでもよい。入力部２１４は、キーボード、マウス、クリックホイール、スクロールホイール、タッチスクリーン、マイク、カメラ、レシーバ等の消費者１０８から入力を受信するために移動装置１０４に内部接続または外部接続される１つ以上の入力装置と通信するように構成されてもよい。入力部２１４は消費者１０８から入力を受信してもよく、これは処理部２０４により処理されてもよい。
【００５１】
処理部２０４は、本明細書中で説明する移動装置１０４の機能を実行するように構成されてもよい。処理部２０４は、ＭＰＡ等に対する移動装置に格納されたプログラムコードを実行してもよく、移動装置１０４の他の機能に加えて各アプリケーションプログラムに関連する複数の機能を実行するように構成されてもよい。処理部２０４は、入力部２１４を介して消費者１０８から入力を受信し、当業者には理解されるように、アプリケーションプログラムの実行、プログラム内の機能の実行、データの受信、データの送信、データの表示等により対応する機能を実行してもよい。例えば処理部２０４は、以下に更に詳細に説明するように、ＲＮＳメッセージを検証し、高度な記憶鍵を生成し、アプリケーション暗号を生成するように構成されてもよい。
【００５２】
移動装置１０４は表示部２１０を更に含んでもよい。表示部２１０は、表示するために処理部２０４により表示部２１０へ送信されたデータ等のデータを表示するために移動装置１０４に内部接続または外部接続される１つ以上の表示装置と通信するように構成されてもよい。表示装置は、液晶ディスプレイ、発光ダイオードディスプレイ、薄膜トランジスタディスプレイ、タッチスクリーンディスプレイ等を含んでもよい。
【００５３】
移動装置１０４は送信部２０６を更に含んでもよい。送信部２０６は、１つ以上のネットワークプロトコルにより１つ以上のネットワークを介してデータを送信するように構成されてもよい。送信部２０６は、取引管理サーバ１０２へＲＮＳ応答メッセージを送信してもよい。送信部２０６は、支払取引において使用するためにＰＯＳ１１０等へアプリケーション暗号および／または支払証明書を送信するように更に構成されてもよい。送信部２０６は、セルラ通信の送信等の移動通信装置の従来の機能等の当業者には明らかだろう移動装置１０４の更なる機能を実行するように更に構成されてもよい。いくつかの例において、移動装置１０４は、ＮＦＣを介して支払証明書および支払い暗号を送信するように構成された送信部２０６および移動体通信ネットワークを介してデータを送信するように構成された別の送信部２０６等、１つ以上の別個のネットワークと通信するように個別に構成されてもよい複数の送信部２０６を含んでもよい。
【００５４】
移動装置１０４はカードデータベース２０８を更に含んでもよい。以下に更に詳細に説明するカードデータベース２０８は、１つ以上の取引口座および／または支払いカードに関連するデータを格納するように構成される移動装置１０４上のデータ記憶装置であってもよい。カードデータベース２０８は、セキュリティ保護されたＲＮＳメッセージにおいて取引管理サーバ１０２により移動装置１０４に提供される支払証明書等の取引口座に関連する支払証明書と、以下に更に詳細に説明するようにアプリケーション暗号を生成する際に使用されてもよい更なるデータとを格納してもよい。いくつかの例において、カードデータベース２０８はモバイル支払いアプリケーションの一部として格納されてもよい。
【００５５】
移動装置１０４はメモリ２１２を更に含んでもよい。以下に更に詳細に説明するメモリ２１２は、本明細書中で説明する移動装置１０４の機能を実行するのに適した移動装置１０４に対するデータを格納するように構成されてもよい。例えばメモリ２１２は、以下に更に詳細に説明するように、カードデータベース２０８等の移動装置１０４において更なるデータを暗号化するための高度な記憶鍵を生成するのに適したデータを格納してもよい。メモリ２１２は、オペレーティングシステム等の処理部２０４により実行されるアプリケーションプログラムに対するプログラムコード、入力部２１４を介してデータを受信し且つ表示部２１０を介してデータを表示するためのプログラムコード、本明細書中で説明する機能を実行するためのルールおよび／またはアルゴリズム等を格納するように更に構成されてもよい。メモリ２１２は、移動体ネットワークを介してセルラ通信を送受信するためのルールおよび／またはアルゴリズム等の移動装置１０４の従来の機能を実行するのに適したデータを更に格納してもよい。メモリ２１２に格納される更なるデータは当業者には明らかだろう。
【００５６】
移動装置のカードデータベース
図３は、移動装置１０８を用いて実行される支払取引に資金提供する際に使用される支払取引に関連する支払証明書および他のデータを格納する移動装置１０４のカードデータベース２０８の一実施形態を示す。
【００５７】
カードデータベース２０８は、図３において支払いプロファイル３０２ａ、３０２ｂおよび３０２ｃとして示す１つ以上の支払いプロファイル３０２を含んでもよい。各支払いプロファイル３０２は、支払取引に資金提供するために使用されてもよい取引口座と関連付けられてもよく、少なくとも支払証明書３０４、１つ以上の使い捨て鍵３０６、第１のセッション鍵３０８、第２のセッション鍵３１０およびアプリケーション取引カウンタ３１２を含んでもよい。
【００５８】
支払証明書３０４は、関連する取引口座を使用する支払取引の処理において支払いネットワーク１１４および／またはイシュア１０６により識別および検証のために使用される関連する取引口座に関連するデータを含んでもよい。支払証明書３０４は、例えば取引口座番号、セキュリティコード、有効期限、カード所持者の氏名、許可されたユーザ名、追跡データ、カードレイアウト記述データ、デジタルカウント、ビットマップ等を含んでもよい。
【００５９】
使い捨て鍵３０６は、支払取引において使用されるアプリケーション暗号のうちの１つ以上を生成するために移動装置１０４の処理部２０４により使用されてもよい単一の支払取引に対して有効な支払いトークンであってもよい。いくつかの実施形態において、使い捨て鍵３０６は支払いプロファイル３０２に含まれる他のデータ要素のうちの１つ以上を含んでもよい。例えば各使い捨て鍵３０６は別個のアプリケーション取引カウンタ３１２を含んでもよく、これはプロファイル３０２に別個に含まれなくてもよい。本明細書中で開示される機能を実行する際に使用される支払いプロファイル３０２に格納されるデータの異なる構成は当業者には明らかだろう。いくつかの例において、使い捨て鍵３０６は、１つ以上のアプリケーション暗号を生成するために使用される鍵を含んでもよく、あるいはそのような鍵で構成されてもよい。いくつかの実施形態において、第１のセッション鍵３０８および第２のセッション鍵３１０は、移動装置１０４に提供される使い捨て鍵３０６に含まれてもよく且つ／または使い捨て鍵３０６に含まれるデータを使用して生成されてもよい。
【００６０】
第１のセッション鍵３０８および第２のセッション鍵３１０は、移動装置１０４を使用する支払取引の実行の一部としてＰＯＳ１１０へ送信されるアプリケーション暗号を生成する際に処理部２０４により使用される更なる鍵であってもよい。いくつかの実施形態において、第１のセッション鍵３０８は、移動装置１０４のメモリ２１２に格納されたプログラムコード、ルールまたはアルゴリズム等を使用して処理部２０４により第１のアプリケーション暗号を生成する際に使用されてもよい。第２のセッション鍵３１０は、第２のアプリケーション暗号を生成する際に使用されてもよい。
【００６１】
いくつかの実施形態において、第２のセッション鍵３１０は処理部２０４により生成されてもよい。そのような一実施形態において、第２のセッション鍵３１０は、使い捨て鍵３０６と消費者１０８により提供された（例えば入力部２１４を介して）ＰＩＮ等のユーザ認証データとを使用して生成されてもよい。そのような一実施形態において、第２のセッション鍵３１０は支払いプロファイル３０２に格納されなくてもよく、代わりに支払取引処理の一部として生成され、使用され、廃棄されてもよい。従って、使い捨て鍵３０６および消費者のＰＩＮを使用して生成される第２のセッション鍵３１０から生成される場合、第２のアプリケーション暗号は移動装置１０４および消費者１０８の双方を認証するために使用される。
【００６２】
個人識別番号（ＰＩＮ）は、消費者１０８を認証するために使用されてもよい消費者１０８により提供される（例えば、移動装置１０４にＭＰＡを登録する時またはイシュア１０６および／または取引管理サーバ１０２との取引口座を登録する時に）番号であってもよい。支払取引を実行する場合、消費者１０８または移動装置１０４の他のユーザは入力部２１４を介してＰＩＮを提供してもよい。いくつかの実施形態において、提供されたＰＩＮが誤っている（例えば、登録時に消費者１０８により提供されたＰＩＮと一致しない）場合、処理部２０４は第２のセッション鍵３１０の生成に進み、その後、第２のアプリケーション暗号を生成してもよい。提供されたＰＩＮが誤っている場合、第２のアプリケーション暗号は不正確であり、その結果、取引管理サーバ１０２、イシュア１０６および／または支払いネットワーク１１４による第２のアプリケーション暗号の検証は失敗し、それに従って取引を拒否するかまたは依然として取引を承認する機会がイシュア１０６に提供されてもよい。
【００６３】
移動装置のメモリ
図４は、移動装置１０４にデータをセキュリティ保護して格納する際に使用され且つ移動装置１０４を使用する支払取引を実行するために使用されるアプリケーションプログラムおよび他のデータを格納する移動装置１０４のメモリ２１２の一実施形態を示す。例示的な一実施形態において、メモリ２１２はセキュアエレメントでなくてもよい。
【００６４】
メモリ２１２は装置情報４０２を含んでもよい。装置情報４０２は、いくつかの例では移動装置１０４に特有であってもよい移動装置１０４に関連する１つ以上のデータを含んでもよい。例えば装置情報４０２は、媒体アクセス制御アドレス、参照番号、シリアル番号、識別番号等を含んでもよい。移動装置１０４の装置情報４０２であると考えられてもよい更なる情報は当業者には明らかだろう。
【００６５】
メモリ２１２は、モバイル支払いアプリケーション（ＭＰＡ）４０４を更に含んでもよい。ＭＰＡ４０４は、支払証明書の受信および格納、ＲＮＳメッセージの検証、並びに支払取引を実行する際に使用されるアプリケーション暗号の生成等の本明細書中で説明する移動装置１０４の機能を実行するように構成されたアプリケーションプログラムであってもよい。当業者には明らかなように、ＭＰＡ４０４の更なる特徴は、デジタルウォレットまたは他の同様のアプリケーションプログラムの従来の特徴を含んでもよい。
【００６６】
ＭＰＡ４０４はプログラムコード４０６を含んでもよい。プログラムコード４０６は、本明細書中で説明するＭＰＡ４０４の機能を移動装置１０４の処理部２０４および他の構成要素に実行させる移動装置１０４の処理部２０４により実行されるコードであってもよい。例えばプログラムコード４０６は、アプリケーション暗号の生成、ＲＮＳメッセージの検証等に適したコードを含んでもよい。プログラムコード４０６は、高度な記憶鍵を生成する際に使用されてもよい乱数値を生成するのに適したプログラムコードを更に含んでもよい。乱数値は、当業者には明らかだろう方法およびシステムを使用して生成されてもよい乱数または擬乱数であってもよい。
【００６７】
ＭＰＡ４０４はインスタンス識別子４０８を更に含んでもよい。インスタンス識別子４０８は、カードデータベース２０８等の移動装置１０４においてデータをセキュリティ保護するために使用される高度な記憶鍵を生成する際に使用されてもよい特定のＭＰＡ４０４に特有の値であってもよい。ＭＰＡ４０４に特有のインスタンス識別子４０８を有することにより、いずれのＭＰＡ４０４も他のＭＰＡ４０４によりセキュリティ保護されて格納されたデータにアクセスできない状態で複数のＭＰＡ４０４が移動装置１０４にインストールされてもよく、それにより、他のプログラムは特定の支払い口座に対する支払いプロファイル３０２にアクセスできないことを保証できる。インスタンス識別子４０８は、ＭＰＡ４０４に特有であってもよい番号、アルファベット値、１６進数または何らかの適切な値であってもよい。
【００６８】
以下に更に詳細に説明するように、移動装置１０４の処理部２０４は、装置情報４０２、ＭＰＡ４０４のプログラムコード４０６を使用して生成された乱数値およびＭＰＡ４０４に格納されたインスタンス識別子４０８を使用して多様値（ｄｉｖｅｒｓｉｆｉｅｒ  ｖａｌｕｅ）を生成するように構成されてもよい。多様値は、メモリ２１２に同様に格納される暗号アプリケーション４１０により使用されてもよい。暗号アプリケーション４１０は、ホワイトボックス暗号化および／または当業者には明らかだろう他の何らかの適切な暗号機能を実行するように構成されたアプリケーションプログラムであってもよい。
【００６９】
暗号アプリケーション４１０はプログラムコード４１２を含んでもよい。プログラムコード４１２は、移動装置１０４の処理部２０４および他の構成要素が本明細書中で説明する暗号アプリケーション４１０の暗号機能を実行できるようにするために移動装置１０４の処理部２０４により実行されてもよい。機能は、高度な記憶鍵の生成を含んでもよい。高度な記憶鍵は、モバイル支払いアプリケーション４０４により生成された多様値と暗号アプリケーション４１０に含まれる暗号鍵４１４とを使用して生成されてもよい。いくつかの実施形態において、多様鍵（多様値）は、高度な記憶鍵を取得するために暗号鍵４１４を使用して復号化されてもよい。
【００７０】
暗号アプリケーション４１０は、高度な記憶鍵を使用して移動装置１０４における格納を暗号化するように更に構成されてもよい。いくつかの実施形態において、暗号化は１つ以上のホワイトボックス暗号化技術を使用して実行されてもよい。暗号化される格納はカードデータベース２０８であってもよく且つ／またはＭＰＡ４０４に格納されるデータ等の移動装置１０４における他の何らかの適切な格納であってもよい。いくつかの実施形態において、暗号アプリケーション４１０はＭＰＡ４０４の一部として含まれてもよい。高度な記憶鍵は暗号アプリケーション４１０またはＭＰＡ４０４に格納されてもよく、あるいはいくつかの例では、必要な場合にＭＰＡ４０４および暗号アプリケーション４１０により再度生成されてもよい。
【００７１】
メモリ２１２は、移動装置１０４に格納され且つ本明細書中で説明する機能および移動装置の何らかの更なる機能を実行するのに適した何らかの更なるデータを更に含んでもよい。例えばメモリ２１２は、オペレーティングシステムに対するプログラムコード、通話等の移動体通信を送受信するためのコード、ルールまたはアルゴリズム等を含んでもよい。
【００７２】
いくつかの実施形態において、移動装置１０４は高度な記憶鍵を使用して既に暗号化されているデータを受信するように更に構成されてもよく、これは、メモリ２１２、カードデータベース２０８または他の適切な記憶装置等の移動装置１０４内の暗号化されたローカル記憶装置に格納されてもよい。そのような一実施形態において、移動装置１０４は生成された乱数値を取引管理サーバ１０２または他の信頼できるエンティティへ送信するように構成されてもよく、取引管理サーバ１０２または他の信頼できるエンティティは、生成された乱数値を用いて同一の方法およびシステムを使用して高度な記憶鍵を生成してもよく、移動装置１０４に提供されるデータを暗号化してもよい。このように、移動装置１０４は、移動装置１０４においてローカルに格納するために、高度な記憶鍵を使用して既に暗号化されたデータを受信してもよい。
【００７３】
取引管理サーバ
図５は、システム１００の取引管理サーバ１０２の一実施形態を示す。図５に示す取引管理サーバ１０２の実施形態は例示として提供されるにすぎず、本明細書中で説明する機能を実行するのに適した取引管理サーバ１０２の全ての可能な構成を含まなくてもよいことが当業者には明らかだろう。例えば図１７に示し且つ以下に更に詳細に説明するコンピュータシステム１７００が取引管理サーバ１０２の適切な構成であってもよい。
【００７４】
取引管理サーバ１０２は受信部５０２を含んでもよい。受信部５０２は、１つ以上のネットワークプロトコルにより１つ以上のネットワークを介してデータを受信するように構成されてもよい。受信部５０２は、移動装置１０４、支払いネットワーク１１４、イシュア１０６または他の適切なエンティティから受信または返信メッセージ、確認メッセージ、取引通知等のデータを受信してもよい。受信部５０２は、支払取引における支払証明書の検証において使用されるアプリケーション暗号の生成を開始するため等の取引通知または暗号要求を受信してもよい。受信部５０２は、移動装置１０４に提供される支払証明書を生成する際に使用される取引口座データをイシュア１０６等から更に受信してもよい。
【００７５】
取引管理サーバ１０２は処理部５０４を更に含んでもよい。当業者には明らかなように、処理部５０４は、本明細書中で説明する取引管理サーバ１０２の機能を実行するように構成されてもよい。従って、以下に更に詳細に説明するように、処理部５０４はＲＮＳメッセージおよびそれに含まれるデータを生成し且つ暗号化し、移動装置１０４からの返信メッセージを検証し、支払証明書を生成し、アプリケーション暗号を生成し、アプリケーション暗号を検証するように構成されてもよい。
【００７６】
取引管理サーバ１０２は送信部５０６を更に含んでもよい。送信部５０６は、１つ以上のネットワークプロトコルにより１つ以上のネットワークを介してデータを送信するように構成されてもよい。送信部５０６は、ＲＮＳメッセージ、支払証明書、アプリケーション暗号、検証通知、並びに当業者には明らかだろう他のデータを送信してもよい。送信部５０６は、移動体通信ネットワークまたはインターネット等を介して移動装置１０４、支払いネットワーク１１４、イシュア１０６および他の何らかの適切なエンティティへデータを送信するように構成されてもよい。
【００７７】
取引管理サーバ１０２は口座データベース５０８を更に含んでもよい。以下に更に詳細に説明するように、口座データベース５０８は複数の取引口座に対する口座情報を格納するように構成されてもよい。口座情報は、移動装置１０４を使用して実行される支払取引の間に受信される支払証明書を検証する際に使用されるアプリケーション暗号を生成するために使用されるデータおよび鍵を含んでもよい。口座データベース５０８は、移動装置１０４に関係して実行される支払取引に対する取引データ、並びに消費者１０８または関連する取引口座の他の許可されたユーザに関連するデータ等の他のデータを格納するように更に構成されてもよい。
【００７８】
取引管理サーバ１０２はメモリ５１０を更に含んでもよい。メモリ５１０は、本明細書中で開示される機能を実行する際に取引管理サーバ１０２により使用される更なるデータを格納するように構成されてもよい。例えばメモリ５１０は、アプリケーション暗号を検証するためのルールまたはアルゴリズム、検証通知を生成するためのルールまたはアルゴリズム、セッション鍵およびアプリケーション暗号を生成するためのアルゴリズム、データおよびＲＮＳメッセージを暗号化および復号化するための暗号鍵等を格納してもよい。メモリ５１０に格納されてもよい更なるデータは当業者には明らかだろう。
【００７９】
取引管理サーバの口座データベース
図６は、支払証明書を検証する際に使用される取引口座に関連するデータと、移動装置１０４を含む支払取引を実行する際に提供される他の取引データとを格納する取引管理サーバ１０２の口座データベース５０８の一実施形態を示す。
【００８０】
口座データベース５０８は、図６において口座プロファイル６０２ａ、６０２ｂおよび６０２ｃとして示す複数の口座プロファイル６０２を含んでもよい。各口座プロファイル６０２は、１つ以上の使い捨て鍵６０４、第１のセッション鍵６０６、第２のセッション鍵６０８、アプリケーション取引カウンタ６１０および第１のカードマスタ鍵６１２を含んでもよい。いくつかの実施形態において、口座プロファイル６０２は第２のカードマスタ鍵６１２を更に含んでもよい。
【００８１】
各口座プロファイル６０２は、移動装置１０４に提供される支払いプロファイル３０２に対応してもよい。そのため、口座プロファイル６０２に格納される使い捨て鍵６０４は、同一の取引口座に関連する対応する支払いプロファイル３０２に格納される使い捨て鍵３０６に対応してもよい。アプリケーション暗号が取引管理サーバ１０２または移動装置１０４により生成される場合、データが正確であり且つ改竄されてない場合にアプリケーション暗号が一致するように、データは同様であってもよく、それにより移動装置１０４により提示される支払証明書の検証が可能になってもよい。
【００８２】
いくつかの実施形態において、口座プロファイル６０２は、対応する支払いプロファイル３０２に格納されたＰＩＮ３１４に対応する個人識別番号（ＰＩＮ）を含んでもよい。そのような一実施形態において、ＰＩＮ３１４は、以下に更に詳細に説明する移動装置１０４により提供される受信メッセージ等のセキュリティ保護されたメッセージにおいて取引管理サーバ１０２の受信部２０２に提供されてもよい。他の実施形態において、第１のカードマスタ鍵６１２等のカードマスタ鍵がＰＩＮの代わりに使用されてもよい。そのような一実施形態において、取引管理サーバ１０２の処理部５０４は、使い捨て鍵３０６およびＰＩＮ３１４を使用して移動装置１０４により生成された第２のセッション鍵３１０に対応する第２のセッション鍵６０８を第２のカードマスタ鍵６１４に基づいて生成するように構成されてもよい。いくつかの例において、第２のセッション鍵６０８は対応する使い捨て鍵６０４に更に基づいてもよい。そのような実施形態において、セッション鍵および／またはアプリケーション暗号を生成するためのアルゴリズムは、移動装置１０４により生成された暗号および取引管理サーバ１０２により生成された暗号がそれらにおいて使用されるデータに基づいて対応することを保証してもよい。
【００８３】
第１のセッション鍵６０６は、第１のアプリケーション暗号を生成するために取引管理サーバ１０２の処理部５０４により使用されてもよく、第２のセッション鍵６０８は第２のアプリケーション暗号を生成するために使用されてもよい。いくつかの実施形態において、アプリケーション取引カウンタ６１０は、セッション鍵および／またはアプリケーション暗号の１つ以上を生成する際に使用されてもよい。アプリケーション取引カウンタ６１０は、実行される支払取引に対応する値であってもよく、各取引の間に増分または変更される。アプリケーション取引カウンタ６１０は移動装置１０４内の対応する支払いプロファイル３０２に格納されたアプリケーション取引カウンタ３１２に対応してもよく、それを使用することにより、有効なＭＰＡ４０４のみが正確なアプリケーション取引カウンタ３１２を有し、有効なセッション鍵および／またはアプリケーション暗号を生成してもよいことが保証されてもよい。予測不能な数および当業者には明らかだろう他の技術等、セッション鍵および／またはアプリケーション暗号の生成のセキュリティを更に向上する更なる技術が使用されてもよい。
【００８４】
移動装置を使用する支払取引の処理
図７は、セキュアエレメントを有さない移動装置１０４を使用して且つ２つ以上のアプリケーション暗号の生成および検証を使用して実行される支払取引を処理する処理を示す。
【００８５】
ステップ７０２において、取引管理サーバ１０２は、以下に更に詳細に説明するＲＮＳメッセージ等により支払証明書３０４および他の口座データを移動装置１０４に提供してもよい（例えば、送信部５０６を介して）。ステップ７０４において、移動装置１０４の受信部２０２は支払証明書３０４および他の口座データを受信してもよい。ステップ７０６において、移動装置１０４の処理部２０４は、カードデータベース２０８内の支払いプロファイル３０２にデータを格納してもよい。口座データは、支払証明書３０４、１つ以上の使い捨て鍵３０８、並びにセッション鍵３０８および３１０のうちの１つ以上等の他の何らかの適切なデータを含んでもよい。
【００８６】
ステップ７０８において、処理部２０４は、支払取引を実行する際に使用される２つのアプリケーション暗号を生成してもよい。いくつかの実施形態において、ステップ７０８は、入力部２１４を介して指示するか、近距離無線通信を介して取引を開始するためにＰＯＳ１１０の近傍に移動装置１０４を配置するかまたは他の適切な方法等により消費者１０８により開始されてもよい。アプリケーション暗号の生成は、支払いプロファイル３０２に格納された第１のセッション鍵３０８を使用して第１のアプリケーション暗号を生成することを含んでもよい。使い捨て鍵３０６およびＰＩＮ３１４を使用して生成されてもよい第２のセッション鍵３１０を使用して、第２のアプリケーション暗号が生成されてもよい。いくつかの例において、消費者１０８は、ステップ７０８の前またはステップ７０８の開始時に移動装置１０４にＰＩＮを入力してもよい（例えば、入力部２１４を介して）。いくつかの実施形態において、アプリケーション暗号の一方または双方はアプリケーション取引カウンタ３１２を使用して生成されてもよい。
【００８７】
アプリケーション暗号が生成されると、ＰＯＳ１１０を介してイシュア１０６、アクワイアラ１１２および支払いネットワーク１１４へ支払証明書３０４と共に送信されてもよい。ステップ７１０において、支払証明書３０４およびアプリケーション暗号はイシュア１０６により受信されてもよい。ステップ７１２において、移動装置１０４の送信部２０６は取引管理サーバ１０２へ取引通知を送信してもよい。ステップ７１４において、取引管理サーバ１０２の受信部５０２は取引通知を受信してもよい。取引通知は、移動装置１０４が支払いプロファイル３０２を使用して支払取引を開始したことを取引管理サーバ１０２に通知してもよい。いくつかの例において、取引通知は識別情報を含んでもよい。
【００８８】
ステップ７１６において、取引管理サーバ１０２の処理部５０４は支払いプロファイル３０２に対応する口座プロファイル６０２を識別してもよく、それに含まれるデータを使用して２つのアプリケーション暗号を生成してもよい。第１のアプリケーション暗号は、第１のカードマスタ鍵６１２を使用して生成されてもよい第１のセッション鍵６０６を使用して生成されてもよい。第２のアプリケーション暗号は、第２のセッション鍵６０８を使用して生成されてもよい。いくつかの実施形態において、アプリケーション暗号および／またはセッション鍵の一方または双方は、使い捨て鍵６０４、アプリケーション取引カウンタ６１０または他の何らかの適切なデータに更に基づいてもよい。
【００８９】
ステップ７１８において、取引管理サーバ１０２の送信部５０６は生成されたアプリケーション暗号をイシュア１０６へ送信してもよく、イシュア１０６はステップ７１８において暗号を受信してもよい。ステップ７２０において、イシュア１０６は、移動装置１０４により提供された支払証明書３０４を伴うアプリケーション暗号を検証してもよい。アプリケーション暗号の検証は、移動装置１０４により提供された暗号と取引管理サーバ１０２により生成され且つ提供されたアプリケーション暗号とを比較することを含んでもよい。検証が実行されると、ステップ７２２において、イシュア１０６は取引を適宜処理してもよい。取引を処理することは、暗号の一方または双方が確認された場合等に支払取引を承認することまたは暗号の一方または双方が無効であると判定された場合等に支払取引を拒否することを含んでもよい。
【００９０】
ステップ７２４において、取引通知が支払取引の処理の一部としてイシュア１０６または他のエンティティ（例えば、支払いネットワーク１１４、アクワイアラ１１２等）により送信されてもよい。ステップ７２６において、取引通知が取引管理サーバ１０２へ送信され、受信部５０２により受信されてもよい。ステップ７２８において、取引通知が移動装置１０４の受信部２０２により更に受信されてもよい。取引通知は、支払取引の承認または拒否の指示であってもよい。移動装置１０４の処理部２０４および取引管理サーバ１０２の処理部５０４はそれぞれ、受信した取引通知の結果として１つ以上の機能を実行してもよい。例えば取引が承認され且つ正常に処理された場合、それぞれのプロファイル内のアプリケーション取引カウンタ３１０および６１０が適宜更新されてもよい。
【００９１】
図８は、移動装置１０４を使用する支払取引を処理する別の処理を示す。
【００９２】
ステップ８０２において、支払証明書３０４および他の口座データが取引管理サーバ１０２の送信部５０６により移動装置１０４へ送信されてもよい。ステップ８０４において、移動装置１０４の受信部２０２は支払証明書３０４および他の口座データを受信してもよく、ステップ８０６において、それらは支払いプロファイル３０２に格納されてもよい。ステップ８０８において、移動装置１０４の処理部２０４は上述したように２つのアプリケーション暗号を生成してもよく、暗号、支払証明書３０４および他の適切なデータをイシュア１０６へ送信してもよい（例えば、ＰＯＳ１１０を介して）。
【００９３】
ステップ８１０において、イシュア１０６は、取引データを検証し且つ／または取引の承認または拒否を処理するためにイシュア１０６により使用されてもよいアプリケーション暗号および他の何らかの適切なデータを受信してもよい。ステップ８１２において、イシュア１０６は、暗号の検証を求める要求を取引管理サーバ１０２に提出してもよい。いくつかの実施形態において、要求は、検証暗号を生成するために使用される口座プロファイル６０２を識別する際に取引管理サーバ１０２が使用するのに適する支払証明書３０４および他のデータを含んでもよい。一実施形態において、要求は、検証のために移動装置１０４により生成された２つのアプリケーション暗号を更に含んでもよい。
【００９４】
ステップ８１４において、取引管理サーバ１０２の受信部５０２は暗号要求を受信してもよい。ステップ８１６において、取引管理サーバ１０２の処理部５０４は、上述のように、検証に使用される２つのアプリケーション暗号を生成してもよい。暗号要求が移動装置１０４により生成された２つのアプリケーション暗号を更に含む実施形態において、ステップ８１６は、２つの新規に生成されたアプリケーション暗号を使用して処理部５０４により２つの暗号を検証することを更に含んでもよい。検証暗号または該当する実施形態における検証結果は、送信部５０６によりイシュア１０６へ送信されてもよい。ステップ８１８において、イシュア１０６は検証暗号および／または検証結果を受信してもよい。
【００９５】
ステップ８２０において、イシュア１０６は、取引管理サーバ１０２により生成されたアプリケーション暗号を使用して、移動装置１０４により提供されたアプリケーション暗号を検証してもよい。取引管理サーバ１０２がイシュア１０６に検証結果を提供する実施形態において、ステップ８２０は２つのアプリケーション暗号の各々の検証の結果を識別することを含んでもよい。ステップ８２２において、イシュア１０６は検証の結果に従って支払取引を適宜処理してもよい。ステップ８２４において、取引通知が取引管理サーバ１０２および移動装置１０４へ送信され、ステップ８２６において受信部５０２により受信され、ステップ８２８において受信部２０２により受信されてもよい。
【００９６】
遠隔通知サービス／データメッセージ送信
図９は、取引管理サーバ１０２から移動装置１０４へ送信される遠隔通知サービス（ＲＮＳ）メッセージおよび他のデータメッセージを送信および検証する処理を示す。ＲＮＳメッセージは、移動装置１０４と関連付けられた移動体通信ネットワーク等を使用する遠隔通知サービスを介して送信されてもよい。ＲＮＳメッセージは、支払証明書３０４と、上述したように支払取引を処理する際に使用される口座データ等の他の口座データと、移動装置１０４と取引管理サーバ１０２との間にセキュリティ保護された接続を確立する際に使用されてもよい他の情報とを移動装置１０４へ提供するために使用されてもよい。
【００９７】
ステップ９０２において、取引管理サーバ１０２の処理部５０４はメッセージを生成してもよい。移動装置１０４との相互認証を確立する場合、メッセージは、セッション識別子等の相互認証を確立するのに適した情報を含んでもよい。図９に示した本明細書中で説明する処理を使用して取引管理サーバ１０２と移動装置１０４との間の相互認証が確立済みである場合等の他の例において、生成されるメッセージは支払証明書３０４および口座データを含んでもよく、移動装置１０４のＭＰＡ４０４により実行される１つ以上のコマンド（例えば、使い捨て鍵３０６または支払証明書３０４の除去）を含んでもよく、消費者１０８に対して提示される通知（例えば、口座残高、支払い通知等）であってもよく、あるいは他の適切なデータを含んでもよい。
【００９８】
ステップ９０４において、処理部５０４は生成されたメッセージを暗号化してもよい。メッセージは秘密鍵／公開鍵対の秘密鍵を使用して暗号化されてもよく、その場合、移動装置１０４は対応する公開鍵を有してもよい。いくつかの例において、メッセージは、暗号鍵４１４等の移動装置１０４またはＭＰＡ４０４と関連付けられた暗号鍵を使用して暗号化されてもよい。ステップ９０６において、処理部５０４はメッセージ認証コードを生成してもよい。メッセージ認証コードは暗号化メッセージを使用して生成されてもよく、１つ以上の特別に構成されたルールおよび／またはアルゴリズムを使用して生成される鍵であってもよい。例えばメッセージ認証コードは、パディング等の１つ以上の暗号化／難読化法を使用して生成されてもよい。いくつかの実施形態において、メッセージ認証コードは暗号鍵を使用して生成されてもよい。
【００９９】
ステップ９０８において、取引管理サーバ１０２の送信部５０６は移動装置１０４へ複合データメッセージを送信してもよい。相互認証が実行中であってもよい実施形態において、複合データメッセージは遠隔通知サービスを介して移動装置１０４へ送信される遠隔通知サービスメッセージであってもよい。複合データメッセージはステップ９１０において移動装置１０４の受信部２０２により受信されてもよく、メッセージ認証コードおよび暗号化メッセージを含んでもよい。いくつかの例において、複合データメッセージは、ＭＰＡ４０４が検証するために認識している方法を使用して生成された識別子等の更なる識別子を更に含んでもよい。相互認証が既に実行されている場合等のいくつかの例において、複合データメッセージはメッセージカウンタを更に含んでもよい。
【０１００】
ステップ９１２において、処理部２０４は参照認証コードを生成してもよい。参照認証コードは、受信した暗号化メッセージを使用して生成されてもよく、メッセージ認証コードが信頼できる送信元（例えば、取引管理サーバ１０２）により生成される場合に生成された参照認証コードがメッセージ認証コードに対応するように、取引管理サーバ１０２がメッセージ認証コードを生成するために使用したのと同一のルールおよびアルゴリズムを使用して生成されてもよい。メッセージ認証コードが暗号鍵を使用して生成されてもよい実施形態において、処理部２０４はメモリ２１２に格納された暗号鍵４１４または他の適切な暗号鍵を使用して参照認証コードを生成してもよい。
【０１０１】
ステップ９１４において、処理部２０４は、生成された参照認証コードと比較することにより、受信した複合データメッセージに含まれるメッセージ認証コードを検証してもよい。メッセージカウンタおよびメッセージ認証コードの双方が確認された場合、複合データメッセージは取引管理サーバ１０２から送信されたため信頼できる（例えば、本物である）と判定されてもよい。複合データメッセージがメッセージ識別子を含んでもよい場合、処理部２０４は、メッセージ識別子を生成して比較するためにＭＰＡ４０４が認識している処理を使用してメッセージ識別子を生成することにより、メッセージ識別子を更に検証してもよい。複合データメッセージがメッセージカウンタを含んでもよい実施形態において、処理部２０４は、ＭＰＡ４０４または支払いプロファイル５０２等の移動装置１０４に格納された参照カウンタを用いて、受信した複合データメッセージに含まれるメッセージカウンタを検証してもよい。
【０１０２】
ステップ９１６において、処理部２０４は受信した複合データメッセージに含まれる暗号化メッセージを復号化してもよい。暗号化メッセージは、メモリ２１２（例えば、暗号アプリケーション４１０またはＭＰＡ４０４）またはローカル暗号化データベース（例えば、高度な記憶鍵を使用して暗号化された）に格納された鍵等の鍵を使用して復号化されてもよく、あるいは他の適切な復号化法により復号化されてもよい。ステップ９１８において、処理部２０４は、暗号化メッセージから復号化されたデータに基づいて１つ以上の適切な動作を実行してもよい。図９に示す例において、移動装置１０４は、暗号化メッセージ含まれて処理部２０４により復号化されたセッション識別子等を使用して、取引管理サーバ１０２との相互認証を実行してもよい。ステップ９２０において、取引管理サーバ１０２はセッション識別子を受信し、移動装置１０４との相互認証に必要な何らかの更なる動作を実行してもよい。相互認証が既に実行されている場合、メッセージは、支払証明書４０４、使い捨て鍵４０６、ＭＰＡ４０４に対するプログラム命令等の本明細書中で開示される機能を実行するのに適した他の情報を含んでもよい。
【０１０３】
いくつかの実施形態において、移動装置１０４は返信メッセージを生成して取引管理サーバ１０２に提出するように構成されてもよい（例えば、ＭＰＡ４０４を介して）。いくつかの例において、返信メッセージは、上述したように復号化メッセージにおいて命令されて実行された動作に応答して生成されたデータを含んでもよい。例えば返信メッセージは、支払証明書３０４または使い捨て鍵３０６の有効な受信および格納を示してもよい。他の例において、返信メッセージは複合データメッセージの受信および検証の通知であってもよい。相互認証が最初に実行されている場合、返信メッセージは相互認証を実行するために使用されるセッション識別子を含んでもよい。
【０１０４】
図１０Ａおよび図１０Ｂは、移動装置１０４が返信メッセージを生成して送信し且つ取引管理サーバ１０２がそれを検証する処理を示す。
【０１０５】
ステップ１００２において、移動装置１０４の処理部２０４は受信メッセージを生成してもよい。受信メッセージはＭＰＡ４０４に格納されたプログラムコード４０６に基づいて生成されてもよく、取引管理サーバ１０２から受信して復号化された複合データメッセージにおいて指示されて実行された動作に更に基づいてもよい。例えば受信メッセージは、支払証明書３０４の正常な受信および格納の通知を含んでもよい。ステップ１００４において、処理部２０４は受信カウンタを増分してもよい。受信カウンタは、取引管理サーバ１０２へ送信された受信メッセージの数を示すカウンタであってもよい。受信カウンタはＭＰＡ４０４等のメモリ２１２に格納されてもよく、あるいは高度な記憶鍵を使用して暗号化されたデータベースに格納されてもよい。ステップ１００４はオプションのステップであってもよく、カウンタがデータメッセージの検証に使用される場合のみ使用されてもよいことが当業者には明らかだろう。
【０１０６】
ステップ１００６において、処理部２０４は受信メッセージを暗号化してもよい。受信メッセージは、暗号アプリケーション４１０に格納された暗号鍵４１４を使用して暗号化されてもよい。あるいは、暗号鍵はＭＰＡ４０４またはローカルに暗号化されたデータベースに格納されてもよい。受信メッセージを暗号化するために使用される暗号鍵は鍵対の一部である秘密鍵であってもよく、取引管理サーバ１０２が対応する公開鍵を有する。ステップ１００８において、処理部２０４は、暗号化された受信メッセージに基づいて受信認証コードを生成してもよい。いくつかの実施形態において、受信認証コードは、上述した図９のステップ９１２で示した参照認証コードを生成するために使用されたのと同一のルール、アルゴリズムおよび／または処理を使用して生成されてもよい。
【０１０７】
ステップ１０１０において、移動装置１０４の送信部２０６は取引管理サーバ１０２へ受信通知メッセージを送信してもよい。受信通知メッセージは取引管理サーバ１０２の受信部５０２により受信されてもよく、少なくとも受信認証コード、暗号化された受信メッセージおよび受信カウンタを含んでもよい。いくつかの実施形態において、受信通知メッセージは、移動装置１０４と関連付けられたセルラネットワーク等の移動体通信ネットワークを使用して取引管理サーバ１０２へ送信されてもよい。
【０１０８】
ステップ１０１４において、取引管理サーバ１０２の処理部５０４は確認カウンタを増分してもよい。確認カウンタは移動装置１０４から受信したメッセージの数を示し、移動装置１０４から受信したメッセージの検証に使用されてもよい。確認カウンタは、取引管理サーバ１０２のメモリ５１０または他の適切なデータ記憶装置に格納されてもよい。例えばいくつかの実施形態において、確認カウンタは移動装置１０４に関連する口座プロファイル６０２に格納されてもよい。１つの例において、各口座プロファイル６０２は、取引管理サーバ１０２と対応する取引口座に関連する移動装置１０４との間で送信されるメッセージに対して使用される確認カウンタ（および／または例えばメッセージカウンタ）を含んでもよい。ステップ１０１４はオプションのステップであってもよく、カウンタが返信メッセージの検証に使用されなくてもよい場合は実行されなくてもよいことが当業者には明らかだろう。
【０１０９】
ステップ１０１６において、処理部５０４は確認認証コードを生成してもよい。確認認証コードは、受信通知メッセージに含まれる暗号化された受信メッセージに基づいて生成されてもよく、メッセージ認証コードを生成するために使用されたのと同一のルール、アルゴリズムおよび／または処理を使用して生成されてもよい。ステップ１０１８において、処理部５０４は、確認カウンタと比較することにより、受信通知メッセージに含まれる受信カウンタを検証してもよい。ステップ１０２０において、処理部５０４は、メッセージが許可された移動装置１０４から送信されたことを保証するために、メッセージ認証コードと比較することにより受信認証コードを検証してもよい。
【０１１０】
カウンタ（例えば、該当する場合）および認証コードが検証されると、ステップ１０２２において、処理部５０４は受信した受信通知メッセージに含まれる暗号化メッセージを復号化してもよい。暗号化メッセージは、格納された暗号鍵または他の適切な復号化法を使用して復号化されてもよい。暗号化メッセージは、移動装置１０４により生成された受信メッセージを取得するために復号化されてもよい。ステップ１０２４において、処理部５０４は、受信メッセージに含まれるデータに基づいて、必要に応じて何らかの適切な動作を実行してもよい。例えば受信メッセージが使い捨て鍵３０６の正常な受信および格納の指示を含む場合、処理部２０４は対応する口座プロファイル６０２内の対応する使い捨て鍵６０４を有効にしてもよい。
【０１１１】
データメッセージの検証
図１１は、移動装置１０４により取引管理サーバ１０２から受信されたデータメッセージを検証する処理１１００を示す。
【０１１２】
ステップ１１０２において、移動装置１０４の処理部２０４は、暗号鍵、認証生成鍵、並びにそれらを使用および適用するためのルールおよび／またはアルゴリズムをメモリ２１２または高度な記憶鍵を使用して暗号化されたローカルに暗号化された記憶装置等のローカル記憶装置に格納してもよい。ステップ１１０４において、移動装置１０４の受信部２０２は取引管理サーバ１０２からデータメッセージを受信してもよい。いくつかの実施形態において、データメッセージは、図９に示して上述した処理等を使用して２つの装置間の相互認証を確立した後に取引管理サーバ１０２から受信されてもよい。データメッセージは、少なくともメッセージカウンタ、メッセージ認証コードおよび暗号化メッセージを含んでもよい。
【０１１３】
ステップ１１０６において、処理部２０４は参照カウンタを増分してもよい。参照カウンタはメモリ２１２または他のローカル記憶装置に格納されてもよく、取引管理サーバ１０２から受信したメッセージの数を示すために使用されてもよい。いくつかの例において、参照カウンタはアルゴリズムを使用して増分されてもよく、その場合、参照カウンタは連続番号を使用して増分されるのではなく、移動装置１０４（例えばＭＰＡ４０４を介して）および取引管理サーバ１０２が認識しているアルゴリズムを介して増分されてもよい。
【０１１４】
ステップ１１０８において、処理部２０４は受信したデータメッセージに含まれるメッセージカウンタを検証してもよい。メッセージカウンタの検証は、メッセージカウンタと増分後の参照カウンタの値とを比較することを含んでもよい。検証が失敗した場合、これはデータメッセージの送信元が取引管理サーバ１０２ではないことまたは信頼できない送信元であることを示してもよい。検証が失敗した場合、ステップ１１１０において、処理部２０４は、データメッセージの受信および／または検証の失敗に関連する１つ以上の適切な動作を実行してもよい。例えば処理部２０４はデータメッセージを廃棄してもよく、取引管理サーバ１０２に通知してもよく、関連する支払いプロファイル３０２をロックしてもよく、あるいは当業者には明らかだろう他の動作を実行してもよい。
【０１１５】
メッセージカウンタの検証が成功した場合、処理１１００はステップ１１１２へ進んでもよく、暗号化メッセージがパディングされてもよい。暗号化メッセージのパディングは、暗号化メッセージまたはそれに関連するデータに値を追加することを含んでもよい。パディングは、相互に認識している移動装置１０４および取引管理サーバ１０２により実行される必要があり且つ無許可のエンティティが認証を行わずにデータメッセージを正常に送信または受信するためには再現する必要のある別の機能であってもよいため、メッセージ検証処理のセキュリティを強化するために使用されてもよい。ステップ１１１２はオプションのステップであってもよいことが当業者には明らかだろう。いくつかの実施形態において、ステップ１１１２は処理１１１０のいくつかの例において適用されてもよい。例えば暗号化メッセージは、参照カウンタが特定の値増分された時にパディングされてもよい。
【０１１６】
ステップ１１１４において、処理部２０４は参照認証コードを生成してもよい。参照認証コードは、ステップ１１０２で格納されたルールまたはアルゴリズム等の１つ以上のルールまたはアルゴリズムを使用して、暗号化メッセージ（例えば、該当する場合にパディングされた）に基づいて生成されてもよい。いくつかの実施形態において、参照認証コードは鍵であってもよく、あるいは暗号化メッセージに鍵を適用することにより生成される値であってもよい。ステップ１１１６において、処理部２０４はＲＮＳメッセージにおいて受信したメッセージ認証コードを検証してもよい。受信したデータメッセージが許可された送信元（例えば、取引管理サーバ１０２）から送信されたかを識別する別の方法として、メッセージ認証コードの検証は、メッセージ認証コードと生成された参照認証コードとを比較することを含んでもよい。
【０１１７】
メッセージ認証コードの検証が失敗した場合、処理１１００はステップ１１１０へ進んでもよく、失敗処理が実行される。メッセージ認証コードの検証が成功した場合、ステップ１１１８において、受信したデータメッセージに含まれる暗号化メッセージが処理部２０４により復号化されてもよい。メッセージは、ステップ１１０２で移動装置１０４に格納されたもの等の１つ以上の暗号／復号化鍵、ルールおよび／またはアルゴリズムを使用して復号化されてもよい。例えばメモリ２１２の暗号アプリケーション４１０に格納された暗号鍵４１４が暗号化メッセージを復号化するために使用されてもよい。ステップ１１２０において、処理部２０４は、復号化メッセージの内容に基づいて１つ以上の動作を適宜実行してもよい。例えば復号化メッセージが使い捨て鍵３０６を含む場合、使い捨て鍵３０６は、高度な記憶鍵を使用して暗号化されてもよいカードデータベース２０８の適切な支払いプロファイル３０２に格納されてもよい。
【０１１８】
高度な記憶鍵
図１２は、データを支払いプロファイル３０２等の移動装置１０４にセキュリティ保護して格納するための高度な記憶鍵の移動装置１０４による生成および使用と、セキュアエレメントを使用せずに移動装置１０４においてセキュリティ保護されて格納され且つアクセスされてもよい他のデータとを示す。
【０１１９】
移動装置１０４のメモリ２１２に格納された装置情報４０２は、図１２において装置情報１２０２ａ、１２０２ｂおよび１２０２ｃとして示す３つ以上の装置情報１２０２を含んでもよい。各装置情報１２０２は移動装置１０４と関連付けられてもよい。いくつかの例において、各装置情報１２０２は移動装置１０４に特有であってもよい。他の例において、装置情報１２０２のうちの１つ以上は移動装置１０４に特有でなくてもよい（例えば、モデル番号）が、３つの装置情報１２０２をまとめた場合に移動装置１０４に特有であってもよい（例えば、一意の組み合わせ）。装置情報１２０２は、移動装置１０４の使用期間中に変化しないデータであってもよい。
【０１２０】
移動装置１０４の処理部２０４は、３つの装置情報１２０２ａ、１２０２ｂ、１２０２ｃに基づいて移動装置の指紋１２０４を生成してもよい。移動装置の指紋１２０４は、移動装置１０４に特有の値であってもよく、ＭＰＡ４０４のプログラムコード４０６等に含まれるメモリ２１２に格納された１つ以上のルールまたはアルゴリズムを使用して生成されてもよい。移動装置の指紋１２０４は、例えば数値、１６進数、文字列等であってもよい。
【０１２１】
処理部２０４は、移動装置の指紋１２０４を使用して多様値１２０８を生成するように更に構成されてもよい。多様値は、移動装置の指紋１２０４と、ＭＰＡ４０４のインスタンス識別子４０８と、乱数値１２０６とを組み合わせることにより生成されてもよい。乱数値１２０６は、処理部２０４により生成される乱数または擬似乱数であってもよい。いくつかの例において、乱数値１２０６は、メモリ２１２に格納された１つ以上のルールまたはアルゴリズムに従って生成されてもよい。移動装置の指紋１２０４、インスタンス識別子４０８および乱数値１２０６を組み合わせることは、ＭＰＡ４０４のプログラムコード４０６等に格納された１つ以上のルールまたはアルゴリズムを使用して更に実行されてもよい。多様値を生成するためにインスタンス識別４０８を使用することにより、ＭＰＡ４０４を複数インストールしてもＭＰＡ４０４の他のインスタンスにより格納されたデータにアクセスできないように、ＭＰＡ４０４のインスタンスと関連付けられたデータをセキュリティ保護して格納できるようになってもよい。
【０１２２】
その後、処理部２０４は、暗号アプリケーション４１０に格納された暗号鍵４１４を多様値１２０８に適用することにより、高度な記憶鍵１２１０を生成してもよい。いくつかの例において、高度な記憶鍵１２１０は、暗号鍵４１４を使用して多様値１２０８を復号化することにより生成されてもよい。他の例において、高度な記憶鍵１２１０は、暗号鍵４１４を使用して多様値１２０８を暗号化した結果得られる値であってもよい。いくつかの実施形態において、高度な記憶鍵１２１０は、暗号鍵４１４および多様値１２０８を使用してホワイトボックス暗号化を実行した結果生成されてもよい。
【０１２３】
高度な記憶鍵１２１０が生成されると、処理部２０４は高度な記憶鍵１２１０を使用してローカルデータベース１２１０を暗号化してもよい。ローカルデータベース１２１０は、例えばカードデータベース２０８、１つ以上の支払いプロファイル３０２、メモリ２１２の一部、あるいは他の適切なデータソースで構成されてもよい。いくつかの例において、ローカルデータベース１２１０は、カードデータベース２０８等の移動装置１０４内の別のデータベースの一部であってもよい。例えばカードデータベース２０８は、ＭＰＡ４０４に関連する支払いプロファイル３０２を格納するためのＭＰＡ４０４の各インスタンスに対する別個のローカルデータベース１２１２等の複数のローカルデータベース１２１２を含んでもよい。従って、結果として得られる暗号化されたローカルデータベース１２１４は、インスタンス識別値４０８を含むＭＰＡ４０４の特定のインスタンス以外の移動装置１０４の内部または外部の他のあらゆるアプリケーションプログラムがアクセスできないようにセキュリティ保護してデータを格納してもよい。従って、暗号化されたローカルデータベース１２１４は、支払証明書３０４、使い捨て鍵３０６および他の口座データを格納するのに理想的であってもよく、セキュアエレメントを使用せずに機密口座情報をセキュリティ保護して格納してもよい。
【０１２４】
いくつかの実施形態において、記憶鍵は、暗号化されたローカルデータベース１２１４に格納するために移動装置１０４に暗号化データを提供するために取引管理サーバ１０２により更に使用されてもよい。例えば移動装置１０４の送信部２０６は、生成された乱数値１２０６を取引管理サーバ１０２へ送信してもよい。いくつかの例において、インスタンス識別子４０８が取引管理サーバ１０２へ更に送信されてもよく、あるいはＭＰＡ４０４の登録時等に取引管理サーバ１０２が予め有していてもよい。その後、取引管理サーバ１０２は、高度な記憶鍵１２１０自体を生成し、移動装置１０４に提供される支払証明書３０４、使い捨て鍵３０６等のデータを高度な記憶鍵１２１０を使用して暗号化し、移動装置１０４へ暗号化データを送信してもよい。移動装置１０４は、既に暗号化されたデータを暗号化されたローカルデータベース１２１４に格納してもよい。
【０１２５】
支払取引において支払証明書を生成する第１の例示的な方法
図１３は、セキュアエレメントを有さない移動装置１０４において支払証明書をセキュリティ保護して使用するために２つのアプリケーション暗号を使用することを含む支払取引において支払証明書を生成する方法１３００を示す。
【０１２６】
ステップ１３０２において、少なくとも使い捨て鍵（例えば、使い捨て鍵３０６）が取引口座に関連付けられたメモリ（例えば、支払いプロファイル３０２）に格納されてもよい。いくつかの実施形態において、メモリ３０２は移動通信装置（例えば移動装置１０４）内の非セキュアエレメントメモリであってもよい。ステップ１３０４において、個人識別番号（ＰＩＮ）が受信装置（例えば、受信部２０２および／または入力部２１４）により受信されてもよい。
【０１２７】
ステップ１３０６において、第１のセッション鍵（例えば、第１のセッション鍵３０８）が処理装置（例えば、処理部２０４）により識別されてもよい。ステップ１３０８において、第２のセッション鍵（例えば、第２のセッション鍵３１０）が少なくとも格納された使い捨て鍵３０６および受信したＰＩＮに基づいて処理装置２０４により生成されてもよい。
【０１２８】
ステップ１３１０において、第１のアプリケーション暗号が少なくとも第１のセッション鍵３０８に基づいて処理装置２０４により生成されてもよい。ステップ１３１２において、第２のアプリケーション暗号が少なくとも第２のセッション鍵３１０に基づいて処理装置２０４により生成されてもよい。
【０１２９】
ステップ１３１４において、少なくとも第１のアプリケーション暗号および第２のアプリケーション暗号が支払取引において使用するために送信装置（例えば送信部２０６）により送信されてもよい。いくつかの実施形態において、第１のアプリケーション暗号および第２のアプリケーション暗号はＰＯＳ装置（例えば、ＰＯＳ１１０）へ送信されてもよい。一実施形態において、方法１３００は取引口座に関連するカードマスタ鍵をメモリ３０２に格納することを更に含んでもよく、その場合、第１のセッション鍵３０８を識別することは、少なくとも格納されたカードマスタ鍵に基づいて処理装置２０４により第１のセッション鍵３０８を生成することを含む。
【０１３０】
いくつかの実施形態において、方法１３００は、アプリケーション取引カウンタ（例えば、アプリケーション取引カウンタ３１２）をメモリ３０２に格納することを更に含んでもよく、その場合、第１のセッション鍵３０８を識別することは、少なくとも格納されたアプリケーション取引カウンタ３１２に基づいて処理装置２０４により第１のセッション鍵３０８を生成することを含む。一実施形態において、方法１３００は、第２のセッション鍵３１０を生成する前に、受信したＰＩＮを処理装置２０４により検証することを更に含んでもよい。更なる一実施形態において、処理装置２０４は、受信したＰＩＮの検証が失敗した場合に無効な第２のセッション鍵３１０を生成するように構成されてもよい。
【０１３１】
支払取引において支払証明書を生成する第２の例示的な方法
図１４は、セキュアエレメントを使用せずに移動装置１０４により生成された支払証明書の２つのアプリケーション暗号の検証を使用することを含む支払取引において支払証明書を生成する方法１４００を示す。
【０１３２】
ステップ１４０２において、少なくともカードマスタ鍵（例えば、第１のカードマスタ鍵６１２）が取引口座に関連付けられたメモリ（例えば、口座プロファイル６０２）に格納されてもよい。ステップ１４０４において、第１のセッション鍵（例えば、第１のセッション鍵６０６）が少なくとも格納されたカードマスタ鍵６１２に基づいて処理装置（例えば、処理装置５０４）により生成されてもよい。ステップ１４０６において、第２のセッション鍵（例えば、第２のセッション鍵６０８）が処理装置５０４により生成されてもよい。
【０１３３】
ステップ１４０８において、第１のアプリケーション暗号が少なくとも第１のセッション鍵６０６に基づいて処理装置５０４により生成されてもよい。ステップ１４１０において、第２のアプリケーション暗号が少なくとも第２のセッション鍵６０８に基づいて処理装置５０４により生成されてもよい。ステップ１４１２において、少なくとも第１のアプリケーション暗号および第２のアプリケーション暗号が支払取引において使用するために送信装置（例えば、送信部５０６）により送信されてもよい。
【０１３４】
一実施形態において、方法１４００は、取引口座に関連する取引口座シーケンス番号をメモリ６０２に格納することを更に含んでもよく、その場合、第１のセッション鍵は格納された取引口座シーケンス番号に更に基づく。いくつかの実施形態において、方法１４００は、取引口座に関連する第２のカードマスタ鍵（例えば、第２のカードマスタ鍵６１４）をメモリ６０２に格納することを更に含んでもよく、その場合、第２のセッション鍵６０８は少なくとも格納された第２のカードマスタ鍵６１４に基づく。
【０１３５】
一実施形態において、方法１４００は、第１の対応するアプリケーション暗号および第２の対応するアプリケーション暗号を受信装置（例えば、受信部５０２）により受信することと、処理装置により（ｉ）受信した第１の対応するアプリケーション暗号を生成された第１のアプリケーション暗号に基づいて検証し且つ（ii）受信した第２の対応するアプリケーション暗号を生成された第２のアプリケーション暗号に基づいて検証することと、支払取引において使用するために検証の結果を送信装置５０６により送信することとを更に含んでもよい。更なる一実施形態において、第１の対応するアプリケーション暗号および第２の対応するアプリケーション暗号はＰＯＳ装置（例えば、ＰＯＳ１１０）から受信されてもよい。別の更なる実施形態において、検証の結果は取引口座に関連する金融機関（例えば、イシュア１０６）へ送信されてもよい。
【０１３６】
データメッセージを処理する例示的な方法
図１５は、セキュアエレメントを使用せずに移動装置１０４により受信および検証することを含む遠隔通知サービスを介して受信された遠隔通知メッセージ等のデータメッセージを処理する方法１５００を示す。
【０１３７】
ステップ１５０２において、少なくとも暗号鍵がメモリ（例えば、メモリ２１２）に格納されてもよい。いくつかの実施形態において、メモリ２１２は、移動通信装置（例えば移動装置１０４）内の非セキュアエレメントメモリであってもよい。ステップ１５０４において、データメッセージが受信装置（例えば、受信部２０２）により受信され、その場合、データメッセージは少なくとも暗号化メッセージおよびメッセージ認証コードを含んでもよく、メッセージ認証コードは暗号化メッセージの少なくとも一部分を使用して生成される。いくつかの実施形態において、データメッセージは遠隔通知サービスを介して受信される遠隔通知サービスメッセージであってもよい。
【０１３８】
ステップ１５０６において、受信したデータメッセージに含まれる暗号化メッセージの少なくとも一部分を使用して、参照認証コードが処理装置（例えば、処理部２０４）により生成されてもよい。一実施形態において、メモリ２１２は１つ以上の認証コード生成ルールを更に含んでもよく、参照認証コードは、受信したデータメッセージに含まれる暗号メッセージの一部分に対して格納された１つ以上の認証コード生成ルールを適用することに基づいて生成されてもよい。ステップ１５０８において、受信したデータメッセージは、受信したデータメッセージに含まれるメッセージ認証コードを生成された参照認証コードに対して検査（チェック）することに基づいて処理装置２０４により検証されてもよい。いくつかの実施形態において、メモリは参照カウンタを更に含んでもよく、受信したデータメッセージはメッセージカウンタを更に含んでもよく、受信したデータメッセージは、受信したデータメッセージに含まれるメッセージカウンタを格納された参照カウンタに対してチェックすることに基づいて処理装置２０４により更に検証されてもよい。
【０１３９】
ステップ１５１０において、データメッセージに含まれる暗号化メッセージが、格納された暗号鍵を使用して処理装置２０４により復号化され、復号化メッセージが取得されてもよい。一実施形態において、復号化メッセージは、支払取引において使用されるデジタル化されたカードプロファイル（例えば、支払証明書３０４）および使い捨て鍵（例えば、使い捨て鍵３０６）のうちの少なくとも１つを含んでもよい。いくつかの実施形態において、方法１５００は、１つ以上のデータフォーマッティングルール（データフォーマット化ルール）に基づいて復号化メッセージのデータフォーマットを処理装置２０４によりチェックすることを更に含んでもよい。
【０１４０】
一実施形態において、方法１５００は、受信したデータメッセージに応答する受信通知を送信装置（例えば、送信部２０６）により送信することを更に含んでもよい。更なる一実施形態において、方法１５００は、復号化メッセージに基づいて１つ以上の動作を処理装置２０４により実行することと、１つ以上の動作を実行した結果としてまたは実行された１つ以上の動作に基づく返信メッセージを処理装置２０４により生成することと、暗号化された返信メッセージを取得するために、生成された返信メッセージを格納された暗号鍵を使用して処理装置２０４により暗号化することと、暗号化された返信メッセージの少なくとも一部分を使用して返信認証コードを処理装置２０４により生成することとを更に含んでもよく、その場合、送信される受信通知は暗号化された返信メッセージおよび返信認証コードを含む。更に別の一実施形態において、メモリ２１２は返信カウンタを更に含んでもよく、送信される受信通知は返信カウンタを更に含んでもよい。
【０１４１】
いくつかの実施形態において、方法１５００は、受信したデータメッセージに含まれる暗号化メッセージをパディング鍵を使用して処理装置２０４によりパディングすることを更に含んでもよく、その場合、参照認証コードを生成するために使用される暗号化メッセージの一部分は、パディングされた暗号化メッセージである。更なる一実施形態において、パディング鍵は暗号鍵であってもよい。別の更なる実施形態において、メモリ２１２は認証コードパディングアルゴリズムを更に含んでもよく、パディング鍵を使用して暗号化メッセージをパディングすることは、認証コードパディングアルゴリズムにパディング鍵を適用することに基づいて暗号化メッセージをパディングすることを含んでもよい。
【０１４２】
高度な記憶鍵を作成する例示的な方法
図１６は、セキュアエレメントを使用せずに移動装置１０４においてローカルデータをセキュリティ保護して暗号化し且つ格納するための高度な記憶鍵を作成する方法６００を示す。
【０１４３】
ステップ１６０２において、少なくとも移動通信装置（例えば、移動装置１０４）に関連する装置情報（例えば、装置情報４０２）、第１のアプリケーションプログラム（例えば、モバイル支払いアプリケーション４０４）に関連するプログラムコード（例えば、プログラムコード４０６）、並びに第２のアプリケーションプログラム（例えば、暗号アプリケーション４１０）に関連するプログラムコード（例えば、プログラムコード４１２）が移動通信装置１０４のメモリ（例えば、メモリ２１２）に格納されてもよく、その場合、第１のアプリケーションプログラム４０４に関連するプログラムコード４０６は少なくともインスタンス識別子（例えば、インスタンス識別子４０８）を含み、第２のアプリケーションプログラム４１０に関連するプログラムコード４１２は少なくとも第１の鍵（例えば、暗号鍵４１４）を含む。
【０１４４】
いくつかの実施形態において、装置情報４０２は移動通信装置１０４に関連する１つ以上の一意の識別子を含んでもよい。一実施形態において、インスタンス識別子４０８は、第１のアプリケーションプログラム４０４のインスタンスに特有であってもよい。いくつかの実施形態において、第２のアプリケーションプログラム４１０は、第１の鍵を使用してホワイトボックス暗号化を実行するように構成されてもよい。一実施形態において、第１の鍵は動的鍵であってもよい。いくつかの実施形態において、第２のアプリケーションプログラム４１０に関連するプログラムコード４１２は、第１のアプリケーションプログラム４０４に関連するプログラムコード４０６に含まれてもよい。更なる実施形態において、第２のアプリケーションプログラム４１０は第１のアプリケーションプログラム４０４の実行可能な機能であってもよい。
【０１４５】
ステップ１６０４において、移動通信装置１０４に関連する装置の指紋（例えば、移動装置の指紋１２０４）が、第１のアプリケーションプログラム４０４に関連するプログラムコード４０６を実行することにより、格納された装置情報４０２に基づいて処理装置（例えば、処理部２０４）により生成されてもよい。ステップ１６０６において、乱数値（例えば、乱数値１２０６）が、第１のアプリケーションプログラム４０４に関連するプログラムコード４０６を実行することにより処理装置２０４により生成されてもよい。いくつかの実施形態において、乱数値１２０６は乱数または擬似乱数であってもよい。
【０１４６】
ステップ１６０８において、多様値（例えば多様値１２０８）が、少なくとも生成された装置の指紋１２０４と、生成された乱数値１２０６と、第１のアプリケーションプログラム４０４に関連するプログラムコード４０６に含まれるインスタンス識別子４０８とに基づいて処理装置２０４により作成されてもよい。ステップ１６１０において、作成された多様値１２０８は、第２のアプリケーションプログラム４１０に関連するプログラムコード４１２を実行することにより、第２のアプリケーションプログラム４１０に関連するプログラムコード４１２に格納された第１の鍵を使用して処理装置２０４により復号化されて、記憶鍵（例えば、高度な記憶鍵１２１０）が取得されてもよい。
【０１４７】
いくつかの実施形態において、方法１６００は、移動通信装置１０４のローカルデータベース（例えば、ローカルデータベース１２１２）に保護データを格納することと、ローカルデータベース１２１２に格納された保護データを記憶鍵１２１０を使用して処理装置２０４により暗号化することとを更に含んでもよい。一実施形態において、方法１６００は、第１のアプリケーションプログラム４０４に関連するプログラムデータをメモリ２１２に格納することと、生成された乱数値１２０６を第１のアプリケーションプログラム４０４に関連するプログラムデータに格納することとを更に含んでもよい。
【０１４８】
一実施形態において、方法１６００は、少なくとも乱数値１２０６を送信装置（例えば、送信部２０６）により送信することと、各々が記憶鍵１２１０を使用して暗号化された１つ以上の暗号化パラメータを受信装置（例えば、受信装置２０２）により受信することと、受信した１つ以上の暗号化パラメータを移動通信装置１０４のローカルデータベース１２１２に格納することとを更に含んでもよい。更なる一実施形態において、記憶鍵１２１０は第３者（例えば、取引管理サーバ１０２）へ送信されてもよく、１つ以上の暗号化パラメータは第３者１０２から受信されてもよい。いくつかの更なる実施形態において、インスタンス識別子４０８は送信装置２０６により送信されてもよい。
【０１４９】
コンピュータシステムのアーキテクチャ
図１７は、本発明の実施形態またはその一部がコンピュータ可読コードとして実現されてもよいコンピュータシステム１７００を示す。例えば図１の取引管理サーバ１０２および移動装置１０４は、ハードウェア、ソフトウェア、ファームウェア、命令が格納された非一時的なコンピュータ可読媒体またはそれらの組み合わせを使用してコンピュータシステム１７００において実現されてもよく、１つ以上のコンピュータシステムまたは他の処理システムにおいて実現されてもよい。ハードウェア、ソフトウェアまたはそれらの何らかの組み合わせは、図７、図８、図９Ａ、図９Ｂ、図１０Ａ、図１０Ｂ、図１１および図１３〜図１６の方法を実現するために使用されるモジュールおよび構成要素を実現してもよい。
【０１５０】
プログラム可能論理が使用される場合、そのような論理は市販の処理プラットフォームまたは専用装置において実行してもよい。本発明の実施形態は、マルチコアマルチプロセッサシステム、ミニコンピュータ、メインフレームコンピュータ、分散機能を用いてリンクされるかまたはクラスタ化されたコンピュータ、並びに事実上あらゆる装置に埋め込まれてもよいパーベイシブまたは小型コンピュータを含む種々のコンピュータシステム構成を用いて実施可能であることが当業者には理解されるだろう。例えば少なくとも１つのプロセッサ装置およびメモリが上述した実施形態を実現するために使用されてもよい。
【０１５１】
本明細書中で説明するプロセッサユニットまたは装置は、単一のプロセッサ、複数のプロセッサまたはそれらの組み合わせであってもよい。プロセッサ装置は１つ以上のプロセッサ「コア」を有してもよい。本明細書中で説明する用語「コンピュータプログラム媒体」、「非一時的なコンピュータ可読媒体」および「コンピュータ使用可能媒体」は、取外し可能記憶装置１７１８、取外し可能記憶装置１７２２およびハードディスクドライブ１７１２にインストールされたハードディスク等の有形媒体を一般に示すために使用される。
【０１５２】
本例のコンピュータシステム１７００に関して、本発明の種々の実施形態を説明する。本説明を読むことにより、他のコンピュータシステムおよび／またはコンピュータアーキテクチャを使用して本発明を実現する方法が当業者には明らかになるだろう。動作は一連の処理として説明されてもよいが、動作のうちのいくつかは実際は並行して、同時におよび／または分散環境で実行されてもよく、単一のプロセッサマシンまたはマルチプロセッサマシンがアクセスするためにローカルにまたはリモートに格納されたプログラムコードを用いて実行されてもよい。更に、いくつかの実施形態において、動作の順序は、本発明の主旨から逸脱することなく並べ替えられてもよい。
【０１５３】
プロセッサ装置１７０４は専用または汎用プロセッサ装置であってもよい。プロセッサ装置１７０４は、バス、メッセージキュー、ネットワーク、マルチコアメッセージパッシングスキーム等の通信インフラストラクチャ１７０６に接続されてもよい。ネットワークは、本明細書中で開示される機能を実行するのに適したあらゆるネットワークであってもよく、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、無線ネットワーク（例えば、ＷｉＦｉ）、移動体通信ネットワーク、衛星ネットワーク、インターネット、光ファイバ、同軸ケーブル、赤外線、無線周波数（ＲＦ）またはそれらの何らかの組み合わせを含んでもよい。他の適切なネットワークの種類および構成は当業者には明らかだろう。コンピュータシステム１７００はメインメモリ１７０８（例えば、ランダムアクセスメモリ、読み出し専用メモリ等）を更に含んでもよく、補助メモリ１７１０を更に含んでもよい。補助メモリ１７１０は、ハードディスクドライブ１７１２と、フロッピディスクドライブ、磁気テープドライブ、光ディスクドライブ、フラッシュメモリ等の取外し可能記憶装置ドライブ１７１４とを含んでもよい。
【０１５４】
取外し可能記憶装置ドライブ１７１４は、既知の方法で取外し可能記憶装置１７１８との間で読み出しおよび／または書き込みを行ってもよい。取外し可能記憶装置１７１８は、取外し可能記憶装置ドライブ１７１４により読み出され且つ書き込まれてもよい取外し可能記憶媒体を含んでもよい。例えば取外し可能記憶装置ドライブ１７１４がフロッピディスクドライブまたはユニバーサルシリアルバスポートである場合、取り外し可能記憶装置１７１８はそれぞれフロッピディスクまたはポータブルフラッシュドライブであってもよい。一実施形態において、取り外し可能記憶装置１７１８は非一時的なコンピュータ可読記録媒体であってもよい。
【０１５５】
いくつかの実施形態において、補助メモリ１７１０は、コンピュータプログラムまたは他の命令がコンピュータシステム１７００にロードされるようにする例えば取外し可能記憶装置１７２２およびインタフェース１７２０である別の手段を含んでもよい。当業者には明らかなように、そのような手段の例は、プログラムカートリッジおよびカートリッジインタフェース（例えば、ビデオゲームシステムにおいて見られる）、取外し可能メモリチップ（例えば、ＥＥＰＲＯＭ、ＰＲＯＭ等）および関連するソケット、並びに他の取外し可能記憶装置１７２２およびインタフェース１７２０を含んでもよい。
【０１５６】
コンピュータシステム１７００（例えば、メインメモリ１７０８および／または補助メモリ１７１０）に格納されたデータは、光記憶装置（例えば、コンパクトディスク、デジタル多目的ディスク、ブルーレイディスク等）または磁気テープ記憶装置（例えば、ハードディスクドライブ）等の何らかの種類の適切なコンピュータ可読媒体に格納されてもよい。データは、関係データベース、構造化照会言語（ＳＱＬ）データベース、分散データベース、オブジェクトデータベース等の何らかの種類の適切なデータベース構成において構成されてもよい。適切な構成および記憶装置の種類は当業者には明らかだろう。
【０１５７】
コンピュータシステム１７００は通信インタフェース１７２４を更に含んでもよい。通信インタフェース１７２４は、ソフトウェアおよびデータがコンピュータシステム１７００と外部装置との間で転送されるようにするように構成されてもよい。通信インタフェース１７２４の例は、モデム、ネットワークインタフェース（例えば、イーサネットカード）、通信ポート、ＰＣＭＣＩＡスロット／カード等を含んでもよい。通信インタフェース１７２４を介して転送されるソフトウェアおよびデータは、電気信号、電磁信号、光信号または当業者には明らかだろう他の信号であってもよい信号の形態であってもよい。信号は、信号を搬送するように構成されてもよく且つワイヤ、ケーブル、光ファイバ、電話線、携帯電話リンク、無線周波数リンク等を使用して実現されてもよい通信パス１７２６を介して移動してもよい。
【０１５８】
コンピュータシステム１７００はディスプレイインタフェース１７０２を更に含んでもよい。ディスプレイインタフェース１７０２は、データがコンピュータシステム１７００と外部ディスプレイ１７３０との間で転送されるようにするように構成されてもよい。ディスプレイインタフェース１７０２の例は、高精細度マルチメディアインタフェース（ＨＤＭＩ）、デジタルビジュアルインタフェース（ＤＶＩ）、ビデオグラフィックアレイ（ＶＧＡ）等を含んでもよい。ディスプレイ１７３０は、陰極線管（ＣＲＴ）ディスプレイ、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、容量性タッチディスプレイ、薄膜トランジスタ（ＴＦＴ）ディスプレイ等を含むコンピュータシステム１７００のディスプレイインタフェース１７０２を介して送信されたデータを表示するあらゆる適切な種類のディスプレイであってもよい。
【０１５９】
コンピュータプログラム媒体およびコンピュータ使用可能媒体は、メモリ半導体（例えば、ＤＲＡＭ等）であってもよいメインメモリ１７０８および補助メモリ１７１０等のメモリを示してもよい。それらのコンピュータプログラム製品は、コンピュータシステム１７００にソフトウェアを提供する手段であってもよい。コンピュータプログラム（例えば、コンピュータ制御論理）は、メインメモリ１７０８および／または補助メモリ１７１０に格納されてもよい。コンピュータプログラムは、通信インタフェース１７２４を介して更に受信されてもよい。そのようなコンピュータプログラムは、実行される場合、本明細書中で説明する本方法をコンピュータシステム１７００が実行できるようにしてもよい。特にコンピュータプログラムは、実行される場合、本明細書中で説明する図７、図８、図９Ａ、図９Ｂ、図１０Ａ、図１０Ｂ、図１１および図１３〜図１６により示す方法をプロセッサ装置１７０４が実現できるようにしてもよい。従って、そのようなコンピュータプログラムはコンピュータシステム１７００の制御器を表してもよい。本発明がソフトウェアを使用して実現される場合、ソフトウェアはコンピュータプログラム製品に格納され、取外し可能記憶装置ドライブ１７１４、インタフェース１７２０およびハードディスクドライブ１７１２を使用してまたは通信インタフェース１７２４を使用してコンピュータシステム１７００にロードされてもよい。
【０１６０】
本発明と一致する技術は、他の特徴の中でも特に、遠隔通知サービスメッセージを送信し且つ検証することと高度な記憶鍵を使用してデータをセキュリティ保護して格納することとを含むセキュアエレメントを使用せずに移動装置を使用して支払取引を処理するシステムおよび方法を提供する。開示されるシステムおよび方法の種々の例示的な実施形態を上述したが、それらは限定するためでなく説明するために提示されたにすぎないことが理解されるべきである。これは網羅的でなく、開示される正確な形式に本発明を限定するものでない。変更および変形が上記の教示を鑑みて可能であり、あるいは本発明の範囲から逸脱せずに本発明を実施することから取得されてもよい。
【図１】
2020074566.tif 000003
【図２】
2020074566.tif 000004
【図３】
2020074566.tif 000005
【図４】
2020074566.tif 000006
【図５】
2020074566.tif 000007
【図６】
2020074566.tif 000008
【図７】
2020074566.tif 000009
【図８】
2020074566.tif 000010
【図９】
2020074566.tif 000011
【図１０Ａ】
2020074566.tif 000012
【図１０Ｂ】
2020074566.tif 000013
【図１１】
2020074566.tif 000014
【図１２】
2020074566.tif 000015
【図１３】
2020074566.tif 000016
【図１４】
2020074566.tif 000017
【図１５】
2020074566.tif 000018
【図１６】
2020074566.tif 000019
【図１７】
2020074566.tif 000020
【手続補正書】
【提出日】令和2年2月3日(2020.2.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
アドバンスド記憶鍵を作る方法であって、
モバイル通信デバイスの処理デバイスが、前記モバイル通信デバイスに関連付けられたプロセッサ可読命令の第１集合の実行を介して、前記モバイル通信デバイスに関連付けられたデバイス指紋を、記憶されるデバイス情報に基づいて生成することと、
前記処理デバイスが、ランダム値を生成することと、
前記処理デバイスが、少なくとも、前記生成されたデバイス指紋と、前記生成されたランダム値と、プロセッサ可読命令の前記第１集合に含まれるインスタンス識別子と、に基づいて多様値を作ることと、
前記処理デバイスが、前記作られた多様値を、プロセッサ可読命令の第２集合に含まれる第１鍵を用いて、プロセッサ可読命令の前記第２集合の実行を介して、復号し、記憶鍵を取得することと、  
前記処理デバイスが、前記モバイル通信デバイスのローカルデータベースに保護データを格納することと、
前記処理デバイスが、前記ローカルデータベースに格納された前記保護データを、前記記憶鍵を用いて暗号化することと、を含む方法。
【請求項２】
前記デバイス情報が、前記モバイル通信デバイスに関連付けられたひとつ以上の一意の識別子を含む請求項１に記載の方法。
【請求項３】
前記ランダム値が、ランダム数または疑似ランダム数である請求項１に記載の方法。
【請求項４】
プロセッサ可読命令の前記第２集合が、前記第１鍵を用いてホワイトボックス暗号化を行うよう構成される請求項１に記載の方法。
【請求項５】
前記第１鍵が動的鍵である請求項１に記載の方法。
【請求項６】
プロセッサ可読命令の前記第２集合が、プロセッサ可読命令の前記第１集合に含まれる請求項１に記載の方法。
【請求項７】
プロセッサ可読命令の前記第２集合が、プロセッサ可読命令の前記第１集合の実行可能ファンクションである請求項６に記載の方法。
【請求項８】
送信デバイスが、少なくとも前記生成されたランダム値を送信することと、
受信デバイスが、ひとつ以上の暗号化されたパラメータを受信することであって、前記ひとつ以上の暗号化されたパラメータがそれぞれ前記記憶鍵を用いて暗号化される、受信することと、
前記受信されたひとつ以上の暗号化されたパラメータを前記モバイル通信デバイスのローカルデータベースに格納することと、をさらに含む請求項１に記載の方法。
【請求項９】
少なくとも前記生成されたランダム値を送信することが、さらに、前記インスタンス識別子を送信することを含む請求項８に記載の方法。
【請求項１０】
プログラムを保持するよう構成された非一時的コンピュータ可読記録媒体であって、前記プログラムは、モバイル通信デバイスの処理デバイスに、アドバンスド記憶鍵を作る方法を実行させ、前記方法は、
モバイル通信デバイスの処理デバイスが、前記モバイル通信デバイスに関連付けられたプロセッサ可読命令の第１集合の実行を介して、前記モバイル通信デバイスに関連付けられたデバイス指紋を、記憶されるデバイス情報に基づいて生成することと、
前記処理デバイスが、ランダム値を生成することと、
前記処理デバイスが、少なくとも、前記生成されたデバイス指紋と、前記生成されたランダム値と、プロセッサ可読命令の前記第１集合に含まれるインスタンス識別子と、に基づいて多様値を作ることと、
前記処理デバイスが、前記作られた多様値を、プロセッサ可読命令の第２集合に含まれる第１鍵を用いて、プロセッサ可読命令の前記第２集合の実行を介して、復号し、記憶鍵を取得することと、
前記処理デバイスが、前記モバイル通信デバイスのローカルデータベースに保護データを格納することと、
前記処理デバイスが、前記ローカルデータベースに格納された前記保護データを、前記記憶鍵を用いて暗号化することと、を含む非一時的コンピュータ可読記録媒体。
【請求項１１】
前記デバイス情報が、前記モバイル通信デバイスに関連付けられたひとつ以上の一意の識別子を含む請求項１０に記載の非一時的コンピュータ可読記録媒体。
【請求項１２】
前記ランダム値が、ランダム数または疑似ランダム数である請求項１０に記載の非一時的コンピュータ可読記録媒体。
【請求項１３】
プロセッサ可読命令の前記第２集合が、前記第１鍵を用いてホワイトボックス暗号化を行うよう構成される請求項１０に記載の非一時的コンピュータ可読記録媒体。
【請求項１４】
前記第１鍵が動的鍵である請求項１０に記載の非一時的コンピュータ可読記録媒体。
【請求項１５】
プロセッサ可読命令の前記第２集合が、プロセッサ可読命令の前記第１集合に含まれる請求項１０に記載の非一時的コンピュータ可読記録媒体。
【請求項１６】
プロセッサ可読命令の前記第２集合が、プロセッサ可読命令の前記第１集合の実行可能ファンクションである請求項１５に記載の非一時的コンピュータ可読記録媒体。
【請求項１７】
前記方法はさらに、
送信デバイスが、前記生成されたランダム値を送信することと、  
受信デバイスが、ひとつ以上の暗号化されたパラメータを受信することであって、前記ひとつ以上の暗号化されたパラメータがそれぞれ前記記憶鍵を用いて暗号化される、受信することと、
前記受信されたひとつ以上の暗号化されたパラメータを前記モバイル通信デバイスのローカルデータベースに格納することと、を含む請求項１０に記載の非一時的コンピュータ可読記録媒体。
【請求項１８】
前記生成されたランダム値を送信することが、さらに、前記インスタンス識別子を送信することを含む請求項１７に記載の非一時的コンピュータ可読記録媒体。
【外国語明細書】
2020074566000001.pdf