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