データ通信方法およびシステム
【課題】 接続先をアプリケーション固有の識別情報で指定したセッション制御メッセージをセッション管理サーバ経由で接続先に転送可能にした暗号化通信方法とシステムの提供。
【解決手段】 クライアントのアプリケーションプログラムまたは暗号化通信ソフトが、接続先サーバをアプリケーション固有の識別情報で指定した形で接続要求を発行した時、クライアントまたはセッション管理サーバで、上記識別情報をドメイン識別可能な所望のリソース識別子に自動的に変換し、受信メッセージの転送先ドメインを判定する。
【解決手段】 クライアントのアプリケーションプログラムまたは暗号化通信ソフトが、接続先サーバをアプリケーション固有の識別情報で指定した形で接続要求を発行した時、クライアントまたはセッション管理サーバで、上記識別情報をドメイン識別可能な所望のリソース識別子に自動的に変換し、受信メッセージの転送先ドメインを判定する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ通信方法およびシステムに関し、更に詳しくは、セッション管理サーバを利用して、クライアントとサーバとの間での暗号化データ通信を可能にしたデータ通信方法およびシステムを提供することにある。
【背景技術】
【0002】
ネットワークにおける暗号化通信方法では、クライアントとサーバは、互いに意図しない相手装置との通信を防止するため、相手装置について認証手順を実行し、相手装置の認証に成功した時、通信に使用する暗号化パラメータを交換するようにしている。IETF(Internet Engineering Task Force)のRFC2401(非特許文献1)に記述されたIPsec(Internet Protocol Security)や、RFC2246(非特許文献2)に記述されたTLS(Transport Layer Security)では、通信相手の認証に公開鍵証明書が適用される。
【0003】
公開鍵証明書を用いた認証では、通信相手が提示した公開鍵証明書が信頼できる認証局から発行されたものであることを何らかの方法で検証する必要がある。公開鍵証明書の検証方法の1つとしては、例えば、通信相手が提示する公開鍵証明書の発行元認証局を証明するための信頼性のある認証局root証明書を何らかの方法で事前に入手しておき、通信相手の認証手順において、相手装置が提示した公開鍵証明書に付与された認証局の署名を、認証局のroot証明書の公開鍵によって検証する方法がある。この検証方法によれば、サーバとクライアントは、通信対象となる全ての通信装置の公開鍵証明書に対応して、各公開鍵証明書の発行元認証局のroot証明書を事前に用意しておく必要がある。
【0004】
例えば、図1に示すように、複数のクライアント(端末装置)CL1、CL2、CL3が、それぞれ発行元(CA1、CA2、CA3)の異なる秘密鍵SK1、SK2、SK3と公開鍵証明書PK1、PK2、PK3を所持し、サーバSV1、SV2、SV3も、それぞれ発行元(CA1、CA2、CA3)の異なる秘密鍵SK11、SK12、SK13と公開鍵証明書PK11、PK12、PK13を所持したシステムを想定する。ここで、各クライアントが、複数のサーバSV1、SV2、SV3と随時に通信できるようにするためには、図示したように、各サーバに、通信相手となる全てのクライアント装置CL1、CL2、CL3がもつ公開鍵証明書(PK1、PK2、PK3)の発行元認証局(CA1、CA2、CA3)と対応して、複数のroot証明書RT1、RT2、RT3を事前に所持しておく必要がある。同様に、各クライアントにも、通信相手となるサーバSV1、SV2、SV3がもつ公開鍵証明書(PK11、PK12、PK13)の発行元認証局(CA1、CA2、CA3)と対応して、複数のroot証明書RT1、RT2、RT3を事前に用意しておく必要がある。また、このシステム構成では、各クライアント装置とサーバは、通信相手を変えた時、その都度、認証処理を繰り返す必要がある。
【0005】
図2は、上記RFC2401に記述されたIPsecによる暗号化通信を行うためにクライアントが備えるソフトウェアの基本的なブロック構成を示す。
ここで、20は、ネットワークインタフェースカード(NIC)部、30は、TCP/IPレイヤ、40は、アプリケーションレイヤのソフトウェア部を示し、50は、RFC2409(非特許文献3)に記述された鍵管理(IKE:Internet Key Exchange)プロセス用のソフトウェア部を示している。暗号エンジン31は、TCP/IPレイヤのソフトウェアの一部として装備され、送信パケットに暗号化を適用するか否かの判定情報(SP情報)を記憶したSPDB(Security Policy Data Base)32と、暗号化通信に適用する暗号化方式や暗号鍵等の情報(SA情報)を記憶したSADB(Security Association Data Base)33とを備えている。
【0006】
上記クライアントの通信相手となるサーバも、図2と同様のソフトウェアを有し、クライアントとサーバのアプリケーションレイヤ同士、鍵管理プロセス同士が互いに通信するようになっている。
【0007】
暗号エンジン31は、アプリケーションレイヤ40のプログラムが発行したIPパケットの送信要求を検出すると、該IPパケットのヘッダ情報をSPDB32で検証し、このIPパケットにIPsecを適用すべきか否かを判定する。IPパケットにIPsecを適用すると判断した暗号エンジン31は、SADB33から、IPパケットに適用すべきSA(Security Association)情報を取得する。ここで、もし、SADB33に上記IPパケットと対応するSA情報が登録されていなかった場合、暗号エンジン31は、IKE(鍵管理)プロセス50に対して、通信相手(接続先サーバ)との間での暗号鍵を含むSA情報の交換を要求する。
【0008】
IKEプロセス50は、RFC2408(非特許文献4)に記載されたISAKMP(Internet Security Association and Key Management Protocol)に従って、通信相手とSA情報を交換する。ISAKMPでは、通信相手との間に暗号化通信路を形成した後、相手装置が通信を許容された真正な装置か否かを確認するための認証手順を実行する。IKEプロセス50は、上記認証手順によって、相手装置が暗号化通信を許容された真正な装置であることを確認すると、ISAKMPによって設定された通信路を介して、相手装置とSA情報の交換を開始する。IKEプロセス50は、通信相手とのSA情報の交換が完了すると、暗号エンジン31に、SA情報とこれに対応したSP(Security Policy)情報を通知する。
【0009】
暗号エンジン31は、IKEプロセス50から通知されたSP情報とSA情報をそれぞれSPDB32、SADB33に格納した後、IPパケットを上記SA情報に従って暗号化して、通信相手に送信する。通信相手となるサーバ側では、上記暗号化されたIPパケットを受信すると、IKEプロセスによって合意したSA情報に従って受信IPパケットを復号化し、サーバ側アプリケーションレイヤにIPパケットの受信を通知する。
【0010】
一方、RFC3261(非特許文献5)には、TLS(Transport Layer Security)によって、クライアント(ユーザエージェントクライアント)とセッション管理サーバであるSIP(Session Initiation Protocol)プロキシとの間、およびSIPプロキシとサーバ(ユーザエージェント・サーバ)との間の相互認証を行って、クライアントとSIPプロキシ、SIPプロキシとサーバが暗号化通信する方法が記載されている。RFC3261のSIPモデルによれば、クライアントとサーバは、それぞれがSIPプロキシによって真正な通信相手として確認済みであり、且つ、クライアントとサーバとの間では、暗号化されたSIPメッセージが送受信されるため、クライアント、サーバ、SIPプロキシ以外の他の装置が、上記クライアントとサーバとの間の通信内容を傍受することは困難となっている。
【0011】
SIPは、テキストベースのプロトコルであり、SIPメッセージは、ヘッダ部と、セッション内容を示すメッセージボディ部とからなる。SIPに関しては、RFC3263(非特許文献6)に記述されている。また、RFC2327(非特許文献7)には、セッション記述に適用されるSDP(Session Description Protocol)と、クライアントとサーバとの間で交換される暗号化パラメータの記述方法について開示されている。SIPモデルのクライアントとサーバは、それぞれがSIPプロキシとの間に形成した暗号通信路を介して、SIPメッセージによってセッション記述と暗号化パラメータを交換した後、上記暗号化パラメータを適用して、暗号化パケットを通信することができる。
【0012】
【非特許文献1】IETF、RFC2401:Security Architecture for the Internet Protocol、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2401.txt>
【非特許文献2】IETF、RFC2246:The TLS Protocol Version 1.0、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2246.txt>
【非特許文献3】IETF、RFC2409:The Internet Key Exchange (IKE) 、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2409.txt>
【非特許文献4】IETF、RFC2408:Internet Security Association and Key Management Protocol (ISAKMP) 、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2408.txt>
【非特許文献5】IETF、RFC3261:SIP: Session Initiation Protocol、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc3261.txt>
【非特許文献6】IETF、RFC3263:Session Initiation Protocol (SIP): Locating SIP Servers、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc3263.txt>
【非特許文献7】IETF、RFC2327:SDP: Session Description Protocol、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2327.txt>
【発明の開示】
【発明が解決しようとする課題】
【0013】
図3は、上述したSIPプロキシを適用した認証システムの1例を示す。ここで、PRは、複数のクライアントCL1、CL2、CL3と、複数のサーバSV1、SV2、SV3とに接続されたSIPプロキシを示す。SIPプロキシPRは、認証局CA4が発行した秘密鍵SK30と、公開鍵証明書PK30を使用しており、サーバSV1、SV2、SV3を認証するために、これらのサーバが使用する公開鍵証明書の発行元認証局(CA1、CA2、CA3)と対応した複数のroot証明書RT1、RT2、RT3を予め所持している。
【0014】
SIPプロキシを適用した認証システムでは、各サーバとクライアントは、図3に示すように、通信相手を認証するためのroot証明書として、SIPプロキシPRが使用する公開鍵証明書PK30の発行元認証局と対応したroot証明書RT4のみを所持すればよい。また、各クライアントは、SIPプロキシPRを介して1つのサーバと通信した後、接続先を別のサーバに変更する場合、SIPプロキシとの間では既に構築済みの暗号通信路を使用して通信できるため、新たな通信相手との間で暗号化パラメータを交換するだけで、暗号化通信を開始することが可能となる。つまり、SIPプロキシを適用した認証システムでは、各クライアントにとって、接続先サーバの変更の都度、新たに認証処理を行う必要がないという利点がある。
【0015】
然るに、SIPのフレームワークにおいては、セッション管理サーバ(SIPプロキシ)は、AOR(Address-of-Record)と呼ばれる「ユーザ名@ドメイン名」 形式をもつ識別子(SIP−URI)によって、受信SIPメッセージの転送先を決定している。従って、上述したSIPプロキシのようなセッション管理サーバ経由のセッション設定を前提としたネットワークシステムでは、クライアント上で実行されるアプリケーションは、接続先サーバを指定するための識別子として、サーバの所属ドメインを特定可能なSIP−URI(Uniform Resource Identifier)を使用する必要がある。
【0016】
更に詳述すると、SIPのフレームワークにおいては、クライアント側では、スタートラインに含まれるRequest−URIとして、接続先サーバを指定するAOR形式のSIP−URIを記述した接続要求SIPメッセージを生成し、該SIPメッセージをペイロードに含むIPパケットをクライアントの所属ドメインに位置するSIPプロキシ宛に送信する。上記IPパケットを受信したSIPプロキシは、Request−URIとして記述されたAORが示すドメイン名に基づいて、例えば、DNS(Domain Name System)のNAPTR Record検索とSRV Record検索を行うことにより、受信メッセージの転送先サーバが所属する他のドメインに位置したSIPプロキシ(転送先SIPプロキシ)のIPアドレスあるいはFQDN(Full Qualified Domain Name)を特定する。SRV Record検索の結果がFQDNを示した場合は、DNSのA Record検索を実行することによって、転送先SIPプロキシのIPアドレスを取得できる。尚、ドメイン名から転送先SIPプロキシのIPアドレスを取得する手順については、RFC3263(非特許文献6)に記述されている。
【0017】
ここで、接続先サーバの所属ドメインが、SIPメッセージを受信したSIPプロキシの所属ドメインと同一であった場合、SIPプロキシは、受信メッセージのRequest−URIに記述されたSIP−URIを検索キーとして、ロケーションサービスDB(データベース)から接続先サーバのIPアドレス(またはFQDN)を取得し、このIPアドレスをIPパケットの宛先アドレスとして、SIPメッセージを接続先サーバに転送する。接続先サーバの所属ドメインがSIPプロキシ(または送信元クライアント)の所属ドメインと異なった場合は、SIPメッセージは、接続先サーバの所属ドメインに位置した別のSIPプロキシに転送され、転送先のSIPプロキシが、ロケーションサービスDBから接続先サーバのIPアドレスまたはFQDNを取得して、SIPメッセージを接続先サーバに転送する。
【0018】
上述したように、セッション管理サーバ(SIPプロキシ)経由のセッション設定を前提とするネットワークでは、セッション管理サーバが、受信したSIPメッセージに含まれる要求リソース識別子(SIP−URI)から、接続先サーバが所属するドメインを判定し、受信メッセージを接続先サーバあるいは接続先セッション管理サーバに転送するようになっている。しかしながら、IP網に接続されるクライアント端末上で実行される一般のアプリケーションプログラムは、接続先サーバの指定に、上述したAOR形式のSIP−URIのようにSIPのフレームワークにおける識別子ではなく、IPアドレスのように接続先サーバのみを示す識別子を使用したり、URLなどのようにドメイン名を含んでいても、SIP−URIとは異なるフレームワークの識別子を使用したりしている。
【0019】
アプリケーションプログラムまたは暗号化通信ソフトが、接続先サーバをIPアドレスやURLで指定してサーバとの接続要求を発行し、クライアントが、接続先サーバをIPアドレスやURLで指定した形で接続要求SIPメッセージを送信した場合、セッション管理サーバ(SIPプロキシ)は、受信した接続要求メッセージの転送先ドメインを特定することができない。この場合、クライアントが図3に示した認証システムの利点を享受できないという問題がある。
【0020】
本発明の目的は、接続先の装置をIPアドレスやURLのような、セッション管理サーバが採用しているものとは異なる、アプリケーションの仕様に応じた識別子(以降、接続先識別子とも呼ぶ)で指定したセッション制御メッセージをセッション管理サーバ経由で接続先サーバに転送可能にしたデータ通信方法およびシステムを提供することにある。
本発明の他の目的は、接続先サーバを接続先識別子で指定したクライアントからの接続要求をセッション管理サーバ経由で当該接続先サーバに転送可能にしたデータ通信方法およびシステムを提供することにある。
本発明の更に他の目的は、クライアントとサーバとの間の暗号化データ通信を可能にし、且つ、暗号化データ通信に先立って必要となるクライアントとサーバとの間の認証手順を容易にしたデータ通信方法およびシステムを提供することにある。
【課題を解決するための手段】
【0021】
上記目的を達成するため、本発明では、クライアントのアプリケーションプログラムまたは暗号化通信ソフトが、接続先サーバを接続先識別子で指定した形で接続要求を発行した時、クライアントまたはセッション管理サーバまたは識別情報管理サーバで、上記接続先識別子をセッション管理サーバがドメイン識別可能な所望のリソース識別子に自動的に変換することを特徴とする。
【0022】
本発明によるクライアントとサーバとの間のデータ通信方法は、クライアントからセッション管理サーバあるいは識別情報管理サーバに、接続先の接続先識別子を指定して、該接続先サーバに割り当てられた所属ドメイン名を含むリソース識別子を問い合わせる第1ステップと、上記セッション管理サーバあるいは識別情報管理サーバが、接続先識別子とリソース識別子との対応関係を管理しているロケーションテーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、上記クライアントに通知する第2ステップと、上記クライアントから上記セッション管理サーバに、要求リソースを上記接続先サーバのリソース識別子で指定した接続要求メッセージを送信する第3ステップと、上記セッション管理サーバが、受信した接続要求メッセージに記述された上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とする。
【0023】
更に詳述すると、本発明のデータ通信方法は、接続要求メッセージの受信に応答して、接続先サーバからセッション管理サーバを介して要求元クライアントに、暗号化通信に必要となるパラメータ情報を含む接続応答メッセージを返送する第5ステップと、上記クライアントと接続先サーバとの間で、上記接続応答メッセージで指定されたパラメータ情報に従って暗号化されたメッセージを含むパケットを通信する第6ステップを含む。
【0024】
上記セッション管理サーバは、例えば、SIP(Session Initiation Protocol)サーバからなる。この場合、クライアントとセッション管理サーバとの間の通信メッセージは、例えば、RFC3261に規定されたTLS(Transport Layer Security)によって暗号化され、クライアントと接続先サーバとの間の通信データは、例えば、RFC2401に規定されたIPsec(Internet Protocol Security)によって暗号化される。
【0025】
本発明によって提供されるセッション管理サーバは、クライアントから、要求リソースを接続先サーバの接続先識別子で指定した接続要求メッセージを受信した時、接続先識別子とリソース識別子との対応関係を管理しているロケーションテーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、受信メッセージに記述された要求リソースを接続先識別子から上記リソース識別子に書き換えるための手段と、上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送するための手段とを備えたことを特徴とする。
【0026】
上記セッション管理サーバは、具体的には、通信ネットワークに接続されたネットワークインタフェース部と、セッション制御メッセージを処理するメッセージ処理部と、上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するためのセキュリティ部とを有し、上記メッセージ処理部が、上述した要求リソースの書き換え手段と受信メッセージの転送手段を備える。
【0027】
本発明によって提供されるクライアント端末は、通信ネットワークに接続されたネットワークインタフェース部と、セッション制御メッセージを処理するメッセージ処理部と、アプリケーションプログラムが発生する接続先サーバ宛の送信メッセージを暗号化して上記ネットワークインタフェース部に出力すると共に、上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記アプリケーションプログラムに渡すための第1セキュリティ部と、上記セキュリティ部から、接続先サーバとの暗号化パラメータの交換要求が発生した時、接続先サーバを接続先識別子で指定した接続要求メッセージを上記メッセージ処理部に出力し、上記メッセージ処理部から接続応答メッセージを受信した時、該受信メッセージから抽出した暗号化パラメータを上記第1セキュリティ部に渡すセキュリティ情報制御部とからなり、
上記メッセージ処理部が、上記セキュリティ情報制御部から接続要求メッセージを受信した時、上記接続先識別子に基づいて上記セッション管理サーバまたは接続先サーバから接続先サーバのリソース識別子を取得し、該リソース識別子で要求リソースを指定した形で、上記接続要求メッセージを上記セッション管理サーバに送信することを特徴とする。
【0028】
実際の応用では、本発明のクライアント端末は、上記ネットワークインタフェース部から受信した暗号化されたセッション制御メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するための第2セキュリティ部を有し、
接続先サーバとの通信データが上記第1セキュリティ部によって暗号化され、セッション管理サーバと通信メッセージが上記第2セキュリティ部によって暗号化される。
【発明の効果】
【0029】
本発明によれば、クライアントのアプリケーションプログラムまたは暗号化通信ソフトから、要求リソース(接続先サーバ)を接続先識別子で指定した形で接続要求が発行された場合でも、接続要求メッセージの要求リソースを接続先識別子からドメイン識別可能なリソース識別子に自動的に変換できる。従って、接続要求メッセージを転送制御するセッション管理サーバにおいて、受信メッセージのリソース識別子から転送先ドメインを判定し、受信メッセージを接続先サーバ、または接続先サーバの所属ドメインに位置した別のセッション管理サーバに転送することが可能となる。
本発明によれば、一般のアプリケーションプログラムを実行するクライアントでも、セッション管理サーバによる認証機能を利用することによって、接続先サーバとの間で容易に暗号化通信を実現できる。
【発明を実施するための最良の形態】
【0030】
以下、本発明の実施例について図面を参照して説明する。
図4は、本発明が適用されるネットワーク構成の1例を示す。
ここに示したネットワークは、SIPサーバSIPaが管理する第1ドメインを形成する第1のネットワークNW1と、SIPサーバSIPbが管理する第2ドメインを形成する第2のネットワークNW2と、ロケーションサーバLSVと、DNS(Domain Name System)とからなる。
【0031】
第1のネットワークNW1には、クライアントCL1a、CL2aと、サーバSV1a、SV2aが接続され、第2のネットワークNW2には、クライアントCL1b、CL2bと、サーバSV1b、SV2bが接続されている。また、SIPサーバSIPaは、SIPプロキシPRaとレジストラPGaとからなり、SIPサーバSIPbは、SIPプロキシPRbとレジストラPGbとからなっている。
【0032】
ここで、各クライアントおよびサーバに付随して括弧内に示した文字列は、SIPメッセージの転送先識別子(リソース識別子)となるAOR(Address-of-Record)形式のSIP−URIの値を示している。第1ネットワークNW1に接続されたクライアントとサーバには、SIPサーバSIPaのドメイン識別子「aaa.com」を含むAORが割り当てられ、第2ネットワークNW2に接続されたクライアントとサーバには、SIPサーバSIPbのドメイン識別子「bbb.com」を含むAORが割り当てられている。
【0033】
本発明のSIPサーバSIPa、SIPbは、それぞれの管轄下にあるクライアントから、接続先サーバをURLで指定したSIPメッセージを受信した時、ロケーションサーバLSVに、上記接続先URLと対応するAOR(リソース識別子)の検索(ロケーションデータ検索)を要求する。また、SIPサーバSIPa、SIPbは、それぞれ他のSIPサーバから、接続先サーバをAORで指定したSIPメッセージを受信した時、ロケーションサーバLSVに、上記接続先AORと対応するIPアドレスの検索を要求する。
【0034】
ロケーションサーバLSVは、ロケーションサービス・データベース(DB)に、例えば、図5に示すように、SIPサーバSIPa、SIPbの管轄下にあるクライアントおよびサーバと対応した複数のエントリEN−1、EN−2,・・・からなり、各エントリが、クライアントまたはサーバのAOR61とIPアドレス62との対応関係を示すロケーションサービステーブル60を格納する。また、ロケーションサーバLSVは、SIPサーバSIPa、SIPbの管轄下にあるクライアントおよびサーバと対応した複数のエントリREN−1、REN−2,・・・からなり、各エントリが、クライアントまたはサーバのアプリケーションプログラムや暗号化通信ソフトが通信相手の装置を識別するために用いる情報である識別情報63と、AOR61との対応関係を示す識別情報管理テーブル64と、を備えている。ロケーションサーバLSVは、SIPサーバからの検索キーとしてAORを指定されたロケーションデータ検索要求を受信した場合、上記ロケーションサービステーブル60から、当該AORと対応するIPアドレスを検索し、検索結果を要求元SIPサーバに返送する。同様に、ロケーションサーバLSVは、SIPサーバからの検索キーとしてURL等の識別情報63を指定されたロケーションデータ検索要求を受信した場合、上記識別情報管理テーブル64から、当該識別情報63と対応するAORを検索し、検索結果を要求元SIPサーバに返送する。なお、本実施例では、識別情報63にはURLやURIやIPアドレスなどが使用可能である。識別情報63はこれらURL等に限られず、それぞれの装置に独自に割り当てられ互いに識別が可能な情報であればよい。なお、IPアドレスを使用する場合には、URLやURIとの区別を容易にするため、IPアドレスの先頭に「ipv4:」や「ipv6:」などのプレフィックスをつけることが望ましい。
【0035】
図6は、SIPプロキシPRaのハードウェア構成を示す。SIPプロキシPRaは例えば、プロセッサ(CPU)11と、プロセッサが実行する各種ソフトウェアとデータを記憶するためのメモリ12およびハードディスク13と、ネットワークNW1(NW2)に接続するためのネットワークインタフェース14と、入出力装置15とからなり、これらの要素は内部バス16によって相互接続されている。SIPプロキシPRb、レジストラRGa、RGb、クライアントCL1a〜CL2b、サーバSV1a〜SV2bも、基本的には、図6に示したSIPプロキシPRaと同様の構成要素からなる。
【0036】
以下、図4に示した第1ドメインに所属するクライアントCL1aが、第2ドメインに所属するサーバSV1bと暗号化データ通信する場合の通信手順を例にして、本発明の第1の実施例について説明する。
【0037】
図7は、クライアントCL1aの基本的なソフトウェア構造の一例を示す。他のクライアントCL1b〜CL2bも、これと同様のソフトウェア構造をとりうる。クライアントCL1aのソフトウェアは、ネットワークインタフェースカード部(NIC)20Cと、暗号化/復号化機能を備えた暗号エンジン31Cを含む暗号化通信機能部30Cと、アプリケーションプログラム40Cと、鍵管理プロセス部50Cとからなる。第1実施例では、鍵管理プロセス部50Cが、暗号化通信制御部51Cと、TLS(Transport Layer Security)部52Cと、SIPメッセージ処理部53Cとを備えたことを特徴としている。
【0038】
図8は、サーバSV1bの基本的なソフトウェア構造の一例を示す。他のサーバSV1a、SV2a、SV2bも、これと同様のソフトウェア構造をとりうる。サーバSV1bのソフトウェアは、ネットワークインタフェースカード部(NIC)20Sと、IPsec暗号化/復号化機能を備えた暗号エンジン31Sを含む暗号化通信機能部30Sと、アプリケーションプログラム40Sと、鍵管理プロセス部50Sとからなり、鍵管理プロセス部50Sが、暗号化通信制御部51Sと、TLS部52Sと、SIPメッセージ処理部53Sとを備えている。
【0039】
本実施例では、クライアントCL1aのアプリケーションプログラム40CとサーバSV1bのアプリケーションプログラム40Sは、それぞれが備える暗号エンジン31C、31SのIPsec暗号化/復号化機能を利用して、IPsecによる暗号化データを通信する。一方、クライアントCL1aのSIPメッセージ処理部53Cは、後述するSIPサーバSIPa(SIPプロキシPRa、レジストラRGa)のSIPメッセージ処理部との間で、それぞれが備えるTLS部のメッセージ暗号化/復号化機能を利用して、暗号化されたSIPメッセージを通信する。同様に、サーバSV1bのSIPメッセージ処理部53Sも、SIPサーバSIPa(SIPプロキシPRa、レジストラRGa)のSIPメッセージ処理部との間で、それぞれが備えるTLS部のメッセージ暗号化/復号化機能を利用して、暗号化されたSIPメッセージを通信する。
【0040】
図9は、SIPプロキシPRaの基本的なソフトウェア構造の一例を示す。SIPプロキシPRbも、これと同様のソフトウェア構造をとりうる。SIPプロキシPRaのソフトウェアは、ネットワークインタフェースカード部(NIC)20Pと、暗号化通信機能部30Pと、鍵管理プロセス部50Pとからなる。鍵管理プロセス部50Pが、TLS部52Pと、SIPメッセージ処理部53Pとを備えている。SIPメッセージ処理部53Pは、後述するSIP−URI(AOR)検索機能54を備えている。SIPプロキシPRaのSIPメッセージ処理部53Pは、TLS部52Pのメッセージ暗号化/復号化機能を利用して、管理下にあるドメインに所属したクライアント、サーバ、および他のドメインを管理する他のSIPプロキシ、例えばPRbと暗号化メッセージを通信する。
【0041】
図10は、レジストラRGaの基本的なソフトウェア構造の一例を示す。レジストラRGbも、これと同様のソフトウェア構造をとりうる。レジストラRGaのソフトウェアは、ネットワークインタフェースカード部(NIC)20Rと、暗号化通信機能部30Rと、メッセージの暗号化/復号化機能を備えたTLS部52Rと、SIPメッセージ処理部53Rと、レジストラ処理部60Rとからなっている。SIPメッセージ処理部53Rは、クライアントが発行したAOR取得要求、またはSIPプロキシPRaが発行したAOR取得要求を受信すると、レジストラ処理部60Rにロケーションデータの検索を要求する。レジストラ処理部60Rは、SIPメッセージ処理部53Rからの要求に応答して、ロケーションサーバLSVが備えるロケーションサービスDBをアクセスする。尚、レジストラRGaとSIPプロキシPRaとの間の通信には、暗号化を適用しなくてもよい。
【0042】
図11と図12は、本発明による暗号化データ通信の第1の実施例を示すシーケンス図である。第1の実施例では、クライアントCL1aがAOR取得要求を発行する。本実施例において、クライアントCL1aからの接続要求先となる第2ネットワークに接続されたサーバSV1bは、クライアントCL1aからの接続要求に先立って、SIPサーバSIPbのレジストラRGbとの間で、サーバSV1bの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S1)を実行した後、レジストラRGbにロケーション登録要求メッセージ(SIPメッセージ:REGISTER)M1を送信する。
【0043】
ロケーション登録要求メッセージM1は、例えば、図13に示すように、IPヘッダH1と、UDP/TCPヘッダH2とを付したIPパケット形式で送信される。IPヘッダH1は、宛先アドレスとしてレジストラRGb(SIPサーバSIPb)のIPアドレス、送信元アドレスとしてサーバSV1bのIPアドレスを含む。
【0044】
SIPメッセージは、SIPメッセージの種類(Request-Method)を示すスタートラインと、要求または応答内容を記述したヘッダ部と、必要に応じてセッション内容を記述したメッセージボディ部とからなる。メッセージの種類によっては、上記スタートラインに、該メッセージの宛先を示すリソース識別子(Request-URI)が記述される。また、メッセージボディ部におけるセッション内容の記述には、RFC3266で仕様化されたSDP(Session Description Protocol)が適用される。
【0045】
サーバSV2bが発行するロケーション登録要求メッセージM1の場合、スタートラインには、SIPメッセージの種類として「REGISTER」、メッセージ宛先を示すリソース識別子として、レジストラRGbのSIP−URIである「registrar.bbb.com」が含まれる。また、スタートラインに続くヘッダ部には、SIPメッセージの経路を示すViaヘッダ、メッセージの宛先を示すToヘッダ、メッセージの送信元を示すFromヘッダ、送信元で指定したセッション識別子を示すCall−IDヘッダ、要求メソッドを示すCSecヘッダ、ロケーションサービステーブルに登録すべきサーバSV1bのIPアドレス「sv1@192.0.2.4」を含むContactヘッダ、メッセージの有効時間を示すExpiresヘッダ、後続するメッセージボディ部の長さを示すContent−Lengthヘッダ、その他のヘッダ情報が含まれる。本実施例のロケーション登録要求メッセージM1の場合、メッセージボディ部にはサーバSV1bの識別情報63のリストが含まれる。Content−Lengthヘッダにはメッセージボディ部の長さとして値「76」が設定され、ToヘッダとFromヘッダには、要求元サーバSV1bのSIP−URIの値「sv1@bbb.com」が設定されている。
【0046】
レジストラRGbは、上記ロケーション登録要求メッセージM1を受信すると、ロケーションサービスDBのロケーションサービステーブル60に、受信メッセージのFromヘッダが示す要求元SIP−URI「sv1@bbb.com」とContactヘッダが示す要求元IPアドレス「sv1@192.0.2.4」との関係を示すロケーションデータを登録するとともに、識別情報管理テーブル64に、受信メッセージのメッセージボディ部に含まれている各々の識別情報63と受信メッセージのFromヘッダが示す要求元SIP−URI「sv1@bbb.com」との関係を示す識別情報データを登録し(S2)、データの登録が完了すると(S3)、要求元サーバSV2bに、図14に示すロケーション登録応答メッセージM2を送信する。ロケーション登録応答メッセージM2のスタートラインは、SIPメッセージの種類として、応答メッセージであることを示す「200 OK」を含み、ヘッダ部には、ロケーション登録要求メッセージM1と略同一内容のヘッダ情報が設定される。
【0047】
この状態で、クライアントCL1aのユーザが、アプリケーションプログラムを立ち上げ、サーバSV1bのURL「http://www.bbb.com/」宛に通信を要求する操作を行った場合について説明する。本発明の第1の実施例では、クライアントCL1aが、SIPサーバSIPa(レジストラRGa)との間で、クライアントの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S4)を実行した後、SIPサーバSIPa(レジストラRGa)にAOR(Address-of-Record)取得要求メッセージ(SIPメッセージ:GET AOR)M3を送信する。
【0048】
上記AOR取得要求メッセージM3は、例えば、図15に示すように、スタートラインに、SIPメッセージ種類を示す「GET AOR」と、レジストラRGaのSIP−URIである「registrar.aaa.com」を含み、Viaヘッダは、クライアントCL1aの暗号化通信制御部51Cの識別子となるURIの値を示している。また、Toヘッダには、クライアントCL1aの接続相手となるサーバSV1bのURL「http://www.bbb.com/」が設定され、Fromヘッダには、クライアントCL1aのURI「cl1@aaa.com」が設定されている。
【0049】
レジストラRGaは、AOR取得要求メッセージM3を受信すると、ロケーションサービスDBの識別情報管理テーブル64から、受信メッセージのToヘッダが示すURL「http://www.bbb.com/」と対応するAOR(サーバSV1bのURI)の値を検索し(S5)、ロケーションデータAORの検索が完了すると(S6)、要求元クライアントCL1aにAOR取得応答メッセージM4を送信する。
【0050】
AOR取得応答メッセージM4は、図16に示すように、スタートラインに、メッセージ種類が応答メッセージであることを示す「200 OK」を含み、ヘッダ部には、AOR取得要求メッセージM3と略同一内容のヘッダ情報と、識別情報管理テーブル64から検索されたサーバSV1bのSIP−URIの値「sv1@bbb.com」を示すAORヘッダが記述されている。
【0051】
上記AOR取得応答メッセージM4の受信によって接続先サーバSV1bのSIP−URIを取得したクライアントCL1aは、SIPサーバSIPaのSIPプロキシPRaとの間で、クライアントの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S7)を実行した後、SIPプロキシPRaに対して、サーバSV1bへの接続要求メッセージM5を送信する。
【0052】
接続要求メッセージM5は、図17に示すように、接続要求メッセージのヘッダ部M5−1とボディ部M5−2とからなり、接続要求メッセージのヘッダ部M5−1は、スタートラインに、メッセージ種類「INVITE」と、Request−URIとして、メッセージ宛先となるサーバSV1bのSIP−URI「sv1@bbb.com」を含む。また、ヘッダ情報として、クライアントCL1aにおけるSIPメッセージ処理部53CのSIP−URIを示すViaヘッダ、サーバSV1bのSIP−URI「sv1@bbb.com」を含むToヘッダ、クライアントCL1aのSIP−URI「cl1@aaa.com」を含むFromヘッダと、Content−Typeヘッダ、Content−Lengthヘッダ、その他の情報を含む。Content−Typeヘッダは、ボディ部M5−2が関係するアプリケーションプログラムを示し、Content−Lengthヘッダは、ボディ部M5−2の長さを示している。
【0053】
接続要求メッセージM5のボディ部M5−2は、例えば、図18に示すように、クライアントCL1aとサーバSV1bとの間での暗号化通信に適用するSA情報として、IKEにおける通常のIPsec用SA設定時と同様、暗号化プロトコルの識別情報を示すプロポーザルペイロード91と、トランスフォーム識別情報を示すトランスフォームペイロード92、鍵交換ペイロード93、要求元の識別情報を示す第1IDペイロード94と、接続先の識別情報を示す第2IDペイロード95を含んでいる。
【0054】
ここでは、クライアントCL1aが、2つのトランスフォームペイロード92−1、92−2で、トランスフォームIDとして「ESP-AES」と「ESP-3DES」を提案しており、そのうちの1つを接続先サーバSV1bが選択して、接続応答メッセージでクライアントに通知することになる。尚、第1IDペイロード94のIDデータは、要求元クライアントCL1aのIPアドレスを示し、第2IDペイロード95のIDデータは、接続先サーバSV1bのIPアドレスを示す。なお、本実施例のクライアントCL1aは、接続先サーバSV1bのIPアドレスとして、サーバSV1bのURL「http://www.bbb.com/」に対応するIPアドレスをDNSから取得する。
【0055】
SIPプロキシPRaは、上記接続要求メッセージM5を受信すると、要求元クライアントCL1aにサーバSV1bと接続中であることを通知するために、図19に示す接続中メッセージM6を送信した後、接続先サーバSV1bが所属するドメインのSIPプロキシPRbとの間で、相互の認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S8)を実行する。接続中メッセージM6は、スタートラインに、メッセージ種類として、要求を実行中であることを示す「100 Trying」を含み、ヘッダ部に、接続要求メッセージM5から抽出されたVia、To、From、Call−ID、CSec等の数項目のヘッダ情報を含み、メッセージボディ部は省略されている。
【0056】
SIPプロキシPRaは、SIPプロキシPRbとの間のTLSネゴシェーションが終わると、クライアントから受信した接続要求メッセージM5に、自分のSIP−URI「proxy.aaa.com」を含む新たなViaヘッダと、接続要求がURI「proxy.aaa.com」を経由したことを示すRecord−Routeヘッダを追加し、図20に示す接続要求メッセージM7として、SIPプロキシPRbに送信する。
【0057】
SIPプロキシPRbは、上記接続要求メッセージM7を受信すると、受信メッセージのスタートラインから宛先URI「SV1@bbb.com」を抽出し、図12に示すように、ロケーションサーバLSVに対して、ロケーションサービスDBからの上記宛先URIと対応したIPアドレスの検索(ロケーションデータ検索)を要求する(S9)。SIPプロキシPRbは、ロケーションサービスDBの検索結果を示すロケーションデータ(IPアドレス「sv1@192.0.2.4」)を受信すると(S10)と、上記接続要求メッセージM7の要求元SIPプロキシPRaに対して、図21に示す接続中メッセージM8を送信した後、IPアドレス「sv1@192.0.2.4」で特定される接続先サーバSV1bとの間で、相互の認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S11)を実行する。
【0058】
SIPプロキシPRbは、接続先サーバSV1bとの間のTLSネゴシェーションが終了すると、接続要求メッセージM7のRequest−URIをIPアドレス「sv1@192.0.2.4」に書き換え、自分のSIP−URI「proxy.bbb.com」を含む新たなViaヘッダと、接続要求がURI「proxy.bbb.com」を経由したことを示すRecord−Routeヘッダを追加し、図22に示す接続要求メッセージM9として接続先サーバSV1bに送信する。
【0059】
接続先サーバSV1bは、上記接続要求メッセージM9に応答して、接続応答メッセージM10を返信する。接続応答メッセージM10は、図23に示すように、ヘッダ部M10−1とボディ部M10−2とからなり、ヘッダ部M10−1のスタートラインには、メッセージ種類として、応答メッセージであることを示す「200 OK」を含み、スタートラインに続いて、接続要求メッセージM9と同様の複数項目のヘッダ情報を含む。また、ボディ部M10−2は、例えば、図24に示すように、接続要求メッセージM10のボディ部M5−2で提案された2つのトランスフォームペイロード92−1、92−2のうち、サーバSV1bが選択した1つのトランスフォームペイロード(この例では、EPS-AES)を残している。
【0060】
SIPプロキシPRbは、接続応答メッセージM10を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図25に示す接続応答メッセージM11に変換して、SIPプロキシPRaに送信する。SIPプロキシPRaは、接続応答メッセージM11を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図26に示す接続応答メッセージM12に変換して、要求元クライアントCL1aに送信する。
【0061】
要求元クライアントCL1aは、接続応答メッセージM12を受信すると、受信メッセージのボディ部M10−2を解析して、接続先サーバSV1bとのIPsec通信に適用すべきSA情報を決定し、これをSADB33Cに登録した後、図27に示す接続確認メッセージM13をSIPプロキシPRaに送信する。接続確認メッセージM13は、スタートラインに、メッセージ種類「ACK」と、Request−URIとしてサーバSV1bのSIP−URIを含み、ヘッダ情報として、Via、To、From、Call−ID、CSec、Routeヘッダを含み、メッセージボディ部は省略されている。Routeヘッダには、接続応答メッセージM12のRecord−Routeヘッダから抽出されたURIの値が設定される。
【0062】
上記接続確認メッセージM13は、SIPプロキシPRaで新たなViaヘッダを追加し、SIPプロキシPRaと対応するRouteヘッダを除去して、図28に示す接続確認メッセージM14としてSIPプロキシPRbに転送される。SIPプロキシPRbは、接続確認メッセージM14に新たなViaヘッダを追加し、SIPプロキシPRbと対応するRouteヘッダを除去し、図29に示す接続確認メッセージM15に変換して接続先サーバSV1bに転送する。
【0063】
サーバSV1bが上記接続確認メッセージM15を受信することによって、クライアントCL1aとサーバSV1bは、IPsec暗号化を適用したアプリケーション間のデータ通信(S20)が可能となる。すなわち、クライアントCL1aは、サーバSV1bへの送信データをSADB33Cに登録されているSA情報に従って暗号化し、これをIPパケット形式で送信する。サーバSV1bは、クライアントCL1aからの受信データをSADB33Vに登録されているSA情報に従って復号化し、クライアントCL1aへの送信データを上記SA情報に従って暗号化して、IPパケット形式で送信できる。
【0064】
クライアントCL1aは、サーバSV1bとの間でのデータ通信が終了すると、SIPプロキシPRaに対して、図30に示す切断要求メッセージM20を送信する。切断要求メッセージM20は、スタートラインに、メッセージ種類「BYE」とサーバSV1bのSIP−URIを含み、ヘッダ情報として、接続確認メッセージM13と同様、Via、To、From、Call−ID、CSec、Routeヘッダを含み、メッセージボディ部は省略される。
【0065】
SIPプロキシPRaは、上記切断要求メッセージM20を受信すると、要求元のクライアントVL1aに対して、図31に示す切断中メッセージM21を送信した後、切断要求メッセージM20に新たなViaヘッダを追加し、SIPプロキシPRaと対応するRouteヘッダを除去し、図32に示す切断要求メッセージM22として、SIPプロキシPRbに送信する。切断中メッセージM21は、スタートラインに、メッセージ種類として、要求を実行中であることを示す「110 Trying」を含み、ヘッダ部に、切断要求メッセージM20から抽出されたVia、To、From、Call−ID、CSec等の数項目のヘッダ情報を含み、メッセージボディ部は省略されている。
【0066】
SIPプロキシPRbは、上記切断要求メッセージM22を受信すると、SIPプロキシPRaに対して、図33に示す切断中メッセージM23を送信した後、切断要求メッセージM22に新たなViaヘッダを追加し、SIPプロキシPRbと対応するRouteヘッダを除去し、図34に示す切断要求メッセージM24として、サーバSV1bに送信する。
【0067】
サーバSV1bは、切断要求メッセージM24を受信すると、図35に示す切断応答メッセージM25をSIPプロキシPRbに送信する。切断応答メッセージM25は、スタートラインに、メッセージ種類として、応答を示す「200 OK」を含み、ヘッダ部に、切断要求メッセージM24から抽出されたVia、To、From、Call−ID、CSec等の数項目のヘッダ情報を含み、メッセージボディ部は省略されている。
【0068】
SIPプロキシPRbは、切断応答メッセージM25を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図36に示す切断応答メッセージM26に変換して、SIPプロキシPRaに送信する。SIPプロキシPRaは、切断応答メッセージM26を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図37に示す切断応答メッセージM27に変換して、要求元クライアントCL1aに送信する。要求元クライアントCL1aは、上記切断応答メッセージM27を受信すると、IPsec暗号化/復号化を終了し、同一または別のアプリケーションによる新たなパケット送信要求を待つ。
【0069】
次に、図38〜図48を参照して、上述した本発明の第1実施例の暗号化データ通信を可能にするクライアントCL1a、SIPサーバSIPa(SIPプロキシPRa、レジストラRGa)、サーバSV2bの制御動作について説明する。
【0070】
クライアントCL1aの暗号エンジン31Cは、アプリケーション40CからサーバSV1bのURL宛への通信要求を検出すると、上記URLとの通信に暗号化処理を適用するか否かの判定を、鍵管理プロセス50Cに要求する。ここで、鍵管理プロセス50Cが暗号化通信適用要と判定した場合、暗号エンジン31Cは、DNSにより上記SIP−URIに対応するIPアドレスを取得する。そして暗号エンジン31Cは、SADB(Security Association Data Base)33Cから、上記IPアドレスとの通信に適用すべき暗号鍵などのSA(Security Association)情報を検索し、当該SA情報を用いてアプリケーション40CからサーバSV1bに宛てられた通信データを暗号化したり、サーバSV1bからアプリケーション40Cに宛てられた通信データを復号したりする。一方、SADB33Cに上記IPアドレスとの通信に適用すべきSA情報が未登録の場合、暗号化通信制御部51Cは、アプリケーション40CからサーバSV1bに宛てられた通信データや、サーバSV1bからアプリケーション40Cに宛てられた通信データを廃棄するよう決定する。
【0071】
図38は、クライアントCL1aにおいて、暗号エンジン31が発行する暗号化通信適用可否判定の要求に応答して暗号化通信制御部51Cが実行する制御動作のフローチャート100を示す。
【0072】
本実施例では、暗号エンジン31Cからの暗号化通信適用要否判定の要求を暗号化通信制御部51Cで処理する。暗号化通信制御部51は、暗号化通信適用可否判定要求を受信すると、暗号化通信適用可否判定要求が示すURLに対応する、AOR形式のSIP−URI取得をSIPメッセージ処理部53Cに要求し(ステップ101)、SIPメッセージ処理部53Cからの応答を待つ(102)。次に、暗号化通信制御部51は、SPDB(Security Policy Data Base)32Cを参照して、SIPメッセージ処理部53Cからの応答に含まれる、上記URLに対応するSIP−URIに対する暗号化通信の適用の要否判定する。ここで、暗号化通信を適用すべきと判断した場合、鍵管理プロセス50Cは、SADB(Security Association Data Base)33Cから、上記SIP−URIに適用すべき暗号鍵などのSA(Security Association)情報を検索する。ここで、SADB33Cに当該通信に適用すべきSA情報が未登録の場合、暗号化通信制御部51Cは、通信相手との暗号化パラメータの交換(鍵交換)を実施する。
【0073】
暗号化通信制御部51Cは、DNS等を参照して取得した、上記URLが示すTCP/IP通信パラメータと、暗号化通信制御部51Cが管理している利用可能なSA情報とに基づいて、図18に例示した接続要求メッセージのボディ部M5−2を作成し(ステップ103)、該接続要求メッセージボディ部M5−2と上記SIP−URLとをSIPメッセージ処理部53Cに渡し(104)、SIPメッセージ処理部53Cからの接続応答メッセージボディ部の受信を待つ(105)。
【0074】
暗号化通信制御部51Cは、SIPメッセージ処理部53Cから、図24に例示した接続応答メッセージボディ部M10−2を受信すると、受信した接続応答メッセージボディ部を解析し、今回の暗号化通信に使用すべきSA情報を決定し(、SADB33Cに設定する(106)と、暗号エンジン31Cに暗号化通信の適用要否判定結果を通知する(107)。
【0075】
図39Aは、暗号化通信制御部51CからSIP−URI取得を要求された場合、SIPメッセージ処理部53Cが実行する制御動作のフローチャート110を示す。
SIPメッセージ処理部53Cは、暗号化通信制御部51CからURLを受信すると、図15に例示したAOR取得要求メッセージM3を作成し(ステップ111)、該メッセージをTSL部52C、TCP/IP部30C、NIC部20Cを介して、クライアントCL1aと同一ドメインに位置するSIPサーバSIPa(レジストラRGa)宛に送信する(112)。このとき、TLS部52Cは、レジストラRGaとの間でTLSネゴシェーション(図11のS5)を実行した後、TLS暗号化されたAOR取得要求メッセージM3をTCP/IP部30C、NIC部20Cを介してレジストラRGaに送信する。上記AOR取得要求メッセージM3は、TCP/IP部30Cによって、SIPサーバSV1宛の宛先IPアドレスを含むIPヘッダH1とUDP/TCPヘッダH2とが付加され、IPパケット形式でネットワークNW1に送出される。
【0076】
SIPメッセージ処理部53Cは、レジストラRGaからのAOR取得応答メッセージを待っており(113)、AOR取得応答メッセージを受信すると、受信メッセージを解析し(114)、AORヘッダから接続先サーバに割り当てられたAOR形式のSIP−URIを抽出する(115)。
【0077】
図39Bは、暗号化通信制御部51Cから接続要求メッセージのボディ部を受信した時、SIPメッセージ処理部53Cが実行する制御動作のフローチャート120を示す。
【0078】
SIPメッセージ処理部53Cは、暗号化通信制御部51Cから接続要求メッセージのボディ部とSIP−URIとを受信すると、上記SIP−URIをスタートラインとToヘッダに適用して、ヘッダ部M5−1と暗号化通信制御部51Cから受信したボディ部M5−2とからなる図17に例示した接続要求メッセージM5を作成する(121)。
【0079】
SIPメッセージ処理部53Cは、上記接続要求メッセージをTSL部52C、TCP/IP部30C、NIC部20Cを介して、SIPサーバSIPaのSIPプロキシPRa宛に送信し(122)、SIPプロキシPRaからの応答を待つ(123)。SIPプロキシPRaから接続中メッセージM6を受信した場合は、接続中メッセージ処理(124)を実行した後、SIPプロキシPRaからの次の応答を待つ。
【0080】
SIPメッセージ処理部53Cは、SIPプロキシPRaから接続応答メッセージM12を受信すると、受信メッセージを解析し(125)、受信メッセージから抽出した図24に例示した接続応答メッセージボディ部M12−2を暗号化通信制御部51Cに渡す(126)。この後、SIPメッセージ処理部53Cは、図27に例示した接続確認メッセージM13を作成し、これをTSL部52C、TCP/IP部30C、NIC部20Cを介して、SIPプロキシPRa宛に送信し(127)、このルーチンを終了する。
【0081】
図40は、AOR取得要求メッセージM3を受信した時、レジストラRGaのSIPメッセージ処理部53Rが実行する制御動作のフローチャート200を示す。レジストラRGaのSIPメッセージ処理部53Rは、受信したAOR取得要求メッセージM3を解析し(ステップ201)、Toヘッダが示す接続先サーバSV1bのURLを検索キーとして、ロケーションデータ検索クエリを作成し(202)、レジストラ処理部60Rを介して、上記検索クエリをロケーションサーバLSVに送信し(203)、ロケーションサーバからの応答を待つ(204)。
【0082】
SIPメッセージ処理部53Rは、レジストラ処理部60Rを介して、ロケーションサーバLSVからロケーションデータを受信すると、受信データが示すSIP−URIをAORヘッダとして含む図16に例示したAOR取得応答メッセージM4を作成し(205)、該メッセージM4をTCP/IP部30R、NIC部20Rを介してAOR取得要求メッセージM3の送信元(この例では、クライアントCL1a)に送信し(206)、このルーチンを終了する。
【0083】
図41(図41A〜図41D)は、クライアントCL1aから接続要求メッセージM5を受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作のフローチャート300を示す。SIPプロキシPRaのSIPメッセージ処理部53Pは、クライアントCL1aからの接続要求メッセージM5を受信すると、受信メッセージを解析し(ステップ301)、受信メッセージのスタートラインに記述されたRequest−URIをチェックして(302)、上記Request−URIが示すドメイン名から、受信メッセージの転送先を判定する(303)。
【0084】
受信メッセージの転送先が他のドメインに所属していると判定された場合、SIPメッセージ処理部53Pは、DNS検索(NAPTR検索+SRV検索+A検索)等によって、受信メッセージの転送先ドメインのSIPサーバ(SIPプロキシ)を決定する(304)。図11で示した例では、DNS検索によって、接続要求メッセージM5の転送先が、SIPプロキシPRbであることが判明する。この場合、SIPメッセージ処理部53Pは、図19で例示した接続中メッセージM6をTLS部52P、TCP/IP部30P、NIC部20Pを介して、接続要求メッセージM5の送信元であるクライアントCL1aに送信(305)した後、接続要求メッセージM5に新たなViaヘッダを付加した形の接続要求メッセージM7をSIPプロキシPRbに転送して(306)、SIPプロキシPRbからの応答を待つ(307)。
【0085】
SIPメッセージ処理部53Pは、SIPプロキシPRbから接続中メッセージM8を受信すると、接続中メッセージ処理(308)を実行した後、SIPプロキシPRbからの次の応答を待つ。SIPメッセージ処理部53Pは、SIPプロキシPRbから接続応答メッセージM11を受信すると、受信メッセージを解析し(309)、受信メッセージから自SIP−URIを含むViaヘッダを除去し、接続応答メッセージM12として、接続要求元(クライアントCL1a)に転送する(310)。この後、SIPメッセージ処理部53Pは、接続要求元(クライアントCL1a)からの応答を待つ(311)。SIPメッセージ処理部53Pは、接続確認メッセージM13を受信すると、受信メッセージを解析し(312)、受信メッセージに自分のSIP−URIを含む新たなViaヘッダを付加し、接続確認メッセージM13として、SIPプロキシPRbに転送して(313)、このルーチンを終了する。
【0086】
判定ステップ303で、クライアント端末CL1aから受信した接続要求メッセージの転送先が、例えば、サーバSV1a(またはSV2a)のように、SIPプロキシPRaと同一ドメインに所属していると判定された場合、SIPメッセージ処理部53Pは、受信メッセージのRequest−URIが示すSIP−URIを検索キーとするロケーションデータ(IPアドレス)検索クエリを作成し(315)、該ロケーションデータ検索クエリをロケーションサーバLSVに送信して(316)、ロケーションサービス応答を待つ(317)。
【0087】
SIPメッセージ処理部53Pは、ロケーションサーバLSVからロケーションデータを受信すると、上記ロケーションデータが示す接続先サーバのIPアドレスを宛先IPアドレスに適用して、接続要求メッセージをIPパケット形式でネットワークNW1に送信し(318)、接続先サーバからの応答を待つ(319)。上記接続要求メッセージには、SIPプロキシPRaのSIP−URIを含む新たなViaヘッダが付加されている。
【0088】
接続先サーバから接続応答メッセージを受信すると、SIPメッセージ処理部53Pは、受信メッセージを解析し(320)、自分と対応するViaヘッダを除去した形の接続応答メッセージを接続要求元に転送して(321)、接続要求元(クライアントCL1a)からの応答を待つ(322)。SIPメッセージ処理部53Pは、接続要求元から接続確認メッセージを受信すると、受信メッセージを解析し(323)、新たなViaヘッダを付加した形の接続確認メッセージを接続先サーバに転送して(324)、このルーチンを終了する。
【0089】
図42(図42A、図42B)は、接続先サーバSV1bのSIPメッセージ処理部53Sが、SIPプロキシPRbから接続要求メッセージM9を受信した時に実行する制御動作のフローチャート400を示す。SIPプロキシPRbから接続先サーバSV1bに送信された接続要求メッセージM9は、TLS部52Sで復号した後、SIPメッセージ処理部53Sに入力される。SIPメッセージ処理部53Sは、接続要求メッセージM9を受信すると、受信メッセージを解析し(ステップ401)、受信メッセージから抽出した接続要求メッセージボディ部M5−2を暗号化通信制御部51Sに渡し(402)、暗号化通信制御部51Sからの応答を待つ(403)。
【0090】
SIPメッセージ処理部53Sは、暗号化通信制御部51Sから接続応答メッセージボディ部M10−2を受信すると、図25に例示した接続応答メッセージM11を作成する(404)。SIPメッセージ処理部53Sは、TLS部、TCP/IP部、NIC部を介して、上記接続応答メッセージM11をSIPプロキシPRbに転送し(405)、SIPプロキシPRbからの応答を待つ(406)。SIPメッセージ処理部53Sは、SIPプロキシPRbから、接続確認メッセージM15を受信すると、受信メッセージを解析し(407)、接続確認メッセージM15を受信したことを暗号化通信制御部51Sに通知して(408)、このルーチンを終了する。
【0091】
図43は、SIPメッセージ処理部53Sから接続要求メッセージボディ部M5−2を受信した時、サーバSV1bの暗号化通信制御部51Sが実行する制御動作の示すフローチャート420を示す。
暗号化通信制御部51Sは、SIPメッセージ処理部53Sから受信した接続要求メッセージボディ部M5−2を解析し(ステップ421)、接続要求メッセージボディ部M5−2に記述されたSA情報(図18の例では、トランスフォームペイロード92−1、92−2)から、クライアントとの暗号化通信に適用すべきSAを選択して、図24に例示した接続応答メッセージのボディ部M10−2を作成する(422)。暗号化通信制御部51Sは、上記接続応答メッセージボディ部M10−2をSIPメッセージ処理部53Sに渡し(423)、SIPメッセージ処理部53Sからの応答を待つ(424)。暗号化通信制御部51Sは、SIPメッセージ処理部53Sから接続確認メッセージの受信通知を受けると、SADB33SにSA情報を設定して(425)、このルーチンを終了する。
【0092】
図44は、クライアントCL1aにおいて、暗号エンジン31Cが発行する通信終了要求に応答して暗号化通信制御部51Cが実行する制御動作のフローチャート130を示す。クライアントCL1aのユーザが、サーバSV1bと交信していたアプリケーションを終了すると、暗号エンジン31Cから暗号化通信制御部51Cに、通信終了要求が発行される。SA/SP制御部51Cは、暗号エンジン31Cから通信終了要求を受信すると、SIPメッセージ処理部53Cに、切断要求メッセージの発行を要求し(131)、SIPメッセージ処理部53Cからの応答を待つ(132)。SA/SP制御部51Cは、SIPメッセージ処理部53Cから切断応答メッセージの受信通知を受けると、上記暗号鍵消去要求と対応するSADB33Sの設定値を消去し(133)、このルーチンを終了する。
【0093】
図45は、SA/SP制御部51Cから切断要求メッセージの発行要求を受信した時にSIPメッセージ処理部53Cが実行する制御動作のフローチャート140を示す。SIPメッセージ処理部53Cは、SA/SP制御部51Cから切断要求メッセージの発行要求を受信すると、図30に例示した切断要求メッセージM20を作成し(ステップ141)、TLS部52C、TCP/IP部30Cの暗号エンジン31C、NIC部20Cを介して、上記切断要求メッセージM20のIPパケットをSIPサーバSIPa(SIPプロキシPRa)に送信する(142)。
【0094】
SIPメッセージ処理部53Cは、SIPプロキシPRaからの応答を待ち(143)、切断中メッセージM21を受信した場合は、切断中メッセージ処理(144)を実行した後、SIPプロキシPRaからの次の応答を待つ。SIPメッセージ処理部53Cは、SIPプロキシPRaから図37に例示した切断応答メッセージM27を受信すると、受信メッセージを解析し(145)、暗号化通信制御部51Cに切断応答メッセージの受信を通知し(146)、このルーチンを終了する。
【0095】
図46(図46A、図46B)は、クライアントから切断要求メッセージM20を受信した時にSIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作のフローチャート340を示す。SIPメッセージ処理部53Pは、受信した切断要求メッセージM20を解析し(ステップ341)、受信メッセージのRequest−URIをチェックする(342)。SIPメッセージ処理部53Pは、Request−URIに記述されたドメイン名から、受信メッセージの転送先を判定し(343)、転送先が他のドメインに所属していると判定された場合、DNS検索(NAPTR検索+SRV検索+A検索)等によって、受信メッセージの転送先ドメインのSIPサーバ(SIPプロキシ)を決定する(344)。
【0096】
図12で示した例では、上記DNS検索によって、切断要求メッセージM20の転送先が、SIPプロキシPRbであることが判明する。この場合、SIPメッセージ処理部53Pは、TLS部52P、TCP/IP部30P、NIC部20Pを介して、切断要求メッセージM20の送信元であるクライアントCL1aに、図31に例示した切断中メッセージM21を送信(345)した後、切断要求メッセージM20に新たなViaヘッダを付加し、SIPプロキシPRaに対応するRouteヘッダを除去した切断要求メッセージM22をSIPプロキシPRbに転送し(346)、SIPプロキシPRbからの応答を待つ(347)。
【0097】
SIPメッセージ処理部53Pは、SIPプロキシPRbから切断中メッセージM23を受信すると、切断中メッセージ処理(348)を実行した後、SIPプロキシPRbからの次の応答を待つ。SIPメッセージ処理部53Pは、SIPプロキシPRbから切断応答メッセージM26を受信すると、受信メッセージを解析し(349)、受信メッセージから自SIP−URIを含むViaヘッダを除去し、切断応答メッセージM27として、切断要求元(クライアントCL1a)に転送し(350)、このルーチンを終了する。
【0098】
尚、判定ステップ343で、もし、クライアント端末CL1aから受信した切断要求メッセージM20の転送先が、SIPプロキシPRaと同一ドメインに所属していると判定された場合、SIPメッセージ処理部53Pは、受信メッセージのRequest−URIが示すSIP−URIを検索キーとするロケーションデータ(IPアドレス)検索クエリを作成し(351)、該検索クエリをロケーションサーバLSVに送信して(352)、ロケーションサービス応答を待つ(353)。
【0099】
SIPメッセージ処理部53Pは、ロケーションサーバLSVからロケーションデータを受信すると、上記ロケーションデータが示すサーバIPアドレスを宛先IPアドレスに適用して、切断要求メッセージのIPパケットをネットワークNW1に送信し(354)、サーバからの応答を待つ(355)。尚、上記切断要求メッセージには、SIPプロキシPRaのSIP−URIを含む新たなViaヘッダが付加されている。切断要求メッセージの宛先サーバから切断応答メッセージを受信すると、SIPメッセージ処理部53Pは、受信メッセージを解析し(356)、自分のViaヘッダを除去した形の切断応答メッセージを切断要求元に転送し(357)、このルーチンを終了する。
【0100】
図47は、SIPプロキシから切断要求メッセージM24を受信した時、サーバSV1bのSIPメッセージ処理部53Sが実行する制御動作のフローチャート430を示す。SIPメッセージ処理部53Sは、TLS部52Sを介して切断要求メッセージM24を受信すると、受信メッセージを解析し(ステップ431)、暗号化通信制御部51Sに対して、切断すべき通信の識別情報(例えば、Call−ID)を指定して、切断要求の受信を通知し(432)、暗号化通信制御部51Sからの応答を待つ(433)。SIPメッセージ処理部53Sは、暗号化通信制御部51Sから切断応答を受信すると、図35に例示した切断応答メッセージM25を作成し(434)、TLS部、TCP/IP部、NIC部を介してSIPプロキシPRbに転送し(435)、このルーチンを終了する。
【0101】
図48は、SIPメッセージ処理部53Sから切断要求の発生を通知された時、暗号化通信制御部51Sが実行する制御動作のフローチャート440を示す。暗号化通信制御部51Sは、通知された通信識別情報にもとづいて、SADB33Sから消去すべきSA情報を特定し(ステップ441)、当該SA情報を消去し(442)、このルーチンを終了する。
【0102】
なお、本実施例では、登録要求メッセージのボディ部に識別情報63を含め、登録要求メッセージを解析することによって、識別情報管理テーブル64を更新するようにしている。しかしながら、本発明はこれに限定されず、識別情報管理テーブル64、あるいはその一部のエントリは、ロケーションサーバLSVの管理者によって予め値が設定されていてもよい。
【0103】
次に、図49から図54を参照して、本発明による暗号化データ通信の第2の実施例について説明する。上述した第1の実施例では、SIPプロキシPRとレジストラRGとは同一のSIPサーバ上で動作していた。また、識別情報管理テーブル64で識別情報とSIP−URIとの関連を検索する場合に検索用のSIPメッセージを使用し、SIPプロキシPRが当該SIPメッセージのヘッダに基づいて、識別情報管理テーブル64を検索していた。また、クライアントやサーバと、SIPサーバとの間の通信はTLSで保護していた。
【0104】
本発明の第2の実施例では、識別情報管理テーブル64へのロケーション情報の登録や削除、および識別情報管理テーブル64の検索を行う、識別情報管理サービス65が動作する識別情報管理サーバISVを、別途設けたことを特徴とする。さらには、クライアントやサーバと、識別情報管理テーブル64との間で交換するSIPメッセージのボディ部分をメッセージ暗号(S/MIME)で保護することを特徴とする。
【0105】
本発明の第2の実施例におけるネットワーク構成は、図49に示すように、SIPサーバSIPaが管理するネットワークNW1と、ロケーションサーバLSVと、DNS(Domain Name System)と、識別情報管理サーバISVと、からなる。
【0106】
ネットワークNW1には、クライアントCL1a、CL2aと、サーバSV1a、SV2aが接続されている。また、SIPサーバSIPaは、SIPプロキシPRaとレジストラPGaとからなっている。
【0107】
なお、本実施例の識別情報管理サーバISVには、「agent@aaa.com」というSIP−URIが割り当てられている。本実施例のクライアントCLやサーバSVは当該SIP−URIにロケーション登録や登録解除を要求するSIPメッセージを送信することによって、識別情報管理テーブル64の内容を更新する。また、本実施例のクライアントCLやサーバSVは上記SIP−URIにAOR取得を要求するSIPメッセージを送信することによって、識別情報管理テーブル64の内容を検索する。
【0108】
図50は、本発明の第2の実施例における暗号化通信シーケンス図を示す。図11、図12と同一符号で示された第1実施例で説明済みのステップとメッセージについては説明を省略する。本発明の第2の実施例では、まず、サーバSV1aが、クライアントCL1aからの接続要求に先立って、SIPサーバSIPaのレジストラRGaとの間で、サーバSV1aの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S1)を実行した後、レジストラRGbにロケーション登録要求メッセージM1を送信する。
【0109】
レジストラRGaは、上記ロケーション登録要求メッセージM1を受信すると、ロケーションサービスDBのロケーションサービステーブル60に、受信メッセージのFromヘッダが示す要求元SIP−URI「sv1@aaa.com」とContactヘッダが示す要求元IPアドレス「sv1@192.0.2.4」との関係を示すロケーションデータを登録し(S101)、データの登録が完了すると(S102)、要求元サーバSV2aに、ロケーション登録応答メッセージM102を送信する。
【0110】
ロケーション登録応答メッセージM2を受信したサーバSV1aは、次に、認証情報管理サーバISV宛の識別情報登録メッセージM101(SIPメッセージ:MESSAGE)をSIPサーバSIPaに送信する。
【0111】
上記識別情報登録メッセージM101は、例えば、図51に示すように、スタートラインに、SIPメッセージの種類を示す「MESSAGE」と、認証情報管理サーバISVのSIP−URIである「agent@aaa.com」を含み、Viaヘッダは、サーバSV1aのFQDNの値を示している。また、Toヘッダには、認証情報管理サーバISVのSIP−URIである「agent@aaa.com」が設定され、Fromヘッダには、サーバSV1aのSIP−URI「sips:sv1@aaa.com」が設定されている。さらに、メッセージの有効時間を示すExpiresヘッダ、後続するメッセージボディ部の長さを示すContent−Lengthヘッダ、その他のヘッダ情報が含まれる。識別情報登録要求メッセージM101のメッセージボディ部にはサーバSV1aの識別情報63のリストが含まれる。
【0112】
識別情報登録要求メッセージM101を受信したSIPサーバSIPaは、上記識別情報登録要求メッセージM101の宛先である「agent@aaa.com」をキーとしてロケーションデータベースを検索し(S103)、認証情報管理サーバISVのIPアドレス「192.168.0.3」を取得する(S104)と、当該IPアドレスに識別情報登録要求メッセージM102を送信する(M102)。
【0113】
識別情報登録要求メッセージM102を受信した認証情報管理サーバISVは、当該識別情報登録要求メッセージM102のボディ部の各識別情報63を上記識別情報登録要求メッセージM101の送信元のSIP−URI「sips:sv1@aaa.com」と関連付けて、識別情報管理テーブル64に格納すると、図52に示す、サーバSV1a宛の識別情報登録応答メッセージM103(SIPメッセージ:200 OK)をSIPサーバSIPaに送信する。識別情報登録応答メッセージM103のスタートラインは、SIPメッセージの種類として、応答メッセージであることを示す「200 OK」を含み、ヘッダ部には、ロケーション登録要求メッセージM1と略同一内容のヘッダ情報が設定される。
【0114】
識別情報登録応答メッセージM103を受信したSIPサーバSIPaは、上記識別情報登録要求メッセージM103の宛先(送信元?)である「sips:sv1@aaa.com」に識別情報登録応答メッセージM104を送信する(M104)。
【0115】
この状態で、クライアントCL1aのユーザが、アプリケーションプログラムを立ち上げ、サーバSV1aのURL「http://www.aaa.com/」宛に通信を要求する操作を行った場合、第2の実施例では、クライアントCL1aが、SIPサーバSIPa(レジストラRGa)との間で、クライアントの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S4)を実行した後、SIPサーバSIPaに認証情報管理サーバISV宛のAOR(Address-of-Record)取得要求メッセージ(SIPメッセージ:INFO)M105を送信する。
【0116】
上記AOR取得要求メッセージM105は、例えば、図53に示すように、スタートラインに、SIPメッセージ種類を示す「INFO」と、認証情報管理サーバISVのSIP−URIである「sips:agent@aaa.com」を含み、Viaヘッダは、クライアントCL1aのFQDNの値を示している。また、Toヘッダには、クライアントCL1aの接続相手となるサーバSV1aのURL「http://www.aaa.com/」が設定され、Fromヘッダには、クライアントCL1aのURI「sips:cl1@aaa.com」が設定されている。
【0117】
AOR取得要求メッセージM105を受信したSIPサーバSIPaは、上記識別情報登録メッセージM105の宛先である「agent@aaa.com」をキーとしてロケーションデータベースを検索し(S105)、認証情報管理サーバISVのIPアドレスを取得する(S106)と、当該IPアドレスに識別情報登録要求メッセージM105を送信する(M106)。
【0118】
AOR取得要求メッセージM105を受信した認証情報管理サーバISVは、ドメイン管理DBのドメイン管理テーブル64から、受信メッセージのToヘッダが示すURL「http://www.bbb.com/」と対応するAOR(サーバSV1aのURI)の値を検索し、ロケーションデータAORの検索が完了すると、SIPサーバSIPaを介して要求元クライアントCL1aにAOR取得応答メッセージM107を送信する。
【0119】
AOR取得応答メッセージM107は、図54に示すように、スタートラインに、メッセージ種類が応答メッセージであることを示す「200 OK」を含み、ヘッダ部にはAOR取得要求メッセージM105と略同一内容のヘッダ情報が記載され、ボディ部には識別情報管理テーブル64から検索されたサーバSV1aのSIP−URIの値「sv1@aaa.com」を示す値が記述されている。
【0120】
上記AOR取得応答メッセージM105の受信によって接続先サーバSV1aのSIP−URIを取得したクライアントCL1aは、SIPプロキシPRaに対して、サーバSV1aへの接続要求メッセージM5を送信する。
【0121】
以降の動作は、第一の実施例の動作と同じであるので、説明を省略する
尚、実施例では、SIPメッセージのRequest−URIやToヘッダにIPアドレスを適用する時、例えば、図15や図51の「sips:192.0.2.4」のように記述した。この場合、SIPメッセージを受信したSIPプロキシ、レジストラまたはサーバ側では、着目フィールドにおける「sips:」に続く文字列が、3桁以下の数字をドットで区切ったIPアドレス表記となっているか否かによって、SIP−URI記述かIPアドレス記述かを判定できる。SIP−URI記述かIPアドレス記述かを判定を確実にするためは、例えば、「sips:192.0.2.4;id=ipv4」のように、URIパラメータを使用して、AOR解決を必要とするSIP−URIであることを明示するようにしてもよい。また、例えば、「ipv4:192.0.2.4」のように、着目フィールドでIPv4(またはIPv6)というスキームを検出した場合は、その後にIPアドレスが記述されているものと約束してもよい。
【0122】
さらには、実施例では、クライアントのアプリケーションプログラムが接続先サーバのIPアドレス宛にパケットを送信する操作を行った場合に、接続先サーバのIPアドレスに対応するSIP−URIを取得するためのAOR取得要求メッセージをSIPサーバに送信するようにしているが、本発明はこれに限定されず、当該アプリケーションプログラムが使用している任意の体系の接続先識別子から、当該接続先識別子に対応するリソース識別子(接続先サーバを識別するためにセッション管理サーバが採用している識別子)を取得するために適用することができる。例えば、クライアントのアプリケーションプログラムが接続先サーバを指定する情報を含むURLへの接続を要求する操作を行った場合に、当該URLに対応するSIP−URIを取得するためのAOR取得要求メッセージをSIPサーバに送信するようにしてもよい。このとき、前記URLは事前にSIPサーバに登録するようにしてもよいし、接続先サーバがロケーション登録を行う際のロケーション登録要求メッセージに当該接続先サーバがアクセス可能なURLのリストを含めるようにしてもよい。
【0123】
さらには、実施例では、クライアントやサーバとSIPサーバとの間の通信はTLSによって保護しているが、本発明はこれに限定されず、S/MIMEによって保護してもよい。また、第2の実施例では、クライアントやサーバと識別情報管理サーバISVとの間でS/MIMEで保護されたSIPメッセージを送受するようにしても良い。
【図面の簡単な説明】
【0124】
【図1】公開鍵暗号化通信における従来の認証システムを説明するため図。
【図2】IPsecによる暗号化通信を行うために従来のクライアントが備えるソフトウェアの基本的なブロック構成を示す図。
【図3】本発明と関係するSIPプロキシを適用した認証システムを説明するための図。
【図4】本発明のセッション管理サーバ(SIPサーバ)を含むネットワーク構成の1例を示す図。
【図5】図4に示したロケーションサーバLSVが備えるロケーションサービステーブルの1例を示す図。
【図6】図4に示したSIPプロキシPRaのハードウェア構成を示すブロック図。
【図7】図4に示したクライアントCL1aの基本的なソフトウェア構造を示す図。
【図8】図4に示したサーバSV1bの基本的なソフトウェア構造を示す図。
【図9】図4に示したSIPプロキシPRaの基本的なソフトウェア構造を示す図。
【図10】図4に示したレジストラRGaの基本的なソフトウェア構造を示す図。
【図11】本発明による暗号化通信の第1の実施例を説明するためのシーケンス図の一部。
【図12】本発明による暗号化通信の第1の実施例を説明するためのシーケンス図の残部。
【図13】図11におけるロケーション登録要求メッセージM1のフォーマットの1例を示す図。
【図14】図11におけるロケーション登録応答メッセージM2のフォーマットの1例を示す図。
【図15】図11におけるロケーションAOR取得要求メッセージM3のフォーマットの1例を示す図。
【図16】図11におけるロケーションAOR取得応答メッセージM4のフォーマットの1例を示す図。
【図17】図11における接続要求メッセージM5のフォーマットの1例を示す図。
【図18】接続要求メッセージM5のボディ部M5−2のフォーマットの1例を示す図。
【図19】図11における接続中メッセージM6のフォーマットの1例を示す図。
【図20】図11における接続要求メッセージM7のフォーマットの1例を示す図。
【図21】図12における接続中メッセージM8のフォーマットの1例を示す図。
【図22】図12における接続要求メッセージM9のフォーマットの1例を示す図。
【図23】図12における接続応答メッセージM10のフォーマットの1例を示す図。
【図24】接続応答メッセージM10のボディ部M10−2のフォーマットの1例を示す図。
【図25】図12における接続応答メッセージM11のフォーマットの1例を示す図。
【図26】図12における接続応答メッセージM12のフォーマットの1例を示す図。
【図27】図12における接続確認メッセージM13のフォーマットの1例を示す図。
【図28】図12における接続確認メッセージM14のフォーマットの1例を示す図。
【図29】図12における接続確認メッセージM15のフォーマットの1例を示す図。
【図30】図12における切断要求メッセージM20のフォーマットの1例を示す図。
【図31】図12における切断中メッセージM21のフォーマットの1例を示す図。
【図32】図12における切断要求メッセージM22のフォーマットの1例を示す図。
【図33】図12における切断中メッセージM23のフォーマットの1例を示す図。
【図34】図12における切断要求メッセージM24のフォーマットの1例を示す図。
【図35】図12における切断応答メッセージM25のフォーマットの1例を示す図。
【図36】図12における切断応答メッセージM26のフォーマットの1例を示す図。
【図37】図12における切断応答メッセージM27のフォーマットの1例を示す図。
【図38】鍵交換要求を受信した時、クライアントCL1aの暗号化通信制御部51Cが実行する制御動作を示すフローチャート。
【図39A】接続要求メッセージのボディ部を受信した時、クライアントCL1aのSIPメッセージ処理部53Cが実行する制御動作を示すフローチャートの一部。
【図39B】接続要求メッセージのボディ部を受信した時、クライアントCL1aのSIPメッセージ処理部53Cが実行する制御動作を示すフローチャートの残部。
【図40】AOR取得要求メッセージを受信した時、レジストラRGaのSIPメッセージ処理部53Rが実行する制御動作を示すフローチャート。
【図41A】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第1部分。
【図41B】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第2部分。
【図41C】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第3部分。
【図41D】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第4部分。
【図42】接続要求メッセージを受信した時、サーバSV1bのSIPメッセージ処理部53Sが実行する制御動作を示すフローチャート。
【図43】接続要求メッセージのボディ部を受信した時、サーバSV1bの暗号化通信制御部51Sが実行する制御動作を示すフローチャート。
【図44】鍵消去要求を受信した時、クライアントCL1aの暗号化通信制御部51Cが実行する制御動作を示すフローチャート。
【図45】切断要求メッセージの発行要求を受信した時、クライアントCL1aのSIPメッセージ処理部53Cが実行する制御動作を示すフローチャート。
【図46A】切断要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの一部。
【図46B】切断要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの残部。
【図47】切断要求メッセージを受信した時、サーバSV1bのSIPメッセージ処理部53Sが実行する制御動作を示すフローチャート。
【図48】切断要求の発生通知を受信した時、サーバSV1bの暗号化通信制御部51Sが実行する制御動作を示すフローチャート。
【図49】本発明による暗号化通信の第2の実施例のネットワーク構成の1例を示す図。
【図50】本発明による暗号化通信の第2の実施例を説明するためのシーケンス図の一部。
【図51】図50における識別情報登録要求メッセージM101のフォーマットの1例を示す図。
【図52】図50における識別情報登録応答メッセージM103のフォーマットの1例を示す図。
【図53】図50におけるAOR取得要求メッセージM105のフォーマットの1例を示す図。
【図54】図50におけるAOR取得応答メッセージM107のフォーマットの1例を示す図。
【符号の説明】
【0125】
CL1a〜CL2b:クライアント、SV1a〜SV2b:サーバ、
SIPa、SIPb:SIPサーバ、PRa、PRb:SIPプロキシ、
RGa、RGb:レジストラ、LSV:ロケーションサーバ、ISV:識別情報管理サーバ、
20:ネットワークインタフェースカード部、30:暗号化通信機能部、
31:暗号エンジン、40:アプリケーションソフト、50:鍵管理プロセス、
51:暗号化通信制御部、52:TLS部、53:SIPメッセージ処理部、
60:レジストラ処理部。
【技術分野】
【0001】
本発明は、データ通信方法およびシステムに関し、更に詳しくは、セッション管理サーバを利用して、クライアントとサーバとの間での暗号化データ通信を可能にしたデータ通信方法およびシステムを提供することにある。
【背景技術】
【0002】
ネットワークにおける暗号化通信方法では、クライアントとサーバは、互いに意図しない相手装置との通信を防止するため、相手装置について認証手順を実行し、相手装置の認証に成功した時、通信に使用する暗号化パラメータを交換するようにしている。IETF(Internet Engineering Task Force)のRFC2401(非特許文献1)に記述されたIPsec(Internet Protocol Security)や、RFC2246(非特許文献2)に記述されたTLS(Transport Layer Security)では、通信相手の認証に公開鍵証明書が適用される。
【0003】
公開鍵証明書を用いた認証では、通信相手が提示した公開鍵証明書が信頼できる認証局から発行されたものであることを何らかの方法で検証する必要がある。公開鍵証明書の検証方法の1つとしては、例えば、通信相手が提示する公開鍵証明書の発行元認証局を証明するための信頼性のある認証局root証明書を何らかの方法で事前に入手しておき、通信相手の認証手順において、相手装置が提示した公開鍵証明書に付与された認証局の署名を、認証局のroot証明書の公開鍵によって検証する方法がある。この検証方法によれば、サーバとクライアントは、通信対象となる全ての通信装置の公開鍵証明書に対応して、各公開鍵証明書の発行元認証局のroot証明書を事前に用意しておく必要がある。
【0004】
例えば、図1に示すように、複数のクライアント(端末装置)CL1、CL2、CL3が、それぞれ発行元(CA1、CA2、CA3)の異なる秘密鍵SK1、SK2、SK3と公開鍵証明書PK1、PK2、PK3を所持し、サーバSV1、SV2、SV3も、それぞれ発行元(CA1、CA2、CA3)の異なる秘密鍵SK11、SK12、SK13と公開鍵証明書PK11、PK12、PK13を所持したシステムを想定する。ここで、各クライアントが、複数のサーバSV1、SV2、SV3と随時に通信できるようにするためには、図示したように、各サーバに、通信相手となる全てのクライアント装置CL1、CL2、CL3がもつ公開鍵証明書(PK1、PK2、PK3)の発行元認証局(CA1、CA2、CA3)と対応して、複数のroot証明書RT1、RT2、RT3を事前に所持しておく必要がある。同様に、各クライアントにも、通信相手となるサーバSV1、SV2、SV3がもつ公開鍵証明書(PK11、PK12、PK13)の発行元認証局(CA1、CA2、CA3)と対応して、複数のroot証明書RT1、RT2、RT3を事前に用意しておく必要がある。また、このシステム構成では、各クライアント装置とサーバは、通信相手を変えた時、その都度、認証処理を繰り返す必要がある。
【0005】
図2は、上記RFC2401に記述されたIPsecによる暗号化通信を行うためにクライアントが備えるソフトウェアの基本的なブロック構成を示す。
ここで、20は、ネットワークインタフェースカード(NIC)部、30は、TCP/IPレイヤ、40は、アプリケーションレイヤのソフトウェア部を示し、50は、RFC2409(非特許文献3)に記述された鍵管理(IKE:Internet Key Exchange)プロセス用のソフトウェア部を示している。暗号エンジン31は、TCP/IPレイヤのソフトウェアの一部として装備され、送信パケットに暗号化を適用するか否かの判定情報(SP情報)を記憶したSPDB(Security Policy Data Base)32と、暗号化通信に適用する暗号化方式や暗号鍵等の情報(SA情報)を記憶したSADB(Security Association Data Base)33とを備えている。
【0006】
上記クライアントの通信相手となるサーバも、図2と同様のソフトウェアを有し、クライアントとサーバのアプリケーションレイヤ同士、鍵管理プロセス同士が互いに通信するようになっている。
【0007】
暗号エンジン31は、アプリケーションレイヤ40のプログラムが発行したIPパケットの送信要求を検出すると、該IPパケットのヘッダ情報をSPDB32で検証し、このIPパケットにIPsecを適用すべきか否かを判定する。IPパケットにIPsecを適用すると判断した暗号エンジン31は、SADB33から、IPパケットに適用すべきSA(Security Association)情報を取得する。ここで、もし、SADB33に上記IPパケットと対応するSA情報が登録されていなかった場合、暗号エンジン31は、IKE(鍵管理)プロセス50に対して、通信相手(接続先サーバ)との間での暗号鍵を含むSA情報の交換を要求する。
【0008】
IKEプロセス50は、RFC2408(非特許文献4)に記載されたISAKMP(Internet Security Association and Key Management Protocol)に従って、通信相手とSA情報を交換する。ISAKMPでは、通信相手との間に暗号化通信路を形成した後、相手装置が通信を許容された真正な装置か否かを確認するための認証手順を実行する。IKEプロセス50は、上記認証手順によって、相手装置が暗号化通信を許容された真正な装置であることを確認すると、ISAKMPによって設定された通信路を介して、相手装置とSA情報の交換を開始する。IKEプロセス50は、通信相手とのSA情報の交換が完了すると、暗号エンジン31に、SA情報とこれに対応したSP(Security Policy)情報を通知する。
【0009】
暗号エンジン31は、IKEプロセス50から通知されたSP情報とSA情報をそれぞれSPDB32、SADB33に格納した後、IPパケットを上記SA情報に従って暗号化して、通信相手に送信する。通信相手となるサーバ側では、上記暗号化されたIPパケットを受信すると、IKEプロセスによって合意したSA情報に従って受信IPパケットを復号化し、サーバ側アプリケーションレイヤにIPパケットの受信を通知する。
【0010】
一方、RFC3261(非特許文献5)には、TLS(Transport Layer Security)によって、クライアント(ユーザエージェントクライアント)とセッション管理サーバであるSIP(Session Initiation Protocol)プロキシとの間、およびSIPプロキシとサーバ(ユーザエージェント・サーバ)との間の相互認証を行って、クライアントとSIPプロキシ、SIPプロキシとサーバが暗号化通信する方法が記載されている。RFC3261のSIPモデルによれば、クライアントとサーバは、それぞれがSIPプロキシによって真正な通信相手として確認済みであり、且つ、クライアントとサーバとの間では、暗号化されたSIPメッセージが送受信されるため、クライアント、サーバ、SIPプロキシ以外の他の装置が、上記クライアントとサーバとの間の通信内容を傍受することは困難となっている。
【0011】
SIPは、テキストベースのプロトコルであり、SIPメッセージは、ヘッダ部と、セッション内容を示すメッセージボディ部とからなる。SIPに関しては、RFC3263(非特許文献6)に記述されている。また、RFC2327(非特許文献7)には、セッション記述に適用されるSDP(Session Description Protocol)と、クライアントとサーバとの間で交換される暗号化パラメータの記述方法について開示されている。SIPモデルのクライアントとサーバは、それぞれがSIPプロキシとの間に形成した暗号通信路を介して、SIPメッセージによってセッション記述と暗号化パラメータを交換した後、上記暗号化パラメータを適用して、暗号化パケットを通信することができる。
【0012】
【非特許文献1】IETF、RFC2401:Security Architecture for the Internet Protocol、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2401.txt>
【非特許文献2】IETF、RFC2246:The TLS Protocol Version 1.0、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2246.txt>
【非特許文献3】IETF、RFC2409:The Internet Key Exchange (IKE) 、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2409.txt>
【非特許文献4】IETF、RFC2408:Internet Security Association and Key Management Protocol (ISAKMP) 、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2408.txt>
【非特許文献5】IETF、RFC3261:SIP: Session Initiation Protocol、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc3261.txt>
【非特許文献6】IETF、RFC3263:Session Initiation Protocol (SIP): Locating SIP Servers、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc3263.txt>
【非特許文献7】IETF、RFC2327:SDP: Session Description Protocol、[2005年11月29日検索] 、インターネット<URL:http://www.ietf.org/rfc/rfc2327.txt>
【発明の開示】
【発明が解決しようとする課題】
【0013】
図3は、上述したSIPプロキシを適用した認証システムの1例を示す。ここで、PRは、複数のクライアントCL1、CL2、CL3と、複数のサーバSV1、SV2、SV3とに接続されたSIPプロキシを示す。SIPプロキシPRは、認証局CA4が発行した秘密鍵SK30と、公開鍵証明書PK30を使用しており、サーバSV1、SV2、SV3を認証するために、これらのサーバが使用する公開鍵証明書の発行元認証局(CA1、CA2、CA3)と対応した複数のroot証明書RT1、RT2、RT3を予め所持している。
【0014】
SIPプロキシを適用した認証システムでは、各サーバとクライアントは、図3に示すように、通信相手を認証するためのroot証明書として、SIPプロキシPRが使用する公開鍵証明書PK30の発行元認証局と対応したroot証明書RT4のみを所持すればよい。また、各クライアントは、SIPプロキシPRを介して1つのサーバと通信した後、接続先を別のサーバに変更する場合、SIPプロキシとの間では既に構築済みの暗号通信路を使用して通信できるため、新たな通信相手との間で暗号化パラメータを交換するだけで、暗号化通信を開始することが可能となる。つまり、SIPプロキシを適用した認証システムでは、各クライアントにとって、接続先サーバの変更の都度、新たに認証処理を行う必要がないという利点がある。
【0015】
然るに、SIPのフレームワークにおいては、セッション管理サーバ(SIPプロキシ)は、AOR(Address-of-Record)と呼ばれる「ユーザ名@ドメイン名」 形式をもつ識別子(SIP−URI)によって、受信SIPメッセージの転送先を決定している。従って、上述したSIPプロキシのようなセッション管理サーバ経由のセッション設定を前提としたネットワークシステムでは、クライアント上で実行されるアプリケーションは、接続先サーバを指定するための識別子として、サーバの所属ドメインを特定可能なSIP−URI(Uniform Resource Identifier)を使用する必要がある。
【0016】
更に詳述すると、SIPのフレームワークにおいては、クライアント側では、スタートラインに含まれるRequest−URIとして、接続先サーバを指定するAOR形式のSIP−URIを記述した接続要求SIPメッセージを生成し、該SIPメッセージをペイロードに含むIPパケットをクライアントの所属ドメインに位置するSIPプロキシ宛に送信する。上記IPパケットを受信したSIPプロキシは、Request−URIとして記述されたAORが示すドメイン名に基づいて、例えば、DNS(Domain Name System)のNAPTR Record検索とSRV Record検索を行うことにより、受信メッセージの転送先サーバが所属する他のドメインに位置したSIPプロキシ(転送先SIPプロキシ)のIPアドレスあるいはFQDN(Full Qualified Domain Name)を特定する。SRV Record検索の結果がFQDNを示した場合は、DNSのA Record検索を実行することによって、転送先SIPプロキシのIPアドレスを取得できる。尚、ドメイン名から転送先SIPプロキシのIPアドレスを取得する手順については、RFC3263(非特許文献6)に記述されている。
【0017】
ここで、接続先サーバの所属ドメインが、SIPメッセージを受信したSIPプロキシの所属ドメインと同一であった場合、SIPプロキシは、受信メッセージのRequest−URIに記述されたSIP−URIを検索キーとして、ロケーションサービスDB(データベース)から接続先サーバのIPアドレス(またはFQDN)を取得し、このIPアドレスをIPパケットの宛先アドレスとして、SIPメッセージを接続先サーバに転送する。接続先サーバの所属ドメインがSIPプロキシ(または送信元クライアント)の所属ドメインと異なった場合は、SIPメッセージは、接続先サーバの所属ドメインに位置した別のSIPプロキシに転送され、転送先のSIPプロキシが、ロケーションサービスDBから接続先サーバのIPアドレスまたはFQDNを取得して、SIPメッセージを接続先サーバに転送する。
【0018】
上述したように、セッション管理サーバ(SIPプロキシ)経由のセッション設定を前提とするネットワークでは、セッション管理サーバが、受信したSIPメッセージに含まれる要求リソース識別子(SIP−URI)から、接続先サーバが所属するドメインを判定し、受信メッセージを接続先サーバあるいは接続先セッション管理サーバに転送するようになっている。しかしながら、IP網に接続されるクライアント端末上で実行される一般のアプリケーションプログラムは、接続先サーバの指定に、上述したAOR形式のSIP−URIのようにSIPのフレームワークにおける識別子ではなく、IPアドレスのように接続先サーバのみを示す識別子を使用したり、URLなどのようにドメイン名を含んでいても、SIP−URIとは異なるフレームワークの識別子を使用したりしている。
【0019】
アプリケーションプログラムまたは暗号化通信ソフトが、接続先サーバをIPアドレスやURLで指定してサーバとの接続要求を発行し、クライアントが、接続先サーバをIPアドレスやURLで指定した形で接続要求SIPメッセージを送信した場合、セッション管理サーバ(SIPプロキシ)は、受信した接続要求メッセージの転送先ドメインを特定することができない。この場合、クライアントが図3に示した認証システムの利点を享受できないという問題がある。
【0020】
本発明の目的は、接続先の装置をIPアドレスやURLのような、セッション管理サーバが採用しているものとは異なる、アプリケーションの仕様に応じた識別子(以降、接続先識別子とも呼ぶ)で指定したセッション制御メッセージをセッション管理サーバ経由で接続先サーバに転送可能にしたデータ通信方法およびシステムを提供することにある。
本発明の他の目的は、接続先サーバを接続先識別子で指定したクライアントからの接続要求をセッション管理サーバ経由で当該接続先サーバに転送可能にしたデータ通信方法およびシステムを提供することにある。
本発明の更に他の目的は、クライアントとサーバとの間の暗号化データ通信を可能にし、且つ、暗号化データ通信に先立って必要となるクライアントとサーバとの間の認証手順を容易にしたデータ通信方法およびシステムを提供することにある。
【課題を解決するための手段】
【0021】
上記目的を達成するため、本発明では、クライアントのアプリケーションプログラムまたは暗号化通信ソフトが、接続先サーバを接続先識別子で指定した形で接続要求を発行した時、クライアントまたはセッション管理サーバまたは識別情報管理サーバで、上記接続先識別子をセッション管理サーバがドメイン識別可能な所望のリソース識別子に自動的に変換することを特徴とする。
【0022】
本発明によるクライアントとサーバとの間のデータ通信方法は、クライアントからセッション管理サーバあるいは識別情報管理サーバに、接続先の接続先識別子を指定して、該接続先サーバに割り当てられた所属ドメイン名を含むリソース識別子を問い合わせる第1ステップと、上記セッション管理サーバあるいは識別情報管理サーバが、接続先識別子とリソース識別子との対応関係を管理しているロケーションテーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、上記クライアントに通知する第2ステップと、上記クライアントから上記セッション管理サーバに、要求リソースを上記接続先サーバのリソース識別子で指定した接続要求メッセージを送信する第3ステップと、上記セッション管理サーバが、受信した接続要求メッセージに記述された上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とする。
【0023】
更に詳述すると、本発明のデータ通信方法は、接続要求メッセージの受信に応答して、接続先サーバからセッション管理サーバを介して要求元クライアントに、暗号化通信に必要となるパラメータ情報を含む接続応答メッセージを返送する第5ステップと、上記クライアントと接続先サーバとの間で、上記接続応答メッセージで指定されたパラメータ情報に従って暗号化されたメッセージを含むパケットを通信する第6ステップを含む。
【0024】
上記セッション管理サーバは、例えば、SIP(Session Initiation Protocol)サーバからなる。この場合、クライアントとセッション管理サーバとの間の通信メッセージは、例えば、RFC3261に規定されたTLS(Transport Layer Security)によって暗号化され、クライアントと接続先サーバとの間の通信データは、例えば、RFC2401に規定されたIPsec(Internet Protocol Security)によって暗号化される。
【0025】
本発明によって提供されるセッション管理サーバは、クライアントから、要求リソースを接続先サーバの接続先識別子で指定した接続要求メッセージを受信した時、接続先識別子とリソース識別子との対応関係を管理しているロケーションテーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、受信メッセージに記述された要求リソースを接続先識別子から上記リソース識別子に書き換えるための手段と、上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送するための手段とを備えたことを特徴とする。
【0026】
上記セッション管理サーバは、具体的には、通信ネットワークに接続されたネットワークインタフェース部と、セッション制御メッセージを処理するメッセージ処理部と、上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するためのセキュリティ部とを有し、上記メッセージ処理部が、上述した要求リソースの書き換え手段と受信メッセージの転送手段を備える。
【0027】
本発明によって提供されるクライアント端末は、通信ネットワークに接続されたネットワークインタフェース部と、セッション制御メッセージを処理するメッセージ処理部と、アプリケーションプログラムが発生する接続先サーバ宛の送信メッセージを暗号化して上記ネットワークインタフェース部に出力すると共に、上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記アプリケーションプログラムに渡すための第1セキュリティ部と、上記セキュリティ部から、接続先サーバとの暗号化パラメータの交換要求が発生した時、接続先サーバを接続先識別子で指定した接続要求メッセージを上記メッセージ処理部に出力し、上記メッセージ処理部から接続応答メッセージを受信した時、該受信メッセージから抽出した暗号化パラメータを上記第1セキュリティ部に渡すセキュリティ情報制御部とからなり、
上記メッセージ処理部が、上記セキュリティ情報制御部から接続要求メッセージを受信した時、上記接続先識別子に基づいて上記セッション管理サーバまたは接続先サーバから接続先サーバのリソース識別子を取得し、該リソース識別子で要求リソースを指定した形で、上記接続要求メッセージを上記セッション管理サーバに送信することを特徴とする。
【0028】
実際の応用では、本発明のクライアント端末は、上記ネットワークインタフェース部から受信した暗号化されたセッション制御メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するための第2セキュリティ部を有し、
接続先サーバとの通信データが上記第1セキュリティ部によって暗号化され、セッション管理サーバと通信メッセージが上記第2セキュリティ部によって暗号化される。
【発明の効果】
【0029】
本発明によれば、クライアントのアプリケーションプログラムまたは暗号化通信ソフトから、要求リソース(接続先サーバ)を接続先識別子で指定した形で接続要求が発行された場合でも、接続要求メッセージの要求リソースを接続先識別子からドメイン識別可能なリソース識別子に自動的に変換できる。従って、接続要求メッセージを転送制御するセッション管理サーバにおいて、受信メッセージのリソース識別子から転送先ドメインを判定し、受信メッセージを接続先サーバ、または接続先サーバの所属ドメインに位置した別のセッション管理サーバに転送することが可能となる。
本発明によれば、一般のアプリケーションプログラムを実行するクライアントでも、セッション管理サーバによる認証機能を利用することによって、接続先サーバとの間で容易に暗号化通信を実現できる。
【発明を実施するための最良の形態】
【0030】
以下、本発明の実施例について図面を参照して説明する。
図4は、本発明が適用されるネットワーク構成の1例を示す。
ここに示したネットワークは、SIPサーバSIPaが管理する第1ドメインを形成する第1のネットワークNW1と、SIPサーバSIPbが管理する第2ドメインを形成する第2のネットワークNW2と、ロケーションサーバLSVと、DNS(Domain Name System)とからなる。
【0031】
第1のネットワークNW1には、クライアントCL1a、CL2aと、サーバSV1a、SV2aが接続され、第2のネットワークNW2には、クライアントCL1b、CL2bと、サーバSV1b、SV2bが接続されている。また、SIPサーバSIPaは、SIPプロキシPRaとレジストラPGaとからなり、SIPサーバSIPbは、SIPプロキシPRbとレジストラPGbとからなっている。
【0032】
ここで、各クライアントおよびサーバに付随して括弧内に示した文字列は、SIPメッセージの転送先識別子(リソース識別子)となるAOR(Address-of-Record)形式のSIP−URIの値を示している。第1ネットワークNW1に接続されたクライアントとサーバには、SIPサーバSIPaのドメイン識別子「aaa.com」を含むAORが割り当てられ、第2ネットワークNW2に接続されたクライアントとサーバには、SIPサーバSIPbのドメイン識別子「bbb.com」を含むAORが割り当てられている。
【0033】
本発明のSIPサーバSIPa、SIPbは、それぞれの管轄下にあるクライアントから、接続先サーバをURLで指定したSIPメッセージを受信した時、ロケーションサーバLSVに、上記接続先URLと対応するAOR(リソース識別子)の検索(ロケーションデータ検索)を要求する。また、SIPサーバSIPa、SIPbは、それぞれ他のSIPサーバから、接続先サーバをAORで指定したSIPメッセージを受信した時、ロケーションサーバLSVに、上記接続先AORと対応するIPアドレスの検索を要求する。
【0034】
ロケーションサーバLSVは、ロケーションサービス・データベース(DB)に、例えば、図5に示すように、SIPサーバSIPa、SIPbの管轄下にあるクライアントおよびサーバと対応した複数のエントリEN−1、EN−2,・・・からなり、各エントリが、クライアントまたはサーバのAOR61とIPアドレス62との対応関係を示すロケーションサービステーブル60を格納する。また、ロケーションサーバLSVは、SIPサーバSIPa、SIPbの管轄下にあるクライアントおよびサーバと対応した複数のエントリREN−1、REN−2,・・・からなり、各エントリが、クライアントまたはサーバのアプリケーションプログラムや暗号化通信ソフトが通信相手の装置を識別するために用いる情報である識別情報63と、AOR61との対応関係を示す識別情報管理テーブル64と、を備えている。ロケーションサーバLSVは、SIPサーバからの検索キーとしてAORを指定されたロケーションデータ検索要求を受信した場合、上記ロケーションサービステーブル60から、当該AORと対応するIPアドレスを検索し、検索結果を要求元SIPサーバに返送する。同様に、ロケーションサーバLSVは、SIPサーバからの検索キーとしてURL等の識別情報63を指定されたロケーションデータ検索要求を受信した場合、上記識別情報管理テーブル64から、当該識別情報63と対応するAORを検索し、検索結果を要求元SIPサーバに返送する。なお、本実施例では、識別情報63にはURLやURIやIPアドレスなどが使用可能である。識別情報63はこれらURL等に限られず、それぞれの装置に独自に割り当てられ互いに識別が可能な情報であればよい。なお、IPアドレスを使用する場合には、URLやURIとの区別を容易にするため、IPアドレスの先頭に「ipv4:」や「ipv6:」などのプレフィックスをつけることが望ましい。
【0035】
図6は、SIPプロキシPRaのハードウェア構成を示す。SIPプロキシPRaは例えば、プロセッサ(CPU)11と、プロセッサが実行する各種ソフトウェアとデータを記憶するためのメモリ12およびハードディスク13と、ネットワークNW1(NW2)に接続するためのネットワークインタフェース14と、入出力装置15とからなり、これらの要素は内部バス16によって相互接続されている。SIPプロキシPRb、レジストラRGa、RGb、クライアントCL1a〜CL2b、サーバSV1a〜SV2bも、基本的には、図6に示したSIPプロキシPRaと同様の構成要素からなる。
【0036】
以下、図4に示した第1ドメインに所属するクライアントCL1aが、第2ドメインに所属するサーバSV1bと暗号化データ通信する場合の通信手順を例にして、本発明の第1の実施例について説明する。
【0037】
図7は、クライアントCL1aの基本的なソフトウェア構造の一例を示す。他のクライアントCL1b〜CL2bも、これと同様のソフトウェア構造をとりうる。クライアントCL1aのソフトウェアは、ネットワークインタフェースカード部(NIC)20Cと、暗号化/復号化機能を備えた暗号エンジン31Cを含む暗号化通信機能部30Cと、アプリケーションプログラム40Cと、鍵管理プロセス部50Cとからなる。第1実施例では、鍵管理プロセス部50Cが、暗号化通信制御部51Cと、TLS(Transport Layer Security)部52Cと、SIPメッセージ処理部53Cとを備えたことを特徴としている。
【0038】
図8は、サーバSV1bの基本的なソフトウェア構造の一例を示す。他のサーバSV1a、SV2a、SV2bも、これと同様のソフトウェア構造をとりうる。サーバSV1bのソフトウェアは、ネットワークインタフェースカード部(NIC)20Sと、IPsec暗号化/復号化機能を備えた暗号エンジン31Sを含む暗号化通信機能部30Sと、アプリケーションプログラム40Sと、鍵管理プロセス部50Sとからなり、鍵管理プロセス部50Sが、暗号化通信制御部51Sと、TLS部52Sと、SIPメッセージ処理部53Sとを備えている。
【0039】
本実施例では、クライアントCL1aのアプリケーションプログラム40CとサーバSV1bのアプリケーションプログラム40Sは、それぞれが備える暗号エンジン31C、31SのIPsec暗号化/復号化機能を利用して、IPsecによる暗号化データを通信する。一方、クライアントCL1aのSIPメッセージ処理部53Cは、後述するSIPサーバSIPa(SIPプロキシPRa、レジストラRGa)のSIPメッセージ処理部との間で、それぞれが備えるTLS部のメッセージ暗号化/復号化機能を利用して、暗号化されたSIPメッセージを通信する。同様に、サーバSV1bのSIPメッセージ処理部53Sも、SIPサーバSIPa(SIPプロキシPRa、レジストラRGa)のSIPメッセージ処理部との間で、それぞれが備えるTLS部のメッセージ暗号化/復号化機能を利用して、暗号化されたSIPメッセージを通信する。
【0040】
図9は、SIPプロキシPRaの基本的なソフトウェア構造の一例を示す。SIPプロキシPRbも、これと同様のソフトウェア構造をとりうる。SIPプロキシPRaのソフトウェアは、ネットワークインタフェースカード部(NIC)20Pと、暗号化通信機能部30Pと、鍵管理プロセス部50Pとからなる。鍵管理プロセス部50Pが、TLS部52Pと、SIPメッセージ処理部53Pとを備えている。SIPメッセージ処理部53Pは、後述するSIP−URI(AOR)検索機能54を備えている。SIPプロキシPRaのSIPメッセージ処理部53Pは、TLS部52Pのメッセージ暗号化/復号化機能を利用して、管理下にあるドメインに所属したクライアント、サーバ、および他のドメインを管理する他のSIPプロキシ、例えばPRbと暗号化メッセージを通信する。
【0041】
図10は、レジストラRGaの基本的なソフトウェア構造の一例を示す。レジストラRGbも、これと同様のソフトウェア構造をとりうる。レジストラRGaのソフトウェアは、ネットワークインタフェースカード部(NIC)20Rと、暗号化通信機能部30Rと、メッセージの暗号化/復号化機能を備えたTLS部52Rと、SIPメッセージ処理部53Rと、レジストラ処理部60Rとからなっている。SIPメッセージ処理部53Rは、クライアントが発行したAOR取得要求、またはSIPプロキシPRaが発行したAOR取得要求を受信すると、レジストラ処理部60Rにロケーションデータの検索を要求する。レジストラ処理部60Rは、SIPメッセージ処理部53Rからの要求に応答して、ロケーションサーバLSVが備えるロケーションサービスDBをアクセスする。尚、レジストラRGaとSIPプロキシPRaとの間の通信には、暗号化を適用しなくてもよい。
【0042】
図11と図12は、本発明による暗号化データ通信の第1の実施例を示すシーケンス図である。第1の実施例では、クライアントCL1aがAOR取得要求を発行する。本実施例において、クライアントCL1aからの接続要求先となる第2ネットワークに接続されたサーバSV1bは、クライアントCL1aからの接続要求に先立って、SIPサーバSIPbのレジストラRGbとの間で、サーバSV1bの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S1)を実行した後、レジストラRGbにロケーション登録要求メッセージ(SIPメッセージ:REGISTER)M1を送信する。
【0043】
ロケーション登録要求メッセージM1は、例えば、図13に示すように、IPヘッダH1と、UDP/TCPヘッダH2とを付したIPパケット形式で送信される。IPヘッダH1は、宛先アドレスとしてレジストラRGb(SIPサーバSIPb)のIPアドレス、送信元アドレスとしてサーバSV1bのIPアドレスを含む。
【0044】
SIPメッセージは、SIPメッセージの種類(Request-Method)を示すスタートラインと、要求または応答内容を記述したヘッダ部と、必要に応じてセッション内容を記述したメッセージボディ部とからなる。メッセージの種類によっては、上記スタートラインに、該メッセージの宛先を示すリソース識別子(Request-URI)が記述される。また、メッセージボディ部におけるセッション内容の記述には、RFC3266で仕様化されたSDP(Session Description Protocol)が適用される。
【0045】
サーバSV2bが発行するロケーション登録要求メッセージM1の場合、スタートラインには、SIPメッセージの種類として「REGISTER」、メッセージ宛先を示すリソース識別子として、レジストラRGbのSIP−URIである「registrar.bbb.com」が含まれる。また、スタートラインに続くヘッダ部には、SIPメッセージの経路を示すViaヘッダ、メッセージの宛先を示すToヘッダ、メッセージの送信元を示すFromヘッダ、送信元で指定したセッション識別子を示すCall−IDヘッダ、要求メソッドを示すCSecヘッダ、ロケーションサービステーブルに登録すべきサーバSV1bのIPアドレス「sv1@192.0.2.4」を含むContactヘッダ、メッセージの有効時間を示すExpiresヘッダ、後続するメッセージボディ部の長さを示すContent−Lengthヘッダ、その他のヘッダ情報が含まれる。本実施例のロケーション登録要求メッセージM1の場合、メッセージボディ部にはサーバSV1bの識別情報63のリストが含まれる。Content−Lengthヘッダにはメッセージボディ部の長さとして値「76」が設定され、ToヘッダとFromヘッダには、要求元サーバSV1bのSIP−URIの値「sv1@bbb.com」が設定されている。
【0046】
レジストラRGbは、上記ロケーション登録要求メッセージM1を受信すると、ロケーションサービスDBのロケーションサービステーブル60に、受信メッセージのFromヘッダが示す要求元SIP−URI「sv1@bbb.com」とContactヘッダが示す要求元IPアドレス「sv1@192.0.2.4」との関係を示すロケーションデータを登録するとともに、識別情報管理テーブル64に、受信メッセージのメッセージボディ部に含まれている各々の識別情報63と受信メッセージのFromヘッダが示す要求元SIP−URI「sv1@bbb.com」との関係を示す識別情報データを登録し(S2)、データの登録が完了すると(S3)、要求元サーバSV2bに、図14に示すロケーション登録応答メッセージM2を送信する。ロケーション登録応答メッセージM2のスタートラインは、SIPメッセージの種類として、応答メッセージであることを示す「200 OK」を含み、ヘッダ部には、ロケーション登録要求メッセージM1と略同一内容のヘッダ情報が設定される。
【0047】
この状態で、クライアントCL1aのユーザが、アプリケーションプログラムを立ち上げ、サーバSV1bのURL「http://www.bbb.com/」宛に通信を要求する操作を行った場合について説明する。本発明の第1の実施例では、クライアントCL1aが、SIPサーバSIPa(レジストラRGa)との間で、クライアントの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S4)を実行した後、SIPサーバSIPa(レジストラRGa)にAOR(Address-of-Record)取得要求メッセージ(SIPメッセージ:GET AOR)M3を送信する。
【0048】
上記AOR取得要求メッセージM3は、例えば、図15に示すように、スタートラインに、SIPメッセージ種類を示す「GET AOR」と、レジストラRGaのSIP−URIである「registrar.aaa.com」を含み、Viaヘッダは、クライアントCL1aの暗号化通信制御部51Cの識別子となるURIの値を示している。また、Toヘッダには、クライアントCL1aの接続相手となるサーバSV1bのURL「http://www.bbb.com/」が設定され、Fromヘッダには、クライアントCL1aのURI「cl1@aaa.com」が設定されている。
【0049】
レジストラRGaは、AOR取得要求メッセージM3を受信すると、ロケーションサービスDBの識別情報管理テーブル64から、受信メッセージのToヘッダが示すURL「http://www.bbb.com/」と対応するAOR(サーバSV1bのURI)の値を検索し(S5)、ロケーションデータAORの検索が完了すると(S6)、要求元クライアントCL1aにAOR取得応答メッセージM4を送信する。
【0050】
AOR取得応答メッセージM4は、図16に示すように、スタートラインに、メッセージ種類が応答メッセージであることを示す「200 OK」を含み、ヘッダ部には、AOR取得要求メッセージM3と略同一内容のヘッダ情報と、識別情報管理テーブル64から検索されたサーバSV1bのSIP−URIの値「sv1@bbb.com」を示すAORヘッダが記述されている。
【0051】
上記AOR取得応答メッセージM4の受信によって接続先サーバSV1bのSIP−URIを取得したクライアントCL1aは、SIPサーバSIPaのSIPプロキシPRaとの間で、クライアントの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S7)を実行した後、SIPプロキシPRaに対して、サーバSV1bへの接続要求メッセージM5を送信する。
【0052】
接続要求メッセージM5は、図17に示すように、接続要求メッセージのヘッダ部M5−1とボディ部M5−2とからなり、接続要求メッセージのヘッダ部M5−1は、スタートラインに、メッセージ種類「INVITE」と、Request−URIとして、メッセージ宛先となるサーバSV1bのSIP−URI「sv1@bbb.com」を含む。また、ヘッダ情報として、クライアントCL1aにおけるSIPメッセージ処理部53CのSIP−URIを示すViaヘッダ、サーバSV1bのSIP−URI「sv1@bbb.com」を含むToヘッダ、クライアントCL1aのSIP−URI「cl1@aaa.com」を含むFromヘッダと、Content−Typeヘッダ、Content−Lengthヘッダ、その他の情報を含む。Content−Typeヘッダは、ボディ部M5−2が関係するアプリケーションプログラムを示し、Content−Lengthヘッダは、ボディ部M5−2の長さを示している。
【0053】
接続要求メッセージM5のボディ部M5−2は、例えば、図18に示すように、クライアントCL1aとサーバSV1bとの間での暗号化通信に適用するSA情報として、IKEにおける通常のIPsec用SA設定時と同様、暗号化プロトコルの識別情報を示すプロポーザルペイロード91と、トランスフォーム識別情報を示すトランスフォームペイロード92、鍵交換ペイロード93、要求元の識別情報を示す第1IDペイロード94と、接続先の識別情報を示す第2IDペイロード95を含んでいる。
【0054】
ここでは、クライアントCL1aが、2つのトランスフォームペイロード92−1、92−2で、トランスフォームIDとして「ESP-AES」と「ESP-3DES」を提案しており、そのうちの1つを接続先サーバSV1bが選択して、接続応答メッセージでクライアントに通知することになる。尚、第1IDペイロード94のIDデータは、要求元クライアントCL1aのIPアドレスを示し、第2IDペイロード95のIDデータは、接続先サーバSV1bのIPアドレスを示す。なお、本実施例のクライアントCL1aは、接続先サーバSV1bのIPアドレスとして、サーバSV1bのURL「http://www.bbb.com/」に対応するIPアドレスをDNSから取得する。
【0055】
SIPプロキシPRaは、上記接続要求メッセージM5を受信すると、要求元クライアントCL1aにサーバSV1bと接続中であることを通知するために、図19に示す接続中メッセージM6を送信した後、接続先サーバSV1bが所属するドメインのSIPプロキシPRbとの間で、相互の認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S8)を実行する。接続中メッセージM6は、スタートラインに、メッセージ種類として、要求を実行中であることを示す「100 Trying」を含み、ヘッダ部に、接続要求メッセージM5から抽出されたVia、To、From、Call−ID、CSec等の数項目のヘッダ情報を含み、メッセージボディ部は省略されている。
【0056】
SIPプロキシPRaは、SIPプロキシPRbとの間のTLSネゴシェーションが終わると、クライアントから受信した接続要求メッセージM5に、自分のSIP−URI「proxy.aaa.com」を含む新たなViaヘッダと、接続要求がURI「proxy.aaa.com」を経由したことを示すRecord−Routeヘッダを追加し、図20に示す接続要求メッセージM7として、SIPプロキシPRbに送信する。
【0057】
SIPプロキシPRbは、上記接続要求メッセージM7を受信すると、受信メッセージのスタートラインから宛先URI「SV1@bbb.com」を抽出し、図12に示すように、ロケーションサーバLSVに対して、ロケーションサービスDBからの上記宛先URIと対応したIPアドレスの検索(ロケーションデータ検索)を要求する(S9)。SIPプロキシPRbは、ロケーションサービスDBの検索結果を示すロケーションデータ(IPアドレス「sv1@192.0.2.4」)を受信すると(S10)と、上記接続要求メッセージM7の要求元SIPプロキシPRaに対して、図21に示す接続中メッセージM8を送信した後、IPアドレス「sv1@192.0.2.4」で特定される接続先サーバSV1bとの間で、相互の認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S11)を実行する。
【0058】
SIPプロキシPRbは、接続先サーバSV1bとの間のTLSネゴシェーションが終了すると、接続要求メッセージM7のRequest−URIをIPアドレス「sv1@192.0.2.4」に書き換え、自分のSIP−URI「proxy.bbb.com」を含む新たなViaヘッダと、接続要求がURI「proxy.bbb.com」を経由したことを示すRecord−Routeヘッダを追加し、図22に示す接続要求メッセージM9として接続先サーバSV1bに送信する。
【0059】
接続先サーバSV1bは、上記接続要求メッセージM9に応答して、接続応答メッセージM10を返信する。接続応答メッセージM10は、図23に示すように、ヘッダ部M10−1とボディ部M10−2とからなり、ヘッダ部M10−1のスタートラインには、メッセージ種類として、応答メッセージであることを示す「200 OK」を含み、スタートラインに続いて、接続要求メッセージM9と同様の複数項目のヘッダ情報を含む。また、ボディ部M10−2は、例えば、図24に示すように、接続要求メッセージM10のボディ部M5−2で提案された2つのトランスフォームペイロード92−1、92−2のうち、サーバSV1bが選択した1つのトランスフォームペイロード(この例では、EPS-AES)を残している。
【0060】
SIPプロキシPRbは、接続応答メッセージM10を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図25に示す接続応答メッセージM11に変換して、SIPプロキシPRaに送信する。SIPプロキシPRaは、接続応答メッセージM11を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図26に示す接続応答メッセージM12に変換して、要求元クライアントCL1aに送信する。
【0061】
要求元クライアントCL1aは、接続応答メッセージM12を受信すると、受信メッセージのボディ部M10−2を解析して、接続先サーバSV1bとのIPsec通信に適用すべきSA情報を決定し、これをSADB33Cに登録した後、図27に示す接続確認メッセージM13をSIPプロキシPRaに送信する。接続確認メッセージM13は、スタートラインに、メッセージ種類「ACK」と、Request−URIとしてサーバSV1bのSIP−URIを含み、ヘッダ情報として、Via、To、From、Call−ID、CSec、Routeヘッダを含み、メッセージボディ部は省略されている。Routeヘッダには、接続応答メッセージM12のRecord−Routeヘッダから抽出されたURIの値が設定される。
【0062】
上記接続確認メッセージM13は、SIPプロキシPRaで新たなViaヘッダを追加し、SIPプロキシPRaと対応するRouteヘッダを除去して、図28に示す接続確認メッセージM14としてSIPプロキシPRbに転送される。SIPプロキシPRbは、接続確認メッセージM14に新たなViaヘッダを追加し、SIPプロキシPRbと対応するRouteヘッダを除去し、図29に示す接続確認メッセージM15に変換して接続先サーバSV1bに転送する。
【0063】
サーバSV1bが上記接続確認メッセージM15を受信することによって、クライアントCL1aとサーバSV1bは、IPsec暗号化を適用したアプリケーション間のデータ通信(S20)が可能となる。すなわち、クライアントCL1aは、サーバSV1bへの送信データをSADB33Cに登録されているSA情報に従って暗号化し、これをIPパケット形式で送信する。サーバSV1bは、クライアントCL1aからの受信データをSADB33Vに登録されているSA情報に従って復号化し、クライアントCL1aへの送信データを上記SA情報に従って暗号化して、IPパケット形式で送信できる。
【0064】
クライアントCL1aは、サーバSV1bとの間でのデータ通信が終了すると、SIPプロキシPRaに対して、図30に示す切断要求メッセージM20を送信する。切断要求メッセージM20は、スタートラインに、メッセージ種類「BYE」とサーバSV1bのSIP−URIを含み、ヘッダ情報として、接続確認メッセージM13と同様、Via、To、From、Call−ID、CSec、Routeヘッダを含み、メッセージボディ部は省略される。
【0065】
SIPプロキシPRaは、上記切断要求メッセージM20を受信すると、要求元のクライアントVL1aに対して、図31に示す切断中メッセージM21を送信した後、切断要求メッセージM20に新たなViaヘッダを追加し、SIPプロキシPRaと対応するRouteヘッダを除去し、図32に示す切断要求メッセージM22として、SIPプロキシPRbに送信する。切断中メッセージM21は、スタートラインに、メッセージ種類として、要求を実行中であることを示す「110 Trying」を含み、ヘッダ部に、切断要求メッセージM20から抽出されたVia、To、From、Call−ID、CSec等の数項目のヘッダ情報を含み、メッセージボディ部は省略されている。
【0066】
SIPプロキシPRbは、上記切断要求メッセージM22を受信すると、SIPプロキシPRaに対して、図33に示す切断中メッセージM23を送信した後、切断要求メッセージM22に新たなViaヘッダを追加し、SIPプロキシPRbと対応するRouteヘッダを除去し、図34に示す切断要求メッセージM24として、サーバSV1bに送信する。
【0067】
サーバSV1bは、切断要求メッセージM24を受信すると、図35に示す切断応答メッセージM25をSIPプロキシPRbに送信する。切断応答メッセージM25は、スタートラインに、メッセージ種類として、応答を示す「200 OK」を含み、ヘッダ部に、切断要求メッセージM24から抽出されたVia、To、From、Call−ID、CSec等の数項目のヘッダ情報を含み、メッセージボディ部は省略されている。
【0068】
SIPプロキシPRbは、切断応答メッセージM25を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図36に示す切断応答メッセージM26に変換して、SIPプロキシPRaに送信する。SIPプロキシPRaは、切断応答メッセージM26を受信すると、受信メッセージのヘッダ部から自URIを含むViaヘッダを除去し、図37に示す切断応答メッセージM27に変換して、要求元クライアントCL1aに送信する。要求元クライアントCL1aは、上記切断応答メッセージM27を受信すると、IPsec暗号化/復号化を終了し、同一または別のアプリケーションによる新たなパケット送信要求を待つ。
【0069】
次に、図38〜図48を参照して、上述した本発明の第1実施例の暗号化データ通信を可能にするクライアントCL1a、SIPサーバSIPa(SIPプロキシPRa、レジストラRGa)、サーバSV2bの制御動作について説明する。
【0070】
クライアントCL1aの暗号エンジン31Cは、アプリケーション40CからサーバSV1bのURL宛への通信要求を検出すると、上記URLとの通信に暗号化処理を適用するか否かの判定を、鍵管理プロセス50Cに要求する。ここで、鍵管理プロセス50Cが暗号化通信適用要と判定した場合、暗号エンジン31Cは、DNSにより上記SIP−URIに対応するIPアドレスを取得する。そして暗号エンジン31Cは、SADB(Security Association Data Base)33Cから、上記IPアドレスとの通信に適用すべき暗号鍵などのSA(Security Association)情報を検索し、当該SA情報を用いてアプリケーション40CからサーバSV1bに宛てられた通信データを暗号化したり、サーバSV1bからアプリケーション40Cに宛てられた通信データを復号したりする。一方、SADB33Cに上記IPアドレスとの通信に適用すべきSA情報が未登録の場合、暗号化通信制御部51Cは、アプリケーション40CからサーバSV1bに宛てられた通信データや、サーバSV1bからアプリケーション40Cに宛てられた通信データを廃棄するよう決定する。
【0071】
図38は、クライアントCL1aにおいて、暗号エンジン31が発行する暗号化通信適用可否判定の要求に応答して暗号化通信制御部51Cが実行する制御動作のフローチャート100を示す。
【0072】
本実施例では、暗号エンジン31Cからの暗号化通信適用要否判定の要求を暗号化通信制御部51Cで処理する。暗号化通信制御部51は、暗号化通信適用可否判定要求を受信すると、暗号化通信適用可否判定要求が示すURLに対応する、AOR形式のSIP−URI取得をSIPメッセージ処理部53Cに要求し(ステップ101)、SIPメッセージ処理部53Cからの応答を待つ(102)。次に、暗号化通信制御部51は、SPDB(Security Policy Data Base)32Cを参照して、SIPメッセージ処理部53Cからの応答に含まれる、上記URLに対応するSIP−URIに対する暗号化通信の適用の要否判定する。ここで、暗号化通信を適用すべきと判断した場合、鍵管理プロセス50Cは、SADB(Security Association Data Base)33Cから、上記SIP−URIに適用すべき暗号鍵などのSA(Security Association)情報を検索する。ここで、SADB33Cに当該通信に適用すべきSA情報が未登録の場合、暗号化通信制御部51Cは、通信相手との暗号化パラメータの交換(鍵交換)を実施する。
【0073】
暗号化通信制御部51Cは、DNS等を参照して取得した、上記URLが示すTCP/IP通信パラメータと、暗号化通信制御部51Cが管理している利用可能なSA情報とに基づいて、図18に例示した接続要求メッセージのボディ部M5−2を作成し(ステップ103)、該接続要求メッセージボディ部M5−2と上記SIP−URLとをSIPメッセージ処理部53Cに渡し(104)、SIPメッセージ処理部53Cからの接続応答メッセージボディ部の受信を待つ(105)。
【0074】
暗号化通信制御部51Cは、SIPメッセージ処理部53Cから、図24に例示した接続応答メッセージボディ部M10−2を受信すると、受信した接続応答メッセージボディ部を解析し、今回の暗号化通信に使用すべきSA情報を決定し(、SADB33Cに設定する(106)と、暗号エンジン31Cに暗号化通信の適用要否判定結果を通知する(107)。
【0075】
図39Aは、暗号化通信制御部51CからSIP−URI取得を要求された場合、SIPメッセージ処理部53Cが実行する制御動作のフローチャート110を示す。
SIPメッセージ処理部53Cは、暗号化通信制御部51CからURLを受信すると、図15に例示したAOR取得要求メッセージM3を作成し(ステップ111)、該メッセージをTSL部52C、TCP/IP部30C、NIC部20Cを介して、クライアントCL1aと同一ドメインに位置するSIPサーバSIPa(レジストラRGa)宛に送信する(112)。このとき、TLS部52Cは、レジストラRGaとの間でTLSネゴシェーション(図11のS5)を実行した後、TLS暗号化されたAOR取得要求メッセージM3をTCP/IP部30C、NIC部20Cを介してレジストラRGaに送信する。上記AOR取得要求メッセージM3は、TCP/IP部30Cによって、SIPサーバSV1宛の宛先IPアドレスを含むIPヘッダH1とUDP/TCPヘッダH2とが付加され、IPパケット形式でネットワークNW1に送出される。
【0076】
SIPメッセージ処理部53Cは、レジストラRGaからのAOR取得応答メッセージを待っており(113)、AOR取得応答メッセージを受信すると、受信メッセージを解析し(114)、AORヘッダから接続先サーバに割り当てられたAOR形式のSIP−URIを抽出する(115)。
【0077】
図39Bは、暗号化通信制御部51Cから接続要求メッセージのボディ部を受信した時、SIPメッセージ処理部53Cが実行する制御動作のフローチャート120を示す。
【0078】
SIPメッセージ処理部53Cは、暗号化通信制御部51Cから接続要求メッセージのボディ部とSIP−URIとを受信すると、上記SIP−URIをスタートラインとToヘッダに適用して、ヘッダ部M5−1と暗号化通信制御部51Cから受信したボディ部M5−2とからなる図17に例示した接続要求メッセージM5を作成する(121)。
【0079】
SIPメッセージ処理部53Cは、上記接続要求メッセージをTSL部52C、TCP/IP部30C、NIC部20Cを介して、SIPサーバSIPaのSIPプロキシPRa宛に送信し(122)、SIPプロキシPRaからの応答を待つ(123)。SIPプロキシPRaから接続中メッセージM6を受信した場合は、接続中メッセージ処理(124)を実行した後、SIPプロキシPRaからの次の応答を待つ。
【0080】
SIPメッセージ処理部53Cは、SIPプロキシPRaから接続応答メッセージM12を受信すると、受信メッセージを解析し(125)、受信メッセージから抽出した図24に例示した接続応答メッセージボディ部M12−2を暗号化通信制御部51Cに渡す(126)。この後、SIPメッセージ処理部53Cは、図27に例示した接続確認メッセージM13を作成し、これをTSL部52C、TCP/IP部30C、NIC部20Cを介して、SIPプロキシPRa宛に送信し(127)、このルーチンを終了する。
【0081】
図40は、AOR取得要求メッセージM3を受信した時、レジストラRGaのSIPメッセージ処理部53Rが実行する制御動作のフローチャート200を示す。レジストラRGaのSIPメッセージ処理部53Rは、受信したAOR取得要求メッセージM3を解析し(ステップ201)、Toヘッダが示す接続先サーバSV1bのURLを検索キーとして、ロケーションデータ検索クエリを作成し(202)、レジストラ処理部60Rを介して、上記検索クエリをロケーションサーバLSVに送信し(203)、ロケーションサーバからの応答を待つ(204)。
【0082】
SIPメッセージ処理部53Rは、レジストラ処理部60Rを介して、ロケーションサーバLSVからロケーションデータを受信すると、受信データが示すSIP−URIをAORヘッダとして含む図16に例示したAOR取得応答メッセージM4を作成し(205)、該メッセージM4をTCP/IP部30R、NIC部20Rを介してAOR取得要求メッセージM3の送信元(この例では、クライアントCL1a)に送信し(206)、このルーチンを終了する。
【0083】
図41(図41A〜図41D)は、クライアントCL1aから接続要求メッセージM5を受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作のフローチャート300を示す。SIPプロキシPRaのSIPメッセージ処理部53Pは、クライアントCL1aからの接続要求メッセージM5を受信すると、受信メッセージを解析し(ステップ301)、受信メッセージのスタートラインに記述されたRequest−URIをチェックして(302)、上記Request−URIが示すドメイン名から、受信メッセージの転送先を判定する(303)。
【0084】
受信メッセージの転送先が他のドメインに所属していると判定された場合、SIPメッセージ処理部53Pは、DNS検索(NAPTR検索+SRV検索+A検索)等によって、受信メッセージの転送先ドメインのSIPサーバ(SIPプロキシ)を決定する(304)。図11で示した例では、DNS検索によって、接続要求メッセージM5の転送先が、SIPプロキシPRbであることが判明する。この場合、SIPメッセージ処理部53Pは、図19で例示した接続中メッセージM6をTLS部52P、TCP/IP部30P、NIC部20Pを介して、接続要求メッセージM5の送信元であるクライアントCL1aに送信(305)した後、接続要求メッセージM5に新たなViaヘッダを付加した形の接続要求メッセージM7をSIPプロキシPRbに転送して(306)、SIPプロキシPRbからの応答を待つ(307)。
【0085】
SIPメッセージ処理部53Pは、SIPプロキシPRbから接続中メッセージM8を受信すると、接続中メッセージ処理(308)を実行した後、SIPプロキシPRbからの次の応答を待つ。SIPメッセージ処理部53Pは、SIPプロキシPRbから接続応答メッセージM11を受信すると、受信メッセージを解析し(309)、受信メッセージから自SIP−URIを含むViaヘッダを除去し、接続応答メッセージM12として、接続要求元(クライアントCL1a)に転送する(310)。この後、SIPメッセージ処理部53Pは、接続要求元(クライアントCL1a)からの応答を待つ(311)。SIPメッセージ処理部53Pは、接続確認メッセージM13を受信すると、受信メッセージを解析し(312)、受信メッセージに自分のSIP−URIを含む新たなViaヘッダを付加し、接続確認メッセージM13として、SIPプロキシPRbに転送して(313)、このルーチンを終了する。
【0086】
判定ステップ303で、クライアント端末CL1aから受信した接続要求メッセージの転送先が、例えば、サーバSV1a(またはSV2a)のように、SIPプロキシPRaと同一ドメインに所属していると判定された場合、SIPメッセージ処理部53Pは、受信メッセージのRequest−URIが示すSIP−URIを検索キーとするロケーションデータ(IPアドレス)検索クエリを作成し(315)、該ロケーションデータ検索クエリをロケーションサーバLSVに送信して(316)、ロケーションサービス応答を待つ(317)。
【0087】
SIPメッセージ処理部53Pは、ロケーションサーバLSVからロケーションデータを受信すると、上記ロケーションデータが示す接続先サーバのIPアドレスを宛先IPアドレスに適用して、接続要求メッセージをIPパケット形式でネットワークNW1に送信し(318)、接続先サーバからの応答を待つ(319)。上記接続要求メッセージには、SIPプロキシPRaのSIP−URIを含む新たなViaヘッダが付加されている。
【0088】
接続先サーバから接続応答メッセージを受信すると、SIPメッセージ処理部53Pは、受信メッセージを解析し(320)、自分と対応するViaヘッダを除去した形の接続応答メッセージを接続要求元に転送して(321)、接続要求元(クライアントCL1a)からの応答を待つ(322)。SIPメッセージ処理部53Pは、接続要求元から接続確認メッセージを受信すると、受信メッセージを解析し(323)、新たなViaヘッダを付加した形の接続確認メッセージを接続先サーバに転送して(324)、このルーチンを終了する。
【0089】
図42(図42A、図42B)は、接続先サーバSV1bのSIPメッセージ処理部53Sが、SIPプロキシPRbから接続要求メッセージM9を受信した時に実行する制御動作のフローチャート400を示す。SIPプロキシPRbから接続先サーバSV1bに送信された接続要求メッセージM9は、TLS部52Sで復号した後、SIPメッセージ処理部53Sに入力される。SIPメッセージ処理部53Sは、接続要求メッセージM9を受信すると、受信メッセージを解析し(ステップ401)、受信メッセージから抽出した接続要求メッセージボディ部M5−2を暗号化通信制御部51Sに渡し(402)、暗号化通信制御部51Sからの応答を待つ(403)。
【0090】
SIPメッセージ処理部53Sは、暗号化通信制御部51Sから接続応答メッセージボディ部M10−2を受信すると、図25に例示した接続応答メッセージM11を作成する(404)。SIPメッセージ処理部53Sは、TLS部、TCP/IP部、NIC部を介して、上記接続応答メッセージM11をSIPプロキシPRbに転送し(405)、SIPプロキシPRbからの応答を待つ(406)。SIPメッセージ処理部53Sは、SIPプロキシPRbから、接続確認メッセージM15を受信すると、受信メッセージを解析し(407)、接続確認メッセージM15を受信したことを暗号化通信制御部51Sに通知して(408)、このルーチンを終了する。
【0091】
図43は、SIPメッセージ処理部53Sから接続要求メッセージボディ部M5−2を受信した時、サーバSV1bの暗号化通信制御部51Sが実行する制御動作の示すフローチャート420を示す。
暗号化通信制御部51Sは、SIPメッセージ処理部53Sから受信した接続要求メッセージボディ部M5−2を解析し(ステップ421)、接続要求メッセージボディ部M5−2に記述されたSA情報(図18の例では、トランスフォームペイロード92−1、92−2)から、クライアントとの暗号化通信に適用すべきSAを選択して、図24に例示した接続応答メッセージのボディ部M10−2を作成する(422)。暗号化通信制御部51Sは、上記接続応答メッセージボディ部M10−2をSIPメッセージ処理部53Sに渡し(423)、SIPメッセージ処理部53Sからの応答を待つ(424)。暗号化通信制御部51Sは、SIPメッセージ処理部53Sから接続確認メッセージの受信通知を受けると、SADB33SにSA情報を設定して(425)、このルーチンを終了する。
【0092】
図44は、クライアントCL1aにおいて、暗号エンジン31Cが発行する通信終了要求に応答して暗号化通信制御部51Cが実行する制御動作のフローチャート130を示す。クライアントCL1aのユーザが、サーバSV1bと交信していたアプリケーションを終了すると、暗号エンジン31Cから暗号化通信制御部51Cに、通信終了要求が発行される。SA/SP制御部51Cは、暗号エンジン31Cから通信終了要求を受信すると、SIPメッセージ処理部53Cに、切断要求メッセージの発行を要求し(131)、SIPメッセージ処理部53Cからの応答を待つ(132)。SA/SP制御部51Cは、SIPメッセージ処理部53Cから切断応答メッセージの受信通知を受けると、上記暗号鍵消去要求と対応するSADB33Sの設定値を消去し(133)、このルーチンを終了する。
【0093】
図45は、SA/SP制御部51Cから切断要求メッセージの発行要求を受信した時にSIPメッセージ処理部53Cが実行する制御動作のフローチャート140を示す。SIPメッセージ処理部53Cは、SA/SP制御部51Cから切断要求メッセージの発行要求を受信すると、図30に例示した切断要求メッセージM20を作成し(ステップ141)、TLS部52C、TCP/IP部30Cの暗号エンジン31C、NIC部20Cを介して、上記切断要求メッセージM20のIPパケットをSIPサーバSIPa(SIPプロキシPRa)に送信する(142)。
【0094】
SIPメッセージ処理部53Cは、SIPプロキシPRaからの応答を待ち(143)、切断中メッセージM21を受信した場合は、切断中メッセージ処理(144)を実行した後、SIPプロキシPRaからの次の応答を待つ。SIPメッセージ処理部53Cは、SIPプロキシPRaから図37に例示した切断応答メッセージM27を受信すると、受信メッセージを解析し(145)、暗号化通信制御部51Cに切断応答メッセージの受信を通知し(146)、このルーチンを終了する。
【0095】
図46(図46A、図46B)は、クライアントから切断要求メッセージM20を受信した時にSIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作のフローチャート340を示す。SIPメッセージ処理部53Pは、受信した切断要求メッセージM20を解析し(ステップ341)、受信メッセージのRequest−URIをチェックする(342)。SIPメッセージ処理部53Pは、Request−URIに記述されたドメイン名から、受信メッセージの転送先を判定し(343)、転送先が他のドメインに所属していると判定された場合、DNS検索(NAPTR検索+SRV検索+A検索)等によって、受信メッセージの転送先ドメインのSIPサーバ(SIPプロキシ)を決定する(344)。
【0096】
図12で示した例では、上記DNS検索によって、切断要求メッセージM20の転送先が、SIPプロキシPRbであることが判明する。この場合、SIPメッセージ処理部53Pは、TLS部52P、TCP/IP部30P、NIC部20Pを介して、切断要求メッセージM20の送信元であるクライアントCL1aに、図31に例示した切断中メッセージM21を送信(345)した後、切断要求メッセージM20に新たなViaヘッダを付加し、SIPプロキシPRaに対応するRouteヘッダを除去した切断要求メッセージM22をSIPプロキシPRbに転送し(346)、SIPプロキシPRbからの応答を待つ(347)。
【0097】
SIPメッセージ処理部53Pは、SIPプロキシPRbから切断中メッセージM23を受信すると、切断中メッセージ処理(348)を実行した後、SIPプロキシPRbからの次の応答を待つ。SIPメッセージ処理部53Pは、SIPプロキシPRbから切断応答メッセージM26を受信すると、受信メッセージを解析し(349)、受信メッセージから自SIP−URIを含むViaヘッダを除去し、切断応答メッセージM27として、切断要求元(クライアントCL1a)に転送し(350)、このルーチンを終了する。
【0098】
尚、判定ステップ343で、もし、クライアント端末CL1aから受信した切断要求メッセージM20の転送先が、SIPプロキシPRaと同一ドメインに所属していると判定された場合、SIPメッセージ処理部53Pは、受信メッセージのRequest−URIが示すSIP−URIを検索キーとするロケーションデータ(IPアドレス)検索クエリを作成し(351)、該検索クエリをロケーションサーバLSVに送信して(352)、ロケーションサービス応答を待つ(353)。
【0099】
SIPメッセージ処理部53Pは、ロケーションサーバLSVからロケーションデータを受信すると、上記ロケーションデータが示すサーバIPアドレスを宛先IPアドレスに適用して、切断要求メッセージのIPパケットをネットワークNW1に送信し(354)、サーバからの応答を待つ(355)。尚、上記切断要求メッセージには、SIPプロキシPRaのSIP−URIを含む新たなViaヘッダが付加されている。切断要求メッセージの宛先サーバから切断応答メッセージを受信すると、SIPメッセージ処理部53Pは、受信メッセージを解析し(356)、自分のViaヘッダを除去した形の切断応答メッセージを切断要求元に転送し(357)、このルーチンを終了する。
【0100】
図47は、SIPプロキシから切断要求メッセージM24を受信した時、サーバSV1bのSIPメッセージ処理部53Sが実行する制御動作のフローチャート430を示す。SIPメッセージ処理部53Sは、TLS部52Sを介して切断要求メッセージM24を受信すると、受信メッセージを解析し(ステップ431)、暗号化通信制御部51Sに対して、切断すべき通信の識別情報(例えば、Call−ID)を指定して、切断要求の受信を通知し(432)、暗号化通信制御部51Sからの応答を待つ(433)。SIPメッセージ処理部53Sは、暗号化通信制御部51Sから切断応答を受信すると、図35に例示した切断応答メッセージM25を作成し(434)、TLS部、TCP/IP部、NIC部を介してSIPプロキシPRbに転送し(435)、このルーチンを終了する。
【0101】
図48は、SIPメッセージ処理部53Sから切断要求の発生を通知された時、暗号化通信制御部51Sが実行する制御動作のフローチャート440を示す。暗号化通信制御部51Sは、通知された通信識別情報にもとづいて、SADB33Sから消去すべきSA情報を特定し(ステップ441)、当該SA情報を消去し(442)、このルーチンを終了する。
【0102】
なお、本実施例では、登録要求メッセージのボディ部に識別情報63を含め、登録要求メッセージを解析することによって、識別情報管理テーブル64を更新するようにしている。しかしながら、本発明はこれに限定されず、識別情報管理テーブル64、あるいはその一部のエントリは、ロケーションサーバLSVの管理者によって予め値が設定されていてもよい。
【0103】
次に、図49から図54を参照して、本発明による暗号化データ通信の第2の実施例について説明する。上述した第1の実施例では、SIPプロキシPRとレジストラRGとは同一のSIPサーバ上で動作していた。また、識別情報管理テーブル64で識別情報とSIP−URIとの関連を検索する場合に検索用のSIPメッセージを使用し、SIPプロキシPRが当該SIPメッセージのヘッダに基づいて、識別情報管理テーブル64を検索していた。また、クライアントやサーバと、SIPサーバとの間の通信はTLSで保護していた。
【0104】
本発明の第2の実施例では、識別情報管理テーブル64へのロケーション情報の登録や削除、および識別情報管理テーブル64の検索を行う、識別情報管理サービス65が動作する識別情報管理サーバISVを、別途設けたことを特徴とする。さらには、クライアントやサーバと、識別情報管理テーブル64との間で交換するSIPメッセージのボディ部分をメッセージ暗号(S/MIME)で保護することを特徴とする。
【0105】
本発明の第2の実施例におけるネットワーク構成は、図49に示すように、SIPサーバSIPaが管理するネットワークNW1と、ロケーションサーバLSVと、DNS(Domain Name System)と、識別情報管理サーバISVと、からなる。
【0106】
ネットワークNW1には、クライアントCL1a、CL2aと、サーバSV1a、SV2aが接続されている。また、SIPサーバSIPaは、SIPプロキシPRaとレジストラPGaとからなっている。
【0107】
なお、本実施例の識別情報管理サーバISVには、「agent@aaa.com」というSIP−URIが割り当てられている。本実施例のクライアントCLやサーバSVは当該SIP−URIにロケーション登録や登録解除を要求するSIPメッセージを送信することによって、識別情報管理テーブル64の内容を更新する。また、本実施例のクライアントCLやサーバSVは上記SIP−URIにAOR取得を要求するSIPメッセージを送信することによって、識別情報管理テーブル64の内容を検索する。
【0108】
図50は、本発明の第2の実施例における暗号化通信シーケンス図を示す。図11、図12と同一符号で示された第1実施例で説明済みのステップとメッセージについては説明を省略する。本発明の第2の実施例では、まず、サーバSV1aが、クライアントCL1aからの接続要求に先立って、SIPサーバSIPaのレジストラRGaとの間で、サーバSV1aの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S1)を実行した後、レジストラRGbにロケーション登録要求メッセージM1を送信する。
【0109】
レジストラRGaは、上記ロケーション登録要求メッセージM1を受信すると、ロケーションサービスDBのロケーションサービステーブル60に、受信メッセージのFromヘッダが示す要求元SIP−URI「sv1@aaa.com」とContactヘッダが示す要求元IPアドレス「sv1@192.0.2.4」との関係を示すロケーションデータを登録し(S101)、データの登録が完了すると(S102)、要求元サーバSV2aに、ロケーション登録応答メッセージM102を送信する。
【0110】
ロケーション登録応答メッセージM2を受信したサーバSV1aは、次に、認証情報管理サーバISV宛の識別情報登録メッセージM101(SIPメッセージ:MESSAGE)をSIPサーバSIPaに送信する。
【0111】
上記識別情報登録メッセージM101は、例えば、図51に示すように、スタートラインに、SIPメッセージの種類を示す「MESSAGE」と、認証情報管理サーバISVのSIP−URIである「agent@aaa.com」を含み、Viaヘッダは、サーバSV1aのFQDNの値を示している。また、Toヘッダには、認証情報管理サーバISVのSIP−URIである「agent@aaa.com」が設定され、Fromヘッダには、サーバSV1aのSIP−URI「sips:sv1@aaa.com」が設定されている。さらに、メッセージの有効時間を示すExpiresヘッダ、後続するメッセージボディ部の長さを示すContent−Lengthヘッダ、その他のヘッダ情報が含まれる。識別情報登録要求メッセージM101のメッセージボディ部にはサーバSV1aの識別情報63のリストが含まれる。
【0112】
識別情報登録要求メッセージM101を受信したSIPサーバSIPaは、上記識別情報登録要求メッセージM101の宛先である「agent@aaa.com」をキーとしてロケーションデータベースを検索し(S103)、認証情報管理サーバISVのIPアドレス「192.168.0.3」を取得する(S104)と、当該IPアドレスに識別情報登録要求メッセージM102を送信する(M102)。
【0113】
識別情報登録要求メッセージM102を受信した認証情報管理サーバISVは、当該識別情報登録要求メッセージM102のボディ部の各識別情報63を上記識別情報登録要求メッセージM101の送信元のSIP−URI「sips:sv1@aaa.com」と関連付けて、識別情報管理テーブル64に格納すると、図52に示す、サーバSV1a宛の識別情報登録応答メッセージM103(SIPメッセージ:200 OK)をSIPサーバSIPaに送信する。識別情報登録応答メッセージM103のスタートラインは、SIPメッセージの種類として、応答メッセージであることを示す「200 OK」を含み、ヘッダ部には、ロケーション登録要求メッセージM1と略同一内容のヘッダ情報が設定される。
【0114】
識別情報登録応答メッセージM103を受信したSIPサーバSIPaは、上記識別情報登録要求メッセージM103の宛先(送信元?)である「sips:sv1@aaa.com」に識別情報登録応答メッセージM104を送信する(M104)。
【0115】
この状態で、クライアントCL1aのユーザが、アプリケーションプログラムを立ち上げ、サーバSV1aのURL「http://www.aaa.com/」宛に通信を要求する操作を行った場合、第2の実施例では、クライアントCL1aが、SIPサーバSIPa(レジストラRGa)との間で、クライアントの認証と暗号化通信用のパラメータ設定のためのTLSネゴシェーション(S4)を実行した後、SIPサーバSIPaに認証情報管理サーバISV宛のAOR(Address-of-Record)取得要求メッセージ(SIPメッセージ:INFO)M105を送信する。
【0116】
上記AOR取得要求メッセージM105は、例えば、図53に示すように、スタートラインに、SIPメッセージ種類を示す「INFO」と、認証情報管理サーバISVのSIP−URIである「sips:agent@aaa.com」を含み、Viaヘッダは、クライアントCL1aのFQDNの値を示している。また、Toヘッダには、クライアントCL1aの接続相手となるサーバSV1aのURL「http://www.aaa.com/」が設定され、Fromヘッダには、クライアントCL1aのURI「sips:cl1@aaa.com」が設定されている。
【0117】
AOR取得要求メッセージM105を受信したSIPサーバSIPaは、上記識別情報登録メッセージM105の宛先である「agent@aaa.com」をキーとしてロケーションデータベースを検索し(S105)、認証情報管理サーバISVのIPアドレスを取得する(S106)と、当該IPアドレスに識別情報登録要求メッセージM105を送信する(M106)。
【0118】
AOR取得要求メッセージM105を受信した認証情報管理サーバISVは、ドメイン管理DBのドメイン管理テーブル64から、受信メッセージのToヘッダが示すURL「http://www.bbb.com/」と対応するAOR(サーバSV1aのURI)の値を検索し、ロケーションデータAORの検索が完了すると、SIPサーバSIPaを介して要求元クライアントCL1aにAOR取得応答メッセージM107を送信する。
【0119】
AOR取得応答メッセージM107は、図54に示すように、スタートラインに、メッセージ種類が応答メッセージであることを示す「200 OK」を含み、ヘッダ部にはAOR取得要求メッセージM105と略同一内容のヘッダ情報が記載され、ボディ部には識別情報管理テーブル64から検索されたサーバSV1aのSIP−URIの値「sv1@aaa.com」を示す値が記述されている。
【0120】
上記AOR取得応答メッセージM105の受信によって接続先サーバSV1aのSIP−URIを取得したクライアントCL1aは、SIPプロキシPRaに対して、サーバSV1aへの接続要求メッセージM5を送信する。
【0121】
以降の動作は、第一の実施例の動作と同じであるので、説明を省略する
尚、実施例では、SIPメッセージのRequest−URIやToヘッダにIPアドレスを適用する時、例えば、図15や図51の「sips:192.0.2.4」のように記述した。この場合、SIPメッセージを受信したSIPプロキシ、レジストラまたはサーバ側では、着目フィールドにおける「sips:」に続く文字列が、3桁以下の数字をドットで区切ったIPアドレス表記となっているか否かによって、SIP−URI記述かIPアドレス記述かを判定できる。SIP−URI記述かIPアドレス記述かを判定を確実にするためは、例えば、「sips:192.0.2.4;id=ipv4」のように、URIパラメータを使用して、AOR解決を必要とするSIP−URIであることを明示するようにしてもよい。また、例えば、「ipv4:192.0.2.4」のように、着目フィールドでIPv4(またはIPv6)というスキームを検出した場合は、その後にIPアドレスが記述されているものと約束してもよい。
【0122】
さらには、実施例では、クライアントのアプリケーションプログラムが接続先サーバのIPアドレス宛にパケットを送信する操作を行った場合に、接続先サーバのIPアドレスに対応するSIP−URIを取得するためのAOR取得要求メッセージをSIPサーバに送信するようにしているが、本発明はこれに限定されず、当該アプリケーションプログラムが使用している任意の体系の接続先識別子から、当該接続先識別子に対応するリソース識別子(接続先サーバを識別するためにセッション管理サーバが採用している識別子)を取得するために適用することができる。例えば、クライアントのアプリケーションプログラムが接続先サーバを指定する情報を含むURLへの接続を要求する操作を行った場合に、当該URLに対応するSIP−URIを取得するためのAOR取得要求メッセージをSIPサーバに送信するようにしてもよい。このとき、前記URLは事前にSIPサーバに登録するようにしてもよいし、接続先サーバがロケーション登録を行う際のロケーション登録要求メッセージに当該接続先サーバがアクセス可能なURLのリストを含めるようにしてもよい。
【0123】
さらには、実施例では、クライアントやサーバとSIPサーバとの間の通信はTLSによって保護しているが、本発明はこれに限定されず、S/MIMEによって保護してもよい。また、第2の実施例では、クライアントやサーバと識別情報管理サーバISVとの間でS/MIMEで保護されたSIPメッセージを送受するようにしても良い。
【図面の簡単な説明】
【0124】
【図1】公開鍵暗号化通信における従来の認証システムを説明するため図。
【図2】IPsecによる暗号化通信を行うために従来のクライアントが備えるソフトウェアの基本的なブロック構成を示す図。
【図3】本発明と関係するSIPプロキシを適用した認証システムを説明するための図。
【図4】本発明のセッション管理サーバ(SIPサーバ)を含むネットワーク構成の1例を示す図。
【図5】図4に示したロケーションサーバLSVが備えるロケーションサービステーブルの1例を示す図。
【図6】図4に示したSIPプロキシPRaのハードウェア構成を示すブロック図。
【図7】図4に示したクライアントCL1aの基本的なソフトウェア構造を示す図。
【図8】図4に示したサーバSV1bの基本的なソフトウェア構造を示す図。
【図9】図4に示したSIPプロキシPRaの基本的なソフトウェア構造を示す図。
【図10】図4に示したレジストラRGaの基本的なソフトウェア構造を示す図。
【図11】本発明による暗号化通信の第1の実施例を説明するためのシーケンス図の一部。
【図12】本発明による暗号化通信の第1の実施例を説明するためのシーケンス図の残部。
【図13】図11におけるロケーション登録要求メッセージM1のフォーマットの1例を示す図。
【図14】図11におけるロケーション登録応答メッセージM2のフォーマットの1例を示す図。
【図15】図11におけるロケーションAOR取得要求メッセージM3のフォーマットの1例を示す図。
【図16】図11におけるロケーションAOR取得応答メッセージM4のフォーマットの1例を示す図。
【図17】図11における接続要求メッセージM5のフォーマットの1例を示す図。
【図18】接続要求メッセージM5のボディ部M5−2のフォーマットの1例を示す図。
【図19】図11における接続中メッセージM6のフォーマットの1例を示す図。
【図20】図11における接続要求メッセージM7のフォーマットの1例を示す図。
【図21】図12における接続中メッセージM8のフォーマットの1例を示す図。
【図22】図12における接続要求メッセージM9のフォーマットの1例を示す図。
【図23】図12における接続応答メッセージM10のフォーマットの1例を示す図。
【図24】接続応答メッセージM10のボディ部M10−2のフォーマットの1例を示す図。
【図25】図12における接続応答メッセージM11のフォーマットの1例を示す図。
【図26】図12における接続応答メッセージM12のフォーマットの1例を示す図。
【図27】図12における接続確認メッセージM13のフォーマットの1例を示す図。
【図28】図12における接続確認メッセージM14のフォーマットの1例を示す図。
【図29】図12における接続確認メッセージM15のフォーマットの1例を示す図。
【図30】図12における切断要求メッセージM20のフォーマットの1例を示す図。
【図31】図12における切断中メッセージM21のフォーマットの1例を示す図。
【図32】図12における切断要求メッセージM22のフォーマットの1例を示す図。
【図33】図12における切断中メッセージM23のフォーマットの1例を示す図。
【図34】図12における切断要求メッセージM24のフォーマットの1例を示す図。
【図35】図12における切断応答メッセージM25のフォーマットの1例を示す図。
【図36】図12における切断応答メッセージM26のフォーマットの1例を示す図。
【図37】図12における切断応答メッセージM27のフォーマットの1例を示す図。
【図38】鍵交換要求を受信した時、クライアントCL1aの暗号化通信制御部51Cが実行する制御動作を示すフローチャート。
【図39A】接続要求メッセージのボディ部を受信した時、クライアントCL1aのSIPメッセージ処理部53Cが実行する制御動作を示すフローチャートの一部。
【図39B】接続要求メッセージのボディ部を受信した時、クライアントCL1aのSIPメッセージ処理部53Cが実行する制御動作を示すフローチャートの残部。
【図40】AOR取得要求メッセージを受信した時、レジストラRGaのSIPメッセージ処理部53Rが実行する制御動作を示すフローチャート。
【図41A】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第1部分。
【図41B】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第2部分。
【図41C】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第3部分。
【図41D】接続要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの第4部分。
【図42】接続要求メッセージを受信した時、サーバSV1bのSIPメッセージ処理部53Sが実行する制御動作を示すフローチャート。
【図43】接続要求メッセージのボディ部を受信した時、サーバSV1bの暗号化通信制御部51Sが実行する制御動作を示すフローチャート。
【図44】鍵消去要求を受信した時、クライアントCL1aの暗号化通信制御部51Cが実行する制御動作を示すフローチャート。
【図45】切断要求メッセージの発行要求を受信した時、クライアントCL1aのSIPメッセージ処理部53Cが実行する制御動作を示すフローチャート。
【図46A】切断要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの一部。
【図46B】切断要求メッセージを受信した時、SIPプロキシPRaのSIPメッセージ処理部53Pが実行する制御動作を示すフローチャートの残部。
【図47】切断要求メッセージを受信した時、サーバSV1bのSIPメッセージ処理部53Sが実行する制御動作を示すフローチャート。
【図48】切断要求の発生通知を受信した時、サーバSV1bの暗号化通信制御部51Sが実行する制御動作を示すフローチャート。
【図49】本発明による暗号化通信の第2の実施例のネットワーク構成の1例を示す図。
【図50】本発明による暗号化通信の第2の実施例を説明するためのシーケンス図の一部。
【図51】図50における識別情報登録要求メッセージM101のフォーマットの1例を示す図。
【図52】図50における識別情報登録応答メッセージM103のフォーマットの1例を示す図。
【図53】図50におけるAOR取得要求メッセージM105のフォーマットの1例を示す図。
【図54】図50におけるAOR取得応答メッセージM107のフォーマットの1例を示す図。
【符号の説明】
【0125】
CL1a〜CL2b:クライアント、SV1a〜SV2b:サーバ、
SIPa、SIPb:SIPサーバ、PRa、PRb:SIPプロキシ、
RGa、RGb:レジストラ、LSV:ロケーションサーバ、ISV:識別情報管理サーバ、
20:ネットワークインタフェースカード部、30:暗号化通信機能部、
31:暗号エンジン、40:アプリケーションソフト、50:鍵管理プロセス、
51:暗号化通信制御部、52:TLS部、53:SIPメッセージ処理部、
60:レジストラ処理部。
【特許請求の範囲】
【請求項1】
セッション管理サーバが接続された通信ネットワークを介して行われるクライアントとサーバとの間のデータ通信方法であって、
上記クライアントから上記セッション管理サーバに、接続先サーバの接続先識別子を指定して、該接続先サーバに割り当てられた所属ドメイン名を含むリソース識別子を問い合わせる第1ステップと、
上記セッション管理サーバが、接続先識別子とリソース識別子との対応関係を管理している識別情報管理テーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、上記クライアントに通知する第2ステップと、
上記クライアントから上記セッション管理サーバに、要求リソースを上記接続先サーバのリソース識別子で指定した接続要求メッセージを送信する第3ステップと、
上記セッション管理サーバが、受信した接続要求メッセージに記述された上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とするデータ通信方法。
【請求項2】
セッション管理サーバが接続された通信ネットワークを介して行われるクライアントとサーバとの間のデータ通信方法であって、
上記クライアントから上記セッション管理サーバに、要求リソースを接続先サーバの接続先識別子で指定した接続要求メッセージを送信する第1ステップと、
上記接続要求メッセージを受信したセッション管理サーバが、接続先識別子とリソース識別子との対応関係を管理している識別情報管理テーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得する第2ステップと、
上記セッション管理サーバが、受信メッセージに要求リソースとして記述された接続先識別子を上記識別情報管理テーブルから取得したリソース識別子に書き換える第3ステップと、
上記セッション管理サーバが、上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とするデータ通信方法。
【請求項3】
セッション管理サーバが接続された通信ネットワークを介して行われるクライアントとサーバとの間のデータ通信方法であって、
上記クライアントから接続先となるサーバに、該サーバに割り当てられた所属ドメイン名を含むリソース識別子を問い合わせる第1ステップと、
上記サーバから上記クライアントに、問い合わせリソース識別子を通知する第2ステップと、
上記クライアントから上記セッション管理サーバに、要求リソースを上記接続先サーバのリソース識別子で指定した接続要求メッセージを送信する第3ステップと、
上記セッション管理サーバが、受信した接続要求メッセージに記述された上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とするデータ通信方法。
【請求項4】
前記接続要求メッセージの受信に応答して、前記接続先サーバから前記セッション管理サーバを介して前記要求元クライアントに、暗号化通信に必要となるパラメータ情報を含む接続応答メッセージを返送する第5ステップと、
上記クライアントと接続先サーバとの間で、上記接続応答メッセージで指定されたパラメータ情報に従って暗号化されたメッセージを含むパケットを通信する第6ステップを含むことを特徴とする請求項1〜請求項3の何れかに記載のデータ通信方法。
【請求項5】
前記セッション管理サーバが、SIP(Session Initiation Protocol)サーバからなり、前記クライアントと前記セッション管理サーバとの間の通信メッセージがRFC3261に規定されたTLS(Transport Layer Security)によって暗号化され、上記接続先識別子は接続先サーバのIPアドレスであることを特徴とする請求項1〜請求項4の何れかに記載のデータ通信方法。
【請求項6】
前記クライアントと接続先サーバとの間の通信データが、RFC2401に規定されたIPsec(Internet Protocol Security)によって暗号化されることを特徴とする請求項4または請求項5に記載のデータ通信方法。
【請求項7】
通信ネットワークを介してクライアントおよびサーバと通信するセッション管理サーバであって、
上記クライアントから、要求リソースを接続先サーバの接続先識別子で指定した接続要求メッセージを受信した時、接続先識別子とリソース識別子との対応関係を管理している識別情報管理テーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、受信メッセージに記述された要求リソースを接続先識別子から上記リソース識別子に書き換えるための手段と、
上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送するための手段とを有することを特徴とするセッション管理サーバ。
【請求項8】
前記通信ネットワークに接続されたネットワークインタフェース部と、
セッション制御メッセージを処理するメッセージ処理部と、
上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するためのセキュリティ部とを有し、
上記メッセージ処理部が、前記要求リソースの書き換え手段と、前記受信メッセージの転送手段を備えることを特徴とする請求項7に記載のセッション管理サーバ。
【請求項9】
通信ネットワークを介してセッション管理サーバおよびサーバと通信するクライアント端末であって、
上記通信ネットワークに接続されたネットワークインタフェース部と、
セッション制御メッセージを処理するメッセージ処理部と、
アプリケーションプログラムが発生する接続先サーバ宛の送信メッセージを暗号化して上記ネットワークインタフェース部に出力すると共に、上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記アプリケーションプログラムに渡すための第1セキュリティ部と、
上記セキュリティ部から、接続先サーバとの暗号化パラメータの交換要求が発生した時、接続先サーバを接続先識別子で指定した接続要求メッセージを上記メッセージ処理部に出力し、上記メッセージ処理部から接続応答メッセージを受信した時、該受信メッセージから抽出した暗号化パラメータを上記第1セキュリティ部に渡すセキュリティ情報制御部とからなり、
上記メッセージ処理部が、上記セキュリティ情報制御部から接続要求メッセージを受信した時、上記接続先識別子に基づいて上記セッション管理サーバまたは接続先サーバから接続先サーバのリソース識別子を取得し、該リソース識別子で要求リソースを指定した形で、上記接続要求メッセージを上記セッション管理サーバに送信することを特徴とするクライアント端末。
【請求項10】
前記ネットワークインタフェース部から受信した暗号化されたセッション制御メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するための第2セキュリティ部を有し、
前記接続先サーバとの通信データが前記第1セキュリティ部によって暗号化され、前記セッション管理サーバと通信メッセージが上記第2セキュリティ部によって暗号化されることを特徴とする請求項9に記載のクライアント端末。
【請求項1】
セッション管理サーバが接続された通信ネットワークを介して行われるクライアントとサーバとの間のデータ通信方法であって、
上記クライアントから上記セッション管理サーバに、接続先サーバの接続先識別子を指定して、該接続先サーバに割り当てられた所属ドメイン名を含むリソース識別子を問い合わせる第1ステップと、
上記セッション管理サーバが、接続先識別子とリソース識別子との対応関係を管理している識別情報管理テーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、上記クライアントに通知する第2ステップと、
上記クライアントから上記セッション管理サーバに、要求リソースを上記接続先サーバのリソース識別子で指定した接続要求メッセージを送信する第3ステップと、
上記セッション管理サーバが、受信した接続要求メッセージに記述された上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とするデータ通信方法。
【請求項2】
セッション管理サーバが接続された通信ネットワークを介して行われるクライアントとサーバとの間のデータ通信方法であって、
上記クライアントから上記セッション管理サーバに、要求リソースを接続先サーバの接続先識別子で指定した接続要求メッセージを送信する第1ステップと、
上記接続要求メッセージを受信したセッション管理サーバが、接続先識別子とリソース識別子との対応関係を管理している識別情報管理テーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得する第2ステップと、
上記セッション管理サーバが、受信メッセージに要求リソースとして記述された接続先識別子を上記識別情報管理テーブルから取得したリソース識別子に書き換える第3ステップと、
上記セッション管理サーバが、上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とするデータ通信方法。
【請求項3】
セッション管理サーバが接続された通信ネットワークを介して行われるクライアントとサーバとの間のデータ通信方法であって、
上記クライアントから接続先となるサーバに、該サーバに割り当てられた所属ドメイン名を含むリソース識別子を問い合わせる第1ステップと、
上記サーバから上記クライアントに、問い合わせリソース識別子を通知する第2ステップと、
上記クライアントから上記セッション管理サーバに、要求リソースを上記接続先サーバのリソース識別子で指定した接続要求メッセージを送信する第3ステップと、
上記セッション管理サーバが、受信した接続要求メッセージに記述された上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送する第4ステップとからなることを特徴とするデータ通信方法。
【請求項4】
前記接続要求メッセージの受信に応答して、前記接続先サーバから前記セッション管理サーバを介して前記要求元クライアントに、暗号化通信に必要となるパラメータ情報を含む接続応答メッセージを返送する第5ステップと、
上記クライアントと接続先サーバとの間で、上記接続応答メッセージで指定されたパラメータ情報に従って暗号化されたメッセージを含むパケットを通信する第6ステップを含むことを特徴とする請求項1〜請求項3の何れかに記載のデータ通信方法。
【請求項5】
前記セッション管理サーバが、SIP(Session Initiation Protocol)サーバからなり、前記クライアントと前記セッション管理サーバとの間の通信メッセージがRFC3261に規定されたTLS(Transport Layer Security)によって暗号化され、上記接続先識別子は接続先サーバのIPアドレスであることを特徴とする請求項1〜請求項4の何れかに記載のデータ通信方法。
【請求項6】
前記クライアントと接続先サーバとの間の通信データが、RFC2401に規定されたIPsec(Internet Protocol Security)によって暗号化されることを特徴とする請求項4または請求項5に記載のデータ通信方法。
【請求項7】
通信ネットワークを介してクライアントおよびサーバと通信するセッション管理サーバであって、
上記クライアントから、要求リソースを接続先サーバの接続先識別子で指定した接続要求メッセージを受信した時、接続先識別子とリソース識別子との対応関係を管理している識別情報管理テーブルから、上記接続先サーバの接続先識別子と対応するリソース識別子を取得し、受信メッセージに記述された要求リソースを接続先識別子から上記リソース識別子に書き換えるための手段と、
上記リソース識別子に含まれるドメイン名に基づいて受信メッセージの転送先を判定し、受信メッセージを接続先サーバまたは該接続先サーバの所属ドメインを管理する別のセッション管理サーバに転送するための手段とを有することを特徴とするセッション管理サーバ。
【請求項8】
前記通信ネットワークに接続されたネットワークインタフェース部と、
セッション制御メッセージを処理するメッセージ処理部と、
上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するためのセキュリティ部とを有し、
上記メッセージ処理部が、前記要求リソースの書き換え手段と、前記受信メッセージの転送手段を備えることを特徴とする請求項7に記載のセッション管理サーバ。
【請求項9】
通信ネットワークを介してセッション管理サーバおよびサーバと通信するクライアント端末であって、
上記通信ネットワークに接続されたネットワークインタフェース部と、
セッション制御メッセージを処理するメッセージ処理部と、
アプリケーションプログラムが発生する接続先サーバ宛の送信メッセージを暗号化して上記ネットワークインタフェース部に出力すると共に、上記ネットワークインタフェース部から受信した暗号化メッセージを復号化して上記アプリケーションプログラムに渡すための第1セキュリティ部と、
上記セキュリティ部から、接続先サーバとの暗号化パラメータの交換要求が発生した時、接続先サーバを接続先識別子で指定した接続要求メッセージを上記メッセージ処理部に出力し、上記メッセージ処理部から接続応答メッセージを受信した時、該受信メッセージから抽出した暗号化パラメータを上記第1セキュリティ部に渡すセキュリティ情報制御部とからなり、
上記メッセージ処理部が、上記セキュリティ情報制御部から接続要求メッセージを受信した時、上記接続先識別子に基づいて上記セッション管理サーバまたは接続先サーバから接続先サーバのリソース識別子を取得し、該リソース識別子で要求リソースを指定した形で、上記接続要求メッセージを上記セッション管理サーバに送信することを特徴とするクライアント端末。
【請求項10】
前記ネットワークインタフェース部から受信した暗号化されたセッション制御メッセージを復号化して上記メッセージ処理部に渡すと共に、上記メッセージ処理部から出力されたセッション制御メッセージを暗号化して上記ネットワークインタフェース部に出力するための第2セキュリティ部を有し、
前記接続先サーバとの通信データが前記第1セキュリティ部によって暗号化され、前記セッション管理サーバと通信メッセージが上記第2セキュリティ部によって暗号化されることを特徴とする請求項9に記載のクライアント端末。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39A】
【図39B】
【図40】
【図41A】
【図41B】
【図41C】
【図41D】
【図42】
【図43】
【図44】
【図45】
【図46A】
【図46B】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図24】
【図25】
【図26】
【図27】
【図28】
【図29】
【図30】
【図31】
【図32】
【図33】
【図34】
【図35】
【図36】
【図37】
【図38】
【図39A】
【図39B】
【図40】
【図41A】
【図41B】
【図41C】
【図41D】
【図42】
【図43】
【図44】
【図45】
【図46A】
【図46B】
【図47】
【図48】
【図49】
【図50】
【図51】
【図52】
【図53】
【図54】
【公開番号】特開2007−164387(P2007−164387A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−358398(P2005−358398)
【出願日】平成17年12月13日(2005.12.13)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成17年度総務省「認証機能を具備するサービスプラットフォーム技術」委託研究、産業活力再生特別措置法第30条の適用を受けるもの)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願日】平成17年12月13日(2005.12.13)
【国等の委託研究の成果に係る記載事項】(出願人による申告)国等の委託研究の成果に係る特許出願(平成17年度総務省「認証機能を具備するサービスプラットフォーム技術」委託研究、産業活力再生特別措置法第30条の適用を受けるもの)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]