(57)【特許請求の範囲】
【請求項１】
第１ネットワークに接続された第１ユニットと、
第２ネットワークに接続された第２ユニットと、
前記第２ネットワークから受信したパケットを前記第２ユニットから前記第１ユニットへの一方向だけに伝送する一方向伝送路と、
前記第１ネットワークから受信するパケットのうち許可された特定のパケットだけを前記第２ネットワークに中継するパケット中継部とを備え、
前記パケット中継部は、
前記第１ユニットと前記第２ユニットとの間に設けられた複数の信号線からなる信号線部と、
前記第１ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第１パケット登録情報が予め登録され、前記第１ネットワークからのパケットが前記第１パケット登録情報として登録されたパケットであるか否かを判定し、登録されたパケットである場合に、当該パケットについての第１パケット登録情報に対応した信号線をアクティブにするパケット判定部と、
前記第２ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第２パケット登録情報が予め登録され、いずれかの信号線がアクティブになることに応答して、アクティブになった前記信号線に対応する第２パケット登録情報に基づいて、前記第１ユニットが受信したパケットに相当する復元パケットを生成し、前記第２ネットワークに送出するパケット復元部と
を備えることを特徴とする特定パケット中継機能付きデータダイオード装置。
【請求項２】
前記第１ユニットは、前記第１ネットワーク上の第１ネットワーク機器からのパケットを受信し、また前記一方向伝送路を介して受信したパケットを前記第１ネットワーク機器に送信する第１通信部を有し、
前記パケット判定部は、パケットの送信元情報、宛先情報及びアプリケーションデータを含む前記第１パケット登録情報の各々が前記信号線のいずれかに対応して登録された第１参照テーブルと、前記第１ネットワークから受信したパケットの送信元情報、宛先情報及びアプリケーションデータが前記第１参照テーブルに登録されたいずれか１つの前記第１パケット登録情報に含まれている場合に、当該第１パケット登録情報に対応した信号線をアクティブにする第１制御部とを有し、
前記第２ユニットは、前記復元パケットを前記第２ネットワークに送出し、また前記第２ネットワーク上の第２ネットワーク機器からのパケットを受信し、この受信したパケットを前記一方向伝送路を介して、前記第１ユニットに送る第２通信部を有し、
前記パケット復元部は、パケットの送信元情報、宛先情報及びアプリケーションデータを含む前記第２パケット登録情報の各々が、同じパケットについての第１、第２パケット登録情報が同じ前記信号線に対応するように登録された第２参照テーブルと、アクティブになった前記信号線に対応する前記第２パケット登録情報に基づく送信元情報、宛先情報、アプリケーションデータを有する前記復元パケットを生成する第２制御部とを有する
ことを特徴とする請求項１に記載の特定パケット中継機能付きデータダイオード装置。
【請求項３】
複数の回路ブロックの組み合わせによって任意の回路構成が可能な第１及び第２プログラマブルロジックデバイスを備えており、
前記第１プログラマブルロジックデバイスは、前記回路ブロックの組み合わせにより前記第１ユニットの少なくとも前記第１制御部が形成され、
前記第２プログラマブルロジックデバイスは、前記回路ブロックの組み合わせにより前記第２ユニットの少なくとも前記第２制御部が形成され、
前記信号線部は、前記第１プログラマブルロジックデバイスと前記第２プログラマブルロジックデバイスとを接続していることを特徴とする請求項２に記載の特定パケット中継機能付きデータダイオード装置。
【請求項４】
請求項３記載の特定パケット中継機能付きデータダイオード装置の設定方法において、
前記第１及び前記第２プログラマブルロジックデバイスにそれぞれ設定用構成情報をロードし、前記第１及び前記第２プログラマブルロジックデバイス内部に通信用配線を形成することで、前記第１ネットワーク側からのパケットを前記第２ネットワーク側に送るパケット伝送路を有効化するとともに、前記パケット伝送路上のパケットから送信元情報、宛先情報及びアプリケーションデータを含むパケット登録情報を取得する情報取得部を前記第１及び前記第２プログラマブルロジックデバイスの少なくとも一方に形成する第１形成ステップと、
前記第１ネットワーク機器から前記第２ネットワーク機器に向けて中継を許可する特定のパケットを送信する送信ステップと、
前記送信ステップで送信されたパケットから前記パケット登録情報を前記情報取得部で取得する情報取得ステップと、
前記情報取得ステップで取得した前記パケット登録情報を第１、第２パケット登録情報として前記第１、前記第２参照テーブルに前記信号線のいずれかに対応させて登録する情報登録ステップと、
前記情報登録ステップ後に実行され、第１の通常構成情報を前記第１プログラマブルロジックデバイスにロードすることで、前記第１プログラマブルロジックデバイスに少なくとも前記第１制御部を形成して前記第１ユニットを構成し、第２の通常構成情報を前記第２プログラマブルロジックデバイスにロードすることによって、前記第２プログラマブルロジックデバイスに少なくとも前記第２制御部を形成して前記第２ユニットを構成する第２形成ステップと
を有することを特徴とする特定パケット中継機能付きデータダイオード装置の設定方法。
【請求項５】
前記第１形成ステップは、前記第１または前記第２プログラマブルロジックデバイスの一方に前記情報取得部を形成し、
前記情報取得ステップは、前記第１または前記第２参照テーブルの一方の参照テーブルに、前記情報設定部が取得したパケット登録情報を記憶させる第１情報登録ステップと、この一方の参照テーブルの内容を他方の参照テーブルに複写する第２情報登録ステップとを有する
ことを特徴とする請求項４に記載の特定パケット中継機能付きデータダイオード装置の設定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特定パケット中継機能付きデータダイオード装置及びその設定方法に関するものである。
【背景技術】
【０００２】
例えばプラントの運転状態の監視・保守や運転効率の向上のために運転状態に関するデータをデータセンタに収集するデータ収集システムが知られている。このようなデータ収集システムでは、データセンタに設置された情報要求側コンピュータと、プラントに設置された情報提供側コンピュータとがネットワークを介して接続されている。情報要求側コンピュータは、ネットワークを介して、情報提供側コンピュータに運転状態に関するデータを取得させたり、情報要求側コンピュータに送信させたりするための要求を情報提供側コンピュータに送る。一方の情報提供側コンピュータは、要求にしたがってデータを取得し、そのデータをパケットに格納して情報要求側コンピュータにネットワークを介して送信する。
【０００３】
上記のようなデータ収集システムでは、情報提供側コンピュータを含むプラント内部のネットワーク機器を不正アクセス、情報漏洩，コンピュータウィルスの侵入等から保護するため、プラント内のネットワーク機器が接続されたネットワーク（以下、内部ネットワークという）と外部ネットワークとの境界にファイアウォールを接続することで、内部ネットワークに対するセキュリティを確保している。
【０００４】
また、確実なセキュリティを確保するための機器として、物理的に通信を一方向に限定するデータダイオードと称される機器が知られている。このデータダイオードは、内部ネットワークと外部ネットワークとの境界に設置され、内部ネットワークのネットワーク機器から外部ネットワークのネットワーク機器に向けたデータ送信のみを許可する。このようなデータダイオードは、内部ネットワーク方向へのデータ送信をソフトウェア的な通信制御で遮断するのではなく、物理的な原理に基づき完全に遮断している。例えばデータダイオードは、一方向だけの光通信用の発光器と受光器とを設けた構成にされて、完全に一方向のみのデータ送信に限定している。イーサネット（登録商標）やＲＳ−２３２Ｃ等のシリアル通信において、双方向の信号線のうちの一方を切断した構成等でも、同様に実現可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記のファイアウォールのようなセキュリティ機器は、その機器の内部にあるソフトウェアによってパケットの流れを制御している。このためセキュリティ機器がサイバー攻撃の対象となり、セキュリティ機器の制御が外部から不正に改変されて、内部ネットワークに対する不正なアクセスを許し兼ねない。このため、定期的なパスワードの変更や、異常メッセージの確認と対処などの適切な運用を怠れば、長期間の運用において、セキュリティを維持できない。一方、データダイオードは、ソフトウェアによる通信の制御、遮断する装置と異なり、物理的に通信を一方向に限定しているため、その通信方向を限定する機能が改変されることはなく、内部ネットワークに対する不正なアクセスを許すことがない。したがって、長期間の運用においてもセキュリティの維持が可能である。
【０００６】
しかしながら、データダイオードは、外部から内部ネットワークに向けての通信を完全に遮断するため、上記のようなデータ収集システムに用いる場合に、内部ネットワークに接続された情報提供側コンピュータから送信されるデータの内容及びその送信タイミングは、予め決められた内容および送信タイミングに限定されるという問題がある。すなわち、外部ネットワークに接続された情報要求側コンピュータからの各種要求は情報提供側コンピュータに送信できない。したがって、外的な要因、例えば、外部ネットワーク側の機器の障害発生による一時的なデータの送信停止要求や、受信ミスをした際のデータの再送要求など、予想されうる限られた要求でさえも外部から内部に伝えることはできない。
【０００７】
本発明は、上記事情に鑑みてなされたものであり、簡易な構成であり、高いセキュリティを確保しつつ、外部からの要求等の許可された特定のパケットを、データダイオードで保護されたネットワークに送ることができる特定パケット中継機能付きデータダイオード装置及びその設定方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の特定パケット中継機能付きデータダイオード装置は、第１ネットワークに接続された第１ユニットと、第２ネットワークに接続された第２ユニットと、第２ネットワークから受信したパケットを第２ユニットから第１ユニットへの一方向だけに伝送する一方向伝送路と、第１ネットワークから受信するパケットのうち許可された特定のパケットだけを第２ネットワークに中継するパケット中継部とを備え、パケット中継部は、第１ユニットと第２ユニットとの間に設けられた複数の信号線からなる信号線部と、第１ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第１パケット登録情報が予め登録され、第１ネットワークからのパケットが第１パケット登録情報として登録されたパケットであるか否かを判定し、登録されたパケットである場合に、当該パケットについての第１パケット登録情報に対応した信号線をアクティブにするパケット判定部と、第２ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第２パケット登録情報が予め登録され、いずれかの信号線がアクティブになることに応答して、アクティブになった信号線に対応する第２パケット登録情報に基づいて、第１ユニットが受信したパケットに相当する復元パケットを生成し、第２ネットワークに送出するパケット復元部とを備えるものである。
【０００９】
また本発明の上記特定パケット中継機能付きデータダイオード装置の設定方法は、第１及び第２プログラマブルロジックデバイスにそれぞれ設定用構成情報をロードし、第１及び第２プログラマブルロジックデバイス内部に通信用配線を形成することで、第１ネットワーク側からのパケットを第２ネットワーク側に送るパケット伝送路を有効化するとともに、パケット伝送路上のパケットから送信元情報、宛先情報及びアプリケーションデータを含むパケット登録情報を取得する情報取得部を第１及び第２プログラマブルロジックデバイスの少なくとも一方に形成する第１形成ステップと、第１ネットワーク機器から第２ネットワーク機器に向けて中継を許可する特定のパケットを送信する送信ステップと、送信ステップで送信されたパケットからパケット登録情報を情報取得部で取得する情報取得ステップと、情報取得ステップで取得したパケット登録情報を第１、第２パケット登録情報として第１、第２参照テーブルに信号線のいずれかに対応させて登録する情報登録ステップと、情報登録ステップ後に実行され、第１の通常構成情報を第１プログラマブルロジックデバイスにロードすることで、第１プログラマブルロジックデバイスに少なくとも第１制御部を形成して第１ユニットを構成し、第２の通常構成情報を第２プログラマブルロジックデバイスにロードすることによって、第２プログラマブルロジックデバイスに少なくとも第２制御部を形成して第２ユニットを構成する第２形成ステップとを有するものである。
【発明の効果】
【００１０】
本発明の特定パケット中継機能付きデータダイオード装置によれば、第２ネットワークから第１ネットワークへのパケットは一方向伝送路を用いて伝送し、第１ネットワークから第２ネットワークへのパケットの中継は、第１ユニット側で第１パケット登録情報として登録されているパケットを受信したときに、その第１パケット登録情報に対応した信号線をアクティブにし、アクティブになった信号線に対応する第２パケット登録情報から第１ユニットで受信したパケットに相当する復元パケットを生成して第２ネットワークに送出するので、簡易な構成で外部からの許可された特定のパケットだけを保護された第２ネットワークのネットワーク機器に送ることができるとともに、第１ネットワーク側から第２ユニットが改変されることなく高いセキュリティを確保することができる、
【００１１】
また、本発明の特定パケット中継機能付きデータダイオード装置の設定方法によれば、第１、第２ユニットを構成する第１、第２プログラマブルロジックデバイスに、設定用構成情報をロードして有効化されたパケット伝送路に流れるパケットからパケット登録情報を取得し、第１、第２参照テーブルに登録するから、パケット伝送路を介して中継を許可する各パケットを送信することで、それら各パケットに対応するパケット登録情報が登録された第１、第２参照テーブルを作成できるようになり、接続するシステムに応じた特定パケット中継機能付きデータダイオード装置の設定が容易になる。
【図面の簡単な説明】
【００１２】
【図１】本発明を実施したデータ収集システムの概略を示す説明図である。
【図２】特定パケット中継機能付きデータダイオード装置の構成を示すブロック図である。
【図３】各参照テーブルの内容の一例を示す説明図である。
【図４】ポート番号変換テーブルの内容の一例を示す説明図である。
【図５】通信シーケンスの一例を示す説明図である。
【図６】ヘッダの変化の一例を示す説明図である。
【図７】通常モードでＦＰＧＡに形成される回路構成を示す説明図である。
【図８】設定モードから通常モードで運用までの手順を示すフローチャートである。
【図９】設定モードでＦＰＧＡに形成される回路構成を示す説明図である。
【発明を実施するための形態】
【００１３】
［第１実施形態］
図１に示すように、本発明を実施したデータ取得システム１０は、第１、第２外部コンピュータ１１ａ、１１ｂが第１、第２内部コンピュータ１２ａ、１２ｂからのデータを特定パケット中継機能付きデータダイオード装置（以下、単にデータダイオード装置と称する）１４を介して収集するシステムである。例えば、第１、第２内部コンピュータ１２ａ、１２ｂは、プラント内に配備されており、外部コンピュータ１１は、プラント外に配備されている。第１、第２内部コンピュータ１２ａ、１２ｂは、プラントに配設した各センサが計測した温度や圧力等の各種プロセスデータを取得し、そのプロセスデータを外部コンピュータ１１が第１、第２内部コンピュータ１２ａ、１２ｂから取得する。なお、内部コンピュータ１２から取得するデータは、プロセスデータに限らない。また、以下の説明では、第１、第２外部コンピュータ１１ａ、１１ｂを特に区別する必要がない場合には、外部コンピュータ１１と総称する。また、第１、第２内部コンピュータ１２ａ、１２ｂを特に区別する必要がない場合には、内部コンピュータ１２と総称する。
【００１４】
第１ネットワークとしての外部ネットワーク１５には、外部コンピュータ１１を含む複数の第１ネットワーク機器が設けられている。また、第２ネットワークとしての内部ネットワーク１６には、内部コンピュータ１２を含む第２ネットワーク機器が設けられている。データダイオード装置１４は、外部ネットワーク１５と内部ネットワーク１６との境界に接続されている。データダイオード装置１４は、内部ネットワーク１６から外部ネットワーク１５へのパケットを伝送するとともに、予め許可した特定のパケットだけを外部ネットワーク１５から内部ネットワーク１６に中継する。内部ネットワーク１６は、データダイオード装置１４によって外部からの不正なアクセスから保護されたネットワークである。
【００１５】
この例では、外部コンピュータ１１とデータダイオード装置１４、内部コンピュータ１２とデータダイオード装置１４は、いずれもＴＣＰ／ＩＰすなわちインターネット・プロトコル・スイートによる通信を行う。また、データ収集システム１０は、ＴＣＰ／ＩＰの４階層モデルのネットワークインターフェイス層（ＯＳＩ参照モデルの第１、第２層相当）では、例えばイーサネット（登録商標）を用いている。また、説明を簡単にするために、この例では、データダイオード装置１４が中継するパケットは、トランスポート層におけるプロトコルとしてＴＣＰを用いたパケットとする。なお、通信のプロトコルは、特に限定されない。
【００１６】
外部コンピュータ１１は、外部ネットワーク１５、データダイオード装置１４及び内部ネットワーク１６を介して内部コンピュータ１２との間でパケットの送受信を行う。これによって、外部コンピュータ１１は、内部コンピュータ１２からプロセスデータを取得する。周知のように、パケットは、アプリケーション層（ＯＳＩ参照モデルの第５〜第７層）における処理で生成されたアプリケーションデータにトランスポート層（ＯＳＩ参照モデルの第４層相当）におけるヘッダ（この例ではＴＣＰヘッダ）を付加して生成されたセグメントに、さらにインターネット層（ＯＳＩ参照モデルの第３層相当）におけるヘッダ（この例ではＩＰヘッダ）を付加したＰＤＵ（Protocol Data Unit）であり、実際にはパケットにイーサネットヘッダを付加したフレームが送受信される。
【００１７】
外部コンピュータ１１は、内部コンピュータ１２からプロセスデータを取得する場合には、アプリケーションデータとして後述する要求メッセージを格納したパケットを外部ネットワーク１５に送出する。外部コンピュータ１１と内部コンピュータ１２との間にはデータダイオード装置１４が介在するが、外部コンピュータ１１は、パケットの宛先ＩＰアドレスとして、内部コンピュータ１２のＩＰアドレスを付与する。内部コンピュータ１２は、受信したパケットに要求メッセージが格納されている場合には、要求メッセージで指定されるプロセスデータを読み出し、読み出したプロセスデータを格納したパケットを内部ネットワーク１６に送出する。外部コンピュータ１１は、受信したパケットに格納されたプロセスデータ等のアプリケーションデータを取り出す。
【００１８】
なお、以下の説明では、要求メッセージを格納したパケットを他のパケットと特に区別する場合には、そのパケットを要求パケットと称する。また、要求パケットに応答して返信されるプロセスデータを格納したパケットを他のパケットと特に区別する場合には、そのパケットを応答パケットと称する。
【００１９】
データダイオード装置１４は、外部ネットワーク１５に接続された第１ユニット２１と内部ネットワーク１６に接続された第２ユニット２２とを備えている。第１ユニット２１は、外部ネットワーク１５から内部ネットワーク１６に向けて送信されるパケットを受信し、受信したパケットが後述する第１パケット登録情報が登録されているパケット（以下、登録パケットという）であるか否かを判定する。受信したパケットが登録パケットである場合には、第１ユニット２１は、その登録パケットの第１パケット登録情報に対応した信号線Ｑ１、Ｑ２・・・Ｑｎ（図２参照、信号線Ｑ１、Ｑ２・・・Ｑｎを特に区別する必要がない場合には、信号線Ｑと総称する）のいずれか１本をアクティブにする。第２ユニット２２は、アクティブになった信号線Ｑに対応する後述する第２パケット登録情報から第１ユニット２１で受信した登録パケットの内容を特定し、その受信した登録パケットに相当するパケット（復元パケット）を生成して、内部ネットワーク１６に送出する。
【００２０】
また、データダイオード装置１４は、第２ユニット２２で内部ネットワーク１６からのパケットを受信し、そのパケットを一方向伝送路Ｓ（図２参照）を介して第１ユニット２１に伝送し、第１ユニット２１がパケットを外部ネットワーク１５に送出する。これにより、内部コンピュータ１２から外部コンピュータ１１に宛てられたプロセスデータを外部コンピュータ１１に送る。なお、データダイオード装置１４が内部ネットワーク１６へ中継するパケットは、プロセスデータを取得するための要求パケットに限定されないが、以下では、データダイオード装置１４には、中継するパケットとして、いくつかの要求パケットが予め登録されているものとして説明する。
【００２１】
図２において、データダイオード装置１４は、第１、第２ユニット２１、２２と、複数本の信号線Ｑからなる信号線部２３と、第１ユニット２１と第２ユニット２２との間に設けられた伝送線路２４とを備えている。第１ユニット２１は、第１通信部３１、第１記憶部３２、第１制御部３３及び受信部３４を備える。第２ユニット２２は、第２通信部４１、第２記憶部４２、第２制御部４３及び送信部４４を備える。
【００２２】
第１ユニット２１に設けられた第１制御部３３と第１記憶部３２に記憶されている第１参照テーブルＴ１とにより、パケット判定部５１が構成される。また、第２ユニット２２に設けられた第２制御部４３と、第２記憶部４２に記憶されている第２参照テーブルＴ２とによって、パケット復元部５２が構成される。これらパケット判定部５１とパケット復元部５２と、信号線部２３とによってパケット中継部５３が構成される。また、伝送線路２４と、第１ユニット２１の受信部３４と、第２ユニット２２の送信部４４とは、一方向伝送路Ｓを構成する。
【００２３】
第１ユニット２１の第１通信部３１は、外部ネットワーク１５に接続されている。この第１通信部３１は、内部ネットワークに向けたパケットを受信する。この例では、第１通信部３１は、外部ネットワーク１５からのパケットのうち第１参照テーブルＴ１に登録されている第１パケット登録情報の宛先ＩＰアドレスが付与されているパケットを受信する。なお、内部ネットワーク１６のネットワークアドレスを例えば第１通信部３１に予め設定しておき、そのネットワークアドレスに宛先ＩＰアドレスのネットワークアドレス部分が一致するパケットを受信するようにしてもよい。
【００２４】
第１通信部３１は、受信したパケットから送信元ＩＰアドレス、宛先ＩＰアドレス、アプリケーションデータ（以下、これらをまとめて受信パケット情報という）及び送信元ポート番号を取り出して第１制御部３３に送る。また、第１通信部３１は、一方向伝送路Ｓを構成する受信部３４からのパケットを外部ネットワーク１５に送出する。これにより、応答パケットを、それに対応した要求パケットの送信元である外部コンピュータ１１に送信する。
【００２５】
第１記憶部３２は、上述の第１参照テーブルＴ１とポート番号変換テープルＴｐとを記憶している。第１参照テーブルＴ１は、図３に示すように、中継を許可した特定のパケットのそれぞれについての第１パケット登録情報と、この第１パケット登録情報に対応する１本の信号線Ｑを示す信号線番号と、インターバル時間とからなる複数のレコードが登録されている。各レコードの信号線番号と第１パケット登録情報とは、１対１に対応する。この例における第１パケット登録情報は、パケット中のＩＰヘッダに格納される送信元ＩＰアドレス、宛先ＩＰアドレス、ＴＣＰヘッダに格納される送信元ポート番号、宛先ポート番号、ＴＣＰデータ部に格納されるアプリケーションデータからなる。また、この例では、第１パケット登録情報中の送信元ＩＰアドレスが送信元情報、宛先ＩＰアドレスが宛先情報であり、これらとアプリケーションデータとの組み合わせが登録パケットであるか否かの判定に用いられる。
【００２６】
第１パケット登録情報の送信元ＩＰアドレス、宛先ＩＰアドレス、宛先ポート番号、アプリケーションデータは、実際に外部コンピュータ１１から内部コンピュータ１２に送信される要求パケットのものが登録される。これに対して、第１パケット登録情報の送信元ポート番号は、各第１パケット登録情報にユニークなポート番号を予め付与している。
【００２７】
また、アプリケーションプロトコルとして、この例ではＭｏｄｂｕｓ／ＴＣＰを用いている。このため、第１パケット登録情報のアプリケーションデータとしては、ＴＣＰ／Ｍｏｄｂｕｓに準拠したメッセージが登録されている。ＴＣＰ／Ｍｏｄｂｕｓのメッセージは、周知のように、内部コンピュータ１２に設けられたレジスタに対するデータ（プロセスデータ）の読み出しや書き込みを指示する機能コード、読み出しや書き込みの際のアドレス範囲等のデータから構成され、読み出すプロセスデータが同じであれば、ＴＣＰ／Ｍｏｄｂｕｓの要求メッセージは同じになる。
【００２８】
ポート番号変換テープルＴｐには、図４に示すように、第１制御部３３によって、変換前ポート番号と変換後ポート番号とが対応付けた変換レコードが登録される。このポート番号変換テープルＴｐは、応答パケットを外部コンピュータ１１に送る際に、その応答パケットの宛先ポート番号を、対応する要求パケットの送信元ポート番号に変換するために用いられる。
【００２９】
図２において、第１制御部３３は、上述のように第１通信部３１が受信したパケットが登録パケットであるか否かを判定する。この判定では、第１制御部３１は、受信パケット情報が第１参照テーブルＴ１のいずれかの第１パケット登録情報に含まれているか否かを調べる。この判定において、受信パケット情報がいずれか１つの第１パケット登録情報に含まれている場合、すなわち、送信元ＩＰアドレス、宛先ＩＰアドレス及びアプリケーションデータの全てがいずれか１つの第１パケット登録情報に含まれている場合に、登録パケットであると判定する。第１制御部３３は、それらが含まれている第１パケット登録情報（以下、第１該当パケット登録情報という）に対応した信号線番号を取得し、取得した信号線番号の信号線Ｑをアクティブにする。
【００３０】
また、第１制御部３３は、登録パケットと判定するごとに、ポート番号変換テープルＴｐに変換レコードを登録する。この登録では、登録パケットの送信元ポート番号を変換前ポート番号とし、第１該当パケット登録情報の送信元ポート番号を変換後ポート番号とする。変換レコードは、例えば変換後ポート番号の基になった第１該当パケット登録情報のインターバル時間の経過後に第１制御部３３によって削除される。
【００３１】
なお、情報要求側の外部コンピュータ１１が情報提供側の内部コンピュータ１２に送信するパケットの宛先ポート番号は、一般的に通信相手のアプリケーションごとに固定されている。このため、この例では、受信したパケットと第１パケット登録情報とのアプリケーションデータが一致する場合、宛先ポート番号も一致するとみなしており、宛先ポート番号を登録パケットであるか否かの判定に用いていない。もちろん、宛先ポート番号を宛先情報の１つとして判定に用いてもよい。一方、外部コンピュータ１１が送信するパケットの送信元ポート番号は、一般的に任意なポート番号が外部コンピュータ１１によって付与される。このため、この例では送信元ポート番号を登録パケットであるか否かの判定に用いない。もちろん、送信元ポート番号が固定されている場合には、送信元情報の１つとすることもできる。この場合には、上記ポート番号変換テーブルＴｐの作成は不要である。
【００３２】
第１制御部３３は、先に受信したパケットと同じ受信パケット情報を有する新たなパケットを受信した場合、先に受信したパケットに応答して信号線Ｑをアクティブにした時点から、その受信したパケットに対応した第１パケット登録情報のインターバル時間内であるときには、新たなパケットに対して信号線Ｑをアクティブにしない。これにより、短時間に大量のパケットが送信される、いわゆるフラッド攻撃から内部コンピュータ１２を保護する。なお、インターバル時間の計時の起算点は、先に受信したパケットの受信時でもよい。
【００３３】
信号線Ｑは、第１参照テーブルＴ１に登録されている第１パケット登録情報と同じ本数以上あればよい。この例では、信号線Ｑとしてメタル線を用いている。第１制御部３３は、信号線Ｑの各々に接続された複数のスイッチを有し、第１該当パケット登録情報に対応する信号線番号に接続されたスイッチをオンとする。これにより、第１該当パケット登録情報に対応した信号線Ｑをアクティブ、この例ではハイレベルにする。なお、信号線Ｑのアクティブをローレベルとしてもよい。また、信号線Ｑは、アクティブであるか否かを第２ユニット２２に伝えることができればよい。信号線Ｑとして、例えば発光ダイオードと受光素子とを用い、アクティブとするときに第１ユニット２１が発光ダイオードを点灯し、第２ユニット２２が受光素子で発光ダイオードの点灯を検出するようにしてもよい。
【００３４】
受信部３４は、伝送線路２４を介して第２ユニット２２からのパケットを受信する。また、この受信部３４は、ポート番号変換テープルＴｐを参照して、第２ユニット２２から受信したパケットの宛先ポート番号の変換を行う。すなわち、受信部３４は、受信したパケットの宛先ポート番号をポート番号変換テープルＴｐの変換後ポート番号として、その変換後ポート番号に対応する変換前ポート番号を受信したパケットの宛先ポート番号に置き換える。これにより、応答パケットの宛先ポート番号をそれに対応する要求パケットの送信元ポート番に変換している。受信部３４は、宛先ポート番号を置き換えたパケットを第１通信部３１に送る。
【００３５】
第２ユニット２２の第２制御部４３は、各信号線Ｑが接続されている。第２記憶部４２には、図３に示すように、第１参照テーブルＴ１と同一の内容の第２参照テーブルＴ２が書き込まれている。第２参照テーブルＴ２では、各レコードのパケット登録情報が第２パケット登録情報になっており、第２パケット登録情報には、同じ内容の第１パケット登録情報の信号線Ｑ（信号線番号）が対応付けられている。これにより、同じパケットについての第１、第２パケット登録情報が同じ信号線Ｑに対応するように登録されている。
【００３６】
第２制御部４３は、いずれかの信号線Ｑがアクティブになることに応答して、アクティブになった信号線Ｑの信号線番号に対応付けられた第２パケット登録情報、すなわち、第１該当パケット登録情報と同じ内容の第２パケット登録情報（以下、他の第２パケット登録情報と特に区別する場合には第２該当パケット登録情報という）を第２参照テーブルＴ２から読み出し、第２該当パケット登録情報のアプリケーションデータ、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号をそれぞれ付与したパケットを生成する。これにより、第２該当パケット登録情報に基づいて、第１ユニット２１が受信したパケットに相当する復元パケットを生成する。第２制御部４３で生成されたパケットは、第２通信部４１に送られる。なお、第２参照テーブルＴ２では、インターバル時間を省略することができる。
【００３７】
第２通信部４１は、内部ネットワーク１６に接続されている。第２通信部４１は、第２制御部４３で生成されたパケットを内部ネットワーク１６に送出する。これにより、第２制御部４３で生成したパケットを内部コンピュータ１２に送る。また、第２通信部４１は、内部ネットワーク１６から受信したパケットを送信部４４に送る。
【００３８】
なお、第２該当パケット登録情報からパケットを生成する場合、送信元ポート番号を任意のポート番号に、また送信元ＩＰアドレスを第２ユニット２２のＩＰアドレスに置き換えてもよい。この場合、それに対応して内部コンピュータ１２が返信するパケットの宛先ポート番号、宛先ＩＰアドレスを第２該当パケット登録情報の送信元ポート番号、送信元ポート番号に置き換えてから、そのパケットを第１ユニット２１に伝送する。
【００３９】
一方向伝送路Ｓは、上述のように第１ユニット２１の受信部３４と、第２ユニット２２の送信部４４と、伝送線路２４とから構成されており、通信方向が第２ユニット２２側から第１ユニット２１側への一方向に物理的に限定されたデータダイオードである。例えば、送信部４４は、発光素子や入力されるデータに応じて発光素子から出力される光を変調する変調回路、エラー訂正用の送信側回路等で構成され、受信部３４は、受光素子や受光強度に応じてデータを復調する復調回路、エラー訂正用の受信側回路等で構成される。伝送線路２４は、送信部４４の発光素子と受信部３４の受光素子の間を結ぶ光ファイバが用いられている。この一方向伝送路Ｓは、第２通信部４１からのパケットが伝送すべきデータとして送信部４４に入力され、この入力されたデータを伝送線路２４を介して受信部３４に送る。
【００４０】
一方向伝送路Ｓとしては、一方向の通信に限定されたものであればよく、上記構成に限定されないが、一方向の伝送を担保する観点からは、例えば上記のように通信方向を物理的に限定する構成とすることが好ましい。また、エラー訂正としては、エラー発生時にデータの再送要求が不要な前方誤り訂正方式を用いることが好ましい。
【００４１】
上述のように、受信部３４が受信したパケットは、宛先ポート番号の変換を行ってから第１通信部３１に送られ、第１通信部３１が外部ネットワーク１５に送出する。これにより、内部コンピュータ１２にプロセスデータを要求した外部コンピュータ１１に対して、その要求したプロセスデータの応答パケットを送信する。
【００４２】
なお、アプリケーションデータの送信態様は上記態様に限られない。例えば各応答パケットから得られるアプリケーションデータをバッファ等にいったん蓄積してから、一方向伝送路Ｓを介してまとめて送信するとともに、宛先ＩＰアドレス、宛先ポート番号等の情報を送信してもよい。この場合、第１ユニット２１側では、まとめて受信したアプリケーションデータと宛先ＩＰアドレス、宛先ポート番号等の情報から外部コンピュータ１１に送信するためのパケットを再構成して送信する。
【００４３】
第２ユニット２２から第１ユニット２１には、一方向伝送路Ｓを用いて、少なくともアプリケーションデータと、第１ユニット２１がアプリケーションデータの送り先を識別できる情報とを送ればよい。例えば、パケットから取り出したアプリケーションデータと宛先ポート番号を送ってもよい。この場合、宛先ポート番号に送信元ポート番号が一致する第１パケット登録情報の送信元ＩＰアドレスを応答パケットの宛先ＩＰアドレスとすればよい。
【００４４】
上記のように構成される第１ユニット２１は、外部ネットワーク１５上の第１ネットワーク機器に対して、また第２ユニット２２は、内部ネットワーク１６上の第２ネットワーク機器に対して、トランスポート層以下の動作を行って通信すればよく、トランスポート層以下での動作は、アプリケーションや接続される機器等で変化しないから、固定の機能を実現すればよく、簡単な構成とすることができる。
【００４５】
データダイオード装置１４を構成する第１、第２ユニット２１、２２との機能は、それぞれ例えばパーソナルコンピュータを用いて構成することも可能である。この場合、例えば２台のパーソナルコンピュータを配置し、第１、第２ユニット２１、２２の機能を実現するためのプログラムを導入して、一方を第１ユニット２１、他方を第２ユニット２２とする。信号線Ｑとしては、各パーソナルコンピュータに設けた汎用入出力ポート等の端子同士の接続を用いる。一方向伝送路Ｓとしては、各パーソナルコンピュータのＲＳ−２３２Ｃなどの双方向の信号線のうちの一方向のみを接続する。
【００４６】
一方、第１、第２ユニット２１、２２を、例えばＡＳＩＣ（application specific integrated circuit、特定用途向け集積回路）や、後述する第２実施形態のように、ＦＰＧＡ（Field Programmable Gate Array）に代表されるプログラマブルロジックデバイス（ＰＬＤ）等を用いて実現することもできる。ＰＬＤは、複数の回路ブロックの組み合わせによって任意の回路構成が可能であって様々な処理回路を形成することができるが、回路構成後に処理回路自体を変更することは困難である。したがって、このようにＡＳＩＣやＰＬＤを用いる態様は、機能の改変、例えば第１参照テーブルＴ１の内容の書き換えを不可能にし、また第１制御部３３の動作内容の変更を困難にすることができる。そして、これによって外部ネットワーク１５から内部コンピュータ１２への不正なアクセスのリスクを極めて低くすることができる。
【００４７】
次に、上記構成の作用について、第２外部コンピュータ１１ｂを操作して、第１内部コンピュータ１２ａからプロセスデータを取得する場合を例に説明する。なお、以下の説明では、図１に示すように、第１外部コンピュータ１１ａのＩＰアドレスを「１９２．１６８．１００．１」とし、第２外部コンピュータ１１ｂのＩＰアドレスを「１９２．１６８．１００．２」とする。また、第１内部コンピュータ１２ａのＩＰアドレスを「１９２．１６８．１．１」、第２内部コンピュータ１２ｂのＩＰアドレスを「１９２．１６８．１．２」とする。さらに、第１参照テーブルＴ１、第２参照テーブルＴ２には、図３に示す内容が登録されているものとする。
【００４８】
まず、第２外部コンピュータ１１ｂを操作して、第１内部コンピュータ１２ａからのプロセスデータの取得を指示する。この指示を受けて、第２外部コンピュータ１１ｂは、第１内部コンピュータ１２ａとＴＣＰでのコネクションを確立させる。このため、第２外部コンピュータ１１ｂは、まず第１内部コンピュータ１２ａのＩＰアドレスを宛先ＩＰアドレスとして格納したＡＲＰリクエストをブロードキャストする。
【００４９】
第１ユニット２１の第１通信部３１は、第１参照テーブルＴ１には、第１内部コンピュータ１２ａのＩＰアドレスが宛先ＩＰアドレスとなった第１パケット登録情報が登録されているため、上記ＡＲＰリクエストに応答して自己のＭＡＣアドレスを格納したＡＲＰリプライを、ＡＲＰリクエストの送信元に返信する。これにより、第２外部コンピュータ１１ｂは、ＡＲＰリプライから第１通信部３１のＭＡＣアドレスを取得する。これ以降、第２外部コンピュータ１１ｂは、第１内部コンピュータ１２ａのＩＰアドレスを宛先ＩＰアドレスとしてパケットを送出する場合、第１通信部３１のＭＡＣアドレスを宛先ＭＡＣアドレスとする。そして、第２外部コンピュータ１１ｂは、第１内部コンピュータ１２ａのＩＰアドレスを宛先ＩＰアドレスとして、ＳＹＮパケットの送信を行う。結果として、図５に示すように、第２外部コンピュータ１１ｂと第１通信部３１との間で、そのＳＹＮパケットと、ＡＣＫ＋ＳＹＮパケットと、ＡＣＫパケットとの送受信が行われて、ＴＣＰのコネクションが確立される。なお、外部コンピュータ１１、内部コンピュータ１２、第１、第２通信部３１、４１がパケットを送信する場合の送信元ＭＡＣアドレスは、それぞれ自己のＭＡＣアドレスとなる。
【００５０】
ＴＣＰのコネクションが確立した後、第２外部コンピュータ１１ｂは、取得するプロセスデータに応じた要求メッセージをＴＣＰデータ部に格納した要求パケットＰ１（図５、図６参照）を生成し、その要求パケットＰ１を外部ネットワーク１５に送出する。図６に示すように、要求パケットＰ１に付与されている送信元ＩＰアドレスは第２外部コンピュータ１１ｂのＩＰアドレス「１９２．１６８．１００．２」であり、宛先ＩＰアドレスは第１内部コンピュータ１２ａのＩＰアドレス「１９２．１６８．１．１」である。また、要求パケットには、宛先ポート番号としてＴＣＰ／Ｍｏｄｂｕｓに対応するポート番号（この例では５０２）が付与され、送信元ポート番号には、任意のポート番号（この例では１５０１）が付与されている。
【００５１】
第１通信部３１によって、要求パケットＰ１が受信され、その要求パケットＰ１から取り出された受信パケット情報と送信元ポート番号が第１制御部３３に送られる。受信パケット情報と送信元ポート番号を受け取ると、第１制御部３３は、第１参照テーブルＴ１に登録されている第１パケット登録情報のいずれかに受信パケット情報が含まれているか否かを調べて、要求パケットＰ１が登録パケットであるか否かを判定する。
【００５２】
受信パケット情報が含まれる第１パケット登録情報が第１参照テーブルＴ１にない場合には、要求パケットＰ１は登録パケットではないと判定される。このように登録パケットではないと判定した場合には、第１制御部３３は、例えば第１通信部３１と第２外部コンピュータ１１ｂとの間のコネクションを切断する。一方、受信パケット情報が含まれる第１パケット登録情報、すなわち第１該当パケット登録情報が第１参照テーブルＴ１にある場合には、要求パケットＰ１が登録パケットと判定される。そして、この場合には、第１該当パケット登録情報に対応した信号線Ｑが所定時間だけアクティブ（ハイレベル）にされる。
【００５３】
要求パケットＰ１のアプリケーションデータの内容が、例えば、「0001 0000 0006 11 03 008A 00E3」である場合には、第１参照テーブルＴ１の信号線番号「２」に対応する第１パケット登録情報が第１該当パケット登録情報になる。したがって、第１制御部３３によって、信号線番号「２」の信号線Ｑ２がアクティブにされる。これにより、図５において破線で示すように、第１制御部３３から第２制御部４３に対して、信号線Ｑ２によって信号線番号「２」に対応する第１パケット登録情報を含むパケットを第１ユニット２１が受信したことが伝達される。
【００５４】
また、第１制御部３３によって、ポート番号変換テーブルＴｐに要求パケットＰ１に対応した変換レコードが登録される。図６に示すよう、要求パケットＰ１の送信元ポート番号「１５０１」が変換前ポート番号とされ、第１該当パケット登録情報の送信元ポート番号「３００２」が変換後ポート番号とされた変換レコードＲ１が登録される。
【００５５】
一方、上記のようにいずれか１本の信号線Ｑがアクティブになると、第２制御部４３は、アクティブになった信号線Ｑの信号線番号を特定する。そして、特定した信号線番号に対応した第２パケット登録情報、すなわち第１該当パケット登録情報と同じ内容の第２該当パケット登録情報を第２参照テーブルＴ２から読み出す。そして、第２通信部４１に対して、第２該当パケット登録情報の宛先ＩＰアドレスをＩＰアドレスとするネットワーク機器との間でＴＣＰのコネクションを確立させる。第２通信部４１は、ＡＲＰを用いて第２該当パケット登録情報の宛先ＩＰアドレスに対応するＭＡＣアドレスを取得した後、第２該当パケット登録情報の宛先ＩＰアドレスを用いて、ＳＹＮパケットと、ＡＣＫ＋ＳＹＮパケットと、ＡＣＫパケットとの送受信することで、ＴＣＰのコネクションが確立する。
【００５６】
ＴＣＰのコネクションが確立すると、第２制御部４３は、第２該当パケット登録情報のアプリケーションデータに、第２該当パケット登録情報の宛先ポート番号と送信元ポート番号とを有するＴＣＰヘッダと、第２該当パケット登録情報の宛先ＩＰアドレスと送信元ＩＰアドレスとを有するＩＰヘッダを付加したパケットを生成する。そして、この生成したパケットを第２通信部４１から内部ネットワーク１６に送出する。
【００５７】
上記のように信号線Ｑ２がアクティブとされた場合、信号線番号「２」に対応した第２パケット登録情報が第２該当パケット登録情報となる。第２該当パケット登録情報の宛先ＩＰアドレスは、要求パケットＰ１と同じ第１内部コンピュータ１２ａのものであるから、第２通信部４１と第１内部コンピュータ１２ａとの間でＴＣＰのコネクションが確立する。そして、第２該当パケット登録情報は、第１該当パケット登録情報と同じ内容になっているから、第２制御部４３によって、要求パケットＰ１と実質的に同じ内容を持つ要求パケットＰ２（図５、図６参照）が生成される。すなわち、要求パケットＰ２は、送信元ＩＰアドレス、宛先ＩＰアドレス、宛先ポート番号、要求メッセージ（アプリケーションデータ）が要求パケットＰ１のものと同じになっており、送信元ポート番号が第１、第２該当パケット登録情報の送信元ポート番号「３００２」となっている。
【００５８】
このように信号線Ｑを用いた簡単な構成で、内部ネットワーク１６に送信すべきパケットの内容と、そのパケットの送信のタイミングとを第１ユニット２１から第２ユニット２２に伝達され、第２該当パケット登録情報から第１ユニット２１が受信したパケットに相当するパケットが復元されて内部ネットワーク１６に送出される。
【００５９】
内部ネットワーク１６に送出された要求パケットＰ２は、第１内部コンピュータ１２ａによって受信される。第１内部コンピュータ１２ａは、要求パケットＰ２から要求メッセージを取り出して、宛先ポート番号に応じた所定のアプリケーションで処理する。これにより、要求メッセージに応じたプロセスデータが指定されたアドレス範囲から取り出され、これを格納した応答パケットＰ３（図５、図６参照）が生成される。応答パケットＰ３は、第１内部コンピュータ１２ａから内部ネットワーク１６に送出される。なお、例えば、応答パケットＰ３には、要求パケットＰ２に対する確認応答のためのＡＣＫフラグがセットされるが、応答パケットＰ３とは別にＡＣＫパケットを送信してもよい。
【００６０】
応答パケットＰ３では、要求パケットＰ２と送信元と宛先とが逆にされるので、図６に示すように、送信元ＩＰアドレスとして第１内部コンピュータ１２ａのＩＰアドレス「１９２．１６８．１．１」が付与され、宛先ＩＰアドレスとして第２外部コンピュータ１１ｂのＩＰアドレス「１９２．１６８．１００．２」が付与されている。また、応答パケットＰ３には、送信元ポート番号には要求パケットＰ２の宛先ポート番号「５０２」が、宛先ポート番号には要求パケットＰ２の送信元ポート番号「３００２」が付与されている。
【００６１】
内部ネットワーク１６に送出された応答パケットＰ３は、宛先ＭＡＣアドレスが第２通信部４１のＭＡＣアドレスとなっているので、第２通信部４１によって受信される。第２通信部４１は、応答パケットＰ３の受信に応答してＡＣＫパケットを返信するとともに、応答パケットＰ３を送信部４４に送る。この応答パケットＰ３は、送信部４４から伝送線路２４を介して第１ユニット２１の受信部３４に送られる。なお、１つの要求パケットに対して複数の応答パケットが返信される場合、各応答パケットを順次に一方向伝送路Ｓを介して第２ユニット２２から第１ユニット２１に送信すればよい。
【００６２】
受信部３４は、応答パケットＰ３を受信すると、ポート番号変換テーブルＴｐを参照して、応答パケットＰ３の宛先ポート番号の変換を行った応答パケットＰ４（図５、図６参照）を第１通信部３１に送る。応答パケットＰ３は、宛先ポート番号が「３００２」であるから、変換後ポート番号「３００２」になっている変換レコードＲ１が参照され、その変換レコードＲ１の変換前ポート番号「１５０１」に応答パケットＰ３の宛先ポート番号が置き換えられる。これにより、図６に示すように、応答パケットＰ４の宛先ポート番号は、元となった要求パケットＰ１の送信元ポート番号と同じ「１５０１」に変換される。
【００６３】
図５に示すように、応答パケットＰ４が第１通信部３１から外部ネットワーク１５に送出される。このときに、第１通信部３１は、応答パケットＰ４が、先の要求パケットＰ１に応答したパケットとなるように、そのＩＰヘッダやＴＣＰヘッダの情報、例えばシーケンス番号や確認応答番号を修正する。なお、応答パケットＰ４のアプリケーションデータを１つのパケットで送信できない場合には、複数のパケットに分割して送信してもよい。
【００６４】
応答パケットＰ４は、その宛先ＩＰアドレスが第２外部コンピュータ１１ｂのＩＰアドレスとなっているから、第２外部コンピュータ１１ｂによって受信される。この応答パケットＰ４の受信に応答して、第２外部コンピュータ１１ｂからＡＣＫパケットが返信されて、このＡＣＫパケットが第１通信部３１で受信される。一方、第２外部コンピュータ１１ｂでは、受信した応答パケットＰ４からプロセスデータが取り出されて、宛先ポート番号に応じた要求元のアプリケーションに渡される。応答パケットＰ４の宛先ポート番号は、要求パケットＰ１に付与した送信元ポート番号と同じになっているため、プロセスデータは要求元のアプリケーションに渡される。
【００６５】
上記と同様な手順により、外部コンピュータ１１が内部コンピュータ１２に送る要求パケットの受信パケット情報が第１テーブルＴ１に予め登録されている第１パケット登録情報のものと同じであれば、その要求パケットに相当する要求パケットが第２ユニット２２で生成され内部コンピュータ１２に送信される。そして、外部コンピュータ１１は、その要求パケットに対応する応答パケットをデータダイオード装置１４を介して内部コンピュータ１２から受信する。
【００６６】
このようにして、外部コンピュータ１１は、必要とするタイミングで、要求パケットを送信することにより、それに対応したプロセスデータを内部コンピュータ１２から取得できる。
【００６７】
一方、第１通信部３１が外部ネットワーク１５から受信するパケットの受信パケット情報が、第１参照テーブルＴ１に登録されているいずれの第１パケット登録情報にも含まれていない場合には、上記のように第１制御部３３は何もしないから、第２ユニット２２から内部ネットワーク１６、内部コンピュータ１２にパケットが送信されることはない。これにより、外部ネットワーク１５上の許可されていないコンピュータからの内部コンピュータ１２へのアクセス、許可されていない内部コンピュータ１２へのアクセス、許可されていないプロセスデータの取得を行うことができない。したがって、不正なアクセスはできず、情報漏洩等が発生しない。
【００６８】
そして、データダイオード装置１４では、上記のように、外部ネットワーク１５側から内部ネットワーク１６側、すなわち第１ユニット２１から第２ユニット２２へのパケット内容の伝達は、その内容に応じた信号線Ｑを第１ユニット２１側でアクティブにし、その信号線Ｑに対応する第２パケット登録情報を第２ユニット２２側で特定することで行っている。また、第２ユニット２２から第１ユニット２１へのパケットの伝送に通信方向が限定された一方向伝送路Ｓを用いている。このため、外部ネットワーク１５側のコンピュータからデータダイオード装置１４に不正な改変を試みても、第２ユニット２２を操作することは困難であり、内部コンピュータ１２に不正なパケットを送ることはできない。したがって、内部コンピュータ１２への不正なアクセスが確実に防止される。
【００６９】
上記の説明では、アプリケーションプロトコルとしてＭｏｄｂｕｓ／ＴＣＰを用いているが、アプリケーションプロトコルは特に限定されるものではない。また、第１、第２参照テーブルＴ１、Ｔ２に登録されている複数の第１、第２パケット登録情報のアプリケーションデータが異なる種類のアプリケーションプロトコルのものであってもよい。すなわち、このデータダイオード装置１４では、アプリケーションプロトコルが異なるパケットであっても、区別することなく扱うことが可能である。
【００７０】
また、上記のデータダイオード装置１４は、トランスポート層におけるプロトコルとしてＴＣＰのパケットを中継しているが、例えば、ＴＣＰとＵＤＰとを併用する場合には、プロトコル種別を特定するための情報を第１、第２パケット登録情報に加える。この場合、第２ユニット２２では、第２パケット登録情報のプロトコル種別に応じたヘッダを付与してパケットを生成するとともに、プロトコル種別に示されるプロトコルに準じた通信の制御を行う。このプロトコル種別は、第２ユニット２２がパケットを生成するために必要なので、第１パケット登録情報では省略することができる。もちろん、プロトコル種別を含めて登録パケットであるか否かを判定する場合には、第１パケット登録情報にも必要になる。
【００７１】
［第２実施形態］
第２実施形態のデータダイオード装置（特定パケット中継機能付きデータダイオード装置）は、プログラマブルロジックデバイスの一例として、内部の複数の回路ブロックが構成情報にしたがって組み合わせられることで任意の回路構成とすることが可能なＦＰＧＡ用いて第１、第２ユニットを構成するとともに、特定のパケットを中継する通常モードと、パケット登録情報を取得して参照テーブルを作成する設定モードとを有している。なお、以下に詳細を説明する他は、第１実施形態と同様であり、実質的に同じ部材には同一の符号を付してその詳細な説明を省略する。
【００７２】
図７に示すように、データダイオード装置１４は、第１、第２ＦＰＧＡ６０、７０を備えている。第１、第２ＦＰＧＡ６０、７０は、周知のように、内部の複数の回路ブロックが構成情報にしたがって組み合わせられることで各種機能を有する処理回路が構成される。データダイオード装置１４は、動作モードとして設定モードと通常モードとを有し、動作モードの選択が可能になっている。第１、第２ＦＰＧＡ６０、７０は、データダイオード装置１４の起動ごとに、選択されている動作モードの構成情報をロードする。なお、図７では、第１、第２ＦＰＧＡ６０、７０内に通常モードで形成される回路を描いてある。
【００７３】
第１、第２ＦＰＧＡ６０、７０は、プリント基板ＰＳ上に所定の間隔をあけて実装されている。第１ＦＰＧＡ６０と第２ＦＰＧＡ７０との間のプリント基板ＰＳ上に複数の信号線Ｑと、設定モードで使用する通信用配線Ｌ０が形成されている。通信用配線Ｌ０は、第１ＦＰＧＡ６０と第２ＦＰＧＡ７０とを繋ぐ複数本の配線パターンで構成される。なお、通信用配線Ｌ０として、プリント基板ＰＳに着脱自在なケーブルを用い、設定モードのときにだけそのケーブル装着してもよい。
【００７４】
第１、第２ＦＰＧＡ６０、７０の周囲のプリント基板ＰＳ上には、それぞれ構成メモリ６１、７１、ＥＴＨ−ＰＨＹ（Ethernet（登録商標） Physical Layer）チップ３１ａ、４１ａ、光学ＰＨＹチップ３４ａ、４４ａ、メモリカード装着部６２、７２、ＤＲＡＭ６３、７３、クロック発生器６４、７４、ディスプレイ６５、７５が配されている。ＥＴＨ−ＰＨＹ３１ａは、第１通信部３１の一部を構成し、コネクタ６６を介して外部ネットワーク１５が接続される。また、ＥＴＨ−ＰＨＹ４１ａは、第２通信部４１の一部を構成し、コネクタ７６を介して内部ネットワーク１６が接続される。
【００７５】
メモリカード装着部６２、７２は、メモリカード６２ａ、７２ａが装着されるメモリスロットとメモリカード６２ａ、７２ａに対するデータの読み出し及び書き込みを行うインタフェース回路等で構成される。メモリカード６２ａは、第１参照テーブルＴ１、ポート番号変換テーブルＴｐを記憶する第１記憶部になっており、メモリカード７２ａは、第２参照テーブルＴ２を記憶する第２記憶部となっている。光学ＰＨＹチップ３４ａは、受信部３４の一部を構成し、光学ＰＨＹチップ４４ａは、送信部４４の一部を構成する。光学ＰＨＹチップ３４ａ、４４ａの間に光ファイバが伝送線路２４として接続されている。
【００７６】
ＤＲＡＭ６３、７３は、パケット等を一時的に記憶するバッファメモリ等として用いられる。クロック発生器６４、７４は、第１ＦＰＧＡ６０、７０に動作用のクロック信号を供給する。ディスプレイ６５、７５は対応する第１、第２ユニット２１、２２の動作情報を表示する。
【００７７】
第１ＦＰＧＡ６０に接続された構成メモリ６１は、第１ＦＰＧＡ６０用の通常構成情報６１ａと設定用構成情報６１ｂとが書き込まれている。第１ＦＰＧＡ６０と構成メモリ６１との間には、動作モードを選択するためのモード選択部６８が接続されている。このモード選択部６８を操作することによって、通常モードと設定モードといずれかを選択することができる。モード選択部６８は、選択されている動作モードに応じて、第１ＦＰＧＡ６０が読み出す構成メモリ６１の領域を切り替えることによって、選択された動作モードの構成情報を第１ＦＰＧＡ６０にロードさせる。これにより、第１ＦＰＧＡ６０には、通常モードが選択されている時には、通常構成情報６１ａがロードされ、設定モードが選択されている時には設定用構成情報６１ｂがロードされる。
【００７８】
第２ＦＰＧＡ７０に接続された構成メモリ７１は、第２ＦＰＧＡ７０用の通常構成情報７１ａと設定用構成情報７１ｂとが書き込まれている。第２ＦＰＧＡ７０と構成メモリ７１との間に、モード選択部７８が接続されている。このモード選択部７８は、モード選択部６８と連動しており、モード選択部６８と同じ動作モードを選択する。これにより、第２ＦＰＧＡ７０には、通常モードが選択されている時には、通常構成情報７１ａがロードされ、設定モードが選択されている時には第２ＦＰＧＡ７０に設定用構成情報７１ｂがロードされる。
【００７９】
通常構成情報６１ａのロードによって、図７に示すように、第１ＦＰＧＡ６０は、その内部に第１通信部３１、第１制御部３３、受信部３４を形成し、その第１ＦＰＧＡ６０と周辺の回路とによって第１ユニット２１が構成される。また、通常構成情報７１ａのロードによって、第２ＦＰＧＡ７０は、その内部に第２通信部４１、第２制御部４３、送信部４４を形成し、その第２ＦＰＧＡ７０と周辺の回路とによって第２ユニット２２が構成される。この通常モードにおける、第１、第２ＦＰＧＡ６０、７０を用いて構成される第１、第２ユニット２１、２２及びデータダイオード装置１４の構成、動作は、第１実施形態と同じであるから、その説明を省略する。
【００８０】
なお、メモリカード６２ａ、７２ａを第１、第２記憶部としているが、これらを第１、第２ＦＰＧＡ６０、７０の内部に形成してもよい。この場合、メモリカード６２ａ、７２ａと第１、第２記憶部との相互間で第１、第２参照テーブルＴ１、Ｔ２を複製ないし移動できるようにし、コンピュータ等を用いて第１、第２参照テーブルＴ１、Ｔ２の内容を編集できるようにすることが好ましい。
【００８１】
設定モードは、第１、第２参照テーブルＴ１、Ｔ２を作成するための動作モードである。以下、設定モードを用いた第１、第２参照テーブルＴ１、Ｔ２の作成について説明する。データダイオード装置１４を外部ネットワーク１５と内部ネットワーク１６に接続した状態にする。また、外部コンピュータ１１と内部コンピュータ１２とのネットワークアドレスが異なる場合には、例えばルータをデータダイオード装置１４と内部ネットワーク１６との間に接続し、通信を可能にするが、後述する中継部８１にルータの機能を持たせてもよい。さらに、メモリカード装着部６２にメモリカード６２ａを装着した状態にする。
【００８２】
なお、外部コンピュータ１１や内部コンピュータ１２に相当する設定用のコンピュータをコネクタ６６、７６に接続してもよい。この場合には、外部コンピュータ１１や内部コンピュータ１２と同じＩＰアドレスを設定用のコンピュータに付与しておくと、第１、第２参照テーブルＴ１、Ｔ２の送信元ＩＰアドレス、宛先ＩＰアドレスの修正が不要になる。設定用のコンピュータを用いる態様は、設定モード時に内部コンピュータ１２に対する不正なアクセスを防止できるので好ましい。
【００８３】
図８に示すように、モード選択部６８を操作して設定モードを選択し、設定モードでデータダイオード装置１４を起動する（ステップＳ１）。モード選択部６８が設定モードとなることに連動してモード選択部７８でも設定モードが選択される。したがって、第１、第２ＦＰＧＡ６０、７０は、それぞれ対応する構成メモリ６１、７１から設定用構成情報６１ｂ、７１ｂをロードする（ステップＳ２）。
【００８４】
設定用構成情報６１ｂ、７１ｂのロードにより、図９に示すように、第１ＦＰＧＡ６０には、その内部に情報取得部８０と、中継部８１と、中継部８１を介してＥＴＨ−ＰＨＹチップ３１ａを通信用配線Ｌ０に接続する内部通信用配線Ｌ１とが形成される。また、第２ＦＰＧＡ７０には、その内部に通信用配線Ｌ０をＥＴＨ−ＰＨＹチップ４１ａに接続する内部通信用配線Ｌ２が形成される。中継部８１は、ＥＴＨ−ＰＨＹチップ３１ａとＥＴＨ−ＰＨＹチップ４１ａの一方が受信したパケットを他方に中継する。これにより、コネクタ６６とコネクタ７６との間でパケットを伝送できるパケット伝送路Ｌが形成される。すなわち、外部ネットワーク１５側からのパケットを内部ネットワーク１６側に送るパケット伝送路Ｌが有効化される。なお、パケット伝送路Ｌは、内部ネットワーク１６側からのパケットを外部ネットワーク１５側にも伝送できる双方向のものであるが、設定モードでも一方向伝送路Ｓ（図７参照）を形成して、内部ネットワーク１６側から外部ネットワーク１５側へのパケットの伝送に一方向伝送路Ｓを用いてもよい。
【００８５】
情報取得部８０は、パケット伝送路Ｌのうち、ＥＴＨ−ＰＨＹチップ３１ａからＥＴＨ−ＰＨＹチップ４１ａに向けパケットを送信する通信線路に接続されており、外部ネットワーク１５から内部ネットワーク１６に向けて送信されるパケットをキャプチャする。この情報取得部８０は、キャプチャしたパケットのうち抽出条件を満たすパケットを抽出し、抽出したパケットから送信元ＩＰアドレス、宛先ＩＰアドレス、宛先ポート番号、アプリケーションデータをパケット登録情報として取得し、これに宛先ポート番号、インターバル時間を付与したものを信号線番号に対応させてメモリカード６２ａに書き込むことによって、第１参照テーブルＴ１を作成する。抽出条件としては、例えば、アプリケーションデータがＴＣＰデータ部に格納されていることが情報取得部８０に設定されている。
【００８６】
設定モードでのデータダイオード装置１４の起動完了後、外部コンピュータ１１に対してプロセスデータを取得するための操作を行い、その外部コンピュータ１１から要求パケットを内部コンピュータ１２に送信する（ステップＳ３）。このときに操作する外部コンピュータ１１と、取得しようとするプロセスデータと、プロセスデータの取得先の内部コンピュータ１２との組み合わせは、中継を許可する組み合わせで行う。この操作により、外部コンピュータ１１から宛先ＩＰアドレス、送信元ＩＰアドレス及び要求メッセージの中継させる組み合わせを含み、かつ実際に使用される宛先ポート番号が付与された要求パケットが中継部８１を含むパケット伝送路Ｌを介して内部コンピュータ１２に送られる。
【００８７】
内部コンピュータ１２は、上記要求パケットを受信すると、プロセスデータを格納した応答パケットを要求パケットの送信元である外部コンピュータ１１に送る。応答パケットは、要求パケットと逆経路で外部コンピュータ１１に送られて受信される。このようにして、外部コンピュータ１１と内部コンピュータ１２との間でパケットが送受信される。なお、外部コンピュータ１１と内部コンピュータ１２との間でパケットの送受信されるときには、例えばＡＲＰやコネクションを確立するためのパケット等も送受信される。
【００８８】
上記のように外部コンピュータ１１と内部コンピュータ１２との間で送受信されるパケットのうち、外部ネットワーク１５側から内部ネットワーク１６側に送られるパケットが情報取得部８０でキャプチャされる。そして、情報取得部８０は、キャプチャしたパケットのうち上記抽出条件を満たすパケットを抽出し、抽出したパケットから送信元ＩＰアドレス、宛先ＩＰアドレス、宛先ポート番号、アプリケーションデータをパケット登録情報として取得する（ステップＳ４）。これにより、ＡＲＰのパケット、アプリケーションデータが格納されていないＳＹＮパケットやＡＣＫパケットが除外されて、要求メッセージを格納した要求パケットの送信元ＩＰアドレス、宛先ＩＰアドレス、宛先ポート番号及びアプリケーションデータがパケット登録情報として取得される。要求パケット以外のパケットからパケット登録情報が取得されることがあるが、このような第１パケット登録情報は、第１参照テーブルＴ１の作成後、第１参照テーブルＴ１の内容を確認して手動で削除すればよい。
【００８９】
情報取得部８０によって、取得したパケット登録情報にユニークな送信元ポート番号と、インターバル時間とが加えられた登録用のパケット登録情報が生成され、そのパケット登録情報が信号線番号に対応させてメモリカード６２ａに書き込まれる。これにより、第１参照テーブルＴ１に信号線番号に対応させた第１パケット登録情報が登録される（ステップＳ５）。
【００９０】
第１パケット登録情報を登録すべき全ての要求パケットについての送信が完了していない場合には（ステップＳ６でＮＯ）、再び外部コンピュータ１１に対してプロセスデータを取得するための操作を行って、要求パケットを内部コンピュータ１２に送信する（ステップＳ３）。このようにして、要求パケットの送信を繰り返し、同様な手順で得られるパケット登録情報を第１参照テーブルＴ１に順次登録する（ステップＳ４，Ｓ５）。
【００９１】
全ての要求パケットの送信が完了したならば（ステップＳ６でＹＥＳ）、データダイオード装置１４をいったん停止させてから、メモリカード装着部６２から取り外したメモリカード６２ａと、メモリカード７２ａとをデータコピー装置（図示せず）にセットして、第１参照テーブルＴ１のデータをメモリカード７２ａに複写する。これにより、メモリカード７２ａに第２参照テーブルＴ２を作成する（ステップＳ７）。この後、メモリカード６２ａ、７２ａをメモリカード装着部６２、７２にそれぞれ装着する。なお、データコピー装置としては、例えばパーソナルコンピュータ等を用いることができる。また、情報取得部８０によって作成された第１参照テーブルＴ１の内容を手動で編集してもよい。
【００９２】
メモリカード６２ａ、７２ａの装着後、モード選択部６８を操作して通常モードを選択する（ステップＳ８）。この操作により、モード選択部７８も通常モードを選択した状態になる。この後に、データダイオード装置１４を再び起動する。通常モードが選択されているため、第１、第２ＦＰＧＡ６０、７０は、通常構成情報をそれぞれロードする（ステップＳ９）。通常構成情報がロードされることで、第１ＦＰＧＡ６０の内部に第１通信部３１、第１制御部３３、受信部３４が形成されて、この第１ＦＰＧＡ６０と周辺の回路とによって、第１ユニット２１が構成される。また、第２ＦＰＧＡ７０の内部に第２通信部４１、第２制御部４３、送信部４４が形成されて、第２ＦＰＧＡ７０と周辺の回路とによって第２ユニット２２が構成される。これ以降、データダイオード装置１４は、通常モードで動作する。
【００９３】
ところで、要求メッセージの違いやＩＰアドレスの違いに応じて第１、第２参照テーブルＴ１、Ｔ２のレコードを作成する必要がある。しかしながら、上記のように設定モードを用いれば、第１、第２参照テーブルＴ１、Ｔ２の各レコードの作成は簡単であり、接続するシステムに応じたデータダイオード装置１４の設定が容易になる。
【００９４】
上記抽出条件は、それに限定されるものではなく、種々の条件を設定することができる。例えば、宛先ポート番号や、宛先ＩＰアドレス、送信元ＩＰアドレス等を抽出条件に用いることもできる。また、複数の条件を組み合わせて抽出条件としてもよい。情報取得部８０を第２ＦＰＧＡ７０に形成して第２参照テーブルＴ２を作成してから、この第２参照テーブルＴ２をメモリカード６２ａに複写することで第１参照テーブルＴ１を作成してもよい。第１、第２ＦＰＧＡ６０、７０の両方に情報取得部８０それぞれを形成して、対応するメモリカードに第１、第２参照テーブルＴ１、Ｔ２をそれぞれ作成してもよい。
【００９５】
さらに、上記各実施形態では、プロセスデータを取得する場合について説明したが、取得するデータはこれに限るものではない。また、データダイオード装置１４は、例えばプラントの機器の動作や内部コンピュータ１２自体の動作を制御するコマンドやデータを内部コンピュータ１２に送る場合にも利用できる。
【００９６】
上記各実施形態では、第１、第２参照テーブルＴ１、Ｔ２のパケット登録情報の宛先ＩＰアドレスを個々の内部コンピュータ１２のＩＰアドレス（ユニキャストアドレス）としているが、これに限定するものではない。パケット登録情報の宛先ＩＰアドレスとして、例えばマルチキャストアドレスを用いることで、複数の内部コンピュータ１２に同時にパケットを送信できるようにしてもよい。
【００９７】
上記各実施形態では、送信元を特定する送信元情報として送信元ＩＰアドレスを、また宛先を特定する宛先情報として宛先ＩＰアドレスを用いているが、送信元情報、宛先情報は、これらに限定されるものではなく、通信のプロトコルに応じた情報を用いればよい。また、パケット登録情報として、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号及びアプリケーションデータで構成したが、それらに限定されるものではなく、通信のプロトコルに応じた情報で構成すればよい。
【符号の説明】
【００９８】
１１、１２  コンピュータ
１４  特定パケット中継機能付きデータダイオード装置
１５、１６  ネットワーク
２１、２２  ユニット
２３  信号線部
３１、４１  通信部
３３、４３  制御部
５３  パケット中継部
６０、７０  ＦＰＧＡ
Ｓ  一方向伝送路
Ｔ１、Ｔ２  参照テーブル
【要約】
【課題】簡易な構成で保護されたネットワークから任意のタイミングでデータを得ることができる特定パケット中継機能付きデータダイオード装置及びその設定方法を提供する。
【解決手段】外部ネットワークと内部ネットワークとの間に特定パケット中継機能付きデータダイオード装置１４が接続されている。特定パケット中継機能付きデータダイオード装置１４は、信号線Ｑで接続された第１ユニット２１と第２ユニット２２とを有している、外部ネットワーク１５に接続された第１ユニット２１は、複数のパケット登録情報が信号線Ｑに対応させて第１参照テーブルＴ１に登録されている。内部ネットワーク１６に接続された第２ユニット２２は、第１参照テーブルＴ１と同じ内容の第２参照テーブルＴ２を有している。第１ユニット２１が受信したパケットに含まれる送信元ＩＰアドレス、宛先ＩＰアドレス及びアプリケーションデータを含むパケット登録情報に対応した信号線をアクティブにすることによって、第２ユニット２２にパケットの内容と内部ネットワーク１６に送信するパケットを受信したことを伝達する。第２ユニット２２は、パケット登録情報に基づいたパケットを生成して第２ネットワークに送出する。特定パケット中継機能付きデータダイオード装置１４は、一方向にデータを伝送する一方向伝送路Ｓを用いて内部コンピュータ１２からのパケットを外部コンピュータ１１に中継する。
【選択図】図２【図１】
0005930355.tif 000002
【図２】
0005930355.tif 000003
【図３】
0005930355.tif 000004
【図４】
0005930355.tif 000005
【図５】
0005930355.tif 000006
【図６】
0005930355.tif 000007
【図７】
0005930355.tif 000008
【図８】
0005930355.tif 000009
【図９】
0005930355.tif 000010