本明細書で開示される方法および装置は、ルータの物理的位置に基づくセキュアな経路制御のための動作システムを提供する。特に、このシステムは、情報が送信元から宛先へセキュアに伝達されることを保証するための位置に基づく経路制御技術の使用に関するものである。具体的には、このシステムは、定義されたセキュリティ制約条件を満たすネットワークパスを経由してデータパケットを送信するのに使用され、セキュリティ制約条件は、1または複数のネットワークルータの物理的位置に基づくものである。
位置に基づく経路制御とは、データパケットの経路制御および/または転送の決定を行うためにルータ(例えばネットワークノード)の位置を使用する方法を記述する一般用語である。位置に基づく経路制御のこれまでの実装形態は、ネットワーク経路を、セキュリティのためではなく効率のために最適化することを目指してきた。
位置に基づく経路制御の概念は、理論的観点から研究されてきたが、実際に実装されることはまれであった。代わりに、ネットワーク経路制御には、一般に、RIP(Routing Information Protocol)やOSPF(Open-Shortest-Path-First protocol)といった、多くの標準的な技術が用いられる。これらの手法は、ネットワークセキュリティのためのデータパケット経路制御よりも、効率のためのデータパケット経路制御により的を絞ったものである。位置に基づく経路制御が実装されている場合、その位置に基づく経路制御は、典型的には、乗り物やモバイル機器のアドホックネットワークの効率を改善するのに使用されてきた。
本開示は、情報が送信元から宛先へルータ(またはノード)のネットワークを経由してセキュアに伝達されることを保証するための位置に基づく経路制御技術の使用に着眼したものである。
以下の説明では、システムのより十分な説明を提供するために、多数の詳細が示されている。しかし、開示のシステムは、これらの具体的詳細なしでも実施され得ることを当業者は理解するであろう。その他の例では、システムを不必要に分かりにくくすることのないように、周知の特徴は詳細に記述されていない。
図1に、本開示の少なくとも1つの実施形態と一致する、静的経路制御の方法である、ルータの物理的位置に基づくセキュアな経路制御のための開示の方法1000の流れ図を示す。特に、この方法1000は、複数のネットワークノードを経由する少なくとも1つのデータパケットのセキュアなデータ送信を提供する。方法1000の開始(1010)において、少なくとも1ユーザが、送信元ネットワークノードおよび宛先ネットワークノードを定義し(1020)、送信元ネットワークノードおよび宛先ネットワークノードは、複数のネットワークノード内のものである。送信元ネットワークノードは、(1または複数の)データパケットが発信されるネットワークノードであり、宛先ネットワークノードは、(1または複数の)データパケットが送信されるべき先のネットワークノードである。少なくとも1ユーザは、人、エンティティ、アプリケーション、プログラム、ノード、ルータ、モバイル機器、プロセッサ、および/またはコンピュータであることに留意すべきである。
次いで、少なくとも1ユーザが、少なくとも1つのセキュリティ制約条件を定義し(1030)、(1または複数の)セキュリティ制約条件は、ネットワークノードのうちの少なくとも1つの物理的位置に基づくものである。1または複数の実施形態では、多種多様なセキュリティ制約条件が用いられ得ることに留意すべきである。用いられ得るセキュリティ制約条件の種類には以下が含まれるが、それだけに限らない。(1)(1または複数の)データパケットが、少なくとも1つの指定される地理的領域内に物理的に位置するネットワークノードを経由して経路制御されなければならないこと、(2)(1または複数の)データパケットが、少なくとも1つの指定される地理的領域内に物理的に位置しないネットワークノードを経由して経路制御されなければならないこと、(3)(1または複数の)データパケットが、衛星ジオロケーション技術(衛星ジオロケーション技術の例の考察については図14〜図17の説明を参照されたい)を使用して当該ネットワークノードの物理的位置を認証させ得るネットワークノードを経由して経路制御されなければならないこと、(4)(1または複数の)データパケットが、ネットワークping距離測定値(ネットワークping距離測定技術の例の考察については図9〜図13の説明を参照されたい)を使用して当該ネットワークノードの物理的位置を認証させ得るネットワークノードを経由して経路制御されなければならないこと、(5)(1または複数の)データパケットが、許容可能とみなされるやり方で当該ネットワークノードの物理的位置を認証させることができない(例えば、当該ネットワークノードが、衛星ジオロケーション技術を使用して、かつ/またはネットワークping距離測定値を使用してなど、許容可能な物理的位置認証の方法を使用することができない)ネットワークノードを通過する間に、(1または複数の)データパケット内のデータが暗号化される場合に限って、(1または複数の)データパケットが、それらのネットワークノードを経由して経路制御され得ること、および(6)(1または複数の)データパケットが、閾値距離(例えば100マイル(約160.9キロメートル)未満の長さを有する経路上を送信元ネットワークノードから宛先ネットワークノードまで進まなければならないこと。
次いで、少なくとも1つのプロセッサが、ネットワークノードの地図内の利用可能なネットワークノードを、(1または複数の)セキュリティ制約条件と比較して、利用可能なネットワークノードのうちのどれが適格なネットワークノードであるか判定する(1040)。適格なネットワークノードは、(1または複数の)セキュリティ制約条件を満たす利用可能なネットワークノードである。1または複数の実施形態では、ネットワークノードの地図は、以下を含み得るが、それだけに限らないことに留意すべきである。(1)ネットワークノードのうちの少なくとも1つの物理的位置に関する情報(例えば、(1または複数の)ネットワークノードが、軍事基地といったセキュアな場所に位置するかどうか)、(2)ネットワークノードのいずれかの物理的位置が、衛星ジオロケーション技術を使用して認証され得るかどうかに関する情報、(3)ネットワークノードのいずれかの物理的位置が、ネットワークping距離測定値を使用して認証され得るかどうかに関する情報、(4)ネットワークノードのいずれかの物理的位置が、三角測量法を使用して(例えば、緊急通報センター(public service answering point (PSAP))が、往々にして、911緊急呼び出し時に、携帯電話アンテナ塔の三角測量法を使用して携帯電話のおおよその物理的位置を決定するように、セルラーアンテナ塔間の三角測量を実行することによって)認証され得るかどうかに関する情報、(5)ネットワークノードのいずれかがデータパケットを暗号化することができるかどうかに関する情報、(6)ネットワークノードのいずれかがデータパケットを解読することができるかどうかに関する情報、および(7)ネットワークノードのいずれかが、(1または複数の)セキュリティ制約条件を満たすネットワークノードである適格なネットワークノードであると判定されているかどうかに関する情報。
次いで、少なくとも1つのプロセッサが、(1または複数の)データパケットを送信元ネットワークノードから宛先ネットワークノードまで経路制御する際に経由すべき適格なネットワークノードのうちの少なくとも1つを含む経路を決定する(1050)。次いで、(1または複数の)データパケットは、(1または複数の)適格なネットワークノードの経路を経由して送信元ネットワークノードから宛先ネットワークノードへ送信される(1060)。次いで、方法1000は終了する(1070)。
図2に、本開示の少なくとも1つの実施形態と一致する、適応的(または動的)経路制御の方法である、ルータの物理的位置に基づくセキュアな経路制御のための開示の方法2000の流れ図を示す。図1の方法1000と同様に、この方法2000は、複数のネットワークノードを経由する少なくとも1つのデータパケットのセキュアなデータ送信を提供する。方法2000の開始(2010)において、少なくとも1ユーザが、送信元ネットワークノードおよび宛先ネットワークノードを定義するステップを含む(2020)。次いで、少なくとも1ユーザが、少なくとも1つのセキュリティ制約条件を定義する(2030)。次いで、少なくとも1つのプロセッサが、(1または複数の)セキュリティ制約条件を符号化して(1または複数の)データパケットにする(あるいは(1または複数の)データパケット追加することによって符号化する)(2040)。
次いで、送信元ネットワークノード内の少なくとも1つのプロセッサが、送信元ネットワークノードに接続された、(1または複数の)セキュリティ制約条件を満たす利用可能なネットワークノードである適格なネットワークノードである利用可能なネットワークノードがあるかどうか判定する(2050)。(1または複数の)プロセッサが、送信元ネットワークノードに接続された、適格なネットワークノードである利用可能なネットワークノードが全くないと判定した場合には、否定応答メッセージ(例えばNAK)が(1または複数の)ユーザへ送信され(2095)、(1または複数の)ユーザに、(1または複数の)データパケットが宛先ネットワークノードまで到達することができないことを知らせる。次いで、方法2000は終了する(2097)。
しかし、(1または複数の)プロセッサが、送信元ネットワークノードに接続された、適格なネットワークノードである利用可能なネットワークノードがあると判定した場合には、送信元ネットワークノードは(1または複数の)データパケットを適格なネットワークノードのうちの1つへ送信する(2060)。送信元ネットワークノードが(1または複数の)データパケットを適格なネットワークノードのうちの1つへ送信した後で、(1または複数の)データパケットを受信したネットワークノード内の少なくとも1つのプロセッサが、(1または複数の)データパケットを受信したネットワークノードに接続された、適格なネットワークノードである利用可能なネットワークノードがあるかどうか判定する(2070)。(1または複数の)プロセッサが、(1または複数の)データパケットを受信したネットワークノードに接続された、適格なネットワークノードである利用可能なネットワークノードがあると判定した場合には、(1または複数の)データパケットを受信したネットワークノードは(1または複数の)データパケットを適格なネットワークノードのうちの1つへ送信する(2080)。次いで、プロセスはステップ2070に戻る。
しかし、(1または複数の)プロセッサが、(1または複数の)データパケットを受信したネットワークノードに接続された、適格なネットワークノードである利用可能なネットワークノードが全くないと判定した場合には、少なくとも1つのプロセッサが、(1または複数の)データパケットが宛先ネットワークノードに到達したかどうか判定する(2090)。(1または複数の)プロセッサが、(1または複数の)データパケットが宛先ネットワークノードに到達しなかったと判定した場合、否定応答メッセージ(例えばNAK)が(1または複数の)ユーザへ送信され(2095)、方法2000は終了する(2097)。(1または複数の)プロセッサが、(1または複数の)データパケットが宛先ネットワークノードに到達したと判定した場合、方法2000は、そのまま終了する(2097)。方法2000が終了した(2097)後で、ユーザは、(1または複数の)データパケットを再送信してよく、任意選択で、(1または複数の)データパケットの再送信に使用されるべき異なるセキュリティ制約条件を選択してもよいことに留意すべきである。
図3は、本開示の少なくとも1つの実施形態と一致する、ルータの物理的位置に基づくセキュアな経路制御のための開示のシステムおよび方法の動作を例示する地図上の5ノード(例えばルータ)の例示的ネットワークの概略図3000である。この図では、5ノード(またはルータ)(ルータA、ルータB、ルータC、ルータD、およびルータE)が、オクラホマ州の地図上に示されている。ルータA(すなわち送信元ネットワークノード)と関連付けられたユーザが、ルータE(すなわち宛先ネットワークノード)と関連付けられたユーザへ、情報(例えばデータパケット)を送信しようとする。この例では、情報は、情報(すなわちデータパケット)がオクラホマ州内に留まらなければならないというセキュリティ制約条件を有する。
代替として、他の実施形態では、情報は、情報(例えばデータパケット)がオクラホマ州外に留まらなければならないというセキュリティ制約条件を有し、それによって、この特定の地理的領域内に物理的に位置するネットワークノードを、データパケットの経路制御に使用されることから除外してもよいことに留意すべきである。
図4は、本開示の少なくとも1つの実施形態と一致する、データパケットが、(RIP(Routing Information Protocol)やOSPF(Open-Shortest-Path-First protocol)といった)標準的な位置に基づく経路制御技術を用いて図3の例示的ネットワークにおいて通るはずの経路を示す概略図4000である。標準的な位置に基づく経路制御技術(例えばRIPやOSPFプロトコル)は、ルータの物理的位置に基づくセキュリティ制約条件に対応しない。経路制御技術のRIPは、例えば、経路指定メトリックとしてホップカウントを使用する。ルータパス、ルータA−ルータC−ルータEは、ルータAからルータEまで至るための最少のホップ数を有するため、これは通常、RIP選択パスとなるはずである。
既存の標準的な位置に基づく経路制御技術は、データパケットが進む距離を最小化するように最適化されていることに留意すべきである。ルータパス、ルータA−ルータC−ルータEは、ルータAとルータEとの間の最短パスの距離であるため、このパスは、データパケットを送信するための選択パスになるはずである。この図から分かるように、データパケットはルータCを経由して経路制御されるため、データパケットはオクラホマ州の外側を通り、よって、これら標準的な位置に基づく経路制御技術の使用は、データパケットがオクラホマ州内に留まらなければならないというセキュリティ制約条件の違反を引き起こすことになるはずである。
図5は、本開示の少なくとも1つの実施形態と一致する、データパケットが、地理的制約条件を有するルータの物理的位置に基づくセキュアな経路制御のための開示の方法を用いて、図3の例示的ネットワークにおいて通るはずの経路を示す概略図5000である。この例では、地理的制約条件は、データパケットがオクラホマ州内に留まらなければならないことである。この図では、この特定の地理的制約条件を満たす最適パス(または経路)が見つかり、データパケットがこの最適パスに沿って進むことを保証するために開示のソースルーティング技術が使用される。この図では、最適パスは、ルータA−ルータB−ルータD−ルータEであるものとして示されている。
この実施形態では、ユーザ、ユーザアプリケーション、および/またはプロセッサが、地理的制約条件を知っており、ルータの物理的位置および相互接続にアクセスすることができる(例えば、その知識を有する)。ユーザ、ユーザアプリケーション、および/またはプロセッサは、この情報を使用して、地理的制約条件を満たすネットワークを経由してデータパケットを経路制御すべき最適パスを決定する。最適パスを記述するソースルーティング命令がデータパケットに追加され(例えば符号化され)、最適パスに沿ったルータはこれらのソースルーティング命令に従う。この例では、最適パス(ルータA−ルータB−ルータD−ルータE)は、データパケットがオクラホマ州内に留まることを保証する。
類似した実施形態では、ユーザ、ユーザアプリケーション、またはプロセッサの代わりに、ルータAが、地理的制約条件を知っている(例えば、地理的制約条件がデータパケット内に埋め込まれて(または符号化されて)いるため、あるいは、ルータAが、どの地理的領域がデータパケットの通過のために許容可能であり、かつ/または許容不能であるか知っているように構成された企業ルータまたは政府機関ルータであるため)。この実施形態では、ルータAは、ルータの物理的位置および相互接続にアクセスすることもでき、この情報を使用して、制約条件を満たすネットワークを経由する最適パスを算出する。
別の実施形態では、ユーザ、ユーザアプリケーション、プロセッサ、またはルータAは、サーバに、送信元ネットワークノード情報および宛先ネットワークノードを提供する。サーバ(例えば、衛星ジオロケーション技術を使用して、少なくとも1つの実施形態において、(1または複数の)ノードの物理的位置を認証するのに使用されるサーバである、ジオセンティケーションサーバ)は、ルータの物理的位置およびルータの相互接続に関する情報を含むネットワークノード(ルータ)地図にアクセスすることができる。サーバは、この情報を使用して、送信元ネットワークノードから宛先ネットワークノードまでデータパケットを経路制御するための最適パスを算出する。サーバは、次いで、ユーザ、ユーザアプリケーション、プロセッサ、またはルータAに、この最適パスを知らせることができる。
上記の実施形態では、データパケットが送信される前にネットワークパスを決定するために静的経路制御が使用されることに留意すべきである。別の実施形態では、動的経路制御(または適応的経路制御)が使用される。この実施形態では、地理的制約条件情報が、送信元ネットワークノードから到来するデータパケット内に埋め込まれている(または符号化されている)。パスに沿った各ルータは、当該ルータの(RIPやOSPFといった)標準的な適応的技術に基づいて経路制御決定を行う。しかし、それに加えて、指定される地理的制約条件を満たさないルータは、考慮対象から除外される。この例では、ルータAは、ルータAが標準的な適応的技術を使用していた場合には、通常、データパケットを経路制御すべき相手先にルータCを選択するはずである。しかし、ルータCは、オクラホマ州内に存在するという地理的制約条件を満たさないため、ルータBは考慮対象から除外される。ルータBは、オクラホマ州内に存在する、ルータAへの唯一の直接接続先を表すため、ルータBが次のデータ・パケット・ホップに選択される。
図6に、本開示の少なくとも1つの実施形態と一致する、地理的制約条件およびジオセンティケーション制約条件を有するルータの物理的位置に基づくセキュアな経路制御のための開示のシステムおよび方法の動作を例示する地図上の6ノードの例示的ネットワークの概略図6000を示す。この図では、6ノード(またはルータ)(ルータA、ルータB、ルータC、ルータD、ルータE、およびルータF)が、オクラホマ州の地図上に示されている。ルータAと関連付けられたユーザが、ルータEと関連付けられたユーザへ、情報(例えばデータパケット)を送信しようとする。この例では、情報は、情報(すなわちデータパケット)がオクラホマ州内に留まらなければならないというセキュリティ制約条件、および、情報がジオセンティケーションルータのみを経由して経路制御され得るというセキュリティ制約条件を有する。ジオセンティケーションルータとは、衛星ジオロケーション技術を使用してルータの物理的位置を認証することができる機能を有するルータである(衛星ジオロケーション技術の例の考察については、図14〜図17の説明を参照されたい)。この例では、ルータDを除いて、すべてのルータはジオセンティケーションルータである。開示のセキュアな経路制御の方法を用いて、セキュリティ制約条件の両方を満たすように、ルータパス、ルータA−ルータB−ルータF−ルータEが決定される。
図7に、本開示の少なくとも1つの実施形態と一致する、ルータの物理的位置に基づくセキュアな経路制御のための開示のシステムおよび方法の動作を例示するための7ノードの例示的ネットワークの概略図7000を示す。この図では、7ノード(またはルータ)(ルータA、ルータB、ルータC、ルータD、ルータE、ルータF、およびルータG)が示されている。ルータAと関連付けられたユーザが、ルータGと関連付けられたユーザへ、情報(例えばデータパケット)を送信しようとする。情報は、情報が、ジオセンティケーションルータのみを、あるいは、ジオセンティケーションルータ間のセキュアなトンネルのみを通過し得るというセキュリティ制約条件を有する。この例では、ルータA、ルータD、ルータF、およびルータGはジオセンティケーションルータであり、ルータB、ルータC、およびルータEはジオセンティケーションルータではない。
開示のセキュアな経路制御の方法を用いると、パス、ルータA−ルータD−ルータF−ルータGは制約条件を満たすことができるが、制約条件を満たすことができるのは、AおよびDが、図8に示すようにAとDの間でセキュアなトンネルを形成することができる場合に限られる。
図8は、本開示の少なくとも1つの実施形態と一致する、図7の例示的ネットワークにおけるトンネリングの特徴を示す図8000である。前述のように、パス、ルータA−ルータD−ルータF−ルータGは制約条件を満たすことができるが、制約条件を満たすことができるのは、AおよびDが、AとDの間でセキュアなトンネルを形成することができる場合に限られる。この例では、ルータAは、データパケットを送信する前に、データパケット内のデータを暗号化することになる。ルータAからルータDへ送信される暗号化データパケットは、この例では、実際には、ルータBまたはルータCを物理的に通過することになるはずである。データパケットは暗号化されている(または別のやり方で保護されている)ため、ルータBおよび/またはルータCのところの悪意のあるユーザは、データを確認することができない。暗号化データパケットがルータDに到着した後で、ルータDは、暗号化データパケットを解読し得る。
1または複数の実施形態では、1台のルータ(例えばルータD)が、暗号化データパケットを解読し得る機能を有するネットワークにおける唯一のルータであり得ることに留意すべきである。
代替として、他の実施形態では、ルータDは、引き続き暗号化データパケットをルータFおよびルータGへ送信してよく、ルータGまたはルータGが暗号化データパケットを解読してもよいことにも留意すべきである。
一実施形態では、送信元ネットワークノードから宛先ネットワークノードまで進むデータパケットは、任意選択のパスセキュリティ制約条件フィールドを有することに留意すべきである。一実装形態では、パスセキュリティ制約条件フィールドは、国家、州、省、郡、政府施設、および/または都市といった政治的境界を表す名前文字列またはディジタルコードを含む。別の実装形態では、パスセキュリティ制約条件フィールドは、許容可能な地理的領域を定義する1または複数の多角形を定義する緯度および経度のセットを含む。別の実装形態では、パスセキュリティ制約条件フィールドは、データパケットがジオセンティケーションルータのみを通過し得るかどうか特定するビットを有する。別の実装形態では、パスセキュリティ制約条件フィールドは、データパケットが廃棄される前に進むことを許される最大距離を定義する数を有する。
ネットワーク測距に基づくジオセンティケーション
ネットワーク測距に基づくジオセンティケーションのためのシステムおよび方法は、既知の物理的位置を有する少なくとも1つのノードから取得される距離測定値を使用して、ネットワークノードの物理的位置を認証することに関するものである。少なくとも1つのノードの物理的位置は、衛星ジオロケーション技術によって取得される。様々な種類の衛星ジオロケーション技術が、開示のシステムによって用いられ得る。本開示における図14から図17の説明では、開示のシステムによって利用され得る1つの例示的な衛星ジオロケーション技術(すなわち、スポットビームに基づく認証)を考察する。
増加するサイバー攻撃と闘う現行のアクセス制御の手法は、主に、静的パスワードまたはパスワードとバッジ資格情報に基づく認証に基づくものである。攻撃は、多くの場合、エンドユーザに成り済ますことによって行われるため、各機関は、ネットワークの脆弱性を減らすためのユーザ認証方法に着目する傾向にあった。これらの手法は、高度な攻撃に対して依然として脆弱なままであり、よって、ユーザの物理的位置といった追加情報を活用するアクセス制御の新しいパラダイムの必要が生じている。この情報は、追加の直交する保護層を提供し、結果として、物理的ジオロケーションの統合から論理的ネットワークおよび情報管理の考え方に至るまで、位置とコンテキストアウェアネスとの間の相関関係の強化をもたらすことになる。これが意味するのは、特定のネットワークノードにとっての着信データが、当該ネットワークノードの物理的位置に基づいて吟味され、様々なアクセス権限が、そうした情報に基づいて当該ネットワークノードに付与され得ることである。
ネットワークノードの物理的位置は、現在、既存のツールを用いて確認することが難しい。ネットワークノードの位置は、インターネットプロトコル(IP)アドレスおよびホスト名を調べることによって推測され得るが、これらの識別子は、詐称されたり、分かりにくくされたりすることがある。あるいは、よりセキュアには、ネットワークノードの物理的位置は、ネットワークping距離測定値を用いた推定によって取得され得る。
本開示では、pingとは、インターネットプロトコル(IP)ネットワーク上のノードの到達可能性をテストし、発信ノード(すなわち、問合せpingメッセージを送信するノード)から宛先ノード(すなわち、問合せpingメッセージを受信し、応答pingメッセージを送信するノード)へ送信されるメッセージの往復時間を測定するのに使用されるコンピュータネットワーク管理ユーティリティである。pingは、発信ノードが宛先ノードへ、インターネット制御メッセージプロトコル(Internet Control Message Protocol (ICMP))エコー要求データパケットを送信し、応答を待つことによって動作する。このプロセスでは、プロセッサを使用して、問合せpingメッセージの送信からの往復時間が測定され、データパケット損失があれば記録される。
ネットワーク測距に基づくジオセンティケーションのためのシステムおよび方法は、4つの主要な特徴を有する。第1の主要な特徴は、ネットワークping距離測定値を使用したネットワークノードの物理的位置の推定である。そうした判定は、既知の位置を有する(1または複数の)ネットワークノードから当該のネットワークノードへpingを送信することによって行われる。1または複数の実施形態では、発信ノード(すなわち、問合せpingメッセージを送信するノード)は、その場合、送信された時刻と受信された時刻との間の差を調べ、物理的距離推定を導出することになる。最終結果の正確さおよび信頼性を改善するために、ping測距を実行する複数の発信ノードがこのプロセスに従い得る。
第2の主要な特徴は、pingの事前調整および/または優先順位付けの使用である。この特徴は、宛先ノードからのpingの即時応答(すなわち、ping応答メッセージの即時の送信)の必要に基づくものであり、即時応答は、第1の主要な特徴の方法の正確さにとって極めて重要である。応答の遅延によって導入されるいかなる関連遅延も、測定されるネットワーク距離を増大させ、よって、測定される最大物理距離を増大させることになる。これは、ネットワークノードの実際の物理的位置の不確実性を増大させる。よって、この特徴は、問合せpingおよび/または応答pingの事前調整および/または優先順位付けを使用することによって結果が改善され得る様々な「ファストトラック(Fast Track)」方法の使用を提案し、そうした方法は、宛先ノードが可能な限り迅速にping要求に応答することを可能にし、それによって、距離誤差を低減し、最終結果の正確さを改善することができる。
第3の主要な特徴は、専用ping応答「ファストトラック」ハードウェアの利用である。専用ping応答「ファストトラック」ハードウェアを使用すれば、第2の主要な特徴の「ファストトラック」方法がより容易になる。そうしたハードウェアは、ネットワーク測距に関与する機器に取り付けられ、かつ/または接続され、ping品質への応答を事前調整し、かつ/またはそれらに優先順位付けすることによって、最終結果の正確さを改善するのにも使用され得る。
第4の主要な特徴は、問合せpingメッセージ内で、予測され得ないような、(1または複数の)宛先ノードによって応答pingメッセージ内へコピーされ得る一意の識別子(例えば、いくつかのランダムビットで構成された擬似ランダムコード(pseudo random code (PRC))の使用である。これら一意の識別子は、発信ノードによって受信される(1または複数の)応答pingメッセージが、事実、発信ノードによって送信された問合せpingメッセージへの応答であったことを保証するように働く。
各図の説明全体を通して、ネットワークノードについてのある特定の命名規則に従っていることに留意すべきである。命名規則は以下の通りである。ターゲットノードとは、開示のシステムおよび方法がその物理的位置を検証することによって認証しようと試みることになる当該のネットワークノードである。(1または複数の)信頼されるノードとは、既知の物理的位置を有する(1または複数の)ネットワークノードである。1または複数の実施形態では、(1または複数の)信頼されるノードの物理的位置は、衛星ジオロケーション技術から取得される。しかし、いくつかの実施形態では、少なくとも1つの信頼されるノードの物理的位置は、それだけに限らないが、地上地図データを含む他の手段によって取得される。また、発信ノードとは、問合せpingメッセージを送信するネットワークノードであり、宛先ノードとは、問合せpingメッセージを受信し、応答pingメッセージを発信ノードへ送り返すネットワークノードである。
図9は、本開示の少なくとも1つの実施形態と一致する、ターゲットノード(ルータ3)110の物理的位置を認証するための開示のシステム100の概略図である。この図には、そこでルータ3 110の物理的位置の認証が求められる(ルータによって実装された)ネットワークノード110、120、130のネットワークが示されている。ルータ1 120およびルータ2 130は、検証された物理的位置にある(よって、信頼されるノードと呼ばれる)が、ルータ3 110の物理的位置は未知であり、または検証されていない。
ルータ1 120およびルータ2 130(すなわち信頼されるノード)の物理的位置は、衛星ジオロケーション技術によって取得される。この図に示すように、衛星1 140および衛星2 150は、どちらも、地球180上で複数のスポットビーム160、170を送信している。ルータ1 120およびルータ2 130は、それぞれ、衛星1 140および衛星2 150から送信されている複数のスポットビーム160、170のうちの少なくとも1つによって照射されている。ルータ1 120およびルータ2 130の物理的位置は、多種多様なジオロケーション認証のシステムおよび方法から取得される。
1または複数の実施形態では、スポットビームに基づく認証のシステムおよび方法が、システム100によって、ルータ1 120およびルータ2 130の物理的位置を認証するのに使用される。これらの実施形態では、衛星140、衛星150が、ルータ1 120およびルータ2 130の物理的位置を認証するのに使用される少なくとも1つの認証信号を各々送信するのに、LEOイリジウム衛星が用いられる。ルータ1 120と関連付けられた受信元(不図示)およびルータ2 130と関連付けられた受信元(不図示)を使用して、それぞれ、衛星1 140および衛星2 150(すなわち送信元)から送信される認証信号が受信される。スポットビームに基づく認証のシステムおよび方法に関する詳細な考察は、本開示の「スポットビームに基づく認証」の項において後述する。加えて、衛星140、衛星150の各々から送信される少なくとも1つの認証信号を評価することによってルータ1 120およびルータ2 130の物理的位置を認証するために、開示のシステム100によって認証者機器(不図示)が用いられ得ることにも留意すべきである。加えて、様々な実施形態において、認証信号は、同じ送信元から、異なる送信元から、同じ周波数で、かつ/または異なる周波数で送信され得ることにも留意すべきである。
複数のスポットビーム160、170のスポットビームは、この図に示すように円形のフットプリントを有する場合もあり、他の実施形態では、不定形のフットプリントを有する整形スポットビームの場合もある。開示のシステム100の衛星1 140および/または衛星2 150には、様々な種類の衛星および/または擬似衛星が用いられ得る。衛星140、150に用いられ得る衛星の種類には、それだけに限らないが、低軌道(LEO)衛星、中軌道(MEO)衛星、静止軌道(GEO)衛星が含まれる。1または複数の実施形態では、LEOイリジウム衛星が、システム100によって衛星140、150に用いられる。この種の衛星を用いることは有利である。というのは、この種の衛星の送信信号は、屋内での伝搬を含め、減衰環境を伝搬するのに十分な強さを有するからである。
いくつかの実施形態では、開示のシステム100のネットワークノード110、120、130について、ルータ以外の様々な他の種類の機器が実装され得ることに留意すべきである。ネットワークノード110、120、130に用いられ得る機器の種類には、それだけに限らないが、サーバ、パーソナルコンピューティング機器、PDA、セルラー電話、コンピュータノード、インターネットプロトコル(IP)ノード、ゲートウェイ、WiFiノード、ネットワークノード、パーソナル・エリア・ネットワーク(PAN)・ノード、ローカル・エリア・ネットワーク(LAN)・ノード、広域ネットワーク(WAN)・ノード、Bluetooth(登録商標)ノード、ZigBeeノード、WiMAX(Worldwide Interoperability for Microwave Access)ノード、第2世代(2G)無線ノード、第3世代(3G)無線ノード、および/または第4世代(4G)無線ノードが含まれる。
開示のシステム100の動作中に、ルータ1 120(すなわち発信ノード)は、ルータ3 110(すなわち宛先ノード)へ問合せpingメッセージを送信する(経路R13参照)。問合せpingメッセージを受信したことに応答して、ルータ3 110は、ルータ1 120へ応答pingメッセージを送信する(経路R13参照)。ルータ1 120と関連付けられたプロセッサ(不図示)が、ルータ1 120による問合せpingメッセージの送信からルータ1 120による応答pingメッセージの受信までに経過した時間量を使用して、ルータ1 120からルータ3 110までの距離測定値を計算する。この距離測定は、ネットワークping測距と呼ばれ、2つのネットワークノード(例えばルータ1 120とルータ3 110)の間の物理的距離の近似および最大限度をもたらし、次式を用いて算出され得る。
(式1)ROD=c[(tDa−tOa)+(tOb−tDb)+d]/2、式中、t=時間、c=信号の速度
式中、「O」は、宛先ノード(すなわちルータ3 110)を指す「D」へ問合せpingメッセージを送信することによって方法を開始する発信ノード(すなわちルータ1 120)を指し、Dは、次に、発信ノードへ応答pingメッセージを送信する。また、式中、「d」は、宛先ノードが、問合せpingメッセージの受信後に応答pingメッセージを生成するのに必要とされる時間といった、信号伝達時間と関連しない時間遅延を指す。いくつかの実施形態では、結果の正確さおよび信頼性を改善するために、ネットワーク測距を実行する複数のネットワークノードがこのプロセスに従い得る。これは、個々のノード(すなわち、ルータ、サーバ、ラップトップやデスクトップといったパーソナルコンピューティング機器、PDA、携帯電話など)に関するものであっても、より集合的に上記ネットワークノードのシステムとしてであってもよい。
さらに、信号の速度(c)が最大速度(cMAX)を下回ることが保証され得る場合には、測定は、次式によって、距離推定値のみならず最大距離も設定することができる。
(式2)ROD_MAX=cMAX[(tDa−tOa)+(tOb−tDb)+dMIN]/2、式中、t=時間、cMAX=信号の最大速度
式中、「dMIN」は、システムについての最小可能遅延時間を指す(最も控えめな仮定は、dMIN=0と仮定するものである)。特定のネットワークノード対について、複数の測定値を取得することができるが、平均を取るよりはむしろ、2つのネットワークノード間の最大距離として、最小RMAXを表す測定値に依拠することができる。
他の実施形態では、ルータ1 120と関連付けられていないプロセッサが距離測定値計算を実行し得ることに留意すべきである。これらの実施形態では、ルータ1 120がそのプロセッサへ、ルータ1 120による問合せpingメッセージの送信からルータ1 120による応答pingメッセージの受信までに経過した時間量を送信しなければならない。プロセッサがその時間量を受け取ると、プロセッサは、距離測定値計算を実行できることになる。
次いで、プロセッサ(例えば、ルータ1 120と関連付けられたプロセッサ、ルータ2 130と関連付けられたプロセッサ、あるいは何らかの他のプロセッサ)が、経路R13から計算された距離測定値を使用して、ルータ3 110の物理的位置を取得し、かつ/または認証する。
この図に示すように、ルータ2 130は、ルータ3 110へも問合せpingメッセージを送信する(経路R23参照)。ルータ3 110は、問合せpingメッセージを受信したことに応答して、ルータ2 130へ応答pingメッセージを送信する(経路R23参照、経路R23をサイバーバウンス23(CyberBounce23)ともいう)。ルータ2 130と関連付けられたプロセッサ(不図示)が、ルータ2 130による問合せpingメッセージの送信からルータ2 130による応答pingメッセージの受信までに経過した時間量を使用して、ルータ2 130からルータ3 110までの距離測定値を計算する。
代替の実施形態では、ルータ2 130と関連付けられていないプロセッサが、距離測定値計算を実行し得る。これらの実施形態では、ルータ2 130がそのプロセッサへ、ルータ2 130による問合せpingメッセージの送信からルータ2 130による応答pingメッセージの受信までに経過した時間量を送信しなければならない。プロセッサがその時間量を受信すると、プロセッサは、距離測定値計算を実行することができる。
次いで、プロセッサ(例えば、ルータ1 120と関連付けられたプロセッサ、ルータ2 130と関連付けられたプロセッサ、あるいは何らかの他のプロセッサ)が、ルータ3 110の物理的位置を取得し、かつ/または認証するために、経路R23から計算された距離測定値を、経路R13から計算された距離測定値と併せて使用する。他の実施形態では、プロセッサは、経路R13から計算された距離測定値だけを使用して取得されるルータ3 110の物理的位置の正確さを改善するために、経路R23から計算された距離測定値を使用する。
1または複数の実施形態では、プロセッサ(例えば、ルータ1 120と関連付けられたプロセッサ、ルータ2 130と関連付けられたプロセッサ、あるいは何らかの他のプロセッサ)が、取得したルータ3 110の物理的位置と、ルータ1 120およびルータ2 130の既知の物理的位置を使用して、これらのネットワークノード110、120、130の位置の物理的地図を生成する。物理的地図は、さらに、それだけに限らないが、地形データ、街路名データ、およびランドマークデータを含む様々な種類の地形データも含み得る。さらに、物理的地図上のインターネットプロトコル(IP)情報のマッピングオーバーレイも実装され得る。
宛先ノードからのping応答メッセージの即時応答は、この方法の正確さにとって極めて重要であることに留意すべきである。宛先ノードによって導入される遅延は、ネットワークノード間の測定されるネットワーク距離を増大させ、したがって、ネットワークノード間の最大物理的距離推定を増大させることになる。これにより、ターゲットノード(すなわちルータ3 110)が内部に存在し得る物理的領域が増大するため、ターゲットノードの実際の物理的位置の不確実性が増す。
本開示のいくつかの実施形態では、ターゲットノードの物理的位置の推定は、pingメッセージの事前調整および/または優先順位付けを使用することによって改善され、専用のping応答メッセージハードウェアの使用を含み得る。例えば、ping問合せメッセージの送信に先立ち、宛先ノードに、ping問合せメッセージが指定の時刻に着信することを知らせる、発信ノードから送信されるping問合せメッセージへの応答を早めるための方法が、開示のシステム100によって利用され得る。宛先ノードは、その場合、指定の時刻の直前に、着信する問合せpingパケットに宛先ノードの最優先順位を与え、問合せpingメッセージが到着すると即時に応答するよう準備し得る。いくつかの実施形態では、宛先ノードは、宛先ノードによる問合せpingメッセージの受信後に特定の時間量が経過した後で、応答pingメッセージを送信するようプログラムされる。少なくとも1つの実施形態では、宛先ノードは、ある特定の時刻に、または、定義された、もしくは無作為の指定の時間間隔を置いた複数の特定の時刻に、応答pingメッセージを送信するようプログラムされる。
少なくとも1つの実施形態では、発信ノードから宛先ノードへ送信される問合せpingメッセージは、予測され得ない(例えば、いくつかのランダムビット)、その少なくとも一部分が、宛先ノードから発信ノードへ送信される応答pingメッセージ中へコピーされる一意の識別子を含むことになる。これにより、発信ノードによって受信された応答pingメッセージが、事実、発信ノードが最初に送信した問合せpingメッセージへの応答であり、詐称者からの応答ではなかったことが保証される。少なくとも1つの実施形態では、一意の識別子を提供するために、ランダムシードを使用して乱数発生器(例えば、擬似乱数発生器)が開始され得る。
いくつかの実施形態では、pingメッセージの優先順位付けは、事前調整の方法を使用せずに工夫され得る。例えば、様々な優先順位のデータパケットにある優先度を割り当てることもでき、かつ/または他の待ち行列論理を使用してパケットをそのように処理することもできるはずである。ターゲットノードの物理的位置の認証と関連付けられるデータパケット(すなわち、pingメッセージデータパケット)は高い優先順位とし得る(または、他の動作の実行より上位の最高の優先順位とさえし得る)が、システムは、さらに、より大きい全般的重要性を有し得る他の不可欠な情報の送信にも利用されてよく、よって、優先度のセットおよび/または待ち行列論理を使用して、高重要度のデータ経路制御のためのサービス品質に影響を及ぼさずに応答pingメッセージの送信の遅延が最小化され得る。
図10Aは、本開示の少なくとも1つの実施形態と一致する、ターゲットノードがジオセンティケーション要求を送信する、ターゲットノードの物理的位置を認証するための開示の方法の流れ図200である。方法の開始(205)において、ターゲットノードは、既知の物理的位置を有する少なくとも1つの信頼されるノードへジオセンティケーション要求を送信する(206)。(1または複数の)信頼されるノードの物理的位置は、衛星ジオロケーション技術によって取得される。次いで、(1または複数の)信頼されるノードは、ジオセンティケーション要求を受信する(208)。
(1または複数の)信頼されるノード(すなわち(1または複数の)発信ノード)は、次いで、ターゲットノード(すなわち宛先ノード)へ問合せpingメッセージを送信する(210)。次いで、ターゲットノードは問合せpingメッセージを受信する215。ターゲットノードが問合せpingメッセージを受信した後すぐに、ターゲットノードは、(1または複数の)信頼されるノードへ応答pingメッセージを送信する(220)。(1または複数の)信頼されるノードは、次いで、応答pingメッセージを受信する(225)。(1または複数の)信頼されるノードが応答pingメッセージを受信した後で、少なくとも1つのプロセッサが、問合せpingメッセージの送信から応答pingメッセージの受信までに経過した時間量を使用して、ターゲットノードから(1または複数の)信頼されるノードまでの距離測定値を計算する(230)。(1または複数の)プロセッサが距離測定値を計算すると、少なくとも1つのプロセッサ(距離測定値を計算した(1または複数の)プロセッサと同じであっても、異なる(1または複数の)プロセッサであってもよい)が、ターゲットノードから(1または複数の)信頼されるノードまでの距離測定値を使用してターゲットノードの物理的位置を認証する(235)。(1または複数の)プロセッサがターゲットノードの物理的位置を認証した後で、方法は終了する(240)。
図10Bは、本開示の少なくとも1つの実施形態と一致する、既知の位置を有する少なくとも1つの信頼されるノードが問合せpingメッセージを送信する、ターゲットノードの物理的位置を認証するための開示の方法の流れ図250である。方法の開始(255)において、既知の物理的位置を有する少なくとも1つの信頼されるノード(すなわち(1または複数の)発信ノード)が、ターゲットノード(すなわち宛先ノード)へ問合せpingメッセージを送信する(260)。(1または複数の)信頼されるノードの物理的位置は、衛星ジオロケーション技術によって取得される。
次いで、ターゲットノードは、問合せpingメッセージを受信する(265)。ターゲットノードが問合せpingメッセージを受信した後すぐに、ターゲットノードは、(1または複数の)信頼されるノードへ応答pingメッセージを送信する(270)。次いで、(1または複数の)信頼されるノードは、応答pingメッセージを受信する(275)。(1または複数の)信頼されるノードが応答pingメッセージを受信した後で、少なくとも1つのプロセッサが、問合せpingメッセージの送信から応答pingメッセージの受信までに経過した時間量を使用して、ターゲットノードから(1または複数の)信頼されるノードまでの距離測定値を計算する(280)。(1または複数の)プロセッサが距離測定値を計算すると、少なくとも1つのプロセッサ(同じであっても、距離測定値を計算した(1または複数の)プロセッサと異なる(1または複数の)プロセッサであってもよい)が、ターゲットノードから(1または複数の)信頼されるノードまでの距離測定値を使用してターゲットノードの物理的位置を認証する(285)。(1または複数の)プロセッサがターゲットノードの物理的位置を認証した後で、方法は終了する(290)。
図11は、本開示の少なくとも1つの実施形態と一致する、メッセージを送信するための応答メッセージハードウェア機器330、340を各々が用いる2つのネットワークルータ310、320の概略図300である。この図では、2つのネットワークルータ310、320が、各々、専用の応答メッセージハードウェア(すなわち、「ファストトラック」機器)330、340に接続されているものとして示されている。いくつかの実施形態では、専用の応答ハードウェア330、340は、ネットワークルータ310、320に物理的に取り付けられ、またはネットワークルータ310、320内に収容されている。
応答メッセージハードウェア330、340は、わずかな遅延から遅延なしで、問合せpingメッセージの受信後に応答pingメッセージを送信することができる。応答メッセージハードウェア330、340はわずかな遅延から遅延なしで応答pingメッセージを送信することができるため、応答メッセージハードウェア330、340は、ネットワークping距離測定値を使用することにより、ターゲットノードの物理的位置のより正確な決定を可能にする。応答メッセージハードウェア機器330、340は、ルータ310、320間のパスに置かれ、ping問合せメッセージおよびping応答メッセージを送受信するように機能する。これらの実施形態では、応答メッセージハードウェア機器330、340は、pingメッセージにその最高の優先順位を与える。
応答メッセージハードウェア機器330、340は、専用に設計されたpingメッセージを送受信するという唯一の目的を有し得る。機器330、340は、ノード(例えばルータ310、320)間のデータパスに置かれるように設計され、専用に設計されたpingメッセージを除くすべてのデータについてはパススルーとして機能してよく、専用に設計されたpingメッセージには、機器330、340は即時に応答する。いくつかの実施形態では、機器330、340は、通常のトラフィックを妨げることなく、ノード310、320間のデータパス内への信号の注入も行い得る。pingメッセージの送信の事前調整も、機器330、340によって実行され得る。
少なくとも1つの実施形態では、ネットワークノードの信頼が、検証された物理的位置を有するノード(すなわち信頼されるノード)から、検証された物理的位置を有しないノード(すなわち、非検証ノードまたはターゲットノード)へ移転され得る。この移転は、例えば、(専用の応答メッセージハードウェア機器が、例えば、ユニバーサル・シリアル・バス(universal serial bus (USB))接続を介してコンピューティング機器に取り付けられている場合のように、検証された物理的位置を有するノード310と隣接した)ある専用の応答メッセージハードウェア機器330が、ラインを介して問合せpingメッセージを送信するよう命じられるときに行われ得る。(その物理的位置を検証させていないノード320に隣接した)ラインの他端の対応する応答メッセージハードウェア機器340は、問合せpingメッセージに迅速に応答して、応答pingメッセージを送信する。第1の機器330は、返された応答pingメッセージを受信し、距離測定値計算を実行し、ネットワーク距離を非検証ノード320へ報告する。信頼される物理的に検証されたノード310は、両端に専用の応答メッセージハードウェア機器330、340がある場合には、信頼を「移転する」ことができる。信頼は、計算された距離が、測定され、検証された物理的位置と整合性を有する場合に継承される。
図12は、本開示の少なくとも1つの実施形態と一致する、着信データライン(例えば光ファイバケーブル)430と一直線に配置された機器410を示す、ルータ420に取り付けられた応答メッセージハードウェア機器410の概略図400である。応答メッセージハードウェア機器410は、データスプリッタ440(例えば双円錐(biconic)カプラ)を利用して着信データを分割する。データスプリッタ440は、光ケーブル460を介して(または何らかの他の手段によって)ルータ420へ着信データを渡し、また、コンピュータ回路450へも着信データを渡す。コンピュータ回路450は、データケーブル470を介してルータ420へデータを渡す。接続されたルータ420のデータフローを制御することによって、コンピュータ回路450は、よって、機器410と他の専用の応答メッセージハードウェア機器との間でpingメッセージを優先順位付けし、かつ/または事前調整することができ、それを、スループットデータへの影響を制限するようなやり方で行うことができる。例えば、各々が専用の応答メッセージハードウェア機器を有する2台のルータは、どちらも、通常のデータ送信を停止し、pingメッセージの送受信を実行すべき(例えば、10秒間のデータ送信が経過するたびに、1ミリ秒間のpingメッセージの送受信を実行すべき)ときに時間スケジュールを遵守し得る。
少なくとも1つの実施形態では、専用の応答メッセージハードウェア機器410は、衛星測距技術を用いて機器410自体および/またはルータ420の物理的位置の検証を実行するために、衛星追跡用のハードウェアおよびファームウェアも含み得る。1または複数の実施形態では、専用の応答メッセージハードウェア機器410は、事実上、ネットワークルータ420自体に組み込まれ得るはずであり、したがって、データスプリッタ440の使用を必要としない。
図13A、図13B、および図13Cは、本開示の少なくとも1つの実施形態と一致する、ネットワークに入り、その物理的位置を本開示システムによって認証させる、新しいノード520(すなわちターゲットノード)を示す概略図500、505、510を併せて表示した図である。少なくとも1つの実施形態では、新しいノード520が、「オンライン」になり、新しいノード520自体を「信頼される」ノードとして確認するのを支援するために問合せpingメッセージを送信し得る。これは、新しいノード520が信頼されるハードウェアを含み、信頼される場所に位置する(例えば、新しいノード520は、軍事基地に設置されている新しいルータである)場合とし得る。しかし、少なくとも1つの実施形態では、新しいノードは、制御されない機器であり得る。これらの実施形態では、新しいノードは、その物理的位置が、ping距離測定値の使用によって検証されたときに「信頼される」ノードに変換され得る。
図13Aでは、「信頼される」ノードへの変換を求める新しい非認証ノード520(すなわちターゲットノード)が、ルータ1 530、ルータ2 540、およびルータ3 550へジオセンティケーションping要求を送信する。3台のルータ530、540、550の物理的位置は、衛星560、570、580から送信される信号を利用する衛星ジオロケーション技術を使用して検証される。それに応答して、図13Bでは、各ルータ530、540、550は、新しいノード520へ問合せpingメッセージを送信する。新しいノード520が図13Cでping問合せメッセージを受信すると、新しいノード520は、ルータ530、540、550へ応答pingメッセージを送信する。ルータ530、540、550の各々と関連付けられたプロセッサ(不図示)が、ping問合せメッセージの送信から応答pingメッセージの受信までに経過した時間量を使用して、新しいノード520から各プロセッサと関連付けられたルータ530、540、550までの距離測定値を計算する。少なくとも1つのプロセッサが、これらの計算された距離測定値を使用して、新しいノード520の物理的位置を認証する。新しいノードの物理的位置が認証された後で、新しいノード520は、その後、「信頼される」ノードとみなされる。
本開示方法は、ネットワークノードが、所与のノードからの着信データを、そのノードの物理的位置に基づいて吟味することを可能にする。少なくとも1つの実施形態では、このことを使用して、ネットワークノードの信頼性の割り当てが改善され得る。いくつかの実施形態では、ノードの認証に基づいてアクセス特権が付与され得る。少なくとも1つの実施形態では、付与されるアクセス特権は、ノードの物理的位置を検証するのに使用される認証方法の種類に基づくものとすることができ、使用される方法が最高の正確さ/信頼性を有する場合、その方法は最高レベルのアクセス特権を割り当てられてよく、一方、最低の正確さ/信頼性を有する方法は、ノードがほとんど信頼できないことに関するものであり、最低のアクセス特権を割り当てられる。
スポットビームに基づく認証
エンティティまたはユーザの認証技術は、第三者検証者が、一方向認証の方法によって、リモートリソースについて、ユーザ、資産、または機器(例えば、要求者やネットワークノード)の識別および/または物理的位置の正当性を確認することを可能にする。しかし、この一方向の方法は、ホストシステムによって直接要求者の正当性を確認するのに使用されてもよいことに留意すべきである。エンティティは、機器(例えば、ネットワークノード、移動電話、コンピュータ、サーバなど)または追跡される必要のある資産であってよく、ユーザは、人または他の活動中/非活動中のエンティティとすることができる。エンティティおよび/またはユーザは、接続またはセッション全体の持続期間にわたって認証され得る。エンティティおよび/またはユーザは、最初の認証後に再認証を必要とし得る。再認証要件は、ホストネットワークによって定義されてよく、コンテキスト別であってよい。あるいは、このシステムは、メッセージごとに別々の認証プロセスを必要とするメッセージベースの認証システムに使用されてもよい。本明細書で述べる技術は、セッションベースの認証、メッセージベースの認証、またはそれらの認証の組み合わせに使用され得る。
加えて、この方法は、受信機器自体に適用されてもよく、よって、一方向認証は、リモートの第三者によってではなく、受信機器のうちの1または複数によって完了されてもよい。この方法が1台の機器によって実行される場合、この方法、それでもなお、一方向認証の方法とみなされる。しかし、この方法は、少なくとも2台のピアデバイスが相互に認証し合うことを可能にする多方向認証技術においても適用することができる。この一方向または多方向の機器間認証の方法において、認証は、一般に、2台の正当な受信機器の各々が知っており、いかなる無許可の、または不正な受信機器も知らない(対称および非対称の)共有秘密に依拠し得る。各機器は、各機器とピアデバイスとの間で共有される秘密のパスワードや、セキュリティ証明書の形の公開鍵/秘密鍵対といった、一意の認証資格情報を有し得る。デバイスは、他方のピアデバイスが満足するように、当該デバイスが共有秘密を知っており、したがって、正当であることを証明した場合に、当該デバイス自体を認証したことになる。この多方向認証の方法において少なくとも2台の機器間で認証が完了した後で、各機器は、相互にそれぞれの識別を証明したことになる。各機器は、次いで、所与のコンテキストについてのネットワークで接続されたリソースへの通信およびアクセスを保護するように同意されているサイバー・セキュリティ・ポリシーを実装するために各機器が選択し得る各機器自体の認証ネットワークを作成し得る。
(1または複数の)初期セキュリティ鍵の生成には、既存の認証方法が使用され、または組み合わされてよい。初期セキュリティ鍵は、例えば、Diffie-Hellman法を用いて協働して生成されてもよく、単に、一方のピアデバイスによって生成され、代替のセキュアなチャネル/プロセスによって他方のピアデバイスへ送信されてもよい。
いずれの場合も、初期セキュリティ鍵を添付することは、(前に定義したような)ある共有活性情報を含み得る。この適用では、活性情報は、衛星スポットビームによって提供され、タイムスタンプおよび擬似乱数(pseudo-random number (PRN))といった、認証において使用するためのパラメータを含み得る。
共有活性情報の使用は導出に際して使用されてよく、開始機器がピアデバイスに対して開始機器自体を認証するたびに異なるセキュリティ鍵が使用されることを可能にする。これは、潜在的な不正傍受者が、開始機器が認証されるたびに統計攻撃を開始し、開始機器の前のセッションの間に傍受されたメッセージの不正傍受者による分析に、新しく傍受されたメッセージを加えることを防ぐ。活性情報および初期セキュリティ鍵は、次いで、決定因関数(determinative function)への入力として渡され得る。本明細書で使用する場合、「決定因(determinative)」という用語は、関数の出力が完全に入力によって決定される関数を指す。この決定因関数は、開始機器上とピアデバイス上とで別々に実行されてよい。これら2台のデバイスが、決定因関数を実行したときに異なる出力を生成することになった場合には、関数から導出されたセキュリティ鍵は一致せず、機器は認証され得ず、よって、相互通信に使用することができないはずである。
決定因であることに加えて、セキュリティのために、関数は、本来的に不可逆的であるべきである。関数の出力を知っていても、その入力を求めることが非常に難しく、または不可能であるべきである。ハッシュは、どちらも決定因であり、本来的に不可逆であるクラスの関数を形成し、よって、往々にして、暗号化および認証の計算において使用される。周知のトランスポート・レベル・セキュリティ(Transport Level Security (TLS))プロトコルと共に使用される擬似ランダム関数(pseudo-random function (PRF))が、使用され得る決定因関数実装の一例である。
PRFは、2つの周知のハッシュ関数、メッセージ・ダイジェスト・アルゴリズム5(Message-Digest Algorithm 5 (MD5))およびセキュア・ハッシュ・アルゴリズム1(Secure Hash Algorithm 1 (SHA-1))の結果を組み合わせるものである。PRFは、万が一何者かが2つのハッシュ関数のうちの1つをどのようにして反転させるか突き止めた場合にセキュリティを保護するために、2つのハッシュ関数を使用する。これら2つのハッシュ関数は、セキュリティに最適とするには短すぎる可能性のある出力を生成する。SHA-1は20バイトの出力を生成し、MD5は16バイトの出力を生成する。したがって、2つのハッシュ関数の各々について、ハッシュ関数を使用して任意の長さの出力を生成する「データ伸長関数」が定義され得る。SHA-1では、データ伸長関数は、P_SHA-1として以下のように定義され得る。
式1:P_SHA-1(初期セキュリティ鍵,活性)=SHA-1(初期セキュリティ鍵,A(1)+活性)+SHA-1(初期セキュリティ鍵,A(2)+活性)+SHA-1(初期セキュリティ鍵,A(3)+活性)+...
式中、A(0)=活性であり、A(i)=SHA-1(初期セキュリティ鍵,A(i−1))であり、「+」符号は文字列連結を表す。
データ伸長関数P_MD5の定義は、上記の定義と同様であり、「SHA-1」が現れるすべての位置において「MD5」が「SHA-1」に取って代わる。データ伸長関数は、所望の長さの出力を生成するために必要なステップ数まで反復され得る。所望の出力長は、実装上のオプションとして設定され得る。少なくとも1つの実施形態では、ハッシュ関数ごとの所望の出力長は、128バイトである。P_SHA-1は、140バイトの合計出力長を得るためにA(7)まで反復され得る(反復ごとに出力長が20バイトずつ増加する)。出力は、次いで、切り捨てられて128バイトとされ得る。P_MD5の反復ごとに16バイトが生成され、よって、P_MD5をA(8)まで反復すると、切捨てなしで所望の128バイトが生成される。
ハッシュ関数を選択し、それらハッシュ関数のデータ伸長関数を所望の出力長まで反復したスポットビームに基づく認証についての一実施形態では、PRFは、入力として、伸長された初期セキュリティ鍵、ラベル(所定のASCII文字列)、および交換された活性情報を取る。PRFは、2つのハッシュデータ伸長関数、P_MD5およびP_SHA-1の出力のビットごとの排他的論理和(XOR)として以下のように定義される。
式2:PRF(伸長された初期セキュリティ鍵,ラベル,活性)=P_MD5(S1,ラベル+活性)XOR P_SHA-1(S2,ラベル+活性)
式中、S1は、バイト数で表した、伸長された初期セキュリティ鍵の前半分であり、S2は、伸長された初期セキュリティ鍵の後半分である。(伸長された初期セキュリティ鍵の長さが奇数である場合には、その中央バイトは、S1の最後のバイトであると共に、S2の最初のバイトでもある)。P_MD5およびP_SHA-1は、128バイトの出力を生成するまで反復されるため、PRFの出力も128バイトである。
PRFの128バイトの出力は、4つの32バイトのセッションセキュリティ鍵へ分割される。次いで、各セッションセキュリティ鍵は、使用される認証および暗号化のプロトコルによって必要とされる長さまで連結される。連結結果は、新しい一時的セッションセキュリティ鍵セットの1つになる。一時的セッションセキュリティ鍵の導出により、開始機器とピアデバイスの両方が、セキュリティ鍵情報の漏出を最小化し、または、少なくとも低減するために、初期秘密鍵または伸長された初期セキュリティ鍵のどちらもが直接使用しなくて済むようになる。また、一時的セッションセキュリティ鍵の導出により、開始機器およびピアデバイスが、伸長された初期セキュリティ鍵から導出されたセッションセキュリティ鍵を、定期的に、またはセッションセキュリティ鍵の使用を制限することによって統計的分析を防ぐよう命じられたときに、リフレッシュすることも可能になる。
認証および暗号化の一時的セッションセキュリティ鍵の各々は、以下の特定の目的を有する:i)開始機器からピアデバイスへの、機密性のための、データ交換の暗号化;ii)ピアデバイスから開始機器への、機密性のための、データ交換の暗号化;iii)開始機器からピアデバイスへの、完全性のための、データ交換の暗号化;およびiv)ピアデバイスから開始機器への、完全性のための、データ交換の暗号化。
スポットビームに基づく認証のための初期セキュリティ鍵の導出は、同意された、周知の原始根生成元「g」および素数の法「p」を用いたDiffie-Hellman法を使用し得る。開始機器およびピアデバイスは、各々、ランダムな秘密の整数を選択し、それぞれの((g^(秘密の整数))mod p)を交換する。この交換により、開始機器およびピアデバイスが、Diffie-Hellmanを用いて共有初期秘密鍵を導出することが可能になる。
開始機器とピアデバイス両方の間で共有される初期秘密鍵を導出したので、これらの機器は、例えばP_SHA-1を用いて、データ伸長を使用して伸長初期秘密を導出し得る。データ伸長プロセスのための活性情報は、開始機器とピアデバイスによって同意されている既知の乱数値またはタイムスタンプであってよい。いくつかの実施形態では、ピアデバイスが乱数値を選択し、その乱数値を、衛星または地上ネットワークを介して開始機器へ送信し得る。あるいは、開始機器とピアデバイスの両方がタイムスタンプに同意してもよい。というのは、開始機器およびピアデバイスは、厳密に時間同期されており、それによって、共有/共通タイムスタンプ値から活性を選択できる間の交換を回避するからである。
これに従い、開始機器およびピアデバイスは、新しい一時的セッションセキュリティ鍵セットを導出するのに使用され得る共有の伸長された初期秘密鍵を有する。この場合もやはり、活性のために、開始機器およびピアデバイスは、ピアデバイスによって送信される共有乱数値または共有/共通タイムスタンプ値のどちらかを使用し得る。一時的セッションセキュリティ鍵は、開始機器およびピアデバイスによって、開始機器とピアデバイスとの間のジオロケーションおよび他のコンテキスト情報の交換のさらなる暗号化および署名のために使用され得る。ジオロケーションおよび他のコンテキスト情報は、機密とみなされ、よって、そうした情報は、認証された開始機器およびピアデバイスだけが、交換されたジオロケーションおよびコンテキスト情報を抽出し得ることを保証するために、暗号化されるべきである。ジオロケーションは、擬似ランダム(PRN)コードセグメントおよび他と異なるビームパラメータを用いて、本特許出願に記載される手順によって認証されることに留意されたい。共有されるコンテキスト情報は、ターゲットとなるサイバー防御アプリケーションの実行または決定支援システムのための他の状態または制御情報を含み得る。暗号化に加えて、交換されるジオロケーションおよびコンテキスト情報の完全性も、前述のような署名のための一時的セッションセキュリティ鍵の使用によって保証される。
要約すると、いくつかの実施形態では、本明細書で記述される認証のシステムおよび方法は、認証プロセスの一部として、要求者の位置を決定するためにジオロケーション技術を活用し得る。そうしたジオロケーション技術の1つは、その開示全体が参照により本明細書に組み入れられる、「Geolocation Leveraging Spot Beam Overlap」という名称の、同一出願人による、同時係属の米国特許出願第12/756961号明細書において定義されている。認証が必要とされるとき、要求者機器は、他と異なる署名パラメータを取り込み、検証機器へ送信し得る。加えて、要求者機器は、要求者機器が要求する移動パス(すなわち、(1または複数の)ウェイポイントおよび各ウェイポイントにおける時刻)も送信し得る。ウェイポイントは、機器が固定式であるにせよ移動式であるにせよ、送信され得る。検証機器は、要求者の要求するビーム署名パラメータ、少なくとも1つの位置ウェイポイント、ならびに、このウェイポイントおよびビームパラメータ取り込みと関連付けられる少なくとも1つの時刻を使用して要求者を認証し得る。例えば、要求者は、少なくとも1つのスポットビームから取り込まれたビームパラメータおよび少なくとも1つの要求されたウェイポイントが、既知の有効なデータセットと対照して肯定される場合に、検証者によって認証されたとみなされ得る。このようにして、要求者は、特定の時刻にある領域内に存在しているものとして認証され得る。これらのパラメータに基づく複合コードは、エミュレートしたり、ハッキングしたり、成り済ましたりするのが極めて難しい信号を提供する。さらに、信号構造および衛星の受信信号電力は、認証が屋内または他の減衰環境において使用されることを可能にする。これにより、このシステムの手法の全般的有用性が高められる。
本出願の主題は、主に、イリジウム衛星によって実現されるような低軌道(LEO)衛星のコンテキストにおいて記述されている。しかし、ここで記述される技術は、他の衛星システム、例えば、中軌道(MEO)衛星や静止軌道(GEO)衛星にも容易に適用可能であることを当業者は理解するであろう。そうした衛星ベースの通信システムは、それだけに限らないが、船または携帯電話アンテナ塔を含む固定式通信プラットフォームのみならず、他のモバイル通信システム、例えば、航空機搭載通信システムなども含み、もしくは利用し得る。
図14は、各実施形態による、衛星ベースの通信システム600の概略図である。実際には、衛星ベースの通信システム600は、軌道上の少なくとも1つの衛星610を含み得る。簡潔にするために、図14には1機の衛星が示されている。図14を参照すると、いくつかの実施形態では、システム600は、1または複数の受信機器620と通信する1または複数の衛星610を含む。いくつかの実施形態では、衛星610は、イリジウム衛星コンステレーション内のLEO衛星といったLEO衛星として具現化され得る。(1または複数の)衛星610は、既知の軌道上で地球を周回し、1または複数のスポットビーム630を既知のパターンで地表へ送信し得る。各スポットビーム630は、擬似ランダム(PRN)データや、1または複数の互いに異なるビームパラメータ(例えば、時刻、衛星ID、時間バイアス、衛星軌道データなど)といった情報を含み得る。
(1または複数の)受信機器620は、衛星電話やセルラー電話といった通信機器として、または通信機器もしくはコンピューティング機器、例えば、パーソナルコンピュータ、ラップトップコンピュータ、PDAなどの構成要素として実装され得る。いくつかの実施形態では、受信機器(620)は、全地球測位システム(global positioning system (GPS))と接続して使用される機器と類似した1または複数の位置特定またはナビゲーション用の機器またはモジュールを含み得る。
図15A、図15B、および図15Cは、各実施形態による、衛星ベースの認証システム700の概略図である。まず、図15Aを参照すると、いくつかの実施形態では、軌道上の衛星610が、地表へ1または複数のスポットビーム630を送信する。受信機器620は、スポットビームから信号を受信するように構成され得る。図15Aに示す実施形態では、受信機器は、地上に設置されており、減衰環境において動作している可能性がある。例えば、屋根、建物などといった物体710が、衛星610と受信機器との間の通信パスの一部分を遮断している可能性がある。
送信機720は、受信機器620によって受信されたデータおよび/または受信機器620によって生成されたデータを検証者730へ送信する。図15Aに示す送信機720は、受信機器から検証者へデータを中継する無線送信機である。しかし、受信機器620からのデータは、有線通信システム、無線通信システム、または有線システムと無線システムの組み合わせを経由して送信され得ることを当業者は理解するであろう。検証者730は、受信機器620によってスポットビームを介して取り込まれたデータを使用して、検証者730に対して、図15Bでも該当する一方向認証の手法によって、受信機器620が認証されたユーザであることを証明する。
さらに、図15Bに、受信機器620が、例えば航空機625に搭載され得る構成を示す。図15Bに示す実施形態では、航空機625は、衛星610とのアップリンク、例えばLバンドアップリンクを維持し、航空機内で受信機器620によって取り込まれるデータは、アップリンクを介して衛星610へ送り返され得る。衛星610はデータを第2の相互リンクされた衛星610へ送信し、第2の衛星610は、さらに、そのデータを検証者730へ送信し得る。
図15Cに示すシステムは、2台(以上)のピアデバイス620が、相互認証のために双方向認証技術を実装し得る実施形態を例示するものである。図15Cを簡単に参照すると、上述のように、軌道上の衛星610が、地表へ1または複数のスポットビーム630を送信する。第1の受信機器620Aは、スポットビームから信号を受信するように構成され得る。第1の受信機器620Aは、例えば、上述のDiffie-Helman法を用いて、スポットビームからのPRNデータを組み込んだセキュリティ鍵を導出するように構成され得る。
PRNデータは、第2の機器620Bへも送信される。いくつかの実施形態では、第2の機器620Bは、スポットビーム630の外側にあってよく、その場合、PRNデータは、通信ネットワークを介して第2の機器620Bに結合されたコンピューティング機器740によって送信され得る。コンピューティング機器740は、衛星610に通信可能に結合され得る。例えば、それだけに限らないが、コンピューティング機器740は、通信リンクを介して衛星610に別個に結合されたサーバであってもよい。コンピュータ740は、衛星610のための制御ネットワークと関連付けられてよく、それによって、スポットビーム630と関連付けられたPRNデータを処理し得る。
動作に際して、第1の受信機器620Aは、認証データを求める要求を開始し、要求は第2の受信機器620Bへ送信される。第1の受信機器620Aと第2の受信機器620Bとの間の通信リンクは、直接であってもよく、送信ネットワーク720を介して実装されてもよい。第2の受信機器620Bは、要求に応答し、第1の受信機器620Aからの認証データを求めるほぼ同時の要求を発行する。第1の受信機器620Aは、第2の受信機器620Bを認証し、認証データと求める要求へのほぼ同時の応答を第2の受信機器620Bへ発行し、第2の受信機器620Bは、次いで、第1の受信機器620Aを認証し得る。
上述のように、第1の受信機器620Aと第2の受信機器620Bとの間で実装される認証プロセスは、共有秘密が、スポットビーム630によって送信されるPRNデータの少なくとも一部分を含むDiffie-Hellman交換とすることができる。よって、図15Cに示すシステムは、受信機器620A、620Bのピア・ツー・ピア認証を可能にする。この双方向認証の手法は、受信機器とサーバ、ならびに他のハードウェアアーキテクチャへ、あるいは2台以上の機器へも拡張され得るはずであることを当業者は理解するであろう。
図16Aは、各実施形態による、衛星ベースの認証システムを実装するように適応し得るコンピューティングシステムの概略図である。例えば、図15Aおよび図15Bに示す実施形態では、検証者730は、図16Aに示すようなコンピューティングシステムによって実装され得る。図16Aを参照すると、一実施形態では、システム800は、コンピューティング機器808と、画面804を有するディスプレイ802、1または複数のスピーカ806、キーボード810、他の1または複数のI/O機器812、およびマウス814を含む1または複数の付随する入力/出力機器とを含み得る。他のI/O機器812は、タッチスクリーン、音声作動式入力機器、トラックボール、およびシステム800がユーザから入力を受け取ることを可能にする任意の他の機器を含み得る。
コンピューティング機器808は、システムハードウェア820およびメモリ830を含み、メモリ830は、ランダム・アクセス・メモリおよび/または読取り専用メモリとして実装され得る。ファイルストア880は、コンピューティング機器808に通信可能に結合され得る。ファイルストア880は、例えば、1または複数のハードドライブ、CD-ROMドライブ、DVD-ROMドライブ、あるいは他の種類の記憶装置のように、コンピューティング機器808に内蔵されていてよい。ファイルストア880は、例えば、1または複数の外付けハードドライブ、ネットワーク接続された記憶、あるいは別個の記憶ネットワークのように、コンピューティング機器808の外部にあってもよい。
システムハードウェア820は、1または複数のプロセッサ822、少なくとも2つのグラフィックスプロセッサ824、ネットワークインターフェース826、およびバス構造828を含み得る。一実施形態では、プロセッサ822は、米国カリフォルニア州サンタクララのIntel Corporationから入手可能なIntel(登録商標) Core2 Duo(登録商標)プロセッサとして具現化され得る。本明細書で使用する場合、「プロセッサ」という用語は、それだけに限らないが、マイクロプロセッサ、マイクロコントローラ、複合命令セットコンピューティング(complex instruction set computing (CISC))マイクロプロセッサ、縮小命令セット(reduced instruction set (RISC))マイクロプロセッサ、超長命令語(very long instruction word (VLIW))マイクロプロセッサ、任意の他の種類のプロセッサもしくは処理回路といった、任意の種類の計算要素を意味する。
グラフィックスプロセッサ824は、グラフィックスおよび/またはビデオ動作を管理する補助的なプロセッサとして機能し得る。グラフィックスプロセッサ824は、コンピューティングシステム800のマザーボード上に統合されていてもよく、マザーボード上の拡張スロットを介して結合されてもよい。
一実施形態では、ネットワークインターフェース826は、イーサネット(登録商標)インターフェース(例えば、Institute of Electrical and Electronics Engineers(米国電気電子技術者協会)/IEEE 802.3-2002参照)といった有線インターフェース、またはIEEE 802.11a、IEEE 802.11b、もしくはIEEE 802.11g準拠のインターフェース(例えば、IEEE Standard for IT-Telecommunications and information exchange between systems LAN/MAN--Part II: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications Amendment 4: Further Higher Data Rate Extension in the 2.4 GHz Band, 802.11G-2003参照)といった無線インターフェースとすることができるはずである。無線インターフェースの別の例は、汎用パケット無線サービス(general packet radio service (GPRS))インターフェースであろう(例えば、Guidelines on GPRS Handset Requirements, Global System for Mobile Communications/GSM(登録商標) Association, Ver. 3.0.1, December 2002参照)
バス構造828は、システムハードウェア820の様々な構成要素を接続する。一実施形態では、バス構造828は、メモリバス、周辺バスもしくは外部バス、ならびに/または、それだけに限らないが、11ビットバス、ISA(Industrial Standard Architecture)、MSA(Micro-Channel Architecture)、EISA(Extended ISA)、IDE(Intelligent Drive Electronics)、VLB(VESA Local Bus)、PCI(Peripheral Component Interconnect)、USB(Universal Serial Bus)、AGP(Advanced Graphics Port)、PCMCIA(Personal Computer Memory Card International Association bus)、およびSCSI(Small Computer Systems Interface)を含む任意の様々な利用可能なバスアーキテクチャを使用したローカルバスを含むいくつかの種類の(1または複数の)バス構造のうちの1または複数であってよい。
メモリ830は、コンピューティング機器808の動作を管理するためのオペレーティングシステム840を含み得る。一実施形態では、オペレーティングシステム840は、システムハードウェア820へのインターフェースを提供するハードウェア・インターフェース・モジュール854を含む。加えて、オペレーティングシステム840は、コンピューティング機器808の動作において使用されるファイルを管理するファイルシステム850、およびコンピューティング機器808上で実行されるプロセスを管理するプロセス制御サブシステム852も含み得る。
オペレーティングシステム840は、データパケットおよび/またはリモートソースからのデータストリームを送受信するためにシステムハードウェア820と連携して動作し得る1または複数の通信インターフェースを含み得る(または管理し得る)。オペレーティングシステム840は、オペレーティングシステム840とメモリ830に置かれた1または複数のアプリケーションモジュールとの間のインターフェースを提供するシステム・コール・インターフェース・モジュール842をさらに含み得る。オペレーティングシステム840は、UNIX(登録商標)オペレーティングシステムもしくはUNIX(登録商標)オペレーティングシステムの任意の派生品(例えば、Linux(登録商標)、Solaris、BSD(Berkeley Software Distribution)、Androidなど)として、またはWindows(登録商標)ブランドのオペレーティングシステム、または他のオペレーティングシステムとして具現化され得る。
様々な実施形態において、コンピューティング機器808は、パーソナルコンピュータ、ラップトップコンピュータ、PDA、移動電話、娯楽機器、または他のコンピューティング機器として具現化され得る。
一実施形態では、メモリ830は、要求者から受信されたデータに基づいて要求者を認証する認証モジュール862を含む。一実施形態では、認証モジュール862は、プロセッサ822によって実行されると、プロセッサ822に、要求者から受信されたデータに基づいて要求者を認証させる、非一時的なコンピュータ可読媒体において符号化された論理命令を含み得る。加えて、メモリ830は、地球を周回する所定の軌道上の衛星610についての軌道情報を含む衛星軌道データベース864も含み得る。認証プロセスおよび認証モジュール862によって実装される動作に関するさらなる詳細を以下で説明する。
いくつかの実施形態では、受信機器620は、従来のコンピューティング機器622(例えば、ラップトップ、PDA、スマートフォン機器)と結合するように適応した衛星通信モジュールとして実装され得る。受信機器620は、適切な通信接続によって、例えば、ユニバーサル・シリアル・バス(USB)インターフェース、RS-232インターフェース、光インターフェースなどによって、コンピューティング機器622に結合され得る。図16Bに示す実施形態では、受信機器620は、受信機器620が、受信機と、限られた処理能力、例えば、認証ルーチンを実装するように構成された特定用途向け集積回路(ASIC)やフィールド・プログラマブル・ゲート・アレイ(FPGA)とを含み得るという意味において、「シン」デバイスであってよい。
動作に際して、コンピューティング機器622のユーザは、受信機器620を利用して、ホストネットワーク890とのコンピューティング機器622の認証を行い得る。上述のように、図16Bに示す受信機器620は、衛星610から、他と異なるビーム署名および擬似乱数(PRN)を含むスポットビーム送信630を受信し得る。コンピューティング機器622は、ホストネットワーク890へのアクセス要求を開始し得る。アクセス要求は、ユーザ固有の情報、例えばユーザIDと、地球ベースの座標系からの1または複数の座標(例えば、郵便番号、エリアコード、緯度/経度、ユニバーサル横メルカトル(Universal Transverse Mercator (UTM))、地球中心地球固定(Earth-Centered Earth-Fixed (ECEF))、世界地理参照システム(World Geographic Reference System (GEOREF))、または他の雑多なシステム)と、衛星610から受信されたPRNデータの少なくとも一部分とを含み得る。
ホストネットワーク890は、認証要求として検証者730へユーザアクセス要求を送信し得る。いくつかの実施形態では、ホストネットワークは、検証者730がコンピュータ622を認証することができるように、要求に追加情報を付加し得る。例えば、ホストネットワーク630は、どこで(すなわち、どんな地理的位置から)要求者が認証され得るかに関する制限事項を提供し得る。検証者730は、要求者を検証し、ホストネットワーク890へ認証応答を提供し得る。ホストネットワーク890は、さらに、コンピューティング機器622へアクセス応答を転送し得る。
図17は、各実施形態による、要求者を認証する方法における動作を例示する流れ図である。図17を参照すると、動作910で、要求者機器は、要求者機器の物理的位置を決定する。いくつかの実施形態では、要求者機器620は、要求者機器620の位置を決定する1または複数の位置モジュールを含み得る。例えば、それだけに限らないが、要求者機器620は、全地球測位システム(GPS)からの信号に基づいて位置を決定するGPSモジュールを含み、またはGPSモジュールに通信可能に結合されていてよい。代替として、または加えて、要求者機器620は、それぞれの開示全体が参照により本明細書に組み入れられる、米国特許第7,489,926号、第7,372,400号、第7,579,987号、および第7,468,696号の各明細書のうちの1または複数に記載されているように、1または複数のLEO衛星またはMEO衛星610からの信号に基づいて位置を決定する論理を含んでいてもよい。いくつかの実施形態では、要求者機器620の位置は、緯度/経度座標または別の地球ベースの座標系で表され得る。
動作915で、要求者機器620は、衛星610からスポットビーム送信を受信する。いくつかの実施形態では、要求者機器620は、衛星スポットビームから、擬似ランダム・コード・セグメントを含む1または複数の互いに異なるビームパラメータ(例えば、時刻、衛星ID、ビームID、時間バイアス、衛星軌道データなど)を抽出する。いくつかの実施形態では、要求者機器620は、ビームパラメータを、要求者機器620内の、または要求者機器620に通信可能に結合されたメモリモジュールに記憶し得る。1または複数の実施形態では、動作915は、その前の動作910とほぼ同時に行われ得る。
動作920で、要求者機器620は、続いて1または複数のウェイポイント・データ・スナップショットを生成してよく、ウェイポイント・データ・スナップショットは、動作910からの要求者機器620についての位置情報、および動作915で述べた衛星スポットビームを介して送信された互いに異なるビームパラメータのうちの1または複数を含み得る。いくつかの実施形態では、ウェイポイント・データ・スナップショットは、要求者機器620内の、または要求者機器620に通信可能に結合されたメモリモジュールに記憶され得る。
いくつかの実施形態では、要求者機器620は、ある期間にわたるウェイポイント・データ・スナップショットの配列を収集し得る。例えば、ウェイポイント・データ・スナップショットの配列は、ある期間にわたって要求者機器620上を通過する複数の衛星610からスポットビームを受信することによって構築され得る。代替として、または加えて、ウェイポイント・データ・スナップショットの配列は、衛星610に関連して要求者機器620を移動させることによって、例えば、図15Bに示すように、要求者機器620を航空機625に配置することによって構築されてもよい。別の例は、危険物を含み得るエンティティまたは資産の移動経路を確認するための追跡装置として働く要求者機器を含むはずである。要求者機器は、予期されるパスが実際のパスと一致することを検証するためにウェイポイントデータを提供するようポーリングされ得る。要求者機器は、ランダムにポーリングされ得る。
動作920で、(1または複数の)ウェイポイント・データ・スナップショットは、要求者機器620から検証者機器730へ伝達される。例えば、図15Aに示す実施形態では、(1または複数の)ウェイポイント・データ・スナップショットは、送信機720を介して、または別の通信ネットワークを介して送信され得る。図15Bに示す実施形態では、(1または複数の)ウェイポイント・データ・スナップショットは、航空機625から衛星610へ送信され、次いで、衛星ネットワークを介して検証者機器730へ送信され得る。
動作925で、検証者機器730は、要求者機器620から位置データおよびウェイポイントデータを受信する。動作930で、検証者機器730は、要求者を認証するために、それら位置データおよびウェイポイントデータを、既知の有効なデータセット内の対応するデータと比較する。例えば、イリジウム衛星コンステレーションといったLEO衛星は公知の軌道で地球を周回し、その軌道の近似パラメータは十分に前もって入手できる。検証者機器730は、衛星軌道データベース864を含んでいてよく、または衛星軌道データベース864に通信可能に結合されていてよく、衛星軌道データベース864は、地球を回る公知の軌道上の衛星610に関する軌道情報を含む。
いくつかの実施形態では、要求者機器から受信される位置データおよびウェイポイントデータは、要求者機器620が、事実、予期される時刻に予期される地理的位置の合理的な閾値距離以内にあるかどうか判定するために、既知のデータセットからの位置データおよびウェイポイントデータと比較される(動作930)。例えば、それだけに限らないが、衛星軌道データベース864は、要求者機器620から送信された他と異なるビームパラメータに対応するデータレコードを求めて探索され得る。一致するレコードが探し出されると、軌道データベース864から取得されたレコードからの軌道データは、要求者機器620から受信されたデータと比較され得る。例えば、既知のデータは、スポットビーム630の中心の座標、および地表のスポットビーム630の半径の表示を含み得る。要求者機器620から受信された座標は、スポットビームの位置と比較されて、要求者機器から受信されたデータで表示される時刻に、スポットビームによって範囲を定められる領域内に要求者機器620があることを、受信されたデータが表示するかどうかが判定され得る。少なくとも1つの実施形態では、スポットビームは、不定形であり得る。少なくとも1つの実施形態では、要求者機器は、地表の上方のある高度のところにあり得る。
動作935で、要求者機器620から受信されたデータが、要求者機器からのデータと関連付けられる時刻に、衛星610からのスポットビームに囲まれる地理的領域内に要求者機器620があることを表示する場合には、要求者機器620は認証されたとみなすことができる。認証システムにおいて、制御は、次いで、動作940に渡され、要求者は、リソースへのアクセスを許可される。例えば、それだけに限らないが、検証者機器730は、認証された要求者機器620にトークンを付与し得る。トークンは、リモートシステムによって、リソースへのアクセス権を付与するのに使用され得る。
これと対照的に、要求者機器620から受信されたデータが、要求者機器620からのデータと関連付けられる時刻に、衛星610からのスポットビームに囲まれる地理的領域内に要求者機器620がないことを表示する場合には、要求者機器620は認証されたとみなすことができない。認証システムにおいて、制御は、次いで、動作945に渡され、要求者はリソースへのアクセスを拒否される。例えば、それだけに限らないが、検証者機器730は、認証された要求者機器620へのトークンを拒否し得る。トークンがない場合、要求者機器は、リモートシステムによって管理されるリソースへのアクセスを拒否され得る。
よって、図14〜図16に示すシステムアーキテクチャおよび図17に示す方法は、1または複数の要求者機器620の衛星ベースの認証を可能にする。認証システムは、リモート・コンピューティング・システムによって管理される1または複数のリソースへのアクセスを許可し、または拒否するのに使用され得る。いくつかの実施形態では、(1または複数の)要求者機器は固定式であってよく、他の実施形態では、(1または複数の)要求者機器は移動式であってよく、認証プロセスは、時間に基づく認証、位置に基づく認証、またはそれら両方の組み合わせであってよい。
いくつかの実施形態では、システムは、(1または複数の)要求者機器620がセッション全体にわたってリソースを使用するために認証されるセッションベースの認証を実装するのに使用され得る。他の実施形態では、システムは、(1または複数の)要求者機器620が、(1または複数の)要求者機器620からリモートリソースへ送信されるメッセージごとに別々に認証されなければならない、メッセージベースの認証を実装し得る。
一例示的実装形態では、本明細書で記述される認証システムは、企業電子メールシステム、企業ネットワーク、軍もしくは民間のインフラストラクチャネットワーク、あるいは電子バンキング施設といったセキュアなコンピューティングリソースへのアクセスについての認証を提供するのに使用され得る。他の例示的実装形態では、認証システムは、ロジスティクスシステムにおける輸送手段の旅程を確認するのに使用され得る。例えば、トラック、列車、船舶、航空機といった移動エンティティが、1または複数の要求者機器620を含み得る。予定される任務の過程において、ロジスティクスシステムは、(1または複数の)要求者機器620を周期的にポーリングすることができ、(1または複数の)要求者機器620は、衛星610から取得される認証データで応答し得る。認証データは、ロジスティクスシステムにおいて収集され、(1または複数の)要求者機器が、ロジスティクス計画に従って所定の時刻に特定の位置にあることを確認するのに使用され得る。
さらに別の例では、本明細書で記述される認証システムの実装は、モニタリングシステム、例えば、自宅監禁監視システムと関連付けられた(1または複数の)要求者機器の位置を検証するのに使用され得る。そうした実施形態では、(1または複数の)要求者機器は、システムのユーザを認証するための指紋生体センサといった1または複数の生体センサを組み込んでいてよく、一方、認証システムは、要求者機器が、所定の時刻に所定の位置にある(すなわち要求者が適切な時刻に適切な位置におり、適切な人物である)ことを確認するのに使用され得る。また認証機器は、承認された位置の定義されたリストと対照して要求者機器の位置を見直してもよく、また、承認された位置の定義されたリストも、(1または複数の)承認された期間における(1または複数の)承認された位置のセットと対照して、要求者機器の位置および時刻を見直すことにより、認証システムによってさらに改善され得る。さらに、このシステムは、登録された性犯罪者を追跡するのにも使用され得る。
いくつかの実施形態では、衛星610は、公知の軌道上で地球を周回し、公知の形状を有するスポットビームを送信するイリジウムコンステレーションといったLEO衛星システムの一部とすることができ、よって、(1または複数の)要求者機器は、要求者機器が指定される時刻に指定されるスポットビーム内にあることを確認することによって認証され得る。よって、要求者は、単一の信号源(例えば単一の衛星610)を用いて認証され得る。また、イリジウムコンステレーションといったLEO衛星およびMEO衛星は、相対的に高いレベルの信号電力を送信するため、システムは、遮断された環境、例えば、屋内や都市部に位置する1または複数の要求者機器を認証するのにも使用され得る。また、LEO衛星およびMEO衛星の相対的に高い信号強度により、これらの信号は、妨害活動の影響を受けにくい状態のままである。
本明細書ではある特定の例示的実施形態および方法が開示されているが、以上の開示を読めば、そうした実施形態および方法の変形および改変が、開示の技術の真の趣旨および範囲を逸脱することなく行われ得ることが、当業者には明らかとなり得る。開示の技術の多くの他の例が存在し、各例は他の例と細部の問題として異なるにすぎない。したがって、開示の技術は、添付の特許請求の範囲ならびに適用法の規則および原則によって要求される範囲にのみ限定されるものであることが意図されている。