(57)【特許請求の範囲】
【請求項１】
マスタステーション（１６）およびスレーブ衛星ステーション（１２）を備え、前記マスタステーション（１６）は第１のプロセッサ（５４）、第１の送信機（６６）、第１の受信機（７０）および第１のメモリ（５６）を含み、前記スレーブ衛星ステーション（１２）は第２のプロセッサ（２６）、第２の送信機（４６）、第２の受信機（５０）および第２のメモリ（２８）を含む衛星システム（１０）における、
前記マスタステーション（１６）から前記スレーブ衛星ステーション（１２）にコマンドを通信して前記コマンドが前記スレーブ衛星ステーション（１２）により真性証明できるようにする方法であって、該方法は、
（ａ）前記スレーブ衛星ステーション（１２）において第１の組のコードパッドを生成する段階であって、前記第１の組の前記コードパッドの各々は有限の長さのランダムな情報の流れからなる、前記段階、
（ｂ）前記第１の組のコードパッドを前記スレーブ衛星ステーション（１２）の前記第２のメモリ（２８）に格納する段階、
（ｃ）前記スレーブ衛星ステーション（１２）から前記第１の組のコードパッドと共通の第２の組のコードパッドを送信する段階であって、前記第２の組の前記コードパッドの各々は前記有限の長さのランダムな情報の流れからなる、前記段階、
（ｄ）前記マスタステーション（１６）において前記第１の受信機（７０）により前記第２の組のコードパッドを受信する段階、
（ｅ）前記第１の受信機（７０）により受信された前記第２の組のコードパッドを前記マスタステーション（１６）の前記第１のメモリ（５６）に格納する段階、
（ｆ）前記マスタステーション（１６）において前記第１の受信機（７０）により前記第２の組のコードパッドの内の１つを選択するポインタを受信する段階、
（ｇ）前記第１のプロセッサにより前記第２の組のコードパッドの内の前記ポインタにより選択された前記１つを前記コマンドと組み合わせてメッセージを形成する段階、
（ｈ）前記第１の送信機により前記メッセージを前記スレーブ衛星ステーション（１２）に送信する段階、そして
（ｉ）前記スレーブ衛星ステーション（１２）において前記メッセージを受信して得たコードパッドと前記第１の組のコードパッドの内の前記ポインタにより選択されたコードパッドとの間の整合を検出することにより前記コマンドを真性証明する段階、
を具備することを特徴とするマスタステーション（１６）からスレーブ衛星ステーション（１２）にコマンドを通信して前記コマンドが前記スレーブ衛星ステーション（１２）により真性証明できるようにする方法。
【請求項２】
マスタステーション（１６）およびスレーブ衛星ステーション（１２）を備え、前記マスタステーション（１６）は第１のプロセッサ（５４）、第１の送信機（６６）、第１の受信機（７０）および第１のメモリ（５６）を含み、前記スレーブ衛星ステーション（１２）は第２のプロセッサ（２６）、第２の送信機（４６）、第２の受信機（５０）および第２のメモリ（２８）を含む衛星システム（１０）における、
前記マスタステーション（１６）から受信されたコマンドをそれによって通信された命令を実行する前に真性証明するために前記スレーブ衛星ステーション（１２）を動作させる方法であって、該方法は、
（ａ）前記スレーブ衛星ステーション（１２）における前記第２のプロセッサ（２６）により第１の組のコードパッドを発生する段階であって、前記第１の組の前記コードパッドの各々は有限の長さのランダムな情報の流れからなる、前記段階、
（ｂ）前記第１の組のコードパッドを前記第２のメモリ（２８）に格納して格納されたコードパッドを提供する段階、
（ｃ）前記第２の送信機（４６）によって前記第１の組のコードパッドを前記マスタステーション（１６）に送信する段階、
（ｄ）前記第２の送信機（４６）によって前記第１の組のコードパッドの内の１つを選択するポインタを前記マスタステーション（１６）に送信する段階、
（ｅ）前記第２の受信機（５０）によって前記マスタステーションからコマンド及び前記第１の組のコードパッドと共通の第２の組のコードパッドの内の前記ポインタにより選択されたコードパッドを含むデータ通信メッセージを受信する段階、
（ｆ）前記第２のプロセッサ（２６）によって前記データ通信メッセージから前記コマンドおよび前記第２の組のコードパッドの内の前記ポインタを用いて選択されたを１つを復元して復元されたコマンドおよび復元されたコードパッドを提供する段階、
（ｇ）前記第２のプロセッサ（２６）により前記復元されたコードパッドと前記格納されたコードパッドとの間の整合を検出することによって前記復元されたコードパッドを評価することにより前記データ通信メッセージを真性証明する段階、そして
（ｈ）もし前記段階（ｇ）が前記整合を検出しなければ前記復元されたコマンドに基づき行動することを避ける段階、
を具備することを特徴とするマスタステーション（１６）から受信されたコマンドをそれによって通信された命令を実行する前に真性証明するためにスレーブ衛星ステーション（１２）を動作させる方法。
【請求項３】
マスタ装置（１６）およびスレーブ衛星装置（１２）を備え、前記マスタ装置（１６）は第１のプロセッサ（５４）、第１の送信機（６６）、第１の受信機（７０）および第１のメモリ（５６）を含み、かつ前記スレーブ衛星装置（１２）は前記マスタ装置（１６）から遠隔に位置し、かつ前記スレーブ衛星装置（１２）は第２のプロセッサ（２６）、第２の送信機（４６）、第２の受信機（５０）および第２のメモリ（２８）を含む、衛星システムにおける、
前記マスタ装置（１６）と前記スレーブ衛星装置（１２）との間で通信されるコマンドを真性証明する方法であって、該方法は、
（ａ）前記第２のプロセッサ（２６）によって前記スレーブ衛星装置（１２）において、第１の組のランダムなコードパッドを発生する段階であって、前記第１の組の前記コードパッドの各々は有限の長さのランダムな情報の流れからなる、前記段階、
（ｂ）前記第１の組のランダムなコードパッドを前記スレーブ衛星装置（１２）における前記第２のメモリ（２８）に格納する段階、
（ｃ）前記第２の送信機（４６）によって前記第１の組のランダムなコードパッドを前記スレーブ衛星装置（１２）から前記マスタ装置（１６）に送信する段階、
（ｄ）前記マスタ装置（１６）における前記第１の受信機（７０）によって前記第１の組のランダムなコードパッドを受信して前記第１の組のランダムなコードパッドと共通の第２の組のランダムなコードパッドを提供する段階、
（ｅ）前記第２の組のランダムなコードパッドを前記第１のメモリ（５６）に格納する段階、
（ｆ）前記マスタ装置（１６）において前記第１の受信機（７０）により前記第２の組のランダムなコードパッドの内の１つを選択するポインタを受信する段階、
（ｇ）前記マスタ装置（１６）における前記第１の送信機（６６）によって前記スレーブ衛星装置（１２）に対しメッセージを送信する段階であって、前記メッセージはコマンドおよび前記第２の組のランダムなコードパッドの内の前記ポインタにより選択されたコードパッドを含む、前記段階、
（ｈ）前記スレーブ衛星装置（１２）における前記第２の受信機（５０）によって前記メッセージを受信する段階、
（ｉ）前記第２のプロセッサ（２６）によって前記メッセージからコードパッドを復元して復元されたコードパッドを提供する段階、
（ｊ）前記第２のプロセッサ（２６）により前記復元されたコードパッドと前記第１の組のコードパッドの内の前記ポインタにより選択されたコードパッドとの間の整合を検出することによって前記復元されたコードパッドを評価する段階（１０６）、そして
（ｋ）もし前記段階（ｊ）が前記整合を検出しなかった場合には前記スレーブ衛星装置（１２）における前記第２のプロセッサ（２６）によって前記コマンドを実行することを避ける段階（１１２）、
を具備することを特徴とするマスタ装置とスレーブ衛星装置との間で通信されるコマンドを真性証明する方法。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、一般的には、他の装置によって発行されたコマンドに基づき行動する１つの装置の制御に関する。より詳細には、本発明は１つの装置によって発行されたコマンドを他の装置が該コマンドに基づき行動する前にその真実性を確証するすなわち真性証明する（ａｕｔｈｅｎｔｉｃａｔｉｎｇ）ためのプロセスに関する。
【０００２】
【従来の技術】
多くのシステムはマスタステーションが重要な（ｃｒｉｔｉｃａｌ）制御機能に対するコマンドを遠隔に位置するスレーブステーションに発行することを要求する。これが行われる１つの状況は軌道を回る衛星を制御する場合であり、地上をベースとしたマスタ制御ステーションは、軌道修正コマンドのような、コマンドをスレーブ衛星ステーションに発行する。しかしながら、重要な制御機能はまた経済的および他の産業上のかつ政治的な努力に関連して遠隔的に発行される。
【０００３】
該コマンドはそのそようなコマンドに対し不適切に行動しているスレーブステーションから生じ得るひどく有害な結果のために重要であると考えられる。ある衛星においては、不適切な行動は衛星がその軌道を離れあるいは該衛星の寿命あるいは該衛星の有用性を大幅に低減する他の結果を生じさせるかも知れない。衛星を構築しかつ軌道に配置することに関する膨大なコストのため、潜在的な損失は巨大なものである。財政上の状況においては、金が不適切な口座に記入されるかもしれず、やはり潜在的に大きな財政上の損失につながる。また、他の状況においては、スレーブステーションによる不適切な行動は人類の生活および健康に対するあるいは環境に対する害をおよぼす大きな危険性を生ずるかもしれない。
【０００４】
従って、重要なコマンドが遠隔的に発行されるシステムにおいてそのようなひどく望ましくない結果が生ずることを防止するためにしばしばいくつかの段階が取られる。そのような段階は典型的には少なくとも２つの異なる事項に向けられている。第１の事項はスレーブステーションがその割当てられたマスタステーションによって発行されたコマンドにのみ応答することを保証することを扱う。言い換えれば、スレーブステーションがそれが受信したコマンドが実際にその割当てられたマスタステーションから来ておりかつ何らかの他のコントローラからではないことの高度の確信を持つことができるように真性証明プロセスが使用される。第２の事項はその割当てられたマスタステーションからコマンドを受信するスレーブステーションが実際に意図されたコマンドを受信しかつ何らかの他のコマンドを受信したのではないことの保証を取り扱う。言い換えれば、コマンドを通信する上で何らのエラーも生じていないことを保証するために確認（ｃｏｎｆｉｒｍａｔｉｏｎ）プロセスが使用される。
【０００５】
【発明が解決しようとする課題】
当業者には数多くの効率のよい効果的な、かつさもなければ満足すべき確認プロセスが知られている。ところが、伝統的な真性証明プロセスは上に述べたようなシステムの真性証明の必要性に対する満足な解答を与えない。伝統的な真性証明プロセスは実施するためおよび動作するためには複雑である。そのような伝統的なプロセスはしばしば暗号化および暗号解読プロセスを実施するための専用の「保安（ｓｅｃｕｒｅ）」ハードウェアを含む。そのような伝統的なプロセスは効率的なレベルの真性証明の保安を達成するが、付加的なハードウェアを使用しないプロセスと比較した時、その保安のハードウェアの重量、コスト、および限られた信頼性は伝統的なプロセスの望ましくない特徴である。
【０００６】
さらに、多くの伝統的なプロセスは対称的な暗号化プロセスを使用する。対称的な暗号化プロセスは暗号化および暗号解読に対し単一のキーを使用する。このキーは秘密に保たれ、それによりマスタおよびスレーブステーションのみがそれを知ることができるようになる。しかしながら、システムは保安の侵害（ｂｒｅａｃｈ）のために秘密のキーが知られるようになりあるいは何らかの障害がオーソライズされたメッセージが真性証明されないようにした場合には、再キーイング機構（ｒｅ−ｋｅｙｉｎｇ  ｓｃｈｅｍｅ）を用いなければならない。そのような再キーイング機構は高度の真性証明の保安を維持するために極めて複雑になりかつ高価になる。
【０００７】
上述の問題はすべての伝統的な真性証明プロセスを悩ますが、問題は特に衛星の制御に関して厄介なものになる。衛星制御システムにおいては、衛星が軌道に入った後に衛星に物理的にアクセスすることは極めて実際的ではない。さらに、保安ハードウェアのために必要な重量の増大に対しかつ保安ハードウェアを使用することによる全体的な信頼性の低下に対して払われる罰則が増大される。
【０００８】
従って、改善された真性証明プロセスを提供するのが本発明の目的でありかつ利点である。
また、真性証明プロセスに専用のハードウェアの使用を必要としない真性証明プロセスを提供するのが本発明の他の目的でありかつ利点である。
さらに、実施しかつ維持するのが簡単な真性証明プロセスを提供することが本発明のさらに他の目的でありかつ利点である。
さらに、高度の真性証明の保安性を提供するのが本発明のさらに他の目的でありかつ利点である。
【０００９】
【課題を解決するための手段および作用】
本発明の上述のおよび他の目的および利点は、１つの態様で、コマンドをスレーブステーションに通信し該コマンドが該スレーブステーションによって真性証明できる方法によって実現される。本発明のこの方法によれば、スレーブステーションからパッド（ｐａｄ）が受信される。該パッドはコマンドをスレーブステーションに通信する必要性が生ずるまで少なくとも保存される。このパッドは該コマンドと組み合わされてメッセージを形成し、かつ該メッセージはスレーブステーシに送信される。
【００１０】
本発明の上述のおよび他の目的および利点は、他の態様で、マスタステーションから受信したコマンドを該コマンドによって通信された命令を実行する前に真性証明する方法によって実現される。本発明のこの方法によれば、ランダム発生プロセスを使用してパットが発生される。このパッドは保存されかつマスタステーションに送信される。後に、データ通信メッセージが受信される。コマンドおよびパッドの値は該メッセージから復元される。復元されたパッド値は対応を検出するためにスレーブのパッドと比較される。もし対応が検出されなければ、該コマンドはそれに従って実行されない。
【００１１】
【実施例】
本発明のより完全な理解は図面と関連して以下の詳細な説明および特許請求の範囲を参照することにより得ることができ、図面においては、同じ参照数字は各図にわたり同じ項目を言及する。
【００１２】
図１は、衛星をベースとした通信ネットワーク１０を示す。ネットワーク１０は軌道周回衛星１２のような、数多くの地球上車両の使用により全世界にわたり分散配置されている。好ましい実施例においては、衛星１２は極、低高度地球軌道を占有し、これはそれらの衛星を地球に対し南−北および北−南方向に移動させる。一緒になって、衛星１２は該衛星１２が、極領域で集中しかつ互いに交差することを除き、お互いに関して相対的に静止した状態に留っている星座または集団（ｃｏｎｓｔｅｌｌａｔｉｏｎ）を形成する。
【００１３】
衛星１２は、図１ではその内の１つのみを示す、多くのゲートウェイ１４、図１ではその内の２つを示す、数個の地上制御ステーション（ＧＣＳ）１６、そして図１ではその内の１つを示す、任意の数の無線通信ユニット１８を介して地上の装置と通信する。無線通信ユニット１８は地球の表面の任意の位置に配置できる。ゲートウェイ１４は好ましくは地政学的境界に従って地球の表面上に分配される。ＧＣＳ１６は好ましくは北部の緯度にあり、そこでは衛星１２の軌道の集中のため数多くの衛星１２がより赤道付近の緯度に関して地球表面の単一の点の直接の視線内にくるようにさせる。好ましくは、およそ４つのＧＣＳが使用されて前記集団におけるすべての衛星１２がそれらの軌道のある点においてそれらに割当てられたＧＣＳ１２の直接の視界内にくるようにされる。
【００１４】
ゲートウェイ１４とＧＣＳ１６が地上に一緒に配置されることも可能である。しかしながら、ゲートウェイ１４はＧＣＳ１６の機能とは異なる機能を果たす。好ましくは、ゲートウェイ１４は主としてネットワーク１０における通信ノード２０として動作する。世界的公共交換電気通信ネットワーク（ＰＳＴＮ）のような、種々の地上ベースの通信システムがゲートウェイ１４を介してネットワーク１０にアクセスする。ネットワーク１０はゲートウェイ１４および一群の衛星１２を介して特定の１つの衛星１２に通信回路を確立することができ、該特定の１つの衛星１２はその時点で、衛星１２と無線通信ユニット１８との間の通信経路２２で示されるように、前記通信回路の他方の側に対する所望の位置の上に存在する。従って、衛星１２の各々はネットワーク１０のノード２０としても作用する。
【００１５】
ＧＣＳ１６は衛星１２の集団に対し遠隔計測、トラッキング、およびコマンド（ＴＴ＆Ｃ）機能を行う。好ましくは、各々のＧＣＳ１６において衛星１２のオーソライズされていない制御を防止するために広範囲にわたる保安処置が使用される。ＧＣＳ１６はまたネットワーク１０のためのノード２０として作用する。しかしながら、ＧＣＳ１６はゲートウェイ１４とそれらが主として他の通信ネットワークおよびシステムをネットワーク１０にインタフェースするよりはむしろネットワーク１０のためのＴＴ＆Ｃ機能を達成する点において異なっている。ＧＣＳ１６が位置する北部の緯度のため、１つまたはそれ以上の衛星１２が常に各ＧＣＳ１６の視野内にある。ＧＣＳ１６はネットワーク１０内のその割当てられた衛星１２と、それらの軌道がそのような割当てられた衛星１２をＧＣＳ１６の上に位置させた時に、直接リンク２４において示されるように、直接通信することができる。さらに、いずれのＧＣＳ１６も頭上の衛星１２およびネットワーク１０の種々の中間ノード２０を介して任意の衛星１２と通信することができる。
【００１６】
好ましい実施例においては、直接リンク（ｄｉｒｅｃｔ  ｌｉｎｋｓ）２４はＧＣＳ１６が、実質的に視線（ｌｉｎｅ−ｏｆ−ｓｉｇｈｔ）伝搬の通信信号のみが行われる、好ましくはＫａバンドの、高い周波数によってそれらの割当てられた衛星１２と通信できるようにする。オーソライズされていないパーティはそのような通信信号を受信するために衛星１２とＧＣＳ１６との間の直接の視線近くになければならない。従って、地上から衛星１２に送信される通信信号に対しこれらの信号のオーソライズされていない受信を行うことは困難であるが、その理由はそのような受信が地上をべースとした送信機と宇宙をベースとした衛星受信機との間に受信機を物理的に置くことを必要とするからである。
【００１７】
それらの制御機能に従って、ＧＣＳ１６はコマンドをそれらの割当てられた衛星１２に送信する。これらのコマンドはデータ通信メッセージにおいて衛星１２に通信される。そのようなコマンドは衛星１２の数多くの種々の動作態様を制御する。例えば、そのようなコマンドは軌道に作用するために小型ロケットエンジン（ｔｈｒｕｓｔｅｒｓ）をアクティベイトし、ネットワーク１０におけるノードとして作用するための衛星の能力に影響を与えるため電源システムを付勢し、かつ通信トラフィックを取り扱うための衛星の容量に影響を与えるために交換システムを制御することができる。これらおよび他のコマンドはネットワーク１０の有効な動作に沿って極めて重要なものである。あるいは、重要なコマンドはＮＯ−ＯＰまたは保安トラップとすることができる。その結果、ネットワーク１０はこれらおよび他の重要なコマンドがさもなければいたずらによる改ざん、怠慢な手順、あるいは故意によるサボタージュによって生ずるかもしれない損傷を防止するためにこれらおよび他の重要なコマンドが真性証明されることを保証するためのステップを行う。
【００１８】
図２は、ＧＣＳ１６のような、マスタステーションによって使用されるハードトウェア１６′、および衛星１２のような、スレーブステーションによって使用されるハードウェア１２′のブロック図を示す。マスタおよびスレーブステーションについて一般的に行われているように、ステーション１２および１６はコンピュータ制御される装置を示している。特に、スレーブステーションのハードウェア１２′はメモリ２８と通信するプロセッサ２６を含む。メモリ２８はそのプログラミングがプロセッサ２６によって変更できない、永久メモリ３０、およびそのプログラミングがプロセッサ２６によって変更できる、一次メモリ３２を含む。当業者はスレーブステーション１２によって行われる数多くの手順、処理、およびタスクはメモリ２８に記憶されたプログラミング命令に応じてプロセッサ２６によって制御されることを認識するであろう。
【００１９】
特に、プロセッサ２６の制御のもとで、種々のアクチュエータ３４がアクティベイトされかつデアクティベイトされる。そのようなアクチュエータは、二三の活動をあげれば、小型ロケットエンジンに点火し、ソーラパネルを展開しかつその位置を変更し、そしてアンテナの移動を制御させる。同様に、プロセッサ２６の制御のもとで種々のスイッチ３６が操作される。スイッチ３６は、とりわけ、スレーブステーション１２内に含まれる種々のサブシステムに対する電力の印加を制御する。さらに、種々の通信制御部３８がプロセッサ３６の制御のもとに操作される。制御部３８はスレーブステーション１２がネットワーク１０の動作における通信ノードとして働くことができるようにするために使用される。
【００２０】
プロセッサ２６はまたタイマ４０と通信し、該タイマ４０は日付および時刻クロックを維持する上でプロセッサ２６を助ける。プロセッサ２６はそのようなデータを変調器４２に供給することにより、好ましくは伝統的なＱＰＳＫ技術を使用して、データを送信する。プロセッサ２６はまたシンセサイザ４４に結合してデータが送信される通信チャネルを制御する。変調器４２においてデータを変調した後、通信信号はアンテナ４８の送信セクション４６において、スレーブステーション１２から送信される。プロセッサ２６は復調器５２に結合した、アンテナ４８の受信セクション５０を介してデータを受信する。復調器５２はシンセサイザ４４の出力に結合された制御入力を有する。復調器５２は受信したデータを復調し、該データは次にプロセッサ２６に導かれる。
【００２１】
制御ステーションのハードウェア１６′は同様の回路を含む。特に、プロセッサ５４はメモリ５６に結合しかつ該メモリ５６と通信する。マスタステーション１６によって行われる数多くの手順、処理、およびタスクはメモリ５６に記憶されたプログラミング命令に応じてプロセッサ５４によって制御される。プロセッサ５４はさらに種々の入力／出力（Ｉ／Ｏ）装置５８に結合する。Ｉ／Ｏ装置５８は任意の伝統的なキーボード、指示装置、ビデオ表示ターミナル、プリンタ、およびコンピュータネットワークまたは直接データ通信リンクを介して結合された他のコンピュータまたはワークステーションのような、他の自動化システムを含む。
【００２２】
プロセッサ５４はまたタイマ６０と通信し、該タイマ６０は日時および時刻クロックを維持する上でプロセッサ５４を助ける。プロセッサ５４はデータを、そのようなデータを変調器６２に供給することにより、好ましくは伝統的なＱＰＳＫ技術を使用して送信する。プロセッサ５４はまたシンセサイザ６４に結合してデータが送信される通信チャネルを制御する。変調器６２においてデータを変調した後、通信信号はアンテナ６８の送信セクション６６においてマスタステーシヨン１６から送信される。プロセッサ５４はデータを、復調器７２に結合した、アンテナ６８の受信セクション７０を介して受信する。復調器７２はシンセサイザ６４の出力に結合した制御入力を有する。復調器７２は受信データを復調し、該データは次にプロセッサ５４に導かれる。図１に関連して上に説明したように、該データは直接リンク２４を通りあるいは１つまたはそれ以上の中間ノード２０を通りネットワーク１０を介して通信される。
【００２３】
従って、スレーブステーション１２およびマスタステーション１６は任意のコンピュータ制御無線通信装置を実質的に動作させるために必要な形式の伝統的な回路を含む。特に、ステーション１２および１６はコマンドの真性証明の達成に専用される回路を含まない。むしろ、コマンドの真性証明は、それぞれ、メモリ２８および５６内に記憶されたプログラミング命令に従って主としてプロセッサ２６および５４内で行われる。プロセッサ２６および５４は、それぞれ、ステーション１２および１６を動作させるために使用される同様のプロセッサである。従って、コマンドの真性証明に対するハードウェアの信頼性はおおざっぱにいって対応するプロセッサ、メモリ、および無線通信サポート回路の信頼性と等価である。さらに、コマンドの真性証明のためのハードウェアを含めることによって、ステーション１２および１６の全体的な信頼性は低下せず、また衛星のスレーブステーション１２の重量は増加しない。
【００２４】
もちろん、当業者は図２に示されたハードウェアは達成される機能の実質的な変化を生ずることなく実質的に変えることが可能なことを理解するであろう。例えば、種々のタイミング、スイッチング、および通信制御機能はプロセッサ２６内に含めることができ、かつプロセッサ２６および５４は単一のプロセッサ回路あるいは複数のプロセッサ回路を用いて実現できる。同様に、変調および復調機能は、中間変調ステージの付加を含めて、種々の方法で構築できる。さらに、当業者はステーション１２および１６は通信信号の送信および受信双方のための共通のアンテナを使用することもできる。
【００２５】
図３および図４は共にマスタステーション１６およびスレーブステーション１２によって行われるタスクのフローチャートを示しかつそのようなタスクの間の関係を示す。図３および図４に示された特定のタスクはコマンドをマスタステーション１６からスレーブステーション１２に送信しかつ真性証明することに関係する。さらに、図３および図４に示された特定のタスクはステーション１６および１２の通常の動作の間に行われる。言い換えれば、プロセッサ２６および５４（図２を参照）は図３および図４に示されるタスクを行うが、一方この間にそれぞれステーション１２および１６の通常の動作にも参与する。
【００２６】
図３を参照すると、時々マスタステーション１６は、タスク７４に示されるように、その割当てられたスレーブステーション１２の内の１つからスレーブコマントカウントデータ通信メッセージを受信する。好ましくは、スレーブステーション１２は、タスク７６に示されるように、マスタステーション１６に通信される動作テレメトリに他のルーチンと共にスレーブコマンドカウント値を組み入れる。従って、マスタステーション１６はスレーブコマンドのカウントデータを規則的に受信する。さらに、このデータメッセージは平文で（すなわち、暗号化する必要なく）送信できる。
【００２７】
図５は、本発明のコマンド真性証明プロセスにおいて使用するために、それぞれ、スレーブおよびマスタステーション１２および１６のメモリ２８および５６内に形成された、パッドリスト７８および８０のブロック図を示す。パッドリスト７８〜８０はそれぞれ、スレーブおよびマスタコマンドカウンタ８２〜８４に関して動作する。パッドリスト７８〜８０の各々は数多くのワンタイム（ｏｎｅ−ｔｉｍｅ）パッド８６を含み、その正確な数は本発明の動作にとって重要ではない。
【００２８】
用語「ワンタイムパッド」は、例えば、メッセージを暗号化する手段として同じ長さのメッセージとの加算のようなリニアなプロセスによって組み合わされた有限長のランダムな情報の流れを意味する。メッセージの暗号解読は同じ方法であるいは相補的な方法で組み合わされたランダムな情報またはパッドの同じ流れの使用を要求する。同じランダムな流れは１つより多くのメッセージに対して実質的に決して使用されないため「ワンタイム」となる。従って、ワンタイムパッドプロセスは無条件に安全であるといわれる。各パッド８６はパッド値が格納される変数を表す。用語「パッド」は該変数および値それ自体に言及する。パッド８６は伝統的な乱数発生プロセスによって発生される。パッドの発生は以下にさらに詳細に説明する。従って、各々のリスト７８および８０は１組の乱数を含む。さらに、リスト７８および８０は、好ましくは同じ順序で、同じ組の乱数を含む。
【００２９】
カウンタ８２〜８４は、それぞれ、リスト７８〜８０へのポインタとして作用する。カウンタ８２および８４が同じ値を持つ時、それらは実際に識別されたパッドの値を述べることなく同じパッドを識別する。従って、タスク７６（図３を参照）において、スレーブステーション１２は実際にそのパッドの値を述べることなくマスタステーション１６への特定のパッド８６を識別する。このため、それぞれ、タスク７６および７４において送信されかつ受信されたスレーブコマンドカウントのデータメッセージは平文で送信できる。
【００３０】
図３に戻ると、マスタステーション１６がタスク７４においてスレーブコマンドカウント値を受信すると、それはそのマスタコマンドカウントのカウンタ８４（図５を参照）をこの値に同期させる。パッド８６は本発明の好ましい実施例により後にさらに詳細に説明するようにして利用される。後に明らかになる理由のため、マスタステーション１６およびスレーブステーション１２は本発明の好ましい実施例に従って真性証明されるべき各コマンドに対し共通のパッド８６を使用する。マスタおよびスレーブコマンドカウンタ８４および８２が同期しない状態になった場合には、マスタステーション１６およびスレーブステーション１２は種々のパッド８６を使用してコマンド真性証明を試みる。その結果、オーソライズされたコマンドがその時真性証明されないことになる。ネットワーク１０の通常の動作はカウンタ８２〜８４を同期状態に保つべきである。それにもかかわらず、カウンタ８２および８４の間の何らかの同期問題が発生すれば、マスタおよびスレーブステーション１６および１２はタスク７４〜７６の実行により直ちに再同期するであろう。
【００３１】
通常の動作に参与する間に、マスタステーション１６は、タスク８７に示されるように、スレーブステーション１２によってコマンドの受信をアクノレッジするデータ通信メッセージを受信することができる。マスタステーション１６は処理のこの点においてコマンドを送信していないから、そのようなアクノレッジメントは期待されずかつ問題を表示する。例えば、そのようなアクノレッジメントはスレーブステーション１２によって改ざんする試みを示しあるいはスレーブステーション１２内の障害を示すかもしれない。いずれにせよ、タスク８７がアクノレッジメントメッセージに遭遇した時、修正行動が取れるように適切な警報メッセージがアクティベイトされる。該警報メッセージは表示され、印刷され、可聴的に表示され、あるいはＩ／Ｏ装置（図２を参照）の適切な制御により操作者の注意を促す。
【００３２】
通常のまたは正常な動作に参与している間に、スレーブステーション１２は、タスク８８に示されるように、それが前に受信したコマンドに従って行動しあるいは該コマンドを実行する必要があるかもしれない。そのようなコマンドが行動を必要とするか否かは一時メモリ３２（図２を参照）の内容による。
【００３３】
図６〜図７はそれぞれスレーブステーション１２に送信されるデータメッセージ８９およびデータメッセージによって通信できるコマンドデータ構造９０のブロック図を示す。データ構造９０はメモリ３２内で任意の数のコマンドに対し反復できると好都合である。構造９０は該コマンドの命令を何時実行するかをプロセッサ２６に指令する時間スタンプを含む。イネーブルメント・データエレメントは対応するコマンドがイネーブルされるか否かを通信するために使用される。ディスエーブルされたコマンドはそれに従って行動されないが、イネーブルされたコマンドはそれに従って行動が行われる。コマンド識別子データエレメントはスレーブステーション１２がどのような行動を取るべきかを正確に通信し、かつ種々のパラメータがその行動を特徴付ける。例えば、コマンド識別子は特定の小型ロケットエンジンの点火を指令し、かつパラメータは点火の持続期間を制定する。時間スタンプはその小型ロケットエンジンの点火を何時開始すべきかを決定する。
【００３４】
図３に戻ると、タスク８８の間にプロセッサ２６（図２を参照）は日常の仕事として（ｒｏｕｔｉｎｅｌｙ）一時メモリ３２（図２を参照）を監視しその時点で処理を必要とするイネーブルされたコマンドを探す。イネーブルおよびタイミング要求が満たされると、プロセッサ２６は該コマンドを実行する。特に示してはいないが、スレーブステーション１２は次にメッセージをマスタステーション１６に送信して該コマンドがそれに従って行動されたという事実を通信する。
【００３５】
マスタステーション１６の正常動作の間に、コマンドが特定のスレーブステーション１２に送信されることを要求する必要性が結局は発生する。例えば、軌道修正が必要とされ、あるいは特定のデータがスレーブステーション１２から送信される。この必要性が生じたとき、マスタステーション１６は、タスク９２に示されるように、適切なコマンドを形成する。このコマンドは好ましくは図６〜図７のデータ構造９０に示される形式となる。
【００３６】
図６を参照すると、この必要性は、必ずしもそうである必要はないが、メッセージ８９に示されるように、幾つかのコマンドの実行を要求するかもしれない。コマンドを形成する場合に、アドレスがコマンド構造９０として作用するデータと関連付けられる。これらのアドレスは一時メモリ３２（図２を参照）内のコマンドが格納されるべき位置を表示する。さらに、適切なヘッダが該メッセージに関連付けられる。該ヘッダは本質的にコマンドが向けられるスレーブステーション１２を識別しかつスレーブステーション１２に対しその一時メモリ３２内の示されたアドレスにコマンドデータをロードするよう指令する。
【００３７】
図３に戻ると、タスク９２の後、任意選択的なタスク９４が行われる。本発明の好ましい実施例においては、コマンドは重要な（ｃｒｉｔｉｃａｌ）コマンドであるかあるいは重要でない（ｎｏｎ−ｃｒｉｔｉｃａｌ）コマンドに分類できる。重要なコマンドはそのようなコマンドを不適切に行うことから生ずる可能性のある重大な結果のため真性証明を必要とする。これに対し、重要でないコマンドはもし不適切に実行されてもそのような重大な結果とならない。重要でないコマンドの１つの例は所定の限度内での衛星の送信電力の調整のための指令である。他の例は現在のコマンドカウントを送信するための命令である。重要でないコマンドがスレーブステーション１２に送信されるべき場合には、真性証明は必要とされず、かつタスク９４は行われない。
【００３８】
重要なコマンドに対しては、タスク９４はパッド８６（図５を参照）を得、該パッド８６によって適切なオーソリゼーションコード（ＡＣ）を暗号化し、かつ暗号化されたＡＣをメッセージ８９内のコマンド（図６および７を参照）と組み合わせる。タスク９４によって得られたパッド８６は好ましくはマスタコマンドカウンタ８４（図５を参照）によって示されたパッド８６である。好ましい実施例においては、これは単に前に使用されたパッド８６の後にリスト８０（図５を参照）内で発生する次のパッド８６に過ぎない。タスク９４によって行われる暗号化は好ましくはビットごとの排他的ＯＲ操作のような、伝統的なリニアなプロセスである。好ましい実施例においては、パッド８６およびＡＣは同じ数のビットを有する。パッド８６はランダムな数であるから、これはＡＣをスクランブルする。図６および図７に示されるように、暗号化されたＡＣはメッセージ８９に付加されかつメッセージ８９の一部となる。
【００３９】
重要なコマンドと重要でないコマンドとの間の区別を可能にする１つの利点は重要でないコマンドはＧＣＳ１６（図１を参照）ではなく他の位置から発行できることである。例えば、ゲートウェイ１４（図１を参照）は衛星１２（図１を参照）によって限られた量の制御を及ぼすことができる。保安性は傷付けられず、かつ真性証明プロセスの複雑さが衛星１２を介して好適に限られた量の制御を及ぼすことができるすべての位置の間でパッドリスト（図５を参照）を伝送しかつ同期することを避けることによって最少化される。むしろ、パッドリスト８０はＧＣＳ１６のの保安領域内に保たれる。重要なコマンドと重要でないコマンドとの間の区別を可能にする他の利点はスレーブステーション１２がその現在のコマンドカウントを送信していずれかの再同期プロセスを急がせるよう指令できることである。
【００４０】
タスク９４、または重要でないコマンドに対するタスク９２の後に、タスク９６は、コマンドを含みかつ任意選択的に暗号化されたＡＣを含む、データ通信メッセージ８９（図６を参照）を目標のスレーブステーション１２に送信する。マスタステーション１６は今やその一部の真性証明プロセスを一時的に完了し、かつ目標のスレーブステーション１２は該真性証明プロセスを継続する。
【００４１】
特に、正常動作を達成する一方で、スレーブステーション１２は結局は、タスク９８において示されるように、データ通信メッセージ８９を受信する。タスク９８は次にメッセージ８９のコマンド部分を復元する。問合せタスク１００において、スレーブステーション１２はメッセージ８９のコマンドのコマンド識別子部分を調べてメッセージ８９の少なくとも１つのコマンドが重要なコマンドであるか否かを判定する。スレーブステーション１２はコマンドが重要であるかそうでないかを、好ましくは永久メモリ３０（図２を参照）にプログラムされた、テーブル（図示せず）に対しテーブルルックアップ操作を行うことにより決定できる。
【００４２】
メッセージ８９に含まれるいずれのコマンドも重要なコマンドでなければ、スレーブステーション１２はタスク１０２を実行する。タスク１０２においては、スレーブステーション１２のプロセッサ２６はアクノレッジメントメッセージを形成し、該アクノレッジメントメッセージは重要でないコマンドが受信されたことを示すデータを含む。典型的には、重要でないコマンドはそのイネーブルメント・データエレメント（図６および図７を参照）をイネーブルされた状態でプログラムされ、かつスレーブステーション１２はそれによって順当に行動する。コマンドの時間スタンプ部分（図６および図７を参照）は該コマンドが直ちに実行されるべきことを示すようにプログラムできる。この場合、スレーブステーション１２がタスク８８を実行する次の時間に、該コマンドに従って行動が取られる。
【００４３】
メッセージ８９に含まれる少なくとも１つのコマンドが重要なコマンドであれば、ステーション１２はタスク１０４を行う。タスク１０４はリスト７８（図５を参照）からパッド８６を得る。本発明の好ましい実施例においては、タスク１０４において選択されたパッド８６の内の特定の１つはその時点でスレーブコマンドカウンタ８２（図５を参照）にある値に対応する。このパッドは好ましくは前に使用されたパッド８６の後にリスト７８内で発生する次のパッド８６である。
【００４４】
タスク１０４は次にその選択されたパッド８６を使用してメッセージ８９（図６を参照）に含まれるオーソリゼーションコード（ＡＣ）の暗号化されたものからパッド値を復元する。上に述べたように、本発明の好ましい実施例においては、パッド８６は排他的ＯＲ操作を使用してＡＣを暗号化するために使用される。タスク１０４は選択されたパッド８６と暗号化されたＡＣとの間の排他的ＯＲ操作を使用して暗号を解読する。
【００４５】
次に図４を参照すると、スレーブステーション１２のプロセッサ２６は次に問合わせタスク１０６を行う。タスク１０６はタスク１０４のパッド値の結果を評価してＡＣが正しいＡＣであるか否かを判定する。この判定は復元されたＡＣをメモリ２８、かつ好ましくは永久メモリ３０（図２を参照）にプログラムされた１つまたはそれ以上の値と比較することにより行うことができる。もしその復元されたＡＣが正しければ、復元されたパッド値が選択されたパッド８６に整合しており、かつＡＣを暗号化するために使用されたパッド８６と暗号化されたＡＣを暗号を解読するために使用されるパッド８６との間の対応が確立されたことになる。この状況で、コマンドは真性証明されたと考えることができる。パッド８６は実質的にランダムな数であるから、スレーブステーション１２はコマンドがそのマスタステーション１６から発信されたことについての、ほぼ１−２−ｎに等しい信用水準を持つことができ、ここでｎは各パッド８６に含まれるビット数である。
【００４６】
第１の別の実施例においては、ＡＣは真性証明プロセスにおいて必ず使用されなければならないものではない。ＡＣを暗号化しかつ暗号を解読するよりはむしろ、マスタステーション１６によってパッド８６が直接メッセージ８９内に含められかつスレーブステーション１２によって直接メッセージ８９から復元されるようにすることができる。この状況ではスレーブステーション１２は復元されたパッド値をより直裁的な様式で評価することができる。特に、復元されたパッド値は直接リスト７８から選択されたパッドと比較して対応を検出することができる。
【００４７】
第２の別の実施例においては、ＡＣは上に述べたようにパッド８６によって好適に暗号化される。しかしながら、スレーブステーション１２は暗号化されたオーソリゼーションコードを選択されたパッドではなく承認されたＡＣと排他的ＯＲ操作することによって暗号を解読する。この状況では、スレーブステーション１２は排他的ＯＲ操作の結果を選択されたパッド８６と直接比較することにより復元されたパッド値を評価する。使用される特定の実施例にかかわらず、当業者はスレーブステーション１２が復元されたパッド値を評価してマスタステーション１６によって使用されるパッド８６とスレーブステーション１２によって選択されるパッド８６との間の対応関係を検出することを理解するであろう。
【００４８】
タスク１０６がパッドの対応関係を検出した時、タスク１０８は「真性証明されたコマンド」アクノレッジメントメッセージを形成する。タスク１１０は次にスレーブコマンドカウンタ８２（図５を参照）を増分する。カンウタ８２の増分は上述のタスク１０４〜１０６において使用された、前に選択されたパッド８６が真性証明プロセスによって再び使用されないことを意味する。もちろん、当業者はこのことがこの前に選択されたパッド８６によって伝達されるパッド値が再び発生できないことを意味するものではないことを理解するであろう。むしろ、任意の特定の値を有する任意のパッド８６の確率はほぼ２−ｎに留まるであろう。
【００４９】
タスク１０６がパッドの対応関係を検出しなかった場合には、タスク１１２は該コマンドをディスエーブルする。該コマンドはコマンドデータ構造９０（図５を参照）内のイネーブルメント・データエレメントを操作することによりディスエーブルできる。コマンドをディスエーブルした結果、衛星１２は該コマンドに従って行動しない。次に、タスク１１４が「真性証明されず」アクノレッジメントメッセージを形成する。この「真性証明されず」メッセージは好ましくは該コマンドの識別に関係する詳細または該コマンド全体を含むことができる。そのようなデータは真性証明されずアクノレッジメントメッセージの原因を判定しかつ適切な応答行動を取るためにマスタステーション１６を助けることができる。
【００５０】
タスク１０２，１１０または１１４のアクノレッジメンドメッセージが形成された後、タスク１１６はそのアクノレッジメントメッセージをマスタステーション１６に返送する。この時点で、スレーブステーション１２は真性証明プロセスのその役割を完了しており、かつ図３〜図４のフローチャートに示された手順が反復される。言い換えれば、スレーブステーション１２は通常のまたは正常なスレーブステーション動作を継続する。そのような通常の動作はスレーブステーション１２がタスク８８に関して上に説明したように、プログラムされた時間にイネーブルされたコマンドに従って行動するようにさせる。
【００５１】
スレーブステーション１２がメッセージ８９（図６を参照）を真性証明している間に、マスタステーション１６は通常のステーションの動作に従事している。最終的には、前記アクノレッジメントメッセージが、タスク１１８において示されるように、マスタステーション１６によって受信される。問合わせタスク１２０が該アクノレッジメントメッセージを評価する。真性証明されたコマンドのアクノレッジメントメッセージが受信された時、タスク１２２はマスタコマンドカウンタ８４（図５を参照）を増分する。カウンタ８４の増分は前述のタスク９４において使用された、前に選択されたパッド８６が真性証明プロセスによって再び使用されないことを意味する。カウント８４の増分はまたカウント８４をスレーブコマンドカウンタ８２（図５を参照）と同期された状態に保つ。次の重要コマンドは真性証明の目的のために異なるパッド８６を使用するであろう。同じパッドを２度使用することを避けることによって、オーソリゼーションプロセスの保安レベルが高い水準に維持される。
【００５２】
タスク２２の後、タスク１２４は必要とされ得る任意の確認プロセスを実行する。前に述べたように確認（ｃｏｎｆｉｒｍａｔｉｏｎ）プロセスは真性証明プロセスとは異なる。真性証明プロセスはコマンドがオーソライズされた発生源からのみ発信されることを保証する。確認プロセスはスレーブステーション１２によって受信されたコマンドが意図されたコマンドであることを保証する。
【００５３】
本発明のプログラム可能な性質のため、確認プロセスにおける大きな柔軟性が与えられる。これらの確認プロセスはマスタステーション１６によって制御される。重要でないコマンドに対しては、確認は必要でない。むしろ、重要でないコマンドはもし不適切に実行されても重大な結果につながらず、かつそのようなコマンドは単に必要に応じて繰り返すことができる。
【００５４】
重要なコマンドに対しては、マスタステーション１６によって採用される手順は種々のコマンドがどれほど重要であるかを反映すると好都合である。例えば、低い水準の重要コマンドは何らの確認をも必要としない。そのようなコマンドはスレーブステーション１２による所望の実行に対し設定された時間スタンプおよびコマンド構造９０（図７を参照）のイネーブルメント・データエレメントと共に送信することができる。低いレベルの重要コマンドに対し、マスタステーション１６はタスク１２４において何らの行動も取る必要がない。中間レベルの重要コマンドはスレーブステーション１２による将来の実行のために設定された時間スタンプおよびコマンド構造９０のイネーブルメント・データエレメントと共に送信することができる。アクノレッジメントが受信された後、マスタステーション１６はスレーブステーション１２にタスク１２４において該コマンドをマスタステーション１６に対し読み戻させることにより該コマンドを確認することができる。もし該コマンドが読み戻し（ｒｅａｄ−ｂａｃｋ）操作において正しければ、マスタステーション１６はそれ以上の何らの行動も行わない。しかしながら、もし読み戻し操作が正しくないコマンドを示しておれば、マスタステーション１６は該コマンドをディスエーブルしあるいはオーバライトする。高いレベルの重要コマンドはディスエーブルされた状態で送信することができる。タスク１２４において読み戻し操作が行われる。もし該読み戻しが正しければ、他のコマンドメッセージが該コマンドをイネーブルしかつ他の読み戻し操作が該コマンドが実際にイネーブルされたことを確認することができる。もし高いレベルの重要コマンドが読み戻し操作において正しくなければ、該コマンドはとにかくディスエーブルされるべきであるから多分何らの阻止行動も必要ないであろう。当業者に知られておりあるいは当業者に明らかなこれらおよび他の確認プロセスはタスク１２４において行うことを考えている。
【００５５】
タスク１２４の後、あるいはタスク１２０が重要でないコマンドのアクノレッジメントを検出した時、図３〜図４のフローチャートに示された手順がマスタステーション１６に対し繰り返される。言い換えれば、マスタステーション１６は通常のマスタステーション動作を継続する。
【００５６】
タスク１２０が真性証明失敗アクノレッジメントメッセージを検出した時、問い合わせタスク１２６はプログラミングループを退出すべきか否かを決定する。もしマスタステーション１６がループを退出しないことを決定すれば、プログラム制御は、上に述べた、タスク９４にループバックする。一般に、タスク９４はパッドを重要コマンドに付加し、かつ引き続くタスクが該コマンドおよびパッドをスレーブステーション１２に送信する。しかしながら、このループの反復のため、マスタステーション１６はスレーブコマンドカウンタ８２およびマスタコマンドカウンタ８４（図５を参照）がやや同期はずれになっているものと想定する。従って、スレーブステーション１２が該コマンドを真性証明するように該コマンドがリスト８０（図５を参照）からの引き続くパッド８６を使用して繰り返される。コマンドの送信が所定の数の反復に対しあるいは真性証明されたコマンドのアクノレッジメントメッセージが受信されるまで異なるパッド８６に対し繰り返される。もしこの所定の数に到達すると、タスク１２６はループを退出してタスク１２８に移り、該タスク１２８は適切な警報メッセージをアクティベイトする。タスク１２８の後、マスタステーション１６に対するプログラム制御は図３〜図４のフローチャートに示された手順を繰り返す。
【００５７】
図３〜図４に関して上に述べた手順はパッド８６のリストまたはセットがすでに、それぞれ、スレーブおよびマスタステーション１２および１６のメモリ３２および５６内に格納されているものと仮定している。本発明の好ましい実施例においては、ステーション１６および１２の間で送信できる重要コマンドの数に対し何らの制限も課されていない。言い換えれば、図３〜図４に示される手順は無限の数の反復を繰り返すことができる。反復の数はスレーブステーション１２の寿命にわたり潜在的に極めて大きい。さらに、有限の量のメモリがリスト７８および８０を格納するために専用されている。従って、本発明は必要に従ってリスト７８および８０を生成するための手順を含む。この設定手順は図８〜図９におけるフローチャートに示されている。
【００５８】
リスト７８および８０を生成するための手順はパブリックキーまたは非対称暗号化システムを利用する。当業者は１つのキーまたは値をメッセージを暗号化するために使用しかつ他のキーをメッセージを暗号解読するために使用することを理解するであろう。暗号化キーはパブリックキーであると考えられるが、それは該暗号化キーがシステムの安全性を害することなく公然の（ｐｕｂｌｉｃ）ものにすることができるからである。
【００５９】
図８を参照すると、タスク１３０において初期シークレット暗号解読キーおよびパッド８６の初期セットがマスタステーション１６のメモリ５６内に格納される。これらの初期値はスレーブステーション１２が導入される前に、あるいは衛星スレーブステーション１２の場合は打ち上げられる前に伝統的なプロセスを用いて発生される。同じ初期セットのパッド８６はタスク１３２においてスレーブステーション１２のメモリ２８内に格納される。タスク１３２はまた初期パブリック暗号化キーをスレーブステーション１２のメモリ２８に格納する。該パブリックキーは好ましくはメモリ２８の永久的な部分３０に格納され、それにより、高い信用性を持って、それがスレーブステーション１２の寿命期間にわたり利用できるようにされる。初期パッド８６はスレーブステーション１２の永久メモリ３０または一時メモリ３２のいずれかに格納できる。
【００６０】
図８においては、タスク１３２はスレーブステーション１２の遠隔位置（例えば、軌道）に導入する前に行われ、従ってスレーブステーション１２への物理的なアクセスが打ち上げ前に存在する。パッド８６の初期セットの物理的安全性に関する心配があれば、パッドの初期セットは導入後にスレーブステーション１２によって発生しかつ自動的に引き続くパッドに対し図９のプロセスを実質的に使用してマスタステーション１６に送ることができる。
【００６１】
タスク１３２の後に、タスク１３４はスレーブステーション１２を遠隔の位置に打ち上げあるいはさもなければ導入することを要求する。本発明のプロセスによれば、スレーブステーション１２への将来の物理的アクセスは必要ではない。スレーブステーション１２が導入された直後に、幾つかの初期コマンドを発行するために緊急の必要性が生ずるかもしれない。マスタステーション１６はそのような初期コマンドをタスク１３６において送信しかつスレーブステーション１２はそのような初期コマンドをタスク１３８において受信する。図３〜図４に関連して上に述べた真性証明プロセスがタスク１３６〜１３８において使用される。コマンドは打ち上げ前にロードされかつタスク１３０および１３２においてセーブされた初期パッド８６を用いて、あるいはタスク１５４〜１７０によって軌道上で発生された初期パッド８６を用いておおい隠される（ｃｏｖｅｒｅｄ）。スレーブステーション１２は、上に述べたように、真性証明された時、そのような初期コマンドに従って行動する。言い換えれば、タスク１３６〜１３８は、それぞれ、マスタおよびスレーブステーション１６および１２の通常の動作に関係する。
【００６２】
この通常の動作に従って、スレーブステーション１２は問合わせタスク１４０を行う。タスク１４０は新しい組のパッド８６が必要か否かを判定する。この必要性はリスト７８（図５を参照）内にすでに消費された大部分のパッド８６を有することによって早められる。あるいは、タスク１４０は所定の時間内に何らかの真性証明された重要コマンドをマスタステーション１６から受信しないことからこの結論に達するかもしれない。長い期間にわたるそのような重要コマンドの欠如はあるいは真性証明システムにおける重大な障害が発生していることを示すかもしれない。新しい組のパッドはしばしばそのような重大な障害からの回復を可能にする。
【００６３】
タスク１４０が新しい組のパッドが必要でないことを決定した時、スレーブステーション１２は通常の動作を継続する。その間に、スレーブステーション１２を打ち上げた後に、マスタステーション１６はその通常動作に問合わせタスク１４２を含める。タスク１４２はスレーブステーション１２が頭上にありかつ所定のタイミングウインドウ内にあるか否かを判定する。スレーブステーション１２はマスタステーション１６が直接リンク２４（図１を参照）を介してそれと通信できる時にはマスタＧＣＳ１６によって特定できる任意のＧＣＳ１６の直接頭上にある。所定のタイミングウインドウはスレーブステーション１２が頭上にある時にのみ生ずるように設計される。スレーブステーション１２の位置およびタイミングがタスク１４２の基準に合致しない限り、マスタステーション１６はその通常動作を継続する。これに対し、スレーブステーション１２が頭上にありかつ所定のタイミングウインドウ内にある時は、マスタステーション１６はタスク１４４を実行する。
【００６４】
タスク１４４は新しいパブリックキーをセットアップデータ通信メッセージにおいてスレーブステーション１２に送信する。この新しいパブリックキーは暗号化されておらず、かつスレーブステーション１２において暗号解読する必要はない。セットアップメッセージはスレーブステーション１２に対するコマンドとして形成されかつ重要コマンドと考えられる。従って、セットアップメッセージは真性証明コードを含む。スレーブステーション１２を打ち上げた直後に、この真性証明コードはタスク１３０（または１７０）において上述のようにセーブされた初期パッド８６の１つに依存する。図３〜図４に関して上に説明したように、マスタステーション１６は該セットアップメッセージに応じてある種のアクノレッジメントメッセージを期待することができる。
【００６５】
スレーブステーション１２はタスク１４６においてセットアップメッセージを受信する。新しいパブリックキーが該メッセージから復元され、該メッセージは真性証明され、かつアクノレッジメントメッセージがマスタステーション１６に返送される。タスク１４６の後、問合わせタスク１４８は次に衛星１２はマスタステーション１６の上にありかつ所定のタイミングウインドウ内にあるか否かを判定する。セットアップメッセージが直接リンク２４（図１を参照）によってあるいはネットワーク１０の他のリンクを介して受信されたか否かを判定することによって得られる。タイミングウインドウデータは永久メモリ３０にプログラムすることができる。タスク１４６がスレーブステーション１２が規定された位置および時間にあるものと判定しなければ、新しく受信されたパブリックキーがタスク１５０において捨てられ、かつスレーブステーション１２は通常動作を継続する。これに対し、もし位置およびタイミングウインドウが正しければ、新しいパブリックキーがタスク１５２において一時メモリ３２内にセーブされる。
【００６６】
保安性は新しいパブリックキーの送信がスレーブステーション１２が頭上にある間にのみ生ずるように限定することによって増強される。好ましい実施例においては、スレーブステーション１２は、緯度に応じて、１日に２〜１４回頭上にある。前に述べたように、地上から衛星に送信される通信信号は傍受するのが極めて困難であり、かつ新しいパブリックキーの不所望の傍受によって生ずる以外のチャンスは大幅に低減される。
【００６７】
図８を参照すると、１５２の後かつタスク１４０が新しいパッドリストが発生される必要があると判定した時に、タスク１５４は新しい組のランダムパッド８６を発生しかつリスト７８（図５を参照）にセーブする。タスク１５４はまた１組のランダムなタイミング値を発生しかつ保存し、そしてそれらを前記ランダムパッド８６に関連するリスト１５６（図５を参照）にセーブする。
【００６８】
タスク１５４はスレーブステーション１２によって高い優先度のタスクとして行われる必要はない。むしろ、スレーブステーション１２はより緊急の通常動作を行うことができ、かつ結局は前記ランダム値をそうする時間がある時に発生する。当業者は擬似乱数発生プロセスがよく知られておりかつそのようなプロセスは実質的にランダムな値を発生するために、時間値または他の種々雑多なしかしながら時間変化するデータのような、任意の値を散布すると好都合であることを理解するであろう。該ランダムタイミング値は、許容できる最大の期間についてのある所定の制限と共に、持続時間として形成される。これらのタイミング値は引き続くタスクにおいてランダムパッドをマスタステーション１６に送信するために使用される。
【００６９】
タスク１５４の後、スレーブステーション１２はスレーブステーション１２にとって利用できる最も高い優先度のパブリックキーを使用してタスク１５４において上述のように発生されるランダムパッドを暗号化するためにタスク１６０を実行する。本発明の好ましい実施例はＲＳＡまたはヘルマン（Ｈｅｌｌｍａｎ）技術のような、よく知られた暗号化技術を利用する。暗号化されたパッド（Ｅ（Ｐａｄ））はリスト１６２（図５を参照）に格納され、該リスト１６２においては暗号化されたパッドがリスト７８および１５６のパッド８６およびランダムタイミング値とそれぞれ関連付けられる。タスク１６０はまたスレーブステーション１２によって低い優先度のモードで実行され、この場合はスレーブステーション１２はタスク１６０を完了する前により緊急のタスクを自由に行うことができる。従って、暗号化の要求はスレーブステーション１２の通常動作のために必要な重要な処理能力を不利になるように消費することはない。
【００７０】
スレーブステーション１２にとって利用できる最も高い優先度のパブリックキーは通常マスタステーション１６から最も最近に受信されたものである。従って、タスク１３２において初期的にロードされたパブリックキーはマスタステーション１６から何らの他のパブリックキーも受信されない限り使用する必要がない。さらに、上に述べた、タスク１４０が所定の期間内にマスタステーション１６から何らの重要メッセージも受信していないために新しい組のパッドが必要であると判定した場合には、タスク１６０は他のパブリックキーが汚染されているかもしれないという仮定のもとに暗号化のため前記初期的パブリックキーをデフォールトとして使用することができる。
【００７１】
タスク１６０の後、スレーブステーション１２は再びその通常の動作に従事する。これらの通常の動作は問合わせタスク１６４を含み、該問合わせタスク１６４はランダムなタイミング期間のリスト１５６を調べる。もし次のパッド８６に関連して示された期間が経過しておれば、タスク１６６は対応する暗号化されたパッドをリスト１６２からマスタステーション１６に送信する。このパッドはスレーブステーションのコマンドカウンタ８２からのカウント値と共にデータ通信メッセージに含まれている。別の実施例では、タスク１６６は幾つかの、しかしながら全体の組のパッドより少ない、暗号化されたパッドをマスタステーション１６に送信する。タスク１６６の後、スレーブステーション１２は、タスク１６４の実行を含め、その通常の動作に戻る。スレーブステーション１２はタスク１６４および１６６を通りすべてのパッドがマスタステーション１６に送信されるまでループを回る。該パッドはさらにそれらが傍受されかつ暗号解読される可能性をさらに低減するためにランダムな間隔で送信される。暗号化されたパッドのこの送信はスレーブステーション１２がそのマスタステーション１６の頭上にある間にのみ生ずるよう限定されるものではない。むしろ、暗号化されたパッドを運ぶデータメッセージは任意の時間にかつ任意の位置からスレーブステーション１２からネットワーク１０（図１を参照）を介して送信できる。
【００７２】
スレーブステーション１２が乱数および暗号化パッドを発生している間に、マスタステーション１６はその通常の動作を継続している。最終的には、マスタステーション１６は、タスク１６８に示されるように、暗号化されたパッドおよびスレーブコマンドカウンタ値を含むデータ通信メッセージを受信する。このメッセージが受信された時、タスク１７０はシークレットキーを使用して受信されたパッド（単数または複数）を暗号解読する。このシークレットキーはスレーブステーション１２に対し送信された最後のパブリックキーに対応し、あるいはスレーブステーション１２にロードされた初期的なパブリックキーに対応する。タスク１７０は暗号解読されたパッドをリスト８０（図５を参照）にセーブしかつまたスレーブコマンドカウント値を同期に使用するためにセーブする。タスク１７０の後、マスタステーション１６はその通常の動作を継続し、これらは、時々、タスク１６８における付加的な暗号化パッドの受信を含む。
【００７３】
従って、ランダムなパッドが必要に応じて、主としてスレーブステーション１２の制御のもとで発生される。しかしながら、マスタステーション１６は保安の損傷が疑われる場合、あるいは真性証明プロセスの失敗が疑われる場合に、規則的な間隔でスレーブステーション１２への新しいパブリックキーの送信を繰り返すことができる。スレーブステーション１２はこの新しいパブリックキーに新しい組のパッドによって応答する。
【００７４】
【発明の効果】
以上要するに、本発明は改良された真性証明プロセスを提供する。本発明のプロセスはコマンドを真性証明するのに専用のハードウェアの使用を必要としない。むしろ、本発明のプロセスは実現しかつ維持するのが容易である。スレーブステーションへの何らの物理的アクセスも必要でなく、かつ本プロセスは他の通常の動作処理と共にそのような通常動作を行うのに必要なハードウェアのみを使用して実施することができる。
【００７５】
さらに、本発明は高い水準の真性証明の安全性を提供する。コマンドを真性証明するために必要に応じてワンタイムパッドが発生され、次に捨てられる。同じパッドは再使用されず、かつプロセスは無条件に安全であると考えられる。前記パッドは非対称の、パブリックキー暗号化システムを使用してスレーブおよびマスタステーションの間で通信される。これらのパッドは頻繁に通信されることはなく、かつ該パッドはさらに安全性を増強するためにランダムな間隔で通信される。再キーイングはスレーブステーションにおけるパブリックキーの使用のため簡単な操作である。安全性はさらに衛星スレーブステーションが特定の位置およびタイミングウインドウに位置する時にのみ再キーイング動作が発生するよう制限することによりさらに増強される。該特定の位置はマスタステーションからスレーブステーションに送信された通信信号の意図しない受信が信号の視線的な性質により例外的に困難であるものである。
【００７６】
以上のように本発明が好ましい実施例を参照して説明された。しかしながら、当業者は本発明の範囲から離れることなくこれらの好ましい実施例において変更および修正を成し得ることを理解するであろう。例えば、当業者は本明細書でランダムであると述べられている数は本発明が関連する実際上の目的のために実質的にランダムであると考えられるべきであるが、絶対的な意味で擬似ランダム数であると考えてもよいことを理解するであろう。さらに、当業者はここに述べたハードウェアおよび特定のタスクは実質的に同じ結果を達成しながら実質的に変更できることを理解するであろう。当業者に明らかなこれらおよび他の変更および修正は本発明の範囲内に含まれるものと考えられる。
【図面の簡単な説明】
【図１】地球を取り囲みかつその中で本発明の好ましい実施例が動作する衛星をベースとした通信ネットワークを示す説明図である。
【図２】本発明の好ましい実施例に係わる衛星スレーブステーションおよび地上制御マスタステーションにより使用されるハードウェアを示すブロック図である。
【図３】本発明の好ましい実施例に従ってマスタステーションおよびスレーブステーションの間で真性証明コマンドを通信する上で該マスタステーションおよびスレーブステーションによって実行されるタスクを示すフローチャートである。
【図４】図３と共に、本発明の好ましい実施例に従ってマスタステーションとスレーブステーションとの間で真性証明コマンドを通信する上で該マスタステーションおよび該スレーブステーションによって実行されるタスクを示すフローチャートである。
【図５】本発明の好ましい実施例に従ってマスタおよびスレーブステーションによって使用されるパッド関係データ構造を示すブロック図である。
【図６】本発明の好ましい実施例に係わるコマンド構造およびそのデータ通信メッセージとの関係を示すブロック図である。
【図７】図６と共に、本発明の好ましい実施例に係わるコマンド構造およびそのデータ通信メッセージとの関係を示すブロック図である。
【図８】本発明の好ましい実施例に従ってパッドのリストを確立する上でマスタステーションおよびスレーブステーションによって実行されるタスクを示すフローチャートである。
【図９】図８と共に、本発明の好ましい実施例に従ってパッドのリストを確立する上でマスタステーションおよびスレーブステーションによって実行されるタスクを示すフローチャートである。
【符号の説明】
１０  衛星をベースとした通信ネットワーク
１２  衛星
１４  ゲートウェイ
１６  地上制御ステーション（ＧＣＳ）
１８  無線通信ユニット
２０  通信ノード
２２  通信経路
２４  直接リンク
２６，５４  プロセッサ
２８，５６  メモリ
３０  パーマネントメモリ
３２  一時メモリ
３４  アクチュエータ
３６  スイッチ
３８  通信制御部
４０，６０  タイマ
４２，６２  変調器
４４，６４  シンセサイザ
４６，６６  送信アンテナ
４８，６８  アンテナ
５０，７０  受信アンテナ
５２，７２  復調器
５８  入出力装置
【図１】
0003584048.tif 000002
【図２】
0003584048.tif 000003
【図３】
0003584048.tif 000004
【図４】
0003584048.tif 000005
【図５】
0003584048.tif 000006
【図６】
0003584048.tif 000007
【図７】
0003584048.tif 000008
【図８】
0003584048.tif 000009
【図９】
0003584048.tif 000010