(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-26
(54)【発明の名称】複数の通信チャンネルを用いてディジタル認証を実行するシステム及び方法
(51)【国際特許分類】
G06F 21/35 20130101AFI20240719BHJP
【FI】
G06F21/35
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024503394
(86)(22)【出願日】2022-06-09
(85)【翻訳文提出日】2024-03-18
(86)【国際出願番号】 US2022032762
(87)【国際公開番号】W WO2023003649
(87)【国際公開日】2023-01-26
(32)【優先日】2021-07-19
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】バウアーズ,ジャスティン アンソニー
(72)【発明者】
【氏名】アッシュフィールド,ジェームズ
(72)【発明者】
【氏名】ヘン,メリッサ
(57)【要約】
実施形態は、概して、機密性動作を実行する未認証のユーザを認証するためのシステム、装置、及び技術に関する。
【特許請求の範囲】
【請求項1】
機密性動作を実行する未認証のユーザを認証するように構成されたシステムであって、 上記システムは、1つ又は複数のプロセッサと、上記1つ又は複数のプロセッサに接続されたメモリとを備え、
上記メモリは、上記1つ又は複数のプロセッサによって実行されたとき、上記1つ又は複数のプロセッサに下記の動作を実行させる命令を格納し、
上記動作は、
モバイルアプリケーションをモバイル装置にダウンロードさせる第1のデータを含む第1の通信情報を、上記モバイル装置に伝達することと、
タスク識別子を含む第2のデータであって、上記タスク識別子に関連付けられた認証タスクを上記モバイルアプリケーションに実行させる第2のデータを含む第2の通信情報を、上記モバイル装置に伝達することと、
上記ユーザが上記認証タスクによって認証されたと決定することと、
上記モバイル装置が機密性動作を実行することを可能することとを含む、
システム。
【請求項2】
上記認証タスクは、非接触カードを上記モバイル装置にタップするようにユーザに促すことを含み、
上記1つ又は複数のプロセッサは、
上記モバイル装置を介して上記非接触カードから暗号文を受信し、
格納されたデータに基づいて上記暗号文を用いて上記ユーザが認証されたと検証する、
請求項1記載のシステム。
【請求項3】
上記暗号文は、上記非接触カードに格納された第3のデータを含み、上記非接触カードが上記モバイル装置の近距離無線通信の範囲内にあることに応答して受信される、
請求項2記載のシステム。
【請求項4】
上記1つ又は複数のプロセッサは、上記非接触カードの第3のデータを上記格納されたデータに対して比較し、それらが一致する場合、上記ユーザを検証する、
請求項3記載のシステム。
【請求項5】
上記認証タスクは、識別情報カードの画像を提供するようにユーザに促すことを含み、
上記1つ又は複数のプロセッサは、
上記識別情報カードの画像を受信し、
上記画像を用いて上記ユーザが認証されたことを検証する、
請求項1記載のシステム。
【請求項6】
上記第1のデータは、上記モバイルアプリケーションをダウンロードするための、上記モバイル装置上の場所に対する埋め込まれたリンクを含む、
請求項1記載のシステム。
【請求項7】
上記第1の通信情報は、ショートメッセージサービス(SMS)メッセージ又はリッチ通信サービス(RCS)メッセージであり、
上記埋め込まれたリンクは、上記SMSメッセージ又は上記RCSメッセージに埋め込まれる、
請求項6記載のシステム。
【請求項8】
上記タスク識別子は上記第2のデータに符号化され、
上記第2のデータは、上記モバイルアプリケーションを起動し、上記タスク識別子に基づいて上記認証タスクを実行する機能を開始するための埋め込まれたリンクを含む、
請求項1記載のシステム。
【請求項9】
上記第2の通信情報は、ショートメッセージサービス(SMS)メッセージ又はリッチ通信サービス(RCS)メッセージであり、
上記埋め込まれたリンクは、上記SMSメッセージ又は上記RCSメッセージに埋め込まれる、
請求項8記載のシステム。
【請求項10】
上記ユーザが他のいかなる認証情報を提供することもなく、上記モバイルアプリケーションを用いてセキュリティタスクが実行される、
請求項1記載のシステム。
【請求項11】
上記1つ又は複数のプロセッサは、上記モバイル装置に関連付けられた電話番号を決定し、
上記認証タスクは、上記電話番号がユーザに関連付けられていることを検証することをさらに含む、
請求項1記載のシステム。
【請求項12】
機密性動作を実行する未認証のユーザを認証するように構成された計算装置であって、
上記計算装置は、処理回路と、上記処理回路に接続されたメモリとを備え、
上記メモリは、上記処理回路によって実行されたとき、下記の動作を上記処理回路に実行させる命令を格納し、
上記動作は、
ユーザを認証するために、モバイルアプリケーションをインストールするための第1のデータを含む第1の通信情報を、システムから受信することと、
上記第1のデータの呼び出しに基づいて上記モバイルアプリケーションをインストールすることと、
タスク識別子を含む第2のデータであって、上記タスク識別子に関連付けられた認証タスクを上記モバイルアプリケーションに実行させる第2のデータを含む第2の通信情報を、上記システムから受信することと、
上記第2のデータの呼び出しに基づいて上記認証タスクを開始し、上記ユーザが認証されたと決定することと、
上記ユーザが上記認証タスクの実行に基づいて認証され、上記ユーザによる機密性動作の実行が可能にされたことを示す情報を受信することとを含む、
計算装置。
【請求項13】
上記計算装置は無線インターフェースを備え、
上記処理回路は、上記認証タスクを実行するために、
上記非接触カードを上記計算装置の表面にタップするように上記ユーザに促し、
上記無線インターフェースを介して上記非接触カードから暗号文を受信し、
上記暗号文を用いて上記ユーザが認証されたことを検証する、
請求項12記載の計算装置。
【請求項14】
上記処理回路は、上記暗号文を検証するために、上記暗号文を上記システムに伝達する、
請求項13記載の計算装置。
【請求項15】
上記無線インターフェースは、近距離無線通信(NFC)インターフェースを備え、
上記暗号文は、上記非接触カードからNFC交換の一部として受信される、
請求項13記載の計算装置。
【請求項16】
上記計算装置はカメラを備え、
上記処理回路は、上記認証タスクを実行するために、
識別情報カードの画像を提供するように上記ユーザに促し、
上記画像を上記システムに伝達する、
請求項12記載の計算装置。
【請求項17】
上記第1のデータは、上記モバイルアプリケーションをダウンロードするための、上記モバイルアプリケーションストアに対する埋め込まれたリンクを含み、
上記処理回路は、上記埋め込まれたリンクにおける入力を受信し、上記モバイルアプリケーションをダウンロードするための上記モバイルアプリケーションストアを実行し、上記モバイルアプリケーションをダウンロードする、
請求項12記載の計算装置。
【請求項18】
上記タスク識別子は上記第2のデータに符号化され、
上記第2のデータは、上記モバイルアプリケーションを起動し、上記タスク識別子に基づいて上記認証タスクを実行する機能を開始するための埋め込まれたリンクを含む、
請求項12記載の計算装置。
【請求項19】
上記ユーザが他のいかなる認証情報を提供することもなく、上記モバイルアプリケーションを用いてセキュリティタスクが実行される、
請求項12記載の計算装置。
【請求項20】
上記処理回路は、上記認証タスクを実行するために、計算装置に関連付けられた電話番号を上記システムに提供する、
請求項12記載の計算装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
本願は、2021年7月19日に出願された、「複数の通信チャンネルを用いてディジタル認証を実行するシステム及び方法(SYSTEM AND METHOD TO PERFORM DIGITAL AUTHENTICATION USING MULTIPLE CHANNELS OF COMMUNICATION)」のタイトルを有する、米国特許出願シリアル番号第17/379537号の優先権を主張する。前述の出願の内容の全体は参照によって本願に援用される。
【0002】
本開示は、複数の通信チャンネルを用いてディジタル認証を実行するシステム及び方法に関する。
【背景技術】
【0003】
今日の銀行は、インターネットを介して多数のサービスをオンラインで提供する。例えば、顧客は、彼らのモバイル装置上にバンキングアプリケーションをダウンロードし、バンキングシステムとインターフェースをとることで、彼らの口座残高をチェックすること、彼らの個人情報を変更すること、彼らの設定情報を更新すること、請求書に対して支払うこと、などのようなタスクを実行してもよい。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、現在のバンキングシステムは、ログインしてこれらのタスクを実行するために、ユーザが個人情報を用いてセットアップすることを必要とする。しかしながら、顧客の部分集合は、典型的には、伝統的方法を用いて、例えば、銀行を訪れて出納係を話すことで、又は、バンキングの代理人に電話することで、彼らのバンキングタスクを実行する。これらの顧客に係る体験は、典型的には、より不便である。1つのマイナス面は、顧客が認証処理を遂行することをなおも必要とされるということにある。認証処理は、概して、認証されるべき何らかの情報をユーザが提供することを必要とする。例えば、顧客を認証するための現在のシステム及び方法は、アカウント番号、トランザクションカード番号、社会保障番号、母親の旧姓、パスワード、及び/又は他の個人のデータのような顧客からの機密データを要求することを含む。所定の情報が詐欺師によって知られている可能性があるので、「あなたが知っている何か」認証技術は、「あなたの祖父のミドルネームは何ですか?」といったあまり知られていない質問を強要する。また、顧客が、「あなたのお気に入りの教師は誰でしたか?」といった所定の質問に対する答えを忘れた場合、顧客によるタスクの実行が妨げられる可能性がある。従って、現在の認証処理は、顧客にとって煩わしいだけでなく、これらの顧客に顧客サービスを提供する会社にとって時間及びコストがかかるものである。これらの欠点及び他の欠点が存在する。
【課題を解決するための手段】
【0005】
実施形態は、概して、機密性動作を実行する未認証のユーザを認証するように構成されたシステムを含む、システム、装置、及び技術に関する。本システムは、1つ又は複数のプロセッサと、1つ又は複数のプロセッサに接続されたメモリとを含んでもよい。メモリは、1つ又は複数のプロセッサによって実行されたとき、1つ又は複数のプロセッサに下記の動作を実行させる命令を格納するように構成される。本動作は、モバイルアプリケーションをモバイル装置にダウンロードさせる第1のデータを含む第1の通信情報を、モバイル装置に伝達することと、タスク識別子を含む第2のデータであって、タスク識別子に関連付けられた認証タスクをモバイルアプリケーションに実行させる第2のデータを含む第2の通信情報を、モバイル装置に伝達することと、ユーザが認証タスクによって認証されたと決定することとを含む。ユーザが認証されたことに応答して、1つ又は複数のプロセッサは、モバイル装置による機密性動作の実行を可能にしてもよい。
【0006】
実施形態は、概して、機密性動作を実行する未認証のユーザを認証するように構成された計算装置を含む、システム、装置、及び技術に関する。計算装置は、処理回路と、処理回路に接続されたメモリとを含んでもよい。メモリは、処理回路によって実行されたとき、下記の動作を処理回路に実行させる命令を格納するように構成される。本動作は、ユーザを認証するために、モバイルアプリケーションをインストールするための第1のデータを含む第1の通信情報を、システムから受信することと、第1のデータの呼び出しに基づいてモバイルアプリケーションをインストールすることと、タスク識別子を含む第2のデータであって、タスク識別子に関連付けられた認証タスクをモバイルアプリケーションに実行させる第2のデータを含む第2の通信情報を、システムから受信することと、第2のデータの呼び出しに基づいて認証タスクを開始し、ユーザが認証されたと決定することと、ユーザが認証タスクの実行に基づいて認証され、ユーザによる機密性動作の実行が可能にされたことを示す情報を受信することとを含む。
【図面の簡単な説明】
【0007】
【
図1】実施形態に係るシステム100の実施例を示す。
【
図2】実施形態に係る計算装置102及びシステム104の例示的な構成を示す。
【
図3】実施形態に係るシーケンスフロー300の実施例を示す。
【
図6A】一実施形態に係るシーケンスフロー600の実施例を示す。
【
図6B】一実施形態に係るシーケンスフロー600の続きを示す。
【
図7】一実施形態に係る非接触カード700を示す。
【
図8】一実施形態に係るトランザクションカード構成要素800を示す。
【
図9】一実施形態に係るシーケンスフロー900を示す。
【
図10】例示的な実施形態に係る鍵システム1000の図である。
【
図11】例示的な実施形態に係る暗号文を生成する方法1100のフローチャートである。
【
図12】実施形態に係る方法1200のフローチャートを示す。
【
図13】実施形態に係るコンピュータアーキテクチャ1300を示す。
【発明を実施するための形態】
【0008】
任意の特定の構成要素又は動作についての説明を容易に識別するために、参照番号の上位数字は、その構成要素が最初に導入される図番号を示す。
【0009】
今日の技術は、ユーザ及び顧客が多数の異なるサービスを安全な方法で利用することをより簡単にする。例えば、大部分の人々は、ユーザが多数の日々のタスクを実行することを可能にする複数の異なるタイプのモバイルアプリケーションを有して構成されたモバイル装置を有する。ユーザは、テキストメッセージングアプリケーション、電話アプリケーション、ビデオ電話アプリケーション、電子メールアプリケーション、などのようなアプリケーションを介して、彼らの友人、家族、及び仕事上の同僚と通信してもよい。ユーザはまた、多数の利用可能なゲーミングアプリケーションのうちの1つのゲームで遊ぶことで、彼らの余暇を過ごしてもよい。モバイル装置はまた、正しく構成された場合、バンキングアプリケーションにより彼らの銀行とインターフェースをとること、医療用アプリケーションにより彼らの医者と話すこと、彼らの証券口座アプリケーションにより彼らのブローカーとともに投資を行うこと、などのような、より機密性のタスクをユーザが実行することを可能にする安全なプラットフォームを提供する。しかしながら、これらのより安全なアプリケーションは、典型的には、安全なインターフェースを介してサービスプロバイダのシステムにリンクされることを必要とし、また、顧客がタスクを実行する認可されたユーザであることを保証するように確立された顧客に対する信頼のレベルを必要とする。典型的には、サービスプロバイダは、ユーザが機密性タスクを実行すること、例えば、個人情報をレビュー/変更すること、彼らの銀行口座に対する動作を実行すること、プライベートな医療情報について議論すること、などを実行することを望むたびにアプリケーションに正しく入力されなければならないシングルサインオンのユーザ名及びパスワードを有するアカウントをユーザに確立させるであろう。
【0010】
しかしながら、任意個数の理由により、これらのユーザの部分集合は、サービスプロバイダに対するアカウント及びSSOを確立しない。従って、これらのユーザは、より機密性のタスクを実行するモバイルアプリケーションの機能を完全には利用することができない。いくつかの例では、セットアップ処理は、過度に混乱させるか、又は、過度に時間がかかる可能性がある。他の一部のユーザは、これらのタスクを本人が実行すること、又は、電話又はチャットウィンドウで他の人物と話すことを信じてもよい。しかしながら、これらのユーザは、概して、迅速、安全、かつ効果的な方法で認証することが困難である。説明する実施形態は、顧客に対して確立された音声又はチャットチャネル以外の通信チャネルを利用して顧客を認証することで、これらの問題を解決する。
【0011】
具体的には、実施形態は、未認証のユーザのための認証動作を実行するシステム、装置、及び技術に関連してもよい。実施形態は、サービスプロバイダに関連付けられたモバイルアプリケーションを提供することと、次いで、モバイルアプリケーションを用いて認証動作を実行してユーザを認証することとを含む。一実施例では、バンキングシステム又は他のサービス提供システムのようなシステムは、機密性タスクの実行を望むユーザに応答して、第1の通信情報を生成してユーザの装置に伝達してもよい。第1の通信情報は、システムに関連付けられたモバイルアプリケーションのダウンロード及びインストールをモバイル装置に実行させうる、埋め込まれたリンクを含む。システムは、第2の通信情報を生成して装置に送信してもよい。第2の通信情報は、装置上でアプリケーションを起動又は実行させる、埋め込まれたリンクを含んでもよい。第2の通信情報はまた、タスク識別子のようなデータであって、認証動作を実行する命令の場所を特定して実行するためにアプリケーションに提供されうるデータを含んでもよい。
【0012】
具体的には、モバイル装置におけるアプリケーションは、タスク識別子を利用することで、ユーザのために実行するタスク、例えば、ユーザを認証する認証動作を識別する。認証動作は、ユーザが、システム又は他の認証サーバ又はサービスによって認証されうるトークン又は他の認証情報を提供することを含んでもよい。認証されると、アプリケーションにより顧客のための機密性タスクを実行することが可能にされてもよい。これら及び他の詳細事項は、下記の説明において、より十分に説明される。
【0013】
図1は、開示した実施形態に係る例示的なシステム100の概略図を示す。図示するように、システム100は、ネットワーク106、例えばインターネットを介して互いに通信しうる計算装置102及びシステム104を含む。ネットワーク106は、計算装置102及びシステム104のような装置間の通信を可能にするように構成された1つ又は複数の無線及び/又は有線の相互接続を含んでもよい。計算装置102は、モバイル装置、携帯電話機、スマートフォン、タブレットコンピュータ、ウェアラブル装置、ラップトップ、携帯ゲーム装置などのような、ネットワーク機能を有する任意のタイプの計算装置を表す。さらに、
図1は1つの計算装置102を示すが、実施形態はこのように限定されない。実際に、システム100は、システム104と通信可能である1つ又は複数の計算装置102を含んでもよい。システム104は、処理回路(プロセッサ)、メモリ、記憶装置、インターフェースなどを有する1つ又は複数のサーバを含んでもよい。システム104は、サーバファーム、ワークステーション、計算クラスタ、クラウド計算プラットフォーム、仮想化された計算システムなどのような、任意のタイプの計算システムを表す。
【0014】
図2は、本願で説明する動作を実行するための計算装置102及びシステム104の構成要素の例示的な詳細事項を示す。
図2は、例示の目的で、限られた個数の構成要素のみを示し、計算装置102及びシステム104は、他の構成要素、装置、回路、コントローラ、ネットワーク装置、メモリ、などを含みうることに注意する。図示するように、計算装置102は、1つ又は複数のプロセッサ202、インターフェース204、及びメモリ206を含んでもよい。いくつかの例では、計算装置102は、1つ又は複数のコアをそれぞれ有する、1つよりも多くのプロセッサ202を含んでもよい。1つ又は複数のプロセッサ202は、インターフェース204及びメモリ206に接続されてもよい。メモリ206は、1つ又は複数のプロセッサ202によって処理する命令を格納するように構成された揮発性及び不揮発性メモリを含む、任意のタイプのメモリであってもよい。インターフェース204は、計算装置102を含む他の装置と通信するように構成された有線及び無線ネットワーキングインターフェースを含んでもよい。また、インターフェース204は、セルラー通信プロトコル(例えば、WiMAX(登録商標)/LTE/5G)、ローカルエリアネットワークプロトコル(例えば、102.11シリーズ)、及び短距離通信プロトコル(例えば、近距離無線通信(near-field communication:NFC)/Bluetooth(登録商標))のような1つ又は複数のプロトコルに従って通信するように構成されてもよい。
【0015】
さらに、計算装置102は、ハードディスクドライブ、ソリッドステートドライブ、などの記憶装置208を含む。記憶装置208は、1つ又は複数のアプリケーション210及びオペレーティングシステム212のようなソフトウェアを格納するように構成される。オペレーティングシステム212の例は、Android(登録商標)OS、iOS(登録商標)、macOS(登録商標)、Linux(登録商標)、及びWindows(登録商標)オペレーティングシステムを含む。
【0016】
1つ又は複数のアプリケーション210は、モバイルアプリケーション、モバイルアプリ、アプリ、アプレットなどと呼ばれることがある。1つ又は複数のアプリケーション210は、テキストメッセージングアプリケーション、ウェブブラウザアプリケーション、電話アプリケーション、電子メール(eメール)アプリケーション、ビデオチャットアプリケーション、テキストチャットアプリケーション、などのような通信アプリケーションを含む。テキストメッセージングアプリケーションは、1つ又は複数のメッセージプロトコル(例えば、ショートメッセージサービス(short message service:SMS)、リッチ通信サービス(rich communication services:RCS)、及びマルチメディアメッセージングサービス(multimedia messaging service:MMS)に従って、データ及びメッセージを送信及び受信するように構成されてもよい。計算装置102の他のアプリケーションは、ゲーミングアプリケーション、マルチメディアアプリケーション、カメラ又は画像アプリケーション、などを含んでもよい。計算装置102はまた、サービスにアクセスするためのアプリケーションを含んでもよい。例えば、サービスプロバイダアプリケーション、バンキングアプリケーション、株式管理アプリケーション、モバイル支払いサービスアプリケーション、人的資源アプリケーション、医療アプリケーション、など。実施形態では、計算装置102は、ユーザが、アプリケーションを削除し、アプリケーションを更新し、新たなアプリケーションをダウンロード及びインストールすることを可能にする。例えば、計算装置102は、計算装置102におけるアプリケーションを制御するためのアプリケーションストアを有する。アプリケーションストアの例は、Google(登録商標)Playストア、Apple(登録商標)Appストア、Amazon(登録商標)Apps&Gamesストアなどを含む。実施形態では、アプリケーション210は、計算装置102のユーザが装置を対話的に操作して動作を実行することを可能にする。例えば、ユーザは、1つ又は複数のアプリケーション210を利用することで、電子メールを送信及び受信し、テキストメッセージを送信及び受信し、ゲームで遊び、文書をレビュー/編集し、お金をやりとりし、電話すること、などを行ってもよい。概して、1つ又は複数のアプリケーション210の各々は、ユーザのためのサービス又は機能を提供してもよい。
【0017】
実施形態では、ユーザは、1つ又は複数のアプリケーション210のうちの1つ又は複数をダウンロード及びインストールすることで、機密性動作又はハイリスク動作を実施又は実行することができる。これらのアプリケーションは、サービスプロバイダによって提供され、サービスプロバイダのシステムとインターフェースをとってもよい。機密性動作は、実行のためにユーザが認証されることを必要とする任意の動作又はサービスであってもよい。機密性動作は、ユーザが、プライベート/個人情報、財務情報、健康情報、機密性会社情報などを閲覧、変更、及び/又は対話的に操作することを可能にする動作であってもよい。実施例は、ユーザに個人情報を提供すること、ユーザが他の人物に電信又は他の手段により送金することを可能にすること、ローンを申請すること、当座/普通口座動作を実行すること、などを含んでもよい。本願で説明する実施形態は、典型的には、アプリケーション210を介して提供されるこれらのサービスを利用しないユーザが、迅速かつ容易に認可されることを可能にする。
【0018】
先に説明したように、典型的には、ユーザは、彼らがウェブサイト又はアプリケーションの安全なエリアにログインして機密性動作を実行できるように、ユーザ名/パスワードを用いてアカウントを構成する。しかしながら、一部のユーザは、アカウント又はユーザ名/パスワードを決して構成又は確立することはなく、未認証の状態にある。したがって、これらのユーザが機密性動作の実行を望む場合、彼らは、認証動作を完了するまで信頼されることはない。本願で説明する実施形態は、システム104が、計算装置102を介して、かつ、信頼されたデータ又は情報に基づいて、例えば、非接触カードからトークンを提供すること、政府発行の識別情報を検証すること、バイオメトリックを提供すること、などに基づいて、ユーザを認証することを可能にする。まず、システム104は、顧客が未認証の状態にあると決定し、次いで、顧客を認証するために動作を実行する。この動作は、認証を実行するために顧客の計算装置102にアプリケーションをインストールすることと、認証動作を実行させることと、ユーザが認証された場合、ユーザによる機密性タスクの実行を可能にすることとを含む。
【0019】
実施形態では、システム104は、サービスプロバイダシステムのサブシステムであってもよい。例えば、システム104は、サービスプロバイダによって運営されるコール又はヘルプセンターの一部であってもよく、顧客が様々な動作を実行することを支援するように電話及びチャットを取り扱うようにセットアップされる。一実施例では、システム104は、ヒト又はコンピュータのオペレータが、ユーザと会話又はチャットすることと、ユーザによる機密性動作の実行を可能にすることを含む、本願で説明する認証動作を実行することとを可能にしてもよい。システム104は、1つ又は複数のプロセッサ214、インターフェース216、及びメモリ218を有するサーバのような、1つ又は複数の装置を含んでもよい。システム104はまた、本願で説明する動作を実行するためのアプリケーション及び/又は命令を格納しうる記憶装置220を含む。
【0020】
記憶装置220は、オペレーションサービス222、構成サービス224、及び認証サービス226を含んでもよい。オペレーションサービス222は、オペレータが顧客とインターフェースをとってサービスを提供することを可能にするように構成された命令を含む。構成サービス224は、ユーザがアプリケーションをインストールしてアプリケーションを介して認証動作を実行するために計算装置を構成することを容易にするように構成された命令を含む。認証サービス226は、認証動作を実行するための、及び/又は、システム104に関する認証動作の結果を処理する命令を含む。
【0021】
実施形態では、オペレーションサービス222は、オペレータがユーザ及び計算装置と対話及び通信するためのグラフィカルユーザインターフェース(GUI)を提供する。また、オペレーションサービス222は、ユーザがオペレータと通信するためのインターフェースを提供する。例えば、オペレーションサービス222は、電話呼及びチャットセッションを取り扱い、また、処理する命令を含んでもよい。オペレーションサービス222は、電話呼又はチャットの開始を受けて、呼又はチャットをオペレータに導くように構成されてもよい。
【0022】
オペレーションサービス222はまた、オペレータがユーザと通信すること、例えば、システム104及び計算装置102の間で通信情報(音声又はデータ)を双方向に送信することを可能にしてもよい。いくつかの実施形態では、オペレーションサービス222の少なくとも一部は、音声通信チャネル及びデータ通信チャンネルのいずれかを介してユーザと自動的に通信するように自動化されてもよい。例えば、オペレーションサービス222は自動的に、ユーザによって行われた要求を検出し、要求に基づいて応答を生成し、ユーザに応答を返信してもよい。応答は対話型の応答であってもよく、ユーザによって行われた要求に基づいて応答する。オペレーションサービス222は、ユーザの発話をテキストに変換し、次いでテキストを分析して、応答を決定するように構成された命令を含んでもよい。命令はまた、分析されたテキストに基づいて応答を生成し、電話上で口頭で、又は、チャット窓ウィンドウ内のチャットを介して、応答を伝達するように構成されてもよい。
【0023】
実施形態では、オペレーションサービス222はまた、機密性動作を実行するようにユーザが認証されるか否かを決定するように構成されてもよい。例えば、オペレーションサービス222は、オペレータがデータベースの検索及び/又はルックアップを実行することで、特定の個人が機密を実行するように認証されているか否か、及び/又は、彼らの計算装置が認証動作を実行するように構成されているか否かを決定するためのインターフェースを提供してもよい。いくつかの実施形態では、オペレーションサービス222は、ユーザの発話/テキストの分析に基づいてルックアップを自動的に実行する命令を含む。本願で説明する実施形態は、ユーザが未認証の状態にあり、彼らの計算装置102が認証動作を実行するようには構成されていない場合、例えば、ユーザがSSOを用いて確立されたアカウントを有していない場合のインスタンスを容易にする。
【0024】
1つの特定の実施例では、ユーザは、機密性タスクを実行するために、電話するかチャットを開始してもよい。オペレーションサービス222は、システム104のオペレータ又は代理人がユーザとインターフェースをとってタスクを実行するように構成される。例えば、オペレーションサービス222は、データベースのルックアップを実行することで、機密性タスクを実行するようにユーザが認証されるか否かを決定してもよい。オペレータは、GUIインターフェースを介して検索を実行し、顧客がサービスプロバイダのアカウントを構成したか及び/又は確立されたSSOを有するか否かを決定してもよい。いくつかの例では、動作のうちの1つ又は複数が自動化されてもよい。例えば、オペレーションサービス222は、(例えば、実行される動作を解釈し、ユーザがアカウントを有するか否かを決定するためのルックアップを自動的に実行することによって)ユーザが認証されたか否かを自動的に決定する命令を含んでもよい。ユーザが認証された場合、ユーザは、機密性タスクの実行について許可されてもよい。しかしながら、本願で説明する実施形態は、システム104に対して未認証ではない及び/又はサービスプロバイダに対して確立された信頼関係をもたないユーザを支援することを目的とする。システム104はまた、ユーザを認証してユーザによる機密性タスクの実行を可能にするための構成サービス224及び認証サービス226を含む。
【0025】
構成サービス224は、ユーザを認証するようにユーザの計算装置102を構成する命令を含む。具体的には、構成サービス224は、サービスプロバイダに関連付けられたモバイルアプリケーションをインストールするための情報を生成してユーザの計算装置102に伝達する。実施形態では、構成サービス224は、アプリケーションをダウンロードするための表示を含むテキストメッセージを生成してもよい。例えば、テキストメッセージは、アクティブにされたとき、計算装置102にアプリケーションをダウンロードさせる、埋め込まれたリンクを含んでもよい。テキストメッセージは、「こちらが当社のアプリをインストールするためのリンクです:https://appstore/application」のようなテキストを含んでもよい。ユーザは、埋め込まれたリンクを選択してもよく、アプリケーションをダウンロードするためのアプリケーションストアに自動的に導かれてもよい。埋め込まれたリンクは、アプリケーションを直接的にダウンロードするための場所(例えば、アプリをダウンロードするためのホームページ)であってもよい。いくつかの例では、埋め込まれたリンクは、ユーザが埋め込まれたリンクを選択することなく、計算装置102がアプリケーションストアに自動的にリダイレクトするように構成されてもよい。
【0026】
テキストメッセージは、SMS、MMS、又はRCSのようなテキストメッセージサービスを介して計算装置102に伝達されてもよい。いくつかの例では、構成サービス224は自動的に、ユーザの発信元の電話番号を検出し、計算装置102にテキストメッセージを送信してもよい。他の例では、オペレータはユーザに電話番号を尋ねてもよく、ユーザは番号を提供してもよく、オペレータは、提供された番号を手動で及び/又は自動的にシステム104に入力してメッセージを送信してもよい。いくつかの実施形態では、構成サービス224は、ユーザによって提供された番号に対して音声・テキスト(voice-to-text)命令を適用し、メッセージを所与の電話番号に自動的に送信してもよい。実施形態は、テキストメッセージを利用することに限定されないことに注意する。いくつかの例では、埋め込まれたリンクを含むQR(quick response)コードは、構成サービス224によって生成されてディスプレイ上でユーザに提供されてもよい。ユーザは、スキャンアプリケーション及びカメラを用いてQRコード(登録商標)をスキャンしてもよく、それは、埋め込まれたリンクを自動的に読み取り、アプリケーションをダウンロードするためのアプリケーションダウンロードストアにリダイレクトしてもよい。
【0027】
実施形態では、構成サービス224を含むシステム104は、計算装置102にアプリケーションがインストールされていると決定してもよい。例えば、ユーザは、アプリケーションのインストールに成功したとオペレータに伝えてもよく、オペレータは情報をシステム104に入力してもよい。他の例では、構成サービス224は、インストールされたアプリケーションから、インストールに成功したことを示す情報を受信してもよい。この情報は、例えば、アプリケーションプログラミングインターフェース(API)を介してシステム104と通信するアプリケーションによってシステム104に提供されてもよい。いったんアプリケーションがインストールされると、システム104は、計算装置102とともに認証動作を開始してユーザを認証してもよい。認証動作は、信頼されたトークンをシステム104(又は他の認証システム)に提供することをユーザに実行させることと、ユーザが例えば以前にトークンを用いて認証された人物であると認証することとを含む。
【0028】
実施形態では、システム104は、ダウンロードされたアプリケーションを利用して認証動作を実行してもよい。例えば、システム104は、計算装置102にインストールされたアプリケーションに認証動作を実行させる他のメッセージを生成しうる認証サービス226を含んでもよい。認証サービス226は、認証動作を実行することに関連付けられたタスク識別子を生成又は決定してもよい。いくつかの例では、タスク識別子は予め決められていてもよく、アプリケーションは、タスク識別子を受信したときに認証動作を実行する命令を含んでもよい。タスク識別子は、認証動作を識別する複数の英数字の組み合わせであってもよい。
【0029】
実施形態では、認証サービス226は、テキストメッセージを生成し、テキストメッセージにタスク識別子を埋め込み、アプリケーションにより処理するためにテキストメッセージを計算装置102に伝達してもよい。テキストメッセージは、アプリケーションによりタスク識別子を実行させてアプリケーションに提供させるための、埋め込まれたリンクを含んでもよい。アプリケーションが計算装置102において既に実行中である場合、埋め込まれたリンクは、タスク識別子をアプリケーションにわたしてもよい。1つの特定の実施例では、テキストメッセージは、「app.launch/task_identifer」のような埋め込まれたリンクを含んでもよく、これは、アクティブにされた又は選択されたとき、アプリケーションを起動してタスク識別子(task_identifier)をアプリケーションに提供する。タスク識別子は、アプリケーションが起動されるとき実行される機能の要素であってもよい。アプリケーションは、タスク識別子に対応するタスク(例えば認証動作)を決定し、タスクを実行してもよい。実施形態は、タスク識別子をテキストメッセージに埋め込むことに限定されず、タスク識別子はQRコードに埋め込まれてもよい。再び、ユーザは、QRスキャンソフトウェアを用いることで、カメラによりコードをスキャンし、タスク識別子を含むデータを受信してもよい。
【0030】
実施形態では、認証動作は、計算装置102において実行されてユーザを認証してもよい。例えば、計算装置102において実行するアプリケーションは、タスク識別子に基づいてユーザを認証する命令を開始及び実行するように構成される。認証動作は、ユーザが、ユーザを認証するために使用可能であるトークン又は情報を提供することを含む。一実施例では、サービスプロバイダは銀行であってもよく、アプリケーションは、ユーザに銀行業務を提供するように構成されたバンキングアプリケーションであってもよい。ユーザは、ユーザを認証するために使用可能である、銀行の非接触カードを有してもよい。具体的には、非接触カードは、認証サービス226、異なるシステム、又はユーザを認証する認証サービスに提供可能であるトークンを含み、例えば、サードパーティーシステム、専用認証サーバ、などは、情報又はトークンを認証してもよい。異なるシステム又はサービスがユーザの認証を実行する場合、認証動作の結果は、アプリケーション、認証サービス、又はそれらの組み合わせに伝達してもよい。実施形態はこのように限定されない。しかしながら、この実施例では、認証サービス226は、情報又はトークンの認証を実行してもよい。
【0031】
実施形態では、認証サービス226は、計算装置102におけるアプリケーションを介して、非接触カードからトークンを受信してもよい。計算装置102は、1つ又は複数の短距離通信読み取り動作を実行することで、非接触カードからトークンを読み取ってもよい。アプリケーションは、認証動作を実行し、ユーザが非接触カードを計算装置102の上に提供するための、例えば、非接触カードを計算装置102の短距離通信動作範囲内に移動させるためのプロンプトを計算装置102のディスプレイ上に表示させてもよい。一実施例では、計算装置102は、約10センチメートル以下の動作範囲を有するNFC通信を利用してもよい。いくつかの実施形態では、データを交換するために、ユーザが非接触カードを計算装置102に十分に接近させることを保証するために、ユーザは、カードを計算装置102に、例えば、計算装置102のディスプレイ又は他の表面上にタップするように促される。
【0032】
計算装置102は、非接触カードから、暗号文を含むペイロードを受信する。暗号文はトークン又は認証情報を含んでもよく、それは、1つ又は複数の識別番号、カウンタ値、バージョン番号、及び共有された秘密情報であってもよく、多様化鍵(diversified keys)を用いて暗号化されてもよい。暗号文は、非接触カードによって生成及び暗号化されて計算装置102に伝達されてもよい。実施形態では、ペイロードは、暗号化されていない識別子のような追加情報を含んでもよい。暗号化されていない識別子は、非接触カードに関連付けられかつ格納された、顧客を識別する顧客識別子であってもよい。実施形態はこのように限定されない。
【0033】
計算装置102は、1つ又は複数の安全な通信を介して(例えば、1つ又は複数の安全なAPI通信を介して)、認証サービス226を含むシステム104に暗号文を伝達してもよい。認証サービス226は、非接触カードからの暗号文を復号し、トークン及び/又は認証情報が、システム104における格納された検証済みデータと一致することを検証してもよい。例えば、システム104は、識別番号、カウンタ値、バージョン番号、及び/又は共有された秘密情報のうちの1つ又は複数が、システム104における対応するデータと一致することを決定してもよい。そうである場合、システム104は、ユーザが認証されて機密性タスクを実行可能であると検証する。そうでない場合、ユーザは認証されず、タスクを実行することができない。
【0034】
実施形態では、ユーザを認証するためにシステム104によって代替方法が利用されてもよい。例えば、システム104は、写真検証システムを利用してユーザを認証してもよい。アプリケーションは、ユーザに対して、彼らの政府発行の(又は他の信頼された)識別情報の写真又は画像を撮影するように促してもよい。計算装置102は、画像をシステム104に伝達してユーザを認証してもよい。システム104は、BlueCheck(登録商標)のような写真ID検証サービス又は同様のサービスを用いて写真を検証してもよい。他の代替のサービスは、指紋、虹彩、顔画像、などのようなバイオメトリック入力を介してユーザを検証することを含んでもよい。いったんユーザが認証されると、システム104は、ユーザによる機密性動作の実行を可能にしてもよい。例えば、システム104は、電信により送金すること、設定情報を変更すること、請求書に支払うこと、などのようなタスクをユーザが実行することを可能にするフラグ又は設定情報を、ユーザのアカウントに設定してもよい。
【0035】
図3は、機密性タスクを実行する未認証のユーザを認証するために実行されうる例示的なシーケンスフロー300を示す。本願で説明する実施例は、システム100、及び計算装置102及びシステム104を参照するが、説明する技術は、ハイリスク又は機密性のサービスを実行するユーザを認証するための任意のシステムによって実行されてもよい。図示した実施例では、計算装置102は、音声チャネルを介して電話し、データチャネルを介してデータ通信するように構成されたモバイル装置であってもよい。システム104は、音声及び/又はデータチャネルを介して計算装置102と通信するように構成された1つ又は複数のサーバを含んでもよい。
【0036】
実施形態では、ユーザは、彼らが機密性タスクを実行することを望んでいることをオペレータ及びシステム104に通信(伝達)してもよい。通信は、音声チャネル上でシステム104のオペレータと会話するユーザによって行われてもよく、又は、データチャネル上のチャットウィンドウを介して行われてもよい。システム104は、ユーザが認証されていないと決定してもよい。例えば、システム104は、機密性タスクを実行するように構成された電子オンラインアカウントをユーザが有していないと決定してもよい。したがって、ユーザは、ユーザを認証するために使用されうる識別情報をサービスプロバイダ及びシステム104に予め提供してはいない。例えば、ユーザは、ウェブブラウザ又はモバイルアプリケーション(例えばバンキングアプリ)を介して提供される、オンラインアカウントにログインするように構成されたユーザ名/パスワードを有していない。また、システム104は、機密性タスクを実行するように構成された、計算装置102にインストールされたモバイルアプリケーションをユーザが有していないと決定してもよく、例えば、ユーザは情報をオペレータに提供してもよい。
【0037】
ライン302において、システム104は、アプリケーションをダウンロードして機密を実行するための情報を含む、102に伝達するメッセージを生成する。いくつかの例では、オペレータは、GUIを介してシステム104に入力を提供することで、計算装置102に伝達するメッセージを生成してもよい。例えば、計算装置102にテキストメッセージを送信するための入力として、ユーザの電話番号を取得するように構成されたGUIインターフェースがオペレータに提示されてもよい。電話番号は、音声通信チャネルを介してオペレータに伝達されてもよい。他の例では、システム104はメッセージを自動的に生成してもよい。例えば、システム104は、ユーザの言葉をテキストに変換するための音声・テキスト命令を含んでもよい。テキストが分析されて、ユーザが彼らの計算装置102にインストールされたアプリケーションを有していないと決定してもよい。いくつかの例では、情報は、チャット又はテキストに基づくインターフェースを介してシステム104に伝達されてもよく、システム104は、テキストを分析することで、ユーザが彼らの計算装置102にインストールされたアプリケーションを有していないと決定してもよい。
【0038】
システム104は、選択されたとき又はアクティブにされたとき、アプリケーションをダウンロードするための場所に計算装置102をリダイレクトさせる、埋め込まれたリンクを含むメッセージを生成してもよい。例えば、リンクは、アプリケーションをダウンロードするアプリケーションストアをオペレーティングシステム212に起動させてもよい。いくつかの例では、アプリケーションストアは、ダウンロードを実行するための特定の場所を実行して開いてもよく、ダウンロードは、人間の介入なしで自動的に行われてもよい。もう1つの実施例では、埋め込まれたリンクは、ウェブブラウザにおいてウェブサイトを開くことで、アプリケーションをダウンロードするためのウェブに基づく場所にオペレーティングシステム212を導いてもよい。
【0039】
ライン304において、システム104は、メッセージを計算装置102に伝達してもよい。上述したように、メッセージは、テキストメッセージに基づくプロトコルに従ってテキストメッセージサービスを介して伝達されてもよい。テキストメッセージは埋め込まれたリンクを含んでもよく、埋め込まれたリンクは、上述したように、所定の場所に対するアドレス又はリンク、QRコード、などであってもよく、それは、アプリケーションのダウンロードをオペレーティングシステム212に開始させるための情報を含む。いくつかの例では、メッセージは、パーソナルコンピュータのような、計算装置102以外の装置に伝達されてもよく、次いで、計算装置102は、カメラを利用してQRコードなどを読み取るスキャン動作を実行することで、メッセージを受信してもよい。メッセージは、他の計算装置におけるウェブブラウザ又は他のアプリケーションに表示されてもよく、ユーザは、計算装置102のカメラを用いてメッセージの画像をスキャン又は撮影してもよい。他のオプションは、電子メール、又は、Teams(登録商標)又はSlack(登録商標)のような他のメッセージサービスを用いて、計算装置102又は他の計算装置にメッセージを伝達することを含んでもよい。
【0040】
ライン306において、計算装置102は、埋め込まれたリンクを含むメッセージを処理してもよい。例えば、ユーザは、埋め込まれたリンクを選択又は対話的に操作してもよく、オペレーティングシステム212は、選択を処理し、アプリケーションストア又はウェブブラウザを起動してアプリケーションをダウンロードしてもよい。オペレーティングシステム212はさらに、ストア又はブラウザを介してアプリケーションをダウンロードし、アプリケーションをインストールして計算装置102において実行してもよい。いくつかの例では、いったんアプリケーションがインストールされると、アプリケーションは、それがインストールされたことを示す情報をシステム104に返信してもよい。この情報は、APIを介して伝達され、計算装置102を具体的に識別するための情報、例えば、電話番号、装置識別子、などを含んでもよい。他の例では、ユーザは、アプリケーションのインストールに成功したことを、口頭で、又は、テキストに基づくチャットを介して、システム104のオペレータに伝達してもよい。
【0041】
ライン308において、システム104は、アプリケーションによって実行される認証タスク又は動作を識別するためのタスク識別子を決定してもよい。一実施例では、システム104は、データベースのルックアップを実行することで、アプリケーションに対して認証動作を識別するためのタスク識別子を決定してもよい。タスク識別子は、認証動作を一意に識別する複数の英数値の組み合わせであってもよい。いくつかの例では、タスク識別子は、アプリケーションの関数のためのプログラミングされた変数であってもよく。関数は呼び出されてもよく、タスク識別子は関数に一要素としてわたされてもよい。関数は、タスク識別子を処理し、認証動作を実行してもよい。
【0042】
ライン310において、システム104は、タスク識別子を計算装置102に伝達してもよい。一実施例では、システム104は、埋め込まれたリンクを有する第2のテキストメッセージ又はQRコードを生成してもよい。埋め込まれたリンクは、計算装置102においてモバイルアプリケーションを起動するためのリンクと、タスク識別子とを含む。タスク識別子は、アプリケーションが起動されるときにアプリケーションにわたされる。同様に上述したように、ユーザは、埋め込まれたリンクを選択することで、アプリケーションを起動させてもよい。他の例では、アプリケーションは、テキストメッセージが受信されたときに自動的に起動してもよい。
【0043】
いくつかの例では、タスク識別子は、計算装置102におけるアプリケーションに直接にわたされてもよい。例えば、アプリケーションは、計算装置102において実行され、アプリケーションを用いて動作を実行するようにユーザが認証されていないと決定してもよい。アプリケーションは、認証動作を行う必要があることを示す情報を、APIを介してシステム104に伝達してもよい。システム104は、他のAPI呼び出しを介してタスク識別子を計算装置102に伝達してもよい。
【0044】
ライン312において、計算装置102は、タスク識別子を処理し、タスク識別子に関連付けられた動作を実行してもよい。具体的には、アプリケーションは、計算装置102においてタスク識別子に基づく動作(例えば認証動作)を開始する。認証動作は、ユーザがトークン又は識別情報を計算装置102に提供することを含む。アプリケーションを含む計算装置102は、システム104又は他の認証サーバに情報を伝達して情報を信頼された情報に対して比較することで、認証を実行する。一実施例では、ユーザは、彼らの非接触カード700におけるトークンを計算装置102に提供してもよく、それは、認証のためにシステム104又は他のサーバに転送されてもよい。
図11の方法1100は、トークンを含む暗号文を生成するために非接触カード700によって実行されてもよい1つの可能な処理フローを示す。
図9は、非接触カード700から計算装置102に暗号文が伝達される場合のシーケンスフロー900を示す。もう1つの実施例では、ユーザは、信頼された識別情報(例えば運転免許)の画像を撮影してもよく、この画像が認証されてもよい。他の認証方法は、バイオメトリックサンプル、信頼された証明書、などを認証することを含んでもよい。
【0045】
図示した実施例では、計算装置102は、認証動作の一部として実行するために、ライン314において、認証情報をシステム104に伝達してもよい。上述したように、認証情報は、非接触カード700からの暗号文、信頼された識別情報の画像、又は他の信頼された情報(バイオメトリックサンプル)を含んでもよい。認証情報は、アプリケーションを介して、また、APIを介して、システム104に伝達されてもよい。APIは、システム104にデータを伝達するための安全な暗号化されたチャネルを提供しうる。
【0046】
ライン316において、システム104は、計算装置102からの情報に対して認証を実行する。例えば、システム104は、格納された信頼された情報に対する比較に基づいて、認証情報が正確又は正しいと検証してもよい。認証情報が信頼された情報に一致する場合、ユーザが認証される。認証情報が信頼された情報に一致しない場合、ユーザは認証されない。
図12は、ユーザを認証するために実行されてもよい1つの可能な方法1200が、非接触カード700及びサーバ、例えばシステム104を利用することを説明する。
【0047】
ライン318において、システム104は、認証の結果を計算装置102に伝達する。
結果は、ユーザの認証に成功したか、それとも、ユーザが認証されなかったかを示す情報を含む。ライン320において、システム104は、ユーザによる機密性タスクの実行を可能にするか、又は、ユーザが機密性タスクを実行することを防いでもよい。例えば、システム104は、計算装置102のアプリケーションのためのフラグ又は情報であって、ユーザが機密性タスクを実行することを許可又は拒否するためのフラグ又は情報を設定してもよい。この情報は、アプリケーションに対するAPI呼び出し又は通信であってもよい。
【0048】
図4は、機密性動作を実行するユーザを認証するために、104のようなシステムによって実行うる例示的なルーチン400を示す。本願で説明する動作は、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実行されてもよい。
【0049】
ブロック402において、ルーチン400は、第1の通信情報をモバイル装置に伝達することを含む。第1の通信情報は、モバイル装置にモバイルアプリケーションをダウンロードさせるための第1のデータを含む。実施形態では、第1の通信情報は、テキストメッセージ又はQRコードであってもよく、第1のデータは、HTTP(Hypertext Transfer Protocol)又はHTTPS(HTTP secure)リンクのような、埋め込まれたリンクであってもよく、これは、アクティブにされたとき、モバイルアプリケーションをダウンロードする場所にモバイル装置を移動させる。
【0050】
ブロック404において、ルーチン400は、第2の通信情報をモバイル装置に伝達することを含む。第2の通信情報は、タスク識別子を含む第2のデータであって、タスク識別子に関連付けられた認証タスクをモバイルアプリケーションに実行させる第2のデータを含む。実施形態では、第2の通信情報もまた、テキストメッセージ又はQRコードであってもよく、第2のデータは、ダウンロードされたモバイルアプリケーションを起動するための埋め込まれたリンクであってもよい。タスク識別子は、認証タスクを実行してモバイル装置のユーザを認証するために、モバイルアプリケーションによって処理されてもよい。
【0051】
ブロック406において、ルーチン400は、認証タスクによってユーザが認証されたと決定することを含む。実施形態では、モバイル装置、認証サーバ、システム104、又はそれらの組み合わせが、認証タスクを実行してもよい。モバイル装置、認証サーバ、及びシステム104のうちの1つ又は複数が、認証タスクの結果(例えば、認証されたか認証されていないか)を示す情報を提供してもよい。
【0052】
ブロック408において、ルーチン400は、ユーザがモバイル装置を介して機密性動作を実行することを可能にすることを含む。例えば、システムは、ユーザによる機密性動作の実行を許可又は拒否するようにフラグ又は設定情報を設定してもよい。ユーザが認証された場合、システムは、ユーザのよる機密性動作の実行を許可するように設定情報を設定してもよく、また、その逆も成り立つ。
【0053】
図5は、機密性動作を実行するユーザを認証するために、計算装置102のようなモバイル装置によって実行うる例示的なルーチン500を示す。本願で説明する動作は、ソフトウェア、ハードウェア、又はそれらの組み合わせによって実行されてもよい。
【0054】
ブロック502において、ルーチン500は、ユーザを認証するための第1の通信情報をシステムから受信することを含む。実施形態では、第1の通信情報は、認証タスクを実行するためのモバイルアプリケーションをモバイル装置がもたないという決定に基づいて、システムによって生成されて伝達されてもよい。モバイルアプリケーションは、システム関連付けられかつシステムを制御する、サービスプロバイダによって提供される、信頼されたアプリケーションであってもよい。実施形態では、第1の通信情報は、モバイルアプリケーションをインストールするための第1のデータを含む。上述したように、第1の通信情報は、テキストメッセージ又はQRコードであってもよく、第1のデータは埋め込まれたリンクであってもよく、これは、アクティブにされたとき、アプリケーションをモバイル装置にダウンロードしてインストールする。
【0055】
ブロック504において、ルーチン500は、第1のデータの呼び出しに基づいてモバイルアプリケーションをインストールすることを含む。例えば、モバイル装置のユーザは、タッチスクリーンのようなインターフェースを介してリンクを選択してもよく、オペレーティングシステムは、アプリケーションストアを実行して開くようにリダイレクトされることで、アプリケーションをダウンロードしてもよい。リンクは、アプリケーションを直接にダウンロードするための場所をストアに開かせてもよい。いくつかの例では、第1のデータを含む第1の通信情報は、通信情報が受信されたとき、オペレーティングシステムをアプリケーションストアにリダイレクトさせ、アプリケーションを自動的にインストールさせてもよい。例えば、オペレーティングシステムは、ユーザが選択することなく、リンクを受信時に自動的に処理してもよい。
【0056】
ブロック506において、ルーチン500は、第2の通信情報をシステムから受信することを含む。実施形態では、第2の通信情報は、タスク識別子を含む第2のデータであって、タスク識別子に関連付けられた認証タスクをモバイルアプリケーションに実行させうる第2のデータを含む。第2の通信情報もまた、テキストメッセージ又はQRコードであってもよく、第2のデータもまた、埋め込まれたリンクであってもよい。しかしながら、この埋め込まれたリンクは、新たにダウンロードされたアプリケーションを、それが選択又は呼び出されたときに実行させるためのデータを含んでもよい。再び、このリンクはまた、ユーザ選択に基づいて、又は、メッセージの受信時に自動的に実行されてもよい。リンクはまた、アプリケーションによって実行される必要がある認証タスクを識別するためのタスク識別子を含んでもよい。識別子は、リンクが選択又は呼び出されたときに、アプリケーションにわたされてもよい。アプリケーションは、タスク識別子を開始及び処理してもよい。
【0057】
ブロック508において、ルーチン500は、第2のデータの呼び出しに基づいて認証タスクを開始して、ユーザが認証されると決定することを含む。例えば、モバイルアプリケーションは、タスク識別子を利用することで、認証タスクを実行する命令を識別する。命令はモバイル装置によって実行されてもよく、それは、認証サーバ又はシステム104のうちの1つ又は複数とともに、モバイル装置に認証を実行させてもよい。
【0058】
ブロック510において、ルーチン500は、認証タスクの実行に基づいてユーザが認証されたことを示す情報を受信することを含む。例えば、モバイル装置は、認証サーバ又はシステム104から、サーバ又はシステムに送信された情報が認証されたことと、ユーザが認証されたこととを示す情報を受信してもよい。実施形態では、この情報はまた、ユーザがモバイルアプリケーションを用いて機密性動作を実行できることを示してもよい。ここで、ユーザは、彼らがモバイルアプリケーションを用いて実行することを望んだ動作を実行してもよい。
【0059】
図6Aは、ユーザを認証するためにユーザ及び顧客サービスオペレータの間で行われてもよい例示的なシーケンスフロー600を示し、これにより、彼らは本願で説明する実施形態に従って機密を実行できるようになる。このシーケンスフロー600において説明される項目は、計算装置102(例えばモバイル装置)及びシステム104(例えばバンキングシステム)を含む、本願で説明するシステム及び装置によって実行されてもよい。
【0060】
図示した実施例では、顧客は、銀行のようなサービスプロバイダに電話してもよい。顧客は、サービスプロバイダを用いてハイリスクのタスクを実行することを望む場合があるが、顧客はサービスプロバイダにより認証されていない、例えば、顧客はシングルサインオンのユーザ名及びパスワードを用いて登録されていない。602において、顧客は、ハイリスクのタスクを実行するように彼らが認証されていないが、モバイル装置上のモバイルアプリケーションを用いて認証動作を容易かつ迅速に実行できるという通知を受けてもよい。604において、代理人又はオペレータは、顧客と通信することで、テキストメッセージを送信するための顧客の電話機に関連付けられた電話番号を取得する。顧客は、番号を代理人に口頭で提供してもよい。
【0061】
606において、代理人は、(例えばGUIを介して)電話番号をシステムに提供することで、顧客の携帯電話機にアプリケーションをダウンロードするためのテキストメッセージを送信してもよい。システムがテキストメッセージを生成してもよい。テキストメッセージは、アプリケーションをダウンロードするための埋め込まれたリンク(例えば、https://appstore/app)を含む。608において、テキストメッセージは、電話番号に関連付けられたモバイル装置に伝達される。また610において、顧客は、彼らのモバイル装置においてテキストメッセージを受信する。612において、顧客は、メッセージにおけるリンクを呼び出し又は選択してもよく、メッセージは、アプリケーションをダウンロードするようにモバイル装置をリダイレクトする。612において、モバイルアプリケーションがモバイル装置にダウンロードされる。
【0062】
614において、顧客は、モバイルアプリケーションがモバイル装置にインストールされて開いていることを示す情報を伝達してもよい。さらに、616において、代理人は、モバイルアプリケーションがモバイル装置にインストールされていることを顧客に確認し、彼らが他のメッセージを送信しようとしていることを顧客に通知してもよい。618において、代理人は、GUIインターフェースを対話的に操作することで、顧客のモバイル装置に伝達するための他のメッセージを生成してもよい。システムは、モバイル装置上で実行するためのタスクを生成してもよい。620において、システムは、タスクに関連付けられたタスク識別子を決定してもよい。タスク識別子は、アプリケーション及びシステムに対してタスクを識別してもよい。タスク識別子及びリンクは、622において、メッセージに埋め込まれてモバイル装置に送信されてもよい。またブロック624において、モバイル装置は、モバイルアプリケーションにタスク識別子を実行又は開始させるリンクを含む、メッセージをシステムから受信してもよい。
【0063】
図6Bにおいて、シーケンスフロー600は続き、626において、顧客のモバイル装置においてモバイルアプリケーションが開始及び実行されてもよい。いくつかの例では、顧客は、リンクを選択することで、モバイルアプリケーションを実行させてもよい。他の例では、モバイルアプリケーションは、テキストメッセージを受信したときに実行されてもよい。モバイルアプリケーションは、モバイル装置において開かれ、顧客がアプリケーションを対話的に操作するためのGUIを提示してもよい。
【0064】
628において、モバイルアプリケーションは、リンクに埋め込まれた及び/又はテキストメッセージにおいて提供されたタスク識別子を評価する。モバイルアプリケーションは、タスク識別子に関連付けられたタスク(例えば、認証動作を実行すること)を決定してもよい。630において、モバイルアプリケーションはタスク識別子を処理してもよい。例えば、モバイルアプリケーションは、タスク識別子を用いて機能を実行することで、認証を実行することに関連付けられた命令をモバイル装置において実行させてもよい。
【0065】
634において、モバイルアプリケーションは、タスク(例えば認証動作)を実行及び実施してもよい。図示した実施例では、顧客は、サービスプロバイダに関連付けられた非接触カードを有し、非接触カードの情報に基づいて認証可能である。非接触カードを介して認証を実行するために、モバイル装置は、カードから情報を検索し、非接触カード情報を用いて認証を実行するためのシステムに情報を送信してもよい。632において、顧客は、カードをモバイル装置の通信範囲内に移動させるように指示されてもよい。一実施例では、顧客は、非接触カードをモバイル装置にタップする命令をGUIディスプレイを介して受信してもよく、これにより、カードがモバイル装置の短距離通信範囲内にあることを保証する。634において、モバイル装置は、情報をサーバに送信することで認証を実行し、実行された認証の結果を受信することにより、非接触カード情報を処理してもよい。636において、モバイル装置は、認証に成功したことを確認してもよい。
【0066】
638において、ユースケースポリシー分析が実行され、ユーザにより利用可能である認証のタイプを決定するタスクに適用されてもよい。この処理は、認証動作の前に、モバイルアプリケーションによって実行されてもよい。一実施例では、ユースケースポリシーは、ユーザの情報に適用されてもよく、ユーザが認証用の非接触カードを有すると決定してもよい。もう1つの実施例では、ユースケースポリシーは、顧客が非接触カードを持たず、ユーザを認証するために代替方法を使用する必要がある、と決定してもよい。いくつかの例では、ユーザは、認証のために利用可能である1つよりも多くの認証方法(例えば、非接触カード、バイオメトリック、識別情報)を有してもよく、ユースケースポリシーは、ユーザによって実行されるタスクのリスクレベルに基づいて、異なる認証方法を割り当ててもよい。例えば、より高リスクのタスクは、より低リスクのタスクよりも強い認証方法を必要としてもよい。認証方法は、例えば、最強から最弱までランク付けされてもよい。
【0067】
実施形態では、認証動作が実行され、顧客及びモバイル装置に結果を提供してもよい。640において、顧客は、認証動作に成功したことを代理人に伝達してもよい。いくつかの例では、646において、代理人は、モバイルアプリケーション及びモバイル装置から、認証に成功したことを確認する情報を受信してもよい。644において、状態がGUIディスプレイに提供されてもよく、642において、代理人は、顧客に、彼らが認証されたことを確認してもよい。
【0068】
図7は、非接触カード700の例示的な構成を示し、それは、非接触カード700の前面又は後面上にサービスプロバイダのマーク702として表示されるようなサービスプロバイダによって発行された、非接触カード、クレジットカードのような支払いカード、デビットカード、又はギフトカードを含んでもよい。いくつかの実施例では、非接触カード700は支払いカードに関連せず、限定ではないが、識別カードを含んでもよい。いくつかの実施例では、トランザクションカードは、デュアルインターフェースの非接触支払いカード、ポイントカード(rewards card)、などを含んでもよい。非接触カード700は基板708を含んでもよく、それは、プラスチック、金属、及び他の材料からなる単一の層又は1つ又は複数の積層された層を含んでもよい。例示的な基板材料は、ポリ塩化ビニル、ポリ塩化酢酸ビニル、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極処理されたチタン、パラジウム、金、炭素、紙、及び生物分解性材料を含む。いくつかの実施例では、非接触カード700は、ISO/IEC7816標準のID-1フォーマットに準拠した物理的特性を有してもよく、さもなければ、トランザクションカードは、ISO/IEC14443標準に準拠してもよい。しかしながら、本開示に係る非接触カード700が異なる特性を有してもよく、トランザクションカードが支払いカードとして実装されることを本開示が必要としていないということが理解される。
【0069】
非接触カード700は、カードの前面及び/又は背面に表示された識別情報706と、接触パッド704とを含んでもよい。接点パッド704は、1つ又は複数のパッドを含んでもよく、トランザクションカードを介して、ATM、ユーザ装置、スマートフォン、ラップトップ、デスクトップ、又はタブレット型コンピュータのような他のクライアント装置との接触を確立するように構成されてもよい。接点パッドは、ISO/IEC7816標準のような1つ又は複数の標準によれば設計されてもよく、EMVプロトコルによる通信を可能にしてもよい。非接触カード700は、
図8においてさらに説明する処理回路、アンテナ、及び他の構成要素を含んでもよい。これらの構成要素は、接点パッド704の背後に、又は、基板708上の他の場所に、例えば、基板708の異なる層内に設けられてもよく、接点パッド704に電気的かつ物理的に接続されえもよい。非接触カード700はまた、磁気ストリップ又はテープを含んでもよく、それは、カードの背面(
図7には図示せず)に設けられてもよい。非接触カード700はまた、NFCプロトコルを介して通信可能である、アンテナに接続された近距離無線通信(NFC)装置を含んでもよい。実施形態はこのように限定されない。
【0070】
図7に図示するように、非接触カード700の接点パッド704は、プロセッサ802、メモリ804、及び1つ又は複数のインターフェース806を含む、情報を格納、処理、及び伝達するための処理回路816を含んでもよい。処理回路816は、本願において説明した機能を実行するのに必要とされる、プロセッサ、メモリ、エラー及びパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、及び改竄防止ハードウェアを含む、追加の構成要素を含んでもよいことが理解される。
【0071】
メモリ804は、読み出し専用メモリ、1回書き込み多数読み出しメモリ、又は読み出し/書き込みメモリ、例えば、RAM、ROM、及びEEPROMであってもよく、非接触カード700は、これらのメモリのうちの1つ又は複数を含んでもよい。読み出し専用メモリは、読み出し専用又は1回だけプログラミング可能であるように工場でプログラミング可能である。1回だけのプログラミング可能性は、1回だけ書き込まれ、その後、複数回にわたって読み出される機会を提供する。1回書き込み/多数読み出しメモリは、メモリチップが工場を去った後の時点でプログラミングされてもよい。いったんメモリがプログラミングされると、それは再書き込みされることはないが、複数回にわたって読み出される。読み出し/書き込みメモリは、工場を去った後に複数回にわたってプログラミング及び再プログラミングされてもよい。読み出し/書き込みメモリもまた、工場を去った後に複数回にわたって読み出されてもよい。いくつかの例では、メモリ804は、データを暗号化するためにプロセッサ802によって実行される暗号アルゴリズムを利用する、暗号化されたメモリであってもよい。
【0072】
メモリ804は、1つ又は複数のアプレット808、1つ又は複数のカウンタ810、顧客識別子814、及び1つ又は複数のアカウント番号812を格納するように構成されてもよい。アカウント番号は仮想アカウント番号であってもよい。1つ又は複数のアプレット808は、Java(登録商標)カードアプレットのように、1つ又は複数の非接触カードにおいて実行されるように構成された1つ又は複数のソフトウェアアプリケーションを含んでもよい。しかしながら、1つ又は複数のアプレット808は、Javaカードアプレットに限定されず、代わりに、非接触カード又は限られたメモリを有する他の装置において動作可能である任意のソフトウェアアプリケーションであってもよいことが理解される。1つ又は複数のカウンタ810は、整数を格納するのに十分な数値カウンタを備えてもよい。顧客識別子814は、非接触カード700のユーザに割り当てられた一意の英数字識別子を含んでもよく、識別子は、当該非接触カードのユーザを他の非接触カードユーザから区別してもよい。いくつかの実施例では、顧客識別子814は、顧客と、その顧客に割り当てられたアカウントとの両方を識別してもよく、さらに、顧客のアカウントに関連付けられた非接触カード700を識別してもよい。上述したように、1つ又は複数のアカウント番号812は、非接触カード700に関連付けられた数千個の1回使用の仮想アカウント番号を含んでもよい。非接触カード700の1つ又は複数のアプレット808は、1つ又は複数のアカウント番号812を管理する(例えば、1つ又は複数のアカウント番号812を選択し、選択された1つ又は複数のアカウント番号812を使用されるものとしてマークし、自動入力サービスにより自動的に入力するために1つ又は複数のアカウント番号812をモバイル装置に送信する)ように構成されてもよい。
【0073】
先述した例示的な実施形態のプロセッサ802及びメモリ構成要素は、接触パッド704を参照して説明しているが、本開示はそれに限定されない。これらの構成要素は、接触パッド704の外部又はそれから完全に離れて実装されてもよく、又は、接触パッド704内に設けられたプロセッサ802及びメモリ804構成要素に加えてさらなる構成要素として実装されてもよい。
【0074】
いくつかの実施例では、非接触カード700は、1つ又は複数のアンテナ818を備えてもよい。1つ又は複数のアンテナ818は、非接触カード700内において、接触パッド704の処理回路816のまわりに配置されてもよい。例えば、1つ又は複数のアンテナ818は処理回路816に一体化されていてもよく、1つ又は複数のアンテナ818は外部ブースタコイルとともに使用されてもよい。他の実施例として、1つ又は複数のアンテナ818は、接触パッド704及び処理回路816の外部にあってもよい。
【0075】
ある実施形態では、非接触カード700のコイルは、空芯トランスの2次巻線として作用してもよい。端末は、電力の遮断又は振幅変調によって非接触カード700と通信してもよい。非接触カード101は、非接触カードの電力接続におけるギャップを用いて、端末から送信されたデータを推測してもよい。電力接続は、1つ又は複数のキャパシタを介して機能的に保持されてもよい。非接触カード700は、非接触カードのコイルにおいて負荷をスイッチングすること又は負荷変調によって逆方向に通信してもよい。負荷変調は、干渉を通じて端末のコイルにおいて検出されてもよい。より一般的には、1つ又は複数のアンテナ818、処理回路802、及び/又はメモリ804102を用いて、非接触カード101は、NFC、Bluetooth、及び/又はWi-Fi(登録商標)通信を介して通信するための通信インターフェースを提供する。
【0076】
上で説明したように、非接触カード700は、JavaCardのような、限られたメモリを有する他のスマートカード又は装置において動作可能であるソフトウェアプラットフォームにおいて構成されてもよく、1つ又は複数のアプリケーション又はアプレットが安全に実行されてもよい。移動体アプリケーションに基づく様々な使用状況における多要素認証(multifactor authentication:MFA)のためにワンタイムパスワード(one-time password:OTP)を提供するために、非接触カードに1つ又は複数のアプレット808が追加されてもよい。1つ又は複数のアプレット808は、(例えば、POS(point-of-sale)端末のモバイル装置の)移動体NFCリーダのようなリーダから、近接場データ交換要求のような1つ又は複数の要求に応答し、NDEFテキストタグとして符号化された暗号学的に安全なOTPを備えるNDEFメッセージを生成するように構成されてもよい。
【0077】
NDEF OTPの一例は、NDEFショートレコードレイアウト(SR=1)である。そのような実施例中では、1つ又は複数のアプレット808は、OTPを、NDEFタイプ4の周知のタイプのテキストタグとして符号化するように構成されてもよい。いくつかの実施例では、NDEFメッセージは、1つ又は複数のレコードを含んでもよい。1つ又は複数のアプレット808は、OTPレコードに加えて、1つ又は複数の静的タグレコードを追加するように構成されてもよい。
【0078】
いくつかの実施例では、1つ又は複数のアプレット808は、RFIDタグをエミュレートするように構成されてもよい。RFIDタグは、1つ又は複数の多様な形態のタグを含んでもよい。いくつかの実施例では、タグが読み取られるごとに、非接触カードの真正性を示しうる異なる暗号データが提示される。1つ又は複数のアプレット808に基づいて、タグのNFC読み取りが処理されてもよく、データは、バンキングシステムサーバのようなサーバに送信されてもよく、データはサーバにおいて検証されてもよい。
【0079】
いくつかの実施例では、非接触カード700及びサーバは、カードが適切に識別されうるように、所定のデータを含んでもよい。非接触カード700は、1つ又は複数の一意の識別子(図示せず)を含んでもよい。読み取り動作が行なわれるごとに、1つ又は複数のカウンタ810はインクリメントするように構成されてもよい。いくつかの実施例では、(例えばモバイル装置によって)非接触カード700からデータが読み取られるごとに、1つ又は複数のカウンタ810は、検証のためにサーバに送信され、1つ又は複数のカウンタ810がサーバのカウンタに等しいか否かを(検証の一部として)決定する。
【0080】
1つ又は複数のカウンタ810は、リプレイ攻撃を防ぐように構成されてもよい。例えば、暗号文が取得されかつ繰り返された場合、その暗号文は、1つ又は複数のカウンタ810が読み取られるか使用されるかさもなければ無視される場合に直ちに拒絶される。1つ又は複数のカウンタ810が使用されていない場合、それは繰り返されてもよい。いくつかの実施例では、カードにおいてインクリメントされるカウンタは、トランザクションに関してインクリメントされるカウンタとは異なる。非接触カード700において1つ又は複数のアプレット808間の通信が存在しないので、非接触カード101は、1つ又は複数のアプリケーショントランザクションカウンタ810を決定することができない。
【0081】
いくつかの実施例では、1つ又は複数のカウンタ810は同期からはずれることがある。いくつかの実施例では、所定角度での読み取りのような、トランザクションを開始する偶発的な読み取りを説明するために、1つ又は複数のカウンタ810はインクリメントしてもよいが、アプリケーションは1つ又は複数のカウンタ810を処理しない。いくつかの実施例では、モバイル装置がスリープから復帰するとき、NFCがイネーブルにされてもよく、装置110は利用可能なタグを読み取るように構成されてもよいが、読み取りに応答して何の動作も行われない。
【0082】
1つ又は複数のカウンタ810の動機を維持するために、モバイル装置110がスリープからいつ復帰したかを検出し、バンキングシステムのサーバに同期するように構成されるであろう、バックグラウンドアプリケーションのようなアプリケーションが実行されてもよく、このことは、検出に起因して行われた読み取りが次いで1つ又は複数のカウンタ810を順方向に進めることを示す。他の実施例では、同期からはずれたウィンドウが受容されうるように、ハッシュされたワンタイムパスワードが利用されてもよい。例えば、10のしきい値の範囲内にある場合、1つ又は複数のカウンタ810は、順方向に進むように構成されてもよい。しかし、異なるしきい値数の範囲内にある場合、再同期を実行する要求が処理されてもよい。それは、ユーザがユーザの装置を介して1回以上にわたってタップ、ジェスチャー、又はさもなければ示すことを、1つ又は複数のアプリケーションを介して要求する。
1つ又は複数のカウンタ810は適切なシーケンスで増大し、次いで、それは、ユーザがそうしたことを知ることができる。
【0083】
1つ又は複数のカウンタ810、マスター鍵、及び多様化鍵を参照して本願で説明する鍵多様化技術は、鍵多様化(key diversification)技術の暗号化及び/又は復号の一例である。この例示的な鍵多様化技術は、本開示が他のタイプの鍵多様化技術にも同様に適用可能であるので、本開示を限定するものと考えられるべきではない。
【0084】
非接触カード700の生成処理中に、カードごとに、2つの暗号鍵が一意的に割り当てられてもよい。暗号鍵は、データの暗号化及び復号の両方に使用されうる対称鍵を含んでもよい。トリプルDES(3DES)アルゴリズムがEMVによって使用されてもよく、それは非接触カード700におけるハードウェアによって実装される。鍵多様化処理を用いることによって、鍵を必要とする各エンティティに係る一意的に識別可能な情報に基づいて、マスター鍵から1つ又は複数の鍵が導出されてもよい。
【0085】
いくつかの実施例では、脆弱性の影響を受けやすいかもしれないという3DESアルゴリズムの不備を克服するために、(セッションごとの一意の鍵のような)セッション鍵が導出されてもよいが、マスター鍵を用いるのではなく、カードにより導出された一意の鍵及びカウンタが多様化データとして使用されてもよい。例えば、動作中に非接触カード101が使用されるごとに、メッセージ認証コード(MAC)の生成及び暗号化の実行のために異なる鍵が使用されてもよい。これにより、三層の暗号をもたらす。セッション鍵は、1つ又は複数のアプレットによって生成され、(「EMV 4.3 Book 2 A1.3.1 Common Session Key Derivation」で定義されたような)1つ又は複数のアルゴリズムを備えたアプリケーショントランザクションカウンタを用いて導出されてもよい。
【0086】
さらに、各カードに係るインクリメントは一意的であってもよく、個人化によって割り当てられてもよく、あるいは、何らかの識別情報によってアルゴリズム的に割り当てられてもよい。例えば、奇数の番号を有するカードは2ずつインクリメントされてもよく、偶数の番号を有するカードは5ずつインクリメントされてもよい。いくつかの実施例では、1つのカードが1、3、5、2、2、…を繰り返す順序でインクリメントされてもよいように、インクリメントは逐次的な読み取りにおいて変化してもよい。特定のシーケンス又はアルゴリズムのシーケンスは、個人化の時点で、又は、一意の識別子から導出される1つ又は複数の処理から定義されてもよい。これにより、リプレイ攻撃者がカードインスタンスの小さな番号から一般化することをより困難にすることができる。
【0087】
認証メッセージは、16進ASCIIフォーマットを有するテキストNDEFレコードの内容として送られてもよい。もう1つの実施例では、NDEFレコードは、16進フォーマットで符号化されてもよい。
【0088】
図9は、本開示の1つ又は複数の実施形態に係る、認証されたアクセスを提供するための例示的なシーケンスを示すタイミング図である。シーケンスフロー900は、非接触カード700及び計算装置102を含んでもよく、後者は、1つ又は複数のアプリケーション210及び1つ又は複数のプロセッサ202を含んでもよい。
【0089】
ライン904において、1つ又は複数のアプリケーション210は、(例えば、非接触カード700の近くに移動された後で)非接触カード700と通信する。1つ又は複数のアプリケーション210及び非接触カード700の間の通信は、1つ又は複数のアプリケーション210及び非接触カード700の間のNFCデータ転送を可能にするように、非接触カード700が計算装置102のカードリーダー(図示せず)に十分に接近することを含んでもよい。
【0090】
ライン902において、計算装置102及び非接触カード700の間で通信が確立された後で、非接触カード700は、メッセージ認証コード(message authentication code:MAC)暗号文を生成する。いくつかの実施例では、このことは、非接触カード700が1つ又は複数のアプリケーション210によって読み取られるときに実行されてもよい。特に、このことは、NFCデータ互換フォーマットに従って生成されてもよい近接場データ交換(near field data exchange:NDEF)タグの読み取り、例えばNFC読み取りを行ったときに実行されてもよい。例えば、1つ又は複数のアプリケーション210のようなリーダーアプリケーションは、NDEF生成アプレットのアプレットIDを有するメッセージ、例えばアプレット選択メッセージを送信してもよい。選択を確認したとき、ファイル選択メッセージの後にファイル読み出しメッセージが続くシーケンスが送信されてもよい。例えば、シーケンスは、「機能ファイル選択」、「機能ファイル読み出し」、「NDEFファイル選択」を含んでもよい。この点で、非接触カード700によって保持されたカウンタ値が更新又はインクリメントされてもよく、その後に「NDEFファイル読み出し」が続いてもよい。この点で、ヘッダ及び共有された秘密情報を含んでもよいメッセージが生成されてもよい。次いで、セッション鍵が生成されてもよい。MAC暗号文は、ヘッダ及び共有された秘密情報を含んでもよいメッセージから生成されてもよい。次いで、MAC暗号文は、1つ又は複数のブロックにわたるランダムデータと連結されてもよく、MAC暗号文及び乱数(RND)はセッション鍵により暗号化されてもよい。その後、暗号文及びヘッダは連結され、ASCII16進数として符号化され、(「NDEFファイル読み出し」メッセージに応答して)NDEFメッセージフォーマットで返信されてもよい。
【0091】
いくつかの実施例では、MAC暗号文はNDEFタグとして送信されてもよく、他の実施例では、MAC暗号文は、(例えば、フォーマットされた文字列として)ユニフォームリソースインジケータとともに含まれてもよい。いくつかの実施例では、アプリケーション210は、MAC暗号文を生成する命令を含む要求を非接触カード700送信するように構成されてもよい。
【0092】
ライン906において、非接触カード700は、MAC暗号文を1つ又は複数のアプリケーション210に送信する。いくつかの実施例では、MAC暗号文の送信はNFCを介して行われるが、本開示はそれに限定されない。他の実施例では、この通信は、Bluetooth、Wi-Fi、又は無線データ通信の他の手段を介して行われてもよい。ライン908において、1つ又は複数のアプリケーション210は、MAC暗号文を1つ又は複数のプロセッサ202に伝達する。
【0093】
ライン910において、1つ又は複数のプロセッサ202は、アプリケーション122からの命令に従ってMAC暗号文を検証する。例えば、MAC暗号文は、下記に説明するように検証されてもよい。いくつかの実施例では、MAC暗号文の検証は、計算装置102とデータ通信するバンキングシステムのサーバのような、計算装置102以外の装置によって実行されてもよい。例えば、1つ又は複数のプロセッサ202は、バンキングシステムのサーバに送信するためのMAC暗号文を出力してもよく、それがMAC暗号文を検証してもよい。いくつかの実施例では、MAC暗号文は、検証及び認証の目的でディジタル署名として機能してもよい。この検証を実行するために、公開鍵非対称アルゴリズム、例えば、ディジタル署名アルゴリズム及びRSAアルゴリズム、又はゼロ知識プロトコルのような、他のディジタル署名アルゴリズムが使用されてもよい。
【0094】
図10は、本開示の1つ又は複数の実施形態を実装するように構成されたシステム1000の図を示す。後述するように、非接触カード作成過程の間に、2つの暗号鍵が各カードのために一意的に割り当てられてもよい。暗号鍵は、データの暗号化及び復号の両方に使用されうる対称鍵を含んでもよい。トリプルDES(3DES)アルゴリズムがEMVによって使用されてもよく、それは非接触カードにおけるハードウェアによって実装される。鍵多様化処理を用いることによって、鍵を必要とする各エンティティに係る一意的に識別可能な情報に基づいて、マスター鍵から1つ又は複数の鍵が導出されてもよい。
【0095】
マスター鍵管理に関して、1つ又は複数のアプレットが発行されるポートフォリオの各部分のために、2つの発行者マスター鍵1002,1026が必要とされてもよい。例えば、第1のマスター鍵1002は、発行者暗号文生成/認証鍵(Iss-Key-Auth)を含んでもよく、第2のマスター鍵1026は、発行者データ暗号鍵(Iss-Key-DEK)を含んでもよい。本願でさらに説明するように、2つの発行者マスター鍵1002,1026は、カードマスター鍵1008,1020に多様化され、それらは各カードに関して一意である。いくつかの実施例では、バックオフィスデータとしての、ネットワークプロファイルレコードID(pNPR)522及び導出鍵インデックス(pDKI)1024は、認証のための暗号処理においてどの発行者マスター鍵1002,1026を使用するかを識別するために使用されてもよい。認証を実行するシステムは、認証の際に、非接触カードに関するpNPR1022及びpDKI1024の値を検索するように構成されてもよい。
【0096】
いくつかの実施例では、ソリューションのセキュリティを向上させるために、マスター鍵を用いるのではなく、(セッションごとの一意の鍵のような)セッション鍵が導出されてもよく、上述したように、一意のカード導出鍵及びカウンタが多様化データとして使用されてもよい。例えば、動作中にカードが使用されるごとに、メッセージ認証コード(MAC)の生成と、暗号化の実行とのために、異なる鍵が使用されてもよい。セッション鍵生成に関して、1つ又は複数のアプレットにおいて暗号文を生成してデータを暗号化するために使用される鍵は、カードの一意の鍵(Card-Key-Auth 1008及びCard-Key-Dek 1020)に基づくセッション鍵を含んでもよい。セッション鍵(Aut-Session-Key 1032及びDEK-Session-Key 1010)は、1つ又は複数のアプレットによって生成され、1つ又は複数のアルゴリズムとともにアプリケーショントランザクションカウンタ(pATC)1004を用いて導出されてもよい。データを1つ又は複数のアルゴリズムにあてはめるために、4バイトpATC1004の下位2バイトのみが使用される。いくつかの実施例では、4バイトセッション鍵導出方法は、次式を含んでもよい。F1:=PATC(下位2バイト)||’F0’||’00’||PATC(4バイト)F1:=PATC(下位2バイト)||’0F’||’00’||PATC(4バイト)SK:={(ALG(MK)[F1])||ALG(MK)[F2]}ここで、ALGは3DES ECBを含んでもよく、MKはカードの一意の導出されたマスター鍵を含んでもよい。
【0097】
本願で説明するように、1つ又は複数のMACセッション鍵は、pATC1004カウンタの下位2つバイトを用いて導出されてもよい。非接触カードの各タップにおいて、pATC1004は更新されるように構成され、カードマスター鍵Card-Key-AUTH 808及びCard-Key-DEK 1020は、セッション鍵Aut-Session-Key 1032及びDEK-Session-KEY 1010にさらに多様化される。pATC1004は、個人化又はアプレット初期化の際に、ゼロに初期化されてもよい。いくつかの実施例では、pATCカウンタは、個人化の際又は個人化の前に初期化されてもよく、各NDEF読み取りの際に1ずつインクリメントするように構成されてもよい。
【0098】
さらに、各カードに係る更新は一意的であってもよく、個人化によって割り当てられてもよく、あるいは、pUID又は他の識別情報によってアルゴリズム的に割り当てられてもよい。例えば、奇数の番号を有するカードは2ずつインクリメント又はデクリメントされてもよく、偶数の番号を有するカードは5ずつインクリメント又はデクリメントされてもよい。いくつかの実施例では、1つのカードが1、3、5、2、2、…を繰り返す順序でインクリメントされてもよいように、更新は逐次的な読み取りにおいて変化してもよい。特定のシーケンス又はアルゴリズムのシーケンスは、個人化の時点で、又は、一意の識別子から導出される1つ又は複数の処理から定義されてもよい。これにより、リプレイ攻撃者がカードインスタンスの小さな番号から一般化することをより困難にすることができる。
【0099】
認証メッセージは、16進ASCIIフォーマットを有するテキストNDEFレコードの内容として送られてもよい。いくつかの実施例では、認証データと、認証データのMACが後続する8バイト乱数とのみが含まれてもよい。いくつかの実施例では、乱数は、暗号文Aに先行してもよく、1ブロックの長さを有してもよい。他の実施例では、乱数の長さに対する制限は存在しなくてもよい。さらなる実施例では、合計データ(すなわち、乱数及び暗号文)は、ブロックサイズの倍数であってもよい。これらの実施例では、MACアルゴリズムによって生成されるブロックに一致するために、追加の8バイトブロックが付加されてもよい。他の実施例として、使用されるアルゴリズムが16バイトブロックを使用した場合、そのブロックサイズの偶数倍が使用されてもよく、又は、出力は、そのブロックサイズの倍数によるように、自動的に、又は手動で、パディングされてもよい。
【0100】
MACは、機能キー(AUT-Session-Key)1032によって実行されてもよい。暗号文において指定されたデータは、javacard.signature方法:ALG_DES_MAC8_ISO9797_1_M2_ALG3を用いて処理されることで、EMV ARQC検証方法に対して相関させてもよい。この計算に使用される鍵は、上述したように、セッション鍵AUT-Session-Key 1032を含んでもよい。上述したように、カウンタの下位2バイトは、1つ又は複数のMACセッション鍵に関して多様化するために使用されてもよい。後述するように、AUT-Session-Key 1032はMACデータ1006に対して使用されていてもよく、結果として生じるデータ又は暗号文A 1014、及び乱数RNDは、DEK-Session-Key 1010を用いて暗号化されることで、メッセージにおいて送信される暗号文B又は出力1018を生成してもよい。
【0101】
いくつかの実施例では、1つ又は複数のHSMコマンドは、最終的な16(バイナリ、32hex)バイトが、MAC認証データが後続する乱数のゼロIVを有するCBCモードを用いた3DES対称暗号を含むように、復号のために処理されてもよい。この暗号化に使用される鍵は、Card-Key-DEK 1020から導出されたセッション鍵DEK-Session-Key 1010を含んでもよい。この場合、セッション鍵導出に関するATC値は、カウンタpATC1004の最下位バイトである。
【0102】
下記のフォーマットは、バイナリ値バージョンの例示的な実施形態を表す。さらに、いくつかの実施例では、第1のバイトはASCII「A」に設定されてもよい。
【0103】
【0104】
もう1つの例示的なフォーマットを下記に示す。この実施例では、タグは16進法のフォーマットで符号化されてもよい。
【0105】
【0106】
受信されたメッセージのUIDフィールドを抽出することで、マスター鍵Iss-Key-AUTH 802及びIss-Key-DEK 1026から、その特定のカードに関するカードマスター鍵(Card-Key-Auth 1008及びCard-Key-DEK 1020)を導出してもよい。カードマスター鍵(Card-Key-Auth 808及びCard-Key-DEK 1020)を用いて、受信されたメッセージのカウンタ(pATC)フィールドを使用することで、その特定のカードに関するセッション鍵(Aut-Session-Key 1032及びDEK-Session-Key 1010)を導出してもよい。暗号文B 1018は、暗号文A 1014及びRNDを生じるDEK-Session-KEYを用いて復号されてもよく、RNDが廃棄されてもよい。UIDフィールドを使用することで、非接触カードの共有された秘密情報を調べてもよく、それは、メッセージのバージョン、UID、及びpATCフィールドとともに、再生成されたAut-Session-Keyを用いて暗号MACにより処理されることで、MAC’のようなMAC出力を生成してもよい。MAC’が暗号文A 1014と同じである場合、このことは、メッセージ復号及びMACチェックのすべてに合格したことを示す。次いで、pATCを読み取ることで、それが有効であるか否かを決定してもよい。
【0107】
認証セッションの間に、非接触カード700により1つ又は複数のアプリケーションにより1つ又は複数の暗号文が生成されてもよい。例えば、1つ又は複数の暗号文は、Aut-Session-Key 1032のような1つ又は複数のセッション鍵を介して、方法2パディングとともにISO9797-1アルゴリズム3を用いて、3DES MACとして生成されてもよい。入力データ1006は、バージョン(2)、pUID(8)、pATC(4)、共有された秘密情報(4)の形式を有してもよい。いくつかの実施例では、括弧内の番号はバイト長を含む。いくつかの実施例では、共有された秘密情報は、1つ又は複数の乱数生成器によって生成されてもよく、それは、1つ又は複数の安全な処理を介して、乱数が予測不可能であることを保証するように構成されてもよい。いくつかの実施例では、共有された秘密情報は、認証サービスによって知られている、個人化の際にカードに注入されるランダムな4バイト2進数を含んでもよい。認証セッションの間に、共有された秘密情報は、1つ又は複数のアプレットからモバイルアプリケーションに提供されなくてもよい。方法2パディングは、必須の0x’80’バイトを入力データの最後に付加することを含んでもよく、結果として生じるデータの最後において、8バイトの境界に達するまで0x’00’バイトが付加されてもよい。結果として生じる暗号文は、8バイトの長さを有してもよい。
【0108】
いくつかの実施例では、共有されない乱数をMAC暗号文の第1のブロックとして暗号化することの1つの利点は、それが、対称暗号アルゴリズムのCBC(ブロック鎖)モードを用いる際に初期化ベクトルとして作用することにある。このことは、固定及び動的なIVのいずれも予め確立する必要なく、ブロック間で「スクランブル」することを可能にする。
【0109】
MAC暗号文に含まれるデータの一部としてアプリケーショントランザクションカウンタ(pATC)を含むことによって、認証サービスは、平文データにおいて伝送された値が改竄されたか否かを決定するように構成されてもよい。また、1つ又は複数の暗号文においてバージョンを含むことによって、攻撃者は、暗号ソリューションの強度を低下させようとして、アプリケーションのバージョンを意図的に誤ることが困難になる。いくつかの実施例では、pATCは、ゼロで開始し、1つ又は複数のアプリケーションが認証データを生成するごとに1ずつ更新されてもよい。認証サービスは、認証セッションの間に使用されるpATCを追跡するように構成されてもよい。いくつかの実施例では、認証データが、認証サービスによって受信された以前の値以下のpATCを使用する場合、これは、古いメッセージを繰り返す試みとして解釈されてもよく、認証されたものが拒絶されてもよい。いくつかの実施例では、pATCが、受信された以前の値より大きい場合、これは、それが許容できる範囲又はしきい値の範囲内にあるか否かを決定するために評価され、それが範囲又はしきい値を超過するか範囲外にある場合、検証に失敗したか信頼できないとみなされてもよい。MAC動作1012において、データ1006は、Aut-Session-Key 1032を用いてMACを介して処理されることで、暗号化されたMAC出力(暗号文A)1014を生成する。
【0110】
カードにおける鍵を露わにするブルートフォース攻撃に対する追加の保護を提供するために、MAC暗号文1014が暗号化されたることが望ましい。いくつかの実施例では、暗号文に含まれるデータ又は暗号文A 1014は、乱数(8)(暗号文(8))を含んでもよい。いくつかの実施例では、括弧内の番号はバイト長を含む。いくつかの実施例では、乱数は、1つ又は複数の乱数生成器によって生成されてもよく、それは、1つ又は複数の安全な処理を介して、乱数が予測不可能であることを保証するように構成されてもよい。このデータを暗号化するために使用される鍵は、セッション鍵を含んでもよい。例えば、セッション鍵は、DEK-Session-Key 1010を含んでもよい。暗号化動作1016において、データ又は暗号文A 1014と、RNDとがDEK-Session-Key 810を用いて処理されることで、暗号化されたデータ、暗号文B 1018を生成する。データ1014は、攻撃者が暗号文のすべてに対してすべての攻撃を実行しなければならないことを保証するために、3DESを用いて暗号ブロック鎖(cipher block chaining)モードで暗号化されてもよい。非限定的な実施例として、AES(Advanced Encryption Standard)のような他のアルゴリズムが使用されてもよい。いくつかの実施例では、0x’0000000000000000’の初期化ベクトルが使用されてもよい。このデータを暗号化するために使用された鍵に対してブルートフォース攻撃を実施しようとする任意の攻撃者は、間違って復号されたデータのランダムな出現に起因して、正しく復号されたデータを間違って復号されたデータから判別できなくなるので、正しい鍵がいつ使用されたかを決定することができない。
【0111】
1つ又は複数のアプレットによって提供される1つ又は複数の暗号文を認証サービスが検証するために、認証セッションの間に、1つ又は複数のアプレットからモバイル装置に下記のデータが平文で伝送されなければならない。使用される暗号アプローチを決定するバージョン番号と、暗号文を検証するためのメッセージフォーマット、これは、将来におけるアプローチの変更を可能にする;暗号アセットを検索し、カード鍵を導出するpUID;及び、暗号文に使用されるセッション鍵を導出するpATC。
【0112】
図11は、非接触カード700によって実行されうる、暗号文を生成する方法1100を示す。例えば、ブロック1102において、ネットワークプロファイルレコードID(pNPR)及び導出鍵インデックス(pDKI)を使用することで、認証のための暗号処理においてどの発行者マスター鍵を使用するのかを識別してもよい。いくつかの実施例では、本方法は、認証の際に、非接触カードに関するpNPR及びpDKIの値を検索するように認証を実行することを含んでもよい。
【0113】
ブロック1104において、発行者マスター鍵は、それらを、カードの一意のID番号(pUID)と、1つ又は複数のアプレット、例えば支払いアプレットのPANシーケンス番号(PSN)とに対して組み合わせることで、多様化されてもよい。
【0114】
ブロック1106において、発行者マスター鍵を多様化させることでCard-Key-Auth及びCard-Key-DEK(一意のカード鍵)を生成してもよく、これにより、MAC暗号文を生成するために使用されうるセッション鍵を生成してもよい。
【0115】
ブロック1108において、1つ又は複数のアプレットにおいて暗号文を生成してデータを暗号化するために使用される鍵は、カードの一意の鍵(Card-Key-Auth及びCard-Key-Dek)に基づくセッション鍵を含んでもよい。いくつかの実施例では、これらのセッション鍵は、1つ又は複数のアプレットによって生成され、pATCを用いることで導出されてもよく、セッション鍵Aut-Session-Key及びDEK-Session-Keyにもたらす。
【0116】
図12は、一実施例に係る鍵多様化を示す例示的な処理1200を示す。初期状態では、送信者及び受信者には、2つの異なるマスター鍵が提供されてもよい。例えば、第1のマスター鍵はデータ暗号化マスター鍵を含んでもよく、第2のマスター鍵はデータ完全性マスター鍵を含んでもよい。送信者は、ブロック1202において更新されうるカウンタ値と、保護されるべきデータのような、受信者と安全に共有されうる他のデータとを有してもよい。
【0117】
ブロック1204において、カウンタ値は、送信者によってデータ暗号化マスター鍵を用いて暗号化されることで、データ暗号化導出セッション鍵を生成してもよく、カウンタ値はまた、送信者によってデータ完全性マスター鍵を用いて暗号化されることで、データ完全性導出セッション鍵を生成してもよい。いくつかの実施例では、両方の暗号化の間に、カウンタ値全体又はカウンタ値の一部が使用されてもよい。
【0118】
いくつかの実施例では、カウンタ値は暗号化されなくてもよい。これらの実施例では、カウンタは、送信者及び受信者の間で、平文で、すなわち暗号化なしで送信されてもよい。
【0119】
ブロック1206において、保護されるべきデータは、送信者によって、データ完全性セッション鍵及び暗号MACアルゴリズムを用いて暗号MAC動作で処理される。平文及び共有される秘密情報を含む保護されたデータを使用することで、セッション鍵のうちの1つ(AUT-Session-Key)を用いてMACを生成してもよい。
【0120】
ブロック1208において、保護されるべきデータは、送信者によって、対称暗号アルゴリズムに関連してデータ暗号化導出セッション鍵を用いて暗号化されてもよい。いくつかの実施例では、MACは、等量、例えばそれぞれ8バイト長のランダムデータと組み合わされ、次いで、第2のセッション鍵(DEK-Session-Key)を用いて暗号化される。
【0121】
ブロック1210において、暗号化されたMACは、暗号文の検証のために、追加の秘密情報(例えば、共有された秘密情報、マスター鍵、など)を識別するための十分な情報とともに、送信者(非接触カード700)から受信者に(計算装置102を介してシステム104に)送信される。
【0122】
ブロック1212において、受信者は、受信されたカウンタ値を使用することで、上述したように、2つのマスター鍵から2つの導出セッション鍵を独立に導出する。
【0123】
ブロック1214において、対称復号動作に関連してデータ暗号化導出セッション鍵を使用することで、保護されたデータを復号する。次いで、交換されたデータに対する追加の処理が行われる。いくつかの実施例では、MACが抽出された後、MACを再生成及びマッチングすることが望ましい。例えば、暗号文を検証する場合、それは、適切に生成されたセッション鍵を用いて復号されてもよい。保護されたデータは、検証のために再構成されてもよい。適切に生成されたセッション鍵を用いてMAC動作を実行することで、それが復号されたMACに一致するか否かを決定してもよい。MAC動作が不可逆処理であるので、検証するための唯一の方法は、それをソースデータから再生成しようとすることである。
【0124】
ブロック1216において、データ完全性導出セッション鍵を暗号MAC動作に関連して使用することで、保護されたデータが変更されていないことを検証する。
【0125】
本願で説明する方法のいくつかの実施例は、下記の条件が満たされる場合に、成功した認証がいつ決定されるかを確認しうるという優位点を有する。まず、MACを検証する能力は、導出されたセッション鍵が適切であったことを示す。復号に成功して適切なMAC値をもたらした場合にのみ、MACは正しくなりうる。成功した復号は、暗号化されたMACを復号するために、正しく導出された暗号鍵が使用されたことを示してもよい。送信者(例えば送信装置)及び受信者(例えば受信装置)にのみ既知のマスター鍵を用いて、導出されたセッション鍵が生成されるので、もともとMACを生成してMACを暗号化した非接触カードが実際に真正であることが信頼されてもよい。また、第1及び第2のセッション鍵を導出するために使用されるカウンタ値は、有効であると示されてもよく、認証動作を実行するために使用されてもよい。
【0126】
その後、2つの導出されたセッション鍵は廃棄されてもよく、データ交換の次の反復は、(ブロック1202に戻って)カウンタ値を更新し、(ブロック1210において)新たな一組のセッション鍵が生成されてもよい。いくつかの実施例では、組み合わせたランダムデータが廃棄されてもよい。
【0127】
図13は、前述したように様々な実施形態を実装するために適した例示的なコンピュータアーキテクチャ1300の実施形態を示す。一実施形態では、コンピュータアーキテクチャ1300は、本願で説明する1つ又は複数のシステム又は装置の一部を含んでもよく、又は、そのようなシステム又は装置の一部として実装されてもよい。
【0128】
本願において使用されるように、用語「システム」及び「構成要素」は、コンピュータ関連のエンティティ、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかを示すことが意図され、それらの例は例示的なコンピュータアーキテクチャ1300によって提供される。例えば、構成要素は、プロセッサにおいて動作する処理、プロセッサ、ハードディスクドライブ、(光学及び/又は磁気記憶媒体の)複数の記憶ドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び/又はコンピュータであってもよいが、それらに限定されない。例示として、サーバにおいて動作するアプリケーションと、サーバとの両方が、構成要素になりうる。1つ又は複数の構成要素が1つの処理/実行スレッド内に存在してもよく、1つの構成要素が、1つのコンピュータにおいて局在してもよく、及び/又は、2つ以上のコンピュータ間で分散されてもよい。さらに、複数の構成要素は、動作を協調させるために、様々なタイプの通信媒体によって互いに通信可能に接続されてもよい。協調動作は、情報の単方向又は双方向交換を伴ってもよい。例えば、構成要素は、通信媒体上で伝送される信号の形式で情報を伝送してもよい。情報は、様々な信号ラインに割り当てられた信号として実装されてもよい。そのような割り当てにおいて、各メッセージが信号である。しかしながら、別の実施形態は、代替としてデータメッセージを使用してもよい。そのようなデータメッセージは、様々な接続を介して送信されてもよい。例示的な接続は、パラレルインターフェース、シリアルインターフェース、及びバスインターフェースを含む。
【0129】
コンピュータアーキテクチャ1300は、1つ又は複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺装置、インターフェース、発振器、タイミング装置、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)構成要素、電源などのような、様々な一般的な計算要素を含む。しかしながら、実施形態は、コンピュータアーキテクチャ1300による実装例に限定されない。
【0130】
図13に示すように、コンピュータアーキテクチャ1300は、プロセッサ1312、システムメモリ1304、及びシステムバス1306を含む。プロセッサ1312は、様々な市販のプロセッサのいずれかであってもよい。
【0131】
システムバス1306は、システムメモリ1304からプロセッサ1312を含むがそれに限定されない、システム構成要素のためのインターフェースを提供する。システムバス1306は、さまざまな市販のバスアーキテクチャのうちのいずれかを用いて、メモリバス(メモリコントローラとともに又はメモリコントローラとは別に)、周辺機器バス、及びローカルバスにさらに相互接続しうる、いくつかのタイプのバス構造のいずれかであってもよい。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス902に接続されてもよい。例示的なスロットアーキテクチャは、AGP(Accelerated Graphics Port)、カードバス、(E)ISA((Extended) Industry Standard Architecture)、MCA(Micro Channel Architecture)、NuBus、PCI(X)(Peripheral Component Interconnect (Extended))、PCI Express、PCMCIA(Personal Computer Memory Card International Association)などを含んでもよいがそれらに限定されない。
【0132】
コンピュータアーキテクチャ1300は、様々な製品を含むか又は実装してもよい。製品は、論理を格納するためのコンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体の例は、揮発性メモリ又は不揮発性メモリ、リムーバブル又は非リムーバブルメモリ、消去可能又は消去不可能メモリ、書き込み可能又は再書き込み可能なメモリ、などを含む、電子データを格納できる任意の有形物媒体を含んでもよい。論理の例は、ソースコード、コンパイルされたコード、インタープリタで処理されたコード、実行可能なコード、静的コード、動的コード、オブジェクト指向コード、視覚的コード、などのような任意の適切なタイプのコードを用いて実装された、実行可能なコンピュータプログラム命令を含んでもよい。実施形態はまた、少なくとも部分的に、非一時的なコンピュータ可読媒体内又はそのような媒体上に含まれる命令として実装されてもよく、それは、1つ又は複数のプロセッサによって読み出されて実行されることで、本願で説明する動作の実行を可能にしてもよい。
【0133】
システムメモリ1304は、ROM(read-only memory)、RAM(random-access memory)、DRAM(dynamic RAM)、DDRAM(Double-Data-Rate DRAM)、SDRAM(synchronous DRAM)、SRAM(static RAM)、PROM(programmable ROM)、EPROM(erasable programmable ROM)、EEPROM(electrically erasable programmable ROM)、フラッシュメモリ(例えば、1つ又は複数のフラッシュアレイ)、強誘電体ポリマーメモリのようなポリマーメモリ、オボニック(ovonic)メモリ、相変化又は強誘電体メモリ、SONOS(silicon-oxide-nitride-oxide-silicon)メモリ、磁気又は光カード、RAID(array of devices such as Redundant Array of Independent Disks)ドライブ、ソリッドステートメモリ装置(例えば、USBメモリ、SSD(solid-state drive))、及び情報を格納するのに適した他の任意のタイプの記憶媒体のような、1つ又は複数のより高速のメモリユニットの形式を有する様々なタイプのコンピュータ可読記憶媒体を含んでもよい。
図13に示す実施形態では、システムメモリ1304は、不揮発性1308及び/又は揮発性1310を含んでもよい。BIOS(basic input/output system)は、不揮発性メモリ1308に格納されてもよい。
【0134】
コンピュータ1302は、内部(又は外部)ハードディスクドライブ1330と、着脱可能な磁気ディスク1320に対して読み出す又は書き込むための磁気ディスクドライブ1316と、着脱可能な光ディスク1322(例えば、CD-ROM又はDVD)に対して読み出す又は書き込むための光ディスクドライブ1328とを含む、1つ又は複数のより低速のメモリユニットの形式を有する様々なタイプのコンピュータ可読記憶媒体を含んでもよい。ハードディスクドライブ1330、磁気ディスクドライブ1316、及び光ディスクドライブ1328は、HDDインターフェース1314、FDDインターフェース1318、及び光ディスクドライブは1334インターフェースによって、システムバス1306にそれぞれ接続されてもよい。外部ドライブ実装のためのHDDインターフェース1314は、USB(Universal Serial Bus )及びIEEE1394インターフェース技術の少なくとも一方又は両方を含んでもよい。
【0135】
ドライブ及び関連付けられたコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能な命令などの揮発性及び/又は不揮発性の記憶装置を提供する。例えば、オペレーティングシステム1322、1つ又は複数のアプリケーション1342、他のプログラムモジュール1324、及びプログラムデータ1326を含む多数のプログラムモジュールが、ドライブ、不揮発性1308、及び揮発性1310に格納されてもよい。一実施形態では、1つ又は複数のアプリケーション1342、他のプログラムモジュール1324、及びプログラミングデータ1326は、例えば、本願で説明するシステムの様々なアプリケーション及び/又は構成要素を含んでもよい。
【0136】
ユーザは、1つ又は複数の有線/無線入力装置、例えば、キーボード1350と、マウス1352のようなポインティングデバイスとを介して、コマンド及び情報をコンピュータ1302に入力してもよい。他の入力装置は、マイクロホン、赤外線(IR)リモートコントロール、無線周波数(RF)リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックスタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性など)、トラックボール、トラックパッド、センサ、スタイラスなどを含んでもよい。これら及び他の入力装置は、多くの場合、システムバス1306に接続される入力装置インターフェース1336を介してプロセッサ1312に接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどのような他のインターフェースによって接続されてもよい。
【0137】
モニタ1344又は他のタイプのディスプレイ装置もまた、ビデオアダプタ1346のようなインターフェースを介してシステムバス1306に接続される。モニタ1344は、コンピュータ1302の内部又は外部にあってもよい。モニタ1344に加えて、コンピュータは、典型的には、スピーカ、プリンタなどのような、他の周辺出力装置を含む。
【0138】
コンピュータ1302は、1つ又は複数の遠隔のコンピュータ1348のような1つ又は複数の遠隔のコンピュータへの有線及び/又は無線通信を介して、論理接続を用いて、ネットワーク化された環境において動作してもよい。1つ又は複数の遠隔のコンピュータ1348は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサに基づくエンターテインメント機器、ピア装置、又は他の一般的なネットワークノードであってもよく、簡潔さの目的でメモリ/記憶装置1358のみを図示しているが、典型的には、コンピュータ1302に関連して説明した構成要素のうちの多数又はすべてを含む。図示した論理接続は、LAN(local area network)1356及び/又はより大きなネットワーク、例えばWAN(wide area network)1354)への有線/無線接続を含む。そのようなLAN及びWANネットワーキング環境は、オフィス及び会社において一般的に存在し、イントラネットのような企業全体にわたるコンピュータネットワークを促進し、それらのすべては、大域的な通信ネットワーク、例えばインターネットに接続されてもよい。
【0139】
ローカルエリアネットワーク1356ネットワーキング環境において使用される場合、コンピュータ1302は、有線及び/又は無線通信ネットワークインターフェース又はネットワークアダプタ1338を介して、ローカルエリアネットワーク1356に接続される。ネットワークアダプタ1338は、ローカルエリアネットワーク1356への有線及び/又は無線通信を容易にすることができ、それは、ネットワークアダプタ1338の無線機能と通信するために、その上に配置された無線アクセスポイントを含んでもよい。
【0140】
ワイドエリアネットワーク1354ネットワーキング環境において使用される場合、コンピュータ1302は、モデム1340を含んでもよく、又は、ワイドエリアネットワーク1354における通信サーバに接続されるか、例えばインターネットによって、ワイドエリアネットワーク1354を介する通信を確立するための他の手段を有する。モデム1340は、入力装置インターフェース1336を介してシステムバス1306に接続される。モデム1340は、内部又は外部にあってもよく、有線及び/又は無線装置であってもよい。ネットワーク化された環境において、コンピュータ1302に関連して図示したプログラムモジュール又はその部分は、遠隔のメモリ/記憶装置1358に格納されてもよい。図示したネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段を使用可能であることが認識されるであろう。
【0141】
コンピュータ1302は、無線通信(例えば、IEEE802.11の無線変調技術)において動作可能に配置された無線装置のような、IEEE802標準のファミリーを用いる有線及び無線装置又はエンティティと通信するように動作可能である。これは、少なくとも、とりわけ、Wi-Fi(Wireless Fidelity)、WiMax、及びBluetooth無線技術を含む。したがって、通信は、従来技術のネットワークを含むような予め定義された構造であってもよく、又は、単に、少なくとも2つの装置間のアドホックな通信であってもよい。Wi-Fiネットワークは、安全で、信頼性が高く、高速な無線接続を提供するために、IEEE802.11(a、b、g、nなど)と呼ばれる無線技術を用いる。Wi-Fiネットワークは、複数のコンピュータを互いに接続するために、インターネットに接続するために、また、有線ネットワーク(IEEE802.3に関連する媒体及び機能を用いる)に接続するために使用可能である。
【0142】
本願で上述した装置の様々な構成要素は、様々なハードウェア構成要素、ソフトウェア構成要素、又は両方の組み合わせを含んでもよい。ハードウェア構成要素の例は、装置、論理装置、構成要素、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗、キャパシタ、インダクタなど)、集積回路、特定用途向け集積回路(application-specific integrated circuit:ASIC)、プログラマブル論理デバイス(programmable logic device:PLD)、ディジタル信号プロセッサ(digital signal processor:DSP)、フィールドプログラマブルゲートアレイ(field-programmable gate array:FPGA)、メモリ装置、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含んでもよい。ソフトウェア構成要素の例は、ソフトウェア部品、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェアインタフェース、API(application program interface)、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はそれらの任意の組み合わせを含んでもよい。しかしながら、実施形態がハードウェア構成要素及び/又はソフトウェア構成要素を用いて実装されるか否かを決定することは、所与の実装に関して望まれる、所望の計算レート、電力レベル、耐熱性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、及び他の設計上又は性能上の制約のような、任意個数のファクタに従って変化しうる。
【0143】
上述した装置の構成要素及び特徴は、ディスクリート回路、特定用途向け集積回路(ASIC)、論理ゲート、及び/又は単一チップアーキテクチャの任意の組み合わせを用いて実装されてもよい。さらに、装置の特徴は、マイクロコントローラ、プログラマブルロジックアレイ、及び/又はマイクロプロセッサを用いて実装されてもよく、又は、適切な場合には、上述したものの任意の組み合わせを用いて実装されてもよい。本願では、ハードウェア、ファームウェア、及び/又はソフトウェア構成要素が、まとめて、又は個別に、「論理」又は「回路」として呼ばれうることに注意する。
【国際調査報告】