説明

SIPシグナリングの暗号化を検証するための方法および装置

【課題】SIPシグナリングの暗号化の検証のための方法および装置を提供する。
【解決手段】宛先クライアント名およびドメインに基づいてプロキシSIPノードを突き止めること、発呼側クライアントSIPノードとプロキシSIPノードの間でセキュア信号接続をセットアップすること、宛先クライアント名およびドメインを用いて、プロキシSIPノードから宛先クライアントIPアドレスを特定すること、前記プロキシSIPノードから被呼側クライアントSIPノードまで、追加のセキュア信号接続をセットアップし、それにより、セキュア信号接続および追加のセキュア信号接続がセキュア信号パスを形成すること、宛先クライアントSIPノードに、セキュア信号パスを介してそのIPアドレスを返すように要求すること、および返されたIPアドレスを用いて、発呼側クライアントSIPノードと宛先クライアントSIPノードの間でデータ接続をセットアップする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、SIPシグナリングの暗号化を検証するための方法および装置に関する。
【背景技術】
【0002】
SIP(session initiation protocol)は、1つまたは複数の参加者とのセッションを作成し、変更し、終了させることのできるインターネット・プロトコルである。SIPは、ポイント・ツー・ポイントまたはマルチパーティ・セッションのための音声およびビデオ・コールに使用される。それは、例えば、通常、RTP(real-timetransport protocol) over UDP(user datagram protocol)を使用するメディア・トランスポートから独立している。SIPはまた、インスタント・メッセージングおよびプレゼンス検出にも使用される。SIPにより、複数のエンドポイントが相互にメディア・セッションを確立することができる。SIPは、エンドポイントの位置を特定し、セッションを確立し、次いで、メディア・セッションが完了した後、そのセッションを終了させることをサポートする。SIPは、最近では、インスタント・メッセージングおよびコラボレーションのために、また移動体使用者間のプッシュ・ツー・トーク(push-to-talk)サービスのために、企業内にVoIP(voiceover internet protocol)などの新しいサービスを導入する有線サービス・プロバイダの間で広く受け入れられ展開されてきている。SIPを、IPネットワークを介する集中した通信のための最適のプロトコルとして受け入れる業界は広範囲に及んでいる。図1に示すように、SIPのインフラストラクチャは、クライアント10A、10B、SIPプロキシ12A、12B、12C、ならびにドメイン・ネットワーク16A、16Bおよびネットワーク16C(例えば、インターネット)にわたり展開されるドメイン・ディレクトリ・サーバ14A、14Bからなる。クライアント10Aは、セッションのセットアップ、およびメディア転送を制御するSIPエンドポイントである。クライアント10Aは、SIP URI(uniformresource identifier)により識別され、それは、HTTP(hypertext transport protocol)と同様のsip:client@domainの形式の固有URIである。すべてのユーザ・エージェントは、そのIPアドレスで、(SIPプロキシ12の1つと同じ場所に配置できる)SIPディレクトリ・サーバ14A、14B、または14Cに登録することができる。ユーザにより登録されたデバイスのIPアドレスに対するURIのマッピングは、セッションのセットアップ・プロセスの一部分として中間のSIPプロキシおよびディレクトリ・サーバを用いて行われる。SIPプロトコルの詳細は、J.Rosenberg et al. SIP: Session Initiation Protocol. RFC 3261. IETF, June 2002で見ることができる。SIPは、クライアント相互間でデータ・セッションをセットアップするための、図5に示すOPTION 100、200 OK、300 INVITE、RINGING、ACK、BYEなどの一組の制御信号を定義する。それらの信号は、ネットワーク中に展開されるSIPプロキシを介して経路指定される。ドメイン・ディレクトリ・サーバ中のDNS SRV(Domainname system for services)レコードは、特定のドメインに対する名前のIPアドレスを見つけるのに使用されるが、そのプロセスは、いくつかの、またしばしば複数のSIPプロキシを使用することができる。
【0003】
300 INVITEなど発信クライアントからのすべての要求は、300 INVITE信号中に含まれる宛先SIP URIに基づいて、プロキシにより適切な宛先クライアントに経路指定される。プロキシは、SIP URIの現在のバインディングを判定するために、ディレクトリ・サーバに照会することができる。メディア交換のために適切なエンドポイントを突き止めるために、クライアント、プロキシ、およびディレクトリ・サーバの間で信号が交換される。スケーラビリティのため、シグナリング負荷を分散させるように複数のプロキシが使用される。通常のセッションは、300 INVITE、201 OK応答、およびその応答に対するACKからなるSIPシグナリングを介して、2つのクライアント間でセットアップされる。コールのセットアップに引き続いて、RTP(real time transport protocol)を用いてメディア交換が行われる。セッションは、500 BYEおよび202 OKメッセージの交換により切断される。図5は、本実施形態による適合された一組のシーケンスを示す。
【0004】
SIPは、セッション確立のプロセスと実際のセッションとを区別する。基本的なSIPの理念は、メディア(RTPストリーム)メッセージからシグナリング(制御)を分離することである。制御信号は、メディア・パスがエンド・ツー・エンドである間、通常、プロキシを介して経路指定される。INVITEのような信号は、メッセージ本体中に、SDP(Session Description Protocol)を用いたユーザ・パラメータを含む(Handley, M. and V.Jacobson, SDP: Session Description Protocol, RFC 2327, IETF Apr 1998)。SDPは、メディア・タイプのためのパラメータ、トランスポート・プロトコル、エンドポイントのIPアドレスおよびポート番号などセッションに関する情報を提供する。SDPを介して交換されるIPアドレスおよびポート番号は、セッションのための実際のデータ伝送(メディア・パス)に使用される。それらのパラメータのいずれも、すでに存在するセッション内で行うことができるという以外は300 INVITE信号と同じであるRE−INVITEメッセージにより、進行しているセッション中に変更することができる。さらに、クライアントは、既存のセッションを、REFER信号を用いて転送することができる。その信号は、既存のセッションの他のエンドポイントに対して、第3のクライアントとINVITE/OK/ACK交換を開始し、(REFER信号の送信者との)既存のセッションを終了するように命令する。
【0005】
SIP信号は、それが機密情報を含んでいたとしても、デフォルトで、UTF−8プレーン・テキスト・エンコード方式を用いて送信される。しかし、プライバシを維持するために、SIPコールの2つのIPコンポーネント、すなわち信号およびデータ・ストリームを暗号化することができる。発呼側クライアントは、第1のプロキシとのシグナリングの暗号化を要求することができるが、その信号を次のSIPサーバが確実に暗号化するための機構がない。シグナリングが暗号化されていない場合、プロキシ間のシグナリングを傍受する任意のIPルータが、両方の当事者の識別およびインターネット・プロトコル・アドレスなどのコール情報を識別することも可能である。発呼側クライアントは、信号がネットワーク上をプレーン・テキストで送信されたことに気がつかないはずである。データ・ストリームは、コールのエンドポイントで暗号化され、暗号化解除されることだけが必要であり、それにより、その機密性に高い信頼度が得られるようになる。
【0006】
代替の解決策は、シグナリングを部分的に暗号化することであり、中間プロキシに必須のSIPヘッダだけをプレーン・テキストで送信する。それは、通常、S/MIME(Secure Multipurpose Internet Mail Extension、すなわち、インターネット・メッセージにシグネチャまたは暗号化サービスあるいはその両方を追加するためのフォーマットおよびプロトコル)を用いて実施される。この代替方法は2つの欠点を有する。第1に、部分的な暗号化を使用しているだけなので、機密レベルが完全な暗号化を使用する場合よりも低くなることである。第2に、RFC3261に記されているように、「しかし、SIPメッセージ(特にSDP)の本体を閲覧または変更することを利用する(典型的なプロキシ・サーバではない)ネットワーク中間物はまれであり、したがって、セキュアMIMEは、その種の中間物が機能するのを妨げる可能性のあることに実施者は留意すべきである。」
【0007】
最後に、SIPS URIを使用することにより、ユーザは、エンド・ツー・エンドの暗号化された移送が保証されないことに留意すべきである。ユーザは、「発呼者から被呼者のドメインまで」(RFC3261、セクション4.2)の暗号化された移送が保証されるだけである。
【0008】
ネットワークにおいて通信チャネルを開くために、第1の側が、第2の側に送信勧誘(invitation)を送ることが知られている。プロトコルが合意された後、通信チャネルは安全になり得るが、第1および第2の側のIDなどの機密情報を含む最初の送信勧誘は安全ではない。「Securitymechanism agreement for SIP」がRFC3329に記載されている(http://www.ietf.org/rfc/rfc3329.textを参照のこと)。RFC3329の目的は、2つのSIPネットワーク・コンポーネントの間でどの暗号化を使用するか、すなわち、2点間で低、中間、または高度に暗号化されたリンクのどれを使用するかを折衝することである。そのRFCは、SIPヘッダ・フィールドのシンタックスを記述するために、ワード・トークンを用いる。しかし、その発行物は、1つまたは複数のプロキシを介する安全なパスを作成することを記述していない。
【非特許文献1】J. Rosenberg et al.SIP: Session Initiation Protocol. RFC 3261. IETF, June 2002
【非特許文献2】Handley, M. and V. Jacobson, SDP:Session Description Protocol, RFC 2327, IETF Apr 1998
【非特許文献3】"Security mechanism agreementfor SIP", RFC3329(http://www.ietf.org/rfc/rfc3329.text)
【発明の開示】
【発明が解決しようとする課題】
【0009】
従って、本発明の目的は、SIPシグナリングの暗号化の検証のための方法及び装置を提供することにある。
【課題を解決するための手段】
【0010】
本発明の第1の態様によると、宛先クライアント名およびドメインに基づいてプロキシSIPノードを突き止めること、発呼側クライアントSIPノードとプロキシSIPノードの間でセキュア信号接続をセットアップすること、宛先クライアント名およびドメインを用いて、プロキシSIPノードから宛先クライアントIPアドレスを突き止めること、前記プロキシSIPノードから被呼側クライアントSIPノードまで、追加のセキュア信号接続をセットアップし、それにより、セキュア信号接続および追加のセキュア信号接続がセキュア信号パスを形成すること、宛先クライアントSIPノードに、セキュア信号パスを介してそのIPアドレスを返すように要求すること、および返されたIPアドレスを用いて、発呼側クライアントSIPノードと宛先クライアントSIPノードの間でデータ接続をセットアップすることを含む、少なくとも1つのプロキシSIPノードを介して、少なくとも2つのクライアントSIPノードの間でSIP通信セッションを開始する方法が提供される。
【0011】
通信の安全性をさらに改善するために、返されたIPアドレスは、特定された宛先IPアドレスと同じではなく、したがって、クライアントの実際のIPアドレスは、ディレクトリ中に決して公開されないようにする。
【0012】
追加のセキュア信号接続をセットアップするのに使われる時間が閾値時間を超えた場合、新しいプロキシSIPの位置が特定されると有利である。セキュア信号接続のセットアップが、セキュア信号接続のためのオプションを含むようにSIP OPTIONS信号を拡張するとさらに有利である。
【0013】
各セキュア信号接続は暗号化されることが好ましい。より好ましくは、SIPノード間の各接続は、識別のためのセッション・キーを使用し、任意選択で、そのセッション・キーはセキュア信号接続の暗号化の一部分である。
【0014】
適切には、プロキシから宛先クライアントIPアドレスを突き止めるステップが、1つまたは複数の次のプロキシを突き止めることを含み、セキュア信号接続を拡張するステップが、次のプロキシを介してセキュア信号接続を拡張することを含む。
【0015】
本発明の他の態様によれば、SIPノードにおけるセキュアSIP通信方法が提供される。すなわち、ダウンストリームSIPノードから、セキュア信号接続をセットアップするための要求を受信し、ダウンストリーム接続をセットアップすること、宛先名およびドメインを用いてアップストリームSIPノードIPアドレスを突き止めること、アップストリームSIPノードへのセキュア信号接続をセットアップすること、およびセキュア信号接続上でSIP信号を受信し、転送することである。
【0016】
本発明の他の態様によれば、ダウンストリームSIPノードからセキュア信号接続をセットアップするための要求を受信し、ダウンストリーム接続をセットアップするためのオプション・フォワーダと、宛先名およびドメインを用いて、アップストリームSIPノードIPアドレスを突き止めるためのセキュア・クライアント・ロケータと、アップストリームSIPノードへのセキュア信号接続をセットアップし、かつセキュア信号接続上でSIP信号を受信し転送するためのインバイト・フォワーダとを備える、SIPノードにおけるセキュアSIP通信のシステムが提供される。
【0017】
本発明の他の態様によると、SIPノードにおけるセキュアSIP通信のためのコンピュータ・プログラムであって、コンピュータに、ダウンストリームSIPノードからセキュア信号接続をセットアップするための要求を受信しダウンストリーム接続をセットアップするステップと、宛先名およびドメインを用いてアップストリームSIPノードIPアドレスを突き止めるステップと、アップストリームSIPノードへのセキュア信号接続をセットアップするステップと、セキュア信号接続上でSIP信号を受信し転送するステップとを実行させるためのコンピュータ・プログラムが提供される。
【0018】
このような方法を用いることにより、コール・セットアップのホップ・バイ・ホップ(完全な暗号化)方法のクライアントは、シグナリングが常に暗号化された形で送信されていたことを検証することができる。検証機構が実施された場合、SIP UAおよびプロキシ開発者は、そのコールの暗号化状況に対するユーザ・フィードバックを与えるような機能、またはさらに非暗号化コールが行われるのを妨害し、プレーン・テキストのシグナリングが送信されないようにする機能を追加することができる。
【0019】
本発明の諸実施形態を、例としてだけであるが、添付の図面を参照し次に説明する。
【発明を実施するための最良の形態】
【0020】
図1は、SIPクライアント10A、10B、プロキシ12A〜12C、ドメイン・ネットワーク16A、16B、および外部ネットワーク18の概略図である。各ネットワーク中に1つのプロキシだけがラベル付けされているが、いくつかのプロキシの任意の1つがネットワーク中に存在し、セキュア・ネットワークを形成するために使用することができる。SIPクライアント10A、10Bおよびその各プロキシ12A、12B、およびドメイン・ディレクトリ・サーバ14A、14Bは、各ドメイン16Aおよび16B(例えば、会社のイントラネット)中に位置する。ドメイン16Aおよび16Bは、ネットワーク18(例えば、インターネット)を介して共に接続されている。本発明のコンテキストでは、クライアント10Aは、最初は、クライアント10Bの名前およびドメイン(例えば、client10B@domain16B)を知っているだけであり、クライアント10BのIPアドレス(例えば、123.546.789.000)は知っておらず、したがって、コールをセットアップする前に10Bを突き止める必要がある。突き止めプロセス中に、クライアント10A、ドメイン16Aのプロキシ、例えば12A、ネットワーク18のプロキシ、例えば、プロキシ12C、ドメイン16Bのプロキシ、例えば、プロキシ12B、およびクライアント10Bの間で、通常、接続がセットアップされる。突き止めプロセスからIPアドレスが取得されると、データを送信するために、非プロキシ接続19をセットアップすることができる。宛先クライアント10BのIPアドレスを突き止めるために、プロキシ12Bによってドメイン・ディレクトリ・サーバ14Bが使用される。ドメイン16Aに対して、ドメイン・ディレクトリ・サーバ14Aも同様に行う。このプロキシおよびクライアントの構成は、一例に過ぎず、例えば、2つのクライアントと単一のプロキシ、またはカンファレンス・コールにおける複数のクライアント間など、複数のセキュア接続が必要な場合も、本発明を実施することができる。
【0021】
図2は、本実施形態のクライアント10A、プロキシ・サーバ12A、およびドメイン・ディレクトリ・サーバ14Aの概略図である。クライアント10Aは、コール・セットアップ・コンポーネント20、セキュア・プロキシ・ロケータ22、オプション・トランシーバ24、タイマ26、インバイト・トランシーバ28、VoIPデータ・トランシーバ30、およびコール・シャットダウン・コンポーネント32を備える。
【0022】
コール・セットアップ・コンポーネント20は、他のクライアントとのコールのセットアップを制御する。
【0023】
セキュア・プロキシ・ロケータ22は、プロキシとの通信を管理する。それは、そのプロキシを直接、またはメモリに照会することにより、セキュア接続に関して既知のプロキシをフィルタリングする。
【0024】
オプション・トランシーバ24は、OPTION 100信号(図5を参照)を送信し、受信する。OPTION信号は、コールのセットアップにおいて使用される最初の信号の1つであり、特定のオプション、すなわち、本実施形態の場合は、VESP(verified encryption secure path:検証済み暗号化セキュア・パス)オプションをプロキシに求める要求を含む。VESPオプションを含むオプション要求が受信され、SIPクライアントがVESP互換のある場合、オプション・トランシーバ24は、コール・セットアップの要求を先に進めてVESPサポートを示す200 OK信号で応答することになる(図5を参照)。そうではない場合、SIPクライアントは、オプション要求に200 OKで応答しない。オプション・トランシーバが、200 OK信号を受信した場合、制御はインバイト・トランシーバ28に渡される。
【0025】
タイマ26は、OPTION 100メッセージが送信されたときから、200 OK信号が戻って受信されるまでの時間を測定開始する。コール・セットアップ・プロセスは、応答時間がある閾値を超えた場合に時間切れ中止とすることができる。時間切れ中止が生じた場合、オプション・トランシーバ24は、他のセキュアSIPプロキシを選択し、他のOPTION 100信号を送信する。もはやセキュア・プロキシが存在しない場合、セキュア・コール・セットアップは取り消される。タイマはまた、インバイト・トランシーバ28中の応答の時間を測るためにも使用される。
【0026】
インバイト・トランシーバ28は、インバイト・メッセージおよびセッション・トークンを、VESP準拠のプロキシに送り、201 OKおよびIPアドレスを待つ。タイマ26はまた、待ち時間を測定し、閾値に達した場合は時間切れ中止する。プロセスが時間切れ中止された場合、再度、他のセキュア・プロキシが選択され、またはセキュア・セットアップが取り消される。
【0027】
VoIPデータ・トランシーバ30は、IPアドレスが発見された後、クライアント間のネットワークを介したVoIPデータの直接送信を制御する。
【0028】
コール・シャットダウン・コンポーネント32は、コールが終了したとき、コールの切断を制御する。
【0029】
各プロキシ12は、オプション・フォワーダ34、セキュア・クライアント・ロケータ36、インバイト・フォワーダ38、およびタイマ40を備える。
【0030】
オプション・フォワーダ34は、OPTION 100信号を受信し、転送する(図5参照)。VESPオプションを含むオプション要求が受信されたとき、オプション・フォワーダ34は、VESPオプションがセキュア・コール・セットアップを要求していることに気付き、セキュア・クライアントまたはプロキシを突き止めるようにセキュア・クライアント・ロケータ36に通知する。オプション・フォワーダは、応答として200 OK信号を受信し、それをOPTION 100信号の送信者に転送して戻す。
【0031】
セキュア・クライアント・ロケータ36は、クライアントのIPアドレスを求めてディレクトリ・サーバに照会する。クライアントが突き止められた場合、クライアントIPアドレスがプロキシに返される。そうでない場合、他のプロキシのIPアドレスが、さらなる照会およびさらなるセキュア・コール・セットアップに対して返される。
【0032】
セキュア・プロキシ・パスがセットアップされると、INVITE信号が発信SIPクライアントにより送られ、またインバイト・フォワーダ38によって受信される。インバイト・フォワーダは、セキュア・パスに沿ってINVITE信号を転送し、そのパスに沿ってOK信号を返す。
【0033】
タイマ40は、オプション・フォワーダ34およびインバイト・フォワーダの応答待ち時間を計測し、したがって、いずれも閾値を超える期間待つことはない。
【0034】
各ディレクトリ・サーバ14は、IPアドレス・リゾルバ44、およびIPアドレス・データ46を備える。
【0035】
IPアドレス・リゾルバ44は、クライアント10またはプロキシ12からクライアント名およびドメインを含む要求を受信し、IPアドレスと、名前およびドメインをマッチさせるように試みる。IPアドレス・データ46からマッチが見つかった場合、それは要求者に送り返される。
【0036】
図3は、本実施形態によるSIPコール・セットアップの第1の部分の概略図である。
【0037】
方法101は、発呼側クライアント・セットアップ・プロセスを定義する。
【0038】
ステップ104で、セキュア・コール・セットアップは、被呼側クライアント名(例えば、クライアント10B)および被呼側クライアント・ドメイン(例えばドメイン16B)を用いて、発呼側クライアント・セットアップ・コンポーネント20中で定義される。
【0039】
ステップ106で、セキュア・プロキシ・ロケータ22は、既知のプロキシのリストを照会することにより、送出プロキシを突き止める。VESP互換のないプロキシの名前を必ず知っている必要があり、また各プロキシは、セキュア接続をセットアップする能力が検査されていなければならない。
【0040】
ステップ108では、オプション・トランシーバ24は、セキュア・プロキシの1つにOPTION 100信号を送信する。OPTION 100信号は、VESP互換のあるプロキシに対するオプションを含む。
【0041】
方法109は、SIPプロキシ・セットアップ・プロセスを定義し、ステップ110、112、114、120、122および124を含む。
【0042】
ステップ110で、SIPクライアントからのOPTION 100信号が、オプション・フォワーダ34により受信される。プロキシがVESP互換である場合、OPTION信号は受け入れられ、制御が次のステップに渡される。
【0043】
ステップ112では、セキュア・クライアント・ロケータ36は、ディレクトリ・サーバを照会することにより、クライアントBを突き止めようと試みる。クライアント10Bが突き止められない場合、クライアントのドメインのより近くに存在し、クライアントのIPアドレスを知っている可能性のある他のセキュア・プロキシが突き止められる。ドメイン・プロキシは、通常そのドメイン中のクライアントのIPアドレスを有する。
【0044】
ステップ114では、ディレクトリ・サーバがクライアントのIPアドレスを知っている場合、OPTION信号(および名前)が、セキュア・クライアントBに転送される(方法116のSIP被呼側クライアント・セットアップ)。関連するディレクトリ・サーバが、クライアントBのIPアドレスを知らない場合、OPTION信号は、クライアントのIPアドレスを突き止めることができる可能性を有する他のプロキシに転送される(方法115の追加の等価なプロキシ・セットアップ)。
【0045】
プロセス115は、等価な諸ステップ110、112、114、122、120、および124を有する最初の109SIPプロキシ・セットアップと等価な1つまたは複数の追加の等価なプロキシ・セットアップを示す。そのプロセスは、被呼側クライアントを突き止めるために必要なプロキシ・サーバの数に応じて、0からn回行われる。
【0046】
方法116は、ステップ117および118を含む被呼側クライアント・セットアップ・プロセスである。
【0047】
ステップ117で、OPTION信号100がSIPプロキシから受信される。クライアントがVESP互換である場合、それを受け入れ、プロセスは先に進む。
【0048】
ステップ118で、セッション・トークンが含まれた、返しOK 200信号が、接続しているプロキシを介してSIPノードに送信される。
【0049】
方法115は、接続中に複数の返しプロキシが存在する場合、OK 200信号を転送する。
【0050】
プロキシ・セットアップ109方法(または等価な115プロキシ・セットアップ)におけるステップ120は、200 OK信号を待ち、ステップ124に進む。待ち時間切れになった場合、プロセスはステップ122に進む。
【0051】
ステップ122は、関連するディレクトリ・サーバから他のセキュア・プロキシを選択し、ステップ114で、再度、OPTION信号を送る。
【0052】
方法109で、ステップ124は、SIPクライアント10にOK信号を返す。等価なプロキシ・セットアップ方法115で、等価なステップ124は接続しているプロキシにOK信号を返す。
【0053】
発呼側クライアント・セットアップ方法101のステップ126は、200 OK信号を待ち、ステップ130に進む。セキュア接続パスは、いまや完了し、返されたセッション・トークンによりマーク付けされる。ステップ126が時間切れになった場合、プロセスはステップ128に進む。
【0054】
ステップ128は、関連するディレクトリから、他のセキュア・プロキシを選択し、ステップ108で、再度、OPTION信号を送る。
【0055】
ステップ130で、プロセス制御は方法300に進む。
【0056】
図4は、本実施形態によるSIPコール・セットアップの第2の部分の概略図である。
【0057】
方法300は、インバイト・トランシーバ28において実施されるステップ302、320、322を含む発呼側電話インバイト・プロセスである。
【0058】
ステップ302は、セキュア接続パス中の第1のセキュア・プロキシにセッション・トークンを含むINVITE信号を送る。
【0059】
方法303は、セキュア接続パス中の第1および次のプロキシ中のインバイト・フォワーダ38で実施されるステップ304、306、308、316、および318を含むプロキシ・インバイト・プロセスである。
【0060】
ステップ304は、セキュア・クライアントからセッション・トークンを含むINVITE信号を受信する。
【0061】
ステップ306は、割り当てられたセキュア接続パスでセッション・トークンを検査する。接続パス中の次のプロキシまたはクライアントが突き止められる。
【0062】
ステップ308は、セキュア接続パス中の次のセキュア・プロキシにセッション・トークンを含むINVITE信号を転送する。
【0063】
プロセス309は、等価なステップ304、306、308、316、および318を有する最初の303プロキシ・インバイトと等価な1つまたは複数の追加の等価のプロキシ・インバイトを示す。そのプロセスは、必要とされるプロキシ・サーバの数に応じて0からn回行われる。
【0064】
プロセス310は、クライアント・インバイト・トランシーバ28により実施される、またステップ312および314を含む被呼側クライアント・インバイト方法である。セッション・トークンを含むINVITEは、クライアントを突き止めるのに必要な数に応じて1つまたは複数のプロキシから受信される。
【0065】
ステップ312では、インバイト・トランシーバが、セキュアSIPクライアントからセッション・トークンを含むINVITE信号を受信する。そのセッションが受入れ可能であれば、プロセスは先に進む。
【0066】
ステップ314で、インバイト・トランシーバは、被呼側クライアントのIPアドレスおよびセッション・キーを含むOK信号201で応答する。
【0067】
プロキシ・インバイト方法303で、ステップ316は、OK信号201を待つ。等価なプロキシ・インバイト方法309では、等価なステップ316は124のOK信号201を待つ。待ち時間切れの場合、接続は失敗する。
【0068】
ステップ318は、OK信号201、IPアドレス、およびセッション・キーを発呼側SIPクライアントに返す。
【0069】
発呼側クライアント・インバイト方法のステップ320は、OK信号201、IPアドレス、およびセッション・トークンを待つ。待ち時間切れになった場合、プロセスはステップ322に進む。その待ちが成功した場合、プロセスは進んで、401でVoIPデータを送信する。
【0070】
ステップ322は、コール・セットアップを他のプロキシ・サーバにセットし直す。
【0071】
ステップ401および403は、発呼側クライアント10Aおよび被呼側クライアント10Bにおける各VoIPトランシーバにより実施される。
【0072】
発呼側クライアントVoIPデータ・トランシーバにおけるステップ401は、どのプロキシも必要とせずにネットワークを介して被呼側クライアントに直接送信し、また被呼側クライアントから直接受信する。VoIPデータ・セッションが作成される。VoIPデータは、特別な安全性のために暗号化することもできる。
【0073】
被呼側クライアントVoPIデータ・トランシーバにおけるステップ403は、作成されたデータ・セッションを用いて発呼側クライアントから受信し、またそれに送信する。
【0074】
ステップ501および503は、発呼側クライアントおよび被呼側クライアントにおける各コール・シャットダウン・コンポーネント32により実施される。この例および実施形態では、発呼側クライアントが終了を開始しているが、いずれのクライアントも終了を開始できる。
【0075】
ステップ501で、終了セッション信号が被呼側クライアントにセキュア・パスに沿って送信される。202 OK信号が受信された後、発呼側クライアント中のデータ・セッションおよびセキュア・パス・セッションは取り消される。
【0076】
ステップ503では、被呼側クライアントは、発呼側クライアントに202 OKおよびセッション・トークンを送信し、データ・セッションおよびセキュア・セッションを終了する。
【0077】
図5は、本実施形態および例によるイベント図である。コール・セットアップ中、OPTION 100信号が発呼側クライアント10Aから、プロキシを介して被呼側クライアント10Bに送られる。200 OK+セッション・キーが、被呼側クライアントから発呼側クライアントに返される。300 INVITE+セッション・キーが、発呼側クライアントから被呼側クライアントに送信される。201 OK+セッション・キー+IPアドレスが、被呼側クライアントから発呼側クライアントに送られる。データ・ストリーム400が、返されたIPアドレスを用いてクライアント間に作成される。コールの終了で、500 BYE信号が、一方のクライアントから、プロキシを介して他方のクライアントに送信される。202 OK信号が送り返され、セキュア・セッションおよびデータ・セッションが終了する。
【0078】
本発明の方法は、図1の例以外の他の論理装置でも適切に実施することができ、またそのような論理手段は、ハードウェア・コンポーネントまたはファームウェア・コンポーネントを含み得ることは当業者には明らかであろう。
【0079】
本発明の論理構成は、図3および4の例以外の方法の諸ステップを実施するための論理手段を含む論理装置で適切に実施することができ、またこのような論理手段が、例えば、プログラム可能な論理アレイ中に論理ゲートなどのコンポーネントを備え得ることは、当業者には同様に明らかであろう。このような論理構成はさらに、固定されたまたは送信可能な担持体媒体を用いて記憶することが可能な、例えば、仮想ハードウェア記述言語を用いたアレイなどに、一時的にまたは恒久的に論理構造を確立できる手段で実施することができる。
【0080】
上述の方法はまた、1つまたは複数のプロセッサ(図示せず)で動作するソフトウェア中で完全にまたは部分的に、適切に実施することができ、またそのソフトウェアは、磁気的または光学的なコンピュータ・ディスクなど任意の適切なデータ担持体(これも図示せず)上で担持されるコンピュータ・プログラム・エレメントとして提供され得ることも理解されたい。データ送信用チャネルは同様に、すべての記述を記憶する媒体、ならびに有線または無線の信号媒体などの信号搬送媒体を含むことができる。
【0081】
本発明は、コンピュータ・システムで用いるためのコンピュータ・プログラムとして適切に実施することができる。このような実装形態は、コンピュータ可読媒体、例えば、ディスケット、CD−ROM、ROM、ハードディスクなどの有形な媒体上に固定された、あるいはモデムもしくは他のインターフェース・デバイスを経由して、それだけに限らないが、光もしくはアナログ通信回線を含む有形の媒体を介して、またはそれだけに限らないがマイクロ波、赤外線もしくは他の伝送技法を含む無線技法を用いた無形の媒体を介してコンピュータ・システムに送信可能な、一連のコンピュータ可読命令を含むことができる。一連のコンピュータ可読命令は、本明細書で前述した機能のすべて、または一部分を実施する。
【0082】
このようなコンピュータ可読命令は、多くのコンピュータ・アーキテクチャまたはオペレーティング・システムで使用するためのいくつかのプログラミング言語で記述できることを当業者であれば理解されたい。さらに、このような命令は、それだけに限らないが、半導体、磁気、もしくは光を含む、現在もしくは将来の任意のメモリ技術を用いて記憶することができ、あるいはそれだけに限らないが、光、赤外線もしくはマイクロ波を含む、現在もしくは将来の任意の通信技術を用いて送信することができる。このようなコンピュータ・プログラムは、添付の印刷もしくは電子文書を有する取外し可能媒体、例えば、収縮包装されたソフトウェアとして分配され、コンピュータ・システムに、例えば、システムROMもしくは固定ディスク上に事前にロードされ、あるいはサーバもしくはネットワーク、例えば、インターネットもしくはワールド・ワイド・ウェブを介した電子掲示板から分配され得ることが企図されている。
【0083】
本発明の諸実施形態は、サービスをオンデマンドで提供するために、ユーザに向けて展開されるサービスの形で提供できることがさらに理解されよう。
【0084】
当業者であれば、上記の好ましい実施形態に対する他の様々な変更形態も明らかであることがさらに理解されよう。
【図面の簡単な説明】
【0085】
【図1】典型的なSIPクライアント、プロキシ、およびネットワーク構成の概略図である。
【図2】本実施形態のクライアント、プロキシ・サーバ、およびディレクトリ・サーバの概略図である。
【図3】本実施形態によるSIPコール・セットアップのうちのIP突き止め部分の概略図である。
【図4】本実施形態によるSIPコール・セットアップのうちの送信勧誘部分の概略図である。
【図5】本実施形態によるイベント図である。
【符号の説明】
【0086】
10A SIPクライアント、発呼側クライアント
10B SIPクライアント、被呼側クライアント、宛先クライアント
12A SIPプロキシ、プロキシ・サーバ
12B SIPプロキシ、プロキシ・サーバ
12C SIPプロキシ、プロキシ・サーバ
14A ドメイン・ディレクトリ・サーバ、SIPディレクトリ・サーバ
14B ドメイン・ディレクトリ・サーバ、SIPディレクトリ・サーバ
14C ドメイン・ディレクトリ・サーバ、SIPディレクトリ・サーバ
16A ドメイン、ドメイン・ネットワーク
16B ドメイン、ドメイン・ネットワーク
16C ネットワーク
18 ネットワーク
20 コール・セットアップ・コンポーネント
22 セキュア・プロキシ・ロケータ
24 オプション・トランシーバ
26 タイマ
28 インバイト・トランシーバ
30 VoIPデータ・トランシーバ
32 コール・シャットダウン・コンポーネント
34 オプション・フォワーダ
36 セキュア・クライアント・ロケータ
38 インバイト・フォワーダ
40 タイマ
44 IPアドレス・リゾルバ
46 IPアドレス・データ

【特許請求の範囲】
【請求項1】
少なくとも1つのプロキシSIPノードを介して少なくとも2つのクライアントSIPノードの間でSIP通信セッションをセットアップする方法であって、
宛先クライアント名およびドメインに基づいてプロキシSIPノードを突き止めるステップと、
発呼側クライアントSIPノードと前記プロキシSIPノードの間でセキュア信号接続をセットアップするステップと、
前記宛先クライアント名およびドメインを用いて、前記プロキシSIPノードから宛先クライアントIPアドレスを突き止めるステップと、
前記プロキシSIPノードから被呼側クライアントSIPノードまで、追加のセキュア信号接続をセットアップし、それにより、前記セキュア信号接続および前記追加のセキュア信号接続がセキュア信号パスを形成するステップと、
前記宛先クライアントSIPノードに、前記セキュア信号パスを介してそのIPアドレスを返すように要求するステップと、
返されたIPアドレスを用いて、前記発呼側クライアントSIPノードと前記宛先クライアントSIPノードの間でデータ接続をセットアップするステップと
を含む方法。
【請求項2】
前記返されたIPアドレスが、特定された宛先IPアドレスと同じではない、請求項1に記載の方法。
【請求項3】
追加のセキュア信号接続をセットアップするのに使われる時間が閾値時間を超えた場合、新しいプロキシSIPが突き止められる、請求項1または2に記載の方法。
【請求項4】
前記セキュア信号接続のセットアップが、セキュア信号接続のためのオプションを含むようにSIP OPTIONS信号を拡張する、請求項1、2または3に記載の方法。
【請求項5】
各セキュア信号接続が暗号化される、請求項1ないし4のいずれか一項に記載の方法。
【請求項6】
SIPノード間の各接続が、識別のためのセッション・キーを使用する、請求項1ないし5のいずれか一項に記載の方法。
【請求項7】
前記セッション・キーが、前記セキュア信号接続の暗号化の一部分である、請求項6に記載の方法。
【請求項8】
前記プロキシから宛先クライアントIPアドレスを突き止めるステップが、1つまたは複数の次のプロキシを突き止めるステップを含み、前記セキュア信号接続を拡張するステップが、前記次のプロキシを介して前記セキュア信号接続を拡張するステップを含む、請求項1ないし7のいずれか一項に記載の方法。
【請求項9】
2つ以上の宛先クライアントがある場合、2つ以上のセキュア・パスがセットアップされる、請求項1ないし8のいずれか一項に記載の方法。
【請求項10】
少なくとも1つのプロキシSIPノードを介して少なくとも2つのクライアントSIPノードの間でSIP通信セッションをセットアップするためのシステムであって、
宛先クライアント名およびドメインに基づいて、プロキシSIPノードを突き止めるためのプロキシ・ロケータと、
発呼側クライアントSIPノードと前記プロキシSIPノードの間でセキュア信号接続をセットアップするためのオプション・トランシーバと、
前記宛先クライアント名およびドメインを用いて、前記プロキシSIPノードで、宛先クライアントIPアドレスを突き止めるためのクライアント・ロケータと、
前記プロキシSIPノードから被呼側クライアントSIPノードまで、追加のセキュア信号接続をセットアップし、それにより前記セキュア信号接続および前記追加のセキュア信号接続がセキュア信号パスを形成するためのオプション・フォワーダと、
前記宛先クライアントSIPノードに、前記セキュア信号パスを介してそのIPアドレスを返すように要求するためのインバイト・トランシーバと、
前記発呼側クライアントSIPノードと前記宛先クライアントSIPノードの間でデータ接続をセットアップするように、返されたIPアドレスを使用するためのVoIPデータ・トランシーバと
を備えるシステム。
【請求項11】
少なくとも1つのプロキシSIPノードを介して少なくとも2つのクライアントSIPノード間でSIP通信セッションをセットアップするためのコンピュータ・プログラムであって、コンピュータに、
宛先クライアント名およびドメインに基づいてプロキシSIPノードを突き止めるステップと、
発呼側クライアントSIPノードと前記プロキシSIPノードの間でセキュア信号接続をセットアップするステップと、
前記宛先クライアント名およびドメインを用いて、前記プロキシSIPノードから前記宛先クライアントIPアドレスを突き止めるステップと、
前記プロキシSIPノードから被呼側クライアントSIPノードまで、追加のセキュア信号接続をセットアップし、それにより、前記セキュア信号接続および前記追加のセキュア信号接続が、セキュア信号パスを形成するステップと、
前記宛先クライアントSIPノードに前記セキュア信号パスを介してそのIPアドレスを返すように要求するステップと、
前記返されたIPアドレスを用いて、前記発呼側クライアントSIPノードと前記宛先クライアントSIPノードの間でデータ接続をセットアップするステップと
を実行させるためのコンピュータ・プログラム。
【請求項12】
SIPノードにおけるセキュアSIP通信の方法であって、
ダウンストリームSIPノードから、セキュア信号接続をセットアップするための要求を受信し、ダウンストリーム接続をセットアップするステップと、
宛先名およびドメインを用いてアップストリームSIPノードIPアドレスを突き止めるステップと、
前記アップストリームSIPノードへのセキュア信号接続をセットアップするステップと、
前記セキュア信号接続上でSIP信号を受信し、転送するステップを含む方法。
【請求項13】
SIPノードにおけるセキュアSIP通信のシステムであって、
ダウンストリームSIPノードからセキュア信号接続をセットアップするための要求を受信し、ダウンストリーム接続をセットアップするためのオプション・フォワーダと、
宛先名およびドメインを用いて、アップストリームSIPノードIPアドレスを突き止めるためのセキュア・クライアント・ロケータと、
前記アップストリームSIPノードへのセキュア信号接続をセットアップし、かつ前記セキュア信号接続上でSIP信号を受信し転送するためのインバイト・フォワーダとを備えるシステム。
【請求項14】
SIPノードにおけるセキュアSIP通信のためのコンピュータ・プログラムであって、コンピュータに、
ダウンストリームSIPノードからセキュア信号接続をセットアップするための要求を受信し、前記ダウンストリーム接続をセットアップするステップと、
宛先名およびドメインを用いてアップストリームSIPノードIPアドレスを突き止めるステップと、
前記アップストリームSIPノードへのセキュア信号接続をセットアップするステップと、
前記セキュア信号接続上でSIP信号を受信し転送するステップと
を実行させるためのコンピュータ・プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2007−110705(P2007−110705A)
【公開日】平成19年4月26日(2007.4.26)
【国際特許分類】
【出願番号】特願2006−258129(P2006−258129)
【出願日】平成18年9月22日(2006.9.22)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【Fターム(参考)】