(57)【要約】【課題】不正なアクセスを、容易に防止することができる通信装置を提供する。【解決手段】  コンピュータ２からの接続要求に応じて、認証を行う認証部１４と、コンピュータ２の認証を失敗した失敗回数に応じて、コンピュータ２に応答を返すまでの応答時間を長くするように、コンピュータ２との通信を行う通信部１１を制御する更新部１６と、コンピュータ２の認証を失敗した失敗回数が、一定回数を超えた場合に、コンピュータ２に対して応答しないように、コンピュータ２に対する応答を制限する確認部１２を備える。本発明は、例えば、無線ＬＡＮを構成するアクセスポイントに適用できる。【選択図】図２
2006185389.tif 000002
【特許請求の範囲】
【請求項１】
通信相手からの接続要求に応じて、認証を行う認証手段と、
前記通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、前記通信相手との通信を行う通信手段を制御する制御手段と
を備えることを特徴とする通信装置。
【請求項２】
前記通信相手の認証を失敗した失敗回数が、一定回数を超えた場合に、前記通信相手に対して応答しないように、前記通信相手に対する応答を制限する制限手段をさらに備える
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記制限手段は、前記通信相手から送信されてくるパケットを、ＭＡＣ（Media Access Control）フィルタリングして破棄することにより、前記通信相手に対する応答を制限する
ことを特徴とする請求項２に記載の通信装置。
【請求項４】
前記制限手段は、前記認証手段において前記通信相手の認証が行われないようにすることにより、前記通信相手に対する応答を制限する
ことを特徴とする請求項２に記載の通信装置。
【請求項５】
通信相手からの接続要求に応じて、認証を行う認証ステップと、
前記通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、前記通信相手との通信を行う通信手段を制御する制御ステップと
を含むことを特徴とする通信方法。
【請求項６】
通信相手からの接続要求に応じて、認証を行う認証ステップと、
前記通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、前記通信相手との通信を行う通信手段を制御する制御ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置および方法、並びにプログラムに関し、特に、不正なアクセスを容易に防止することを可能とした通信装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
従来、複数の通信装置どうしが通信を行うネットワークシステムとして、接続要求をしてきた通信装置に対して、接続要求をされた通信装置が認証を行い、その認証に成功した通信装置に接続許可を与えることで、特定の通信装置のみがアクセスすることを可能とするネットワークシステムがある。このようなネットワークシステムにおける認証の方法として、例えば、通信を行う通信装置どうしに共通の暗号キーを設定しておいて、この暗号キーによって認証を行う方法や、ユーザＩＤ（Identification）およびパスワードによって認証を行う方法がある。
【０００３】
上述したような暗号キー、またはユーザＩＤおよびパスワードによる認証を行うことにより、特定の通信装置または特定のユーザ以外からの不正なアクセスを防止することができる。
【０００４】
しかしながら、上述したような共通の暗号キーや、ユーザＩＤおよびパスワードによる認証の方法においては、暗号キーや、ユーザＩＤおよびパスワードの長さは有限の長さであることから、時間をかけることで暗号キーや、ユーザＩＤおよびパスワードが割り出されてしまい、不正にアクセスされてしまう可能性があるという問題があった。
【０００５】
即ち、暗号キー等は、英数字等の有限長の文字列によって構成されるため、コンピュータにより英数字の並びを総当り的に、暗号キー等として自動生成してアクセスする、いわば総当り攻撃が行われると、いつかは正当な暗号キー等が生成されてしまい、認証が成功して、不正なアクセスが行われてしまう。
【０００６】
そこで、このような不正なアクセスを困難にする方法として、例えば、接続要求をしてきた通信装置の認証に失敗した回数が許容回数を超えていない場合にのみ認証を行う方法（例えば、特許文献１参照）や、一時的な接続許可を与えて認証のための情報を得た後に正規の接続許可を与える方法（例えば、特許文献２参照）、不正なアクセスに関わる情報を記憶しておいて正当であると判定された場合にのみ通信を行う方法（例えば、特許文献３参照）が提案されている。
【特許文献１】特開２００２−１４９６０６号公報
【特許文献２】特開２００３−１０１５５３号公報
【特許文献３】特開２００３−１７９６４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
総当り攻撃による不正なアクセスを困難にする方法としては、その他、例えば、定期的に暗号キーやパスワードを変更して、暗号キーやパスワードが割り出され難くする方法がある。しかしながら、暗号キー等の変更により、不正なアクセスを防止するためには、その変更を行う期間を、ある程度短く必要がある。そして、暗号キーやパスワードを変更する期間を短くすると、たびたび変わる暗号キーやパスワードにユーザが混乱してしまう問題があった。
【０００８】
また、一度しか使用することのできないワンタイムパスワードを利用することで不正なアクセスを防止する方法があるが、ワンタイムパスワードを処理するための専用のハードウエアが必要になる。
【０００９】
一方、総当り攻撃によれば、短時間に多数の接続要求が行われるため、その接続要求に応じて認証を行う通信装置の負荷が大きくなってしまうという問題があった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、不正なアクセスを、容易に防止することを目的としている。
【課題を解決するための手段】
【００１１】
本発明の通信装置は、通信相手からの接続要求に応じて、認証を行う認証手段と、通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、通信相手との通信を行う通信手段を制御する制御手段とを備えることを特徴とする。
【００１２】
この通信装置には、通信相手の認証を失敗した失敗回数が、一定回数を超えた場合に、通信相手に対して応答しないように、通信相手に対する応答を制限する制限手段をさらに備えることができる。
【００１３】
制限手段は、通信相手から送信されてくるパケットを、ＭＡＣフィルタリングして破棄することにより、通信相手に対する応答を制限することができる。
【００１４】
制限手段は、認証手段において通信相手の認証が行われないようにすることにより、通信相手に対する応答を制限することができる。
【００１５】
本発明の通信方法は、通信相手からの接続要求に応じて、認証を行う認証ステップと、通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、通信相手との通信を行う通信手段を制御する制御ステップとを含むことを特徴とする。
【００１６】
本発明のプログラムは、通信相手からの接続要求に応じて、認証を行う認証ステップと、通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、通信相手との通信を行う通信手段を制御する制御ステップとをコンピュータに実行させることを特徴とする。
【００１７】
本発明の通信装置および方法、並びにプログラムにおいては、通信相手からの接続要求に応じて認証を行い、通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、通信相手との通信を行う通信手段を制御する。
【発明の効果】
【００１８】
本発明によれば、不正なアクセスを、容易に防止することができる。
【発明を実施するための最良の形態】
【００１９】
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２０】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。
【００２１】
請求項１に記載の通信装置（例えば、図１のアクセスポイント１）は、通信相手（例えば、図１のコンピュータ２や３）からの接続要求に応じて、認証を行う認証手段（例えば、図２の認証部１４）と、通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、通信相手との通信を行う通信手段（例えば、図２の通信部１１）を制御する制御手段（例えば、図２の更新部１６）とを備えることを特徴とする。
【００２２】
請求項２に記載の通信装置は、通信相手の認証を失敗した失敗回数が、一定回数を超えた場合に、通信相手に対して応答しないように、通信相手に対する応答を制限する制限手段（例えば、図２の確認部１２）をさらに備えることを特徴とする。
【００２３】
請求項５に記載の通信方法は、通信相手からの接続要求に応じて、認証を行う認証ステップ（例えば、図５のステップＳ１３）と、通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、通信相手との通信を行う通信手段を制御する制御ステップ（例えば、図６のステップＳ４６）とを含むことを特徴とする。
【００２４】
請求項６に記載のプログラムは、通信相手からの接続要求に応じて、認証を行う認証ステップ（例えば、図５のステップＳ１３）と、通信相手の認証を失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間を長くするように、通信相手との通信を行う通信手段を制御する制御ステップ（例えば、図６のステップＳ４６）とをコンピュータに実行させることを特徴とする。
【００２５】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００２６】
図１は、本発明を適用したネットワークシステムの一実施の形態の構成例を示している。
【００２７】
図１において、アクセスポイント１は、無線通信でデータの送受信をする無線ＬＡＮ（Local Area Network）を構成する中継装置で、コンピュータ２および３は、無線ＬＡＮを構成する端末装置である。アクセスポイント１は、インターネットや有線ＬＡＮ等のネットワーク４に接続されており、コンピュータ２および３は、アクセスポイント１を経由してネットワーク４に接続することが可能となる。また、ネットワーク４には、コンピュータ５が接続されている。
【００２８】
コンピュータ２または３は、無線ＬＡＮ用の通信インタフェース（ＮＩＣ（Network Interface Card））を有しており、例えば、ネットワーク４を介してコンピュータ５と通信を行う場合、アクセスポイント１に対して接続要求を行う。そして、コンピュータ２または３が、アクセスポイント１に対して接続要求を行うと、アクセスポイント１は、コンピュータ２または３との間で、ＷＥＰ（Wired Equivalent Privacy）キー（暗号キー）を用いて、いわゆるチャレンジ・レスポンス型の認証を行う。
【００２９】
例えば、アクセスポイント１とコンピュータ２とに、同一のＷＥＰキーが設定されている場合、認証は成功し、アクセスポイント１は、コンピュータ２に接続許可を与える。これにより、コンピュータ２は、アクセスポイント１を介してネットワーク４に接続することが可能となり、コンピュータ５と通信を行うことができる。
【００３０】
一方、例えば、アクセスポイント１とコンピュータ３とに、同一のＷＥＰキーが設定されていない場合（異なるＷＥＰキーが設定されている場合、または、アクセスポイント１にＷＥＰキーが設定されているが、コンピュータ３にはＷＥＰキーが設定されていない場合）、認証は失敗するので、アクセスポイント１は、コンピュータ３との通信を拒否する。従って、コンピュータ３は、アクセスポイント１を介してネットワーク４に接続することができず、コンピュータ５と通信を行うことができない。
【００３１】
次に、図２は、図1のアクセスポイント１の機能的な構成例を示すブロック図である。
【００３２】
アクセスポイント１は、通信部１１、確認部１２、リスト記憶部１３、認証部１４、ＷＥＰキー記憶部１５、および更新部１６を備えて構成されている。
【００３３】
通信部１１は、無線通信により、コンピュータ２や３との間でデータの送受信をすると共に、有線通信により、ネットワーク４との間でデータの送受信をすることにより、例えば、コンピュータ２や３とネットワーク４との間の通信を中継する。また、通信部１１は、例えば、コンピュータ２や３から受信したデータが、接続を要求するパケットである接続要求パケットである場合、その接続要求パケットを、通信部１１から確認部１２に供給する。さらに、通信部１１は、更新部１６の制御に従って、接続要求パケットを送信してきたコンピュータ２や３に対して、応答を返す（送信する）。
【００３４】
確認部１２は、リスト記憶部１３に記憶された、後述する認証失敗ＭＡＣアドレス情報リストを参照し、その認証失敗ＭＡＣアドレス情報リストに基づいて、通信部１１からの接続要求パケットを破棄するか、または、認証部１４に供給する。
【００３５】
リスト記憶部１３は、認証失敗ＭＡＣアドレス情報リストを記憶する。認証失敗ＭＡＣアドレス情報リストについては、図３を参照して、後述する。
【００３６】
認証部１４は、確認部１２からの接続要求パケットに対して、ＷＥＰキー記憶部１５に記憶されたＷＥＰキーを用いて認証を行い、認証に成功した場合、その接続要求パケットを送信してきたコンピュータ２や３の接続を許可する。また、認証部１４は、認証に失敗した場合、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストを更新するために、認証に失敗したコンピュータ２や３からの接続要求パケットを更新部１６に供給する。
【００３７】
ＷＥＰキー記憶部１５は、ＷＥＰキーを記憶する。なお、ＷＥＰキー記憶部１５へのＷＥＰキーの登録（記憶）は、例えば、ユーザが、アクセスポイント１の図示せぬ操作部を操作することにより、あるいは、ユーザが、コンピュータ５を操作して、ＷＥＰキーを入力し、そのＷＥＰキーを、コンピュータ５からネットワーク４を介してアクセスポイント１に供給すること等により、行うことができる。
【００３８】
更新部１６は、認証部１４から供給された接続要求パケットに基づき、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストを更新する。また、更新部１６は、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストに基づき、接続要求パケットを送信してきたコンピュータ２や３に対する、通信部１１による応答の送信の制御を行う。
【００３９】
図３は、図２のリスト記憶部１３に記憶される認証失敗ＭＡＣアドレス情報リストを示す図である。
【００４０】
認証失敗ＭＡＣアドレス情報リストには、アクセスポイント１に対して接続要求パケットを送信してきた通信相手のうちの、認証に失敗した通信相手の「ＭＡＣアドレス」に対応付けて、そのＭＡＣアドレスによって特定される通信相手（装置）の認証に失敗した回数である「失敗回数」、その通信相手に対して何ら応答しない状態となることを表す１ビットの「応答拒否フラグ」、通信相手に対する応答を一時的に中断する状態となることを表す１ビットの「応答中断フラグ」、接続要求パケットに対する応答を通信相手に返すことを中断する期間を表す「中断期間」が登録（記憶）される。
【００４１】
上述したように、認証失敗ＭＡＣアドレス情報リストの更新は、図２の更新部１６によって行われる。
【００４２】
即ち、例えば、いま、コンピュータ３（図１）からアクセスポイント１に対して、接続要求パケットが送信され、アクセスポイント１において、コンピュータ３からの接続要求パケットが、通信部１１で受信されて、確認部１２を介して認証部１４に供給されたとする。さらに、認証部１４において、その接続要求パケットに対する認証が行われ、その認証が失敗したとする。
【００４３】
例えば、コンピュータ３の接続要求パケットに対する認証の失敗が初めてである場合、認証失敗ＭＡＣアドレス情報リストには、コンピュータ３のＭＡＣアドレスのエントリ（１行）が存在しないため、更新部１６は、認証失敗ＭＡＣアドレス情報リストに、コンピュータ３のＭＡＣアドレスのエントリを新たに作成し、そのエントリに、コンピュータ３のＭＡＣアドレスを登録する。ここで、コンピュータ３のＭＡＣアドレスは、コンピュータ３からの接続要求パケットに含まれており、更新部１６は、コンピュータ３からの接続要求パケットを参照することで、コンピュータ３のＭＡＣアドレスを認識する。
【００４４】
さらに、更新部１６は、失敗回数を１回として、その１回の失敗回数に応じた中断期間としての、例えば、０秒を決定し、コンピュータ３のＭＡＣアドレスのエントリに、その失敗回数、および中断期間を登録する。そして、いまの場合、コンピュータ３のＭＡＣアドレスのエントリにおける中断期間、即ち、接続要求パケットに対する応答を返すことを中断する期間は、０秒であるので、更新部１６は、認証の失敗の後すぐに、コンピュータ３へ認証の失敗を表す応答を送信するように通信部１１を制御する。
【００４５】
一方、例えば、コンピュータ３の（接続要求パケットに対する）認証の失敗が２回目以降である場合、認証失敗ＭＡＣアドレス情報リストには、コンピュータ３のＭＡＣアドレスのエントリが存在するので、更新部１６は、そのエントリにおける失敗回数を１回増やす更新をし、その更新後の失敗回数に応じた中断期間を決定する。即ち、更新部１６は、例えば、失敗回数が２回目である場合には中断期間を１秒に、失敗回数が３回目である場合には中断期間を２秒に、失敗回数が４回目である場合には中断期間を４秒に、失敗回数が５回目である場合には中断期間を８秒に、といったように、失敗回数が１回増えるたびに中断期間を前回の２倍の値に決定する。
【００４６】
そして、更新部１６は、認証失敗ＭＡＣアドレス情報リストのコンピュータ３のＭＡＣアドレスのエントリを、上述の失敗回数および中断期間によって更新し、さらに、そのエントリの応答中断フラグを、０または１のうちの、応答を一時的に中断する状態であることを示す、例えば、１にセットする。また、更新部１６は、直前の認証の失敗から中断期間が経過した後に、認証の失敗を表す応答をコンピュータ３へ送信するように通信部１１を制御する。なお、応答中断フラグは、直前の認証の失敗から中断期間の経過後に、更新部１６によって０にリセットされる。
【００４７】
その他、更新部１６は、コンピュータ３のＭＡＣアドレスのエントリにおける更新後の失敗回数が所定の閾値としての一定回数以下であるか否かを判定し、失敗回数が所定の閾値以下でない場合、そのＭＡＣアドレスの通信相手であるコンピュータ３からの接続要求パケットに対する応答を制限（拒否）することを決定する。例えば、所定の閾値が６回であった場合、更新部１６は、コンピュータ３のＭＡＣアドレスのエントリにおける失敗回数が７回に更新されたとき、コンピュータ３からの接続要求パケットに対する応答を制限（拒否）することを決定する。
【００４８】
そして、更新部１６は、認証失敗ＭＡＣアドレス情報リストのコンピュータ３のＭＡＣアドレスのエントリにおける応答拒否フラグを、０または１のうちの、接続要求パケットに対する応答を制限（拒否）することを表す、例えば、１にセットする。
【００４９】
図２のアクセスポイント１は、専用のハードウエアにより実現することもできるし、ソフトウェアにより実現することもできる。ソフトウェアによって実現する場合に、そのソフトウェアを構成するプログラムが、汎用のコンピュータやマイクロコンピュータ等にインストールされる。
【００５０】
そこで、図４は、図２のアクセスポイント１を実現するプログラムがインストールされるコンピュータ２０の一実施の形態の構成例を示すブロック図である。
【００５１】
コンピュータ２０は、ＲＯＭ（Read Only Memory）２１、フラッシュメモリ（EEPROM（Electronically Erasable and Programmable Read Only Memory））２２、ＣＰＵ（Central Processing Unit）２３、ＲＡＭ（Random Access Memory）２４、および通信部２５を備えて構成されており、ＲＯＭ２１、フラッシュメモリ２２、ＣＰＵ２３、ＲＡＭ２４、および通信部２５のそれぞれは、バス２６により相互に接続されている。
【００５２】
ＲＯＭ２１やフラッシュメモリ２２は、プログラムを記憶し、ＣＰＵ２３は、そのプログラムを実行することにより各種の処理を行う。また、フラッシュメモリ２２は、アクセスポイント１の電源がオフされた後も保持する必要があるＷＥＰキーおよび認証失敗ＭＡＣアドレス情報リスト等も記憶する。ＲＡＭ２４は、ＣＰＵ２３が実行するプログラムや必要なデータなどを適宜記憶する。通信部２５は、ＣＰＵ２３に制御されて、有線通信または無線通信でデータの送受信を行う。フラッシュメモリ２２に記憶されるプログラムやデータは、通信部２５を介して書き換える（バージョンアップする）ことができる。
【００５３】
例えば、通信部２５は、コンピュータ２からの接続要求パケットを受信し、ＣＰＵ２３に供給する。ＣＰＵ２３は、通信部２５から接続要求パケットが供給されてくると、フラッシュメモリ２２に記憶されたＷＥＰキーによる認証等を行う。また、ＣＰＵ２３は、コンピュータ２の認証に成功した場合、コンピュータ２に接続許可を与え、これにより、コンピュータ２からのデータを中継する。また、コンピュータ２の認証に失敗した場合、ＣＰＵ２３は、フラッシュメモリ２２に記憶された認証失敗ＭＡＣアドレス情報リストを更新し、コンピュータ２へ認証に失敗した旨の応答を送信するように通信部２５を制御する。
【００５４】
次に、図５のフローチャートを参照して、図２のアクセスポイント１が、接続要求してきたコンピュータ２や３の認証を行って、接続許可を与える接続許可処理について説明する。
【００５５】
ステップＳ１１において、通信部１１は、コンピュータ２や３などの通信相手からの接続要求パケットが送信されてくるのを待機しており、接続要求パケットが送信されてくると、その接続要求パケットを受信し、確認部１２に供給して、ステップＳ１２に進む。
【００５６】
ステップＳ１２において、確認部１２は、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストを参照し、通信部１１からの接続要求パケットに含まれるＭＡＣアドレスによって特定される通信相手の認証を行うべきか否かを確認する確認処理を行う。ステップＳ１２の確認処理の詳細は、図７を参照して後述するが、ステップＳ１２において、通信相手の認証を行うべきでないことが確認された場合、確認部１２は、その通信相手からの接続要求パケット、即ち、通信部１１からの接続要求パケットを破棄して、ステップＳ１１に戻る。
【００５７】
一方、ステップＳ１２において、通信相手の認証を行うべきであることが確認された場合、確認部１２は、通信部１１からの接続要求パケットを認証部１４に供給して、ステップＳ１３に進み、認証部１４は、ＷＥＰキー記憶部１５に記憶されたＷＥＰキーによって、確認部１２からの接続要求パケットを送信してきた通信相手を認証する認証処理を行い、その認証の正否を判定する。
【００５８】
ステップＳ１３において、接続要求パケットを送信してきた通信相手の認証に成功したと判定された場合、即ち、通信相手としての、例えば、コンピュータ２や３に、ＷＥＰキー記憶部１５に記憶されたＷＥＰキーと同一のＷＥＰキーが記憶（設定）されており、その結果、そのＷＥＰキーで暗号化されたデータが、接続要求パケットに配置されていて、認証部１４において、その接続要求パケットに配置されたデータを、ＷＥＰキー記憶部１５に記憶されたＷＥＰキーで、正しく復号することができる場合、認証部１４は、更新部１６を介して、通信部１１を制御することにより、その接続要求パケットを送信してきた通信相手に、認証が成功した旨の応答を送信させ、接続許可処理を終了する。
【００５９】
ここで、通信部１１（アクセスポイント１）から、認証に成功した旨の応答を受信した通信相手は、その後、アクセスポイント１を経由して通信が可能となる（接続許可が与えられる）。
【００６０】
一方、ステップＳ１３において、接続要求パケットを送信してきた通信相手の認証に失敗したと判定された場合、即ち、通信相手としての、例えば、コンピュータ２や３に、ＷＥＰキー記憶部１５に記憶されたＷＥＰキーと同一のＷＥＰキーが設定されておらず、その結果、認証部１４において、接続要求パケットに配置されたデータを、ＷＥＰキー記憶部１５に記憶されたＷＥＰキーで、正しく復号することができない場合、認証部１４は、確認部１２からの接続要求パケットを、更新部１６に供給して、ステップＳ１４に進む。
【００６１】
ステップＳ１４において、更新部１６は、認証部１４からの接続要求パケットに基づき、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストを更新する更新処理を行う。ステップＳ１４の更新処理の詳細は、図６を参照して後述するが、更新処理では、更新部１６は、認証失敗ＭＡＣアドレス情報リストの更新の他、更新後の認証失敗ＭＡＣアドレス情報リストに基づき、認証に失敗した通信相手に対して、その失敗した旨を送信するように、通信部１１の制御も行う。ステップＳ１４での処理後は、ステップＳ１１に戻り、以下、同様の処理が繰り返される。
【００６２】
次に、図６のフローチャートを参照して、図５のステップＳ１４で更新部１６が行う更新処理について説明する。
【００６３】
図５で説明したように、認証部１４において、認証が失敗すると、その認証の対象となった通信相手からの接続要求パケットが、認証部１４から更新部１６に供給され、更新部１６は、認証部１４から、認証に失敗した通信相手からの接続要求パケットが供給されると、更新処理を行う。
【００６４】
即ち、更新処理では、ステップＳ４１において、更新部１６は、認証部１４からの接続要求パケットのＭＡＣアドレス、つまり、認証に失敗した通信相手のＭＡＣアドレス（以下、適宜、失敗ＭＡＣアドレスという）を認識する。さらに、更新部１６は、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストから、失敗ＭＡＣアドレスのエントリを検索し、そのエントリにおける認証に失敗した失敗回数を１回だけインクリメントすることにより更新し、ステップＳ４２に進む。なお、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストに、失敗ＭＡＣアドレスのエントリが存在しない場合には、更新部１６は、その認証失敗ＭＡＣアドレス情報リストに、失敗ＭＡＣアドレスのエントリを、新たに追加し、さらに、そのエントリにおける失敗回数を１回とする。
【００６５】
ステップＳ４２において、更新部１６は、認証失敗ＭＡＣアドレス情報リストにおける更新後の失敗回数が所定の閾値としての一定回数以下であるか否かを判定し、失敗回数が一定回数以下であると判定した場合、ステップＳ４３に進む。
【００６６】
ステップＳ４３において、更新部１６は、更新後の失敗回数に応じて長くなる中断期間を決定して、ステップＳ４４に進み、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストの失敗ＭＡＣアドレスのエントリを、ステップＳ４３で決定された中断期間によって更新する。なお、失敗ＭＡＣアドレスのエントリが直前のステップＳ４１で新たに追加された場合、そのエントリにおける失敗回数は１回に、中断期間は０秒に、それぞれされる。ステップＳ４４の処理が行われた後、ステップＳ４５に進む。
【００６７】
ステップＳ４５において、更新部１６は、認証失敗ＭＡＣアドレス情報リストの失敗ＭＡＣアドレスのエントリにおける応答中断フラグを、応答の中断を表す１にセットする。なお、応答中断フラグは、直前の認証の失敗から中断期間が経過すると、更新部１６によって、０にリセットされる。
【００６８】
ステップＳ４５の処理後は、ステップＳ４６に進み、更新部１６は、直前のステップＳ４３で決定された中断期間の経過後に、接続要求パケットを送信してきた通信相手（失敗ＭＡＣアドレスによって特定される装置）に対して認証に失敗した旨の応答を送信するように、通信部１１を制御して、更新処理を終了し、図５のステップＳ１１に戻る。
【００６９】
このように、アクセスポイント１では、認証の失敗回数に応じて長くなるように決定される中断期間の経過後に、認証に失敗した旨の応答を送信することで、通信相手の認証に失敗した失敗回数が増加するに従って、その通信相手に対して認証に失敗した旨の応答を送信する間隔が長くなる。従って、認証の失敗回数の多い通信相手に対するアクセスポイント１の負担が低減する。
【００７０】
一方、ステップＳ４２において、更新部１６が、失敗ＭＡＣアドレスのエントリにおける失敗回数が所定の閾値としての一定回数以下でないと判定した場合、即ち、例えば、失敗ＭＡＣアドレスによって特定される通信相手から、一定回数を超える接続要求パケットが送信され、そのすべての接続要求パケットについての認証が失敗し、従って、失敗ＭＡＣアドレスによって特定される通信相手によって、総当り攻撃がされている可能性が極めて高い場合、ステップＳ４７に進み、更新部１６は、失敗ＭＡＣアドレスによって特定される通信相手に対する応答を制限（拒否）することを決定し、ステップＳ４８に進む。
【００７１】
ステップＳ４８において、更新部１６は、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストの失敗ＭＡＣアドレスのエントリにおける応答拒否フラグを、応答を制限する旨を表す１にセットして、更新処理を終了し、図５のステップＳ１１に戻る。
【００７２】
次に、図７のフローチャートを参照して、図５のステップＳ１２で確認部１２が行う確認処理について説明する。
【００７３】
ステップＳ２１において、確認部１２は、通信部１１からの接続要求パケットから、その接続要求パケットを送信してきた通信相手のＭＡＣアドレスを取得し、ステップＳ２２に進む。ステップＳ２２において、確認部１２は、リスト記憶部１３に記憶された認証失敗ＭＡＣアドレス情報リストのうちの、ステップＳ２１で取得したＭＡＣアドレスのエントリを参照し、そのエントリにおける応答拒否フラグが、応答を制限（拒否）する旨の１にセットされているか否かを判定する。
【００７４】
ステップＳ２２において、失敗ＭＡＣアドレスのエントリにおける応答拒否フラグが１にセットされていると判定された場合、即ち、失敗ＭＡＣアドレスによって特定される通信相手についての認証が、既に、一定回数を超える回数だけ失敗しており、その通信相手が総当り攻撃をしている可能性が極めて高い場合、ステップＳ２４に進み、確認部１２は、その通信相手から送信され、通信部１１から供給された接続要求パケットを破棄して、確認処理を終了し、図５のステップＳ１１に戻る。
【００７５】
このように、アクセスポイント１では、認証が一定回数を超える回数だけ失敗した通信相手からの接続要求パケットは破棄され、その接続要求パケットに対して、認証は勿論、応答の送信も行なわれない。従って、総当り攻撃に対するアクセスポイント１の負荷を軽減するともに、そのような総当り攻撃による不正アクセスを、容易に防止することができる。
【００７６】
一方、ステップＳ２２において、失敗ＭＡＣアドレスのエントリにおける応答拒否フラグが１にセットされていないと判定された場合、即ち、失敗ＭＡＣアドレスによって特定される通信相手についての認証の失敗回数が、まだ、一定回数以下である場合、ステップＳ２３に進み、確認部１２は、失敗ＭＡＣアドレスのエントリにおける応答中断フラグが、応答を一時的に中断する旨を表す１にセットされているか否かを判定する。
【００７７】
ステップＳ２３において、失敗ＭＡＣアドレスのエントリにおける応答中断フラグが１にセットされていると判定された場合、即ち、失敗ＭＡＣアドレスによって特定される通信相手についての認証が、一定回数以下の失敗回数だけ失敗しており、その失敗回数に応じて決定された中断期間だけの時間が、直前の認証の失敗から、まだ経過していない場合、ステップＳ２４に進み、確認部１２は、上述したように、失敗ＭＡＣアドレスによって特定される通信相手から送信され、通信部１１から供給された接続要求パケットを破棄し、確認処理を終了して、図５のステップＳ１１に戻る。
【００７８】
このように、アクセスポイント１では、認証が一定回数以下の回数しか失敗していない通信相手からの接続要求パケットであっても、直前の認証の失敗から中断期間が経過していない場合には破棄され、その接続要求パケットに対して、認証は勿論、応答の送信も行なわれない。
【００７９】
上述したように、中断期間は、失敗回数に応じて、失敗回数が多くなるほど長い期間（時間）に決定されるから、失敗ＭＡＣアドレスによって特定される通信相手については、認証の失敗回数が増加するにつれ、つまり、認証の失敗が続くにつれ、接続要求パケットに対する応答を返すことを中断する中断期間が長くなる。さらに、直前の認証の失敗から、中断期間が経過するまでは、その間に、失敗ＭＡＣアドレスによって特定される通信相手から接続要求パケットが送信されてきても破棄される。
【００８０】
失敗ＭＡＣアドレスによって特定される通信相手についての認証の失敗が続くということは、その通信相手が総当り攻撃をしている可能性が高いということであり、従って、そのような通信相手からの接続要求パケットを破棄して認証を行わず、また、接続要求パケットに対する応答を行うまでの時間を長くすることにより、総当り攻撃に対するアクセスポイント１の負荷を軽減するとともに、そのような総当り攻撃による不正アクセスを、容易に防止することができる。
【００８１】
なお、失敗ＭＡＣアドレスによって特定される通信相手についての認証の失敗が続き、その結果、失敗回数が一定回数を超えた場合には、上述したように、その通信相手のＭＡＣアドレス（失敗ＭＡＣアドレス）のエントリにおける応答拒否フラグが１にセットされ、以後、その通信相手からの接続要求パケットは破棄され続け、接続要求パケットに対して、認証は勿論、応答の送信も行なわれなくなる。
【００８２】
一方、ステップＳ２３において、失敗ＭＡＣアドレスのエントリにおける応答中断フラグに１がセットされていないと判定された場合、確認処理を終了して、図５のステップＳ１３に進み、上述した認証処理が行われる。
【００８３】
なお、更新部１６では、応答拒否フラグは、１にセットされた後、一定時間が経過したときに、０にリセットすることができる。また、アクセスポイント１を管理するユーザが、１にセットされている応答拒否フラグを０にリセットすることもできる。さらに、更新部１６では、認証失敗ＭＡＣアドレス情報リストのエントリのうちの、最後に更新されてから一定期間更新がされていないエントリを削除することができる。
【００８４】
以上のように、失敗回数に応じて長くなる中断期間を決定し、その中断期間の経過後に、応答が返されるので、即ち、通信相手の認証に失敗した失敗回数に応じて、その通信相手に応答を返すまでの応答時間（応答を返すことを中断する中断期間）を長くするように、通信部１１が制御されるので、アクセスポイント１に対する不正なアクセスを困難にすることができる。
【００８５】
例えば、アクセスポイント１に設定されたＷＥＰキーを知らないユーザが、不正にアクセスポイント１を利用しようとして、コンピュータ３から、連続して様々なＷＥＰキーを含んだ接続要求パケットを送信する総当り攻撃を行っても、認証に失敗し、その認証の失敗回数に応じて長くなる中断期間が決定される。そして、アクセスポイント１では、中断期間にコンピュータ３から送信されてきた接続要求パケットは破棄され、これにより、中断期間にコンピュータ３から送信されてくる接続要求パケットに対する応答が制限されるので、コンピュータ３からの不正なアクセスが成功してしまうまでの時間が飛躍的に長くなる。従って、コンピュータ３からの総当り攻撃による不正なアクセスが成功することを、困難にすることができる。
【００８６】
また、総当り攻撃を行うコンピュータ３の認証の失敗回数が一定回数を越えると、アクセスポイント１は、コンピュータ３からの接続要求パケットを破棄し続けるので、認証が誤って成功することにより、コンピュータ３からの不正なアクセスが成功することがなくなる。
【００８７】
なお、確認部１２による接続要求パケットの破棄（図７のステップＳ２４）は、例えば、ＭＡＣフィルタリングによって行うことができる。即ち、認証失敗ＭＡＣアドレス情報リストにおいて、応答拒否フラグまたは応答中断フラグが１になっているエントリのＭＡＣアドレス（失敗ＭＡＣアドレス）を、ＭＡＣフィルタによってパケットを遮断（廃棄）するＭＡＣアドレスのリスト（以下、フィルタリストという）に登録し、そのフィルタリストに従って、ＭＡＣフィルタリングを行うことにより、応答拒否フラグまたは応答中断フラグが１になっているエントリのＭＡＣアドレス（失敗ＭＡＣアドレス）によって特定される通信相手からの接続要求パケットを破棄することで、その接続要求パケットに対する応答を制限することができる。
【００８８】
ＭＡＣフィルタリングは、ＯＳＩ（Open Systems Interconnection）階層モデルのデータリンク層で行われる処理であり、従って、ＭＡＣフィルタリングによって、接続要求パケットを破棄することで、データリンク層より上位の層で接続要求パケットを処理する必要がなくなるので、不正なアクセスによるアクセスポイント１の負荷を低減することができる。
【００８９】
次に、図８は、本発明を適用したネットワークシステムの他の一実施の形態の構成例を示している。
【００９０】
図８おいて、サーバ５０は、ネットワーク４を介してクライアント５１と接続されており、サーバ５０が接続（ログイン）を許可したユーザ（このユーザが使用するクライアント５１）にのみ、サービスを提供する構成となっている。そして、クライアント５１のユーザが、サーバ５０に対して接続要求を行うと、サーバ５０は、ユーザＩＤおよびパスワードによる認証を行う。ここで、ユーザＩＤおよびパスワードによる認証を行うサーバ５０とクライアント５１との間の通信に使用される通信プロトコルとしては、例えば、NetBIOS（Network Basic Input Output System）、smb（Server Message Block）、およびhttp（HyperText Transfer Protocol）などがある。
【００９１】
例えば、クライアント５１のユーザが、サーバ５０に接続するための（正規の）ユーザＩＤおよびパスワードを有している場合、認証は成功し、サーバ５０は、クライアント５１からの接続要求に許可を与える。これにより、クライアント５１は、サーバ５０に接続することが可能となり、サーバ５０に記憶されている、例えば、webページやコンテンツ、その他のファイルなどにアクセスすることができる。
【００９２】
一方、クライアント５１を使用するユーザが、サーバ５０に接続するためのユーザＩＤおよびパスワードを有していない場合、認証は失敗するので、サーバ５０はクライアント５１との接続を拒否する。
【００９３】
次に、図９は、図８のサーバ５０の機能的な構成例を示すブロック図である。
【００９４】
サーバ５０は、通信部６１、確認部６２、リスト記憶部６３、認証部６４、ユーザＩＤ／パスワード記憶部６５、および更新部６６を備えて構成されている。
【００９５】
通信部６１は、ネットワーク４を介してクライアント５１とデータの送受信をする。また、通信部６１は、例えば、クライアント５１から受信したデータが、接続を要求するパケットである接続要求パケットである場合、その接続要求パケットを、通信部６１から確認部６２に供給する。さらに、通信部６１は、更新部６６の制御に従って、接続要求パケットを送信してきたクライアント５１に対して、応答を返す（送信する）。
【００９６】
確認部６２は、リスト記憶部６３に記憶された、後述する認証失敗ユーザＩＤ情報リストを参照し、その認証失敗ユーザＩＤ情報リストに基づいて、通信部６１からの接続要求パケットを破棄するか、または、認証部６４に供給する。
【００９７】
リスト記憶部６３は、認証失敗ユーザＩＤ情報リストを記憶する。認証失敗ユーザＩＤ情報リストについては、図１０を参照して、後述する。
【００９８】
認証部６４は、確認部６２からの接続要求パケットに対して、ユーザＩＤ／パスワード記憶部６５に記憶されたユーザＩＤおよびパスワードを用いて認証を行い、認証に成功した場合、その接続要求パケットを送信してきたクライアント５１の接続を許可する。また、認証部６４は、認証に失敗した場合、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストを更新するために、認証に失敗したクライアント５１からの接続要求パケットを更新部６６に供給する。
【００９９】
ユーザＩＤ／パスワード記憶部６５は、正規のユーザＩＤおよびパスワードを記憶する。なお、ユーザＩＤ／パスワード記憶部６５に記憶させるユーザＩＤおよびパスワードは、例えば、いわゆるユーザ登録時に、サーバ５０が発行することもできるし、クライアント５１のユーザが、ユーザ登録時に決めることもできる。
【０１００】
更新部６６は、認証部６４から供給された接続要求パケットに基づき、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストを更新する。また、更新部６６は、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストに基づき、接続要求パケットを送信してきたクライアント５１に対する、通信部６１による応答の送信の制御を行う。
【０１０１】
図１０は、図９のリスト記憶部６３に記憶される認証失敗ユーザＩＤ情報リストを示す図である。
【０１０２】
認証失敗ユーザＩＤ情報リストには、サーバ５０に対して接続要求パケットを送信してきた通信相手（ユーザ）のうちの、認証に失敗した通信相手の「ユーザＩＤ」に対応付けて、そのユーザＩＤによって特定される通信相手の認証に失敗した回数である「失敗回数」、その通信相手に対して何ら応答しない状態となることを表す１ビットの「応答拒否フラグ」、通信相手に対する応答を一時的に中断する状態となることを表す１ビットの「応答中断フラグ」、接続要求パケットに対する応答を通信相手（ユーザが使用しているクライアント）に返すことを中断する期間を表す「中断期間」が登録される。
【０１０３】
上述したように、認証失敗ユーザＩＤ情報リストの更新は、図９の更新部６６によって行われる。
【０１０４】
即ち、例えば、いま、あるユーザがクライアント５１（図８）を操作することにより、クライアント５１からサーバ５０に対して、接続要求パケットが送信され、サーバ５０において、クライアント５１からの接続要求パケットが、通信部６１で受信されて、確認部６２を介して認証部６４に供給されたとする。さらに、その接続要求パケットには、認証に用いられるユーザＩＤとパスワードとが含まれており、認証部６４において、接続要求パケットに含まれているユーザＩＤおよびパスワードを用いた認証が行われ、その認証が失敗したとする。
【０１０５】
例えば、クライアント５１からの接続要求パケットに含まれているユーザＩＤおよびパスワードを用いた認証の失敗が初めてである場合、認証失敗ユーザＩＤ情報リストには、そのユーザＩＤ、即ち、クライアント５１を使用しているユーザのユーザＩＤのエントリ（１行）が存在しないため、更新部６６は、認証失敗ユーザＩＤ情報リストに、クライアント５１を使用しているユーザのユーザＩＤのエントリを新たに作成し、そのエントリに、このユーザＩＤを登録する。
【０１０６】
さらに、更新部６６は、失敗回数を１回として、その１回の失敗回数に応じた中断期間としての、例えば、０秒を決定し、クライアント５１を使用しているユーザのユーザＩＤのエントリに、その失敗回数、および中断期間を登録する。そして、いまの場合、クライアント５１を使用しているユーザのユーザＩＤのエントリにおける中断期間、即ち、接続要求パケットに対する応答を返すまでの期間は、０秒であるので、更新部６６は、認証の失敗の後すぐに、クライアント５１へ認証の失敗を表す応答を送信するように通信部６１を制御する。
【０１０７】
一方、例えば、クライアント５１からの接続要求パケット含まれているユーザＩＤおよびパスワードを用いた認証の失敗が２回目以降である場合、認証失敗ユーザＩＤ情報リストには、そのユーザＩＤ、即ち、クライアント５１を使用しているユーザのユーザＩＤのエントリが存在するので、更新部６６は、そのエントリにおける失敗回数を１回増やす更新をし、その更新後の失敗回数に応じた中断期間を決定する。即ち、更新部６６は、例えば、失敗回数が２回目である場合には中断期間を１秒に、失敗回数が３回目である場合には中断期間を２秒に、失敗回数が４回目である場合には中断期間を４秒に、失敗回数が５回目である場合には中断期間を８秒に、といったように、失敗回数が１回増えるたびに中断期間を前回の２倍の値に決定する。
【０１０８】
そして、更新部６６は、認証失敗ユーザＩＤ情報リストのクライアント５１を使用しているユーザのユーザＩＤのエントリを、上述の失敗回数および中断期間によって更新し、さらに、そのエントリの応答中断フラグを、０または１のうちの、応答を一時的に中断する状態であることを示す、例えば、１にセットする。また、更新部６６は、直前の認証の失敗から中断期間が経過した後に、認証の失敗を表す応答をクライアント５１へ送信するように通信部６１を制御する。なお、応答中断フラグは、直前の認証の失敗から中断期間の経過後に、更新部６６によって０にリセットされる。
【０１０９】
その他、更新部６６は、クライアント５１を使用しているユーザのユーザＩＤのエントリにおける更新後の失敗回数が所定の閾値としての一定回数以下であるか否かを判定し、失敗回数が所定の閾値以下でない場合、そのユーザＩＤを含む接続要求パケットに応答することを制限（拒否）することを決定する。例えば、所定の閾値が６回であった場合、更新部６６は、クライアント５１を使用しているユーザのユーザＩＤのエントリにおける失敗回数が７回に更新されたとき、そのユーザＩＤを含む接続要求パケットに対する応答を制限することを決定する。
【０１１０】
そして、更新部６６は、認証失敗ユーザＩＤ情報リストのクライアント５１を使用しているユーザのユーザＩＤのエントリにおける応答拒否フラグを、０または１のうちの、接続要求パケットに対する応答を制限することを表す、例えば、１にセットする。
【０１１１】
次に、図１１は、図８のサーバ５０のハードウエアの構成例を示すブロック図である。
【０１１２】
サーバ５０は、コンピュータであり、ＲＯＭ７１、ハードディスク７２、ＣＰＵ７３、ＲＡＭ７４、通信部７５（例えば、ネットワークインターフェースカードなど）、ドライブ７６、出力部７７（例えば、液晶ディスプレイなど）、および入力部７８（キーボードや、マウス、マイクなど）を備えて構成されている。
【０１１３】
通信部７５、ドライブ７６、出力部７７、および入力部７８は、入出力インタフェース７９に接続されており、ＲＯＭ７１、ハードディスク７２、ＣＰＵ７３、ＲＡＭ７４、および入出力インタフェース７９は、バス８０により相互に接続されている。
【０１１４】
ＲＯＭ７１やハードディスク７２は、プログラムを記憶し、ＣＰＵ７３は、そのプログラムを実行する。これにより、図９に示した機能的な構成が、等価的に実現される。また、ハードディスク７２は、図９のリスト記憶部６３やユーザＩＤ／パスワード記憶部６５として機能し、ユーザＩＤおよびパスワード、並びに認証失敗ＭＡＣアドレス情報リスト等を記憶する。ＲＡＭ７４は、ＣＰＵ７３が実行するプログラムや必要なデータなどを適宜記憶する。
【０１１５】
通信部７５は、図９の通信部６１に対応し、有線通信または無線通信でデータの送受信を行う。
【０１１６】
なお、ハードディスク７２に記憶される（インストールする）プログラムは、例えば、ダウンロードサイトから、ディジタル衛星放送用の人工衛星を介して、サーバ５０に無線で転送したり、ＬＡＮ、インターネットといったネットワークを介して、サーバ５０に有線で転送したりすることができる。
【０１１７】
また、プログラムは、ドライブ７６に装着されたリムーバブル記録媒体８１から読み出し、ハードディスク７２にインストールすることもできる。リムーバブル記録媒体８１としては、フレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto Optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリを使用することができる。このようなリムーバブル記録媒体８１は、いわゆるパッケージソフトウエアとして提供することができる。
【０１１８】
また、例えば、サーバ５０を管理するユーザ（管理者）は、出力部７７に認証失敗ユーザＩＤ情報リストを表示させて、その内容を入力部７８を操作することにより書き換えたり、接続要求パケットに応答することが制限される失敗回数の所定の閾値などの設定の変更をすることができる。
【０１１９】
次に、図１２のフローチャートを参照して、サーバ５０が、接続要求してきたクライアント５１のユーザに対して認証を行って、接続許可を与える接続許可処理について説明する。
【０１２０】
ステップＳ５１において、通信部６１は、ユーザが使用するクライアント５１などの通信相手からの接続要求パケットが送信されてくるのを待機しており、接続要求パケットが送信されてくると、その接続要求パケットを受信し、確認部６２に供給して、ステップＳ５２に進む。
【０１２１】
ステップＳ５２において、確認部６２は、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストを参照し、通信部６１からの接続要求パケットに含まれるユーザＩＤによって特定される通信相手（ユーザ）の認証を行うべきか否かを確認する確認処理を行う。ステップＳ５２の確認処理の詳細は、図１４を参照して後述するが、ステップＳ５２において、通信相手（ユーザ）の認証を行うべきでないことが確認された場合、確認部６２は、その通信相手からの接続要求パケット、即ち、通信部６１からの接続要求パケットを破棄して、ステップＳ５１に戻る。
【０１２２】
一方、ステップＳ５２において、通信相手（ユーザ）の認証を行うべきであることが確認された場合、確認部６２は、通信部６１からの接続要求パケットを認証部６４に供給して、ステップＳ５３に進み、認証部６４は、ユーザＩＤ／パスワード記憶部６５に記憶されたユーザＩＤおよびパスワードによって、確認部６２からの接続要求パケットを送信してきた通信相手（ユーザ）認証する認証処理を行い、その認証の正否を判定する。
【０１２３】
ステップＳ５３において、接続要求パケットを送信してきた通信相手（例えば、接続要求パケットを送信してきたクライアント５１を使用しているユーザ）の認証に成功したと判定された場合、即ち、その接続要求パケットに含まれているユーザＩＤとパスワードにそれぞれ一致するユーザＩＤとパスワードが、ユーザＩＤ／パスワード記憶部６５に記憶されている場合、認証部６４は、更新部６６を介して、通信部６１を制御することにより、その接続要求パケットを送信してきた通信相手に、認証が成功した旨の応答を送信させ、接続許可処理を終了する。
【０１２４】
ここで、通信部６１（サーバ５０）から、認証に成功した旨の応答を受信した通信相手は、その後、サーバ５０に記憶されているファイルなどにアクセスすることが可能となる。
【０１２５】
一方、ステップＳ５３において、接続要求パケットを送信してきた通信相手の認証に失敗したと判定された場合、即ち、その接続要求パケットに含まれているユーザＩＤとパスワードにそれぞれ一致するユーザＩＤとパスワードが、ユーザＩＤ／パスワード記憶部６５に記憶されていない場合、認証部６４は、確認部６２からの接続要求パケットを、更新部６６に供給して、ステップＳ５４に進む。
【０１２６】
ステップＳ５４において、更新部６６は、認証部６４からの接続要求パケットに基づき、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストを更新する更新処理を行う。ステップＳ５４の更新処理の詳細は、図１３を参照して後述するが、更新処理では、更新部６６は、認証失敗ユーザＩＤ情報リストの更新の他、更新後の認証失敗ユーザＩＤ情報リストに基づき、認証に失敗した通信相手に対して、その失敗した旨を送信するように、通信部６１の制御も行う。ステップＳ５４での処理後は、ステップＳ５１に戻り、以下、同様の処理が繰り返される。
【０１２７】
次に、図１３のフローチャートを参照して、図１２のステップＳ５４で更新部６６が行う更新処理について説明する。
【０１２８】
図１２で説明したように、認証部６４において、認証が失敗すると、その認証の対象となった通信相手からの接続要求パケットが、更新部６６に供給され、更新部６６は、認証部６４から、認証に失敗した通信相手からの接続要求パケットが供給されると、更新処理を行う。
【０１２９】
即ち、更新処理では、ステップＳ８１において、更新部６６は、認証部６４からの接続要求パケットに含まれるユーザＩＤ、つまり、認証に失敗した通信相手である、例えば、クライアント５１を使用しているユーザのユーザＩＤ（以下、適宜、失敗ユーザＩＤという）を認識する。さらに、更新部６６は、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストから、失敗ユーザＩＤのエントリを検索し、そのエントリにおける認証に失敗した失敗回数を１回だけインクリメントすることにより更新し、ステップＳ８２に進む。なお、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストに、失敗ユーザＩＤのエントリが存在しない場合には、更新部６６は、その認証失敗ユーザＩＤ情報リストに、失敗ユーザＩＤのエントリを、新たに追加し、さらに、そのエントリにおける失敗回数を１回とする。
【０１３０】
ステップＳ８２において、更新部６６は、認証失敗ユーザＩＤ情報リストにおける更新後の失敗回数が所定の閾値としての一定回数以下であるか否かを判定し、失敗回数が一定回数以下であると判定した場合に、ステップＳ８３に進む。
【０１３１】
ステップＳ８３において、更新部６６は、更新後の失敗回数に応じて長くなる中断期間を決定して、ステップＳ８４に進み、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストの失敗ユーザＩＤのエントリをステップＳ８３で決定された中断期間によって更新する。なお、失敗ユーザＩＤのエントリが直前のステップＳ８１で新たに追加された場合、そのエントリにおける失敗回数は１回に、中断期間は０秒に、それぞれされる。ステップＳ８４の処理が行われた後、ステップＳ８５に進む。
【０１３２】
ステップＳ８５において、更新部６６は、認証失敗ユーザＩＤ情報リストの失敗ユーザＩＤのエントリにおける応答中断フラグを、応答の中断を表す１にセットする。なお、応答中断フラグは、直前の認証の失敗から中断期間が経過すると、更新部６６によって、０にリセットされる。
【０１３３】
ステップＳ８５の処理後は、ステップＳ８６に進み、更新部６６は、直前のステップＳ８３で決定された中断期間の経過後に、接続要求パケットを送信してきた通信相手（失敗ユーザＩＤのユーザが使用している装置）に対して認証に失敗した旨の応答を送信するように、通信部６１を制御して、更新処理を終了し、図１２のステップＳ５１に戻る。
【０１３４】
このように、サーバ５０では、認証の失敗回数に応じて長くなるように決定される中断期間の経過後に、認証に失敗した旨の応答を送信することで、通信相手の認証に失敗した失敗回数が増加するに従って、その通信相手に対して認証に失敗した旨の応答を送信する間隔が長くなる。従って、認証の失敗回数の多い通信相手に対するサーバ５０の負担が低減する。
【０１３５】
一方、ステップＳ８２において、更新部６６が、失敗ユーザＩＤのエントリにおける失敗回数が所定の閾値としての一定回数以下でないと判定した場合、即ち、例えば、失敗ユーザＩＤによって特定されるユーザが使用している装置（同一の装置である必要はない）から、そのユーザＩＤを含む接続要求パケットが一定回数を超える回数だけ送信され、そのすべての接続要求パケットについての認証が失敗し、従って、失敗ユーザＩＤのユーザがクライアント５１、その他の装置を使用することによって、総当り攻撃がされている可能性が極めて高い場合、ステップＳ８７に進み、更新部６６は、失敗ユーザＩＤによって特定されるユーザに対する応答を制限（拒否）することを決定し、ステップＳ８８に進む。
【０１３６】
ステップＳ８８において、更新部６６は、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストの失敗ユーザＩＤのエントリにおける応答拒否フラグを、応答を制限する旨を表す１にセットして、更新処理を終了し、図１２のステップＳ５１に戻る。
【０１３７】
次に、図１４のフローチャートを参照して、図１２のステップＳ５２で確認部６２が行う確認処理について説明する。
【０１３８】
ステップＳ６１において、確認部６２は、通信部６１からの接続要求パケットから、その接続要求パケットを送信してきた通信相手（ユーザ）のユーザＩＤを取得し、ステップＳ６２に進む。ステップＳ６２において、確認部６２は、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストのうちの、ステップＳ６１で取得したユーザＩＤのエントリを参照し、そのエントリにおける応答拒否フラグが、応答を制限（拒否）する旨の１にセットされているか否かを判定する。
【０１３９】
ステップＳ６２において、失敗ユーザＩＤのエントリにおける応答拒否フラグが１にセットされていると判定された場合、即ち、失敗ユーザＩＤによって特定される通信相手（ユーザ）についての認証が、既に、一定回数を超える回数だけ失敗しており、その通信相手（ユーザ）が総当り攻撃をしている可能性が極めて高い場合、ステップＳ６４に進み、確認部６２は、その通信相手から送信され、通信部６１から供給された接続要求パケットを破棄して、確認処理を終了し、図１２のステップＳ５１に戻る。
【０１４０】
このように、サーバ５０では、認証が一定回数を超える回数だけ失敗したユーザ（ユーザが使用している装置）からの接続要求パケットが破棄され、その接続要求パケットに対して、認証は勿論、応答の送信も行なわれない。従って、総当り攻撃に対するサーバ５０の負荷を軽減するともに、そのような総当り攻撃による不正アクセスを、容易に防止することができる。
【０１４１】
一方、ステップＳ６２において、失敗ユーザＩＤのエントリにおける応答拒否フラグが１にセットされていないと判定された場合、即ち、失敗ユーザＩＤによって特定される通信相手（ユーザ）についての認証の失敗回数が、まだ、一定回数以下である場合、ステップＳ６３に進み、確認部６２は、失敗ユーザＩＤのエントリにおける応答中断フラグが、応答を一時的に中断する旨を表す１にセットされているか否かを判定する。
【０１４２】
ステップＳ６３において、失敗ユーザＩＤのエントリにおける応答中断フラグが１にセットされていると判定された場合、即ち、失敗ユーザＩＤによって特定されるユーザについての認証が、一定回数以下の失敗回数だけ失敗しており、その失敗回数に応じて決定された中断期間だけの時間が、直前の認証の失敗から、まだ経過していない場合、ステップＳ６４に進み、確認部６２は、上述したように、失敗ユーザＩＤによって特定されるユーザ（ユーザが使用している装置）から送信され、通信部６１から供給された接続要求パケットを破棄し、確認処理を終了して、図１２のステップＳ５１に戻る。
【０１４３】
このように、サーバ５０では、認証が一定回数以下の回数しか失敗していないユーザ（ユーザが使用している装置）からの接続要求パケットであっても、直前の認証の失敗から中断期間が経過していない場合には破棄され、その接続要求パケットに対して、認証は勿論、応答の送信も行なわれない。
【０１４４】
上述したように、中断期間は、失敗回数に応じて、失敗回数が多くなるほど長い期間（時間）に決定されるから、失敗ユーザＩＤによって特定されるユーザについては、認証の失敗回数が増加するにつれ、つまり、認証の失敗が続くにつれ、そのユーザが使用している装置からの接続要求パケットに対する応答を返すことを中断する中断期間が長くなる。さらに、直前の認証の失敗から、中断期間が経過するまでは、その間に、失敗ユーザＩＤによって特定されるユーザが使用している装置から接続要求パケットが送信されてきても破棄される。
【０１４５】
失敗ユーザＩＤによって特定されるユーザについての認証の失敗が続くということは、そのユーザが総当り攻撃をしている可能性が高いということであり、従って、そのようなユーザが使用しているクライアント５１、その他の装置からの接続要求パケットを破棄して認証を行わず、また、接続要求パケットに対する応答を行うまでの時間を長くすることにより、総当り攻撃に対するサーバ５０の負荷を軽減するとともに、そのような総当り攻撃による不正アクセスを、容易に防止することができる。
【０１４６】
なお、失敗ユーザＩＤによって特定されるユーザについての認証の失敗が続き、その結果、失敗回数が一定回数を超えた場合には、上述したように、そのユーザのユーザＩＤ（失敗ユーザＩＤ）のエントリにおける応答拒否フラグが１にセットされ、以後、そのユーザが使用している装置からの接続要求パケットは破棄され続け、接続要求パケットに対して、認証は勿論、応答の送信も行なわれなくなる。ユーザが使用する装置を代えても、ユーザＩＤが同一である限り、そのユーザＩＤを含む接続要求パケットは破棄される。
【０１４７】
一方、ステップＳ６３において、失敗ユーザＩＤのエントリにおける応答中断フラグに１がセットされていないと判定された場合、確認処理を終了して、図１２のステップＳ５３に進み、上述した認証処理が行われる。
【０１４８】
なお、更新部６６では、応答拒否フラグは、１にセットされた後、一定時間が経過したときに、０にリセットすることができる。また、サーバ５０を管理するユーザが、１にセットされている応答拒否フラグを０にリセットすることもできる。さらに、更新部６６では、認証失敗ユーザＩＤ情報リストのエントリのうちの、最後に更新されてから一定期間更新がされていないエントリを削除することができる。
【０１４９】
以上のように、失敗回数に応じて長くなる中断期間を決定し、その中断期間の経過後に、応答が返されるので、即ち、ユーザの認証に失敗した失敗回数に応じて、そのユーザ（ユーザが使用している装置）に応答を返すまでの応答時間（応答を返すことを中断する中断期間）を長くするように、通信部６１が制御されるので、サーバ５０に対する不正なアクセスを困難にすることができる。
【０１５０】
例えば、サーバ５０のユーザＩＤ／パスワード記憶部６５に設定されたユーザＩＤおよびパスワードを知らないユーザが、不正にサーバ５０に接続しようとして、クライアント５１から、あるユーザＩＤ＃Ａに対して様々なパスワードを含んだ接続要求パケットを、連続して送信する総当り攻撃を行っても、認証に失敗し、その認証の失敗回数に応じて長くなる中断期間が決定される。そして、サーバ５０では、中断期間に送信されてくるユーザＩＤ＃Ａを含む接続要求パケットは破棄され、これにより、中断期間に、ユーザＩＤ＃Ａを含む接続要求パケットによる接続要求パケットに対する応答が制限されるので、ユーザＩＤ＃Ａを含む接続要求パケットによる不正なアクセスが成功してしまうまでの時間が飛躍的に長くなる。従って、総当り攻撃による不正なアクセスが成功することを、困難にすることができる。
【０１５１】
また、あるユーザＩＤの認証の失敗回数が一定回数を越えると、サーバ５０は、そのユーザＩＤを含む接続要求パケットを破棄し続け、そのユーザＩＤの認証を行わなくなるので、認証が誤って成功することにより、そのユーザＩＤによる不正なアクセスが成功することがなくなる。なお、他のクライアントから、同一のユーザＩＤを含む接続要求パケットが送信されてきても、その接続要求パケットは破棄される。
【０１５２】
さらに、サーバ５０では、接続要求パケットに含まれるユーザＩＤの他、その接続要求パケットに含まれるＭＡＣアドレスを参照することにより、ＭＡＣアドレスは同一であるが、ユーザＩＤおよびパスワードが異なる多数の接続要求パケットを連続して送信する総当り攻撃が行われても、そのような総当り攻撃による不正なアクセスを防止することができる。
【０１５３】
即ち、サーバ５０の更新部６６においては、認証に失敗したユーザＩＤに対応付けて、そのユーザＩＤを含む接続要求パケットを送信してきた装置を特定する「ＭＡＣアドレス」を、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストに登録する。そして、更新部６６は、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストを参照して、ＭＡＣアドレスが同一の接続要求パケットに対する認証が失敗している場合、その失敗回数に応じて、中断期間を決定し、または、応答を制限することを決定する。
【０１５４】
そして、サーバ５０の確認部６２においては、接続要求パケットに含まれるユーザＩＤの他、その接続要求パケットに含まれるＭＡＣアドレスを参照し、リスト記憶部６３に記憶された認証失敗ユーザＩＤ情報リストにおいて、そのＭＡＣアドレスに対して中断期間が決定されているか、または、応答を制限することが決定されていれば（応答拒否フラグまたは応答中断フラグが１になっていれば）、そのＭＡＣアドレスで特定される装置からの接続要求パケットを破棄する。
【０１５５】
このように、サーバ５０では、接続要求パケットに含まれるユーザＩＤおよびＭＡＣアドレスの両方を参照して、このユーザＩＤおよびＭＡＣアドレスに基づいて、接続要求パケットに対する応答を返すことを中断し、または、応答を制限することができる。
【０１５６】
この場合、同一のＭＡＣアドレスで、異なるユーザＩＤを含む接続要求パケットを連続して送信する総当り攻撃が行われても、同一のユーザＩＤで、異なるＭＡＣアドレスを含む接続要求パケットを連続して送信する総当り攻撃が行われても、サーバ５０において、接続要求パケットに含まれるユーザＩＤおよびＭＡＣアドレスの両方を参照して、上述したように、接続要求パケットに対する応答を返すことを中断し、または、応答を制限することにより、不正なアクセスを防止することができる。
【０１５７】
なお、本実施の形態においては、図２のアクセスポイント１の確認部１２において、接続要求パケットを破棄することで、応答を制限するようにしたが、確認部１２が、接続要求パケットを破棄せずに認証部１４に供給するとともに、認証処理を停止する認証停止指令を認証部１４に与えることによって、応答を制限するようにしてもよい。即ち、この場合、認証部１４は、認証停止指令に従い、確認部１２からの接続要求パケットに対する認証処理を行わないので、その接続要求パケットに対する応答を制限することができる。
【０１５８】
このように、確認部１２が、認証停止指令を認証部１４に与えることで、認証部１４が、通信相手の認証を行わないようにすることにより、アクセスポイント１では、その接続要求パケットに対する応答を返すことを中断し、または、応答を制限することができる。従って、アクセスポイント１に対する不正なアクセスを防止することができる。
【０１５９】
同様に、図９のサーバ５０においても、確認部６２が、通信相手の認証を行うべきでないことが確認されたユーザＩＤを含む接続要求パケットを破棄せずに、この接続要求パケットを認証部６４に供給するとともに、認証を停止する認証停止指令を認証部６４に与えることにより、サーバ５０において、その接続要求パケットに対する応答を返すことを中断し、または、応答を制限することができる。従って、サーバ５０に対する不正なアクセスを防止することができる。
【０１６０】
また、本実施の形態では、応答拒否フラグによって応答を制限するようにしたが、その他、例えば、中断期間を無限大とすることにより、応答を制限することも可能である。この場合、応答拒否フラグは不要となる。
【０１６１】
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むものである。
【図面の簡単な説明】
【０１６２】
【図１】本発明を適用したネットワークシステムの一実施の形態の構成例を示す図である。
【図２】アクセスポイント１の機能的な構成例を示すブロック図である。
【図３】リスト記憶部１３に記憶される認証失敗ＭＡＣアドレス情報リストを示す図である。
【図４】アクセスポイント１を実現するプログラムがインストールされるコンピュータ２０の一実施の形態の構成例を示すブロック図である。
【図５】アクセスポイント１の接続許可処理を説明するフローチャートである。
【図６】更新部１６が行う更新処理を説明するフローチャートである。
【図７】確認部１２が行う確認処理を説明するフローチャートである。
【図８】本発明を適用したネットワークシステムの他の一実施の形態の構成例を示す図である。
【図９】サーバ５０の機能的な構成例を示すブロック図である。
【図１０】リスト記憶部６３に記憶される認証失敗ユーザＩＤ情報リストを示す図である。
【図１１】サーバ５０のハードウエアの構成例を示すブロック図である。
【図１２】サーバ５０の接続許可処理を説明するフローチャートである。
【図１３】更新部６６が行う更新処理を説明するフローチャートである。
【図１４】確認部６２が行う確認処理を説明するフローチャートである。
【符号の説明】
【０１６３】
１  アクセスポイント，  ２，３  コンピュータ，  ４  ネットワーク，１１  通信部，  １２  確認部，  １３  リスト記憶部，  １４  認証部，  １５  ＷＥＰキー記憶部，  １６  更新部，  ２０  コンピュータ，  ２１  ＲＯＭ，  ２２  フラッシュメモリ，  ２３  ＣＰＵ，  ２４  ＲＡＭ，  ２５  通信部，  ２６  バス，  ５０  サーバ，  ５１  クライアント，  ６１  通信部，  ６２  確認部，  ６３  リスト記憶部，  ６４  認証部，  ６５  ユーザＩＤ／パスワード記憶部，６６  更新部，  ７１  ＲＯＭ，  ７２  ハードディスク，  ７３  ＣＰＵ，  ７４  ＲＡＭ，  ７５  通信部，  ７６  ドライブ，  ７７  出力部，  ７８  入力部，  ７９  入出力インタフェース，  ８０  バス，  ８１  リムーバブル記録媒体
【図１】
2006185389.tif 000003
【図２】
2006185389.tif 000004
【図３】
2006185389.tif 000005
【図４】
2006185389.tif 000006
【図５】
2006185389.tif 000007
【図６】
2006185389.tif 000008
【図７】
2006185389.tif 000009
【図８】
2006185389.tif 000010
【図９】
2006185389.tif 000011
【図１０】
2006185389.tif 000012
【図１１】
2006185389.tif 000013
【図１２】
2006185389.tif 000014
【図１３】
2006185389.tif 000015
【図１４】
2006185389.tif 000016