IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニーの特許一覧

特許7275291クリップボードにコピーするカードデータを安全に生成するためのカードのタップ
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-09
(45)【発行日】2023-05-17
(54)【発明の名称】クリップボードにコピーするカードデータを安全に生成するためのカードのタップ
(51)【国際特許分類】
   G06F 21/31 20130101AFI20230510BHJP
   H04L 9/32 20060101ALI20230510BHJP
【FI】
G06F21/31
H04L9/32 100E
【請求項の数】 25
(21)【出願番号】P 2021544652
(86)(22)【出願日】2020-01-29
(65)【公表番号】
(43)【公表日】2022-03-24
(86)【国際出願番号】 US2020015532
(87)【国際公開番号】W WO2020160061
(87)【国際公開日】2020-08-06
【審査請求日】2022-03-03
(31)【優先権主張番号】16/265,937
(32)【優先日】2019-02-01
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100210701
【弁理士】
【氏名又は名称】萩原 義則
(72)【発明者】
【氏名】ルール,ジェフリー
(72)【発明者】
【氏名】モートン,ポール
(72)【発明者】
【氏名】ルッツ,ウェイン
(72)【発明者】
【氏名】ジ,ジェイソン
【審査官】金沢 史明
(56)【参考文献】
【文献】米国特許出願公開第2011/0270757(US,A1)
【文献】特開2018-136984(JP,A)
【文献】特開2008-293518(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06F 21/31
G06Q 20/38
(57)【特許請求の範囲】
【請求項1】
コンピューティングデバイスのプロセッサが、非接触カードから、ユニフォームリソースロケータ(URL)を受信することであって、前記URLは、暗号文を備える、ことと、
前記プロセッサで実行されているオペレーティングシステム(OS)が、前記URLに基づいてアプリケーションを開くことと、
前記アプリケーションが、前記暗号文を認証サーバに送信することと、
前記アプリケーションが、仮想アカウント番号サーバから仮想アカウント番号を受信することと、
前記アプリケーションが、前記仮想アカウント番号を前記OSのクリップボードにコピーすることと、
前記OSが、前記クリップボードから前記仮想アカウント番号をフォームの支払いフィールドに貼り付けることと、
を含む方法
【請求項2】
前記方法は、前記URLを受信する前に、
前記アプリケーションが、前記フォームの前記支払いフィールドがフォーカスを移動させたことを決定すること、
をさらに含む、請求項1に記載の方法
【請求項3】
前記URLは、前記アプリケーションのページに向けられたユニバーサルリンクURLを備える、請求項1に記載の方法
【請求項4】
前記方法は、
前記仮想アカウント番号サーバから、前記仮想アカウント番号の有効期限、前記仮想アカウント番号のカード検証値(CVV)、および請求先住所を受信することと、
前記アプリケーションが、前記有効期限、前記CVV、および前記請求先住所のいずれかを前記クリップボードにコピーすることと、
前記OSが、前記クリップボードから、前記有効期限、前記CVV、および前記請求先住所のいずれかを前記フォームの他のフィールドに貼り付けることと、
をさらに含む、請求項1に記載の方法
【請求項5】
前記仮想アカウント番号は、制限を含み、前記制限は、業者制限、時間制限、場所制限、または金額制限のうちの1つまたは複数を備える、請求項1に記載の方法
【請求項6】
前記方法は、
前記アプリケーションが、前記非接触カードに関連付けられたアカウントを認証すること、
をさらに含む、請求項1に記載の方法
【請求項7】
前記方法は、
プッシュ通知または前記アプリケーションのいずれかを介して、前記仮想アカウント番号を前記クリップボードにコピーするように指定する入力を受信すること、
をさらに含む、請求項1に記載の方法
【請求項8】
前記入力は、前記プッシュ通知を介して受信され、前記方法は、前記入力を受信する前に、
閾値時間の満了後に前記通知を表示すること、
をさらに含む、請求項7に記載の方法
【請求項9】
前記方法は、
前記アプリケーションが、前記仮想アカウント番号サーバから、前記仮想アカウント番号の有効期限、前記仮想アカウント番号のカード検証値(CVV)、および請求先住所を受信することと、
前記アプリケーションが、前記有効期限、前記CVV、および前記請求先住所を前記クリップボードにコピーすることと、
前記OSが、前記クリップボードから、前記有効期限、前記CVV、および前記請求先住所を前記フォームのそれぞれのフィールドに貼り付けることと、
をさらに含む、請求項1に記載の方法
【請求項10】
コンピューティング装置であって、
プロセッサと、
命令を格納するメモリと、を備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
非接触カードから、ユニフォームリソースロケータ(URL)を受信することであって、前記URLは、暗号文を備える、ことと、
オペレーティングシステム(OS)が、前記URLに基づいてアプリケーションを開くことと、
前記アプリケーションが、前記暗号文を認証サーバに送信することと、
前記アプリケーションが、仮想アカウント番号サーバから、仮想アカウント番号を受信することと、
前記アプリケーションが、前記仮想アカウント番号を前記OSのクリップボードにコピーすることと、
前記OSが、前記クリップボードから、前記仮想アカウント番号をフォームの支払いフィールドに貼り付けることと、
を実行させる、コンピューティング装置
【請求項11】
前記命令は、前記プロセッサに、前記URLを受信する前に、
前記アプリケーションが、前記フォームの前記支払いフィールドがフォーカスを移動させたことを決定すること、
をさらに実行させる、請求項10に記載のコンピューティング装置
【請求項12】
前記URLは、前記アプリケーションのページに向けられたユニバーサルリンクURLを備える、請求項10に記載のコンピューティング装置
【請求項13】
前記命令は、前記プロセッサに、
前記仮想アカウント番号サーバから、前記仮想アカウント番号の有効期限、前記仮想アカウント番号のカード検証値(CVV)、および請求先住所を受信することと、
前記アプリケーションが、前記有効期限、前記CVV、および前記請求先住所のいずれかを前記クリップボードにコピーすることと、
前記OSが、前記クリップボードから、前記有効期限、前記CVV、および前記請求先住所のいずれかを前記フォームの他のフィールドに貼り付けることと、
をさらに実行させる、請求項10に記載のコンピューティング装置
【請求項14】
前記仮想アカウント番号は、制限を含み、前記制限は、業者制限、時間制限、場所制限、または金額制限のうちの1つまたは複数を備える、請求項10に記載のコンピューティング装置
【請求項15】
前記命令は、前記プロセッサに、
プッシュ通知または前記アプリケーションのいずれかを介して、前記仮想アカウント番号を前記クリップボードにコピーするように指定する入力を受信すること、
をさらに実行させる、請求項10に記載のコンピューティング装置
【請求項16】
前記入力は、前記プッシュ通知を介して受信され、前記命令は、前記プロセッサに、
閾値時間の満了後に前記通知を表示すること、
をさらに実行させる、請求項15に記載のコンピューティング装置
【請求項17】
前記命令は、前記プロセッサに、
前記アプリケーションが、前記仮想アカウント番号サーバから、前記仮想アカウント番号の有効期限、前記仮想アカウント番号のカード検証値(CVV)、および請求先住所を受信することと、
前記アプリケーションが、前記有効期限、前記CVV、および前記請求先住所を前記クリップボードにコピーすることと、
前記OSが、前記クリップボードから、前記有効期限、前記CVV、および前記請求先住所を前記フォームのそれぞれのフィールドに貼り付けることと、
をさらに実行させる、請求項10に記載のコンピューティング装置
【請求項18】
命令を含むコンピュータ可読記憶媒体であって、前記命令は、プロセッサによって実行されると、前記プロセッサに、
非接触カードから、ユニフォームリソースロケータ(URL)を受信することであって、前記URLは、暗号文を備える、ことと、
オペレーティングシステム(OS)が、前記URLに基づいてアプリケーションを開くことと、
前記アプリケーションが、前記暗号文を認証サーバに送信することと、
前記アプリケーションが、仮想アカウント番号サーバから仮想アカウント番号を受信することと、
前記アプリケーションが、前記仮想アカウント番号を前記OSのクリップボードにコピーすることと、
前記OSが、前記クリップボードから前記仮想アカウント番号をフォームの支払いフィールドに貼り付けることと、
を実行させる、コンピュータ可読記憶媒体
【請求項19】
前記命令は、前記プロセッサに、前記URLを受信する前に、
前記アプリケーションが、前記フォームの前記支払いフィールドがフォーカスを移動させたことを決定すること、
をさらに実行させる、請求項18に記載のコンピュータ可読記憶媒体
【請求項20】
前記URLは、前記アプリケーションのページに向けられたユニバーサルリンクURLを備える、請求項18に記載のコンピュータ可読記憶媒体
【請求項21】
前記命令は、前記プロセッサに、
前記仮想アカウント番号サーバから、前記仮想アカウント番号の有効期限、前記仮想アカウント番号のカード検証値(CVV)、および請求先住所を受信することと、
前記アプリケーションが、前記有効期限、前記CVV、および前記請求先住所のいずれかを前記クリップボードにコピーすることと、
前記OSが、前記クリップボードから、前記有効期限、前記CVV、および前記請求先住所のいずれかを前記フォームの他のフィールドに貼り付けることと、
をさらに実行させる、請求項18に記載のコンピュータ可読記憶媒体
【請求項22】
前記仮想アカウント番号は、制限を含み、前記制限は、業者制限、時間制限、場所制限、または金額制限のうちの1つまたは複数を備える、請求項18に記載のコンピュータ可読記憶媒体
【請求項23】
前記命令は、前記プロセッサに、
プッシュ通知または前記アプリケーションのいずれかを介して、前記仮想アカウント番号を前記クリップボードにコピーするように指定する入力を受信すること、
をさらに実行させる、請求項18に記載のコンピュータ可読記憶媒体
【請求項24】
前記入力は、前記プッシュ通知を介して受信され、前記命令は、前記プロセッサに、前記入力を受信する前に、
閾値時間の満了後に前記通知を表示すること、
をさらに実行させる、請求項23に記載のコンピュータ可読記憶媒体
【請求項25】
前記命令は、前記プロセッサに、
前記アプリケーションが、前記仮想アカウント番号サーバから、前記仮想アカウント番号の有効期限、前記仮想アカウント番号のカード検証値(CVV)、および請求先住所を受信することと、
前記アプリケーションが、前記有効期限、前記CVV、および前記請求先住所を前記クリップボードにコピーすることと、
前記OSが、前記クリップボードから、前記有効期限、前記CVV、および前記請求先住所を前記フォームのそれぞれのフィールドに貼り付けることと、
をさらに実行させる、請求項18に記載のコンピュータ可読記憶媒体
【発明の詳細な説明】
【技術分野】
【0001】
本明細書の実施形態は、一般に、コンピューティングプラットフォーム、より具体的には、カードをコンピューティングデバイスにタップして、コンピューティングデバイスのクリップボードにコピーされ得るカードデータを安全に生成することに関する。
【0002】
関連出願
この出願は、2019年2月1日に出願された「クリップボードにコピーするカードデータを安全に生成するためのカードのタップ」という名称の米国特許出願第16/265,937号の優先権を主張する。前述の出願の内容は、その全体が参照により本明細書に援用される。
【背景技術】
【0003】
支払いカードのアカウント識別子は、多くの場合、長い数字および/または文字列である。そのため、ユーザがアカウント識別子を手動で正しく入力することは困難である。実際、ユーザはしばしば間違いを犯し、コンピューティングインターフェース(例えば、支払いインターフェース)に誤ったアカウント識別子を入力する。さらに、カメラがデバイスに入力されたアカウント識別子をキャプチャして識別できるようにするプロセスが開発されたため、アカウント識別子にセキュリティリスクが発生する。さらに、特定のオペレーティングシステムは、非接触カードに格納されている識別子にアクセスする機能を制限する。これにより、アカウント識別子をプログラムでコピーおよび/または貼り付ける従来の試みがブロックされる。
【発明の概要】
【0004】
本明細書に開示される実施形態は、クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップするためのシステム、方法、製造品、およびコンピュータ可読媒体を提供する。一例によれば、プロセッサ回路上で実行されるウェブブラウザは、支払いフィールドを備えるフォームを出力し得る。ユニフォームリソースロケータ(URL)は、非接触カードの通信インターフェースから受信され得、そのURLは、非接触カードのメモリに格納された非接触カードの秘密鍵に少なくとも部分的に基づいて非接触カードによって生成された暗号化されたデータを備え得る。プロセッサ回路上で実行されるアプリケーションは、暗号化されたデータを認証サーバに送信し得、認証サーバは、認証サーバのメモリに格納された非接触カードの秘密鍵に少なくとも部分的に基づいて暗号化されたデータを復号することによって暗号化されたデータを検証する。アプリケーションは、認証サーバによる暗号化されたデータの検証に基づいて、仮想アカウント番号サーバから仮想アカウント番号を受信し得る。アプリケーションは、仮想アカウント番号に関連付けられた有効期限と、仮想アカウント番号に関連付けられたカード検証値(CVV)を受信し得る。アプリケーションは、仮想アカウント番号を、プロセッサ回路で実行されているオペレーティングシステム(OS)のクリップボードにコピーし得る。OSは、仮想アカウント番号をクリップボードからウェブブラウザのフォームの支払いフィールドに貼り付け得る。OSは、仮想アカウント番号に関連付けられた有効期限とCVVを備える通知を出力し得る。
【図面の簡単な説明】
【0005】
図1A】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップするためのシステムの実施形態を示している。
図1B】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップするためのシステムの実施形態を示している。
図1C】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップするためのシステムの実施形態を示している。
図2A】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図2B】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図2C】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図2D】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図3A】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図3B】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図3C】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図3D】クリップボードにコピーするカードデータを安全に生成するために非接触カードをタップする実施形態を示している。
図4】第1の論理フローの実施形態を示している。
図5】第2の論理フローの実施形態を示している。
図6】第3の論理フローの実施形態を示している。
図7】コンピューティングアーキテクチャの実施形態を示している。
【発明を実施するための形態】
【0006】
本明細書に開示される実施形態は、非接触カードを使用して、コンピューティングデバイスのクリップボードにコピーされ得るカードデータ(例えば、アカウント番号、有効期限、顧客請求先住所、配送先住所、および/またはカード検証値(CVV))を生成するための安全な技術を提供する。一般に、非接触カードは、例えば、タップジェスチャを介して、コンピューティングデバイスの通信範囲内に入り得る。そうすることで、非接触カードは、ユニフォームリソースロケータ(URL)を生成し、それがコンピューティングデバイスに送信される。URLは、検証プロセスの一部として認証サーバによって使用されるデータを含み得る。例えば、URLは、検証プロセスの一部としてサーバによって復号される暗号化されたデータを含み得る。他の例として、URLは、検証プロセスの一部として認証サーバによって使用される非接触カードに関連付けられた一意の識別子を含み得る。検証されると、認証サーバは、非接触カードに関連付けられたアカウントのカードデータを生成するように仮想アカウント番号サーバに指示し得る。カードデータは、仮想アカウント番号、有効期限、CVVを含み得る。次に、生成されたカードデータは、コンピューティングデバイスに送信され得る。いくつかの実施形態では、アカウント所有者情報(例えば、名前、請求先住所、および/またはショッピング住所など)はまた、コンピューティングデバイスに送信され得る。コンピューティングデバイスは、カードデータおよび/またはアカウント所有者情報(例えば、名前、請求先住所、および/またはショッピング住所)の少なくとも1つの要素(例えば、仮想アカウント番号、有効期限、および/またはCVV)をクリップボードにコピーし得る。クリップボードにコピーされると、データはウェブブラウザおよび/または他のアプリケーションのフォームの対応するフィールドにコピーされ得る。さらに、生成されたカードデータおよび/またはアカウント所有者情報の1つまたは複数の要素を含む通知を出力し得る。通知により、データの他の要素をクリップボードにコピーして、フォームの支払いフィールドに貼り付け得る。
【0007】
利点として、本明細書に開示される実施形態は、すべてのデバイスおよび関連データのセキュリティを改善する。例えば、一部のオペレーティングシステムでは、非接触カードに格納されているデータ、および/または非接触カードに格納されている特定の種類のデータへのアクセスが制限され得る。したがって、カードデータをコピーおよび/または自動入力する従来の技術は正しく機能しない。しかしながら、有利なことに、本明細書に開示される実施形態は、カードデータが任意のタイプのオペレーティングシステムにおいて安全に生成、送信、コピー、および/または自動入力されることを可能にする。さらに、従来のアプローチでは、ユーザがカードデータをフォームに手動で入力する必要がある。しかしながら、そうすることで、ユーザがカードデータをフォームに入力するときに、他のユーザまたはデバイスがカードデータをキャプチャできるようになり得る。ユーザがフォームにカードデータを手動で入力する必要がなくなるため、カードデータのセキュリティが強化される。さらに、サーバによって実行される検証は、正しいカードデータがフォームに入力されていることを確認するための追加の保護手段を提供する。さらに、従来の解決策では、非接触カードの実際のアカウント番号をフォームに入力する必要があるため、仮想カード番号を生成してフォームに入力することで、非接触カードの実際のアカウント番号のセキュリティが保護される。
【0008】
本明細書で使用される表記法および命名法を一般的に参照して、以下の詳細な説明の1つまたは複数の部分は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順に関して提示され得る。これらの手順の説明および表現は、当業者によって、それらの作業の実体を当業者に最も効果的に伝えるために使用される。手順はここにあり、一般に、望ましい結果につながる自己矛盾のない一連の演算であると考えられている。これらの演算は、物理量の物理的な操作を必要とする演算である。通常、必ずしもそうとは限らないが、これらの量は、格納、転送、結合、比較、およびその他の方法で操作できる電気信号、磁気信号、または光信号の形をとる。主に一般的な使用法の理由から、これらの信号をビット、値、要素、記号、文字、用語、数値などと呼ぶと便利な場合がある。しかしながら、これらおよび類似の用語はすべて、適切な物理量に関連付けられており、これらの量に適用される便利なラベルにすぎないことに留意すべきである。
【0009】
さらに、これらの操作は、加算または比較などの用語で呼ばれることが多く、これらは、一般に、人間のオペレータによって実行される知的な演算に関連付けられている。しかしながら、1つまたは複数の実施形態の一部を形成する本明細書に記載の演算のいずれにおいても、人間のオペレータのそのような能力は、必要ではなく、またはほとんどの場合望ましいものではない。むしろ、これらの演算は、機械演算である。様々な実施形態の演算を実行するための有用な機械は、本明細書の教示に従って書かれた、その中に格納されたコンピュータプログラムによって選択的にアクティブ化または構成されたデジタルコンピュータを含み、および/または必要な目的のために特別に構築された装置またはデジタルコンピュータを含む。様々な実施形態はまた、これらの演算を実行するための装置またはシステムに関する。これらの装置は、必要な目的のために特別に構築され得る。これらの様々な機械に必要な構造は、与えられた説明から明らかになる。
【0010】
ここで、図面を参照する。ここで、同様の参照番号は、全体を通して同様の要素を参照するために使用される。以下の説明では、説明の目的で、それらを完全に理解するために、多くの具体的な詳細が示されている。しかしながら、新規の実施形態は、これらの特定の詳細なしで実施できることは明らかであろう。他の例では、その説明を容易にするために、周知の構造およびデバイスがブロック図の形で示されている。意図は、請求の範囲内のすべての修正、均等物、および代替案をカバーすることである。
【0011】
図1Aは、開示された実施形態と対応する、例示的なシステム100の概略図を示している。示されるように、システム100は、1つまたは複数の非接触カード101、1つまたは複数のモバイルデバイス110、認証サーバ120、および仮想アカウント番号サーバ140を含む。非接触カード101は、クレジットカード、デビットカード、ATMカード、ギフトカードなどのあらゆるタイプの支払いカードを代表するものである。非接触カード101は、NFC、EMV標準、または無線通信における他の短距離プロトコルを介してモバイルデバイス110と通信するように構成された、無線周波数識別(RFID)チップなどの1つまたは複数の通信インターフェース150を備え得る。通信プロトコルの例としてNFCが使用されているが、本開示は、EMV標準、ブルートゥース(登録商標)、および/またはWi-Fiなどの他のタイプの無線通信にも同様に適用可能である。モバイルデバイス110は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、ラップトップ、ポータブルゲームデバイスなどのあらゆるタイプのネットワーク対応コンピューティングデバイスを代表するものである。サーバ120、140は、サーバ、ワークステーション、コンピューティングクラスタ、クラウドコンピューティングプラットフォーム、仮想化コンピューティングシステムなどのような任意のタイプのコンピューティングデバイスを代表するものである。
【0012】
示されるように、モバイルデバイス110のメモリ111は、オペレーティングシステム(OS)112のインスタンスを含む。オペレーティングシステム112の例は、アンドロイド(登録商標)OS、iOS(登録商標)、Linux(登録商標)、およびウィンドウズ(登録商標)オペレーティングシステムを含む。示されるように、OS112は、アカウントアプリケーション113、クリップボード114、およびウェブブラウザ115を含む。アカウントアプリケーション113は、ユーザが、アカウント残高の表示、アイテムの購入、および/または支払いの処理などの様々なアカウント関連の演算を実行することを可能にする。いくつかの実施形態では、ユーザは、アカウントアプリケーション113にアクセスするために、認証資格情報を使用して認証しなければならない。例えば、認証資格情報は、ユーザ名およびパスワード、生体認証資格情報などを含み得る。いくつかの実施形態では、認証サーバ120は、以下でより詳細に説明されるように、必要な認証を提供し得る。ウェブブラウザ115は、モバイルデバイス110がネットワーク130を介して(例えば、インターネットを介して)情報にアクセスすることを可能にするアプリケーションである。例えば、ユーザは、ウェブブラウザ115を使用して、業者のウェブサイトから購入を行い得る。ウェブブラウザ115は、ネットワーク130を介して情報にアクセスするために(例えば、購入をするために)使用されるアプリケーションの一例である。本明細書における参照例としてのウェブブラウザの使用は、開示を限定するものと見なされるべきではない。なぜなら、開示は、ユーザが購入できるようにする業者によって提供されるアプリケーションなど、ネットワークを介して情報にアクセスするために使用される他のタイプのアプリケーションにも同様に適用できるからである。
【0013】
ウェブブラウザ115(または他のアプリケーション)を使用する場合、ユーザは、1つまたは複数の支払いフィールドを含むフォームに遭遇し得る。従来、ユーザは、カード番号、有効期限、CVVを手動で入力する必要があった。いくつかのモバイルオペレーティングシステムでは、このようなデータをフォームに自動入力できるが、他のモバイルオペレーティングシステムでは、このようなデータの自動入力に制限がある。有利には、本明細書に開示される実施形態は、非接触カード101を活用して、OS112のクリップボード114にコピーできる仮想アカウント番号、有効期限、および/またはCVVの生成をトリガすることによって、そのような問題を解決する。
【0014】
より具体的には、ユーザは、非接触カード101をモバイルデバイス110にタップし得、それにより、非接触カード101をモバイルデバイス110のカードリーダ118に十分に近づけて、非接触カード101の通信インターフェース150とモバイルデバイス110のカードリーダ118との間のNFCデータ転送を可能にする。いくつかの実施形態では、モバイルデバイス110は、アプリケーションプログラムインターフェース(API)呼を介してカードリーダ118をトリガし得る。一例では、モバイルデバイス110は、ユーザがフォームフィールドなどのユーザインターフェースの要素をタップまたは選択することに応答するAPI呼を介してカードリーダをトリガする。さらに、および/または代わりに、モバイルデバイス110は、カードリーダ118を定期的にポーリングすることに基づいて、カードリーダ118をトリガし得る。より一般的には、モバイルデバイス110は、カードリーダ118をトリガして、任意の実行可能な方法を使用して通信を行い得る。モバイルデバイス110と非接触カード101との間で通信が確立された後、非接触カード101は、メッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは、非接触カード101がアカウントアプリケーション113によって読み取られるときに発生し得る。特に、これは、NFCデータ交換フォーマットに従って作成され得る近距離無線データ交換(NDEF)タグのNFC読み取りなどの読み取り時に発生し得る。
【0015】
より一般的には、非接触カード101のプロセッサ(図示せず)上で実行されるアプレット103は、通信インターフェース150を介してデータを生成し、モバイルデバイス110に送信する。いくつかの実施形態では、非接触カード101によって生成されたデータは、URLを含み得る。このURLは、認証サーバ120、または非接触カード101を発行するエンティティに関連付けられた他のURLに向けられ得る。URLはさらに、ローカルリソース(例えば、アカウントアプリケーション113のページ)を開くユニバーサルリンクURLであり得る。URLは、非接触カード101によって生成されたデータを検証するために認証サーバ120によって使用されるデータ(例えば、パラメータ)をさらに含み得る。
【0016】
例えば、非接触カード101のアプレット103は、暗号化アルゴリズムを使用して、非接触カード101のメモリ102に格納された秘密鍵104に少なくとも部分的に基づいて暗号化ペイロードを生成し得る。一般に、アプレット103は、任意のタイプの暗号化アルゴリズムおよび/またはシステムを使用して暗号化ペイロードを生成し得、本明細書の例としての特定の暗号化アルゴリズムの使用は、開示を限定すると見なされるべきではない。暗号化アルゴリズムは、暗号化アルゴリズム、ハッシュベースのメッセージ認証コード(HMAC)アルゴリズム、暗号ベースのメッセージ認証コード(CMAC)アルゴリズムなどを含み得る。暗号化アルゴリズムの非限定的な例は、3DESまたはAES128などの対称暗号化アルゴリズム、HMAC-SHA-256などの対称HMACアルゴリズム、およびAES-CMACなどの対称CMACアルゴリズムを含み得る。いくつかの実施形態では、アプレット103は、暗号化ペイロードを生成するために鍵多様化技術を使用して暗号化を実行し得る。鍵多様化技術の例は、2018年11月29日に出願された米国特許出願第16/205,119号に記載されている。前述の特許出願は、参照によりその全体が本明細書に援用される。非接触カード101のアプレット103は、URLのパラメータとして暗号ペイロードを含み得る。
【0017】
他の例として、非接触カード101のアプレット103は、非接触カード101を識別するために使用されるいくつかの他の文字列をURLに含み得る。例えば、URLは、非接触カード101に関連付けられたアカウント番号の数字(または文字)のサブセットを含み得る。例えば、アカウント番号が16桁である場合、非接触カード101のアプレット103は、URLのパラメータとしてアカウント番号の4桁を含み得る。アカウント番号は、プライマリアカウント番号(PAN)、1回限りの仮想アカウント番号、PANに基づいて生成されたトークンなど、任意のタイプのアカウント番号であり得る。
【0018】
次に、アプレット103は、生成されたデータをモバイルデバイス110に送信し得、モバイルデバイス110は、受信したデータを認証サーバ120に送信し得る。次に、認証アプリケーション123は、受信したデータを認証し得る。例えば、URLが暗号化ペイロードを含む場合、認証アプリケーション123は、サーバ120のメモリ122に格納されている秘密鍵104のコピーを使用して暗号化ペイロードを復号し得る。秘密鍵104は、非接触カード101のメモリ102に格納された秘密鍵104と同一であり得る。ここで、各非接触カード101は、一意の秘密鍵104を含むように製造される(そして、サーバ120は、各一意の秘密鍵104の対応するコピーを格納する)。したがって、認証アプリケーション123は、暗号化ペイロードを正常に復号し、それによって、ペイロードを検証し得る。他の例として、認証アプリケーション123は、アカウント番号の数字が、アカウントデータ124に格納された非接触カード101に関連付けられたアカウント番号の数字と一致することを確認し、それによって、アカウント番号を検証し得る。
【0019】
認証アプリケーション123によって使用される検証技術に関係なく、検証されると、認証アプリケーション123は、仮想アカウント番号サーバ140のメモリ141内の仮想アカウント番号(VAN)ジェネレータ142に、非接触カード101に関連付けられたアカウントの仮想アカウント番号、有効期限、およびCVVを生成するように指示し得る。少なくとも1つの実施形態では、VANジェネレータ142によって生成される仮想アカウント番号は、特定の業者または業者のグループに制限される。仮想アカウント番号は、他の制限(例えば、時間制限、場所制限、金額制限など)をさらに含み得る。生成されると、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVをモバイルデバイス110および/または認証サーバ120に提供し得る。VANジェネレータ142および/または認証サーバ120はさらに、アカウント所有者名、請求先住所、および/または配送先住所をモバイルデバイス110に提供し得る。しかしながら、いくつかの実施形態では、アカウント所有者名、配送先住所、および/または請求先住所は、モバイルデバイス110によってローカルに格納される。VANジェネレータ142および/または認証サーバ120は、プッシュ通知、テキストメッセージ、電子メール、ウェブブラウザ115などを介して、など任意の適切な方法を介してモバイルデバイス110にデータを提供し得る。
【0020】
モバイルデバイス110によって受信されると、仮想アカウント番号、有効期限、CVV、アカウント所有者名、請求先住所、および/または配送先住所は、OS112のクリップボード114にコピーされ得る。そうすることにより、ユーザは、コピーされたデータをウェブブラウザ115の対応するフィールドに貼り付け得る。例えば、ユーザは、アカウント番号をウェブブラウザ115のフォームのアカウント番号フィールドに貼り付け得る。いくつかの実施形態では、有効期限およびCVVを含む通知がモバイルデバイス110上に出力され得る。通知は、アカウント所有者名、請求先住所、および/または配送先住所をさらに含み得る。通知は、事前定義された時間の後に出力され得る(例えば、仮想アカウント番号がクリップボード114にコピーされてから5秒後)。通知により、ユーザは、アカウント所有者名、請求先住所、配送先住所、有効期限、および/またはCVVをクリップボード114に直接コピーして、ウェブブラウザ115のフォームの対応するフィールドに貼り付け得る。
【0021】
一般に、クリップボード114は、OS112内でコピーおよび/または貼り付けることができるデータを格納する。例えば、クリップボード114は、モバイルデバイス110のフィールドに貼り付けるためにデータをローカルに格納し得、ユーザは、OS112内で利用可能なコマンドおよび/またはジェスチャを使用して、クリップボード114に格納されたデータを入力/貼り付け得る。例えば、アカウント番号をクリップボード114にコピーすることにより、ユーザは、OS112内で利用可能なコマンドおよび/またはジェスチャを使用して、アカウント番号を対応するフォームフィールドに貼り付け得る。さらに、アカウントアプリケーション113は、アカウント番号がクリップボード114にコピーされている間、有効期限およびCVVを指定する通知を出力し得る。そうすることで、ユーザは、通知が表示されたまま、対応するフォームフィールドに有効期限とCVVを手動で入力し得る。いくつかの実施形態では、アカウントアプリケーション113および/またはOS112はまた、有効期限、請求先住所、および/またはCVVをクリップボード114にコピーして、有効期限、請求先住所、および/またはCVVを対応するフォームフィールドに貼り付け得る。
【0022】
図1Bは、非接触カード101のアプレット103が、認証アプリケーション123による検証のために暗号化ペイロードを生成する実施形態を示している。述べたように、ユーザがウェブブラウザ115で支払いフォームに遭遇し得るとき、それに応答して、OS112および/またはアカウントアプリケーション113は、非接触カード101をモバイルデバイス110にタップするようにユーザに指示する通知を出力し得る。いくつかの実施形態では、ユーザは、支払いに関連するフォームフィールド(例えば、アカウント番号フィールド、有効期限フィールド、および/またはCVVフィールド)を選択し得、これは、フォームフィールドにフォーカスを合わせる。そのような実施形態では、OS112および/またはアカウントアプリケーション113は、支払いフィールドがフォーカスを移動させたと決定すると、非接触カード101をモバイルデバイス110にタップする通知を出力し得る。他の例として、OS112および/またはアカウントアプリケーション113は、フォームが1つまたは複数の支払いフィールドを含むと決定し得る。例えば、いくつかの実施形態では、アカウントアプリケーション113および/またはOS112は、フォームフィールドのメタデータを読み取って、情報のタイプを決定する。例えば、フォームフィールドのメタデータは、フォームフィールドがアカウント番号フィールド、有効期限フィールド、CVVフィールド、配送先住所フィールド、および/または請求先住所フィールドに関連付けられていることを指定し得る。いくつかの実施形態では、16桁のカード番号、CVV、および顧客名などの情報は、オフラインで利用可能であり得、一方、住所および生成された仮想番号などの他の情報は、オフラインで利用できず、ネットワーク接続を必要とし得る。それに応じて、アカウントアプリケーション113および/またはOS112は、非接触カード101をモバイルデバイス110にタップするように通知を出力し得る。したがって、アカウントアプリケーション113および/またはOS112は、フォームが1つまたは複数の支払いフィールドを含むと自動的に決定することに基づいて、および/または支払いフィールドがフォーカスを移動させたと決定することに基づいて、非接触カード101をモバイルデバイス110にタップするための通知を出力し得る。
【0023】
タップされると、非接触カード101のアプレット103は、秘密鍵104に基づいて暗号化されたデータ105を生成し得る。一実施形態では、非接触カード101がモバイルデバイス110にタップされると、非接触カード101は、暗号化されたデータ105を生成し、モバイルデバイス110に送信する。他の実施形態では、非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、暗号化されたデータ105を生成してモバイルデバイス110に送信するように非接触カード101に指示し得る。いくつかの実施形態では、暗号化されたデータ105は、文字列、例えば、「A1B2C3Z」であり得る。アプレット103はさらに、URL106を決定し得る。URL106は、認証サーバ120に向けられ得る。いくつかの実施形態では、アプレット103は、動的にURL106を生成する。他の実施形態では、アプレット103は、メモリ102に格納された複数のURL106のうちの1つであるURL106を動的に選択する。いくつかの実施形態では、URL106は、アカウントアプリケーション113の1つまたは複数のページを開くユニバーサルリンクである。アプレット103は、生成された暗号化されたデータ105をURL106のパラメータとして含み得、それにより、暗号化されたデータを含むURL108を生成し得る。例えば、URL106は、「http://www.example.com/」であり得る。したがって、暗号化されたデータを含むURL108は、「http://www.example.com/?A1B2C3Z」であり得る。
【0024】
いくつかの実施形態では、アプレット103は、暗号化されたデータ105をURL106のパラメータとして含める前に、URLと互換性のある符号化フォーマットに従って暗号化されたデータ105を符号化し得る。例えば、暗号化されたデータ105は、URLと互換性がない可能性があるバイナリデータ(例えば、0および1)の文字列であり得る。したがって、アプレット103は、暗号化されたデータ105を、情報交換のための米国標準コード(ASCII)base64符号化フォーマットに符号化し得る。そうすることで、バイナリ暗号化されたデータ105を基数-64表現(例えば、前の例の「ABC123Z」)に変換することによって、ASCII文字列フォーマットで表す。
【0025】
次に、非接触カード101は、暗号化されたデータを含むURL108をモバイルデバイス110に送信し得る。次に、アカウントアプリケーション113は、対応するページに開かれ得、ここで、アカウントアプリケーション113は、暗号化されたデータを含むURL108から暗号化されたデータ105を抽出する。いくつかの実施形態では、ユーザがアカウントアプリケーション113にログインしていない場合、アカウントアプリケーション113は、暗号化されたデータ105を抽出する前に、ユーザがアカウントにログインするための資格情報を提供するログインページを開く。次に、アカウントアプリケーション113は、暗号化されたデータ105をネットワーク130を介して認証サーバ120に送信し得る。一実施形態では、アカウントアプリケーション113は、暗号化されたデータを、非接触カード101によって生成されたURL106に送信する。他の実施形態では、以下でより詳細に説明するように、暗号化されたデータを含むURL108により、ウェブブラウザ115は、新しいタブを開き、暗号化されたデータを含むURL108に従う。そのような実施形態では、暗号化されたデータを含むURL108は、認証アプリケーション123につながり、これは、暗号化されたデータを含むURL108から暗号化されたデータ105を抽出し得る。
【0026】
次に、認証アプリケーション123は、受信されると、非接触カード101に関連付けられた秘密鍵104を使用して、暗号化されたデータ105の復号を試み得る。述べたように、いくつかの実施形態では、暗号化されたデータ105は、アプレット103によって符号化される。そのような実施形態では、認証アプリケーション123は、復号が試みられる前に、暗号化されたデータ105を復号し得る。認証アプリケーション123が暗号化されたデータを復号して期待される結果をもたらすことができない場合(例えば、非接触カード101に関連付けられたアカウントの顧客識別子など)、認証アプリケーションは、暗号化されたデータ105を検証せず、仮想アカウント番号を生成するようにVANジェネレータ142に指示しない。認証アプリケーション123が暗号化されたデータを復号して期待される結果をもたらすことができる場合(例えば、非接触カード101に関連付けられたアカウントの顧客識別子など)、認証アプリケーションは、暗号化されたデータ105を検証し、仮想アカウント番号、有効期限、およびCVV値を生成するようにVANジェネレータ142に指示する。示されるように、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVV値を備える仮想番号125を生成する。
【0027】
次に、仮想番号125は、ネットワークを介してモバイルデバイス110に送信され得る。受信されると、アカウントアプリケーション113は、仮想番号125の1つまたは複数の要素をOS112のクリップボード114に提供する。例えば、アカウントアプリケーション113は、仮想番号125から仮想アカウント番号を抽出し、抽出された仮想アカウント番号をクリップボード114に提供し、それにより、仮想アカウント番号をクリップボード114にコピーし得る。そうすることにより、ユーザは、ウェブブラウザ115に戻り、クリップボードからウェブブラウザ115のフォームのアカウント番号フィールドに仮想アカウント番号を貼り付け得る。
【0028】
図1Cは、非接触カード101のアプレット103が、認証アプリケーション123による検証のための識別子を生成する実施形態を示している。述べたように、ユーザがウェブブラウザ115で支払いフォームに遭遇し得るとき、それに応答して、OS112および/またはアカウントアプリケーション113は、非接触カード101をモバイルデバイス110にタップするようにユーザに指示する通知を出力し得る。いくつかの実施形態では、ユーザは、支払いに関連するフォームフィールド(例えば、アカウント番号フィールド、有効期限フィールド、および/またはCVVフィールド)を選択し得、これは、フォームフィールドにフォーカスを合わせる。そのような実施形態では、OS112および/またはアカウントアプリケーション113は、支払いフィールドがフォーカスを移動させたと決定すると、非接触カード101をモバイルデバイス110にタップする通知を出力し得る。
【0029】
タップに応答して、非接触カードのアプレット103は、URL106のパラメータとして含める識別子を決定する。一実施形態では、アプレット103は、非接触カード101に関連付けられたアカウント識別子107の所定の数の文字を選択する。例えば、アプレット103は、アカウントID107の最後の4桁を選択し、選択された数字をURL106に追加し得、それにより、アカウントIDを含むURL109を生成し得る。述べたように、URL106は、アカウントアプリケーション113の1つまたは複数の事前定義されたページを開くユニバーサルリンクであり得る。
【0030】
次に、非接触カード101は、アカウントIDを含むURL109をモバイルデバイス110に送信し得る。次に、アカウントアプリケーション113は、対応するページに開かれ得、ここで、アカウントアプリケーション113は、アカウントIDを含むURL109からアカウントID107の数字を抽出する。いくつかの実施形態では、ユーザがアカウントアプリケーション113にログインしていない場合、アカウントアプリケーション113は、暗号化されたデータ105を抽出する前に、ユーザがアカウントにログインするための資格情報を提供するログインページを開く。次に、アカウントアプリケーション113は、ネットワーク130を介して、アカウントID107の数字を認証サーバ120に送信し得る。次に、認証アプリケーション123は、アカウントID107を検証し得る。例えば、認証アプリケーション123は、アカウントID107の数字が、アカウントデータ124内の非接触カード101に関連付けられたアカウントのアカウント識別子の対応する数字と一致するかどうかを決定し得る。そのような実施形態では、アカウントアプリケーション113は、認証アプリケーション123が、アカウントID107がアカウントデータ124内のアカウントに関連付けられていることを検証することを可能にするデータ(例えば、アカウントトークン、アカウントアプリケーション113に現在ログインしているアカウントに関連付けられたユーザ名など)を提供し得る。
【0031】
認証アプリケーション123がアカウントID107を検証する場合、認証アプリケーション123は、VANジェネレータ142に仮想アカウント番号を生成するように指示する。そうでなければ、仮想アカウント番号は、非接触カード101のタップに応答して生成されない。一実施形態では、認証アプリケーション123がアカウントを検証できる場合、認証アプリケーション123は、ユーザ入力を必要とせずに、アカウントアプリケーション113に対応するアカウントにログインさせ得る。
【0032】
示されるように、認証アプリケーション123によるアカウントID107の検証後、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVV値を備える仮想番号126を生成する。次に、仮想番号126は、ネットワークを介してモバイルデバイス110に送信され得る。受信されると、アカウントアプリケーション113は、仮想番号126の1つまたは複数の要素をOS112のクリップボード114に提供する。例えば、アカウントアプリケーション113は、仮想番号126から仮想アカウント番号を抽出し、抽出された仮想アカウント番号をクリップボード114に提供し、それにより、仮想アカウント番号をクリップボード114にコピーし得る。そうすることにより、ユーザは、ウェブブラウザ115に戻り、クリップボードからウェブブラウザ115のフォームのアカウント番号フィールドに仮想アカウント番号を貼り付け得る。有効期限および/またはCVVは、同様に、アカウントアプリケーション113によって抽出され、クリップボード114に提供され得る。そうすることにより、有効期限および/またはCVVをクリップボード114からウェブブラウザ115のフォームの対応するフィールドに貼り付け得る。
【0033】
述べたように、VANジェネレータ142および/または認証サーバ120は、アカウント所有者名、請求先住所、および/または配送先住所をモバイルデバイス110にさらに提供し得る。しかしながら、いくつかの実施形態では、アカウント所有者名、配送先住所、および/または請求先住所は、アカウントアプリケーション113および/またはモバイルデバイス110によってローカルに格納される。したがって、そのような実施形態では、アカウントアプリケーション113は、アカウント所有者名、請求先住所、および/または配送先住所をクリップボード114に提供し得る。そうすることで、ユーザは、アカウント所有者名、配送先住所、および/または請求先住所をクリップボードからウェブブラウザ115のフォームのアカウント番号フィールドに貼り付け得る。
【0034】
図2Aは、非接触カード101をタップして仮想アカウント番号を生成し、仮想アカウント番号をクリップボード114にコピーする例示的な実施形態を示す概略図200である。示されるように、ウェブブラウザ115は、フォームフィールド201~203(例えば、支払いフォーム)を含むフォームを出力する。ここで、フィールド201は、アカウント番号フィールドに対応し、フィールド202は、有効期限フィールドに対応し、フィールド203は、CVVフィールドに対応する。示されるように、通知204は、アカウント番号フィールド201がフォーカスを移動させた(例えば、ユーザによって選択される)ときに、OS112および/またはアカウントアプリケーション113によって出力される。通知204は、非接触カード101をモバイルデバイス110にタップするようにユーザに指示する。一実施形態では、ユーザは、非接触カード101をモバイルデバイス110にタップする前に、通知204を選択する。
【0035】
前述のように、非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、カードリーダ118を介して(例えば、NFC、ブルートゥース(登録商標)、RFID、および/またはEMVプロトコルなどを介して)、非接触カード101に指示を送信する。指示は、暗号化されたデータを含むURLを生成するように指定し得る。述べたように、アプレット103は、非接触カードの秘密鍵104を使用して、暗号化されたデータを含むURLを生成し得る。次に、アプレット103は、URLのパラメータとして暗号化されたデータを含むURLを生成し、暗号化されたデータを含むURLをモバイルデバイス110に送信し得る。受信されると、暗号化されたデータを含むURLにより、アカウントアプリケーション113のページが開かれ得る。
【0036】
図2Bは、非接触カード101から暗号化されたデータを含むURLを受信することに応答してアカウントアプリケーション113が開かれた実施形態を示す概略図210である。示されるように、アカウントアプリケーション113は、ユーザが自分のアカウントにログインするために指紋を提供することを要求する。他の実施形態では、ユーザは、FaceID、他の生体認証識別子、ユーザ名/パスワード、または任意の他のタイプの資格情報を使用してアカウントにログインし得る。いくつかの実施形態では、ユーザログインは必要とされない。ユーザがアカウントにログインすると、アカウントアプリケーション113は、暗号化されたデータを認証アプリケーション123に送信する。検証されると(例えば、復号されると)、認証アプリケーション123は、VANジェネレータ142に、非接触カード101に関連付けられた仮想アカウント番号、有効期限、およびCVVを生成させる。次に、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVをモバイルデバイス110に送信し得る。示されるように、受信されると、アカウントアプリケーション113は、仮想アカウント番号をOSのクリップボード114にコピーする。一実施形態では、アカウントアプリケーション113は、アカウント番号フィールドがフォーカスを有しているという決定に基づいて、仮想アカウント番号をクリップボード114にコピーする。次に、アカウントアプリケーション113は、ユーザが前のアプリケーション(例えば、ウェブブラウザ115)に戻ることを可能にするリンク205(または他のグラフィカルオブジェクト)を生成および出力し得る。
【0037】
図2Cは、ユーザがリンク205を選択してウェブブラウザ115に戻る一実施形態を示す概略図220である。示されるように、通知206は、ユーザが仮想アカウント番号をフォームフィールド201に貼り付けることを可能にし得る(例えば、ユーザがフォームフィールド201を長押しした後)。選択されると、OS112は、仮想カード番号をクリップボード114からフォームフィールド201に貼り付け得る。図2Dは、仮想アカウント番号がフォームフィールド201に貼り付けられた実施形態を示す概略図230である。示されるように、OS112および/またはアカウントアプリケーション113は、通知207を出力し得る。通知207は、VANジェネレータ142から受信した仮想アカウント番号に関連付けられた有効期限とCVVを含む。示されるように、通知207は、選択されると、有効期限をクリップボード114にコピーするリンク208を含む。同様に、通知207は、選択されると、CVVをクリップボード114にコピーするリンク209を含む。リンクの代わりに他のグラフィックオブジェクトを使用することもし得る。いくつかの実施形態では、通知207の出力は、有効期限およびCVVの容易なコピー/貼り付けを促進するようにタイミングがとられている。例えば、アカウントアプリケーション113は、VANジェネレータ142から仮想アカウント番号、有効期限、およびCVVを受信することに応答してタイマを開始し得る。他の例として、アカウントアプリケーション113は、ユーザがリンク205を選択してウェブブラウザ115に戻るときにタイマを開始し得る。タイマが事前定義された時間閾値(例えば、5秒、10秒など)を超えると、通知207が生成され、出力される。そうすることで、ユーザは、通知207に気を取られることなく、アカウント番号をフォームフィールド201に貼り付ける時間ができ、同時に、有効期限および/またはCVVのコピーおよび/または貼り付けを容易にするためにタイムリに通知207を提供できる。
【0038】
図3Aは、非接触カード101をタップして仮想アカウント番号を生成し、仮想アカウント番号をクリップボード114にコピーする例示的な実施形態を示す概略図300である。示されるように、ウェブブラウザ115は、URL305からウェブサイトをロードした。ウェブサイトは、フォームフィールド301~303を有するフォーム(例えば、支払いフォーム)を含み、ウェブブラウザ115の第1のタブにあり得る。フィールド301はアカウント番号フィールドに対応し、フィールド302は有効期限フィールドに対応し、フィールド303はCVVフィールドに対応する。示されるように、通知304は、アカウント番号フィールド301がフォーカスを移動させたとき(例えば、ユーザによって選択されたとき)に、OS112および/またはアカウントアプリケーション113によって出力される。通知304は、非接触カード101をモバイルデバイス110にタップするようにユーザに指示する。一実施形態では、ユーザは、非接触カード101をモバイルデバイス110にタップする前に、通知304を選択する。
【0039】
フィールドがフォーカスを移動させたことを決定するために、アカウントアプリケーション113および/またはOS112は、アカウント番号フィールド301のハイパーテキストマークアップ言語(HTML)属性を解析して、アカウント番号フィールド301がフォーカスを移動させたことを決定できる。さらに、アカウントアプリケーション113および/またはOS112は、アカウント番号フィールド301のメタデータを解析して、フィールド301がアカウント番号に関連付けられていることを決定し得る。例えば、アカウントアプリケーション113および/またはOS112は、メタデータに基づいて、アカウント番号フィールド301が入力として16文字を受信するように構成されていることを決定し得る。他の例として、メタデータは、アカウント番号フィールドに関連付けられた名前に類似したフォームフィールド301の名前を指定し得る(例えば、「accountnumber」、「account_number」など)。
【0040】
前述のように、非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、カードリーダ118を介して(例えば、NFC、ブルートゥース(登録商標)、RFID、および/またはEMVプロトコルなどを介して)、非接触カード101に指示を送信する。指示は、暗号化されたデータを含むURLを生成するように指定し得る。しかしながら、いくつかの実施形態では、非接触カード101により、アプレット103は、モバイルデバイス110から受信された命令を必要とせずに、暗号化されたデータを含むURLを生成する。述べたように、アプレット103は、非接触カード101の秘密鍵104を使用して、暗号化されたデータを含むURLを生成し得る。図3Aに示される例では、アプレット103は、秘密鍵104を使用して、「ABCD123XYZ」の例示的な暗号化された文字列を生成し得る。次に、アプレット103は、認証アプリケーション123へのURLを生成し得、ここで、URLは、URLのパラメータとして暗号化されたデータを含む。図3Aに示されている例では、暗号化されたデータを含むURLは、「https:///www.example.com/auth.html?ABCD123XYZ」であり得る。次に、アプレット103は、暗号化されたデータを含むURLをモバイルデバイス110に送信し得る。
【0041】
図3Bは、非接触カード101から暗号化されたデータを含むURLを受信することに応答してウェブブラウザ115の新しいタブが開かれる実施形態を示す概略図310である。示されているように、ウェブブラウザのURL306は、アプレット103によって生成された暗号化されたデータを含むURL、すなわち、「https:///www.example.com/auth.html?ABCD123XYZ」に向けられる。認証アプリケーション123は、秘密鍵104を使用して暗号化されたデータを復号して、暗号化されたデータを検証し得る。次に、認証アプリケーション123は、仮想アカウント番号、有効期限、およびCVVを生成するようにVANジェネレータ142に指示し得る。しかしながら、いくつかの実施形態では、VANジェネレータ142は、仮想アカウント番号を生成し、既存の有効期限および/またはCVVを(例えば、アカウントデータ124から)選択する。いくつかのそのような例では、既存の有効期限および/またはCVVは、非接触カード101、またはアカウントデータ124内のアカウントに関連付けられた他のカードの有効期限および/またはCVVであり得る。
【0042】
図3Bに示されるように、ウェブブラウザ115のタブは、仮想アカウント番号、有効期限、およびCVVを含む。一実施形態では、VANジェネレータ142は、生成されたデータを認証アプリケーション123に提供する。そうすることにより、認証アプリケーション123は、ウェブブラウザ115にデータを出力し得る。他の技術を使用して、ウェブブラウザ115をVANジェネレータ142にリダイレクトし得、これは、仮想アカウント番号、有効期限、およびCVVをウェブブラウザ115に出力し得る。示されるように、ウェブブラウザ115は、ユーザが仮想アカウント番号、有効期限、およびCVVをコピー/貼り付けたら、ウェブブラウザ115のタブを閉じるようにユーザに通知することを含む。
【0043】
図3Cは、VANジェネレータ142および/または認証アプリケーション123が、VANジェネレータ142によって生成された仮想アカウント番号、有効期限、およびCVVを含むプッシュ通知307をモバイルデバイスに送信する実施形態を示す概略図320である。仮想アカウント番号、有効期限、およびCVVは、本明細書に記載されている任意の技術に基づいて生成され得る。一実施形態では、通知307は、図3Bのウェブブラウザ115において仮想アカウント番号、有効期限、およびCVVを出力する代わりに(またはそれに加えて)生成される。示されるように、通知307は、仮想アカウント番号、有効期限、およびCVVを含む。示されるように、通知307は、選択されると、仮想アカウント番号をクリップボード114にコピーするリンク308を含む。同様に、通知307は、選択されると、有効期限をクリップボード114にコピーするリンク309を含む。同様に、通知307は、選択されると、CVVをクリップボード114にコピーするリンク321を含む。リンクの代わりに他のグラフィックオブジェクトを使用することもし得る。いくつかの実施形態では、通知307の出力は、例えば、上記のようにタイマの満了時に、有効期限およびCVVの容易なコピー/貼り付けを促進するようにタイミングがとられている。
【0044】
図3Dは、VANジェネレータ142および/または認証アプリケーション123が、VANジェネレータ142によって生成された仮想アカウント番号、有効期限、およびCVVを含むテキストメッセージ通知311をモバイルデバイスに送信する実施形態を示す概略図330である。仮想アカウント番号、有効期限、およびCVVは、本明細書に記載されている任意の技術に基づいて生成され得る。一実施形態では、テキストメッセージ通知311は、図3Bのウェブブラウザ115において仮想アカウント番号、有効期限、およびCVVを出力する代わりに(またはそれに加えて)生成される。示されるように、テキストメッセージ通知311は、仮想アカウント番号、有効期限、およびCVVを含む。示されるように、テキストメッセージ通知311は、選択されると、仮想アカウント番号をクリップボード114にコピーするリンク313を含む。同様に、テキストメッセージ通知311は、選択されると、有効期限をクリップボード114にコピーするリンク314を含む。同様に、テキストメッセージ通知311は、選択されると、CVVをクリップボード114にコピーするリンク315を含む。リンクの代わりに他のグラフィックオブジェクトを使用することもし得る。さらに、示されるように、テキストメッセージ311は、自動入力リンク312を含み、これは、選択されると、仮想アカウント番号、有効期限、およびCVVをそれぞれフォームフィールド301~303に自動入力する。少なくとも1つの実施形態では、OSの自動入力サービス(図示せず)は、アカウント番号、有効期限、およびCVVをフォームフィールド301~303に自動入力する。いくつかの実施形態では、自動入力サービスは、フォームフィールド(例えば、フォームフィールド301~303)を検出し、検出されたフォームフィールドのタイプと一致するタイプを有する通知(例えば、通知311)内のコンテンツを検出し、通知から解析されたコンテンツをキーボードの自動入力候補に提供する。そうすることで、自動入力サービスが通知から対応するフォームフィールドにデータを自動的に入力し得る。
【0045】
図2A図2Dおよび図3A図3Dには示されていないが、アカウント所有者名、請求先住所、および/または配送先住所は、クリップボード114にコピーされ、ウェブブラウザの対応するフォームフィールドに貼り付けられ得る。述べたように、名前、請求先住所、および/または配送先住所は、モバイルデバイス110にローカルに格納され、および/またはVANジェネレータ142および/または認証サーバ120から受信され得る。
【0046】
図4は、論理フロー400の実施形態を示している。論理フロー400は、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。例えば、論理フロー400は、非接触カードを使用して仮想アカウント番号を生成し、仮想アカウント番号をクリップボード114にコピーするための動作のいくつかまたはすべてを含み得る。この文脈において、実施形態は、限定されない。
【0047】
示されるように、論理フロー400は、ブロック405で始まり、アカウントアプリケーション113および/またはOS112は、フォームの支払いフィールドがフォーカスを移動させたと決定する。フォームは、ウェブブラウザ115、アカウントアプリケーション113、および/または他のアプリケーションにあり得る。例えば、ユーザは、フォームの支払いフィールドをタップして、支払いフィールドにフォーカスを与え得る。他の例として、ユーザは、マウスおよび/またはキーボードを使用して、フォームの支払いフィールドを選択し得る。より一般的には、プログラムで生成されたフォーカスを含む、任意の技術を使用して支払いフィールドにフォーカスを与え得る。例えば、支払いフィールドは、HTMLの「focus()」方法に基づいてフォーカスを移動させ得る。他の例として、例えば、ソースコードの支払いフィールドに適用されている「autofocus」HTML属性に基づいて、フォームがロードされるときに、支払いフィールドが自動的にフォーカスを移動させ得る。支払いフィールドは、名前フィールド、アカウント番号フィールド、有効期限フィールド、配送先住所フィールド、請求先住所フィールド、および/またはCVVフィールドのうちの1つまたは複数を含み得る。支払いフィールドがフォーカスを移動させると、アカウントアプリケーション113および/またはOS112は、非接触カード101をモバイルデバイス110にタップするようにユーザに指定する通知を出力し得る。いくつかの実施形態では、通知は、フォームが1つまたは複数の支払いフィールドを含むという決定に基づいて、フォームフィールドがフォーカスを移動させたという決定を必要とせずに生成され得る。通知は、非接触カード101をモバイルデバイス110にタップする方法の例を提供するGUIを含み得る。ブロック410で、ユーザは、非接触カード101をモバイルデバイスにタップして、非接触カード101に、暗号化されたデータをURLの一部として生成および送信させる。アカウントアプリケーション113は、URLの一部として暗号化されたデータを生成および送信することを指定する、NFCカードリーダ118を介して非接触カード101に指示を送信し得る。
【0048】
ブロック415で、非接触カードのアプレット103は、秘密鍵104および暗号化アルゴリズムを使用して暗号化されたデータを生成する。次に、アプレット103は、暗号化されたデータをURLのパラメータとして含み得る。URLは、フォローされたときにアカウントアプリケーション113の事前定義されたページが少なくとも部分的に開かれるようにするユニバーサルリンクURLであり得る。ブロック420で、アプレット103は、暗号化されたデータを含むURLをモバイルデバイス110に送信し得る。ブロック425で、アカウントアプリケーション113は、非接触カード101から受信したユニバーサルリンクURLに対応するページに開かれる。いくつかの実施形態では、アカウントアプリケーション113は、ユーザが自分のアカウントにログインすることを要求し得る(まだログインしていない場合)。いくつかのそのような実施形態では、URLは、ユーザを自分のアカウントにログインさせるために必要な資格情報を受信するように構成された外部認証ウェブサイトに向けられ得る。他の例として、URLは、ユーザを自分のアカウントにログインさせるために必要な資格情報を受信するアカウントアプリケーション113の認証ページに向けられ得る。
【0049】
ブロック430で、アカウントアプリケーション113は、暗号化されたデータをURLから抽出し、検証のために暗号化されたデータを認証サーバ120の認証アプリケーション123に送信する。暗号化されたデータが符号化されている場合、アカウントアプリケーション113および/または認証アプリケーション123は、暗号化されたデータを復号し得る。ブロック435で、認証アプリケーション123は、暗号化されたデータを検証するために、サーバ120のメモリ内の秘密鍵を使用して暗号化されたデータを復号する。ブロック440で、認証アプリケーション123は、仮想アカウント番号、有効期限、およびCVVを生成するように指定する指示をVANジェネレータ142に送信する。認証アプリケーション123は、仮想アカウント番号に関する1つまたは複数の制限をさらに指定し得る(例えば、1時間以内に使用されなければならない、指定された業者のウェブサイトでのみ使用可能であるなど)。ブロック445で、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVを生成する。ブロック450で、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVをモバイルデバイス110に送信する。VANジェネレータ142はさらに、アカウント所有者名、請求先住所、および/または配送先住所をモバイルデバイス110に送信し得、これらは、認証サーバ120からVANジェネレータ142によって受信され得る。例えば、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVを受信するために、アカウントアプリケーション113によって処理されるプッシュ通知、テキストメッセージ、または1つまたは複数のデータパケットを生成し得る。
【0050】
ブロック455で、アカウントアプリケーション113は、仮想アカウント番号をOSのクリップボード114にコピーする。アカウントアプリケーション113はさらにタイマを開始し得る。ブロック460で、ユーザは、ウェブブラウザ115に戻り、クリップボード114に格納された仮想アカウント番号をフォームの支払いフィールドに貼り付け得る。ブロック465で、アカウントアプリケーション113は、ブロック455で設定されたタイマが経過した後(または閾値時間を超えた後)に、アカウント所有者名、請求先住所、配送先住所、有効期限、および/またはCVVを指定する通知を出力する。これにより、ユーザは、アカウント所有者名、請求先住所、配送先住所、有効期限、CVVをコピーしてフォームの対応するフィールドに貼り付け得る。
【0051】
図5は、論理フロー500の実施形態を示している。論理フロー500は、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。例えば、論理フロー500は、非接触カードを使用して仮想アカウント番号を生成し、仮想アカウント番号をクリップボード114にコピーするための動作のいくつかまたはすべてを含み得る。この文脈において、実施形態は、限定されない。
【0052】
示されるように、論理フロー500は、ブロック505で始まり、アカウントアプリケーション113および/またはOS112は、フォームの支払いフィールドがフォーカスを移動させたと決定する。フォームは、ウェブブラウザ115、アカウントアプリケーション113、および/または他のアプリケーションにあり得る。例えば、ユーザは、フォームの支払いフィールドをタップして、支払いフィールドにフォーカスを与え得る。他の例として、ユーザは、マウスおよび/またはキーボードを使用して、フォームの支払いフィールドを選択し得る。より一般的には、プログラムで生成されたフォーカスを含む、任意の技術を使用して支払いフィールドにフォーカスを与え得る。例えば、支払いフィールドは、HTMLの「focus()」方法に基づいてフォーカスを移動させ得る。他の例として、例えば、ソースコードの支払いフィールドに適用されている「autofocus」HTML属性に基づいて、フォームがロードされるときに、支払いフィールドが自動的にフォーカスを移動させ得る。支払いフィールドは、名前フィールド、アカウント番号フィールド、有効期限フィールド、配送先住所フィールド、請求先住所フィールド、および/またはCVVフィールドのうちの1つまたは複数を含み得る。支払いフィールドがフォーカスを移動させると、アカウントアプリケーション113および/またはOS112は、非接触カード101をモバイルデバイス110にタップするようにユーザに指定する通知を出力し得る。いくつかの実施形態では、通知は、フォームが1つまたは複数の支払いフィールドを含むという決定に基づいて生成され得る。通知は、非接触カード101をモバイルデバイス110にタップする方法の例を示すGUIを含み得る。ブロック510で、ユーザは、非接触カード101をモバイルデバイスにタップして、非接触カード101に、URLの一部としてデータを生成および送信させる。アカウントアプリケーション113は、URLの一部としてデータを生成および送信することを指定するNFCカードリーダ118を介して非接触カード101に指示を送信し得る。
【0053】
ブロック515で、非接触カードのアプレット103は、URLのパラメータとしてアカウント識別子(またはその一部)を含むURLを生成する。URLは、フォローされたときにアカウントアプリケーション113の事前定義されたページが少なくとも部分的に開かれるようにするユニバーサルリンクURLであり得る。ブロック520で、アプレット103は、アカウント識別子を含むURLをモバイルデバイス110に送信し得る。ブロック525で、アカウントアプリケーション113は、非接触カード101から受信したユニバーサルリンクURLに対応するページに開かれる。いくつかの実施形態では、アカウントアプリケーション113は、ユーザが自分のアカウントにログインすることを要求し得る(まだログインしていない場合)。
【0054】
ブロック530で、アカウントアプリケーション113は、URLからアカウント識別子を抽出し、検証のためにアカウント識別子を認証サーバ120の認証アプリケーション123に送信する。ブロック535で、認証アプリケーション123は、アカウント識別子を検証する(例えば、受信したアカウント識別子が予想されるおよび/または既知のアカウント識別子値と一致するかどうかを決定することによって)。ブロック540で、認証アプリケーション123は、仮想アカウント番号、有効期限、およびCVVを生成するように指定する指示をVANジェネレータ142に送信する。認証アプリケーション123は、仮想アカウント番号に関する1つまたは複数の制限をさらに指定し得る(例えば、1時間以内に使用されなければならない、指定された業者のウェブサイトでのみ使用可能であるなど)。ブロック545で、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVを生成する。ブロック550で、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVをモバイルデバイス110に送信する。VANジェネレータ142はさらに、アカウント所有者名、請求先住所、および/または配送先住所をモバイルデバイス110に送信し得、これらは、認証サーバ120からVANジェネレータ142によって受信され得る。例えば、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVを受信するために、アカウントアプリケーション113によって処理されるプッシュ通知、テキストメッセージ、または1つまたは複数のデータパケットを生成し得る。
【0055】
ブロック555で、アカウントアプリケーション113は、仮想アカウント番号をOSのクリップボード114にコピーする。アカウントアプリケーション113はさらに、タイマを開始し得る。ブロック560で、ユーザは、ウェブブラウザ115に戻り、クリップボード114に格納された仮想アカウント番号をフォームの支払いフィールドに貼り付け得る。ブロック565で、アカウントアプリケーション113は、ブロック555で設定されたタイマが経過した後(または閾値時間を超えた後)に、アカウント所有者名、請求先住所、配送先住所、有効期限、および/またはCVVを指定する通知を出力する。これにより、ユーザは、アカウント所有者名、請求先住所、配送先住所、有効期限、CVVをコピーしてフォームの対応するフィールドに貼り付け得る。
【0056】
図6は、論理フロー600の実施形態を示している。論理フロー600は、本明細書で説明される1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。例えば、論理フロー600は、非接触カードを使用して仮想アカウント番号を生成し、仮想アカウント番号をクリップボード114にコピーするための動作のいくつかまたはすべてを含み得る。この文脈において、実施形態は、限定されない。
【0057】
示されるように、論理フロー600は、ブロック605で始まり、アカウントアプリケーション113および/またはOS112は、フォームの支払いフィールドがフォーカスを移動させたと決定する。フォームは、ウェブブラウザ115の第1のタブにあり得る。例えば、ユーザは、フォームの支払いフィールドをタップして、支払いフィールドにフォーカスを与え得る。他の例として、ユーザは、マウスおよび/またはキーボードを使用して、フォームの支払いフィールドを選択し得る。より一般的には、プログラムで生成されたフォーカスを含む、任意の技術を使用して支払いフィールドにフォーカスを与え得る。例えば、支払いフィールドは、HTMLの「focus()」方法に基づいてフォーカスを移動させ得る。他の例として、例えば、ソースコードの支払いフィールドに適用されている「autofocus」HTML属性に基づいて、フォームがロードされるときに、支払いフィールドが自動的にフォーカスを移動させ得る。支払いフィールドは、名前フィールド、アカウント番号フィールド、有効期限フィールド、配送先住所フィールド、請求先住所フィールド、および/またはCVVフィールドのうちの1つまたは複数を含み得る。支払いフィールドがフォーカスを移動させると、アカウントアプリケーション113および/またはOS112は、非接触カード101をモバイルデバイス110にタップするようにユーザに指定する通知を出力し得る。いくつかの実施形態では、通知は、フォームが1つまたは複数の支払いフィールドを含むという決定に基づいて生成され得る。通知は、非接触カード101をモバイルデバイス110にタップする方法の例を示すGUIを含み得る。ブロック610で、ユーザは、非接触カード101をモバイルデバイスにタップして、非接触カード101に、URLの一部として暗号化されたデータを生成および送信させる。アカウントアプリケーション113は、URLの一部として暗号化されたデータを生成および送信することを指定する、NFCカードリーダ118を介して非接触カード101に指示を送信し得る。
【0058】
ブロック615で、非接触カードのアプレット103は、秘密鍵104および暗号化アルゴリズムを使用して暗号化されたデータを生成する。次に、アプレット103は、暗号化されたデータをURLのパラメータとして含み得る。URLは、ウェブブラウザ115の第2のタブを開かせる認証アプリケーション123および/または認証サーバ120へのURLであり得る。ブロック620で、アプレット103は、暗号化されたデータを含むURLをモバイルデバイス110に送信し得る。ブロック625で、ウェブブラウザ115は第2のタブを開き、暗号化されたデータを含むURLをロードする。
【0059】
ブロック630で、認証アプリケーション123は、暗号化されたデータをURLから抽出し、サーバ120のメモリ内の秘密鍵を使用して暗号化されたデータを復号して、暗号化されたデータを検証する。ブロック635で、認証アプリケーション123は、仮想アカウント番号、有効期限、およびCVVを生成するように指定する指示をVANジェネレータ142に送信する。認証アプリケーション123は、仮想アカウント番号に関する1つまたは複数の制限をさらに指定し得る(例えば、1時間以内に使用されなければならない、指定された業者のウェブサイトでのみ使用可能であるなど)。ブロック640で、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVを生成する。
【0060】
ブロック645で、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVを備えるプッシュ通知をモバイルデバイス110に送信する。VANジェネレータ142は、プッシュ通知の一部として、アカウント所有者名、請求先住所、および/または配送先住所をさらに送信し得る。次に、モバイルデバイス110は、受信したプッシュ通知を出力し得る。さらに、および/または代わりに、ブロック650で、VANジェネレータ142は、仮想アカウント番号、有効期限、およびCVVを備えるテキストメッセージをモバイルデバイス110に送信する。次に、モバイルデバイス110は、テキストメッセージに対応する通知を出力し得、通知は、仮想アカウント番号、有効期限、およびCVVを表示する。さらに、および/または代わりに、ブロック655で、仮想アカウント番号、有効期限、CVV、アカウント所有者名、請求先住所、および/または配送先住所が、ウェブブラウザ115の第2のタブに表示するためにオプションで出力される。ブロック660で、仮想アカウント番号、有効期限、CVV、アカウント所有者名、請求先住所、および/または配送先住所のうちの1つまたは複数を、プッシュ通知、テキストメッセージ通知、および第2のブラウザタブのうちの1つまたは複数からコピーし得、第1のブラウザタブのフォームに貼り付け得る。さらに、および/または代わりに、仮想アカウント番号、有効期限、CVV、アカウント所有者名、請求先住所、および/または配送先住所は、フォームに自動入力され得る。
【0061】
図7は、前述のような様々な実施形態を実施するのに適し得るコンピューティングシステム702を備える例示的なコンピューティングアーキテクチャ700の実施形態を示している。様々な実施形態では、コンピューティングアーキテクチャ700は、電子デバイスを備えるか、またはその一部として実施され得る。いくつかの実施形態では、コンピューティングアーキテクチャ700は、例えば、システム100の1つまたは複数のコンポーネントを実施するシステムを代表するものであり得る。いくつかの実施形態では、コンピューティングシステム702は、例えば、システム100のモバイルデバイス110、認証サーバ120、および/または仮想アカウント番号サーバ140を代表するものであり得る。実施形態は、この文脈に限定されない。より一般的には、コンピューティングアーキテクチャ700は、図1図6を参照して本明細書で説明されるすべての論理、アプリケーション、システム、方法、装置、および機能を実施するように構成される。
【0062】
このアプリケーションで使用される用語「システム」、「コンポーネント」および「モジュール」は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すことを意図しており、その例は、例示的なコンピューティングアーキテクチャ700によって提供される。例えば、コンポーネントは、コンピュータプロセッサ上で実行されるプロセス、コンピュータプロセッサ、ハードディスクドライブ、(光学および/または磁気記憶媒体の)複数のストレージドライブ、オブジェクト、実行可能なもの、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で実行されているアプリケーションとサーバの両方は、コンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に常駐し得、コンポーネントは、1台のコンピュータにローカライズされ、および/または2台以上のコンピュータ間で分散され得る。さらに、コンポーネントは、様々なタイプの通信媒体によって互いに通信可能に結合され、動作を調整し得る。調整には、情報の一方向または双方向の交換が含まれ得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形で情報を通信し得る。情報は、様々な信号線に割り当てられた信号として実施され得る。このような割り当てでは、各メッセージは、信号である。しかしながら、さらなる実施形態は、代替としてデータメッセージを使用し得る。このようなデータメッセージは、様々な接続を介して送信され得る。接続例は、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースを含む。
【0063】
コンピューティングシステム702は、1つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント、電源などの様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングシステム702による実施に限定されない。
【0064】
図7に示されるように、コンピューティングシステム702は、プロセッサ704、システムメモリ706、およびシステムバス708を含む。プロセッサ704は、AMD(登録商標)Athlon(登録商標)、Duron(登録商標)およびOpteron(登録商標)プロセッサ、ARM(登録商標)アプリケーション、組み込みおよびセキュアプロセッサ、IBM(登録商標)およびMotorola(登録商標)DragonBall(登録商標)およびPowerPC(登録商標)プロセッサ、IBMおよびSony(登録商標)Cellプロセッサ、Intel(登録商標)Celeron(登録商標)、Core(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、およびXScale(登録商標)プロセッサおよび類似のプロセッサを含むがこれらに限定されない、様々な市販のコンピュータプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサ、およびその他のマルチプロセッサアーキテクチャも、プロセッサ704として使用し得る。
【0065】
システムバス708は、システムメモリ706からプロセッサ704を含むがこれらに限定されないシステムコンポーネントにインターフェースを提供する。システムバス708は、様々な市販のバスアーキテクチャのいずれかを使用して、メモリバス(メモリコントローラの有無にかかわらず)、周辺バス、およびローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のいずれかであり得る。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス708に接続し得る。スロットアーキテクチャの例は、アクセラレーテッドグラフィックスポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、NuBus、ペリフェラルコンポーネントインターコネクト(拡張)(PCI(X))、PCI Express、Personal Computer Memory Card International Association(PCMCIA)などを含むがこれらに限定されない。
【0066】
システムメモリ706は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ(例えば、1つまたはより多くのフラッシュアレイ)、強誘電性ポリマーメモリ、オボニックメモリ、相変化または強誘電性メモリなどのポリマーメモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気または光カード、独立ディスクの冗長アレイ(RAID)ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ、ソリッドステートドライブ(SSD))、および情報の格納に適したその他のタイプの記憶媒体などの1つまたは複数の高速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。図7に示される図示の実施形態では、システムメモリ706は、不揮発性メモリ710および/または揮発性メモリ712を含み得る。不揮発性メモリ710には、基本入出力システム(BIOS)が格納され得る。
【0067】
コンピューティングシステム702は、内部(または外部)ハードディスクドライブ(HDD)714、リムーバブル磁気ディスク718からの読み取りまたはリムーバブル磁気ディスク718への書き込みを行う磁気フロッピディスクドライブ(FDD)716、およびリムーバブル光ディスク722(例えば、CD-ROMまたはDVD)からの読み取りまたはリムーバブル光ディスク722への書き込みを行う光ディスクドライブ720を含む、1つまたは複数の低速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。HDD714、FDD716、および光ディスクドライブ720は、それぞれ、HDDインターフェース724、FDDインターフェース726、および光学ドライブインターフェース728によってシステムバス708に接続され得る。外部ドライブ実施用のHDDインターフェース724は、ユニバーサルシリアルバス(USB)およびIEEE1394インターフェース技術の少なくとも一方または両方を含み得る。コンピューティングシステム702は、一般に、図1図6を参照して本明細書で説明されるすべての論理、システム、方法、装置、および機能を実施するように構成される。
【0068】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性および/または不揮発性ストレージを提供する。例えば、多数のプログラムモジュールは、オペレーティングシステム730、1つまたは複数のアプリケーションプログラム732、他のプログラムモジュール734、およびプログラムデータ736を含む、ドライブおよびメモリユニット710、712に格納され得る。一実施形態では、1つまたは複数のアプリケーションプログラム732、他のプログラムモジュール734、およびプログラムデータ736は、例えば、システム100の様々なアプリケーションおよび/またはコンポーネント、例えば、オペレーティングシステム112、アカウントアプリケーション113、クリップボード114、ウェブブラウザ115、認証アプリケーション123、およびVANジェネレータ142を含み得る。
【0069】
ユーザは、1つまたは複数の有線/無線入力デバイス、例えば、キーボード738およびマウス740などのポインティングデバイスを介して、コンピューティングシステム702にコマンドと情報を入力し得る。その他の入力デバイスには、マイク、赤外線(IR)リモートコントロール、無線周波数(RF)リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グラブ、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性など)、トラックボール、トラックパッド、センサ、スタイラスなどを含み得る。これらおよび他の入力デバイスは、システムバス708に結合された入力デバイスインターフェース742を介してプロセッサ704に接続されることがよくあるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続され得る。
【0070】
モニタ744または他のタイプの表示デバイスも、ビデオアダプタ746などのインターフェースを介してシステムバス708に接続されている。モニタ744は、コンピューティングシステム702の内部または外部にあり得る。モニタ744に加えて、コンピュータは通常、スピーカ、プリンタなどの他の周辺出力デバイスを含む。
【0071】
コンピューティングシステム702は、リモートコンピュータ748などの1つまたは複数のリモートコンピュータへの有線および/または無線通信を介した論理接続を使用して、ネットワーク環境で動作し得る。リモートコンピュータ748は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽機器、ピアデバイス、または他の一般的なネットワークノードであり得、通常、コンピューティングシステム702に関連して記載された要素の多くまたはすべてを含むが、簡潔にするために、メモリ/ストレージデバイス750のみが示されている。示されている論理接続には、ローカルエリアネットワーク(LAN)752および/またはより大きなネットワーク、例えば、ワイドエリアネットワーク(WAN)754への有線/無線接続が含まれる。このようなLANおよびWANネットワーク環境は、オフィスや企業では一般的であり、イントラネットなどの企業規模のコンピュータネットワークを容易にする。これらはすべて、例えば、インターネットなどのグローバル通信ネットワークに接続し得る。実施形態では、図1のネットワーク130は、LAN752およびWAN754のうちの1つまたは複数である。
【0072】
LANネットワーキング環境で使用される場合、コンピューティングシステム702は、有線および/または無線通信ネットワークインターフェースまたはアダプタ756を介してLAN752に接続される。アダプタ756は、アダプタ756の無線機能と通信するためにその上に配置された無線アクセスポイントを含み得るLAN752への有線および/または無線通信を容易にし得る。
【0073】
WANネットワーキング環境で使用される場合、コンピューティングシステム702は、モデム758を含み得るか、またはWAN754上の通信サーバに接続されるか、またはインターネットを経由するなど、WAN754上で通信を確立するための他の手段を有する。モデム758は、内部または外部であり、有線および/または無線デバイスであり、入力デバイスインターフェース742を介してシステムバス708に接続する。ネットワーク環境では、コンピューティングシステム702に関して示されたプログラムモジュール、またはその一部は、リモートメモリ/ストレージデバイス750に格納され得る。示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されるであろう。
【0074】
コンピューティングシステム702は、無線通信(例えば、IEEE802.16無線変調技術)で動作可能に配置された無線デバイスなど、IEEE802規格ファミリを使用して有線および無線デバイスまたはエンティティと通信するように動作可能である。これには、少なくともWi-Fi(または無線フィデリティ)、WiMax、ブルートゥース(登録商標)ワイヤレステクノロジなどが含まれる。したがって、通信は、従来のネットワークと同様に事前定義された構造、または少なくとも2つのデバイス間での単なるアドホック通信であり得る。Wi-Fiネットワークは、IEEE802.11x(a、b、g、nなど)と呼ばれる無線技術を用いて、安全で信頼性の高い高速な無線接続を提供する。Wi-Fiネットワークは、コンピュータを相互に接続したり、インターネットに接続したり、有線ネットワーク(IEEE802.3関連のメディアと機能を使用)に接続したりするために使用し得る。
【0075】
様々な実施形態は、ハードウェア要素、ソフトウェア要素、または両方の組み合わせを使用して実施され得る。ハードウェア要素の例には、プロセッサ、マイクロプロセッサ、回路、回路要素(例えば、トランジスタ、抵抗、コンデンサ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどが含まれ得る。ソフトウェアの例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、記号、またはそれらの任意の組み合わせが含まれ得る。ハードウェア要素および/またはソフトウェア要素を使用して実施形態が実施されているかどうかの決定は、必要な計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、およびその他の設計または性能の制約などの任意の数の要因に従って変化し得る。
【0076】
少なくとも1つの実施形態の1つまたは複数の態様は、プロセッサ内の様々な論理を表す機械可読媒体に格納された代表的な命令によって実施でき、機械によって読み取られると、機械は、本明細書で説明する技術を実行する論理を製造する。「IPコア」として知られるこのような表現は、有形の機械可読媒体に格納され、論理またはプロセッサを作成する製造機械にロードするために、様々な顧客または製造施設に提供される。いくつかの実施形態は、例えば、機械によって実行された場合に、実施形態に従った方法および/または動作を機械に実行させることができる命令または命令セットを格納することができる機械可読媒体または物品を使用して実施され得る。そのような機械は、例えば、任意の適切な処理プラットフォーム、コンピューティングプラットフォーム、コンピューティングデバイス、処理デバイス、コンピューティングシステム、処理システム、コンピュータ、プロセッサなどを含むことができ、ハードウェアおよび/またはソフトウェアの任意の適切な組み合わせを使用して実施し得る。機械可読媒体または物品は、例えば、任意の適切なタイプのメモリユニット、メモリデバイス、メモリ物品、メモリ媒体、ストレージデバイス、ストレージ物品、ストレージ媒体および/またはストレージユニット、例えば、メモリ、リムーバブルまたは非リムーバブルな媒体、消去可能または消去不可能な媒体、書き込み可能または再書き込み可能な媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピディスク、コンパクトディスクリードオンリメモリ(CD-ROM)、コンパクトディスクレコーダブル(CD-R)、コンパクトディスクリライタブル(CD-RW)、光ディスク、磁気メディア、光磁気メディア、リムーバブルメモリカードまたはディスク、各種デジタルバーサタイルディスク(DVD)、テープ、カセットなどを含み得る。命令は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コード、暗号化コードなどの適切なタイプのコードを含むことができ、任意の適切な高レベル、低レベル、オブジェクト指向、視覚的、コンパイル型および/または解釈型のプログラミング言語を使用して実施され得る。
【0077】
例示的な実施形態の前述の説明は、例示および説明を目的として提示された。網羅的であること、または本開示を開示された正確な形式に限定することを意図していない。この開示に照らして、多くの修正および変更が可能である。本開示の範囲は、この詳細な説明ではなく、添付の請求の範囲によって限定されることが意図されている。本出願の優先権を主張する将来の出願は、開示された主題を異なる方法で主張し得、一般に、本明細書で様々に開示または実証されるように、1つまたは複数の限定の任意のセットを含み得る。
図1A
図1B
図1C
図2A
図2B
図2C
図2D
図3A
図3B
図3C
図3D
図4
図5
図6
図7