以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
<第1実施形態>
(IPS機能装置のLTEネットワークシステムへの適用)
IPS(Intrusion Prevention System)機能装置は、ディープパケットインスペクシ
ョン(Deep Packet Inspection:DPI)による不正侵入遮断システム機能を有する装置である。DPIは、ネットワーク内の中継装置において中継されるパケットのヘッダ部分に加えてデータ部分までを検査することでデータ部分に潜んだウィルスや不正コードを検知し防御する機能である。IPS機能装置は、プロキシサーバと端末との間に配置され、キャリア網に侵入する不正な通信を検知及び遮断することによってキャリア網を保護する。
第1実施形態では、キャリア網を保護する手段としてLTEネットワークシステムにIPS機能装置を適用する。
図26は、LTEネットワークシステムにIPS機能装置P6を適用した場合の暗号鍵の合意の処理フローの例を示す図である。図26では、図25と同様に、暗号化通信としてIPsec通信が行われることが想定される。また、図26では、図25と同様に、便宜上、認証サーバP4と加入者DB管理サーバP5とが同一の装置として示されている。
携帯電話端末P1は、電源の投入を契機として、SIP REGISTERをプロキシサーバP3に送信する(OP201)。携帯電話端末P1から送信されたSIP REGISTERは、IPS機能装置P6によって中継され、プロキシサーバP3に届く(OP202)。なお、IPS機能装置P6は、SIP REGISTERを中継する際、SIP REGISTERを含むパケットのヘッダ部とデータ部との検査を行い、SIP REGISTERの通過可否の判定を行う。SIP REGISTERが通過不可と判定された場合には、SIP REGISTERはIPS機能装置P6によって廃棄される。図26では、SIP REGISTERは通信許可と判定される。プロキシサーバP3は、後続のサーバ(認証サーバP4及び/又は加入者DB管理サーバP5)にSIP REGISTERを送信する(OP203)。
加入者DB管理サーバP5は、SIP REGISTERを受信すると、加入者データベースに保持する加入者情報から暗号鍵を生成するために用いられる認証情報を生成する(OP204)。加入者情報は、例えば、電話番号や加入者識別番号等である。続いて、加入者DB管理サーバP5は、計算式1のパラメタに認証情報の値を代入して得られる計算結果値を保持する(OP205)。この計算結果値は認証サーバP4における携帯電話端末P1の認証処理に用いられる。さらに、加入者DB管理サーバP5は、計算式2のパラメタに認証情報の値を代入して暗号鍵を生成する(OP206)。認証情報と暗号鍵とは認証サーバP4に送信される。
認証サーバP4は、加入者DB管理サーバP5によって生成された認証情報と暗号鍵とをそれぞれパラメタの一つとして含めて応答メッセージ(コード401)を生成し、プロキシサーバP3に送信する(OP207)。
プロキシサーバP3は、認証サーバP4から送信された応答メッセージ(コード401
)を受信すると、応答メッセージ(コード401)から暗号鍵を取り出す(OP208)。また、プロキシサーバP3は、応答メッセージ(コード401)から暗号鍵を削除する。プロキシサーバP3は、認証情報を含む(暗号鍵は含まない)応答メッセージ(コード401)を携帯電話端末P1に送信する(OP209)。IPS機能装置P6は、この応答メッセージ(コード401)をプロキシサーバP3から携帯電話端末P1へと中継する(OP210、OP211)。なお、プロキシサーバP3からの応答メッセージもIPS機能装置P6によって中継される際に、通過可否の判定が行われる(OP210)。
携帯電話端末P1は、応答メッセージ(コード401)を受信すると、計算式1のパラメタに応答メッセージ(コード401)に含まれる認証情報の値を代入して認証用の計算を行う(OP212)。また、携帯電話端末P1は、計算式2のパラメタに認証情報の値を代入して暗号鍵を生成する(OP213)。
携帯電話端末P1は、認証サーバP4への認証要求として、OP212において求められた計算結果値をパラメタの一つとして含むSIP REGISTERを生成する。携帯電話端末P1は、OP213において生成した暗号鍵を用いて該SIP REGISTERを暗号化してプロキシサーバP3に送信する(OP214)。なお、SIP REGISTERは、送信時にパケットのデータ部に含められ、暗号化では、パケットのデータ部が暗号化される。すなわち、SIP REGISTERを含むパケットのデータ部は暗号化されているため、該パケットがSIP REGISTERを含むことは該パケットを復号化しないと判定できない。
OP214において携帯電話端末P1から送信されたSIP REGISTERは、プロキシサーバP3の前に、IPS機能装置P6に到着する。IPS機能装置P6は、通過可否の判定を行うために、受信したSIP REGISTERを含むパケットのヘッダ部とデータ部とを検査する(OP215)。
しかしながら、SIP REGISTERを含むパケットのデータ部は、暗号化されており、IPS機能装置P6は、復号化するための暗号鍵を保持していない。そのため、IPS機能装置P6は、携帯電話端末P1から送信されるSIP REGISTERを復号化することができず、該SIP REGISTERの通過可否の判定を行うことができない。IPS機能装置P6は、該パケットがSIP REGISTERを含むことすら判定できない。IPS機能装置P6の仕様によっては、該SIP REGISTERが廃棄されてしまう場合もある。そのような場合には、携帯電話端末P1は通話できないという状況に陥ってしまう。
そこで、第1実施形態では、IPS機能装置に暗号鍵を取得する手段を備えることによって、IPS機能装置が携帯電話端末とプロキシサーバとの間の暗号化通信を復号化し、通過可否の判定を行えるようにする。通信の通過可否の判定は、通過制御のうちの一つであって、他には、例えば、通過不可が判定された通信を遮断すること等が通過制御に含まれる。
(第1実施形態のLTEネットワークシステム)
図1は、第1実施形態におけるLTEネットワークシステムの構成例を示す図である。LTEネットワークシステム100aは、携帯電話端末1,基地局2,プロキシサーバ3,認証サーバ4,加入者DB管理サーバ5,及び通過制御装置6aを含む。ネットワーク11は、基地局2と通過制御装置6aとが接続するネットワークであり、アクセスネットワークの一部である。ネットワーク12は、通過制御装置6aと認証サーバ4とが接続するネットワークであり、キャリア網の一部である。ネットワーク13は、プロキシサーバ3と通過制御装置6aとが接続するネットワークであり、アクセスネットワークの一部で
あり、キャリア網の一部でもある。なお、LTEネットワークシステム100aは複数の携帯電話端末1及び基地局2を含むが、図1においては、便宜上、1台ずつ示される。
LTEネットワークシステム100aにおける、携帯電話端末1,基地局2,プロキシサーバ3,認証サーバ4,加入者DB管理サーバ5については、図24において説明されたものと同様である。
通過制御装置6aは、例えば、IPS機能装置である。また、IPS機能装置は、例えば、ルータ,レイヤ3スイッチ等のレイヤ3以上のデータを扱える中継装置である。LTEネットワークシステム100aにおいて、通過制御装置6aは、ネットワーク11,12,13のそれぞれと接続するためのインタフェースを有する。
通過制御装置6aは、各インタフェースを通じて、基地局2,プロキシサーバ3,及び認証サーバ4それぞれと接続している。すなわち、基地局2(携帯電話端末1)とプロキシサーバ3との間の通信、及び、プロキシサーバ3と認証サーバ4との間の通信は、通過制御装置6aによって中継される。したがって、通過制御装置6aは、携帯電話端末1とプロキシサーバ3との間の通信と、プロキシサーバ3と認証サーバ4との通信とを、取得することが可能である。通過制御装置6aは、プロキシサーバ3と認証サーバ4との間の通信を取得することによって、携帯電話端末1とプロキシサーバ3との間で共通して用いられる暗号鍵を取得する。
図1において、ネットワーク11及び12とは、互いに独立したIPネットワークである。ネットワーク13は、ネットワーク11及び13とから独立したIPネットワークであってもよいし、以下の説明のように論理的に分離したネットワーク11とネットワーク12とを含んでもよい。
通過制御装置6aとプロキシサーバ3とがポイントツーポイント接続で、通過制御装置6aがレイヤ3スイッチなどのVLAN(Virtual LAN)を設定可能な装置である場合に
は、通過制御装置6aとプロキシサーバ3とにタグVLANを設定してもよい。すなわち、通過制御装置6aとプロキシサーバ3との間のポイントツーポイント接続を論理的に2つの接続に分離し、一方をネットワーク11の通信に使用し、もう一方をネットワーク12の通信に使用してもよい。
第1実施形態では、ネットワーク11,12,13は、ぞれぞれ、異なるIPネットワークであることを想定する。通過制御装置6aは、通過制御装置の一例である。プロキシサーバ3は、プロキシサーバの一例である。認証サーバ4及び加入者DB管理サーバ5は、鍵生成装置の一例である。
(第1実施形態の通過制御装置)
図2は、通過制御装置6aのハードウェア構成の例を示す図である。通過制御装置6aは、プロセッサ101,主記憶装置102,補助記憶装置105,可搬記録媒体駆動装置106,及びネットワークインタフェース107a,107b,107cを備え、これらがバス109により互いに接続されている情報処理装置である。情報処理装置は、例えば、ルータ、レイヤ3スイッチ、複数のユニットカードを有する大型の交換機などの中継装置である。
ネットワークインタフェース107a,107b,107cは、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース107a,107b,107cは、それぞれ有線のネットワークと接続する。ネットワークインタフェース107aは、ネットワーク11、すなわち、基地局2が接続するネットワークに接続するた
めのインタフェースである。ネットワークインタフェース107bは、ネットワーク12、すなわち、認証サーバ4が接続するネットワークに接続するためのインタフェースである。ネットワークインタフェース107cは、ネットワーク13、すなわち、プロキシサーバ3と接続するためのインタフェースである。ネットワークインタフェース107a,107b,107cは、例えば、SONET/SDH(Synchronous Optical NETwork/Synchronous Digital Hierarchy)やATM(Asynchronous Transfer Mode)等のインタフ
ェースモジュールである。また、ネットワークインタフェース107b,107cは、例えば、LAN(Local Area Network)のインタフェースモジュールであってもよい。ネットワークインタフェース107a,107b,107cで受信されたデータ等は、プロセッサ101に出力される。
主記憶装置102は、プロセッサ101に、補助記憶装置105に格納されているプログラムをロードする記憶領域および作業領域を提供したり、バッファとして用いられたりする。主記憶装置102は、例えば、RAM(Random Access Memory)のような半導体メモリである。
補助記憶装置105は、様々なプログラムや、各プログラムの実行に際してプロセッサ101が使用するデータを格納する。補助記憶装置105は、例えば、EPROM(Erasable Programmable ROM)、又はハードディスクドライブ(Haard Disc Drive)である。補助記憶装置105は、例えば、オペレーティングシステム(OS),ネットワークの通信の通過制御プログラム,その他様々なアプリケーションプログラムを保持する。
可搬記録媒体駆動装置106は、可搬記録媒体に記録されるプログラムや各種データを読出し、プロセッサ101に出力する。可搬記録媒体は、例えば、USB(Universal Serial Bus)フラッシュメモリ,CD(Compact Disc),DVD,又はフラッシュメモリカードのような記録媒体である。
プロセッサ101は、例えば、CPU(Central Prosessing Unit)である。プロセッサ101は、補助記憶装置105又は可搬記録媒体に保持されたOSや様々なアプリケーションプログラムを主記憶装置102にロードして実行することによって、様々な処理を実行する。
例えば、通過制御装置6aは、プロセッサ101が補助記憶装置105に保持される通過制御プログラムを主記憶装置102にロードして実行する。通過制御装置6aは、通過制御プログラムの実行を通じて、ネットワークインタフェース107a,107b,107cを介して入力された通信データ(パケット)について検査を行い、該通信データの通過可否の判定を行う。
なお、通過制御装置6aとして機能する情報処理装置は、ルータのような中継装置に限定されず、パケットの通過可否の判定を行うサーバマシンのような専用のコンピュータであってもよい。
図3は、通過制御装置6aの機能ブロック図の例である。通過制御装置6aは、プロセッサ101が補助記憶装置105に保持される通過制御プログラムを主記憶装置102にロードして実行することによって、復号化部61,通過制御部62,鍵取得部63,スイッチング部64として動作する。また、通過制御装置6aは、通過制御プログラムの実行を通じて、又は静的に、主記憶装置102の記憶領域に記憶部65を作成する。記憶部65は、SIPのセッションを管理する管理テーブル651を保持する。管理テーブル651については、後述する。
ネットワークインタフェース107a,107b,107cからプロセッサ101に入力されたパケットは、コピーが生成され、バッファ(図示せず)に格納される。以下、単に「パケット」と示すが、復号化部61,通過制御部62,鍵取得部63,スイッチング部64はそれぞれ、入力パケットのコピーに対して処理を行う。
ネットワークインタフェース107a,107b,107cからプロセッサ101に入力されたパケットのコピー(以下、単に「パケット」)は、まず、復号化部61に入力される。復号化部61は、入力パケットに対して、データ部の暗号化を検出する。パケットのデータ部の暗号化の検出は、例えば、パケットのヘッダ部(ヘッダ部は暗号化されていない)に含まれる情報から検出可能である。例えば、パケットのデータ部が暗号化されている場合には、ヘッダ部に暗号化プロトコルのヘッダが含まれるので、復号化部61は、パケットのヘッダ部を解析することにより、データ部の暗号化を検出することができる。復号化部61は、パケットのデータ部の暗号化を検出すると、該パケットの復号化を行う。
パケットの復号化の際には、復号化部61は、受信パケットのヘッダに含まれる情報から暗号化されたSIPセッション(IP secのSA)を特定する。復号化部61は、管理テーブル651(後述)に保持される該SIPセッション(IP secのSA)において使用される暗号鍵を用いて、パケットの復号化を行う。復号化部61は、復号化したパケットを通過制御部62に出力する。復号化部61は、パケットのデータ部の暗号化を検出しなかった場合には、そのままパケットを通過制御部62に出力する。
通過制御部62は、復号化部61からパケットを受信する。通過制御部62が受信するパケットは、復号化部61によって復号化処理がなされているため、データが暗号化されたパケットは含まれていない。
通過制御部62は、パケットのヘッダ部とデータ部(ペイロード部ともいう)を検査し、該パケットの通過制御装置6aの通過の可否を判定する。例えば、通過不可の条件が予め設定されており、通過制御部62は、通過不可の条件に合致するパケットは通過不可であることを判定する。通過制御部62は、通過許可と判定したパケットをスイッチング部64に出力する。通過制御部62は、通過不可と判定したパケットの廃棄を決定する。通過不可の判定によって、通過不可と判定されたパケットに対応するバッファに保持されるパケットは廃棄される。なお、通過制御部62は、通過不可と判定したパケットの情報を保持し、所定のタイミングで、該パケットの情報を検出した不正なアクセスとしてキャリア網の管理者に電子メール等で通知してもよい。
また、通過許可の条件が予め設定されていてもよい。この場合には、通過制御部62は、通過許可の条件に合致するパケットは通過許可であることを判定する。また、通過制御部62は、通過許可の条件と通過不可の条件との両方を用いてパケットの通過可否の判定を行ってもよい。
通過不可又は通過許可の条件は、例えば、IPアドレス,ポート番号,その他各アプリケーションによって定義されているメッセージコード,データ部に含まれる文字列の長さ等のパラメタが指定される。
さらに、通過制御部62は、パケットがSIPメッセージのパケットであるか否かを判定する。通過制御部62は、例えば、パケットに含まれるSIPヘッダを解析することによって、該パケットがSIPメッセージであることを判定する。通過制御部62は、SIPメッセージを検出すると、鍵取得部63に通知する。
鍵取得部63は、通過制御部62からSIPメッセージを含むパケットが入力された旨の通知を受けると、SIPメッセージから情報を抽出し、管理テーブル651(後述)に格納する。SIPメッセージから抽出され管理テーブル651に格納される情報には、暗号鍵が含まれる。その他、SIPメッセージから抽出され管理テーブル651に格納される情報には、セッション識別情報(Call−ID),携帯電話端末のIPアドレスなど、セッションを特定するための情報が含まれる。また、鍵取得部63は、SIPメッセージが属するセッションのステータスを判定し、該ステータスを管理テーブル651に記録する。
通過制御部62によって通過許可が判定されたパケットはスイッチング部64に入力される。スイッチング部64は、パケットの宛先IPアドレスからパケットの出力先インタフェースをネットワークインタフェース107a,107b,107cの何れかに決定する。すなわち、スイッチング部64は、ルーティングを行い、ネットワーク11,12,13の何れのネットワークにパケットを出力するかを判定する。スイッチング部64の判定に従って、バッファから対応のパケットが出力先となるネットワークインタフェース107a,107b,107cの何れかに出力される。なお、バッファからパケットが出力されると、対応するパケットのコピーは廃棄される。
通過制御部62は、第1の取得部の一例である。通過制御部62は、第2の取得部の一例である。鍵取得部63は、暗号鍵取得部の一例である。復号化部61は、復号化部の一例である。
(SIPメッセージ)
図4、図5、図6、及び図7は、それぞれ、SIPメッセージの一例を示す図である。図4、図5、図6、及び図7に示されるSIPメッセージは、LTEネットワークシステムにおいて、携帯電話端末が電源投入から通話可能になるまでにやり取りされるSIPメッセージのうちの一部である。
図4は、端末から送信される位置登録要求のSIP REGISTERの一例を示す図である。図4に示されるSIP REGISERは、例えば、図25のOP101、図26のOP201において携帯電話端末P1から送信されるSIPメッセージである。
位置登録要求のSIP REGISTERのSIPヘッダには、先頭にSIPメッセージの種類が記述されている。図4では「REGISTER」と記述されており、該SIPメッセージがSIP REGISTERであることが示される。SIPヘッダには、その他に、SIPでのセッションを特定するための「Call−ID」,シーケンス番号(図中「Cseq」),認証情報,暗号鍵,IP sec通信に係る情報が記述されている。図4に示されるSIP REGISTERは、SIPセッション開始後最初に送信されるSIPメッセージであるので、シーケンス番号が「1」である。また、図4に示されるSIP REGISTERが送信される時点では、認証情報及び暗号鍵は生成されていないため、認証情報及び暗号鍵は図4に示されるSIP REGISTERには含まれていない。
SIPヘッダ内のIP sec通信に係る情報には、IPsecにおいて規定されるパラメタが格納される。図4におけるSIP REGISTERでは、IP secのプロポーサルに係る情報が含まれている。IP sec通信に係る情報の一つに、IP secのSA(Security Association)と呼ばれる暗号通信路を識別するためのspi(Security Parameter Index)値(図4中「spi」)がある。図4に示されるSIP REGISTERが送信される時点では、spi値は端末が提案する仮の値が格納されている。
図5は、図4に示されるSIP REGISTERに対するコード401の応答メッセージの一例を示す図である。
図5に示される応答メッセージのSIPヘッダの先頭には、応答メッセージコード「401」と、未認証であることを示す「Unauthorized」とが記述される。Call−IDには、図4に示されるSIP メッセージに含まれるCall−IDと同じ値が記述される。シーケンス番号は、SIPメッセージが応答である場合には、その前のSIP REGISTER等の要求メッセージと同じ番号が記述される。そのため、図5に示される応答メッセージのシーケンス番号は、図4に示されるSIP REGISTERと同じ番号である。
応答メッセージ(コード401)が、例えば、図25のOP106において認証サーバP4から送信される場合には、該応答メッセージには、符号S1で示される暗号鍵(図5中「CK」、「IK」)と認証情報(図5中「nonce」)とを含む情報が含まれる。応答メッセージ(コード401)が、例えば、図25のOP108においてプロキシサーバP3から携帯電話端末P1に送信される応答メッセージ(コード401)である場合には、符号S1で示される情報(暗号鍵)は含まれず、IPsecのspi値の確定値を含む符号S2で示される情報が含まれる。
図6は、認証を要求するSIP REGISTERの一例を示す図である。図6に示されるSIP REGISTERは、例えば、図25のOP111、図26のOP214において携帯電話端末P1から送信されるSIP REGISTERである。図6に示されるSIP REGISTERは、端末によってUDPヘッダ及びSIPヘッダを含むデータ部が暗号化されている。
図6に示されるSIP REGISTERのSIPヘッダの先頭には、該SIPメッセージがSIP REGISTERであることを示す「REGISTER」が記述される。Call−IDには、図4及び図5のSIPメッセージに含まれるCall−IDと同じ値が記述される。シーケンス番号は、図6に示されるSIP REGISTERがセション開始から2つ目に送信されるSIPメッセージであるので、「2」が格納される。
図6に示されるSIP REGISTERが送信される時点では、携帯電話端末は、暗号鍵と認証情報を取得済みであり、SIP REGISTERは暗号鍵を用いて暗号化されている。また、図6に示されるSIP REGISTERは、認証を求めるメッセージである。そのため、図6に示されるSIP REGISTERには、暗号鍵の情報は含まれず、図5に示される応答メッセージと同じ認証情報(図中「nonce」)が含まれている。また、spi値は図6では省略されているが、図5に示される応答メッセージに含まれるspi値と同じ値が図6に示される応答メッセージにも含まれている。
図7は、図6に示されるSIP REGISTERに対するコード200の応答メッセージの一例を示す図である。図7に示される応答メッセージは、例えば、図25のOP115において認証サーバP3から送信されるSIPメッセージである。
図7に示される応答メッセージのSIPヘッダの先頭には、応答メッセージコード「200」と、認証済みであることを示す「OK」とが記述される。Call−IDには、図4、図5及び図6に示されるSIP メッセージと同じセッションのSIPメッセージであるため、これらのCall−IDと同じ値が記述される。図7に示される応答メッセージのシーケンス番号は、図6に示されるSIP REGISTERに対する応答メッセージであるため、図6に示されるSIP REGISTERと同じ番号「2」である。また
、図7に示される応答メッセージのSIPヘッダには、暗号鍵と認証情報とは含まれない。例えば、暗号鍵は、すでに、プロキシサーバと端末とで共有されているからである。
(管理テーブル)
図8は、管理テーブル651の一例を示す図である。管理テーブル651は、管理番号,Call−ID,携帯電話端末IPアドレス,ステータス,シーケンス番号(図8中「Cseq」),spi値(図8中「spi」),及び暗号鍵(図8中「CK」「IK」)を含む。
「管理番号」は、管理テーブル651のエントリを識別するための情報である。「Call−ID」,「携帯電話端末IPアドレス」,「シーケンス番号」,「spi値」,及び「暗号鍵」は、鍵取得部63によってSIPメッセージから取得される情報である。なお、Call−ID及び暗号鍵は、不定長の情報であるため、管理テーブル651には格納されず、記憶部65の別のメモリ領域に格納される。管理テーブル651の「Call−ID」及び「暗号鍵」には、値が保持されるメモリ領域のアドレスを示すポインタが格納される。
「ステータス」には、SIPセッションの状態が示されるコードが格納される。例えば、ステータスのコードには、「INITIAL」,「401RES」,及び「200OK」が含まれ、ステータスはこの順番で遷移する。例えば、図4に示されるような、携帯電話端末1から送信される位置登録要求のSIP REGISTERが受信された場合には、「ステータス」フィールドには初期状態を示す「INITIAL」が格納される。例えば、図5に示されるような、認証サーバ4から送信されるコード401の応答メッセージが受信された場合には、「ステータス」フィールドは「401RES」に上書きされる。例えば、図6に示されるような、認証サーバ4から送信されるコード200の応答メッセージが受信された場合には、「ステータス」フィールドは「200OK」に上書きされる。
なお、「ステータス」に格納されるコードは一例であり、コードの名称は、「INITIAL」,「401RES」,及び「200OK」に限定されない。また、より多種のコードを設定して、より細かくSIPセッションの状態を管理してもよい。
「ステータス」の更新は、「Call−ID」,「シーケンス番号」,「ステータス」の各状態に応じて行われる。ステータス更新についての詳細は後述する。復号化部61が、データ部が暗号化されたパケットを復号する際には、復号化部61は、該パケットに含まれる「携帯電話端末IPアドレス」,「spi値」を管理テーブル651と照合して、合致したエントリから暗号鍵を取得する。
なお、管理テーブル651のエントリは、携帯電話端末1との接続が切断されたことが検出されると、削除される。通過制御装置6aと携帯電話端末1との接続が切断されたことは、例えば、基地局2,プロキシサーバ3,認証サーバ4又は加入者DB管理サーバ5からの通知によって検出される。
(通過制御装置の処理フロー)
図9は、通過制御装置6aの処理フローの例を示す図である。図9に示される処理フローは、通過制御装置6aのプロセッサ101にネットワークインタフェース107a,107b,107cのいずれかからパケットが入力されると開始される。なお、図9において処理されるパケットは、入力パケットのコピーであり(単に「パケット」と称す)、コピー元のパケットはバッファに格納される。
S1では、復号化部61は、入力パケットのデータ部が暗号化されているか否かを判定する。パケットのデータ部が暗号化されている場合には(S1:YES)、処理がS2に進む。データ部が暗号化されていない場合には(S1:NO)、処理がS3に進む。S2では、復号化部61はパケットのデータ部の復号化を行う。具体的には、復号化部61は、パケットのヘッダ部に含まれる携帯電話端末1のIPアドレスとspi値とが合致する管理テーブル651のエントリを検索し、該エントリの暗号鍵を用いて復号化を行う。データ部の復号化が完了すると、処理がS3に進む。
S3では、通過制御部62は、パケットがSIPメッセージを含むか否かを判定する。パケットがSIPメッセージを含む場合には(S3:YES)、処理がS4に進む。パケットがSIPメッセージを含まない場合には(S3:NO)、処理がS5に進む。S4で
は、鍵取得部63が管理テーブル更新処理を実行する。管理テーブル更新処理の詳細は後述される。管理テーブル更新処理が完了すると、処理がS5に進む。
S5では、通過制御部62は、パケットの通過可否の判定を行う。パケットが通過不可であると判定された場合には(S5:NO)、処理がS6に進む。パケットが通過許可であると判定された場合には(S5:YES)、処理がS7に進む。S6では、通過制御部62によって通過不可が判定されたパケットのコピー元であり、バッファに格納されているパケットが廃棄される。その後、処理がS7に進む。S7では、スイッチング部64がパケットの出力インタフェースを決定する。その後、バッファに格納されているパケットは、スイッチング部64によって決定されたネットワークインタフェース107a,107b,107cのいずれかから出力される。バッファに格納されているパケットが出力されると、該パケットのコピーは廃棄され、図9に示される処理フローが終了する。
図10は、図9における管理テーブル更新処理のフローの例を示す図である。図10に示されるフローは、図9のS3において、パケットがSIPメッセージを含んでいると判定された場合に開始される。
S11では、鍵取得部63は、SIPメッセージがSIP REGISTERであるか否かを判定する。SIPメッセージがSIP REGISTERであることは、SIPヘッダの先頭行に「REGISTER」が記述されており、シーケンス番号が「1」であることから判定可能である(図4参照)。SIPメッセージがSIP REGISTERである場合には(S11:YES)、処理がS12に進む。SIPメッセージがSIP REGISTERでない場合には(S11:NO)、処理がS14に進む。
S12では、鍵取得部63は、SIP REGISTERのCall−IDとシーケンス番号とが合致する管理テーブル651のエントリが存在するか否かを判定する。SIP
REGISTERのCall−IDとシーケンス番号とが合致する管理テーブル651のエントリが存在する場合には(S12:YES)、処理は図9のS5に進む。SIP REGISTERのCall−IDとシーケンス番号とが合致する管理テーブル651のエントリが存在しない場合には(S12:NO)、処理はS13に進む。
S13では、鍵取得部63は、管理テーブル651に新たなエントリを作成する。鍵取得部63は、SIP REGISTERに含まれるCall−ID(不定長)を記憶部65のメモリ領域にコピーする。鍵取得部63は、Call−IDを格納したメモリ領域のポインタ,シーケンス番号,SIP REGISTERの送信元IPアドレスを新たなエントリの「Call−ID」,「シーケンス番号」,「携帯電話端末IPアドレス」にそれぞれ格納する。また、鍵取得部63は、新たなエントリの「ステータス」に「INITIAL」を格納する。その後処理が図9のS5に進む。
S14では、SIPメッセージがコード401の応答メッセージであるか否かが判定される。SIPメッセージがコード401の応答メッセージであるか否かは、SIPヘッダの先頭行にコード「401」が記述されているか否かで判定可能である(図5参照)。SIPメッセージがコード401の応答メッセージである場合には(S14:YES)、処理がS15に進む。SIPメッセージがコード401の応答メッセージでない場合には(S14:NO)、処理がS17に進む。
S15では、鍵取得部63は、応答メッセージのCall−IDとシーケンス番号とが合致する管理テーブル651のエントリを検出し、該エントリの「ステータス」が「INITIAL」であるか否かを判定する。エントリの「ステータス」が「INITIAL」である場合には(S15:YES)、処理がS16に進む。エントリの「ステータス」が「INITIAL」でない場合には(S15:NO)、処理が図9のS5に進む。
S16では、鍵取得部63は、応答メッセージ(コード401)から暗号鍵を取り出し、記憶部65のメモリ領域に記憶し、管理テーブル651の該当エントリの「暗号鍵」にメモリ領域のアドレスを示すポインタを格納する。また、鍵取得部63は、応答メッセージ(コード401)からspi値を取得し、管理テーブル651の該当エントリの「spi値」に格納する。さらに、鍵取得部63は、該当エントリの「ステータス」を「401RES」に更新する。その後、処理が図9のS5に進む。
S17では、鍵取得部63は、SIPメッセージがコード200の応答メッセージであるか否かを判定する。SIPメッセージが応答メッセージであることは、SIPヘッダの最初の行に「200」が記述されていることによって判定可能である(図7参照)。SIPメッセージがコード200の応答メッセージである場合には(S17:YES)、処理がS18に進む。SIPメッセージがコード200の応答メッセージでない場合には(S17:NO)、SIPメッセージがSIP REGISTER,コード401の応答メッセージ,コード200の応答メッセージのいずれでもないことが示される。この場合には、処理が図9のS5に進む。
S18では、鍵取得部63は、応答メッセージのCall−IDとシーケンス番号とが合致する管理テーブル651のエントリを検出し、該エントリの「ステータス」が「401RES」であるか否かを判定する。エントリの「ステータス」が「401RES」である場合には(S18:YES)、処理がS19に進む。エントリの「ステータス」が「401RES」でない場合には(S18:NO)、処理が図9のS5に進む。
S19では、鍵取得部63は、該当エントリの「ステータス」を「401RES」から「200OK」に更新する。その後、処理が図9のS5に進む。
なお、図10において、S15,S18において、管理テーブル651の更新対象にならなかったSIPメッセージは、実装に応じて、廃棄されてもよい。
(第1実施形態の動作例)
図11は、第1実施形態における、携帯電話端末の電源投入から通話可能な状態になるまでの処理フローの例を示す図である。図11では、図1のLTEネットワークシステム100aにおける処理フローを想定する。図11において、暗号化通信にはIPsec通信が行われることを想定する。また、図11において示されるパケットは、通過制御装置6aによって通過許可と判定されるパケットであることを想定する。なお、図11においては、便宜上、認証サーバ4と加入者DB管理サーバ5とが同一の装置として示されている。
電源の投入を契機として、携帯電話端末1はSIP REGISTERをネットワーク11に出力してプロキシサーバ3に送信する(OP1)。携帯電話端末1から送信されたSIP REGISTERは、プロキシサーバ3の前に通過制御装置6aに受信される。
通過制御装置6aは、受信したSIP REGISTERから、Call−ID,シーケンス番号,送信元IPアドレスを読出し、管理テーブル651の新たなエントリの「Call−ID」,「シーケンス番号」,「携帯電話端末IPアドレス」に格納する(OP2、図10、S13)。また、通過制御装置6aは、新たなエントリの「ステータス」に「INITIAL」を格納する。通過制御装置6aは、SIP REGISTERの宛先IPアドレス(プロキシサーバ3)に基づいて、SIP REGISTERの出力先をプロキシサーバ3と接続するためのネットワークインタフェース107cに決定する(図9、S7)。
SIP REGISTERは、プロキシサーバ3に宛ててネットワーク13に出力され(OP3)、プロキシサーバ3に受信される。次に、SIP REGISTERは、プロキシサーバ3によって再びネットワーク13に出力され、通過制御装置6aに受信される(OP4)。OP4における受信の際には、通過制御装置6aでは、通過可否の判定は行われるが、管理テーブル651の更新は行われない。OP4において受信されるSIP REGISTERは、OP2において受信されたSIP REGISTERと同じSIP
REGISTERであり、管理テーブル651に既にエントリが作成されているからである(図10、S12:YES)。SIP REGISTERの宛先は、OP4において、プロキシサーバ3によって認証サーバ4に変更されているので、通過制御装置6aは、SIP REGISTERをネットワーク12に出力して認証サーバ4に中継する(OP5)。
加入者DB管理サーバ5は、SIP REGISTERを受信すると、図26のOP204−OP206と同様の処理を行う。すなわち、加入者DB管理サーバ5は、加入者情報から認証情報を生成し、認証情報から計算式1の計算結果値と生成し、認証情報と計算式2とから暗号鍵とを生成する(OP6)。
認証サーバ4は、加入者DB管理サーバ5によって生成された認証情報と暗号鍵とをそれぞれパラメタの一つとして含めて応答メッセージ(コード401)を生成し、ネットワーク12に出力してプロキシサーバ3に送信する(OP7)。
認証情報と暗号鍵とを含む応答メッセージ(コード401)は、プロキシサーバ3の前に、ネットワーク12を介して、通過制御装置6aに届く。通過制御装置6aでは、応答メッセージ(コード401)を受信すると、管理テーブル651の該当エントリの「ステータス」が「INITIAL」であるので(図10、S15:YES)、管理テーブル651の該当エントリを更新する(OP8、図10、S16)。具体的には、通過制御装置6aは、応答メッセージ(コード401)から暗号鍵を取り出し記憶部65のメモリ領域に格納し、該当エントリの「暗号鍵」に暗号鍵が格納されるアドレスのポインタを格納する。また、通過制御装置6aは、応答メッセージ(コード401)から「spi値」を取得し、管理テーブル651の該当エントリの「spi値」に格納する。さらに、通過制御装置6aは、管理テーブル651の該当エントリの「ステータス」を「INITIAL」から「401RES」に更新する。
通過制御装置6aは、認証情報と暗号鍵とを含む応答メッセージ(コード401)をネットワーク13に出力してプロキシサーバ3に中継する(OP9)。OP9において送信される応答メッセージ(コード401)は、OP7において認証サーバ4から送信される応答メッセージ(コード401)と同一であり、認証情報と暗号鍵とを含む。
プロキシサーバ3は、通過制御装置6aを経由してネットワーク13から応答メッセージ(コード401)を受信すると、応答メッセージ(コード401)に含まれる暗号鍵を取り出し保持する(OP10)。プロキシサーバ3は、応答メッセージ(コード401)から暗号鍵を削除し、認証情報を含む(暗号鍵を含まない)応答メッセージ(コード401)をネットワーク13に出力して携帯電話端末1に送信する(OP11)。
通過制御装置6aは、ネットワーク13から応答メッセージ(コード401)を受信すると、該応答メッセージ(コード401)をネットワーク11に出力して携帯電話端末1に中継する(OP12、OP13)。このときには、通過制御装置6aでは、通過可否の判定は行われるが、管理テーブル651の更新は行われない。OP11において受信される応答メッセージ(コード401)は、OP7において受信された応答メッセージ(コード401)と同じ応答メッセージであり、管理テーブル651の該当エントリのステータスが「INITIAL」でないからである(図10、S15:NO)。
携帯電話端末1は、ネットワーク11から応答メッセージ(コード401)を受信すると、図26のOP212、OP213と同様の処理を行う。すなわち、携帯電話端末1は、計算式1のパラメタに認証情報の値を代入して認証用の計算を行い、計算式2のパラメタに認証情報の値を代入して暗号鍵を生成する(OP14)。
携帯電話端末1は、認証サーバ4に認証してもらうために、求められた計算結果値をパラメタの一つとして含むSIP REGISTERを生成する。携帯電話端末1は、生成した暗号鍵を用いて該SIP REGISTERを暗号化する。暗号化されたSIP REGISTERは、ネットワーク11に出力され、プロキシサーバ3に送信される(OP15)。
ネットワーク11に出力されたSIP REGISTERは、プロキシサーバ3の前に、通過制御装置6aに到着する。通過制御装置6aは、暗号化されたSIP REGISTER(コピー)をOP8において取得した暗号鍵で復号化する(図9、S2)。通過制御装置6aは、復号化されたSIP REGISTERに対して通過可否の判定を行い(OP16、図9、S5:YES)、該SIP REGISTERをネットワーク13に出力しプロキシサーバ3に中継する(OP17、図9、S7)。このときには、通過制御装置6aでは、通過可否の判定は行われるが、管理テーブル651の更新は行われない。管理テーブル651に該当エントリが既に存在するからである(図10、S12:YES)。なお、OP17において中継されるSIP REGISTERは、暗号化されている。なぜなら、OP16における通過可否の判定は、SIP REGISTERのコピーに対して行われるからである。
プロキシサーバ3は、ネットワーク13から暗号化されたSIP REGISTERを受信すると、OP10において取り出した暗号鍵を用いてSIP REGISTERを復号化する(OP18)。プロキシサーバ3は、復号化したSIP REGISTERをネットワーク13に出力し、認証サーバ4に送信する(OP19)。
SIP REGISTERは、ネットワーク13から再び通過制御装置6aに受信される。このときには、通過制御装置6aでは、通過可否の判定は行われるが、管理テーブル651の更新は行われない。管理テーブル651に該当エントリが既に存在するからである(図10、S12:YES)。SIP REGISTERの宛先はOP19においてプロキシサーバ3によって認証サーバ4に変更されるので、通過制御装置6aは、SIP REGISTERをネットワーク12に出力して認証サーバ4に中継する(OP20)。
認証サーバ4は、ネットワ−ク12から復号化されたSIP REGISTERを受信し、図25のOP114と同様に認証を行う(OP21)。
この後、図11には示されていないが、認証サーバ4は、認証済みを示すコード200の応答メッセージ(コード200)をネットワーク12に出力してプロキシサーバ3に送信する。応答メッセージ(コード200)は、プロキシサーバ3の前に、ネットワーク12を介して通過制御装置6aに受信される。通過制御装置6aは、応答メッセージ(コード200)を受信すると、応答メッセージに該当する管理テーブル651のエントリの「ステータス」が「401RES」であるので(図10、S18:YES)、管理テーブル651の該当エントリを更新する(図10、S19)。具体的には、通過制御装置6aは、管理テーブル651の該当エントリの「ステータス」を「401RES」から「200OK」に更新する。
通過制御装置6aは、応答メッセージ(コード200)をネットワーク13に出力してプロキシサーバ3に中継する。プロキシサーバ3は、通過制御装置6aを経由してネットワーク13から応答メッセージ(コード200)を受信すると、OP10において取得した暗号鍵を用いて応答メッセージ(コード200)を暗号化する。プロキシサーバ3は、暗号化した応答メッセージ(コード200)をネットワーク13に出力して携帯電話端末1に送信する。暗号化された応答メッセージ(コード200)は、携帯電話端末1の前に通過制御装置6aに受信され、(コピーが)復号化されて通過可否の判定が行われる。暗号化された応答メッセージ(コード200)は、通過制御装置6aによってネットワーク11に出力され携帯電話端末1へと中継される。
(第1実施形態の作用効果)
第1実施形態では、通過制御装置6aが、認証サーバ4と接続する手段(ネットワークインタフェース107b)を有し、認証サーバ4と接続することによって、プロキシサーバ3と認証サーバ4との間の通信を取得することができる。通過制御装置6aが、プロキシサーバ3と認証サーバ4との間の通信から、暗号鍵を取得することによって、携帯電話端末1とプロキシサーバ3との間の暗号化通信を復号化することができ、適正に通過の可否を判定することができる。
また、第1実施形態では、基地局2,プロキシサーバ3,認証サーバ4の何れもインタフェースや、ソフトウェア等の変更を行うことなく、通過制御装置6aを追加するのみで、携帯電話端末1とプロキシサーバ3との間の暗号化通信を復号して通過の可否を判定することができる。そのため、通過制御装置6aの導入時のコストを抑えることができる。
<第2実施形態>
第2実施形態では、プロキシサーバと認証サーバとの間に、プロキシサーバと認証サーバとの間の通信をコピーする装置が配置され、通過制御装置は該装置からプロキシサーバと認証サーバとの間の通信を取得する。なお、第2実施形態では、第1実施形態と重複する説明は省略される。
(第2実施形態のLTEネットワークシステム)
図12は、第2実施形態のLTEネットワークシステムの構成例を示す図である。LTEネットワークシステム100bは、携帯電話端末1,基地局2,プロキシサーバ3,認証サーバ4,加入者DB管理サーバ5,通過制御装置6b,及びミラーリング装置7を有する。ネットワーク11は、基地局2(携帯電話端末1)と通過制御装置6bとが接続するネットワークであり、アクセスネットワークの一部である。ネットワーク14は、通過制御装置6bとプロキシサーバ3とが接続するネットワークであり、アクセスネットワークの一部である。ネットワーク15は、プロキシサーバ3と認証サーバ4とが接続するネ
ットワークであり、キャリア網の一部である。ネットワーク16は、通過制御装置6bとミラーリング装置7とを接続するネットワークである。
ミラーリング装置7は、例えば、スイッチングハブ、ミラーリング設定がなされたレイヤ2スイッチ、同じくミラーリング設定がなされたレイヤ3スイッチ等の中継装置である。第2実施形態では、ミラーリング装置7は、プロキシサーバ3と認証サーバ4との間に配置され、認証サーバ4から送信されるパケットを中継する際に、該パケットをコピーして通過制御装置6bに出力するようにミラーリングの設定がなされたレイヤ2スイッチである。ただし、これに限られず、ミラーリング装置7は、プロキシサーバ3と認証サーバ4との間の通信を全てコピーして通過制御装置6bに送信してもよい。
通過制御装置6bは、基地局2とプロキシサーバ3との間に配置される。また、通過制御装置6bは、ミラーリング装置7とネットワーク16で接続しており、ミラーリング装置7から、認証サーバ4から送信されたパケットのコピーを受信する。
図12において、第2実施形態では、ミラーリング装置7はレイヤ2スイッチを想定している為、ネットワーク16は、実際には、ミラーリング装置7がコピーしたパケットを流しているだけで、(レイヤ3の)ネットワークを成すものではなく単なる接続である。但し、第2実施形態では、便宜上ネットワーク16と表示する。
(第2実施形態の通過制御装置)
図13は、第2実施形態における通過制御装置6bのハードウェア構成例を示す図である。通過制御装置6bは、プロセッサ101,主記憶装置102,補助記憶装置105,可搬記録媒体駆動装置106,及びネットワークインタフェース107a,107d,107eを備え、これらがバス109により互いに接続されている情報処理装置である。情報処理装置は、例えば、ルータ、レイヤ3スイッチ、複数のユニットカードを有する大型の交換機などの中継装置である。
ネットワークインタフェース107d,107eは、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース107d,107eは、有線のネットワークと接続する。ネットワークインタフェース107dは、ネットワーク14、すなわち、プロキシサーバ3が接続するネットワークに接続するためのインタフェースである。ネットワークインタフェース107eは、ミラーリング装置7に接続するためのインタフェースであって、ミラーリング装置7からのパケットのコピーを受信する受信専用のインタフェースである。ネットワークインタフェース107dは、例えば、SONET/SDHやATM等のインタフェースモジュールである。また、ネットワークインタフェース107eは、例えば、LANのインタフェースモジュールである。ネットワークインタフェース107eは、ミラーリング装置7と接続するインタフェースであって、標準規格に適合するインタフェースである(ベンダ独自インタフェースではない)。ネットワークインタフェース107d,107eで受信されたデータ等は、プロセッサ101に出力される。
図14は、通過制御装置6bの機能ブロック図の例である。通過制御装置6bは、プロセッサ101が補助記憶装置105に保持される通過制御プログラムを主記憶装置102にロードして実行することによって、復号化部61,通過制御部62,鍵取得部63,スイッチング部64,ミラーリング情報受信部66として動作する。
ミラーリング情報受信部66は、ネットワークインタフェース107e専用のパケットの受信部である。すなわち、ミラーリング情報受信部66は、ミラーリング装置7によって送信される、認証サーバ4から送信されるパケットのコピーの受信専用である。なお、
通過制御装置6bが中継処理(又は通過可否の判定)で受信するパケット、すなわち、ネットワークインタフェース107a,107dからプロセッサ101に入力されるパケットは、まず復号化部61に入力される。
ミラーリング情報受信部66は、ミラーリング装置7から受信したパケットから、SIPメッセージのパケットを検出し、鍵取得部63に送信する。鍵取得部63は、ミラーリング情報受信部66から受信したSIPメッセージについて、図10において示されるフローと同様の処理を行う。ミラーリング情報受信部66が受信するパケットは、コピーであるため、処理が終了すると廃棄される。ミラーリング情報受信部66は、第2取得部の一例である。
(第2実施形態の動作例)
図15は、第2実施形態における、携帯電話端末の電源投入から通話可能な状態になるまでの処理フローの例を示す図である。図15では、図12のLTEネットワークシステム100bにおける処理フローを想定する。図15において、暗号化通信にはIPsec通信が行われることを想定する。また、図15において示されるパケットは、通過制御装置6bによって通過許可が判定されるパケットであることを想定する。なお、図15においては、便宜上、認証サーバ4と加入者DB管理サーバ5とが同一の装置として示されている。
電源の投入を契機として、携帯電話端末1はSIP REGISTERをネットワーク11に出力してプロキシサーバ3に送信する(OP31)。携帯電話端末1から送信されたSIP REGISTERは、プロキシサーバ3の前に通過制御装置6bに受信される。
通過制御装置6bは、受信したSIP REGISTERから、Call−ID,シーケンス番号,送信元IPアドレスを読出し、管理テーブル651の新たなエントリの「Call−ID」,「シーケンス番号」,「携帯電話端末IPアドレス」に格納する(OP32、図10、S13)。また、通過制御装置6bは、新たなエントリの「ステータス」に「INITIAL」を格納する。通過制御装置6bは、SIP REGISTERの宛先IPアドレス(プロキシサーバ3)に基づいて、SIP REGISTERの出力先をプロキシサーバ3と接続するためのネットワークインタフェース107dに決定する(図9、S7)。
SIP REGISTERは、プロキシサーバ3に宛ててネットワーク14に出力され、プロキシサーバ3に受信される(OP33)。プロキシサーバ3は、SIP REGISTERをネットワーク15に出力して認証サーバ4に送信する(OP34)。
加入者DB管理サーバ5は、SIP REGISTERを受信すると、図26のOP204−OP206と同様の処理を行う。すなわち、加入者DB管理サーバ5は、加入者情報から認証情報を生成し、認証情報から計算式1の計算結果値と、認証情報と計算式2とから暗号鍵と、を生成する(OP35)。
認証サーバ4は、加入者DB管理サーバ5によって生成された認証情報と暗号鍵とをそれぞれパラメタの一つとして含めて応答メッセージ(コード401)を生成し、ネットワーク15に出力してプロキシサーバ3に送信する(OP36)。
認証情報と暗号鍵とを含む応答メッセージ(コード401)は、プロキシサーバ3に受信される。プロキシサーバ3は、ネットワーク15から応答メッセージ(コード401)を受信すると、応答メッセージ(コード401)に含まれる暗号鍵を取り出し保持する(
OP38)。プロキシサーバ3は、応答メッセージ(コード401)から暗号鍵を削除して、認証情報を含む(暗号鍵を含まない)応答メッセージ(コード401)をネットワーク14に出力して携帯電話端末1に送信する(OP41)。
一方、OP36において認証サーバ4から送信された応答メッセージ(コード401)は、ネットワーク15に位置するミラーリング装置7によってコピーされ、ネットワーク16を通じて、通過制御装置6bにも受信される(OP37)。通過制御装置6bのミラーリング情報受信部66は、応答メッセージ(コード401)を受信すると、SIPメッセージであるので、鍵取得部63に送信する。鍵取得部63は、応答メッセージ(コード401)であることを判別し(OP39、図10、S14:YES)、管理テーブル651の該当エントリの「ステータス」が「INITIAL」であるので(図10、S15:YES)、該当エントリを更新する(図10、S16)。具体的には、通過制御装置6bは、応答メッセージ(コード401)から暗号鍵を取り出して記憶部65のメモリ領域に格納し、該当エントリの「暗号鍵」に暗号鍵が格納されるアドレスのポインタを格納する(OP40)。通過制御装置6bは、応答メッセージ(コード401)からspi値を取得し、管理テーブル651の該当エントリの「spi値」に格納する。さらに、通過制御装置6bは、管理テーブル651の該当エントリの「ステータス」を「INITIAL」から「401RES」に更新する。なお、OP37において受信される応答メッセージはコピーであって転送しないので、処理が終了すると通過制御装置6bによって廃棄される。
通過制御装置6bは、OP41において、プロキシサーバ3から送信された暗号鍵を含まない(認証情報は含まれる)応答メッセージ(コード401)を受信すると、該応答メッセージ(コード401)をネットワーク11に出力して携帯電話端末1に中継する(OP42、OP43)。このときには、通過制御装置6bでは、通過可否の判定は行われるが、管理テーブル651の更新は行われない。OP42において応答メッセージ(コード401)が受信された時点では、管理テーブル651の該当エントリのステータスが「INITIAL」でない(「401RES」である)からである(図10、S15:NO)。
携帯電話端末1は、ネットワーク11から応答メッセージ(コード401)を受信すると、図26のOP212、OP213と同様の処理を行う。すなわち、携帯電話端末1は、計算式1のパラメタに認証情報の値を代入して認証用の計算を行い、計算式2のパラメタに認証情報の値を代入して暗号鍵を生成する(OP44)。
携帯電話端末1は、認証サーバ4に認証してもらうために、求められた計算結果値をパラメタの一つとして含むSIP REGISTERを生成する。携帯電話端末1は、暗号鍵を用いて該SIP REGISTERを暗号化する。暗号化されたSIP REGISTERは、ネットワーク11に出力され、プロキシサーバ3に送信される(OP45)。
ネットワーク11に出力されたSIP REGISTERは、プロキシサーバ3の前に、通過制御装置6bに到着する。通過制御装置6bは、暗号化されたSIP REGISTER(コピー)をOP40において取得した暗号鍵で復号化する(図9、S2)。通過制御装置6bは、復号化されたSIP REGISTERに対して通過可否の判定を行い(OP46、図9、S5:YES)、該SIP REGISTERをネットワーク14に出力しプロキシサーバ3に中継する(OP47、図10、S7)。このときには、通過制御装置6bでは、通過可否の判定は行われるが、管理テーブル651の更新は行われない。管理テーブル651に該当エントリが既に存在するからである(図10、S12:YES)。なお、OP47において通過制御装置6bによって中継されるSIP REGISTERは、暗号化されている。
プロキシサーバ3は、ネットワーク13から暗号化されたSIP REGISTERを受信すると、OP38において取り出した暗号鍵を用いてSIP REGISTERを復号化する(OP48)。プロキシサーバ3は、復号化したSIP REGISTERをネットワーク15に出力し、認証サーバ4に送信する(OP49)。
認証サーバ4は、ネットワ−ク15から復号化されたSIP REGISTERを受信し、図25のOP114と同様に認証を行う(OP50)。
この後、図15には示されていないが、認証サーバ4は、認証済みを示すコード200の応答メッセージ(コード200)をネットワーク15に出力してプロキシサーバ3に送信する。プロキシサーバ3は、この応答メッセージ(コード200)をOP38において取得した暗号鍵で暗号化し、ネットワーク14に出力して携帯電話端末1に送信する。暗号化された応答メッセージ(コード200)は、携帯電話端末1の前に、通過制御装置6bに受信される。
通過制御装置6bは、ネットワーク14から応答メッセージ(コード200)を受信すると、暗号化された応答メッセージ(コード200)のコピーを復号化する。通過制御装置6bは、復号化して得られた応答メッセージ(コード200)に該当する管理テーブル651のエントリの「ステータス」が「401RES」であるので(図10、S18:YES)、管理テーブル651の該当エントリを更新する(図10、S19)。具体的には、通過制御装置6bは、管理テーブル651の該当エントリの「ステータス」を「401RES」から「200OK」に更新する。その後、通過制御装置6bは、復号化された応答メッセージ(コード200)(コピー)に対して通過可否の判定を行い、暗号化された応答メッセージ(コード200)をネットワーク11に出力して携帯電話端末1に中継する。
(第2実施形態の作用効果)
第2実施形態では、ミラーリング装置7は、プロキシサーバ3と認証サーバ4との間に配置され、認証サーバ4から送信された通信をコピーして通過制御装置6bに送信する。これによって、通過制御装置6bは、認証サーバ4からプロキシサーバ4に送信される通信を取得し、暗号鍵を取得することができ、さらに、適正に暗号化された携帯電話端末からの通信の通過可否の判定を行うことができる。
また、通過制御装置6bとミラーリング装置7とは、標準規格のインタフェースによって接続可能である。例えば、キャリア網への接続にベンダ独自のインタフェースが要求される場合でも、ミラーリング装置7を導入することで、各装置の既存の設定を変更することなく、通過制御装置6bが認証サーバ4からプロキシサーバ3への通信を取得することができる。これによって、プロキシサーバ3と通過制御装置6bとが異なるベンダの製品であってもよく、コストを抑えることができる。
<第3実施形態>
第3実施形態では、プロキシサーバと認証サーバとの間にスイッチ装置が配置され、通過制御装置は該装置からプロキシサーバと認証サーバとの間の通信を取得する。また、第3実施形態では、プロキシサーバ3,認証サーバ4,加入者DB管理サーバ5と間の再送制御の仕組みが通過制御装置6cに適用される。なお、第3実施形態では、第1実施形態及び第2実施形態と重複する説明は省略される。
(再送制御)
ベストエフォート方式であるIPネットワークでは、各ノード装置は、応答待ちのタイ
ムアウトや、回線障害の復旧を検知した際に論理的な接続の再構築を目的として通信プロトコルの再送制御を実装している。
3GPPにおいても、携帯端末からのアクセス依頼をプロキシサーバや認証サーバが認証する処理において、携帯端末が間欠的な障害とその復旧とを検出したことを契機として、アクセス依頼の再送を実施する仕組みが規定されている。間欠的な障害は、例えば、応答待ちのタイムアウトや回線障害等である。
図16は、LTEネットワークシステムにおけるアクセス依頼の再送処理のフローを示す図である。図16は、図24に示されるLTEネットワークシステムを想定している。図16において、OP301−OP307の処理は、図25におけるOP101−OP110の処理と同様の為、説明は省略される。なお、OP303において認証サーバ4(加入者DB管理サーバ5)によって生成された暗号鍵は、「暗号鍵1」と呼ばれる。
携帯電話端末P1がOP307において、認証用の計算(計算式1)の計算結果と、暗号鍵とを生成した後に、携帯電話端末P1は、間欠的な障害の発生及び該障害からの復旧を検出する(OP308)。該障害により接続が切断されてしまった可能性もあり、携帯電話端末P1,プロキシサーバP3,認証サーバP4とで暗号鍵の整合性がとれていない可能性があるので、携帯電話端末P1は、再度SIP REGISTERを送信し、暗号鍵の再生成を依頼する。このときのSIP REGISTERは、同期失敗を示す。このSIP REGISTERは、プロキシサーバP3を介して、認証サーバP4に届く(OP310)。
加入者DB管理サーバP5は、SIP REGISTERを受信すると、図25のOP103−OP105と同様にして、認証情報と暗号鍵とを生成する(OP311)。OP311において生成された暗号鍵を「暗号鍵2」とする。認証サーバP4は、加入者DB管理サーバP5によって生成された認証情報と暗号鍵2とをパラメタの一つとして含めて応答メッセージ(コード401)を生成し、プロキシサーバP3に送信する(OP312)。
プロキシサーバP3は、認証サーバP4から応答メッセージ(コード401)を受信すると、応答メッセージ(コード401)に含まれる暗号鍵2を取り出し保持する(OP313)。このとき、OP305において保持された暗号鍵1は暗号鍵2によって上書きされる。プロキシサーバP3は、応答メッセージ(コード401)から暗号鍵2を削除して、認証情報を含む(暗号鍵を含まない)応答メッセージ(コード401)を携帯電話端末P1に送信する(OP314)。
携帯電話端末P1は、応答メッセージ(コード401)を受信すると、OP307において受信した認証情報や、算出した計算式1の計算結果、暗号鍵1を廃棄する。携帯電話端末P1は、予め定義された計算式1のパラメタに応答メッセージ(コード401)から取り出した新たな認証情報の値を代入して認証用の計算を行い、計算結果を保持する。また、携帯電話端末P1は、予め定義された計算式2のパラメタに応答メッセージ(コード401)から取り出した新たな認証情報の値を代入して暗号鍵2を生成する(OP315)。
携帯電話端末P1は、認証サーバP4に認証してもらうために、計算式1から算出した計算結果値をパラメタの一つとしてSIP REGISTERを生成する。携帯電話端末P1は、暗号鍵2を用いて該SIP REGISTERを暗号化してプロキシサーバP3に送信する(OP316)。
プロキシサーバP3は、携帯電話端末P1から暗号化されたSIP REGISTERを受信すると、OP313において取り出した暗号鍵2を用いてSIP REGISTERを復号化する(OP317)。プロキシサーバP3は、復号したSIP REGISTERを認証サーバP4に送信する(OP318)。
認証サーバP4は、プロキシサーバP3からSIP REGISTERを受信すると、SIP REGISTERに含まれる計算結果値と、加入者DB管理サーバP5に保持された計算結果値とを照合し、認証を行う(OP319)。2つの計算結果値が一致した場合、認証サーバP4は、認証済みを示す応答メッセージ(コード200)をプロキシサーバP3に送信する(OP320)。応答メッセージ(コード200)は、プロキシサーバP3を経由して携帯電話端末P1に受信される(OP321)。以降、携帯電話端末P1は、通話相手への接続要求等が可能な状態となる。
以上のように、携帯電話端末P1が、間欠的な障害の発生及び復旧が検出した場合に、再度SIP REGISTERを送信することによって、暗号鍵と認証情報が再生成され、各装置で整合する暗号鍵と認証情報とを使用することができる。
第3実施形態では、図16に示される例のようなアクセス依頼の再送処理を、通過制御装置を備えるLTEネットワークシステムに適用する。
(第3実施形態のLTEネットワークシステム)
図17は、第3実施形態のLTEネットワークシステムの構成例を示す図である。LTEネットワークシステム100cは、携帯電話端末1,基地局2,プロキシサーバ3c,認証サーバ4,加入者DB管理サーバ5,通過制御装置6c,及びスイッチ装置8を有する。ネットワーク11は、基地局2(携帯電話端末1)と通過制御装置6bとが接続するネットワークであり、アクセスネットワークの一部である。ネットワーク14は、通過制御装置6bとプロキシサーバ3とが接続するネットワークであり、アクセスネットワークの一部である。ネットワーク15は、プロキシサーバ3cと認証サーバ4とが接続するネットワークであり、キャリア網の一部である。ネットワーク17は、通過制御装置6cとスイッチ装置8とが接続するネットワークであり、ネットワーク15と同じキャリア網の一部である。
スイッチ装置8は、例えば、スイッチングハブ、レイヤ2スイッチ、レイヤ3スイッチ等のレイヤ2アドレスに基づいてスイッチングを行う中継装置である。スイッチ装置8は、レイヤ2アドレスに基づいて、フレーム(パケット)をプロキシサーバ3c,認証サーバ4,通過制御装置6cの何れかに転送する。レイヤ2アドレスには、例えば、MAC(Media Access Memory)アドレス、ATMアドレス等がある。
通過制御装置6cは、基地局2とプロキシサーバ3cとの間に配置される。また、通過制御装置6cは、スイッチ装置8とネットワーク17で接続しており、宛先レイヤ2アドレスが通過制御装置6cであるフレーム(パケット)をスイッチ装置8から受信する。
図17に示されるLTEネットワークシステム100cにおいて、スイッチ装置8はレイヤ2の中継装置であるので、ネットワーク15とネットワーク17とは、同じIPネットワークである。
ネットワーク11とネットワーク14とは、異なるIPネットワークでもよいし、同じIPネットワークであってもよい。通過制御装置6cの実装及び設定に依存する。ネットワーク14とネットワーク17とは異なるIPネットワークである。また、ネットワーク14とネットワーク15とは異なるネットワークである。
(第3実施形態の通過制御装置)
第3実施形態における通過制御装置6cのハードウェア構成は、図13において示される通過制御装置6bのハードウェア構成と同様である。ただし、通過制御装置6cでは、ネットワークインタフェース107eは、スイッチ装置8と接続する。
図18は、通過制御装置6cの機能ブロック図の例である。通過制御装置6cは、プロセッサ101が補助記憶装置105に保持される通過制御プログラムを主記憶装置102にロードして実行することによって、復号化部61,通過制御部62,鍵取得部63,スイッチング部64,疑似プロキシサーバ部67,及び疑似認証サーバ部68として動作する。
疑似プロキシサーバ部67は、プロキシサーバ3cになりすまし、認証サーバ4にSIP REGISTERを送信し、暗号鍵の生成を依頼する。例えば、疑似プロキシサーバ部67は、携帯電話端末1からSIP REGISTERが受信され、通過制御装置6cにおいて通過可否の判定が行われた後に、暗号鍵を取得するため、プロキシサーバ3cになりすまし、暗号鍵の生成を依頼する。疑似プロキシサーバ部67の詳細については、後述する。
疑似認証サーバ部68は、認証サーバ4になりすまし、疑似プロキシサーバ部67によって送信されたSIP REGISTERに対する応答メッセージ(コード401)をプロキシサーバ3cに送信する。このときに送信される応答メッセージ(コード401)には、認証サーバ4によって生成された認証情報と暗号鍵とが含まれる。疑似認証サーバ部68の詳細については、後述する。
(通過制御装置の処理フロー)
図19は、第3実施形態における、管理テーブル更新処理のフローの例を示す図である。第3実施形態において、通過制御装置6cの復号化部61,通過制御部62,スイッチング部64は、第1実施形態において説明された図9に示される処理と同じ処理を行う。図19は、第3実施形態における、管理テーブル更新処理(図9、S4)の詳細である。
管理テーブル更新処理は、通過制御部62によって、パケットがSIPメッセージを含んでいることが検出されると開始される。なお、S31−S33、S40−S42は、図10におけるS11−S13、S17−S19と同様の処理であるため、説明は省略される。
S31において、鍵取得部63によって、SIPメッセージはSIP REGISTERでないことが判定された場合には(S31:NO)、処理がS34に進む。S34では、鍵取得部63によって、SIPメッセージがコード401の応答メッセージであるか否かが判定される。SIPメッセージがコード401の応答メッセージであるか否かは、SIPヘッダの先頭行にコード「401」が格納されているか否かで判定可能である(図5参照)。SIPメッセージがコード401の応答メッセージである場合には(S34:YES)、処理がS35に進む。SIPメッセージがコード401の応答メッセージでない場合には(S34:NO)、処理がS40に進む(S40の説明省略)。
S35では、鍵取得部63は、応答メッセージのCall−IDとシーケンス番号とが合致する管理テーブル651のエントリを検出し、該エントリの「ステータス」が「INITIAL」であるか否かを判定する。
エントリの「ステータス」が「INITIAL」である場合には(S35:YES)、
処理がS36に進む。エントリの「ステータス」が「INITIAL」でない場合には(S15:NO)、処理が図9のS5に進む。
S36では、鍵取得部63は、応答メッセージ(コード401)に暗号鍵が含まれているか否かを判定する。応答メッセージ(コード401)に暗号鍵が含まれている場合には(S36:YES)、処理がS37に進む。応答メッセージに暗号鍵が含まれていない場合には(S36:NO)、処理がS39に進む。
S37では、鍵取得部63は、応答メッセージ(コード401)から暗号鍵を取り出し、記憶部65のメモリ領域に記憶し、管理テーブル651の該当エントリの「暗号鍵」にメモリ領域のアドレスを示すポインタを格納する。また、鍵取得部63は、応答メッセージ(コード401)からspi値を取得し、管理テーブル651の該当エントリの「spi値」に格納する。さらに、鍵取得部63は、該当エントリの「ステータス」を「INITIAL」から「401RES」に更新する。その後、処理がS38に進む。
S38では、疑似認証サーバ部68が、認証サーバ4になりすましてプロキシサーバ3cに応答メッセージ(コード401)を送信する。具体的には、疑似認証サーバ部68は、現在処理対象の応答メッセージ(コード401)を含むパケットの送信元IPアドレスを認証サーバ4のIPアドレスにして、ネットワークインタフェース107e(ネットワーク17)からプロキシサーバ3cに送信する。ネットワーク17に出力された該応答メッセージ(コード401)は、ネットワーク15を経由してプロキシサーバ3cに受信される。このとき、プロキシサーバ3c側では、通常認証サーバ4からのパケットを受信するネットワーク15(インタフェース)から受信することによって、あたかも認証サーバ4から該応答メッセージ(コード401)を受信したように見える。
S39では、疑似プロキシサーバ部67は、プロキシサーバ3になりすまして、ネットワークインタフェース107e(ネットワーク17)から認証サーバ4にSIP REGISTERを送信し、暗号鍵の生成を依頼する。このとき疑似プロキシサーバ部67は、SIP REGISTERの送信元IPアドレスをプロキシサーバ3のIPアドレスに設定する。これによって、認証サーバ4側では、あたかもプロキシサーバ3からSIP REGISTERを受信したように見える。
(プロキシサーバ)
プロキシサーバ3cのハードウェア構成は、例えば、図2において示された通過制御装置のハードウェア構成と同じであるので、説明は省略される。ただし、これに限られず、プロキシサーバ3cのハードウェア構成は、例えば、図2において示された通過制御装置のハードウェア構成に、キーボードやマウス等の入力装置とディスプレイ等の出力装置とを備えた、サーバマシンのような専用のコンピュータであってもよい。
図20は、第3実施形態におけるプロキシサーバ3cの機能ブロック図の一例である。プロキシサーバ3cは、プロセッサがプログラムを実行することによって、サーバ部31,認証部32,接続状態管理部33,及びクライアント部34として動作する。また、プロキシサーバ3cは、プログラムの実行を通じて、又は静的に、主記憶装置の記憶領域に記憶部35を作成する。記憶部35は、SIPのセッションを管理する接続状態管理テーブル351を保持する。
図21は、接続状態管理テーブル351の例を示す図である。接続状態管理テーブル351は、管理番号,Call−ID,携帯電話端末IPアドレス,ステータス,サブステータス,関連暗号鍵,認証情報,及び暗号鍵のフィールドを有する。管理番号,Call−ID,携帯電話端末IPアドレス,暗号鍵については、管理テーブル651と同様であ
るため、説明を省略する。
「ステータス」には、SIPセッションの状態が示されるコードが格納される。例えば、ステータスのコードには、「INITIAL」、「401RES 送出済」、及び「200OK 送出済」が含まれ、この順番で遷移する。例えば、プロキシサーバ3cが、携帯電話端末1から図4に示されるようなSIP REGISTERを受信し認証サーバ4に中継した場合には、初期状態を示す「INITIAL」が格納される。例えば、プロキシサーバ3cが、図5に示されるような、認証サーバから送信されるコード401の応答メッセージを受信し携帯電話端末1に送出した場合には、「ステータス」フィールドは「401RES 送出済」に上書きされる。例えば、プロキシサーバ3cが、図6に示されるような、認証サーバ4から送信されるコード200の応答メッセージを受信し携帯電話端末1に送出した場合には、「ステータス」フィールドは「200OK 送出済」に上書きされる。
なお、「ステータス」に格納されるコードは一例であり、コードの名称は、「INITIAL」、「401RES 送出済」、及び「200OK 送出済」に限定されない。また、より多種のコードを設定して、より細かくSIPセッションの状態を管理してもよい。
「サブステータス」は、携帯電話端末1から、位置登録要求を示すSIP REGISTERの再送の有無を示す情報が格納される。すなわち、「サブステータス」は、例えば、図16のOP309のようにSIP REGISTERの再送があったか否かを示す。例えば、「サブステータス」の初期値は「未設定」であり、携帯電話端末1によって再送された位置登録要求を示すSIP REGISTERを受信すると、「再送あり」に更新される。
「関連暗号鍵」は、再送された位置登録要求を示すSIP REGISTERに対する再度の応答メッセージ(コード401)が受信された際に、「暗号鍵」に格納されていた暗号鍵が格納される。
サーバ部31(図20)は、携帯電話端末1を宛先とするパケットの送信、及び携帯電話端末1を送信元とするパケットの受信を行う。クライアント部34は、認証サーバ4を宛先とするパケットの送信、及び認証サーバ4を送信元とするパケットの受信を行う。サーバ部31及びクライアント部34は、受信したパケットがSIPメッセージである場合に、該SIPメッセージを解析し、解析結果を認証部32に出力する。
認証部32は、サーバ部31及びクライアント部34から入力されるSIPメッセージの解析結果と、接続状態管理テーブル351におけるSIPセッションの状態とから、接続状態管理テーブル351の更新及び転送されるSIPメッセージの生成を行う。
接続状態管理部33は、接続状態管理テーブル351を管理する。接続状態管理部33は、認証部32からの指示に従って、接続状態管理テーブル351から情報の読出し、接続状態管理テーブル351の更新を行う。接続状態管理テーブル351の更新には、エントリの追加、削除、変更が含まれる。
(プロキシサーバの処理フロー)
図22は、プロキシサーバ3cのSIPメッセージ受信時の処理フローの例を示す図である。図22に示されるフローは、サーバ部31又はクライアント部34がパケットを受信し、該パケットがSIPメッセージである場合に開始される。
S51では、サーバ部31又はクライアント部34が、SIPメッセージがSIP REGISTERであるか否かを判定する。SIPメッセージが位置登録要求のSIP REGISTERであることは、SIPヘッダの先頭行が「REGISTER」であって、シーケンス番号が「1」であることから判定可能である(図4参照)。SIPメッセージがSIP REGISTERである場合には(S51:YES)、処理がS52に進む。SIPメッセージがSIP REGISTERでない場合には(S51:NO)、処理がS55に進む。
S52では、認証部32は、SIP REGISTERのCall−IDが合致する接続状態管理テーブル351のエントリが存在するか否かを判定する。認証部32は、接続状態管理部33に、SIP REGISTERのCall−IDと合致する接続状態管理テーブル351のエントリがあるか否かを問い合わせる。接続状態管理部33は、接続状態管理テーブル351を検索し、該当エントリの有無を認証部32に通知する。
SIP REGISTERのCall−IDが合致する接続状態管理テーブル351のエントリが存在する場合には(S52:YES)、処理はS54に進む。SIP REGISTERのCall−IDが合致する接続状態管理テーブル351のエントリが存在しない場合には(S52:NO)、処理はS53に進む。
S53では、認証部32は、SIP REGISTERから、Call−ID,送信元IPアドレスを読出し、接続状態管理部33に新たに接続状態管理テーブル351のエントリを作成するよう指示する。接続状態管理部33は、Call−ID(不定長)を記憶部35のメモリ領域にコピーする。接続状態管理部33は、Call−IDを格納したメモリ領域のポインタと、SIP REGISTERの送信元IPアドレスとを、新たなエントリの「Call−ID」、「携帯電話端末IPアドレス」にそれぞれ格納する。また、接続状態管理部33は、新たなエントリの「ステータス」に「INITIAL」を格納する。その後処理がS54に進む。
S54では、認証部32は、受信したSIPメッセージの転送を決定し、サーバ部31又はクライアント部34を介してSIPメッセージを出力する。SIP REGISTERの場合には、認証部32は、クライアント部34から認証サーバ4に宛ててSIPメッセージを出力する。応答メッセージ(コード401、200)の場合には、認証部32は、サーバ部31から携帯電話端末1に宛ててSIPメッセージを出力する。SIPメッセージが出力されると、図22に示される処理フローが終了する。
S55では、サーバ部31又はクライアント部34によって、SIPメッセージがコード401の応答メッセージであるか否かが判定される。SIPメッセージがコード401の応答メッセージであるか否かは、SIPヘッダの先頭行にコード「401」が格納されているか否かで判定可能である(図5参照)。
SIPメッセージがコード401の応答メッセージである場合には(S55:YES)、処理がS56に進む。SIPメッセージがコード401の応答メッセージでない場合には(S55:NO)、処理がS62に進む。
S56では、認証部32は、応答メッセージ(コード401)に該当する接続情報管理テーブル351の該当エントリの「ステータス」が「INITIAL」であるか否かを判定する。認証部32は、接続状態管理部33に、応答メッセージ(コード401)のCall−IDから、携帯電話端末1との接続状態を問い合わせる。接続状態管理部33は、Call−IDが合致する接続状態管理テーブル351のエントリの「ステータス」を認証部32に通知する。
エントリの「ステータス」が「INITIAL」である場合には(S56:YES)、処理がS59に進む。エントリの「ステータス」が「INITIAL」でない場合には(S56:NO)、処理がS57に進む。
S57では、認証部32は、応答メッセージ(コード401)に該当する接続情報管理テーブル351の該当エントリの「ステータス」が「401RES 送信済」であるか否かを判定する。認証部32は、S56で通知された「ステータス」を元に判定を行う。
エントリの「ステータス」が「401RES 送信済」である場合には(S57:YES)、処理がS58に進む。エントリの「ステータス」が「401RES 送信済」でない場合には(S57:NO)、処理がS61に進む。
S58では、認証部32は、応答メッセージ(コード401)に含まれる暗号鍵及び認証情報を有効にするように接続状態管理部33に指示する。応答メッセージ(コード401)は再送されたものであるので、接続状態管理テーブル351の該当エントリの「暗号鍵」及び「認証情報」には、既に暗号鍵と認証情報とが保持されている。接続状態管理部33は、応答メッセージ(コード401)のCall−IDに該当する接続状態管理テーブル351のエントリの「サブステータス」に「再送あり」を格納する。また、接続状態管理部33は、該当エントリの「暗号鍵」に保持していた情報を「関連暗号鍵」に格納する。さらに、接続状態管理部33は、応答メッセージ(コード401)から暗号鍵を取り出し、記憶部35のメモリ領域に記憶し、接続情報管理テーブル351の該当エントリの「暗号鍵」にメモリ領域のアドレスを示すポインタを格納する。接続状態管理部33は、該当エントリの「認証情報」を応答メッセージ(コード401)から読み出された認証情報が保持されるメモリ領域のアドレスを示すポインタで上書きする。その後処理がS60に進む。
S59では、認証部32は、応答メッセージ(コード401)に含まれる暗号鍵及び認証情報を有効にするように接続状態管理部33に指示する。接続状態管理部33は、応答メッセージ(コード401)から暗号鍵と認証情報とを取り出し、記憶部35のメモリ領域に記憶する。接続状態管理部33は、応答メッセージ(コード401)のCall−IDに該当する接続状態管理テーブル351のエントリの「暗号鍵」に暗号鍵が保持されるメモリ領域のアドレスを示すポインタを格納する。また、該当エントリの「認証情報」を応答メッセージ(コード401)から読み出された認証情報が保持されるメモリ領域のアドレスを示すポインタで上書きする。さらに、接続状態管理部33は、該当エントリの「ステータス」を「INITIAL」から「401RES 送信済」に更新する。その後、処理がS60に進む。
S60では、認証部32は、応答メッセージ(コード401)から暗号鍵を削除する。その後、処理がS54に進む。
S61では、SIPメッセージが応答メッセージ(コード401)であるにもかかわらず、該SIPメッセージの接続状態管理テーブル351の該当エントリの「ステータス」が「INITIAL」でも「401RES 送信済」でもない。認証部32は、この場合、SIPメッセージはエラーであるとして廃棄する。
S62では、サーバ部31又はクライアント部34は、SIPメッセージがコード200の応答メッセージであるか否かを判定する。SIPメッセージが応答メッセージであることは、SIPヘッダの最初の行のコードが「200」であることによって判定可能である(図7参照)。
SIPメッセージがコード200の応答メッセージである場合には(S62:YES)、処理がS63に進む。SIPメッセージがコード200の応答メッセージでない場合には(S62:NO)、処理がS54に進む。
S63では、認証部32は、応答メッセージのCall−IDが合致する接続情報管理テーブル351のエントリの「ステータス」が「401RES 送信済」であるか否かを判定する。
該当エントリの「ステータス」が「401RES 送信済」である場合には(S63:YES)、処理がS64に進む。該当エントリの「ステータス」が「401RES 送信済」でない場合には(S63:NO)、処理がS54に進む。
S64では、認証部32は、接続状態管理部33に該当エントリの「ステータス」更新を指示する。接続状態管理部33は、該当エントリの「ステータス」を「401RES 送信済」から「200OK」に更新する。その後、処理がS54に進む。
プロキシサーバ3cは、接続状態管理テーブル351に「サブステータス」を保持する。これによって、通過制御装置6cが認証サーバ4になりすまして送信する応答メッセージ(コード401)を受信した際に、有効な暗号鍵を書き換えることができる。
(第3実施形態の動作例)
図23は、第3実施形態における、携帯電話端末が通話可能な状態になるまでの処理フローの例を示す図である。図23では、図17のLTEネットワークシステム100cにおける処理フローを想定する。図23において、暗号化通信にはIPsec通信が行われることを想定する。また、図23において示されるパケットは、通過制御装置6cによって通過許可が判定されるパケットであることを想定する。なお、図23においては、便宜上、認証サーバ4と加入者DB管理サーバ5とが同一の装置として示されている。
OP61−OP65までの処理は、第2実施形態の図15のOP31−OP35までの処理と同様であるため、説明は省略される。OP65において生成された暗号鍵を、以降、「暗号鍵1」とする。
認証サーバ4は、加入者DB管理サーバ5によって生成された認証情報と暗号鍵1とをそれぞれパラメタの一つとして含めて応答メッセージ(コード401)を生成し、ネットワーク15に出力してプロキシサーバ3cに送信する(OP66)。なお、このとき送信される応答メッセージ(コード401)の宛先IPアドレス,宛先のレイヤ2アドレスは、ともに、プロキシサーバ3cのものである。
認証情報と暗号鍵1とを含む応答メッセージ(コード401)は、ネットワーク15においてスイッチ装置8に中継されてプロキシサーバ3cに受信される。プロキシサーバ3cは、ネットワーク15から応答メッセージ(コード401)を受信すると、応答メッセージ(コード401)に含まれる暗号鍵1を取り出し保持する(OP67)。具体的には、プロキシサーバ3cは、暗号鍵1と認証情報とを記憶部35のメモリ領域に格納する。プロキシサーバ3cは、暗号鍵1が保持されるメモリ領域のアドレスを示すポインタを接続状態管理テーブル315の該当エントリの「暗号鍵」に格納する。また、プロキシサーバ3cは、認証情報が保持されるメモリ領域のアドレスを示すポインタを該当エントリの「認証情報」に格納する。さらに、プロキシサーバ3cは、接続状態管理テーブル315の該当エントリの「ステータス」を「INITIAL」から「401RES 送信済」に更新する(図22、S59)。
プロキシサーバ3cは、応答メッセージ(コード401)から暗号鍵1を削除し、認証情報を含む(暗号鍵1を含まない)応答メッセージ(コード401)をネットワーク14に出力して携帯電話端末1に送信する(OP68、図22、S60、S54)。
応答メッセージ(コード401)は、携帯電話端末1の前に通過制御装置6cに届く。通過制御装置6cは、プロキシサーバ3cから送信された暗号鍵を含まない(認証情報は含まれる)応答メッセージ(コード401)を受信すると、SIP REGISTERを生成し(OP69)、ネットワーク17に出力して認証サーバ4に送信する(OP70)。このとき、管理サーバ651の応答メッセージ(コード401)に該当するエントリの「ステータス」が「INITIAL」である(図19、S35:YES)。さらに、応答メッセージ(コード401)に暗号鍵が含まれていないので(図19、S36:NO)、暗号鍵を取得するために疑似プロキシサーバ部67がプロキシサーバ3cのふりをして認証サーバ4にSIP REGISTERを送信する(図19、S39)。なお、このとき送信されるSIP REGISTERの送信元IPアドレスはプロキシサーバ3cのIPアドレスであり、送信元のレイヤ2アドレスは通過制御装置6cのレイヤ2アドレスである。
通過制御装置6cがプロキシサーバ3cになりすまして送信したSIP REGISTERは、スイッチ装置8によって中継されてネットワーク15を介して認証サーバ4に届く。SIP REGISTERを受信すると、認証サーバ4(加入者DB管理サーバ5)は、再度、OP65と同様にして新たに認証情報と暗号鍵とを生成する(OP71)。このとき生成される暗号鍵を「暗号鍵2」とする。
認証サーバ4は、加入者DB管理サーバ5によって生成された新たな認証情報と暗号鍵2とをそれぞれパラメタの一つとして含めて応答メッセージ(コード401)を生成し、ネットワーク15に出力してプロキシサーバ3cに送信する(OP72)。ただし、このとき認証サーバ4は、宛先IPアドレスにプロキシサーバ3cのIPアドレスを指定して応答メッセージ(コード401)を送信するが、宛先のレイヤ2アドレスは通過制御装置6cのMACアドレスになっている。応答メッセージ(コード401)がOP70において受信された、送信元IPアドレスがプロキシサーバ3のIPアドレスで、送信元のレイヤ2アドレスが通過制御装置6cのレイヤ2アドレスであるSIP REGISTERに対する応答だからである。そのため、ネットワーク15に出力された応答メッセージ(コード401)は、スイッチ装置8によって宛先のレイヤ2アドレスに従ってスイッチングされて、ネットワーク17から通過制御装置6cに届く。
通過制御装置6cは、ネットワーク17から認証情報と暗号鍵2とを含む応答メッセージ(コード401)を受信すると、管理テーブル651の該当エントリを更新する(OP73)。管理テーブル651の該当エントリの「ステータス」が「INITIAL」であり(図19、S35:YES)、応答メッセージ(コード401)に暗号鍵が含まれるからである(図19、S36:YES)。具体的には、通過制御装置6cは、応答メッセージ(コード401)から暗号鍵2を取り出して記憶部65のメモリ領域に格納し、該当エントリの「暗号鍵」に暗号鍵2が格納されるアドレスのポインタを格納する。また、鍵取得部63は、応答メッセージ(コード401)からspi値を取得し、管理テーブル651の該当エントリの「spi値」に格納する。さらに、通過制御装置6cは、管理テーブル651の該当エントリの「ステータス」を「INITIAL」から「401RES」に更新する。
通過制御装置6cは、認証サーバになりすまして、新たな認証情報と暗号鍵2とを含む応答メッセージ(コード401)をネットワーク14に出力してプロキシサーバ3cに送
信する(OP74)。
プロキシサーバ3cは、通過制御装置6cからネットワーク14を介して応答メッセージ(コード401)を受信すると、応答メッセージ(コード401)に含まれる暗号鍵2を取り出し保持する(OP75)。具体的には、プロキシサーバ3cは、該当する接続状態管理テーブル351のエントリの「サブステータス」に「再送あり」を格納する。また、プロキシサーバ3cは、暗号鍵2と新たな認証情報とを記憶部35のメモリ領域に格納する。また、プロキシサーバ3cは、新たな認証情報が保持されるメモリ領域のアドレスを示すポインタで該当エントリの「認証情報」を上書きして更新する。さらに、プロキシサーバ3cは、該当する接続状態管理テーブル351のエントリの「暗号鍵」の情報を「関連暗号鍵」に格納し、暗号鍵2が保持されるメモリ領域のアドレスのポインタを「暗号鍵」に格納する(図22、S58)。
プロキシサーバ3cは、認証情報を含む(暗号鍵2を含まない)応答メッセージ(コード401)をネットワーク14に出力して携帯電話端末1に送信する(OP76)。
通過制御装置6cは、ネットワーク14から応答メッセージ(コード401)を受信すると、該応答メッセージ(コード401)をネットワーク11に出力して携帯電話端末1に中継する(OP77、OP78)。このときには、通過制御装置6cでは、通過可否の判定は行われるが、管理テーブル651の更新は行われない。OP76において受信される応答メッセージ(コード401)は、OP72において受信された応答メッセージ(コード401)と同じ応答メッセージであり、管理テーブル651の該当エントリのステータスが「INITIAL」でないからである(図19、S35:NO)。
携帯電話端末1は、ネットワーク11から応答メッセージ(コード401)を受信すると、図26のOP212、OP213と同様の処理を行う。すなわち、携帯電話端末1は、計算式1のパラメタに認証情報の値を代入して認証用の計算を行い、計算式2のパラメタに認証情報の値を代入して暗号鍵2を生成する(OP79)。
携帯電話端末1は、認証サーバ4に認証してもらうために、求められた計算結果値をパラメタの一つとして含むSIP REGISTERを生成する。携帯電話端末1は、暗号鍵2を用いて該SIP REGISTERを暗号化してネットワーク11に出力してプロキシサーバ3cに送信する(OP80)。
ネットワーク11に出力されたSIP REGISTERは、プロキシサーバ3cの前に、通過制御装置6cに到着する。通過制御装置6cは、暗号化されたSIP REGISTER(コピー)をOP73において取得した暗号鍵2で復号化する(図9、S2)。通過制御装置6cは、復号化されたSIP REGISTERに対して通過可否の判定を行い(OP81、図9、S5:YES)、該SIP REGISTERをネットワーク15に出力し認証サーバ4に中継する(図9、S7)。
(第3実施形態の作用効果)
第3実施形態では、スイッチ装置8は、プロキシサーバ3cと認証サーバ4との間に配置され、さらに通過制御装置6cに接続する。スイッチ装置8は、レイヤ2アドレスにしたがってフレーム(パケット)を転送する。一方、通過制御装置6cは、プロキシサーバ3cになりすましてSIP REGISTERを認証サーバ4に送信し、暗号鍵を取得する。また、通過制御装置6cは、認証サーバ4になりすましてプロキシサーバ3cに応答メッセージ(コード401)を送信し暗号鍵を通知する。これらのやり取りは、すべてスイッチ装置8によって中継される。以上より、通過制御装置6cは、認証サーバ4から暗号鍵を取得することができ、さらに、プロキシサーバ3cと携帯電話端末1と通過制御装
置6cとで暗号鍵の整合性をとることができる。
また、スイッチ装置8は、公共に広く知られている既存の装置であって、特別なインタフェースも特別な設定も必要とされない。そのため、例えば、キャリア網への接続にベンダ独自のインタフェースが要求される場合でも、各装置の既存の設定を変更することなく、通過制御装置6cをネットワーク15に接続させることが可能となる。これによって、通過制御装置6cを導入する際のコストを抑えることができる。
<変形例>
第1実施形態から第3実施形態では、プロキシサーバ3と携帯電話端末1との間の通信全てを通過可否の判定の対象としたが、これに代えて、携帯電話端末1からプロキシサーバ3への通信のみを通過可否の判定の対象にしてもよい。通過可否判定の前に、送信元IPアドレスをチェックすることによって実現可能である。このように、通過可否の判定の対象通信を限定することによって、通過制御装置にかかる処理負荷を抑えることができる。
第1実施形態から第3実施形態では、通過制御装置は、プロセッサ101が補助記憶装置105に保持される通過制御プログラムを主記憶装置102にロードして実行することによって、パケットの通過可否の判定を行うことについて説明された。これに代えて、通過制御装置の、復号化部61、通過制御部62、鍵取得部63、スイッチング部64、ミラーリング情報受信部66、疑似プロキシサーバ部67、及び疑似認証サーバ部68は、それぞれ、ICチップやASIC等の電気回路であってもよい。
LTEネットワークシステムにおいて、第1実施形態−第3実施形態では、端末として携帯電話端末についてのみ説明したが、これに限られず、データ通信を行う携帯端末であってもよい。