機能付加装置
【課題】 ネットワーク端末とネットワーク機器とを中継し、ネットワーク機器に新たな機能を付加する機能付加装置を提供する。
【解決手段】 機能付加装置100は、第1及び第2のネットワークインタフェース206及び208と、ネットワークインタフェース206及び208を用い、双方のネットワーク上の端末の間でパケットの送信元端末及び送信先端末のアドレス情報を変更せずにパケットを中継するパケット中継処理部と、パケット中継処理部により中継されるパケットのうち、第1のネットワーク上の機器あてで、かつHTTPSのパケットを、HTTPパケットに変換し、第1のネットワーク上の機器からのHTTPパケットはHTTPSパケットの送信元へのHTTPSパケットに変換するHTTP/HTTPSデコード処理部252及びHTTPS/HTTPエンコード処理部258とを含む。
【解決手段】 機能付加装置100は、第1及び第2のネットワークインタフェース206及び208と、ネットワークインタフェース206及び208を用い、双方のネットワーク上の端末の間でパケットの送信元端末及び送信先端末のアドレス情報を変更せずにパケットを中継するパケット中継処理部と、パケット中継処理部により中継されるパケットのうち、第1のネットワーク上の機器あてで、かつHTTPSのパケットを、HTTPパケットに変換し、第1のネットワーク上の機器からのHTTPパケットはHTTPSパケットの送信元へのHTTPSパケットに変換するHTTP/HTTPSデコード処理部252及びHTTPS/HTTPエンコード処理部258とを含む。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、ネットワークの分野における機能付加装置に関し、特に、ネットワーク機器に接続されることによって、当該ネットワーク機器に新たな機能を付加したように動作させる機能付加装置に関する。
【背景技術】
【0002】
最近のコンピュータネットワーク(以下、ネットワークと呼ぶ。)の発達に伴い、各種ネットワーク機器が急速に普及してきている。一般的に、現在のネットワーク機器は、TCP/IP(Transmission Control Protocol/Internet Protocol)又はUDP/IP(User Datagram Protocol/Internet Protocol)というトランスポート層のプロトコルを使用して通信を行なう。これらのプロトコルは、簡単には、IPアドレスというネットワーク上での自身のノードを表すアドレス情報と、ノード内におけるアプリケーションに対応付けられているポート番号とにより構成されている。
【0003】
今日のネットワークにおいて、その社会インフラストラクチャとしての需要の高まりに伴い、数多くのアプリケーションプロトコルが使用され、大規模化・複雑化の一途を辿っている。
【0004】
上述したように、近年のネットワーク環境は大規模化・複雑化の一途を辿っており、ワークステーション及びPC(Personal Computer)等のネットワーク端末だけではなく、組込のネットワーク機器においても、多種多様なプロトコルに対応する必要に迫られている。
【0005】
通常、ワークステーション及びPC等のネットワーク端末にはハードウェア及びソフトウェアの高性能化に伴い、今後多種多様なプロトコルが出現しても、柔軟に対応することが可能である。しかし、今後、特に組込のネットワーク機器において、そのハードウェア及びソフトウェアのリソースが制限となって、多種多様なプロトコルに対応するのが、現状と比較し、より困難になると考えられている。
【0006】
この代表例として、HTTP(HyperText Transport Protocol)通信とHTTPS(HTTP Security)通信とがある。HTTPは、通常のWWW(World Wide Web)情報を送受信するためのプロトコルであり、比較的古いネットワーク機器に標準的に搭載されている。ユーザーインタフェースを持たないネットワーク機器においては、簡易WWWサーバ機能によってPCから設定画面にアクセスし、設定パラメータを入力することがよく行なわれている。一方、HTTPSはHTTPにセキュリティ機能を付加したプロトコルである。
【0007】
一般的に現在のWWWサーバは、HTTP及びHTTPS両方のプロトコルに対応している。しかし、組込み機器であるネットワーク機器は、ワークステーション及びPC等と比較し、ソフトウェア及びハードウェアの自由度が高くなく、セキュアな通信が望まれている場合であっても、やむを得ずセキュリティ機能を持たないHTTP通信を使用しているのが現状である。したがって、このようなセキュリティレベルの低いネットワーク機器をトリガとした情報漏洩等のリスクは、日々高まっている。
【0008】
また、別の代表例として、SLP(Service Location Protocol)通信がある。SLP通信とは、ネットワーク上のサービス情報を検出及び構成できるようにするプロトコルである。また、IPv4及びIPv6に対応しているため、今後頻繁に使用されるものと考えられる仕様である。
【0009】
しかし、今日普及している組込のネットワーク機器においては、SLPに対応していないものが多い。そのような装置は、SLP通信に対し応答することができず、したがってそのようなネットワーク機器からSLP通信を使用してサービス情報を取得することはできない。
【0010】
一方、ネットワーク情報を取得するためのプロトコルとして、SNMP(Simple Network Management Protocol)がある。SNMPはネットワーク上のネットワーク機器を監視及び制御するために利用され、各ネットワーク機器の様々な情報を提供することができる。組込のネットワーク機器にはSNMPに対応しているものが多いが、SNMPでは、ブロードキャストアドレスでネットワーク情報を取得することがあるため、この場合にはIPv6を用いるネットワークには適用することができない。
【0011】
さらに、今後ネットワーク上のセキュリティが問題になることが予想される。旧来のネットワーク機器ではセキュリティ機能を備えていないものが多く、そうした機器をそのまま使用し続けることは危険である。
【特許文献1】特開2006−139429号(段落0036、0046、0047)
【発明の開示】
【発明が解決しようとする課題】
【0012】
そこで、上述のようなネットワーク機器には何ら手を加えることなく、当該ネットワーク機器に新たな機能が備えられたかのように動作させるようにしたい、という希望が出てくることが予想される。その場合、ユーザにかかる負担をきるだけ小さくする必要もあると思われる。
【0013】
例えば、プロトコル変換を行なう装置として、特許文献1に記載の装置がある。特許文献1に記載の装置では、通信プロトコルにHTTPを採用したサーバ・クライアントモデルを用いている。そして、特定の機能を持たないレガシー装置については、その機能を特定してその旨を表示したり、外部から利用できないようにしたりする。
【0014】
しかし、この特許文献1に記載のシステムでは、サーバ・クライアントモデルを採用しているため、全体に大掛かりなシステムとなる。その上、システム内にDHCP(Dynamic Host Configuration Protocol)サーバ又はこれと類似の機能を準備して各コンポーネントにIPアドレスを設定する必要があり、ユーザにとってはこのような設定作業が煩わしい作業となる。またサーバ・クライアントモデルの常として、特にネットワークにあまり詳しくないユーザにとって、このシステムを矛盾なく設定するのは困難な作業となる。さらに、このシステムでは、特定の機能を持たないレガシー装置に、その機能を付加することは開示されていない。特に、レガシー装置に変更を施さずにそのセキュリティ機能を追加することについては全く開示されていない。
【0015】
このように、今までのネットワーク機器というハードウェア資産を活かしながら、簡単な作業で新たな機能をこれらネットワーク機器に付加することの必要性は今後ますます大きくなると思われる。しかし現在までのところ、そのような問題についての明確な認識はなく、そうした問題に対する解決策は従来技術には示唆されていない。
【0016】
それ故に本発明の一つの目的は、ある機能を持たないネットワーク機器に対し、簡単な作業でその機能を付加することができるような機能付加装置を提供することである。
【0017】
本発明の他の目的は、ワークステーション及びPC等のネットワーク端末から、あるプロトコルに対応していない機能を持つネットワーク機器に、その機能を利用する通信がなされたとしても、当該ネットワーク機器を改良することなく通信を可能とすることができる、ネットワーク機器に対する機能付加装置を提供することである。
【0018】
本発明の他の目的は、十分なセキュリティ機能を持たないネットワーク機器に対し、簡単な作業で一定のセキュリティ機能を付加できるような機能付加装置を提供することである。
【0019】
本発明の他の目的は、組込のネットワーク機器に適応したパケットのみを、当該ネットワーク機器に送信することができるパケットフィルタリング機能を備えた機能付加装置を提供することである。
【0020】
本発明のさらに他の目的は、ネットワーク機器で使用しているポート番号を外部から調べることを困難にする機能を持つ機能付加装置を提供することである。
【課題を解決するための手段】
【0021】
本発明の第1の局面に係る機能付加装置は、第1のネットワーク上の端末との間でパケットを送受信するための第1のパケット送受信手段と、第2のネットワーク上の端末との間でパケットを送受信するための第2のパケット送受信手段と、第1のパケット送受信手段及び第2のパケット送受信手段を用い、第1のネットワーク上の端末と、第2のネットワーク上の端末との間で、各パケットの送信元端末のアドレス情報及び送信先端末のアドレス情報を変更せずにパケットを中継するためのパケット中継手段とを含む。機能付加装置はさらに、パケット中継手段が受信したパケットのうち、特定の条件を充足するものに対し、予め定める処理を行なうための第1のパケット処理手段を含み、それによって、第1のネットワーク上の端末に、予め定める処理による機能を付加する。
【0022】
パケット中継手段は、第1のネットワーク上の端末と第2のネットワーク上の端末との間でのパケットの中継を行なう。パケット中継手段が受信したパケットのうち、特定の条件を充足するパケットについては、第1のパケット処理手段によって予め定められる処理が行なわれる。すなわち、第1のパケット処理手段は、第1のネットワーク上の端末に、予め定める処理による機能を付加する。したがって、第1のネットワーク上の端末が、予め定める処理により実現される特定の機能を備えていなかったとしても、当該端末には何ら手を加えることなく、この機能付加装置を第2のネットワークとの間に介在させるだけで、その機能による通信が付加的に行なえるようになる。このとき、この機能付加装置のためのアドレスは不要である。
【0023】
好ましくは、第1のパケット処理手段は、第1のパケット送受信手段が第1のネットワーク上の端末から受信したパケットから送信元端末のアドレス情報を抽出し記憶するためのアドレス記憶手段と、パケット中継手段により第2のネットワークから第1のネットワークに中継されるパケットのうち、アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持つパケットに対して、予め定める処理を行なうための第2のパケット処理手段とを含む。
【0024】
第1のネットワーク上の端末から第2のネットワーク上の端末にパケットが送信されるとき、アドレス記憶手段はそのパケット中の送信元端末のアドレス情報を抽出し記憶する。第2のネットワーク上の端末から送信されてくるパケットについては、そのパケットの送信先のアドレス情報と、アドレス記憶手段に記憶されたアドレス情報とを比較することにより、そのパケットが第1のネットワーク上の端末を送信先とするものか否かが判定できる。第2のパケット処理手段は、そうした判定により、第1のネットワーク上の端末を送信先として、パケットが送信されたときに、予め定める処理を行なう。したがって、第1のネットワーク上の端末に何ら手を加えることなく、その端末を送信先とするパケットに対し、機能付加装置が代わりに予め定める処理を行なうことができる。
【0025】
より好ましくは、第2のパケット処理手段は、パケット中継手段が第2のパケット送受信手段から受信した、第2のネットワーク上の端末からのパケットのうち、アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持ち、かつ特定の第1のプロトコルによる通信のためのパケットに対し、当該パケットを特定の第2のプロトコルによる通信のためのパケットに変換するための第1のプロトコル変換手段を含む。
【0026】
この機能付加装置を中継すれば、第1のネットワーク上の端末を送信先とする第1のプロトコルによるパケットを、第1のプロトコル変換手段が第2のプロトコルに変換する。したがって、仮に第1のネットワーク上の端末においては第1のプロトコルによる通信が不可能でも、第2のプロトコルによる通信が可能であれば、第1のネットワーク上の端末には何ら改良を加えることなく、第2のネットワーク上からの第1のプロトコルによるパケットを受信し処理することができる。
【0027】
さらに好ましくは、第2のパケット処理手段はさらに、パケット中継手段が第2のパケット送受信手段から受信した、第2のネットワーク上の端末からのパケットから、当該パケットの送信元端末及び送信元アプリケーションを特定するための送信元特定情報を抽出し記憶するための送信元特定情報記憶手段を含む。第2のパケット処理手段はさらに、パケット中継手段が第1のパケット送受信手段から受信した、第1のネットワーク上の端末からの、第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、送信元特定情報記憶手段に記憶された送信元特定情報と一致するときに、当該パケットを第1のプロトコルを用いた通信のためのパケットに変換するための第2のプロトコル変換手段を含む。
【0028】
第1のネットワーク上の端末は第2のプロトコルによる通信が可能であり、第2のネットワーク上の端末は第1のプロトコルによる通信が可能であるものとする。第2のネットワーク上の端末から第1のネットワーク上の端末をあて先として、第1のプロトコルによるパケットを送信する場合、当該パケットは機能付加装置内において第2のプロトコルによるパケットに変換され、第1のネットワーク上の端末に送信される。同時に、送信元である第2のネットワークの端末の送信元特定情報が送信元特定情報記憶手段に記憶される。第1のネットワーク上の端末は、このパケットを受信した後、応答のための第2のプロトコルによるパケットを返す。機能付加装置は、このパケットを、第1のプロトコルにプロトコル変換し、指定された送信先にパケットを送信する。このとき、機能付加装置は、無条件にプロトコルを変換することはしない。第1のネットワークから受信したパケットが第2のプロトコルであり、かつその送信先端末とそのアプリケーションとが送信元特定情報記憶手段に記憶されているときに、このようなプロトコル変換を行なう。その結果、第2のネットワーク上の端末から第1のネットワーク上の端末に送信された第1のプロトコルによるパケットに対する応答パケットに対してのみ、プロトコル変換が行なわれる。この結果、第1のネットワーク上の端末が第1のプロトコルによるパケットを処理する機能を持たなくても、第2のネットワーク上の端末にとっては、第1のプロトコルによるパケットを処理可能であるかのように見える。すなわち、この機能付加装置によって、第1のプロトコルによる通信機能が第1のネットワーク上の端末に付加されたことになる。
【0029】
さらに好ましくは、第1のプロトコルは、アドレス情報から作成される電子的な自己署名証明書を用いて暗号化されたパケットで通信を行なうためのプロトコルであり、第2のプロトコルは暗号化されないパケットで通信を行なうためのプロトコルである。機能付加装置はさらに、受信したパケットの送信元アドレス情報を用いて電子的な自己署名証明書を作成し、記憶するための証明書記憶手段を含む。第2のプロトコル変換手段は、パケット中継手段が第1のパケット送受信手段から受信した、第1のネットワーク上の端末からの、第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、送信元特定情報記憶手段により記憶された送信元特定情報と一致するときに、当該パケットを、証明書記憶手段に記憶された電子的な自己署名証明書を用いて暗号化することにより、第1のプロトコルによる通信のためのパケットに変換するための手段を含む。
【0030】
第1のネットワーク上の端末が暗号化されたパケットで通信を行なうことができないとしても、機能付加装置が第1のネットワーク及び第2のネットワークの間を中継することによって、第1のネットワーク上の端末による暗号化されたパケットでの通信が可能になり、一定のセキュリティ機能を付加することができる。
【0031】
さらに好ましくは、第1のプロトコルはHTTPSであり、第2のプロトコルはHTTPである。
【0032】
例えば、第1のネットワーク上の端末が、HTTPSに対応していないネットワーク機器であるとする。機能付加装置をこの端末と第2のネットワークとの間に介在させることで、第1のネットワーク上の端末がHTTPSに対応しているように見える。その結果、第1のネットワーク上のネットワーク機器を改良することなく、当該ネットワーク機器にHTTPS通信の機能を付加することができる。
【0033】
さらに好ましくは、機能付加装置はさらに、第1のパケット送受信手段に接続され、第1のネットワーク上の端末とのリンクが失われたことを検知して、アドレス記憶手段に記憶された、当該端末のアドレス情報を削除するための監視手段を含む。
【0034】
監視手段は、第1のネットワーク上の端末とのリンクの状態を検知し、第1のネットワーク上の端末とのリンクが失われると、その端末のアドレス情報をアドレス記憶手段から削除する。その結果、第2のネットワーク上の端末から第1のネットワーク上の当該機器を送信先とするパケットを受信した場合、そのパケットに対し予め定める処理は行なわない。その結果、機能付加装置が第2のネットワーク上からパケットを受信したときに、第1のネットワーク上に端末が接続されているか否かに応じた適切な処理を行なうことができる。
【0035】
さらに好ましくは、第2のパケット処理手段は、アドレス記憶手段に何らかのアドレス情報が新たに記憶されたことに応答して、ネットワーク機器に関する情報を問合せるための第1のプロトコルの問合せパケットを生成しアドレス記憶手段に新たに記憶されたアドレス情報を送信先アドレス情報として、第1のパケット送受信手段を介して第1のネットワーク上に送出するためのパケット送信手段と、問合せパケットに対する応答パケットを第1のパケット送受信手段から受信したことに応答して、当該パケットに含まれるネットワーク機器に関する情報を記憶するためのネットワーク機器情報記憶手段と、第2のネットワーク上からアドレス記憶手段に記憶されたアドレス情報を送信先として、ネットワーク機器に関する情報を問合せるための第2のプロトコルの問合せパケットを受信したことに応答して、ネットワーク機器情報記憶手段に記憶されたネットワーク機器に関する情報を含み、アドレス記憶手段に記憶されたアドレス情報を送信元アドレス情報として持ち、第2のプロトコルの問合せパケットの送信元端末を送信先として持つ第2のプロトコルの応答パケットを生成し、第2のパケット送受信手段を介して第2のネットワークに送出するための手段とを含む。
【0036】
例えば、第1のネットワーク上の端末が、ネットワーク機器に関する情報の問合せに対する返答を行なうために、第1のプロトコルを使用可能であり、第2のプロトコルを使用不可能であるとする。また、第2のネットワーク上の端末は、ネットワーク機器に関する情報を問合せるために、第2のプロトコルを使用可能であり、第1のプロトコルを使用不可能であるとする。パケット送信手段は、第1のネットワークに新たな端末が接続されると、その端末に対し第1のプロトコルの問合せパケットをこの端末に送信する。ネットワーク機器情報記憶手段は、このパケットに対する応答パケットからその端末に関するネットワーク機器情報を記憶する。さらに、第2のネットワーク上の端末から第2のプロトコルによる、第1のネットワーク上の端末のネットワーク機器情報に関する問合せがあれば、ネットワーク機器情報記憶手段に記憶された情報に基づき、この機能付加装置が第2のプロトコルで返答する。したがって、この機能付加装置を中継すれば、第2のネットワーク上の端末は、第2のプロトコルの問合せパケットにより、第1のネットワーク上の端末の情報を取得することができる。第1のネットワーク上の端末を第2のプロトコルに対応できるように改良する必要はない。
【0037】
さらに好ましくは、第1のパケット処理手段は、第2のネットワークから第1のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶するための条件記憶手段を含む。第1のパケット処理手段は、第2のパケット送受信手段が第2のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを第1のパケット送受信手段を介して第1のネットワークに中継するための手段を含む。
【0038】
機能付加装置は、第2のネットワーク上の端末から送信されたパケットが、条件記憶手段に記憶された条件を充足する場合に、当該パケットを破棄する。したがって、第1のネットワーク上の端末に適応したパケットのみが当該端末に送信される。第1のネットワーク上の端末に適応しない不適切なパケットは破棄される。その結果、第1のネットワーク上の端末が不適切なパケットを受けるおそれは少なく、当該端末のセキュリティを向上させることができる。
【0039】
さらに好ましくは、条件記憶手段はさらに、第1のネットワークから第2のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶する。第1のパケット処理手段はさらに、第1のパケット送受信手段が第1のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを第2のパケット送受信手段を介して第2のネットワークに中継するための手段を含む。
【0040】
機能付加装置は、同様にして、第1のネットワーク上の端末から第2のネットワーク上の端末へ送信されたパケットであっても、第2のネットワーク上の端末に適応したパケットのみを送信することができる。
【0041】
さらに好ましくは、第1のパケット処理手段は、第2のネットワークから第1のネットワークへの中継が許可されるパケットが満たすべき条件を記憶するための条件記憶手段と、第2のパケット送受信手段が第2のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを第1のパケット送受信手段を介して第1のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段を含む。
【0042】
機能付加装置は、第2のネットワーク上の端末から送信されたパケットが、条件記憶手段に記憶された条件に充足される場合にのみ、当該パケットを第1のネットワークに中継し、それ以外の場合には当該パケットを破棄する。したがって、第1のネットワーク上の端末に適応したパケットのみが当該端末に送信される。第1のネットワーク上の端末に適応しない不適切なパケットは破棄される。その結果、第1のネットワーク上の端末が不適切なパケットを受けるおそれは少なく、当該端末のセキュリティを向上させることができる。
【0043】
さらに好ましくは、条件記憶手段はさらに、第1のネットワークから第2のネットワークへの中継が許可されるパケットが満たすべき条件を記憶する。第1のパケット処理手段はさらに、第1のパケット送受信手段が第1のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを第2のパケット送受信手段を介して第2のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段を含む。
【0044】
機能付加装置は、第1のネットワーク上の端末から第2のネットワーク上の端末へ送信されたパケットであっても、第2のネットワーク上の端末に適応したパケットのみを送信することができる。
【0045】
さらに好ましくは、各パケットは、送信先端末で当該パケットを処理すべきアプリケーションを特定するアプリケーション特定情報を含む。第1のパケット処理手段は、アプリケーション特定情報の複数の対を記憶したアプリケーション特定情報変換テーブルを記憶するためのテーブル記憶手段を含む。複数の対の各々は、第1のアプリケーション特定情報と、第2のアプリケーション特定情報とを含む。第1のパケット処理手段はさらに、第2のネットワーク送受信手段から受信した第2のネットワークからのパケットのアプリケーション特定情報と一致する第2のアプリケーション特定情報をテーブル記憶手段内で検索し、検索された第2のアプリケーション特定情報と対になっている第2のアプリケーション特定情報でパケット内のアプリケーション特定情報を置換するための手段を含む。
【0046】
機能付加装置は、第2のネットワークから受信したパケットに対して、それぞれのネットワークに適応したアプリケーション特定情報でパケットのアプリケーション特定情報を置換する。そのため、第1のネットワーク上の端末で行なっているサービス内容を知る目的、又は不正なアクセスをする目的で、一般的に使用されるアプリケーション特定情報を使用して第2のネットワーク上の端末からアクセスしようとしても、容易にはアクセスできない。また、第1のネットワーク上の端末においてどのようなサービスがどのようなアプリケーション特定情報で提供されているかを知ることも難しくなる。その結果、機能付加装置は、十分なセキュリティ機能を持たない第1のネットワーク上の端末のセキュリティ機能を高めることができる。
【0047】
さらに好ましくは、第1のパケット処理手段はさらに、第1のネットワーク送受信手段から受信した第1のネットワークからのパケットのアプリケーション特定情報と一致する第1のアプリケーション特定情報をテーブル記憶手段内で検索し、検索された第1のアプリケーション特定情報と対になっている第2のアプリケーション特定情報でパケット内のアプリケーション特定情報を置換するための手段を含む。
【0048】
第1のネットワークからのパケットについても、テーブルを逆に検索することでアプリケーション特定情報を逆変換し、第2のネットワークに送信する。したがって、この変換テーブルを知っていれば、第1及び第2のネットワーク上の端末の間で、特定アプリケーションに関するパケットの送受信を行なうことができる。そのときのアプリケーション特定情報としてどのような値にするかを外部から知ることは容易にはできない。その結果、機能付加装置は、十分なセキュリティ機能を持たない第1のネットワーク上の端末のセキュリティ機能を高めることができる。
【0049】
さらに好ましくは、第1のパケット処理手段はさらに、第2のネットワーク送受信手段から受信した第2のネットワークからのパケットのアプリケーション特定情報と一致する第2のアプリケーション特定情報がテーブル記憶手段内になかったことに応答し、当該パケットを破棄するための手段を含む。
【0050】
アプリケーション特定情報に記憶されていないアプリケーション情報を持つパケットは、第1のパケット処理手段により破棄される。したがって、変換テーブルの内容を把握していない端末からの、不正な情報による第1のネットワーク上の端末へのアクセスを排除できる。その結果、機能付加装置は、十分なセキュリティ機能を備えていない第1のネットワーク上の端末を不正なアクセスから保護することができる。
【発明を実施するための最良の形態】
【0051】
以下、本発明について、実施の形態に基づいて説明する。なお、図面において、同じ部品には同じ参照番号を付し、それらについての詳細な説明は繰返さない。
【0052】
[第1の実施の形態]
<構成>
図1に、本発明に係る機能付加装置の一例として、本発明の第1の実施の形態に係る機能付加装置100のネットワーク環境の図を示す。
【0053】
図1を参照して、ネットワーク90は、ネットワーク回線108と、いずれもこのネットワーク回線108に接続されるネットワーク端末104、106及びHTTP通信の機能は持つが、HTTPS通信の機能を持たないネットワーク機器102を含む。ただし、ネットワーク機器102は、本実施の形態に係る、ネットワーク機器102に対してHTTPS通信の機能を付加するための機能付加装置100を経由してネットワーク回線108に接続されている。ネットワーク機器102は、通信線110で機能付加装置100と接続されている。本実施の形態では、通信線110で機能付加装置100に接続されるネットワーク機器は1台のみであるとする。
【0054】
以下の説明では、ネットワーク機器102は、HTTPSに対応していないWWWサーバを搭載した組込のネットワーク機器であるとする。一方、ネットワーク端末104及びネットワーク端末106はHTTPSで通信することが可能であるものとする。
【0055】
図2に、本実施の形態に係る機能付加装置100のハードウェア構成の図を示す。図2を参照して、機能付加装置100はCPU(中央演算処理装置)200と、機能付加装置100のブートアッププログラム及びCPU200によって実行されるプログラムを記憶するROM(Read−Only Memory)202とを含む。機能付加装置100は、CPU200によって使用される作業領域を提供するための記憶領域となるRAM(Random Access Memory)204と、通信線110への接続を提供し、通信線110上のネットワーク端末との間でパケットを送受信するための第1のネットワークインタフェース206と、ネットワーク回線108への接続を提供し、ネットワーク回線108上のネットワーク端末との間でパケットを送受信するための第2のネットワークインタフェース208とをさらに含む。
【0056】
図3は、機能付加装置100の機能ブロック図である。図3を参照して、機能付加装置100は、第2のネットワークインタフェース208がネットワーク回線108に接続されているネットワーク端末から受信したHTTPSプロトコルによるパケット(以下単に「HTTPSパケット」と呼ぶ。)の送信元IPアドレスとポート番号とを記憶するための送信元端末情報保存領域260と、第1のネットワークインタフェース206に接続されたネットワーク機器(本実施の形態ではネットワーク機器102)のIPアドレスとHTTPS通信のための証明書とを記憶するための証明書情報保存領域262とを含む。このIPアドレスは、後述するように機能付加装置がネットワーク機器102から送信されるパケットから取得する。なお、図3における第1のネットワークインタフェース206及び第2のネットワークインタフェース208は、図2を用いて説明したこれら物理インタフェースを動作させる為のTCP/IPプロトコルなどのソフトウェアプログラムを含む。
【0057】
詳しくは後述するが、第1のネットワークインタフェース206及び第2のネットワークインタフェース208は、機能付加装置100にネットワークを介して接続されているネットワーク機器及びネットワーク端末とTCP接続をするために、それぞれネットワーク機器102及び当該ネットワーク端末とTCP接続確立パケットを送受信する。ここで、「TCP接続確立パケット」とは、後述する「TCP接続」、「TCP接続/応答」、及び「TCP応答確認」のパケットの総称である。
【0058】
機能付加装置100はさらに、第1のネットワークインタフェース206がネットワーク機器102から受信したパケットの送信元IPアドレス及びMAC(Media Access Control)アドレスを保存するための送信先端末情報保存領域264とを含む。ネットワーク機器102がこのようなパケットを送信するのは、外部からネットワーク機器102を送信先とするパケットを受信したときに限られる。そのため、ここではネットワーク機器102のIPアドレスを「送信先」アドレスと呼んでいる。
【0059】
機能付加装置100はさらに、第1のパケット受信処理部250とHTTP/HTTPSデコード処理部252とリンク監視部254とを含む。第1のパケット受信処理部250は、後述するHTTP/HTTPSデコード処理部252に接続された第1の出力経路と、第1のネットワークインタフェース206に接続された第2の出力経路とを持つ。第1のパケット受信処理部250は、第2のネットワークインタフェース208から送信されたパケットを受信し、送信先端末情報保存領域264に受信パケットの送信先のIPアドレス及びMACアドレスが登録されているか否かを判定する。登録されていない場合、及び登録されていたとしても受信パケットがTCP接続確立パケット以外、且つHTTPS以外のパケットである場合には、第1のパケット受信処理部250は第2の出力経路に当該受信したパケットを送信し、一方、HTTPSのパケットであれば第1の出力経路に当該受信したパケットを送信する。一方、ポート番号が443番であるTCP接続確立パケットである場合には、第1のパケット受信処理部250は、ネットワーク端末104と自身である機能付加装置100との間でHTTPS通信用のTCP接続(ポート番号=443)を確立するため、第2のネットワークインタフェース208にネットワーク端末104とTCP接続確立パケットを送受信させるための指示を出し、パケットを破棄する。HTTP/HTTPSデコード処理部252は、第1のパケット受信処理部250の第1の出力経路に接続された入力を持ち、第1の出力経路から受信したHTTPSのパケットの送信先であるネットワーク機器102と機能付加装置100との間にてHTTP通信用のTCP接続(ポート番号=80)を確立するため、第1のネットワークインタフェース206に、ネットワーク機器102とTCP接続確立パケットを送受信させるための指示を出し、証明書情報保存領域262を参照して、受信したパケットをHTTPのパケットにデコードし、送信元端末情報保存領域260に、パケットの送信元のIPアドレス及びポート番号を記憶する。リンク監視部254は、第1のネットワークインタフェース206とネットワーク機器102とのリンク状態を常時監視し、接続状態から切断状態への遷移を検知すると、当該ネットワーク機器102のIPアドレス及びMACアドレスを送信先端末情報保存領域264から削除する。
【0060】
機能付加装置100はさらに、第2のパケット受信処理部256とHTTP/HTTPSエンコード処理部258とを含む。第2のパケット受信処理部256は、後述するHTTP/HTTPSエンコード処理部258に接続された第1の出力経路と第2のネットワークインタフェース208に接続された第2の出力経路を含む。第2のパケット受信処理部256は、第1のネットワークインタフェース206よりパケットを受信し、受信パケットの送信元IPアドレス及びMACアドレスを抽出する。第2のパケット受信処理部256は、それらが送信先端末情報保存領域264に記憶されていなければ、各アドレスを送信先端末情報保存領域264に登録し、パケットの送信元IPアドレスに対応する証明書が証明書情報保存領域262に存在していなければ自己署名証明書を作成してネットワーク機器102のIPアドレスとともに証明書情報保存領域262に保存する。第2のパケット受信処理部256はさらに、当該受信パケットの送信元ポート番号を判定し、当該受信パケットの送信元ポート番号が80であれば、当該受信パケットを第1の出力経路に出力し、一方、それ以外のパケットであれば、受信パケットを第2の出力経路に出力する。HTTP/HTTPSエンコード処理部258は、第2のパケット受信処理部256からパケットを受信し、そのパケットがHTTPSパケットに対する応答のHTTPパケットであれば、HTTPSにエンコードして第2のネットワークインタフェース208に出力し、その他の場合にはそのまま第2のネットワークインタフェース208に出力する。
【0061】
HTTP/HTTPSエンコード処理部258が、受信したパケットをHTTPSにエンコードすべきか否かは、次のようにして判定する。HTTP/HTTPSデコード処理部252がネットワーク機器102あてのHTTPSパケットを受信したとき、そのパケットの送信元端末のIPアドレスとポート番号とを送信元端末情報保存領域260に保存する。HTTP/HTTPSエンコード処理部258は、第2のパケット受信処理部からパケットを受信すると、送信元端末情報保存領域260を参照し、パケットの送信先のIPアドレスとポート番号との組合せが送信元端末情報保存領域260に存在していなければ第2のネットワークインタフェース208にそのまま送信する。存在すれば、証明書情報保存領域262を参照して、HTTPSのパケットにエンコードし、第2のネットワークインタフェース208に送信した後、送信元端末情報保存領域260に保存されていたIPアドレス及びポート番号の組合せを削除する。このようにすることで、HTTP/HTTPSエンコード処理部258は、受信したパケットをHTTPSにエンコードすべきか否かを判定できる。
【0062】
すなわち、第1のパケット受信処理部250、HTTP/HTTPSデコード処理部252、第2のパケット受信処理部256、及びHTTP/HTTPSエンコード処理部258は、第1のネットワークインタフェース206及び第2のネットワークインタフェース208を用い、第1のネットワークインタフェース206の端末と、ネットワーク回線108上の端末との間で、各パケットの送信元端末のIPアドレス及び送信先端末のIPアドレスを変更せずにパケットを中継する機能を持っている。ただし、既に述べたように、これらは、特定の条件を充足するパケットについては、中継するパケットに対してプロトコル変換という特定の処理を実行する機能を持つ。
【0063】
なお、本実施の形態に係る機能付加装置100は、自身のIPアドレスを備えず、ネットワーク機器102及びネットワーク回線108に接続された各ネットワーク端末のIPアドレスを利用して、通信を行なう。
【0064】
図4は、第1のパケット受信処理部250の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。以下で説明するコンピュータプログラムは、いずれも図2に示すROM202に記憶されており、CPU200によってプロセスとして実行されることにより、各機能ブロックの機能を実現する。
【0065】
図4を参照して、ステップ300において、第1のパケット受信処理部250は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであれば制御はステップ302に進み、それ以外であればステップ300に戻る。
【0066】
ステップ302において、第1のパケット受信処理部250は、受信したパケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されているか、そうでないかを判定する。判定結果がYESであれば制御はステップ310に進み、それ以外であればステップ306に進む。
【0067】
ステップ310において、第1のパケット受信処理部250は、当該受信したパケットがTCP接続確立パケットであるか否かを判定する。判定結果がYESであれば、制御はステップ312に進み、それ以外であればステップ304に進む。
【0068】
ステップ312において、第1のパケット受信処理部250は、当該受信したTCP接続確立パケットがポート番号=443に対するパケットか否かを判定する。判定結果がYESであれば、制御はステップ314に進み、それ以外であればステップ306に進む。
【0069】
ステップ314において、第1のパケット受信処理部250は、第2のネットワークインタフェース208に対し、当該TCP接続確立パケット(ポート番号=443)を送信したネットワーク端末とTCP接続を確立するために、当該ネットワーク端末とTCP接続確立パケットを送受信させるよう指示を出し、パケットを破棄する。その後、制御はステップ300に戻る。
【0070】
ステップ304において、第1のパケット受信処理部250は、受信したパケットがHTTPS通信によるものであるか、そうでないかを判定する。判定結果がYESであれば制御はステップ308に進み、それ以外であればステップ306に進む。
【0071】
ステップ308において、第1のパケット受信処理部250は、HTTPS通信によるパケットをHTTPのためのパケットにデコードするために、HTTP/HTTPSデコード処理部252にパケットを送信し、ステップ300に戻る。なお、ステップ308における実際の動作は、第1のパケット受信処理部250として機能するプロセスからHTTP/HTTPSのデコードプロセスにパケットデータを引渡すことにより行なわれる。
【0072】
一方、ステップ306においては、受信したパケットに対して何も処理せず、パケットを第1のネットワークインタフェース206に送信する。この後、制御はステップ300に戻る。
【0073】
図5は、リンク監視部254の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図5を参照して、リンク監視部254は、ステップ320において、第1のネットワークインタフェース206とネットワーク機器102とのリンクが切断されているか、そうでないかを判定する。判定結果がYESであればステップ322に進み、それ以外であればステップ320に戻る。
【0074】
ステップ322において、リンク監視部254は、ネットワーク機器102とのリンクが切断されているので、送信先端末情報保存領域264に記憶されているIPアドレス及びMACアドレスを削除し、ステップ320に戻る。すなわちリンク監視部254は、第1のネットワークインタフェース206を常に監視し、接続されている機器との間のリンクが切断されると、送信先端末情報保存領域264に記憶されていたその機器のIPアドレス及びMACアドレスを削除する機能を実現する。
【0075】
図6は、第2のパケット受信処理部256の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図6を参照して、ステップ330において、第2のパケット受信処理部256は、第1のネットワークインタフェース206からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ332に進み、それ以外であればステップ330に戻る。
【0076】
ステップ332において、第2のパケット受信処理部256は、受信したパケットの送信元であるネットワーク機器102のIPアドレス及びMACアドレスが送信先端末情報保存領域264に記憶されているか、そうでないかを判定する。判定結果がYESであればステップ344に進み、それ以外であればステップ334に進む。
【0077】
ステップ334において、第2のパケット受信処理部256はパケットの送信元IPアドレス及びMACアドレスを送信先端末情報保存領域264に記憶させる。制御はステップ336に進む。
【0078】
ステップ336において、第2のパケット受信処理部256は、HTTPSエンコードのための電子的な自己署名証明書が証明書情報保存領域262に既に存在しているか、そうでないかを判定する。判定結果がYESであればステップ338に進み、それ以外であればステップ342に進む。
【0079】
ステップ338において、証明書情報保存領域262を参照し、ここに記憶されている自己署名証明書のIPアドレスと、第1のネットワークインタフェース206から受信したパケットの送信元IPアドレス(すなわちネットワーク機器102のIPアドレス)とが違うか、そうでないかを判定する。判定結果がYESであればステップ342に進み、それ以外であればステップ344に進む。
【0080】
ステップ342においては、現在、第1のネットワークインタフェース206に接続されているネットワーク機器102のIPアドレスのための証明書が証明書情報保存領域262に記憶されていないということであるので、第2のパケット受信処理部256は、受信したパケットの送信元端末のIPアドレスのための新しい自己署名証明書を作成する。第2のパケット受信処理部256は、その自己署名証明書と、受信したパケットの送信元IPアドレスとを互いに関連付けて証明書情報保存領域262に記憶させ、ステップ344に進む。
【0081】
ステップ344において、第2のパケット受信処理部256は、受信したパケットの送信元ポート番号が80番であるか否かを判定する。判定結果がYES(ポート番号=80)であれば、制御はステップ340に進み、それ以外であればステップ346に進む。
【0082】
ステップ346において、第2のパケット受信処理部256は、受信したパケットをそのまま第2のネットワークインタフェース208に送信し、制御はステップ330に戻る。
【0083】
ステップ340において、第2のパケット受信処理部256は、第1のネットワークインタフェース206から受信したパケットをHTTP/HTTPSエンコード処理部258に送信する。この後、制御はステップ330に戻る。
【0084】
図7は、HTTP/HTTPSエンコード処理部258の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図7を参照して、ステップ350において、HTTP/HTTPSエンコード処理部258は、第2のパケット受信処理部256からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ352に進み、それ以外であればステップ350に戻る。
【0085】
ステップ352において、先ず、HTTP/HTTPSエンコード処理部258は、受信したパケットがHTTPパケットであるかを判定する。この結果、HTTPパケット以外であれば制御がステップ356に進む。HTTPパケットであれば、HTTP/HTTPSエンコード処理部258は、パケットの送信先IPアドレス及びMACアドレスが送信元端末情報保存領域260に存在するか、そうでないかを判定する。本ステップは、受信したパケットがHTTP/HTTPSデコード処理部252でデコードされたHTTPSのパケットに対する応答であるか、そうでないかを判定するためのものである。もし、受信したパケットが、HTTPSをデコードして得られたHTTPに対する応答であれば、送信元端末情報保存領域260に元のHTTPSパケットの送信元IPアドレスとポート番号とが記憶されており、これらはネットワーク機器102から送信されるHTTPパケットの送信先IPアドレスとポート番号とにそれぞれ一致する筈だからである。判定結果がYES、即ちパケットの送信先IPアドレス及びMACアドレスが送信元端末情報保存領域260に存在する場合、制御はステップ354に進み、それ以外であればステップ356に進む。
【0086】
ステップ354において、HTTP/HTTPSエンコード処理部258は、証明書情報保存領域262に記憶されている、ネットワーク機器102のIPアドレスに対応する自己署名証明書を参照し、HTTPのパケットをHTTPSのパケットにエンコードする。次にHTTP/HTTPSエンコード処理部258は、送信元端末情報保存領域260から受信したHTTPパケットの送信先IPアドレスと、対応するポート番号とを削除する。この後制御はステップ356に進む。
【0087】
ステップ356において、HTTP/HTTPSエンコード処理部258はパケットを第2のネットワークインタフェース208に送信する。この後、制御はステップ350に戻り、次のパケットを待つ。
【0088】
<動作>
以上構成を説明した機能付加装置100は以下のように動作する。以下では、HTTP通信をする場合と、HTTPS通信をする場合とに分けて動作を説明する。
【0089】
図3を参照して、最初は第1のネットワークインタフェース206にはネットワーク機器102が接続されておらず、送信元端末情報保存領域260、証明書情報保存領域262、及び送信先端末情報保存領域264には何の情報も保存されていないものとする。
【0090】
機能付加装置100が動作し始めると、リンク監視部254が起動し、第1のネットワークインタフェース206と、第1のネットワークインタフェース206に接続される機器とのリンク状態の監視を開始する。
【0091】
ネットワーク機器102が第1のネットワークインタフェース206に接続されたものとする。この場合、リンク監視部254は第1のネットワークインタフェース206とネットワーク機器102とのリンクの確立を検知するが、それ以上は何も行なわない。以後リンク監視部254は、第1のネットワークインタフェース206とネットワーク機器102とのリンクが切断されたか否か、すなわちリンクが失われたか否かについて監視する。
【0092】
リンクが切断されたとき、リンク監視部254は、送信先端末情報保存領域264を参照し、ネットワーク機器102のIPアドレス及びMACアドレスが登録されていれば、登録されている情報を削除する。
【0093】
―HTTP通信―
図8は、図3に示すネットワーク回線108に接続されたネットワーク端末104から、機能付加装置100を介して、ネットワーク機器102へHTTP通信を行なうときのシーケンス図である。図8を参照して、ネットワーク端末104からネットワーク機器102へHTTP通信を行なうものとする。
【0094】
図8を参照して、先ず、矢印370は、ネットワーク端末104からネットワーク機器102へ、ARP(Address Resolution Protocol)リクエストを送信することを示している。最初、ネットワーク端末104は、パケットの送信先のIPアドレスを知っているが、そのIPアドレスに対応するMACアドレスを知らない。このARPリクエストは、ネットワーク端末104が、相手方のMACアドレスを知るためにネットワーク回線108上にブロードキャストするものである。
【0095】
図3を参照して、ネットワーク端末104から送信されたARPリクエストのパケットは、第2のネットワークインタフェース208を介して、第1のパケット受信処理部250で受信される。送信先端末情報保存領域264には、ネットワーク機器102のIPアドレス及びMACアドレスは記憶されていない。したがって、第1のパケット受信処理部250は、このARPリクエストのパケットを第1のネットワークインタフェース206に与える。第1のネットワークインタフェース206はこのARPリクエストのパケットをネットワーク機器102に送信する。このARPリクエストがネットワーク機器102のIPアドレスに関するものであれば、ネットワーク機器102は自己のMACアドレスをARP応答としてネットワーク端末104に返信する。ARPリクエストが自己のIPアドレスに関するものでなければネットワーク機器102は何も返信しない。以下の説明では、ARPリクエストがネットワーク機器102のIPアドレスに関するものであるものとする。
【0096】
図8を参照して、矢印372は、ネットワーク機器102が、ネットワーク端末104へ、ネットワーク機器102のMACアドレスを含むARP応答を返すことを示している。
【0097】
図3を参照して、ARP応答は先ず、ネットワーク機器102から第1のネットワークインタフェース206を介して、第2のパケット受信処理部256に到達する。第2のパケット受信処理部256は送信先端末情報保存領域264を参照して、ARP応答のパケットの送信元であるネットワーク機器102のIPアドレス及びMACアドレスが送信先端末情報保存領域264に記憶されているかどうかを確認する。現状では、送信先端末情報保存領域264に何も登録されていないので、第2のパケット受信処理部256は、受信したパケットの送信元IPアドレスとMACアドレスとを送信先端末情報保存領域264に登録する。その後、第2のパケット受信処理部256は、このIPアドレスのための自己署名証明書を作成し、作成した証明書をIPアドレスと関連付けて証明書情報保存領域262に記憶させる。第2のパケット受信処理部256はこの後、パケットをHTTP/HTTPSエンコード処理部258に送信する。
【0098】
このようにして、機能付加装置100は、ネットワーク機器102と他の機器との通信を中継することにより、ネットワーク機器102のIPアドレスとMACアドレスとを知ることができる。
【0099】
HTTP/HTTPSエンコード処理部258はこのパケットの送信先IPアドレスとポート番号との組合せが送信元端末情報保存領域260に記憶されているか否かを判定する。ここでは送信元端末情報保存領域260には何も記憶されていないので、HTTP/HTTPSエンコード処理部258はパケットをそのまま第2のネットワークインタフェース208に与える。第2のネットワークインタフェース208はこのパケットをネットワーク回線108上に送出する。その結果、ARP応答はネットワーク端末104に到達する。この結果、ネットワーク端末104はネットワーク機器102のMACアドレスを知ることができる。
【0100】
図8を参照して、矢印374は、ネットワーク端末104がネットワーク機器102とポート番号を80番としてTCP接続をするためのパケット通信を行なうことを示している。これは、即ち、HTTPポートでTCP接続を開始することを意味する。このときにネットワーク端末104から送信されるパケットに対して、機能付加装置100は何の処理も行なわず、第2のネットワークインタフェース208、第1のパケット受信処理部250、及び第1のネットワークインタフェース206を経由して、パケットをネットワーク機器102に送信する。この理由は、図4の説明で既に述べたように、当該受信したTCP接続パケットはTCP接続確立パケットの1つではあるものの、ポート番号が443でないため、第1のパケット受信処理部250において何も処理されず、そのまま第1のネットワークインタフェース206に送信されるからである。
【0101】
図8を参照して、矢印376は、ネットワーク機器102が矢印374で受信したTCP接続のためのパケットに対して、TCP接続に対する応答をネットワーク端末104にパケット送信することを示している。そのときにネットワーク機器102から送信されるパケットに対して、機能付加装置100は何の処理も行なわず、第1のネットワークインタフェース206、第2のパケット受信処理部256、HTTP/HTTPSエンコード処理部258及び第2のネットワークインタフェース208を経由して、パケットをネットワーク端末104に送信する。この理由は、図6を参照して、当該受信したTCP接続/応答パケットの送信元ポート番号が80であるため、このパケットがHTTP/HTTPSエンコード処理部258に送信され、次いで、図7を参照して、送信元端末情報保存領域260にネットワーク端末104のIPアドレス及びMACアドレスが登録されていないので、当該受信したTCP接続/応答パケットが何も処理されず、そのまま第2のネットワークインタフェース208に送信されるからである。
【0102】
矢印378は、ネットワーク端末104がネットワーク機器102からTCP接続に対する応答を受信し、ネットワーク機器102にTCP応答確認のためのパケットを送信することを示す。機能付加装置100はこのパケットに対し何の処理も行なわず、ネットワーク機器102に送信する。この理由は、図4の説明で既に述べたように、当該受信したTCP応答確認パケットはTCP接続確立パケットの1つではあるものの、ポート番号が443でないため、第1のパケット受信処理部250において何も処理されず、そのまま第1のネットワークインタフェース206に送信されるからである。
【0103】
このようなネゴシエーションの結果、ネットワーク端末104とネットワーク機器102とのTCP接続が確立される。
【0104】
図8を参照して、矢印380は、ネットワーク端末104がネットワーク機器102にHTTPリクエストのためのパケットを送信することを示している。
【0105】
図3を参照して、機能付加装置100はこのHTTPリクエストに対しても何ら処理を行なわず、その結果このパケットはネットワーク機器102に到達する。
【0106】
図8を参照して、矢印382は、ネットワーク機器102が、受信したHTTPリクエストに対し、ネットワーク端末104にHTTP応答のためのパケットを送信することを示す。
【0107】
図3を参照して、このパケットはHTTPSパケットに対する応答ではないので、機能付加装置100はパケットには何の処理も行なわず、第1のネットワークインタフェース206、第2のパケット受信処理部256、HTTP/HTTPSエンコード処理部258、及び第2のネットワークインタフェース208を経由して、パケットをネットワーク端末104に送信する。
【0108】
―HTTPS通信―
図9は、図3に示すネットワーク回線108に接続されたネットワーク端末104から、機能付加装置100を介して、ネットワーク機器102との間でHTTPS通信を行なうときのシーケンス図である。図9を参照して、ネットワーク端末104がネットワーク機器102をあて先としてHTTPS通信を行なうものとする。
【0109】
図9を参照して、矢印390及び矢印392は、それぞれ図8に示す矢印370及び矢印372と同一の処理を示す。もしも送信先端末情報保存領域264にネットワーク機器102のIPアドレスとMACアドレスとが記憶されていない場合、この処理を通じてそれらが送信先端末情報保存領域264に記憶されることになる。
【0110】
図9を参照して、矢印394は、ネットワーク端末104がネットワーク機器102とポート番号=443番でTCP接続をするためのパケット通信を行なうことを示す。これは、即ち、HTTPSプロトコルでTCP接続を開始することを意味する。ネットワーク機器102はHTTPS通信に対応していないため、通常はHTTPS通信を行なうことはできない。しかし本実施の形態に係る機能付加装置100により、以下のようにしてネットワーク機器102はこのHTTPSパケットに対するHTTPS応答を返すことができる。
【0111】
ネットワーク端末104からのポート番号=443に対するTCP接続は、まず機能付加装置100の第2のネットワークインタフェース208を経由して第1のパケット受信処理部250により受信される。該受信したTCP接続パケットがTCP接続確立パケットの1つであり、且つ、ポート番号が443なので、第1のパケット受信処理部250は、第2のネットワークインタフェース208に対してネットワーク端末104と自身である機能付加装置100との間でTCP接続を確立するよう指示を出す。よって、以下に示すTCP接続のネゴシエーション(矢印396、398)は、本実施の形態では第2のネットワークインタフェース208によって実行されるものとする。
【0112】
矢印396は矢印394で受信したTCP接続のためのパケットに対して、TCP接続に対する応答を第2のネットワークインタフェース208からネットワーク端末104に送信することを示している。
【0113】
ネットワーク端末104がこの応答を受信すると、矢印398により示されるように、ネットワーク機器102をあて先としてTCP応答確認のためのパケットを送信する。以上のネゴシエーションにより、ネットワーク端末104は、ネットワーク機器102との間のHTTPSポートでのTCP接続が確立したと認識する。
【0114】
図9を参照して、ネットワーク端末104が機能付加装置100に矢印400で示すようにHTTPSリクエストパケットを送信する。図3に示す第2のネットワークインタフェース208がこのパケットを受信し、第1のパケット受信処理部250に送信する。
【0115】
第1のパケット受信処理部250は、送信先端末情報保存領域264を参照して、パケットの送信先IPアドレス及びMACアドレスが登録されているか否かを確認する。ここでは、既にネットワーク機器102のIPアドレスが及びMACアドレスが登録されている。したがって第1のパケット受信処理部250は、パケットをHTTP/HTTPSデコード処理部252に送信する。
【0116】
図3に示すHTTP/HTTPSデコード処理部252は、第1のパケット受信処理部250から与えられたHTTPSのパケットの送信先であるネットワーク機器102と機能付加装置100との間にてHTTP通信用のTCP接続(ポート番号=80)を確立するよう、第1のネットワークインタフェース206に指示する(図9の矢印412、414、416)。なお、このTCP接続は、矢印400にて受信したHTTPSリクエストの送信元アドレス及びMACアドレスを送信元アドレスとして確立される。
【0117】
その後、当該受信したHTTPSパケットをHTTPのパケットにデコードする(図9のHTTPS→HTTPデコード処理402)。HTTP/HTTPSデコード処理部252はこのとき、送信元端末情報保存領域260に、パケットの送信元IPアドレスとポート番号とを記憶させる。
【0118】
図9を参照して、HTTP/HTTPSデコード処理部252は、矢印404により示されるように、矢印412、414、416にて確立されたTCP接続(ポート番号=80)を用いて、デコードされたHTTPリクエストを、第1のネットワークインタフェース206を介してネットワーク機器102に送信する。
【0119】
このHTTPリクエストに対し、ネットワーク機器102内のWWWサーバが矢印406により示されるようにHTTP応答を機能付加装置100に送信する。
【0120】
図3を参照して、機能付加装置100の第1のネットワークインタフェース206がこのHTTP応答パケットを受信し、第2のパケット受信処理部256に与える。第2のパケット受信処理部256は、このパケットの送信元IPアドレス及びMACアドレスが送信先端末情報保存領域264に保存されているか否かを確認する。ここでは既に送信先端末情報保存領域264にこれら情報が保存されている。第2のパケット受信処理部256はこのパケットをHTTP/HTTPSエンコード処理部258に与える。
【0121】
図3に示すHTTP/HTTPSエンコード処理部258は、送信元端末情報保存領域260を参照して、受信したパケットがデコードされたHTTPリクエストに対する応答パケットであるかどうかを確認する。すなわち、HTTP/HTTPSエンコード処理部258は、送信元端末情報保存領域260を参照して、受信したパケットの送信先IPアドレスとポート番号との組合せが送信元端末情報保存領域260に記憶されているか否かを判定する。ここでは、HTTP/HTTPSデコード処理部252によりこれらが送信元端末情報保存領域260に保存されている。したがってHTTP/HTTPSエンコード処理部258は、証明書情報保存領域262を参照し、受信したパケットの送信元IPアドレスに対応する自己署名証明書を読出し、受信したHTTP応答のパケットをHTTPS応答のためのパケットにエンコードする。その後、HTTP/HTTPSエンコード処理部258は送信元端末情報保存領域260内に保存されていた、パケットの送信先IPアドレスとポート番号との組合せを削除する。これらの処理が図9のHTTP→HTTPSエンコード処理408として示されている。
【0122】
HTTP/HTTPSエンコード処理部258は、このようにして得られたHTTPS応答のパケットを第2のネットワークインタフェース208に与え、第2のネットワークインタフェース208はこのパケットをネットワーク回線108上に送出する。その結果、図9において矢印410により示されるように、エンコードされたHTTPS応答のパケットがネットワーク端末104に送信される。
【0123】
<第1の実施の形態の効果>
本実施の形態に係る機能付加装置100を使用することにより、機能付加装置100は、ネットワーク機器102が備えていないHTTPS通信機能を、付加的にネットワーク機器102に与えることができる。また、機能付加装置100が独自にIPアドレスを必要とせず、ユーザは、機能付加装置100、ネットワーク機器102、及びネットワーク回線108上のネットワーク端末のいずれに対しても、予め何らかの設定を施す必要がない。ネットワーク回線108上のネットワーク端末がネットワーク機器102にHTTPS通信を試みれば、ネットワーク機器102及び機能付加装置100の組合せは、あたかもネットワーク機器102にHTTPS通信の機能が追加されたかのように動作する。即ち、HTTP通信機能は備えているがHTTPS通信の機能を備えていないネットワーク機器であっても、ネットワーク回線108との間に機能付加装置100を介在させるだけで、外部からのHTTPSプロトコルに対して応答することができる。この意味で機能付加装置100は、HTTPS通信機能をネットワーク機器102に付加するための装置といえる。さらに、ネットワーク機器102等の周辺機器(機能付加装置100を含む。)に特別な設定は必要ではなく、単にネットワーク回線108とネットワーク機器102との間に機能付加装置100を設置するだけでよい。したがって機能付加装置100はあらゆるレベルの需用者ニーズに応えることができるものである。
【0124】
[第2の実施の形態]
<構成>
図10に、本発明の第2の実施の形態に係る機能付加装置450の機能ブロック図を示す。機能付加装置450は、SLPによる通信機能を備えていないネットワーク機器に対し、SLPによる通信機能を付加するためのものである。
【0125】
機能付加装置450のネットワーク環境としては、図1に示すネットワーク90とほぼ同様なものが想定される。以下に説明する機能付加装置450は、図1に示す機能付加装置100と全く同様に、対象となる機器(この説明では図10に示すようにネットワーク機器466とする。)とネットワーク回線108との間に設置することができる。なお、ネットワーク機器466は、SNMP通信の機能は持つが、SLP通信の機能を持たないものとする。
【0126】
図10を参照して、機能付加装置450は、図3に示すものと同様の第1のネットワークインタフェース206、第2のネットワークインタフェース208、送信先端末情報保存領域264、及びリンク監視部254を含む。機能付加装置450はさらに、ネットワーク機器情報保存領域452と第1のパケット受信処理部456とを含む。当該ネットワーク機器情報保存領域452には、第1のネットワークインタフェース206に接続されるネットワーク機器466に関するネットワーク機器情報が保存される。当該第1のパケット受信処理部456は、第2のネットワークインタフェース208に接続された入力経路を有し、第2のネットワークインタフェース208からパケットを受けたことに応答して、送信先端末情報保存領域264に受信パケットの送信先のIPアドレス及びMACアドレスが登録されているか否かを判定し、登録されていない場合、及び登録されていたとしても受信パケットがSLPによるパケットでない場合には第2のネットワークインタフェース206に当該パケットを送信し、一方、受信パケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されており、かつ当該パケットがSLPによるパケットであれば、ネットワーク機器情報保存領域452に保存されているネットワーク機器の情報から問合せに対する返答としてSLP応答パケットを生成して問合せパケットを送信してきた端末に第2のネットワークインタフェース208を介して送信する。
【0127】
機能付加装置450はさらに、第2のパケット受信処理部462とSNMPリクエスト送信処理部458とを含む。当該第2のパケット受信処理部462は、後述するSNMP応答解析処理部464に接続された第1の出力経路と、第2のネットワークインタフェース208に接続された第2の出力経路と、第1のネットワークインタフェース206に接続された入力経路とを持ち、第1のネットワークインタフェース206からパケットを受信したとき、送信先端末情報保存領域264にパケットの送信元のIPアドレス及びMACアドレスが登録されていなければ、各アドレスを登録する処理と、受信したパケットがSNMPに対する応答パケットであれば第1の出力に、それ以外のパケットであれば第2の出力に、それぞれ出力する処理とを行なう。当該SNMPリクエスト送信処理部458は、送信先端末情報保存領域264にIPアドレス及びMACアドレスが登録されたかどうかを監視し、IPアドレス及びMACアドレスが登録されたときには、登録されたIPアドレスをあて先としてそのネットワーク機器の情報を取得することを要求するSNMPリクエストのパケットを生成し、第1のネットワークインタフェース206を介してネットワーク機器466に送信する処理を行なう。
【0128】
機能付加装置450はさらに、第2のパケット受信処理部462の第1の出力に接続された入力を持ち、第2のパケット受信処理部462からSNMP応答のパケットを受信し、パケットを解析してネットワーク機器466のネットワーク情報を取得し、取得した情報をネットワーク機器情報保存領域452に保存するためのSNMP応答解析処理部464を含む。
【0129】
図11は、第1のパケット受信処理部456の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図11を参照して、ステップ480において、第1のパケット受信処理部456は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ482に進み、それ以外であればステップ480に戻る。
【0130】
ステップ482において、第1のパケット受信処理部456は、受信したパケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されているか、そうでないかを判定する。判定結果がYESであればステップ484に進み、それ以外であれば、ステップ488に進む。
【0131】
ステップ484において、パケットがSLPリクエストか、そうでないかを判定する。判定結果がYESであればステップ486に進み、それ以外であればステップ488に進む。
【0132】
ステップ486において、第1のパケット受信処理部456は、ネットワーク機器情報保存領域452を参照し、ネットワーク機器466の情報を取得してSLP応答のためのパケットを生成する。第1のパケット受信処理部456はさらに、生成したパケットを第2のネットワークインタフェース208を介して、SLPリクエストを送信してきたネットワーク端末に送信し、ステップ480に戻る。
【0133】
一方、ステップ488においては、パケットを第1のネットワークインタフェース206に送信し、ステップ480に戻る。すなわち、受信されたパケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されていない場合、及び登録されていてもそのパケットがSLPリクエストではない場合には、何もせず当該パケットを第1のネットワークインタフェース206からネットワーク機器466に送信する。
【0134】
図12は、第2のパケット受信処理部462の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図12を参照して、ステップ500において、第2のパケット受信処理部462は、第1のネットワークインタフェース206からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ502に進み、それ以外であればステップ500に戻る。
【0135】
ステップ502において、第2のパケット受信処理部462は、パケットの送信元IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されているか、そうでないかを判定する。判定結果がYESであればステップ504に進み、それ以外であればステップ506に進む。
【0136】
ステップ506においては、受信パケットの送信元IPアドレス及びMACアドレスを送信先端末情報保存領域264に記憶させ、ステップ504に進む。
【0137】
ステップ504においては、パケットがSNMP応答であるか、そうでないか判定される。判定結果がYESであれば制御はステップ508に進み、それ以外であればステップ510に進む。
【0138】
ステップ508において、第2のパケット受信処理部462は、パケットをSNMP応答解析処理部464に送信し、ステップ500に戻る。一方、ステップ510においては、第2のパケット受信処理部462は、パケットを第2のネットワークインタフェース208に送信し、ステップ500に戻る。
【0139】
<動作>
以上構成を説明した機能付加装置450は以下のように動作する。
【0140】
図10を参照して、最初はネットワーク機器情報保存領域452及び送信先端末情報保存領域264には何の情報も保存されていないものとする。また、第1のネットワークインタフェース206にもネットワーク機器が接続されていないものとする。ネットワーク機器466が第1のネットワークインタフェース206に接続されると、リンク監視部254が第1のネットワークインタフェース206とネットワーク機器466とのリンクが切断されたか否かに関する監視を開始する。
【0141】
図13は、図10に示すネットワーク回線108に接続されたネットワーク端末104が、機能付加装置100を介して、ネットワーク機器466をあて先としてSLP通信を行なうときのシーケンス図である。
【0142】
図13を参照して、先ず、矢印520により示されるように、ネットワーク端末104からネットワーク機器466へ、何らかのパケット、例えばARPリクエストが送信される。
【0143】
図10を参照して、ネットワーク端末104から送信されたARPリクエストのパケットは、第2のネットワークインタフェース208を介して、第1のパケット受信処理部456で受信される。この状態では、送信先端末情報保存領域264には、パケットの送信先IPアドレス及びMACアドレスがまだ記憶されていない(図11、ステップ482においてNO)。したがって、第1のパケット受信処理部456はこのパケットを第1のネットワークインタフェース206を介して、ネットワーク機器466に送信する(図11、ステップ488)。
【0144】
図13を参照して、矢印522により示されるように、ネットワーク機器466が、ネットワーク端末104に、ネットワーク機器466のMACアドレスの情報を付与したARP応答を返す。このとき、図10を参照して、ARP応答は先ず、ネットワーク機器466から第1のネットワークインタフェース206を介して、第2のパケット受信処理部462で受信される。第2のパケット受信処理部462は送信先端末情報保存領域264を参照して、ARP応答のパケットの送信元IPアドレス及びMACアドレスが記憶されているかどうかを確認する。現状では、何も登録されていない(図12、ステップ502においてNO)ので、送信先端末情報保存領域264にパケットの送信元IPアドレス及びMACアドレスを登録する(図12、ステップ506)。このパケット(ARP応答)はSNMP応答パケットではないので(図12、ステップ504においてNO)、第2のパケット受信処理部462は、このARP応答のパケットを第2のネットワークインタフェース208に与え(図12、ステップ510)、その結果、このパケットはネットワーク端末104に到達する。
【0145】
ARP応答が機能付加装置450を通過するとき、送信先端末情報保存領域264にネットワーク機器466のIPアドレス及びMACアドレスが記憶された(図12、ステップ506)ので、それをSNMPリクエスト送信処理部458が検知する。そのため、SNMPリクエスト送信処理部458は、ネットワーク機器466の情報を取得するためのSNMPリクエストのパケットを生成し、矢印524で示すように、第1のネットワークインタフェース206を介して、ネットワーク機器466に送信する。
【0146】
図13を参照して、このSNMPリクエストに応答して、矢印526により示されるように、ネットワーク機器466から機能付加装置450に対し、SNMP応答パケットが送信される。図10を参照して、SNMP応答のためのパケットは、第1のネットワークインタフェース206から第2のパケット受信処理部462に与えられる。既にネットワーク機器466のIPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されている(図12、ステップ502においてYES)ため、第2のパケット受信処理部462は、受信パケットがSNMP応答か否かを判定する(図12、ステップ504)。受信パケットがSNMP応答であるため(ステップ504においてYES)、第2のパケット受信処理部462は、このSNMP応答パケットをSNMP応答解析処理部464に送信する。SNMP応答解析処理部464は、このSNMP応答のパケットを解析してネットワーク機器466の情報を取得する。取得した情報はネットワーク機器情報保存領域452に記憶される。
【0147】
図13を参照して、ネットワーク回線108上のネットワーク端末104が、矢印528により示されるようにネットワーク機器466と、SLPポートでTCP接続を開始するものとする。機能付加装置450の第2のネットワークインタフェース208がこのパケットを受信する。
【0148】
機能付加装置450の第2のネットワークインタフェース208は、矢印530で示されるように、TCP接続に対する応答をネットワーク端末104にパケット送信する。これに対し、ネットワーク端末104は矢印532で示されるようにネットワーク機器466をあて先としてTCP応答確認のためのパケットを送信する。このようにして、ネットワーク端末104は、ネットワーク機器466との間でSLPポートでのTCP接続を確立したと認識する。
【0149】
ネットワーク端末104は、図13の矢印534により示すように、ネットワーク機器466をあて先としてSLPリクエストを送信する。このSLPリクエストのあて先はネットワーク機器466であるが、機能付加装置450の第1のパケット受信処理部456(図10参照)がこのSLPリクエストに応答し、ネットワーク機器情報保存領域452からネットワーク機器466の機器情報を読出し、矢印536により示すように、ネットワーク端末104にSLP応答のパケットを送信する。SLP応答のパケットは第2のネットワークインタフェース208、及びネットワーク回線108を介して、ネットワーク端末104に到達する。
【0150】
なお、SLP通信はTCPだけでなくUDPでも可能であり、この場合、ステップ528、ステップ530及びステップ532が不要となる。
【0151】
<第2の実施の形態効果>
本実施の形態に係る機能付加装置450を使用することにより、SLPには対応していないネットワーク機器466が、ネットワーク端末104からのSLPリクエストに対して応答することができる。実際にはこの応答は機能付加装置450が行なっているが、ネットワーク端末104から見るとネットワーク機器466が応答をしているように見える。したがってネットワーク端末104としては、SLP通信を使用することによって、SLPに対応していないネットワーク機器466のネットワーク情報を取得することができる。この際、ネットワーク機器466には独自のIPアドレスを割当てることは不要であり、ユーザは、機能付加装置450、ネットワーク機器466、及びネットワーク端末104に対して、予め何らかの設定をする必要がない。したがって機能付加装置450は、あらゆるレベルの需要者ニーズに対応することができる。さらに、IPv6を採用した、ブロードキャストが使用されないネットワークに、SLPに対応していないネットワーク機器を接続し、他のネットワーク端末から利用させることが可能になる。
【0152】
[第3の実施の形態]
<構成>
図14に、本発明の第3の実施の形態に係る機能付加装置550の機能ブロック図を示す。この機能付加装置550も、第1及び第2の実施の形態と同様、対象となる機器とネットワーク回線との間に設置される。なお、以下の説明では、機能付加装置550にネットワーク機器560が接続されるものとして説明する。
【0153】
図14を参照して、機能付加装置550は、第1のネットワークインタフェース206及び第2のネットワークインタフェース208と、ネットワーク回線108に接続されたネットワーク端末からネットワーク機器560をあて先として送信されたパケットのうち、破棄すべきものを特定する条件であるフィルタ情報を記憶するためのフィルタ情報保存領域552と、第2のネットワークインタフェース208からパケットを受信するように接続され、フィルタ情報保存領域552に保存された条件に合致するパケットを破棄し、それ以外のパケットを第1のネットワークインタフェース206を介してネットワーク機器560に送信するための第1のパケット受信処理部554と、第1のネットワークインタフェース206からパケットを受信するように接続され、フィルタ情報保存領域552に保存された条件に合致するパケットは破棄し、それ以外のパケットはそのまま第2のネットワークインタフェース208に送信するための第2のパケット受信処理部556とを含む。
【0154】
本実施の形態に係る機能付加装置550では、フィルタ情報保存領域552はパケットのポート番号、IPアドレス、及びMACアドレスを記憶している。第1のパケット受信処理部554は、第2のネットワークインタフェース208から受信したパケットのポート番号、IPアドレス、及びMACアドレスのどれか一つが、フィルタ情報保存領域552に記憶されているポート番号、IPアドレス、及びMACアドレスのどれかと一致するかどうかを判定し、一致するものが存在すればパケットを破棄し、いずれとも一致しなければパケットを第1のネットワークインタフェース206に送信する。第2のパケット受信処理部556の機能も第1のパケット受信処理部554と同様である。
【0155】
なお、このフィルタリング処理を行なうかどうかは、ユーザが予め定めることができる。
【0156】
図15は、第1のパケット受信処理部554の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図15を参照して、ステップ570において、第1のパケット受信処理部554は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ572に進み、それ以外であればステップ570に戻る。
【0157】
ステップ572において、第1のパケット受信処理部554は、受信したパケットのポート番号、IPアドレス、及びMACアドレスのどれか一つがフィルタ情報保存領域552に記憶されているものと一致するか否かを判定する。判定結果がYESであればステップ574に進み、それ以外であればステップ576に進む。
【0158】
ステップ574において、第1のパケット受信処理部554は受信パケットを破棄し、ステップ570に戻る。
【0159】
一方、ステップ576においては、第1のパケット受信処理部554は受信パケットを第1のネットワークインタフェース206に送信し、ステップ570に戻る。
【0160】
<動作>
以上、構成を説明した機能付加装置550は以下のように動作する。図14を参照して、ネットワーク回線108に接続されたネットワーク端末104からネットワーク機器560に何らかのパケットを送信したものとする。フィルタ情報保存領域552には、予め、破棄するための複数のポート番号、IPアドレス、及びMACアドレスが記憶されているものとする。
【0161】
ネットワーク端末104から送信されたパケットはネットワーク回線108、及び第2のネットワークインタフェース208を介して、第1のパケット受信処理部554に到達する。第1のパケット受信処理部554は、受信したパケットのポート番号、IPアドレス、及びMACアドレスのどれか一つがフィルタ情報保存領域552に記憶されているものと一致するか否かを判定する。記憶されていれば(図15、ステップ572においてYES)、第1のパケット受信処理部554は受信したパケットを破棄し(ステップ574)、そうでなければ(ステップ572においてNO)パケットを第1のネットワークインタフェース206に送信する(ステップ576)。第1のネットワークインタフェース206は、パケットをネットワーク機器560に送信し、パケットは通信線110を介してネットワーク機器560に到達する。
【0162】
ネットワーク機器560は、受信したパケットが自分あてのものであるから、このパケットに対して何らかの処理を行ない、応答パケットを生成して、ネットワーク端末104に向けて、応答パケットを送信する。このパケットは通信線110及び第1のネットワークインタフェース206を介して第2のパケット受信処理部556で受信される。
【0163】
第2のパケット受信処理部556は、受信したパケットのポート番号、IPアドレス、及びMACアドレスが、フィルタ情報保存領域552に記憶されているポート番号、IPアドレス、及びMACアドレスのいずれかと一致する、という条件が満たされているか否かを判定する。条件が満たされていれば、第2のパケット受信処理部556はこのパケットを破棄し、さもなければこのパケットを第2のネットワークインタフェース208に送信する。第2のネットワークインタフェース208はこのパケットをネットワーク回線108上に送信する。その結果、応答パケットはネットワーク端末104に到達する。
【0164】
<第3の実施の形態の効果>
本実施の形態に係る機能付加装置550を使用することにより、機能付加装置550はネットワーク機器560にとって不正なポート番号、IPアドレス、又はMACアドレスを有するパケットを破棄することができる。したがって、上記のフィルタリング処理によって、十分なセキュリティ機能を備えていないネットワーク機器560を不正なアクセスから保護することができる。
【0165】
なお、この実施の形態では、ネットワーク機器560あてのパケットだけではなく、ネットワーク機器560からのパケットについてもフィルタリング処理を行なっている。しかし本発明はそのような実施の形態には限定されない。第1のパケット受信処理部554と第2のパケット受信処理部556のいずれか一方のみを採用するようにしてもよい。
【0166】
また、本実施の形態では、パケットがある条件を満たしている場合に当該パケットを破棄するようにし、他のパケットを中継するようにしているが、本発明はそのような実施の形態には限定されない。例えば、パケットがある条件を満たしているときには当該パケットを中継するが、それ以外の場合にはパケットを破棄するようにしてもよい。
【0167】
[第4の実施の形態]
<構成>
図16に、本発明の第4の実施の形態に係る機能付加装置600の機能ブロック図を示す。機能付加装置600のネットワーク環境は、図1に示すネットワーク環境とほぼ同様である。また、機能付加装置600のハードウェア構成は、図2に示すハードウェア構成とほぼ同様である。
【0168】
本実施の形態に係る機能付加装置600は、機能付加装置600が外部から受信したパケットの宛先ポート番号を、機能付加装置600に接続されたネットワーク機器で使用するポート番号に変換し、逆に機能付加装置600に接続されたネットワーク機器から送信される送信元ポート番号に対して受信時と逆の変換を行なう機能を持つ。
【0169】
図16を参照して、機能付加装置600は、第1のネットワークインタフェース206及び第2のネットワークインタフェース208を含む。第1のネットワークインタフェース206にはネットワーク機器が接続され、第2のネットワークインタフェース208はネットワーク回線108に接続される。以下の説明では、第1のネットワークインタフェース206に接続されるネットワーク機器がネットワーク機器610であるものとする。
【0170】
機能付加装置600はさらに、ネットワーク回線108に接続されたネットワーク端末の間で使用されるポート番号と、ネットワーク機器610で動作するアプリケーション(サービス)が使用するポート番号との間の対応付けを記憶したポート番号変換情報保存領域602と、第2のネットワークインタフェース208からパケットを受信して、受信パケットのポート番号を、ポート番号変換情報保存領域602に保存された対応付けにしたがってネットワーク機器610のアプリケーション用のポート番号に置換し、更新されたパケットを第1のネットワークインタフェース206に送信するための第1のパケット受信処理部604と、第1のネットワークインタフェース206からパケットを受信して、受信パケットのポート番号を、ポート番号変換情報保存領域602に保存された対応付けにしたがって外部のネットワーク機器用のポート番号に戻して、更新されたパケットを第2のネットワークインタフェース208に送信するための第2のパケット受信処理部606とを含む。
【0171】
テーブル1に、ポート番号変換情報保存領域602に記憶される情報の例を示し、テーブル1を参照してこの情報の詳細について説明する。
【0172】
【表1】
このテーブル1は、外部ポート番号と、内部ポート番号との対からなるエントリを複数個格納している。
【0173】
外部ポート番号とは、ここでは、ネットワーク回線108に接続されたネットワーク端末から見たときにネットワーク機器610が提供するサービスが使用しているポート番号のように見えるポート番号のことをいう。つまり、外部ポート番号とは、第1のパケット受信処理部604によって変換される前のポート番号のことである。一方、内部ポート番号とは、ネットワーク機器610が提供しているサービスで使用しているポート番号である。
【0174】
内部ポート番号とは、第2のパケット受信処理部606が置換対象とするポート番号でもある。すなわち、第2のパケット受信処理部606は、ネットワーク機器610から送信されたパケットを第1のネットワークインタフェース206から受け取り、そのポート番号(内部ポート番号)を、テーブル1を参照して対応する外部ポート番号に変換し、更新後のパケットをネットワーク上に送出する機能を持つ。
【0175】
なお、本実施の形態では、外部から受信したパケットのうち、テーブル1の外部ポート番号にないポート番号を持つパケットは第1のパケット受信処理部604により破棄される。同様に、ネットワーク機器610が出力したパケットのうち、ポート番号変換情報保存領域602に保持されている内部ポート番号以外のポート番号を持つパケットも第2のパケット受信処理部606により破棄される。したがって、外部から直接に内部ポート番号を指定してパケットをネットワーク機器610あてに送信しても、その内部ポート番号と一致する外部ポート番号がテーブル1にない限り、第1のパケット受信処理部604によってそのパケットは破棄されてしまう。指定されたポート番号が、たまたまテーブル1内の外部ポート番号と一致しても、そのポート番号は当初の番号と全く異なるポート番号に変換されてネットワーク機器610に送信される。そのため、テーブル1の内容を知らない限り、所望のサービスをネットワーク機器610から受けることはできない。
【0176】
図17は、第1のパケット受信処理部604の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図17を参照して、ステップ620において、第1のパケット受信処理部604は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ622に進み、それ以外であればステップ620に戻る。
【0177】
ステップ622において、第1のパケット受信処理部604は、ポート番号変換情報保存領域602を参照して、受信したパケットの宛先ポート番号が、テーブル1に示す外部ポート番号の欄に存在するか、そうでないかを判定する。判定結果がYESであればステップ624に進み、それ以外であればステップ628に進む。
【0178】
ステップ628において、第1のパケット受信処理部604は受信パケットを破棄し、ステップ620に戻る。
【0179】
ステップ624において、パケットの宛先ポート番号が、対応する内部ポート番号に置換される。制御はステップ626に進む。
【0180】
ステップ626において、このパケットを第1のネットワークインタフェース206に送信する。制御はステップ620に戻る。
【0181】
図18は、第2のパケット受信処理部606の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図18を参照して、ステップ640において、第2のパケット受信処理部606は、第1のネットワークインタフェース206からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ642に進み、それ以外であればステップ640に戻る。
【0182】
ステップ642において、第2のパケット受信処理部606は、ポート番号変換情報保存領域602を参照して、受信したパケットの送信元ポート番号が、テーブル1に示す内部ポート番号の欄に存在するか、そうでないかを判定する。判定結果がYESであればステップ644に進み、それ以外であればステップ648に進む。
【0183】
ステップ648において、第2のパケット受信処理部606は受信パケットを破棄し、ステップ640に戻る。
【0184】
ステップ644において、パケットの送信元ポート番号が、ステップ642において一致した内部ポート番号に対応する外部ポート番号に変換される。制御はステップ646に進む。
【0185】
ステップ646において、パケットは第2のネットワークインタフェース208に送信される。この後、制御はステップ640に戻る。
【0186】
<動作>
以上構成を説明した機能付加装置600は以下のように動作する。図16を参照して、ネットワーク回線108に接続されたネットワーク端末104からネットワーク機器610へ、パケット送信を行ない、ネットワーク機器610から送信元のネットワーク端末104に応答が返るときの、機能付加装置600の動作について説明する。ポート番号変換情報保存領域602には、予め、テーブル1に示すように外部ポート番号と内部ポート番号とからなる複数のエントリが記憶されているものとする。
【0187】
図16を参照して、ネットワーク端末104から送信されたパケットはネットワーク回線108、及び第2のネットワークインタフェース208を介して、第1のパケット受信処理部604に到達する。
【0188】
第1のパケット受信処理部604は、ポート番号変換情報保存領域602を参照し、受信したパケットの宛先ポート番号が変換対象のものであればポート番号を変換して第1のネットワークインタフェース206に送信する。変換対象でなければ、パケットは破棄される。
【0189】
第1のネットワークインタフェース206は、受信したパケットをネットワーク機器610に向けて送信する。パケットは通信線110を介して、ネットワーク機器610に到達する。
【0190】
ネットワーク機器610は、受信したパケットの送信先IPアドレスが自分のIPアドレスであり、ポート番号が自己の提供するアプリケーションサービスのポート番号に一致していれば、そのサービスを実行して、受信したパケットと同じポート番号を送信元ポート番号に持つ応答パケットを生成して、ネットワーク端末104に向けて送信する。応答パケットは通信線110、及び第1のネットワークインタフェース206を介して第2のパケット受信処理部606に到達する。一方、受信パケットの送信先IPアドレスがネットワーク機器610のIPアドレスと一致しないか、一致してもネットワーク機器610の提供するアプリケーションサービスのポート番号と一致していなければ、ネットワーク機器610は何もしない。
【0191】
第2のパケット受信処理部606は、ポート番号変換情報保存領域602を参照し、受信したパケットの送信元ポート番号が内部ポート番号の欄に存在するかどうかを判定する。存在すれば、受信パケットの送信元ポート番号を、対応する外部ポート番号に変換し、第2のネットワークインタフェース208に送信する。存在しなければ、パケットは破棄される。
【0192】
このようにして、ネットワーク機器610から送信されたパケットは、第2のネットワークインタフェース208、及びネットワーク回線108を介して、ネットワーク端末104に到達する。
【0193】
例えば、外部のネットワーク端末からネットワーク機器610に向けて送信されたパケットの宛先ポート番号が「62947」であるものとする。テーブル1を参照して、外部ポート番号には「62947」があるので、第1のパケット受信処理部604は受信パケットの宛先ポート番号を、対応する内部ポート番号である「443」に変換する。そのようにして更新されたパケットが、ネットワーク機器610に送信される。ネットワーク機器610がHTTPS通信の可能な機器であり、かつネットワーク機器610内にWWWサーバが起動していれば、このパケットに対する応答としてWWWサーバがHTTPS応答パケットを出力することになる。
【0194】
この場合、応答パケットの送信元ポート番号はやはり443である。第2のパケット受信処理部606は、この内部ポート番号「443」に対応する外部ポート番号「62947」をテーブル1から見出し、この値で送信元ポート番号を置換して、更新後のパケットを第2のネットワークインタフェース208を介して外部に送信する。外部のネットワーク端末は、このパケットを受信して、所定の処理をする。ネットワーク端末が最初に送信したパケットの宛先ポート番号も「62947」であったから、このネットワーク端末では送信したパケットと受信したパケットとの対応をとることができる。
【0195】
一方、外部のネットワーク端末が、例えばポート番号=443のパケットをネットワーク機器610に向けて送信したものとする。機能付加装置600の第1のパケット受信処理部604は、外部ポート番号=443がテーブル1にないため、このパケットを破棄する。したがって外部のネットワーク端末がネットワーク機器610によるHTTPS通信のサービスを受けることはできない。
【0196】
このようにポート番号を内部と外部とで置換することによって、実際はネットワーク機器610が提供するポート番号が一般的なものと同じであるにもかかわらず、外部からはネットワーク機器610が提供するサービスのポート番号は特殊な番号であるように見える。したがって、外部からは、このネットワーク機器610の提供するサービスがどのようなものであるか、又は、どのようなポート番号でどのプロトコルによってアクセスすればサービスを受けられるかを知ることができない。その結果、ネットワーク機器610に十分なセキュリティ機能が備わっていない場合、機能付加装置600によってそのセキュリティを高めることができる。
【0197】
<第4の実施の形態の効果>
以上のように本実施の形態に係る機能付加装置600を使用することにより、ネットワーク回線108に接続されているネットワーク端末からネットワーク機器610のサービス内容を知る目的、又は不正なアクセスをする目的で、一般的に使用されるポート番号を使用してネットワーク機器610にアクセスしようとしても、容易にはアクセスできない。また、ネットワーク機器610においてどのようなサービスがどのようなポート番号で提供されているかを知ることも難しくなる。その結果、十分なセキュリティ機能を持たないネットワーク機器のセキュリティ機能を、機能付加装置600によって高めることが可能となる。
【0198】
なお、第1〜第4の実施の形態の動作で説明したネットワーク端末104及びネットワーク端末106は、PCでなければならないわけではなく、どんなネットワーク端末であっても良い。
【0199】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【0200】
【図1】本発明の第1の実施の形態に係る機能付加装置100のネットワーク環境を示す図である。
【図2】本発明の第1の実施の形態に係る機能付加装置100のハードウェア構成を示す図である。
【図3】本発明の第1の実施の形態に係る機能付加装置100の概略の機能的構成を示すブロック図である。
【図4】図3の第1のパケット受信処理部250を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図5】図3のリンク監視部254を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図6】図3の第2のパケット受信処理部256を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図7】図3のHTTP/HTTPSエンコード処理部258を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図8】本発明の第1の実施の形態に係る機能付加装置100において、HTTP通信を行なうときのシーケンスを示す図である。
【図9】本発明の第1の実施の形態に係る機能付加装置100において、HTTPS通信を行なうときのシーケンスを示す図である。
【図10】本発明の第2の実施の形態に係る機能付加装置450の概略の機能的構成を示すブロック図である。
【図11】図10の第1のパケット受信処理部456を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図12】図10の第2のパケット受信処理部462を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図13】本発明の第2の実施の形態に係る機能付加装置450において、SLP通信によりネットワーク機器の情報を取得する処理のシーケンスを示す図である。
【図14】本発明の第3の実施の形態に係る機能付加装置550の概略の機能的構成を示すブロック図である。
【図15】図14の第1のパケット受信処理部554を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図16】本発明の第4の実施の形態に係る機能付加装置600の概略の機能的構成を示すブロック図である。
【図17】図16の第1のパケット受信処理部604を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図18】図16の第2のパケット受信処理部606を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【符号の説明】
【0201】
90 ネットワーク
100,450,550,600 機能付加装置
104,106 ネットワーク端末
108 ネットワーク回線
110 通信線
206 第1のネットワークインタフェース
208 第2のネットワークインタフェース
250,456,554,604 第1のパケット受信処理部
252 HTTP/HTTPSデコード処理部
254 リンク監視部
256,462,556,606 第2のパケット受信処理部
258 HTTP/HTTPSエンコード処理部
260 送信元端末情報保存領域
262 証明書情報保存領域
264 送信先端末情報保存領域
452 ネットワーク機器情報保存領域
458 SNMPリクエスト送信処理部
464 SNMP応答解析処理部
552 フィルタ情報保存領域
602 ポート番号変換情報保存領域
【技術分野】
【0001】
この発明は、ネットワークの分野における機能付加装置に関し、特に、ネットワーク機器に接続されることによって、当該ネットワーク機器に新たな機能を付加したように動作させる機能付加装置に関する。
【背景技術】
【0002】
最近のコンピュータネットワーク(以下、ネットワークと呼ぶ。)の発達に伴い、各種ネットワーク機器が急速に普及してきている。一般的に、現在のネットワーク機器は、TCP/IP(Transmission Control Protocol/Internet Protocol)又はUDP/IP(User Datagram Protocol/Internet Protocol)というトランスポート層のプロトコルを使用して通信を行なう。これらのプロトコルは、簡単には、IPアドレスというネットワーク上での自身のノードを表すアドレス情報と、ノード内におけるアプリケーションに対応付けられているポート番号とにより構成されている。
【0003】
今日のネットワークにおいて、その社会インフラストラクチャとしての需要の高まりに伴い、数多くのアプリケーションプロトコルが使用され、大規模化・複雑化の一途を辿っている。
【0004】
上述したように、近年のネットワーク環境は大規模化・複雑化の一途を辿っており、ワークステーション及びPC(Personal Computer)等のネットワーク端末だけではなく、組込のネットワーク機器においても、多種多様なプロトコルに対応する必要に迫られている。
【0005】
通常、ワークステーション及びPC等のネットワーク端末にはハードウェア及びソフトウェアの高性能化に伴い、今後多種多様なプロトコルが出現しても、柔軟に対応することが可能である。しかし、今後、特に組込のネットワーク機器において、そのハードウェア及びソフトウェアのリソースが制限となって、多種多様なプロトコルに対応するのが、現状と比較し、より困難になると考えられている。
【0006】
この代表例として、HTTP(HyperText Transport Protocol)通信とHTTPS(HTTP Security)通信とがある。HTTPは、通常のWWW(World Wide Web)情報を送受信するためのプロトコルであり、比較的古いネットワーク機器に標準的に搭載されている。ユーザーインタフェースを持たないネットワーク機器においては、簡易WWWサーバ機能によってPCから設定画面にアクセスし、設定パラメータを入力することがよく行なわれている。一方、HTTPSはHTTPにセキュリティ機能を付加したプロトコルである。
【0007】
一般的に現在のWWWサーバは、HTTP及びHTTPS両方のプロトコルに対応している。しかし、組込み機器であるネットワーク機器は、ワークステーション及びPC等と比較し、ソフトウェア及びハードウェアの自由度が高くなく、セキュアな通信が望まれている場合であっても、やむを得ずセキュリティ機能を持たないHTTP通信を使用しているのが現状である。したがって、このようなセキュリティレベルの低いネットワーク機器をトリガとした情報漏洩等のリスクは、日々高まっている。
【0008】
また、別の代表例として、SLP(Service Location Protocol)通信がある。SLP通信とは、ネットワーク上のサービス情報を検出及び構成できるようにするプロトコルである。また、IPv4及びIPv6に対応しているため、今後頻繁に使用されるものと考えられる仕様である。
【0009】
しかし、今日普及している組込のネットワーク機器においては、SLPに対応していないものが多い。そのような装置は、SLP通信に対し応答することができず、したがってそのようなネットワーク機器からSLP通信を使用してサービス情報を取得することはできない。
【0010】
一方、ネットワーク情報を取得するためのプロトコルとして、SNMP(Simple Network Management Protocol)がある。SNMPはネットワーク上のネットワーク機器を監視及び制御するために利用され、各ネットワーク機器の様々な情報を提供することができる。組込のネットワーク機器にはSNMPに対応しているものが多いが、SNMPでは、ブロードキャストアドレスでネットワーク情報を取得することがあるため、この場合にはIPv6を用いるネットワークには適用することができない。
【0011】
さらに、今後ネットワーク上のセキュリティが問題になることが予想される。旧来のネットワーク機器ではセキュリティ機能を備えていないものが多く、そうした機器をそのまま使用し続けることは危険である。
【特許文献1】特開2006−139429号(段落0036、0046、0047)
【発明の開示】
【発明が解決しようとする課題】
【0012】
そこで、上述のようなネットワーク機器には何ら手を加えることなく、当該ネットワーク機器に新たな機能が備えられたかのように動作させるようにしたい、という希望が出てくることが予想される。その場合、ユーザにかかる負担をきるだけ小さくする必要もあると思われる。
【0013】
例えば、プロトコル変換を行なう装置として、特許文献1に記載の装置がある。特許文献1に記載の装置では、通信プロトコルにHTTPを採用したサーバ・クライアントモデルを用いている。そして、特定の機能を持たないレガシー装置については、その機能を特定してその旨を表示したり、外部から利用できないようにしたりする。
【0014】
しかし、この特許文献1に記載のシステムでは、サーバ・クライアントモデルを採用しているため、全体に大掛かりなシステムとなる。その上、システム内にDHCP(Dynamic Host Configuration Protocol)サーバ又はこれと類似の機能を準備して各コンポーネントにIPアドレスを設定する必要があり、ユーザにとってはこのような設定作業が煩わしい作業となる。またサーバ・クライアントモデルの常として、特にネットワークにあまり詳しくないユーザにとって、このシステムを矛盾なく設定するのは困難な作業となる。さらに、このシステムでは、特定の機能を持たないレガシー装置に、その機能を付加することは開示されていない。特に、レガシー装置に変更を施さずにそのセキュリティ機能を追加することについては全く開示されていない。
【0015】
このように、今までのネットワーク機器というハードウェア資産を活かしながら、簡単な作業で新たな機能をこれらネットワーク機器に付加することの必要性は今後ますます大きくなると思われる。しかし現在までのところ、そのような問題についての明確な認識はなく、そうした問題に対する解決策は従来技術には示唆されていない。
【0016】
それ故に本発明の一つの目的は、ある機能を持たないネットワーク機器に対し、簡単な作業でその機能を付加することができるような機能付加装置を提供することである。
【0017】
本発明の他の目的は、ワークステーション及びPC等のネットワーク端末から、あるプロトコルに対応していない機能を持つネットワーク機器に、その機能を利用する通信がなされたとしても、当該ネットワーク機器を改良することなく通信を可能とすることができる、ネットワーク機器に対する機能付加装置を提供することである。
【0018】
本発明の他の目的は、十分なセキュリティ機能を持たないネットワーク機器に対し、簡単な作業で一定のセキュリティ機能を付加できるような機能付加装置を提供することである。
【0019】
本発明の他の目的は、組込のネットワーク機器に適応したパケットのみを、当該ネットワーク機器に送信することができるパケットフィルタリング機能を備えた機能付加装置を提供することである。
【0020】
本発明のさらに他の目的は、ネットワーク機器で使用しているポート番号を外部から調べることを困難にする機能を持つ機能付加装置を提供することである。
【課題を解決するための手段】
【0021】
本発明の第1の局面に係る機能付加装置は、第1のネットワーク上の端末との間でパケットを送受信するための第1のパケット送受信手段と、第2のネットワーク上の端末との間でパケットを送受信するための第2のパケット送受信手段と、第1のパケット送受信手段及び第2のパケット送受信手段を用い、第1のネットワーク上の端末と、第2のネットワーク上の端末との間で、各パケットの送信元端末のアドレス情報及び送信先端末のアドレス情報を変更せずにパケットを中継するためのパケット中継手段とを含む。機能付加装置はさらに、パケット中継手段が受信したパケットのうち、特定の条件を充足するものに対し、予め定める処理を行なうための第1のパケット処理手段を含み、それによって、第1のネットワーク上の端末に、予め定める処理による機能を付加する。
【0022】
パケット中継手段は、第1のネットワーク上の端末と第2のネットワーク上の端末との間でのパケットの中継を行なう。パケット中継手段が受信したパケットのうち、特定の条件を充足するパケットについては、第1のパケット処理手段によって予め定められる処理が行なわれる。すなわち、第1のパケット処理手段は、第1のネットワーク上の端末に、予め定める処理による機能を付加する。したがって、第1のネットワーク上の端末が、予め定める処理により実現される特定の機能を備えていなかったとしても、当該端末には何ら手を加えることなく、この機能付加装置を第2のネットワークとの間に介在させるだけで、その機能による通信が付加的に行なえるようになる。このとき、この機能付加装置のためのアドレスは不要である。
【0023】
好ましくは、第1のパケット処理手段は、第1のパケット送受信手段が第1のネットワーク上の端末から受信したパケットから送信元端末のアドレス情報を抽出し記憶するためのアドレス記憶手段と、パケット中継手段により第2のネットワークから第1のネットワークに中継されるパケットのうち、アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持つパケットに対して、予め定める処理を行なうための第2のパケット処理手段とを含む。
【0024】
第1のネットワーク上の端末から第2のネットワーク上の端末にパケットが送信されるとき、アドレス記憶手段はそのパケット中の送信元端末のアドレス情報を抽出し記憶する。第2のネットワーク上の端末から送信されてくるパケットについては、そのパケットの送信先のアドレス情報と、アドレス記憶手段に記憶されたアドレス情報とを比較することにより、そのパケットが第1のネットワーク上の端末を送信先とするものか否かが判定できる。第2のパケット処理手段は、そうした判定により、第1のネットワーク上の端末を送信先として、パケットが送信されたときに、予め定める処理を行なう。したがって、第1のネットワーク上の端末に何ら手を加えることなく、その端末を送信先とするパケットに対し、機能付加装置が代わりに予め定める処理を行なうことができる。
【0025】
より好ましくは、第2のパケット処理手段は、パケット中継手段が第2のパケット送受信手段から受信した、第2のネットワーク上の端末からのパケットのうち、アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持ち、かつ特定の第1のプロトコルによる通信のためのパケットに対し、当該パケットを特定の第2のプロトコルによる通信のためのパケットに変換するための第1のプロトコル変換手段を含む。
【0026】
この機能付加装置を中継すれば、第1のネットワーク上の端末を送信先とする第1のプロトコルによるパケットを、第1のプロトコル変換手段が第2のプロトコルに変換する。したがって、仮に第1のネットワーク上の端末においては第1のプロトコルによる通信が不可能でも、第2のプロトコルによる通信が可能であれば、第1のネットワーク上の端末には何ら改良を加えることなく、第2のネットワーク上からの第1のプロトコルによるパケットを受信し処理することができる。
【0027】
さらに好ましくは、第2のパケット処理手段はさらに、パケット中継手段が第2のパケット送受信手段から受信した、第2のネットワーク上の端末からのパケットから、当該パケットの送信元端末及び送信元アプリケーションを特定するための送信元特定情報を抽出し記憶するための送信元特定情報記憶手段を含む。第2のパケット処理手段はさらに、パケット中継手段が第1のパケット送受信手段から受信した、第1のネットワーク上の端末からの、第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、送信元特定情報記憶手段に記憶された送信元特定情報と一致するときに、当該パケットを第1のプロトコルを用いた通信のためのパケットに変換するための第2のプロトコル変換手段を含む。
【0028】
第1のネットワーク上の端末は第2のプロトコルによる通信が可能であり、第2のネットワーク上の端末は第1のプロトコルによる通信が可能であるものとする。第2のネットワーク上の端末から第1のネットワーク上の端末をあて先として、第1のプロトコルによるパケットを送信する場合、当該パケットは機能付加装置内において第2のプロトコルによるパケットに変換され、第1のネットワーク上の端末に送信される。同時に、送信元である第2のネットワークの端末の送信元特定情報が送信元特定情報記憶手段に記憶される。第1のネットワーク上の端末は、このパケットを受信した後、応答のための第2のプロトコルによるパケットを返す。機能付加装置は、このパケットを、第1のプロトコルにプロトコル変換し、指定された送信先にパケットを送信する。このとき、機能付加装置は、無条件にプロトコルを変換することはしない。第1のネットワークから受信したパケットが第2のプロトコルであり、かつその送信先端末とそのアプリケーションとが送信元特定情報記憶手段に記憶されているときに、このようなプロトコル変換を行なう。その結果、第2のネットワーク上の端末から第1のネットワーク上の端末に送信された第1のプロトコルによるパケットに対する応答パケットに対してのみ、プロトコル変換が行なわれる。この結果、第1のネットワーク上の端末が第1のプロトコルによるパケットを処理する機能を持たなくても、第2のネットワーク上の端末にとっては、第1のプロトコルによるパケットを処理可能であるかのように見える。すなわち、この機能付加装置によって、第1のプロトコルによる通信機能が第1のネットワーク上の端末に付加されたことになる。
【0029】
さらに好ましくは、第1のプロトコルは、アドレス情報から作成される電子的な自己署名証明書を用いて暗号化されたパケットで通信を行なうためのプロトコルであり、第2のプロトコルは暗号化されないパケットで通信を行なうためのプロトコルである。機能付加装置はさらに、受信したパケットの送信元アドレス情報を用いて電子的な自己署名証明書を作成し、記憶するための証明書記憶手段を含む。第2のプロトコル変換手段は、パケット中継手段が第1のパケット送受信手段から受信した、第1のネットワーク上の端末からの、第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、送信元特定情報記憶手段により記憶された送信元特定情報と一致するときに、当該パケットを、証明書記憶手段に記憶された電子的な自己署名証明書を用いて暗号化することにより、第1のプロトコルによる通信のためのパケットに変換するための手段を含む。
【0030】
第1のネットワーク上の端末が暗号化されたパケットで通信を行なうことができないとしても、機能付加装置が第1のネットワーク及び第2のネットワークの間を中継することによって、第1のネットワーク上の端末による暗号化されたパケットでの通信が可能になり、一定のセキュリティ機能を付加することができる。
【0031】
さらに好ましくは、第1のプロトコルはHTTPSであり、第2のプロトコルはHTTPである。
【0032】
例えば、第1のネットワーク上の端末が、HTTPSに対応していないネットワーク機器であるとする。機能付加装置をこの端末と第2のネットワークとの間に介在させることで、第1のネットワーク上の端末がHTTPSに対応しているように見える。その結果、第1のネットワーク上のネットワーク機器を改良することなく、当該ネットワーク機器にHTTPS通信の機能を付加することができる。
【0033】
さらに好ましくは、機能付加装置はさらに、第1のパケット送受信手段に接続され、第1のネットワーク上の端末とのリンクが失われたことを検知して、アドレス記憶手段に記憶された、当該端末のアドレス情報を削除するための監視手段を含む。
【0034】
監視手段は、第1のネットワーク上の端末とのリンクの状態を検知し、第1のネットワーク上の端末とのリンクが失われると、その端末のアドレス情報をアドレス記憶手段から削除する。その結果、第2のネットワーク上の端末から第1のネットワーク上の当該機器を送信先とするパケットを受信した場合、そのパケットに対し予め定める処理は行なわない。その結果、機能付加装置が第2のネットワーク上からパケットを受信したときに、第1のネットワーク上に端末が接続されているか否かに応じた適切な処理を行なうことができる。
【0035】
さらに好ましくは、第2のパケット処理手段は、アドレス記憶手段に何らかのアドレス情報が新たに記憶されたことに応答して、ネットワーク機器に関する情報を問合せるための第1のプロトコルの問合せパケットを生成しアドレス記憶手段に新たに記憶されたアドレス情報を送信先アドレス情報として、第1のパケット送受信手段を介して第1のネットワーク上に送出するためのパケット送信手段と、問合せパケットに対する応答パケットを第1のパケット送受信手段から受信したことに応答して、当該パケットに含まれるネットワーク機器に関する情報を記憶するためのネットワーク機器情報記憶手段と、第2のネットワーク上からアドレス記憶手段に記憶されたアドレス情報を送信先として、ネットワーク機器に関する情報を問合せるための第2のプロトコルの問合せパケットを受信したことに応答して、ネットワーク機器情報記憶手段に記憶されたネットワーク機器に関する情報を含み、アドレス記憶手段に記憶されたアドレス情報を送信元アドレス情報として持ち、第2のプロトコルの問合せパケットの送信元端末を送信先として持つ第2のプロトコルの応答パケットを生成し、第2のパケット送受信手段を介して第2のネットワークに送出するための手段とを含む。
【0036】
例えば、第1のネットワーク上の端末が、ネットワーク機器に関する情報の問合せに対する返答を行なうために、第1のプロトコルを使用可能であり、第2のプロトコルを使用不可能であるとする。また、第2のネットワーク上の端末は、ネットワーク機器に関する情報を問合せるために、第2のプロトコルを使用可能であり、第1のプロトコルを使用不可能であるとする。パケット送信手段は、第1のネットワークに新たな端末が接続されると、その端末に対し第1のプロトコルの問合せパケットをこの端末に送信する。ネットワーク機器情報記憶手段は、このパケットに対する応答パケットからその端末に関するネットワーク機器情報を記憶する。さらに、第2のネットワーク上の端末から第2のプロトコルによる、第1のネットワーク上の端末のネットワーク機器情報に関する問合せがあれば、ネットワーク機器情報記憶手段に記憶された情報に基づき、この機能付加装置が第2のプロトコルで返答する。したがって、この機能付加装置を中継すれば、第2のネットワーク上の端末は、第2のプロトコルの問合せパケットにより、第1のネットワーク上の端末の情報を取得することができる。第1のネットワーク上の端末を第2のプロトコルに対応できるように改良する必要はない。
【0037】
さらに好ましくは、第1のパケット処理手段は、第2のネットワークから第1のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶するための条件記憶手段を含む。第1のパケット処理手段は、第2のパケット送受信手段が第2のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを第1のパケット送受信手段を介して第1のネットワークに中継するための手段を含む。
【0038】
機能付加装置は、第2のネットワーク上の端末から送信されたパケットが、条件記憶手段に記憶された条件を充足する場合に、当該パケットを破棄する。したがって、第1のネットワーク上の端末に適応したパケットのみが当該端末に送信される。第1のネットワーク上の端末に適応しない不適切なパケットは破棄される。その結果、第1のネットワーク上の端末が不適切なパケットを受けるおそれは少なく、当該端末のセキュリティを向上させることができる。
【0039】
さらに好ましくは、条件記憶手段はさらに、第1のネットワークから第2のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶する。第1のパケット処理手段はさらに、第1のパケット送受信手段が第1のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを第2のパケット送受信手段を介して第2のネットワークに中継するための手段を含む。
【0040】
機能付加装置は、同様にして、第1のネットワーク上の端末から第2のネットワーク上の端末へ送信されたパケットであっても、第2のネットワーク上の端末に適応したパケットのみを送信することができる。
【0041】
さらに好ましくは、第1のパケット処理手段は、第2のネットワークから第1のネットワークへの中継が許可されるパケットが満たすべき条件を記憶するための条件記憶手段と、第2のパケット送受信手段が第2のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを第1のパケット送受信手段を介して第1のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段を含む。
【0042】
機能付加装置は、第2のネットワーク上の端末から送信されたパケットが、条件記憶手段に記憶された条件に充足される場合にのみ、当該パケットを第1のネットワークに中継し、それ以外の場合には当該パケットを破棄する。したがって、第1のネットワーク上の端末に適応したパケットのみが当該端末に送信される。第1のネットワーク上の端末に適応しない不適切なパケットは破棄される。その結果、第1のネットワーク上の端末が不適切なパケットを受けるおそれは少なく、当該端末のセキュリティを向上させることができる。
【0043】
さらに好ましくは、条件記憶手段はさらに、第1のネットワークから第2のネットワークへの中継が許可されるパケットが満たすべき条件を記憶する。第1のパケット処理手段はさらに、第1のパケット送受信手段が第1のネットワークから受信したパケットにより、条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを第2のパケット送受信手段を介して第2のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段を含む。
【0044】
機能付加装置は、第1のネットワーク上の端末から第2のネットワーク上の端末へ送信されたパケットであっても、第2のネットワーク上の端末に適応したパケットのみを送信することができる。
【0045】
さらに好ましくは、各パケットは、送信先端末で当該パケットを処理すべきアプリケーションを特定するアプリケーション特定情報を含む。第1のパケット処理手段は、アプリケーション特定情報の複数の対を記憶したアプリケーション特定情報変換テーブルを記憶するためのテーブル記憶手段を含む。複数の対の各々は、第1のアプリケーション特定情報と、第2のアプリケーション特定情報とを含む。第1のパケット処理手段はさらに、第2のネットワーク送受信手段から受信した第2のネットワークからのパケットのアプリケーション特定情報と一致する第2のアプリケーション特定情報をテーブル記憶手段内で検索し、検索された第2のアプリケーション特定情報と対になっている第2のアプリケーション特定情報でパケット内のアプリケーション特定情報を置換するための手段を含む。
【0046】
機能付加装置は、第2のネットワークから受信したパケットに対して、それぞれのネットワークに適応したアプリケーション特定情報でパケットのアプリケーション特定情報を置換する。そのため、第1のネットワーク上の端末で行なっているサービス内容を知る目的、又は不正なアクセスをする目的で、一般的に使用されるアプリケーション特定情報を使用して第2のネットワーク上の端末からアクセスしようとしても、容易にはアクセスできない。また、第1のネットワーク上の端末においてどのようなサービスがどのようなアプリケーション特定情報で提供されているかを知ることも難しくなる。その結果、機能付加装置は、十分なセキュリティ機能を持たない第1のネットワーク上の端末のセキュリティ機能を高めることができる。
【0047】
さらに好ましくは、第1のパケット処理手段はさらに、第1のネットワーク送受信手段から受信した第1のネットワークからのパケットのアプリケーション特定情報と一致する第1のアプリケーション特定情報をテーブル記憶手段内で検索し、検索された第1のアプリケーション特定情報と対になっている第2のアプリケーション特定情報でパケット内のアプリケーション特定情報を置換するための手段を含む。
【0048】
第1のネットワークからのパケットについても、テーブルを逆に検索することでアプリケーション特定情報を逆変換し、第2のネットワークに送信する。したがって、この変換テーブルを知っていれば、第1及び第2のネットワーク上の端末の間で、特定アプリケーションに関するパケットの送受信を行なうことができる。そのときのアプリケーション特定情報としてどのような値にするかを外部から知ることは容易にはできない。その結果、機能付加装置は、十分なセキュリティ機能を持たない第1のネットワーク上の端末のセキュリティ機能を高めることができる。
【0049】
さらに好ましくは、第1のパケット処理手段はさらに、第2のネットワーク送受信手段から受信した第2のネットワークからのパケットのアプリケーション特定情報と一致する第2のアプリケーション特定情報がテーブル記憶手段内になかったことに応答し、当該パケットを破棄するための手段を含む。
【0050】
アプリケーション特定情報に記憶されていないアプリケーション情報を持つパケットは、第1のパケット処理手段により破棄される。したがって、変換テーブルの内容を把握していない端末からの、不正な情報による第1のネットワーク上の端末へのアクセスを排除できる。その結果、機能付加装置は、十分なセキュリティ機能を備えていない第1のネットワーク上の端末を不正なアクセスから保護することができる。
【発明を実施するための最良の形態】
【0051】
以下、本発明について、実施の形態に基づいて説明する。なお、図面において、同じ部品には同じ参照番号を付し、それらについての詳細な説明は繰返さない。
【0052】
[第1の実施の形態]
<構成>
図1に、本発明に係る機能付加装置の一例として、本発明の第1の実施の形態に係る機能付加装置100のネットワーク環境の図を示す。
【0053】
図1を参照して、ネットワーク90は、ネットワーク回線108と、いずれもこのネットワーク回線108に接続されるネットワーク端末104、106及びHTTP通信の機能は持つが、HTTPS通信の機能を持たないネットワーク機器102を含む。ただし、ネットワーク機器102は、本実施の形態に係る、ネットワーク機器102に対してHTTPS通信の機能を付加するための機能付加装置100を経由してネットワーク回線108に接続されている。ネットワーク機器102は、通信線110で機能付加装置100と接続されている。本実施の形態では、通信線110で機能付加装置100に接続されるネットワーク機器は1台のみであるとする。
【0054】
以下の説明では、ネットワーク機器102は、HTTPSに対応していないWWWサーバを搭載した組込のネットワーク機器であるとする。一方、ネットワーク端末104及びネットワーク端末106はHTTPSで通信することが可能であるものとする。
【0055】
図2に、本実施の形態に係る機能付加装置100のハードウェア構成の図を示す。図2を参照して、機能付加装置100はCPU(中央演算処理装置)200と、機能付加装置100のブートアッププログラム及びCPU200によって実行されるプログラムを記憶するROM(Read−Only Memory)202とを含む。機能付加装置100は、CPU200によって使用される作業領域を提供するための記憶領域となるRAM(Random Access Memory)204と、通信線110への接続を提供し、通信線110上のネットワーク端末との間でパケットを送受信するための第1のネットワークインタフェース206と、ネットワーク回線108への接続を提供し、ネットワーク回線108上のネットワーク端末との間でパケットを送受信するための第2のネットワークインタフェース208とをさらに含む。
【0056】
図3は、機能付加装置100の機能ブロック図である。図3を参照して、機能付加装置100は、第2のネットワークインタフェース208がネットワーク回線108に接続されているネットワーク端末から受信したHTTPSプロトコルによるパケット(以下単に「HTTPSパケット」と呼ぶ。)の送信元IPアドレスとポート番号とを記憶するための送信元端末情報保存領域260と、第1のネットワークインタフェース206に接続されたネットワーク機器(本実施の形態ではネットワーク機器102)のIPアドレスとHTTPS通信のための証明書とを記憶するための証明書情報保存領域262とを含む。このIPアドレスは、後述するように機能付加装置がネットワーク機器102から送信されるパケットから取得する。なお、図3における第1のネットワークインタフェース206及び第2のネットワークインタフェース208は、図2を用いて説明したこれら物理インタフェースを動作させる為のTCP/IPプロトコルなどのソフトウェアプログラムを含む。
【0057】
詳しくは後述するが、第1のネットワークインタフェース206及び第2のネットワークインタフェース208は、機能付加装置100にネットワークを介して接続されているネットワーク機器及びネットワーク端末とTCP接続をするために、それぞれネットワーク機器102及び当該ネットワーク端末とTCP接続確立パケットを送受信する。ここで、「TCP接続確立パケット」とは、後述する「TCP接続」、「TCP接続/応答」、及び「TCP応答確認」のパケットの総称である。
【0058】
機能付加装置100はさらに、第1のネットワークインタフェース206がネットワーク機器102から受信したパケットの送信元IPアドレス及びMAC(Media Access Control)アドレスを保存するための送信先端末情報保存領域264とを含む。ネットワーク機器102がこのようなパケットを送信するのは、外部からネットワーク機器102を送信先とするパケットを受信したときに限られる。そのため、ここではネットワーク機器102のIPアドレスを「送信先」アドレスと呼んでいる。
【0059】
機能付加装置100はさらに、第1のパケット受信処理部250とHTTP/HTTPSデコード処理部252とリンク監視部254とを含む。第1のパケット受信処理部250は、後述するHTTP/HTTPSデコード処理部252に接続された第1の出力経路と、第1のネットワークインタフェース206に接続された第2の出力経路とを持つ。第1のパケット受信処理部250は、第2のネットワークインタフェース208から送信されたパケットを受信し、送信先端末情報保存領域264に受信パケットの送信先のIPアドレス及びMACアドレスが登録されているか否かを判定する。登録されていない場合、及び登録されていたとしても受信パケットがTCP接続確立パケット以外、且つHTTPS以外のパケットである場合には、第1のパケット受信処理部250は第2の出力経路に当該受信したパケットを送信し、一方、HTTPSのパケットであれば第1の出力経路に当該受信したパケットを送信する。一方、ポート番号が443番であるTCP接続確立パケットである場合には、第1のパケット受信処理部250は、ネットワーク端末104と自身である機能付加装置100との間でHTTPS通信用のTCP接続(ポート番号=443)を確立するため、第2のネットワークインタフェース208にネットワーク端末104とTCP接続確立パケットを送受信させるための指示を出し、パケットを破棄する。HTTP/HTTPSデコード処理部252は、第1のパケット受信処理部250の第1の出力経路に接続された入力を持ち、第1の出力経路から受信したHTTPSのパケットの送信先であるネットワーク機器102と機能付加装置100との間にてHTTP通信用のTCP接続(ポート番号=80)を確立するため、第1のネットワークインタフェース206に、ネットワーク機器102とTCP接続確立パケットを送受信させるための指示を出し、証明書情報保存領域262を参照して、受信したパケットをHTTPのパケットにデコードし、送信元端末情報保存領域260に、パケットの送信元のIPアドレス及びポート番号を記憶する。リンク監視部254は、第1のネットワークインタフェース206とネットワーク機器102とのリンク状態を常時監視し、接続状態から切断状態への遷移を検知すると、当該ネットワーク機器102のIPアドレス及びMACアドレスを送信先端末情報保存領域264から削除する。
【0060】
機能付加装置100はさらに、第2のパケット受信処理部256とHTTP/HTTPSエンコード処理部258とを含む。第2のパケット受信処理部256は、後述するHTTP/HTTPSエンコード処理部258に接続された第1の出力経路と第2のネットワークインタフェース208に接続された第2の出力経路を含む。第2のパケット受信処理部256は、第1のネットワークインタフェース206よりパケットを受信し、受信パケットの送信元IPアドレス及びMACアドレスを抽出する。第2のパケット受信処理部256は、それらが送信先端末情報保存領域264に記憶されていなければ、各アドレスを送信先端末情報保存領域264に登録し、パケットの送信元IPアドレスに対応する証明書が証明書情報保存領域262に存在していなければ自己署名証明書を作成してネットワーク機器102のIPアドレスとともに証明書情報保存領域262に保存する。第2のパケット受信処理部256はさらに、当該受信パケットの送信元ポート番号を判定し、当該受信パケットの送信元ポート番号が80であれば、当該受信パケットを第1の出力経路に出力し、一方、それ以外のパケットであれば、受信パケットを第2の出力経路に出力する。HTTP/HTTPSエンコード処理部258は、第2のパケット受信処理部256からパケットを受信し、そのパケットがHTTPSパケットに対する応答のHTTPパケットであれば、HTTPSにエンコードして第2のネットワークインタフェース208に出力し、その他の場合にはそのまま第2のネットワークインタフェース208に出力する。
【0061】
HTTP/HTTPSエンコード処理部258が、受信したパケットをHTTPSにエンコードすべきか否かは、次のようにして判定する。HTTP/HTTPSデコード処理部252がネットワーク機器102あてのHTTPSパケットを受信したとき、そのパケットの送信元端末のIPアドレスとポート番号とを送信元端末情報保存領域260に保存する。HTTP/HTTPSエンコード処理部258は、第2のパケット受信処理部からパケットを受信すると、送信元端末情報保存領域260を参照し、パケットの送信先のIPアドレスとポート番号との組合せが送信元端末情報保存領域260に存在していなければ第2のネットワークインタフェース208にそのまま送信する。存在すれば、証明書情報保存領域262を参照して、HTTPSのパケットにエンコードし、第2のネットワークインタフェース208に送信した後、送信元端末情報保存領域260に保存されていたIPアドレス及びポート番号の組合せを削除する。このようにすることで、HTTP/HTTPSエンコード処理部258は、受信したパケットをHTTPSにエンコードすべきか否かを判定できる。
【0062】
すなわち、第1のパケット受信処理部250、HTTP/HTTPSデコード処理部252、第2のパケット受信処理部256、及びHTTP/HTTPSエンコード処理部258は、第1のネットワークインタフェース206及び第2のネットワークインタフェース208を用い、第1のネットワークインタフェース206の端末と、ネットワーク回線108上の端末との間で、各パケットの送信元端末のIPアドレス及び送信先端末のIPアドレスを変更せずにパケットを中継する機能を持っている。ただし、既に述べたように、これらは、特定の条件を充足するパケットについては、中継するパケットに対してプロトコル変換という特定の処理を実行する機能を持つ。
【0063】
なお、本実施の形態に係る機能付加装置100は、自身のIPアドレスを備えず、ネットワーク機器102及びネットワーク回線108に接続された各ネットワーク端末のIPアドレスを利用して、通信を行なう。
【0064】
図4は、第1のパケット受信処理部250の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。以下で説明するコンピュータプログラムは、いずれも図2に示すROM202に記憶されており、CPU200によってプロセスとして実行されることにより、各機能ブロックの機能を実現する。
【0065】
図4を参照して、ステップ300において、第1のパケット受信処理部250は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであれば制御はステップ302に進み、それ以外であればステップ300に戻る。
【0066】
ステップ302において、第1のパケット受信処理部250は、受信したパケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されているか、そうでないかを判定する。判定結果がYESであれば制御はステップ310に進み、それ以外であればステップ306に進む。
【0067】
ステップ310において、第1のパケット受信処理部250は、当該受信したパケットがTCP接続確立パケットであるか否かを判定する。判定結果がYESであれば、制御はステップ312に進み、それ以外であればステップ304に進む。
【0068】
ステップ312において、第1のパケット受信処理部250は、当該受信したTCP接続確立パケットがポート番号=443に対するパケットか否かを判定する。判定結果がYESであれば、制御はステップ314に進み、それ以外であればステップ306に進む。
【0069】
ステップ314において、第1のパケット受信処理部250は、第2のネットワークインタフェース208に対し、当該TCP接続確立パケット(ポート番号=443)を送信したネットワーク端末とTCP接続を確立するために、当該ネットワーク端末とTCP接続確立パケットを送受信させるよう指示を出し、パケットを破棄する。その後、制御はステップ300に戻る。
【0070】
ステップ304において、第1のパケット受信処理部250は、受信したパケットがHTTPS通信によるものであるか、そうでないかを判定する。判定結果がYESであれば制御はステップ308に進み、それ以外であればステップ306に進む。
【0071】
ステップ308において、第1のパケット受信処理部250は、HTTPS通信によるパケットをHTTPのためのパケットにデコードするために、HTTP/HTTPSデコード処理部252にパケットを送信し、ステップ300に戻る。なお、ステップ308における実際の動作は、第1のパケット受信処理部250として機能するプロセスからHTTP/HTTPSのデコードプロセスにパケットデータを引渡すことにより行なわれる。
【0072】
一方、ステップ306においては、受信したパケットに対して何も処理せず、パケットを第1のネットワークインタフェース206に送信する。この後、制御はステップ300に戻る。
【0073】
図5は、リンク監視部254の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図5を参照して、リンク監視部254は、ステップ320において、第1のネットワークインタフェース206とネットワーク機器102とのリンクが切断されているか、そうでないかを判定する。判定結果がYESであればステップ322に進み、それ以外であればステップ320に戻る。
【0074】
ステップ322において、リンク監視部254は、ネットワーク機器102とのリンクが切断されているので、送信先端末情報保存領域264に記憶されているIPアドレス及びMACアドレスを削除し、ステップ320に戻る。すなわちリンク監視部254は、第1のネットワークインタフェース206を常に監視し、接続されている機器との間のリンクが切断されると、送信先端末情報保存領域264に記憶されていたその機器のIPアドレス及びMACアドレスを削除する機能を実現する。
【0075】
図6は、第2のパケット受信処理部256の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図6を参照して、ステップ330において、第2のパケット受信処理部256は、第1のネットワークインタフェース206からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ332に進み、それ以外であればステップ330に戻る。
【0076】
ステップ332において、第2のパケット受信処理部256は、受信したパケットの送信元であるネットワーク機器102のIPアドレス及びMACアドレスが送信先端末情報保存領域264に記憶されているか、そうでないかを判定する。判定結果がYESであればステップ344に進み、それ以外であればステップ334に進む。
【0077】
ステップ334において、第2のパケット受信処理部256はパケットの送信元IPアドレス及びMACアドレスを送信先端末情報保存領域264に記憶させる。制御はステップ336に進む。
【0078】
ステップ336において、第2のパケット受信処理部256は、HTTPSエンコードのための電子的な自己署名証明書が証明書情報保存領域262に既に存在しているか、そうでないかを判定する。判定結果がYESであればステップ338に進み、それ以外であればステップ342に進む。
【0079】
ステップ338において、証明書情報保存領域262を参照し、ここに記憶されている自己署名証明書のIPアドレスと、第1のネットワークインタフェース206から受信したパケットの送信元IPアドレス(すなわちネットワーク機器102のIPアドレス)とが違うか、そうでないかを判定する。判定結果がYESであればステップ342に進み、それ以外であればステップ344に進む。
【0080】
ステップ342においては、現在、第1のネットワークインタフェース206に接続されているネットワーク機器102のIPアドレスのための証明書が証明書情報保存領域262に記憶されていないということであるので、第2のパケット受信処理部256は、受信したパケットの送信元端末のIPアドレスのための新しい自己署名証明書を作成する。第2のパケット受信処理部256は、その自己署名証明書と、受信したパケットの送信元IPアドレスとを互いに関連付けて証明書情報保存領域262に記憶させ、ステップ344に進む。
【0081】
ステップ344において、第2のパケット受信処理部256は、受信したパケットの送信元ポート番号が80番であるか否かを判定する。判定結果がYES(ポート番号=80)であれば、制御はステップ340に進み、それ以外であればステップ346に進む。
【0082】
ステップ346において、第2のパケット受信処理部256は、受信したパケットをそのまま第2のネットワークインタフェース208に送信し、制御はステップ330に戻る。
【0083】
ステップ340において、第2のパケット受信処理部256は、第1のネットワークインタフェース206から受信したパケットをHTTP/HTTPSエンコード処理部258に送信する。この後、制御はステップ330に戻る。
【0084】
図7は、HTTP/HTTPSエンコード処理部258の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図7を参照して、ステップ350において、HTTP/HTTPSエンコード処理部258は、第2のパケット受信処理部256からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ352に進み、それ以外であればステップ350に戻る。
【0085】
ステップ352において、先ず、HTTP/HTTPSエンコード処理部258は、受信したパケットがHTTPパケットであるかを判定する。この結果、HTTPパケット以外であれば制御がステップ356に進む。HTTPパケットであれば、HTTP/HTTPSエンコード処理部258は、パケットの送信先IPアドレス及びMACアドレスが送信元端末情報保存領域260に存在するか、そうでないかを判定する。本ステップは、受信したパケットがHTTP/HTTPSデコード処理部252でデコードされたHTTPSのパケットに対する応答であるか、そうでないかを判定するためのものである。もし、受信したパケットが、HTTPSをデコードして得られたHTTPに対する応答であれば、送信元端末情報保存領域260に元のHTTPSパケットの送信元IPアドレスとポート番号とが記憶されており、これらはネットワーク機器102から送信されるHTTPパケットの送信先IPアドレスとポート番号とにそれぞれ一致する筈だからである。判定結果がYES、即ちパケットの送信先IPアドレス及びMACアドレスが送信元端末情報保存領域260に存在する場合、制御はステップ354に進み、それ以外であればステップ356に進む。
【0086】
ステップ354において、HTTP/HTTPSエンコード処理部258は、証明書情報保存領域262に記憶されている、ネットワーク機器102のIPアドレスに対応する自己署名証明書を参照し、HTTPのパケットをHTTPSのパケットにエンコードする。次にHTTP/HTTPSエンコード処理部258は、送信元端末情報保存領域260から受信したHTTPパケットの送信先IPアドレスと、対応するポート番号とを削除する。この後制御はステップ356に進む。
【0087】
ステップ356において、HTTP/HTTPSエンコード処理部258はパケットを第2のネットワークインタフェース208に送信する。この後、制御はステップ350に戻り、次のパケットを待つ。
【0088】
<動作>
以上構成を説明した機能付加装置100は以下のように動作する。以下では、HTTP通信をする場合と、HTTPS通信をする場合とに分けて動作を説明する。
【0089】
図3を参照して、最初は第1のネットワークインタフェース206にはネットワーク機器102が接続されておらず、送信元端末情報保存領域260、証明書情報保存領域262、及び送信先端末情報保存領域264には何の情報も保存されていないものとする。
【0090】
機能付加装置100が動作し始めると、リンク監視部254が起動し、第1のネットワークインタフェース206と、第1のネットワークインタフェース206に接続される機器とのリンク状態の監視を開始する。
【0091】
ネットワーク機器102が第1のネットワークインタフェース206に接続されたものとする。この場合、リンク監視部254は第1のネットワークインタフェース206とネットワーク機器102とのリンクの確立を検知するが、それ以上は何も行なわない。以後リンク監視部254は、第1のネットワークインタフェース206とネットワーク機器102とのリンクが切断されたか否か、すなわちリンクが失われたか否かについて監視する。
【0092】
リンクが切断されたとき、リンク監視部254は、送信先端末情報保存領域264を参照し、ネットワーク機器102のIPアドレス及びMACアドレスが登録されていれば、登録されている情報を削除する。
【0093】
―HTTP通信―
図8は、図3に示すネットワーク回線108に接続されたネットワーク端末104から、機能付加装置100を介して、ネットワーク機器102へHTTP通信を行なうときのシーケンス図である。図8を参照して、ネットワーク端末104からネットワーク機器102へHTTP通信を行なうものとする。
【0094】
図8を参照して、先ず、矢印370は、ネットワーク端末104からネットワーク機器102へ、ARP(Address Resolution Protocol)リクエストを送信することを示している。最初、ネットワーク端末104は、パケットの送信先のIPアドレスを知っているが、そのIPアドレスに対応するMACアドレスを知らない。このARPリクエストは、ネットワーク端末104が、相手方のMACアドレスを知るためにネットワーク回線108上にブロードキャストするものである。
【0095】
図3を参照して、ネットワーク端末104から送信されたARPリクエストのパケットは、第2のネットワークインタフェース208を介して、第1のパケット受信処理部250で受信される。送信先端末情報保存領域264には、ネットワーク機器102のIPアドレス及びMACアドレスは記憶されていない。したがって、第1のパケット受信処理部250は、このARPリクエストのパケットを第1のネットワークインタフェース206に与える。第1のネットワークインタフェース206はこのARPリクエストのパケットをネットワーク機器102に送信する。このARPリクエストがネットワーク機器102のIPアドレスに関するものであれば、ネットワーク機器102は自己のMACアドレスをARP応答としてネットワーク端末104に返信する。ARPリクエストが自己のIPアドレスに関するものでなければネットワーク機器102は何も返信しない。以下の説明では、ARPリクエストがネットワーク機器102のIPアドレスに関するものであるものとする。
【0096】
図8を参照して、矢印372は、ネットワーク機器102が、ネットワーク端末104へ、ネットワーク機器102のMACアドレスを含むARP応答を返すことを示している。
【0097】
図3を参照して、ARP応答は先ず、ネットワーク機器102から第1のネットワークインタフェース206を介して、第2のパケット受信処理部256に到達する。第2のパケット受信処理部256は送信先端末情報保存領域264を参照して、ARP応答のパケットの送信元であるネットワーク機器102のIPアドレス及びMACアドレスが送信先端末情報保存領域264に記憶されているかどうかを確認する。現状では、送信先端末情報保存領域264に何も登録されていないので、第2のパケット受信処理部256は、受信したパケットの送信元IPアドレスとMACアドレスとを送信先端末情報保存領域264に登録する。その後、第2のパケット受信処理部256は、このIPアドレスのための自己署名証明書を作成し、作成した証明書をIPアドレスと関連付けて証明書情報保存領域262に記憶させる。第2のパケット受信処理部256はこの後、パケットをHTTP/HTTPSエンコード処理部258に送信する。
【0098】
このようにして、機能付加装置100は、ネットワーク機器102と他の機器との通信を中継することにより、ネットワーク機器102のIPアドレスとMACアドレスとを知ることができる。
【0099】
HTTP/HTTPSエンコード処理部258はこのパケットの送信先IPアドレスとポート番号との組合せが送信元端末情報保存領域260に記憶されているか否かを判定する。ここでは送信元端末情報保存領域260には何も記憶されていないので、HTTP/HTTPSエンコード処理部258はパケットをそのまま第2のネットワークインタフェース208に与える。第2のネットワークインタフェース208はこのパケットをネットワーク回線108上に送出する。その結果、ARP応答はネットワーク端末104に到達する。この結果、ネットワーク端末104はネットワーク機器102のMACアドレスを知ることができる。
【0100】
図8を参照して、矢印374は、ネットワーク端末104がネットワーク機器102とポート番号を80番としてTCP接続をするためのパケット通信を行なうことを示している。これは、即ち、HTTPポートでTCP接続を開始することを意味する。このときにネットワーク端末104から送信されるパケットに対して、機能付加装置100は何の処理も行なわず、第2のネットワークインタフェース208、第1のパケット受信処理部250、及び第1のネットワークインタフェース206を経由して、パケットをネットワーク機器102に送信する。この理由は、図4の説明で既に述べたように、当該受信したTCP接続パケットはTCP接続確立パケットの1つではあるものの、ポート番号が443でないため、第1のパケット受信処理部250において何も処理されず、そのまま第1のネットワークインタフェース206に送信されるからである。
【0101】
図8を参照して、矢印376は、ネットワーク機器102が矢印374で受信したTCP接続のためのパケットに対して、TCP接続に対する応答をネットワーク端末104にパケット送信することを示している。そのときにネットワーク機器102から送信されるパケットに対して、機能付加装置100は何の処理も行なわず、第1のネットワークインタフェース206、第2のパケット受信処理部256、HTTP/HTTPSエンコード処理部258及び第2のネットワークインタフェース208を経由して、パケットをネットワーク端末104に送信する。この理由は、図6を参照して、当該受信したTCP接続/応答パケットの送信元ポート番号が80であるため、このパケットがHTTP/HTTPSエンコード処理部258に送信され、次いで、図7を参照して、送信元端末情報保存領域260にネットワーク端末104のIPアドレス及びMACアドレスが登録されていないので、当該受信したTCP接続/応答パケットが何も処理されず、そのまま第2のネットワークインタフェース208に送信されるからである。
【0102】
矢印378は、ネットワーク端末104がネットワーク機器102からTCP接続に対する応答を受信し、ネットワーク機器102にTCP応答確認のためのパケットを送信することを示す。機能付加装置100はこのパケットに対し何の処理も行なわず、ネットワーク機器102に送信する。この理由は、図4の説明で既に述べたように、当該受信したTCP応答確認パケットはTCP接続確立パケットの1つではあるものの、ポート番号が443でないため、第1のパケット受信処理部250において何も処理されず、そのまま第1のネットワークインタフェース206に送信されるからである。
【0103】
このようなネゴシエーションの結果、ネットワーク端末104とネットワーク機器102とのTCP接続が確立される。
【0104】
図8を参照して、矢印380は、ネットワーク端末104がネットワーク機器102にHTTPリクエストのためのパケットを送信することを示している。
【0105】
図3を参照して、機能付加装置100はこのHTTPリクエストに対しても何ら処理を行なわず、その結果このパケットはネットワーク機器102に到達する。
【0106】
図8を参照して、矢印382は、ネットワーク機器102が、受信したHTTPリクエストに対し、ネットワーク端末104にHTTP応答のためのパケットを送信することを示す。
【0107】
図3を参照して、このパケットはHTTPSパケットに対する応答ではないので、機能付加装置100はパケットには何の処理も行なわず、第1のネットワークインタフェース206、第2のパケット受信処理部256、HTTP/HTTPSエンコード処理部258、及び第2のネットワークインタフェース208を経由して、パケットをネットワーク端末104に送信する。
【0108】
―HTTPS通信―
図9は、図3に示すネットワーク回線108に接続されたネットワーク端末104から、機能付加装置100を介して、ネットワーク機器102との間でHTTPS通信を行なうときのシーケンス図である。図9を参照して、ネットワーク端末104がネットワーク機器102をあて先としてHTTPS通信を行なうものとする。
【0109】
図9を参照して、矢印390及び矢印392は、それぞれ図8に示す矢印370及び矢印372と同一の処理を示す。もしも送信先端末情報保存領域264にネットワーク機器102のIPアドレスとMACアドレスとが記憶されていない場合、この処理を通じてそれらが送信先端末情報保存領域264に記憶されることになる。
【0110】
図9を参照して、矢印394は、ネットワーク端末104がネットワーク機器102とポート番号=443番でTCP接続をするためのパケット通信を行なうことを示す。これは、即ち、HTTPSプロトコルでTCP接続を開始することを意味する。ネットワーク機器102はHTTPS通信に対応していないため、通常はHTTPS通信を行なうことはできない。しかし本実施の形態に係る機能付加装置100により、以下のようにしてネットワーク機器102はこのHTTPSパケットに対するHTTPS応答を返すことができる。
【0111】
ネットワーク端末104からのポート番号=443に対するTCP接続は、まず機能付加装置100の第2のネットワークインタフェース208を経由して第1のパケット受信処理部250により受信される。該受信したTCP接続パケットがTCP接続確立パケットの1つであり、且つ、ポート番号が443なので、第1のパケット受信処理部250は、第2のネットワークインタフェース208に対してネットワーク端末104と自身である機能付加装置100との間でTCP接続を確立するよう指示を出す。よって、以下に示すTCP接続のネゴシエーション(矢印396、398)は、本実施の形態では第2のネットワークインタフェース208によって実行されるものとする。
【0112】
矢印396は矢印394で受信したTCP接続のためのパケットに対して、TCP接続に対する応答を第2のネットワークインタフェース208からネットワーク端末104に送信することを示している。
【0113】
ネットワーク端末104がこの応答を受信すると、矢印398により示されるように、ネットワーク機器102をあて先としてTCP応答確認のためのパケットを送信する。以上のネゴシエーションにより、ネットワーク端末104は、ネットワーク機器102との間のHTTPSポートでのTCP接続が確立したと認識する。
【0114】
図9を参照して、ネットワーク端末104が機能付加装置100に矢印400で示すようにHTTPSリクエストパケットを送信する。図3に示す第2のネットワークインタフェース208がこのパケットを受信し、第1のパケット受信処理部250に送信する。
【0115】
第1のパケット受信処理部250は、送信先端末情報保存領域264を参照して、パケットの送信先IPアドレス及びMACアドレスが登録されているか否かを確認する。ここでは、既にネットワーク機器102のIPアドレスが及びMACアドレスが登録されている。したがって第1のパケット受信処理部250は、パケットをHTTP/HTTPSデコード処理部252に送信する。
【0116】
図3に示すHTTP/HTTPSデコード処理部252は、第1のパケット受信処理部250から与えられたHTTPSのパケットの送信先であるネットワーク機器102と機能付加装置100との間にてHTTP通信用のTCP接続(ポート番号=80)を確立するよう、第1のネットワークインタフェース206に指示する(図9の矢印412、414、416)。なお、このTCP接続は、矢印400にて受信したHTTPSリクエストの送信元アドレス及びMACアドレスを送信元アドレスとして確立される。
【0117】
その後、当該受信したHTTPSパケットをHTTPのパケットにデコードする(図9のHTTPS→HTTPデコード処理402)。HTTP/HTTPSデコード処理部252はこのとき、送信元端末情報保存領域260に、パケットの送信元IPアドレスとポート番号とを記憶させる。
【0118】
図9を参照して、HTTP/HTTPSデコード処理部252は、矢印404により示されるように、矢印412、414、416にて確立されたTCP接続(ポート番号=80)を用いて、デコードされたHTTPリクエストを、第1のネットワークインタフェース206を介してネットワーク機器102に送信する。
【0119】
このHTTPリクエストに対し、ネットワーク機器102内のWWWサーバが矢印406により示されるようにHTTP応答を機能付加装置100に送信する。
【0120】
図3を参照して、機能付加装置100の第1のネットワークインタフェース206がこのHTTP応答パケットを受信し、第2のパケット受信処理部256に与える。第2のパケット受信処理部256は、このパケットの送信元IPアドレス及びMACアドレスが送信先端末情報保存領域264に保存されているか否かを確認する。ここでは既に送信先端末情報保存領域264にこれら情報が保存されている。第2のパケット受信処理部256はこのパケットをHTTP/HTTPSエンコード処理部258に与える。
【0121】
図3に示すHTTP/HTTPSエンコード処理部258は、送信元端末情報保存領域260を参照して、受信したパケットがデコードされたHTTPリクエストに対する応答パケットであるかどうかを確認する。すなわち、HTTP/HTTPSエンコード処理部258は、送信元端末情報保存領域260を参照して、受信したパケットの送信先IPアドレスとポート番号との組合せが送信元端末情報保存領域260に記憶されているか否かを判定する。ここでは、HTTP/HTTPSデコード処理部252によりこれらが送信元端末情報保存領域260に保存されている。したがってHTTP/HTTPSエンコード処理部258は、証明書情報保存領域262を参照し、受信したパケットの送信元IPアドレスに対応する自己署名証明書を読出し、受信したHTTP応答のパケットをHTTPS応答のためのパケットにエンコードする。その後、HTTP/HTTPSエンコード処理部258は送信元端末情報保存領域260内に保存されていた、パケットの送信先IPアドレスとポート番号との組合せを削除する。これらの処理が図9のHTTP→HTTPSエンコード処理408として示されている。
【0122】
HTTP/HTTPSエンコード処理部258は、このようにして得られたHTTPS応答のパケットを第2のネットワークインタフェース208に与え、第2のネットワークインタフェース208はこのパケットをネットワーク回線108上に送出する。その結果、図9において矢印410により示されるように、エンコードされたHTTPS応答のパケットがネットワーク端末104に送信される。
【0123】
<第1の実施の形態の効果>
本実施の形態に係る機能付加装置100を使用することにより、機能付加装置100は、ネットワーク機器102が備えていないHTTPS通信機能を、付加的にネットワーク機器102に与えることができる。また、機能付加装置100が独自にIPアドレスを必要とせず、ユーザは、機能付加装置100、ネットワーク機器102、及びネットワーク回線108上のネットワーク端末のいずれに対しても、予め何らかの設定を施す必要がない。ネットワーク回線108上のネットワーク端末がネットワーク機器102にHTTPS通信を試みれば、ネットワーク機器102及び機能付加装置100の組合せは、あたかもネットワーク機器102にHTTPS通信の機能が追加されたかのように動作する。即ち、HTTP通信機能は備えているがHTTPS通信の機能を備えていないネットワーク機器であっても、ネットワーク回線108との間に機能付加装置100を介在させるだけで、外部からのHTTPSプロトコルに対して応答することができる。この意味で機能付加装置100は、HTTPS通信機能をネットワーク機器102に付加するための装置といえる。さらに、ネットワーク機器102等の周辺機器(機能付加装置100を含む。)に特別な設定は必要ではなく、単にネットワーク回線108とネットワーク機器102との間に機能付加装置100を設置するだけでよい。したがって機能付加装置100はあらゆるレベルの需用者ニーズに応えることができるものである。
【0124】
[第2の実施の形態]
<構成>
図10に、本発明の第2の実施の形態に係る機能付加装置450の機能ブロック図を示す。機能付加装置450は、SLPによる通信機能を備えていないネットワーク機器に対し、SLPによる通信機能を付加するためのものである。
【0125】
機能付加装置450のネットワーク環境としては、図1に示すネットワーク90とほぼ同様なものが想定される。以下に説明する機能付加装置450は、図1に示す機能付加装置100と全く同様に、対象となる機器(この説明では図10に示すようにネットワーク機器466とする。)とネットワーク回線108との間に設置することができる。なお、ネットワーク機器466は、SNMP通信の機能は持つが、SLP通信の機能を持たないものとする。
【0126】
図10を参照して、機能付加装置450は、図3に示すものと同様の第1のネットワークインタフェース206、第2のネットワークインタフェース208、送信先端末情報保存領域264、及びリンク監視部254を含む。機能付加装置450はさらに、ネットワーク機器情報保存領域452と第1のパケット受信処理部456とを含む。当該ネットワーク機器情報保存領域452には、第1のネットワークインタフェース206に接続されるネットワーク機器466に関するネットワーク機器情報が保存される。当該第1のパケット受信処理部456は、第2のネットワークインタフェース208に接続された入力経路を有し、第2のネットワークインタフェース208からパケットを受けたことに応答して、送信先端末情報保存領域264に受信パケットの送信先のIPアドレス及びMACアドレスが登録されているか否かを判定し、登録されていない場合、及び登録されていたとしても受信パケットがSLPによるパケットでない場合には第2のネットワークインタフェース206に当該パケットを送信し、一方、受信パケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されており、かつ当該パケットがSLPによるパケットであれば、ネットワーク機器情報保存領域452に保存されているネットワーク機器の情報から問合せに対する返答としてSLP応答パケットを生成して問合せパケットを送信してきた端末に第2のネットワークインタフェース208を介して送信する。
【0127】
機能付加装置450はさらに、第2のパケット受信処理部462とSNMPリクエスト送信処理部458とを含む。当該第2のパケット受信処理部462は、後述するSNMP応答解析処理部464に接続された第1の出力経路と、第2のネットワークインタフェース208に接続された第2の出力経路と、第1のネットワークインタフェース206に接続された入力経路とを持ち、第1のネットワークインタフェース206からパケットを受信したとき、送信先端末情報保存領域264にパケットの送信元のIPアドレス及びMACアドレスが登録されていなければ、各アドレスを登録する処理と、受信したパケットがSNMPに対する応答パケットであれば第1の出力に、それ以外のパケットであれば第2の出力に、それぞれ出力する処理とを行なう。当該SNMPリクエスト送信処理部458は、送信先端末情報保存領域264にIPアドレス及びMACアドレスが登録されたかどうかを監視し、IPアドレス及びMACアドレスが登録されたときには、登録されたIPアドレスをあて先としてそのネットワーク機器の情報を取得することを要求するSNMPリクエストのパケットを生成し、第1のネットワークインタフェース206を介してネットワーク機器466に送信する処理を行なう。
【0128】
機能付加装置450はさらに、第2のパケット受信処理部462の第1の出力に接続された入力を持ち、第2のパケット受信処理部462からSNMP応答のパケットを受信し、パケットを解析してネットワーク機器466のネットワーク情報を取得し、取得した情報をネットワーク機器情報保存領域452に保存するためのSNMP応答解析処理部464を含む。
【0129】
図11は、第1のパケット受信処理部456の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図11を参照して、ステップ480において、第1のパケット受信処理部456は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ482に進み、それ以外であればステップ480に戻る。
【0130】
ステップ482において、第1のパケット受信処理部456は、受信したパケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されているか、そうでないかを判定する。判定結果がYESであればステップ484に進み、それ以外であれば、ステップ488に進む。
【0131】
ステップ484において、パケットがSLPリクエストか、そうでないかを判定する。判定結果がYESであればステップ486に進み、それ以外であればステップ488に進む。
【0132】
ステップ486において、第1のパケット受信処理部456は、ネットワーク機器情報保存領域452を参照し、ネットワーク機器466の情報を取得してSLP応答のためのパケットを生成する。第1のパケット受信処理部456はさらに、生成したパケットを第2のネットワークインタフェース208を介して、SLPリクエストを送信してきたネットワーク端末に送信し、ステップ480に戻る。
【0133】
一方、ステップ488においては、パケットを第1のネットワークインタフェース206に送信し、ステップ480に戻る。すなわち、受信されたパケットの送信先IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されていない場合、及び登録されていてもそのパケットがSLPリクエストではない場合には、何もせず当該パケットを第1のネットワークインタフェース206からネットワーク機器466に送信する。
【0134】
図12は、第2のパケット受信処理部462の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図12を参照して、ステップ500において、第2のパケット受信処理部462は、第1のネットワークインタフェース206からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ502に進み、それ以外であればステップ500に戻る。
【0135】
ステップ502において、第2のパケット受信処理部462は、パケットの送信元IPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されているか、そうでないかを判定する。判定結果がYESであればステップ504に進み、それ以外であればステップ506に進む。
【0136】
ステップ506においては、受信パケットの送信元IPアドレス及びMACアドレスを送信先端末情報保存領域264に記憶させ、ステップ504に進む。
【0137】
ステップ504においては、パケットがSNMP応答であるか、そうでないか判定される。判定結果がYESであれば制御はステップ508に進み、それ以外であればステップ510に進む。
【0138】
ステップ508において、第2のパケット受信処理部462は、パケットをSNMP応答解析処理部464に送信し、ステップ500に戻る。一方、ステップ510においては、第2のパケット受信処理部462は、パケットを第2のネットワークインタフェース208に送信し、ステップ500に戻る。
【0139】
<動作>
以上構成を説明した機能付加装置450は以下のように動作する。
【0140】
図10を参照して、最初はネットワーク機器情報保存領域452及び送信先端末情報保存領域264には何の情報も保存されていないものとする。また、第1のネットワークインタフェース206にもネットワーク機器が接続されていないものとする。ネットワーク機器466が第1のネットワークインタフェース206に接続されると、リンク監視部254が第1のネットワークインタフェース206とネットワーク機器466とのリンクが切断されたか否かに関する監視を開始する。
【0141】
図13は、図10に示すネットワーク回線108に接続されたネットワーク端末104が、機能付加装置100を介して、ネットワーク機器466をあて先としてSLP通信を行なうときのシーケンス図である。
【0142】
図13を参照して、先ず、矢印520により示されるように、ネットワーク端末104からネットワーク機器466へ、何らかのパケット、例えばARPリクエストが送信される。
【0143】
図10を参照して、ネットワーク端末104から送信されたARPリクエストのパケットは、第2のネットワークインタフェース208を介して、第1のパケット受信処理部456で受信される。この状態では、送信先端末情報保存領域264には、パケットの送信先IPアドレス及びMACアドレスがまだ記憶されていない(図11、ステップ482においてNO)。したがって、第1のパケット受信処理部456はこのパケットを第1のネットワークインタフェース206を介して、ネットワーク機器466に送信する(図11、ステップ488)。
【0144】
図13を参照して、矢印522により示されるように、ネットワーク機器466が、ネットワーク端末104に、ネットワーク機器466のMACアドレスの情報を付与したARP応答を返す。このとき、図10を参照して、ARP応答は先ず、ネットワーク機器466から第1のネットワークインタフェース206を介して、第2のパケット受信処理部462で受信される。第2のパケット受信処理部462は送信先端末情報保存領域264を参照して、ARP応答のパケットの送信元IPアドレス及びMACアドレスが記憶されているかどうかを確認する。現状では、何も登録されていない(図12、ステップ502においてNO)ので、送信先端末情報保存領域264にパケットの送信元IPアドレス及びMACアドレスを登録する(図12、ステップ506)。このパケット(ARP応答)はSNMP応答パケットではないので(図12、ステップ504においてNO)、第2のパケット受信処理部462は、このARP応答のパケットを第2のネットワークインタフェース208に与え(図12、ステップ510)、その結果、このパケットはネットワーク端末104に到達する。
【0145】
ARP応答が機能付加装置450を通過するとき、送信先端末情報保存領域264にネットワーク機器466のIPアドレス及びMACアドレスが記憶された(図12、ステップ506)ので、それをSNMPリクエスト送信処理部458が検知する。そのため、SNMPリクエスト送信処理部458は、ネットワーク機器466の情報を取得するためのSNMPリクエストのパケットを生成し、矢印524で示すように、第1のネットワークインタフェース206を介して、ネットワーク機器466に送信する。
【0146】
図13を参照して、このSNMPリクエストに応答して、矢印526により示されるように、ネットワーク機器466から機能付加装置450に対し、SNMP応答パケットが送信される。図10を参照して、SNMP応答のためのパケットは、第1のネットワークインタフェース206から第2のパケット受信処理部462に与えられる。既にネットワーク機器466のIPアドレス及びMACアドレスが送信先端末情報保存領域264に登録されている(図12、ステップ502においてYES)ため、第2のパケット受信処理部462は、受信パケットがSNMP応答か否かを判定する(図12、ステップ504)。受信パケットがSNMP応答であるため(ステップ504においてYES)、第2のパケット受信処理部462は、このSNMP応答パケットをSNMP応答解析処理部464に送信する。SNMP応答解析処理部464は、このSNMP応答のパケットを解析してネットワーク機器466の情報を取得する。取得した情報はネットワーク機器情報保存領域452に記憶される。
【0147】
図13を参照して、ネットワーク回線108上のネットワーク端末104が、矢印528により示されるようにネットワーク機器466と、SLPポートでTCP接続を開始するものとする。機能付加装置450の第2のネットワークインタフェース208がこのパケットを受信する。
【0148】
機能付加装置450の第2のネットワークインタフェース208は、矢印530で示されるように、TCP接続に対する応答をネットワーク端末104にパケット送信する。これに対し、ネットワーク端末104は矢印532で示されるようにネットワーク機器466をあて先としてTCP応答確認のためのパケットを送信する。このようにして、ネットワーク端末104は、ネットワーク機器466との間でSLPポートでのTCP接続を確立したと認識する。
【0149】
ネットワーク端末104は、図13の矢印534により示すように、ネットワーク機器466をあて先としてSLPリクエストを送信する。このSLPリクエストのあて先はネットワーク機器466であるが、機能付加装置450の第1のパケット受信処理部456(図10参照)がこのSLPリクエストに応答し、ネットワーク機器情報保存領域452からネットワーク機器466の機器情報を読出し、矢印536により示すように、ネットワーク端末104にSLP応答のパケットを送信する。SLP応答のパケットは第2のネットワークインタフェース208、及びネットワーク回線108を介して、ネットワーク端末104に到達する。
【0150】
なお、SLP通信はTCPだけでなくUDPでも可能であり、この場合、ステップ528、ステップ530及びステップ532が不要となる。
【0151】
<第2の実施の形態効果>
本実施の形態に係る機能付加装置450を使用することにより、SLPには対応していないネットワーク機器466が、ネットワーク端末104からのSLPリクエストに対して応答することができる。実際にはこの応答は機能付加装置450が行なっているが、ネットワーク端末104から見るとネットワーク機器466が応答をしているように見える。したがってネットワーク端末104としては、SLP通信を使用することによって、SLPに対応していないネットワーク機器466のネットワーク情報を取得することができる。この際、ネットワーク機器466には独自のIPアドレスを割当てることは不要であり、ユーザは、機能付加装置450、ネットワーク機器466、及びネットワーク端末104に対して、予め何らかの設定をする必要がない。したがって機能付加装置450は、あらゆるレベルの需要者ニーズに対応することができる。さらに、IPv6を採用した、ブロードキャストが使用されないネットワークに、SLPに対応していないネットワーク機器を接続し、他のネットワーク端末から利用させることが可能になる。
【0152】
[第3の実施の形態]
<構成>
図14に、本発明の第3の実施の形態に係る機能付加装置550の機能ブロック図を示す。この機能付加装置550も、第1及び第2の実施の形態と同様、対象となる機器とネットワーク回線との間に設置される。なお、以下の説明では、機能付加装置550にネットワーク機器560が接続されるものとして説明する。
【0153】
図14を参照して、機能付加装置550は、第1のネットワークインタフェース206及び第2のネットワークインタフェース208と、ネットワーク回線108に接続されたネットワーク端末からネットワーク機器560をあて先として送信されたパケットのうち、破棄すべきものを特定する条件であるフィルタ情報を記憶するためのフィルタ情報保存領域552と、第2のネットワークインタフェース208からパケットを受信するように接続され、フィルタ情報保存領域552に保存された条件に合致するパケットを破棄し、それ以外のパケットを第1のネットワークインタフェース206を介してネットワーク機器560に送信するための第1のパケット受信処理部554と、第1のネットワークインタフェース206からパケットを受信するように接続され、フィルタ情報保存領域552に保存された条件に合致するパケットは破棄し、それ以外のパケットはそのまま第2のネットワークインタフェース208に送信するための第2のパケット受信処理部556とを含む。
【0154】
本実施の形態に係る機能付加装置550では、フィルタ情報保存領域552はパケットのポート番号、IPアドレス、及びMACアドレスを記憶している。第1のパケット受信処理部554は、第2のネットワークインタフェース208から受信したパケットのポート番号、IPアドレス、及びMACアドレスのどれか一つが、フィルタ情報保存領域552に記憶されているポート番号、IPアドレス、及びMACアドレスのどれかと一致するかどうかを判定し、一致するものが存在すればパケットを破棄し、いずれとも一致しなければパケットを第1のネットワークインタフェース206に送信する。第2のパケット受信処理部556の機能も第1のパケット受信処理部554と同様である。
【0155】
なお、このフィルタリング処理を行なうかどうかは、ユーザが予め定めることができる。
【0156】
図15は、第1のパケット受信処理部554の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図15を参照して、ステップ570において、第1のパケット受信処理部554は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ572に進み、それ以外であればステップ570に戻る。
【0157】
ステップ572において、第1のパケット受信処理部554は、受信したパケットのポート番号、IPアドレス、及びMACアドレスのどれか一つがフィルタ情報保存領域552に記憶されているものと一致するか否かを判定する。判定結果がYESであればステップ574に進み、それ以外であればステップ576に進む。
【0158】
ステップ574において、第1のパケット受信処理部554は受信パケットを破棄し、ステップ570に戻る。
【0159】
一方、ステップ576においては、第1のパケット受信処理部554は受信パケットを第1のネットワークインタフェース206に送信し、ステップ570に戻る。
【0160】
<動作>
以上、構成を説明した機能付加装置550は以下のように動作する。図14を参照して、ネットワーク回線108に接続されたネットワーク端末104からネットワーク機器560に何らかのパケットを送信したものとする。フィルタ情報保存領域552には、予め、破棄するための複数のポート番号、IPアドレス、及びMACアドレスが記憶されているものとする。
【0161】
ネットワーク端末104から送信されたパケットはネットワーク回線108、及び第2のネットワークインタフェース208を介して、第1のパケット受信処理部554に到達する。第1のパケット受信処理部554は、受信したパケットのポート番号、IPアドレス、及びMACアドレスのどれか一つがフィルタ情報保存領域552に記憶されているものと一致するか否かを判定する。記憶されていれば(図15、ステップ572においてYES)、第1のパケット受信処理部554は受信したパケットを破棄し(ステップ574)、そうでなければ(ステップ572においてNO)パケットを第1のネットワークインタフェース206に送信する(ステップ576)。第1のネットワークインタフェース206は、パケットをネットワーク機器560に送信し、パケットは通信線110を介してネットワーク機器560に到達する。
【0162】
ネットワーク機器560は、受信したパケットが自分あてのものであるから、このパケットに対して何らかの処理を行ない、応答パケットを生成して、ネットワーク端末104に向けて、応答パケットを送信する。このパケットは通信線110及び第1のネットワークインタフェース206を介して第2のパケット受信処理部556で受信される。
【0163】
第2のパケット受信処理部556は、受信したパケットのポート番号、IPアドレス、及びMACアドレスが、フィルタ情報保存領域552に記憶されているポート番号、IPアドレス、及びMACアドレスのいずれかと一致する、という条件が満たされているか否かを判定する。条件が満たされていれば、第2のパケット受信処理部556はこのパケットを破棄し、さもなければこのパケットを第2のネットワークインタフェース208に送信する。第2のネットワークインタフェース208はこのパケットをネットワーク回線108上に送信する。その結果、応答パケットはネットワーク端末104に到達する。
【0164】
<第3の実施の形態の効果>
本実施の形態に係る機能付加装置550を使用することにより、機能付加装置550はネットワーク機器560にとって不正なポート番号、IPアドレス、又はMACアドレスを有するパケットを破棄することができる。したがって、上記のフィルタリング処理によって、十分なセキュリティ機能を備えていないネットワーク機器560を不正なアクセスから保護することができる。
【0165】
なお、この実施の形態では、ネットワーク機器560あてのパケットだけではなく、ネットワーク機器560からのパケットについてもフィルタリング処理を行なっている。しかし本発明はそのような実施の形態には限定されない。第1のパケット受信処理部554と第2のパケット受信処理部556のいずれか一方のみを採用するようにしてもよい。
【0166】
また、本実施の形態では、パケットがある条件を満たしている場合に当該パケットを破棄するようにし、他のパケットを中継するようにしているが、本発明はそのような実施の形態には限定されない。例えば、パケットがある条件を満たしているときには当該パケットを中継するが、それ以外の場合にはパケットを破棄するようにしてもよい。
【0167】
[第4の実施の形態]
<構成>
図16に、本発明の第4の実施の形態に係る機能付加装置600の機能ブロック図を示す。機能付加装置600のネットワーク環境は、図1に示すネットワーク環境とほぼ同様である。また、機能付加装置600のハードウェア構成は、図2に示すハードウェア構成とほぼ同様である。
【0168】
本実施の形態に係る機能付加装置600は、機能付加装置600が外部から受信したパケットの宛先ポート番号を、機能付加装置600に接続されたネットワーク機器で使用するポート番号に変換し、逆に機能付加装置600に接続されたネットワーク機器から送信される送信元ポート番号に対して受信時と逆の変換を行なう機能を持つ。
【0169】
図16を参照して、機能付加装置600は、第1のネットワークインタフェース206及び第2のネットワークインタフェース208を含む。第1のネットワークインタフェース206にはネットワーク機器が接続され、第2のネットワークインタフェース208はネットワーク回線108に接続される。以下の説明では、第1のネットワークインタフェース206に接続されるネットワーク機器がネットワーク機器610であるものとする。
【0170】
機能付加装置600はさらに、ネットワーク回線108に接続されたネットワーク端末の間で使用されるポート番号と、ネットワーク機器610で動作するアプリケーション(サービス)が使用するポート番号との間の対応付けを記憶したポート番号変換情報保存領域602と、第2のネットワークインタフェース208からパケットを受信して、受信パケットのポート番号を、ポート番号変換情報保存領域602に保存された対応付けにしたがってネットワーク機器610のアプリケーション用のポート番号に置換し、更新されたパケットを第1のネットワークインタフェース206に送信するための第1のパケット受信処理部604と、第1のネットワークインタフェース206からパケットを受信して、受信パケットのポート番号を、ポート番号変換情報保存領域602に保存された対応付けにしたがって外部のネットワーク機器用のポート番号に戻して、更新されたパケットを第2のネットワークインタフェース208に送信するための第2のパケット受信処理部606とを含む。
【0171】
テーブル1に、ポート番号変換情報保存領域602に記憶される情報の例を示し、テーブル1を参照してこの情報の詳細について説明する。
【0172】
【表1】
このテーブル1は、外部ポート番号と、内部ポート番号との対からなるエントリを複数個格納している。
【0173】
外部ポート番号とは、ここでは、ネットワーク回線108に接続されたネットワーク端末から見たときにネットワーク機器610が提供するサービスが使用しているポート番号のように見えるポート番号のことをいう。つまり、外部ポート番号とは、第1のパケット受信処理部604によって変換される前のポート番号のことである。一方、内部ポート番号とは、ネットワーク機器610が提供しているサービスで使用しているポート番号である。
【0174】
内部ポート番号とは、第2のパケット受信処理部606が置換対象とするポート番号でもある。すなわち、第2のパケット受信処理部606は、ネットワーク機器610から送信されたパケットを第1のネットワークインタフェース206から受け取り、そのポート番号(内部ポート番号)を、テーブル1を参照して対応する外部ポート番号に変換し、更新後のパケットをネットワーク上に送出する機能を持つ。
【0175】
なお、本実施の形態では、外部から受信したパケットのうち、テーブル1の外部ポート番号にないポート番号を持つパケットは第1のパケット受信処理部604により破棄される。同様に、ネットワーク機器610が出力したパケットのうち、ポート番号変換情報保存領域602に保持されている内部ポート番号以外のポート番号を持つパケットも第2のパケット受信処理部606により破棄される。したがって、外部から直接に内部ポート番号を指定してパケットをネットワーク機器610あてに送信しても、その内部ポート番号と一致する外部ポート番号がテーブル1にない限り、第1のパケット受信処理部604によってそのパケットは破棄されてしまう。指定されたポート番号が、たまたまテーブル1内の外部ポート番号と一致しても、そのポート番号は当初の番号と全く異なるポート番号に変換されてネットワーク機器610に送信される。そのため、テーブル1の内容を知らない限り、所望のサービスをネットワーク機器610から受けることはできない。
【0176】
図17は、第1のパケット受信処理部604の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図17を参照して、ステップ620において、第1のパケット受信処理部604は、第2のネットワークインタフェース208からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ622に進み、それ以外であればステップ620に戻る。
【0177】
ステップ622において、第1のパケット受信処理部604は、ポート番号変換情報保存領域602を参照して、受信したパケットの宛先ポート番号が、テーブル1に示す外部ポート番号の欄に存在するか、そうでないかを判定する。判定結果がYESであればステップ624に進み、それ以外であればステップ628に進む。
【0178】
ステップ628において、第1のパケット受信処理部604は受信パケットを破棄し、ステップ620に戻る。
【0179】
ステップ624において、パケットの宛先ポート番号が、対応する内部ポート番号に置換される。制御はステップ626に進む。
【0180】
ステップ626において、このパケットを第1のネットワークインタフェース206に送信する。制御はステップ620に戻る。
【0181】
図18は、第2のパケット受信処理部606の機能をコンピュータプログラムで実現する際の、プログラムの制御構造を示すフローチャートである。図18を参照して、ステップ640において、第2のパケット受信処理部606は、第1のネットワークインタフェース206からパケットを受信したか、そうでないかを判定する。判定結果がYESであればステップ642に進み、それ以外であればステップ640に戻る。
【0182】
ステップ642において、第2のパケット受信処理部606は、ポート番号変換情報保存領域602を参照して、受信したパケットの送信元ポート番号が、テーブル1に示す内部ポート番号の欄に存在するか、そうでないかを判定する。判定結果がYESであればステップ644に進み、それ以外であればステップ648に進む。
【0183】
ステップ648において、第2のパケット受信処理部606は受信パケットを破棄し、ステップ640に戻る。
【0184】
ステップ644において、パケットの送信元ポート番号が、ステップ642において一致した内部ポート番号に対応する外部ポート番号に変換される。制御はステップ646に進む。
【0185】
ステップ646において、パケットは第2のネットワークインタフェース208に送信される。この後、制御はステップ640に戻る。
【0186】
<動作>
以上構成を説明した機能付加装置600は以下のように動作する。図16を参照して、ネットワーク回線108に接続されたネットワーク端末104からネットワーク機器610へ、パケット送信を行ない、ネットワーク機器610から送信元のネットワーク端末104に応答が返るときの、機能付加装置600の動作について説明する。ポート番号変換情報保存領域602には、予め、テーブル1に示すように外部ポート番号と内部ポート番号とからなる複数のエントリが記憶されているものとする。
【0187】
図16を参照して、ネットワーク端末104から送信されたパケットはネットワーク回線108、及び第2のネットワークインタフェース208を介して、第1のパケット受信処理部604に到達する。
【0188】
第1のパケット受信処理部604は、ポート番号変換情報保存領域602を参照し、受信したパケットの宛先ポート番号が変換対象のものであればポート番号を変換して第1のネットワークインタフェース206に送信する。変換対象でなければ、パケットは破棄される。
【0189】
第1のネットワークインタフェース206は、受信したパケットをネットワーク機器610に向けて送信する。パケットは通信線110を介して、ネットワーク機器610に到達する。
【0190】
ネットワーク機器610は、受信したパケットの送信先IPアドレスが自分のIPアドレスであり、ポート番号が自己の提供するアプリケーションサービスのポート番号に一致していれば、そのサービスを実行して、受信したパケットと同じポート番号を送信元ポート番号に持つ応答パケットを生成して、ネットワーク端末104に向けて送信する。応答パケットは通信線110、及び第1のネットワークインタフェース206を介して第2のパケット受信処理部606に到達する。一方、受信パケットの送信先IPアドレスがネットワーク機器610のIPアドレスと一致しないか、一致してもネットワーク機器610の提供するアプリケーションサービスのポート番号と一致していなければ、ネットワーク機器610は何もしない。
【0191】
第2のパケット受信処理部606は、ポート番号変換情報保存領域602を参照し、受信したパケットの送信元ポート番号が内部ポート番号の欄に存在するかどうかを判定する。存在すれば、受信パケットの送信元ポート番号を、対応する外部ポート番号に変換し、第2のネットワークインタフェース208に送信する。存在しなければ、パケットは破棄される。
【0192】
このようにして、ネットワーク機器610から送信されたパケットは、第2のネットワークインタフェース208、及びネットワーク回線108を介して、ネットワーク端末104に到達する。
【0193】
例えば、外部のネットワーク端末からネットワーク機器610に向けて送信されたパケットの宛先ポート番号が「62947」であるものとする。テーブル1を参照して、外部ポート番号には「62947」があるので、第1のパケット受信処理部604は受信パケットの宛先ポート番号を、対応する内部ポート番号である「443」に変換する。そのようにして更新されたパケットが、ネットワーク機器610に送信される。ネットワーク機器610がHTTPS通信の可能な機器であり、かつネットワーク機器610内にWWWサーバが起動していれば、このパケットに対する応答としてWWWサーバがHTTPS応答パケットを出力することになる。
【0194】
この場合、応答パケットの送信元ポート番号はやはり443である。第2のパケット受信処理部606は、この内部ポート番号「443」に対応する外部ポート番号「62947」をテーブル1から見出し、この値で送信元ポート番号を置換して、更新後のパケットを第2のネットワークインタフェース208を介して外部に送信する。外部のネットワーク端末は、このパケットを受信して、所定の処理をする。ネットワーク端末が最初に送信したパケットの宛先ポート番号も「62947」であったから、このネットワーク端末では送信したパケットと受信したパケットとの対応をとることができる。
【0195】
一方、外部のネットワーク端末が、例えばポート番号=443のパケットをネットワーク機器610に向けて送信したものとする。機能付加装置600の第1のパケット受信処理部604は、外部ポート番号=443がテーブル1にないため、このパケットを破棄する。したがって外部のネットワーク端末がネットワーク機器610によるHTTPS通信のサービスを受けることはできない。
【0196】
このようにポート番号を内部と外部とで置換することによって、実際はネットワーク機器610が提供するポート番号が一般的なものと同じであるにもかかわらず、外部からはネットワーク機器610が提供するサービスのポート番号は特殊な番号であるように見える。したがって、外部からは、このネットワーク機器610の提供するサービスがどのようなものであるか、又は、どのようなポート番号でどのプロトコルによってアクセスすればサービスを受けられるかを知ることができない。その結果、ネットワーク機器610に十分なセキュリティ機能が備わっていない場合、機能付加装置600によってそのセキュリティを高めることができる。
【0197】
<第4の実施の形態の効果>
以上のように本実施の形態に係る機能付加装置600を使用することにより、ネットワーク回線108に接続されているネットワーク端末からネットワーク機器610のサービス内容を知る目的、又は不正なアクセスをする目的で、一般的に使用されるポート番号を使用してネットワーク機器610にアクセスしようとしても、容易にはアクセスできない。また、ネットワーク機器610においてどのようなサービスがどのようなポート番号で提供されているかを知ることも難しくなる。その結果、十分なセキュリティ機能を持たないネットワーク機器のセキュリティ機能を、機能付加装置600によって高めることが可能となる。
【0198】
なお、第1〜第4の実施の形態の動作で説明したネットワーク端末104及びネットワーク端末106は、PCでなければならないわけではなく、どんなネットワーク端末であっても良い。
【0199】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。
【図面の簡単な説明】
【0200】
【図1】本発明の第1の実施の形態に係る機能付加装置100のネットワーク環境を示す図である。
【図2】本発明の第1の実施の形態に係る機能付加装置100のハードウェア構成を示す図である。
【図3】本発明の第1の実施の形態に係る機能付加装置100の概略の機能的構成を示すブロック図である。
【図4】図3の第1のパケット受信処理部250を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図5】図3のリンク監視部254を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図6】図3の第2のパケット受信処理部256を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図7】図3のHTTP/HTTPSエンコード処理部258を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図8】本発明の第1の実施の形態に係る機能付加装置100において、HTTP通信を行なうときのシーケンスを示す図である。
【図9】本発明の第1の実施の形態に係る機能付加装置100において、HTTPS通信を行なうときのシーケンスを示す図である。
【図10】本発明の第2の実施の形態に係る機能付加装置450の概略の機能的構成を示すブロック図である。
【図11】図10の第1のパケット受信処理部456を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図12】図10の第2のパケット受信処理部462を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図13】本発明の第2の実施の形態に係る機能付加装置450において、SLP通信によりネットワーク機器の情報を取得する処理のシーケンスを示す図である。
【図14】本発明の第3の実施の形態に係る機能付加装置550の概略の機能的構成を示すブロック図である。
【図15】図14の第1のパケット受信処理部554を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図16】本発明の第4の実施の形態に係る機能付加装置600の概略の機能的構成を示すブロック図である。
【図17】図16の第1のパケット受信処理部604を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【図18】図16の第2のパケット受信処理部606を実現するコンピュータプログラムの制御構造を示すフローチャートである。
【符号の説明】
【0201】
90 ネットワーク
100,450,550,600 機能付加装置
104,106 ネットワーク端末
108 ネットワーク回線
110 通信線
206 第1のネットワークインタフェース
208 第2のネットワークインタフェース
250,456,554,604 第1のパケット受信処理部
252 HTTP/HTTPSデコード処理部
254 リンク監視部
256,462,556,606 第2のパケット受信処理部
258 HTTP/HTTPSエンコード処理部
260 送信元端末情報保存領域
262 証明書情報保存領域
264 送信先端末情報保存領域
452 ネットワーク機器情報保存領域
458 SNMPリクエスト送信処理部
464 SNMP応答解析処理部
552 フィルタ情報保存領域
602 ポート番号変換情報保存領域
【特許請求の範囲】
【請求項1】
第1のネットワーク上の端末との間でパケットを送受信するための第1のパケット送受信手段と、
第2のネットワーク上の端末との間でパケットを送受信するための第2のパケット送受信手段と、
前記第1のパケット送受信手段及び前記第2のパケット送受信手段を用い、前記第1のネットワーク上の端末と、前記第2のネットワーク上の端末との間で、各パケットの送信元端末のアドレス情報及び送信先端末のアドレス情報を変更せずにパケットを中継するためのパケット中継手段と、
前記パケット中継手段が受信したパケットのうち、特定の条件を充足するものに対し、予め定める処理を行なうための第1のパケット処理手段とを含み、
それによって、前記第1のネットワーク上の端末に、前記予め定める処理による機能を付加する、機能付加装置。
【請求項2】
前記第1のパケット処理手段は、
前記第1のパケット送受信手段が前記第1のネットワーク上の端末から受信したパケットから送信元端末のアドレス情報を抽出し記憶するためのアドレス記憶手段と、
前記パケット中継手段により前記第2のネットワークから前記第1のネットワークに中継されるパケットのうち、前記アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持つパケットに対して、前記予め定める処理を行なうための第2のパケット処理手段とを含む、請求項1に記載の機能付加装置。
【請求項3】
前記第2のパケット処理手段は、前記パケット中継手段が前記第2のパケット送受信手段から受信した、前記第2のネットワーク上の端末からのパケットのうち、前記アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持ち、かつ特定の第1のプロトコルによる通信のためのパケットに対し、当該パケットを特定の第2のプロトコルによる通信のためのパケットに変換するための第1のプロトコル変換手段を含む、請求項2に記載の機能付加装置。
【請求項4】
前記第2のパケット処理手段はさらに、
前記パケット中継手段が前記第2のパケット送受信手段から受信した、前記第2のネットワーク上の端末からのパケットから、当該パケットの送信元端末及び送信元アプリケーションを特定するための送信元特定情報を抽出し記憶するための送信元特定情報記憶手段と、
前記パケット中継手段が前記第1のパケット送受信手段から受信した、前記第1のネットワーク上の端末からの、前記第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、前記送信元特定情報記憶手段に記憶された前記送信元特定情報と一致するときに、当該パケットを前記第1のプロトコルを用いた通信のためのパケットに変換するための第2のプロトコル変換手段とを含む、請求項3に記載の機能付加装置。
【請求項5】
前記第1のプロトコルは、アドレス情報から作成される電子的な自己署名証明書を用いて暗号化されたパケットで通信を行なうためのプロトコルであり、前記第2のプロトコルは暗号化されないパケットで通信を行なうためのプロトコルであり、
前記機能付加装置はさらに、受信したパケットの送信元アドレス情報を用いて前記電子的な自己署名証明書を作成し、記憶するための証明書記憶手段を含み、
前記第2のプロトコル変換手段は、前記パケット中継手段が前記第1のパケット送受信手段から受信した、前記第1のネットワーク上の端末からの、前記第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、前記送信元特定情報記憶手段により記憶された送信元特定情報と一致するときに、当該パケットを、前記証明書記憶手段に記憶された前記電子的な自己署名証明書を用いて暗号化することにより、前記第1のプロトコルによる通信のためのパケットに変換するための手段を含む、請求項4に記載の機能付加装置。
【請求項6】
前記第1のプロトコルはHTTPS(HyperText Transfer Protocol Security)であり、前記第2のプロトコルはHTTP(HypterText Transfer Protocol)である、請求項5に記載の機能付加装置。
【請求項7】
さらに、前記第1のパケット送受信手段に接続され、前記第1のネットワーク上の端末とのリンクが失われたことを検知して、前記アドレス記憶手段に記憶された、当該端末のアドレス情報を削除するための監視手段を含む、請求項2に記載の機能付加装置。
【請求項8】
前記第2のパケット処理手段は、
前記アドレス記憶手段に何らかのアドレス情報が新たに記憶されたことに応答して、ネットワーク機器に関する情報を問合せるための第1のプロトコルの問合せパケットを生成し前記アドレス記憶手段に新たに記憶されたアドレス情報を送信先アドレス情報として、前記第1のパケット送受信手段を介して前記第1のネットワーク上に送出するためのパケット送信手段と、
前記問合せパケットに対する応答パケットを前記第1のパケット送受信手段から受信したことに応答して、当該パケットに含まれるネットワーク機器に関する情報を記憶するためのネットワーク機器情報記憶手段と、
前記第2のネットワーク上から前記アドレス記憶手段に記憶されたアドレス情報を送信先として、ネットワーク機器に関する情報を問合せるための第2のプロトコルの問合せパケットを受信したことに応答して、前記ネットワーク機器情報記憶手段に記憶された前記ネットワーク機器に関する前記情報を含み、前記アドレス記憶手段に記憶されたアドレス情報を送信元アドレス情報として持ち、前記第2のプロトコルの問合せパケットの送信元端末を送信先として持つ前記第2のプロトコルの応答パケットを生成し、前記第2のパケット送受信手段を介して前記第2のネットワークに送出するための手段とを含む、請求項2に記載の機能付加装置。
【請求項9】
前記第1のパケット処理手段は、
前記第2のネットワークから前記第1のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶するための条件記憶手段と、
前記第2のパケット送受信手段が前記第2のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを前記第1のパケット送受信手段を介して前記第1のネットワークに中継するための手段とを含む、請求項1に記載の機能付加装置。
【請求項10】
前記条件記憶手段はさらに、前記第1のネットワークから前記第2のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶し
前記第1のパケット処理手段はさらに、前記第1のパケット送受信手段が前記第1のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを前記第2のパケット送受信手段を介して前記第2のネットワークに中継するための手段を含む、請求項9に記載の機能付加装置。
【請求項11】
前記第1のパケット処理手段は、
前記第2のネットワークから前記第1のネットワークへの中継が許可されるパケットが満たすべき条件を記憶するための条件記憶手段と、
前記第2のパケット送受信手段が前記第2のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを前記第1のパケット送受信手段を介して前記第1のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段とを含む、請求項1に記載の機能付加装置。
【請求項12】
前記条件記憶手段はさらに、前記第1のネットワークから前記第2のネットワークへの中継が許可されるパケットが満たすべき条件を記憶し
前記第1のパケット処理手段はさらに、前記第1のパケット送受信手段が前記第1のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを前記第2のパケット送受信手段を介して前記第2のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段を含む、請求項11に記載の機能付加装置。
【請求項13】
各パケットは、送信先端末で当該パケットを処理すべきアプリケーションを特定するアプリケーション特定情報を含み、
前記第1のパケット処理手段は、前記アプリケーション特定情報の複数の対を記憶したアプリケーション特定情報変換テーブルを記憶するためのテーブル記憶手段を含み、前記複数の対の各々は、第1のアプリケーション特定情報と、第2のアプリケーション特定情報とを含み、
前記第1のパケット処理手段はさらに、
前記第2のネットワーク送受信手段から受信した前記第2のネットワークからのパケットの前記アプリケーション特定情報と一致する前記第2のアプリケーション特定情報を前記テーブル記憶手段内で検索し、検索された前記第2のアプリケーション特定情報と対になっている前記第2のアプリケーション特定情報で前記パケット内の前記アプリケーション特定情報を置換するための手段を含む、請求項1に記載の機能付加装置。
【請求項14】
前記第1のパケット処理手段はさらに、
前記第1のネットワーク送受信手段から受信した前記第1のネットワークからのパケットの前記アプリケーション特定情報と一致する前記第1のアプリケーション特定情報を前記テーブル記憶手段内で検索し、検索された前記第1のアプリケーション特定情報と対になっている前記第2のアプリケーション特定情報で前記パケット内の前記アプリケーション特定情報を置換するための手段を含む、請求項13に記載の機能付加装置。
【請求項15】
前記第1のパケット処理手段はさらに、前記第2のネットワーク送受信手段から受信した前記第2のネットワークからのパケットの前記アプリケーション特定情報と一致する前記第2のアプリケーション特定情報が前記テーブル記憶手段内になかったことに応答し、当該パケットを破棄するための手段を含む、請求項13又は請求項14に記載の機能付加装置。
【請求項1】
第1のネットワーク上の端末との間でパケットを送受信するための第1のパケット送受信手段と、
第2のネットワーク上の端末との間でパケットを送受信するための第2のパケット送受信手段と、
前記第1のパケット送受信手段及び前記第2のパケット送受信手段を用い、前記第1のネットワーク上の端末と、前記第2のネットワーク上の端末との間で、各パケットの送信元端末のアドレス情報及び送信先端末のアドレス情報を変更せずにパケットを中継するためのパケット中継手段と、
前記パケット中継手段が受信したパケットのうち、特定の条件を充足するものに対し、予め定める処理を行なうための第1のパケット処理手段とを含み、
それによって、前記第1のネットワーク上の端末に、前記予め定める処理による機能を付加する、機能付加装置。
【請求項2】
前記第1のパケット処理手段は、
前記第1のパケット送受信手段が前記第1のネットワーク上の端末から受信したパケットから送信元端末のアドレス情報を抽出し記憶するためのアドレス記憶手段と、
前記パケット中継手段により前記第2のネットワークから前記第1のネットワークに中継されるパケットのうち、前記アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持つパケットに対して、前記予め定める処理を行なうための第2のパケット処理手段とを含む、請求項1に記載の機能付加装置。
【請求項3】
前記第2のパケット処理手段は、前記パケット中継手段が前記第2のパケット送受信手段から受信した、前記第2のネットワーク上の端末からのパケットのうち、前記アドレス記憶手段に記憶されたアドレス情報を送信先端末のアドレス情報として持ち、かつ特定の第1のプロトコルによる通信のためのパケットに対し、当該パケットを特定の第2のプロトコルによる通信のためのパケットに変換するための第1のプロトコル変換手段を含む、請求項2に記載の機能付加装置。
【請求項4】
前記第2のパケット処理手段はさらに、
前記パケット中継手段が前記第2のパケット送受信手段から受信した、前記第2のネットワーク上の端末からのパケットから、当該パケットの送信元端末及び送信元アプリケーションを特定するための送信元特定情報を抽出し記憶するための送信元特定情報記憶手段と、
前記パケット中継手段が前記第1のパケット送受信手段から受信した、前記第1のネットワーク上の端末からの、前記第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、前記送信元特定情報記憶手段に記憶された前記送信元特定情報と一致するときに、当該パケットを前記第1のプロトコルを用いた通信のためのパケットに変換するための第2のプロトコル変換手段とを含む、請求項3に記載の機能付加装置。
【請求項5】
前記第1のプロトコルは、アドレス情報から作成される電子的な自己署名証明書を用いて暗号化されたパケットで通信を行なうためのプロトコルであり、前記第2のプロトコルは暗号化されないパケットで通信を行なうためのプロトコルであり、
前記機能付加装置はさらに、受信したパケットの送信元アドレス情報を用いて前記電子的な自己署名証明書を作成し、記憶するための証明書記憶手段を含み、
前記第2のプロトコル変換手段は、前記パケット中継手段が前記第1のパケット送受信手段から受信した、前記第1のネットワーク上の端末からの、前記第2のプロトコルによる通信のためのパケットの送信先端末及び送信先アプリケーションが、前記送信元特定情報記憶手段により記憶された送信元特定情報と一致するときに、当該パケットを、前記証明書記憶手段に記憶された前記電子的な自己署名証明書を用いて暗号化することにより、前記第1のプロトコルによる通信のためのパケットに変換するための手段を含む、請求項4に記載の機能付加装置。
【請求項6】
前記第1のプロトコルはHTTPS(HyperText Transfer Protocol Security)であり、前記第2のプロトコルはHTTP(HypterText Transfer Protocol)である、請求項5に記載の機能付加装置。
【請求項7】
さらに、前記第1のパケット送受信手段に接続され、前記第1のネットワーク上の端末とのリンクが失われたことを検知して、前記アドレス記憶手段に記憶された、当該端末のアドレス情報を削除するための監視手段を含む、請求項2に記載の機能付加装置。
【請求項8】
前記第2のパケット処理手段は、
前記アドレス記憶手段に何らかのアドレス情報が新たに記憶されたことに応答して、ネットワーク機器に関する情報を問合せるための第1のプロトコルの問合せパケットを生成し前記アドレス記憶手段に新たに記憶されたアドレス情報を送信先アドレス情報として、前記第1のパケット送受信手段を介して前記第1のネットワーク上に送出するためのパケット送信手段と、
前記問合せパケットに対する応答パケットを前記第1のパケット送受信手段から受信したことに応答して、当該パケットに含まれるネットワーク機器に関する情報を記憶するためのネットワーク機器情報記憶手段と、
前記第2のネットワーク上から前記アドレス記憶手段に記憶されたアドレス情報を送信先として、ネットワーク機器に関する情報を問合せるための第2のプロトコルの問合せパケットを受信したことに応答して、前記ネットワーク機器情報記憶手段に記憶された前記ネットワーク機器に関する前記情報を含み、前記アドレス記憶手段に記憶されたアドレス情報を送信元アドレス情報として持ち、前記第2のプロトコルの問合せパケットの送信元端末を送信先として持つ前記第2のプロトコルの応答パケットを生成し、前記第2のパケット送受信手段を介して前記第2のネットワークに送出するための手段とを含む、請求項2に記載の機能付加装置。
【請求項9】
前記第1のパケット処理手段は、
前記第2のネットワークから前記第1のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶するための条件記憶手段と、
前記第2のパケット送受信手段が前記第2のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを前記第1のパケット送受信手段を介して前記第1のネットワークに中継するための手段とを含む、請求項1に記載の機能付加装置。
【請求項10】
前記条件記憶手段はさらに、前記第1のネットワークから前記第2のネットワークへの中継が禁止されるパケットが満たすべき条件を記憶し
前記第1のパケット処理手段はさらに、前記第1のパケット送受信手段が前記第1のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを破棄し、それ以外の場合には当該パケットを前記第2のパケット送受信手段を介して前記第2のネットワークに中継するための手段を含む、請求項9に記載の機能付加装置。
【請求項11】
前記第1のパケット処理手段は、
前記第2のネットワークから前記第1のネットワークへの中継が許可されるパケットが満たすべき条件を記憶するための条件記憶手段と、
前記第2のパケット送受信手段が前記第2のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを前記第1のパケット送受信手段を介して前記第1のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段とを含む、請求項1に記載の機能付加装置。
【請求項12】
前記条件記憶手段はさらに、前記第1のネットワークから前記第2のネットワークへの中継が許可されるパケットが満たすべき条件を記憶し
前記第1のパケット処理手段はさらに、前記第1のパケット送受信手段が前記第1のネットワークから受信したパケットにより、前記条件記憶手段に記憶された条件が充足されるか否かを判定し、充足される場合には当該パケットを前記第2のパケット送受信手段を介して前記第2のネットワークに中継し、それ以外の場合には当該パケットを破棄するための手段を含む、請求項11に記載の機能付加装置。
【請求項13】
各パケットは、送信先端末で当該パケットを処理すべきアプリケーションを特定するアプリケーション特定情報を含み、
前記第1のパケット処理手段は、前記アプリケーション特定情報の複数の対を記憶したアプリケーション特定情報変換テーブルを記憶するためのテーブル記憶手段を含み、前記複数の対の各々は、第1のアプリケーション特定情報と、第2のアプリケーション特定情報とを含み、
前記第1のパケット処理手段はさらに、
前記第2のネットワーク送受信手段から受信した前記第2のネットワークからのパケットの前記アプリケーション特定情報と一致する前記第2のアプリケーション特定情報を前記テーブル記憶手段内で検索し、検索された前記第2のアプリケーション特定情報と対になっている前記第2のアプリケーション特定情報で前記パケット内の前記アプリケーション特定情報を置換するための手段を含む、請求項1に記載の機能付加装置。
【請求項14】
前記第1のパケット処理手段はさらに、
前記第1のネットワーク送受信手段から受信した前記第1のネットワークからのパケットの前記アプリケーション特定情報と一致する前記第1のアプリケーション特定情報を前記テーブル記憶手段内で検索し、検索された前記第1のアプリケーション特定情報と対になっている前記第2のアプリケーション特定情報で前記パケット内の前記アプリケーション特定情報を置換するための手段を含む、請求項13に記載の機能付加装置。
【請求項15】
前記第1のパケット処理手段はさらに、前記第2のネットワーク送受信手段から受信した前記第2のネットワークからのパケットの前記アプリケーション特定情報と一致する前記第2のアプリケーション特定情報が前記テーブル記憶手段内になかったことに応答し、当該パケットを破棄するための手段を含む、請求項13又は請求項14に記載の機能付加装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【公開番号】特開2009−38731(P2009−38731A)
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願番号】特願2007−203077(P2007−203077)
【出願日】平成19年8月3日(2007.8.3)
【出願人】(500112146)サイレックス・テクノロジー株式会社 (74)
【Fターム(参考)】
【公開日】平成21年2月19日(2009.2.19)
【国際特許分類】
【出願日】平成19年8月3日(2007.8.3)
【出願人】(500112146)サイレックス・テクノロジー株式会社 (74)
【Fターム(参考)】
[ Back to top ]