(57)【要約】【課題】データダイオードシステムを利用した信頼性の高いデータ送信を実現する。【解決手段】本発明のデータダイオードシステムは、データダイオード装置と、データダイオード装置の前後段に配置された送信部及び受信部とを備えるデータダイオードシステムである。そして、このデータダイオードシステムにおいて、送信部は、送信元より送信された転送データ群に対して転送コードを付与し、かつデータダイオード装置が通すことができる通信プロトコルに変換して送信する。受信部は、送信部から送信された転送データ群を、データダイオード装置を経由して受信し、送信元の通信プロトコルに変換して転送コードごとに送信先に送信する。【選択図】図４
2018042168.tif 000002
【特許請求の範囲】
【請求項１】
データダイオード装置と、前記データダイオード装置の前後段に配置された送信部及び受信部とを備えるデータダイオードシステムであっては、
前記送信部は、送信元より送信された転送データ群に対して転送コードを付与し、かつ前記データダイオード装置が通すことができる通信プロトコルに変換して送信し、
前記受信部は、前記送信部から送信された前記転送データ群を、前記データダイオード装置を経由して受信し、送信元の通信プロトコルに変換して前記転送コードごとに送信先に送信する
ことを特徴とするデータダイオードシステム。
【請求項２】
前記送信部は、前記転送データ群を前記転送コードごとに蓄積する
ことを特徴とする請求項１に記載のデータダイオードシステム。
【請求項３】
前記受信部は、前記転送データ群の受信中に通信異常を検出した場合、受信したデータを破棄する
ことを特徴とする請求項１に記載のデータダイオードシステム。
【請求項４】
データダイオード装置と、前記データダイオード装置の前後段に配置された送信部及び受信部とを備えるデータダイオードシステムにおけるデータ送信方法であって、
送信元より送信された転送データ群に対して前記送信部で転送コードを付与し、かつ前記データダイオード装置が通すことができる通信プロトコルに変換した後、前記送信部から前記受信部に送信し、
前記送信部から送信された前記転送データ群を、前記データダイオード装置を経由して受信し、送信元の通信プロトコルに変換した後、前記転送コードごとに前記受信部から送信先に送信する
ことを特徴とするデータダイオードシステムにおけるデータ送信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データダイオードシステム及びデータダイオードシステムにおけるデータ送信方法に関する。
【背景技術】
【０００２】
ポンプやバルブ等の設備を制御する制御システム、医療システム、自治体システムのような重要システムにおいて、重要システムの中でのみ取り扱っていたデータを他システムと連携して利活用するケースが増えてきている。重要システムを他システムと連携して利活用するに際して、重要システムから他システムへの一方向通信を実現するデータダイオード装置の適用が進んでいる。ここで、「一方向通信」とは、重要システムから他システムへの片方向しかデータが流れないようにし、他システムから重要システムへの逆方向のデータの流れを阻止するというものである。
【０００３】
データダイオード装置は、特殊な通信プロトコルしか通さないため、実適用に当たっては、データダイオード装置の両端にプロトコル変換装置を設置する構成が一般的である。以下、データダイオード装置の両端にプロトコル変換装置を設置する構成をデータダイオードシステムという。このデータダイオードシステムを重要システムに適用するに当たって、複数の送信元よりデータを送信する場合、データが混在し、帳票などの時系列データとして扱う際に、不整合が発生しないようにすることが必要である。
【０００４】
データ通信の分野において、データ不整合への対策として、データ群に一意のキー(例えば、タイムスタンプ)を付与する技術が知られている(例えば、特許文献１)。特許文献１には、「パケット記録支援サーバは、集合データに対してタイムスタンプサーバにタイムスタンプを発行してもらい、ＣＲＣコードと共にタイムスタンプデータベースに記録する。」と記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−０９６４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記従来技術のように、送信元でデータ群に一意のキーを付与しただけでは、送信元で受信先にデータ送信する際に、送信順序が保証されない。したがって、データ不整合の発生を防止することができないため、データダイオードシステムでのデータ送信の信頼性を低下させる懸念がある。
【０００７】
本発明は、信頼性の高いデータ送信を実現できるデータダイオードシステム及びデータダイオードシステムにおけるデータ送信方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明のデータダイオードシステムは、
データダイオード装置と、データダイオード装置の前後段に配置された送信部及び受信部とを備えるデータダイオードシステムであっては、
送信部は、送信元より送信された転送データ群に対して転送コードを付与し、かつデータダイオード装置が通すことができる通信プロトコルに変換して送信し、
受信部は、送信部から送信された転送データ群を、データダイオード装置を経由して受信し、送信元の通信プロトコルに変換して転送コードごとに送信先に送信する
ことを特徴とする。
【０００９】
また、本発明のデータダイオードシステムにおけるデータ送信方法は、
データダイオード装置と、データダイオード装置の前後段に配置された送信部及び受信部とを備えるデータダイオードシステムにおけるデータ送信方法であって、
送信元より送信された転送データ群に対して送信部で転送コードを付与し、かつデータダイオード装置が通すことができる通信プロトコルに変換した後、送信部から受信部に送信し、
送信部から送信された転送データ群を、データダイオード装置を経由して受信し、送信元の通信プロトコルに変換した後、転送コードごとに受信部から送信先に送信する
ことを特徴とする。
【発明の効果】
【００１０】
本発明によれば、データダイオードシステムを利用した信頼性の高いデータ送信を実現できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態に係るデータダイオードシステムの適用例として、重要システムに対して適用した場合の全体構成を示すブロック図の例である。
【図２】本発明の実施形態に係るデータダイオードシステムの適用例における、送信装置の送信画面の構成を示す図の例である。
【図３】本発明の実施形態に係るデータダイオードシステムの適用例における、送信装置の送信画面によるファイル転送の流れを示すフローチャートの例である。
【図４】本発明の実施形態に係るデータダイオードシステムの構成例を示すブロック図の例である。
【図５】本発明の実施形態に係るデータダイオードシステムの適用例において、送信装置よりデータダイオードシステムの送信部にデータが送信されるまでの処理の流れを示すフローチャートの例である。
【図６】本発明の実施形態に係るデータダイオードシステムにおいて、送信部より受信部にデータが送信されるまでの処理の流れを示すフローチャートの例である。
【図７】本発明の実施形態に係るデータダイオードシステムの適用例において、受信部より公開サーバにデータが送信されるまでの処理の流れを示すフローチャートの例である。
【図８】本発明の実施形態に係るデータダイオードシステムの適用例において、公開サーバとデータ参照装置とがデータのやり取りをする際の処理の流れを示すフローチャートの例である。
【図９】本発明の実施形態に係るデータダイオードシステムの適用例における、データ参照装置で表示される画面の構成例を示す図の例である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態（以下、「実施形態」と記述する）について図面を用いて詳細に説明する。本発明は実施形態に限定されるものではなく、実施形態における種々の数値などは例示である。なお、以下の説明や各図において、同一要素又は同一機能を有する要素には同一符号を用いることとし、重複する説明は省略する。
【００１３】
＜重要システムへのデータダイオードシステムの適用の背景＞
制御システム、医療システム、自治体システムのような重要システムは、これまで閉じたネットワークで運用されていた。しかし、近年、制御システムにおけるＯ＆Ｍ（Operation & Maintenance）、医療・自治体システムにおける地域連携のように、重要システムがネットワークを介して他システムと連携するケースが増えている。例えば、制御システムでは、制御システムが持つ監視・運用データを業務システムで収集・解析することによる制御システムの最適運転を実現する等の新たな価値を生み出そうとしている。
【００１４】
重要システムが他システムと連携することで、上記のような新たな価値を生み出す可能性はあるが、閉じたネットワークで運用され、セキュリティ対策は不要とされてきた重要システムに対しても、外部からの不正アクセスへの対策が必要となってきている。また、重要システム、あるいは、重要システムと連携するシステム（例えば、業務システム）で管理している個人情報の詐取を目的とした標的型攻撃によるウィルス感染なども増えてきている。
【００１５】
上記の重要システム外からの不正アクセス、重要システムへの標的型攻撃への対策としては、重要システムと他システムとの結合点にファイアウォール装置を設置して、重要システムに対する不正アクセスをフィルタリングするのが一般的である。ファイアウォール装置は、予め決められた許可リスト（ＩＰ(Internet Protocol)アドレス、ポート番号、プロトコル名称等）と、実際の通信パケットとを照合することで、重要システムへの不正アクセスを防止する。
【００１６】
しかしながら、ファイアウォール装置の定義誤り、ファイアウォール装置自体のセキュリティの脆弱性等により、重要システムへの不正アクセスを完全に防止できないという課題がある。また、標的型攻撃に対し、重要システムに含まれる各々の装置にウィルス対策ソフトをインストールする方法は、重要システムが閉じたネットワークで運用しているために、必要時にウィルスパターンファイルの更新ができないという課題もある。
【００１７】
上記課題を解決するために、ファイアウォール装置と同様に、重要システムと他システムとの結合点に設置され、重要システムから他システムへの一方向通信を実現するデータダイオード装置の適用が進んでいる。データダイオード装置は、特殊な通信プロトコルしか通さない。そのため、データダイオード装置の実適用に当たって、データダイオード装置の両端にプロトコル変換装置を送信部及び受信部として設置するデータダイオードシステムの構成が一般的に採られている。
【００１８】
例えば、送信装置からＦＴＰ（File Transfer Protocol）でファイルを送信する場合、以下のステップで送信装置から送信先へファイルの送信が行われる。まず、送信部でＦＴＰをデータダイオード装置で通すことができるプロトコルに変換し、データダイオード装置を通して送信する。次に、受信部で受信データをＦＴＰに変換し、送信先（例えば、公開サーバ等）に転送する。最後に、データ参照装置で公開サーバのデータを参照して帳票出力等を行う。
【００１９】
このデータダイオードシステムを重要システムに適用するに当たって、複数の送信元よりデータを送信する場合、データが混在しないようにすることが重要である。また、通信異常に伴うデータ欠落が発生した場合でも、送信先の装置やシステムで不完全なデータを受信しないようにすることが重要である。
【００２０】
因みに、複数の送信元よりデータを送信するとき、送信部と受信部の編集タイミングによって、データが混在すると、データ参照装置等で帳票などの時系列データとして扱う場合、不整合となる可能性がある。このことについて、具体例を挙げて以下に説明する。複数の送信装置から同一データ（例えば、ファイル）を送信するとき、ここでは、
例えば、端末１：データＡ、データＢ、データＣ
端末２：データＡ、        、データＣ、データＤ
を送信することを想定する。
【００２１】
端末１、端末２の順番に送信したとすると、編集タイミングによって、以下のように送信先でデータが混在する場合が考えられる。端末１の送信時刻をＴ１とし、端末２の送信時刻をＴ２とし、Ｔ１＜Ｔ２であるとして、例えば、
Ｔ１：データＡ(端末１)、                  データＣ(端末２)
Ｔ２：データＡ(端末２)、データＢ(端末１)、データＣ(端末１)、データＤ(端末２)
となるケースが考えられる。
【００２２】
また、データダイオードシステムにおいて、通信異常に伴ってデータ欠落が発生した場合、送信先の公開サーバや連携システムで、不完全なデータを受信してしまう。データダイオードシステムにおいては、送信元から送信先への一方向の通信しか行えないため、送信先から送信元へ通信異常時の再送要求ができない。さらに、重要システム、特に制御システムで取り扱う監視・運用データは、常に更新されるため、送信装置で送信エラーとならず、その後のステップでエラーとなった場合、別の手段で再送の要求を受信したとしても、送信装置に送信データが既に存在しない可能性がある。
【００２３】
＜本発明の実施形態＞
そこで、本発明の実施形態では、上記の点を考慮し、重要システムで保持しているデータを、重要システムのセキュリティレベルを維持しつつ、他装置、他システムへ送信可能とするデータダイオードシステムを構築する。
【００２４】
図１は、本発明の実施形態に係るデータダイオードシステムの適用例として、重要システムに対して適用した場合の全体構成を示すブロック図の例である。本適用例では、重要システム１０と、複数の公開サーバ３０及び異常通知装置４０とがデータダイオードシステム２０によって接続されている。また、複数の公開サーバ３０と、複数のデータ参照装置６０及び連携システム７０とがインターネット５０で接続されている。ここで、重要システム１０がデータの送信元となり、公開サーバ３０がデータの送信先となる。
【００２５】
重要システム１０は、複数の送信装置１１及び制御・運用データや個人情報などの重要データ１２１を管理する重要装置１２を有しており、複数の送信装置１１と重要装置１２とがネットワーク１３を介してデータダイオードシステム２０と接続されている。データダイオードシステム２０は、送信部２１と、一方向通信を実現するデータダイオード装置２２と、受信部２３とを有している。送信部２１及び受信部２３は、プロトコル変換機能を有するゲートウェイ（ＧＷ）からなる。
【００２６】
重要装置１２によって管理されている重要データ１２１は、送信元のユーザＵ１による操作の下に、送信装置１１によって、データダイオードシステム２０の送信部２１、データダイオード装置２２及び受信部２３を経由して公開サーバ３０に送信され、当該公開サーバ３０に格納される。公開サーバ３０に格納された重要データ１２１は、送信先のユーザＵ２による操作の下に、データ参照装置６０によってインターネット５０を介して参照され、活用される。
【００２７】
異常通知装置４０は、メールサーバ等からなり、データダイオードシステム２０の受信部２３が通信異常を検出した際に、受信部２３からデータ欠落等の異常通知を受ける装置である。異常通知装置４０は、異常通知を受けたとき、重要システム１０の複数の送信装置１１に対して、図示せぬ通信回線等を介してデータ欠落等の通信異常が発生したことを通知する。
【００２８】
連携システム７０は、他の重要システム１０、あるいは業務システムであって、公開サーバ３０に格納された重要データ１２１を帳票データ形式で、利活用するための連携サーバ７１、データ参照装置７２、プリンタ７３等からなる。連携サーバ７１は、定期的に公開サーバ３０に格納されている重要データ１２１を収集し、連携サーバ７１内に帳票データ等に変換して格納する。データ参照装置７２は、送信先のユーザＵ３による操作の下に、連携サーバ７１に格納されたデータを表示する。プリンタ７３は、送信先のユーザＵ３による操作の下に、連携サーバ７１に格納されたデータを印刷する。
【００２９】
以降、重要システム１０として監視制御システムを例に挙げ、送信装置１１から送信する重要データ１２１として、監視制御システムの監視データを公開サーバ３０に送信し、当該公開サーバ３０で帳票データとして公開することを想定して説明する。
【００３０】
図２は、本発明の実施形態に係るデータダイオードシステム２０の適用例における、送信装置１１の送信画面の構成を示す図の例である。図２Ａの送信画面は、ファイル登録画面３１００の表示内容の一例を示している。図２Ｂの送信画面は、ファイル選択画面３１１０の表示内容の一例を示している。
【００３１】
［送信装置の送信画面によるファイル転送例］
図３は、本発明の実施形態に係るデータダイオードシステム２０の適用例における、送信装置１１の送信画面によるファイル転送の流れを示すフローチャートの例である。この一連の処理は、送信装置１１の制御部（図示せず）による制御の下に実行される。
【００３２】
まず、送信装置１１の制御部は、送信元のユーザＵ１による操作の下に、ファイル登録画面３１００を起動し（ステップＳ３０１）、図２Ａに示すファイル登録画面３１００を表示する（ステップＳ３０２）。次に、送信装置１１の制御部は、ファイル登録画面３１００において、ユーザＵ１がファイル追加ボタン３１０１をクリックしたか否かを判断する（ステップＳ３０３）。そして、送信装置１１の制御部は、ファイル追加ボタン３１０１がクリックされた場合は（Ｓ３０３のＹＥＳ）、図２Ｂに示すファイル選択画面３１１０を表示し（ステップＳ３０４）、ファイル追加ボタン３１０１がクリックされない場合は（Ｓ３０３のＮＯ）、ステップＳ３０２に戻る。
【００３３】
ファイル選択画面３１１０において、ユーザＵ１は、ファイル送信する場合には、送信したいファイルをファイル一覧３１１１より選択後、開くボタン３１１２をクリックすることになる。また、ユーザＵ１は、ファイルを送信しない場合には、キャンセルボタン３１１３をクリックすることになる。
【００３４】
そこで、送信装置１１の制御部は、ファイル選択画面３１１０において、ユーザＵ１が送信したいファイルをファイル一覧３１１１より選択後、開くボタン３１１２をクリックしたか否かを判断する（ステップＳ３０５）。開くボタン３１１２がクリックされた場合（Ｓ３０５のＹＥＳ）、送信装置１１の制御部は、表示画面をファイル登録画面３１００に戻し、当該ファイル登録画面３１００において、登録ファイル一覧３１０２にユーザＵ１が送信したいファイルを関連情報（ファイル名、更新日時、容量）と共に一覧表示する（ステップＳ３０６）。
【００３５】
ファイル登録画面３１００において、ユーザＵ１は、選択したファイルを送信する場合には、転送先の公開サーバを公開サーバリスト３１０３より選択し、転送ボタン３１０４をクリックすることになる。そこで、送信装置１１の制御部は、ファイル登録画面３１００において、ユーザＵ１が転送ボタン３１０４をクリックしたか否かを判断する（ステップＳ３０７）。そして、送信装置１１の制御部は、転送ボタン３１０４がクリックされた場合（Ｓ３０７のＹＥＳ）、選択したファイルを送信する（ステップＳ３０８）、送信画面によるファイル転送の一連の処理を終了し、転送ボタン３１０４がクリックされない場合（Ｓ３０７のＮＯ）、ステップＳ３０６に戻る。
【００３６】
ステップＳ３０５において、送信装置１１の制御部は、開くボタン３１１２がクリックされない場合（Ｓ３０５のＮＯ）、キャンセルボタン３１１３がクリックされたか否かを判断する（ステップＳ３０９）。そして、送信装置１１の制御部は、キャンセルボタン３１１３がクリックされない場合（Ｓ３０９のＮＯ）、ステップＳ３０４に戻り、キャンセルボタン３１１３がクリックされた場合（Ｓ３０９のＹＥＳ）、図２Ｂに示すファイル選択画面３１１０を閉じる（ステップＳ３１０）。
【００３７】
［データダイオードシステムの構成例］
図４は、本発明の実施形態に係るデータダイオードシステム２０の構成例を示すブロック図の例である。
【００３８】
データダイオードシステム２０において、送信部２１は、通信部２１１、記憶部２１２及び制御部２１３を備えている。記憶部２１２には、送信装置１１から受信した受信データ２１２１と、制御部２１３で生成された受信ファイル２１２２と、送信先へ送信する送信ファイル２１２３とが格納されている。送信ファイル２１２３は、制御部２１３による制御の下に、受信ファイル２１２２の中から送信先へ送信するファイルして転送コードごとに退避されている。
【００３９】
送信部２１の制御部２１３は、受信ファイル生成部２１３１、転送コード取得部２１３２、送信ファイル生成部２１３３、ファイル送信部２１３４及びファイル削除部２１３５の各機能部を備えている。受信ファイル生成部２１３１は、受信データ２１２１に基に受信ファイルを生成し、受信ファイル２１２２として記憶部２１２に記憶する。
【００４０】
転送コード取得部２１３２は、例えば送信ファイル２１２３の最新のファイルに付与された転送コードを基に新たな転送コードを生成する（取得する）。送信ファイル生成部２１３３は、転送コード取得部２１３２で取得された転送コードを付与し、送信ファイルを生成する。ファイル送信部２１３４は、送信ファイル生成部２１３３で生成された送信ファイルを、データダイオード装置２２が通すことができる通信プロトコルに変換して送信する。ファイル削除部２１３５は、適宜、ファイルの削除を行う。
【００４１】
データダイオードシステム２０において、受信部２３は、通信部２３１、記憶部２３２及び制御部２３３を備えている。記憶部２３２には、データダイオード装置２２を経由して送信部２１から受信した受信データ２３２１と、制御部２３３で生成された受信ファイル２３２２と、異常ログ２３２３とが格納されている。
【００４２】
受信部２３の制御部２３３は、受信パケットチェック部２３３１、受信ファイル生成部２３３２、ファイル送信部２３３３及び異常通知部２３３４の各機能部を備えている。受信パケットチェック部２３３１は、受信データ２３２１について、周知のチェック手法により、通信異常に伴うデータ欠落の有無をチェックし、データ欠落を検出した場合、その旨を異常ログ２３２３に記録する。
【００４３】
受信ファイル生成部２３３２は、受信データ２３２１について、受信パケットチェック部２３３１でデータ欠落が検出されなかった場合、転送コード付きの受信ファイルとして生成する。ファイル送信部２３３３は、受信ファイル生成部２３３２で生成された転送コード付きの受信ファイルを、送信先（公開サーバ３０）の通信プロトコルに変換して転送コードごとに送信先へ送信する。異常通知部２３３４は、異常ログ２３２３を参照して異常通知装置４０に異常の有無を通知する。
【００４４】
［送信装置−送信部間の通信］
図５は、本発明の実施形態に係るデータダイオードシステム２０の適用例において、送信装置１１よりデータダイオードシステム２０の送信部（ＧＷ）２１にデータが送信されるまでの処理の流れを示すフローチャートの例である。この一連の処理は、送信装置１１の制御部（図示せず）及び送信部２１の制御部２１３による制御の下に実行される。
【００４５】
送信装置１１のファイル登録画面３１００（図２Ａ参照）において、送信装置１１の制御部による制御の下に、監視データを含むファイル送信が開始されると、送信装置１１と送信部２１との間では以下の処理が実行される。
【００４６】
まず、送信装置１１の制御部は、ファイル送信を開始すると（ステップＳ５０１）、送信部２１に対し、データ送信開始メッセージを送信する（ステップＳ５０２）。すると、送信部２１の制御部２１３は、通信部２１１を介してデータ送信開始メッセージを受信し、記憶部２１２に格納する（ステップＳ５１１）。
【００４７】
次に、送信装置１１の制御部は、データ送信開始メッセージの送信完了後、送信部２１に対し、ファイル転送数を送信する（ステップＳ５０３）。すると、送信部２１の制御部２１３は、通信部２１１を介してファイル転送数を受信し、記憶部２１２に格納する（ステップＳ５１２）。
【００４８】
次に、送信装置１１の制御部は、送信部２１に対してデータを送信し（ステップＳ５０４）、次いで、ファイル転送が完了した否かを判断し（ステップＳ５０５）、ファイル転送が完了していなければ（Ｓ５０５のＮＯ）、ステップＳ５０４に戻ってファイルの送信を継続する。ファイル転送が完了した場合は（Ｓ５０５のＹＥＳ）、送信装置１１の制御部は、送信部２１に対してデータ送信終了メッセージを送信し（ステップＳ５０６）、データ送信のための一連の処理を終了する。
【００４９】
一方、送信部２１において、制御部２１３は、通信部２１１を介してデータを受信し、記憶部２１２のファイル転送残数を減算し（ステップＳ５１３）、次いで、このファイル転送残数の演算結果において、ファイル転送残数が０である否か、即ち、全ファイルの受信が完了したか否かを判断する（ステップＳ５１４）。そして、制御部２１３は、ファイル転送残数が０でない場合、即ち、全ファイルの受信が未完了の場合（Ｓ５１４のＮＯ）、ステップＳ５１２に戻り、ファイル転送残数が０であれば（Ｓ５１４のＹＥＳ）、送信装置１１から一定時間内にデータ送信終了メッセージを受信したか否かを判断する（ステップＳ５１５）。
【００５０】
制御部２１３は、一定時間内にデータ送信終了メッセージを受信していなければ（Ｓ５１５のＮＯ）、タイムアウトとして、記憶部２１２から受信ファイルを破棄し（ステップＳ５１６）、データ送信のための一連の処理を終了する。また、制御部２１３は、一定時間内にデータ送信終了メッセージを受信していれば（Ｓ５１５のＹＥＳ）、ファイル転送完了で、転送済みファイルを圧縮し、１ファイルに纏めて転送データ群とし（ステップＳ５１７）、次データの受信待ちに入る。
【００５１】
［送信部−データダイオード装置−受信部間の通信］
図６は、本発明の実施形態に係るデータダイオードシステム２０において、送信部（ＧＷ）２１より受信部（ＧＷ）２３にデータが送信されるまでの処理の流れを示すフローチャートの例である。この一連の処理は、送信部２１の制御部２１３及び受信部２３の制御部２３３による制御の下に実行される。
【００５２】
送信部２１から受信部２３へ送信する転送データ群に対して一意の転送コードを付与する。また、転送データ群については、再送の実行を可能にするために、送信部２１の記憶部２１２に一定期間蓄積する。転送コードについては、転送データ群を送信部２１の記憶部２１２に蓄積する際に、そのファイル名で特定できるようにする。例えば、転送データ群のファイル名が、「010_201607131715.zip」である場合は、転送コードが「010」で、送信日時が「2016/07/13 17:15」であることを示している。
【００５３】
まず、送信装置１１より送信部２１にファイル送信が完了後、送信部２１において、制御部２１３は、現在の転送コードを取得し（ステップＳ６１１）、送信ファイルの転送コードを設定する（ステップＳ６１２）。次に、送信部２１において、制御部２１３は、転送データ群をデータダイオード装置２２が通すことができるプロトコルに変換し、受信部２３に送信する（ステップＳ６１３）。
【００５４】
送信部２１から受信部２３へデータの送信が行われると、データダイオード装置２２はデータを中継する（ステップＳ６２１）。
【００５５】
一方、受信部２３において、制御部２３３は、まず、ファイル転送モードを設定し（ステップＳ６３１）、次いで、通信部２３１を介して転送データ群を受信する（ステップＳ６３２）。次に、制御部２３３は、通信異常があるか否かをチェックし（ステップＳ６３３）、通信異常が無ければ（Ｓ６３３のＮＯ）、受信データが正常であるとして、ファイルを生成する（ステップＳ６３４）。
【００５６】
一方、通信異常があれば（Ｓ６３３のＹＥＳ）、制御部２３３は、通信異常があった旨を異常ログ２３２３に記録し（ステップＳ６３５）、次いで受信データを破棄し（ステップＳ６３６）、しかる後、異常通知装置４０（図１参照）に通信異常を通知する（ステップＳ６３７）。
【００５７】
通信異常の通知を受けた異常通知装置４０は、通信異常に伴ってデータ欠落等が発生した旨を転送コードと共に重要システム１０の送信装置１１に通知する。この通知を受けた送信装置１１は、送信部２１に対して転送コードを指定してデータの再送を要求する。送信部２１は、記憶部２１２の送信ファイル（退避）２１２３に送信済みのファイルを転送コードと共に蓄積（保持）している。したがって、送信装置１１は、送信装置１１から転送コードを指定した上でデータ再送の要求があると、当該転送コードの送信ファイルを再度送信する。
【００５８】
このように、通信異常を検出した場合に、受信データを破棄することで、通信異常に伴って受信データにデータ欠落などがあったとしても、データ破棄によって送信先にデータが欠落した不完全なデータを送信することはない。また、送信部２１が転送コードと共に送信ファイルを保持しているため、通信異常に伴うデータ欠落等が発生した場合であっても、送信部２１から再度送信ファイルを送信する。
【００５９】
送信部２１において、制御部２１３は、ステップＳ６１３でデータ送信後、データ送信に成功したか否かを判断し（ステップＳ６１４）、データ送信に成功したら（Ｓ６１４のＹＥＳ）、転送コード付きファイル（転送データ群）を退避し（ステップＳ６１５）、ファイル送信を終了する（ステップＳ６１６）。制御部２１３は、データ送信に失敗した場合（Ｓ６１４のＮＯ）、送信装置１１にデータ送信に失敗した旨を通知し（ステップＳ６１７）、図５のステップＳ５０１に戻ってデータの再送信を促す（リトライ）。
【００６０】
上述したように、送信したいデータ単位である転送データ群に対して転送コードを付与し、転送コード付きのデータとして送信部２１から受信部２３に送信することにより、送信部２１と受信部２３の編集タイミングによってデータが混在することがない。したがって、データ参照装置６０等の送信先で帳票などの時系列データとして扱う場合に、不整合が発生しないようにすることができる。
【００６１】
［受信部−公開サーバ間の通信］
図７は、本発明の実施形態に係るデータダイオードシステム２０の適用例において、受信部２３より公開サーバ３０にデータが送信されるまでの処理の流れを示すフローチャートの例である。この一連の処理は、受信部２３の制御部２３３及び公開サーバ３０の制御部（図示せず）による制御の下に実行される。
【００６２】
まず、受信部２３において、制御部２３３は、ファイル転送モードが上書きであるか否かを判断し（ステップＳ７０１）、ファイル転送モードが上書きでない場合（Ｓ７０１のＮＯ）、転送ファイルに付与された送信日時のディレクトリを作成し、公開サーバ３０へ転送する（ステップＳ７０２）。
【００６３】
次に、制御部２３３は、ファイルを公開サーバ３０へ転送する（ステップＳ７０３）。また、制御部２３３は、ファイル転送モードが上書きである場合（Ｓ７０１のＹＥＳ）、直接ステップＳ７０３へ移行し、ファイルを公開サーバ３０へ転送する。最後に、制御部２３３は、転送済みファイルを記憶部２３２から削除する（ステップＳ７０４）。
【００６４】
一方、公開サーバ３０の制御部は、受信部２３からの受信情報を基に、送信日時のディレクトリを作成し（ステップＳ７１１）、しかる後、受信部２３から転送されたファイルを受信する（ステップＳ７１２）。
【００６５】
［公開サーバ−データ参照装置間の通信］
図８は、本発明の実施形態に係るデータダイオードシステム２０の適用例において、公開サーバ３０とデータ参照装置６０とがデータのやり取りをする際の処理の流れを示すフローチャートの例である。この一連の処理は、公開サーバ３０の制御部（図示せず）及びデータ参照装置６０の制御部（図示せず）による制御の下に実行される。
【００６６】
また、図９は、本発明の実施形態に係るデータダイオードシステム２０の適用例における、データ参照装置６０で表示される画面の構成例を示す図の例である。図９Ａの表示画面は、データ表示（現在値）の表示画面９００１の表示内容の一例を示している。図９Ｂの表示画面は、データ表示（履歴値）の表示画面９００２の表示内容の一例を示している。
【００６７】
まず、データ参照装置６０の制御部は、送信先のユーザＵ２からの表示要求に応答して画面を起動し（ステップＳ８０１）、次いで、公開サーバ３０に対してデータ取得要求を出す（ステップＳ８０２）。このデータ参照装置６０からのデータ取得要求を受けて、公開サーバ３０の制御部は、データ参照装置６０に対してデータを転送する（ステップＳ８１１）。
【００６８】
データ参照装置６０の制御部は、公開サーバ３０から取得したデータにより、データ表示のための画面を表示する（ステップＳ８０３）。この画面表示において、図９Ａの現在値の表示画面９００１では、データ項目に対し、最新で取得したデータにより表示する。図９Ｂの履歴値の表示画面９００２では、取得したデータを時系列で表示する。取得できなかったデータについては、「−」で表示する。
【００６９】
データ参照装置６０の制御部は、データ表示後、一定期間が経過したか否かを判断し（ステップＳ８０４）、一定時間が超過した場合（Ｓ８０４のＹＥＳ）、ステップＳ８０２に戻ってデータを再取得し、表示内容を更新する。一定期間が経過していない場合（Ｓ８０４のＮＯ）において、データ参照装置６０の制御部は、送信先のユーザＵ２による表示終了の要求に応答して画面表示を終了する（ステップＳ８０５）。
【００７０】
以上説明したように、本発明の実施形態に係るデータダイオードシステム２０によれば、複数の送信元よりデータを送信する場合であっても、データが混在しないようにすることができる。より具体的には、送信したいデータ単位（転送データ群）に対して転送コードを付与して送信するようにしているため、送信先でデータが混在することはなく、送信先で不整合が発生することはない。
【００７１】
また、本発明の実施形態に係るデータダイオードシステム２０によれば、通信異常に伴うデータ欠落が発生した場合でも、送信先の装置やシステムで不完全なデータを受信しないようにすることが重要である。より具体的には、通信異常を検出した場合に、受信データを破棄するとともに、送信部２１から送信ファイルを再送するようにしているため、送信先にデータが欠落した不完全なデータを送信することはない。
【００７２】
＜変形例＞
以上、本発明について実施形態を用いて説明したが、本発明は、上述した実施形態に限定されるものではなく、様々な変形例が含まれる。例えば、上述した実施形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定するものではない。また、上述した実施形態では、重要システム１０として監視制御システムを例に挙げたが、監視制御システムに限られるものではなく、本発明は、制御システム、医療システム、自治体システムなど、他システムと連携してデータを利活用するシステム全般に対して適用可能である。
【符号の説明】
【００７３】
１０…重要システム、  １１…送信装置、  ２０…データダイオードシステム、  ２１…送信部、  ２２…データダイオード装置、  ２３…受信部、  ３０…公開サーバ、  ４０…異常通知装置、  ５０…インターネット、  ６０…データ参照装置、  ７０…連携システム
【図１】
2018042168.tif 000003
【図２】
2018042168.tif 000004
【図３】
2018042168.tif 000005
【図４】
2018042168.tif 000006
【図５】
2018042168.tif 000007
【図６】
2018042168.tif 000008
【図７】
2018042168.tif 000009
【図８】
2018042168.tif 000010
【図９】
2018042168.tif 000011