(57)【要約】 【課題】通信相手を適切に制限するのに好適な通信装置等を提供する。【解決手段】通信装置２０１の生成部２０２は、ランダムに鍵符号を生成し、送信部２０３は、生成された鍵符号を指定するパケットを、コンピュータ通信網に送信し、判断部２０４は、当該コンピュータ通信網から到来するパケットに、生成された鍵符号が指定されているか否かを判断し、許可部２０５は、当該到来したパケットに生成された鍵符号が指定されている場合、当該到来したパケットの送信元との通信を許可し、受信部２０６は、当該コンピュータ通信網から到来するパケットのうち、前記通信を許可された送信元から送信されたパケットを受信する。【選択図】図２
2007208887.tif 000002
【特許請求の範囲】
【請求項１】
鍵符号を生成する生成部、
前記生成された鍵符号を指定するパケットを、コンピュータ通信網に送信する送信部、
当該コンピュータ通信網から到来するパケットに、前記生成された鍵符号が指定されているか否かを判断する判断部、
当該到来したパケットに前記生成された鍵符号が指定されている場合、当該到来したパケットの送信元との通信を許可する許可部、
当該コンピュータ通信網から到来するパケットのうち、前記通信を許可された送信元から送信されたパケットを受信する受信部
を備えることを特徴とする通信装置。
【請求項２】
請求項１に記載の通信装置であって、
前記生成された鍵符号を指定するパケットには、当該通信装置において受信を行うポート番号がさらに指定され、
前記受信部は、前記通信を許可された送信元から送信されたパケットのうち、当該指定されたポート番号を介するパケットを受信する
ことを特徴とする通信装置。
【請求項３】
請求項１または２に記載の通信装置であって、
前記送信部は、当該鍵符号を指定するパケットを所定のサーバ装置に送信し、
当該到来したパケットであって、前記生成された鍵符号が指定されるパケットの当該到来したパケットの送信元は、当該鍵符号を当該サーバ装置から知得して、当該パケットを当該通信装置に送信する
ことを特徴とする通信装置。
【請求項４】
請求項１から３のいずれか１項に記載の通信装置であって、
前記通信を許可された送信元から送信されたパケットを最後に受信してからの経過時間が所定の閾時間を超えると、当該送信元に対する通信の許可を取り消す取消部
をさらに備えることを特徴とする通信装置。
【請求項５】
請求項１から３のいずれか１項に記載の通信装置であって、
当該鍵符号を生成してからの経過時間が所定の閾時間を超えると、当該送信元に対する通信の許可を取り消す取消部
をさらに備えることを特徴とする通信装置。
【請求項６】
請求項１から３のいずれか１項に記載の通信装置であって、
前記許可部は、前記生成された鍵符号が指定されて到来したパケットの送信元の数があらかじめ定めた閾個数を超えると、当該新たに到来したパケットの送信元との通信を許可しない
ことを特徴とする通信装置。
【請求項７】
請求項１から６のいずれか１項に記載の通信装置であって、
前記受信されたパケットを、当該通信装置に接続される端末装置に中継する中継部
をさらに備えることを特徴とする通信装置。
【請求項８】
生成部、送信部、判断部、許可部、受信部を備える通信装置にて実行される通信方法であって、
前記生成部が、鍵符号を生成する生成工程、
前記送信部が、前記生成された鍵符号を指定するパケットを、コンピュータ通信網を介して、通信を許可すべき相手に送信する送信工程、
前記判断部が、当該コンピュータ通信網から到来するパケットに、前記生成された鍵符号が指定されているか否かを判断する判断工程、
前記許可部が、当該到来したパケットに前記生成された鍵符号が指定されている場合、当該到来したパケットの送信元との通信を許可する許可工程、
前記受信部が、当該コンピュータ通信網から到来するパケットのうち、前記通信を許可された送信元から送信されたパケットを受信する受信工程
を備えることを特徴とする通信方法。
【請求項９】
コンピュータを、
鍵符号を生成する生成部、
前記生成された鍵符号を指定するパケットを、コンピュータ通信網を介して、通信を許可すべき相手に送信する送信部、
当該コンピュータ通信網から到来するパケットに、前記生成された鍵符号が指定されているか否かを判断する判断部、
当該到来したパケットに前記生成された鍵符号が指定されている場合、当該到来したパケットの送信元との通信を許可する許可部、
当該コンピュータ通信網から到来するパケットのうち、前記通信を許可された送信元から送信されたパケットを受信する受信部
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信相手を適切に制限するのに好適な通信装置、通信方法、ならびに、これらをコンピュータにて実現するプログラムに関する。
【背景技術】
【０００２】
従来から、家庭内ＬＡＮ(Local Area Network)とインターネットとを中継する際に、アドレス変換やポート変換を行うルータ装置やゲートウェイ装置の技術が提案されている。このような技術は、たとえば、以下の文献に開示されている。
【特許文献１】特開２０００−９９４６９号公報
【特許文献２】特開２００２−３４４４４３号公報
【０００３】
[特許文献１]には、開放型分散ネットワークに接続された資源に対するアクセス権管理にかかわる主体を、特定資源の利用を行うユーザと、ユーザの特定の特徴について証明、保証を行う検証者と、特定資源について、特定ユーザの利用可否を判断する権限付与者とに分離し、ユーザが、公開名、鍵および当該ユーザを特徴づける複数のプロファイル情報を保持し、検証者が、ユーザからの発行依頼を受けて、プロファイル情報の個々の内容を当該ユーザに発行し、権限付与者が、ユーザから資源利用要求があると、該ユーザにプロファイル情報の提示を要求し、提示されたプロファイル情報の内容を確認して、資源の利用可否を判断する技術が開示されている。
【０００４】
[特許文献２]には、一方の暗号装置が、自装置を識別するための識別子（ＩＰアドレス）を変更後、「変更前の識別子」と暗号用鍵および認証用鍵を用いて暗号化した「セキュリティアソシエーション開放」とを含むセキュリティアソシエーション切断通知を、通信相手である他方の暗号装置に対して送信し、他方の暗号装置が、上記暗号用鍵および上記認証用鍵を用いて当該セキュリティアソシエーション切断通知を復号し、相互認証を行い、旧セキュリティアソシエーションを切断する技術が開示されている。
【０００５】
このほか、ユニバーサルプラグアンドプレイ（ＵＰｎＰ；Universal Plug and Play）といった、ルータ装置やゲートウェイ装置が、インターネット側（グローバルネットワーク側）の通信ポートを開いて、ＮＡＴ（Network Address Translation；「ＩＰマスカレード」ともいう。）等のアドレス変換を行って家庭内ＬＡＮ側の端末と外部端末との通信を可能にする技術も提案されている。
この際に、特定のＩＰアドレスを有する端末からの通信のみ、許可する「ホワイトリスト」や、特定のＩＰアドレスを有する端末からの通信を拒絶する「ブラックリスト」などを維持管理する技術も提案されている。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、ＵＰｎＰなどの技術では、あるポートがある相手に対して開放されると、そのポートは任意の相手に対して開放されることとなってしまい、セキュリティ上の問題が生ずる。
特に、グローバルネットワークに対する通信口に対して動的にＩＰアドレスが割り振られる端末同士がインターネットを介したＰ２Ｐ（Peer To Peer）通信を行う等には、ホワイトリストやブラックリストを作ることができないため、許可される通信相手を適切に維持管理する必要がある。
【０００７】
したがって、グローバルネットワーク側の通信相手に対して、通信を許可するか否かを簡易に適切に制御する技術が強く求められている。
本発明は、上記のような課題を解決するもので、通信相手を適切に制限するのに好適な通信装置、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【０００９】
本発明の第１の観点にかかる通信装置は、生成部、送信部、判断部、許可部、受信部を備え、以下のように構成する。なお、本通信装置は、典型的にはルータ、ゲートウェイ、ファイアウォールなどの機器として機能するが、単独のコンピュータ上に本通信装置を構成し、当該コンピュータにおける通信相手を適切に制限することとしても良い。
【００１０】
すなわち、生成部は、鍵符号を生成する。当該鍵符号は、典型的には、ランダムに生成される整数、整数列、文字、もしくは、文字列など、種々のものを採用することができる。この鍵符号によって、通信を行っても良い相手か否かを判断する。
一方、送信部は、生成された鍵符号を指定するパケットを、コンピュータ通信網を介して、通信を許可すべき相手に送信する。通信を許可すべき相手にこのパケットが到達すると、その相手は、パケット内の鍵符号を取得して、取得した鍵符号を指定して、通信許可を要求するパケットを、当該通信装置に送信してくる。
【００１１】
そこで、判断部は、当該コンピュータ通信網から到来するパケットに、生成された鍵符号が指定されているか否かを判断する。一般に、コンピュータ通信網を介した通信においては、いわゆるバケツリレー方式による通信が行われるため、当該通信装置に到来したパケットの内容を、当該通信装置自身が受信して以降の処理を行うか、捨てるか、他の通信機器にたらい回しに送信するか、の判断を、パケットに含まれる宛先や送付経路設定に基づいて行っている。本発明では、この判断を行う際に、あわせて、パケットの内部に、先に生成した鍵符号が（バイト列として）含まれているか否かを判断する。
【００１２】
そして、当該到来したパケットに生成された鍵符号が指定されている場合、許可部は、当該到来したパケットの送信元との通信を許可する。本通信装置が生成した鍵符号は、通信を許可したい相手に対して送られたものであるから、当該鍵符号を指定したパケットの送信元は、割り符を持っていることになり、当該送信元からのパケットは、当該通信装置自身が処理することにする。
【００１３】
そこで、受信部は、当該コンピュータ通信網から到来するパケットのうち、通信を許可された送信元から送信されたパケットを受信する。
たとえば、本通信装置がルータ等の場合は、許可した相手からのパケットの宛先がルータに接続されたＬＡＮ内であれば、ＬＡＮ内に当該パケットを送り込むこととなる。一方、許可していない相手からのパケットの宛先がルータに接続されたＬＡＮ内であれば、当該パケットは捨てる、もしくは、接続を拒否することとして、適切に通信相手の制限を行う。
【００１４】
本発明では、通信相手を任意の相手に開放したりはせずに、生成される鍵符号を割り符として用いることによりこの割り符を使っている送信元との通信を許可するので、本発明によれば、通信相手を適切に制限することができるようになる。
【００１５】
また、本発明の通信装置において、生成された鍵符号を指定するパケットには、当該通信装置において受信を行うポート番号がさらに指定され、受信部は、通信を許可された送信元から送信されたパケットのうち、当該指定されたポート番号を介するパケットを受信するように構成することができる。
【００１６】
すなわち、送信元の制限付き開放を、ポート単位で行うのである。これにより、通信に用いるポート番号を動的に変化させることが可能となる。
本発明によれば、本通信装置をルータ等として機能させた場合にＬＡＮ内の複数のノートが同時に外部と通信するような状況でＮＡＰＴ（Network Address Port Translation）などを用いるときであっても、ポートを開放することができ、通信相手の制限を適切に行うことができるようになる。
【００１７】
また、本発明の通信装置において、送信部は、当該鍵符号を指定するパケットを所定のサーバ装置に送信し、当該到来したパケットであって、生成された鍵符号が指定されるパケットの当該到来したパケットの送信元は、当該鍵符号を当該サーバ装置から知得して、当該パケットを当該通信装置に送信するように構成することができる。
【００１８】
たとえば、通信対戦ゲームを実装する場合には、サーバ装置がある端末（のプレイヤー）と別の端末（のプレイヤー）とのマッチング（紹介）を行った後、当該端末同士がピアツーピアで直接通信し合う形態を取ることが多いが、本発明は、このような態様に対応するものである。
【００１９】
上記の例でいえば、一方の端末から、相手のマッチングを行うサーバ装置に鍵符号を送ると、サーバ装置がマッチング相手の端末にその鍵符号を伝達する。これによって、相手の端末が、鍵符号を指定したパケットを一方の端末に送信すると、このパケットの送信の向きの通信が可能となる。これを双方が行うことにより、双方向通信において通信相手を適切に制限するのである。
本発明によれば、通信相手を紹介するような固定されたサーバ装置に鍵符号を登録することで、当該サーバ装置が紹介する相手のみを通信相手として許可することができるようになる。
【００２０】
また、本発明の通信装置は、取消部をさらに備え、当該取消部は、通信を許可された送信元から送信されたパケットを最後に受信してからの経過時間が所定の閾時間を超えると、当該送信元に対する通信の許可を取り消すように構成することができる。
【００２１】
本発明は、上記発明の好適実施形態に係るもので、通信相手の許可に時間制限を設けるものであり、一旦通信を許可した相手であっても、一定時間が経過すれば、通信の許可を取り止めるものである。たとえば、上記の通信対戦の例では、ピアツーピアで通信対戦の一試合を行うのに十分な時間を閾時間とすれば良い。
本発明によれば、一旦通信を許可した相手であっても、一定時間が経過すればその許可が取り消されるので、ダイヤルアップ接続やＤＨＣＰ（Dynamic Host Configuration Protocol）などにより、通信相手のＩＰアドレスが変化する場合であっても、本来許可すべきでない相手に通信を許可してしまう危険性を減らすことができる。
【００２２】
また、本発明の通信装置は、取消部をさらに備え、当該鍵符号を生成してからの経過時間が所定の閾時間を超えると、当該送信元に対する通信の許可を取り消すように構成することができる。
本発明は、上記発明の好適実施形態に係るもので、鍵符号に有効期限を設けるものであり、一旦通信を許可した相手であっても、有効期限の後は、通信の許可を取り止めるものである。たとえば、上記の通信対戦の例では、ピアツーピアで通信対戦の一試合を行うのに十分な時間を閾時間とすれば良い。
【００２３】
本発明によれば、一旦通信を許可した相手であっても、有効期限の後はその許可が取り消されるので、ダイヤルアップ接続やＤＨＣＰ（Dynamic Host Configuration Protocol）などにより、通信相手のＩＰアドレスが変化する場合であっても、本来許可すべきでない相手に通信を許可してしまう危険性を減らすことができる。
【００２４】
また、本発明の通信装置において、許可部は、生成された鍵符号が指定されて到来したパケットの送信元の数があらかじめ定めた閾個数を超えると、当該新たに到来したパケットの送信元との通信を許可しないように構成することができる。
本発明は、上記発明の好適実施形態に係るもので、鍵符号が利用できる外部の送信元の個数に制限を設けるものであり、一定以上の送信元との通信は先着順で許可するが、それ以降の通信は許可しない、というものである。
【００２５】
このとき、送信元の個数を数えるときの、送信元を区別する単位は、たとえば、送信元のＩＰアドレス、送信元のＩＰアドレスとポート番号の組合せ、送信元のＭＡＣアドレス、送信元の端末の識別番号などを採用することができる。
本発明によれば、通信の許可に必要な鍵符号を知得しているような相手であっても、一定の数以上からのアクセスがあった場合には、これを許可しないこととして、鍵符号が盗聴や傍受、漏曳した場合であっても、本来許可すべきない相手に通信を許可してしまう危険性を減らすことができる。
【００２６】
また、本発明の通信装置は、中継部をさらに備え、当該中継部は、受信されたパケットを、当該通信装置に接続される端末装置に中継するように構成することができる。
本発明は、上記発明の好適実施形態に係るもので、中継部が、ＮＡＴ(Network Address Translation)やＮＡＰＴなどのＩＰマスカレード機能を有するように構成する場合に適用することができる。
本発明によれば、当該通信装置をルータ、ゲートウェイ、ファイアウォール等として機能させることができるようになる。
【００２７】
本発明のその他の観点に係る通信方法は、生成部、送信部、判断部、許可部、受信部を備える通信装置にて実行され、生成工程、送信工程、判断工程、許可工程、受信工程を備え、以下のように構成する。
すなわち、生成工程では、生成部が、鍵符号を生成する。
一方、送信工程では、送信部が、生成された鍵符号を指定するパケットを、コンピュータ通信網を介して、通信を許可すべき相手に送信する。
【００２８】
さらに、判断工程では、判断部が、当該コンピュータ通信網から到来するパケットに、生成された鍵符号が指定されているか否かを判断する。
そして、許可工程では、許可部が、当該到来したパケットに生成された鍵符号が指定されている場合、当該到来したパケットの送信元との通信を許可する。
一方、受信工程では、受信部が、当該コンピュータ通信網から到来するパケットのうち、通信を許可された送信元から送信されたパケットを受信する。
【００２９】
本発明のその他の観点に係るプログラムは、コンピュータを上記の通信装置として機能させ、コンピュータに上記の通信方法を実行させるように構成する。
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００３０】
本発明によれば、通信相手を適切に制限するのに好適な通信装置、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【発明を実施するための最良の形態】
【００３１】
以下に本発明の実施形態を説明するが、以下に説明する実施形態は説明のためのものであり、本願発明の範囲を制限するものではない。したがって、当業者であればこれらの各要素もしくは全要素をこれと均等なものに置換した実施形態を採用することが可能であるが、これらの実施形態も本発明の範囲に含まれる。
【実施例１】
【００３２】
図１は、本発明の実施形態の一つに係る通信装置が、プログラムを動作させることによって実現されるルータ装置の概要構成を示す模式図である。以下、本図を参照して説明する。
【００３３】
ルータ装置１０１は、フラッシュＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）１０２に記録されているプログラムを、ＣＰＵ  １０３が実行することによって、各種の動作を行う。この際に、ＲＡＭ（Random Access Memory）１０４が、一時的な記憶領域として利用される。
【００３４】
フラッシュＥＥＰＲＯＭ  １０２には、ＣＰＵ  １０３が実行するプログラムのほか、各種の設定データが記憶されている。たとえば、通常のルータでは、通信相手として許可する端末のＩＰアドレスや、通信相手として拒絶する端末のＩＰアドレス等が、ホワイトリストやブラックリストとして、フラッシュＥＥＰＲＯＭ  １０２に記録される。
【００３５】
ルータ装置１０１は、ネットワークインターフェースカード（ＮＩＣ；Network Interface Card）ＬＡＮ側ＮＩＣ  １０５とＷＡＮ側ＮＩＣ  １０６とを備えており、ＬＡＮとＷＡＮの通信のゲートウェイとして機能する。たとえば、通常のＮＡＰＴルータとして機能する場合を考える。
ＬＡＮ側ＮＩＣ  １０５にパケットが到達したことが検知されると、ＣＰＵ  １０３は、パケットの宛先を確認して、そのパケットがＷＡＮに送出すべきものか、それともＬＡＮ内の端末に送出すべきものかを識別する。
【００３６】
ＷＡＮに送出すべきものである場合には、送信元端末のＬＡＮ内でのＩＰアドレスとポート番号とを、ＷＡＮ側ＮＩＣ  １０６のＩＰアドレスおよび動的に割り当てたポート番号に書き換えて、ＷＡＮ側ＮＩＣ  １０６を介して外部（典型的にはインターネット）に送出する。
【００３７】
一方、ＬＡＮ内のいずれかの端末に送るべきものである場合には、ＬＡＮ側ＮＩＣ  １０５が宛先のＬＡＮ内でのＩＰアドレスの端末に、そのままパケットを送出する。
ＷＡＮ側ＮＩＣ  １０６は、逆向きに、上記と同様の処理を行う。
【００３８】
上記のようなＮＡＰＴ処理は、特に、ゲーム装置がＬＡＮ側に複数台接続されており、当該ゲーム装置にて同じゲームソフトが異なるユーザによって動作させられている場合に必要となる。
一般に、ゲームソフトが利用する通信ポートのポート番号は同じものが使用されるため、ＮＡＴのみでは、複数台のゲーム装置をＬＡＮ側に接続した場合に対応できないからである。本実施形態に係るルータ装置１０１では、異なるＬＡＮ側ＩＰアドレスを持つ端末が同じポート番号を用いてＷＡＮ側と通信しようとする場合には、ＷＡＮ側ＩＰアドレスとして両者に同じアドレスを割り当てる一方で、ＷＡＮ側ポート番号は異なるものとして、アドレスおよびポート番号の変換を行い、適切にＩＰマスカレードを行う。
【００３９】
このほか、ルータ装置１０１は、ＬＡＮ側の端末からはウェブサーバとして機能するようにすることもできる。この場合、ＬＡＮ側端末でＬＡＮ側ＮＩＣ  １０５のＩＰアドレスにウェブブラウザからアクセスすることによって表示されるフォームに、各種の設定値を入力してルータ装置１０１にフォームを送信することにより、ルータ装置１０１のフラッシュＥＥＰＲＯＭ  １０２に保存される設定値が変更されるように構成するのが一般的である。
【００４０】
図２は、上記のルータ装置上に実現される通信装置の実施形態の概要構成を示す模式図である。以下、本図を参照して説明する。なお、本通信装置は、いわゆるルータとして機能するため、通常のルータ機器が構成される情報処理装置と同様のハードウェアの上で、以下に説明するような機能を果たすためのプログラムを実行することにより、実現される。
【００４１】
さて、本実施形態の通信装置２０１は、生成部２０２、送信部２０３、判断部２０４、許可部２０５、受信部２０６、取消部２０７、中継部２０８を備える。本通信装置２０１は、上記のようにルータとして機能するため、ＬＡＮ側の端末とＷＡＮ側のインターネットとの通信の仲立ちを、ＮＡＰＴにより行う。ＮＡＰＴに係るアドレスおよびポートの変換作業は、中継部２０８において行われるが、上記のようなフラッシュＥＥＰＲＯＭ  １０２に不揮発に記録されたホワイトリスト／ブラックリストのほか、ポート単位の有効期限付きの一時的なホワイトリストをＲＡＭ  １０４内に記録して、パケットの受け入れ中継をするか否かを決定する。
【００４２】
本実施形態の通信装置２０１は、上記のような一般的なルータ装置１０１の機能に新たな機能を追加するものであり、理解を容易にするため、以下では、通常のルータとは異なる機能に着目して説明する。これらの機能が実行される処理には、おおまかに分けて、ＬＡＮ側からＬＡＮ側ＮＩＣ  １０５にパケットが到達したときのＬＡＮパケット処理と、ＷＡＮ側からＷＡＮ側ＮＩＣ  １０６にパケットが到達したときのＷＡＮパケット処理の２つがある。これらの処理は、ルータ装置１０１の各部が、適宜上記の生成部２０２、送信部２０３、判断部２０４、許可部２０５、受信部２０６、中継部２０８として共働することによって実現されるものである。以下、順に説明する。なお、本図には、実施例２にて説明する取消部２０７も図示されている。
【００４３】
図３は、ＬＡＮパケット処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
ＬＡＮパケット処理では、まず、ルータ装置１０１のＬＡＮ側ＮＩＣ  １０５が、ＬＡＮ内から送信されたパケットが到達したか否かを調べる（ステップＳ３０１）。到達していなければ（ステップＳ３０１；Ｎｏ）、待機して（ステップＳ３０２）から、ステップＳ３０１に戻る。この待機中には、他の処理をコルーチン的に実行することができる。また、ＮＩＣが受信割り込み機能を有している場合には、受信割り込みによって、パケットの到達を検知することとしても良い。
【００４４】
パケットが到達している場合（ステップＳ３０１；Ｙｅｓ）、当該パケットの宛先を調べる（ステップＳ３０３）。宛先が、ＬＡＮ内の他の端末である場合には（ステップＳ３０３；ＬＡＮ内）、そのパケットを宛先にたらい回しに中継して（ステップＳ３０４）、ステップＳ３０１に戻る。
【００４５】
一方、宛先が、当該ルータ装置１０１である場合（ステップＳ３０３；自身）、パケットの種類を調べる（ステップＳ３０６）。パケットの種類を調べる手法としては、ルータ装置１０１のどのポート番号を宛先としているかによって判断するのが一般的であるが、パケット内部に各種の情報を埋め込むこととして、ルータ装置１０１そのものに処理をさせることとしても良い。
【００４６】
ここでは、パケットの種類として、
（１）ＬＡＮ側端末からの鍵符号生成要求パケット
（２）それ以外のパケット
の２種類を考える。
【００４７】
それ以外のパケットである場合（ステップＳ３０６；それ以外）としては、ＨＴＴＰ（HyperText Transfer Protocol）に基づいてルータ装置１０１の設定を変更するための通信が行われる場合などが考えられるが、通常のルータと同様に、対応する処理を実行して（ステップＳ３１０）、ステップＳ３０１に戻る。
【００４８】
一方、本発明に特徴的な、ＬＡＮ側端末からの鍵符号生成要求パケットである場合（ステップＳ３０６；鍵要求）、ＣＰＵ  １０３は、鍵符号生成要求パケットに指定されている以下の情報を吟味する。
（ａ）パケットの送信元のＬＡＮ側ＩＰアドレス・ポート番号。
（ｂ）鍵符号を送るべきサーバ装置のグローバルＩＰアドレス・ポート番号。これはパケットの直接の宛先ではなく、ルータ装置１０１がＬＡＮ側端末からの要求を受けて鍵符号を送信する際の宛先である。
【００４９】
ついで、生成部２０２が、当該ＬＡＮ側ＩＰアドレス・ポート番号（ａ）に対してランダムに鍵符号を生成する（ステップＳ３０７）。したがって、ＣＰＵ  １０３が生成部２０２として機能する。
ここで生成される鍵符号は、ランダムに生成される整数、整数列、文字、もしくは、文字列など、種々のものを採用することができるが、より下層の通信レイヤにおけるパケットサイズ内に納まるような長さとすると、通信効率を高めることができる。
【００５０】
また、あらかじめ定めた候補の中からいずれかを選択するような「ランダム」な決め方をしても良い。すなわち、鍵符号の候補が、定数としてあらかじめ所定の個数用意されており、その中からいずれかを、「ランダム」に決める、というものである。「ランダム」な決め方としては、通常の擬似乱数を用いるのでも良いし、現在時刻や使用しているネットワークカードのＭＡＣアドレス、ＩＰアドレスなどを適宜種として参照することとしても良い。
【００５１】
さらに、送信部２０３が、生成された鍵符号を指定する鍵符号指定パケットを、ＷＡＮ側ＮＩＣ  １０６およびコンピュータ通信網を介して、通信を許可すべき相手であるサーバ装置（ｂ）に送信する（ステップＳ３０８）。
この際には、パケットの送信元のＩＰアドレスとしては、ＷＡＮ側ＮＩＣ  １０６のＩＰアドレスを、パケットの送信元のポート番号としては、ＬＡＮ側ＩＰアドレス・ポート番号（ａ）に対してＮＡＰＴにより動的に割り当てられたＷＡＮ側ＩＰポート番号（ｃ）を指定することが望ましい。
【００５２】
前述した通り、サーバ装置が通信対戦ゲームのマッチングサーバである場合には、鍵符号指定パケットに指定された以下の情報が、当該ＬＡＮ側端末の対戦相手に伝達される。
（ｃ）鍵符号の生成要求をしたＬＡＮ端末にＮＡＰＴによって割り当てられたＷＡＮ側ＩＰアドレス（これは、ＷＡＮ側ＮＩＣ  １０６のＩＰアドレスに等しい。）とＷＡＮ側ポート番号。
（ｄ）生成された鍵符号。
【００５３】
この２つの情報を知得した端末は、後述するように、当該ＷＡＮ側ＩＰアドレス・ポート番号（ｃ）宛に鍵符号（ｄ）を含むパケットを送ることによって、鍵符号の生成要求をした端末との通信が許可されることとなる。
【００５４】
そして、ＲＡＭ  １０４内に確保された鍵符号テーブルに、鍵符号の生成要求をした端末のＬＡＮ側ＩＰアドレス・ポート番号（ａ）、当該端末のＷＡＮ側ポート番号（ｃ）、生成された鍵符号（ｃ）の３つ組を追加記録して（ステップＳ３０９）、ステップＳ３０１に戻る。
【００５５】
このほか、ルータ装置１０１が、他の鍵符号生成サーバ装置に鍵符号の生成を依頼して、鍵符号を取得することとしても良い。この場合は、ルータ装置１０１と他の鍵符号生成サーバ装置とが共働して、生成部２０２として機能することとなる。また、鍵符号生成サーバ装置としては、上記のマッチングサーバなどを利用することもできる。
【００５６】
一方、到達したパケットの宛先がＷＡＮ側のグローバルＩＰアドレス・ポートである場合（ステップＳ３０３；外部）、当該パケットの送信元のＬＡＮ側ＩＰアドレス・ポートに対してＮＡＰＴにより割り当てられたＷＡＮ側ＩＰアドレス・ポートを、当該パケットの送信元フィールドに書き込んでＮＡＰＴを行い、当該書き変えがされたパケットをＷＡＮ側ＮＩＣ  １０６を介して宛先に送信して（ステップＳ３１１）、ステップＳ３０１に戻る。ＮＡＰＴにおけるＩＰアドレス・ポートの変換テーブルもＲＡＭ  １０４内に記憶されるが、これらのＮＡＰＴ処理は一般的に行われているＩＰマスカレードの技術をそのまま適用することができる。
【００５７】
図４は、ＷＡＮパケット処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【００５８】
ＷＡＮパケット処理では、まず、ルータ装置１０１のＷＡＮ側ＮＩＣ  １０６が、ＷＡＮ側（典型的にはインターネットである。）から送信されたパケットが到達したか否かを調べる（ステップＳ４０１）。到達していなければ（ステップＳ４０１；Ｎｏ）、待機して（ステップＳ４０２）から、ステップＳ４０１に戻る。この待機中には、他の処理をコルーチン的に実行することができる。また、ＬＡＮパケット処理同様に、受信割り込みを利用しても良い。
【００５９】
パケットが到達している場合（ステップＳ４０１；Ｙｅｓ）、判断部２０４は、当該パケットの宛先を調べる（ステップＳ４０３）。宛先が、当該ルータ装置１０１のＷＡＮ側ＮＩＣ  １０６のＩＰアドレス以外である場合（ステップＳ４０３；外部）、そのパケットを宛先にたらい回しに中継して（ステップＳ４０４）、ステップＳ４０１に戻る。
【００６０】
一方、宛先が当該ルータ装置１０１のＷＡＮ側ＮＩＣ  １０６のＩＰアドレスである場合（ステップＳ４０３；流入）、判断部２０４は、当該パケットの宛先となっているポート番号が、鍵符号テーブルにＷＡＮ側ポート番号として登録されているものであるか否かを調べ（ステップＳ４０５）、そうである場合（ステップＳ４０５；Ｙｅｓ）、判断部２０４は、ＲＡＭ  １０４内に用意された鍵符号ホワイトリストに、当該パケットの送信元が登録されているか否かを調べる（ステップＳ４０６）。
このように、ＣＰＵ  １０３は、ＷＡＮ側ＮＩＣ  １０６等と共働して判断部２０４として機能する。
【００６１】
ここで、ＲＡＭ  １０４内に用意された鍵符号ホワイトリストとは、ＷＡＮ側ポート番号と、当該ＷＡＮ側ポートを介しての通信が許可された外部の機器（ステップＳ４０１において到達したパケットの送信元）のＩＰアドレス・ポート番号と、を対応付けて記憶するものである。
【００６２】
登録されていない場合（ステップＳ４０６；Ｎｏ）、判断部２０４は、鍵符号テーブルで当該ＷＡＮ側ポート番号に対応付けて登録されている鍵符号が、パケットの中身に指定されているか否かを調べる（ステップＳ４０７）。
指定されていれば（ステップＳ４０７；Ｙｅｓ）、許可部２０５は、当該パケットの送信元のＩＰアドレス・ポート番号を、当該ＷＡＮ側ポート番号に対応付けて、鍵符号ホワイトリストに追加登録して（ステップＳ４０８）、ステップＳ４０１に戻る。
このように、ＣＰＵ  １０３は、ＲＡＭ  １０４等と共働して許可部２０５として機能する。
【００６３】
なお、ある鍵符号について、鍵符号ホワイトリストに登録できる送信元の数に上限を設け、ステップＳ４０８においては先着順に登録ができることとし、それ以降の登録はできないようにしても良い。鍵符号が盗聴、傍受、漏曳などされてしまっても、通信を許可したくない相手をできるだけ避けることができるようになる。
【００６４】
なお、鍵符号ホワイトリストにおける送信元の区別の手法としては、当該送信元のＩＰアドレス・ポート番号を利用するのが典型的であるが、たとえば、あらかじめ割り当てられた識別番号やセッション番号を使用しても良いし、ＭＡＣアドレスやＣＰＵ  ＩＤなどを利用することもできる。
一方、指定されていなければ（ステップＳ４０７；Ｎｏ）、そのままステップＳ４０１に戻り、当該送信元との通信に応答せずに拒否して、いわゆるＳｔｅａｌｔｈモードの振舞いをする。
【００６５】
なお、ステップＳ４０８の後に、当該パケットを、後述するＮＡＰＴによりＬＡＮ側に流入させる処理を行ってからステップＳ４０１に戻るように構成することも可能である。
【００６６】
また、鍵符号をパケット内に指定する手法であるが、所定のフレーム構造を規定して、当該フレーム構造にしたがって鍵符号を格納することとしても良いし、単にバイト列として当該鍵符号がパケットの内容の部分列として含まれているか否かを確認するだけとしても良い。
【００６７】
さて、ステップＳ４０６において、鍵符号ホワイトリストに、ＷＡＮ側ポート番号とパケットの送信元のＩＰアドレス・ポート番号の組が登録されている場合（ステップＳ４０６；Ｙｅｓ）、受信部２０６は、当該パケットのＬＡＮ側への流入を受け付けるため、通常のＮＡＰＴにおけるＩＰアドレス・ポート変換テーブルや鍵符号テーブルを参照して、当該ＷＡＮ側ポート番号に対応付けられるＬＡＮ側端末のＬＡＮ側ＩＰアドレス・ポート番号（これが、宛先となる。）を取得し（ステップＳ４０９）、中継部２０８は、当該パケットの宛先を取得したＬＡＮ側ＩＰアドレス・ポート番号に書き換えてＮＡＰＴを行い、当該書き換えがされたＬＡＮ側ＮＩＣ  １０５を介して宛先の端末に送信して（ステップＳ４１０）、ステップＳ４０１に戻る。
【００６８】
また、ステップＳ４０５において、当該パケットの宛先となっているポート番号が、鍵符号テーブルにＷＡＮ側ポート番号として登録されているものでない場合（ステップＳ４０５；Ｎｏ）、通常のルータパケット処理を行って（ステップＳ４１１）、ステップＳ４０１に戻る。
通常のルータパケット処理としては、たとえば、通常のホワイトリストとブラックリストに基づく管理を行ったり、ＮＡＰＴのＩＰアドレス・ポート変換テーブルに登録されている場合のみ、ＩＰマスカレードによってＬＡＮ側にパケットを流入させたり、パケットを捨ててＳｔｅａｌｔｈモードとしたり、等、種々の手法を採用することができる。
【００６９】
上記のように、ＣＰＵ  １０３は、ＬＡＮ側ＮＩＣ  １０５やＷＡＮ側ＮＩＣ  １０６と共働して、受信部２０６および中継部２０８として機能する。
【００７０】
なお、上記の説明では、理解を容易にするため、パケットの受入の際のＡＣＫ（ACKnowlegment）の返送については説明を省略しているが、Ｓｔｅａｌｔｈモードにしない場合には、ＴＣＰ／ＩＰ通信の基本技術に基づいて、ＡＣＫを返すようにするのが一般的である。
【００７１】
本実施形態によれば、通信相手を任意の相手に開放したりはせずに、ランダムに生成される鍵符号を割り符として用いることによりこの割り符を使っている送信元との通信を許可するので、本発明によれば、通信相手を適切に制限することができるようになる。
【実施例２】
【００７２】
上記実施形態では、鍵符号を通知してきたＷＡＮ側の機器は、一旦鍵符号ホワイトリストに登録されると、そのまま登録され続けるものとしていたが、鍵符号そのものに有効期限を設けることも可能である。
【００７３】
有効期限の設定方法としては、
（ａ）鍵符号を生成した時刻から（鍵符号テーブルに鍵符号が登録されてから）、所定の閾時間が経過した場合に無効となる。
（ｂ）鍵符号ホワイトリストに通信を許可されたＩＰアドレスが登録されてから、所定の閾時間が経過した場合に無効となる。
（ｃ）通信を許可されたＩＰアドレスからのパケットが最後に到達してから、所定の閾時間が経過した場合に無効となる。
等の手法が考えられる。
【００７４】
それぞれ、鍵符号テーブルや鍵符号ホワイトリストに、有効期限のフィールドを追加するとともに、（ａ）（ｂ）では登録時に有効期限を設定し、（ｃ）ではパケットの流入を受け入れるごとに有効期限を延長する。そして、ステップＳ３０２やステップＳ４０２の待機時間等に有効期限が過ぎた場合には、鍵符号テーブルや鍵符号ホワイトリストから、当該許可対象のデータを削除する処理を行う。
この場合、ＣＰＵ  １０３がＲＡＭ  １０４と共働して取消部２０７として機能することとなる。
【００７５】
本実施形態によれば、一旦通信を許可した相手であっても、一定時間が経過すればその許可が取り消されるので、ダイヤルアップ接続やＤＨＣＰなどにより、通信相手のＩＰアドレスが変化する場合であっても、本来許可すべきでない相手に通信を許可してしまう危険性を減らすことができる。
【００７６】
このほか、本通信装置２０１がルータ装置１０１上に実現されている場合には、取消部２０７が許可を取り消すタイミングとして、以下のような態様を考えることができる。
【００７７】
すなわち、鍵符号に対して割り当てられたＬＡＮ側端末とのパケットのやりとりが、一定時間以上なければ、当該鍵符号テーブルや鍵符号ホワイトリストから、当該許可対象のデータを削除するのである。検出の手法としては、
（ａ）当該ＬＡＮ側端末に対してパケットを送信したが、応答のアクノリッジが返ってこないままタイムアウトした場合。
（ｂ）一定時間ごとにＬＡＮ内の状況を問い合わせるブロードキャストメッセージを送ることとしているときに、当該ＬＡＮ側端末からの返答がないままタイムアウトした場合。
などが考えられる。
【００７８】
また、ＬＡＮ側端末がソフトウェア的に通信装置２０１に鍵符号を無効にする旨の指示を出すこととしても良い。
【００７９】
たとえば、ＬＡＮ側端末が送信元との通信の許可を個別に判断して、不要と思う相手の通信の許可を取り消す旨の指定をしたパケットを通信装置２０１に送信すると、取消部２０７が機能するものである。
【００８０】
このほか、ソフトウェア的に電源をオフできるような機器の場合には、当該機器の電源が切れることを通知するようなパケットをＬＡＮ内にブロードキャストし、これをルータ装置１０１が知得すると、当該ＬＡＮ側端末の鍵符号を無効にする、というものである。
【実施例３】
【００８１】
上記実施形態では、通信装置２０１をルータ装置１０１上に実現することとしていたが、直接インターネットに接続されるような単独のコンピュータやゲーム装置を、本発明の通信装置２０１とすることも可能である。
【００８２】
この場合、コンピュータ等は、アプリケーションプログラムの制御に基づいて鍵符号を生成し、当該鍵符号を通信を許可したい相手に直接もしくはサーバ装置を介して間接的に送る。この場合、中継部２０８は不要であり、受信部２０６が受信したパケットをそのまま処理することとなる。
【００８３】
また、上記実施形態と同様に、鍵符号を送ってきた相手のＩＰアドレス（やポート番号）を鍵符号ホワイトリストに登録することによって、通信機器の適切な制限を行うことができる。
【００８４】
なお、上記の実施形態では、ＮＡＰＴを例にあげて説明したが、本発明の原理を適用するにあたっては、必ずしもポート番号に関する処理は必須ではない。何らかの形式で宛先が特定できれば十分であり、たとえば、ＩＰアドレス単位やＩＰアドレス・ネットマスク単位で通信の許可の制御を行う態様においても、同様の処理を行うことが可能であり、これらの態様も本発明の範囲に含まれる。
【産業上の利用可能性】
【００８５】
以上説明したように、本発明によれば、通信相手を適切に制限するのに好適な通信装置、通信方法、ならびに、これらをコンピュータにて実現するプログラムを提供することができる。
【図面の簡単な説明】
【００８６】
【図１】本発明の実施形態の一つに係る通信装置が、プログラムを動作させることによって実現されるルータ装置の概要構成を示す模式図である。
【図２】ルータ装置上に実現される通信装置の実施形態の概要構成を示す模式図である。
【図３】ＬＡＮパケット処理の制御の流れを示すフローチャートである。
【図４】ＷＡＮパケット処理の制御の流れを示すフローチャートである。
【符号の説明】
【００８７】
１０１  ルータ装置
１０２  フラッシュＥＥＰＲＯＭ
１０３  ＣＰＵ
１０４  ＲＡＭ
１０５  ＬＡＮ側ＮＩＣ
１０６  ＷＡＮ側ＮＩＣ
２０１  通信装置
２０２  生成部
２０３  送信部
２０４  判断部
２０５  許可部
２０６  受信部
２０７  取消部
２０８  中継部
【図１】
2007208887.tif 000003
【図２】
2007208887.tif 000004
【図３】
2007208887.tif 000005
【図４】
2007208887.tif 000006