(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-26
(54)【発明の名称】商品およびサービスを提供するために非接触カードを用いた認証および支払い動作を実行するための技術およびシステム
(51)【国際特許分類】
H04L 9/32 20060101AFI20240918BHJP
G06Q 20/34 20120101ALI20240918BHJP
【FI】
H04L9/32 200A
H04L9/32 200E
G06Q20/34
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024509473
(86)(22)【出願日】2022-08-12
(85)【翻訳文提出日】2024-04-16
(86)【国際出願番号】 US2022040144
(87)【国際公開番号】W WO2023022927
(87)【国際公開日】2023-02-23
(32)【優先日】2021-08-18
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】バルガス,クルス
(72)【発明者】
【氏名】イー,ブライアント
(72)【発明者】
【氏名】ピーターズ,ジョシュア
(72)【発明者】
【氏名】チャウダリー,ヴィラジ
【テーマコード(参考)】
5L020
【Fターム(参考)】
5L020AA66
(57)【要約】
本開示に記載する実施形態は、概して、商品およびサービスを提供するために、非接触カードに対する認証および支払い動作を実行するためのシステム、デバイス、方法および技術に関する。
【特許請求の範囲】
【請求項1】
非接触カードに記憶されたデータに基づいて、認証および支払い動作を実行するように構成されたシステムであって、
1つまたは複数のプロセッサとメモリとを備える1つまたは複数のサーバを備え、
前記メモリは、前記1つまたは複数のプロセッサに結合され、かつ、前記1つまたは複数のプロセッサによって実行されると、
レンタルシステムから、支払い要求と、商品のレンタルに対応する非接触カードによって生成された暗号化されたデータとを受信することと、
前記非接触カードを認証するために前記暗号化されたデータに対して1つまたは複数の認証動作を実行することと、
前記暗号化されたデータ内の情報に基づいて、前記支払い要求を処理することと、
前記非接触カードが認証され、前記商品のレンタルに対する支払いが成功したという指示を、前記レンタルシステムに送信することと、
を前記1つまたは複数のプロセッサに行わせる命令を記憶するように構成される、
システム。
【請求項2】
前記暗号化されたデータは、前記非接触カードを識別するための一意の識別子をさらに含む認証情報を含み、前記認証情報は、前記暗号化されたデータを生成するために、多様化された鍵および1つまたは複数の暗号化アルゴリズムで、前記非接触カードにより暗号化される、請求項1に記載のシステム。
【請求項3】
前記認証情報はカウンタ値をさらに備え、前記1つまたは複数のプロセッサは、記憶されたカウンタ値に基づいて前記カウンタ値を検証するために、前記1つまたは複数の認証動作を実行する、請求項2に記載のシステム。
【請求項4】
前記認証情報は共有秘密を備え、前記1つまたは複数のプロセッサは、前記共有秘密を、記憶された共有秘密と検証するために、前記1つまたは複数の認証動作を実行する、請求項2に記載のシステム。
【請求項5】
前記暗号化されたデータは、前記非接触カードによってマスター鍵から生成された多様化された鍵で暗号化され、前記1つまたは複数のプロセッサは、
記憶されたマスター鍵を用いて第2の多様化された鍵を生成し、
前記第2の多様化された鍵を用いて前記暗号化されたデータを復号し、
前記暗号化されたデータが前記第2の多様化された鍵で正常に復号されることを検証する、
ための前記認証動作を実行する、請求項1に記載のシステム。
【請求項6】
前記1つまたは複数の認証動作の前記指示を送信することは、前記商品のレンタルについての取引条件の受け入れを示す、請求項1に記載のシステム。
【請求項7】
前記1つまたは複数のプロセッサは、認証方法を呼び出す前記レンタルシステムのレンタルサーバによって呼び出される、アプリケーション・プログラミング・インターフェース(API)のコマンドに基づいて、前記暗号化されたデータを受信する、請求項1に記載のシステム。
【請求項8】
前記1つまたは複数のプロセッサは、支払い方法を呼び出す前記レンタルシステム上のレンタルサーバによって呼び出される、アプリケーション・プログラミング・インターフェース(API)のコマンドに基づいて、前記支払い要求を受信する、請求項1に記載のシステム。
【請求項9】
非接触カードに記憶されたデータを用いて実行される認証動作に基づいて、商品のレンタルを有効にするように構成されたサーバであって、
1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサに結合されたメモリと、
を備え、
前記メモリは、前記1つまたは複数のプロセッサによって実行されると、
コンピューティングデバイスから、非接触カードに記憶された暗号化されたデータと商品のレンタルに対応するレンタルデータとを受信することと、
前記暗号化されたデータを用いて認証動作を実行するために、前記暗号化されたデータを1つまたは複数のサーバに送信することと、
前記1つまたは複数のサーバから、前記非接触カードが本物であることを示す前記認証動作の結果を受信することと、
前記非接触カード、ユーザ、またはそれらの組み合わせの認証に応答して、前記商品のレンタルを有効にするための1つまたは複数の動作を実行することと、
を前記1つまたは複数のプロセッサに行わせる命令を記憶する、
サーバ。
【請求項10】
前記暗号化されたデータは、共有秘密、一意の識別子、またはそれらの組み合わせを含み、前記暗号化されたデータは、多様化された鍵および1つまたは複数の暗号化アルゴリズムで暗号化される、請求項9に記載のサーバ。
【請求項11】
前記レンタルデータは、前記商品を識別するための識別子、前記商品のレンタルに関連する価格、前記商品のレンタルに関連する取引条件、またはそれらの組み合わせのうちの1つまたは複数を含む、請求項9に記載のサーバ。
【請求項12】
前記1つまたは複数のプロセッサは、
前記暗号化されたデータ、前記レンタルデータ、またはそれらの組み合わせの少なくとも一部を前記1つまたは複数のサーバに送信し、
前記レンタルデータの一部の送信に応答して、前記商品のレンタルに対する支払いを受信する、請求項9に記載のサーバ。
【請求項13】
前記1つまたは複数のプロセッサは、
前記暗号化されたデータ、レンタルデータ、またはそれらの組み合わせの少なくとも一部を前記1つまたは複数のサーバに送信し、
前記レンタルデータの一部の送信に応答して、前記商品のレンタルについての取引条件の受け入れの指示を受信する、請求項9に記載のサーバ。
【請求項14】
前記1つまたは複数のプロセッサは、前記商品に関連付けられたコンピューティングデバイスに、前記商品のレンタルが承認されたという指示を送信する、請求項9に記載のサーバ。
【請求項15】
前記1つまたは複数のプロセッサは、前記コンピューティングデバイスに、前記商品のレンタルが承認されないという指示を送信する、請求項9に記載のサーバ。
【請求項16】
コンピューティングデバイスであって、
処理回路と、
前記処理回路に結合されたメモリとを備え、
前記メモリは、前記処理回路によって実行されると、
近距離無線通信(NFC)範囲内の非接触カードを検出することと、
1つまたは複数のNFC交換を介して、前記非接触カードから暗号化されたデータを受信することであって、前記暗号化されたデータはユーザを認証するための認証情報を含む、受信することと、
1つまたは複数のサーバに、前記暗号化されたデータおよびレンタルデータを送信することであって、前記レンタルデータは商品のレンタルに対応する、送信することと、
前記1つまたは複数のサーバから、前記商品のレンタルを有効にするための指示を受信することと、
前記指示に基づいて、前記商品のレンタルを許可するアクションを実行させることと、
を前記処理回路に行わせる命令を記憶する、
コンピューティングデバイス。
【請求項17】
前記コンピューティングデバイスは前記商品に固定されている、請求項16に記載のコンピューティングデバイス。
【請求項18】
商品は車両であり、前記アクションは、前記車両のブレーキを解除する信号を送信することである、請求項16に記載のコンピューティングデバイス。
【請求項19】
前記商品は車両であり、前記アクションは、前記車両のモータを有効にする信号を送信することである、請求項16に記載のコンピューティングデバイス。
【請求項20】
前記商品は椅子であり、前記アクションは、前記椅子に関連するロックを解除する信号を送信することである、請求項16に記載のコンピューティングデバイス。
【発明の詳細な説明】
【背景技術】
【0001】
スクータ、車両、および他の機器のような商品のレンタルなどのタスクを実行することを含む、今日の活動のますます多くが自動化されている。例えば、多くの都市は、その都市全体に展開されたスクータの保有車両を有する。これらのスクータは、人とやり取りすることなくレンタルできる。しかし、このプロセスは、特に最初のレンタルでは、非常に面倒であり抵抗が強い。ユーザは、スクータに関連する特定のアプリケーションをモバイルデバイスにダウンロードすることを含む、いくつかのタスクを実行することを要求される場合がある。次いで、スクータのレンタル用のアプリケーションを使用するために、ユーザはスクータ会社とアカウントを設定する必要があり得る。実際のレンタルプロセス中に、ユーザはレンタルのために、さらに、スクータを識別し、自分のアカウントにログイン/アクセスし、支払いを確認し、スクータをレンタルするためにいくつかの追加のステップを経る必要があり得る。本明細書で説明する実施形態は、このプロセスを確実に単純化することを目的としている。
【発明の概要】
【0002】
本明細書で説明する実施形態は、一般に、商品およびサービスを提供するために、非接触カードを用いて認証および支払い動作を実行するためのシステム、デバイス、方法、および技術に関する。例えば、実施形態は、非接触カードに記憶されたデータに基づいて、認証および支払い動作を実行するように構成されたシステムを含んでもよい。システムは、1つまたは複数のプロセッサおよびメモリを備える1つまたは複数のサーバを含んでもよく、メモリは、1つまたは複数のプロセッサに結合され、命令を記憶するように構成される。命令は、1つまたは複数のプロセッサによって実行されると、レンタルシステムから、商品のレンタルに対応する非接触カードによって生成された暗号化されたデータを受信することと、暗号化されたデータから認証情報を抽出することと、非接触カードを認証するために認証情報に対して認証動作を実行することと、非接触カードが本物であることを示す認証動作の結果をレンタルシステムに送信することと、非接触カードが本物であることに応答して商品のレンタルに関して支払うための支払い要求をレンタルシステムから受信することと、暗号化されたデータ内の情報に基づいて支払い要求を処理することと、商品のレンタルに関して支払いが成功したことを示す支払い要求の処理の第2の結果をレンタルシステムに送信することと、を1つまたは複数のプロセッサに行わせる。
【0003】
別の例では、実施形態は、非接触カードに記憶されたデータを用いて実行された認証動作に基づいて、商品のレンタルを有効にするように構成されたサーバを含んでもよい。サーバは、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに結合されたメモリであって、命令を記憶するメモリと、を含んでもよい。命令は、1つまたは複数のプロセッサによって実行されると、コンピューティングデバイスから、非接触カードに記憶された暗号化されたデータおよび商品のレンタルに対応するレンタルデータを受信して処理することと、暗号化されたデータを用いて認証動作を実行するために1つまたは複数のサーバに暗号化されたデータを送信することと、非接触カードが本物であることを示す認証動作の結果を1つまたは複数のサーバから受信することと、非接触カード、ユーザ、またはそれらの組み合わせの認証に応答して、商品のレンタルを有効にするために1つまたは複数の動作を実行することと、を1つまたは複数のプロセッサに行わせる。
【0004】
別の例では、実施形態は、処理回路と、処理回路に結合されたメモリであって、命令を記憶するメモリと、とを備えるコンピューティングデバイスを含んでもよい。命令は、処理回路によって実行されると、近距離無線通信(NFC)範囲内の非接触カードを検出することと、1つまたは複数のNFC交換を介して、非接触カードから暗号化されたデータを受信することであって、暗号化されたデータが、ユーザを認証するための認証情報を含む、受信することと、1つまたは複数のサーバに、暗号化されたデータおよびレンタルデータを送信することであって、レンタルデータが、商品のレンタルに対応する、送信することと、1つまたは複数のサーバから、商品のレンタルを有効にするための指示を受信することと、指示に基づいて商品のレンタルを許可するアクションを実行させることと、を処理回路に行わせる。
【図面の簡単な説明】
【0005】
任意の特定の要素または行為の説明を容易に識別するために、参照符号の最上位桁は、その要素が最初に導入される図番号を指す。
【0006】
【
図1】本明細書で説明する実施形態による、システム100の一例を示す。
【
図2A】本明細書で説明する実施形態による、コンピューティングデバイス上の例示的なディスプレイを示す図である。
【
図2B】本明細書で説明する実施形態による、コンピューティングデバイス上の例示的なディスプレイを示す。
【
図3A】本明細書で説明する実施形態による、システム300aの第1の例示的な構成を示す。
【
図3B】本明細書で説明する実施形態による、システム300aの第2の例示的な構成を示す。
【
図7】実施形態によるシステム700の一例を示す。
【
図8】実施形態によるシステム800の一例を示す。
【
図9】一実施形態による非接触カード102を示す。
【
図10】一実施形態によるトランザクションカード構成要素1000を示す。
【
図11】一実施形態によるシーケンスフロー1100を示す。
【
図12】一実施形態によるデータ構造1200を示す。
【
図13】例示的な実施形態による鍵システムの図である。
【
図14】例示的な実施形態による暗号文の生成方法のフローチャートである。
【発明を実施するための形態】
【0007】
実施形態は、一般に、非接触カードなどのトークンを使用して商品のためのワンタップ・レンタル・サービスを改善するように構成されたシステムを対象とすることができる。例えば、説明する実施形態は、ユーザがスクータ、自転車、椅子、車、カヤック、パドルボード、または任意の他の種類の機器などの商品を、その商品に関連付けられたコンピューティングデバイス上で非接触カードをタップすることによって、レンタルを有効にするように構成できる。コンピューティングデバイスは、カード上の情報を処理し、1つまたは複数のサーバと通信して、商品のレンタルのための認証および支払いサービスを提供するように構成できる。本明細書で説明する実施形態では、コンピュータ上でのレンタル時間、ストリーミングサービスまたは商品へのアクセス、クラウドコンピューティングデバイス上での処理時間などのサービスも、ユーザが購入できるようにすることができる。実施形態は当該方法に限定されない。
【0008】
本明細書で説明するシステムは、トークンおよびユーザの検証を有効にし、商品をレンタルするように構成された、モバイルデバイス、コンピュータ、サーバ、ネットワーキング機器などのコンピューティングデバイスを含む。本明細書で説明する解決策は、商品をレンタルするための以前の解決策に対する利点を提供する。従来のシステムは、一般に、ユーザが商品をレンタルするためにいくつかのステップまたは動作を経る必要があった。ユーザは、モバイルデバイスにアプリケーションをダウンロードおよび/または設定し、支払い情報を提供することを含む、商品のアカウントを設定し、商品をレンタルするためにアプリケーションと対話することが求められ得る。本明細書で説明する実施形態は、ユーザを検証し、レンタルの支払いを提供するために使用され得るコンピューティングデバイスに非接触カードを提示することにより、ユーザが商品をレンタルするための単一の動作を実行できるようにすることで、以前の技術を超える改善を提供する。より詳細に説明するように、非接触カードおよびコンピューティングデバイスは、交換を実行するように構成される。情報は、カードおよびユーザを認証し、レンタルの支払いを提供するために、1つまたは複数のサーバにさらに通信されてもよい。動作はまた、ユーザが商品のレンタルの取引条件に署名または承諾するための署名として使用されてもよい。これらの動作は、アカウントを設定し、アプリケーションおよびアプリケーションの第三者プロバイダに安全な情報を提供することをユーザに求めることなく実行できる。
【0009】
一例では、レンタル商品に関連付けられたコンピューティングデバイスは、非接触カードによって生成された暗号化フォーマットでサーバに情報を提供するように構成されてもよい。サーバは、非接触カードによって生成された暗号化されたデータおよび商品のレンタルに対応するレンタルデータを受信および処理するように構成できる。例えば、システムは、非接触カードおよびユーザを認証または検証するために使用され得る暗号化されたデータから認証情報を抽出するように構成できる。具体的には、システムは、ユーザを認証するために認証情報に対して認証ルーチンを実行できる。認証ルーチンは、暗号化されたデータが正しい鍵で正常に復号されて、暗号化されたデータ、例えば共有秘密がシステムに記憶された本物の共有秘密と一致することを保証することを含んでもよい。カードおよびユーザの認証に応答して、システムはまた、商品の支払いを提供し、任意の取引条件を受け入れるなど、商品のレンタルを有効にするための1つまたは複数の動作を実行できる。
【0010】
実施形態では、非接触カードおよびサーバと通信するように構成されたコンピューティングデバイスは、レンタル商品に固定および/または関連付けられてもよい。コンピューティングデバイスは、1つまたは複数の無線技術に従って無線通信するように構成されてもよい。例えば、コンピューティングデバイスは、カードが無線近距離通信範囲内にあるときに非接触カードとデータを交換できる。具体的には、コンピューティングデバイスは、近距離無線通信(NFC)プロトコルに従って定期的に信号を発信して、非接触カードを通電および検出するように構成されてもよい。デバイスは、カードおよびユーザを認証するための認証情報、ならびに商品の代金を支払うための情報、を含むことができる1つまたは複数の通信交換を介して、暗号化されたデータを受信できる。デバイスは、暗号化されたデータおよび商品のシステムへのレンタルに関連するデータを、異なる無線技術、例えばセルラーまたはWiFi通信に従って、1つまたは複数のサーバに送信するように構成されてもよい。コンピューティングデバイスはまた、商品のレンタルを有効にするために1つまたは複数のサーバから指示を受信し、指示を処理するように構成されてもよい。例えば、デバイスは、認証されているユーザおよび商品の支払いに成功したことに基づいて、指示を受信できる。場合によっては、コンピューティングデバイスは、例えば、ユーザが認証されないとき、および/または支払いが受信されないときに、そのときのレンタルを拒否する指示を受信できる。ユーザが認証され、支払いが受信された場合、デバイスはまた、指示に基づいて商品のレンタルを許可するアクションを引き起こすように構成され得る。さらなる詳細は、以下の説明で提供される。
【0011】
図1は、本明細書で説明する実施形態によるシステム100の一例を示す。システム100は、ユーザが商品をレンタルまたは購入できるようにするためのワンタップ認証および支払いサービスを提供するように構成され得る。図示されたシステム100は、簡単な説明のために、限られた数のシステム、デバイス、構成要素などを含む。一実装形態では、システム100は、本明細書で説明される機能を提供するために、任意の数のシステム、デバイス、構成要素などを含んでもよい。
【0012】
実施形態では、システム100は、ユーザが商品104などの商品をレンタルまたは購入できるようにするように構成される。図示の例では、商品104はスクータである。しかしながら、実施形態は当該方法に限定されない。商品104は、ユーザがレンタルまたは購入することができる任意のタイプの商品またはサービスであってもよい。例えば、商品104は、スクータ、自転車、車などを含む任意の種類の車両であってもよい。商品は、ビーチチェア、傘、カヤック、テント、パドルボードなどの屋外設備であってもよい。場合によっては、商品104は、コンピュータのレンタル時間、処理時間、クラウドベースのストレージなどのサービスであってもよい。実施形態はこれらの例に限定されない。
【0013】
実施形態では、商品104は、ユーザが商品104をレンタルするために利用することができるコンピューティングデバイス106を含むか、または有してもよい。場合によっては、コンピューティングデバイス106は、ユーザにレンタルサービスを提供するようにのみ構成された専用コンピュータであってもよい。コンピューティングデバイス106は、中央処理装置、プロセッサ、グラフィック処理装置、コントローラなどのような1つまたは複数の処理構成要素を含んでもよい。コンピューティングデバイスはまた、ユーザがコンピューティングデバイス106と対話できる揮発性メモリ、不揮発性メモリ、入出力(I/O)デバイス、有線および無線通信インターフェース、ディスプレイ(タッチスクリーン)などを含む。一例では、コンピューティングデバイス106は、プロセッサ、メモリ、I/Oデバイス、および本明細書で説明する機能を提供するように構成された他の機能を有する回路基板を含む、シングルボードコンピュータであってもよい。実施形態では、商品104および/またはコンピューティングデバイス106は、全地球測位システム(GPS)デバイス、セルラーまたはWiFi局および信号を使用する位置測位システム(LPS)、三角測量を使用するシステムなどの、1つまたは複数の位置決定デバイスを含んでもよい。位置決定デバイスは、コンピューティングデバイス106および商品104の位置を判断するために利用することができる。場合によっては、コンピューティングデバイス106は、位置決定デバイスから受信した信号に基づいて、例えばクロックまたは時間信号に基づいて、時間を判断できる。
【0014】
実施形態では、コンピューティングデバイス106は、商品104の本体に固定または一体化されたハウジング内にある。コンピューティングデバイス106は、任意のタイプの取り付け機構または締結具を利用して商品104に取り付けられてもよい。場合によっては、コンピューティングデバイス106は、商品104から取り外すことができないように、例えばスクータのハンドルバーまたはステムの成形部分に配置された、商品104に一体化されてもよい。他の例では、コンピューティングデバイス106は、商品104のロック機構に統合または固定されてもよい。例えば、コンピューティングデバイス106は、ユーザが認証されると商品104へのアクセスを有効にするロックされた保管システム(ロッカー)用であってもよい。より詳細に説明するように、コンピューティングデバイス106は、認証されているカードおよびユーザに基づいて、ロック機構を制御(ロック/ロック解除)するように構成できる。
【0015】
実施形態では、コンピューティングデバイス106は、システム100の他のデバイスと通信するように構成された、1つまたは複数の無線インターフェースを含む。例えば、コンピューティングデバイス106は、NFC、Bluetooth、任意の他の短距離RFプロトコル、または赤外線(IF)プロトコルなどの短距離通信プロトコルに従って通信するように構成された、短距離無線通信インターフェースを含んでもよい。実施形態では、コンピューティングデバイス106は、近距離無線通信インターフェースを利用して、非接触カード102を含むデバイスと通信してもよい。
【0016】
実施形態では、非接触カード102およびコンピューティングデバイス106は、例えば、NFCの場合は10センチメートルなど、互いに近距離無線通信範囲内にあるときに通信するように構成される。例えば、短距離無線通信インターフェースを含むコンピューティングデバイス106は、周期的に通電して、非接触カード102の回路をさらに通電させて通信するように1つまたは複数の信号を放出させる。非接触カード102およびコンピューティングデバイス106は、例えば、互いに接続を確立しデータを通信するために、NFC通信交換などの通信交換を開始するように構成されてもよい。場合によっては、ユーザは、コンピューティングデバイス106に対して非接触カード102をタップまたはタッチして、非接触カード102がコンピューティングデバイス106との通信範囲内にあることを確実にして、データを交換できる。データは、カードおよび/またはユーザを認証するために使用され得る共有秘密、顧客識別子、1つまたは複数のアカウント番号、1つまたは複数のカウンタ値などを含んでもよい。
図9および
図10は、非接触カード102に関してより詳細に図示および説明する。場合によっては、非接触カード102は、コンピューティングデバイス106と通信するためにデータを暗号化するように構成されてもよい。
図11は、認証動作用データを交換するために非接触カード102とコンピューティングデバイス106との間で実行することができる可能なシーケンス1100を示し、
図12から
図16は、多様化された鍵を利用して安全な方法でデータを通信するための追加の詳細を示し説明する。
【0017】
実施形態では、非接触カード102は、暗号化されたデータを生成し、そのデータをコンピューティングデバイス106に通信できる。次に、コンピューティングデバイス106は、暗号化されたデータを1つまたは複数の他のシステム、デバイス、サーバなどに通信し、ユーザを認証し、支払い情報を提供してもよい。例えば、コンピューティングデバイス106は、ネットワーク108などの1つまたは複数の有線および無線ネットワークを利用して、システム110と通信してもよい。
【0018】
ネットワーク108は、無線ネットワーク、有線ネットワーク、または無線ネットワークと有線ネットワークとの任意の組み合わせのうちの1つまたは複数であってもよく、コンピューティングデバイス106をシステム110に接続するように構成されてもよい。例えば、ネットワーク108は、光ファイバネットワーク、受動光ネットワーク、ケーブルネットワーク、インターネットネットワーク、衛星ネットワーク、無線ローカルエリアネットワーク(LAN)、グローバル移動体通信システム、パーソナル通信サービス、パーソナルエリアネットワーク、無線アプリケーションプロトコル、マルチメディアメッセージングサービス、拡張メッセージングサービス、ショートメッセージサービス、時分割多重化ベースのシステム、符号分割多元接続ベースのシステム、D-AMPS、Wi-Fi、固定無線データ、IEEE802.11規格ファミリー、IEEE902.15.x(無線PANファミリー)、Bluetooth、NFC、無線周波数識別(RFID)、Wi-Fi、および/またはこれらに類似するもののうちの1つまたは複数を含んでもよい。さらに、ネットワーク108は、電話回線、光ファイバ、IEEEイーサネット802.3、広域ネットワーク、無線パーソナルエリアネットワーク、LAN、またはインターネットなどのグローバルネットワークを含むことができるが、これらに限定されない、ハードウェアおよびインフラストラクチャを含んでもよい。さらに、ネットワーク108は、インターネットプロトコル(IP)ネットワーク、無線通信ネットワーク、セルラーネットワークなど、またはそれらの任意の組み合わせをサポートしてもよい。ネットワーク108は単一のネットワークとして示されているが、一例または複数の例によれば、ネットワーク108は複数の相互接続されたネットワークを含んでもよいことを理解されたい。
【0019】
実施形態では、コンピューティングデバイス106は、ネットワーク108を介してシステム110にデータを通信して、ユーザを認証し、支払い情報を提供し、ユーザが商品104をレンタルすることを有効にしてもよい。実施形態では、システム110は、商品104の所有者または提供者および/または銀行によって動作され、認証および支払いサービスを提供してもよい。例えば、システム110は、街中などの市場でスクータをレンタルするために、スクータレンタルシステムに組み込まれてもよい。システム110は、商品提供者によって動作および維持される場所に物理サーバを含むことができ、または要求に応じて商品提供者にサービスを提供するクラウドベースのコンピューティングサーバシステム110としてもよい。
【0020】
場合によっては、システム110のうちの1つまたは複数は、銀行システムによって維持および運用されるサーバを含み、商品104をレンタルするための認証サービスおよび支払いサービスを提供してもよい。さらに、銀行システムによって制御されるシステム110は、非接触カード102に関連付けられてもよい。
図2Aおよび
図2Bでさらに詳細に記載されるように、システム110は、レンタルサーバ、認証サーバ、および支払いサーバを含んでもよい。レンタルサーバは、レンタル会社によって制御および動作されてもよく、認証サーバおよび支払いサーバは、銀行によって制御および動作されてもよい。レンタルサーバは、レンタルサービスを提供してもよく、認証サーバおよび支払いサーバは、商品104のレンタルのための認証および支払いサービスを提供してもよい。
【0021】
図2Aは、ユーザが非接触カード102などのトークンを用いてシングルタップ動作を実行して商品をレンタルするための命令を含む、コンピューティングデバイス106によって表示され得る例示的なディスプレイを示す。
【0022】
実施形態では、コンピューティングデバイス106は、テキストおよび画像を表示できるタッチスクリーンディスプレイなどの表示デバイスを含んでもよい。
図2Aの図示の例では、コンピューティングデバイス106は、「商品をレンタルするために、カードをタップしてください」などの指示および非接触カードの画像を表示デバイスに表示するように構成される。本明細書で説明するように、表示デバイス上に提示される指示および画像により、通信交換を実行するために、ユーザが非接触カード102をコンピューティングデバイス106に、十分に近づけることが確実になる。
【0023】
いくつかの実施形態では、コンピューティングデバイス106は、液晶ディスプレイ(LCD)、発光ダイオード(LED)ディスプレイ、プラズマディスプレイ、または任意の他のタイプのフラットパネルシステムを含む任意のタイプの表示デバイス、を用いて構成される。場合によっては、バッテリ電力を維持するために、表示デバイスは、指示を表示するように構成された電子インク(e-ink)ディスプレイであってもよい。e-inkディスプレイは、表示デバイスに電力が印加されていないときでも状態を保持して指示を表示でき、例えば、電力およびバッテリ使用量を節約する。場合によっては、コンピューティングデバイス106は、表示デバイスをオフまたは待機状態に維持でき、例えば、1つまたは複数のセンサを介して、コンピューティングデバイス106の近くの人などの物体を検出するように構成されてもよい。例えば、コンピューティングデバイス106は、人を検出するように構成された近接センサを含んでもよく、コンピューティングデバイス106は、表示デバイスを点灯し、検出に基づいて指示を表示するように構成されてもよい。
【0024】
実施形態では、コンピューティングデバイス106は、本明細書で説明するように、インターフェースおよびコンピューティングデバイス106の通信範囲内に持ち込まれたときに非接触カード102を検出し、カードと情報を交換できる。
【0025】
図2Bは、商品をレンタルするために表示デバイス上でユーザに提示され得る別の例示的なディスプレイを示す。図示の例では、ディスプレイは、例えば「取引条件については、ここをクリックしてください」というテキストおよびボタンなど、商品をレンタルするための取引条件を検討するための指示を提示してもよい。表示デバイスを含むコンピューティングデバイス106は、表示デバイス上のボタンのユーザ選択を検出し、ユーザが検討するための取引条件を表示するように構成されてもよい。取引条件は、メモリに記憶されてもよく、またはインターネットサーバを介してコンピューティングデバイス106によって取得されてもよい。
【0026】
実施形態では、コンピューティングデバイス106は、ユーザが取引条件を受け入れ、非接触カード102のシングルタップで商品のレンタルを開始するための指示を含んでもよい。例えば、
図2Bの表示デバイスはまた、「取引条件を受け入れて商品をレンタルするために、ここにカードをタップしてください」などのテキストおよび非接触カードの画像を提示するように構成されてもよい。
図2Aで同様に説明したように、コンピューティングデバイス106は、本明細書で説明するように、非接触カード102を検出し、非接触カードとのデータの交換を実行してもよい。
【0027】
図3Aは、ユーザが非接触カードのワンタップで商品104のレンタルできるようにすることを含む、本明細書で説明される動作を実行するためのシステム300aの第1の例示的な構成を示す。図示の例では、コンピューティングデバイス106は、商品104と結合され、レンタルサーバ304を含むレンタルシステム310と通信するように構成される。図示の例では、レンタルサーバ304は、カード認証、支払い確認、およびレンタル管理サービスの提供、例えば、1つまたは複数の商品の監視および追跡、商品との通信、商品のレンタルに対する支払い処理など、を含む、いくつかのサービスを提供するように構成される。
【0028】
実施形態では、ユーザは、商品104をレンタルしたい場合があり、これは、前述したように、任意のタイプのレンタル商品であってもよい。商品104は、商品104に物理的に固定され、商品104に成形され、または商品104に関連する別のハウジング内に配置され得るコンピューティングデバイス106と結合されてもよい。いくつかの実施形態では、コンピューティングデバイス106は、商品104に関連する保管設備(例えば、ロッカー)に実装され、および/または商品104のロック機構を制御してもよい。
【0029】
いくつかの実施形態では、コンピューティングデバイス106は、ユーザが非接触カード102などのトークンのシングルタップで商品104をレンタルできるように構成される。例えば、コンピューティングデバイス106は、例えば、短距離無線通信インターフェースに通電することによって、定期的にトークンまたは非接触カード102をスキャンまたは検出しようと試みて、非接触カードを探査し、非接触カード102がコンピューティングデバイス106の通信範囲内にあるときを検出するように、構成されてもよい。コンピューティングデバイス106および/または商品104には、非接触カード102をコンピューティングデバイス106の近くに持ってきて、非接触カードが通信範囲内にあることを確実にするためのユーザへの命令を有する、ステッカーまたはプラカードを固定してもよい。いくつかの実施形態では、命令は、コンピューティングデバイス106上の非接触カード102をタップするようにユーザに命令してもよい。コンピューティングデバイス106はまた、命令を表示するように構成されたフラットパネルディスプレイ、発光ダイオード(LED)ディスプレイ、液晶ディスプレイ(LCD)などの表示デバイスを含んでもよい。一例では、ディスプレイは、ディスプレイにカードをタップするための命令と、カードをタップする場所を示すカードのグラフィカル表現とを表示してもよい。
【0030】
他の例では、コンピューティングデバイス106は、タッチスクリーンディスプレイなどの1つまたは複数のインターフェースを含んでもよく、ユーザは、商品104のレンタルを開始するためにタッチスクリーンディスプレイを介してコンピューティングデバイス106とインターフェースしてもよい。例えば、コンピューティングデバイス106は、商品104をレンタルするための指示、商品104をレンタルする時間の長さ、商品104をレンタルするための支払い方法、レンタルの取引条件を受け入れることなど、ユーザが選択を行うための1つまたは複数のGUIを提示してもよい。これらの場合、コンピューティングデバイス106は、商品104のレンタルのパラメータに対応するユーザ選択を受信して処理し、非接触カード102との交換を開始するために、非接触カード102をコンピューティングデバイス106の近くまたは上に持ってくるようにユーザに指示してもよい。場合によっては、コンピューティングデバイス106はディスプレイを含まなくてもよい。これらの例では、ユーザは、非接触カード102のアクティブ化時に合意された普遍的な取引条件を介して取引条件を受け入れてもよいし、または銀行システムを介してカードのタップ-レンタル機能を前もってアクティブ化していてもよい。
【0031】
コンピューティングデバイス106は、通信に使用されている通信プロトコルに基づいて、非接触カード102がコンピューティングデバイス106の無線通信内にあるときに、非接触カード102との通信交換を開始するように構成される。例えば、コンピューティングデバイス106は、NFCプロトコルに従って通信するように構成でき、非接触カード102が例えば約10センチメートル(cms)のNFC通信範囲内にあるときに、非接触カード102とのNFC交換を開始してもよい。実施形態では、コンピューティングデバイス106は、非接触カード102との交換を開始し、非接触カード102は、コンピューティングデバイス106にデータを送信する。データは、共有秘密、顧客識別子、または他の一意の識別子などの認証情報を含んでもよい。データはまた、アカウント番号またはアカウントを識別するために使用され得る顧客のアカウントに関連付けられた情報など、レンタルに対する支払いを有効にする情報を含んでもよい。場合によっては、非接触カード102は、暗号化されたデータを送信してもよい。
【0032】
例えば、非接触カード102は、コンピューティングデバイス106にデータを送信するために、メッセージ認証コード(MAC)暗号文を生成してもよい。いくつかの例では、これは、非接触カード102がコンピューティングデバイス106によって読み取られるときに行ってもよい。特に、これは、NFCデータ交換フォーマットに従って作成され得る近距離無線データ交換(NDEF)タグのNFC読み取りなどの読み取り時に行ってもよい。例えば、コンピューティングデバイス106は、非接触カード102からデータを読み取るための読み取り動作を実行するように構成された、リーダアプリケーションを含んでもよい。非接触カード102は、ヘッダおよび共有秘密、顧客識別子もしくは他の識別情報、アカウント情報、またはそれらの組み合わせを含むことができる、暗号文を含むメッセージを生成してもよい。非接触カード102は、メッセージからMAC暗号文(暗号化されたデータ)を生成してもよく、MAC暗号文は、
図11でさらに説明するように、例えば、多様化された鍵またはセッション鍵を利用するランダムデータでさらに暗号化してもよい。非接触カード102は、コンピューティングデバイス106から受信した「NDEFファイル読み取り」メッセージに応答して、NDEFメッセージフォーマットでMAC暗号文を通信してもよい。
【0033】
場合によっては、コンピューティングデバイス106および非接触カード102は、異なるプロトコルに従ってデータを交換してもよい。例えば、通信は、Bluetooth、Wi-Fi、または無線データ通信の他の手段を介して行ってもよい。実施形態は当該方法に限定されない。
【0034】
実施形態では、コンピューティングデバイス106は、非接触カード102からデータを受信し、データをメモリに記憶できる。場合によっては、コンピューティングデバイス106は、データが非接触カード102から正常に受信されたか、または受信されなかったという指示をユーザに提供できる。例えば、コンピューティングデバイス106は、GUIのディスプレイ上に指示を提示できる。他の例では、コンピューティングデバイス106は、データが受信されたかどうかに対応する1つまたは複数の発光ダイオード(LED)を点灯することによって指示を提供できる。
【0035】
コンピューティングデバイス106は、さらに、1つまたは複数のシステムとの通信を開始して、商品104のレンタルを処理できる。図示の例では、コンピューティングデバイス106は、レンタルサーバ304を含むレンタルシステム310に1つまたは複数のメッセージを送信できる。コンピューティングデバイス106は、ネットワーク108などのネットワークを介して1つまたは複数のメッセージを送信できる。実施形態では、コンピューティングデバイス106は、モバイル通信用グローバルシステム(GSM)、汎用パケット無線サービス(GPRS)、cdmaOne、CDMA2000、進化型データ最適化(EV-DO)、GSM進化型高速データレート(EDGE)、ユニバーサル移動体通信システム(UMTS)、デジタル拡張コードレス通信(DECT)、デジタルAMPS(IS-136/TDMA)、ロングタームエボリューション(LTE)、第5世代(5G)、および統合デジタル拡張ネットワーク(iDEN)を含むが、これらに限定されない、1つまたは複数のセルラー通信プロトコルに従って通信するように構成される。
【0036】
場合によっては、コンピューティングデバイス106は、バッテリを動作させるように構成されてもよい。実施形態では、バッテリは、コンピューティングデバイス106専用であってもよく、または商品104に電力を供給するようにも構成されたバッテリであってもよい。コンピューティングデバイス106は、消費電力を低減してバッテリ寿命を延ばすように構成されてもよい。一例として、コンピューティングデバイス106は、低電力セルラー技術を利用してネットワーク108と通信するように構成されてもよい。例えば、コンピューティングデバイス106は、低電力広域ネットワーク(LPWAN)プロトコル、低電力広域(LPWA)ネットワークプロトコルもしくは低電力ネットワーク(LPN)プロトコル、または低ビットレートで長距離通信を可能にするように設計された任意の他のタイプの無線電気通信広域ネットワーク、を利用して通信するように構成されてもよい。
【0037】
実施形態では、コンピューティングデバイス106は、メッセージング通信プロトコルに従ってメッセージを通信するように構成される。例えば、コンピューティングデバイス106は、送信制御プロトコル(TCP)/インターネットプロトコル(IP)、または順序付・無損失・双方向な接続を提供する任意の他のネットワークプロトコルを介して動作するように構成されたメッセージ・キューイング・テレメトリ転送(MQTT)プロトコル、などのパブリッシュ・サブスクライブ・プロトコルに従ってレンタルサーバ304と通信するように構成されてもよい。MQTTは、小さいコードフットプリント(メモリの可用性の低下)、および/または低帯域幅の実装、を必要とする実装で利用されてもよい。一例では、コンピューティングデバイス106は、データを公開するように構成でき、レンタルサーバ304は、MQTTプロトコルに従ってデータにサブスクライブできる。データは、レンタルデータまたは情報を含んでもよい。レンタルデータは、商品識別子、レンタルの日付/時間、レンタルの場所、およびレンタルの他のパラメータを含んでもよい。データはまた、非接触カード102からの暗号化されたデータを含んでもよい。例えば、コンピューティングデバイス106は、レンタルサーバ304に暗号文を通信するために暗号文を公開してもよい。実施形態では、コンピューティングデバイス106とレンタルサーバ304との間の通信は、1つまたは複数のセキュア/暗号化技術を使用して保護できる。
【0038】
実施形態では、コンピューティングデバイス106およびレンタルサーバ304は、データを通信するために他のメッセージプロトコルを利用してもよい。いくつかの実装形態では、データの少なくとも一部は、リプレゼンテーショナル・ステイト・トランスファー(RESTful)ジャバスクリプト・オブジェクト・ノーテーション(JSON)通信プロトコルに従って通信してもよい。例えば、コンピューティングデバイス106は、PUTコマンドを利用してデータをレンタルサーバ304の場所またはアドレス、例えばhttps://rentalserver.com/parametersに送信するように構成され、パラメータは、レンタルデータ(商品識別子)、日付/時間、場所などを含んでもよい。場合によっては、コンピューティングデバイス106は、例えば、暗号文、トークン、アカウント番号、顧客名、CVVなどの1つまたは複数のパラメータとして、非接触カード102からレンタルサーバ304に情報を送信するように構成されてもよい。いくつかの実装形態では、レンタルサーバ304は、コンピューティングデバイス106からデータを取得するように構成されてもよい。例えば、レンタルサーバ304は、GETコマンドを実行して、コンピューティングデバイス106からデータの少なくとも一部を取得するように構成されてもよい。実施形態はこれらの例に限定されない。いくつかの実装形態では、コンピューティングデバイス106およびレンタルサーバ304は、MQTTとRESTful JSONメッセージングプロトコルおよび/または追加の/異なるプロトコル、例えば、拡張可能マークアップ言語(XML)および/またはハイパーテキスト転送プロトコル(HTTP)またはセキュアHTTP(HTTPs)の組み合わせを利用して、それぞれの間でデータを通信してもよい。
【0039】
レンタルサーバ304は、商品104のレンタルを有効にするためにデータを受信および処理するように構成される。例えば、レンタルサーバ304は、レンタルデータをデータベースまたはデータストアに記憶して、商品104のレンタルを追跡できる。具体的には、レンタルサーバ304は、商品のレンタルの開始日時を有する商品の識別子を記憶できる。時間ベースのレンタルの場合、レンタルサーバ304はまた、コンピューティングデバイス106から終了日時を受信し、非接触カード102に関連付けられたアカウントに課金するためのレンタルのコストを計算してもよい。具体的には、レンタルサーバ304は、開始日時および終了日時を使用して、レンタル時間を計算し、商品104のレンタルのコストを判断できる。
【0040】
レンタルサーバ304はまた、非接触カード102からのデータを処理して、カードを検証し、商品104のレンタルに対する支払いを処理できる。場合によっては、レンタルサーバ304は、非接触カード102を認証するために認証サーバ302を含む銀行システム308を利用できる。例えば、レンタルサーバ304は、非接触カード102から認証サーバ302に暗号文を通信して、非接触カードを認証できる。いくつかの実施形態では、レンタルサーバ304は、RESTful JSONメッセージングプロトコルAPIを使用して、認証サーバ302と通信するように構成されてもよい。例えば、レンタルサーバ304は、認証サーバ302の場所またはアドレス、例えば、https://authenticationserver.com/authenticatemethod/parametersにおいて、暗号文をパラメータ(または暗号文からの情報をパラメータ)として認証方法を呼び出すことを含むコマンドを実行できる。認証サーバ302は、カードおよび/またはユーザを認証し、結果を返すことができる。実施形態は、この例示的な実装形態に限定されず、他のメッセージプロトコル/フォーマットを使用して、非接触カード102から認証サーバ302にデータを通信できる。
【0041】
実施形態では、認証サーバ302は、例えば銀行によって所有および運営される銀行システム308の一部であってもよく、カードおよびユーザを認証するための認証動作を実行するように構成される。具体的には、非接触カード102からのデータが有効であり、ユーザが本物であることを、認証サーバ302が保証する。実施形態では、認証サーバ302は、データを受信し、例えば、暗号化されたデータが正しい鍵で暗号化され、非接触カード102からのデータが記憶/認証されたデータと一致することを保証するなど、1つまたは複数の認証動作を実行するように構成されてもよい。
【0042】
例えば、
図15でより詳細に説明するように、認証サーバ302は、以下の条件が満たされたときに認証の成功が判断されたときに確認してもよい。まず、MACを検証する能力は、導出されたセッション鍵が非接触カード102に適切であったことを示す。MACは、認証サーバ302による復号が成功し、適切なMAC値が得られた場合にのみ正しくなり得る。復号の成功は、正しく導出された暗号鍵が暗号化MACを復号するために使用されたことを示してもよい。導出されたセッション鍵は、送信者(例えば、非接触カード102)および受信者(例えば、認証サーバ302)にのみ知られているマスター鍵を使用して作成されるので、MACを最初に作成しMACを暗号化した、非接触カードが実際に本物であると信頼できる。さらに、第1のセッション鍵および第2のセッション鍵を導出するために使用されるカウンタ値は、有効であると示されてもよく、認証動作を実行するために使用されてもよい。同様に、非接触カード102からのデータ内の他の情報を使用して、例えば、非接触カード102に記憶された共有秘密、顧客識別子、または他の情報を認証サーバ302に記憶された認証情報と比較することによって、認証サーバ302が非接触カード102を認証してもよい。例えば、認証サーバ302は、メモリまたはデータベースから認証された共有秘密を取得し、認証された共有秘密を非接触カード102からの共有秘密と比較し、非接触カード102を認証できることを確認してもよい。
【0043】
実施形態では、認証サーバ302は、カードを認証し、レンタルサーバ304に指示を提供する。具体的には、認証サーバ302は、非接触カード102からのデータに基づいて、カードが本物であるかどうかに関する指示を含む、1つまたは複数のメッセージをレンタルサーバ304に通信できる。カードが本物でない場合、コンピューティングデバイス106および/またはレンタルサーバ304は、例えば、商品104のロックを維持すること、インターフェースを介してユーザに指示を提供することなどによって、商品104がレンタルされるのを防止する。カードが本物である場合、コンピューティングデバイス106およびレンタルサーバ304を含むシステム300aは、ユーザが商品104をレンタルできるようにするためにデータを処理し続けてもよい。
【0044】
場合によっては、システム300aは、非接触カード102に関連付けられたユーザも認証され得るように、二要素認証または多要素認証を実行するようにユーザに要求してもよい。認証サーバ302によって任意の数の追加認証が実行されてもよい。例えば、システム300aは、認証サーバ302に提供され得る106個の1つまたは複数のインターフェースに、例えばPIN、パスワード、アドレス、電話番号などを入力するなど、追加の情報を提供するようにユーザに要求してもよい。認証サーバ302は、追加情報が認証され、非接触カード102に関連付けられていることを確認できる。別の例では、認証サーバ302は、ワンタイムパスコードをデバイスに送信し、ユーザにコードに応答させること、および/またはコードをコンピューティングデバイス106に入力させること、コードを銀行アプリに入力すること、メッセージに応答すること、などによって、モバイルデバイスなどの別のデバイスをユーザが所持していること、を要求および/または判断してもよい。ユーザを認証するために、追加の認証方法、例えば認証アプリケーションを使用してもよい。
【0045】
実施形態では、認証サーバ302は、メッセージプロトコルに従って、実行された認証動作の結果を、レンタルサーバ304に1つまたは複数のメッセージとして返してもよい。レンタルサーバ304は、結果を処理し、商品104のレンタルを続行するかどうかを判断するように構成される。例えば、レンタルサーバ304が、カードおよび/またはユーザが認証されたという指示を受信した場合、レンタルサーバ304は、コンピューティングデバイス106に1つまたは複数のメッセージを送信して、商品104のレンタルを有効にしてもよい。メッセージは、レンタルが許可されたという指示を含んでもよい。カードおよび/またはユーザが認証できない場合、レンタルサーバ304は、レンタルが拒否されたことを示す1つまたは複数のメッセージをコンピューティングデバイス106に送信することによって、商品104のレンタルを許可しなくてもよい。
【0046】
実施形態では、コンピューティングデバイス106は、レンタルが許可されているどうかを示す指示を受信し、それに応じて指示を処理できる。例えば、コンピューティングデバイス106は、レンタルが許可された場合にロックを解除させるために、ロック機構に1つまたは複数の信号を送信してもよい。他の例は、商品104を有効にするためにモータに1つまたは複数の信号を送信することを含んでもよい。商品104のレンタルが拒否された場合、コンピューティングデバイス106は、商品104がレンタルされるのを防ぎ、ユーザに指示を提供してもよく、例えばディスプレイに指示を提示してもよい。例は、商品のブレーキを維持または解放し、商品のモータを有効または無効にし、商品のロック機構を維持または解放するために信号を送信することなどを含んでもよい。
【0047】
実施形態では、レンタルサーバ304は、商品104のレンタルに対する支払いを処理するように構成される。例えば、レンタルサーバ304は、支払いサーバ306を利用して、非接触カード102から収集されたデータおよびレンタルデータに基づいてレンタルに対する支払いを収集できる。実施形態では、レンタルサーバ304は、レンタル時またはレンタル完了時(例えば、開始日時および終了日時に基づく)のいずれかに、レンタルの金額を判断し、支払いサーバ306と通信して、非接触カード102およびユーザに関連付けられたアカウントから支払いを収集できる。一例では、レンタルサーバ304は、支払いを収集するために、例えば支払い要求を送信するために、APIを介して支払いサーバ306とインターフェースするように構成される。APIはまた、RESTful JSON APIであってもよく、例えば、レンタルサーバ304によってGETコマンドを使用して呼び出され得る支払い方法を含んでもよい。レンタルサーバ304は、支払い方法で呼び出すために支払いサーバ306のアドレスでGETコマンドを呼び出し、支払いサーバ306が支払い処理できる1つまたは複数のパラメータ、例えばhttps://paymentserver.com/payment method/parametersを含んでもよい。パラメータは、アカウント番号を含む暗号文などのコンピューティングデバイス106からのデータを含んでもよい。支払いサーバ306は、ユーザのアカウントからレンタルシステム310に関連付けられたアカウントに資金を転送することによって支払い処理し、レンタルサーバ304に指示を提供できる。指示は、支払いが成功したこと、または成功しなかったことを示してもよい。
【0048】
2つの別個のサーバとして示されているが、認証サーバ302および支払いサーバ306は、同じサーバまたはクラウドベースのコンピューティングシステムに実装されてもよい。サーバの各々は、前述したように、1つまたは複数のプロセッサ、メモリ、インターフェース、ディスプレイ、I/Oデバイスなどの構成要素を含んでもよい。
【0049】
図3Bは、本明細書で説明される動作を実行するように構成されたシステム300bの第2の例を示す。図示の例では、コンピューティングデバイス106は、ユーザが商品104をレンタルすることを有効にするために、銀行システム308と直接通信するように構成されてもよい。
【0050】
実施形態では、コンピューティングデバイス106は、
図3Aで上述したように、商品104をレンタルしようとする試みを検出し、非接触カード102との通信を処理するように構成される。例えば、コンピューティングデバイス106は、非接触カード102から暗号化されたデータを受信するために、1つまたは複数のNFC交換を実行できる。暗号化されたデータは、暗号文またはMAC暗号文であってもよく、カード、場合によってはユーザを認証するために使用され得るデータを含んでもよい。データは、非接触カード102から受信され、銀行システム308への通信のためにコンピューティングデバイス106のメモリに記憶されてもよい。
【0051】
実施形態では、コンピューティングデバイス106はまた、
図3Aで説明したのと同じ方法でシステム300b内のレンタルデータを判断するように構成される。例えば、コンピューティングデバイス106は、GPSなどの位置特定デバイスに基づいてレンタルの日時などのレンタルデータを判断できる。コンピューティングデバイス106はまた、商品104の1つまたは複数のセンサ、例えばバッテリセンサに基づいて、商品104の状態を判断するように構成される。場合によっては、コンピューティングデバイス106は、タッチスクリーンインターフェースまたは別の入力デバイスを介して入力されたユーザ入力に基づいて、レンタルの時間の長さを判断できる。実施形態は当該方法に限定されない。
【0052】
実施形態では、コンピューティングデバイス106は、商品104のレンタルを有効にするために、銀行システム308と通信するように構成される。例えば、コンピューティングデバイス106は、暗号化されたデータ、レンタルデータ、支払い要求、またはそれらの組み合わせを銀行システム308に送信するために、ネットワーク108などのネットワークを介して通信してもよい。実施形態では、コンピューティングデバイス106は、レンタルシステム310が銀行システム308と通信するのと同様または同じ方法で、例えば、銀行システム308の位置またはアドレスに基づいて1つまたは複数のAPIコマンドを発行することによって、MQTT構成および/またはRESTful JSON APIなどの1つまたは複数のAPIを使用して、銀行システム308と直接通信するように構成できる。例えば、カード/ユーザを認証するために、コンピューティングデバイス106は、コマンド、例えばhttps://authenticationserver.com/authenticatemethod/parametersを介して、アドレスで認証サーバ302を呼び出すことができ、パラメータは暗号文を含む。同様に、レンタルに対する支払いを取得するために、コンピューティングデバイス106は、https://paymentserver.com/payment method/parametersなどのコマンドを介してアドレスで支払いサーバ306を呼び出してもよく、パラメータはレンタルデータを含む。
【0053】
実施形態では、認証サーバ302を含む銀行システム308は、例えば、暗号化されたデータを正しく復号できているかどうかと、カードに関する情報が記憶された本物の情報と一致するかどうかとに基づいて、カードを認証するための認証動作を実行してもよい。この構成では、銀行システム308はまた、ユーザを認証するために二要素認証または多要素認証を実施するように構成されてもよい。
【0054】
銀行システム308は、例えばAPI呼び出しへの返信として、認証動作の結果をコンピューティングデバイス106に返すように構成される。結果は、カードおよび/またはユーザが本物かどうかを示すことができる。カードおよび/またはユーザが本物でない場合、コンピューティングデバイス106は、商品104がレンタルされることを防止し、例えば、104のロックを維持する。カード、および場合によってはユーザが認証された場合、コンピューティングデバイス106は、例えば、ロック機構に1つまたは複数の信号を送信して商品104をロック解除することによって、ユーザが商品104を使用できるようにする。
【0055】
場合によっては、コンピューティングデバイス106は、レンタル時間を知るかまたは判断し、レンタル価格を計算できる。コンピューティングデバイス106は、支払い処理するための支払いサーバ306を含む、銀行システム308に支払い要求を通信できる。銀行システム308は、成功したか否かを示す結果を返すことができる。支払いが成功しなかった場合、コンピューティングデバイス106は、商品104のレンタルを防止するように構成される。支払いが成功した場合、コンピューティングデバイス106は、商品104のレンタルが有効になるように構成される。
【0056】
場合によっては、コンピューティングデバイス106は、ユーザが商品104を利用する時間に基づいて、ユーザに請求する金額を判断できる。例えば、位置決定デバイスを含むコンピューティングデバイス106は、レンタル開始時間およびレンタル終了時間を判断でき、コンピューティングデバイス106は、レンタル時間の金額および総レンタル時間を計算できる。コンピューティングデバイス106は、支払い処理するために銀行システム308に支払い要求を送信できる。
【0057】
これらの例では、コンピューティングデバイス106は、期間満了またはユーザによって入力された指示に基づいて、終了時間を判断できる。レンタル完了時まで支払いが受信されない場合、コンピューティングデバイス106は、レンタルの支払いが正常に処理されることを保証するために、銀行システム308に1つまたは複数の試験的な支払いを送信してもよい。試験的な支払いは、レンタル終了時に請求される合計金額による、任意の名目金額を含んでもよい。実施形態は当該方法に限定されない。
【0058】
図4は、非接触カードを認証および処理するために本明細書で説明するシステムによって実行され得る、例示的なルーチン400を示す。実施形態では、ルーチン400は、
図2A/
図2Bに示す銀行システム308などの銀行システムの1つまたは複数のサーバによって実行されてもよい。
【0059】
ブロック402において、ルーチン400は、商品のレンタルに対応する非接触カードによって生成された、暗号化されたデータを受信することを含む。例えば、銀行システムは、1つまたは複数の有線または無線ネットワークを介して、レンタルシステムまたはコンピューティングデバイスから暗号文を受信してもよい。暗号文は、本明細書で説明されるように、マスター鍵で生成された多様化された鍵を用いて非接触カードによって暗号化されてもよい。暗号化されたデータは、共有秘密、一意の識別子、アカウント番号、CVVなどを含んでもよい。一例では、銀行システムは、レンタルシステムおよび/またはコンピューティングデバイスが、暗号化されたデータを通信するための認証サーバを含む銀行システムを呼び出すために利用するための1つまたは複数のAPIを用いて構成されてもよい。
【0060】
ブロック404において、ルーチン400は、暗号化されたデータから認証情報を抽出することを含む。例えば、銀行システムは、顧客および/または非接触カードに関連付けられ、データストアに記憶されたマスター鍵を使用して、多様化された鍵を生成してもよい。銀行システムは、認証情報が正常に抽出されたことを検証してもよく、非接触カードが正しい多様化された鍵を利用して暗号化されたデータを生成したことを示してもよい。場合によっては、システムは、データを抽出するために追加の復号アルゴリズムを適用してもよい。例えば、暗号化されたデータはMAC暗号文でもよく、システムはメッセージ認証コード復号動作を適用してもよい。
【0061】
ブロック406において、ルーチン400は、非接触カードを認証するために認証情報に対して認証動作を実行することを含む。データを暗号化するために正しい多様化された鍵が使用されていると判断することに加えて、システムはまた、データの1つまたは複数の部分を記憶された検証済みデータと比較してもよい。例えば、システムは、共有秘密、一意の識別子、アカウント番号、またはそれらの組み合わせが、記憶および検証された共有秘密、一意の識別子、および/またはアカウント番号などと、一致すると判断してもよい。
【0062】
ブロック408において、ルーチン400は、非接触カードが本物である(または本物でない)ことを示す認証動作の結果を送信することを含む。実施形態では、システムは、要求デバイスに基づいて、結果をレンタルシステムおよび/または商品に関連付けられたコンピューティングデバイスに送信してもよい。場合によっては、認証動作が失敗したとき、結果は、非接触カードが正常に認証され得ないことを示す。
【0063】
ブロック410において、ルーチン400は、商品のレンタルに対する支払いのための支払い要求を受信することを含む。例えば、支払いサーバを含む銀行システムは、カードがレンタルシステムまたは商品に関連するコンピューティングデバイスから正常に認証されたことに応答して、支払い要求を受信してもよい。支払い要求は、支払い金額を含んでもよい。場合によっては、支払い要求は、銀行システムが商品のレンタルの支払いに使用するアカウントを識別するために使用する非接触カードからの暗号化されたデータを含むか、またはそれと通信してもよい。場合によっては、支払い要求は、要求がブロック402で通信された暗号化されたデータに対応するという指示を含んでもよい。いくつかの実施形態では、支払い要求は、ブロック402において、例えば、カードが認証される前に通信された1つまたは複数のメッセージで、暗号化されたデータと通信してもよい。実施形態は当該方法に限定されない。要求は、支払いを受信するためのアカウントを識別する識別子、銀行名、ルーティング番号、アカウント番号、トランザクションの日付/時刻、場所、説明などを含む、支払い処理するための追加情報を含んでもよい。実施形態では、支払いサーバを含む銀行システムは、前述したように、支払いを通信するためにレンタルシステムおよび/またはコンピューティングデバイスによって使用され得る、1つまたは複数のAPIで構成されてもよい。
【0064】
ブロック412において、ルーチン400は、暗号化されたデータ内の情報に基づいて支払い要求を処理することを含む。実施形態では、銀行システムは、支払い要求内の情報に基づいて、ユーザのアカウントから商品に関連付けられたアカウントへの資金の電子転送を開始する。実施形態は当該方法に限定されない。
【0065】
ブロック414において、ルーチン400は、商品のレンタルに対する支払いが成功したことを示す支払い要求の処理の第2の結果を送信するステップを含む。例えば、銀行システムは、支払いが正常に処理されたか否かを示す指示を、レンタルシステムまたはコンピューティングデバイスに返してもよい。
【0066】
図5は、本明細書で説明するシステムによって実行され得るルーチン500の一例を示す。いくつかの実施形態では、ルーチン500は、
図3Aに示すように、レンタルサーバを含むレンタルシステムによって実行されてもよい。
【0067】
ブロック502において、ルーチン500は、非接触カードに記憶された暗号化されたデータ、およびコンピューティングデバイスからの商品のレンタルに対応するレンタルデータを受信することを含む。例えば、レンタルシステムは、レンタルの商品に固定および/または関連付けられたコンピューティングデバイスから、暗号化されたデータおよびレンタルデータを受信してもよい。実施形態では、暗号化されたデータは、暗号文/MAC暗号文であってもよく、レンタルデータは、本明細書で説明するように、商品のレンタルに対応するデータを含んでもよい。
【0068】
ブロック504において、ルーチン500は、暗号化されたデータを用いて認証ルーチンを実行するために、暗号化されたデータを1つまたは複数のサーバに送信することを含む。例えば、レンタルシステムは、カードおよびユーザを認証するための1つまたは複数の動作を実行するために、暗号化されたデータを銀行システムに送信してもよい。例示的な実施形態では、レンタルシステムは、銀行システムによってホストされる1つまたは複数のAPIを利用し、認証方法/動作を呼び出し、暗号化されたデータに対して実行し、暗号化されたデータを銀行システムに渡してもよい。
【0069】
ブロック506において、ルーチン500は、非接触カードが本物である(または本物でない)ことを示す認証ルーチンの結果を受信することを含む。例えば、レンタルシステムは、銀行システムから結果を受信してもよい。場合によっては、結果は、カードおよび/またはユーザの認証が成功せず、一方または両方が認証されていないことを示してもよい。
【0070】
ブロック508において、ルーチン500は、ユーザの認証に応答して、商品のレンタルを有効にするための1つまたは複数の動作を実行することを含む。例えば、レンタルシステムは、商品のレンタルを許可するために、商品に関連付けられたコンピューティングデバイスに指示を送信してもよい。場合によっては、レンタルシステムは、銀行システムからの商品のレンタルに対する支払いを要求してもよい。いくつかの実施形態では、カードおよび/またはユーザが認証されない場合、レンタルシステムは、例えば、コンピューティングデバイスに指示を送信することによって、商品のレンタルを防止してもよい。実施形態は当該方法に限定されない。
【0071】
図6は、説明される実施形態に従って実行され得るルーチン600の一例を示す。場合によっては、ルーチン600は、レンタルのための商品に固定および/または結合されたコンピューティングデバイス106などのコンピューティングデバイスによって実行されてもよい。コンピューティングデバイスは、ユーザにレンタル機能を、本明細書で説明するように、ワンタップレンタル機能を、を提供するように構成されてもよく、その結果、ユーザが自分の非接触カードをコンピューティングデバイス上またはコンピューティングデバイスの近くで容易にタップして、商品の使用を進めることができ、商品をレンタルするのに必要な時間の長さおよびステップの量を削減して、ユーザの利便性を高めることができる。
【0072】
ブロック602において、ルーチン600は、近距離無線通信(NFC)範囲内の非接触カードを検出することを含む。例えば、商品のレンタルサービスを提供するように構成されたコンピューティングデバイスは、ISO/IEC14443規格に従って、定期的に、非接触カードなどの無線周波数識別タグまたはデバイスを定期的にスキャンしてもよい。説明したように、コンピューティングデバイスは、所望のユーザが規定の距離、例えば10cm以内で自分の非接触カードをコンピューティングデバイスへの提示を指示できるディスプレイを用いて構成されてもよい。場合によっては、命令は、コンピューティングデバイス上、例えば、デバイスの本体またはハウジングのディスプレイまたは他の部分上でカードをタップするように、ユーザに命令してもよい。場合によっては、命令は、商品自体の一部、例えばコンピューティングデバイスを収容する商品の本体またはハウジングをタップするように、ユーザに命令してもよい。実施形態は、NFCを利用してレンタルサービスを提供することに限定されず、例えばBluetooth、802.11規格、ZigBeeなどの他の無線技術が利用されてもよいことに留意されたい。
【0073】
場合によっては、単一のタップを使用して商品をレンタルしてもよい。他の例では、コンピューティングデバイスは、表示デバイス上でユーザに情報およびデータを提示してもよい。例えば、コンピューティングデバイスは、ディスプレイに表示されたGUIでユーザが商品のレンタルを選択するためのオプション、例えばレンタルの時間の長さを提示するように構成できる。ディスプレイはまた、商品のレンタルのための他の法的義務を提示できる。例えば、商品のレンタルは、コンピューティングデバイスのディスプレイ上のGUIで、レンタルの取引条件および/またはレンタルのための使用説明書を、ユーザに提示することを要求してもよい。ディスプレイを含むコンピューティングデバイスは、ユーザが表示デバイス上のこれらの取引条件ならびに命令を読めるようにしてもよい。ユーザがそれらを読んだ後、コンピューティングデバイスは、非接触カードをコンピューティングデバイス上またはその近くにタップまたは持ち込むようにユーザに指示でき、ワンタップ動作を使用して、本明細書で説明する認証および支払い動作を開始すると共に、取引条件を受け入れることができる。
【0074】
ブロック604において、ルーチン600は、非接触カードから暗号化されたデータを受信することを含み、暗号化されたデータは、ユーザを認証するための認証情報を含む。コンピューティングデバイスは、非接触カードが通信範囲に入ったことに応答して、非接触カードとの交換を開始するように構成される。非接触カードは、カードを認証し、支払いを提供するために使用されるコンピューティングデバイスに、データを通信するように構成できる。本明細書で説明するように、非接触カードは、認証および/または支払いのためのデータを含む暗号文またはMAC暗号文を生成するように構成される。実施形態では、データは、共有秘密、一意の識別子、顧客識別子、カウンタ値、またはそれらの組み合わせのうちの1つまたは複数を含む。場合によっては、データは、支払いに使用され得るアカウント番号または他のトークンを含んでもよい。コンピューティングデバイスは、NFC読み取り動作の一部としてデータを要求し、1つまたは複数のNFCメッセージで非接触カードから暗号文を受信してもよい。
【0075】
実施形態では、コンピューティングデバイスは、カードからデータを受信し、データをメモリに記憶できる。実施形態では、コンピューティングデバイスは、機密データがコンピューティングデバイスに永続的に記憶されないようにするために、データをメモリに一時的に記憶するように構成される。メモリは、揮発性メモリまたは不揮発性メモリであってもよく、データが1つまたは他のデバイスまたはシステムに通信され、コンピューティングデバイスによって削除されるまで、データを記憶するように構成されてもよい。
【0076】
ブロック606において、ルーチン600は、暗号化されたデータおよび/またはレンタルデータをシステムに送信することを含み、レンタルデータは商品のレンタルに対応する。いくつかの実施形態では、
図3Aで説明したように、コンピューティングデバイスは、ユーザが商品をレンタルできるようにするためにデータを処理できるレンタルシステムに、暗号化されたデータおよびレンタルデータを送信するように構成される。コンピューティングデバイスは、本明細書で説明するように、ネットワーク108などのネットワークを介して、1つまたは複数の安全なメッセージでデータを送信できる。暗号化されたデータは、非接触カードから受信した変更されていないMAC暗号文を含んでもよく、レンタルデータは、レンタルに対応するデータ、例えば、レンタルの日付/時間、レンタルの場所、商品の識別子、商品の状態などを含んでもよい。
【0077】
場合によっては、レンタルデータは、レンタルの所望の継続時間、例えば2時間、を含んでもよく、レンタルシステムは、本明細書で説明するように、所望の時間にわたって商品をレンタルし、前もって銀行システムから支払いを引き出すためのコストを計算できる。継続時間が終了すると、コンピューティングデバイスは、商品のレンタルを無効にするか、または商品がまだ使用されていると判断し、ユーザに追加料金を請求できる。他の例では、コンピューティングデバイスおよびレンタルシステムを含むシステムは、ユーザが商品を利用し終えるまでユーザに請求しないように構成できる。これらの場合、コンピューティングデバイスは、商品のレンタルがいつ終了したかを判断するように構成される。例えば、コンピューティングデバイスは、タッチスクリーンディスプレイ上のGUIを介してユーザ選択を受信できる。別の例では、コンピューティングデバイスは、時間切れを検出するか、商品が特定の時間または設定された時間にわたって使用されなかったことを検出できる。コンピューティングデバイスは、レンタルが完了すると、レンタル費用を判断して支払い要求するために、レンタルシステムに終了日/時間を送信するように構成される。
【0078】
いくつかの実施形態では、
図3Bで説明したように、コンピューティングデバイスは、銀行システムと直接通信して、非接触カード、場合によってはユーザを認証するように構成してもよい。これらの場合、コンピューティングデバイスは、暗号化されたデータおよびレンタルデータを銀行システムの1つまたは複数のサーバに送信できる。この構成では、コンピューティングデバイスは、1つまたは複数の計算に基づいて商品レンタルの金額を判断することができ、支払い要求を銀行システムに送信できる。これらの例では、コンピューティングデバイスは、レンタルデータを銀行システムに送信する必要がなく、認証動作および支払い要求を実行するために暗号化されたデータを銀行システムに送信するだけでよい。
【0079】
ブロック608において、ルーチン600は、商品のレンタルを有効にするための指示を受信することを含む。例えば、コンピューティングデバイスは、商品のレンタルが許可されたことをレンタルシステムから受信できる。コンピューティングデバイスは、非接触カードの認証の成功および場合によってはレンタルに対する支払いに応答して、レンタルシステムから指示を受信できる。場合によっては、コンピューティングデバイスは、レンタルシステムから商品のレンタルを拒否する指示を受信できることに留意されたい。
【0080】
場合によっては、コンピューティングデバイスは、銀行システムから指示を受信してもよい。銀行システムからの指示は、カードが認証に成功した(または成功しなかった)ことを示すことができる。ユーザが認証されたかどうかを示す。支払いが商品のレンタル前に収集される場合、コンピューティングデバイスはまた、レンタルに対する支払いが成功したか否かの指示を銀行システムから受信できる。
【0081】
ブロック610において、ルーチン600は、指示に基づいて商品のレンタルを許可するアクションを実行させることを含む。例えば、コンピューティングデバイスは、商品のロックを解除するためにロック機構に信号を送信できる。他の例は、1つまたは複数の信号を送信して、商品に電力を印加すること、商品のモータを有効にすること、ディスプレイ上でユーザに指示を提供すること、などを含んでもよい。実施形態では、カードおよび/またはユーザが認証されないか、または支払いが収集できない場合、コンピューティングデバイスは、ユーザが商品をレンタルするのを防ぐことができる。例えば、コンピューティングデバイスは、商品のロックを維持し、電力が印加されるのを防止することなどができる。実施形態はこれらの例に限定されない。
【0082】
図7は、例示的な実施形態に係るデータ伝送システム700を示している。以下でさらに説明するように、システム700は、非接触カード102と、コンピューティングデバイス106と、ネットワーク702と、サーバ704とを含み得る。
図7は、コンポーネントの単一のインスタンスを示しているが、システム700は、コンポーネントをいくつでも含み得る。
【0083】
システム700は、1つまたは複数の非接触カード102を含み得、これらは、以下でさらに説明される。いくつかの実施形態では、非接触カード102は、一例ではNFCを利用して、コンピューティングデバイス106と無線通信できる。
【0084】
システム700は、ネットワーク対応コンピュータであり得るコンピューティングデバイス106を含み得る。本明細書で言及されるように、ネットワーク対応コンピュータは、コンピュータデバイス、または、例えば、サーバ、ネットワークアプライアンス、パーソナルコンピュータ、ワークステーション、電話、ハンドヘルドPC、パーソナルデジタルアシスタント、シンクライアント、ファットクライアント、インターネットブラウザ、またはその他のデバイスを含む通信デバイスを含み得るが、これらに限定されない。クライアントデバイス106はまた、モバイルデバイスであり得る。例えば、モバイルデバイスには、Apple(登録商標)のiPhone(登録商標)、iPod(登録商標)、iPad(登録商標)、またはAppleのiOS(登録商標)オペレーティングシステムを実行するその他のモバイルデバイス、MicrosoftのWindows(登録商標)Mobileオペレーティングシステムを実行するデバイス、GoogleのAndroid(登録商標)オペレーティングシステムを実行するデバイス、および/または他のスマートフォン、タブレット、または同様のウェアラブルモバイルデバイスが含まれ得る。
【0085】
コンピューティングデバイス106デバイスは、プロセッサおよびメモリを含むことができ、処理回路は、本明細書に記載されている機能を実行するために必要に応じて、プロセッサ、メモリ、エラーおよびパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブおよび改ざん防止ハードウェアを含む追加のコンポーネントを含み得ることが理解される。クライアントデバイス104は、ディスプレイおよび入力デバイスをさらに含み得る。ディスプレイは、コンピュータモニター、フラットパネルディスプレイ、および液晶ディスプレイ、発光ダイオードディスプレイ、プラズマパネル、およびブラウン管ディスプレイを含むモバイルデバイス画面などの視覚情報を提示するための任意のタイプのデバイスであり得る。入力デバイスは、タッチスクリーン、キーボード、マウス、カーソル制御デバイス、タッチスクリーン、マイク、デジタルカメラ、ビデオレコーダまたはカムコーダなど、ユーザのデバイスによって利用可能でサポートされている情報をユーザのデバイスに入力するための任意のデバイスを含み得る。これらのデバイスは、情報を入力し、本明細書に記載のソフトウェアおよび他のデバイスと相互作用するために使用できる。
【0086】
いくつかの例では、システム700のコンピューティングデバイス106は、例えば、システム700の1つまたは複数のコンポーネントとのネットワーク通信を可能にし、データを送信および/または受信する、ソフトウェアアプリケーションなどの1つまたは複数のアプリケーションを実行できる。
【0087】
コンピューティングデバイス106は、1つまたは複数のネットワーク702を介して1つまたは複数のサーバ704と通信でき、サーバ704とのそれぞれのフロントエンドからバックエンドへのペアとして動作できる。コンピューティングデバイス106は、例えば、コンピューティングデバイス106上で実行されるモバイルデバイスアプリケーションから、1つまたは複数の要求をサーバ704に送信できる。1つまたは複数の要求は、サーバ704からのデータの検索に関連付けられ得る。サーバ704は、コンピューティングデバイス106から1つまたは複数の要求を受信できる。コンピューティングデバイス106からの1つまたは複数の要求に基づいて、サーバ704は、1つまたは複数のデータベース(図示せず)から要求されたデータを検索するように構成され得る。1つまたは複数のデータベースからの要求されたデータの受信に基づいて、サーバ704は、受信されたデータをコンピューティングデバイス106に送信するように構成され得、受信されたデータは、1つまたは複数の要求に応答する。
【0088】
システム700は、1つまたは複数のネットワーク702を含み得る。いくつかの例では、ネットワーク702は、無線ネットワーク、有線ネットワーク、または無線ネットワークと有線ネットワークの任意の組み合わせのうちの1つまたは複数であり得、コンピューティングデバイス106をサーバ704に接続するように構成され得る。例えば、ネットワーク702は、光ファイバネットワーク、パッシブ光ネットワーク、ケーブルネットワーク、インターネットネットワーク、衛星ネットワーク、ワイヤレスローカルエリアネットワーク(LAN)、移動体通信のためのグローバルシステム、パーソナルコミュニケーションサービス、パーソナルエリアネットワーク、ワイヤレスアプリケーションプロトコル、マルチメディアメッセージングサービス、拡張メッセージングサービス、ショートメッセージサービス、時間分割マルチプレックスベースのシステム、コード分割マルチアクセスベースのシステム、D-AMPS、Wi-Fi、固定ワイヤレスデータ、IEEE 802.11ファミリー、802.15ファミリー、又は他のIEEE802通信プロトコル、Bluetooth、NFC、無線周波数識別(RFID)、Wi-Fiなどのうちの1つまたは複数を含み得る。
【0089】
さらに、ネットワーク702は、電話回線、光ファイバ、IEEEイーサネット802.3、ワイドエリアネットワーク、ワイヤレスパーソナルエリアネットワーク、LAN、またはインターネットなどのグローバルネットワークを含むがこれらに限定されない。さらに、ネットワーク702は、インターネットネットワーク、無線通信ネットワーク、セルラーネットワークなど、またはそれらの任意の組み合わせをサポートできる。ネットワーク702は、スタンドアロンネットワークとして、または互いに協力して動作する、1つのネットワーク、または上記の任意の数の例示的なタイプのネットワークをさらに含み得る。ネットワーク702は、それらが通信可能に結合されている1つまたは複数のネットワーク要素の1つまたは複数のプロトコルを利用できる。ネットワーク702は、他のプロトコルとの間でネットワークデバイスの1つまたは複数のプロトコルに変換できる。ネットワーク702は、単一のネットワークとして示されているが、1つまたは複数の例によれば、ネットワーク702は、例えば、インターネット、サービスプロバイダのネットワーク、ケーブルテレビネットワーク、クレジットカードアソシエーションネットワークなどの企業ネットワーク、およびホームネットワークなどの複数の相互接続されたネットワークを含み得ることを理解されたい。
【0090】
システム700は、1つまたは複数のサーバ704を含み得る。いくつかの例では、サーバ704は、メモリに結合された1つまたは複数のプロセッサを含み得る。サーバ704は、複数のワークフローアクションを実行するために異なる時間に様々なデータを制御および呼び出すための中央システム、サーバまたはプラットフォームとして構成され得る。サーバ704は、1つまたは複数のデータベースに接続するように構成できる。サーバ704は、少なくとも1つのコンピューティングデバイス106に接続され得る。
【0091】
図8は、例示的な実施形態に係るデータ伝送システムを示している。システム800は、1つまたは複数のサーバ802と、例えば、ネットワーク806を介して通信する送信または送信デバイス804、受信または受信デバイス808を含み得る。送信または送信デバイス804は、
図1Aを参照して上で論じたクライアントデバイス106と同じまたは同様であり得る。受信または受信デバイス808は、
図1Aを参照して上で論じたクライアントデバイス110と同じまたは同様であり得る。ネットワーク806は、
図1Aを参照して上で論じたネットワーク115と同様であり得る。サーバ802は、
図1Aを参照して上で論じたサーバ120と同様であり得る。
図8は、システム800のコンポーネントの単一のインスタンスを示しているが、システム800は、図示されたコンポーネントをいくつでも含み得る。
【0092】
暗号化アルゴリズム、ハッシュベースのメッセージ認証コード(HMAC)アルゴリズム、暗号ベースのメッセージ認証コード(CMAC)アルゴリズムなどの対称暗号化アルゴリズムを使用する場合、対称アルゴリズムと鍵を使用して保護されたデータを最初に処理する当事者と、同じ暗号化アルゴリズムと同じ鍵を使用してデータを受信して処理する当事者との間で、鍵を秘密にしておくことが重要である。
【0093】
同じ鍵を何度も使用しないことも重要である。鍵が頻繁に使用または再利用されると、その鍵が危殆化され得る。鍵が使用されるたびに、同じ鍵を使用して暗号化アルゴリズムによって処理されたデータの追加サンプルが攻撃者に提供される。攻撃者が持っている同じ鍵で処理されたデータが多いほど、攻撃者が鍵の値を発見する可能性が高くなる。頻繁に使用される鍵は、様々な攻撃に含まれ得る。
【0094】
さらに、対称暗号化アルゴリズムが実行されるたびに、対称暗号化動作中に使用された鍵に関するサイドチャネルデータなどの情報が明らかになり得る。サイドチャネルデータには、鍵の使用中に暗号化アルゴリズムが実行されるときに発生するわずかな電力変動が含まれ得る。サイドチャネルデータを十分に測定して、攻撃者が鍵を回復できるようにするための鍵に関する十分な情報を明らかにできる。同じ鍵を使用してデータを交換すると、同じ鍵で処理されたデータが繰り返し明らかにされる。
【0095】
しかしながら、特定の鍵が使用される回数を制限することにより、攻撃者が収集できるサイドチャネルデータの量が制限され、それによって、この攻撃や他の種類の攻撃への露出が減少する。本明細書でさらに説明するように、暗号情報の交換に関与する当事者(例えば、送信者および受信者)は、カウンタ値と組み合わせて最初の共有マスター対称鍵から独立して鍵を生成し、それによって、使用されている共有対称鍵を定期的に置き換え、当事者の同期を維持するために任意の形式の鍵交換に頼る必要がある。送信者と受信者が使用する共有秘密対称鍵を定期的に変更することで、上記の攻撃を不可能にする。
【0096】
図8に戻ると、システム800は、鍵の多様化を実施するように構成され得る。例えば、送信者および受信者は、それぞれのデバイス804および808を介してデータ(例えば、元の機密データ)を交換することを望むことができる。上記したように、送信デバイス804および受信デバイス808の単一のインスタンスが含まれ得るが、各当事者が同じ共有秘密対称鍵を共有する限り、1つまたは複数の送信デバイス804および1つまたは複数の受信デバイス808が関与し得ることが理解される。いくつかの例では、送信デバイス804および受信デバイス808は、同じマスター対称鍵でプロビジョニングされ得る。さらに、同じ秘密対称鍵を保持する任意の当事者またはデバイスは、送信デバイス804の機能を実行でき、同様に、同じ秘密対称鍵を保持する任意の当事者は、受信デバイス808の機能を実行できることが理解される。いくつかの例では、対称鍵は、安全なデータの交換に関与する送信デバイス804および受信デバイス808以外の全ての当事者から秘密に保たれる共有秘密対称鍵を備え得る。さらに、送信デバイス804と受信デバイス808の両方に同じマスター対称鍵を提供でき、さらに、送信デバイス804と受信デバイス808との間で交換されるデータの一部は、カウンタ値と呼ばれ得るデータの少なくとも一部分を含み得ることが理解される。カウンタ値は、送信デバイス804と受信デバイス808との間でデータが交換されるたびに変化する数を備え得る。
【0097】
システム800は、1つまたは複数のネットワーク806を含み得る。いくつかの例では、ネットワーク806は、無線ネットワーク、有線ネットワーク、または無線ネットワークと有線ネットワークの任意の組み合わせのうちの1つまたは複数であり得、1つまたは複数の送信デバイス804および1つまたは複数の受信デバイス808をサーバ802に接続するように構成され得る。例えば、ネットワーク806は、光ファイバネットワーク、パッシブ光ネットワーク、ケーブルネットワーク、インターネットネットワーク、衛星ネットワーク、ワイヤレスLAN、モバイル通信のためのグローバルシステム、パーソナル通信サービス、パーソナルエリアネットワーク、ワイヤレスアプリケーションプロトコル、マルチメディアメッセージングサービス、拡張メッセージングサービス、ショートメッセージサービス、時間分割マルチプレックスベースのシステム、コード分割マルチアクセスベースのシステム、D-AMPS、Wi-Fi、固定ワイヤレスデータ、IEEE 802.11ファミリー、802.15ファミリー、Bluetooth、NFC、RFID、Wi-Fiなどのうちの1つまたは複数を含み得る。
【0098】
さらに、ネットワーク806は、これらに限定されないが、電話回線、光ファイバ、IEEEイーサネット802.3、ワイドエリアネットワーク、ワイヤレスパーソナルエリアネットワーク、LAN、またはインターネットなどのグローバルネットワークを含み得る。さらに、ネットワーク806は、インターネットネットワーク、無線通信ネットワーク、セルラーネットワークなど、またはそれらの任意の組み合わせをサポートできる。ネットワーク806は、スタンドアロンネットワークとして、または互いに協力して動作する、1つのネットワーク、または上記の任意の数の例示的なタイプのネットワークをさらに含み得る。ネットワーク806は、それらが通信可能に結合されている1つまたは複数のネットワーク要素の1つまたは複数のプロトコルを利用できる。ネットワーク806は、他のプロトコルとの間で、ネットワークデバイスの1つまたは複数のプロトコルに変換できる。ネットワーク806は、単一のネットワークとして示されているが、1つまたは複数の例によれば、ネットワーク806は、例えば、インターネット、サービスプロバイダのネットワーク、ケーブルテレビネットワーク、クレジットカードアソシエーションネットワークなどの企業ネットワーク、およびホームネットワークなどの複数の相互接続されたネットワークを備え得ることを理解されたい。
【0099】
いくつかの例では、1つまたは複数の送信デバイス804および1つまたは複数の受信デバイス808は、ネットワーク806を通過することなく、相互に通信し、データを送受信するように構成され得る。例えば、1つまたは複数の送信デバイス804と1つまたは複数の受信デバイス808との間の通信は、NFC、Bluetooth、RFID、Wi-Fiなどのうちの少なくとも1つを介して発生し得る。
【0100】
ブロック810で、送信デバイス804が対称暗号化動作で機密データを処理する準備をしているとき、送信者は、カウンタを更新できる。さらに、送信デバイス804は、適切な対称暗号法アルゴリズムを選択でき、これは、対称暗号化アルゴリズム、HMACアルゴリズム、およびCMACアルゴリズムのうちの少なくとも1つを含み得る。いくつかの例では、多様化値を処理するために使用される対称アルゴリズムは、所望の長さの多様化された対称鍵を生成するために必要に応じて使用される任意の対称暗号化アルゴリズムを備え得る。対称アルゴリズムの非限定的な例には、3DESまたはAES128、HMAC-SHA-256などの対称HMACアルゴリズム、AES-CMACなどの対称CMACアルゴリズムなどの対称暗号化アルゴリズムが含まれ得る。選択された対称アルゴリズムの出力が十分に長い鍵を生成しない場合、異なる入力データと同じマスター鍵で対称アルゴリズムの複数の反復を処理するなどの技術は、十分な長さの鍵を生成するために必要に応じて組み合わせることができる複数の出力を生成し得ることを理解されたい。
【0101】
ブロック812で、送信デバイス804は、選択された暗号化アルゴリズムを採用し、マスター対称鍵を使用して、カウンタ値を処理できる。例えば、送信者は、対称暗号化アルゴリズムを選択し、送信デバイス804と受信デバイス808との間の全ての会話で更新するカウンタを使用できる。次に、送信デバイス804は、マスター対称鍵を使用して、選択された対称暗号化アルゴリズムでカウンタ値を暗号化し、多様化された対称鍵を作成できる。
【0102】
いくつかの例では、カウンタ値は、暗号化されない場合がある。これらの例では、カウンタ値は、暗号化なしで、ブロック812で送信デバイス804と受信デバイス808との間で送信され得る。
【0103】
ブロック814で、多様化された対称鍵を使用して、結果を受信デバイス808に送信する前に機密データを処理できる。例えば、送信デバイス804は、多様化された対称鍵を使用する対称暗号化アルゴリズムを使用して機密データを暗号化でき、出力は、保護された暗号化データを備える。次に、送信デバイス804は、保護された暗号化データを、カウンタ値とともに、処理のために受信デバイス808に送信できる。
【0104】
ブロック816で、受信デバイス808は、最初にカウンタ値を取得し、次に、暗号化への入力としてカウンタ値を使用し、暗号化のための鍵としてマスター対称鍵を使用して、同じ対称暗号化を実行できる。暗号化の出力は、送信者によって作成されたものと同じ多様な対称鍵値であり得る。
【0105】
次に、ブロック818で、受信デバイス808は、保護された暗号化データを取得し、多様化された対称鍵とともに対称復号アルゴリズムを使用して、保護された暗号化データを復号できる。
【0106】
ブロック820で、保護された暗号化されたデータを復号した結果として、元の機密データが明らかにされ得る。
【0107】
次に機密データを送信者から受信者にそれぞれの送信デバイス804および受信デバイス808を介して送信する必要があるとき、異なるカウンタ値を選択して、異なる多様な対称鍵を生成できる。マスター対称鍵と同じ対称暗号法アルゴリズムを使用してカウンタ値を処理することにより、送信デバイス804と受信デバイス808の両方が、同じ多様な対称鍵を独立して生成できる。マスター対称鍵ではなく、この多様な対称鍵は、機密データを保護するために使用される。
【0108】
上で説明したように、送信デバイス804と受信デバイス808の両方は、最初に、共有マスター対称鍵をそれぞれ所有している。共有マスター対称鍵は、元の機密データの暗号化には使用されない。多様化された対称鍵は、送信デバイス804と受信デバイス808の両方によって独立して作成されるため、両者の間で送信されることは決してない。したがって、攻撃者は、多様化された対称鍵を傍受することはできず、攻撃者は、マスター対称鍵で処理されたデータを見ることはない。機密データではなく、カウンタ値のみがマスター対称鍵で処理される。その結果、マスター対称鍵に関するサイドチャネルデータの削減が明らかになる。さらに、送信デバイス804および受信デバイス808の動作は、新しい多様化値、したがって、新しい多様化された対称鍵を作成する頻度に関する対称要件によって支配され得る。一実施形態では、新しい多様化値、したがって、新しい多様化された対称鍵は、送信デバイス804と受信デバイス808との間の全ての交換のために作成され得る。
【0109】
いくつかの例では、鍵多様化値は、カウンタ値を構成し得る。鍵多様化値の他の非限定的な例には、新しい多様化鍵が必要とされるたびに生成されるランダムナンス、送信デバイス804から受信デバイス808に送信されるランダムナンス、送信デバイス804および受信デバイス808から送信されたカウンタ値の完全な値、送信デバイス804および受信デバイス808から送信されるカウンタ値の一部分、送信デバイス804および受信デバイス808によって独立して維持されるが、2つのデバイス間で送信されないカウンタ、送信デバイス804と受信デバイス808との間で交換されるワンタイムパスコード、機密データの暗号化ハッシュが含まれる。いくつかの例では、鍵多様化値の1つまたは複数の部分が、複数の多様化された鍵を作成するために当事者によって使用され得る。例えば、カウンタを鍵多様化値として使用できる。さらに、上記の例示的な鍵多様化値のうちの1つまたは複数の組み合わせを使用できる。
【0110】
他の例では、カウンタの一部分を鍵多様化値として使用できる。複数のマスター鍵値が当事者間で共有される場合、複数の多様化された鍵値は、本明細書に記載のシステムおよびプロセスによって取得され得る。新しい多様化値、したがって、新しい多様化された対称鍵は、必要に応じて何度でも作成できる。最も安全な場合、送信デバイス804と受信デバイス808との間の機密データの交換ごとに、新しい多様化値が作成され得る。事実上、これにより、シングルユースセッション鍵などのワンタイム使用鍵が作成され得る。
【0111】
図9は、非接触カード102の例示的な構成を示しており、非接触カード102の前面または背面にサービスプロバイダ表示902として表示されたサービスプロバイダによって発行された、非接触カード、クレジットカード、デビットカード、またはギフトカードなどの支払いカードを含み得る。いくつかの例では、非接触カード102は、支払いカードとは関係がなく、識別カードを含むことができるが、これに限定されない。いくつかの例では、トランザクションカードは、デュアルインターフェースの非接触支払いカード、ポイントカード等を含み得る。非接触カード102は、プラスチック、金属、および他の材料から構成される単層または1つまたは複数の積層層を含み得る基板908を含み得る。例示的な基板材料には、ポリ塩化ビニル、ポリ塩化ビニルアセテート、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、カーボン、紙、および生分解性材料が含まれる。いくつかの例では、非接触カード102は、ISO/IEC 7816規格のID-1フォーマットに準拠する物理的特性を有し得、そうでなければ、トランザクションカードは、ISO/IEC 14443規格に準拠し得る。しかしながら、本開示に係る非接触カード102は、異なる特性を有し得ることが理解され、本開示は、トランザクションカードが支払いカードに実施されることを必要としない。
【0112】
非接触カード102はまた、カードの前面および/または背面に表示される識別情報906、および接触パッド904を含み得る。接触パッド904は、1つ又は複数のパッドを含み、トランザクションカードを介して、ATM、ユーザデバイス、スマートフォン、ラップトップ、デスクトップ、またはタブレットコンピュータなどの他のクライアントデバイスとの接触を確立するように構成され得る。接触パッドは、ISO/IEC 7816規格などの1つ又は複数の規格に従って設計され得、EMVプロトコルに準拠した通信を可能とすることができる。非接触カード102はまた、
図10でさらに説明される処理回路、アンテナおよび他のコンポーネントを含み得る。これらのコンポーネントは、接触パッド904の後ろまたは基板908上の他の場所に、例えば基板908の別の層内に、配置され得、電気的かつ物理的に接触パッド904と結合され得る。非接触カード102はまた、カードの背面に配置され得る磁気ストリップまたはテープを含み得る(
図9には示されていない)。非接触カード102はまた、近距離無線通信(Near-Field Communication:NFC)プロトコルを介して通信可能なアンテナと結合されたNFCデバイスを含んでもよい。実施形態は、この方法に限定されない。
【0113】
図2に示されるように、非接触カード102の接触パッド904は、プロセッサ1002、メモリ1004及び1つ又は複数のインターフェース1006を含む、情報を格納、処理及び通信するための処理回路1016を含み得る。処理回路1016は、本明細書に記載の機能を実行するために必要に応じて、プロセッサ、メモリ、エラーおよびパリティ/CRCチェッカー、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブおよび改ざん防止ハードウェアを含む追加のコンポーネントを含み得ることが理解される。
【0114】
メモリ1004は、読み取り専用メモリ、ライトワンスリードマルチプルメモリ、または読み取り/書き込みメモリ、例えば、RAM、ROM、およびEEPROMであり得、非接触カード102は、これらのメモリのうちの1つまたは複数を含み得る。読み取り専用メモリは、工場で読み取り専用または1回限りのプログラム可能としてプログラム可能である。1回限りのプログラム可能性により、1回書き込みを行ってから、何度も読み取る機会を提供する。ライトワンス/リードマルチプルメモリは、メモリチップが工場から出荷された後のある時点でプログラムできる。一度メモリをプログラムすると、書き換えはできないが、何度も読み取ることができる。読み取り/書き込みメモリは、工場出荷後に何度もプログラムおよび再プログラムされ得る。読み取り/書き込みメモリはまた、工場出荷後に何度も読み取られ得る。いくつかの例では、メモリ1004は、暗号化データに対してプロセッサ1002によって実行される暗号化アルゴリズムを利用する暗号化メモリであってもよい。
【0115】
メモリ1004は、1つまたは複数のアプレット1008、1つまたは複数のカウンタ1010、顧客識別子1014、及び仮想アカウント番号であってもよいアカウント番号1012を格納するように構成され得る。1つまたは複数のアプレット1008は、Java(登録商標)Cardアプレットなどの1つまたは複数の非接触カード上で実行するように構成された1つまたは複数のソフトウェアアプリケーションを備え得る。しかしながら、アプレット1008は、JavaCardアプレットに限定されず、代わりに、非接触カードまたは限られたメモリを有する他のデバイス上で動作可能な任意のソフトウェアアプリケーションであり得ることが理解される。1つまたは複数のカウンタ1010は、整数を格納するのに十分な数値カウンタを備え得る。顧客識別子1014は、非接触カード102のユーザに割り当てられた一意の英数字識別子を備え得、識別子は、非接触カードのユーザを他の非接触カードユーザから区別し得る。いくつかの例では、顧客識別子1014は、顧客とその顧客に割り当てられたアカウントの両方を識別し得、さらに、顧客のアカウントに関連付けられた非接触カード102を識別し得る。記載したように、アカウント番号1012は、非接触カード102に関連付けられた何千もの1回限り(ワンタイム)の使用の仮想アカウント番号を含んでもよい。非接触カード102のアプレット1008は、(例えば、アカウント番号1012を選択し、選択されたアカウント番号1012を使用済みとしてマークし、自動入力サービスによる自動入力のためにアカウント番号1012をモバイルデバイスに送信して)アカウント番号1012を管理するように構成され得る。
【0116】
前述の例示的な実施形態のプロセッサ1002およびメモリ要素は、接触パッド904を参照して説明されているが、本開示はそれに限定されない。これらの要素は、非接触パッド904の外側に実施されるか、非接触パッド904から完全に分離されて、または接触パッド904内に配置されるプロセッサ1002およびメモリ1004要素に加えてさらなる要素として実施され得ることが理解される。
【0117】
いくつかの例では、非接触カード102は、1つまたは複数のアンテナ1018を備え得る。1つまたは複数のアンテナ1018は、非接触カード102内で、接触パッド904の処理回路1016の周りに配置され得る。例えば、1つまたは複数のアンテナ1018は、処理回路1016と一体であり得、1つまたは複数のアンテナ1018は、外部ブースターコイルと共に使用され得る。他の例として、1つまたは複数のアンテナ1018は、接触パッド904および処理回路1016の外部にあり得る。
【0118】
一実施形態では、非接触カード102のコイルは、空芯変圧器の二次側として機能できる。端子は、電力または振幅変調を遮断することによって非接触カード102と通信できる。非接触カード101は、非接触カードの電源接続のギャップを使用して端子から送信されたデータを推測でき、これは、1つまたは複数のコンデンサを介して機能的に維持できる。非接触カード102は、非接触カードのコイルの負荷を切り替えるか、または負荷変調することによって、通信を戻すことができる。負荷変調は、干渉によって端子のコイルで検出され得る。より一般的には、アンテナ1018、プロセッサ1002、及び/又はメモリ1004を使用して、非接触カード101は、NFC、Bluetooth、及び/又はWi-Fi通信を介して通信するための通信インターフェースを提供する。
【0119】
上で説明したように、非接触カード102は、スマートカードまたはJavaCardなどの限られたメモリを有する他のデバイス上で動作可能なソフトウェアプラットフォーム上に構築され得、1つまたは複数のアプリケーションまたはアプレットが安全に実行され得る。アプレット1008を非接触カードに追加して、様々なモバイルアプリケーションベースのユースケースで多要素認証(MFA)用のワンタイムパスワード(OTP)を提供できる。アプレット1008は、(例えばモバイルデバイス又は店頭(POS)端末の)モバイルNFCリーダなどのリーダからの近接場データ交換要求などの1つまたは複数の要求に応答し、NDEFテキストタグとしてエンコードされた暗号的に安全なOTPを備えるNDEFメッセージを生成するように構成できる。
【0120】
NDEF OTPの一例は、NDEFショートレコードレイアウト(SR=1)である。そのような例において、1つまたは複数のアプレット1008は、OTPをNDEFタイプ4のよく知られたタイプのテキストタグとしてエンコードするように構成できる。いくつかの例では、NDEFメッセージは、1つまたは複数のレコードを備え得る。アプレット1008は、OTPレコードに加えて1つまたは複数の静的タグレコードを追加するように構成できる。
【0121】
いくつかの例では、1つまたは複数のアプレット1008は、RFIDタグをエミュレートするように構成され得る。RFIDタグは、1つまたは複数の多型タグを含み得る。いくつかの例では、タグが読み取られるたびに、非接触カードの信頼性を示す可能性のある様々な暗号化データが提示される。1つまたは複数のアプレット1008に基づいて、タグのNFC読み取りが処理され得、データが銀行システムのサーバなどのサーバに送信され得、そしてデータがサーバで検証され得る。
【0122】
いくつかの例では、非接触カード102およびサーバは、カードが適切に識別され得るように特定のデータを含み得る。非接触カード102は、1つまたは複数の一意の識別子(図示なし)を含み得る。読み取り動作が行われるたびに、カウンタ1010はインクリメントするように構成される。いくつかの例では、(例えばモバイルデバイスによって)非接触カード102からデータが読み取られるたびに、カウンタ1010は検証のためにサーバに送信され、(検証の一部として)カウンタ1010がサーバのカウンタと等しいかどうかが判別される。
【0123】
1つまたは複数のカウンタ1010は、リプレイ攻撃を防ぐように構成され得る。例えば、暗号文が取得されて再生された場合、カウンタ1010が読み取られたり、使用されたり、その他の方法で渡されたりすると、その暗号文はすぐに拒否される。カウンタ1010を使用していない場合は、再生され得る。いくつかの例では、カードでインクリメントされるカウンタは、トランザクション用にインクリメントされるカウンタとは異なる。アプレット1008と非接触カード102との間での通信がないため、非接触カード101は、アプリケーショントランザクションカウンタ1010を判断できない。
【0124】
いくつかの例では、カウンタ1010は、同期しなくなり得る。いくつかの例では、斜めからの読み取りなど、トランザクションを開始する偶発的な読み取りをするために、カウンタ1010は、インクリメントし得るがアプリケーションはカウンタ1010を処理しない。いくつかの例では、モバイルデバイス10がウェイクアップすると、NFCが有効となり、デバイス110は、利用可能なタグを読み取るように構成され得るが、読み取りに対するアクションは実行されない。
【0125】
カウンタ1010の同期を維持するために、モバイルデバイス110がウェイクアップしたことを検出し、銀行システムのサーバと同期して、検出によって読み取りが発生したことを示し、カウンタ1010を進めるように構成された、バックグラウンドアプリケーションなどのアプリケーションが実行され得る。他の例において、ハッシュ化されたワンタイムパスワードを利用することで、同期ミスのウィンドウを受け入れることができる。例えば、閾値10内の場合、カウンタ1010は、進むように構成され得る。しかし、別の閾値内、例えば10又は1400内の場合、1つ又は複数のアプリケーションを介して、ユーザのデバイスを介して1回又は複数回ユーザのタップ、ジェスチャ、又は他の方法で指示することを要求する、再同期を実行するための要求が処理され得る。カウンタ1010が適切なシーケンスでインクリメントすると、ユーザがそのようにしたことを知ることができる。
【0126】
カウンタ1010、マスター鍵、多様化鍵を参照して本明細書で記載された鍵多様化技術は、鍵多様化技術の暗号化及び/又は復号の一例である。本開示は、他の種類の鍵多様化技術を同様に適用できるため、当該例の鍵多様化技術は、本開示を限定するものとみなされるべきではない。
【0127】
非接触カード102の作成プロセス中に、2つの暗号化鍵がカード毎に一意に割り当てられ得る。暗号化鍵は、データの暗号化と復号の両方で使用できる対称鍵を備え得る。Triple DES(3DES)アルゴリズムは、EMVで使用でき、非接触カード102のハードウェアによって実施される。鍵多様化プロセスを使用することにより、鍵を必要とする各エンティティの一意に識別可能な情報に基づいて、マスター鍵から1つまたは複数の鍵を導出し得る。
【0128】
いくつかの例では、脆弱性の影響を受けやすい3DESアルゴリズムの欠点を克服するために、セッション鍵(セッションごとの一意の鍵など)を取得できるが、マスター鍵を使用する代わりに、カードから派生した一意の鍵とカウンタを多様化データとして使用できる。例えば、非接触カード102が動作中に使用されるたびに、メッセージ認証コード(MAC)の作成と暗号化の実行に異なる鍵が使用され得る。これにより暗号化が3層になる。セッション鍵は、1つまたは複数のアプレットによって生成され、(EMV4.3Book2A1.3.1Common Session Key Derivationで定められるように)1つまたは複数のアルゴリズムでアプリケーショントランザクションカウンタを使用して導出される。
【0129】
さらに、各カードのインクリメントは一意であり、個人化によって割り当てられるか、いくつかの識別情報によってアルゴリズムによって割り当てられる。例えば、奇数番号のカードは2ずつインクリメントでき、偶数番号のカードは5ずつインクリメントできる。いくつかの例では、インクリメントは、シーケンシャルリードでも異なり得、1枚のカードが1、3、5、2、2、…の繰り返しで順番にインクリメントし得る。特定のシーケンスまたはアルゴリズムシーケンスは、個人化時に、または一意の識別子から派生した1つまたは複数のプロセスから定義され得る。これにより、リプレイ攻撃者が少数のカードインスタンスから一般化するのが難しくなり得る。
【0130】
認証メッセージは、16進ASCII形式のテキストNDEFレコードのコンテンツとして配信され得る。別の例では、NDEFレコードは、16進形式でエンコードされ得る。
【0131】
図11は、本開示の1つまたは複数の実施形態に係る認証されたアクセスを提供するための例示的なシーケンスを示すタイミング図である。シーケンスフロー1100は、非接触カード102およびコンピューティングデバイス106を含み得、これは、アプリケーション1102およびプロセッサ1104を含み得る。
【0132】
ライン1108で、アプリケーション1102は、非接触カード102と通信する(例えば、非接触カード102に近づけられた後)。アプリケーション1102と非接触カード102との間の通信は、アプリケーション1102と非接触カード102との間のNFCデータ転送を可能にするために、コンピューティングデバイス106のカードリーダ(図示せず)に十分に近い非接触カード102を含み得る。
【0133】
ライン1106で、コンピューティングデバイス106と非接触カード102との間で通信が確立された後、非接触カード102は、メッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは、非接触カード102がアプリケーション1102によって読み取られるときに発生し得る。特に、これは、NFCデータ交換フォーマットに従って作成され得る近距離無線データ交換(NDEF)タグのNFC読み取りなどの読み取り時に発生し得る。例えば、アプリケーション1102などのリーダアプリケーションは、NDEF生成アプレットのアプレットIDを用いて、アプレット選択メッセージなどのメッセージを送信できる。選択が確認されると、一連の選択ファイルメッセージとそれに続く読み取りファイルメッセージが送信され得る。例えば、シーケンスには、「機能ファイルの選択」、「機能ファイルの読み取り」、および「NDEFファイルの選択」が含まれ得る。この時点で、非接触カード102によって維持されるカウンタ値は、更新またはインクリメントされ得、その後に「NDEFファイルの読み取り」が続き得る。この時点で、ヘッダと共有秘密を含むメッセージが生成され得る。次に、セッション鍵を生成できる。MAC暗号文は、メッセージから作成できる。メッセージには、ヘッダと共有秘密が含まれ得る。次に、MAC暗号文をランダムデータの1つまたは複数のブロックと連結し、MAC暗号文と乱数(RND)をセッション鍵で暗号化できる。その後、暗号文とヘッダを連結し、ASCII16進数としてエンコードして、NDEFメッセージ形式で返すことができる(「NDEFファイルの読み取り」メッセージに応答)。
【0134】
いくつかの例では、MAC暗号文はNDEFタグとして送信され得、他の例では、MAC暗号文はユニフォームリソースインジケータとともに(例えば、フォーマットされた文字列として)含まれ得る。いくつかの例では、アプリケーション1102は、非接触カード102に要求を送信するように構成され得、要求は、MAC暗号文を生成するための命令を備える。
【0135】
ライン1110で、非接触カード102は、MAC暗号文をアプリケーション1102に送信する。いくつかの例では、MAC暗号文の送信は、NFCを介して行われるが、本開示はそれに限定されない。他の例では、この通信は、Bluetooth、Wi-Fi、または他の無線データ通信手段を介して行われ得る。ライン1112で、アプリケーション1102は、MAC暗号文をプロセッサ1104に通信する。
【0136】
ライン1114で、プロセッサ1104は、アプリケーション122からの命令に従って、MAC暗号文を検証する。例えば、以下で説明するように、MAC暗号文を検証できる。いくつかの例では、MAC暗号文の検証は、コンピューティングデバイス106とデータ通信している銀行システムのサーバなど、コンピューティングデバイス106以外のデバイスによって実行され得る。例えば、プロセッサ1104は、MAC暗号文を検証できる銀行システムのサーバに送信するために、MAC暗号文を出力できる。いくつかの例では、MAC暗号文は、検証の目的でデジタル署名として機能し得る。この検証を実行するために、公開鍵非対称アルゴリズム、例えば、デジタル署名アルゴリズムとRSAアルゴリズム、またはゼロ知識プロトコルなどの他のデジタル署名アルゴリズムを使用できる。
【0137】
図12は、例示的な実施形態に係る、NDEFショートレコードレイアウト(SR=1)データ構造1200を示している。1つまたは複数のアプレットは、OTPをNDEFタイプ4のよく知られたタイプのテキストタグとしてエンコードするように構成できる。いくつかの例では、NDEFメッセージは、1つまたは複数のレコードを備え得る。アプレットは、OTPレコードに加えて1つまたは複数の静的タグレコードを追加するように構成できる。例示的なタグには、タグタイプ:よく知られているタイプ、テキスト、英語のエンコーディング(en);アプレットID:D2760000850101;機能:読み取り専用アクセス;エンコーディング:認証メッセージは、ASCII16進数としてエンコードできる;type-length-value(TLV)データは、NDEFメッセージを生成するために使用できる個人化パラメータとして提供され得る、が含まれるが、これらに限定されない。一実施形態では、認証テンプレートは、実際の動的認証データを提供するための既知のインデックスを備えた第1のレコードを備え得る。
【0138】
図13は、本開示の1つまたは複数の実施形態を実施するように構成されたシステム1300の図を示している。以下で説明するように、非接触カードの作成プロセス中に、2つの暗号化鍵がカード毎に一意に割り当てられ得る。暗号化鍵は、データの暗号化と復号の両方で使用できる対称鍵を備え得る。Triple DES(3DES)アルゴリズムは、EMVで使用でき、非接触カードのハードウェアによって実施される。鍵多様化プロセスを使用することにより、鍵を必要とする各エンティティの一意に識別可能な情報に基づいて、マスター鍵から1つまたは複数の鍵を導出し得る。
【0139】
マスター鍵管理に関しては、2つの発行者マスター鍵1302、1326が、1つまたは複数のアプレットが発行されるポートフォリオの各部分に対して必要とされ得る。例えば、第1のマスター鍵1302は、発行者暗号文生成/認証鍵(Iss-Key-Auth)を備え得、第2のマスター鍵1326は、発行者データ暗号化鍵(Iss-Key-DEK)を備え得る。本明細書でさらに説明されるように、2つの発行者マスター鍵1302、1326は、カード毎に一意であるカードマスター鍵1308、1320に多様化されている。いくつかの例では、バックオフィスデータとしてのネットワークプロファイルレコードID(pNPR)522および導出鍵インデックス(pDKI)1324を使用して、認証のための暗号化プロセスで使用する発行者マスター鍵1302、1326を識別できる。認証を実行するシステムは、認証時に非接触カードのpNPR1322およびpDKI1324の値を検索するように構成できる。
【0140】
いくつかの例では、ソリューションのセキュリティを強化するために、セッション鍵(セッションごとの一意の鍵など)を取得できるが、上で説明したように、マスター鍵を使用する代わりに、カードから派生した一意の鍵とカウンタを多様化データとして使用できる。例えば、カードが動作中に使用されるたびに、メッセージ認証コード(MAC)の作成と暗号化の実行に異なる鍵が使用され得る。セッション鍵の生成に関して、暗号文を生成し、1つまたは複数のアプレット内のデータを暗号化するために使用される鍵は、カードの一意の鍵(Card-Key-Auth1308およびCard-Key-Dek1320)に基づくセッション鍵を備え得る。セッション鍵(Aut-Session-Key1332およびDEK-Session-Key1310)は、1つまたは複数のアプレットによって生成され、1つまたは複数のアルゴリズムでアプリケーショントランザクションカウンタ(pATC)1304を使用して導出される。データを1つまたは複数のアルゴリズムに適合させるために、4バイトのpATC1304の下位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にはカード一意の派生マスター鍵が含まれ得る、を備え得る。
【0141】
本明細書で説明するように、1つまたは複数のMACセッション鍵は、pATC1304カウンタの下位2バイトを使用して導出できる。非接触カードをタップするたびに、pATC1304が更新されるように構成され、カードマスター鍵Card-Key-AUTH908およびCard-Key-DEK1320は、セッション鍵Aut-Session-Key1332およびDEK-Session-Key1310にさらに多様化される。pATC1304は、個人化時またはアプレットの初期化時にゼロに初期化できる。いくつかの例では、pATCカウンタ1304は、個人化時または個人化の前に初期化され得、各NDEF読み取りで1ずつインクリメントするように構成され得る。
【0142】
さらに、各カードの更新は一意であり、個人化によって割り当てられるか、pUIDまたはその他の識別情報によってアルゴリズムによって割り当てられる。例えば、奇数番号のカードは2ずつインクリメントまたはデクリメントでき、偶数番号のカードは5ずつインクリメントまたはデクリメントできる。いくつかの例では、更新は、シーケンシャルリードでも異なり得、1枚のカードが1、3、5、2、2、…の繰り返しで順番にインクリメントし得る。特定のシーケンスまたはアルゴリズムシーケンスは、個人化時に、または一意の識別子から派生した1つまたは複数のプロセスから定義され得る。これにより、リプレイ攻撃者が少数のカードインスタンスから一般化するのが難しくなり得る。
【0143】
認証メッセージは、16進ASCII形式のテキストNDEFレコードのコンテンツとして配信され得る。いくつかの例では、認証データと、認証データのMACが後に続く8バイトの乱数のみが含まれ得る。いくつかの例では、乱数は暗号文Aの前にあり、1ブロックの長さであり得る。他の例では、乱数の長さに制限があり得ない。さらなる例では、合計データ(すなわち、乱数と暗号文)は、ブロックサイズの倍数であり得る。これらの例では、MACアルゴリズムによって生成されたブロックに一致するように、さらに8バイトのブロックを追加し得る。他の例として、採用されたアルゴリズムが16バイトのブロックを使用した場合、そのブロックサイズの倍数を使用するか、出力をそのブロックサイズの倍数に自動的または手動でパディングし得る。
【0144】
MACは、ファンクション鍵(AUT-Session-Key)1332によって実行され得る。暗号文で指定されたデータは、javacard.signature方法:ALG_DES_MAC8_ISO9797_1_M2_ALG3で処理して、EMV ARQC検証方法に関連付けることができる。この計算に使用される鍵は、上で説明したように、セッション鍵AUT-Session-Key1332を備え得る。上で説明したように、カウンタの下位2バイトを使用して、1つまたは複数のMACセッション鍵を多様化できる。以下で説明するように、AUT-Session-Key1332は、MACデータ1306に使用され得、結果として得られるデータまたは暗号文A1314および乱数RNDは、DEK-Session-Key1310を使用して暗号化され、メッセージで送信される暗号文Bまたは出力1318を作成できる。
【0145】
いくつかの例では、最後の16(バイナリ、32hex)バイトが乱数のゼロIVとそれに続くMAC認証データを伴うCBCモードを使用する3DES対称暗号化を備えるように、1つまたは複数のHSMコマンドが復号のために処理され得る。この暗号化に使用される鍵は、Card-Key-DEK1320から派生したセッション鍵DEK-Session-Key1310を備え得る。この場合、セッション鍵導出のATC値は、カウンタpATC1304の最下位バイトである。
【0146】
以下のフォーマットは、バイナリバージョンの例示的な実施形態を表す。さらに、いくつかの例では、第1のバイトはASCII「A」に設定され得る。
【表1】
【0147】
他の例示的なフォーマットを以下に示す。この例では、タグは、16進形式でエンコードできる。
【表2】
【0148】
受信されたメッセージのUIDフィールドを抽出して、マスター鍵Iss-Key-AUTH902およびIss-Key-DEK1326から、その特定のカードのカードマスター鍵(Card-Key-Auth1308およびCard-Key-DEK1320)を導出できる。カードマスター鍵(Card-Key-Auth908およびCard-Key-DEK1320)を使用して、受信されたメッセージのカウンタ(pATC)フィールドを使用して、その特定のカードのセッション鍵(Aut-Session-Key1332およびDEK-Session-Key1310)を導出できる。暗号文B1318は、DEK-Session-KEYを使用して復号できる。これにより、暗号文A1314とRNDが生成され、RNDは、破棄され得る。UIDフィールドは、非接触カードの共有秘密を検索するために使用できる。これは、メッセージのVer、UID、およびpATCフィールドとともに、再作成されたAut-Session-Keyを使用して暗号化MACを介して処理され、MAC’などのMAC出力を作成できる。MAC’が暗号文A1314と同じである場合、これは、メッセージの復号とMACチェックが全て合格したことを示す。次に、pATCを読み取って、それが有効かどうかを判断する。
【0149】
認証セッション中に、1つまたは複数の暗号文が1つまたは複数のアプリケーションによって生成され得る。例えば、1つまたは複数の暗号文は、ISO9797-1アルゴリズム3とAut-Session-Key1332などの1つまたは複数のセッション鍵を介した方法2のパディングを使用して3DES MACとして生成できる。入力データ1306は、次の形式:バージョン(2)、pUID(8)、pATC(4)、共有秘密(4)をとることができる。いくつかの例では、括弧内の数字はバイト単位の長さを備え得る。いくつかの例では、共有秘密は、1つまたは複数の安全なプロセスを通じて、乱数が予測できないことを保証するように構成され得る1つまたは複数の乱数発生器によって生成され得る。いくつかの例では、共有秘密は、認証サービスによって知られている、個人化時にカードに注入されるランダムな4バイトの2進数を備え得る。認証セッション中に、共有秘密が1つまたは複数のアプレットからモバイルアプリケーションに提供され得ない。方法2のパディングには、入力データの最後に必須の0x’80’バイトを追加することと、8バイト境界までの結果データの最後に追加できる0x’00’バイトを追加することが含まれ得る。結果として得られる暗号文は、8バイトの長さで構成され得る。
【0150】
いくつかの例では、MAC暗号文を使用して第1のブロックとして非共有乱数を暗号化する利点の1つは、対称暗号化アルゴリズムのCBC(ブロックチェーン)モードを使用しながら、初期化ベクトルとして機能することである。これにより、固定または動的IVを事前に確立しなくても、ブロック間で「スクランブル」を行うことができる。
【0151】
MAC暗号文に含まれるデータの一部としてアプリケーショントランザクションカウンタ(pATC)を含めることにより、認証サービスは、クリアデータで伝達される値が改ざんされているかどうかを判断するように構成できる。さらに、1つまたは複数の暗号文にバージョンを含めることにより、攻撃者が暗号化ソリューションの強度を低下させようとして、アプリケーションのバージョンを故意に偽って伝えることは困難である。いくつかの例では、pATCはゼロから始まり、1つまたは複数のアプリケーションが認証データを生成するたびに1ずつ更新され得る。認証サービスは、認証セッション中に使用されるpATCを追跡するように構成できる。いくつかの例では、認証データが認証サービスによって受信された以前の値以下のpATCを使用する場合、これは、古いメッセージを再生しようとする試みとして解釈され、認証されたものは拒否され得る。いくつかの例では、pATCが以前に受信した値よりも大きい場合、これを評価して許容範囲または閾値内にあるかどうかを判断し、範囲または閾値を超えているか範囲外にある場合、検証は失敗したか、信頼できないと見なされ得る。MAC動作1312では、データ1306は、暗号化されたMAC出力(暗号文A)1314を生成するために、Aut-Session-Key1332を使用してMACを介して処理される。
【0152】
カード上の鍵を公開する総当たり(ブルートフォース)攻撃に対する追加の保護を提供するために、MAC暗号文A1314が暗号化されることが望ましい。いくつかの例では、暗号化テキストに含まれるデータまたは暗号文A1314は、乱数(8)、暗号文(8)を備え得る。いくつかの例では、括弧内の数字はバイト単位の長さを備え得る。いくつかの例では、乱数は、1つまたは複数の安全なプロセスを通じて、乱数が予測不可能であることを保証するように構成され得る1つまたは複数の乱数発生器によって生成され得る。このデータを暗号化するために使用される鍵は、セッション鍵を備え得る。例えば、セッション鍵は、DEK-Session-Key1310を備え得る。暗号化動作1316において、データまたは暗号文A1314およびRNDは、DEK-Session-Key610を使用して処理されて、暗号化されたデータ、暗号文B1318を生成する。データ1314は、暗号ブロックチェーンモードで3DESを使用して暗号化され、攻撃者が全ての暗号化テキストに対して攻撃を実行する必要があることを確認できる。非限定的な例として、高度暗号化標準(AES)などの他のアルゴリズムを使用できる。いくつかの例では、0x’0000000000000000’の初期化ベクトルを使用できる。正しく復号されたデータは、ランダムに表示されるため、誤って復号されたデータと区別がつかないため、このデータの暗号化に使用される鍵を総当たりで見つけようとする攻撃者は、正しい鍵がいつ使用されたかを判断できなくなる。
【0153】
認証サービスが1つまたは複数のアプレットによって提供される1つまたは複数の暗号文を検証するには、認証セッション中に次のデータを1つまたは複数のアプレットからモバイルデバイスに平文で伝達する必要がある:使用される暗号化アプローチを判断するためのバージョン番号と暗号化の検証のためのメッセージフォーマット、これにより、アプローチを将来変更できる;暗号資産を検索し、カード鍵を導出するためのpUID;暗号文に使用されるセッション鍵を導出するためのpATC。
【0154】
図14は、暗号文を生成するための方法1400を示している。例えば、ブロック1402で、ネットワークプロファイルレコードID(pNPR)および導出鍵インデックス(pDKI)を使用して、認証のための暗号化プロセスで使用する発行者マスター鍵を識別できる。いくつかの例では、この方法は、認証を実行して、認証時に非接触カードのpNPRおよびpDKIの値を検索することを含み得る。
【0155】
ブロック1404で、発行者マスター鍵は、それらをカードの一意のID番号(pUID)および1つまたは複数のアプレット、例えば、支払いアプレットのPANシーケンス番号(PSN)と組み合わせることによって多様化できる。
【0156】
ブロック1406で、Card-Key-AuthおよびCard-Key-DEK(一意のカード鍵)は、発行者マスター鍵を多様化して、MAC暗号文を生成するために使用され得るセッション鍵を生成することによって作成され得る。
【0157】
ブロック1408で、暗号文を生成し、1つまたは複数のアプレット内のデータを暗号化するために使用される鍵は、カード一意の鍵(Card-Key-AuthおよびCard-Key-DEK)に基づくブロック1030のセッション鍵を備え得る。いくつかの例では、これらのセッション鍵は、1つまたは複数のアプレットによって生成され、pATCを使用して導出され、セッション鍵Aut-Session-KeyおよびDEK-Session-Keyになる。
【0158】
図15は、一例に係る鍵の多様化を示す例示的なプロセス1500を示している。最初に、送信者と受信者に2つの異なるマスター鍵をプロビジョニングし得る。例えば、第1のマスター鍵は、データ暗号化マスター鍵を備え得、第2のマスター鍵は、データ完全性マスター鍵を備え得る。送信者は、ブロック1502で更新され得るカウンタ値、およびそれが受信者との共有を保証し得る保護されるべきデータなどの他のデータを有する。
【0159】
ブロック1504で、カウンタ値は、データ暗号化マスター鍵を使用して送信者によって暗号化されてデータ暗号化派生セッション鍵を生成し得、カウンタ値はまた、データ完全性マスター鍵を使用して送信者によって暗号化されてデータ完全性派生セッション鍵を生成し得る。いくつかの例では、カウンタ値全体またはカウンタ値の一部が両方の暗号化中に使用され得る。
【0160】
いくつかの例では、カウンタ値は、暗号化されない場合がある。これらの例では、カウンタは、送信者と受信者の間で平文で、すなわち、暗号化なしで送信できる。
【0161】
ブロック1506で、保護されるべきデータは、データ完全性セッション鍵および暗号化MACアルゴリズムを使用して、送信者による暗号化MAC動作で処理される。プレーンテキストと共有秘密を含む保護されたデータを使用して、セッション鍵(AUT-Session-Key)の1つを使用してMACを生成できる。
【0162】
ブロック1508で、保護されるべきデータは、対称暗号化アルゴリズムと組み合わせてデータ暗号化派生セッション鍵を使用して送信者によって暗号化され得る。いくつかの例では、MACは、例えば、各8バイトの長さの等量のランダムデータと組み合わされ、第2のセッション鍵(DEK-Session-Key)を使用して暗号化される。
【0163】
ブロック1510で、暗号化されたMACは、暗号文の検証のために、追加の秘密情報(共有秘密、マスター鍵など)を識別するのに十分な情報とともに、送信者から受信者に送信される。
【0164】
ブロック1512で、受信者は、受信したカウンタ値を使用して、上で説明したように、2つのマスター鍵から2つの派生セッション鍵を独立して導出する。
【0165】
ブロック1514において、データ暗号化派生セッション鍵は、保護されたデータを復号するために対称復号動作と組み合わせて使用される。その後、交換されたデータに対して追加の処理が行われる。いくつかの例では、MACが抽出された後、MACを再現して一致させることが望ましい。例えば、暗号文を検証するときに、適切に生成されたセッション鍵を使用して復号できる。保護されたデータは、検証のために再構築され得る。適切に生成されたセッション鍵を使用してMAC動作を実行し、復号されたMACと一致するかどうかを判断できる。MAC動作は、不可逆プロセスであるため、検証する唯一の方法は、ソースデータから再作成を試みることである。
【0166】
ブロック1516で、データ完全性派生セッション鍵は、保護されたデータが変更されていないことを検証するために、暗号化MAC動作と組み合わせて使用される。
【0167】
本明細書に記載の方法のいくつかの例は、以下の条件が満たされたときに成功した認証がいつ判断されるかを有利に確認できる。まず、MACを検証する機能は、派生セッション鍵が適切であることを示している。MACは、復号が成功し、適切なMAC値が得られた場合にのみ正しくなり得る。復号が成功した場合は、正しく導出された暗号化鍵が暗号化されたMACの復号に使用されたことを示し得る。派生セッション鍵は、送信者(例えば、送信デバイス)と受信者(例えば、受信デバイス)だけが知っているマスター鍵を使用して作成されるため、最初にMACを作成してMACを暗号化した非接触カードが実際に本物であると信頼し得る。さらに、第1および第2のセッション鍵を導出するために使用されるカウンタ値は、有効であることが示され得、認証動作を実行するために使用され得る。
【0168】
その後、2つの派生セッション鍵は破棄され得、データ交換の次の反復は、カウンタ値を更新し(ブロック1502に戻る)、セッション鍵の新しいセットが作成され得る(ブロック1510で)。いくつかの例では、組み合わされたランダムデータは破棄され得る。
【0169】
図16は、例示的な実施形態に係るカードアクティブ化のための方法1600を示している。例えば、カードのアクティブ化は、カード、デバイス、および1つまたは複数のサーバを含むシステムによって完了できる。非接触カード、デバイス、および1つまたは複数のサーバは、非接触カード102、コンピューティングデバイス106、サーバなど、前述したものと同じまたは類似のコンポーネントを参照できる。
【0170】
ブロック1602で、カードは、データを動的に生成するように構成され得る。いくつかの例では、このデータは、アカウント番号、カード識別子、カード検証値、または電話番号などの情報を含み得、これらは、カードからデバイスに送信され得る。いくつかの例では、データの1つまたは複数の部分は、本明細書に開示されるシステムおよび方法を介して暗号化され得る。
【0171】
ブロック1604で、動的に生成されたデータの1つまたは複数の部分は、NFCまたは他の無線通信を介してデバイスのアプリケーションに通信され得る。例えば、デバイスに近接するカードのタップは、デバイスのアプリケーションが非接触カードに関連するデータの1つまたは複数の部分を読み取ることを可能にし得る。いくつかの例では、デバイスがカードのアクティブ化を支援するアプリケーションを備えない場合、カードのタップは、デバイスを指示するか、またはカードをアクティブ化するための関連アプリケーションをダウンロードするように顧客にソフトウェアアプリケーションストアに促され得る。いくつかの例では、ユーザは、カードをデバイスの表面に向けて、デバイスの表面に斜めに、または平らに、近くに、または近接して配置するなど、十分にジェスチャ、配置、または方向付けるように促され得る。カードの十分なジェスチャ、配置、および/または向きに応答して、デバイスは、カードから受信したデータの1つまたは複数の暗号化された部分を1つまたは複数のサーバに送信し始め得る。
【0172】
ブロック1606で、データの1つまたは複数の部分は、カード発行者サーバなどの1つまたは複数のサーバに通信され得る。例えば、データの1つまたは複数の暗号化された部分は、カードのアクティブ化のためにデバイスからカード発行サーバに送信され得る。
【0173】
ブロック1608で、1つまたは複数のサーバは、本明細書に開示されるシステムおよび方法を介して、データの1つまたは複数の暗号化された部分を復号し得る。例えば、1つまたは複数のサーバは、デバイスから暗号化されたデータを受信し、受信したデータを1つまたは複数のサーバにアクセス可能な記録データと比較するためにそれを復号し得る。1つまたは複数のサーバによるデータの1つまたは複数の復号された部分を比較した結果、一致に成功した場合、カードは、アクティブ化され得る。1つまたは複数のサーバによるデータの1つまたは複数の復号された部分を比較した結果、一致に成功しなかった場合、1つまたは複数のプロセスが行われ得る。例えば、一致に成功しなかったという判断に応答して、ユーザは、カードを再度タップ、スワイプ、または手を振るジェスチャをするように促され得る。この場合、ユーザがカードをアクティブ化することを許可される試行回数を備える所定の閾値があり得る。あるいは、ユーザは、カード検証の試みが失敗したことを示すメッセージなどの通知をデバイスで受信し、カードをアクティブ化するための支援のために関連するサービスに電話、電子メール、またはテキストメッセージを送信するか、カード検証の試みが失敗を示す電話などの他の通知をデバイスで受信し、カードをアクティブ化するための支援のために関連サービスに電話、電子メール、またはテキストメッセージを送信するか、またはカード検証の試みが失敗したことを示す電子メールなどの他の通知を受信し、カードをアクティブ化するための支援のために関連するサービスに電話、電子メール、またはテキストメッセージを送信し得る。
【0174】
ブロック1610で、1つまたは複数のサーバは、カードのアクティブ化の成功に基づいてリターンメッセージを送信し得る。例えば、デバイスは、1つまたは複数のサーバによるカードのアクティブ化が成功したことを示す1つまたは複数のサーバからの出力を受信するように構成され得る。デバイスは、カードのアクティブ化が成功したことを示すメッセージを表示するように構成され得る。カードがアクティブ化されると、不正使用を回避するために、データの動的生成を中止するようにカードを構成し得る。このようにして、カードは、その後アクティブ化されない場合があり、カードがすでにアクティブ化されていることが1つまたは複数のサーバに通知される。
【国際調査報告】