(57)【要約】【課題】ハードウェアとしての変更を行わず、不要なデータの受信処理を極力抑え、頑健なセキュリティを提供する。【解決手段】通信インタフェース停止部１３０は、通信インタフェース１０６によるデータの受信処理又はデータの送信処理が所定の時間検知されたか否かに応じて、前記データ通信手段によるデータ通信を停止させる。【選択図】図１
2007129338.tif 000002
【特許請求の範囲】
【請求項１】
外部装置とのデータ通信を行うデータ通信手段と、
前記データ通信手段によるデータの通信処理を検知する検知手段と、
所定時間内に前記検知手段によりデータの通信処理が検知されたか否かに応じて、前記データ通信手段の動作を停止する停止手段とを有することを特徴とする通信制御装置。
【請求項２】
前記停止手段は、前記検知手段によりデータの受信処理又はデータの送信処理が前記所定の時間内に検知されなかった場合、前記データ通信手段によるデータ通信を停止させることを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記所定の時間を変更可能な時間変更手段を更に有することを特徴とする請求項１又は２に記載の通信制御装置。
【請求項４】
前記データ通信手段を起動する起動手段を更に有し、
前記起動手段は、データの送信要求を検知した場合に、前記データ通信手段を起動することを特徴とする請求項１乃至３の何れか１項に記載の通信制御装置。
【請求項５】
前記所定の時間を計時する計時手段を更に有し、
前記計時手段は、前記所定の時間が経過する前に、前記データの通信処理が前記検知手段により検知された場合は、前記所定の時間を再度計時し始めることを特徴とする請求項１乃至４の何れか１項に記載の通信制御装置。
【請求項６】
前記データ通信手段は、前記外部装置とのインタフェース部を含むことを特徴とする請求項１乃至５の何れか１項に記載の通信制御装置。
【請求項７】
外部装置とのデータ通信を行うデータ通信部を有する通信制御装置による通信制御方法であって、
外部装置とのデータ通信処理を検知する検知ステップと、
所定時間内に前記検知ステップによりデータ通信処理が検知されたか否かに応じて、前記データ通信部の動作を停止する停止ステップとを含むことを特徴とする通信制御方法。
【請求項８】
請求項７に記載の通信制御方法をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、データ通信処理を行うための通信制御装置及び通信制御方法に関するものである。
【背景技術】
【０００２】
従来、パケット交換方式によりデータ通信を行う通信制御装置においては、ほとんどの場合、通信インタフェースが常時起動していることで、任意の時点で外部ネットワークからのパケットを受信できる利便性を有していた。すなわち、通信インタフェースに到着したパケットの全てについて、通信制御装置の内部にてパケットのヘッダ解析などを行う受信処理を常に実施していた。しかしながら、このことにより、該通信制御装置において受信処理が必要ではないパケットまで、受信処理を実施してしまうという問題点も同時に有していた。
【０００３】
上記の問題点を解消する試みとしては、特許文献１で開示されている発明が挙げられる。これは、通信制御装置においてパケットが到着した際、まず、通信インタフェースにおいて自装置宛のパケットであるか否かを判別する。その際、自装置宛のパケットであった場合のみ、ＣＰＵに割り込み信号を送ることで通信制御装置内部にてパケットの受信処理を実行し、そうでないパケットについては、受信処理を実行せずに破棄するものである。
【０００４】
また、特許文献１に開示された発明とは別に、パケットフィルタリングを行うファイアウォール機能による方法も広く知られている。これは、ファイアウォール機能を搭載した通信制御装置に到着したパケット全てについて、まず、一旦受信処理を開始する。そして、受信処理の過程で、予め定めておいたパケットフィルタリングルールを各パケットに適用し、受信処理が必要でないパケットについては、受信処理を完了させないことで破棄してしまう方法である。
【０００５】
【特許文献１】特開平１１−１１００９８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に開示された発明については、次の（１）、（２）の、また、ファイアウォール機能については、次の（３）、（４）の問題点があった。
【０００７】
（１）通信制御装置に到着したパケットのうち、自装置にとって不要なパケットでありながら、自装置宛であるという理由のみにより、受信処理を実行してしまうパケットが多く存在する。
（２）自装置宛のパケットであるかを判別可能な、特殊なハードウェアとしての通信インタフェースが必要となる。
（３）通信制御装置に到着したパケットの全てに対して、受信処理を実行してしまう。
（４）フィルタリングルールの設定に誤りが存在する場合や、ファイアウォール機能にバグが存在する可能性がある。
【０００８】
（１）の問題点については、通常、通信制御装置において、自装置宛のパケットの中にも、自装置にとって必要でないパケットも多く含まれるため、不要なパケットの受信を回避するという点で、不十分なものである。悪意のある外部ネットワーク上の計算機システムより自装置に宛てられたパケットなどは、自装置宛でありながら不要なパケットの一例である。
【０００９】
また、（２）の問題点については、特殊なハードウェアが必要であるという問題がある。
【００１０】
（３）の問題点については、ファイアウォール機能によりアプリケーションレベルには不要なパケットが届かない。従って、不要なパケットを受信しているようには見えなくても、オペレーティングシステムレベル、すなわち通信制御装置としては不要なパケットを受信している点が、問題点となる。
【００１１】
最後に、（４）の問題点については、もし、アプリケーションレベルで不要なパケットを受信しないことのみが目的であった場合においても、オペレーティングシステムレベルでは受信処理が行われる。従って、フィルタリングルールの設定に誤りがあった場合や、ファイアウォール機能にバグが存在した場合は、不必要なパケットをアプリケーションレベルでも受信してしまう問題点がある。
【００１２】
ここまで見てきたように、通信インタフェースが常に起動している限り、通信制御装置内部で不要なパケットに対する受信処理が実施される。従って、不要なパケットの受信時に発生する割り込みによるシステム負荷の増大や、悪意のある外部ネットワーク上の計算機システムからの攻撃によるセキュリティ問題の発生を回避することは困難である。
【００１３】
そこで、本発明の目的は、不要なデータの受信処理を極力抑え、頑健なセキュリティを提供することにある。
【課題を解決するための手段】
【００１４】
本発明の通信制御装置は、外部装置とのデータ通信を行うデータ通信手段と、前記データ通信手段によるデータの通信処理を検知する検知手段と、所定時間内に前記検知手段によりデータの通信処理が検知されたか否かに応じて、前記データ通信手段の動作を停止する停止手段とを有することを特徴とする。
本発明の通信制御方法は、外部装置とのデータ通信を行うデータ通信部を有する通信制御装置による通信制御方法であって、外部装置とのデータ通信処理を検知する検知ステップと、所定時間内に前記検知ステップによりデータ通信処理が検知されたか否かに応じて、前記データ通信部の動作を停止する停止ステップとを含むことを特徴とする。
本発明のプログラムは、前記通信制御方法をコンピュータに実行させることを特徴とする。
本発明のコンピュータ読み取り可能な記録媒体は、前記プログラムを記録したことを特徴とする。
【発明の効果】
【００１５】
本発明によれば、不要なデータの受信処理を極力抑えることが可能となり、頑健なセキュリティを提供することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【００１７】
−第１の実施形態−
先ず、本発明の第１の実施形態を、図１乃至図５を参照して説明する。図１は、本発明の第１の実施形態に係る通信制御装置１００の構成を示す図である。
【００１８】
図１に示すように、本実施形態に係る通信制御装置１００は、通信インタフェース起動部１２０、通信インタフェース停止部１３０、通信インタフェース起動時間保存部１４０、通信インタフェース起動時間変更部１５０を備える。さらに、通信制御装置１００は、送信処理を行うユーザプロセス１１０、受信処理を行うユーザプロセス１１２、通信インタフェース１０６を備える。但し、本実施形態においては、通信インタフェース起動時間変更部１５０の機能は利用しない。
【００１９】
本実施形態に係る通信制御装置１００が、通信インタフェース１０６を経由して、パケットの送受信を行う際の処理は以下の通りである。
【００２０】
まず、送信処理の場合、送信処理を行うユーザプロセス１１０による送信処理が開始されると、通信インタフェース起動部１２０が動作する。このときに、通信インタフェース１０６が停止していれば、通信インタフェース起動部１２０は通信インタフェース１０６を起動し、そうでなければ、何も処理を行わない。これにより、通信制御装置１００にて送信処理されたパケットは、全て通信インタフェース１０６から外部ネットワークへ送出されることになる。
【００２１】
次に、受信処理の場合について説明する。通信インタフェース１０６にて外部ネットワークよりパケットが到着した際に、通信インタフェース１０６が起動されている場合のみ、通信制御装置１００の内部にパケットを取り込む受信処理が開始される。なお、そうでない場合は、到着したパケットは破棄され、ＣＰＵに対する割込みすら発生しない。この受信処理の開始により、受信処理と並行して通信インタフェース停止部１３０が動作する。通信インタフェース停止部１３０では、通信インタフェース起動時間保存部１４０に保存された時間が経過するまでに、送信処理を行うユーザプロセス１１０における新たな送信処理の開始がなされなかった場合、通信インタフェース１０６を停止する。また、通信インタフェース停止部１３０は、通信インタフェース起動時間保存部１４０に保存された時間が経過するまでに、通信インタフェース１０６における新たな受信処理の開始が発生しなかった場合は、通信インタフェース１０６の動作を停止する。
【００２２】
なお、通信インタフェース停止部１３０は、ユーザ空間でのパケット送信処理の開始をも動作のトリガーとするが、このことの詳細については、図５の説明にて触れる。また、図１においては、送信処理や受信処理を行うプロセスがそれぞれ一つずつ記載されているが、実際には、一つのプロセスが送信、および受信の両方の処理を行う場合や、複数のプロセスが別々に送信、または受信の処理を行う場合があり得る。
【００２３】
図２は、本実施形態に係る通信制御装置１００を通信システムに適用した場合のシステム構成を示す図である。
【００２４】
図２において２１０はＣＰＵである。通信制御装置１００においては、通常、複数のプロセスの処理や割り込みの処理が実行されるが、ＣＰＵ２１０はこれらの処理を同時に行うのではない。つまり、ＣＰＵ２１０は、一つの処理だけに専念し、短いスパンで処理の対象を目まぐるしく切り替えることで、あたかも同時に複数の処理を行っているように見せている。
【００２５】
２２０はＨＤＤであり、図４乃至図６に示す処理手順や、オペレーティングシステムの処理手順等、ＣＰＵ２１０にて行う処理手順を格納する外部記憶装置である。
【００２６】
２３０はＲＡＭであり、図４乃至図６に示す処理手順や、オペレーティングシステムの処理手順、さらに、プロセスやパケットなどＣＰＵ２１０が処理中のデータや命令を一時的に格納する一時記憶装置である。
【００２７】
１０６は上述した通信インタフェースであり、通信制御装置２００と外部ネットワーク２５０を接続する。ここを通して、パケットの授受が行われる。
【００２８】
図３は、通信インタフェース起動時間保存部１４０における通信インタフェース起動時間の保存例を示す図である。
【００２９】
通信インタフェース起動時間保存部１４０は、通信インタフェース停止部１３０がパケットを最後に送受信してから、通信インタフェース１０６を停止するまでの時間を規定するものである。
【００３０】
図４は、通信インタフェース起動部１２０の動作を示すフローチャートである。ステップＳ４００にて、通信インタフェース起動部１２０がユーザ空間でのパケット送信処理の開始を検知し、ステップＳ４１０の処理に移る。
【００３１】
ステップＳ４１０では、通信インタフェース１０６が起動しているかを判別する。起動している場合は動作を終了し、起動していない場合はステップＳ４２０の処理に移る。ステップＳ４２０では、通信インタフェース１０６を起動する。
【００３２】
この通信インタフェース起動部１２０での一連の処理により、送信処理を行うユーザプロセス１１０によって扱われるパケットが通信インタフェース１０６を経由して、外部ネットワークへ送出されることとなる。
【００３３】
図５は、通信インタフェース停止部１３０の動作を示すフローチャートである。ステップＳ５００にて、通信インタフェース停止部１３０が通信インタフェース１０６でのパケット受信処理の開始、又は、ユーザ空間でのパケット送信処理の開始のいずれかを検知して、ステップＳ５１０の処理に移る。
【００３４】
なお、通信インタフェース１０６でのパケット受信処理が開始されるのは、通信インタフェース１０６が起動しているときに、外部ネットワークからパケットが到着したときのみである。通信インタフェース１０６が停止しているときは、パケットが到着してもパケット受信処理が開始されず、パケットが破棄されてしまう。
【００３５】
ステップＳ５１０では、ステップＳ５００やステップＳ５２０から処理が移った直後に、通信インタフェース起動時間保存部１４０で示される時間を参照し、直ちに該時間の計時を新規に開始する。
【００３６】
ステップＳ５２０では、前記時間が経過するより先に、通信インタフェース１０６でのパケット受信処理の開始、又は、ユーザ空間でのパケット送信処理の開始のいずれかを新たに検知したかを判別する。前記時間が経過するより先に、通信インタフェース１０６でのパケット受信処理の開始、又は、ユーザ空間でのパケット送信処理の開始のいずれかを新たに検知した場合は、ステップＳ５１０の処理に戻り、そうでない場合は、ステップＳ５３０の処理に移る。ステップＳ５３０において、通信インタフェース起動時間保存部１４０で示される時間が経過した場合は、ステップＳ５４０に進み、経過していない場合は、ステップＳ５２０の判断を継続する。
【００３７】
ステップＳ５４０では、通信インタフェース停止部１３０は通信インタフェース１０６を停止する。
【００３８】
この通信インタフェース停止部１３０での一連の処理により、通信インタフェース１０６が起動しているにもかかわらず、通信インタフェース起動時間保存部１４０に示される時間の間パケットの送受信が起こらない場合は、通信インタフェース１０６の動作を停止する。これにより、外部ネットワークからのパケットの取り込みを一切行わなくなる。なお、停止の方法としては、通信インタフェースへの電源供給を停止する方法、全ての受信パケットを無視する方法などが挙げられる。
【００３９】
−第２の実施形態−
次に、本発明の第２の実施形態について説明する。本発明の第２の実施形態では、通信インタフェース起動時間保存部１４０で保存される通信インタフェース起動時間を、通信インタフェース起動時間変更部１５０により、任意の時点で変更することができる。その他については、上述した第１の実施形態と同様である。
【００４０】
図１に示した内容は、通信インタフェース起動時間変更部１５０が追加されることにより、通信インタフェース起動時間保存部１４０に保存される情報が変更され得ることを除いて同様である。また、図２乃至図５に示した内容は、全て第１の実施形態と同様である。
【００４１】
上述したように、図１については、通信インタフェース起動時間変更部１５０が追加されることを除いて第１の実施形態と同様であるため、通信インタフェース起動時間変更部１５０の動作についてのみ説明する。
【００４２】
本発明の第２の実施形態では、任意の時点において、通信インタフェース起動時間変更部１５０を動作させることが可能であり、通信インタフェース起動時間保存部１４０に保存される情報を変更することができる。これにより、最後にパケットの送受信を検知してから通信インタフェース１０６を停止するまでの時間を変更できるようになる。これは、通信インタフェース停止部１３０は、その動作の都度、通信インタフェース起動時間保存部１４０を参照するためである。
【００４３】
図６は、通信インタフェース起動時間変更部１５０の動作を示すフローチャートである。ステップＳ６００にて、通信インタフェース起動時間保存部１４０で保存している時間を変更する。なお、ステップＳ６００による処理は、ユーザ空間で実行中のプロセス、又は、カーネル空間にて実行される処理のどちらがトリガーになっても構わない。また、変更する時間は、通信インタフェース１０６が起動してから通信インタフェース停止部１３０により停止されるまでの時間の一定期間の統計を取り、この統計に基づいた時間に変更することができる。例えば、一定時間の平均時間、最長時間、最短時間等が挙げられる。または、オペレータが任意に設定した時間に変更するようにしてもよい。
【００４４】
この通信インタフェース起動時間変更部１５０での一連の処理により、通信インタフェース停止部１３０が最後にパケットの送受信を検知してから通信インタフェースを停止するまでの時間を、任意の時点で変更することが可能となる。
【００４５】
ここで、特にサーバ機能を有しない通信制御装置においては、外部ネットワークからパケットを受信する機会は、自装置が外部ネットワークにパケットを送信した直後であることがほとんどであることに着目する。このような通信制御装置において、通信インタフェースを必要な場合のみ起動し、所定時間の間、パケット送受信が行なわれない場合には、通信インタフェースを停止する。このような構成にすることにより、不要なパケットはそもそも受信処理を実施しないようにすることができる。この結果、不必要なパケット受信が極力抑えることができるようになる。よって、通信制御装置において、システム負荷が軽減し、セキュリティ的に頑健となる。また、上記処理をプログラム処理により行うことができるので、ハードウェアの変更を行わずに上記処理を実行することができる。
【００４６】
上述した本発明の実施形態に係る通信制御装置１００は、例えばサーバ機能を有しない計算機システムや、モバイル機器、情報家電に適用できる。また、通信インタフェースは、有線インタフェースに限らず、無線インタフェース等にも適用できる。
【００４７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或いは装置に供給し、そのシステム等のコンピュータが記憶媒体からプログラムコードを読み出し実行することによっても達成される。
【００４８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４９】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【００５０】
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００５１】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに接続された機能拡張ユニット等に備わるメモリに書込まれた後、そのプログラムコードの指示に基づきＣＰＵ等が実際の処理を行い、前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施形態に係る通信制御装置の構成を示す図である。
【図２】本発明の実施形態に係る通信制御装置を通信システムに適用した場合のシステム構成を示す図である。
【図３】通信インタフェース起動時間保存部における通信インタフェース起動時間の保存例を示す図である。
【図４】通信インタフェース起動部の動作を示すフローチャートである。
【図５】通信インタフェース停止部の動作を示すフローチャートである。
【図６】通信インタフェース起動時間変更部の動作を示すフローチャートである。
【符号の説明】
【００５３】
１００  通信制御装置
１０６  通信インタフェース
１１０  送信処理を行うユーザプロセス
１１２  受信処理を行うユーザプロセス
１２０  通信インタフェース起動部
１３０  通信インタフェース停止部
１４０  通信インタフェース起動時間保存部
１５０  通信インタフェース起動時間変更部
【図１】
2007129338.tif 000003
【図２】
2007129338.tif 000004
【図３】
2007129338.tif 000005
【図４】
2007129338.tif 000006
【図５】
2007129338.tif 000007
【図６】
2007129338.tif 000008