(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-18
(45)【発行日】2023-08-28
(54)【発明の名称】非接触カードの再発行を実行するためのシステムおよび方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20230821BHJP
G06F 21/44 20130101ALI20230821BHJP
G06Q 20/32 20120101ALI20230821BHJP
【FI】
H04L9/32 100E
G06F21/44
G06Q20/32
(21)【出願番号】P 2021542218
(86)(22)【出願日】2020-11-23
(86)【国際出願番号】 US2020061865
(87)【国際公開番号】W WO2021137969
(87)【国際公開日】2021-07-08
【審査請求日】2021-12-13
(32)【優先日】2019-12-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100132241
【氏名又は名称】岡部 博史
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】ジェフリー・ルール
(72)【発明者】
【氏名】ダニエル・ヘリントン
(72)【発明者】
【氏名】ライコ・イリンチック
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2006-190175(JP,A)
【文献】米国特許出願公開第2017/0154328(US,A1)
【文献】米国特許出願公開第2008/0029607(US,A1)
【文献】米国特許第10489781(US,B1)
【文献】米国特許出願公開第2019/0251546(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/44
G06Q 20/32
(57)【特許請求の範囲】
【請求項1】
プロセッサ回路と、
前記プロセッサ回路に結合されたメモリと、を備える非接触カードであって、
前記メモリは、
前記非接触カードの第1のアカウント番号を前記メモリに維持するように構成され
、外部ソースとの直接通信が制限された第1のアプレットであって、前記第1のアカウント番号は、トランザクションを実行するために前記非接触カードに関連付けられたアカウントを識別する、第1のアプレットと、
前記第1のアプレットとは異なる
外部ソースと前記第1のアプレットとの間のブリッジとして機能するように作成された第2のアプレットであって、前記第2のアプレットは、デバイスのアプリケーションと通信するように構成された、第2のアプレットと、
を格納するように構成され、
前記第2のアプレットは、
前記デバイスから、前記第1のアカウント番号を変更するための指示を受信し、
前記第1のアカウント番号を第2のアカウント番号に変更するコマンドを前記第1のアプレットに通信し、
前記第1のアプレットは、前記コマンドに応答して、前記第1のアカウント番号を前記第2のアカウント番号に変更する、
非接触カード。
【請求項2】
前記第1のアプレットは、前記第1のアカウント番号の代わりにトランザクションを実行するために前記第2のアカウント番号を設定する、請求項1に記載の非接触カード。
【請求項3】
前記第1のアプレットは、前記メモリ内の複数のアカウント番号から前記第2のアカウント番号を選択する、請求項1に記載の非接触カード。
【請求項4】
前記第1のアプレットは、前記第2のアカウント番号を新しいアカウント番号として生成する、請求項1に記載の非接触カード。
【請求項5】
前記第1のアカウント番号を変更する前記指示は、近距離無線通信(NFC)通信を介して前記デバイスから受信される、請求項1に記載の非接触カード。
【請求項6】
前記プロセッサ回路は、前記デバイスのNFC通信範囲内に入る前記非接触カードに応答して、開始されたNFC交換を介して前記デバイスとのNFC接続を確立する、請求項5に記載の非接触カード。
【請求項7】
前記非接触カードは、ディスプレイと、前記第1のアカウント番号から導出された識別番号を前記ディスプレイに表示させるように構成された前記プロセッサ回路とを備える、請求項1に記載の非接触カード。
【請求項8】
前記プロセッサ回路は、前記第1のアカウント番号を前記第2のアカウント番号に変更することに応答して、前記第2のアカウント番号から導出された第2の識別番号で前記ディスプレイを更新する、請求項7に記載の非接触カード。
【請求項9】
安全なアプレットを使用して非接触カードのアカウント番号を変更するためのコンピュータで実行可能な方法であって、
前記非接触カードの
外部ソースとの直接通信が制限された第1のアプレットが、前記非接触カードのメモリ内の第1のアカウント番号を維持することであって、前記第1のアカウント番号は、トランザクションを実行するために前記非接触カードに関連付けられたアカウントを識別するように構成される、ことと、
前記非接触カードの
外部ソースと前記第1のアプレットとの間のブリッジとして機能するように作成された第2のアプレットが、デバイスから前記第1のアカウント番号を変更するための指示を受信することであって、前記第2のアプレットは、前記第1のアプレットとは異なる、ことと、
前記第2のアプレットが、前記第1のアカウント番号を第2のアカウント番号に変更するコマンドを通信することと、
前記第1のアプレットが、前記コマンドに応答して、前記第1のアカウント番号を前記第2のアカウント番号に変更することと、
を含む、コンピュータで実行可能な方法。
【請求項10】
前記コンピュータで実行可能な方法は、
前記第1のアプレットが、前記第1のアカウント番号を置き換えるために前記トランザクションを実行するための前記第2のアカウント番号を設定することを含む、請求項9に記載のコンピュータで実行可能な方法。
【請求項11】
前記コンピュータで実行可能な方法は、
前記第1のアプレットが、複数のアカウント番号から前記第2のアカウント番号を選択し、前記第2のアカウント番号を設定して前記トランザクションを実行することを含む、請求項10に記載のコンピュータで実行可能な方法。
【請求項12】
前記コンピュータで実行可能な方法は、
前記第1のアプレットが、前記第2のアカウント番号を新しいアカウント番号として生成し、前記第2のアカウント番号を設定して前記トランザクションを実行することを含む、請求項10に記載のコンピュータで実行可能な方法。
【請求項13】
前記コンピュータで実行可能な方法は、
前記第2のアプレットが、前記デバイスのNFC通信範囲内に
前記非接触カードが入る
ことに応答して、開始されたNFC交換を介して
前記デバイスとのNFC通信チャネルを確立することであって、前記指示は、前記NFC通信チャネルを介した近距離無線通信(NFC)通信を介して前記デバイスから受信した前記第1のアカウント番号を変更する、こと、
を含む、請求項9に記載のコンピュータで実行可能な方法。
【請求項14】
前記コンピュータで実行可能な方法は、
前記非接触カードのディスプレイに、前記第1のアカウント番号から導出された識別番号を表示することを含む、請求項9に記載のコンピュータで実行可能な方法。
【請求項15】
前記コンピュータで実行可能な方法は、
前記第1のアカウント番号を前記第2のアカウント番号に変更することに応答して、前記第2のアカウント番号から導出された第2の識別番号で前記ディスプレイを更新することを含む、請求項14に記載のコンピュータで実行可能な方法。
【請求項16】
プロセッサ回路と、
前記プロセッサ回路に結合されたメモリと、を備える非接触カードであって、
前記メモリは、
前記非接触カードの第1のアカウント番号を前記メモリに維持するように構成され
、外部ソースとの直接通信が制限された第1のアプレットであって、前記第1のアカウント番号は、トランザクションを実行するために前記非接触カードに関連付けられたアカウントを識別する、第1のアプレットと、
前記第1のアプレットとは異なる
外部ソースと前記第1のアプレットとの間のブリッジとして機能するように作成された第2のアプレットであって、前記第2のアプレットは、デバイスのアプリケーションと通信するように構成された、第2のアプレットと、
を格納するように構成され、
前記第2のアプレットは、
前記非接触カードを前記デバイスにタップすると、前記第2のアプレットの認証および暗号化動作をトリガすることにより、前記デバイスの前記アプリケーションで実行される事前定義された操作パターンを認識し、前記第1のアカウント番号を変更することを決定し、
前記第1のアカウント番号を第2のアカウント番号に変更するコマンドを前記第1のアプレットに通信し、
前記第1のアプレットは、前記コマンドに応答して、前記第1のアカウント番号を前記第2のアカウント番号に変更する、
非接触カード。
【請求項17】
前記第1のアプレットは、前記第1のアカウント番号の代わりにトランザクションを実行するために前記第2のアカウント番号を設定する、請求項16に記載の非接触カード。
【請求項18】
前記事前定義された操作パターンは、事前定義された制限時間内の前記デバイス上の前記非接触カードのタップ数に基づいている、請求項16に記載の非接触カード。
【請求項19】
前記事前定義された操作パターンは、前記デバイス上の前記非接触カードのタップ数のレートに基づいている、請求項16に記載の非接触カード。
【請求項20】
前記事前定義された操作パターンは、認証操作、暗号化操作、またはそれらの組み合わせを実行するための前記デバイスとの近距離無線通信交換に基づいている、請求項16に記載の非接触カード。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
この出願は、2019年12月31に出願された米国特許出願第16/731,178号の優先権を主張する。これは、2018年10月2日に出願された米国仮出願第62/740,352号から優先権を主張する2018年11月29日に出願された米国特許出願第16/205,119号の一部継続である。その開示は参照によりその全体が本明細書に援用される。
【0002】
本開示は、認証および承認、より具体的には、非接触カードに格納された情報を再発行または他の方法で変更するためのシステムおよび方法に関する。
【背景技術】
【0003】
顧客の支払い情報を明らかにするデータ侵害はますます一般的になり、より広範囲になり、特定の侵害で何百万ものクレジットカード番号が明らかになった。これらのデータ侵害は、違法行為者が主要なデパート、銀行、またはクレジットカード発行会社に関連付けられたコンピューティングシステムに侵入し、大量の支払いデータ(例えば、クレジットカード番号、有効期限など)を盗んだ場合に発生し得る。
【0004】
従来、クレジットカード発行者は、影響を受けたカードを再発行することにより、このような侵害に対応できた。これには、ユーザのアカウントへの新しいクレジットカード番号の割り当て、新しい番号がエンボス加工された新しい物理カードの生成、新しい磁気ストライプの書き込み、およびカードの郵送が含まれる。侵害が広範囲に及ぶ場合(多数のカードが関係する場合)、ユーザが新しいカードを受け取るまでに数週間から数か月かかり得る。その間、(アカウントへの不正アクセスを防ぐために)侵害が発見された時点でカード番号が無効になっている可能性があるため、アカウントを使用して支払いを行うことができない場合がある。明らかに、これは顧客にとって問題になり得る。
【0005】
再発行プロセスは、カード発行者の観点からも費用がかかり得、新しいカードの生成と郵送のコストを吸収することがよくある。カードストックの品質にもよるが、新しいカードを作成するのに2ドルから30ドルかかり得る。カードを迅速に再発行する必要がある場合、追加の処理コストは、カードあたり10ドルになり得る。数百万のカード番号が危殆化されると、結果として生じる再発行コストは、数千万ドルに達し得る。
【図面の簡単な説明】
【0006】
【
図1A】例示的な実施形態での使用に適した環境を示している。
【
図1B】物理トークンを有する非接触カードの例を示している。
【
図1C】例示的な物理トークンの構造を示している。
【
図2A】非接触カードの所有者に関連付けられたモバイルアプリケーションのインターフェースの例を示している。
【
図2B】所有者のモバイルデバイス上のリーダによって物理トークンが読み取られたときのインターフェースの例を示している。
【
図2C】非接触カードとクライアントデバイスとの間のデータ交換の例を示している。
【
図2D】例示的な実施形態での使用に適した例示的なデータ構造を示している。
【
図3】例示的な実施形態に係る鍵動作を示すフローチャートである。
【
図4】例示的な実施形態に係る鍵システムの図である。
【
図5】例示的な実施形態に係る暗号文を生成する方法のフローチャートである。
【
図6A】例示的な実施形態に係る鍵多様化のプロセスを示すフローチャートである。
【
図6B】例示的な実施形態における通信の交換を示すデータフロー図である。
【
図6C】非接触カードに関連付けられた識別子を変更するためのカード側論理を示すフローチャートである。
【
図7】例示的な実施形態での使用に適した例示的なコンピューティングシステムを示している。
【
図8】例示的な実施形態での使用に適した例示的なネットワーク環境を示している。
【発明を実施するための形態】
【0007】
例示的な実施形態は、リモートコマンドに基づいて非接触カードに格納された情報を安全に再発行または他の方法で変更するための技術を提供する。したがって、カードに関連付けられた番号をすばやく変更して、カードを新しい番号で引き続き使用できるようにし得る。カードがその表面に番号が印刷またはエンボス加工されている場合、印刷された番号(および/または磁気ストライプに格納された番号)は、非接触チップに格納された番号と一致しない場合がある。それでも、新しい番号の新しいカードが発行されるまで、このカードは、非接触支払いに使用され得る。いくつかの実施形態では、カードは、番号を表示する電子インク(eインク)ディスプレイを含み得る。この場合、カードの非接触チップに格納されている番号が更新されると、eインクのディスプレイも更新され得る。
【0008】
カードのチップには、特定の状況下でアクティブ化される1つまたは複数のアプレットが含まれ得る。例えば、カードで支払いを行う場合、支払いアプレットがアクティブになり、カードの番号を要求元のデバイスに提供し得る。新しい番号でカードを使用するには、この支払いアプレットを更新する必要があり得るが、セキュリティ上の理由から、支払いアプレットは、外部ソースとの直接通信を制限され得る。この目的のために、チップは、外部ソースとの間でカード情報を通信することを担当する第2の暗号化および認証アプレットを含み得る。第2のアプレットは、認証を実行し得、支払いアプレットから送信される情報が安全な方法で(例えば、暗号化を使用して)行われることを保証し得る。以下でより詳細に説明するように、第2のアプレットはまた、検証機能(例えば、カードに格納されたカウンタの検証)を実行する責任があり得る。例示的な実施形態によれば、この第2のアプレットは、外部ソースと支払いアプレットとの間のブリッジとして機能するように作成され得、支払いアプレット上の番号は、安全な内部(チップへの)通信に基づいて書き換えられ得る。
【0009】
場合によっては、第2のアプレットに、カードの番号を新しい番号で上書きするように直接指示され得る。例えば、Android(登録商標)オペレーティングシステムを実行しているモバイルデバイスは、第2のアプレットに近距離無線通信(NFC)書き込みコマンドを発行して、第2のアプレットをトリガして支払いアプレットに書き換えコマンドを発行し得る。しかしながら、いくつかのデバイスは、そのような通信をサポートし得ない(AppleのiOS(登録商標)は、そのような例の1つである)。したがって、第2のアプレットはまた、または代わりに、書き換えコマンドが発行される原因となる事前定義されたパターンを認識するように構成され得る。例えば、ユーザは、1分以内に非接触カードをNFCリーダに5回タップし得る。カードをNFCリーダにタップすると、第2のアプレットの認証および暗号化動作がトリガされるため、第2のアプレットは、この事前定義されたパターンを認識し、それに応じて書き換えコマンドを発行するように事前構成され得る。
【0010】
様々な実施形態において、カードは、実行され得る数の書き換えの数を制限するための能力を有し得る(例えば、カードの寿命にわたって、または特定の期間中に)。そのために、カードは、書き換え回数のカウンタを維持し、さらに、許容される書き換えの最大数を表す値を格納し得る。数の書き換え要求を受信し、合計要求数(過去と現在)が格納されている最大値を超えた場合、書き換えがキャンセルされ得る。
【0011】
以下の実施形態の説明は、本発明の異なる態様の特徴および教示を特に説明するために数字を参照する非限定的な代表的な例を提供する。記載された実施形態は、実施形態の説明からの他の実施形態と別個に、または組み合わせて実施できると認識されるべきである。実施形態の説明は、具体的にはカバーされていないが、実施形態の説明を読んだ当業者の知識の範囲内である他の実施形態が、本発明の出願と一致すると理解される程度まで、本発明の理解を促進するべきである。
【0012】
図1Aは、例示的な実施形態に係るデータ送信環境100を示している。以下でさらに説明するように、システム100は、非接触カード130、クライアントデバイス104、ネットワーク114、および非接触カード130のプロバイダによって維持されるサーバ116を含み得る。
図1Aは、コンポーネントの特定の構成を示しているが、当業者は、より多いまたはより少ないコンポーネントを含む他の構成、または他の構成のコンポーネントが使用され得ることを理解するであろう。
【0013】
環境100は、1つまたは複数の非接触カード130を含み得、これは、
図1Bを参照して以下でさらに説明される。いくつかの例では、非接触カード130は、クライアントデバイス104との無線通信、例えば、NFC通信をし得る。非接触カードには、非接触チップが含まれ得る(
図1Cを参照)。非接触チップは、カード130に関連付けられたプライマリアカウント番号(PAN)のコピーを維持し得、これは、リーダ(NFCリーダ110など)によって読み取られ得る。
【0014】
環境100は、ネットワーク対応コンピュータであり得るクライアントデバイス104を含み得る。本明細書で言及されるように、ネットワーク対応コンピュータは、例えば、コンピュータデバイス、または、例えば、サーバ、ネットワークアプライアンス、パーソナルコンピュータ(PC)、ワークステーション、モバイルデバイス、電話、ハンドヘルドPC、携帯情報端末(PDA)、シンクライアント、ファットクライアント、インターネットブラウザ、またはその他のデバイスを含む通信デバイスを含み得るが、これらに限定されない。クライアントデバイス104はまた、モバイルデバイスであり得る。例えば、モバイルデバイスには、Apple(登録商標)のiPhone(登録商標)、iPod(登録商標)、iPad(登録商標)、またはAppleのiOS(登録商標)オペレーティングシステムを実行するその他のモバイルデバイス、MicrosoftのWindows(登録商標)モバイルオペレーティングシステムを実行するデバイス、および/または他のスマートフォンまたは同様のウェアラブルモバイルデバイスが含まれ得る。
【0015】
クライアントデバイス104および/または非接触カード130は、非接触カードの所有者であり得るユーザ102に関連付けられ得る。ユーザ102は、クライアントデバイス104上のモバイルアプリケーションにアクセスするための資格情報を定義し得、これは、非接触カードのサービスプロバイダに関連付けられたアプリケーションであり得る。
【0016】
本開示に係る様々な例では、環境100のクライアントデバイス104は、ソフトウェアアプリケーションなどの1つまたは複数のアプリケーションを実行し得る。ソフトウェアアプリケーションは、環境100の1つまたは複数のコンポーネントとのネットワーク通信を可能にし得、データを送信および/または受信し得る。他のコンピュータ実行可能論理の中で、クライアントデバイス104は、クライアント側再発行論理112(
図6Bに関連してより詳細に示されている論理など)を含み得る。
【0017】
クライアントデバイス104は、1つまたは複数のネットワーク114を介して1つまたは複数のサーバ116と通信し得る。例えば、クライアントデバイス104は、非接触カード130のセキュリティを維持する責任があるカードプロバイダサーバ116へのフロントエンドとして動作し得る。いくつかの実施形態では、カードプロバイダサーバ116はまた、カード130を介して実行されるトランザクションを承認し得る。クライアントデバイス104は、例えば、クライアントデバイス104上で実行されるモバイルデバイスアプリケーションから、1つまたは複数の要求をサーバ116に送信し得る。同様に、サーバ116は、クライアントデバイス104と通信して、データ侵害が発生したときなどに、クライアントデバイス104にカード再発行プロセスを開始させ得る。
【0018】
そのために、サーバ116は、ユーザ102のカード130に関連付けられたPANを変更するようにクライアントデバイス104に指示し得る。クライアントデバイス104は、指示を受信し、カードの番号が再発行されていることを(例えば、
図2A~
図2Bに示されるようなディスプレイを介して)ユーザ102に通知し得る。クライアントデバイス104は、高速コマンド(例えば、NFC書き込みコマンド)によって、またはユーザ102がカード130をNFCリーダ110に対して所定のパターン(例えば、所定の回数、一定期間にわたる所定の速度、所定のパターンなど)でタップするように要求することによってなど、カード130に格納された1つまたは複数のアプレットをアクティブ化し得る。
【0019】
PANを変更するための指示は、個別にサーバ116から送信され得るか(例えば、単一のユーザ102のカード130が危殆化された場合)、または再発行指示が受信者のグループにブロードキャストされ得る(大規模なデータ侵害が発生した場合に行われる可能性がある)。
【0020】
いくつかの実施形態では、クライアント104(またはカード130にPANを変更するように指示する他のデバイス)は、サーバ116と協調してカード130に変更指示を発行し得る。例えば、サーバ116は、カード130上で使用される新しいPANを提供し得、これは、クライアント104が、カード130上の通信論理/アプレットと通信し得る。他の例では、カード130上の支払い論理/アプレットは、複数のPANで事前にプログラムされ得、サーバ116は、使用するPANを識別し得る(または、PANがカードのメモリ内のリストに配置されている場合、サーバ116は、支払い論理/アプレットに、特定の数のオプションをスキップして、リスト内のn番目のPANを選択するように指示し得る)。他の例では、支払い論理/アプレットは、古いPAN(または、ユーザ102に関連付けられた識別子または金融機関のユーザのアカウントなど、カードに格納された他の識別子)から新しいPANを導出し得、サーバ116は、新しいPANを導出する方法に関する指示を提供するか、または新しいPANの生成に使用されるシード番号を提供し得る。
【0021】
クライアントデバイス104がカード130に直接書き込み要求を発行できる場合、書き込み要求は、サーバから受信した情報(例えば、新しいPAN、スキップするリスト内のPANの数、新しいPANを導出するための生成技術、または新しいPANのシード)を含み得る。クライアントデバイス104がそのような書き込み要求を発行できない場合、カード130は、潜在的により限定された方法ではあるが、依然としてサーバ116と調整し得る。例えば、カード130上の通信論理/アプレットが、上記のように、PANを変更するための指示として所定のタッピングパターンを認識するように構成される場合、異なるパターンは、異なる変更指示に関連付けられ得る。例えば、ユーザがカード130をNFCリーダ110に対して1分以内に5回タップする場合、これは、リストに格納された次のPANに進むための指示として解釈され得る。他方、ユーザがカード130をNFCリーダ110に対して1分以内に4回だけタップする場合、これは、リスト内の2つのPANを先にジャンプするための指示として解釈され得る。サーバ116からクライアントデバイス104への指示は、使用される特定のパターンを識別し得、クライアントデバイス104は、ユーザインターフェース上に適切な指示を表示し得る。複数の異なるパターンがカード130上の通信論理/アプレットにプログラムされている場合、デバイス104は、正しいパターンが使用されていることを確認するために、ユーザにパターンを確認するように要求し得る(例えば、ユーザに事前定義されたパターンをタップするように求めることによって、しばらく待ってから、同じ事前定義されたパターンをもう一度タップして変更を確認するようにユーザに求める)。
【0022】
PANが変更されると、カード130上の通信論理/アプレットは、成功をサーバ116に報告し得る。成功すると、選択された新しいPANが識別され得る(直接、PANまたはPANの暗号化バージョンを報告するか、PANのハッシュまたはPANのサブセットを送信するなど、間接的に)。更新されたPANがサーバ116によって期待されるPANと一致しない場合、PANは無効にされ得、プロセスが繰り返され得る。あるいは、サーバ116は、カード130によって報告されるように、単にPANを受け入れ得る。
【0023】
いくつかの例では、サーバ116は、メモリに結合された1つまたは複数のプロセッサを含み得る。サーバ116は、複数のワークフローアクションを実行するために異なる時間に様々なデータを制御および呼び出すための中央システム、サーバまたはプラットフォームとして構成され得る。
【0024】
図1Bは、1つまたは複数の非接触カード130を示しており、カード130の前面または背面に表示されたサービスプロバイダ132によって発行された、クレジットカード、デビットカード、またはギフトカードなどの支払いカードを備え得る。いくつかの例では、非接触カード130は、支払いカードとは関係がなく、識別カードを備えることができるが、これに限定されない。いくつかの例では、支払いカードは、デュアルインターフェースの非接触支払いカードを備え得る。非接触カード130は、プラスチック、金属、および他の材料から構成される単層または1つまたは複数の積層層を含み得る基板134を備え得る。例示的な基板材料には、ポリ塩化ビニル、ポリ塩化ビニルアセテート、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、カーボン、紙、および生分解性材料が含まれる。いくつかの例では、非接触カード130は、ISO/IEC 7810規格のID-1フォーマットに準拠する物理的特性を有し得、そうでなければ、非接触カードは、ISO/IEC 14443規格に準拠し得る。しかしながら、本開示に係る非接触カード130は、異なる特性を有し得ることが理解され、本開示は、非接触カードが支払いカードに実施されることを必要としない。
【0025】
非接触カード130はまた、カードの表面および/または背面に表示される識別情報136を含み得る。いくつかの実施形態では、識別情報136は、カード上に直接印刷またはエンボス加工され得る。任意選択で、識別情報136の一部または全てを表示するために、eインクディスプレイ149(または液晶ダイオードなどの技術を使用する他のタイプの書き換え可能なディスプレイ)を提供し得る。例えば、eインクディスプレイ149は、カードに関連付けられたカード番号を表示できる。eインクディスプレイ149は、クライアントデバイス104から発する磁場などの磁場によって電力を供給され得る。カード130のアンテナ(例えば、以下で説明する接触パッド138のアンテナ)は、カード130がクライアントデバイス104に近接しているときに、磁場から電力を収集し、eインクディスプレイ149に電力を供給し得る。これにより、本明細書で説明するように、クライアントデバイス104によってカード130上のアプレットにプロビジョニングされた新しい番号に一致するように、eインクディスプレイ149を変更できる。
【0026】
非接触カード130は、接触パッド138をさらに含み得る。接触パッド138は、ユーザデバイス、スマートフォン、ラップトップ、デスクトップ、またはタブレットコンピュータなどの他の通信デバイスとの接触を確立するように構成され得る。非接触カード130はまた、
図1Cに示されていない処理回路、アンテナおよび他のコンポーネントを含み得る。これらのコンポーネントは、接触パッド138の後ろまたは基板134上の他の場所に配置し得る。非接触カード130はまた、カードの背面に配置され得る磁気ストリップまたはテープを含み得る(
図1Bには示されていない)。
【0027】
図1Cに示されるように、
図1Bの接触パッド138は、マイクロプロセッサ142およびメモリ144を含む、情報を格納および処理するための処理回路140を含み得る。処理回路140は、本明細書に記載の機能を実行するために必要に応じて、プロセッサ、メモリ、エラーおよびパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブおよび改ざん防止ハードウェアを含む追加のコンポーネントを含み得ることが理解される。
【0028】
メモリ144は、読み取り専用メモリ、ライトワンスリードマルチプルメモリ、または読み取り/書き込みメモリ、例えば、RAM、ROM、およびEEPROMであり得、非接触カード130は、これらのメモリのうちの1つまたは複数を含み得る。読み取り専用メモリは、工場で読み取り専用または1回限りのプログラム可能としてプログラム可能である。1回限りのプログラム可能性により、1回書き込みを行ってから、何度も読み取る機会を提供する。ライトワンス/リードマルチプルメモリは、メモリチップが工場から出荷された後のある時点でプログラムできる。一度メモリをプログラムすると、書き換えはできないが、何度も読み取ることができる。読み取り/書き込みメモリは、工場出荷後に何度もプログラムおよび再プログラムされ得る。何度も読み取ることもある。
【0029】
メモリ144は、1つまたは複数のアプレット146、1つまたは複数のカウンタ108、および顧客識別子148を格納するように構成され得る。1つまたは複数のアプレット146は、Javaカードアプレットなどの1つまたは複数の非接触カード上で実行するように構成された1つまたは複数のソフトウェアアプリケーションを備え得る。しかしながら、アプレット146は、Javaカードアプレットに限定されず、代わりに、非接触カードまたは限られたメモリを有する他のデバイス上で動作可能な任意のソフトウェアアプリケーションであり得ることが理解される。1つまたは複数のカウンタ108は、整数を格納するのに十分な数値カウンタを備え得る。顧客識別子148は、非接触カード130のユーザに割り当てられた一意の英数字識別子を備え得、識別子は、非接触カードのユーザを他の非接触カードユーザから区別し得る。いくつかの例では、顧客識別子148は、顧客とその顧客に割り当てられたアカウントの両方を識別し得、さらに、顧客のアカウントに関連付けられた非接触カードを識別し得る。
【0030】
アプレット146は、カード130との支払いトランザクションを実行するように構成された支払いアプレットを含み得る。支払いアプレットは、カードのプライマリアカウント番号(PAN)を維持する責任があるか、またはそれを利用し得る。これは、トランザクションの一部としてカードから通信され得る。アプレット146は、外部ソース(クライアントデバイス104、POS端末、自動預け払い機など)がカード130との通信を確立しようとするときに呼び出される認証および/または暗号化アプレットをさらに含み得る(接触パッド138が、NFCリーダ110などのリーダに対して、またはその近くに配置されている場合など)。支払いアプレットは、外部ソース(すなわち、処理回路140の外部のソース)と直接通信することはできないが、認証および暗号化アプレットなど、処理回路140上の他のアプレットと安全に通信し得る。情報は、オフカードで通信するために、支払いアプレットから認証および暗号化アプレットに渡され得る。
【0031】
オプションで、支払いアプレットには、事前定義されたPANが事前にロードされ得る(例えば、カードの発行時)。そのうちの1つは現在アクティブなPANとして指定され、残りは予備として保持される。アプレットが新しいPANを発行するように要求されると、アプレットはリスト内の次のPANを選択し、それをアクティブなPANとして指定し得る。あるいは、アプレットは、PAN生成規則に従ってランダムに新しいPANを生成するか、または前のPANに基づいて新しいPANを生成し得る。
【0032】
前述の例示的な実施形態のプロセッサおよびメモリ要素は、接触パッドを参照して説明されているが、本開示はそれに限定されない。これらの要素は、パッド138の外側に実施されるか、パッド138から完全に分離されて、または接触パッド138内に配置されるプロセッサ142およびメモリ144要素に加えてさらなる要素として実施され得ることが理解される。
【0033】
いくつかの例では、非接触カード130は、1つまたは複数のアンテナ150を備え得る。1つまたは複数のアンテナ150は、非接触カード130内で、接触パッド138の処理回路140の周りに配置し得る。例えば、1つまたは複数のアンテナ150は、処理回路140と一体であり得、1つまたは複数のアンテナ150は、外部ブースターコイルと共に使用され得る。他の例として、1つまたは複数のアンテナ150は、接触パッド138および処理回路142の外部にあり得る。
【0034】
一実施形態では、非接触カード130のコイルは、空芯変圧器の二次側として機能できる。端子は、電力または振幅変調を遮断することによって非接触カード130と通信できる。非接触カード130は、非接触カードの電源接続のギャップを使用して端子から送信されたデータを推測でき、これは、1つまたは複数のコンデンサを介して機能的に維持できる。非接触カード130は、非接触カードのコイルの負荷を切り替えるか、または負荷変調することによって、通信を戻すことができる。負荷変調は、干渉によって端子のコイルで検出され得る。
【0035】
上で説明したように、非接触カード130は、スマートカードまたはJavaカードなどの限られたメモリを有する他のデバイス上で動作可能なソフトウェアプラットフォーム上に構築され得、1つまたは複数のアプリケーションまたはアプレットが安全に実行され得る。アプレットを非接触カードに追加して、様々なモバイルアプリケーションベースのユースケースで多要素認証(MFA)用のワンタイムパスワード(OTP)を提供できる。アプレットは、モバイルNFCリーダなどのリーダからの近距離無線データ交換(NDEF)要求などの1つまたは複数の要求に応答し、NDEFテキストタグとしてエンコードされた暗号的に安全なOTPを備えるNDEFメッセージを生成するように構成できる。
【0036】
上記のように、例示的なトランザクションは、クライアントデバイス104上で実行される論理112を介して、非接触カードに関連付けられたアカウントに要求されたトランザクションを検証し得る。
図2A~
図2Bは、論理に応答してクライアントデバイス104上に提示され得る例示的なインターフェースを示している。
【0037】
図2Aは、カードに関連付けられたアプリケーション(例えば、カードプロバイダによって提供されるアプリケーション)の初期インターフェース200を示している。これは、クライアントデバイス104がサーバ116からカードを再発行するか、さもなければカードに格納された情報を再プロビジョニングまたは変更するように指示を受信したときにクライアントデバイス104に表示され得る。インターフェース200は、カード情報の再発行に関する情報を表示するメッセージ領域202を含む。このメッセージ領域202は、例えば、ユーザのカードが再発行されたこと、再発行が行われた理由、およびユーザがカードの情報を変更するために必要な次のステップを説明し得る。
【0038】
インターフェース200は、相互作用可能な要素204をさらに含み得る。カードに格納された情報を変更するために、ユーザは、オプションで、最初に、相互作用可能な要素204を選択して、ユーザがカード番号を再発行したいことを確認することを要求され得る(ユーザがカードをNFCリーダの近くに置いて誤ってカード情報を上書きしないようにするため)。
【0039】
相互作用可能な要素を選択すると、ユーザは、
図2Bに示すように、カードのチップの接触パッド138をデバイス104のNFCリーダに近づけることによって、カード130に格納されたPANまたは他の情報を書き換え得る。カードがNFCリーダに近接し、カード上のアプレットがカードのPANが正常に変更されたことを確認すると、カードの情報が正常に書き換えられたことを示す確認メッセージ206が表示され得る。
【0040】
図2A~
図2Bに示される手順の代替として、ユーザは、(インターフェース200において)クライアントデバイスのNFCリーダ上で所定のパターンでカードをタップするように促され得る。認証および暗号化アプレットは、所定のパターンを登録し得る。
【0041】
図2A~
図2Bは、モバイルクライアントデバイス104に近接させられたときに書き換えられるカード130を示しているが、カードは、自動預け払い機、POS端末、または接触パッド138と通信するための適切な送信機(例えば、NFC送信機)を有する他の任意のデバイスによって書き換えられ得ることも企図されている。
【0042】
図2Bに示されるように、新しいPANが非接触カードのチップに書き込まれると、新しいカード番号は、カードに印刷またはエンボス加工された番号、またはカードの磁気ストライプに格納された情報と一致し得ない。この場合、新しい物理カードを作成してユーザに送り、カードの複数の支払いオプションを全て使用できるようにすることが望ましい。それでもなお、カードがユーザに送られている間、カードの非接触支払い機能は、チップに格納されている情報で使用され得る。上記のように、カードにeインクディスプレイが含まれている場合、新しいカード番号を反映するために、PANの書き換え時にeインクディスプレイが更新され得る。この場合、特に、カードに磁気ストライプが含まれていない場合、またはユーザが主にカードを使用して非接触支払いを行う場合は、物理的なカードを再発行する必要がない。
【0043】
図2Cは、本開示の1つまたは複数の実施形態に係る認証されたアクセスを提供するための例示的なシーケンスを示すタイミング図である。システムは、非接触カード130と、アプリケーション(論理112を含み得る)およびプロセッサを含み得るクライアントデバイス104とを含み得る。
【0044】
ステップ202で、アプリケーションは、非接触カード130と通信する(例えば、非接触カード130に近づけられた後)。アプリケーションと非接触カード130との間の通信は、アプリケーションと非接触カード130との間のNFCデータ転送を可能にするために、クライアントデバイス104のカードリーダ(図示せず)に十分に近い非接触カード130を含み得る。
【0045】
ステップ204で、クライアントデバイス104と非接触カード130との間で通信が確立された後、非接触カード130は、メッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは、非接触カード130が論理112をホストするアプリケーションによって読み取られるときに発生し得る。特に、これは、NFCデータ交換フォーマットに従って作成され得る近距離無線データ交換(NDEF)タグのNFC読み取りなどの読み取り時に発生し得る。例えば、論理112などのリーダは、NDEF生成アプレットのアプレットIDを用いて、アプレット選択メッセージなどのメッセージを送信し得る。選択が確認されると、選択ファイルメッセージのシーケンスとそれに続く読み取りファイルメッセージが送信され得る。例えば、シーケンスには、「機能ファイルの選択」、「機能ファイルの読み取り」、および「NDEFファイルの選択」が含まれ得る。この時点で、非接触カード130によって維持されるカウンタ値は、更新またはインクリメントされ得、その後に「NDEFファイルの読み取り」が続き得る。この時点で、ヘッダと共有秘密を含み得るメッセージが生成され得る。次に、セッション鍵が生成され得る。MAC暗号文は、メッセージから作成され得る。これには、ヘッダと共有秘密が含まれ得る。次に、MAC暗号文は、ランダムデータの1つまたは複数のブロックと連結され、MAC暗号文と乱数(RND)は、セッション鍵で暗号化され得る。その後、暗号文とヘッダは、連結され、ASCII16進数として符号化され、NDEFメッセージフォーマットで返され得る(「NDEFファイルの読み取り」メッセージに応答)。
【0046】
いくつかの例では、MAC暗号文は、NDEFタグとして送信され得、他の例では、MAC暗号文は、(例えば、フォーマットされた文字列として)ユニフォームリソースインジケータとともに含まれ得る。
【0047】
いくつかの例では、論理112は、非接触カード130に要求を送信するように構成され得、要求は、MAC暗号文を生成するための指示を備える。
【0048】
ステップ206で、非接触カード130は、MAC暗号文を論理112に送信する。いくつかの例では、MAC暗号文の送信は、NFCを介して行われるが、本開示は、それに限定されない。他の例では、この通信は、ブルートゥース(登録商標)、Wi-Fi、または他の無線データ通信手段を介して行われ得る。
【0049】
ステップ208で、論理112は、MAC暗号文をプロセッサに通信する。
【0050】
ステップ210で、プロセッサは、論理112からの指示に従って、MAC暗号文を検証する。例えば、以下で説明するように、MAC暗号文は、検証され得る。
【0051】
いくつかの例では、MAC暗号文の検証は、クライアントデバイス104とデータ通信しているサーバ116など、クライアントデバイス104以外のデバイスによって実行され得る。例えば、プロセッサは、サーバ116に送信するためにMAC暗号文を出力し得、これは、MAC暗号文を検証し得る。
【0052】
いくつかの例では、MAC暗号文は、検証の目的でデジタル署名として機能し得る。この検証を実行するために、公開鍵非対称アルゴリズム、例えば、デジタル署名アルゴリズムおよびRSAアルゴリズム、またはゼロ知識プロトコルなどの他のデジタル署名アルゴリズムを使用し得る。
【0053】
図2Dは、例示的な実施形態に係る、保護されたメッセージ230を生成するための例示的な技術を示している。
【0054】
メッセージ230は、送信者から受信者に情報またはコンテンツを配信するように構成され得る。この情報またはコンテンツは、メッセージ平文234によって表され得る(しかしながら、コンテンツは、オプションで暗号化され得る)。
【0055】
メッセージ平文234は、共有秘密232と組み合わされ得る。共有秘密232は、送信者と受信者の両方に知られている乱数であり得る。例えば、メッセージ平文234が上記の非接触カードの認証アクションに関連する場合、カードを設定または初期化するプロセスは、カード上のチップとトランザクション検証サーバとの間で乱数を共有することを含み得る。一実施形態では、乱数は、32ビットの乱数であり得る。あるいは、またはさらに、通信セッションは、送信者および受信者によって設定され得る。通信セッションを設定するプロセスは、送信者と受信者との間で乱数を共有することを含み得、その乱数は、共有秘密232として使用され得る。
【0056】
メッセージ平文234および共有秘密232は、様々な方法で組み合わされ得る。一実施形態では、メッセージ平文234は、共有秘密232で乗算できるようなフォーマットで符号化され得る。得られた積は、MACアルゴリズムに適用され得る。
【0057】
受信者(例えば、受信サーバ)が結合されたMACデータを検索するとき、受信者は、共有秘密232のそのバージョンを参照し、MACデータを共有秘密と結合するために使用されるプロセスを逆にし得る(例えば、結合されたMACデータと共有秘密232を分割し、元のMACデータを取得する)。
【0058】
当業者は、データの2つの異なるインスタンスを組み合わせるための他の技術が存在することを認識し、それらのいずれも、例示的な実施形態での使用に適し得る。
【0059】
メッセージ平文234および共有秘密232が組み合わされた後、それらは、MACアルゴリズム236に提供され得る。MACアルゴリズム236は、データ認証アルゴリズム(DAA)、暗号ブロック連鎖メッセージ認証コード(CBC-MAC)、ガロアメッセージ認証コード(GMAC)、およびハッシュメッセージ認証コード(HMAC)など、他の多くの中から任意の適切なMACアルゴリズムであり得る。
【0060】
MACアルゴリズム236は、鍵を使用して動作し得る。例示的な実施形態では、この鍵は、多様化アルゴリズム248を使用して作成された第1の多様化された鍵250であり得る。多様化アルゴリズムは、非接触カードから受信したカウンタ108および非接触カードに格納された第1のマスター鍵244(以下でより詳細に説明する)を動作して、第1の多様化された鍵250を生成し得る。第1の多様化された鍵250および組み合わされた共有秘密/平文を使用して、MACアルゴリズム236は、MAC出力238を生成し得る。
【0061】
MAC出力238は、暗号化されたMAC242を生成するために、暗号化アルゴリズム240によって任意選択で暗号化され得る。暗号化アルゴリズム240は、データ暗号化標準(DES)、トリプルDES(3DES)、高度暗号化標準(AES)、およびRSAなど、他の多くの中から任意の適切な暗号化アルゴリズムであり得る。
【0062】
いくつかの実施形態では、MAC出力238は、切り捨てられ、および/またはランダムデータ254と組み合わされ得る。例えば、一実施形態では、MAC出力238の開始は、破棄され得るので、(例えば)最後の8バイトのみが保持される。MAC出力238の残りの部分は、ランダムに生成された8バイトのデータ254と組み合わされ得る。受信者がメッセージ300を受信すると、受信者は、暗号化されたMAC242を復号し、ランダムデータを破棄し得る。受信者は、以下に説明するように、自身のMACのバージョンを計算し、受信者が生成したMACの最後の8バイトを、メッセージ230の一部として受信した暗号化されたMAC242から残っているデータと比較し得る。
【0063】
暗号化アルゴリズム240は、鍵を使用して動作し得る。例示的な実施形態では、この鍵は、多様化アルゴリズム248を使用して作成された第2の多様化された鍵252であり得る。多様化アルゴリズムは、非接触カードから受信したカウンタ108および非接触カードに格納された第2のマスター鍵246(以下でより詳細に説明する)を動作して、第2の多様化された鍵252を生成し得る。第2の多様化された鍵252およびMAC出力238を使用して、暗号化アルゴリズム240は、暗号化されたMAC232を生成し得、これは、メッセージ230のヘッダに含まれ得る。
【0064】
暗号化されたMAC232は、メッセージ平文234と共に送信され得る。カウンタ値108は、オプションで、メッセージ平文234の一部として送信され得、メッセージを認証する際に受信者(例えば、サーバ)によって参照され得る。共有秘密232は、メッセージの一部として直接送信されない。
【0065】
図3は、例示的な実施形態に係る鍵動作300を示すフローチャートである。
図3に示されるように、ブロック310で、2つの銀行識別子番号(BIN)レベルのマスター鍵を、アカウント識別子およびカードシーケンス番号と組み合わせて使用して、カード毎に2つの一意の派生鍵(UDK)を生成できる。いくつかの例では、銀行識別子番号は、1つまたは複数のサーバによって提供される口座番号または予測不可能な番号などの1つの番号または1つまたは複数の番号の組み合わせを備え得、セッション鍵の生成および/または多様化に使用され得る。UDK(AUTKEYおよびENCKEY)は、個人化プロセス中にカードに格納され得る。
【0066】
ブロック320で、カウンタは、カード毎に鍵の1つの一意のセットが生成されるマスター鍵導出とは対照的に、使用毎に変化し、毎回異なるセッション鍵を提供するので、多様化データとして使用できる。いくつかの例では、両方の動作に4バイト方式を使用することが望ましい。したがって、ブロック320で、2つのセッション鍵が、UDKからのトランザクション毎に作成され得る。すなわち、AUTKEYからの1つのセッション鍵と、ENCKEYからの1つのセッション鍵である。カードでは、MAC鍵(すなわち、AUTKEYから作成されたセッション鍵)の場合、OTPカウンタの下位2バイトを多様化に使用できる。ENC鍵(すなわち、ENCKEYから作成されたセッション鍵)の場合、OTPカウンタの全長をENC鍵に使用できる。
【0067】
ブロック330で、MAC鍵は、MAC暗号文を準備するために使用され得、ENC鍵は、暗号文を暗号化するために使用され得る。例えば、MACセッション鍵を使用して暗号文を準備し、その結果を1つまたは複数のサーバに送信する前にENC鍵で暗号化し得る。
【0068】
ブロック340で、2バイトの多様化が支払いHSMのMAC認証機能で直接サポートされるので、MACの検証および処理が単純化される。暗号文の復号は、MACの検証の前に実行される。セッション鍵は、1つまたは複数のサーバで独立して導出されるため、第1のセッション鍵(ENCセッション鍵)と第2のセッション鍵(MACセッション鍵)が生成される。第2の派生鍵(すなわち、ENCセッション鍵)を使用してデータを復号でき、第1の派生鍵(すなわち、MACセッション鍵)を使用して、復号されたデータを検証できる。
【0069】
非接触カードの場合、アプリケーションのプライマリアカウント番号(PAN)とカードにエンコードされているPANシーケンス番号に関連する可能性のある別の一意の識別子が導出される。鍵の多様化は、非接触カード毎に1つまたは複数の鍵を作成できるように、マスター鍵の入力として識別子を受信するように構成できる。いくつかの例では、これらの多様化された鍵は、第1の鍵および第2の鍵を備え得る。第1の鍵には、認証マスター鍵(カード暗号文生成/認証鍵-Card-Key-Auth)が含まれ得、さらに多様化して、MAC暗号文の生成および検証時に使用されるMACセッション鍵を作成し得る。第2の鍵は、暗号化マスター鍵(カードデータ暗号化鍵-Card-Key-DEK)を備え得、さらに多様化されて、暗号化されたデータを暗号化および復号するときに使用されるENCセッション鍵を作成し得る。いくつかの例では、第1および第2の鍵は、それらをカードの一意のID番号(pUID)および支払いアプレットのPANシーケンス番号(PSN)と組み合わせることによって発行者マスター鍵を多様化することによって作成され得る。pUIDは、16桁の数値を備え得る。上で説明したように、pUIDは、16桁のBCD符号化番号を備え得る。いくつかの例では、pUIDは、14桁の数値を備え得る。
【0070】
いくつかの例では、EMVセッション鍵導出方法が2∧16の使用でラップし得るため、完全な32ビットカウンタなどのカウンタを多様化方法の初期化配列に追加できる。
【0071】
クレジットカードなどの他の例では、口座番号などの番号、または1つまたは複数のサーバによって提供される予測不可能な番号を、セッション鍵の生成および/または多様化に使用できる。
【0072】
図4は、本開示の1つまたは複数の実施形態を実施するように構成されたシステム400の図を示している。以下で説明するように、非接触カードの作成プロセス中に、2つの暗号化鍵がカード毎に一意に割り当てられ得る。暗号化鍵は、データの暗号化と復号の両方で使用できる対称鍵を備え得る。Triple DES(3DES)アルゴリズムは、EMVで使用でき、非接触カードのハードウェアによって実施される。鍵多様化プロセスを使用することにより、鍵を必要とする各エンティティの一意に識別可能な情報に基づいて、マスター鍵から1つまたは複数の鍵を導出し得る。
【0073】
マスター鍵管理に関しては、2つの発行者マスター鍵405、410が、1つまたは複数のアプレットが発行されるポートフォリオの各部分に対して必要とされ得る。例えば、第1のマスター鍵405は、発行者暗号文生成/認証鍵(Iss-Key-Auth)を備え得、第2のマスター鍵410は、発行者データ暗号化鍵(Iss-Key-DEK)を備え得る。本明細書でさらに説明されるように、2つの発行者マスター鍵405、410は、カード毎に一意であるカードマスター鍵425、430に多様化されている。いくつかの例では、バックオフィスデータとしてのネットワークプロファイルレコードID(pNPR)415および導出鍵インデックス(pDKI)420を使用して、認証のための暗号化プロセスで使用する発行者マスター鍵405、410を識別できる。認証を実行するシステムは、認証時に非接触カードのpNPR415およびpDKI420の値を検索するように構成できる。
【0074】
いくつかの例では、ソリューションのセキュリティを強化するために、セッション鍵(セッションごとの一意の鍵など)を取得できるが、上で説明したように、マスター鍵を使用する代わりに、カードから派生した一意の鍵とカウンタを多様化データとして使用できる。例えば、カードが動作中に使用されるたびに、メッセージ認証コード(MAC)の作成と暗号化の実行に異なる鍵が使用され得る。セッション鍵の生成に関して、暗号文を生成し、1つまたは複数のアプレット内のデータを暗号化するために使用される鍵は、カードの一意の鍵(Card-Key-Auth425およびCard-Key-Dek430)に基づくセッション鍵を備え得る。セッション鍵(Aut-Session-Key435およびDEK-Session-Key440)は、1つまたは複数のアプレットによって生成され、1つまたは複数のアルゴリズムでアプリケーショントランザクションカウンタ(pATC)445を使用して導出される。データを1つまたは複数のアルゴリズムに適合させるために、4バイトのpATC445の下位2バイトのみが使用される。いくつかの例では、4バイトのセッション鍵導出方法は、:F1:=PATC(下位2バイト)||’F0’||’00’||PATC(4バイト)F1:=PATC(下位2バイト)||’0F’||’00’||PATC(4バイト)SK:={(ALG(MK)[F1])||ALG(MK)[F2]}、ここで、ALGには3DES ECBが含まれ、MKにはカード一意の派生マスター鍵が含まれ得る、を備え得る。
【0075】
本明細書で説明するように、1つまたは複数のMACセッション鍵は、pATC445カウンタの下位2バイトを使用して導出できる。非接触カードをタップするたびに、pATC445が更新されるように構成され、カードマスター鍵Card-Key-AUTH425およびCard-Key-DEK430は、セッション鍵Aut-Session-Key435およびDEK-Session-Key440にさらに多様化される。pATC445は、個人化時またはアプレットの初期化時にゼロに初期化できる。いくつかの例では、pATCカウンタ445は、個人化時または個人化の前に初期化され得、各NDEF読み取りで1ずつインクリメントするように構成され得る。
【0076】
さらに、各カードの更新は一意であり、個人化によって割り当てられるか、pUIDまたはその他の識別情報によってアルゴリズムによって割り当てられる。例えば、奇数番号のカードは2ずつインクリメントまたはデクリメントでき、偶数番号のカードは5ずつインクリメントまたはデクリメントできる。いくつかの例では、更新は、シーケンシャルリードでも異なり得、1枚のカードが1、3、5、2、2、…の繰り返しで順番にインクリメントし得る。特定のシーケンスまたはアルゴリズムシーケンスは、個人化時に、または一意の識別子から派生した1つまたは複数のプロセスから定義され得る。これにより、リプレイ攻撃者が少数のカードインスタンスから一般化するのが難しくなり得る。
【0077】
認証メッセージは、16進ASCII形式のテキストNDEFレコードのコンテンツとして配信され得る。いくつかの例では、認証データと、認証データのMACが後に続く8バイトの乱数のみが含まれ得る。いくつかの例では、乱数は暗号文Aの前にあり、1ブロックの長さであり得る。他の例では、乱数の長さに制限があり得ない。さらなる例では、合計データ(すなわち、乱数と暗号文)は、ブロックサイズの倍数であり得る。これらの例では、MACアルゴリズムによって生成されたブロックに一致するように、さらに8バイトのブロックを追加し得る。他の例として、採用されたアルゴリズムが16バイトのブロックを使用した場合、そのブロックサイズの倍数を使用するか、出力をそのブロックサイズの倍数に自動的または手動でパディングし得る。
【0078】
MACは、ファンクション鍵(AUT-Session-Key)435によって実行され得る。暗号文で指定されたデータは、javacard.signature方法:ALG_DES_MAC8_ISO9797_1_M2_ALG3で処理して、EMV ARQC検証方法に関連付けることができる。この計算に使用される鍵は、上で説明したように、セッション鍵AUT-Session-Key435を備え得る。上で説明したように、カウンタの下位2バイトを使用して、1つまたは複数のMACセッション鍵を多様化できる。以下で説明するように、AUT-Session-Key435は、MACデータ450に使用され得、結果として得られるデータまたは暗号文A455および乱数RNDは、DEK-Session-Key440を使用して暗号化され、メッセージで送信される暗号文Bまたは出力460を作成できる。
【0079】
いくつかの例では、最後の16(バイナリ、32hex)バイトが乱数のゼロIVとそれに続くMAC認証データを伴うCBCモードを使用する3DES対称暗号化を備えるように、1つまたは複数のHSMコマンドが復号のために処理され得る。この暗号化に使用される鍵は、Card-Key-DEK430から派生したセッション鍵DEK-Session-Key440を備え得る。この場合、セッション鍵導出のATC値は、カウンタpATC445の最下位バイトである。
【0080】
以下のフォーマットは、バイナリバージョンの例示的な実施形態を表す。いくつかの例では、第1のバイトはASCII「A」に設定され得る。
【表1】
【0081】
他の例示的なフォーマットを以下に示す。この例では、タグは、16進形式でエンコードできる。
【表2】
【0082】
受信されたメッセージのUIDフィールドを抽出して、マスター鍵Iss-Key-AUTH405およびIss-Key-DEK410から、その特定のカードのカードマスター鍵(Card-Key-Auth425およびCard-Key-DEK430)を導出できる。カードマスター鍵(Card-Key-Auth425およびCard-Key-DEK430)を使用して、受信されたメッセージのカウンタ(pATC)フィールドを使用して、その特定のカードのセッション鍵(Aut-Session-Key435およびDEK-Session-Key440)を導出できる。暗号文B460は、DEK-Session-KEYを使用して復号できる。これにより、暗号文A455とRNDが生成され、RNDは、破棄され得る。UIDフィールドは、非接触カードの共有秘密を検索するために使用できる。これは、メッセージのVer、UID、およびpATCフィールドとともに、再作成されたAut-Session-Keyを使用して暗号化MACを介して処理され、MAC’などのMAC出力を作成できる。MAC’が暗号文A455と同じである場合、これは、メッセージの復号とMACチェックが全て合格したことを示す。次に、pATCを読み取って、それが有効かどうかを判断する。
【0083】
認証セッション中に、1つまたは複数の暗号文が1つまたは複数のアプリケーションによって生成され得る。例えば、1つまたは複数の暗号文は、ISO9797-1アルゴリズム3とAut-Session-Key435などの1つまたは複数のセッション鍵を介した方法2のパディングを使用して3DES MACとして生成できる。入力データ450は、次の形式:バージョン(2)、pUID(8)、pATC(4)、共有秘密(4)をとることができる。いくつかの例では、括弧内の数字はバイト単位の長さを備え得る。いくつかの例では、共有秘密は、1つまたは複数の安全なプロセスを通じて、乱数が予測できないことを保証するように構成され得る1つまたは複数の乱数発生器によって生成され得る。いくつかの例では、共有秘密は、認証サービスによって知られている、個人化時にカードに注入されるランダムな4バイトの2進数を備え得る。認証セッション中に、共有秘密が1つまたは複数のアプレットからモバイルアプリケーションに提供され得ない。方法2のパディングには、入力データの最後に必須の0x’80’バイトを追加することと、8バイト境界までの結果データの最後に追加できる0x’00’バイトを追加することが含まれ得る。結果として得られる暗号文は、8バイトの長さで構成され得る。
【0084】
いくつかの例では、MAC暗号文を使用して第1のブロックとして非共有乱数を暗号化する利点の1つは、対称暗号化アルゴリズムのCBC(ブロックチェーン)モードを使用しながら、初期化ベクトルとして機能することである。これにより、固定または動的IVを事前に確立しなくても、ブロック間で「スクランブル」を行うことができる。
【0085】
MAC暗号文に含まれるデータの一部としてアプリケーショントランザクションカウンタ(pATC)を含めることにより、認証サービスは、クリアデータで伝達される値が改ざんされているかどうかを判断するように構成できる。さらに、1つまたは複数の暗号文にバージョンを含めることにより、攻撃者が暗号化ソリューションの強度を低下させようとして、アプリケーションのバージョンを故意に偽って伝えることは困難である。いくつかの例では、pATCはゼロから始まり、1つまたは複数のアプリケーションが認証データを生成するたびに1ずつ更新され得る。認証サービスは、認証セッション中に使用されるpATCを追跡するように構成できる。いくつかの例では、認証データが認証サービスによって受信された以前の値以下のpATCを使用する場合、これは、古いメッセージを再生しようとする試みとして解釈され、認証されたものは拒否され得る。いくつかの例では、pATCが以前に受信した値よりも大きい場合、これを評価して許容範囲または閾値内にあるかどうかを判断し、範囲または閾値を超えているか範囲外にある場合、検証は失敗したか、信頼できないと見なされ得る。MAC動作436では、データ450は、暗号化されたMAC出力(暗号文A)455を生成するために、Aut-Session-Key435を使用してMACを介して処理される。
【0086】
カード上の鍵を公開する総当たり(ブルートフォース)攻撃に対する追加の保護を提供するために、MAC暗号文455が暗号化されることが望ましい。いくつかの例では、暗号化テキストに含まれるデータまたは暗号文A455は、乱数(8)、暗号文(8)を備え得る。いくつかの例では、括弧内の数字はバイト単位の長さを備え得る。いくつかの例では、乱数は、1つまたは複数の安全なプロセスを通じて、乱数が予測不可能であることを保証するように構成され得る1つまたは複数の乱数発生器によって生成され得る。このデータを暗号化するために使用される鍵は、セッション鍵を備え得る。例えば、セッション鍵は、DEK-Session-Key440を備え得る。暗号化動作441において、データまたは暗号文A455およびRNDは、DEK-Session-Key440を使用して処理されて、暗号化されたデータ、暗号文B460を生成する。データ455は、暗号ブロックチェーンモードで3DESを使用して暗号化され、攻撃者が全ての暗号化テキストに対して攻撃を実行する必要があることを確認できる。非限定的な例として、高度暗号化標準(AES)などの他のアルゴリズムを使用できる。いくつかの例では、0x’0000000000000000’の初期化ベクトルを使用できる。正しく復号されたデータは、ランダムに表示されるため、誤って復号されたデータと区別がつかないため、このデータの暗号化に使用される鍵を総当たりで見つけようとする攻撃者は、正しい鍵がいつ使用されたかを判断できなくなる。
【0087】
認証サービスが1つまたは複数のアプレットによって提供される1つまたは複数の暗号文を検証するには、認証セッション中に次のデータを1つまたは複数のアプレットからモバイルデバイスに平文で伝達する必要がある:使用される暗号化アプローチを判断するためのバージョン番号と暗号化の検証のためのメッセージフォーマット、これにより、アプローチを将来変更できる;暗号資産を検索し、カード鍵を導出するためのpUID;暗号文に使用されるセッション鍵を導出するためのpATC。
【0088】
図5は、暗号文を生成するための方法500を示している。例えば、ブロック510で、ネットワークプロファイルレコードID(pNPR)および導出鍵インデックス(pDKI)を使用して、認証のための暗号化プロセスで使用する発行者マスター鍵を識別できる。いくつかの例では、この方法は、認証を実行して、認証時に非接触カードのpNPRおよびpDKIの値を検索することを含み得る。
【0089】
ブロック520で、発行者マスター鍵は、それらをカードの一意のID番号(pUID)および1つまたは複数のアプレット、例えば、支払いアプレットのPANシーケンス番号(PSN)と組み合わせることによって多様化できる。
【0090】
ブロック530で、Card-Key-AuthおよびCard-Key-DEK(一意のカード鍵)は、発行者マスター鍵を多様化して、MAC暗号文を生成するために使用され得るセッション鍵を生成することによって作成され得る。
【0091】
ブロック540で、暗号文を生成し、1つまたは複数のアプレット内のデータを暗号化するために使用される鍵は、カード一意の鍵(Card-Key-AuthおよびCard-Key-DEK)に基づくブロック530のセッション鍵を備え得る。いくつかの例では、これらのセッション鍵は、1つまたは複数のアプレットによって生成され、pATCを使用して導出され、セッション鍵Aut-Session-KeyおよびDEK-Session-Keyになる。
【0092】
図6は、一例に係る鍵の多様化を示す例示的なプロセス600を示している。最初に、送信者と受信者に2つの異なるマスター鍵をプロビジョニングし得る。例えば、第1のマスター鍵は、データ暗号化マスター鍵を備え得、第2のマスター鍵は、データ完全性マスター鍵を備え得る。送信者は、ブロック602で更新され得るカウンタ値、およびそれが受信者と安全に共有され得る保護されるべきデータなどの他のデータを有する。
【0093】
ブロック604で、カウンタ値は、データ暗号化マスター鍵を使用して送信者によって暗号化されてデータ暗号化派生セッション鍵を生成し得、カウンタ値はまた、データ完全性マスター鍵を使用して送信者によって暗号化されてデータ完全性派生セッション鍵を生成し得る。いくつかの例では、カウンタ値全体またはカウンタ値の一部が両方の暗号化中に使用され得る。
【0094】
いくつかの例では、カウンタ値は、暗号化されない場合がある。これらの例では、カウンタは、送信者と受信者の間で平文で、すなわち、暗号化なしで送信できる。
【0095】
ブロック606で、保護されるべきデータは、データ完全性セッション鍵および暗号化MACアルゴリズムを使用して、送信者による暗号化MAC動作で処理される。平文と共有秘密を含む保護されたデータを使用して、セッション鍵(AUT-Session-Key)の1つを使用してMACを生成できる。
【0096】
ブロック608で、保護されるべきデータは、対称暗号化アルゴリズムと組み合わせてデータ暗号化派生セッション鍵を使用して送信者によって暗号化され得る。いくつかの例では、MACは、例えば、各8バイトの長さの等量のランダムデータと組み合わされ、第2のセッション鍵(DEK-Session-Key)を使用して暗号化される。
【0097】
ブロック610で、暗号化されたMACは、暗号文の検証のために、追加の秘密情報(共有秘密、マスター鍵など)を識別するのに十分な情報とともに、送信者から受信者に送信される。
【0098】
ブロック612で、受信者は、受信したカウンタ値を使用して、上で説明したように、2つのマスター鍵から2つの派生セッション鍵を独立して導出する。
【0099】
ブロック614で、データ暗号化派生セッション鍵は、保護されたデータを復号するために対称復号動作と組み合わせて使用される。その後、交換されたデータに対して追加の処理が行われる。いくつかの例では、MACが抽出された後、MACを再現して一致させることが望ましい。例えば、暗号文を検証するときに、適切に生成されたセッション鍵を使用して復号できる。保護されたデータは、検証のために再構築され得る。適切に生成されたセッション鍵を使用してMAC動作を実行し、復号されたMACと一致するかどうかを判断できる。MAC動作は、不可逆プロセスであるため、検証する唯一の方法は、ソースデータから再作成を試みることである。
【0100】
ブロック616で、データ完全性派生セッション鍵は、保護されたデータが変更されていないことを検証するために、暗号化MAC動作と組み合わせて使用される。
【0101】
本明細書に記載の方法のいくつかの例は、以下の条件が満たされたときに成功した認証がいつ判断されるかを有利に確認できる。まず、MACを検証する機能は、派生セッション鍵が適切であることを示している。MACは、復号が成功し、適切なMAC値が得られた場合にのみ正しくなり得る。復号が成功した場合は、正しく導出された暗号化鍵が暗号化されたMACの復号に使用されたことを示し得る。派生セッション鍵は、送信者(例えば、送信デバイス)と受信者(例えば、受信デバイス)だけが知っているマスター鍵を使用して作成されるため、最初にMACを作成してMACを暗号化した非接触カードが実際に本物であると信頼し得る。さらに、第1および第2のセッション鍵を導出するために使用されるカウンタ値は、有効であることが示され得、認証動作を実行するために使用され得る。
【0102】
その後、2つの派生セッション鍵は破棄され得、データ交換の次の反復は、カウンタ値を更新し(ブロック602に戻る)、セッション鍵の新しいセットが作成され得る(ブロック604で)。いくつかの例では、組み合わされたランダムデータは破棄され得る。
【0103】
図6Bは、一実施形態に係るメッセージの例示的な交換を示すタイミング図を示している。
図6Cは、カード130上のアプレット、論理、またはプログラムによって実行される論理650を示す例示的なフローチャートを示し、
図6Bと並行して説明される。
【0104】
図6Cから始まり、支払い/トランザクションアプレットは、ブロック652で、カードのための1つまたは複数のPANを格納し得る。カードが最初に発行されたときに、PANがカードに書き込まれ得る。いくつかの実施形態では、1つのPANのみがカードに発行され、支払い/トランザクションアプレットは、PANを維持するか、またはメモリ内の定義された場所でそれにアクセスする。支払い/トランザクションアプレットは、PANの書き込みまたは書き換えが可能であり、新しいPANが要求されたときに実行し得る。他の実施形態では、複数のPANがカードに発行され得、リストに格納され得る。1つのPAN(リストの第1のPANなど)は、支払いとトランザクションに使用されるアクティブなPANとして指定され得る。新しいPANが必要な場合、古いPANが削除され、リスト内の次のPANがアクティブなPANになり得る。代替的または追加的に、リスト内の別のPANは、現在のPANとして指定され得る。
【0105】
図6Bに目を向けると、サーバ116がクライアント104に再発行メッセージ620を送信するときに、再発行プロセスを開始し得る。再発行メッセージは、クライアントデバイス104に関連付けられたアカウント所有者に属する特定のカードが、その識別子/PANを再発行、変更、または他の方法で変更されるべきであることを示すメッセージであり得る。アカウント所有者は、カード発行者(サーバ116を維持することもし得る)に属するクライアントデバイス104にアプリケーションをインストールすることによって、クライアントデバイス104に関連付けられ得る。
【0106】
例えば、ユーザは、未払いの残高を確認したり、支払いを行ったりできるアプリケーションをインストールし得る。また、ユーザの特定のカードは、ユーザに割り当てられたアカウント/カード番号に基づいてアプリケーションに関連付けられ得る。アプリケーションは、サーバ116と通信し得、デバイス104をサーバに登録し得る。ユーザは、アプリケーションを介してカードプロバイダで自分のアカウントにログインし、それによって、自分のアカウントをデバイス104に関連付け得る。
【0107】
アプリケーションはまた、ユーザのカード130と通信し得、それによって、サーバ116からカード130への通信リンクを確立し得る。サーバ116が、ユーザのアカウント番号が危殆化された(または他の理由でカード番号を再発行する必要がある)と判断した場合、サーバ116は、これを達成するためにデバイス104上のユーザのアプリケーションに連絡し得る。ユーザの古い番号または識別子は、再発行メッセージ620を送信する前、送信中、または送信した後に無効にされ得る。
【0108】
再発行メッセージを受信すると、クライアント104上のアプリケーションは、PANを再発行しなければならないことを認識し得る。アプリケーションは、この情報をカード上の通信/認証アプレットに再発行指示またはタップパターン622で通信するための複数の技術でプログラムされ得る。
【0109】
1つの技術は、カード130上の通信/認証アプレットにNFC書き込みコマンド(または異なる通信プロトコルを使用する他の適切なコマンド)を発行することを含み得る。NFC書き込みコマンドは、カード番号または識別子が変更されることを識別し得る。この技術は、Android(登録商標)オペレーティングシステムを実行しているデバイスなど、カード上のアプレットに直接NFC書き込みコマンドを発行できるデバイスに適し得る。
【0110】
iOS(登録商標)オペレーティングシステムなどの一部のオペレーティングシステムは、これらのアプレットに直接NFC書き込みコマンドを発行できない。したがって、アプリケーションは、ディスプレイデバイスに、ユーザがカード130をデバイス104上のNFCリーダに所定のパターンでタップすることを要求する指示をユーザに提示させるように構成された論理でプログラムされ得る。この論理は、通信/認証アプレットに対応するものがあり、所定のパターンを認識し、このパターンをPANまたは識別番号を再発行するための指示として解釈するように構成され得る。
【0111】
624で、カード上の通信/認証アプレットは、指示またはパターン622を認識し、カード変更プロセスを開始する(
図6Cのブロック654)。
【0112】
最初に、通信/認証アプレットは、626で、通信/認証アプレットと支払い/トランザクションアプレットとの間に安全な通信チャネルまたはデータ伝送の安全な形式を設定する(
図6Cのブロック656)。この通信チャネルは、エクスプレスセットアップ手順が必要とされないようにカード130上のチップに組み込まれ得るか、または必要に応じてセットアップされるアドホック通信チャネルまたはデータ伝送形式であり得る。
【0113】
通信/認証アプレットは、安全な通信チャネルを介して、再発行コマンド628を支払い/トランザクションアプレットに送信し得る(
図6Cのブロック658)。それに応じて、支払い/トランザクションアプレットは、630(
図6Cのブロック660)で、新しい識別子またはPANを選択し得る(例えば、リスト内の次のPANに進み、完全に新しいPANを最初から生成し、古いPANおよび/またはカードに格納されているその他の情報などから新しいPANを導出する)。場合によっては、前述のように、新しい識別子またはPANを選択するためのプロセスは、サーバ116と調整され得る。
【0114】
支払い/トランザクションアプレットは、識別子またはPANの変更が成功したかどうかを判断し得る(例えば、特定の事前定義された要件を満たす新しいPANが生成された)。プロセスに問題があった場合、または新しいPANが要件に従って検証できなかった場合、支払い/トランザクションアプレットは、通信/認証アプレットに障害を報告し得る(
図6Cのブロック652)。カードのチップは、この時点でトランザクションを実行するためにオプションで承認を取り消し得る。
【0115】
PANまたは識別子の更新が成功した場合、支払い/トランザクションアプレットは、通信/認証アプレットに成功を確認632し得、これは、その確認をサーバ116に向けて中継し得る(
図6Cのブロック652)。
【0116】
カードがeインクディスプレイなどの書き換え可能なディスプレイを含む場合、634で、通信/認証アプレット(またはカード上の他の適切な論理)により、ディスプレイが新しいカード識別子で書き換えられ得る(
図6Cのブロック654を参照)。任意選択で、カードは、このプロセス中にデバイス104との通信によって引き起こされる磁場内に留まり、通信からのエネルギをディスプレイの更新に使用され得る。
【0117】
本明細書に記載のシステムおよび方法の例示的な実施形態は、セキュリティ要素認証を提供するように構成され得る。セキュリティ要素認証は、複数のプロセスを備え得る。セキュリティ要素認証の一部として、第1のプロセスは、ログインし、デバイス上で実行されている1つまたは複数のアプリケーションを介してユーザを検証することを備え得る。第2のプロセスとして、ユーザは、ログインの成功および1つまたは複数のアプリケーションを介した第1のプロセスの検証に応答して、1つまたは複数の非接触カードに関連する1つまたは複数の行動に従事できる。事実上、セキュリティ要素認証には、ユーザの身元を安全に証明することと、非接触カードに関連付けられた1つまたは複数のタップジェスチャを含むがこれに限定されない1つまたは複数のタイプの行動に従事することの両方が含まれ得る。いくつかの例では、1つまたは複数のタップジェスチャは、ユーザによるデバイスへの非接触カードのタップを備え得る。いくつかの例では、デバイスは、モバイルデバイス、キオスク、端末、タブレット、または受信したタップジェスチャを処理するように構成された任意の他のデバイスを備え得る。
【0118】
いくつかの例では、非接触カードを1つまたは複数のコンピュータキオスクまたは端末などのデバイスにタップして、コーヒーなどの購入に応答するトランザクションアイテムを受信するために本人確認を行うことができる。非接触カードを使用することにより、ロイヤルティプログラムでIDを証明する安全な方法を確立できる。例えば、報酬、クーポン、オファーなどを取得したり、特典を受け取ったりするためにIDを安全に証明することは、単にバーカードをスキャンするのとは異なる方法で確立される。例えば、非接触カードとデバイスとの間で暗号化されたトランザクションが発生し得る。これは、1つまたは複数のタップジェスチャを処理するように構成され得る。上で説明したように、1つまたは複数のアプリケーションは、ユーザのIDを検証し、次に、例えば、1つまたは複数のタップジェスチャを介して、ユーザにそれに行動または応答させるように構成され得る。いくつかの例では、例えば、ボーナスポイント、ロイヤルティポイント、報酬ポイント、ヘルスケア情報などのデータが、非接触カードに書き戻され得る。
【0119】
いくつかの例では、非接触カードは、モバイルデバイスなどのデバイスにタップされ得る。上で説明したように、ユーザのIDは、1つまたは複数のアプリケーションによって検証され得、次いで、それは、IDの検証に基づいて、ユーザに所望の利益を与えるであろう。
【0120】
いくつかの例では、非接触カードは、モバイルデバイスなどのデバイスをタップすることによってアクティブ化され得る。例えば、非接触カードは、NFC通信を介してデバイスのカードリーダを介してデバイスのアプリケーションと通信できる。カードのタップがデバイスのカードリーダに近接している通信では、デバイスのアプリケーションが非接触カードに関連付けられたデータを読み取り、カードをアクティブ化し得る。いくつかの例では、アクティブ化は、カードが他の機能、例えば、購入、アカウントまたは制限された情報へのアクセス、または他の機能を実行するために使用されることを許可し得る。いくつかの例では、タップは、デバイスのアプリケーションをアクティブ化または起動し、次に、1つまたは複数のアクションまたは1つまたは複数のサーバとの通信を開始して、非接触カードをアクティブ化できる。アプリケーションがデバイスにインストールされていない場合、カードリーダの近くにある非接触カードをタップすると、アプリケーションのダウンロードページへのナビゲーションなど、アプリケーションのダウンロードが開始され得る。インストールに続いて、非接触カードをタップすると、アプリケーションがアクティブ化または起動され、その後、例えば、アプリケーションまたは他のバックエンド通信を介して、非接触カードのアクティブ化が開始される。アクティブ化の後、非接触カードは、商取引を含むがこれに限定されない様々な活動で使用され得る。
【0121】
いくつかの実施形態では、非接触カードのアクティブ化を実行するためにクライアントデバイス上で実行するように専用のアプリケーションを構成し得る。他の実施形態では、ウェブポータル、ウェブベースのアプリ、アプレットなどがアクティブ化を実行できる。アクティブ化は、クライアントデバイスで実行することも、クライアントデバイスが非接触カードと外部デバイス(例えば、アカウントサーバ)の仲介役として機能することもある。いくつかの実施形態によれば、アクティブ化を提供する際に、アプリケーションは、アカウントサーバに、アクティブ化を実行するデバイスのタイプ(例えば、パーソナルコンピュータ、スマートフォン、タブレット、または販売時点情報管理(POS)デバイス)を示し得る。さらに、アプリケーションは、送信のために、関係するデバイスのタイプに応じて、異なるデータおよび/または追加のデータをアカウントサーバに出力し得る。例えば、そのようなデータは、マーチャントタイプ、マーチャントIDなどのマーチャントに関連する情報、およびPOSデータおよびPOS IDなどのデバイスタイプ自体に関連する情報を備え得る。
【0122】
いくつかの実施形態では、例示的な認証通信プロトコルは、いくつかの変更を加えて、トランザクションカードと販売時点情報管理デバイスとの間で一般的に実行されるEMV標準のオフライン動的データ認証プロトコルを模倣できる。例えば、認証プロトコルの例は、カード発行者/支払い処理業者自体との支払いトランザクションを完了するために使用されないため、一部のデータ値は不要であり、カード発行者/支払い処理業者へのリアルタイムのオンライン接続を必要とせずに認証を実行し得る。当技術分野で知られているように、販売時点情報管理(POS)システムは、取引額を含むトランザクションをカード発行者に提出する。発行者がトランザクションを承認するか拒否するかは、カード発行者が取引額を認識しているかどうかに基づき得る。一方、本開示の特定の実施形態では、モバイルデバイスから発生するトランザクションは、POSシステムに関連する取引額を欠いている。したがって、いくつかの実施形態では、ダミーの取引額(すなわち、カード発行者が認識可能であり、アクティブ化が発生するのに十分な値)を、例示的な認証通信プロトコルの一部として渡し得る。POSベースのトランザクションは、トランザクションの試行回数に基づいてトランザクションを拒否する場合もある(例えば、トランザクションカウンタ)。バッファ値を超えて何度も試行すると、緩やかに減少し得る。緩やかな減少は、トランザクションを受け入れる前にさらなる検証を必要とする。いくつかの実施では、正当なトランザクションの減少を回避するために、トランザクションカウンタのバッファ値が変更され得る。
【0123】
いくつかの例では、非接触カードは、受信者のデバイスに応じて情報を選択的に通信できる。非接触カードは、タップされると、タップの対象となるデバイスを認識でき、この認識に基づいて、非接触カードは、そのデバイスに適切なデータを提供できる。これは、非接触カードが、支払いまたはカード認証などの即時のアクションまたはトランザクションを完了するために必要な情報のみを送信することを有利にする。データの送信を制限し、不要なデータの送信を回避することで、効率とデータセキュリティの両方を向上させることができる。情報の認識と選択的な通信は、カードのアクティブ化、残高の転送、アカウントアクセスの試行、商取引、ステップアップ詐欺の削減など、様々なシナリオに適用できる。
【0124】
非接触カードタップが、例えば、iPhone(登録商標)、iPod(登録商標)、iPad(登録商標)などAppleのiOS(登録商標)オペレーティングシステムを実行しているデバイスに向けられている場合、非接触カードはiOS(登録商標)オペレーティングシステムを認識し、このデバイスと通信するための適切なデータを送信できる。例えば、非接触カードは、例えばNFCを介してNDEFタグを使用してカードを認証するために必要な暗号化されたID情報を提供できる。同様に、非接触カードのタップが、例えば、Android(登録商標)スマートフォンやタブレットなどAndroid(登録商標)オペレーティングシステムを実行しているデバイスに向けられている場合、非接触カードは、Android(登録商標)オペレーティングシステムを認識し、このデバイスと通信するための適切なデータを送信できる(本明細書に記載の方法による認証に必要な暗号化されたID情報など)。
【0125】
他の例として、非接触カードタップは、キオスク、チェックアウトレジスタ、支払いステーション、または他の端末を含むがこれらに限定されないPOSデバイスに向けることができる。タップを実行すると、非接触カードは、POSデバイスを認識し、アクションまたはトランザクションに必要な情報のみを送信できる。例えば、商取引を完了するために使用されるPOSデバイスを認識すると、非接触カードは、EMV標準の下でトランザクションを完了するために必要な支払い情報を伝達できる。
【0126】
いくつかの例では、トランザクションに参加するPOSデバイスは、非接触カードによって提供される追加情報、例えば、デバイス固有の情報、位置固有の情報、およびトランザクション固有の情報を要求または指定できる。例えば、POSデバイスが非接触カードからデータ通信を受信すると、POSデバイスは、非接触カードを認識し、アクションまたはトランザクションを完了するために必要な追加情報を要求できる。
【0127】
いくつかの例では、POSデバイスは、特定の非接触カードに精通している、または特定の非接触カード取引の実行に慣れている認定販売者または他のエンティティと提携できる。しかしながら、そのような提携は、記載された方法の実行のために必要とされないことが理解される。
【0128】
ショッピングストア、食料品店、コンビニエンスストアなどのいくつかの例では、非接触カードは、アプリケーションを開かなくてもモバイルデバイスにタップされて、1つまたは複数の購入をカバーするために1つまたは複数の報酬ポイント、ロイヤルティポイント、クーポン、オファーなどを利用したいという願望または意図を示すことができる。したがって、購入の背後にある意図が提供される。
【0129】
いくつかの例では、1つまたは複数のアプリケーションは、非接触カードの1つまたは複数のタップジェスチャを介して起動されたことを判断するように構成され得、その結果、ユーザのIDを検証するために、午後3時51分に起動し、午後3時56分にトランザクションが処理または実行された。
【0130】
いくつかの例では、1つまたは複数のアプリケーションは、1つまたは複数のタップジェスチャに応答する1つまたは複数のアクションを制御するように構成され得る。例えば、1つまたは複数のアクションは、報酬の収集、ポイントの収集、最も重要な購入の決定、最も費用のかからない購入の決定、および/またはリアルタイムで他のアクションへの再構成を備え得る。
【0131】
いくつかの例では、データは、生体認証/ジェスチャ認証としてタップ行動について収集され得る。例えば、暗号的に安全で傍受されにくい一意の識別子が1つまたは複数のバックエンドサービスに送信され得る。一意の識別子は、個人に関する二次情報を検索するように構成できる。二次情報は、ユーザに関する個人を特定できる情報を備え得る。いくつかの例では、二次情報は、非接触カード内に格納され得る。
【0132】
いくつかの例では、デバイスは、請求書を分割するか、または複数の個人の間で支払いをチェックするアプリケーションを含み得る。例えば、各個人が非接触カードを所有し、同じ発行金融機関の顧客であり得るが、必須ではない。これらの各個人は、購入を分割するために、アプリケーションを介してデバイス上でプッシュ通知を受信し得る。支払いを示すためにカードタップを1回だけ受け入れるのではなく、他の非接触カードを使用し得る。いくつかの例では、異なる金融機関を有する個人は、カードをタップする個人から1つまたは複数の支払い要求を開始するための情報を提供するための非接触カードを所有し得る。
【0133】
以下の使用例の例は、本開示の特定の実施の例を説明している。これらは説明のみを目的としており、限定を目的としたものではない。あるケースでは、第1の友人(支払人)が第2の友人(受取人)に金額を支払う義務がある。支払人は、ATMにアクセスしたり、ピアツーピアアプリケーションを介して交換を要求したりするのではなく、非接触カードを使用して受取人のスマートフォン(またはその他のデバイス)を介して支払いを行う。受取人は、スマートフォンで適切なアプリケーションにログオンし、支払い要求オプションを選択する。それに応じて、アプリケーションは、受取人の非接触カードを介して認証を要求する。例えば、アプリケーションは、受取人が非接触カードをタップするように要求する表示を出力する。アプリケーションが有効になっている状態で、受取人がスマートフォンの画面に対して非接触カードをタップすると、非接触カードが読み取られて検証される。次に、アプリケーションは、支払人が非接触カードをタップして支払いを送信するように求めるプロンプトを表示する。支払人が非接触カードをタップすると、アプリケーションは、カード情報を読み取り、関連するプロセッサを介して、支払人のカード発行会社に支払い要求を送信する。カード発行会社は、トランザクションを処理し、トランザクションのステータスインジケータをスマートフォンに送信する。次に、アプリケーションは、トランザクションのステータスインジケータを表示するために出力する。
【0134】
他の例では、クレジットカードの顧客は、新しいクレジットカード(またはデビットカード、他の支払いカード、またはアクティブ化が必要な他のカード)をメールで受け取り得る。カード発行会社に関連付けられた提供された電話番号に電話したり、ウェブサイトにアクセスしたりしてカードをアクティブ化するのではなく、顧客は、自分のデバイス(例えば、スマートフォンなどのモバイルデバイス)のアプリケーションを介してカードをアクティブ化することを決定できる。顧客は、デバイスのディスプレイに表示されるアプリケーションのメニューからカードアクティブ化機能を選択できる。アプリケーションは、画面に対してクレジットカードをタップするように顧客に促し得る。デバイスの画面に対してクレジットカードをタップすると、アプリケーションは、顧客のカードをアクティブ化するカード発行サーバなどのサーバと通信するように構成できる。次に、アプリケーションは、カードのアクティブ化が成功したことを示すメッセージを表示し得る。これでカードのアクティブ化が完了する。
【0135】
上述の方法は、コンピュータ可読媒体上の命令として、またはコンピューティングアーキテクチャの一部として具体化され得る。
図7は、前述の様々な実施形態を実施するのに適した例示的なコンピューティングアーキテクチャ700の実施形態を示している。一実施形態では、コンピューティングアーキテクチャ700は、コンピュータ701などの電子デバイスを備えるか、またはその一部として実施し得る。実施形態は、この文脈に限定されない。
【0136】
このアプリケーションで使用される用語「システム」および「コンポーネント」は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すことを意図しており、その例は、例示的なコンピューティングアーキテクチャ700によって提供される。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、ハードディスクドライブ、(光学および/または磁気記憶媒体の)複数のストレージドライブ、オブジェクト、実行可能なもの、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で実行されているアプリケーションとサーバの両方は、コンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に常駐し得、コンポーネントは、1台のコンピュータにローカライズされ、および/または2台以上のコンピュータ間で分散され得る。さらに、コンポーネントは、様々なタイプの通信媒体によって互いに通信可能に結合され、動作を調整し得る。調整には、情報の一方向または双方向の交換が含まれ得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形で情報を通信し得る。情報は、様々な信号線に割り当てられた信号として実施され得る。このような割り当てでは、各メッセージは、信号である。しかしながら、さらなる実施形態は、代替としてデータメッセージを使用し得る。このようなデータメッセージは、様々な接続を介して送信され得る。接続例は、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースを含む。
【0137】
コンピューティングアーキテクチャ700は、1つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント、電源などの様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングアーキテクチャ700による実施に限定されない。
【0138】
図7に示されるように、コンピューティングアーキテクチャ700は、処理ユニット702、システムメモリ704、およびシステムバス706を含む。処理ユニット702は、AMD(登録商標)Athlon(登録商標)、Duron(登録商標)およびOpteron(登録商標)プロセッサ、ARM(登録商標)アプリケーション、組み込みおよびセキュアプロセッサ、IBM(登録商標)およびMotorola(登録商標)DragonBall(登録商標)およびPowerPC(登録商標)プロセッサ、IBMおよびSony(登録商標)Cellプロセッサ、Intel(登録商標)Celeron(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、およびXScale(登録商標)プロセッサおよび類似のプロセッサを含むがこれらに限定されない、様々な市販のプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサ、およびその他のマルチプロセッサアーキテクチャも、処理ユニット702として使用し得る。
【0139】
システムバス706は、処理ユニット702へのシステムメモリ704を含むがこれらに限定されないシステムコンポーネントにインターフェースを提供する。システムバス706は、様々な市販のバスアーキテクチャのいずれかを使用して、メモリバス(メモリコントローラの有無にかかわらず)、周辺バス、およびローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のいずれかであり得る。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス706に接続し得る。スロットアーキテクチャの例は、アクセラレーテッドグラフィックスポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、NuBus、ペリフェラルコンポーネントインターコネクト(拡張)(PCI(X))、PCI Express、Personal Computer Memory Card International Association(PCMCIA)などを含むがこれらに限定されない。
【0140】
コンピューティングアーキテクチャ700は、様々な製品を備えるか、または実施できる。製品は、論理を格納するコンピュータ可読記憶媒体を備え得る。コンピュータ可読記憶媒体の例には、揮発性メモリまたは不揮発性メモリ、取り外し可能または取り外し不可能なメモリ、消去可能または消去不可能なメモリ、書き込み可能または再書き込み可能なメモリなどを含む、電子データを格納できるあらゆる有形の媒体が含まれる。論理の例には、ソースコード、コンパイル済みコード、解釈コード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、視覚的コードなど、任意の適切なタイプのコードを使用して実施された実行可能なコンピュータプログラム命令が含まれ得る。実施形態はまた、非一時的なコンピュータ可読媒体に含まれる、またはその上に含まれる命令として少なくとも部分的に実施されてもよく、これは、本明細書に記載の動作の実行を可能にするために、1つまたは複数のプロセッサによって読み取られ、実行され得る。
【0141】
システムメモリ704は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電性ポリマーメモリ、オボニックメモリ、相変化または強誘電性メモリなどのポリマーメモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気または光カード、独立ディスクの冗長アレイ(RAID)ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ、ソリッドステートドライブ(SSD))、および情報の格納に適したその他のタイプの記憶媒体などの1つまたは複数の高速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。
図7に示される図示の実施形態では、システムメモリ704は、不揮発性メモリ708および/または揮発性メモリ710を含み得る。不揮発性メモリ708には、基本入出力システム(BIOS)が格納され得る。
【0142】
コンピューティングアーキテクチャ700は、内部(または外部)ハードディスクドライブ(HDD)712、リムーバブル磁気ディスク716からの読み取りまたはリムーバブル磁気ディスク716への書き込みを行う磁気フロッピディスクドライブ(FDD)714、およびリムーバブル光ディスク720(例えば、CD-ROMまたはDVD)からの読み取りまたはリムーバブル光ディスク720への書き込みを行う光ディスクドライブ718を含む、1つまたは複数の低速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。HDD712、FDD714、および光ディスクドライブ720は、それぞれ、HDDインターフェース722、FDDインターフェース724、および光学ドライブインターフェース726によってシステムバス706に接続され得る。外部ドライブ実施用のHDDインターフェース722は、ユニバーサルシリアルバス(USB)およびIEEE694インターフェース技術の少なくとも一方または両方を含み得る。
【0143】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性および/または不揮発性ストレージを提供する。例えば、多数のプログラムモジュールは、オペレーティングシステム728、1つまたは複数のアプリケーションプログラム730、他のプログラムモジュール732、およびプログラムデータ734を含む、ドライブおよびメモリユニット708、712に格納され得る。一実施形態では、1つまたは複数のアプリケーションプログラム730、他のプログラムモジュール732、およびプログラムデータ734は、例えば、メッセージングシステム500の様々なアプリケーションおよび/またはコンポーネントを含み得る。
【0144】
ユーザは、1つまたは複数の有線/無線入力デバイス、例えば、キーボード736およびマウス738などのポインティングデバイスを介して、コンピュータ701にコマンドと情報を入力し得る。その他の入力デバイスには、マイク、赤外線(IR)リモートコントロール、無線周波数(RF)リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グラブ、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性など)、トラックボール、トラックパッド、センサ、スタイラスなどを含み得る。これらおよび他の入力デバイスは、システムバス706に結合された入力デバイスインターフェース740を介して処理ユニット702に接続されることがよくあるが、パラレルポート、IEEE694シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続され得る。
【0145】
モニタ742または他のタイプの表示デバイスも、ビデオアダプタ744などのインターフェースを介してシステムバス706に接続されている。モニタ742は、コンピュータ701の内部または外部にあり得る。モニタ742に加えて、コンピュータは通常、スピーカ、プリンタなどの他の周辺出力デバイスを含む。
【0146】
コンピュータ701は、リモートコンピュータ744などの1つまたは複数のリモートコンピュータへの有線および/または無線通信を介した論理接続を使用して、ネットワーク環境で動作し得る。リモートコンピュータ744は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽機器、ピアデバイス、または他の一般的なネットワークノードであり得、通常、コンピュータ701に関連して記載された要素の多くまたはすべてを含むが、簡潔にするために、メモリ/ストレージデバイス746のみが示されている。示されている論理接続には、ローカルエリアネットワーク(LAN)748および/またはより大きなネットワーク、例えば、ワイドエリアネットワーク(WAN)750への有線/無線接続が含まれる。このようなLANおよびWANネットワーク環境は、オフィスや企業では一般的であり、イントラネットなどの企業規模のコンピュータネットワークを容易にする。これらはすべて、例えば、インターネットなどのグローバル通信ネットワークに接続し得る。
【0147】
LANネットワーキング環境で使用される場合、コンピュータ701は、有線および/または無線通信ネットワークインターフェースまたはアダプタ752を介してLAN748に接続される。アダプタ752は、アダプタ752の無線機能と通信するためにその上に配置された無線アクセスポイントを含み得るLAN748への有線および/または無線通信を容易にし得る。
【0148】
WANネットワーキング環境で使用される場合、コンピュータ701は、モデム754を含み得るか、またはWAN750上の通信サーバに接続されるか、またはインターネットを経由するなど、WAN750上で通信を確立するための他の手段を有する。モデム754は、内部または外部であり、有線および/または無線デバイスであり、入力デバイスインターフェース740を介してシステムバス706に接続する。ネットワーク環境では、コンピュータ701に関して示されたプログラムモジュール、またはその一部は、リモートメモリ/ストレージデバイス746に格納され得る。示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されるであろう。
【0149】
コンピュータ701は、無線通信(例えば、IEEE802.13無線変調技術)で動作可能に配置された無線デバイスなど、IEEE802規格ファミリを使用して有線および無線デバイスまたはエンティティと通信するように動作可能である。これには、少なくともWi-Fi(または無線フィデリティ)、WiMax、ブルートゥース(登録商標)ワイヤレステクノロジなどが含まれる。したがって、通信は、従来のネットワークと同様に事前定義された構造、または少なくとも2つのデバイス間での単なるアドホック通信であり得る。Wi-Fiネットワークは、IEEE802.13x(a、b、g、nなど)と呼ばれる無線技術を用いて、安全で信頼性の高い高速な無線接続を提供する。Wi-Fiネットワークは、コンピュータを相互に接続したり、インターネットに接続したり、有線ネットワーク(IEEE802.3関連のメディアと機能を使用)に接続したりするために使用し得る。
【0150】
図8は、前述の様々な実施形態を実施するのに適した例示的な通信アーキテクチャ800を示すブロック図である。通信アーキテクチャ800は、送信機、受信機、送受信機、無線機、ネットワークインターフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源などの様々な一般的な通信要素を含む。しかしながら、実施形態は、通信アーキテクチャ800による実施に限定されない。
【0151】
図8に示されるように、通信アーキテクチャ800は、1つまたは複数のクライアント802およびサーバ804を含む。クライアント802は、クライアントデバイス510を実施し得る。サーバ804は、サーバデバイス526を実施し得る。クライアント802およびサーバ804は、1つまたは複数のそれぞれのクライアントデータストア806およびサーバデータストア808に動作可能に接続されており、クッキーおよび/または関連するコンテキスト情報など、それぞれのクライアント802およびサーバ804にローカルな情報を格納するために使用され得る。
【0152】
クライアント802およびサーバ804は、通信フレームワーク810を使用して互いに情報を通信し得る。通信フレームワーク810は、周知の通信技術およびプロトコルを実施し得る。通信フレームワーク810は、パケット交換ネットワーク(例えば、インターネットなどのパブリックネットワーク、企業イントラネットなどのプライベートネットワークなど)、回路交換ネットワーク(例えば、公衆交換電話ネットワーク)、またはパケット交換ネットワークと回線交換ネットワークの組み合わせ(適切なゲートウェイとトランスレータを使用)として実施され得る。
【0153】
通信フレームワーク810は、通信ネットワークを受け入れ、通信し、接続するように構成された様々なネットワークインターフェースを実施し得る。ネットワークインターフェースは、入出力インターフェースの特殊な形式と見なし得る。ネットワークインターフェースは、直接接続、イーサネット(例えば、シック、シン、ツイストペア10/100/1000BaseTなど)、トークンリング、無線ネットワークインターフェース、セルラネットワークインターフェース、IEEE802.8a-xネットワークインターフェース、IEEE802.16ネットワークインターフェース、IEEE802.20ネットワークインターフェースなどを含むがこれらに限定されない接続プロトコルを採用し得る。さらに、複数のネットワークインターフェースを使用して、様々な通信ネットワークタイプと連携し得る。例えば、複数のネットワークインターフェースは、ブロードキャスト、マルチキャスト、およびユニキャストネットワークを介した通信を可能にするために使用され得る。処理要件により速度と容量が要求される場合、分散ネットワークコントローラアーキテクチャを同様に使用して、クライアント802およびサーバ804が必要とする通信帯域幅をプールし、負荷分散し、そうでなければ増加させ得る。通信ネットワークは、直接的な相互接続、安全なカスタム接続、プライベートネットワーク(例えば、企業イントラネット)、パブリックネットワーク(例えば、インターネット)、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、インターネット上のノードとしての運用ミッション(OMNI)、ワイドエリアネットワーク(WAN)、無線ネットワーク、セルラネットワーク、およびその他の通信ネットワークを含むがこれらに限定されない、有線および/または無線ネットワークの任意の1つおよび組み合わせであり得る。
【0154】
上記のデバイスのコンポーネントおよび機能は、ディスクリート回路、特定用途向け集積回路(ASIC)、論理ゲート、および/またはシングルチップアーキテクチャの任意の組み合わせを使用して実施され得る。さらに、デバイスの機能は、マイクロコントローラ、プログラム可能な論理アレイおよび/またはマイクロプロセッサ、または適切な場合には前述の任意の組み合わせを使用して実施され得る。ハードウェア、ファームウェアおよび/またはソフトウェア要素は、本明細書では集合的または個別に「論理」または「回路」と呼ばれることがあることに留意されたい。
【0155】
上記のブロック図に示される例示的なデバイスは、多くの潜在的な実施の機能を説明する1つの例を表し得ることを理解されたい。したがって、添付の図に示されたブロック機能の分割、省略、または包含は、これらの機能を実施するためのハードウェアコンポーネント、回路、ソフトウェアおよび/または要素が必ずしも実施形態に分割、省略、または含まれることを意味するものではない。
【0156】
少なくとも1つのコンピュータ可読記憶媒体は、実行時に、本明細書に記載のコンピュータ実施方法のいずれかをシステムに実行させる命令を含み得る。
【0157】
いくつかの実施形態は、「1つの実施形態」または「一実施形態」という表現をその派生語とともに使用して説明され得る。これらの用語は、実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な箇所に現れる「一実施形態では」という表現は、必ずしも全てが同じ実施形態を指すとは限らない。さらに、特に明記しない限り、上記の特徴は、任意の組み合わせで一緒に使用できると認識されている。したがって、これらの特徴が互いに互換性がないことに留意されない限り、個別に説明した任意の特徴を互いに組み合わせて使用し得る。
【0158】
本明細書で使用される表記法および用語を一般的に参照すると、本明細書の詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順に関して提示され得る。これらの手順の説明および表現は、当業者が作業の内容を他の当業者に最も効果的に伝えるために使用する。
【0159】
ここでの手順とは、一般的に、望ましい結果につながる、一貫性のある一連の操作であると考えられている。これらの操作は、物理量の物理的な操作を必要とする操作である。通常、これらの量は、格納、転送、結合、比較、その他の操作が可能な電気、磁気、または光信号の形をとるが、必ずしもそうではない。これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶことは、主に一般的な使用上の理由から、時々便利である。しかしながら、これらおよび類似の用語は全て、適切な物理量に関連付けられており、それらの量に適用される便利なラベルにすぎないことに留意されたい。
【0160】
さらに、実行される操作は、通常、人間のオペレータによって実行される知的な演算に関連する、追加または比較などの用語で言及されることが多い。1つまたは複数の実施形態の一部を形成する本明細書に記載の操作のいずれにおいても、人間のオペレータのそのような能力は必要ではなく、ほとんどの場合望ましいものでもない。むしろ、操作は、機械操作である。様々な実施形態の操作を実行するための有用な機械には、汎用デジタルコンピュータまたは同様のデバイスが含まれる。
【0161】
いくつかの実施形態は、その派生語とともに「結合された」および「接続された」という表現を使用して説明され得る。これらの用語は、必ずしも互いに同義語として意図されているわけではない。例えば、いくつかの実施形態は、「接続された」および/または「結合された」という用語を使用して説明され、2つ以上の要素が互いに直接物理的または電気的に接触していることを示す。しかしながら、「結合された」という用語は、2つ以上の要素が互いに直接接触していないが、それでも互いに協力または相互作用することを意味し得る。
【0162】
様々な実施形態は、これらの操作を実行するための装置またはシステムにも関する。この装置は、必要な目的のために特別に構築され得、コンピュータに格納されたコンピュータプログラムによって選択的に作動または再構成された汎用コンピュータを含み得る。ここに示されている手順は、特定のコンピュータまたは他の装置に本質的に関連するものではない。本明細書の教示に従って記述されたプログラムとともに様々な汎用機械を使用でき、または必要な方法ステップを実行するためのより特殊な装置を構築することが便利であることが判明し得る。これらの様々な機械に必要な構造は、与えられた説明から明らかになる。
【0163】
開示の要約は、読者が技術的開示の性質を迅速に確認できるようにするために提供されていることが強調されている。これは、請求項の範囲または意味を解釈または制限するために使用されないという理解の下に提出される。さらに、前述の詳細な説明では、開示を簡素化する目的で、様々な特徴が単一の実施形態にまとめられていることがわかる。この開示方法は、請求される実施形態が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、以下の請求の範囲が反映しているように、発明の主題は、単一の開示された実施形態の全ての特徴よりも少ない。したがって、以下の請求項は、詳細な説明に組み込まれ、各請求項は、それ自体が別個の実施形態としてある。添付の請求の範囲において、用語「含む」および「その中で」は、それぞれ「備える」および「ここで」の平易な英語の同等物として使用される。また、「第一」、「第二」、「第三」等の用語は、単にラベルとして使用されており、それらの対象に数値要件を課すことを意図するものではない。
【0164】
上で説明されたことは、開示されたアーキテクチャの例を含む。もちろん、コンポーネントおよび/または方法論の考えられる全ての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび順列が可能であることを認識するであろう。したがって、新規のアーキテクチャは、添付の請求の範囲の精神および範囲内にあるそのような全ての変更、修正、および変形を含むことを意図している。