(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-02-06
(54)【発明の名称】支払いカードのためのURLベースの認証
(51)【国際特許分類】
G06F 21/34 20130101AFI20240130BHJP
G06F 21/31 20130101ALI20240130BHJP
G06F 21/32 20130101ALI20240130BHJP
G06Q 20/40 20120101ALI20240130BHJP
【FI】
G06F21/34
G06F21/31
G06F21/32
G06Q20/40
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023547108
(86)(22)【出願日】2022-02-02
(85)【翻訳文提出日】2023-10-02
(86)【国際出願番号】 US2022014927
(87)【国際公開番号】W WO2022169862
(87)【国際公開日】2022-08-11
(32)【優先日】2021-02-03
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(74)【代理人】
【識別番号】100161883
【氏名又は名称】北出 英敏
(72)【発明者】
【氏名】モートン,ポール
(72)【発明者】
【氏名】ルール,ジェフリー
(57)【要約】
支払いカードの認証のためのシステム、方法、製品。サーバは、データベース内で、期待されるカード識別子を非接触カードに割り当て得る。非接触カードはアカウントに関連付けられる。サーバは、ユニフォームリソースロケータ(URL)を含む要求をクライアントデバイスから受け取り得る。URLのパラメータはカード識別子を含み、URLは非接触カードによりクライアントデバイスに送信される。サーバは、URLからカード識別子を抽出し得、抽出されたカード識別子をデータベース内の期待されるカード識別子と比較し得る。サーバは、比較に基づいて、抽出されたカード識別子が期待されるカード識別子に一致することを決定し得る。サーバは、期待されるカード識別子に一致する抽出されたカード識別子に基づいて要求を認証し得、要求が認証されたことを示す表示をクライアントデバイスに送信し得る。
【特許請求の範囲】
【請求項1】
サーバにより、データベース内で、期待されるカード識別子を非接触カードに割り当てること、ここで、前記非接触カードはアカウントに関連付けられ、前記サーバはメモリ及びプロセッサ回路を備える;
前記サーバにより、ユニフォームリソースロケータ(URL)を含む要求をクライアントデバイスから受け取ること、ここで、前記URLのパラメータはカード識別子を含み、前記URLは前記非接触カードにより前記クライアントデバイスに送信される;
前記サーバにより、前記URLから前記カード識別子を抽出すること;
前記サーバにより、前記抽出されたカード識別子を前記データベース内の前記期待されるカード識別子と比較すること;
前記サーバにより、前記比較に基づいて、前記抽出されたカード識別子が前記期待されるカード識別子に一致することを決定すること;
前記サーバにより、前記期待されるカード識別子に一致する前記抽出されたカード識別子に基づいて前記要求を認証すること;及び
前記サーバにより、前記要求が認証されたことを示す表示を、前記クライアントデバイスに送信すること;
を含む、
方法。
【請求項2】
前記非接触カードは、複数の非接触カードのうちの一つであり、
前記サーバは、個々の期待されるカード識別子を各非接触カードに割り当て、
前記方法は、
前記サーバにより、前記抽出されたカード識別子が暗号化されることを決定すること;及び
前記サーバにより、前記比較の実行前に暗号鍵を用いて前記抽出されたカード識別子を復号すること;
をさらに含む、
請求項1の方法。
【請求項3】
前記要求は、前記URLの受け取りに応答して前記クライアントデバイスのクライアントアプリケーションから受け取られ、
前記方法は、
前記クライアントアプリケーションにより、前記要求に関連付けられた動作を決定すること;
前記クライアントアプリケーションにより、前記動作の表示を、前記URLの第2パラメータとして付加すること;
前記サーバにより、前記URLの前記第2パラメータ内の前記動作の前記表示を特定すること;及び
前記サーバにより、前記クライアントアプリケーションに、前記要求の認証に基づいて、前記要求に関連付けられた前記動作に応答して前記アカウントに関連付けられたアカウントデータを送信すること;
をさらに含む、
請求項1の方法。
【請求項4】
前記カード識別子は、前記非接触カードのメモリに格納された複数のカード識別子から選択され、
前記複数のカード識別子は、前記非接触カードに関連付けられたペイメントアカウントリファレンス(PAR)を含み、
前記非接触カードのアプレットは、前記非接触カードに関連付けられたオフセットに基づいて、前記カード識別子を選択し、
前記方法は、
前記クライアントアプリケーションに、前記アカウント用の認証クレデンシャルを受け取ることを示す表示を送信すること、ここで、前記認証クレデンシャルは、生体認証データ、又は、ログイン及びパスワードの1以上を含む;
前記サーバにより、前記クライアントアプリケーションから、前記クライアントデバイスのユーザにより提供される認証クレデンシャルを受け取ること;及び
前記サーバにより、前記クライアントデバイスの前記ユーザにより提供された、前記受け取った認証クレデンシャルを認証すること;
をさらに含む、
請求項3の方法。
【請求項5】
前記サーバにより、前記データベース内で前記非接触カードに複数の期待されるカード識別子を割り当てること;
前記サーバにより、前記非接触カードに関連付けられた前記オフセットを決定すること;及び
前記サーバにより、前記オフセットに基づいて、前記複数の期待されるカード識別子のうちの一つを前記期待されるカード識別子として選択すること;
をさらに含む、
請求項4の方法。
【請求項6】
前記サーバにより、前記クライアントデバイスから第2要求を受け取ること、ここで、前記第2要求は、第2URLを含み、前記第2URLのパラメータは、関数を用いて前記非接触カードにより生成される動的カード識別子を含む;
前記サーバにより、前記関数のインスタンスを用いて、期待される動的カード識別子を生成すること;
前記サーバにより、前記動的カード識別子を前記期待される動的カード識別子と比較すること;
前記比較に基づいて、前記サーバにより、前記動的カード識別子が前記期待される動的カード識別子と一致することを決定すること;
前記サーバにより、前記期待される動的カード識別子と一致する前記動的カード識別子に基づいて、前記サーバにより、前記第2要求を認証すること;及び
前記サーバにより、前記クライアントデバイスに、前記第2要求が認証されたことを示す表示を送信すること;
をさらに含む、
請求項1の方法。
【請求項7】
前記サーバにより、前記要求に基づいて、前記クライアントデバイスの位置データを決定すること;及び
前記サーバにより、前記位置データに基づいて、前記クライアントデバイスが前記クライアントデバイスに関連付けられた1以上の既知の位置の閾値距離以内にあることを決定すること;
をさらに含む、
請求項1の方法。
【請求項8】
前記非接触カードは、前記クライアントデバイスの通信範囲内にあることに応答して、前記URLを生成し、
前記クライアントデバイスは、前記URLの受け取りに応答して、ウェブブラウザ、又は、クライアントアプリケーションの一方を開き、
前記方法は、前記クライアントデバイスにより、前記アカウントに関連付けられた要求された動作を、前記要求が認証されたという前記表示を受け取ったことに基づいて、実行することをさらに含む、
請求項1の方法。
【請求項9】
プロセッサ回路と、
前記プロセッサ回路により実行されると前記プロセッサ回路に、
ユニフォームリソースロケータ(URL)を含む要求をクライアントデバイスから受け取ること、ここで、前記URLのパラメータは非接触カードに割り当てられたカード識別子を含む;
前記URLから前記カード識別子を抽出すること;
前記抽出されたカード識別子をデータベース内に格納され前記非接触カードに割り当てられた期待されるカード識別子と比較すること;
前記比較に基づいて、前記抽出されたカード識別子が前記期待されるカード識別子に一致することを決定すること;
前記期待されるカード識別子に一致する前記抽出されたカード識別子に基づいて前記要求を認証すること;及び
前記要求が認証されたことを示す表示を、前記クライアントデバイスに送信すること;
を行わせる指示を格納するメモリと、
を備える、
システム。
【請求項10】
前記メモリは、前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記抽出されたカード識別子が暗号化されることを決定すること;及び
前記比較の実行前に暗号鍵を用いて前記抽出されたカード識別子を復号すること;
を行わせる指示を格納する、
請求項9のシステム。
【請求項11】
前記メモリは、前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記抽出されたカード識別子を復号する前に、
前記暗号化されたカード識別子がエンコード形式にしたがってエンコードされることを決定すること;
前記暗号化されたカード識別子を、エンコードされていない形式にデコードすること;及び
前記デコードされた暗号化されたカード識別子を復号すること;
を行わせる指示を格納する、
請求項10のシステム。
【請求項12】
前記メモリは、前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記要求に基づいて、前記クライアントデバイスの位置データを決定すること;及び
前記位置データに基づいて、前記クライアントデバイスが前記クライアントデバイスに関連付けられた1以上の既知の位置の閾値距離以内にあることを決定すること;
を行わせる指示を格納する、
請求項9のシステム。
【請求項13】
前記メモリは、前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記データベース内で前記非接触カードに割り当てられた複数の期待されるカード識別子を特定すること;
前記非接触カードに関連付けられたオフセットを決定すること;及び
前記オフセットに基づいて、前記複数の期待されるカード識別子のうちの一つを前記期待されるカード識別子として選択すること;
を行わせる指示を格納する、
請求項9のシステム。
【請求項14】
前記メモリは、前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記クライアントデバイスから第2要求を受け取ること、ここで、前記第2要求は、第2URLを含み、前記第2URLのパラメータは、前記非接触カードにより生成される動的カード識別子を含む;
前記動的カード識別子を生成するために使用される関数のインスタンスにより、期待される動的カード識別子を生成すること;
前記動的カード識別子を前記期待される動的カード識別子と比較すること;
前記比較に基づいて、前記動的カード識別子が前記期待される動的カード識別子と一致することを決定すること;
前記期待される動的カード識別子と一致する前記動的カード識別子に基づいて、前記第2要求を認証すること;及び
前記クライアントデバイスに、前記第2要求が認証されたことを示す表示を送信すること;
を行わせる指示を格納する、
請求項9のシステム。
【請求項15】
非一時的コンピュータ可読記憶媒体であって、
前記非一時的コンピュータ可読記憶媒体により具体化されるコンピュータ可読プログラムコードを有し、
前記コンピュータ可読プログラムコードは、プロセッサ回路により実行されると前記プロセッサ回路に、
ユニフォームリソースロケータ(URL)を含む要求をクライアントデバイスから受け取ること、ここで、前記URLのパラメータは非接触カードに割り当てられたカード識別子を含む;
前記URLから前記カード識別子を抽出すること;
前記抽出されたカード識別子をデータベース内に格納され前記非接触カードに割り当てられた期待されるカード識別子と比較すること;
前記比較に基づいて、前記抽出されたカード識別子が前記期待されるカード識別子に一致することを決定すること;
前記期待されるカード識別子に一致する前記抽出されたカード識別子に基づいて前記要求を認証すること;及び
前記要求が認証されたことを示す表示を、前記クライアントデバイスに送信すること;
を行わせる、
非一時的コンピュータ可読記憶媒体。
【請求項16】
前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記抽出されたカード識別子が暗号化されることを決定すること;及び
前記比較の実行前に暗号鍵を用いて前記抽出されたカード識別子を復号すること;
を行わせるコンピュータ可読プログラムコードを更に備える、
請求項15の非一時的コンピュータ可読記憶媒体。
【請求項17】
前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記抽出されたカード識別子を復号する前に、
前記暗号化されたカード識別子がエンコード形式にしたがってエンコードされることを決定すること;
前記暗号化されたカード識別子を、エンコードされていない形式にデコードすること;及び
前記デコードされた暗号化されたカード識別子を復号すること;
を行わせるコンピュータ可読プログラムコードを更に備える、
請求項16の非一時的コンピュータ可読記憶媒体。
【請求項18】
前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記要求に基づいて、前記クライアントデバイスの位置データを決定すること;及び
前記位置データに基づいて、前記クライアントデバイスが前記クライアントデバイスに関連付けられた1以上の既知の位置の閾値距離以内にあることを決定すること;
を行わせるコンピュータ可読プログラムコードを更に備える、
請求項15の非一時的コンピュータ可読記憶媒体。
【請求項19】
前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記データベース内で前記非接触カードに割り当てられた複数の期待されるカード識別子を特定すること;
前記非接触カードに関連付けられたオフセットを決定すること;及び
前記オフセットに基づいて、前記複数の期待されるカード識別子のうちの一つを前記期待されるカード識別子として選択すること;
を行わせるコンピュータ可読プログラムコードを更に備える、
請求項15の非一時的コンピュータ可読記憶媒体。
【請求項20】
前記プロセッサ回路により実行されると前記プロセッサ回路に、
前記クライアントデバイスから第2要求を受け取ること、ここで、前記第2要求は、第2URLを含み、前記第2URLのパラメータは、前記非接触カードにより生成される動的カード識別子を含む;
前記動的カード識別子を生成するために使用される関数のインスタンスにより、期待される動的カード識別子を生成すること;
前記動的カード識別子を前記期待される動的カード識別子と比較すること;
前記比較に基づいて、前記動的カード識別子が前記期待される動的カード識別子と一致することを決定すること;
前記期待される動的カード識別子と一致する前記動的カード識別子に基づいて、前記第2要求を認証すること;及び
前記クライアントデバイスに、前記第2要求が認証されたことを示す表示を送信すること;
を行わせるコンピュータ可読プログラムコードを更に備える、
請求項15の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本出願は、2021年2月3日に出願された、発明の名称を「支払いカードのためのURLベースの認証(URL-BASED AUTHENTICATION FOR PAYMENT CARDS)」とする米国特許出願第17/166,622号の優先権を主張する。上述の特許出願の内容は、参照によりその全体が本出願に援用される。
【技術分野】
【0002】
本実施の形態は、一般に、コンピューティングプラットフォーム、より詳細には、ユニフォームソースロケータ(URL)ベースの認証のためにコンピューティングデバイスに対して支払いカードをタップすることに関する。
【背景技術】
【0003】
詐欺及びその他の悪意のあるアクティビティの検出は、支払いカードに関連する一般的なセキュリティ問題である。これらの問題は、カードの数が増加するにつれて悪化し、一部の金融機関は数百万枚以上の支払いカードを発行している。従来の認証ソリューションには、詐欺及びセキュリティの問題に完全に対処するために必要な柔軟性と拡張性が欠けている。
【発明の概要】
【0004】
ここで開示される実施の形態は、支払いカードのURLベースの認証のためのシステム、方法、製品、及び、コンピュータ可読媒体を提供する。一例によれば、方法は、データベース内においてサーバによって、期待されるカード識別子を非接触カードに割り当てることを含み、非接触カードはアカウントに関連付けられ、サーバはメモリ及びプロセッサ回路を備える。当該方法は、サーバによって、クライアントデバイスから、ユニフォームリソースロケータを含む要求を受け取ることを更に含み得る。URLのパラメータは、カード識別子を含み、URLは、非接触カードによってクライアントデバイスに送信される。当該方法は、サーバによって、URLからカード識別子を抽出することを更に含み得る。当該方法は、サーバによって、抽出されたカード識別子をデータベース内の期待されるカード識別子と比較すること、及び、比較に基づいて、抽出されたカード識別子が期待されるカード識別子と一致するとサーバによって決定することを、更に含み得る。当該方法は、期待されるカード識別子と一致する抽出されたカード識別子に基づいてサーバによって要求を認証すること、及び、サーバによってクライアントデバイスに要求が認証されたことを示す表示を送信することを更に含んでもよい。他の実施の形態は説明され、請求される。
【図面の簡単な説明】
【0005】
【
図1A】支払いカードのURLベースの認証のためのシステムを示す
【
図1B】支払いカードのURLベースの認証のためのシステムを示す
【
図1C】支払いカードのURLベースの認証のためのシステムを示す
【
図2A】支払いカードのURLベースの認証のためのシステムを示す
【
図2B】支払いカードのURLベースの認証のためのシステムを示す
【
図3A】支払いカードのURLベースの認証の実施の形態を示す
【
図3B】支払いカードのURLベースの認証の実施の形態を示す
【
図3C】支払いカードのURLベースの認証の実施の形態を示す
【
図4A】支払いカードのURLベースの認証の実施の形態を示す
【
図4B】支払いカードのURLベースの認証の実施の形態を示す
【
図8】コンピューティングアーキテクチャの実施の形態を示す
【発明を実施するための形態】
【0006】
ここで開示される実施の形態は、1以上のユニフォームリソースロケータ(URL)に少なくとも部分的に基づいて支払いカードを認証するための安全な技術を提供する。URLは、支払いカードに割り当てられた(及び支払いカードによって保存された)静的URL、及び/又は、支払いカードによって生成された動的URLを含み得る。一般に、URLは、認証プロセスの一部として認証サーバによって使用されるデータを含み得る。例えば、静的URLの文脈において、URL(及び/又はURLの一部)は、カードが製造されるときに、支払いカードのカード識別子として割り当てられ得る。URL(及び/又はURLの一部)は、データベースレコード内の支払いカードに割り当てられ得、後に使用するために支払いカードのメモリに保存され得る。例えば、URLは、「http://www.example.com/auth?p=cardidentifier」であり得る。このような例では、URL全体がカードに割り当てられたカード識別子であり得る。加えて及び/又は替えて、URLの「cardidentifier」パラメータは、カードに割り当てられたカード識別子であり得、「cardidentifier」は、64文字又は128文字の英数字の文字列等の文字列に対応する。さらに、「http://www.example.com」部分等のURLの少なくとも一部は、認証サーバ及び/又はアプリケーションを対象とし得る。
【0007】
静的URLの例では、支払いカードは、携帯電話等のコンピューティングデバイスにタップされ得る。そうすることにより、支払いカードは、URLを含むデータペイロードを生成し、無線通信(例えば、近距離無線通信(NFC)、ブルートゥース(登録商標)等)を使用して、URLを含むペイロードをコンピューティングデバイスに送信する。URLは、受信されると、デバイスのオペレーティングシステム(OS)に、URLにアクセスするアプリケーションを開かせることができ得る。アプリケーションは、ウェブブラウザ、又は、ユーザがアカウント(口座)関連のアクティビティを実行できるようにするカードの発行会社によって提供されるアカウントアプリケーション等の他のアプリケーションであり得る。アプリケーションは、開かれると、要求、例えば、URLを含むハイパーテキスト転送プロトコル(HTTP)要求を使用して、URLにアクセスし得る。次に、認証サーバは、URL(及び/又はカードに対応するURLの部分)の認証を試み得る。例えば、認証サーバは、URLがデータベースに保存されているURLと一致するかどうかを決定し得る。一致する場合、認証サーバは要求を認証し得り、成功した認証の表示をデバイスに送信し得る。いくつかの実施の形態では、要求は、アカウント残高の表示等の動作に関連付けられる。このような実施の形態では、要求された動作の指示は、カード及び/又はアカウントアプリケーションによってURLの追加パラメータとして指定され得る。このような実施の形態では、認証サーバは、要求された動作パラメータを識別し、要求されたアカウント残高等のアカウント関連データをデバイスに提供し得る。次いで、デバイスは、表示及び/又は受信したデータを出力し得る。デバイスはさらに、成功した認証に基づいて、1以上の要求された動作の実行を許可し得る。ただし、一致するURLがデータベース内に存在しない場合、認証サーバは、認証の試行が失敗したと決定し得る。その後、認証サーバは、要求された動作を制限し得る失敗した認証の表示をデバイスに送信し得る。
【0008】
動的URLの例では、カードは、動的カード識別子を含むURLを動的に生成し得る。例えば、カードのアプレットは、URLのパラメータとして英数字の動的カード識別子を生成するために関数及び/又はアルゴリズム(例えば、ハッシュ関数、暗号関数、乱数発生器等)を使用し得る。カードは、動的に生成されたURLをコンピューティングデバイスに送信し得、コンピューティングデバイスは次に、要求を使用してURLにアクセスするアプリケーション(例えば、ウェブブラウザ、アカウントアプリケーション等)を起動する。いくつかの実施の形態では、要求されたアカウント動作に対応する追加パラメータが、カード及び/又はアカウントアプリケーションによってURLに追加され得る。サーバは、要求を受信し、動的カード識別子を抽出し得る。サーバは、また、非接触カードで使用されるのと同じ関数及び/又はアルゴリズムを使用して、期待される動的カード識別子を計算し得る。サーバによって生成された期待される動的カード識別子がURLから抽出された動的カード識別子と一致する場合、サーバは要求を認証し得る。そうでない場合、サーバは認証が失敗したと決定し得る。サーバは、認証結果の表示をデバイスに再度送信し得る。認証が成功の場合、サーバはさらに、アカウント情報、残高等の要求されたデータをデバイスに送信し得る。このような例では、要求されたデータは、要求されたアカウント動作を指定するURLの追加パラメータに基づいて送信され得る。
【0009】
ここで開示される実施の形態は、すべてのデバイス及び関連データのセキュリティを向上させるという利点がある。例えば、一部のオペレーティングシステムは、支払いカードに保存されているデータ、及び/又は、支払いカードに保存されている特定の種類のデータへのアクセスを制限し得る。したがって、従来の認証技術は適切に機能しない。しかしながら、ここで開示される実施の形態は、支払いカードが認証に使用されるURLを生成することを可能にするという利点がある。URLは、悪意のある実体によって複製するには複雑すぎるため、ここで開示される実施の形態は、支払いカード及び支払いカードに関連付けられたコンピューティングサービスのセキュリティを向上させる。
【0010】
ここで使用される表記法及び命名法を一般的に参照すると、以下の詳細な説明の1以上の部分は、コンピュータ又はコンピュータのネットワーク上で実行されるプログラム手順の観点から提示され得る。これらの手順の説明及び表現は、当業者によって、その作業の内容を他の当業者に最も効果的に伝えるために使用される。ここでの手順とは、一般に、望ましい結果につながる一貫した一連の操作であると考えられる。これらの動作は、物理量の物理的操作を必要とする動作である。必須ではないが、通常、これらの量は、保存、転送、結合、比較、その他の操作が可能な電気、磁気、又は光信号の形式をとる。主に一般的な使用上の理由から、これらの信号をビット、値、要素、記号、文字、用語、数字等と呼ぶと便利な場合がある。ただし、これらの用語及び同様の用語はすべて、適切な物理量に関連付けられており、それらの量に適用される便宜的なラベルにすぎないことに注意されたい。
【0011】
さらに、これらの操作は、加算又は比較等の用語で呼ばれることが多く、これらは一般に人間のオペレータによって実行される精神的操作に関連付けられる。しかしながら、1以上の実施の形態の一部を形成するここに記載の操作のいずれにおいても、人間のオペレータのそのような能力は必要でなく、ほとんどの場合望ましいものではない。むしろ、これらの動作は機械動作である。様々な実施の形態の動作を実行するための有用な機械は、ここでの教示に従って書かれ、内部に格納されたコンピュータプログラムによって選択的に起動又は設定されるデジタルコンピュータを含み、及び/又は、必要な目的のために特別に構築された装置又はデジタルコンピュータを含む。様々な実施の形態は、これらの動作を実行するための装置又はシステムにも関する。これらの装置は、必要な目的に合わせて特別に構築され得る。これらの様々な機械に必要な構造は、与えられた説明から明らかになるであろう。
【0012】
次に図面を参照するが、全体を通して同様の要素を指すために同様の参照番号が使用されている。以下の説明では、説明の目的で、多くの具体的な詳細が完全な理解を提供するために記載されている。しかしながら、これらの特定の詳細がなくても新規な実施の形態を実施できることは明らかであろう。他の例では、説明を容易にするために、周知の構造及び装置がブロック図の形式で示されている。その意図は、特許請求の範囲内のすべての変形、均等物、及び代替物を網羅することである。
【0013】
図1Aは、開示された実施の形態と一致する例示的なシステム100の概略図を示す。図示のように、システム100は、1以上の非接触カード101、1以上のモバイルデバイス110、及び、認証サーバ120を含む。非接触カード101は、クレジットカード、デビットカード、ATMカード、ギフトカード等の任意のタイプの支払いカードを表す。非接触カード101は、NFC、ユーロペイ(Europay)、マスターカード、ビサ(Visa)(EMV(登録商標))規格、又は、無線通信における他の短距離プロトコルの規格を介してモバイルデバイス110と通信するように構成された無線周波数識別(RFID)チップ等の1以上の通信インターフェース150を備え得る。NFCは通信プロトコルの一例として使用されるが、本開示は、EMV規格、ブルートゥース(登録商標)、及び/又はWi-Fi(登録商標)等の他のタイプの無線通信にも同様に適用可能である。モバイルデバイス110は、スマートフォン、タブレットコンピュータ、ウェアラブルデバイス、ラップトップ、ポータブルゲームデバイス等の任意のタイプのネットワーク対応コンピューティングデバイスを表す。サーバ120は、サーバ、ワークステーション、計算クラスタ、クラウドコンピューティングプラットフォーム、仮想化コンピューティングシステム等の任意のタイプのコンピューティングデバイスを表す。
【0014】
図示のように、モバイルデバイス110のメモリ111は、オペレーティングシステム(OS)112のインスタンスを含む。例のオペレーティングシステム112は、Android(登録商標)OS、iOS(登録商標)、macOS(登録商標)、Linux(登録商標)、及びWindows(登録商標)オペレーティングシステムを含む。図示されるように、OS112は、アカウントアプリケーション113、1以上の他のアプリケーション114、及び、ウェブブラウザ115を含む。アカウントアプリケーション113により、ユーザは、アカウント残高の表示、品物の購入、及び/又は、支払い処理等の様々なアカウント関連の動作を実行できる。いくつかの実施の形態では、ユーザは、アカウントアプリケーション113にアクセスするために認証クレデンシャルを使用して認証しなければならない。例えば、認証クレデンシャルは、ユーザ名及びパスワード、生体認証クレデンシャル等が含まれ得る。いくつかの実施の形態では、認証サーバ120は、以下でより詳細に説明するように、必要な認証を提供し得る。ウェブブラウザ115は、モバイルデバイス110がネットワーク130を介して(例えば、インターネットを介して)情報にアクセスできるようにするアプリケーションである。例えば、ユーザは、ウェブブラウザ115を使用して販売者のウェブサイトから購入を行い得る。ウェブブラウザ115は、ネットワーク130を介して情報にアクセスする(例えば、購入を行う、アカウント情報にアクセスする等)ために使用されるアプリケーションの一例である。
他のアプリケーション114は、ユーザが購入をできるようにする販売業者によって提供されるアプリケーション、又は、他のアプリケーションストアのアプリケーション等、ネットワーク130を介して情報にアクセスするために使用される任意の他のタイプのアプリケーションを表す。
【0015】
図示のように、サーバ120は、認証アプリケーション123、各非接触カード101に割り当てられた秘密鍵104のインスタンス、アカウントデータ124、URL126を含む。アカウントデータ124は、少なくとも秘密鍵104、顧客ID107、関連付けられた非接触カード101、カード識別子、アカウント所有者名、アカウント請求先住所、1以上の配送先住所、1以上の仮想カード番号、及び、各アカウントの経歴情報を含み得る。URL126は、非接触カードに割り当てられた1以上のURL及び/又はカードID、並びに、関連付けられた顧客アカウントの表示(例えば、関連付けられた顧客ID)を含み得る。
【0016】
システム100が非接触カード101によって保存及び/又は生成される1以上のURLを使用してURLベースの認証を提供するように構成されるという利点がある。図示されるように、非接触カード101は、プロセッサ(
図1で描かれていない)による実行用のアプレット103を記憶するメモリ102を含む。メモリ102はさらに、秘密鍵104のインスタンスと、1以上のURL106のデータストアとを格納する。URL106は、非接触カード101の製造時に非接触カード101に割り当てられ得る1以上の静的URLを反映し得る。さらに、
図2A及び
図2Bを参照して説明するように、非接触カード101のアプレット103は、1以上の動的URLを生成し得る。
【0017】
静的URLの文脈では、非接触カード101に割り当てられた1以上の静的URLは、カードの製造時にURL126及び/又はアカウントデータ124等にサーバ120によって格納され得る。そうすることは、URLが非接触カード101に関連付けられることを反映する。URL126は、複数のURLと、各URLに関連付けられたアカウント及び/又は非接触カード101の表示と、を格納し得る。一般に、静的URL106は、「http://www.example.com」等のリソースロケータ部分を含み得り、これは、サーバ120、認証アプリケーション123、及び/又は、アカウントアプリケーション113等のリソースの場所を識別し得る。さらに、静的URL106は、カード識別子(ID)部分を含み得る。例えば、第1のURL106-1は、「http://www.example.com/?cardid=123ABC456」であり得る。このような例では、「cardid」部分は、URLのカードIDパラメータを識別し、「123ABC456」はカードIDの簡略化された例である。他の例では、カードIDは、英数字のさらに長い(64ビット、128ビット、256ビット等)文字列であり得る。一例では、カードIDは、EMV標準で定義されたペイメントアカウントリファレンス(PAR)値である。PAR値は、所与の非接触カード101(及び/又は非接触カードの主アカウント番号(PAN))及び非接触カード101に関連付けられた任意の支払いトークンに一意に関連付けられ得る。したがって、そのような例では、各非接触カード101は、固有のPAR値を格納し得る。より一般的には、カードIDは、任意の適切な形式及び/又は長さをとり得る。いくつかの例では、URL106-1全体がカードIDを含む。いくつかの例では、URLは、ローカルリソース(例えば、アカウントアプリケーション113のページ、他のアプリケーション114のうちの1つ等)を開くユニバーサルリンクURLであり得る。
【0018】
したがって、非接触カード101は、非接触カード101の製造中に1以上のカード識別子に関連付けられ得る。例えば、メモリに格納された第2のURL106-2は、「http://www.example.com/?cardid=789XYZ012」であってもよい。ここで、「789XYZ012」は例のカードIDパラメータである。一般に、任意の適切なアルゴリズムが、URL106のパラメータとして含まれる非接触カード101に割り当てられる静的URL106及び/又はカードIDを生成するために、使用され得る。例えば、ハッシュ関数、暗号化アルゴリズム、乱数生成器、又は、任意の他の種類のアルゴリズムの1以上が、非接触カード101用の1以上のカードID及び/又は静的URL106を生成するために用いられ得る。いくつかの実施の形態では、カードIDは、非接触カード101の秘密鍵104を使用して暗号化され得る。例えば、PAR値は、非接触カード101の秘密鍵104を使用して暗号化され得、これにより、URL106のカードIDパラメータとして使用され得る暗号化PAR値が生成される。別の例として、ハッシュ関数がハッシュ値を計算するために用いら得、暗号化関数がハッシュ値を暗号化することにより、URL106のカードIDパラメータとして使用される暗号化されたハッシュ値を生成し得る。一般に、認証アプリケーション123は、複数の非接触カード101のために静的カードID及び/又はURL106を生成し得り、カードID及び/又はURL106を、対応するアカウントに関連付けられた1以上のレコード(例えば、アカウントデータ124及び/又はURL126)に格納し得る。
【0019】
静的URLの例では、非接触カード101は、複数の静的URL106のリストから1つの静的URL106を選択するために使用されるオフセット値、又は、何らかの他の選択パターンを使用し得る。例えば、非接触カード101が100個の別個の静的URL106を含む場合、アプレット103は、追加のセキュリティ手段を提供するために、2番目、3番目、4番目、5番目毎等のURL106を選択するために、直近に使用されたURL106(又は、選択の最初のインスタンスにおける最初のURL106)にオフセットを適用し得る。そうすることにより、認証アプリケーション123は、対応するオフセットを決定し、100個の静的URLのうちの1つを、比較のための期待されるURLとして選択し得る。
【0020】
静的URL106(及び/又はアプレット103によって動的に生成される任意のURL)は、デバイス110に対する非接触カード101のタップ(又は他の同様のジェスチャ)によって開始されるURLベースの認証を提供するために、様々な文脈において使用され得る。例えば、デバイス110は、カード101がデバイス110にタップされると、OS112のホーム画面を表示し得る。いくつかのそのような実施の形態では、デバイス110は、アカウントアプリケーション113のインスタンスを含まなくてもよく、カード101から受信したURLにより、OS112は、受信したURLに対してウェブブラウザ115を起動し得る。別の例として、ウェブブラウザ115は、OSのフォアグラウンドで実行されてもよい。さらに別の例として、アカウントアプリケーション113は、OSのフォアグラウンドで実行されてもよい。さらに、各アプリケーション113、114、115は、URLベースの認証を提供するために任意の状態にあり得る。例えば、アカウントアプリケーション113は、ログインページ、認証クレデンシャルが受信された後のアカウント詳細ページ、送金残高ページ等にあってもよい。同様に、マーチャントアプリケーション114は、注文を処理するために使用されるチェックアウトページにあってもよい。実施の形態はこれらの文脈に限定されない。
【0021】
より一般的には、URLベースの認証を利用するために、ユーザは、非接触カード101をモバイルデバイス110にタップすることにより、非接触カード101の通信インターフェース150とモバイルデバイス110のカードリーダ118との間のNFCデータ転送を可能にするために、非接触カード101をモバイルデバイス110のカードリーダ118(例えば、通信インターフェース)に十分近づけることができ得る。いくつかの実施の形態では、モバイルデバイス110は、アプリケーションプログラムインターフェース(API)コールを通じてカードリーダ118を起動してもよい。一例では、モバイルデバイス110は、ユーザがフォームフィールド等のユーザインターフェースの要素をタップ又は選択したことに応答して、APIコールを介してカードリーダを起動する。加えて及び/又は代えて、モバイルデバイス110は、カードリーダ118への定期的なポーリングに基づいて、カードリーダ118を起動してもよい。より一般的には、モバイルデバイス110は、任意の実現可能な方法を使用して通信に従事するようにカードリーダ118を起動してもよい。モバイルデバイス110と非接触カード101との間で通信が確立された後、非接触カード101はメッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは、非接触カード101がアカウントアプリケーション113及び/又はOS112によって読み取られるときに発生し得る。特に、これは、NFCデータ交換フォーマットにしたがって作製され得る近距離無線データ交換(NDEF)のNFCの読み取り等の、読み取りに応じて、発生し得る。暗号文は、URLベースの認証のための静的URL106及び/又は動的URLを含み得る。
【0022】
そのような一例では、非接触カード101のアプレット103は、データパッケージ(例えば、NDEFファイル)を生成し、通信インターフェース150を介してモバイルデバイス110に送信する。いくつかの実態の形態では、非接触カード101により生成されるデータパッケージは、複数の静的URL106から選択される静的URL106-1を含み得る。
図2A~2Bを参照してより詳細に説明されるように、アプレットは、加えて及び/又は代えて、動的URLを生成し得る。上述のように、URL106は、非接触カード101によって生成されたデータを検証するために認証サーバ120によって使用されるパラメータ(例えば、カードID)をさらに含み得る。さらに、いくつかの実施の形態では、URL106は、要求された動作を特定するために使用される追加パラメータを含み得る。例えば、アカウントアプリケーション113のユーザは、アカウント残高を表示したい場合がある。このような例では、アカウントアプリケーション113は、URL106が要求されたアカウント残高動作に関連付けられていることを示す追加パラメータをURL106に付加するようにアプレット103に指示をし得る。
【0023】
図1Bは、非接触カード101のアプレット103が例のURL106-1を選択した実施の形態を示す。図示されるように、アプレット103は、選択された静的URL106-1をモバイルデバイス110に送信し得る。前述したように、デバイス110は、URLベースの認証を活用するために任意のアクティブ状態にあり得る。したがって、例えば、OS112は、受信したURL106-1に基づいてアプリケーションを起動し得る。例えば、OS112は、ウェブブラウザ115を起動し得り、ウェブブラウザ115は、URL106-1に従うか、そうでなければURL106-1にアクセス又はロードし得る。別の実施の形態では、OS112はアカウントアプリケーション113を開き、URL106-1にアクセスし得る。さらに別の実施の形態では、OS112は、URL106-1に関連付けられた他のアプリケーション114のうちの1つを開き得る。いくつかの実施の形態では、アカウントアプリケーション113は、要求された動作(例えば、アカウント残高の表示、仮想アカウント番号の生成等)に対応する追加パラメータ等の追加データをURLに追加し得る。さらに、アカウントアプリケーション113及び/又は他のアプリケーション114は、URL106-1を適切なサーバ及び/又は認証アプリケーション123のインスタンスに送信し得る(例えば、販売者Aによって提供されるアプリケーション114は、URL106-1を販売者Aに関連付けられたサーバに送信し得る)。
【0024】
図1Bに示される例では、URL106-1の少なくとも一部は、認証アプリケーション123及び/又は認証サーバ120を対象とし得る。いくつかの例では、ウェブブラウザ115及び/又はアカウントアプリケーション113は、URL106-1を含むハイパーテキスト転送プロトコル(HTTP)要求131等の要求を生成し得る。いくつかの実施の形態では、URL106-1により、アカウントアプリケーション113がOS112によって開かれ、その後、アカウントアプリケーション113は、認証アプリケーション123に向けた少なくともカードIDパラメータ及び/又はURL106-1を含む要求131を生成する。しかしながら、述べたように、いくつかの実施の形態では、アカウントアプリケーション113のインスタンスはデバイス110にインストールされない。したがって、そのような実施の形態では、URL106-1はOS112によって受信され得る。URL106-1の受信に応答して、OS112はウェブブラウザ115を開き、ウェブブラウザ115にURL106-1を対象とするHTTPリクエスト131を生成させ得る。
【0025】
認証アプリケーション123は、通常、要求131を受信し、カードIDの認証を試み得る。例えば、URLが暗号化されたカードID(例えば、暗号化されたPAR値、暗号化された顧客ID等)を含む場合、認証アプリケーション123は、サーバ120のメモリ122に格納された秘密鍵104のコピーを使用して暗号ペイロードを復号し得る。秘密鍵104は、非接触カード101のメモリ102に格納されている秘密鍵104と同一であってもよく、各非接触カード101は、固有の秘密鍵104を含むように製造される(そして、サーバ120は、対応する各固有の秘密鍵104のコピーを格納する)。したがって、認証アプリケーション123は、暗号化されたカードIDを正常に復号し得る。カードIDが暗号化されない実施の形態では、認証アプリケーション123は一般に、URL106-1からカードIDパラメータを抽出し得る。しかしながら、述べたように、いくつかの実施の形態では、URL106-1はそれ全体がカードIDを含む。しかしながら、明確にするために、URL106-1全体ではなく、カードIDパラメータをカードIDとして使用して議論を続ける。
【0026】
復号及び/又は抽出がされると、認証アプリケーション123は、カードIDを1以上の既知の、又は、期待されるカードIDと比較して、一致するかを試み得る。いくつかの実施の形態では、各カードID及び/又はURLは固有であり、悪意のある行為者によって複製するには複雑すぎるため、認証アプリケーション123は、カードIDをURL126及び/又はアカウントデータ124と比較して、一致するカードIDを見つけ得る。一致するものが存在する(例えば、カードIDが1以上のURL126のパラメータ及び/又はアカウントデータ124で示されるカードIDと一致する)場合、認証アプリケーション123は、要求(及び/又はカードID及び/又はURL106-)を認証し得る。例えば、カードIDがPAR値である場合、認証アプリケーション123は、復号されたPAR値が1以上のURL126のパラメータ及び/又はアカウントデータ124内でカード101に割り当てられたPAR値と一致するかどうかを決定し得る。他の実施の形態では、認証アプリケーション123は、認証アプリケーション123が期待されるカードIDに対してより焦点を絞った検索を実行できるようにする情報を受信し得る。例えば、要求131がアカウントアプリケーション113によって生成された場合、ユーザは、クレデンシャル(例えば、生体認証クレデンシャル、ログイン/パスワード等)を使用して自分のアカウントにログインしている可能性がある。このような例では、アカウントアプリケーション113は、URL106-1にアカウントIDパラメータを含め得る。そうすることで、認証アプリケーション123は、アカウントデータ124の1以上のレコード及び/又はアカウントIDパラメータに関連付けられたURL126において、非接触カード101に関連付けられた1以上のカードIDを識別できるようになる。さらに、述べたように、アプレット103は、オフセット又は他の選択パターンを使用して、複数のURL106のうちの1つをURL106-1として選択し得る。このような例では、認証アプリケーション123は、同じオフセットを適用して比較用のURL106(例えば、非接触カード101に割り当てられたURLリストの4番目のURL)を選択し得る。そうすることで、有効なURLが受信されたが、オフセットに基づいて正しく選択されなかった場合(例えば、非接触カード101に格納された第2のURL106が受信されたが、オフセット又はその他の選択ロジックに基づいて4番目のURLが期待された場合)、認証アプリケーション123は認証を失敗させることができる。
【0027】
一致するものが存在する場合、認証アプリケーション123は、要求(及び/又はカードID及び/又はURL106-1)を認証し得る。いくつかの実施の形態では、認証アプリケーション123は、デバイス110から位置データ(例えば、全地球測位システム(GPS)座標、位置を決定するために使用されるIPアドレス等)を受信し得る。このような実施の形態では、認証アプリケーション123は、位置データが、デバイス110が、アカウントに関連付けられた1以上の既知の位置(例えば、自宅の住所、勤務先の住所等)の閾値距離内にあることを示すかどうかを決定し得る。デバイスが既知の位置の閾値距離内にない場合、認証アプリケーション123は、認証が失敗すると決定し得る。
【0028】
いくつかの実施の形態では、成功した認証に基づいて、認証アプリケーション123は、アカウント残高、仮想カード番号、明細データ等のデータをデバイス110に提供し得る。いくつかのそのような実施の形態では、認証アプリケーション123は、要求された動作を示すURL106-1の追加パラメータ(例えば、アカウント残高を表示すること、仮想アカウント番号を返すこと等を指定するパラメータ)に基づいて、データを選択する。例えば、デバイス110がアカウントアプリケーション113のインスタンスを含まないために要求131がウェブブラウザ115によって生成される実施の形態では、認証アプリケーション123は、ウェブブラウザ115及び/又はOS112にアカウントアプリケーション113のインスタンスをダウンロードしてデバイス110にインストールさせる指示を、ウェブブラウザ115に、送信し得る。
【0029】
より一般的には、カードID及び/又はURL106-1と一致するものが見つからない場合、認証アプリケーション123は、認証が失敗したと決定し得る。このような例では、認証アプリケーション123は、デバイス110に応答を送信し得る。それに応答して、要求側アプリケーション(例えば、ウェブブラウザ115及び/又はアカウントアプリケーション113)は、認証が失敗したことを示す表示をユーザに出力し得る。そうすることで、非接触カード101は認証アプリケーション123からの承認なしでは動作を実行するために使用されることができないため、非接触カード101及び/又は基礎となるアカウントのセキュリティが強化される。
【0030】
図1Cは、認証アプリケーション123が、例えば、カードID及び/又はURL106-1と一致するものが存在すると決定することによって、要求131に示されるカードID及び/又はURL106-1を正常に認証する実施の形態を示す。図示のように、認証アプリケーション123は、認証が成功したことを示す認証結果140を送信する。認証結果140は、認証が成功したか失敗したかをモバイルデバイス110に示す。図示の実施の形態では、認証が成功したため、認証アプリケーション123はさらにアカウントデータ124-1をデバイス110に送信する。アカウントデータ124-1は、非接触カード101に関連付けられたアカウント用であり得る。いくつかの実施の形態では、認証アプリケーション123は、URLベースの認証に関連付けられたデフォルトデータ(例えば、アカウント所有者名、アカウント残高等)に基づいてアカウントデータ124-1を選択する。他の実施の形態では、認証アプリケーション123は、要求131内のパラメータに基づいてアカウントデータ124-1を選択する。例えば、URL106-1のパラメータは、アカウント請求先アドレスを返すように指定し得る。このような例では、認証アプリケーション123は、アカウントデータ124からアカウント請求先アドレスをアカウントデータ124-1として選択し得る。
【0031】
より一般的には、URL106-1及び/又はカードIDの成功した認証に基づいて、任意の数及びタイプの動作が実行され得る。例えば、認証アプリケーション123は、アカウントアプリケーション113、他のアプリケーション114、及び/又は、ウェブブラウザ115に、アカウント用のクレデンシャル(例えば、生体認証データ、ユーザ名/パスワード等)を取得するように指示し得る。次に、取得されたクレデンシャルは、検証のために認証アプリケーション123に送信され、及び/又はアカウントアプリケーション113によってローカルに検証され得る。別の例として、認証アプリケーション123は、1回限りの使用の仮想アカウント番号(VAN)をアカウント用に生成させ得る。次いで、VAN及び関連付けられた有効期限日及びカード検証値(CVV)は、デバイス110に送信され得る。いくつかの実施の形態では、受信されたVAN、有効期限日、及び/又はCVVは、1以上のフォームに自動入力され得る。いくつかの実施の形態では、VAN、有効期限日、及び/又はCVVは、アカウントアプリケーション113、他のアプリケーション114、及び/又はウェブブラウザ115によってOS112のクリップボードにコピーされ得る。実施の形態は、これらの文脈に限定されない。別の例として、成功した認証を反映する受信した認証結果140に基づいて、1以上の動作を実行し得る。例えば、アカウントアプリケーション113は、アカウントに対する支払いの提出を許可し得る。追加の例として、アカウントアプリケーション113は、残高転送、アドレス変更、又は、その他のタイプのアカウント関連動作を許可し得る。別の例として、認証アプリケーション123は、ウェブブラウザ115及び/又はOS112にアカウントアプリケーション113のインスタンスをデバイス110にダウンロードさせてインストールさせる指示をウェブブラウザ115に送信し得る。
【0032】
図2Aは、一実施の形態による、非接触カード101のURLベースの認証のためのシステム200を示す。図示のように、システム200は、
図1A~
図1Cの非接触カード101、デバイス110、及び、サーバ120を含む。一般に、
図2A~2Cは、非接触カード101がサーバ120による認証のための「動的」URLを生成する実施の形態を反映している。一般に、そのような実施の形態では、URL126及び/又はアカウントデータ124は、非接触カード101ごとに、動的URL認証を容易にするために使用される一部のデータを含み得る。例えば、URL126及び/又はアカウントデータ124は、非接触カードに関連付けられた顧客の顧客ID107、非接触カード101に割り当てられた1以上カードID、データを生成するためにアプレット103によって使用されるアルゴリズム等を含み得る。
【0033】
図示されているように、カード101がデバイス110にタップされると、アプレット103が認証用の動的URL241を生成することになる。アプレット103は、任意の適切なロジックを使用して、動的URL及び/又はURLの動的パラメータ(例えば、動的カードID)を生成し得る。例えば、アプレット103は、ハッシュ関数、暗号化関数、乱数発生器、又は、他の任意のロジックを使用して、動的カードIDとして適切な長さ(例えば、256ビット、128ビット等)の英数字列を生成し得る。いくつかの実施の形態では、アプレット103は、URLの基本部分(例えば、「http://www.example.com」)を含むURL106-1を選択し、その基本部分にパラメータ(例えば、「cardid=ABC123」)として付加されるカードIDを生成する。他の実施の形態では、アプレット103は、基本部分とカードID部分を含むURL全体を生成するようにプログラムされる。
【0034】
例えば、非接触カード101のアプレット103は、暗号アルゴリズムを使用して、非接触カード101のメモリ102に格納された秘密鍵104及び顧客ID107に少なくとも部分的に基づいて暗号カードIDを生成し得る。例えば、アプレット103は、秘密鍵104及び暗号アルゴリズムを使用して顧客ID107を暗号化し得る。一般に、アプレット103は、暗号カードIDを生成するために任意のタイプの暗号アルゴリズム及び/又はシステムを使用し得り、ここにおける一例としての特定の暗号アルゴリズムの使用は、本開示を限定するものとみなされるべきではない。暗号アルゴリズムには、暗号化アルゴリズム、ハッシュベースのメッセージ認証コード(HMAC)アルゴリズム、暗号ベースのメッセージ認証コード(CMAC)アルゴリズム等が含まれ得る。暗号化アルゴリズムの非限定的な例としては、3DES又はAES128等の対称暗号化アルゴリズム、HMAC-SHA-256等の対称HMACアルゴリズム、AES-CMAC等対称CMACアルゴリズムが挙げられる。いくつかの実施の形態では、アプレット103は、鍵派生技術(key diversification technique)を使用して暗号化を実行し、暗号ペイロードを生成し得る。鍵派生技術の例は、2018年11月29日に出願された米国特許出願第16/205,119号に記載されている。前述の特許出願は、その全体が参照により本明細書に援用される。
【0035】
鍵派生の例では、非接触カード101及びサーバ120はカウンタ値を維持し得る。一般に、カウンタ値は、所与の非接触カード101とサーバ120との間で同期される値を含む。カウンタ値は、非接触カード101とサーバ120(及び/又は非接触カード101及びモバイルデバイス110)との間でデータが交換されるたびに変化する数値を含み得る。データを(例えば、サーバ120及び/又はモバイルデバイス110に)送信する準備をしているとき、非接触カード101のアプレット103は、カウンタ値をインクリメントし得る。次いで、非接触カード101は、秘密鍵104及びカウンタ値を暗号アルゴリズムへの入力として提供し得り、暗号アルゴリズムは出力として派生鍵(diversified key)を生成する。次いで、非接触カード101は、暗号化アルゴリズムへの入力として派生鍵及びデータを使用して、データ(例えば、顧客ID107及び/又は他のデータ)を暗号化し得る。例えば、顧客ID107を派生鍵で暗号化すると、暗号化された顧客IDが得られる。暗号化されたデータ(暗号化された顧客ID107等)を受信すると、サーバはカウンタ値をインクリメントし得る。
【0036】
顧客ID107は、暗号化カードIDを形成するために暗号化され得るデータの一例として使用されるが、他のデータ要素も暗号化され得る。例えば、静的URL、カードID、PAR、又は、アカウント所有者のその他の属性を暗号化して、暗号カードIDが生成され得る。実施の形態はこの文脈に限定されない。
【0037】
一般に、非接触カード101のアプレット103は、計算されると、
図2A中の動的URL241として示されるURLのパラメータとして暗号カードIDを含み得る。いくつかの実施の形態では、アカウントアプリケーション113は、要求されたユーザ動作(例えば、アカウント残高の表示)に関連付けられたパラメータを動的URL241のパラメータとして含めるようにアプレット103に指示する。その後、アプレット103は、そのパラメータを動的URLに含め得る。加えて及び/又は代えて、アプレット103は、動的URL241のパラメータとして、カードIDを生成するために使用されるアルゴリズムの表示を含み得る。そうすることにより、認証アプリケーション123が動的URL241を認証するのを支援し得る。別の例として、アプレット103は、URL241のパラメータとして、カードIDがPAR値であるという表示を含み得る。いくつかの実施の形態では、動的URL241は、認証アプリケーション123及び/又は認証サーバ120を対象としてよく、パラメータとして少なくともカードIDを含む。しかしながら、前述したように、アカウントアプリケーション113がデバイス110にインストールされていない場合、OS112はアプレット103にURLを生成するように指示し得る。次に、アプレット103のロジックは、動的URL241を生成することを決定し得る。一実施の形態では、アプレット103は、PAR値を格納し得る。別の実施の形態では、カード101は複数のアプレットを含み、アプレット103は別のアプレット(例えば、EMVアプレット)からPAR値を受信し得る。
【0038】
次に、アプレット103は、動的URL241をモバイルデバイス110に送信し得る。いくつかの実施の形態では、デバイス110のOS112は、適切なアプリケーション(例えば、アカウントアプリケーション113、他のアプリケーション114、及び/又は、ウェブブラウザ115)を起動し、そして起動されたアプリケーションにURL241を提供する。アカウントアプリケーション113が起動される(またはOS112のフォアグラウンドですでに実行されている)実施の形態では、OS112はURL241をアカウントアプリケーション113に提供し得り、アカウントアプリケーション113は追加データをURL241のパラメータとして提供し得る。例えば、アカウントアプリケーション113は、URL241のパラメータとしてGPS座標、パラメータとして1以上の要求された動作の表示等を挿入し得る。OS112によって起動される、開かれる、又は、その他の方法で呼び出されるアプリケーションに関係なく、要求231は、動的URL241を含み得り、一般に、動的URL241を認証サーバ120に送信し得る。静的URLと同様に、起動されたアプリケーションは、さらに、動的URL241を関連付けられたサーバに送信し得る(例えば、販売者アプリケーション114は、動的URL241を、認証のために販売者のサーバに送信し得る)。アカウントアプリケーション113がデバイス110にインストールされていない実施の形態では、URL241は、OS112にウェブブラウザ115を起動させ、ウェブブラウザ115に(例えば、要求231を生成することによって)URL241にアクセスさせ得る。
【0039】
次に、認証アプリケーション123は、URL241の認証を試み得る。例えば、URL241が暗号カードIDとして暗号化されたカードIDを含む場合、認証アプリケーション123は、サーバ120のメモリ122に格納された秘密鍵プ104のコピーを使用して暗号カードIDを復号し得る。秘密鍵104は、非接触カード101のメモリ102に格納される秘密鍵104と同一であり得、各非接触カード101は、固有の秘密鍵104を含むように製造される(そしてサーバ120は、各固有の秘密鍵の対応するコピーを格納する)。したがって、認証アプリケーション123が暗号カードIDを正常に復号した場合、認証アプリケーション123は、復号されたカードIDがアカウントデータ124及び/又はURL126内の期待されるカードIDと一致するかどうかを決定し得る。一致する場合、認証アプリケーション123は、カードIDを検証又は認証する。別の例として、暗号化されたPARがカードIDとして使用される場合、認証アプリケーション123は、PARを復号し、PARがアカウントデータ124及び/又はURL126内の期待されるPARと一致するかどうかを決定し得る。一致する場合、認証アプリケーション123は、PARを検証又は認証する。
【0040】
別の例として、URL241が暗号カードIDとして暗号化された顧客ID107を含む場合、認証アプリケーション123は、サーバのメモリ122に格納された秘密鍵104のコピーを使用して暗号化された顧客ID107を復号し得る。したがって、認証アプリケーション123が暗号化された顧客ID107を正常に復号した場合、認証アプリケーション123は、復号された顧客ID107がアカウントデータ124及び/又はURL126内の顧客ID107と一致するかどうかを決定し得る。一致する場合、認証アプリケーション123は、動的URL241を検証又は認証する。
【0041】
別の例として、顧客ID107及び/又はPARが鍵派生を使用して暗号化される場合、認証アプリケーション123は、非接触カードに関連付けられたカウンタ値をインクリメントし得る。次いで、認証アプリケーション123は、秘密鍵104及びカウンタ値を暗号アルゴリズムへの入力として提供し得り、暗号アルゴリズムは出力として派生鍵を生成する。結果として得られる派生鍵は、非接触カード101によって生成された派生鍵に対応し得り、暗号化された顧客ID107及び/又はPARを復号するために使用され得る。したがって、認証アプリケーション123は、暗号化データを正常に復号し、それによって暗号化データを検証し得る。
【0042】
別の例として、アプレット103が顧客ID107(またはPAR等の他のデータ)のハッシュを使用してカードIDを生成する場合、認証アプリケーション123は、アプレット103により使用される同じハッシュ関数を使用して、顧客ID107のハッシュを計算し得る。これにより、期待されるカードIDが生成され、これは、ハッシュ関数を使用してアプレットによって生成されたカードIDと一致すべきである。受信したカード識別子が期待されるカード識別子と一致する場合、認証アプリケーション123はカードIDを認証する。
【0043】
前述のように、いくつかの実施の形態では、認証アプリケーション123は、要求231内の位置データを受信し得る。位置データが受信された場合、認証アプリケーション123は、位置データがデバイス110及び/又はカード101がアカウントに関連付けられた1以上の既知の位置(例えば、請求先住所、自宅住所、配送先住所等)の閾値距離内にあるかどうかを決定する。
【0044】
図2Bは、認証アプリケーション123が、例えば、カードIDと、認証アプリケーション123によって生成される期待されるカードIDとが一致すると決定することによって、又は、カードIDとアカウントデータ124及び/又はURL126内の1以上のカードIDとが一致すると決定することによって、認証アプリケーション123が要求231の動的URLのパラメータとして示されるカードIDを正常に認証する実施の形態を示す。図示のように、認証アプリケーション123は、認証が成功したことを示す認証結果242を送信する。図示の実施の形態では、認証が成功したため、認証アプリケーション123はさらにアカウントデータ124-2をデバイス110に送信する。アカウントデータ124-1は、非接触カード101に関連付けられたアカウント用であり得る。いくつかの実施の形態では、認証アプリケーション123は、URLベースの認証に関連付けられたデフォルトのデータタイプ(例えば、アカウント所有者名、アカウント残高等)に基づいてアカウントデータ124-2を選択する。他の実施の形態では、認証アプリケーション123は、要求231内のパラメータに基づいてアカウントデータ124-2を選択する。例えば、動的URL241のパラメータは、アカウント残高を返すように指定し得る。このような例では、認証アプリケーション123は、アカウントデータ124からアカウント残高をアカウントデータ124-2として選択し得る。
【0045】
静的URLと同様に、動的URL241及び/又は関連付けられたカードIDの成功した認証に基づいて、任意の数及びタイプの動作を実行し得る。例えば、認証アプリケーション123は、アカウントアプリケーション113、他のアプリケーション114、及び/又は、ウェブブラウザ115に、アカウント用のクレデンシャル(例えば、生体認証データ、ユーザ名/パスワード等)を取得するように指示し得る。次に、取得されたクレデンシャルは、検証のために認証アプリケーション123に送信され、及び/又はアカウントアプリケーション113によってローカルに検証され得る。別の例として、認証アプリケーション123は、1回限りの使用の仮想アカウント番号(VAN)を生成させ得る。 アカウント。次いで、VAN及び関連付けられた有効期限日、及び、カード検証値(CVV)は、デバイス110に送信され得る。いくつかの実施の形態では、受信されたVAN、有効期限日、及び/又は、CVVは、1以上のフォームに自動入力され得る。いくつかの実施の形態では、VAN、有効期限日、及び/又は、CVVは、アカウントアプリケーション113、他のアプリケーション114、及び/又は、ウェブブラウザ115によって、OS112のクリップボードにコピーされ得る。実施の形態は、これらの文脈に限定されない。別の例として、成功した認証を反映する受信した認証結果242に基づいて、1以上の動作を実行し得る。例えば、アカウントアプリケーション113は、アカウントに対する支払いの提出を許可し得る。追加の例として、アカウントアプリケーション113は、残高転送、アドレス変更、又は、その他のタイプのアカウント関連動作を許可し得る。前述したように、他の例では、認証アプリケーション123は、ウェブブラウザ115及び/又はOS112にアカウントアプリケーション113のインスタンスをデバイス110にダウンロードさせてインストールさせる指示をウェブブラウザ115に送信し得る。
【0046】
前述のように、いくつかの実施の形態では、アプレット103は、動的URL及び/又は静的URLのカードIDを暗号化し得る。このような実施の形態では、アプレット103は、カードIDが暗号化されるという表示をURLのパラメータとして含み得り、これにより、認証アプリケーション123がカードIDが暗号化されていると決定できるようになる。さらに、そのような実施の形態では、アプレット103は、暗号化カードIDを対応するURLのパラメータとして含める前に、URLと互換性のあるエンコードフォーマットにしたがって暗号化データをエンコードする。例えば、暗号化されたカードIDはバイナリデータの文字列(例えば、0と1)であり得、URLとは互換性がない可能性がある。したがって、アプレット103は、暗号化されたカードIDを情報交換用米国標準コード(ASCII)ベース64エンコード形式にエンコードし得る。これにより、バイナリ暗号化されたカードIDが、radix-64表現(例えば、前の例の「ABC123」)に変換されることにより、ASCII文字列形式で表現される。次に、認証アプリケーション123は、任意の復号を実行する前に、ASCII文字列をバイナリにデコードし得る。
【0047】
図3Aは、URLベースの認証のために非接触カード101をタップする例の実施の形態を示す概略
図300である。図示のように、デバイス110のアカウントアプリケーション113は、アカウント残高を表示するために非接触カード101をタップすることを示すページを表示する。前述のように、非接触カード101がモバイルデバイス110にタップされると、アカウントアプリケーション113は、カードリーダ118を介して(例えば、NFC、ブルートゥース(登録商標)、RFID、及び/又はEMVプロトコル等を介して)、非接触カード101に、表示を送信する。この表示は、認証のためのURLを提供することを示し得る。URLは、動的に生成されたURL及び/又はURL106から選択された静的URLであり得る。しかしながら、いくつかの実施の形態では、非接触カード101は、モバイルデバイス110から受信される指示を必要とせずに、アプレット103にURLを提供させる。URLが動的に生成されるか、及び/又は、静的URL106から選択されるかにかかわらず、URLはパラメータとして少なくとも1つのカードIDを含む。述べたように、アプレット103は、URL内に追加パラメータをさらに提供し得る。
【0048】
図3Bは、アカウントアプリケーション113が非接触カードからURLを受信する実施の形態を示す概略
図310である。述べたように、アカウントアプリケーション113は、受信したURLに追加パラメータを任意で追加し得る。次に、アカウントアプリケーション113は、受信したURLを認証サーバ120に送信し得る。その後、認証アプリケーション123は、受信したURLを検証又は認証することを試み得る。例えば、認証アプリケーション123は、受信したURLが期待されるURLと一致するかどうかを判定し得る。期待されるURLは、URL126及び/又はアカウントデータ124内の任意のURLであり得る。別の例として、認証アプリケーション123は、受信したURLからカードIDを抽出し、抽出されたカードIDがURL126及び/又はアカウントデータ124内で示された任意のカードIDと一致するかどうかを決定してよい。動的URLの例では、認証アプリケーション123は、アプレット103と同じアルゴリズムを使用して動的URLのカードIDの再生成を試み、動的URLのカードIDが認証アプリケーション123によって再生成されるカードIDと一致するかどうかを決定し得る。前述したように、いくつかの実施の形態では、認証アプリケーション123は、カードIDが暗号化されている場合には復号し得る。
【0049】
図3Cは、認証アプリケーション123がアカウントアプリケーション113から受信したURLを正常に認証する実施の形態を示す概略
図320である。図示されるように、アカウントアプリケーション113は、URLの成功した認証に応答して、認証アプリケーション123から受信した情報を表示する。例えば、アカウントアプリケーション113は、認証アプリケーション123から受信し得るアカウント所有者の名前及びアカウントの残高を表示する。
【0050】
図4Aは、非接触カード101がデバイス110にタップされたときにデバイス110がOS112のホームページを出力する実施の形態を示す概略
図400である。前述したように、カード101がデバイス110にタップされたとき、アプレット103は、静的URL及び/又は動的URLをデバイス110に提供し得る。例えば、前述したように、アプレット103は、非接触カード101の秘密鍵104(及び/又は派生鍵)を用いて暗号化されたカードIDを用いて動的URLを生成し得る。次に、アプレット103は、URLをモバイルデバイス110に送信し得る。受信すると、OS112は、アカウントアプリケーション113、他のアプリケーション114、及び/又は、URLを開くためにOS112に登録されたウェブブラウザ115を起動する等のアクションを実行し得る。有利には、そうすることにより、OS112のフォアグラウンドで実行されるアクティブなアプリケーション(例えば、アカウントアプリケーション113、他のアプリケーション114、及び/又は、ウェブブラウザ115)を必要としない、URLベースの認証の解決策が提供される。有利には、このような解決策は、デバイス110が、デバイス上にインストールされるアカウントアプリケーション113のインスタンスを含むことを必要としない。さらに、そのような実施の形態では、URLベースの認証は、デバイス110上でのアカウントアプリケーション113のインスタンスのダウンロード及びインストールを容易にし得る。
【0051】
図4Bは、非接触カード101からの動的URLの受信に応答してOS112がウェブブラウザ115を開く実施の形態を示す概略
図410である。前述したように、いくつかの実施の形態では、デバイス110は、アカウントアプリケーション113のインスタンスを含まない。このような実施の形態では、動的URLにより、OS112はウェブブラウザを開く。ウェブブラウザ115のアドレスフィールド401は、非接触カードから受信したURLを反映する。
図4Bに示す例では、アプレット103は、秘密鍵104及び顧客ID107(及び/又はPAR値)を使用して、「ABCD123XYZ」の例の暗号化文字列を生成し得る。次に、アプレット103は、認証アプリケーション123を対象とするURLを生成し得り、このURLは、URLのカードIDパラメータとして暗号化された文字列を含む。
図4Bに示す例では、URLは「https:///www.example.com/auth.html?ABCD123XYZ」であり得る。次に、ウェブブラウザ115は、URLにアクセスし得り、これにより、認証アプリケーション123は、検証のためにURLからカードIDパラメータを抽出する。
【0052】
一般に、認証アプリケーション123は、非接触カード101に割り当てられた秘密鍵104を使用してカードIDを復号し、復号されたカードIDを検証し得る。述べたように、認証アプリケーション123は、復号する前に、暗号化されたカードIDをデコードし得る。次いで、認証アプリケーション123は、復号されたカードIDが既知のカードID(例えば、URL126及び/又はアカウントデータ124内で示された複数のカードID及び/又はURLのうちの1つ)と一致するかどうかを決定し得る。
図4Bは、認証アプリケーション123が、復号されたカードIDが既知のカードIDと一致すると決定する実施の形態を反映する。したがって、認証アプリケーション123は、成功の表示をウェブブラウザ115に送信する。さらに、図示のように、認証アプリケーション123は、ウェブブラウザ115で表示するために出力される仮想アカウント番号、有効期限日、及び、CVVを生成している。
図4Bに示すように、ウェブブラウザ115は、成功したURLベースの認証の表示、仮想アカウント番号、有効期限日、及び、CVVを含む。
【0053】
開示された実施の形態の動作は、以下の図を参照してさらに説明される。図の一部はロジックフローを含み得る。ここに提示されるこのような図は特定のロジックフローを含み得るが、ロジックフローは、ここに記載されるような全般的な機能がどのように実装され得るかの例を提供するだけであることが理解される。さらに、与えられたロジックフローは、特に指定がない限り、必ずしも提示された順序で実行される必要はない。さらに、実装によっては、ロジックフローに示されているすべての動作が必要なわけではない。さらに、与えられたロジックフローは、ハードウェア要素、プロセッサによって実行されるソフトウェア要素、又は、それらの任意の組み合わせによって実装され得る。実施の形態はこの文脈に限定されるものではない。
【0054】
図5は、ロジックフロー500の実施の形態を示す。ロジックフロー500は、ここに記載される1以上の実施の形態によって実行される動作の一部又はすべてを表し得る。例えば、ロジックフロー500は、静的URLを使用して支払いカード用のURLベースの認証を提供する動作の一部又はすべてを含み得る。実施の形態はこの文脈に限定されない。
【0055】
示されているように、ロジックフロー500はブロック501から始まり、支払いカードの製造時に、1以上のURLが非接触の支払いカードに割り当てられる。例えば、1以上の固有のURL106は、非接触カード101等の複数の異なる支払いカードに割り当てられ得る。一般に、各URLは、パラメータとして、少なくとも1つのカードIDを含む。カードIDは、各非接触カードを一意に識別する任意の英数字文字列であり、任意の適切な関数を使用して生成され得る。したがって、カードの製造時、生成されたURLは、非接触カード101のメモリ102にURL106としてプログラムされ得る。さらに、生成されたURLは、サーバ120のURL126内に記憶され得る。URL126内の各エントリは、URL及び関連付けられたカード(及び/又はカードに関連付けられたアカウント)を含む。前述したように、カードIDは、顧客ID、PAR値、又は、その他のデータ等の任意の値であり得る。
【0056】
ブロック505で、ユーザは非接触カード101をデバイス110にタップして、非接触カード101にURLを提供させる。デバイス110は、任意のアクティブ状態にあり得る。例えば、デバイス110は、OS112のホーム画面を表示し得る。別の例として、デバイス110は、OS112のフォアグラウンドにアカウントアプリケーション113を表示し得る。ブロック510で、非接触カードのアプレット103は、 非接触カード101に格納されたURL106から静的URL106-1を選択する。選択されたURL106-1は、URLのパラメータとしてカード識別子を含む。述べたように、アプレット103は、選択ロジック、オフセット、又は、任意の他の選択技術を使用して、複数のURL106から選択し得る。URLは、少なくとも部分的に、たどられるとアカウントアプリケーション113及び/又は別のアプリケーション114の所定のページが開かれるユニバーサルリンクURLであり得る。ブロック515で、アプレット103は、カード識別子を含む選択されたURL106-1をモバイルデバイス110に送信し得る。ブロック520で、デバイスのOS112は、URL106-1の受信に応答して、URL106-1に関連付けられたクライアントアプリケーションを起動する。例えば、OS112は、URL106-1の受信に応答して、アカウントアプリケーション113、他のアプリケーション114のうちの1つ、及び/又は、ウェブブラウザ115を開き得る。一例では、URL106-1は、アカウントアプリケーション113及び/又は他のアプリケーション114のうちの1つ等のアプリケーションに登録されるディープリンクURLである。
【0057】
ブロック525では、ブロック520で起動されたアプリケーションは、カード101から受信したURL106-1を含む要求を生成する。例えば、アカウントアプリケーション113は、URL106-1を示す認証アプリケーション123を対象とする要求を生成し得り、ここで、要求はURL106-1を認証することを示す。別の例として、ウェブブラウザ115は、URL106-1を示すHTTP要求を生成し得り、これは認証アプリケーション123を対象とし、認証アプリケーション123にURL106-1を認証させる。いくつかの実施の形態では、デバイス110の位置を記述する位置データ、要求された動作(例えば、アカウント残高の表示、仮想アカウント番号の生成等)、及び、認証アプリケーション123によって実行される認証動作を容易にするためのその他のパラメータ等の、追加データがURL106-1に、追加され得る。
【0058】
ブロック530で、認証アプリケーション123は、ブロック540で生成されたURL106-1を含む要求を受信する。ブロック535で、認証アプリケーション123は、URL106-1からカードIDパラメータを抽出する。カードIDが暗号化されるいくつかの実施の形態では、認証アプリケーション123は、秘密鍵104を使用してカードIDを復号する。ブロック540で、認証アプリケーション123は、カードIDを1以上の期待されるカードID値と比較する。例えば、認証アプリケーション123は、カードID値と一致する結果を返すためにURL126及び/又はアカウントデータ124に問い合わせし得る。いくつかの実施の形態では、カードIDの一部分ではなく、URL106-1全体が、URL126及び/又はアカウントデータ124内に一致するものがあるか検索される。一致しない場合、認証アプリケーション123は、認証が失敗したと決定する。ブロック545で、認証アプリケーション123は、カードID(及び/又はURL106-1)と、URL126及び/又はアカウントデータ124内の1以上のカードID(及び/又はURL)との間に少なくとも1つの一致が存在すると決定する。したがって、認証アプリケーション123は、URL106-1を認証し、ブロック550で認証が成功したと決定し得る。
【0059】
ブロック555で、認証アプリケーション123は、成功した認証の表示をデバイス110上の要求側アプリケーションに送信し得る。さらに、認証アプリケーション123は、任意で追加データをデバイス110に送信し得る。URL106-1のパラメータがアカウント残高を提供することを示す場合、認証アプリケーション123は、現在のアカウント残高をデバイス110に提供し得る。ブロック560で、デバイス110は、成功の表示及び認証アプリケーション123によって提供された任意のデータを受信する。ブロック565で、デバイス110は、成功した認証の表示及び受信した任意のデータを出力する。デバイス110はさらに、OS112のクリップボードへのデータのコピー、デバイス110へのアプリケーションのインストール、アカウント残高の表示、資金の転送等の追加の動作を許可し得る。
【0060】
図6は、ロジックフロー600の実施の形態を示す。ロジックフロー600は、ここに記載される1以上の実施の形態によって実行される動作の一部又はすべてを表し得る。例えば、ロジックフロー600は、動的URLを使用して支払いカード用のURLベースの認証を提供する動作の一部又はすべてを含み得る。実施の形態はこの文脈に限定されない。
【0061】
示されるように、ロジックフロー600はブロック605から始まり、ユーザが非接触カード101をデバイス110にタップして、非接触カード101にURLを提供させる。デバイス110は、任意のアクティブ状態にあり得る。例えば、デバイス110は、OS112のホーム画面を表示し得る。別の例として、デバイス110は、アカウントアプリケーション113、他のアプリケーションのうちの1つ、及び/又は、ウェブブラウザ115をOS112のフォアグラウンドに表示し得る。ブロック610で、非接触カード101のアプレット103は、関数を使用して暗号化された動的カードIDを生成する。この関数は、ハッシュ関数、暗号化関数、乱数発生器、又は、その他の適切な関数であり得る。いくつかの実施の形態では、暗号化された動的カードIDの生成は、秘密鍵104を使用して非接触カード101の顧客ID107を暗号化することを含む。いくつかの実施の形態では、暗号化された動的カードIDの生成は、出力を(例えば、顧客ID107に基づいて)計算するハッシュ関数、及び、秘密鍵104を使用して出力を暗号化することを含む。
【0062】
ブロック615で、アプレット103は、ブロック610で生成された暗号化されたカードIDを含むURLを生成する。例えば、アプレット103は、認証アプリケーション123を対象とするURLにパラメータとして暗号化されたカードIDを追加し得る。アプレット103はさらに、要求された動作、暗号化されたカードIDを計算するために使用される関数等の他のパラメータをURLに付加し得る。いくつかの実施の形態では、アプレット103は、生成されたURLをURL106のデータベースに格納し得る。ブロック620で、アプレット103は、ブロック615で生成されたURLをデバイス110に送信する。ブロック625で、OS112は、URLの受信に応答してクライアントアプリケーションを開き得る。例えば、OS112は、アカウントアプリケーション113、他のアプリケーション114のうちの1つ、及び/又は、ウェブブラウザ115を開き得る。ブロック630において、ブロック625でOS112によって開かれたアプリケーションは、非接触カード101から受信したURLを含む要求を生成する。要求は、URLを含むHTTPリクエスト等、任意のタイプの要求であり得る。
【0063】
ブロック635で、認証アプリケーション123は、デバイス110から要求を受信する。ブロック640で、認証アプリケーション123は、例えば、サーバ120によって格納された秘密鍵104のインスタンスを使用して、URL内の暗号化されたカードIDを復号する。ブロック645で、認証アプリケーション123は、期待される動的カード識別子を生成する。例えば、認証アプリケーション123は、ハッシュ関数を使用して、期待されるハッシュ値を計算し得る(例えば、顧客ID107をハッシュすることによって)。ブロック650で、認証アプリケーション123は、復号されたカードIDを期待される動的カードIDと比較する。ブロック655で、認証アプリケーション123は、期待される動的カードIDと一致する復号されたカードIDに基づいて要求を認証する。
【0064】
ブロック660で、認証アプリケーション123は、デバイス110上の要求側アプリケーションに成功した認証の表示を送信し得る。さらに、認証アプリケーション123は、デバイス110に追加データを送信し得る。アプレット103によって生成された(及び/又はデバイス110によって変更された)URLのパラメータが仮想アカウント番号を提供することを示す場合、認証アプリケーション123は、仮想アカウント番号を生成し、仮想アカウント番号、有効期限日、及び、CVVをデバイス110に提供し得る。ブロック665で、デバイス110は、成功の表示、及び、認証アプリケーション123によって提供されたデータを受信する。デバイス110上の要求側アプリケーションは、受信した成功した認証の表示及び受信したデータを出力し得る。デバイス110はさらに、仮想アカウント番号をOS112のクリップボードにコピーすること、アプリケーションをデバイス110にインストールすること、アカウント残高を閲覧すること、資金を転送すること等の追加の動作を許可し得る。
【0065】
図7Aは、クレジットカード、デビットカード、及び/又は、ギフトカード等の支払いカードを含み得る非接触カード101を示す。図示されるように、非接触カード101は、カード101の表面又は裏面に表示されるサービスプロバイダ702によって発行され得る。いくつかの例では、非接触カード101は、支払いカードに関連せず、限定されないが、識別カードを含み得る。いくつかの例では、支払いカードは、デュアルインターフェース非接触型支払いカードを含み得る。非接触カード101は、プラスチック、金属、及び、他の材料からなる単層又は1以上の積層を含み得る基板710を含み得る。例示的な基板材料は、ポリ塩化ビニル、酢酸ポリ塩化ビニル、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、カーボン、紙、及び、生分解性材料を含む。いくつかの例では、非接触カード101は、ISO/IEC7810規格のID-1フォーマットに準拠する物理的特性を有してもよく、さらに、非接触カードは、ISO/IEC14443規格に準拠してもよい。しかしながら、本開示による非接触カード101は異なる特性を有することができ、本開示は非接触カードが支払いカードに実装されることを必要としないことが理解される。
【0066】
非接触カード101は、また、カードの前面及び/又は背面に表示される識別情報715と、接触パッド720とを含み得る。接触パッド720は、モバイルデバイス110、ユーザデバイス、スマートフォン、ラップトップ、デスクトップ、又は、タブレットコンピュータ等の別の通信デバイスとの接触を確立するように構成され得る。非接触カード101はまた、
図7Aには示されていない処理回路、アンテナ、及び、他のコンポーネントを含み得る。これらのコンポーネントは、接触パッド720の裏側、又は、基板710上の他の場所に配置され得る。非接触カード101はまた、磁気ストリップ又はテープを含み得り、これは、カードの裏面に配置され得る(
図7Aには示されていない)。
【0067】
図7Bに示されるように、非接触カード101の接触パッド720は、マイクロプロセッサ730及びメモリ102を含む、情報を格納及び処理するための処理回路725を含み得る。処理回路725は、ここで説明する機能を実行するために必要な、プロセッサ、メモリ、エラー及びパリティ/CRCチェッカ、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、及び、改ざん防止ハードウェア等の追加のコンポーネントを含み得ることが理解される。
【0068】
メモリ102は、読み出し専用メモリ、ライトワンスリードマルチプルメモリ、又は、読み取り/書き込みメモリ、例えば、RAM、ROM、及び、EEPROMであり得、非接触カード101は、これらのメモリのうちの1以上を含み得る。読み取り専用メモリは、工場出荷時に読み取り専用としてプログラム可能であるか、又は、1回だけプログラム可能である場合がある。ワンタイムプログラマビリティにより、一度書き込んで何度も読み取ることができる。ライトワンスリードマルチプルメモリは、メモリチップが工場出荷後のある時点でプログラムされる場合がある。メモリは一度プログラムされると書き換えることはできないが、何度でも読み取ることができる。読み取り/書き込みメモリは、工場出荷後に何度もプログラムされ、再プログラムされる場合がある。読み取り/書き込みメモリは、工場出荷後に何度も読み取られる場合もある。
【0069】
メモリ102は、1以上アプレット103、秘密鍵104、暗号化データ105、1以上のURL106、1以上の顧客ID107、及び、PAR値731を格納するように構成され得る。1以上のアプレット103は、Java(登録商標)カードアプレット等、1以上の非接触カード上で実行するように構成された1以上のソフトウェアアプリケーションを含み得る。しかしながら、アプレット103はJavaカードアプレットに限定されず、非接触カード又は限られたメモリを有する他のデバイス上で動作可能な任意のソフトウェアアプリケーションであってもよいことが理解される。顧客ID107は、非接触カード101のユーザに割り当てられた一意の英数字の識別子を含むことができ、この識別子は、非接触カードのユーザを他の非接触カードユーザから区別し得る。いくつかの例では、顧客ID107は、顧客とその顧客に割り当てられたアカウントの両方を識別し得り、さらに、顧客のアカウントに関連付けられた非接触カードを識別し得る。いくつかの実施の形態では、アプレット103は、顧客ID107を鍵104による暗号化アルゴリズムへの入力として使用して、顧客ID107を暗号化し得る。同様に、アプレット103は、動的カードIDを生成し、動的カードIDをパラメータとして含む動的URLを構築し得る。
【0070】
上述したように、PAR値731は、非接触カード101及びカード101によって生成される任意の支払いトークンに固有である。PAR731は、非接触カード101に割り当てられた固有の英数字識別子を含み得り、これは、非接触カードを他の非接触カードから区別する。少なくとも1つの実施の形態では、PARは29個の英数字を含む。このような実施の形態では、4文字はBINコントローラ識別子を表し得り、残りの25文字は非接触カード101のプライマリアカウント番号(PAN)に対応する固有の識別子を表し得る。いくつかの実施の形態では、アプレット103は、1以上のURLのカードIDパラメータとしてPAR731を含む。いくつかの実施の形態では、アプレット103は、例えば鍵104及び/又は派生鍵を用いてPAR731を暗号化し得る。同様に、アプレット103は、暗号化されたPAR731をパラメータとして含む動的URLを構築し得る。サーバ120は、上述したように、PAR731を使用して要求を認証し得る。いくつかの実施の形態では、デバイス110は、EMV読み取りを使用してPAR731を直接読み取り得る。
【0071】
前述の例示的な実施の形態のプロセッサ及びメモリ要素は、接触パッドを参照して説明されてきたが、本発明はこれに限定されない。これらの要素は、パッド720の外側に実装されてもよいし、パッド720とは完全に別個に実装されてもよいし、又は、接触パッド720内に位置するプロセッサ730及びメモリ102要素に加えてさらなる要素として実装されてもよいことが理解される。
【0072】
いくつかの例では、非接触カード101は、1以上のアンテナ755を含み得る。1以上のアンテナ755は、非接触カード101内及び接触パッド720の処理回路725の周囲に配置され得る。例えば、1以上のアンテナ755は、処理回路725と一体であってもよく、1以上のアンテナ755は、外部ブースタコイルとともに使用されてもよい。別の例として、1以上のアンテナ755は、接触パッド720及び処理回路725の外部にあってもよい。
【0073】
実施の形態では、非接触カード101のコイルは、空芯変圧器の二次側として機能し得る。端末は、電力遮断又は振幅変調によって非接触カード101と通信し得る。非接触カード101は、非接触カードの電源接続のギャップを使用して、端末から送信されたデータを推測することができ、当該ギャップは、1以上のコンデンサによって機能的に維持され得る。非接触カード101は、非接触カードのコイルの負荷のスイッチング又は負荷変調によって通信を返すことができる。干渉により端末のコイルで負荷変調が検出され得る。より一般的には、アンテナ755、処理回路725、及び/又は、メモリ102を使用して、非接触カード101は、NFC、ブルートゥース(登録商標)、及び/又は、Wi-Fi通信を介して通信するための通信インターフェースを提供する。
【0074】
上で説明したように、非接触カード101は、Javaカード等の、スマートカード又は限られたメモリを有する他のデバイス上で動作可能なソフトウェアプラットフォーム上に構築することができ、1以上のアプリケーション又はアプレットを安全に実行し得る。アプレットを非接触カードに追加して、さまざまなモバイルアプリケーションベースの用途で多要素認証(MFA)用のワンタイムパスワード(OTP)を提供する。アプレットは、モバイルNFCリーダ(例えば、デバイス110のカードリーダ118)等のリーダからの近距離無線データ交換要求等の1以上の要求に応答し、NDEFテキストタグとしてエンコードされた暗号的に安全なOTP(例えば、暗号化された顧客ID)を含むNDEFメッセージを生成するように構成され得る。
【0075】
図8は、前述したような様々な実施の形態を実装するのに適し得るコンピューティングシステム802を含む例示的なコンピューティングアーキテクチャ800の実施の形態を示す。様々な実施の形態において、コンピューティングアーキテクチャ800は、電子デバイスを備えるか、電子デバイスの一部として実装され得る。いくつかの実施の形態では、コンピューティングアーキテクチャ800は、例えば、システム100の1以上のコンポーネントを実装するシステムを表し得る。いくつかの実施の形態では、コンピューティングシステム802は、例えば、システム100のモバイルデバイス110及び/又は認証サーバ120を表し得る。実施の形態は、この文脈に限定されない。より一般的には、コンピューティングアーキテクチャ800は、
図1~
図7Bを参照してここで説明されるすべてのロジック、アプリケーション、システム、方法、装置、及び、機能を実装するように構成される。
【0076】
本出願で使用されるように、「システム(system)」、「コンポーネント(component)」、及び、「モジュール(module)」という用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は、実行中のソフトウェアのいずれかのコンピュータ関連実体を指すことを意図している。その例は、例示的なコンピューティングアーキテクチャ800によって提供される。例えば、コンポーネントは、コンピュータプロセッサ上で実行されるプロセス、コンピュータプロセッサ、ハードディスクドライブ、複数のストレージドライブ(光学式及び/又は磁気記憶媒体)、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び/又は、コンピュータであり得るが、これらに限定されない。例として、サーバ上で実行されるアプリケーションとサーバの両方をコンポーネントにすることができる。1以上のコンポーネントは、実行のプロセス及び/又はスレッド内に常駐することができ、コンポーネントは1台のコンピュータ上にローカライズされたり、2台以上のコンピュータ間で分散されたりすることができる。さらに、コンポーネントは、動作を調整するために、さまざまなタイプの通信媒体によって互いに通信可能に結合され得る。調整には、一方向又は双方向の情報交換が含まれ得る。例えば、コンポーネントは、通信媒体を介して通信される信号の形で情報を通信し得る。情報は、さまざまな信号線に割り当てられた信号として実装できます。このような割り当てでは、各メッセージは信号である。しかしながら、さらなる実施の形態では、代わりにデータメッセージを使用することもできる。このようなデータメッセージは、さまざまな接続を介して送信され得る。例示的な接続には、パラレルインターフェース、シリアルインターフェース、及び、バスインターフェースが含まれる。
【0077】
コンピューティングシステム802は、1以上のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インターフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力(I/O)コンポーネント、電源等の様々な共通のコンピューティング要素を含む。しかしながら、実施の形態は、コンピューティングシステム802による実装に限定されない。
【0078】
図8に示すように、コンピューティングシステム802は、プロセッサ804、システムメモリ806、及び、システムバス808を備える。プロセッサ804は、限定されないが、AMD(登録商標)、Athlon(登録商標)、Duron(登録商標)、及び、Optero(登録商標)プロセッサ、ARM(登録商標)アプリケーション、組み込みの安全なプロセッサ、IBM(登録商標)及びSony(登録商標)Cellプロセッサ、Intel(登録商標)、Celeron(登録商標)、Core(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、XScale(登録商標)プロセッサ、及び、同様のプロセッサを含む、さまざまな商業的に利用可能なコンピュータプロセッサであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサ、及び、他のマルチプロセッサアーキテクチャもプロセッサ804として採用され得る。
【0079】
システムバス808は、プロセッサ804に対するシステムメモリ806を含むがこれに限定されないシステムコンポーネントのためのインターフェースを提供する。システムバス808は、メモリバス(メモリコントローラの有無にかかわらず)、ペリフェラルバス、及び、市販のさまざまなバスアーキテクチャのいずれかを使用するローカルバスにさらに相互接続し得るいくつかのタイプのバス構造のいずれであってもよい。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス808に接続し得る。スロットアーキテクチャの例には、高速グラフィックポート(AGP)、カードバス、(拡張)業界標準アーキテクチャ((E)ISA)、マイクロチャネルアーキテクチャ(MCA)、NuBus、ペリフェラルコンポーネントインターコネクト(拡張)(PCI(X))、PCIExpress、パーソナルコンピュータメモリカード国際協会(PCMCIA)等が含まれるが、これらに限定されない。
【0080】
システムメモリ806は、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、ダイナミックRAM(DRAM)、ダブルデータレートDRAM(DDRAM)、同期DRAM(SDRAM)、スタティックRAM(SRAM)、プログラマブルROM(PROM)、消去可能プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM)、フラッシュメモリ(例えば、1以上のフラッシュアレイ)、強誘電体ポリマーメモリ、オボニックメモリ、相変化又は強誘電体メモリ等のポリマーメモリ、シリコン酸化物窒化物酸化物シリコン(SONOS)メモリ、磁気又は光カード、デバイスのアレイ(例えば、独立ディスク冗長アレイ(RAID)ドライブ、ソリッドステートメモリデバイス((例えば、USBメモリ、ソリッドステートドライブ(SSD))、及び情報を記憶するのに適した他のタイプの記憶媒体等の、1以上の高速メモリユニットの形式のさまざまなタイプのコンピュータ可読媒体を含み得る。
図8に示す例示的な実施の形態では、システムメモリ806は、不揮発性メモリ810及び/又は揮発性メモリ812を含むことができる。基本入出力システム(BIOS)は、不揮発性メモリ810に格納されることができる。
【0081】
コンピューティングシステム802は、内部(又は外部)ハードディスクドライブ(HDD)814、取り外し可能な磁気ディスク818から読み書きするための磁気フロッピーディスクドライブ(FDD)816、取り外し可能な光ディスク822(例えば、CD-ROM又はDVD)から読み書きするための光ディスクドライブ820等の、1以上の低速メモリユニットの形式のさまざまなタイプのコンピュータ可読媒体を含み得る。HDD814、FDD816、及び、光ディスクドライブ820は、それぞれHDDインターフェース824、FDDインターフェース826、及び、光ドライブインターフェース828によってシステムバス808に接続され得る。外部ドライブ実装用のHDDインターフェース824は、ユニバーサルシリアルバス(USB)及びIEEE1394インターフェース技術の少なくとも一方又は両方を含み得る。コンピューティングシステム802は、一般に、
図1~
図7Bを参照して本明細書で説明されるすべてのロジック、システム、方法、装置、及び、機能を実装するように構成される。
【0082】
ドライブ及び関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令等の揮発性及び/又は不揮発性ストレージを提供する。例えば、オペレーティングシステム830、1以上のアプリケーションプログラム832、他のプログラムモジュール834、及び、プログラムデータ836を含む、多数のプログラムモジュールがドライブ及びメモリユニット810、812に格納され得る。一実施の形態では、1以上のアプリケーションプログラム832、他のプログラムモジュール834、及び、プログラムデータ836は、例えば、システム100の様々なアプリケーション及び/又はコンポーネント、例えば、アプレット103、秘密鍵104、暗号化データ105、URL106、 顧客ID107、オペレーティングシステム112、アカウントアプリケーション113、その他のアプリケーション114、ウェブブラウザ115、及び/又は、認証アプリケーション123を含むことができる。
【0083】
ユーザは、1以上の有線/無線入力装置、例えば、キーボード838及びマウス840等のポインティングデバイスを介して、コンピュータシステム802にコマンド及び情報を入力し得る。他の入力装置には、マイクロフォン、赤外線(IR)リモートコントローラ、無線周波数(RF)リモートコントローラ、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、手袋、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、静電容量式、抵抗式等)、トラックボール、トラックパッド、センサ、スタイラス等が含まれ得る。これら及び他の入力装置は、システムバス808に結合された入力装置インターフェース842を介してプロセッサ804に接続されることが多いが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェース等の他のインターフェースによって接続することもできる。
【0084】
モニタ844又は他のタイプの表示装置も、ビデオアダプタ846等のインターフェースを介してシステムバス808に接続される。モニタ844は、コンピューティングシステム802の内部にあっても外部にあってもよい。モニタ844に加えて、コンピュータには通常、スピーカやプリンタ等の他の周辺出力デバイスが含まれる。
【0085】
コンピューティングシステム802は、リモートコンピュータ848等の1以上のリモートコンピュータへの有線及び/又は無線通信を介した論理接続を使用するネットワーク環境で動作し得る。リモートコンピュータ848は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサベースのエンターテイメント機器、ピアデバイス、又は他の一般的なネットワークノードであり、通常、コンピューティングシステム802に関して説明した要素の多くまたはすべてを含むが、簡潔にすることのみを目的として、メモリ/ストレージデバイス850のみが示される。図示された論理接続は、ローカルエリアネットワーク(LAN)852及び/又はより大きなネットワーク、例えばワイドエリアネットワーク(WAN)854への有線/無線接続を含む。このようなLAN及びWANネットワーキング環境はオフィス及び企業では一般的であり、イントラネット等の企業規模のコンピュータネットワークを容易にし、そのすべてがインターネット等のグローバル通信ネットワークに接続し得る。実施の形態では、
図1のネットワーク130は、LAN852及びWAN854のうちの1以上である。
【0086】
LANネットワーキング環境で使用される場合、コンピューティングシステム802は、有線及び/又は無線通信ネットワークインターフェース又はアダプタ856を介してLAN852に接続される。アダプタ856は、LAN852への有線及び/又は無線通信を容易にし得り、これはまた、アダプタ856の無線機能と通信するために、アダプタ856上に配置された無線アクセスポイントも含み得る。
【0087】
WANネットワーキング環境で使用される場合、コンピューティングシステム802は、モデム858を含むことができ、又は、WAN854上の通信サーバに接続されるか、又は、例えばインターネットを経由してWAN854を介して通信を確立するための他の手段を有し得る。モデム858は、内部又は外部及び有線及び/又は無線デバイスであり得、入力デバイスインターフェース842を介してシステムバス808に接続する。ネットワーク環境では、コンピューティングシステム802又はその一部に関連して示されるプログラムモジュールは、リモートメモリ/ストレージデバイス850に格納されることができる。図示のネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段を使用できることが理解されるであろう。
【0088】
コンピューティングシステム802は、無線通信(例えば、IEEE802.16無線変調技術)において動作可能に配置される無線デバイス等の、IEEE802規格のファミリーを使用する有線及び無線のデバイス又は実体と通信するように動作可能である。これは、少なくともWi-Fi(又はワイヤレスフィディリティ(Wireless Fidelity))、WiMax、ブルートゥース(登録商標)無線技術等を含む。したがって、通信は、従来のネットワークと同様に事前定義された構造、又は、単に少なくとも2つのデバイス間のアドホック通信とすることができる。Wi-Fiネットワークは、IEEE802.11x(a、b、g、n等)と呼ばれる無線技術を使用して、安全で信頼性の高い高速無線接続を提供する。Wi-Fiネットワークは、コンピュータ同士、インターネット、及び、(IEEE802.3関連の媒体及び機能を使用する)有線ネットワークへの接続に用いられることができる。
【0089】
様々な実施の形態は、ハードウェア要素、ソフトウェア要素、又は、両方の組み合わせを使用して実装され得る。ハードウェア要素の例としては、プロセッサ、マイクロプロセッサ、回路、回路要素(例えば、トランジスタ、抵抗器、コンデンサ、インダクタ等)、集積回路、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等が挙げられる。ソフトウェアの例には、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、方法、手順、ソフトウェアインターフェース、アプリケーションプログラムインターフェイス(API)、指示(instruction)セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボル、又はそれらの任意の組み合わせが挙げられる。実施の形態がハードウェア要素及び/又はソフトウェア要素を使用して実装されるかどうかの決定は、所望の計算速度、電力レベル、耐熱性、処理サイクルバジェット、入力データ速度、出力データ速度、メモリリソース、データバス速度、その他の設計又はパフォーマンスの制約等の任意の数の要因に従って変化し得る。
【0090】
少なくとも1つの実施の形態の1つ以上の態様は、プロセッサ内の様々なロジックを表す機械可読媒体に格納された代表的な指示によって実装され得、この指示は機械によって読み取られると、機械に、ここに記載された技術を実行するためのロジックを組み立てさせる。「IPコア」として知られるこのような表現は、有形の機械可読媒体に保存され、さまざまな顧客や製造施設に提供され、ロジック又はプロセッサを製造する製造機械にロードされる。いくつかの実施の形態は、例えば、機械によって実行されると、実施の形態に従った方法及び/又は動作を機械に実行させ得る指示又は指示のセットを格納し得る機械可読媒体又は物品を使用して実装され得る。このような機械は、例えば、任意の適切な処理プラットフォーム、コンピューティングプラットフォーム、コンピューティングデバイス、処理デバイス、コンピューティングシステム、処理システム、コンピュータ、プロセッサ等を含み得、ハードウェア及び/又はソフトウェアの任意の適切な組み合わせを使用して実装され得る。機械可読媒体又は物品は、例えば、任意の適切なタイプのメモリユニット、メモリデバイス、メモリ物品、メモリ媒体、ストレージデバイス、ストレージ物品、ストレージ媒体、及び/又は、ストレージユニット、例えば、メモリ、取り外し可能又は取り外し不可媒体、消去可能又は消去不可媒体、書き込み可能又は再書き込み可能媒体、デジタル又はアナログ媒体、ハードディスク、フロッピーディスク、コンパクトディスク読み取り専用メモリ(CD-ROM)、書き込み可能コンパクトディスク(CD-R)、書き換え可能コンパクトディスク(CD-RW)、光ディスク、磁気媒体、光磁気媒体、取り外し可能メモリカード又はディスク、各種のDVD(Digital Versatile Disk)、テープ、カセット等を含み得る。指示は、ソースコード、コンパイルされたコード、解釈されたコード、実行可能コード、静的コード、動的コード、暗号化されたコード等の、任意の適切な高レベル、低レベル、オブジェクト指向、ヴィジュアル、コンパイルされた及び/又は解釈されたプログラミング言語を用いて実装される任意の適切なタイプのコードが含まれ得る。
【0091】
例の実施の形態の前述の説明は、例示及び説明を目的として提示されたものである。これは、網羅的であること、または本開示を開示された正確な形式に限定することを意図したものではない。この開示に照らして、多くの修正及び変形が可能である。本開示の範囲は、この詳細な説明によってではなく、添付の特許請求の範囲によって限定されることが意図されている。本出願の優先権を主張する将来の出願は、開示された主題を異なる方法で主張する可能性があり、一般に、ここでさまざまに開示又は実証されているような、1以上の限定事項の任意のセットを含む可能性があり得る。
【国際調査報告】