(57)【要約】【課題】ユーザデバイスのセキュアエレメントにアクセスすることなく支払取引を安全に処理することを可能にする方法およびシステムを提供する。【解決手段】アカウント管理システムが、秘密アプリケーション取引カウンタ(ATC)のバンドルと、対応する公開ATCのバンドルとを作成し、これらをユーザデバイスに送信する。デバイスは、秘密ATCのバンドルのうちの1つと、マーチャントから受信した取引番号とを使用して、セキュリティコードを算出する。マーチャントは、代理アカウント情報のイシュアとしてのアカウント管理システムに、支払要求を送信する。アカウント管理システムは、公開ATCを使用して秘密ATCを取り出し、セキュリティコードを再計算することによってセキュリティコードの有効性を決定する。アカウント管理システムは、金融アカウント情報を取り出し、イシュアに許可を要求する。【選択図】図１
2018136984.tif 000002
【特許請求の範囲】
【請求項１】
金融取引を処理するためのコンピュータ実装方法であって、
コンピューティングデバイスによって、支払取引を処理するための支払情報を求める要求をマーチャントコンピューティングシステムから受信するステップであって、前記支払要求が、支払アカウント情報を求める要求と取引コードとを含む、ステップと、
支払情報を求める前記要求を受信するのに応答して、前記コンピューティングデバイスによって、支払情報を求める前記要求を処理するステップであって、前記処理が前記コンピューティングデバイスの非セキュアエレメントプロセッサによって実施され、前記要求を処理するステップが、支払アカウント情報と、公開アプリケーション取引カウンタのバンドルのうちの1つと、秘密アプリケーション取引カウンタの対応するバンドルのうちの1つとを取り出すステップを含む、ステップと、
前記コンピューティングデバイスによって、前記取引コードと秘密アプリケーション取引カウンタの前記バンドルのうちの前記1つとを使用してセキュリティコードを生成するステップと、
前記コンピューティングデバイスによって、支払情報を求める前記要求に対する応答を前記マーチャントコンピューティングシステムに送信するステップであって、前記応答が、前記取り出された支払アカウント情報と、公開アプリケーション取引カウンタの前記バンドルのうちの前記取り出された1つと、前記生成されたセキュリティコードとを含み、前記応答の中の前記情報が、支払承認のために、支払要求の中で前記マーチャントコンピューティングシステムによってアカウント管理システムに送信される、ステップと、
前記コンピューティングデバイスによって、承認された支払取引の通知を受信するステップであって、前記アカウント管理システムが、前記支払要求の中で受信された、公開アプリケーション取引カウンタの前記バンドルのうちの前記1つおよび前記生成されたセキュリティコードの有効性を確認して、前記支払取引を承認した、ステップと、を含む、コンピュータ実装方法。
【請求項２】
前記公開アプリケーション取引カウンタが、事前定義済みの期間の後に失効する、請求項1に記載のコンピュータ実装方法。
【請求項３】
公開アプリケーション取引カウンタの前記バンドルのうちのそれぞれが、単一の取引に有効である、請求項1に記載のコンピュータ実装方法。
【請求項４】
前記コンピューティングデバイスによって、公開アプリケーション取引カウンタの前記バンドル、および対応する秘密アプリケーション取引カウンタの前記バンドルを、前記アカウント管理システムから受信するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項５】
公開アプリケーション取引カウンタの前記バンドルが、時間および回数の制限を有するランダムに生成された値のセットを含む、請求項1に記載のコンピュータ実装方法。
【請求項６】
前記コンピューティングデバイスによって代理アカウント情報を受信するステップをさらに含み、前記支払アカウント情報が前記代理アカウント情報を含む、請求項1に記載のコンピュータ実装方法。
【請求項７】
前記セキュリティコードが、動的なカード検証番号である、請求項1に記載のコンピュータ実装方法。
【請求項８】
前記コンピューティングデバイスによって、公開アプリケーション取引カウンタの前記バンドルおよび対応する秘密アプリケーション取引カウンタの前記バンドルが利用可能であり失効していないと決定するステップをさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項９】
前記アカウント管理システムによって操作される1つまたは複数のコンピューティングデバイスによって公開アプリケーション取引カウンタの前記バンドルのうちの前記1つの有効性を確認することが、公開アプリケーション取引カウンタの前記バンドルのうちの前記1つが失効していないかまたは前に使用されていないと決定するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項１０】
前記アカウント管理システムが、前記支払要求の中で受信された公開アプリケーション取引カウンタの前記バンドルのうちの前記1つを使用して前記秘密アプリケーション取引カウンタを取り出し、秘密アプリケーション取引カウンタの前記バンドルのうちの前記対応する1つが使用されて、前記生成されたセキュリティコードが再計算される、請求項1に記載のコンピュータ実装方法。
【請求項１１】
前記アカウント管理システムが、前記支払要求の中で受信された前記生成されたセキュリティコードに前記再計算されたセキュリティコードが一致することを確認することによって、前記生成されたセキュリティコードの有効性を確認する、請求項10に記載のコンピュータ実装方法。
【請求項１２】
コンピュータによって実行されたときに前記コンピュータに金融取引を処理させるコンピュータ可読プログラム命令が組み入れられた非一時的なコンピュータ可読媒体を備えるコンピュータプログラム製品であって、前記コンピュータ可読プログラム命令が、
公開アプリケーション取引カウンタのバンドル、および秘密アプリケーション取引カウンタの対応するバンドルを、アカウント管理システムから受信するためのコンピュータ可読プログラム命令と、
支払取引を処理するための支払情報を求める要求をマーチャントコンピューティングシステムから受信するためのコンピュータ可読プログラム命令であって、前記支払要求が、支払アカウント情報を求める要求と取引コードとを含む、コンピュータ可読プログラム命令と、
支払情報を求める前記要求を受信するのに応答して、支払情報を求める前記要求を処理するためのコンピュータ可読プログラム命令であって、前記処理が非セキュアエレメントプロセッサによって実施され、前記要求を処理することが、支払アカウント情報と、公開アプリケーション取引カウンタの前記バンドルのうちの1つと、対応する秘密アプリケーション取引カウンタの前記バンドルのうちの1つとを取り出すことを含む、コンピュータ可読プログラム命令と、
前記取引コードと、対応する秘密アプリケーション取引カウンタの前記バンドルのうちの前記1つとを使用してセキュリティコードを生成するためのコンピュータ可読プログラム命令と、
支払情報を求める前記要求に対する応答を前記マーチャントコンピューティングシステムに送信するためのコンピュータ可読プログラム命令であって、前記応答が、前記取り出された支払アカウント情報と、公開アプリケーション取引カウンタの前記バンドルのうちの前記取り出された1つと、前記生成されたセキュリティコードとを含み、前記応答の中の前記情報が、支払承認のために、支払要求の中でアカウント管理システムに送信される、コンピュータ可読プログラム命令と、
承認された支払取引の通知を受信するためのコンピュータ可読プログラム命令であって、前記アカウント管理システムが、前記支払要求の中で受信された、公開アプリケーション取引カウンタの前記バンドルのうちの前記1つおよび前記生成されたセキュリティコードの有効性を確認した、コンピュータ可読プログラム命令と、を含む、コンピュータプログラム製品。
【請求項１３】
公開アプリケーション取引カウンタの前記バンドルが、時間および回数の制限を有するランダムに生成された値のセットを含む、請求項12に記載のコンピュータプログラム製品。
【請求項１４】
前記アカウント管理システムが、前記支払要求の中で受信された公開アプリケーション取引カウンタの前記バンドルのうちの前記1つを使用して対応する秘密アプリケーション取引カウンタの前記バンドルのうちの前記1つを取り出し、対応する秘密アプリケーション取引カウンタの前記バンドルのうちの前記取り出された1つが使用されて、前記生成されたセキュリティコードが再計算される、請求項12に記載のコンピュータプログラム製品。
【請求項１５】
前記アカウント管理システムが、前記支払要求の中で受信された前記生成されたセキュリティコードに前記再計算されたセキュリティコードが一致することを確認することによって、前記生成されたセキュリティコードの有効性を確認する、請求項14に記載のコンピュータプログラム製品。
【請求項１６】
金融取引を処理するためのシステムであって、
ユーザコンピューティングデバイスを備え、
前記ユーザコンピューティングデバイスが、記憶デバイスと、前記記憶デバイスに通信可能に結合された非セキュアエレメントプロセッサとを備え、前記非セキュアエレメントプロセッサが、前記記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
支払取引を処理するための支払情報を求める要求をマーチャントコンピューティングシステムから受信することであって、前記支払要求が、支払アカウント情報を求める要求と取引コードとを含むこと、
支払情報を求める前記要求を処理することであって、前記要求を処理することが、支払アカウント情報と、公開アプリケーション取引カウンタのバンドルのうちの1つと、対応する秘密アプリケーション取引カウンタのバンドルのうちの1つとを取り出すことを含むこと、
前記取引コードと、対応する秘密アプリケーション取引カウンタの前記バンドルのうちの前記1つとを使用してセキュリティコードを生成すること、および、
支払情報を求める前記要求に対する応答を前記マーチャントコンピューティングシステムに送信することであって、前記応答が、前記取り出された支払アカウント情報と、前記セキュリティコードと、公開アプリケーション取引カウンタの前記バンドルのうちの前記取り出された1つとを含むこと、を行わせ、
前記システムがさらにアカウント管理コンピューティングシステムを備え、
前記アカウント管理コンピューティングシステムが、1つまたは複数の記憶デバイスに通信可能に結合された1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサが、前記1つまたは複数の記憶デバイスに記憶されたアプリケーションコード命令を実行して、前記システムに、
支払要求を前記マーチャントコンピューティングシステムから受信することであって、前記支払要求が、前記取り出された支払アカウント情報と、公開アプリケーション取引カウンタの前記バンドルのうちの前記取り出された1つとを含むこと、
公開アプリケーション取引カウンタの前記バンドルのうちの前記1つの有効性を確認すること、
前記生成されたセキュリティコードの有効性を確認すること、および、
承認された支払取引の通知を前記マーチャントコンピューティングシステムに送信すること、を行わせる、システム。
【請求項１７】
公開アプリケーション取引カウンタの前記バンドルが、時間および回数の制限を有するランダムに生成された値のセットを含む、請求項16に記載のシステム。
【請求項１８】
前記アカウント管理コンピューティングシステムが、前記支払要求の中で受信された公開アプリケーション取引カウンタの前記バンドルのうちの前記1つを使用して、対応する秘密アプリケーション取引カウンタの前記バンドルのうちの前記1つを取り出し、対応する秘密アプリケーション取引カウンタの前記バンドルのうちの前記取り出された1つが使用されて、前記生成されたセキュリティコードが再計算される、請求項16に記載のシステム。
【請求項１９】
前記アカウント管理コンピューティングシステムが、前記支払要求の中で受信された前記生成されたセキュリティコードに前記再計算されたセキュリティコードが一致することを確認することによって、前記生成されたセキュリティコードの有効性を確認する、請求項18に記載のシステム。
【請求項２０】
公開アプリケーション取引カウンタの前記バンドルのうちの前記1つの有効性を確認することが、公開アプリケーション取引カウンタの前記バンドルのうちの前記1つが失効しておらず前に使用されていないと決定することを含む、請求項16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本特許出願は、2013年10月30日に出願した「Securing Payment Transactions With Rotating Application Transaction Counters」という名称の米国特許出願第61/897,520号に対して米国特許法第119条に基づき優先権を主張するものである。上に識別した出願の内容全体は、参照により本明細書に完全に組み込まれる。
【０００２】
本開示は、一般に、支払システムに関し、より詳細には、ユーザデバイスのセキュアエレメントにアクセスすることなく支払取引を安全に処理することを可能にする方法およびシステムに関する。
【背景技術】
【０００３】
現在の近接場通信(NFC)システムは、通信デバイスにインストールされた「セキュアエレメント」または「セキュアメモリ」と一般に呼ばれるハードウェアコンポーネントに依拠して、金融取引、公共交通チケット発行、識別および認証、物理セキュリティアクセス、ならびに他の機能のための安全な動作環境を提供する。セキュアエレメントは一般に、改ざん防止機能付きマイクロプロセッサと、メモリと、オペレーティングシステムとを有するそれ自体の動作環境を含む。NFCコントローラが、マーチャントの販売時点情報管理(POS)システムから支払要求メッセージを受信し、このメッセージを処理のためにセキュアエレメントに送信する。トラステッドサービスマネージャ(TSM)または他の形の安全なサービスプロバイダが、とりわけ、セキュアエレメント中でアプリケーションおよびデータをインストール、プロビジョニング、および個人化することができる。セキュアエレメントは、1つまたは複数のアクセス鍵を有するが、この鍵は通常、製造時にインストールされる。対応する鍵がTSMによって共有され、それにより、TSMは、セキュアエレメントを有するデバイスがエンドユーザに所有されている間、セキュアエレメントのインストール、プロビジョニング、および個人化のための、セキュアエレメントへの暗号的に安全なチャネルを確立することができる。このようにして、セキュアエレメントは、デバイス中のホストCPUが危険にさらされた場合でも安全なままでいることができる。
【０００４】
現在のNFCシステムの欠陥の1つは、セキュアエレメントとTSMとの間に堅い結合が存在することである。現在の展開では、1つのTSMのみが、特定のセキュアエレメントの鍵へのアクセスを有する。したがって、エンドユーザは、1つのTSMのみによって供給されるセキュアエレメント機能をプロビジョニングすることしか選ぶことができない。通常、デバイスの製造業者がこのTSMを選ぶ。例えば、スマートフォン製造業者が、電話会社Aなど、エンドユーザではなくスマートフォンを購入するモバイルネットワークオペレータ(MNO)からの指導の下で、スマートフォンに対するTSMを選択する場合がある。したがって、エンドユーザに利用可能なTSM機能は、エンドユーザの利益になるものではないことがある。例として、MNOは、銀行Xなど、1つの支払プロバイダのみと業務関係を有する場合がある。このTSMは、この1つの支払プロバイダのみからの支払命令を用いるセキュアエレメントのプロビジョニングしか可能にすることができないであろう。したがって、エンドユーザは、銀行Zなど、他の支払プロバイダからのサービスにアクセスできないことになる。
【発明の概要】
【課題を解決するための手段】
【０００５】
本明細書に開示するいくつかの例示的な態様では、支払取引を処理する方法は、使用制限付き金融アカウント情報およびアプリケーション取引カウンタを含む。アカウント管理システムが、使用制限付き金融アカウント情報と、公開アプリケーション取引カウンタのバンドルと、対応する秘密アプリケーション取引カウンタのバンドルとを作成し、この情報を、支払取引において使用されるようにユーザデバイスに送信する。ユーザデバイスは、支払情報を求める要求をマーチャントシステムから受信し、ユーザデバイス上のセキュアエレメントプロセッサにアクセスすることなくこの要求を処理する。ユーザデバイスは、秘密アプリケーションカウンタと、マーチャントシステムから受信した取引番号とを使用して、セキュリティコードを算出する。ユーザデバイスは、使用制限付き金融アカウント情報と、算出したセキュリティコードと、公開アプリケーション取引カウンタのバンドルのうちの1つとを、マーチャントシステムに送信する。マーチャントシステムは、使用制限付き金融アカウント情報のイシュアとしてのアカウント管理システムに、支払要求を送信する。アカウント管理システムは、公開アプリケーション取引カウンタの有効性を決定し、公開アプリケーション取引カウンタを使用して、対応する秘密アプリケーション取引カウンタを検索する。アカウント管理システムは、秘密アプリケーション取引カウンタと、マーチャントシステムから受信した取引番号とを使用してセキュリティコードを再計算することによって、セキュリティコードの有効性を決定する。アカウント管理システムは、ユーザの金融アカウント情報を取り出し、支払取引について金融アカウントのイシュアに許可を要求する。
【０００６】
本明細書に記載の他のいくつかの態様では、支払取引を処理するためのシステムおよびコンピュータプログラム製品が提供される。
【０００７】
例示的な実施形態のこれらおよび他の態様、目的、特徴、および利点は、例証される例示的な実施形態に関する後続の詳細な記述を考慮すれば、当業者には明らかになるであろう。
【図面の簡単な説明】
【０００８】
【図１】いくつかの例示的な実施形態による、支払処理システムを描いたブロック図である。
【図２】いくつかの例示的な実施形態による、使用制限付き金融アカウント情報およびアプリケーション取引カウンタを使用して支払取引を処理する方法を描いたブロック流れ図である。
【図３】いくつかの例示的な実施形態による、使用制限付き金融アカウント情報およびアプリケーション取引カウンタをユーザデバイス上に保存する方法を描いたブロック流れ図である。
【図４】いくつかの例示的な実施形態による、使用制限付き金融アカウント情報、算出された動的なカード検証コード、および公開アプリケーション取引カウンタを端末リーダに送信する方法を描いたブロック流れ図である。
【図５】いくつかの例示的な実施形態による、新しい使用制限付きアプリケーション取引カウンタをユーザデバイスに提供する方法を描いたブロック流れ図である。
【図６】使用制限付き金融アカウント情報、公開アプリケーション取引カウンタ、および算出された動的なカード検証コードを使用して支払取引を承認する方法を描いたブロック流れ図である。
【図７】いくつかの例示的な実施形態による、コンピュータマシンおよびモジュールを描いたブロック図である。
【発明を実施するための形態】
【０００９】
概観
本明細書に記載の例示的な実施形態は、ユーザデバイスのセキュアエレメントにアクセスすることなく支払取引を処理することを可能にする方法およびシステムを提供する。例示的な一実施形態では、ユーザが、支払情報をユーザデバイスから端末リーダに送信することによって、マーチャントシステムとのワイヤレス支払取引を行っている。ユーザデバイス上にあるセキュアエレメントは、製造時にTSMに堅く結合されているものとすることができ、それにより、セキュアエレメント上でプロビジョニングされていない支払アカウントについてユーザが支払命令を提供することが防止される。例示的な一実施形態では、ユーザデバイスは、アプリケーションおよびアプリケーション取引カウンタ(ATC)を備え、これらは、セキュアエレメントにアクセスすることなく支払取引を安全に処理することを許容する。
【００１０】
ユーザが、アプリケーション管理システムに登録し、金融アカウント情報を提供するが、この金融アカウント情報は、アカウント管理システムによってユーザアカウント中で維持されることになる。アカウント管理システムは、システムに提供されたユーザの金融アカウント情報に対応する、使用制限付き代理または仮想金融アカウント情報を作成する。アカウント管理システムはまた、公開ATCと、対応する秘密ATCとのセットも作成する。例示的な一実施形態では、ATCは、時間および使用回数が制限される。例えば、各公開/秘密ATCは1回だけ使用することができ、したがって、ユーザデバイスに送信されたATCのバンドルが使用されると、ユーザデバイスは、新しい取引が処理可能になる前に、新しいバンドルを要求しなければならない。アカウント管理システムは、使用制限付き金融アカウント情報、および使用制限付きATCを、ユーザデバイスに送信する。
【００１１】
ユーザが、使用制限付き金融アカウント情報を使用した金融取引の処理を要求すると、マーチャントシステムは、支払要求と、予測不可能な番号またはコードとを、ユーザデバイスに送信する。ユーザデバイスは、予測不可能な番号と、ユーザデバイスおよびアカウント管理システムにしか知られていない、秘密ATCのバンドルのうちの1つとを使用して、セキュリティコードを算出する。セキュリティコード、使用制限付き金融アカウント情報、および対応する公開ATCが、マーチャントシステムに送信される。マーチャントシステムは、使用制限付き金融アカウント情報を使用して支払取引を処理することを求める要求を作成し、アカウント管理システムに送信する。例示的な一実施形態では、この要求は、使用制限付き金融アカウント情報、公開ATC、算出されたセキュリティコード、および予測不可能な番号を含む。
【００１２】
アカウント管理システムは、支払要求を受信し、公開ATCが、ユーザデバイスに送信された秘密ATCの利用可能なバンドルからのものであること、および公開ATCが失効していないことを決定する。次いで、アカウント管理システムは、公開ATCを使用して、秘密ATCを検索して取り出す。アカウント管理システムは、取り出した秘密ATCおよび予測不可能な番号を使用して、セキュリティコードを再計算する。アカウント管理システムは、支払要求の中で受け取った算出されたセキュリティコードを、再計算したセキュリティコードと比較して、支払要求の中で受け取ったコードの有効性を判定する。これらのセキュリティチェックを実施した後、アカウント管理システムは、ユーザの金融アカウント情報を取り出し、アカウントのイシュアに支払処理を要求する。支払要求の承認または拒否がマーチャントシステムに通知され、支払取引は完了する。
【００１３】
プログラムフローを示す各図と共に読まれる以下の記述において、本発明の発明的機能についてより詳細に説明する。
【００１４】
例示的なシステムアーキテクチャ
次に図面に目を向け、例示的な実施形態について詳細に述べる。図の全体を通して、同じ番号は、同じ(ただし必ずしも同一とは限らない)要素を示す。
【００１５】
図1は、いくつかの例示的な実施形態による、支払処理システムを描いたブロック図である。図1に描かれるように、例示的な動作環境100は、マーチャントコンピューティングシステム110、ユーザコンピューティングデバイス120、アカウント管理コンピューティングシステム130、アクワイアラコンピューティングシステム150、およびイシュアコンピューティングシステム160を含み、これらは、1つまたは複数のネットワーク140を介して相互と通信するように構成される。別の例示的な実施形態では、これらのシステム(システム110、120、130、150、および160を含む)のうちの2つ以上が、同じシステムに統合される。いくつかの実施形態では、デバイスに関連するユーザは、本明細書に記載の技法の利益を得るために、アプリケーションをインストールすることおよび/または機能選択をすることが必要である。
【００１６】
各ネットワーク140は、ネットワークシステム(システム110、120、130、150、および160を含む)がデータを通信および交換できるための、有線またはワイヤレス遠隔通信手段を含む。例えば、各ネットワーク140は、ストレージエリアネットワーク(SAN)、パーソナルエリアネットワーク(PAN)、メトロポリタンエリアネットワーク(MAN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ワイヤレスローカルエリアネットワーク(WLAN)、バーチャルプライベートネットワーク(VPN)、イントラネット、インターネット、移動電話網、カードネットワーク、ブルートゥース(登録商標)、近接場通信ネットワーク(NFC)、任意の形の標準化された無線周波数、もしくはこれらの任意の組合せ、または、信号、データ、および/もしくはメッセージ(データと総称される)の通信を容易にする他の任意の適切なアーキテクチャもしくはシステム、として実現されてよく、あるいはこれらの一部であってよい。本明細書の全体を通して、用語「データ」および「情報」は、コンピュータベースの環境で存在する可能性のあるテキスト、画像、オーディオ、ビデオ、または他の任意の形の情報を指すために、交換可能に使用されることを理解されたい。
【００１７】
例示的な一実施形態では、各ネットワークコンピューティングシステム(システム110、120、130、150、および160を含む)は、ネットワーク140を介してデータを送受信できる通信モジュールを有するデバイスを含む。例えば、各ネットワークシステム(システム110、120、130、150、および160を含む)は、サーバ、パーソナルコンピュータ、モバイルデバイス(例えば、ノートブックコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、パーソナルディジタルアシスタント(PDA)、ビデオゲームデバイス、GPSロケータデバイス、セルラー電話機、スマートフォン、もしくは他のモバイルデバイス)、1つもしくは複数のプロセッサが組み込まれた、かつ/もしくは結合されたテレビジョン、または、ネットワーク140を介して通信するためのウェブブラウザもしくは他のアプリケーションを備えるかもしくはそれに結合された他の適切な技術、を含むことができる。図1に描かれる例示的な実施形態では、ネットワークシステム(システム110、120、130、150、および160を含む)は、は、それぞれマーチャント、ユーザ、アカウント管理システムオペレータ、アクワイアラ、およびイシュアによって操作される。
【００１８】
マーチャントシステム110は、ユーザによって開始された購入取引を処理することができる少なくとも1つの販売時点情報管理(POS)端末113、例えばキャッシュレジスタを備える。例示的な一実施形態では、マーチャントは商業店舗を運営し、ユーザは、POS端末113において支払の一形式を提示することによって、購入を行いたいことを示す。別の例示的な実施形態では、マーチャントはオンライン店舗を運営し、ユーザは、ウェブサイト上のリンクまたは「精算」ボタンをクリックすることによって、購入を行いたいことを示す。別の例示的な実施形態では、ユーザデバイス120が、POS端末113の機能を実施するように構成される。この例では、ユーザは、POS端末113と対話することなく、ユーザデバイス120を介して、スキャンし、かつ/または取引に対する支払を行う。
【００１９】
例示的なマーチャントシステム110は、少なくとも端末リーダ115を備え、端末リーダ115は、アプリケーション117を介してユーザデバイスシステム120およびマーチャントPOS端末113と通信することができる。アプリケーション117は、いくつかの例示的な実施形態によれば、POS端末113の統合された一部、端末リーダ115の統合された一部、またはスタンドアロンハードウェアデバイス(図示せず)とすることができる。
【００２０】
例示的な一実施形態では、端末リーダ115は、NFC通信方法を使用してユーザデバイス120と通信することができる。別の例示的な実施形態では、端末リーダ115は、ブルートゥース(登録商標)通信方法を使用してユーザデバイス120と通信することができる。さらに別の実施形態では、端末リーダ115は、Wi-Fi通信方法を使用してユーザデバイス120と通信することができる。
【００２１】
例示的な一実施形態では、マーチャントシステム110は、端末リーダ115および/またはアプリケーション117を介して、ユーザデバイス120と通信することができる。例示的な一実施形態では、ユーザデバイス120は、パーソナルコンピュータ、モバイルデバイス(例えば、ノートブックコンピュータ、タブレットコンピュータ、ネットブックコンピュータ、パーソナルディジタルアシスタント(PDA)、ビデオゲームデバイス、GPSロケータデバイス、セルラー電話機、スマートフォン、もしくは他のモバイルデバイス)、または、ウェブサーバもしくは他のアプリケーションを備えるかもしくはそれに結合された他の適切な技術、を含むことができる。ユーザは、ユーザデバイス120を使用して、ユーザインタフェース121およびアプリケーション123を介して支払取引を処理することができる。アプリケーション123は、ユーザデバイス120上にありユーザデバイス120上でその動作を実施する、プログラム、機能、ルーチン、アプレット、または類似のエンティティである。例えば、アプリケーション123は、ショッピングアプリケーション、マーチャントシステム110アプリケーション、インターネットブラウザ、ディジタルウォレットアプリケーション、ロイヤルティカードアプリケーション、別の付加価値アプリケーション、ユーザインタフェース121アプリケーション、または、ユーザデバイス120上で動作する他の適切なアプリケーション、のうちの1つまたは複数とすることができる。いくつかの実施形態では、ユーザは、本明細書に記載の技法の利益を得るために、ユーザデバイス120上でアプリケーション123をインストールすることおよび/または機能選択をすることが必要である。
【００２２】
ユーザデバイス120は、コントローラ125も備える。例示的な一実施形態では、コントローラ125は、NFCコントローラである。いくつかの例示的な実施形態では、コントローラ125は、ブルートゥース(登録商標)リンクコントローラである。ブルートゥース(登録商標)リンクコントローラは、ブルートゥース(登録商標)指定プロシージャに従って、データを送受信すること、認証および暗号化機能を実施すること、ならびに、どのようにユーザデバイス120が端末リーダ115からの送信をリッスンするかまたはユーザデバイス120を様々な節電モードに構成するかを指示すること、が可能な場合がある。別の例示的な実施形態では、コントローラ125は、同様の機能を実施できるWi-FiコントローラまたはNFCコントローラである。
【００２３】
ユーザデバイス120は、アンテナ127を介して端末リーダ115と通信する。例示的な一実施形態では、ユーザデバイスアプリケーション123がアクティブ化され優先されると、コントローラ125に、ユーザデバイス120が取引に向けて準備できている状態が通知される。コントローラ125は、アンテナ127を介して無線信号を出力するか、または端末リーダ115からの無線信号をリッスンする。ユーザデバイス120と端末リーダ115との間に安全な通信チャネルが確立されると、端末リーダ115は、ユーザデバイス120に支払処理応答を要求する。例示的なコントローラ125は、アンテナ127を介して、端末リーダ115から送信された電波通信信号を受け取る。コントローラ125は、この信号を、読取可能なバイトに変換する。例示的な一実施形態では、これらのバイトは、支払処理応答を求める要求や支払カード情報を求める要求など、ディジタル情報を含む。コントローラ125は、この要求を、処理のためにアプリケーション123に送る。
【００２４】
例示的なユーザデバイス120は、セキュアエレメントまたはセキュアメモリ(図示せず)を備えることができ、これは、取外し可能なスマートチップもしくはセキュアディジタル(SD)カード内に存在する可能性もあり、または、デバイス120上の固定チップ内に組み込まれている可能性もある。いくつかの例示的な実施形態では、加入者識別モジュール(SIM)カードが、セキュアエレメント、例えばNFC SIMカードをホストすることができる場合がある。セキュアエレメント(図示せず)は、セキュアエレメント(図示せず)内に記憶された情報を保護しながら、ユーザデバイス120上にありデバイスユーザによってアクセス可能なソフトウェアアプリケーションがセキュアエレメント内のいくつかの機能と安全に対話できるようにする。例示的な一実施形態では、セキュアエレメント(図示せず)は、暗号プロセッサやランダムジェネレータなど、スマートカードによくみられるコンポーネントを備える。例示的な一実施形態では、セキュアエレメント(図示せず)は、JavaCard Open Platform(JCOP)オペレーティングシステムなどのスマートカードオペレーティングシステムによって制御される極めて安全なシステムオンチップ中のSmart MXタイプのNFCコントローラを備える。別の例示的な実施形態では、セキュアエレメント(図示せず)は、オプションの実装形態として、非EMVタイプの非接触スマートカードを含むように構成される。セキュアエレメント(図示せず)は、ユーザデバイス120中のアプリケーションと通信する。例示的な一実施形態では、セキュアエレメント(図示せず)は、暗号化されたユーザ情報を記憶することができ、信用されるアプリケーションのみが記憶済み情報にアクセスできるようにする。例示的な一実施形態では、コントローラ125は、セキュアエレメント中での暗号化解除およびインストールのために、安全な鍵で暗号化されたアプリケーションと対話する。
【００２５】
例示的なユーザデバイス120中では、セキュアエレメント(図示せず)によってではなくアプリケーション123によって、支払要求が処理される。例示的な一実施形態では、ユーザデバイス120は、ユーザの実際の金融アカウント情報を送信せずに、代理または仮想アカウント識別子の形で、支払アカウント情報をマーチャントシステム110に通信する。ユーザの実際のアカウント情報は、ユーザデバイス120上にあるセキュアエレメント(図示せず)内で維持されるのではなく、アカウント管理システム130によって維持される。
【００２６】
例示的なデータ記憶ユニット129が、ユーザ支払アカウント情報、および/または、ユーザのアカウント管理システム130アカウントについての仮想アカウント識別子、の記憶を可能にする。例示的な一実施形態では、データ記憶ユニット129は、情報を記憶するのに適した、ユーザデバイス120からアクセス可能な任意のローカルまたはリモートデータ記憶構造を含むことができる。例示的な一実施形態では、データ記憶ユニット129は、HTML5ローカルストレージなど、暗号化された情報を記憶する。
【００２７】
例示的なユーザデバイス120は、アカウント管理システム130によって維持されるアカウントを識別するアカウント識別子を、マーチャントシステム110に通信する。例示的なアカウント管理システム130は、アカウント管理モジュール131、アプリケーション取引モジュール135、およびデータ記憶ユニット137を備える。
【００２８】
アカウント管理システム130は、ユーザについての1つまたは複数の金融または支払アカウントの記憶を可能にする。例示的な一実施形態では、ユーザは、1つまたは複数の支払アカウント、例えば、クレジットカードアカウント、デビットアカウント、銀行アカウント、ギフトカードアカウント、クーポン、ストアドバリューアカウント、ロイヤルティアカウント、報酬アカウント、および、アカウント管理システム130を用いて購入を行うことが可能な他の形の支払アカウントを登録する。例えば、ユーザは、アカウント管理システム130を用いてディジタルウォレットアカウントを作成することができる。支払アカウントは、アカウント管理システム130によって維持される、ユーザのディジタルウォレットアカウントに関連付けられるものとすることができる。ユーザは、いつでもディジタルウォレットアカウントにアクセスして、支払アカウントを追加、変更、または除去することができる。例示的な一実施形態では、ユーザのディジタルウォレット情報がユーザのユーザデバイス120に送信され、それにより、アカウント管理システム130にアクセスすることなくユーザの支払アカウントを使用できるようになる。いくつかの例示的な実施形態では、アカウント管理システム130は、使用制限付き代理アカウント情報をユーザデバイス120に送信し、それにより、支払処理中にアカウント管理システム130にルーティングされる支払取引中に支払アカウントを使用できるようになる。例えば、代理アカウント番号は、代理アカウントのイシュアシステム160としての役割を果たすアカウント管理システム130に、支払許可要求をルーティングすることができる。別の例示的な実施形態では、ユーザデバイス120が、使用制限付き代理アカウント番号を生成することができ、これらの代理アカウント番号により、支払取引がアカウント管理システム130にルーティングされることが可能になる。いくつかの例示的な実施形態では、アプリケーション123がこの機能を実施する。
【００２９】
例示的なアカウント管理システム130は、アカウント管理システム130によってアクセス可能なデータ記憶ユニット137を備える。例示的なデータ記憶ユニット137は、ユーザの支払アカウント情報を記憶できる1つまたは複数の有形のコンピュータ可読記憶デバイスを含むことができる。ユーザは、マーチャントシステム110に購入を要求することができる。例示的な一実施形態では、購入は、端末リーダ115に対してユーザデバイス120をワイヤレスに「タップ」することによって開始される。マーチャントシステム110は、アクワイアラシステム150(例えば、アクワイアラ支払システムQまたは他のサードパーティ支払処理会社)およびイシュアシステム160(例えば、銀行X、または支払を許可するための他の金融機関)と対話して、支払を処理する。いくつかの例示的な実施形態では、ユーザデバイス120によって端末リーダ115に送信される支払カード情報は、アカウント管理システム130によって維持されるユーザアカウントに支払取引をリンクする代理アカウントまたはトークンアカウントである。支払取引は、ユーザの正しい支払カード情報の識別のために、代理アカウントのイシュアシステム160としてのアカウント管理システム130にルーティングされる。例示的な一実施形態では、アプリケーション取引モジュール135は、マーチャントシステム110から支払要求を受け取り、アカウント管理モジュール131と対話して、ユーザのアカウント管理システム130アカウントを識別し、ユーザの金融アカウントのイシュアシステム160への支払要求を処理する。
【００３０】
以下、図2〜図6に示す例示的な方法を参照しながら、例示的な動作環境100のコンポーネントについて述べる。図2〜図6の例示的な方法はまた、他のシステムを用いて、他の環境で実施することもできる。
【００３１】
例示的なシステムプロセス
図2は、いくつかの例示的な実施形態による、使用制限付き金融アカウント情報およびアプリケーション取引カウンタを使用して支払取引を処理する方法を描いたブロック流れ図である。方法200は、図1に示したコンポーネントに関して述べる。
【００３２】
ブロック210で、使用制限付き金融アカウント情報およびアプリケーション取引カウンタ(ATC)が、ユーザデバイス120上に保存される。使用制限付き金融アカウント情報およびアプリケーション取引カウンタをユーザデバイス上に保存する方法について、図3に記載の方法を参照しながら以下でより詳細に述べる。
【００３３】
図3は、ブロック210で参照されるような、いくつかの例示的な実施形態による、使用制限付き金融アカウント情報およびアプリケーション取引カウンタをユーザデバイス上に保存する方法210を描いたブロック流れ図である。方法210は、図1に示したコンポーネントに関して述べる。
【００３４】
ブロック310で、ユーザは、ユーザデバイス120上で、支払処理、ディジタルウォレット、または他の金融取引アプリケーション123を、インストールするか、ダウンロードするか、または他の方法でイネーブルにする。例示的な一実施形態では、ユーザがユーザデバイス120上でアプリケーション123をイネーブルにすると、ユーザデバイスは、「許可された」ユーザデバイス120になる。この実施形態では、許可されたユーザデバイス120は、支払取引を処理すること、アカウント管理システム130と通信すること、および本明細書に記載の特徴を実施することができる。この実施形態では、ユーザデバイス120は、使用制限付き金融アカウント情報およびATCを受け取って、本明細書に記載の方法を実施する。例示的な一実施形態では、ユーザは、複数のユーザデバイス120上でアプリケーション123をイネーブルにすることができる。この実施形態では、各ユーザデバイス120は、支払取引の処理で使用するために、同じまたは異なる使用制限付き金融アカウント情報および/またはATCを保有することができる。
【００３５】
別の例示的な実施形態では、ユーザは、前に許可された任意の数のユーザデバイス120上で、いつでもアプリケーション123をディセーブルにするかまたはアンインストールすることができる。この実施形態では、使用制限付き金融アカウント情報および/またはATCは、デバイスから除去されるか、または他の方法で支払取引の処理に対してディセーブルにされる。
【００３６】
ブロック315で、アカウント管理システム130は、ユーザがユーザデバイス120上でアプリケーションをイネーブルにしたことの通知を受け取り、ユーザがアカウント管理システム130アカウントを有するかどうか判定する。例示的な一実施形態では、アプリケーション123がイネーブルにされたとき、ユーザは、アカウント管理システム130アカウント識別情報を提供するよう促されるか、またはユーザのアカウント管理システム130アカウントにログインするよう促される。別の例示的な実施形態では、ユーザは、前にアカウント管理システム130アカウントにログインしており、他の方法でアカウントに自動的にログインされる。さらに別の実施形態では、ユーザのログイン認証情報が、他のアカウント(例えば、ソーシャルネットワーキングウェブサイトおよびユーザデバイス120アカウント)にまたがって共有され、ユーザは、共有ログイン認証情報を使用してアカウント管理システム130アカウントに自動的にログインされる。
【００３７】
ユーザがアカウント管理システム130アカウントを有さない場合は、方法210はブロック320に進み、ユーザは、アカウント管理システム130アカウントを作成するよう促される。一例では、ユーザは、アプリケーション123をイネーブルにしたとき、アカウント管理システム130に登録するよう促される。別の例示的な実施形態では、ユーザは、アカウント管理システム130アカウントにログインまたは登録することは必要とされない。この実施形態では、本明細書に記載の方法は、「ゲスト」ユーザに対して実施される。
【００３８】
ここで論じる技術がユーザに関する個人情報を収集するかまたは個人情報を利用できる状況では、ユーザ情報(例えば、ユーザの購入、ソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの選好、またはユーザの現在地に関する情報)をプログラムまたは機能が収集するかどうかを制御する機会、あるいは、ユーザとの関連性がより高い可能性のあるコンテンツをユーザデバイス120および/またはアカウント管理システム130から受け取るかどうか、および/またはどのように受け取るかを制御する機会が、ユーザに提供されるものとすることができる。加えて、いくらかのデータは、個人識別可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で処理されるものとすることができる。例えば、個人識別可能な情報をユーザについて決定できないように、ユーザの識別が処理されてよく、または、場所情報が得られる場合、ユーザの特定の場所を決定できないように、ユーザの地理的場所が一般化されてよい(例えば、市、郵便番号、もしくは州レベルまで)。このように、ユーザは、どのようにユーザに関する情報が収集されてアカウント管理システム130によって使用されるかについて、制御を有することができる。
【００３９】
例示的な一実施形態では、ユーザは、アプリケーション123をイネーブルにする前またはイネーブルにしている間のいつでも、アカウント管理システム130アカウントを作成することができる。例示的な一実施形態では、ユーザは、ウェブサイトおよびネットワーク140を介してアカウント管理システム130にアクセスする。例示的な一実施形態では、ユーザはアカウント管理システム130に登録情報をサブミットし、この登録情報は、以下のものに限定されないが、名前、住所、電話番号、電子メールアドレス、ならびに、1つまたは複数の登録済み金融カードアカウント(銀行アカウントデビットカード、クレジットカード、ロイヤルティ報酬アカウントカード、もしくは、購入を行うのに使用できる他のタイプのアカウントを含む)に関する情報(例えば、カードタイプ、カード番号、有効期限、セキュリティコード、および料金請求住所)を含む。例示的な一実施形態では、ユーザのアカウント管理システム130アカウント情報は、データ記憶ユニット137に保存され、アカウント管理モジュール131およびアプリケーション取引モジュール135からアクセス可能である。別の例示的な実施形態では、ユーザは、アカウント管理システム130アカウントにログインすること、および/またはアカウント管理システム130アカウントを維持することは必要とされない。
【００４０】
例示的な一実施形態では、アカウント管理システム130アカウントは、アカウント管理システム130またはサードパーティシステムによって維持されるディジタルウォレットアカウントである。別の例示的な実施形態では、ユーザは、スマートフォンアプリケーション123を使用してアカウント管理システム130に登録することができる。さらに別の例示的な実施形態では、ユーザは、スマートフォンアプリケーション123を介してアカウント管理システム130にアクセスする。
【００４１】
ブロック320から、方法210は図3のブロック325に進む。
【００４２】
図3のブロック315に戻り、ユーザがアカウント管理システム130アカウントを有する場合は、ユーザはブロック325でアカウントにログインする。例示的な一実施形態では、ユーザのアカウント管理システム130アカウント情報がユーザデバイス120に保存されており、ユーザは、ユーザのアカウント管理システム130アカウントに自動的にサインインされる。別の例示的な実施形態では、ユーザは、共有ログイン認証情報を使用して、アカウント管理システム130アカウントに自動的にログインされる。さらに別の例示的な実施形態では、ユーザは、前にアカウント管理システム130アカウントにログインされており、ログインすることは必要とされない。
【００４３】
ユーザは、金融アカウント情報(例えば、クレジットアカウント、デビットアカウント、銀行アカウント、ストアドバリューアカウント、ロイヤルティアカウント、ギフトアカウント、または、購入に対する支払が可能な他のアカウント)を、ユーザデバイス120上で入力する。例示的な一実施形態では、ユーザは、ユーザデバイス120上でアプリケーション123にアクセスし、金融アカウント情報を入力する。例示的な一実施形態では、ユーザは、金融アカウント番号、有効期限、カード検証番号、アカウントの名前、ユーザの名前、および、金融取引を処理するのに必要とされる任意の追加情報を入力する。
【００４４】
ブロック330で、ユーザによって入力された金融アカウント情報は、ユーザのアカウント管理システム130アカウントに保存される。例示的な一実施形態では、ユーザのアカウント管理システム130アカウントに保存された金融アカウント情報は、いつでもアクセス、変更、更新、および/または削除することができる。例示的な一実施形態では、金融アカウント情報は、データ記憶ユニット137に保存される。
【００４５】
ブロック340で、アカウント管理システム130は、保存された金融アカウント情報に対応する、使用制限付き金融アカウント情報を作成する。例示的な一実施形態では、使用制限付き金融アカウント情報は、代理アカウント識別子、またはアカウント管理システム識別子である。この実施形態では、アカウント管理システム130は、金融アカウント情報のイシュアシステム160として機能し、使用制限付き金融アカウント情報が支払取引において使用されたときにマーチャントシステム110から支払要求を受け取る。
【００４６】
例示的な一実施形態では、アカウント管理システム130は、ユーザのアカウントに保存された1つまたは複数の金融アカウントのそれぞれにリンクされた使用制限付き金融アカウント情報の単一のセットを作成する。別の例示的な実施形態では、アカウント管理システム130は、使用制限付き金融アカウント情報の2つ以上のセットを作成し、ユーザデバイス120上のアプリケーション123は、支払取引中に、使用制限付き金融アカウント情報のどのセットをマーチャントシステム110に提供するかを決定する。例示的な一実施形態では、ユーザは、支払取引の処理に使用されるように、デフォルトの金融アカウントを選択する。代替の例示的な一実施形態では、ユーザは、様々なマーチャントにおける金融取引を処理するのにどの金融アカウントが使用されるかを決定するための、アカウント管理システム130および/またはアプリケーション123によって理解可能な規則を定義する。
【００４７】
例示的な一実施形態では、使用制限付き金融アカウント情報は、限られた持続時間にわたって有効である。この実施形態では、新しい使用制限付き金融アカウント情報が、事前定義済みの間隔で(例えば24時間の期限が切れた後で)、またはトリガイベント時に(例えば10回の取引が処理された後で)、作成される。
【００４８】
ブロック350で、アカウント管理システム130は、使用制限付き秘密ATCのバンドルを作成してこれをログ記録する。例示的な一実施形態では、アカウント管理システム130は、限られた持続時間(例えば24時間後に失効する)および/または限られた数(例えば10回の取引に対して10個のATCが作成される)の、秘密ATCのバンドルまたはセットを作成する。例示的な一実施形態では、秘密ATCは、アカウント管理システム130およびユーザデバイス120のみに知られている。この実施形態では、ユーザデバイス120は、秘密ATCを使用して、セキュリティコードまたは動的なカード検証番号(例えばCVC3チェックサム)を算出する。
【００４９】
例示的な一実施形態では、秘密ATCは、可能な数字のセット中の可能な各値が使用されるまで繰り返さない、ランダムに選ばれた数字または値である。例えば、各秘密ATCは、0000と9999との間の値とすることができる。例示的な一実施形態では、いずれかの所与の期間中に、設定された量の秘密ATCが有効である。例えば、24時間の各期間中に10個の秘密ATCが有効であってよく、各秘密ATCは、1回の取引のみについて有効である。例示的な一実施形態では、秘密ATCの値は、インクリメンタルではなく、ランダムに選ばれた値である。別の例示的な実施形態では、各使用制限付き金融アカウント番号につき、単一の秘密ATC値が作成される。
【００５０】
ブロック360で、アカウント管理システムは、対応する公開ATCのバンドルを作成してこれをログ記録する。例示的な一実施形態では、各秘密ATCは、対応する公開ATCを有する。例示的な一実施形態では、アカウント管理システム130は、限られた持続時間(例えば24時間後に失効する)および/または限られた数(例えば10回の取引に対して10個のATCが作成される)の、公開ATCのバンドルまたはセットを作成する。例示的な一実施形態では、公開ATCは、アカウント管理システム130、ユーザデバイス120、および支払取引中のマーチャントシステム110に知られている。この実施形態では、ユーザデバイス120は、公開ATCを、使用制限付き金融アカウント情報と共にマーチャントシステム110に送信する。
【００５１】
例示的な一実施形態では、公開ATCは、可能な数字のセット中の可能な各値が使用されるまで繰り返さない、ランダムに選ばれた数字または値である。例えば、各公開ATCは、0000と9999との間の値とすることができる。例示的な一実施形態では、いずれかの所与の期間中に、設定された量の公開ATCが有効である。例えば、24時間の各期間中に10個の公開ATCが有効であってよく、各公開ATCは、1回の取引のみについて有効である。例示的な一実施形態では、公開ATCの値は、インクリメンタルではなく、ランダムに選ばれた値である。
【００５２】
ブロック370で、アカウント管理システム130は、使用制限付き金融アカウント情報、公開ATCのバンドル、および対応する秘密ATCのバンドルを、ユーザデバイス120に送信する。例示的な一実施形態では、この情報は、許可された各ユーザデバイス120上で複製される。別の例示的な実施形態では、新しい情報セットが作成されて、許可された各ユーザデバイス120に送信される。例示的な一実施形態では、新しい情報は、事前定義済みの間隔で(例えば24時間ごとに)作成され、ユーザデバイス120からの要求時に作成される。別の例示的な実施形態では、新しい情報は、前の情報が失効したかまたはもはや利用可能でなくなった後で(例えば、取引の最大回数に達したかまたは各ATCが使用された後で)作成される。
【００５３】
ブロック380で、ユーザデバイス120は、使用制限付き金融アカウント情報、公開ATCのバンドル、および対応する秘密ATCのバンドルを受信する。
【００５４】
ブロック390で、ユーザデバイス120は、使用制限付き金融アカウント情報、公開ATCのバンドル、および対応する秘密ATCのバンドルを保存する。例示的な一実施形態では、この情報は、データ記憶ユニット129に保存され、マーチャントシステム110との支払取引の処理のためにアプリケーション123によってアクセス可能である。
【００５５】
次いで、方法210は、図2のブロック220に進む。
【００５６】
図2に戻り、ブロック220で、ユーザは、ユーザのアカウント管理システム130アカウントに保存された金融アカウント情報を使用してマーチャントシステム110との支払取引を完了させたいという希望を示す。例示的な一実施形態では、ユーザは、使用制限付き金融アカウント情報を処理に使用することによって、この希望を示す。
【００５７】
例示的な一実施形態では、ユーザは、ユーザデバイス120上でアプリケーション123にアクセスする。例示的な一実施形態では、アプリケーション123は、ユーザが電子金融取引を実施するのを可能にする、マーチャントショッピングアプリケーション123または他のアプリケーション/ウェブサイトである。別の例示的な実施形態では、ユーザは、ユーザが金融アカウント情報を端末リーダ115にワイヤレス送信するのを可能にする、支払処理アプリケーション123にアクセスする。この実施形態では、金融アカウント情報は、安全な通信チャネル(例えば、近接場通信、ブルートゥース(登録商標)、Wi-Fi、または他の形のワイヤレス通信チャネル)を介して送信される。
【００５８】
例示的な一実施形態では、ユーザは、端末リーダ115の近くでユーザデバイス120をタップする。例示的な一実施形態では、端末リーダ115は、無線周波数(RF)場または他の場を生成して、ユーザデバイス120が存在するかどうかポーリングし、ユーザは、デバイス120を端末リーダ115の場の内に置くことによってユーザデバイス120を「タップ」する。いくつかの例示的な実施形態では、マーチャントは、端末リーダ115上のアプリケーション117を使用して、RF場または他の場をアクティブ化してユーザデバイス120が存在するかどうかポーリングする。
【００５９】
ブロック225で、ユーザデバイス120と端末リーダ115とは、安全な通信チャネルを確立する。例示的な一実施形態では、通信チャネルは、NFC通信チャネルである。いくつかの例示的な実施形態では、通信チャネルは、ブルートゥース(登録商標)通信チャネルである。さらに別の例示的な実施形態では、通信チャネルは、Wi-Fi通信チャネルである。したがって、支払取引は、ユーザデバイス120と端末リーダ115との間で、ワイヤレスまたは「非接触」通信を介して行うことができる。
【００６０】
例示的な一実施形態では、端末リーダ115は、プロトコルおよび特性をユーザデバイス120に要求して、通信チャネルを確立する。例えば、端末リーダ115は、通信プロトコルの識別(例えば、ISO/IEC14443、MIFARE、および/またはISO/IEC18092)、利用可能なアプリケーションのリスト、ならびにセキュリティプロトコルを、ユーザデバイス120に要求することができる。
【００６１】
例示的な一実施形態では、端末リーダ115は、支払処理応答を要求する信号をユーザデバイス120に送信する。例示的な一実施形態では、この応答は、金融支払取引を続行する要求である。例示的な一実施形態では、この応答は、ユーザデバイス120が金融取引を実施できることを端末リーダ115に示す。例示的な一実施形態では、この応答は、従来のセキュアエレメントまたはセキュアメモリによって生成される支払処理応答と同じ言語および/または情報を含む。
【００６２】
ブロック230で、端末リーダ115は、支払要求をユーザデバイス120に送信する。例示的な一実施形態では、支払要求は、予測不可能な番号を含む。例示的な一実施形態では、予測不可能な番号は、セキュリティコードまたはCVC3番号を算出するためにユーザデバイス120によって使用されることになる、ランダムに生成された番号である。別の例示的な実施形態では、予測不可能な番号は、マーチャントシステム110にわかっている、かつ/または支払許可を求める要求の中でアカウント管理システム130に送信される、取引番号または他の番号を含む。
【００６３】
例示的な一実施形態では、マーチャントシステム110上にあるアプリケーション117が、支払要求を生成する。例示的な一実施形態では、この要求は、通信チャネルを介してユーザデバイス120に送信されてアプリケーション123によって理解可能なバイトに変換されることが可能な信号に、変換される。
【００６４】
ブロック240で、ユーザデバイス120のアンテナ127が、支払要求を受信する。例示的な一実施形態では、支払要求は、通信チャネルを介して、端末リーダ115に対するユーザデバイス120の「タップ」の間に送信される。
【００６５】
例示的な一実施形態では、アンテナ127は、支払要求をコントローラ125に送る。例示的な一実施形態では、タップはNFCタップであり、コントローラ125はNFCコントローラである。
【００６６】
ブロック250で、コントローラ125は、支払要求を受け取り、これをアプリケーション123に送る。例示的な一実施形態では、コントローラ125は、アンテナ127によって受信された信号を、読取可能な支払要求に変換する。例示的な一実施形態では、信号は、読取可能な要求を含むバイトに変換される。
【００６７】
例示的な一実施形態では、コントローラ125は、支払要求をアプリケーション123に送る。例示的な一実施形態では、アプリケーション123は、記憶された支払情報を取り出してこれを支払取引の処理のために端末リーダ115に提供することによって、支払取引中にセキュアエレメントまたはセキュアメモリと同様にして機能する。
【００６８】
ブロック260で、アプリケーション123は、支払要求を受け取る。例示的な一実施形態では、要求は、一連の接続を介して送られた後で、アプリケーション123によって受け取られる。いくつかの例示的な実施形態では、要求は、コントローラ125からアプリケーション123に直接に送られる。
【００６９】
ブロック270で、アプリケーション123は、使用制限付き金融アカウント情報、算出されたCVC3、および公開ATCを、端末リーダに送信する。使用制限付き金融アカウント情報、算出されたCVC3、および公開アプリケーション取引カウンタを端末リーダに送信する方法について、図4に記載の方法を参照しながら以下でより詳細に述べる。
【００７０】
図4は、ブロック270で参照されるような、いくつかの例示的な実施形態による、使用制限付き金融アカウント情報、算出された動的なカード検証コード、および公開アプリケーション取引カウンタを端末リーダに送信する方法270を描いたブロック流れ図である。方法270は、図1に示したコンポーネントに関して述べる。
【００７１】
ブロック410で、ユーザデバイス120は、ATCが支払取引に利用可能かどうか判定する。例示的な一実施形態では、ユーザデバイス120は、ATCが失効している(例えば、ATCの持続時間が限られており、この持続時間が切れた)かどうか判定する。別の例示的な実施形態では、ユーザデバイス120は、未使用のATCが支払取引に利用可能でない(例えば、ATCが1回の取引当たり1つに制限されており、ユーザが取引回数を超過した)かどうか判定する。例示的な一実施形態では、ユーザデバイス120は、このチェックを、公開ATC、秘密ATC、または両方について実施する。例示的な一実施形態では、アプリケーション123がこの決定を行う。
【００７２】
ATCが利用可能でない(例えばこれらがすべて使用された)か、失効しているか、または他の形で利用可能でない場合は、方法270はブロック420に進む。
【００７３】
ブロック420で、新しい使用制限付きATCがユーザデバイス120に提供される。新しい使用制限付きアプリケーション取引カウンタをユーザデバイス120に提供する方法について、図5に記載の方法を参照しながら以下でより詳細に述べる。
【００７４】
図5は、ブロック420で参照されるような、いくつかの例示的な実施形態による、新しい使用制限付きアプリケーション取引カウンタをユーザデバイスに提供する方法420を描いたブロック流れ図である。方法420は、図1に示したコンポーネントに関して述べる。
【００７５】
ブロック510で、アプリケーション123は、新しい使用制限付きATCを求める要求をアカウント管理システム130に送信する。例示的な一実施形態では、この要求は、使用制限付き金融アカウント情報などのアカウント識別子、または、アカウント管理システム130がユーザのアカウントを識別するのを可能にする他のアカウント識別子を含む。例示的な一実施形態では、ユーザは、新しい使用制限付きATCを要求するとき、パスワード、個人識別番号、または他の形の検証を提供するよう促される。別の例示的な実施形態では、ATCが失効したとき、ATCがすべて使用されたとき、または他の形でATCが利用可能でないときに、ユーザデバイス120によってアカウント管理システム130に自動的に通知され、ユーザがかかわることなく新しいATCがユーザデバイス120に提供される。
【００７６】
ブロック520で、アカウント管理システム130は、新しいATCを求める要求を受信する。
【００７７】
ブロック530で、アカウント管理システム130は、ユーザのアカウント管理システム130アカウントを識別する。例示的な一実施形態では、アカウント管理システム130は、新しいATCを求める要求の中の情報を使用して、ユーザのアカウントを識別する。別の例示的な実施形態では、アカウント管理システムは、検証を求める要求に対するユーザの応答の中の情報を使用して、ユーザのアカウントを識別する。
【００７８】
ブロック540で、アカウント管理システム130は、使用制限付き秘密ATCの新しいバンドルを作成し、これをログ記録する。例示的な一実施形態では、アカウント管理システム130は、ブロック350に関連して上述した方法に一致するようにして、秘密ATCの新しいバンドルを作成する。
【００７９】
ブロック550で、アカウント管理システム130は、対応する使用制限付き公開ATCの新しいバンドルを作成し、これをログ記録する。例示的な一実施形態では、アカウント管理システム130は、ブロック360に関連して上述した方法に一致するようにして、対応する公開ATCの新しいバンドルを作成する。
【００８０】
ブロック560で、アカウント管理システム130は、公開ATCのバンドルおよび対応する秘密ATCのバンドルを、ユーザデバイス120に送信する。
【００８１】
ブロック570で、ユーザデバイス120は、公開ATCのバンドルおよび対応する秘密ATCのバンドルを受信する。
【００８２】
ブロック580で、ユーザデバイス120は、公開ATCのバンドルおよび対応する秘密ATCのバンドルを保存する。例示的な一実施形態では、公開ATCのバンドルおよび対応する秘密ATCのバンドルは、データ記憶ユニット129に保存される。
【００８３】
次いで、方法420は、図3のブロック430に進む。
【００８４】
図4のブロック410に戻り、ATCが利用可能であり失効していない場合は、方法270は図4のブロック430に進む。
【００８５】
ブロック430で、アプリケーション123は、秘密ATCのバンドルのうちの1つを取り出す。例示的な一実施形態では、各秘密ATCは、対応する公開ATCを有する。別の例示的な実施形態では、アプリケーション123は、次の利用可能な公開ATCに対応する秘密ATCを取り出す。
【００８６】
ブロック440で、アプリケーション123は、秘密ATCを使用して、動的なカード検証チェックサム(CVC3)または他のセキュリティコードを算出する。例示的な一実施形態では、アプリケーション123は、支払要求の中でマーチャントシステム110から受信された予測不可能な番号または他のコードと、秘密ATCとを使用して、CVC3を算出する。例示的な一実施形態では、アプリケーション123は、アカウント管理システム130に知られているアルゴリズムまたは他の式を実行して、秘密ATCと、マーチャントシステム110から受信された予測不可能な番号とを使用してCVC3を算出する。
【００８７】
ブロック450で、アプリケーション123は、ユーザのアカウント管理システム130アカウントに対応する、使用制限付き金融アカウント情報または他のアカウント識別子を取り出す。
【００８８】
いくつかの例示的な実施形態では、アカウント管理システム130は、使用制限付き金融アカウント情報の1つまたは複数のセットをユーザデバイス120に送信する。アプリケーション123は、送信された使用制限付き金融アカウント情報にアクセスして、取引に使用するアカウント情報の特定のセットを選択することによって、支払アカウント情報を生成する。例示的な一実施形態では、アカウント管理システム130は定期的に、使用制限付き金融アカウント情報を生成し、ユーザのユーザデバイス120を現在の情報セットで更新することができる。いくつかの例示的な実施形態では、ユーザのユーザデバイス120は、使用制限付き金融アカウント情報を求める要求をアカウント管理システム130に通信することができ、アカウント管理システム130は、それに応答して、使用制限付き金融アカウント情報を、支払取引で使用されるようにユーザのユーザデバイス120に通信することができる。さらに別の例示的な実施形態では、アプリケーション123は、使用制限付き金融アカウント情報をローカルに生成する。アプリケーション123は、アカウント管理システム130が支払要求をマーチャントシステム110から受信したときにアカウント管理システム130によって検証するために、生成した使用制限付き金融アカウント情報をアカウント管理システム130に通信することができる。いくつかの例示的な実施形態では、アプリケーションは、アカウント管理システム130によって再現できる方式を使用して、使用制限付き金融アカウント情報を生成することができ、それにより、アカウント管理システム130が支払要求をマーチャントシステム110から受信したときに、生成された使用制限付き金融アカウント情報をアカウント管理システム130が検証できるようにする。
【００８９】
使用制限付き金融アカウント情報は、時間制限または地理的制限を有することができる。例えば、使用制限付き金融アカウント情報は、限られた時間量のみにわたって有効であってよく、または、特定の地理的場所のみで有効であってよい。使用制限付き金融アカウント情報は、時間参照、持続時間、ユーザデバイス120の地理的位置、および/または、ユーザデバイス120の地理的位置に基づく地理領域がスタンプされているか、エンコードされているか、または他の方法でこれらを含むことができる。これらの特徴により、使用制限付き金融アカウント情報は、指定された期間の後には、または指定された地理的場所の外で使用されるときには、失効してよいものとすることができる。使用制限付き金融アカウント情報はまた、使用できる回数に対する制限を有することもできる。例えば、各代理アカウント番号は、単一の使用のみについて有効であってよい。
【００９０】
ブロック460で、アプリケーション123は、アカウント管理システム130から受信された公開ATCのバンドルから、対応する公開ATCを取り出す。例示的な一実施形態では、アプリケーション123は、対応する公開ATCを決定することができる。例示的な一実施形態では、使用された、かつ/または失効したATCは、ユーザデバイス120から除去される。
【００９１】
ブロック470で、ユーザデバイス120は、使用制限付き金融アカウント情報、算出されたCVC3、および公開ATCを、端末リーダ115に送信する。例示的な一実施形態では、この情報は、支払要求に応答して送信される。例示的な一実施形態では、この情報は、アプリケーション123からコントローラ125に送られ、コントローラ125において、端末リーダ115および/またはアプリケーション117によって理解可能な信号に変換される。例示的な一実施形態では、この情報は、安全な通信チャネルを介して、端末リーダ115に対するユーザデバイス120の「タップ」の間に送信される。
【００９２】
次いで、方法270は、図2のブロック280に進む。
【００９３】
ブロック280で、端末リーダ115は、使用制限付き金融アカウント情報、算出されたCVC3、および公開ATCを、ユーザデバイス120から受信する。
【００９４】
ブロック290で、マーチャントシステム110は、支払取引を処理する。使用制限付き金融アカウント情報、公開アプリケーション取引カウンタ、および算出された動的なカード検証コードを使用して支払取引を承認する方法について、図6に記載の方法を参照しながら以下でより詳細に述べる。
【００９５】
図6は、ブロック290で参照されるような、使用制限付き金融アカウント情報、公開アプリケーション取引カウンタ、および算出された動的なカード検証コードを使用して支払取引を承認する方法290を描いたブロック流れ図である。方法290は、図1に示したコンポーネントに関して述べる。
【００９６】
ブロック610で、端末リーダ115は、使用制限付き金融アカウント情報、CVC3、および公開ATCを、POS端末113に送信する。
【００９７】
ブロック615で、POS端末113は、使用制限付き金融アカウント情報、CVC3、および公開ATCを受信する。例示的な一実施形態では、アプリケーション117は、この信号を、マーチャントシステム110によって理解可能な言語に変換する。例示的な一実施形態では、ユーザは、個人識別番号(PIN)をマーチャントシステム110に入力するよう促されてよい。
【００９８】
ブロック620で、マーチャントシステム110は、ユーザデバイス120によって提供された支払アカウント情報を使用して支払を要求するための支払要求メッセージを生成し、支払要求をアクワイアラシステム150にサブミットする。例示的な一実施形態では、マーチャントのPOS端末113が、ネットワーク140を介してアクワイアラシステム150にこの要求をサブミットする。例示的な一実施形態では、支払要求メッセージは、使用制限付き金融アカウント情報、CVC3、公開ATC、および予測不可能な番号を含む。
【００９９】
ブロック625で、アクワイアラシステム150は、支払要求を受信する。
【０１００】
ブロック630で、アクワイアラシステム150は、支払要求をアカウント管理システム130に送信する。例示的な一実施形態では、アクワイアラシステム150および/またはカードネットワーク140は、使用制限付き金融アカウント情報をアカウント管理システム130にルーティングする決定を自動的に行う。例示的な一実施形態では、この決定は、使用制限付き金融アカウント情報の中の、一連の番号またはルーティング情報を使用して行われる。いくつかの例示的な実施形態では、アクワイアラシステム150および/またはカードネットワーク140は、アカウント管理システム130によって提供された、保存されたアカウント識別情報のリストを調べる。
【０１０１】
ブロック635で、アカウント管理システム130は、使用制限付き金融アカウント情報と、CVC3と、公開ATCと、予測不可能な番号とを含む支払要求を受信する。
【０１０２】
ブロック640で、アカウント管理システム130は、支払要求に関連するユーザアカウントを識別する。例示的な一実施形態では、アカウント管理システム130は、ユーザごとに生成された、使用制限付き金融アカウント情報および公開ATCのリストを含み、この情報をユーザのアカウントにマッピングすることができる。いくつかの例示的な実施形態では、ハッシュ関数などの一方向アルゴリズムを使用して、ユーザのアカウントを、使用制限付き金融アカウント情報および/または公開ATCに対して識別するかまたは関連付けることができる。さらに別の例示的な実施形態では、ハードウェアセキュリティモジュール(HSM)を使用して、ユーザごとに生成された使用制限付き金融アカウント情報および公開ATCのリストなど、セキュリティ保護されたデータを記憶することができる。HSMは、安全なネットワークを介してアカウント管理システム130から接触を受けて、ユーザごとに生成された使用制限付き金融アカウント情報および公開ATCのリストをユーザのアカウントにマッピングすることができる。
【０１０３】
ブロック650で、アカウント管理システム130は、公開ATCが正しく、かつ失効していないかどうか判定する。例示的な一実施形態では、アカウント管理システム130は、公開ATCが、失効していないATCの現在のバンドルからのものであるかどうか判定する。別の例示的な実施形態では、アカウント管理システム130は、公開ATCが、ユーザデバイス120に送信された公開ATCのバンドルからの、次の利用可能な公開ATCであるかどうか判定する。この実施形態では、公開ATCは、アカウント管理システム130およびユーザデバイス120のみに知られている事前定義済みのシーケンスで使用される。
【０１０４】
公開ATCが正しくないかまたは失効している場合は、方法290はブロック655に進み、取引は却下される。
【０１０５】
ブロック650に戻り、公開ATCが正しく、かつ失効していない場合は、方法290はブロック660に進む。ブロック660で、アカウント管理システム130は、CVC3または他の算出されたセキュリティコードが正しいかどうか判定する。例示的な一実施形態では、支払要求は、CVC3を算出するためにユーザデバイス120によって使用された、予測不可能な番号または他のコードを含む。この実施形態では、アカウント管理システム130は、公開ATCを使用して、対応する秘密ATCを検索して取り出す。取り出した秘密ATCおよび予測不可能な番号を使用して、アカウント管理システム130はCVC3を再算出する。アカウント管理システム130は、支払要求の中で受け取ったCVC3を、アカウント管理システム130によって再計算されたCVC3と比較して、支払要求の中のCVC3番号が正しいかどうか判定する。
【０１０６】
別の例示的な実施形態では、アカウント管理システム130は、秘密ATCおよびCVC3番号を使用して、予測不可能な番号を逆計算する。アカウント管理システム130は、算出した予測不可能な番号を支払要求からの予測不可能な番号と比較して、CVC3番号が正しいかどうか判定する。
【０１０７】
CVC3番号が正しくない場合は、方法290はブロック655に進み、取引は却下される。
【０１０８】
ブロック660に戻り、CVC3番号が正しい場合は、方法290はブロック670に進む。ブロック670で、アカウント管理システムは、支払要求の中で受け取った使用制限付き金融アカウント情報に対応する、保存された金融アカウント情報を取り出す。例示的な一実施形態では、アカウント管理システム130は、ユーザの保存された支払アカウント情報を識別する。例示的な一実施形態では、ユーザのアカウントは、ユーザによって定義された規則(または、ユーザがデフォルト規則を修正していない場合は、デフォルト規則)を含む。ユーザが支払規則を定義した場合、アカウント管理システム130は、ユーザ定義の規則を最初に適用して、支払アカウントを取引に適用する順序を決定する。例示的な一実施形態では、アカウント管理システム130は、ユーザ定義の規則を最初に適用する。
【０１０９】
ブロック680で、アカウント管理システム130は、新しい支払要求を生成し、これを、カードネットワーク140を介して、選択された支払アカウントのイシュアシステム160に送信する。いくつかの例示的な実施形態では、アカウント管理システム130が、支払アカウントのイシュアシステム160である。この実施形態では、アカウント管理システム130は、十分な資金が取引に利用可能かどうか判定し、それに従って取引を承認/拒否することになる。
【０１１０】
例示的な一実施形態では、イシュアシステム160は、新しい支払要求をアカウント管理システム130から受信し、取引を承認または却下する。
【０１１１】
ブロック690で、アカウント管理システム130は、新しい支払要求が承認されたか却下されたかを決定する。例示的な一実施形態では、アカウント管理システム130は、承認または却下された取引の通知をイシュアシステム160から受信する。
【０１１２】
取引が却下される場合は、方法ブロック655に進み、アカウント管理システム130は、却下された取引をマーチャントシステム110に通知する。
【０１１３】
ブロック690に戻り、取引が承認される場合は、方法はブロック695に進む。例示的な一実施形態では、イシュアシステム160は、許可メッセージをアカウント管理システム130に送信し、アカウント管理システム130は、元の支払要求の承認を、アクワイアラシステム150を介してマーチャントシステム110に送信する。例示的な一実施形態では、イシュアシステム160は、支払取引の額をユーザの金融アカウントの借方に記入し、アカウント管理システム130は、支払取引の額の信用貸しまたは支払を受ける。次いで、アカウント管理システム130は、支払取引の額をマーチャントシステム110の貸方に記入する。
【０１１４】
他の例示的な実施形態
図7に、いくつかの例示的な実施形態によるコンピューティングマシン2000およびモジュール2050を描く。コンピューティングマシン2000は、様々なコンピュータ、サーバ、モバイルデバイス、組込みシステム、または本明細書に提示されるコンピューティングシステム、のうちのいずれかに対応するものとすることができる。モジュール2050は、本明細書に提示される様々な方法および処理機能をコンピューティングマシン2000が実施するのを容易にするように構成された、1つまたは複数のハードウェアまたはソフトウェア要素を含むことができる。コンピューティングマシン2000は、プロセッサ2010、システムバス2020、システムメモリ2030、記憶媒体2040、入出力インタフェース2060、および、ネットワーク2080と通信するためのネットワークインタフェース2070など、様々な内蔵または外付けコンポーネントを備えることができる。
【０１１５】
コンピューティングマシン2000は、従来のコンピュータシステム、組込みコントローラ、ラップトップ、サーバ、モバイルデバイス、スマートフォン、セットトップボックス、キオスク、車両情報システム、テレビジョンに関連する1つまたは複数のプロセッサ、カスタマイズされるマシン、もしくは他の任意のハードウェアプラットフォーム、またはこれらの任意の組合せもしくは複合として実現されてよい。コンピューティングマシン2000は、データネットワークまたはバスシステムを介して相互接続された複数のコンピューティングマシンを使用して機能するように構成された、分散型システムであってもよい。
【０１１６】
プロセッサ2010は、本明細書に記載の動作および機能を実施すること、要求フローおよびアドレスマッピングを管理すること、ならびに算出を実施しコマンドを生成すること、のためのコードまたは命令を実行するように構成されてよい。プロセッサ2010は、コンピューティングマシン2000中のコンポーネントの動作を監視および制御するように構成されてよい。プロセッサ2010は、汎用プロセッサ、プロセッサコア、マルチプロセッサ、再構成可能プロセッサ、マイクロコントローラ、ディジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、グラフィックス処理ユニット(GPU)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックデバイス(PLD)、コントローラ、ステートマシン、ゲーテッドロジック、ディスクリートハードウェアコンポーネント、他の任意の処理ユニット、またはこれらの任意の組合せもしくは複合とすることができる。プロセッサ2010は、単一の処理ユニット、複数の処理ユニット、単一の処理コア、複数の処理コア、専用処理コア、コプロセッサ、またはこれらの任意の組合せとすることができる。いくつかの実施形態によれば、プロセッサ2010は、コンピューティングマシン2000の他のコンポーネントと共に、1つまたは複数の他のコンピューティングマシン内で実行される仮想化されたコンピューティングマシンであってもよい。
【０１１７】
システムメモリ2030は、読取専用メモリ(ROM)、プログラム可能な読取専用メモリ(PROM)、消去可能プログラム可能な読取専用メモリ(EPROM)、フラッシュメモリ、または、加えられる電力ありもしくはなしでプログラム命令もしくはデータを記憶できる他の任意のデバイスなど、不揮発性メモリを含むことができる。システムメモリ2030はまた、ランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、ダイナミックランダムアクセスメモリ(DRAM)、および同期ダイナミックランダムアクセスメモリ(SDRAM)など、揮発性メモリを含むこともできる。他のタイプのRAMを使用してシステムメモリ2030を実現することもできる。システムメモリ2030は、単一のメモリモジュールまたは複数のメモリモジュールを使用して実現することができる。システムメモリ2030はコンピューティングマシン2000の一部として描かれているが、本主題の技術の範囲を逸脱することなく、システムメモリ2030がコンピューティングマシン2000とは別個であってもよいことを、当業者なら認識するであろう。また、システムメモリ2030は、記憶媒体2040などの不揮発性記憶デバイスを備えるかまたはそれと共に動作することができることも、理解されるであろう。
【０１１８】
記憶媒体2040は、ハードディスク、フロッピー(登録商標)ディスク、コンパクトディスク読取専用メモリ(CD-ROM)、ディジタル多用途ディスク(DVD)、ブルーレイディスク、磁気テープ、フラッシュメモリ、他の不揮発性メモリデバイス、固体ドライブ(SSD)、任意の磁気記憶デバイス、任意の光学記憶デバイス、任意の電気的記憶デバイス、任意の半導体記憶デバイス、任意の物理ベース記憶デバイス、他の任意のデータ記憶デバイス、またはこれらの任意の組合せもしくは複合を含むことができる。記憶媒体2040は、1つまたは複数のオペレーティングシステム、モジュール2050などのアプリケーションプログラムおよびプログラムモジュール、データ、または他の任意の情報を記憶することができる。記憶媒体2040は、コンピューティングマシン2000の一部であるかまたはコンピューティングマシン2000に接続されているものとすることができる。記憶媒体2040はまた、サーバ、データベースサーバ、クラウドストレージ、ネットワーク接続型ストレージなど、コンピューティングマシン2000と通信する1つまたは複数の他のコンピューティングマシンの一部であってもよい。
【０１１９】
モジュール2050は、本明細書に提示される様々な方法および処理機能をコンピューティングマシン2000が実施するのを容易にするように構成された、1つまたは複数のハードウェアまたはソフトウェア要素を含むことができる。モジュール2050は、システムメモリ2030、記憶媒体2040、またはこの両方との関連でソフトウェアまたはファームウェアとして記憶された、命令の1つまたは複数のシーケンスを含むことができる。したがって、記憶媒体2040は、プロセッサ2010によって実行されるように命令またはコードが記憶され得るマシン可読またはコンピュータ可読媒体の例を表すことができる。マシン可読またはコンピュータ可読媒体は、一般に、命令をプロセッサ2010に提供するのに使用される任意の媒体を指すことができる。このような、モジュール2050に関連するマシン可読またはコンピュータ可読媒体は、コンピュータソフトウェア製品を含むことができる。モジュール2050を構成するコンピュータソフトウェア製品はまた、ネットワーク2080、任意の信号保持媒体、または他の任意の通信もしくは送達技術を介して、コンピューティングマシン2000にモジュール2050を送達するための、1つまたは複数のプロセスまたは方法に関連する場合もあることを理解されたい。モジュール2050はまた、ハードウェア回路を含むこともでき、あるいは、マイクロコード、またはFPGAもしくは他のPLDのための構成情報など、ハードウェア回路を構成するための情報を含むこともできる。
【０１２０】
入出力(I/O)インタフェース2060は、1つまたは複数の外部デバイスに結合して1つまたは複数の外部デバイスからデータを受け取るように、かつ、1つまたは複数の外部デバイスにデータを送るように構成されてよい。このような外部デバイスは、様々な内部デバイスと共に、周辺デバイスと呼ばれることもある。I/Oインタフェース2060は、様々な周辺デバイスをコンピューティングマシン2000またはプロセッサ2010に動作可能に結合するための、電気的接続と物理的接続の両方を含むことができる。I/Oインタフェース2060は、データ、アドレス、および制御信号を、周辺デバイス、コンピューティングマシン2000、またはプロセッサ2010の間で通信するように構成されてよい。I/Oインタフェース2060は、SCSI(small computer system interface)、SAS(serial-attached SCSI)、ファイバチャネル、PCI(peripheral component interconnect)、PCIe(PCI express)、シリアルバス、パラレルバス、ATA(advanced technology attached)、SATA(serial ATA)、USB(universal serial bus)、Thunderbolt(登録商標)、FireWire(登録商標)、様々なビデオバスなど、任意の標準インタフェースを実現するように構成されてよい。I/Oインタフェース2060は、1つのインタフェースまたはバス技術のみを実現するように構成されてよい。別法として、I/Oインタフェース2060は、複数のインタフェースまたはバス技術を実現するように構成されてもよい。I/Oインタフェース2060は、システムバス2020の一部または全部として構成されるか、またはシステムバス2020と共に動作するように構成されてよい。I/Oインタフェース2060は、1つまたは複数の外部デバイス、内部デバイス、コンピューティングマシン2000、またはプロセッサ2010の間の伝送をバッファリングするために、1つまたは複数のバッファを備えることができる。
【０１２１】
I/Oインタフェース2060は、マウス、タッチスクリーン、スキャナ、電子ディジタイザ、センサ、受信機、タッチパッド、トラックボール、カメラ、マイクロフォン、キーボード、他の任意のポインティングデバイス、またはこれらの任意の組合せを含めた、様々な入力デバイスに、コンピューティングマシン2000を結合することができる。I/Oインタフェース2060は、ビデオディスプレイ、スピーカ、プリンタ、プロジェクタ、触覚フィードバックデバイス、自動化制御、ロボットコンポーネント、アクチュエータ、モータ、ファン、ソレノイド、バルブ、ポンプ、送信機、信号エミッタ、ランプなどを含めた、様々な出力デバイスに、コンピューティングマシン2000を結合することができる。
【０１２２】
コンピューティングマシン2000は、ネットワークインタフェース2070を介した、ネットワーク2080にわたる1つまたは複数の他のシステムまたはコンピューティングマシンへの論理接続を使用して、ネットワーク化された環境で動作することができる。ネットワーク2080は、ワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、インターネット、ワイヤレスアクセスネットワーク、有線ネットワーク、モバイルネットワーク、電話ネットワーク、光ネットワーク、またはこれらの組合せを含むことができる。ネットワーク2080は、任意のトポロジのパケット交換や回路交換であってよく、任意の通信プロトコルを使用することができる。ネットワーク2080内の通信リンクは、光ファイバケーブル、自由空間光通信、導波管、電気コンダクタ、ワイヤレスリンク、アンテナ、無線周波数通信など、様々なディジタルまたはアナログ通信媒体を含むことができる。
【０１２３】
プロセッサ2010は、システムバス2020を介して、コンピューティングマシン2000の他の要素、または本明細書で論じる様々な周辺機器に接続されてよい。システムバス2020は、プロセッサ2010内にあるか、プロセッサ2010外にあるか、またはこの両方である場合があることを理解されたい。いくつかの実施形態によれば、プロセッサ2010、コンピューティングマシン2000の他の要素、または本明細書で論じる様々な周辺機器はいずれも、システムオンチップ(SOC)、システムオンパッケージ(SOP)、またはASICデバイスなど、単一のデバイスに統合されてよい。
【０１２４】
ここで論じる技術がユーザに関する個人情報を収集するかまたは個人情報を利用できる状況では、ユーザ情報(例えば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの選好、またはユーザの現在地に関する情報)をプログラムまたは機能が収集するかどうかを制御する機会またはオプション、あるいは、ユーザとの関連性がより高い可能性のあるコンテンツをコンテンツサーバから受け取るかどうか、および/またはどのように受け取るかを制御する機会またはオプションが、ユーザに提供されるものとすることができる。加えて、いくらかのデータは、個人識別可能な情報が除去されるように、記憶または使用される前に1つまたは複数の方法で処理されるものとすることができる。例えば、個人識別可能な情報をユーザについて決定できないように、ユーザの識別が処理されてよく、または、場所情報が得られる場合、ユーザの特定の場所を決定できないように、ユーザの地理的場所が一般化されてよい(例えば、市、郵便番号、もしくは州レベルまで)。このように、ユーザは、どのようにユーザに関する情報が収集されてコンテンツサーバによって使用されるかについて、制御を有することができる。
【０１２５】
実施形態は、本明細書に記載および例証される機能を具体化するコンピュータプログラムを含むことができ、このコンピュータプログラムは、機械可読媒体に記憶された命令と、命令を実行するプロセッサとを含むコンピュータシステム中で実現される。しかし、実施形態をコンピュータプログラミングにおいて実現する方法として多くの異なる方式がある可能性があり、実施形態はいずれか1つのコンピュータプログラム命令セットに限定されると解釈されるべきでないことは、明らかなはずである。さらに、熟練したプログラマなら、添付のフローチャートと出願本文中の関連する記述とに基づいて、開示される実施形態のうちの一実施形態を実現するためのこのようなコンピュータプログラムを書くことができるであろう。したがって、プログラムコード命令の特定のセットの開示は、どのように実施形態を作成および使用するかを十分に理解するのに必要であるとは考えられない。さらに、本明細書に開示する実施形態の1つまたは複数の態様は、1つまたは複数のコンピューティングシステムに組み入れられる場合のあるハードウェア、ソフトウェア、またはこれらの組合せによって実施できることを、当業者なら理解するであろう。さらに、行為がコンピュータによって実施されるものとして言及される場合、これは、単一のコンピュータによって実施されると解釈されるべきではなく、複数のコンピュータが行為を実施することもできる。
【０１２６】
本明細書に記載の例示的な実施形態は、本明細書に記載の方法および処理機能を実施するコンピュータハードウェアおよびソフトウェアと共に使用されてよい。本明細書に記載のシステム、方法、およびプロシージャは、プログラム可能コンピュータ、コンピュータ実行可能ソフトウェア、またはディジタル回路において具体化されてよい。ソフトウェアは、コンピュータ可読媒体に記憶されてよい。例えば、コンピュータ可読媒体は、フロッピー(登録商標)ディスク、RAM、ROM、ハードディスク、取外し可能媒体、フラッシュメモリ、メモリスティック、光学媒体、光磁気媒体、CD-ROMなどを含むことができる。ディジタル回路は、集積回路、ゲートアレイ、ビルディングブロックロジック、フィールドプログラマブルゲートアレイ(FPGA)などを含むことができる。
【０１２７】
前掲の実施形態で述べた例示的なシステム、方法、および行為は例証的なものであり、代替実施形態では、様々な実施形態の範囲および主旨を逸脱することなく、いくつかの行為が異なる順序で実施されること、相互と並行して実施されること、完全に省略されること、および/もしくは異なる例示的な実施形態間で組み合わせられることも可能であり、かつ/または、いくつかの追加の行為が実施されることも可能である。したがって、このような代替実施形態は、本明細書で特許請求される本発明に含まれる。
【０１２８】
特定の実施形態について詳細に上述したが、この記述は例証のためのものに過ぎない。したがって、前述の多くの態様は、明示的に別段の言明がない限り、必須のまたは本質的な要素であるものとはしないことを理解されたい。本開示の利益を有する当業者なら、前述の態様に加えて、例示的な実施形態についての開示される態様に対する修正、および対応する等価なコンポーネントまたは行為を、後続の特許請求の範囲に定義される実施形態の主旨および範囲を逸脱することなく成すことができる。後続の特許請求の範囲は、このような修正および等価な構造を包含するように、最も広い解釈が与えられるべきである。
【符号の説明】
【０１２９】
100  例示的な動作環境
110  マーチャントコンピューティングシステム、マーチャントシステム
113  POS端末
115  端末リーダ
117  アプリケーション
120  ユーザコンピューティングデバイス、ユーザデバイス
121  ユーザインタフェース
123  アプリケーション
125  コントローラ
127  アンテナ
129  データ記憶ユニット
130  アカウント管理コンピューティングシステム、アカウント管理システム
131  アカウント管理モジュール
135  アプリケーション取引モジュール
137  データ記憶ユニット
140  ネットワーク、カードネットワーク
150  アクワイアラコンピューティングシステム、アクワイアラシステム
160  イシュアコンピューティングシステム、イシュアシステム
2000  コンピューティングマシン
2010  プロセッサ
2020  システムバス
2030  システムメモリ
2040  記憶媒体
2050  モジュール
2060  入出力インタフェース、I/Oインタフェース
2070  ネットワークインタフェース
2080  ネットワーク
【図１】
2018136984.tif 000003
【図２】
2018136984.tif 000004
【図３】
2018136984.tif 000005
【図４】
2018136984.tif 000006
【図５】
2018136984.tif 000007
【図６】
2018136984.tif 000008
【図７】
2018136984.tif 000009
【手続補正書】
【提出日】平成30年5月23日(2018.5.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
金融取引を処理するためのコンピュータ実装方法であって、
ユーザに関連付けられたコンピューティングデバイスによって、支払取引を処理するために支払情報を求める要求をマーチャントコンピューティングシステムから受信するステップであって、前記支払情報を求める要求が、支払いアカウント情報を求める要求と、マーチャントコンピューティングシステム取引コードとを含む、ステップと、
前記ユーザに関連付けられた前記コンピューティングデバイスによって、前記コンピューティングデバイスのセキュアエレメントにはアクセスせずに、前記マーチャントコンピューティングシステム取引コードと秘密アプリケーション取引カウンタとを使用してセキュリティコードを生成するステップと、
前記ユーザに関連付けられた前記コンピューティングデバイスによって、前記セキュアエレメントにはアクセスせずに、前記支払情報を求める要求に対する応答を前記マーチャントコンピューティングシステムに送信するステップであって、前記応答内の情報は、支払いアカウント情報、前記秘密アプリケーション取引カウンタに対応する公開アプリケーション取引カウンタ、および前記生成されたセキュリティコードを含み、前記情報は、支払い処理要求における支払承認のためにアカウント管理システムに前記マーチャントコンピューティングシステムによって送信される、ステップと、
承認された支払取引の通知を、前記ユーザに関連付けられた前記コンピューティングデバイスによって受信するステップであって、前記承認された支払取引の前記通知は、前記マーチャントコンピューティングシステムからの前記支払い処理要求の中で受信された前記生成されたセキュリティコードの有効性を、前記アカウント管理システムが確認したことを示す、ステップとを含むコンピュータ実装方法。
【請求項２】
前記公開アプリケーション取引カウンタは、事前定義済みの期間の後に失効する、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記公開アプリケーション取引カウンタは、単一の支払取引に対して有効である、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記ユーザに関連付けられた前記コンピューティングデバイスによって、公開アプリケーション取引カウンタのバンドル、および対応する秘密アプリケーション取引カウンタのバンドルを前記アカウント管理システムから受信するステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項５】
公開アプリケーション取引カウンタの前記バンドルは、時間および回数の制限を有するランダムに生成された値のセットを含む、請求項４に記載のコンピュータ実装方法。
【請求項６】
前記コンピュータ実装方法は、前記ユーザに関連付けられた前記コンピューティングデバイスによって、代理アカウント情報を受信するステップをさらに含み、前記支払いアカウント情報は、前記代理アカウント情報を含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
前記セキュリティコードは、動的なカード検証番号を含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記ユーザに関連付けられた前記コンピューティングデバイスによって、前記公開アプリケーション取引カウンタおよび前記対応する秘密アプリケーション取引カウンタが利用可能であり失効していないと決定するステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項９】
前記アカウント管理システムによって、前記公開アプリケーション取引カウンタが失効しておらずかつ前に使用されていないと決定することにより、前記公開アプリケーション取引カウンタの前記有効性を確認するステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項１０】
前記アカウント管理システムは、前記支払い処理要求の中で受信された前記公開アプリケーション取引カウンタを使用して、前記対応する秘密アプリケーション取引カウンタを取り出し、前記取り出された秘密アプリケーション取引カウンタは、前記生成されたセキュリティコードを再計算するのに使用される、請求項１に記載のコンピュータ実装方法。
【請求項１１】
前記アカウント管理システムは、前記再計算されたセキュリティコードが前記支払い処理要求の中で受信された前記生成されたセキュリティコードと一致することを確認することによって、前記生成されたセキュリティコードの前記有効性を確認する、請求項１０に記載のコンピュータ実装方法。
【請求項１２】
コンピュータによって実行された場合、前記コンピュータに金融取引を処理させるコンピュータ可読ブログラム命令を含むコンピュータプログラムであって、前記コンピュータ可読ブログラム命令は、
支払取引を処理するために、マーチャントコンピューティングシステムから支払情報を求める要求を受信するためのコンピュータ可読ブログラム命令であって、前記支払情報を求める要求は、支払いアカウント情報を求める要求と、マーチャントコンピューティングシステム取引コードとを含む、コンピュータ可読ブログラム命令と、
前記コンピュータのセキュアエレメントにはアクセスせずに、前記マーチャントコンピューティングシステム取引コードと、秘密アプリケーション取引カウンタとを使用して、セキュリティコードを生成するためのコンピュータ可読ブログラム命令と、
前記セキュアエレメントにはアクセスせずに、前記支払情報を求める要求に対する応答を前記マーチャントコンピューティングシステムに送信するためのコンピュータ可読ブログラム命令であって、前記応答内の情報は、支払いアカウント情報、前記秘密アプリケーション取引カウンタに対応する公開アプリケーション取引カウンタ、および前記生成されたセキュリティコードを含み、前記情報は、支払い処理要求における支払承認のために、アカウント管理システムに前記マーチャントコンピューティングシステムによって送信される、コンピュータ可読ブログラム命令と、
承認された支払取引の通知を受信するためのコンピュータ可読ブログラム命令であって、前記承認された支払取引の前記通知は、前記マーチャントコンピューティングシステムからの前記支払い処理要求の中で受信された前記生成されたセキュリティコードの有効性を前記アカウント管理システムが確認したことを示す、コンピュータ可読ブログラム命令とを含む、コンピュータプログラム。
【請求項１３】
前記コンピュータ可読ブログラム命令は、前記アカウント管理システムから公開アプリケーション取引カウンタのバンドルを受信するためのコンピュータ可読ブログラム命令をさらに含み、公開アプリケーション取引カウンタの前記バンドルは、時間および回数の制限を有するランダムに生成された値のセットを含み、請求項１２に記載のコンピュータプログラム。
【請求項１４】
前記アカウント管理システムは、前記支払い処理要求の中で受信された前記公開アプリケーション取引カウンタを使用して、前記対応する秘密アプリケーション取引カウンタを取り出し、前記取り出された対応する秘密アプリケーション取引カウンタは、前記生成されたセキュリティコードを再計算するのに使用される、請求項１２に記載のコンピュータプログラム。
【請求項１５】
前記アカウント管理システムは、前記再計算されたセキュリティコードが前記支払い処理要求の中で受信された前記生成されたセキュリティコードと一致することを確認することによって、前記生成されたセキュリティコードの前記有効性を確認する、請求項１４に記載のコンピュータプログラム。
【請求項１６】
金融取引を処理するシステムであって、
前記システムは、ユーザコンピューティングデバイスを備え、前記ユーザコンピューティングデバイスは、記憶デバイス、および前記記憶デバイスに通信可能に結合されたプロセッサを備え、前記プロセッサは、前記記憶デバイスに記憶されているアプリケーションコード命令を実行して、前記システムに以下の動作、すなわち、
支払取引を処理するために、支払情報を求める要求をマーチャントコンピューティングシステムから受信することであって、前記支払情報を求める要求は、支払いアカウント情報を求める要求と、マーチャントコンピューティングシステム取引コードとを含む、ことと、
前記ユーザコンピューティングデバイスのセキュアエレメントにはアクセスせずに、前記マーチャントコンピューティングシステム取引コードと秘密アプリケーション取引カウンタとを使用して、セキュリティコードを生成することと、
前記セキュアエレメントをアクセスせずに、前記支払情報を求める要求に対する応答を前記マーチャントコンピューティングシステムに送信することであって、前記応答における情報は、前記支払いアカウント情報、前記生成されたセキュリティコード、および前記秘密アプリケーション取引カウンタに対応する公開アプリケーション取引カウンタを含む、こととをさせ、
前記システムは、アカウント管理コンピューティングシステムを備え、前記アカウント管理コンピューティングシステムは、1つまたは複数の記憶デバイスに通信可能に結合された1つまたは複数のプロセッサを備え、前記1つまたは複数のプロセッサは、前記1つまたは複数の記憶デバイスに記憶されているアプリケーションコード命令を実行して前記システムに以下の動作、すなわち、
前記マーチャントコンピューティングシステムから、支払い処理要求を受信することであって、前記支払い処理要求は、前記支払いアカウント情報、前記公開アプリケーション取引カウンタ、および前記生成されたセキュリティコードを含む、ことと、
前記公開アプリケーション取引カウンタの有効性を確認することと、
前記生成されたセキュリティコードの有効性を確認することと、
承認された支払取引の通知を前記マーチャントコンピューティングシステムに送信することとをさせる、システム。
【請求項１７】
前記プロセッサは、セキュアエレメントにはアクセスせずに、前記記憶デバイスに記憶されているアプリケーションコード命令を実行して、前記システムに前記アカウント管理コンピューティングシステムからの公開アプリケーション取引カウンタのバンドルを受信させ、公開アプリケーション取引カウンタの前記バンドルは、時間および回数の制限を有するランダムに生成された値のセットを含む、請求項１６に記載のシステム。
【請求項１８】
アカウント管理コンピューティングシステムは、前記支払い処理要求の中で受信された前記公開アプリケーション取引カウンタを使用して、前記対応する秘密アプリケーション取引カウンタを取り出し、前記取り出された対応する秘密アプリケーション取引カウンタは、前記生成されたセキュリティコードを再計算するのに使用され、請求項１６に記載のシステム。
【請求項１９】
前記アカウント管理コンピューティングシステムは、前記再計算されたセキュリティコードが前記支払い処理要求の中で受信された前記生成されたセキュリティコードに一致することを確認することによって、前記生成されたセキュリティコードの前記有効性を確認する、請求項１８に記載のシステム。
【請求項２０】
前記公開アプリケーション取引カウンタの前記有効性を確認することは、前記公開アプリケーション取引カウンタが失効してらずかつ前に使用されていないと決定することを含む、請求項１６に記載のシステム。
【外国語明細書】
2018136984000001.pdf