(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-02
(45)【発行日】2024-09-10
(54)【発明の名称】非接触カードの位置決めに基づくディジタルサービスのための継続認証
(51)【国際特許分類】
G06F 21/35 20130101AFI20240903BHJP
【FI】
G06F21/35
(21)【出願番号】P 2022503544
(86)(22)【出願日】2020-07-10
(86)【国際出願番号】 US2020041545
(87)【国際公開番号】W WO2021011354
(87)【国際公開日】2021-01-21
【審査請求日】2023-06-19
(32)【優先日】2019-07-18
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】ルール,ジェフリー
(72)【発明者】
【氏名】イリンチック,ライコ
【審査官】三森 雄介
(56)【参考文献】
【文献】特開2009-93626(JP,A)
【文献】特開2000-3336(JP,A)
【文献】特開2013-20496(JP,A)
【文献】特開平10-79733(JP,A)
【文献】米国特許出願公開第2007/0118745(US,A1)
【文献】国際公開第2017/033118(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/30-21/46
G06Q 10/00-20/42
(57)【特許請求の範囲】
【請求項1】
クライアント装置のプロセッサ回路において実行中のアプリケーションによって、ディジタルサービスにアクセスする要求を受信することと、
上記アプリケーションによって、ユーザアカウントに関連付けられた暗号化データの第1の集合の検証に基づく第1の認証を受信することと、
上記アプリケーションによって、上記第1の認証に基づいて、上記クライアント装置の磁界によって起動される非接触カードからの第2の認証を要求することと、
上記クライアント装置のカードリーダーによって、上記非接触カードの起動に応答して、上記非接触カードから、暗号アルゴリズム及び上記非接触カードの派生鍵に基づいて生成された暗号化データの第2の集合であって、上記ユーザアカウントに関連付けられた暗号化データの第2の集合を受信することと、
上記アプリケーションによって、上記暗号化データの第2の集合に基づく上記第2の認証を実行することと、
上記アプリケーションによって、上記第1の認証及び上記第2の認証に応答して上記ディジタルサービスへのアクセスを認可することと、
上記アプリケーションによって、複数の時間期間のそれぞれにおいて、複数の状態メッセージのうちの各状態メッセージを上記非接触カードに送信することで、上記非接触カードがアクティブであることを検証することと、
上記アプリケーションによって、上記複数の状態メッセージのうちの第1の状態メッセージに応答して、上記非接触カードからの複数の応答のうちの第1の応答を受信することと、
上記アプリケーションによって、上記第1の応答に基づいて、再認証を要求することなく上記ディジタルサービスへのアクセスを提供することと、
上記アプリケーションによって、上記複数の状態メッセージのうちの第2の状態メッセージに対する応答が上記非接触カードから受信されないことを決定することと、
上記アプリケーションによって、上記第2の状態メッセージに対する応答が上記非接触カードから受信されないという決定に基づいて、上記ディジタルサービスへのアクセスを終了することとを含む、
方法。
【請求項2】
上記暗号化データの第2の集合は、上記非接触カードが上記クライアント装置の通信範囲に入ることに応答して、上記非接触カードから、近距離無線通信(near-field communication:NFC)データ交換フォーマット(near-field communication data exchange format:NDEF)メッセージとして受信され、
上記暗号化データの第2の集合は、上記ユーザアカウントに関連付けられた、暗号化された有効期限と、暗号化された請求書発行アドレスと、暗号化されたカード検証値(card verification value:CVV)とのうちの少なくとも1つを含む、
請求項1記載の方法。
【請求項3】
上記複数の状態メッセージは、NFCインターフェース及びアンテナにエネルギーを与えることにより送信され、上記非接触カードに対して1つ又は複数のNFC読み取り動作を実行し、
上記複数の応答は、上記非接触カードのアンテナを介して、対応する状態メッセージに応答して、各NDEFメッセージとして受信される、
請求項2記載の方法。
【請求項4】
上記第2の認証を実行することは、
上記アプリケーションによって、上記暗号化データの第2の集合をサーバに送信することと、
上記アプリケーションによって、上記サーバから、上記暗号化データの第2の集合に基づく上記第2の認証を受信することとを含む、
請求項1記載の方法。
【請求項5】
上記第2の状態メッセージに対する応答が受信されないことを決定することは、上記アプリケーションによって、上記非接触カードの信号強度がしきい値未満であることを決定することを含む、
請求項1記載の方法。
【請求項6】
物理的覆いの終端壁部を介するスロットであって、上記非接触カードを収容可能である一組の壁部を画成し、上記クライアント装置が物理的覆いに接続されるときに上記クライアント装置の背面に沿って配置されるスロット内に上記非接触カードを収容することを含む、
請求項1記載の方法。
【請求項7】
上記非接触カードがアクティブである間、上記ディジタルサービスにアクセスする認可は継続し、
上記非接触カードが非アクティブである場合、上記ディジタルサービスにアクセスする認可は終了し、
上記第1の応答の後、かつ、上記第2の状態メッセージに対する応答が受信されないことを決定する前に、上記複数の応答のうちの第3の応答が受信され、
上記アプリケーションは、上記第3の応答に基づく再認証を要求することなく、上記ディジタルサービスへのアクセスを提供する、
請求項1記載の方法。
【請求項8】
命令を含むコンピュータ可読記憶媒体であって、
上記命令は、クライアント装置のプロセッサによって実行されたとき、
アプリケーションによって、ディジタルサービスにアクセスする要求を受信することと、
上記アプリケーションによって、ユーザアカウントに関連付けられた暗号化データの第1の集合の検証に基づく第1の認証を受信することと、
上記アプリケーションによって、上記第1の認証に基づいて、上記クライアント装置の磁界によって起動される非接触カードからの第2の認証を要求することと、
上記クライアント装置のカードリーダーを介して、上記非接触カードの起動に応答して、上記非接触カードから、暗号アルゴリズム及び上記非接触カードの派生鍵に基づいて生成された暗号化データの第2の集合であって、上記ユーザアカウントに関連付けられた暗号化データの第2の集合を受信することと、
上記アプリケーションによって、上記暗号化データの第2の集合に基づく上記第2の認証を実行することと、
上記アプリケーションによって、上記第1の認証及び上記第2の認証に応答して上記ディジタルサービスへのアクセスを認可することと、
上記アプリケーションによって、複数の時間期間のそれぞれにおいて、複数の状態メッセージのうちの各状態メッセージを上記非接触カードに送信することで、上記非接触カードがアクティブであることを検証することと、
上記アプリケーションによって、上記複数の状態メッセージのうちの第1の状態メッセージに応答して、上記非接触カードからの複数の応答のうちの第1の応答を受信することと、
上記アプリケーションによって、上記第1の応答に基づいて、再認証を要求することなく上記ディジタルサービスへのアクセスを提供することと、
上記アプリケーションによって、上記複数の状態メッセージのうちの第2の状態メッセージに対する応答が上記非接触カードから受信されないことを決定することと、
上記アプリケーションによって、上記第2の状態メッセージに対する応答が上記非接触カードから受信されないという決定に基づいて、上記ディジタルサービスへのアクセスを終了することと
を上記プロセッサに実行させる、
コンピュータ可読記憶媒体。
【請求項9】
上記暗号化データの第2の集合は、上記非接触カードが上記クライアント装置の通信範囲に入ることに応答して、上記非接触カードから、近距離無線通信(near-field communication:NFC)データ交換フォーマット(near-field communication data exchange format:NDEF)メッセージとして受信され、
上記暗号化データの第2の集合は、上記ユーザアカウントに関連付けられた、暗号化された有効期限と、暗号化された請求書発行アドレスと、暗号化されたカード検証値(card verification value:CVV)とのうちの少なくとも1つを含む、
請求項8記載のコンピュータ可読記憶媒体。
【請求項10】
上記複数の状態メッセージは、NFCインターフェース及びアンテナにエネルギーを与えることにより送信され、上記非接触カードに対して1つ又は複数のNFC読み取り動作を実行する、
請求項9記載のコンピュータ可読記憶媒体。
【請求項11】
上記複数の応答は、上記非接触カードのアンテナを介して、対応する状態メッセージに応答して、各NDEFメッセージとして受信される、
請求項10記載のコンピュータ可読記憶媒体。
【請求項12】
上記第2の状態メッセージに対する応答が受信されないことを決定することは、上記アプリケーションによって、上記非接触カードの信号強度がしきい値未満であることを決定することを含む、
請求項8記載のコンピュータ可読記憶媒体。
【請求項13】
上記命令は、上記アプリケーションによって、上記非接触カードの信号強度をグラフィカルユーザインターフェースに表示することを実行させるように上記プロセッサをさらに構成する、
請求項12記載のコンピュータ可読記憶媒体。
【請求項14】
上記非接触カードがアクティブである間、上記ディジタルサービスにアクセスする認可は継続し、
上記非接触カードが非アクティブである場合、上記ディジタルサービスにアクセスする認可は終了し、
上記第1の応答の後、かつ、上記第2の状態メッセージに対する応答が受信されないことを決定する前に、上記複数の応答のうちの第3の応答が受信され、
上記アプリケーションは、上記第3の応答に基づく再認証を要求することなく、上記ディジタルサービスへのアクセスを提供する、
請求項8記載のコンピュータ可読記憶媒体。
【請求項15】
プロセッサと、カードリーダーと、命令を格納するメモリとを備える計算装置であって、
上記命令は、上記プロセッサによって実行されたとき、
アプリケーションによって、ディジタルサービスにアクセスする要求を受信することと、
上記アプリケーションによって、ユーザアカウントに関連付けられた暗号化データの第1の集合の検証に基づく第1の認証を受信することと、
上記アプリケーションによって、上記第1の認証に基づいて、上記計算装置の磁界によって起動される非接触カードからの第2の認証を要求することと、
上記カードリーダーによって、上記非接触カードの起動に応答して、上記非接触カードから、暗号アルゴリズム及び上記非接触カードの派生鍵に基づいて生成された暗号化データの第2の集合であって、上記ユーザアカウントに関連付けられた暗号化データの第2の集合を受信することと、
上記アプリケーションによって、上記暗号化データの第2の集合に基づく上記第2の認証を実行することと、
上記アプリケーションによって、上記第1の認証及び上記第2の認証に応答して上記ディジタルサービスへのアクセスを認可することと、
上記アプリケーションによって、複数の時間期間のそれぞれにおいて、複数の状態メッセージのうちの各状態メッセージを上記非接触カードに送信することで、上記非接触カードがアクティブであることを検証することと、
上記アプリケーションによって、上記複数の状態メッセージのうちの第1の状態メッセージに応答して、上記非接触カードからの複数の応答のうちの第1の応答を受信することと、
上記アプリケーションによって、上記第1の応答に基づいて、再認証を要求することなく上記ディジタルサービスへのアクセスを提供することと、
上記アプリケーションによって、上記複数の状態メッセージのうちの第2の状態メッセージに対する応答が上記非接触カードから受信されないことを決定することと、
上記アプリケーションによって、上記第2の状態メッセージに対する応答が上記非接触カードから受信されないという決定に基づいて、上記ディジタルサービスへのアクセスを終了することと
を上記プロセッサに実行させる、
計算装置。
【請求項16】
上記暗号化データの第2の集合は、上記非接触カードが上記計算装置の通信範囲に入ることに応答して、上記非接触カードから、近距離無線通信(near-field communication:NFC)データ交換フォーマット(near-field communication data exchange format:NDEF)メッセージとして受信され、
上記暗号化データの第2の集合は、上記ユーザアカウントに関連付けられた、暗号化された有効期限と、暗号化された請求書発行アドレスと、暗号化されたカード検証値(card verification value:CVV)とのうちの少なくとも1つを含む、
請求項15記載の計算装置。
【請求項17】
上記複数の状態メッセージは、NFCインターフェース及びアンテナにエネルギーを与えることにより送信され、上記非接触カードに対して1つ又は複数のNFC読み取り動作を実行する、
請求項16記載の計算装置。
【請求項18】
上記複数の応答は、上記非接触カードのアンテナを介して、対応する状態メッセージに応答して、各NDEFメッセージとして受信される、
請求項17記載の計算装置。
【請求項19】
上記第2の状態メッセージに対する応答が受信されないことを決定することは、上記アプリケーションによって、上記非接触カードの信号強度がしきい値未満であることを決定することを含む、
請求項15記載の計算装置。
【請求項20】
物理的覆いの終端壁部を介して上記非接触カードを収容するように構成されたスロットであって、上記非接触カードを収容可能である一組の壁部を画成し、上記計算装置の背面に沿って配置されたスロットをさらに備える、
請求項15記載の計算装置。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照.
本願は、2019年7月18日に出願された「非接触カードの位置決めに基づくディジタルサービスのための継続認証(CONTINUOUS AUTHENTICATION FOR DIGITAL SERVICES BASED ON CONTACTLESS CARD POSITIONING)」と題する米国特許出願シリアル番号16/516243号への優先権を主張し、前述の特許出願の内容の全体は参照によって本願に援用される。
【0002】
技術分野.
本願の実施形態は、概して計算プラットフォームに関し、より具体的には、非接触カードが計算装置の近傍に位置する場合に、ディジタルサービスへの継続的な認証を提供することに関する。
【背景技術】
【0003】
ディジタルウォレット、ウェブサイト、ネットワーク、アプリケーションなどのサービスにアクセスする場合、典型的には、ユーザ認証が必要とされる。一般に展開された認証方法は、パスワード認証、虹彩認証、顔面認証、音声認証、指紋認証、静脈認証、予め決められたジェスチャなどを含む。
【発明の概要】
【発明が解決しようとする課題】
【0004】
セキュリティを理由として、これらの認証方法は、認証されたユーザがサービスにログインし続けてもよい時間長に制限を課す。しかしながら、サービスからログアウトされないようにするためにユーザによる継続的な再認証を必要とすることは、ユーザによる過度の注意及び努力を行わせる可能性があり、このことは、ユーザ体験を劣化させる可能性がある。
【課題を解決するための手段】
【0005】
本願で開示した実施形態は、計算装置への非接触カードの近接度に基づいてディジタルサービスへの継続的な認証を提供するためのシステム、方法、製品、及びコンピュータ可読媒体を提供する。一例によれば、システムは、プロセッサ回路と、命令を格納するメモリとを含んでもよく、命令は、プロセッサ回路によって実行されたとき、プロセッサ回路において実行中のアプリケーションによって、ディジタルサービスにアクセスする要求を受信することと、アプリケーションによって、ユーザアカウントに関連付けられた暗号化データの第1の集合の検証に基づく第1の認証を受信することと、アプリケーションによって、非接触カードからの第2の認証を要求することと、クライアント装置のカードリーダによって、非接触カードの起動に応答して、非接触カードの通信インターフェースから暗号化データの第2の集合を受信することとをプロセッサ回路に実行させる。暗号化データの第2の集合は、暗号アルゴリズム及び派生鍵に基づいて生成される。派生鍵は非接触カードのメモリに格納される。非接触カードは、非接触カードがクライアント装置の近傍に位置するとき、クライアント装置によって起動される。暗号化データの第2の集合はユーザアカウントに関連付けられる。本システムはさらに、プロセッサ回路によって実行されたとき、アプリケーションによって、サーバから、暗号化データの第2の集合に基づくユーザアカウントの第2の検証を受信することと、アプリケーションによって、ユーザアカウントの第1及び第2の検証に応答してディジタルサービスへのアクセスを認可することと、アプリケーションによって、クライアント装置及び非接触カードの間で一連の周期的な状態メッセージを継続的に提供することで、非接触カードがアクティブのままであるか否かを検証することとをプロセッサ回路に実行させる命令を含む。非接触カードがアクティブである間、ディジタルサービスにアクセスする認可は継続し、非接触カードが非アクティブである場合、ディジタルサービスにアクセスする認可は終了する。
【0006】
もう1つの実施例によれば、本方法は、プロセッサ回路において実行中のアプリケーションによって、ディジタルサービスにアクセスする要求を受信することと、アプリケーションによって、ユーザアカウントに関連付けられた暗号化データの第1の集合の検証に基づく第1の認証を受信することと、アプリケーションによって、非接触カードからの第2の認証を要求することとを含んでもよい。本方法はさらに、クライアント装置のカードリーダによって、非接触カードの起動に応答して、非接触カードの通信インターフェースから暗号化データの第2の集合を受信することを含んでもよい。暗号化データの第2の集合は、暗号アルゴリズム及び派生鍵に基づいて生成される。派生鍵は非接触カードのメモリに格納される。非接触カードは、非接触カードがクライアント装置の近傍に位置するとき、クライアント装置によって起動される。暗号化データの第2の集合はユーザアカウントに関連付けられる。本方法はさらに、アプリケーションによって、サーバから、暗号化データの第2の集合に基づくユーザアカウントの第2の検証を受信することと、アプリケーションによって、ユーザアカウントの第1及び第2の検証に応答してディジタルサービスへのアクセスを認可することと、アプリケーションによって、クライアント装置及び非接触カードの間で一連の周期的な状態メッセージを継続的に提供することで、非接触カードがアクティブのままであるか否かを検証することと含んでもよい。非接触カードがアクティブである間、ディジタルサービスにアクセスする認可は継続し、非接触カードが非アクティブである場合、ディジタルサービスにアクセスする認可は終了する。
【0007】
もう1つの実施例によれば、ともに具体化されたコンピュータ可読プログラムコードを有する非一時的なコンピュータ可読記憶媒体であって、プロセッサ回路によって実行可能なコンピュータ可読プログラムコードは、プロセッサ回路において実行中のアプリケーションによって、ディジタルサービスにアクセスする要求を受信することと、アプリケーションによって、ユーザアカウントに関連付けられた暗号化データの第1の集合の検証に基づく第1の認証を受信することと、アプリケーションによって、非接触カードからの第2の認証を要求することとをプロセッサ回路に実行させてもよい。プロセッサ回路によって実行可能なコンピュータ可読プログラムコードはさらに、クライアント装置のカードリーダによって、非接触カードの起動に応答して、非接触カードの通信インターフェースから暗号化データの第2の集合を受信することをプロセッサ回路に実行させてもよい。暗号化データの第2の集合は、暗号アルゴリズム及び派生鍵に基づいて生成される。派生鍵は非接触カードのメモリに格納される。非接触カードは、非接触カードがクライアント装置の近傍に位置するとき、クライアント装置によって起動される。暗号化データの第2の集合はユーザアカウントに関連付けられる。プロセッサ回路によって実行可能なコンピュータ可読プログラムコードはさらに、アプリケーションによって、サーバから、暗号化データの第2の集合に基づくユーザアカウントの第2の検証を受信することと、アプリケーションによって、ユーザアカウントの第1及び第2の検証に応答してディジタルサービスへのアクセスを認可することと、アプリケーションによって、クライアント装置及び非接触カードの間で一連の周期的な状態メッセージを継続的に提供することで、非接触カードがアクティブのままであるか否かを検証することとをプロセッサ回路に実行させてもよい。非接触カードがアクティブである間、ディジタルサービスにアクセスする認可は継続し、非接触カードが非アクティブである場合、ディジタルサービスにアクセスする認可は終了する。
【図面の簡単な説明】
【0008】
【
図1】ディジタルサービスへの継続的な認証を提供するためのシステムの実施形態を示す。
【
図2】計算装置への非接触カードの近似度に基づいてディジタルサービスへの継続的な認証を提供するための実施形態を示す。
【
図3】計算装置への非接触カードの近似度に基づいてディジタルサービスへの継続的な認証を提供するための実施形態を示す。
【
図5A】クライアント装置のための覆いの実施形態の側面図を示す。
【
図5B】
図5Aのクライアント装置のための覆いの実施形態の端面図を示す。
【
図6】ディジタルサービスへの継続的な認証を提供するために論理フローの実施形態を示す。
【発明を実施するための形態】
【0009】
図面は、必ずしも縮尺どおりではない。図面は単なる表現であり、本開示の特定のパラメータを描写することを意図していない。図面は、本開示の例示的な実施形態を示すことを意図し、従って、範囲を制限するようにみなされるべきではない。図面のうちのいくつかにおける所定の構成要素は、図示の明確性のために、省略されるか、又は、異なる縮尺で図示される可能性がある。さらに、いくつかの参照番号は、所定の図面において省略される可能性がある。
【0010】
以下、本開示について、いくつかの実施形態を示す添付の図面を参照して、より十分に説明する。本開示の主題は、多数の異なる形態で実施されてもよく、本明細書で説明した実施形態に限定するように解釈されるべきでない。これらの実施形態は、本開示が詳細かつ完全になり、主題の範囲を当業者に十分に伝えるように提供される。図面全体にわたって、同様の番号は同様の構成要素を示す。
【0011】
本願で開示した実施形態は、移動体装置又はパーソナルコンピュータのようなクライアント装置への近似度に基づいて非接触カードの継続的な認証を提供する。いくつかの実施形態では、継続的な起動は、非接触カードがクライアント装置のカードリーダ(カード読み取り装置)の近傍に位置する限り、非接触カードが、ディジタルサービスを備えた認証を提供することを可能にしうる。例えば、クライアント装置及び非接触カードの間で一連の周期的な「ハートビート」又は状態メッセージを提供することで、非接触カードがアクティブのままであるか否かを検証してもよい。非接触カードがアクティブである間、ディジタルサービスにアクセスする認可は継続し、非接触カードが非アクティブである場合、認可は終了する。
【0012】
いくつかの実施形態では、非接触カードを収容してクライアント装置に対して位置決めするために、クライアント装置上の装置又は覆いが使用されてもよい。特に、覆いは、移動体装置のカードリーダの近傍に位置したスロット又はレセプタクルを含んでもよい。非接触カードは、覆いの内部に保持されている間に、クライアント装置の電磁界によって継続的に起動されてもよい。次いで、この継続的な起動は、非接触カードが覆いの内部にとどまる限り、非接触カードが、ディジタルサービスを備えた認証を提供することを可能にしうる。覆いから非接触カードを除去することは、電磁界の喪失をもたらし、それにより、ディジタルサービスを備えた認証を終了させてもよい。
【0013】
優位点として、「ハートビート」又は状態メッセージングを用いて継続的な認証を提供することは、ユーザによるディジタルサービスとの相互動作の容易さを改善する。例えば、ユーザは、いったん認証されると、非接触カードがアクティブのままである限り、認証に基づいてディジタルサービスにログインしたままでいることができる。ユーザが認証情報入力しなければならない回数を低減することによって、カードデータのセキュリティが向上されうる。
【0014】
本願で使用される記法及び命名法を概して参照すると、この後で述べる詳細な説明のうちの1つ又は複数の部分は、コンピュータ又はコンピュータネットワークで実行されるプログラム手順に関して提示されることがある。これらの手順の説明及び表現は、当業者によって、彼らの仕事の内容を他の当業者に最も有効に伝えるために使用される。本願では、また概して、手順は、所望の結果をもたらすための首尾一貫した一連の動作と考えられる。これらの動作は、物理量の物理的操作を要求する。必ずしもではないが、通常、これらの量は、格納、転送、結合、比較、及びさもなければ操作されることが可能な、電気的、磁気的、又は光学的な信号の形式をとる。主に一般的な用法を理由として、これらの信号をビット、値、要素、シンボル、キャラクタ、項、番号などと呼ぶことが時々便利であることがわかる。しかしながら、これらの用語及び同様の用語のすべては、適切な物理量に関連付けられるべきであり、単に、それらの量に適用される便利なラベルであるということを注意すべきである。
【0015】
さらに、これらの操作は、多くの場合、人間であるオペレータによって実行される精神活動に一般的に関連付けられる、加算又は比較といった用語によって表される。しかしながら、1つ又は複数の実施形態の一部を形成する、本願で説明する動作のいずれにおいても、人間のオペレータのそのような能力は、不要であるか、又は、ほとんどの場合において望ましくない。むしろ、これらの動作はマシン動作である。様々な実施形態の動作を実行するための有用なマシンは、本願の開示内容に従って記述されて内部に格納されたコンピュータプログラムによって選択的に起動又は構成されるようなディジタルコンピュータを含み、及び/又は、必要とされる目的のために特に構成された装置又はディジタルコンピュータを含む。また、様々な実施形態は、これらの動作を実行するための装置又はシステムに関する。これらの装置は、必要とされる目的のために特に構成されてもよい。さまざまなこれらのマシンのための必要な構造は、提示した説明から明らかになるであろう。
【0016】
ここで図面を参照すると、図面全体にわたって、同様の参照符号は同様の構成要素を示すために使用される。下記の説明では、説明の目的で、多数の特定の詳細事項が、それらについての詳細な理解をもたらすために説明される。しかしながら、新規な実施形態はこれらの特定の詳細事項なしで実施されてもよいことが明らかとなりうる。他の例では、公知の構造物及び装置は、それらについての説明を容易にするために、ブロック図の形式で示される。特許請求の範囲内においてすべての変更、等価物、及び代替物をカバーすることを意図している。
【0017】
図1は、開示した実施形態に係る例示的なシステム100の概略図を示す。図示するように、システム100は、1つ又は複数の非接触カード101と、1つ又は複数のクライアント装置110と、1つ又は複数のサーバ120とを含む。非接触カード101は、クレジットカード、デビットカード、ATMカード、ギフトカードなどのような、任意のタイプの識別及び/又は支払いカードを表す。非接触カード101は、NFC、EMV標準、又は無線通信における他の短距離プロトコルを介してクライアント装置110と通信するように構成された、無線周波数識別(radio frequency identification:RFID)チップのような1つ又は複数のチップ(図示せず)を含んでもよい。NFCを例示的な通信プロトコルとして用いているが、本開示は、EMV標準、Bluetooth(登録商標)、及び/又はWi-Fi(登録商標)のような他のタイプの無線通信にも同様に適用可能である。クライアント装置110は、スマートフォン、タブレットコンピュータ、ウェアラブル装置、ラップトップ、携帯ゲーム装置などのような、ネットワーク機能を有する任意のタイプの計算装置を表す。サーバ120は、サーバ、ワークステーション、計算クラスタ、クラウド計算プラットフォーム、仮想化された計算システムなどのような、任意のタイプの計算装置を表す。
【0018】
図示するように、非接触カードのメモリ102は、カードデータ103、カウンタ104、マスタ鍵105、派生鍵(diversified key)106、一意の顧客識別子107、及びアカウント番号のデータ記憶装置108を含んでもよい。カードデータ103は、概して、非接触カード101を用いて支払いを処理するために使用される情報のような、アカウント関連の情報を含む。例えば、カードデータ103は、アカウント番号、有効期限、請求書発行アドレス、及びカード検証値(card verification value:CVV)を含んでもよい。アカウント番号は、一次アカウント番号(primary account number:PAN)、仮想アカウント番号、及び/又はPANに基づいて生成されたトークンのような、任意のタイプのアカウント番号であってもよい。他のタイプのアカウント番号も企図され、また、アカウント番号又は他のタイプのカードデータ103の使用は、本開示を制限するとみなされるべきでない。カードデータ103はさらに、名前、請求書発行アドレス、送付アドレス、及び他のアカウント関連の情報を含んでもよい。本願においてより詳しく説明するように、非接触カード101は、カードデータ103及び/又はアカウント番号108からの記録をアカウントアプリケーション113に提供することで、ディジタルサービス114への認証/アクセスを提供してもよい。
【0019】
図示するように、クライアント装置110のメモリ111は、オペレーティングシステム(OS)112のインスタンスを含む。例示的なオペレーティングシステム112は、Android(登録商標)OS、iOS(登録商標)、Linux(登録商標)、及びWindows(登録商標)オペレーティングシステムを含む。図示するように、OS112は、アカウントアプリケーション113、ディジタルサービス114、1つ又は複数の他のアプリケーション115、及びクリップボード116を含んでもよい。実施形態では、ディジタルサービスは、バンキングアプリケーション又はウェブサイトであり、アカウントアプリケーション113は、勘定残高の閲覧、物品の購入、及び支払いの処理のような、様々なアカウント関連動作をユーザに実行させてもよい。初期状態では、ユーザは、アカウントアプリケーション113にアクセスするために認証クレデンシャルを用いて認証しなければならない。例えば、認証クレデンシャルは、ユーザ名及びパスワード、バイオメトリッククレデンシャルなどを含んでもよい。詳細後述するように、アカウントアプリケーション113及び/又はディジタルサービス114にアクセスするために、ユーザは、クライアント装置110及び非接触カード101の間で交換されたデータに基づく二次認証も満たさなければならない。
【0020】
ディジタルサービス114は、クライアント装置アプリケーション(例えば、バンキング、ソーシャルメディア、音楽ストリーミング、ゲーミングなど)、ウェブサイト、メッセージングサービス(例えば、電子メール、テキストなど)、及びその他多数を含むがこれらに限定されない、1つ又は複数のサービスを含んでもよい。本願の実施形態は、このコンテキストに限定されない。いくつかの実施形態では、ディジタルサービス114は、アカウントアプリケーション113に関連付けられる。例えば、ディジタルサービス114はクライアント装置110にインストールされ、アカウントアプリケーション113とともに動作可能である。
【0021】
図示するように、サーバ120は、アカウントデータのデータ記憶装置124と、メモリ122とを含む。アカウントデータ124は、1つ又は複数のユーザ及び/又はアカウントのためのアカウント関連データを含んでもよい。アカウントデータ124は、少なくともマスタ鍵105、カウンタ104、顧客ID107、関連付けられた非接触カード101、アカウント保有者名、アカウント請求書発行アドレス、1つ又は複数の送付アドレス、1つ又は複数のカード番号、及び各アカウントの経歴情報を含んでもよい。メモリ122は、管理アプリケーション123と、アカウントデータ124からの1つ又は複数のアカウントに係るカードデータ103、カウンタ104、マスタ鍵105、及び派生鍵106のインスタンスとを含んでもよい。
【0022】
システム100は、鍵派生(key diversification)を実施してデータのセキュリティを確保するように構成される。このことは、本願では、鍵派生技術とも呼ばれることがある。概して、サーバ120(又はもう1つの計算装置)及び非接触カード101には、同じマスタ鍵105(マスタ対称鍵とも呼ばれる)が提供されてもよい。より具体的には、各非接触カード101には、サーバ120において対応するペアを有する別個のマスタ鍵105がプログラミングされる。例えば、非接触カード101が製造されるとき、非接触カード101のメモリ102に一意のマスタ鍵105がプログラミングされてもよい。同様に、一意のマスタ鍵105は、サーバ120のアカウントデータ124における非接触カード101に関連付けられた顧客の記録に格納されてもよい(及び/又は、異なる安全な場所に格納されてもよい)。マスタ鍵105は、非接触カード101及びサーバ120以外のすべての当事者に対して秘密にされ、それによって、システム100のセキュリティを向上させる。
【0023】
マスタ鍵105は、鍵派生を用いてセキュリティを向上させるために、カウンタ104に関連して使用されてもよい。カウンタ104は、非接触カード101及びサーバ120の間で同期される値を含む。カウンタ104値は、非接触カード101及びサーバ120の間で(及び/又は、非接触カード101及びクライアント装置110の間で)データが交換されるごとに変化する番号を含んでもよい。非接触カード101及びクライアント装置110の間でNFCデータ転送を可能にするために、非接触カード101がクライアント装置110のカードリーダ118に十分に接近している場合、アカウントアプリケーション113は非接触カード101と通信してもよい。カードリーダ118は、(例えば、NFC、Bluetooth、RFIDなど)を介して)非接触カード101から読み取る(及び/又は通信する)ように構成されてもよい。従って、例示的なカードリーダ118は、NFC通信モジュール、Bluetooth通信モジュール、及び/又はRFID通信モジュールを含んでもよい。
【0024】
例えば、ユーザは、非接触カード101をクライアント装置110の位置に移動させ、それによって、非接触カード101とクライアント装置110のカードリーダ118との間でNFCデータ転送を可能にするように、非接触カード101をクライアント装置110のカードリーダ118に十分に近づけてもよい。いくつかの実施形態では、クライアント装置110は、アプリケーションプログラミングインターフェース(application programming interface:API)呼び出しを介してカードリーダ118をトリガしてもよい。追加又は代替として、クライアント装置110は、カードリーダ118を周期的にポーリングすることに基づいてカードリーダ118をトリガしてもよい。より一般的には、クライアント装置110は、任意の実現可能な方法を用いて通信に関与するようにカードリーダ118をトリガしてもよい。いくつかの実施形態では、非接触カード101は、クライアント装置110の磁界に応答して電力供給/起動されてもよい。
【0025】
クライアント装置110及び非接触カード101の間で通信が確立された後で、非接触カード101は、メッセージ認証コード(message authentication code:MAC)暗号文を生成してもよい。いくつかの実施例では、このことは、非接触カード101がアカウントアプリケーション113によって読み取られるときに実行されてもよい。特に、このことは、NFCデータ互換フォーマットに従って生成されてもよい近接場データ交換(near field data exchange:NDEF)タグの読み取り、例えばNFC読み取りを行ったときに実行されてもよい。例えば、アカウントアプリケーション113及び/又はカードリーダ118のようなリーダは、NDEF生成アプレットのアプレットIDを有するメッセージ、例えばアプレット選択メッセージを送信してもよい。選択を確認したとき、ファイル選択メッセージの後にファイル読み出しメッセージが続くシーケンスが送信されてもよい。例えば、シーケンスは、「機能ファイル選択」、「機能ファイル読み出し」、「NDEFファイル選択」を含んでもよい。この点で、非接触カード101によって保持されたカウンタ104値が更新又はインクリメントされてもよく、その後に「NDEFファイル読み出し」が続いてもよい。この点で、ヘッダ及び共用される秘密を含んでもよいメッセージが生成されてもよい。次いで、セッション鍵が生成されてもよい。MAC暗号文は、ヘッダ及び共用される秘密を含んでもよいメッセージから生成されてもよい。次いで、MAC暗号文は、1つ又は複数のブロックにわたるランダムデータと連結されてもよく、MAC暗号文及び乱数(RND)はセッション鍵により暗号化されてもよい。その後、暗号文及びヘッダは連結され、ASCII16進数として符号化され、(「NDEFファイル読み出し」メッセージに応答して)NDEFメッセージフォーマットで返信されてもよい。いくつかの実施例では、MAC暗号文はNDEFタグとして送信されてもよく、他の実施例では、MAC暗号文はユニフォームリソースインジケータとともに(例えばフォーマットされたストリングとして)含まれてもよい。次いで、非接触カード101は、MAC暗号文をクライアント装置110に送信してもよく、次いで、クライアント装置110は、下記に説明するように、MAC暗号文を検証用のサーバ120に転送してもよい。しかしながら、いくつかの実施形態では、クライアント装置110がMAC暗号文を検証してもよい。本願の実施形態は、このコンテキストに限定されない。
【0026】
より一般的には、(例えば、サーバ120及び/又はクライアント装置110への)データの送信を準備するとき、非接触カード101は、カウンタ104値をインクリメントしてもよい。次いで、非接触カード101は、暗号アルゴリズムへの入力としてマスタ鍵105及びカウンタ104値を提供してもよく、暗号アルゴリズムは出力として派生鍵106を生成する。暗号アルゴリズムは、暗号化アルゴリズム、ハッシュに基づくメッセージ認証コード(hash-based message authentication code:HMAC)アルゴリズム、暗号に基づくメッセージ認証コード(cipher-based message authentication code:CMAC)アルゴリズムなどを含んでもよい。非限定的な暗号アルゴリズムの例は、3DES又はAES128のような対称暗号化アルゴリズム、HMAC-SHA-256のような対称HMACアルゴリズム、及びAES-CMACのような対称CMACアルゴリズムを含んでもよい。次いで、非接触カード101は、派生鍵106を用いてデータ(例えば、顧客識別子107及び他の任意のデータ)を暗号化してもよい。次いで、非接触カード101は、暗号化データ(例えば、暗号化された顧客ID109)をクライアント装置110のアカウントアプリケーション113に(例えば、NFC接続、Bluetooth接続などを介して)送信してもよい。次いで、クライアント装置110のアカウントアプリケーション113は、ネットワーク130を介して暗号化データをサーバ120に送信してもよい。少なくとも1つの実施形態では、非接触カード101は、暗号化データとともにカウンタ104値を送信する。そのような実施形態では、非接触カード101は、暗号化されたカウンタ104値又は暗号化されていないカウンタ104値を送信してもよい。
【0027】
暗号化された顧客ID109を受信したとき、サーバ120の管理アプリケーション123は、カウンタ104値を暗号化の入力として使用し、マスタ鍵105を暗号化のための鍵として使用して、同じ対称暗号化を実行してもよい。上述したように、カウンタ104値は、クライアント装置110から受信されたデータにおいて指定されてもよく、又は、カウンタ104値は、非接触カード101のための鍵派生を実施するためにサーバ120によって保持されてもよい。暗号化の出力は、非接触カード101によって生成された同じ派生鍵値106であってもよい。次いで、管理アプリケーション123は、ネットワーク130を介して受信された暗号化された顧客ID109を、派生鍵106を用いて復号してもよい。このことは、非接触カード101によって送信されたデータ(例えば、少なくとも顧客識別子107)を明らかにする。そうすることで、管理アプリケーション123は、(例えば、復号された顧客ID107をアカウントのためのアカウントデータ124における顧客IDと比較することによって)非接触カード101によってクライアント装置110を介して送信されたデータを検証することが可能になる。
【0028】
カウンタ104を一例として用いているが、非接触カード101、クライアント装置110、及び/又はサーバ120の間における通信のセキュリティを確保するために他のデータが使用されてもよい。例えば、カウンタ104がランダムなナンスで置き換えられてもよく、新たな派生鍵106が必要とされるごとに生成されてもよく、カウンタ値の全体が非接触カード101及びサーバ120から送られてもよく、カウンタ値の一部が非接触カード101及びサーバ120から送られてもよく、カウンタが非接触カード101及びサーバ120によって独立に保持されるがこれら2つの間で送られなくてもよく、ワンタイムパスコードが非接触カード101及びサーバ120の間で交換されてもよく、データの暗号学的ハッシュであってもよい。いくつかの実施例では、派生鍵106の1つ又は複数の部分が、複数の派生鍵106を生成するために当事者によって使用されてもよい。
【0029】
図示するように、サーバ120は、1つ又は複数のハードウェアセキュリティモジュール(hardware security module:HSM)125を含んでもよい。例えば、1つ又は複数のHSM125は、本願で開示するような1つ又は複数の暗号学的演算を実行するように構成されてもよい。いくつかの実施例では、1つ又は複数のHSM125は、1つ又は複数の暗号学的演算を実行するように構成されたる特殊目的のセキュリティ装置として構成されてもよい。鍵がHSM125の外部に決して明かされることなく、代わりに、HSM125の内部に保持されるように、HSM125は構成されてもよい。例えば、1つ又は複数のHSM125は、鍵導出、復号、及びMAC演算のうちの少なくとも1つを実行するように構成されてもよい。1つ又は複数のHSM125は、サーバ120の内部に含まれてもよく、又は、サーバ120とデータ通信してもよい。
【0030】
上述したように、非接触カード101を用いて安全な動作を実行するために、鍵派生技術が使用されてもよい。例えば、いったん管理アプリケーション123が暗号化された顧客ID109を鍵派生により検証すると、管理アプリケーション123は、アカウント番号、有効期限、及び/又はアカウントに関連付けられたCVVを、クライアント装置110のアカウントアプリケーション113に送信してもよい。管理アプリケーション123はさらに、他の情報(例えば、名、姓、送付アドレス、請求書発行アドレス、他のアカウント情報など)を含んでもよい。アカウント番号は、PAN、仮想アカウント番号、及び/又はPANに基づいて生成されたトークンであってもよい。アカウントアプリケーション113は、受信されたデータ(暗号化されている場合)を復号し、アカウント番号、有効期限、請求書発行アドレス、及び/又はCVVを、ディジタルサービス114のAPIに提供してもよい。
【0031】
もう1つの実施形態では、カードデータ103は、非接触カード101から直接に読み出される。このことは、クライアント装置110がサーバ120への接続を有していない場合に有用となりうる。例えば、アカウントアプリケーション113及び/又はディジタルサービス114は、非接触カード101をクライアント装置110の近くに移動させる表示を出力してもよい。一実施形態では、いったん非接触カード101がクライアント装置110の近くまで移動されると、非接触カード101は、カードデータ103をクライアント装置110に送信する。もう1つの実施形態では、いったん非接触カード101がクライアント装置110の近くまで移動されると、アカウントアプリケーション113は、カードデータ103をクライアント装置110に送信するように非接触カード101に命令してもよい。一実施例では、非接触カード101は、カードデータ103(アカウント番号、有効期限、CVV値、及びアカウント保有者の名前のうちの1つ又は複数を含む)を、クライアント装置110に、NDEFファイルとして(例えば、NFC、Bluetooth、及び/又はRFIDを介して)送信する。もう1つの実施例では、非接触カード101は、EMVプロトコルを用いてカードデータ103を送信する。EMVプロトコルが使用される実施例では、EMVプロトコルを用いて送信されるカードデータ103は、アカウント番号、有効期限、及びアカウント保有者の名前を含む。次いで、非接触カード101は、EMVプロトコルを用いてカードデータ103をアカウントアプリケーション113に送信してもよい。EMVプロトコルが使用される実施例では、アカウントアプリケーション113は、非接触カード101から受信してもよく(例えば、NFC読み取りを介してNDEFファイルにおけるCVVを受信する)、及び/又は、サーバ120の管理アプリケーション123から、CVV値を受信してもよい。しかしながら、いくつかの実施形態では、非接触カード101からCVV値を直接に送信するために、EMVプロトコルが使用されてもよい。次いで、アカウントアプリケーション113は、カードデータ103(例えばアカウント番号、有効期限、及び/又はCVV)をディジタルサービス114のAPIに提供してもよい。
【0032】
カードデータ103及び/又はアカウント番号108をディジタルサービス114に提供するために使用される技術にかかわらず、アカウントアプリケーション113及び/又はOS112が、ディジタルサービス114に提供されるデータを管理してもよい。例えば、非接触カード101がアクティブである限り、例えば、クライアント装置110に隣接して位置している場合、カードデータ103及び/又はアカウント番号108は、ディジタルサービス114に保持されてもよい。従って、ディジタルサービス114へのアクセス/認証が保持される。もう1つの実施例では、購入を行うためにカードデータ103及び/又はアカウント番号108が使用された後で、カードデータ103及び/又はアカウント番号108は、ディジタルサービス114に保持されてもよい。
【0033】
さらに、アカウントアプリケーション113及び/又はディジタルサービス114は、アカウント番号をOSのクリップボード116にコピーしてもよい。クリップボード116は、OS112の内にコピー及び/又はペーストされることが可能なデータを格納する。例えば、クリップボード116は、クライアント装置110のフィールドにペーストするためにデータをローカルに格納してもよく、ユーザは、OS112内で利用可能なコマンド及び/又はジェスチャを用いて、クリップボード116に格納されたデータを入力/ペーストしてもよい。例えば、アカウント番号をクリップボード116にコピーすることで、ユーザは、OS112内で利用可能なコマンド及び/又はジェスチャを用いて、アカウント番号を対応のフォームフィールドにペーストすることが可能になる。さらになお、ディジタルサービス114は、アカウント番号がクリップボード116にコピーされている間に、有効期限及びCVVを指定する通知を出力してもよい。そうすることで、ユーザは、通知が見えている間に、有効期限及びCVVを対応のフォームフィールドに手動で入力することができる。いくつかの実施形態では、アカウントアプリケーション113及び/又はディジタルサービス114は、有効期限、請求書発行アドレス、及び/又はCVVをクリップボード116にコピーしてもよく、これにより、有効期限、請求書発行アドレス、及び/又はCVVを対応のフォームフィールドにペーストできるようになる。
【0034】
図2は、移動体装置210などのクライアント装置への非接触カード201の近接度に基づいてディジタルサービス214への継続的な認証を提供する例示的な実施形態を示す概略
図200である。限定ではないが、移動体装置210は、スマートフォン又はタブレットコンピュータであってもよい。他の実施形態では、クライアント装置は、ラップトップ、デスクトップコンピュータ、又はトランザクションキオスクであってもよい。例えば、クライアント装置は、非接触カード201と通信するための内部又は外部リーダを備えたラップトップコンピュータであってもよい。本願の実施形態は、このコンテキストに限定されない。
【0035】
この非限定的な実施例において、ディジタルサービス214は、移動体装置210のメモリ内に格納されたバンキングアプリケーションであってもよい。ユーザは、非接触カード201を、移動体装置210の物理的近傍に近接するように移動させてもよい。次いで、移動体装置210の電磁界227から得られた電力により、非接触カード201の1つ又は複数のチップ及び/又はチップモジュール(図示せず)が起動されてもよい。より具体的には、非接触カード201は、電磁界227を受けて、それを、非接触カード201の他の回路構成要素に電力供給するために適切な電圧に変換するように動作可能である。例えば、電磁界227は、例えば、NFC、EMV標準、無線通信の他の短距離プロトコルを介して移動体装置210と通信するように構成されたRFIDチップに電力供給するように変換されてもよい。
【0036】
ユーザが最初に彼/彼女のアカウントにログインすることを試みるとき、ディジタルサービス214のAPI221によって受信されたログインクレデンシャルは、暗号化データの第1の集合216としてサーバ220に送られる。暗号化データの第1の集合216は、ユーザアカウント228に関連付けられてもよく、次いで、それは、アカウントデータ224のデータ記憶装置に関連付けられる。
【0037】
次いで、サーバ220は、例えば管理アプリケーション123(
図1)によって、暗号化データの第1の集合216を、ユーザアカウント228に係るアカウントデータ224における顧客識別子に対して比較し、それに応じてデータの有効又は無効を確認してもよい。一致する場合、第1の認証/検証230が移動体装置210に提供される。
【0038】
次いで、ディジタルサービス214は、非接触カード201からの第2の認証232を要求してもよい。いくつかの実施形態では、非接触カード201は、クライアント装置201から受けた電磁界227に基づいて予め起動されていてもよい。他の実施形態では、非接触カード201は非アクティブであることがあり、その場合、第2の認証232の要求を完了するために非接触カード201を起動する必要がある。例えば、ユーザが、非接触カード201を移動体装置210の近傍に予め配置していないことがあり、又は、移動体210のカードリーダ218に関する非接触カード201の位置が、非接触カード201から生じる不適切な通信信号の強度をもたらす。いずれの場合も、移動体装置210は、グラフィカルユーザインターフェース(GUI)を介してユーザにプロンプトを表示してもよい。例えば、通知は、非接触カード201を移動体装置210の背面に物理的に接触させるようにユーザに命令してもよい。他の実施形態では、通知は、電磁界227の強度及び/又は非接触カード201の信号強度に関するフィードバックを提供してもよい。
【0039】
いったん非接触カード201がアクティブになると、移動体装置201のカードリーダ218は、非接触カード201の通信インターフェース236から暗号化データの第2の集合234を受信してもよい。いくつかの実施形態では、暗号化データの第2の集合234は、暗号アルゴリズムと、非接触カード201のメモリに格納された派生鍵とに基づいて生成されてもよい。暗号化データの第2の集合234は、ユーザアカウント228に関連付けられる。
【0040】
次いで、サーバ220は、移動体装置210から暗号化データの第2の集合234を受信し、それをユーザアカウント228に係るアカウントデータ224における顧客識別子と比較し、それに応じてデータの有効又は無効を確認してもよい。一致する場合、第2の認証/検証238が移動体装置210に提供される。次いで、例えば、ユーザアカウント228の第1の検証230及び第2の検証238に応答して、アカウントアプリケーション213によって、ディジタルサービス214へのアクセスが提供されてもよい。
【0041】
いったんユーザがディジタルサービス214へのログインに成功すると、非接触カード201がアクティブである間、ディジタルサービス214にアクセスする認可は継続される。このことを達成するために、アカウントアプリケーション213は、移動体装置210及び非接触カード201の間で一連の周期的なハートビート又は状態メッセージ250を提供させることで、非接触カード201がなおアクティブであるか否かを検証してもよい。いくつかの実施形態では、状態メッセージ250は、非接触カード201への一連の要求又は「ping」であってもよく、それは、非接触カード201のアンテナ229を介する通信応答をもたらす。例えば、状態メッセージ250は、アプリケーションプログラミングインターフェース(API)呼び出しを介して非接触カード201のカードリーダ218をトリガしてもよい。しかしながら、状態メッセージ250は、任意の実現可能な方法を用いて通信に関与するようにカードリーダをトリガしてもよい。非接触カード201が非アクティブであると決定された場合、例えば、非接触カード201によって通信応答が受信されない場合、ディジタルサービス214にアクセスする認可は終了されてもよい。
【0042】
限定ではないが、状態メッセージ250は、暗号化されずにもしくは暗号化されて、署名されて、又はさもなければセキュリティを保護して送信可能である。いくつかの実施形態では、状態メッセージ250は1つ又は複数の検証メッセージを含んでもよく、それらは、例えば、非接触カード201のアクティブ/非アクティブ状態について報告することを含む。さらに、状態メッセージ250は、第1の検証230及び/又は第2の検証238に関連してもよい。
【0043】
いくつかの実施形態では、状態メッセージ250は、安全に又はオープンに送信される任意の種類のコマンド又はクエリを送信することと、非接触カード201から応答を受信することと、次いで、この応答を評価して、応答が期待されるパラメータの範囲内にあるか否かを決定することとを含んでもよい。さらに他の実施形態では、移動体装置210は、状態メッセージ250を周期的に送信するように設定されたタイマ252を含んでもよい。ディジタルサービス214へのアクセスは、非接触カード201の信号強度が予め決められたしきい値未満であるとアカウントアプリケーション213が決定するまで継続されてもよい。このことは、例えば、非接触カード201が移動体装置210から移される場合又は移動体装置210がスリープモードに入る場合に生じうる。いくつかの実施形態では、アカウントアプリケーション213は、非接触カード201がアクティブである場合に、移動体装置210がスリープモードに入ることを防止してもよい。
【0044】
図3は、移動体装置310への非接触カード301の近接度に基づいてディジタルサービス314への継続的な認証を提供する例示的な実施形態を示す概略
図300である。概略
図300は、上述した概略
図200に類似しているかもしれない。このように、簡潔さのために、下記では、概略
図300の所定の態様のみを説明する。
【0045】
図示するように、概略
図300は、パーソナルコンピュータなどの第2のクライアント装置311を含んでもよい。この非限定的な実施例において、ディジタルサービス314は、第2のクライアント装置311上で動作する/表示されるバンキングウェブサイトであってもよい。アカウントアプリケーション313は、第2のクライアント装置311に位置していてもよい。他の実施形態では、アカウントアプリケーション313は移動体装置310の一部であってもよい。さらに他の実施形態中では、アカウントアプリケーション313は、移動体装置310及び第2のクライアント装置311の間で分割されてもよい。
【0046】
ユーザが最初に彼/彼女のアカウントにログインすることを試みるとき、ディジタルサービス314によって受信されたログインクレデンシャルは、暗号化データの第1の集合316としてサーバ320に送られ、これは、ユーザのユーザアカウント328に関連付けられてもよい。次いで、サーバ320は、例えば管理アプリケーションによって、暗号化データの第1の集合316を、ユーザアカウント328に係るアカウントデータ324における顧客識別子に対して比較し、それに応じてデータの有効又は無効を確認してもよい。一致する場合、第1の認証/検証330が、サーバ320から第2のクライアント装置311に提供される。
【0047】
次いで、ディジタルサービス314は、非接触カード301からの第2の認証332を要求してもよい。いくつかの実施形態では、第2の認証332要求は、移動体装置310に直接に送られてもよく、又は、移動体装置310に後で送るためにサーバ320に送られてもよい。非接触カード301は、クライアント装置301から受けた磁界327に基づいて予め起動されていてもよい。他の実施形態では、非接触カード301は非アクティブであることがあり、その場合、第2の認証332の要求を完了するために非接触カード301を起動する必要がある。
【0048】
いったん非接触カード301がアクティブになると、移動体装置301のカードリーダ318は、非接触カード301の通信インターフェース336から暗号化データの第2の集合334を受信してもよい。いくつかの実施形態では、暗号化データの第2の集合334は、暗号アルゴリズムと、非接触カード301のメモリに格納された派生鍵とに基づいて生成されてもよい。暗号化データの第2の集合334は、ユーザアカウント328に関連付けられる。
【0049】
次いで、サーバ320は、移動体装置310から暗号化データの第2の集合334を受信し、それをユーザアカウント328に係るアカウントデータ324における顧客識別子と比較し、それに応じてデータの有効又は無効を確認してもよい。一致する場合、第2の認証/検証338が第2のクライアント装置311に提供される。次いで、例えば、ユーザアカウント328の第1の検証330及び第2の検証338に応答して、アカウントアプリケーション313によって、ディジタルサービス314へのアクセスが提供されてもよい。
【0050】
いったんユーザがディジタルサービス314へのログインに成功すると、非接触カード301がアクティブである間、ディジタルサービス314にアクセスする認可は継続されてもよい。このことを達成するために、アカウントアプリケーション313は、移動体装置310及び非接触カード301の間で一連の周期的なハートビート又は状態メッセージ350を提供させることで、非接触カード301がなおアクティブであるか否かを検証してもよい。いくつかの実施形態では、状態メッセージ350、又は状態メッセージの出力(例えば、非接触カードのアクティブ/非アクティブ)は、サーバ320に送られ、次いで第2のクライアント装置311に送られてもよい。いくつかの実施形態では、状態メッセージ350は、第2のクライアント装置311に直接に伝送されてもよい。非接触カード301が非アクティブであると決定された場合、ディジタルサービス314にアクセスする認可は終了してもよい。
【0051】
図4Aは例示的な非接触カード401を示す。これは、クレジットカード、デビットカード、及び/又はギフトカードのような支払いカードであってもよい。図示するように、非接触カード401は、カード401の前面又は背面に表示されるサービスプロバイダ405によって発行されてもよい。いくつかの実施例では、非接触カード401は支払いカードに関連せず、限定ではないが、識別カードを含んでもよい。いくつかの実施例では、支払いカードは、デュアルインターフェースの非接触支払いカードを含んでもよい。非接触カード401は基板410を備えてもよく、それは、プラスチック、金属、及び他の材料からなる単一の層又は1つ又は複数の積層された層を含んでもよい。例示的な基板材料は、ポリ塩化ビニル、ポリ塩化酢酸ビニル、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極処理されたチタン、パラジウム、金、炭素、紙、及び生物分解性材料を含む。いくつかの実施例では、非接触カード401は、ISO/IEC7810標準のID-1フォーマットに準拠した物理的特性を有してもよく、さもなければ、非接触カードは、ISO/IEC14443標準に準拠してもよい。しかしながら、本開示に係る非接触カード401が異なる特性を有してもよく、非接触カードが支払いカードとして実装されることを本開示が必要としていないということが理解される。
【0052】
非接触カード401は、カードの前面及び/又は背面に表示された識別情報415と、接触パッド420とを含んでもよい。接触パッド420は、1つ又は複数のクライアント装置110(
図1)、ユーザ装置、スマートフォン、ラップトップ、デスクトップ、又はタブレットコンピュータのような、もう1つの通信装置との接触を確立するように構成されてもよい。非接触カード401は、
図4Aには示していない処理回路、アンテナ、及び他の構成要素を含んでもよい。これらの構成要素は、接触パッド420の背面又は基板410上の他の場所に設けられてもよい。非接触カード401は、磁気ストリップ又はテープを含んでもよく、それは、カードの背面(
図4Aには図示せず)に設けられてもよい。
【0053】
図4Bに示すように、非接触カード401の接触パッド420は、情報を格納して処理するための、マイクロプロセッサ430及びメモリ102を含む処理回路425を含んでもよい。処理回路425は、本願において説明した機能を実行するのに必要とされる、プロセッサ、メモリ、エラー及びパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、及び改竄防止ハードウェアを含む、追加の構成要素を含んでもよいことが理解される。
【0054】
メモリ102は、読み出し専用メモリ、1回書き込み多数読み出しメモリ、又は読み出し/書き込みメモリ、例えば、RAM、ROM、及びEEPROMであってもよく、非接触カード401は、これらのメモリのうちの1つ又は複数を含んでもよい。のみ読み取られるか一度だけのように、読み出し専用メモリは、読み出し専用又は1回だけプログラミング可能であるように向上でプログラミング可能である。1回だけのプログラミング可能性は、1回だけ書き込まれ、その後、複数回にわたって読み出される機会を提供する。1回書き込み/多数読み出しメモリは、メモリチップが工場を出た後の時点でプログラミングされてもよい。いったんメモリ102がプログラミングされると、それは再書き込みされることはないが、複数回にわたって読み出される。読み出し/書き込みメモリは、工場を出た後に複数回にわたってプログラミング及び再プログラミングされてもよい。読み出し/書き込みメモリもまた、工場を出た後に複数回にわたって読み出されてもよい。
【0055】
メモリ102は、1つ又は複数のアプレット440、1つ又は複数のカウンタ104、顧客識別子107、及び仮想アカウント番号108を格納するように構成されてもよい。1つ又は複数のアプレット440は、Java(登録商標)カードアプレットのように、1つ又は複数の非接触カードにおいて実行されるように構成された1つ又は複数のソフトウェアアプリケーションを含んでもよい。しかしながら、アプレット440は、Javaカードアプレットに限定されず、代わりに、非接触カード又は限られたメモリを有する他の装置において動作可能である任意のソフトウェアアプリケーションであってもよいことが理解される。1つ又は複数のカウンタ104は、整数を格納するのに十分な数値カウンタを備えてもよい。顧客識別子107は、非接触カード401のユーザに割り当てられた一意の英数字識別子を含んでもよく、識別子は、当該非接触カードのユーザを他の非接触カードユーザから区別してもよい。いくつかの実施例では、顧客識別子107は、顧客と、その顧客に割り当てられたアカウントとの両方を識別してもよく、さらに、顧客のアカウントに関連付けられた非接触カード401を識別してもよい。いくつかの実施形態では、アカウント番号108は、非接触カード401に関連付けられた数千個の1回使用の仮想アカウント番号を含んでもよい。
【0056】
先述した例示的な実施形態のプロセッサ及びメモリ構成要素は、接触パッドを参照して説明しているが、本開示はそれに限定されない。これらの構成要素は、パッド420の外部又はそれから完全に離れて実装されてもよく、又は、接触パッド420内に設けられたプロセッサ430及びメモリ402構成要素に加えてさらなる構成要素として実装されてもよい。
【0057】
いくつかの実施例では、非接触カード401は、1つ又は複数のアンテナ(図示せず)を含んでもよい。概して、アンテナ、処理回路425、及び/又はメモリ102を用いて、非接触カード401は、NFC、Bluetooth、及び/又はWi-Fi通信を介して通信するための通信インターフェースを提供してもよい。いくつかの実施形態では、アンテナは、非接触カード401内において、接触パッド420の処理回路425のまわりに配置されてもよい。例えば、アンテナは処理回路425に一体化されていてもよく、1つ又は複数のアンテナは外部ブースタコイルとともに使用されてもよい。もう1つの実施例として、アンテナは、接触パッド420及び処理回路425の外側にあってもよい。上述したように、アンテナは、非接触カード401がアクティブであるか否かを示す状態メッセージに対する応答を伝送してもよい。アンテナから通信応答が受信されない場合、1つ又は複数のディジタルサービスにアクセスする認可は終了されてもよい。
【0058】
上で説明したように、非接触カード401は、JavaCardのような、限られたメモリを有する他のスマートカード又は装置において動作可能であるソフトウェアプラットフォームにおいて構成されてもよく、1つ又は複数のアプリケーション又はアプレットが安全に実行されてもよい。移動体アプリケーションに基づく様々な使用状況における多要素認証(multifactor authentication:MFA)のためにワンタイムパスワード(one-time password:OTP)を提供するために、非接触カードにアプレット440が追加されてもよい。アプレット440は、(例えばクライアント装置110の)移動体NFCリーダのようなリーダから、近接場データ交換要求のような1つ又は複数の要求に応答し、NDEFテキストタグとして符号化された暗号学的に安全なOTPを備えるNDEFメッセージを生成するように構成されてもよい。
【0059】
NDEF OTPの一例は、NDEFショートレコードレイアウト(SR=1)である。そのような実施例では、1つ又は複数のアプレット440は、OTPを、NDEFタイプ4の周知のタイプのテキストタグとして符号化するように構成されてもよい。いくつかの実施例では、NDEFメッセージは、1つ又は複数の記録を含んでもよい。アプレット440は、OTP記録に加えて、1つ又は複数の静的タグ記録を追加するように構成されてもよい。
【0060】
いくつかの実施例では、1つ又は複数のアプレット440は、RFIDタグをエミュレートするように構成されてもよい。RFIDタグは、1つ又は複数の多様な形態のタグを含んでもよい。いくつかの実施例では、タグが読み取られるごとに、非接触カードの真正性を示しうる異なる暗号データが提示される。1つ又は複数のアプリケーションに基づいて、タグのNFC読み取りが処理されてもよく、データはサーバ120(
図1)のようなサーバに送信されてもよく、データはサーバにおいて検証されてもよい。
【0061】
いくつかの実施例では、非接触カード401及びサーバ120は、非接触カード401が適切に識別されうるように、所定のデータを含んでもよい。非接触カード401は、1つ又は複数の一意の識別子を含んでもよい。読み取り動作が行なわれるごとに、カウンタ104は、1つ又は複数の一意の識別子の認識に基づいてインクリメントするように構成されてもよい。いくつかの実施例では、(例えばクライアント装置110によって)非接触カード401からのデータが読み出されるごとに、カウンタ104は、検証のためにサーバに送信され、(例えば検証の一部として)カウンタ値104が等しいか否かを決定する。
【0062】
いくつかの実施形態では、非接触カード401の生成処理中に、カードごとに、2つの暗号鍵が一意的に割り当てられてもよい。暗号鍵は、データの暗号化及び復号の両方に使用されうる対称鍵を含んでもよい。トリプルDES(3DES)アルゴリズムがEMVによって使用されてもよく、それは非接触カード101におけるハードウェアによって実装される。鍵派生処理を用いることによって、鍵を必要とする各エンティティに係る一意的に識別可能な情報に基づいて、マスタ鍵から1つ又は複数の鍵が導出されてもよい。
【0063】
いくつかの実施例では、脆弱性の影響を受けやすいかもしれないという3DESアルゴリズムの不備を克服するために、(セッションごとの一意の鍵のような)セッション鍵が導出されてもよいが、マスタ鍵を用いるのではなく、カードにより導出された一意の鍵及びカウンタが派生データとして使用されてもよい。例えば、動作中に非接触カード401が使用されるごとに、メッセージ認証コード(MAC)の生成及び暗号化の実行のために異なる鍵が使用されてもよい。これにより、三層の暗号をもたらす。セッション鍵は、1つ又は複数のアプレットによって生成され、(「EMV 4.3 Book 2 A1.3.1 Common Session Key Derivation」で定義されたような)1つ又は複数のアルゴリズムを備えたアプリケーショントランザクションカウンタを用いて導出されてもよい。
【0064】
さらに、非接触カード401に係るインクリメントは一意的であってもよく、個人化によって割り当てられてもよく、あるいは、何らかの識別情報によってアルゴリズム的に割り当てられてもよい。例えば、奇数の番号を有するカードは2ずつインクリメントされてもよく、偶数の番号を有するカードは5ずつインクリメントされてもよい。いくつかの実施例では、1つのカードが1、3、5、2、2、…を繰り返す順序でインクリメントされてもよいように、インクリメントは逐次的な読み取りにおいて変化してもよい。特定のシーケンス又はアルゴリズムのシーケンスは、個人化の時点で、又は、一意の識別子から導出される1つ又は複数の処理から定義されてもよい。これにより、リプレイ攻撃者がカードインスタンスの小さな番号から一般化することをより困難にすることができる。
【0065】
認証メッセージは、16進ASCIIフォーマットを有するテキストNDEF記録の内容として送られてもよい。もう1つの実施例では、NDEF記録は、16進フォーマットで符号化されてもよい。
【0066】
図5A~
図5Bは、移動体装置のようなクライアント装置510の上の覆い560の非限定的な実施形態を示す。覆い560は、クライアント装置510のまわりを包囲する移動体装置のケースであってもよい。いくつかの実施形態では、覆い560は、クライアント装置510の画面562に対するユーザの相互動作を可能にするための開口を含んでもよい。図示するように、覆い560は、覆い560の終端壁部568を介するスロット又はレセプタクル566を含んでもよく、レセプタクル566は、非接触カード501をそこに収容するように動作可能である。いったんレセプタクル566内に保持されると、非接触カード501は、クライアント装置510のカードリーダ(図示せず)との通信を可能にするように予め位置決めされてもよい。レセプタクル566のサイズ及び位置を含む覆い560は、クライアント装置501及び/又は非接触カード501の1つ又は複数の特性に依存して変更されてもよいことが認識されるであろう。さらに図示するように、レセプタクル566及び非接触カード501は、クライアント装置510の後面570に沿って配置されてもよい。いくつかの実施形態では、覆い560は、透明であってもよく又は不透明であってもよい。本願の実施形態は、このコンテキストに限定されない。
【0067】
図6は、ディジタルサービスへの継続的な認証を提供するために論理フロー600の実施形態を示す。おいて、論理フロブロック601にー600は、プロセッサ回路において実行中のアプリケーションによって、ディジタルサービスにアクセスする要求を受信することを含んでもよい。いくつかの実施形態では、ディジタルサービスは、クライアント装置アプリケーション(例えば、バンキング、ソーシャルメディア、音楽ストリーミング、ゲーミングなど)、ウェブサイト、又はメッセージングサービス(例えば、電子メール、テキストなど)を含むがこれらに限定されない、1つ又は複数のサービスを含んでもよい。ブロック603において、論理フロー600は、アプリケーションによって、ユーザアカウントに関連付けられた暗号化データの第1の集合の検証に基づく第1の認証を受信することを含んでもよい。いくつかの実施形態では、暗号化データの第1の集合は、ユーザによってディジタルサービスに供給されたログインクレデンシャルに基づいて生成される。ブロック605において、論理フロー600は、アプリケーションによって、非接触カードからの第2の認証を要求することを含んでもよい。
【0068】
ブロック607において、論理フロー600は、クライアント装置のカードリーダによって、非接触カードの起動に応答して、非接触カードの通信インターフェースから暗号化データの第2の集合を受信することを含んでもよい。暗号化データの第2の集合は、暗号アルゴリズム及び派生鍵に基づいて生成される。派生鍵は非接触カードのメモリに格納される。非接触カードは、非接触カードがクライアント装置の近傍に位置するとき、クライアント装置によって起動される。暗号化データの第2の集合はユーザアカウントに関連付けられる。
【0069】
ブロック609において、論理フロー600は、アプリケーションによって、サーバから、暗号化データの第2の集合に基づくユーザアカウントの第2の検証を受信することを含んでもよい。ブロック611において、論理フローは、アプリケーションによって、ユーザアカウントの第1及び第2の検証に応答してディジタルサービスへのアクセスを認可することを含んでもよい。ブロック613において、論理フローは、アプリケーションによって、クライアント装置及び非接触カードの間で一連の周期的な状態メッセージを継続的に提供することで、非接触カードがアクティブのままであるか否かを検証することを含んでもよい。非接触カードがアクティブである間、ディジタルサービスにアクセスする認可は継続し、非接触カードが非アクティブである場合、ディジタルサービスにアクセスする認可は終了する。
【0070】
いくつかの実施例では、本願において説明した非接触カードは、コーヒーなどの購入に応答して取引上の物品を受けとるように識別情報を検証するために、1つ又は複数のコンピューター・キオスク又は端末のような装置の上に配置されてもよい。非接触カードを用いることによって、ロイヤルティプログラムにおいて識別情報を証明する安全な方法が確立されうる。例えば、報酬、クーポン、オファーなどを取得するために安全に識別情報を証明すること、又は、利益を受けることは、単にバーカードをスキャンすることとは異なる方法で確立される。例えば、非接触カード及び装置の間で暗号化されたトランザクションが行われてもよく、このことは、1つ又は複数のタップジェスチャーを処理することを構成してもよい。ために上で説明したように、1つ又は複数のアプリケーションは、ユーザの識別情報を検証するように構成されてもよい。いくつかの実施例では、データ、例えば、ボーナスポイント、ロイヤルティポイント、報酬ポイント、ヘルスケア情報などが、非接触カードに書き戻されてもよい。
【0071】
いくつかの実施形態では、例示的な認証通信プロトコルは、トランザクションカード及びPOS(point-of-sale)装置の間で一般的に実行されるEMV標準のオフラインで動的データ確認プロトコルを、いくつかの変更付きで模倣してもよい。例えば、例示的な認証プロトコルは、カード発行者/支払い処理者自体との支払いトランザクションを完了することには使用されないので、いくつかのデータ値は不要であり、認証は、カード発行者/支払い処理者へのリアルタイムのオンライン接続を伴うことなく実行されうる。当該技術において既知のように、POS(point-of-sale)システムは、トランザクション値を含むトランザクションをカード発行者に提出する。発行者がトランザクションを承認するか、それとも拒否するかは、カード発行者がトランザクション値を認識するか否かに基づいてもよい。一方、本開示の所定の実施形態において、クライアント装置から始まるトランザクションは、POSシステムに関連付けられたトランザクション値を欠く。従って、いくつかの実施形態では、ダミーのトランザクション値(すなわち、カード会社に認識しうる値であって、起動させるのに十分である値)は、例示的な認証通信プロトコルの一部として通過されてもよい。POSに基づくトランザクションは、トランザクションの試行回数(例えばトランザクションカウンタ)に基づいてトランザクションを拒否してもよい。バッファ値を超える試行回数は、ソフト拒否をもたらしてもよい。ソフト拒否は、トランザクションを受理する前にさらなる検証を必要とする。いくつかの実装例では、トランザクションカウンタのためのバッファ値は、正当なトランザクションの拒否を避けるように変更されてもよい。
【0072】
いくつかの実施例では、非接触カードは、受信者装置に依存して情報を選択的に伝送することができる。いったん近傍へ移動されると、非接触カードは、非接触カードが向けられた装置を認識することができ、この認識に基づいて、非接触カードは、その装置のための適切なデータを提供することができる。このことは、優位点として、非接触カードが、支払い又はカード認証のような即時の動作又はトランザクションを完了するために必要とされる情報のみを送信することを可能にする。データの送信を制限し、また、不必要なデータの送信を回避することで、効率及びデータセキュリティの両方を改善することができる。情報の認識及び選択的な通信は、カードの起動、残金の振替、アカウントアクセスの試行、商取引、及びステップアップ付勢の低減を含む様々なシナリオに適用可能である。
【0073】
もう1つの実施例として、継続的な認証は、キオスク、チェックアウトレジスタ、支払いステーション、又は他の端末を含むがこれらに限定されない、POS装置に向けられてもよい。非接触カードは、POS装置を認識し、動作又はトランザクションに必要な情報のみを送信することができる。例えば、商取引を完了するために用いられるPOS装置を認識すると、非接触カードは、EMV標準の下でトランザクションを完了するために必要な支払い情報を伝送することができる。
【0074】
いくつかの実施例では、トランザクションに参加するPOS装置は、非接触カードによって提供されるべき追加情報、例えば、装置特異の情報、場所特異の情報、トランザクション特異の情報を要求又は指定することができる。例えば、いったんPOS装置が非接触カードからのデータ通信を受信すると、POS装置は、非接触カードを認識し、動作又はトランザクションを完了するために必要な追加情報を要求することができる。
【0075】
いくつかの実施例では、POS装置は、所定の非接触カードに精通しているか、所定の非接触カード取引を実行することに慣れた、認可された商業的又は他のエンティティに加入することができる。しかしながら、そのような加入は、説明した方法の実施のために必要ではないということが理解される。
【0076】
いくつかの実施例では、ショッピングストア、食料雑貨店、コンビニエンスストアなどのように、非接触カードは、報酬ポイント、ロイヤルティポイント、クーポン、オファーなどのうちの1つ又は複数を利用して1つ又は複数の購入をカバーする要望又は意図を示すために、アプリケーションを開くことを必要とすることなく、クライアント装置に対して又はその近くに配置されてもよい。このように、購入の背後にある意図が提供される。
【0077】
図7は、前述したような様々な実施形態を実装するのに適している可能性がある計算システム802を備える例示的な計算アーキテクチャ800の実施形態を示す。さまざまな実施形態では、計算アーキテクチャ800は、電子装置の一部を含むか、又は、電子装置の一部として実装されてもよい。いくつかの実施形態では、計算アーキテクチャ800は、例えば、システムの1つ又は複数の構成要素を実装するシステム100(
図1)を表してもよい。いくつかの実施形態では、計算システム802は、例えば、システム100のクライアント装置110及びサーバ120を表してもよい。本願の実施形態は、このコンテキストに限定されない。より一般的には、計算アーキテクチャ800は、
図1~
図6を参照して本願において説明したすべての論理、アプリケーション、システム、方法、装置、及び機能を実装するように構成される。
【0078】
本願において使用されるように、用語「システム」及び「構成要素」及び「モジュール」は、コンピュータ関連のエンティティ、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行中のソフトウェアのいずれかを示すことが意図され、それらの例は例示的な計算アーキテクチャ800によって提供される。例えば、構成要素は、コンピュータプロセッサにおいて動作する処理、コンピュータプロセッサ、ハードディスクドライブ、(光学及び/又は磁気記憶媒体の)複数の記憶ドライブ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び/又はコンピュータであってもよいが、それらに限定されない。例示として、サーバにおいて動作するアプリケーションと、サーバとの両方が、構成要素になりうる。1つ又は複数の構成要素が1つの処理/実行スレッド内に存在してもよく、1つの構成要素が、1つのコンピュータにおいて局在してもよく、及び/又は、2つ以上のコンピュータ間で分散されてもよい。さらに、複数の構成要素は、動作を協調させるために、様々なタイプの通信媒体によって互いに通信可能に接続されてもよい。協調動作は、情報の単方向又は双方向交換を伴ってもよい。例えば、構成要素は、通信媒体上で伝送される信号の形式で情報を伝送してもよい。情報は、様々な信号ラインに割り当てられた信号として実装されてもよい。そのような割り当てにおいて、各メッセージが信号である。しかしながら、別の実施形態は、代替としてデータメッセージを使用してもよい。そのようなデータメッセージは、様々な接続を介して送信されてもよい。例示的な接続は、パラレルインターフェース、シリアルインターフェース、及びバスインターフェースを含む。
【0079】
計算システム802は、1つ又は複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺装置、インターフェース、発振器、タイミング装置、ビデオカード、オーディオカード、マルチメディア入力/出力(I/O)構成要素、電源などのような、様々な一般的な計算要素を含む。
しかしながら、実施形態は、計算システム802による実装例に限定されない。
【0080】
図7に示すように、計算システム802は、プロセッサ804、システムメモリ806、及びシステムバス808を備える。プロセッサ804は、AMD(登録商標)のAthlon(登録商標)、Duron(登録商標)、及びOpteron(登録商標)プロセッサと、ARM(登録商標)のアプリケーション、埋め込み、及びセキュアなプロセッサと、IBM(登録商標)及びMotorola(登録商標)のDragonBall(登録商標)及びPowerPC(登録商標)プロセッサと、IBM及びSony(登録商標)のCellプロセッサと、Intel(登録商標)のCeleron(登録商標)、Core(登録商標)、Core(2)Duo(登録商標)、Itanium(登録商標)、Pentium(登録商標)、Xeon(登録商標)、及びXScale(登録商標)プロセッサと、同様のプロセッサとを含むがこれらに限定されない、様々な市販のコンピュータプロセッサのいずれかであってもよい。プロセッサ804として、デュアルマイクロプロセッサ、マルチコアプロセッサ、及び他のマルチプロセッサアーキテクチャが使用されてもよい。
【0081】
システムバス808は、システムメモリ806からプロセッサ804を含むがそれに限定されない、システム構成要素のためのインターフェースを提供する。システムバス808は、さまざまな市販のバスアーキテクチャのうちのいずれかを用いて、メモリバス(メモリコントローラとともに又はメモリコントローラとは別に)、周辺機器バス、及びローカルバスにさらに相互接続しうる、いくつかのタイプのバス構造のいずれかであってもよい。インターフェースアダプタは、スロットアーキテクチャを介してシステムバス808に接続されてもよい。例示的なスロットアーキテクチャは、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 )などを含んでもよいがそれらに限定されない。
【0082】
システムメモリ806は、ROM(read-only memory)、RAM(random-access memory)、DRAM(dynamic RAM)、DDRAM(Double-Data-Rate DRAM)、SDRAM(synchronous DRAM)、SRAM(static RA)、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つ又は複数のより高速のメモリユニットの形式を有する様々なタイプのコンピュータ可読記憶媒体を含んでもよい。
図8に示す実施形態では、システムメモリ806は、不揮発性メモリ810及び/又は揮発性メモリ812を含んでもよい。BIOS(basic input/output system)は、不揮発性メモリ810に格納されてもよい。
【0083】
計算システム802は、内部(又は外部)のHDD(hard disk drive)814と、着脱可能な磁気ディスク818に対して読み出す又は書き込むための磁気FDD(floppy disk drive)816と、着脱可能な光ディスク822(例えば、CD-ROM又はDVD)に対して読み出す又は書き込むための光ディスクドライブ820とを含む、1つ又は複数のより低速のメモリユニットの形式を有する様々なタイプのコンピュータ可読記憶媒体を含んでもよい。HDD814、FDD816、及び光ディスクドライブ820は、HDDインターフェース824、FDDインターフェース826、及び光学ドライブインターフェース828によってシステムバス808にそれぞれ接続されてもよい。外部ドライブ実装のためのHDDインターフェース824は、USB(Universal Serial Bus )及びIEEE1394インターフェース技術の少なくとも一方又は両方を含んでもよい。計算システム802は、概して、
図1~
図6を参照して本願において説明したすべての論理、システム、方法、装置、及び機能を実装するように構成される。
【0084】
ドライブ及び関連付けられたコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能な命令などの揮発性及び/又は不揮発性の記憶装置を提供する。例えば、オペレーティングシステム830、1つ又は複数のアプリケーションプログラム832、他のプログラムモジュール834、及びプログラムデータ836を含む多数のプログラムモジュールが、ドライブ及びメモリユニット810、812に格納されてもよい。一実施形態では、1つ又は複数のアプリケーションプログラム832、他のプログラムモジュール834、及びプログラムデータ836は、例えば、システム100の様々なアプリケーション及び/又は構成要素、例えば、オペレーティングシステム112、アカウントアプリケーション113、ディジタルサービス114、他のアプリケーション115、クリップボード116、及び管理アプリケーション123を含んでもよい。
【0085】
ユーザは、1つ又は複数の有線/無線入力装置、例えば、キーボード838と、マウス840のようなポインティングデバイスとを介して、コマンド及び情報を計算システム802に入力することができる。他の入力装置は、マイクロホン、赤外線(IR)リモートコントロール、無線周波数(RF)リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックスタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン(例えば、容量性、抵抗性など)、トラックボール、トラックパッド、センサ、スタイラスなどを含んでもよい。これら及び他の入力装置は、多くの場合、システムバス808に接続される入力装置インターフェース842を介してプロセッサ804に接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインターフェースなどのような他のインターフェースによって接続されてもよい。
【0086】
モニタ844又は他のタイプのディスプレイ装置もまた、ビデオアダプタ846のようなインターフェースを介してシステムバス808に接続される。モニタ844は、計算システム802の内部又は外部にあってもよい。モニタ844に加えて、コンピュータは、典型的には、スピーカ、プリンタなどのような、他の周辺出力装置を含む。
【0087】
計算システム802は、遠隔のコンピュータ848のような1つ又は複数の遠隔のコンピュータへの有線及び/又は無線通信を介して、論理接続を用いて、ネットワーク化された環境において動作してもよい。遠隔のコンピュータ848は、ワークステーション、サーバコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサに基づくエンターテインメント機器、ピア装置、又は他の一般的なネットワークノードであってもよく、簡潔さの目的でメモリ/記憶装置850のみを図示しているが、典型的には、計算システム802に関連して説明した構成要素のうちの多数又はすべてを含む。図示した論理接続は、LAN(local area network)852及び/又はより大きなネットワーク、例えばWAN(wide area network)854)への有線/無線接続を含む。そのようなLAN及びWANネットワーキング環境は、オフィス及び会社において一般的に存在し、イントラネットのような企業全体にわたるコンピュータネットワークを促進し、それらのすべては、大域的な通信ネットワーク、例えばインターネットに接続されてもよい。実施形態では、
図1のネットワーク130は、LAN852及びWAN854のうちの1つ又は複数である。
【0088】
LANネットワーキング環境において使用される場合、計算システム802は、有線及び/又は無線通信ネットワークインターフェース又はアダプタ856を介してLAN852に接続されていてもよい。アダプタ856は、LAN852への有線及び/又は無線通信を容易にすることができ、それは、アダプタ856の無線機能と通信するために、その上に配置された無線アクセスポイントを含んでもよい。
【0089】
WANネットワーク環境において使用される場合、計算システム802は、モデム858を含んでもよく、又は、WAN854における通信サーバに接続されるか、例えばインターネットによって、WAN854を介する通信を確立するための他の手段を有する。モデム858は、入力装置インターフェース842を介してシステムバス808に接続される。モデム858は、内部又は外部にあってもよく、かつ、有線及び/又は無線装置であってもよい。ネットワーク化された環境において、計算システム802に関連して図示したプログラムモジュール又はその部分は、遠隔のメモリ/記憶装置850に格納されてもよい。図示したネットワーク接続は例示的であり、コンピュータ間の通信リンクを確立する他の手段を使用可能であることが認識されるであろう。
【0090】
計算システム802は、無線通信(例えば、IEEE802.16の無線変調技術)において動作可能に配置された無線装置のような、IEEE802標準のファミリーを用いる有線及び無線装置又はエンティティと通信するように動作可能である。これは、少なくとも、とりわけ、Wi-Fi(Wireless Fidelity)、WiMax、及びBluetooth無線技術を含む。したがって、通信は、従来技術のネットワークを含むような予め定義された構造であってもよく、又は、単に、少なくとも2つの装置間のアドホックな通信であってもよい。Wi-Fiネットワークは、安全で、信頼性が高く、高速な無線接続を提供するために、IEEE802.11x(a、b、g、nなど)と呼ばれる無線技術を用いる。Wi-Fiネットワークは、複数のコンピュータを互いに接続するために、インターネットに接続するために、また、有線ネットワーク(IEEE802.3に関連する媒体及び機能を用いる)に接続するために使用可能である。
【0091】
様々な実施形態は、ハードウェア構成要素、ソフトウェア構成要素、又は両方の組み合わせを用いて実装されてもよい。ハードウェア構成要素の例は、プロセッサ、マイクロプロセッサ、回路、回路素子(例えば、トランジスタ、抵抗、キャパシタ、インダクタなど)、集積回路、特定用途向け集積回路(application specific integrated circuit:ASIC)、プログラマブル論理デバイス(programmable logic device:PLD)、ディジタル信号プロセッサ(digital signal processor:DSP)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含んでもよい。ソフトウェアの例は、ソフトウェア構成要素、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、手順、ソフトウェアインタフェース、API、命令セット、計算コード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、又はそれらの任意の組み合わせを含んでもよい。実施形態がハードウェア構成要素及び/又はソフトウェア構成要素を用いて実装されるか否かを決定することは、所望の計算レート、電力レベル、耐熱性、処理サイクル予算、入力データレート、出力データレート、メモリリソース、データバス速度、及び他の設計上又は性能上の制約のような、任意個数のファクタに従って変化しうる。
【0092】
少なくとも1つの実施形態の1つ又は複数の態様は、マシンによって読み出されたとき、本願において説明した技術を実行するロジックをマシンに生成させるプロセッサ内の様々なロジックを表す機械可読媒体上に格納された典型的命令によって実装されてもよい。「IPコア」として知られたそのような表現は、有形物の機械可読媒体に格納され、様々な顧客又は製造設備に供給されて、ロジック又はプロセッサを作る製造マシンへロードされてもよい。いくつかの実施形態は、例えば、マシンによって実行されたとき、実施形態に係る方法及び/又は動作をマシンに実行させうる1つの命令又は一組の命令を格納しうる機械可読媒体又は製品を用いて実装されてもよい。そのようなマシンは、例えば、任意の適切な処理プラットフォーム、計算プラットフォーム、計算装置、処理装置、計算システム、処理システム、コンピュータ、プロセッサなどを含んでもよく、ハードウェア及び/又はソフトウェアの任意の適切な組み合わせを用いて実装されてもよい。機械可読媒体又は製品は、例えば、任意の適切なタイプのメモリユニット、メモリ装置、メモリ製品、メモリ媒体、記憶装置、記憶製品、記憶媒体及び/又は記憶装置、例えば、メモリ、着脱可能又は着脱不可の媒体、消去可能又は消去不可の媒体、書き込み可能又は再書き込み可能な媒体、ディジタル又はアナログ媒体、ハードディスク、フロッピーディスク、CD-ROM(Compact Disk Read Only Memory)、記録可能なコンパクトディスク(Compact Disk Recordable:CD-R)、再書き込み可能なコンパクトディスク(Compact Disk Rewriteable:CD-RW)、光ディスク、磁気媒体、光磁気媒体、着脱可能なメモリーカード又はディスク、様々なタイプのディジタル多用途ディスク(Digital Versatile Disk:DVD)、テープ、カセットなどを含んでもよい。命令は、任意の適切な高レベル、低レベル、オブジェクト指向、視覚的、コンパイルされた、及び/又はインタプリタ処理されたプログラミング言語を用いて実装された、ソースコード、コンパイルされたコード、インタプリタ処理されたコード、実行可能なコード、静的コード、動的コード、暗号化されたコードなどのような、任意の適切なタイプのコードを含んでもよい。
【0093】
例示的な実施形態に係る先の説明を、例示及び説明の目的で提示した。網羅的であることも、本開示を開示した形態そのものに限定することも意図していない。本開示に照らして多くの修正及び変形が可能である。本開示の範囲がこの詳細な説明によっては限定されず、むしろ、ここに添付した特許請求の範囲によって限定されることを意図している。本願への優先権を主張する将来の出願は、開示した主題の権利を異なる方法で主張する可能性があり、また、概して、本願においてさまざまに開示又はさもなければ例証されるような1つ又は複数の制限からなる任意の集合を含む可能性がある。