JP6083549B1 - 特定パケット中継機能付きデータダイオード装置 - Google Patents

特定パケット中継機能付きデータダイオード装置 Download PDF

Info

Publication number
JP6083549B1
JP6083549B1 JP2016112232A JP2016112232A JP6083549B1 JP 6083549 B1 JP6083549 B1 JP 6083549B1 JP 2016112232 A JP2016112232 A JP 2016112232A JP 2016112232 A JP2016112232 A JP 2016112232A JP 6083549 B1 JP6083549 B1 JP 6083549B1
Authority
JP
Japan
Prior art keywords
packet
variable
unit
registration information
signal line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016112232A
Other languages
English (en)
Other versions
JP2017220733A (ja
Inventor
賢一 森本
賢一 森本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CONTROL SYSTEM LABORATORY LTD.
Original Assignee
CONTROL SYSTEM LABORATORY LTD.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CONTROL SYSTEM LABORATORY LTD. filed Critical CONTROL SYSTEM LABORATORY LTD.
Priority to JP2016112232A priority Critical patent/JP6083549B1/ja
Priority to PCT/JP2017/000060 priority patent/WO2017119418A1/ja
Priority to US16/068,046 priority patent/US10841132B2/en
Priority to EP17735955.1A priority patent/EP3402132B1/en
Application granted granted Critical
Publication of JP6083549B1 publication Critical patent/JP6083549B1/ja
Publication of JP2017220733A publication Critical patent/JP2017220733A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】簡易な構成で、保護されたネットワークから任意のタイミングでデータを得ることができる特定パケット中継機能付きデータダイオード装置を提供する。【解決手段】データダイオード装置84では、第1ユニット86から第2ユニット87へのパケット内容の伝送については、いずれの信号線Qがアクティブになっているか否かで行っている。【効果】外部ネットワーク15側のコンピュータからデータダイオード装置84に不正な改変を試みても、第2ユニット87を操作することは困難であり、内部コンピュータ12に不正なパケットを送ることはできない。【選択図】図2

Description

本発明は、特定パケット中継機能付きデータダイオード装置に関するものである。
例えばプラントの運転状態の監視・保守や運転効率の向上のために運転状態に関するデータをデータセンタに収集するデータ収集システムが知られている。このようなデータ収集システムでは、データセンタに設置された情報要求側コンピュータと、プラントに設置された情報提供側コンピュータとがネットワークを介して接続されている。情報要求側コンピュータは、ネットワークを介して、情報提供側コンピュータに運転状態に関するデータを取得させたり、情報要求側コンピュータに送信させたりするための要求を情報提供側コンピュータに送る。一方の情報提供側コンピュータは、要求にしたがってデータを取得し、そのデータをパケットに格納して情報要求側コンピュータにネットワークを介して送信する。
上記のようなデータ収集システムでは、情報提供側コンピュータを含むプラント内部のネットワーク機器を不正アクセス、情報漏洩,コンピュータウィルスの侵入等から保護するため、プラント内のネットワーク機器が接続されたネットワーク(以下、内部ネットワークという)と外部ネットワークとの境界にファイアウォールを接続することで、内部ネットワークに対するセキュリティを確保している。
また、確実なセキュリティを確保するための機器として、物理的に通信を一方向に限定するデータダイオードと称される機器が知られている。このデータダイオードは、内部ネットワークと外部ネットワークとの境界に設置され、内部ネットワークのネットワーク機器から外部ネットワークのネットワーク機器に向けたデータ送信のみを許可する。このようなデータダイオードは、内部ネットワーク方向へのデータ送信をソフトウェア的な通信制御で遮断するのではなく、物理的な原理に基づき完全に遮断している。例えばデータダイオードは、一方向だけの光通信用の発光器と受光器とを設けた構成にされて、完全に一方向のみのデータ送信に限定している。イーサネット(登録商標)やRS−232C等のシリアル通信において、双方向の信号線のうちの一方を切断した構成等でも、同様に実現可能である。
ところで、上記のファイアウォールのようなセキュリティ機器は、その機器の内部にあるソフトウェアによってパケットの流れを制御している。このためセキュリティ機器がサイバー攻撃の対象となり、セキュリティ機器の制御が外部から不正に改変されて、内部ネットワークに対する不正なアクセスを許し兼ねない。このため、定期的なパスワードの変更や、異常メッセージの確認と対処などの適切な運用を怠れば、長期間の運用において、セキュリティを維持できない。一方、データダイオードは、ソフトウェアによる通信の制御、遮断する装置と異なり、物理的に通信を一方向に限定しているため、その通信方向を限定する機能が改変されることはなく、内部ネットワークに対する不正なアクセスを許すことがない。したがって、長期間の運用においてもセキュリティの維持が可能である。
しかしながら、データダイオードは、外部から内部ネットワークに向けての通信を完全に遮断するため、上記のようなデータ収集システムに用いる場合に、内部ネットワークに接続された情報提供側コンピュータから送信されるデータの内容及びその送信タイミングは、予め決められた内容および送信タイミングに限定されるという問題がある。すなわち、外部ネットワークに接続された情報要求側コンピュータからの各種要求は情報提供側コンピュータに送信できない。したがって、外的な要因、例えば、外部ネットワーク側の機器の障害発生による一時的なデータの送信停止要求や、受信ミスをした際のデータの再送要求など、予想されうる限られた要求でさえも外部から内部に伝えることはできない。
本発明は、上記事情に鑑みてなされたものであり、簡易な構成であり、高いセキュリティを確保しつつ、外部からの要求等の許可された特定のパケットを、データダイオードで保護されたネットワークに送ることができる特定パケット中継機能付きデータダイオード装置を提供することを目的とする。
本発明の特定パケット中継機能付きデータダイオード装置は、第1ネットワークに接続された第1ユニットと、第2ネットワークに接続された第2ユニットと、前記第2ネットワークから受信したパケットを前記第2ユニットから前記第1ユニットへの一方向だけに伝送する一方向伝送路と、前記第1ネットワークから受信するパケットのうち許可された特定のパケットだけを前記第2ネットワークに中継するパケット中継部とを備え、前記パケット中継部は、前記第1ユニットと前記第2ユニットとの間に設けられた複数の信号線からなる信号線部と、前記第1ユニットと前記第2ユニットとの間に設けられた1つ又は複数の可変パケット用信号線からなる可変パケット用信号線部と、前記第1ユニットに設けられるとともに、前記特定のパケットのそれぞれについて、各前記特定のパケット内にある、可変パケット以外の一部の主体パケットが、第1パケット登録情報として予め登録され、前記第1ネットワークからのパケットが前記第1パケット登録情報として登録されたパケットであるか否かを判定し、登録されたパケットである場合に、当該パケットについての第1パケット登録情報に対応した信号線をアクティブにするパケット判定部と、前記第2ユニットに設けられるとともに、前記特定のパケットのそれぞれについて、各前記特定のパケット内にある、可変パケット以外の一部の主体パケットが、第2パケット登録情報として予め登録され、いずれかの信号線がアクティブになることに応答して、アクティブになった前記信号線に対応する第2パケット登録情報に基づいて、前記第1ユニットが受信したパケットに相当する復元パケットを生成し、前記第2ネットワークに送出するパケット復元部とを備え、前記パケット判定部は、各前記特定のパケット内にあるそれぞれの可変パケット毎に、前記可変パケット用信号線がアクティブ又は非アクティブであることを示した第1可変パケット登録情報が予め登録された構成を有し、前記パケットにより信号線をアクティブにする際に、該パケット内の可変パケットに対応した前記第1可変パケット登録情報に従って、前記可変パケット用信号線をアクティブ又は非アクティブとし、前記パケット復元部は、前記第1可変パケット登録情報に相当する第2可変パケット登録情報が予め登録された構成を有し、前記復元パケットを生成する際に、前記可変パケット用信号線がアクティブ又は非アクティブになっている状態を基に前記第2可変パケット登録情報を特定し、該第2可変パケット登録情報に対応付けられた可変パケットを、前記第1ユニットが受信したパケット内の可変パケットに相当する復元可変パケットとして前記第2ネットワークに送出するものである。
本発明の特定パケット中継機能付きデータダイオード装置によれば、第2ネットワークから第1ネットワークへのパケットは一方向伝送路を用いて伝送し、第1ネットワークから第2ネットワークへのパケットの中継は、第1ユニット側で第1パケット登録情報として登録されているパケットを受信したときに、その第1パケット登録情報に対応した信号線をアクティブにし、アクティブになった信号線に対応する第2パケット登録情報から第1ユニットで受信したパケットに相当する復元パケットを生成して第2ネットワークに送出するので、簡易な構成で外部からの許可された特定のパケットだけを、保護された第2ネットワークのネットワーク機器に送ることができるとともに、第1ネットワーク側から第2ユニットが改変されることなく高いセキュリティを確保することができる。
また、本発明では、第1ユニットによってアクティブ又は非アクティブにされた可変パケット用信号線を基に、第2ユニットおいて、対応する第2可変パケット登録情報を特定し、当該第2可変パケット登録情報から、第1ユニットが受信したパケット内の可変パケットに相当する復元可変パケットを生成するようにした。これにより、本発明では、第1ユニット側から第2ユニット側へのパケットの直接的な送信が行えないので、第1ネットワーク側から第2ユニットが改変されることなく高いセキュリティを確保でき、さらに、主体パケットとは別に可変パケットについても第2ネットワークに送れることから、その分、当該可変パケットによって第1ネットワークから第2ネットワークへ種々のデータを送信し得る。
本発明を実施したデータ収集システムの概略を示す説明図である。 特定パケット中継機能付きデータダイオード装置の構成を示すブロック図である。 図3Aは、各参照テーブルの内容の一例を示す説明図であり、図3Bは、各可変パケット参照テーブルの内容の一例を示す説明図である。 ポート番号変換テーブルの内容の一例を示す説明図である。 通信シーケンスの一例を示す説明図である。 ヘッダの変化の一例を示す説明図である。
図1に示すように、本発明を実施したデータ収集システム83は、第1、第2外部コンピュータ11a、11bが、第1、第2内部コンピュータ12a、12bからのデータを、特定パケット中継機能付きデータダイオード装置(以下、単にデータダイオード装置と称する)84を介して収集するシステムである。例えば、第1、第2内部コンピュータ12a、12bは、プラント内に配備されており、外部コンピュータ11は、プラント外に配備されている。第1、第2内部コンピュータ12a、12bは、プラントに配設した各センサが計測した温度や圧力、或いはカメラ等の撮像手段でプラント内を撮影した映像等を、各種プロセスデータとして取得し、そのプロセスデータを外部コンピュータ11が第1、第2内部コンピュータ12a、12bから取得する。なお、内部コンピュータ12から取得するデータは、プロセスデータに限らない。また、以下の説明では、第1、第2外部コンピュータ11a、11bを特に区別する必要がない場合には、外部コンピュータ11と総称する。また、第1、第2内部コンピュータ12a、12bを特に区別する必要がない場合には、内部コンピュータ12と総称する。
第1ネットワークとしての外部ネットワーク15には、外部コンピュータ11を含む複数の第1ネットワーク機器が設けられている。また、第2ネットワークとしての内部ネットワーク16には、内部コンピュータ12を含む第2ネットワーク機器が設けられている。データダイオード装置84は、外部ネットワーク15と内部ネットワーク16との境界に接続されている。データダイオード装置84は、内部ネットワーク16から外部ネットワーク15へのパケットを伝送するとともに、予め許可した特定のパケットだけを外部ネットワーク15から内部ネットワーク16に中継する。内部ネットワーク16は、データダイオード装置84によって外部からの不正なアクセスから保護されたネットワークである。
この例では、外部コンピュータ11とデータダイオード装置84、内部コンピュータ12とデータダイオード装置84は、いずれもTCP/IPすなわちインターネット・プロトコル・スイートによる通信を行う。また、データ収集システム83は、TCP/IPの4階層モデルのネットワークインターフェイス層(OSI参照モデルの第1、第2層相当)では、例えばイーサネット(登録商標)を用いている。また、説明を簡単にするために、この例では、データダイオード装置84が中継するパケットは、トランスポート層におけるプロトコルとしてTCPを用いたパケットとする。なお、通信のプロトコルは、特に限定されない。
外部コンピュータ11は、外部ネットワーク15、データダイオード装置84及び内部ネットワーク16を介して内部コンピュータ12との間でパケットの送受信を行う。これによって、外部コンピュータ11は、内部コンピュータ12からプロセスデータを取得する。周知のように、パケットは、アプリケーション層(OSI参照モデルの第5〜第7層)における処理で生成されたアプリケーションデータにトランスポート層(OSI参照モデルの第4層相当)におけるヘッダ(この例ではTCPヘッダ)を付加して生成されたセグメントに、さらにインターネット層(OSI参照モデルの第3層相当)におけるヘッダ(この例ではIPヘッダ)を付加したPDU(Protocol Data Unit)であり、実際にはパケットにイーサネットヘッダを付加したフレームが送受信される。
外部コンピュータ11は、内部コンピュータ12からプロセスデータを取得する場合には、アプリケーションデータとして後述する要求メッセージを格納したパケットを外部ネットワーク15に送出する。外部コンピュータ11と内部コンピュータ12との間にはデータダイオード装置84が介在するが、外部コンピュータ11は、パケットの宛先IPアドレスとして、内部コンピュータ12のIPアドレスを付与する。内部コンピュータ12は、受信したパケットに要求メッセージが格納されている場合には、要求メッセージで指定されるプロセスデータを読み出し、読み出したプロセスデータを格納したパケットを内部ネットワーク16に送出する。外部コンピュータ11は、受信したパケットに格納されたプロセスデータ等のアプリケーションデータを取り出す。
なお、以下の説明では、要求メッセージを格納したパケットを他のパケットと特に区別する場合には、そのパケットを要求パケットと称する。また、要求パケットに応答して返信されるプロセスデータを格納したパケットを他のパケットと特に区別する場合には、そのパケットを応答パケットと称する。
データダイオード装置84は、外部ネットワーク15に接続された第1ユニット86と、内部ネットワーク16に接続された第2ユニット87と、を備えている。第1ユニット86は、外部ネットワーク15から内部ネットワーク16に向けて送信されるパケットを受信すると、当該パケット内にある一部の主体パケットを抽出し、当該主体パケットが後述する第1パケット登録情報として登録されているか否かを判定する。第1ユニット86は、受信したパケット内の主体パケットが第1パケット登録情報として登録されていると判定すると、受信したパケットを登録パケットとし、その登録パケットの第1パケット登録情報に対応した信号線Q1、Q2・・・Qn(図2参照、信号線Q1、Q2・・・Qnを特に区別する必要がない場合には、信号線Qと総称する)のいずれか1本をアクティブにする。第2ユニット87は、アクティブになった信号線Qに対応する後述する第2パケット登録情報から第1ユニット86で受信した登録パケットの内容を特定し、その受信した登録パケットに相当するパケット(復元パケット)を生成して、内部ネットワーク16に送出する。
また、これに加えて、この際、第1ユニット86は、受信したパケットが登録パケットであるとき、当該パケット内に含まれた可変パケットを抽出し、予め登録されている第1可変パケット参照テーブル(後述する)の中から、当該可変パケットに対応した第1可変パケット登録情報を特定する。ここで、可変パケットとは、上述した主体パケットに関連したデータであり、例えば、主体パケットが内部コンピュータ12への機能的な制御命令(例えば、撮像手段の起動命令や、圧力制御命令等)であれば、可変パケットは、当該制御命令を基に内部コンピュータ12が動作する際の動作に関する設定命令を示す。より具体的には、例えば基本パケットが撮像手段の起動命令であれば、可変パケットは撮像手段の撮像角度やズーム等を指示する、撮像動作に関する可変的な設定命令であり、また、基本パケットがプラント内の圧力制御命令であれば、可変パケットはバルブの開閉度等の圧力制御動作に関する可変的な設定命令である。
第1ユニット86は、可変パケットに対応した第1可変パケット登録情報に基づいて、複数ある可変パケット用信号線q1、q2・・・qx(図2参照、可変パケット用信号線q1、q2・・・qxを特に区別する必要がない場合には、可変パケット用信号線qと総称する)をそれぞれアクティブ又は非アクティブにする。第2ユニット87は、予め登録されている第2可変パケット参照テーブル(後述する)の中から、可変パケット用信号線qのアクティブ又は非アクティブ状態を基に、対応する第2可変パケット登録情報を特定する。第2ユニット87は、この特定した第2可変パケット登録情報に登録されている可変パケットを、第1ユニット86で受信したパケット内の可変パケットに相当する復元可変パケットとし、これを内部ネットワーク16に送出する。
また、データダイオード装置84は、第2ユニット87で内部ネットワーク16からのパケットを受信すると、そのパケットを一方向伝送路S(図2参照)を介して第1ユニット86に伝送し、第1ユニット86がパケットを外部ネットワーク15に送出する。これにより、内部コンピュータ12から外部コンピュータ11に宛てられたプロセスデータを外部コンピュータ11に送る。なお、データダイオード装置84が内部ネットワーク16へ中継するパケットは、プロセスデータを取得するための要求パケットに限定されないが、以下では、データダイオード装置84には、中継するパケットとして、いくつかの要求パケットが予め登録されているものとして説明する。
図2において、データダイオード装置84は、第1、第2ユニット86、87と、複数本の信号線Qからなる信号線部23と、複数本の可変パケット用信号線qからなる可変パケット用信号線部93と、第1ユニット86及び第2ユニット87間に設けられた伝送線路24とを備えている。第1ユニット86は、第1通信部31、第1記憶部32、第1制御部88及び受信部34を備える。第2ユニット87は、第2通信部41、第2記憶部42、第2制御部89及び送信部44を備える。
ここで、この実施形態の場合、可変パケット用信号線部93は、例えば8本、16本又は32本等の複数の可変パケット用信号線qから構成されており、各可変パケット用信号線qのアクティブ又は非アクティブの状態変化によって、可変パケット用信号線qの本数に応じた複数ビットのデータを第1ユニット86から第2ユニット87に中継し得る。なお、この実施形態においては、複数の可変パケット用信号線qからなる可変パケット用信号線部93を適用したが、本発明はこれに限らず、1つの可変パケット用信号線q1からなる可変パケット用信号線部としてもよい。
第1ユニット86に設けられた第1制御部88と、第1ユニット86の第1記憶部32に記憶されている第1参照テーブルT1a及び第1可変パケット参照テーブルT1bとにより、パケット判定部91が構成される。また、第2ユニット87に設けられた第2制御部89と、第2ユニット87の第2記憶部42に記憶されている第2参照テーブルT2a及び第2可変パケット参照テーブルT2bとによって、パケット復元部92が構成される。これらパケット判定部91と、パケット復元部92と、信号線部23と、可変パケット用信号線部93とによってパケット中継部94が構成される。また、伝送線路24と、第1ユニット86の受信部34と、第2ユニット87の送信部44とは、一方向伝送路Sを構成する。
第1ユニット86の第1通信部31は、外部ネットワーク15に接続されている。この第1通信部31は、内部ネットワーク16に向けたパケットを受信する。この例では、第1通信部31は、外部ネットワーク15からのパケットのうち第1参照テーブルT1aに登録されている第1パケット登録情報の宛先IPアドレスが付与されているパケットを受信する。なお、内部ネットワーク16のネットワークアドレスを例えば第1通信部31に予め設定しておき、そのネットワークアドレスに宛先IPアドレスのネットワークアドレス部分が一致するパケットを受信するようにしてもよい。
第1通信部31は、受信したパケットから送信元IPアドレス、宛先IPアドレス、アプリケーションデータ(以下、これらをまとめて受信パケット情報という)及び送信元ポート番号を取り出して第1制御部88に送る。また、第1通信部31は、一方向伝送路Sを構成する受信部34からのパケットを、応答パケットとして外部ネットワーク15に送出する。これにより、応答パケットを、それに対応した要求パケットの送信元である外部コンピュータ11に送信する。
第1記憶部32は、上述の第1参照テーブルT1aと第1可変パケット参照テーブルT1bとポート番号変換テープルTpとを記憶している。第1参照テーブルT1aは、図3Aに示すように、中継を許可した特定のパケットのそれぞれについて、アプリケーションデータ内の可変パケット85を除いた情報が示された第1パケット登録情報と、この第1パケット登録情報に対応する1本の信号線Qを示す信号線番号と、インターバル時間とからなる複数のレコードが登録されている。各レコードの信号線番号と第1パケット登録情報とは、1対1に対応する。この例における第1パケット登録情報は、パケット中のIPヘッダに格納される送信元IPアドレス、宛先IPアドレス、TCPヘッダに格納される送信元ポート番号、宛先ポート番号、TCPデータ部に格納されるアプリケーションデータからなる。
アプリケーションデータは、パケット中に含まれた可変パケット85を除いた、残りの主体パケット85aが第1パケット登録情報に登録されている。また、この例では、第1パケット登録情報中の送信元IPアドレスが送信元情報、宛先IPアドレスが宛先情報であり、これらと可変パケット85を除いた一部のアプリケーションデータ(主体パケット85a)との組み合わせが、登録パケットであるか否かの判定に用いられる。なお、以下、パケット登録情報(第1パケット登録情報及び第2パケット登録情報)の説明の際における「アプリケーションデータ」とは、可変パケット85を除いた一部の主体パケット85aを示す。
第1パケット登録情報の送信元IPアドレス、宛先IPアドレス、宛先ポート番号、アプリケーションデータは、実際に外部コンピュータ11から内部コンピュータ12に送信される要求パケットのものが登録される。これに対して、第1パケット登録情報の送信元ポート番号は、各第1パケット登録情報にユニークなポート番号を予め付与している。
また、アプリケーションプロトコルとして、この例ではModbus/TCPを用いている。このため、第1パケット登録情報のアプリケーションデータとしては、TCP/Modbusに準拠したメッセージが登録されている。TCP/Modbusのメッセージは、周知のように、内部コンピュータ12に設けられたレジスタに対するデータ(プロセスデータ)の読み出しや書き込みを指示する機能コード、読み出しや書き込みの際のアドレス範囲等のデータから構成され、読み出すプロセスデータが同じであれば、TCP/Modbusの要求メッセージは同じになる。
ポート番号変換テープルTpには、図4に示すように、第1制御部88によって、変換前ポート番号と変換後ポート番号とが対応付けた変換レコードが登録される。このポート番号変換テープルTpは、内部コンピュータ12からの応答パケットを外部コンピュータ11に送る際に、その応答パケットの宛先ポート番号を、対応する要求パケット(応答パケットを要求した要求パケット)の送信元ポート番号に変換するために用いられる。
図2において、第1制御部88は、上述のように第1通信部31が受信したパケットが登録パケットであるか否かを判定する。この判定では、第1制御部88は、アプリケーションデータ内の可変パケット85を除いた受信パケット情報が、第1参照テーブルT1aのいずれかの第1パケット登録情報に含まれているか否かを調べる。この判定において、可変パケット85を除いた受信パケット情報がいずれか1つの第1パケット登録情報に含まれている場合、すなわち、送信元IPアドレスと、宛先IPアドレスと、可変パケット85を除いた一部のアプリケーションデータ(主体パケット85a)との全てが、いずれか1つの第1パケット登録情報と一致する場合に、登録パケットであると判定する。第1制御部88は、受信パケット情報が含まれている第1パケット登録情報(以下、第1該当パケット登録情報という)に対応した信号線番号を取得し、取得した信号線番号の信号線Qをアクティブにする。
また、第1制御部88は、受信したパケットが登録パケットであると判定するごとに、ポート番号変換テープルTpに変換レコードを登録する。この登録では、登録パケットの送信元ポート番号を変換前ポート番号とし、第1該当パケット登録情報に予め登録された送信元ポート番号を変換後ポート番号とする。変換レコードは、例えば変換後ポート番号の基になった第1該当パケット登録情報のインターバル時間の経過後に第1制御部88によって削除される。
なお、情報要求側の外部コンピュータ11が情報提供側の内部コンピュータ12に送信するパケットの宛先ポート番号は、一般的に通信相手のアプリケーションごとに固定されている。このため、この例では、受信したパケットと第1パケット登録情報とのアプリケーションデータが一致する場合、宛先ポート番号も一致するとみなしており、宛先ポート番号を登録パケットであるか否かの判定に用いていない。もちろん、宛先ポート番号を宛先情報の1つとして判定に用いてもよい。一方、外部コンピュータ11が送信するパケットの送信元ポート番号は、一般的に任意なポート番号が外部コンピュータ11によって付与される。このため、この例では送信元ポート番号を登録パケットであるか否かの判定に用いない。もちろん、送信元ポート番号が固定されている場合には、送信元情報の1つとすることもできる。この場合には、上記ポート番号変換テーブルTpの作成は不要である。
第1制御部88は、先に受信したパケットと同じ受信パケット情報を有する新たなパケットを受信した場合、先に受信したパケットに応答して信号線Qをアクティブにした時点から、その受信したパケットに対応した第1パケット登録情報のインターバル時間内であるときには、新たなパケットに対して信号線Qをアクティブにしない。これにより、短時間に大量のパケットが送信される、いわゆるフラッド攻撃から内部コンピュータ12を保護する。なお、インターバル時間の計時の起算点は、先に受信したパケットの受信時でもよい。
信号線Qは、第1参照テーブルT1aに登録されている第1パケット登録情報と同じ本数以上あればよい。この例では、信号線Qとしてメタル線を用いている。第1制御部88は、信号線Qの各々に接続された複数のスイッチを有し、第1該当パケット登録情報に対応する信号線番号に接続されたスイッチをオンとする。これにより、第1該当パケット登録情報に対応した信号線Qをアクティブ、この例ではハイレベルにする。なお、信号線Qのアクティブをローレベルとしてもよい。また、信号線Qは、アクティブであるか否かを第2ユニット87に伝えることができればよい。信号線Qとして、例えば発光ダイオードと受光素子とを用い、アクティブとするときに第1ユニット86が発光ダイオードを点灯し、第2ユニット87が受光素子で発光ダイオードの点灯を検出するようにしてもよい。
かかる構成に加えて、第1制御部88は、可変パケット85を除いた一部の受信パケット情報が第1参照テーブルT1a内のいずれか1つの第1パケット登録情報に含まれている判定し、対応した信号線Qをアクティグにする際、受信パケット情報のうち、アプリケーションデータに含まれた可変パケットが、第1可変パケット参照テーブルT1b内のいずれの第1可変パケット登録情報に該当するか否かを判定する。
第1可変パケット参照テーブルT1bは、図3Bに示すように、各可変パケット用信号線qのアクティブ又は非アクティブを示す信号線状態情報が可変パケット毎に対応付けられた、複数の第1可変パケット登録情報96aが登録されている。図3Bでは、可変パケット用信号線qがアクティブのとき「1」とし、可変パケット用信号線qが非アクティブのとき「0」としており、可変パケット毎に各可変パケット用信号線qのそれぞれについてアクティブ又は非アクティブが予め登録されている。
例えば、第1制御部88は、登録パケット内のアプリケーションデータに含まれた可変パケットが「×○」であったとき、第1可変パケット参照テーブルT1bに基づいて、可変パケット情報として可変パケット「×○」が登録された一列目の第1可変パケット登録情報を、第1該当可変パケット登録情報として特定する。第1制御部88は、この第1該当可変パケット登録情報に対応付けられた信号線状態情報に従って、可変パケット用信号線q1をアクティブとし、可変パケット用信号線q2を非アクティブとし、残り全ての可変パケット用信号線qについてもアクティブ又は非アクティブとする。なお、ここで可変パケット用信号線qはそれぞれメタル線を用いている。
この場合、第1制御部88は、各可変パケット用信号線qにそれぞれスイッチを備えており、第1該当可変パケット登録情報に対応付けられた信号線状態情報に従って、各可変パケット用信号線qに接続されたスイッチをオン又はオフする。これにより、第1該当可変パケット登録情報に対応付けられた信号線状態情報に従って、可変パケット用信号線qは、それぞれ個別にアクティブ(この例ではハイレベル)又は非アクティグ(この例ではローレベル)になる。なお、可変パケット用信号線qのアクティブをローレベルとしてもよい。また、可変パケット用信号線qは、アクティブであるか否かを第2ユニット87に伝えることができれば、種々の構成としてもよい。可変パケット用信号線qとして、例えば発光ダイオードと受光素子とを用い、アクティブとするときに第1ユニット86が発光ダイオードを点灯し、第2ユニット87が受光素子で発光ダイオードの点灯を検出するようにしてもよい。
受信部34は、伝送線路24を介して第2ユニット87からのパケットを受信する。また、この受信部34は、ポート番号変換テープルTpを参照して、第2ユニット87から受信したパケットの宛先ポート番号の変換を行う。すなわち、受信部34は、受信したパケットの宛先ポート番号をポート番号変換テープルTpの変換後ポート番号として、その変換後ポート番号に対応する変換前ポート番号を受信したパケットの宛先ポート番号に置き換える。これにより、応答パケットの宛先ポート番号をそれに対応する要求パケットの送信元ポート番に変換している。受信部34は、宛先ポート番号を置き換えたパケットを第1通信部31に送る。
第2ユニット87の第2制御部89には、各信号線Qが接続されている。第2記憶部42には、図3Aに示すように、第1参照テーブルT1aと同一の内容の第2参照テーブルT2aが書き込まれている。第2参照テーブルT2aでは、各レコードのパケット登録情報が第2パケット登録情報になっており、第2パケット登録情報には、第1パケット登録情報と同じ内容で信号線Q(信号線番号)が対応付けられている。これにより、同じパケットについての第1、第2パケット登録情報が同じ信号線Qに対応するように登録されている。
第2制御部89は、いずれかの信号線Qがアクティブになることに応答して、アクティブになった信号線Qの信号線番号に対応付けられた第2パケット登録情報、すなわち、第1該当パケット登録情報と同じ内容の第2パケット登録情報(以下、他の第2パケット登録情報と特に区別する場合には第2該当パケット登録情報という)を第2参照テーブルT2aから読み出し、第2該当パケット登録情報のアプリケーションデータ、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号をそれぞれ付与したパケットを生成する。これにより、第2該当パケット登録情報に基づいて、第1ユニット86が受信したパケットに相当する復元パケットを生成する。なお、第2参照テーブルT2aでは、インターバル時間を省略することができる。
また、かかる構成に加えて、第2ユニット87の第2制御部89には、各可変パケット用信号線qが接続されている。第2記憶部42には、図3Bに示すように、第1可変パケット参照テーブルT1bと同一の内容の第2可変パケット参照テーブルT2bが書き込まれている。第2可変パケット参照テーブルT2bでは、各レコードの可変パケット及び信号線状態情報が第2可変パケット登録情報96bになっている。第2可変パケット登録情報96bには、第1可変パケット登録情報96aと同じ可変パケットが第2可変パケットとして可変パケット情報に登録されている。また、第2可変パケット登録情報96bには、第1可変パケット登録情報96aと同じ内容の信号線状態情報が、第1可変パケット登録情報96aと同じように第2可変パケットにそれぞれ対応付けられている。
第2制御部89は、可変パケット用信号線qのそれぞれがアクティブ又は非アクティブになることに応答して、第2可変パケット参照テーブルT2bの中から、各可変パケット用信号線qのアクティブ又は非アクティブ状態と同じ内容を示す信号線状態情報を特定する。そして、第2制御部89は、特定した信号線状態情報に対応付けられた可変パケット(すなわち、第1該当可変パケットと同じ内容の第2可変パケット)を第2可変パケット参照テーブルT2bから読み出し、第1ユニットが受信したパケット内の可変パケットに相当する復元可変パケットを生成する。
かくして、第2制御部89は、第1ユニット86が受信したパケットに相当する復元パケットと、第1ユニットが受信したパケット内の可変パケットに相当する復元可変パケットとを生成し得、これらを基に生成されたパケットを、第2通信部41に送る。第2通信部41は、内部ネットワーク16に接続されている。第2通信部41は、第2制御部89で生成されたパケットを内部ネットワーク16に送出し、当該パケットを内部コンピュータ12に送る。また、第2通信部41は、内部ネットワーク16から受信したパケットを送信部44に送る。
なお、第2該当パケット登録情報と復元可変パケットとからパケットを生成する場合、送信元ポート番号を任意のポート番号に置き換えてもよく、また送信元IPアドレスを第2ユニット87のIPアドレスに置き換えてもよい。この場合、それに対応して内部コンピュータ12が返信するパケットの宛先ポート番号、宛先IPアドレスを第2該当パケット登録情報の送信元ポート番号、送信元ポート番号に置き換えてから、そのパケットを第1ユニット86に伝送する。
一方向伝送路Sは、上述のように第1ユニット86の受信部34と、第2ユニット87の送信部44と、伝送線路24とから構成されており、通信方向が第2ユニット87側から第1ユニット86側への一方向に物理的に限定されたデータダイオードである。例えば、送信部44は、発光素子や入力されるデータに応じて発光素子から出力される光を変調する変調回路、エラー訂正用の送信側回路等で構成され、受信部34は、受光素子や受光強度に応じてデータを復調する復調回路、エラー訂正用の受信側回路等で構成される。伝送線路24は、送信部44の発光素子と受信部34の受光素子の間を結ぶ光ファイバが用いられている。この一方向伝送路Sは、第2通信部41からのパケットが伝送すべきデータとして送信部44に入力され、この入力されたデータを、伝送線路24を介して受信部34に送る。
一方向伝送路Sとしては、一方向の通信に限定されたものであればよく、上記構成に限定されないが、一方向の伝送を担保する観点からは、例えば上記のように通信方向を物理的に限定する構成とすることが好ましい。また、エラー訂正としては、エラー発生時にデータの再送要求が不要な前方誤り訂正方式を用いることが好ましい。
上述のように、受信部34が受信したパケットは、宛先ポート番号の変換を行ってから第1通信部31に送られ、第1通信部31が外部ネットワーク15に送出する。これにより、内部コンピュータ12にプロセスデータを要求した外部コンピュータ11に対して、その要求したプロセスデータの応答パケットを送信する。
なお、アプリケーションデータの送信態様は上記態様に限られない。例えば各応答パケットから得られるアプリケーションデータをバッファ等にいったん蓄積してから、一方向伝送路Sを介してまとめて送信するとともに、宛先IPアドレス、宛先ポート番号等の情報を送信してもよい。この場合、第1ユニット86側では、まとめて受信したアプリケーションデータと宛先IPアドレス、宛先ポート番号等の情報から外部コンピュータ11に送信するためのパケットを再構成して送信する。
第2ユニット87から第1ユニット86には、一方向伝送路Sを用いて、少なくともアプリケーションデータと、第1ユニット86がアプリケーションデータの送り先を識別できる情報とを送ればよい。例えば、パケットから取り出したアプリケーションデータと宛先ポート番号を送ってもよい。この場合、宛先ポート番号に送信元ポート番号が一致する第1パケット登録情報の送信元IPアドレスを応答パケットの宛先IPアドレスとすればよい。
上記のように構成される第1ユニット86は、外部ネットワーク15上の第1ネットワーク機器に対して、また第2ユニット87は、内部ネットワーク16上の第2ネットワーク機器に対して、トランスポート層以下の動作を行って通信すればよく、トランスポート層以下での動作は、アプリケーションや接続される機器等で変化しないから、固定の機能を実現すればよく、簡単な構成とすることができる。
データダイオード装置84を構成する第1、第2ユニット86、87との機能は、それぞれ例えばパーソナルコンピュータを用いて構成することも可能である。この場合、例えば2台のパーソナルコンピュータを配置し、第1、第2ユニット86、87の機能を実現するためのプログラムを導入して、一方を第1ユニット86、他方を第2ユニット87とする。信号線Q及び可変パケット用信号線qとしては、各パーソナルコンピュータに設けた汎用入出力ポート等の端子同士の接続を用いる。一方向伝送路Sとしては、各パーソナルコンピュータのRS−232Cなどの双方向の信号線のうちの一方向のみを接続する。
一方、第1、第2ユニット86、87を、例えばASIC(application specific integrated circuit、特定用途向け集積回路)や、FPGA(Field Programmable Gate Array)に代表されるプログラマブルロジックデバイス(PLD)等を用いて実現することもできる。PLDは、複数の回路ブロックの組み合わせによって任意の回路構成が可能であって様々な処理回路を形成することができるが、回路構成後に処理回路自体を変更することは困難である。したがって、このようにASICやPLDを用いる態様は、機能の改変、例えば第1参照テーブルT1a及び第1可変パケット参照テーブルT1bの内容の書き換えを不可能にし、また第1制御部88の動作内容の変更を困難にすることができる。そして、これによって外部ネットワーク15から内部コンピュータ12への不正なアクセスのリスクを極めて低くすることができる。
次に、上記構成の作用について、第2外部コンピュータ11bを操作して、第1内部コンピュータ12aからプロセスデータを取得する場合を例に説明する。なお、以下の説明では、図1に示すように、第1外部コンピュータ11aのIPアドレスを「192.168.100.1」とし、第2外部コンピュータ11bのIPアドレスを「192.168.100.2」とする。また、第1内部コンピュータ12aのIPアドレスを「192.168.1.1」、第2内部コンピュータ12bのIPアドレスを「192.168.1.2」とする。さらに、第1参照テーブルT1a、第2参照テーブルT2aには、図3Aに示す内容が予め登録されているものとし、第1可変パケット参照テーブルT1b、第2可変パケット参照テーブルT2bには、図3Bに示す内容が予め登録されているものとする。
まず、第2外部コンピュータ11bを操作して、第1内部コンピュータ12aからのプロセスデータの取得を指示する。この指示を受けて、第2外部コンピュータ11bは、第1内部コンピュータ12aとTCPでのコネクションを確立させる。このため、第2外部コンピュータ11bは、まず第1内部コンピュータ12aのIPアドレスを宛先IPアドレスとして格納したARPリクエストをブロードキャストする。
第1ユニット86の第1通信部31は、第1参照テーブルT1aにおいて、第1内部コンピュータ12aのIPアドレスが宛先IPアドレスとなった第1パケット登録情報が登録されているため、上記ARPリクエストに応答して自己のMACアドレスを格納したARPリプライを、ARPリクエストの送信元に返信する。これにより、第2外部コンピュータ11bは、ARPリプライから第1通信部31のMACアドレスを取得する。これ以降、第2外部コンピュータ11bは、第1内部コンピュータ12aのIPアドレスを宛先IPアドレスとしてパケットを送出する場合、第1通信部31のMACアドレスを宛先MACアドレスとする。そして、第2外部コンピュータ11bは、第1内部コンピュータ12aのIPアドレスを宛先IPアドレスとして、SYNパケットの送信を行う。結果として、図5に示すように、第2外部コンピュータ11bと第1通信部31との間で、そのSYNパケットと、ACK+SYNパケットと、ACKパケットとの送受信が行われて、TCPのコネクションが確立される。なお、外部コンピュータ11、内部コンピュータ12、第1、第2通信部31、41がパケットを送信する場合の送信元MACアドレスは、それぞれ自己のMACアドレスとなる。
TCPのコネクションが確立した後、第2外部コンピュータ11bは、取得するプロセスデータに応じた要求メッセージをTCPデータ部に格納した要求パケットP1(図5、図6参照)を生成し、その要求パケットP1を外部ネットワーク15に送出する。図6に示すように、要求パケットP1に付与されている送信元IPアドレスは第2外部コンピュータ11bのIPアドレス「192.168.100.2」であり、宛先IPアドレスは第1内部コンピュータ12aのIPアドレス「192.168.1.1」である。また、要求パケットには、宛先ポート番号としてTCP/Modbusに対応するポート番号(この例では502)が付与され、送信元ポート番号には、任意のポート番号(この例では1501)が付与されている。
第1通信部31によって、要求パケットP1が受信され、その要求パケットP1から取り出された受信パケット情報と送信元ポート番号が第1制御部88に送られる。受信パケット情報と送信元ポート番号を受け取ると、第1制御部88は、第1参照テーブルT1aに登録されている第1パケット登録情報のいずれかに受信パケット情報が含まれているか否かを調べて、要求パケットP1が登録パケットであるか否かを判定する。具体的には、第1制御部88において、可変パケットを除いた一部の受信パケット情報が、第1参照テーブルT1aに登録されている第1パケット登録情報のいずれかに該当するか否かを判定する。
受信パケット情報が含まれる第1パケット登録情報が第1参照テーブルT1aにない場合には、要求パケットP1は登録パケットではないと判定される。このように登録パケットではないと判定した場合には、第1制御部88は、例えば第1通信部31と第2外部コンピュータ11bとの間のコネクションを切断する。一方、受信パケット情報が含まれる第1パケット登録情報、すなわち第1該当パケット登録情報が第1参照テーブルT1aにある場合には、要求パケットP1が登録パケットと判定される。そして、この場合には、第1該当パケット登録情報に対応した信号線Qが所定時間だけアクティブ(ハイレベル)にされる。
要求パケットP1のアプリケーションデータの内容が、例えば、「0001 0000 0006 - 03 008A 00E3」である場合には、第1参照テーブルT1aの信号線番号「2」に対応する第1パケット登録情報が第1該当パケット登録情報になる。アプリケーションデータ内の「-」は可変パケットが配置された領域を示しており、この際、第1参照テーブルT1aとアプリケーションデータとの照合は、上述したように、受信パケット情報内の可変パケットを除いた主体パケット(ここでは「0001 0000 0006 - 03 008A 00E3」)85aを用いて行われる。信号線部23では、第1制御部88によって、信号線番号「2」の信号線Q2がアクティブにされる。これにより、図5において破線で示すように、第1制御部88から第2制御部89に対して、信号線Q2によって信号線番号「2」に対応する第1パケット登録情報を含むパケットを第1ユニット86で受信したことが伝達される。
これに加えて、この際、第1制御部88は、受信パケット情報内の可変パケットが、第1可変パケット参照テーブルT1bに登録されている第1可変パケット登録情報のいずれに該当するかを調べる。なお、この場合、受信パケット情報が、第1参照テーブルT1aに登録されている第1パケット登録情報のいずれかに該当したとき、受信パケット情報内の可変パケットは、第1可変パケット参照テーブルT1b内のいずれかの第1可変パケット登録情報に必ず該当するものとしてもよい。
但し、必ずしもこれに限定するものではなく、例えば受信パケット情報が、第1参照テーブルT1aに登録されている第1パケット登録情報のいずれかに該当しても、受信パケット情報内の可変パケットは、第1可変パケット参照テーブルT1bに登録されている第1可変パケット情報のいずれにも該当しないこともあるとしてもよい。受信パケット情報内の可変パケットが第1参照テーブルT1aにないときには、例えば各可変パケット用信号線qを全てアクティブ又は非アクティブとする等、予め決められた状態になるようにすればよい。
受信パケット情報に含まれる可変パケットが、可変パケット情報として第1可変パケット参照テーブルT1bに登録されている場合には、当該可変パケット情報に対応付けられた信号線状態情報に従って、所定時間だけ各可変パケット用信号線qがそれぞれアクティブ(ハイレベル)又は非アクティブ(ローレベル)となる。
要求パケットP1のアプリケーションデータ内にあった可変パケット(ここでは「0001 0000 0006 - 03 008A 00E3」のうち「-」にあったパケット)の内容が、例えば、「○×」である場合には、第1可変パケット参照テーブルT1bのうち可変パケット情報「○×」に対応付けられた信号線状態情報に従って、可変パケット用信号線q1がアクティブ(図3B中、「1」で表記)にされ、可変パケット用信号線q2が非アクティブ(図3B中、「0」で表記)にされる。また、その他残り全ての可変パケット用信号線qについても、第1可変パケット参照テーブルT1bの可変パケット情報「○×」に対応付けられた信号線状態情報に従ってアクティブ又は非アクティブにされる。このように、各可変パケット用信号線q1〜qxがアクティブ又は非アクティブ状態になることで、図5において破線で示すように、第1制御部88から第2制御部89に信号線状態情報が伝達される。
また、第1制御部88によって、ポート番号変換テーブルTpに要求パケットP1に対応した変換レコードが登録される。図6に示すように、要求パケットP1の送信元ポート番号「1501」が変換前ポート番号とされ、第1該当パケット登録情報の送信元ポート番号「3002」が変換後ポート番号とされた変換レコードR1が登録される。
一方、上記のようにいずれか1本の信号線Qがアクティブになると、第2制御部89は、アクティブになった信号線Qの信号線番号を特定する。そして、特定した信号線番号に対応した第2パケット登録情報、すなわち第1該当パケット登録情報と同じ内容の第2該当パケット登録情報を第2参照テーブルT2aから読み出す。
また、この際、第2制御部89は、各可変パケット用信号線qのアクティブ又は非アクティブ状態を基に、第2可変パケット参照テーブルT2bの中から、対応する信号線状態情報を特定する。そして、特定した信号線状態情報に対応した可変パケット情報、すなわち第1制御部88で受信した可変パケット「○×」と同じ内容の可変パケット「○×」を第2可変パケット参照テーブルT2bから読み出す。
そして、第2通信部41に対して、第2該当パケット登録情報の宛先IPアドレスをIPアドレスとするネットワーク機器との間でTCPのコネクションを確立させる。第2通信部41は、ARPを用いて第2該当パケット登録情報の宛先IPアドレスに対応するMACアドレスを取得した後、第2該当パケット登録情報の宛先IPアドレスを用いて、SYNパケットと、ACK+SYNパケットと、ACKパケットとの送受信することで、TCPのコネクションが確立する。
TCPのコネクションが確立すると、第2制御部89は、第2該当パケット登録情報のアプリケーションデータに、第2該当パケット登録情報の宛先ポート番号と送信元ポート番号とを有するTCPヘッダと、第2該当パケット登録情報の宛先IPアドレスと送信元IPアドレスとを有するIPヘッダを付加し、さらに第2可変パケット参照テーブルT2bを基に特定した可変パケットを当該アプリケーションデータ内に付加したパケットを生成する。そして、この生成したパケットを第2通信部41から内部ネットワーク16に送出する。
上記のように信号線Q2がアクティブとされた場合、信号線番号「2」に対応した第2パケット登録情報が第2該当パケット登録情報となる。第2該当パケット登録情報の宛先IPアドレスは、要求パケットP1と同じ第1内部コンピュータ12aのものであるから、第2通信部41と第1内部コンピュータ12aとの間でTCPのコネクションが確立する。そして、第2該当パケット登録情報は、第1該当パケット登録情報と同じ内容であり、かつ第2可変パケット参照テーブルT2bで特定した可変パケット情報は、第1可変パケット参照テーブルT1bで信号線状態情報を特定したときの可変パケット情報と同じ内容であることから、第2制御部89では、要求パケットP1と実質的に同じ内容を持つ要求パケットP2(図5、図6参照)が生成される。すなわち、第2ユニット87で生成された要求パケットP2は、送信元IPアドレス、宛先IPアドレス、宛先ポート番号、要求メッセージ(可変パケット85及び主体パケット85aでなるアプリケーションデータ)が、第1ユニット86で受信した要求パケットP1と同じになっており、送信元ポート番号は第1、第2該当パケット登録情報の送信元ポート番号「3002」となっている。
このように信号線Q及び可変パケット用信号線qを用いた簡単な構成で、内部ネットワーク16に送信すべきパケットの内容と、そのパケットの送信のタイミングとを第1ユニット86から第2ユニット87に伝達し、第2該当パケット登録情報及び可変パケット情報から第1ユニット86が受信したパケットに相当するパケットが復元されて内部ネットワーク16に送出される。
内部ネットワーク16に送出された要求パケットP2は、第1内部コンピュータ12aによって受信される。第1内部コンピュータ12aは、要求パケットP2から要求メッセージを取り出して、宛先ポート番号に応じた所定のアプリケーションで処理する。これにより、要求メッセージに応じたプロセスデータが指定されたアドレス範囲から取り出され、これを格納した応答パケットP3(図5、図6参照)が生成される。応答パケットP3は、第1内部コンピュータ12aから内部ネットワーク16に送出される。なお、例えば、応答パケットP3には、要求パケットP2に対する確認応答のためのACKフラグがセットされるが、応答パケットP3とは別にACKパケットを送信してもよい。
応答パケットP3では、要求パケットP2と送信元と宛先とが逆にされるので、図6に示すように、送信元IPアドレスとして第1内部コンピュータ12aのIPアドレス「192.168.1.1」が付与され、宛先IPアドレスとして第2外部コンピュータ11bのIPアドレス「192.168.100.2」が付与されている。また、応答パケットP3には、送信元ポート番号には要求パケットP2の宛先ポート番号「502」が、宛先ポート番号には要求パケットP2の送信元ポート番号「3002」が付与されている。
内部ネットワーク16に送出された応答パケットP3は、宛先MACアドレスが第2通信部41のMACアドレスとなっているので、第2通信部41によって受信される。第2通信部41は、応答パケットP3の受信に応答してACKパケットを返信するとともに、応答パケットP3を送信部44に送る。この応答パケットP3は、送信部44から伝送線路24を介して第1ユニット86の受信部34に送られる。なお、1つの要求パケットに対して複数の応答パケットが返信される場合、各応答パケットを順次に一方向伝送路Sを介して第2ユニット87から第1ユニット86に送信すればよい。
受信部34は、応答パケットP3を受信すると、ポート番号変換テーブルTpを参照して、応答パケットP3の宛先ポート番号の変換を行った応答パケットP4(図5、図6参照)を第1通信部31に送る。応答パケットP3は、宛先ポート番号が「3002」であるから、変換後ポート番号「3002」になっている変換レコードR1が参照され、その変換レコードR1の変換前ポート番号「1501」に応答パケットP3の宛先ポート番号が置き換えられる。これにより、図6に示すように、応答パケットP4の宛先ポート番号は、元となった要求パケットP1の送信元ポート番号と同じ「1501」に変換される。
図5に示すように、応答パケットP4が第1通信部31から外部ネットワーク15に送出される。このときに、第1通信部31は、応答パケットP4が、先の要求パケットP1に応答したパケットとなるように、そのIPヘッダやTCPヘッダの情報、例えばシーケンス番号や確認応答番号を修正する。なお、応答パケットP4のアプリケーションデータを1つのパケットで送信できない場合には、複数のパケットに分割して送信してもよい。
応答パケットP4は、その宛先IPアドレスが第2外部コンピュータ11bのIPアドレスとなっているから、第2外部コンピュータ11bによって受信される。この応答パケットP4の受信に応答して、第2外部コンピュータ11bからACKパケットが返信されて、このACKパケットが第1通信部31で受信される。一方、第2外部コンピュータ11bでは、受信した応答パケットP4からプロセスデータが取り出されて、宛先ポート番号に応じた要求元のアプリケーションに渡される。応答パケットP4の宛先ポート番号は、要求パケットP1に付与した送信元ポート番号と同じになっているため、プロセスデータは要求元のアプリケーションに渡される。
以上の構成において、データダイオード装置84の第1ユニット86では、外部コンピュータ11から内部コンピュータ12に要求パケットを送る際、要求パケットのうち可変パケットを除いた一部の受信パケット情報が第1参照テーブルT1aに予め登録されている第1パケット登録情報と同じであれば、当該第1パケット登録情報に対応付けられた所定の信号線Qをアクティブにする。これにより、データダイオード装置84の第2ユニット87では、いずれの信号線Qがアクティブになっているかを基に、第2参照テーブルT2aから第1パケット登録情報と同じ第2パケット登録情報を特定し、第1ユニット86の受信パケット情報に相当するパケットを生成できる。
データダイオード装置84では、外部ネットワーク15から受信するパケットの受信パケット情報が、第1参照テーブルT1aに登録されていない場合、上記のように第1制御部88は信号線Qの接続動作を実行しないことから、第1ユニット86から第2ユニット87にパケットが送信されることはない。これにより、データダイオード装置84では、外部ネットワーク15上の許可されていないコンピュータからの内部コンピュータ12へのアクセスを防止でき、不正なアクセスが行われることなく情報漏洩等を防止できる。
また、データダイオード装置84では、第2ユニット87から第1ユニット86へのパケットの伝送に通信方向が限定された一方向伝送路Sを用い、一方、第1ユニット86から第2ユニット87へのパケット内容の伝送については、いずれの信号線Qがアクティブになっているか否かで行っている。このため、外部ネットワーク15側のコンピュータからデータダイオード装置84に不正な改変を試みても、第2ユニット87を操作することは困難であり、内部コンピュータ12に不正なパケットを送ることはできない。したがって、データダイオード装置84では、第2ユニット87から第1ユニット86へのパケットの伝送を行いつつ、内部コンピュータ12への不正なアクセスが確実に防止できる。
さらに、これとは別に、このデータダイオード装置84の第1ユニット86では、外部ネットワーク15から受信したパケットの受信パケット情報の中から可変パケットを抽出する。そして、第1ユニット86では、抽出した可変パケットと同じ可変パケット情報を、第1可変パケット参照テーブルT1bの中から特定し、特定した可変パケット情報に予め対応付けられた信号線状態情報に従って、各可変パケット用信号線qをそれぞれアクティブ又は非アクティブにする。
第2ユニット87では、第1ユニット86によって可変パケットを基にそれぞれアクティブ又は非アクティブとなった各可変パケット用信号線qの接続状態を認識し、第2可変パケット参照テーブルT2b内のいずれの信号線状態情報に該当するかを特定する。そして、第2ユニット87では、各可変パケット用信号線qのアクティブ又は非アクティブ状態を基に特定した信号線状態情報に対応付けられた可変パケット情報を、第2可変パケット参照テーブルT2bから読み出し、第1ユニット86が受信したパケット内の可変パケットに相当する復元可変パケットを生成する。
これにより、データダイオード装置84では、第1ユニット86側から第2ユニット87側へのパケットの直接的な送信が行えないので、外部ネットワーク15側から第2ユニット87が改変されることなく高いセキュリティを確保でき、さらに、主体パケットとは別に可変パケットについても内部ネットワーク16に送れることから、その分、当該可変パケットによって外部ネットワーク15から内部ネットワーク16へ種々のデータを送信できる。
上記の説明では、アプリケーションプロトコルとしてModbus/TCPを用いているが、アプリケーションプロトコルは特に限定されるものではない。また、第1、第2参照テーブルT1a、T2aに登録されている複数の第1、第2パケット登録情報のアプリケーションデータが異なる種類のアプリケーションプロトコルのものであってもよい。すなわち、このデータダイオード装置84では、アプリケーションプロトコルが異なるパケットであっても、区別することなく扱うことが可能である。
また、上記のデータダイオード装置84は、トランスポート層におけるプロトコルとしてTCPのパケットを中継しているが、例えば、TCPとUDPとを併用する場合には、プロトコル種別を特定するための情報を第1、第2パケット登録情報に加える。この場合、第2ユニット87では、第2パケット登録情報のプロトコル種別に応じたヘッダを付与してパケットを生成するとともに、プロトコル種別に示されるプロトコルに準じた通信の制御を行う。このプロトコル種別は、第2ユニット87がパケットを生成するために必要なので、第1パケット登録情報では省略することができる。もちろん、プロトコル種別を含めて登録パケットであるか否かを判定する場合には、第1パケット登録情報にも必要になる。
また、上述した実施形態においては、データダイオード装置84が、可変パケットと主体パケットの両方を含んだアプリケーションデータを受信するようにした場合について述べたが、本発明はこれに限らず、例えば、データダイオード装置84が、可変パケットを除いた一部の主体パケットを含むアプリケーションデータを受信し、これとは別に、主体パケットを含まず可変パケットを含んだアプリケーションデータを受信するようにしてもよい。
さらに、上記実施形態では、プロセスデータを取得する場合について説明したが、取得するデータはこれに限るものではない。また、データダイオード装置84は、例えばプラントの機器の動作や内部コンピュータ12自体の動作を制御するコマンドやデータを内部コンピュータ12に送る場合にも利用できる。
上記実施形態では、第1、第2参照テーブルT1a、T2aのパケット登録情報の宛先IPアドレスを個々の内部コンピュータ12のIPアドレス(ユニキャストアドレス)としているが、これに限定するものではない。パケット登録情報の宛先IPアドレスとして、例えばマルチキャストアドレスを用いることで、複数の内部コンピュータ12に同時にパケットを送信できるようにしてもよい。
上記実施形態では、送信元を特定する送信元情報として送信元IPアドレスを、また宛先を特定する宛先情報として宛先IPアドレスを用いているが、送信元情報、宛先情報は、これらに限定されるものではなく、通信のプロトコルに応じた情報を用いればよい。また、パケット登録情報として、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号の他、可変パケットを除いた一部の主体パケットでなるアプリケーションデータで構成したが、それらに限定されるものではなく、通信のプロトコルに応じた情報で構成すればよい。
11、12 コンピュータ
15、16 ネットワーク
23 信号線部
31、41 通信部
84 特定パケット中継機能付きデータダイオード装置
86、87 ユニット
88、89 制御部
93 可変パケット用信号線部
94 パケット中継部
S 一方向伝送路
T1a、T2a 参照テーブル
T1b、T2b 可変パケット参照テーブル

Claims (3)

  1. 第1ネットワークに接続された第1ユニットと、
    第2ネットワークに接続された第2ユニットと、
    前記第2ネットワークから受信したパケットを前記第2ユニットから前記第1ユニットへの一方向だけに伝送する一方向伝送路と、
    前記第1ネットワークから受信するパケットのうち許可された特定のパケットだけを前記第2ネットワークに中継するパケット中継部とを備え、
    前記パケット中継部は、
    前記第1ユニットと前記第2ユニットとの間に設けられた複数の信号線からなる信号線部と、
    前記第1ユニットと前記第2ユニットとの間に設けられた1つ又は複数の可変パケット用信号線からなる可変パケット用信号線部と、
    前記第1ユニットに設けられるとともに、前記特定のパケットのそれぞれについて、各前記特定のパケット内にある、可変パケット以外の一部の主体パケットが、第1パケット登録情報として予め登録され、前記第1ネットワークからのパケットが前記第1パケット登録情報として登録されたパケットであるか否かを判定し、登録されたパケットである場合に、当該パケットについての第1パケット登録情報に対応した信号線をアクティブにするパケット判定部と、
    前記第2ユニットに設けられるとともに、前記特定のパケットのそれぞれについて、各前記特定のパケット内にある、可変パケット以外の一部の主体パケットが、第2パケット登録情報として予め登録され、いずれかの信号線がアクティブになることに応答して、アクティブになった前記信号線に対応する第2パケット登録情報に基づいて、前記第1ユニットが受信したパケットに相当する復元パケットを生成し、前記第2ネットワークに送出するパケット復元部とを備え、
    前記パケット判定部は、
    各前記特定のパケット内にあるそれぞれの可変パケット毎に、前記可変パケット用信号線がアクティブ又は非アクティブであることを示した第1可変パケット登録情報が予め登録された構成を有し、前記パケットにより信号線をアクティブにする際に、該パケット内の可変パケットに対応した前記第1可変パケット登録情報に従って、前記可変パケット用信号線をアクティブ又は非アクティブとし、
    前記パケット復元部は、
    前記第1可変パケット登録情報に相当する第2可変パケット登録情報が予め登録された構成を有し、前記復元パケットを生成する際に、前記可変パケット用信号線がアクティブ又は非アクティブになっている状態を基に前記第2可変パケット登録情報を特定し、該第2可変パケット登録情報に対応付けられた可変パケットを、前記第1ユニットが受信したパケット内の可変パケットに相当する復元可変パケットとして前記第2ネットワークに送出する
    ことを特徴とする特定パケット中継機能付きデータダイオード装置。
  2. 前記第1ユニットは、前記第1ネットワーク上の第1ネットワーク機器からのパケットを受信し、また前記一方向伝送路を介して受信したパケットを前記第1ネットワーク機器に送信する第1通信部を有し、
    前記パケット判定部は、
    可変パケットを除いた一部のアプリケーションデータを含む前記第1パケット登録情報の各々が前記信号線のいずれかに対応して登録された第1参照テーブルと、前記可変パケット毎に前記第1パケット登録情報が登録された第1可変パケット参照テーブルと、が予め記憶された第1記憶部と、
    第1制御部とを備え、
    前記第1制御部は、
    前記第1ネットワークから受信したパケットに含まれる、可変パケットを除いた一部のアプリケーションデータが、前記第1参照テーブルに登録されたいずれか1つの前記第1パケット登録情報に含まれている場合に、当該第1パケット登録情報に対応した信号線をアクティブにし、前記アプリケーションデータに含まれていた可変パケットに対応した第1可変パケット登録情報を、第1可変パケット参照テーブル中から特定して該第1可変パケット登録情報に従って、前記可変パケット用信号線をアクティブ又は非アクティブにする
    ことを特徴とする請求項1に記載の特定パケット中継機能付きデータダイオード装置。
  3. 前記第2ユニットは、前記復元パケットを前記第2ネットワークに送出し、また前記第2ネットワーク上の第2ネットワーク機器からのパケットを受信し、この受信したパケットを前記一方向伝送路を介して、前記第1ユニットに送る第2通信部を有し、
    前記パケット復元部は、
    可変パケットを除いた一部のアプリケーションデータの各々が、前記第1パケット登録情報と同じ前記信号線に対応付けられている各前記第2パケット登録情報が登録された第2参照テーブルと、前記可変パケットの各々に対して、前記可変パケット用信号線のアクティブ又は非アクティブが前記第1可変パケット登録情報と同じに対応付けられている前記第2可変パケット登録情報が登録された第2可変パケット参照テーブルと、が予め記憶された第2記憶部と、
    第2制御部とを備え、
    前記第2制御部は、
    アクティブになった前記信号線に対応する前記第2パケット登録情報に基づいて可変パケットを除いたアプリケーションデータを含む前記復元パケットを生成し、アクティブ又は非アクティブになった前記可変パケット用信号線に対応する第2可変パケット登録情報から前記復元可変パケットを生成する
    ことを特徴とする請求項1又は2に記載の特定パケット中継機能付きデータダイオード装置。
JP2016112232A 2016-01-08 2016-06-03 特定パケット中継機能付きデータダイオード装置 Active JP6083549B1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016112232A JP6083549B1 (ja) 2016-06-03 2016-06-03 特定パケット中継機能付きデータダイオード装置
PCT/JP2017/000060 WO2017119418A1 (ja) 2016-01-08 2017-01-04 特定パケット中継機能付きデータダイオード装置及びその設定方法
US16/068,046 US10841132B2 (en) 2016-01-08 2017-01-04 Data diode device with specific packet relay function, and method for specifying same
EP17735955.1A EP3402132B1 (en) 2016-01-08 2017-01-04 Data diode device with specific packet relay function

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016112232A JP6083549B1 (ja) 2016-06-03 2016-06-03 特定パケット中継機能付きデータダイオード装置

Publications (2)

Publication Number Publication Date
JP6083549B1 true JP6083549B1 (ja) 2017-02-22
JP2017220733A JP2017220733A (ja) 2017-12-14

Family

ID=58095163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016112232A Active JP6083549B1 (ja) 2016-01-08 2016-06-03 特定パケット中継機能付きデータダイオード装置

Country Status (1)

Country Link
JP (1) JP6083549B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3712265B1 (en) 2017-11-16 2024-01-10 Toru Miyazaki Variant aim
SG11202103250UA (en) 2018-10-01 2021-04-29 Toru Miyazaki Therapeutic agent for neurodegenerative disease
US11165839B2 (en) * 2019-09-20 2021-11-02 Fisher-Rosemount Systems, Inc. Edge gateway system with data typing for secured process plant data delivery
US11436242B2 (en) 2019-09-20 2022-09-06 Fisher-Rosemount Systems, Inc. Edge gateway system with contextualized process plant knowledge repository
CN117794561A (zh) 2021-07-30 2024-03-29 宫崎彻 缺血性疾病的治疗剂

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004120667A (ja) * 2002-09-30 2004-04-15 Hitachi Ltd データ通信方法および情報処理装置
US20100290476A1 (en) * 2009-05-18 2010-11-18 Tresys Technology, Llc One-Way Router
JP2014140096A (ja) * 2013-01-21 2014-07-31 Mitsubishi Electric Corp 通信システム
JP2016016858A (ja) * 2014-07-09 2016-02-01 韓國電子通信研究院Electronics and Telecommunications Research Institute 車両内部ネットワーク保護のための車両外部インタフェース装置および方法
JP2016059034A (ja) * 2014-09-11 2016-04-21 韓國電子通信研究院Electronics and Telecommunications Research Institute 物理的単方向通信装置および方法
JP5930355B1 (ja) * 2016-01-08 2016-06-08 株式会社制御システム研究所 特定パケット中継機能付きデータダイオード装置及びその設定方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004120667A (ja) * 2002-09-30 2004-04-15 Hitachi Ltd データ通信方法および情報処理装置
US20100290476A1 (en) * 2009-05-18 2010-11-18 Tresys Technology, Llc One-Way Router
JP2014140096A (ja) * 2013-01-21 2014-07-31 Mitsubishi Electric Corp 通信システム
JP2016016858A (ja) * 2014-07-09 2016-02-01 韓國電子通信研究院Electronics and Telecommunications Research Institute 車両内部ネットワーク保護のための車両外部インタフェース装置および方法
JP2016059034A (ja) * 2014-09-11 2016-04-21 韓國電子通信研究院Electronics and Telecommunications Research Institute 物理的単方向通信装置および方法
JP5930355B1 (ja) * 2016-01-08 2016-06-08 株式会社制御システム研究所 特定パケット中継機能付きデータダイオード装置及びその設定方法

Also Published As

Publication number Publication date
JP2017220733A (ja) 2017-12-14

Similar Documents

Publication Publication Date Title
JP6083549B1 (ja) 特定パケット中継機能付きデータダイオード装置
JP5930355B1 (ja) 特定パケット中継機能付きデータダイオード装置及びその設定方法
US10841132B2 (en) Data diode device with specific packet relay function, and method for specifying same
KR100703488B1 (ko) 라우터 이중화 시스템에서 백업 라우터의 상태 천이 방법및 장치
JP4401864B2 (ja) パケット生成方法、通信方法、パケット処理方法及びデータ構造
JP6888437B2 (ja) 車載通信装置、通信制御方法および通信制御プログラム
JP3996922B2 (ja) 異なる通信プロトコルが併存するネットワークにおけるネットワーク接続手段の一元管理システム及び方法
JP2018182767A (ja) Ecu、ネットワーク装置、及び車用ネットワーク装置
US8130636B2 (en) Communication control system
US7623666B2 (en) Automatic setting of security in communication network system
US20080069106A1 (en) Communication apparatus
JP4752722B2 (ja) パケット転送装置及びパケット転送方法
KR20180028648A (ko) 단방향 데이터 송신 장치, 단방향 데이터 수신 장치 및 이를 이용한 단방향 데이터 전송 방법
JP5437518B2 (ja) 仮想ネットワークシステム、構成変更方法、トンネル終端装置、トンネル接続装置、及びプログラム
KR20110057797A (ko) 네트워크 카메라 및 센서 네트워크를 이용한 통합감시 시스템 및 그 제어방법
JP4796883B2 (ja) Nat管理システム
JP2015065610A (ja) 伝送システム、伝送装置および伝送方法
JP2019009637A (ja) ネットワーク監視装置
US20210092096A1 (en) Hardening a communication device
JP6575883B1 (ja) 通信制御装置、通信システム、通信制御方法、及び制御プログラム
JP2008199421A (ja) 冗長化データ中継装置を用いた暗号化通信方法および暗号化通信システム
JP2006054766A (ja) 冗長構成ネットワークシステムにおける制御データ共有方法
CN105591865A (zh) 虚拟网络实现的方法、nve、nva装置及系统
KR101045394B1 (ko) 홈 게이트웨이에서의 월패드 인증 시스템 및 방법
CN115914425A (zh) 一种网桥透明代理方法、装置、存储介质及设备

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170110

R150 Certificate of patent or registration of utility model

Ref document number: 6083549

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150