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

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

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

特表2024-515710非接触カードを使用したディスプレイ・デバイスでの口座の安全な管理
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-10
(54)【発明の名称】非接触カードを使用したディスプレイ・デバイスでの口座の安全な管理
(51)【国際特許分類】
   G06F 21/33 20130101AFI20240403BHJP
   H04L 9/10 20060101ALI20240403BHJP
   G06Q 30/0601 20230101ALI20240403BHJP
   G06Q 20/34 20120101ALI20240403BHJP
【FI】
G06F21/33
H04L9/10 A
G06Q30/0601 340
G06Q20/34 380
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023564567
(86)(22)【出願日】2022-03-03
(85)【翻訳文提出日】2023-12-19
(86)【国際出願番号】 US2022018600
(87)【国際公開番号】W WO2022225614
(87)【国際公開日】2022-10-27
(31)【優先権主張番号】17/237,717
(32)【優先日】2021-04-22
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100109139
【弁理士】
【氏名又は名称】今井 孝弘
(72)【発明者】
【氏名】ルール,ジェフリー
(72)【発明者】
【氏名】オズボーン,ケビン
(57)【要約】
非接触カードを使用してディスプレイ・デバイスの口座を安全に管理するためのシステム、方法、装置、およびコンピュータ読み取り可能媒体。ディスプレイ・デバイス上で実行されるアプリケーションは、サービス・プロバイダーを指定するリクエストを受信し得る。前記ディスプレイ・デバイスは、前記非接触カードを生成した暗号文を受信し、認証サーバーに前記暗号文を送信し得る。前記認証サーバーは、前記暗号文を復号化し、前記非接触カードに関連付けられた仮想口座番号を生成し得る。前記認証サーバーは、前記仮想口座番号を前記サービス・プロバイダーに送信し、前記サービス・プロバイダーは、前記仮想口座番号と前記認証サーバーによる暗号文の復号とに少なくとも部分的に基づいて口座を作成し得る。前記ディスプレイは、前記サービス・プロバイダーが、前記口座用に生成した認証トークンを受信し、前記認証トークンに少なくとも部分的に基づいて、前記サービス・プロバイダーが作成した前記口座にアクセスし得る。
【選択図】図3A
【特許請求の範囲】
【請求項1】
ディスプレイ・デバイスのプロセッサ上で実行されるアプリケーションによって、サービス・プロバイダーを備えるリクエストを受信するステップと、
前記ディスプレイ・デバイスの無線カード・リーダーにより、非接触カードのアプレットにより生成された暗号文を受信するステップと、
前記アプリケーションにより、前記暗号文を前記非接触カードに関連付けられた認証サーバーに送信するステップと、
前記認証サーバーが前記暗号文を解読するステップと、
前記認証サーバーは、前記暗号文の解読に基づいて、前記非接触カードに関連付けられた仮想口座番号を生成するステップと、
前記認証サーバーが前記仮想口座番号をサービス・プロバイダーに送信するステップと、
前記サービス・プロバイダーが、前記仮想口座番号と前記認証サーバーによる前記暗号文の解読に少なくとも部分的に基づいた口座を作成するステップと、
前記アプリケーションによって、前記サービス・プロバイダーが前記口座用に生成した認証トークンを受信するステップと、
前記アプリケーションによって、前記認証トークンに少なくとも部分的に基づいて前記サービス・プロバイダーが作成した前記口座にアクセスするステップと、
前記アプリケーションによって、前記認証トークンに基づいて前記サービス・プロバイダーによって生成された前記口座の1つまたは複数の属性を表示するステップと、
を備える、方法。
【請求項2】
前記ディスプレイ・デバイスの前記プロセッサ上で実行される前記アプリケーションによって、コンテンツ・アイテムを含むリクエストを受信するステップと、
前記サービス・プロバイダーから、前記コンテンツ・アイテムの第1の部分を受信するステップと、
前記ディスプレイ・デバイスが、前記コンテンツ・アイテムの少なくとも前記第1の部分を表示するステップと、をさらに含む、
請求項1に記載の方法。
【請求項3】
前記認証サーバーが、前記仮想口座番号の使用を前記サービス・プロバイダーとの使用に制限する、
請求項1に記載の方法。
【請求項4】
前記認証サーバーが、前記ディスプレイ・デバイスの位置を示す位置情報を受信するステップと、
前記認証サーバーは、前記ディスプレイ・デバイスの所在地が、前記非接触カードに関連付けられた住所から所定の距離内にあると判断するステップと、
前記認証サーバーは、前記ディスプレイ・デバイスの所在地が、前記非接触カードに関連付けられた住所の所定の距離内にあるという判断にさらに基づいて、前記仮想口座番号を生成するステップと、をさらに含む、
請求項1に記載の方法。
【請求項5】
前記位置情報は、前記ディスプレイ・デバイスの全地球測位システム(GPS)情報または前記ディスプレイ・デバイスのインターネット・プロトコル(IP)アドレスを備える、
請求項4に記載の方法。
【請求項6】
前記サービス・プロバイダーが、複数のサービス・プロバイダーのうちの第1のサービス・プロバイダーであり、
前記方法は、
前記アプリケーションによって、前記複数のサービス・プロバイダーの1つまたは複数の口座にアクセスするリクエストを受信するステップと、
前記アプリケーションにより、前記非接触カードのアプレットから第2の暗号文を受信するステップと、
前記アプリケーションにより、前記第2の暗号文を前記認証サーバーに送信するステップと、
前記認証サーバーは、前記第2の暗号文を解読するステップと、
前記認証サーバーが、前記第2の暗号文の解読に基づいて、前記複数のサービス・プロバイダーのうちの第2のサービス・プロバイダーの口座の前記非接触カードに関連付けられた支払記録を特定するステップと、
前記認証サーバーが、前記第2のサービス・プロバイダーに関連する第2のサーバーに、前記第2のサービス・プロバイダーの前記口座を含む認証リクエストを送信するステップと、
前記第2のサーバーにより、前記認証リクエストに基づいて、前記第2のサービス・プロバイダーとの前記口座のための第2の認証トークンを生成するステップと、
前記第2のサーバーから前記アプリケーションに、前記第2の認証トークンを送信するステップと、
前記アプリケーションは、前記第2の認証トークンを使用して、前記第2のサービス・プロバイダーの前記口座にアクセスするステップと、をさらに備える、
請求項1に記載の方法。
【請求項7】
前記無線カード・リーダーは、近距離無線通信(NFC)を用いて前記非接触カードと通信するように構成されており、前記方法は、さらに、
認証サーバーが暗号文を復号したことを示す復号結果を、認証サーバーが、
(i)アプリケーション、(ii)ディスプレイ・デバイスの製造者に関連する製造者サーバー、(iii)サービス・プロバイダーに送信するステップと、を備える、
請求項1に記載の方法。
【請求項8】
前記認証サーバーが、前記仮想口座番号の有効期限と、前記仮想口座番号のカード検証値(CVV)とをさらに生成し、前記認証サーバーが、前記有効期限、前記CVV、前記非接触カードに関連付けられた口座名義人名、および口座名義人の住所を、前記サービス・プロバイダーに送信する、
請求項1記載の方法。
【請求項9】
ディスプレイと、
プロセッサと、
無線カード・リーダーと、
前記プロセッサによって実行されると、前記プロセッサに以下のことをさせる命令を記憶するメモリーと、を備え、
前記命令は、前記プロセッサに、
サービス・プロバイダーを備えるリクエストを受信させ、
前記無線カード・リーダーを介して、非接触カードから暗号文を受信させ、
前記暗号文を、前記非接触カードに関連付けられた認証サーバーに送信させ、
前記認証サーバーから、前記認証サーバーが前記暗号文を復号化したことを特定する復号化結果を受信させ、
前記認証サーバーが前記暗号文を復号化したことに基づいて、前記サービス・プロバイダーから、前記サービス・プロバイダーが生成した口座の認証トークンと、前記非接触カードに関連する支払情報とを受信させ、
前記認証トークンに基づいて、前記サービス・プロバイダーが生成した前記口座の1つまたは複数の属性を表示させる、
ディスプレイ・デバイス。
【請求項10】
前記メモリーは、前記プロセッサによって実行されると、前記プロセッサに、以下のことをさせる命令を記憶するメモリーであって、
前記命令は、前記プロセッサに、
前記サービス・プロバイダーによってホストされるコンテンツ・アイテムを備えるリクエストを受信させ、
前記認証トークンに少なくとも部分的に基づいて、前記サービス・プロバイダーから、前記コンテンツ・アイテムの第1の部分を受信させ、
前記ディスプレイ上に、前記コンテンツ・アイテムの少なくとも前記第1の部分を表示させる、
請求項9に記載のディスプレイ・デバイス。
【請求項11】
前記支払情報が、仮想口座番号、前記仮想口座番号の有効期限、前記仮想口座番号のカード検証値(CVV)を備え、
前記仮想口座番号は、前記サービス・プロバイダーでの使用が制限されている、
請求項9に記載のディスプレイ・デバイス。
【請求項12】
前記メモリーは、前記プロセッサによって実行されると、前記プロセッサに、以下のことをさせる命令を記憶するメモリーであって、
前記命令は、前記プロセッサに、
前記ディスプレイ・デバイスの位置情報を前記認証サーバーに送信させ、
前記ディスプレイ・デバイスの位置情報が、前記非接触カードに関連付けられた住所の所定の距離内にあることを特定する指示を、前記認証サーバーから受信させる、
請求項9に記載のディスプレイ・デバイス。
【請求項13】
前記メモリーは、前記プロセッサによって実行されると、前記プロセッサに、以下のことをさせる命令を記憶するメモリーであって、
前記命令は、前記プロセッサに、
第2のサービス・プロバイダーの前記口座にアクセスするリクエストを受信させ、
前記無線カード・リーダーを介して、前記非接触カードから第2の暗号文を受信させ、
前記第2の暗号文を前記認証サーバーに送信させ、
前記認証サーバーから、前記認証サーバーが前記第2の暗号文を復号したことを特定する復号結果を受信させ、
前記第2のサービス・プロバイダーから、前記認証サーバーが前記第2の暗号文を解読したことに基づいて、前記第2のサービス・プロバイダーの前記口座のための第2の認証トークンを受け取らせ、
前記第2の認証トークンに基づき、前記第2のサービス・プロバイダーで前記口座にアクセスさせる、
請求項9に記載のディスプレイ・デバイス。
【請求項14】
前記メモリーは、前記プロセッサによって実行されると、前記プロセッサに、以下のことをさせる命令を記憶するメモリーであって、
前記命令は、前記プロセッサに、
前記サービス・プロバイダーを含む複数のサービス・プロバイダーの1つまたは複数の口座にアクセスするリクエストを受信させ、
前記非接触カードから第2の暗号文を受信させ、
前記第2の暗号文を前記認証サーバーに送信させ、
前記認証サーバーから、前記認証サーバーによって前記第2の暗号文が復号されたことを特定する復号結果を受信させ、
前記第2の暗号文の復号化に基づいて、前記認証サーバーから、前記口座の口座データベースに、前記複数のサービス・プロバイダーのうちの第2のサービス・プロバイダーとの前記口座に対する支払いを反映した支払記録が含まれていることを特定する確認結果を受信させ、
前記サービス・プロバイダーから、前記第2のサービス・プロバイダーに対する第2の認証トークンを受信させ、
前記第2の認証トークンを使用して、前記第2のサービス・プロバイダーとの前記口座にアクセスさせる、
請求項9に記載のディスプレイ・デバイス。
【請求項15】
プロセッサによって実行されると、前記プロセッサに以下のことをさせる命令を備える非一過性のコンピュータ読み取り可能な記憶媒体であって、
前記命令は、前記プロセッサに、
前記プロセッサ上で実行されるアプリケーションによって、サービス・プロバイダーを構成するリクエストを受信させ、
前記アプリケーションによって、非接触カードから暗号文を受信させ、前記暗号文は、前記プロセッサを備えるディスプレイ・デバイスの無線カード・リーダーを介して受信させ、
前記アプリケーションによって、前記非接触カードに関連付けられた認証サーバーに前記暗号文を送信させ、
前記アプリケーションによって、前記認証サーバーから、前記認証サーバーが暗号文を復号したことを特定する復号結果を受信させ、
前記認証サーバーが前記暗号文を復号化したことに基づいて、前記サービス・プロバイダーから前記アプリケーションによって、前記サービス・プロバイダーによって生成された口座の認証トークンと、前記非接触カードに関連付けられた支払情報とを受信させ、
前記ディスプレイ・デバイスで前記アプリケーションによって、前記認証トークンに基づいて、前記サービス・プロバイダーによって生成された前記口座の1つまたは複数の属性を表示させる、
コンピュータ読み取り可能な記憶媒体。
【請求項16】
前記命令は、前記プロセッサに、
前記ディスプレイ・デバイスの前記プロセッサ上で実行される前記アプリケーションによって、コンテンツ・アイテムを備えるリクエストを受信させ、
前記サービス・プロバイダーから前記アプリケーションによって、前記コンテンツ・アイテムの第1の部分を受信させ、
前記ディスプレイ・デバイス上の前記アプリケーションによって、前記コンテンツ・アイテムの少なくとも前記第1の部分を表示させる、
請求項15に記載のコンピュータ読み取り可能な記憶媒体。
【請求項17】
前記支払情報は、仮想口座番号、前記仮想口座番号の有効期限、前記仮想口座番号のカード検証値(CVV)を備え、
前記仮想口座番号は、前記サービス・プロバイダーでの使用が制限されている、
請求項15に記載のコンピュータ読み取り可能な記憶媒体。
【請求項18】
前記命令は、前記プロセッサに、
前記アプリケーションによって、前記ディスプレイ・デバイスの位置情報を前記認証サーバーに送信させ、
前記アプリケーションによって、前記認証サーバーから、前記ディスプレイ・デバイスの前記位置情報が、前記非接触カードに関連付けられた住所の所定の距離内にあることを特定する表示を受信させる、
請求項15に記載のコンピュータ読み取り可能な記憶媒体。
【請求項19】
前記命令はさらに、前記プロセッサに、
前記アプリケーションによって、第2のサービス・プロバイダーの口座にアクセスするリクエストを受信させ、
前記アプリケーションによって、前記無線カード・リーダーを介して、前記非接触カードから第2の暗号文を受信させ、
前記アプリケーションによって、前記第2の暗号文を前記認証サーバーに送信させ、
前記アプリケーションによって、前記認証サーバーから、前記認証サーバーが前記第2の暗号文を復号したことを指定する復号結果を受信させ、
前記アプリケーションによって、第2のサービス・プロバイダーから、前記認証サーバーが前記第2の暗号文を復号したことに基づいて、前記第2のサービス・プロバイダーの前記口座のための第2の認証トークンを受け取らせ、
前記アプリケーションによって、前記第2の認証トークンに基づいて、前記第2のサービス・プロバイダーの前記口座にアクセスさせる、
請求項18に記載のコンピュータ読み取り可能な記憶媒体。
【請求項20】
前記サービス・プロバイダーは、複数のサービス・プロバイダーのうちの第1のサービス・プロバイダーであり、
前記命令はさらに、前記プロセッサに、
前記アプリケーションによって、前記複数のサービス・プロバイダーの1つまたは複数の口座にアクセスするリクエストを受信させ、
前記アプリケーションによって、前記非接触カードのアプレットから第2の暗号文を受信させ、
前記アプリケーションによって、前記第2の暗号文を前記認証サーバーに送信させ、
前記第2の暗号文を前記認証サーバーに送信させ、
前記認証サーバーから、前記第2の暗号文が前記認証サーバーによって復号されたことを指定する復号結果を受信させ、
前記第2の暗号文の復号化に基づいて、前記アプリケーションによって前記認証サーバーから、前記口座の口座データベースが、前記複数のサービス・プロバイダーのうちの第2のサービス・プロバイダーとの口座に対する支払いを反映した支払記録を含むことを指定する確認結果を受け取らせ、
前記アプリケーションによって、前記サービス・プロバイダーから、前記第2のサービス・プロバイダーのための第2の認証トークンを受け取らせ、
前記アプリケーションによって、前記第2の認証トークンを使用して、前記第2のサービス・プロバイダーの前記口座にアクセスさせ、
請求項15に記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連技術)
本出願は、2021年4月22日に出願された「SECURE MANAGEMENT OF ACCOUNTS ON DISPLAY USING A CONTACTLESS CARD」と題する米国特許出願シリアル番号17/237,717の優先権を主張するものである。前述の出願の内容は、参照によりその全体が本明細書に援用される。
【背景技術】
【0002】
テレビなどのディスプレイ・デバイスは、サービス・プロバイダーがホストするコンテンツにユーザーがアクセスできるように、さまざまなアプリケーションを提供できる。多くの場合、ユーザーはそのようなサービスに対して支払いをリクエストされる。しかし、ほとんどのテレビは、ユーザーが個人情報を簡単に入力できるような入力インターフェースを備えていない。さらに、このような入力インターフェースのユーザーはしばしばエラーを起こし、正しい情報を入力するために何度も試行する必要がある。このような入力インターフェースは、ユーザーが入力する際に個人情報がディスプレイに表示される可能性があるため、セキュリティ上のリスクもある。同様に、悪意のあるユーザーは、ユーザーが入力インターフェースを介して情報を入力する際に、入力をコピーできる可能性があり、それによってセキュリティ上のリスクが生じる。
【発明の概要】
【0003】
ある態様では、方法は、
ディスプレイ・デバイスのプロセッサ上で実行されるアプリケーションにより、サービス・プロバイダーを含むリクエストを受信するステップと、
ディスプレイ・デバイスの無線カード・リーダーにより、非接触カードのアプレットにより生成された暗号文を受信するステップと、
前記アプリケーションにより、前記暗号文を前記非接触カードに関連付けられた認証サーバーに送信するステップと、
前記認証サーバーにより、前記暗号文を復号化し、前記暗号文の復号化に基づいて前記認証サーバーにより、前記非接触カードに関連付けられた仮想口座番号を生成するステップと、
前記認証サーバーにより、前記仮想口座番号を前記サービス・プロバイダーに送信し、前記サービス・プロバイダーにより、前記仮想口座番号および前記認証サーバーによる暗号文の復号に少なくとも部分的に基づいて口座を作成するステップと、
前記アプリケーションにより、前記サービス・プロバイダーが前記口座用に生成した認証トークンを受信するステップと、
前記アプリケーションによって、前記認証トークンに少なくとも部分的に基づいて前記サービス・プロバイダーによって作成された前記口座にアクセスし、前記アプリケーションによって、前記認証トークンに基づいて前記サービス・プロバイダーによって生成された前記口座の1つまたは複数の属性を表示するステップと、
を含む。
他の実施形態も説明され、特許請求されている。
【図面の簡単な説明】
【0004】
図1A図1Aは、一実施形態による主題の態様を示す図である。
図1B図1Bは、一実施形態による主題の態様を示す図である。
図1C図1Cは、一実施形態による主題の態様を示す図である。
図1D図1Dは、一実施形態による主題の態様を示す図である。
図1E図1Eは、一実施形態による主題の態様を示す図である。
図2A図2Aは、一実施形態による主題の態様を示す図である。
図2B図2Bは、一実施形態による主題の態様を示す図である。
図2C図2Cは、一実施形態による主題の態様を示す図である。
図3A図3Aは、一実施形態による主題の態様を示す図である。
図3B図3Bは、一実施形態による主題の態様を示す図である。
図4A図4Aは、一実施形態による主題の態様を示す図である。
図4B図4Bは、一実施形態による主題の態様を示す図である。
図5図5は、一実施形態によるロジック・フローを示す図である。
図6図6は、一実施形態によるロジック・フローを示す図である。
図7A図7Aは、一実施形態による非接触カードを示す図である。
図7B図7Bは、一実施形態による非接触カードを示す図である。
図8図8は、一実施形態によるシーケンス・フローを示す図である。
図9図9は、一実施形態によるデータ構造を示す図である。
図10図10は、一実施形態によるコンピュータ・アーキテクチャを示す図である。
図11図11は、一実施形態による通信アーキテクチャを示す図である。
【発明を実施するための形態】
【0005】
本明細書で開示する実施形態は、非接触カードを使用して、テレビなどのディスプレイ・デバイスでサービス・プロバイダーの口座を安全に管理する技術を提供する。一般に、ディスプレイ・デバイスは、近距離無線通信(NFC:Near-Field Communications)リーダーなどの無線カード・リーダーを備え、ディスプレイ・デバイスが非接触カードと無線通信できるようにできる。ビデオ・オン・デマンド(VOD:Video-On-Demand)サービス・プロバイダーなど、第1のサービス・プロバイダーの新規口座を作成する(または既存の口座を拡張する)には、ユーザーは非接触カードをディスプレイ・デバイスにタップできる。これに応答して、ディスプレイ・デバイスは、非接触カード上で実行されるアプレットに暗号文の生成を指示できる。ディスプレイの無線カード・リーダーは、暗号文を読み取り、処理のため認証サーバーに暗号文を送信できる。認証サーバーが暗号文を復号化できた場合、認証サーバーは非接触カード用の仮想口座番号を生成できる。一部の実施形態では、仮想口座番号は、第1のサービス・プロバイダーとの使用に制限される(例えば、仮想口座番号は、第1のサービス・プロバイダーとの支払いにのみ使用できる)。その後、認証サーバーは、第1のサービス・プロバイダーへの口座生成リクエストの一部として、仮想口座番号(およびその他のデータ)を送信できる。その後、第1のサービス・プロバイダーは、リクエストで指定された仮想口座番号(およびその他のデータ)を使用して、ユーザーの口座を生成できる。その後、第1のサービス・プロバイダーは、口座用の口座認証トークンを生成し(または口座用の既存のトークンを特定し)、トークンをディスプレイ・デバイスに送信できる。いくつかの実施形態では、第1のサービス・プロバイダーは、ディスプレイ・デバイスの製造業者に関連する製造業サーバーなど、他の装置に口座トークンを送信できる。受け取ったディスプレイ・デバイスで実行するアプリケーションは、その口座トークンを使って、第1のサービス・プロバイダーの口座にアクセスできる。例えば、ユーザーは、第1のサービス・プロバイダーがホストするコンテンツを閲覧したり、第1のサービス・プロバイダーが作成した口座の詳細を閲覧したりできる。
【0006】
さらに、いくつかの実施形態では、非接触カードを使用して、複数のサービス・プロバイダー口座のログイン・プロセスを改善できる。例えば、ユーザーは新しいディスプレイ・デバイスを購入したり、ディスプレイ・デバイスのソフトウェアをリセットしたりできる。ユーザーは、非接触カードをディスプレイ・デバイスにタップすることにより、非接触カードに暗号文を生成させ、暗号文をディスプレイ・デバイスに送信できる。ディスプレイ・デバイスは、暗号文を認証サーバーに送信し、認証サーバーは暗号文を復号できる。次に、認証サーバーは、非接触カードに関連付けられた支払記録において、1つまたは複数のサービス・プロバイダーのための1つまたは複数の支払記録を特定できる。例えば、認証サーバーは、支払記録に基づいて、非接触カードがサービス・プロバイダーAの購読料の支払いに使用されたと判断できる。認証サーバーは、暗号文の復号と支払記録に基づき、サービス・プロバイダーAに対する認証リクエストを生成できる。リクエストには、認証サーバーが生成したトークンを含めることができる。認証サーバーは、サービス・プロバイダーAにリクエストを送信できる。その後、サービス・プロバイダーAは、口座用の口座トークンを生成し(または口座用の既存の口座トークンを特定し)、その口座トークンをディスプレイ・デバイスに送信できる。ディスプレイ・デバイス上のサービス・プロバイダーAに関連するアプリケーションは、トークンを使用して,サービス・プロバイダーAの口座にログインできる。新ディスプレイ・デバイスは、サービス・プロバイダーAの口座に自動的にログインできる。このテクニックを使用すると、新しいディスプレイ・デバイスは、非接触カードが支払データを提供するために使用されたサービス・プロバイダーの他の口座に自動的にログインできる。
【0007】
有利なことに、本明細書で開示される実施形態は、非接触カードを使用してディスプレイ・デバイスで口座を作成および管理する安全な技術を提供する。非接触カードによって生成される暗号文を活用することにより、本開示の実施形態は、不正行為のリスクを最小限に抑えながら、操作の実行をリクエストするユーザーの身元を安全に確認できる。さらに、新しい口座は、ユーザーがディスプレイ・デバイスの支払情報を入力することによって危険にさらされることのない支払情報(例えば、仮想口座番号)を使用して安全に生成できる。そうすることで、非接触カードと関連口座のセキュリティが向上する。さらに、自動化されたログイン・プロセスを提供することにより、本明細書で開示される実施形態は、ディスプレイ・デバイスが非接触カードを1回タップするだけで、ユーザーのすべてのサービス・プロバイダー口座に安全にアクセスできるようにできる。
【0008】
本明細書で使用される表記および命名法を一般的に参照すると、以下に続く詳細な説明の1つまたは複数の部分は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順の観点から提示される場合がある。このような手続き上の記述や表現は、当業者が自分の仕事の物質を他の当業者に最も効果的に伝えるために使用するものである。手続きとは、ここでは、そして一般的には、望ましい結果を導く自己矛盾のない一連の操作であると考えられている。これらの操作は、物理量の物理的操作を必要とするものである。必ずしもそうとは限らないが、通常、これらの量は、記憶、転送、結合、比較、その他の操作が可能な電気信号、磁気信号、光学信号の形をとる。これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶのは、主に一般的な用法から便利な場合がある。しかし、これらの用語や類似の用語はすべて、適切な物理量と関連付けられるべきものであり、それらの物理量に適用される便宜的なラベルに過ぎないことに注意すべきである。
【0009】
さらに、これらの操作は、一般的に人間のオペレーターが行う精神的な操作に関連する、加算や比較などの用語で呼ばれることが多い。しかしながら、1つまたは複数の実施形態の一部を形成する本明細書に記載された操作のいずれにおいても、人間のオペレーターのそのような能力は必要ではなく、ほとんどの場合において望ましいものではない。むしろ、これらのオペレーションはマシン・オペレーションである。様々な実施形態のオペレーションを実行するための有用なマシンには、本明細書の教示に従って記述された内部に格納されたコンピュータ・プログラムによって選択的に起動または構成されるデジタル・コンピュータが含まれ、および/または、必要な目的のために特別に構成された装置またはデジタル・コンピュータが含まれる。様々な実施形態はまた、これらのオペレーションを実行するための装置またはシステムに関する。これらの装置は、必要な目的のために特別に作られることもある。これらの様々なマシンに必要な構造は、与えられた説明から明らかだろう。
【0010】
次に、図面を参照するが、ここでは、全体を通して同様の要素を参照するために同様の参照数字が使用されている。以下の説明では、十分な理解を得るために、説明のために多数の具体的な詳細を示している。しかし、これらの具体的な詳細がなくても、新規の実施形態を実施できることは明らかであろう。他の例では、その説明を容易にするために、周知の構造および装置をブロック図の形で示す。その意図は、特許請求の範囲内のすべての変更、同等物、代替物をカバーすることである。
【0011】
図1Aは、開示された実施形態と一致する、システムとも呼ばれる例示的なコンピューティング・アーキテクチャ100を示す。図1A-1Eに示されるコンピューティング・アーキテクチャ100は、特定のトポロジにおいて限られた数の要素を有するが、コンピューティング・アーキテクチャ100は、所与の実装のために所望されるように、代替のトポロジにおいてより多くのまたはより少ない要素を含み得ることが理解され得る。システム100は、ディスプレイ・デバイス102、非接触カード110、認証サーバー106、1つまたは複数の製造者サーバー138、1または複数のサービス・プロバイダー・サーバー140、メモリー112、アプレット114、カウンター116、マスター・キー118、多様化キー120、顧客ID122、アプリケーション126、通信インターフェース128、ネットワーク130、認証アプリケーション132、メモリー124、口座データベース134、暗号文136、オペレーティング・システム108、メモリー104、口座データベース142、および口座データベース144を備える。
【0012】
非接触カード110は、クレジット・カード、デビット・カード、ATMカード、ギフト・カード、スマート・カードなど、あらゆる種類のカードの代表である。非接触カード110は、NFC、EMV規格、または無線通信における他の短距離プロトコルを介してディスプレイ・デバイス102の通信インターフェース128(本明細書では、「カード・リーダー」、「無線カード・リーダー」、および/または「無線通信インターフェース」とも呼ばれる)と通信するように構成された、無線周波数識別(RFID)チップなどの1つまたは複数の通信インターフェース128を備え得る。本書では通信プロトコルの例としてNFCを使用するが、本開示はEMV標準、Bluetooth(登録商標)、および/またはWiーFi(登録商標)などの他のタイプの無線通信にも同様に適用できる。
【0013】
ディスプレイ・デバイス102は、テレビ、モニタ、プロジェクタなど、任意の数およびタイプのディスプレイ・デバイスを代表する。認証サーバー106、サービス・プロバイダー・サーバー140、および製造者サーバー138は、サーバー、ワークステーション、計算クラスタ、クラウド・コンピューティング・プラットフォーム、仮想化コンピューティング・システムなどの任意のタイプのコンピューティング・デバイスの代表である。明確にするために描かれていないが、ディスプレイ・デバイス102、非接触カード110、および認証サーバー106、サービス・プロバイダー・サーバー140、および製造者サーバー138はそれぞれ、プログラム、コード、および/または命令を実行するための1つまたは複数のプロセッサ回路を含む。
【0014】
図示のように、非接触カード110のメモリー104には、アプレット114、カウンター116、マスター・キー118、多様化キー120、一意の顧客ID122が含まれる。アプレット114は、本明細書で説明するオペレーションを実行するように構成された実行可能コードである。カウンター116、マスター・キー118、多様化キー120、顧客ID122は、以下に詳述するように、システム100のセキュリティを提供するために使用される。
【0015】
図示されているように、ディスプレイ・デバイス102のメモリー104は、オペレーティング・システム(OS)108のインスタンスを含み、このOS108は、組み込み型オペレーティング・システムを含むことができる。オペレーティング・システム108の例としては、webOS、Android(登録商標)OS、iOS(登録商標)、macOS(登録商標)、Linux(登録商標)、Tizen(登録商標)、Windows(登録商標)オペレーティング・システムなどがある。示されるように、オペレーティング・システム108は、1つまたは複数のアプリケーション126を含む。アプリケーション126は、サービス・プロバイダー、ウェブ・ブラウザーなどによって提供されるアプリケーション126など、任意のタイプのアプリケーションの代表である。例えば、所定のアプリケーション126は、サービス・プロバイダー・サーバー140に関連付けられている場合がある。例えば、アプリケーション126-1は、サービス・プロバイダー・サーバー140-1に関連付けられているなどである。一般的に、所定のアプリケーション126は、ユーザーがコンテンツ・アイテムまたは他のサブスクリプション・ベースのサービスにアクセスすることを可能にする。例えば、アプリケーション126は、サービス・プロバイダー・サーバー140によってホストされるビデオ、オーディオ、画像、および他の任意のタイプのコンテンツをストリーミングするために使用できる。しかし、サービス・プロバイダーは、関連サービスにアクセスするために支払いを必要とする場合があるため、アプリケーション126は、口座詳細の閲覧、サービスへの登録、支払い、支払情報の更新などに使用される場合がある。サービス・プロバイダーは一般に、ビデオ・サービス・プロバイダー、オーディオ・サービス・プロバイダーなど、どのようなタイプのオンライン・サービス・プロバイダーであってもよい。
【0016】
図示されているように、認証サーバー106のメモリー124には、認証アプリケーション123が含まれている。幾つかの実施形態では、非接触カード110、アプリケーション126、および/または関連データ、例えば、口座データベース134、口座データベース144、および/または口座データベース142におけるユーザーの口座の詳細を保護するために、システム100は、非接触カード110を使用した安全な口座管理を提供できる。例えば、ユーザーは、サービス・プロバイダー・サーバー140に関連付けられたサービス・プロバイダーに新しい口座を開設したり、サービス・プロバイダーとの既存の口座のサービスを拡張したりすることなどを希望できる。いくつかの実施形態では、ユーザーは、サービス・プロバイダー・サーバー140に関連するアプリケーション126を実行し、非接触カード110をディスプレイ・デバイス102にタップするようユーザーに指示できる。
【0017】
図1Aに描かれた実施形態では、ユーザーは、非接触カード110をディスプレイ・デバイス102にタップする(または、そうでなければ、非接触カード110をディスプレイ・デバイス102の通信インターフェース128の通信範囲内に入れる)ことができる。非接触カード110のアプレット114は、次に暗号文136を生成できる。暗号文136は、非接触カード110の顧客ID122に基づくことがある。より一般的には、暗号文136は、任意の適切な暗号技術に基づいて生成できる。いくつかの実施形態では、アプレット114は、暗号文136と暗号化されていない識別子(例えば、顧客ID122、非接触カード110の識別子、アプリケーション126の識別子、および/または任意の他の一意の識別子)とをデータ・パッケージの一部として含むことができる。少なくとも1つの実施形態では、データ・パッケージはNDEFファイルである。いくつかの実施形態では、アプリケーション126は、アプリケーション識別子をアプレット114に送信し、このアプリケーション識別子は、暗号文136の中に、および/またはデータ・パッケージの中に暗号化されていない状態で含まれることがある。アプリケーション識別子は、所定のアプリケーション126を一意に識別できる。
【0018】
前述のように、コンピューティング・アーキテクチャ100は、データを保護するために鍵の多様化を実施するように構成されており、本明細書では鍵の多様化技術と呼ばれることがある。一般に、認証サーバー106(または他のコンピューティング・デバイス)と非接触カード110は、同じマスター・キー118(マスター対称キーとも呼ばれる)を備えることができる。より具体的には、各非接触カード110は、認証サーバー106に対応するペアを持つ個別のマスター・キー118でプログラムされている。例えば、非接触カード110が製造される際、一意のマスター・キー118が非接触カード110のメモリー112にプログラムされることがある。同様に、一意のマスター・キー118は、認証サーバー106の口座データベース134内の非接触カード110に関連付けられた顧客の記録に格納される(および/または、図示しないハードウェア・セキュリティ・モジュール(HSM:Hardware Security Module)のような別の安全な場所に格納される)ことがある。マスター・キー118は、非接触カード110と認証サーバー106以外のすべての関係者から秘密にでき、それによりシステム100のセキュリティが強化される。いくつかの実施形態では、非接触カード110のアプレット114は、マスター・キー118およびデータを入力として暗号アルゴリズムを使用して、データ(例えば、顧客ID122)を暗号化および/または復号化できる。例えば、顧客ID122をマスター・キー118で暗号化すると、暗号文136が生成される。同様に、認証サーバー106は、対応するマスター・キー118を使用して、非接触カード110に関連するデータを暗号化および/または復号化できる。
【0019】
他の実施形態では、非接触カード110および認証サーバー106のマスター・キー118をカウンター116と併用し、キーの多様化を用いてセキュリティを強化できる。カウンター116は、非接触カード110と認証サーバー106との間で同期される値を備える。カウンター116は、非接触カード110と認証サーバー106(および/または非接触カード110とディスプレイ・デバイス102)との間でデータが交換されるたびに変化する番号で構成できる。データを送信する(例えば、認証サーバー106および/またはディスプレイ・デバイス102に)準備をするとき、非接触カード110のアプレット114は、カウンター116をインクリメントできる。非接触カード110のアプレット114は、マスター・キー118とカウンター116を入力として暗号アルゴリズムに提供し、暗号アルゴリズムは出力として多様化されたキー120を生成する。暗号アルゴリズムには、暗号化アルゴリズム、ハッシュベース・メッセージ認証コード(HMAC:Hash-based Message Authentication Code)アルゴリズム、暗号ベース・メッセージ認証コード(CMAC:Cipher-based Message Authentication Code)アルゴリズムなどが含まれる。暗号アルゴリズムの非限定的な例としては、3DESやAES107などの対称暗号化アルゴリズム、HMAC-SHA-256などの対称HMACアルゴリズム、AES-CMACなどの対称CMACアルゴリズムなどがある。主要な多様化技術の例は、2018年11月29日に出願された米国特許出願16/205,119にさらに詳細に記載されている。前述の特許出願は、参照によりその全体が本明細書に援用される。
【0020】
キーの多様化の例を続けると、アプレット114は次に、多様化されたキー120および暗号アルゴリズムへの入力としてのデータを使用して、データ(例えば、顧客ID122および/または任意の他のデータ)を暗号化できる。例えば、多様化されたキー120で顧客ID122を暗号化すると、暗号化された顧客ID(例えば、暗号文136)が得られる場合がある。オペレーティング・システム108および/またはアプリケーション126は、ディスプレイ・デバイス102の通信インターフェース128を介して、暗号文136を含むデータ・パッケージを読み取ることができる。
【0021】
その後、アプリケーション126は、サービス・プロバイダー・サーバー140の口座を生成するリクエストとともに、認証サーバー106に暗号文136を送信できる。リクエストは、サービス・プロバイダーが提供するあらゆるサービスに対する一般的なリクエスト、および/またはサービス・プロバイダーが提供する特定のサービスに対する特定のリクエストである。例えば、アプリケーション126は、ユーザーがサービス・プロバイダーで利用可能な1つまたは複数の異なるサービス・プランを選択できるようにできる。ユーザーは、1つまたは複数のプランを選択でき、アプリケーション126は、選択されたプランの表示をリクエストに含めることができる。さらに、アプリケーション126は、暗号文136のデータ・パッケージ内のアプレット114によって提供される暗号化されていない顧客ID122などの別の識別子を含むことができる。いくつかの実施形態では、別の識別子は、非接触カード110の識別子、口座識別子、アプリケーション126の識別子などである。そうすることで、認証サーバー106は、リクエストを処理する際に、対応するサービス・プロバイダー・サーバー140を特定できる。さらに、いくつかの実施形態では、アプリケーション126は、ディスプレイ・デバイス102の位置データなどの追加データを認証サーバー106に送信できる。位置情報には、全地球測位システム(GPS)座標、ディスプレイ・デバイス102のIPアドレスなどが含まれる。追加的および/または代替的に、アプリケーション126は、ディスプレイ・デバイス102の媒体アクセス制御(MAC)アドレスおよび/または別の一意の識別子など、ディスプレイ・デバイス102の一意の識別子を含むことができる。
【0022】
図1Bは、認証サーバー106が暗号文136の解読を試みる実施形態を示す。例えば、認証アプリケーション132は、認証サーバー106が保管するマスター・キー118のコピーを使用して、暗号文136の復号化を試みることができる。一部の実施形態では、認証アプリケーション132は、アプリケーション126がリクエストで提供した暗号化されていない顧客ID122(または他の識別子)を使用して、マスター・キー118とカウンター116を識別できる。一部の例では、認証アプリケーション132は、マスター・キー118とカウンター116を暗号アルゴリズムへの入力として提供し、暗号アルゴリズムは出力として多様化キー120を生成する。結果として得られる多様化されたキー120は、非接触カード110によって生成された多様化されたキー120に対応する可能性があり、暗号文136を復号するために使用される可能性がある。
【0023】
使用される復号化技法にかかわらず、認証アプリケーション132は、暗号文136の復号化に成功する可能性があり、それによってリクエスト内の暗号文136を検証または認証する(例えば、暗号文136を復号化することによって生成される顧客ID122を、口座データベース134に格納されている既知の顧客IDと比較することによって、および/またはマスター・キー118および/または多様化キー120を使用した復号化が成功したことを示す表示に基づく)。認証アプリケーション132は、復号結果146(「検証結果」および/または「認証結果」とも呼ばれる)をディスプレイ・デバイス102に送信できる。いくつかの実施形態では、認証アプリケーション132は、復号結果146を製造者サーバー138および/またはサービス・プロバイダー・サーバー140にも送信できる。復号結果146は一般に、暗号文136が復号されたか、および/または復号されなかったかを示す。
【0024】
復号化に成功した場合、認証アプリケーション132は、仮想口座番号(VAN:Virtual Account Number)、VANの有効期限、およびVANのカード検証値(CVV:Card Verification Value)を備える支払情報を生成できる。さらに、認証アプリケーション132は、口座データベース134に格納されているユーザーの連絡先情報、例えば、電子メール・アドレス、電話番号などのメタデータを特定できる。認証アプリケーション126は、暗号文136に含まれる暗号化されていない識別子に基づいて、メタデータを識別できる。復号化が成功しなかった場合、認証アプリケーション132は、非接触カード110および/または関連する口座のセキュリティを保持するために、支払情報を生成しない。
【0025】
図1Cは、復号結果146が、認証アプリケーション132が暗号文136の復号に成功した ことを示す実施形態を示す。暗号文136の復号化に成功したことに基づいて、認証アプリケーション132は、仮想口座番号(VAN)、VANの有効期限、およびVANのカード検証値(CVV)を備える支払情報148を生成できる。さらに、認証アプリケーション132は、口座データベース134に保存されているユーザーの連絡先情報、例えば、姓、名、電子メール・アドレス、請求先住所、電話番号などを特定できる。認証アプリケーション132は、暗号文136に含まれる暗号化されていない識別子に基づいて、連絡先情報を特定できる。認証アプリケーション132は、連絡先情報を支払情報148にさらに含めることができる。さらに、認証アプリケーション132は、ディスプレイ・デバイス102の識別子および/またはユーザーによって選択されたサービス・プランを、支払情報148とともに含むことができる。より一般的には、支払情報148は、一般に、サービス・プロバイダー・サーバー140との口座作成(および/または既存口座のサービス拡張)のリクエストの一部として含まれることがある。
【0026】
図示されているように、認証アプリケーション132は、支払情報148(有効期限、CVV、連絡先情報、ディスプレイ・デバイス102の識別子を含む)を製造者サーバー138および/またはサービス・プロバイダー・サーバー140に送信できる。いくつかの実施形態では、支払い情報148は製造者サーバー138に送信され、製造者サーバー138は支払い情報148をサービス・プロバイダー・サーバー140に送信する。いくつかの実施形態では、製造者サーバー138および/またはサービス・プロバイダー・サーバー140は、支払い情報148の受信に応答して、サービス・プロバイダーとのサービスを可能にする信号をディスプレイ・デバイス102に送信できる。
【0027】
一部の実施形態では、認証アプリケーション132は、支払情報148を生成する前に、追加のセキュリティ手段を活用できる。例えば、認証アプリケーション132は、ワンタイム・パスコード(OTPOne-Time Passcode)を生成し、識別された連絡先情報(例えば、電子メール・アドレス、電話番号など)にOTPを送信できる。その後、ユーザーは、認証アプリケーション132が提供するインターフェース、例えば、ウェブ・ブラウザーおよび/またはアプリケーション126の1つを介して、入力としてOTP(例えば、英数字)を提供できる。認証アプリケーション132は、ユーザーから受信したOTPを、生成されたOTPと比較できる。比較の結果、一致した場合、認証アプリケーション132は支払情報148を生成できる。比較の結果、一致しなかった場合、認証アプリケーション132は、支払情報148の生成を控えることができる。
【0028】
追加的および/または代替的に、認証アプリケーション132は、セキュリティ対策として、ディスプレイ・デバイス102の位置情報(例えば、GPS座標、IPアドレス)を分析できる。例えば、認証アプリケーション132は、GPS座標および/またはディスプレイ・デバイス102のIPアドレスに基づいて、ディスプレイ・デバイス102の位置を決定できる。次に、認証アプリケーション132は、決定された位置が、口座データベース134内の非接触カード110に関連付けられた住所(例:郵送先住所、請求先住所)の所定の距離(例:1マイル、10マイルなど)内にあるかどうかを判定できる。決定されたディスプレイ・デバイス102の所在地が、非接触カード110に関連付けられた住所の所定の距離内にある場合、認証アプリケーション132は、VANを生成できる。決定されたディスプレイ・デバイス102の所在地が、非接触カード110に関連付けられた住所の所定の距離内にない場合、認証アプリケーション132は、支払情報148の生成を控えることができる。
【0029】
いくつかの実施形態では、VAN、有効期限、およびCVVを含む支払情報148は、加盟店、例えば、サービス・プロバイダー・サーバー140に対応するサービス・プロバイダーに制限される場合がある。このような実施形態では、支払情報148は、加盟店との決済処理にのみ使用できる。支払情報148が、異なる加盟店(例えば、異なるサービス・プロバイダーなど)の取引の支払いに使用された場合、認証サーバー106は、試みられた取引を拒否できる。例えば、支払情報148がサービス・プロバイダーAに制限されており、顧客がサービス・プロバイダーBのサービスの支払いに支払情報148を使用しようとした場合、認証サーバー106は、サービス・プロバイダーBに対する支払の試みを拒否できる。
【0030】
図1Dは、サービス・プロバイダー・サーバー140が、支払情報148および認証サーバー106から提供されたその他の情報に基づいて、ユーザーの口座データベース144に口座150を生成する実施形態を示す。例えば、前述のように、認証サーバー106は、ユーザーの電子メール・アドレス、名前、電話番号、選択されたプランなどを含むことができる。同様に、認証サーバー106は、装置識別子、IPアドレスなどのディスプレイ・デバイス102の識別子を含むことができる。口座記録150は一般的に、口座150に関するこの情報およびその他の情報を含むことができる。いくつかの実施形態では、サービス・プロバイダー・サーバー140は、サービス・プロバイダー140とのサービスを可能にするために、ディスプレイ・デバイス102に信号を送信できる。いくつかの実施形態では、信号はサービス・プロバイダー・サーバー140によって製造者サーバー138に送信され、製造者サーバー138はサービス・プロバイダー140とのサービスを可能にするために信号をディスプレイ・デバイス102に送信する。
【0031】
さらに、サービス・プロバイダー・サーバー140は、口座150の認証トークン152を生成できる。認証トークン152には、認証トークン152を一意に識別するためのハッシュ値など、任意のタイプの情報を含めることができる。認証トークン152は、口座番号、プリファレンス、ログイン/パスワードなど、口座150の追加属性をさらに含むことができる。いくつかの実施形態では、サービス・プロバイダー・サーバー140は、認証トークン152を製造者サーバー138に送信し、製造者サーバー138は、認証トークン152をディスプレイ・デバイス102に送信する。いくつかの実施形態では、認証トークン152は、サービス・プロバイダー・サーバー140が提供するサービスへのアクセスを可能にするように構成される。
【0032】
示されるように、ディスプレイ・デバイス102のアプリケーション126は、認証トークン152を受け取ることができる。いくつかの実施形態では、アプリケーション126は、認証トークン152をサービス・プロバイダー・サーバー140に提供でき、サービス・プロバイダー・サーバー140は、例えば、ディスプレイ・デバイス102から受信した認証トークン152と口座150に格納された認証トークン152との比較に基づいて、認証トークン152を使用してアプリケーション126を認証できる。比較の結果、一致した場合、アプリケーション126は認証され、例えば、サービス・プロバイダー・サーバー140によって送信されたデータ/コマンドに基づいて、口座150にアクセスできる。そうすることで、ユーザーは、アプリケーション126を介してディスプレイ・デバイス102の口座150の詳細を閲覧したり、アプリケーション126を介してコンテンツを閲覧したり、アプリケーション126を介して購入を行ったりすることなどができる。いくつかの実施形態では、アプリケーション126は、認証トークン152をローカルで認証し、ローカルに保存されたデータおよび/またはサービス・プロバイダー・サーバー140から受信したデータに基づいて口座150にアクセスする。
【0033】
図1Eは、認証トークン152に基づいてサービス・プロバイダー・サーバー140と認証されたアプリケーション126が、サービス・プロバイダー・サーバー140にコンテンツ・アイテム154をリクエストした実施形態を示す。図示されているように、サービス・プロバイダー・サーバー140は、コンテンツ・アイテム154の少なくとも一部をディスプレイ・デバイス102に送信できる。アプリケーション126は、受信したコンテンツ・アイテム154の一部をディスプレイ・デバイス102に表示できる。
【0034】
図2Aは、非接触カード110を使用して複数のサービス・プロバイダーとの複数の口座に認証する実施形態を示す概略図200である。一般的に、ユーザーは複数のサービス・プロバイダーと複数のサービスを契約できる。例えば、新しいディスプレイ・デバイス102の購入者は、サービス・プロバイダーX、Y、Zの口座を持っている可能性がある。有利なことに、本明細書で説明する技術を用いて、非接触カード110を使用して、サービス・プロバイダーX、Y、Zの口座にログインできる。
【0035】
図示されるように、ユーザーは、非接触カード110をディスプレイ・デバイス102にタップすることにより、アプレット114に、例えば、マスター・キー118およびカウンター116に基づいて多様化されたキー120を生成し、多様化されたキー120を用いて暗号文136を生成して顧客ID122を暗号化することにより、上述のような暗号文136を生成させることができる。暗号文136は、暗号化されていない顧客ID122を含む可能性がある。ディスプレイ・デバイス102は、暗号文136を認証サーバー106に送信してもよく、認証サーバー106は、例えば、マスター・キー118およびカウンター116に基づいて多様化されたキー120を生成し、多様化されたキー120を用いて暗号文136を復号することにより、上記のように暗号文136を復号してもよい。
【0036】
図2Bは、認証サーバー106が図2Aで受信した暗号文136を復号する実施形態を示す。復号化に成功したことに基づいて、認証サーバー106は口座データベース134を検索して、非接触カード110に関連する口座の支払記録を特定できる。検索は既知のサービス・プロバイダーに限定されるかもしれない。いくつかの実施形態では、検索はさらに最近の期間(例えば、1ヶ月、3ヶ月など)に限定される。そうすることで、認証サーバー106は、ユーザーが複数のサービス・プロバイダーと持っている可能性のあるアクティブな口座を特定できる。前の例を続けると、認証サーバー106は、口座データベース134内のサービス・プロバイダーX、Y、Zの支払記録を特定できる。
【0037】
認証サーバー106は、識別された支払記録に基づいて、認証トークン202を生成できる。認証トークン202は、連絡先情報、サービス・プロバイダーとの口座番号、支払確認、またはサービス・プロバイダー・サーバー140が口座データベース144内の口座を識別することを可能にし得る任意の情報を含み得る。いくつかの実施形態では、認証サーバー106は、識別された口座ごとにそれぞれの認証トークン202を生成する(例えば、サービス・プロバイダーX用の第1の認証トークン202、サービス・プロバイダーY用の第2の認証トークン202、サービス・プロバイダーZ用の第3の認証トークン202)。
【0038】
認証サーバー106は、認証トークン202をサービス・プロバイダー・サーバー140に送信できる。いくつかの実施形態では、認証サーバー106は、認証トークン202を製造者サーバー138に送信し、製造者サーバー138は、認証トークン202をサービス・プロバイダー・サーバー140に送信できる。一般に、一旦受信すると、サービス・プロバイダー・サーバー140は認証トークン202を「信頼」し、ディスプレイ・デバイス102のアプリケーション126を介して対応する口座にアクセスするために使用できる認証トークン202を生成できる。いくつかの実施形態では、新しいトークンを生成するのではなく、サービス・プロバイダー・サーバー140は、認証トークン202を使用して、口座データベース144内の対応する口座へのアクセスを提供できる。
【0039】
図2Cは、サービス・プロバイダー・サーバー140が、認証サーバー106によって生成された認証トークン202に基づいて認証トークン204を生成する実施形態を示す。図2Cは、認証トークン204の単一のインスタンスを示しているが、認証トークン202を受信する各サービス・プロバイダー・サーバー140は、それぞれの認証トークン204を生成できる。前の例を続けると、サービス・プロバイダーX、Y、およびZのサービス・プロバイダー・サーバー140は、それぞれ、それぞれの認証トークン204を生成できる(合計3つの認証トークン204について)。生成されると、それぞれのサービス・プロバイダー・サーバー140は、認証トークン204をディスプレイ・デバイス102に送信する。いくつかの実施形態では、サービス・プロバイダー・サーバー140は、認証トークン204を製造者サーバー138に送信し、製造者サーバー138は、認証トークン204をディスプレイ・デバイス102に送信する。各対応アプリケーション126は、認証トークン204を受け取ることができ、この認証トークン204を使用して、口座データベース144内の対応口座にアクセスできる。有利なことに、このようにすることで、口座データベース134の支払記録と暗号文136の復号化に成功したことに基づいて、ディスプレイ・デバイス102が各サービス・プロバイダー口座に自動的にログインする。
【0040】
図3Aは、非接触カード110がディスプレイ・デバイス102にタップされる実施形態を示す概略図300aである。図示されているように、非接触カード110がディスプレイ・デバイス102にタップされたとき、ディスプレイ・デバイス102はアプリケーション126を実行している可能性がある。ディスプレイ・デバイス102の通信インターフェース128は、非接触カード110のアプレット114によって生成された暗号文を読み取ることができる。暗号文は、本書の他の箇所に記載されている暗号文136に対応する可能性がある。その後、アプリケーション126は、認証サーバー106へのリクエストの一部として、暗号文とその他のデータを送信できる。追加データには、暗号化されていない顧客ID122、ディスプレイ・デバイス102の識別子、アプリケーション126の識別子、ディスプレイ・デバイス102の位置情報などが含まれる。
【0041】
図3Bは、図3Aのリクエストに応じて口座が自動的に生成される実施形態を示す概略図300bである。一般に、図3Bは、認証サーバー106は非接触カード110が生成した暗号文を検証(または認証)している。認証サーバー106、この検証(および、位置情報検証、OTP検証などの他の追加的なセキュリティ対策)に基づいて、VAN、有効期限、およびCVVを備える支払情報を生成できる。その後、認証サーバー106は、リクエストされたサービスに関連するサービス・プロバイダー・サーバー140に支払情報を送信できる。少なくとも1つの実施形態では、認証サーバー106は、暗号文を送信するアプリケーション126、および/またはアプリケーション126によって送信されたリクエストで指定されたアプリケーション識別子に基づいて、サービス・プロバイダー・サーバー140を識別する。その後、サービス・プロバイダー・サーバー140は、口座データベース144に口座記録を生成し、口座の認証トークンを生成できる。サービス・プロバイダー・サーバー140は、トークンをディスプレイ・デバイス102上のリクエスト・アプリケーション126に送信でき、ディスプレイ・デバイス102は、トークンに基づいて新しく生成された口座にアクセスできる。例えば、図3Bに示すように、アプリケーション126は、新しく作成された口座の1つまたは複数の属性を表示できる。
【0042】
図4Aは、非接触カード110をディスプレイ・デバイス102にタップして、非接触カード110を使用して複数のサービス・プロバイダー口座に自動的にログインする実施形態を示す概略図400aである。一般に、非接触カード110がディスプレイ・デバイス102にタップされると、ディスプレイ・デバイス102はオペレーティング・システム108および/またはアプリケーション126のホーム画面を表示している場合がある。ディスプレイ・デバイス102の通信インターフェース128は、非接触カード110のアプレット114によって生成された暗号文を読み取ることができる。暗号文は、本書の他の箇所に記載されている暗号文136に対応する可能性がある。その後、アプリケーション126は、認証サーバー106へのリクエストの一部として、暗号文とその他のデータを送信できる。追加データには、暗号化されていない顧客ID122、ディスプレイ・デバイス102の識別子、アプリケーション126の識別子、ディスプレイ・デバイス102の位置情報などが含まれる。
【0043】
図4Bは、図4Aのディスプレイ・デバイス102に対する非接触カード110のタップに基づいて、ディスプレイ・デバイス102がサービス・プロバイダーA、B、Cの例示的な講座にログインされる実施形態を示す概略図400bである。一般に、認証サーバー106は、非接触カード110により図4Aで生成された暗号文を復号し、暗号文を検証できる。復号化に応答して、認証サーバー106は、口座データベース134内の1つまたは複数の支払記録を特定できる。支払記録には、1つまたは複数のサービス・プロバイダーとの1つまたは複数の口座に対する支払いが含まれる場合がある。例えば、認証サーバー106は、サービス・プロバイダーA、サービス・プロバイダーB、サービス・プロバイダーCの支払記録を識別できる。その後、認証サーバー106は、非接触カード110に関連付けられた口座の認証トークン202を生成できる。次に、認証サーバー106は、支払記録で識別されたサービス・プロバイダーに基づいて、識別された各サービス・プロバイダー・サーバー140、例えば、サービス・プロバイダーA、B、Cに対するサービス・プロバイダー・サーバー140にトークンを送信できる。サービス・プロバイダー・サーバー140は、受信したトークンに基づいて、口座データベース144内の口座を識別できる。例えば、トークンは、口座データベース144の口座のそれぞれの口座番号を含むことができる。認証トークン202の受信に基づいて、サービス・プロバイダー・サーバー140は、口座データベース144内の識別された口座のためのそれぞれの認証トークン202を生成できる。サービス・プロバイダー・サーバー140は、生成されたトークンをディスプレイ・デバイス102に送信し、ディスプレイ・デバイス102はトークンを使用してサービス・プロバイダーA、B、Cの口座にログインできる。
【0044】
開示された実施形態の動作を、以下の図を参照してさらに説明できる。図にはロジック・フローを含むものもある。本明細書で提示されるこのような図は、特定のロジック・フローを含む場合があるが、ロジック・フローは、本明細書で説明されるような一般的な機能をどのように実装できるかの一例を提供するに過ぎないことを理解できる。さらに、指定されたロジック・フローは、特に指示がない限り、必ずしも提示された順序で実行される必要はない。さらに、実施形態によっては、ロジック・フローに図示されたすべての行為が必要とされるとは限らない。さらに、所定のロジック・フローは、ハードウェア要素、プロセッサによって実行されるソフトウェア要素、またはそれらの任意の組み合わせによって実装できる。実施形態はこの文脈で限定されるものではない。
【0045】
図5は、ロジック・フロー500の一実施形態を示す。ロジック・フロー500は、本明細書に記載される1つまたは複数の実施形態によって実行される動作の一部または全部を代表できる。例えば、ロジック・フロー500は、非接触カード110を使用してサービス・プロバイダーにサービスを登録するための操作の一部または全部を含むことができる。実施形態はこの文脈で限定されるものではない。
【0046】
ブロック502において、ロジック・フロー500は、ディスプレイ・デバイス102のプロセッサ上で実行されるアプリケーション126によって、サービス・プロバイダーを備えるリクエストを受信する。ブロック504において、ロジック・フロー500は、ディスプレイ・デバイスの通信インターフェース128によって、非接触カード110のアプレット114によって生成された暗号文136を受信する。ブロック506において、ロジック・フロー500は、アプリケーション126によって、暗号文136を非接触カード110に関連付けられた認証サーバー106に送信する。ブロック508において、ロジック・フロー500は、認証サーバー106によって暗号文136を復号する。ブロック510において、ロジック・フロー500は、認証サーバー106によって、暗号文136の復号化に基づいて、非接触カード110に関連付けられた仮想口座番号を構成する支払情報を生成する。支払情報はさらに、有効期限、CVV、および/または住所、名前などの他の口座データを含むことができる。ブロック512において、ロジック・フロー500は、認証サーバー106によって、支払情報をサービス・プロバイダー・サーバー140に送信する。認証サーバー106は、ブロック504において、アプリケーション126および/または暗号文136とともに受信された1つまたは複数の識別子に基づいて、少なくとも部分的にサービス・プロバイダー・サーバー140を識別できる。ブロック514において、ロジック・フロー500は、サービス・プロバイダー・サーバー140によって、仮想口座番号および認証サーバーによる暗号文の復号に少なくとも部分的に基づいて、口座を作成する。一般に、サービス・プロバイダー・サーバー140は、口座を作成し、認証サーバー106から受け取った支払情報を使用して、口座の支払を処理できる。
【0047】
ブロック516において、ロジック・フロー500は、アプリケーション126によって、サービス・プロバイダー・サーバー140によって生成された口座用の認証トークン202を受信する。ブロック518において、ロジック・フロー500は、アプリケーション126によって、認証トークンに少なくとも部分的に基づいてサービス・プロバイダー・サーバー140によって作成された口座にアクセスする。ブロック520において、ロジック・フロー500は、アプリケーションによって、認証トークンに基づいてサービス・プロバイダーによって生成された口座の1つまたは複数の属性を表示する。ブロック522において、ロジック・フロー500は、ディスプレイ・デバイス102のプロセッサ上で実行されるアプリケーション126によって、コンテンツ・アイテムを備えるリクエストを受信する。その後、アプリケーション126は、サービス・プロバイダー・サーバー140にコンテンツ・アイテムをリクエストできる。サービス・プロバイダー・サーバー140は、第1のコンテンツ・アイテムの少なくとも一部をディスプレイ・デバイスに送信できる。ブロック524において、ロジック・フロー500は、ディスプレイ・デバイス102によって、受信したコンテンツ・アイテムの少なくとも一部を表示する。
【0048】
図6は、ロジック・フロー600の一実施形態を示す。ロジック・フロー600は、本明細書に記載される1つまたは複数の実施形態によって実行される動作の一部または全部を代表できる。例えば、ロジック・フロー600は、非接触カード110を使用して複数のサービス・プロバイダー口座に自動的にログインするための操作の一部または全部を含むことができる。実施形態はこの文脈で限定されるものではない。
【0049】
ブロック602において、ロジック・フロー600は、ディスプレイ・デバイス102のプロセッサ上で実行されるアプリケーション126によって、複数のサービス・プロバイダーのうちの1つまたは複数のサービス・プロバイダーとの1つまたは複数の口座にアクセスするリクエストを受信する。ブロック604において、ロジック・フロー600は、ディスプレイ・デバイス102の通信インターフェース128を介してアプリケーション126により、非接触カード110のアプレット114から暗号文136を受信する。ブロック606において、ロジック・フロー600は、アプリケーション126によって、認証サーバー106に暗号文136を送信する。ブロック608において、ロジック・フロー600は、認証サーバー106により、暗号文136を復号化する。ブロック610において、ロジック・フロー600は、認証サーバー106によって、暗号文の復号に基づいて、複数のサービス・プロバイダーのうちの第1のサービス・プロバイダーの口座の非接触カード110に関連付けられた支払記録を特定する。支払記録は、口座データベース134で特定される可能性がある。
【0050】
ブロック612において、ロジック・フロー600は、認証サーバー106によって、第1のサービス・プロバイダーに関連する第1のサービス・プロバイダー・サーバー140に、第1のサービス・プロバイダーの口座の認証リクエストを送信する。ブロック614において、ロジック・フロー600は、第1のサービス・プロバイダー・サーバー140によって、認証リクエストに基づいて、第1のサービス・プロバイダーとの口座の認証トークンを生成する。ブロック616において、ロジック・フロー600は、第1のサービス・プロバイダー・サーバー140によって、認証トークンをアプリケーションに送信する。ブロック618において、ロジック・フロー600は、アプリケーションによって、認証トークンを使用して、例えば、トークンをサービス・プロバイダー・サーバー140に送信して検証することによって、第1のサービス・プロバイダーの口座にアクセスする。ブロック620において、ロジック・フロー600は、アプリケーションによって、第1のサービス・プロバイダーとの口座の1つまたは複数の属性を表示する。
【0051】
図7Aは、非接触カード110の構成例を示しており、この非接触カード110は、非接触カード110の前面または背面にサービス・プロバイダー・インジケータ702として表示されるように、サービス・プロバイダーによって発行されたクレジット・カード、デビット・カード、ギフト・カードなどの支払カードを含むことができる。いくつかの例では、非接触カード110は支払カードとは無関係であり、限定はしないが、IDカードを含んでもよい。いくつかの例では、取引カードは、デュアル・インターフェース非接触支払カード、リワード・カードなどを含むことができる。非接触カード110は、基板708を含むことがあり、この基板708は、プラスチック、金属、その他の材料からなる単層または1つまたは複数の積層層を含むことがある。例示的な基材には、ポリ塩化ビニル、ポリ塩化ビニルアセテート、アクリロニトリル・ブタジエン・スチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、カーボン、紙、生分解性材料などがある。いくつかの例では、非接触カード110はISO/IEC 7816標準のID-1フォーマットに準拠した物理的特性を有し、トランザクション・カードはそれ以外の点ではISO/IEC 14443標準に準拠している。しかしながら、本開示による非接触カード110は、異なる特性を有していてもよく、本開示は、決済カードに実装される取引カードを必要としないことを理解されたい。
【0052】
非接触カード110は、カードの前面および/または背面に表示された識別情報706と、接触パッド704も含むことができる。接触パッド704は、1つまたは複数のパッドを含み、ATM、ユーザー装置、スマートフォン、ラップトップ、デスクトップ、またはタブレット・コンピュータなどの別のクライアント装置と、取引カードを介して接触を確立するように構成され得る。接点パッドは、ISO/IEC 7816規格のような1つまたは複数の規格に従って設計され、EMVプロトコルに従った通信を可能にできる。非接触カード110は、図7Bでさらに説明するように、処理回路、アンテナ、その他の構成要素も含むことができる。これらの部品は、接触パッド704の後方、または基板708上の他の場所、例えば基板708の異なる層内に配置されることがあり、接触パッド704と電気的および物理的に結合することがある。非接触カード110は、磁気ストリップまたは磁気テープも含むことがあり、これはカードの裏面に配置されることがある(図7Aには示されていない)。非接触カード110は、NFCプロトコルを介して通信可能なアンテナと結合した近距離無線通信(NFC)デバイスも含むことができる。実施形態はこのように限定されるものではない。
【0053】
図7Bに示されるように、非接触カード110の接触パッド704は、プロセッサ710、メモリー712、および1つまたは複数の通信インターフェース128を含む、情報を記憶、処理、および通信するための処理回路716を含むことができる。処理回路716は、プロセッサ、メモリー、エラーおよびパリティ/CRCチェッカ、データ・エンコーダ、アンチコリジョン・アルゴリズム、コントローラ、コマンド・デコーダ、セキュリティ・プリミティブ、および本明細書で説明する機能を実行するために必要な改ざん防止ハードウェアを含む追加のコンポーネントを含むことができることを理解されたい。
【0054】
メモリー712は、リード・オンリー・メモリー、ライトワンス・リードマルチ・メモリー、またはリード/ライト・メモリー、例えば、RAM、ROM、およびEEPROMであってよく、非接触カード110は、これらのメモリーのうちの1つまたは複数を含んでよい。リード・オンリー・メモリーは、工場出荷時に読み出し専用としてプログラム可能な場合もあれば、ワンタイム・プログラム可能な場合もある。ワンタイム・プログラマビリティは、一度書き込めば何度でも読み込める機会を提供する。ライトワンス/リードマルチプル・メモリは、メモリー・チップが工場から出荷された後の時点でプログラムできる。一度プログラムされたメモリーは書き換えることはできないが、何度でも読み出すことができる。リード/ライト・メモリーは、工場出荷後に何度もプログラムされ、再プログラムされる可能性がある。リード/ライト・メモリーは、工場出荷後に何度も読み込まれることもある。ある実施態様では、メモリー712は、データを暗号化するためにプロセッサ710によって実行される暗号化アルゴリズムを利用する暗号化メモリーであってもよい。
【0055】
メモリー712は、1つまたは複数のアプレット114、1つまたは複数のカウンター116、顧客ID122、および口座番号(複数可)714を記憶するように構成され、仮想口座番号であってもよい。1つまたは複数のアプレット114は、Java(登録商標)カード・アプレットなど、1つまたは複数の非接触カード上で実行するように構成された1つまたは複数のソフトウェア・アプリケーションで構成できる。しかし、アプレット114はJavaカード・アプレットに限定されるものではなく、非接触カードや限られたメモリーを有する他のデバイス上で動作可能な任意のソフトウェア・アプリケーションであってもよいことが理解される。1つまたは複数のカウンター116は、整数を記憶するのに十分な数値カウンターで構成される場合がある。顧客ID122は、非接触カード110のユーザーに割り当てられた一意の英数字識別子で構成されることがあり、この識別子は、非接触カードのユーザーを他の非接触カードのユーザーから区別できる。いくつかの例では、顧客ID122は、顧客とその顧客に割り当てられた口座の両方を識別でき、さらに顧客の口座に関連付けられた非接触カード110を識別できる。前述のように、口座番号(複数可)714は、非接触カード110に関連する数千のワンタイム・ユース仮想口座番号を含むことができる。非接触カード110のアプレット114は、口座番号(複数可)714を管理する(例えば、口座番号(複数可)714を選択し、選択された口座番号(複数可)714を使用済みとしてマークし、口座番号(複数可)714を自動記入サービスによる自動記入のためにモバイル・デバイスに送信する)ように構成され得る。
【0056】
前述の例示的な実施形態のプロセッサ710およびメモリー要素は、接触パッド704を参照して説明されているが、本開示はこれに限定されない。これらの要素は、接触パッド704の外部に、あるいは接触パッド704から完全に分離して、あるいは接触パッド704内に配置されたプロセッサ710およびメモリー712の要素に加えて、さらなる要素として実装されてもよいことが理解される。
【0057】
いくつかの例では、非接触カード110は、1つまたは複数のアンテナ718を含むことがある。1つまたは複数のアンテナ718は、非接触カード110内で、接触パッド704の処理回路716の周囲に配置できる。例えば、1つまたは複数のアンテナ718は、処理回路716と一体であってもよく、1つまたは複数のアンテナ718は、外部ブースター・コイルと共に使用されてもよい。別の例として、1つまたは複数のアンテナ718は、接触パッド704および処理回路716の外部にあってもよい。
【0058】
一実施形態では、非接触カード110のコイルは空芯変圧器の二次側として機能することがある。端末は、電力または振幅変調をカットすることによって非接触カード110と通信できる。非接触カード110は、非接触カードの電源接続のギャップを利用して端末から送信されたデータを推測することがあり、このデータは、1つまたは複数のコンデンサを介して機能的に維持されることがある。非接触カード110は、非接触カードのコイルの負荷を切り替えたり、負荷変調を行うことで通信を返したりすることができる。負荷変調は、干渉によってターミナルのコイルで検出されることがある。より一般的には、アンテナ718、プロセッサ710、および/またはメモリー712を使用して、非接触カード110は、NFC、ブルートゥース(登録商標)、および/またはWiーFi通信を介して通信するための通信インターフェースを提供する。
【0059】
上記で説明したように、非接触カード110は、JavaCardのようなスマート・カードまたは限られたメモリーを有する他のデバイス上で動作可能なソフトウェア・プラットフォーム上に構築され、1つまたは複数のアプリケーションまたはアプレットが安全に実行され得る。アプレット114は、様々なモバイル・アプリケーション・ベースのユース・ケースにおいて、多要素認証(MFA:MultiFactor Authentication)のためのワンタイム・パスワード(OTP:One-Time Password)を提供するために、非接触カードに追加できる。アプレット114は、モバイルNFCリーダー(例えば、モバイル・デバイスまたはPOS端末)などのリーダーからの近接場データ交換リクエストなどの1つまたは複数のリクエストに応答し、NDEFテキスト・タグとしてエンコードされた暗号化されたセキュアなOTPを含むNDEFメッセージを生成するように構成できる。
【0060】
NDEF OTPの一例は、NDEFショートレコード・レイアウト(SR=1)である。このような例では、1つまたは複数のアプレット114は、OTPをNDEFタイプ4のよく知られたタイプのテキスト・タグとしてエンコードするように構成されるかもしれない。いくつかの例では、NDEFメッセージは1つまたは複数のレコードから構成される。アプレット114は、OTPレコードに加えて、1つまたは複数の静的タグ・レコードを追加するよう に構成される。
【0061】
いくつかの例では、1つまたは複数のアプレット114はRFIDタグをエミュレートするように構成されることがある。RFIDタグは、1つまたは複数の多形タグを含むことができる。いくつかの例では、タグが読み取られるたびに、非接触カードの真正性を示す異なる暗号データが提示される。1つまたは複数のアプレット114に基づき、タグのNFC読み取りが処理され、データが銀行システムのサーバーなどのサーバーに送信され、データがサーバーで検証されることがある。
【0062】
いくつかの例では、非接触カード110とサーバーは、カードが適切に識別されるような特定のデータを含むことがある。非接触カード110は、1つまたは複数の固有の識別子(写真には写っていない)を含むことがある。読み出し操作が行われるたびに、カウンター116はインクリメントするように構成される。いくつかの例では、非接触カード110からのデータが(例えば、モバイル・デバイスによって)読み取られるたびに、カウンター116が検証のためにサーバーに送信され、カウンター116がサーバーのカウンターと(検証の一部として)等しいかどうかを決定する。
【0063】
1つまたは複数のカウンター116は、リプレイ攻撃を防ぐように構成されている場合がある。例えば、暗号文が取得され再生された場合、カウンター116が読み取られ、使用され、そ の他の方法で引き渡された場合、その暗号文は直ちに拒否される。カウンター116が使用されていない場合、再プレーされる可能性がある。いくつかの例では、カードでインクリメントされるカウンターは、取引でインクリメントされるカウンターとは異なる。非接触カード110は、非接触カード110上のアプレット114間の通信がないため、アプリケーション・トランザクション・カウンター116を決定できない。いくつかの例では、非接触カード110は、トランザクション・アプレットである可能性のある第1アプレット114-1と、第2アプレット114-2から構成される。各アプレット114-1と114-2は、それぞれのカウンター116を構成できる。
【0064】
いくつかの例では、カウンター116が同期しないことがある。いくつかの例では、斜めから読み取るなど、トランザクションを開始する偶発的な読み取りを考慮して、カウンター116はインクリメントするかもしれないが、アプリケーションはカウンター116を処理しない。いくつかの例では、読取装置(例えば、ディスプレイ・デバイス102)が起動されると、NFCが有効化され、利用可能なタグを読み取るように構成されることがあるが、読み取られたタグに対応するアクションは実行されない。
【0065】
カウンター116を同期させ続けるために、ディスプレイ・デバイス102のような装置が目覚めたときに検出し、検出によって発生した読み取りがカウンター116を前進させることを示す銀行システムのサーバーと同期するように構成されたバックグラウンド・アプリケーションのようなアプリケーションを実行できる。他の例では、ハッシュされたワンタイム・パスワードが利用され、誤同期が許容される。例えば、閾値10以内であれば、カウンター116は前進するように構成される。しかし、異なる閾値数以内、例えば10または1000以内であれば、ユーザーがユーザーのデバイスを介してタップ、ジェスチャー、またはその他の方法で1回または複数回指示することを1つまたは複数のアプリケーションを介してリクエストする、再同期を実行するためのリクエストが処理される可能性がある。カウンター116が適切な順序で増加すれば、ユーザーがそうしたことを知ることができる。
【0066】
カウンター116、マスター・キー118、多様化されたキー120を参照して本明細書で説明する鍵多様化技法は、鍵多様化技法による暗号化および/または復号化の一例である。本開示は他のタイプの重要な分散化技術にも同様に適用可能であるため、この例の重要な分散化技術は本開示を限定するものとみなされるべきではない。
【0067】
非接触カード110の作成プロセスでは、カードごとに2つの暗号キーが一意に割り当てられることがある。暗号キーは、データの暗号化と復号化の両方に使用できる共通キーで構成される。トリプルDES(3DES)アルゴリズムはEMVで使用されることがあり、非接触カード110のハードウェアで実装される。キーの多様化プロセスを使用することで、キーを必要とする各エンティティの一意に識別可能な 情報に基づいて、マスター・キーから1つまたは複数のキーを導き出すことができる。
【0068】
いくつかの例では、脆弱性の影響を受けやすい3DESアルゴリズムの欠点を克服するために、セッション・キーが導出されることがある(セッションごとにユニークなキーなど)が、マスター・キーを使用するのではなく、ユニークなカード導出キーとカウンターがダイバーシフィケーション・データとして使用されることがある。例えば、非接触カード110が動作中に使用されるたびに、メッセージ認証コード(MAC)の作成と暗号化の実行に異なるキーを使用できる。この結果、3重の暗号化レイヤーが形成される。セッション・キーは、1つまたは複数のアプレットによって生成され、1つまたは複数のアルゴリズム(EMV 4.3 Book 2 A1.3.1 Common Session Key Derivationに定義されている)を用いてアプリケーション・トランザクション・カウンターを使用することによって導出される。
【0069】
さらに、各カードのインクリメントは一意であり、パーソナライズによって割り当てられるか、または何らかの識別情報によってアルゴリズム的に割り当てられる。例えば、奇数番号のカードは2ずつ増加し、偶数番号のカードは5ずつ増加する。いくつかの例では、インクリメントは、1枚のカードが1、3、5、2、2、...の繰り返しで順次インクリメントするように、順次読み取りで変化することもある。特定のシーケンスまたはアルゴリズム・シーケンスは、パーソナライゼーション時に定義することもできるし、一意の識別子に由来する1つまたは複数のプロセスから定義することもできる。これにより、リプレイ攻撃者は少数のカード・インスタンスから一般化することが難しくなる。
【0070】
認証メッセージは、16進ASCII形式のテキストNDEFレコードのコンテンツとして配信される。別の例では、NDEFレコードは16進数形式でエンコードされるかもしれない。
【0071】
図8は、本開示の1つまたは複数の実施形態による、認証されたアクセスを提供するためのシーケンス例を示すタイミング図である。シーケンス・フロー800は、非接触カード110とディスプレイ・デバイス102を含む場合があり、ディスプレイ・デバイス102はアプリケーション126とプロセッサ802を含む場合がある。
【0072】
ライン806で、アプリケーション126は非接触カード110と通信する(例えば、非接触カード110に近づけた後)。アプリケーション126と非接触カード110との間の通信には、アプリケーション126と非接触カード110との間のNFCデータ転送を可能にするために、非接触カード110がディスプレイ・デバイス102のカード・リーダー(図示せず)に十分に接近している必要がある場合がある。
【0073】
ライン804で、ディスプレイ・デバイス102と非接触カード110との間の通信が確立された後、非接触カード110はメッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは非接触カード110がアプリケーション126によって読み取られるときに発生することがある。特に、これはNFCデータ交換フォーマットに従って作成された近接場データ交換(NDEF:NFC Data Exchange Format)タグのNFC読み取りなどの読み取り時に発生する可能性がある。例えば、アプリケーション126などのリーダー・アプリケーションは、NDEF生成アプレットのアプレットIDを持つアプレット選択メッセージなどのメッセージを送信できる。選択が確認されると、セレクト・ファイル・メッセージに続いてリード・ファイル・メッセージが送信される。例えば、「Select Capabilities file」、「Read Capabilities file」、および「Select NDEF file」を含む。この時点で、非接触カード110が保持するカウンター値が更新またはインクリメントされることがあり、”Read NDEF file”と続くことがある。この時点で、ヘッダーと共有秘密を含むメッセージが生成される。その後、セッション・キーが生成される。MAC暗号文(例えば、暗号文136)は、ヘッダーと共有秘密を含むメッセージから 作成される。その後、MAC暗号文を1つまたは複数のランダム・データのブロックと結合し、MAC暗号と乱数(RND)をセッション・キーで暗号化できる。その後、暗号文とヘッダーは連結され、ASCII 16進数としてエンコードされ、(「Read NDEF file」メッセージに応答して)NDEFメッセージ形式で返される。
【0074】
一部の例では、MAC暗号文はNDEFタグとして送信され、他の例では、MAC暗号はユニフォーム・リソース・インジケータ(例えば、フォーマットされた文字列として)に含まれる。いくつかの例では、アプリケーション126は、リクエストを非接触カード110に送信するように構成されることがあり、リクエストは、MAC暗号文を生成する命令を含む。
【0075】
ライン808で、非接触カード110はMAC暗号文をアプリケーション126に送信する。一部の例では、MAC暗号文の送信はNFCを介して行われるが、本開示はこれに限定されない。他の例では、この通信はBluetooth、WiーFi、または他の無線データ通信手段を介して行われることもある。ライン810で、アプリケーション126はMAC暗号文をプロセッサ802に通信する。
【0076】
ライン812で、プロセッサ802は、アプリケーション126からの指示に従ってMAC暗号文を検証する。例えば、以下に説明するように、MAC暗号文を検証できる。いくつかの例では、MAC暗号文の検証は、ディスプレイ・デバイス102とデータ通信している銀行システムのサーバーなど、ディスプレイ・デバイス102以外の装置によって実行される場合がある。例えば、プロセッサ802は、銀行システムのサーバーに送信するためにMAC暗号文を出力し、サーバーはMAC暗号文を検証できる。一部の例では、MAC暗号は検証のためのデジタル署名として機能する。公開鍵非対称アルゴリズム、例えばデジタル署名アルゴリズムやRSAアルゴリズム、ゼロ知識プロトコルなど、他のデジタル署名アルゴリズムを使用してこの検証を行うこともできる。
【0077】
図9は、例示的な実施形態によるNDEFショート・レコード・レイアウト(SR=1)データ構造900を示す。1つまたは複数のアプレットは、OTPをNDEFタイプ4のよく知られたタイプのテキスト・タグとしてエンコードするように構成できる。いくつかの例では、NDEFメッセージは1つまたは複数のレコードから構成される。アプレットは、OTPレコードに加えて、1つまたは複数の静的タグ・レコードを追加するよう に構成できる。例示的なタグには、これらに限定されないが、
タグのタイプ:よく知られたタイプ、テキスト、エンコーディング:英語(en);
アプレットID:D2760000850101;
機能:読み取り専用アクセス;
エンコーディング:認証メッセージはASCII 16進数でエンコードされるかもしれない。タイプ長値(TLV:Type-Length-Value)データは、NDEFメッセージの生成に使用されるパーソナライゼーション・パラメータとして提供されるかもしれない。
一実施形態では、認証テンプレートは、実際の動的認証データを提供するための周知のインデックスを持つ第1のレコードで構成される。
【0078】
図10は、先に説明したような様々な実施形態を実施するのに適した例示的なコンピュータ・アーキテクチャ1000の一実施形態を示す。一実施形態では、コンピュータ・アーキテクチャ1000は、システム100の一部を含むか、またはシステム100の一部として実装できる。例えば、コンピュータ1002は、図1Aのディスプレイ・デバイス102および/またはサーバーの少なくとも一部を代表できる。
【0079】
本願で使用する場合、「システム」および「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかであるコンピュータ関連エンティティを指すことを意図しており、その例は、例示的なコンピューティング・コンピュータ・アーキテクチャ1000によって提供される。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、ハード・ディスク・ドライブ、(光および/または磁気記憶媒体の)複数のストレージ・ドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであってもよいが、これらに限定されない。例えるなら、サーバー上で動作するアプリケーションも、サーバーもコンポーネントになり得る。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在でき、コンポーネントは、1つのコンピュータ上に局在することも、2つまたはそれ以上のコンピュータ間に分散することもできる。さらに、コンポーネントは、さまざまな種類の通信媒体によって互いに通信可能に結合され、動作を調整できる。調整には、単方向または双方向の情報交換が含まれる。例えば、コンポーネントは、通信媒体を介して通信される信号の形で情報を通信できる。情報は、さまざまな信号線に割り当てられた信号として実装できる。このような割り当てでは、各メッセージは信号である。しかし、さらなる実施形態では、代わりにデータ・メッセージを採用することもできる。このようなデータ・メッセージは、さまざまなコネクションで送信される可能性がある。例示的な接続には、パラレル・インターフェース、シリアル・インターフェース、バス・インターフェースがある。
【0080】
コンピューティング・コンピュータ・アーキテクチャ1000は、1つまたは複数のプロセッサ、マルチコア・プロセッサ、コプロセッサ、メモリー・ユニット、チップ・セット、コントローラ、周辺機器、インターフェース、発振器、タイミング・デバイス、ビデオ・カード、オーディオ・カード、マルチメディア入出力(I/O)コンポーネント、電源など、さまざまな共通のコンピューティング要素を含む。しかし、実施形態は、コンピューティング・アーキテクチャ1000による実装に限定されない。
【0081】
図10に示すように、コンピュータ1002は、プロセッサ1012、システム・メモリー1004、およびシステム・バス1006を含む。プロセッサ1012は、市販されている様々なプロセッサのいずれでもよい。
【0082】
システム・バス1006は、システム・メモリー1004を含むがこれに限定されないシステム・コンポーネントのプロセッサ1012へのインターフェースを提供する。システム・バス1006は、市販されている様々なバス・アーキテクチャのいずれかを使用して、メモリー・バス(メモリー・コントローラ付きまたはメモリー・コントローラなし)、周辺バス、およびローカル・バスにさらに相互接続できる、いくつかのタイプのバス構造のいずれかとできる。インターフェース・アダプタは、スロット・アーキテクチャを介してシステム・バス1006に接続できる。例示的なスロット・アーキテクチャとしては、限定するものではないが、AGP(Accelerated Graphics Port)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA、MCA(Micro Channel Architecture))、NuBus、PCI(X)(Peripheral Component Interconnect(Extended))、PCI Express、PCMCIA(Personal Computer Memory Card International Association)などが挙げられる。
【0083】
コンピューティング・アーキテクチャ100は、様々な製造品を含む、または実装できる。製造品は、ロジックを記憶するコンピュータ読み取り可能な記憶媒体を含むことができる。コンピュータ読み取り可能な記憶媒体の例としては、揮発性メモリーや不揮発性メモリー、リムーバブル・メモリーや非リムーバブル・メモリー、消去可能メモリーや非消去可能メモリー、書き込み可能メモリーや再書き込み可能メモリーなど、電子データを記憶できる任意の有形媒体を挙げることができる。ロジックの例としては、ソース・コード、コンパイル・コード、インタプリタ・コード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、ビジュアル・コードなど、任意の適切なタイプのコードを使用して実装された実行可能なコンピュータ・プログラム命令を挙げることができる。実施形態はまた、少なくとも部分的に、非一過性のコンピュータ可読媒体に含まれるか、または非一過性のコンピュータ可読媒体上に含まれる命令として実施することもでき、この命令は、本明細書で説明する操作の実行を可能にするために、1つまたは複数のプロセッサによって読み取られ、実行される。
【0084】
システム・メモリー1004は、読み取り専用メモリー(ROM)、ランダム・アクセス・メモリー(RAM)、ダイナミックRAM(DRAM)、ダブル・データ・レートDRAM(DDRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュ・メモリー、ポリマー・メモリーなど強誘電体ポリマー・メモリー、オボニック・メモリー、相変化メモリーまたは強誘電体メモリー、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリー、磁気カードまたは光カード、独立ディスク冗長アレイ(RAID)ドライブなどのデバイスのアレイ、ソリッド・ステート・メモリー・デバイス(USBメモリー、ソリッド・ステート・ドライブ(SSD)、および情報の保存に適したその他の種類の記憶媒体など)を含む。図1に示される実施形態では、図10に示すように、システム・メモリー1004は、不揮発性メモリー1008および/または揮発性メモリー1010を含むことができる。基本入出力システム(BIOS)は不揮発性1008に保存できる。
【0085】
コンピュータ1002は、内部(または外部)ハード・ディスク・ドライブ1030、リムーバブル・ディスクに読み書きするための磁気ディスク・ドライブ1016を含む、1つまたは複数の低速メモリー・ユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含んでもよい。磁気ディスク1020、およびリムーバブル光ディスク1032(例えば、CDーROMまたはDVD)に読み書きするための光ディスク・ドライブ1028を含む。ハード・ディスク・ドライブ1030、磁気ディスク・ドライブ1016および光ディスク・ドライブ1028は、それぞれHDDインターフェース1014、FDDインターフェース1018および光ディスク・ドライブ・インターフェース1034によってシステム・バス1006に接続できる。外部ドライブ実装用のHDDインターフェース1014は、ユニバーサル・シリアル・バス(USB)およびIEEE1394インターフェース技術の少なくとも一方または両方を含むことができる。
【0086】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性および/または不揮発性ストレージを提供する。例えば、オペレーティング・システム1022、1つまたは複数のアプリケーション1042、他のプログラム・モジュール1024、およびプログラム・データ1026を含む、多数のプログラム・モジュールをドライブおよび不揮発性1008および揮発性1010に格納できる。一実施形態では、1つまたは複数のアプリケーション1042、他のプログラム・モジュール1024、およびプログラム・データ1026は、例えば、システム100の様々なアプリケーションおよび/またはコンポーネントを含むことができる。
【0087】
ユーザーは、1つまたは複数の有線/無線入力装置、例えば、キーボード1050およびマウス1052などのポインティング・デバイスを介して、コンピュータ1002にコマンドおよび情報を入力できる。その他の入力装置としては、マイク、赤外線(IR)リモコン、無線周波数(RF)リモコン、ゲーム・パッド、スタイラス・ペン、カード・リーダー、ドングル、指紋リーダー、手袋、グラフィック・タブレット、ジョイスティック、キーボード、網膜リーダー、タッチ・スクリーン(静電容量式、抵抗膜式など)、トラックボール、トラック・パッド、センサー、スタイラスなどを挙げることができる。これらおよび他の入力デバイスは、システム・バス1006に結合された入力デバイス・インターフェース1036を介してプロセッサ1012に接続されることが多いが、パラレルポート、IEEE1394シリアル・ポート、ゲーム・ポート、USBポート、IRインターフェースなどの他のインターフェースによって接続することもできる。
【0088】
モニタ1044または他のタイプのディスプレイ・デバイスも、ビデオ・アダプタ1046などのインターフェースを介してシステム・バス1006に接続される。モニタ1044は、コンピュータ1002の内部または外部のどちらでもよい。モニタ1044に加えて、コンピュータは通常、スピーカ、プリンタなどの他の周辺出力装置を含む。
【0089】
コンピュータ1002は、リモート・コンピュータ1048などの1つまたは複数のリモート・コンピュータとの有線および/または無線通信によるロジック接続を使用して、ネットワーク環境で動作できる。リモート・コンピュータ1048は、ワークステーション、サーバー・コンピュータ、ルータ、パーソナル・コンピュータ、ポータブル・コンピュータ、マイクロプロセッサ・ベースの娯楽用電化製品、ピア・デバイス、または他の一般的なネットワーク・ノードとでき、典型的には、コンピュータ1002に関連して説明した要素の多くまたはすべてを含むが、簡潔にするために、メモリーおよび/または記憶装置1058のみを図示している。描かれているロジック接続には、ローカル・エリア・ネットワーク1056および/またはより大規模なネットワーク、例えばワイド・エリア・ネットワーク1054への有線/無線接続が含まれる。このようなLANおよびWANネットワーク環境は、オフィスやものでは一般的なものであり、イントラネットのような企業全体のコンピュータ・ネットワークを促進し、そのすべてが、例えばインターネットのようなグローバル通信ネットワークに接続できる。
【0090】
ローカル・エリア・ネットワーク1056ネットワーク環境で使用される場合、コンピュータ1002は、有線および/または無線通信ネットワーク・インターフェースまたはネットワーク・アダプタ1038を介してローカル・エリア・ネットワーク1056に接続される。ネットワーク・アダプタ1038は、ローカル・エリア・ネットワーク1056への有線および/または無線通信を容易にでき、ネットワーク・アダプタ1038の無線機能と通信するために、その上に配置された無線アクセス・ポイントを含むこともできる。
【0091】
ワイド・エリア・ネットワーク1054のネットワーク環境で使用される場合、コンピュータ1002は、モデム1040を含むか、ワイド・エリア・ネットワーク1054上の通信サーバーに接続されるか、または、インターネットによるなど、ワイド・エリア・ネットワーク1054を介して通信を確立するための他の手段を有できる。モデム1040は、内部または外部の有線および/または無線デバイスとでき、入力デバイス・インターフェース1036を介してシステム・バス1006に接続する。ネットワーク環境では、コンピュータ1002に関連して描かれたプログラム・モジュール、またはその一部を、リモート・メモリーおよび/または記憶装置1058に格納できる。図示したネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段を使用できることは理解されよう。
【0092】
コンピュータ1002は、無線通信(例えば、IEEE802.11無線変調技術)で動作可能に配置された無線デバイスなど、IEEE802ファミリーの規格を使用する有線および無線デバイスまたはエンティティと通信するように動作可能である。これには、少なくともWiーFi(またはWireless Fidelity)、WiMax、Bluetooth(登録商標)無線技術などが含まれる。したがって、通信は、従来のネットワークのようにあらかじめ定義された構造であることもあれば、少なくとも2つの機器間の単なるアドホック通信であることもある。Wi-Fiネットワークは、IEEE802.11(a、b、g、n、ac、axなど)と呼ばれる無線技術を使用し、安全で信頼性の高い高速無線接続を提供する。Wi-Fiネットワークは、コンピュータ同士、インターネット、有線ネットワーク(IEEE802.3関連のメディアと機能を使用)に接続するために使用できる。
【0093】
図11は、先に説明したような様々な実施形態を実施するのに適した例示的な通信アーキテクチャ1100を示すブロック図である。通信アーキテクチャ1100は、送信機、受信機、トランシーバ、無線機、ネットワーク・インターフェース、ベースバンド・プロセッサ、アンテナ、増幅器、フィルタ、電源などの様々な一般的な通信要素を含む。しかし、実施形態は、システム100と一致し得る通信アーキテクチャ1100による実装に限定されない。
【0094】
図11に示すように、通信アーキテクチャ1100は、1つまたは複数のクライアント1102とサーバー1104を含む。サーバー1104は、システム100の1つまたは複数のデバイスを実装できる。クライアント1102およびサーバー1104は、クッキーおよび/または関連するコンテキスト情報など、それぞれのクライアント1102およびサーバー1104にローカルな情報を格納するために採用できる、1つまたは複数のそれぞれのクライアント・データ・ストア1106およびサーバー・データ・ストア1108に動作可能に接続されている。
【0095】
クライアント1102とサーバー1104は、通信フレームワーク1110を用いて互いに情報を通信できる。通信フレームワーク1110は、周知の通信技術やプロトコルを実装できる。通信フレームワーク1110は、パケット交換ネットワーク(例:インターネットなどのパブリック・ネットワーク、企業内イントラネットなどのプライベート・ネットワークなど)、回線交換ネットワーク(例:公衆交換電話網)、またはパケット交換ネットワークと回線交換ネットワークの組み合わせ(適切なゲートウェイとトランスレータを使用する)として実装できる。
【0096】
通信フレームワーク1110は、通信ネットワークを受け入れ、通信し、通信ネットワークに接続するように配置された様々なネットワーク・インターフェースを実装できる。ネットワーク・インターフェースは、入出力(I/O)インターフェースの特殊な形態と見なすことができる。ネットワーク・インターフェースは、ダイレクト・コネクト、イーサネット(例えば、太い、細い、ツイスト・ペア10/100/1000ベースTなど)、トークン・リング、無線ネットワーク・インターフェース、セルラー・ネットワーク・インターフェース、IEEE802.7a-x ネットワーク・インターフェース、IEEE802.16ネットワーク・インターフェース、IEEE802.20ネットワーク・インターフェースなどを含むがこれらに限定されない接続プロトコルを採用できる。さらに、複数のネットワーク・インターフェースを使用して、さまざまな種類の通信ネットワークに接続できる。例えば、ブロードキャスト、マルチキャスト、ユニキャスト・ネットワークを介した通信を可能にするために、複数のネットワーク・インターフェースを採用できる。処理要件がより大きな速度および容量を必要とする場合、クライアント1102およびサーバー1104が必要とする通信帯域幅をプール、負荷分散、およびその他の方法で増加させるために、分散ネットワーク・コントローラ・アーキテクチャを同様に採用できる。通信ネットワークは、直接相互接続、セキュリティで保護されたカスタム接続、プライベート・ネットワーク(例えば、企業イントラネット)、パブリック・ネットワーク(例えば、インターネット)、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネット上のノードとしてのオペレーティング・ミッション(OMNI)、ワイド・エリア・ネットワーク(WAN)、無線ネットワーク、セルラー・ネットワーク、および他の通信ネットワークを含むがこれらに限定されない、有線ネットワークおよび/または無線ネットワークのいずれか1つおよびその組み合わせとできる。
【0097】
上述したデバイスの構成要素および機能は、ディスクリート回路、特定用途向け集積回路(ASIC)、ロジック・ゲートおよび/またはシングル・チップ・アーキテクチャの任意の組み合わせを用いて実装できる。さらに、本装置の機能は、マイクロコントローラ、プログラマブル・ロジック・アレイおよび/またはマイクロプロセッサ、あるいは好適には前述の任意の組み合わせを用いて実装できる。本明細書では、ハードウェア、ファームウェア、および/またはソフトウェア要素を総称して、または個別に、「ロジック」または「回路」と呼ぶ場合があることに留意されたい。
【0098】
図1A~11を参照して先に説明したような装置の様々な要素は、様々なハードウェア要素、ソフトウェア要素、またはその両方の組み合わせを含むことができる。ハードウェア要素の例としては、デバイス、ロジック・デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ、回路素子(例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブル・ロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、メモリー・ユニット、ロジック・ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップ・セットなどを挙げることができる。ソフトウェア要素の例には、ソフトウェア・コンポーネント、プログラム、アプリケーション、コンピュータ・プログラム、アプリケーション・プログラム、システム・プログラム、ソフトウェア開発プログラム、マシン・プログラム、オペレーティング・システム・ソフトウェア、ミドルウェア、ファームウェア、ソフトウェア・モジュール、ルーチン、サブルーチン、機能、方法、手順、ソフトウェア・インターフェース、アプリケーション・プログラム・インターフェース(API)、命令セット、コンピューティング・コード、コンピュータ・コード、コード・セグメント、コンピュータ・コード・セグメント、単語、値、記号、またはそれらの任意の組み合わせが含まれる。しかしながら、実施形態がハードウェア要素および/またはソフトウェア要素を使用して実装されるかどうかを決定することは、所与の実装に対して所望される計算速度、電力レベル、熱許容範囲、処理サイクル予算、入力データ速度、出力データ速度、メモリー・リソース、データ・バス速度、および他の設計または性能制約などの任意の数の要因に従って変化し得る。
【0099】
少なくとも1つの実施形態の1つまたは複数の態様は、プロセッサ内の様々なロジックを表す機械可読媒体上に記憶された代表的な命令によって実施でき、この命令が機械によって読み取られると、機械は、本明細書に記載の技術を実行するためのロジックを作製する。「IPコア」として知られるこのような表現は、有形で機械読み取り可能な媒体に格納され、ロジックやプロセッサを製造する製造機械にロードするために、様々な顧客や製造施設に供給されることがある。いくつかの実施形態は、例えば、機械によって実行された場合、実施形態に従った方法および/または動作を機械に実行させ得る命令または命令のセットを記憶し得る機械可読媒体または物品を用いて実施され得る。このような機械は、例えば、任意の適切な処理プラットフォーム、コンピューティング・プラットフォーム、コンピューティング・デバイス、処理デバイス、コンピューティング・システム、処理システム、コンピュータ、プロセッサなどを含むことができ、任意の適切なハードウェアおよび/またはソフトウェアの組み合わせを用いて実装できる。機械可読媒体または物品は、例えば、任意の適切なタイプのメモリー・ユニット、メモリー装置、メモリー物品、メモリー媒体、記憶装置、記憶物品、記憶媒体および/または記憶装置、例えば、メモリー、リムーバブルまたはノン・リムーバブル媒体、消去可能または消去不可能媒体、書き込み可能または再書き込み可能媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピー・ディスク、CDーROM(Compact Disk Read Only Memory)、CDーR(Compact Disk Recordable)、CDーRW(Compact Disk Rewritable)、光ディスク、磁気媒体、光磁気媒体、リムーバブル・メモリー・カードまたはディスク、各種DVD(Digital Versatile Disk)、テープ、カセットなどを含むことができる。命令は、ソース・コード、コンパイル済みコード、解釈済みコード、実行可能コード、静的コード、動的コード、暗号化コードなど、任意の適切なタイプのコードを含むことができ、任意の適切な高レベル、低レベル、オブジェクト指向、視覚的、コンパイル済みおよび/または解釈済みプログラミング言語を使用して実装される。
【0100】
前述の実施形態例の説明は、例示と説明の目的で提示されたものである。本開示は、網羅的であること、または開示された正確な形態に限定することを意図していない。本開示に照らして、多くの修正と変形が可能である。本開示の範囲は、この詳細な説明によってではなく、添付の特許請求の範囲によって限定されることが意図されている。本出願の優先権を主張する将来の出願は、開示された主題を異なる態様で請求でき、一般に、本明細書において様々に開示されるか、または他の方法で示されるような、1つまたは複数の制限の任意のセットを含むことができる。
図1A
図1B
図1C
図1D
図1E
図2A
図2B
図2C
図3A
図3B
図4A
図4B
図5
図6
図7A
図7B
図8
図9
図10
図11
【国際調査報告】