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

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

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

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-14
(45)【発行日】2024-06-24
(54)【発明の名称】タップによるカードデータの自動入力
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240617BHJP
   H04L 9/08 20060101ALI20240617BHJP
   G06Q 20/34 20120101ALI20240617BHJP
【FI】
H04L9/32 200A
H04L9/08 B
H04L9/32 100E
G06Q20/34 420
【請求項の数】 20
(21)【出願番号】P 2021540036
(86)(22)【出願日】2020-01-24
(65)【公表番号】
(43)【公表日】2022-03-10
(86)【国際出願番号】 US2020014963
(87)【国際公開番号】W WO2020154600
(87)【国際公開日】2020-07-30
【審査請求日】2022-02-28
(31)【優先権主張番号】16/256,983
(32)【優先日】2019-01-24
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100132241
【弁理士】
【氏名又は名称】岡部 博史
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】ジェフリー・ルール
(72)【発明者】
【氏名】ウェイン・ルッツ
(72)【発明者】
【氏名】ポール・モートン
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2014-239348(JP,A)
【文献】米国特許出願公開第2017/0262421(US,A1)
【文献】米国特許出願公開第2016/0034891(US,A1)
【文献】特開2004-086429(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/00- 9/40
G06F 21/00-21/88
G06Q 20/00-20/42
(57)【特許請求の範囲】
【請求項1】
デバイスで実行されるアプリケーションが、フォームの支払いフィールドがフォーカスを移動させたことを決定することであって、前記支払いフィールドは、前記フォームの複数のフィールドのうちの1つである、ことと、
前記アプリケーションが、非接触カードから暗号化されたデータを受信することと、
前記アプリケーションが、サーバから受信した結果に基づいて、前記暗号化されたデータを復号化したことに少なくとも部分的に基づき、前記サーバが前記暗号化されたデータを検証したと決定することと、
前記アプリケーションが、カウント番号を受信することと、
前記アプリケーションが、前記アカウント番号を前記デバイスで実行される自動入力サービスに提供することと、
前記自動入力サービスが、前記アカウント番号を前記フォームの前記支払いフィールドに自動入力することと、
を含む方法。
【請求項2】
自動入力により、前記フォームの前記支払いフィールドに前記アカウント番号が目に見える形で表示され、前記方法は、
前記アプリケーションが、前記結果を受信する前に、前記暗号化されたデータを前記サーバに送信すること、
をさらに含む、請求項1に記載の方法。
【請求項3】
前記アカウント番号は前記非接触カードまたは前記サーバのいずれかから受信され、
前記方法は、
前記アプリケーションが、前記受信したアカウント番号が暗号化されていることを決定することと、
前記アプリケーションが、前記アカウント番号を前記自動入力サービスに提供する前に、前記暗号化されたアカウント番号を復号することと、
をさらに含む、請求項1に記載の方法。
【請求項4】
前記フォームの複数のフィールドは、有効期限フィールド、請求先住所フィールド、およびカード検証値(CVV)フィールドをさらに含み、
前記支払いフィールドがフォーカスを移動させたという決定は、前記支払いフィールドのメタデータの属性に基づいており、前記アカウント番号は、前記支払いフィールドが前記アカウント番号と関連付けられていることを示す前記支払いフィールドの別のメタデータの属性に基づいて、前記支払いフィールドに自動入力される、請求項1に記載の方法。
【請求項5】
前記方法は、
前記アプリケーションが、前記非接触カードに関連付けられた有効期限、請求先住所、およびCVVを受信することと、
前記アプリケーションが、前記有効期限、前記請求先住所、および前記CVVを前記自動入力サービスに提供することと、
前記自動入力サービスが、前記有効期限を前記フォームの前記有効期限フィールドに、前記請求先住所を前記フォームの前記請求先住所フィールドに、前記CVVを前記フォームの前記CVVフィールドに自動入力することと、
をさらに含む、請求項4に記載の方法。
【請求項6】
前記方法は、
前記アプリケーションが、(i)購入の完了、または(ii)所定の時間の満了のうち少なくとも1つに基づいて前記自動入力サービスを変更することであって、前記自動入力サービスを変更することは、(i)前記自動入力サービスから前記アカウント番号を削除すること、または(ii)ランダムデータを前記自動入力サービスにコピーすることのうち1つまたは複数を含む、こと、
をさらに含む、請求項1に記載の方法。
【請求項7】
前記暗号化されたデータは、暗号化アルゴリズムおよび多様化された鍵に基づいており、前記多様化された鍵は、マスター鍵およびカウンタ値に基づいている、請求項1に記載の方法。
【請求項8】
命令を含むコンピュータで読み取り可能な記憶媒体であって、前記命令は、デバイスのプロセッサによって実行されると、前記プロセッサに、
フォームの支払いフィールドがフォーカスを移動させたことを決定することであって、前記支払いフィールドは、前記フォームの複数のフィールドのうちの1つである、ことと、
非接触カードから暗号化されたデータを受信することと、
サーバから受信した結果に基づいて、前記暗号化されたデータを復号化したことに少なくとも部分的に基づき、前記サーバが前記暗号化されたデータを検証したと決定することと、
カウント番号を受信することと、
前記アカウント番号を前記プロセッサで実行される自動入力サービスに提供することと、
前記自動入力サービスが、前記アカウント番号を前記フォームの前記支払いフィールドに自動入力することと、
を実行させる、コンピュータで読み取り可能な記憶媒体。
【請求項9】
自動入力により、前記フォームの前記支払いフィールドに前記アカウント番号が目に見える形で表示され、
前記命令は、前記プロセッサに、
前記結果を受信する前に、前記暗号化されたデータを前記サーバに送信すること、
をさらに実行させる、請求項8に記載のコンピュータで読み取り可能な記憶媒体。
【請求項10】
前記アカウント番号は前記非接触カードまたは前記サーバのいずれかから受信され、
前記命令は、前記プロセッサに、
前記受信したアカウント番号が暗号化されていることを決定することと、
前記アカウント番号を前記自動入力サービスに提供する前に、前記暗号化されたアカウント番号を復号することと、
をさらに実行させる、請求項8に記載のコンピュータで読み取り可能な記憶媒体。
【請求項11】
前記フォームの複数のフィールドは、有効期限フィールド、請求先住所フィールド、およびカード検証値(CVV)フィールドをさらに含む、請求項8に記載のコンピュータで読み取り可能な記憶媒体。
【請求項12】
前記命令は、前記プロセッサに、
前記非接触カードに関連付けられた有効期限、請求先住所、およびCVVを受信することと、
前記有効期限、前記請求先住所、および前記CVVを前記自動入力サービスに提供することと、
前記自動入力サービスが、前記有効期限を前記フォームの前記有効期限フィールドに、前記請求先住所を前記フォームの前記請求先住所フィールドに、前記CVVを前記フォームの前記CVVフィールドに自動入力することと、
をさらに実行させる、請求項11に記載のコンピュータで読み取り可能な記憶媒体。
【請求項13】
前記命令は、前記プロセッサに、
(i)購入の完了、または(ii)所定の時間の満了のうち少なくとも1つに基づいて前記自動入力サービスを変更することであって、前記自動入力サービスを変更することは、(i)前記自動入力サービスから前記アカウント番号を削除すること、または(ii)ランダムデータを前記自動入力サービスにコピーすることのうち1つまたは複数を含む、こと、
をさらに実行させる、請求項8に記載のコンピュータで読み取り可能な記憶媒体。
【請求項14】
前記暗号化されたデータは、暗号化アルゴリズムおよび多様化された鍵に基づいており、前記多様化された鍵は、マスター鍵およびカウンタ値に基づいている、請求項8に記載のコンピュータで読み取り可能な記憶媒体。
【請求項15】
コンピューティング装置であって、
プロセッサと、
命令を格納するメモリと、を備え、前記命令は、前記プロセッサによって実行されると、前記プロセッサに、
フォームの支払いフィールドがフォーカスを移動させたことを決定することであって、前記支払いフィールドは、前記フォームの複数のフィールドのうちの1つである、ことと、
非接触カードから暗号化されたデータを受信することと、
サーバから受信した結果に基づいて、前記暗号化されたデータを復号化したことに少なくとも部分的に基づき、前記サーバが前記暗号化されたデータを検証したと決定することと、
カウント番号を受信することと、
前記アカウント番号を前記プロセッサで実行される自動入力サービスに提供することと、
前記自動入力サービスが、前記アカウント番号を前記フォームの前記支払いフィールドに自動入力することと、
を実行させる、コンピューティング装置。
【請求項16】
自動入力により、前記フォームの前記支払いフィールドに前記アカウント番号が目に見える形で表示され、
前記命令は、前記プロセッサに、
前記結果を受信する前に、前記暗号化されたデータを前記サーバに送信すること、
をさらに実行させる、請求項15に記載のコンピューティング装置。
【請求項17】
前記アカウント番号は前記非接触カードまたは前記サーバのいずれかから受信され、
前記命令は、前記プロセッサに、
前記受信したアカウント番号が暗号化されていることを決定することと、
前記アカウント番号を前記自動入力サービスに提供する前に、前記暗号化されたアカウント番号を復号することと、
をさらに実行させる、請求項15に記載のコンピューティング装置。
【請求項18】
前記フォームの複数のフィールドは、有効期限フィールド、請求先住所フィールド、およびカード検証値(CVV)フィールドをさらに含む、請求項15に記載のコンピューティング装置。
【請求項19】
前記命令は、前記プロセッサに、
前記非接触カードに関連付けられた有効期限、請求先住所、およびCVVを受信することと、
前記有効期限、前記請求先住所、および前記CVVを前記自動入力サービスに提供することと、
前記自動入力サービスが、前記有効期限を前記フォームの前記有効期限フィールドに、前記請求先住所を前記フォームの前記請求先住所フィールドに、前記CVVを前記フォームの前記CVVフィールドに自動入力することと、
をさらに実行させる、請求項18に記載のコンピューティング装置。
【請求項20】
前記暗号化されたデータは、暗号化アルゴリズムおよび多様化された鍵に基づいており、前記多様化された鍵は、マスター鍵およびカウンタ値に基づいており、前記命令は、前記プロセッサに、
(i)購入の完了、または(ii)所定の時間の満了のうち少なくとも1つに基づいて前記自動入力サービスを変更することであって、前記自動入力サービスを変更することは、(i)前記自動入力サービスから前記アカウント番号を削除すること、または(ii)ランダムデータを前記自動入力サービスにコピーすることのうち1つまたは複数を含む、こと、
をさらに実行させる、請求項15に記載のコンピューティング装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
本出願は、2019年1月24日に出願された「タップしてカードデータを自動入力」という名称の米国特許出願第16/256,983号の優先権を主張する。前述の出願の内容は、参照により本明細書に援用される。
【0002】
本明細書の実施形態は、概してコンピューティングプラットフォームに関し、より具体的には、コンピューティングデバイスにカードをタップして、コンピューティングデバイス上の支払いフォームへの支払いデータの自動入力を開始することに関する。
【背景技術】
【0003】
支払いカードのアカウント識別子は、多くの場合、長い数字および/または文字列である。そのため、ユーザがアカウント識別子を手動で正しく入力することは困難である。実際、ユーザは、しばしば間違いを犯し、間違ったアカウント番号をコンピューティングインターフェース(例えば、支払いインターフェース)に入力する。さらに、デバイスに入力されたアカウント識別子をカメラがキャプチャして識別できるようにするプロセスが開発されているため、アカウント識別子にセキュリティリスクが生じる。
【発明の概要】
【0004】
本明細書に開示される実施形態は、カードデータをコンピューティングデバイス上のフォームに自動入力するためにタップするためのシステム、方法、製品、およびコンピュータ可読媒体を提供する。一例によれば、アプリケーションは、フォームの支払いフィールドがフォーカスを移動させたと決定し得る。次に、アプリケーションは、アカウントに関連付けられた非接触カードの通信インターフェースから暗号化されたデータを受信し得、暗号化されたデータは、暗号化アルゴリズムおよび多様化された鍵に基づいて生成され、多様化された鍵は、非接触カードのメモリに格納され、非接触カードのメモリに格納されたマスター鍵およびカウンタ値に基づいて生成され得る。次に、アプリケーションは、サーバから暗号化されたデータの検証を受信し得、サーバは、暗号化アルゴリズムおよびサーバのメモリに格納された多様化された鍵に基づいて暗号化されたデータを復号し、暗号化されたデータを検証し、サーバのメモリに格納された多様化された鍵は、マスター鍵と、サーバのメモリに格納されたカウンタ値とに基づいて生成され得る。次に、アプリケーションは、アカウントに関連付けられた暗号化されたアカウント番号をサーバから受信し得、暗号化されたアカウント番号を復号してアカウント番号を取得し得る。プロセッサ回路で実行されているオペレーティングシステム(OS)の自動入力サービスは、アカウント番号をフォームの支払いフィールドに自動入力し得る。
【図面の簡単な説明】
【0005】
図1A】カードデータを自動入力するためにタップするためのシステムの実施形態を示している。
図1B】カードデータを自動入力するためにタップするためのシステムの実施形態を示している。
図2A】カードデータを自動入力するためのタップの実施形態を示している。
図2B】カードデータを自動入力するためのタップの実施形態を示している。
図3A】カードデータを自動入力するためのタップの実施形態を示している。
図3B】カードデータを自動入力するためのタップの実施形態を示している。
図3C】カードデータを自動入力するためのタップの実施形態を示している。
図3D】カードデータを自動入力するためのタップの実施形態を示している。
図4A】非接触カードの例を示している。
図4B】非接触カードの例を示している。
図5】第1の論理フローの実施形態を示している。
図6】第2の論理フローの実施形態を示している。
図7】第3の論理フローの実施形態を示している。
図8】コンピューティングアーキテクチャの実施形態を示している。
【発明を実施するための形態】
【0006】
本明細書に開示される実施形態は、非接触カードのカードデータ(例えば、アカウント番号、有効期限、顧客請求先住所、配送先住所、および/またはカード検証値(CVV))を、自動入力サービスおよび/またはアクセシビリティサービスを使用してコンピューティングデバイスのフォームに自動入力する安全な技術を提供する。一般に、デバイスのユーザは、支払いに関連するフォームフィールド(例えば、アカウント番号フィールド、有効期限フィールド、CVVフィールド、名前、配送先住所、および/または請求先住所)を選択し得、フォームフィールドにフォーカスが移動し得る。フォームフィールドがフォーカスを移動させたと決定すると、デバイスは、非接触カードをデバイスにタップするように指示を出力し得る。次に、ユーザは、非接触カードをデバイスにタップし得る。次に、デバイスは、データを生成してアプリケーションに送信するように非接触カードに指示し得る。いくつかの実施形態では、非接触カードによって生成されたデータは、アカウント番号、有効期限、請求先住所、および/またはCVV値を含み得る。他の実施形態では、非接触カードによって生成されたデータは、鍵多様化を使用して暗号化され得る。アプリケーションは、非接触カードから受信した暗号化されたデータを検証のためにサーバに送信し得る。データを検証すると、サーバは、カードデータ(例えば、アカウント番号、有効期限、名前、住所、および/またはCVV)をデバイスに送信し得る。非接触カードから受信したか、サーバから受信したか、ローカルで受信したかにかかわらず、カードデータは、デバイスのオペレーティングシステムの自動入力サービスに提供され得る。自動入力サービスは、カードデータをフォームフィールドに自動的に入力し得る(例えば、アカウント番号をアカウント番号フォームフィールドに入力するなど)。
【0007】
これにより、すべてのデバイスと関連データのセキュリティが向上するという利点がある。例えば、従来のアプローチでは、ユーザがカードデータをフォームに手動で入力する必要があった。しかしながら、これを行うと、ユーザがカードデータをフォームに入力するときに、他のユーザまたはデバイスがカードデータを捕捉し得る。ユーザがカードデータをフォームに手動で入力する必要がなくなるため、カードデータのセキュリティが強化される。さらに、サーバによって実行される検証は、正しいカードデータがフォームに入力されていることを確認するための追加の保護を提供する。さらに、従来の解決策では非接触カードの実際のアカウント番号をフォームに入力する必要があるため、仮想カード番号の生成とフォームへの入力により、非接触カードの実際のアカウント番号のセキュリティが保護される。
【0008】
本明細書で使用される表記法および用語を一般的に参照すると、以下の詳細な説明の1つまたは複数の部分は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順に関して提示され得る。これらの手順の説明および表現は、当業者が作業の内容を他の当業者に最も効果的に伝えるために使用する。ここでの手順とは、一般的に、望ましい結果につながる、一貫性のある一連の操作であると考えられている。これらの操作は、物理量の物理的な操作を必要とする操作である。通常、これらの量は、格納、転送、結合、比較、その他の操作が可能な電気信号、磁気信号、または光信号の形をとるが、必ずしもそうではない。これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶことは、主に一般的な使用上の理由から、時々便利である。しかしながら、これらおよび類似の用語はすべて、適切な物理量に関連付けられており、それらの量に適用される便利なラベルにすぎないことに留意されたい。
【0009】
さらに、これらの操作は、通常、人間のオペレータによって実行される精神的操作に関連する、追加または比較などの用語で呼ばれることが多い。しかしながら、1つまたは複数の実施形態の一部を形成する本明細書に記載の操作のいずれにおいても、人間のオペレータのそのような能力は必要ではなく、ほとんどの場合望ましいものでもない。むしろ、これらの操作は、機械操作である。様々な実施形態の操作を実行するための有用な機械には、本明細書の教示に従って記述された内部に格納されたコンピュータプログラムによって選択的に起動または構成されるデジタルコンピュータ、および/または必要な目的のために特別に構築された装置またはデジタルコンピュータが含まれる。様々な実施形態は、これらの操作を実行するための装置またはシステムにも関する。これらの装置は、必要な目的のために特別に構成され得る。これらの様々な機械に必要な構造は、以下の説明から明らかになる。
【0010】
ここで図面を参照するが、全体を通して、同様の要素を指すために同様の参照番号が使用されている。以下の説明では、説明のために、その完全な理解を提供するために、多くの特定の詳細が示されている。しかしながら、これらの特定の詳細がなくても、新規な実施形態を実施できることは明らかであろう。他の例では、周知の構造およびデバイスは、説明を容易にするためにブロック図の形式で示されている。意図は、請求の範囲内のすべての変更、均等物、および代替物をカバーすることである。
【0011】
図1Aは、開示された実施形態と一致する例示的なシステム100の概略図を示している。示されるように、システム100は、1つまたは複数の非接触カード101、1つまたは複数のモバイルデバイス110、およびサーバ120を含む。非接触カード101は、クレジットカード、デビットカード、ATMカード、ギフトカードなど、あらゆる種類の支払いカードを表す。非接触カード101は、NFC、EMV標準、または無線通信の他の短距離プロトコルを介してモバイルデバイス110と通信するように構成された、無線周波数識別(RFID)チップなどの1つまたは複数のチップ(図示せず)を備え得る。通信プロトコルの例としてNFCが使用されているが、本開示は、EMV標準、ブルートゥース(登録商標)、および/またはWi-Fiなどの他のタイプの無線通信にも等しく適用できる。モバイルデバイス110は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、ラップトップ、ポータブルゲームデバイスなど、あらゆるタイプのネットワーク対応コンピューティングデバイスを表す。サーバ120は、サーバ、ワークステーション、計算クラスタ、クラウドコンピューティングプラットフォーム、仮想コンピューティングシステムなど、あらゆるタイプのコンピューティングデバイスを表す。
【0012】
示されるように、非接触カードのメモリ102は、カードデータ103、カウンタ104、マスター鍵105、多様化された鍵106、一意の顧客識別子107、およびアカウント番号108のデータストアを含む。カードデータ103は、一般に、非接触カード101を使用して支払いを処理するために使用される情報などのアカウント関連情報を含む。例えば、カードデータ103は、アカウント番号、有効期限、請求先住所、およびカード検証値(CVV)を備え得る。アカウント番号は、プライマリアカウント番号(PAN)、仮想アカウント番号、および/またはPANに基づいて生成されたトークンなど、任意のタイプのアカウント番号であり得る。他のタイプのアカウント番号が考えられ、アカウント番号または他のタイプのカードデータ103の使用は、開示の限定と見なされるべきではない。カードデータ103はさらに、名前、請求先住所、配送先住所、および他のアカウント関連情報を含み得る。アカウント番号108は、1回限りの仮想アカウント番号を、関連する有効期限およびCVV値とともに格納する。例えば、アカウント番号108は、数千の使い捨て仮想アカウント番号、有効期限、およびCVV値を含み得る。本明細書でより詳細に説明するように、非接触カード101は、カードデータ103および/またはアカウント番号108からの記録をアカウントアプリケーション113に提供し、自動入力サービス114および/またはアクセシビリティサービス117を介してフォームに自動入力し得る。
【0013】
示されるように、モバイルデバイス110のメモリ111は、オペレーティングシステム(OS)112のインスタンスを含む。オペレーティングシステム112の例は、Android(登録商標)OS、iOS(登録商標)、Linux(登録商標)、およびWindows(登録商標)オペレーティングシステムを含む。示されるように、OS112は、アカウントアプリケーション113、自動入力サービス114、1つまたは複数の他のアプリケーション115、クリップボード116、およびアクセシビリティサービス117を含む。アカウントアプリケーション113により、ユーザは、アカウント残高の閲覧、アイテムの購入、支払いの処理など、アカウントに関連する様々な操作を行うことができる。最初に、ユーザは、アカウントアプリケーション113にアクセスするために、認証資格情報を使用して認証する必要がある。例えば、認証資格情報は、ユーザ名およびパスワード、生体認証資格情報などを含み得る。
【0014】
自動入力サービス114は、一般に、データをフォームフィールドにプログラム的に挿入することにより、1つまたは複数のフォームフィールドに入力するように構成される。別の言い方をすれば、自動入力サービス114は、OS112内のフォームおよび/またはOS112で実行される任意のアプリケーション(例えば、アカウントアプリケーション113および/または他のアプリケーション115)内のフォームに自動的に挿入できるデータを受信して格納する。例えば、本明細書でより詳細に説明するように、自動入力サービス114は、モバイルデバイス110への非接触カード101のタップに応答して、フォームの名前、請求先住所、配送先住所、アカウント番号、有効期限、アカウント請求先住所、およびCVVフィールドを自動的に入力し得る。いくつかの実施形態では、アカウント番号は仮想アカウント番号である。いくつかの実施形態では、自動入力サービス114は、アカウントアプリケーション113に関連付けられている。例えば、自動入力サービス114は、アカウントアプリケーション113を用いてモバイルデバイス110にインストールされ得、ユーザは、インストール後に自動入力サービス114を有効にするように促される。より一般的には、アカウントアプリケーション113が開かれるたびに、アカウントアプリケーション113は、自動入力サービス114がOS112のデフォルト自動入力サービスとして有効化されているかどうかを判断し得る。自動入力サービス114がデフォルト自動入力サービスとして有効になっていない場合、アカウントアプリケーション113は、OS112のデフォルト自動入力サービスとして自動入力サービス114を有効にするようにユーザに促し得る。OS112のデフォルトの自動入力サービスとして有効化されると、自動入力サービス114は、フォームの支払い関連フィールドをプログラムで識別し、非接触カード101に関連付けられたデータでフォームフィールドを自動入力するために、モバイルデバイス110に非接触カード101をタップするようにユーザに促し得る(例えば、名前、アカウント番号、有効期限、CVV、配送先住所、および/またはアカウント請求先住所のうちの1つまたは複数)。
【0015】
アクセシビリティサービス117は、一般に、ユーザがモバイルデバイス110を使用するのを支援するように構成されている。例えば、アクセシビリティサービス117は、サーバ120による暗号化された顧客ID109の検証に応答して、フォームの名前、アカウント番号、有効期限、配送先住所、請求先住所、およびCVVフィールドに自動的に入力し得、暗号化された顧客ID109は、モバイルデバイス110への非接触カード101のタップに応答して非接触カード101によって生成される。一実施形態では、アクセシビリティサービス117は、名前、アカウント番号、有効期限、配送先住所、請求先住所、およびCVVデータをウェブブラウザなどのアプリケーションのフォームに自動入力するために使用される。自動入力サービス114は、カードデータをフォームにプログラムで入力するための参照例としてここで使用される。しかしながら、本開示は、アクセシビリティサービス117または他のサービス(例えば、パスワードサービス、または他のタイプのサービス)を使用してカードデータをプログラムでフォームに入力することに等しく適用できるため、自動入力サービス114の使用は、開示の限定と見なされるべきではない。
【0016】
示されるように、サーバ120は、アカウントデータ124のデータストアおよびメモリ122を含む。アカウントデータ124は、複数のユーザおよび/またはアカウントのアカウント関連データを含む。アカウントデータ124は、少なくともマスター鍵105、カウンタ104、顧客ID107、関連する非接触カード101、アカウント所有者の名前、アカウントの請求先住所、1つまたは複数の配送先住所、1つまたは複数の仮想カード番号、および各アカウントの経歴情報を含み得る。メモリ122は、管理アプリケーション123と、アカウントデータ124からの1つまたは複数のアカウントのカードデータ103、カウンタ104、マスター鍵105、および多様化された鍵106のインスタンスとを含む。
【0017】
システム100は、データを保護するために鍵多様化を実施するように構成されており、これは本明細書では鍵多様化技術と呼ばれ得る。一般に、サーバ120(または他のコンピューティングデバイス)および非接触カード101は、同じマスター鍵105(マスター対称鍵とも呼ばれる)でプロビジョニングされ得る。より具体的には、各非接触カード101は、サーバ120内に対応するペアを有する別個のマスター鍵105でプログラムされている。例えば、非接触カード101が製造されるとき、一意のマスター鍵105が非接触カード101のメモリ102にプログラムされ得る。同様に、一意のマスター鍵105は、サーバ120のアカウントデータ124内の非接触カード101に関連付けられた顧客のレコードに格納され得る(および/または異なる安全な場所に格納される)。マスター鍵は、非接触カード101およびサーバ120以外のすべての関係者に対して秘密に保たれ、それによって、システム100のセキュリティを強化し得る。
【0018】
マスター鍵105は、鍵の多様化を使用してセキュリティを強化するために、カウンタ104とともに使用され得る。カウンタ104は、非接触カード101とサーバ120との間で同期される値を備える。カウンタ値104は、非接触カード101とサーバ120(および/または非接触カード101とモバイルデバイス110)との間でデータが交換されるたびに変化する番号を備え得る。非接触カード101とモバイルデバイス110との間のNFCデータ転送を可能にするために、アカウントアプリケーション113は、非接触カード101がモバイルデバイス110のカードリーダ118に十分に近いときに非接触カード101と通信し得る。カードリーダ118は、非接触カード101から読み取る、および/または非接触カード101と通信するように構成され得る(例えば、NFC、ブルートゥース(登録商標)、RFIDなどを介して)。したがって、例示的なカードリーダ118は、NFC通信モジュール、ブルートゥース(登録商標)通信モジュール、および/またはRFID通信モジュールを含む。
【0019】
例えば、ユーザは、非接触カード101をモバイルデバイス110にタップし、それによって、非接触カード101をモバイルデバイス110のカードリーダ118に十分に近づけて、非接触カード101とモバイルデバイス110のカードリーダ118との間のNFCデータ転送を可能にし得る。いくつかの実施形態では、モバイルデバイス110は、API呼び出しを介してカードリーダ118をトリガし得る。さらに、および/または代替として、モバイルデバイス110は、カードリーダ118を定期的にポーリングすることに基づいて、カードリーダ118をトリガし得る。より一般的には、モバイルデバイス110は、カードリーダ118をトリガして、実行可能な任意の方法を使用して通信を行い得る。モバイルデバイス110と非接触カード101との間の通信が確立された後、非接触カード101は、メッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは、非接触カード101がアカウントアプリケーション113によって読み取られるときに発生し得る。特に、これは、NFCデータ交換フォーマットに従って作成され得る近距離データ交換(NDEF)タグのNFC読み取りなどの読み取り時に発生し得る。例えば、アカウントアプリケーション113および/またはカードリーダ118などのリーダは、アプレット選択メッセージなどのメッセージを、NDEF生成アプレットのアプレットIDとともに送信し得る。選択が確認されると、ファイル選択メッセージのシーケンスが送信され、続いてファイル読み取りメッセージが送信され得る。例えば、このシーケンスは、「機能ファイルの選択」、「機能ファイルの読み取り」、および「NDEFファイルの選択」を含み得る。この時点で、非接触カード101によって維持されるカウンタ値104が更新またはインクリメントされ得、その後に「NDEFファイルの読み取り」が続き得る。この時点で、ヘッダと共有秘密を含み得るメッセージが生成され得る。その後、セッション鍵が生成され得る。MAC暗号文は、ヘッダと共有秘密を含み得るメッセージから作成され得る。次に、MAC暗号文は、ランダムデータの1つまたは複数のブロックと連結され得、MAC暗号文と乱数(RND)は、セッション鍵で暗号化され得る。その後、暗号文とヘッダが連結され得、ASCII16進数としてエンコードされ、NDEFメッセージ形式で返され得る(「NDEFファイルの読み取り」メッセージに応答して)。いくつかの例では、MAC暗号文は、NDEFタグとして送信され得、他の例では、MAC暗号文は、統一されたリソースインジケータ(例えば、フォーマットされた文字列として)に含まれ得る。次に、非接触カード101は、MAC暗号文をモバイルデバイス110に送信し得、これは、次に、後述するように、検証のためにMAC暗号文をサーバ120に転送し得る。しかしながら、いくつかの実施形態では、モバイルデバイス110は、MAC暗号文を検証し得る。
【0020】
より一般的には、データを(例えば、サーバ120および/またはモバイルデバイス110に)送信する準備をするとき、非接触カード101は、カウンタ値104をインクリメントし得る。次に、非接触カード101は、マスター鍵105およびカウンタ値104を暗号化アルゴリズムへの入力として提供し得、これは、出力として多様化された鍵106を生成し得る。暗号化アルゴリズムは、暗号化アルゴリズム、ハッシュベースのメッセージ認証コード(HMAC)アルゴリズム、暗号ベースのメッセージ認証コード(CMAC)アルゴリズムなどを含み得る。暗号化アルゴリズムの非限定的な例は、3DESまたはAES128などの対称暗号化アルゴリズム、HMAC-SHA-256などの対称HMACアルゴリズム、AES-CMACなどの対称CMACアルゴリズムを含み得る。次に、非接触カード101は、多様化された鍵106を使用してデータ(例えば、顧客識別子107および他のデータ)を暗号化し得る。次に、非接触カード101は、暗号化されたデータ(例えば、暗号化された顧客ID109)をモバイルデバイス110のアカウントアプリケーション113に(例えば、NFC接続、ブルートゥース(登録商標)接続などを介して)送信し得る。次に、モバイルデバイス110のアカウントアプリケーション113は、暗号化されたデータをネットワーク130を介してサーバ120に送信し得る。少なくとも1つの実施形態では、非接触カード101は、暗号化されたデータと共にカウンタ値104を送信する。そのような実施形態では、非接触カード101は、暗号化されたカウンタ値104または暗号化されていないカウンタ値104を送信し得る。
【0021】
暗号化された顧客ID109を受信すると、サーバ120の管理アプリケーション123は、暗号化への入力としてカウンタ値104を使用し、暗号化の鍵としてマスター鍵105を使用して、同じ対称暗号化を実行し得る。前述のように、カウンタ値104は、モバイルデバイス110から受信されたデータ、または非接触カード101の鍵多様化を実施するためにサーバ120によって維持されるカウンタ値104で指定され得る。暗号化の出力は、非接触カード101によって作成されたものと同じ多様化された鍵値106であり得る。次に、管理アプリケーション123は、非接触カード101によって送信されたデータ(例えば、少なくとも顧客識別子107)を明らかにする多様化された鍵106を使用して、ネットワーク130を介して受信された暗号化された顧客ID109を復号し得る。そうすることにより、管理アプリケーション123は、例えば、復号された顧客ID107をアカウントのアカウントデータ124内の顧客IDと比較することにより、モバイルデバイス110を介して非接触カード101によって送信されたデータを検証し得る。
【0022】
カウンタ104が例として使用されているが、非接触カード101、モバイルデバイス110、および/またはサーバ120の間の通信を保護するために、他のデータが使用され得る。例えば、カウンタ104は、新しい多様化された鍵106が必要になるたびに生成されるランダムなノンス、非接触カード101およびサーバ120から送信されるカウンタ値の全値、非接触カード101とサーバ120から送信されるカウンタ値の一部、非接触カード101とサーバ120によって独立に維持されているが両者の間で送信されないカウンタ、非接触カード101とサーバ120との間で交換されるワンタイムパスコード、およびデータの暗号化ハッシュで置き換えられ得る。いくつかの例では、多様化された鍵106の1つまたは複数の部分は、複数の多様化された鍵106を作成するために当事者によって使用され得る。
【0023】
示されているように、サーバ120は、1つまたは複数のハードウェアセキュリティモジュール(HSM)125を含み得る。例えば、1つまたは複数のHSM125は、本明細書に開示されるように、1つまたは複数の暗号動作を実行するように構成され得る。いくつかの例では、1つまたは複数のHSM125は、1つまたは複数の暗号動作を実行するように構成された特別な目的のセキュリティデバイスとして構成され得る。HSM125は、鍵がHSM125の外部に決して明らかにされず、代わりにHSM125内に維持されるように構成され得る。例えば、1つまたは複数のHSM125は、鍵導出、復号、およびMAC動作のうちの少なくとも1つを実行するように構成され得る。1つまたは複数のHSM125は、サーバ120内に含まれるか、またはサーバ120とデータ通信し得る。
【0024】
前述のように、鍵多様化技術は、非接触カード101を使用して安全な動作を実行するために使用され得る。例えば、管理アプリケーション123が鍵多様化を使用して暗号化された顧客ID109を検証すると、管理アプリケーション123は、アカウントに関連付けられたアカウント番号、有効期限、および/またはCVVをモバイルデバイス110のアカウントアプリケーション113に送信し得る。管理アプリケーション123は、他の情報(例えば、名、姓、配送先住所、請求先住所、他のアカウント情報など)をさらに含み得る。アカウント番号は、PAN、仮想アカウント番号、および/またはPANに基づいて生成されたトークンであり得る。アカウントアプリケーション113は、受信したデータ(暗号化されている場合)を復号し、アカウント番号、有効期限、請求先住所、および/またはCVVを自動入力サービス114のアプリケーションプログラミングインターフェース(API)に提供し得る。自動入力サービス114は、フォームのアカウント番号フィールドにアカウント番号を自動的に挿入し、フォームの有効期限フィールドに有効期限を挿入し、フォームのCVVフィールドにCVVを挿入し、フォームの請求先住所フィールドに請求先住所を挿入し、フォームの配送先住所フィールドに配送先住所を挿入し、フォームの名前フィールドに名前を挿入し得る。
【0025】
他の実施形態では、カードデータ103は、非接触カード101から直接読み取られるが、これは、モバイルデバイス110がサーバ120に接続されていない場合に有用であり得る。例えば、アカウントアプリケーション113および/または自動入力サービス114は、ユーザがフォームのアカウント番号フィールドを選択したこと、およびアカウント番号フィールドがフォーカスを移動させたことを決定し得る。いくつかの実施形態では、アカウントアプリケーション113および/または自動入力サービス114は、フォームフィールドのメタデータを読み取って、情報のタイプを決定する。例えば、フォームフィールドのメタデータは、フォームフィールドがアカウント番号フィールド、有効期限フィールド、CVVフィールド、配送先住所フィールド、および/または請求先住所フィールドに関連付けられていることを指定し得る。いくつかの実施形態では、16桁のカード番号、CVV、顧客名などの情報は、オフラインで利用できるが、住所や生成された仮想番号などの他の情報は、オフラインでは利用できず、ネットワーク接続が必要になり得る。それに応じて、アカウントアプリケーション113および/または自動入力サービス114は、非接触カード101をタップする指示をモバイルデバイス110に出力し得る。一実施形態では、非接触カード101がモバイルデバイス110にタップされると、非接触カード101は、カードデータ103をモバイルデバイス110に送信する。他の実施形態では、非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、カードデータ103をモバイルデバイス110に送信するように非接触カード101に命令し得る。一例では、非接触カード101は、カードデータ103(アカウント番号、有効期限、CVV値、アカウント所有者の名、およびアカウント所有者の姓のうちの1つまたは複数を含む)をNDEFファイルで(例えば、NFC、ブルートゥース(登録商標)、および/またはRFIDを介して)モバイルデバイス110に送信する。他の例では、非接触カード101は、EMVプロトコルを使用してカードデータ103を送信する。EMVプロトコルが使用される例では、EMVプロトコルを用いて送信されるカードデータ103は、アカウント番号、有効期限、アカウント所有者の名、アカウント所有者の姓を含む。次に、非接触カード101は、EMVプロトコルを使用して、カードデータ103をアカウントアプリケーション113に送信し得る。EMVプロトコルが使用される例では、アカウントアプリケーション113は、非接触カード101から(例えば、NDEFファイル内のCVVを受信するために読み取られたNFCを介して)および/またはサーバ120の管理アプリケーション123からCVV値を受信し得る。しかしながら、いくつかの実施形態では、EMVプロトコルを使用して、CVV値を非接触カード101から直接送信し得る。次に、アカウントアプリケーション113は、カードデータ103(例えば、アカウント番号、有効期限、および/またはCVV)を自動入力サービス114のAPIに提供し得る。自動入力サービス114は、カードデータ103をフォームに自動入力し得る。例えば、自動入力サービス114は、フォームのアカウント番号フィールドにアカウント番号を自動入力し得る。同様に、自動入力サービス114は、有効期限および/またはCVVをフォームに自動入力し得る。
【0026】
さらに他の実施形態では、非接触カード101は、アカウント番号108の1つをアカウントアプリケーション113に直接提供する。例えば、アカウントアプリケーション113および/または自動入力サービス114は、ユーザがフォームのアカウント番号フィールドを選択したこと、およびアカウント番号フィールドがフォーカスを移動させたことを決定し得る。例えば、アカウントアプリケーション113および/または自動入力サービス114は、アカウント番号フィールドのHTML属性を解析して、アカウント番号フィールドがフォーカスを移動させたことを決定し得る。さらに、アカウントアプリケーション113および/または自動入力サービス114は、アカウント番号フィールドのメタデータを解析して、フィールドがアカウント番号に関連付けられていることを決定し得る。例えば、アカウントアプリケーション113および/または自動入力サービス114は、メタデータに基づいて、アカウント番号フィールドが16文字を入力として受信するように構成されていることを決定し得る。他の例として、メタデータは、アカウント番号フィールドに関連付けられた名前と同様のフォームフィールドの名前を指定し得る(例えば、「accountnumber」、「account_number」など)。
【0027】
それに応じて、アカウントアプリケーション113および/または自動入力サービス114は、非接触カード101をタップする指示をモバイルデバイス110に出力し得る。非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、アカウント番号108の1つをアカウントアプリケーション113に送信するように非接触カード101に命令し得る。次に、非接触カード101は、アカウント番号108(仮想アカウント番号、有効期限、CVV、およびオプションとしてアカウント所有者の姓名を含む)を選択して暗号化し得る。次に、非接触カード101は、選択されたアカウント番号108を使用済みとしてマークし得(例えば、選択されたアカウント番号108を削除し、選択されたアカウント番号108の「使用済み」フィールドまたはビットを更新することなどによって)、暗号化されたアカウント番号108をアカウントアプリケーション113に送信し得る。次に、アカウントアプリケーション113は、アカウント番号108を復号し、復号されたデータを自動入力サービス114に提供し得る。自動入力サービス114は、1つまたは複数のフォームフィールドに、仮想アカウント番号、有効期限、およびCVV(およびオプションでアカウント所有者の姓名、および請求先住所)のうちの1つまたは複数を自動入力し得る。いくつかの実施形態では、1つまたは複数のアカウント番号108を自動入力するために、非接触カード101は、鍵多様化技術に従って暗号化された顧客ID109をさらに生成する。そのような実施形態では、アカウントアプリケーション113は、暗号化された顧客ID109を非接触カードから受信し、暗号化された顧客ID109を検証のためにサーバ120の管理アプリケーション123に送信し得る。アカウントアプリケーション113は、アカウント番号、有効期限、および/またはCVVを自動入力サービス114に提供する前に、暗号化された顧客ID109の検証を待ち得る。したがって、暗号化された顧客ID109がサーバ120によって検証されない場合、アカウントアプリケーション113は、アカウント番号108を自動入力サービス114に提供しない。しかしながら、他の実施形態では、暗号化された顧客ID109の検証は、非接触カード101の仮想アカウント番号108を自動入力するための条件ではない。
【0028】
カードデータ103および/またはアカウント番号108を自動入力サービス114に提供するために使用される技術に関係なく、アカウントアプリケーション113および/またはOS112は、自動入力サービス114に提供されるデータを管理し得る。例えば、カードデータ103および/またはアカウント番号108は、所定の時間、自動入力サービス114に格納された後、自動入力サービス114から削除され得る。他の例として、カードデータ103および/またはアカウント番号108が購入に使用された後に、カードデータ103および/またはアカウント番号108は、自動入力サービス114から削除され得る。それに加えておよび/または代替として、例えば、ランダムデータを自動入力サービス114にコピーすることにより、自動入力サービス114は、変更されて、カードデータ103および/またはアカウント番号108を削除し得る。
【0029】
さらに、アカウントアプリケーション113および/または自動入力サービス114は、アカウント番号をOSのクリップボード116にコピーし得る。クリップボード116は、OS112内でコピーおよび/または貼り付け可能なデータを格納する。例えば、クリップボード116は、モバイルデバイス110のフィールドに貼り付けるためにデータをローカルに格納し得、ユーザは、OS112内で利用可能なコマンドおよび/またはジェスチャを使用して、クリップボード116に格納されたデータを入力/貼り付け得る。例えば、アカウント番号をクリップボード116にコピーすることにより、ユーザは、OS112内で利用可能なコマンドおよび/またはジェスチャを使用して、アカウント番号を対応するフォームフィールドに貼り付け得る。さらに、自動入力サービス114は、アカウント番号がクリップボード116にコピーされる間、有効期限とCVVを指定する通知を出力し得る。これにより、ユーザは通知が表示されたまま、有効期限日とCVVを対応するフォームフィールドに手動で入力し得る。いくつかの実施形態では、アカウントアプリケーション113および/または自動入力サービス114はまた、有効期限、請求先住所、および/またはCVVをクリップボード116にコピーし得、有効期限、請求先住所、および/またはCVVを対応するフォームフィールドに貼り付け得る。
【0030】
図1Bは、鍵多様化技術を使用してカードデータ103をフォームに自動入力する例を示している。示されているように、アカウントアプリケーション113は、フォーム150を含む。動作中、モバイルデバイス110のユーザは、支払いに関連するフォーム150のフィールド(例えば、名前フィールド、アカウント番号フィールド、有効期限フィールド、CVVフィールド、配送先住所フィールド、および/または請求先住所フィールド)を選択し得る。アカウントアプリケーション113および/または自動入力サービス114は、フォーム150(および/または他のアプリケーション115のフォーム151)の支払いフィールドがフォーカスを移動させたことを、例えば、フィールドの名前、フィールドのタイプなどに基づいて決定し得る。一般に、フォームのフィールドがフォーカスを移動させると、そのフィールドに入力が提供され得る(ユーザ入力を介して手動で、または自動入力サービス114および/またはアクセシビリティサービス117を介してプログラムで)。アカウントアプリケーション113および/または自動入力サービス114は、非接触カード101をモバイルデバイス110にタップするようにユーザに指示し得る。非接触カード101がモバイルデバイス110にタップされると(例えば、カードリーダ118のNFC通信範囲内に持ち込まれる)、アカウントアプリケーション113は、図1Aに示されるように、暗号化された顧客ID109を生成するための指示を生成して非接触カード101に送信する。
【0031】
これに応答して、非接触カード101は、カウンタ値104をインクリメントし、マスター鍵105およびカウンタ値104を暗号化アルゴリズムへの入力として提供し、これは、出力として多様化された鍵106を生成する。次に、非接触カード101は、多様化された鍵106を使用して顧客識別子107を暗号化して、暗号化された顧客ID109を生成し得る。非接触カード101は、暗号化された顧客ID109をモバイルデバイス110のアカウントアプリケーション113に(例えば、NFC接続、ブルートゥース(登録商標)接続などを介して)送信し得る。次に、モバイルデバイス110のアカウントアプリケーション113は、暗号化された顧客ID109をネットワーク130を介してサーバ120に送信し得る。少なくとも1つの実施形態において、非接触カード101は、暗号化された顧客ID109と共にカウンタ値104を送信する。
【0032】
カードリーダ118を介して暗号化された顧客ID109を受信すると、サーバ120の管理アプリケーション123は、鍵多様化を使用して暗号化された顧客ID109を検証する。前述のように、サーバ120の管理アプリケーション123は、カウンタ値104を暗号化への入力として使用し、マスター鍵105を暗号化の鍵として使用して、同じ対称暗号化を実行して、多様化された鍵106を生成し得る。次に、管理アプリケーション123は、非接触カード101によって送信されたデータ(例えば、少なくとも顧客識別子107)を明らかにする多様化された鍵106を使用して、ネットワーク130を介して受信した暗号化された顧客ID109を復号し得る。そうすることで、管理アプリケーション123は、モバイルデバイス110を介して非接触カード101によって送信されたデータを、例えば、復号された顧客ID107をアカウントのアカウントデータ124内の顧客IDと比較することによって検証し得る。ここで、顧客ID値の一致は、非接触カード101から受信した暗号化されたデータを検証する。いくつかの実施形態では、管理アプリケーション123が暗号化された顧客ID109を検証すると、管理アプリケーション123は、関連するアカウントの仮想カード番号を生成するか、または関連するアカウントの仮想カード番号を生成する。
【0033】
図1Bに示されるように、図1Aの暗号化された顧客ID109を検証した後、サーバ120の管理アプリケーション123は、カードデータ103をサーバ120からモバイルデバイス110に送信する。少なくとも1つの実施形態では、管理アプリケーション123は、アカウントアプリケーション113に送信する前にカードデータ103を暗号化する。上述のように、カードデータ103は、非接触カード101のアカウント番号、CVV、および/または有効期限を含み得る。カードデータ103は、アカウント所有者の姓名、送付先住所、および請求先住所をさらに含み得る。一実施形態では、カードデータ103のアカウント番号は、管理アプリケーション123による暗号化された顧客ID109の検証に続いて生成された仮想カード番号である。他の実施形態では、カードデータ103のアカウント番号は、アカウント番号108からのレコードである。一実施形態では、姓名は、アカウントアプリケーション113(またはOSの他の要素)に格納される。そのような実施形態では、アカウントアプリケーション113は、ローカルに格納された名前をカードデータ103と共に自動入力サービス114に提供し得る。さらに、前述のように、アカウント番号は、仮想アカウント番号を備え得る。次に、アカウントアプリケーション113は、カードデータ103を受信し、受信したカードデータ103を復号し得る(カードデータ103が暗号化されている場合)。次に、アカウントアプリケーション113は、カードデータ103を自動入力サービス114(および/またはアクセシビリティサービス117)のAPIに提供し得る。次に、自動入力サービス114および/またはアクセシビリティサービス117は、ユーザ入力を必要とせず、カードデータ103を公開することなく、フォーム150(および/または他のアプリケーション115のフォーム151)の1つまたは複数のフィールドに対応するカードデータ103を入力し得る。
【0034】
一実施形態では、サーバ120によってモバイルデバイス110に送信されるカードデータ103は、非接触カード101に関連付けられたアカウントを使用して購入を行うために必要なすべての関連情報(例えば、アカウント番号、有効期限、CVV、請求先住所、配送先住所、名、姓など)を含む。しかしながら、他の実施形態では、カードデータ103の個々の要素は、非接触カード101およびモバイルデバイス110の1つまたは複数のタップを使用して、自動入力サービス114によって段階的に自動入力され得る。例えば、非接触カード101およびモバイルデバイス110の第1のタップは、自動入力サービス114に、カードデータ103のアカウント番号をフォームのアカウント番号フィールドに自動入力させ、一方、非接触カード101およびモバイルデバイス110の第2のタップは、自動入力サービス114に、有効期限をフォームの有効期限フィールド(または複数のフィールド)に自動入力させ、非接触カード101およびモバイルデバイス110の第3のタップは、自動入力サービス114に、CVVをフォームのCVVフィールドに自動入力させ、非接触カード101およびモバイルデバイス110の第4のタップは、自動入力サービス114に、請求先住所をフォームの請求先住所フィールドに自動入力させ得る。一実施形態では、個別の暗号化された顧客ID109は、各タップに応答して非接触カード101によって生成され、サーバ120は、対応するカードデータ103をモバイルデバイス110に送信する前に、暗号化された各顧客ID109を検証する。他の実施形態では、最初のタップに応答して、暗号化された顧客ID109の単一のインスタンスが生成され、サーバ120は、この暗号化された顧客ID109を検証する。そのような実施形態では、アカウントアプリケーション113は、サーバ120からの単一の応答で名前、アカウント番号、有効期限、CVV、配送先住所、および請求先住所を受信し、現在フォーカスされているフォームフィールドに必要なデータに関する決定に基づいて、非接触カード101およびモバイルデバイス110の各タップに応答して自動入力サービス114にデータを提供し得る。
【0035】
図2Aは、カードデータを自動入力するためにタップする例示的な実施形態を示す概略図200である。モバイルデバイス110上のアカウントアプリケーション113のグラフィカルユーザインターフェース(GUI)は、フォームフィールド201~205を含み得、フィールド201は、アカウント番号フィールドに対応し、フィールド202は、有効期限月フィールドに対応し、フィールド203は、有効期限年フィールドに対応し、フィールド204は、CVVフィールドに対応し、フィールド205は、請求先住所フィールドに対応する。示されるように、通知206は、アカウント番号フィールド201がフォーカスを移動させる(例えば、ユーザによって選択される)とき、自動入力サービス114および/またはアカウントアプリケーション113によって出力される。通知206は、非接触カード101をモバイルデバイス110にタップするようにユーザに指示する。一実施形態では、ユーザは、非接触カード101をモバイルデバイス110にタップする前に通知206を選択する。
【0036】
非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、カードリーダ118を介して(例えば、NFC、ブルートゥース(登録商標)、RFID、および/またはEMVプロトコルなどを介して)、非接触カード101に指示を送信する。一実施形態では、指示は、図1Aに示されるように鍵多様化を使用して暗号化を実行することを指定し得、その場合、アカウントアプリケーション113は、サーバ120からカードデータ103を受信する。他の実施形態では、指示は、カードデータ103をアカウントアプリケーション113にNDEFファイルで(例えば、NFC、ブルートゥース(登録商標)、RFIDなどを介して)送信することを指定し得、その場合、アカウントアプリケーション113は、カードリーダ118を介して非接触カード101から直接NDEFファイル内のカードデータ103を受信する。他の実施形態では、指示は、EMVプロトコルを介してカードデータ103をアカウントアプリケーション113に送信することを指定し得、その場合、アカウントアプリケーション113は、EMVプロトコルを介して非接触カード101から直接カードデータ103を受信する。しかしながら、前述のように、EMVプロトコルが使用される実施形態では、CVV値は、NDEFファイル内の非接触カード101および/または管理アプリケーション123から受信される。他の実施形態では、指示は、図1Aに示されるように鍵多様化を使用して暗号化を実行し、アカウント番号108をアカウントアプリケーション113に送信することを指定し得、その場合、アカウントアプリケーション113は、非接触カード101からアカウント番号108からレコードを受信する(これは、サーバ120による暗号化された顧客ID109の検証を受けて使用される)。使用される特定の技術に関係なく、非接触カード101および/またはサーバ120は、アカウント番号、有効期限、CVV、アカウント請求先住所、および/またはアカウント所有者名をアカウントアプリケーション113に送信し得る。しかしながら、前述のように、いくつかの実施形態では、アカウント所有者名は、ローカルに(例えば、アカウントアプリケーション113に)格納され、非接触カード101および/またはサーバ120から受信されない。前述のように、アカウント番号は、PAN、仮想アカウント番号、および/またはPANに基づいて生成されたトークンであり得る。受信したデータが暗号化されている場合、アカウントアプリケーション113は、データを復号し得る。次に、アカウントアプリケーション113は、復号されたアカウント番号、有効期限、および/またはCVVを自動入力サービス114のAPIに提供し得、これは、受信したデータでフォームフィールド201~204を自動入力する。
【0037】
図2Bは、自動入力サービス114がアカウント番号をアカウント番号フィールド201に、有効期限月を有効期限月フィールド202に、有効期限年を有効期限年フィールド203に、CVVをCVVフィールド204に、請求先住所を請求先住所フィールド205に自動入力した後のアカウントアプリケーション113を示す概略図210である。図2Bに示される特定の値は例示であり、本開示を限定するものと考えるべきではない。さらに、前述のように、自動入力サービス114は、アカウント所有者の名前をフォームの名前フィールド207にさらに自動入力し得る。
【0038】
図3Aは、カードデータを自動入力するためにタップする例示的な実施形態を示す概略図300である。一般に、図3A図3Dは、連続したタップを使用してアカウント番号、有効期限、およびCVVをフォームに自動入力する実施形態を反映している。示されるように、アカウントアプリケーション113のGUIは、フィールド301~303を有するフォームを含み、フィールド301は、アカウント番号フィールドであり、フィールド302は、有効期限フィールドであり、フィールド303は、CVVフィールドである。示されるように、モバイルデバイス110上のアカウントアプリケーション113および/または自動入力サービス114は、例えば、フィールド301がフォーカスを移動させたという決定に応答して、非接触カード101をモバイルデバイス110にタップすることを指定する通知304を出力し得る。
【0039】
非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、カードリーダ118を介して、非接触カード101にデータを送信する指示を送信する。例えば、指示は、カードデータ103のアカウント番号をEMVプロトコルを介してモバイルデバイス110に直接送信することを指定し得る。これに応答して、非接触カード101は、EMVプロトコルを介してカードデータ103のアカウント番号を送信し得る。他の実施形態では、指示は、アカウント番号108から仮想アカウント番号を送信することを指定し得る。それに応じて、非接触カード101は、仮想アカウント番号をアカウント番号108からアカウントアプリケーション113にNFCを介して送信し得る。しかしながら、前述のように、仮想アカウント番号108が使用される実施形態では、非接触カード101は、鍵多様化を使用して暗号化された顧客ID109を生成し得、これは、アカウントアプリケーション113に提供され、検証のためにサーバ120に送信される。
【0040】
他の実施形態では、指示は、非接触カード101に対して、暗号化されたデータ(例えば、暗号化された顧客ID109)を生成するために上述の鍵多様化を使用して暗号化を実行し、暗号化されたデータをアカウントアプリケーション113に送信するように指定し得る。次に、アカウントアプリケーション113は、暗号化されたデータをサーバ120に送信し得、管理アプリケーション123は、上述のように鍵多様化を使用して暗号化されたデータを検証する。次に、管理アプリケーション123は、アカウント番号をアカウントアプリケーション113に送信し得る。
【0041】
アカウント番号の受信に使用される技術に関係なく、アカウントアプリケーション113は、受信したアカウント番号を自動入力サービス114のAPIに提供し得る。図3Bの概略図310に示されるように、自動入力サービス114は、アカウント番号をアカウント番号フィールド301に自動入力し得る。さらに、ユーザが有効期限フィールド302をタップすると、アカウントアプリケーション113および/または自動入力サービス114は、通知305を出力して、非接触カード101をタップして有効期限を有効期限フィールド302に自動入力し得る。
【0042】
非接触カード101がモバイルデバイス110にタップされることに応答して、アカウントアプリケーション113は、非接触カード101の有効期限を受信する。前述のように、一実施形態では、アカウントアプリケーション113は、EMVプロトコルを使用して非接触カード101から直接有効期限を受信し得る。他の実施形態では、非接触カード101は、アカウント番号108からの有効期限(例えば、アカウント番号フィールド301に自動入力されるアカウント番号108からの仮想アカウント番号の有効期限)を送信し得る。他の実施形態では、アカウントアプリケーション113は、非接触カード101によって生成された暗号化されたデータの検証に基づいて、サーバの管理アプリケーション123から有効期限を受信する。アカウントアプリケーション113は、受信されると、自動入力サービス114のAPIに有効期限を提供する。
【0043】
図3Cは、自動入力サービス114が有効期限を有効期限フィールド302に自動入力した実施形態を示す概略図320である。さらに、ユーザがCVVフィールド303をタップすると、アカウントアプリケーション113は、非接触カード101のCVVをCVVフィールド303に自動入力するために非接触カード101をタップする通知307を出力し得る。非接触カード101のモバイルデバイス110へのタップに応答して、アカウントアプリケーション113は、非接触カード101のCVV値を受信する。前述のように、一実施形態では、アカウントアプリケーション113は、NDEFファイル内の非接触カード101から(例えば、NFC、RFID、ブルートゥース(登録商標)などを介して)CVV値を直接受信し得る。他の実施形態では、非接触カード101は、アカウント番号108からのCVV(例えば、アカウント番号フィールド301に自動入力されるアカウント番号108からの仮想アカウント番号のCVV値)を送信し得る。他の実施形態では、アカウントアプリケーション113は、非接触カード101によって生成された暗号化されたデータの検証に基づいて、サーバの管理アプリケーション123からCVV値を受信する。アカウントアプリケーション113は、受信すると、CVV値を自動入力サービス114のAPIに提供する。
【0044】
図3Dは、自動入力サービス114がCVV値をCVVフィールド303に自動入力した実施形態を示す概略図330である。図示されていないが、いくつかの実施形態では、請求先住所は、モバイルデバイスへの非接触カード101のタップに応答して、フォームの請求先住所フィールドに自動入力され得る。そうすることで、購入またはトランザクションを完了するために必要なデータの自動入力が可能になり、ユーザは、GUI要素308を介して完了し得る。
【0045】
いくつかの実施形態では、モバイルデバイス110への非接触カード101の最初のタップ(例えば、図3Aに示されるタップ)により、非接触カード101および/またはサーバ120は、アカウント番号、有効期限、CVV、および請求先住所をアカウントアプリケーション113に転送する(例えば、NDEFファイル内)。いくつかの実施形態では、アカウントアプリケーション113は、現在フォーカスされているフィールド(例えば、アカウント番号フィールド)に必要なデータの検出および識別と組み合わせて、第1のタップに応答して、NDEFファイルから自動入力サービス114にアカウント番号を提供し得る。次に、自動入力サービス114は、アカウント番号をアカウント番号フォームフィールドに自動入力し得る。第2のタップに応答して、アカウントアプリケーション113は、非接触カード101および/またはサーバ120から追加のデータを受信する必要なしに、現在フォーカスされているフィールド(例えば、有効期限フィールド)に必要なデータの検出および識別に基づいて、NDEFファイルから自動入力サービス114に有効期限を提供し得る。次に、自動入力サービス114は、フォームの1つまたは複数の有効期限フィールドに有効期限を自動入力し得る。第3のタップに応答して、アカウントアプリケーション113は、非接触カード101および/またはサーバ120から追加のデータを受信する必要なしに、現在フォーカスされているフィールド(例えば、CVVフィールド)に必要なデータの検出および識別に基づいて、NDEFファイルから自動入力サービス114にCVVを提供し得る。次に、自動入力サービス114は、CVVをCVVフォームフィールドに自動入力し得る。追加のフィールドが存在する場合(例えば、名前フィールド、請求先住所フィールドなど)、非接触カード101の追加のタップにより、アカウントアプリケーション113は、非接触カード101および/またはサーバ120から追加のデータを受信する必要なしに、現在フォーカスされているフィールドに必要なデータの検出および識別に基づいて、対応するデータ要素(例えば、アカウント所有者の名前、請求先住所など)を自動入力サービス114に提供する。次に、自動入力サービス114は、データをフォームフィールドに自動入力し得る(例えば、請求先住所を請求先住所フィールドに、名前を名前フィールドになど)。
【0046】
図4Aは、クレジットカード、デビットカード、および/またはギフトカードなどの支払いカードを備え得る非接触カード101を示している。示されているように、非接触カード101は、カード101の表面または裏面に表示されるサービスプロバイダ405によって発行され得る。いくつかの例では、非接触カード101は、支払いカードとは関係がなく、識別カードを備え得るが、これに限定されない。いくつかの例では、支払いカードは、デュアルインターフェース非接触支払いカードを備え得る。非接触カード101は、プラスチック、金属、および他の材料で構成される単一層または1つまたは複数の積層層を含み得る基板410を備え得る。例示的な基板材料は、ポリ塩化ビニル、ポリ塩化ビニルアセテート、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、カーボン、紙、および生分解性材料を含む。いくつかの例では、非接触カード101は、ISO/IEC7810規格のID-1フォーマットに準拠する物理的特性を有し得、そうでなければ、非接触カードは、ISO/IEC14443規格に準拠し得る。しかしながら、本開示に係る非接触カード101は異なる特性を有し得、本開示は、支払いカードに非接触カードを実施する必要がないことを理解されたい。
【0047】
非接触カード101は、カードの表面および/または裏面に表示される識別情報415、および接触パッド420も含み得る。接触パッド420は、モバイルデバイス110、ユーザデバイス、スマートフォン、ラップトップ、デスクトップ、またはタブレットコンピュータなどの他の通信デバイスとの接触を確立するように構成され得る。非接触カード101は、処理回路、アンテナ、および図4Aには示されていない他のコンポーネントも含み得る。これらのコンポーネントは、接触パッド420の背後または基板410上の他の場所に配置され得る。非接触カード101はまた、カードの裏面に位置し得る磁気ストリップまたはテープを含み得る(図4Aには示されていない)。
【0048】
図4Bに示されるように、非接触カード101の接触パッド420は、マイクロプロセッサ430およびメモリ102を含む、情報を格納および処理するための処理回路425を含み得る。処理回路425は、プロセッサ、メモリ、エラーおよびパリティ/CRCチェッカ、データエンコーダ、アンチコリジョンアルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、および本明細書に記載の機能を実行するために必要な改ざん防止ハードウェアを含む追加のコンポーネントを含み得ることが理解される。
【0049】
メモリ102は、リードオンリーメモリ、ライトワンスリードマルチプルメモリ、またはリード/ライトメモリ、例えば、RAM、ROM、およびEEPROMであり得、非接触カード101は、これらのメモリの1つまたは複数を含み得る。リードオンリーメモリは、工場出荷時に読み取り専用または1回限りのプログラムが可能であり得る。1回限りのプログラムにより、一度書き込んで何度も読み取ることができる。ライトワンス/リードマルチプルメモリは、メモリチップが工場から出荷された後のある時点でプログラムされ得る。メモリは、一度プログラムされると、書き換えられないかもしれないが、何度も読み取られ得る。リード/ライトメモリは、工場出荷後に何度もプログラムおよび再プログラムされ得る。リード/ライトメモリはまた、工場出荷後に何度も読み取られ得る。
【0050】
メモリ102は、1つまたは複数のアプレット440、1つまたは複数のカウンタ104、顧客識別子107、および仮想アカウント番号108を格納するように構成され得る。1つまたは複数のアプレット440は、Java(登録商標)カードアプレットなど、1つまたは複数の非接触カード上で実行するように構成された1つまたは複数のソフトウェアアプリケーションを備え得る。しかしながら、アプレット440は、Java(登録商標)カードアプレットに限定されず、代わりに、非接触カードまたは限られたメモリを有する他のデバイス上で動作可能な任意のソフトウェアアプリケーションであり得ることが理解される。1つまたは複数のカウンタ104は、整数を格納するのに十分な数値カウンタを備え得る。顧客識別子107は、非接触カード101のユーザに割り当てられた一意の英数字識別子を備え得、識別子は、非接触カードのユーザを他の非接触カードユーザと区別し得る。いくつかの例では、顧客識別子107は、顧客とその顧客に割り当てられたアカウントの両方を識別し、さらに顧客のアカウントに関連付けられた非接触カードを識別し得る。前述のように、アカウント番号108は、非接触カード101に関連付けられた数千の使い捨て仮想アカウント番号を含み得る。非接触カード101のアプレット440は、アカウント番号108を管理するように構成され得る(例えば、アカウント番号108を選択し、選択されたアカウント番号108を使用済みとしてマークし、自動入力サービス114による自動入力のためにアカウント番号108をモバイルデバイス110に送信する)。
【0051】
前述の例示的な実施形態のプロセッサおよびメモリ要素は、接触パッドを参照して説明されているが、本開示は、それに限定されない。これらの要素は、パッド420の外部に、またはそれから完全に分離して、または接触パッド420内に位置するプロセッサ430およびメモリ102要素に加えて、さらなる要素として実施され得ることが理解される。
【0052】
いくつかの例では、非接触カード101は、1つまたは複数のアンテナ455を備え得る。1つまたは複数のアンテナ455は、非接触カード101内および接触パッド420の処理回路425の周りに配置され得る。例えば、1つまたは複数のアンテナ455は、処理回路425と一体化され得、1つまたは複数のアンテナ455は、外部ブースターコイルと共に使用され得る。他の例として、1つまたは複数のアンテナ455は、接触パッド420および処理回路425の外部にあり得る。
【0053】
一実施形態では、非接触カード101のコイルは、空芯変圧器の二次側として機能し得る。端末は、電力または振幅変調を切断することによって非接触カード101と通信し得る。非接触カード101は、1つまたは複数のコンデンサを介して機能的に維持され得る非接触カードの電源接続におけるギャップを使用して、端末から送信されるデータを推測し得る。非接触カード101は、非接触カードのコイルまたは負荷変調の負荷を切り替えることにより、通信を返し得る。負荷変調は、干渉によって端末のコイルで検出され得る。より一般的には、アンテナ455、処理回路425、および/またはメモリ102を使用して、非接触カード101は、NFC、ブルートゥース(登録商標)、および/またはWi-Fi通信を介して通信するための通信インターフェースを提供する。
【0054】
上で説明したように、非接触カード101は、Java(登録商標)カードなどのメモリが限られているスマートカードまたは他のデバイス上で動作可能なソフトウェアプラットフォーム上に構築され得、1つまたは複数のアプリケーションまたはアプレットは、安全に実行され得る。アプレット440は、非接触カードに追加され、様々なモバイルアプリケーションベースの使用事例で多要素認証(MFA)用のワンタイムパスワード(OTP)を提供し得る。アプレット440は、モバイルNFCリーダ(例えば、モバイルデバイス110の)などのリーダからの近距離データ交換要求などの1つまたは複数の要求に応答し、NDEFテキストタグとしてエンコードされた暗号的に安全なOTPを備えるNDEFメッセージを生成するように構成され得る。
【0055】
NDEFOTPの一例は、NDEFショートレコードレイアウト(SR=1)である。このような例では、1つまたは複数のアプレット440は、OTPをNDEFタイプ4のよく知られたタイプのテキストタグとしてエンコードするように構成され得る。いくつかの例では、NDEFメッセージは、1つまたは複数のレコードを備え得る。アプレット440は、OTPレコードに加えて、1つまたは複数の静的タグレコードを追加するように構成され得る。
【0056】
いくつかの例では、1つまたは複数のアプレット440は、RFIDタグをエミュレートするように構成され得る。RFIDタグは、1つまたは複数の多型タグを含み得る。いくつかの例では、タグが読み取られるたびに、非接触カードの信頼性を示し得る様々な暗号化データが提示される。1つまたは複数のアプリケーションに基づいて、タグのNFC読み取りは、処理され得、データは、サーバ120などのサーバに送信され得、データは、サーバで検証され得る。
【0057】
いくつかの例では、非接触カード101およびサーバ120は、カードが適切に識別され得るように特定のデータを含み得る。非接触カード101は、1つまたは複数の一意の識別子(図示せず)を含み得る。読み取り動作が行われるたびに、カウンタ104は、インクリメントするように構成され得る。いくつかの例では、非接触カード101からのデータが(例えば、モバイルデバイス110によって)読み取られるたびに、カウンタ104は、検証のためにサーバに送信され、カウンタ値104が等しいかどうかを決定する(検証の一部として)。
【0058】
1つまたは複数のカウンタ104は、リプレイ攻撃を防止するように構成され得る。例えば、暗号文が取得されて再生された場合、カウンタ104が読み取られたり、使用されたり、その他の方法で渡されたりした場合、その暗号文はただちに拒否される。カウンタ104が使用されていない場合は、再生され得る。いくつかの例では、カードでインクリメントされるカウンタは、トランザクションでインクリメントされるカウンタとは異なる。非接触カード101上のアプレット440間の通信がないため、非接触カード101は、アプリケーショントランザクションカウンタ104を決定できない。いくつかの例では、非接触カード101は、トランザクションアプレットであり得る第1のアプレット440-1と、第2のアプレット440-2とを備え得る。各アプレット440-1および440-2は、それぞれのカウンタ104を備え得る。
【0059】
いくつかの例では、カウンタ104は、同期しなくなり得る。いくつかの例では、ある角度からの読み取りなど、トランザクションを開始する偶発的な読み取りを考慮して、カウンタ104は、インクリメントし得るが、アプリケーションは、カウンタ104を処理しない。いくつかの例では、モバイルデバイス110が起動されると、NFCが有効化され、デバイス110が利用可能なタグを読み取るように構成され得るが、読み取りに応答して何のアクションも取られない。
【0060】
カウンタ104の同期を維持するために、バックグラウンドアプリケーションのような、モバイルデバイス110が起動したときに検出し、検出のために発生した読み取りがその後カウンタ104を前進させることを示すサーバ120と同期するように構成されたアプリケーションが実行され得る。他の例では、ハッシュされたワンタイムパスワードは、同期のずれのウィンドウが受け入れられ得るように利用され得る。例えば、閾値10以内の場合、カウンタ104は前進するように構成され得る。しかしながら、異なるしきい値内、例えば、10または1000以内の場合、再同期を実行するための要求は、ユーザがタップ、ジェスチャ、またはその他の方法でユーザのデバイスを介して1つまたは複数の回数を示すことを、1つまたは複数のアプリケーションを介して要求するように処理され得る。カウンタ104が適切なシーケンスで増加する場合、ユーザがそうしていることを知ることが可能である。
【0061】
カウンタ104、マスター鍵105、および多様化された鍵106を参照して本明細書で説明される鍵多様化技術は、暗号化および/または復号鍵多様化技術の一例である。この開示は他のタイプの鍵多様化技術にも等しく適用できるため、この鍵多様化技術の例は、本開示の限定と見なされるべきではない。
【0062】
非接触カード101の作成プロセス中に、カードごとに2つの暗号化鍵が一意に割り当てられ得る。暗号化鍵は、データの暗号化と復号の両方で使用され得る対称鍵を備え得る。トリプルDES(3DES)アルゴリズムは、EMVによって使用され、非接触カード101内のハードウェアによって実施される。鍵多様化プロセスを使用することにより、1つまたは複数の鍵は、鍵を必要とする各エンティティの一意に識別可能な情報に基づいて、マスター鍵から導出され得る。
【0063】
いくつかの例では、脆弱性の影響を受けやすい可能性のある3DESアルゴリズムの欠陥を克服するために、セッション鍵(セッションごとの一意の鍵など)を導出し得るが、マスター鍵、一意のカードから派生した鍵、およびカウンタを使用するのではなく、多様化データとして使用され得る。例えば、非接触カード101が動作中に使用されるたびに、メッセージ認証コード(MAC)の作成および暗号化の実行に異なる鍵が使用され得る。これにより、暗号化が3層になる。セッション鍵は、1つまたは複数のアプレットによって生成され、1つまたは複数のアルゴリズム(EMV 4.3 Book 2 A1.3.1 Common Session Key Derivationで定義されているように)でアプリケーショントランザクションカウンタを使用して導出され得る。
【0064】
さらに、各カードのインクリメントは、一意であり、個人化によって割り当てられるか、または何らかの識別情報によってアルゴリズム的に割り当てられ得る。例えば、奇数番号のカードは、2ずつインクリメントし得、偶数番号のカードは、5ずつインクリメントし得る。いくつかの例では、1枚のカードが1、3、5、2、2、...の繰り返しで順次インクリメントし得るように、インクリメントは、シーケンシャルリードでも変化し得る。特定のシーケンスまたはアルゴリズムシーケンスは、個人化時に定義されるか、一意の識別子から導出された1つまたは複数のプロセスから定義され得る。これにより、リプレイ攻撃者が少数のカードインスタンスから一般化することが難しくなり得る。
【0065】
認証メッセージは、16進数ASCIIフォーマットのテキストNDEFレコードのコンテンツとして配信され得る。他の例では、NDEFレコードは、16進数フォーマットでエンコードされ得る。
【0066】
図5は、論理フロー500の一実施形態を示している。論理フロー500は、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。例えば、論理フロー500は、非接触カード101に関連するデータを鍵多様化を使用してフォームに安全に自動入力するための動作の一部または全部を含み得る。実施形態は、この文脈に限定されない。
【0067】
示されるように、論理フロー500は、ブロック505で始まり、アカウントアプリケーション113、OS112、および/または自動入力サービス114は、フォームの支払いフィールドがフォーカスを移動させたことを決定する。例えば、ユーザは、フォームの支払いフィールドをタップして、支払いフィールドにフォーカスを与え得る。他の例として、ユーザは、マウスおよび/またはキーボードを使用してフォームの支払いフィールドを選択し得る。より一般的には、プログラムで生成されたフォーカスを含む、任意の手法を使用して支払いフィールドにフォーカスを与え得る。例えば、支払いフィールドは、ハイパーテキストマークアップ言語(HTML)の「focus()」メソッドに基づいてフォーカスを移動させ得る。他の例として、フォームがロードされると、例えば、ソースコードの支払いフィールドに適用される「オートフォーカス」HTML属性に基づいて、支払いフィールドは、自動的にフォーカスを移動させ得る。支払いフィールドは、名前フィールド、アカウント番号フィールド、有効期限フィールド、配送先住所フィールド、請求先住所フィールド、および/またはCVVフィールドのうちの1つまたは複数を含み得る。支払いフィールドがフォーカスを移動させると、アカウントアプリケーション113、OS112、および/または自動入力サービス114は、非接触カード101をモバイルデバイス110にタップするようにユーザに指定する通知を出力し得る。いくつかの実施形態では、通知は、フォームが1つまたは複数の支払いフィールドを含むという決定に基づいて生成され得る。通知は、非接触カード101をモバイルデバイス110にタップする方法の例を示すGUIを含み得る。ブロック510で、ユーザは、非接触カード101をモバイルデバイスにタップして、非接触カード101に暗号化されたデータ(例えば、暗号化された顧客ID109)を生成および送信させる。ユーザは、非接触カード101をタップしてフォームにアカウント関連データを自動入力することを指定する通知に応答して、非接触カード101をタップし得る。アカウントアプリケーション113は、暗号化されたデータを生成して送信することを指定する指示を、NFCカードリーダ118を介して非接触カード101に送信し得る。非接触カード101は、暗号化されたデータを生成するための指示の受信に応答して、メモリ102内のカウンタ値104をインクリメントし得る。ブロック515で、非接触カード101は、メモリ102内のカウンタ値104およびマスター鍵105および暗号化アルゴリズムを使用して、多様化された鍵106を生成する。ブロック520で、非接触カード101は、多様化された鍵106および暗号化アルゴリズムを使用してデータ(例えば、顧客識別子107)を暗号化し、暗号化されたデータ(例えば、暗号化された顧客ID109)を生成する。
【0068】
ブロック525で、非接触カード101は、例えば、NFCを使用して、暗号化されたデータをモバイルデバイス110のアカウントアプリケーション113に送信し得る。少なくとも1つの実施形態では、非接触カード101は、暗号化されたデータとともにカウンタ値104の指示をさらに含む。ブロック530で、モバイルデバイス110のアカウントアプリケーション113は、非接触カード101から受信したデータをサーバ120の管理アプリケーション123に送信し得る。ブロック535で、サーバ120の管理アプリケーション123は、暗号化アルゴリズムへの入力としてマスター鍵105およびカウンタ値104を使用して、多様化された鍵106を生成し得る。一実施形態では、管理アプリケーション123は、非接触カード101によって提供されるカウンタ値104を使用する。他の実施形態では、管理アプリケーション123は、メモリ122内のカウンタ値104をインクリメントして、メモリ122内のカウンタ値104の状態を非接触カード101のメモリ102内のカウンタ値104と同期させる。
【0069】
ブロック540で、管理アプリケーション123は、多様化された鍵106および暗号化アルゴリズムを使用して、モバイルデバイス110を介して非接触カード101から受信した暗号化されたデータを復号する。そうすることで、少なくとも顧客識別子107をもたらし得る。顧客識別子107をもたらすことにより、管理アプリケーション123は、ブロック545で、非接触カード101から受信したデータを検証し得る。例えば、管理アプリケーション123は、顧客識別子107をアカウントデータ124内の関連するアカウントの顧客識別子と比較し、一致に基づいてデータを検証し得る。
【0070】
ブロック550で、管理アプリケーション123は、非接触カード101に関連付けられたカードデータ103を、モバイルデバイス110のアカウントアプリケーション113に送信し得る。例えば、管理アプリケーション123は、アカウント番号、有効期限、配送先住所、請求先住所、およびCVVを送信し得る。管理アプリケーション123は、アカウント所有者の名前をさらに送信し得る。一実施形態では、管理アプリケーション123は、モバイルデバイス110のアカウントアプリケーション113に送信される仮想アカウント番号を生成する。ブロック555で、モバイルデバイス110のアカウントアプリケーション113は、サーバ120から受信したカードデータ103をOS112の自動入力サービス114のAPIに提供する。ブロック560で、自動入力サービス114は、カードデータ103(または少なくともその一部)をフォームの1つまたは複数のフィールドに自動的に入力する。例えば、フォーカスを移動させたフォームフィールドがアカウント番号フィールドである場合、自動入力サービス114は、アカウント番号をアカウント番号フィールドに自動入力し得る。いくつかの実施形態では、自動入力サービス114は、ブロック560で、フォームのすべての支払いフィールド(例えば、アカウント番号、有効期限、CVV値、請求先住所、およびアカウント所有者の名前)に入力する。フォームは、アカウントアプリケーション113、他のアプリケーション115、および/またはOS112のコンポーネントであり得る。
【0071】
図6は、論理フロー600の一実施形態を示している。論理フロー600は、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。例えば、論理フロー600は、非接触カード101に格納されている仮想カード番号を自動入力するための動作のいくつかまたはすべてを含み得る。実施形態は、この文脈に限定されない。
【0072】
示されているように、論理フロー600はブロック610で始まり、ユーザは、非接触カード101をモバイルデバイス110にタップする。例えば、アカウントアプリケーション113および/または自動入力サービス114は、フォームの支払いフィールドがフォーカスを移動させたことを決定し、非接触カード101をタップするための通知をモバイルデバイス110に出力し得る。そうすることにより、アカウントアプリケーション113は、カードリーダ118を介して非接触カード101に指示を送信し、アカウント番号108の1つをモバイルデバイス110に送信する。ブロック620で、非接触カード101のアプレット440は、アカウント番号108からレコードを選択する。アプレット440は、選択されたレコードの仮想アカウント番号、CVV、および有効期限を暗号化し得る。アプレット440は、上で説明した鍵多様化技術を使用して、暗号化された顧客ID109をさらに生成し得る。次に、アプレット440は、アカウント番号108(暗号化された仮想アカウント番号、有効期限、およびCVVを含み得る)および暗号化された顧客ID109からの暗号化されたレコードを、NFCを介してモバイルデバイス110のアカウントアプリケーション113に送信し得る。アカウントアプリケーション113は、暗号化された顧客ID109を、上述のように検証のためにサーバ120に転送し得る。ブロック630で、非接触カード101のアプレット440は、ブロック620での仮想アカウント番号の読み取りを反映するように仮想アカウント番号108を変更する。例えば、アプレット440は、ブロック620で読み取られた仮想アカウント番号のレコードをアカウント番号108から削除し得る。
【0073】
ブロック635で、アカウントアプリケーション113は、暗号化された顧客ID109をサーバ120の管理アプリケーション123に送信する。ブロック640で、アカウントアプリケーション113は、管理アプリケーション123が上記のように暗号化された顧客ID109を検証したという指示をサーバ120から受信する。そうすることで、仮想アカウント番号108のセキュリティが強化される。ブロック650で、アカウントアプリケーション113は、非接触カード101から受信した暗号化されたデータを復号し、仮想アカウント番号、有効期限、CVV、およびユーザ名を生成する。ブロック660で、アカウントアプリケーション113は、復号されたデータを自動入力サービス114に提供し得る。アカウントアプリケーション113は、請求先住所やアカウント所有者名などの追加情報を自動入力サービス114にさらに提供し得る。ブロック670で、自動入力サービス114は、データ(仮想アカウント番号、有効期限、およびCVVを含む)をアカウントアプリケーション113、他のアプリケーション115、および/またはOS112のフォームに自動入力する。
【0074】
図7は、論理フロー700の一実施形態を示している。論理フロー700は、本明細書に記載の1つまたは複数の実施形態によって実行される動作のいくつかまたはすべてを表し得る。例えば、論理フロー700は、非接触カード101に格納されたカードデータ103を自動入力するための動作の一部または全部を含み得る。実施形態は、この文脈に限定されない。
【0075】
示されているように、論理フロー700は、ブロック710で始まり、ユーザは、非接触カード101をモバイルデバイス110にタップする。例えば、アカウントアプリケーション113および/または自動入力サービス114は、フォームの支払いフィールドがフォーカスを移動させたことを決定し、非接触カード101をタップするための通知をモバイルデバイス110に出力し得る。他の例として、アカウントアプリケーション113および/または自動入力サービス114は、フォームが支払いフィールドを含むことを決定し得る(例えば、各フォームフィールドのメタデータに基づいて)。そうすることにより、アカウントアプリケーション113は、カードリーダ118を介して非接触カード101に指示を送信し、EMVプロトコルを介してカードデータ103を送信する。ブロック720で、非接触カード101は、EMVプロトコルを介してカードデータ103をアカウントアプリケーション113に送信する。カードデータ103は、アカウント番号(例えば、PAN)、有効期限、およびアカウント所有者の名前を含み得る。いくつかの実施形態では、カードデータ103は、さらにCVVを含み得る。
【0076】
ブロック730で、アカウントアプリケーション113は、非接触カード101からカードデータ103を受信する。ブロック740で、アカウントアプリケーション113は、受信したカードデータ103を自動入力サービス114のAPIに提供する。ブロック750で、自動入力サービス114は、例えば、少なくともPANをアカウント番号フィールドに、有効期限を有効期限フィールドに入力することにより、カードデータ103をフォームに自動入力する。自動入力サービス114はさらに、アカウント所有者の名前およびCVVを対応するフォームフィールドに自動入力し得る。
【0077】
いくつかの例では、非接触カード101は、1つまたは複数のコンピュータキオスクまたは端末などのデバイスにタップされて、コーヒなどの購入に応答する取引アイテムを受け取るために身元を確認し得る。非接触カード101を使用することにより、ロイヤルティプログラムにおいて身元を証明する安全な方法が確立され得る。例えば、報奨、クーポン、オファなどを入手するための身元の安全な証明、または特典の受領は、単にバーカードをスキャンするのとは異なる方法で確立される。例えば、非接触カード101と、1つまたは複数のタップジェスチャを処理するように構成されたデバイスとの間で、暗号化されたトランザクションが発生し得る。上で説明したように、1つまたは複数のアプリケーションは、ユーザの身元を検証し、ユーザに、例えば、1つまたは複数のタップジェスチャを介してアクションまたは応答させるように構成され得る。いくつかの例では、ボーナスポイント、ロイヤルティポイント、報酬ポイント、ヘルスケア情報などのデータを非接触カードに書き戻し得る。
【0078】
いくつかの例では、非接触カード101は、モバイルデバイス110などのデバイスにタップされ得る。上で説明したように、ユーザの身元は、身元の検証に基づいてユーザに望ましい利益を付与する1つまたは複数のアプリケーションによって検証され得る。
【0079】
いくつかの実施形態では、認証通信プロトコルの例は、トランザクションカードと販売時点情報管理装置との間で一般的に実行されるEMV規格のオフライン動的データ認証プロトコルを、いくつかの変更を加えて模倣し得る。例えば、認証プロトコルの例は、カード発行者/支払い処理業者自体との支払いトランザクションを完了するために使用されないため、一部のデータ値は不要であり、認証は、カード発行者/支払い処理業者へのリアルタイムのオンライン接続を必要とせずに実行され得る。当技術分野で知られているように、販売時点情報管理(POS)システムは、トランザクション値を含むトランザクションをカード発行者に提出する。発行者がトランザクションを承認するか拒否するかは、カード発行者がトランザクション値を認識しているかどうかに基づき得る。一方、本開示の特定の実施形態では、モバイルデバイスから発生するトランザクションは、POSシステムに関連付けられたトランザクション値を欠いている。したがって、いくつかの実施形態では、ダミーのトランザクション値(すなわち、カード発行者が認識でき、アクティベーションを行うのに十分な値)が、認証通信プロトコル例の一部として渡され得る。POSベースのトランザクションは、トランザクションの試行回数(例えば、トランザクションカウンタ)に基づいてトランザクションを拒否し得る。バッファ値を超える試行回数が行われると、ソフト拒否が生じ得る。ソフト拒否は、トランザクションを受け入れる前に、さらに検証が必要である。いくつかの実施では、正当なトランザクションの拒否を避けるために、トランザクションカウンタのバッファ値が変更され得る。
【0080】
いくつかの例では、非接触カード101は、受信者デバイスに応じて情報を選択的に通信し得る。タップされると、非接触カード101は、タップが向けられたデバイスを認識し得、この認識に基づいて、非接触カードは、そのデバイスに適切なデータを提供し得る。これにより、非接触カードは、支払いやカード認証などの即時のアクションまたはトランザクションを完了するために必要な情報のみを送信できるという利点がある。データの送信を制限し、不要なデータの送信を回避することで、効率とデータのセキュリティの両方を向上させ得る。情報の認識と選択的な通信は、カードのアクティベーション、残高の転送、アカウントへのアクセス試行、商取引、段階的な不正行為の抑制など、様々なシナリオに適用され得る。
【0081】
非接触カード101のタップが、AppleのiOS(登録商標)オペレーティングシステムを実行しているデバイス、例えば、iPhone(登録商標)、iPod(登録商標)、またはiPad(登録商標)に向けられている場合、非接触カードは、iOS(登録商標)オペレーティングシステムを認識し、このデバイスと通信するための適切なデータを送信し得る。例えば、非接触カード101は、例えば、NFCを介してNDEFタグを使用してカードを認証するために必要な暗号化された識別情報を提供し得る。同様に、非接触カードタップがAndroid(登録商標)オペレーティングシステムを実行しているデバイス、例えば、Android(登録商標)スマートフォンまたはタブレットに向けられている場合、非接触カードは、Android(登録商標)オペレーティングシステムを認識し、このデバイスと通信するための適切なデータを送信し得る(本明細書に記載されている方法による認証に必要な暗号化された身元情報など)。
【0082】
他の例として、非接触カードタップは、キオスク、チェックアウトレジスタ、支払いステーション、または他の端末を含むがこれらに限定されないPOSデバイスに向けられ得る。タップが実行されると、非接触カード101は、POSデバイスを認識し、アクションまたはトランザクションに必要な情報のみを送信し得る。例えば、商取引を完了するために使用されるPOSデバイスを認識すると、非接触カード101は、EMV規格の下でトランザクションを完了するために必要な支払い情報を通信し得る。
【0083】
いくつかの例では、トランザクションに参加するPOSデバイスは、例えば、デバイス固有情報、ロケーション固有情報、トランザクション固有情報など、非接触カードによって提供される追加情報を要求または指定し得る。例えば、POSデバイスが非接触カードからデータ通信を受信すると、POSデバイスは、非接触カードを認識し、アクションまたはトランザクションを完了するために必要な追加情報を要求し得る。
【0084】
いくつかの例では、POSデバイスは、特定の非接触カードに精通している、または特定の非接触カードトランザクションの実行に慣れている認可された業者または他のエンティティと提携し得る。しかしながら、そのような提携は、記載された方法の実施には必要とされないことが理解される。
【0085】
ショッピングストア、食料品店、コンビニエンスストアなどのいくつかの例では、非接触カード101は、アプリケーションを開かなくてもモバイルデバイスにタップされて、1つまたは複数の購入をカバーするために1つまたは複数の報酬ポイント、ロイヤルティポイント、クーポン、オファなどを利用したいという希望または意図を示し得る。このようにして、購入の背後にある意図が提供される。
【0086】
いくつかの例では、1つまたは複数のアプリケーションは、ユーザの身元を検証するために、午後3時51分に起動が発生したこと、午後3時56分にトランザクションが処理されたこと、または行われたことなど、非接触カード101の1つまたは複数のタップジェスチャを介して起動されたことを決定するように構成され得る。
【0087】
いくつかの例では、1つまたは複数のアプリケーションは、1つまたは複数のタップジェスチャに応答する1つまたは複数のアクションを制御するように構成され得る。例えば、1つまたは複数のアクションは、報酬の収集、ポイントの収集、最も重要な購入の決定、最も安価な購入の決定、および/またはリアルタイムでの他のアクションへの再構成を備え得る。
【0088】
いくつかの例では、生体認証/ジェスチャ認証としてタップ動作に関するデータを収集し得る。例えば、暗号的に安全で傍受されにくい一意の識別子は、1つまたは複数のバックエンドサービスに送信され得る。一意の識別子は、個人に関する二次情報を検索するように構成され得る。二次情報は、ユーザに関する個人を特定できる情報を備え得る。いくつかの例では、二次情報は、非接触カード内に格納され得る。
【0089】
いくつかの例では、デバイスは、複数の個人間で請求書を分割したり、支払いをチェックしたりするアプリケーションを備え得る。例えば、各個人が非接触カードを所持し、同一の発行金融機関の顧客であってもよいが、必須ではない。これらの個人のそれぞれは、購入を分割するために、アプリケーションを介してデバイスでプッシュ通知を受信し得る。支払いを示すために1回だけカードをタップするのではなく、他の非接触カードが使用され得る。いくつかの例では、異なる金融機関を持っている個人は、カードをタップする個人からの1つまたは複数の支払い要求を開始するための情報を提供する非接触カード101を所有し得る。
【0090】
いくつかの例では、本開示は非接触カードのタップに言及する。しかしながら、本開示はタップに限定されず、本開示は他のジェスチャ(例えば、カードのウェーブまたは他の動き)を含むことを理解されたい。
【0091】
図8は、前述の様々な実施形態を実施するのに適したコンピューティングシステム802を備える例示的なコンピューティングアーキテクチャ800の実施形態を示している。様々な実施形態では、コンピューティングアーキテクチャ800は、電子デバイスの一部として構成され、または実施され得る。いくつかの実施形態では、コンピューティングアーキテクチャ800は、例えば、システム100の1つまたは複数のコンポーネントを実施するシステムを表し得る。いくつかの実施形態では、コンピューティングシステム802は、例えば、システム100のモバイルデバイス110およびサーバ120を表し得る。実施形態は、この文脈に限定されない。より一般的には、コンピューティングアーキテクチャ800は、図1図6を参照して本明細書で説明されるすべての論理、アプリケーション、システム、方法、装置、および機能を実施するように構成される。
【0092】
このアプリケーションで使用される用語「システム」、「コンポーネント」および「モジュール」は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すことを意図しており、その例は、例示的なコンピューティングアーキテクチャ800によって提供される。例えば、コンポーネントは、コンピュータプロセッサ上で実行されるプロセス、コンピュータプロセッサ、ハードディスクドライブ、(光学および/または磁気記憶媒体の)複数のストレージドライブ、オブジェクト、実行可能なもの、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で実行されているアプリケーションとサーバの両方は、コンポーネントであり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に常駐し得、コンポーネントは、1台のコンピュータにローカライズされ、および/または2台以上のコンピュータ間で分散され得る。さらに、コンポーネントは、様々なタイプの通信媒体によって互いに通信可能に結合され、動作を調整し得る。調整には、情報の一方向または双方向の交換が含まれ得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形で情報を通信し得る。情報は、様々な信号線に割り当てられた信号として実施され得る。このような割り当てでは、各メッセージは、信号である。しかしながら、さらなる実施形態は、代替としてデータメッセージを使用し得る。このようなデータメッセージは、様々な接続を介して送信され得る。接続例は、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースを含む。
【0093】
コンピューティングシステム802は、1つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)コンポーネント、電源などの様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングシステム802による実施に限定されない。
【0094】
図8に示されるように、コンピューティングシステム802は、プロセッサ804、システムメモリ806、およびシステムバス808を含む。プロセッサ804は、AMD(登録商標)Athlon(登録商標)、Duron(登録商標)およびOpteron(登録商標)プロセッサ、ARM(登録商標)アプリケーション、組み込みおよびセキュアプロセッサ、IBM(登録商標)およびMotorola(登録商標)DragonBall(登録商標)およびPowerPC(登録商標)プロセッサ、IBMおよびSony(登録商標)Cellプロセッサ、Intel(登録商標)Celeron(登録商標)、Core(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、およびXScale(登録商標)プロセッサおよび類似のプロセッサを含むがこれらに限定されない、様々な市販のコンピュータプロセッサのいずれかであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサ、およびその他のマルチプロセッサアーキテクチャも、プロセッサ804として使用し得る。
【0095】
システムバス808は、システムメモリ806からプロセッサ804を含むがこれらに限定されないシステムコンポーネントにインターフェースを提供する。システムバス808は、様々な市販のバスアーキテクチャのいずれかを使用して、メモリバス(メモリコントローラの有無にかかわらず)、周辺バス、およびローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のいずれかであり得る。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス808に接続し得る。スロットアーキテクチャの例は、アクセラレーテッドグラフィックスポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、NuBus、ペリフェラルコンポーネントインターコネクト(拡張)(PCI(X))、PCI Express、Personal Computer Memory Card International Association(PCMCIA)などを含むがこれらに限定されない。
【0096】
システムメモリ806は、リードオンリーメモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、シンクロナスDRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ(例えば、1つまたはより多くのフラッシュアレイ)、強誘電性ポリマーメモリ、オボニックメモリ、相変化または強誘電性メモリなどのポリマーメモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気または光カード、独立ディスクの冗長アレイ(RAID)ドライブなどのデバイスのアレイ、ソリッドステートメモリデバイス(例えば、USBメモリ、ソリッドステートドライブ(SSD))、および情報の格納に適したその他のタイプの記憶媒体などの1つまたは複数の高速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。図8に示される図示の実施形態では、システムメモリ806は、不揮発性メモリ810および/または揮発性メモリ812を含み得る。不揮発性メモリ810には、基本入出力システム(BIOS)が格納され得る。
【0097】
コンピューティングシステム802は、内部(または外部)ハードディスクドライブ(HDD)814、リムーバブル磁気ディスク818からの読み取りまたはリムーバブル磁気ディスク818への書き込みを行う磁気フロッピディスクドライブ(FDD)816、およびリムーバブル光ディスク822(例えば、CD-ROMまたはDVD)からの読み取りまたはリムーバブル光ディスク822への書き込みを行う光ディスクドライブ820を含む、1つまたは複数の低速メモリユニットの形式の様々なタイプのコンピュータ可読記憶媒体を含み得る。HDD814、FDD816、および光ディスクドライブ820は、それぞれ、HDDインターフェース824、FDDインターフェース826、および光学ドライブインターフェース828によってシステムバス808に接続され得る。外部ドライブ実施用のHDDインターフェース824は、ユニバーサルシリアルバス(USB)およびIEEE1394インターフェース技術の少なくとも一方または両方を含み得る。コンピューティングシステム802は、一般に、図1図7を参照して本明細書で説明されるすべての論理、システム、方法、装置、および機能を実施するように構成される。
【0098】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性および/または不揮発性ストレージを提供する。例えば、多数のプログラムモジュールは、オペレーティングシステム830、1つまたは複数のアプリケーションプログラム832、他のプログラムモジュール834、およびプログラムデータ836を含む、ドライブおよびメモリユニット810、812に格納され得る。一実施形態では、1つまたは複数のアプリケーションプログラム832、他のプログラムモジュール834、およびプログラムデータ836は、例えば、システム100の様々なアプリケーションおよび/またはコンポーネント、例えば、オペレーティングシステム112、アカウントアプリケーション113、自動入力サービス114、他のアプリケーション115、クリップボード116、アクセシビリティサービス117、および管理アプリケーション123を含み得る。
【0099】
ユーザは、1つまたは複数の有線/無線入力デバイス、例えば、キーボード838およびマウス840などのポインティングデバイスを介して、コンピューティングシステム802にコマンドと情報を入力し得る。その他の入力デバイスには、マイク、赤外線(IR)リモートコントロール、無線周波数(RF)リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グラブ、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性など)、トラックボール、トラックパッド、センサ、スタイラスなどを含み得る。これらおよび他の入力デバイスは、システムバス808に結合された入力デバイスインターフェース842を介してプロセッサ804に接続されることがよくあるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続され得る。
【0100】
モニタ844または他のタイプの表示デバイスも、ビデオアダプタ846などのインターフェースを介してシステムバス808に接続されている。モニタ844は、コンピューティングシステム802の内部または外部にあり得る。モニタ844に加えて、コンピュータは通常、スピーカ、プリンタなどの他の周辺出力デバイスを含む。
【0101】
コンピューティングシステム802は、リモートコンピュータ848などの1つまたは複数のリモートコンピュータへの有線および/または無線通信を介した論理接続を使用して、ネットワーク環境で動作し得る。リモートコンピュータ848は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースの娯楽機器、ピアデバイス、または他の一般的なネットワークノードであり得、通常、コンピューティングシステム802に関連して記載された要素の多くまたはすべてを含むが、簡潔にするために、メモリ/ストレージデバイス850のみが示されている。示されている論理接続には、ローカルエリアネットワーク(LAN)852および/またはより大きなネットワーク、例えば、ワイドエリアネットワーク(WAN)854への有線/無線接続が含まれる。このようなLANおよびWANネットワーク環境は、オフィスや企業では一般的であり、イントラネットなどの企業規模のコンピュータネットワークを容易にする。これらはすべて、例えば、インターネットなどのグローバル通信ネットワークに接続し得る。実施形態では、図1のネットワーク130は、LAN852およびWAN854のうちの1つまたは複数である。
【0102】
LANネットワーキング環境で使用される場合、コンピューティングシステム802は、有線および/または無線通信ネットワークインターフェースまたはアダプタ856を介してLAN852に接続される。アダプタ856は、アダプタ856の無線機能と通信するためにその上に配置された無線アクセスポイントを含み得るLAN852への有線および/または無線通信を容易にし得る。
【0103】
WANネットワーキング環境で使用される場合、コンピューティングシステム802は、モデム858を含み得るか、またはWAN854上の通信サーバに接続されるか、またはインターネットを経由するなど、WAN854上で通信を確立するための他の手段を有する。モデム858は、内部または外部であり、有線および/または無線デバイスであり、入力デバイスインターフェース842を介してシステムバス808に接続する。ネットワーク環境では、コンピューティングシステム802に関して示されたプログラムモジュール、またはその一部は、リモートメモリ/ストレージデバイス850に格納され得る。示されたネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されるであろう。
【0104】
コンピューティングシステム802は、無線通信(例えば、IEEE802.16無線変調技術)で動作可能に配置された無線デバイスなど、IEEE802規格ファミリを使用して有線および無線デバイスまたはエンティティと通信するように動作可能である。これには、少なくともWi-Fi(または無線フィデリティ)、WiMax、ブルートゥース(登録商標)ワイヤレステクノロジなどが含まれる。したがって、通信は、従来のネットワークと同様に事前定義された構造、または少なくとも2つのデバイス間での単なるアドホック通信であり得る。Wi-Fiネットワークは、IEEE802.11x(a、b、g、nなど)と呼ばれる無線技術を用いて、安全で信頼性の高い高速な無線接続を提供する。Wi-Fiネットワークは、コンピュータを相互に接続したり、インターネットに接続したり、有線ネットワーク(IEEE802.3関連のメディアと機能を使用)に接続したりするために使用し得る。
【0105】
様々な実施形態は、ハードウェア要素、ソフトウェア要素、または両方の組み合わせを使用して実施され得る。ハードウェア要素の例には、プロセッサ、マイクロプロセッサ、回路、回路要素(例えば、トランジスタ、抵抗、コンデンサ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどが含まれ得る。ソフトウェアの例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、記号、またはそれらの任意の組み合わせが含まれ得る。ハードウェア要素および/またはソフトウェア要素を使用して実施形態が実施されているかどうかの決定は、必要な計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、およびその他の設計または性能の制約などの任意の数の要因に従って変化し得る。
【0106】
少なくとも1つの実施形態の1つまたは複数の態様は、プロセッサ内の様々な論理を表す機械可読媒体に格納された代表的な命令によって実施でき、機械によって読み取られると、機械は、本明細書で説明する技術を実行する論理を製造する。「IPコア」として知られるこのような表現は、有形の機械可読媒体に格納され、論理またはプロセッサを作成する製造機械にロードするために、様々な顧客または製造施設に提供される。いくつかの実施形態は、例えば、機械によって実行された場合に、実施形態に従った方法および/または動作を機械に実行させることができる命令または命令セットを格納することができる機械可読媒体または物品を使用して実施され得る。そのような機械は、例えば、任意の適切な処理プラットフォーム、コンピューティングプラットフォーム、コンピューティングデバイス、処理デバイス、コンピューティングシステム、処理システム、コンピュータ、プロセッサなどを含むことができ、ハードウェアおよび/またはソフトウェアの任意の適切な組み合わせを使用して実施し得る。機械可読媒体または物品は、例えば、任意の適切なタイプのメモリユニット、メモリデバイス、メモリ物品、メモリ媒体、ストレージデバイス、ストレージ物品、ストレージ媒体および/またはストレージユニット、例えば、メモリ、リムーバブルまたは非リムーバブルな媒体、消去可能または消去不可能な媒体、書き込み可能または再書き込み可能な媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピディスク、コンパクトディスクリードオンリメモリ(CD-ROM)、コンパクトディスクレコーダブル(CD-R)、コンパクトディスクリライタブル(CD-RW)、光ディスク、磁気メディア、光磁気メディア、リムーバブルメモリカードまたはディスク、各種デジタルバーサタイルディスク(DVD)、テープ、カセットなどを含み得る。命令は、ソースコード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コード、暗号化コードなどの適切なタイプのコードを含むことができ、任意の適切な高レベル、低レベル、オブジェクト指向、視覚的、コンパイル型および/または解釈型のプログラミング言語を使用して実施され得る。
【0107】
例示的な実施形態の前述の説明は、例示および説明を目的として提示された。網羅的であること、または本開示を開示された正確な形式に限定することを意図していない。この開示に照らして、多くの修正および変更が可能である。本開示の範囲は、この詳細な説明ではなく、添付の請求の範囲によって限定されることが意図されている。本出願の優先権を主張する将来の出願は、開示された主題を異なる方法で主張し得、一般に、本明細書で様々に開示または実証されるように、1つまたは複数の限定の任意のセットを含み得る。
図1A
図1B
図2A
図2B
図3A
図3B
図3C
図3D
図4A
図4B
図5
図6
図7
図8