説明

通信システム、SIPサーバ、SIP端末、及びセキュリティ通信方法

【課題】SIPサーバのリソース圧迫を回避し、SIPサーバからSIP端末へのTLSセッション要求を送信可能とする。
【解決手段】SIPサーバ11とSIP端末12とがIPネットワーク13経由で接続される通信システム1であって、SIPサーバからSIP端末へのSIPリクエスト送信時、SIPサーバが、SIP端末にTCPコネクションを行うSIPサーバ側コネクション管理部110と、SIP端末がSIPサーバとのTCPコネクションの確立を契機にSIPサーバへ動的にTLSセッションを確立するSIP端末側コネクション管理部120とを備え、SIPサーバ側コネクション管理部110は、TLSセッションが確立したことを検知してSIP端末にSIPリクエストを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、IETF RFC3261で定義されているSIP(Session Initiation Protocol)を利用して通信を行う、通信システム、SIPサーバ、SIP端末、及びセキュリティ通信方法に関する。
【背景技術】
【0002】
例えば、図7に示す通信システム100において、IPネットワーク103を経由したSIPサーバ101とSIP端末102A〜102N(以下、断りのない限り単にSIP端末102という)との間の通信は、IETF RFC2246で定義されるTLS(Transport Layer Security)上でSIP通信を行う場合に適用できる。SIPについては非特許文献1に詳述されている。
【0003】
図7において、SIPサーバ101は、RFC3261で定義されるプロキシサーバとレジストラサーバとの双方の機能を有している。
SIP端末102は、SIP端末102自身のIPアドレスや使用するポート番号をRFC3261で定義されるレジストラ(REGISTER)メッセージとしてSIPサーバ101に送信する。SIPサーバ101は、REGISTERメッセージを受信するとレジストラサーバとして振る舞い、REGISTERメッセージからSIP端末102のIPアドレスやポート番号を認識する。
【0004】
また、SIP端末102は、他のSIP102端末と通信を行うために、RFC3261で定義されるINVITEメッセージをSIPサーバ101へ送信する。
SIPサーバ101は、INVITEメッセージを受信するとプロキシサーバとして振る舞い、INVITEメッセージに含まれるRequest−URIから、着信先のSIP端末102を決定し、INVITEメッセージを転送する。
【0005】
前記したようにSIP端末102間の通信を実現するが、SIPサーバ101とSIP端末102との間のSIP通信をセキュリティ面で保護する観点から、SIPサーバ101とSIP端末102との間のSIP通信はTLS上で行うものとする。TLSについては、非特許文献2に詳述されている。
【0006】
ところで、非特許文献1には、TLSを利用したSIP端末・SIPサーバ間の通信に関する記述として、プロキシサーバ・リダイレクトサーバ・レジストラサーバは、TLSを実装しなければならず、さらに1方向・双方向の認証を両方ともサポートしなければならないとあり、また、UA(User Agent:図10のIP端末102に相当)は、TLSを最初に接続してTLSクライアントとして振る舞うことが強く推奨されるとある。なお、UAはTLSサーバとして振る舞う機能を持ってもよい。
【0007】
前記したように、RFC3261では、SIP端末102がTLSクライアントになることを強く推奨している。その理由を以下に説明する。
すなわち、RFC3261では、TLSの暗号化スイートとして、公開鍵暗号方式の一つであるRSA(Rivest Shamir Adleman)方式を利用した暗号化スイートTLS-RSA-WITH-AES-128-CBC-SHAを最低限サポートすることになっている。
【0008】
RSAを用いた暗号化スイートの場合、TCP(Transmission Control Protocol)と異なり、TLSサーバとして振る舞うにためには、公開鍵を含むサーバ証明書と秘密鍵とが必要になる。そのため、SIP端末102がTLSサーバとして振る舞うには、全SIP端末102にサーバ証明書と秘密鍵とを配置することが必要となるが、SIP端末102は、一般にIP電話端末として膨大な数になるため、全SIP端末102にサーバ証明書と秘密鍵を発行するのは現実的ではない。
【0009】
そのため、サーバ証明書と秘密鍵とは、SIPサーバ101等の数が限られるサーバにのみ配置するモデルがRFC3261に記述されている。
IETF draft−ietf−sip−sips−09に関しても、例えば、3.1項にSIPでTLSを利用するモデルが記述されている。draft−ietf−sip−sips−90の3.1.2項には、UA(=SIP端末102)がTLSサーバとなる場合、サーバ証明書をUAに配置することになり、非現実的である旨が記述されている。
【0010】
以上説明のように、サーバ証明書と秘密鍵は、装置数が限られるサーバにのみ配置するモデルが一般的である。
なお、SIP端末102がTLSサーバとして振る舞わず、TLSクライアントとしてのみ振る舞う場合、SIPサーバ101からSIP端末102へのTLS接続要求を行えない。例えば、SIP端末102AがSIP端末102Bと通信を行う場合、発側となるSIP端末102AからSIPサーバ101へINVITEメッセージが送信され、SIPサーバ101が着側となるSIP端末102BへINVITEメッセージを転送させる。
【0011】
このとき、SIPサーバ101が着側SIP端末102BへINVITEを転送させるためには、SIP端末102BからSIPサーバ101へTLSセッションをあらかじめ接続しておく必要がある。そのため、RFC3261 26.3.2.1項で、SIP端末102がSIPサーバ101へREGISTERを送信した後、図8のレジストレーション処理の動作シーケンス図に示されるように、SIP端末102と、SIPサーバ101との間でTLSセッションをオープンしたままとする仕様になっている。
【0012】
図8には、RFC3261に基づいた、SIPサーバ101と、着側のSIP端末102のレジストレーションからSIP端末間の通信確立に至るまでのSIP信号の流れが示されている。
以下、図8のRFC3261におけるSIPサーバ101のレジストレーション処理の流れについて簡単に説明する。
【0013】
図8において、SIP端末102は、まず、SIPサーバ101に対してTCP接続を行う。処理(P81)は、TCP接続処理(スリーウェイハンドシェイク)である。TCP接続が完了すると、処理(P82)に示されように、TLSセッションを確立するため、SIP端末102は、SIPサーバ101へTLSハンドシェイクを実行する。
このTLSハンドシェイクは、処理(P81)で確立したTCPコネクション上で行う。TLSハンドシェイクが完了すると、処理(P83)に示されるように、SIP端末102は、RFC3261の10項に示すとおりSIPサーバ101へREGISTER信号を送信してレジストレーション処理を実行する。
【0014】
RFC3261のモデルでは、レジストレーション完了後、SIPサーバ101とSIP端末102との間のTLSセッションは切断せず、保持する方式になっている。これにより、処理(P84)のように、SIPサーバ101側からSIP端末102側へSIPリクエストを送信する場合、処理(P82)で確立したTLSセッションを利用することで、SIPサーバ101からSIP端末102の方向へリクエストを送信可能にしている。
【先行技術文献】
【非特許文献】
【0015】
【非特許文献1】IETF RFC3261 「IETFドラフト:draft−ietf−sip−sips−09」 <インターネットURL>http://www.ietf.org/ /internet−drafts/draft−ietf−sip−sips−09.txt (2009−2−22日閲覧)
【非特許文献2】IETF RFC2246 「The TLS Protocolv.1.0」 <インターネットURL>http://www.ietf.org/ric/ rfc2246.txt(2009−2−22日閲覧)
【発明の概要】
【発明が解決しようとする課題】
【0016】
前記したモデルの場合、RFC3261 26.4.3項で指摘されているように、SIPサーバ101が全SIP端末102とTLSセッションを確立し、保持することになり、SIPサーバ101のメモリ等のリソースを圧迫する問題がある。
一方、SIPサーバ101とSIP端末102との間でTLSセッションを保持せず、SIPリクエストを送信するときのみ動的にTLSセッションを確立させる場合、SIP端末102は、サーバ証明書を配置しないためTLSサーバにはなれず、SIPサーバ101からSIP端末102方向へのTLSセッション要求を送信できない問題がある。
【0017】
本発明は前記した課題を解決するためになされたものであり、SIPサーバとSIP端末との間でTLSセッションを保持せず、SIPリクエストを送信するときのみ動的にTLSセッションを確立させることを実現し、このことにより、SIPサーバのリソース圧迫を回避し、かつ、SIPサーバからSIP端末へのTLSセッション要求を送信可能な、通信システム、SIPサーバ、SIP端末、及びセキュリティ通信方法を提供することを目的とする。
【課題を解決するための手段】
【0018】
前記目的を達成するために、本発明の通信システムは、SIPサーバとSIP端末とがIPネットワーク経由で接続される通信システムであって、前記SIPサーバから前記SIP端末へのSIPリクエスト送信時、前記SIPサーバが、前記SIP端末にTCPコネクションを行うSIPサーバ側コネクション管理部と、前記SIP端末が前記SIPサーバとのTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立するSIP端末側コネクション管理部とを備え、前記SIPサーバ側コネクション管理部は、前記TLSセッションが確立したことを検知して前記SIP端末に前記SIPリクエストを送信するものである。
【0019】
また、本発明のSIPサーバは、SIP端末とはIPネットワーク経由で接続されるSIPサーバであって、前記SIP端末へのSIPリクエスト送信時、前記SIP端末にTCPコネクションを行うSIPサーバ側コネクション管理部を備え、前記SIPサーバ側コネクション管理部は、前記SIP端末とのTCPコネクションの確立を契機に前記SIP端末が動的にTLSセッションを確立したことを検知して前記SIP端末に前記SIPリクエストを送信するものである。
【0020】
また、本発明のSIP端末は、SIPサーバとはIPネットワーク経由で接続されるSIP端末であって、前記SIPサーバとの間のTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立するSIP端末側コネクション管理部とを備え、前記SIP端末側コネクション管理部は、前記SIPサーバから前記SIP端末へのSIPリクエスト送信時、前記SIPサーバとのTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立するものである。
【0021】
また、本発明のセキュリティ通信方法は、SIPサーバとSIP端末とが、IPネッワーク経由で接続される通信システムにおけるセキュリティ通信方法であって、前記SIPサーバから前記SIP端末へのSIPリクエスト送信時、前記SIPサーバが、前記SIP端末にTCPコネクションを行うステップと、前記SIP端末が前記SIPサーバとのTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立するステップと、前記SIPサーバが、前記TLSセッションが確立したことを検知して前記SIP端末に前記SIPリクエストを送信するステップと、を有するのである。
【発明の効果】
【0022】
本発明によれば、SIPサーバとSIP端末との間でTLSセッションを保持せず、SIPリクエストを送信するときのみ動的にTLSセッションを確立させることができる。これにより、SIPサーバのリソース圧迫を回避し、かつ、SIPサーバからSIP端末へのTLSセッション要求を送信することができる。
【図面の簡単な説明】
【0023】
【図1】本発明の実施の形態に係る通信システムのシステム構成の一例を示す図である。
【図2】本発明の実施の形態に係る通信システムのレジストレーション処理の流れを示す動作シーケンス図である。
【図3】本発明の実施の形態に係る通信システムにおいて、SIPサーバからSIP端末へSIPリクエストを送信する場合の動作の流れを示す動作シーケンス図である。
【図4】本発明の実施の形態にSIPサーバとSIP端末の内部構成を示すブロック図である。
【図5】本発明の実施の形態に係るSIPサーバ(SIPサーバ側コネクション管理部)の動作を示すフローチャートである。
【図6】本発明の実施の形態に係るSIP端末(SIP端末側コネクション管理部)の動作を示すフローチャートである。
【図7】従来の通信システムのシステム構成の一例を示す図である。
【図8】従来の通信システムにおけるIPサーバと着側のSIP端末との間のレジストレーションから通信確立に至るまでのSIP信号の流れを示す動作シーケンス図である。
【発明を実施するための形態】
【0024】
(通信システム1の構成)
図1は、本発明の実施の形態に係る通信システムのシステム構成の一例を示す図である。
図1に示されるように、本発明の実施の形態に係る通信システム1は、SIPサーバ11とSIP端末12A〜12NとがIPネッワーク13経由で接続される。
ここで、特徴的には、SIPサーバ11とSIP端末12A〜12Nとの間でTLSセッションを保持せず、SIPサーバ11がSIPリクエストを送信する場合にのみ動的にTLSセッションを確立させ、これにより、SIPサーバ11とSIP端末12A〜12Nとの間にTLS(証明書と秘密鍵の発行)の常駐を不要としたことにある。
【0025】
このため、本発明の実施の形態に係る通信システム1によれば、SIPサーバ11からSIP端末12A〜12NへTCPで接続し、TCPの接続を検出したSIP端末12A〜12Nは、SIPサーバ11へTLS接続を行う。
なお、図1に示す本発明の実施の形態に係る通信システム1では、図7に示す従来の通信システム100との差異を明確にするため、SIPサーバ11とSIP端末12A〜12Nとの間にTLSが動的に保持される様子を動的TLS20として、また、従来の通信システム100では、SIPサーバ11とSIP端末12A〜12Nとの間にTLSが保持されている様子を常駐TLS30として、それぞれ模式的に示してある。
【0026】
(通信システム1の動作)
図2は、本発明の実施の形態に係る通信システム1の動作を示す動作シーケンス図であり、ここでは、SIPサーバ11とSIP端末12(12A〜12N)との間のRFC3261にしたがうレジストレーションの流れを示している。
【0027】
図2において、SIP端末12は、まず、SIPサーバ11に対してTCPコネクションを行う(処理P21)。
TCP接続が完了すると、SIP端末12は、TLSセッションを確立するためにSIPサーバ11に対してTLSハンドシェイクを実行する(処理P22)。このTLSハンドシェイクは、処理P21で確立したTCPコネクション上で行う。TLSハンドシェイクが完了すると、SIP端末12は、RFC3261の10項に示すとおりSIPサーバ101へREGISTER信号を送信してレジストレーションを実行する(処理P23)。
【0028】
処理P23でレジストレーションを実行するにあたり、SIP端末12は、REGISTERメッセージのContactヘッダにSIP端末12のIPアドレスと着信TLSポートのポート番号とを設定し、SIPサーバ11へ送信する。
SIPサーバは11、レジストレーションにおいて、200 OKを返却した直後、SIP端末情報管理部SIPサーバ11のTLSポート情報に、REGISTERメッセージのContactヘッダに設定されていた着信TLSポートのポート番号を登録する。レジストレーション完了後、SIPサーバ11とSIP端末12は、TLSセッションを切断し(P24)、さらにTCPコネクションも切断している(処理P25)。
【0029】
図3は、本発明の実施の形態に係る通信システムの動作を示す動作シーケンス図であり、SIPサーバ11からSIP端末12へSIPリクエストを送信する際の処理の流れが示されている。
【0030】
ここでは、SIPサーバ11とSIP端末12との間のTLSセッションが存在しないため、SIPサーバ11は、まずSIP端末12へTCP接続を要求してTCPコネクションを確立する(P31)。
SIPサーバ11はTCPコネクションが確立すると、SIP端末12からのTLS接続を待ち受け、SIPサーバ11からのTCPコネクションを検出したSIP端末12は、SIP端末12自身がTLSクライアントとして振る舞い、SIPサーバ11へTLS接続を行い、TLSセッションを確立する(P32)。SIPサーバはTLSセッション確立を検出すると、SIP端末に対してSIPリクエストを送信する(P33)。
【0031】
前記したように、本発明の実施の形態に係る通信システムによれば、SIP端末12は、TCPサーバとして振る舞い、SIPサーバ11からのTCPコネクションを検出すると、TLSクライアントとしてSIPサーバ11へアクセスする。一方、SIPサーバ11は、SIPリクエスト送信時TCPクライアントとして振る舞い、TCPコネクション確立後、SIP端末12からのTLS接続要求を待ち受けるTLSサーバとして振る舞う。
このことにより、SIPサーバ11とSIP端末12との間にTLSセッションを常駐させることなく、SIPサーバ11からSIP端末12へのリクエスト送信を実現することができる。
【0032】
(SIPサーバ11の構成)
図4は、本発明の実施の形態に係る通信システム1を構成するSIPサーバ11とSIP端末12の内部構成を示すブロック図である。
図4に示すSIPサーバ11は、RFC3261のSIPレジストラとSIPプロキシを兼ねるものとする。SIPサーバ1は、サーバ側コネクション管理部110と、呼処理部111と、SIP端末情報管理部112と、を含む。
【0033】
呼処理部111は、RFC3261に記述されるSIPレジストラ、SIPプロキシの機能を提供し、RFC3261のUAC(User Agent Client)、UAS(User Agent Server)として振る舞い、RFC3261 12項で定義されるSIPダイアログを管理する。呼処理部はまた、SIP端末12からのSIPメッセージを、サーバ側コネクション管理部110を経由して送受信する。
SIP端末情報管理部110は、SIP端末12へアクセスするために必要な情報として、端末URI(SIP端末12のSIP−URI)、着信TLSポート番号、TLS接続状態、SIPダイアログ状態を管理する。
【0034】
端末URI(Uniform Resource Identifier)とは、SIP端末12を識別するためのSIP−URIであり、SIP端末12のIPアドレスは、端末URIのホスト部(例えば、端末URIが、“sip:username@192.168.1.1”の場合、192.168.1.1がIPアドレス)に含まれるものとする。また、着信TLSポート番号は、SIPサーバ11がSIP端末12へTLS接続する場合に使用するポート番号である。
TLS接続状態は、SIPサーバ11−SIP端末12間でTLSセッションが確立されているか否かを示す状態であり、”接続中”もしくは”切断”状態がある。SIPダイアログ状態は、端末URIで識別されるSIP端末12と通信中のSIPダイアログが呼処理部111に存在するか否かを管理する。
【0035】
呼処理部111に端末URIで識別されるSIP端末12と通信中のSIPダイアログが存在すればSIPダイアログ状態は”通信中”、存在しなければSIPダイアログ状態は、”切断”となる。
サーバ側コネクション管理部110は、すべてのSIP端末12A〜12NとのTCPコネクション、TLSセッションの切断・接続を検出し、SIPメッセージをSIP端末12から受信すると、SIP端末情報管理部112の情報を更新するとともに、呼処理部111へSIPメッセージを転送し、SIPメッセージ送信要求を呼処理部111から受信すると、SIP端末情報管理部112の情報を更新するとともに、SIP端末12へメッセージを送信する機能を有する。
【0036】
(SIP端末12の構成)
一方、SIP端末12は、端末側コネクション管理部120と、SIP処理部121と、自端末情報管理部122とを含む。
SIP処理部121は、RFC3261でのUAとしての機能を持ち、端末側コネクション管理部120を経由してSIPサーバ11とのSIPメッセージ送受信を行う。自端末情報管理部122は、TLS接続状態とSIPダイアログ状態とを保持する。TLSセッション状態は、SIPサーバ11と自SIP端末12のTLSセッションが確立されているか否かを示す状態であり、”接続中”もしくは”切断”状態がある。SIPダイアログ状態は、SIP処理部121にSIPサーバ11と通信中のダイアログが存在するか否かを示し、存在すれば”通信中”、存在しなければ”切断”となる。
【0037】
端末側コネクション管理部120は、SIPサーバ11とのTCPコネクション、TLSセッションの切断・接続を検出し、SIPサーバからSIPメッセージを受信すると、自端末情報管理部122の情報を更新するとともに、SIP処理部121へSIPメッセージを転送し、SIPメッセージ送信要求をSIP処理部121から受信すると、自端末情報管理部122の情報を更新するとともに、SIPサーバ11へSIPメッセージを送信する機能を有する。
【0038】
図5は、SIPサーバ11のサーバ側コネクション管理部110の動作、図6は、SIP端末12の端末側コネクション管理部120の動作を示すフローチャートである。
図5、図6に示すフローチャートでは、SIPサーバ11−SIP端末12間でTLSセッションが複数生成されることはなく一個のみ生成されるものとする。なお、同一のSIP端末12−SIPサーバ11間で複数のSIPダイアログが生成されることがあるが、TLSセッションは共有する。
【0039】
(SIPサーバ11:サーバ側コネクション管理部110の動作)
図5において、まず、SIPサーバ11のサーバ側コネクション管理部110は、イベント待ちの状態になっている(ステップS501)。サーバ側コネクション管理部110は、IPネットワーク13経由でSIPメッセージが到着し、呼処理部111からSIPメッセージ送信要求を受信し、SIP端末12とのTCPコネクション確立、又は切断、SIP端末12とのTLSセッション確立、又は切断、のいずれかのイベントを検出すると、呼処理部111からSIPメッセージの送信要求があるか否かを判定する(ステップS502)。
【0040】
送信要求があった場合(ステップS502“Yes”)、サーバ側コネクション管理部110は、呼処理部111からのSIPメッセージを送信するために、SIP端末12とのTLSセッションが確立済みか否かを判定する(ステップS503)。ここで、TLSセッションが確立済みであれば(ステップS503“Yes”)、後記するステップS506のSIPメッセージ送信処理を実行し、確立されていなければ、SIP端末12へTCP接続を要求する(ステップS504)。
【0041】
図3の動作シーケンス図を用いて説明したように、SIP端末12は、SIPサーバ11からのTCPコネクションが確立されると、SIP端末12からSIPサーバ11へTLS接続を要求する。このときサーバ側コネクション管理部110は、TCP接続要求後、SIP端末12とのTLSセッション確立が完了するのを待ち受ける(ステップS505)。
TLSセッションが確立すると、サーバ側コネクション管理部110は、SIP端末情報管理部112の情報のうち、TLSセッションが確立した対向SIP端末12を表す端末URIのTLS接続状態を”接続中”に更新し、SIP端末12と接続するTLSセッションへ、呼処理部から送信要求されたSIPメッセージを送信する(ステップS506)。
【0042】
メッセージ送信後、サーバ側コネクション管理部110は、呼処理部111のSIPダイアログを判定し、メッセージ送信先のSIP端末12とのSIPダイアログが呼処理部111に存在しなければ、SIPダイアログ状態を”切断”に設定し、SIPダイアログが呼処理部111に存在すれば、”通信中”に設定し、ステップS512の処理に移行する(RFC3261では、SIPダイアログは、INVITEやBYE、4XEレスポンス等のSIPメッセージの送受信を契機に生成され、削除される)。
【0043】
一方、ステップS502のメッセージ送信要求有無判定処理において、メッセージ送信要求が無いと判定された場合(ステップS502“No”)、サーバ側コネクション管理部110は、TLSセッションが確立済みか否かを判定する(ステップS507)。
ここで、TLSセッションが確立されていなければ(ステップS507“No”)、サーバ側コネクション管理部110は、更に、SIP端末12からTCP接続要求が有るか否かを判定する(ステップS508)。TCPコネクションが確立していれば(ステップS508“Yes”)、サーバ側コネクション管理部110は、SIP端末12からのTLSセッション確立を待ち合わせる(ステップS509)。
【0044】
ステップS507でTLSセッションが確立済みと判定されると(ステップS507“Yes”)、サーバ側コネクション管理部110は、SIP端末情報管理部112のうち、TLSセッションが確立した対向SIP端末12を示す端末URIのTLS接続状態を”接続中”に更新し、確立したTLSセッションでSIP端末12からのSIPメッセージ(到着メッセージ)が有るか否かを判定する(ステップS510)。
TLSセッションにSIPメッセージが到着していれば(ステップS510“Yes”)、TLSセッションからSIPメッセージを受信して呼処理部111へ転送する(ステップS511)。呼処理部111へSIPメッセージを転送後、SIPメッセージを送信したSIP端末12とのダイアログが呼処理部111に存在しなければ、SIP端末情報管理部112の当該SIP端末12のSIPダイアログ状態を”切断”に設定し、SIPダイアログが呼処理部111に存在すれば、”通信中”に設定し、SIP端末12との不要なTLSセッション、TCPコネクションを切断する(ステップS512)。
【0045】
サーバ側コネクション管理部110は、SIP端末情報管理部112の情報で、SIPダイアログ情報が”切断”で、かつTLS接続状態が”接続中”のエントリがあるか否かを判定し、該当するエントリがあれば、そのエントリの端末URIに該当するSIP端末12とのTLSセッション、TCPコネクションの切断処理を行い、SIP端末情報管理部112のTLS接続状態を”切断”に設定する。
【0046】
サーバ側コネクション管理部110は、次に、SIP端末情報管理部112のTLS接続状態が”接続中”であるSIP端末12とのTLSセッションが、切断されているか否かを判定する。
ここで、サーバ側コネクション管理部110は、SIP端末12からTLSセッションを切断された、又は、IPネットワーク13の障害によりSIP端末12と通信できず、TCPコネクションのkeep aliveがタイムアウトしていた場合、SIPサーバ11で管理しているTLSセッション、TCPコネクションの情報を更新し、リソースを解放する(TLSセッション用に確保しているメモリの解放やTCPコネクションに使用するソケットの解放など)。さらに、切断されたTLSセッションに関連するSIP端末情報管理部112のTLS接続状態を”切断”に設定する。これらの処理を完了すると、終了要求の有無を判定し(ステップS514)、終了されなければ(ステップS514“Yes”)、ステップS501のイベント待ちの処理に戻る。
【0047】
(SIP端末12:端末側コネクション管理部120の動作)
図6において、まず、SIP端末12の端末側コネクション管理部120は、イベント待ちの状態になっている(ステップS601)。端末側コネクション管理部120は、IPネットワーク13からのSIPメッセージ到着、SIP処理部121からのSIPメッセージ送信要求の受信、SIPサーバ11とのTCPコネクション確立、又は切断、SIP端末12とのTLSセッション確立、又は切断、のいずれか一つのイベントを検出すると、SIP処理部121からSIPメッセージの送信要求があるか否かを判定する(ステップS602)。
【0048】
ここで、送信要求が無い場合(ステップS602“No”)、ステップS607のTLSセッション確立済み判定処理に移り、送信要求がある場合(ステップS602“Yes”)、端末側コネクション管理部120は、SIP処理部121からのSIPメッセージを送信するために、SIPサーバ11とのTLSセッションが確立済みか否かを判定する(ステップS603)。
TLSセッション確立済みであれば(ステップS603“Yes”)、ステップS606のSIPメッセージ送信処理へ、TLSセッション確立済みでなければ(ステップS603“No”)、SIPサーバ11へTCP接続を要求する(ステップS604)。
【0049】
TCPコネクションが確立すると、端末側コネクション管理部120は、SIPサーバ11へTLS接続を要求する(ステップS605)。TLSセッションが確立すると、端末側コネクション管理部120は、自端末情報管理部122のTLS接続状態を”接続中”に設定し、TLSセッションへSIP処理部121から送信要求されたSIPメッセージを送信する(ステップS606)。メッセージ送信後、SIP処理部121のSIPダイアログを確認し、メッセージ送信先のSIP端末12とのSIPダイアログがSIP処理部121に存在しなければ、SIPダイアログ状態を”切断”に設定し、SIPダイアログがSIP処理部121に存在すれば、”通信中”に設定し、後記するステップS612のSIPダイアログ状態の確認処理に移行する。
【0050】
一方、ステップS602でSIP処理部121からメッセージ送信要求が無かった場合(ステップS602“No”)、端末側コネクション管理部120は、TLSセッションが確立済みか否かを判定する(ステップS607)。
ここで、TLSセッション確立済みならば(ステップS607“Yes”)、ステップS610の処理へ、TLSセッションが確立されてなければ(ステップS607“No”)、更に、SIPサーバ11からTCPコネクションが確立されたか否かを判定する(ステップS608)。
【0051】
ここで、TCPコネクションが確立されていなければ(ステップS608“No”)、ステップS614の処理へ、確立していれば(ステップS608“Yes”)、SIPサーバ11からのTCPコネクションが確立したので、図3の動作シーケンス図で説明したように、SIP端末12からTLSセッションを確立させるため、端末側コネクション管理部120は、SIPサーバ11へTLSセッション確立を要求する(ステップS609)。
TLSセッションが確立すれば、自端末情報管理部122のTLS接続状態を、”接続中”に更新し、TLSセッションにSIPサーバ11からのSIPメッセージが到着しているか否かを判定する(ステップS610)。
【0052】
ここで、TLSセッションに到着メッセージがあれば(ステップS610“Yes”)、端末側コネクション管理部120は、TLSセッションからSIPメッセージを受信してSIP処理部121へ転送する(ステップS611)。
SIP処理部121へSIPメッセージを転送後、端末側コネクション管理部120は、SIPダイアログ状態を確認する(ステップS612)。具体的に、端末側コネクション管理部120は、SIPダイアログがSIP処理部121に存在しなければ、SIP端末情報管理部122の当該SIP端末12のSIPダイアログ状態を”切断”に設定し、SIPダイアログが存在すれば、SIPダイアログ状態を“通信中”に設定する。そして、自端末情報管理部122のSIPダイアログ状態が”切断”であり、かつTLS接続状態が”接続中”となっていれば、SIPサーバ11とのTLSセッション、TCPコネクションを切断する。TLSセッション・TCPコネクションを切断した場合、自端末情報管理部122のTLS接続状態を”切断”に設定する。
【0053】
この処理を経てTLSセッション状態の確認処理を実行する(ステップS613)。具体的に、端末側コネクション管理部120は、自端末情報管理部122のTLS接続状態が”接続中”である場合、SIP端末12とのTLSセッションが、切断されていないかを確認する。ここで、端末側コネクション管理部120は、SIPサーバ11からTLSセッションが切断され、もしくはIPネットワーク13の障害によりTCPコネクションのkeep aliveがタイムアウトした場合、TLSセッション、TCPコネクションを切断し、TLS接続状態を”切断”に設定する。これらの処理を完了すると、終了要求の有無を判定し(ステップS614)、終了されなければ(ステップS614“Yes”)、ステップS601のイベント待ちの処理に戻る。
【産業上の利用可能性】
【0054】
以上説明のように本発明の実施の形態に係る通信システム1によれば、SIPサーバ11からSIPメッセージ送信時、図5に示すステップS504〜S506、及び図6のステップS608〜S610に示されるように、SIPサーバ11がSIP端末12へTCP接続を要求し、SIP端末12がTCPコネクション確立を契機にSIPサーバ11へTLS接続を要求することにより、SIP端末12にTLSのサーバ証明書を配置せず、また、SIP端末12−SIPサーバ11間で常時TLSセッション、TCPコネクションを保持することなく、SIPサーバ11からSIP端末12へTLS上のSIPメッセージ送信することが可能になる。
【0055】
なお、前記した本発明の実施の形態に係る通信システム1によれば、SIPサーバ11を一個のみ例示したが、SIPサーバ11が複数存在する場合にも同様に適用できる。
また、SIPサーバ11は、RFC3261のSIPプロキシキとSIPレジストラの機能を有するものとして説明したが、SIPプロキシとSIPレジストラが物理的に別のサーバに機能分散される場合も同様に適用できる。この場合、SIP端末12の着信TLSポートをREGISTERのContactヘッダに設定してSIPレジストラに登録し、SIPプロキシからSIP端末12へのSIPメッセージ送信時、RFC3261のFigure2に示されるように、SIPプロキシがロケーションサーバを通して登録されたSIP端末12の着信TLSポートを取得し、着信TLSポートに対してSIPサーバ11からTCP接続を行う。このことにより、SIPプロキシとSIP端末12間の通信に本発明を適用することができる。
【0056】
また、本発明の実施の形態に係る通信システム1によれば、RFC3261にしたがい着信TLSポートをSIPレジストラへ登録するためにREGISTERのContactヘッダを利用したが、例えば、SIPサーバ11にあらかじめSIP端末12の着信TLSポートをコンフィグで設定しておく等、SIP端末12の着信TLSポートをSIPサーバ11が認識する手段がREGISTERのContactヘッダでない場合にも適用が可能である。
また、本発明の実施の形態に係る通信システム1によれば、同一のSIP端末12−SIPサーバ11間に生成されるダイアログは、同じTLSセッションを共有する構成になっているが、ダイアログ毎にTLSセッションを生成することも可能である。
【0057】
以上、好ましい実施の形態を上げて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものでなく、その技術的歯槽の範囲内において様々に変形して実施することができる。
【符号の説明】
【0058】
1 通信システム
11,101 SIPサーバ
12,102 SIP端末
13 IPネットワーク
20 動的TLS
30 常駐TLS
110 サーバ側コネクション管理部
111 呼処理部
112 SIP端末情報管理部
120 端末側コネクション管理部
121 SIP処理部
122 自端末情報管理部


