図1は、ウィルス検疫システムの概略構成図の一例を示す。本システムは、パケット通信装置100(例えば、LANスイッチ)に、ユーザ認証サーバ101、ユーザ端末102及び105、検疫サーバ103、及び業務ネットワーク104が接続されて構成される。ユーザ認証サーバ101は、例えば管理者が入力した端末102、105のユーザ情報や、接続可能な業務ネットワーク104の通信範囲106や、検疫を行なっていないユーザ端末に対して検疫を行なわせるための検疫を行なうサーバ103の通信範囲107や、システムに接続された各ユーザ端末の検疫状態を、予め登録しておく。
まず、ユーザ端末105が、検疫を行なっており通常の認証のみで業務ネットワーク104へ接続できる端末である場合に、ユーザ端末105の認証処理について説明する。この場合、ユーザ端末105は通信範囲106への接続が許可されており、ユーザ認証サーバ101は、ユーザの認証情報を登録しておく。例えば、管理者が、ユーザ認証サーバ101に対してユーザの認証情報(ユーザID、パスワードなど)を登録する。
ユーザ端末105は、業務ネットワーク104へ接続するために、認証要求をパケット通信装置100に送信する。パケット通信装置100は、認証要求に含まれるユーザの認証情報を抽出して、認証要求メッセージを作成してユーザ認証サーバ101へ送信する。ユーザ認証サーバ101は、登録されているユーザ端末105に関する認証情報と検疫状態を検索する。認証情報が一致すれば認証がなされ、ユーザ端末102の検疫状態から検疫済みと判断すると、認証されたユーザが接続可能なVLAN情報(通信範囲)106のみをパケット通信装置100へ送信する。パケット通信装置100は、ユーザ端末105のMACアドレスを、ユーザ認証サーバ101から送られてきた通信範囲106に従い所属させることで、業務ネットワーク104へ接続可能になるように制御する。
しかし、全てのユーザ端末が検疫を行なっているとは限らず、実際には検疫を行なっていないユーザ端末も存在する。
次に、ユーザ端末102が、検疫を行なっていない端末である場合に、ユーザ端末102からの認証要求に対し、検疫を行なうサーバ103のみ接続を許可する接続制限情報を用いた認証について説明する。この場合、検疫を行なっていないユーザ端末102が認証要求を行なうと、ユーザ認証サーバ101は、パケット通信装置100を介して送られてくる認証要求のメッセージに含まれる認証情報から、予め登録されている認証情報を検索する。認証情報が一致すればそこで認証がなされ、さらにユーザ認証サーバ101は、パケット通信装置100を介して送られてくる認証要求のメッセージに含まれるユーザ端末102の検疫状態から、検疫が行なわれていないと判断し、ユーザの接続可能な通信範囲106と検疫を行なうサーバ103のみに接続させる接続制限情報を、パケット通信装置100へ送信する。パケット通信装置100は、ユーザ端末102のMACアドレスを、ユーザ認証サーバ101から送られてきた通信範囲106に従って所属させ、接続制限情報から検疫を行なうサーバ103のみ接続可能にすることで、ユーザ端末102を、検疫を行なうサーバ103にのみ接続可能とする制御を行なう。
図2は、接続制限情報を用いた認証処理のシーケンス図である。ユーザ端末102は、業務ネットワーク104へ接続するために、パケット通信装置100に認証要求を送信する(ステップ201)。パケット通信装置100は、この認証要求を受信すると、そのユーザ端末102の認証情報を抽出して(ステップ202)、抽出した認証情報をユーザ認証サーバ101に問い合わせる(ステップ203)。なお、この問い合わせは、例えば後述するRADIUSメッセージによってなされる。この問い合わせの際には、後述するRADIUSメッセージの種類を示すコード(code)が、「Access-Request」のメッセージを送信する。
次に、ユーザ認証サーバ101は、パケット通信装置100からの認証に関する問い合わせメッセージ(RADIUSメッセージ)を受信すると、登録内容からユーザIDとパスワードを確認し、そのユーザを認証するかどうか判断するとともに、ユーザ端末102の検疫情報から、ユーザ端末102を、検疫を行なうサーバ103に接続させる必要があるか判断する(ステップ204)。この判断の結果、ユーザは認証されたが、ユーザ端末102の検疫が必要である場合は、認証結果及び接続制限情報(ユーザ端末102を、検疫を行なうサーバ103にのみ接続させる接続制限情報)をパケット通信装置100に送信する(ステップ205)。ここで送信される情報も、上記のRADIUSメッセージによって構成されており、ユーザ認証サーバ101は、認証を許可する場合にはRADIUSメッセージの種類を示すコードが「Access-Accept」の情報をパケット通信装置100に送信し、また認証が不許可の場合にはRADIUSメッセージの種類を示すコードが「Access-Reject」のRADIUSメッセージをパケット通信装置100に送信する。
次に、パケット通信装置100は、ユーザ認証サーバ101から送信された情報(RADIUSメッセージ)に含まれる認証情報を抽出し(ステップ206)、認証結果が認証を許可することを示す「Access-Accept」のメッセージである場合には、ユーザ端末102(認証要求に対応するユーザ端末102)を、RADIUSメッセージで指定されたVLANに所属させ、ユーザ端末102に対して「Success」のメッセージを送信する(ステップ207)。また、ユーザ認証サーバ101から送信されたRADIUSメッセージに接続制限情報が含まれていた場合は、パケット通信装置100は、ユーザ端末102を指定された接続範囲にのみ接続するよう制御する。また、認証結果が不許可であることを示す「Access-Reject」のメッセージを受信した場合には、パケット通信装置100は、ユーザ端末102をネットワークに接続出来ないよう制御し、ユーザ端末102に対して「Failure」のメッセージを送信する(ステップ207)。
図3は、パケット通信装置100とユーザ認証サーバ101との間で交換されるRADIUSメッセージのパケットフォーマットを示す。RADIUSメッセージは、レイヤ2の送信元アドレスや宛先アドレスを格納するMACヘッダ301と、レイヤ3の送信元アドレスや宛先アドレスを格納するIPヘッダ302と、レイヤ4のUDP(User Datagram Protocol)ヘッダ303と、メッセージ本体であるRADIUS Message 304とから構成されている。
図4は、図3におけるRADIUS Message 304のフォーマットを示す。RADIUS Message 304は、メッセージの種別コードを指定するCode 401と、ユーザ端末102の要求を区別するためのID 402と、メッセージの長さを示すLength 403と、データ隠蔽および整合性保証のための認証符号であるAuthenticator 404と、属性値を示すAttribute 405とから構成されている。例えば、Code 401とRADIUSメッセージの種別との対応としては、図4に示すように「1:Access-Request」、「2:Access-Accept」、「3:Access-Reject」、…などが定義されている。
図5は、図4におけるRADIUS Message 304に含まれるAttribute 405のフォーマットを示す。Attribute 405は、属性の種別を示すType 501と、長さを示すLength 502と、属性の情報を示すString 503とから構成されている。
ここで、図5に示したAttribute 405のType 501に格納される値について説明する。Type 501に格納される値が1の場合はユーザネームを示し、その場合String 503には、例えばユーザ端末102を使用しているユーザのユーザネーム(ユーザID)が格納される。Type 501に格納される値が2の場合はユーザパスワードを示し、その場合String 503には、例えば、あるユーザIDに対応するパスワード「CLIENT-1」が格納される。また、Type 501に格納される値が5の場合は、パケット通信装置100のポートの番号であるNAS-Portを示し、その場合String 503には、例えばユーザ端末102が接続されているパケット通信装置100のポート番号が格納されている。
なお、上述した図2のステップ204(ユーザ認証及びユーザ端末検疫処理)において、ユーザ認証サーバ101がユーザの認証を許可する場合は、ステップ205(ユーザ認証サーバ101がパケット通信装置101にRADIUSメッセージを送信する処理)において送信されるRADIUSメッセージ(図3)のRADIUS Message 304に含まれるAttribute 405(図4)のType 501(図5)には、ユーザ端末のトンネル・タイプを示す「64」が格納され、その場合String 503には、例えばVLANであることを示す「13」の値が格納される。また、Attribute 405のType 501が81の場合は、トンネル・プライベート・グループID(ユーザ端末を所属させるVLAN情報)を示し、その場合String 503には、例えば、所属させるVLANのVLAN-IDを示す「20」の値が格納されている。
また、上述した図2のステップ204(ユーザ認証及びユーザ端末検疫処理)において、ユーザ認証サーバ101が、ユーザ端末102の検疫情報からユーザ端末102の検疫を行なうサーバ103に接続させる必要があると判断した場合は、Attribute 405のType 501に接続制限情報(例えば、図5に示す200:Connection-limit)を指定して、ユーザ端末102の接続範囲の値として格納する。この接続制限情報は、上記の各指定(VLAN情報など)と組み合わせて指定することができる。なお、接続制限を示すAttribute 405のType 501は、図5に示す番号以外の定義でも良い。
図6は、ユーザ端末102とユーザ認証サーバ101の認証を中継するパケット通信装置100の詳細な構成図を示す。
インタフェース制御ユニット612は、Ethernet(登録商標)やPOS(Packet over SONET)といった物理回線を収容し、ISO-OSI参照モデルの物理層の制御を行なうインタフェース制御部である。各インタフェース制御ユニット612には、それぞれを一意に識別する識別情報(図6では、P0〜P3)が割り当てられている。なお、図6においては、このインタフェース制御ユニット612の識別情報(P0〜P3)は、各インタフェース制御ユニット612が接続されている回線(ポート)の識別情報と共通である。これは、パケット通信装置100側からは、P0〜P3はインタフェース制御ユニット612の識別情報として認識され、パケット通信装置100に接続されている装置(ユーザ端末102など)側からは、P0〜P3は、それらの装置とパケット通信装置100(より具体的にはインタフェース制御ユニット612)とを接続するポートの識別情報として認識されるからである。もちろん、インタフェース制御ユニット612の識別情報と、各インタフェース制御ユニット612に接続されたポートの識別情報とを区別して管理しても良い。
また、VLAN制御部609は、VLAN情報記憶部608に格納されている情報の登録/削除/変更/検索を実行するとともに、他の制御部からの要求を受け付ける。VLAN情報記憶部608は、パケット通信装置100に設定されているVLAN情報、あるVLANに所属しているインタフェース制御ユニット612に関する情報、および認証制御部601によって決定された認証情報(通信可否情報)を格納する。
インタフェース管理部613は、インタフェース情報記憶部614に格納されている情報の登録/削除/変更/検索を実行するとともに、他の制御部からの要求を受け付ける。インタフェース情報記憶部614は、ユーザ端末102、およびサーバ(ユーザ認証サーバ101や検疫サーバ103)が接続されているインタフェース制御ユニット612に関する情報を格納する。
MACアドレス制御部611は、MACアドレス情報記憶部610に格納されている情報の登録/削除/変更/検索を実行するとともに、他の制御部からの要求を受け付ける。MACアドレス情報記憶部610は、インタフェース制御ユニット612が受信した中継パケットの送信元MACアドレスや、そのパケットを受信したインタフェース制御ユニット612に関する情報を格納する(図7)。
接続制限制御部604は、認証制御部601から受信した接続制限情報や接続指示に従い、転送制御情報記憶部603に格納されている情報の登録/削除/変更/検索を実行する。転送制御情報記憶部603は、接続制限制御部604が受信した接続制限情報などを格納する(図12)。
認証制御部601は、インタフェース制御ユニット612が受信した認証要求パケットから認証情報を抽出し、ユーザ端末102(とユーザ認証サーバ101)との認証処理を行い、認証中のユーザ端末102の状態を認証状態600に登録するとともに、認証に応じてVLAN制御部609、および接続制限制御部604に対して所定の指示する。認証状態記憶部600は、認証制御部601で行なわれる認証処理中のユーザ端末102の状態を記憶する。
ルーティング経路計算部602は、ルーティングプロトコルによってネットワーク間のルーティング経路を計算し、送信先インタフェース制御ユニット612を決定するルーティングテーブル605を作成する。ルーティングテーブル管理部607は、ルーティング経路計算部602の指示に従い、ルーティングテーブル605の登録/削除を行なう。ルーティングテーブル605は、ルーティングテーブル管理部607によって作成されたルーティングテーブルを格納する。
図7は、図6におけるMACアドレス情報記憶部610に記憶されるデータ(データテーブル)のフォーマットを示す。MACアドレス情報記憶部610に記憶されるデータテーブルの各エントリは、MACアドレスを示すアドレスフィールド700と、VLAN情報(VLAN識別情報)を示すVLANフィールド701と、インタフェース制御ユニット612の識別情報(識別情報)を示す送信ポートフィールド702を含む。ここで、図7に示すテーブルの各エントリは、インタフェース制御ユニット612から受信したパケットを中継する際、受信したパケットのVLAN情報とVLANフィールド701に登録されているVLAN情報が一致し、かつ受信したパケットの宛先アドレスとアドレスフィールド700に登録されているMACアドレスが一致した場合、同じエントリの送信ポートフィールド702に示されるインタフェース制御ユニット612から、その受信したパケットを送信することを表している。
図8は、ユーザ端末102から業務ネットワーク104宛のパケットを受信したパケット通信装置100が、パケットを中継または廃棄するまでの処理フローを示す。ユーザ端末102から業務ネットワーク104宛のパケットを受信(図6の太線(1))したインタフェース制御ユニット612は、受信したパケットの種類を判別する(ステップ800)。パケットの種類が中継パケットである場合は、インタフェース制御ユニット612は中継処理を行なう(ステップ801)。ステップ801の中継処理(パケット送信処理)の詳細は、後述する図9において詳細に説明する。
ステップ800の判別の結果、パケットの種類が、ユーザ認証サーバ101からのRADIUSメッセージの認証パケット(図2のステップ205で送信されるパケット)または、ユーザ端末102からの認証要求(図2のステップ201)である場合は、インタフェース制御ユニット612は、そのパケットを認証制御部601に送信し、認証制御部601は認証処理を行なう(ステップ802)。ステップ802の処理の詳細は、後述する図10において詳細に説明する。
ステップ802において認証処理を行った結果、認証制御部601が、受信した認証要求に対して接続制限の設定が必要であると判断した場合は、認証制御部601は、接続制限情報を接続制限制御部604へ送信して(図6の太線(3))、転送制御情報を設定する(処理804)。ステップ804の処理の詳細は、後述する図11において詳細に説明する。
また、認証制御部601は、ユーザ端末102のVLAN情報設定が必要であると判断した場合は、VLAN制御部609へそのVLAN情報を送信して(図6中の(4))、VLAN制御部609は、そのVLAN情報をVLAN情報記憶部608に登録する(処理803)。ステップ802において、認証制御部601が、受信した認証要求に対して接続制限情報設定もVLAN情報設定も必要ないと判断された場合は、認証制御部604は、指定されたインタフェース制御ユニット612へパケットを送信する(図6中の(2))。また、ステップ803でVLAN情報が登録された後及びステップ804で転送制御情報が設定された後も、パケット通信装置100は、指定されたインタフェース制御ユニット612へパケットを送信する(図6中の(2))。
なお、ステップ801(パケット中継処理)において、そのパケットは送信されるパケットであると判定された場合は、インタフェース制御ユニット612は、指定された(他の)インタフェース制御ユニット612へそのパケットを送信し、そのパケットは廃棄されるパケットであると判定された場合は、インタフェース制御ユニット612は、そのパケットを廃棄する。
図9は、パケット中継処理(図8のステップ801)における、レイヤ2中継およびレイヤ3中継の処理フローを示す。パケット通信装置100のインタフェース制御ユニット612は、その接続されているユーザ端末102から、業務ネットワーク104に接続されている他の端末(本実施形態では、例えば、MACアドレスが「00:00:44:44:44:44」、VLAN情報が「10」である端末)宛の中継パケットを受信すると、パケット通信装置100のVLAN制御部609は、そのパケットのVLAN情報(ユーザ端末102のVLAN情報10)の通信可否の状態を検索する(ステップ900)。通信可否の状態が「否」の場合には、インタフェース制御ユニット612は、そのパケットの廃棄要求を指示する(ステップ902)。ステップ900において、通信可否の状態が「可」の場合には、インタフェース制御ユニット612は、そのユーザ端末102が所属しているVLANが設定されている全インタフェース制御ユニット612の情報を、MACアドレス制御部611へ送信する。
MACアドレス制御部611は、インタフェース制御ユニット612から受信したユーザ端末102の中継パケットに含まれる送信元MACアドレス(例えば、図6では、ユーザ端末102のMACアドレス「00:00:11:11:11:11」)とVLAN情報(図6では、ユーザ端末102が所属するVLAN「10」)が、MACアドレス情報記憶部610のデータテーブルに登録されているか否かを判断し、登録されていない場合は、受信したパケットのMACアドレス「00:00:11:11:11:11」とVLAN情報「10」を、MACアドレス情報記憶部610のテーブルの新しいエントリとして、図7に示すテーブルのアドレスフィールド700とVLANフィールド701にそれぞれ登録する(ステップ901)。また、MACアドレス制御部611は、パケットを受信したインタフェース制御ユニット612の識別情報(図6では、ユーザ端末102が接続されているインタフェース制御ユニット612の識別情報である「P0」:なお、この識別情報は、ユーザ端末102が接続されているポートの識別情報でもある)を、MACアドレス情報記憶部610のテーブルの送信ポートフィールド702に登録する(ステップ901)。つまり、この例では、図7のテーブルのエントリ#1に示すエントリが登録される。
次に、MACアドレス制御部611は、インタフェース制御ユニット612が受信したパケットの宛先アドレスである端末のMACアドレス(例えば、そのパケットの宛先MACアドレスが「00:00:44:44:44:44」であるとする)が、MACアドレス情報記憶部610(図7)のアドレスフィールド700に登録済であるか否かを検索する(ステップ903)。検索の結果、登録されている場合は、さらに、MACアドレス制御部611は、その受信したパケットの宛先ネットワークが同一ネットワーク内の通信であるか否か(つまり、そのパケットの宛先端末のVLAN情報と、図7のテーブルに登録されているMACアドレス「00:00:44:44:44:44」に対応するVLAN情報「10」が一致するか否か)を判断する(ステップ909)。同一ネットワークである場合(つまり、VLAN情報が一致する場合)は、MACアドレス情報記憶部610に登録されているエントリのMACアドレス「00:00:44:44:44:44」に対応する送信ポートフィールド702の内容に従って、MACアドレス制御部611は、そのパケットを送信するインタフェース制御ユニットの送信ポート情報(図7の例では、P3)を取得する(処理905)。
一方、ステップ903の検索において、受信したパケットの宛先アドレスである端末のMACアドレスがMACアドレス情報記憶部610に登録済であるが、ステップ909の判断において、その受信したパケットの宛先ネットワークが異なる場合(つまり、受信したパケットの宛先端末のVLAN情報と、MACアドレス情報記憶部610において、その宛先端末のMACアドレスに対応するVLAN情報とが一致しない場合)は、レイヤ2以上で送信先インタフェース制御ユニット612を判定する必要があるので、パケット通信装置100は、ルーティングテーブル605から、そのパケットを送信するインタフェース制御ユニット612の情報(インタフェース制御ユニット612に割り当てられた送信ポート情報)を取得する(ステップ904)。
また、ステップ903の検索において、受信したパケットの宛先アドレスである端末のMACアドレスがMACアドレス情報記憶部610に登録されていない場合、または受信したパケットの宛先アドレスがブロードキャストである場合は、パケット通信装置100は、VLAN制御部609がVLAN情報記憶部608から取得したVLAN情報をもとに、送信元であるユーザ端末102が所属しているVLANが設定されている全インタフェース制御ユニット612を、そのパケットの送信先インタフェース制御ユニット612とする。
ステップ903、ステップ904、またはステップ905によって、パケットの送信先インタフェース制御ユニット612が決定されると、次に、接続制限制御部604は、転送制御情報記憶部603を検索して、ユーザ端末102に関してパケットの転送制御情報(転送制限情報)があるか否かを判断し(ステップ906)、転送制限情報がある場合は、接続制限制御部604は、その制限情報に従って、パケットの送信先インタフェース制御ユニット612を変更する(ステップ907)。ステップ907の処理の詳細も、後述する図11において説明する。一方、ステップ906において、転送制御情報記憶部603に、ユーザ端末102に対する転送制御情報が無い場合は、ステップ903、ステップ904、またはステップ905において決定された送信先インタフェース制御ユニット612(又はそのインタフェース制御ユニット612に接続される送信先ポート)に対してパケットを送信する(ステップ908)。
ここで、認証制御部601が認証制御を行なっている場合の、パケット中継処理801(図8)について説明する。図9において説明した通常のレイヤ2中継およびレイヤ3中継の中継処理フローの説明において、認証制御部601が認証制御を行っていた場合、認証結果に応じてVLAN情報の通信可否の状態の判断(ステップ900)の結果が変化する。認証結果が認証成功であった場合、通信可否の状態検索結果は可となり、認証失敗であった場合、通信可否の状態検索結果は否となる。通信可否の状態が可のときは、図9のステップ901、903〜909に示す通常のレイヤ2中継およびレイヤ3中継の中継処理フローと同様のフローとなり、通信可否の状態が否のときは、認証制御部601はパケットの廃棄要求を指示し(ステップ902)、認証失敗した端末からのパケットを廃棄して、処理を終了する。
図10は、パケットの認証処理(図8のステップ802)の詳細な処理フローを示す。図8において説明したように、図8のステップ800で、パケットの種類が認証パケットであると判断された場合に、ステップ802の認証処理が行われる。ここで、「認証パケットである」とは、ユーザ認証サーバ101から送信されてインタフェース制御ユニット612が受信したパケットが、認証要求を行ったユーザ端末102の認証結果(例えば「Access-Accept」)と、パケットに含まれるRADIUS MessageのAttributeとしてVLAN情報(例えば、ユーザ端末102のVLAN情報である「10」)と、ユーザ端末102に関する接続制限情報(例えば、「検疫サーバ103にのみ接続可能」という情報)とを含むRADIUSメッセージを持つパケットであることを意味する。インタフェース制御ユニット612は、その認証パケットを認証制御部601に送信する。
まず、認証制御部601は、受信した認証パケット(認証メッセージ)の種別判定を行なう(ステップ1000)。上述の通り、本実施形態に示す例の場合、認証メッセージの種別は、ユーザ認証サーバ101からの認証結果であるため、認証制御部601は、その認証結果を判断する(ステップ1003)。ここで、受信した認証メッセージが、ユーザ端末102からの認証要求、または認証過程で発生するRADIUSメッセージであった場合は、認証制御部601は、その認証メッセージに含まれる認証情報を抽出して、パケットの送信先として、ユーザ認証サーバ101が接続されている送信先インタフェース制御ユニット612を指定し、認証状態記憶部600に記憶される認証状態を、「ユーザ認証サーバ101への問い合わせ中」に設定して記憶し(処理1001)、処理を終了する。また、受信した認証メッセージが、認証結果ではなくユーザ認証サーバからの認証過程で発生するRADIUSメッセージであった場合は、認証制御部601は、その認証メッセージに含まれる認証情報を抽出して、パケットの送信先として、ユーザ端末102が接続されている送信先インタフェース制御ユニット612を指定し、認証状態記憶部600に記憶される認証状態600を、「ユーザ端末への問い合わせ中」に設定して記憶し(処理1002)、処理を終了する。
ステップ1000において、受信した認証メッセージの種別が「認証結果」であると判定された場合は、認証制御部601は、その認証結果を判断する(1003)。判断の結果、ユーザ端末102の認証結果がAccess-Acceptであった場合は、認証状態記憶部600に記憶された認証状態(ユーザ端末102に対応する認証状態)を「認証成功」として登録(または更新)する(ステップ1004)。また認証制御部601は、受信した認証メッセージにVLAN情報が含まれているか否かを判断する(ステップ1005)。上述のとおり、本実施形態に示す例の場合、認証メッセージにはVLAN情報が含まれているので、認証制御部601は、VLAN制御部609に対して、ユーザ端末102を所属させるVLAN情報「10」を送信するとともに(ステップ1008)、VLAN制御部609に対して、所属させたVLANの通信可否の状態を可にする指示を送信する(ステップ1009)。なお、ステップ1008において、受信した認証メッセージにVLAN情報が含まれていない場合にも、認証結果が「Access-Accept」であることには変わりないので、ステップ1009において、認証制御部601は、VLAN制御部609に対して、ユーザ端末102の通信可否の状態を可にする指示を送信する。VLAN制御部609は、上記指示を受けて、VLAN情報記憶部608の、ユーザ端末102の通信可否状態を「可」に設定(または変更)する。
次に、認証制御部601は、認証メッセージに、接続制限情報が含まれているか否かを判断する(ステップ1011)。上述の通り、本実施形態に示す例の場合、認証メッセージには、「検疫を行なうサーバ103のみ接続可能」とする接続制限情報が含まれているため、認証制御部601は、接続制限制御部604に対し、その接続制限情報を送信する(ステップ1012)。なお、接続制限情報が含まれていない場合は、認証制御部601は、接続制限制御部604に対し、接続制限情報を初期化する指示を送信し(ステップ1013)、接続制限制御部604は、接続制御情報記憶部603に、接続制限情報を初期化する情報を記憶する。
一方、ステップ1003における認証結果の判断の結果、ユーザ端末102の認証結果が「Access-Reject」であった場合は、認証制御部601は、認証状態記憶部600のユーザ端末102に対応する認証状態を「認証失敗」として登録(または更新)する(ステップ1005)。ここで、パケット通信装置100において、「認証失敗したユーザ端末に対して特定のVLANに所属させる設定」が予めなされているか否かを判断し(ステップ1007)、予め設定されている場合は(ステップ1007:Yes)、認証制御部601は、VLAN制御部609に対して、その予め設定されている特定のVLAN情報を送信し(ステップ1008)、以降の処理を行なう。また、パケット通信装置100において、「認証失敗したユーザ端末に対して特定のVLANに所属させる設定」が予めなされていない場合(つまり、認証失敗したユーザ端末の通信を不可とする設定がなされている場合)は(ステップ1007:No)、認証制御部601は、VLAN制御部609に対して、ユーザ端末102の所属するVLANの通信可否の状態を否にする指示を送信する(処理1010)。VLAN制御部609は、VLAN情報記憶部608における、ユーザ端末102の所属するVLANの通信可否の状態を「否」として記憶する。認証を失敗したユーザ端末の転送制御情報は不要なため、認証制御部601は、接続制限制御部604に対して、転送制御情報記憶部603に記憶された制御情報(接続制限情報)であって、認証を失敗したユーザ端末102の転送制御情報を初期化する指示を送信する(処理1013)。接続制限制御部604は、転送制御情報記憶部603に記憶された転送制御情報であって、認証を失敗したユーザ端末102に対応する転送制御情報を初期化する。
図11は、図8のステップ804における接続制限処理の詳細なフローを示す。図8において説明したように、図8のステップ802において、認証パケットの認証処理が行われる。そして、ユーザ認証サーバ101から、ウィルスに感染している(または検疫が完了していない)ユーザ端末102(例えば、図6に示す例では、MACアドレスが「00:00:11:11:11:11」)の認証結果(Access-Accept)と、パケットに含まれるRADIUS MessageのAttributeとしてVLAN情報(例えば、ユーザ端末102のVLAN情報「10」)と、ユーザ端末102に関する接続制限情報(例えば、ユーザ端末102を、その検疫を行なう検疫サーバ103(例えば、図6に示す例では、MACアドレスが「00:00:33:33:33:33」、VLAN情報が「10」)にのみ接続させるという制限情報)とを含むRADIUSメッセージを、インタフェース制御ユニット612が受信すると、認証制御部601は、接続制限制御部604へ接続制限情報を送信する。
接続制限制御部604は、受信した接続制限情報の要求内容を判定する(ステップ1100)。要求内容が「転送制御情報初期化」である場合(図10のステップ1013)、接続制限制御部604は、転送制御情報記憶部603にアクセスして、対象のユーザ端末102に関する転送制御情報を検索し(ステップ1102)、そのユーザ端末に関する転送制御情報がある場合は、その転送制御情報の初期化を行なう(ステップ1104)。ユーザ端末に関する転送制御情報が転送制御情報記憶部603にない場合は、接続制限処理を終了する。ステップ1100の判定の結果、受信した接続制限情報の要求内容が「接続制限情報の設定」であった場合(図10のステップ1012)、接続制限制御部604は、受信した接続制限情報に従い、ユーザ端末102が通信可能な範囲の情報を作成し(ステップ1101)、転送制御情報記憶部603に、対象のユーザ端末102の転送制御情報を設定する(ステップ1103)。
ここで、上述した「検疫サーバ103(MACアドレス「00:00:33:33:33:33」、VLAN情報「10」)にのみ接続させる接続制限情報」について説明する。接続制限情報は、VLAN「10」の通信可能な範囲の中に更に細かく通信範囲を規定した情報である。例えば、ユーザ端末102はVLAN-ID「10」のVLANに所属し、VLAN「10」内であれば通信可能な範囲であるが、この接続制限情報により、VLAN「10」内であっても、検疫サーバ103にのみ通信が可能(検疫サーバ103以外の装置との通信は制限される)となるため、パケット通信装置100は、受信したパケットを検疫サーバ103に送信する。
例えば、接続制限情報として、インタフェース制御ユニット612に割り当てられたポート情報を用いた場合について説明する。要求判定(ステップ1100)により、「接続制限情報の設定」であるため、接続制限制御部604は、該当するユーザ端末102の通信範囲情報を作成する(ステップ1101)。ここで、ポート情報を用いた場合のユーザ端末102の通信範囲情報は、ユーザ端末102が接続するポート情報をもとに作成された複数のポート情報であって、その複数のポート情報のなかで通信可能なポート情報の範囲を表す。
ここで、便宜上、ユーザ端末102が接続するポートP0をもとに作成された複数のポートをP0-0、P0-1、P0-2、…と表す。例えば、ユーザ端末102が接続するポートP0をもとに作成したポート情報をP0-0とし、検疫サーバ103が接続するポートP2をもとに作成したポート情報をP2-0とする。すると、P0-0の通信可能な範囲の情報は、「検疫サーバ103にのみ接続させる接続制限情報」に基づき、検疫サーバ103が接続されているポートP2-0のみとなる。なお、接続するポートをもとに作成するポート情報は、1つのポートに複数設定することができる。また、通信可能な範囲のポート情報の代わりに、通信不可能な範囲のポート情報としても良い。また、接続制限情報として複数の接続範囲を指定しても良い。
図12は、ポート情報を用いてステップ1103によって作成された接続制限情報(転送制御情報記憶部603に記憶される情報)の一例を示す。接続制限情報の各エントリは、VLAN情報(VLAN-ID)を格納するVLANフィールド1600と、インタフェース制御ユニット612が接続されている装置またはネットワークのMACアドレスを格納するアドレスフィールド1601と、パケット送信元の装置(端末)が接続しているインタフェース制御ユニット612の識別情報を格納する接続ポートフィールド1602と、接続ポートフィールド1602に格納された接続ポート情報をもとに作成されたポート情報を格納する接続ポート内ポート情報フィールド1603と、パケット送信元の装置(端末)が通信可能な接続ポート内ポート情報1603の情報を格納する接続可能接続ポート内ポート情報フィールド1604と、パケット送信先のインタフェース制御ユニット612の識別情報を格納する送信ポートフィールド1605を含む。
ここで、図12に示す転送制御情報(または接続制限情報)の各エントリは、インタフェース制御ユニット612から受信したパケットを中継する際、パケットのVLAN情報とVLANフィールド1600に登録されているVLAN情報が一致し、且つパケットの送信元アドレスとアドレスフィールド1601に登録されているアドレスが一致した場合、図9のステップ903、ステップ904、またはステップ905によって決定された送信先インタフェース制御ユニット612(またはインタフェース制御ユニット612に対応する送信ポート)と、図12の送信ポートフィールド1605を比較し、送信ポートフィールド1605に登録されている送信ポート以外の送信ポート(またはインタフェース制御ユニット612)を削除することで、パケット送信先である送信ポートを変更する(図9のステップ907)。
なお、ネットワーク接続要求を行なったユーザ端末に対して接続制限情報がない場合は、パケット通信装置100は、そのユーザ端末をネットワーク(業務ネットワーク104)に接続する制御を行なう。また、ネットワーク接続要求を行なったユーザ端末に対して接続制限情報がある場合であっても、上記の通り接続制限情報に従って検疫サーバに接続され、そのユーザ端末の検疫が正常に行なわれた場合は、同様にパケット通信装置100は、そのユーザ端末をネットワーク(業務ネットワーク104)に接続する制御を行なう。これにより、ユーザ端末はネットワークに接続することが可能となる。
また、ネットワーク接続要求を行なったユーザ端末に対して接続制限情報がある場合であっても、上記の通り接続制限情報に従って検疫サーバに接続され、そのユーザ端末の検疫が正常に行なわれた場合は、パケット通信装置100が有するそのユーザ端末に対応する接続制限情報(転送制御情報記憶部603に記憶されている)は、初期化される。これにより、以降同じユーザ端末からネットワーク接続要求が来た場合は、すでに検疫が完了しているので、接続制限を行なうことなく、パケット通信装置100は、そのユーザ端末からの要求に応じて、パケット中継を行なうことができる。
本実施例の他の構成例を以下に記載する。
パケットの送受信を行なう複数のインタフェース制御ユニットと、前記インタフェース制御ユニットで受信したパケットの送信元MACアドレスを登録し、送信すべきインタフェース制御ユニットを特定する情報を含むMACアドレス情報と、パケットの所属するVLANを特定するVLAN-Tag情報を含むVLAN情報と、パケットの転送に関する制御情報を含む転送制御情報と、前記アドレス情報で送信すべきインタフェース制御ユニットを特定できなかった場合に、ルーティング経路を定めるルーティングテーブルを計算するルーティング経路計算部と、計算されたルーティング情報を保持し、ネットワーク間の中継を行なうために送信すべきインタフェース制御ユニットを特定する情報を含むルーティングテーブルと前記転送制御情報から、前記複数のインタフェース制御ユニットの中から選択された一つのインタフェース制御ユニットへパケットを中継するパケット通信装置が提供される。
また、前記パケット通信装置は、ネットワークを介して配されたユーザ端末と検疫を行なうサーバ及び業務ネットワークに接続されたユーザ端末間でパケットを送受信するネットワークシステムにおけるパケット通信装置である。また、前記パケット通信装置は、インタフェース制御ユニットで受信したユーザ端末の認証要求からユーザの認証情報を抽出し、認証要求メッセージを作成してユーザ認証サーバに送ることで、ユーザ端末の認証処理を行い、ユーザ認証サーバから受信した認証結果にもとづいて、ユーザ端末の状態を接続状態、非接続状態のいずれかの状態に変更する指示を行なうパケット通信装置である。また、前記パケット通信装置は、ユーザ認証サーバから受信した認証結果にVLAN情報と接続制限情報とを含まれていると、VLAN情報に従ってユーザ端末をVLANに所属させ、接続制限情報に従ってユーザ端末の通信可能範囲を決定し、インタフェース制御ユニットで受信したユーザ端末からのパケットを受信すると通信可能範囲にのみ転送を行なうパケット通信装置である。
このようなパケット通信装置によれば、ユーザ端末のネットワークアドレスによらず、接続制限情報によってユーザ端末毎に通信可能範囲を設定できることから、同一ネットワークのユーザ端末間の通信であっても、通信を許す端末と許さない端末を設定することが可能となることから、ユーザ端末のネットワークアドレスを変更せずに通信範囲の切り替えをすることができる。
100:パケット通信装置、101:ユーザ認証サーバ、102:ユーザ端末、103:検疫サーバ、104:業務ネットワーク、601:認証制御部、604:接続制限制御部、612:インタフェース制御ユニット