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

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

▶ マイクロソフト テクノロジー ライセンシング,エルエルシーの特許一覧

特表2024-546009存在の証拠を使用するネットワーク通信
<>
  • 特表-存在の証拠を使用するネットワーク通信 図1
  • 特表-存在の証拠を使用するネットワーク通信 図2
  • 特表-存在の証拠を使用するネットワーク通信 図3
  • 特表-存在の証拠を使用するネットワーク通信 図4
  • 特表-存在の証拠を使用するネットワーク通信 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-17
(54)【発明の名称】存在の証拠を使用するネットワーク通信
(51)【国際特許分類】
   H04L 9/32 20060101AFI20241210BHJP
   G06F 21/32 20130101ALI20241210BHJP
   G06F 21/64 20130101ALI20241210BHJP
   G06F 15/00 20060101ALI20241210BHJP
【FI】
H04L9/32 200A
H04L9/32 100D
H04L9/32 200F
G06F21/32
G06F21/64
G06F15/00 420A
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024527250
(86)(22)【出願日】2022-10-26
(85)【翻訳文提出日】2024-05-08
(86)【国際出願番号】 US2022047949
(87)【国際公開番号】W WO2023086206
(87)【国際公開日】2023-05-19
(31)【優先権主張番号】17/523,665
(32)【優先日】2021-11-10
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】314015767
【氏名又は名称】マイクロソフト テクノロジー ライセンシング,エルエルシー
(74)【代理人】
【識別番号】100118902
【弁理士】
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【弁理士】
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【弁理士】
【氏名又は名称】松尾 淳一
(72)【発明者】
【氏名】パテル,アンクル
(72)【発明者】
【氏名】マードック,ブランドン
(72)【発明者】
【氏名】ラストギ,プリーティ
(72)【発明者】
【氏名】カッセルマン,ピーター・レティーフ
(72)【発明者】
【氏名】トーマス,ウィリアム・ルイス
(57)【要約】
特定のエンティティが他方のコンピューティングシステムに存在するという高い信頼性で2つのコンピューティングシステムが互いに通信することを可能にする技術。一例として、第1のコンピューティングシステムが第2のコンピューティングシステムと通信するとき、第1のコンピューティングシステムは、特定のエンティティが第2のコンピューティングシステムに存在することを定期的に検証し得る。第1のコンピューティングシステムは、第2のコンピューティングシステム上のプルーフキャプチャ構成要素を実際に制御している。第1のコンピューティングシステムは、第2のコンピューティングシステムに、特定のエンティティが第2のコンピューティングシステムに存在することを証明する証拠である存在の証拠を自動的に生成させる。第1のコンピューティングシステムはまた、第2のコンピューティングシステムに、第2のコンピューティングシステムから第1のコンピューティングシステムに通信するとき、生成された存在証拠を含めさせる。
【特許請求の範囲】
【請求項1】
第1のコンピューティングシステムであって、
1つまたは複数のプロセッサと、
コンピュータ実行可能命令を有する1つまたは複数のコンピュータ可読媒体と
を備え、
前記コンピュータ実行可能命令は、前記1つまたは複数のプロセッサによって実行される場合、
前記第2のコンピューティングシステムのプルーフキャプチャ構成要素を制御して、特定のエンティティが前記第2のコンピューティングシステムに存在するという存在証拠を自動的に生成することと、
前記第2のコンピューティングシステムに、前記第2のコンピューティングシステムから前記第1のコンピューティングシステムに通信するとき、生成された前記存在証拠を含めさせることと、
前記第2のコンピューティングシステムから受信した1つまたは複数の前記通信のうちの少なくとも1つのそれぞれについて、
前記通信から前記存在証拠を読み取ることと、
前記存在証拠から、前記特定のエンティティが前記第2のコンピューティングシステムに存在するかどうかを推定することと、
前記推定が、前記特定のエンティティが前記第2のコンピューティングシステムに存在するというものである場合、前記通信を渡し、それによって、前記特定のエンティティが前記第2のコンピューティングシステムに存在するものとして扱うことと、
前記推定が、前記特定のエンティティが前記第2のコンピューティングシステムに存在するというものではない場合、前記通信を停止し、それによって、前記特定のエンティティが前記第2のコンピューティングシステムに存在するかのように前記通信を扱わないことと
を実施することによって前記通信を処理することと
によって前記第1のコンピューティングシステムに前記第2のコンピューティングシステムと通信させるように構築される、
第1のコンピューティングシステム。
【請求項2】
第1のコンピューティングシステムが第2のコンピューティングシステムと通信するための方法であって、
前記第2のコンピューティングシステムのプルーフキャプチャ構成要素を制御して、特定のエンティティが前記第2のコンピューティングシステムに存在するという存在証拠を自動的に生成するステップと、
前記第2のコンピューティングシステムに、前記第2のコンピューティングシステムから前記第1のコンピューティングシステムに通信するとき、生成された前記存在証拠を含めさせるステップと、
前記第2のコンピューティングシステムから受信した1つまたは複数の前記通信のうちの少なくとも1つのそれぞれについて、
前記通信から前記存在証拠を読み取るステップと、
前記存在証拠から、前記特定のエンティティが前記第2のコンピューティングシステムに存在するかどうかを推定するステップと、
前記推定が、前記特定のエンティティが前記第2のコンピューティングシステムに存在するというものである場合、前記通信を渡し、それによって、前記特定のエンティティが前記第2のコンピューティングシステムに存在するものとして扱うステップと、
前記推定が、前記特定のエンティティが前記第2のコンピューティングシステムに存在するというものではない場合、前記通信を停止し、それによって、前記通信が前記特定のエンティティからのものではないものとして扱うステップと
を実施するステップと
を含む方法。
【請求項3】
請求項2に記載の方法であって、前記特定のエンティティは、前記第2のコンピューティングシステムの人間のユーザである、方法。
【請求項4】
請求項3に記載の方法であって、前記存在証拠は、前記人間のユーザのバイオメトリックである、方法。
【請求項5】
請求項4に記載の方法であって、前記人間のユーザの前記バイオメトリックは、前記人間のユーザのピクチャであり、前記プルーフキャプチャ構成要素は、前記第2のコンピューティングシステムのカメラである、方法。
【請求項6】
請求項4に記載の方法であって、前記存在証拠からの、前記特定のエンティティが前記第2のコンピューティングシステムに存在するかどうかの前記推定は、前記人間のユーザの前記バイオメトリックを、前記人間のユーザの以前に取り込まれたバイオメトリックと比較するステップを含む、方法。
【請求項7】
請求項2に記載の方法であって、前記特定のエンティティは、前記第2のコンピューティングシステム上で実行中の実行可能な構成要素である、方法。
【請求項8】
請求項7に記載の方法であって、前記存在証拠は、前記実行可能な構成要素の検証可能な証明書である、方法。
【請求項9】
請求項7に記載の方法であって、前記存在証拠は、前記第1のコンピューティングシステムによって提供される情報によって少なくとも部分的に署名された署名である、方法。
【請求項10】
請求項7に記載の方法であって、前記実行可能な構成要素は、前記第1のコンピューティングシステムが第2のコンピューティングシステムとセッション構成要素に関連するセッションで通信するような前記セッション構成要素である、方法。
【発明の詳細な説明】
【背景技術】
【0001】
情報時代は、大部分は、ネットワークを介して互いに通信するコンピューティングシステムによって可能となっている。交換される情報はしばしば、かなり機密性が高いことがあるので、セキュア通信は肝要である。その情報が不適切なパーティによって取得される場合、しばしばプライバシーが漏曳し、情報が不適切な目的のために使用され得る。情報を不適切に得るための一方法は、あるパーティが、別のパーティが機密情報(名前、住所、政府識別番号、クレジットカード番号、銀行口座情報、パスワード、セキュリティ証明書など)を入力するのを引き出す目的で、信頼できるパーティであるかのように見せかけることである。これはしばしばフィッシングと呼ばれる。フィッシング攻撃はますます説得力のあるものとなっているので、賢明なユーザであってもフィッシング攻撃の犠牲者となることがある。
【0002】
本明細書で特許請求される主題は、何らかの欠点を解決する実施形態、または前述のような環境のみで動作する実施形態に限定されない。むしろ、この背景技術は、本明細書で説明されるいくつかの実施形態が実施され得る1つの例示的技術領域を示すために与えられるものに過ぎない。
【発明の概要】
【0003】
この概要は、以下の詳細な説明でさらに説明される概念の抜粋を簡略化した形で紹介するために与えられるものである。この概要は、特許請求される主題の主要な特徴または不可欠な特徴を特定するためのものではなく、特許請求される主題の範囲を決定する際の助けとして使用するためのものでもない。
【0004】
本明細書で説明される原理は、特定のエンティティが他方のコンピューティングシステムに存在するという高い信頼性で2つのコンピューティングシステムが互いに通信することを可能にする技術に関する。一例として、第1のコンピューティングシステムが第2のコンピューティングシステムと通信するとき、第1のコンピューティングシステムは、特定のエンティティが第2のコンピューティングシステムに存在することを定期的に検証し得る。
【0005】
たとえば、その特定のエンティティが第2のコンピューティングシステムの人間のユーザであった場合、第1のコンピューティングシステムは、第1のコンピューティングシステムが第2のコンピューティングシステムを介して実際の信頼できる特定のユーザと通信していることを定期的に検証し得る。そのことは、別のユーザが介入して、特定の信頼できるエンティティのふりをする(それによって機密情報を不正に引き出す)ことをはるかに難しくする。一方、特定のエンティティが実行可能な構成要素である場合、第1のコンピューティングシステムは、第2のコンピューティングシステム上で実際に実行中の実行可能な構成要素と第1のコンピューティングシステムが通信していることを定期的に検証し得る。このことは、第2のコンピューティングシステム上の物理的存在が定期的に検証されるので、別の実行可能な構成要素がその信頼できる実行可能な構成要素のふりをすることをはるかに難しくする。
【0006】
この通信技法によれば、第1のコンピューティングシステムが、第2のコンピューティングシステム上のプルーフキャプチャ構成要素を実際に制御している。第1のコンピューティングシステムは、第2のコンピューティングシステムに、特定のエンティティが第2のコンピューティングシステムに存在することを証明する証拠である存在の証拠を自動的に生成させる。第1のコンピューティングシステムはまた、第2のコンピューティングシステムに、第2のコンピューティングシステムから第1のコンピューティングシステムに通信するとき、生成された存在証拠を含めさせる。
【0007】
第2のコンピューティングシステムから受信した1つまたは複数の通信のそれぞれについて、第1のコンピューティングシステムは、通信から存在証拠を読み取り、その存在証拠から、特定のエンティティが第2のコンピューティングシステムに存在するかどうかを推定する。推定が、特定のエンティティが第2のコンピューティングシステムに存在するというものである場合、第1のコンピューティングシステムは通信を渡し、それによって、特定のエンティティが第2のコンピューティングシステムに存在するものとして扱う。一方、推定が、特定のエンティティが第2のコンピューティングシステムに存在するというものではない場合、第1のコンピューティングシステムは通信を停止し、それによって、通信が特定のエンティティからのものではないものとして扱う。
【0008】
同様に、第2のコンピューティングシステムは、別の特定のエンティティが第1のコンピューティングシステムに存在することを定期的に検証し得る。したがって、両方のコンピューティングシステムは、フィッシング攻撃に関係する詐称者とではなく、所期の反対側のエンティティと通信しているという高い信頼性を有し得る。第2のコンピューティングシステムでの特定のエンティティの存在はまた、第1のコンピューティングシステムと実際に通信しているネットワークノードでの物理的存在を検証することのできるモバイルデバイスにユーザが物理的に存在するときに検証され得る。
【0009】
追加の特徴および利点が以下の説明で述べられ、部分的には説明から明らかとなり、または本明細書での教示の実施によって知ることができる。本発明の特徴および利点は、添付の特許請求の範囲で具体的に指摘される機器および組合せによって実現され、取得され得る。本発明の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかとなり、または以下で述べられる本発明の実施によって知ることができる。
【0010】
前述の、および他の利点および特徴が取得され得る方式を説明するために、上記で簡潔に説明した主題のより具体的な説明が、添付の図面に示される特定の実施形態を参照することによって与えられる。こうした図面が典型的な実施形態だけを示し、したがって範囲の限定と見なすべきではないことを理解して、添付の図面を使用することにより、さらに具体的かつ詳細に実施形態が記述され、説明される。
【図面の簡単な説明】
【0011】
図1】本明細書で説明される原理による、特定のエンティティが第2のコンピューティングシステムに存在することを証明するために、第1のコンピューティングシステムが第2のコンピューティングシステム上のプルーフキャプチャ構成要素を使用する環境を示す図である。
図2】本明細書で説明される原理による、第1のコンピューティングシステムが第2のコンピューティングシステムから通信を受信するための方法200のフローチャートを示す図である。
図3】本明細書で説明される原理による、存在証拠を含む例示的通信を示す図である。
図4】両方のコンピューティングシステムがプルーフキャプチャ構成要素を有し、したがって図2の方法が双方向に実施され得ることを除いて図1と同様の例示的環境を示す図である。
図5】本明細書で説明される原理が利用され得る例示的コンピューティングシステムを示す図である。
【発明を実施するための形態】
【0012】
本明細書で説明される原理は、特定のエンティティが他方のコンピューティングシステムに存在するという高い信頼性で2つのコンピューティングシステムが互いに通信することを可能にする技術に関する。一例として、第1のコンピューティングシステムが第2のコンピューティングシステムと通信するとき、第1のコンピューティングシステムは、特定のエンティティが第2のコンピューティングシステムに存在することを定期的に検証し得る。
【0013】
たとえば、その特定のエンティティが第2のコンピューティングシステムの人間のユーザであった場合、第1のコンピューティングシステムは、第1のコンピューティングシステムが第2のコンピューティングシステムを介して実際の信頼できる特定のユーザと通信していることを定期的に検証し得る。そのことは、別のユーザが介入して、特定の信頼できるエンティティのふりをする(それによって機密情報を不正に引き出す)ことをはるかに難しくする。一方、特定のエンティティが実行可能な構成要素である場合、第1のコンピューティングシステムは、第2のコンピューティングシステム上で実際に実行中の実行可能な構成要素と第1のコンピューティングシステムが通信していることを定期的に検証し得る。このことは、第2のコンピューティングシステム上の物理的存在が定期的に検証されるので、別の実行可能な構成要素がその信頼できる実行可能な構成要素のふりをすることをはるかに難しくする。
【0014】
この通信技法によれば、第1のコンピューティングシステムは、第2のコンピューティングシステム上のプルーフキャプチャ構成要素を実際に制御している。第1のコンピューティングシステムは、第2のコンピューティングシステムに、特定のエンティティが第2のコンピューティングシステムに存在することを証明する証拠である存在の証拠を自動的に生成させる。第1のコンピューティングシステムはまた、第2のコンピューティングシステムに、第2のコンピューティングシステムから第1のコンピューティングシステムに通信するとき、生成された存在証拠を含めさせる。
【0015】
第2のコンピューティングシステムから受信した1つまたは複数の通信のそれぞれについて、第1のコンピューティングシステムは、通信から存在証拠を読み取り、その存在証拠から、特定のエンティティが第2のコンピューティングシステムに存在するかどうかを推定する。推定が、特定のエンティティが第2のコンピューティングシステムに存在するというものである場合、第1のコンピューティングシステムは通信を渡し、それによって、特定のエンティティが第2のコンピューティングシステムに存在するものとして扱う。一方、推定が、特定のエンティティが第2のコンピューティングシステムに存在するというものではない場合、第1のコンピューティングシステムは通信を停止し、それによって、通信が特定のエンティティからのものではないものとして扱う。
【0016】
同様に、第2のコンピューティングシステムは、別の特定のエンティティが第1のコンピューティングシステムに存在することを定期的に検証し得る。したがって、両方のコンピューティングシステムは、フィッシング攻撃に関係する詐称者とではなく、所期の反対側のエンティティと通信しているという高い信頼性を有し得る。第2のコンピューティングシステムでの特定のエンティティの存在はまた、第1のコンピューティングシステムと実際に通信しているネットワークノードでの物理的存在を検証することのできるモバイルデバイスにユーザが物理的に存在するときに検証され得る。
【0017】
まず、コンピューティングシステム間の一方向での通信が、図1に関連して説明される。図1は、コンピューティングシステム102が別のコンピューティングシステム101に通信すべきである環境100を示す。コンピューティングシステム101は、本明細書では「第1のコンピューティングシステム」と呼ばれ、コンピューティングシステム102は、本明細書では「第2のコンピューティングシステム」と呼ばれる。別段に示されていない限り、「第1」、「第2」などの修飾語の使用は、ある項目または動作を別のものと区別するためのものに過ぎず、修飾される項目または用語の間の何らかの他の関係を示唆すると解釈すべきではない。図1のケースでは、第2のコンピューティングシステム102が第1のコンピューティングシステム101と通信している。一例として、第1のコンピューティングシステム101および第2のコンピューティングシステム102のそれぞれは、図5のコンピューティングシステム500について以下で説明されるように構築され得る。
【0018】
第1のコンピューティングシステム101は、特定のエンティティ103が第2のコンピューティングシステムに存在することを確認するために、第2のコンピューティングシステム102の部分を制御する。第2のコンピューティングシステムでの特定のエンティティ103の物理的存在が、線104によって表される。特定のエンティティ103は、第2のコンピューティングシステム102の人間のユーザであり得る。代替とし、特定のエンティティ103は、第2のコンピューティングシステム102上で実行中の実行可能な構成要素であり得る。一例として、第2のコンピューティングシステム102が、コンピューティングシステム500について以下で説明されるように構成される場合、実行可能な構成要素103は、図5の実行可能なコンピューティング506について以下で説明されるように構成され得る。本明細書で「ホテルチェックインキオスク実施例」と呼ばれる一実施例では、第2のコンピューティングシステム102はホテルのキオスクであり、特定のエンティティ103は、チェックインしようとしているホテル顧客であり、第1のコンピューティングシステム101はホテルコンピュータである。
【0019】
第2のコンピューティングシステム102は、特定のエンティティ103が(線104によって表されるように)第2のコンピューティングシステム102に物理的に存在するという証拠(以下では「存在証拠」と呼ばれる)を自動的に生成するように構成されるプルーフキャプチャ構成要素122を含む。単なる一例として、特定のエンティティ103が人間のユーザであった場合、プルーフキャプチャ構成要素103は、人間のユーザのバイオメトリックを取り込むように構成され得る。一例として、プルーフキャプチャ構成要素は、人間のユーザのピクチャを撮るように構成されたカメラドライバであり得る。カメラが撮ったそのようなピクチャは、人間のユーザが第2のコンピューティングシステム103に物理的に存在することを実際に証明することになる。もちろん、そのようなピクチャは、適切な同意を保証する人間のユーザに対する適切な情報およびプロンプトと共に、または暗黙的な同意を示唆する環境下で撮られる。
【0020】
第1のコンピューティングシステム101は、(線105によって表されるように)第2のコンピューティングシステム101上のプルーフキャプチャ構成要素122を制御している。一例として、この制御は、第1のコンピューティングシステム101の所有者と、第2のコンピューティングシステム102の所有者が同一である場合に可能である。たとえば、ホテルチェックインキオスク実施例では、キオスクとホテルコンピュータはどちらもホテルに属する。したがって、ホテルコンピュータ(これは第1のコンピューティングシステム101の一例である)は、チェックインキオスク(これは第2のコンピューティングシステム102の一例である)上のカメラ(これはプルーフキャプチャ構成要素122の一例である)を制御している。別の例では、第1のコンピューティングシステム101と第2のコンピューティングシステム102がリモートであり、かつ/または相異なるエンティティによって所有される場合であっても、制御105が動作可能にされる。特定のエンティティ103は、(たとえば)通信セッションの開始時に第1のコンピューティングシステム101にプルーフキャプチャ構成要素122の制御権を与え得る。一例として、これは、検証可能な証明書を使用して行われ得る。第1のコンピューティングシステム101は、たとえば、認証要求を(たとえば、QRコード(登録商標)の形で)第2のコンピューティングシステム102に対して視覚化し得、認証要求は、ユーザの携帯電話上でカメラを使用するための許可を求める要求を含む。次いでユーザは、セッションが開始するとき、または登録中に認証および許可を与え得る。その後で、第1のコンピューティングシステム101は、第1のコンピューティングシステム101がその許可を実際に有することを示す検証可能な証明書を提示することにより、第2のコンピューティングシステム102上のカメラを活動化させ得る。
【0021】
図2は、本明細書で説明される原理による、第1のコンピューティングシステムが第2のコンピューティングシステムから通信を受信するための方法200のフローチャートを示す。図2の方法200は、図1の環境100内で実施され得、そのケースでは、方法200は、第1のコンピューティングシステム101が第2のコンピューティングシステム102から通信を受信するためのものである。したがって、次に、図1の環境100を頻繁に参照しながら、図2の方法200が説明される。
【0022】
図1の状況では、方法200は、第1のコンピューティングシステムの実行可能な構成要素111によって実施され得る。実行可能な構成要素111は、図5の実行可能な構成要素506について以下で説明されるように構築され得る。具体的には、実行可能な構成要素111は、第1のコンピューティングシステム101のより多くのプロセッサのうちの1つが、実行可能な構成要素をインスタンス化および/または操作するように構築されるコンピュータ実行可能命令を実行したことに応答して、実行可能な構成要素111がインスタンス化され、かつ/または動作し得る。方法200が第1のコンピューティングシステム101によって実施される場合、第1のコンピューティングシステム101が、第1のコンピューティングシステム101の1つまたは複数のプロセッサによって実行されるときに第1のコンピューティングシステム101に方法200を実施させるように構築されるコンピュータ実行可能命令をその上に有するコンピュータプログラム製品にアクセスしたことに応答して、方法200を実施するように構築され得る。
【0023】
方法200は、第2のコンピューティングシステムのプルーフキャプチャ構成要素を制御して、特定のエンティティが第2のコンピューティングシステムに存在するという存在証拠を自動的に生成する動作を含む(動作211)。たとえば、図1では、第1のコンピューティングシステム101(または具体的には、実行可能な構成要素111)は、プルーフキャプチャ構成要素122に、特定のエンティティ103が第2のコンピューティングシステム102に存在するという証明を取り込ませる。
【0024】
次いで方法200は、第2のコンピューティングシステムに、第2のコンピューティングシステムから第1のコンピューティングシステムに通信するとき、生成された存在証拠を自動的に含めさせる動作を含む(動作212)。図1を参照すると、第2のコンピューティングシステム102が第1のコンピューティングシステム101に通信を送るとき、第1のコンピューティングシステム101は(たとえば、実行可能な構成要素111を使用して)、第2のコンピューティングシステム102に、存在証拠を自動的に含めさせる。図3は、存在証拠310を含む例示的通信300を示す。
【0025】
その後で、方法200は、第2のコンピューティングシステムから受信した少なくとも1つまたは複数の(恐らくは複数の)通信のそれぞれについて一定の動作を実施することを含む。これらの一定の動作が、破線のボックス213によって囲まれて示されている。ボックス213内の一定の動作は、第2のコンピューティングシステムから受信されたすべての通信について実施され得るが、第2のコンピューティングシステムから受信された、受信された単一の通信、または受信された通信のうちのいくつかだけについて実施され得る。さらに、一定の動作は、第1と第2のコンピューティングシステムの間のセッションの部分として、第2のコンピューティングシステムから受信された通信のうちの1つ、いくつか、またはすべてについて実施され得る。
【0026】
図2を参照すると、受信されたそれぞれの通信について、第1のコンピューティングシステムは(たとえば、実行可能な構成要素111を使用して)通信を処理する(動作220)。これは、通信から存在証拠を読み取り(動作221)、次いでその存在証拠から、特定のエンティティが第2のコンピューティングシステムに存在するかどうかを推定する(判定ブロック222)ことによって実施される。
【0027】
推定が、特定のエンティティが第2のコンピューティングシステムに存在するというものである場合(判定ブロック222での「はい」)、通信が渡される(動作223)。通信を渡すことは、特定のエンティティが第2のコンピューティングシステムに存在することを処理が真と仮定することを意味する。図1の例を参照すると、第1のコンピューティングシステム101は、特定のエンティティ103が第2のコンピューティングシステム102に存在することを真として扱って、第2のコンピューティングシステム102からの通信を処理する。言い換えれば、特定のエンティティ103が第1のコンピューティングシステム101にとって信頼できるとすると、第1のコンピューティングシステム101は、受信された通信はフィッシング攻撃ではないと結論付け得る。
【0028】
一方、推定が、特定のエンティティが第2のコンピューティングシステムに存在するというものではない場合(判定ブロック222での「いいえ」)、通信が停止される(動作224)。通信を停止することは、特定のエンティティが第2のコンピューティングシステムに存在することを処理が真として扱わないことを意味する。図1の例を参照すると、第1のコンピューティングシステム111は、特定のエンティティ103が第2のコンピューティングシステム102に存在することを真として扱うことなく、第2のコンピューティングシステム102からの通信を処理する。この停止は、単に通信を無視することを含み得る。結局のところ、第1のコンピューティングシステム101は、受信された通信がフィッシング攻撃ではないことを確認することができていない。したがって、第1のコンピューティングシステム101が第2のコンピューティングシステム102との、より具体的には第2のコンピューティングシステム102に存在する特定のエンティティとのセッションまたは他の関係を確立したとき、第1のコンピューティングシステム101は、第1のコンピューティングシステム101が通信しているコンピューティングシステムに特定のエンティティがあるという十分な証明を構成するものを確立し得る。次いで第1のコンピューティングシステム101は、第2のコンピューティングシステム102であると主張するコンピューティングシステムから将来の通信が受信されたとき、特定のエンティティ103が第2のコンピューティングシステムに存在するという証拠を第2のコンピューティングシステム102が与えることができることをチェックし得る。これは、第1のコンピューティングシステム101がその特定のエンティティ103のふりをする別のエンティティとではなく、特定のエンティティ103と通信しているという、より高い保証を与える。
【0029】
同様に、第2のコンピューティングシステム102は、第1のコンピューティングシステム101から通信を受信するとき、同じ方法を実施し得る。そのケースでは、第2のコンピューティングシステム102は、第1のコンピューティングシステムのプルーフキャプチャ構成要素を制御していることになり、特定のエンティティが第1のコンピューティングシステムに存在することを確認できることになる。図4は、前述のプロセスが双方向に実施され得る例示的環境を示す。ここでは、第1のシステム101は、第2のコンピューティングシステム102上で実行中の実行可能な構成要素411を(線405によって表されるように)制御しているプルーフキャプチャ構成要素422をさらに含む。実行可能な構成要素411は、図5の実行可能な構成要素506について以下で説明されるように構築され得る。具体的には、第2のコンピューティングシステム201のより多くのプロセッサのうちの1つが、実行可能な構成要素をインスタンス化および/または操作するように構築されるコンピュータ実行可能命令を実行したことに応答して、実行可能な構成要素411がインスタンス化され、かつ/または動作し得る。方法200が第2のコンピューティングシステム102によって実施される場合、第2のコンピューティングシステム102が、第2のコンピューティングシステム102の1つまたは複数のプロセッサによって実行されるときに第2のコンピューティングシステム102に方法200を実施させるように構築されるコンピュータ実行可能命令をその上に有するコンピュータプログラム製品にアクセスしたことに応答して、方法200を実施するように構築され得る。したがって、特定のエンティティ403と103がそれぞれのコンピューティングシステム101および102を通じて互いに通信するときにはいつでも、コンピューティングシステムは、他方のパーティから受信する通信が、何らかの他の予期しない、または人を欺くパーティからのものではなく、本当に他方のパーティからのものであることを定期的に検証し得る。したがって、本明細書で説明される原理は、説得力をもって別のエンティティのふりをするエンティティによるフィッシング攻撃を防止する。
【0030】
特定のエンティティ403は、第1のコンピューティングシステム101の人間のユーザ、または恐らくは、第1のコンピューティングシステム101上で実行中の実行可能な構成要素であり得る。同様に、特定のエンティティ103は、第2のコンピューティングシステム102の人間のユーザ、または恐らくは、第2のコンピューティングシステム102上で実行中の実行可能な構成要素であり得る。
【0031】
他方のエンティティが人間のユーザであるケースでは、存在証拠は、人間のユーザのバイオメトリックであり得る。そのケースでは、人間のユーザが他方のコンピューティングシステムに依然として存在することを存在証拠が示すかどうかを推定すること(判定ブロック222)は、含まれるバイオメトリックを、ユーザの以前に取り込まれたバイオメトリックを伴う最近の通信と比較することを含み得る。
【0032】
バイオメトリックの厳密な一致が、以前に取り込まれたバイオメトリックが盗まれ、再生されたことを示すはずであるケースがあり得る。これは、何らかの形でコンピューティングシステムが他方のコンピューティングシステムのプルーフキャプチャ構成要素の制御を失ったことを示すことになる。したがって、バイオメトリックが同一の人間のユーザのものであるという結論を可能にするのに十分であるが、人間のユーザのバイオメトリックの測定の異なる事例を反映するように十分に異なる、以前に取り込まれたバイオメトリックと現在のバイオメトリックとの間で予想される一定のレベルの違いがあり得る。一例として、通信の開始時に撮られた写真は、ピクセルごとに比較したとき、最近撮られた写真とは厳密には同一ではないことがある。それでも、認識は、依然として人間のユーザが同一の人間であると認識することになる。
【0033】
他方のエンティティが実行可能な構成要素であるケースでは、存在証拠は、他方のパーティによって提供された情報によって少なくとも部分的に署名された信号であり得る。一例として、エンティティ103が実行可能な構成要素であると仮定する。第1のコンピューティングシステム101は、分散型識別子(たとえば、DID)鍵などの鍵を第2のコンピューティングシステム102の実行可能な構成要素に提供し得る。次いで第2のコンピューティングシステム102は、実行可能な構成要素103によって提供されたその情報を使用して通信を署名することによって、実行可能な構成要素103の存在の証拠を取り込むことになる。そのような署名は、実行可能な構成要素103が第2のコンピューティングシステム102に存在することの証拠を表す。この実行可能な構成要素は、たとえば、2つのコンピューティングシステムの間のセッション中に存在するセッション構成要素であり得る。一例として、第1のコンピューティングシステムがホテルコンピュータであり、第2のコンピューティングシステムが、ホテルによって所有されるキオスクであると仮定する。ホテルコンピュータの存在下での特定のエンティティは、ホテルコンピュータ上で実行中の自動チェックイン構成要素であり得る。キオスクの存在下での特定のエンティティは、キオスクに接近してきたばかりで、チェックインする意図をキオスクに対して示したホテル顧客であり得る。キオスクでの特定のユーザは、DID鍵をキオスク内に提供し、DID鍵はホテルコンピュータに提供される。ホテルコンピュータは、ホテル顧客のピクチャを撮り、ピクチャもホテルコンピュータに提供する。プライバシー保持の目的で、ユーザはまた、ユーザに結び付けられたDIDまたはバイオメトリックを使用する代わりに、アプリケーションにわたって相関させることのできない一時鍵(ephemeral key)を提示し得る。
【0034】
次に、ホテルコンピュータが、ユーザに自分自身を認証するように求める認証要求をキオスクに送ると仮定する。この認証要求が、特定のユーザによって提供されるDID鍵を使用して署名され、それによって、認証要求が本当にホテルコンピュータ上のエンティティから来ることをキオスクが確認することが可能となる。したがって、認証要求がホテル顧客に対して明らかにされる。ホテルコンピュータは、ユーザに認証情報を促し、ホテル顧客のピクチャを撮る。次いで情報が、ホテル顧客のピクチャと共に、ホテルコンピュータに送られる。ホテルコンピュータは、顧客の2つのピクチャ(一方はセッションが開始したときに撮られ、他方は顧客の情報がサブミットされたときに撮られる)を比較して、情報が顧客から来ると判定する。このことは、セッションが開始した後に何かがその会話を盗聴し、それによってフィッシング攻撃を実施することをはるかに難しくする。
【0035】
本明細書で説明される原理はコンピューティングシステムの状況で実施されるので、コンピューティングシステムのある程度の導入の議論が図5に関連して説明される。コンピューティングシステムは現在、ますます多種多様な形態を取りつつある。コンピューティングシステムは、たとえば、ハンドヘルドデバイス、アプライアンス、ラップトップコンピュータ、デスクトップコンピュータ、メインフレーム、分散コンピューティングシステム、データセンタ、さらにはウェアラブル(たとえば、眼鏡)などの従来はコンピューティングシステムとは見なされなかったデバイスであり得る。この説明および特許請求の範囲では、「コンピューティングシステム」という用語は、少なくとも1つの物理的で有形のプロセッサと、プロセッサによって実行され得るコンピュータ実行可能命令をその上に有することのできる物理的で有形のメモリとを含む任意のデバイスまたはシステム(またはそれらの組合せ)を含むものとして広く定義される。メモリは任意の形態を取り得、コンピューティングシステムの性質および形態に依存し得る。コンピューティングシステムは、ネットワーク環境にわたって分散し得、複数の構成コンピューティングシステムを含み得る。
【0036】
図5に示されるように、コンピューティングシステム500は、その最も基本的な構成では、少なくとも1つのハードウェア処理装置502およびメモリ504を含む。処理装置502は汎用プロセッサを含む。必須ではないが、処理装置502はまた、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または任意の他の専用回路をも含み得る。一実施形態では、メモリ504は物理システムメモリを含む。その物理システムメモリは、揮発性、不揮発性、またはそれらの何らかの組合せであり得る。第2の実施形態では、メモリは、物理記憶媒体などの不揮発性マスストレージである。コンピューティングシステムが分散する場合、処理機能、メモリ機能、および/または記憶機能も分散し得る。
【0037】
コンピューティングシステム500はまた、しばしば「実行可能な構成要素」と呼ばれる複数の構造をその上に有する。たとえば、コンピューティングシステム500のメモリ504が、実行可能な構成要素506を含むように示されている。「実行可能な構成要素」という用語は、ソフトウェア、ハードウェア、またはそれらの組合せであり得る構造としてコンピューティングの分野の当業者にとって良く理解されている構造についての名前である。たとえば、ソフトウェアで実装されるとき、実行可能な構成要素の構造が、コンピューティングシステム上で実行され得るソフトウェアオブジェクト、ルーチン、メソッド(など)を含み得ることを当業者なら理解されよう。そのような実行可能な構成要素は、多数のコンピューティングシステム、コンピュータ可読記憶媒体、または組合せに存在する。
【0038】
コンピューティングシステムの1つまたは複数のプロセッサ(たとえば、プロセッサスレッド)によって解釈されるとき、コンピューティングシステムに機能を実施させるように、実行可能な構成要素の構造がコンピュータ可読媒体上に存在することを当業者なら理解されよう。そのような構造は、(実行可能な構成要素がバイナリであるケースと同様に)プロセッサによって直接的にコンピュータ可読であり得る。代替として、構造は、プロセッサによって直接的に解釈可能であるようなバイナリを生成するように(単一のステージまたは複数のステージで)解釈可能であり、かつ/またはコンパイルされるように構築され得る。実行可能な構成要素の例示的構造のそのような理解は、「実行可能な構成要素」という用語を使用するとき、十分にコンピューティングの当業者の理解の範囲内にある。
【0039】
「実行可能な構成要素」という用語はまた、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または任意の他の専用回路内などの、ハードウェアで排他的またはほぼ排他的に実装される、ハードコーデッドまたはハードワイヤード論理ゲートなどの構造を含むように、当業者によって十分に理解される。したがって、「実行可能な構成要素」という用語は、ソフトウェア、ハードウェア、または組合せで実装される、コンピューティングの当業者によって十分に理解される構造についての用語である。この説明では、「構成要素」、「エージェント」、「マネージャ」、「サービス」、「エンジン」、「モジュール」、「仮想マシン」などの用語も使用され得る。この説明、およびこのケースでは、(修飾節と共に、または修飾節を伴わずに表現される)これらの用語はまた、「実行可能な構成要素」という用語と同義であるものとし、コンピューティングの当業者によって良く理解される構造も有する。
【0040】
以下の説明では、1つまたは複数のコンピューティングシステムによって実施される動作を参照しながら実施形態が説明される。そのような動作がソフトウェアで実装される場合、(動作を実施する、関連するコンピューティングシステムの)1つまたは複数のプロセッサが、実行可能な構成要素を構成するコンピュータ実行可能命令を実行したことに応答して、コンピューティングシステムの動作を指示する。たとえば、そのようなコンピュータ実行可能命令は、コンピュータプログラム製品を形成する1つまたは複数のコンピュータ可読媒体上で実施され得る。そのような動作の一例は、データの操作を含む。そのような動作が、FPGAまたはASIC内などのハードウェアで排他的またはほぼ排他的に実装される場合、コンピュータ実行可能命令は、ハードコーデッドまたはハードワイヤード論理ゲートであり得る。コンピュータ実行可能命令(および操作されるデータ)は、コンピューティングシステム500のメモリ504内に記憶され得る。コンピューティングシステム500はまた、コンピューティングシステム500が、たとえばネットワーク510を介して他のコンピューティングシステムと通信することを可能にする通信チャネル508をも含み得る。
【0041】
すべてのコンピューティングシステムがユーザインターフェースを必要とするわけではないが、いくつかの実施形態では、コンピューティングシステム500は、ユーザとインターフェースする際に使用するためのユーザインターフェースシステム512を含む。ユーザインターフェースシステム512は、出力機構512Aならびに入力機構512Bを含み得る。本明細書で説明される原理は、厳密な出力機構512Aまたは入力機構512Bに限定されない。そのようなものはデバイスの性質に依存するからである。しかしながら、出力機構512Aは、たとえば、スピーカ、ディスプレイ、触覚出力、仮想または拡張現実感、ホログラムなどを含み得る。入力機構512Bの例は、たとえば、マイクロフォン、タッチスクリーン、仮想または拡張現実感、ホログラム、カメラ、キーボード、マウス、または他のポインタ入力、任意のタイプのセンサなどを含み得る。
【0042】
本明細書で説明される実施形態は、以下でより詳細に論じられるように、たとえば1つまたは複数のプロセッサおよびシステムメモリなどのコンピュータハードウェアを含む専用または汎用コンピューティングシステムを備え、または利用し得る。本明細書で説明される実施形態はまた、コンピュータ実行可能命令および/またはデータ構造を搬送または記憶するための物理コンピュータ可読媒体および他のコンピュータ可読媒体をも含む。そのようなコンピュータ可読媒体は、汎用または専用コンピューティングシステムによってアクセスされ得る、任意の入手可能な媒体であり得る。コンピュータ実行可能命令を記憶するコンピュータ可読媒体は物理記憶媒体である。コンピュータ実行可能命令を搬送するコンピュータ可読媒体は伝送媒体である。したがって、限定ではなく例として、本発明の実施形態は、記憶媒体および伝送媒体という少なくとも2つの明確に異なる種類のコンピュータ可読媒体を含み得る。
【0043】
コンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROM、または他の光ディスクストレージ、磁気ディスクストレージ、または他の磁気記憶デバイス、あるいはコンピュータ実行可能命令またはデータ構造の形態の所望のプログラムコード手段を記憶するために使用され得、汎用または専用コンピューティングシステムによってアクセスされ得る任意の他の物理的な有形の記憶媒体を含む。
【0044】
「ネットワーク」は、コンピューティングシステムおよび/またはモジュールおよび/または他の電子デバイスの間の電子データの移送を可能にする1つまたは複数のデータリンクと定義される。コンピューティングシステムに対するネットワークまたは別の通信接続(ハードワイヤード、ワイヤレス、あるいはハードワイヤードまたはワイヤレスの組合せ)を介して情報が転送または提供されるとき、コンピューティングシステムは、接続を伝送媒体と適切に見なす。伝送媒体は、コンピュータ実行可能命令またはデータ構造の形態で所望のプログラムコード手段を搬送するために使用され得、汎用または専用コンピューティングシステムによってアクセスされ得るネットワークおよび/またはデータリンクを含み得る。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【0045】
さらに、様々なコンピューティングシステム構成要素に達するとき、コンピュータ実行可能命令またはデータ構造の形態のプログラムコード手段が、伝送媒体から記憶媒体に(またはその逆に)自動的に転送され得る。たとえば、ネットワークまたはデータリンクを介して受信されるコンピュータ実行可能命令またはデータ構造が、ネットワークインターフェースモジュール(たとえば、「NIC」)内のRAM内にバッファリングされ、次いでコンピューティングシステムのコンピューティングシステムRAMおよび/またはより揮発性の低い記憶媒体に最終的に転送され得る。したがって、記憶媒体が、伝送媒体も(さらには伝送媒体を主に)利用するコンピューティングシステム構成要素内に含まれ得ることを理解されたい。
【0046】
コンピュータ実行可能命令は、たとえば、プロセッサで実行されるとき、汎用コンピューティングシステム、専用コンピューティングシステム、または専用処理デバイスに一定の機能または機能のグループを実施させる命令およびデータを含む。代替または追加として、コンピュータ実行可能命令は、一定の機能または機能のグループを実施するようにコンピューティングシステムを構成し得る。コンピュータ実行可能命令は、たとえば、バイナリ、さらにはアセンブリ言語などの中間フォーマット命令、さらにはソースコードなどの、プロセッサによる直接的な実行の前に何らかの変換(コンパイルなど)を受ける命令であり得る。
【0047】
構造的特徴および/または方法論的動作(methodological act)に特有の言い回しで主題が説明されたが、添付の特許請求の範囲で定義される主題が、必ずしも前述の特定の特徴または動作に限定されるわけではないことを理解されたい。むしろ、記載の特徴および動作は、請求項を実装する例示的形態として開示される。
【0048】
パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの、またはプログラマブルコンシューマエレクトロニクス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、携帯電話、PDA、ページャ、ルータ、スイッチ、データセンタ、ウェアラブル(眼鏡など)などを含む多くのタイプのコンピューティングシステム構成を伴うネットワークコンピューティング環境で本発明が実施され得ることを当業者なら理解されよう。本発明はまた、ネットワークを通じて(ハードワイヤードデータリンク、ワイヤレスデータリンクによって、またはハードワイヤードデータリンクとワイヤレスデータリンクの組合せによって)リンクされるローカルおよびリモートコンピューティングシステムが共にタスクを実施する、分散システム環境で実施され得る。分散システム環境では、プログラムモジュールが、ローカルメモリ記憶デバイスとリモートメモリ記憶デバイスの両方に配置され得る。
【0049】
本発明がクラウドコンピューティング環境で実施され得ることを当業者ならやはり理解されよう。クラウドコンピューティング環境は、必須ではないが、分散され得る。分散されるとき、クラウドコンピューティング環境は、組織内で国際的に分散され、かつ/または複数の組織にわたって所有される構成要素を有し得る。この説明および以下の特許請求の範囲では、「クラウドコンピューティング」は、構成可能なコンピューティングリソース(たとえば、ネットワーク、サーバ、ストレージ、アプリケーション、およびサービス)の共有プールへのオンデマンドネットワークアクセスを可能にするためのモデルと定義される。「クラウドコンピューティング」の定義は、適切に配置されたときにそのようなモデルから取得され得る他の多数の利点のいずれかに限定されない。
【0050】
本明細書で開示されるプロセスおよび方法では、プロセスおよび方法で実施される動作が様々な順序で実装され得る。さらに、概略される動作は例として与えられるものに過ぎず、開示される実施形態の本質から減じることなく、動作のうちのいくつかは任意選択であり、より少ないステップおよび動作として組み合わされ、別の動作で補足され、または追加の動作に拡張され得る。
【0051】
本発明は、その趣旨または特徴から逸脱することなく、他の特定の形態で実施され得る。記載の実施形態は、すべての点で制限的なものではなく、単に例示的なものと見なされるべきである。したがって、本発明の範囲は、上記の説明によってではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等の意味および範囲内に入るすべての変更が、その範囲内に含まれるべきである。
図1
図2
図3
図4
図5
【国際調査報告】