(57)【要約】      （修正有）【課題】不正なパケットによる攻撃を防ぐ通信システム及び通信方法を提供する。【解決手段】通信システムは、認証装置と、内部のネットワークと外部のネットワークとの間に設けられた中継装置とを有する。認証装置は、認証の実行を要求する認証要求を受信した場合に、認証要求の送信元の装置について認証を実行する認証部と、認証部による認証が成功した場合に、送信元の装置について認証が成功したことを表す識別子を、送信元の装置及び中継装置に送信する第１送信部とを有する。中継装置は、認証装置から受信した１又は複数の識別子を格納するデータ格納部と、外部のネットワークを介して受信したパケットが、データ格納部に格納されている１又は複数の識別子のいずれかと同じ識別子を含む場合、受信したパケットを内部のネットワーク内の装置に転送するフィルタリング部とを有する。【選択図】図１
2016021621.tif 000002
【特許請求の範囲】
【請求項１】
認証装置と、
内部のネットワークと外部のネットワークとの間に設けられた中継装置と、
を有し、
前記認証装置は、
認証の実行を要求する認証要求を受信した場合に、前記認証要求の送信元の装置について前記認証を実行する認証部と、
前記認証部による前記認証が成功した場合に、前記送信元の装置について前記認証が成功したことを表す識別子を、前記送信元の装置及び前記中継装置に送信する第１送信部と、
を有し、
前記中継装置は、
前記認証装置から受信した１又は複数の前記識別子を格納するデータ格納部と、
前記外部のネットワークを介して受信したパケットが、前記データ格納部に格納されている１又は複数の前記識別子のいずれかと同じ識別子を含む場合、前記受信したパケットを前記内部のネットワーク内の装置に転送するフィルタリング部と、
を有する通信システム。
【請求項２】
前記第１送信部は、
前記認証部による前記認証が成功した場合に、前記中継装置に、前記識別子の有効期限を示す情報を送信し、
前記データ格納部は、
前記識別子に対応付けて当該識別子の有効期限を示す情報をさらに格納し、
前記フィルタリング部は、
有効期限を過ぎた識別子を前記データ格納部から削除する
請求項１記載の通信システム。
【請求項３】
前記フィルタリング部は、
前記内部のネットワーク内の装置から受信したパケットが、前記データ格納部に格納されている１又は複数の前記識別子のいずれかと同じ識別子を含む場合、当該パケットを前記外部のネットワーク内の装置に転送する
請求項１又は２記載の通信システム。
【請求項４】
宛先が前記内部のネットワーク内の装置であるパケットを送信する第１の装置
をさらに有し、
前記第１の装置は、
前記認証装置から受信した識別子を暗号化し、暗号化された当該識別子を、前記宛先が前記内部のネットワーク内の装置であるパケットの所定の部分に設定する暗号化部と、
暗号化された前記識別子を含むパケットを送信する第２送信部と、
を有し、
前記中継装置は、
前記第１の装置から受信したパケットに含まれる暗号化された前記識別子を復号化する復号化部
をさらに有する請求項１乃至３のいずれか１つ記載の通信システム。
【請求項５】
認証装置と、内部のネットワークと外部のネットワークとの間に設けられた中継装置とを有する通信システムにおいて、
前記認証装置は、認証の実行を要求する認証要求を受信した場合に、前記認証要求の送信元の装置について前記認証を実行し、
前記認証装置は、前記認証が成功した場合に、前記送信元の装置について前記認証が成功したことを表す識別子を、前記送信元の装置及び前記中継装置に送信し、
前記中継装置は、前記外部のネットワークを介して受信したパケットが、データ格納部に格納されている、前記認証装置から受信した１又は複数の前記識別子のいずれかと同じ識別子を含む場合、前記受信したパケットを前記内部のネットワーク内の装置に転送する
処理を実行する通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、不正パケットの検出技術に関する。
【背景技術】
【０００２】
ＤｏＳ（Denial of Service）攻撃とは、サービスを提供するサーバ等に対して行われる攻撃であり、サービスを提供できない状態にすることを目的として行われる。特にＤＤｏＳ攻撃（Distributed Denial of Service）は、多数のコンピュータ（踏み台と呼ばれる）が特定のサーバ等にパケットを一斉に送りつけることでサービスを提供できない状態にする攻撃であり、分散型サービス拒否攻撃とも呼ばれる。
【０００３】
悪意のある攻撃者からの不正なパケットを検出する技術として、ファイアウォールが知られている。例えば或る文献には、ファイアウォール装置が、受け取ったＩＰパケットのヘッダ情報に基づき不正パケットを検出することが開示されている。
【０００４】
また、ファイアウォールでは検出できないパケットを検出する技術としてＩＤＳ（Intrusion Detection System）が知られている。例えば或る文献には、既知の攻撃についての情報であるシグネチャを予め定義しておき、監視の対象に発生した事象が攻撃に該当するか否かをシグネチャを用いて判定することが開示されている。
【０００５】
しかし、ＤＤｏＳ攻撃に使用されるパケットは、攻撃元を特定できないようにするため、適正なパケットであるかのように情報（例えばＩＰアドレス）が偽装されることがある。また、ＤＤｏＳ攻撃に使用されるパケットは、例えばＨＴＴＰ（Hyper Text Transfer Protocol）等、通常のパケットにもよく利用されるプロトコルによって送信される。
【０００６】
そのため、上記のような技術を利用したとしてもＤＤｏＳ攻撃のパケットと通常のパケットとを区別できず、攻撃を防げないことがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−３０４７５２号公報
【特許文献２】特開２００２−２５２６５４号公報
【特許文献３】特表２００８−５０８８０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従って、本発明の目的は、１つの側面では、不正なパケットによる攻撃を防ぐための技術を提供することである。
【課題を解決するための手段】
【０００９】
本発明に係る通信システムは、認証装置と、内部のネットワークと外部のネットワークとの間に設けられた中継装置とを有する。そして、上で述べた認証装置は、認証の実行を要求する認証要求を受信した場合に、認証要求の送信元の装置について認証を実行する認証部と、認証部による認証が成功した場合に、送信元の装置について認証が成功したことを表す識別子を、送信元の装置及び中継装置に送信する第１送信部とを有する。そして、上で述べた中継装置は、認証装置から受信した１又は複数の識別子を格納するデータ格納部と、外部のネットワークを介して受信したパケットが、データ格納部に格納されている１又は複数の識別子のいずれかと同じ識別子を含む場合、受信したパケットを内部のネットワーク内の装置に転送するフィルタリング部とを有する。
【発明の効果】
【００１０】
１つの側面では、不正なパケットによる攻撃を防げるようになる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施の形態のシステム概要を示す図である。
【図２】図２は、ゲートウェイ装置の機能ブロック図である。
【図３】図３は、認証サーバの機能ブロック図である。
【図４】図４は、ウェブサーバの機能ブロック図である。
【図５】図５は、ユーザ端末の機能ブロック図である。
【図６】図６は、認証サーバの管理テーブル格納部に格納されるデータの一例を示す図である。
【図７】図７は、ゲートウェイ装置の管理テーブル格納部に格納されるデータの一例を示す図である。
【図８】図８は、ユーザ端末がウェブサーバとの通信を開始する場合に実行する処理の処理フローを示す図である。
【図９】図９は、要求パケットの構造を示す図である。
【図１０】図１０は、認証サーバがユーザ端末からログイン要求を受信した場合に実行する処理の処理フローを示す図である。
【図１１】図１１は、ゲートウェイ装置が認証サーバからユーザＩＤ及び有効期限を示す情報を受信した場合に実行する処理の処理フローを示す図である。
【図１２】図１２は、ゲートウェイ装置が外部ネットワークから受信したパケットに対して実行する処理の処理フローを示す図である。
【図１３】図１３は、ゲートウェイ装置が内部ネットワークから受信したパケットに対して実行する処理の処理フローを示す図である。
【図１４】図１４は、ユーザ端末がウェブサーバとの通信を終了する場合に実行する処理の処理フローを示す図である。
【図１５】図１５は、認証サーバがユーザ端末からログアウト要求を受信した場合に実行する処理の処理フローを示す図である。
【図１６】図１６は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１２】
図１に、本実施の形態のシステム概要を示す。ゲートウェイ装置１は、例えば企業の社内ネットワーク等である内部ネットワーク６と、外部ネットワーク９との間に設置される。ゲートウェイ装置１には、ウェブコンテンツを提供するウェブサーバ５が内部ネットワーク６によって接続される。また、ゲートウェイ装置１には、認証サーバ３が接続される。認証サーバ３は公開されたサーバであり、外部ネットワーク９に接続される。ユーザ端末７は、外部ネットワーク９に接続されており、外部ネットワーク９を介して認証サーバ３にアクセスすることができる。図１においてはユーザ端末７の数は１であるが、数に限定は無い。
【００１３】
図２に、ゲートウェイ装置１の機能ブロック図を示す。ゲートウェイ装置１は、転送部１０と、フィルタリング部１１と、管理テーブル格納部１２と、復号化部１３と、ポート１４乃至１６とを含む。
【００１４】
転送部１０は、ポート１４乃至１６から受け取ったパケットのコピーをフィルタリング部１１に出力する。フィルタリング部１１は、受け取ったパケットを復号化部１３に出力する。復号化部１３は、受け取ったパケットに含まれ且つ暗号化されたユーザＩＤ（IDentifier）を復号化し、フィルタリング部１１に出力する。フィルタリング部１１は、復号化部１３から受け取ったユーザＩＤと、管理テーブル格納部１２に格納されているデータとを用いて、パケットを廃棄するか判断し、判断結果を転送部１０に通知する。転送部１０は、パケットを廃棄しないことを示す判断結果及び復号化後のユーザＩＤをフィルタリング部１１から受け取った場合に、受け取ったパケットに含まれ且つ暗号化されたユーザＩＤを、復号化後のユーザＩＤで置き換える。そして、転送部１０は、復号化後のユーザＩＤを含むパケットを、宛先の装置に転送するためのポートに出力する。
【００１５】
図３に、認証サーバ３の機能ブロック図を示す。認証サーバ３は、認証部３１と、通信部３２と、管理テーブル格納部３３とを含む。
【００１６】
認証部３１は、ログインを要求するログイン要求を通信部３２から受け取った場合に、ログイン要求の送信元のユーザ端末７について、よく知られた認証処理を実行する。認証が成功した場合、認証部３１は、ユーザＩＤを発行し、ユーザＩＤ及びユーザＩＤの有効期限を示す情報を管理テーブル格納部３３に格納するとともに、通信部３２に出力する。通信部３２は、ユーザＩＤ及び有効期限を示す情報をゲートウェイ装置１に送信する。また、通信部３２は、ユーザＩＤをログイン要求の送信元のユーザ端末７に送信する。
【００１７】
図４に、ウェブサーバ５の機能ブロック図を示す。ウェブサーバ５は、通信部５１を含む。
【００１８】
通信部５１は、ユーザ端末７から受信した要求パケットからユーザＩＤを取り出す。通信部５１は、取り出したユーザＩＤを、要求パケットに対する応答パケットのオプション部に設定し、ユーザＩＤが設定された応答パケットを送信する。
【００１９】
図５に、ユーザ端末７の機能ブロック図を示す。ユーザ端末７は、暗号化部７１と、通信部７２とを含む。
【００２０】
暗号化部７１は、認証サーバ３から受信したユーザＩＤを暗号化し、宛先がウェブサーバ５である要求パケットのヘッダにおけるオプション部に設定する。通信部５１は、暗号化されたユーザＩＤがオプション部に設定された要求パケットを送信する。
【００２１】
図６に、認証サーバ３の管理テーブル格納部３３に格納されるデータの一例を示す。図６の例では、通番と、ユーザＩＤとが格納される。
【００２２】
図７に、ゲートウェイ装置１の管理テーブル格納部１２に格納されるデータの一例を示す。図７の例では、通番と、ユーザＩＤと、ユーザＩＤの有効期限を示す情報とが格納される。有効期限を過ぎたユーザＩＤは、フィルタリング部１１により削除される。そして、ゲートウェイ装置１の管理テーブル格納部１２から削除されたユーザＩＤは認証サーバ３に通知され、認証サーバ３の管理テーブル格納部３３からも削除される。
【００２３】
次に、図８乃至図１５を用いて、本実施の形態のシステムにおいて行われる処理について説明する。まず、図８及び図９を用いて、ユーザ端末７がウェブサーバ５との通信を開始する場合に実行する処理について説明する。
【００２４】
まず、ユーザ端末７の通信部７２は、認証に使用されるログインＩＤ及びパスワード等を含むログイン要求を生成し、生成されたログイン要求を認証サーバ３に送信する（図８：ステップＳ１）。
【００２５】
通信部７２は、ログイン要求に対する応答を認証サーバ３から受信する（ステップＳ３）。ログイン要求に対する応答は、認証の結果を示す情報を含み、認証が成功した場合にはユーザＩＤをさらに含む。ユーザＩＤは、内部ネットワーク６内のウェブサーバ５と通信をする際に用いられるＩＤである。
【００２６】
通信部７２は、認証が成功したか判断する（ステップＳ５）。認証が失敗した場合（ステップＳ５：Ｎｏルート）、ユーザ端末７は、認証が失敗したことを示すデータを出力し（ステップＳ７）、処理を終了する。例えばユーザ端末７は、ユーザ端末７の表示装置に、認証が失敗したことを示すメッセージを出力する。これにより、ユーザ端末７のユーザはログインＩＤ及びパスワードが誤っていることを認識できる。
【００２７】
認証が成功した場合（ステップＳ５：Ｙｅｓルート）、ステップＳ３において受信した応答はユーザＩＤを含む。そこで、通信部７２は、ステップＳ３において受信した応答からユーザＩＤを取り出し（ステップＳ９）、暗号化部７１に出力する。
【００２８】
暗号化部７１は、通信部７２から受け取ったユーザＩＤを所定の方法で暗号化し（ステップＳ１１）、暗号化されたユーザＩＤを通信部７２に出力する。本実施の形態においては、例えば公開鍵暗号方式が利用される。この場合、ユーザ端末７には暗号化のための公開鍵暗号方式の公開鍵が予め配布されており、暗号化部７１は公開鍵を用いて暗号化を行う。
【００２９】
通信部７２は、暗号化部７１から受け取ったユーザＩＤを、ウェブサーバ５に送信すべき要求パケットのヘッダにおけるオプション部に設定する（ステップＳ１３）。
【００３０】
図９に、要求パケットの構造を示す。要求パケットは、ＩＰヘッダと、データ本体とを含む。ＩＰヘッダは、長さが２０バイトである基本ヘッダと、長さが４０バイトであるオプション部とを含む。ユーザＩＤは、オプション部の少なくとも一部に設定される。なお、セキュリティを向上させるため、オプション部の空き部分にダミーデータを設定してもよい。
【００３１】
図８の説明に戻り、通信部７２は、暗号化されたユーザＩＤがオプション部に設定された要求パケットを、外部ネットワーク９に送信する（ステップＳ１５）。ステップＳ１５において送信された要求パケットの宛先はウェブサーバ５であるため、要求パケットは、外部ネットワーク９を経由してゲートウェイ装置１に転送される。そして処理を終了する。
【００３２】
以上のような処理を実行すれば、ユーザ端末７はウェブサーバ５との通信を開始できるようになる。ユーザ端末７は、一旦ユーザＩＤを受け取れば、ユーザＩＤの有効期限を過ぎない限りは、ログイン要求を再度認証サーバ３に送信しなくてもウェブサーバ５との通信を継続することができる。
【００３３】
次に、図１０を用いて、認証サーバ３がユーザ端末７からログイン要求を受信した場合に実行する処理について説明する。
【００３４】
まず、認証サーバ３の通信部３２は、ユーザ端末７からログイン要求を受信し（図１０：ステップＳ２１）、受信したログイン要求を認証部３１に出力する。
【００３５】
認証部３１は、通信部３２から受け取ったログイン要求に含まれるログインＩＤ及びパスワードを用いて認証処理を実行する（ステップＳ２３）。ステップＳ２３においては、例えば、ログインＩＤ及びパスワードのセットが格納されたデータベースに、通信部３２から受け取ったログイン要求に含まれるログインＩＤ及びパスワードのセットが格納されている否か判断される。
【００３６】
認証部３１は、認証が成功したか判断する（ステップＳ２５）。認証が失敗した場合（ステップＳ２５：Ｎｏルート）、認証部３１は、認証が失敗したことを通信部３２に通知する。これに応じ、通信部３２は、認証が失敗したことを示す応答を生成し、ログイン要求の送信元のユーザ端末７に応答を送信する（ステップＳ２７）。そして処理を終了する。
【００３７】
認証が成功した場合（ステップＳ２５：Ｙｅｓルート）、認証部３１は、ユーザＩＤを生成する（ステップＳ２９）。ステップＳ２９においては、管理テーブル格納部３３に既に登録されているユーザＩＤのいずれとも異なるユーザＩＤが生成される。
【００３８】
認証部３１は、ステップＳ２９において生成されたユーザＩＤの有効期限を決定する（ステップＳ３１）。有効期限は、例えば、ステップＳ３１の処理の時点から所定時間後の時点である。
【００３９】
認証部３１は、ステップＳ２９において生成されたユーザＩＤに基づき、管理テーブル格納部３３を更新する（ステップＳ３３）。具体的には、ステップＳ２９において生成されたユーザＩＤと、そのユーザＩＤに割り振られる通番とを含むエントリを管理テーブル格納部３３に追加する。
【００４０】
認証部３１は、ステップＳ２９において生成されたユーザＩＤと、ステップＳ３１において決定された有効期限を示す情報とを通信部３２に出力する。これに応じ、通信部３２は、ユーザＩＤ及び有効期限を示す情報をゲートウェイ装置１に送信する（ステップＳ３４）。
【００４１】
通信部３２は、ステップＳ２９において生成されたユーザＩＤを含み且つ認証が成功したことを示す応答を生成し、ログイン要求の送信元のユーザ端末７に応答を送信する（ステップＳ３５）。そして処理を終了する。
【００４２】
以上のような処理を実行すれば、ゲートウェイ装置１は、パケットの送信元のユーザ端末７が認証されたユーザ端末７であるか否かユーザＩＤによって判断できるようになる。
【００４３】
次に、図１１を用いて、ゲートウェイ装置１が認証サーバ３からユーザＩＤ及び有効期限を示す情報を受信した場合に実行する処理について説明する。
【００４４】
まず、ゲートウェイ装置１の転送部１０は、ユーザＩＤ及び有効期限を示す情報を認証サーバ３から受信したか判断する（図１１：ステップＳ３７）。ユーザＩＤ及び有効期限を示す情報を認証サーバ３から受信していない場合（ステップＳ３７：Ｎｏルート）、ステップＳ３９の処理に移行する。
【００４５】
ユーザＩＤ及び有効期限を示す情報を認証サーバ３から受信した場合（ステップＳ３７：Ｙｅｓルート）、転送部１０は、ユーザＩＤ及び有効期限を示す情報をフィルタリング部１１に出力する。これに応じ、フィルタリング部１１は、ユーザＩＤと、有効期限を示す情報と、そのユーザＩＤに割り振られる通番とを含むエントリを管理テーブル格納部１２に登録する（ステップＳ３８）。
【００４６】
フィルタリング部１１は、有効期限を過ぎたユーザＩＤを含むエントリを管理テーブル格納部１２から削除する（ステップＳ３９）。また、フィルタリング部１１は、有効期限を過ぎたユーザＩＤを転送部１０に通知し、転送部１０は、有効期限を過ぎたユーザＩＤを認証サーバ３に送信する。これに応じ、認証サーバ３は、受信したユーザＩＤを含むエントリを管理テーブル格納部３３から削除する。
【００４７】
ゲートウェイ装置１は、処理を終了するか判断する（ステップＳ４０）。処理を終了しない場合（ステップＳ４０：Ｎｏルート）、ステップＳ３７の処理に戻る。一方、例えばゲートウェイ装置１の停止指示を受け付けた場合、処理を終了する（ステップＳ４０：Ｙｅｓルート）。
【００４８】
以上のような処理を実行すれば、ゲートウェイ装置１及び認証サーバ３においてユーザＩＤの管理を適切に行えるようになる。
【００４９】
次に、図１２を用いて、ゲートウェイ装置１が外部ネットワーク９から受信したパケットに対して実行する処理について説明する。
【００５０】
まず、ゲートウェイ装置１の転送部１０は、外部ネットワーク９から受信したパケットのうち未処理のパケットを１つ特定する（図１２：ステップＳ４１）。例えば、転送部１０は、外部ネットワーク９から受信した複数のパケットをバッファ等において管理しており、バッファ等から未処理のパケットを１つ特定する。例えば、受信時刻が最も早いパケットが特定される。
【００５１】
転送部１０は、ステップＳ４１において特定されたパケットのオプション部にユーザＩＤが設定されているか判断する（ステップＳ４３）。
【００５２】
オプション部にユーザＩＤが設定されていない場合（ステップＳ４３：Ｎｏルート）、受信したパケットは不正なパケットである可能性がある。そこで、転送部１０は、ステップＳ４１において特定されたパケットを廃棄する（ステップＳ４５）。
【００５３】
オプション部にユーザＩＤが設定されている場合（ステップＳ４３：Ｙｅｓルート）、転送部１０は、ステップＳ４１において特定されたパケットのコピーをフィルタリング部１１に出力する。そして、フィルタリング部１１は、転送部１０から受け取ったパケットを復号化部１３に出力する。これに応じ、復号化部１３は、受け取ったパケットのオプション部から暗号化されたユーザＩＤを読み出し（ステップＳ４７）、例えば公開鍵暗号方式の秘密鍵により復号化する。復号化部１３は、復号化されたユーザＩＤをフィルタリング部１１に出力する。
【００５４】
フィルタリング部１１は、復号化部１３から受け取ったユーザＩＤが管理テーブル格納部１２に登録されているか判断する（ステップＳ４９）。
【００５５】
復号化部１３から受け取ったユーザＩＤが管理テーブル格納部１２に登録されていない場合（ステップＳ４９：Ｎｏルート）、パケットは不正なパケットである可能性がある。そこで、フィルタリング部１１は、パケットの通過を許可できないことを転送部１０に通知する。これに応じ、転送部１０は、ステップＳ４１において特定されたパケットを廃棄する（ステップＳ４５）。
【００５６】
復号化部１３から受け取ったユーザＩＤが管理テーブル格納部１２に登録されている場合（ステップＳ４９：Ｙｅｓルート）、フィルタリング部１１は、復号化部１３から受け取ったユーザＩＤの有効期限を管理テーブル格納部１２から特定する。そして、フィルタリング部１１は、復号化部１３から受け取ったユーザＩＤの有効期限を過ぎたか判断する（ステップＳ５１）。
【００５７】
有効期限を過ぎた場合（ステップＳ５１：Ｙｅｓルート）、フィルタリング部１１は、パケットの通過を許可できないことを転送部１０に通知する。これに応じ、転送部１０は、ステップＳ４１において特定されたパケットを廃棄する（ステップＳ４５）。
【００５８】
有効期限を過ぎていない場合（ステップＳ５１：Ｎｏルート）、フィルタリング部１１は、パケットの通過を許可できること及び復号化後のユーザＩＤを転送部１０に通知する。これに応じ、転送部１０は、ステップＳ４１において特定されたパケットに含まれ且つ暗号化されたユーザＩＤを、復号化後のユーザＩＤで置換し、復号化後のユーザＩＤを含むパケットを転送する（ステップＳ５３）。具体的には、転送部１０は、復号化後のユーザＩＤを含むパケットを、宛先の装置に転送するためのポートに出力する。
【００５９】
フィルタリング部１１は、復号化部１３から受け取ったユーザＩＤの有効期限を管理テーブル格納部１２から特定し、特定された有効期限を更新する（ステップＳ５５）。有効期限は、例えば、ステップＳ５５の処理の時点から所定時間後の時点である。これにより、ユーザ端末７とウェブサーバ５とが継続的に通信を行う場合にユーザＩＤの有効期限を過ぎるのを防止できる。
【００６０】
転送部１０は、受信したパケットの中に未処理のパケットが有るか判断する（ステップＳ５７）。未処理のパケットが有る場合（ステップＳ５７：Ｙｅｓルート）、未処理のパケットを処理するため、ステップＳ４１の処理に戻る。一方、未処理のパケットが無い場合（ステップＳ５７：Ｎｏルート）、処理を終了する。なお、処理を終了した場合には、新たに外部ネットワーク９からパケットを受信した段階でステップＳ４１の処理を開始してもよい。
【００６１】
以上のようにすれば、攻撃者の端末等は認証サーバ３からユーザＩＤを受信することができないので、攻撃者の端末等から送信されたパケットはゲートウェイ装置１を通過することができない。また、攻撃者の端末等がユーザＩＤを適当に偽装してパケットを送信したとしても、そのユーザＩＤがゲートウェイ装置１の管理テーブル格納部１２に登録されていない限り、送信されたパケットはゲートウェイ装置１を通過することができない。これにより、不正なパケットによるウェブサーバ５への攻撃を防ぐことができるようになる。
【００６２】
次に、図１３を用いて、ゲートウェイ装置１が内部ネットワーク６から受信したパケットに対して実行する処理について説明する。
【００６３】
まず、ゲートウェイ装置１の転送部１０は、内部ネットワーク６から受信したパケットのうち未処理のパケットを１つ特定する（図１３：ステップＳ６１）。例えば、転送部１０は、内部ネットワーク６から受信した複数のパケットをバッファ等において管理しており、バッファ等から未処理のパケットを１つ特定する。例えば、受信時刻が最も早いパケットが特定される。
【００６４】
転送部１０は、ステップＳ６１において特定されたパケットのオプション部にユーザＩＤが設定されているか判断する（ステップＳ６３）。
【００６５】
オプション部にユーザＩＤが設定されていない場合（ステップＳ６３：Ｎｏルート）、転送部１０は、ステップＳ６１において特定されたパケットを廃棄する（ステップＳ６５）。
【００６６】
オプション部にユーザＩＤが設定されている場合（ステップＳ６３：Ｙｅｓルート）、転送部１０は、ステップＳ６１において特定されたパケットのコピーをフィルタリング部１１に出力する。これに応じ、フィルタリング部１１は、受け取ったパケットのオプション部から暗号化されたユーザＩＤを取り出す（ステップＳ６７）。
【００６７】
フィルタリング部１１は、取り出したユーザＩＤが管理テーブル格納部１２に登録されているか判断する（ステップＳ６９）。
【００６８】
取り出したユーザＩＤが管理テーブル格納部１２に登録されていない場合（ステップＳ６９：Ｎｏルート）、フィルタリング部１１は、パケットの通過を許可できないことを転送部１０に通知する。これに応じ、転送部１０は、ステップＳ６１において特定されたパケットを廃棄する（ステップＳ６５）。
【００６９】
取り出したユーザＩＤが管理テーブル格納部１２に登録されている場合（ステップＳ６９：Ｙｅｓルート）、フィルタリング部１１は、取り出したユーザＩＤの有効期限を管理テーブル格納部１２から特定する。そして、フィルタリング部１１は、取り出したユーザＩＤの有効期限を過ぎたか判断する（ステップＳ７１）。
【００７０】
有効期限を過ぎた場合（ステップＳ７１：Ｙｅｓルート）、フィルタリング部１１は、パケットの通過を許可できないことを転送部１０に通知する。これに応じ、転送部１０は、ステップＳ６１において特定されたパケットを廃棄する（ステップＳ６５）。
【００７１】
有効期限を過ぎていない場合（ステップＳ７１：Ｎｏルート）、フィルタリング部１１は、パケットの通過を許可できることを転送部１０に通知する。これに応じ、転送部１０は、ステップＳ６１において特定されたパケットを転送する（ステップＳ７３）。具体的には、転送部１０は、ステップＳ６１において特定されたパケットを、宛先の装置に転送するためのポートに出力する。
【００７２】
フィルタリング部１１は、取り出したユーザＩＤの有効期限を管理テーブル格納部１２から特定し、特定された有効期限を更新する（ステップＳ７５）。有効期限は、例えば、ステップＳ７５の処理の時点から所定時間後の時点である。これにより、ユーザ端末７とウェブサーバ５とが継続的に通信を行う場合にユーザＩＤの有効期限を過ぎるのを防止できる。
【００７３】
転送部１０は、受信したパケットの中に未処理のパケットが有るか判断する（ステップＳ７７）。未処理のパケットが有る場合（ステップＳ７７：Ｙｅｓルート）、未処理のパケットを処理するため、ステップＳ６１の処理に戻る。一方、未処理のパケットが無い場合（ステップＳ７７：Ｎｏルート）、処理を終了する。なお、処理を終了した場合には、新たに内部ネットワーク６からパケットを受信した段階でステップＳ６１の処理を開始してもよい。
【００７４】
以上のような処理を実行すれば、ウェブサーバ５から受信したパケットを外部ネットワーク９へ適切に転送できるようになる。
【００７５】
次に、図１４を用いて、ユーザ端末７がウェブサーバ５との通信を終了する場合に実行する処理について説明する。
【００７６】
まず、ユーザ端末７の通信部７２は、認証に使用されるログインＩＤ及び認証サーバ３から受信したユーザＩＤを含むログアウト要求を生成し、生成されたログアウト要求を認証サーバ３に送信する（図１４：ステップＳ８１）。
【００７７】
通信部７２は、ログアウト要求に対する応答を認証サーバ３から受信する（ステップＳ８３）。ログアウト要求に対する応答は、認証の結果を示す情報を含む。
【００７８】
通信部７２は、認証が成功したか判断する（ステップＳ８５）。認証が失敗した場合（ステップＳ８５：Ｎｏルート）、ユーザ端末７は、認証が失敗したことを示すデータを出力する（ステップＳ８７）。例えばユーザ端末７は、ユーザ端末７の表示装置に、認証が失敗したことを示すメッセージを出力する。これにより、ユーザ端末７のユーザはログアウトに失敗したことを認識できる。
【００７９】
認証が成功した場合（ステップＳ８５：Ｙｅｓルート）、処理を終了する。但し、ユーザ端末７は、認証が成功したことを示すデータを出力してもよい。
【００８０】
以上のような処理を実行すれば、ユーザ端末７がウェブサーバ５との通信を終了できるようになる。
【００８１】
次に、図１５を用いて、認証サーバ３がユーザ端末７からログアウト要求を受信した場合に実行する処理について説明する。
【００８２】
まず、認証サーバ３の通信部３２は、ユーザ端末７からログアウト要求を受信し（図１５：ステップＳ９１）、受信したログアウト要求を認証部３１に出力する。
【００８３】
認証部３１は、通信部３２から受け取ったログアウト要求に含まれるログインＩＤを用いて認証処理を実行する（ステップＳ９３）。ステップＳ９３においては、例えば、ログインＩＤ及びパスワードのセットが格納されたデータベースに、通信部３２から受け取ったログアウト要求に含まれるログインＩＤが格納されているか否か判断される。
【００８４】
認証部３１は、認証が成功したか判断する（ステップＳ９５）。認証が失敗した場合（ステップＳ９５：Ｎｏルート）、認証部３１は、認証が失敗したことを通信部３２に通知する。これに応じ、通信部３２は、認証が失敗したことを示す応答を生成し、ログアウト要求の送信元のユーザ端末７に応答を送信する（ステップＳ９７）。そして処理を終了する。
【００８５】
認証が成功した場合（ステップＳ９５：Ｙｅｓルート）、認証部３１は、ログアウト要求に含まれるユーザＩＤについての削除要求を生成し、通信部３２に出力する。これに応じ、通信部３２は、ユーザＩＤについての削除要求をゲートウェイ装置１に送信する（ステップＳ９９）。また、認証部３１は、ログアウト要求に含まれるユーザＩＤと、そのユーザＩＤについての通番とを管理テーブル格納部３３から削除する。
【００８６】
削除要求を受信したゲートウェイ装置１のフィルタリング部１１は、管理テーブル格納部１２に格納されており且つ削除要求において指定されたユーザＩＤ、そのユーザＩＤの有効期限及び通番を削除する。以上の処理により、ユーザＩＤが悪用される可能性をより低くすることができる。そして、ゲートウェイ装置１の転送部１０は、ユーザＩＤの削除の完了を示す応答を認証サーバ３に送信する。
【００８７】
通信部３２は、ユーザＩＤの削除の完了を示す応答をゲートウェイ装置１から受信する（ステップＳ１０１）。
【００８８】
通信部３２は、ログアウトの完了を示す応答を生成し、生成された応答をログアウト要求の送信元のユーザ端末７に送信する（ステップＳ１０３）。そして処理を終了する。
【００８９】
以上のような処理を実行すれば、ゲートウェイ装置１の管理テーブル格納部１２に不要なユーザＩＤが残らないようにすることができる。
【００９０】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したゲートウェイ装置１、認証サーバ３、ウェブサーバ５及びユーザ端末７の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００９１】
また、上で説明した管理テーブル格納部１２及び３３の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００９２】
なお、上ではゲートウェイ装置１及び認証サーバ３の両方に管理テーブル格納部が設けられているが、共有の管理テーブル格納部を１つ設けるようにしてもよい。また、認証サーバ３だけに管理テーブル格納部を設け、ゲートウェイ装置１がパケットを受信する度に認証サーバ３に設けられた管理テーブル格納部を確認するようにしてもよい。
【００９３】
なお、上では生成されたユーザＩＤの最初の有効期限を認証サーバ３が決定しているが、ユーザＩＤを認証サーバ３から受信したゲートウェイ装置１が決定してもよい。
【００９４】
なお、内部ネットワーク６から受信したパケットを外部ネットワーク９に転送する場合には、ユーザＩＤをパケットから取り除いてもよい。
【００９５】
［付録］
本付録においては、本実施の形態に関連する技術について説明する。
【００９６】
１．リバースプロキシ
リバースプロキシは、特定のサーバの代理として設けられるサーバであり、特定のサーバへのパケットを中継する。リバースプロキシによって、アプリケーションレイヤにおけるアクセス制限をかけることが可能である。しかし、リバースプロキシにおいてパケットの中身を見ることになるという問題、及び、多数のアクセスによって膨大なリソースを消費し、結局はＤＤｏＳ攻撃の目的が達成されてしまうという問題がある。
【００９７】
２．ＩＰＳ（Intrusion Prevention System）
ＩＰＳにおいては、例えば、所定のパターンに合致する不正パケットを検出する方法、不正パケットの検出の基礎となるアルゴリズムを構築し、閾値により検出する方法、及び正常パターンから逸脱するパケットを検出する方法等によって不正パケットが検出される。
【００９８】
しかし、所定のパターンに合致する不正パケットを検出する場合、登録されたパターン以外で不正なパケットが送信される場合には対処することができない。閾値を用いる場合、閾値等のパラメタをチューニングするのが困難である。また、正常パターンを定義する方法には、正常なパケットを誤って不正なパケットとして排除してしまうという問題がある。
【００９９】
また、上記の方法は、通信の傾向の分析、不正なパケットを検出した結果の分析、及び設定の変更要否の判断等を継続的に行うことになるため、管理者等の負担が大きい。
【０１００】
なお、上で述べたゲートウェイ装置１、認証サーバ３、ウェブサーバ５及びユーザ端末７は、コンピュータ装置であって、図１６に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１０１】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【０１０２】
本実施の形態の態様に係る通信システムは、（Ａ）認証装置と、（Ｂ）内部のネットワークと外部のネットワークとの間に設けられた中継装置とを有する。そして、上で述べた認証装置は、（ａ１）認証の実行を要求する認証要求を受信した場合に、認証要求の送信元の装置について認証を実行する認証部と、（ａ２）認証部による認証が成功した場合に、送信元の装置について認証が成功したことを表す識別子を、送信元の装置及び中継装置に送信する第１送信部とを有する。そして、上で述べた中継装置は、（ｂ１）認証装置から受信した１又は複数の識別子を格納するデータ格納部と、（ｂ２）外部のネットワークを介して受信したパケットが、データ格納部に格納されている１又は複数の識別子のいずれかと同じ識別子を含む場合、受信したパケットを内部のネットワーク内の装置に転送するフィルタリング部とを有する。
【０１０３】
このようにすれば、認証装置から識別子を受信した装置からのパケットだけを内部のネットワークに転送できるので、不正なパケットによる攻撃を防ぐことができるようになる。
【０１０４】
また、上で述べた第１送信部は、（ａ１−１）認証部による認証が成功した場合に、中継装置に、識別子の有効期限を示す情報を送信し、上で述べたデータ格納部は、（ｂ１−１）識別子に対応付けて当該識別子の有効期限を示す情報をさらに格納し、上で述べたフィルタリング部は、（ｂ２−１）有効期限を過ぎた識別子をデータ格納部から削除してもよい。このようにすれば、安全性をより高めることができるようになる。
【０１０５】
また、上で述べたフィルタリング部は、（ｂ２−２）内部のネットワーク内の装置から受信したパケットが、データ格納部に格納されている１又は複数の識別子のいずれかと同じ識別子を含む場合、当該パケットを外部のネットワーク内の装置に転送してもよい。このようにすれば、内部のネットワーク内の装置から受信したパケットも適切に転送できるようになる。
【０１０６】
また、本通信システムは、宛先が内部のネットワーク内の装置であるパケットを送信する第１の装置をさらに有してもよい。そして、上で述べた第１の装置は、（ｃ１）認証装置から受信した識別子を暗号化し、暗号化された当該識別子を、宛先が内部のネットワーク内の装置であるパケットの所定の部分に設定する暗号化部と、（ｃ２）暗号化された識別子を含むパケットを送信する第２送信部とを有してもよい。そして、上で述べた中継装置は、（ｂ３）第１の装置から受信したパケットに含まれる暗号化された識別子を復号化する復号化部をさらに有してもよい。このようにすれば、パケットに付加された識別子が盗まれて悪用されるのを抑制できるようになる。
【０１０７】
また、上で述べたフィルタリング部は、（ｂ２−３）外部のネットワークを介して受信したパケットが、データ格納部に格納されている１又は複数の識別子のいずれかと同じ識別子を含まない場合、受信したパケットを廃棄してもよい。
【０１０８】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０９】
（付記１）
認証装置と、
内部のネットワークと外部のネットワークとの間に設けられた中継装置と、
を有し、
前記認証装置は、
認証の実行を要求する認証要求を受信した場合に、前記認証要求の送信元の装置について前記認証を実行する認証部と、
前記認証部による前記認証が成功した場合に、前記送信元の装置について前記認証が成功したことを表す識別子を、前記送信元の装置及び前記中継装置に送信する第１送信部と、
を有し、
前記中継装置は、
前記認証装置から受信した１又は複数の前記識別子を格納するデータ格納部と、
前記外部のネットワークを介して受信したパケットが、前記データ格納部に格納されている１又は複数の前記識別子のいずれかと同じ識別子を含む場合、前記受信したパケットを前記内部のネットワーク内の装置に転送するフィルタリング部と、
を有する通信システム。
【０１１０】
（付記２）
前記第１送信部は、
前記認証部による前記認証が成功した場合に、前記中継装置に、前記識別子の有効期限を示す情報を送信し、
前記データ格納部は、
前記識別子に対応付けて当該識別子の有効期限を示す情報をさらに格納し、
前記フィルタリング部は、
有効期限を過ぎた識別子を前記データ格納部から削除する
付記１記載の通信システム。
【０１１１】
（付記３）
前記フィルタリング部は、
前記内部のネットワーク内の装置から受信したパケットが、前記データ格納部に格納されている１又は複数の前記識別子のいずれかと同じ識別子を含む場合、当該パケットを前記外部のネットワーク内の装置に転送する
付記１又は２記載の通信システム。
【０１１２】
（付記４）
宛先が前記内部のネットワーク内の装置であるパケットを送信する第１の装置
をさらに有し、
前記第１の装置は、
前記認証装置から受信した識別子を暗号化し、暗号化された当該識別子を、前記宛先が前記内部のネットワーク内の装置であるパケットの所定の部分に設定する暗号化部と、
暗号化された前記識別子を含むパケットを送信する第２送信部と、
を有し、
前記中継装置は、
前記第１の装置から受信したパケットに含まれる暗号化された前記識別子を復号化する復号化部
をさらに有する付記１乃至３のいずれか１つ記載の通信システム。
【０１１３】
（付記５）
前記フィルタリング部は、
前記外部のネットワークを介して受信したパケットが、前記データ格納部に格納されている１又は複数の前記識別子のいずれかと同じ識別子を含まない場合、前記受信したパケットを廃棄する
付記１乃至４のいずれか１つ記載の通信システム。
【０１１４】
（付記６）
認証装置と、内部のネットワークと外部のネットワークとの間に設けられた中継装置とを有する通信システムにおいて、
前記認証装置は、認証の実行を要求する認証要求を受信した場合に、前記認証要求の送信元の装置について前記認証を実行し、
前記認証装置は、前記認証が成功した場合に、前記送信元の装置について前記認証が成功したことを表す識別子を、前記送信元の装置及び前記中継装置に送信し、
前記中継装置は、前記外部のネットワークを介して受信したパケットが、データ格納部に格納されている、前記認証装置から受信した１又は複数の前記識別子のいずれかと同じ識別子を含む場合、前記受信したパケットを前記内部のネットワーク内の装置に転送する
処理を実行する通信方法。
【符号の説明】
【０１１５】
１  ゲートウェイ装置    ３  認証サーバ
５  ウェブサーバ    ７  ユーザ端末
６  内部ネットワーク    ９  外部ネットワーク
１０  転送部    １１  フィルタリング部
１２  管理テーブル格納部    １３  復号化部
１４，１５，１６  ポート
３１  認証部    ３２，５１，７２  通信部
３３  管理テーブル格納部
７１  暗号化部
【図１】
2016021621.tif 000003
【図２】
2016021621.tif 000004
【図３】
2016021621.tif 000005
【図４】
2016021621.tif 000006
【図５】
2016021621.tif 000007
【図６】
2016021621.tif 000008
【図７】
2016021621.tif 000009
【図８】
2016021621.tif 000010
【図９】
2016021621.tif 000011
【図１０】
2016021621.tif 000012
【図１１】
2016021621.tif 000013
【図１２】
2016021621.tif 000014
【図１３】
2016021621.tif 000015
【図１４】
2016021621.tif 000016
【図１５】
2016021621.tif 000017
【図１６】
2016021621.tif 000018