(57)【要約】  トークン生成およびパスワード検証を提供するためのシステムおよび方法が開示される。 システムは、ユーザによって入力されたパスワードを受信し、ここでパスワードを受信する前にパスワードがシステムに記憶されておらず、パスワードに基づいて暗号化キーを生成するように構成することができる。システムはさらに、暗号化キーを使用してトークンを復号し、トークンが適切に復号されたことの検証に応答して、暗号化キーを使用してクレデンシャルを復号するように構成することができる。システムは、さらに、解読されたクレデンシャルを使用してリーダと近距離無線通信取引を開始するように構成することができる。
2018501680.tif 000002
【特許請求の範囲】
【請求項１】
近距離無線通信能力を有するデバイスに関連する方法であって、該方法は、以下：
デバイスによって、ユーザによって入力されたパスワードを受信することであって、ここでパスワードは、パスワードを受信する前にはデバイスに記憶されていない、前記受信すること、
ユーザ入力パスワードの機能として暗号化キーを発行すること、
暗号化キーを使用して暗号化されたトークンを解読すること、
トークンが正しく解読されたかどうかを検証すること；
トークンが正しく解読されたことの検証に応答して、暗号化キーを使用してクレデンシャルを解読すること；および
解読されたクレデンシャルを使用して、リーダとの近距離無線通信取引を開始すること、
を含む、前記方法。
【請求項２】
暗号化キーを発行することが、１以上のデバイス特定の値の追加的な機能である、請求項１に記載の方法。
【請求項３】
暗号化キーを発行することが、ユーザ生体認証データ、スライダ値、反復カウンタ値、初期化ベクタ、およびソルトを含む群から選択される１以上のキー発行パラメータの追加的な機能である、請求項２に記載の方法。
【請求項４】
暗号化キーを使用してトークンを暗号化して暗号化トークンを形成することをさらに含む、請求項３に記載の方法。
【請求項５】
データバイトのＮｘＭ行列を回転させることによってトークンを生成すること、ここで、ＮおよびＭは非ゼロの正の整数であり；回転させたＮｘＭ行列における各バイトに排他的ＯＲを適用すること；および、回転させたＸＯＲのＮｘＭ行列をアレイ中に変換することをさらに含む、請求項４に記載の方法。
【請求項６】
巡回冗長検査、ＬＵＨＮ検査、および短い暗号文からなる群から選択される１以上の自己承認技術を使用して、データバイトのＮｘＭ行列を承認することをさらに含む、請求項５に記載の方法。
【請求項７】
暗号化されたトークンを暗号化された手法で記憶することをさらに含む、請求項６に記載の方法。
【請求項８】
暗号化キーを発行することが、ユーザ生体認証データ、スライダ値、反復カウンタ値、初期化ベクタ、およびソルトを含む群から選択される１以上のキー発行パラメータの追加的な機能である、請求項１に記載の方法。
【請求項９】
スライダ値が、サイトキーの所定の位置に窓関数を適用することで生成される、請求項８に記載の方法。
【請求項１０】
システムであって：
少なくともの１つのプロセッサ；および、
コンピュータ可読命令を記憶する少なくとも１つのメモリを含み、該命令は、少なくとも１つのプロセッサで実行されると、システムに：
ユーザ入力パスワードを受信させ、ここでパスワードは、パスワードを受信する前にはデバイスに記憶されておらず；
パスワードに基づいて暗号化キーを発行させ；
暗号化キーを使用してトークンを解読させ；
トークンが正しく解読されたことの検証に応じて、暗号化キーを使用してクレデンシャルを解読させ；および、
解読されたクレデンシャルを使用して、リーダとの近距離無線通信取引を開始させる、前記システム。
【請求項１１】
コンピュータ可読命令を記憶する少なくとも１つのメモリが、少なくとも１つのプロセッサで実行されたときに、システムに、さらに１以上のデバイス特定の値に基づいて追加的に暗号化キーを発行させる、請求項１０に記載のシステム。
【請求項１２】
コンピュータ可読命令を記憶する少なくとも１つのメモリが、少なくとも１つのプロセッサで実行されたときに、システムに、ユーザ生体認証データ、スライダ値、反復カウンタ値、初期化ベクタ、およびソルトを含む群から選択される１以上のキー発行パラメータに基づいて追加的に暗号化キーを発行させる、請求項１１に記載のシステム。
【請求項１３】
コンピュータ可読命令を記憶する少なくとも１つのメモリが、少なくとも１つのプロセッサで実行されたときに、システムに、さらにデータバイトのＮｘＭ行列を回転させ、ここで、ＮおよびＭは非ゼロの正の整数であり；回転させたＮｘＭ行列における各バイトに排他的ＯＲを適用させ；および、回転させたＸＯＲのＮｘＭ行列をアレイ中に変換させることによってトークンを生成させる、請求項１２に記載のシステム。
【請求項１４】
コンピュータ可読命令を記憶する少なくとも１つのメモリが、少なくとも１つのプロセッサで実行されたときに、システムに、さらに巡回冗長検査、ＬＵＨＮ検査、および短い暗号文からなる群から選択される１以上の自己承認技術を使用して、データバイトのＮｘＭ行列を承認させる、請求項１３に記載のシステム。
【請求項１５】
コンピュータ可読命令を記憶する少なくとも１つのメモリが、少なくとも１つのプロセッサで実行されたときに、システムに、さらに暗号化されたトークンを暗号化された手法で記憶させる、請求項１５に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に、セキュアホストカードエミュレーションクレデンシャル（ＨＣＥ）クレデンシャル、特に、入力されたユーザパスワードを検証することに関する。
【０００２】
本出願は、２０１４年１０月１３日付け出願の米国特許仮出願第６２／０６３２９１号の優先権を主張するものであり、その全文を参照により本明細書に組み入れる。
【背景技術】
【０００３】
ＲＦＩＤベースの近接カードを使用した無線取引は、かなり一般的になった。たとえば、多くの労働者はＲＦＩＤキーカードを使用して職場にアクセスし、運転手はＲＦＩＤパスを使用して高速道路で料金を支払う。無線周波数識別を表すＲＦＩＤは、識別の目的で電磁波を用いて端末といくつかの物体との間でデータを交換する。最近では、企業は、電子支払製品（すなわち、クレジットカードおよび／またはデビットカード）を実装するために携帯電話によってサポートされるＲＦＩＤを使用することを試みている。しかしながら、基本的なＲＦＩＤ技術は、基本的な技術の変更を促す多くのセキュリティの問題を提起している。それでも、電子支払いの仕組みとしてのＲＦＩＤの普及が遅れている。
【０００４】
近距離無線通信（ＮＦＣ）は、電磁波を用いてデータを交換する別の技術である。ＮＦＣ波は、短距離（数インチのオーダ）および高周波数でのみ送信される。ＮＦＣデバイスは、ＰＯＳデバイスで支払いを行うために既に使用されている。ＮＦＣは、変調方式、符号化、転送速度、およびＲＦインターフェイスを指定するオープンスタンダード（例えば、ＩＳＯ／ＩＥＣ１８０９２参照）である。ＮＦＣは通信プラットフォームとして幅広く採用されており、金融取引やアクセス制御のセキュリティが向上している。他の近距離通信プロトコルが知られており、金融取引およびアクセス制御をサポートするために受け入れられる可能性がある。
【０００５】
ポータブル通信デバイスとの関連で使用される多くのアプリケーションが開発されている。これらのアプリケーションの中には、インターネットを介した商品の購入など、それらのアプリケーションを介した消費者の電子取引の完了を促進するために、電子ファンドへのアクセスを有することによって利益を得るものもある。電子ウォレットのようなさらに別のアプリケーションは、ポータブル通信デバイスのセキュアデータサブシステムにアクセスできない場合には何の目的も持たない。
【０００６】
カード発行者は、クレジットカード／デビットカード製品を使用して、アプリケーションの使用料とｅコマースの支払いを容易にすることに関心がある。カード発行者は、サードパーティアプリケーションが金融商品にアクセスできるようにすることに自ら関心を持っているにもかかわらず、セキュリティプロトコルの広範囲の配布に関連する重大なセキュリティ懸念を有しているかもしれない。同様に、サードパーティの開発者は、金融商品サブルーチンの開発に関心がないかもしれない。したがって、業界では、サードパーティのプログラムによってアクセス可能な電子ウォレットが、これらのプログラムの使用に関連する料金の支払いを容易にする必要がある。アプリケーションアクセス可能な電子ウォレットは、消費者によるモバイルアプリケーションへの直接アクセスを介して使用することもできる。
【０００７】
したがって、本発明は、本明細書を有する当業者に理解されるような、前述の問題および関連する問題に対する１以上の解決策を提供することを目指している。本開示のこれらおよび他の目的および利点は、本図面、明細書および特許請求の範囲を有する当業者には明らかであろう。このような付加的なシステム、方法、特徴および利点のすべては、この説明に含まれ、開示の範囲内であり、添付の特許請求の範囲によって保護されることが意図される。
【発明の概要】
【０００８】
以下は、本開示のいくつかの態様の基本的な理解を提供するために、本開示の簡略化された概要を提示する。この概要は、開示の広範囲にわたる概要ではない。本開示の重要な要素または重要な要素を特定すること、または本開示の範囲を説明することを意図するものではない。以下の要約は、以下に提供されるより詳細な説明の前置きとして、簡略化した形態で本開示のいくつかの概念を提示するだけである。
【０００９】
トークン生成およびパスワード検証を提供するための方法、システム、デバイス、およびコピュータ可読媒体が開示される。例示的な実施形態は、ユーザによって入力されたパスワードを受信し、ここでパスワードを受信する前にパスワードがデバイスに記憶されておらず、パスワードに基づいて暗号化キーを生成するように構成されてもよい。例示的な実施形態は、さらに、暗号化キーを使用してトークンを復号し、トークンが適切に復号されたことに応答して、暗号化キーを使用してクレデンシャルを復号するようにさらに構成することができる。例示的な実施形態は、さらに、解読されたクレデンシャルを使用してリーダと近距離無線通信取引を開始するように構成されてもよい。
【図面の簡単な説明】
【００１０】
本開示をより良く理解するために、非限定的で非網羅的な実施形態を以下の図面を参照して説明する。図面において、特に明記しない限り、全ての図を通して同様の参照符号は同様の部分を指す。
【００１１】
【図１ａ】図１ａは、販売時点で安全な支払い取引を行うエンドユーザの携帯通信装置を示す。
【図１ｂ】図１ｂは、エンドユーザのスマートフォンとシステム管理バックエンドを含む様々なサブシステムとの間の動作可能な相互接続を示す。
【図２】図２は、システムに関連する携帯通信装置内の論理ブロックのいくつかを示すブロック図である。
【図３】図３は、システム管理バックエンド内の論理ブロックを示すブロック図である。
【図４】図４は、本システムに関連し得る図２の「オープンウォレット」ブロックのさらなる詳細を示すブロック図である。
【図４Ａ−Ｃ】図４Ａ、図４Ｂおよび図４Ｃは、スマートフォン上に展開され得る例示的な財布ユーザインターフェイスからの様々な画面の図である。
【００１２】
【図４Ｄ】図４Ｄは、スマートフォン上に展開され得る例示的な財布ユーザインターフェイスからの様々な画面の図である。
【図５】図５は、エンドユーザのスマートフォンと、セキュアエレメント管理サーバと、クレデンシャル発行者アダプタサーバとの間の動作可能な相互接続を示すブロック図である。
【図６】図６は、支払いサブシステムに格納された安全なデータを閲覧、選択および／または変更するためのサードパーティアプリケーションの１つに対する許可の付与の基礎となるシステムの１つの可能な実装のブロック図である。
【図７】図７は、例示的な実施形態に従ってトークンを生成するプロセスを実装する機能ブロック図の一例を示す。
【図８】図８は、例示的な実施形態によるユーザパスワードを検証するためのプロセスを実装する例示的な機能ブロック図を示す。
【図９】図９は、例示的な実施形態による、近距離通信トランザクションを開始するプロセスを実装する例示的な機能ブロック図を示す。
【００１３】
詳細な説明
次に、以下では、本明細書の一部を形成するとともに、本発明がそれによって実施される特定の例示的な態様を例証として示す、添付の図面を参照して、本発明をさらに詳細に説明する。しかしながら、本発明は、多数の異なる形態に具現化してもよく、本明細書に記載する態様に限定されるものとは考えるべきではなく、これらの態様は、本開示が完全で完成したものとなり、当業者に本発明の範囲を完全に伝えるように、提示される。とりわけ、本発明は、方法およびデバイスとして具現化してもよい。したがって、本発明は、全体的にハードウェア態様、全体的にソフトウェア態様、またはソフトウェア様相およびハードウェア様相を組み合わせる態様をとることができる。したがって、以下の詳細な説明は、限定の意味で解釈すべきではない。
【００１４】
携帯通信デバイス
本開示は、それに限定はされないが、ＰОＡ、セルラー電話、スマートフォン、ラップトップ、タブレットコンピュータ、および好ましくはセルラー式音声データサービスに加えて、好ましくは消費者ダウンロード可能なアプリケーションへのアクセスを含む、その他のモバイルデバイスを含む、多様な異なる携帯通信デバイスで使用することのできる、システムおよび方法を提供する。そのような携帯通信デバイスの１つは、ｉＰｈｏｎｅ（登録商標）、モトローラＲＡＺＲ（登録商標）またはＤＲＯＩＤ（登録商標）またはサムスン（登録商標）デバイスであってもよいが、本発明は、好ましくはプラットフォームおよびデバイスに独立である。例えば、携帯通信デバイス技術プラットフォームは、マイクロソフト  Ｗｉｎｄｏｗｓ（登録商標）モバイル、マイクロソフト  Ｗｉｎｄｏｗｓ（登録商標）  Ｐｈｏｎｅ１０、Ｐａｌｍ  ＯＳ（登録商標）、アップルＯＳ（登録商標）、アンドロイドＯＳ（登録商標）、シンビアン（Symbian）（登録商標）、Ｊａｖａ（登録商標）またはその他任意の技術プラットフォームとしてもよい。この開示の目的では、本発明は、一般化されたプラットフォームを利用するスマートフォンに対して最適化された、機能およびインターフェイスに従って、全体的に説明するが、当業者であれば、そのような特徴およびインターフェイスのすべては、その他任意のプラットフォームおよび／またはデバイスに使用し、適合させることができることを理解するであろう。
【００１５】
携帯通信デバイスは、ＮＦＣ、ＲＦＩＤ、またはＢｌｕｅｔｏｏｔｈ（登録商標）送受信器などの、１つまたは２つ以上の短距離近接電磁通信デバイスを含む。現在では、ＮＦＣ  ＩＰ−１規格（www.nfcforum.org）に準拠する、ＮＦＣベースバンドを使用するのが好ましく、このＮＦＣベースバンドは、携帯通信デバイス上でセキュアエレメントと対にされて、「非接触決済リーダ」の前方に提示されるときに（ＰＯＳにおいて以下を参照）、ピアツーピアデータ交換、リーダ／ライタモード（すなわち、ＲＦＩＤタグからの情報の収穫）、非接触カードエミュレーション（ＮＦＣ  ＩＰ−１およびＩＳＯ１４４４３規格による）のような標準機能を提供する。当該技術においては理解されるように、当該技術分野において本発明の明細書、図、および特許請求の範囲を入手した者には理解されるように、ＮＦＣ  ＩＰ−１規格は、単に、現在好ましい例であり、これは、全体または部分として、その他任意の近接通信規格と関連して使用するためにエクスポートすることもできる。携帯通信デバイスは、近接場通信を可能にするために、ＮＦＣ／ＲＦＩＤアンテナ（ＮＦＣ  ＩＰ−１およびＩＳＯ１４４４３規格に準拠）を含むのがさらに好ましい。しかしながら、当該技術において理解されるように、ＮＦＣ／ＲＦＩＤ通信は、より短い距離範囲であって、潜在的な読取り問題があるにもかかわらず、達成することができる。
【００１６】
携帯通信デバイスはまた、モバイルネットワークオペレータと無線通信を確立して管理するための、モバイルネットワークインターフェイスを含む。モバイルネットワークインターフェイスは、それに限定はされないが、グローバルシステムフォーモバイルコミュニケーション（ＧＳＭ（登録商標））、３Ｇ、４Ｇ、符号分割多重アクセス（ＣＤＭＡ）、時間分割多重アクセス（ＴＤＭＡ）、使用者データグラムプロトコル（ＵＤＰ）、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）、ＳＭＳ、汎用パケット無線サービス（ＧＰＲＳ：general packet radio service）、ＷＡＰ、超広帯域（ＵＷＢ：ultra wide band）、ＩＥＥＥ  ８０２．１６  ＷｉＭａｘ（Worldwide Interoperability for Microwave Access）、ＳＩＰ／ＲＴＰ、またはモバイルネットワークオペレータのモバイルネットワークと通信するための、その他多様な無線通信プロトコルのいずれかを含む、１つまたは２つ以上の通信プロトコルおよびテクノロジを使用する。したがって、モバイルネットワークインターフェイスは、トランシーバ、送受信デバイス、またはネットワークインターフェイスカード（ＮＩＣ）を含めることができる。モバイルネットワークインターフェイスおよび短距離近接電磁通信デバイスは、当該技術分野において本発明の明細書、図、および特許請求の範囲を入手した者には理解されるように、トランシーバまたは送受信デバイスを共有することが考えられる。
【００１７】
携帯通信デバイスは、消費者に対して、情報を受信することに加えて、情報を入力するか、または受信した情報にその他の方法で応答する手段を提供する、ユーザインターフェイスをさらに含む。現在では理解されているように、このユーザインターフェイスには、（本開示をそれに限定することを意図することなく）マイクロフォン、オーディオスピーカ、触覚インターフェイス、グラフィックディスプレイ、およびキーバッド、キーボード、ポインティングデバイス、および／またはタッチスクリーンを含めてもよい。本明細書、図面およびそれらの請求項を有する者によって当業者に理解されるように、携帯通信デバイスは、通常は、デバイスの緯度、経度および標高の関数として、地球の表面に関連するその物理的座標を特定することのできる、位置トランシーバをさらに含む。この位置トランシーバは、好ましくはＧＰＳ技術を使用し、それによって、本明細書においては、ＧＰＳトランシーバと呼称してもよいが、位置トランシーバは、追加的に（または代替的に）、それには限定されないが、地球の表面に関連する携帯通信デバイスの物理的位置を特定するための三角測量、アシステッドＧＰＳ（ＡＧＰＳ）、Ｅ−ＯＴＤ、ＣＩ、ＳＡＩ、ＥＴＡ、ＢＳＳ、その他を含む、その他の測位機構（geo-positioning mechanism）を使用してもよいことを理解すべきである。
【００１８】
携帯通信デバイスは、マイクロプロセッサおよび大容量メモリも含む。この大容量メモリには、ＲＯＭ、ＲＡＭに加えて、１つまたは２つ以上のリムーバブルメモリカードを含めてもよく、持続性であり得る。大容量メモリは、基本入出力システム（ＢＩＯＳ：basic input/output system）および携帯通信デバイスの動作を制御するための、オペレーティングシステムを含む、コンピュータ可読命令およびその他のデータのための記憶を提供する。携帯通信デバイスは、ＳＩＭカードのような、専用化されたメモリを含み得る、デバイスを識別するデバイス識別メモリも含む。一般に理解されているように、ＳＩＭカードは、デバイスの固有のシリアル番号（ＥＳＮ）、国際的に固有のモバイルユーザの番号（ＩＭＳＩ）、セキュリティ認証情報および暗号化情報、ローカルネットワークに関係する一時情報、ユーザがアクセスできるサービスのリスト、２つのパスワード（通常使用用のＰＩＮおよびロック解除用のＰＵＫ）を含む。本発明の明細書、図、および特許請求の範囲を入手した当業者には理解されるように、デバイスのタイプ、その主要ネットワークタイプ、ホームモバイルネットワークオペレータ、その他に応じて、その他の情報を、デバイス識別メモリに維持してもよい。
【００１９】
例示的な態様において、携帯通信デバイスは２つのサブシステム：（１）今日のセルラー電話のユーザには一般化しているように、通信およびその他のデータアプリケーションを可能にする、「無線サブシステム」、および（２）「決済サブシステム」としても知られている、「セキュア取引サブシステム」を有する。このセキュア取引サブシステムは、好ましくは、現在のグローバルプラットフォーム（Global Platform）（www.globalplatform.org）の一部として記載されたものと（同一でないとしても）類似のセキュアエレメントを任意に含むことが考えられる。セキュアエレメントは、業界共通ＰＯＳに使用される決済カードトラックデータを記憶する、業界共通慣行用に使用される、専用化された、独立の物理的メモリとして実現されており、さらに、セキュアエレメント内に記憶することのできる、その他のセキュアクレデンシャルとしては、就労バッジクレデンシャル（employment badge credential）（企業アクセス管理）、ホテルおよびその他のカードベースアクセスシステム、およびトランジットクレデンシャル（transit credential）が挙げられる。
【００２０】
モバイルネットワークオペレータ
携帯通信デバイスのそれぞれは、少なくとも１つのモバイルネットワークオペレータに接続されている。モバイルネットワークオペレータは、一般に、各セルタワーの関連するセル内の複数の携帯通信デバイスと通信する、複数のセルタワーを介して、無線通信サービス、データアプリケーションおよびセキュア取引サブシステムをサポートする、物理的インフラストラクチャを提供する。そうすると、セルタワーは、モバイルネットワークオペレータ、ＰＯＴＳ、およびインターネットの論理ネットワークと動作可能に通信して、モバイルネットワークオペレータ自身の論理ネットワーク内に加えて、その他のモバイルネットワークオペレータのものを含む外部ネットワークへ、通信およびデータを伝達することができる。
【００２１】
モバイルネットワークオペレータは、一般に、それに限定はされないが、ＧＳＭ（登録商標）（global system for mobile communication）、３Ｇ、４Ｇ、コード分割多重接続（ＣＤＭＡ）、時間分割多重接続（ＴＤＭＡ）、ユーザデータグラムプロトコル（ＵＤＰ）、ＴＣＰ／ＩＰ（transmission control protocol/Internet protocol）、ＳＭＳ、一般パケット無線サービス（ＧＲＰＳ）、ＷＡＰ、超広帯域（ＵＷＢ）、ＩＥＥＥ８０２．１６  ＷｉＭａｘ（Worldwide Interoperability for Microwave Access）、ＳＩＰ／ＲＴＰ、または携帯通信デバイスと通信する、様々なその他の無線通信プロトコルのいずれかを含む、１つまたは２つ以上の通信プロトコルおよびテクノロジに対するサポートを提供する。
【００２２】
小売りサブシステム
今日の商店における標準として、銀行およびマーチャントサービスプロバイダのデビット商品、クレジット商品、プリペイ商品、ギフト商品の取引処理を可能にする、インターネットプロトコル接続決済システムがある。ＰＯＳ端末の磁気リーダにおいて磁気ストライプ利用可能カードをスワイプすることによって、カードデータがＰＯＳ機器に転送されて、発行銀行が手元資金を確認するのに使用される。このＰＯＳ機器は、決済カードデータを、磁気リーダの代わりに、ＲＦインターフェイス上に提示することを可能にするアクセサリとして、非接触カードリーダを含め始めている。このデータは、ＩＳＯ１４４４３規格によるＲＦインターフェイス、およびカードから、および将来には、決済サブシステムを含むモバイルデバイスから非接触カードデータを送信する、ＰａｙＰａｓｓ（登録商標）およびＰａｙｗａｖｅ（登録商標）のような所有権登録された決済アプリケーションを介してリーダに転送される。
【００２３】
小売商のＰＯＳデバイス７５は、無線接続または有線接続を介して、ネットワークに接続してもよい。このＰＯＳネットワークには、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、ユニバーサルシリアルバス（ＵＳＢ）ポート、その他の形態のコンピュータ可読媒体、またはそれらの組合せなどの直接接続に加えて、インターネットを含めることができる。異なるアーキテクチャおよびプロトコルに基づくものを含めて、相互接続された一組のＬＡＮ上で、ルータは、ＬＡＮ間のリンクとして作用して、メッセージを互いに送付することを可能にする。さらに、ＬＡＮ内部の通信リンクは、一般的に、ツイスト線ペアまたは同軸ケーブルを含むのに対して、ネットワーク間の通信リンクは、アナログ電話回線、Ｔ１、Ｔ２、Ｔ３およびＴ４を含む、完全または部分専用デジタル回線、統合化サービスデジタルネットワーク（ＩＳＤＮ）、デジタル加入者回線（ＤＳＬ）、衛星リンクを含む無線リンク、または当業者に知られている、その他の通信リンクを使用してもよい。さらに、リモートコンピュータおよびその他の関係する電子デバイスを、モデムや一時電話リンクを介して、ＬＡＮまたはＷＡＮのいずれかに遠隔接続してもよい。要するに、ＰＯＳネットワークは、同一の金融サービスプロバイダを介して、決済用のＰＯＳにおいて金融取引を承認、認証および最終取込みを行う目的で、ＰＯＳデバイスと金融サービスプロバイダ間で、情報を移動させることを可能にする、任意の通信方法を使用してもよい。
【００２４】
セキュア取引サブシステム
システムは、セキュア取引サブシステムを含むことができる。セキュア取引サブシステムは、任意選択で、セキュアエレメントに記憶されたセキュアデータの使用および管理のための顧客対向インターフェイスと同様に、管理およびプロビジョニングシステムへの通信のためのセキュアエレメントおよび関連デバイスソフトウェアを含むことができる。好ましくは、セキュア取引サブシステムは、適切な場合には、現在のグローバルプラットフォーム標準のような国際標準に準拠する。
【００２５】
システム管理バックエンド
システムは、システム管理バックエンドを含む。図１ｂに示されるように、システム管理バックエンド３００は、小売りサブシステム、セキュア取引サブシステム３１０、および複数の携帯通信デバイスに、少なくとも１つのモバイルネットワークオペレータのインフラストラクチャを介して、接続されている。システム管理バックエンドは、１つまたは２つ以上のクライアントデバイスと動作可能に通信する、サーバを有する。サーバはまた、小売商サブシステム、セキュア取引サブシステム、および１つまたは２つ以上の携帯通信デバイスと動作可能に通信する。通信は、データおよび音声チャネルを含む。ＶｏＩＰを含むがそれに限定はされない、任意のタイプの音声チャネルを、本発明と関連して使用してもよい。
【００２６】
サーバは、同一のコンピュータ上、または複数のコンピュータ上に分散したローカルエリアネットワークまたはワイドエリアネットワーク全体上で、直列または並列にシステムバックオフィス（system back office）を実行するのに必要な手順および関数を実現する、１つまたは２つ以上の汎用コンピュータを含んでもよく、また（好ましくは、十分なセキュリティの準備をして）「クラウド内」に配置してもよい。サーバを含むコンピュータ（複数を含む）は、いくつかの例を挙げると、Ｌｉｎｕｘ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）  ＣＥ、Ｕｎｉｘ（登録商標）、またはＪａｖａ（登録商標）をベースとするオペレーティングシステムによって制御されてもよい。システム管理バックエンドサーバは、プログラムコードおよびデータを記憶する、大容量メモリと動作可能に関連付けられている。データには、知識ベース、ユーザ識別子（ＥＳＮ、ＩＭＳＩ、ＰＩＮ、電話番号、電子メイル／ＩＭアドレス、課金情報、またはその他）を維持して記憶するように構成してもよい、１つまたは２つ以上のデータベース、テキスト、スプレッドシート、フォルダ、ファイルまたはその他を含めてもよい。
【００２７】
システム管理バックエンドサーバは、カスタマケアセンタ内のクライアントコンピュータ全体にわたる、通話トラフィック接続性および通話トラフィック分布をもたらすために、事例管理システム（case management system）をサポートしてもよい。ＶｏＩＰ音声チャネル接続性を使用する好ましいアプローチにおいては、事例管理システムは、カリフォルニア州、Ｒｅｄｗｏｏｄ市、Ｏｒａｃｌｅ社により配布される接触／事例管理システムである。他の接触／事例管理システムは、カリフォルニア州、Ｒｅｄｗｏｏｄ市、Ｃｏｎｔａｃｔｕａｌ  Ｉｎｃ．により入手可能なものが利用され得る。Ｏｒａｃｌｅケースマネージメントシステムは、ＶｏＩＰベースカスタマケアコールセンタのための標準的なＣＲＭシステムであり、このシステムはまた、同時支払についてのケア問題、およびセルラー関係ケア問題を取り扱う柔軟性を与える。本明細書を入手した当業者には理解されるように、Ｓａｌｅｓｆｏｒｃｅ（カリフォルニア州、サンフランシスコ市のＳａｌｅｓｆｏｒｃｅ．ｃｏｍ、ｉｎｃ．）およびＮｏｖｏ（バージニア州、バージニアビーチ市のＮｏｖｏ  Ｓｏｌｕｔｉｏｎｓ、  Ｉｎｃ．）などの、その他の事例管理システムも本発明の範囲で使用してもよい。
【００２８】
システム管理バックエンドサーバと関連する各クライアントコンピュータは、好ましくは、ネットワークインターフェイスデバイス、グラフィカルユーザインターフェイス、およびＶｏＩＰのような、クライアントケアセンタサーバによってサポートされる音声チャネル（複数を含む）と調和する、音声通信能力を有する。各クライアントコンピュータは、携帯通信デバイスのセルラーサブシステムとセキュア取引サブシステムの両方の状態を要求することができる。この状態には、携帯通信デバイスのソフトメモリおよびコア性能のコンテンツ、ＮＦＣ構成要素：ベースバンド、ＮＦＣアンテナ、セキュアエレメント状態および識別を含めてもよい。
【００２９】
連邦支払いサブシステム
図２に示すように、各ポータブル通信デバイス５０は、１以上のサードパーティアプリケーション２００（例えば、消費者によって選択される）、「オープンアーキテクチャ」電子ウォレット１００（以下、「オープンウォレット」と呼ぶ）、支払いライブラリ１１０、セキュアエレメント１２０、ＮＦＣベースバンド、支払いサブシステム１５０（すなわち、セキュアデータストア１１５およびセキュアエレメント１２０）、および診断エージェント１７０を含む。オープンウォレット１００は、消費者がデバイス５０（好ましくは支払いサブシステム１５０内に）に記憶されたすべてのクレデンシャル（例えば、カード、クーポン、アクセス制御およびチケットデータ）を見ることを可能にするコンピュータアプリケーションと考えることができる。オープンウォレット１００は、好ましくは、ポータブル通信デバイスの支払いサブシステム１５０に記憶されたすべてのクレデンシャルの発行者を追跡し、アプリケーション別に、そのサードパーティアプリケーションが、支払いサブシステムに記憶されたクレデンシャルを表示、選択および／または変更する許可が必要かどうかを決定する。このようにして、オープンウォレット１００はまた、この時において許可されていないアプリケーションが、支払いサブシステム１５０に記憶されたデータにアクセスすることを防止する。
【００３０】
支払いライブラリ１１０は、好ましくは、セキュアエレメント１２０の管理（およびハウスキーピングタスクの実行）、システム管理バックエンドとのインターフェイス、およびデータ通信トランシーバ（そのＳＭＳチャネルを含む）を介した無線（ＯＴＡ）プロビジョニングを実行するために、デバイス５０上で、オープンウォレット１００によって使用される。ＯＴＡデータ通信は何らかの方法で暗号化され、暗号化キーはカードサービスモジュール４２０に配備されることが企図される。支払いサブシステム１５０は、支払いカード、クーポン、アクセス制御およびチケットデータ（例えば、輸送、コンサート）などのクレデンシャルを記憶するために使用されてもよい。これらの支払タイプのいくつかは、それらのアプリケーションによって使用される異なるアプリケーション２００によって支払サブシステムに追加されてもよい。このようにして、他のサードパーティアプリケーション（図示せず）が支払サブシステム１５０にアクセスすることを排除することができる。
【００３１】
セキュアデータストア１１５は、ポータブル通信デバイス５０上にセキュアストレージを提供する。セキュアデータストア１１５に記憶することが意図されるデータの性質に応じて、様々なレベルのセキュリティを提供することができる。例えば、セキュアデータストア１１５は、単にデバイス５０のオペレーティングシステムレベルでパスワード保護されてもよい。これらのオペレーティングシステムで知られているように、パスワードは、デバイス５０のどこかに記憶されている単純な英数字または１６進コードであってもよい。あるいは、セキュアデータストア１１５内のデータを暗号化することが好ましい。いくつかの例では、セキュアデータストア１１５は、２０１１年１０月２１日に出願された、同時係属中の米国特許出願（本出願の譲受人が所有する）１３／２７９、１４７号、発明の名称「System  and  Method  for  Providing  A  Virtual  Secure Element on a  Portable Communication Device」のような仮想セキュアエレメントとしてセットアップされてもよく、その全体が参照により本明細書に組み込まれる。後述するように、セキュリティを強化するために、パスワードはデバイス５０のどこにも記憶されないことがある。
【００３２】
オープンウォレット１００は、カード、クーポン、チケット、アクセス制御データなどのクレデンシャルの記憶、保守および使用に伴う複雑さを、支払いサブシステム１５０に関連する１つまたは複数のソースまたは発行者から除去することが好ましい。オープンウォレット１００はまた、好ましくは、支払いサブシステム１５０に記憶されたデータおよび各アプリケーションによって許可された機能へのアクセス制御を強制する。１つのアプローチでは、オープンウォレット１００は、ポータブル通信デバイス５０に記憶された各サードパーティアプリケーションの作成者／発行者を検証する。この検証は、許可された（すなわち、信頼できる）アプリケーションのローカル認可データベースにアクセスすることによって達成され得る（図６参照）。このアプローチの下では、カードサービスモジュール４２０によって、既知の発行者ＩＤで署名されたアプリケーションと、正しく関連付けられたコンパイルＩＤだけが、支払いサブシステム１５０および／またはメタデータリポジトリ１２５に格納されたデータにアクセスおよび／または操作することができる（とりわけ、カード画像データおよび任意のエンボスカードデータを記憶する）。
【００３３】
言い換えれば、アプリケーション２００またはウォレットのユーザインターフェイス４１０が支払いサブシステム１５０と対話する必要がある場合、デジタル識別子（その発行者ＩＤまたはアプリケーションＩＤなど）、デジタルトークン（すなわち、コンパイルＩＤまたは秘密トークン）、所望のアクション、および、カードサービスモジュール４２０へのアクションに必要な任意の関連する引数をパスすることによってそれを行う。カードサービスモジュール４２０は、セキュアデータテーブル（図６）内の信頼できるアプリケーションデータと一致するデジタル識別子−デジタルトークンのペアを検証し、所望のアクションを実行するのに必要な１以上のコマンドを発行する。アプリケーション２００またはウォレットユーザインターフェイス４１０によって使用される潜在的なアクションは、以下に関連する。
ａ．ウォレット管理（ウォレットパスコードの設定、リセットまたは有効化；ＯＴＡサーバのＵＲＬの取得；無線レジストリプロビジョニング；支払タイミングの設定；支払いタイミングの増加；デフォルトカードの設定；リスト発行者のリスト化；サポートされたクレデンシャルのリスト化；クレデンシャルの表示優先度の設定；クレデンシャル記憶優先度の設定；カテゴリ／フォルダの作成；クレデンシャルのカテゴリへの関連付け；メモリ監査；クレデンシャルの記憶のためのセキュアエレメント（ＳＥ）の決定；オファーの取得；ウォレットステータスの更新）；
ｂ．クレデンシャル管理（クレデンシャルの追加；クレデンシャルの詳細を見る；クレデンシャルの削除；クレデンシャルの有効化（償還／支払い）；クレデンシャルの無効化；クレデンシャルの検索；クレデンシャル性能のリスト化；デフォルトクレデンシャルの設定；クレデンシャルのロック／ロック解除；パスコードアクセスの要求；クレデンシャルイメージの取得；アクセスパスコードの設定）；
ｃ．セキュアエレメント（ＳＥ）管理（例えば、発行者のためのセキュリティドメインの作成；キーの回転；アプリケーションのロード；アプリケーションの更新；ウォレットロック／アンロック；ＳＥロック／アンロック）；および、
ｄ．パーソナライゼーション（例えば、クレデンシャルの追加；クレデンシャルの削除；クレデンシャルの一時停止／停止解除；発行者への通知；メタデータ更新；カードメタデータ更新の通知）
【００３４】
図４は、図２の「オープンウォレット」ブロックのさらなる詳細を示す。図示されているように、「オープンウォレット」１００の機能は、カードサービスに密接に結合されたユーザインターフェイスを提供する単一の専用モジュールに統合することができる。図４に示す別の実施形態では、オープンウォレット１００の能力および機能は、ウォレットユーザインターフェイス４１０とカードサービスモジュール４２０との間で分配される。分散型アプローチにより、アプリケーションは、ウォレットユーザインターフェイス４１０によって提供されるユーザインターフェイスを使用する必要なく、カードサービスモジュール４２０に直接アクセスすることができる。カードサービスモジュール４２０は、携帯通信デバイス５０の支払いサブシステム１５０に格納されたすべてのカード、クーポン、アクセスおよびチケットデータの発行者を追跡し、アプリケーションが、支払いサブシステムに記憶されたセキュアデータを表示、選択、使用および／または変更するための許可をアプリケーションが有するべきかどうかを、アプリケーションごとに決定するように構成することができる。
【００３５】
ウォレットユーザインターフェイス４１０は、ユーザがユーザクレデンシャルに関するカードサービスモジュール４２０に関連してセキュアに記憶された情報を登録、提供、アクセスおよび／または使用することができるユーザインターフェイスを提供する。ウォレットユーザインターフェイス４１０は、カードサービスモジュール４２０から分離されているので、ユーザは、カードサービスモジュール４２０内の情報を管理するためにサードパーティアプリケーション２００の１つを使用することを選択することができる。図４にさらに示されるように、メタデータ（クレデンシャルロゴ（例えば、Amtrak（登録商標）、MasterCard（登録商標）、TicketMaster（登録商標）、およびVisa（登録商標））および親和性画像（例えば、AA Advantage（登録商標）およびUnited Mileage Plus（登録商標）のような）は、よりフレンドリなユーザ体験を提供する際に、サードパーティアプリケーション２００またはウォレットユーザインターフェイス４１０によって使用されるように、メモリ１２５に格納されてもよい。このメタデータはアプリケーション間で共有できるため、セキュアなトランザクションを実装するために必要なストレージを最小限に抑えることができる。
【００３６】
図４Ａ、４Ｂ、４Ｃおよび４Ｄには、スマートフォン上に配備され得る例示的なウォレットユーザインターフェイス４１０の様々なスクリーンショットが示されている。とりわけ、これらの図は、カードサービスモジュール４２０に関連してセキュアに記憶された情報の登録、プロビジョニング、アクセスおよび／または使用の機能を示す。図４Ａは、カード、クーポン、チケットなどの様々なクレデンシャルをウォレットが保持できることを示す。図４Ａは、ウォレット１００に複数のカードを記憶することができることをさらに示している。図４Ｄに示すように、図４Ａに示す画面からＶｉｓａ（登録商標）カードを選択すると、ウォレットユーザインターフェイスは、ユーザがセキュアＮＦＣ支払いトランザクションを開始するためのインターフェイスを提供する。同様に図示されているように、ユーザインターフェイスは、残高および利用可能なクレジット情報を示すことができる。
【００３７】
クレデンシャルプロビジョニング
図５は、システム内でクレデンシャルを提供するために利用され得る１つの例示的なシステムアーキテクチャを示す。示されるように、ユーザの携帯通信デバイス５０は、セキュアエレメント管理サーバおよびクレデンシャル発行者アダプタサーバーと通信するように構成される。セキュアエレメント管理サーバ（代替的にカードアプリケーション管理システムとも呼ばれる）は、ユーザのクレデンシャルを承認するように構成される。例えば、ユーザがデバイス５０のセキュアエレメント１２０にクレジットカードに関する情報を記憶したい場合、ユーザは、デバイス５０に表示されたユーザインターフェイスを介してクレジットカード情報を入力する。
【００３８】
ユーザインターフェイスは、ウォレットユーザインターフェイス４１０またはオープンウォレット１００によってサポートされる信頼できるサードパーティアプリケーション２００によって生成されてもよい。一例として、図４Ａおよび４Ｂは、スマートフォン上に配備されてもよい１つの例示的なユーザインターフェイス４１０を使用してウォレットに「チャージイットカード（charge-it-card）」をプロビジョニングすることを示している。いずれかのユーザインターフェイスに基づいて、カードサービスモジュール４２０は、好ましくは、識別されたクレジットカードの最初の６桁（一般に銀行識別番号またはＢＩＮと呼ばれる）をセキュアエレメント管理サーバに送信し、カード発行者のコンプライアンスルールを承認し、ユーザのモバイルデバイス５０上のオープンウォレット１００（またはカードサービスモジュール４２０）と適切なクレデンシャル発行者アダプタサーバーとの間の直接的なキー交換を、従来技術で知られているように暗号化して容易にする。
【００３９】
限定されないが、Gemalto NV（アムステルダム、オランダ）、Giesecke＆Devrient（ミュンヘン、ドイツ）、SK C＆C（韓国）（Corefire）、またはカリフォルニア州サンタクララのVIVOtech Inc.（ViVoTechクレデンシャル発行者アダプタサーバー）などの企業によって提供されるさまざまな既製のソリューションによって、ダイレクトキー交換に対する様々なアプローチを容易にすることができる。クレデンシャル発行者アダプタサーバーは、ユーザを認証し、発行者ルールを実行してからパーソナライゼーションプロセスを開始する。クレデンシャル：発行者アダプタサーバーは、好ましくは、ユーザが提供しようとしているクレデンシャルの発行者によって操作されるサーバである。クレデンシャル発行者アダプタサーバーは、例えば、以前に発行者に提供されたユーザ情報に基づいて一連の検証質問を提供することによって、ユーザを検証することができる（図４Ｂ参照）。
【００４０】
検証されると、クレデンシャル発行者アダプタサーバーは、カードサービスモジュール４２０を介して完全な１６桁のクレジットカード番号をセキュアエレメント１２０に渡す。クレデンシャル発行者アダプタサーバーは、選択されたクレジットカードの外観およびデザインに関する情報などのメタデータをアプリケーションメモリ１２５に渡ることもできる。完了すると、クレデンシャル発行者アダプタは、セキュアエレメント管理サーバに取引の完了を通知する。図４Ｃに示すように、プロビジョニング後、ウォレットユーザインターフェイス４１０は、スマートフォンユーザインターフェイスの分野で周知のユーザインターフェイス技術を使用してユーザが選択できるチャージ−イット−カードを含む。
【００４１】
サードパーティアプリケーションの検証
上述したように、オープンウォレット１００は、そのアプリケーションが携帯型通信デバイス５０上のセキュアエレメント１２０（またはセキュアデータストア１１５およびより好ましくはメタデータリポジトリ１２５）へのアクセスを許可される前に、サードパーティアプリケーション２００の信頼できるステータスを検証して、支払いサブシステム１５０に記憶されたセキュアなデータを表示、選択および変更する。上記の１つのアプローチでは、この検証は、許可または信頼されるアプリケーションのローカル許可データベースにアクセスすることによって達成され得る。好ましいアプローチでは、ローカル認可データベースは、システム管理バックエンド３００に関連する１以上のサーバに関連するリモート認可データベースと協働する。
【００４２】
図６は、カードサービスモジュール４２０、セキュアエレメント１２０、および支払いサブシステム１５０のセキュリティを強化するためのローカルおよびリモートの認可データベースの潜在的な組み合わせの１つの潜在的実装ブロック図である。図６に示すように、ユーザＡ／Ｃレジストリ（またはユーザアカウントレジストリ）は、サーバに関連付けられている（またはクラウドに展開されている）。ユーザＡ／Ｃレジストリは、各ユーザのポータブルデバイス５０に配置されたセキュアエレメント１２０の識別を記憶することができる。ユーザカウントレジストリのエントリは、プロセスの任意の時点で各ユーザに対して追加され得る。
【００４３】
「発行者レジストリ」データベースは、認められた発行者のデータベースである。
発行者ＩＤは、クレデンシャルのタイプ毎に一意である。換言すれば、銀行が複数のタイプのクレデンシャル（例えば、デビットカード、クレジットカード、アフィニティカードなど）を有する場合、各クレデンシャルタイプは、それ自身の発行者ＩＤ（例えば、Ｉ−ＢｏｆＡ−ＩＩ）を有する。好ましいアプローチでは、複数のタイプのクレデンシャル間の発行者ＩＤは、クレデンシャルが少なくとも関連していることを示すためにいくつかの共通要素を有する（例えば、Ｉ−ＢｏｆＡ−Ｉ）。このようにして、同じ発行者からのアプリケーションは、同じ「拡張」発行者の他のアプリケーションとデータを共有することができる。好ましいアプローチでは、カードサービスモジュール４２０は、（システムと共に出荷される）ウォレットユーザインターフェイス４１０でも発行者ＩＤ（ならびにアプリケーションＩＤおよびコンパイルトークン）を有することを要求することによって単純化することができる。
【００４４】
「アプリケーションレジストリ」は、オペレーティングシステムプロバイダによって事前に認められたアプリケーション（主にサードパーティ）のデータベースである。ユーザＡ／Ｃレジストリと同様に、「アプリケーションレジストリ」および「発行者レジストリ」データベースは、オープンイシュアンス（OpenIssuance）（図３参照）と動作可能に関連して、サーバ側（またはクラウド内）に維持される。本明細書を有する当業者には理解されるように、様々なレジストリは、別々のデータベースに実装されてもよいし、または１つ（または他の）データベースに実装されてもよい。ウォレット１００の開始時、好ましくは実質的に規則的な時間間隔（例えば、毎日）で、オープンイシュアンス（図３参照）のアプリケーションレジストリに記憶されたデータは、ローカルに記憶されるウォレットを備えるデバイスに配布される。
【００４５】
図６に示すように、アプリケーションレジストリは、他の情報の中に、アプリケーションＩＤ（「Ａｐｐ  ＩＤ」）、発行者ＩＤ、およびコンパイルＩＤまたはトークンを含むことができる。コンパイルＩＤは、特定のアプリケーション２００の資格認定プロセス中にオープンイシュアンス（図３）に関連する１以上のプロセスによって各アプリケーションに対して生成されるグローバル定数である。デバイス５０上の特定のカードサービスモジュール４２０によって生成された後、コンパイルトークン（compile tolen）は、アプリケーションに含まれているか、そうでなければアプリケーションに関連付けられる。このコンパイルトークンは、好ましくは、アプリケーションＩＤ、コンパイルＩＤ、発行者ＩＤ、またはそれらのいくつかの組み合わせなどの所定のシードを使用するデバイスにローカルな疑似乱数生成器によって生成される。
【００４６】
ユーザがデバイス５０上のカードサービスモジュール４２０を用いてサードパーティアプリケーションを認定しようとするとき、サードパーティアプリケーションに関連するコンパイルＩＤ（デジタルトークン）およびアプリケーションＩＤ（デジタル識別子）は、デバイス５０（図６参照）に記憶されたカードサービスレジストリに記憶されているコンパイルＩＤおよびアプリケーションＩＤのペアに対してマッチングされる。本明細書を有する当業者には理解されるように、システムに関連する他のデバイス５０にも同じコンパイルＩＤおよびアプリケーションＩＤのペアが送信される（または、場合によっては事前に記憶される）。コンパイルＩＤ／アプリケーションＩＤのペアが、デバイス上のカードサービスレジストリに記憶されたペアの１つとマッチする場合、秘密トークンＩＤは、好ましくは、例えば、セキュアエレメント１２０に関連した擬似乱数ジェネレータに記憶され、次いで、デバイス５０上のカードサービスレジストリ内のコンパイルＩＤ／アプリケーションＩＤのペアに関連して記憶される。
【００４７】
いくつかの例では、コンパイルＩＤを予め選択し、乱数ジェネレータをシードするために使用することができる。カードサービスレジストリに関連付けられた１以上の他の所定のデータが、代わりにシードとして予め選択されてもよいことを理解されたい。
カードサービスレジストリは、好ましくは、（セキュアエレメント１２０が限られた不動産を有するため、セキュアエレメント１２０よりもむしろ）セキュアメモリに記憶され、カードサービスレジストリは、好ましくは、標準的な暗号化技術を使用してさらに暗号化される。シークレットトークンＩＤはまた、アプリケーションと共に配布されたコンパイルＩＤの代わりに、デバイス５０上のアプリケーション２００に埋め込まれるか、そうでなければ関連付けられる。
【００４８】
サードパーティアプリケーションがカードサービスレジストリ（およびアプリケーションに埋め込まれた秘密トークン）にロードされた後、サードパーティアプリケーションが起動し、ユーザに、今承認されている（または信頼されている）アプリケーションに必要な（または、他の方法で使用することが望まれる）発行者固有のクレデンシャル情報へのアクセスをオプトインするよう促すことができる。その後のサードパーティの信頼できるアプリケーションの各起動時に、埋め込まれた秘密トークンおよび／またはアプリケーションＩＤが、デバイス上のカードサービスレジストリ内のデータと比較される。一致する場合、アプリケーションは信頼され、カードサービスモジュール４２０を介して支払いサブシステム１５０にアクセスすることができる。このようにして、アプリケーション２００またはウォレットユーザインターフェイス４１０のいずれかに関連する秘密トークンおよび／またはアプリケーションＩＤが、カードサービスレジストリから削除され、支払いサブシステムおよび場合によってはアプリケーションへのアクセスが不可能になることがある。
【００４９】
同様に、アプリケーション２００またはウォレットユーザインターフェイス４１０が秘密トークンで改ざんされた場合、および／またはアプリケーションＩＤが無効にされる。発行者レジストリ、カードサービスレジストリ、アプリケーションレジストリ、ユーザＮＣレジストリ、および後述するような許可テーブルは、例えば、１以上のパラメータ（例えば、セキュアな要素ＩＤ、パスコードなど）から入力として生成されたハッシュであるキー値を備える、セキュリティアルゴリズム（例えば、事前暗号化規格（ＡＥＳ）アルゴリズム、セキュアハッシュアルゴリズム（ＳＨＡ）、メッセージダイジェスト５（ＭＤ５）および同様のもの）を使用してテーブルを暗号化することによって保護される。たとえば、不正なアプリケーションがカードサービスレジストリを改ざんする場合、カードサービスモジュール４２０は、変更を検出し、ウォレットをロックし、リモートプロシージャを呼び出して、セキュアエレメント管理サーバから取り出された１つと許可テーブルを置き換える。
【００５０】
カードサービスモジュール４２０はまた、信頼できるアプリケーション検証ステップを使用して、各アプリケーション２００に対して許可される適切なサブシステムアクセスレベルを決定することが好ましい。例えば、一実施形態では、１つのアプリケーション２００ａは、支払いサブシステム１５０に含まれるデータのすべてにアクセスして表示する権限を与えられてもよく、ここでは、サードパーティアプリケーション２００ｘは、支払いサブシステム１５０に含まれるデータのサブセットにアクセスして表示することのみが許可されてもよい。さらに別の実施形態では、アプリケーションは、支払いまたは取引要求をオープンウォレット１００に送信することだけを許可するが、支払いサブシステム１５０に含まれるデータのいずれにもアクセスすること自体が許可されない場合がある。１つのアプローチでは、アプリケーションへの許可の割り当ては、以下のようであり得る。
【表１】
2018501680.tif 000003
【００５１】
これらの許可を使用して、上記の順序で４桁の１６進数を、上から下までの重要な数字に整形できる。図６の例示的なカードサービスレジストリに示すように、Ｉ−ＢｏｆＡ−ＩＩ発行者は、許可レベル１１１１１を有し、これは０００１  ０００１  ０００１  ０００１  ０００１に拡大することが考えられる。言い換えれば、Ｉ−ＢｏｆＡ−ＩＩアプリケーションは、読み出し、書き込み、削除、有効化／無効化、および独自のクレデンシャルをダウンロードできるが、拡張された発行者クレデンシャル、ましてすべてのクレデンシャルはダウンロードできない。ＢｏｆＡが別の発行者コード（例えば、Ｉ−ＢｏｆＡ−１）を有する場合、それは拡張発行者アプリケーションである。したがって、発行者ＩＤ「Ｉ−ＢｏｆＡ−ＩＩ」に関連付けられたアプリケーションの許可レベルが００１０  ０００１  ０００１  ００１０  ０００１（または２１１２１の１６進数）に設定されていた場合、アプリケーションは両方の発行者ＩＤに関連付けられたクレデンシャルを読み出し、有効化／無効化することができる。
【００５２】
さらに別の例では、ウォレットユーザインターフェイス４１０に許可レベル４４４４４（すなわち、０１００  ０１００  ０１００  ０１００  ０１００）を与えることができる。換言すれば、ウォレットユーザインターフェイス４１０は、すべてのクレデンシャルを読み出し、書き込み、削除し、有効化／無効化、ダウンロードすることができる。当業者には理解されるように、これらは単にアプリケーションに与えることができる潜在的な許可の例に過ぎず、他の許可も考慮される。例えば、いくつかのアプリケーションでは、拡張発行者クレデンシャルを読み取ることができるが、アプリケーションの独自のクレデンシャル（たとえば、０００１  ０００１  ０００１  ０００１に展開される２１１１１）の書き込み、削除、有効化、およびダウンロードのみが可能である。さらに別の例では、アプリケーションは、有効化／無効化およびタイツ（tights）（例えば、００００  ００００  ００００  ０００１  ０００１または０００１１の１６進数）のダウンロードのみを与えられてもよい。さらに別の例では、アプリケーションを、信頼できるアプリケーションデータベースまたはカードサービスレジストリから削除することなく、すべての権利をゼロに設定することによって無効にすることができる。
【００５３】
トークン生成およびユーザパスワード検証
パスワードのセキュリティはますます重要になってきている。パスワードのセキュリティを維持すると同時に、ユーザが覚えておくだけの簡単なパスワードを維持するという課題がある。しかしながら、ポータブル通信デバイス５０にパスワードの全体または一部を記憶することは、実際には常に、パスワードが盗まれる可能性があるというリスクを提示する。どのようなセキュリティ対策が施されても、ハッカーはデバイス５０からパスワードを秘密理に取得しようとする。
【００５４】
例示的な実施形態は、ポータブル通信デバイス５０のどこにもユーザのパスワードを記憶しないことによって、これらの問題を克服する。代わりに、ユーザだけがパスワードを知っており、ユーザがクレデンシャルにアクセス、および／または使用するときにパスワードを入力する。デバイス５０がパスワードを知らない間、デバイス５０は、デバイス５０が入力されたパスワードを使用して正しいキーを生成するかどうかに基づいて、入力されたパスワードを検証することができる。デバイス５０は、生成されたキーを使用して、デバイス５０によって記憶された１以上のトークンを復号化し、デバイス５０は、トークンが適切に復号化されたかどうかをチェックすることができる。適切に復号化された場合、デバイス５０は、ユーザが正しいパスワードを入力したことを判定し、次いで、そのキーを使用して、ＮＦＣ取引における使用のためにデバイス５０によって記憶された暗号化されたクレデンシャルを解読することができる。
【００５５】
キーが正しくない場合、デバイス５０はトークンを適切に解読することができず、したがって暗号化されたクレデンシャルを解読することができなくなる。したがって、例示的な実施形態は、デバイス５０のどこにでもユーザのパスワードを記憶しないが、デバイス５０は、パスワードから生成されたキーが記憶されたトークンを復号することができるかどうかに基づいて、ユーザが正しいパスワードを入力したかどうかを判定することができる。
以下にさらに詳細に説明するように、例示的な実施形態は、トークン生成プロセスを実行して、デバイス５０上にトークンを生成し記憶することができ、入力されたパスワードがトークンを適切に復号化することができるキーを生成することを検証するためのパスワード検証プロセスを実行することができる。
【００５６】
一例では、ポータブル通信デバイス５０は、トークンおよびユーザのパスワードが確立される登録プロセスを進めることができる。登録は、工場で、またはユーザがＣＳＭ４２０をデバイス５０にダウンロードするときに起こることがある。一例では、２０１３年６月１２日に出願され、タイトルが「System and Method for Initially Establishing and Periodically Confirming Trust in a Software Application」である係属中の米国特許出願１３／９１６３０７号に記載された技術に従って実施される登録プロセス中に、デバイス５０とシステム管理バックエンド３００との間に信頼が確立されてもよく、参照によりその内容のすべてが本明細書に組み込まれる。
【００５７】
登録の一部として、ユーザはパスワードを確立することができる。パスワードは、英数字または１６進文字（例えば、１以上の文字、数字または記号、およびそれらの任意の組み合わせ）、個人識別番号（ＰＩＮ）、生体認証識別子（例えば、ユーザの指紋）、ユーザを一意に識別するための他の情報、およびこれらの任意の組み合わせを含むことができる。ユーザは、サイトキーを確立することもできる。サイトキーは、ユーザが識別目的のために選択した画像（例えば、花の絵）またはフレーズであってもよい。サイトキーは、エンドユーザが彼／彼女が使用しているサービスが本物であることを信頼できるようにするためによく使用されるメカニズムである。いくつかの例では、ユーザとバックエンドサーバとの間の信頼を確立するためにサイトキーを使用することができる。いったんパスワードおよびサイトキーが確立されると、デバイス５０はいずれも記憶することはなく、代わりにシステム管理バックエンド３００によってのみ両方が記憶される。
【００５８】
ＣＳＭ４２０は、トークンを生成するためにパスワードおよびサイトキーを使用することができる。トークンはデバイスに保存され、ユーザが正しいパスワードを入力したことを検証するために使用される。一例では、トークンは、バイト配列、文字列、Ｊａｖａ（登録商標）Ｓｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ（ＪＳＯＮ）オブジェクトなどであってもよい。バイト配列は、１６進数、１０進数、または２進数のシーケンス、または別の数字システム内の他の数字のシーケンスでもよい。図７は、例示的な実施形態に従ってトークンを生成するプロセスを実装する機能ブロック図の一例を示す。
【００５９】
図示されるように、ＣＳＭ４２０は、トークンを生成および記憶するためにウォレットユーザインターフェイス４１０および支払いサブシステム１５０と連携して動作するいくつかの機能ブロックを含むことができる。一例では、ＣＳＭ４２０は、行列生成器７０２、行列回転器７０４、「排他的論理和」（ＸＯＲ）演算子７０６、行列対配列変換器７０８、暗号化器７１０、およびキー生成器７１２を含むことができる。１つまたは複数のプロセッサが、本明細書に記載された他の機能ブロックと同様に、機能ブロック７０２−７１２を実装してもよい。
例えば、各機能ブロックは、１以上のプロセッサによって実行されるソフトウェアコードを表すことができる。別の例では、各機能ブロックはハードウェアコンポーネントであってもよい。他の例では、各機能ブロックは、ハードウェアとソフトウェアの組み合わせであってもよい。
【００６０】
行列生成器７０２は、バイト（例えば、１６進バイト）のＮｘＭ行列（すなわち、Ｎ行ｘＭ列）を生成することができる。ＮおよびＭは、非ゼロの正の整数であり、等しくてもよい。一例では、行列生成器７０２は、ＮｘＭ行列をバイト配列（例えば、１６進バイト配列）として生成することができる。別の例では、ＣＳＭ４２０は、登録中にシステム管理バックエンド３００からバイト配列を受け取ることができる。
【００６１】
生成されたトークンは、巡回冗長検査（ＣＲＣ）、ＬＵＨＮ検査、または任意の他の自己承認技術（例えば、短い暗号文）によって自己承認可能であり得る。トークンは、パターンを認識しない限り（例えば、トークンの承認および／または作成に使用されない限り）、容易に置換または変更されないことがある。一例では、行列生成器７０２は、乱数生成器を使用してトークンを１６進バイト配列として生成するブロック生成器を含むことができる。ブロック生成器は、生成されたトークンが自己検証のＣＲＣルール（または他の自己検証ルール）をパスすることを確認することができる。ブロック生成器はまた、自己検証ルールの下でトークンを有効にするために、欠損した数を計算してバイト配列に追加することができる。他の任意のトークンバイトは、乱数生成器によって合理化され、満たされることができる。
【００６２】
行列回転器７０４は、ＮｘＭ行列を受信して回転させてＭｘＮ行列を出力することができる。簡単な例では、行列回転器７０４は、行列を時計回り（または反時計回り）に９０度回転させることができる。ＸＯＲ演算子７０６は、ＸＯＲされたＭｘＮ行列を、ＸＯＲされたいくつかまたはすべてのバイト（各入力バイトをＸＯＲする）と共に出力するためにＭｘＮ行列（例えば、排他的論理和（ＸＯＲ））に対するＸＯＲ演算を実行してもよい。
例えば、ＸＯＲ演算子７０６は、行列内の要素の選択された組み合わせに対して論理「排他的論理和」を実行することができる。行列対配列変換器７０８は、ＸＯＲされたＭｘＮ行列を、暗号化器７１０に入力されるバイト配列に変換することができる。
【００６３】
暗号化器７１０への別の入力は、ユーザによって入力されたパスワードに基づいて生成されたキーである。一例では、ウォレットＵＩ４１０は、登録中に確立されたパスワードを入力するようにユーザに促すことができる。キー生成器７１２は、キーを生成するためにパスワードを使用することができる。一例では、キー生成器７１２は、ユーザの指紋、スライダ、および以下に説明する他のパラメータのうちの１つまたは複数を含むデバイスフィンガープリントおよびキー生成パラメータの関数としてキーを生成することができる。いくつかの例では、キーは対称キーであってもよい。他の種類のキーも生成することができる。
【００６４】
デバイスフィンガープリントは、デバイス５０に固有のデータまたはデータセット（例えば、Mobile Station International Subscriber Directory Number（ＭＳＩＳＤＮ）、Integrated Circuit Card Identifier（ＩＣＣＩＤ）、ＥＳＮ、ＩＭＳＩなど）であってもよい。キー生成器７１２は、アプリケーションプログラミングインターフェイス（例えば、Android System API）を介してこの情報を取り出すことができる。デバイス固有の情報を使用することにより、キー生成器７１２は、生成されたキーを他のデバイスによってうまく使用することができないように、生成されたキーをその特定のデバイス５０と一意に関連付けることができる。
【００６５】
スライダは、ウォレットの登録時に選択されたサイトキーから派生した部分文字列である。例えば、キー生成器７１２は、サイトキーの所定の部分（例えば、元のインデックスオフセットおよびウィンドウ長を有する）を選択するウィンドウ機能を適用することができる。キー生成器７１２は、システム管理バックエンド３００からウィンドウ機能を受け取ることができる。
スライダは、キー生成プロセスを動的にすることができ、リバースエンジニアリング攻撃を回避するのに役立つ。反復カウンタと組み合わせてスライダを使用することは、反復カウンタの弱点（例えば、「線形」シーケンスおよび「最大」値）を克服する。スライダは、これらの問題を克服し、攻撃者の「推測」作業（例えば、増加／減少シーケンス）を牽制する。
【００６６】
ユーザの指紋は、データまたはユーザに固有のデータのセットであってもよい。いくつかの例では、ユーザの指紋は、実際にユーザの指の物理的な指紋またはユーザから検出された他の生体情報であり得る。他の例では、ユーザ指紋は、任意のバイオメトリック情報を含まなくてもよい。英数字のパスワードは、そのようなユーザの指紋の例である。
ユーザは、支払い前に（または支払いカードを選択して）彼／彼女のパスワードを入力する必要がある。ユーザの指紋は、デバイス５０に何らかの形で（例えば、暗号化、ソルトティング（salting）、難読化などを介して）記憶されず、したがって、デバイス５０のハッキングまたはユーザのパスワードの「計算」を防止する。
【００６７】
キー生成器７１２は、入力として、１以上のユーザフィンガープリント（例えば、パスワード、サイトキー、および／またはユーザ人口統計情報）、１以上のデバイスフィンガープリント、および１以上のキー生成パラメータを使用するキー導出アルゴリズムを適用することができる。キー導出アルゴリズムの例は、Ａｎｄｒｏｉｄデバイスで使用されるＰＢＫＤＦ２ＷｉｔｈＨｍａｃＳＨＡ１である。他のキー導出アルゴリズムも使用することができる。したがって、対称キーのキー生成関数は、SymmKey = function（user_fprints、dev_fprints、鍵生成パラメータ）に一般化することができる。
【００６８】
キー生成パラメータは、初期化ベクトル、ソルト、スライダ、および／または反復カウントを含むことができる。初期化ベクトルは、キー導出アルゴリズムに入力される固定サイズのデータ量であってもよい。例えば、デバイス５０の乱数生成器またはシステム管理バックエンド３００は、初期化ベクトルを生成することができる。固定サイズのデータは、ランダムまたは擬似ランダムの値であってもよい。ソルトは、キー導出アルゴリズムへのランダムなデータ入力であり、辞書攻撃をより困難にすることができる。いくつかの例では、キー生成器７１２は、ソルトを生成するためにスプリンクラープラス「排他的論理和（ＸＯＲ）」技術を使用することができる。一例では、スプリンクラーは、１以上のバイト注入を伴う所与の入力をシャッフルするブロック生成器であってもよい。ソルトとパスワードとを使用してキーを導き出すことができる一方で、パスワードとは異なり、ソルトを秘密にする必要はない。例えば、ソルトはデバイス５０に記憶されるときに暗号化されてもよく、暗号化されずに記憶されてもよい。ソルトの長さは、キーの長さに基づいてもよい。一例では、ソルトの長さは、予想される対称キーの長さの１／８（すなわち、２５６ビットから８ビット）である。
【００６９】
反復カウントは、キーを生成するためにキー導出アルゴリズムを実行する回数を識別することができる。キー導出アルゴリズムを複数回実行することは、正しいパスワードから鍵を派生させるために１回の試行しか必要としない正当な使用にはほとんど影響を与えないが、それを複数回実行することにより、連続して複数のパスワードを試すブルートフォース攻撃を遅らせる。例えば、大きな反復カウントは、キーの導出をハッカーにとって計算上高コストにする可能性がある（キーストレッチと呼ばれるセキュリティ技術）。
【００７０】
比較のために、ソルトおよび反復カウントを使用しない場合は、ブルートフォース攻撃の共通パスワードのリストに基づいて事前生成キーを使用するほうが簡単かもしれない。ランダムな“ソルト”（これはパスワードを“調味（season）”するために使用されるため呼ばれる）を使用することにより、同じパスワードに基づいて複数のキーを構築することができるため、攻撃者は各ソルト値に対して新しいキーテーブルを生成する必要があり、あらかじめ計算されたテーブル攻撃をはるかに困難にする。
【００７１】
暗号化器７１０は、キー生成器７１２によるキー出力を使用してデータ配列を暗号化して、トークンを生成することができる。例えば、暗号器７１０は、高度な暗号化規格を適用してデータ配列を暗号化することができる。他の暗号化技術を使用することもできる。暗号化器７１０は、プライベートファイル７１４に記憶するためにトークンを支払いサブシステム１５０に出力することができる。
【００７２】
プライベートファイル７１４は、アプリケーションによって生成されたファイルであってもよく、そのアプリケーションのみが読み込みのためにそれにアクセスおよび／または開くことができる。プライベートファイル７１４はまた、ユーザのクレデンシャルの１以上と、キー生成パラメータのいくつかまたは全部を記憶してもよい。一例では、クレデンシャルデータは、機密データと平文データの２つの部分を有することができる。暗号化器７２０は、プライベートファイル７１４に記憶する前に機密データをキーで暗号化することができ、平文データが暗号化されているかどうかは任意である。一例では、機密データを最初に符号化し、出力バイナリバイト配列に追加し、次にバイナリオブジェクト全体（例えば、１６進バイト配列）をデバイス５０に記憶することができる。キーは、機密データを復号するために使用することもでき、特定のクレデンシャル（例えば、支払いカード）がＮＦＣ取引の間に使用される直前まで解読が行われることはない。
【００７３】
いくつかの例では、ＣＳＭ４２０は、定期的にキーを更新し、プライベートファイル７１４に記憶されたクレデンシャルデータを再暗号化することができる。例えば、キーは所定の存続時間を有することができる。期限切れになると、ＣＳＭ４２０は、上記の入力パラメータを使用して新しいキーを生成することができる。
【００７４】
ＣＳＭ４２０は、トークンを使用して、ユーザがＮＦＣ取引を実行しようと試みるときに正しいパスワードを入力したことを検証することができる。図８は、例示的な実施形態によるユーザパスワードを検証するためのプロセスを実装する例示的な機能ブロック図を示す。
ユーザは、ＮＦＣ取引を完了しようと試みるとき（例えば、支払いクレデンシャルを使用して支払いを行い、クーポンクレデンシャルを使用し、アクセスクレデンシャルを使用してドアを開くなど）、ウォレットＵＩ４１０を起動することができる。ウォレットＵＩ４１０は、ユーザに彼／彼女のパスワードを入力し、および／または彼／彼女のサイトキーを選択するように促し、ＵＩ４１０は、ユーザの指紋（例えば、パスワードおよび／またはサイトキー）をＣＳＭ４２０に転送することができる。
【００７５】
ＣＳＭ４２０のキー生成器７１２は、ユーザの指紋を用いてテストキーを生成することができる。ユーザが正しいパスワードを入力した場合、ＣＳＭ４２０は、テストキーを使用してプライベートファイル７１４に記憶されたトークンを適切に復号化し、ユーザが正しいパスワードを入力したことを検証することができる。ユーザが間違ったパスワードを入力すると、ＣＳＭ４２０はテストキーを使用してトークンを適切に解読することができず、したがってユーザが正しいパスワードを入力しなかったことを示す。
【００７６】
一例では、キージェネレータ７１２は、図７を参照して上述したのと同じ方法でテストキーを生成することができる。解読器８０２は、トークンを取り出し、テストキーを使用してトークンを解読して、バイト配列（例えば、１６進バイト配列）を生成することができる。  行列  −  行列変換器８０４は、バイト配列をＭｘＮ行列に変換することができる。  逆ＸＯＲ演算子８０６は、ＸＯＲ演算器７０６によって実行されるＸＯＲ演算と逆のＭｘＮ行列に対してＸＯＲ演算を実行することができる。行列回転器８０８は、逆ＸＯＲ演算器８０６によって出力されたＭｘＮ行列を回転させてＮｘＭ行列を生成する。
【００７７】
ルールチェッカ８１０は、トークンがテストキーを使用して適切にデコードされたことを確認するために、ＮｘＭ行列が検証ルールをパスすることを検証することができる。検証ルールの例は、（１）所定の値および／またはベクトルを有するＮｘＭ行列の固有値および固有ベクトル、（２）いくつかまたはすべての列、行、および/または期待値を有する対角線に対する各アプリケーションに固有の素数に関連する巡回冗長検査、（３）予想される暗号文に基づくことが出来る。ＮｘＭ行列が検証ルールに失敗した場合、ルールチェッカ８１０は、ウォレットＵＩ４１０にその失敗を通知し、所定数の失敗が発生するまで（例えば、３回以下の失敗）、ユーザに彼／彼女のパスワードを再入力させ、および／または彼／彼女のサイトキーを再選択するように促すことができる。所定の数に達している場合、ウォレットＵＩ４１０は、ウォレットアプリケーションをロックすることによって、またはすべてのウォレットクレデンシャルを消去することによってブルートフォース攻撃を防止するためのさらなるパスワード入力の試みを防止することができる。
【００７８】
ＮｘＭ行列が検証ルールをパスする場合、ルールチェッカ８１０は、パスワードが検証されたことをウォレットＵＩ４１０に通知することができる。次いで、ウォレットＵＩ４１０は、彼／彼女が実行したい操作のタイプについてユーザに促すことができる。例えば、ウォレットＵＩ４１０は、（例えば、支払いを行い、クーポンを使用し、ドアを開けるなどの）要求された取引を選択するようにユーザに促すＧＵＩを提示することができる。図９を参照すると、ウォレットＵＩ４１０は、ユーザが選択したクレデンシャル（複数可）を支払いサブシステム１５０に通知することができる。いくつかのウォレットアプリケーション（例えば、公共交通機関、ホテルのドアなど）では、パスワードの検証は、例えば、電話の再起動の後に１回だけ必要とされることがある。
【００７９】
選択された取引に基づいて、支払いサブシステム１５０は、プライベートファイル７１４から対応するクレデンシャルを検索し、暗号化されたクレデンシャルデータを復号化のために解読器８０２に転送することができる。例えば、ユーザは、ユーザが支払いを行うときに使用する１以上のクレジットカードを選択することができる。解読器８０２は、テストキーを使用して、選択されたクレジットカードのそれぞれのクレデンシャルデータを解読し、解読されたクレデンシャルデータを支払いサブシステム１５０に戻すことができる。支払いサブシステム１５０は、解読されたクレデンシャルを、ユーザによって要求されたトランザクションを完了しようとするＮＦＣベースバンドを介してＰＯＳ端末に転送することができる。複数のクレデンシャルの通信は、譲受人の米国特許第８、８１１、８９５号（２０１４年８月１９日発行、名称「System and Method for Presentation of Multiple NFC credentials during a Single NFC Transaction」に従うことができ、その内容は参照によりそのすべてが本明細書に組み込まれる。ユーザによって選択されなかったいかなるクレデンシャル（例えば取得をおこうために選択されなかった特定のクレジットカードのデータ）も、プライベートファイル７１４内に暗号化され記憶されたままであってよい。
【００８０】
例示的な実施形態は、多くの利点を提供する。このような利点の１つは、デバイス５０がパスワードを記憶しないことである。トークンをパスワードの代わりにデバイス５０に記憶することは、本明細書で使用される暗号化およびキー導出アルゴリズムを使用して、トークンからパスワードまたはキーを導出／再設計することが現在可能でないため、有利である。つまり、トークン自体はハッカーにとって価値がない。ハッカーがデバイス５０によって記憶されたトークンをトロイの木トークンで置き換えることができるとしても、本明細書に記載されているパスワード検証プロセスは、トロイの木馬トークンを適切に解読することができないので失敗する。したがって、すべての実施形態において、デバイス５０は、有利にはパスワードを記憶しないが、ユーザがＮＦＣ取引を行う前に適切なパスワードを入力したことを検証するか、ウォレットクレデンシャルにアクセスすることができる。
【００８１】
前述の説明および図面は、単に本発明を説明および例示するものであり、本発明はそれに限定されない。本明細書は、特定の実装または実施形態に関連して記載されているが、多くの詳細は、例示のために記載されている。したがって、上記は単に本発明の原理を説明するに過ぎない。例えば、本発明は、その精神または本質的な特性から逸脱することなく、他の特定の形態を有することができる。記載された構成は例示であり、限定的ではない。当業者であれば、本発明は、追加の実施形態または実施形態が可能であり、本出願に記載されたこれらの詳細のうちのいくつかは、本発明の基本原理から逸脱することなく変更することができる。したがって、当業者は、本明細書において明示的に記載または図示されていないが、本発明の原理を具体化し、したがってその範囲および精神の範囲内で様々な構成を考案できることを理解するであろう。
【図１ａ】
2018501680.tif 000004
【図１ｂ】
2018501680.tif 000005
【図２】
2018501680.tif 000006
【図３】
2018501680.tif 000007
【図４】
2018501680.tif 000008
【図４Ａ−Ｃ】
2018501680.tif 000009
【図４Ｄ】
2018501680.tif 000010
【図５】
2018501680.tif 000011
【図６】
2018501680.tif 000012
【図７】
2018501680.tif 000013
【図８】
2018501680.tif 000014
【図９】
2018501680.tif 000015
【国際調査報告】
2018501680.tif 000016
2018501680.tif 000017