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

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

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

特許7516643NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理
<>
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図1A
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図1B
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図2
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図3A
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図3B
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図4
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図5
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図6
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図7
  • 特許-NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-05
(45)【発行日】2024-07-16
(54)【発明の名称】NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理
(51)【国際特許分類】
   G06F 21/35 20130101AFI20240708BHJP
   G06F 21/46 20130101ALI20240708BHJP
【FI】
G06F21/35
G06F21/46
【請求項の数】 15
(21)【出願番号】P 2023196092
(22)【出願日】2023-11-17
(62)【分割の表示】P 2021533461の分割
【原出願日】2020-11-23
(65)【公開番号】P2024016271
(43)【公開日】2024-02-06
【審査請求日】2023-11-17
(31)【優先権主張番号】16/725,866
(32)【優先日】2019-12-23
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】519111877
【氏名又は名称】キャピタル・ワン・サービシーズ・リミテッド・ライアビリティ・カンパニー
【氏名又は名称原語表記】Capital One Services, LLC
(74)【代理人】
【識別番号】100145403
【弁理士】
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【弁理士】
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】オズボーン,ケビン
(72)【発明者】
【氏名】ルール,ジェフリー
【審査官】平井 誠
(56)【参考文献】
【文献】特開2016-184350(JP,A)
【文献】米国特許出願公開第2017/0091441(US,A1)
【文献】米国特許出願公開第2002/0087890(US,A1)
【文献】米国特許出願公開第2003/0131266(US,A1)
【文献】米国特許出願公開第2009/0260077(US,A1)
【文献】特開2019-083536(JP,A)
【文献】特開2012-027530(JP,A)
【文献】特開2017-182396(JP,A)
【文献】米国特許出願公開第2005/0132203(US,A1)
【文献】米国特許出願公開第2017/0308695(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
非接触カードであって、
メモリと、
少なくとも1つの通信インターフェースと、
格納された命令を実行するように動作可能な1つまたは複数のプロセッサと、を備え、
前記命令は、実行されると、前記1つまたは複数のプロセッサに、
前記少なくとも1つの通信インターフェースがコンピューティングデバイスのNFCリーダとの近距離無線通信(NFC)通信をしているかどうかを決定することと、
安全な乱数ジェネレータを介して乱数を生成することと、
前記乱数を、1つまたは複数の人間が読める文字のシーケンスであって、ユーザが読める英数字である文字のシーケンスに変換することと、
前記1つまたは複数の人間が読める文字に基づいて、前記1つまたは複数の人間が読める文字のシーケンスとは異なる、英数字を含むパスワードを生成することであって、(i)前記1つまたは複数の人間が読める文字の少なくとも一部を再配置または大文字にすることと、(ii)予め定義された個数の人間が読める文字を追加することとにより、前記1つまたは複数の人間が読める文字を変換することを含む、前記パスワードを生成することと、
前記少なくとも1つの通信インターフェースを介して前記パスワードを前記コンピューティングデバイスに送信することと、
を実行させ、
前記送信されたパスワードは、前記コンピューティングデバイスにおいて少なくとも1つのアプリケーションの実行をトリガするマスターパスワードであり、これにより、少なくとも1つの他のアプリケーションにアクセスするために使用される1つまたは複数のパスワードを管理する、
非接触カード。
【請求項2】
前記安全な乱数ジェネレータによって生成される前記乱数は、所定の長さを有している、請求項1に記載の非接触カード。
【請求項3】
前記パスワードは、1つまたは複数のNFCデータ交換フォーマット(NDEF)メッセージを介して前記非接触カードから前記コンピューティングデバイスに送信され、前記パスワードは、前記1つまたは複数のNDEFメッセージに含まれ、鍵を介して暗号化される、請求項1に記載の非接触カード。
【請求項4】
前記1つまたは複数のプロセッサによりさらに、前記コンピューティングデバイスから確認応答(ACK)メッセージを受信させ、
前記ACKメッセージは、前記コンピューティングデバイスで生成された第1のチェックサム値が前記1つまたは複数のNDEFメッセージで提供された第2のチェックサム値と一致することを示す情報を含む、請求項に記載の非接触カード。
【請求項5】
前記1つまたは複数のプロセッサによりさらに、前記パスワードを生成するための要求または命令を受信させる、または、
前記パスワードは、前記非接触カードと前記コンピューティングデバイスとの間でNFC通信が確立および認証されるときに自動的に生成される、請求項1に記載の非接触カード。
【請求項6】
前記乱数ジェネレータは、前記非接触カードに格納され、前記生成されたパスワードは、前記非接触カードのメモリに格納される、請求項1に記載の非接触カード。
【請求項7】
非接触カードの1つまたは複数のプロセッサを介して、前記非接触カードの少なくとも1つの通信インターフェースがコンピューティングデバイスのNFCリーダとの近距離無線通信(NFC)通信をしているかどうかを決定することと、
前記非接触カードの安全な乱数ジェネレータを介して、乱数を生成することと、
前記非接触カードの前記1つまたは複数のプロセッサを介して、前記乱数を、1つまたは複数の人間が読める文字のシーケンスであって、ユーザが読める英数字である文字のシーケンスに変換することと、
前記非接触カードの前記1つまたは複数のプロセッサを介して、前記1つまたは複数の人間が読める文字に基づいて、前記1つまたは複数の人間が読める文字のシーケンスとは異なる、英数字を含むパスワードを生成することであって、(i)前記1つまたは複数の人間が読める文字の少なくとも一部を再配置または大文字にすることと、(ii)予め定義された個数の人間が読める文字を追加することとにより、前記1つまたは複数の人間が読める文字を変換することを含む、前記パスワードを生成することと、
前記非接触カードの前記少なくとも1つの通信インターフェースを介して、前記パスワードを前記コンピューティングデバイスに送信することと、
を含み、
前記送信されたパスワードは、前記コンピューティングデバイスにおいて少なくとも1つのアプリケーションの実行をトリガするマスターパスワードであり、これにより、少なくとも1つの他のアプリケーションにアクセスするために使用される1つまたは複数のパスワードを管理する、方法。
【請求項8】
前記安全な乱数ジェネレータによって生成される前記乱数は、所定の長さを有している、請求項に記載の方法。
【請求項9】
前記パスワードは、1つまたは複数のNFCデータ交換フォーマット(NDEF)メッセージを介して前記非接触カードから前記コンピューティングデバイスに送信され、前記パスワードは、前記1つまたは複数のNDEFメッセージに含まれ、鍵を介して暗号化される、請求項に記載の方法。
【請求項10】
前記方法は、前記コンピューティングデバイスから確認応答(ACK)メッセージを受信することを含み、
前記ACKメッセージは、前記コンピューティングデバイスで生成された第1のチェックサム値が前記1つまたは複数のNDEFメッセージで提供された第2のチェックサム値と一致することを示す情報を含む、請求項に記載の方法。
【請求項11】
前記方法は、前記パスワードを生成するための要求または命令を受信することを含む、または、
前記パスワードは、前記非接触カードと前記コンピューティングデバイスとの間でNFC通信が確立および認証されるときに自動的に生成されることをさらに含む、請求項に記載の方法。
【請求項12】
コンピュータ可読プログラムコードを格納する非一時的なコンピュータ可読記憶媒体であって、前記コンピュータ可読プログラムコードは、少なくとも1つのプロセッサによって、
非接触カードにおいて、前記非接触カードの少なくとも1つの通信インターフェースがコンピューティングデバイスのNFCリーダとの近距離無線通信(NFC)通信をしているかどうかを決定することと、
前記非接触カードにおいて、安全な乱数ジェネレータを介して、乱数を生成することと、
前記非接触カードの前記1つまたは複数のプロセッサを介して、前記乱数を、1つまたは複数の人間が読める文字のシーケンスであって、ユーザが読める英数字である文字のシーケンスに変換することと、
前記非接触カードの前記1つまたは複数のプロセッサを介して、前記1つまたは複数の人間が読める文字に基づいて、前記1つまたは複数の人間が読める文字のシーケンスとは異なる、英数字を含むパスワードを生成することであって、(i)前記1つまたは複数の人間が読める文字の少なくとも一部を再配置または大文字にすることと、(ii)予め定義された個数の人間が読める文字を追加することとにより、前記1つまたは複数の人間が読める文字を変換することを含む、前記パスワードを生成することと、
前記非接触カードの前記少なくとも1つの通信インターフェースを介して、前記パスワードを前記コンピューティングデバイスに送信することと、
を行うために実行可能であり、
前記送信されたパスワードは、前記コンピューティングデバイスにおいて少なくとも1つのアプリケーションの実行をトリガするマスターパスワードであり、これにより、少なくとも1つの他のアプリケーションにアクセスするために使用される1つまたは複数のパスワードを管理する、非一時的なコンピュータ可読記憶媒体。
【請求項13】
前記パスワードは、1つまたは複数のNFCデータ交換フォーマット(NDEF)メッセージを介して前記非接触カードから前記コンピューティングデバイスに送信され、前記パスワードは、前記1つまたは複数のNDEFメッセージに含まれ、鍵を介して暗号化される、請求項12に記載の非一時的なコンピュータ可読記憶媒体。
【請求項14】
前記コンピュータ可読プログラムコードは、前記少なくとも1つのプロセッサによってさらに、前記コンピューティングデバイスから確認応答(ACK)メッセージを受信させ、
前記ACKメッセージは、前記コンピューティングデバイスで生成された第1のチェックサム値が前記1つまたは複数のNDEFメッセージで提供された第2のチェックサム値と一致することを示す情報を含む、請求項13に記載の非一時的なコンピュータ可読記憶媒体。
【請求項15】
前記コンピュータ可読プログラムコードは、前記少なくとも1つのプロセッサによってさらに、前記パスワードを生成するための要求または命令を受信させる、または、
前記パスワードは、前記非接触カードと前記コンピューティングデバイスとの間でNFC通信が確立および認証されるときに自動的に生成される、請求項12に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願
この出願は、2019年12月23日に出願された「NFCおよび非接触スマートカードを使用した安全なパスワードの生成および管理」という名称の米国特許出願第16/725,866号の優先権を主張する。前述の出願の内容は、参照によりその全体が本明細書に援用される。
【背景技術】
【0002】
総当たりクラッキング攻撃(brute-force cracking attack)は、一般的に採用されているハッキング手法であり、ハッカが手動でパスワードを推測することにより、コンピュータ、電子メールアカウント、オンラインバンキングアカウント、アプリケーション、ウェブサイトなどに侵入するために使用され得る。したがって、ユーザを身元または金銭の盗難から保護するには、強力で複雑なパスワードが不可欠であり得る。
【0003】
従来のパスワードマネージャは、複雑なパスワードの生成と取得を支援し、そのようなパスワードを暗号化されたデータベースに格納するか、オンデマンドで計算され得る。従来のパスワードマネージャは、ローカルにインストールされたソフトウェアアプリケーション、ウェブサイトポータルを介してアクセスされるオンラインサービス、または鍵として機能するローカルにアクセスされるハードウェアデバイスであり得る。通常、従来のパスワードマネージャでは、データベースに格納されている情報のロックを解除してアクセスするために、ユーザが1つの「マスター」パスワードを生成して記憶する必要がある。
【0004】
しかしながら、従来のパスワードマネージャには、いくつかの点で問題がある。まず、ユーザは、パスワードマネージャを実行するデバイスを常に所有しているとは限らない。第二に、パスワードマネージャが使用するパスワードジェネレータのランダム性は、検証され得ない。第三に、パスワードマネージャは、どんなに強力であっても、それを保護するユーザが作成したマスターパスワードと同じだけの効果がある。
【発明の概要】
【0005】
様々な実施形態は、近距離無線通信(NFC)対応の非接触スマートカードを使用してパスワードを安全に生成および管理することを目的としている。例えば、非接触スマートカードの乱数ジェネレータを介して乱数を生成し、その乱数を1つまたは複数の人間が読める文字に変換することで、安全なパスワードを生成し得る。他の例では、非接触スマートカードの安全な暗号化ハッシュ関数がハッシュ出力値を生成し、それが1つまたは複数の人間が読める文字に変換され得る。人間が読める文字を安全なパスワードとして使用することも、より多くのセキュリティと複雑さの層を追加するために変換することもし得る。
【図面の簡単な説明】
【0006】
図1A】1つまたは複数の実施形態による例示的なデータ伝送システムを示している。
図1B】1つまたは複数の実施形態による認証されたアクセスを提供するための例示的なシーケンス図を示している。
図2】1つまたは複数の実施形態による非接触カードを使用する例示的なシステムを示している。
図3A】1つまたは複数の実施形態による例示的な非接触カードを示している。
図3B】1つまたは複数の実施形態による非接触カードの例示的な接触パッドを示している。
図4】1つまたは複数の実施形態による安全なパスワード生成に関連する例示的なシーケンス図を示している。
図5】1つまたは複数の実施形態による例示的なパスワードマネージャアプリケーションおよび安全なパスワード生成を示している。
図6】1つまたは複数の実施形態による安全なパスワード生成に関連するシーケンス図の他の例を示している。
図7】1つまたは複数の実施形態によるウェブサイトのための例示的な安全なパスワード生成を示している。
図8】1つまたは複数の実施形態による例示的なフロー図を示している。
【発明を実施するための形態】
【0007】
様々な実施形態は、一般に、近距離無線通信(NFC)対応の非接触スマートカードを使用して1つまたは複数のパスワードを安全に生成および管理することを目的としている。例えば、モバイルデバイス(例えば、スマートフォン、ラップトップ、タブレットなど)などのコンピューティングデバイスと非接触カードとの間で承認されたNFC通信が確立されると、非接触カードは、そこに格納されている少なくとも1つのアプレットを使用して、真にランダムで、人間が読み取れる安全なパスワードを生成し得る。
【0008】
一実施形態によれば、モバイルデバイスは、モバイルデバイスとカードとの間のNFC通信を確立および認証する際に、非接触カードに安全なパスワードを要求し得る。非接触カードの乱数ジェネレータは、事前定義された長さを有する乱数を生成し得る。乱数は、安全なパスワードとして使用され得る1つまたは複数の人間が読める文字に変換され得、または、他の例では、1つまたは複数の人間が読める文字は、パスワードトランスフォーマによって、例えば、人間が読める文字を並べ替える、特定の文字を他の文字で置き換えるなど、パスワードに追加のセキュリティの層を追加するために変換され得る。安全なパスワードは、少なくとも1つのNFCデータ交換フォーマット(NDEF)ファイルでモバイルデバイスに届けられ得る。
【0009】
いくつかの例では、モバイルデバイスが特定の非接触カードとの認証された通信を確立するときに、パスワードマネージャアプリケーションがモバイルデバイス上で自動的に開かれ、その特定の非接触カードのみがパスワードマネージャアプリケーションを開き得る。したがって、物理的な非接触カード自体が、場合によっては、通常のマスターパスワードとともに、パスワードマネージャの「マスター」パスワードとして使用され得る。さらに、非接触カードは、1つまたは複数の新しい安全なパスワードを自動的かつ一方的に生成および送信し得、これは、ユーザのニーズに応じて、パスワードマネージャアプリケーションでユーザが管理、整理、または使用し得る。
【0010】
他の実施形態によれば、安全なパスワード生成を実行するために、モバイルデバイスと非接触カードとの間に双方向通信プロトコルを確立し得る。例えば、NFC通信を確立して認証すると、モバイルデバイスは、パスワード要求を識別子とともに非接触カードに送信し得る。識別子は、アプリケーション、ウェブサイト、またはパスワードを要求するファイルに関連付けられた任意の情報であり得る。例えば、ウェブサイトに関連付けられたユニフォームリソースロケータ(URL)を識別子として使用し得る。非接触カードは、ハッシュ出力値を出力する安全な暗号化ハッシュ関数で識別子を取得して入力する。ハッシュ出力値は、1つまたは複数の人間が読める文字に変換され得、これは、パスワード自体として使用することも、または、パスワードトランスフォーマによってさらに変換して、パスワードに追加のセキュリティ層を追加することもし得る。その後、パスワードがモバイルデバイスに送信される。
【0011】
非接触カード(およびその非接触カードのみ)は、識別子を使用して安全なパスワードを要求することにより、カードに含まれる一意の暗号化ハッシュ関数に基づいて、同じリクエスタに対して同じパスワードを生成し得る。したがって、ユーザが同じ非接触カードを使用している限り、モバイルデバイスまたはカード自体に安全なパスワードを格納する必要がなく、潜在的なハッカへのパスワードの全体的な露出が最小限に抑えられる。
【0012】
さらなる例では、非接触カードがモバイルデバイスにタップされるか、またはモバイルデバイスから閾値距離内に配置されると、モバイルデバイスは、パスワードフィールドに安全なパスワードを自動的に入力し得る(「自動入力」とも呼ばれる)。パスワードは、上記のように、非接触カードによって生成され、モバイルデバイスのパスワードマネージャによって格納および管理される新しいパスワードであり得、または、パスワードは、上記のように、同じリクエスタ(例えば、アプリケーション、ウェブサイト、ファイルなど)によって要求され得る同じパスワードであり得る。
【0013】
以前の解決策では、ユーザが常にそれらのデバイスを所有しているとは限らなかったため、パスワードマネージャの有効性は、それらがインストールされたデバイスに限定されていた。さらに、パスワードマネージャが使用するパスワードジェネレータのランダム性は検証できなかった。さらに、パスワードマネージャは、不正アクセスからマネージャを保護する「マスター」パスワードと同じくらい強力であった。本明細書に記載の実施形態および例は、NFC対応非接触スマートカードなどの高度に安全で検証可能なハードウェアコンポーネントを使用して、いくつかの例では、生成されたパスワードを非接触カードおよび/またはモバイルデバイスに格納する必要がなく、真にランダムで人間が読めるパスワードを生成し得、ハッキングされ得るデータの重要な部分を排除することにより、違反の露出を最小限に抑えるという点で、以前の解決策を克服し、有利である。また、非接触カード自体(場合によってはマスターパスワードとともに)を使用してモバイルデバイスでパスワードマネージャアプリケーションを開くことができるため、物理カードが「マスター」パスワードとして機能し、ほとんどのパスワードマネージャアプリケーションに関連する上記最も弱いリンクの問題を克服し得る。
【0014】
ここで、図面が参照される。ここでは、同様の参照番号を使用して、全体を通して同様の要素を参照している。以下の説明では、説明の目的で、それらを完全に理解するために、多くの具体的な詳細が示されている。しかしながら、これらの特定の詳細なしで新規の実施形態を実施できることは明らかであり得る。他の例では、よく知られている構造およびデバイスは、その説明を容易にするためにブロック図の形で示されている。意図は、請求項の範囲内の全ての修正、均等物、および代替案をカバーすることである。
【0015】
図1Aは、1つまたは複数の実施形態に係る例示的なデータ伝送システムを示している。以下でさらに議論されるように、システム100は、非接触カード105、クライアントデバイス110、ネットワーク115、およびサーバ120を含み得る。図1Aは、コンポーネントの単一のインスタンスを示しているが、システム100は、任意の数のコンポーネントを含み得る。
【0016】
システム100は、1つまたは複数の非接触カード105を含み得、これらは、図3Aおよび図3Bを参照して以下でさらに説明される。いくつかの実施形態では、非接触カード105は、一例では、NFCを利用して、クライアントデバイス110と無線通信し得る。
【0017】
システム100は、ネットワーク対応コンピュータであり得るクライアントデバイス110を含み得る。本明細書で言及されるように、ネットワーク対応コンピュータは、コンピュータデバイス、または、例えば、サーバ、ネットワークアプライアンス、パーソナルコンピュータ、ワークステーション、電話、スマートフォン、ハンドヘルドPC、パーソナルデジタルアシスタント、シンクライアント、ファットクライアント、インターネットブラウザ、またはその他のデバイスを含む通信デバイスを含み得るが、これらに限定されない。クライアントデバイス110は、モバイルコンピューティングデバイス、例えば、Apple(登録商標)のiPhone(登録商標)、iPod(登録商標)、iPad(登録商標)、またはAppleのiOS(登録商標)オペレーティングシステムを実行するその他の適切なデバイス、MicrosoftのWindows(登録商標)モバイルオペレーティングシステムを実行するデバイス、GoogleのAndroid(登録商標)オペレーティングシステムを実行するデバイス、および/またはスマートフォン、タブレット、または同様のウェアラブルモバイルデバイスなどの他の適切なモバイルコンピューティングデバイスであり得る。
【0018】
クライアントデバイス110デバイスは、プロセッサおよびメモリを含み得、処理回路は、本明細書に記載の機能を実行するために必要に応じて、プロセッサ、メモリ、エラーおよびパリティ/CRCチェッカ、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブ、および改ざん防止ハードウェアを含む追加のコンポーネントを含み得ることが理解される。クライアントデバイス110は、ディスプレイおよび入力デバイスをさらに含み得る。ディスプレイは、コンピュータモニタ、フラットパネルディスプレイ、および液晶ディスプレイ、発光ダイオードディスプレイ、プラズマパネル、およびブラウン管ディスプレイを含むモバイルデバイス画面などの視覚情報を提示するための任意のタイプのデバイスであり得る。入力デバイスは、タッチスクリーン、キーボード、マウス、カーソル制御デバイス、タッチスクリーン、マイク、デジタルカメラ、ビデオレコーダまたはカムコーダなど、ユーザのデバイスで利用可能でサポートされている情報をユーザのデバイスに入力するための任意のデバイスを含み得る。これらのデバイスは、情報を入力し、本明細書に記載されているソフトウェアおよび他のデバイスと相互作用するために使用され得る。
【0019】
いくつかの例では、システム100のクライアントデバイス110は、例えば、システム100の1つまたは複数のコンポーネントとのネットワーク通信を可能にし、データを送信および/または受信する、ソフトウェアアプリケーションなどの1つまたは複数のアプリケーションを実行し得る。
【0020】
クライアントデバイス110は、1つまたは複数のネットワーク115を介して1つまたは複数のサーバ120と通信し得、サーバ120とのそれぞれのフロントエンドからバックエンドへのペアとして動作し得る。クライアントデバイス110は、例えば、クライアントデバイス110上で実行されるモバイルデバイスアプリケーションから、1つまたは複数の要求をサーバ120に送信し得る。1つまたは複数の要求は、サーバ120からのデータの取得に関連付けられ得る。サーバ120は、クライアントデバイス110から1つまたは複数の要求を受信し得る。クライアントデバイス110からの1つまたは複数の要求に基づいて、サーバ120は、1つまたは複数のデータベース(図示せず)から要求されたデータを取得するように構成され得る。1つまたは複数のデータベースからの要求されたデータの受信に基づいて、サーバ120は、受信されたデータをクライアントデバイス110に送信するように構成され得、受信されたデータは、1つまたは複数の要求に応答し得る。
【0021】
システム100は、1つまたは複数のネットワーク115を含み得る。いくつかの例では、ネットワーク115は、無線ネットワーク、有線ネットワーク、または無線ネットワークと有線ネットワークの任意の組み合わせのうちの1つまたは複数であり得、クライアントデバイス110をサーバ120に接続するように構成され得る。例えば、ネットワーク115は、光ファイバネットワーク、パッシブ光ネットワーク、ケーブルネットワーク、インターネットネットワーク、衛星ネットワーク、無線ローカルエリアネットワーク(LAN)、モバイル通信のためのグローバルシステム、パーソナル通信サービス、パーソナルエリアネットワーク、無線アプリケーションプロトコル、マルチメディアメッセージングサービス、拡張メッセージングサービス、ショートメッセージサービス、時間分割マルチプレックスベースのシステム、コード分割マルチアクセス(CDMA)ベースのシステム、D-AMPS、Wi-Fi、固定無線データ、IEEE802.11b、802.15.1、802.11nおよび802.11g、ブルートゥース(登録商標)、NFC、無線周波数識別(RFID)、Wi-Fiなどのうちの1つまたは複数を含み得る。
【0022】
さらに、ネットワーク115は、電話回線、光ファイバ、IEEEイーサネット802.3、ワイドエリアネットワーク、無線パーソナルエリアネットワーク、LAN、またはインターネットなどのグローバルネットワークを含み得るがこれらに限定されない。さらに、ネットワーク115は、インターネットネットワーク、無線通信ネットワーク、セルラネットワークなど、またはそれらの任意の組み合わせをサポートし得る。ネットワーク115は、スタンドアロンネットワークとして、または互いに協力して動作する、1つのネットワーク、または上記の任意の数の例示的なタイプのネットワークをさらに含み得る。ネットワーク115は、それらが通信可能に結合されている1つまたは複数のネットワーク要素の1つまたは複数のプロトコルを利用し得る。ネットワーク115は、他のプロトコルからネットワークデバイスの1つまたは複数のプロトコルに、または他のプロトコルから変換し得る。ネットワーク115は単一のネットワークとして示されているが、1つまたは複数の例によれば、ネットワーク115は、例えば、インターネット、サービスプロバイダのネットワーク、ケーブルテレビネットワーク、クレジットカードアソシエーションネットワークなどの企業ネットワーク、およびホームネットワークなどの複数の相互接続されたネットワークを含み得ることを理解されたい。
【0023】
システム100は、1つまたは複数のサーバ120を含み得る。いくつかの例では、サーバ120は、メモリに結合された1つまたは複数のプロセッサを含み得る。サーバ120は、複数のワークフローアクションを実行するために異なる時間に様々なデータを制御および呼び出すための中央システム、サーバまたはプラットフォームとして構成され得る。サーバ120は、1つまたは複数のデータベースに接続するように構成され得る。サーバ120は、少なくとも1つのクライアントデバイス110に接続され得る。
【0024】
図1Bは、1つまたは複数の実施形態に係る認証されたアクセスを提供するための例示的なシーケンス図を示している。この図は、非接触カード105およびクライアントデバイス110を含み得、これらは、アプリケーション122およびプロセッサ124を含み得る。図1Bは、図1Aに示されているのと同様のコンポーネントを参照し得る。
【0025】
ステップ102で、アプリケーション122は、非接触カード105と通信する(例えば、カード105がデバイス110に近づけられた後、カード105がデバイス110にタップされた後など)。アプリケーション122と非接触カード105との間の通信は、アプリケーション122と非接触カード105との間のNFCデータ転送を可能にするために、クライアントデバイス110のカードリーダ(図示せず)に十分に近い非接触カード105を含み得る。
【0026】
ステップ104で、クライアントデバイス110と非接触カード105との間で通信が確立された後、非接触カード105は、メッセージ認証コード(MAC)暗号文を生成する。いくつかの例では、これは、非接触カード105がアプリケーション122によって読み取られるときに発生し得る。特に、これは、NFCデータ交換フォーマットに従って作成され得るNDEFタグのNFC読み取りなどの読み取り時に発生し得る。
【0027】
例えば、アプリケーション122などのリーダは、NDEF生成アプレットのアプレットIDを用いて、アプレット選択メッセージなどのメッセージを送信し得る。選択が確認されると、一連の選択ファイルメッセージとそれに続く読み取りファイルメッセージが送信され得る。例えば、シーケンスは、「機能ファイルの選択」、「機能ファイルの読み取り」、および「NDEFファイルの選択」を含み得る。この時点で、非接触カード105によって維持されるカウンタ値は、更新またはインクリメントされ得、その後に「NDEFファイルの読み取り」が続き得る。この時点で、ヘッダと共有秘密を含み得るメッセージが生成され得る。その後、セッション鍵が生成され得る。MAC暗号文は、メッセージから作成され得、これは、ヘッダと共有秘密を含み得る。次に、MAC暗号文をランダムデータの1つまたは複数のブロックと連結し、MAC暗号文と乱数(RND)をセッション鍵で暗号化し得る。その後、暗号文とヘッダを連結し、ASCII16進数として符号化して、NDEFメッセージフォーマット(「NDEFファイルの読み取り」メッセージに応答)で返し得る。
【0028】
いくつかの例では、MAC暗号文は、NDEFタグとして送信され得、他の例では、MAC暗号文は、ユニフォームリソースインジケータ(例えば、フォーマットされた文字列)とともに含まれ得る。
【0029】
いくつかの例では、アプリケーション122は、非接触カード105に要求を送信するように構成され得、要求は、MAC暗号文を生成するための命令を備える。
【0030】
ステップ106で、非接触カード105は、MAC暗号文をアプリケーション122に送信する。いくつかの例では、MAC暗号文の送信は、NFCを介して行われる。しかしながら、本開示は、それに限定されない。他の例では、この通信は、ブルートゥース(登録商標)、Wi-Fi、または他の無線データ通信手段を介して行われ得る。
【0031】
ステップ108で、アプリケーション122は、MAC暗号文をプロセッサ124に通信する。ステップ112で、プロセッサ124は、アプリケーション122からの命令に従って、MAC暗号文を検証する。例えば、以下で説明するように、MAC暗号文は、検証され得る。
【0032】
いくつかの例では、MAC暗号文の検証は、クライアントデバイス110とデータ通信しているサーバ120などの、クライアントデバイス110以外のデバイスによって実行され得る(図1Aに示されているように)。例えば、プロセッサ124は、サーバ120に送信するためにMAC暗号文を出力し得、これは、MAC暗号文を検証し得る。
【0033】
いくつかの例では、MAC暗号文は、検証の目的でデジタル署名として機能し得る。この検証を実行するために、公開鍵非対称アルゴリズム、例えば、デジタル署名アルゴリズムおよびRSAアルゴリズム、またはゼロ知識プロトコルなどの他のデジタル署名アルゴリズムを使用し得る。
【0034】
いくつかの例では、非接触カード105は、非接触カードがクライアントデバイス110に近づけられた後に通信を開始し得ることが理解され得る。例として、非接触カード105は、例えば、非接触カードが通信を確立したことを示すメッセージをクライアントデバイス110に送信し得る。その後、クライアントデバイス110のアプリケーション122は、上記のように、ステップ102で非接触カードとの通信に進み得る。
【0035】
図2は、非接触カードを使用する例示的なシステム200を示している。システム200は、非接触カード205、1つまたは複数のクライアントデバイス210、ネットワーク215、サーバ220、225、1つまたは複数のハードウェアセキュリティモジュール230、およびデータベース235を含み得る。図2は、コンポーネントの単一のインスタンスを示しているが、システム200は、任意の数のコンポーネントを含み得る。
【0036】
システム200は、1つまたは複数の非接触カード205を含み得、これらは、図3Aおよび図3Bに関して以下でさらに説明される。いくつかの例では、非接触カード205は、クライアントデバイス210との無線通信、例えば、NFC通信をし得る。例えば、非接触カード205は、NFCまたは他の短距離プロトコルを介して通信するように構成された、無線周波数識別チップなどの1つまたは複数のチップを含み得る。他の実施形態では、非接触カード205は、ブルートゥース(登録商標)、衛星、Wi-Fi、有線通信、および/または無線接続と有線接続の任意の組み合わせを含むがこれらに限定されない他の手段を介してクライアントデバイス210と通信し得る。いくつかの実施形態によれば、非接触カード205は、非接触カード205がカードリーダ213の範囲内にあるときに、NFCを介してクライアントデバイス210のカードリーダ213(本明細書ではNFCリーダ、NFCカードリーダ、またはリーダと呼ばれ得る)と通信するように構成され得る。他の例では、非接触カード205との通信は、物理的インターフェース、例えば、ユニバーサルシリアルバスインターフェースまたはカードスワイプインターフェースを介して達成され得る。
【0037】
システム200は、ネットワーク対応コンピュータであり得るクライアントデバイス210を含み得る。本明細書で言及されるように、ネットワーク対応コンピュータは、例えば、コンピュータデバイス、または、例えば、サーバ、ネットワークアプライアンス、パーソナルコンピュータ、ワークステーション、モバイルデバイス、電話、ハンドヘルドPC、パーソナルデジタルアシスタント、シンクライアント、ファットクライアント、インターネットブラウザ、またはその他のデバイスを含む通信デバイスを含み得るが、これらに限定されない。1つまたは複数のクライアントデバイス210はまた、モバイルデバイスであり得る。例えば、モバイルデバイスは、Apple(登録商標)のiPhone(登録商標)、iPod(登録商標)、iPad(登録商標)、またはAppleのiOS(登録商標)オペレーティングシステムを実行するその他のモバイルデバイス、MicrosoftのWindows(登録商標)モバイルオペレーティングシステムを実行するデバイス、GoogleのAndroid(登録商標)オペレーティングシステムを実行するデバイス、および/またはその他のスマートフォンまたは同様のウェアラブルモバイルデバイスを含み得る。いくつかの例では、クライアントデバイス210は、図1Aまたは図1Bを参照して説明したように、クライアントデバイス110と同じであるか、または類似し得る。
【0038】
クライアントデバイス210は、1つまたは複数のネットワーク215を介して1つまたは複数のサーバ220および225と通信し得る。クライアントデバイス210は、例えば、クライアントデバイス210上で実行されるアプリケーション211から、1つまたは複数のサーバ220および225に1つまたは複数の要求を送信し得る。1つまたは複数の要求は、1つまたは複数のサーバ220および225からのデータの取得に関連付けられ得る。サーバ220および225は、クライアントデバイス210から1つまたは複数の要求を受信し得る。クライアントデバイス210からの1つまたは複数の要求に基づいて、1つまたは複数のサーバ220および225は、1つまたは複数のデータベース235から要求されたデータを取得するように構成され得る。1つまたは複数のデータベース235からの要求されたデータの受信に基づいて、1つまたは複数のサーバ220および225は、受信されたデータをクライアントデバイス210に送信するように構成され得、受信されたデータは、1つまたは複数の要求に応答する。
【0039】
システム200は、1つまたは複数のハードウェアセキュリティモジュール(HSM)230を含み得る。例えば、1つまたは複数のHSM230は、本明細書に開示されるように、1つまたは複数の暗号化操作を実行するように構成され得る。いくつかの例では、1つまたは複数のHSM230は、1つまたは複数の暗号化操作を実行するように構成された特別な目的のセキュリティデバイスとして構成され得る。HSM230は、鍵がHSM230の外部に決して公開されず、代わりに、HSM230内で維持されるように構成され得る。例えば、1つまたは複数のHSM230は、鍵導出、復号、およびMAC操作の少なくとも1つを実行するように構成され得る。1つまたは複数のHSM230は、サーバ220および225内に含まれ得るか、またはそれらとデータ通信され得る。
【0040】
システム200は、1つまたは複数のネットワーク215を含み得る。いくつかの例では、ネットワーク215は、無線ネットワーク、有線ネットワーク、または無線ネットワークと有線ネットワークの任意の組み合わせのうちの1つまたは複数であり得、クライアントデバイス210をサーバ220および/または225に接続するように構成され得る。例えば、ネットワーク215は、光ファイバネットワーク、パッシブ光ネットワーク、ケーブルネットワーク、セルラネットワーク、インターネットネットワーク、衛星ネットワーク、無線LAN、移動体通信のためのグローバルシステム、パーソナル通信サービス、パーソナルエリアネットワーク、無線アプリケーションプロトコル、マルチメディアメッセージングサービス、拡張メッセージングサービス、ショートメッセージサービス、時間分割マルチプレックスベースのシステム、コード分割マルチアクセスベース(CDMA)システム、D-AMPS、Wi-Fi、固定無線データ、IEEE802.11b、802.15.1、802.11nおよび802.11g、ブルートゥース(登録商標)、NFC、RFID、Wi-Fi、および/またはそれらのネットワークの任意の組み合わせのうち1つまたは複数を含み得る。非限定的な例として、非接触カード205およびクライアントデバイス210からの通信は、NFC通信、クライアントデバイス210とキャリアとの間のセルラネットワーク、およびキャリアとバックエンドとの間のインターネットを含み得る。
【0041】
さらに、ネットワーク215は、電話回線、光ファイバ、IEEEイーサネット802.3、ワイドエリアネットワーク、無線パーソナルエリアネットワーク、ローカルエリアネットワーク、またはインターネットなどのグローバルネットワークを含み得るがこれらに限定されない。さらに、ネットワーク215は、インターネットネットワーク、無線通信ネットワーク、セルラネットワークなど、またはそれらの任意の組み合わせをサポートし得る。ネットワーク215は、スタンドアロンネットワークとして、または互いに協力して動作する、1つのネットワーク、または上記の任意の数の例示的なタイプのネットワークをさらに含み得る。ネットワーク215は、それらが通信可能に結合されている1つまたは複数のネットワーク要素の1つまたは複数のプロトコルを利用し得る。ネットワーク215は、他のプロトコルからネットワークデバイスの1つまたは複数のプロトコルに、または他のプロトコルから変換し得る。ネットワーク215は、単一のネットワークとして示されているが、1つまたは複数の例によれば、ネットワーク215は、例えば、インターネット、サービスプロバイダのネットワーク、ケーブルテレビネットワーク、クレジットカードアソシエーションネットワークなどの企業ネットワーク、およびホームネットワークなどの複数の相互接続されたネットワークを含み得ることを理解されたい。
【0042】
本開示による様々な例では、システム200のクライアントデバイス210は、1つまたは複数のアプリケーション211を実行し、1つまたは複数のプロセッサ212、および1つまたは複数のカードリーダ213を含み得る。例えば、ソフトウェアアプリケーションなどの1つまたは複数のアプリケーション211は、例えば、システム200の1つまたは複数のコンポーネントとのネットワーク通信を可能にし、データを送信および/または受信するように構成され得る。図2には、クライアントデバイス210のコンポーネントの単一のインスタンスのみが示されているが、任意の数のデバイス210を使用し得ることが理解される。カードリーダ213は、非接触カード205からの読み取りおよび/または非接触カード205との通信を行うように構成され得る。1つまたは複数のアプリケーション211と併せて、カードリーダ213は、非接触カード205と通信し得る。例では、カードリーダ213は、クライアントデバイス210と非接触カード205との間の通信を可能にする磁界を生成する回路または回路コンポーネント、例えば、NFCリーダコイルを含み得る。
【0043】
クライアントデバイス210のいずれかのアプリケーション211は、短距離無線通信(例えば、NFC)を使用して非接触カード205と通信し得る。アプリケーション211は、非接触カード205と通信するように構成されたクライアントデバイス210のカードリーダ213とインターフェースするように構成され得る。注意すべきは、当業者は、20センチメートル未満の距離がNFC範囲と一致していることを理解することである。
【0044】
いくつかの実施形態では、アプリケーション211は、関連するリーダ(例えば、カードリーダ213)を介して非接触カード205と通信する。
【0045】
いくつかの実施形態では、カードのアクティブ化は、ユーザ認証なしで発生し得る。例えば、非接触カード205は、NFCを介してクライアントデバイス210のカードリーダ213を介してアプリケーション211と通信し得る。通信(例えば、クライアントデバイス210のカードリーダ213に近接するカードのタップ)は、アプリケーション211がカードに関連付けられたデータを読み取り、アクティブ化を実行することを可能にする。場合によっては、タップは、アプリケーション211をアクティブ化または起動し、次いで、1つまたは複数のアクションまたはアカウントサーバ225との通信を開始して、その後の使用のためにカードをアクティブ化し得る。場合によっては、アプリケーション211がクライアントデバイス210にインストールされていない場合、カードリーダ213に対するカードのタップは、アプリケーション211のダウンロードを開始し得る(例えば、アプリケーションダウンロードページへのナビゲーション)。インストールに続いて、カードをタップすると、アプリケーション211をアクティブ化または起動し、次に(例えば、アプリケーションまたは他のバックエンド通信を介して)カードのアクティブ化を開始し得る。アクティブ化の後、カードは、商取引を含む様々なトランザクションで使用され得る。
【0046】
いくつかの実施形態によれば、非接触カード205は、仮想支払いカードを含み得る。それらの実施形態では、アプリケーション211は、クライアントデバイス210上に実施されたデジタルウォレットにアクセスすることによって非接触カード205に関連付けられた情報を取得し得、デジタルウォレットは、仮想支払いカードを含む。いくつかの例では、仮想支払いカードデータは、1つまたは複数の静的または動的に生成された仮想カード番号を含み得る。
【0047】
サーバ220は、データベース235と通信するウェブサーバを含み得る。サーバ225は、アカウントサーバを含み得る。いくつかの例では、サーバ220は、データベース235内の1つまたは複数の資格情報と比較することによって、非接触カード205および/またはクライアントデバイス210からの1つまたは複数の資格情報を検証するように構成され得る。サーバ225は、非接触カード205および/またはクライアントデバイス210からの支払いおよびトランザクションなどの1つまたは複数の要求を承認するように構成され得る。
【0048】
図3Aは、1つまたは複数の非接触カード300を示しており、これは、カード300の前面または背面に表示されたサービスプロバイダ305によって発行されたクレジットカード、デビットカード、またはギフトカードなどの支払いカードを含み得る。いくつかの例では、非接触カード300は、支払いカードとは関係がなく、識別カードを含み得るが、これに限定されない。いくつかの例では、支払いカードは、デュアルインターフェースの非接触支払いカードを含み得る。非接触カード300は、プラスチック、金属、および他の材料から構成される単層または1つまたは複数の積層層を含み得る基板310を含み得る。例示的な基板材料は、ポリ塩化ビニル、ポリ塩化ビニルアセテート、アクリロニトリルブタジエンスチレン、ポリカーボネート、ポリエステル、陽極酸化チタン、パラジウム、金、カーボン、紙、および生分解性材料を含む。いくつかの例では、非接触カード300は、ISO/IEC7810規格のID-1フォーマットに準拠する物理的特性を有し得、そうでなければ、非接触カードは、ISO/IEC14443規格に準拠し得る。しかしながら、本開示に係る非接触カード300は、異なる特性を有し得、本開示は、非接触カードが支払いカードに実施されることを必要としないことが理解される。
【0049】
非接触カード300はまた、カードの前面および/または背面に表示される識別情報315、および接触パッド320を含み得る。接触パッド320は、ユーザデバイス、スマートフォン、ラップトップ、デスクトップ、またはタブレットコンピュータなどの他の通信デバイスとの接触を確立するように構成され得る。非接触カード300はまた、図3Aに示されていない処理回路、アンテナおよび他のコンポーネントを含み得る。これらのコンポーネントは、接触パッド320の背後または基板310上の他の場所に配置され得る。非接触カード300はまた、カードの背面に配置され得る磁気ストリップまたはテープを含み得る(図3Aには示されていない)。
【0050】
図3Bに示されるように、図3Aの接触パッド320は、マイクロプロセッサ330およびメモリ335を含む、情報を格納および処理するための処理回路325を含み得る。処理回路325は、本明細書に記載された機能を実行するために必要に応じて、プロセッサ、メモリ、エラーおよびパリティ/CRCチェッカ、データエンコーダ、衝突防止アルゴリズム、コントローラ、コマンドデコーダ、セキュリティプリミティブおよび改ざん防止ハードウェアを含む追加のコンポーネントを含み得ることが理解される。
【0051】
メモリ335は、リードオンリーメモリ、ライトワンスリードマルチプルメモリ、またはリード/ライトメモリ、例えば、RAM、ROM、およびEEPROMであり得、非接触カード300は、これらのメモリのうちの1つまたは複数を含み得る。リードオンリーメモリは、工場で読み取り専用または1回限りのプログラム可能としてプログラム可能であり得る。1回限りのプログラムにより、一度書き込んで何度も読み取ることができる。ライトワンス/リードマルチプルメモリは、メモリチップが工場から出荷された後のある時点でプログラムされ得る。メモリは、一度プログラムされると、書き換えられないかもしれないが、何度も読み取られ得る。リード/ライトメモリは、工場出荷後に何度もプログラムおよび再プログラムされ得る。また、何度も読み取られ得る。
【0052】
メモリ335は、1つまたは複数のアプレット340、1つまたは複数のカウンタ345、顧客識別子350、およびセキュリティ360に関連する機能などの他のタイプのデータ、情報、コードなどを格納するように構成され得る。1つまたは複数のアプレット340は、1つまたは複数の非接触カード、例えば、Javaカードアプレット上で実行するように構成された1つまたは複数のソフトウェアアプリケーションを含み得る。しかしながら、アプレット340は、Javaカードアプレットに限定されず、代わりに、非接触カードまたは限られたメモリを有する他のデバイス上で動作可能な任意のソフトウェアアプリケーションであり得ることが理解される。1つまたは複数のカウンタ345は、整数を格納するのに十分な数値カウンタを含み得る。顧客識別子350は、非接触カード300のユーザに割り当てられた一意の英数字の識別子を含み得、識別子は、非接触カードのユーザを他の非接触カードのユーザから区別し得る。いくつかの例では、顧客識別子350は、顧客とその顧客に割り当てられたアカウントの両方を識別し、さらに、顧客のアカウントに関連付けられた非接触カードを識別し得る。
【0053】
さらに、セキュリティ機能360は、乱数ジェネレータ(RNG)362、非接触カード300に一意の1つまたは複数の暗号化ハッシュ関数364、乱数またはハッシュ出力値を人間が読める文字に変換するためのコンバータ336、およびコンバータ366によって出力された人間が読める文字を変換することによって、パスワードに追加のセキュリティをオプションで階層化するように構成されるパスワードトランスフォーマ368を含み得る。例えば、乱数ジェネレータ362は、暗号化などの他のタイプのセキュリティベースの機能のために使用され、非接触カード300に組み込まれ得ることが理解され得る。
【0054】
前述の例示的な実施形態のプロセッサおよびメモリ要素は、接触パッドを参照して説明されるが、本開示はそれに限定されない。これらの要素は、パッド320の外側に実施され得るか、またはそれから完全に分離され得、または接触パッド320内に配置されたプロセッサ330およびメモリ335要素に加えてさらなる要素として実施され得る。
【0055】
いくつかの例では、非接触カード300は、1つまたは複数のアンテナ355を含み得る。1つまたは複数のアンテナ355は、非接触カード300内で、接触パッド320の処理回路325の周りに配置され得る。例えば、1つまたは複数のアンテナ355は、処理回路325と一体であり得、1つまたは複数のアンテナ355は、外部ブースタコイルと共に使用され得る。他の例として、1つまたは複数のアンテナ355は、接触パッド320および処理回路325の外部にあり得る。
【0056】
一実施形態では、非接触カード300のコイルは、空芯変圧器の二次側として機能し得る。端末は、電力または振幅変調を遮断することによって非接触カード300と通信し得る。非接触カード300は、非接触カードの電源接続のギャップを使用して端末から送信されたデータを推測し得、これは、1つまたは複数のコンデンサを介して機能的に維持され得る。非接触カード300は、非接触カードのコイルの負荷を切り替えるか、または負荷変調することによって、通信を戻し得る。負荷変調は、干渉によって端末のコイルで検出され得る。
【0057】
上で説明したように、非接触カード300は、スマートカードまたはJavaCardなどの限られたメモリを有する他のデバイス上で動作可能なソフトウェアプラットフォーム上に構築され得、1つまたは複数のアプリケーションまたはアプレットは、安全に実行され得る。非接触カードにアプレットを追加して、様々なモバイルアプリケーションベースのユースケースで多要素認証(MFA)のためのワンタイムパスワード(OTP)を提供し得る。アプレットは、モバイルNFCリーダなどのリーダからの近距離無線データ交換要求などの1つまたは複数の要求に応答し、NDEFテキストタグとして符号化された暗号的に安全なOTPを含むNDEFメッセージを生成するように構成され得る。
【0058】
図4は、1つまたは複数の実施形態に係る、非接触カードの乱数ジェネレータを使用して安全なパスワードを生成する例示的なシーケンス図400を示している。シーケンス図400は、非接触カード400とモバイルコンピューティングデバイス404との間の相互作用を示している。モバイルコンピューティングデバイス404は、非接触カード402と通信するように構成されたスマートフォンなどのクライアントデバイスであり得ることが理解され得る。上記のように、モバイルコンピューティングデバイス404は、NFCリーダコイルを介して非接触カードとのNFC通信を確立するように構成された少なくともNFCカードリーダを含み得る。
【0059】
ステップ410で、通信は、非接触カード402とモバイルコンピューティングデバイス404との間で確立され得る。例では、通信は、モバイルコンピューティングデバイスのNFCリーダコイルによって生成された磁界に非接触カードが入ると自動的に確立され得る。他の例では、モバイルコンピューティングデバイス404は、非接触カード402がNFCリーダコイルによって生成された磁界に入ったことをコンピューティングデバイス404が検出したときに、非接触カード402に信号を送ることによって最初に通信を確立し得る。ステップ410は、任意のステップであり得ることが理解され得る。例では、非接触カードは、カードがモバイルコンピューティングデバイスのNFCリーダコイルの磁界に入るとすぐに、モバイルコンピューティングデバイス404へのメッセージの提供を自動的に開始し得る。
【0060】
ステップ412で、モバイルコンピューティングデバイス404は、非接触カード402から安全なパスワードを要求し得る。例えば、モバイルコンピューティングデバイスで実行されているパスワードマネージャアプリケーションは、作成中の新しいソーシャルメディアアカウントのパスワードを要求し得る。パスワードマネージャアプリケーションは、モバイルコンピューティングデバイス404上に安全なパスワードを格納および管理し得る。ステップ412は、破線の矢印によって示されるように、任意のステップであり得ることが理解され得る。いくつかの例では、モバイルコンピューティングデバイスは、パスワードを要求する必要はない。非接触カード402は、特に、パスワード関連のアプリケーション、プログラム、ウェブサイト、ファイルなどが非接触カード402とのインターフェースをしようとしていると非接触カード402が(例えば、NFC通信の確立および認証プロセスを介して)決定した場合、カードとモバイルデバイスとの間のNFC通信の確立および認証時に、安全なパスワードを自動的に生成し送信し得る。
【0061】
ステップ414で、非接触カード402の乱数ジェネレータは、所定のまたは動的な長さを有する乱数を生成し得る。例えば、上記のソーシャルメディアアカウントがパスワードが特定の長さであることを要求する場合、乱数ジェネレータは、それに応じて十分な長さの乱数を出力し得る。例では、安全な乱数は、1つまたは複数の人間が読める文字に変換され得る。乱数のシーケンスが「123456789」の場合、そのシーケンスは、「AyTer」またはユーザが読み取りまたは保持できる英数字のその他の組み合わせに変換され得る。数値の変換は、例えば、コードベース暗号化システム、鍵ベース暗号化システムなどに基づき得る。
【0062】
ステップ416で、安全なパスワードが非接触カード402によって生成される。例によれば、安全なパスワードは、変更なしでステップ414で生成された1つまたは複数の人間が読める文字であり得る。他の例では、そして以下でさらに説明するように、1つまたは複数の人間が読める文字をさらに変換して、セキュリティの追加の層をそれに追加し得る。例えば、上記の文字列「AyTer」を「YeRTAP!」に変換し得る。これには、一部の文字を再配置して大文字にし、文字列にさらに2、3文字を追加することが含まれる。変換は、パスワードの全体的なセキュリティと複雑さを向上させる適切な変更であり得ることが理解され得る。
【0063】
ステップ418で、安全なパスワードは、1つまたは複数のNDEFメッセージまたはファイルを介してモバイルコンピューティングデバイス404に送信され得る。パスワード自体またはNDEFメッセージまたはファイル全体を適切に暗号化して、パスワードの安全な通信をさらに強化し得る。ステップ420で、モバイルコンピューティングデバイス404は、任意選択で(破線の矢印によって示されるように)、安全なパスワードの受信を示し、確認する非接触カード402に確認応答(ACK)メッセージを送信し得る。
【0064】
ステップ420で、NDEFメッセージが再び評価される。モバイルコンピューティングデバイス404は、ステップ418で受信されたNDEFメッセージの新しいチェックサムを計算し、それがNDEFメッセージで提供されたチェックサムと一致するかどうかを決定し得る。チェックサムが一致する場合、モバイルコンピューティングデバイス404は、破線の矢印で示されるように、任意で、ステップ422で確認応答(ACK)メッセージを送信し得る。チェックサムが一致しない場合、NDEFメッセージは、モバイルコンピューティングデバイス404に再び提供され、さらに評価され得る。このプロセスは、NDEFメッセージ全体がモバイルコンピューティングデバイス404によって受信されるまで続き得る。他の例では、プロセス全体が、所定の反復回数または所定の期間の後に停止し得る。モバイルコンピューティングデバイス404が、所定の反復回数または所定の期間の後にNDEFメッセージ全体を読み取ることができない場合、エラーメッセージがユーザインターフェースを介してユーザに返され得る。
【0065】
図5は、1つまたは複数の実施形態に係る、パスワードマネージャアプリケーション502および安全なパスワード生成を示している。示されるように、パスワードマネージャアプリケーション502は、ユーザに属するスマートフォンであり得るモバイルコンピューティングデバイス504上で開かれ得る。パスワードマネージャアプリケーション502は、多数のサービスの様々なパスワードを維持および整理し、各パスワードに関連する情報を表示し得る。例えば、最初に表示されるパスワード「UtR4yzz7@wash」は、2019年1月1日に作成されたモバイルバンキングアプリケーションに対応し、パスワードマネージャがバンキングアプリケーション用に作成した第2のパスワードである。
【0066】
例として、ユーザは、ユーザが安全なパスワードを選択する必要がある新しい電子メールアカウントを設定し得る。ユーザは、非接触スマートカード510をモバイルコンピューティングデバイス504にタップするか、またはカード510をモバイルコンピューティングデバイス504の近くに(例えば、事前定義された閾値距離で)配置して、カード510とモバイルデバイス504との間で安全かつ承認されたNFC通信を確立し得る。実施形態では、非接触スマートカード510がモバイルコンピューティングデバイス502との安全かつ承認されたNFC通信を確立するとき、ユーザは、カード510に関連する様々なスマートフォンアプリケーション、例えば、オンラインバンキングアプリケーション、トランジットアプリケーション、パスワードマネージャアプリケーション502などを提示され得る。ユーザは、所望のアプリケーションを選択し得、これにより、モバイルコンピューティングデバイス504は、非接触スマートカード510に適切な機能を実行するように指示できる。したがって、ユーザがパスワードマネージャアプリケーション502を選択すると、カード510は、安全なパスワードを生成する(または生成するであろう)ことを知っている。代替の実施形態では、パスワードマネージャアプリケーション502をデフォルト機能として設定し得、したがって、非接触スマートカード510は、モバイルデバイス504とカード510との間に安全かつ承認されたNFC通信が確立されると、安全なパスワードを自動的に生成し得る。
【0067】
図示されるように、非接触スマートカード510は、乱数ジェネレータ512を使用して乱数を生成する。上記のように、乱数ジェネレータ512は、暗号化などの他の目的のために使用され得ることが理解され得る。次に、乱数は、コンバータ514によって1つまたは複数の人間が読める文字に変換され得る。例えば、数字のみのランダムシーケンスは、ユーザにとってより関連性が高く、使用しやすい英数字のシーケンスに変換され得る。この時点で、破線の矢印で示されているように、1つまたは複数の人間が読める文字を、ユーザが新しい電子メールアカウントに使用し得るパスワードとしてパスワードマネージャアプリケーション502に送信し得る。しかしながら、上記のように、1つまたは複数の人間が読める文字は、パスワードトランスフォーマ516によって、例えば、再配置された文字、大文字にされた文字、小文字にされた文字、いくつかの文字の加算または減算などに変換され得る。変換により、パスワードに複雑さとセキュリティの層が追加され得る。
【0068】
非接触スマートカード510は、少なくとも1つのNDEFメッセージまたはファイルを介して、安全なパスワードをモバイルコンピューティングデバイス504に送信し得る。次に、パスワードマネージャアプリケーション502は、その中にパスワードを格納および管理する。示されているように、新しい電子メールアカウント用に生成された安全なパスワードは、変換されたパスワードであり得、「MOZaRt_Song78」と記載され、これは、第1に2019年1月5日に作成されたユーザの電子メールアカウント用のパスワードとしてパスワードマネージャに示される。ユーザのためのこのパスワードの作成と管理は、様々な理由で非常に安全であると理解されている。例えば、非接触スマートカード510の乱数ジェネレータ512は、カードがユーザに属し、ユーザのみに属するので、検証可能に安全であり、ユーザに一意に関連付けられる。他の例では、非接触スマートカード510自体を使用して、パスワードマネージャアプリケーション502を(追加のパスワード入力と共に)開き得、これは、アプリケーションの「マスター」パスワードとして効果的に機能する。したがって、パスワードマネージャアプリケーション502は、物理的なカードなしで詐欺師によって開くことができない。さらに、いくつかの例では、非接触スマートカード510は、パスワードの一部または全てを格納し得、これは、モバイルコンピューティングデバイス上で開かれると、パスワードマネージャアプリケーション502によって管理され得る。したがって、詐欺師は、カード510を物理的に所有していなければ、パスワードにアクセスすることはできない。
【0069】
図5に示されるパスワードマネージャアプリケーション502は、例示のみを目的としており、それに限定されないことが理解され得る。アプリケーションは、パスワードを安全に格納および管理するための追加機能を含み得る。さらに、非接触スマートカード510に示されるコンポーネント、例えば、乱数ジェネレータ512、コンバータ514、パスワードトランスフォーマ516は全て、カード510に統合された1つまたは複数のプロセッサまたはマイクロプロセッサによって実行または実施され得ることが理解され得る。
【0070】
図6は、1つまたは複数の実施形態に係る、非接触カードの暗号化ハッシュ関数を使用して安全なパスワードを生成する例示的なシーケンス図600を示している。シーケンス図600は、非接触カード602とモバイルコンピューティングデバイス604との間の双方向通信プロトコルを示している。
【0071】
ステップ610で、図4に示されるシーケンス図と同様に、安全で認証されたNFC通信が、非接触カード602とモバイルコンピューティングデバイス604との間で確立され得る。例えば、非接触カード602は、モバイルコンピューティングデバイス604にタップされるか、またはデバイス604の近くに(例えば、事前定義された距離まで)配置されて、通信を開始し得る。
【0072】
ステップ612で、モバイルコンピューティングデバイス604は、非接触カード602からの安全なパスワードを要求し得る。パスワード要求とともに、または(ステップ614)後に、モバイルコンピューティングデバイス604は、「要求している」コンポーネントまたはエンティティに関連付けられた識別子を送信し得る。例えば、ユーザがウェブサイトで新しいアカウントを作成している場合、ウェブサイトまたはウェブサイトを管理するエンティティは、ユーザにその新しいアカウントに対応する新しいパスワードの作成を要求し得る。したがって、「要求している」コンポーネントまたはエンティティは、ウェブサイトであり得る。識別子は、特定の要求しているコンポーネントまたはエンティティを一意に識別するか、関連付けられている任意の情報であり得る。ウェブサイトの場合、識別子は、URLアドレスの文字であり得る。モバイルアプリケーションがパスワードを要求している場合、識別子は、アプリケーション名の文字、またはアプリケーション、ウェブサイト、ファイル、プログラムなどに一意の任意のテキストまたは数字であり得る。モバイルコンピューティングデバイス604は、少なくとも識別子を公開鍵で暗号化し得ることが理解され得る。
【0073】
ステップ616で、非接触カード602は、暗号化された識別子を受信し、それを秘密鍵で復号し得る。次に、カード602は、少なくとも一意の識別子を入力し得、いくつかの例では、他のタイプの適切な情報を用いて、データ入力として安全な暗号化ハッシュ関数に入力し得る。暗号化ハッシュ関数は、例えば、任意のSHA(例えば、SHA-0、SHA-1、SHA-2、SHA-3)関数であり得る。次に、ハッシュ出力値は、1つまたは複数の人間が読める文字に変換され得る。
【0074】
ステップ618で、1つまたは複数の人間が読める文字は、パスワードとして生成され得る。あるいは、文字をさらに変換してセキュリティと複雑さの層を追加し、変換された文字を安全なパスワードとして生成し得る。ステップ620で、安全なパスワードは、少なくともNDEFファイルまたはメッセージにパッケージ化され、モバイルコンピューティングデバイス604に送信される。NDEFメッセージまたはファイルはまた、非接触カード602によって暗号化され、モバイルコンピューティングデバイス側で復号され得る。任意で、ステップ622で、モバイルコンピューティングデバイス604は、安全なパスワードの受信を確認する確認メッセージを非接触カード602に送信し得る。
【0075】
上記の乱数ジェネレータと同様に、暗号化ハッシュ関数は、完全に一意であり、非接触カード602にのみ統合され、他のカードには統合されないため、セキュリティが強化される。もう1つの利点は、識別子により、暗号化ハッシュ関数または暗号文が、同じ要求しているコンポーネントまたはエンティティに対して同じパスワードを安全かつ確実に生成できることである。したがって、パスワードをカードやその他の場所に保存または格納する必要はない。例えば、ユーザがウェブサイトを再訪し、安全なパスワードでログインする必要がある場合、ユーザは、非接触カード602をユーザのモバイルデバイスにタップし得、ハッシュ関数は、以下でさらに説明するように、ユーザがログインできるように、必要なパスワードを生成することができ得る。ユーザが新しいパスワードを希望する場合は、新しい異なる識別子(任意で他のタイプのデータと一緒に)を使用して、暗号化ハッシュ関数を介して新しいパスワードを作成し得る。
【0076】
図7は、実施形態に係るウェブサイト702のための例示的な安全なパスワード生成700を示している。ウェブサイト702は、ソーシャルメディアウェブサイトであり得、示されるように、ユーザに属するモバイルコンピューティングデバイス704を介してアクセスされ得る。ユーザがウェブサイト702の新しいユーザである場合、ユーザは、アカウントを作成し、ユーザ名(例えば、ユーザXYZ)および安全なパスワードでそのアカウントを保護することを要求され得る。ウェブサイトは、パスワードを特定の長さにし、特定の文字を含める必要があり得る。したがって、パスワード「要求している」コンポーネントまたはエンティティは、ウェブサイト702であると理解され得る。
【0077】
示されるように、ウェブサイト702の安全なパスワードの生成を開始するために、ユーザは、安全で認証されたNFC通信が確立されるように、ユーザの非接触スマートカード502をモバイルコンピューティングデバイス704またはその近くにタップまたは配置し得る。非接触スマートカード710は、ウェブサイト702からウェブサイト識別子706を受信し得、これは、ウェブサイト702のURLに含まれる1つまたは複数の一意の文字であり得る。例えば、URLが「www.chirp-network.com」の場合、ウェブサイト識別子706は、「chirp-」であり得る。
【0078】
ウェブサイト識別子706(任意で他のタイプのデータ、情報、文字、数字などと一緒に)は、入力データとして暗号化ハッシュ関数712に供給され得る。次に、暗号化ハッシュ関数712は、ハッシュ出力値をコンバータ714に提供し得、これは、ハッシュ出力値を取り、それを1つまたは複数の人間が読める文字に変換し得る。破線で示されるように、1つまたは複数の人間が読める文字をパスワードとしてウェブサイト702に直接提供し得る。さらに、いくつかの例では、1つまたは複数の人間が読める文字をパスワードトランスフォーマ716に提供して、セキュリティおよび複雑さのより多くの層を追加するために文字を変換し得、それは次にパスワードとしてウェブサイト702に提供され得る。
【0079】
ウェブサイト702で新しいアカウントを作成した後、ユーザは、ユーザIDと安全なパスワードを使用してソーシャルメディアアカウントにログインする必要がある。ユーザは、非接触カード710をモバイルコンピューティングデバイス704またはその近くに再度タップまたは配置し得、これにより、ウェブサイト702は、非接触カード710にウェブサイト識別子706を再び提供できる。したがって、ウェブサイト702のために以前に作成された同じパスワードが生成され、ウェブサイト702に提供され得る。
【0080】
例では、モバイルコンピューティングデバイス704は、示されるように、非接触カード710がコンピューティングデバイス704に再タップされるときに、パスワードがパスワードフィールドに自動追加される自動入力機能を組み込み得る。パスワードは、一連のアスタリスク記号で隠され得る。有利なことに、少なくともこの方法では、カード710の一意の暗号化ハッシュ関数を備えたウェブサイト識別子706が要求されるたびに同じパスワードを生成できるので、パスワードは、非接触カード710またはモバイルコンピューティングデバイス704のいずれかに格納される必要はない。ユーザがウェブサイト702の新しいパスワードを生成することを望む場合、新しいウェブサイト識別子、例えば、「chirp-network」などを使用し得る。
【0081】
乱数ジェネレータを使用して安全なパスワードを生成する場合にも、自動入力機能を組み込み得ることが理解され得る。例えば、非接触カードをモバイルコンピューティングデバイスにタップまたはその近くに配置して、この機能をトリガし得る。これにより、例えば、パスワードマネージャアプリケーションに、上記の電子メールアカウントの適切なパスワードを取得し、電子メールアカウントにログインするときにパスワードフィールドを自動入力または自動追加するように促し得る。
【0082】
図8は、1つまたは複数の実施形態に係る例示的なフロー図800を示している。フロー図800は、NFC対応の非接触スマートカードを介して1つまたは複数のパスワードを安全に生成および/または管理することに関連している。図示のブロックに関連付けられた機能は、非接触カードおよびそこに含まれる処理回路によって実行または実行され得ることが理解され得る。さらに、フロー図800のブロックは、特定の順序に限定されず、1つまたは複数のブロックが同時に実行または実行され得ることが理解され得る。
【0083】
ブロック802で、非接触カードの少なくとも1つの通信インターフェースがNFCリーダとNFC通信をしているかどうかが決定され得る。NFCリーダは、スマートフォンなどのモバイルコンピューティングデバイスに含まれている、組み込まれている、またはビルトインされ得る。したがって、非接触カードがNFCリーダによって生成された磁界に入ると、非接触カードの回路がアクティブ化されて、安全なパスワード生成プロセスが開始される。さらに、カードとNFCリーダとの間のNFC通信が安全であるか、および/または認証されているかどうかが検証され得る。
【0084】
ブロック804で、モバイルコンピューティングデバイスからのパスワード要求は、非接触カードによって受信され得る。要求とともに、アプリケーション、ウェブサイト、ファイル、またはプログラムに関連付けられた識別子を受信し得る。上記のように、識別子は、アプリケーション、ウェブサイト、ファイル、または安全なパスワードを「要求している」プログラムを一意に識別する任意の適切な情報であり得る。例えば、アプリケーション、ウェブサイト、ファイル、またはプログラムに関連付けられた名前、ウェブサイトに関連付けられたURL、またはアプリケーション、ウェブサイト、ファイル、またはプログラムに一意の任意の数字またはテキストであり得る。識別子は、暗号化されたメッセージとして受信され得る(例えば、モバイルデバイスは、公開鍵を使用して識別子を暗号化し得る)。非接触カードは、識別子を取得するために秘密鍵を使用してメッセージを復号し得る。
【0085】
ブロック806で、少なくとも識別子(任意選択で他のタイプのデータまたは情報と共に)は、ハッシュ出力値を出力するための入力データとして、暗号化ハッシュ関数、例えば、SHA-0、SHA-1、SHA-2、SHA-3、または他の任意の適切な暗号文に入力され得る。少なくともこの点で、ハッシュ関数は、安全性が高く、検証可能であり、それを使用する非接触カードのみに一意であるという点で、乱数ジェネレータに似ている。
【0086】
ブロック808で、ハッシュ出力値は、1つまたは複数の人間が読める文字に変換され得、これは、安全なパスワードとして出力され得るか、またはパスワードに複雑さとセキュリティの層を追加するためにさらに変換され得る。上記のように、変換は、文字の再配置、大文字化、小文字化、文字の追加、削除などを含み得る。
【0087】
ブロック810で、安全なパスワードは暗号化され、少なくとも1つのNDEFメッセージまたはファイルを介して送信され得る。いくつかの例では、パスワードは、非接触カードに保存され得ない。パスワードは、非接触カードがコンピューティングデバイスのNFCリーダと安全かつ認証されたNFC通信を行っていると決定された場合にのみ送信され得る。
【0088】
さらに、例では、非接触カードがコンピューティングデバイスにタップされるか、またはコンピューティングデバイスから閾値距離内に配置されると、アプリケーション、ウェブサイト、ファイル、またはプログラムに対応するパスワードフィールドにパスワードが自動的に入力または自動追加され得る。
【0089】
さらなる例では、第2のパスワード要求は、モバイルコンピューティングデバイスによって送信され得る。第2の要求は、以前に生成されたパスワードに対するものであり得、その場合、モバイルコンピューティングデバイスは、そのパスワードのために以前に使用された識別子を送信する必要がある。または、新しいパスワードが要求された場合、新しい識別子が送信され、新しいハッシュ出力値が生成され、次に、新しいパスワードが生成される。
【0090】
上記のデバイスのコンポーネントおよび機能は、ディスクリート回路、特定用途向け集積回路(ASIC)、論理ゲート、および/またはシングルチップアーキテクチャの任意の組み合わせを使用して実施され得る。さらに、デバイスの機能は、マイクロコントローラ、プログラマブルロジックアレイおよび/またはマイクロプロセッサ、または適切に適切な場合には前述の任意の組み合わせを使用して実施され得る。ハードウェア、ファームウェア、および/またはソフトウェア要素は、本明細書では集合的または個別に「論理」または「回路」と呼ばれる場合があることに留意されたい。
【0091】
少なくとも1つのコンピュータ可読記憶媒体は、実行されると、システムに本明細書に記載のコンピュータ実施方法のいずれかを実行させる命令を含み得る。
【0092】
いくつかの実施形態は、それらの派生物と共に「一実施形態」または「実施形態」という表現を使用して説明され得る。これらの用語は、実施形態に関連して説明される特定の特徴、構造、または特性が少なくとも1つの実施形態に含まれることを意味する。本明細書の様々な場所における「一実施形態では」という句の出現は、必ずしも全てが同じ実施形態を指すとは限らない。さらに、特に断りのない限り、上記の特徴は、任意の組み合わせで一緒に使用されることが認識されている。したがって、別々に議論された任意の特徴は、特徴が互いに互換性がないことに留意されない限り、互いに組み合わせて使用され得る。
【0093】
本明細書で使用される表記法および命名法を一般的に参照して、本明細書の詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラム手順に関して提示され得る。これらの手順の説明および表現は、当業者によって、それらの作業の実体を当業者に最も効果的に伝えるために使用される。
【0094】
手順は、本明細書にあり、一般に、望ましい結果につながる自己矛盾のない一連の操作であると考えられている。これらの操作は、物理量の物理的な操作を必要とする操作である。通常、必ずしもそうとは限らないが、これらの量は、格納、転送、結合、比較、およびその他の方法で操作できる電気信号、磁気信号、または光信号の形をとる。主に一般的な使用法の理由から、これらの信号をビット、値、要素、記号、文字、用語、数値などと呼ぶと便利な場合がある。しかしながら、これらおよび類似の用語は全て、適切な物理量に関連付けられており、これらの量に適用される便利なラベルにすぎないことに留意されたい。
【0095】
さらに、実行される操作は、加算または比較などの用語で参照されることが多く、これらは一般に、人間のオペレータによって実行される知的な演算に関連付けられている。1つまたは複数の実施形態の一部を形成する、本明細書に記載の演算のいずれにおいても、人間のオペレータのそのような能力は必要ではないか、またはほとんどの場合望ましくない。むしろ、演算は、機械演算である。
【0096】
いくつかの実施形態は、それらの派生物と共に「結合された」および「接続された」という表現を使用して説明され得る。これらの用語は、必ずしも相互の同義語として意図されているわけではない。例えば、いくつかの実施形態は、2つ以上の要素が互いに直接物理的または電気的に接触していることを示すために、「接続された」および/または「結合された」という用語を使用して説明され得る。しかしながら、「結合された」という用語はまた、2つ以上の要素が互いに直接接触していないが、それでも互いに協力または相互作用していることを意味し得る。
【0097】
様々な実施形態はまた、これらの操作を実行するための装置またはシステムに関する。この装置は、必要な目的のために特別に構築され、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成され得る。本明細書に提示される手順は、本質的に特定のコンピュータまたは他の装置に関連するものではない。これらの様々な機械に必要な構造は、与えられた説明から明らかになる。
【0098】
読者が技術的開示の性質を迅速に確認できるように、開示の要約が提供されていることが強調されている。請求項の範囲または意味を解釈または制限するために使用されないことを理解した上で提出される。さらに、前述の詳細な説明では、開示を合理化する目的で、様々な特徴が単一の実施形態に一緒にグループ化されていることが分かる。この開示方法は、請求項に記載の実施形態が各請求項に明示的に記載されているよりも多くの特徴を必要とするという意図を反映していると解釈されるべきではない。むしろ、以下の請求の範囲が反映するように、本発明の主題は、単一の開示された実施形態の全ての特徴よりも少ない特徴にある。したがって、以下の請求の範囲は、詳細な説明に組み込まれ、各請求項は、別個の実施形態として独立している。添付の請求の範囲において、「含む」および「その中」という用語は、それぞれ「備える」および「ここで」というそれぞれの用語の平易な英語の均等物として使用される。さらに、「第1」、「第2」、「第3」などの用語は、単にラベルとして使用され、それらの対象に数値要件を課すことを意図するものではない。
【0099】
上で説明されたことは、開示されたアーキテクチャの例を含む。もちろん、コンポーネントおよび/または方法論の考えられる全ての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび順列が可能であることを認識し得る。したがって、新規のアーキテクチャは、添付の請求の範囲の精神および範囲内にあるそのような全ての変更、修正、および変形を包含することを意図している。
図1A
図1B
図2
図3A
図3B
図4
図5
図6
図7
図8