(58)【調査した分野】(Int.Cl.,DB名)
前記モバイルウォレットデータが、(1)加入者識別モジュール識別子(ID)、(2)デバイスID、(3)クライアントID、(4)パスコード、(5)サーバキー、(6)サーバキー検証コード、または(7)ウィジェット認証情報のうちの少なくとも1つを含む、請求項1に記載のシステム。
前記少なくとも1つのメモリ内に記憶されたセキュリティ状態が、前記認証データが有効であるかを判定する前記ステップに基づき、前記1つ以上のコマンドの処理が、更に前記セキュリティ状態に基づいて有効にされる、請求項8に記載の方法。
前記モバイルウォレットデータが、(1)加入者識別モジュール識別子(ID)、(2)デバイスID、(3)クライアントID、(4)パスコード、(5)サーバキー、(6)サーバキー検証コード、または(7)ウィジェット認証情報のうちの少なくとも1つを含む、請求項8に記載の方法。
前記少なくとも1つのメモリが、各々が対応するステータスを有する1つ以上のアプリケーション識別子を含むアプリケーションレジストリを含む、請求項8に記載の方法。
前記第1のコマンドが、前記1つ以上のアプリケーション識別子に対応する前記少なくとも1つのメモリ内に記憶される1つ以上のアプリケーションの設定を変更するコマンドである、請求項12に記載の方法。
前記少なくとも1つのメモリ内に記憶されたセキュリティ状態が、前記認証データが有効であるかの前記判定に基づき、前記1つ以上のコマンドの処理が、更に前記セキュリティ状態に基づいて有効にされる、請求項15に記載のコンピュータ可読媒体。
前記モバイルウォレットデータが、(1)加入者識別モジュール識別子(ID)、(2)デバイスID、(3)クライアントID、(4)パスコード、(5)サーバキー、(6)サーバキー検証コード、または(7)ウィジェット認証情報のうちの少なくとも1つを含む、請求項15に記載のコンピュータ可読媒体。
前記第1のコマンドが、前記1つ以上のアプリケーション識別子に対応する前記少なくとも1つのメモリ内に記憶される1つ以上の決済アプリケーションの設定を変更するコマンドである、請求項19に記載のコンピュータ可読媒体。
【発明を実施するための形態】
【0017】
I.概要
本明細書に提示される本発明の例示的な実施形態は、アプリケーションを保護し、管理するためのシステム、方法、およびコンピュータプログラム製品を対象にしており、これらは、ここで、モバイル商取引環境における例示的なシステムの観点から本明細書において説明する。これは便宜的なものに過ぎず、本発明の用途を限定することを意図していない。実際には、以下の説明を閲読後、モバイルマーケティング、広告、チケット発行、情報サービス、ブラウジング等の代替的な環境においてどのように以下の発明を実装するかが、関連技術分野の当業者には明らかであろう。
【0018】
用語「アプリケーション」、「アプレット」、「ウィジェット」、および/またはこれらの用語の複数形は、本明細書において同義的に使用され、(独立してまたは他のアプリケーションと連携して機能する)アプリケーション、または1つ以上のプロセッサ(例えば、モバイルデバイス、カード読取装置、端末、販売時点(POS)システム、またはサーバ内の)によって実行されるとき、プロセッサ(複数可)に特定の業務を実施させる命令またはコードのセットもしくはサブセットを指す。例えば、ウォレットアプリケーションを使用して、金融、ロイヤルティ、オファー、メンバーシップ、またはアカウントデータを記憶する、それを処理する、それにアクセスする、またはそれを送るなどの、取引もしくはインターフェース関連機能を実行することができる。ウォレットアプリケーションはまた、American Express(登録商標)のExpressPay、Discover(登録商標) Network Zip(サービスマーク)、MasterCard(登録商標)PayPass(商標)、およびVisa payWave(商標)決済アプレットといった1つ以上の決済アプリケーションを組み込み得るまたはそれと対話し得る。
【0019】
用語「PIN」、「パスコード」、および/またはこれらの用語の複数形は、本明細書において同義的に使用され、システム、ユーザ、実体等を認証するために使用される一意の識別子を指す。
【0020】
一般に、セキュアエレメント(SE)内でアプリケーションを保護し、管理するための機構が提供される。具体的には、ウォレットコンパニオンアプレット(WCAp)は、金融取引を行うための決済アプリケーション、またはロイヤルティ、オファー、メンバーシップ、またはアカウントデータの処理に関連付けられた業務を実施するための商取引アプリケーションなどの、モバイルウォレットに関連付けられた一定のタイプのアプリケーションを監視する、管理する、および/または保護する。
【0021】
WCApは、モバイルデバイス上で実行されるアプリケーションであり得、以下のような機能を実施する:モバイルウォレットデータを安全に記憶する、パリティチェックおよびパスコード検証などの認証を実施する、コマンドを処理する、レジストリ内のウォレットアプリケーションデータを維持する、アプリケーションを管理する(例えば、有効化するおよび無効化する)、サーバを認証する、非接触型取引の処理に関与する。WCApはまた、これらの機能を実施するように構成されるスタンドアローン(すなわち、独立した)システムであり得る。
【0022】
例示的な実施形態では、WCApの状態は、その機能性(例えば、WCApが処理するであろうコマンドのタイプ)を示す。WCApは、例えば、セキュアエレメントの製造中に、セキュアエレメント上に読み込まれる。次に、WCApは、セキュアエレメント上にインストールされ得る。インストールされると、WCApの機能性は、例えば、WCApを選択可能にする「選択」コマンドなどの一定のコマンドを処理することに限定され得る。選択可能であるとき、WCApの機能性は、追加のおよび/または異なるコマンドを処理するように変更される。選択可能であるとき、WCApはまた、非個人化されたまたは個人化された状態になり得る。非個人化された状態では、WCApは、取引を実行するために必要な情報が不足している。WCApは、識別子およびパスコードなどの情報を受信するおよび/または記憶することによって個人化され得る。一実施形態では、WCApは、個人化された状態に置かれる。つまり、個人化された状態では、WCApがアクティブであり、モバイルウォレットデータなどの情報を安全に記憶する。
【0023】
代替的な例示的な実施形態では、WCApは、いくつかのセキュリティ状態のうちの1つであり得る。特定のセキュリティ状態は、WCApがモバイルウォレットから受信するコマンドに基づいて判定される。それらのコマンドは、WCApを選択するためのコマンドを含み、パリティチェックおよび/またはパスコード検証を実施する。一実施形態では、WCApのセキュリティ状態は、「非選択」、「未認証選択」、および「認証済み」である。非選択状態では、WCApはコンテキスト外にあり、一定のコマンドを受信し、処理するのに適格であるに過ぎない。未認証選択状態では、WCApは、(例えば、「選択」コマンドを処理することによって)選択され、それはコンテキスト内にあり、それが認証されることを要求しないコマンドを処理し得る。認証済み状態では、WCApは、(例えば、パリティチェックまたはパスコード検証の実施が成功することによって)認証され、WCApが認証されることを要求するコマンドを処理する。モバイルウォレットの認証は、パリティチェックまたはパスコード検証を実施することによって達成され得、この間、WCApが、モバイルデバイスから受信されたデータとWCAp上に記憶されたまたはそれと接続しているデータとを比較する。
【0024】
上で述べたように、WCApは、一定のアプリケーションを監視し、保護する。これは、アプリケーションのステータス、エラー、および/またはアプリケーションが選択されているかなどの、決済アプリケーションについての情報を含むレジストリを維持することによって成し遂げられる。この情報は、例えば、アプリケーションまたはセキュアエレメント環境から受信され得、次に、アプリケーションに関連する更新を追跡するために使用される。レジストリを使用して、WCApは、非接触型取引の間に使用するための決済アプリケーションの有効化を管理する(例えば、許可する/拒否する)。
【0025】
これらの特徴は、
図1〜9を参照しながら以下に更に詳細に説明される。
II.システム
図1は、例示的な実施形態に従うセキュアエレメント上のアプリケーションを保護し、管理するためのシステム100の図である。
図1に示されるように、システム100は、モバイルデバイス101、セキュアエレメント102、モバイルウォレット103、WCAp104、(本明細書で「サーバ」と呼ばれる)モバイルウォレットサーバ105、中央トラステッドサービスマネジャー(TSM)106、および非接触型読取装置107を含む。
【0026】
モバイルデバイス101は、例えば、携帯電話等であり得、プロセッサ101a、メモリ101b、非接触型フロントエンド(CLF)101c、ベースバンドモデム101d、およびディスプレイなどのユーザインターフェースを含む。ベースバンドモデム101dは、モバイルネットワーク通信に使われるデジタルモデムである。CLF101cは、NFC通信のアナログ部分および非接触型伝送リンクの通信プロトコル層を扱う回路である。更に、CLF101cを使用して、例えば、非接触型取引を実行するために、セキュアエレメント102と非接触型読取装置107との間でデータを交換する。
【0027】
モバイルデバイス101はまた、セキュアエレメント102を含み、該セキュアエレメントは、ユニバーサル集積回路カード(UICC)、埋め込まれたSEカード、安全なマイクロセキュアデジタル(マイクロSD)カード等として実装され得る。セキュアエレメント102は、それが、専用メモリを含む自己完結型システムであり、独立した試験により検証されたハードウェアおよびソフトウェアの堅牢化技術によって保護されているため、一般に安全だと考えられている。
【0028】
セキュアエレメント102は、GlobalPlatform(商標)環境(以下「オープン」と呼ばれる)などのオペレーションシステムを含み得、これは、セキュアエレメント上のアプリケーションにアプリケーションプログラミングインターフェース、ならびにコマンドのディスパッチ、アプリケーション選択、論理チャネル管理、およびコンテンツ管理などの他のサービスを提供する。このような環境において、セキュアエレメント102はまた、非接触型レジストリサービス(CRS)、CRSアプリケーション(以下「CRSアプレット」とも呼ばれる)、および/または非接触型レジストリイベントリスナー(CREL)アプリケーションを含み得る。CRSは、決済アプリケーションなどのアプリケーションを管理し、それにアクセスを提供するように構成される。CRSアプリケーションは、エンドユーザにCRSの管理を含むアプリケーション管理を提供するように構成される。CRELアプリケーションは、アプリケーションへの変更および/または更新に関する通知を受信するように構成されるアプリケーションである。このような環境は、「GlobalPlatform Card − Contactless Services, Card Specification v2.2 − Amendment C, Version 1.0.1.8.」においてより詳細に説明される。このようなGlobalPlatform(商標)構成の1つの欠点は、セキュアエレメント上のアプリケーションのセットまたはサブセットを独立して管理し、単一のパスコードを使用してそれらのアプリケーションへのアクセスを提供するおよび/または制限するCRELアプリケーションの必要性である。
【0029】
セキュアエレメント102は、(例えば、その中に記憶する)WCAp104(
図2〜5を参照しながら以下に更に詳細に説明される)および1つ以上の決済アプリケーションを含む。各決済アプリケーションは、SPによって発行されるサービスおよびアカウントに結び付けられる。WCAp104および決済アプリケーションは、例えば、セキュアエレメントの製造中および/または構成中に、セキュアエレメント102上に読み込まれ得る。WCAp104および決済アプリケーションは、取引を実行するためにそれらの使用を有効化するように個人化され得る。WCAp104の個人化は、表1を参照しながら以下に更に詳細に説明される。
【0030】
一実施形態では、WCAp104は、中央TSM106などのTSMによって個人化される。典型的には、中央TSMは、セキュアエレメントへのおよびそれからの通信を管理し、例えば、セキュアエレメント上にデータを読み込むために使用される。「Systems, Methods, and Computer Program Products for Interfacing Multiple Service Provider Trusted Service Managers and Secure Elements」と題された米国特許出願第13/653,160号(参照により本明細書にその全体が組み込まれる)で、セキュアエレメントとの通信を管理するための中央TSMを説明している。
【0031】
モバイルウォレット103(すなわち、モバイルウォレットクライアント)は、モバイルデバイス101内に記憶されたアプリケーションであり得る。モバイルウォレット103は、モバイルデバイス101のプロセッサによって実行されるとき、モバイルデバイス101が、例えば、非接触型決済などの取引を処理するための手段として働くようにする命令を含む。モバイルウォレット103は、このような取引を実行するようにWCAp104と通信する。具体的には、モバイルウォレット103は、国際標準化機構(ISO)7816コマンドを使用してセキュアエレメント102および/またはWCAp104と通信する。デバイス間のこれらおよび他の通信は、他の介在するシステム、ハードウェアおよび/またはソフトウェアとまたはそれを介して通信することを含み得ることを理解すべきである。
【0032】
WCAp104と通信するために、モバイルウォレット103は、
図4ならびに表1および2を参照しながら以下に更に詳細に説明される成功したPIN検証またはパリティチェックうちのいずれかを介してそれ自体を認証しなければならない。
【0033】
WCAp104はまた、近接決済システム環境(PPSE)を含む。PPSEは、セキュアエレメント上の決済アプリケーションの一覧を維持するために使用されるアプリケーションであり、システムまたはデバイスに対してそれらを可視にするまたは可視にしない(すなわち、アクセス可能)ことによって、アクセシビリティを各決済アプリケーションに提供する。
【0034】
一実施形態では、顧客は、近接結合デバイス(PCD)またはNFC対応読取装置などの非接触型読取装置107を装備して、POSで非接触型取引を実行するためにモバイルデバイス101を使用し得る。顧客は、モバイルデバイス101を、NFC ISO 14443プロトコルを使用してモバイルデバイス101のCLF101cと通信する非接触型読取装置107の所定の必要とされる近接内に配置する。非接触型読取装置107はまた、非接触型取引を実行するために、モバイルデバイス102上のモバイルウォレット103、WCAp104、および/または決済アプリケーションと通信する。
【0035】
WCAp104はまた、モバイルウォレット103とサーバ105との間の相互認証を提供するために使用される。モバイルウォレット103およびサーバ105は、例えば、モバイルウォレットの有効化、サービスアカウントまたはモバイルウォレット上の決済アプリケーションの設定、またはモバイルウォレットのPINの変更中に通信する。具体的には、WCAp104は、チケット(例えば、認証情報)を生成し、検証することによってこのような通信を認証する。この相互認証は、
図8を参照しながら以下に更に詳細に説明される。
III.処理
A.WCApを個人化する
図2は、例示的な実施形態に従うWCAp(例えば、
図1、WCAp104)のライフサイクル200を示す図である。ブロック201(「WCApが読み込まれる」)において、WCAp104が、例えば、セキュアエレメント102の製造中に、セキュアエレメント(例えば、
図1、セキュアエレメント102)上に読み込まれる。一実施形態では、WCAp104を読み込むことは、WCAp104の全てのクラスおよびインターフェースを含むJava変換アプレット(CAP)ファイルを含むパッケージをセキュアエレメント102上に読み込むことを含む。ブロック201において、WCAp104は、機能的でない(すなわち、取引を実行するために使用することができない)。
【0036】
ブロック202(「WCApがインストールされる」)において、WCAp104は、セキュアエレメント102内にインストールされる。具体的には、WCAp104のインストールは、読み込まれたファイルを解凍すること、実行可能コードを結びつけること、セキュアエレメント102内にメモリを割り当てることを含む。
【0037】
ブロック203(「WCApが選択可能である」)において、WCAp104は、例えば、モバイルウォレット103または中央TSM(例えば、
図1、中央TSM106)によって選択可能になる。更に、選択可能であることに加えて、WCAp104は、ブロック203Aおよび203Bに図示されるように、それぞれ、個人化された(すなわち、アクティブ)または個人化されない(すなわち、非アクティブ)状態のうちのいずれかである。
【0038】
既定では、WCAp104は、一旦それが選択可能であるようにインストールされることから変更されると、個人化されていない状態に置かれる。
【0039】
次に、WCAp104は、モバイルウォレットデータなどの情報を記憶するコマンドを使用して、中央TSM106によって個人化され(例えば、有効化され)得る。一旦個人化されると、WCAp104は、更新された情報(例えば、更新されたモバイルウォレットデータ)を記憶するために中央TSM106によって更新され得る。WCAp104を個人化するプロセスは、例えば、モバイルウォレット103からの情報を受信することと、WCAp104内のおよび/またはそれと関連付けられたその情報の少なくとも一部を記憶することとを含む。WCAp104は、モバイルウォレット103によって取引を処理するために使用されるモバイルウォレットデータなどのデータの第2の安全な記憶装置として作用する。以下の表1は、エレメントおよび対応する説明を含めたWCAp104内に記憶されたデータの例を示す。
【0041】
表1を参照すると、ウォレットパスコード(以下「パスコード」と呼ばれる)は、WCAp104の個人化中に、中央TSM106によって最初に割り当てられた4文字のコードである。しかしながら、パスコードは、その後、変更することができる。パスコードは、
図3および4を参照しながら以下に更に詳細に説明される。サーバ認証キーおよびサーバ認証キー検証コードは、
図3〜8を参照しながら以下に更に詳細に説明される。
【0042】
ウィジェット認証Blobは、ウィジェットに対応するデータを含む。ウィジェットは、他のアプリケーションと連携して機能し得るタイプのアプリケーションである。ウィジェット認証Blobは、ウィジェットID、ウィジェットの署名、およびウィジェットのバージョンなどのデータを含む。ウィジェットIDは、ウィジェットの一意の識別子である。ウィジェットの署名は、各ウィジェットのモバイルウォレットによって計算されるハッシュ値である。ウィジェットのバージョンは、各ウィジェットのバージョン番号および/または識別子である。
【0043】
WCAp104は、ウィジェットデータを検証するための手段を記憶し、提供する。具体的には、ウィジェット認証Blobは、WCApによってウィジェットのアイデンティティを検証するために使用される。このような検証は、検証ウィジェットコマンドを使用して達成することができ、該コマンドにおいて、ウィジェットデータが、WCAp104内に記憶されたウィジェット認証Blobデータと比較されるように、モバイルウォレット103によってWCAp104に送信される。コマンド内のウィジェットデータがウィジェット認証Blobデータと一致する場合、WCAp104は、ウィジェットが検証されたことを示す応答をモバイルウォレットに送る。
【0044】
更に、WCAp104の個人化中に、中央TSM106は、WCAp104をCRELアプリケーションとして登録する。一般に、CRELアプリケーションは、CRSおよび/またはCRSアプリケーションを使用して、複数のアプリケーションを追跡するおよび/または管理するために使用されるアプリケーションである。CRSは、セキュアエレメント上のアプリケーションのレジストリである。
【0045】
CRELアプリケーションとして登録されるWCAp104は、モバイルウォレット103に関連付けられたアプリケーションを追跡するおよび/または管理するために、CRSのミラー(すなわち、複写または複製)(以下「CRSミラー」と呼ばれる)を含む。つまり、WCAp104のCRSミラーは、CRSにおけるアプリケーションの全てまたは1つのサブセット、具体的には、中央TSM106によってインストールされたおよび/または提供されたアプリケーションを追跡するおよび/または管理する。アプリケーションを追跡するおよび/または管理することは、それらのアプリケーションの使用、アクセス、権限付与、有効化、および/または情報の更新に関連する任意の機能およびプロセスを含む。
【0046】
CRELとして、WCAp104は、アプリケーションのステータス変更などの、CRSミラーによって追跡されるアプリケーションに関連するイベントの通知を受信する。CRELおよびCRSは、
図5〜7を参照しながら以下に更に詳細に考察される。ブロック204(「WCApが停止されている」)において、WCAp104は停止され、停止中、その機能性がロックされる。
図2に示されていないが、WCAp104は終了され得る。終了されると、WCAp104は、中央TSM106によってセキュアエレメント102から削除される。
B.WCApを認証する
図3は、例示的な実施形態に従うWCApセキュリティ状態(例えば、非選択、未認証選択、認証済み)のライフサイクル300を示す図である。WCApは、WCApのセキュリティ状態に従う一定のアプリケーションプロトコルデータユニット(APDU)のコマンド(本明細書において「コマンド」と呼ばれる)を処理するであろう。
【0047】
ブロック301(「非選択状態」)において、WCAp(例えば、
図1、WCAp104)は、非選択状態である。非選択状態において、WCAp104はコンテキスト外にあり、一定のコマンドを受信し、処理するのに適格であるに過ぎない。以下の表2は、それが非選択状態にあるときを含めて、それが特定のセキュリティ状態にあるとき、WCAp104によって処理され得るコマンドの例を示す。
【0049】
次に、WCAp104が、選択コマンドを受信することによって選択され得る(例えば、
図2、ブロック203、「WCApが選択可能である」)。
【0050】
ブロック302(「未認証選択状態」)において、WCAp104は、選択コマンドを受信することによって選択された後、未認証選択状態にある。未認証選択状態では、WCAp104はコンテキスト内にあり、表2を参照しながら上で説明されるように、それが認証済み状態であることを要求しないコマンドを処理し得る。
【0051】
次に、WCAp104は、パリティチェックまたはパスコード検証を使用して認証され得、それによって、ブロック303(「認証済み状態」)においてWCAp104を認証済み状態に置く。パリティチェックおよびパスコード検証は、以下に説明されるように実施される。
【0052】
ブロック303(「認証済み状態」)において、WCAp104は、パリティチェックおよび/またはパスコード検証の実施に成功した(「成功したパスコード検証」または「成功したパリティチェック」)後、認証済み状態である。認証済み状態において、WCAp104は、表2を参照しながら上で説明されるように、コマンドを処理し得る。
【0053】
図3に更に示されるように、WCAp104が認証済み状態にあるとき、それは、そのコンテキストを失う可能性があり(「コンテキスト喪失」)、非選択状態(すなわち、ブロック301)に置かれ得る。更に、WCAp104が選択され(「WCApが選択される」)、したがって、未認証選択状態に置かれ得る。
1.パスコードを検証する
表1を参照しながら上に更に詳細に考察されるように、WCAp104は、モバイルウォレット(例えば、
図1、モバイルウォレット103)に関連付けられたパスコードを記憶する。パスコードを使用して、認証済み状態にWCAp104を置くことができ、および/または決済アプリケーションを有効化することができる。パスコードは、オンまたはオフ状態(すなわち、パスコードが認証に必要か否かを示す)に置かれ得、その状態は、WCAp104外に記憶される。
【0054】
パスコードは、
図2および表1を参照しながら上で説明されるWCAp104の個人化の間に、最初に設定される。具体的には、パスコードの設定中、モバイルウォレット103は、最初に有効化データ(例えば、パスコード、ウォレットID、デバイスID、SE ID)をモバイルデバイス(例えば、
図1、モバイルデバイス101)またはユーザから、例えば、モバイルデバイス101のユーザインターフェースを介して取得するおよび/または受信する。次に、モバイルウォレット103は、サーバ(例えば、
図1、サーバ105)に有効化データ内のSE IDに対応するWCAp104を有効化する要求を送る。次いで、サーバ105は、中央TSM(例えば、
図1、中央TSM106)に、有効化データを含む、WCAp104を有効化する要求を送る。中央TSM106は、WCAp104内にパスコードを含めて、受信された有効化データの少なくとも一部を記憶する。
【0055】
WCAp104は、「再試行カウンタ」と呼ばれるカウンタを含み、該カウンタは、パスコード検証の試行が失敗する(すなわち、提出されたパスコードが、WCApに記憶された設定パスワードと一致しない)とインクリメントされる。WCAp104および/またはパスコードは、再試行カウンタが所定の限界を超えると、ロックされることになり得る。再試行カウンタは、パスコード検証の試行が成功する(すなわち、提出されたパスコードが、WCApに記憶された設定パスワードと一致する)度にゼロにリセットされる。
【0056】
図4は、例示的な実施形態に従うパスコードを検証するためのプロセス400を示すフローチャートである。ブロック401(「パスコード検証コマンドを受信する」)において、WCAp104は、パスコードを含めてモバイルウォレット103からパスコード検証コマンドを受信する。
【0057】
ブロック402(「WCApがロックされている?」)において、WCAp104は、それがロックされているか(すなわち、
図2、ブロック204、「WCApが停止されている」)を判定する。WCAp104および/またはパスコードは、例えば、再試行カウンタが所定の限界を超えた場合、ロックされることになり得る。ロックされていると、WCAp104は、パスコード検証コマンドを処理しない。WCAp104がロックされているという判定が下された場合、WCAp104は、ブロック403(「エラー:WCApがロックされている」)において、WCAp104および/またはパスコードがロックされていることを示すエラー応答をモバイルウォレット103に送る。
【0058】
代替的に、ブロック402において、WCAp104がロックされていないという判定が下された場合、WCAp104は、ブロック404(「受信されたパスコード=記憶されたパスコード?」)において、パスコード検証コマンドにおいて受信されたパスコードがWCAp104内に記憶されたパスコードと一致するかを判定する。ブロック404において、受信されたパスコードが記憶されたパスコードと一致しないという判定が下された場合、WCAp104は、ブロック405(「カウンタインクリメント」)において、再試行カウンタをインクリメントさせる。
【0059】
次に、WCAp104は、ブロック406(「WCApがロックされている?」)において、WCAp104および/またはパスコードがロックされているかを判定する。WCAp104および/またはパスコードがロックされているという判定が下された場合、WCAp104は、ブロック403(「エラー:WCApがロックされている」)において、WCApおよび/またはパスコードがロックされていることを示すエラー応答をモバイルウォレット103に送る。
【0060】
WCAp104および/またはパスコードがロックされていないという判定が下された場合、WCAp104は、ブロック407(「エラー:パスコード検証が失敗する」)において、パスコード検証コマンドが失敗した(すなわち、パスコードの検証が成功しなかった)ことを示すエラー応答をモバイルウォレット103に送る。ブロック407において送信されたエラー応答は、再試行カウンタが所定の限界を超える前に残されたパスコードの検証の試行回数を示す情報を含み得る。
【0061】
ブロック404において、受信されたパスコードが記憶されたパスコードと一致するという判定が下された場合、WCAp104は、ブロック408(「WCAp状態を認証済みに設定する」)において、そのセキュリティ状態を認証済みに設定する。次いで、WCAp104は、表2を参照しながら上で説明されるようにコマンドを処理する。
【0062】
ブロック409(「一意のコード=一意のコードのバックアップ?」)において、WCAp104は、ウォレットに一意のコードが、ウォレットに一意のコードのバックアップ(いずれもWCAp104内に記憶される)と一致するかを判定する。WCAp104が、ウォレットに一意のコードはウォレットに一意のコードのバックアップと一致すると判定する場合、WCAp104は、ブロック410(「応答を送る:パスコードが検証される」)において、パスコードの検証が成功したことを示す、ウォレットに一意のコードを含む応答をモバイルウォレット103に送る。
【0063】
ブロック409において、ウォレットに一意のコードがウォレットに一意のコードのバックアップと一致しないという判定が下された場合、WCAp104は、ブロック411(「新しい一意のコードを生成する?」)において、ブロック401において受信されたパスコード検証コマンドが、新しいウォレットに一意のコードを生成する命令を含むかを判定する。その場合、WCAp104は、ブロック412(「一意のコードおよびバックアップを生成する」)において、新しいウォレットに一意のコードおよびウォレットに一意のコードのバックアップを生成して記憶し、パスコードの検証が成功したことを示す新しいウォレットに一意のコードをブロック410においてモバイルウォレット103に送る。
【0064】
代替的に、ブロック411において、ブロック401において受信されたパスコード検証コマンドが、新しいウォレットに一意のコードを生成する命令を含まないという判定が下された場合、WCAp104は、ウォレットに一意のコードの検証が失敗したことを示すエラー応答をブロック413(「エラー:一意のコード検証失敗」)においてモバイルウォレット103に送る。
2.パリティチェックを実施する
表1を参照しながら上に更に詳細に考察されるように、WCAp104は、デバイスID、SIM ID、および/またはウォレットIDを含み得るデータを記憶する。WCAp104は、このデータの少なくとも一部を使用して、パリティチェックを実施する。
【0065】
具体的には、モバイルウォレット103は、WCAp104にデバイスID、SIM ID、および/またはウォレットIDを含むパリティチェックコマンドを送る。パリティチェックコマンドにおいて受信されたデータエレメントのうちの少なくとも1つが、WCAp104内に記憶された同じタイプのデータエレメントと比較される。
【0066】
一実施形態では、パリティチェックコマンドにおいて受信されたデバイスIDおよびウォレットIDは、WCAp104内に記憶されたデバイスIDおよびウォレットIDと比較される。受信されたデバイスIDおよびウォレットIDが、WCAp104内に記憶されたデバイスIDおよびウォレットIDと一致する(すなわち、同じ値を有する)という判定が下された場合、WCAp104は、パリティチェックが成功したことを示す応答をモバイルウォレット103に送る。
【0067】
代替的に、受信されたデバイスIDおよびウォレットIDが、WCAp104内に記憶されたデバイスIDおよびウォレットIDと一致しないという判定が下された場合、WCAp104は、パリティチェックが失敗したことを示す応答をモバイルウォレット103に送る。WCAp104はまた、モバイルウォレット103に対する応答においてパリティチェックの失敗の理由を示す情報を送り得る(例えば、コマンドにおいて受信された不適切な値、コマンド内の欠落している情報、エレメント検証失敗など)。
C.決済アプリケーションのWCAp管理
図1を参照しながら上に更に詳細に説明されるように、WCAp(例えば、
図1、WCAp104)は、モバイルウォレット103(すなわち、中央TSM(例えば、
図1、中央TSM106)によってインストールされたまたはインスタンス化されたアプリケーション)に関連付けられた決済アプリケーションのためのCRELアプリケーションとして登録される。
【0068】
図5は、例示的な実施形態に従うCRSミラー500の図である。CRSミラー500は、セキュアエレメント(例えば、
図1、セキュアエレメント102)上のCRSの複写または複製であり、CRSのアプリケーション情報の全てまたは一部を含む。
【0069】
CRELとして、WCAp104は、決済アプリケーションを追跡するおよび/または管理するために使用される情報を含むCRSミラー500を使用して、決済アプリケーションを追跡するおよび/または管理する。
図5に示されるように、CRSミラー500は、一定のタイプのアプリケーション(例えば、中央TSM106によってインストールされたまたはインスタンス化されたアプリケーション)に関連する情報を含む。各決済アプリケーションは、CRSミラー500によって一意の対応するアプリケーション識別子(AID)を使用して追跡されるおよび/または管理される。
図5は、AID−1〜AID−6として識別される6個のアプリケーションを追跡するために使用される情報を含む。
【0070】
更に、CRELアプリケーションとして、WCAp104は、CRSミラー500(すなわち、AID−1〜AID−6)によってもまた追跡されるアプリケーションに関連するCRS内の変更および/または更新に関する通知を受信する。これらの通知は、例えば、決済アプリケーションの有効化に関連し得る。このような通知を受信すると、WCAp104は、その情報がCRSにおける情報と一致するようにCRSミラー500を更新する。
【0071】
CRSミラー500はまた、CRSステータス(すなわち、有効化済みまたは無効化済み)、モバイルウォレット選択(すなわち、決済アプリケーションが、例えば、選択コマンドを介して選択されたか否かの表示)、ステータス(すなわち、エラー、エラー無し、デッドロック)、および/または速度カウンタなどの、各決済アプリケーション(すなわち、各AIDに対応するアプリケーション)についての情報を含む。
図5は、これらのタイプの情報の各々に対応するカラムを含む。
【0072】
CRSステータスは、CRSにおいて示されるように、決済アプリケーションが有効化されているかまたは無効化されているかを示す。
【0073】
モバイルウォレットが選択コマンドをWCApに送り、その処理が成功するとき、決済アプリケーションは、「モバイルウォレット選択」となり、アプリケーションは、例えば、所定の期間の満了によってその選択状態を失わない。
【0074】
CRSミラー500内に示される決済アプリケーションのステータスは、CRSステータスフィールドとモバイルウォレット選択フィールドとの間に不一致が存在するかを示す。例えば、決済アプリケーションのCRSステータスが有効化済みとして表に挙げられ(すなわち、アプリケーションがCRSにおいて有効化済みとして表に挙げられ)、モバイルウォレット選択フィールドが「はい」である場合、ステータスは「エラー無し」に設定される。代替的に、決済アプリケーションのCRSステータスが無効化済みとして表に挙げられ、モバイルウォレット選択フィールドが「はい」である場合、決済アプリケーションのステータスが、CRSおよびCRSミラーが不一致のものを有することを示す「エラー」に挙げられる。決済アプリケーションのステータスはまた、悪意のあるアプリケーションが決済アプリケーションを使用しようとする場合、または決済アプリケーションが最初に不適切に有効化された場合、「デッドロック」であり得る。
【0075】
速度カウンタは、モバイルデバイス上でモバイルウォレットと通信することを必要とせずに実行および/または処理することができる取引回数を制限するセキュリティ機構である。
1.決済アプリケーションを選択するおよび有効化する
各決済アプリケーションは、決済手段(例えば、クレジットカード)に結び付けられ得るアカウント(例えば、クレジットアカウント)に対応するおよび/または結び付けられる。
図6は、例示的な実施形態に従う主要な(すなわち、既定の)決済アプリケーション(すなわち、モバイルウォレットによる取引のために使用される主要なアカウントおよび/または決済手段に結び付けられるアプリケーション)を選択し、有効化するためのプロセス600を示すシーケンス図である。
図6のステップ650〜660は、主要な決済アプリケーションを選択するためのプロセスを示す。
【0076】
ステップ650(「選択」)において、モバイルウォレット601(例えば、
図1、モバイルウォレット103)は、選択コマンドを、CRSミラー602a(例えば、
図5、CRSミラー500)を含むWCAp602(例えば、
図1、WCAp104)に送る。選択コマンドは、選択されるべき決済アプリケーションのAIDを含む。WCAp602は、モバイルウォレット601に選択コマンドの処理が成功したか、またはエラーが発生したか(例えば、WCApがロックされている、アプリケーションが見つからない、アプリケーションに結び付けられたアカウントが停止されている、不適切なAID)を示す応答を送り得る。
【0077】
次に、ステップ652(「ステータスフェッチ」)において、モバイルウォレット601は、WCAp602およびWCAp602がインストールされたセキュアエレメントについての情報を取得するために、ステータスフェッチコマンドをWCAp602に送る。具体的には、WCAp602は、ステータスフェッチコマンドを受信して、次に、WCAp602に関連するセキュアエレメントおよびセキュアエレメント上の他の決済アプリケーションからの情報を取得する。この情報は、例えば、セキュアエレメント上のアプリケーションのステータスおよび/または設定を含む。その後、WCAp602は、いくつかのまたは全ての取得された情報を含む応答をモバイルウォレット601に送る。
【0078】
ステップ654(「パリティチェック/パスコード検証」)において、モバイルウォレット601は、
図3および4を参照しながら上でより詳細に考察されるように、WCAp602を認証する(すなわち、WCAp602を認証済み状態に置く)ために、パスコード検証またはパリティチェックコマンドをWCAp602に送る。WCAp602は、モバイルウォレット601にパリティチェックおよび/またはパスコード検証が成功したか否かを示す応答を送り得る。つまり、具体的には、この応答は、コマンドの処理が成功したか、コマンドデータ内に不適切な値が存在するか、WCApが非アクティブであるかもしくはまだ個人化されていないか、またはパスコード検証もしくはパリティチェックが失敗したかを示す情報を含み得る。
【0079】
パスコード検証および/またはパリティチェックコマンドの処理が成功した(すなわち、WCAp602が認証済み状態にある)場合、モバイルウォレット601は、次に、決済設定入力コマンドをステップ656(「決済設定を入力する(主要なものを選択)」)においてWCAp602に送る。決済設定入力コマンドを使用して、取引を有効にするおよび無効にする、決済上書きをオンにするおよびオフにする、ならびに主要な決済アプリケーションを選択することができる。更に、決済設定入力コマンドは、WCAp602が認証済み状態にあるとき、処理される。
【0080】
ステップ656において送られた決済設定入力コマンドは、主要なアプリケーションとして、コマンドに含まれるAIDに対応するアプリケーションを選択する命令を含む。
【0081】
代替的な実施形態では、主要な決済アプリケーションを選択する決済設定入力コマンドは、例えば、複数の決済アプリケーションを主要なアプリケーションとして選択するために、複数のAIDを含み得る。
【0082】
ステップ658(「PPSEパラメータを設定する」)において、WCAp602は、PPSEパラメータを設定するコマンドをPPSE603に送る。PPSEパラメータは、以下を含む:主要な決済AID(すなわち、主要な決済アプリケーションのAID)、取引有効/無効(すなわち、取引が処理されたか否かの指標)、および/または決済上書き(すなわち、モバイルデバイスが取引のために使用されるのに適格であるか否かの指標)。具体的には、ステップ658において、PPSEパラメータを設定するコマンドは、AID、およびそのAIDに対応するアプリケーションを主要な決済アプリケーションとして設定する命令を含む。
【0083】
次に、ステップ660(「PPSE応答設定」)において、PPSE603は、PPSE応答設定コマンドを処理する。PPSE応答は、エラー、空白応答、または正常な応答であり得る。エラーは、パスコードがロックされている、主要なアプリケーションが選択されていない、および/または決済が無効になっている(すなわち、有効になっていない)ことを示す。空白応答は、決済上書きがオンであることを示す。正常な応答は、主要なアプリケーションが選択されている、決済上書きがオフである、パスコードがロックされていない、および決済が有効になっていることを示す。正常な応答はまた、どのアプリケーションが取引を実行するために選択され得るかを示す1つ以上の決済アプリケーションに対応する情報(例えば、AID、ラベル、優先度指標)を含む。PPSE603は、PPSE応答を、例えば、非接触型取引で使用される非接触型読取装置を含む他のシステムに送り得る。
【0084】
図6のシーケンス図は、ステップ662〜670によって示されるように、決済アプリケーションを有効化するためのプロセスを更に示す。
【0085】
一旦主要な決済アプリケーションが選択されると(すなわち、ステップ650〜660)、モバイルウォレット601は、ステップ662(「選択」)において選択コマンドをCRSアプレット604に送る。CRSアプレット604は、CRSを含み、セキュアエレメント上で決済アプリケーションを管理するために使用される。CRSアプレット604はまた、
図1を参照しながら上で説明されるようにセキュアエレメントのプラットフォームおよび/または環境であるオープン605に対してインターフェースとして機能する。
【0086】
ステップ662において送られた選択コマンドは、選択されるべき決済アプリケーションのAIDを含む。CRSアプレット604は、モバイルウォレット601に選択コマンドの処理が成功したかまたはエラーが発生したかを示す応答を送り得る。
【0087】
次に、ステップ664(「ステータスを設定する(AIDを有効化する)」)において、モバイルウォレット601は、AID、ステータス(例えば、有効化する、無効化する)、およびAIDに対応する決済アプリケーションのステータスを有効化済みに設定する命令を含むステータス設定コマンドをCRSアプレット604に送る。次に、ステップ666(「CRSを更新する」)において、CRSアプレット604は、AIDに対応する決済アプリケーションが有効化されたことを反映するために、CRSを更新するためのデータ(例えば、AID、ステータス)を含むCRS更新コマンドをオープン605に送る。
【0088】
ステップ668(「CRELフィードバックを有効化する」)において、オープン605は、CRSミラー602において追跡された決済アプリケーションに対する更新が発生したことを示すCRELフィードバックをWCAp602に送る。CRELフィードバックはまた、CRSに一致するように、CRSミラー602aを更新するための情報(例えば、AID、ステータス)を含む。
【0089】
次に、WCAp602は、ステップ670(「有効化を許容する?」)において、決済アプリケーションの有効化を許容するべきかを判定する。例えば、WCAp602は、
図5を参照しながら上で説明されるように、CRELフィードバック内のAIDのステータスが、CRSミラー602a内のモバイルウォレット選択フィールドに一致するかを判定する。不一致が存在しない場合、WCAp602は、決済アプリケーションの有効化を許容し、CRSミラー602a内の対応するAIDのCRSステータスを有効化済みに設定する。代替的に、不一致が存在する場合、WCAp602は、決済アプリケーションの有効化を拒否し、決済アプリケーションをCRSミラー602a内で無効化済みにリセットするであろう。
【0090】
代替的な実施形態では、決済アプリケーションは、複数のアカウント(例えば、クレジットアカウント、小切手アカウント)に結び付けられ(すなわち、関連付けられ)得る。このような場合、各アカウントは、決済アプリケーションに対応する一意のAIDに結び付けられる。結果として、主要なアプリケーションを選択することは、アカウントおよび決済アプリケーションに対応する主要なAIDを選択することを含む。
2.非接触型取引および決済アプリケーションを管理する
図7は、例示的な実施形態に従う非接触型取引700を管理するためのプロセスを示すシーケンス図である。
【0091】
非接触型取引(例えば、決済)は、モバイルデバイス(例えば、
図1、モバイルデバイス101)上にインストールされたモバイルウォレットに結び付けられた決済アプリケーション704などのアプリケーションを使用して実施される。決済アプリケーションはまた、アカウント(例えば、小切手アカウント)に結び付けられている。
【0092】
非接触型取引700などの取引は、CLF702を装備するモバイルデバイスを非接触型読取装置701の所定の近接内に配置することによってPoSで開始される。ステップ750(「14443通信確立」)において、ISO14443通信(すなわち、NFC ISO14443プロトコルを使用する)が、モバイルデバイス内のCLF702と非接触型読取装置701との間にPoSで確立される。次に、ステップ752(「無線周波数オン」)において、CLF702は、WCAp706の無線周波数接続をオンの状態にする。
【0093】
ステップ754(「PPSE選択」)において、非接触型読取装置701は、PPSE705を選択するためにPPSE選択コマンドをオープン703に送る。PPSE選択コマンドは、PPSE705のAIDを含む。次に、オープン703は、ステップ756(「AIDが有効化されている」)において、コマンド内の受信されたAID(すなわち、PPSE705のAID)のステータスを有効化済みに設定することによって、PPSE705を有効化する。AIDのステータスを有効化済みに設定することは、AIDのステータスでCRSを更新することを含む。
【0094】
PPSE705の有効化が成功しなかった場合、オープン703は、ステップ758(「エラー(AIDが有効化されていない場合)」)において、エラーメッセージを非接触型読取装置701に送る。代替的に、ステップ760(「PPSE選択(AIDが有効化されている場合)」)において、オープン703は、PPSE705のAIDを含めて選択コマンドをPPSE705に送る。次に、ステップ762(「評価する」)において、PPSE705は、セキュアエレメント上で決済アプリケーションのステータス(すなわち、主要な決済アプリケーションが選択されているか、決済上書きがオンであるかまたはオフであるか、パスコードがロックされているかまたはロックされていないか、および/または決済が有効になっているかまたは無効になっているか)を判定するために評価を実施する。
【0095】
ステップ764(「PPSE応答」)において、PPSE705は、ステップ762において実施された評価に基づいて、応答を非接触型読取装置701に送る。応答は、エラー、空白応答、または正常な応答であり得る。エラーは、パスコードがロックされている、主要なアプリケーションが選択されていない、および/または決済が無効になっている(すなわち、有効になっていない)ことを示す。空白応答は、決済上書きがオンであることを示す。正常な応答は、主要なアプリケーションが選択されている、決済上書きがオフである、パスコードがロックされていない、および決済が有効になっていることを示す。正常な応答はまた、どのアプリケーションが取引を実行するために選択され得るかを示す1つ以上の決済アプリケーションに対応する情報(例えば、AID、ラベル、優先度指標)を含む。
【0096】
非接触型読取装置701は、ステップ766(「決済アプリケーションを選択する」)において、取引で使用される決済アプリケーション(すなわち、決済アプリケーション704)のAIDを含む選択コマンドをオープン703に送る。次に、ステップ768(「AIDが有効化される」)において、オープン703は、ステップ766において送られたAIDに対応するステータスを有効化済みに設定することによって、決済アプリケーションを有効化する。これは、例えば、CRSにおいてAIDのステータスを変更することによって行われる。
【0097】
決済アプリケーションの有効化が成功しなかった場合、オープン703は、ステップ770(「エラー(AIDが有効化されていない場合)」)において、エラーメッセージを非接触型読取装置701に送る。代替的に、ステップ772(「決済アプリケーションを選択する(AIDが有効化されている場合)」)において、オープン703は、ステップ766において送られた選択コマンドに含まれるAIDに対応する決済アプリケーション704に選択コマンドを送る。
【0098】
ステップ774(「決済コマンド」)において、決済コマンドは、非接触型取引を実施するために非接触型読取装置701と決済アプリケーション704との間で送られ得る。決済コマンドは、決済取引を完了するために、EMV(すなわち、Europay、MasterCard(登録商標)、Visa(登録商標))、ISO 7816、またはISO 144443規格に従って送られたAPDUコマンドであり得る。これらのコマンドは、例えば、処理オプション取得、外部認証、記録読み込み、暗号文処理等を含む。
【0099】
ステップ776(「取引イベント」)において、決済アプリケーション704は、CLF702に取引イベントを送る。取引イベントは、非接触型決済などの取引が完了したことを示す情報をモバイルウォレットに提供する。
【0100】
次に、ステップ778(「取引イベント」)において、CLF702は、モバイルデバイスに装備されたモバイルウォレット707に取引イベントを送る。その結果、モバイルウォレット707は、取引が完了したことを示す決済アプリケーション704によって発信される情報を受信する。
D.モバイルウォレットとサーバとの間の相互認証
図8は、WCAp802(例えば、
図1、WCAp104)を含むモバイルウォレット801(例えば、
図1、モバイルウォレット103)とサーバ805(例えば、
図1、サーバ105)との間の相互認証プロセス800を示すシーケンス図である。
【0101】
ステップ850(「WSチケット生成コマンド」)において、モバイルウォレット801は、WSチケット生成コマンドをWCAp802に送る。表2を参照しながら上で考察されるように、WSチケット生成コマンドは、WCApが認証済み状態にあるとき、WCApによって処理される。
【0102】
次に、WCAp802は、チケットIDおよびチケットトークンをステップ852(「チケットIDおよびチケットトークンを生成する」)において生成する。チケットIDは、WCAp802によって維持される8バイトの永続的なカウンタである。チケットトークンは、WCAp802に関連付けられたセキュアエレメントによって生成される1回限りの8バイトのランダムな識別子であり、各WSチケット生成コマンドのために一意に生成される。ステップ854(「チケットを処理する」)において、WCAp802は、例えば、(表1を参照しながら上に更に詳細に説明される)WCAp802内に記憶されるウォレットサーバキーとトリプルデータ暗号化アルゴリズム(TDEA)(すなわち、データ暗号化規格(DES)暗号化アルゴリズムを3回各データブロックに適用すること)とを暗号化ブロック連鎖モードで使用して、チケットIDおよびチケットトークンを暗号化することによってチケットを処理する。
【0103】
WCAp802は、ステップ856(「チケット応答」)において、ステップ852および854において生成されるチケットID、チケットトークン、およびチケットを含むチケット応答をモバイルウォレット801に送る。代替的に、チケット応答は、セキュリティ条件が満たされない、ウォレットサーバキーが読み込まれないおよび/もしくは見つからない、ならびに/またはWCApはアクティブでないおよび/もしくは個人化されていないことを示すエラーを含み得る。
【0104】
ステップ858(「チケットID、チケットトークン、チケット、ウォレットIDを送る」)において、モバイルウォレット801は、ウォレットIDと共にチケットID、チケットトークン、およびチケットをサーバ803に送る。次に、ステップ860(「サーバ認証キーを取得する」)において、サーバ803は、ステップ854においてチケットを暗号化するために使用されるウォレットサーバキーに一致すべきサーバ認証キーを取得するためにアイデンティティ管理(IDM)システム804にウォレットIDを含めて、要求を送る。IDM804は、サーバ803内に含まれるまたはそれに結合されるシステムおよび/またはアプリケーションであり、システム内またはそれ全体に渡る認証、権限付与、および/または特権を管理するために使用される。
【0105】
ステップ862(「サーバ認証キーを生成する」)において、IDM804は、応答で受信したウォレットIDのためのサーバ認証キーを生成し、ステップ864(「サーバ認証キーを送る」)においてそれをサーバ803に送る。
【0106】
次に、ステップ866(「チケットを復号化する」)において、サーバ803は、ステップ858において受信したチケットを復号化する。一旦復号化されると、チケットを暗号化するために使用されたチケットIDおよびチケットトークンは、ステップ868(「チケットIDおよびチケットトークンを検証する」)においてサーバ803によって検証される。サーバ803は、その後、ステップ870(「セッショントークンを生成する」)において、セッショントークンを生成する。
【0107】
ステップ872(「権限付与を返却」)において、サーバ803は、チケットトークンおよびセッショントークンを暗号化することによって、暗号化ブロック連鎖モードでTDEAを使用して、権限付与を返却を生成する。次に、ステップ874(「セッショントークンを送り、権限付与を返却」)において、サーバ803は、セッショントークンを送り、モバイルウォレット801に権限付与を返却する。
【0108】
モバイルウォレット801は、ステップ876(「WSコマンドを検証する」)において、(表2を参照しながら上に更に詳細に説明される)WS検証コマンドをWCAp802に送る。典型的には、WS検証コマンドを使用して、モバイルウォレットが意図されたサーバとの接続を確立したかを検証する。WS検証コマンドは、WCApが認証済み状態にあるとき、WCApによって処理される。WS検証コマンドは、セッショントークンおよび権限付与を返却を含む。WCAp802は、ステップ878(「権限付与を返却を復号化する」)において、権限付与を返却を復号化する。一旦復号化されると、権限付与を返却を暗号化するために使用されるセッショントークンおよびチケットトークンが、ステップ880(「セッショントークンおよびチケットトークンを検証する」)においてWCAp802によって検証される。(発明者:どのようにしてこのような「権限付与を返却」の検証が達成されるかを説明して下さい。)
ステップ882(「応答」)において、WCAp802は、モバイルウォレット801に応答を送る。応答は、サーバが検証された(すなわち、認証が成功した)かまたはエラーが発生したかを示す情報を含む。エラーは、セキュリティ条件が満たされない、コマンドが順序から外れて行われようとした、WCApが個人化されていないおよび/または非アクティブ、コマンドが不適切なデータを含む、および/またはサーバの認証が失敗したことを示す。
G.追加の実装例
本発明(例えば、システム100、ライフサイクル200〜300、図面500、プロセス600〜800、またはその任意の部分(複数可)または機能(複数可))は、ハードウェア、ソフトウェア、またはそれらの組み合わせを使用して実装することができ、1つ以上のモバイルデバイスまたは他の処理システム内で実装することができる。本発明によって実施される操作が人間の操作に関して言及される範囲で、人間の操作者のこのような能力は、本発明の一部を形成する本明細書で説明される操作のいずれにおいても、ほとんどの場合、必要とされないまたは所望されない。むしろ、本明細書で説明される操作は、機械操作である。本発明の操作を実施するために有用な機械としては、携帯電話、スマートフォン、携帯情報端末(PDA)、または類似のデバイスを含む。
【0109】
一実施形態において、本発明は、本明細書で説明される機能性を実施することが可能な1つ以上のシステムを対象としている。システム900の実施例は、
図9に示される。
【0110】
システム900は、プロセッサ901などの1つ以上のプロセッサを含む。プロセッサ901は、通信基盤902(例えば、通信バス、ネットワーク)に接続される。様々な実施形態が、この例示的なシステムに関して説明される。本説明を閲読した後、他のシステムおよび/またはアーキテクチャを使用して、本発明をどのように実装するかが関連技術分野の当業者には明らかとなろう。
【0111】
システム900はまた、不揮発性メモリ等であり得るメインメモリ903を含む。
【0112】
システム900はまた、コマンドなどのデータを受信するための受信モジュール904を含む。要求を受信することは、
図3〜8を参照しながら上で更に詳細に考察される。
【0113】
システム900はまた、
図3〜8を参照しながら上で更に詳細に考察されるように、検証、認証、および/またはデータ比較のための判定モジュール905を含む。
【0114】
システム900はまた、
図3〜8を参照しながら上で更に詳細に考察されるように、コマンドまたは操作を有効にするための有効モジュール906を含む。
【0115】
システム900はまた、
図3〜8を参照しながら上で更に詳細に考察されるように、コマンドを処理するための処理モジュール907を含む。
【0116】
モジュール904〜907の各々は、ハードウェア、ソフトウェア、またはこの二者の組み合わせを使用して実装され得る。
【0117】
例えば、
図1〜8に示されたまたはこれらに関連して考察されたシステムおよび手順などの上で説明した例示的な実施形態またはそれらの任意の部分もしくは機能は、ハードウェア、ソフトウェア、またはこれら二者の組み合わせを用いることによって実装され得る。それは、1つ以上のコンピュータまたは他の処理システム内で実装され得る。これらの例示的な実施形態によって実施される操作は、人間の操作者によって実施される知的操作と一般的に関連付けられた用語で呼ばれ得たが、本明細書で説明される操作のうちのいずれを実施するにも人間の操作者は必要とされない。言い換えれば、これらの操作は、機械操作で完全に実装され得る。本明細書に提示する例示的な実施形態の操作を実施するのに有用な機械は、汎用のデジタルコンピュータまたは類似のデバイスを含む。
【0118】
本発明の例示的な実施形態の部分は、コンピュータ技術分野の当業者には明らかなように、本開示の教示に従ってプログラムされた従来の汎用コンピュータ、特殊目的デジタルコンピュータ、および/またはマイクロプロセッサを用いることによって好都合に実装され得る。適切なソフトウェアコーディングは、本開示の教示に基づいて、熟練したプログラマによって容易に準備され得る。
【0119】
いくつかの実施形態はまた、特定アプリケーション向け集積回路、フィールドプログラム可能なゲートアレイを準備することによって、または従来の構成要素回路の適切なネットワークを相互接続することによって実施され得る。
【0120】
いくつかの実施形態は、コンピュータプログラム製品を含む。コンピュータプログラム製品は、コンピュータを制御または、それに、本発明の例示的な実施形態の手順の任意のものを実施させるために用いることが可能な命令をその上にまたはその中に記憶する非一時的な記憶媒体または媒体であり得る。記憶媒体としては、フロッピディスク、ミニディスク、光ディスク、Blu−Ray Disc、DVD、CDまたはCD−ROM、マイクロドライブ、磁気光ディスク、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、フラッシュメモリ、フラッシュカード、磁気カード、光カード、ナノシステム、分子メモリ集積回路、RAID、遠隔データストレージ/アーカイブ/貯蔵所、および/または命令および/またはデータを記憶するために好適な任意のタイプのデバイスを挙げることができるが、これらに限定されない。
【0121】
1つまたは複数の非一時的なコンピュータ可読媒体のうちの任意の1つに記憶される一部の実装では、汎用および/もしくは特殊コンピュータのハードウェアまたはマイクロプロセッサの両方を制御するための、かつコンピュータまたはマイクロプロセッサが本発明の例示的な実施形態の結果を利用する人間のユーザまたは他の機構と対話することを可能にするためのソフトウェアを含む。このようなソフトウェアは、デバイスドライバ、オペレーティングシステム、およびユーザアプリケーションを含み得るが、これらに限定されない。究極には、このようなコンピュータ可読媒体は、上で説明したように、本発明の例示的な態様を実施するためのソフトウェアを更に含む。
【0122】
汎用および/もしくは特殊目的コンピュータまたはマイクロプロセッサのプログラミングおよび/またはソフトウェアに含まれるものには、上で説明した手順を実装するためのソフトウェアモジュールがある。
【0123】
システム900におけるデバイス間の通信は、介在するシステム、ハードウェアおよび/またはソフトウェアとまたはそれを介して通信することを含み得ることを理解すべきである。
【0124】
本発明の様々な例示的な実施形態を上述したが、それらは例として提示されたものであり、制限するためのものではないことを理解すべきである。形態および詳細の様々な変更が可能であることが関連技術分野の当業者には明らかである。したがって、本発明は、上で説明した例示的な実施形態のいずれによっても制限されるべきではなく、以下の特許請求の範囲およびその均等物によってのみ定義されるべきである。
【0125】
加えて、図面は例示目的のみで提示されていることを理解すべきである。本明細書に提示される例示的な実施形態の構造は、それが添付図面で示されるもの以外の方法で利用されて誘導され得るように、十分に柔軟であって構成可能である。
【0126】
更に、要約の目的は、一般的には、米国特許商標庁および公衆、とりわけ、科学者、技術者、および特許用語もしくは法律用語または言い回しに精通していない当該技術分野の実践者が、本出願の技法的開示の性質および本質を一瞥して迅速に判断することを可能にすることである。要約は、いかなる方法でも本明細書に提示される例示的な実施形態の範囲について制限することを意図するものではない。特許請求の範囲において述べられた手順は、提示された順序で実施される必要がないこともまた理解すべきである。