【特許請求の範囲】
【請求項1】
SIPサーバとSIP端末とがIPネットワーク経由で接続される通信システムであって、
前記SIPサーバから前記SIP端末へのSIPリクエスト送信時、前記SIPサーバが、前記SIP端末にTCPコネクションを行うSIPサーバ側コネクション管理部と、
前記SIP端末が前記SIPサーバとのTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立するSIP端末側コネクション管理部とを備え、
前記SIPサーバ側コネクション管理部は、
前記TLSセッションが確立したことを検知して前記SIP端末に前記SIPリクエストを送信することを特徴とする通信システム。
【請求項2】
前記SIPサーバ側コネクション管理部は、
前記SIPサーバと前記SIP端末との間のSIPダイアログが1以上未処理の場合、前記SIPサーバと前記SIP端末との間のすべてのダイアログが終了した場合に、前記SIPサーバと前記SIP端末との間のTCPコネクションを切断し、
前記SIP端末側コネクション管理部は、
前記SIPサーバと前記SIP端末との間のSIPダイアログが1以上未処理の場合、前記SIPサーバと前記SIP端末との間のすべてのダイアログが終了した場合に、前記SIPサーバと前記SIP端末との間のTLSセッションを切断する、
ことを特徴とする請求項1に記載の通信システム。
【請求項3】
前記SIP端末側コネクション管理部は、
前記TLSセッションを確立する際に生成されたTLSセッションが存在する場合、前記SIP端末から前記SIPサーバへのメッセージ送信に際し、前記存在するTLSセッションを再利用して同じTLSセッションの生成を禁止することを特徴とする請求項1又は請求項2に記載の通信システム。
【請求項4】
SIP端末とはIPネットワーク経由で接続されるSIPサーバであって、
前記SIP端末へのSIPリクエスト送信時、前記SIP端末にTCPコネクションを行うSIPサーバ側コネクション管理部を備え、
前記SIPサーバ側コネクション管理部は、
前記SIP端末とのTCPコネクションの確立を契機に前記SIP端末が動的にTLSセッションを確立したことを検知して前記SIP端末に前記SIPリクエストを送信することを特徴とするSIPサーバ。
【請求項5】
前記SIPサーバ側コネクション管理部は、
前記SIP端末との間のSIPダイアログが1以上未処理の場合、前記SIP端末との間のすべてのダイアログが終了した場合に、前記SIP端末との間のTCPコネクションを切断することを特徴とする請求項4に記載のSIPサーバ。
【請求項6】
SIPサーバとIPネットワーク経由で接続されるSIP端末であって、
前記SIPサーバとの間のTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立するSIP端末側コネクション管理部とを備え、
前記SIP端末側コネクション管理部は、
前記SIPサーバから前記SIP端末へのSIPリクエスト送信時、前記SIPサーバとのTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立することを特徴とするSIP端末。
【請求項7】
前記SIP端末側コネクション管理部は、
前記SIPサーバとの間のSIPダイアログが1以上未処理の場合、前記SIPサーバとの間のすべてのダイアログが終了した場合に、前記SIPサーバとの間のTLSセッションを切断することを特徴とする請求項6に記載のSIP端末。
【請求項8】
前記SIP端末側コネクション管理部は、
前記TLSセッションを確立する際に生成されたTLSセッションが存在する場合、前記SIPサーバへのメッセージ送信に際し、前記存在するTLSセッションを再利用して同じTLSセッションの生成を禁止することを特徴とする請求項6又は請求項7に記載のSIP端末。
【請求項9】
SIPサーバとSIP端末とが、IPネットワーク経由で接続される通信システムにおけるセキュリティ通信方法であって、
前記SIPサーバから前記SIP端末へのSIPリクエスト送信時、前記SIPサーバが、前記SIP端末にTCPコネクションを行うステップと、
前記SIP端末が前記SIPサーバとのTCPコネクションの確立を契機に前記SIPサーバへ動的にTLSセッションを確立するステップと、
前記SIPサーバが、前記TLSセッションが確立したことを検知して前記SIP端末に前記SIPリクエストを送信するステップと、
を有することを特徴とするセキュリティ通信方法。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−212825(P2010−212825A)
【公開日】平成22年9月24日(2010.9.24)
【国際特許分類】
【出願番号】特願2009−54436(P2009−54436)
【出願日】平成21年3月9日(2009.3.9)
【出願人】(308033722)株式会社OKIネットワークス (165)
【Fターム(参考)】