(57)【要約】　　　（修正有）【課題】コール処理システムのコール・コンプレックス及びエンド・ユニット間のセキュア通信を提供する。【解決手段】エンド・ユニットはそれぞれ、エンド・ユニットに結合された各端末についてのスタック・ベースのセッション鍵リストを含む１組のセッション鍵リストを生成する。この複数組のセッション鍵リストは、エンド・ユニットとコール・コンプレックスとの間で実施される、対応する認証プロトコルの一部として、安全にエンド・ユニットからコール・コンプレックスに通信される。【選択図】　　　図１
2004007397.tif 000002
【特許請求の範囲】
【請求項１】
コール処理システムにおいて、システムの通信交換機を介してシステムの２つ以上のエンド・ユニット間のセキュア通信を提供する方法であって、
各エンド・ユニットについての１組のセッション鍵リストを含む複数の組のセッション鍵リストを、通信交換機に関連するメモリ内に格納するステップと、
発信エンド・ユニットに関連するセッション鍵リストの組のうちの所与の１つのセッション鍵リストから、エンド・ユニット・ツー・エンド・ユニット・セッション鍵としてセッション鍵を選択し、選択したエンド・ユニット・ツー・エンド・ユニット・セッション鍵が、発信エンド・ユニットと少なくとも１つの他のエンド・ユニットとの間の通信交換機を介したセキュア通信を提供する際に利用されるステップとを含む方法。
【請求項２】
セッション鍵リストの組のうちの前記所与の１つが、少なくとも第１セッション鍵要素と、複数のスタック・ベースのセッション鍵リストとを有するデータ構造の形式で格納され、各スタック・ベースのセッション鍵リストが、発信エンド・ユニットに結合された特定の端末に関連する複数のセッション鍵を有する請求項１に記載の方法。
【請求項３】
第１セッション鍵要素が、発信エンド・ポイントと通信交換機との間のセキュア通信を提供する際に利用可能である請求項２に記載の方法。
【請求項４】
選択されるセッション鍵が、発信エンド・ユニットを介してセキュア通信を開始した特定の端末に対応する、複数のスタック・ベースのセッション鍵リストのうちの指定される１つから選択される請求項２に記載の方法。
【請求項５】
前記特定の端末によって開始されたセキュア通信の完了時に、対応する発信エンド・ユニットが、その端末についてのスタック・ベースのセッション鍵リストに加えられ、格納するために通信交換機に供給される少なくとも１つの追加のセッション鍵を生成し、前記追加のセッション鍵が、発信エンド・ユニットと少なくとも１つの他のエンド・ユニットとの間の後続のセキュア通信を提供する際に利用される請求項４に記載の方法。
【請求項６】
エンド・ユニットのうちの所与の１つについてのセッション鍵リストの組が、そのエンド・ユニットによって、エンド・ユニットと通信交換機との間で実施される認証プロトコルの一部として暗号化形式で通信交換機に供給される請求項１に記載の方法。
【請求項７】
セッション鍵リストの組の第１セッション鍵要素が、認証プロトコルの完了後に、エンド・ユニットのうちの前記所与の１つと通信交換機との間のセキュア通信を提供するために利用可能である請求項１に記載の方法。
【請求項８】
発信エンド・ユニットに結合された特定の端末に関連するセッション鍵リストのうちの特定の１つが、前記特定の端末で開始されるコールについてのセキュア通信を提供する際に選択される請求項１に記載の方法。
【請求項９】
別のエンド・ユニットに結合された少なくとも１つの追加の端末が、選択したセッション鍵を利用して、前記特定の端末で開始されるコールに参加する請求項８に記載の方法。
【請求項１０】
追加の端末が、前記特定の端末で開始されるコールの、対応する宛先端末を備える請求項９に記載の方法。
【請求項１１】
追加の端末が、コールの宛先端末以外の追加の端末を備え、前記追加の端末が、宛先端末にコールを接続した後に、前記特定の端末で開始されるコールに参加する請求項９に記載の方法。
【請求項１２】
新しいセッション鍵が、コールに参加する追加の端末がその後でコールからドロップされた後、特定の端末に関連するセッション鍵リストから選択される請求項１１に記載の方法。
【請求項１３】
コール処理システムの２つ以上のエンド・ユニット間でシステムの通信交換機を介してセキュア通信を提供するためにシステムで使用する装置であって、
通信交換機に関連し、かつ各エンド・ユニットについての１組のセッション鍵リストを含む複数の組のセッション鍵リストを格納するように動作可能であるメモリと、
メモリに結合され、発信エンド・ユニットに関連するセッション鍵リストの組のうちの所与の１つのセッション鍵リストから、セッション鍵をエンド・ユニット・ツー・エンド・ユニット・セッション鍵として選択するように動作可能であり、選択されるエンド・ユニット・ツー・エンド・ユニット・セッション鍵が、発信エンド・ユニットと少なくとも１つの他のエンド・ユニットとの間の通信交換機を介したセキュア通信を提供する際に利用可能であるプロセッサとを備える装置。
【請求項１４】
セッション鍵リストの組のうちの前記所与の１つが、少なくとも第１セッション鍵要素と、複数のスタック・ベースのセッション鍵リストとを有するデータ構造の形式で格納され、各スタック・ベースのセッション鍵リストが、発信エンド・ユニットに結合された特定の端末に関連する複数のセッション鍵を有する請求項１３に記載の装置。
【請求項１５】
第１セッション鍵要素が、発信終点と通信交換機との間のセキュア通信を提供する際に利用可能である請求項１４に記載の装置。
【請求項１６】
選択されるセッション鍵が、発信エンド・ユニットを介してセキュア通信を開始した特定の端末に対応する、複数のスタック・ベースのセッション鍵リストのうちの指定される１つから選択される請求項１４に記載の装置。
【請求項１７】
前記特定の端末によって開始されたセキュア通信の完了時に、対応する発信エンド・ユニットが、その端末についてのスタック・ベースのセッション鍵リストに加えられ、格納するために通信交換機に供給される少なくとも１つの追加のセッション鍵を生成し、前記追加のセッション鍵が、発信エンド・ユニットと少なくとも１つの他のエンド・ユニットとの間の後続のセキュア通信を提供する際に利用される請求項１６に記載の装置。
【請求項１８】
エンド・ユニットのうちの所与の１つについてのセッション鍵リストの組が、そのエンド・ユニットによって、エンド・ユニットと通信交換機との間で実施される認証プロトコルの一部として暗号化形式で通信交換機に供給される請求項１３に記載の装置。
【請求項１９】
セッション鍵リストの組の第１セッション鍵要素が、認証プロトコルの完了後に、エンド・ユニットのうちの前記所与の１つと通信交換機との間のセキュア通信を提供するために利用可能である請求項１３に記載の装置。
【請求項２０】
発信エンド・ユニットに結合された特定の端末に関連するセッション鍵リストのうちの特定の１つが、前記特定の端末で開始されるコールについてのセキュア通信を提供する際に選択される請求項１３に記載の装置。
【請求項２１】
別のエンド・ユニットに結合された少なくとも１つの追加の端末が、選択したセッション鍵を利用して、前記特定の端末で開始されるコールに参加する請求項２０に記載の装置。
【請求項２２】
追加の端末が、前記特定の端末で開始されるコールの、対応する宛先端末を備える請求項２１に記載の装置。
【請求項２３】
追加の端末が、コールの宛先端末以外の追加の端末を備え、前記追加の端末が、宛先端末にコールを接続した後に、前記特定の端末で開始されるコールに参加する請求項２１に記載の装置。
【請求項２４】
新しいセッション鍵が、コールに参加する追加の端末がその後でコールからドロップされた後、特定の端末に関連するセッション鍵リストから選択される請求項２３に記載の装置。
【請求項２５】
コール処理システムの通信交換機を介してシステムの２つ以上のエンド・ユニット間のセキュア通信を提供するためにシステムで使用する１つまたは複数のプログラムを格納する機械可読記憶媒体を備える製品であって、１つまたは複数のプログラムが、実行されるときに、
各エンド・ユニットについての１組のセッション鍵リストを含む複数の組のセッション鍵リストを、通信交換機に関連するメモリ内に格納するステップと、
発信エンド・ユニットに関連するセッション鍵リストの組のうちの所与の１つのセッション鍵リストから、エンド・ユニット・ツー・エンド・ユニット・セッション鍵としてセッション鍵を選択し、選択したエンド・ユニット・ツー・エンド・ユニット・セッション鍵が、発信エンド・ユニットと少なくとも１つの他のエンド・ユニットとの間の通信交換機を介したセキュア通信を提供する際に利用されるステップとを実施する製品。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にコール処理システムに関し、より詳細には、コール・コンプレックスまたは他の交換機により、コールまたは他の通信が、電話、コール集線装置、メディア・ゲートウェイ、または他のタイプのエンド・ユニット装置に向けて送られ、あるいはこれらの装置から送られるシステムに関する。
【０００２】
【従来の技術】
構内交換機（ＰＢＸ）や他の構内ベースの電話交換機など、多くの従来の通信システム・コール・コンプレックスは、インターネット・プロトコル（ＩＰ）通信に対する十分なセキュリティを提供するように構成されていない。したがって、ある従来のコール・コンプレックスによって処理されるＩＰ通信のセキュリティは、ＩＰスプーフィング、サービス妨害などを含む様々な異なるタイプのアタックによって攻撃される可能性がある。これらのセキュリティ問題は、従来のコール・コンプレックスを使用するボイス・オーバＩＰ（ＶｏＩＰ）通信が発展すると共にますます重要になっている。
【０００３】
上記で指摘したセキュリティ問題は、国際電気通信連合（ＩＴＵ）のドラフトＩＴＵ−Ｔ勧告Ｈ．２３５「Ｓｅｃｕｒｉｔｙ　ａｎｄ　Ｅｎｃｒｙｐｔｉｏｎｆｏｒ　Ｈ　Ｓｅｒｉｅｓ（Ｈ．３２３　ａｎｄ　ｏｔｈｅｒ　Ｈ．２４５　ｂａｓｅｄ）Ｍｕｌｔｉｍｅｄｉａ　Ｔｅｒｍｉｎａｌｓ」、１９９８年１月によって限定された範囲で対処されており、これを参照により本明細書に組み込む。残念ながら、このＩＴＵ−Ｔ勧告はいくつかの欠点を有する。例えばこのＩＴＵ−Ｔ勧告は、鍵の管理および配布、鍵のセットアップおよび初期化、ならびに参加者を所与のコールに加え、所与のコールからドロップすることなどの機能に対して、十分なプロトコルおよび他の技法を提供することができない。
【０００４】
インターネットを介するデータ伝送の状況において、広範なセキュリティ解決策が周知であるが、そのような解決策は、しばしば電話ベースのコール処理システムの状況に直接適用することができない。例えば、これらの既存のデータ伝送の解決策は、しばしばピアツーピア・ネットワークの形態に配置される装置と共に動作するように構成され、したがって、複数のパーティを所与のセキュア・チャネルに参加させ、またはセキュア・チャネルを別のエンド・ユニット装置またはアプリケーションに移送するための技法が提供されない。
【０００５】
十分なセキュリティがない場合、ＩＰ通信を扱うように構成された従来のコール処理システムは、引き続き上記で指摘したタイプのアタックを受けやすいことになる。
【０００６】
【発明が解決しようとする課題】
したがって、コール処理システムのコール・コンプレックスおよびエンド・ユニットで、ＩＰ通信ならびに他の通信の処理に関連するセキュリティを向上するための技法が求められている。
【０００７】
【課題を解決するための手段】
本発明は、コール・コンプレックスまたは他の通信システム交換機を介してコール処理システムの２つ以上のエンド・ユニット間のセキュア通信を実装するための技法を提供することによって、上記で明らかとなった必要性に対処する。
【０００８】
本発明の一態様によれば、エンド・ユニットはそれぞれ、エンド・ユニットに結合された各端末についてのスタック・ベースのセッション鍵リストを含む、１組のセッション鍵リストを生成する。この複数組のセッション鍵リストは、エンド・ユニットとコール・コンプレックスとの間で実施される、対応する認証プロトコルの一部として、安全にエンド・ユニットからコール・コンプレックスに通信される。より具体的には、エンド・ユニットのうちの所与の１つについてのセッション鍵リストの組は、そのエンド・ユニットにより、エンド・ユニットとコール・コンプレックスとの間で実施される認証プロトコルの一部として、暗号化形式でコール・コンプレックスに供給することができる。
【０００９】
セッション鍵リストの組のうちの所与の１つは、少なくとも第１セッション鍵要素と、複数のスタック・ベースのセッション鍵リストとを含むデータ構造の形式で、コール・コンプレックスのメモリ内に格納することができる。スタック・ベースのセッション鍵リストは、発信エンド・ユニットに結合された特定の端末に関連する複数のセッション鍵を含む。第１セッション鍵要素は、発信エンド・ポイントとコール・コンプレックスとの間のセキュア通信を実現する際に利用できることが好ましい。
【００１０】
コール・コンプレックスを介して発信エンド・ユニットと１つまたは複数の追加のエンド・ユニットとの間のセキュア通信を確立する際、コール・コンプレックスは、発信エンド・ユニットに関連するセッション鍵リストの組のうちの所与の１つのセッション鍵リストからのセッション鍵をエンド・ユニット・ツー・エンド・ユニット・セッション鍵として選択する。選択したエンド・ユニット・ツー・エンド・ユニット・セッション鍵は、発信エンド・ユニットと、少なくとも１つの他のエンド・ユニットとの間のコール・コンプレックスを介するセキュア通信を提供するために使用される。
【００１１】
本発明の別の態様によれば、発信エンド・ユニットと指定の宛先エンド・ユニットとの間で確立されたセキュア通信チャネルに後で参加する任意の追加のエンド・ユニットに対して、同じエンド・ユニット・ツー・エンド・ユニット・セッション鍵を使用することが好ましい。例えば、発信エンド・ユニットに関連する特定の端末で開始するコールに参加している追加の端末と通信するために、宛先エンド・ユニットに関連する宛先端末へのコールの接続に続いて、同じエンド・ユニット・ツー・エンド・ユニット・セッション鍵を使用することができる。次いで、コールに参加する追加の端末がその後にコールからドロップされた後、特定の端末に関連するセッション鍵リストから新しいエンド・ツー・エンド・セッション鍵を選択することができる。
【００１２】
本発明の別の態様によれば、セキュア通信チャネルの終了時に、セッション鍵リストについての所望の最小スタック・サイズを維持するように、影響を受ける端末に対して１つまたは複数の新しいセッション鍵を生成することができる。例えば、特定の端末によって開始されたセキュア通信の完了時に、対応する発信エンド・ユニットは、その特定の端末についてのスタック・ベースのセッション鍵リストに加えられ、かつ格納するために安全にコール・コンプレックスに供給される、少なくとも１つの追加のセッション鍵を生成することができる。この追加のセッション鍵を使用して、発信エンド・ユニットと少なくとも１つの他のエンド・ユニットとの間のコール・コンプレックスを介する後続のセキュア通信を提供することができる。
【００１３】
本発明のセキュア通信技法は、ＩＰスプーフィング、サービス妨害、および他のアタックから、コール・コンプレックス、エンド・ユニット、およびコール処理システムの他の要素を保護するので有利である。したがって本発明により、このようなコール処理システム内でセキュアかつ効率的にＩＰ通信を実装することが可能となる。
【００１４】
【発明の実施の形態】
以下で、例示的コール処理システムに関連して本発明を例示する。本発明は、構内交換機（ＰＢＸ）を有するシステム、または他のコール・コンプレックスと共に使用するのに適しているが、本発明は、特定のタイプの通信システムまたはシステム要素の構成と共に使用することに限定されない。コール・コンプレックスまたは他のタイプの通信システム交換機によって処理されるインターネット・プロトコル（ＩＰ）通信または他の類似のタイプの通信に関するセキュリティの向上を実現することが望ましいどんな通信応用例でも、開示の技法を使用できることを当業者は理解されよう。
【００１５】
したがって、本明細書で使用する用語「コール」は、従来の電話呼出しだけでなく、ボイス・オーバＩＰ、データ伝送、ファクシミリなどの他の通信も含むものとする。
【００１６】
本明細書で使用する用語「交換機」は、ＰＢＸ、企業交換機、または他のタイプの遠隔通信システム交換機装置を含み、かつサーバ、コンピュータ、付加機能などの他のタイプのプロセッサ・ベースの通信制御装置を含むことを理解されたい。コール・コンプレックスは、交換機の１タイプの例である。
【００１７】
図１に、本発明が実装される例示的通信システム１００を示す。システム１００は、コール・コンプレックス１０２を含み、コール・コンプレックス１０２は、ネットワーク１０４と、いくつかのエンド・ユニット１１０−１，１１０−２，．．．１１０−Ｎとに結合される。エンド・ユニット１１０は、それに関連するいくつかの端末１１２を有する。より具体的には、各エンド・ユニット１１０−ｉ，ｉ＝１，２，．．．Ｎにはエクステンションｉ０１，エクステンションｉ０２，．．．エクステンションｉＸＸで示される一組の端末が関連する。これらのエクステンションは、一般に、コール・コンプレックス１０２によって処理される端末エンドポイントに対応し、例えばコール・コンプレックス１０２は、従来の方式で着信コールをこれらのエクステンションに向けて送り、かつこれらのエクステンションから発信コールを受信することができる。
【００１８】
例示的実施形態でのコール・コンプレックス１０２は、普通なら、例えば米国ニュージャージー州Ｂａｓｋｉｎｇ　ＲｉｄｇｅのＡｖａｙａ　Ｉｎｃ．から入手可能な従来型のＤＥＦＩＮＩＴＹ（登録商標）Ｅｎｔｅｒｐｒｉｓｅ　Ｃｏｍｍｕｎｉｃａｔｉｏｎ　Ｓｅｒｖｉｃｅ（ＥＣＳ）通信システム交換機で実装することができる。このタイプの交換機に関する補足的な詳細は、例えばＤＥＦＩＮＩＴＹ（登録商標）ＥＣＳ、Ｒｅｌｅａｓｅ　９、Ａｄｍｉｎｉｓｔｒａｔｉｏｎ　ｆｏｒ　Ｎｅｔｗｏｒｋ　Ｃｏｎｎｅｃｔｉｖｉｔｙ、Ｉｓｓｕｅ　２、Ｄｏｃｕｍｅｎｔ　Ｎｏ．５５５−２３３−５０４、Ｎｏｖｅｍｂｅｒ　２０００から得られ、これを参照により本明細書に組み込む。他のタイプの周知の交換機も本発明の技法に従って動作するように構成することができる。このような交換機の従来の特徴は当技術分野で周知であるので、本明細書では詳細に説明しない。
【００１９】
エンド・ユニット１１０は、メディア・ゲートウェイ、リモート集線装置、コール・センタ・アプリケーション、対話式音声応答（ＩＶＲ）ユニット、あるいはこれらおよび他の装置の一部または組合せとして実装することができる。
【００２０】
図１の例示的実施形態でのエンド・ユニット１１０を、それに関連する複数の端末を有するものとして図示しているが、これは例示的なものであって、限定的なものではない。他の実施形態では、１つまたは複数のエンド・ユニット自体を、コール・コンプレックスに結合された単一エンドポイント端末とすることができる。例えば、エンド・ユニットのうちの所与の１つ自体を、ＩＰ電話端末または他のタイプの有線または無線端末とすることができる。
【００２１】
端末１１２は、有線デスクトップ電話端末、またはコール・コンプレックス１０２と通信することができる他の任意のタイプの端末とすることができる。したがって本明細書で用いる語「端末」は、有線または無線のデスクトップ電話端末だけではなく、限定はしないが、携帯電話、パーソナル・コンピュータ、携帯情報端末（ＰＤＡ）などを含む、他のタイプのプロセッサ・ベースの通信装置も含むことを理解されたい。
【００２２】
コール・コンプレックス１０２は、１つまたは複数の中継線あるいは他の適切な通信媒体を介してネットワーク１０４に結合することができる。ネットワーク１０４は、例えば、公衆交換電話網（ＰＳＴＮ）と、インターネット、ワイド・エリア・ネットワーク、大都市圏ネットワーク、ローカル・エリア・ネットワーク、無線セルラ・ネットワーク、またはサテライト・ネットワークなどのグローバル通信ネットワークと、これらまたは他の通信ネットワークの一部または組合せとを表すことができる。
【００２３】
本発明が、コール・コンプレックス１０２、ネットワーク１０４、エンド・ユニット１１０、および端末１１２間でどんな特定のタイプの情報移送媒体も必要としないこと、すなわち本発明が、所望のタイプの移送媒体、ならびに異なるタイプの移送媒体の組合せを用いて実装できることに留意されたい。
【００２４】
以下により詳細に説明するように、本発明の一態様は、コール・コンプレックス１０２とエンド・ユニット１１０間でのセキュア通信を保証するようにコール・コンプレックス１０２およびエンド・ユニット１１０を構成することに関係する。本発明は、コール・コンプレックス１０２とエンド・ユニット１１０との間のセキュアＩＰ通信を実現する際の使用に特に適しているが、他のタイプの通信にも使用することができる。
【００２５】
図１に示すコール・コンプレックス、エンド・ユニット、および端末の構成は単に例示的なものであって、何らかの特定の要素の配置に本発明を限定するものとして解釈すべきでないことを強調しておく。
【００２６】
図２に、図１のシステム内のコール・コンプレックス１０２の１つの可能な実装のより詳細な図を示す。この実装でのコール・コンプレックス１０２は、プロセッサ２００、メモリ２０２、データベース２０４、１つまたは複数のインターフェース２０６、スイッチ・ファブリック２０８、および１組のサービス回路２１０を含む。プロセッサ２００は、中央演算処理装置（ＣＰＵ）、マイクロプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、または他のタイプのデジタル・データ・プロセッサ、ならびにこのような要素の様々な部分または組合せとして実装することができる。メモリ２０２は、ランダム・アクセス・メモリ（ＲＡＭ）、読取り専用メモリ（ＲＯＭ）、またはこれらおよび他のタイプの電子メモリ装置の一部または組合せとすることができる。
【００２７】
メモリ２０２と共に動作するプロセッサ２００は、セキュア通信およびコール・コンプレックス１０２内の他の機能を実現するための１つまたは複数のソフトウェア・プログラムを実行する。本発明のセキュア通信技法を、図３〜６に関連して以下でより詳細に説明する。このようなプログラムは、メモリ２０２またはコール・コンプレックス１０２からアクセス可能な他の記憶装置内に格納し、従来のようにプロセッサ２００で実行することができる。
【００２８】
データベース２０４は、例えば光ディスクまたは磁気ディスク・ベースの記憶装置とすることができ、またはコール・コンプレックス１０２に関連し、あるいはコール・コンプレックス１０２からアクセス可能な他の従来の記憶装置とすることができる。データベース２０４を使用して、例えば機能管理情報、システム構成情報などを格納することができる。
【００２９】
サービス回路２１０は、トーン・ジェネレータ、告知回路などを含むことができる。これらの回路およびインターフェース２０６は、コール・コンプレックス１０２内にコール処理機能を実装する際にプロセッサ２００によって制御される。
【００３０】
コール・コンプレックス１０２は、図を簡単にし、見やすくする目的で図２から省略された追加の要素を含むことができる。例えば、コール・コンプレックスは、それに関連したエンド・ユニットまたは各タイプの端末についてのポート・カードを含むことができる。加えて、異なるタイプの複数のエンド・ユニットおよび端末、例えば有線デスクセット端末、無線デスクセット端末、パーソナル・コンピュータ、ビデオ電話、または他の高性能端末などをサポートするようにコール・コンプレックス１０２を構成できることを当業者は理解されよう。
【００３１】
システム管理中、例えばシステムの初期セットアップおよび構成中、あるいは後続のシステム・レベルまたはユーザ・レベルの再構成中に、コール・コンプレックス１０２のオペレーションをプログラムするために使用する管理者端末（図示せず）も、コール・コンプレックス１０２に関連付けることができる。
【００３２】
付加機能サーバなどのここに図示していない他の装置を、コール・コンプレックス１０２に関連付けることができる。このような付加機能を物理的にコール・コンプレックス内に組み込むことができ、プロセッサ２００およびメモリ２０２などの他のコール・コンプレックス要素を用いて部分的または完全に実装することができる。
【００３３】
システム１００のエンド・ユニットおよび端末はそれぞれ、図２に示すのと同様に構成することができ、例えばプロセッサ、関連するメモリ、および前述のような１つまたは複数のインターフェースを含むことができる。
【００３４】
図３に、コール・コンプレックス１０２とエンド・ユニット１１０のうちの所与の１つとの間のセキュア通信を実現する際に、本発明の例示的実施形態で使用されるセッション鍵リスト・データ構造３００を示す。この例の場合、所与のエンド・ユニットがそれに関連するエクステンション１０１，エクステンション１０２，．．．エクステンション１ＸＸを有するエンド・ユニット１１０−１であると仮定するが、他の各エンド・ユニット１１０について類似の構造が構成されることが好ましいことを理解されたい。
【００３５】
エンド・ユニット１１０−１についてのセッション鍵リスト・データ構造３００は、それぞれが１つまたは複数のセッション鍵要素を含む１組のセッション鍵リスト３１０を含む。より具体的には、この例示的実施形態では、この１組のセッション鍵リストは、ＳＫＬＳＴ［０］，ＳＫＬＳＴ［１０１］，ＳＫＬＳＴ［１０２］，．．．ＳＫＬＳＴ［１ＸＸ］と示すセッション鍵リストを含む。セッション鍵リストＳＫＬＳＴ［０］は、図示するように単一の要素だけを含み、それぞれの端末のエクステンション１０１，エクステンション１０２，．．．エクステンション１ＸＸに対応する他のセッション鍵リストＳＫＬＳＴ［１０１］，ＳＫＬＳＴ［１０２］，．．．ＳＫＬＳＴ［１ＸＸ］は、それぞれＭ個のセッション鍵３１２−１，３１２−２，．．．３１２−ＸＸを含む。本明細書ではテーブル３１２をセッション鍵「スタック」とも呼ぶ。例示的実施形態でのＭの適切な値は１０であるが、他の値も使用することができる。セッション鍵スタックは、当業者は理解するであろうが、プッシュ・オペレーションまたはポップ・オペレーションなどの従来のスタック処理オペレーションを使用して処理することができる。
【００３６】
図３の各テーブル３１２は同じ数のセッション鍵を含んでいるが、これは例示的なものであって限定的なものではない。他の実施形態では、異なるセッション鍵テーブルは異なる数の要素を有することができる。さらに、第１セッション鍵リストＳＫＬＳＴ［０］は、複数のセッション鍵要素を含むことができ、例えば図３の他のセッション鍵リストのようにＭ個のセッション鍵要素のテーブルすなわちスタックを含むことができる。
【００３７】
次に、コール・コンプレックス１０２と１つまたは複数のエンド・ユニットとの間でのセキュア通信を実現する際に図３のセッション鍵リスト・データ構造３００を使用する方式を、図４、５、および６を参照しながら説明する。
【００３８】
本発明によれば、コール・コンプレックス１０２と、それに関連する各エンド・ユニット１１０は、それに関連する公開鍵暗号鍵ペアを有する。コール・コンプレックス鍵ペアは、マスタ鍵ペアとして見ることができ、このマスタ鍵ペアと各エンド・ユニット鍵ペアは、非対称鍵ペアであることが好ましい。従来の公開鍵暗号鍵ペアに関する付加的な詳細は、例えばＡ．Ｊ．Ｍｅｎｅｚｅｓらの「Ｈａｎｄｂｏｏｋ　ｏｆ　Ａｐｐｌｉｅｄ　Ｃｒｙｐｔｏｇｒａｐｈｙ」、ＣＲＣ
Ｐｒｅｓｓ、１９９７から得られ、これを参照により本明細書に組み込む。
【００３９】
コール・コンプレックス１０２とエンド・ユニット１１０についての上述の鍵ペアは、システム１００のインストール段階中にインストーラによって生成することができる。鍵ペアのすべての公開鍵要素は、コール・コンプレックス１０２内に格納され、エンド・ユニット鍵ペアは、そのそれぞれのエンド・ユニット内に格納される。
【００４０】
図４に、本発明の例示的実施形態での、コール・コンプレックス１０２とエンド・ユニット１１０のうちの所与の１つとの間で実施される初期化プロセスを示す。この初期化は、例えばシステム起動時または全システム再構成後に、コール・コンプレックスと、各エンド・ユニットとの間で実施することができ、あるいはコール・コンプレックスと特定のエンド・ユニット、例えば既に構成済みのシステムに加えられたエンド・ユニットとの間で実施することができる。したがってコール・コンプレックスは、図４で示したのと同様に各エンド・ユニットを認証することが好ましい。
【００４１】
図４のステップ４００では、所与のエンド・ユニット１１０が、その関連する端末についてのセッション鍵リストを生成する。セッション鍵リストは、図３に関連して先に説明したデータ構造３００の形であることが好ましく、すなわちエンド・ユニット１１０−１についてのセッション鍵リスト３１０の組は、ＳＫＬＳＴ［０］，ＳＫＬＳＴ［１０１］，ＳＫＬＳＴ［１０２］，．．．ＳＫＬＳＴ［１ＸＸ］を含むことになる。先に指摘したように、セッション鍵リストＳＫＬＳＴ［０］は単一の要素だけを含み、他の各セッション鍵リストはＭ個のセッション鍵のテーブルを含む。このセッション鍵は、周知の技法を用いてエンド・ユニット非対称鍵ペアから生成することができる。
【００４２】
セッション鍵リストを生成した後、ステップ４０２では、エンド・ユニットはコール・コンプレックスに対して認証要求を送信し、ステップ４０４では、コール・コンプレックスは、以前にこのエンド・ユニットについての鍵を格納したかどうかを判定することによってこの要求の妥当性検査を試みる。ステップ４０６で示すように、エンド・ユニットは、それに応答してその関連する非対称鍵構造を用いてそのセッション鍵リストをコール・コンプレックスに送信する。コール・コンプレックスがこのエンド・ユニットについての格納済みの鍵を見つけることができなかった場合、エンド・ユニットからのすべての着信メッセージが直ちにドロップされることになる。ステップ４０８は、エンド・ユニットがコール・コンプレックスとの次の通信のためにセッション鍵リストからの要素ＳＫＬＳＴ［０］を使用することを示す。
【００４３】
図５に、図４のプロセスの認証部分のより詳細な例を示す。この認証プロトコルにより、エンド・ユニットの正当性をコール・コンプレックスが確認することが可能となり、逆も同様である。図４のプロセスの対応するステップへの参照が、以下の図５の認証プロトコルの説明に含まれている。
【００４４】
この実施形態での認証プロトコルは、エンド・ユニット、すなわち図１のエンド・ユニット１１０のうちの１つによって開始される。エンド・ユニットは、エンド・ユニット・セッション鍵を乱数として生成し、次いでエンド・ユニット秘密鍵を使用してエンド・ユニット・セッション鍵を暗号化し、それによって要素ＥＳＫｅを生成する。エンド・ユニットは、コール・コンプレックス公開鍵を使用してエンド・ユニット識別コードも暗号化し、それによって要素ＥＥＵＩＤｅを生成する。次いでエンド・ユニットは、図４のステップ４０２に関連して先に指摘したのと同様に、コール・コンプレックスに認証要求を送信する。この認証要求は、要素ＥＥＵＩＤｅおよびＥＳＫｅを含む。
【００４５】
次いでコール・コンプレックスは、図４のステップ４０４に関連して先に指摘したのと同様に、要求を識別、すなわち妥当性検査する。この要求が有効でない場合、この要求はドロップされる。コール・コンプレックスは、コール・コンプレックス秘密鍵を使用してＥＥＵＩＤｅを暗号化解除し、エンド・ユニット識別コードをまず決定することによって要求を妥当性検査する。決定したエンド・ユニット識別コードが存在する場合、すなわちエンド・ユニット識別コードが、コール・コンプレックスとの通信に関して認証された正当なエンド・ユニットのエンド・ユニット識別コードに対応する場合、コール・コンプレックスはメモリからエンド・ユニット公開鍵を取り出す。次いでコール・コンプレックスは、エンド・ユニット公開鍵を使用してＥＳＫｅを暗号化解除することによってエンド・ユニット・セッション鍵を決定する。
【００４６】
次いで、決定したエンド・ユニット・セッション鍵を使用して肯定応答ＡＣＫを暗号化することによって暗号化肯定応答ＡＣＫｅを生成する。次いでコール・コンプレックスは、エンド・ユニットのＩＰアドレスおよびエンド・ユニット識別コードを使用してセッション情報を作成することになる。次いでコール・コンプレックスは、暗号化登録肯定応答ＡＣＫｅをエンド・ユニットに返送する。
【００４７】
これに応答してエンド・ユニットは、エンド・ユニット・セッション鍵を使用して先に生成したセッション鍵リストＳＫＬＳＴを暗号化することによって暗号化セッション鍵リストＳＫＬＳＴｅを生成する。セッション鍵リストＳＫＬＳＴは、図４のステップ４００に関連して先に指摘したのと同様に生成される。例えばエンド・ユニット１１０−１についてのセッション鍵リストＳＫＬＳＴは、上記の図３に関連して説明した要素ＳＫＬＳＴ［０］，ＳＫＬＳＴ［１０１］，ＳＫＬＳＴ［１０２］．．．ＳＫＬＳＴ［１ＸＸ］を含むことができる。次いで図４のステップ４０６に関連して先に指摘したのと同様に、暗号化セッション鍵リストＳＫＬＳＴがコール・コンプレックスに送信される。
【００４８】
コール・コンプレックスは、暗号化セッション鍵リストＳＫＬＳＴｅをエンド・ユニットから受信した際、エンド・ユニット・セッション鍵を使用してＳＫＬＳＴｅを暗号化解除し、エンド・ユニット・セッション鍵をセッション鍵リスト内の第１要素、すなわちＳＫＬＳＴ［０］にリセットする。次いでコール・コンプレックスは、新しいエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して肯定応答ＡＣＫを暗号化することによって暗号化肯定応答ＡＣＫｅを生成する。次いでコール・コンプレックスは、暗号化登録肯定応答ＡＣＫｅをエンド・ユニットに返送する。
【００４９】
エンド・ユニットは、セッション鍵リスト中の第１要素、すなわちＳＫＬＳＴ［０］にエンド・ユニット・セッション鍵をセットする。セッション鍵ＳＫＬＳＴ［０］は、図４のステップ４０８に関連して先に指摘したのと同様に、指定のセッション中にコール・コンプレックスと任意の別の通信をするためにこのセッション鍵を利用する。
【００５０】
上記の例から明らかな通り、認証時に各エンド・ユニットは、コール・コンプレックスとさらに通信するために、そのセッション鍵リストＳＫＬＳＴ中の要素ＳＫＬＳＴ［０］を利用する。以下の図６Ａ〜６Ｄに関連して図示するように、コール・コンプレックスは、２つ以上のエンド・ユニット間のセッション鍵ネゴシエーション段階中に、そのエンド・ユニット間のセキュア・チャネル機能も提供する。２つ以上のエンド・ユニット間でセッション鍵が確立された後、それらのエンド・ユニットは、その間で通信するために、確立されたセッション鍵を使用する。先に指摘した通り、所与のエンド・ユニットとコール・コンプレックスとの間のどんな通信も、エンド・ユニットについてのセッション鍵リストの第１要素ＳＫＬＳＴ［０］を使用して実施される。所与のエンド・ユニットと別のエンド・ユニットとの間のセッションの終了時に、使用したセッション鍵を破棄し、その所与のエンド・ユニットについてのセッション鍵リストの適切なスタック・ベースの要素中のセッション鍵を、次のセッションのために使用することになる。この所与のエンド・ユニットは、このようなリストが要求されたときにはいつでも、図４および５に関連して先に説明したのと同様にコール・コンプレックスとさらに対話することによって新しいセッション鍵リストを作成することを担当する。新しいセッション鍵リストがこの所与のエンド・ユニットによって作成され、エンド・ユニットが再びコール・コンプレックスによって再び認証されたとき、この新しいＳＫＬＳＴ［０］要素がこれらの間でさらに通信するために使用される。したがって、どんなエンド・ユニットもそのセッション鍵リストを再作成するために図４の初期化プロセスを再び開始することができる。
【００５１】
所与のエンド・ユニットに対するどんな着信メッセージも、上述のように決定された適切なセッション鍵を使用して暗号化されることに留意されたい。このような着信メッセージをエンド・ユニットで適切に暗号化解除することができない場合、その着信メッセージは直ちにドロップされることになる。
【００５２】
図６Ａ〜６Ｈに、図１のシステムのエンド・ユニット１１０−１によって開始されるコール・プロセスのオペレーションを示す。このエンド・ユニット１１０−１をエンド・ユニット１とも呼ぶ。より具体的には、図６Ａは、エンド・ユニット１の端末（エクステンション１０５）と、別のエンド・ユニット、すなわち図１のエンド・ユニット１１０−２の端末（エクステンション２０１）との間のセキュア通信の確立を示す。このエンド・ユニット１１０−２をエンド・ユニット２とも呼ぶ。図６Ｃは、さらに別のエンド・ユニット、すなわち図１のエンド・ユニット１１０−３の端末（エクステンション３１１）がエンド・ユニット１と２の端末間で進行中のセキュア通信に参加する方式を示す。エンド・ユニット１１０−３をエンド・ユニット３とも呼ぶ。図６Ｅは、エンド・ユニット１が、エンド・ユニット１と２の端末間で進行中のセキュア通信からエンド・ユニット３の端末をドロップする方式を示す。図６Ｆは、エンド・ユニット１と２の端末間の進行中のセキュア通信と、このセキュア通信が終了し、エンド・ユニット１とコール・コンプレックスとの間の対話によって新しいセッション鍵が発信端末（エクステンション１０５）に対して決定される方式とを示す。これらの各図を以下でより詳細に説明する。
【００５３】
図６Ａを参照すると、エンド・ユニット１は、エクステンション１０５に対応するエンド・ユニット１の端末のうちの１つから、エンド・ユニット２に関連するエクステンション２０１に対応する別の端末へのコール要求を開始する。コール・コンプレックスはまず、着信コール要求を行うエンド・ユニット（エンド・ユニット１）のＩＰアドレスを以前にコール・コンプレックスに登録したかどうかを、例えば図４の初期化プロセスを使用して判定する。登録していない場合、要求はドロップされる。登録している場合、コール・コンプレックスは、コール要求を行うエンド・ユニット（エンド・ユニット１）のＩＰアドレスを使用して、適切なエンド・ユニット・セッション鍵を決定する。次いでコール・コンプレックスは、決定したエンド・ユニット・セッション鍵を使用して着信バッファを暗号化解除することによってコール要求データを得る。
【００５４】
この実施形態では、用語「着信バッファ」は、暗号化解除した情報を格納するための、コール・コンプレックス・メモリに関連するバッファを指す。これは、用語「プレーンテキスト・バッファ」とは対照的な用語である。用語「プレーンテキスト・バッファ」は、対応するプレーンテキスト情報、すなわち着信バッファ内の暗号化情報を暗号化解除することにより得られる非暗号化情報を格納するための、やはりコール・コンプレックス・メモリに関連するバッファを指す。しかし、本発明はどんな特定のバッファ構成も必要としないことを理解されたい。
【００５５】
得られるコール要求データは、上記で指摘したプレーンテキスト・バッファ内にその非暗号化形式で存在する。コール・コンプレックスは、プレーンテキスト・バッファを調べ、コール要求データがエンド・ユニット１についての適切なエンド・ユニット登録名、例えば図５の認証プロトコルで参照したエンド・ユニット識別を含むかどうかを判定する。含まない場合、コール要求はドロップされる。含む場合、コール・プロセスは、コール・コンプレックスがセッション鍵リストＳＫＬＳＴ［１０５］のスタック３１２−５のトップ・キーとしてエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを決定するステップに進む。次いでコール・コンプレックスは、エクステンション２０１についての適切なセッション鍵としてメッセージ鍵を決定し、例えばエクステンション２０１についてのエンド・ユニット２によって確立されるセッション鍵リストＳＫＬＳＴ［２０１］に関連するスタックのトップ・キーとしてセッション鍵を決定する。
【００５６】
次いでコール・コンプレックスは、図６Ａに示すように、エンド・ユニット２に対して着信コール要求を暗号化形式で送信する。エンド・ユニット２に送信される要求は、上記で指摘したメッセージ鍵を使用して暗号化され、好ましくは発信元エンド・ユニットＩＰアドレスおよびリアル・タイム・プロトコル（ＲＴＰ）ポート情報（ｏＩＰと総称する）、宛先端末（エクステンション２０１）および発信端末（エクステンション１０５）についての識別コード、ならびにエンド・ユニット・セッション鍵ＥＵＥＵＳＫに対するエンド・ユニットを含む。
【００５７】
ＲＴＰに関する付加的な情報は、例えばｈｔｔｐ：／／ｗｗｗ．ｉｅｔｆ．ｏｒｇ／ｉｎｔｅｒｎｅｔ−ｄｒａｆｔｓ／ｄｒａｆｔ−ｉｅｔｆ−ａｖｔ−ｒｐｔ−ｎｅｗ−０３．ｔｘｔで得ることができる。回路交換ストリームまたは他のタイプの非ＲＴＰストリームは、例えば従来の回路パケット・ゲートウェイを一般に使用してＲＴＰストリームにまず変換することによって間接的に制御できることに留意されたい。これは単に例であって、本発明は他のプロトコル、ならびに他の交換機および装置の配置を使用して実装できることを強調しておく。
【００５８】
エンド・ユニット２は、コール・コンプレックスから着信コール要求を受信したとき、着信要求のＩＰアドレスがコール・コンプレックスのＩＰアドレスであることをまずチェックする。コール・コンプレックスのＩＰアドレスではない場合、この要求はドロップされる。コール・コンプレックスのＩＰアドレスである場合、プロセスは、先に説明した方式でエンド・ユニット２とコール・コンプレックスとの間で確立されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して着信コール要求情報を含む着信バッファをエンド・ユニット２が暗号化解除するステップに進む。暗号化解除コール要求情報を含むプレーンテキスト・バッファがエンド・ユニット２の登録名、例えば上記で指摘したエンド・ユニット２についてのエンド・ユニット識別コードを含まない場合、要求はドロップされる。そうでない場合、エンド・ユニット２は、着信コール要求についてのセッション鍵をエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫにセットし、コール受諾表示をエンド・ユニット１に送信する。コール受諾表示は、エンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して暗号化されたエンド・ユニット２のＲＴＰ情報を含むことが好ましい。
【００５９】
エンド・ユニット１は、エンド・ユニット２からコール受諾表示を受信したとき、図に示すように、暗号化ボイス・パケットを介してエンド・ユニット２と通信する。より具体的には、エンド・ユニット１は、エンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して所与のボイス・パケットを暗号化し、暗号化したパケットをエンド・ユニット２に送信することによって、プレーンテキスト・バッファからその所与のボイス・パケットを送信する。エンド・ユニット２は、暗号化したボイス・パケットをエンド・ユニット２の着信バッファで受信し、エンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用してそのボイス・パケットを暗号化解除する。同様に、エンド・ユニット２は、所与のボイス・パケットをエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して暗号化し、暗号化したパケットをエンド・ユニット１に送信することによって、エンド・ユニット２のプレーンテキスト・バッファからその所与のボイス・パケットを送信する。エンド・ユニット１は、暗号化したボイス・パケットをエンド・ユニット１の着信バッファで受信し、それをエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して暗号化解除する。このプロセスは、セキュア通信の期間続行することができる。
【００６０】
先に指摘したように、残りの図、すなわち図６Ｃ、６Ｅ、および６Ｆは、進行中のセキュア通信に別の端末（エクステンション３１１）を追加し、その後でその端末をコールからドロップし、セッション鍵リストの更新とのセキュア通信を終了して、同じ発信端末（エクステンション１０５）に関係する後続のセキュア通信に対処することを示す。
【００６１】
次に図６Ｃを参照すると、エンド・ユニット１は、参加要求をコール・コンプレックスに送信する。この参加要求は、エンド・ユニット１１０−３（エンド・ユニット３）に関連するエクステンション３１１が、エクステンション１０５によって発信された、進行中のセキュア通信に参加することに対する要求である。この参加要求は、エンド・ユニット１とコール・コンプレックスとの間の通信に関して先に認証されたエンド・ユニット１セッション鍵ＳＫＬＳＴ［０］を使用して暗号化される。コール・コンプレックスは参加要求を受信したとき、参加要求を行うエンド・ユニット（エンド・ユニット１）のＩＰアドレスをコール・コンプレックスに、例えば図４の初期化プロセスを使用して以前に登録したかどうかをまず判定する。登録していない場合、要求はドロップされる。登録している場合、コール・コンプレックスは、参加要求を行うエンド・ユニット（エンド・ユニット１）のＩＰアドレスを使用して、適切なエンド・ユニット・セッション鍵を決定する。次いでコール・コンプレックスは、決定したエンド・ユニット・セッション鍵、すなわちエンド・ユニット１とコール・コンプレックスとの間の通信に関して先に認証されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して着信バッファを暗号化解除することによって参加要求データを得る。
【００６２】
得られる参加要求データは、上記で指摘したコール・コンプレックスのプレーンテキスト・バッファ内にその非暗号化形式で存在する。コール・コンプレックスは、プレーンテキスト・バッファを検査し、参加要求データがエンド・ユニット１についての適切なエンド・ユニット登録名、例えば図５の認証プロトコルで参照したエンド・ユニット識別を含むかどうかを判定する。含まない場合、参加要求はドロップされる。含む場合、プロセスは、コール・コンプレックスがセッション鍵リストＳＫＬＳＴ［１０５］のスタック３１２−５のトップ・キーとしてエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを決定するステップに進む。次いでコール・コンプレックスは、エクステンション３１１についての適切なセッション鍵としてメッセージ鍵を決定し、例えばエクステンション３１１に関するエンド・ユニット３によって確立されたセッション鍵リストＳＫＬＳＴ［３１１］に関連するスタックのトップ・キーとしてセッション鍵を決定する。
【００６３】
次いで、図６Ｃに示すように、コール・コンプレックスは、着信参加要求を暗号化形式でエンド・ユニット３に送信する。エンド・ユニット３に送信される要求は、上記で指摘したメッセージ鍵を使用して暗号化され、好ましくは、発信元エンド・ユニットＩＰアドレスおよびＲＴＰポート情報（ｏＩＰと総称する）、宛先端末（エクステンション３１１）および発信端末（エクステンション１０５）についての識別コード、ならびにエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを含む。
【００６４】
エンド・ユニット３は、コール・コンプレックスから着信参加要求を受信したとき、着信要求のＩＰアドレスがコール・コンプレックスのＩＰアドレスであることをまずチェックする。コール・コンプレックスのＩＰアドレスでない場合、要求はドロップされる。コール・コンプレックスのＩＰアドレスである場合、プロセスは、エンド・ユニット３がエンド・ユニット３とコール・コンプレックスとの間に確立されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して着信参加要求情報を含む着信バッファを前述と同様に暗号化解除するステップに進む。暗号化解除した参加要求情報を含むプレーンテキスト・バッファがエンド・ユニット３の登録名、例えば上記で指摘したエンド・ユニット３についてのエンド・ユニット識別コードを含まない場合、要求はドロップされる。そうでない場合、エンド・ユニット３は、着信参加要求についてのセッション鍵をエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫにセットし、参加受諾表示をエンド・ユニット１に送信する。参加受諾表示は、エンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して暗号化された、エンド・ユニット３のＲＴＰ情報を含むことが好ましい。
【００６５】
エンド・ユニット１は、エンド・ユニット３から参加受諾表示を受信したとき、図に示すように、暗号化ボイス・パケットを介してエンド・ユニット３と通信する。より具体的には、エンド・ユニット１は、エンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して所与のボイス・パケットを暗号化し、暗号化したパケットをエンド・ユニット３に送信することによって、プレーンテキスト・バッファからその所与のボイス・パケットを送信する。エンド・ユニット３は、暗号化したボイス・パケットをエンド・ユニット３の着信バッファで受信し、エンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用してそのボイス・パケットを暗号化解除する。同様に、エンド・ユニット３は、所与のボイス・パケットをエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して暗号化し、暗号化したパケットをエンド・ユニット１に送信することによって、エンド・ユニット３のプレーンテキスト・バッファからその所与のボイス・パケットを送信する。エンド・ユニット１は、暗号化したボイス・パケットをエンド・ユニット１の着信バッファで受信し、それをエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫを使用して暗号化解除する。したがってエクステンション３１１は、エクステンション１０５と２０１との間の進行中のセキュア通信に参加している。
【００６６】
図６Ｅに、その後でエクステンション１０５と２０１との間の進行中のセキュア通信から、参加中のエクステンション３１１をドロップすることを示す。エンド・ユニット１は、セッションからエクステンション３１１をドロップする要求をコール・コンプレックスに送信する。この要求は、エンド・ユニット１とコール・コンプレックスとの間の通信に関して以前に認証されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して暗号化される。コール・コンプレックスはドロップ要求を受信したとき、ドロップ要求を行うエンド・ユニット（エンド・ユニット１）のＩＰアドレスをコール・コンプレックスに、例えば図４の初期化プロセスを使用して以前に登録したかどうかをまず判定する。登録していない場合、要求自体がドロップされる。登録している場合、コール・コンプレックスは、参加要求を行うエンド・ユニット（エンド・ユニット１）のＩＰアドレスを使用して、適切なエンド・ユニット・セッション鍵を決定する。次いでコール・コンプレックスは、決定したエンド・ユニット・セッション鍵、すなわちエンド・ユニット１とコール・コンプレックスとの間の通信に関して先に認証されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して着信バッファを暗号化解除することによってドロップ要求データを得る。
【００６７】
得られるドロップ要求データは、コール・コンプレックスのプレーンテキスト・バッファ内にその非暗号化形式で存在する。コール・コンプレックスは、プレーンテキスト・バッファを検査し、ドロップ要求データがエンド・ユニット１についての適切なエンド・ユニット登録名、例えば図５の認証プロトコルで参照したエンド・ユニット識別を含むかどうかを判定する。含まない場合、ドロップ要求自体がドロップされる。含む場合、プロセスは、コール・コンプレックスがセッションをドロップするようエンド・ユニット３に指示するステップに進む。このドロップ命令は、エンド・ユニット３とコール・コンプレックスとの間の通信に関して確立されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して暗号化される。次いで、図に示すように、エンド・ユニット３はクリーンアップ・プロシージャを開始する。ＣｌｅａｎＵｐ（）と示すこの例示的プロシージャは、セッション鍵のドロップ、セッション鍵情報の削除、従来の電話に関係する「ハウスキーピング」オペレーションなどのオペレーションを含み、あるいは使用することができる。
【００６８】
エクステンション１０５とエクステンション２０１との間で進行中のコールからエクステンション３１１をドロップすることは、ＳＫＬＳＴ［１０５］スタックからエクステンション１０５についての新しいセッション鍵を得ることも含む。このプロセスを図６Ｆの最初の部分に示す。
【００６９】
図６Ｆに示すように、コール・コンプレックスは、ＳＫＬＳＴ［１０５］スタックから次の鍵を取ることによって、新しいエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫ−ＮＥＷを生成する。次いでコール・コンプレックスは、新しいメッセージ鍵をエクステンション２０１についての適切なセッション鍵として決定し、例えばエクステンション２０１についてエンド・ユニット２によって確立されたセッション鍵リストＳＫＬＳＴ［２０１］に関連するスタック内の次の鍵としてセッション鍵を決定する。
【００７０】
次いで、図６Ｄに示すように、コール・コンプレックスは、新しいセッション鍵要求を暗号化形式でエンド・ユニット２に送信する。エンド・ユニット２に送信される要求は、上記で指摘したメッセージ鍵を使用して暗号化され、好ましくは、発信元エンド・ユニットＩＰアドレスおよびＲＴＰポート情報（ｏＩＰと総称する）、宛先端末（エクステンション２０１）および発信端末（エクステンション１０５）についての識別コード、ならびにエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫ−ＮＥＷを含む。
【００７１】
エンド・ユニット２は、コール・コンプレックスから着信した新しいセッション鍵要求を受信したとき、着信要求のＩＰアドレスがコール・コンプレックスのＩＰアドレスであることをまずチェックする。コール・コンプレックスのＩＰアドレスでない場合、要求はドロップされる。コール・コンプレックスのＩＰアドレスである場合、プロセスは、エンド・ユニット２とコール・コンプレックスとの間に確立されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して着信した新しいセッション鍵要求情報を含む着信バッファを前述と同様にエンド・ユニット２が暗号化解除するステップに進む。暗号化解除したコール要求情報を含むプレーンテキスト・バッファがエンド・ユニット２の登録名、例えば上記で指摘したエンド・ユニット２についてのエンド・ユニット識別コードを含まない場合、要求はドロップされる。そうでない場合、エンド・ユニット２は、着信コール要求についての新しいセッション鍵を新しいエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫ−ＮＥＷにセットし、新しいセッション鍵確認をコール・コンプレックスに送信する。この確認は、エンド・ユニット１とコール・コンプレックスとの間の通信について以前に認証されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して暗号化される。
【００７２】
次いでエンド・ユニット１は、前と同様に、引き続き暗号化したボイス・パケットを介してエンド・ユニット２と通信するが、先のエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫの代わりに、新しいエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫ−ＮＥＷを用いて通信する。
【００７３】
エクステンション１０５とエクステンション２０１との間のセキュア通信を終了すべきであるとき、エンド・ユニット１は、新しいエンド・ユニット・ツー・エンド・ユニット・セッション鍵ＥＵＥＵＳＫ−ＮＥＷを使用して暗号化されたセッション命令の終了をエンド・ユニット２に送信する。次いでエンド・ユニット２は上記で指摘したクリーンアップ手順を開始する。
【００７４】
次いでエンド・ユニット１は、エクステンション１０５についての第１の新しいセッション鍵を作成し、その第１の新しいセッション鍵と、対応するエンド・ユニット・サブ番号ＥＵＳＮとをエンド・ユニット１秘密鍵を使用して暗号化し、得られる暗号化した要素ＥＵＳＫｅを、新しいセッション鍵を供給する要求としてコール・コンプレックスに送信する。コール・コンプレックスは、新しいセッション鍵要求を受信したとき、新しいセッション鍵を送信するエンド・ユニット（エンド・ユニット１）のＩＰアドレスをコール・コンプレックスに、例えば図４の初期化プロセスを使用して以前に登録したかどうかをまず判定する。登録していない場合、要求はドロップされる。登録している場合、コール・コンプレックスは、参加要求を行うエンド・ユニット（エンド・ユニット１）のＩＰアドレスを使用して、適切なエンド・ユニット・セッション鍵を決定する。次いでコール・コンプレックスは、決定したエンド・ユニット・セッション鍵、すなわちエンド・ユニット１とコール・コンプレックスとの間の通信に関して先に認証されたエンド・ユニット・セッション鍵ＳＫＬＳＴ［０］を使用して着信バッファを暗号化解除することによって新しいセッション鍵要求データを得る。
【００７５】
得られるセッション鍵要求データは、コール・コンプレックスのプレーンテキスト・バッファ内に非暗号化形式で存在する。コール・コンプレックスは、プレーンテキスト・バッファを検査し、新しいセッション鍵要求データがエンド・ユニット１についての適切なエンド・ユニット登録名、例えば図５の認証プロトコルで参照したエンド・ユニット識別を含むかどうかを判定する。含まない場合、新しいセッション鍵要求はドロップされる。含む場合、プロセスは、コール・コンプレックスがエンド・ユニット１から受信した新しいセッション鍵をトップ・キーとして対応するスタック上に加えることによってエクステンション１０５についてのセッション鍵リストＳＫＬＳＴ［１０５］を更新するステップに進む。
【００７６】
図６Ｄに、次いで上述の新しいセッション鍵生成プロセスが、エンド・ユニット１およびコール・コンプレックスによって反復されることを示す。図には単一の反復だけを示しているが、この新しいセッション鍵生成プロセスは複数回反復することができ、例えばエクステンション１０５セッション鍵リストＳＫＬＳＴ［１０５］についてのスタック内の鍵の所望の最小数を維持するのに必要な特定の回数だけ反復することができる。
【００７７】
有利なことに、上述のセキュア通信技法は、システム１００のコール・コンプレックス１０２、エンド・ユニット１１０、および端末１１２をＩＰスプーフィング、サービス妨害、および他のアタックから保護する。したがって本発明により、このようなコール処理システム内でＩＰ通信をセキュアかつ効率的に実装することが可能となる。
【００７８】
先に指摘したように、本発明の例示的実施形態に関連して上記で説明した１つまたは複数のコール処理機能の全部または一部をコール・コンプレックス１０２内に、例えばプロセッサ２００およびメモリ２０２を使用するコール・コンプレックス１０２のコール処理ソフトウェア内に実装することができる。本発明のコール処理機能を実装するために、ハードウェアおよび／またはソフトウェアの他の適切な組合せも使用することができる。
【００７９】
以上説明した実施形態は、単に例示的なものであるということを再び強調しておく。例えば、代替実施形態では、異なる交換機、ネットワーク、エンド・ユニット、および端末の構成と、異なる暗号技法と、追加機能、ドロップ機能、参加機能、および他のコール処理機能に対する異なるプロトコルとを使用することができる。他の例として、例えば１５分ごと、１時間ごとなどの指定の期間の満了に基づいて、所与のセッション内でセッション鍵を変更することができる。頭記の特許請求の範囲内のこれらおよび多数の他の代替実施形態は当業者には明らかであろう。
【図面の簡単な説明】
【図１】本発明が実装される例示的コール処理システムを示す図である。
【図２】図１のシステムのコール・コンプレックスの例示的実装を示すブロック図である。
【図３】本発明の例示的実施形態でのセッション鍵リスト・データ構造を示す図である。
【図４】本発明の例示的実施形態における、コール・コンプレックスとエンド・ユニットとの間で実施される初期化プロセスの流れ図である。
【図５】図４のプロセスの認証部分をより詳細に示す図である。
【図６Ａ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図６Ｂ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図６Ｃ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図６Ｄ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図６Ｅ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図６Ｆ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図６Ｇ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図６Ｈ】本発明の技法を使用して、エンド・ユニットに結合された端末間のセキュア通信を確立する際の、コール・コンプレックスと複数のエンド・ユニットとの間の対話を示す図である。
【図１】
2004007397.tif 000003
【図２】
2004007397.tif 000004
【図３】
2004007397.tif 000005
【図４】
2004007397.tif 000006
【図５】
2004007397.tif 000007
【図６Ａ】
2004007397.tif 000008
【図６Ｂ】
2004007397.tif 000009
【図６Ｃ】
2004007397.tif 000010
【図６Ｄ】
2004007397.tif 000011
【図６Ｅ】
2004007397.tif 000012
【図６Ｆ】
2004007397.tif 000013
【図６Ｇ】
2004007397.tif 000014
【図６Ｈ】
2004007397.tif 000015