(57)【特許請求の範囲】
【請求項１】
第１および第２の局間の信号伝搬遅延が暗号化された情報ブロックの継続時間に較べて大きい場合に前記第１および第２の局間で送信される信号を暗号化および復号する手段であって、前記第１および第２の各局が、
送信もしくは受信される情報ブロックをカウントして多桁ブロックカウント値を発生するブロックカウンタ手段と、
多桁セション鍵および前記多桁ブロックカウント値の関数として暗号化ビットのブロックおよび復号ビットのブロックを発生する暗号アルゴリズム実行手段であって、前記第１の局用暗号化ビットは前記第２の局用復号ビットであり、逆の場合も同じである暗号アルゴリズム実行手段と、
前記暗号化ビットブロックを使用して送信する情報ビットの対応するブロックを暗号化する暗号化手段と、
前記復号ビットブロックを第１のメモリ位置に格納し予め格納された復号ビットブロックを第２のメモリ位置から検索するサーキュラーバッファメモリ手段と、
情報ビットのブロックを再生するために前記サーキュラーバッファメモリから検索された復号ビットブロックを使用して受信信号を復号する復号手段と、を含む信号の暗号化および復号手段。
【請求項２】
請求項１記載の装置であって、前記第１及び第２のメモリ位置は前記ブロックカウンタが増分される度にメモリ位置の総数を法として増分される装置。
【請求項３】
請求項１記載の装置であって、前記第１および第２のメモリ位置間の差は連続する情報ブロック送信間の時間を単位として測定した前記第１の局および前記第２の局間の伝搬遅延に対応する装置。
【請求項４】
請求項１記載の装置であって、前記第１のメモリ位置は最下位桁を含む前記ブロックカウンタの少なくとも数桁により決定される装置。
【請求項５】
請求項１記載の装置であって、前記第２のメモリ位置は最下位桁を含む前記ブロックカウンタの少なくとも数桁により形成される装置。
【請求項６】
請求項４記載の装置であって、前記第２のメモリ位置は前記第１のメモリ位置への前記伝搬遅延を表すオフセットのモジュロ加算により形成される装置。
【請求項７】
請求項５記載の装置であって、前記第１のメモリ位置は前記第２のメモリ位置への前記伝搬遅延を表すオフセットのモジュロ加算により形成される装置。
【請求項８】
第１および第２の局間の信号伝搬遅延が暗号化された情報ブロックの継続時間に較べて大きい場合に前記第１および第２の局間で送信される信号を暗号化および復号する手段であって、前記第１および第２の各局が、
送信もしくは受信される情報ブロックをカウントして多桁ブロックカウント値を発生するブロックカウンタ手段と、
多桁セション鍵および前記多桁ブロックカウント値の関数として暗号化ビットのブロックを発生する暗号アルゴリズム実行手段と、
前記暗号化ビットのブロックを使用して送信する情報ビットの対応するブロックを暗号化する暗号化手段と、
前記伝搬遅延を表すオフセットを使用して前記ブロックカウント値を修正しオフセットブロックカウントを発生する修正手段と、
前記多桁セション鍵および前記多桁オフセットブロックカウントの関数として復号ビットのブロックを発生する復号アルゴリズム実行手段と、
前記復号ビットブロックを使用して受信信号を復号し情報ビットのブロックを再生する復号手段と、を含む信号の暗号化および復号手段。
【請求項９】
第１および第２の局間の信号伝搬遅延が暗号化された情報ブロックの継続時間に較べて大きい場合に前記第１および第２の局間で送信される信号を暗号化および復号する装置であって、前記第１および第２の各局が、
送信もしくは受信される情報ブロックをカウントして多桁ブロックカウント値を発生するブロックカウンタ手段と、
多桁セション鍵および前記多桁ブロックカウント値の関数として暗号化ビットのブロックおよび復号ビットのブロックを発生し、前記第１の局の暗号化ビットは前記第２の局の復号ビットであり、逆の場合も同じである暗号アルゴリズム実行手段と、
前記暗号化ビットのブロックを使用して送信する情報ビットの対応するブロックを暗号化する暗号化手段と、
前記ブロックカウンタの現在値を格納し予め格納されたブロックカウンタ値を検索するメモリ手段と、
前記多桁セション鍵および前記検索されたブロックカウント値の関数として復号ビットのブロックを発生する復号アルゴリズム実行手段と、
前記復号ビットブロックを使用して受信信号を復号し情報ビットのブロックを再生する復号手段と、を含む信号の暗号化および復号装置。
【発明の詳細な説明】
開示の分野
本発明は、ループ伝搬遅延が暗号ブロック期間よりも遥かに長い、例えば衛星／セルラー電話機と地上局ネットワーク間で軌道衛星を使用して両方向で交換されるトラフィックの暗号化に関する。特に、本発明は２台の衛星／セルラー電話機が互いに直接通信を行うことができる問題を解決して、呼が地上局を使用して２回衛星を介して中継される場合のダブルホップ遅延を回避するものである。
開示の背景
現在、移動機すなわちハンドヘルド電話機との通信をサポートする軌道衛星を発射するためのさまざまな提案がなされている。図１は衛星通信システムのブロック図である。軌道衛星１１０はいくつかの携帯移動局すなわち電話機１２０だけでなく、ＨＵＢ１００と呼ばれる少なくとも１つの地上局すなわちアウトステーションと通信を行う。各電話機はその方向に高い利得を与える衛星上のマルチスポットビームアンテナからの適切なアンテナビームによりサービスされる。ＨＵＢは例えばＣバンドもしくはＫバンド周波数を使用して衛星と通信を行い、衛星は例えばＬバンド（上り）もしくはＳバンド（下り）周波数を使用して電話機と通信を行う。固定（公衆交換電話網ＰＳＴＮすなわち有線）加入者と衛星端末間の呼の割合は高いが、ある割合の衛星端末対間の呼もある。後者の場合、１つの端末から衛星へ伝搬され、衛星により地上網交換機へ中継され、交換機から衛星へ戻され最後に衛星から第２の端末へ戻される信号の二重遅延を回避することが望ましい。この方法では、信号は地球−衛星間距離の４倍を伝搬して音声遅延が増大する。
セルラーシステムでは、伝搬遅延は十分短くて移動電話機は同じブロックカウンタ値を使用してメッセージを暗号化および復号し送信ブロックを暗号化し受信ブロックを復号することができ、ネットワークや基地局も同様にすることができる。例えば前記したＧＳＭシステムでは、ＴＤＭＡフレーム期間はおよそ４．６ｍｓであり、それは光速において１３８０Ｋｍ、すなわち各方向に６９０Ｋｍ、に等しい距離に換算される。セルラーセル半径はめったに３０Ｋｍを越えることはないが、衛星電話機から衛星を経て地上へ戻る距離は低軌道衛星については２０００Ｋｍ、静止衛星については８００００Ｋｍとなることがある。
ＧＳＭとして知られる欧州デジタルセルラーシステムに指定されているＡ５アルゴリズム等の二重暗号（ｄｕｐｌｅｘ  ｃｉｐｈｅｒ）アルゴリズムは秘密セション鍵とともにブロックカウンタを利用してトラフィックデータブロックを暗号化するための暗号化ビットを作り出す。ブロックカウンタは各トラフィックブロックに対して増分され、それは例えば各時分割多元接続フレーム期間内に１度送信される信号バーストとすることができる。衛星電話機から送信された信号が衛星によりトランスポンドされ地上でもう１度受信される時間までに、信号を暗号化したブロックカウンタは現在のブロックカウンタに較べて多くのブロック期間だけ古くなっている。
米国特許出願第０８／５８１，１１０号には、軌道衛星を介した２つの移動局間の通信に対するダブルホップ遅延を、それらの信号を互いに直接中継することにより回避することが開示されている。前記出願には、移動局により送信された上りフォーマットが移動局により予期される下りフォーマットとは異なる場合に、スペースクラフト上で信号を再フォーマット化することが開示されており、このような再フォーマット化も両移動機において時間二重解決法を許す必要がありしたがって送信および受信を同時に行う必要がなく、交番方向に短いバーストを送受信する場合に遅延を含んでいる。
本開示の一部としてここに組み入れられている米国特許出願第０８／６８１，９１６号“Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  Ｆｏｒ  Ｅｎａｂｌｉｎｇ  Ｍｏｂｉｌｅ−ｔｏ−Ｍｏｂｉｌｅ  Ｃａｌｌｓ  ｉｎ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｓｙｓｔｅｍ”には異なる認証鍵を有する２つの移動局間で共通に暗号鍵を確立することの問題点および解決策が開示されている。
同じセション鍵を使用して両方向にトラフィックを暗号化するセルラーシステムにおいて二重暗号アルゴリズムを使用することが従来技術で知られている。例えば、このようなアルゴリズムは、その全体が本開示の一部としてここに組み入れられている、米国特許出願第０７／７０８，８７６号に開示されている。
ＧＳＭデジタルセルラー標準はＡ５として知られる二重暗号アルゴリズムを利用しており、その一般的構造はブルースシュナイア（ジョンウィリー＆サン）の“Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ−Ｓｅｃｏｎｄ  Ｅｄｉｔｉｏｎ”に記載されている。この構造は本出願で使用される。
米国特許第５，０６０，２６６号には、このような二重暗号アルゴリズムを利用する場合に通信リンクの２つの終端におけるブロックカウンタ間で連続同期化を保証する方法が記載されている。この特許もその全体が本開示の一部としてここに組み入れられている。しかしながら、光速の時間遅延に換算したそれらの空間的離隔が同期化の所要精度に較べて大きい場合に両端において同期を維持する問題や解決策は開示されていない。
米国特許第５，０８１，６７９号は、移動局が１つの基地局のサービスエリアを去って非同期化カウンタを有するもう１つのサービスエリアへ入る場合に、暗号化に使用されるブロックカウンタを再同期化する手段が開示されている。この特許もその全体が本開示の一部としてここに組み入れられている。それはハンドオフ時に移動機内のブロックカウンタを第１のカウンタフェーズから第２のカウンタフェーズへ変えてブロックカウンタを新しい基地局内のカウンタと一致させる問題を解決はするが、ブロックカウンタチック期間に光速を乗じた大きい距離において、基地局と暗号モードで通信する問題は開示もしくは解決されていない。
米国特許第５，０９１，９４２号およびその継続特許第５，２８２，２５０号には、移動局のアイデンティティを本物としてネットワーク局へ立証し同様にネットワーク局アイデンティティを移動局へ立証する認証プロセス中にネットワーク局移動局間に共通セション鍵を確立する方法を開示している。前記特許は共にその全体が本開示の一部としてここに組み入れられている。前記した方法は共に認証鍵すなわちＡ鍵への共通アクセスを有する移動局およびネットワークを頼りにするが、特定の呼を暗号化するためにそれを解放することにより攻撃に曝されることは望ましくない。本開示に組み入れられた前記いずれの特許にも、Ａ鍵すなわち任意の秘密情報を共通に持たない第１の移動機と第２の移動機間に共通鍵を確立することは記載されていない。
従来技術の前記した問題点や欠陥はここに記載する発明を実施することにより緩和される。
開示の要約
本発明の第１のアスペクトに従って、移動電話局もしくは地上網局もしくはその両方にバッファメモリが提供される。バッファメモリは暗号化ビットが発生される時に二重暗号化アルゴリズムから出力される復号ビットを格納するのに使用される。格納された暗号化ビットは後に受信されるトラフィック情報ブロックを復号するのに使用される。格納された復号ビットを使用する際の遅延は、呼開設時の信号交換中に地上局から移動電話局へのループ伝搬遅延を測定することにより、呼開設時の各呼に対してブロック期間の最も近い整数に決定される。
本発明の第２のアスペクトに従って、第１および第２の移動衛星電話局にバッファメモリが提供される。バッファメモリは第１の移動局において、二重暗号化アルゴリズムからの第２の出力を送信の暗号化に使用する間、第１の出力を格納するのに使用される。第２の移動衛星電話局におけるバッファメモリは、同じ二重暗号化アルゴリズムからの第１の出力を送信の暗号化に使用する間、第２の出力を格納するのに使用される。次に、暗号化アルゴリズムからの格納された出力はブロック期間の整数の遅延後に両方の移動局において呼び返され、互いに受信した信号を復号するのに使用される。遅延は呼開設時に両方の移動局との信号交換中に地上網局により決定され、第１の移動局は呼を発信しているものと識別されて第１の暗号出力を格納し、第２の移動局は呼を着信しているものと識別されて第２の暗号出力を格納する。
本発明の第３のアスペクトに従って、移動機間の呼は別々のセション鍵を使用して各局に対して個別に暗号化されるモードで、地上網と両方の移動局との間にコンタクトを確立して開始され、直接移動機間接続に対するループ遅延を確立した後に、地上網は暗号化を使用して直接移動機間呼を許す共通セション鍵およびループ遅延パラメータを提供する。
本発明の別の実施例では、ブロックカウンタはセション鍵と共にブロックカウント値を鍵発生器へ供給する。鍵発生器はブロックカウントをセション鍵と組み合わせて第１の局から送信されるデータを暗号化するのに使用される暗号化ビットを出力する。ブロックカウントは所定の遅延カウントと共に演算装置にも加えられてカウントの前の値を再生する。再生された前のカウント値はセション鍵と共に鍵発生器へ加えられて、第１の局で受信されるが第２の局から前に送信されているデータバーストを復号するためのキーストリームビットを発生する。ブロックカウント期間の最も近い整数で表した所定の遅延に等しい、第２の局から第１の局への信号の伝搬時間だけ受信は遅延される。所定の遅延値は通信の初期確立中に第１および第２の局の両方と通信を行い、計算した遅延値を共通セション鍵と共に両方の局へ伝達する地上網により計算される。次に、第１および第２の局は地上網から送られるセション鍵および遅延値を使用して互いに自律的に通信を行ってトラフィックの暗号化および復号を行うよう指令される。
【図面の簡単な説明】
当業者ならば、図面と共に以下の説明を読めば本発明のこれらおよびその他の特徴および利点は容易に理解できるものと思われ、ここに、
図１は衛星通信システムを示し、
図２は従来技術のブロックカウンタベース暗号を示し、
図３は典型的な二重暗号アルゴリズムを示し、
図４は暗号化および復号ビットを発生するために加えられるクロックサイクル数を示し、
図５はＧＳＭ  ＴＤＭＡバーストフォーマットを示し、
図６は本発明の１実施例に従った修正二重暗号マシンを示し、
図７は本発明の１実施例を示すフロー図であり、
図８は本発明のもう１つの実施例を示すフロー図であり、
図９は本発明の１実施例に従ったアドレス発生器内のブロックカウンタの使用を示し、
図１０は別の実施例を示し、
図１１は前のブロックカウント値の節減を示し、
図１２は本発明のもう１つの実施例を示すフロー図である。
詳細な説明
図２は送信信号を暗号化し受信信号を復号するのに利用される従来技術の二重暗号を示す。多桁値ＣＯＵＮＴの前の値を列内の次の値へ変えるブロッククロックチックパルスを加えることによりブロックカウンタ１０が増分される。カウント列は必ずしも１チック毎に増分する単純な２進もしくは１０進カウンタではなく、多数の基数カウンタおよび一時に２桁以上が増分されるカウンタを含むことができる。また、カウンタは本質的に擬似ランダム数列発生器とすることができるが、後述するように、ブロックカウント駆動暗号の利点はまさしく現在のカウント値からの時間変位値を加減算してＣＯＵＮＴの過去および将来値を容易に求められることであり、それは連番カウント順ならばより簡単であり擬似ランダムカウント列ではより困難である。したがって、単純な２進カウンタがブロックカウンタ１０の好ましい構造となる。
各ブロックカウントチックの後で、相互通信における局に対して確立されそれしか知らないセション鍵と共に新しいカウントが二重暗号アルゴリズム１１に加えられる。二重暗号アルゴリズム１１は２つの多桁出力１１ａ，１１ｂを計算する。一方の出力１１ａは送信機１２へ送られそこで、例えば、暗号出力の２進桁をデジタル化されたトラフィック情報の対応するビットへビット毎に加算するモジュロ２により送信トラフィックを暗号化するのに使用される。もちろん、暗号ビットを使用して送信信号要素の置換順序を制御したり、ＤＥＳアルゴリズム等のブロック組合せアルゴリズムにトラフィックビットと共に暗号ビットをブロックワイズに適用する等の、暗号ビットを利用してトラフィックを暗号化する他の手段を利用することもできる。
一方、二重暗号アルゴリズム１１からの他方の出力１１ｂは受信機１３に加えられ、暗号化プロセスを反転させて受信トラフィック情報のブロックすなわちバーストを復号するのに使用される。暗号化にビットワイズモジュロ２加算が使用される場合には、モジュロ２加算がそれ自体の逆、モジュロ２減算、と同じであるため同じものが復号に使用される。他の加算形式が暗号化に使用される場合には、復号演算に等化減算演算を使用する必要がある。例えば、暗号化に信号要素置換（ｓｉｇｎａｌ−ｅｌｅｍｅｎｔ  ｐｅｒｍｕｔａｔｉｏｎ）が使用される場合には、復号には逆置換が使用される。
図２には２つの局間の通信リンクの一端しか図示されていない。第２の局（図示せず）は、出力１１ａが復号のために第２の受信機へ送られ出力１１ｂが暗号化のために第２の送信機へ送られることを除けば、厳密に同じ構成を使用している。出力１１ａ，１１ｂの使用を逆にすれば、伝搬遅延がブロッククロックティック間の時間に較べて小さい場合しか、２方向トラフィックを暗号化モードで交換することができない。したがって、図２の従来技術の二重暗号はリンクの２つの終端間の伝搬遅延が多数のブロック期間にわたる場合には作動できない。例えば、図２に従った第１の装置が１０００に等しいブロックカウントで暗号化を行い、暗号化された信号が５０ブロックカウントの伝搬時間で図２に従った第２の装置へ伝搬する場合、第２の装置のブロックカウンタは、第１の装置のそれに同期化されておれば、１０５０の値へ進んでおりそれは復号するのに妥当ではない。したがって、第２の装置のブロックカウンタは５０ブロックカウントだけ遅らせて、第１の装置が１０００のブロックカウントで暗号化を行っている時に、第２の装置のブロックカウンタは９５０の値を得ており５０カウントだけ前に送信されたブロックを復号しているようにしなければならない。しかしながら、第２の装置はその時９５０の同じ遅らせたブロックカウントで第１の装置へ送信するブロックを暗号化していることがあり、５０ブロックカウントの伝搬遅延後に、ブロックカウント＝９５０で暗号化されたこれらのブロックはそのブロックカウンタが１０００から１０５０へ進んだ後で第１の装置へ到達し、１００の誤差となる。したがって、一方もしくは両方の暗号マシンを他方に対して進めたり遅らせることにより２つの終端を同期化させることはできない。
図３に典型的な二重暗号アルゴリズムである前記したＡ５アルゴリズムを示す。それぞれ１９，２２および２３段の長さを有する３個の線型帰還シフトレジスタ２０，２１，２２がクロック制御回路２４ａ，２４ｂ，２４ｃ，２４ｄによりクロックされて一時に３出力ビットを発生し、それらはＸＯＲ回路２３により排他的にＯＲされてクロック期間当たり１ビット出力を発生する。初期化プロセスの後で得られる逐次出力ビットは暗号化および復号のためのキーストリームを形成する。
クロック制御回路２４はレジスタ２０ビット１１、レジスタ２１ビット１２およびレジスタ２２ビット１３を比較して２進‘０’よりも２進‘１’が多いかどうかを判断する多数決回路２４ａを含んでいる。例えば、レジスタ２０ビット１１およびレジスタ２２ビット１３が‘１’であれば、少なくとも２つの‘１’があるため‘１’は過半数を占め、多数決回路は‘１’を出力する。しかしながら、ゼロが過半数を占める場合には、多数決回路２４ａはゼロを出力する。
多数決回路２４ａの出力はＸＯＲゲート２４ｄにおいてレジスタ２０ビット１１と比較される。値が一致すればレジスタ２０のビット１１は多数値の１つであることを示し、ＸＯＲゲート２４ｄから‘０’が作り出されてクロックパルス入力２８にクロックパルスが加えられる時にレジスタ２０をシフトすることができる。同様に、ＸＯＲゲート２４ｃ，２４ｄは、それぞれ、レジスタ２１からのビット１２およびレジスタ２２からのビット１３が過半数に属するかどうかを確認し、属する場合にはそれらの各レジスタがシフトできるようにされる。したがって、クロック制御回路２４ａ，ｂ，ｃ，ｄの効果は３個のレジスタの中の少なくとも２個、すなわち過半数、が入力２８にクロックパルスを加えるとすぐにシフトすることである。
前記したクロック制御回路は、セション鍵およびブロックカウント、および図４に従って加えられるいくつかのクロックパルスを使用するレジスタ開始状態の初期化後に使用される。初期化後に、レジスタを開始状態から予測困難な決定的量だけ変位させるために１００クロックパルスが加えられる。次に、さらに１１４クロックパルスが加えられ、その度にＸＯＲゲート２３からキーストリームビットが抽出される。次に、抽出された１１４ビットを使用してトラフィックが一方向へ復号もしくは他方向へ符号化される。引き続き１１４クロックパルスが加えられる時に、さらに１１４ビットがＸＯＲゲート２３から抽出されトラフィックを一方向へ符号化もしくは他方向へ復号するのに使用される。
図５はトラフィック情報の５７＋５７ビットを符号化するために１１４キーストリームビットがどのように加えられるかを示すＧＳＭ  ＴＤＭＡバーストフォーマットである。スロットフォーマット（Ａ）は同期化および等化器学習に使用される中央２６ビットｓｙｎｃｗｏｒｄを含む。ｓｙｎｃｗｏｒｄの各側で、フラグビットＦはバーストがデジタル化音声、Ｆａｓｔ  Ａｓｓｏｃｉａｔｅｄ  Ｃｏｎｔｒｏｌ  Ｃｈａｎｎｅｌ（ＦＡＣＣＨ）メッセージもしくはハーフ音声およびハーフＦＡＣＣＨを含むかどうかを示す。フラグビットの両側に５７データビットがあり、合計１１４ビットとなる。これらのデータビットだけが１１４キーストリームビットでＸＯＲすることにより暗号化され、それらは（Ｂ）に示す５７キーストリームビットの２つの対応するブロックへ分割されている。バーストの終わりに、伝搬チャネル内のエコーを静められるように４テールビットが加えられ、次にさらにアップ／ダウンランプ時間の６．２５ビット期間が許され、それはスロット間のガード時間としても働いて干渉を生じることなく隣接スロット間のスロットタイミングを幾分変動できるようにする。
初期化ステップはレジスタをクリアし、次にセション鍵および現在フレームに対するブロックカウントをロードすることを含んでいる。６４ビットセション鍵および２２ビットブロックカウントは連接されて８６ビット初期化シーケンスを形成し、それはビットシリアルに入力２９へ加えられそこでビットはレジスタ帰還経路内へＸＯＲされる。各レジスタが各ビットにより遂行されることを保証するために、初期化中に３個のレジスタは全て８６鍵＋カウントビットによりシフトされる。その後、１００混合サイクルおよび２２８キーストリーム抽出サイクル中のレジスタのシフトは、前記したように、クロック制御回路２４ａ，ｂ，ｃ，ｄによって決まる。
図５において、フォーマット（Ｃ）は、本開示の一部としてここに組み入れられている米国特許出願第０８／５０１，５７５号に開示されているように、衛星通信に適応されたＧＳＭ導来バーストフォーマットである。
衛星モードにおける通信効率を改善するために、２ラグビットおよび４つのｓｙｎｃビットが除去されスロットのデータ内容が５７＋５７ビットから６０＋６０ビットへ増加される。時間分散が少ない衛星チャネルの等化器学習には２２ビットの短縮されたｓｙｎｃ語長で十分である。音声およびＦＡＣＣＨを区別するのにフラグビットは不要であり、それは本開示の一部としてここに組み入れられている米国特許第５，２３０，００３号に開示されている発明を使用して実施される。
フォーマット（Ｃ）は各５７ビットキーストリームブロック（Ｂ）からの対応するキーストリームビットと重複しないｓｙｎｃ語のいずれかの側にある３ビットを含んでいる。したがって、バーストフォーマット化および暗号化を実施するＧＳＭハードウェアに最小限の変化がなされると、これらの３＋３ビットは暗号化されない。しかしながら、米国特許出願第０８／５０１，５７５号に開示されている対角インターリーブパターンを考慮すると、非暗号化ビットはエラー修正符号化プロセスの出力シーケンス内の孤立ビットであり、その近隣ビットは暗号化される。周囲の符号化ビットが暗号化される場合には孤立平文符号化１ビットに基づくエラー修正復号を実施できないため、追加３データビットを暗号化しなくてもセキュリティの有意ロスはない。しかしながら、干渉が全く同様に符号化される場合にはエラー修正符号化は同一チャネル干渉を濾波するのを助けるようには作用しないため、異なるセルすなわちビーム内で同じ周波数を使用する信号、いわゆる同一チャネル干渉機（ｉｎｔｅｒｆｅｒｅｓ）、に対しては問題とする３＋３ビットを異なるようにマスクしなければならない。図５において、拡張ｓｙｎｃｗｏｒｄ（Ｄ）は正規の２２ｓｙｎｃビットを含み、好ましくはそれも１群の同一チャネル干渉機間で異なり、３＋３追加ビット重複する各終端において３ビットを加えて２８ビットに拡張され、バースト組立て中に追加データビットと排他的ＯＲされる。また、３＋３ｓｙｎｃｗｏｒｄ拡張ビットは同一チャネル干渉機間で異なるように慎重に選択されてこれら３ビットに対するエラー修正コードの干渉を区別する利点が得られるようにされる。
もちろん、暗号化および復号のための２４０キーストリームを発生するのは図３のＡ５アルゴリズムへの単純な修正であるが、既存のハードウェア設計を最小限に修正して衛星通信モードを実施する場合には図５の（Ｂ＋Ｃ＋Ｄ）構成が好ましい。
より長距離にわたる二重通信を可能とする目的で、本発明の第１の実施例を達成するために図２の従来技術の二重暗号マシンに加える必要のある変更を図６に示す。アドレス発生器３１がサーキュラーバッファメモリ３０へリードアドレスおよびライトアドレスを発生する。アドレス発生器はブロッククロックパルスが加えられてブロックカウンタ１０を増分する度にリードおよびライトアドレスを増分する。リードアドレスはライトアドレスから各呼に定められた定遅延値を引いた値に等しい。アドレスは計算されたモジュロＮであり、Ｎはビットブロックの暗号化におけるサーキュラーバッファメモリのサイズである。例えば、図２の論理を使用して発生された暗号化ビットブロックが１１４ビットを含みかつＮが６４であれば、メモリのサイズは１１４ｘ６４ビットすなわち９１２バイトである。Ｎ＝６４の値により遅延値が得られる最大値が設定され、したがって最大ループ伝搬遅延が設定され、したがって軌道衛星を介して第２の同様な局と通信する第１の局との間の最大ループ距離が設定される。特定セルに対する実際の遅延が、例えば、５１ブロックカウントであれば、リードアドレスは次式によりライトアドレスに関連づけられる。
リードアドレス＝｜ライトアドレス−５１｜64
＝｜ライトアドレス＋１３｜64
したがって、この場合は１３である、遅延値のＮの補数を加えるモジュロＮによりライトアドレスからリードアドレスを同様に引き出すことができる。
図６のマシンと通信するリンクの他端において二重暗号マシンは、第２のマシンがキーストリーム１１ａの替わりにキーストリーム１１ｂを送信の暗号化に使用し、キーストリーム１１ａは受信データ復号の遅延後に使用されるメモリ３０へルーティングされる点を除けば、図６のそれと同じ機能と考えられる。同じ遅延値を両端で使用することができ、次に第１の通信装置から衛星中継局を介した第２の通信装置への１方向伝搬遅延となる。あるいは、それらの和が２方向伝搬遅延に等しくかつそれらのブロックカウンタが両端において暗号同期を保証するように調整されている限り異なる遅延を使用することができ、それは本発明を実施すれば遅延メモリにより可能である。
制御局のネットワークを使用して第１の送信機−受信機局と第２の送信機−受信機局間で暗号保護された情報を通信する方法を示す図７を参照して、前記した本発明をさらに説明する。暗号化通信は最初に制御局のネットワークと第１の局間および制御局のネットワークと第２の局間で別々に確立される。制御局のネットワークからセション鍵が第１の局および第２の局へ別々に送られる。制御局ネットワークと第１の局間の伝搬遅延が求められ、かつ制御局ネットワークと第２の局間の伝搬遅延が求められる。伝搬遅延を処理して制御局ネットワークを含まない第１および第２の局間の通信に対する直接伝搬遅延が求められる。次に、直接伝搬遅延は制御局ネットワークから第１の局および第２の局へ別々に送られる。次に、チャネル割当が制御局ネットワークから第１の局および第２の局へ別々に送られ、第１の局および第２の局はセション鍵および直接伝搬遅延値を使用して信号を暗号化および復号することにより互いに通信を開始するよう指令される。
図８に示す本発明の別の実施例では、制御局ネットワークと第１および第２の局間の通信に対してそれぞれ確立された伝搬遅延が一緒に加算される。次に、制御網から制御網へ戻るループ伝搬遅延が求められ減算されて第１および第２の移動局間の衛星を介した直接通信に対する１方向遅延が得られる。１方向遅延を含むチャネル割当が制御局ネットワークから第１の移動局および第２の移動局へ別別に送られて、第１の移動局および第２の移動局はチャネル割当を使用したお互いの通信およびセション鍵および１方向伝搬遅延値を使用した信号の暗号化および復号を開始するよう指令される。
特定の実施例では、例えば、復調、インターリーブ、エラー修正復号もしくは瞬時には実行されない他の信号処理機能等の装置内の処理遅延を償うために、使用する遅延値は純粋な伝搬遅延よりも大きくすることができる。
ライトアドレスはブロッククロックパルスにより増分された後でアルゴリズム１１からのビット出力を、例えば１１４ビットエリア等の、メモリの特定の１ブロックエリアへ復号するのを指令するのに使用される。一方リードアドレスは前に格納された復号ビットブロックをそこから検索して受信機１３で受信したばかりの情報を復号するのに使用するメモリエリアを指示するのに使用される。
もちろん、シフトレジスタや先入れ先出しレジスタ（ＦＩＦＯ）等の復号ビットの使用を遅延させる他の方法も使用できるが、遅延量が変動ししたがって必要なシフトレジスタやＦＩＦＯの長さが常に同じではない場合には、適切なアドレッシング論理３１を有するランダムアクセスメモリ（ＲＡＭ）チップを使用するのがより実際的である。しかしながら、二重暗号アルゴリズムからの復号ビット出力の使用を所与のリンク遅延だけ遅延させる同等の方法は全て、添付請求の範囲に記載された本発明の精神および範囲内に入るものとする。
ブロックカウンタ１０の最下位カウンタ段がアドレス発生器３１と同じカウントモジュラスを使用するような状況では、ブロックカウンタ１０の最下位桁を直接１アドレスとして使用しかつ所与の遅延値モジュロＮを加減算して他のアドレスを形成することによりアドレス発生器３１を単純化することができる。
このような構成を図９に示す。ブロックカウンタ１０は、ＧＳＭシステムに使用されるような、典型的なブロックカウンタの詳細を示すために拡大されている。第１のカウンタＬＳＢ段１０ａはブロッククロックを５１で除算し、それは本開示の一部として組み入れた参照文献に記載されているように、ブロードキャスト制御チャネル上のサブマルチプレクスフレームの繰返し期間である。第２のカウンタＬＳＢ段１０ｂは並列にクロックされ、Ｓｌｏｗ  Ａｓｓｏｃｉａｔｅｄ  Ｃｏｎｔｒｏｌ  Ｃｈａｎｎｅｌ（ＳＡＣＣＨ）バースト間のブロックすなわちフレーム数で除算される。ＧＳＭでは、カウンタ１０ｂは８タイムスロットの５２フレームをカウントするが、本開示の一部として組み入れた参照文献に記載されている衛星適用では、カウンタ１０ｂは２６の１６スロットフレームをカウントする。両方のカウンタ１０ａ，１０ｂが一緒にクロックされて５１ｘ５２パルス内に１個だけのキャリーパルスを同時に発生し、そのイベントはＡＮＤゲート１０ｄにより検出されて最上位カウンタ段１０ｃ、÷１０２４回路、を増分するキャリーパルスを発生する。カウンタ１０の全期間は本例では５１ｘ５２ｘ１０２４であるが、厳密なカウンタモジュールは代表例であって本発明を限定するものではない。例えば、カウンタモジュールは５１ｘ２６ｘ２０４８もしくは１７ｘ１３ｘ１２２８８として同じ繰返し期間を達成することができる。好ましくは、カウンタ構造はスロット、フレームおよびスーパーフレームタイミングおよび多重構造に一致するように選択され、それを暗号タイムベースとして使用することは、一度信号構造一般との同期化が得られるとさらに同期化手順を必要とせずに暗号同期化が得られる利点を有する。
図９では、最下位カウンタ１０ｂはリードアドレスとしてバッファメモリ３０へも供給される。ライトアドレスは１方向伝搬遅延値をモジュロ５２加算器３２内のリードアドレスへ加えて発生される。２２ビットブロックカウントがセション鍵と共に二重暗号アルゴリズム１１へ加えられる。暗号アルゴリズム内で鍵およびブロックカウントの関数として暗号化および復号ビットが発生される。暗号化ビットはほぼ即座に送信情報ブロックを暗号化するのに使用される。しかしながら、復号ビットはメモリ内の加算器３２からのライトアドレスにより与えられる位置に格納され、その位置はリードアドレスを使って前に書き込んだ復号ビットが読み出されるアドレスの前方（サーキュラー式で）にある。ライトアドレスはある時間前に読み出されて復号に使用された復号ビットを含む空き位置を指示し、それは現在暗号アルゴリズム１１からの新しい出力によりオーバライトされていることがある。この新しい出力は二重通信リンクが確立される第２の同様な装置において同時に暗号化に使用されるが、暗号化されたビットは第２の装置から衛星中継局を介した第１の装置までの介在距離を伝搬した後で第１の装置に受信され、この距離は静止衛星の場合８００００Ｋｍにも達することがある。光速では、それは２６６．６ｍＳ、すなわち５７．８ＧＳＭ  ＴＤＭＡフレーム期間、すなわち米国特許出願第０８／５０１，５７５号に衛星通信に有用であると記載されている２８．９の１６スロット期間を表す。この特許出願は本開示の一部としてここに組み入れられている。
衛星を介した移動機間遅延は１６スロットＴＤＭＡフォーマットを使用する場合は５２フレームよりも少ないため、各々が復号ビットの１フレームの値（例えば、１１４）を格納することができる５２位置を有するサーキュラーバッファメモリ３０は伝搬遅延の予測範囲を包含するのに適切である。
図６および図９の実施例に必要なバッファメモリのサイズは伝搬遅延に遅延される毎秒暗号化ビット数を乗じたものに等しい。毎秒暗号化ビット数は少なくとも通信リンクの情報レートに等しく、畳込み符号化により付加される冗長度に対応する情報レートよりも大きくなることがある。情報レートが高いと、メモリサイズは増大する。メモリサイズが過大になったら、バッファメモリを省く、図１０の代替実施例を使用することができる。図１０では、暗号アルゴリズム１１の第１のコピーを実行してセション鍵をブロックカウンタ１０の非修正出力と組み合わせて暗号化および復号出力１１ａ，１１ｂが作り出される。二重通信リンクの一端において、第１の送信機受信機１２，１３は暗号アルゴリズムの第１のコピーの出力１１ａを送信の暗号化に使用する。二重通信リンクの他端において、図１０と同じ装置を使用して図１０に点線で示す第２の送信機受信機１２，１３へ暗号化および復号ビットが与えられる。暗号アルゴリズムの第１のコピーはその出力１１ｂを送信の暗号化のために第２の送信機受信機へ与える。
モジュロｎ加算器３２はカウンタ１０の出力へ遅延オフセット値を加えて修正カウントを作り出す。修正カウントは暗号アルゴリズム１１の第２のコピーへ与えられる（それは同じ断片のハードウェアの第２の実行として、図１０の両方の共通ラベリングを正当化することができる）。暗号アルゴリズム１１の第２のコピーすなわち実行により加算器３２からの修正カウントはセション鍵と組み合わされて第１の受信機１３が使用する復号ビット１１ｂが得られる。受信機は遅延信号を受信するため、加算器３２内で加算される遅延オフセットは負値に対応する、すなわち正の遅延値のｎの補数である。あるいは、増分されたブロックカウンタ値を表す修正カウントを使用して第１のトランシーバ１２，１３内で暗号化ビット１１ｂを発生することができ、非修正カウンタ出力を使用して復号ビット１１ａを発生することができる。図１０に点線で示す第２のトランシーバ１２，１３は同様な構成で図１０に接続されているが、暗号アルゴリズム１１の第１の実行の出力１１ｂを暗号化に使用し（出力１１ａが逆方向の暗号化に使用される場合）、暗号アルゴリズム１１の第２の実行の出力１１ａは第２のトランシーバにおいて復号に使用される（暗号アルゴリズムの第２の実行の出力１１ａは他方のトランシーバにおいて復号に使用されるものと仮定する）。あるいは、暗号アルゴリズム１１の第２の実行の出力１１ｂが第１のトランシーバにおいて暗号化に使用される場合には、暗号アルゴリズム１１の第２の実行の出力１１ａが第２のトランシーバにおいて暗号化に使用される。
加算器３２のモジュラス‘ｎ’はカウンタ１０の全カウント期間に対応しなければならない。サブカウンタ１０ａ，１０ｂ，１９ｃを含む図９に示すカウンタ構造に対して、図１０の実施例に対する加算器は図９に示すモジュロ５２加算器ほど単純ではない。図９では、前のカウントに対応する修正カウントは、バッファメモリ３０内に格納された前のカウントに対応する暗号ビットのように、発生する必要がない。しかしながら、前のカウントを使用する暗号アルゴリズムの第２の実行によるバッファメモリ３０の必要性を回避するために、前の全カウントを入手できなければならず、それには全サブカウンタ１０ａ，１０ｂ，１０ｃの修正が伴う。
例えば、カウンタ１０ｂは現在４７のカウントを含みカウンタ１０ａは１５のカウントを含み、３９ブロック前のカウント値を再生したいものとする。カウンタ１０ｂから３９減算してもアンダーフローは生ぜず、そのためカウンタ１０ｂは前のカウントと現在のカウントとの間にキャリーを生じなかったことが判る。サブカウンタ１０ａの前の値は１５−３９＝−２４であり、それはモジュロ５１カウンティングにおいて＋２７である。−２４の負の符号はアンダーフローを示す、すなわち前のカウントと現在のカウントとの間にキャリーが発生したことを示す。このキャリーがサブカウンタ１０ｂ上のそれと同時に発生されておれば、カウンタ１０ｃも前のカウントと現在のカウントとの間で増分されており、したがって減分して前のカウントを作り出さなければならないことを示す。この状況はサブカウンタ１０ａ，１０ｂが現在等しくかつ減算される遅延値よりも小さい場合しか起こらず、したがって遅延オフセットモジュロ５１および５２をそれぞれ減算する前に、サブカウンタ１０ａ，１０ｂの同等性を調べるとカウンタ１０ｃを減分して有効な前のカウントを作り出すべきかどうかが表示される。あるいは、現在のカウントが復号に使用される前の暗号化されたブロックカウントを表すように増分されたカウントが暗号化に使用される場合には、サブカウンタ１０ａ，１０ｂを各モジュロ５１およびモジュロ５２加算器において同じ遅延オフセットだけ増分し、増分した後で同等性を調べ、同時キャリーが作り出されてサブカウンタ１０ｃへ１を加えて有効な暗号化カウンタ値を作り出す必要があるかどうかを確認しなければならない。
もう１つの代替策は図９のサーキュラーバッファメモリ３０を使用して前の暗号アルゴリズム出力ビットの替わりに前のブロックカウントを格納することであり、図１１に示すようにブロックカウントはより少ないビットを含んでいる。
サブカウンタ１０ａのカウントはメモリアドレス内でインプリシットであるため、図１１のバッファメモリ３０はサブカウンタ１０ａ，１０ｂの前のカウント、合計１６ビット、を格納するだけでよい。カウンタ１０ｂ，１０ｃの現在の１６ビット値が５１語バッファメモリ３０内のカウンタ１０ａにより与えられる現在のリードアドレスよりも前のアドレスに書き込まれ、モジュロ５１加算器３２において加えられる遅延オフセットに等しい量だけ前である。書き込まれた値により前に再読み出しされ使用された不要な値がオーバライトされる。書込値が後で再読み出しされる場合には、読出アドレスは遅延値だけ進められており、したがって減分してカウンタ１０ａの前の値を再生する必要がある。それは加算器３２を２回再使用して実施することができるが、加えられる遅延の４１の補数が現在のリードポインタへ与えられ、したがって遅延を有効に減算してカウンタ１０ａの前の値が再生される。あるいは、カウンタ１０ａの非修正値をリードアドレスの替わりにライトアドレスとして使用することができる。したがって、後でそこからカウンタ１０ｂ，１０ｃの１６ビット値が再読出しされるアドレスは使用するカウンタ１０ａの対応する値である。次に、モジュロ５１加算器３２において遅延値の５１の補数をカウンタ１０ａの値に加えることにより現在のリードアドレスが発生される。次に、現在のリードアドレスは１６ビット再読出値と一緒に二重暗号アルゴリズム１１の第２の実行において復号の目的で使用する遅延２２ビット値を形成し、カウンタ１０ａ，１０ｂ，１０ｃの現在状態は暗号アルゴリズム１１の第１の実行において暗号化の目的で使用される。
したがって、モジュロ加算演算のメモリサイズ、複雑さと暗号アルゴリズム１１の単一および二重実行との間のトレードオフとして、バッファメモリ３０のサイズは図９および図１０の実施例のハイブリッドを使用することにより完全に削除してしまうのではなく最小限に抑えることができる。
また、二重通信リンクの任意の一端において暗号アルゴリズムの完全な二重実行は必要ではないことも指摘される。例えば、暗号アルゴリズム１１の第１の実行により図１０の第１のトランシーバ１２，１３に対して最初に出力ビット１１ａが生じる場合には、出力ビット１１ｂの発生を継続する必要がない。一方、暗号アルゴリズム１１の第２の実行は第１のトランシーバにより使用される出力ビット１１ｂを得るための踏み台として出力ビット１１ａを作り出さなければならない。逆に、第２のトランシーバ１２，１３に対しては、暗号アルゴリズム１１の第２の実行は出力ビット１１ａだけを発生した後で終止することができる。
図６，９もしくは１０の加算器３２へ与えられるように図示されている“ＤＥＬＡＹ”の値は呼開設時に直接移動機間リンクに対して確立する必要がある。呼開設は１人の加入者が電話機を取り上げてもう１人の加入者の番号をダイヤルする時に電話通信網内で行われる手順の名称である。移動電話網において、重要な部分手順は発呼加入者を識別して通話中にかかる料金を請求できるようにすることである。有線網の場合加入者は、例えば、自分の家に至る銅線対により一意的に識別されるため、この手順は単純である。しかしながら、移動通信網の場合は同じ有線基地局の範囲内にさまざまな加入者が来てそれに接続されることがあるため、それらの信号がネットワーク内のどこで検出されるかによって識別することはできない。電子識別信号を交換することで課金のための識別を行わなければならない。本開示の一部としてここに組み入れられている前記した他の参照文献には、この識別プロセスにおいて不正行為を防止するように設計された認証手順が開示されている。認証の副産物として、適切な無線受信機を備えた任意の盗聴者がより容易に盗聴することができる信号ルーティングの少なくともワイヤレスレグにおいて、呼を暗号化および復号するための一時的“セション鍵”を作り出すことができる。
本開示の一部としてここに組み入れられている前記した米国特許出願第０８／６８１，９１６号には、呼開設時に、特定の呼が共に衛星しか到達することができない２人の加入者間の呼であるかどうかを衛星／セルラー網が確認し、次に共通暗号鍵の確立へ進みその後直接移動機間衛星トランスポンダチャネルをそれらに割り当てることが開示されている。ネットワークは最初に呼をダイヤルする発呼加入者によりコンタクトされ、次にネットワークは被呼加入者とコンタクトして両者との別々に暗号化されたリンクを確立する。この呼開設フェーズ中に、ネットワークにとって各移動機へのループ遅延を独立に確立するのは簡単であり、それには共通部として衛星およびネットワーク局間の距離が含まれる。この距離は、衛星を正確に追跡し、その軌道パラメータを求め、その瞬時位置を計算する衛星追跡局の使用等の任意数の手段により正確に確立することができる。次に、地上局から衛星までの既知の距離が第１および第２の移動機までのループ遅延から減算され、その後それらを加算して移動機間遅延が得られる。好ましくは、移動機間通信用衛星トランスポンダはバッファおよびリフォーマッタを含んでいる（上りおよび下り信号フォーマットが異なる場合）米国特許出願第０８／６８１，９１６号および第０８／５８１，１１０号。バッファには衛星トランスポンダ内に小さな追加遅延を導入して、全伝搬遅延をＴＤＭＡ、フレーム期間、実際上分数フレーム遅延を取り上げるバッファの整数として表すことができるようにする効果がある。
本発明に従って、地上網はフレーム遅延のこの整数を移動機ごとに求め、次にそれを共通セション鍵および移動機間トランスポンダチャネル割当てと共に移動機へ伝達し、移動機は本発明により地上網との通信から暗号モードの直接通信に切り替えることができる。経験するループ遅延を直接移動機へ通知することにより、ｓｙｎｃアルゴリズムが両端において暗号化および復号を同期化させるのに使用する正しい遅延値を探索する間に、移動機は移動機間通信の中絶を回避することができる。それは好ましい実施例の好ましいアスペクトではあるが、例えば、図１２に示すような非暗号化モードでフレームカウンタ値を送信することにより移動機が互いに直接通信を開始するよう要求することにより、ループ遅延を確立するための他の手段を使用することができる。次に、各移動機は受信バースト内に含まれるカウンタ値をその現在の値から減じて、復号を他の移動機の暗号化と同期化させるために加算器３２内のそれ自体のカウンタへ加える遅延を求める。後者の方法は両方の移動機が厳密に同じ遅延値を使用するものとは仮定しておらず、図１０の実施例を使用するならば任意のカウンタミスアライメントを許容することができる。両方の方法および当業者ならば考案することができるループ遅延値を１ブロック期間の所要精度に確立する任意他の方法は本発明の精神および範囲内に入る。
当業者ならば、本発明をその精神および本質的特徴から逸脱することなく他の特定の形式で実施できるものと思われる。したがって、ここに開示した実施例はあらゆる点において説明用であって制約的なものではない。発明の精神は前記説明ではなく添付請求の範囲により示され、それと等価値の意味および範囲内に入る変更は全て包含されるものとする。
【図１】
0004491073.tif 000002
【図２】
0004491073.tif 000003
【図３】
0004491073.tif 000004
【図４】
0004491073.tif 000005
【図５】
0004491073.tif 000006
【図６】
0004491073.tif 000007
【図７】
0004491073.tif 000008
【図８】
0004491073.tif 000009
【図９】
0004491073.tif 000010
【図１０】
0004491073.tif 000011
【図１１】
0004491073.tif 000012
【図１２】
0004491073.tif 000013