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

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

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

特表2024-516604ウェブサービスを拡張するオンデマンドアプリケーション
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-04-16
(54)【発明の名称】ウェブサービスを拡張するオンデマンドアプリケーション
(51)【国際特許分類】
   G06Q 20/40 20120101AFI20240409BHJP
   G06Q 20/34 20120101ALI20240409BHJP
   G06F 21/60 20130101ALI20240409BHJP
   G06F 21/31 20130101ALI20240409BHJP
   G06F 8/61 20180101ALI20240409BHJP
【FI】
G06Q20/40
G06Q20/34
G06F21/60 320
G06F21/31
G06F8/61
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023564182
(86)(22)【出願日】2022-04-19
(85)【翻訳文提出日】2023-12-19
(86)【国際出願番号】 US2022025385
(87)【国際公開番号】W WO2022225959
(87)【国際公開日】2022-10-27
(31)【優先権主張番号】17/235,082
(32)【優先日】2021-04-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100163902
【弁理士】
【氏名又は名称】市川 奈月
(72)【発明者】
【氏名】ルール,ジェフリー
(72)【発明者】
【氏名】コシー,ボブ ユニ
(72)【発明者】
【氏名】オズボーン,ケビン
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AD19
5B376AD29
(57)【要約】
システム、方法、製品、およびコンピュータ可読媒体。デバイスのウェブブラウザは、ユニフォームリソースロケータ(URL)の選択を受け取ることができる。オペレーティングシステムは、URLに基づいてアプリケーションサーバからアプリケーションをダウンロードできる。アプリケーションは、デバイスにインストールされる複数のアプリケーションを識別し、第1アプリケーションに対応する第1機関を選択することができる。アプリケーションは、第1機関に関連付けられた非接触カードから暗号文を受信し、その暗号文を認証サーバに送信することができる。アプリケーションは、暗号文を復号した認証サーバを特定する認証結果を受信することができる。ウェブブラウザは、暗号文の解読に基づいて、口座番号、口座番号に関連付けられた有効期限、および口座番号に関連付けられたカード検証値(CVV)を受信することができる。ウェブブラウザは、口座番号、有効期限、およびCVVをアプリケーションに関連付けられたサーバに提供することができる。
【特許請求の範囲】
【請求項1】
コンピュータで実行される方法であって、
デバイスのプロセッサ上で実行されるウェブブラウザによって、取引に関連付けられた販売者ウェブページ内のユニフォームリソースロケータ(URL)の選択を受信し、
前記プロセッサ上で実行されるオペレーティングシステム(OS)によって、URLに基づいてアプリケーションサーバからアプリケーションをダウンロードし、
前記アプリケーションによって、前記デバイスにインストールされる複数の金融機関アプリケーションを識別し、
前記アプリケーションによって、前記デバイスにインストールされる複数の金融機関アプリケーションのうちの第1金融機関アプリケーションに対応する第1金融機関を選択し、
前記アプリケーションによって、前記第1金融機関に関連付けられた非接触カードから暗号文を受信し、
前記アプリケーションによって、前記暗号文を前記第1金融機関の認証サーバに送信し、
前記アプリケーションによって、前記暗号文を復号した認証サーバを特定する認証結果を受信し、
前記認証サーバによる暗号文の解読に基づいて、ウェブブラウザによって、口座番号、前記口座番号に関連付けられた有効期限、および前記口座番号に関連付けられたカード検証値(CVV)を受信し、
前記ウェブブラウザによって、取引を処理するために、前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられたサーバに提供する、
方法。
【請求項2】
前記ウェブブラウザによって、処理された取引の確認を受信し、
前記ウェブブラウザによって、前記確認を表示する、
請求項1に記載の方法。
【請求項3】
前記ウェブブラウザによって、前記アプリケーションに関連付けられた前記サーバから受信した指示に基づいて、前記デバイスにクッキーを保存することをさらに含み、
前記指示は、前記取引の支払いが前記口座番号、前記有効期限、および前記CVVを使用して処理されたことを指定する
請求項1または2に記載の方法。
【請求項4】
前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバへの提供に続いて、
前記ウェブブラウザによって、アプリケーションを使用して第2取引を処理する前記販売者ウェブページ内のURLの第2選択を受信し、
前記OSによって、前記URLに基づいて、前記アプリケーションサーバから前記アプリケーションをダウンロードし、
前記アプリケーションによって、前記デバイス上のクッキーを識別し、
前記クッキーに基づいて前記アプリケーションによって、前記第1金融機関に関連付けられた前記非接触カードを選択し、
前記アプリケーションによって、前記認証サーバから前記口座番号、前記有効期限、および前記CVVを受信し、
前記アプリケーションによって、第2取引を処理するため、前記口座番号、前記有効期限、および前記CVVをアプリケーションに関連付けられたサーバに提供する、
請求項3に記載の方法。
【請求項5】
前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバに提供する前に、
前記デバイスによって、前記デバイスの電話番号で前記認証サーバからワンタイムパスコードを受信し、
前記アプリケーションによって、入力値を受信し、
前記アプリケーションによって、前記入力値と前記ワンタイムパスコードを比較し、
前記アプリケーションによって、前記比較に基づいて、前記入力値と前記ワンタイムパスコードが一致することを決定し、前記アプリケーションは、前記入力値が前記ワンタイムパスコードと一致するという決定に少なくとも部分的に基づいて、前記暗号文を前記認証サーバに送信する、
請求項1または2に記載の方法。
【請求項6】
前記ワンタイムパスコードを受信する前に、
前記アプリケーションによって、電子メールアドレスを含む入力を受信し、
前記アプリケーションによって、前記電子メールアドレスを、前記電子メールアドレスに基づいて前記デバイスの前記電話番号を決定する前記認証サーバに送信する、
請求項5に記載の方法。
【請求項7】
前記URLは、前記販売者ウェブページに関連付けられる第1販売者の第1識別子と、前記取引に関連付けられる取引識別子とを含み、
前記第1販売者は、複数の販売者の1つであり、
前記販売者ウェブページは、ウェブサーバ上の複数の販売者ウェブページのうちの1つである、
請求項1に記載の方法。
【請求項8】
前記ウェブサーバは、前記複数の販売者ウェブページをホストし、
各販売者ウェブページは、前記複数の販売者のうちのそれぞれの1つに関連付けられ、
各販売者は、前記第1識別子を含む、複数の識別子のそれぞれの識別子に関連付けられ、
前記アプリケーションに関連付けられたサーバは、支払い処理サーバまたは前記ウェブサーバのうちの1つを含む、
請求項7に記載の方法。
【請求項9】
前記アプリケーションは、非永続的なオンデマンドアプリケーションである、
請求項1に記載の方法。
【請求項10】
前記URLは、ディープリンクURLまたはユニバーサルリンクURLである、
請求項1または9に記載の方法。
【請求項11】
前記URLのページ識別子パラメータが前記アプリケーションのページを識別し、
前記アプリケーションによって、前記ページ識別子パラメータを識別し、
前記アプリケーションによって、前記ページ識別子パラメータに基づいて前記アプリケーションのページを開く、
請求項1に記載の方法。
【請求項12】
前記ウェブブラウザによって、第2取引を処理する、第2販売者ウェブページ内の第2URLの選択を受信し、
前記OSにより、前記第2URLに基づいて、前記アプリケーションサーバから第2アプリケーションをダウンロードし、
前記第2アプリケーションによって、前記デバイスにインストールされている前記複数の金融機関アプリケーションのうちの第2金融機関アプリケーションに対応する第2金融機関を選択し、
前記第2アプリケーションによって、前記第2金融機関に関連付けられた第2非接触カードから第2暗号文を受信し、
前記第2アプリケーションによって、前記第2暗号文を復号した前記第2金融機関に関連付けられた第2認証サーバを特定する認証結果を受信し、
前記ウェブブラウザによって、前記第2認証サーバから、前記第2認証サーバによる第2暗号文の解読に基づいて、仮想口座番号、仮想口座番号の有効期限、および仮想口座番号のCVVを受信し、
前記第2取引を処理するために、ウェブブラウザによって、仮想口座番号、仮想口座番号の有効期限、および仮想口座番号のCVVを、前記第2販売者ウェブページをホストするウェブサーバに提供する、
請求項1に記載の方法。
【請求項13】
デバイスのプロセッサによって実行されると、前記プロセッサに以下を実行させる命令を含む、非一時的なコンピュータ可読記憶媒体であって、
命令は、
ウェブブラウザによって、取引に関連付けられる販売者ウェブページ内のユニフォームリソースロケータ(URL)の選択を受信すること、
オペレーティングシステム(OS)によって、前記URLに基づいてアプリケーションサーバからアプリケーションをダウンロードすること、
前記アプリケーションによって、前記デバイスにインストールされる複数の金融機関アプリケーションを識別すること、
前記アプリケーションによって、前記デバイスにインストールされる前記複数の金融機関アプリケーションのうちの第1金融機関アプリケーションに対応する第1金融機関を選択すること、
前記アプリケーションによって、前記第1金融機関に関連付けられる非接触カードから暗号文を受信すること、
前記アプリケーションによって、前記暗号文を前記第1金融機関の認証サーバに送信すること、
前記アプリケーションによって、前記暗号文を復号した前記認証サーバを特定する認証結果を受信すること、
前記認証サーバによる暗号文の解読に基づいて、ウェブブラウザによって、口座番号、前記口座番号に関連付けられた有効期限、および前記口座番号に関連付けられたカード検証値(CVV)を受信すること、および、
前記ウェブブラウザによって、前記取引を処理するため、前記口座番号、前記有効期限、および前記CVVをアプリケーションに関連付けられたサーバに提供すること
を実行させるコンピュータ可読記憶媒体。
【請求項14】
前記命令は、前記プロセッサに、さらに、
前記ウェブブラウザによって、前記処理された取引の確認を受信すること、および
前記ウェブブラウザによって、確認画面を表示すること、
を実行させる、請求項13に記載のコンピュータ可読記憶媒体。
【請求項15】
前記命令は、前記プロセッサに、さらに、
前記アプリケーションに関連付けられるサーバから受信した指示に基づいて、前記ウェブブラウザによってデバイスにクッキーを保存することを実行させ、
前記指示は、前記口座番号、前記有効期限、および前記CVVを使用して処理された前記取引の支払いを指定する、
請求項13または14に記載のコンピュータ可読記憶媒体。
【請求項16】
前記命令は、前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバに提供した後、前記プロセッサに、さらに、
前記ウェブブラウザによって、前記アプリケーションを使用して第2取引を処理するための、前記販売者ウェブページ内のURLの第2選択を受信すること、
前記OSによって、前記URLに基づいて前記アプリケーションサーバから前記アプリケーションをダウンロードすること、
前記アプリケーションによって、前記デバイス上のクッキーを識別させ、
前記アプリケーションによって、前記クッキーに基づいて、前記第1金融機関に関連付けられた非接触カードを選択すること、
前記アプリケーションによって、前記認証サーバから前記口座番号、前記有効期限、前記CVVを受信すること、および、
前記アプリケーションによって、第2取引を処理するために、前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバに提供すること、
を実行させる、請求項15に記載のコンピュータ可読記憶媒体。
【請求項17】
前記命令は、前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバに提供する前に、前記プロセッサに、さらに、
前記デバイスによって、前記デバイスの電話番号で前記認証サーバからワンタイムパスコードを受信すること、
前記アプリケーションによって、入力値を受信すること、
前記アプリケーションによって、前記入力値と前記ワンタイムパスコードを比較すること、および、
前記アプリケーションによって、前記比較に基づいて、前記入力値と前記ワンタイムパスコードが一致する決定をすること、を含み、
前記アプリケーションは、前記入力値が前記ワンタイムパスコードと一致する決定に少なくとも部分的に基づいて、前記暗号文を前記認証サーバに送信する、
請求項13または14に記載のコンピュータ可読記憶媒体。
【請求項18】
前記URLは、前記販売者ウェブページに関連付けられた第1販売者の第1識別子と、前記取引に関連付けられた取引識別子とを含み、
前記第1販売者は、複数の販売者のうちの1つであって、
前記販売者ウェブページは、ウェブサーバ上の複数の販売者ウェブページのうちの1つである、
請求項13または14に記載のコンピュータ可読記憶媒体。
【請求項19】
前記ウェブサーバは、前記複数の販売者ウェブページをホストし、
各販売者ウェブページは、前記複数の販売者のうちのそれぞれの1つに関連付けられ、
各販売者は、第1識別子を含む複数の識別子のうちの1つのそれぞれの識別子に関連付けられ、
前記アプリケーションに関連付けられたサーバは、支払い処理サーバまたは前記ウェブサーバのうちの1つを含む、
請求項18に記載のコンピュータ可読記憶媒体。
【請求項20】
コンピュータ装置は、
プロセッサ、および、前記プロセッサによって実行され、前記プロセッサに以下を実行させる命令を保存するメモリを備え、
前記命令は、
ウェブブラウザによって、取引に関連付けられる販売者ウェブページ内のユニフォームリソースロケータ(URL)の選択を受信すること、
オペレーティングシステム(OS)によって、前記URLに基づいてアプリケーションサーバからアプリケーションをダウンロードすること、
前記アプリケーションによって、前記コンピュータ装置にインストールされる複数の金融機関アプリケーションを識別すること、
前記アプリケーションによって、前記コンピュータ装置にインストールされている前記複数の金融機関アプリケーションのうちの第1金融機関アプリケーションに対応する第1金融機関を選択すること、
前記アプリケーションによって、前記第1金融機関に関連付けられる非接触カードから暗号文を受信すること、
前記アプリケーションによって、前記暗号文を前記第1金融機関の認証サーバに送信すること、
前記アプリケーションによって、前記暗号文を復号した前記認証サーバを特定する認証結果を受信すること、
前記認証サーバによる暗号文の解読に基づいて、ウェブブラウザによって、口座番号、前記口座番号に関連付けられた有効期限、および前記口座番号に関連付けられたカード検証値(CVV)を受信すること、および、
前記ウェブブラウザによって、前記取引を処理するため、前記口座番号、前記有効期限、および前記CVVをアプリケーションに関連付けられたサーバに提供すること
を実行する、コンピュータ装置。
【請求項21】
前記命令は、前記プロセッサに、さらに、
前記ウェブブラウザによって、前記処理された取引の確認を受信すること、および
前記ウェブブラウザによって、確認画面を表示すること、
を実行させる、請求項20に記載のコンピュータ装置。
【請求項22】
前記命令は、前記プロセッサに、さらに、
前記アプリケーションに関連付けられるサーバから受信した指示に基づいて、前記ウェブブラウザによってメモリにクッキーを保存することを実行させ、
前記指示は、前記口座番号、前記有効期限、および前記CVVを使用して処理された前記取引の支払いを指定する、
請求項20または21に記載のコンピュータ装置。
【請求項23】
前記命令は、前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバに提供した後、前記プロセッサに、さらに、
前記ウェブブラウザによって、前記アプリケーションを使用して第2取引を処理するための、前記販売者ウェブページ内のURLの第2選択を受信すること、
前記OSによって、前記URLに基づいて前記アプリケーションサーバから前記アプリケーションをダウンロードすること、
前記アプリケーションによって、前記メモリ内のクッキーを識別すること、
前記アプリケーションによって、前記クッキーに基づいて、前記第1金融機関に関連付けられた非接触カードを選択すること、
前記アプリケーションによって、前記認証サーバから前記口座番号、前記有効期限、前記CVVを受信すること、および、
前記アプリケーションによって、第2取引を処理するために、前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバに提供すること、
を実行させる、請求項20または21に記載のコンピュータ装置。
【請求項24】
前記命令は、前記口座番号、前記有効期限、および前記CVVを前記アプリケーションに関連付けられた前記サーバに提供する前に、前記プロセッサに、さらに、
前記コンピュータ装置の電話番号で前記認証サーバからワンタイムパスコードを受信すること、
前記アプリケーションによって、入力値を受信すること、
前記アプリケーションによって、前記入力値と前記ワンタイムパスコードを比較すること、および、
前記アプリケーションによって、前記比較に基づいて、前記入力値と前記ワンタイムパスコードと一致することを決定すること、を含み、
前記アプリケーションは、前記入力値が前記ワンタイムパスコードと一致する決定に少なくとも部分的に基づいて、前記暗号文を前記認証サーバに送信する
請求項20または21に記載のコンピュータ装置。
【請求項25】
前記URLは、前記販売者ウェブページに関連付けられた前記第1販売者の第1識別子と、前記取引に関連付けられた取引識別子とを含み、
前記第1販売者は複数の販売者のうちの1つであって、
前記販売者ウェブページは、ウェブサーバ上の複数の販売者ウェブページのうちの1つであり、
前記ウェブサーバは、複数の販売者ウェブページをホストし、
各販売者ウェブページは、前記複数の販売者のうちのそれぞれ1つに関連付けられ、
各販売者は、第1識別子を含む複数の識別子のうちの1つのそれぞれの識別子に関連付けられ、
前記アプリケーションに関連付けられたサーバは、支払い処理サーバまたは前記ウェブサーバのうちの1つを含む、
請求項20または21に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2021年4月20日に出願された「ウェブサービスを拡張するオンデマンドアプリケーション」と題する米国特許出願第17/235,082号に対する優先権を主張する。前述の特許出願の内容は、全体が参照により本明細書に引用される。
【0002】
本明細書で開示される実施形態は、一般にコンピュータプラットフォームに関し、より具体的には、オンデマンドアプリケーションを使用してウェブベースのサービスを拡張するコンピュータプラットフォームに関する。
【背景技術】
【0003】
いくつかのウェブベースのプラットフォームは、異なるエンティティのウェブページをホストする。ただし、特定のウェブページによって提供される機能は、特定のエンティティの専用アプリケーションストアアプリケーションによって提供される機能に比べて制限される場合がある。たとえば、ウェブページは顧客データおよび/またはリクエストを安全に処理できない場合がある。モバイルウェブブラウザは他の種類のウェブブラウザに比べて機能が制限されているため、ウェブページへのアクセスにモバイルウェブブラウザを使用すると、この問題がさらに悪化することがよくある。したがって、ウェブベースのプラットフォームによって提供されるサービスを使用すると、セキュリティやその他のリスクが存在する可能性がある。
【発明の概要】
【0004】
本明細書で開示される実施形態は、オンデマンドアプリケーションを使用してウェブサービスを拡張するシステム、方法、製品、およびコンピュータ可読媒体を提供する。一例では、デバイスのウェブブラウザは、ユニフォームリソースロケータ(URL)の選択を受け取ることができる。オペレーティングシステムは、URLに基づいてアプリケーションサーバからアプリケーションをダウンロードすることができる。アプリケーションは、デバイスにインストールされている複数のアプリケーションを識別し、第1アプリケーションに対応する第1機関を選択することができる。アプリケーションは、第1機関に関連付けられた非接触カードから暗号文を受信し、その暗号文を認証サーバに送信することができる。アプリケーションは、暗号文を復号した認証サーバを特定する認証結果を受信する場合がある。ウェブブラウザは、暗号文の解読に基づいて、口座番号、口座番号に関連付けられた有効期限、および口座番号に関連付けられたカード検証値(CVV)を受信することができる。ウェブブラウザは、口座番号、有効期限、およびCVVをアプリケーションに関連付けられたサーバに提供することができる。
【図面の簡単な説明】
【0005】
図1A図1Aは、実施形態に係るシステムを示す。
図1B図1Bは、実施形態に係るシステムを示す。
図1C図1Cは、実施形態に係るシステムを示す。
図1D図1Dは、実施形態に係るシステムを示す。
図1E図1Eは、実施形態に係るシステムを示す。
図2A図2Aは、実施形態に係るシステムを示す。
図2B図2Bは、実施形態に係るシステムを示す。
図2C図2Cは、実施形態に係るシステムを示す。
図2D図2Dは、実施形態に係るシステムを示す。
図2E図2Eは、実施形態に係るシステムを示す。
図3A図3Aは、第1論理フローを示す。
図3B図3Bは、第1論理フローを示す。
図4図4は、第2論理フローを示す。
図5A図5Aは、非接触カードの一例を示す。
図5B図5Bは、非接触カードの一例を示す。
図6図6は、データ構造の一例を示す。
図7図7は、コンピュータ構造を示す。
【発明を実施するための形態】
【0006】
本明細書に開示される実施形態は、オンデマンドアプリケーションを使用してウェブサービスを拡張する技術を提供する。一般に、ウェブサービスは、電子商取引プラットフォームによってホストされる複数のウェブページを含み得る。各ウェブページは、電子商取引プラットフォーム上に存在する複数の販売者のうちのそれぞれの販売者に関連付けることができる。ユーザがデバイス上のウェブブラウザを使用してウェブページの1つにアクセスすると、ユーザは購入する1つ以上の商品を選択できる。チェックアウトプロセスのセキュリティを向上させるために、本明細書に開示される実施形態は、アプリケーションサーバによってホストされるアプリケーションに向けられたユニフォームリソースロケータ(URL)をウェブページ内に提示することができる。URLは、販売者識別子(例えば、ウェブページに関連付けられた販売者識別子)、取引のカート識別子、および/または任意の他のデータ要素などの1つ以上の追加パラメータを含むことができる。アプリケーションは、購入の支払いを処理する電子商取引プラットフォームに関連付けられたオンデマンドアプリケーションであってもよい。URLの選択に応答して、ウェブブラウザおよび/またはデバイスのオペレーティングシステム(OS)は、URLにアクセスすることができる。これにより、オンデマンドアプリケーションがデバイスにダウンロードされ、実行される可能性がある。
【0007】
次に、オンデマンドアプリケーションは、デバイスにインストールされている1つ以上のアプリケーションを識別することができる。アプリケーションには、1つ以上の金融機関アプリケーションが含まれる場合がある。次に、オンデマンドアプリケーションは、1つ以上のアプリケーションから第1金融機関アプリケーションを選択することができる。ユーザは、自分の電子メールアドレスをオンデマンドアプリケーションへの入力として提供できる。次に、オンデマンドアプリケーションは、電子メールアドレスを、第1金融機関アプリケーションに関連付けられた金融機関のサーバに送信することができる。サーバは、電子メールアドレスを使用して、口座データベース内の口座に関連付けられた電話番号を識別する場合がある。次に、サーバは、識別された電話番号にワンタイムパスコード(OTP)を送信する。OTPを受信すると、ユーザはオンデマンドアプリケーションにOTPを提供できる。オンデマンドアプリケーションは、ユーザが提供したOTPをサーバから受信したOTPのインスタンスと比較できる。
【0008】
比較の結果が一致した場合、オンデマンドアプリケーションは、非接触カードをデバイスにタップするようにユーザに指示することができる。それに応じて、ユーザは非接触カードをデバイスにタップすることができ、オンデマンドアプリケーションはデバイスのカードリーダを操作することができる。これにより、非接触カードに暗号文の生成が発生したり、暗号文が生成される場合がある。この暗号文は、NFCフォーラムデータ交換フォーマット(NDEF)ファイルなどのデータパッケージの一部として含まれてもよい。オンデマンドアプリケーションは、NFC経由でデータパッケージを読み取り、復号のためにデータパッケージをサーバに送信できる。いくつかの実施形態では、オンデマンドアプリケーションは、カート識別子、販売者識別子などの追加のメタデータをデータパッケージとともに送信してもよい。サーバは、受信したデータパッケージを使用して暗号文の解読を試みてもよい。
【0009】
サーバが暗号文を復号すると、サーバはオンデマンドアプリケーションに応答を送信してもよい。応答は、暗号文が復号されたか認証されたことを示す情報を含んでもよい。さらに、サーバが暗号文を解読すると、サーバはウェブブラウザで購入の支払情報を生成する場合がある。支払情報には、仮想口座番号(VAN)、有効期限、カード検証値(CVV)、およびユーザの住所などのその他の情報が含まれてもよい。サーバは支払情報を Web サーバに提供する場合がある。次に、ウェブサーバは支払情報をウェブブラウザにプッシュし、ウェブブラウザは支払情報をウェブブラウザの1つ以上のフォームフィールドに入力する。次に、ウェブブラウザを使用して、支払情報を使用して購入の支払いを送信することができる。
【0010】
いくつかの実施形態では、クッキーは、例えば、サーバによる暗号文の復号に応答するオンデマンドアプリケーションによって、および/または支払情報の受信に応答するウェブブラウザによって、デバイス上に保存され得る。クッキーは、後続の取引でユーザを認証するために使用されてもよい。たとえば、ユーザが2回目の購入を試みる場合、ユーザはオンデマンドアプリケーションを使用するURLを再度選択してもよい。オンデマンドアプリケーションは(デバイスで利用できない場合)ダウンロードして実行できる。オンデマンドアプリケーションは、デバイスに保存されているクッキーを識別する場合がある。オンデマンドアプリケーションは、クッキーに基づいて第1金融機関を識別し、第1金融機関に関連付けられたサーバに別のVAN、有効期限、およびCVVを生成するように指示することができる。有利なことに、クッキーの識別に基づいて、ユーザは、サーバによる別の暗号文の解読を容易にするためにカードをデバイスにタップする必要がない。別のVAN、有効期限、CVVを使用して2回目の購入を完了することができる。
【0011】
有利なことに、本明細書に開示される実施形態は、オンデマンドアプリケーションを使用してウェブサービスを拡張する技術を提供する。電子商取引プラットフォームは、数千(またはそれ以上)の販売者が提供するウェブサイトをホストする場合があるため、電子商取引プラットフォームは各販売者に専用のアプリケーションを合理的に提供することはできない。ただし、オンデマンドアプリケーションを活用することで、電子商取引プラットフォームはウェブページによって提供される機能を拡張できる。これには、自動的にダウンロードされて1つ以上の支払いフォームに挿入される支払情報を使用することによる迅速な支払い処理が含まれる場合がある。非接触カードによって生成された暗号文を利用することにより、本開示の実施形態は、不正行為のリスクを最小限に抑えながら、ユーザの身元を安全に検証することができる。さらに、ウェブブラウザを使用することで、非接触カードとのデータ通信に専用のクライアントアプリケーションを必要としない。ウェブブラウザを使用すると、専用のアプリケーションを必要とせずに、本明細書で説明する機能をさまざまなエンティティおよび任意の数のユーザに合わせて拡張できるという利点がある。さらに、簡素化された支払いプロセスを提供することにより、より多くの取引がサーバによって処理され、それによってシステムのパフォーマンスが向上する。
【0012】
本明細書で使用される表記法および命名法を一般的に参照すると、以下の詳細な説明の1つ以上の部分は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順に関して提示され得る。これらの手順の説明および表現は、当業者によって、その作業の内容を他の当業者に最も効果的に伝えるために使用される。ここでのプロシージャとは、一般に、望ましい結果につながる一貫した一連の操作であると考えられている。これらの操作は、物理量の物理的操作を必要とする操作である。限定されないが、通常、これらの量は、保存、転送、結合、比較、その他の操作が可能な電気、磁気、または光信号の形式をとる。主に一般的な使用上の理由から、これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶと便利な場合がある。ただし、これらの用語および同様の用語はすべて、適切な物理量に関連付けられており、それらの量に適用される便宜的なラベルにすぎないことに注意すべきであろう。
【0013】
さらに、これらの操作は、加算または比較などの用語で呼ばれることが多く、一般に人間のオペレータによって実行される精神的操作に関連付けられる。しかしながら、1つ以上の実施形態の一部を形成する本明細書に記載の操作のいずれにおいても、人間のオペレータのそのような能力は必要でなく、ほとんどの場合望ましいものではない。むしろ、これらの操作は機械操作である。様々な実施形態の動作を実行する有用な機械には、本明細書の教示に従って書かれた内部に格納されたコンピュータプログラムによって選択的に起動または設定されるデジタルコンピュータが含まれ、および/または必要な目的のために特別に構築された装置またはデジタルコンピュータが含まれる。様々な実施形態は、これらの動作を実行する装置またはシステムにも関する。これらの装置は、必要な目的に合わせて特別に構築される場合がある。これらのさまざまな機械に必要な構造は、与えられた説明から明らかになるであろう。
【0014】
次に図面を参照するが、全体を通して同様の要素を指すために同様の参照番号が使用される。以下の説明では、完全な理解を提供するために、説明の目的で多くの具体的な詳細が記載されている。しかしながら、これらの特定の詳細がなくても新規な実施形態を実施できることは明らかであろう。他の例では、説明を容易にするために、周知の構造および装置がブロック図の形式で示される。その意図は、特許請求の範囲内のすべての修正、等価物、および代替物を網羅することである。
【0015】
図1Aは、開示された実施形態と一致する例示的なシステム100を示す。図1A~1Eに示されるシステム100は、特定のトポロジ内に限られた数の要素を有するが、システム100は、所定の実装形態に応じて、代替トポロジ内に多かれ少なかれ要素を含むことができることが理解されよう。
【0016】
図示するように、システム100は、1つ以上の非接触カード101、1つ以上のコンピュータ装置110、1つ以上の金融機関サーバ120、1つ以上の支払処理サーバ140、1つ以上の電子商取引サーバ150、および1つ以上の電子商取引サーバ150を備える。非接触カード101は、クレジットカード、デビットカード、ATMカード、ギフトカードなどの任意のタイプの支払いカードを表す。非接触カード101は、無線通信でNFC、EMV規格、または無線通信における他の短距離プロトコルを介して、コンピュータ装置110の通信インターフェース118(本明細書では「カードリーダ」、「無線カードリーダ」、および/または「無線通信インターフェース」とも呼ばれる)と通信する無線周波数識別(RFID)チップなどの1つ以上の通信インターフェース109を含むことができる。本明細書では通信プロトコルの一例としてNFCが使用されるが、本開示は、EMV規格、Bluetooth、および/またはWi-Fiなどの他のタイプの無線通信にも同様に適用可能である。
【0017】
コンピュータ装置110は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、ラップトップ、ポータブルゲームデバイス、仮想化コンピュータシステム、販売者端末、販売時点管理システム、サーバ、デスクトップコンピュータなどの任意の数および種類のコンピュータ装置を表す。サーバ120、140、150、および160は、サーバ、ワークステーション、コンピュータクラスタ、クラウドコンピュータプラットフォーム、仮想化コンピュータシステムなどの任意の数および種類のコンピュータ装置を表す。明確にするために図示されていないが、コンピュータ装置110、非接触カード101、およびサーバ120、140、150、および160はそれぞれ、プログラム、コード、および/または命令を実行する1つ以上のプロセッサ回路を含む。
【0018】
図示するように、非接触カード101のメモリ102は、アプレット103、カウンタ104、マスター鍵105、多様化鍵106、および一意の顧客識別子(ID)107を含む。アプレット103は、本明細書で記載される操作を実行する実行可能コードである。カウンタ104、マスター鍵105、多様化鍵106、および顧客ID107は、以下でより詳細に説明するように、システム100にセキュリティを提供するために使用される。
【0019】
図示するように、モバイル装置110のメモリ111は、オペレーティングシステム(OS)112のインスタンスを含む。オペレーティングシステム112の例には、Android(登録商標)OS、IOS(登録商標)、macOS(登録商標)、Linux(登録商標)、およびWindows(登録商標)オペレーティングシステムが含まれる。図示するように、OS112は、ウェブブラウザ113および1つ以上のアプリケーション114を含む。ウェブブラウザ113は、装置110がネットワーク130を介して(例えば、インターネットを介して)情報にアクセスできるようにするアプリケーションである。アプリケーション114は、1つ以上の金融機関および/または金融機関サーバ120に関連付けられたアプリケーションを含む、任意のタイプのアプリケーションを表す。
【0020】
図示するように、サーバ120のメモリ122は、認証アプリケーション123を含む。所定のサーバ120および/または認証アプリケーション123は、非接触カード101を発行する金融機関、例えば銀行に関連付けることができる。したがって、複数の異なるサーバ120および/または認証アプリケーション123がシステム100内に存在し得る。本明細書でより詳細に説明するように、認証アプリケーション123は、非接触カード101からデータを読み取る専用のアプリケーションを装置110に含めることを要求せずに、ウェブブラウザ113およびオンデマンドアプリケーション161を介して1つ以上の非接触カード101の支払情報の生成を容易にし、および/または、金融機関サーバ120と通信する。これにより、ウェブブラウザ113および/またはウェブページ151は、非接触カード101からデータを読み取る機能、および/または金融機関サーバ120と通信する機能を含む、所定のウェブページ151なしで取引を処理する。
【0021】
一般に、ユーザは、ウェブブラウザ113を使用して、電子商取引サーバ150上の1つ以上のウェブページ151を閲覧することができる。ウェブページ151には、ハイパーテキストマークアップ言語(HTML)ページ、JavaScript(登録商標)ページ、および/または任意の他のページが含まれ得る。電子商取引サーバ150は一般に、商品(goods)、サービス、品目(items)などを販売する別個の販売者(merchants, or sellers)のプラットフォームを提供することができる。したがって、各販売者は少なくとも1つのウェブページ151に関連付けられる。
【0022】
一般に、ブラウジング中に、ユーザは、電子商取引プラットフォーム150上に存在する1つ以上の販売者から購入する1つ以上の品および/またはサービスを選択することができる。ユーザが所望の品および/またはサービスを選択すると、ユーザは、ウェブブラウザ113で取引を完了するウェブページ151-1のインターフェース(例えば、カートページ、チェックアウトページなど)に遭遇することがある。従来、ユーザは、購入を完了するため、自分の名前、カード番号、有効期限、CVV、および/またはアドレス情報をウェブブラウザ113のウェブページ151-1の形式に、手動で入力する事が要求される。さらに、装置110は通信インターフェース118を介して非接触カード101からこの情報を読み取ることができるが、ウェブブラウザ113および/またはウェブページ151-1はそのような機能をサポートしない場合がある。例えば、ウェブブラウザ113および/またはウェブページ151-1は、通信インターフェース118を制御できない場合がある。同様に、ウェブブラウザ113および/またはウェブページ151-1は、認証アプリケーション123を使用して、必要なセキュリティ機能を活用するため、通信インターフェース118と通信できない場合がある。
【0023】
しかしながら、有利なことに、ウェブページ151-1は、取引に対する安全な支払い処理を開始するURL153を含むことができる。一般に、URL153は、アプリケーションサーバ160上のオンデマンドアプリケーション161の1つに向けられる。いくつかの実施形態では、URL153は、1つ以上のパラメータを指定することができる。例えば、パラメータには、販売者識別子、取引(またはショッピングカート)識別子、アプリケーション161の識別子などが含まれてもよい。URL153の一例は、「http://www.example.com/app123?merchantid=abc&cartid=123」であり、「app123」はアプリケーション161を識別し、「merchantid=abc」は販売者を識別し、「cartid=123」は取引および/またはショッピングカートを識別する。販売者識別子は、販売者に関連付けられた固有の識別子、および/または電子商取引サーバ150内に存在する販売者に関連付けられたウェブページ151であり得る。例えば、電子商取引サーバ150は、例えばエンティティA、B、およびCのウェブページをホストする。このような例では、各エンティティA、B、およびCは、それぞれの一意の識別子に関連付けられている。取引識別子は、所定の取引(例えば、購入のために選択された品、ショッピングカートなど)を一意に識別し、電子商取引サーバ150上の口座に関連付けられる。例えば、取引識別子は、一意の英数字識別子、一意のセッション英数字識別子、ファイルなどでありうる。
【0024】
図1Bは、ユーザがウェブブラウザ113および/またはウェブページ151-1に支払情報を手動で入力することなく、非接触カード101を使用して取引を完了するためにウェブブラウザでURL153を選択した実施形態を示す。URL153の選択に応答して、OS112は、オンデマンドアプリケーション161-1を動的にダウンロードし、オンデマンドアプリケーション161-1をデバイスに動的にインストールすることができる。URL153はさらに、リソース(例えば、関連するオンデマンドアプリケーション161の1つ以上の特定のページ)を開くユニバーサルリンクURL(またはディープリンクURL)であってもよい。モバイル装置110上での実行時に開かれるべきオンデマンドアプリケーション161のページは、URL153のパラメータとして指定され得る。同様に、販売者識別子および/または取引識別子は、URL153のパラメータを介して、オンデマンドアプリケーション161に提供され得る。
【0025】
オンデマンドアプリケーション161は、モバイル装置110上で動的にダウンロードされ、実行され得る非永続的アプリケーションである。オンデマンドアプリケーション161の例は、Android(登録商標)インスタントアプリケーション、Apple(登録商標)App Clips、およびプログレッシブウェブアプリケーションを含む。より一般的には、オンデマンドアプリケーション161は、金融機関サーバに関連付けられたアプリケーション114によって提供される機能のサブセットを含む。例えば、オンデマンドアプリケーション161は、非接触カード101からデータを読み取り、検証のためにそのデータを金融機関サーバ120上の認証アプリケーション123に送信する機能を含み得る。しかしながら、オンデマンドアプリケーション161は、金融機関によって提供される完全なアプリケーション114によって提供される他の機能(例えば、口座残高の表示、資金の送金など)を省略してもよい。いくつかの実施形態では、所定のオンデマンドアプリケーション161は、複数の電子商取引プラットフォームおよび/またはサーバ150のうちの別個の電子商取引プラットフォームおよび/またはサーバ150に関連付けられてもよい。
【0026】
図1Bに示す実施形態では、オンデマンドアプリケーション161-1は、デバイスにインストールされているアプリケーション114のうちの1つ以上を識別することができる。これにより、オンデマンドアプリケーション161-1が非接触カード101の発行者を決定できるようになり得る。一般に、オンデマンドアプリケーション161-1は、金融機関および/または金融機関サーバ120に関連付けられたアプリケーション114を検索し得る。1つのアプリケーション114が識別された場合、オンデマンドアプリケーション161-1は、そのアプリケーションに関連付けられた金融機関サーバ120を選択することができる。この関連付けは、オンデマンドアプリケーション161-1のテーブルまたは他のデータ構造で定義することができる。アプリケーション114が識別されない実施形態では、オンデマンドアプリケーション161-1は、金融機関のリスト(例えば、すべてのユーザの間の人気に基づいてランク付けされる)を含み得、非接触カード101に関連付けられた正しい金融機関が特定されるまで、ランク付けされた順序で、各金融機関(および/または関連するサーバ120)を繰り返し選択することができる。
【0027】
オンデマンドアプリケーション161-1が装置110にインストールされた複数の金融機関アプリケーション114を識別する実施形態では、オンデマンドアプリケーション161-1は、金融機関アプリケーション114および関連する金融機関サーバ120のうちの1つを選択することができる。オンデマンドアプリケーション161-1は、任意のルールおよび/または選択ロジックを使用して、アプリケーション114のうちの1つを選択することができる。例えば、オンデマンドアプリケーション161-1は、最も最近使用されたアプリケーション114、最も頻繁にアクセスされたアプリケーション114などを選択することができる。いくつかの実施形態では、オンデマンドアプリケーション161-1は、例えば、最近使用されたもの、最も頻繁に使用されたものなどに基づいて、各アプリケーション114のスコアを計算する。その後、オンデマンドアプリケーション161-1は、最高のスコアのアプリケーション114を選択する。
【0028】
オンデマンドアプリケーション161-1が金融機関アプリケーション114および/または金融機関サーバ120を選択すると、オンデマンドアプリケーション161-1は装置110上のクッキーを検索することができる。クッキーが見つかると、オンデマンドアプリケーション161-1は、ワンタイムパスコード(OTP)登録フローの一部として、自分の電子メールアドレス(または何らかの他の識別子)を入力するようにユーザに指示することができる。提供されると、オンデマンドアプリケーション161-1は、電子メールアドレス(および/または電子メールアドレスのハッシュ)を選択された金融機関サーバ120に送信することができる。これに応答して、認証アプリケーション123は、口座データ124の電子メールアドレスに関連付けられた電話番号を識別することができる。
【0029】
次に、認証アプリケーション123は、OTPを生成し、識別された電話番号を使用してOTPを装置110に送信することができる。OTPは、任意の英数字文字列を使用し得る。次に、ユーザは、オンデマンドアプリケーション161-1へ、入力としてOTPを提供することができる。次に、オンデマンドアプリケーション161-1は、受信した入力を認証アプリケーション123に送信し、認証アプリケーション123は、入力を生成されたOTPと比較する。認証アプリケーション123は、比較の結果をオンデマンドアプリケーション161-1に返してもよい。しかしながら、いくつかの実施形態では、認証アプリケーション123は、生成されたOTPをオンデマンドアプリケーション161-1に提供し、オンデマンドアプリケーション161-1が比較を実行する。比較を実行するエンティティに関わらず、比較の結果が一致した場合、ユーザは、電子商取引プラットフォーム上で非接触カード101を使用する自動支払いに登録することができる。いくつかの実施形態では、オンデマンドアプリケーション161-1は、一致する結果となった比較に応答して、ユーザを自動支払いに登録するクッキー(図示せず)を保存することができる。比較の結果が一致しない場合、プロセスは停止し、非接触カード101を介した自動支払いを使用したチェックアウトに対するユーザの要求は制限される。
【0030】
図1Cは、ユーザによって提供されたOTPが、認証アプリケーション123およびオンデマンドアプリケーション161-1によって生成されたOTPと一致する実施形態を示す。一致の決定、および/または認証アプリケーション123からの一致の表示の受信に応答して、オンデマンドアプリケーション161-1は、非接触カード101を装置110にタップするようにユーザに指示する。ユーザは、非接触カード101を装置110タップしてもよい(あるいは、非接触カード101を装置110のカードリーダ118の通信範囲内に入れてもよい)。一般に、非接触カード101が装置110の通信インターフェース118の通信範囲内に入れられると、オンデマンドアプリケーション161-1は、非接触カード101のアプレット103に暗号文115を生成するように命令する。暗号文115は、 暗号文115は、任意の適切な暗号技術に基づいて生成することができる。いくつかの実施形態では、アプレット103は、データパッケージ内に暗号文および暗号化されていない顧客ID107(および/または任意の他の固有の識別子)を含むことができる。少なくとも1つの実施形態では、暗号文115および暗号化されていない顧客ID107を含むデータパッケージは、NDEFファイルである。
【0031】
前述したように、システム100は、データを保護するために鍵多様化を実装しており、これを本明細書では鍵多様化技術と呼ぶことがある。一般に、サーバ120(または別のコンピュータ装置)および非接触カード101には、同じマスター鍵105(マスター対称鍵とも呼ばれる)が提供され得る。より具体的には、各非接触カード101は、非接触カード101を発行する金融機関に関連するサーバ120内に対応するペアを有する別個のマスター鍵105を用いてプログラムされる。例えば、非接触カード101が製造されるとき、固有のマスターキーが作成される。同様に、固有のマスター鍵105は、サーバ120の口座データ124内の非接触カード101に関連付けられた顧客の記録に保存(および/またはハードウェアセキュリティモジュール(HSM)125など、別の安全な場所に保存)することができる。マスター鍵105は、非接触カード101およびサーバ120以外のすべての関係者に対して秘密に保つことができ、それによってシステム100のセキュリティを強化することができる。いくつかの実施形態では、非接触カード101のアプレット103は、マスター鍵105とデータを暗号化アルゴリズムの入力として使用して、データ(例えば、顧客ID107)を暗号化および/または復号することができる。例えば、顧客ID107をマスター鍵105で暗号化すると、暗号文115が得られる。同様に、サーバ120は、対応するマスター鍵105を使用して、非接触カード101に関連付けられたデータを暗号化および/または復号することができる。
【0032】
他の実施形態では、非接触カード101およびサーバ120のマスター鍵105をカウンタ104と組み合わせて使用して、キーの多様化を使用してセキュリティを強化することができる。カウンタ104は、非接触カード101とサーバ120との間で同期される値を含む。カウンタ値104は、非接触カード101とサーバ120(および/または非接触カード101と装置110)の間でデータが交換されるたびに変化する数値を含み得る)。データを(例えば、サーバ120および/または装置110に)送信する準備をしているとき、非接触カード101のアプレット103は、カウンタ値104をインクリメントすることができる。次に、非接触カード101のアプレット103は、出力として多様化鍵106を生成する暗号化アルゴリズムへの入力として、マスター鍵105およびカウンタ値104を提供することができる。暗号化アルゴリズムは、暗号化アルゴリズム、ハッシュベースのメッセージ認証コード(HMAC)アルゴリズム、暗号ベースのメッセージ認証コード(CMAC)アルゴリズムなどを含み得る。暗号化アルゴリズムの非限定的な例は、3DESまたはAES107などの対称暗号化アルゴリズム、HMAC-SHA-256などの対称HMACアルゴリズム、AES-CMACなどの対称CMACアルゴリズムを含み得る。重要な多様化技術の例は、2018年11月29日に出願された米国特許出願第16/205,119号にさらに詳細に記載されている。前述の特許出願は、その全体が参照により本明細書に引用される。
【0033】
鍵の多様化の例を続けると、非接触カード101は、次に、多様化鍵106およびデータを暗号化アルゴリズムへの入力として使用して、データ(例えば、顧客ID107および/または任意の他のデータ)を暗号化することができる。例えば、顧客ID107を多様化鍵106で暗号化すると、暗号化された顧客ID(例えば、暗号文115)が得られる。前述したように、暗号文115は、NDEFファイルなどのデータパッケージに含めることができる。次に、オンデマンドアプリケーション161-1は、通信インターフェース118を介して、暗号文115を含むデータパッケージを読み取ることができる。
【0034】
使用される暗号技術に関わらず、オンデマンドアプリケーション161-1は、ネットワーク130を介して暗号文115をサーバ120に送信することができる。いくつかの実施形態では、オンデマンドアプリケーション161-1はさらに、販売者識別子を提供する。例えば、販売者識別子、取引識別子、およびURL153で指定された他のデータ要素は、オンデマンドアプリケーション161-1への入力として提供され得る。
【0035】
オンデマンドアプリケーション161-1は、暗号文115が装置110のカードリーダ118を介して非接触カード101から読み取られたことをサーバ120にさらに示すことができる。受信されると、認証アプリケーション123は、暗号文115の認証を試みることができる。例えば、認証アプリケーション123は、サーバ120に保存されるマスター鍵105のコピーを使用して、暗号文115の復号を試みることができる。いくつかの実施形態では、認証アプリケーション123は、データパッケージに含まれる暗号化されていない顧客ID107を使用して、マスター鍵105とカウンタ値104を識別することができる。いくつかの例では、認証アプリケーション123は、マスター鍵105およびカウンタ値104を、出力として多様化鍵106を生成する暗号化アルゴリズムへの入力として提供することができる。結果として得られる多様化鍵106は、非接触カード101の多様化鍵106に対応することができ、暗号文115を復号するために使用することができる。
【0036】
使用される復号技術に関わらず、認証アプリケーション123は、暗号文115の復号に成功し、それによって(例えば、暗号を復号することによって生成された顧客ID107を、口座データ124に保存されている既知の顧客IDと比較することによって、および/または鍵105および/または106を使用した復号が成功した指示に基づいて)暗号文115を検証または認証することができる。鍵105、106はメモリ122に格納されるように示されているが、鍵105、106はセキュアエレメントおよび/またはHSM125などの他の場所に格納されてもよい。そのような実施形態では、セキュアエレメントおよび/または、HSM125は、鍵105および/または106と暗号関数を使用して暗号文を復号することができる。同様に、セキュアエレメントおよび/またはHSM125は、上述したように、マスター鍵105およびカウンタ値104に基づいて多様化鍵106を生成することができる。復号が成功した場合、認証アプリケーション123は、取引のために支払情報を生成および/または送信させることができる。いくつかの実施形態では、認証アプリケーション123は、復号が成功したかまたは失敗したかを示す復号結果(「認証結果」または「検証結果」とも呼ばれる)をウェブブラウザ113および/またはオンデマンドアプリケーション161-1に送信することができる。
【0037】
しかし、認証アプリケーション123が暗号文115を解読して期待される結果(例えば、非接触カード101に関連付けられた口座の顧客ID107)を得ることができない場合、認証アプリケーション123は暗号文を検証しない。このような例では、認証アプリケーション123は、支払情報の生成、または取引のための支払情報の提供を控える(refrain)ことを決定する。認証アプリケーション123は、復号に失敗の表示をウェブブラウザ113および/またはオンデマンドアプリケーション161-1に送信することができる。次に、ウェブページ151-1および/またはオンデマンドアプリケーション161-1は、復号が失敗したこと、それにより自動支払いが失敗したことをユーザに表示することができる。
【0038】
図1Dは、認証アプリケーション123が暗号文115の復号に成功し、それによって暗号文115を検証(または認証)する実施形態を示す。これに応答して、認証アプリケーション123は、認証アプリケーション123が暗号文115の復号に成功したことおよび支払情報117が、要求された購入のために生成および/または送信されたものであることを示す復号結果116を送信する。支払情報117は、非接触カード101の口座番号(例えば、主口座番号(PAN))、有効期限、およびCVVを含むことができる。いくつかの実施形態では、支払情報117は、ユーザの名前、請求先住所、および/または配送先住所をさらに含む。いくつかの実施形態では、口座番号は、使い捨ての仮想口座番号(VAN)である。
【0039】
図示するように、サーバ120は、例えばプッシュ通知、SMSメッセージなどとして、支払情報117を装置110に直接送信することができる。そのような実施形態では、OS112は、情報117の1つ以上の要素をクリップボード(図示せず)にコピーすることができる。クリップボードは、ウェブページ151-1の1つ以上のフォームフィールドに情報117を貼り付けることができる。さらに、および/または代わりに、OS112は、ウェブページ151-1のフォームフィールドに支払情報117を自動的に記入する自動記入サービス(図示せず)に支払情報117を提供することができる。ユーザは、受信した支払情報117を使用して購入を検討し、承認する機会を有することができる。しかしながら、いくつかの実施形態では、購入はさらなるユーザ入力を必要とせずに、ウェブページ151-1で自動的に処理される。いくつかの実施形態では、他の箇所でより詳細に説明するが、サーバ120は、支払情報117をオンデマンドアプリケーション161-1に送信し、オンデマンドアプリケーション161-1を使用して購入が完了する。
【0040】
追加的および/または代替的に、図示するように、サーバ120は、支払情報117を電子商取引サーバ150に送信することができる。そのような実施形態では、サーバ120は、販売者識別子および/または取引識別子を電子商取引サーバ150に送信することができる。それによって、電子商取引サーバ150は、ウェブブラウザ113とのセッションを識別できるようになる。その後、電子商取引サーバ150は、ウェブブラウザ113のウェブページ151-1内の1つ以上のフォームフィールドに支払情報117を自動的に入力することができる。しかしながら、そのようないくつかの実施形態では、支払情報117は装置110に送信されない。代わりに、サーバ120から受信した支払情報117は、支払処理サーバ140との取引を自動的に処理するために使用される。装置110に支払情報が送信されると、ユーザは、ウェブブラウザ113で受信した支払情報117を使用して、購入を検討し、承認する機会を有することができる。しかしながら、いくつかの実施形態では、購入は、さらなるユーザ入力を要求することなく、ウェブページ151-1で自動的に処理される。
【0041】
図1Eは、支払情報117を使用して購入が処理される実施形態を示す。図示するように、ウェブブラウザ113は、支払情報117を(例えば、HTTPリクエストで)電子商取引サーバ150および/または支払いサーバ150に送信することができる。しかしながら、いくつかの実施形態では、ウェブブラウザ113は支払情報を電子商取引サーバ150に送信し、ウェブページ151-1(または電子商取引サーバ150の別のコンポーネント)は支払情報117を支払いプロセッサに提供する。その後、電子商取引サーバ150は、取引データベース152内の取引の取引レコード154を生成することができる。同様に、支払処理サーバ140は、支払処理データ141内に取引レコード142を生成することができる。
【0042】
取引に対する支払いが処理されると、電子商取引サーバ150は、確認170をウェブブラウザ113に送信することができる。確認170は、ウェブページ151の一部とすることができる。確認170は、一般に、取引に対する支払いが受信され、取引が処理されたことを示す。さらに、図示するように、装置110のメモリ111はクッキー171を含む。前述したように、クッキー171は、OTP確認に続いてオンデマンドアプリケーション161-1によって、および/またはOTP確認170に基づいてウェブブラウザ113によって格納され得る。クッキー171は、OTP検証および/または暗号検証を必要とせずに、その後の取引のためにユーザを認証するために使用され得る。クッキー171は一般に、トークンまたは装置110のトークンと識別子の組み合わせなどの何らかの他の識別子を含むことができる。
【0043】
例えば、ユーザが2回目の購入を試みる場合、ユーザは再びURL153を選択してオンデマンドアプリケーション161-1を使用することができる。オンデマンドアプリケーション161-1は、(デバイス上で利用できない場合)ダウンロードして実行することができる。オンデマンドアプリケーション161-1は、デバイス上に保存されたクッキー171を識別することができる。これに応じて、オンデマンドアプリケーション161-1は、OTPの生成および/または検証を中止することを決定する。オンデマンドアプリケーション オンデマンドアプリケーション161-1は、クッキー171に基づいて第1金融機関を識別し、第1金融機関に関連付けられたサーバ120に、第2VAN、第2VANの有効期限、および第2VANのCVVを生成するように指示することができる。有利なことに、クッキーの識別に基づいて、ユーザは、サーバによる別の暗号文の解読を容易にするためにカードをデバイスにタップする必要がない。次に、第2VAN、有効期限、およびCVVを使用して、本明細書で説明するように2回目の購入を完了することができる。
【0044】
有利なことに、購入は、非接触カード101に関連するエンティティによって提供される専用のクライアントアプリケーション(例えば、非接触カード101に関連付けられた金融機関によって提供されるアプリケーション114)を装置110が実行することを要求することなく、ウェブブラウザ113およびウェブページ151を使用して安全に処理される。さらに、各ウェブページ151は、異なるカードからデータを読み取る機能、および/または異なるサーバ120と通信する機能を含む必要はない。さらに、カード101のセキュリティおよび/または関連する口座は、購入の条件としてカード101によって生成された暗号文を使用することによって強化される。
【0045】
図2Aは、開示された実施形態と一致する、例示的なコンピュータ装置110を示す概略図200である。より具体的には、図2Aは、ウェブブラウザ113がチェックアウトウェブページ151-2を表示する実施形態を示す。図示するように、ウェブページ151-2は、非接触カード101を使用して支払いを開始する選択可能要素201を含む。選択可能要素201は、オンデマンドアプリケーション161のうちの1つに向けられたURL153などのURLに対応し得る。URLは、販売者識別子、取引(またはカート)識別子、およびその他の関連パラメータを含むことができる。選択されると、装置110は、URLでオンデマンドアプリケーション161をダウンロードすることができる。
【0046】
図2Bは、オンデマンドアプリケーション161-2が装置110上でダウンロードされ実行される実施形態を示す概略図210である。図示するように、オンデマンドアプリケーション161-2は、非接触カード101を用いて支払を開始(initiate)するウェルカムページおよびURL202を提供する。図2A~2Eは、ユーザが以前にOTP検証プロセスを完了しており、OTP検証に基づいてクッキー171がデバイスに保存されている実施形態を反映している。したがって、オンデマンドアプリケーション161-2は、装置110上のクッキー171を識別および検証し、OTPフローを開始するユーザの電子メールの要求を省略(forego)することを決定することができる。
【0047】
図2Cは、ユーザがURL202を選択する実施形態を反映する概略図220である。図示するように、オンデマンドアプリケーション161-2は、支払いを処理するために非接触カード101をコンピュータ装置110にタップするようにユーザに指示する。カード101がカードリーダ118の通信範囲内に入ると、オンデマンドアプリケーション161-2は、カードリーダ118を制御して、非接触カード101のアプレット103に上述のように多様化鍵106を生成し、暗号文(例えば、暗号化された顧客ID107)を生成するため生成された多様化鍵106を使用するように指示する。アプレット103はさらに、暗号文および非暗号化識別子、例えば非暗号化顧客ID107、販売者ID、取引IDなどを含むNDEFファイルまたは他のデータパッケージを生成することができる。このような実施形態では、オンデマンドアプリケーション161-2は、販売者IDおよび/または取引IDをアプレット103に提供することができる。
【0048】
次に、オンデマンドアプリケーション161-2は、例えばNFCを介してデータパッケージまたはNDEFファイルを読み取ることができる。読み取られると、オンデマンドアプリケーション161-2は、処理のためにデータパッケージをサーバ120に送信することができる。オンデマンドアプリケーション161-2は、クッキー171に基づいてサーバ120を選択することができる。オンデマンドアプリケーション161-2は、例えば、データパッケージをフォーマットし、販売者IDを追加し、取引を追加するため、データパッケージを任意に処理することができる。オンデマンドアプリケーション161-2はさらに、暗号文が装置110のカードリーダ118を介して非接触カード101から読み取られたことをサーバ120に示してもよい。
【0049】
受信すると、認証アプリケーション123は、データパッケージ内の暗号文の検証を試みることができる。少なくとも1つの実施形態では、アプレット103によって提供される暗号化されていない顧客ID107は、口座データ124内の関連する口座、カウンタ値104、および/またはマスター鍵105を識別するために認証アプリケーション123によって使用され得る。認証アプリケーション123は、マスター鍵105および増分カウンタ値104を、出力として多様化鍵106を生成する暗号化アルゴリズムへの入力として提供することによって暗号文の復号を試みる。結果として得られる多様化鍵106は、暗号文を作成するために非接触カード101によって生成された多様化鍵106のインスタンスに対応することができ、暗号文を復号するために使用することができる。一般に、認証アプリケーション123は、復号が成功したか失敗したかを示す復号結果をウェブブラウザ113および/またはオンデマンドアプリケーション161-2に送信することができる。復号が成功した場合、認証アプリケーション123は、仮想口座番号(VAN)、VANの有効期限、およびVANのCVVを生成することができる。次に、認証アプリケーション123は、生成されたデータを装置110および/またはその任意の適切なコンポーネントに送信することができる。
【0050】
図2Dは、非接触カード101によって生成され、オンデマンドアプリケーション161-2によって読み取られた暗号文をサーバ120が復号する実施形態を示す概略図230である。図示するように、オンデマンドアプリケーション161-2は、暗号文の復号に応答してサーバ120から受信した復号結果に基づいて承認ページを出力することができる。次に、オンデマンドアプリケーション161-2は、取引の支払情報を共有するか、そうでなければ使用することについてユーザの承認を要求する選択可能要素205を含むことができる。選択されると、オンデマンドアプリケーション161-2は、サーバ120から受信した支払情報を使用して購入を処理することができる。例えば、オンデマンドアプリケーション161-2は、販売者識別子、取引識別子、口座所有者名、VCN、有効期限、CVV、請求先住所、および/または配送先住所を、処理のため電子商取引サーバ150および/または支払処理サーバ140へ送信することができる。しかしながら、いくつかの実施形態では、サーバ120は、本明細書でより詳細に説明するように、選択可能要素205の選択に応じて、サーバ120によって生成された支払情報をウェブブラウザ113に提供する。そうすることにより、ウェブブラウザ113は支払情報を処理のために電子商取引サーバ150および/または支払処理サーバ140に送信し得る。
【0051】
図2Eは、ウェブブラウザ113がウェブページ151-2に確認を出力する実施形態を示す概略図240である。確認ページは、電子商取引サーバ150から受信した確認170に基づいて表示され得る。確認は、一般に、処理された取引に関する詳細を含み得る。
【0052】
開示された実施形態の動作は、以下の図を参照してさらに説明される。図の一部には論理フローが含まれ得る。本明細書に提示されるこのような図には特定の論理フローが含まれ得るが、論理フローは、本明細書に記載されるような一般的な機能がどのように実装され得るかの例を提供するだけであることが理解されるであろう。さらに、指定された論理フローは、特に指定がない限り、必ずしも提示された順序で実行する必要はない。さらに、いくつかの実施形態では、論理フローに示されるすべての動作が必要ではない。さらに、所定の論理フローは、ハードウェア要素、プロセッサによって実行されるソフトウェア要素、またはそれらの任意の組み合わせによって実装することができる。実施形態はこれに限定されるものではない。
【0053】
図3A~3Bは、論理フロー300の一実施形態を示す。論理フロー300は、本明細書に記載される1つ以上の実施形態によって実行される動作の一部またはすべてを表すことができる。例えば、論理フロー300は、オンデマンドアプリケーション161を使用してウェブブラウザ113で開始された取引を拡張する操作の一部またはすべてを含むことができる。実施形態はこの文脈に限定されない。
【0054】
ブロック305で、装置110のブラウザ113でレンダリングされるウェブページ151は、オンデマンドアプリケーション161に向けられるURL153などのURLを含むことができる。ユーザは、URL153を選択して、 URL153は、販売者識別子、取引識別子などの取引の1つ以上の属性を記述するパラメータをさらに含むことができる。ブロック310で、URLを選択すると、装置110は、オンデマンドアプリケーション161をダウンロードして実行する。ブロック315で、オンデマンドアプリケーション161は、装置110をスキャンして、デバイス上に1つ以上の金融機関に登録されているアプリケーション114を識別することができる。オンデマンドアプリケーション161は、例えば、各アプリケーション114の1つ以上の属性、および/または属性に基づいてオンデマンドアプリケーション161によって各アプリケーションについて計算されたスコアに基づいて、識別されたアプリケーション114のうちの1つを選択することができる。属性は、限定されないが、アプリケーション114の最近の使用、最も頻繁に使用されたアプリケーション114、所定の期間内にアプリケーション114が使用された回数、金融機関の規模、金融機関の顧客数などを含むことができる。選択されたアプリケーション114は、少なくとも1つの金融機関サーバ120に関連付けることができる。アプリケーション114が識別されない場合、オンデマンドアプリケーション161は、オンデマンドアプリケーション161によって保存される金融機関サーバのリストに基づいて1つ以上の金融機関サーバ120を選択することができる。
【0055】
ブロック320で、オンデマンドアプリケーション161は、ユーザから電子メールアドレスを要求し、電子メールアドレスを含む入力を受け取る。オンデマンドアプリケーション161は、ブロック315で特定された金融機関サーバ120に電子メールアドレスを送信することができる。ブロック330で、選択された金融機関サーバ120の認証アプリケーション123は、オンデマンドアプリケーション161から電子メールアドレスを受信する。認証アプリケーション123は、電子メールアドレスを使用して口座データ124に問い合わせて、電子メールアドレスに関連付けられた口座の電話番号を受信することができる。次に、認証アプリケーション123は、OTPを生成し、例えばSMSメッセージを介して、そのOTPを電話番号に送信することができる。
【0056】
ブロック335で、ユーザは、受信したOTPをオンデマンドアプリケーション161への入力として提供する。オンデマンドアプリケーション161は、ユーザによって入力されたOTPを検証することができる。例えば、オンデマンドアプリケーション161は、認証アプリケーション123によって生成されたOTPを受信し、受信したOTPをユーザによって提供された入力と比較することができる。このような例では、オンデマンドアプリケーション161は、比較の結果を認証アプリケーション123に送信することができる。別の例として、オンデマンドアプリケーション161は、ユーザから受け取った入力を認証アプリケーション123に送信することができる。認証アプリケーション123は、受信した入力を生成されたOTPと比較し、比較結果をオンデマンドアプリケーション161に送信することができる。比較を実行するエンティティに関わらず、比較の結果が一致した場合、電子メールアドレスが検証され、その口座が検証され得、口座データ124内のユーザの口座は、ウェブブラウザ113およびオンデマンドアプリケーション161を使用した購入の登録を反映するように更新され得る。
【0057】
ブロック340で、オンデマンドアプリケーション161は、ユーザに、非接触カード101を装置110にタップするように指示する。ユーザがカード101を装置110にタップすると、オンデマンドアプリケーション161は、アプレット103に暗号文を生成するように命令する。いくつかの実施形態では、オンデマンドアプリケーション161は、販売者IDおよび/または取引IDをアプレット103に提供し、アプレット103は、暗号文を含むデータパッケージ(例えば、NDEFファイル)に販売者IDおよび/または取引IDを含めることができる。次に、オンデマンドアプリケーション161は、NDEFファイルに含まれる暗号文を読み取ることができる。ブロック345で、オンデマンドアプリケーション161は、非接触カード101に関連付けられた金融機関サーバ120に暗号文を送信する。ブロック350で、オンデマンドアプリケーション161は、認証アプリケーション123が暗号文を復号したことを示す復号結果を受信し、それにより、暗号文を認証および/または検証する。復号に基づいて、認証アプリケーション123は、非接触カード101に関連付けられた口座のVCN、有効期限、およびCVVを生成することができる。
【0058】
ブロック355で、ウェブブラウザ113は、ブロック335でのOTPの検証およびブロック350での暗号文の復号に基づいて、認証アプリケーション123によって生成された支払情報117を受信することができる。例えば、認証アプリケーション123は、ウェブページ151をホストする電子商取引サーバ150に支払情報117を提供し、電子商取引サーバ150のウェブサーバはウェブブラウザ113に支払情報117を提供することができる。ブロック360で、ユーザはオプションで、支払情報117を用いて、購入を承認することができる。しかしながら、いくつかの実施形態では、ユーザの承認は必要なく、購入は、受信した支払情報117を使用して自動的に完了する。
【0059】
図3Bに進むと、ブロック365で、ウェブブラウザ113は、取引を処理するために、少なくとも支払情報117を電子商取引サーバ150および/または支払処理サーバ140に送信することができる。ブロック370で、電子商取引サーバ150および/または支払処理サーバ140は、サーバによって生成された支払情報117を使用して取引を処理する。ブロック375で、取引が完了し、確認がウェブブラウザ113に送信される。ブロック380で、オンデマンドアプリケーション161および/またはウェブブラウザ113は、装置110上にクッキー171を保存する。クッキー171は、 トークンまたは他の情報を使用して、オンデマンドアプリケーション161がユーザがOTP登録を完了したことを判断できるようにする。トークンはさらに、カード101に関連付けられた金融機関および/または金融機関サーバ120を識別するために使用されてもよい。前述のように、いくつかの実施形態では、ブロック335でのOTPの検証に続いてクッキー171が格納されてもよい。
【0060】
図4は、論理フロー400の一実施形態を示す。論理フロー400は、本明細書に記載される1つ以上の実施形態によって実行される動作の一部またはすべてを表すことができる。例えば、論理フロー400は、オンデマンドアプリケーション161を使用してウェブブラウザ113で開始された取引を拡張する操作の一部またはすべてを含むことができる。実施形態はこの文脈に限定されない。
【0061】
ブロック405で、装置110のブラウザ113でレンダリングされるウェブページ151は、オンデマンドアプリケーション161に向けられるURL153などのURLを含むことができる。ユーザは、URL153を選択して、リンクされたオンデマンドアプリケーション161を利用して購入を完了することができる。URL153は、販売者識別子、取引識別子などの取引の1つ以上の属性を記述するパラメータをさらに含むことができる。ブロック410で、URLを選択すると、装置110は、オンデマンドアプリケーション161をダウンロードして実行する。ブロック415で、オンデマンドアプリケーション161は、装置110のメモリに格納されるクッキー171を識別する。これにより、オンデマンドアプリケーション161はOTP検証フローを省略する。ブロック420で、オンデマンドアプリケーション161は、カード101に関連付けられた金融機関および/または金融機関サーバ120を識別する。
【0062】
ブロック425で、オンデマンドアプリケーション161は、ブロック420で特定された金融機関サーバ120に支払情報を要求する。その後、サーバ120は、VCN、有効期限、及びCVVを含む支払情報117を生成することができる。いくつかの実施形態では、支払情報117の生成は、非接触カード101が別の暗号文を生成し、サーバ120がその暗号文を検証することを条件とする。ブロック430で、ウェブブラウザ113および/または電子商取引サーバ150は、ブロック425で生成された支払情報117を受信する。ブロック435で、ウェブブラウザ113は、取引を処理するため支払情報117を電子商取引サーバ150および/または支払処理サーバに送信する。ブロック440で、電子商取引サーバ150および/または支払処理サーバ140は取引を処理する。そうすることは、取引に関する1つ以上の取引記録を保存することと、購入に関する確認をウェブブラウザ113に送信することを含んでもよい。
【0063】
図5Aは、非接触カード101の構成例を示す概略図500であり、非接触カード101には、表面にサービスプロバイダーの表示502として表示されるように、サービスプロバイダーによって発行されたクレジットカード、デビットカード、またはギフトカードなどの支払いカードが含まれ得る。いくつかの例では、非接触カード101は支払いカードに関連しておらず、限定するものではないが、身分証明書を含むことができる。いくつかの例では、非接触カードは、デュアルインターフェース非接触支払いカード、ポイントカードなどを含み得る。非接触カード101は基板510を含むことができ、基板510はプラスチック、金属、および他の材料からなる単層または1つ以上の積層層を含むことができる。例示的な基板材料には、ポリ塩化ビニル、酢酸ポリ塩化ビニル、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、カーボン、紙、および生分解性材料が含まれる。いくつかの例では、非接触カード101は、ISO/IEC 7810規格のID-1フォーマットに準拠する物理的特性を有してもよく、また、非接触カードは、ISO/IEC 14443規格に準拠してもよい。しかしながら、本開示による非接触カード101は異なる特性を有することができ、本開示は非接触カードが支払いカードに実装されることを必要としないことが理解されるであろう。
【0064】
非接触カード101は、カードの前面および/または背面に表示される識別情報515と、接触パッド520とを含むこともできる。接触パッド520は、1つ以上のパッドを含み、非接触カードを介して、ATM、ユーザデバイス、スマートフォン、ラップトップ、デスクトップ、またはタブレットコンピュータなどの他のクライアントとの接続を確立する。接触パッドは、ISO/IEC 7816規格などの1つ以上の規格に従って設計され、EMVプロトコルに従った通信を可能にすることができる。非接触カード101はまた、図5Bでさらに説明するように、処理回路、アンテナ、および他の構成要素を含むこともできる。これらの構成要素は、接触パッド520の背面、または基板510上の他の場所、例えば、基板510の異なる層に配置することができ、接触パッド520と電気的かつ物理的に結合されてもよい。非接触カード101はまた、カードの裏面に配置され得る磁気ストリップまたは磁気テープを含んでもよい(図5Aに図示せず)。非接触カード101は、NFCプロトコルを介して通信可能なアンテナに結合された近距離無線通信(NFC)デバイスを含むこともできる。実施形態はこのように限定されない。
【0065】
図示するように、非接触カード101の接触パッド520は、プロセッサ530、メモリ102、および1つ以上の通信インターフェース109を含む、情報を記憶、処理、および通信する処理回路525を含むことができる。処理回路525は、本明細書で説明される機能を実行するために必要に応じて、プロセッサ、メモリ、エラーおよびパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、および改ざん防止ハードウェアを含む追加のコンポーネントを含み得ることが理解されるであろう。
【0066】
メモリ102は、読み出し専用メモリ、追記型読み出し複数メモリ、または読み出し/書き込みメモリ、例えば、RAM、ROM、およびEEPROMであってもよく、非接触カード101は、これらのメモリのうちの1つ以上を含んでもよい。読み取り専用メモリは、工場出荷時に読み取り専用としてプログラム可能であるか、または1回だけプログラム可能であり得る。ワンタイムプログラマビリティにより、一度書き込んで何度も読み取ることができる。ライトワンス/リードマルチプルメモリは、メモリチップが工場出荷後のある時点でプログラムされ得る。メモリは一度プログラムされると書き換えることはできないが、何度でも読み取ることができる。読み取り/書き込みメモリは、工場出荷後に何度もプログラムされ、再プログラムされ得る。読み取り/書き込みメモリは、工場出荷後に何度も読み取られる場合もある。いくつかの例では、メモリ102は、データを暗号化するためにプロセッサ530によって実行される暗号化アルゴリズムを利用する暗号化メモリであってもよい。
【0067】
メモリ102は、1つ以上のアプレット103、1つ以上のカウンタ104、マスター鍵105、多様化鍵106、および顧客ID107を記憶するように構成され得る。1つ以上のアプレット103は、1つ以上のアプレット103を含み得る。Java(登録商標)カードアプレットなど、1つ以上の非接触カード上で実行する任意のソフトウェアアプリケーションであり得る。しかしながら、アプレット103はJavaカードアプレットに限定されず、非接触カードまたは限られたメモリを有する他のデバイス上で動作可能な任意のソフトウェアアプリケーションであってもよいことが理解されるであろう。1つ以上のカウンタ104は、整数を格納するのに十分な数値カウンタを備え得る。顧客ID107は、非接触カード101のユーザに割り当てられた一意の英数字の識別子を含むことができ、この識別子は、非接触カードのユーザを他の非接触カードユーザから区別することができる。いくつかの例では、顧客ID107は、顧客とその顧客に割り当てられた口座の両方を識別することができ、さらに、顧客の口座に関連付けられた非接触カード101を識別することもできる。
【0068】
上述した例示的な実施形態のプロセッサ530およびメモリ要素は、接触パッド520を参照して説明されてきたが、本発明はこれに限定されない。これらの要素は、接触パッド520の外側に実装されてもよいし、接触パッド520から完全に分離して実装されてもよいし、あるいは、接触パッド520内に位置するプロセッサ530およびメモリ102要素に加えてさらなる要素として実装されてもよいことが理解されるであろう。
【0069】
いくつかの例では、非接触カード101は、1つ以上のアンテナ555を備え得る。1つ以上のアンテナ555は、非接触カード101内および接触パッド520の処理回路525の周囲に配置され得る。例えば、1つ以上のアンテナ555は、処理回路525と一体であってもよく、1つ以上のアンテナ555は、外部ブースタコイルとともに使用されてもよい。別の例として、1つ以上のアンテナ555は、接触パッド520および処理回路525の外部にあってもよい。
【0070】
一実施形態では、非接触カード101のコイルは、空芯変圧器の二次側として機能することができる。端末は、電力または振幅変調を遮断することによって非接触カード101と通信することができる。非接触カード101は、非接触カード101の電力接続のギャップを使用して端末から送信されたデータを推測することができ、これは1つ以上のコンデンサによって機能的に維持され得る。非接触カード101は、コイル上の負荷または負荷変調を切り替えることによって通信を返すことができる。干渉により端末のコイルで負荷変調が検出される場合がある。より一般的には、アンテナ555、プロセッサ530、および/またはメモリ102を使用して、非接触カード101は、NFC、Bluetooth、および/またはWi-Fi通信を介して通信する通信インターフェースを提供する。
【0071】
上述説明したように、非接触カード101は、JavaCardなどの、スマートカードまたは限られたメモリを有する他のデバイス上で動作可能なソフトウェアプラットフォーム上に構築することができ、1つ以上のアプリケーションまたはアプレットを安全に実行することができる。アプレット103を非接触カードに追加して、さまざまなモバイルアプリケーションベースの使用例において多要素認証(MFA)用のワンタイムパスワード(OTP)を提供することができる。アプレット103は、モバイルNFCリーダ(例えば、モバイル装置または販売時点管理端末の)などのリーダからの、近距離無線データ交換要求などの1つ以上の要求に応答し、NDEFテキストタグとしてエンコードされた暗号的に安全なOTPを含むNDEFメッセージを生成し得る。
【0072】
NDEF OTPの一例は、NDEFショートレコードレイアウト(SR=1)である。このような例では、1つ以上のアプレット103は、OTPをNDEFタイプ4の周知のタイプのテキストタグとして符号化し得る。いくつかの例では、NDEFメッセージは、暗号文および暗号化されていない顧客ID107(またはカード101および/または関連する口座の他の暗号化されていない固有の識別子)などの1つ以上のレコードを含んでもよい。アプレット103は、OTPレコードに加えて1つ以上の静的タグレコードを追加し得る。
【0073】
いくつかの例では、1つ以上のアプレット103は、RFIDタグをエミュレートし得る。RFIDタグは、1つ以上の多形性タグを含むことができる。いくつかの例では、タグが読み取られるたびに、非接触カード101の信頼性を示し得る異なる暗号データが提示される。1つ以上のアプレット103に基づいて、タグのNFC読み取りが処理され得、データは銀行システムのサーバ120などのサーバに送信され得、データサーバで検証され得る。
【0074】
いくつかの例では、非接触カード101およびサーバ120は、カードを適切に識別できるように特定のデータを含むことができる。非接触カード101は、1つ以上の固有の識別子(図示せず)を含むことができる。読み取り動作が行われるたびに、カウンタ104はインクリメントし得る。いくつかの例では、非接触カード101からのデータが(例えばコンピュータ装置110によって)読み取られるたびに、カウンタ104が検証のためにサーバに送信され、カウンタ104が(検証の一部として)サーバのカウンタ104の値と等しいか否かが判定される。
【0075】
1つ以上のカウンタ104は、リプレイ攻撃を防止し得る。例えば、暗号文が取得されて再生された場合、カウンタ104が読み取られ、使用され、あるいは渡された場合、その暗号文は直ちに拒否される。カウンタ104が使用されていない場合には、それを再実行してもよい。いくつかの例では、カード上でインクリメントされるカウンタは、取引用にインクリメントされるカウンタとは異なる。非接触カード101上のアプレット103間に通信がないため、非接触カード101はアプリケーション取引カウンタ104を決定することができない。いくつかの例では、非接触カード101は、取引アプレットであり得る第1アプレット103-1、および本明細書で開示するように通話を認証する認証アプレットであり得る第2アプレット103-2を備え得る。各アプレット103-1および103-2は、それぞれのカウンタ104を備えることができる。
【0076】
いくつかの例では、カウンタ104が同期から外れることがある。いくつかの例では、斜めからの読み取りなど、取引を開始する偶発的な読み取りを考慮して、カウンタ104がインクリメントされてもよいが、アプリケーションはカウンタ104を処理しない。いくつかの例では、装置110が起動(wake up)されると、NFCが実行され得る。有効であり、装置110は利用可能なタグを読み取るように構成され得るが、読み取りに応答してアクションは取られない。
【0077】
カウンタ104の同期を維持するために、装置110がいつ起動するかを検出し、カウンタ104を進めるための検出により読み取りが発生したことを示す銀行システムのサーバ(例えば、サーバ120)と同期するようにバックグラウンドアプリケーションなどのアプリケーションが実行され得る。他の例では、ハッシュ化されたワンタイムパスワードを利用して、誤同期のウィンドウを受け入れることができる。例えば、閾値10以内であれば、カウンタ104は進めてもよい。ただし、異なるしきい値の範囲内、たとえば10または1000以内の場合、ユーザがタップ、ジェスチャー、またはユーザのデバイスを介して1回以上指示する、1つ以上のアプリケーションを介して再同期を実行するリクエストが処理される場合がある。カウンタ104が適切な順序で増加する場合、ユーザが増加したことを知ることができる。
【0078】
カウンタ104、マスター鍵、および多様化鍵を参照して本明細書で説明される鍵多様化技術は、鍵多様化技術の暗号化および/または復号の一例である。本開示は他のタイプの鍵多様化技術にも同様に適用可能であるため、この例の鍵多様化技術は本開示を限定するものとみなされるべきではないことは明らかであろう。
【0079】
非接触カード101の作成プロセス中に、カードごとに2つの暗号化鍵を一意に割り当てることができる。暗号化鍵は、データの暗号化と復号の両方に使用できる対称キーを含むことができる。トリプルDES(3DES)アルゴリズムは、EMVによって使用され得、非接触カード101内のハードウェアによって実装される。鍵多様化プロセスを使用することによって、鍵を必要とするエンティティごとに一意に識別可能な情報に基づいて、マスター鍵1つ以上の鍵を導出することができる。
【0080】
いくつかの例では、脆弱性の影響を受けやすい5DESアルゴリズムの欠陥を克服するために、セッション鍵を導出することができるが(セッションごとに一意の鍵など)、マスター鍵を使用するのではなく、一意のカード導出鍵を使用することがで、カウンタは多様化データとして使用できる。例えば、非接触カード101が動作中に使用されるたびに、メッセージ認証コード(MAC)の作成および暗号化の実行に異なるキーが使用され得る。これにより、暗号化が3層になる。セッション鍵は、1つ以上のアプレットによって生成され、1つ以上のアルゴリズム(EMV 3.3 Book 2 A1.3.1 Common Session Key Derivationで定義される)を備えたアプリケーション取引カウンタを使用して導出できる。
【0081】
さらに、各カードの増分は一意であり、個人化によって割り当てられるか、または何らかの識別情報によってアルゴリズム的に割り当てられる。たとえば、奇数番号のカードは2ずつインクリメントし、偶数番号のカードは5ずつインクリメントしてもよい。一部の例では、1枚のカードが1、3、5、2、2、…の繰り返しで順番にインクリメントされるように、シーケンシャル読み取りでも増分が変化してもよい。特定のシーケンスまたはアルゴリズム シーケンスは、パーソナライゼーション時に定義しても、一意の識別子から導出される1つ以上のプロセスから定義してもよい。これにより、リプレイ攻撃者が少数のカード インスタンスから一般化することが困難にすることができる。
【0082】
認証メッセージは、16進ASCIIフォーマットのテキストNDEFレコードのコンテンツとして配信され得る。別の例では、NDEFレコードは16 進形式でエンコードされてもよい。
【0083】
図6は、例示的な実施形態によるNDEFショートレコードレイアウト(SR=1)データ構造600を示す。1つ以上のアプレットは、OTPをNDEFタイプ4のよく知られたタイプのテキストタグとしてエンコードしてもよい。いくつかの例では、NDEFメッセージは1つ以上のレコードを含むことができる。アプレットは、OTPレコードに加えて1つ以上の静的タグレコードを追加するように構成できる。限定されないが、タグの例を示す。タグの種類:よく知られたタイプ、テキスト、エンコーディング英語(en);アプレットID:D2760000850104;性能: 読み取り専用アクセス;エンコーディング:認証メッセージはASCII 16進数としてエンコードされ得る;type-length-value(TLV)データは、NDEFメッセージの生成に使用できる個人化パラメータとして提供され得る。一実施形態では、認証テンプレートは、実際の動的認証データを提供する周知のインデックスを有する最初のレコードを含むことができる。様々な実施形態において、データ構造600のペイロードは、暗号文(例えば、暗号化された顧客ID107)および、非暗号化顧客ID107、および/またはカード101および/またはカード101に関連付けられた口座を一意に識別する何らかの他の非暗号化値などの任意の他の関連データを格納することができる。
【0084】
図7は、前述したような様々な実施形態を実装するのに適したコンピュータシステム702を備える例示的なコンピュータアーキテクチャ700の実施形態を示す。一実施形態では、コンピュータアーキテクチャ700は、コンピュータシステム100を含むか、またはその一部として実装され得る。いくつかの実施形態では、コンピュータシステム702は、例えば、非接触カード101、コンピュータ装置110、およびシステム101のサーバ120、140、150および160であり得る。実施形態は、これに限定されない。より一般的には、コンピュータアーキテクチャ700は、図1A図6を参照して本明細書で説明されるすべてのロジック、アプリケーション、システム、方法、装置、および機能を実装するように構成される。
【0085】
本出願で使用される「システム」および「コンポーネント」という用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータ関連エンティティを指すことを意図しており、その例は例示的なコンピュータアーキテクチャ700によって提供される。例えば、コンポーネントは、プロセッサ上で実行されるプロセス、プロセッサ、ハードディスクドライブ、(光および/または磁気記憶媒体の)複数の記憶装置ドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、および/またはコンピュータであり得るが、これらに限定されない。例として、サーバ上で実行されるアプリケーションとサーバの両方をコンポーネントにすることができる。1つ以上のコンポーネントは、実行のプロセスおよび/またはスレッド内に常駐することができ、コンポーネントは1台のコンピュータ上にローカライズされたり、2台以上のコンピュータ間で分散されたりすることができる。さらに、コンポーネントは、動作を調整するために、さまざまなタイプの通信媒体によって互いに通信可能に結合され得る。調整には、一方向または双方向の情報交換が含まれる場合がある。例えば、コンポーネントは、通信媒体を介して通信される信号の形で情報を通信することができる。情報は、さまざまな信号線に割り当てられた信号として実装できる。このような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施形態では、代わりにデータメッセージでもよい。このようなデータメッセージは、さまざまな接続を介して送信される可能性がある。例示的な接続には、パラレルインターフェース、シリアルインターフェース、およびバスインターフェースが含まれる。
【0086】
コンピュータアーキテクチャ700は、1つ以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力(I/O)コンポーネント、電源などの様々な一般的なコンピュータ要素を含む。しかしながら、実施形態は、コンピュータアーキテクチャ700による実装に限定されない。
【0087】
図7に示すように、コンピュータアーキテクチャ700は、プロセッサ704、システムメモリ706、およびシステムバス708を含む。プロセッサ704は、様々な市販のプロセッサのいずれであってもよい。
【0088】
システムバス708は、プロセッサ704へのシステムメモリ706を含むがこれに限定されないシステムコンポーネントインターフェースを提供する。システムバス708は、様々な市販のバスアーキテクチャのいずれかを使用して、メモリバス(メモリコントローラの有無にかかわらず)、周辺バス、およびローカルバスにさらに相互接続することができるいくつかのタイプのバス構造のいずれであってもよい。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス708に接続することができる。スロットアーキテクチャの例は、高速グラフィックポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、NuBus、ペリフェラルコンポーネントインターコネクト(拡張)(PCI(X))、PCI Express、パーソナルコンピュータメモリカード国際協会(PCMCIA)などを含むが、これらに限定されない。)。
【0089】
コンピュータアーキテクチャ700は、さまざまな製品を含むか、または実装することができる。製品は、ロジックを保存するコンピュータ可読記憶媒体を含み得る。コンピュータ可読記憶媒体の例は、揮発性メモリまたは不揮発性メモリ、取り外し可能または取り外し不可能なメモリ、消去可能または消去不可能なメモリ、書き込み可能または再書き込み可能メモリ、を含む電子データを格納可能な有体のメディアを含み得る。ロジックの例には、ソースコード、コンパイルされたコード、解釈されたコード、実行可能コード、静的コード、動的コード、オブジェクト指向コード、ビジュアルコードなどの任意の適切なタイプのコードを使用して実装される実行可能なコンピュータプログラム命令が含まれ得る。実施形態はまた、非一時的なコンピュータ可読媒体内または上に含まれる命令として少なくとも部分的に実装されてもよく、この命令は、本明細書に記載される動作の実行を可能にするために、1つ以上のプロセッサによって読み取られて実行され得る。
【0090】
システムメモリ706は、読み取り専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ、強誘電体ポリマーメモリなどのポリマーメモリ、相変化型不揮発性記憶装置(Ovonic-memory)、相変化メモリまたは強誘電体メモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気または光カード、Redundant Array OF Independent Disks(RAID)ドライブなどのデバイスのアレイなどのメモリ、ソリッドステートメモリデバイス(例えば、USBメモリ、ソリッドステートドライブ(SSD)、および情報を記憶するのに適した他の任意のタイプの記憶媒体を含み得る。図7に示される例示的な実施形態では、システムメモリ706は、不揮発性メモリ710および不揮発性メモリ710を含むことができる。/または揮発性メモリ712。基本入出力システム(BIOS)は、不揮発性メモリ710に格納することができる。
【0091】
コンピュータ702は、内部(または外部)ハードディスクドライブ730、リムーバブル磁気ディスク720に対して読み書きする磁気ディスクドライブ716、およびリムーバブル光ディスク732(例えば、CD-ROMまたはDVD)に読み書きする光ディスクドライブ728を含む、1つ以上の低速メモリユニットの形態の様々なタイプのコンピュータ可読記憶媒体を含み得る。ハードディスクドライブ730、磁気ディスクドライブ716、および光ディスクドライブ728は、それぞれHDDインターフェース714、FDDインターフェース718および光ディスクドライブインターフェース734によってシステムバス708に接続することができる。外部ドライブ実装用のHDDインターフェース714は、ユニバーサルシリアルバス(USB)およびIEEE1394インターフェース技術の少なくとも一方または両方を含むことができる。
【0092】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令などの揮発性および/または不揮発性ストレージを提供する。例えば、オペレーティングシステム722、1つ以上のアプリケーション742、他のプログラムモジュール724、およびプログラムデータ726を含む、多数のプログラムモジュールをドライブおよび不揮発性メモリ710、および揮発性メモリ712に格納することができる。実施形態では、1つ以上のアプリケーション742、他のプログラムモジュール724、およびプログラムデータ726は、例えば、アプレット103、カウンタ104、マスター鍵105、多様化鍵106、顧客ID107、URL108、ウェブブラウザ113、金融機関サーバ120、認証アプリケーション123、口座データ124、支払処理サーバ140、支払処理データ141、電子商取引サーバ150、ウェブページ151、取引データベース152、アプリケーションサーバ160、およびオンデマンドアプリケーション161など、システム100の様々なアプリケーションおよび/またはコンポーネントを含むことができる。
【0093】
ユーザは、1つ以上の有線/無線入力装置、例えばキーボード750およびマウス752などのポインティングデバイスを介して、コンピュータ702にコマンドおよび情報を入力することができる。他の入力装置は、マイクロフォン、インフラストラクチャが含まれ得る。赤(IR)リモコン、無線周波数(RF)リモコン、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、手袋、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、静電容量式、抵抗膜など)、トラックボール、トラックパッド、センサー、スタイラスなどを含み得る。これらおよび他の入力装置は、システムバス708に結合された入力装置インターフェース736を介してプロセッサ704に接続されることが多いが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどの他のインターフェースによって接続することもできる。
【0094】
モニタ744または他のタイプの表示装置も、ビデオアダプタ746などのインターフェースを介してシステムバス708に接続される。モニタ744は、コンピュータ702の内部にあっても外部にあってもよい。コンピュータには通常、スピーカーやプリンタなどの他の周辺出力デバイスが含まれている。
【0095】
コンピュータ702は、リモートコンピュータ748などの1つ以上のリモートコンピュータへの有線および/または無線通信を介した論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ748はワークステーションであり得る。サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテイメント機器、ピアデバイス、または他の一般的なネットワークノードであり、通常、コンピュータ702に関して説明した多くまたはすべての要素を含むが、簡潔にするために、メモリおよび/または記憶装置758のみが示されている。図示された論理接続には、ローカルエリアネットワーク756および/またはより大きなネットワーク、例えばワイドエリアネットワーク754への有線/無線接続が含まれる。このようなLANおよびWANネットワーキング環境は、オフィスおよび企業では一般的であり、イントラネットなど、企業規模のコンピュータネットワークを容易にし、これらはすべてインターネットなどのグローバル通信ネットワークに接続できる。
【0096】
ローカルエリアネットワーク756ネットワーキング環境で使用される場合、コンピュータ702は、有線および/または無線通信ネットワークインターフェースまたはネットワークアダプタ738を介してローカルエリアネットワーク756に接続される。ネットワークアダプタ738は、有線および/または無線通信を容易にすることができる。ローカルエリアネットワーク756への無線通信。ネットワークアダプタ738の無線機能と通信するために、ローカルエリアネットワーク756上に配置された無線アクセスポイントも含み得る。
【0097】
ワイドエリアネットワーク754ネットワーキング環境で使用される場合、コンピュータ702は、モデム740を含むことができ、またはワイドエリアネットワーク754上の通信サーバに接続されるか、またはインターネットなどワイドエリアネットワーク754を介して通信を確立する他の手段を有することができる。モデム740は、内部または外部、および有線および/または無線装置であり得、入力装置インターフェース736を介してシステムバス708に接続する。ネットワーク環境では、コンピュータ702またはその一部に関して示されるプログラムモジュールは、 図示のネットワーク接続は例示であり、コンピュータ間の通信リンクを確立する他の手段を使用できることは理解されるであろう。
【0098】
コンピュータ702は、無線通信(例えば、IEEE802.11無線変調技術)において動作可能に配置される無線装置などの、IEEE802規格ファミリーを使用して、有線および無線装置またはエンティティと通信するように動作可能である。これは、少なくともWi-Fi(またはWireless Fidelity)、WiMax、Bluetooth(登録商標)無線技術などを含む。したがって、通信は、従来のネットワークと同様に事前定義された構造、または少なくとも2つの装置間の単純なアドホック通信とすることができる。Wi-Fiネットワークは、IEEE 802.11(a、b、g、n など)と呼ばれる無線技術を使用して、安全で信頼性の高い高速無線接続を提供する。Wi-Fiネットワークは、コンピュータ同士、インターネット、有線ネットワーク(IEEE 802.3関連のメディアと機能を使用)に接続するために使用できる。
【0099】
図1A図7を参照して前述した装置の様々な要素は、さまざまなハードウェア要素、ソフトウェア要素、または両方の組み合わせを含むことができる。ハードウェア要素の例は、装置、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ、回路要素(例えば、トランジスタ、抵抗器、コンデンサ、インダクタなど)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタルシグナルプロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、メモリユニット、ロジックゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含み得る。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェース(API)、命令セット、コンピュータコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、記号、またはそれらの組み合わせを含み得る。しかしながら、実施形態がハードウェア要素および/またはソフトウェア要素を使用して実装されるかどうかの決定は、所定の実装の要望に応じて、計算速度、電力レベル、耐熱性、処理サイクルバジェット、入力データ速度、出力データ速度、特定の実装に必要なメモリリソース、データバス速度、その他の設計または性能の制約などの任意の数の要因に従って変化し得る。
【0100】
少なくとも1つの実施形態の1つ以上の態様は、プロセッサ内のさまざまなロジックを表す機械可読媒体に格納された代表的な命令によって実装することができ、機械によって読み取られると、機械に、本明細書で説明された技術を実行するロジックを構築させる。「IPコア」として知られるこのような表現は、有形の機械読み取り可能な媒体に保存され、さまざまな顧客や製造施設に提供され、ロジックやプロセッサを製造する製造機械にロードされる。いくつかの実施形態は、例えば、機械によって実行されると、実施形態に従って、機械に方法および/または動作を実行させることができる命令または命令のセットを格納することができる機械可読媒体または物品を使用して実装することができる。このような機械は、例えば、任意の適切な処理プラットフォーム、コンピュータプラットフォーム、コンピュータ装置、処理装置、コンピュータシステム、処理システム、コンピュータ、プロセッサなどを含み得、ハードウェアおよび/またはソフトウェアの任意の適切な組み合わせを使用して実装され得る。機械可読媒体または物品には、例えば、任意の適切なタイプのメモリユニット、メモリ装置、メモリ物品、メモリ媒体、記憶装置、記憶物、記憶媒体および/または記憶ユニットを含み得、例えば、メモリ、リムーバブルまたは非リムーバブル媒体、消去可能または消去不可能な媒体、書き込み可能または再書き込み可能媒体、デジタルまたはアナログ媒体、ハードディスク、フロッピーディスク、コンパクトディスク読み取り専用メモリ(CD-ROM)、コンパクトディスク書き込み可能(CD-R)、書き換え可能コンパクトディスク(CD-RW)、光ディスク、磁気媒体、光磁気媒体、リムーバブルメモリカードまたはディスク、各種のDVD(Digital Versatile Disk)、テープ、カセットなどを含み得る。命令は、ソースコード、コンパイルされたコード、解釈されたコード、実行可能コード、静的コード、動的コード、暗号化されたコードなど、任意の適切な高レベル、低レベルのオブジェクト指向の、ビジュアルな、コンパイルおよび/またはインタープリタされたプログラミング言語を使用して実装される、任意の適切なタイプのコードを含み得る。
【0101】
上述した装置の構成要素および特徴は、個別回路、特定用途向け集積回路(ASIC)、論理ゲートおよび/またはシングルチップアーキテクチャの任意の組み合わせを使用して実装することができる。さらに、装置の機能は、マイクロコントローラ、プログラマブルロジックアレイおよび/またはマイクロプロセッサ、または適切な場合には前述のものの任意の組み合わせを使用して実装することができる。ハードウェア、ファームウェア、および/またはソフトウェア要素は、本明細書では集合的にまたは個別に「ロジック」または「回路」と呼ばれることがあることに留意されたい。
【0102】
上述のブロック図に示された例示的な装置は、多くの潜在的な実装形態のうちの機能的に説明的な一例を表し得ることが理解されるであろう。したがって、添付の図面に示されるブロック機能の分割、省略、または包含は、これらの機能を実装するハードウェアコンポーネント、回路、ソフトウェアおよび/または要素が実施形態に必ず分割、省略、または含まれることを示唆するものではない。
【0103】
少なくとも1つのコンピュータ可読記憶媒体は、実行されると、システムに本明細書に記載のコンピュータ実装方法のいずれかを実行させる命令を含むことができる。
【0104】
いくつかの実施形態は、「一実施形態」という表現とその派生語を使用して説明される場合がある。これらの用語は、実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所に現れる「一実施形態において」という語句は、必ずしもすべてが同じ実施形態を指すわけではない。さらに、特に断りのない限り、上記の機能は任意の組み合わせで使用できる。したがって、個別に論じた任意の特徴は、特徴が互いに互換性がないことに留意しない限り、互いに組み合わせて使用することができる。
【0105】
本明細書で使用される表記および命名法を一般的に参照すると、本明細書の詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順の観点から提示され得る。これらの手順の説明および表現は、当業者によって、その仕事の内容を他の当業者に最も効果的に伝えるために使用される。
【0106】
ここでの手順とは、一般に、所望の結果に至る自己矛盾のない一連の操作であると考えられる。これらの操作は、物理量の物理的操作を必要とする操作である。限定されないが、通常、これらの量は、保存、転送、結合、比較、その他の操作が可能な電気、磁気、または光信号の形式をとる。主に一般的な使用上の理由から、これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶと便利な場合がある。ただし、これらの用語および同様の用語はすべて、適切な物理量に関連付けられており、それらの量に適用される便宜的なラベルにすぎない。
【0107】
さらに、実行される操作は、加算または比較などの用語で呼ばれることが多く、これらは一般に人間のオペレータによって実行される精神的操作に関連付けられる。1つ以上の実施形態の一部を形成する本明細書に記載の操作のいずれにおいても、人間のオペレータのそのような能力は必要でなく、ほとんどの場合望ましくない。むしろ、操作は機械操作である。さまざまな実施形態の動作を実行する有用なマシンには、汎用デジタルコンピュータまたは同様の装置が含まれる。
【0108】
いくつかの実施形態は、「結合された」および「接続された」という表現とその派生語を使用して説明され得る。これらの用語は、必ずしも相互に同義語として意図していない。例えば、いくつかの実施形態は、2つ以上の要素が互いに直接物理的または電気的に接触していることを示すために、「接続された」および/または「結合された」という用語を使用して説明され得る。ただし、「結合された」という用語は、2つ以上の要素が互いに直接接触していないものの、依然として相互に協力または相互作用していることを意味することもある。
【0109】
様々な実施形態は、これらの動作を実行する装置またはシステムにも関する。この装置は、必要な目的のために特別に構築することもできるし、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成される汎用コンピュータを備えることもできる。ここで説明する手順は、本質的に特定のコンピュータまたは他の装置に関連するものではない。様々な汎用マシンを、本明細書の教示に従って書かれたプログラムとともに使用することができ、あるいは、必要な方法ステップを実行するより専門化された装置を構築することが便利であることが判明することもある。これらのさまざまな機械に必要な構造は、与えられた説明から明らかになるであろう。
【0110】
本開示の要約は、読者が技術的開示の性質を迅速に確認できるようにするために提供されることが強調される。これは、特許請求の範囲の範囲または意味を解釈または制限するために使用されるものではない。さらに、前述の詳細な説明では、開示を合理化する目的で、さまざまな特徴が単一の実施形態にグループ化されている。この開示方法は、請求された実施形態が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、以下の特許請求の範囲が反映するように、本発明の主題は、開示された単一の実施形態のすべての特徴にあるわけではない。したがって、以下の特許請求の範囲は詳細な説明に組み込まれ、各請求項は別個の実施形態として独立して存在する。添付の特許請求の範囲において、用語「含む」および「その中で」は、それぞれ「含む」および「どこで」というそれぞれの用語の平易な英語の等価物として使用される。さらに、「第1」、「第2」、「第3」などの用語は単にラベルとして使用されており、それらの対象に数値要件を課すことを意図したものではない。
【0111】
上述の説明は、開示されたアーキテクチャの例が含まれている。もちろん、コンポーネントおよび/または方法論の考えられるすべての組み合わせを説明することは不可能であるが、当業者であれば、さらに多くの組み合わせおよび順列が可能であることを認識するであろう。したがって、新規なアーキテクチャは、添付の特許請求の範囲の精神および範囲内に入るすべてのそのような変更、修正、および変形を包含することを意図している。
図1A
図1B
図1C
図1D
図1E
図2A
図2B
図2C
図2D
図2E
図3A
図3B
図4
図5A
図5B
図6
図7
【国際調査報告】