(57)【要約】  コンピューティングデバイスを認証する方法を実施するように構成された方法、システム、およびコンピューティングデバイスにおいて、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、動的に更新された共有データセットを共有することができる。第１のコンピューティングデバイスは、第１のコンピューティングデバイスに記憶された共有データセットの要素を選択してもよく、かつ共有データセットから、選択された要素を抽出するためのルールセットを生成してもよい。第１のコンピューティングデバイスは、ルールセットを第２のコンピューティングデバイスに送信してもよく、かつ選択された要素を使用して、第１の結果を生成してもよい。第２のコンピューティングデバイスは、ルールセットを使用して、共有データセットから、選択された要素を抽出してもよく、第２の結果を生成してもよく、かつ第２の結果を第１のコンピューティングデバイスに送信してもよい。第１のコンピューティングデバイスは、第１の結果が第２の結果に一致するかどうかどうかに基づいて、第２のコンピューティングデバイスを認証するかどうかを判定してもよい。【選択図】図７
2020518899.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティングデバイスと第２のコンピューティングデバイス間で共有されるデータセットを動的に改変するための前記コンピューティングデバイスであって、
メモリと、
前記メモリに接続するプロセッサと、を含み、前記プロセッサがプロセッサ実行可能命令を用いて実行する動作が、
データセット更新トリガが発生したかどうかを判定することと、
前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成することと、
前記生成された命令に従って、前記メモリに記憶された前記共有データセットを改変することと、
前記生成された命令を第２のコンピューティングデバイスに送信して、前記生成された命令に従って前記第２のコンピューティングデバイスでの前記共有データセットを改変することと、を含むように構成される、コンピューティングデバイス。
【請求項２】
前記プロセッサが、前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成するようにプロセッサ実行可能命令を用いて実行する動作が、
前記第１のコンピューティングデバイスで受信したデータ入力に基づいて、新しい部分を前記共有データセットに加えるための命令を生成することを含むように構成される、請求項１に記載のシステム。
【請求項３】
前記プロセッサが、前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成するようにプロセッサ実行可能命令を用いて実行する動作が、
前記共有データセットの一部分を減ずるための命令を生成することを含むように構成される、請求項１に記載のシステム。
【請求項４】
前記プロセッサが、前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成するようにプロセッサ実行可能命令を用いて実行する動作が、
前記共有データセットを再順序付けするための命令を生成することを含むように構成される、請求項１に記載のシステム。
【請求項５】
前記プロセッサが、前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成するようにプロセッサ実行可能命令を用いて実行する動作が、
前記共有データセットを変換するための命令を生成することを含むように構成される、請求項１に記載のシステム。
【請求項６】
前記プロセッサが、プロセッサ実行可能命令を用いて実行する動作が、
前記メモリに記憶された前記共有データセットから要素を選択することと、
前記共有データセットから、前記選択された要素を抽出するためのルールセットを生成することと、
前記ルールセットを前記第２のコンピューティングデバイスに送信することと、をさらに含むように構成される、請求項１に記載のシステム。
【請求項７】
前記プロセッサがプロセッサ実行可能命令を用いて実行する動作が、
第１の結果を生成するために、前記選択された要素を変換することと、
前記ルールセットに基づいて、前記第２のコンピューティングデバイスから第２の結果を受信することと、
前記第１の結果が前記第２の結果に一致するかどうかを判定することと、
前記第１の結果が前記第２の結果に一致するかどうかに基づいて、前記第２のコンピューティングデバイスを認証するかどうかを判定することと、をさらに含むように構成される、請求項６に記載のシステム。
【請求項８】
コンピューティングデバイスを認証するためのシステムであって、
第１のコンピューティングデバイスと第２のコンピューティングデバイスとを含み、
前記第１のコンピューティングデバイスは、
第１のメモリと、
第１のプロセッサと、を含み、前記第１のプロセッサがプロセッサ実行可能命令を用いて実行する動作が、
前記第１のコンピューティングデバイスに記憶された共有データセットから要素を選択することであって、前記共有データセットが、前記第２のコンピューティングデバイスにも記憶される、ことと、
前記共有データセットから、前記選択された要素を抽出するためのルールセットを生成することと、
第１の結果を生成するために、前記選択された要素を変換することと、
前記ルールセットを前記第２のコンピューティングデバイスに送信することと、を含むように構成され、
第２のコンピューティングデバイスは、
通信インターフェースと、
第２のメモリと、
前記通信インターフェースに接続する第２のプロセッサと、を含み、前記第２のプロセッサがプロセッサ実行可能命令を用いて実行する動作が、
前記第１のコンピューティングデバイスから前記ルールセットを受信することと、
前記ルールセットを使用して、前記第２のコンピューティングデバイスに記憶された前記共有データセットから、前記選択された要素を抽出することと、
第２の結果を生成するために、前記抽出された要素を変換することと、
前記生成された第２の結果を前記第１のコンピューティングデバイスに送信することと、を含むように構成され、
前記第１のコンピューティングデバイスの前記プロセッサがプロセッサ実行可能命令を用いて実行する動作が、
前記第１の結果が前記第２の結果に一致するかどうかを判定することと、
前記第１の結果が前記第２の結果に一致するかどうかどうかに基づいて、前記第２のコンピューティングデバイスを認証するかどうかを判定することと、をさらに含むように構成される、システム。
【請求項９】
前記第１のコンピューティングデバイスの前記プロセッサが、前記共有データセットから、前記選択された要素を抽出するためのルールセットを前記生成するようにプロセッサ実行可能命令を用いて実行する動作がが、前記共有データセットから前記要素を選択する前に行われるように構成される、請求項８に記載のシステム。
【請求項１０】
前記第１のコンピューティングデバイスの前記プロセッサが、プロセッサ実行可能命令を用いて実行する動作が、
前記第１の結果が前記第２の結果に一致するかどうかに基づいて、前記第２のコンピューティングデバイスを認証するかどうかの指示を前記第２のコンピューティングデバイスに送信することをさらに含むように構成される、請求項８に記載のシステム。
【請求項１１】
前記第１のコンピューティングデバイスの前記プロセッサが、前記第１のコンピューティングデバイスに記憶された前記共有データセットから要素を選択することであって、前記共有データセットが、前記第２のコンピューティングデバイスにさらに記憶されるようにプロセッサ実行可能命令を用いて実行する動作が、
前記共有データセットの１つ以上の部分を選択することと、
前記共有データセットの前記１つ以上の部分の中から２つ以上の要素を選択することと、を含むように構成される、請求項８に記載のシステム。
【請求項１２】
前記第１のコンピューティングデバイスの前記プロセッサが、前記第１のコンピューティングデバイスに記憶された前記共有データセットから要素を選択することであって、前記共有データセットが、前記第２のコンピューティングデバイスにさらに記憶されるようにプロセッサ実行可能命令を用いて実行する動作が、
一次要素として、前記２つ以上の要素のうちの１つを選択することを含むように構成される、請求項１１に記載のシステム。
【請求項１３】
前記第１のコンピューティングデバイスの前記プロセッサが、前記共有データセットから、前記選択された要素を抽出するためのルールセットを生成するようにプロセッサ実行可能命令を用いて実行する動作が、
前記選択された２つ以上の要素間の１つ以上の関係を決定することと、
前記選択された２つ以上の要素間の前記決定された１つ以上の関係に基づいて、前記ルールセットを生成することと、をさらに含むように構成される、請求項１１に記載のシステム。
【請求項１４】
前記第２のコンピューティングデバイスの前記プロセッサが、前記ルールセットを使用して、前記第２のコンピューティングデバイスに記憶された前記共有データセットから、前記選択された要素を抽出するようにプロセッサ実行可能命令を用いて実行する動作が、
前記ルールセットに示された、前記共有データセットの１つ以上の要素を識別することと、
前記ルールセットに示された、前記選択された２つ以上の要素間の１つ以上の関係を識別することと、
前記識別された１つ以上の要素および前記１つ以上の関係を使用して、前記共有データセットから前記１つ以上の要素を抽出することと、を含むように構成される、請求項８に記載のシステム。
【請求項１５】
前記共有データセットが、１つ以上の一時的アイデンティティを含む、請求項８に記載のシステム。
【請求項１６】
第１のコンピューティングデバイスと第２のコンピューティングデバイス間で共有されるデータセットを動的に改変するための方法であって、
前記第１のコンピューティングデバイスのプロセッサによって、データセット更新トリガが発生したかどうかを判定することと、
前記プロセッサによって、前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成することと、
前記プロセッサによって、前記生成された命令に従って、前記メモリに記憶された前記共有データセットを改変することと、
前記プロセッサによって、前記生成された命令を第２のコンピューティングデバイスに送信して、前記生成された命令に従って、前記第２のコンピューティングデバイスでの前記共有データセットを改変することと、を含む、方法。
【請求項１７】
前記プロセッサによって、前記メモリに記憶された前記共有データセットから要素を選択することと、
前記プロセッサによって、前記共有データセットから、前記選択された要素を抽出するためのルールセットを生成することと、
前記プロセッサによって、前記ルールセットを前記第２のコンピューティングデバイスに送信することと、をさらに含む、請求項１６に記載の方法。
【請求項１８】
第１の結果を生成するために、前記プロセッサによって、前記選択された要素を変換することと、
前記プロセッサによって、前記ルールセットに基づいて、前記第２のコンピューティングデバイスから第２の結果を受信することと、
前記プロセッサによって、前記第１の結果が前記第２の結果に一致するかどうかを判定することと、
前記プロセッサによって、前記第１の結果が前記第２の結果に一致するかどうかに基づいて、前記第２のコンピューティングデバイスを認証するかどうかを判定することと、をさらに含む、請求項１７に記載の方法。
【請求項１９】
前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成することが、
前記第１のコンピューティングデバイスで受信したデータ入力に基づいて新しい部分を前記共有データセットに加えること、前記共有データセットの一部分を減じること、および前記共有データセットを再順序付けすること、のうちの１つ以上を行うための命令を生成することを含む、請求項１７に記載の方法。
【請求項２０】
前記データセット更新トリガが発生したと判定することに応答して、前記共有データセットを改変するための命令を生成することが、
前記共有データセットを変換するための命令を生成することを含む、請求項１７に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、２０１７年４月２１日に出願された米国特許出願第１５／４９３，５７２号、名称「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｖｉｃｅ  Ｖｅｒｉｆｉｃａｔｉｏｎ  ａｎｄ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ」に対する優先権の利益を主張するものであり、その内容全体は、すべての目的に対して参照により本明細書に組み込まれる。
【背景技術】
【０００２】
デジタル環境の開発は、とりわけ、迅速な通信および情報取引における大幅な拡張を可能にしてきた。しかしながら、この新しい環境において使用されるセキュリティパラダイム、すなわち、共有秘密および付随する信頼の概念が古いままである。共有秘密のパラダイムは、多数の方式で−ユーザ名およびパスワードから、ユーザとシステム間のセキュアな通信まで−デジタル環境に組み込まれてきた。例えば、この概念は、セキュアソケットレイヤ、認証局、公開鍵情報セキュリティインフラストラクチャの基礎をなす。
【０００３】
しかしながら、デジタル環境は、短時間を超えて秘密を保つことが困難であり、秘密性が失われると、以前秘密であった情報が迅速に急増し、完全な忠実度を伴い得る。デジタル環境はまた、共有秘密および信用証明書が「ハッキング」の主な標的になっているものであり、ハッキングは、多くの「秘密」（例えば、パスワード、デジタル証明書、個人情報、および他のタイプの認証データ）をグレーマーケットおよびブラックマーケットで自由に売買されるコモディティに変換しており、デジタル交換をセキュアにするためのそのような秘密の利益を損なっている。それでも、デジタル環境の根底にあるセキュリティ機構は、秘密が依然として秘密であるというこの誤った仮定の安全な動作に依存したままである。
【０００４】
コンピューティングデバイスの提示されたアイデンティティの検証は、多数の電子通信の重要な局面である。しかしながら、共有秘密の脆弱性、ならびに伝送における通信の脆弱性は、信頼できるデバイスのアイデンティティ検証のためのデジタル証明書または他の類似する情報の信頼性およびセキュリティを劇的に弱体化する。
【発明の概要】
【０００５】
様々な実施形態は、第１のコンピューティングデバイスと第２のコンピューティングデバイス間で共有されるデータセットを動的に改変する方法を含む。様々な実施形態は、データセット更新トリガが発生したかどうかを判定することと、データセット更新トリガが発生したと判定することに応答して、共有データセットを改変するための命令を生成することと、生成された命令に従って、メモリに記憶された共有データセットを改変することと、生成された命令を第２のコンピューティングデバイスに送信して、生成された命令に従って、第２のコンピューティングデバイスでの共有データセットを改変することと、を含んでもよい。
【０００６】
いくつかの実施形態において、データセット更新トリガが発生したと判定することに応答して、共有データセットを改変するための命令を生成することは、第１のコンピューティングデバイスで受信したデータ入力に基づいて、新しい部分を共有データセットに加えるための命令を生成することを含んでもよい。いくつかの実施形態において、データセット更新トリガが発生したと判定することに応答して、共有データセットを改変するための命令を生成することは、共有データセットの一部分を減ずるための命令を生成することを含んでもよい。いくつかの実施形態において、データセット更新トリガが発生したと判定することに応答して、共有データセットを改変するための命令を生成することは、共有データセットを再順序付けするための命令を生成することを含んでもよい。いくつかの実施形態において、データセット更新トリガが発生したと判定することに応答して、共有データセットを改変するための命令を生成することは、共有データセットを変換するための命令を生成することを含んでもよい。
【０００７】
いくつかの実施形態において、本方法は、メモリに記憶された共有データセットから要素を選択することと、共有データセットから、選択された要素を抽出するためのルールセットを生成することと、ルールセットを第２のコンピューティングデバイスに送信することと、をさらに含んでもよい。そのような実施形態において、本方法は、第１の結果を生成するために選択された要素を変換することと、ルールセットに基づいて、第２のコンピューティングデバイスから第２の結果を受信することと、第１の結果が第２の結果に一致するかどうかを判定することと、第１の結果が第２の結果に一致するかどうかに基づいて、第２のコンピューティングデバイスを認証するかどうかを判定することと、をさらに含んでもよい。
【０００８】
様々な実施形態は、コンピューティングデバイスを認証する方法を含む。様々な実施形態は、第１のコンピューティングデバイスのプロセッサによって、第１のコンピューティングデバイスに記憶された共有データセットから要素を選択することであって、共有データセットが、第２のコンピューティングデバイスにも記憶される、選択することと、第１のコンピューティングデバイスのプロセッサによって、共有データセットから、選択された要素を抽出するためのルールセットを生成することと、第１のコンピューティングデバイスのプロセッサによって、第１の結果を生成するために選択された要素を変換することと、第１のコンピューティングデバイスのプロセッサによって、ルールセットを第２のコンピューティングデバイスに送信することと、を含んでもよい。様々な実施形態は、第２のコンピューティングデバイスのプロセッサによって、第１のコンピューティングデバイスからルールセットを受信することと、第２のコンピューティングデバイスのプロセッサによって、ルールセットを使用して、第２のコンピューティングデバイスに記憶された共有データセットから、選択された要素を抽出することと、第２のコンピューティングデバイスのプロセッサによって、第２の結果を生成するために抽出された要素を変換することと、第２のコンピューティングデバイスのプロセッサによって、生成された第２の結果を第１のコンピューティングデバイスに送信することと、を含んでもよい。
【０００９】
様々な実施形態は、第１のコンピューティングデバイスのプロセッサによって、第１の結果が第２の結果に一致するかどうかを判定することと、第１の結果が第２の結果に一致するかどうかどうかに基づいて、第１のコンピューティングデバイスのプロセッサによって、第２のコンピューティングデバイスを認証するかどうかを判定することと、を含んでもよい。
【００１０】
いくつかの実施形態において、共有データセットから、選択された要素を抽出するためのルールセットを生成することは、共有データセットから要素を選択する前に実行することができる。いくつかの実施形態は、第１のコンピューティングデバイスのプロセッサによって、第１の結果が第２の結果に一致するかどうかに基づいて、第２のコンピューティングデバイスを認証するかどうかの指示を第２のコンピューティングデバイスに送信することをさらに含んでもよい。
【００１１】
いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサによって、第１のコンピューティングデバイスに記憶された共有データセットから要素を選択することであって、共有データセットが、第２のコンピューティングデバイスにさらに記憶される、選択することは、第１のコンピューティングデバイスのプロセッサによって、共有データセットの１つ以上の部分を選択することと、第１のコンピューティングデバイスのプロセッサによって、共有データセットの１つ以上の部分の中から２つ以上の要素を選択することと、を含んでもよい。
【００１２】
いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサによって、第１のコンピューティングデバイスに記憶された共有データセットから要素を選択することであって、共有データセットが、第２のコンピューティングデバイスにさらに記憶される、選択することは、一次要素として、２つ以上の要素のうちの１つを選択することを含んでもよい。
【００１３】
いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサによって、共有データセットから、選択された要素を抽出するためのルールセットを生成することは、第１のコンピューティングデバイスのプロセッサによって、選択された２つ以上の要素間の１つ以上の関係を決定することと、第１のコンピューティングデバイスのプロセッサによって、選択された２つ以上の要素間の決定された１つ以上の関係に基づいて、ルールセットを生成することと、をさらに含んでもよい。
【００１４】
いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサによって、ルールセットを使用して、第２のコンピューティングデバイスに記憶された共有データセットから、選択された要素を抽出することは、第１のコンピューティングデバイスのプロセッサによって、ルールセットに示された共有データセットの１つ以上の要素を識別することと、第１のコンピューティングデバイスのプロセッサによって、ルールセットに示された、選択された２つ以上の要素間の１つ以上の関係を識別することと、第１のコンピューティングデバイスのプロセッサによって、識別された１つ以上の要素および１つ以上の関係を使用して、共有データセットから１つ以上の要素を抽出することと、を含んでもよい。いくつかの実施形態において、共有データセットは、１つ以上の一時的アイデンティティを含んでもよい。
【００１５】
様々な実施形態は、上で要約した方法の動作を実行するために、プロセッサ実行可能命令で構成されたコンピューティングデバイスをさらに含む。様々な実施形態は、それぞれが上で要約した方法の動作を実行するように構成された第１のコンピューティングデバイスおよび第２のコンピューティングデバイスを含むシステムをさらに含む。
【図面の簡単な説明】
【００１６】
本明細書に組み込まれ、本明細書の一部を構成する添付図面は、本発明の例示的な実施形態を例示するものであり、上で与えられる一般的な説明および下で与えられる詳細な説明と共に、本発明の特徴を説明する役割を果たす。
【００１７】
【図１Ａ】様々な実施形態との使用に適した通信システムの構成要素のブロック図である。
【図１Ｂ】様々な実施形態との使用に適した通信システムの構成要素のブロック図である。
【図１Ｃ】様々な実施形態との使用に適した通信システムの構成要素のブロック図である。
【図２】様々な実施形態との使用に適した通信デバイスの構成要素のブロック図である。
【図３Ａ】様々な実施形態による、一方のコンピューティングデバイスを他方のコンピューティングデバイスに対して認証する方法を例示するプロセスフロー図である。
【図３Ｂ】様々な実施形態による、一方のコンピューティングデバイスを他方のコンピューティングデバイスに対して認証する別の方法を例示するメッセージフロー図である。
【図３Ｃ】様々な実施形態による、方法３００の一部として第１のコンピューティングデバイスによって実行される動作の方法３００ａを例示する図である。
【図３Ｄ】様々な実施形態による、方法３００の一部として第２のコンピューティングデバイスによって実行される動作の方法３００ｂを例示する図である。
【図３Ｅ】様々な実施形態による、方法３００の一部として第３のコンピューティングデバイスによって実行される動作の方法３００ｃを例示する図である。
【図４】様々な実施形態による、共有データセットを動的に改変する方法４００を例示する図である。
【図５】様々な実施形態による、データセット５００の部分の要素の間の関係を例示する図である。
【図６Ａ】様々な実施形態による、共有データセット６００ａ〜６００ｄの部分の要素の間の関係を例示する図である。
【図６Ｂ】様々な実施形態による、共有データセット６００ａ〜６００ｄの部分の要素の間の関係を例示する図である。
【図６Ｃ】様々な実施形態による、共有データセット６００ａ〜６００ｄの部分の要素の間の関係を例示する図である。
【図６Ｄ】様々な実施形態による、共有データセット６００ａ〜６００ｄの部分の要素の間の関係を例示する図である。
【図７】様々な実施形態による、第１のコンピューティングデバイスによって第２のコンピューティングデバイスを認証する方法７００を例示する図である。
【図８】様々な実施形態による、方法７００の一部として第１のコンピューティングデバイスによって実行される動作の方法８００を例示する図である。
【図９】様々な実施形態による、方法７００の一部として第１のコンピューティングデバイスによって実行される動作の方法９００を例示する図である。
【図１０】様々な実施形態による、方法７００の一部として第２のコンピューティングデバイスによって実行される動作の方法１０００を例示する図である。
【図１１】様々な実施形態による、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスを双方向に認証する方法１１００を例示する図である。
【図１２】様々な実施形態による、第１のコンピューティングデバイスを第２のコンピューティングデバイスに対して認証する方法１２００を例示する図である。
【図１３】様々な実施形態による、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスを双方向に認証する方法１３００を例示する図である。
【図１４】様々な実施形態を実施するのに適したモバイル無線コンピューティングデバイスの構成要素のブロック図である。
【図１５】様々な実施形態を実施するのに適したポータブル無線通信デバイスの構成要素のブロック図である。
【図１６】様々な実施形態を実施するのに適したサーバデバイスの構成要素のブロック図である。
【発明を実施するための形態】
【００１８】
様々な実施形態を添付図面を参照して詳細に説明する。可能な限り、図面全体を通して同じ参照番号を使用して、同じまたは類似する部品を参照する。特定の実施例および実装形態に対して行われる参照は、例示の目的であり、本発明または特許請求の範囲の範囲を限定することを意図するものではない。
【００１９】
様々な実施形態は、方法、および該方法を実施するように構成されたコンピューティングデバイス（または他のデジタルもしくはプログラマブルデバイス）を提供し、該方法は、共有秘密および静的情報のパラダイムに依存しない、コンピューティングデバイスと関連付けられた動的情報に基づいて、コンピューティングデバイスを、通信システム内の他のコンピューティングデバイスに対して認証することを可能にする。
【００２０】
各コンピューティングデバイスの一時的アイデンティティを周期的または非周期的に変更しているので、および各コンピューティングデバイスは、新しい一時的アイデンティティを（同期的または非同期的に）送信および／または受信する他のコンピューティングデバイスと周期的または非周期的に通信しているので、様々な実施形態は、通信のセキュリティを高めることによって、任意の通信ネットワークまたは任意の電子通信システムのセキュリティ機能を高める。様々な実施形態はまた、アクセスおよび／またはコピーによる攻撃に脆弱であり得る、共有秘密などの、容易に危殆化される静的識別情報に依存することなく、関与するコンピューティングデバイスのアイデンティティを確実に認証することによって、任意の通信ネットワークのセキュリティ機能も高める。
【００２１】
「コンピューティングデバイス」という用語は、様々な実施形態の方法を実行するために、プログラマブル命令で構成することができる、任意のプログラマブルコンピュータまたはプロセッサを指す。コンピューティングデバイスとしては、パーソナルコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、携帯電話、スマートフォン、インターネット使用可能な携帯電話、Ｗｉ−Ｆｉ使用可能な電子デバイス、携帯情報端末（ＰＤＡ）、ウェアラブルコンピューティングデバイス（スマートウォッチ、ネックレス、メダリオン、および着用するように構成された、ウェアラブルアイテムに取り付けられた、またはウェアラブルアイテムに埋め込まれた、任意のコンピューティングデバイスを含む）、無線アクセサリデバイス、メモリスティック、ドングル、無線周辺デバイス、モノのインターネット（ＩｏＴ）デバイス、サーバ、ルータ、ゲートウェイなどの（いわゆる「クラウド」コンピューティングデバイスを含む）ネットワーク要素、ならびに近距離無線（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｐｅａｎｕｔ、ＺｉｇＢｅｅ、および／またはＷｉ−Ｆｉ無線など）を備えた類似する電子デバイス、および／またはワイドエリアネットワーク接続（例えば、無線ワイドエリアネットワークトランシーバ、または通信ネットワークへの有線接続を使用して通信するために、１つ以上のセル無線アクセス技術を使用する）、のうちの１つまたはすべてを含んでもよい。
【００２２】
本明細書で使用される場合、「情報取引」という用語は、関与するデバイスのアイデンティティを認証することができる任意の通信または他の情報の交換を指す。いくつかの実施形態において、本明細書で説明される方法を実施するように構成された方法およびコンピューティングデバイスは、ヘルスケア記録管理、セキュアな通信（例えば、政府機関、ビジネス機関、情報機関など）、公的記録管理システム、投票システム、金融サービスシステム、セキュリティ仲介システム、およびその他多数などの、関与するデバイスのアイデンティティを認証することができる様々なコンテキストにおいて実装することができる。いくつかの実施形態において、本明細書で説明される方法を実施するように構成された方法およびコンピューティングデバイスは、ルータ、サーバ、ＩｏＴハブ、または別の類似するデバイスなどの、ＩｏＴデバイスにおいて、またはＩｏＴデバイスおよびＩｏＴデバイスコントローラ間に実装することができる。特に、様々な実施形態は、ＩｏＴ環境に実装したときに、人間の介入を伴うことなく、分散型サービス妨害（ＤＤｏＳ）攻撃を防ぐ際に特に使用するものであり得る。いくつかの実施形態において、本明細書で説明される方法を実施するように構成された方法およびコンピューティングデバイスは、自律車両、半自律車両、および遠隔誘導車両に実装することができる。いくつかの実施形態において、本明細書で説明される方法を実施するように構成された方法およびコンピューティングデバイスは、情報取引におけるコンピューティングデバイスの関与を認証することができる。いくつかの実施形態において、本明細書で説明される方法を実施するように構成された方法およびコンピューティングデバイスは、拒否不応な商取引を行うことを可能にするために、商取引のコンテキストにおいて実装することができ、該商取引では、特定のコンピューティングデバイスの関与を認証することができるので、当事者は、その後の取引（例えば、カードを提示しない金融取引）への関与を拒絶することができなくなり得る。
【００２３】
「構成要素」、「システム」などの用語は、特定の動作または機能を行うために構成された、限定されないが、ハードウェア、ファームウェア、ハードウェアおよびソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアなどの、コンピュータ関連のエンティティを含むことを意図する。例えば、構成要素は、限定されないが、プロセッサ上で動作しているプロセス、オブジェクト、実行可能な、実行スレッド、プログラム、および／またはコンピュータとすることができる。例示として、無線デバイス上で動作するアプリケーションおよび無線デバイス自体はどちらも、構成要素と称することができる。１つ以上の構成要素は、プロセス内に存在させることができ、ならびに／または実行スレッドおよび構成要素は、１つのプロセッサもしくはコア上にローカライズすること、および／または２つ以上のプロセッサまたはコア間に分散させることができる。加えて、これらの構成要素は、そこに記憶された様々な命令および／またはデータ構造を有する、様々な非一時的コンピュータ可読媒体から実行することができる。構成要素は、ローカルおよび／もしくはリモートのプロセス、機能、またはプロシージャコール、電子信号、データパケット、メモリ読み出し／書き込み、ならびに他の既知のコンピュータ、プロセッサ、および／またはプロセス関連の通信方法を通して通信することができる。
【００２４】
とりわけ、デジタル環境は、世界規模に至る迅速な通信および情報取引を可能にする。しかしながら、現在のデジタル環境は、不安定なセキュリティ基盤、すなわち、静的共有秘密の古いパラダイムに依存する。我々が２０世紀後半まで数千年にわたって運用してきた純粋な人間環境と、我々が今日運用しているデジタル環境との間には、数多くの根本的な違いが存在する。
【００２５】
さらに、デジタル環境は、秘密を経時的に保つことが困難なものである。秘密性が失われると、以前秘密であった情報が迅速に急増し、完全な忠実度を伴い、攻撃者によって使用される場合がある。大量のデータ漏洩をもたらすデジタルシステムセキュリティの崩壊は、ほとんどありふれたものになっており、そうした崩壊の発生の頻度は、加速度的に増加している。
【００２６】
実際に、サイバーセキュリティ産業の出現は、一般に、デジタル環境全体を通して、セキュリティに特有の障害を示す。一例としてではあるが、アイデンティティ詐欺などのサイバー犯罪は、最も急速に拡大している犯罪のうちの１つであり、能力および規模における脅威が加速度的に増加し続けている。スマートフォン、ウェアラブルコンピュータ、ゲーミングシステム、モノのインターネットデバイスなどを含む、ネットワーク接続されたデバイスの増殖は、デジタルセキュリティリスクの規模および範囲を増幅させている。例えば、これらのデバイスの多くは、それ自体を信頼できなくなり、または信頼できないモバイルネットワークと相互作用し、そのようなデバイスのほとんどが、使い慣れたデスクトップおよびラップトップの従来のセキュリティ機能を行うためのコンピューティングパワーを有さない。
【００２７】
大部分の違反インシデントにおいては、信頼の違反または共有秘密（例えば、信用証明書）の悪用が障害の根元にある。特定の事例において、特定のセキュリティ障害は、信頼およびセキュリティを提供するために用いられた技術の強度不足に起因する場合があるが、一般に、デジタル環境におけるセキュリティ障害は、様々な技術展開を使用する多様な産業において発生している。セキュリティ障害は、全体的に発生し、また、任意の特定の展開された技術だけでなく、その適用および使用に固有の実行法およびプロシージャにも起因する。したがって、デジタル環境におけるセキュリティ障害は、障害が生じた共有秘密の信頼パラダイムの根元のストラテジにおいてより根本的で特有のものに起因する。
【００２８】
デジタルセキュリティの現在のパラダイムは、以下の少なくとも３つの根本的な理由により、すなわち、（１）現在のパラダイムは信頼に基づいており、信頼が障害を生じるものであること、（２）現在のパラダイムは、安定したまたは静的な共有秘密に基づくが、秘密は、秘密のままでなく、許可されたユーザと同じように、攻撃者にとっても有用であること、および（３）大多数の情報取引が、匿名のパーティ間にあること、により障害が生じる。したがって、「高信頼のシステム」は、それらが侵入可能かつ脆弱であるので、最終的には機能しない。さらに、現在の「高信頼のシステム」は、時間（または期間）と共に変化しない静的または永続的情報の使用、およびポリシーの障害および人的要因（例えば、ソーシャルエンジニアリング、不注意など）に大部分が起因する侵入および搾取に脆弱である。
【００２９】
さらに、コンピューティングデバイスの見せかけのアイデンティティの検証は、多数の電子通信の重要な態様である。しかしながら、共有秘密の脆弱性、ならびに伝送における通信の脆弱性は、信頼性の高いデバイスアイデンティティ検証のためのデジタル証明書または他の類似する情報の信頼性を劇的に弱体化する。
【００３０】
本出願に開示される様々な実施形態は、デジタルシステムのセキュリティの脆弱性に対処し、かつデバイスツーデバイス通信のための、ならびに強化されたユーザ認証のための電子セキュリティを提供する。様々な実施形態は、デジタル証明書の連続的なリフレッシュおよび変更を提供するための、コンピュータ実装の方法を提供する。様々な実施形態は、高信頼のシステムが侵入可能かつ脆弱であるので、そのようなシステムが最終的には明らかにセキュアでなくなるという仮定を取り入れている。様々な実施形態は、少なくともデジタル環境が本質的に信頼できないという理由で、様々なネットワーク要素の中でいかなる信頼も仮定しない、デジタル通信システムを提供する。サイバーセキュリティ分野の出現は、この固有の障害に対する応答である。
【００３１】
様々な実施形態は、攻撃者によって有効に使用することができないそのような限られた期間の認証情報を生成および共有することによって、デバイスがネットワークで認証される方法を変更する。共通の脅威ベクトルは、典型的に、コンピューティングパワーを使用してコード化された認証情報を解読するのではなく、認証情報の盗難である。様々な実施形態において、認証情報を使用することができる期間は、数分の期間などの、比較的に短くすることができる。これは、いくつかの事例において最長で数十年の期間を有し得る従来の証明機関（ＣＡ）による証明書の有効期間とは対照的である。いくつかの実施形態において、認証情報の期間は、攻撃者が情報を取得し、利用するのにかかる時間よりも短くなるように決定することができる。様々な実施形態は、認証情報が潜在的に脆弱であること、および攻撃者によって取得され得るという仮定に基づいており、認証情報の有効期間は、敵対者がそれを発見し、利用することができる前にその認証の有効性が期限切れになるように決定することができる。例えば、最先端技術のコンピューティング能力に基づいて、ブルートフォースを使用して、共通して使用される暗号化ハッシュ（例えば、ＭＤ５、ＳＨＡ２など）を解読するために必要な時間を決定することができる。様々な実施形態では、コンピューティング技術の向上により認証情報を発見し、解読するために必要な時間を低減させるので、そのような情報の有効期間を変更することができる。いくつかの実施形態において、本システムは、暗号化された情報を解読するために必要な決定された時間よりも短い、認証情報の有効期間を決定することができる。
【００３２】
認証情報の比較的短い有効期間は、そのような認証情報が推測され、アクセスまたは「ハッキング」され、次いでシステムを攻撃する手段として使用される可能性を低減させる。そのような認証情報を使用することで、無許可のデバイスが以前に許容可能であったユーザ名およびパスワード、証明書、または他のアクセス信用証明書を提示するときであっても、システムが、所望のデバイスだけを許可して、そのような無許可のデバイスに対してアクセスを拒否することを可能にする。したがって、様々な実施形態は、既存のセキュリティ技術および構成要素が、正当なユーザログイン信用証明書の完全なコピーを取得した攻撃者によるデバイスまたはシステムへのアクセスを排除することをさらに可能にする。様々な実施形態は、クラウドセキュリティなどのワンタイムパスワードを利用する他のセキュリティアプリケーションに、ならびにモノのインターネット（ＩｏＴ）デバイスを含む広範囲にわたるデバイスに適用することができる。様々な実施形態は、分散型サービス妨害（ＤＤｏＳ）攻撃を行う際の攻撃の標的またはリクルートメントの従属関係であり得るコンピューティングデバイスなどの、様々なデバイス間の通信を認証するために適用することができる。
【００３３】
様々な実施形態において、コンピューティングデバイスは、各コンピューティングデバイスが、コンピューティングデバイスの動的および／または静的状態の態様を（単独で、または組み合わせて）使用して、短命の「一時的アイデンティティ」を周期的に（または非周期的に）生成する、双方向性のスリーウェイ認証を行う。各コンピューティングデバイスによって生成される一時的アイデンティティは、２つの（またはそれ以上の）他のコンピューティングデバイスによって交換および認証することができる。一時的アイデンティティは、ハッシング技術、更新されたキーストーン、更新されたトラストアンカー、クライアント証明書マッピング、アクティブディレクトリ、インターネット情報サービス（ＩＩＳ）クライアント証明書マッピング、デジタル証明書、高信頼のサードパーティ、および他のセキュリティ機構を含む、既存のセキュリティ方法を用いて使用することができる。様々な実施形態は、許可されたユーザの信用証明書を保有する無許可のユーザによるコンピュータネットワークまたはオンライン環境へのログインの試行などの、許可されたコンピューティングデバイスになりすます試みを打破することができる。様々な実施形態はまた、任意の種類の任意のネットワークのデジタルデバイス間のセキュアな通信も提供することができる。したがって、様々な実施形態は、従来の認証技術に共通の脆弱性を排除する、通信ネットワーク上のコンピューティングデバイス間のセキュアで、確かな、かつ認証された通信を提供することができる。
【００３４】
様々な実施形態において、一時的アイデンティティは、１つ以上の変更、または一時的アイデンティティを生成するコンピューティングデバイスの動的状態、またはコンピューティングデバイス内のセンサ（例えば、カメラ、マイクロホン、加速度計など）によって取得される動的情報などに少なくとも部分的に基づいて、動的に生成することができる。いくつかの実施形態において、コンピューティングデバイスは、それ自体の一時的アイデンティティを生成することができる。いくつかの実施形態において、認証サーバなどの別のコンピューティングデバイスは、コンピューティングデバイスの一時的アイデンティティを生成することができ、一時的アイデンティティは、コンピューティングデバイスにプッシュすること、またはコンピューティングデバイスによってサーバからプルすること、または別のソースから（例えば、通信ネットワークを通じて）獲得することができる。
【００３５】
いくつかの実施形態において、所与の一時的アイデンティティは、一度だけ使用することができる。そのような実施形態において、使用した一時的アイデンティティは、その後で使用できないようにすることができる。
【００３６】
様々な実施形態において、時間は、一時的アイデンティティの重要な要素である。例えば、一時的アイデンティティの期限切れは、秘密が保たれると予期することができる、合理的な時間の長さに制限することができる。様々な実施形態において、コンピューティングデバイスは、攻撃者が一時的アイデンティティを推測または獲得し、それを使用して安全なネットワークへのアクセスまたは安全な取引の完了などの攻撃を成功させるために必要とされる時間よりも短い時間の長さにわたって、一時的アイデンティティが有用であるように、一時的アイデンティティの時間限界または時間期間を決定することができる。時間限界または時間期間を超えると、一時的アイデンティティは、いかなるコンピューティングデバイスの認証にも使用できなくなり得る。一時的アイデンティティの期間は、所与の通信セッション（例えば、ＶＰＮセッションまたはインターネットショッピングおよび購入セッション）の長さよりも短くすることができる。そのような状況においては、通信セッション中にコンピューティングデバイスに対して新しい一時的アイデンティティを生成し、古い一時的アイデンティティの期限切れの後に、通信セッション内でのデータ交換をセキュアにする際に使用することができる。
【００３７】
いくつかの実施形態において、一時的アイデンティティを生成する際に使用されるコンピューティングデバイスの生成の動的態様は、頻繁に、または連続的に変更し、それにより、各一時的アイデンティティは、異なる（すなわち、変更された）データに基づく。そのような実施形態において、各生成された一時的アイデンティティは、一時的アイデンティティが生成される時点で、生成するコンピューティングデバイスの動的状態の「スナップショット」を表す一意のデータ（データストリングによって表すことができる）を含んでもよい。様々な実施形態は、一意の動的証明書を生成するための基礎として、常に変更される１つ以上の条件を参照することによって生成される一意のデータ（または一意のデータストリング）を使用する。結果として、攻撃者が偽のアイデンティティを生成しようとする際に、一時的アイデンティティを生成するための基礎を発見することは極めて困難である。
【００３８】
いくつかの実施形態において、コンピューティングデバイスは、情報を交換すること、または別様に、各コンピューティングデバイスが新しい一時的アイデンティティを生成することができるタイミングをネゴシエートすることができる。いくつかの実施形態において、コンピューティングデバイス（例えば、サーバ）は、別のコンピューティングデバイス（例えば、ユーザデバイス）に、新しい一時的アイデンティティを生成するよう指示することができる。そのような新しい一時的アイデンティティの生成の調整は、拡張されたデジタル通信セッション中に、一時的アイデンティティの高頻度な変更を可能にすることができる。
【００３９】
いくつかの実施形態において、コンピューティングデバイスは、小単位の静的情報を記憶することができる、一時的アイデンティティモジュールなどのモジュールを含んでもよい。情報としては、テキスト、画像、生体情報などを挙げることができる。いくつかの実施形態において、コンピューティングデバイスは、動的情報と静的情報とを組み合わせて、一時的アイデンティティを生成することができる。動的情報を静的情報に加えることによって、少しの要素を改変することでストリング情報全体を変更することができる。さらに、組み合わせた動的情報および静的情報のハッシュは、データセット全体の改変を必要とすることなく、静的情報単独のハッシュと異なる。
【００４０】
いくつかの実施形態において、通信システムに関与する各コンピューティングデバイスは、一時的アイデンティティを生成することができる。各関与する通信デバイスは、その生成された一時的アイデンティティを認証サーバに送信することができ、該認証サーバは、リアルタイムで生成された一時的アイデンティティのリポジトリとして機能することができる。例えば、２つのエンドポイントのコンピューティングデバイス（例えば、第１のコンピューティングデバイスおよび第２のコンピューティングデバイス）は、それぞれ、一時的アイデンティティを生成することができ、また、それらの生成された一時的アイデンティティを、他のコンピューティングデバイスに、および認証サーバ（例えば、第３のコンピューティングデバイス）に送信することができる。いくつかの実施形態において、第１のコンピューティングデバイスは、認証サーバが第２のコンピューティングデバイスの一時的アイデンティティを認証するよう要求するクエリを、第１のコンピューティングデバイスが第２のコンピューティングデバイスから受信した一時的アイデンティティを含む認証サーバに送信することができる。第３のコンピューティングデバイスは、第２のコンピューティングデバイスおよび第１のコンピューティングデバイスの両方から受信した第２のコンピューティングデバイスの一時的アイデンティティを比較することができる。一時的アイデンティティが一致すると判定することに応答して、第３のコンピューティングデバイスは、第２のコンピューティングデバイスの認証成功の指示を第１のコンピューティングデバイスに送信することができる。いくつかの実施形態において、認証成功の指示は、中間者攻撃を打破するように構成された方法を使用して、第３のコンピューティングデバイスによって送信することができる。様々な実施形態において、第３のコンピューティングデバイスは、限定されないが、金融サービスシステム、セキュリティ仲介システム、ヘルスケア記録管理システム、政府機関、ビジネス機関、情報機関などのセキュアな通信システム、公的記録システム（例えば、火器登録、自動車局など）、投票システム、およびモノのインターネットデバイスの中、を含む、様々な用途のリポジトリとして機能することができる。
【００４１】
一時的アイデンティティが一致しないと判定することに応答して、第３のコンピューティングデバイスは、第２のコンピューティングデバイスの認証失敗の指示を第１のコンピューティングデバイスに送信することができる。いくつかの実施形態において、認証失敗の指示は、中間者攻撃を打破するように構成された方法を使用して、第３のコンピューティングデバイスによって送信することができる。
【００４２】
いくつかの実施形態において、認証サーバ（第３のコンピューティングデバイス）はまた、一時的アイデンティティを生成して、第３のコンピューティングデバイスの一時的アイデンティティを第１および第２のコンピューティングデバイスに送信することもでき、また、第１および第２のコンピューティングデバイスは、第３のコンピューティングデバイスの一時的アイデンティティを比較して、それら自体が第３のコンピューティングデバイスのアイデンティティを認証することができる。
【００４３】
いくつかの実施形態において、第３のコンピューティングデバイスは、その一時的アイデンティティと共に、またはその一時的アイデンティティとは別に、新しい一時的アイデンティティを生成するための命令を他のコンピューティングデバイス（例えば、第１および第２のコンピューティングデバイス）に送信することができる。様々な実施形態において、通信システムに関与する各コンピューティングデバイスは、周期的または非周期的に新しい一時的アイデンティティを生成することができる。進行中の通信セッション中に、通信セッションをセキュアにする１つ以上の現在の一時的アイデンティティの期限切れの前に、そのような新しい一時的アイデンティティを十分に生成して、２つのコンピューティングデバイスおよび第３のコンピューティングデバイスが、新しい一時的アイデンティティの交換および認証を完了することを可能にし、それにより、新しいアイデンティティによって、通信セッションを中断なくかつセキュアに続けることができる。いくつかの実施形態において、各新しい一時的アイデンティティは、単回使用に設定することができ、それにより、別のコンピューティングデバイスから一時的アイデンティティを受信する各コンピューティングデバイスは、一時的アイデンティティを一度だけ使用する（相互作用する、認証する、処理する、ハッシュするなど）ことができ、その後に、受信した一時的アイデンティティは使用できなくなる。同じく、ライフタイムは、攻撃者が一時的アイデンティティを取得して使用することができる期間よりも短い時間期間にわたって、各新しい一時的アイデンティティに設定することができる。
【００４４】
様々な実施形態は、攻撃が成功した後に、セキュリティを素早く復元するように動作することができる。様々な実施形態において、システム内の関与する認証サーバまたは別のデバイスへの攻撃の成功は、期間を利用できる前に期間がすべて期限切れになるため、攻撃者に対していかなる持続的な価値もないので、いかなる相当な期間にわたってもシステムセキュリティを危殆化しない。したがって、認証システムは、認証サーバを攻撃することによって危殆化することができない。様々な実施形態は、永続的で持続可能であり、かつあらゆる構成要素の攻撃および危殆化に成功する可能性のある環境における動作に成功する通信システムを提供する。
【００４５】
いくつかの実施形態において、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、（ＭＤ５、ＳＨＡ１、またはＳＨＡ２などのハッシングアルゴリズムを使用して）以前に共有したデータハッシュに基づいて、高信頼の関係を確立することができる。以前に共有したデータハッシュは、例えば、記憶および共有した時間に基づくワンタイムパスワードアルゴリズム（例えば、Ｉｎｔｅｒｎｅｔ  Ｅｎｇｉｎｅｅｒｉｎｇ  Ｔａｓｋ  Ｆｏｒｃｅ  ＲＦＣ６２３８、Ｔｅｍｐｏｒａｒｙ  Ｏｎｅ−Ｔｉｍｅ  Ｐａｓｓｗｏｒｄ（ＴＯＴＰ）など）から作成することができる。そのような以前に共有したデータハッシュは、第１のコンピューティングデバイスおよび／または第２のコンピューティングデバイスのメモリに記憶することができる。いくつかの実施形態において、第２のコンピューティングデバイスが第１のコンピューティングデバイスからアカウントまたはセッション識別子と関連付けることができるユーザ名およびパスワードなどのログインデータを受信したときに、第２のコンピューティングデバイスは、情報取引セッションまたは通信セッションなどのセッションを開始することができる。そのような実施形態において、ログインデータは、アカウントまたはセッションを識別するために使用することができるが、ログインデータは、いかなるコンピューティングデバイスまたはユーザの通信セキュリティまたは認証の目的でも使用することができない。
【００４６】
いくつかの実施形態において、第１のコンピューティングデバイスは、一時的アイデンティティを生成し、そして、ログインデータと共に、またはログインデータとは別に、一時的アイデンティティを第２のデバイスに送信することができる。第１のコンピューティングデバイスは、第１のコンピューティングデバイスの、またはそれによって決定した動的態様および／または静的態様に基づいて、一時的アイデンティティを生成することができる。いくつかの実施形態において、第１のコンピューティングデバイスの動的態様としては、クロック時間、チップ状態、レジスタ状態、コンピューティングデバイスのセンサによって受信または検出した情報（例えば、加速度計、光学センサ、温度、湿度など）、全地球位置測定システム（ＧＰＳ）デバイスまたはＷｉＦｉ信号からの位置情報、または第１のコンピューティングデバイスの動的態様に基づく任意の他のデータソースなどの、比較的迅速に変更される第１のコンピューティングデバイスの態様を挙げることができる。いくつかの実施形態において、第１のコンピューティングデバイスの決定された動的態様は、カメラによってキャプチャされた画像またはビデオクリップ、マイクロホンによってキャプチャされた周囲音のサウンドクリップ、カメラおよびマイクロホンによってキャプチャされたオーディオビデオクリップ、または第１のコンピューティングデバイスの環境または周囲条件に関する任意の他の情報を含んでもよい。いくつかの実施形態において、動的態様は、外部センサおよびランダム情報の外部ソースなどの、ランダムであり、かつ頻繁に変更される他のソースから取得することができる。
【００４７】
第２のコンピューティングデバイスは、認証クエリを、認証サーバまたは認証局として機能することができる第３のコンピューティングデバイスに送信することができる。
【００４８】
いくつかの実施形態において、認証クエリは、第１のコンピューティングデバイスによって生成された一時的アイデンティティを含んでもよい。いくつかの実施形態において、認証サーバは、第１のコンピューティングデバイスの一時的アイデンティティを記憶することができる。
【００４９】
第２のコンピューティングデバイスからの認証クエリに基づいて、第３のコンピューティングデバイスは、認証クエリを第１のコンピューティングデバイスに送信することができる。第３のコンピューティングデバイスからの認証クエリに応答して、第１のコンピューティングデバイスは、第１のコンピューティングデバイスの一時的アイデンティティを第３のコンピューティングデバイスに送信することができる。いくつかの実施形態において、第１のコンピューティングデバイスは、第１のコンピューティングデバイス一時的アイデンティティのハッシュを生成することができ、かつ第１のコンピューティングデバイスの一時的アイデンティティの生成されたハッシュを第３のコンピューティングデバイスに送信することができる。
【００５０】
いくつかの実施形態において、第３のコンピューティングデバイスは、第２のコンピューティングデバイスから受信した第１のコンピューティングデバイスの一時的アイデンティティと、第１のコンピューティングデバイスから受信した第１のコンピューティングデバイスの一時的アイデンティティとを比較することができる。２つの受信した一時的アイデンティティが一致すると判定することに応答して、第３のコンピューティングデバイスは、第１のコンピューティングデバイスの認証成功の指示を第２のコンピューティングデバイスに送信することができる。２つの受信した一時的アイデンティティが一致しないと判定することに応答して、第３のコンピューティングデバイスは、第１のコンピューティングデバイス認証失敗の指示を第２のコンピューティングデバイスに送信することができる。
【００５１】
いくつかの実施形態において、第３のコンピューティングデバイス（例えば、認証サーバ）は、成功および失敗したログイン試行の監査証跡を維持することができる。いくつかの実施形態において、監査証跡は、例えば、各試行時間、第１および第２のコンピューティングデバイス（および任意の他の関与するコンピューティングデバイス）の識別子、使用頻度、認証失敗の頻度、および他の詳細を識別するメタデータを含んでもよい。監査証跡は、リスク分析に使用することができ、また、ダッシュボードまたは他の報告機構を介して表示および／またはアクセスすることができる。様々な実施形態において、関与するコンピューティングデバイスのいずれかは、監査証跡を保つことができる。いくつかの実施形態において、一時的アイデンティティのコピーは、監査証跡の一部として記憶することができる。そのような記憶された一時的アイデンティティは、認証の目的で使用することができず、関与するコンピューティングデバイスを識別するために、ならびに特定のコンピューティングデバイスによる特定の情報取引への関与を確認するために使用することができる。いくつかの実施形態において、監査証跡に記憶された情報は、例えば、いくつかの様態で攻撃の標的にされたコンピューティングデバイスを識別するために使用することができる。
【００５２】
様々な実施形態は、共有秘密および静的情報の現在のパラダイムとは対照的に、各コンピューティングデバイスの一時的および／または動的情報に基づいて、通信システム内のコンピューティングデバイスのアイデンティティを認証することができるシステムを提供する。様々な実施形態において、関与するコンピューティングデバイスは、第２のコンピューティングデバイスから、および第３のコンピューティングデバイス（例えば、認証サーバ）から受信することができる短命な一時的アイデンティティを使用して、第２のコンピューティングデバイスのアイデンティティを認証することができる。様々な実施形態は、静的証明書などの静的情報ユニットの秘密を保つことに基づく現在のセキュリティパラダイムとは対照的である。各コンピューティングデバイスの一時的アイデンティティを頻繁に変更し、および各コンピューティングデバイスは、新しい一時的アイデンティティを送信および／または受信する他のコンピューティングデバイスと周期的（または非周期的）に通信しているので、様々な実施形態は、通信のセキュリティを高めることによって、任意の通信ネットワークまたは任意の電子通信システムの機能を高める。敵対者は、任意の２つの通信デバイス間の通信を危殆化するために、３つの通信経路に−例えば、第１および第２のコンピューティングデバイス間に、第１および第３のコンピューティングデバイス間に、ならびに第２および第３のコンピューティングデバイス間に−同時かつ同期的に侵入することが必要になる。
【００５３】
様々な実施形態は、いかなる現在存在するインフラストラクチャの実質的な変更または改変も必要とすることなく、様々なコンピューティングデバイスおよび／または通信ネットワークもしくはシステムを使用して実施することができる。様々な実施形態はまた、アクセスおよび／またはコピーによる攻撃に対して脆弱であり得る共有秘密などの静的識別情報に依存することなく、関与するコンピューティングデバイスのアイデンティティを確実に認証することによって、あらゆる通信ネットワークの機能も高める。
【００５４】
様々な実施形態において、様々な方法を行うために構成されたコンピューティングデバイスは、コンピューティングデバイスの盗難またはクローニングが生じた場合に、許可を解除すること、またはシステムにアクセスすることをブロックすることができる。
【００５５】
様々な実施形態に関連するさらなる詳細は、２０１６年１１月１７日に出願された米国仮特許出願第６２／４２３，５９３号、名称「Ｓｙｓｔｅｍｓ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｍｕｌｔｉｐａｔｈ  Ａｕｔｈｅｎｔｉｃａｔｉｏｎ」、および２０１６年１２月３０日に出願された米国特許出願第１５／３９５，３３６号に記載されており、これらはどちらも、参照によりそれらの全体が本明細書に組み込まれる。
【００５６】
様々な実施形態は、２つ以上のコンピューティングデバイスの多重経路動的認証ためのシステムおよび方法を含む。様々な実施形態は、動的に変更される共有情報コンテキストを利用することによって、通信ネットワーク上のコンピューティングデバイスの検証を強化および改善する。情報コンテキストは、例えば、動的に変更される共有データセットを含んでもよい。いくつかの実施形態において、２つのコンピューティングデバイスは、例えば上で説明したように一時的アイデンティティのコピーを記憶することによって、経時的に共有データセットをコンパイルすることができる。いくつかの実施形態において、データセットは、経時的に任意のタイプのデータファイルまたはデータ要素を使用して確立することができる。様々な実施形態において、２つのコンピューティングデバイスは、ユーザデバイス、ネットワークサーバ、認証サーバ、または別のコンピューティングデバイスなどの、任意の２つのエンドポイントデバイスをコンピューティングネットワークに含んでもよい。共有データセットは、経時的にコンパイルすることができ、また、コンピューティングデバイスによって、時々、周期的に、および／またはトリガイベントの発生時に変更することができる。共有データセットを変更または改変することは、データセットの１つ以上の部分を再順序付けすること、情報をデータセットに加えること、データセットから情報を減じること、および／または共有データセットの１つ以上の部分を変換することを含んでもよい。
【００５７】
共有データセットは、２つ以上の部分を含んでもよい。データセットの各部分は、２つ以上の要素を含んでもよい。いくつかの実施形態において、コンピューティングデバイスは、共有データセットの２つ以上の要素間の関係を決定することができる。２つ以上の要素間の関係は、時間差、場所差、位置差、色差、ピッチ差、周波数差、または別の差などの、２つ以上の要素間の比較差を含んでもよい。２つ以上の要素間の関係はまた、相対時間、場所、位置、色、ピッチ、周波数または別の差などの、２つ以上の要素の各々と第３の要素との比較差も含んでもよい。
【００５８】
いくつかの実施形態において、共有データセットは、複数のファイルを含む動的に改変された複雑な共有データセットである、関連する動的コンテキスト型データベース（ＲＤＣＢＤ）を含んでもよい。いくつかの実施形態において、複数のファイルは、複数の画像ファイルを含んでもよい。様々な実施形態において、コンピューティングデバイスは、ＲＤＣＢＤが経時的に変更されるように、ＲＤＣＢＤを改変するための、合意に基づく方法を使用することができ、該方法は、両方のコンピューティングデバイスが同じ共有データセットを維持しながらＲＤＣＢＤを改変することを可能にする。いくつかの実施形態において、共有データセットを改変するための方法は、コンピューティングデバイスによって前もって合意することができる。いくつかの実施形態において、共有データセットを改変するための方法は、コンピューティングデバイスによって動的に（例えば、「オンザフライで」）合意することができる。
【００５９】
いくつかの実施形態において、コンピューティングデバイスの１つ以上は、セキュアな通信に対して各ユーザデバイスを認証するために使用することができるルールセットを生成し、１つ以上の他のコンピューティングデバイスに送信することができる。ルールセットは、共有データセットから、選択された要素を識別することができる。いくつかの実施形態において、コンピューティングデバイスは、共有データセットの選択された要素間または要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。
【００６０】
いくつかの実施形態において、コンピューティングデバイスの１つ以上は、セキュアな通信に対して各ユーザデバイスを認証するために使用することができるルールセットを生成し、１つ以上の他のコンピューティングデバイスに送信することができる。いくつかの実施形態において、第１のコンピューティングデバイスは、共有データセットからデータを選択することができる。選択データは、共有データセットの１つ以上の部分の中からの２つ以上の要素を含んでもよい。第１のコンピューティングデバイスは、選択されたデータ要素間の１つ以上の関係を決定することができる。第１のコンピューティングデバイスは、ルールセットを第２のコンピューティングデバイスに送信することができる。ルールセットは、共有データセットから、選択された要素を識別することができる。いくつかの実施形態において、コンピューティングデバイスは、共有データセットの選択された要素間または要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。
【００６１】
１つの例として、共有データセットは、２つ以上の画像ファイルを含むことができ、各画像ファイルは、多数のピクセル（画素）を含んでもよい。各画像ファイルは、タイムスタンプもしくはその他時間情報、画像を取得した位置情報および／またはジオロケーション情報、気象情報などの追加的なデータと関連付けることができる。各ピクセルは、画像内の座標位置、色、強度、光度などの多数の情報要素と関連付けることができる。各ピクセルは、そのそれぞれの画像ファイルの情報と関連付けることができる。したがって、各ピクセルは、変数とみなすことができる、多数の情報要素と関連付けることができる。いくつかの実施形態において、ルールセットは、共有データセットの１つ以上のピクセルを識別する情報を含んでもよい。いくつかの実施形態において、ルールセットは、共有データセットの１つのピクセルを識別する情報と、識別された第１のピクセルおよび関係情報を使用して１つ以上の他のピクセルの識別を可能にする関係情報と、を含んでもよい。
【００６２】
しかしながら、共有データセットは、画像ファイルに限定されず、共有データセットは、識別可能なデータ要素を含んでもよく、および／または２つ以上のデータ要素間または要素の中の関係を決定することができるデータを使用して生成またはコンパイルすることができる。そのようなデータの例としては、ビデオファイル、オーディオファイル、生体試料、位置データ（例えば、全地球測位衛星システムのデータ）などが挙げられる。
【００６３】
いくつかの実施形態において、第１のコンピューティングデバイスは、共有データセットの選択された要素内の情報を使用して、結果を生成することができる。いくつかの実施形態において、生成された結果は、データストリングを含んでもよい。いくつかの実施形態において、生成された結果は、共有データセットの選択された要素内の情報に基づく値を含んでもよい。いくつかの実施形態において、第１のコンピューティングデバイスは、情報の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第１のコンピューティングデバイスは、選択された要素の情報に基づいてデータストリングを生成することができ、かつ選択された要素の情報の変換（例えば、ハッシュの生成）を行って、第１の結果を生成することができる。
【００６４】
様々な実施形態において、共有データセットを有する第２のコンピューティングデバイスは、第１のコンピューティングデバイスからルールセットを受信することができ、かつルールセットおよび共有データセットを使用して、共有データセットからデータ要素を抽出することができる。例えば、第２のコンピューティングデバイスは、ルールセットをその記憶されたバージョンのＲＤＣＤＢに適用して、ピクセルおよびそれらの関連付けられた位置、データセット内の順序、色の数値、密度などを識別することができる。第２のコンピューティングデバイスは、ルールセットの適用により、データストリングを作成することができる。いくつかの実施形態において、生成された結果は、データストリングを含んでもよい。いくつかの実施形態において、生成された結果は、共有データセットの選択された要素内の情報に基づく値を含んでもよい。いくつかの実施形態において、第２のコンピューティングデバイスは、情報の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第２のコンピューティングデバイスは、選択された要素のまたはその中の情報に基づいてデータストリングを生成することができて、かつデータストリングの変換（例えば、ハッシュの生成）を行って、第２の結果を生成することができる。第２のコンピューティングデバイスは、生成された第２の結果を第１のコンピューティングデバイスに送信することができる。
【００６５】
いくつかの実施形態において、第１のコンピューティングデバイスは、第２のコンピューティングデバイスによって生成された第２の結果を受信することができ、かつ（第１のコンピューティングデバイスによって生成された）第１の結果と、（第２のコンピューティングデバイスによって生成され、そこから受信した）第２の結果とを比較して、結果が一致するかどうか判定することができる。結果が一致すると判定することに応答して、第１のコンピューティングデバイスは、第２のコンピューティングデバイスを認証すると判定することができる。第１のコンピューティングデバイスを認証すると、第２のコンピューティングデバイスは、データ交換セッション（例えば、情報取引）を開始することができる。
【００６６】
いくつかの実施形態において、第２のコンピューティングデバイスは、同じまたは異なる共有データセットを使用して、第１のコンピューティングデバイスが第２のコンピューティングデバイスを認証することを可能にする情報を第１のコンピューティングデバイスに提供することができる。例えば、第２のコンピューティングデバイスは、ルールセットおよび結果を第１のコンピューティングデバイスに送信することができ、これらは、第１のコンピューティングデバイスが、共有データセットから結果を取得し、取得および受信した結果を比較して、類似する様態で第２のコンピューティングデバイスを認証することを可能にする。
【００６７】
様々な実施形態において、各コンピューティングデバイスは、独立して互いにコンピューティングデバイスを認証することができる。共有データセット（例えば、ＲＤＣＤＢ）が常に変更されるので、任意の特定のコピーを獲得する敵対者は、おそらく、コンピューティングデバイスが共有データセットを改変する前に、獲得したデータセットを使用することができない。コンピューティングデバイスの１つ以上に存在し続ける敵対者であっても、認証を打破するためには、各関与するコンピューティングデバイス内に同時に存在しなければならなくなる。様々な実施形態において、各コンピューティングデバイスが他のコンピューティングデバイスを独立して、かつ相互に認証しない限り、コンピューティングデバイスの１つ以上は、別のコンピューティングデバイスを認証しないと判定することができ、かつ認証されていないコンピューティングデバイスとのさらなる通信を防止することができる。
【００６８】
様々な実施形態において、３つ以上のコンピューティングデバイスは、グループ通信セッションを確立することができる。いくつかの実施形態において、各コンピューティングデバイスは、グループ通信セッション内のコンピューティングデバイスを互いに独立して認証することができる。いくつかの実施形態において、グループ通信セッションに参加するために、コンピューティングデバイスは、グループ通信セッション内のコンピューティングデバイスを互いに認証する必要があり得る。いくつかの実施形態において、グループ通信セッションを確立するために、各コンピューティングデバイスは、グループ通信セッション内のコンピューティングデバイスを互いに独立して認証する必要があり得る。
【００６９】
様々な実施形態は、様々な通信システム１５０内で実施することができ、その一実施例を図１Ａに例示する。通信システム１５０は、ＩｏＴネットワーク１５４、法律事務所１５６、防衛契約者１５８、下請契約者１６０、銀行１６２、ヘルスケアエンティティ１６４、オンラインコマースエンティティ１６６、およびテレコムエンティティ１６８などの、通信ネットワークを使用して通信することができる様々なエンティティを含んでもよい。エンティティ１５４〜１６８の各々は、互いにおよびそれらの中で通信することができる。エンティティ１５４〜１６８の各々はまた、認証局１５２とも通信することができる。認証局１５２は、下でさらに説明するように、コンピューティングデバイスの認証を可能にするための動作を行うために構成された１つ以上のコンピューティングデバイスを含んでもよい。エンティティ１５４〜１６８は、単に例示的なものであり、通信ネットワーク１５０は、ヘルスケア記録、（例えば、ビジネスまたは政府機関のための）セキュアな通信、公的記録、投票システム、金融サービス、セキュリティ仲介システム、ＩｏＴ通信、商取引、および広範囲にわたる他のコンテキストを取り扱うことができるエンティティを含む、多様なエンティティを含んでもよい。
【００７０】
様々な実施形態は、様々な通信システム１００内で実施することができ、その一実施例を図１Ｂに例示する。図１Ａおよび図１Ｂを参照して、通信システム１００の要素は、エンティティ１５４〜１６８のいずれかにおいて使用することができる。通信システム１００は、コンピューティングデバイス１０２、１０４、１０６、および１０８を含んでもよい。いくつかの実施形態において、コンピューティングデバイス１０２および１０４は、スマートフォン、ラップトップコンピュータ、デスクトップコンピュータなどの、ユーザによって直接使用されるコンピューティングデバイスを含んでもよい。ユーザは、コンピューティングデバイス１０２および１０４に類似する１つを超えるそのようなコンピューティングデバイスを動作させることができることが理解されるであろう。いくつかの実施形態において、コンピューティングデバイス１０２および１０４は、１つ以上のＩｏＴデバイスを含んでもよい。ＩｏＴデバイスの非限定的な例としては、パーソナルまたはモバイルマルチメディアプレイヤー、ゲーミングシステムおよびコントローラ、スマートテレビジョン、セットトップボックス、スマート台所家電製品、スマートライトおよび照明システム、スマート電気メータ、スマート暖房、換気、および空調（ＨＶＡＣ）システム、スマートサーモスタット、ドアおよび窓のロックを含む建物セキュリティシステム、車両用エンターテインメントシステム、車両用診断および監視システム、マシンツーマシンデバイス、ならびに無線通信経路を確立して、無線通信経路を介してデータを送信／受信するためのプログラマブルプロセッサおよびメモリおよび回路を含む類似のデバイスが挙げられる。コンピューティングデバイス１０２および１０４はまた、陸上、海上、空中、または空間内を移動する移動することができる無人車両、自律車両、半自律車両、またはロボット車両も含むこともがきる。コンピューティングデバイス１０２および１０４は、スマート火器または別のプロセッサ搭載武器または武器システムをさらに含んでもよい。
【００７１】
いくつかの実施形態において、コンピューティングデバイス１０６および１０８は、サーバなどのバックエンドコンピューティングデバイスを含んでもよい。いくつかの実施形態において、コンピューティングデバイス１０８は、通信リンク１３０を通じて電子セキュリティシステム１１４と通信することができる。いくつかの実施形態において、コンピューティングデバイス１０６および１０８（および、場合によりコンピューティングデバイス１１４）は、１つのエンティティによって動作させることができる。例えば、ヘルスケアエンティティ１６４またはテレコムエンティティ１６８は、コンピューティングデバイス１０６、１０８、および／または１１４のうちの１つ以上を動作させることができる。いくつかの実施形態において、コンピューティングデバイス１０６、１０８、および１１４は、１つを超えるエンティティによって動作させることができる。
【００７２】
コンピューティングデバイス１０２、１０４、１０６、および１０８、ならびに電子セキュリティシステム１１４の各々は、それぞれの通信リンク１２０、１２２、１２４、１２６、１２８、および１３０を通じて通信ネットワーク１１２と通信することができる。いくつかの実施形態において、通信ネットワーク１１２は、２つ以上の通信ネットワークを含んでもよい。通信リンク１２０、１２２、１２４、１２６、１２８、および１３０は、有線または無線通信リンクを含むことができ、かつコンピューティングデバイス１０２、１０４、１０６、および１０８と、電子セキュリティシステム１１４と、通信ネットワーク１１２間の通信を容易にする追加的なデバイスと、をさらに含んでもよい。そのような追加的なデバイスの例としては、アクセスポイント、基地局、ルータ、ゲートウェイ、有線および／または無線通信デバイス、ならびに光ファイババックホールリンク、マイクロ波バックホールリンク、および他の適切な通信リンクを含んでもよいバックホール通信リンクを挙げることができる。
【００７３】
いくつかの実施形態において、コンピューティングデバイス１０２、１０４、１０６、および１０８、ならびに電子セキュリティシステム１１４は、内部エンタープライズネットワーク、政府機関セキュアネットワーク、仮想プライベートネットワーク（ＶＰＮ）、または別の類似するネットワーク環境などのセキュアネットワークの一部とすることができる。そのようなセキュアネットワークにおいて、通信リンク１２０、１２２、１２４、１２６、１２８、および１３０は、１つ以上の層（すなわち、開放型システム間相互接続（ＯＳＩ）層）の暗号化、および通信リンク１２０、１２２、１２４、１２６、１２８、および１３０に沿った通信をセキュアにするための他の実装形態などの、追加的なセキュリティを含んでもよい。
【００７４】
いくつかの実施形態において、コンピューティングデバイス１０６は、商取引を行うためにＩｏＴデバイスコントローラとして、限定されないが、ヘルスケア記録管理、セキュアな通信、公的記録管理システム、投票システム、金融サービスシステム、セキュリティ仲介システムを含む様々なコンテキスト、ならびに他のコンテキストにおける情報取引に関連する動作を行うために構成することができる。いくつかの実施形態において、コンピューティングデバイス１０８は、下でさらに説明されるように、一時的アイデンティティの生成および／または取得に関連する動作、ならびにコンピューティングデバイス１０２、１０４、および１０６のうちの１つ以上などのコンピューティングデバイスの認証を行うために構成することができる。
【００７５】
いくつかの実施形態において、電子セキュリティシステム１１４は、ネットワーク監視システム、キーロギングシステム、または別の類似するシステムなどの、ネットワーク監視またはネットワークセキュリティ機能を行うために構成することができる。いくつかの実施形態において、電子セキュリティシステム１１４は、通信ネットワーク１１２を使用して、またはそこにアクセスして、無許可のユーザまたは電子侵入者を検出することができ、かつ無許可のユーザまたは電子侵入者の検出の指示をコンピューティングデバイス１０８に送信することができる。いくつかの実施形態において、電子セキュリティシステム１１４は、他の許可されたユーザからの、ネットワーク要素のシステム、メモリ、または構成要素の無許可のアクセス（例えば、「インサイダー」の脅威）監視および／または検出するように構成することができる。いくつかの実施形態において、電子セキュリティシステム１１４は、コンピューティングデバイスが通信システムにアクセスする許可を解除するべきである旨のコマンドまたは指示を受信するように構成することができる。例えば、電子セキュリティシステム１１４は、ネットワーク認証システム、または人的資源システム、または通信システムの許可されたユーザのリストを提供するシステム、または別の類似するシステムの構成要素または要素とすることができる。そのような実施形態において、電子セキュリティシステム１１４は、コンピューティングデバイスの許可を解除またはブロックするべきであることを示すコマンドまたは別のメッセージを受信することができる。いくつかの実施形態において、下でさらに説明するように、無許可のユーザまたは電子侵入者が検出された旨の指示、またはコンピューティングデバイスの許可を解除もしくはブロックするべきである旨の指示、または別の類似する指示を受信することに応答して、コンピューティングデバイス１０８は、新しい一時的アイデンティティを取得するための命令をコンピューティングデバイス１０２、１０４、および１０６のうちの１つ以上に送信することができる。
【００７６】
通信ネットワーク１１２としては、エンティティまたは企業内の通信ネットワーク、および外部通信ネットワーク、公的に利用可能な通信ネットワーク、およびネットワークの組み合わせ、ならびにインターネットを含むインターネットワークを含む、様々な通信ネットワークを挙げることができる。通信ネットワーク１１２は、１つ以上の有線および無線通信プロトコルを使用する通信をサポートすることができる。通信リンク１２０、１２２、１２４、および１２６の各々は、有線または無線双方向通信リンクとすることができる。無線通信プロトコルは、１つ以上の無線アクセス技術（ＲＡＴ）を含んでもよい。無線ＲＡＴの例としては、３ＧＰＰロングタームエボリューション（ＬＴＥ）、マイクロ波アクセスワールドワイドインターオペラビリティ（ＷｉＭａｘ）、符号分割多重アクセス（ＣＤＭＡ）、時分割多重アクセス（ＴＤＭＡ）、ワイドバンドＣＤＭＡ（ＷＣＤＭＡ（登録商標））、移動用汎地球システム（ＧＳＭ（登録商標））、および他のＲＡＴが挙げられる。ＲＡＴの例としてはまた、Ｗｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ、ＬＴＥアンライセンススペクトラム（ＬＴＥ−Ｕ）、ライセンス支援アクセス（ＬＡＡ）、およびＭｕＬＴＥｆｉｒｅ（アンライセンスキャリアバンドのＬＴＥを使用するシステム）も挙げることができる。有線通信プロトコルは、Ｅｔｈｅｒｎｅｔ、ポイントツーポイントプロトコル、ハイレベルデータリンク制御（ＨＤＬＣ）、高度データ通信制御プロトコル（ＡＤＣＣＰ）および、伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）などの１つ以上の有線通信プロトコルを使用することができる、様々な有線ネットワーク（例えば、Ｅｔｈｅｒｎｅｔ、ＴＶケーブル、電話通信、光ファイバ、および他の形態の物理ネットワーク接続）を使用することができる。
【００７７】
通信リンク１２０、１２２、および１２４は、単一のリンクとして例示されるが、通信リンクの各々は、複数の周波数または周波数帯などの複数の有線または無線リンクを含むことができ、これらの各々は、複数の論理チャネルを含んでもよい。加えて、様々な通信リンク１２０、１２２、および１２４の各々は、１つを超える通信プロトコルを利用することができる。
【００７８】
コンピューティングデバイス１０８は、メモリデバイス、データベース、サーバデバイス、データストア１１０、またはデータを記憶することができる別のデバイスと通信することができる。いくつかの実装形態において、データストア１１０は、監査証跡および関連メタデータを記憶することができる。
【００７９】
コンピューティングデバイス１０８は、経時的にデータ入力１４０を受信することができる。データ入力１４０は、別のコンピューティングデバイス（例えば、コンピューティングデバイス１０２、１０４、および１０６）と共有することができるデータセットを生成するためにコンピューティングデバイス１０８が使用することができる情報を含んでもよい。データ入力１４０はまた、例えば、画像、写真、ビデオ、サウンド記録（例えば、音楽、周囲サウンド記録、または別のそのような記録）、生体情報入力（例えば、顔認識スキャン、虹彩スキャン、ＤＮＡ試料、声紋記録、指紋など）、または任意の他のそのようなデータ入力を含んでもよい。
【００８０】
様々な実施形態は、様々な通信システム１８０内で実施することができ、その一実施例を図１Ｃに例示する。図１Ａ〜図１Ｃを参照して、通信システム１５０の要素は、エンティティ１５４〜１６８のいずれかにおいて使用することができる。通信システム１８０は、コンピューティングデバイス１８４、１８６、１８８、１９０、１９２、１９４、および１９６を含んでもよい。コンピューティングデバイス１９０〜１９６は、ファイルサーバ、データベース、または他の類似するネットワークアクセス可能データソースなどのネットワーク要素を含んでもよい。コンピューティングデバイス１８４および１８６は、任意の形態のユーザ操作可能なネットワーク端末を含むことができ、かつコンピューティングデバイス１０２および１０４に類似し得る。コンピューティングデバイス１８６〜１９６は、通信ネットワーク１８２内の要素とすることができ、該要素へのアクセスは、ファイアウォール１９８などの、通信ネットワーク１８２への電子アクセスを保護するように構成されたデバイスによって保護することができる。
【００８１】
ファイアウォール１９８などの従来の通信セキュリティの実装形態は、コンピューティングデバイス１８４などの外部デバイスによる攻撃または搾取からネットワーク１８２を保護することができる。しかしながら、ファイアウォール１９８は、コンピューティングデバイス１８６などの、ファイアウォール１９８の内側にあるデバイスによる攻撃または説明からネットワーク１８２を保護することができない。
【００８２】
様々な実施形態は、コンピューティングデバイス１８８（第３のコンピューティングデバイス１０８に類似し得る）を含むことができ、これは、一時的アイデンティティの生成および／または取得に関連する動作、ならびにコンピューティングデバイス１８４、１８６、１９０、１９２、１９４、および１９６のうちの１つ以上などのコンピューティングデバイスのアイデンティティの認証を行うために構成することができる。
【００８３】
様々な実施形態では、ファイアウォール１９８を用いて、トラフィックの監視、ゲートウェイ機能、ルーティング、および他の類似する機能などのネットワークオペレーションを行うことができるが、ファイアウォール１９８は、コンピューティングデバイス１８４および１８６などのデバイスのセキュリティ機能または認証機能を行うことができない。むしろ、通信システム１８０において、コンピューティングデバイス１８４および１８６は、コンピューティングデバイス１８８と、および／または互いに通信することができ、コンピューティングデバイス１８４および１８６の各々のアイデンティティ、ならびにいくつかの実施形態ではコンピューティングデバイス１８８のアイデンティティの認証を可能にすることができる。同様に、通信システム１８０は、ユーザ名およびパスワードなどの、コンピューティングデバイス１８４または１８６で受信される入力を使用して、見せかけのユーザを、またはユーザへのポインタとして識別することができるが、通信システム１８０は、セキュリティ目的または認証目的のユーザ名およびパスワードなどの信用証明書を使用することができない。むしろ、通信システム１８０は、下でさらに説明するように、各コンピューティングデバイスの一時的情報および／または動的情報に基づいて、コンピューティングデバイス１８４および１８６のアイデンティティを認証することができる。
【００８４】
図２は、様々な実施形態を実施するのに適したコンピューティングデバイス２００の構成要素のブロック図である。図１および図２を参照して、様々な実施形態において、コンピューティングデバイス２００は、コンピューティングデバイス１０２、１０４、１０６、および１０８に類似し得る。
【００８５】
コンピューティングデバイス２００は、プロセッサを含んでもよい。プロセッサ２０２は、主要機能に加えて、様々な実施形態の動作を行うために構成された専用ハードウェア（すなわち、「ファームウェア」）回路、または専用のハードウェア／ファームウェアとプログラマブルプロセッサとの組み合わせに加えて、様々な実施形態、モデムプロセッサなどの専門のプロセッサの動作を実行するためにプロセッサ実行可能命令で構成してもよく、様々な実施形態の動作を実行するためにプロセッサ実行可能命令で構成してもよい。
【００８６】
プロセッサ２０２は、メモリ２０４に接続することができ、該メモリは、プロセッサ実行可能命令を記憶する非一時的コンピュータ可読記憶媒体とすることができる。メモリ２０４は、オペレーティングシステム、ならびにユーザアプリケーションソフトウェアおよび実行可能命令を記憶することができる。メモリ２０４はまた、アレイデータ構造などのアプリケーションデータも記憶することができる。メモリ２０４としては、１つ以上のキャッシュ、リードオンリーメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、スタティックＲＡＭ（ＳＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、または他のタイプのメモリを挙げることができる。プロセッサ２０２は、メモリ２０４への／からの情報の読み出しおよび書き込みを行うことができる。メモリ２０４はまた、１つ以上のプロトコルスタックと関連付けられた命令も記憶することができる。プロトコルスタックは、一般に、無線アクセスプロトコルまたは通信プロトコルを使用した通信を可能にするためのコンピュータ実行可能命令を含む。
【００８７】
プロセッサ２０２はまた、下でさらに説明するように、様々な動作を行うために構成されたユニットのための様々なモジュールと通信することもできる。例えば、プロセッサ２０２は、通信インターフェース２０６、認証モジュール２０８、ハッシングモジュール２１０、一時的アイデンティティモジュール２１２、ハッシュ記憶モジュール２１４、および取引モジュール２１６と通信することができる。モジュール／ユニット２０６〜２１６は、ソフトウェア、およびハードウェア、またはハードウェアとソフトウェアとの組み合わせにおいてコンピューティングデバイス２００に実装することができる。ファームウェア、チップ、システムオンチップ（ＳＯＣ）、様々な実施形態の動作を行うために構成された専用ハードウェア（すなわち、「ファームウェア」）回路、または専用ハードウェア／ファームウェアおよびプログラマブルプロセッサの組み合わせ。プロセッサ２０２、メモリ２０４、および様々なモジュール／ユニット２０６〜２１６は、通信バスまたは任意の他の通信回路またはインターフェースを通じて通信することができる。
【００８８】
通信インターフェース２０６は、通信ネットワーク（例えば、通信ネットワーク１１２）との通信を可能にすることができる、ネットワークインターフェースを含んでもよい。通信インターフェース２０６は、Ｅｔｈｅｒｎｅｔ接続、光ファイバ接続、ブロードバンドケーブル接続、電話回線接続、または他のタイプの有線通信接続などの接続を提供することができる、１つ以上の入力／出力（Ｉ／Ｏ）ポートを含んでもよい。通信インターフェース２０６はまた、無線周波数通信を可能にすることができる、無線ユニットも含んでもよい。
【００８９】
認証モジュール２０８は、ユーザからコンピューティングデバイス２００にログインするために、１つ以上の入力デバイスを提供すること、またはそれと通信することができる。入力デバイスとしては、１つ以上のボタン、スライダ、タッチパッド、キーボード、生体入力デバイス、カメラ、指紋リーダー、および他の類似する入力デバイスを挙げることができる。
【００９０】
一時的アイデンティティモジュール２１２は、コンピューティングデバイス２００のための一時的アイデンティティを生成することができる。一時的アイデンティティは、コンピューティングデバイス２００の１つ以上の動的態様に基づくこと、個々に基づくこと、または他の動的情報または静的情報と組み合わせることができる。コンピューティングデバイス２００の動的態様は、クロックタイム、チップ状態、レジスタ状態、または第１のコンピューティングデバイスの動的態様に基づく任意の他のデータソースなどの、比較的迅速に変更される第１のコンピューティングデバイスの態様を含んでもよい。
【００９１】
ハッシングモジュール２１０は、一時的アイデンティティモジュール２１２によって生成される一時的アイデンティティのハッシュを生成することができる。ハッシュ記憶モジュール２１４は、一時的アイデンティティモジュール２１２によって生成される一時的アイデンティティおよび／またはハッシングモジュール２１０によって生成される一時的アイデンティティのハッシュを記憶するために、メモリデバイスを含むことができ、またはメモリ２０４と通信することができる。
【００９２】
取引モジュール２１６は、別のコンピューティングデバイスとの（例えば、コンピューティングデバイス１０２とコンピューティングデバイス１０６間の）取引（ならびに他の通信）に関連する通信を可能にすることができる。いくつかの実装形態において、取引モジュール２１６は、取引サーバとの能率的な通信および／または取引プロセスを提供するように構成されたハードウェアおよび／またはソフトウェアを含んでもよい。いくつかの実装形態において、取引モジュールは、いわゆる「ワンクリック」サービスまたは別の能率的な通信／取引プロセスなどの、特定のサービスプロバイダに関連する能率的な通信を提供するように構成されたハードウェアおよび／またはソフトウェアを含んでもよい。
【００９３】
図３Ａおよび図３Ｂは、いくつかの実施形態による、第３のコンピューティングデバイス（例えば、図１Ｂ〜図２の１０８、１８８、および２００）との相互作用を通して、第２のコンピューティングデバイス（例えば、図１Ｂ〜図２のコンピューティングデバイス１０６、１９０〜１９６、および２００）に対して第１のコンピューティングデバイス（例えば、図１Ｂ〜図２のコンピューティングデバイス１０２、１０４、１８４、１８６、および２００）を認証し、その逆も同じく認証する、システム方法３００を例示する。図３Ｃは、方法３００の一部として第１のコンピューティングデバイスによって実行される動作の方法３００ａを例示する。図３Ｄは、方法３００の一部として第２のコンピューティングデバイスによって実行される動作の方法３００ｂを例示する。図３Ｅは、方法３００の一部として第３のコンピューティングデバイスによって実行される動作の方法３００ｃを例示する。図１Ａ〜図３Ｅを参照して、方法３００は、第１のコンピューティングデバイスのプロセッサ（すなわち、デバイスプロセッサ）（例えば、プロセッサ２０２および／または同類のもの）、第２のコンピューティングデバイスのプロセッサ、および第３のコンピューティングデバイスのプロセッサによって実施することができる。
【００９４】
様々な実施形態において、方法３００の前に、またはその一部として、第１のコンピューティングデバイス（例えば、コンピューティングデバイス１０２または１０４）および第２のコンピューティングデバイス（例えば、コンピューティングデバイス１０６）は、いくつかの実施形態において認証サーバとして機能することができる第３のコンピューティングデバイス（例えば、コンピューティングデバイス１０８）とのアカウントを確立することができる。様々な実施形態において、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、各コンピューティングデバイスが方法３００の動作を行うことを可能にする１つ以上のモジュール（例えば、モジュール２０６〜２１６）を用いて構成（例えば、初期化、構成、インストールなど）することができる。
【００９５】
いくつかの実施形態において、第３のコンピューティングデバイスとのアカウントを確立することは、第３のコンピューティングデバイスと第１の／第２のコンピューティングデバイス間の通信経路を決定および／またはネゴシエートすることを含んでもよい。いくつかの実施形態において、第１および第２のコンピューティングデバイスの各々は、１つ以上の態様において異なる第３のコンピューティングデバイスとの通信経路をネゴシエートまたは決定することができる。例えば、各コンピューティングデバイスペアは、異なる暗号化方法またはプロトコル、通信プロトコルまたはアプリケーション（例えば、ハイパーテキストマークアップ言語（ＨＴＭＬ）、ショートメッセージサービス（ＳＭＳ）テキストメッセージ）などを使用することができる。様々な実施形態において、ユーザは、限定されないが複数の認証サーバとの複数のアカウントを確立することができる。
【００９６】
様々な実施形態は、第１のコンピューティングデバイス、第２のコンピューティングデバイス、および第３のコンピューティングデバイスのうちの２つの間の通信の侵入および危殆化からの防衛を提供することができる。例えば、中間者（ＭＩＴＭ）攻撃を行う攻撃者は、２つのネットワークデバイス間の通信を秘密に中継する場合があり、それらの通信を監視および／または改変する場合がある。様々な実施形態は、攻撃者が、３つの通信経路、すなわち、第１のコンピューティングデバイスと第２のコンピューティングデバイス間の第１の通信経路、第２のコンピューティングデバイスと第３のコンピューティングデバイス間の第２の通信経路、および第３のコンピューティングデバイスと第１のコンピューティングデバイス間の第３の通信経路、をほぼ同時に危殆化することを必要とする。一時的アイデンティティが動的で、頻繁に変更されるので、攻撃者は、３つの通信経路を使用して送信される一時的アイデンティティを盗むか、また傍受して、極めて迅速に解読しなければならない。この潜在的脆弱性は、３つの別々の通信経路を通じて３つのコンピューティングデバイス間で交換される異なる認証情報の短い有効性期間によって打破される。
【００９７】
方法３００および３００ａのブロック３０２で、第１のコンピューティングデバイス（例えば、コンピューティングデバイス１０２または１０４）のプロセッサは、第１の一時的アイデンティティを取得することができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、第１の一時的アイデンティティを生成すること（例えば、動作３０２ａ）によって、第１の一時的アイデンティティを取得することができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイス（例えば、コンピューティングデバイス１０８）から、生成された第１の一時的アイデンティティを取得することができる（例えば、動作３０２ｂ）。いくつかの実施形態において、第３のコンピューティングデバイスのプロセッサは、生成された第１の一時的アイデンティティを第１のコンピューティングデバイスにプッシュすることができる（例えば、第３のコンピューティングデバイスは、第１のコンピューティングデバイスからの要求を伴わずに、生成された一時的アイデンティティを第１のコンピューティングデバイスに送信することができる）。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイスから、第１の一時的アイデンティティをプルすることができる。例えば、第１のコンピューティングデバイスは、一時的アイデンティティの要求を第３のコンピューティングデバイスに送信することができ、第３のコンピューティングデバイスは、その要求に応答して、一時的アイデンティティを第１のコンピューティングデバイスに送信することができる。
【００９８】
方法３００および３００ｂのブロック３０４で、第２のコンピューティングデバイス（例えば、コンピューティングデバイス１０６）のプロセッサは、第２の一時的アイデンティティ（例えば、動作３０４ａ）を生成することができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、第２の一時的アイデンティティを生成することによって、第１の一時的アイデンティティを取得することができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイスから、第２の一時的アイデンティティを取得することができる（例えば、動作３０４ｂ）。いくつかの実施形態において、第３のコンピューティングデバイスのプロセッサは、第２の一時的アイデンティティを第２のコンピューティングデバイスにプッシュすることができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイスから、生成された第２の一時的アイデンティティをプルすることができる。
【００９９】
方法３００および３００ｃの随意のブロック３０６で、第３のコンピューティングデバイス（例えば、コンピューティングデバイス１０８）のプロセッサは、第３の一時的アイデンティティを生成することができる。
【０１００】
方法３００および３００ａのブロック３０８で、第１のコンピューティングデバイスのプロセッサは、第１の一時的アイデンティティを第２のコンピューティングデバイスおよび第３のコンピューティングデバイスに送信することができる。第２のコンピューティングデバイスへの第１の一時的アイデンティティの伝送は、第１のコンピューティングデバイスと第２のコンピューティングデバイス間に確立されている途中の通信リンクなどの、任意のオープン通信リンクを介することができる。いくつかの実施形態において、通信は、暗号化することができ、したがって、伝送は、初期暗号化キーが交換された後に達成することができる。いくつかの実施形態において、通信リンクは、コンピューティングデバイスが暗号化キーを交換する前に様々な実施形態を介して互いに認証することができるように、オープンとする（すなわち、暗号化しない）ことができる。第３のコンピューティングデバイスへの第１の一時的アイデンティティの伝送は、別の通信リンクを介することができ、該伝送は、暗号化されるまたは暗号化されない場合がある。いくつかの実施形態において、この伝送は、インターネットなどのパブリックネットワークを介することができる。いくつかの実施形態において、この伝送は、プライベートまたは専用の通信リンクを介することができる。
【０１０１】
方法３００および３００ｂのブロック３１０で、第２のコンピューティングデバイスのプロセッサは、第２の一時的アイデンティティを第１のコンピューティングデバイスおよび第３のコンピューティングデバイスに送信することができる。第１のコンピューティングデバイスへの第２の一時的アイデンティティの伝送は、第２のコンピューティングデバイスが第１の一時的アイデンティティを受信する、第１のコンピューティングデバイスと第２のコンピューティングデバイス間に確立されている途中の通信リンクなどの、任意のオープン通信リンクを介することができる。いくつかの実施形態において、通信は、暗号化することができ、したがって、伝送は、初期暗号化キーが交換された後に達成することができる。いくつかの実施形態において、通信リンクは、コンピューティングデバイスが暗号化キーを交換する前に様々な実施形態を介して互いに認証することができるように、オープンとする（すなわち、暗号化しない）ことができる。第３のコンピューティングデバイスへの第２の一時的アイデンティティの伝送は、別の通信リンクを介することができ、該伝送は、暗号化されるまたは暗号化されない場合がある。いくつかの実施形態において、この伝送は、インターネットなどのパブリックネットワークを介することができる。いくつかの実施形態において、この伝送は、プライベートまたは専用の通信リンクを介することができる。
【０１０２】
方法３００および３００ｃの随意のブロック３１２で、第３のコンピューティングデバイスのプロセッサは、第３の一時的アイデンティティを第１のコンピューティングデバイスおよび第２のコンピューティングデバイスに送信することができる。第１および第２のコンピューティングデバイスへの第３の一時的アイデンティティの伝送は、第３のコンピューティングデバイスが第１および第２の一時的アイデンティティを受信したものと同じ通信リンクを介することができる。そのような通信リンクは、暗号化されるまたは暗号化されない場合がある。いくつかの実施形態において、この伝送は、インターネットなどのパブリックネットワークを介することができる。いくつかの実施形態において、この伝送は、プライベートまたは専用の通信リンクを介することができる。
【０１０３】
方法３００および３００ａのブロック３１４で、第１のコンピューティングデバイスのプロセッサは、第２の一時的アイデンティティを含む認証クエリを第３のコンピューティングデバイスに送信することができる。いくつかの実施形態において、第１のコンピューティングデバイスは、バックグラウンドなどにおいて、認証クエリを自動的に送信することができる。いくつかの実施形態において、第１のコンピューティングデバイスは、コマンドに応答して、認証クエリを送信することができる。いくつかの実施形態において、認証要求は、テキスト、画像、生体情報、または他の容易にパーソナライズすることができる情報などの、第１のコンピューティングデバイスに記憶することができる小単位の情報を含んでもよい。いくつかの実施形態において、第１のコンピューティングデバイスは、認証要求内に、またはそれと共に小単位の情報を含んでもよい。
【０１０４】
方法３００および３００ｂのブロック３１６で、第２のコンピューティングデバイスのプロセッサは、第１の一時的アイデンティティを含む認証クエリを第３のコンピューティングデバイスに送信することができる。
【０１０５】
方法３００および３００ｃの判定ブロック３１８で、第３のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスからの第２の一時的アイデンティティが第２のコンピューティングデバイスからの第２の一時的アイデンティティに一致するかどうかを判定することができる。いくつかの実施形態において、第３のコンピューティングデバイスは、２つの受信した一時的アイデンティティの直接比較（例えば、残部に対する減算およびチェック）によって、この動作を行うことができる。いくつかの実施形態において、第３のコンピューティングデバイスは、受信した一時的アイデンティティの一方または両方に対してハッシュ関数を行い、ハッシュ関数（複数可）の結果を比較することによって２つが一致するかどうかを判定することによって、この動作を行うことができる。
【０１０６】
第１のコンピューティングデバイスからの第２の一時的アイデンティティが第２のコンピューティングデバイスからの第２の一時的アイデンティティに一致しない（すなわち、判定ブロック３１８＝「いいえ」）と判定することに応答して、ブロック３２２で、第３のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスの認証失敗の指示を第１のコンピューティングデバイスおよび／または第２のコンピューティングデバイスに送信することができる。
【０１０７】
第１のコンピューティングデバイスからの第２の一時的アイデンティティが第２のコンピューティングデバイスからの第２の一時的アイデンティティに一致する（すなわち、判定ブロック３１８＝「はい」）と判定することに応答して、ブロック３２６で、第３のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスの認証成功の指示を第１のコンピューティングデバイスおよび／または第２のコンピューティングデバイスに送信することができる。
【０１０８】
方法３００および３００ｃの判定ブロック３２０で、第３のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスからの第１の一時的アイデンティティが第１のコンピューティングデバイスから第１の一時的アイデンティティに一致するかどうかを判定することができる。
【０１０９】
第２のコンピューティングデバイスからの第１の一時的アイデンティティが第１のコンピューティングデバイスからの第１の一時的アイデンティティに一致しない（すなわち、判定ブロック３２０＝「いいえ」）と判定することに応答して、ブロック３２４で、第３のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスの認証失敗の指示を第１のコンピューティングデバイスおよび／または第２のコンピューティングデバイスに送信することができる。
【０１１０】
第２のコンピューティングデバイスからの第１の一時的アイデンティティが第１のコンピューティングデバイスからの第１の一時的アイデンティティに一致する（すなわち、判定ブロック３２０＝「はい」）と判定することに応答して、ブロック３２８で、第３のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスの認証成功の指示を第１のコンピューティングデバイスおよび／または第２のコンピューティングデバイスに送信することができる。
【０１１１】
いくつかの実装形態において、認証失敗または認証成功の指示は、非常に短いメッセージまたはデータ構造を含むことができ、いくつかの実装形態において、該指示は、認証失敗または認証成功をそれぞれ示す、０または１などの単一ビットを含んでもよい。
【０１１２】
方法３００および３００ｃのブロック３２６および／または３２８の動作に続いて、ブロック３３０で、第３のコンピューティングデバイスのプロセッサは、新しい一時的アイデンティティを取得するための命令を第１のコンピューティングデバイスおよび第２のコンピューティングデバイスに送信することができる。いくつかの実施形態において、命令は、それぞれ、新しい一時的アイデンティティを第１および第２のコンピューティングデバイスで生成するための命令を含んでもよい。いくつかの実施形態において、命令は、第１および第２のコンピューティングデバイスの各々への、第３のコンピューティングデバイスから新しい一時的アイデンティティを取得するための命令をそれぞれ含んでもよい。いくつかの実施形態において、第３のコンピューティングデバイスは、第１または第２のコンピューティングデバイスのどちらからの要求も伴うことなく、第１および第２のコンピューティングデバイスの各々のための新しい一時的アイデンティティを生成および送信することができる。
【０１１３】
第１、第２、および第３のコンピューティングデバイスのプロセッサは、次いで、方法３００、３００ａ、３００ｂ、および３００ｃのブロック３０２、３０４、および３０６の動作をそれぞれ行うことができる。第１、第２、および第３のコンピューティングデバイスは、方法３００、３００ａ、３００ｂ、および３００ｃの動作を周期的に繰り返して、他のコンピューティングデバイスのバックグラウンド認証を適宜行うことができる。いくつかの実施形態において、第１、第２、および第３のコンピューティングデバイスのプロセッサは、第１、第２、および第３のコンピューティングデバイスのうちの他方からの命令または他のメッセージの有無にかかわらず、方法３００、３００ａ、３００ｂ、および３００ｃの動作を適宜繰り返すことができる。デバイス認証の動的システムを使用することにより、方法３００、３００ａ、３００ｂ、および３００ｃは、一時的アイデンティティのいずれかがコンピューティングデバイスの１つになりすますために傍受および使用され得る可能性を大幅に低減させる。
【０１１４】
いくつかの実施形態において、第１のコンピューティングデバイスおよび／または第２のコンピューティングデバイス３３２の認証失敗が生じた場合に、第３のコンピューティングデバイスは、ブロック３３０および３００ｃの動作を行うことができる。例えば、第３のコンピューティングデバイスは、関与するコンピューティングデバイスまたはシステムを危殆化する、またはその危殆化を試みる指示として、コンピューティングデバイスの認証失敗に応答することができる。様々な実施形態において、システムの通信の起こり得る違反または実際の違反に対する応答として、第３のコンピューティングデバイスは、すべての関与するコンピューティングデバイスに新しい一時的アイデンティティを取得するよう指示することができる。システムに関与するように構成されたコンピューティングデバイスだけが新しい一時的アイデンティティを取得することが可能であり得るので、−サイバー侵入者および他の敵対者などの−取得するように構成されていないコンピューティングデバイスは、新しい一時的アイデンティティを取得することが不可能であり得、そのシステムを使用したさらなる通信から効果的にブロックされる。
【０１１５】
いくつかの実施形態において、第１、第２、および第３のコンピューティングデバイスのプロセッサは、攻撃者が第１および／または第２の一時的アイデンティティを取得および使用するために必要とされる決定された回数よりも少ない頻度で、それらのそれぞれの動作を繰り返すことができる。例えば、いくつかの実施形態において、第１、第２、および／または第３の一時的アイデンティティの期間（「有効期間」）は、攻撃者が一時的アイデンティティの１つ以上を取得および利用するために必要とされる時間よりも短くなるように設定することができる。いくつかの実施形態において、第１および／または第２、第３のコンピューティングデバイスのプロセッサは、第１および／または第２の一時的アイデンティティのそれぞれの有効期間が期限切れになったと判定することに応答して、新しい一時的アイデンティティを取得することができる。いくつかの実施形態において、第３のコンピューティングデバイスのプロセッサは、第１および／または第２の一時的アイデンティティのそれぞれの有効期間が期限切れになったと判定することに応答して、第１、第２、および／または第３のコンピューティングデバイスの新しい一時的アイデンティティを生成することができる。
【０１１６】
図３Ｃは、方法３００の一部として第１のコンピューティングデバイスによって実行される動作の方法３００ａを例示する。図１Ａ〜図３Ｅを参照して、方法３００ａは、プロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。ブロック３０２、３０８、および３１４で、第１のコンピューティングデバイスのプロセッサは、方法３００の同様の番号が付されたブロックの動作を行うことができる。
【０１１７】
判定ブロック３３３で、第１のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイスから認証成功の指示または認証失敗の指示を受信したかどうかを判定することができる。いくつかの随意の実施形態において、プロセッサはまた、第３のコンピューティングデバイスからいかなる指示も受信していないと判定することもできる。
【０１１８】
認証失敗の指示を受信した（すなわち、判定ブロック３３３＝「失敗」）、または随意にいかなる指示も受信していない（判定ブロック３３３＝「指示なし」）と判定することに応答して、ブロック３３４で、第１のコンピューティングデバイスのプロセッサは、認証失敗の指示を記憶することができる。
【０１１９】
ブロック３３６で、第１のコンピューティングデバイスのプロセッサは、セキュリティアクションを行うことができる。例えば、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスと情報取引を行うことを止めることができる。第１のコンピューティングデバイスのプロセッサはまた、第２のコンピューティングデバイスとのさらなる通信をブロックすることもできる。
【０１２０】
認証成功の指示を受信した（すなわち、判定ブロック３３３＝「成功」）と判定することに応答して、ブロック３３８で、第１のコンピューティングデバイスのプロセッサは、認証成功の指示を記憶することができる。
【０１２１】
ブロック３４０で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスとの情報取引を実行することができる。次いで、ブロック３０２で、第１のコンピューティングデバイスのプロセッサは、新しい一時的アイデンティティを取得することができる。例えば、第１のコンピューティングデバイスのプロセッサは、一時的アイデンティティの有効期間が期限切れになったと判定することができ、そして、一時的アイデンティティの有効期間が期限切れになったと判定することに応答して、ブロック３０２で、第１のコンピューティングデバイスのプロセッサは、新しい一時的アイデンティティを取得することができる。
【０１２２】
随意のブロック３４２で、第１のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイスから新しい一時的アイデンティティを取得するための命令を受信することができる。第１のコンピューティングデバイスのプロセッサは、次いで、ブロック３０２の動作を行うことができる。
【０１２３】
図３Ｄは、方法３００の一部として第２のコンピューティングデバイスによって実行される動作の方法３００ｂを例示する。図１Ａ〜図３Ｅを参照して、方法３００ｂは、プロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。ブロック３０４、３１０、および３１６で、第２のコンピューティングデバイスのプロセッサは、方法３００の同様の番号が付されたブロックの動作を行うことができる。
【０１２４】
判定ブロック３４４で、第２のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイスから認証成功の指示または認証失敗の指示を受信したかどうかを判定することができる。いくつかの随意の実施形態において、プロセッサはまた、第３のコンピューティングデバイスからいかなる指示も受信していないと判定することもできる。
【０１２５】
認証失敗の指示を受信した（すなわち、判定ブロック３４４＝「認証失敗」）、または随意にいかなる指示も受信していない（判定ブロック３４４＝「指示なし」）と判定することに応答して、ブロック３４６で、第２のコンピューティングデバイスのプロセッサは、認証失敗の指示を記憶することができる。
【０１２６】
ブロック３４８で、第２のコンピューティングデバイスのプロセッサは、セキュリティアクションを行うことができる。例えば、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスと情報取引を行うことを止めることができる。第２のコンピューティングデバイスのプロセッサはまた、第１のコンピューティングデバイスとのさらなる通信をブロックすることもできる。
【０１２７】
認証成功の指示を受信した（すなわち、判定ブロック３４４＝「認証成功」）と判定することに応答して、ブロック３５０で、第２のコンピューティングデバイスのプロセッサは、認証成功の指示を記憶することができる。
【０１２８】
ブロック３５２で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスとの情報取引を実行することができる。
【０１２９】
次いで、ブロック３０４で、第２のコンピューティングデバイスのプロセッサは、新しい一時的アイデンティティを取得することができる。例えば、第２のコンピューティングデバイスのプロセッサは、第２の一時的アイデンティティの有効期間が期限切れになったと判定することができ、そして、第２の一時的アイデンティティの有効期間が期限切れになったと判定することに応答して、ブロック３０４で、第２のコンピューティングデバイスのプロセッサは、新しい一時的アイデンティティを取得することができる。
【０１３０】
随意のブロック３５４で、第２のコンピューティングデバイスのプロセッサは、第３のコンピューティングデバイスから新しい一時的アイデンティティを取得するための命令を受信することができる。第２のコンピューティングデバイスのプロセッサは、次いで、ブロック３０４の動作を行うことができる。
【０１３１】
図３Ｅは、方法３００の一部として第３のコンピューティングデバイスによって実行される動作の方法３００ｃを例示する。図１Ａ〜図３Ｅを参照して、方法３００ｃは、プロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。ブロック３０６〜３３０で、第３のコンピューティングデバイスのデバイスプロセッサは、方法３００の同様の番号が付されたブロックの動作を行うことができる。
【０１３２】
ブロック３６０で、第３のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスから認証クエリを受信することができる。上で説明したように、判定ブロック３１８で、第３のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスからの第２の一時的アイデンティティが第２のコンピューティングデバイスから第２の一時的アイデンティティに一致するかどうかを判定することができる。
【０１３３】
ブロック３６２で、第３のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスから認証クエリを受信することができる。上で説明したように、判定ブロック３２０で、第３のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスからの第１の一時的アイデンティティが第１のコンピューティングデバイスから第１の一時的アイデンティティに一致するかどうかを判定することができる。
【０１３４】
図４は、いくつかの実施形態による、共有データセットを動的に改変する方法４００を例示する。図１Ａ〜図４を参照して、方法４００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。
【０１３５】
様々な実施形態は、動的に変更される共有情報コンテキストを利用することによって、通信ネットワーク上のコンピューティングデバイスの検証を強化および改善する。情報コンテキストは、例えば、動的に変更される共有データセットを含んでもよい。いくつかの実施形態において、２つのコンピューティングデバイスは、例えば一方のコンピューティングデバイスから他方のコンピューティングデバイスにデータセットを送信することによって、データセットを共有することができる。様々な実施形態において、２つのコンピューティングデバイスは、ユーザデバイス、ネットワークサーバ、認証サーバ、または別のコンピューティングデバイスなどの、任意の２つのエンドポイントデバイスをコンピューティングネットワークに含んでもよい。共有データセットは、経時的にコンパイルすることができ、また、コンピューティングデバイスによって、時々、周期的に、および／またはトリガイベントの発生時に変更することができる。共有データセットを変更または改変することは、共有データセットを再順序付けすること、情報をデータセットに加えること、データセットから情報を減じること、および／または共有データセットの１つ以上の部分を変換することを含んでもよい。
【０１３６】
以下、方法４００（ならびに方法７００、８００、９００、１０００、１１００、１２００、および１３００）の動作を、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスに関して説明する。コンピューティングデバイス１０２、１０４、１０６、１０８、１８４、および１８６、ならびに他のコンピューティングデバイスのうちのいずれかは、第１のコンピューティングデバイスまたは第２のコンピューティングデバイスとして機能することができ、そのようなデバイスを、方法４００（ならびに方法７００、８００、９００、１０００、１１００、１２００、および１３００に関して説明する。
【０１３７】
ブロック４０２および４０４で、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、データセットを共有することができる。例えば、第２のコンピューティングデバイスは、データセットを第１のコンピューティングデバイスに送信することができる。いくつかの実施形態において、第１および第２のコンピューティングデバイスは、時々、周期的に、非周期的に、初期化プロシージャの一部として、またはいくつかの他の時間に、データセットを共有することができる。
【０１３８】
ブロック４０６で、プロセッサは、データ入力を受信することができる。例えば、コンピューティングデバイスのプロセッサは、データ入力（例えば、データ入力１４０）を経時的に受信することができる。データ入力は、別のコンピューティングデバイスと共有することができるデータセットを生成するためにコンピューティングデバイスのプロセッサが使用することができる情報を含んでもよい。データ入力はまた、例えば、画像、写真、ビデオ、サウンド記録（例えば、音楽、周囲サウンド記録、または別のそのような記録）、生体情報入力（例えば、顔認識スキャン、虹彩スキャン、ＤＮＡ試料、声紋記録、指紋など）、または任意の他のデータ入力を含んでもよい。
【０１３９】
判定ブロック４０８で、プロセッサは、共有データセット更新トリガが発生したかどうかを判定することができる。例えば、プロセッサは、期間が経過したかどうかを判定することができる。別の例として、プロセッサは、トリガイベントが発生したかどうかを判定することができる。下でさらに説明するように、トリガイベントは、例えば、共有データセットから要素（複数可）を抽出すること、要素（複数可）から値を決定することなどの、共有データセットを認証プロセスで使用することを含んでもよい。トリガイベントは、例えば、１つ以上のコンピューティングデバイスからの、共有データセットを更新するための要求を含んでもよい。トリガイベントは、例えば、コンピューティングデバイスの許可失敗または許可成功を含んでもよい。
【０１４０】
データセット更新トリガが発生しなかった（すなわち、判定ブロック４０８＝「いいえ」）と判定することに応答して、ブロック４０６で、プロセッサは、データ入力の受信を続けることができる。
【０１４１】
データセット更新トリガが発生した（すなわち、判定ブロック４０８＝「はい」）と判定することに応答して、プロセッサは、共有データセットを動的に改変するための１つ以上の動作を行うことができる。
【０１４２】
例えば、ブロック４１０で、プロセッサは、受信したデータ入力に基づいて、新しいデータセット部分を加えるための命令を生成することができる。いくつかの実施形態において、プロセッサは、加えられる新しいデータセット部分を生成することができる。いくつかの実施形態において、生成された命令は、（例えば、下で説明されるように、第２のコンピューティングデバイスに送信することができる）新しいデータセット部分の生成を可能にする命令を含んでもよい。
【０１４３】
追加的または代替的に、ブロック４１２で、プロセッサは、共有データセットの一部分を減ずるための命令を生成することができる。
【０１４４】
追加的または代替的に、プロセッサは、ブロック４１４の共有データセットを再順序付けするための命令を生成することができる。例えば、共有データセットを再順序付けすることは、共有データセットの１つ以上の部分を、共有データセットの他の部分に対して異なる時間、場所、位置、または他の差に配置することを含んでもよい。
【０１４５】
追加的または代替的に、ブロック４１６で、プロセッサは、共有データセットを変換するための命令を生成することができる。例えば、プロセッサは、共有データセットの１つ以上の要素および／または１つ以上の部分を変換するための命令を生成することができる。
【０１４６】
要素および／または一部分を変換することは、要素および／または一部分のうちの１つ以上の値を改変するための１つ以上の動作を行うことを含んでもよい。例えば、画像またはビデオファイルの要素および／または一部分を変換することとしては、回転、フリッピング、反転、位置のシフト、色のシフト、（例えば、写真またはビデオ編集ソフトウエアプログラムで利用可能であり得る）フィルタもしくは所定の変換の適用、または別の類似する動作を挙げることができる。別の例として、要素および／または音楽もしくはオーディオファイルの一部分を変換することとしては、ピッチを上下させること、ファイルの内容を逆にすること、オーディオファイルの内容を逆にすること（すなわち、選択された軸に沿って内容を変換すること）、残響、歪み、フランジングなどのオーディオ効果を加えること、または別の類似する動作を挙げることができる。別の例として、要素および／または共有データセットの一部分を変換することとしては、データ要素をトランスコードすること（例えば、オーディオデータをビジュアルデータまたはテキストに変換すること）を挙げることができる。別の例として、要素および／または共有データセットの一部分を変換することとしては、１つ以上の数学関数を行って、要素および／または一部分を変換することを挙げることができる。
【０１４７】
ブロック４１８で、プロセッサは、共有データセットを改変するための１つ以上の命令を生成することができる。１つ以上の命令は、生成された新しいデータセット部分、共有データセットの一部分を減ずるための命令、および／または共有データセットを再順序付けするための命令に基づくことができる。
【０１４８】
ブロック４２０で、第２のコンピューティングデバイスのプロセッサは、１つ以上の命令を第１のコンピューティングデバイスに送信することができる。いくつかの実施形態において、生成された命令は、（例えば、ブロック４１０で生成され得るような）新しく生成されたデータセット部分を含んでもよい。
【０１４９】
ブロック４２２で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスから１つ以上の命令を受信することができる。
【０１５０】
ブロック４２４で、第２のコンピューティングデバイスのプロセッサは、生成された１つ以上の命令に基づいて、共有データセットを改変することができる。
【０１５１】
ブロック４２６で、第１のコンピューティングデバイスのプロセッサは、生成された１つ以上の命令に基づいて、共有データセットを改変することができる。
【０１５２】
判定ブロック４２８で、第２のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスのプロセッサによって検証要求が送信または受信されたかどうかを判定することができる。
【０１５３】
検証要求が送信または受信されなかった（すなわち、判定ブロック４２８＝「いいえ」）と判定することに応答して、ブロック４０６で、第２のコンピューティングデバイスのプロセッサは、データ入力の受信を続けることができる。
【０１５４】
いくつかの実施形態において、検証要求が送信または受信された（すなわち、判定ブロック４２８＝「はい」）と判定することに応答して、第２のコンピューティングデバイスのプロセッサは、図７のブロック７１０に進むことができる。いくつかの実施形態において、検証要求が送信または受信された（すなわち、判定ブロック４２８＝「はい」）と判定することに応答して、第２のコンピューティングデバイスのプロセッサは、図１１のブロック１１１０に進むことができる。
【０１５５】
判定ブロック４３０で、第１のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスのプロセッサによって検証要求が送信または受信されたかどうかを判定することができる。
【０１５６】
検証要求が送信または受信されなかった（すなわち、判定ブロック４３０＝「いいえ」）と判定することに応答して、ブロック４２２で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスから１つ以上の命令を再度受信することができる。
【０１５７】
いくつかの実施形態において、検証要求が送信または受信された（すなわち、判定ブロック４２６＝「はい」）と判定することに応答して、第１のコンピューティングデバイスのプロセッサは、図７のブロック７０２に進むことができる。いくつかの実施形態において、検証要求が送信または受信された（すなわち、判定ブロック４２６＝「はい」）と判定することに応答して、第１のコンピューティングデバイスのプロセッサは、図１１のブロック１１０２に進むことができる。
【０１５８】
図５は、いくつかの実施形態による、共有データセット５００の１つの例を例示する。いくつかの実施形態において、共有データセットは、２つ以上の部分を含んでもよい。共有データセットの各部分は、１つ以上の要素を含んでもよい。いくつかの実施形態において、共有データセットの部分は、画像、写真、ビデオ、サウンド記録、生体入力、または別のそのような別々の構成要素などの、別々の構成要素を含んでもよい。
【０１５９】
いくつかの実施形態において、共有データセットは、コンピューティングデバイスのうちの１つの２つ以上の一時的アイデンティティを含んでもよい。例えば、上で説明したように、第１のコンピューティングデバイスは、本明細書で説明される方法を使用して、一連の一時的アイデンティティを経時的に生成することができ、かつ安全な通信の通常の実行において、一時的アイデンティティを第２のコンピューティングデバイスに送信することができる。第２のコンピューティングデバイスは、第１のコンピューティングデバイスによって生成され、そこから受信した一時的アイデンティティを記憶することができる。したがって、いくつかの実施形態において、共有データセットは、セキュアなおよび／または認証された通信中に経時的に受信される第１のコンピューティングデバイスの一時的アイデンティティを含んでもよい。いくつかの実施形態において、共有データセットは、第２のコンピューティングデバイスの２つ以上の一時的アイデンティティを含んでもよい。
【０１６０】
共有データセット５００は、部分５０２、５０４、および５０６などの１つ以上の部分を含んでもよい。部分５０２、５０４、および５０６の各々は、１つ以上の要素を含んでもよい。例えば、部分５０２は、要素５２０および５２２を含むことができ、部分５０４は、要素５２４を含むことができ、また、部分５０６は、要素５２６および５２８を含んでもよい。いくつかの実施形態において、部分５０２、５０４、および５０６は、それぞれ、コンピューティングデバイス（例えば、コンピューティングデバイス１０２、１０４、１０６、および１０８のうちの１つ以上）によって生成された一時的アイデンティティとすることができる。いくつかの実施形態において、部分５０２、５０４、および５０６は、写真、サウンド記録、指紋、生体データ、または他の別々の部分などの、別々の構成要素を含んでもよい。
【０１６１】
いくつかの実施形態において、共有データセット５００は、経時的に確立されることができる。例えば、第１のコンピューティングデバイス（例えば、コンピューティングデバイス１０２、１０４）は、複数の一時的アイデンティティを経時的に生成し、各一時的アイデンティティのコピーを記憶することができ、かつ各一時的アイデンティティのコピーを第２のコンピューティングデバイス（例えば、コンピューティングデバイス１０８）に送信することができ、それによって、第１のコンピューティングデバイスの一時的アイデンティティで構成される共有データセットを、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスに提供する。いくつかの実施形態において、第２のコンピューティングデバイスは、類似の動作、すなわち、一時的アイデンティティを取得することと、その一時的アイデンティティを第１のコンピューティングデバイスに提供することと、を行うことができる。いくつかの実施形態において、第１および第２のコンピューティングデバイスは、第１および第２のコンピューティングデバイスの各々からの共有された一時的アイデンティティを組み合わせて、共有データセットを生成することができる。いくつかの実施形態において、第１および第２のコンピューティングデバイスは、それぞれ、第１のコンピューティングデバイスの一時的アイデンティティで構成される２つの別々の共有データセット、および第２のコンピューティングデバイスの一時的アイデンティティをそれぞれコンパイルすることができる。
【０１６２】
いくつかの実施形態において、共有データセット５００は、１つのコンピューティングデバイスによって経時的に確立され、次いで、別のコンピューティングデバイスと共有することができる。例えば、コンピューティングデバイス１０８は、データ入力（例えば、データ入力１４０）を経時的に受信することができる。データ入力は、コンピューティングデバイス１０８がデータ入力のデータセットを経時的に確立することができるように、１つ以上の別々の構成要素を含んでもよい。コンピューティングデバイス１０８は、次いで、データセットを別のコンピューティングデバイス（例えば、コンピューティングデバイス１０２、１０４、１０６）と共有すること、またはそこに送信することができる。
【０１６３】
様々な実施形態において、要素５２０〜５２８は、一部分内の各要素の識別またはインデクシングを可能にする情報を含んでもよい。例えば、要素は、その一部分内の要素の場所、位置、および／または時間を識別する情報、または各選択された要素のインデクシングまたは識別を可能にする任意の他の情報を含んでもよい。
【０１６４】
様々な実施形態において、部分５０２〜５０６および／または要素５２０〜５２８は、少なくとも１つの他のデータ要素に対する１つ以上の関係を決定することができるデータを含んでもよい。例えば、５０２〜５０６および／または要素５２０〜５２８は、タイムスタンプと関連付けることができる。別の例として、部分および／または要素は、場所、位置、色、ピッチ、周波数、生体態様、または一部分および／または要素の別の態様などの様々なデータと関連付けることができる。２つ以上の要素間の関係は、時間差、場所差、位置差、色差、ピッチ差、周波数差、生体差、または別の差などの、２つ以上の要素間の比較差を含んでもよい。
【０１６５】
別の例として、要素５２０〜５２８は、一部分内で、または異なる部分間で、異なる位置または場所を有することができる。要素５２０〜５２８はまた、２つ以上の他の要素に対する、異なる時間と、ならびに異なる位置または場所とを関連付けることもできる。いくつかの実施形態において、３つ以上の要素は、２つ以上の他の要素に対する１つの要素の関係を定義することができる。例えば、要素５２０、５２２、および５２４の中の位置／場所差は、３つの角度、すなわち、角度Ａ、角度Ｂ、および角度Ｄを定義することができる。同様に、要素５２０、５２２、５２４、５２６、および５２８の中の関連する位置／場所および／または時間差は、追加的な角度、すなわち、角度Ｃ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、およびＪを定義することができる。様々な実施形態において、関係は、一部分内の、部分の中のまたは間の、および／または共有データセット５００内の、時間、空間、距離の相対的な差、または別の情報の差とすることができる。
【０１６６】
図６Ａ〜図６Ｄは、例示的な共有データセット６００ａ、６００ｂ、６００ｃ、および６００ｄを例示する。共有データセットは、様々なタイプのデータのうちの１つ以上を含むことができ、図５および図６Ａ〜６Ｄに例示される実施例は、様々なデータタイプを限定することではなく、例示することを意図している。
【０１６７】
例えば、共有データセット６００ａは、指紋６０２ａ、６０４ａ、および６０６ａを含んでもよい。指紋６０２ａ〜６０６ａは、例えば、指紋スキャナなどの生体スキャンデバイスによってキャプチャすることができる。指紋６０２ａ〜６０６ａは、指紋６０２ａ〜６０６ａがそれぞれ共有データセット６００ａの一部分を構成するように、経時的にキャプチャすることができる。コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８）のプロセッサは、共有データセット６００ａの部分（例えば、指紋６０２ａ〜６０６ａ）から要素６２０ａ〜６３８ａなどの要素を選択することができる。いくつかの実施形態において、要素６２０ａ〜６３８ａは、指紋特徴点を含んでもよい。要素６２０ａ〜６３８ａは、コンピューティングデバイスのプロセッサが一部分内の（例えば、指紋６０２ａ〜６０６ａのうちの１つ内の）各要素の識別またはインデクシングを可能にする、その一部分内の要素の場所または位置を識別する情報などの、情報を含んでもよい。さらに、各部分は、タイムスタンプまたは別の時間要素と関連付けることができる。
【０１６８】
部分（例えば、指紋６０２ａ〜６０６ａ）および／または要素６２０ａ〜６３８ａは、位置、場所、および／または時間情報などの、少なくとも１つの他のデータ要素に対する１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、部分および／または要素は、要素の中の１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、関係は、要素間または要素の中の１つ以上の比較差に基づくことができる。
【０１６９】
別の例として、共有データセット６００ｂは、サウンド記録６０２ｂ、６０４ｂ、および６０６ｂを含んでもよい。サウンド記録は、例えば、マイクロホンまたは類似するデバイスによってキャプチャすることができ、またはサウンド記録は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８）のプロセッサによってそのようなデバイスから電子的に受信することができる。サウンド記録６０２ｂ〜６０６ｂは、経時的にキャプチャすることができ、かつ時間情報を含むこと、またはそれと関連付けることができる。サウンド記録６０２ｂ〜６０６ｂの各々は、共有データセット６００ｂの一部分を構成することができる。追加的または代替的に、単一の記録（例えば、６０２ｂ、６０４ｂ、または６０６ｂのうちの１つ）は、部分に、例えば、特定の時間期間の部分、周波数範囲によって分割された部分、振幅範囲によって分割された部分、および他の分割部分に分けることができる。
【０１７０】
コンピューティングデバイスのプロセッサは、サウンド記録６０２ｂ〜６０６ｂの部分から、要素６２０ｂ〜６３０ｂなどの要素を選択することができる。要素６２０ｂ〜６３０ｂは、サウンド記録内の各要素の識別またはインデクシングを可能にする、その一部分内の要素の場所または位置を識別する情報などの情報を含んでもよい。各要素６２０ｂ〜６３０ｂは、タイムスタンプまたは別の時間要素、ならびに／または周波数、ピッチ、および振幅、攻撃率、崩壊率、持続期間などの他の情報と関連付けることができる。
【０１７１】
部分（例えば、１つ以上のサウンド記録６０２ｂ）および／または要素６２０ｂ〜６３０ｂは、少なくとも１つの他のデータ要素に対する位置、場所、および／または時間情報などの１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、部分および／または要素は、コンピューティングデバイスのプロセッサが要素の中の１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、関係は、要素間または要素の中の１つ以上の比較差に基づくことができる。
【０１７２】
別の例として、共有データセット６００ｃは、画像６０２ｃ、６０４ｃ、および６０６ｃを含んでもよい。画像６０２ｃ〜６０６ｃは、図６ｃに例示されるような顔面とすることができるが、様々な実施形態において、画像６０２ａ〜６０６ｃは、任意の画像とすることができる。画像６０２ａ〜６０６ｃは、例えば、カメラまたは別の画像受信デバイスによってキャプチャすることができる。画像６０２ａ〜６０６ｃは、画像６０２ａ〜６０６ｃがそれぞれ共有データセット６００ａの一部分を構成するように、経時的にキャプチャすることができる。コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８）のプロセッサは、共有データセット６００ｃの部分（例えば、画像６０２ａ〜６０６ｃ）から要素６２０ｃ〜６３６ｃなどの要素を選択することができる。例えば、コンピューティングデバイスのプロセッサは、顔認識または他の類似するシステムを使用して、要素６２０ｃ〜６３６ｃを選択することができる。要素６２０ｃ〜６３６ｃは、コンピューティングデバイスのプロセッサが一部分内の（例えば、画像６０２ａ〜６０６ｃのうちの１つ内の）各要素を識別またはインデクシングを可能にする、その一部分内の要素の場所または位置を識別する情報などの、情報を含んでもよい。さらに、各部分は、タイムスタンプまたは別の時間要素と関連付けることができる。
【０１７３】
部分（例えば、画像６０２ａ〜６０６ｃ）および／または要素６２０ｃ〜６３６ｃは、位置、場所、および／または時間情報などの、少なくとも１つの他のデータ要素に対する１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、要素６２０ｃ〜６３６ｃは、色、色合い、色相、グレースケール、ＲＧＢ情報、Ｐａｎｔｏｎｅ色数、デジタルカラーコード（例えば、ハイパーテキストマークアップ言語のカラーコード）、飽和度、輝度、コントラスト、または他の画像情報などの画像情報と関連付けることができる。いくつかの実施形態において、部分および／または要素は、要素の中の１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、関係は、要素間または要素の中の１つ以上の比較差に基づくことができる。いくつかの実施形態において、比較差としては、色、色合い、色相などを示す情報における相対的、直線的、および／または数値的な差を含む、画像情報における差を挙げることができる。
【０１７４】
別の例として、共有データセット６００ｄは、ＤＮＡ試料６０２ｄ、６０４ｄ、および６０６ｄなどの１つ以上の生体データユニットまたは構成要素を含んでもよい。生体データは、適切なスキャナまたはキャプチャデバイスによってキャプチャし、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８）のプロセッサによって受信することができる。生体データは、経時的にキャプチャすることができ、かつ時間情報を含むこと、またはそれと関連付けることができる。共有データセット６００ｄは、２つ以上の生体データ構成要素またはユニットを含むことができ、それらの各々は、共有データセット（例えば、２つ以上の別々の生体試料）の一部分を構成することができる。追加的または代替的に、生体試料は、部分に分割することができ、この分割部分は、生体試料において利用可能な情報に基づいて決定することができる。例えば、ＤＮＡ試料６０２ｄ、６０４ｄ、および６０６ｄは、ヌクレオチドのタイプ（例えば、アデニン、グアニン、シトシン、またはチミン）によって、塩基対のタイプ（例えば、アデニン−チミン、シトシン−グアニン）によって、または別の分割部分のタイプによって、特定の塩基対長さもしくは数、特定の長さのＤＮＡバックボーンの部分に分割することができる。
【０１７５】
コンピューティングデバイスのプロセッサは、生体データユニット６００ｄの部分から、要素６２０ｄ〜６３０ｄなどの要素を選択することができる。要素６２０ｄ〜６３０ｄは、ＤＮＡ鎖６０２ｄに沿った位置などの、その一部分内の要素の場所または位置を識別する情報などの、生体データ内の各要素の識別またはインデクシングを可能にする情報を含んでもよい。各要素６２０ｄ〜６３０ｄは、タイムスタンプまたは別の時間要素と関連付けることができる。
【０１７６】
部分（例えば、１つ以上の生体データユニット６０２ｄ）および／または要素６２０ｄ〜６３０ｄは、少なくとも１つの他のデータ要素に対する位置、場所、および／または時間情報などの１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、部分および／または要素は、コンピューティングデバイスのプロセッサが要素の中の１つ以上の関係を決定することができるデータを含んでもよい。いくつかの実施形態において、関係は、要素間または要素の中の１つ以上の比較差に基づくことができる。
【０１７７】
図７は、第２のコンピューティングデバイス（例えば、コンピューティングデバイス、例えば、図１Ｂ〜図２の１０８、１８８、および２００）に対して第１のコンピューティングデバイス（例えば、図１Ｂ〜図２のコンピューティングデバイス１０２、１０４、１８４、１８６、および２００）を認証する方法７００を例示する。図１Ａ〜図７を参照して、方法７００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。
【０１７８】
ブロック７０２で、第１のコンピューティングデバイスのプロセッサは、共有データセットから要素を選択することができる。例えば、第１のコンピューティングデバイスのプロセッサは、共有データセット５００の部分５０２、５０４、および５０６の中から、要素５２０、５２２、５２４、５２６、および５２８を選択することができる。別の例として、第１のコンピューティングデバイスのプロセッサは、共有データセット６００ａ、６００ｂ、６００ｃ、または６００ｄの中から要素を選択することができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、共有データセットからランダムに要素を選択することができる。
【０１７９】
ブロック７０４で、第１のコンピューティングデバイスのプロセッサは、選択された要素を示すルールセットを生成することができる。いくつかの実施形態において、ルールセットは、共有データセットから、選択された要素を識別することができる。例えば、プロセッサは、共有データセットから、選択された要素を識別するルールセットを生成することができる。
【０１８０】
いくつかの実施形態において、プロセッサは、共有データセットの選択された要素間または要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。２つ以上の要素間の関係は、時間差、場所差、位置差、色差、ピッチ差、周波数差、または別の差などの、２つ以上の要素間の比較差を含んでもよい。別の例として、関係は、３つ以上の要素の中の比較差によって定義することができる。例えば、要素５２０、５２２、および５２４の中の位置／場所差は、３つの角度、すなわち、角度Ａ、角度Ｂ、および角度Ｄを定義することができる。同様に、要素５２０、５２２、５２４、５２６、および５２８の中の関連する位置／場所および／または時間差は、追加的な角度、すなわち、角度Ｃ、Ｅ、Ｆ、Ｇ、Ｈ、Ｉ、およびＪを定義することができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、例えば共有データセット６００ａ、６００ｂ、６００ｃ、または６００ｄの選択された要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。様々な実施形態において、関係は、一部分内の時間、空間、距離の相対的な差、または別の情報の差とすることができる。要素間またはそれらの間の関係（複数可）は、共有データセットの部分間および／またはそれらの中で決定することができる。
【０１８１】
いくつかの実施形態において、プロセッサは、選択された要素の識別子と選択された要素の中の１つ以上の関係との組み合わせを使用して、ルールセットを生成することができる。いくつかの実施形態において、ルールセットは、選択された要素のうちの１つだけの識別子、および１つの選択された要素と他の選択された要素との関係を含んでもよい。例えば、ルールセットは、要素５２０ならびに要素５２０と他の選択された要素との関係に関する情報だけを使用して、別のコンピューティングデバイスが他の選択された要素（要素５２２〜５２８）を識別することを可能にするのに十分な、要素５２０の識別子と、要素５２０と他の選択された要素（要素５２２〜５２８）との関係に関する情報と、を含んでもよい。いくつかの実施形態において、プロセッサは、選択された要素の識別子と、例えば共有データセット６００ａ、６００ｂ、６００ｃ、または６００ｄの選択された要素の中の１つ以上の関係との組み合わせを使用して、ルールセットを生成することができる。
【０１８２】
いくつかの実施形態において、生成されたルールセットは、組織論理に従って編成された一連の情報としてフォーマットすることができる。組織論理が効率的になるにつれて、生成されるルールセットが小さくなることで、受信側のコンピューティングデバイスによるより高速な生成、伝送、および処理を可能にすることができ、それによって、コンピューティングデバイスのプロセッサならびに輸送インフラストラクチャの負担が減少する。
【０１８３】
ブロック７０６で、第１のコンピューティングデバイスのプロセッサは、選択された要素に基づいて、第１の結果を生成することができる。いくつかの実施形態において、第１の結果は、データストリングを含んでもよい。いくつかの実施形態において、第１の結果は、共有データセットの選択された要素内の情報に基づく値を含んでもよい。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、情報内の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、選択された要素の情報に基づいてデータストリングを生成することができ、かつ選択された要素の情報の変換を行って（例えば、ハッシュを生成して）第１の結果を生成することができる。
【０１８４】
ブロック７０８で、第１のコンピューティングデバイスのプロセッサは、ルールセットを第２のコンピューティングデバイス（例えば、コンピューティングデバイス１０８）に送信することができる。いくつかの実施形態において、第１のコンピューティングデバイスは、ルールセットを含む検証要求を第２のコンピューティングデバイスに送信することができる。
【０１８５】
ブロック７１０で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスからルールセット（または検証要求）を受信することができる。
【０１８６】
ブロック７１２で、第２のコンピューティングデバイスのプロセッサは、ルールセットを使用して、共有データセットから、選択された要素を抽出することができる。例えば、第２のコンピューティングデバイスのプロセッサは、選択された要素５２０〜５２８の各々の識別子を使用して、第２のコンピューティングデバイスに記憶された共有データセットから、選択された要素を抽出することができる。別の例として、第２のコンピューティングデバイスのプロセッサは、選択された要素（例えば、要素５２０〜５２８のうちの１つ以上、または共有データセット６００ａ、６００ｂ、６００ｃ、もしくは６００ｄの要素のうちの１つ以上）のうちの１つの１つ以上の識別子および選択された要素の中の１つ以上の関係を使用して、共有データセットから、選択された要素を抽出することができる。
【０１８７】
ブロック７１４で、第２のコンピューティングデバイスのプロセッサは、選択された要素に基づいて、第２の結果を生成することができる。いくつかの実施形態において、第２の結果は、データストリングを含んでもよい。いくつかの実施形態において、第２の結果は、共有データセットの選択された要素の情報に基づく値を含んでもよい。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、情報内の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、選択された要素の情報に基づいてデータストリングを生成することができ、かつ選択された要素の情報の変換を行って（例えば、ハッシュを生成して）第１の結果を生成することができる。様々な実施形態において、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスが第１の結果を生成するために使用する第２の結果を生成する同じ方法を使用することができる。
【０１８８】
ブロック７１６で、第２のコンピューティングデバイスのプロセッサは、第２の結果を第１のコンピューティングデバイスに送信することができる。
【０１８９】
ブロック７１８で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスから第２の結果を受信することができる。
【０１９０】
判定ブロック７２０で、第１のコンピューティングデバイスのプロセッサは、第１の結果が第２の結果に一致するかどうかを判定することができる。例えば、プロセッサは、第１の結果および第２の結果の製品がゼロに等しいかどうかを判定することができる。別の例として、プロセッサは、第１の結果と第２の結果とを比較することができる。第１の結果が第２の結果に一致しない（すなわち、判定ブロック７２０＝「いいえ」）と判定することに応答して、ブロック７２２で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証しないと判定することができる。
【０１９１】
ブロック７２４で、第１のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスが第２のコンピューティングデバイスと通信することを防止することができる。
【０１９２】
随意のブロック７２６で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証しない旨の指示を送信することができる。例えば、第１のコンピューティングデバイスは、指示を第２のコンピューティングデバイスに送信することができる。別の例として、第１のコンピューティングデバイスは、指示を別のコンピューティングデバイス（例えば、コンピューティングデバイス１０６）に送信することができる。
【０１９３】
第１の結果が第２の結果に一致する（すなわち、判定ブロック７２０＝「はい」）と判定することに応答して、ブロック７２８で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証しないと判定することができる。
【０１９４】
ブロック７３０で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスとの通信を可能にすることができる。
【０１９５】
随意のブロック７３２で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証する旨の指示を送信することができる。例えば、第１のコンピューティングデバイスは、指示を第２のコンピューティングデバイスに送信することができる。別の例として、第１のコンピューティングデバイスは、指示を別のコンピューティングデバイス（例えば、コンピューティングデバイス１０６）に送信することができる。
【０１９６】
第１のコンピューティングデバイスのプロセッサは、次いで、ブロック３０２（図３Ａ、図３Ｂ、および図３Ｃ）の動作に進むことができる。
【０１９７】
いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサが第２のコンピューティングデバイスとの通信を可能にした場合（例えば、ブロック７３０）、第２のコンピューティングデバイスのプロセッサは、次いで、ブロック３０２（図３Ａ、図３Ｂ、および図３Ｃ）の動作に進むことができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサが、第２のコンピューティングデバイスを認証する旨の指示を送信する場合（例えば、ブロック７３２）、第２のコンピューティングデバイスのプロセッサは、次いで、ブロック３０２（図３Ａ、図３Ｂ、および図３Ｃ）の動作に進むことができる。
【０１９８】
図８は、方法７００のブロック７０２および７０４で行うことができる動作を含む方法８００を例示する。図１Ａ〜図８を参照して、方法８００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。
【０１９９】
図４および図７のブロック４０２の動作を行った後に、ブロック８０２で、第１のコンピューティングデバイスのプロセッサは、共有データセットの１つ以上の部分を選択することができる。例えば、プロセッサは、共有データセット５００および６００ａ〜６００ｄのうちの１つの１つ以上の部分を選択することができる。
【０２００】
ブロック８０４で、第１のコンピューティングデバイスのプロセッサは、共有データセットの１つ以上の部分の中から２つ以上の要素を選択することができる。例えば、第１のコンピューティングデバイスのプロセッサは、共有データセット５００および６００ａ〜６００ｄ（例えば、要素５２２〜５２８、６２０ａ〜６３８ａ、６２０ｂ〜６３０ｂ、６２０ｃ〜６３６ｃ、および６２０ｄ〜６３０ｄ）の中から２つ以上の要素を選択することができる。
【０２０１】
ブロック８０６で、第１のコンピューティングデバイスのプロセッサは、選択された２つ以上の要素間の１つ以上の関係を決定することができる。いくつかの実施形態において、関係（複数可）は、共有データセット５００および６００ａ〜６００ｄに関して上で説明したような、要素間または要素の中の１つ以上の比較差に基づくことができる。
【０２０２】
ブロック８０８で、第１のコンピューティングデバイスのプロセッサは、選択された２つ以上の要素間の決定された１つ以上の関係に基づいて、ルールセットを生成することができる。例えば、プロセッサは、選択された２つ以上の要素を識別するルールセットを生成することができる。いくつかの実施形態において、プロセッサは、共有データセットの選択された要素間または要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。２つ以上の要素間の関係は、２つ以上の要素間の比較差を含んでもよい。
【０２０３】
第１のコンピューティングデバイスのプロセッサは、次いで、ブロック７０６（図７）の動作を行うことができる。
【０２０４】
図９は、方法７００のブロック７０２および７０４において行うことができる動作を含む方法９００を例示する。図１Ａ〜図９を参照して、方法９００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。ブロック８０２および８０４で、プロセッサは、方法８００の同様の番号が付されたブロックの動作を行うことができる。
【０２０５】
ブロック９０２で、第１のコンピューティングデバイスのプロセッサは、一次要素として要素のうちの１つを選択することができる。例えば、プロセッサは、共有データセット５００および６００ａ〜６００ｄから選択される要素（例えば、要素５２２〜５２８、６２０ａ〜６３８ａ、６２０ｂ〜６３０ｂ、６２０ｃ〜６３６ｃ、および６２０ｄ〜６３０ｄ）から一次要素を選択することができる。
【０２０６】
ブロック９０４で、第１のコンピューティングデバイスのプロセッサは、選択された一次要素と共有データセットの１つ以上の他の要素間の１つ以上の関係を決定することができる。いくつかの実施形態において、関係（複数可）は、共有データセット５００および６００ａ〜６００ｄに関して上で説明したような、要素間または要素の中の１つ以上の比較差に基づくことができる。
【０２０７】
ブロック９０６で、第１のコンピューティングデバイスのプロセッサは、選択された一次要素と１つ以上の他の要素間の決定された１つ以上の関係に基づいて、ルールセットを生成することができる。例えば、プロセッサは、一次要素、ならびに一次要素と共有データセットの１つ以上の他の要素間またはそれらの中の１つ以上の関係を識別するルールセットを生成することができる。関係（複数可）は、要素間および／または要素の中の１つ以上の比較差を含んでもよい。例えば、ルールセットは、要素５２０ならびに要素５２０と他の選択された要素との関係に関する情報だけを使用して、別のコンピューティングデバイスが共有データセットから他の選択された要素（要素５２２〜５２８）を識別することを可能にするのに十分な、要素５２０の識別子と、要素５２０と他の選択された要素（要素５２２〜５２８）との関係に関する情報と、を含んでもよい。
【０２０８】
第１のコンピューティングデバイスのプロセッサは、次いで、ブロック７０６（図７）の動作を行うことができる。
【０２０９】
図１０は、方法７００のブロック７１２において行うことができる動作を含む方法１０００を例示する。図１Ａ〜図１０を参照して、方法１０００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。
【０２１０】
図７のブロック７１０の動作を行った後に、ブロック１００２で、第２のコンピューティングデバイスのプロセッサは、共有データセットを取得することができる。例えば、第２のコンピューティングデバイスのプロセッサは、メモリから共有データセットをリコールすることができる。
【０２１１】
ブロック１００４で、第２のコンピューティングデバイスのプロセッサは、ルールセットに示される、共有データセットの１つ以上の要素を識別することができる。例えば、ルールセットは、共有データセットの１つ以上の選択された要素を識別することができる。別の例として、ルールセットは、共有データセットの一次要素を識別することができる。
【０２１２】
ブロック１００６で、第２のコンピューティングデバイスのプロセッサは、ルールセットに示される１つ以上の関係を識別することができる。１つ以上の関係は、共有データセットの要素のうちの１つ以上の、１つ以上の比較差に基づくことができる。１つ以上の関係は、共有データセットの一次要素に関連付けることができる。
【０２１３】
ブロック１００８で、第２のコンピューティングデバイスのプロセッサは、識別された１つ以上の要素および／または１つ以上の識別された関係を使用して、共有データセットから要素を抽出することができる。いくつかの実施形態において、識別された１つ以上の要素および／または１つ以上の識別された関係は、第２のコンピューティングデバイスのプロセッサが共有データセットの選択された要素を識別することを可能にするのに十分な情報を提供する。
【０２１４】
第２のコンピューティングデバイスのプロセッサは、次いで、ブロック７１４（図７）の動作を行うことができる。
【０２１５】
図１１は、いくつかの実施形態による、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスを双方向に認証する方法１１００を例示する。図１Ａ〜図１１を参照して、方法１１００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。ブロック４０２および４０４で、プロセッサは、方法４００の同様の番号が付されたブロックの動作を行うことができる。
【０２１６】
いくつかの実施形態において、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、２つ以上のデータセットを共有することができる。例えば、第１のコンピューティングデバイスは、第１のデータセットを生成またはコンパイルすることができ、第１のコンピューティングデバイスは、第１のデータセットを第２のコンピューティングデバイスと共有することができる。同様に、第２のコンピューティングデバイスは、第２のデータセットを生成またはコンパイルすることができ、第２のデータセットを第１のコンピューティングデバイスと共有することができる。データセットの数にはいかなる制限もなく、任意のコンピューティングデバイスが記憶すること、または別のコンピューティングデバイスと共有することができる（ただし、データセットは、共有データセットである）。したがって、方法１１００に関して下で説明する動作は、１つの共有データセットを参照するが、いくつかの実施形態において、方法１１００の動作は、２つ（または２つ以上）の共有データセットを使用して行うことができる。
【０２１７】
いくつかの実施形態において、データセットを共有することは、コンピューティングデバイス（例えば、図３の動作３０２〜３０６）によって生成される、またはそこから取得される１つ以上の一時的アイデンティティを共有すること（すなわち送信および／または受信すること）を含んでもよい。
【０２１８】
ブロック１１０２で、第１のコンピューティングデバイスのプロセッサは、（例えば、第２のコンピューティングデバイスと共有される）共有データセットから、第１の要素のセットを選択することができる。例えば、第１のコンピューティングデバイスのプロセッサは、共有データセット５００および６００ａ〜６００ｄの部分の中から要素を選択することができる。
【０２１９】
ブロック１１０４で、第１のコンピューティングデバイスのプロセッサは、選択された要素を示す第１のルールセットを生成することができる。いくつかの実施形態において、ルールセットは、共有データセットから、選択された要素を識別することができる。いくつかの実施形態において、プロセッサは、共有データセットの選択された要素間または要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。２つ以上の要素間の関係は、２つ以上の要素間の比較差を含んでもよい。いくつかの実施形態において、プロセッサは、選択された要素の識別子と選択された要素の中の１つ以上の関係との組み合わせを使用して、ルールセットを生成することができる。いくつかの実施形態において、ルールセットは、選択された要素のうちの１つだけの識別子、および１つの選択された要素と他の選択された要素との関係を含んでもよい。
【０２２０】
ブロック１１０６で、第１のコンピューティングデバイスのプロセッサは、選択された要素に基づいて、第１の結果を生成することができる。いくつかの実施形態において、第１の結果は、データストリングを含んでもよい。いくつかの実施形態において、第１の結果は、共有データセットの選択された要素内の情報に基づく値を含んでもよい。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、情報内の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、選択された要素の情報に基づいてデータストリングを生成することができ、かつ選択された要素の情報の変換を行って（例えば、ハッシュを生成して）第１の結果を生成することができる。
【０２２１】
ブロック１１０８で、第１のコンピューティングデバイスのプロセッサは、第１のルールセットを第２のコンピューティングデバイスに送信することができる。
【０２２２】
ブロック１１１０で、第２のコンピューティングデバイスのプロセッサは、（例えば、第１のコンピューティングデバイスと共有される）共有データセットから、第２の要素のセットを選択することができる。例えば、第２のコンピューティングデバイスのプロセッサは、共有データセット５００および６００ａ〜６００ｄの部分の中から要素を選択することができる。
【０２２３】
ブロック１１１２で、第２のコンピューティングデバイスのプロセッサは、選択された要素を示す第２のルールセットを生成することができる。いくつかの実施形態において、ルールセットは、共有データセットから、選択された要素を識別することができる。いくつかの実施形態において、プロセッサは、共有データセットの選択された要素間または要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。２つ以上の要素間の関係は、２つ以上の要素間の比較差を含んでもよい。いくつかの実施形態において、プロセッサは、選択された要素の識別子と選択された要素の中の１つ以上の関係との組み合わせを使用して、ルールセットを生成することができる。いくつかの実施形態において、ルールセットは、選択された要素のうちの１つだけの識別子、および１つの選択された要素と他の選択された要素との関係を含んでもよい。
【０２２４】
ブロック１１１４で、第２のコンピューティングデバイスのプロセッサは、選択された要素に基づいて、第２の結果を生成することができる。いくつかの実施形態において、第２の結果は、データストリングを含んでもよい。いくつかの実施形態において、第２の結果は、共有データセットの選択された要素の情報に基づく値を含んでもよい。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、情報内の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、選択された要素の情報に基づいてデータストリングを生成することができ、かつ選択された要素の情報の変換を行って（例えば、ハッシュを生成して）第１の結果を生成することができる。
【０２２５】
ブロック１１１６で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスから第１のルールセットを受信することができる。
【０２２６】
ブロック１１１８で、第２のコンピューティングデバイスのプロセッサは、第２のルールセットを第１のコンピューティングデバイスに送信することができる。
【０２２７】
ブロック１１２０で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスから第２のルールセットを受信することができる。
【０２２８】
ブロック１１２２で、第１のコンピューティングデバイスのプロセッサは、第２のルールセットを使用して、共有データセットから、選択された要素（すなわち、第２のコンピューティングデバイスによって選択された要素）を抽出することができる。例えば、第１のコンピューティングデバイスのプロセッサは、選択された要素の各々の識別子を使用して、第１のコンピューティングデバイスに記憶された共有データセットから、選択された要素を抽出することができる。別の例として、第１のコンピューティングデバイスのプロセッサは、選択された要素のうちの１つの１つ以上の識別子および選択された要素の中の１つ以上の関係を使用して、共有データセットから、選択された要素を抽出することができる。
【０２２９】
ブロック１１２４で、第１のコンピューティングデバイスのプロセッサは、選択された要素に基づいて、第３の結果を生成することができる。いくつかの実施形態において、第３の結果は、データストリングを含んでもよい。いくつかの実施形態において、第３の結果は、共有データセットの選択された要素内の情報に基づく値を含んでもよい。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、情報内の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第１のコンピューティングデバイスのプロセッサは、選択された要素の情報に基づいてデータストリングを生成することができ、かつ選択された要素の情報の変換を行って（例えば、ハッシュを生成して）第３の結果を生成することができる。
【０２３０】
「変換」は、より広く定義される必要がある＝任意の数値演算、数のシフト、任意の計算または動作、任意の言語への変換。
【０２３１】
様々な実施形態において、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスが第２の結果を生成するために使用する第３の結果を生成する同じ方法を使用することができる。
【０２３２】
ブロック１１２６で、第１のコンピューティングデバイスのプロセッサは、第３の結果を第２のコンピューティングデバイスに送信することができる。
【０２３３】
ブロック１１２８で、第２のコンピューティングデバイスのプロセッサは、第１のルールセットを使用して、共有データセットから、選択された要素（すなわち、第１のコンピューティングデバイスによって選択された要素）を抽出することができる。例えば、第２のコンピューティングデバイスのプロセッサは、選択された要素の各々の識別子を使用して、第２のコンピューティングデバイスに記憶された共有データセットから、選択された要素を抽出することができる。別の例として、第２のコンピューティングデバイスのプロセッサは、選択された要素のうちの１つの１つ以上の識別子および選択された要素の中の１つ以上の関係を使用して、共有データセットから、選択された要素を抽出することができる。
【０２３４】
ブロック１１３０で、第２のコンピューティングデバイスのプロセッサは、選択された要素に基づいて、第４の結果を生成することができる。いくつかの実施形態において、第４の結果は、データストリングを含んでもよい。いくつかの実施形態において、第４の結果は、共有データセットの選択された要素内の情報に基づく値を含んでもよい。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、情報の値のハッシュを生成することなどの、選択された要素の情報の変換を行うことができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、選択された要素の情報に基づいてデータストリングを生成することができ、かつ選択された要素の情報の変換を行って、第４の結果を生成することができる。様々な実施形態において、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスが第１の結果を生成するために使用する第４の結果を生成する同じ方法を使用することができる。
【０２３５】
ブロック１１３２で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスから第３の結果を受信することができる。
【０２３６】
ブロック１１３４で、第２のコンピューティングデバイスのプロセッサは、第４の結果を第１のコンピューティングデバイスに送信することができる。
【０２３７】
ブロック１１３６で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスから第４の結果を受信することができる。
【０２３８】
判定ブロック１１３８で、第１のコンピューティングデバイスのプロセッサは、第１の結果が第４の結果に一致するかどうかを判定することができる。例えば、第１のコンピューティングデバイスのプロセッサは、共有データセットからの選択された要素を使用して第１のコンピューティングデバイスのプロセッサによって生成される第１の結果が、共有データセットからの選択された要素を使用して第２のコンピューティングデバイスのプロセッサによって生成される第４の結果に一致するかどうかを判定することができる。いくつかの実施形態において、比較は、第１の結果および第４の結果の差がゼロに等しいかどうかを判定することを含んでもよい。
【０２３９】
第１の結果が第４の結果に一致しない（すなわち、判定ブロック１１３８＝「いいえ」）と判定することに応答して、ブロック１１４０で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証しないと判定することができる。
【０２４０】
ブロック１１４２で、第１のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスが第２のコンピューティングデバイスと通信することを防止することができる。
【０２４１】
随意のブロック１１４４で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証しない旨の指示を送信することができる。例えば、第１のコンピューティングデバイスは、指示を第２のコンピューティングデバイスに送信することができる。別の例として、第１のコンピューティングデバイスは、指示を別のコンピューティングデバイスに送信することができる。
【０２４２】
第２の結果が第３の結果に一致する（すなわち、判定ブロック１１３８＝「はい」）と判定することに応答して、ブロック１１４６で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証すると判定することができる。
【０２４３】
ブロック１１４８で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスとの通信を可能にすることができる。
【０２４４】
随意のブロック１１５０で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスを認証する旨の指示を送信することができる。例えば、第１のコンピューティングデバイスは、指示を第２のコンピューティングデバイスに送信することができる。別の例として、第１のコンピューティングデバイスは、指示を別のコンピューティングデバイスに送信することができる。
【０２４５】
様々な実施形態において、第１のコンピューティングデバイスのプロセッサは、次いで、ブロック３０２（図３Ａ、図３Ｂ、および図３Ｃ）に進むことができる
【０２４６】
判定ブロック１１５２で、第２のコンピューティングデバイスのプロセッサは、第２の結果が第３の結果に一致するかどうかを判定することができる。第２の結果が第３の結果に一致しない（すなわち、判定ブロック１１５２＝「いいえ」）と判定することに応答して、ブロック１１５４で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスを認証しないと判定することができる。
【０２４７】
ブロック１１５６で、第２のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスが第１のコンピューティングデバイスと通信することを防止することができる。
【０２４８】
随意のブロック１１５８で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスを認証しない旨の指示を送信することができる。例えば、第２のコンピューティングデバイスは、指示を第１のコンピューティングデバイスに送信することができる。別の例として、第２のコンピューティングデバイスは、指示を別のコンピューティングデバイスに送信することができる。
【０２４９】
第２の結果が第３の結果に一致する（すなわち、判定ブロック１１５２＝「はい」）と判定することに応答して、ブロック１１６０で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスを認証すると判定することができる。
【０２５０】
ブロック１１６２で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスとの通信を可能にすることができる。
【０２５１】
随意のブロック１１６４で、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスを認証する旨の指示を送信することができる。例えば、第２のコンピューティングデバイスは、指示を第１のコンピューティングデバイスに送信することができる。別の例として、第２のコンピューティングデバイスは、指示を別のコンピューティングデバイス（例えば、コンピューティングデバイス１０６）に送信することができる。
【０２５２】
様々な実施形態において、第２のコンピューティングデバイスのプロセッサは、次いで、ブロック３０２（図３Ａ、図３Ｂ、および図３Ｃ）に進むことができる。
【０２５３】
図１２は、第２のコンピューティングデバイス（例えば、コンピューティングデバイス、例えば、図１Ｂ〜図２の１０８、１８８、および２００）に対して第１のコンピューティングデバイス（例えば、図１Ｂ〜図２のコンピューティングデバイス１０２、１０４、１８４、１８６、および２００）を認証する方法１２００を例示する。図１Ａ〜図１２を参照して、方法１２００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。ブロック７０６〜７３２で、プロセッサは、方法７００の同様の番号が付されたブロックの動作を行うことができる。
【０２５４】
ブロック１２０２および１２０４で、第１のコンピューティングデバイスのプロセッサおよび第２のコンピューティングデバイスのプロセッサは、第１の一時的アイデンティティを共有することができる。例えば、上で論じたように、第１のコンピューティングデバイスは、１つ以上の第１の一時的アイデンティティを生成または取得することができ、第１のコンピューティングデバイスは、１つ以上の第１の一時的アイデンティティを第２のコンピューティングデバイスと共有する（例えば、送信する）ことができる。いくつかの実施形態において、第１のコンピューティングデバイスは、第１の一時的アイデンティティを第２のコンピューティングデバイスと経時的に共有することができる。いくつかの実施形態において、共有された（すなわち、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの両方に記憶された）第１の一時的アイデンティティは、共有データセットを構成することができる。いくつかの実施形態において、ブロック１２０２および１２０４の動作は、動的に共有データセットを改変するための、方法４００の１つ以上の動作を含んでもよい。
【０２５５】
ブロック１２０６で、第１のコンピューティングデバイスのプロセッサは、１つ以上の第１の一時的アイデンティティを選択することができる。いくつかの実施形態において、選択された第１の一時的アイデンティティは、第１の一時的アイデンティティの共有データセットの部分とみなすことができる。いくつかの実施形態において、選択された第１の一時的アイデンティティは、以前に使用した第１の一時的アイデンティティであり得る。例えば、選択された第１の一時的アイデンティティは、以前に行われた認証動作において第１のコンピューティングデバイスを認証するために使用されたものであり得る。
【０２５６】
ブロック１２０８で、第１のコンピューティングデバイスのプロセッサは、選択された１つ以上の一時的アイデンティティ内から要素を選択することができる。いくつかの実施形態において、選択された要素は、選択された１つ以上の一時的アイデンティティに含まれる任意の情報を含んでもよい。
【０２５７】
ブロック１２１０で、第１のコンピューティングデバイスのプロセッサは、選択された要素を示すルールセットを生成することができる。いくつかの実施形態において、ルールセットは、選択された１つ以上の第１の一時的アイデンティティから、選択された要素を識別することができる。いくつかの実施形態において、プロセッサは、選択された一時的アイデンティティの選択された要素間または要素の中の１つ以上の関係に基づいて、ルールセットを生成することができる。
【０２５８】
ブロック７０６で、第１のコンピューティングデバイスのプロセッサは、選択された要素を変換して、第１の結果を生成することができる。ブロック４１２で、第１のコンピューティングデバイスのプロセッサは、ルールセットおよび第１の結果を第２のコンピューティングデバイス（例えば、コンピューティングデバイス１０８）に送信することができる。ブロック４１４で、第２のコンピューティングデバイスのプロセッサは、ルールセットおよび第１の結果を受信することができる。
【０２５９】
ブロック１２１２で、第２のコンピューティングデバイスのプロセッサは、ルールセットを使用して、第２のコンピューティングデバイスに記憶された第１の一時的アイデンティティから、選択された要素を抽出することができる。例えば、第２のコンピューティングデバイスのプロセッサは、選択された要素の識別子の各々を使用して、第２のコンピューティングデバイスに記憶された第１の一時的アイデンティティから、選択された要素を抽出することができる。別の例として、第２のコンピューティングデバイスのプロセッサは、選択された要素のうちの１つの１つ以上の識別子および選択された要素の中の１つ以上の関係を使用して、第１の一時的アイデンティティから、選択された要素を抽出することができる。
【０２６０】
ブロック７１４で、第２のコンピューティングデバイスのプロセッサは、抽出された要素を変換して、第２の結果を生成することができ、かつブロック７１６で、第２の結果を第１のコンピューティングデバイスに送信することができる。実質的に上で説明したように、ブロック７１８で、第１のコンピューティングデバイスのプロセッサは、第２のコンピューティングデバイスから第２の結果を受信することができ、かつ判定ブロック７２０で、第１の結果が第２の結果に一致するかどうかを判定することができる。
【０２６１】
図１３は、いくつかの実施形態による、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスを双方向に認証する方法１３００を例示する。図１Ａ〜図１３を参照して、方法１３００は、コンピューティングデバイス（例えば、コンピューティングデバイス１０２〜１０８、１８４〜１８８、および２００）のプロセッサ（例えば、プロセッサ２０２および／または同類のもの）によって実施することができる。ブロック１１０４〜１１６４で、プロセッサは、方法１１００の同様の番号が付されたブロックの動作を行うことができる。
【０２６２】
ブロック１３０１ａおよび１３０１ｂで、第１のコンピューティングデバイスのプロセッサおよび第２のコンピューティングデバイスのプロセッサは、一時的アイデンティティを共有することができる。例えば、上で説明したように、第１のコンピューティングデバイスは、１つ以上の第１の一時的アイデンティティを生成または取得することができ、第１のコンピューティングデバイスは、１つ以上の第１の一時的アイデンティティを第２のコンピューティングデバイスと共有する（例えば、送信する）ことができる。いくつかの実施形態において、第１のコンピューティングデバイスは、第１の一時的アイデンティティを第２のコンピューティングデバイスと経時的に共有することができる。いくつかの実施形態において、共有された（すなわち、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの両方に記憶された）第１の一時的アイデンティティは、共有データセットを構成することができる。
【０２６３】
追加的または代替的に、いくつかの実施形態において、上で論じたように、第２のコンピューティングデバイスは、１つ以上の第２の一時的アイデンティティを生成または取得することができ、第２のコンピューティングデバイスは、１つ以上の第２の一時的アイデンティティを第１のコンピューティングデバイスと共有する（例えば、送信する）ことができる。いくつかの実施形態において、第２のコンピューティングデバイスは、第２の一時的アイデンティティを第１のコンピューティングデバイスと経時的に共有することができる。いくつかの実施形態において、共有された（すなわち、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの両方に記憶された）第２の一時的アイデンティティは、第２の共有データセットを構成することができる。
【０２６４】
ブロック１３０６の動作で、いくつかの実施形態において、第２のコンピューティングデバイスは、第１のコンピューティングデバイスから受信した第１の一時的アイデンティティで構成される共有データセットから、第２の一時的アイデンティティを選択することができる。さらに、いくつかの実施形態において、第２のコンピューティングデバイスは、第２のコンピューティングデバイスによって取得され、かつ第１のコンピューティングデバイスと共有される第２の一時的アイデンティティで構成される共有データセットから、第２の一時的アイデンティティを選択することができる。
【０２６５】
したがって、いくつかの実施形態において、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、２つ以上のデータセットを共有することができる。
【０２６６】
いくつかの実施形態において、ブロック１３０１ａおよび１３０１ｂの動作は、動的に共有データセット（複数可）を改変するための、方法４００の１つ以上の動作を含んでもよい。
【０２６７】
ブロック１３０２で、第１のコンピューティングデバイスのプロセッサは、１つ以上の第１の一時的アイデンティティを選択することができる。いくつかの実施形態において、第１の一時的アイデンティティは、第１の一時的アイデンティティが第１のコンピューティングデバイスおよび第２のコンピューティングデバイスによって共有されたデータセットであるように、第２のコンピューティングデバイスと共有されたものであり得る。いくつかの実施形態において、選択された第１の一時的アイデンティティは、第１の一時的アイデンティティの共有データセットの部分であり得る。
【０２６８】
ブロック１３０４で、第１のコンピューティングデバイスのプロセッサは、選択された１つ以上の第１の一時的アイデンティティから、第１の要素を選択することができる。
【０２６９】
ブロック１１０４で、第１のコンピューティングデバイスのプロセッサは、選択された第１の要素を示す第１のルールセットを生成することができる。
【０２７０】
ブロック１３０６で、第２のコンピューティングデバイスのプロセッサは、１つ以上の第２の一時的アイデンティティを選択することができる。様々な実施形態において、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスは、１つ以上のデータセットを共有することができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスと共有される第１の共有データセットから、第２の一時的アイデンティティを選択することができる。いくつかの実施形態において、第２のコンピューティングデバイスのプロセッサは、第１のコンピューティングデバイスと共有される第２の共有データセットから、第２の一時的アイデンティティを選択することができる（一方で、第１のコンピューティングデバイスは、第１のコンピューティングデバイスおよび第２のコンピューティングデバイスの両方によって共有される第１のデータセットから、１つ以上の第１の一時的アイデンティティを選択することができる）。
【０２７１】
ブロック１３０８で、第２のコンピューティングデバイスのプロセッサは、選択された１つ以上の第２の一時的アイデンティティから、第２の要素を選択することができる。
【０２７２】
ブロック１１１２で、第２のコンピューティングデバイスのプロセッサは、選択された第２の要素を示す第２のルールセットを生成することができる。
【０２７３】
ブロック１３１０で、第１のコンピューティングデバイスのプロセッサは、受信した第２のルールセットを使用して、第２の一時的アイデンティティから、選択された要素（すなわち、第２のコンピューティングデバイスによって選択された要素）を抽出することができる。例えば、第１のコンピューティングデバイスのプロセッサは、選択された要素の各々の識別子を使用して、第１のコンピューティングデバイスに記憶された第２の一時的アイデンティティから、選択された要素を抽出することができる。別の例として、第１のコンピューティングデバイスのプロセッサは、選択された要素のうちの１つの１つ以上の識別子および選択された要素の中の１つ以上の関係を使用して、第２の一時的アイデンティティから、選択された要素を抽出することができる。
【０２７４】
ブロック１３１２で、第２のコンピューティングデバイスのプロセッサは、第１のルールセットを使用して、第１の一時的アイデンティティから、選択された要素（すなわち、第１のコンピューティングデバイスによって選択された要素）を抽出することができる。例えば、第２のコンピューティングデバイスのプロセッサは、選択された要素の識別子の各々を使用して、第２のコンピューティングデバイスに記憶された第１の一時的アイデンティティから、選択された要素を抽出することができる。別の例として、第２のコンピューティングデバイスのプロセッサは、選択された要素のうちの１つの１つ以上の識別子および選択された要素の中の１つ以上の関係を使用して、第１の一時的アイデンティティから、選択された要素を抽出することができる。
【０２７５】
様々な実施形態は、動的に変更される共有情報コンテキストを利用することによって、通信ネットワーク上のコンピューティングデバイスの検証を強化および改善する。情報コンテキストは、例えば、共有データセットを含んでもよい。いくつかの実施形態において、共有データセットは、認証されたおよび／またはセキュアな取引中に共有されるコンピューティングデバイスの１つ以上の一時的アイデンティティを含んでもよい。いくつかの実施形態において、一時的アイデンティティは、２つのコンピューティングデバイスの一方または両方を認証するために以前に使用されたものであり得る。これは、２つのコンピューティングデバイスに一意である様態で、共有データセットを経時的にコンパイルすることを可能にする。このように共有データセットを確立することは、２つのコンピューティングデバイスが２つのコンピューティングデバイス間のおよびそれらの中の通信の履歴コンテキストに一意である共有データセットを保有することを可能にする。加えて、そのような共有データセットは、予測不可能な様態で頻繁に変更され、それによって、コンピューティングデバイスのうちの１つが危殆化されて共有データセットが盗まれた場合であっても、コンピューティングデバイスが確実に互いを認証し、かつ詐称者を認識することができることを確実にする。共有データセットは、コンピューティングデバイスの一方または両方によって、時々、周期的に、および／またはトリガイベントの発生時（例えば、一方または他方のコンピューティングデバイスが危殆化されたと疑われるとき）に変更することができる。共有データセットを変更または改変することは、データセットを再順序付けすること、情報をデータセットに加えること、および／または情報をデータセットから減ずることを含んでもよい。
【０２７６】
様々な実施形態は、関与する通信デバイスの認証を可能にすることによって、各関与するコンピューティングデバイス、ならびに通信システム全体の機能を高めることができる。様々な実施形態は、ヘルスケア記録管理、セキュアな通信（例えば、政府機関、ビジネス機関、情報機関など）、公的記録管理システム、投票システム、金融サービスシステム、セキュリティ仲介システム、およびその他多数を含む、広範囲にわたる通信および／または情報取引コンテキストにおいて、各関与するコンピューティングデバイスの機能を高める。様々な実施形態はまた、モノのインターネットの、および様々なＩｏＴデバイスの中の、またはＩｏＴデバイスの中の、およびルータ、サーバ、ＩｏＴハブ、もしくは別の類似するデバイスなどのＩｏＴデバイスコントローラの通信の機能も高めることができる。特に、様々な実施形態は、ＩｏＴ環境に実装したときに、人間の介入を伴うことなく、分散型サービス妨害（ＤＤｏＳ）攻撃を防ぐ際に特に使用するものであり得る。様々な実施形態はまた、遠隔制御車両、半自律車両、および自律車両の機能も高めることができる。様々な実施形態は、拒否不能な情報取引を行うことを可能にすることによって、通信システムの機能を高めることができ、該情報取引では、特定のコンピューティングデバイスの関与を認証することができるので、認証プロシージャは、当事者が、情報取引に実際に関与したという推定を作り出すエビデンスを生成することができる。
【０２７７】
例示し、説明する様々な実施形態は、特許請求の範囲の様々な特徴を例示するために、単なる一例として提供される。しかしながら、任意の所与の実施形態に関して示し、説明する特徴は、必ずしも関連付けられた実施形態に限定されるわけではなく、示し、説明する他の実施形態を、またはそれと組み合わせて使用することができる。さらに、特許請求の範囲は、任意の１つの例示的実施形態によって限定されることを意図しない。例えば、方法３００、３００ａ、３００ｂ、３００ｃ、４００、７００、８００、９００、１０００、１１００、１２００、および１３００の動作のうちの１つ以上は、方法３００、３００ａ、３００ｂ、３００ｃ、４００、７００、８００、９００、１０００、１１００、１２００、および１３００のうちの１つ以上の動作と置換する、または組み合わせることができる。
【０２７８】
図１４は、様々な実施形態を実施するのに適したモバイル無線コンピューティングデバイス１４００の構成要素のブロック図である。図１Ａ〜図１４を参照して、モバイル無線通信デバイス１４００は、タッチスクリーンコントローラ１４０６および内部メモリ１４０４に接続されたプロセッサ１４０２を含んでもよい。プロセッサ１４０２は、一般または特定処理タスクに指定された１つ以上のマルチコア集積回路とすることができる。内部メモリ１４０４は、揮発性メモリまたは不揮発性メモリとすることができ、さらに、セキュアおよび／または暗号化メモリ、または非セキュアおよび／または非暗号化メモリ、またはこれらの任意の組み合わせとすることができる。タッチスクリーンコントローラ１４０６およびプロセッサ１４０２はまた、抵抗感知タッチスクリーン、容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのタッチスクリーンパネル１４１２に接続することもできる。加えて、モバイル無線通信デバイス１４００のディスプレイは、タッチスクリーン能力を有する必要はない。
【０２７９】
モバイル無線通信デバイス１４００は、互いにおよび／またはプロセッサ１４０２に接続された、通信を送信および受信するための、２つ以上の無線信号トランシーバ１４０８（例えば、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＺｉｇＢｅｅ、Ｗｉ−Ｆｉ、無線周波数（ＲＦ）など）と、アンテナ１４１０と、を有することができる。トランシーバ１４０８およびアンテナ１４１０は、上で述べた回路と共に使用して、様々な無線伝送プロトコルスタックおよびインターフェースを実装することができる。モバイル無線通信デバイス１４００は、２つ以上のセルラネットワークを介する２つ以上の無線アクセス技術を介した通信を可能にするプロセッサおよびアンテナ１４１０に接続された、１つ以上のセルラネットワーク無線モデムチップ１４１６を含んでもよい。
【０２８０】
モバイル無線通信デバイス１４００は、プロセッサ１４０２に接続された周辺無線デバイス接続インターフェース１４１８を含んでもよい。周辺無線デバイス接続インターフェース１４１８は、１つのタイプの接続を受け入れるように単独で構成することができ、またはＵＳＢ、ＦｉｒｅＷｉｒｅ、Ｔｈｕｎｄｅｒｂｏｌｔ、もしくはＰＣＩｅなどの、共有または専用の、様々なタイプの物理的および通信接続を受け入れるように構成することができる。周辺無線デバイス接続インターフェース１４１８はまた、類似して構成された周辺無線デバイス接続ポート（図示せず）に接続することもできる。
【０２８１】
モバイル無線通信デバイス１４００はまた、オーディオ出力を提供するためのスピーカ１４１４も含んでもよい。モバイル無線通信デバイス１４００はまた、本明細書で論じられる構成要素の全部または一部を含むための、プラスチック、金属、または材料の組み合わせで構成されたハウジング１４２０も含んでもよい。モバイル無線通信デバイス１４００は、プロセッサ１４０２に接続された、使い捨てまたは充電式バッテリなどの電源１４２２を含んでもよい。充電式バッテリはまた、モバイル無線通信デバイス１４００の外部にあるソースから充電電流を受信するために、周辺無線デバイス接続ポートに接続することもできる。モバイル無線通信デバイス１４００はまた、ユーザ入力を受信するための物理的ボタン１４２４も含んでもよい。モバイル無線通信デバイス１４００はまた、モバイル無線通信デバイス１４００をオンおよびオフにするための電源ボタン１４２６も含んでもよい。
【０２８２】
コンピューティングデバイスの他の形態もまた、様々な態様から利益を得ることができる。そのようなコンピューティングデバイスとしては、典型的に、例示的なラップトップコンピュータ１５００を例示する図１５に例示される構成要素が挙げられる。図１Ａ〜図１５を参照して、コンピュータ１５００は、一般に、揮発性メモリ１５０２およびディスクドライブ１５０３などの大容量不揮発性メモリに接続されたプロセッサ１５０１を含む。コンピュータ１５００はまた、プロセッサ１５０１に接続されたコンパクトディスク（ＣＤ）および／またはＤＶＤドライブ１５０４も含んでもよい。コンピュータ１５００はまた、プロセッサ１５０１をネットワークに接続させるためのネットワーク接続回路１５０５などの、データ接続を確立するための、または外部メモリデバイスを受容するための、プロセッサ１５０１に接続された幾つかのコネクタポートも含んでもよい。コンピュータ１５００はまた、ディスプレイ１５０７、キーボード１５０８、トラックパッド１５１０などのポインティングデバイス、および他の類似するデバイスも含むこともできる。
【０２８３】
様々な実施形態は、通信ネットワークのネットワーク要素としてコンピューティングデバイスを用いることができる。そのようなネットワーク要素は、典型的に、図１６に例示される構成要素を少なくとも含むことができ、該図は、例示的なネットワーク要素、サーバデバイス１６００を例示する。図１Ａ〜図１６を参照して、サーバデバイス１６００は、典型的に、揮発性メモリ１６０２およびディスクドライブ１６０３などの大容量不揮発性メモリに接続されたプロセッサ１６０１を含んでもよい。サーバデバイス１６００はまた、プロセッサ１６０１に接続されたフロッピーディスクドライブ、コンパクトディスク（ＣＤ）、またはデジタルビデオディスク（ＤＶＤ）ドライブ１６０６などの、周辺メモリアクセスデバイスも含んでもよい。サーバデバイス１６００はまた、他のシステムコンピュータおよびサーバに接続されたインターネットおよび／またはローカルエリアネットワークなどのネットワークとのデータ接続を確立するための、プロセッサ１６０１に接続されたネットワークアクセスポート１６０４（またはインターフェース）も含んでもよい。同様に、サーバデバイス１６００は、周辺機器、外部メモリ、または他のデバイスに接続するための、ＵＳＢ、Ｆｉｒｅｗｉｒｅ、Ｔｈｕｎｄｅｒｂｏｌｔなどの、追加的なアクセスポートを含んでもよい。
【０２８４】
プロセッサ１４０２、１５０１、１６０１は、下で説明する様々な態様の機能を含む、様々な機能を行うためにソフトウェア命令（アプリケーション）によって構成することができる、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、または１つもしくは複数のマルチプロセッサチップとすることができる。いくつかのモバイルデバイスでは、無線通信機能専用の１つのプロセッサおよび他のアプリケーションの実行専用の１つのプロセッサなどの、マルチプロセッサ１４０２を提供することができる。典型的に、ソフトウェアアプリケーションは、アクセスしてプロセッサ１４０２、１５０１、１６０１にロードする前に、内部メモリ１４０４、１５０２、１６０２に記憶することができる。プロセッサ１４０２、１５０１、１６０１は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含んでもよい。
【０２８５】
様々な実施形態は、任意の数のシングルまたはマルチプロセッサシステムで実施することができる。通常、プロセスは、短いタイムスライスにおいてプロセッサ上で実行され、よって、多数のプロセスが単一のプロセッサ上で同時に動作しているように見える。プロセスがタイムスライスの終了時にプロセッサから除去されると、プロセスの現在の動作状態に関する情報がメモリに記憶されるので、プロセスは、プロセッサ上での実行に戻るときに、その動作をシームレスに再開することができる。この動作状態データは、プロセスのアドレス空間、スタック空間、仮想アドレス空間、レジスタセットイメージ（例えば、プログラムカウンタ、スタックポインタ、命令レジスタ、プログラムステータスワードなど）、アカウンティング情報、パーミッション、アクセス制限、および状態情報を含んでもよい。
【０２８６】
プロセスは他のプロセスをスポーンすることができ、スポーンされるプロセス（すなわち、子プロセス）は、スポーンするプロセス（すなわち、親プロセス）のパーミッションおよびアクセス制限（すなわち、コンテキスト）のいくつかを引き継ぐことができる。プロセスは、多数の軽量プロセスまたはスレッドを含む重量プロセスであり得、該軽量プロセスは、それらのコンテキスト（例えば、アドレス空間、スタック、パーミッション、および／またはアクセス制限など）のすべてまたは部分を他のプロセス／スレッドと共有するプロセスである。したがって、単一のプロセスは、単一のコンテキスト（すなわち、プロセッサのコンテキスト）を共有する、そこにアクセスする、および／またはその中で動作する、多数の軽量プロセスまたはスレッドを含んでもよい。
【０２８７】
前述の方法の説明およびプロセスフロー図は、単に例示的な例として提供され、様々な実施形態のブロックを、提示した順序で実行しなければならないことを必要とすること、または意味することを意図するものではない。当業者によって理解されるように、前述の実施形態のブロックの順序は、任意の順序で行うことができる。「その後に」、「次いで」、「次に」などの単語は、ブロックの順序を限定するものではなく、これらの単語は、方法の説明を通して読者を案内するために使用されるにすぎない。さらに、例えば、冠詞「ａ」、「ａｎ」、または「ｔｈｅ」を使用する単数形での特許請求要素に対するいかなる参照も、該要素を単数形に限定するものとして解釈されるべきではない。
【０２８８】
本明細書で開示される実施形態に関して記載される、様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムブロックは、電子ハードウェア、コンピュータソフトウェア、または両方の組み合わせとして実装することができる。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的な構成要素、ブロック、モジュール、回路、およびブロックを、概して、それらの機能に関して上で説明してきた。そのような機能がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の用途および全体的なシステムに課される設計制約に依存する。当業者は、記載される機能を各特定の用途について様々な方法で実施することができるが、そのような実施の決定が、特許請求の範囲の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【０２８９】
本明細書で開示される実施形態に関連して記載される様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ（ＤＳＰ）、特定用途向け集積回路（ＡＳＩＣ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェア構成要素、または本明細書に記載される機能を実行するように設計されたそれらの任意の組み合わせを用いて実施または実行することができる。汎用プロセッサは、マイクロプロセッサとすることができるが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械とすることができる。プロセッサはまた、通信デバイスの組み合わせ、例えばＤＳＰとマイクロプロセッサとの組み合わせ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つ以上のマイクロプロセッサ、または任意の他のそのような構成としても実装することができる。代替的に、いくつかのブロックまたは方法を、所与の機能に固有である回路によって行うことができる。
【０２９０】
様々な実施形態において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装することができる。ソフトウェアに実装される場合、機能は、１つ以上の命令またはコードとして、非一時的コンピュータ可読媒体または非一時的プロセッサ可読媒体に記憶することができる。本明細書で開示される方法またはアルゴリズムの動作は、非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体上に存在し得るプロセッサ実行可能ソフトウェアモジュールにおいて具体化することができる。非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体は、コンピュータまたはプロセッサによってアクセスすることができる、任意の記憶媒体とすることができる。一例であり、限定するものではないが、そのような非一時的コンピュータ可読記憶媒体または非一時的プロセッサ可読記憶媒体としては、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、ＣＤ−ＲＯＭ、もしくは他の光ディスク記憶デバイス、磁気ディスク記憶デバイス、もしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを記憶するために使用することができ、かつコンピュータによってアクセスすることができる任意の他の媒体が挙げられる。本明細書で使用される場合、ディスク（ｄｉｓｋおよびｄｉｓｃ）としては、コンパクトディスク（ＣＤ）（ｄｉｓｃ）、レーザーディスク（登録商標）（ｄｉｓｃ）、光ディスク（ｄｉｓｃ）、デジタル多用途ディスク（ＤＶＤ）（ｄｉｓｃ）、フロッピーディスク（ｄｉｓｋ）、およびブルーレイディスク（ｄｉｓｃ）が挙げられ、ディスク（ｄｉｓｋ）は、通常、データを磁気的に再生し、一方で、ディスク（ｄｉｓｃ）は、レーザーで光学的にデータを再生する。上記の組み合わせもまた、非一時的コンピュータ可読記憶媒体および非一時的プロセッサ可読記憶媒体の範囲内に含まれる。加えて、方法またはアルゴリズムの動作は、コンピュータプログラム製品に組み込むことができる、非一時的プロセッサ可読媒体および／または非一時的コンピュータ可読記憶媒体上のコードおよび／または命令のうちの１つまたは任意の組み合わせまたはセットとして存在させることができる。
【０２９１】
開示される実施形態の上の説明は、任意の当業者が本特許請求の範囲を行うこと、または使用することを可能にするために提供される。これらの実施形態に対する様々な変更は、当業者には容易に明らかになるであろうし、また本明細書で定義される一般的な原理は、特許請求の範囲の範囲から逸脱することなく、他の実施形態に適用することができる。したがって、本開示は、本明細書で示される実施形態に限定することを意図するものではなく、本明細書で開示される原理および新規な特徴と合致する最も広い範囲が与えられるものである。
【図１Ａ】
2020518899.tif 000003
【図１Ｂ】
2020518899.tif 000004
【図１Ｃ】
2020518899.tif 000005
【図２】
2020518899.tif 000006
【図３Ａ】
2020518899.tif 000007
【図３Ｂ】
2020518899.tif 000008
【図３Ｃ】
2020518899.tif 000009
【図３Ｄ】
2020518899.tif 000010
【図３Ｅ】
2020518899.tif 000011
【図４】
2020518899.tif 000012
【図５】
2020518899.tif 000013
【図６Ａ】
2020518899.tif 000014
【図６Ｂ】
2020518899.tif 000015
【図６Ｃ】
2020518899.tif 000016
【図６Ｄ】
2020518899.tif 000017
【図７】
2020518899.tif 000018
【図８】
2020518899.tif 000019
【図９】
2020518899.tif 000020
【図１０】
2020518899.tif 000021
【図１１】
2020518899.tif 000022
【図１２】
2020518899.tif 000023
【図１３】
2020518899.tif 000024
【図１４】
2020518899.tif 000025
【図１５】
2020518899.tif 000026
【図１６】
2020518899.tif 000027
【国際調査報告】
2020518899.tif 000028
2020518899.tif 000029