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

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

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

特表2024-524202非接触カードのスケーラブルな暗号認証のためのシステム及び方法
<>
  • 特表-非接触カードのスケーラブルな暗号認証のためのシステム及び方法 図1
  • 特表-非接触カードのスケーラブルな暗号認証のためのシステム及び方法 図2A
  • 特表-非接触カードのスケーラブルな暗号認証のためのシステム及び方法 図2B
  • 特表-非接触カードのスケーラブルな暗号認証のためのシステム及び方法 図3
  • 特表-非接触カードのスケーラブルな暗号認証のためのシステム及び方法 図4
  • 特表-非接触カードのスケーラブルな暗号認証のためのシステム及び方法 図5
  • 特表-非接触カードのスケーラブルな暗号認証のためのシステム及び方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-05
(54)【発明の名称】非接触カードのスケーラブルな暗号認証のためのシステム及び方法
(51)【国際特許分類】
   H04L 9/32 20060101AFI20240628BHJP
【FI】
H04L9/32 200D
H04L9/32 100E
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023578855
(86)(22)【出願日】2022-06-16
(85)【翻訳文提出日】2024-02-20
(86)【国際出願番号】 US2022033729
(87)【国際公開番号】W WO2022271519
(87)【国際公開日】2022-12-29
(31)【優先権主張番号】17/353,556
(32)【優先日】2021-06-21
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】オズボーン,ケビン
(72)【発明者】
【氏名】エドワーズ,サミュエル パトリック
(57)【要約】
認証のためのシステム及び方法は、認証サーバを含んでもよい。認証サーバは、プロセッサ及びメモリを含んでもよい。プロセッサは、認証要求を送信するように構成されてもよい。プロセッサは、認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信するように構成されてもよい。プロセッサは、第1のレスポンスに基づいて第1のチャレンジを生成するように構成されてもよい。プロセッサは、対称鍵により第1のチャレンジを暗号化するように構成されてもよい。プロセッサは、第1のチャレンジを送信し、第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。プロセッサは、第2のレスポンスを認証するように構成されてもよい。
【特許請求の範囲】
【請求項1】
プロセッサ及びメモリを備える認証サーバであって、
上記プロセッサは、
認証要求を送信し、
上記認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信し、
上記第1のレスポンスに基づいて第1のチャレンジを生成し、
対称鍵によって上記第1のチャレンジを暗号化し、
上記第1のチャレンジを送信し、
上記第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信し、
上記第2のレスポンスを認証するように構成される、
認証サーバ。
【請求項2】
上記第1のレスポンスは、タグの第1の読み取りに基づいて生成される、
請求項1記載の認証サーバ。
【請求項3】
上記第1のチャレンジは、第1の予め決められた継続時間に関連付けられる、
請求項1記載の認証サーバ。
【請求項4】
上記プロセッサは、上記第1の予め決められた継続時間の満了後、第2の予め決められた継続時間に関連付けられた第2のチャレンジを生成するようにさらに構成される、
請求項3記載の認証サーバ。
【請求項5】
上記プロセッサは、予め決められたタイプのトランザクションの決定に基づいて、上記第1のチャレンジを生成するようにさらに構成される、
請求項1記載の認証サーバ。
【請求項6】
上記プロセッサは、公開鍵及びバージョン番号を受信するようにさらに構成される、
請求項1記載の認証サーバ。
【請求項7】
上記第1のチャレンジは、上記バージョン番号に基づいて送信される、
請求項6記載の認証サーバ。
【請求項8】
上記プロセッサは、上記第1のチャレンジに含まれる、トランザクションに関連付けられた乱数を生成するようにさらに構成される、
請求項1記載の認証サーバ。
【請求項9】
認証要求を送信するステップと、
上記認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信するステップと、
上記第1のレスポンスに基づいて第1のチャレンジを生成するステップと、
対称鍵によって上記第1のチャレンジを暗号化するステップと、
上記第1のチャレンジを送信するステップと、
上記第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信するステップと、
上記第2のレスポンスを認証するステップとを含む、
認証の方法。
【請求項10】
上記第1のレスポンスは、タグの第1の読み取りに基づいて生成される、
請求項9記載の方法。
【請求項11】
上記第1のチャレンジは、第1の予め決められた継続時間に関連付けられる、
請求項9記載の方法。
【請求項12】
上記第1の予め決められた継続時間の満了後、第2の予め決められた継続時間に関連付けられた第2のチャレンジを生成すること
をさらに含む、
請求項11記載の方法。
【請求項13】
予め決められたタイプのトランザクションの決定に基づいて、上記第1のチャレンジを生成することをさらに含む、
請求項9記載の方法。
【請求項14】
公開鍵及びバージョン番号を受信することをさらに含む、
請求項9記載の方法。
【請求項15】
上記第1のチャレンジは、上記バージョン番号に基づいて送信される、
請求項14記載の方法。
【請求項16】
上記第1のチャレンジに含まれる、トランザクションに関連付けられた乱数を生成することをさらに含む、
請求項9記載の方法。
【請求項17】
秘密ソルトを含む上記第2のレスポンスを復号することをさらに含む、
請求項9記載の方法。
【請求項18】
上記第2の暗号文の復号状態の結果を決定することに基づいて、上記復号状態を示す1つ又は複数のメッセージを送信することをさらに含む、
請求項9記載の方法。
【請求項19】
上記第1の暗号文は、読み取られた近距離無線通信データ交換フォーマット(near field communication data exchange format:NDEF)を介して受信される、
請求項9記載の方法。
【請求項20】
プロセッサにおいて実行されるときに下記の手順を実行させるコンピュータ実行可能命令を備えるコンピュータ可読非一時的媒体であって、
上記手順は、
認証要求を送信するステップと、
上記認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信するステップと、
上記第1のレスポンスに基づいて第1のチャレンジを生成するステップと、
対称鍵によって上記第1のチャレンジを暗号化するステップと、
上記第1のチャレンジを送信するステップと、
上記第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信するステップと、
上記第2のレスポンスを認証するステップとを含む、
コンピュータ可読非一時的媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照.
本願は、2021年6月21日に出願された米国特許出願第17/353556号の優先度を主張し、その開示内容の全体は参照によって本願に援用される。
【0002】
技術分野.
本開示は、非接触カードのスケーラブルな暗号認証のためのシステム及び方法に関する。
【背景技術】
【0003】
カードに基づくトランザクションは、ますますありふれたものになっている。これらのトランザクションは、しばしば、POS(point of sale)装置、サーバ、又は他の装置と通信するカードの使用をともなう。そのような通信を傍受及び不正アクセスから保護することが必要である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、暗号化又は他の保護なしのデータの送信は、フィッシング攻撃及びリプレイ攻撃に弱く、他の脆弱性にさらされる可能性があり。その結果、セキュリティリスクの増大と、アカウント又はカード悪用のリスクの増大とをもたらす。これらのリスクは、他の装置と無線通信する非接触カードの使用によってさらに増大する可能性がある。
【0005】
セキュリティリスクに取り組むために取られる手段は、システムリソースを消費し、動作効率を妨害する可能性がある。多数のトランザクションを行う場合、システムリソースの消費及びトランザクション効率の妨害が増大する可能性があり、このことは、結果として、トランザクションの実行の失敗又は不満足な実行をもたらす可能性がある。
【0006】
これらの欠点及び他の欠点が存在する。従って、傍受及び不正アクセスから通信を安全かつ信頼できる方法で保護することでこれらの不備を克服する、認証のためのシステム及び方法の必要性が存在する。
【課題を解決するための手段】
【0007】
本開示の実施形態は認証サーバを提供する。認証サーバは、プロセッサ及びメモリを含んでもよい。プロセッサは、認証要求を送信するように構成されてもよい。プロセッサは、認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信するように構成されてもよい。プロセッサは、第1のレスポンスに基づいて第1のチャレンジを生成するように構成されてもよい。プロセッサは、対称鍵により第1のチャレンジを暗号化するように構成されてもよい。プロセッサは、第1のチャレンジを送信し、第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。プロセッサは、第2のレスポンスを認証するように構成されてもよい。
【0008】
本開示の実施形態は、認証の方法を提供する。本方法は、認証要求を送信することを含んでもよい。本方法は、認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信することを含んでもよい。本方法は、第1のレスポンスに基づいて第1のチャレンジを生成することを含んでもよい。本方法は、対称鍵により第1のチャレンジを暗号化することを含んでもよい。本方法は、第1のチャレンジを送信することを含んでもよい。本方法は、上記第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信することを含んでもよい。本方法は、第2のレスポンスを認証することを含んでもよい。
【0009】
本開示の実施形態は、プロセッサにおいて実行されるときに下記の手順を実行させるコンピュータ実行可能命令を備えるコンピュータ可読非一時的媒体を提供し、本手順は、認証要求を送信するステップと、認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信するステップと、第1のレスポンスに基づいて第1のチャレンジを生成するステップと、対称鍵によって第1のチャレンジを暗号化するステップと、第1のチャレンジを送信するステップと、第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信するステップと、第2のレスポンスを認証するステップとを含む。
【図面の簡単な説明】
【0010】
図1】例示的な実施形態に係る認証サーバを示す。
図2A】例示的な実施形態に係る非接触カードの図である。
図2B】例示的な実施形態に係る非接触カードのコンタクトパッドの図である。
図3】例示的な実施形態に係る認証の方法を示す。
図4】例示的な実施形態に係る認証の処理のシーケンス図を示す。
図5】例示的な実施形態に係る認証の方法を示す。
図6】例示的な実施形態に係る認証の方法を示す。
【発明を実施するための形態】
【0011】
本開示の様々な実施形態は、さらなる課題及び優位点とともに、添付図面に関連して提供される下記の説明を参照することで最もよく理解されうる。
【0012】
下記の実施形態の説明は、参照数字を含む非限定的な代表例を提供し、特に、本発明の異なる態様の特徴及び開示内容を説明する。説明した実施形態は、実施形態の説明からの他の実施形態とは別個に、又は組み合わせて実施可能であるように認識されるべきである。実施形態の説明を検討する当業者は、本発明の説明された異なる態様を学習及び理解できるはずである。実施形態の説明は、他の実施例が、具体的にカバーされていなくても実施形態の説明を読んだ当業者の知識内にある場合、本発明のアプリケーションに沿っていると理解されるであろう程度まで、本発明についての理解を容易にするはずである。
【0013】
本願において開示したシステム及び方法の利点は、傍受及び不正アクセスから通信を保護することで、改善された認証を含む。本願において開示したシステム及び方法は、フィッシング攻撃を回避し、暗号化されたデータ通信によってリプレイ攻撃を防止し、他のセキュリティ脆弱性を低減することを可能にする。
【0014】
さらに、チャレンジが生成されてもよく、対応するレスポンスが、認証を改善するようにカスタマイズされたコマンドを介して送信されてもよい。そうすることによって、セキュリティリスクをさらに緩和することができ、トランザクション効率を向上することができる。
【0015】
これらの特徴は、不必要なセキュリティタスクをユーザに課すことでユーザ体験を低下させることなく、実装可能である。さらに、これらの特徴は、ユーザの期待及びトランザクションの要件に応じるために、トランザクションの時間効率的な実行を可能にするような方法で実行可能である。
【0016】
さらに、本願において説明するシステム及び方法はスケーラブルであり、多数のトランザクションの使用を可能にする。そうすることによって、トランザクション効率と、システムリソースの効率的な使用とを維持しながら、多数のトランザクションを適時かつ満足な方法で実行可能である。
【0017】
従って、本願において開示するシステム及び方法は、カード又はそれに関連付けられたアカウントの悪用のような詐欺的活動のリスクを低減し、トランザクション効率を促進しかつユーザ体験の低下を回避しながら、スケーラビリティを欠く認証実装に対処する。限られた個数のランダム鍵の使用及び成功した登録に依存する従来のシステムとは異なり、本願において開示するシステム及び方法は、鍵の多様化(key diversification)を用いることによって、数百万個のような有意な個数の鍵を生成及び再生成することを可能にする。さらに、カード発行は、識別及び認証に関連する情報を提供するという優位点を有する。
【0018】
図1は認証システム100を示す。システム100は、第1の装置105、第2の装置110、ネットワーク115、サーバ120、及びデータベース125を備えてもよい。図1は、システム100の構成要素の単一の例を示すが、システム100は、任意個数の構成要素を含んでもよい。
【0019】
システム100は第1の装置105を含んでもよい。第1の装置105は、非接触カード、接触に基づくカード、ネットワーク機能を有するコンピュータ、又は本願において説明した他の装置を備えてもよい。本願において参照されるように、ネットワーク機能を有するコンピュータは、コンピュータ装置を含んでもよく、又は、例えば、サーバ、ネットワーク機器、パーソナルコンピュータ、ワークステーション、電話機、ハンドヘルドPC、携帯情報端末、非接触カード、シンクライアント、ファットクライアント、インターネットブラウザ、キオスク、タブレット、端末、又は他の装置を含む通信装置を含んでもよいが、これらに限定されない。下記で図2A図2Bにおいてさらに説明するように、第1の装置105は、1つ又は複数のプロセッサ102及びメモリ104を含んでもよい。メモリ104は、1つ又は複数のアプレット106及び1つ又は複数のカウンタ108を含んでもよい。各カウンタ108はカウンタ値を含んでもよい。メモリ104は、カウンタ値、送信データ、及び少なくとも1つ鍵を含んでもよい。
【0020】
第1の装置105は通信インターフェース107を含んでもよい。通信インターフェース107は、物理インターフェース及び非接触インターフェースとの通信能力を備えてもよい。例えば、通信インターフェース107は、現金自動預け払い機(automated teller machine:ATM)又は物理インターフェースを介して通信するように構成された他の装置に見られる、カードスワイプインターフェースを介してスワイプすること、又は、カードチップリーダーに挿入することのような、物理インターフェースと通信するように構成されてもよい。他の実施例では、通信インターフェース107は、NFC、Bluetooth(登録商標)、Wi-Fi(登録商標)、RFID、及び他の形式の非接触通信のような短距離無線通信方法を介して、カード読み取り装置との非接触通信を確立するように構成されてもよい。図1に示すように、通信インターフェース107は、ネットワーク115を介して、第2の装置110、サーバ120、及び/又はデータベース125と直接に通信するように構成されてもよい。
【0021】
第1の装置105は、システム100の任意個数の構成要素とデータ通信してもよい。例えば、第1の装置105は、ネットワーク115を介して第2の装置110及び/又はサーバ120にデータを送信してもよい。第1の装置105は、ネットワーク115を介してデータベース125にデータを送信してもよい。いくつかの実施例では、第1の装置105は、任意の装置の1つ又は複数の通信フィールドへの入力の後に、ネットワーク115を介してデータを送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。
【0022】
システム100は第2の装置110を含んでもよい。第2の装置110は、1つ又は複数のプロセッサ112及びメモリ114を含んでもよい。メモリ114は、アプリケーション116を含むがそれに限定されない、1つ又は複数のアプリケーションを含んでもよい。第2の装置110は、システム100の任意個数の構成要素とデータ通信してもよい。例えば、第2の装置110は、ネットワーク115を介してサーバ120にデータを送信してもよい。第2の装置110は、ネットワーク115を介してデータベース125にデータを送信してもよい。限定することなく、第2の装置110は、ネットワーク機能を有するコンピュータであってもよい。第2の装置110はモバイル装置であってもよく、例えば、モバイルの装置は、Apple(登録商標)からのiPhone(登録商標)、iPod(登録商標)、iPad(登録商標)、又は、iOS(登録商標)オペレーティングシステムを実行する他の任意のモバイル装置、マイクロソフトのWindows(登録商標)モバイルオペレーティングシステムを実行する任意の装置、GoogleのAndroid(登録商標)オペレーティングシステムを実行する任意の装置、及び/又は他の任意のスマートフォン、タブレット、又は同様のウェアラブルモバイル装置を含んでもよい。
【0023】
第2の装置110は、処理回路を含んでもよく、本願において説明した機能を実行するのに必要とされる、プロセッサ、メモリ、エラー及びパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、及び改竄防止ハードウェアを含む、追加の構成要素を含んでもよい。第2の装置110は、ディスプレイ及び入力装置をさらに含んでもよい。ディスプレイは、液晶ディスプレイ、発光ダイオードディスプレイ、プラズマパネル、及び陰極線管ディスプレイを含む、コンピュータモニタ、フラットパネルディスプレイ、及びモバイル装置画面のような、視覚情報を提示するための任意のタイプの装置であってもよい。入力装置は、タッチスクリーン、キーボード、マウス、カーソル制御装置、タッチスクリーン、マイクロホン、ディジタルカメラ、ビデオレコーダ、又はカムコーダーのような、ユーザの装置によって利用可能でありかつサポートされる、ユーザの装置へ情報を入力するための任意の装置を含んでもよい。これらの装置は、情報を入力するために、また、本願において説明するソフトウェア及び他の装置と相互動作するために使用されうる。
【0024】
システム100はネットワーク115を含んでもよい。いくつかの実施例では、ネットワーク115は、無線ネットワーク、有線ネットワーク、又は無線ネットワーク及び有線ネットワークの任意の組み合わせのうちの1つ又は複数であってもよく、システム100の構成要素のうちの任意の1つに接続されるように構成されてもよい。例えば、第1の装置105は、ネットワーク115を介してサーバ120に接続するように構成されてもよい。いくつかの実施例では、ネットワーク115は、光ファイバーネットワーク、パッシブ光ネットワーク、ケーブルネットワーク、インターネットネットワーク、衛星ネットワーク、無線ローカルエリアネットワーク(LAN)、GSM通信(Global System for Mobile Communication)、PCS(Personal Communication Service)、パーソナルエリアネットワーク、無線アプリケーションプロトコル、マルチメディアメッセージサービス、EMS(Enhanced Messaging Service)、ショートメッセージサービス、時分割多重に基づくシステム、符号分割多重アクセスに基づくシステム、D-AMPS、Wi-Fi、FWD(Fixed Wireless Data)、IEEE802.11b、802.15.1、802.11n、及び802.11g、Bluetooth、NFC、無線周波数識別(RFID)、Wi-Fi(登録商標)、などの1つ又は複数を含んでもよい。
【0025】
さらに、ネットワーク115は、限定ではないが、電話線、光ファイバー、IEEEイーサネット(登録商標)902.3、ワイドエリアネットワーク、無線パーソナルエリアネットワーク、LAN、又はインターネットのようなグローバルネットワークを含んでもよい。さらに、ネットワーク115は、インターネットネットワーク、無線通信ネットワーク、セルラーネットワークなど、又はそれらの任意の組み合わせをサポートしてもよい。ネットワーク115は、スタンドアロン型ネットワークとして動作するか又は互いに協働する、1つのネットワーク、又は上述した任意個数の例示的なタイプのネットワークをさらに含んでもよい。ネットワーク115は、それらが通信可能に接続される1つ又は複数のネットワーク構成要素の1つ又は複数のプロトコルを利用してもよい。ネットワーク115は、ネットワーク装置の1つ又は複数のプロトコルと他のプロトコルとを相互に変換してもよい。ネットワーク115を単一のネットワークとして示しているが、1つ又は複数の実施例によれば、ネットワーク115は、例えば、インターネット、サービスプロバイダのネットワーク、ケーブルテレビジョンネットワーク、クレジットカード協会ネットワークのような企業ネットワーク、及びホームネットワークのような、複数の相互接続されたネットワークを備えてもよいことが認識されるべきである。
【0026】
システム100は、1つ又は複数のサーバ120を含んでもよい。いくつかの実施例では、サーバ120は、メモリ124に接続された1つ又は複数のプロセッサ122を含んでもよい。サーバ120は、異なる時点において様々なデータを制御及び呼び出して複数のワークフロー動作を実行する中央システム、サーバ、又はプラットフォームとして構成されてもよい。サーバ120は、第1の装置105に接続するように構成されてもよい。サーバ120は、アプレット106及び/又はアプリケーション116とデータ通信してもよい。例えば、サーバ120は、1つ又は複数のネットワーク115を介してアプレット106とデータ通信してもよい。第1の装置105は、1つ又は複数のネットワーク115を介して1つ又は複数のサーバ120と通信してもよく、サーバ120とともに各フロントエンド対バックエンドのペアとして動作してもよい。第1の装置105は、例えばその上で実行するアプレット106から、1つ又は複数の要求をサーバ120に送信してもよい。1つ又は複数の要求は、サーバ120からの検索データに関連付けられてもよい。サーバ120は、第1の装置105から1つ又は複数の要求を受信してもよい。アプレット106からの1つ又は複数の要求に基づいて、サーバ120は、要求されたデータを検索するように構成されてもよい。サーバ120は、1つ又は複数の要求に応答して、受信されたデータをアプレット106に送信するように構成されてもよい。
【0027】
いくつかの実施例では、サーバ120は、ブレードサーバのような専用サーバコンピュータであってもよく、又は、パーソナルコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、パームトップコンピュータ、ネットワークコンピュータ、モバイル装置、ウェアラブル装置、又はシステム100をサポートできるプロセッサ制御される任意の装置であってもよい。図1は単一のサーバ120を示しているが、他の実施形態は、ユーザをサポートするために必要又は所望とされる場合に複数のサーバ又は複数のコンピュータシステムを使用してもよく、また、特定のサーバの故障の場合にネットワーク停止時間を防ぐためにバックアップ又は冗長サーバを使用してもよいことが理解される。
【0028】
サーバ120は、その上で実行するための命令を含むアプリケーションを含んでもよい。例えば、アプリケーションは、サーバ120において実行するための命令を含んでもよい。サーバ120のアプリケーションは、システム100の任意の構成要素と通信してもよい。例えば、サーバ120は、例えば、システム100の1つ又は複数の構成要素とのネットワーク及び/又はデータ通信を可能にし、データを送信及び/又は受信する、1つ又は複数のアプリケーションを実行してもよい。限定することなく、サーバ120は、ネットワーク機能を有するコンピュータであってもよい。サーバ120はモバイル装置であってもよく、例えば、モバイルの装置は、Apple(登録商標)からのiPhone(登録商標)、iPod(登録商標)、iPad(登録商標)、又は、iOS(登録商標)オペレーティングシステムを実行する他の任意のモバイル装置、マイクロソフトのWindows(登録商標)モバイルオペレーティングシステムを実行する任意の装置、GoogleのAndroid(登録商標)オペレーティングシステムを実行する任意の装置、及び/又は他の任意のスマートフォン、タブレット、又は同様のウェアラブルモバイル装置を含んでもよい。
【0029】
サーバ120は、処理回路を含んでもよく、本願において説明した機能を実行するのに必要とされる、プロセッサ、メモリ、エラー及びパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、及び改竄防止ハードウェアを含む、追加の構成要素を含んでもよい。サーバ120は、ディスプレイ及び入力装置をさらに含んでもよい。ディスプレイは、液晶ディスプレイ、発光ダイオードディスプレイ、プラズマパネル、及び陰極線管ディスプレイを含む、コンピュータモニタ、フラットパネルディスプレイ、及びモバイル装置画面のような、視覚情報を提示するための任意のタイプの装置であってもよい。入力装置は、タッチスクリーン、キーボード、マウス、カーソル制御装置、タッチスクリーン、マイクロホン、ディジタルカメラ、ビデオレコーダ、又はカムコーダーのような、ユーザの装置によって利用可能でありかつサポートされる、ユーザの装置へ情報を入力するための任意の装置を含んでもよい。これらの装置は、情報を入力するために、また、本願において説明するソフトウェア及び他の装置と相互動作するために使用されうる。
【0030】
システム100は、1つ又は複数のデータベース125を含んでもよい。データベース125は、リレーショナル・データベース、非リレーショナルデータベース又は、他のデータベース実装を備えてもよく、複数のリレーショナルデータベース及び非リレーショナルデータベースを含むそれらの任意の組み合わせを含んでもよい。いくつかの実施例では、データベース125は、デスクトップデータベース、モバイルデータベース、又はインメモリデータベースを備えてもよい。さらに、データベース125は、第1の装置105又はサーバ120のようなシステム100の任意の構成要素によって内部的にホスティングされてもよく、又は、データベース125は、クラウドに基づくプラットフォームによって、又は、第1の装置105及びサーバ120とデータ通信する任意の記憶装置において、第1の装置105又はサーバ120のようなシステム100の任意の構成要素の外部にホスティングされてもよい。いくつかの実施例では、データベース125は、システム100の任意個数の構成要素とデータ通信してもよい。例えば、サーバ120は、アプレット106によって送信された要求されたデータをデータベース125から検索するように構成されてもよい。サーバ120は、送信された1つ又は複数の要求に応答して、データベース125から受信されたデータを、ネットワーク115を介してアプレット106に送信するように構成されてもよい。他の実施例では、アプレット106は、データベース125からの要求されるデータに関する1つ又は複数の要求を、ネットワーク115を介して送信するように構成されてもよい。
【0031】
いくつかの実施例では、本願において説明した本開示に係る例示的な手順は、処理装置及び/又は計算装置(例えばコンピュータハードウェア装置)によって実行されてもよい。そのような処理/計算装置は、例えば、コンピュータ/プロセッサの全体又は一部であってもよく、又は、コンピュータ/プロセッサを含んでもよく、ただしそれらに限定しない。コンピュータ/プロセッサは、例えば、1つ又は複数のマイクロプロセッサを含んでもよく、コンピュータアクセス可能な媒体(例えば、RAM、ROM、ハードドライブ、又は他の記憶装置)上に格納された命令を使用してもよい。例えば、コンピュータアクセス可能な媒体は、第1の装置105、第2の装置110、サーバ120、及び/又はデータベース125、又は他のコンピュータハードウェア装置メモリの一部であってもよい。
【0032】
いくつかの実施例では、コンピュータアクセス可能な媒体(例えば、本明細書で上述するように、ハードディスクのような記憶装置、フロッピーディスク、メモリスティック、CD-ROM、RAM、ROMなど、又はそれらの収集物)が(例えば、処理装置と通信して)提供されてもよい。コンピュータアクセス可能な媒体は、実行可能な命令をその上に格納してもよい。追加又は代替として、記憶装置は、コンピュータアクセス可能な媒体とは別個に提供されてもよく、それが命令を処理装置に提供することで、例えば、本願において説明するように、所定の例示的な手順、処理、及び方法を実行するように処理装置を構成してもよい。
【0033】
サーバ120は、第1の要求を送信するように構成されてもよい。例えば、第1の要求は認証要求を含んでもよい。クライアント装置110のアプリケーション116は、第1の要求を受信するように構成されてもよい。クライアント装置110のアプリケーション116は、カードのような第1の装置105の1つ又は複数の読み取りを行うように構成されてもよい。例えば、アプリケーション116は、近距離無線通信の読み取りのような、カード105のタグの読み取りを行うように構成されてもよい。
【0034】
カード105の1つ又は複数のプロセッサ102は、少なくとも1つの鍵及びカウンタ値を用いて暗号文を生成するように構成されてもよい。暗号文は、カウンタ値及び送信データを含んでもよい。カード105の1つ又は複数のプロセッサ102は、第1の暗号文を送信するように構成されてもよい。カード105の1つ又は複数のプロセッサ102は、任意の装置の1つ又は複数の通信フィールドへの入力の後に、第1の読み取りのような読み取りに応答してデータを送信するように構成されてもよい。例えば、カード105の1つ又は複数のプロセッサ102は、装置の第1の通信フィールドへの第1の入力の後に、第1の暗号文を送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。第1の暗号文は、要求に応じて、近距離無線通信データ交換フォーマット(near field communication data exchange format:NDEF)の読み取りを介して受信されてもよい。カード105の1つ又は複数のプロセッサ102は、第1の暗号文を送信するように構成されてもよい。クライアント装置110のアプリケーション116は、カード105の1つ又は複数のプロセッサ102によって送信されたレスポンスから、第1の暗号文及び公開鍵を受信するように構成されてもよい。いくつかの実施例では、カード105の1つ又は複数のプロセッサ102は、共有された秘密情報を用いて第1の暗号文を生成し、クライアント装置110のアプリケーション116に送信するように構成されてもよい。いくつかの実施例では、レスポンスは第1のレスポンスを含んでもよい。第1のレスポンスは、カード105のタグの第1の読み取りに基づいて生成されてもよい。第1のレスポンスはまた、カード105に関連付けられたバージョン番号を含んでもよい。いくつかの実施例では、カード105の1つ又は複数のプロセッサ102は、第1の暗号文を、その送信前に暗号化するように構成されてもよい。例えば、第1のレスポンスは、カード105の一意の識別子と、カウンタ108と、使用される1つ又は複数の暗号アルゴリズムの変更を可能にするカード105のバージョン番号と、メッセージ認証コード(Message Authentication Code:MAC)として作用する第1の暗号文との任意の組み合わせも含んでもよい。いくつかの実施例では、第1のレスポンスは公開鍵ディジタル署名を含んでもよい。他の実施例では、第1のレスポンスは、1つ又は複数の対称鍵又は導出されたセッション鍵を用いた、MAC内部の暗号化構造を備えてもよい。例えば、カード105は、カード105のカウンタ108と組み合わされた秘密鍵を用いて、第1のセッション鍵及び第2のセッション鍵のような複数のセッション鍵を生成するように構成されてもよい。MACは、第1のセッション鍵を用いて生成されてもよい。MACは、その送信前に、復号及び検証のために、第2のセッション鍵を用いて暗号化されてもよい。いくつかの実施例では、サーバ120によるチャレンジ検証のような、後のチャレンジ検証に、公開鍵もまた使用される場合、公開鍵は、クリア又は暗号化されていない状態でカード105によって送信されてもよく、又は代替として、公開鍵は、カード105からの送信前に、MACとともに暗号化されてもよい。さらに、MAC構成において使用されるメッセージもまた、さらなるセキュリティのために、1つ又は複数の共有される秘密情報を含んでもよい。サーバ120は、一意の識別子及びマスター鍵を用いて、一意の導出された鍵を生成するように構成されてもよい。サーバ120は、一意の導出された鍵及びカウンタからセッション鍵を生成するように構成されてもよい。サーバ120は、第1の暗号文からの暗号化されたMACを復号するように構成されてもよい。サーバ120は、セッション鍵を用いてMACを検証するように構成されてもよい。
【0035】
1つ又は複数のプロセッサ102は、通信インターフェース107を介して第1の暗号文を送信するように構成されてもよい。例えば、1つ又は複数のプロセッサ102は、第1の暗号文を1つ又は複数のアプリケーションに送信するように構成されてもよい。いくつかの実施例では、1つ又は複数のプロセッサ102は、第2の装置110において実行するための命令を含むアプリケーション116に、第1の暗号文を送信するように構成されてもよい。1つ又は複数のプロセッサ102は、第1の暗号文の送信後にカウンタ値を更新するように構成されてもよい。
【0036】
いくつかの実施例では、サーバ120は、カード105の1つ又は複数のプロセッサ102によって送信されたレスポンスから、第1の暗号文及び公開鍵を受信するように構成されてもよい。クライアント装置110のアプリケーション116は、カード105によるレスポンスからの第1の暗号文及び公開鍵をサーバ120に送信するように構成されてもよい。サーバ120は、第1の暗号文を復号するように構成されてもよい。
【0037】
サーバ120は、第1のレスポンスに基づいて第1のチャレンジを生成するように構成されてもよい。サーバ120は、対称鍵のような鍵を用いて第1のチャレンジを暗号化するように構成されてもよい。サーバ120は、暗号化された第1のチャレンジをクライアント装置110のアプリケーション116に送信するように構成されてもよい。いくつかの実施例では、サーバ120は、カード105又は装置110のアプリケーション116から受信されたバージョン番号に基づいて、暗号化された第1のチャレンジを送信するように構成されてもよい。また、サーバ120は、秘密ソルトのような乱数を生成するように構成されてもよい。この乱数は、トランザクションに関連付けられ、また、送信される第1のチャレンジに含まれる。乱数は、サーバ120によって生成されてもよく、各トランザクションに関して一意であってもよい。例えば、乱数は、高いエントロピーを有するビット列を含んでもよい。いくつかの実施例では、乱数は、MAC計算における追加の構成要素として作用し、任意の長さを含んでもよい。他の実施例では、乱数は、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算のような合成のために、メッセージと同じ長さであってもよい。
【0038】
第1のチャレンジは、第1の予め決められた継続時間に関連付けられてもよい。したがって、第1のチャレンジは時間的に限定されてもよい。例えば、サーバ120は、第1の予め決められた継続時間の満了の後に、各予め決められた継続時間にそれぞれ関連付けられる1つ又は複数の追加のチャレンジを生成するように構成されてもよい。例えば、サーバ120は、第1の予め決められた継続時間の満了後、第2の予め決められた継続時間に関連付けられた第2のチャレンジを生成するように構成されてもよい。このように、予め決められた継続時間に関連付けられた新たな暗号化されたチャレンジが、復号のための限られた時間を割り当てるように、生成及び送信されてもよい。
【0039】
例えば、第1のチャレンジは、カード105の一意の識別子と、カード105のカウンタと、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算と組み合わされてもよい。いくつかの実施例では、第1のチャレンジは、1つ又は複数の対称鍵を用いて暗号化されてもよい。例えば、カード105は、サーバ120にも知られたそれ自体の対称鍵を含んでもよく、又は、鍵の多様化を介して導出されてもよい。いくつかの実施例では、1つ又は複数の一意の導出された鍵は、1つ又は複数の秘密マスター鍵と、カード105の一意の識別子とを組み合わせることに基づいて生成されてもよい。カード105及びサーバ120の両方において、対称鍵は、マスター鍵から独立して導出されてもよく、したがって、マスター鍵及び対称鍵は決して送信されないこともある。他の実施例では、第1のチャレンジは、カード105の秘密鍵によって暗号化されてもよく、ここで、送信された公開鍵は、秘密鍵によって暗号化された第1のチャレンジを復号するように構成されてもよい。このように、1つ又は複数の追加のチャレンジは、これらの様々な実装に従って暗号化されてもよい。
【0040】
鍵の多様化に関して、また、限定することなく、カード105は、多様化マスター鍵のようなカード鍵を含んでもよく、サーバ120は、マスター鍵のような、それ自体のサーバ鍵を含んでもよい。カード105は、多様化マスター鍵、1つ又は複数の暗号アルゴリズム、及びカウンタ値を用いて、多様化鍵を生成するように構成されてもよい。カード105は、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて、カウンタ値を含む暗号結果を生成するように構成されてもよい。カード105は、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて送信データを暗号化し、暗号化された送信データを生成するように構成されてもよい。暗号化された送信データ及び暗号結果は、カード105によって、復号のため、例えばサーバ120に送信されてもよい。
【0041】
サーバ120は、サーバマスター鍵及び一意の識別子に基づいて、認証多様化鍵を生成するように構成されてもよい。サーバ120は、認証多様化鍵に基づいてセッション鍵を生成するように構成されてもよい。サーバ120は、暗号化された送信データを復号し、また、1つ又は複数の暗号アルゴリズム及びセッション鍵を用いて、受信された暗号結果を検証するように構成されてもよい。
【0042】
いくつかの実施例では、サーバ120は、1つ又は複数のファクタに基づいて第1のチャレンジを生成するように構成されてもよい。例えば、1つ又は複数のファクタは、第1の読み取りにおいて返信されたバージョン番号と、予め決められたタイプのトランザクションの決定とを含んでもよい。例えば、第1のチャレンジは、第1の読み取りで得られたバージョン番号に基づいて生成されてもよい。例えば、サーバ120は、認証要求に関連付けられたトランザクションがハイリスクのトランザクションであるか否かを決定するように構成されてもよい。サーバ120は、アカウントデータ、トランザクション履歴データ、トランザクション量、同じ又は同様のトランザクションに関連付けられた以前のタイムスタンプ、以前のユーザ認証の試行及び結果、異常な又は疑わしい地理的場所、異常な又は疑わしい商人、以前に詐欺的活動を行った商人、及び/又はそれらの任意の組み合わせのグループから選択された1つ又は複数を含む、1つ又は複数のパラメータの評価に基づいて、トランザクションがハイリスクであるか否かを決定するように構成されてもよい。
【0043】
クライアント装置110のアプリケーション116は、暗号化された第1のチャレンジを、コマンド-アプリケーションプロトコルデータ単位(C-APDU)の一部として、カード105に送信するように構成されてもよい。カード105の1つ又は複数のプロセッサ102は、クライアント装置110のアプリケーション116から受信された、暗号化された第1のチャレンジを復号するように構成されてもよい。いくつかの実施例では、第1のチャレンジは、クライアント装置110のアプリケーション116によって暗号化されずに送信され、カード105の1つ又は複数のプロセッサ102によって受信されてもよい。カード105の1つ又は複数のプロセッサ102は、カード105の発行者に関連付けられたサーバ120のような秘密鍵ホルダが、それが正しく組み合わされたか、それとも公開鍵検証を介して組み合わされたかを検証しうるような方法で、第1のチャレンジと、1つ又は複数のプライベートなカード鍵とを組み合わせるように構成されてもよい。第1のチャレンジが暗号化される場合、カード105の1つ又は複数のプロセッサ102は、復号された第1のチャレンジを、レスポンス-アプリケーションプロトコルデータ単位(R-APDU)の一部として、クライアント装置110のアプリケーション116に送信するように構成されてもよい。レスポンスは、第2のレスポンスであり、第1のチャレンジを計算に組み込む第2の暗号文を含んでもよく、それは、1つ又は複数のプライベートなカード鍵と組み合わされてもよく、又は、署名されているメッセージの一部であってもよい。カード105の1つ又は複数のプロセッサ102は、第2の暗号文を、その送信前に暗号化するように構成されてもよい。レスポンスもまた、秘密ソルトのような乱数を含んでもよく、それは、サーバ120による基準乱数又は秘密ソルトとの比較による検証のために送信される。いくつかの実施例では、カード105の1つ又は複数のプロセッサ102は、第2の暗号文の暗号化前に、乱数及びレスポンスのXORのような1つ又は複数の論理演算を実行するように構成されてもよい。カード105の1つ又は複数のプロセッサ102は、任意の装置の1つ又は複数の通信フィールドへの入力の後に、第2の暗号文のようなデータを送信するように構成されてもよい。例えば、カード105の1つ又は複数のプロセッサ102は、装置の第1の通信フィールドへの第2の入力の後に、第2の暗号文を第2の装置120のアプリケーション116に送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。
【0044】
サーバ120は、カード105の1つ又は複数のプロセッサ102から、第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。いくつかの実施例では、サーバ120は、クライアント装置110のアプリケーション116から、第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。サーバ120は、第2の暗号文の検証により、第2のレスポンスを認証するように構成されてもよい。例えば、サーバ120は、第2の暗号文を復号するように構成されてもよい。第2の暗号文の復号の結果の決定に基づいて、サーバ120は、1つ又は複数の結果をクライアント装置110のアプリケーション116に送信するように構成されてもよい。
【0045】
いくつかの実施例では、サーバ120は、第2の暗号文が検証される場合、成功の認証メッセージを送信するように構成されてもよい。例えば、サーバ120は、成功の認証メッセージをクライアント装置110のアプリケーション116に送信するように構成されてもよい。他の実施例では、サーバ120は、第2の暗号文が検証されない場合、失敗の認証メッセージを送信するように構成されてもよい。例えば、サーバ120は、失敗の認証メッセージをクライアント装置110のアプリケーション116に送信するように構成されてもよい。第2の暗号文が検証されない場合、サーバ120は認証処理を終了してもよい。もう1つの実施例では、サーバ120は、認証要求を再送信することによって、又は、異なるチャレンジを生成及び暗号化及び送信することによって、ただしこれらに限定することなく、認証処理を再開するように構成されてもよい。
【0046】
図2Aは、1つ又は複数の第1の装置200を示す。第1の装置200は、図1に関して上に説明したような、第1の装置105の同じ又は同様の構成要素を参照してもよい。図2A及び図2Bは、第1の装置200の構成要素の単一の例を示すが、任意個数の構成要素が利用されてもよい。
【0047】
第1の装置200は、システム100の1つ又は複数の構成要素と通信するように構成されてもよい。第1の装置200は、接触に基づくカード又は非接触カードを備えてもよく、それは、非接触カード200の前面又は後面に表示されたサービスプロバイダ205によって発行された、クレジットカード、デビットカード、又はギフトカードのような支払いカードを備えてもよい。いくつかの実施例では、非接触カード200は支払いカードに関連せず、限定ではないが、識別カード、会員カード、及び交通カードを含んでもよい。いくつかの実施例では、支払いカードは、デュアルインターフェースの非接触支払いカードを含んでもよい。非接触カード200は基板210を備えてもよく、それは、プラスチック、金属、及び他の材料からなる単一の層又は1つ又は複数の積層された層を含んでもよい。例示的な基板材料は、ポリ塩化ビニル、ポリ塩化酢酸ビニル、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極処理されたチタン、パラジウム、金、炭素、紙、及び生物分解性材料を含む。いくつかの実施例では、非接触カード200は、ISO/IEC7810標準のID-1フォーマットに準拠した物理的特性を有してもよく、さもなければ、非接触カードは、ISO/IEC14443標準に準拠してもよい。しかしながら、本開示に係る非接触カード200が異なる特性を有してもよく、非接触カードが支払いカードとして実装されることを本開示が必要としていないということが理解される。
【0048】
非接触カード200は、カードの前面及び/又は背面に表示された識別情報215と、接触パッド220とを含んでもよい。接触パッド220は、ユーザ装置、スマートフォン、ラップトップ、デスクトップ、又はタブレットコンピュータを含むがこれらに限定されない、もう1つの通信装置との接触を確立するように構成されてもよい。非接触カード200は、図2Aには示していない処理回路、アンテナ、及び他の構成要素を含んでもよい。これらの構成要素は、接触パッド220の背面又は基板210上の他の場所に設けられてもよい。非接触カード200は、磁気ストリップ又はテープを含んでもよく、それは、カードの背面(図2Aには図示せず)に設けられてもよい。
【0049】
図2Bに示すように、図2Aの接触パッド220は、マイクロプロセッサのようなプロセッサ230と、メモリ235とを含む、情報を格納及び処理するための処理回路225を含んでもよい。処理回路225は、本願において説明した機能を実行するのに必要とされる、プロセッサ、メモリ、エラー及びパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、及び改竄防止ハードウェアを含む、追加の構成要素を含んでもよいことが理解される。
【0050】
メモリ235は、読み出し専用メモリ、1回書き込み多数読み出しメモリ、又は読み出し/書き込みメモリ、例えば、RAM、ROM、及びEEPROMであってもよく、非接触カード200は、これらのメモリのうちの1つ又は複数を含んでもよい。読み出し専用メモリは、読み出し専用又は1回だけプログラミング可能であるように工場でプログラミング可能である。1回だけのプログラミング可能性は、1回だけ書き込まれ、その後、複数回にわたって読み出される機会を提供する。1回書き込み/多数読み出しメモリは、メモリが工場を去った後の時点でプログラミングされてもよい。いったんメモリがプログラミングされると、それは再書き込みされることはないが、複数回にわたって読み出される。読み出し/書き込みメモリは、工場を去った後に複数回にわたってプログラミング及び再プログラミングされてもよい。それは何度でも読み出されてもよい。
【0051】
メモリ235は、1つ又は複数のアプレット240、1つ又は複数のカウンタ245、及び顧客識別子250を格納するように構成されてもよい。1つ又は複数のアプレット240は、Java(登録商標)カードアプレットのように、1つ又は複数の非接触カードにおいて実行されるように構成された1つ又は複数のソフトウェアアプリケーションを含んでもよい。しかしながら、アプレット240は、Javaカードアプレットに限定されず、代わりに、非接触カード又は限られたメモリを有する他の装置において動作可能である任意のソフトウェアアプリケーションであってもよいことが理解される。1つ又は複数のカウンタ245は、整数を格納するのに十分な数値カウンタを備えてもよい。顧客識別子250は、非接触カード200のユーザに割り当てられた一意の英数字識別子を含んでもよく、識別子は、当該非接触カードのユーザを他の非接触カードユーザから区別してもよい。いくつかの実施例では、顧客識別子250は、顧客と、その顧客に割り当てられたアカウントとの両方を識別してもよく、さらに、顧客のアカウントに関連付けられた非接触カードを識別してもよい。
【0052】
先述した例示的な実施形態のプロセッサ及びメモリ構成要素は、接触パッドを参照して説明しているが、本開示はそれに限定されない。これらの構成要素は、接触パッド220の外部又はそれから完全に離れて実装されてもよく、又は、接触パッド220内に設けられたプロセッサ230及びメモリ235構成要素に加えてさらなる構成要素として実装されてもよい。
【0053】
いくつかの実施例では、非接触カード200は、1つ又は複数のアンテナ255を備えてもよい。1つ又は複数のアンテナ255は、非接触カード200内において、接触パッド220の処理回路225のまわりに配置されてもよい。例えば、1つ又は複数のアンテナ255は処理回路225に一体化されていてもよく、1つ又は複数のアンテナ255は外部ブースタコイルとともに使用されてもよい。他の実施例として、1つ又は複数のアンテナ255は、接触パッド220及び処理回路225の外部にあってもよい。
【0054】
ある実施形態では、非接触カード200のコイルは、空芯トランスの2次巻線として作用してもよい。端末は、電力の遮断又は又は振幅変調によって非接触カード200と通信してもよい。非接触カード200は、非接触カードの電力接続におけるギャップを用いて、端末から送信されたデータを推測してもよい。電力接続は、1つ又は複数のキャパシタを介して機能的に保持されてもよい。非接触カード200は、非接触カードのコイルにおいて負荷をスイッチングすること又は負荷変調によって逆方向に通信してもよい。負荷変調は、干渉を通じて端末のコイルにおいて検出されてもよい。
【0055】
図3は、認証の方法300を示す。図3は、システム100の同じ又は同様の構成要素と、図2A及び図2Bの第1の装置200とを参照してもよい。
【0056】
ブロック305において、方法300は、認証要求を送信することを含んでもよい。例えば、第1の要求は認証要求を含んでもよい。クライアント装置のアプリケーションは、第1の要求を受信するように構成されてもよい。サーバは、認証要求をクライアント装置のアプリケーションに送信するように構成されてもよい。クライアント装置のアプリケーションは、カードの1つ又は複数の読み取りを行うように構成されてもよい。例えば、アプリケーションは、近距離無線通信読み取りのような、カードのタグの読み取りを行うように構成されてもよい。
【0057】
ブロック310において、方法300は、認証要求に応答して、第1の暗号文を含む第1のレスポンスを受信することを含んでもよい。例えば、カードは、第1のレスポンスの一部として第1の暗号文を送信するように構成されてもよい。カードは、任意の装置の1つ又は複数の通信フィールドへの入力の後に、第1の読み取りのような読み取りに応答してデータを送信するように構成されてもよい。例えば、カードは、装置の第1の通信フィールドへの第1の入力の後に、第1の暗号文を送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。第1の装置又はカードは、少なくとも1つの鍵及びカウンタ値を用いて暗号文を生成してもよい。例えば、カードの1つ又は複数のプロセッサは、少なくとも1つの鍵及びカウンタ値を用いて暗号文を生成するように構成されてもよい。暗号文は、カウンタ値及び送信データを含んでもよい。カードは、少なくとも1つの鍵、カウンタ値、及び送信データを含む、1つ又は複数の鍵を含むメモリを含んでもよい。カードはさらに、通信インターフェースを含んでもよい。第1の暗号文は、認証要求に応答して、近距離無線通信データ交換フォーマット(NDEF)の読み取りを介して受信されてもよい。カードは、第1の暗号文を送信するように構成されてもよい。クライアント装置のアプリケーションは、カードによって送信されたレスポンスから第1の暗号文及び公開鍵を受信するように構成されてもよい。いくつかの実施例では、カードの1つ又は複数のプロセッサは、共有された秘密情報を用いて第1の暗号文を生成し、クライアント装置のアプリケーションに送信するように構成されてもよい。いくつかの実施例では、レスポンスは第1のレスポンスを含んでもよい。第1のレスポンスは、カードのタグの第1の読み取りに基づいて生成されてもよい。第1のレスポンスはまた、カードに関連付けられたバージョン番号を含んでもよい。いくつかの実施例では、カードは、第1の暗号文を、その送信前に暗号化するように構成されてもよい。例えば、第1のレスポンスは、カードの一意の識別子と、カウンタと、使用される1つ又は複数の暗号アルゴリズムの変更を可能にするカードのバージョン番号と、MACとして作用する第1の暗号文との任意の組み合わせも含んでもよい。いくつかの実施例では、第1のレスポンスは公開鍵ディジタル署名を含んでもよい。他の実施例では、第1のレスポンスは、1つ又は複数の対称鍵又は導出されたセッション鍵を用いた、MAC内部の暗号化構造を備えてもよい。例えば、カードは、カードのカウンタと組み合わされた秘密鍵を用いて、第1のセッション鍵及び第2のセッション鍵のような複数のセッション鍵を生成するように構成されてもよい。MACは、第1のセッション鍵を用いて生成されてもよい。MACは、その送信前に、復号及び検証のために、第2のセッション鍵を用いて暗号化されてもよい。いくつかの実施例では、サーバによるチャレンジ検証のような、後のチャレンジ検証に、公開鍵もまた使用される場合、公開鍵は、クリア又は暗号化されていない状態でカードによって送信されてもよく、又は代替として、公開鍵は、カードからの送信前に、MACとともに暗号化されてもよい。さらに、MAC構成において使用されるメッセージもまた、さらなるセキュリティのために、1つ又は複数の共有される秘密情報を含んでもよい。サーバは、一意の識別子及びマスター鍵を用いて、一意の導出された鍵を生成するように構成されてもよい。サーバは、一意の導出された鍵及びカウンタからセッション鍵を生成するように構成されてもよい。サーバは、第1の暗号文からの暗号化されたMACを復号するように構成されてもよい。サーバは、セッション鍵を用いてMACを検証するように構成されてもよい。
【0058】
いくつかの実施例では、サーバは、カードによって送信されたレスポンスから第1の暗号文及び公開鍵を受信するように構成されてもよい。クライアント装置のアプリケーションは、カードによるレスポンスからの第1の暗号文及び公開鍵をサーバに送信するように構成されてもよい。サーバは、第1の暗号文を復号するように構成されてもよい。
【0059】
ブロック315において、方法300は、第1のレスポンスに基づいて第1のチャレンジを生成することを含んでもよい。例えば、サーバは、第1のレスポンスに基づいて第1のチャレンジを生成するように構成されてもよい。また、サーバは、秘密ソルトのような乱数を生成するように構成されてもよい。この乱数は、トランザクションに関連付けられ、また、送信される第1のチャレンジに含まれる。乱数は、サーバによって生成されてもよく、各トランザクションに関して一意であってもよい。例えば、乱数は、高いエントロピーを有するビット列を含んでもよい。いくつかの実施例では、乱数は、MAC計算における追加の構成要素として作用し、任意の長さを含んでもよい。他の実施例では、乱数は、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算のような合成のために、メッセージと同じ長さであってもよい。
【0060】
いくつかの実施例では、サーバは、1つ又は複数のファクタに基づいて第1のチャレンジを生成するように構成されてもよい。例えば、1つ又は複数のファクタは、第1の読み取りにおいて返信されたバージョン番号と、予め決められたタイプのトランザクションの決定とを含んでもよい。例えば、第1のチャレンジは、第1の読み取りで得られたバージョン番号に基づいて生成されてもよい。例えば、サーバは、認証要求に関連付けられたトランザクションがハイリスクのトランザクションであるか否かを決定するように構成されてもよい。サーバは、アカウントデータ、トランザクション履歴データ、トランザクション量、同じ又は同様のトランザクションに関連付けられた以前のタイムスタンプ、以前のユーザ認証の試行及び結果、異常な又は疑わしい地理的場所、異常な又は疑わしい商人、異常な又は疑わしい詐欺的商人、及び/又はそれらの任意の組み合わせのグループから選択された1つ又は複数を含む、1つ又は複数のパラメータの評価に基づいて、トランザクションがハイリスクであるか否かを決定するように構成されてもよい。
【0061】
第1のチャレンジは、第1の予め決められた継続時間に関連付けられてもよい。したがって、第1のチャレンジは時間的に限定されてもよい。例えば、サーバは、第1の予め決められた継続時間の満了の後に、各予め決められた継続時間にそれぞれ関連付けられる1つ又は複数の追加のチャレンジを生成するように構成されてもよい。例えば、サーバは、第1の予め決められた継続時間の満了後、第2の予め決められた継続時間に関連付けられた第2のチャレンジを生成するように構成されてもよい。このように、予め決められた継続時間に関連付けられた新たな暗号化されたチャレンジが、復号のための限られた時間を割り当てるように、生成及び送信されてもよい。
【0062】
ブロック320において、方法300は、対称鍵により第1のチャレンジを暗号化することを含んでもよい。サーバは、対称鍵のような鍵を用いて第1のチャレンジを暗号化するように構成されてもよい。他の実施例では、装置のアプリケーションは、鍵を用いて第1のチャレンジを暗号化するように構成されてもよい。例えば、第1のチャレンジは、カードの一意の識別子と、カードのカウンタと、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算と組み合わされてもよい。いくつかの実施例では、第1のチャレンジは、1つ又は複数の対称鍵を用いて暗号化されてもよい。例えば、カードは、サーバにも知られたそれ自体の対称鍵を含んでもよく、又は、鍵の多様化を介して導出されてもよい。いくつかの実施例では、1つ又は複数の一意の導出された鍵は、1つ又は複数の秘密マスター鍵と、カードの一意の識別子とを組み合わせることに基づいて生成されてもよい。カード及びサーバの両方において、対称鍵は、マスター鍵から独立して導出されてもよく、したがって、マスター鍵及び対称鍵は決して送信されないこともある。他の実施例では、第1のチャレンジは、カードの秘密鍵によって暗号化されてもよく、ここで、送信された公開鍵は、秘密鍵によって暗号化された第1のチャレンジを復号するように構成されてもよい。
【0063】
鍵の多様化に関して、また、限定することなく、カードは、多様化マスター鍵のようなカード鍵を含んでもよく、サーバは、マスター鍵のような、それ自体のサーバ鍵を含んでもよい。カードは、多様化マスター鍵、1つ又は複数の暗号アルゴリズム、及びカウンタ値を用いて、多様化鍵を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて、カウンタ値を含む暗号結果を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて送信データを暗号化し、暗号化された送信データを生成するように構成されてもよい。暗号化された送信データ及び暗号結果は、カードによって、復号のため、例えばサーバに送信されてもよい。
【0064】
サーバは、サーバマスター鍵及び一意の識別子に基づいて、認証多様化鍵を生成するように構成されてもよい。サーバは、認証多様化鍵に基づいてセッション鍵を生成するように構成されてもよい。サーバは、暗号化された送信データを復号し、また、1つ又は複数の暗号アルゴリズム及びセッション鍵を用いて、受信された暗号結果を検証するように構成されてもよい。
【0065】
ブロック325において、方法300は、第1のチャレンジを送信することを含んでもよい。例えば、サーバは、暗号化された第1のチャレンジをクライアント装置のアプリケーションに送信するように構成されてもよい。いくつかの実施例では、サーバは、カード又は装置のアプリケーションから受信されたバージョン番号に基づいて、暗号化された第1のチャレンジを送信するように構成されてもよい。いくつかの実施例では、クライアント装置のアプリケーションは、暗号化された第1のチャレンジを、コマンド-アプリケーションプロトコルデータ単位(C-APDU)の一部として、カードに送信するように構成されてもよい。
【0066】
ブロック330において、方法300は、第1のチャレンジに応答して、第2の暗号文を含む第2のレスポンスを受信することを含んでもよい。例えば、サーバは、カードから、第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。いくつかの実施例では、サーバは、クライアント装置のアプリケーションから、第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。カードは、クライアント装置のアプリケーションから受信された、暗号化された第1のチャレンジを復号するように構成されてもよい。いくつかの実施例では、第1のチャレンジは、クライアント装置のアプリケーションによって暗号化されずに送信され、カードの1つ又は複数のプロセッサによって受信されてもよい。カードの1つ又は複数のプロセッサは、カードの発行者に関連付けられたサーバのような秘密鍵ホルダが、それが正しく組み合わされたか、それとも公開鍵検証を介して組み合わされたかを検証しうるような方法で、第1のチャレンジと、1つ又は複数のプライベートなカード鍵とを組み合わせるように構成されてもよい。第1のチャレンジが暗号化される場合、カードは、復号された第1のチャレンジを、レスポンス-アプリケーションプロトコルデータ単位(R-APDU)の一部として、クライアント装置のアプリケーションに送信するように構成されてもよい。レスポンスは、第2のレスポンスであり、第1のチャレンジを計算に組み込む第2の暗号文を含んでもよく、それは、1つ又は複数のプライベートなカード鍵と組み合わされてもよく、又は、署名されているメッセージの一部であってもよい。カードは、第2の暗号文を、その送信前に暗号化するように構成されてもよい。レスポンスもまた、秘密ソルトのような乱数を含んでもよく、それは、サーバによる基準乱数又は秘密ソルトとの比較による検証のために送信される。いくつかの実施例では、カードは、暗号文の暗号化前に、乱数及びレスポンスに対する1つ又は複数の論理演算、例えば、AND、OR、XOR、NOTを実行するように構成されてもよい。カードは、任意の装置の1つ又は複数の通信フィールドへの入力の後に、第2の暗号文のようなデータを送信するように構成されてもよい。例えば、カードは、装置の第1の通信フィールドへの第2の入力の後に、第2の暗号文を送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。
【0067】
ブロック335において、方法300は、第2のレスポンスを認証することを含んでもよい。例えば、サーバは、第2の暗号文の検証により、第2のレスポンスを認証するように構成されてもよい。例えば、サーバは、第2の暗号文を復号するように構成されてもよい。第2の暗号文の復号の結果の決定に基づいて、サーバは、1つ又は複数の結果をクライアント装置のアプリケーションに送信するように構成されてもよい。
【0068】
図4は、例示的な実施形態に係る認証の処理のシーケンス図400を示す。図4は、システム100の同じ又は同様の構成要素、図2A及び図2Bの第1の装置200、及び図3の方法300を参照してもよい。
【0069】
ステップ405において、サーバは第1の要求を送信するように構成されてもよい。例えば、第1の要求は認証要求を含んでもよい。クライアント装置のアプリケーションは第1の要求を受信するように構成されてもよい。ステップ410において、クライアント装置のアプリケーションは第1の要求の一部としてカードの1つ又は複数の読み取りを行うように構成されてもよい。例えば、アプリケーションは、近距離無線通信読み取りのような、カードのタグの読み取りを行うように構成されてもよい。
【0070】
ステップ415において、カードは第1の暗号文を送信するように構成されてもよい。カードは通信インターフェースを介して第1の読み取りのような任意の装置(読み取られたことに応答するデータ)の1つ又は複数の通信フィールドへのエントリの後に送信するように構成されてもよい。例えば、カードは、装置の第1の通信フィールドへの第1の入力の後に、第1の暗号文を送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。クライアント装置のアプリケーションは、カードによって送信されたレスポンスから第1の暗号文及び公開鍵を受信するように構成されてもよい。いくつかの実施例では、カードの1つ又は複数のプロセッサは、共有された秘密情報を用いて第1の暗号文を生成し、クライアント装置のアプリケーションに送信するように構成されてもよい。いくつかの実施例では、レスポンスは第1のレスポンスを含んでもよい。第1のレスポンスは、カードのタグの第1の読み取りに基づいて生成されてもよい。第1のレスポンスはまた、カードに関連付けられたバージョン番号を含んでもよい。いくつかの実施例では、カードは、第1の暗号文を、その送信前に暗号化するように構成されてもよい。例えば、第1のレスポンスは、カードの一意の識別子と、カウンタと、使用される1つ又は複数の暗号アルゴリズムの変更を可能にするカードのバージョン番号と、MACとして作用する第1の暗号文との任意の組み合わせも含んでもよい。いくつかの実施例では、第1のレスポンスは公開鍵ディジタル署名を含んでもよい。他の実施例では、第1のレスポンスは、1つ又は複数の対称鍵又は導出されたセッション鍵を用いた、MAC内部の暗号化構造を備えてもよい。例えば、カードは、カードのカウンタと組み合わされた秘密鍵を用いて、第1のセッション鍵及び第2のセッション鍵のような複数のセッション鍵を生成するように構成されてもよい。MACは、第1のセッション鍵を用いて生成されてもよい。MACは、その送信前に、復号及び検証のために、第2のセッション鍵を用いて暗号化されてもよい。いくつかの実施例では、サーバによるチャレンジ検証のような、後のチャレンジ検証に、公開鍵もまた使用される場合、公開鍵は、クリア又は暗号化されていない状態でカードによって送信されてもよく、又は代替として、公開鍵は、カードからの送信前に、MACとともに暗号化されてもよい。さらに、MAC構成において使用されるメッセージもまた、さらなるセキュリティのために、1つ又は複数の共有される秘密情報を含んでもよい。サーバは、一意の識別子及びマスター鍵を用いて、一意の導出された鍵を生成するように構成されてもよい。サーバは、一意の導出された鍵及びカウンタからセッション鍵を生成するように構成されてもよい。サーバは、第1の暗号文からの暗号化されたMACを復号するように構成されてもよい。サーバは、セッション鍵を用いてMACを検証するように構成されてもよい。
【0071】
ステップ420において、クライアント装置のアプリケーションはカードによるレスポンスからサーバに第1の暗号文及び公開鍵を送信するように構成されてもよい。いくつかの実施例では、サーバは、カードによって送信されたレスポンスから第1の暗号文及び公開鍵を受信するように構成されてもよい。サーバは、第1の暗号文を復号するように構成されてもよい。
【0072】
サーバは、第1のレスポンスに基づいて第1のチャレンジを生成するように構成されてもよい。サーバは、対称鍵のような鍵を用いて第1のチャレンジを暗号化するように構成されてもよい。また、サーバは、秘密ソルトのような乱数を生成するように構成されてもよい。この乱数は、トランザクションに関連付けられ、また、送信される第1のチャレンジに含まれる。乱数は、サーバによって生成されてもよく、各トランザクションに関して一意であってもよい。例えば、第1のチャレンジは、カードの一意の識別子と、カードのカウンタと、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算と組み合わされてもよい。いくつかの実施例では、第1のチャレンジは、1つ又は複数の対称鍵を用いて暗号化されてもよい。例えば、カードは、サーバにも知られたそれ自体の対称鍵を含んでもよく、又は、鍵の多様化を介して導出されてもよい。いくつかの実施例では、1つ又は複数の一意の導出された鍵は、1つ又は複数の秘密マスター鍵と、カードの一意の識別子とを組み合わせることに基づいて生成されてもよい。カード及びサーバの両方において、対称鍵は、マスター鍵から独立して導出されてもよく、したがって、マスター鍵及び対称鍵は決して送信されないこともある。他の実施例では、第1のチャレンジは、カードの秘密鍵によって暗号化されてもよく、ここで、送信された公開鍵は、秘密鍵によって暗号化された第1のチャレンジを復号するように構成されてもよい。
【0073】
鍵の多様化に関して、また、限定することなく、カードは、多様化マスター鍵のようなカード鍵を含んでもよく、サーバは、マスター鍵のような、それ自体のサーバ鍵を含んでもよい。カードは、多様化マスター鍵、1つ又は複数の暗号アルゴリズム、及びカウンタ値を用いて、多様化鍵を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて、カウンタ値を含む暗号結果を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて送信データを暗号化し、暗号化された送信データを生成するように構成されてもよい。暗号化された送信データ及び暗号結果は、カードによって、復号のため、例えばサーバに送信されてもよい。
【0074】
サーバは、サーバマスター鍵及び一意の識別子に基づいて、認証多様化鍵を生成するように構成されてもよい。サーバは、認証多様化鍵に基づいてセッション鍵を生成するように構成されてもよい。サーバは、暗号化された送信データを復号し、また、1つ又は複数の暗号アルゴリズム及びセッション鍵を用いて、受信された暗号結果を検証するように構成されてもよい。
【0075】
第1のチャレンジは、第1の予め決められた継続時間に関連付けられてもよい。したがって、第1のチャレンジは時間的に限定されてもよい。例えば、サーバは、第1の予め決められた継続時間の満了の後に、各予め決められた継続時間にそれぞれ関連付けられる1つ又は複数の追加のチャレンジを生成するように構成されてもよい。例えば、サーバは、第1の予め決められた継続時間の満了後、第2の予め決められた継続時間に関連付けられた第2のチャレンジを生成するように構成されてもよい。このように、予め決められた継続時間に関連付けられた新たな暗号化されたチャレンジが、復号のための限られた時間を割り当てるように、生成及び送信されてもよい。
【0076】
いくつかの実施例では、サーバは、1つ又は複数のファクタに基づいて第1のチャレンジを生成するように構成されてもよい。例えば、1つ又は複数のファクタは、第1の読み取りにおいて返信されたバージョン番号と、予め決められたタイプのトランザクションの決定とを含んでもよい。例えば、第1のチャレンジは、第1の読み取りで得られたバージョン番号に基づいて生成されてもよい。例えば、サーバは、認証要求に関連付けられたトランザクションがハイリスクのトランザクションであるか否かを決定するように構成されてもよい。サーバは、アカウントデータ、トランザクション履歴データ、トランザクション量、同じ又は同様のトランザクションに関連付けられた以前のタイムスタンプ、以前のユーザ認証の試行及び結果、異常な又は疑わしい地理的場所、異常な又は疑わしい商人、異常な又は疑わしい詐欺的商人、及び/又はそれらの任意の組み合わせのグループから選択された1つ又は複数を含む、1つ又は複数のパラメータの評価に基づいて、トランザクションがハイリスクであるか否かを決定するように構成されてもよい。
【0077】
ステップ425において、サーバはクライアント装置のアプリケーションに対する暗号化された第1のチャレンジを送信するように構成されてもよい。いくつかの実施例では、サーバは、カード又は装置のアプリケーションから受信されたバージョン番号に基づいて、暗号化された第1のチャレンジを送信するように構成されてもよい。クライアント装置のアプリケーションはサーバから暗号化された第1のチャレンジを受信するように構成されてもよい。
【0078】
ステップ430において、クライアント装置のアプリケーションはカードにコマンドアプリケーションプロトコルデータ単位(C-APDU)の一部として暗号化された第1のチャレンジを送信するように構成されてもよい。
【0079】
ステップ435において、カードはクライアント装置のアプリケーションから受信された暗号化された第1のチャレンジを復号するように構成されてもよい。いくつかの実施例では、第1のチャレンジは、クライアント装置のアプリケーションによって暗号化されずに送信され、カードの1つ又は複数のプロセッサによって受信されてもよい。カードの1つ又は複数のプロセッサは、カードの発行者に関連付けられたサーバのような秘密鍵ホルダが、それが正しく組み合わされたか、それとも公開鍵検証を介して組み合わされたかを検証しうるような方法で、第1のチャレンジと、1つ又は複数のプライベートなカード鍵とを組み合わせるように構成されてもよい。第1のチャレンジが暗号化される場合、カードは、復号された第1のチャレンジを、レスポンス-アプリケーションプロトコルデータ単位(R-APDU)の一部として、クライアント装置のアプリケーションに送信するように構成されてもよい。レスポンスは、第2のレスポンスであり、第1のチャレンジを計算に組み込む第2の暗号文を含んでもよく、それは、1つ又は複数のプライベートなカード鍵と組み合わされてもよく、又は、署名されているメッセージの一部であってもよい。カードは、第2の暗号文を、その送信前に暗号化するように構成されてもよい。レスポンスもまた、秘密ソルトのような乱数を含んでもよく、それは、サーバによる基準乱数又は秘密ソルトとの比較による検証のために送信される。いくつかの実施例では、カードは第2の暗号文の暗号化に先立ったレスポンスを備えた乱数の、1つ又は複数の論理演算(例えばAND、OR、XOR、NOT)を実行するように構成されてもよい。カードは、任意の装置の1つ又は複数の通信フィールドへの入力の後に、第2の暗号文のようなデータを送信するように構成されてもよい。例えば、カードは、装置の第1の通信フィールドへの第2の入力の後に、第2の暗号文を送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。
【0080】
ステップ440において、サーバは第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。いくつかの実施例では、サーバは、クライアント装置のアプリケーションから、第2の暗号文を含む第2のレスポンスを受信するように構成されてもよい。サーバは第2の暗号文の検証で第2のレスポンスを認証するように構成されてもよい。例えば、サーバは、第2の暗号文を復号するように構成されてもよい。第2の暗号文の復号の結果の決定に基づいて、サーバは、1つ又は複数の結果をクライアント装置のアプリケーションに送信するように構成されてもよい。
【0081】
ステップ445において、サーバは、第2の暗号文が検証される場合、成功の認証メッセージを送信するように構成されてもよい。例えば、サーバは、成功の認証メッセージをクライアント装置のアプリケーションに送信するように構成されてもよい。他の実施例では、サーバは、第2の暗号文が検証されない場合、失敗の認証メッセージを送信するように構成されてもよい。例えば、サーバは、失敗の認証メッセージをクライアント装置のアプリケーションに送信するように構成されてもよい。第2の暗号文が検証されない場合、サーバは認証処理を終了してもよい。もう1つの実施例では、サーバは、認証要求を再送信することによって、又は、異なるチャレンジを生成及び暗号化及び送信することによって、ただしこれらに限定することなく、認証処理を再開するように構成されてもよい。
【0082】
図5は、例示的な実施形態に係る認証の方法500を示す。図5は、システム100の同じ又は同様の構成要素、図2A及び図2Bの第1の装置200、図3の方法300、及び図4のシーケンス図400を参照してもよい。
【0083】
ブロック505において、方法500は、認証要求に応答して、タグの読み取りに基づて第1の暗号文を生成することを含んでもよい。例えば、クライアント装置のアプリケーションは、カードの1つ又は複数の読み取りを行うように構成されてもよい。例えば、アプリケーションは、近距離無線通信読み取りのような、カードのタグの読み取りを行うように構成されてもよい。
【0084】
ブロック510において、方法500は、第1の暗号文及び公開鍵及びバージョン番号を含む、第1のレスポンスを送信することを含んでもよい。第1の暗号文は、要求に応じて、近距離無線通信データ交換フォーマット(NDEF)の読み取りを介して受信されてもよい。カードは、第1の暗号文を送信するように構成されてもよい。カードは、任意の装置の1つ又は複数の通信フィールドへの入力の後に、第1の読み取りのような読み取りに応答してデータを送信するように構成されてもよい。例えば、カードは、装置の第1の通信フィールドへの第1の入力の後に、第1の暗号文を送信するように構成されてもよい。いくつかの実施例では、カードの1つ又は複数のプロセッサは、共有された秘密情報を用いて第1の暗号文を生成し、クライアント装置のアプリケーションに送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。第1のレスポンスは、カードのタグの第1の読み取りに基づいて生成されてもよい。第1のレスポンスはまた、カードに関連付けられたバージョン番号を含んでもよい。いくつかの実施例では、カードは、第1の暗号文を、その送信前に暗号化するように構成されてもよい。例えば、第1のレスポンスは、カードの一意の識別子と、カウンタと、使用される1つ又は複数の暗号アルゴリズムの変更を可能にするカードのバージョン番号と、MACとして作用する第1の暗号文との任意の組み合わせも含んでもよい。いくつかの実施例では、第1のレスポンスは公開鍵ディジタル署名を含んでもよい。他の実施例では、第1のレスポンスは、1つ又は複数の対称鍵又は導出されたセッション鍵を用いた、MAC内部の暗号化構造を備えてもよい。例えば、カードは、カードのカウンタと組み合わされた秘密鍵を用いて、第1のセッション鍵及び第2のセッション鍵のような複数のセッション鍵を生成するように構成されてもよい。MACは、第1のセッション鍵を用いて生成されてもよい。MACは、その送信前に、復号及び検証のために、第2のセッション鍵を用いて暗号化されてもよい。いくつかの実施例では、サーバによるチャレンジ検証のような、後のチャレンジ検証に、公開鍵もまた使用される場合、公開鍵は、クリア又は暗号化されていない状態でカードによって送信されてもよく、又は代替として、公開鍵は、カードからの送信前に、MACとともに暗号化されてもよい。さらに、MAC構成において使用されるメッセージもまた、さらなるセキュリティのために、1つ又は複数の共有される秘密情報を含んでもよい。サーバは、一意の識別子及びマスター鍵を用いて、一意の導出された鍵を生成するように構成されてもよい。サーバは、一意の導出された鍵及びカウンタからセッション鍵を生成するように構成されてもよい。サーバは、第1の暗号文からの暗号化されたMACを復号するように構成されてもよい。サーバは、セッション鍵を用いてMACを検証するように構成されてもよい。
【0085】
ブロック515において、方法500は、コマンド-アプリケーションプロトコルデータ単位(C-APDU)を介して、暗号化された第1のチャレンジを受信することを含んでもよい。例えば、サーバは、受信及び認証された第1のレスポンスに基づいて、第1のチャレンジを生成するように構成されてもよい。サーバは、カードによって送信された第1の暗号文を復号するように構成されてもよい。サーバは、対称鍵のような鍵を用いて第1のチャレンジを暗号化するように構成されてもよい。例えば、第1のチャレンジは、カードの一意の識別子と、カードのカウンタと、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算と組み合わされてもよい。いくつかの実施例では、第1のチャレンジは、1つ又は複数の対称鍵を用いて暗号化されてもよい。例えば、カードは、サーバにも知られたそれ自体の対称鍵を含んでもよく、又は、鍵の多様化を介して導出されてもよい。いくつかの実施例では、1つ又は複数の一意の導出された鍵は、1つ又は複数の秘密マスター鍵と、カードの一意の識別子とを組み合わせることに基づいて生成されてもよい。カード及びサーバの両方において、対称鍵は、マスター鍵から独立して導出されてもよく、したがって、マスター鍵及び対称鍵は決して送信されないこともある。他の実施例では、第1のチャレンジは、カードの秘密鍵によって暗号化されてもよく、ここで、送信された公開鍵は、秘密鍵によって暗号化された第1のチャレンジを復号するように構成されてもよい。
【0086】
鍵の多様化に関して、また、限定することなく、カードは、多様化マスター鍵のようなカード鍵を含んでもよく、サーバは、マスター鍵のような、それ自体のサーバ鍵を含んでもよい。カードは、多様化マスター鍵、1つ又は複数の暗号アルゴリズム、及びカウンタ値を用いて、多様化鍵を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて、カウンタ値を含む暗号結果を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて送信データを暗号化し、暗号化された送信データを生成するように構成されてもよい。暗号化された送信データ及び暗号結果は、カードによって、復号のため、例えばサーバに送信されてもよい。
【0087】
サーバは、サーバマスター鍵及び一意の識別子に基づいて、認証多様化鍵を生成するように構成されてもよい。サーバは、認証多様化鍵に基づいてセッション鍵を生成するように構成されてもよい。サーバは、暗号化された送信データを復号し、また、1つ又は複数の暗号アルゴリズム及びセッション鍵を用いて、受信された暗号結果を検証するように構成されてもよい。
【0088】
サーバは、暗号化された第1のチャレンジをクライアント装置のアプリケーションに送信するように構成されてもよい。いくつかの実施例では、サーバは、カード又は装置のアプリケーションから受信されたバージョン番号に基づいて、暗号化された第1のチャレンジを送信するように構成されてもよい。また、サーバは、秘密ソルトのような乱数を生成するように構成されてもよい。この乱数は、トランザクションに関連付けられ、また、送信される第1のチャレンジに含まれる。乱数は、サーバによって生成されてもよく、各トランザクションに関して一意であってもよい。例えば、乱数は、高いエントロピーを有するビット列を含んでもよい。いくつかの実施例では、乱数は、MAC計算における追加の構成要素として作用し、任意の長さを含んでもよい。他の実施例では、乱数は、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算のような合成のために、メッセージと同じ長さであってもよい。
【0089】
第1のチャレンジは、第1の予め決められた継続時間に関連付けられてもよい。したがって、第1のチャレンジは時間的に限定されてもよい。例えば、サーバは、第1の予め決められた継続時間の満了の後に、各予め決められた継続時間にそれぞれ関連付けられる1つ又は複数の追加のチャレンジを生成するように構成されてもよい。例えば、サーバは、第1の予め決められた継続時間の満了後、第2の予め決められた継続時間に関連付けられた第2のチャレンジを生成するように構成されてもよい。このように、予め決められた継続時間に関連付けられた新たな暗号化されたチャレンジが、復号のための限られた時間を割り当てるように、生成及び送信されてもよい。
【0090】
いくつかの実施例では、サーバは、1つ又は複数のファクタに基づいて第1のチャレンジを生成するように構成されてもよい。例えば、1つ又は複数のファクタは、第1の読み取りにおいて返信されたバージョン番号と、予め決められたタイプのトランザクションの決定とを含んでもよい。例えば、第1のチャレンジは、第1の読み取りで得られたバージョン番号に基づいて生成されてもよい。例えば、サーバは、認証要求に関連付けられたトランザクションがハイリスクのトランザクションであるか否かを決定するように構成されてもよい。サーバは、アカウントデータ、トランザクション履歴データ、トランザクション量、同じ又は同様のトランザクションに関連付けられた以前のタイムスタンプ、以前のユーザ認証の試行及び結果、異常な又は疑わしい地理的場所、異常な又は疑わしい商人、異常な又は疑わしい詐欺的商人、及び/又はそれらの任意の組み合わせのグループから選択された1つ又は複数を含む、1つ又は複数のパラメータの評価に基づいて、トランザクションがハイリスクであるか否かを決定するように構成されてもよい。
【0091】
ブロック520において、方法500は、暗号化された第1のチャレンジを復号することを含んでもよい。例えば、カードは、クライアント装置のアプリケーションから受信された、暗号化された第1のチャレンジを復号するように構成されてもよい。いくつかの実施例では、第1のチャレンジは、クライアント装置のアプリケーションによって暗号化されずに送信され、カードの1つ又は複数のプロセッサによって受信されてもよい。カードの1つ又は複数のプロセッサは、カードの発行者に関連付けられたサーバのような秘密鍵ホルダが、それが正しく組み合わされたか、それとも公開鍵検証を介して組み合わされたかを検証しうるような方法で、第1のチャレンジと、1つ又は複数のプライベートなカード鍵とを組み合わせるように構成されてもよい。
【0092】
ブロック525において、方法500は、第2の暗号文を生成することを含んでもよい。レスポンスは、第2のレスポンスであり、第1のチャレンジを計算に組み込む第2の暗号文を含んでもよく、それは、1つ又は複数のプライベートなカード鍵と組み合わされてもよく、又は、署名されているメッセージの一部であってもよい。カードは、第2の暗号文を、その送信前に暗号化するように構成されてもよい。いくつかの実施例では、カードは、第2の暗号文の暗号化前に、乱数及びレスポンスに対する1つ又は複数の論理演算、例えば、AND、OR、XOR、NOTを実行するように構成されてもよい。
【0093】
ブロック530において、方法500は、コマンド-アプリケーションプロトコルデータ単位に応答して、第2の暗号文を含む第2のレスポンスを送信することを含んでもよい。カードは、復号された第1のチャレンジを、レスポンス-アプリケーションプロトコルデータ単位(R-APDU)の一部として、クライアント装置のアプリケーションに送信するように構成されてもよい。レスポンスもまた、秘密ソルトのような乱数を含んでもよく、それは、サーバによる基準乱数又は秘密ソルトとの比較による検証のために送信される。カードは、任意の装置の1つ又は複数の通信フィールドへの入力の後に、第2の暗号文のようなデータを送信するように構成されてもよい。例えば、カードは、装置の第1の通信フィールドへの第2の入力の後に、第2の暗号文及び乱数を含む第2のレスポンスを送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。
【0094】
図6は、例示的な実施形態に係る認証の方法600を示す。図6は、システム100の同じ又は同様の構成要素、図2A及び図2Bの第1の装置200、図3の方法300、図4のシーケンス図400、及び図5の方法500を参照してもよい。
【0095】
ブロック605において、方法600は、チャレンジを生成することを含んでもよい。例えば、サーバは、チャレンジを生成するように構成されてもよい。いくつかの実施例では、装置のアプリケーションは、チャレンジを生成するように構成されてもよい。また、装置のアプリケーションのサーバは、秘密ソルトのような乱数を生成するように構成されてもよい。この乱数は、トランザクションに関連付けられ、また、送信されるチャレンジに含まれる。乱数は、装置のアプリケーションのサーバによって生成されてもよく、各トランザクションに関して一意であってもよい。例えば、乱数は、高いエントロピーを有するビット列を含んでもよい。いくつかの実施例では、乱数は、MAC計算における追加の構成要素として作用し、任意の長さを含んでもよい。他の実施例では、乱数は、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算のような合成のために、メッセージと同じ長さであってもよい。
【0096】
いくつかの実施例では、サーバは、1つ又は複数のファクタに基づいてチャレンジを生成するように構成されてもよい。例えば、1つ又は複数のファクタは、あるカードに関連付けられ、かつ、ある読み取りにおいて返信されたバージョン番号と、予め決められたタイプのトランザクションの決定とを含んでもよい。例えば、チャレンジは、読み取りで得られたバージョン番号に基づいて生成されてもよい。サーバは、認証要求に関連付けられたトランザクションがハイリスクのトランザクションであるか否かを決定するように構成されてもよい。サーバは、アカウントデータ、トランザクション履歴データ、トランザクション量、同じ又は同様のトランザクションに関連付けられた以前のタイムスタンプ、以前のユーザ認証の試行及び結果、異常な又は疑わしい地理的場所、異常な又は疑わしい商人、異常な又は疑わしい詐欺的商人、及び/又はそれらの任意の組み合わせのグループから選択された1つ又は複数を含む、1つ又は複数のパラメータの評価に基づいて、トランザクションがハイリスクであるか否かを決定するように構成されてもよい。
【0097】
チャレンジは、予め決められた継続時間に関連付けられてもよい。したがって、チャレンジは時間的に限定されてもよい。例えば、サーバは、予め決められた継続時間の満了の後に、各予め決められた継続時間にそれぞれ関連付けられる1つ又は複数の追加のチャレンジを生成するように構成されてもよい。例えば、サーバは、予め決められた継続時間の満了後、第2の予め決められた継続時間に関連付けられた第2のチャレンジを生成するように構成されてもよい。このように、予め決められた継続時間に関連付けられた新たな暗号化されたチャレンジが、復号のための限られた時間を割り当てるように、生成及び送信されてもよい。
【0098】
ブロック610において、方法600は、チャレンジを暗号化することを含んでもよい。例えば、サーバは、対称鍵のような鍵を用いてチャレンジを暗号化するように構成されてもよい。他の実施例では、装置のアプリケーションは、鍵を用いてチャレンジを暗号化するように構成されてもよい。例えば、チャレンジは、カードの一意の識別子と、カードのカウンタと、AND、OR、XOR、NOTを含むがこれらに限定されない1つ又は複数の論理演算と組み合わされてもよい。いくつかの実施例では、チャレンジは、1つ又は複数の対称鍵を用いて暗号化されてもよい。例えば、カードは、サーバにも知られたそれ自体の対称鍵、又は、装置において実行される命令を含むアプリケーションにも知られたそれ自体の対称鍵を含んでもよく、又は、鍵の多様化を介して導出されてもよい。いくつかの実施例では、1つ又は複数の一意の導出された鍵は、1つ又は複数の秘密マスター鍵と、カードの一意の識別子とを組み合わせることに基づいて生成されてもよい。カード又はサーバ又はアプリケーションにおいて、対称鍵は、マスター鍵とは独立ぶ導出され、したがって決して送信されることはない。他の実施例では、第1のチャレンジは、カードの秘密鍵によって暗号化されてもよく、ここで、送信された公開鍵は、秘密鍵によって暗号化された第1のチャレンジを復号するように構成されてもよい。
【0099】
鍵の多様化に関して、また、限定することなく、カードは、多様化マスター鍵のようなカード鍵を含んでもよく、サーバは、マスター鍵のような、それ自体のサーバ鍵を含んでもよい。カードは、多様化マスター鍵、1つ又は複数の暗号アルゴリズム、及びカウンタ値を用いて、多様化鍵を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて、カウンタ値を含む暗号結果を生成するように構成されてもよい。カードは、1つ又は複数の暗号アルゴリズム及び多様化鍵を用いて送信データを暗号化し、暗号化された送信データを生成するように構成されてもよい。暗号化された送信データ及び暗号結果は、カードによって、復号のため、例えばサーバに送信されてもよい。
【0100】
サーバは、サーバマスター鍵及び一意の識別子に基づいて、認証多様化鍵を生成するように構成されてもよい。サーバは、認証多様化鍵に基づいてセッション鍵を生成するように構成されてもよい。サーバは、暗号化された送信データを復号し、また、1つ又は複数の暗号アルゴリズム及びセッション鍵を用いて、受信された暗号結果を検証するように構成されてもよい。
【0101】
ブロック615において、方法600は、チャレンジを送信することを含んでもよい。例えば、サーバは、暗号化されたチャレンジをクライアント装置のアプリケーションに送信するように構成されてもよい。いくつかの実施例では、サーバは、カード又は装置のアプリケーションから受信されたバージョン番号に基づいて、暗号化されたチャレンジを送信するように構成されてもよい。他の実施例では、装置のアプリケーションは、チャレンジを送信するように構成されてもよい。例えば、クライアント装置のアプリケーションは、暗号化されたチャレンジを、コマンド-アプリケーションプロトコルデータ単位(C-APDU)の一部として、カードに送信するように構成されてもよい。
【0102】
ブロック620において、方法600は、レスポンスを受信することを含んでもよい。例えば、サーバは、レスポンスを受信するように構成されてもよい。他の実施例では、装置のアプリケーションは、レスポンスを受信するように構成されてもよい。レスポンスは、送信されたチャレンジに応答して送信されてもよい。サーバは、カードから、暗号文を含むレスポンスを受信するように構成されてもよい。いくつかの実施例では、サーバは、クライアント装置のアプリケーションから、暗号文を含むレスポンスを受信するように構成されてもよい。
【0103】
カードは、クライアント装置のアプリケーションから受信された、暗号化されたチャレンジを復号するように構成されてもよい。いくつかの実施例では、第1のチャレンジは、クライアント装置のアプリケーションによって暗号化されずに送信され、カードの1つ又は複数のプロセッサによって受信されてもよい。カードの1つ又は複数のプロセッサは、カードの発行者に関連付けられたサーバのような秘密鍵ホルダが、それが正しく組み合わされたか、それとも公開鍵検証を介して組み合わされたかを検証しうるような方法で、第1のチャレンジと、1つ又は複数のプライベートなカード鍵とを組み合わせるように構成されてもよい。第1のチャレンジが暗号化される場合、カードは、復号されたチャレンジを、レスポンス-アプリケーションプロトコルデータ単位(R-APDU)の一部として、クライアント装置のアプリケーションに送信するように構成されてもよい。レスポンスはレスポンスであり、暗号文を含んでもよい。カードは、暗号文を、その送信前に暗号化するように構成されてもよい。レスポンスもまた、秘密ソルトのような乱数を含んでもよく、それは、サーバによる基準乱数又は秘密ソルトとの比較による検証のために送信される。いくつかの実施例では、カードは、暗号文の暗号化前に、乱数及びレスポンスに対する1つ又は複数の論理演算、例えば、AND、OR、XOR、NOTを実行するように構成されてもよい。カードは、任意の装置の1つ又は複数の通信フィールドへの入力の後に、暗号文のようなデータを送信するように構成されてもよい。例えば、カードは、装置の通信フィールドへの入力の後に、暗号文を送信するように構成されてもよい。限定することなく、各入力は、タップ、スワイプ、ウェーブ、及び/又はそれらの任意の組み合わせに関連付けられてもよい。
【0104】
ブロック625において、方法600は、暗号文を復号することを含んでもよい。例えば、サーバは、レスポンスから、受信された暗号文を復号するように構成されてもよい。他の実施例では、装置のアプリケーションは、レスポンスから、受信された暗号文を復号するように構成されてもよい。サーバは、暗号文の検証により、レスポンスを認証するように構成されてもよい。例えば、サーバは、暗号文を復号するように構成されてもよい。
【0105】
ブロック630において、方法600は、暗号文の復号の状態に基づく結果を送信することを含んでもよい。例えば、暗号文の復号の結果の決定に基づいて、サーバは、1つ又は複数の結果をクライアント装置のアプリケーションに送信するように構成されてもよい。1つ又は複数の結果は、復号状態を示してもよい。いくつかの実施例では、サーバは、暗号文が検証される場合、成功の認証メッセージを送信するように構成されてもよい。例えば、サーバは、成功の認証メッセージをクライアント装置のアプリケーションに送信するように構成されてもよい。他の実施例では、サーバは、暗号文が検証されない場合、失敗の認証メッセージを送信するように構成されてもよい。例えば、サーバは、失敗の認証メッセージをクライアント装置のアプリケーションに送信するように構成されてもよい。暗号文が検証されない場合、サーバは認証処理を終了してもよい。もう1つの実施例では、サーバは、認証要求を再送信することによって、又は、異なるチャレンジを生成及び暗号化及び送信することによって、ただしこれらに限定することなく、認証処理を再開するように構成されてもよい。
【0106】
本願において説明したシステム及び方法は、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、ハードドライブ、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、及びデータ記憶可能な他の物理媒体のような、ただしこれらに限定されない物理的媒体のうちの1つとして、有形物として具体化されてもよいことはさらに注意される。例えば、データ記憶装置は、ランダムアクセスメモリ(RAM)及び読み出し専用メモリ(ROM)を含んでもよく、これらは、データ及び情報及びコンピュータプログラム命令をアクセス及び格納するように構成されてもよい。データ記憶装置は、記憶媒体又は他の適切なタイプのメモリ(例えば、RAM、ROM、プログラマブル読み出し専用メモリ(PROM)、消去可能プログラマブル読み出し専用メモリ(EPROM)、電気的消去可能プログラマブル読み出し専用メモリ(EEPROM)、磁気ディスク、光ディスク、フロッピーディスク、ハードディスク、取り外し可能なカートリッジ、フラッシュドライブ、任意のタイプの有形かつ非一時的な記憶媒体、など)を含んでもよく、ここで、オペレーティングシステム、例えば、ウェブブラウザアプリケーション、電子メールアプリケーション、及び/又は他のアプリケーションを含むアプリケーションプログラム、及びデータファイルを含むファイルが格納されてもよい。ネットワーク機能を有するコンピュータシステムのデータ記憶装置は、例えば、フラットファイル、インデックスされたファイル、階層型データベース、例えばOracle(登録商標)コーポレイションからのソフトウェアを用いて作成及び維持されるデータベースのようなリレーショナルデータベース、Microsoft(登録商標)エクセルファイル、Microsoft(登録商標)アクセスファイル、フラッシュアレイを含んでもよいソリッドステート記憶装置、ハイブリッドアレイ、又はサーバサイド製品、オンライン又はクラウド記憶装置を含んでもよい企業用記憶装置、又は他の任意の記憶メカニズムを含む、様々な方法で格納された電子情報、ファイル、及び文書を含んでもよい。また、図面は、様々な構成要素(例えば、サーバ、コンピュータ、プロセッサなど)を別個に示す。様々な構成要素において実行されるように説明した機能は、他の構成要素において実行されてもよく、様々な構成要素は結合又は分離されてもよい。他の変更がなされてもよい。
【0107】
上述した明細書において、様々な実施形態について添付図面を参照して説明した。しかしながら、そこに様々な変形及び変更が行なわれてもよく、特許請求の範囲に記載の本発明のより広い範囲から離れることなく、追加の実施形態が実施されてもよいことは明らかであろう。従って、明細書及び図面は、限定的な意味ではなく、例示的な意味であるとみなされるべきである。
図1
図2A
図2B
図3
図4
図5
図6
【国際調査報告】