(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-05-27
(54)【発明の名称】ユニフォームリソースロケータ内のアクティブリンクを利用して金銭授受を実施するシステムおよび技術
(51)【国際特許分類】
G06Q 20/40 20120101AFI20240520BHJP
H04L 9/32 20060101ALI20240520BHJP
G06F 21/35 20130101ALI20240520BHJP
【FI】
G06Q20/40
H04L9/32 200B
G06F21/35
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023569960
(86)(22)【出願日】2022-03-22
(85)【翻訳文提出日】2024-01-09
(86)【国際出願番号】 US2022021272
(87)【国際公開番号】W WO2022240484
(87)【国際公開日】2022-11-17
(32)【優先日】2021-05-11
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100163902
【氏名又は名称】市川 奈月
(72)【発明者】
【氏名】ルール,ジェフリー
(72)【発明者】
【氏名】バージェロン,ジョージ
(72)【発明者】
【氏名】ニューマン,ケイトリン
(72)【発明者】
【氏名】ハート,コリン
(57)【要約】
ペイメントカードをモバイルデバイスにタップするシステムが、別のユーザに金銭を送る、または他のユーザに金銭を要求するユーザを認証するために使用される。第1のユーザがペイメントカードを自身のデバイスにタッチすると、金銭を受け取る、または金銭要求を受け取るユーザのモバイルデバイスに、暗号化された文字列を有するURLが送信される。別のユーザのモバイルデバイスは、URLを開いた結果として、銀行取引アプリを起動する。そのアプリは、暗号化された文字列を使用して、金銭を送るまたは要求する第1のユーザを認証する。
【特許請求の範囲】
【請求項1】
モバイルデバイスであって、
ディスプレイデバイスと、
プロセッサと、
メモリとを含み、
前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、
第1のユーザの第2のモバイルデバイスと金銭の電子授受を実施する入力を受信させ、
前記モバイルデバイス上に非接触カードを提供する指示を前記ディスプレイデバイスに提示させ、
前記非接触カードから、第2のユーザの秘密鍵で暗号化された第1のデータを受信させ、
前記第2のモバイルデバイスと送信する前記第1のデータを含み、前記第2のモバイルデバイスに、前記第1のデータを用いて前記第2のユーザの認証を実施させるユニフォームリソースロケータ(URL)を含むメッセージを生成させ、
前記メッセージを前記第2のモバイルデバイスに通信させ、
前記第2のユーザの前記認証に基づいて、前記金銭の電子授受をさせる、
命令を含む、
モバイルデバイス。
【請求項2】
前記メモリおよび前記プロセッサに結合された入力デバイスを備え、前記入力デバイスが、連絡先の選択、電子授受する金額の指示、またはそれらの組み合わせを含む前記入力を受信する、
請求項1に記載のモバイルデバイス。
【請求項3】
前記URLが、前記金額を識別する第1の識別子と、前記第1のユーザを識別する第2の識別子とをさらに含む、
請求項2に記載のモバイルデバイス。
【請求項4】
前記プロセッサが、
近距離無線通信(NFC)信号を介して、前記非接触カードを検出し、
前記非接触カードが前記モバイルデバイスの通信範囲内に入ることに基づいて、前記非接触カードとのNFC交換を開始し、かつ
前記NFC交換を介して、前記非接触カードから前記第1のデータを受信する、
請求項1に記載のモバイルデバイス。
【請求項5】
前記URLが、アクティブ化されると、前記第2のモバイルデバイス上でウェブページを起動して、前記第1のデータを用いて前記第2のユーザの前記認証を実施するリンクを含む、
請求項1に記載のモバイルデバイス。
【請求項6】
前記第1のデータが、前記非接触カードに記憶された前記秘密鍵で暗号化された文字列を含む、請求項1に記載のモバイルデバイス。
【請求項7】
前記秘密鍵が鍵ペアの一部であり、前記鍵ペアが、前記非接触カード、前記第1のユーザ、またはそれらの組み合わせに関連付けられた公開鍵をさらに含む、
請求項1に記載のモバイルデバイス。
【請求項8】
前記プロセッサが、前記第2のユーザが前記第2のモバイルデバイスから認証に成功したことを示す結果を受信し、前記結果に基づいて前記電子授受を引き起こす、請求項1に記載のモバイルデバイス。
【請求項9】
前記プロセッサが、ショートメッセージサービス(SMS)メッセージ、マルチメディアメッセージサービス(MMS)メッセージ、またはリッチ通信サービス(RCS)メッセージとして前記第2のモバイルデバイスに前記メッセージを送信する、請求項1に記載のモバイルデバイス。
【請求項10】
モバイルデバイスであって、
入力デバイスと、
プロセッサと、
メモリとを含み、
前記メモリは、前記プロセッサによって実行されると、前記プロセッサに、
第2のモバイルデバイスから第1のデータを含み、前記モバイルデバイスに前記第1のデータを用いて第1のユーザの認証を実施させる、ユニフォームリソースロケータ(URL)を含むメッセージを受信させ、
前記入力デバイスを介して、前記URLをアクティブ化する入力を検出させ、
前記入力に応答して、サーバと通信して、前記第1のデータを用いて前記第1のユーザの前記認証を実施するアプリケーションを起動させ、
前記第1のユーザが前記サーバによって認証されたという指示を受信させ、
前記第1のデータと、前記第1のユーザが認証されたという前記指示とに基づいて、金銭の授受の実施を行わせる、
命令を含む、
モバイルデバイス。
【請求項11】
前記入力デバイスがタッチスクリーンインタフェースを備え、前記タッチスクリーンインタフェースが、ディスプレイデバイス上の前記URLの選択を検出する、
請求項10に記載のモバイルデバイス。
【請求項12】
前記URLが、選択されると、前記アプリケーションを起動するリンクを含む、
請求項11に記載のモバイルデバイス。
【請求項13】
グラフィカルユーザインタフェース(GUI)ディスプレイに前記メッセージを提示するように構成されたディスプレイデバイスを備える、
請求項10に記載のモバイルデバイス。
【請求項14】
前記プロセッサが、前記第1のデータを前記サーバに通信して、前記第1のユーザの前記認証を実施する、
請求項10に記載のモバイルデバイス。
【請求項15】
前記URLは、授受する金額の第1の識別子と、前記第1のユーザを識別する第2の識別子とをさらに含み、
前記プロセッサは、前記第1の識別子および前記第2の識別子の少なくとも一方を前記サーバに送信する、
請求項14に記載のモバイルデバイス。
【請求項16】
前記プロセッサは、前記金額および前記認証されている前記第1のユーザに基づいて、前記授受の前記実施を行わせる、
請求項15に記載のモバイルデバイス。
【請求項17】
第1のデータは、前記第1のユーザに関連付けられた暗号化された文字列を含み、
前記指示は、前記暗号化された文字列が前記第1のユーザに関連付けられた秘密鍵を用いた復号に成功したことを示す情報を含む、
請求項10に記載のモバイルデバイス。
【請求項18】
暗号化された文字列は、前記第1のユーザに関連付けられた非接触カードに記憶された秘密鍵で暗号化される、
請求項17に記載のモバイルデバイス。
【請求項19】
前記プロセッサは、ショートメッセージサービス(SMS)メッセージ、マルチメディアメッセージサービス(MMS)メッセージ、またはリッチ通信サービス(RCS)メッセージとして前記メッセージを受信する、
請求項10に記載のモバイルデバイス。
【請求項20】
第1のユーザに関連付けられた第1のモバイルデバイスのプロセッサによって、第2のモバイルデバイスの第2のユーザと金銭を授受する要求を検出し、
ディスプレイデバイス上のプロンプトによって、前記第1のユーザデバイスに関連付けられた前記第1のユーザに、前記第1のユーザデバイスに非接触カードをタップするように要求し、
前記非接触カードから、前記第1のユーザに関連付けられた秘密鍵で暗号化された第1のデータを受信し、
第2のユーザデバイスに送信するために前記第1のデータをさらに含み、前記第2のモバイルデバイスに、前記第1のデータを用いて前記第1のユーザの認証を実施させるユニフォームリソースロケータ(URL)を含むテキストメッセージを生成し、
前記第2のモバイルデバイスに前記メッセージを通信し、
前記第1のユーザが認証されたことを示す指示を、前記第2のモバイルデバイスから受信し、
前記金銭を授受するために前記第2のモバイルデバイスと情報を交換する、
ことを含む、コンピュータに実行される方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本出願は、2021年5月11日に出願された「SYSTEMS AND TECHNIQUES TO UTILIZE AN ACTIVE LINK IN A UNIFORM RESOURCE LOCATOR TO PERFORM A MONEY EXCHANGE」と題する米国特許出願第17/317,262号の優先権を主張する。前述の出願の内容は、その全体が参照により本明細書に引用される。
【背景技術】
【0002】
ユーザが他のユーザと金銭を授受することを可能にする多くの種類の電子決済システムが存在する(すなわち、ピアツーピア決済トランザクション)。理論的には、従来の電子決済システムは、ユーザ間で金銭の振替を行う便利な方法を提供する。しかしながら、従来の電子決済システムには、ユーザのフラストレーション、混乱を引き起こし、満足のいかない授受をもたらすことが多いいくつかの欠点がある。従来の電子決済システムのそのような欠点の1つは、電子決済システムが通常、送金者と受取人の両方が加入しなければならず、トランザクションを完了するためにユーザがいくつかのステップを行う必要があるスタンドアロンシステムであることである。場合によっては、送金者、受取人、またはその両方が、口座を設定し、システムを使用して別の銀行取引システムを介して決済を送る、または受け取るために機密の金融情報を提供する時間のかかるプロセスを経る必要があり得る。多くの場合、最初のトランザクション後に、ユーザがその電子決済システムを使用することはほとんどない。
【0003】
従来の電子決済システムの限られた性質はまた、不便を追加する。特に、従来の電子決済システムのスタンドアロンの性質は、通常、ユーザが決済を送る、または受け取るために、決済トランザクション専用の別個のアプリケーションを開くことを必要とする。従来の電子決済システムのスタンドアロンの性質の不便さは、そのようなシステムを使用するユーザを妨げる可能性がある。したがって、従来の電子決済システムおよび方法にはいくつかの欠点がある。
【発明の概要】
【0004】
実施形態は、ディスプレイデバイス、プロセッサ、およびメモリを含むモバイルデバイスを含むシステム、デバイス、技術、および方法を含むことができる。メモリは、プロセッサによって実行されると、プロセッサに、第1のユーザの第2のモバイルデバイスと金銭の電子授受を実施する入力を受信させ、モバイルデバイス上に非接触カードを提供する指示をディスプレイデバイスに提示させ、非接触カードから、第2のユーザの秘密鍵で暗号化された第1のデータを受信させ、第2のモバイルデバイスに送信する第1のデータを含み、第2のモバイルデバイスに、第1のデータを用いて第2のユーザの認証を実施させるユニフォームリソースロケータ(URL)を含むメッセージを生成させ、メッセージを第2のモバイルデバイスに通信させ、かつ第2のユーザの認証に基づいて、金銭の電子授受(electronic exchange of money)をさせる、命令を含む。
【0005】
実施形態はまた、入力デバイス、プロセッサ、およびメモリを含むモバイルデバイスを含むシステム、デバイス、技術、および方法を含む。メモリは、プロセッサによって実行されると、プロセッサに、第2のモバイルデバイスから第1のデータを含み、モバイルデバイスに第1のデータを用いて第1のユーザの認証を実施させるユニフォームリソースロケータ(URL)を含むメッセージを受信させ、入力デバイスを介して、URLをアクティブ化する入力を検出させ、入力に応答して、サーバと通信して、第1のデータを用いて第1のユーザの認証を実施するアプリケーションを起動させ、第1のユーザがサーバによって認証されたという指示を受信させ、第1のデータと、第1のユーザが認証されたという指示とに基づいて、金銭の授受(exchange of money)の実施をさせる、命令を含む。
【0006】
実施形態はまた、コンピュータに実行される方法を含むシステム、デバイス、技術、および方法を含み、コンピュータに実行される方法は、第1のユーザに関連付けられた第1のモバイルデバイスのプロセッサによって、第2のモバイルデバイスの第2のユーザと金銭を授受する要求を検出し、ディスプレイデバイス上のプロンプトによって、第1のユーザデバイスに関連付けられた第1のユーザに、第1のユーザデバイスに非接触カードをタップするように要求し、非接触カードから、第1のユーザに関連付けられた秘密鍵で暗号化された第1のデータを受信し、第2のユーザデバイスに送信するために第1のデータをさらに含み、第2のモバイルデバイスに、第1のデータを用いて第1のユーザの認証を実施させるユニフォームリソースロケータ(URL)を含むテキストメッセージを生成し、第2のモバイルデバイスにメッセージを通信し、第1のユーザが認証されたことを示す指示を、第2のモバイルデバイスから受信し、金銭を授受するために第2のモバイルデバイスと情報を交換することとを含む。
【図面の簡単な説明】
【0007】
【
図1】本明細書で説明する実施形態に係るシステム100の一例を示す図である。
【
図2】一実施形態に係る主題の態様を示す図である。
【
図3】本明細書で説明する実施形態に係るルーチン300を示す図である。
【
図4】本明細書で説明する実施形態に係るルーチン400を示す図である。
【
図5】実施形態に係る非接触カード500を示す図である。
【
図6】実施形態に係るトランザクションカード構成要素600を示す図である。
【
図7】実施形態に係るシーケンスフロー700を示す図である。
【
図8】実施形態に係る鍵システム800の図である。
【
図9】実施形態に係る暗号文を生成するフローチャート900の一例の図である。
【
図10】実施形態に係るフローチャート1000の一例を示す図である。
【
図11】実施形態に係る1100の一例を示す図である。
【
図12】一実施形態に係るコンピュータアーキテクチャ1200を示す図である。
【
図13】一実施形態に係る通信アーキテクチャ1300を示す図である。
【発明を実施するための形態】
【0008】
本明細書で説明する実施形態は、一般に、ユーザが安全で合理化された方法で金銭を授受することを可能にするデバイス、システム、および技術に関することができる。例えば、モバイルデバイスを使用するユーザは、モバイルデバイスを介して別のユーザに金銭を送ることができる。授受は、送金者がモバイルデバイス上に銀行取引アプリケーションと対話することによって実施することができる。具体的には、銀行取引アプリケーションは、ユーザが人または連絡先を入力し、金額を入力し、特定の人物または連絡先に金銭を送ることを可能にすることができる。送金者の銀行取引アプリケーションは、送金者を識別する情報および金額を含むメッセージを生成することができる。メッセージは、授受を開始するために受取人のモバイルデバイスに送信することができる。場合によっては、メッセージは、情報が埋め込まれたユニフォームリソースロケータ(URL)を含んでもよい。URLは、受取人のモバイルデバイス上で銀行取引アプリケーションを自動的に起動して、送金者を認証して授受を実施するために、受取人によって呼び出されてもよい。
【0009】
以下の説明でより詳細に説明するように、技術は、送金者を認証するために送金者に関連付けられた安全なデータを含む非接触カードを利用するので、以前の解決策よりも安全で合理化されている。安全なデータは、URLに埋め込まれ、メッセージ内の受取人のモバイルデバイスに送信することができる。受取人のモバイルデバイスは、送金者をローカルまたはサーバを介してリモートのいずれかで認証し、次いで認証プロセスの結果に基づいて授受の実施に進むことができる。
【0010】
さらに、授受は、送金者および受取人によって実施される動作の数を最小限にして行うことができる。例えば、送金者は、連絡先を選択または入力し、金額を入力し、モバイルデバイス上に非接触カードをタップして授受を実施することができる。受取人は、メッセージを読んでURLをアクティブ化し、金銭の授受を確認することができる。授受は、送金者のモバイルデバイス、受取人のモバイルデバイス、および銀行取引システムまたは第三者システムによって実施される動作に基づいて行われ得る。詳細は以下の説明で説明する。
【0011】
図1は、ユーザがモバイルデバイスを介して金銭を授受することを可能にすることを含む、本明細書で論じられる動作を実施するシステム100の一例を示す。図示のシステム100は、説明の目的のために限られた数の構成要素およびデバイスを含む。実施形態では、システム100は、任意の数のユーザがデバイスを介して他のユーザに金銭を送ることを可能にする任意の数のサーバ、デバイス、ネットワーキング機器などを含む。
【0012】
図1において、システム100は、モバイルデバイス102と、モバイルデバイス104と、システム106とを含み、これらはすべて、例えばインターネットなどのネットワーク108を介して結合することができる。モバイルデバイスの例は、セルラー電話、携帯情報端末、タブレットコンピュータなどを含むことができ、セルラープロトコル、無線プロトコルなどに従って通信される。一例では、モバイルデバイスは、金属またはプラスチックなどの材料で作られたハウジングを含むことができ、1つ以上のプロセッサ、メモリ、ストレージ、入力デバイス(タッチスクリーンインタフェース、ボタン、センサ、マイクロフォンなど)、出力デバイス(ディスプレイ、スピーカ、振動デバイス、ハプティクスデバイスなど)、短距離通信無線機、アンテナなどの構成要素を含むことができる。
【0013】
図示の例では、モバイルデバイス102は、ネットワーク108を介してモバイルデバイス104と通信することができ、その逆も可能である。場合によっては、モバイルデバイスは、ローカルエリアネットワーク、無線ローカルエリアネットワーク、ワイドエリアネットワークなどの他のネットワークを介して互いに通信することができる。モバイルデバイスはまた、互いの間に安全なポイントツーポイント(P2P)接続または直接接続を確立してもよい。P2Pまたは直接接続は、例えばBluetooth Low Energy(BLE)、Bluetooth、ワイヤレスフィディリティ(WiFi)、HaLow(IEEE802.11ah)、Z-wave、またはZigbeeなどのプロトコルを利用して確立することができる。
【0014】
実施形態では、モバイルデバイスは、オペレーティングシステムおよびアプリケーションまたはアプリなどのソフトウェアを含む。オペレーティングシステムは、ANDRIOD(登録商標)、IOS(登録商標)、またはWINDOWS(登録商標)などの任意の種類の動作であってもよく、モバイルデバイスのハードウェア、ソフトウェアリソースを管理し、他のアプリケーションにサービスを提供してもよい。アプリケーションは、モバイルデバイス上で動作し、ユーザにサービスおよび体験を提供するように設計されたソフトウェアアプリケーションであってもよい。アプリケーションの例には、生産性アプリケーション、例えば、Eメールアプリケーション、メッセージングアプリケーション、電話アプリケーション、連絡先データベース、カレンダーアプリケーションなどが含まれる。他のアプリケーションは、ゲームアプリケーション、地図アプリケーション、位置ベースのサービスなどを含むことができる。
【0015】
本明細書で説明する実施形態では、モバイルデバイスはまた、1つ以上の銀行口座に関連付けられた銀行取引アプリケーションを含むことができ、ユーザが互いに金銭を送る/受け取ることを可能にすることを含む、ユーザに銀行サービスを提供する。銀行取引アプリケーションはまた、追加の銀行サービス、例えば、口座管理、請求書の支払い、口座審査などを提供してもよい。高レベルでは、銀行取引アプリケーションは、1つ以上のグラフィカルユーザインタフェース(GUI)ディスプレイでユーザに情報を提示し、ユーザ入力および選択を処理し、他のアプリケーションと通信し、1つ以上のバックエンドシステム(銀行サーバ)およびサービスと通信するなどして、銀行サービスを提供することができる。
【0016】
モバイルデバイス102および104はまた、ネットワーク108を介してシステム106と結合されてもよい。システム106は、1つ以上のサーバまたはコンピューティングデバイスを含み、モバイルアプリケーションが金銭を送る/受け取る1つ以上のサービスを提供することができる。一例では、システム106は、別のユーザに金銭を送ることを要求するユーザ、または別のユーザに金銭を要求するユーザを認証する認証動作を実施する銀行取引システムであってもよい。システム106はまた、一般的な銀行サービス、口座管理、決済サービスなどの追加のサービスを提供することができる。実施形態はこのように限定されない。場合によっては、システム106は、モバイルデバイス102と104との間の金銭の授受を処理してもよい。例えば、システム106は、送金者の口座から金銭を電子的に差し引き、受取人の口座に金銭を電子的に追加することができる。場合によっては、送金者は第1の銀行取引システムに関連付けられる場合があり、受取人は第2の銀行取引システムに関連付けられる場合がある。銀行取引システムは、金銭の授受を調整するために互いにデータを送信することができる。以下の説明において、
図2は、システム100を利用して金銭の振替を実施する追加の詳細を示す。
【0017】
図2は、第1のモバイルデバイス102から第2のモバイルデバイス104に金銭を送るためにシステム100で実施され得るシーケンス
図200の一例である。
図2は1つの可能なシーケンスを示し、いくつかの実施形態では、1つ以上の動作が他の動作の前、後、および同時に行われ得ることに留意されたい。また、以下でより詳細に説明するように、ユーザは別のユーザにお金を要求することができる。
【0018】
202において、モバイルデバイス102は、ユーザが金銭を送る(または金銭を要求する)情報を入力する1つ以上のGUIディスプレイを提示することができる。具体的には、銀行取引アプリケーションまたはウェブブラウザなどの、モバイルアプリケーションを含むモバイルデバイス102は、1つ以上のGUIディスプレイを提示する。ディスプレイは、ユーザが対話し、例えば選択を行い、オプションおよびメニューをナビゲートし、動作を実施することができる。GUIディスプレイは、任意の種類の入力要素、例えば、入力フィールド、ドロップダウンメニュー、タッチベースのメニューまたはボタンなどを含むことができ、モバイルデバイス102は、入力デバイス、例えば、ボタン、スクロールホイール、タッチスクリーンインタフェースなどによって検出されたユーザ入力を処理する。図示の例では、銀行取引アプリケーションは、ユーザが連絡先および金額を入力するエリアを提示する。テキストフィールドは、自動入力、サジェスチョンなどの機能を含み、例えば、Eメールアドレス、電話番号、ユーザ名などのいくつかの形式で連絡先を受け入れてもよい。実施形態は、図示された特定のGUIディスプレイに限定されず、ディスプレイは別のフォーマットであってもよい。例えば、銀行取引アプリケーションは、モバイルデバイス102上の連絡先データベースから連絡先のリストを提供することができる。場合によっては、リストは、使用頻度、最も近い連絡先、友人対家族などの基準に基づいて順序付けられてもよい。場合によっては、モバイルアプリケーションは、2つ以上のGUIディスプレイ、例えば、連絡先を入力する第1のGUIディスプレイ(またはページ)、および金額を入力する第2のGUIディスプレイを提示することができる。上述したように、場合によっては、ユーザは別のユーザにお金を要求する場合がある。これらの例では、ユーザに同様のGUIディスプレイを提示することができるが、しかしながら、GUIディスプレイは、ユーザが金銭を送るのではなく、金銭を要求しているという指示を提供する。
【0019】
202において、ユーザは、連絡先を選択または入力し、送る(または要求する)金額を提供することができる。モバイルデバイス102は、入力を処理して、選択された連絡先に関連付けられたデバイス、例えばモバイルデバイス104を決定することができる。モバイルデバイス102は、金銭を送るまたは要求するためにユーザを認証する認証動作を実施する。図示の例では、モバイルデバイス102は、ユーザに関連付けられた非接触カードを利用して認証を実施する。
【0020】
204において、銀行取引アプリケーションを含むモバイルデバイス102は、モバイルデバイス102上にカードをタップするようにユーザに命令するGUIディスプレイを提示することができる。場合によっては、GUIディスプレイは、特定の表面、例えば、モバイルデバイス102のディスプレイまたは背面上にカードをタップするようにユーザに命令することができる。モバイルデバイス102上にカードをタップすると、モバイルデバイス102とカードとの間のデータの交換が開始される。モバイルデバイス102および非接触カード500の両方は、短距離通信プロトコルを利用して互いに通信する。例えば、非接触カードおよびモバイルデバイス102は、1回以上の近距離無線通信(NFC)交換を実施することができる。交換の一部として、非接触カード500は、ユーザを認証するために使用され得る情報およびデータを、102に送信することができる。例えば、206において、500は、500に記憶され、ユーザを一意に識別する文字列、例えば英数字の文字列を送信することができる。場合によっては、非接触カード500は、モバイルデバイス102によって実施された要求または読み取りに基づいて文字列を送信することができる。さらに、非接触カード500は、非接触カード500に記憶された秘密鍵を使用して文字列を暗号化し、暗号化された文字列として文字列をモバイルデバイス102に送信することができる。秘密鍵は、鍵ペアの一部であり、ユーザを認証するために使用され得る公開鍵に関連付けることができる。実施形態では、秘密鍵は、カードプロバイダによって生成され、カードプロバイダに関連付けられた独自の鍵であってもよい。他の例では、秘密鍵は、Europay、Mastercard、Visa(EMV)規格に従って動作を実施することに関連付けられてもよい。
【0021】
206において、モバイルデバイス102は、非接触カード500から受信した情報を処理し、選択された連絡先に関連付けられたデバイス(モバイルデバイス104)に送信するメッセージを生成することができる。実施形態では、モバイルデバイス102は、連絡先の識別子または属性、例えば、電話番号、ユーザ名、電子メール(Eメール)アドレスなどを使用して、モバイルデバイスにメッセージを送信することを決定することができる。図示の例では、モバイルデバイス102は、例えばSMS、MMS、RCSなどのテキストメッセージングプロトコルに従ってテキストメッセージを生成する。しかしながら、実施形態では、例えば電子メール、リアルタイムメッセージングなどの他のフォーマットが利用されてもよく、ユーザデータグラムプロトコル(UDP)および伝送制御プロトコル(TCP)などのプロトコルを使用してもよい。
【0022】
メッセージは、別のユーザが金銭を送りたい(または金銭を要求したい)ことを受取人に示す情報、非接触カード500から受信した情報、およびユーザ入力に基づく情報、例えば、選択された連絡先および入力された金額を含むことができる。実施形態では、メッセージはまた、アクティブリンクまたはアクティブURLを含むことができる。アクティブURLは、金銭の授受を容易にするために受取人によって使用することができる。例えば、受取人は、URLを選択またはアクティブ化することができ、これにより、受取人のデバイスのモバイルアプリケーションが起動する。アクティブURLは、例えば、モバイルデバイス104上で銀行取引アプリまたはウェブページを起動するディープリンクであってもよい。実施形態では、URLは、非接触カード500によって生成された暗号化された文字列、受取人の識別子、金額の識別子、および送金者の識別子のうちの1つ以上を含む情報に埋め込まれてもよい。URLは、1つ以上のオペレーティングシステムおよびAPIに従ったフォーマットであってもよい。例えば、メッセージは、オペレーティングシステムIOS、ANDROID、および/またはMICROSOFTの規格およびAPIに従ったフォーマットのURLを含むことができる。例示的なフォーマットは、「appam://<string> <recipient identifier> <amount identifier>」または「https://site.com/<string>/<recipient identifier>/<amount identifier>」を含むことができるが、実施形態はこのように限定されない。
【0023】
208において、モバイルデバイス102は、モバイルデバイス104、すなわち連絡先に関連付けられたデバイスにメッセージを送信することができる。メッセージは、メッセージの種類に基づいて、1つ以上の通信プロトコルに従って送信することができる。210において、モバイルデバイス104は、メッセージを受信し、ディスプレイデバイス上にメッセージを提示することができる。上述したように、メッセージは、モバイルデバイス104のユーザによって選択可能なアクティブURLを含むことができる。モバイルデバイス104は、メッセージングアプリケーションのGUIディスプレイにメッセージを提示することができる。ユーザは、メッセージと対話し、URLを選択またはクリックすることができる。モバイルデバイス104は、ユーザがURLを選択および/またはアクティブ化したことを検出し、URL内の情報に基づいてアプリケーションまたはウェブページを起動する。モバイルデバイス104は、ウェブブラウザで銀行取引アプリケーションまたはウェブページなどのアプリケーションを起動することができる。実施形態では、アプリケーションを含むモバイルデバイス104はまた、URLに埋め込まれた情報を処理する。例えば、アプリケーションは、212において、暗号化された文字列を処理し、暗号化された文字列をAPIを介してシステム106に渡して送金者を認証することができる。実施形態では、アプリケーションはまた、送金者の識別子、受取人の識別子、および金額を含む他のデータをシステム106に送信することができる。
【0024】
214において、システム106は、モバイルデバイス104から受信した情報に基づいて送金者を認証することができる。例えば、システム106は、送金者の識別子を利用して検索を実施し、データベースまたはデータストアから記憶された認証文字列を決定することができる。システム106はまた、送金者に関連付けられた公開鍵を決定し、文字列の復号を試みることができる。次いで、復号された文字列を認証文字列と比較して、それらが一致するかどうかを決定し、送金者を認証することができる。システム106が、文字列が一致すると決定した場合、送金者は認証され、一致しない場合、送金者は認証されない。
【0025】
216において、システム106は、送金者が認証されたかどうかに関する比較または指示の結果を返すことができる。指示は、結果として、認証動作を実施するAPI呼び出しに通信されてもよい。218において、モバイルデバイス104は、GUIディスプレイで指示をユーザに提示することができる。場合によっては、モバイルデバイス104は、ユーザがお金を受け入れる、または拒否する選択肢を表示することができる。モバイルデバイス104は、授受を拒否するというユーザ入力を処理して動作を停止するか、または金銭を授受する追加の動作を実施しないことができる。代替的に、モバイルデバイス104は、220において、金銭の授受を受け入れる、または進めるというユーザ入力を処理して、授受を実施する追加の動作を実施することができる。例えば、モバイルデバイス104は、送金を進めるためにモバイルデバイス102に指示または通信を提供することができる。モバイルデバイス102は、受取人およびモバイルデバイス104に関連付けられた口座に金銭を電子的に振り替える指示を、銀行サーバなどの1つ以上のバックエンドサーバに送信することができる。他の例では、アプリケーションは、金銭の振替を進める指示を銀行サーバに送信することができる。
【0026】
場合によっては、モバイルデバイス102とモバイルデバイス104との間に安全な接続を確立して、金銭を授受することができる。安全な接続は、モバイルデバイス102とモバイルデバイス104との間のP2Pローカライズされた接続であり得る。モバイルデバイス102は、金銭を電子トークンとしてモバイルデバイス104に送ることができる。モバイルデバイス104は、トークンを処理し、銀行サーバと通信して、振替の指示を提供することができる。トークンは、授受を完了するために銀行サーバによって使用され得る情報を含むことができる。情報は、送金者の識別子、受取人の識別子、金額などを含むことができる。実施形態はこのように限定されない。
【0027】
図3は、システム100によって実施され得る例示的なルーチン300を示す。具体的には、ルーチン300は、モバイルデバイスを介して別のユーザに金銭を送る(または金銭を要求する)モバイルデバイスによって実施されてもよい。
【0028】
ブロック302において、ルーチン300は、第1のユーザに関連付けられた第1のモバイルデバイスのプロセッサによって、第2のモバイルデバイスの第2のユーザと金銭を授受する要求を検出することを含む。例えば、モバイルデバイスは、ユーザがP2P授受を介して別の人物に金銭を送るまたは要求する1つ以上の選択肢を提示し得る銀行取引アプリケーションを含んでもよい。ユーザは、銀行取引アプリケーションを介して、金銭を送るか、または金銭を要求するかを選択する入力を提供することができる。ユーザはまた、授受の追加情報を提供することができる。例えば、アプリケーションは、ユーザが、金銭を送るまたは要求する連絡先または人物、および授受する金額を入力することを可能にすることができる。モバイルデバイスは、例えば、別のユーザに金銭を送るためにタッチスクリーンインタフェースを介して入力選択を受信することができる。一例では、入力選択は、モバイルデバイスに記憶された連絡先リストからの連絡先の選択を含むことができる。他の例では、ユーザは、物理キーボードまたは仮想キーボードなどのキーボードを使用してフィールドに連絡先をタイプ入力することができる。他の例では、ユーザは、電話番号、Eメールアドレス、ユーザ名などの他の識別情報を提供することができる。実施形態は、これらの例に限定されなくてもよい。
【0029】
金銭の授受を実施するために、ユーザは、第2のモバイルデバイスおよび第2のユーザに対して認証されなければならない。パスワードの提供、生体分析の実施、テキストメッセージでのコードの送信などを含む典型的な認証方法を利用することができる。しかしながら、本明細書で説明する実施形態は、非接触カードを利用することによって追加のセキュリティを提供することができる。図示のルーチン300では、第1のユーザは、第1のユーザに関連付けられた非接触カードを利用して認証される。非接触カードを使用してユーザを認証することは、ユーザがカードを所有し、非接触カードがユーザに一意のトークンまたは文字列を含むことを保証することによって、他の技術を超える利点を提供する。より詳細に説明するように、トークンまたは文字列は、第三者、例えば銀行取引システムまたは他の第三者認証システムを介してユーザを認証するために使用することができる。場合によっては、第2のユーザは、ローカル認証文字列および第1のユーザに関連付けられた公開鍵を利用して第1のユーザを認証することができる。
【0030】
非接触カードを用いて実施される認証動作は、モバイルデバイスが非接触カードと情報を交換することを含み、これは、ユーザが非接触カードをモバイルデバイスの通信範囲内(NFC通信範囲は約10cm)に持ち込むことによって開始することができる。ブロック304において、ルーチン300は、ディスプレイデバイス上のプロンプトによって、第1のモバイルデバイスに関連付けられた第1のユーザに、第1のモバイルデバイス上に非接触カードをタップするように要求することを含む。非接触カードがモバイルデバイスの十分な範囲内に入ると、デバイスとカードとの間に接続を確立することができ、モバイルデバイスはカードとデータを交換することができ、カードはモバイルデバイスとデータを交換することができる。モバイルデバイス上にカードをタップするようにユーザに命令することは、カードが通信範囲内にあることを保証する。しかしながら、他の実施形態は、非接触カードをモバイルデバイスに接近、またはその近くに持ってくるようにユーザに命令することを含んでもよく、モバイルデバイスは、カードが通信範囲内にあるときに指示、例えば、メッセージまたはアイコンの表示、LEDの点灯などを提供することができる。
【0031】
ブロック306において、ルーチン300は、非接触カードからデータを受信することを含む。データは、第1のユーザに関連付けられ、非接触カードに安全に記憶された秘密鍵、例えば、独自の秘密鍵またはEMVベースの秘密鍵で、非接触カードによって暗号化することができる。場合によっては、非接触カードは、1つ以上のNFCデータ授受フォーマット(NDEF)メッセージでモバイルデバイスにデータを送信することができる。暗号化されたデータは、やはり非接触カードに安全に記憶されたトークンまたは文字列などの、第1のユーザを識別する情報を含むことができる。モバイルデバイスは、交換が完了したときに、メッセージが第2のモバイルデバイスに送信されるべきであるという指示をユーザに提供することができる。
【0032】
実施形態では、モバイルデバイスは、金銭の授受の指示を生成し、第2のユーザに関連付けられた第2のモバイルデバイスに送信することができる。例えば、ブロック308において、ルーチン300は、授受の情報を含むテキスト、ユニフォームリソースロケータ(URL)、および非接触カードからのデータを含むテキストメッセージを生成することを含む。テキストは、送金者および金額を識別することができる。URLは、受取人によってアクティブ化されると、受取人側モバイルデバイスにアプリケーションを起動させ、非接触カードからのデータを使用して第1のユーザの認証を実施させるアクティブURLまたはディープリンクであってもよい。実施形態では、モバイルデバイスは、メッセージを生成し、メッセージおよび/またはURLにデータを埋め込むことができる。例えば、暗号化された文字列を含むデータは、パラメータとしてURLに組み込まれてもよい。したがって、URLがアクティブ化されると、暗号化された文字列が起動されたアプリケーションに渡される。場合によっては、モバイルデバイスは、送金者を識別する識別子、受取人を識別する識別子、および指定された授受する金額を含む追加情報をURLに含めることができる。識別子および指定された金額はまた、パラメータとして起動されたアプリケーションに渡されてもよく、授受を処理するためにアプリケーションによって使用されてもよい。
【0033】
ブロック310において、ルーチン300は、メッセージを第2のモバイルデバイスに送信することを含む。メッセージは、テキストメッセージであってもよく、関連付けられた電話番号に基づいて第2のモバイルデバイスに通信されてもよい。テキストメッセージは、SMS、MMS、およびRCSなどの任意の種類のメッセージングプロトコルに従って送信することができる。場合によっては、メッセージ、Eメール、チャットアプリケーションなどを送信するために他の媒体が使用されてもよい。実施形態はこのように限定されない。
【0034】
実施形態では、第2のモバイルデバイスは、メッセージを受信し、メッセージを処理することができる。例えば、第2のモバイルデバイスは、GUIディスプレイのディスプレイデバイス上に第2のユーザにメッセージを提示することができる。URLが第2のユーザによってアクティブ化されると、第2のモバイルデバイスは、第1のユーザを認証することを含む追加の動作を実施することができる。場合によっては、認証は、第2のモバイルデバイスによってローカルに実施されてもよく、他の場合には、第2のモバイルデバイスは、第1のユーザを認証するために銀行取引システムまたは他の第三者システムを利用してもよい。第2のモバイルデバイスは、認証動作の結果を決定し、その結果を第1のモバイルデバイスに提供することができる。
【0035】
ブロック312において、ルーチン300は、第1のユーザが認証されたか否かを示す指示を第2のモバイルデバイスから受信することを含む。指示は、テキストメッセージまたは他の通信媒体で第2のモバイルデバイスから受信されてもよい。指示は、認証の結果と、第2のユーザが金銭の授受を受け入れるか拒否するかに関する指示とを含むことができる。第1のユーザを認証することができないか、または第2のユーザが授受を拒否した場合、第1および第2のモバイルデバイスは、金銭を授受する動作を停止することができる。代替的に、第1のユーザが認証され、第2のユーザが授受を受け入れる場合、デバイスは、金銭を授受する動作の実施を続けることができる。ブロック314において、ルーチン300は、金銭を授受するために第2のモバイルデバイスと情報を交換することを含む。
【0036】
場合によっては、例えば、第1のモバイルデバイスと第2のモバイルデバイスとが互いにリモート、例えば、ローカライズされたP2P接続を形成することができない場合、モバイルデバイスは、銀行取引システムを介して金銭の授受を実施することができる。一例では、送金者および受取人は、同じ銀行および銀行取引システムの口座を有してもよい。それぞれのデバイス上の銀行取引アプリケーションはまた、銀行取引システムと直接通信されてもよい。この例では、第2のモバイルデバイスは、第1のユーザが認証され、第2のユーザが授受を受け入れる場合、授受が受け入れられたことを示す指示を銀行取引システムに送信することができる。指示は、第2のモバイルデバイス上の銀行取引アプリケーションから銀行取引システムへ、API通信を介して送信されてもよい。次いで、銀行取引システムは、送金者の口座から金銭を引き落とし、受取人の口座に金銭を追加することによって、トランザクションを電子的に実施することができる。場合によっては、第1のモバイルデバイスは、第1のユーザが認証され、第2のユーザが授受を承認するという指示を受信すると、金銭の授受を開始および引き起こすことができる。同様に、第1のモバイルデバイスは、授受を引き起こすために、第1のモバイル上の銀行取引アプリケーションを介して銀行取引システムと通信することができる。次いで、銀行取引システムは、上述のように授受を実施することができ、例えば、送金者の口座から金銭を電子的に引き落とし、受取人の口座に金銭を追加することができる。
【0037】
実施形態では、第1および第2のユーザは、異なる銀行取引システムを有する異なる銀行を利用することができ、銀行取引システムは、互いに通信して金銭の授受を実施することができる。例えば、第1のユーザは、第1のユーザの銀行取引システムを識別する識別子を第2のモバイルデバイスに提供することができる。授受が承認されると、第2のモバイルデバイスは、第2のユーザに関連付けられた銀行取引システムに情報を送信することができる。次いで、第2のユーザの銀行取引システムは、授受を実施するために第1のユーザの銀行取引システムと通信することができる。他の例では、第2のモバイルデバイスは、第2のユーザの銀行取引システムを識別する情報を、第1のモバイルデバイスに送信することができ、第1のモバイルデバイスは、第1のユーザの銀行取引システムと通信することによって授受を開始することができる。
【0038】
いくつかの実施形態では、銀行取引アプリケーションは、第三者銀行取引アプリケーション、例えば、銀行取引システムによって直接操作されないアプリケーションであってもよい。第三者銀行取引アプリケーションは、第三者銀行取引アプリケーションと共に動作する1つ以上の銀行口座を有することを含めて、各モバイルデバイスとすることができる。授受が承認されると、送金者および受取人のデバイスのそれぞれの第三者アプリケーションは、授受を実施するためにそれぞれの銀行と通信することができる。場合によっては、第三者システムを含む第三者アプリケーションは、送金者の銀行取引システムと通信して、送金者の口座から金銭を引き落とすことができる。第三者システムは、料金または利子を獲得するために一定期間にわたって金銭を保持し、次いで金銭を受取人の口座に送ることができる。実施形態はこのように限定されない。
【0039】
実施形態では、第1および第2のモバイルデバイスは、安全なP2P接続を介してデータを通信して金銭を授受することができる。例えば、第1のユーザが認証され、第2のユーザが授受を承認したことに応じて、第2のモバイルデバイスは、第1のモバイルデバイスと通信して、P2P接続を確立することができる。接続は、BLE、Bluetooth、ZigBee、Wi-Fiなどの特定のP2Pプロトコルに従って確立することができる。接続が確立されると、第1および/または第2のモバイルデバイスは、メッセージを送信することによって金銭の授受を開始することができる。例えば、第2のモバイルデバイスは、第1のモバイルデバイスに金銭を授受するデータまたはトークンの要求を送信することができる。第1のモバイルデバイスは、授受する金額の指示を有するトークンまたは安全な情報を含み得るデータを、第2のモバイルデバイスに送信することができる。第2のモバイルデバイスは、第1のユーザおよび第2のユーザの銀行口座間の授受を実施するために銀行取引システムと通信することができる。場合によっては、データはまた、送金者の識別子、受取人の識別子、送金者の銀行口座情報などを含んでもよい。データは安全に送信され、暗号化することができる。
【0040】
図4は、システム100によって実施され得る例示的なルーチン400を示す。具体的には、ルーチン400は、別のモバイルデバイスから通信を受信するモバイルデバイスによって実施されてもよく、通信は、別のユーザが金銭を送ること(または要求すること)を希望していることを示す。
【0041】
ブロック402において、ルーチン400は、第1のユーザに関連付けられた第1のモバイルデバイスによって、ユーザが金銭を送りたい(または金銭を要求したい)ことを示すテキストを含むメッセージと、ユニフォームリソースロケータ(URL)を含むデータを受信することを含む。テキストは、メッセージの送金者および金額を識別することができる。実施形態では、メッセージは、SMS、MMS、RCS、または別のプロトコルなどの通信プロトコルを介して、第2のユーザに関連付けられた第2のモバイルデバイスから受信することができる。
【0042】
実施形態では、URLは、受取人によってアクティブ化されると、第2のモバイルデバイスにアプリケーションを起動させ、第1のモバイルデバイスから受信したデータおよび非接触カードを使用して第2のユーザの認証を実施させるアクティブURLまたはディープリンクであってもよい。実施形態では、データはトークンまたは暗号化された文字列を含み、URLに埋め込まれてもよい。データは、第2のユーザの認証を実施するためにアプリケーションによって使用され得るパラメータとして、起動時にアプリケーションに渡されてもよい。第1および第2のユーザの識別子および授受する金額などの他の情報もURLに埋め込むことができる。
【0043】
ブロック404において、ルーチン400は、第1のモバイルデバイスによって、URLをアクティブ化する入力を検出することを含む。例えば、第1のモバイルデバイスは、タッチスクリーンインタフェースなどの入力デバイスを含むことができ、ユーザは、URLを選択または「クリック」することができる。実施形態はこの例に限定されず、入力は、例えばボタン、マイクロフォン(音声命令)などの別の入力デバイスを介して提供されてもよい。
【0044】
ブロック406において、ルーチン400は、第1のモバイルデバイスによって、入力に応答してアプリケーションを起動することを含み、アプリケーションは、データを用いて第2のユーザの認証を実施するためにサーバと通信する。上述したように、URLは、あるロケーションを指し示すことができる、またはアプリケーションを起動するためにオペレーティングシステムによって処理される命令を提供するディープリンクであってもよい。例えば、URLは、起動する特定のアプリケーションを示したり、ウェブブラウザで起動するウェブサイトを指し示したりすることができる。場合によっては、URLは、アプリケーションを起動する指示を含むか、またはランディングスポットまたはロケーションを指定することができる。したがって、アプリケーションまたはウェブブラウザは、金銭の授受の情報、例えば、送金者/要求者の名前、連絡先情報、金額などを表示するGUIディスプレイを開くことができる。実施形態では、URLは、トークンまたは暗号化された文字列などのデータ、送金者を識別する識別子、受取人を識別する識別子、およびアプリケーションが起動されたときにパラメータとしてアプリケーションに渡され得る金額の指示を含むことができる。
【0045】
実施形態では、起動されたアプリケーションを含む第1のモバイルデバイスは、URLがアクティブ化されたときに第2のユーザを認証する認証動作を開始することができる。具体的には、起動されたアプリケーションは、ユーザを認証するために、URLに埋め込まれた情報、例えばトークンまたは暗号化された文字列を利用することができる。場合によっては、アプリケーションは、暗号化された文字列を復号し、復号された文字列を認証された文字列と比較することによって、ローカルに認証動作を実施してもよい。場合によっては、第1のモバイルデバイスは、安全な通信で銀行取引システムから認証された文字列を最初に取得してもよい。
【0046】
図示の例では、アプリケーションを含む第2のモバイルデバイスは、認証動作を実施するために、暗号化された文字列を銀行取引システムまたは第三者システムのサーバに送信することができる。アプリケーションは、暗号化された文字列を含むデータを、API通信を介してサーバに送信することができる。サーバは、第2のユーザに関連付けられた公開鍵に基づいて暗号化された文字列を復号し、復号された文字列を銀行取引システムに記憶された認証文字列と比較することができる。文字列が一致する場合、第2のユーザを認証することができ、逆もまた同様である。
【0047】
ブロック408において、ルーチン400は、第1のモバイルデバイスによって、第2のユーザがサーバによって認証されたか否かの指示を受信することを含む。指示は、API通信に応答してアプリケーションに返されてもよい。場合によっては、GUIディスプレイは、第2のユーザを認証するために認証動作が実施されているという指示を表示し、認証動作の結果が決定されるとその結果を表示することができる。ユーザを認証することができない場合、金銭を授受する動作は中止することができる。ユーザが認証された場合、アプリケーションは、金銭の授受を進めたいことに対する確認を第1のユーザに要求することができる。
【0048】
第2のユーザが認証され、第1のユーザがトランザクションを確認したことに応答して、ブロック410において、ルーチン400は、第1のモバイルデバイスによって、金銭の授受を実施することを含む。
図3で上述したように、第1のモバイルデバイスは、金銭の授受を実施するために1つ以上の銀行取引システムと通信することができる。他の例では、第1のモバイルデバイスは、認証が成功し、第1のユーザが授受を承認したという指示を第2のモバイルデバイス(送金者のデバイス)に送信することができる。第2のモバイルデバイスは、授受を実施するために1つ以上の銀行取引システムと通信することができる。さらに別の例では、第1および第2のモバイルデバイス間でP2P接続を確立することができ、デバイス間でデータを交換して、授受を実施することができる。
【0049】
図5は、非接触カード500の例示的な構成を示し、非接触カード500は、非接触カード500の前面または背面にサービスプロバイダ証印502として表示されるように、サービスプロバイダによって発行された、非接触カード、クレジットカード、デビットカード、またはギフトカードなどのペイメントカードを含むことができる。いくつかの例では、非接触カード500は、ペイメントカードに関連せず、限定はしないが、身分証明書を含むことができる。いくつかの例では、トランザクションカードは、デュアルインタフェース非接触ペイメントカード、報酬カードなどを含むことができる。非接触カード500は、プラスチック、金属、および他の材料で構成された単層または1つ以上の積層を含み得る基板508を含むことができる。例示的な基板材料としては、ポリ塩化ビニル、ポリ塩化ビニルアセテート、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、炭素、紙、および生分解性材料が挙げられる。いくつかの例では、非接触カード500は、ISO/IEC7816規格のID-1フォーマットに準拠した物理的特性を有してもよく、そうでなければ、トランザクションカードは、ISO/IEC14443規格に準拠してもよい。しかしながら、本開示に係る非接触カード500は、異なる特性を有してもよく、本開示は、ペイメントカードにトランザクションカードを実装することを必要としないことが理解される。
【0050】
非接触カード500はまた、カードの前面および/または背面に表示される識別情報506と、接触パッド504とを含むことができる。接触パッド504は、1つ以上のパッドを含んでもよく、トランザクションカードを介してATM、ユーザデバイス、スマートフォン、ラップトップ、デスクトップ、またはタブレットコンピュータなどの別のクライアントデバイスとの接触を確立することができる。接触パッドは、ISO/IEC7816規格などの1つ以上の規格に従って設計され、EMVプロトコルに従って通信を可能にすることができる。非接触カード500はまた、
図6でさらに説明するように、処理回路、アンテナ、および他の構成要素を含むことができる。これらの構成要素は、接触パッド504の背後または基板508上の他の場所、例えば基板508の異なる層内に配置されてもよく、接触パッド504と電気的および物理的に結合されてもよい。非接触カード500はまた、カードの背面に配置され得る磁気ストリップまたはテープを含んでもよい(
図5には示されていない)。非接触カード500はまた、NFCプロトコルを介して通信することができるアンテナに結合された近距離無線通信(NFC)デバイスを含むことができる。実施形態はこのように限定されない。
【0051】
図5に示すように、非接触カード500の接触パッド504は、プロセッサ602、メモリ604、および1つ以上のインタフェース606を含む、情報を記憶、処理、および通信する処理回路616を含むことができる。処理回路616は、本明細書に記載の機能を実施するために必要に応じて、プロセッサ、メモリ、エラーおよびパリティ/CRCチェック部、データエンコーダ、アンチコリジョンアルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、および改ざん防止ハードウェアを含む追加の構成要素を含み得ることが理解される。
【0052】
メモリ604は、リードオンリーメモリ、ライトワンスリードメニー(read-multiple)メモリ、またはリード/ライトメモリ、例えばRAM、ROM、およびEEPROMであってもよく、非接触カード500は、これらのメモリのうちの1つ以上を含んでもよい。リードオンリーメモリは、読み取り専用またはワンタイムプログラマブルとして工場でプログラム可能であってもよい。ワンタイムプログラマブルは、1回書き込んだ後に何度も読み取る機会を提供する。ライトワンス/リードメニー(read-multiple)メモリは、メモリチップが工場を出荷された後の時点でプログラムすることができる。メモリがプログラムされると、メモリは書き換えることができないが、何度も読み取ることができる。リード/ライトメモリは、工場出荷後に何度もプログラムおよび再プログラムすることができる。リード/ライトメモリはまた、工場出荷後に何度も読み取ることができる。場合によっては、メモリ604は、暗号化データに対してプロセッサ602によって実行される暗号化アルゴリズムを利用する暗号化メモリであってもよい。
【0053】
メモリ604は、1つ以上のアプレット608、1つ以上のカウンタ610、トークンまたは文字列などの顧客識別子614、および仮想口座番号であり得る口座番号612を記憶することができる。1つ以上のアプレット608は、Java(登録商標)カードアプレットなどの1つ以上の非接触カード上で実行する1つ以上のソフトウェアアプリケーションを含むことができる。しかしながら、アプレット608は、Javaカードアプレットに限定されず、代わりに、非接触カードまたは限られたメモリを有する他のデバイス上で動作可能な任意のソフトウェアアプリケーションであってもよいことが理解される。1つ以上のカウンタ610は、整数を記憶するのに十分な数値カウンタを含むことができる。顧客識別子614は、非接触カード500のユーザに割り当てられた一意の英数字識別子、トークン、または文字列を含むことができ、識別子は、非接触カードのユーザを他の非接触カードユーザから区別することができる。いくつかの例では、顧客識別子614は、顧客とその顧客に割り当てられた口座の両方を識別することができ、顧客の口座に関連付けられた非接触カード500をさらに識別することができる。場合によっては、メモリ604は、顧客識別子614と、顧客を識別するために使用され得る1つ以上のトークンまたは追加の文字列とを含むことができる。上述したように、口座番号612は、非接触カード500に関連付けられた数千の使い捨て仮想口座番号を含むことができる。非接触カード500のアプレット608は、口座番号612を管理する(例えば、口座番号612を選択し、選択された口座番号612を使用済みとしてマークし、自動入力サービスによる自動入力のために口座番号612をモバイルデバイスに送信する)ことができる。
【0054】
前述の例示的な実施形態のプロセッサ602およびメモリ要素は、接触パッド504を参照して説明されているが、本開示はこれに限定されない。これらの要素は、接触パッド504の外部に実装されてもよく、もしくは接触パッド504から完全に分離されてもよく、または接触パッド内に配置されたプロセッサ602およびメモリ604要素に加えてさらなる要素として実装されてもよいことが理解される。
【0055】
いくつかの例では、非接触カード500は、1つ以上のアンテナ618を備えることができる。1つ以上のアンテナ618は、非接触カード500内で接触パッド504の処理回路616の周囲に載置されてもよい。例えば、1つ以上のアンテナ618は処理回路616と一体であってもよく、1つ以上のアンテナ618は外部ブースターコイルと共に使用されてもよい。別の例として、1つ以上のアンテナ618は、接触パッド504および処理回路616の外部にあってもよい。
【0056】
一実施形態では、非接触カード500のコイルは、空芯変圧器の二次として機能することができる。端末は、切断電力(cutting power)または振幅変調によって非接触カード500と通信することができる。非接触カード101は、非接触カードの電力接続のギャップを使用して端末から送信されたデータを推測することができ、これは、1つ以上のコンデンサを介して機能的に維持することができる。非接触カード500は、非接触カードのコイルの負荷を切り替えること、または負荷変調によって、通信を返すことができる。負荷変調は、干渉によって端末のコイルで検出することができる。より一般的には、アンテナ618、プロセッサ602、および/またはメモリ604を使用して、非接触カード101は、NFC、Bluetooth、および/またはWi-Fi通信を介して通信する通信インタフェースを提供する。
【0057】
上述したように、非接触カード500は、スマートカード、またはJavaCardなどの限られたメモリを有する他のデバイス上で動作可能なソフトウェアプラットフォーム上に構築することができ、1つ以上のアプリケーションまたはアプレットを安全に実行することができる。様々なモバイルアプリケーションベースのユースケースにおける多要素認証(MFA)のワンタイムパスワード(OTP)を提供するために、非接触カードにアプレット608を追加することができる。アプレット608は、モバイルNFCリーダ(例えば、モバイルデバイスまたは販売時点情報管理端末(point-of-sale terminal))などのリーダからの近距離無線データ交換要求などの1つ以上の要求に応答し、NDEFテキストタグとして符号化された暗号的に安全なOTPを含むNDEFメッセージを生成することができる。
【0058】
NDEF OTPの一例は、NDEFショートレコードレイアウト(SR=1)である。そのような例では、1つ以上のアプレット608は、OTPをNDEFタイプ4の周知の種類のテキストタグとして符号化することができる。いくつかの例では、NDEFメッセージは、1つ以上のレコードを含んでもよい。アプレット608は、OTPレコードに加えて、1つ以上の静的タグレコードを追加することができる。
【0059】
いくつかの例では、1つ以上のアプレット608は、RFIDタグをエミュレートすることができる。RFIDタグは、1つ以上の多形タグを含むことができる。いくつかの例では、タグが読み取られるたびに、非接触カードの信頼性を示すことができる異なる暗号化データが提示される。1つ以上のアプレット608に基づいて、タグのNFC読み取りを処理することができ、データを銀行取引システムのサーバなどのサーバに送信することができ、データをサーバで検証することができる。
【0060】
いくつかの例では、非接触カード500およびサーバは、カードが適切に識別され得るように特定のデータを含むことができる。非接触カード500は、例えばトークンまたは文字列(図示せず)などの、1つ以上の一意の識別子を含むことができる。読み取り動作が行われるたびに、カウンタ610はインクリメントを行うことができる。いくつかの例では、非接触カード500からのデータが(例えば、モバイルデバイスによって)読み取られるたびに、カウンタ610は、検証のためにサーバに送信され、カウンタ610がサーバのカウンタと等しいかどうかを(検証の一部として)決定する。
【0061】
1つ以上のカウンタ610は、リプレイ攻撃を防止することができる。例えば、暗号文が取得されてリプレイされた場合、その暗号文は、カウンタ610が読み取られたか、使用されたか、そうでなければ渡された場合に直ちに拒否される。カウンタ610が使用されていない場合、リプレイすることができる。いくつかの例では、カード上でインクリメントが行われるカウンタは、トランザクションのためにインクリメントが行われるカウンタとは異なる。非接触カード101は、非接触カード500上のアプレット608間に通信がないため、アプリケーショントランザクションカウンタ610を決定することができない。
【0062】
いくつかの例では、カウンタ610は同期しなくてもよい。いくつかの例では、ある角度での読み取りなど、トランザクションを開始する偶発的な読み取りを考慮するために、カウンタ610はインクリメントが可能であるが、アプリケーションはカウンタ610を処理しない。いくつかの例では、モバイルデバイス10がウェイクアップされるとNFCが有効にされてもよく、デバイス110は利用可能なタグを読み取ってもよいが、読み取りに応答してアクションは実行されない。
【0063】
カウンタ610を同期したままにするために、モバイルデバイス110がウェイクアップしたときを検出し、検出に起因して発生したリードを示す銀行取引システムのサーバと同期して、その後カウンタ610を加算方向(forward)に動かし得る、バックグラウンドアプリケーションなどのアプリケーションを実行することができる。他の例では、誤同期のウィンドウが受け入れられ得るように、ハッシュ化ワンタイムパスワードが利用されてもよい。例えば、10の閾値内である場合、カウンタ610は、加算方向に動き得る。しかし、異なる閾値内、例えば10または1200内の場合、再同期を実施する要求が処理されてもよく、これは、ユーザのデバイスを介してユーザがタップ、ジェスチャ、または他の方法で1回以上指示する1つ以上のアプリケーションを介して要求する。カウンタ610が適切なシーケンスで増加する場合、ユーザはそのことを知ることができる。
【0064】
カウンタ610、マスタ鍵、および多様化された鍵を参照して本明細書で説明される鍵多様化技術は、鍵多様化技術の暗号化および/または復号の一例である。この例示的な鍵多様化技術は、本開示が他の種類の鍵多様化技術にも等しく適用可能であるため、本開示を限定するものとみなすべきではない。
【0065】
非接触カード500の作成プロセス中に、カードごとに2つの暗号鍵を一意に割り当てることができる。暗号鍵は、データの暗号化および復号の両方で使用され得る対称鍵を含むことができる。トリプルDES(3DES)アルゴリズムは、EMVにより使用することができ、非接触カード500内のハードウェアによって実装される。鍵多様化プロセスを使用することによって、鍵を必要とする各エンティティの一意に識別可能な情報に基づいて、マスタ鍵から1つ以上の鍵を導出することができる。
【0066】
いくつかの例では、脆弱性の影響を受けやすい3DESアルゴリズムの欠点を克服するために、セッション鍵(セッションごとの一意の鍵など)を導出することができるが、マスタ鍵を使用するのではなく、一意のカード導出鍵およびカウンタを多様化データとして使用することができる。例えば、非接触カード101が動作中に使用されるたびに、メッセージ認証コード(MAC)の作成および暗号化の実施に異なる鍵が使用されてもよい。これにより、暗号の三重層が得られる。セッション鍵は、1つ以上のアプレットによって生成され、(EMV 4.3 Book 2 A1.3.1 Common Session Key Derivationに定義されているように)1つ以上のアルゴリズムを有するアプリケーショントランザクションカウンタを使用することによって導出することができる。
【0067】
さらに、各カードのインクリメントは一意であってもよく、パーソナライズによって割り当てられてもよく、または何らかの識別情報によってアルゴリズム的に割り当てられてもよい。例えば、奇数番号のカードは2ずつインクリメントを行ってもよく、偶数番号のカードは5ずつインクリメントを行ってもよい。いくつかの例において、インクリメントはまた、1つのカードが1、3、5、2、2、…を繰り返すことによって順にインクリメントが行われ得るように、一連のリードで変動してもよい。特定のシーケンスまたはアルゴリズムシーケンスは、パーソナライズ時に、または一意の識別子から導出された1つ以上のプロセスから定義することができる。これにより、リプレイ攻撃者が少数のカードインスタンスから一般化することをより困難にすることができる。
【0068】
認証メッセージは、16進ASCIIフォーマットのテキストNDEFレコードのコンテンツとして配信することができる。別の例では、NDEFレコードは16進形式で符号化されてもよい。
【0069】
図7は、本開示の1つ以上の実施形態に係る、データの交換を提供する例示的なシーケンスを示すタイミング図である。シーケンスフロー700は、非接触カード500と、アプリケーション702およびプロセッサ704を含み得るモバイルデバイスとを含み得る。
【0070】
ライン708において、アプリケーション702は、(例えば、非接触カード500の近くに持ってきた後に)非接触カード500と通信する。アプリケーション702と非接触カード500との間の通信は、アプリケーション702と非接触カード500との間のNFCデータ転送を可能にするために、非接触カード500がモバイルデバイスのカードリーダ(図示せず)に十分に近いことを伴うことができる。
【0071】
ライン706において、モバイルデバイスと非接触カード500との間に通信が確立された後、非接触カード500は、メッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは、非接触カード500がアプリケーション702によって読み取られるときに起こり得る。特に、これは、NFCデータ交換フォーマットに従って作成され得る近距離無線データ交換(NDEF)タグのNFC読み取りなどの読み取り時に行われ得る。例えば、アプリケーション702などのリーダアプリケーションは、NDEF生成アプレットのアプレットIDを用いて、アプレット選択メッセージなどのメッセージを送信することができる。選択を確認すると、一連の選択ファイルメッセージとそれに続く読み取りファイルメッセージを送信することができる。例えば、シーケンスは、「ケーパビリティファイルを選択する」、「ケーパビリティファイルを読み込む」、および「NDEFファイルを選択する」を含むことができる。この時点で、非接触カード500によって維持されるカウンタ値は、更新またはインクリメントを行ってもよく、その後に「NDEFファイルを読み取る」が続くことができる。この時点で、ヘッダと、トークンまたは文字列などの共有秘密とを含み得るメッセージを生成することができる。その後、セッション鍵を生成することができる。MAC暗号文は、ヘッダおよび共有秘密を含み得るメッセージから作成することができる。MAC暗号文はその後、ランダムデータの1つ以上のブロックと連結することができ、MAC暗号文および乱数(RND)はセッション鍵で暗号化することができる。その後、暗号文とヘッダとを連結し、ASCII hexとして符号化し、(「NDEFファイルを読み取る」メッセージに応答して)NDEFメッセージフォーマットで返すことができる。
【0072】
いくつかの例では、MAC暗号文は、NDEFタグとして送信されてもよく、他の例では、MAC暗号文は、ユニフォームリソースインジケータ(例えば、フォーマットされた文字列として)と共に含まれてもよい。いくつかの例では、アプリケーション702は、非接触カード500に要求を送信してもよく、要求は、MAC暗号文を生成する命令を含む。
【0073】
ライン710において、非接触カード500は、MAC暗号文をアプリケーション702に送信する。いくつかの例では、MAC暗号文の送信はNFCを介して行われるが、本開示はこれに限定されない。他の例では、この通信は、Bluetooth、Wi-Fi、または他の無線データ通信手段を介して行われてもよい。ライン712において、アプリケーション702はMAC暗号文をプロセッサ704に送信する。
【0074】
ライン714において、プロセッサ704は、アプリケーション122からの命令に従ってMAC暗号文を検証する。例えば、以下に説明するように、MAC暗号文を検証することができる。いくつかの例では、MAC暗号文の検証は、モバイルデバイスとデータ通信する銀行取引システムのサーバなど、モバイルデバイス以外のデバイスによって実施されてもよい。例えば、プロセッサ704は、MAC暗号文を検証し得る銀行取引システムのサーバに送信するために、MAC暗号文を出力することができる。いくつかの例では、MAC暗号文は、検証のデジタル署名として機能することができる。この検証を実施するために、公開鍵非対称アルゴリズムなどの他のデジタル署名アルゴリズム、例えばデジタル署名アルゴリズムおよびRSAアルゴリズム、またはゼロ知識プロトコルを使用することができる。
【0075】
図8は、本開示の1つ以上の実施形態を実行システム800の図を示す。以下に説明するように、非接触カード作成プロセス中に、2つの暗号鍵をカードごとに一意に割り当てることができる。暗号鍵は、データの暗号化および復号の両方で使用され得る対称鍵を含むことができる。トリプルDES(3DES)アルゴリズムは、EMVにより使用することができ、非接触カード内のハードウェアによって実行される。鍵多様化プロセスを使用することにより、鍵を必要とする各エンティティの一意に識別可能な情報に基づいて、マスタ鍵から1つ以上の鍵を導出することができる。
【0076】
マスタ鍵管理に関しては、1つ以上のアプレットが発行されるポートフォリオの部分ごとに2つの発行者マスタ鍵802、826が必要とされる場合がある。例えば、第1のマスタ鍵802は発行者暗号文生成/認証鍵(Iss-Key-Auth)を含んでもよく、第2のマスタ鍵826は発行者データ暗号鍵(Iss-Key-DEK)を含んでもよい。本明細書でさらに説明するように、2つの発行者マスタ鍵802、826は、カードごとに一意のカードマスタ鍵808、820に多様化される。いくつかの例では、バックオフィスデータとしてのネットワークプロファイルレコードID(pNPR)522および導出鍵インデックス(pDKI)824を使用して、認証の暗号化プロセスでどの発行者マスタ鍵802、826を使用するかを識別することができる。認証を実施するシステムは、認証時に非接触カードのpNPR822およびpDKI824の値を取得してもよい。
【0077】
いくつかの例では、解決策のセキュリティを高めるために、セッション鍵(セッションごとの一意の鍵など)を導出することができるが、上述したように、マスタ鍵を使用するのではなく、一意のカード導出鍵およびカウンタを多様化データとして使用することができる。例えば、カードが動作中に使用されるたびに、メッセージ認証コード(MAC)の作成および暗号化の実施に異なる鍵を使用することができる。セッション鍵生成に関して、暗号文を生成し、1つ以上のアプレット内のデータを暗号化するために使用される鍵は、カード固有鍵(Card-Key-Auth808およびCard-Key-Dek820)に基づくセッション鍵を含むことができる。セッション鍵(Aut-Session-Key832およびDEK-Session-Key810)は、1つ以上のアプレットによって生成され、1つ以上のアルゴリズムでアプリケーショントランザクションカウンタ(pATC)804を使用することによって導出することができる。データを1つ以上のアルゴリズムに適合させるために、4バイトのpATC804の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はカード固有の導出マスタ鍵を含むことができる。
【0078】
本明細書で説明されるように、pATC804カウンタの下位2バイトを使用して、1つ以上のMACセッション鍵を導出することができる。非接触カードの各タップにおいて、pATC804は更新され、カードマスタ鍵Card-Key-AUTH704およびCard-Key-DEK820は、セッション鍵Aut-Session-Key832およびDEK-Session-KEY810にさらに多様化される。pATC804は、パーソナライズまたはアプレット初期化時に0に初期化されてもよい。いくつかの例では、pATCカウンタ804は、パーソナライズ時またはパーソナライズ前に初期化されてもよく、各NDEF読み取り時に1ずつインクリメントしてもよい。
【0079】
さらに、各カードの更新は、一意であってもよく、パーソナライズによって割り当てられてもよく、またはpUIDもしくは他の識別情報によってアルゴリズム的に割り当てられてもよい。例えば、奇数番号のカードは2ずつインクリメントまたはデクリメントが行われてもよく、偶数番号のカードは5ずつインクリメントまたはデクリメントが行われてもよい。いくつかの例において、更新はまた、1つのカードが1、3、5、2、2、…を繰り返すことによって順にインクリメントが行われ得るように、一連のリードで変動してもよい。特定のシーケンスまたはアルゴリズムシーケンスは、パーソナライズ時に、または一意の識別子から導出された1つ以上のプロセスから定義することができる。これにより、リプレイ攻撃者が少数のカードインスタンスから一般化することをより困難にすることができる。
【0080】
認証メッセージは、16進ASCIIフォーマットのテキストNDEFレコードのコンテンツとして配信することができる。いくつかの例では、認証データ、および認証データのMACが続く8バイトの乱数のみが含まれてもよい。いくつかの例では、乱数は暗号文Aの前にあってもよく、1ブロック長であってもよい。他の例では、乱数の長さに制限はなくてもよい。さらなる例では、総データ(すなわち、乱数に暗号文を加えたもの)はブロックサイズの倍数であってもよい。これらの例では、MACアルゴリズムによって生成されたブロックと一致するように追加の8バイトブロックを追加してもよい。別の例として、使用されるアルゴリズムが16バイトのブロックを使用した場合、そのブロックサイズの偶数倍が使用されてもよく、または出力をそのブロックサイズの倍数に自動的にもしくは手動でパディングしてもよい。
【0081】
MACは、ファンクション鍵(AUT-Session-Key)832によって実施されてもよい。暗号文で指定されたデータは、javacard.signature方法:ALG_DES_MAC8_ISO9797_1_M2_ALG3で処理されて、EMV ARQC検証方法と相関させることができる。この計算に使用される鍵は、先に説明したように、セッション鍵AUT-Session-Key832を含んでもよい。上述したように、カウンタの下位2バイトを使用して、1つ以上のMACセッション鍵を多様化することができる。以下に説明するように、AUT-Session-Key832はMACデータ806に使用することができ、結果として得られるデータまたは暗号文An814および乱数RNDはDEK-Session-Key810を使用して暗号化して、メッセージで送信される暗号文Bまたは出力818を作成することができる。
【0082】
いくつかの例では、最後の16(バイナリ、32hex)バイトが、ゼロIVの乱数とそれに続くMAC認証データとを伴うCBCモードを用いる3DES対称暗号化を含み得るように、1つ以上のHSMコマンドを復号のために処理することができる。この暗号化に使用される鍵は、Card-Key-DEK820から導出されたセッション鍵DEK-Session-Key810を含んでもよい。この場合、セッション鍵導出のためのATC値は、カウンタpATC804の最下位バイトである。
【0083】
以下のフォーマットは、バイナリバージョンの例示的な実施形態を表す。さらに、いくつかの例では、先頭バイトはASCII「A」に設定することができる。
【表1】
【0084】
別の例示的なフォーマットを以下に示す。この例では、タグは16進形式で符号化することができる。
【表2】
【0085】
受信したメッセージのUIDフィールドを抽出して、マスタ鍵Iss-Key-AUTH500およびIss-Key-DEK826から、その特定のカードのカードマスタ鍵(Card-Key-Auth808およびCard-Key-DEK820)を導出することができる。カードマスタ鍵(Card-Key-Auth704およびCard-Key-DEK820)を使用して、受信したメッセージのカウンタ(pATC)フィールドを使用して、その特定のカードのセッション鍵(Aut-Session-Key832およびDEK-Session-Key810)を導出することができる。暗号文B818は、DEK-Session-KEYを使用して復号して、暗号文An814およびRNDを生成することができ、RNDは破棄されてもよい。UIDフィールドは非接触カードの共有秘密を検索するために使用することができ、共有秘密は、メッセージのVer、UID、およびpATCフィールドと共に、MAC’などのMAC出力を作成するために再作成されたAut-Session-Keyを使用して暗号化MACを介して処理され得る。MAC’が暗号文An814と同じである場合、これはメッセージ復号およびMACチェックがすべて合格であることを示す。次いで、pATCを読み取って、それが有効であるかどうかを決定することができる。
【0086】
認証セッション中に、1つ以上のアプリケーションによって1つ以上の暗号文を生成することができる。例えば、1つ以上の暗号文は、ISO9797-1のアルゴリズム3を、方法2のパディングと共に使用して、Aut-Session-Key832などの1つ以上のセッション鍵を介して3DES MACとして生成することができる。入力データ806は、以下の形式をとることができる:バージョン(2)、pUID(8)、pATC(4)、共有秘密(4)。いくつかの例では、括弧内の数字はバイト単位の長さを含むことができる。いくつかの例では、共有秘密は、1つ以上の安全なプロセスを介して、乱数が予測不可能であることを保証し得る1つ以上の乱数生成器によって生成することができる。いくつかの例では、共有秘密は、パーソナライズ時間にカードに注入されるランダムな4バイトの2進数を含むことができ、これは認証サービスに知られている。認証セッション中、共有秘密は、1つ以上のアプレットからモバイルアプリケーションに提供されなくてもよい。方法2のパディングは、入力データの最後に必須の0x’80’バイトを追加することと、8バイト境界まで結果データの最後に追加され得る0x’00’バイトを追加することとを含むことができる。結果として得られる暗号文は、長さが8バイトであってもよい。
【0087】
いくつかの例では、共有されていない乱数をMAC暗号文を用いて第1のブロックとして暗号化する利点の1つは、対称暗号化アルゴリズムのCBC(ブロック連鎖)モードを使用しながら初期化ベクトルとして機能することである。これにより、固定IVまたは動的IVのいずれかを事前に確立する必要なしに、ブロック間の「スクランブル」が可能になる。
【0088】
MAC暗号文に含まれるデータの一部にアプリケーショントランザクションカウンタ(pATC)を含めることによって、認証サービスは、クリアデータで搬送された値が改ざんされているかどうかを決定することができる。さらに、1つ以上の暗号文にバージョンを含めることにより、暗号ソリューションの強度を低下させようとして攻撃者がアプリケーションバージョンを意図的に偽ることが困難になる。いくつかの例では、pATCは0から開始し、1つ以上のアプリケーションが認証データを生成するたびに1ずつ更新され得る。認証サービスは、認証セッション中に使用されるpATCを追跡することができる。いくつかの例では、認証データが認証サービスによって受信された以前の値以下のpATCを使用する場合、これは古いメッセージをリプレイしようとするものと解釈され、認証は拒否することができる。いくつかの例では、pATCが受信した以前の値よりも大きい場合、これを評価して、それが許容可能な範囲または閾値内にあるかどうかを決定し、それが範囲または閾値を超えるかまたは範囲または閾値外にある場合、検証は失敗したかまたは信頼できないとみなすことができる。MAC動作812において、データ806は、Aut-Session-Key832を使用してMACを介して処理され、暗号化されたMAC出力(暗号文A)814を生成する。
【0089】
カードの鍵を露出させる総当たり攻撃に対する追加の保護を提供するために、MAC暗号文814は暗号化されることが望ましい。いくつかの例では、暗号文(ciphertext)に含まれるデータまたは暗号文An814は、乱数(8)、暗号文(8)を含み得る。いくつかの例では、括弧内の数字はバイト単位の長さを含むことができる。いくつかの例では、乱数は、1つ以上の安全なプロセスを介して、乱数が予測不可能であることを保証し得る1つ以上の乱数生成器によって生成することができる。このデータを暗号化するために使用される鍵は、セッション鍵を含み得る。例えば、セッション鍵は、DEK-Session-Key810を含み得る。暗号化動作816では、DEK-Session-Key706を使用してデータまたは暗号文An814およびRNDが処理されて、暗号化データ、暗号文B818が生成される。データ814は、暗号ブロック連鎖モードで3DESを使用して暗号化され、攻撃者がすべての暗号文に対して攻撃を実行しなければならないことを保証することができる。非限定的な例として、高度暗号化標準(AES)などの他のアルゴリズムが使用されてもよい。いくつかの例では、0x’0000000000000000’の初期化ベクトルを使用することができる。正しく復号されたデータがそのランダムな見た目のために不正確に復号されたデータと区別できないので、このデータを暗号化するために使用される鍵を総当たりしようとする攻撃者は、正しい鍵がいつ使用されたかを決定することができない。
【0090】
認証サービスが1つ以上のアプレットによって提供される1つ以上の暗号文を検証するためには、認証セッション中に1つ以上のアプレットからモバイルデバイスに以下のデータをクリアで搬送しなければならない:使用される暗号手法を決定するバージョン番号、および将来的に手法を変更することを可能にする暗号文を検証するメッセージフォーマット、暗号資産を取得し、カード鍵を導出するpUID、ならびに暗号文に使用されるセッション鍵を導出するpATC。
【0091】
図9は、暗号文を生成する方法900を示す。例えば、ブロック902において、ネットワークプロファイルレコードID(pNPR)および導出鍵インデックス(pDKI)を使用して、認証のために暗号化プロセスにおいてどの発行者マスタ鍵を使用すべきか識別することができる。いくつかの例では、本方法は、認証時に非接触カードのpNPRおよびpDKIの値を取得するために認証を実施することを含むことができる。
【0092】
ブロック904において、発行者マスタ鍵は、発行者マスタ鍵を、カードの一意のID番号(pUID)、および1つ以上のアプレット、例えば決済アプレットのPANシーケンス番号(PSN)と組み合わせることによって多様化することができる。
【0093】
ブロック906において、発行者マスタ鍵を多様化することによって、Card-Key-AuthおよびCard-Key-DEK(一意のカード鍵)を作成して、MAC暗号文を生成するために使用され得るセッション鍵を生成することができる。
【0094】
ブロック908において、暗号文を生成し、1つ以上のアプレット内のデータを暗号化するために使用される鍵は、カード固有鍵(Card-Key-AuthおよびCard-Key-DEK)に基づくブロック1230のセッション鍵を含むことができる。いくつかの例では、これらのセッション鍵は、1つ以上のアプレットによって生成され、pATCを使用して導出され、セッション鍵Aut-Session-KeyおよびDEK-Session-Keyをもたらすことができる。
【0095】
図10は、一例に係る鍵の多様化を示す例示的なプロセス1000を示す。最初に、送金者および受取人は、2つの異なるマスタ鍵でプロビジョニングされ得る。例えば、第1のマスタ鍵はデータ暗号化マスタ鍵を含むことができ、第2のマスタ鍵はデータ完全性マスタ鍵を含むことができる。送金者は、ブロック1002において更新され得るカウンタ値と、他のデータ、例えば、受取人と安全に共有することができる保護されるべきデータなどとを有する。
【0096】
ブロック1004において、データ暗号化マスタ鍵を使用して送金者によってカウンタ値を暗号化して、データ暗号化導出セッション鍵を生成することができ、そして、データ完全性マスタ鍵を使用して送金者によってカウンタ値を暗号化して、データ完全性導出セッション鍵を生成することもできる。いくつかの例では、両方の暗号化中にカウンタ値全体またはカウンタ値の一部を使用することができる。
【0097】
いくつかの例では、カウンタ値は暗号化されなくてもよい。これらの例では、カウンタは、送金者と受取人との間でクリアで、すなわち暗号化なしで送信することができる。
【0098】
ブロック1006において、保護されるべきデータは、送金者によって、データ完全性セッション鍵および暗号化MACアルゴリズムを使用して暗号化MAC動作で処理される。平文および共有秘密を含む保護されたデータは、セッション鍵のうちの1つ(AUT-Session-Key)を使用してMACを生成するために使用することができる。
【0099】
ブロック1008において、保護されるべきデータは、対称暗号化アルゴリズムと共にデータ暗号化導出セッション鍵を使用して、送金者によって暗号化することができる。いくつかの例では、MACは、例えば各8バイト長など、等しい量のランダムデータと組み合わされ、次いで、第2のセッション鍵(DEK-Session-Key)を使用して暗号化される。
【0100】
ブロック1010において、暗号文を検証するために、追加の秘密情報(例えば、共有秘密、マスタ鍵など)を識別するのに十分な情報と共に、暗号化されたMACが送金者から受取人に送信される。
【0101】
ブロック1012において、受取人は、上記で説明したように、受信したカウンタ値を使用して、2つのマスタ鍵から2つの導出されたセッション鍵を独立して導出する。
【0102】
ブロック1014において、データ暗号化導出セッション鍵は、保護されたデータを復号する対称復号動作と併せて使用される。次いで、交換されたデータに対する追加の処理が行われる。いくつかの例では、MACが抽出された後、MACを再現して一致することが望ましい。例えば、暗号文を検証する際には、適宜生成されたセッション鍵を用いて復号してもよい。保護されたデータは、検証のために再構築することができる。適切に生成されたセッション鍵を使用してMAC動作を実施して、復号されたMACと一致するかどうかを決定することができる。MAC動作は不可逆的なプロセスであるため、検証する唯一の方法はソースデータから再作成を試みることである。
【0103】
ブロック1016において、保護されたデータが変更されていないことを検証するために、データ完全性導出セッション鍵が暗号化MAC動作と併せて使用される。
【0104】
本明細書に記載された方法のいくつかの例は、有利には、以下の条件が満たされたときに認証の成功が決定されるときを確認することができる。第1に、MACを検証する能力は、導出されたセッション鍵が適切であったことを示す。復号が成功し、適切なMAC値が得られた場合にのみ、MACは正しい場合がある。復号の成功は、正しく導出された暗号鍵が暗号化MACを復号するために使用されたことを示すことができる。導出されたセッション鍵は、送金者(例えば、送信デバイス)および受取人(例えば、受信デバイス)にのみ知られているマスタ鍵を使用して作成されるので、MACを最初に作成し、MACを暗号化した非接触カードが実際に本物であると信頼することができる。さらに、第1のセッション鍵および第2のセッション鍵を導出するために使用されるカウンタ値は、有効であることが示されてもよく、認証動作を実施するために使用されてもよい。
【0105】
その後、導出された2つのセッション鍵は破棄されてもよく、データ交換の次の反復はカウンタ値を更新し(ブロック1002に戻る)、セッション鍵の新しいセットが作成されてもよい(ブロック1010)。いくつかの例では、結合されたランダムデータは破棄されてもよい。
【0106】
図11は、例示的な実施形態に係るカードアクティブ化の方法1000を示す。例えば、カードアクティブ化は、カード、デバイス、および1つ以上のサーバを含むシステムによって完了することができる。非接触カード、デバイス、および1つ以上のサーバは、非接触カード500、モバイルデバイス、およびサーバなど、以前に説明したものと同じまたは類似の構成要素を参照することができる。
【0107】
ブロックにおいて、カードは、データを動的に生成することができる。いくつかの例では、このデータは、カードからデバイスに送信され得る口座番号、カード識別子、カード検証値、または電話番号などの情報を含むことができる。いくつかの例では、データの1つ以上の部分は、本明細書に開示されるシステムおよび方法を介して暗号化されてもよい。
【0108】
ブロック1104において、動的に生成されたデータの1つ以上の部分は、NFCまたは他の無線通信を介してデバイスのアプリケーションに送信することができる。例えば、デバイスに近接するカードのタップは、デバイスのアプリケーションが非接触カードに関連付けられたデータの1つ以上の部分を読み取ることを可能にすることができる。いくつかの例では、デバイスがカードのアクティブ化を支援するアプリケーションを備えていない場合、カードのタップは、カードをアクティブ化する関連アプリケーションをダウンロードするようにデバイスを誘導するか、またはソフトウェアアプリケーションストアに顧客を促すことができる。いくつかの例では、ユーザは、カードがデバイスの表面に向かって十分なジェスチャ、載置、または配向となるように促されてもよく、例えば、デバイスの表面の上、近く、または近接に、斜めにまたは平坦に載置される。カードの十分なジェスチャ、載置、および/または配向に応答して、デバイスは、カードから受信したデータの1つ以上の暗号化された部分を1つ以上のサーバに送信することに進むことができる。
【0109】
ブロック1106において、データの1つ以上の部分は、カード発行者サーバなどの1つ以上のサーバに送信することができる。例えば、データの1つ以上の暗号化部分は、カードのアクティブ化のためにデバイスからカード発行者サーバに送信されてもよい。
【0110】
ブロック1108において、1つ以上のサーバは、本明細書に開示されたシステムおよび方法を介してデータの1つ以上の暗号化部分を復号することができる。例えば、1つ以上のサーバは、デバイスから暗号化されたデータを受信することができ、受信されたデータを1つ以上のサーバがアクセス可能なレコードデータと比較するためにそれを復号することができる。1つ以上のサーバによるデータの1つ以上の復号された部分の比較の結果が一致の成功をもたらす場合、カードをアクティブ化することができる。1つ以上のサーバによるデータの1つ以上の復号された部分の比較の結果が一致の不成功をもたらした場合、1つ以上のプロセスを行うことができる。例えば、一致の不成功の決定に応答して、ユーザに、カードを再度タップ、スワイプ、またはウェーブジェスチャするように促すことができる。この場合、ユーザがカードをアクティブ化することを許可される試行回数を含む所定の閾値が存在してもよい。代替的に、ユーザは、カード検証の試みの失敗を示し、カードをアクティブ化する支援に関する関連サービスに電話、Eメールもしくはテキスト送信を行いなさいという自分のデバイスへのメッセージなどの通知、またはカード検証の試みの失敗を示し、カードをアクティブ化する支援に関する関連サービスに電話、Eメールもしくはテキスト送信を行いなさいという自分のデバイスへの電話などの別の通知、またはカード検証の試みの失敗を示し、およびカードをアクティブ化する支援に関する関連サービスに電話、Eメールもしくはテキスト送信を行いなさいというEメールなどの別の通知を受信することができる。
【0111】
ブロック1110において、1つ以上のサーバは、カードのアクティブ化の成功に基づいてリターンメッセージを送信することができる。例えば、デバイスは、1つ以上のサーバによるカードのアクティブ化の成功を示す出力を1つ以上のサーバから受信することができる。デバイスは、カードのアクティブ化の成功を示すメッセージを表示することができる。カードがアクティブ化すると、カードは、不正使用を回避するためにデータの動的生成を中止することができる。このようにして、カードはその後アクティブ化されなくてもよく、1つ以上のサーバは、カードが既にアクティブ化されていることを通知される。
【0112】
図12は、前述のような様々な実施形態の実行に適した例示的なコンピュータアーキテクチャ1200の実施形態を示す。一実施形態では、コンピュータアーキテクチャ1200は、本明細書で説明する1つ以上のシステムまたはデバイスを含むか、またはその一部として実装することができる。
【0113】
本出願で使用される場合、「システム」および「構成要素」という用語は、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すことを意図しており、その例は、例示的なコンピューティングコンピュータアーキテクチャ1200によって提供される。例えば、構成要素は、プロセッサ上で動作するプロセス、プロセッサ、ハードディスクドライブ、(光および/または磁気記憶媒体の)複数の記憶ドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で起動するアプリケーションおよびサーバの両方が構成要素であってもよい。1つ以上の構成要素は、プロセスおよび/または実行スレッド内に存在してもよく、構成要素は、1つのコンピュータ上にローカライズすることができ、および/または2つ以上のコンピュータ間に分散されてもよい。さらに、構成要素は、動作を調整するために様々な種類の通信媒体によって互いに通信可能に結合されてもよい。調整は、情報の単方向または双方向の交換を含むことができる。例えば、構成要素は、通信媒体を介して通信される信号の形態で情報を送信することができる。情報は、様々な信号線に割り当てられた信号として実装することができる。このような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施形態は、代替的にデータメッセージを使用してもよい。このようなデータメッセージは、様々な接続を介して送信することができる。例示的な接続には、パラレルインタフェース、シリアルインタフェース、およびバスインタフェースが含まれる。
【0114】
コンピューティングコンピュータアーキテクチャ1200は、1つ以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)構成要素、電源などの様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングコンピュータアーキテクチャ1200による実行に限定されない。
【0115】
図12に示すように、コンピューティングコンピュータアーキテクチャ1200は、プロセッサ1212と、システムメモリ1204と、システムバス1206とを含む。プロセッサ1212は、様々な市販のプロセッサのいずれかとすることができる。
【0116】
システムバス1206は、システムメモリ1204を含むがこれに限定されないシステム構成要素のインタフェースをプロセッサ1212に提供する。システムバス1206は、様々な市販のバスアーキテクチャのいずれかを使用して、(メモリコントローラの有無にかかわらず)メモリバス、周辺バス、およびローカルバスにさらに相互接続することができるいくつかの種類のバス構造のいずれかとすることができる。インタフェースアダプタは、スロットアーキテクチャを介してシステムバス1206に接続することができる。例示的なスロットアーキテクチャは、限定はしないが、アクセラレーテッドグラフィックスポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、NuBus、周辺構成要素相互接続(拡張)(PCI(X))、PCI Express、パーソナルコンピューターメモリーカード国際協会(PCMCIA)などを含むことができる。
【0117】
コンピュータアーキテクチャ1200は、様々な製品を含むかまたは実装することができる。製品は、論理を記憶するコンピュータ可読記憶媒体を含むことができる。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、取り外し可能または取り外し不能メモリ、消去可能または消去不能メモリ、書き込み可能または書き換え可能メモリなどを含む、電子データを記憶することができる任意の有形媒体を含むことができる。論理の例は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、視覚的コードなどの任意の適切な種類のコードを使用して実装された実行可能コンピュータプログラム命令を含むことができる。実施形態はまた、本明細書に記載の動作の実施を可能にするために1つ以上のプロセッサによって読み取られて実行され得る非一時的コンピュータ可読媒体に含まれる命令または非一時的コンピュータ可読媒体上の命令として少なくとも部分的に実装されてもよい。
【0118】
システムメモリ1204は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電体ポリマーメモリなどのポリマーメモリ、オボニックメモリ(ovonic memory)、相変化または強誘電体メモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気または光カード、独立ディスク冗長アレイ(RAID)ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ)、ソリッドステートドライブ(SSD)、および情報を記憶するのに適した任意の他の種類の記憶媒体など、1つ以上の高速メモリユニットの形態の様々な種類のコンピュータ可読記憶媒体を含むことができる。
図12に示す図示の実施形態では、システムメモリ1204は、不揮発性メモリ1208および/または揮発性メモリ1210を含むことができる。基本入力/出力システム(BIOS)は、不揮発性メモリ1208に記憶することができる。
【0119】
コンピュータ1202は、内部(または外部)ハードディスクドライブ1230、リムーバブル磁気ディスク1220から読み書きする磁気ディスクドライブ1216、およびリムーバブル光ディスク1232(例えば、CD-ROMまたはDVD)から読み書きする光ディスクドライブ1を含む、1つ以上の低速メモリユニットの形態の様々な種類のコンピュータ可読記憶媒体を含むことができる。ハードディスクドライブ1230、磁気ディスクドライブ1216および光ディスクドライブ1228は、それぞれHDDインタフェース1214、FDDインタフェース1218および光ディスクドライブインタフェース1234によってシステムバス1206に接続することができる。外部ドライブ実装のHDDインタフェース1214は、ユニバーサルシリアルバス(USB)およびIEEE1394インタフェース技術の少なくとも一方または両方を含むことができる。
【0120】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性および/または不揮発性ストレージを提供する。例えば、オペレーティングシステム1222、1つ以上のアプリケーション1242、他のプログラムモジュール1224、およびプログラムデータ1226を含む、いくつかのプログラムモジュールをドライブおよび不揮発性メモリ1208、ならびに揮発性メモリ1210に記憶することができる。一実施形態では、1つ以上のアプリケーション1242、他のプログラムモジュール1224、およびプログラムデータ1226は、例えば、本明細書で説明するシステムの様々なアプリケーションおよび/または構成要素を含むことができる。
【0121】
ユーザは、例えばキーボード1250およびマウス1252などのポインティングデバイスなどの、1つ以上の有線/無線入力デバイスを介してコンピュータ1202にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロフォン、赤外線(IR)リモコン、無線周波数(RF)リモコン、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、手袋、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性など)、トラックボール、トラックパッド、センサ、スタイラスなどを含むことができる。これらおよび他の入力デバイスは、システムバス1206に結合された入力デバイスインタフェース1236を介してプロセッサ1212に接続されることが多いが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインタフェースなどの他のインタフェースによって接続されてもよい。
【0122】
モニタ1244または他の種類のディスプレイデバイスも、ビデオアダプタ1246などのインタフェースを介してシステムバス1206に接続される。モニタ1244は、コンピュータ1202の内部または外部にあってもよい。モニタ1244に加えて、コンピュータは通常、スピーカ、プリンタなどの他の周辺出力デバイスを含む。
【0123】
コンピュータ1202は、リモートコンピュータ1248などの1つ以上のリモートコンピュータへの有線および/または無線通信を介した論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ1248は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテイメント機器、ピアデバイス、または他の共通ネットワークノードとすることができ、典型的には、コンピュータ1202に関して説明した多くのまたはすべての要素を含むが、簡潔にするために、メモリおよび/または記憶デバイス1258のみが示されている。図示の論理接続は、ローカルエリアネットワーク1256および/またはより大きなネットワーク、例えばワイドエリアネットワーク1254への有線/無線接続を含む。そのようなLANおよびWANネットワーキング環境は、オフィスおよび企業において一般的であり、イントラネットなどの企業規模のコンピュータネットワークを容易にし、そのすべてが、例えばインターネットなどのグローバル通信ネットワークに接続することができる。
【0124】
ローカルエリアネットワーク1256のネットワーク環境で使用される場合、コンピュータ1202は、有線および/または無線通信ネットワークインタフェースまたはネットワークアダプタ1238を介してローカルエリアネットワーク1256に接続される。ネットワークアダプタ1238は、ローカルエリアネットワーク1256への有線および/または無線通信を容易にすることができ、ローカルエリアネットワークはまた、ネットワークアダプタ1238の無線機能と通信するためにその上に配置された無線アクセスポイントを含むことができる。
【0125】
ワイドエリアネットワーク1254のネットワーク環境で使用される場合、コンピュータ1202は、モデム1240を含むことができるか、またはワイドエリアネットワーク1254上の通信サーバに接続されるか、またはインターネットなどを介してワイドエリアネットワーク1254上で通信を確立する他の手段を有する。モデム1240は、内部または外部の有線および/または無線デバイスとすることができ、入力デバイスインタフェース1236を介してシステムバス1206に接続する。ネットワーク化された環境では、コンピュータ1202またはその一部に関して示されたプログラムモジュールは、リモートメモリおよび/または記憶デバイス1258に記憶することができる。図示のネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されよう。
【0126】
コンピュータ1202は、無線通信で動作可能に配置された無線デバイス(例えば、IEEE802.11無線変調技術)などのIEEE802ファミリの規格を使用して、有線および無線デバイスまたはエンティティと通信するように動作可能である。これには、とりわけ、少なくともWi-Fi(すなわちワイヤレスフィディリティ)、WiMax、およびBluetooth(商標)無線技術が含まれる。したがって、通信は、従来のネットワークと同様に事前定義された構造、または単に少なくとも2つのデバイス間のアドホック通信とすることができる。Wi-Fiネットワークは、IEEE802.11(a、b、g、nなど)と呼ばれる無線技術を使用して、安全で信頼性が高く高速な無線接続を提供する。Wi-Fiネットワークを使用して、コンピュータを互いに、インターネットに、および(IEEE802.3関連の媒体および機能を使用する)有線ネットワークに接続することができる。
【0127】
本明細書で前述したようなデバイスの様々な要素は、様々なハードウェア要素、ソフトウェア要素、または両方の組み合わせを含むことができる。ハードウェア要素の例は、デバイス、論理デバイス、構成要素、プロセッサ、マイクロプロセッサ、回路、プロセッサ、回路要素(例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル論理デバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含むことができる。ソフトウェア要素の例は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース(API)、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはそれらの任意の組み合わせを含むことができる。しかしながら、実施形態がハードウェア要素および/またはソフトウェア要素を使用して実行されるか否かの決定は、所与の実装に望まれる所望の計算速度、電力レベル、耐熱性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、および他の設計または性能制約などの任意の数の要因に従って変化する場合がある。
【0128】
上述したデバイスの構成要素および特徴は、ディスクリート回路、特定用途向け集積回路(ASIC)、論理ゲートおよび/または単一チップアーキテクチャの任意の組み合わせを使用して実装されてもよい。さらに、デバイスの特徴は、適切な場合には、マイクロコントローラ、プログラマブル論理アレイおよび/もしくはマイクロプロセッサ、または前述の任意の組み合わせを使用して実装されてもよい。ハードウェア、ファームウェア、および/またはソフトウェア要素は、本明細書では集合的または個別に「論理」または「回路」と呼ばれる場合があることに留意されたい。
【0129】
図13は、前述のような様々な実施形態の実行に適した例示的な通信アーキテクチャ1300を示すブロック図である。通信アーキテクチャ1300は、送信機、受信機、トランシーバ、無線機、ネットワークインタフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源などの様々な一般的な通信要素を含む。しかしながら、実施形態は、本明細書で説明されるシステムおよびデバイスと一致し得る通信アーキテクチャ1300による実装に限定されない。
【0130】
図13に示すように、通信アーキテクチャ1300は、1つ以上のクライアント1302およびサーバ1304を含む。サーバ1304は、本明細書で説明する1つ以上の機能および実施形態を実行することができる。クライアント1302およびサーバ1304は、クッキーおよび/または関連するコンテキスト情報などの、それぞれのクライアント1302およびサーバ1304に対してローカルな情報を記憶するために使用され得る、1つ以上のそれぞれのクライアントデータストア1306およびサーバデータストア1308に動作可能に接続される。
【0131】
クライアント1302およびサーバ1304は、通信フレームワーク1310を使用して互いに情報を送信することができる。通信フレームワーク1310は、任意の周知の通信技術およびプロトコルを実装することができる。通信フレームワーク1310は、パケット交換ネットワーク(例えば、インターネットなどのパブリックネットワーク、企業イントラネットなどのプライベートネットワークなど)、回線交換ネットワーク(例えば、公衆交換電話網)、またはパケット交換ネットワークと回線交換ネットワークとの組み合わせ(適切なゲートウェイおよび変換器を有する)として実装することができる。
【0132】
通信フレームワーク1310は、通信ネットワークを受け入れ、通信し、接続する様々なネットワークインタフェースを実装することができる。ネットワークインタフェースは、入力/出力(I/O)インタフェースの特殊な形態とみなすことができる。ネットワークインタフェースは、限定はしないが、直接接続、イーサネット(例えば、Thick、Thin、ツイストペア10/100/1200Base Tなど)、トークンリング、無線ネットワークインタフェース、セルラーネットワークインタフェース、IEEE802.11a-xネットワークインタフェース、IEEE802.16ネットワークインタフェース、IEEE802.20ネットワークインタフェースなどを含む接続プロトコルを使用することができる。さらに、複数のネットワークインタフェースを使用して、様々な通信ネットワークタイプに関与することができる。例えば、ブロードキャスト、マルチキャスト、およびユニキャストネットワークを介した通信を可能にするために、複数のネットワークインタフェースを使用することができる。処理要件がより大きな量の速度および容量を要求する場合、分散型ネットワークコントローラアーキテクチャを同様に使用して、負荷をプールして分散し、他の方法でクライアント1302およびサーバ1304によって必要とされる通信帯域幅を増加させることができる。通信ネットワークは、直接相互接続、安全なカスタム接続、プライベートネットワーク(例えば、企業イントラネット)、パブリックネットワーク(例えば、インターネット)、パーソナルエリアネットワーク(PAN)、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、インターネット上のノードとしてのオペレーティングミッション(Operating Missions as Nodes on the Internet)(OMNI)、ワイドエリアネットワーク(WAN)、無線ネットワーク、セルラーネットワーク、および他の通信ネットワークを含むがこれらに限定されない有線および/または無線ネットワークの任意の1つおよび組み合わせであってもよい。
【国際調査報告】