WO2017119418A1 - 特定パケット中継機能付きデータダイオード装置及びその設定方法 - Google Patents
特定パケット中継機能付きデータダイオード装置及びその設定方法 Download PDFInfo
- Publication number
- WO2017119418A1 WO2017119418A1 PCT/JP2017/000060 JP2017000060W WO2017119418A1 WO 2017119418 A1 WO2017119418 A1 WO 2017119418A1 JP 2017000060 W JP2017000060 W JP 2017000060W WO 2017119418 A1 WO2017119418 A1 WO 2017119418A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- packet
- unit
- registration information
- variable
- network
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4604—LAN interconnection over a backbone network, e.g. Internet, Frame Relay
- H04L12/462—LAN interconnection over a bridge based backbone
- H04L12/4625—Single bridge functionality, e.g. connection of two networks over a single bridge
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
Definitions
- the present invention relates to a data diode device with a specific packet relay function and a setting method thereof.
- a data collection system that collects data related to the operation state in a data center for monitoring and maintaining the operation state of the plant and improving the operation efficiency.
- an information requesting computer installed in a data center and an information providing computer installed in a plant are connected via a network.
- the information requesting computer sends a request to the information providing computer via the network to cause the information providing computer to acquire data relating to the operating state or to transmit the data to the information requesting computer.
- One information providing computer acquires data according to the request, stores the data in a packet, and transmits the data to the information requesting computer via the network.
- a network to which the network equipment in the plant is connected (hereinafter, Security for the internal network is secured by connecting a firewall to the boundary between the internal network and the external network.
- a device for ensuring reliable security a device called a data diode that physically limits communication in one direction is known.
- the data diode is installed at the boundary between the internal network and the external network, and permits only data transmission from the network device of the internal network to the network device of the external network.
- Such a data diode does not block data transmission in the direction of the internal network by software communication control, but completely blocks based on a physical principle.
- the data diode is provided with a light emitting device and a light receiving device for optical communication in only one direction, and is completely limited to data transmission in only one direction.
- serial communication such as Ethernet (registered trademark) or RS-232C, a configuration in which one of the bidirectional signal lines is disconnected can be similarly realized.
- such a data diode physically limits communication in one direction, so that the function for limiting the communication direction is not altered, and the internal network Unauthorized access to is not allowed. Accordingly, security can be maintained even during long-term operation.
- the data diode since the data diode completely blocks communication from the outside to the internal network, when used in the data collection system as described above, the data diode transmits data transmitted from the information providing side computer connected to the internal network. There is a problem that the contents and the transmission timing are limited to predetermined contents and transmission timing. That is, various requests from the information requesting computer connected to the external network cannot be transmitted to the information providing computer. Therefore, even limited requests that can be expected such as external factors such as a temporary data transmission stop request due to a failure of a device on the external network side or a data retransmission request in the event of a reception error It cannot be communicated from outside to inside.
- the present invention has been made in view of the above circumstances, has a simple configuration, secures high security, and allows a specific packet permitted from an external request or the like to a network protected by a data diode.
- An object of the present invention is to provide a data diode device with a specific packet relay function that can be sent and a setting method thereof.
- the data diode device with a specific packet relay function includes a first unit connected to the first network, a second unit connected to the second network, and a packet received from the second network.
- the packet relay unit includes a signal line unit including a plurality of signal lines provided between the first unit and the second unit, and a first unit for each of the specific packets that are provided in the first unit and permit relaying. Packet registration information is registered in advance, and packets from the first network are registered as first packet registration information.
- a packet determining unit that activates a signal line corresponding to the first packet registration information for the packet when the packet is a registered packet, and whether the packet is a registered packet; Second packet registration information is registered in advance for each of the specific packets that are permitted to be relayed, and in response to the activation of one of the signal lines, the second packet registration information corresponding to the activated signal line is added to the second packet registration information.
- a packet restoration unit that generates a restoration packet corresponding to the packet received by the first unit and transmits the packet to the second network.
- a seventh aspect of the present invention there is provided a method for setting the data diode device with a specific packet relay function, wherein configuration information for setting is loaded into the first and second programmable logic devices, respectively, and the first and second programmable logic devices are loaded.
- the packet transmission path for sending the packet from the first network side to the second network side is validated, and the packet including the transmission source information, destination information and application data from the packet on the packet transmission path
- Sending step and sending step An information acquisition step of acquiring packet registration information from the transmitted packet by the information acquisition unit, and the packet registration information acquired in the information acquisition step as first and second packet registration information in the first and second reference tables
- a data diode device with a specific packet relay function comprising: a first unit connected to a first network; a second unit connected to a second network; and a packet received from the second network.
- the packet relay unit is provided between the first unit and the second unit, the signal line unit including a plurality of signal lines provided between the first unit and the second unit.
- a variable packet signal line portion formed of one or a plurality of variable packet signal lines provided in the first unit;
- some of the subject packets other than the variable packets in each of the specific packets are registered in advance as first packet registration information, and packets from the first network are A packet determination unit that determines whether the packet is registered as the first packet registration information, and activates a signal line corresponding to the first packet registration information for the packet when the packet is a registered packet;
- Provided in the second unit and for each of the specific packets, some of the subject packets other than the variable packets in each of the specific packets are registered in advance as the second packet registration information, In response to the activation of the signal line of the second, the second corresponding to the activated signal line
- a packet restoration unit that generates a restoration packet corresponding to the packet received by the first unit based on packet registration information, and sends the packet to the second network.
- the first variable packet registration information indicating that the variable packet signal line is active or inactive is registered in advance, and the signal line is activated by the packet.
- the variable packet signal line is activated or deactivated according to the first variable packet registration information corresponding to the variable packet in the packet, and the packet restoration unit corresponds to the first variable packet registration information
- the second variable packet registration information is registered in advance, and the restoration packet is generated
- the second variable packet registration information is specified based on the state in which the variable packet signal line is active or inactive, and the variable packet associated with the second variable packet registration information is One unit sends out to the second network as a restored variable packet corresponding to the variable packet in the received packet.
- a packet from the second network to the first network is transmitted using the one-way transmission path, and the first network to the second network.
- the signal line corresponding to the first packet registration information is activated, and the relay of the packet is made active.
- a restoration packet corresponding to the packet received by the first unit is generated from the corresponding second packet registration information and sent to the second network. Accordingly, in the present invention, only a specific packet permitted from the outside can be sent to the network device of the protected second network with a simple configuration, and the second unit is modified from the first network side. High security can be ensured without any problem.
- the setting configuration information is loaded to the first and second programmable logic devices constituting the first and second units.
- the packet registration information is acquired from the packet flowing through the validated packet transmission path and registered in the first and second reference tables.
- the first and second reference tables in which the packet registration information corresponding to each packet is registered can be created by transmitting each packet that permits relaying via the packet transmission path.
- the setting of the data diode device with a specific packet relay function according to the connected system becomes easy.
- the corresponding second variable packet registration information is specified in the second unit, 2. From the variable packet registration information, a restored variable packet corresponding to the variable packet in the packet received by the first unit is generated. Accordingly, in the present invention, since direct transmission of packets from the first unit side to the second unit side cannot be performed, high security can be ensured without modification of the second unit from the first network side, and Since the variable packet can be sent to the second network separately from the main packet, various data can be transmitted from the first network to the second network by the variable packet.
- FIG. 12A is an explanatory diagram illustrating an example of the contents of each reference table
- FIG. 12B is an explanatory diagram illustrating an example of the contents of each variable packet reference table.
- FIG. 12C shows an example of a communication sequence.
- the first and second external computers 11a and 11b receive the data from the first and second internal computers 12a and 12b as data diodes with a specific packet relay function.
- This is a system for collecting data via a device (hereinafter simply referred to as a data diode device) 14.
- the first and second internal computers 12a and 12b are arranged in the plant, and the external computer 11 is arranged outside the plant.
- the first and second internal computers 12a and 12b acquire various process data such as temperature and pressure measured by the sensors arranged in the plant, and the external computer 11 receives the process data from the first and second internal computers 12a. , 12b.
- the data acquired from the internal computer 12 is not limited to process data.
- the first and second external computers 11a and 11b are collectively referred to as the external computer 11 when it is not necessary to distinguish between them.
- the first and second internal computers 12a and 12b are collectively referred to as the internal computer 12 when it is not necessary to distinguish them.
- the external network 15 serving as the first network is provided with a plurality of first network devices including the external computer 11.
- the internal network 16 serving as the second network is provided with a second network device including the internal computer 12.
- the data diode device 14 is connected to the boundary between the external network 15 and the internal network 16.
- the data diode device 14 transmits packets from the internal network 16 to the external network 15 and relays only specific packets permitted in advance from the external network 15 to the internal network 16.
- the internal network 16 is a network protected by the data diode device 14 from unauthorized access from the outside.
- the external computer 11 and the data diode device 14 and the internal computer 12 and the data diode device 14 communicate with each other by TCP / IP, that is, the Internet protocol suite.
- the data collection system 10 uses, for example, Ethernet (registered trademark) in the network interface layer (corresponding to the first and second layers of the OSI reference model) of the TCP / IP four-layer model.
- the packet relayed by the data diode device 14 is a packet using TCP as a protocol in the transport layer.
- the communication protocol is not particularly limited.
- the external computer 11 transmits and receives packets to and from the internal computer 12 via the external network 15, the data diode device 14, and the internal network 16. As a result, the external computer 11 acquires process data from the internal computer 12.
- a packet is sent to application data generated by processing in the application layer (OSI reference model layers 5 to 7) in the header (corresponding to the fourth layer of the OSI reference model) (in this example).
- a PDU Protocol Data Unit
- a header in this example, an IP header
- a frame with an Ethernet header added to the packet is transmitted and received.
- the external computer 11 When acquiring the process data from the internal computer 12, the external computer 11 sends a packet storing a request message described later as application data to the external network 15. Although the data diode device 14 is interposed between the external computer 11 and the internal computer 12, the external computer 11 gives the IP address of the internal computer 12 as the destination IP address of the packet.
- the internal computer 12 reads out the process data specified by the request message, and sends the packet storing the read process data to the internal network 16.
- the external computer 11 extracts application data such as process data stored in the received packet.
- the packet when a packet storing a request message is particularly distinguished from other packets, the packet is referred to as a request packet.
- the packet When a packet storing process data returned in response to a request packet is particularly distinguished from other packets, the packet is referred to as a response packet.
- the data diode device 14 includes a first unit 21 connected to the external network 15 and a second unit 22 connected to the internal network 16.
- the first unit 21 receives a packet transmitted from the external network 15 toward the internal network 16, and the received packet is a packet in which first packet registration information (to be described later) is registered (hereinafter referred to as a registration packet). It is determined whether or not. If the received packet is a registration packet, the first unit 21 sends signal lines Q1, Q2,... Qn corresponding to the first packet registration information of the registration packet (see FIG. 2, signal lines Q1, Q2,. ..., When there is no need to distinguish Qn, any one of the signal lines Q) is activated.
- the second unit 22 identifies the content of a registration packet received by the first unit 21 from second packet registration information (to be described later) corresponding to the activated signal line Q, and a packet corresponding to the received registration packet (restoration) Packet) is generated and sent to the internal network 16.
- the data diode device 14 receives a packet from the internal network 16 by the second unit 22 and transmits the packet to the first unit 21 via the one-way transmission path S (see FIG. 2). 21 sends the packet to the external network 15. Thereby, process data addressed to the external computer 11 from the internal computer 12 is sent to the external computer 11.
- the packet relayed by the data diode device 14 to the internal network 16 is not limited to a request packet for acquiring process data, but in the following, the data diode device 14 has several request packets as relay packets. Is assumed to be registered in advance.
- the data diode device 14 is provided between first and second units 21 and 22, a signal line portion 23 including a plurality of signal lines Q, and the first unit 21 and the second unit 22.
- the transmission line 24 is provided.
- the first unit 21 includes a first communication unit 31, a first storage unit 32, a first control unit 33, and a reception unit 34.
- the second unit 22 includes a second communication unit 41, a second storage unit 42, a second control unit 43, and a transmission unit 44.
- the packet determination unit 51 is configured by the first control unit 33 provided in the first unit 21 and the first reference table T1 stored in the first storage unit 32. Further, the packet restoration unit 52 is configured by the second control unit 43 provided in the second unit 22 and the second reference table T2 stored in the second storage unit 42.
- the packet determination unit 51, the packet restoration unit 52, and the signal line unit 23 constitute a packet relay unit 53. Further, the transmission line 24, the receiving unit 34 of the first unit 21, and the transmitting unit 44 of the second unit 22 constitute a unidirectional transmission path S.
- the first communication unit 31 of the first unit 21 is connected to the external network 15.
- the first communication unit 31 receives a packet directed to the internal network.
- the first communication unit 31 receives a packet to which a destination IP address of the first packet registration information registered in the first reference table T1 is assigned among the packets from the external network 15.
- the network address of the internal network 16 may be set in advance in the first communication unit 31, for example, and a packet whose destination IP address matches the network address may be received.
- the first communication unit 31 extracts a transmission source IP address, a destination IP address, application data (hereinafter collectively referred to as reception packet information) and a transmission source port number from the received packet, and sends them to the first control unit 33. In addition, the first communication unit 31 sends out the packet from the receiving unit 34 configuring the one-way transmission path S to the external network 15. As a result, the response packet is transmitted to the external computer 11 which is the transmission source of the corresponding request packet.
- the first storage unit 32 stores the first reference table T1 and the port number conversion table Tp described above.
- the first reference table T1 includes first packet registration information for each specific packet permitted to be relayed and a signal indicating one signal line Q corresponding to the first packet registration information.
- a plurality of records including a line number and an interval time are registered.
- the signal line number of each record and the first packet registration information correspond one-to-one.
- the first packet registration information in this example is stored in a source IP address, a destination IP address, a source port number stored in a TCP header, a destination port number, and a TCP data part stored in the IP header in the packet.
- Consists of application data In this example, the source IP address in the first packet registration information is the source information, the destination IP address is the destination information, and it is used to determine whether the combination of these and application data is a registration packet. It is done.
- the transmission source IP address, destination IP address, destination port number, and application data of the first packet registration information are registered in the request packet that is actually transmitted from the external computer 11 to the internal computer 12.
- the transmission source port number of the first packet registration information a unique port number is assigned in advance to each first packet registration information.
- Modbus / TCP is used as the application protocol. For this reason, a message compliant with TCP / Modbus is registered as application data of the first packet registration information.
- the TCP / Modbus message is composed of data such as a function code for instructing reading and writing of data (process data) to a register provided in the internal computer 12 and an address range at the time of reading and writing. If the process data to be read is the same, the TCP / Modbus request message is the same.
- the first control unit 33 registers a conversion record in which the port number before conversion and the port number after conversion are associated with each other.
- the port number conversion table Tp is used to convert the destination port number of the response packet to the transmission source port number of the corresponding request packet when the response packet is sent to the external computer 11.
- the first control unit 33 determines whether or not the packet received by the first communication unit 31 is a registration packet as described above. In this determination, the first control unit 31 checks whether the received packet information is included in any of the first packet registration information in the first reference table T1. In this determination, when the received packet information is included in any one of the first packet registration information, that is, all of the transmission source IP address, the destination IP address, and the application data are included in any one of the first packet registration information. If it is included, it is determined that the packet is a registration packet. The first control unit 33 acquires the signal line number corresponding to the first packet registration information (hereinafter referred to as the first corresponding packet registration information) including them, and activates the signal line Q of the acquired signal line number. To.
- the first control unit 33 registers a conversion record in the port number conversion table Tp every time it is determined as a registration packet.
- the transmission source port number of the registration packet is set as a pre-conversion port number
- the transmission source port number of the first relevant packet registration information is set as a post-conversion port number.
- the conversion record is deleted by the first control unit 33 after elapse of the interval time of the first relevant packet registration information that is the basis of the converted port number, for example.
- the destination port number of the packet transmitted from the information requesting external computer 11 to the information providing internal computer 12 is generally fixed for each communication partner application. For this reason, in this example, when the application data of the received packet and the first packet registration information match, it is considered that the destination port number also matches, and the destination port number is used to determine whether or not it is a registration packet. Not. Of course, the destination port number may be used for determination as one piece of destination information.
- the transmission source port number of the packet transmitted by the external computer 11 an arbitrary port number is generally given by the external computer 11. Therefore, in this example, the transmission source port number is not used for determining whether or not the packet is a registration packet.
- the transmission source port number is fixed, it can be one of the transmission source information. In this case, it is not necessary to create the port number conversion table Tp.
- the first control unit 33 When the first control unit 33 receives a new packet having the same received packet information as the previously received packet, the first control unit 33 activates the signal line Q in response to the previously received packet. Is within the interval time of the first packet registration information corresponding to, the signal line Q is not activated for a new packet. Thereby, the internal computer 12 is protected from a so-called flood attack in which a large number of packets are transmitted in a short time. Note that the starting point for counting the interval time may be the time when the previously received packet is received.
- the signal lines Q may be equal to or more than the same number as the first packet registration information registered in the first reference table T1.
- a metal line is used as the signal line Q.
- the first control unit 33 includes a plurality of switches connected to each of the signal lines Q, and turns on the switch connected to the signal line number corresponding to the first corresponding packet registration information.
- the signal line Q corresponding to the first corresponding packet registration information is made active, in this example, high level.
- the signal line Q may be active at a low level.
- the signal line Q only needs to be able to tell the second unit 22 whether or not it is active.
- the signal line Q for example, a light emitting diode and a light receiving element are used, and when activated, the first unit 21 lights the light emitting diode, and the second unit 22 detects the light emitting diode lighting by the light receiving element. Good.
- the receiving unit 34 receives a packet from the second unit 22 via the transmission line 24. Further, the receiving unit 34 refers to the port number conversion table Tp and converts the destination port number of the packet received from the second unit 22. That is, the receiving unit 34 uses the destination port number of the received packet as the post-conversion port number of the port number conversion table Tp, and replaces the pre-conversion port number corresponding to the post-conversion port number with the destination port number of the received packet. As a result, the destination port number of the response packet is converted to the source port number of the request packet corresponding thereto. The receiving unit 34 sends a packet with the destination port number replaced to the first communication unit 31.
- Each signal line Q is connected to the second control unit 43 of the second unit 22.
- a second reference table T2 having the same contents as the first reference table T1 is written in the second storage unit 42.
- the packet registration information of each record is the second packet registration information.
- the second packet registration information includes the signal line Q (signal line number) of the first packet registration information having the same content. It is associated. Thus, the first and second packet registration information for the same packet is registered so as to correspond to the same signal line Q.
- the second control unit 43 responds to the activation of one of the signal lines Q, the second packet registration information associated with the signal line number of the activated signal line Q, that is, the first corresponding Second packet registration information having the same content as the packet registration information (hereinafter referred to as second relevant packet registration information when specifically distinguished from other second packet registration information) is read from the second reference table T2, and the second relevant packet is read.
- a packet to which application data, a source IP address, a destination IP address, a source port number, and a destination port number of registration information are assigned is generated.
- a restoration packet corresponding to the packet received by the first unit 21 is generated based on the second corresponding packet registration information.
- the packet generated by the second control unit 43 is sent to the second communication unit 41.
- the interval time can be omitted.
- the second communication unit 41 is connected to the internal network 16.
- the second communication unit 41 sends the packet generated by the second control unit 43 to the internal network 16.
- the packet generated by the second control unit 43 is sent to the internal computer 12.
- the second communication unit 41 sends the packet received from the internal network 16 to the transmission unit 44.
- the source port number may be replaced with an arbitrary port number, and the source IP address may be replaced with the IP address of the second unit 22.
- the destination port number and destination IP address of the packet returned by the internal computer 12 correspondingly are replaced with the source port number and source port number of the second relevant packet registration information, and then the packet is sent to the first unit. 21 is transmitted.
- the unidirectional transmission path S is composed of the receiving unit 34 of the first unit 21, the transmitting unit 44 of the second unit 22, and the transmission line 24, and the communication direction is from the second unit 22 side.
- the data diode is physically limited to one direction toward the first unit 21.
- the transmission unit 44 includes a light emitting element, a modulation circuit that modulates light output from the light emitting element according to input data, a transmission side circuit for error correction, and the like. It comprises a demodulation circuit that demodulates data according to the received light intensity, a receiving side circuit for error correction, and the like.
- the transmission line 24 uses an optical fiber that connects between the light emitting element of the transmitting unit 44 and the light receiving element of the receiving unit 34.
- the one-way transmission path S is input to the transmission unit 44 as data to be transmitted by the packet from the second communication unit 41, and the input data is sent to the reception unit 34 via the transmission line 24.
- the one-way transmission line S is not limited to the above-described configuration as long as it is limited to one-way communication. From the viewpoint of ensuring one-way transmission, for example, the communication direction is physically set as described above. Preferably, the configuration is limited to the above. For error correction, it is preferable to use a forward error correction method that does not require a data retransmission request when an error occurs.
- the packet received by the receiving unit 34 is sent to the first communication unit 31 after the destination port number is converted, and the first communication unit 31 sends the packet to the external network 15.
- a response packet of the requested process data is transmitted to the external computer 11 that has requested the process data from the internal computer 12.
- the transmission mode of application data is not limited to the above mode.
- application data obtained from each response packet may be temporarily stored in a buffer or the like and then transmitted together via the one-way transmission line S, and information such as a destination IP address and a destination port number may be transmitted.
- information such as a destination IP address and a destination port number may be transmitted.
- a packet to be transmitted to the external computer 11 is reconstructed from the collectively received application data, information such as the destination IP address and destination port number, and transmitted.
- the application data extracted from the packet and the destination port number may be sent.
- the source IP address of the first packet registration information whose source port number matches the destination port number may be used as the destination IP address of the response packet.
- the first unit 21 configured as described above is for the first network device on the external network 15, and the second unit 22 is for the second network device on the internal network 16 below the transport layer.
- the operation below the transport layer does not change depending on the application, the connected device, etc., so that a fixed function may be realized and a simple configuration can be achieved.
- the functions of the first and second units 21 and 22 configuring the data diode device 14 can be configured using, for example, a personal computer.
- a personal computer In this case, for example, two personal computers are arranged, a program for realizing the functions of the first and second units 21 and 22 is introduced, and one is the first unit 21 and the other is the second unit 22.
- the signal line Q connection between terminals such as general-purpose input / output ports provided in each personal computer is used.
- the unidirectional transmission line S only one direction of bidirectional signal lines such as RS-232C of each personal computer is connected.
- the first and second units 21 and 22 are represented by, for example, an ASIC (application specific integrated circuit) or an FPGA (Field programmable gate array) as in a second embodiment described later. It can also be realized using a programmable logic device (PLD) or the like.
- the PLD can have an arbitrary circuit configuration by combining a plurality of circuit blocks and can form various processing circuits. However, it is difficult to change the processing circuit itself after the circuit configuration. Therefore, the aspect using ASIC or PLD in this way makes it impossible to modify the function, for example, rewrite the contents of the first reference table T1, and make it difficult to change the operation contents of the first control unit 33. . As a result, the risk of unauthorized access from the external network 15 to the internal computer 12 can be extremely reduced.
- the operation of the above configuration will be described by taking the case where the second external computer 11b is operated to obtain process data from the first internal computer 12a as an example.
- the IP address of the first external computer 11a is “192.168.100.1”
- the IP address of the second external computer 11b is “192.168.100. 2 ”.
- the IP address of the first internal computer 12a is “192.168.1.1”
- the IP address of the second internal computer 12b is “192.168.1.2”.
- the contents shown in FIG. 3 are registered in the first reference table T1 and the second reference table T2.
- the second external computer 11b is operated to instruct acquisition of process data from the first internal computer 12a.
- the second external computer 11b establishes a TCP connection with the first internal computer 12a. Therefore, the second external computer 11b first broadcasts an ARP request that stores the IP address of the first internal computer 12a as the destination IP address.
- the first communication unit 31 of the first unit 21 registers the first packet registration information in which the IP address of the first internal computer 12a is the destination IP address in the first reference table T1, and thus the ARP request In response to this, the ARP reply storing its own MAC address is returned to the ARP request source. Accordingly, the second external computer 11b acquires the MAC address of the first communication unit 31 from the ARP reply. Thereafter, when the second external computer 11b sends a packet using the IP address of the first internal computer 12a as the destination IP address, the MAC address of the first communication unit 31 is set as the destination MAC address. Then, the second external computer 11b transmits a SYN packet using the IP address of the first internal computer 12a as the destination IP address.
- the SYN packet, the ACK + SYN packet, and the ACK packet are transmitted / received between the second external computer 11b and the first communication unit 31, and a TCP connection is established. Is done. Note that, when the external computer 11, the internal computer 12, and the first and second communication units 31 and 41 transmit packets, the source MAC addresses are their own MAC addresses.
- the second external computer 11b After the TCP connection is established, the second external computer 11b generates a request packet P1 (see FIGS. 5 and 6) in which a request message corresponding to the process data to be acquired is stored in the TCP data portion, and the request packet P1 Is sent to the external network 15.
- the source IP address given to the request packet P1 is the IP address “192.168.100.2” of the second external computer 11b
- the destination IP address is the first internal computer 12a.
- the IP address is “192.168.1.1”.
- the request packet is assigned a port number corresponding to TCP / Modbus (502 in this example) as the destination port number, and an arbitrary port number (1501 in this example) is assigned to the source port number. Yes.
- the first communication unit 31 receives the request packet P1, and the received packet information extracted from the request packet P1 and the transmission source port number are sent to the first control unit 33. Upon receiving the received packet information and the source port number, the first control unit 33 checks whether any of the first packet registration information registered in the first reference table T1 includes the received packet information. Then, it is determined whether or not the request packet P1 is a registration packet.
- the first control unit 33 disconnects the connection between the first communication unit 31 and the second external computer 11b, for example.
- the request packet P1 is determined to be a registration packet. In this case, the signal line Q corresponding to the first packet registration information is activated (high level) for a predetermined time.
- the first packet registration information corresponding to the signal line number “2” of the first reference table T1 is the first. It becomes the corresponding packet registration information. Accordingly, the first control unit 33 activates the signal line Q2 of the signal line number “2”. As a result, as indicated by a broken line in FIG. 5, the first control unit 33 sends a packet including the first packet registration information corresponding to the signal line number “2” to the second control unit 43 through the signal line Q2. It is transmitted that one unit 21 has received.
- the first control unit 33 registers a conversion record corresponding to the request packet P1 in the port number conversion table Tp. As shown in FIG. 6, the conversion record R1 in which the transmission source port number “1501” of the request packet P1 is the port number before conversion and the transmission source port number “3002” of the first relevant packet registration information is the conversion port number. Is registered.
- the second control unit 43 identifies the signal line number of the activated signal line Q. Then, the second packet registration information corresponding to the specified signal line number, that is, the second corresponding packet registration information having the same content as the first corresponding packet registration information is read from the second reference table T2. Then, the second communication unit 41 is allowed to establish a TCP connection with the network device having the destination IP address of the second corresponding packet registration information as the IP address. The second communication unit 41 uses the ARP to acquire the MAC address corresponding to the destination IP address of the second corresponding packet registration information, and then uses the destination IP address of the second corresponding packet registration information to use the SYN packet and ACK + SYN. A TCP connection is established by transmitting and receiving a packet and an ACK packet.
- the second control unit 43 When the TCP connection is established, the second control unit 43 includes, in the application data of the second corresponding packet registration information, a TCP header having the destination port number and the source port number of the second corresponding packet registration information, and the second corresponding A packet to which an IP header having the destination IP address and the source IP address of the packet registration information is added is generated. Then, the generated packet is sent from the second communication unit 41 to the internal network 16.
- the second packet registration information corresponding to the signal line number “2” becomes the second corresponding packet registration information. Since the destination IP address of the second relevant packet registration information is the same as that of the first internal computer 12a as the request packet P1, a TCP connection is established between the second communication unit 41 and the first internal computer 12a. Since the second corresponding packet registration information has the same content as the first corresponding packet registration information, the second control unit 43 causes the request packet P2 having substantially the same content as the request packet P1 (FIG. 5, Is generated). That is, the request packet P2 has the same source IP address, destination IP address, destination port number, and request message (application data) as that of the request packet P1, and the source port number corresponds to the first and second sources. This is the transmission source port number “3002” of the packet registration information.
- the contents of the packet to be transmitted to the internal network 16 and the transmission timing of the packet are transmitted from the first unit 21 to the second unit 22, and the second corresponding A packet corresponding to the packet received by the first unit 21 from the packet registration information is restored and sent to the internal network 16.
- the request packet P2 sent to the internal network 16 is received by the first internal computer 12a.
- the first internal computer 12a extracts the request message from the request packet P2, and processes it with a predetermined application corresponding to the destination port number. As a result, the process data corresponding to the request message is extracted from the designated address range, and a response packet P3 (see FIGS. 5 and 6) storing this is generated.
- the response packet P3 is sent from the first internal computer 12a to the internal network 16. For example, although an ACK flag for an acknowledgment response to the request packet P2 is set in the response packet P3, an ACK packet may be transmitted separately from the response packet P3.
- the IP address “192.168.1.1” of the first internal computer 12a as the transmission source IP address.
- the IP address “192.168.100.2” of the second external computer 11b is assigned as the destination IP address.
- the destination port number “502” of the request packet P2 is assigned to the source port number, and the source port number “3002” of the request packet P2 is assigned to the destination port number.
- the response packet P3 sent to the internal network 16 is received by the second communication unit 41 because the destination MAC address is the MAC address of the second communication unit 41.
- the second communication unit 41 returns an ACK packet in response to the reception of the response packet P3, and sends the response packet P3 to the transmission unit 44.
- the response packet P3 is sent from the transmission unit 44 to the reception unit 34 of the first unit 21 via the transmission line 24.
- each response packet may be sequentially transmitted from the second unit 22 to the first unit 21 via the one-way transmission path S.
- the receiving unit 34 When receiving the response packet P3, the receiving unit 34 refers to the port number conversion table Tp and converts the response packet P4 (see FIGS. 5 and 6) obtained by converting the destination port number of the response packet P3 into the first communication unit. Send to 31. Since the response packet P3 has the destination port number “3002”, the conversion record R1 having the converted port number “3002” is referred to, and the response packet P3 is sent to the port number “1501” before conversion of the conversion record R1. The destination port number of is replaced. As a result, as shown in FIG. 6, the destination port number of the response packet P4 is converted to “1501”, which is the same as the source port number of the original request packet P1.
- a response packet P4 is sent from the first communication unit 31 to the external network 15.
- the first communication unit 31 corrects the information of the IP header and the TCP header, for example, the sequence number and the confirmation response number so that the response packet P4 is a packet in response to the previous request packet P1. If the application data of the response packet P4 cannot be transmitted in one packet, it may be divided into a plurality of packets and transmitted.
- the response packet P4 is received by the second external computer 11b because the destination IP address is the IP address of the second external computer 11b.
- an ACK packet is returned from the second external computer 11b, and the ACK packet is received by the first communication unit 31.
- the second external computer 11b extracts process data from the received response packet P4 and passes it to the requesting application according to the destination port number. Since the destination port number of the response packet P4 is the same as the source port number assigned to the request packet P1, the process data is passed to the request source application.
- the request packet A request packet corresponding to is generated by the second unit 22 and transmitted to the internal computer 12.
- the external computer 11 receives a response packet corresponding to the request packet from the internal computer 12 via the data diode device 14.
- the external computer 11 can acquire process data corresponding to the external computer 11 by transmitting a request packet at a necessary timing.
- the packet contents are transmitted from the external network 15 side to the internal network 16 side, that is, from the first unit 21 to the second unit 22 by using the signal line Q corresponding to the contents.
- the first unit 21 is activated and the second packet registration information corresponding to the signal line Q is specified on the second unit 22 side.
- a unidirectional transmission path S with a limited communication direction is used for packet transmission from the second unit 22 to the first unit 21. For this reason, even if an unauthorized modification of the data diode device 14 is attempted from a computer on the external network 15 side, it is difficult to operate the second unit 22 and an unauthorized packet cannot be sent to the internal computer 12. Therefore, unauthorized access to the internal computer 12 is reliably prevented.
- the data diode device (data diode device with a specific packet relay function) of the second embodiment may be configured as an arbitrary circuit configuration by combining a plurality of internal circuit blocks according to configuration information as an example of a programmable logic device.
- the first and second units are configured using possible FPGAs, and have a normal mode for relaying specific packets and a setting mode for acquiring packet registration information and creating a reference table.
- the second embodiment is the same as the first embodiment, and substantially the same members are denoted by the same reference numerals and detailed description thereof is omitted.
- the data diode device 14 includes first and second FPGAs 60 and 70.
- the first and second FPGAs 60 and 70 are configured as processing circuits having various functions by combining a plurality of internal circuit blocks according to the configuration information.
- the data diode device 14 has a setting mode and a normal mode as operation modes, and the operation mode can be selected.
- the first and second FPGAs 60 and 70 load the configuration information of the selected operation mode every time the data diode device 14 is activated.
- circuits formed in the normal mode in the first and second FPGAs 60 and 70 are depicted.
- the first and second FPGAs 60 and 70 are mounted on the printed circuit board PS at a predetermined interval.
- a plurality of signal lines Q and a communication line L0 used in the setting mode are formed on the printed circuit board PS between the first FPGA 60 and the second FPGA 70.
- the communication wiring L0 is composed of a plurality of wiring patterns that connect the first FPGA 60 and the second FPGA 70. Note that a cable that is detachable from the printed circuit board PS may be used as the communication wiring L0, and the cable may be attached only in the setting mode.
- ETH-PHY Ethernet (registered trademark) Physical Layer) chips 31a and 41a, optical PHY chips 34a and 44a, and memory cards, respectively.
- Mounting units 62 and 72, DRAMs 63 and 73, clock generators 64 and 74, and displays 65 and 75 are arranged.
- the ETH-PHY chip 31 a constitutes a part of the first communication unit 31 and is connected to the external network 15 via the connector 66.
- the ETH-PHY chip 41 a constitutes a part of the second communication unit 41 and is connected to the internal network 16 via the connector 76.
- the memory card mounting sections 62 and 72 are configured by a memory slot in which the memory cards 62a and 72a are mounted, an interface circuit that reads and writes data to and from the memory cards 62a and 72a, and the like.
- the memory card 62a is a first storage unit that stores a first reference table T1 and a port number conversion table Tp
- the memory card 72a is a second storage unit that stores a second reference table T2.
- the optical PHY chip 34 a constitutes a part of the reception unit 34
- the optical PHY chip 44 a constitutes a part of the transmission unit 44.
- An optical fiber is connected as a transmission line 24 between the optical PHY chips 34a and 44a.
- the DRAMs 63 and 73 are used as a buffer memory for temporarily storing packets and the like.
- the clock generators 64 and 74 supply operation clock signals to the first FPGAs 60 and 70.
- the displays 65 and 75 display the operation information of the corresponding first and second units 21 and 22.
- a mode selection unit 68 for selecting an operation mode is connected between the first FPGA 60 and the configuration memory 61. By operating the mode selection unit 68, either the normal mode or the setting mode can be selected.
- the mode selection unit 68 loads the configuration information of the selected operation mode onto the first FPGA 60 by switching the area of the configuration memory 61 read by the first FPGA 60 according to the selected operation mode.
- the first FPGA 60 is loaded with the normal configuration information 61a when the normal mode is selected, and with the setting configuration information 61b when the setting mode is selected.
- normal configuration information 71a and setting configuration information 71b for the second FPGA 70 are written.
- a mode selection unit 78 is connected between the second FPGA 70 and the configuration memory 71.
- the mode selection unit 78 is linked to the mode selection unit 68 and selects the same operation mode as the mode selection unit 68.
- the normal configuration information 71a is loaded into the second FPGA 70 when the normal mode is selected
- the configuration information 71b for setting is loaded into the second FPGA 70 when the setting mode is selected.
- the first FPGA 60 forms therein a first communication unit 31, a first control unit 33, and a reception unit 34, and the first FPGA 60 and peripheral circuits A first unit 21 is configured.
- the second FPGA 70 forms a second communication unit 41, a second control unit 43, and a transmission unit 44 therein, and the second FPGA 22 and peripheral circuits make the second unit 22 Composed. Since the configurations and operations of the first and second units 21 and 22 and the data diode device 14 configured using the first and second FPGAs 60 and 70 in this normal mode are the same as those in the first embodiment, description thereof will be given. Is omitted.
- the memory cards 62a and 72a are used as the first and second storage units, these may be formed inside the first and second FPGAs 60 and 70.
- the first and second reference tables T1 and T2 can be duplicated or moved between the memory cards 62a and 72a and the first and second storage units, and the first and second references are made using a computer or the like. It is preferable that the contents of the tables T1 and T2 can be edited.
- the setting mode is an operation mode for creating the first and second reference tables T1 and T2.
- creation of the first and second reference tables T1 and T2 using the setting mode will be described.
- the data diode device 14 is connected to the external network 15 and the internal network 16. If the network addresses of the external computer 11 and the internal computer 12 are different, for example, a router is connected between the data diode device 14 and the internal network 16 to enable communication. A router function may be provided. Further, the memory card 62 a is mounted in the memory card mounting unit 62.
- a setting computer corresponding to the external computer 11 or the internal computer 12 may be connected to the connectors 66 and 76. In this case, if the same IP address as that of the external computer 11 or the internal computer 12 is assigned to the setting computer, the source IP address and destination IP address of the first and second reference tables T1 and T2 are corrected. It becomes unnecessary.
- the mode using the setting computer is preferable because unauthorized access to the internal computer 12 can be prevented in the setting mode.
- the mode selection unit 68 is operated to select the setting mode, and the data diode device 14 is activated in the setting mode (step S1).
- the mode selection unit 78 also selects the setting mode. Accordingly, the first and second FPGAs 60 and 70 load the setting configuration information 61b and 71b from the corresponding configuration memories 61 and 71, respectively (step S2).
- the first FPGA 60 communicates with the information acquisition unit 80, the relay unit 81, and the ETH-PHY chip 31a via the relay unit 81, as shown in FIG.
- An internal communication line L1 connected to the use line L0 is formed.
- an internal communication line L2 for connecting the communication line L0 to the ETH-PHY chip 41a is formed.
- the relay unit 81 relays a packet received by one of the ETH-PHY chip 31a and the ETH-PHY chip 41a to the other. Thereby, the packet transmission path L which can transmit a packet between the connector 66 and the connector 76 is formed.
- the packet transmission path L for sending the packet from the external network 15 side to the internal network 16 side is validated.
- the packet transmission path L is bidirectional so that packets from the internal network 16 side can also be transmitted to the external network 15 side, but the unidirectional transmission path S (see FIG. 7) is formed even in the setting mode,
- the one-way transmission path S may be used for transmission of packets from the internal network 16 side to the external network 15 side.
- the information acquisition unit 80 is connected to a communication line that transmits a packet from the ETH-PHY chip 31a to the ETH-PHY chip 41a in the packet transmission path L, and is transmitted from the external network 15 toward the internal network 16. Capture the packet.
- the information acquisition unit 80 extracts a packet that satisfies the extraction condition from the captured packets, acquires a source IP address, a destination IP address, a destination port number, and application data from the extracted packet as packet registration information.
- the first reference table T1 is created by writing the destination port number and the interval time given to the memory card 62a in correspondence with the signal line number.
- As the extraction condition for example, it is set in the information acquisition unit 80 that application data is stored in the TCP data portion.
- an operation for acquiring process data is performed on the external computer 11, and a request packet is transmitted from the external computer 11 to the internal computer 12 (step S3).
- the combination of the external computer 11 operated at this time, the process data to be acquired, and the internal computer 12 from which the process data is acquired is a combination that permits relaying.
- a request transmission packet including a combination of relaying the destination IP address, the source IP address, and the request message from the external computer 11 and having the destination port number actually used is included in the packet transmission path including the relay unit 81 To the internal computer 12 via L.
- the internal computer 12 Upon receiving the request packet, the internal computer 12 sends a response packet storing process data to the external computer 11 that is the transmission source of the request packet. The response packet is sent to the external computer 11 through the reverse path of the request packet and received. In this way, packets are transmitted and received between the external computer 11 and the internal computer 12.
- a packet is transmitted / received between the external computer 11 and the internal computer 12, for example, an ARP or a packet for establishing a connection is also transmitted / received.
- a packet sent from the external network 15 side to the internal network 16 side is captured by the information acquisition unit 80.
- the information acquisition unit 80 extracts a packet that satisfies the above extraction conditions from the captured packets, and acquires a transmission source IP address, a destination IP address, a destination port number, and application data from the extracted packet as packet registration information ( Step S4).
- ARP packets, SYN packets and ACK packets in which application data is not stored are excluded, and the source IP address, destination IP address, destination port number, and application data of the request packet storing the request message are registered in the packet. Obtained as information.
- packet registration information may be obtained from a packet other than the request packet, such first packet registration information is manually created by confirming the contents of the first reference table T1 after the creation of the first reference table T1. Delete it.
- the information acquisition unit 80 generates registration packet registration information in which a unique transmission source port number and interval time are added to the acquired packet registration information, and the packet registration information is associated with the signal line number in the memory. It is written on the card 62a. Thereby, the first packet registration information corresponding to the signal line number is registered in the first reference table T1 (step S5).
- step S6 If transmission for all request packets to be registered with the first packet registration information has not been completed (NO in step S6), an operation for acquiring process data is performed again on the external computer 11, A request packet is transmitted to the internal computer 12 (step S3). In this way, transmission of the request packet is repeated, and packet registration information obtained by the same procedure is sequentially registered in the first reference table T1 (steps S4 and S5).
- step S6 If transmission of all the request packets is completed (YES in step S6), the data diode device 14 is temporarily stopped, and then the memory card 62a removed from the memory card mounting unit 62 and the memory card 72a are connected to the data copying device. (Not shown), the data of the first reference table T1 is copied to the memory card 72a. Thereby, the second reference table T2 is created in the memory card 72a (step S7). Thereafter, the memory cards 62a and 72a are mounted on the memory card mounting portions 62 and 72, respectively. For example, a personal computer can be used as the data copying apparatus. Further, the contents of the first reference table T1 created by the information acquisition unit 80 may be manually edited.
- the mode selection unit 68 is operated to select the normal mode (step S8).
- the mode selection unit 78 is also in a state where the normal mode is selected.
- the data diode device 14 is started again. Since the normal mode is selected, the first and second FPGAs 60 and 70 load normal configuration information, respectively (step S9).
- the first communication unit 31, the first control unit 33, and the reception unit 34 are formed inside the first FPGA 60, and the first unit 21 is configured by the first FPGA 60 and peripheral circuits. Composed.
- a second communication unit 41, a second control unit 43, and a transmission unit 44 are formed inside the second FPGA 70, and the second FPGA 22 and peripheral circuits constitute the second unit 22. Thereafter, the data diode device 14 operates in the normal mode.
- the above extraction conditions are not limited to these, and various conditions can be set. For example, a destination port number, a destination IP address, a source IP address, etc. can be used as the extraction condition. A plurality of conditions may be combined as extraction conditions.
- the first reference table T1 may be created by forming the information acquisition unit 80 in the second FPGA 70 and creating the second reference table T2, and then copying the second reference table T2 to the memory card 62a.
- the information acquisition units 80 may be formed in both the first and second FPGAs 60 and 70, and the first and second reference tables T1 and T2 may be created in the corresponding memory cards.
- the data collection system 83 embodying the present invention includes first and second external computers 11a and 11b (external computer 11).
- data from the second internal computers 12a and 12b is collected via a data diode device (data diode device) 84 with a specific packet relay function.
- the first and second internal computers 12a and 12b are arranged in the plant, and the external computer 11 is arranged outside the plant.
- the first and second internal computers 12a and 12b acquire, as various process data, temperatures and pressures measured by the sensors arranged in the plant, or images taken inside the plant with an imaging means such as a camera.
- the external computer 11 acquires process data from the first and second internal computers 12a and 12b.
- the external network 15 serving as the first network is provided with a plurality of first network devices including the external computer 11.
- the internal network 16 serving as the second network is provided with a second network device including the internal computer 12.
- the data diode device 84 is connected to the boundary between the external network 15 and the internal network 16.
- the data diode device 84 transmits packets from the internal network 16 to the external network 15 and relays only specific packets permitted in advance from the external network 15 to the internal network 16.
- the internal network 16 is a network protected from unauthorized access from the outside by the data diode device 84.
- the external computer 11 and the data diode device 84, and the internal computer 12 and the data diode device 84 all communicate by TCP / IP, that is, the Internet protocol suite.
- the data collection system 83 uses, for example, Ethernet (registered trademark) in the network interface layer (corresponding to the first and second layers of the OSI reference model) of the TCP / IP four-layer model.
- the packet relayed by the data diode device 84 is a packet using TCP as a protocol in the transport layer.
- the communication protocol is not particularly limited.
- the external computer 11 transmits and receives packets to and from the internal computer 12 via the external network 15, the data diode device 84 and the internal network 16 as in the first embodiment described above.
- the external computer 11 When acquiring process data from the internal computer 12, the external computer 11 sends a packet storing a request message described later as application data to the external network 15. The external computer 11 gives the IP address of the internal computer 12 as the destination IP address of the packet.
- the internal computer 12 reads out the process data specified by the request message, and sends the packet storing the read process data to the internal network 16.
- the external computer 11 extracts application data such as process data stored in the received packet.
- the packet when a packet storing a request message is particularly distinguished from other packets, the packet is referred to as a request packet.
- the packet When a packet storing process data returned in response to a request packet is particularly distinguished from other packets, the packet is referred to as a response packet.
- the data diode device 84 includes a first unit 86 connected to the external network 15 and a second unit 87 connected to the internal network 16.
- the first unit 86 receives a packet transmitted from the external network 15 toward the internal network 16, the first unit 86 extracts a part of the main packet in the packet, and the main packet is used as first packet registration information to be described later. It is determined whether it is registered. If the first unit 86 determines that the main packet in the received packet is registered as the first packet registration information, the first unit 86 sets the received packet as a registration packet, and a signal line corresponding to the first packet registration information of the registration packet Any one of Q1, Q2,..., Qn (refer to FIG.
- signal lines Q1, Q2,..., Qn are collectively referred to as signal lines Q when there is no particular need to distinguish them) is activated.
- the second unit 87 specifies the content of a registration packet received by the first unit 86 from second packet registration information (to be described later) corresponding to the activated signal line Q, and a packet corresponding to the received registration packet (restoration) Packet) is generated and sent to the internal network 16.
- the first unit 86 extracts a variable packet included in the packet and registers a first variable packet reference table registered in advance.
- First variable packet registration information corresponding to the variable packet is specified from (described later).
- the variable packet is data related to the above-described main packet.
- the main packet is a functional control command to the internal computer 12 (for example, an imaging unit activation command, a pressure control command, or the like). If there is, the variable packet indicates a setting command related to an operation when the internal computer 12 operates based on the control command.
- variable packet is a variable setting command related to an imaging operation that instructs an imaging angle or zoom of the imaging unit. If it is a pressure control command in the plant, the variable packet is a variable setting command related to the pressure control operation such as the degree of opening and closing of the valve.
- the first unit 86 based on the first variable packet registration information corresponding to the variable packet, has a plurality of variable packet signal lines q1, q2,... Qx (see FIG. 11, variable packet signal lines q1, q2,... When there is no need to particularly distinguish qx, the variable packet signal line q is generally activated or deactivated. Based on the active or inactive state of the variable packet signal line q from the second variable packet reference table (described later) registered in advance, the second unit 87 stores the corresponding second variable packet registration information. Identify. The second unit 87 sets the variable packet registered in the specified second variable packet registration information as a restored variable packet corresponding to the variable packet in the packet received by the first unit 86, and sends this to the internal network 16. Send it out.
- the data diode device 84 transmits the packet to the first unit 86 via the one-way transmission path S (see FIG. 11). 86 sends the packet to the external network 15. As a result, the process data addressed to the external computer 11 from the internal computer 12 is sent to the external computer 11.
- the packet relayed by the data diode device 84 to the internal network 16 is not limited to a request packet for acquiring process data, but in the following, the data diode device 84 has several request packets as relay packets. Is assumed to be registered in advance.
- the data diode device 84 includes first and second units 86 and 87, a signal line section 23 composed of a plurality of signal lines Q, and a variable packet signal composed of a plurality of variable packet signal lines q.
- a line portion 93 and a transmission line 24 provided between the first unit 86 and the second unit 87 are provided.
- the first unit 86 includes a first communication unit 31, a first storage unit 32, a first control unit 88, and a reception unit 34.
- the second unit 87 includes a second communication unit 41, a second storage unit 42, a second control unit 89, and a transmission unit 44.
- variable packet signal line section 93 is composed of a plurality of variable packet signal lines q such as 8, 16, or 32, and each variable packet signal line q. Depending on the active or inactive state change, data of a plurality of bits corresponding to the number of variable packet signal lines q can be relayed from the first unit 86 to the second unit 87.
- the variable packet signal line section 93 including a plurality of variable packet signal lines q is applied.
- the present invention is not limited to this, and the variable packet including one variable packet signal line q1 is used.
- the signal line section may be used.
- the packet determination unit 91 includes a first control unit 88 provided in the first unit 86 and a first reference table T1a and a first variable packet reference table T1b stored in the first storage unit 32 of the first unit 86. Is configured. Further, the packet restoration is performed by the second control unit 89 provided in the second unit 87 and the second reference table T2a and the second variable packet reference table T2b stored in the second storage unit 42 of the second unit 87. Part 92 is configured.
- the packet determination unit 91, the packet restoration unit 92, the signal line unit 23, and the variable packet signal line unit 93 constitute a packet relay unit 94. Further, the transmission line 24, the receiving unit 34 of the first unit 86, and the transmitting unit 44 of the second unit 87 constitute a unidirectional transmission path S.
- the first communication unit 31 of the first unit 86 is connected to the external network 15.
- the first communication unit 31 receives a packet directed to the internal network 16.
- the first communication unit 31 receives a packet to which the destination IP address of the first packet registration information registered in the first reference table T1a is assigned among the packets from the external network 15.
- the network address of the internal network 16 may be set in advance in the first communication unit 31, for example, and a packet whose destination IP address matches the network address may be received.
- the first communication unit 31 extracts a transmission source IP address, a destination IP address, application data (hereinafter collectively referred to as reception packet information) and a transmission source port number from the received packet, and sends them to the first control unit 88.
- the first communication unit 31 sends a packet from the receiving unit 34 configuring the one-way transmission path S to the external network 15 as a response packet.
- the response packet is transmitted to the external computer 11 which is the transmission source of the corresponding request packet.
- the first storage unit 32 stores the first reference table T1a, the first variable packet reference table T1b, and the port number conversion table Tp described above.
- the first reference table T1a includes first packet registration information indicating information excluding the variable packet 85 in the application data for each specific packet permitted to be relayed, and the first packet registration information.
- a plurality of records including a signal line number indicating one signal line Q corresponding to the packet registration information and an interval time are registered. The signal line number of each record and the first packet registration information correspond one-to-one.
- the first packet registration information in this example is stored in a source IP address, a destination IP address, a source port number stored in a TCP header, a destination port number, and a TCP data part stored in the IP header in the packet. Consists of application data.
- the remaining main packet 85a is registered in the first packet registration information.
- the source IP address in the first packet registration information is the source information
- the destination IP address is the destination information
- “application data” in the description of the packet registration information indicates a part of the main packet 85a excluding the variable packet 85.
- the transmission source IP address, destination IP address, destination port number, and application data of the first packet registration information are registered in the request packet that is actually transmitted from the external computer 11 to the internal computer 12.
- the transmission source port number of the first packet registration information a unique port number is assigned in advance to each first packet registration information.
- Modbus / TCP is used as the application protocol. For this reason, a message compliant with TCP / Modbus is registered as application data of the first packet registration information.
- the TCP / Modbus message is composed of data such as a function code for instructing reading and writing of data (process data) to a register provided in the internal computer 12 and an address range at the time of reading and writing. If the process data to be read is the same, the TCP / Modbus request message is the same.
- the first control unit 88 registers a conversion record in which the port number before conversion and the port number after conversion are associated with each other.
- This port number conversion table Tp when sending a response packet from the internal computer 12 to the external computer 11, specifies the destination port number of the response packet as the source port of the corresponding request packet (request packet requesting the response packet). Used to convert to a number.
- the first control unit 88 determines whether or not the packet received by the first communication unit 31 is a registration packet as described above. In this determination, the first control unit 88 checks whether the received packet information excluding the variable packet 85 in the application data is included in any first packet registration information in the first reference table T1a. In this determination, when the received packet information excluding the variable packet 85 is included in any one of the first packet registration information, that is, the source IP address, the destination IP address, and the variable packet 85 are excluded. When all of the application data (subject packet 85a) match one of the first packet registration information, it is determined as a registration packet. The first control unit 88 acquires a signal line number corresponding to first packet registration information (hereinafter referred to as first corresponding packet registration information) including received packet information, and a signal line Q of the acquired signal line number. Activate
- the first control unit 88 every time the first control unit 88 determines that the received packet is a registration packet, the first control unit 88 registers a conversion record in the port number conversion table Tp. In this registration, the transmission source port number of the registration packet is set as the pre-conversion port number, and the transmission source port number registered in advance in the first packet registration information is set as the post-conversion port number.
- the conversion record is deleted by the first control unit 88 after elapse of the interval time of the first corresponding packet registration information that is the basis of the port number after conversion, for example.
- the destination port number of the packet transmitted from the information requesting external computer 11 to the information providing internal computer 12 is generally fixed for each communication partner application. For this reason, in this example, when the application data of the received packet and the first packet registration information match, it is considered that the destination port number also matches, and the destination port number is used to determine whether or not it is a registration packet. Not. Of course, the destination port number may be used for determination as one piece of destination information.
- the transmission source port number of the packet transmitted by the external computer 11 an arbitrary port number is generally given by the external computer 11. Therefore, in this example, the transmission source port number is not used for determining whether or not the packet is a registration packet.
- the transmission source port number is fixed, it can be one of the transmission source information. In this case, it is not necessary to create the port number conversion table Tp.
- the first controller 88 When the first controller 88 receives a new packet having the same received packet information as the previously received packet, the first controller 88 activates the signal line Q in response to the previously received packet. Is within the interval time of the first packet registration information corresponding to, the signal line Q is not activated for a new packet. Thereby, the internal computer 12 is protected from a so-called flood attack in which a large number of packets are transmitted in a short time. Note that the starting point for counting the interval time may be the time when the previously received packet is received.
- the signal lines Q may be equal to or more than the same number as the first packet registration information registered in the first reference table T1a.
- a metal line is used as the signal line Q.
- the first control unit 88 has a plurality of switches connected to each of the signal lines Q, and turns on the switch connected to the signal line number corresponding to the first corresponding packet registration information.
- the signal line Q corresponding to the first corresponding packet registration information is made active, in this example, high level.
- the signal line Q may be active at a low level.
- the signal line Q only needs to be able to tell the second unit 87 whether or not it is active.
- a light emitting diode and a light receiving element are used as the signal line Q, and when activated, the first unit 86 turns on the light emitting diode, and the second unit 87 detects the lighting of the light emitting diode with the light receiving element. Good.
- the first controller 88 determines that a part of the received packet information excluding the variable packet 85 is included in any one of the first packet registration information in the first reference table T1a.
- the variable packet included in the application data in the received packet information corresponds to any first variable packet registration information in the first variable packet reference table T1b. Determine whether.
- the first variable packet reference table T1b includes a plurality of first variable packets in which signal line state information indicating active or inactive of each variable packet signal line q is associated with each variable packet. Registration information 96a is registered.
- “1” is set when the variable packet signal line q is active, and “0” is set when the variable packet signal line q is inactive, and each variable packet signal line q for each variable packet. Active or inactive is registered in advance.
- the first control unit 88 uses the variable packet “ ⁇ ” as the variable packet information based on the first variable packet reference table T1b.
- the first variable packet registration information in the first column in which “O” is registered is specified as the first corresponding variable packet registration information.
- the first control unit 88 activates the variable packet signal line q1 and deactivates the variable packet signal line q2 in accordance with the signal line state information associated with the first corresponding variable packet registration information.
- the variable packet signal line q is also active or inactive.
- each of the variable packet signal lines q uses a metal line.
- the first control unit 88 includes a switch for each variable packet signal line q, and each variable packet signal line q according to the signal line state information associated with the first corresponding variable packet registration information.
- the switch connected to is turned on or off.
- the variable packet signal line q is individually active (high level in this example) or inactive (low level in this example). become.
- the active state of the variable packet signal line q may be set to a low level.
- the variable packet signal line q may have various configurations as long as it can inform the second unit 87 whether or not it is active.
- the variable packet signal line q for example, a light emitting diode and a light receiving element are used. When activated, the first unit 86 lights the light emitting diode, and the second unit 87 detects the light emitting diode lighting by the light receiving element. It may be.
- the receiving unit 34 receives a packet from the second unit 87 via the transmission line 24. Further, the receiving unit 34 refers to the port number conversion table Tp and converts the destination port number of the packet received from the second unit 87. That is, the receiving unit 34 uses the destination port number of the received packet as the post-conversion port number of the port number conversion table Tp, and replaces the pre-conversion port number corresponding to the post-conversion port number with the destination port number of the received packet. As a result, the destination port number of the response packet is converted to the source port number of the request packet corresponding thereto. The receiving unit 34 sends a packet with the destination port number replaced to the first communication unit 31.
- Each signal line Q is connected to the second control unit 89 of the second unit 87.
- a second reference table T2a having the same contents as the first reference table T1a is written in the second storage unit 42.
- the packet registration information of each record is second packet registration information.
- the second packet registration information includes a signal line Q (signal line number) having the same contents as the first packet registration information. It is associated.
- the first and second packet registration information for the same packet is registered so as to correspond to the same signal line Q.
- the second control unit 89 responds to the activation of one of the signal lines Q, the second packet registration information associated with the signal line number of the activated signal line Q, that is, the first corresponding Second packet registration information having the same contents as the packet registration information (hereinafter referred to as second relevant packet registration information when specifically distinguished from other second packet registration information) is read from the second reference table T2a, and the second relevant packet is read.
- a packet to which application data, a source IP address, a destination IP address, a source port number, and a destination port number of registration information are assigned is generated. Thereby, based on the second corresponding packet registration information, a restoration packet corresponding to the packet received by the first unit 86 is generated.
- the interval time can be omitted.
- each variable packet signal line q is connected to the second control unit 89 of the second unit 87.
- a second variable packet reference table T2b having the same contents as the first variable packet reference table T1b is written in the second storage unit 42.
- the variable packet and signal line state information of each record is second variable packet registration information 96b.
- the same variable packet as the first variable packet registration information 96a is registered in the variable packet information as a second variable packet.
- the second variable packet registration information 96b is associated with signal line state information having the same contents as the first variable packet registration information 96a in correspondence with the second variable packet, as with the first variable packet registration information 96a. Yes.
- the second control unit 89 activates or deactivates each variable packet signal line q from the second variable packet reference table T2b.
- the signal line state information showing the same contents as the active state is specified.
- the second control unit 89 reads the variable packet associated with the identified signal line state information (that is, the second variable packet having the same content as the first corresponding variable packet) from the second variable packet reference table T2b, The first unit generates a restored variable packet corresponding to the variable packet in the received packet.
- the second control unit 89 can generate a restoration packet corresponding to the packet received by the first unit 86 and a restoration variable packet corresponding to the variable packet in the packet received by the first unit.
- the generated packet is sent to the second communication unit 41.
- the second communication unit 41 is connected to the internal network 16.
- the second communication unit 41 sends the packet generated by the second control unit 89 to the internal network 16 and sends the packet to the internal computer 12.
- the second communication unit 41 sends the packet received from the internal network 16 to the transmission unit 44.
- the source port number may be replaced with an arbitrary port number, and the source IP address is replaced with the IP address of the second unit 87. May be.
- the destination port number and destination IP address of the packet returned by the internal computer 12 correspondingly are replaced with the source port number and source port number of the second relevant packet registration information, and then the packet is sent to the first unit. 86.
- the unidirectional transmission path S is composed of the receiving unit 34 of the first unit 86, the transmitting unit 44 of the second unit 87, and the transmission line 24, and the communication direction is from the second unit 87 side.
- the data diode is physically limited in one direction to the first unit 86 side. Since the one-way transmission line S is the same as that of the first embodiment described above, description thereof is omitted here.
- the packet received by the receiving unit 34 is sent to the first communication unit 31 after the destination port number is converted, and the first communication unit 31 sends the packet to the external network 15.
- a response packet of the requested process data is transmitted to the external computer 11 that has requested the process data from the internal computer 12.
- the transmission mode of application data is not limited to the above mode.
- application data obtained from each response packet may be temporarily stored in a buffer or the like and then transmitted together via the one-way transmission line S, and information such as a destination IP address and a destination port number may be transmitted.
- information such as a destination IP address and a destination port number may be transmitted.
- a packet to be transmitted to the external computer 11 is reconstructed from the collectively received application data, information such as the destination IP address and destination port number, and transmitted.
- At least application data and information with which the first unit 86 can identify the destination of application data may be sent using the one-way transmission line S.
- the application data extracted from the packet and the destination port number may be sent.
- the source IP address of the first packet registration information whose source port number matches the destination port number may be used as the destination IP address of the response packet.
- the first unit 86 configured as described above is for the first network device on the external network 15, and the second unit 87 is for the second network device on the internal network 16 below the transport layer.
- the operation below the transport layer does not change depending on the application, the connected device, etc., so that a fixed function may be realized and a simple configuration can be achieved.
- the functions of the first and second units 86 and 87 constituting the data diode device 84 can be configured using, for example, a personal computer.
- a personal computer In this case, for example, two personal computers are arranged, a program for realizing the functions of the first and second units 86 and 87 is introduced, one being the first unit 86 and the other being the second unit 87.
- the signal line Q and the variable packet signal line q connection between terminals such as general-purpose input / output ports provided in each personal computer is used.
- the unidirectional transmission line S only one direction of bidirectional signal lines such as RS-232C of each personal computer is connected.
- the first and second units 86 and 87 are made using, for example, an ASIC (application specific integrated circuit), a programmable logic device (PLD) represented by an FPGA (Field Programmable Gate Array), or the like. It can also be realized.
- the PLD can have an arbitrary circuit configuration by combining a plurality of circuit blocks and can form various processing circuits. However, it is difficult to change the processing circuit itself after the circuit configuration. Therefore, the mode using ASIC or PLD in this way makes it impossible to modify functions, for example, to rewrite the contents of the first reference table T1a and the first variable packet reference table T1b, and to change the operation contents of the first control unit 88. Changes can be difficult. As a result, the risk of unauthorized access from the external network 15 to the internal computer 12 can be extremely reduced.
- the operation of the above configuration will be described by taking the case where the second external computer 11b is operated to obtain process data from the first internal computer 12a as an example.
- the IP address of the first external computer 11a is “192.168.100.1”
- the IP address of the second external computer 11b is “192.168.100. 2 ”.
- the IP address of the first internal computer 12a is “192.168.1.1”
- the IP address of the second internal computer 12b is “192.168.1.2”.
- FIG. 12A are registered in advance in the first reference table T1a and the second reference table T2a, and the first variable packet reference table T1b and the second variable packet reference table T2b are shown in FIG. It is assumed that the contents shown in FIG.
- the second external computer 11b is operated to instruct acquisition of process data from the first internal computer 12a.
- the second external computer 11b establishes a TCP connection with the first internal computer 12a. Therefore, the second external computer 11b first broadcasts an ARP request that stores the IP address of the first internal computer 12a as the destination IP address.
- the first communication unit 31 of the first unit 86 registers the first packet registration information in which the IP address of the first internal computer 12a is the destination IP address in the first reference table T1a.
- the ARP reply storing its own MAC address is returned to the ARP request source.
- the second external computer 11b acquires the MAC address of the first communication unit 31 from the ARP reply.
- the second external computer 11b sends a packet using the IP address of the first internal computer 12a as the destination IP address
- the MAC address of the first communication unit 31 is set as the destination MAC address.
- the second external computer 11b transmits a SYN packet using the IP address of the first internal computer 12a as the destination IP address.
- the SYN packet, the ACK + SYN packet, and the ACK packet are transmitted / received between the second external computer 11b and the first communication unit 31, and a TCP connection is established. Is done. Note that, when the external computer 11, the internal computer 12, and the first and second communication units 31 and 41 transmit packets, the source MAC addresses are their own MAC addresses.
- the second external computer 11b After the TCP connection is established, the second external computer 11b generates a request packet P1 (see FIGS. 14 and 6) in which a request message corresponding to the process data to be acquired is stored in the TCP data portion, and the request packet P1 Is sent to the external network 15.
- the first communication unit 31 receives the request packet P1 and sends the received packet information extracted from the request packet P1 and the transmission source port number to the first control unit 88.
- the first control unit 88 checks whether the received packet information is included in any of the first packet registration information registered in the first reference table T1a. Then, it is determined whether or not the request packet P1 is a registration packet. Specifically, in the first control unit 88, whether or not a part of received packet information excluding variable packets corresponds to any of the first packet registration information registered in the first reference table T1a. judge.
- the first control unit 88 disconnects the connection between the first communication unit 31 and the second external computer 11b, for example.
- the request packet P1 is determined to be a registration packet. In this case, the signal line Q corresponding to the first packet registration information is activated (high level) for a predetermined time.
- the signal line number “2” of the first reference table T1a When the content of the application data of the request packet P1 is, for example, “0001 0000 0006-03 008A 00E3” (the application data on the second line in FIG. 12A), the signal line number “2” of the first reference table T1a.
- the first packet registration information corresponding to is the first corresponding packet registration information.
- “-” In the application data indicates an area where the variable packet is arranged.
- the first reference table T1a and the application data are collated except for the variable packet in the received packet information as described above.
- the main packet (here, “0001 0000 0006-03 008A 00E3”) 85a is used.
- the first control unit 88 activates the signal line Q 2 with the signal line number “2”.
- the first control unit 88 sends a packet containing the first packet registration information corresponding to the signal line number “2” to the second control unit 89 through the signal line Q2. Information received by one unit 86 is transmitted.
- the first controller 88 checks which of the first variable packet registration information registered in the first variable packet reference table T1b the variable packet in the received packet information corresponds to. . In this case, when the received packet information corresponds to any of the first packet registration information registered in the first reference table T1a, the variable packet in the received packet information is stored in the first variable packet reference table T1b. Any of the first variable packet registration information may be applicable.
- variable packet in the received packet information is: It may not correspond to any of the first variable packet information registered in the first variable packet reference table T1b.
- all the variable packet signal lines q may be set in a predetermined state, such as being activated or deactivated.
- each variable is variable for a predetermined time according to the signal line state information associated with the variable packet information.
- the packet signal line q becomes active (high level) or inactive (low level), respectively.
- variable packet signal line q1 is activated (denoted by “1” in FIG. 12B) and is variable.
- the packet signal line q2 is deactivated (indicated by “0” in FIG. 12B).
- all the remaining variable packet signal lines q are activated or deactivated according to the signal line state information associated with the variable packet information “Ox” in the first variable packet reference table T1b.
- the signal line state information is transferred from the first control unit 88 to the second control unit 89, as indicated by a broken line in FIG. Communicated.
- the first control unit 88 registers a conversion record corresponding to the request packet P1 in the port number conversion table Tp. As shown in FIG. 6, a conversion record in which the transmission source port number “1501” of the request packet P1 is the port number before conversion and the transmission source port number “3002” of the first corresponding packet registration information is the conversion port number. R1 is registered.
- the second control unit 89 specifies the signal line number of the activated signal line Q. Then, second packet registration information corresponding to the specified signal line number, that is, second corresponding packet registration information having the same content as the first corresponding packet registration information is read from the second reference table T2a.
- the second control unit 89 specifies corresponding signal line state information from the second variable packet reference table T2b based on the active or inactive state of each variable packet signal line q. Then, the variable packet information corresponding to the specified signal line state information, that is, the variable packet “Ox” having the same content as the variable packet “Ox” received by the first control unit 88 is read from the second variable packet reference table T2b. .
- the second communication unit 41 is allowed to establish a TCP connection with the network device having the destination IP address of the second corresponding packet registration information as the IP address.
- the second communication unit 41 uses the ARP to acquire the MAC address corresponding to the destination IP address of the second corresponding packet registration information, and then uses the destination IP address of the second corresponding packet registration information to use the SYN packet and ACK + SYN.
- a TCP connection is established by transmitting and receiving a packet and an ACK packet.
- the second control unit 89 When the TCP connection is established, the second control unit 89 includes, in the application data of the second corresponding packet registration information, a TCP header having the destination port number and the source port number of the second corresponding packet registration information, and the second corresponding An IP header having a destination IP address and a source IP address of the packet registration information is added, and a packet is generated by adding the variable packet specified based on the second variable packet reference table T2b in the application data. Then, the generated packet is sent from the second communication unit 41 to the internal network 16.
- the second packet registration information corresponding to the signal line number “2” becomes the second corresponding packet registration information. Since the destination IP address of the second relevant packet registration information is the same as that of the first internal computer 12a as the request packet P1, a TCP connection is established between the second communication unit 41 and the first internal computer 12a.
- the second corresponding packet registration information has the same contents as the first corresponding packet registration information, and the variable packet information specified by the second variable packet reference table T2b is the signal line state information in the first variable packet reference table T1b. Therefore, the second control unit 89 generates a request packet P2 (see FIGS. 14 and 6) having substantially the same content as the request packet P1.
- the request packet P2 generated by the second unit 87 includes a source IP address, a destination IP address, a destination port number, and a request message (application data composed of the variable packet 85 and the main packet 85a). It is the same as the received request packet P1, and the source port number is the source port number “3002” of the first and second relevant packet registration information.
- the contents of the packet to be transmitted to the internal network 16 and the transmission timing of the packet are changed from the first unit 86 to the second unit 87.
- the packet corresponding to the packet received by the first unit 86 from the second corresponding packet registration information and variable packet information is restored and sent to the internal network 16.
- the request packet P2 sent to the internal network 16 is received by the first internal computer 12a.
- the first internal computer 12a extracts the request message from the request packet P2, and processes it with a predetermined application corresponding to the destination port number. As a result, process data corresponding to the request message is extracted from the designated address range, and a response packet P3 (see FIGS. 14 and 6) storing this is generated.
- the response packet P3 is sent from the first internal computer 12a to the internal network 16. For example, although an ACK flag for an acknowledgment response to the request packet P2 is set in the response packet P3, an ACK packet may be transmitted separately from the response packet P3. In the response packet P3, as described with reference to FIG. 6 in the first embodiment, the request packet P2, the transmission source, and the destination are reversed.
- the response packet P3 sent to the internal network 16 is received by the second communication unit 41 because the destination MAC address is the MAC address of the second communication unit 41.
- the second communication unit 41 returns an ACK packet in response to the reception of the response packet P3, and sends the response packet P3 to the transmission unit 44.
- the response packet P3 is sent from the transmission unit 44 to the reception unit 34 of the first unit 86 via the transmission line 24.
- each response packet may be sequentially transmitted from the second unit 87 to the first unit 86 via the one-way transmission path S.
- the receiving unit 34 When receiving the response packet P3, the receiving unit 34 refers to the port number conversion table Tp and transmits the response packet P4 (see FIGS. 14 and 6) obtained by converting the destination port number of the response packet P3 to the first communication unit. Send to 31. As a result, as shown in FIG. 6, the destination port number of the response packet P4 is converted to “1501”, which is the same as the source port number of the original request packet P1.
- the response packet P4 is sent from the first communication unit 31 to the external network 15.
- the first communication unit 31 corrects the information of the IP header and the TCP header, for example, the sequence number and the confirmation response number so that the response packet P4 is a packet in response to the previous request packet P1. If the application data of the response packet P4 cannot be transmitted in one packet, it may be divided into a plurality of packets and transmitted.
- the response packet P4 is received by the second external computer 11b because the destination IP address is the IP address of the second external computer 11b.
- an ACK packet is returned from the second external computer 11b, and the ACK packet is received by the first communication unit 31.
- the second external computer 11b extracts process data from the received response packet P4 and passes it to the requesting application according to the destination port number. Since the destination port number of the response packet P4 is the same as the source port number assigned to the request packet P1, the process data is passed to the request source application.
- the first unit 86 of the data diode device 84 when the request packet is sent from the external computer 11 to the internal computer 12, a part of the received packet information excluding the variable packet is included in the first reference table. If it is the same as the first packet registration information registered in advance in T1a, the predetermined signal line Q associated with the first packet registration information is activated. Thereby, the second unit 87 of the data diode device 84 specifies the second packet registration information that is the same as the first packet registration information from the second reference table T2a based on which signal line Q is active. A packet corresponding to the received packet information of the first unit 86 can be generated.
- the first control unit 88 does not execute the connection operation of the signal line Q as described above. Therefore, no packet is transmitted from the first unit 86 to the second unit 87. Thereby, in the data diode device 84, it is possible to prevent an unauthorized computer on the external network 15 from accessing the internal computer 12, and to prevent information leakage without unauthorized access.
- the data diode device 84 uses a one-way transmission line S with a limited communication direction for transmission of packets from the second unit 87 to the first unit 86, while the first unit 86 to the second unit 87. Transmission of packet contents is performed depending on which signal line Q is active. For this reason, even if an unauthorized modification of the data diode device 84 is attempted from the computer on the external network 15 side, it is difficult to operate the second unit 87 and an unauthorized packet cannot be sent to the internal computer 12. Therefore, the data diode device 84 can reliably prevent unauthorized access to the internal computer 12 while transmitting packets from the second unit 87 to the first unit 86.
- the first unit 86 of the data diode device 84 extracts the variable packet from the received packet information of the packet received from the external network 15. Then, in the first unit 86, the same variable packet information as the extracted variable packet is specified from the first variable packet reference table T1b, and according to the signal line state information previously associated with the specified variable packet information, The variable packet signal line q is activated or deactivated.
- the second unit 87 recognizes the connection state of each variable packet signal line q that has become active or inactive based on the variable packet by the first unit 86, and any signal in the second variable packet reference table T2b. Specify whether it corresponds to the line status information. Then, in the second unit 87, the variable packet information associated with the signal line state information specified based on the active or inactive state of each variable packet signal line q is read from the second variable packet reference table T2b, The first unit 86 generates a restored variable packet corresponding to the variable packet in the received packet.
- the data diode device 84 cannot directly transmit a packet from the first unit 86 side to the second unit 87 side. Therefore, the second unit 87 is not altered from the external network 15 side and high security is achieved. Furthermore, since a variable packet can be sent to the internal network 16 separately from the main packet, various data can be transmitted from the external network 15 to the internal network 16 by the variable packet.
- Modbus / TCP is used as the application protocol, but the application protocol is not particularly limited.
- the application data of the plurality of first and second packet registration information registered in the first and second reference tables T1a and T2a may be of different types of application protocols. That is, the data diode device 84 can handle packets with different application protocols without distinction.
- the data diode devices 14 and 84 relay TCP packets as a protocol in the transport layer. For example, when using TCP and UDP together, information for specifying the protocol type is used. In addition to the first and second packet registration information. In this case, the second unit 87 adds a header according to the protocol type of the second packet registration information to generate a packet, and controls communication according to the protocol indicated by the protocol type. Since this protocol type is necessary for the second unit 87 to generate a packet, it can be omitted in the first packet registration information. Of course, when determining whether or not the packet is a registration packet including the protocol type, it is also necessary for the first packet registration information.
- the data diode devices 14 and 84 receive application data including both the variable packet and the subject packet has been described.
- the present invention is not limited to this, for example, The data diode devices 14 and 84 receive application data including a part of the main packet excluding the variable packet, and receive application data including the variable packet without including the main packet. Also good.
- the data diode devices 14 and 84 can also be used when, for example, commands and data for controlling the operation of plant equipment and the operation of the internal computer 12 are sent to the internal computer 12.
- the destination IP address of the packet registration information in the first and second reference tables T1a and T2a is the IP address (unicast address) of each internal computer 12, but the present invention is not limited to this.
- a destination IP address of the packet registration information for example, a multicast address may be used so that packets can be simultaneously transmitted to a plurality of internal computers 12.
- a transmission source IP address is used as transmission source information for specifying a transmission source
- a destination IP address is used as destination information for specifying a destination.
- transmission source information and destination information are limited to these. Instead, information corresponding to the communication protocol may be used.
- the packet registration information is composed of application data consisting of a part of the main packet excluding variable packets in addition to the source IP address, destination IP address, source port number, destination port number, but is not limited to these. What is necessary is just to comprise with the information according to the protocol of communication rather than a thing.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
外部ネットワークと内部ネットワークとの間に特定パケット中継機能付きデータダイオード装置(14)が接続されている。特定パケット中継機能付きデータダイオード装置(14)は、信号線(Q)で接続された第1ユニット(21)と第2ユニット(22)とを有している、外部ネットワーク(15)に接続された第1ユニット(21)は、複数のパケット登録情報が信号線(Q)に対応させて第1参照テーブル(T1)に登録されている。内部ネットワーク(16)に接続された第2ユニット(22)は、第1参照テーブル(T1)と同じ内容の第2参照テーブル(T2)を有している。第1ユニット(21)が受信したパケットに含まれる送信元IPアドレス、宛先IPアドレス及びアプリケーションデータを含むパケット登録情報に対応した信号線をアクティブにすることによって、第2ユニット(22)にパケットの内容と内部ネットワーク(16)に送信するパケットを受信したことを伝達する。第2ユニット(22)は、パケット登録情報に基づいたパケットを生成して第2ネットワークに送出する。特定パケット中継機能付きデータダイオード装置(14)は、一方向にデータを伝送する一方向伝送路Sを用いて内部コンピュータ(12)からのパケットを外部コンピュータ(11)に中継する。
Description
本発明は、特定パケット中継機能付きデータダイオード装置及びその設定方法に関するものである。
例えばプラントの運転状態の監視・保守や運転効率の向上のために運転状態に関するデータをデータセンタに収集するデータ収集システムが知られている。このようなデータ収集システムでは、データセンタに設置された情報要求側コンピュータと、プラントに設置された情報提供側コンピュータとがネットワークを介して接続されている。情報要求側コンピュータは、ネットワークを介して、情報提供側コンピュータに運転状態に関するデータを取得させたり、情報要求側コンピュータに送信させたりするための要求を情報提供側コンピュータに送る。一方の情報提供側コンピュータは、要求にしたがってデータを取得し、そのデータをパケットに格納して情報要求側コンピュータにネットワークを介して送信する。
上記のようなデータ収集システムでは、情報提供側コンピュータを含むプラント内部のネットワーク機器を不正アクセス、情報漏洩、コンピュータウィルスの侵入等から保護するため、プラント内のネットワーク機器が接続されたネットワーク(以下、内部ネットワークという)と外部ネットワークとの境界にファイアウォールを接続することで、内部ネットワークに対するセキュリティを確保している。
また、確実なセキュリティを確保するための機器として、物理的に通信を一方向に限定するデータダイオードと称される機器が知られている。このデータダイオードは、内部ネットワークと外部ネットワークとの境界に設置され、内部ネットワークのネットワーク機器から外部ネットワークのネットワーク機器に向けたデータ送信のみを許可する。このようなデータダイオードは、内部ネットワーク方向へのデータ送信をソフトウェア的な通信制御で遮断するのではなく、物理的な原理に基づき完全に遮断している。例えばデータダイオードは、一方向だけの光通信用の発光器と受光器とを設けた構成にされて、完全に一方向のみのデータ送信に限定している。イーサネット(登録商標)やRS-232C等のシリアル通信において、双方向の信号線のうちの一方を切断した構成等でも、同様に実現可能である。
このようなデータダイオードは、ソフトウェアによる通信の制御、遮断する装置と異なり、物理的に通信を一方向に限定しているため、その通信方向を限定する機能が改変されることはなく、内部ネットワークに対する不正なアクセスを許すことがない。したがって、長期間の運用においてもセキュリティの維持が可能である。
しかしながら、データダイオードは、外部から内部ネットワークに向けての通信を完全に遮断するため、上記のようなデータ収集システムに用いる場合に、内部ネットワークに接続された情報提供側コンピュータから送信されるデータの内容及びその送信タイミングは、予め決められた内容および送信タイミングに限定されるという問題がある。すなわち、外部ネットワークに接続された情報要求側コンピュータからの各種要求は情報提供側コンピュータに送信できない。したがって、外的な要因、例えば、外部ネットワーク側の機器の障害発生による一時的なデータの送信停止要求や、受信ミスをした際のデータの再送要求など、予想されうる限られた要求でさえも外部から内部に伝えることはできない。
本発明は、上記事情に鑑みてなされたものであり、簡易な構成であり、高いセキュリティを確保しつつ、外部からの要求等の許可された特定のパケットを、データダイオードで保護されたネットワークに送ることができる特定パケット中継機能付きデータダイオード装置及びその設定方法を提供することを目的とする。
本発明の請求項1における特定パケット中継機能付きデータダイオード装置は、第1ネットワークに接続された第1ユニットと、第2ネットワークに接続された第2ユニットと、第2ネットワークから受信したパケットを第2ユニットから第1ユニットへの一方向だけに伝送する一方向伝送路と、第1ネットワークから受信するパケットのうち許可された特定のパケットだけを第2ネットワークに中継するパケット中継部とを備え、パケット中継部は、第1ユニットと第2ユニットとの間に設けられた複数の信号線からなる信号線部と、第1ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第1パケット登録情報が予め登録され、第1ネットワークからのパケットが第1パケット登録情報として登録されたパケットであるか否かを判定し、登録されたパケットである場合に、当該パケットについての第1パケット登録情報に対応した信号線をアクティブにするパケット判定部と、第2ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第2パケット登録情報が予め登録され、いずれかの信号線がアクティブになることに応答して、アクティブになった信号線に対応する第2パケット登録情報に基づいて、第1ユニットが受信したパケットに相当する復元パケットを生成し、第2ネットワークに送出するパケット復元部とを備えるものである。
また本発明の請求項7における上記特定パケット中継機能付きデータダイオード装置の設定方法は、第1及び第2プログラマブルロジックデバイスにそれぞれ設定用構成情報をロードし、第1及び第2プログラマブルロジックデバイス内部に通信用配線を形成することで、第1ネットワーク側からのパケットを第2ネットワーク側に送るパケット伝送路を有効化するとともに、パケット伝送路上のパケットから送信元情報、宛先情報及びアプリケーションデータを含むパケット登録情報を取得する情報取得部を第1及び第2プログラマブルロジックデバイスの少なくとも一方に形成する第1形成ステップと、第1ネットワーク機器から第2ネットワーク機器に向けて中継を許可する特定のパケットを送信する送信ステップと、送信ステップで送信されたパケットからパケット登録情報を情報取得部で取得する情報取得ステップと、情報取得ステップで取得したパケット登録情報を第1、第2パケット登録情報として第1、第2参照テーブルに信号線のいずれかに対応させて登録する情報登録ステップと、情報登録ステップ後に実行され、第1の通常構成情報を第1プログラマブルロジックデバイスにロードすることで、第1プログラマブルロジックデバイスに少なくとも第1制御部を形成して第1ユニットを構成し、第2の通常構成情報を第2プログラマブルロジックデバイスにロードすることによって、第2プログラマブルロジックデバイスに少なくとも第2制御部を形成して第2ユニットを構成する第2形成ステップとを有するものである。
本発明の請求項4における特定パケット中継機能付きデータダイオード装置は、第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ネットワークに送出するものである。
本発明の請求項1,4における特定パケット中継機能付きデータダイオード装置によれば、第2ネットワークから第1ネットワークへのパケットは一方向伝送路を用いて伝送し、第1ネットワークから第2ネットワークへのパケットの中継は、第1ユニット側で第1パケット登録情報として登録されているパケットを受信したときに、その第1パケット登録情報に対応した信号線をアクティブにし、アクティブになった信号線に対応する第2パケット登録情報から第1ユニットで受信したパケットに相当する復元パケットを生成して第2ネットワークに送出する。これにより本発明では、簡易な構成で外部からの許可された特定のパケットだけを、保護された第2ネットワークのネットワーク機器に送ることができるとともに、第1ネットワーク側から第2ユニットが改変されることなく高いセキュリティを確保することができる。
また、本発明の請求項7における特定パケット中継機能付きデータダイオード装置の設定方法によれば、第1、第2ユニットを構成する第1、第2プログラマブルロジックデバイスに、設定用構成情報をロードして有効化されたパケット伝送路に流れるパケットからパケット登録情報を取得し、第1、第2参照テーブルに登録する。これにより本発明では、パケット伝送路を介して中継を許可する各パケットを送信することで、それら各パケットに対応するパケット登録情報が登録された第1、第2参照テーブルを作成できるようになり、接続するシステムに応じた特定パケット中継機能付きデータダイオード装置の設定が容易になる。
また、本発明の請求項4では、第1ユニットによってアクティブ又は非アクティブにされた可変パケット用信号線を基に、第2ユニットおいて、対応する第2可変パケット登録情報を特定し、当該第2可変パケット登録情報から、第1ユニットが受信したパケット内の可変パケットに相当する復元可変パケットを生成するようにした。これにより、本発明では、第1ユニット側から第2ユニット側へのパケットの直接的な送信が行えないので、第1ネットワーク側から第2ユニットが改変されることなく高いセキュリティを確保でき、さらに、主体パケットとは別に可変パケットについても第2ネットワークに送れることから、その分、当該可変パケットによって第1ネットワークから第2ネットワークへ種々のデータを送信し得る。
[第1実施形態]
図1に示すように、本発明を実施したデータ収集システム10は、第1、第2外部コンピュータ11a、11bが第1、第2内部コンピュータ12a、12bからのデータを特定パケット中継機能付きデータダイオード装置(以下、単にデータダイオード装置と称する)14を介して収集するシステムである。例えば、第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に示すように、本発明を実施したデータ収集システム10は、第1、第2外部コンピュータ11a、11bが第1、第2内部コンピュータ12a、12bからのデータを特定パケット中継機能付きデータダイオード装置(以下、単にデータダイオード装置と称する)14を介して収集するシステムである。例えば、第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ネットワーク機器が設けられている。データダイオード装置14は、外部ネットワーク15と内部ネットワーク16との境界に接続されている。データダイオード装置14は、内部ネットワーク16から外部ネットワーク15へのパケットを伝送するとともに、予め許可した特定のパケットだけを外部ネットワーク15から内部ネットワーク16に中継する。内部ネットワーク16は、データダイオード装置14によって外部からの不正なアクセスから保護されたネットワークである。
この例では、外部コンピュータ11とデータダイオード装置14、内部コンピュータ12とデータダイオード装置14は、いずれもTCP/IPすなわちインターネット・プロトコル・スイートによる通信を行う。また、データ収集システム10は、TCP/IPの4階層モデルのネットワークインターフェイス層(OSI参照モデルの第1、第2層相当)では、例えばイーサネット(登録商標)を用いている。また、説明を簡単にするために、この例では、データダイオード装置14が中継するパケットは、トランスポート層におけるプロトコルとしてTCPを用いたパケットとする。なお、通信のプロトコルは、特に限定されない。
外部コンピュータ11は、外部ネットワーク15、データダイオード装置14及び内部ネットワーク16を介して内部コンピュータ12との間でパケットの送受信を行う。これによって、外部コンピュータ11は、内部コンピュータ12からプロセスデータを取得する。周知のように、パケットは、アプリケーション層(OSI参照モデルの第5~第7層)における処理で生成されたアプリケーションデータにトランスポート層(OSI参照モデルの第4層相当)におけるヘッダ(この例ではTCPヘッダ)を付加して生成されたセグメントに、さらにインターネット層(OSI参照モデルの第3層相当)におけるヘッダ(この例ではIPヘッダ)を付加したPDU(Protocol Data Unit)であり、実際にはパケットにイーサネットヘッダを付加したフレームが送受信される。
外部コンピュータ11は、内部コンピュータ12からプロセスデータを取得する場合には、アプリケーションデータとして後述する要求メッセージを格納したパケットを外部ネットワーク15に送出する。外部コンピュータ11と内部コンピュータ12との間にはデータダイオード装置14が介在するが、外部コンピュータ11は、パケットの宛先IPアドレスとして、内部コンピュータ12のIPアドレスを付与する。内部コンピュータ12は、受信したパケットに要求メッセージが格納されている場合には、要求メッセージで指定されるプロセスデータを読み出し、読み出したプロセスデータを格納したパケットを内部ネットワーク16に送出する。外部コンピュータ11は、受信したパケットに格納されたプロセスデータ等のアプリケーションデータを取り出す。
なお、以下の説明では、要求メッセージを格納したパケットを他のパケットと特に区別する場合には、そのパケットを要求パケットと称する。また、要求パケットに応答して返信されるプロセスデータを格納したパケットを他のパケットと特に区別する場合には、そのパケットを応答パケットと称する。
データダイオード装置14は、外部ネットワーク15に接続された第1ユニット21と内部ネットワーク16に接続された第2ユニット22とを備えている。第1ユニット21は、外部ネットワーク15から内部ネットワーク16に向けて送信されるパケットを受信し、受信したパケットが後述する第1パケット登録情報が登録されているパケット(以下、登録パケットという)であるか否かを判定する。受信したパケットが登録パケットである場合には、第1ユニット21は、その登録パケットの第1パケット登録情報に対応した信号線Q1、Q2・・・Qn(図2参照、信号線Q1、Q2・・・Qnを特に区別する必要がない場合には、信号線Qと総称する)のいずれか1本をアクティブにする。第2ユニット22は、アクティブになった信号線Qに対応する後述する第2パケット登録情報から第1ユニット21で受信した登録パケットの内容を特定し、その受信した登録パケットに相当するパケット(復元パケット)を生成して、内部ネットワーク16に送出する。
また、データダイオード装置14は、第2ユニット22で内部ネットワーク16からのパケットを受信し、そのパケットを一方向伝送路S(図2参照)を介して第1ユニット21に伝送し、第1ユニット21がパケットを外部ネットワーク15に送出する。これにより、内部コンピュータ12から外部コンピュータ11に宛てられたプロセスデータを外部コンピュータ11に送る。なお、データダイオード装置14が内部ネットワーク16へ中継するパケットは、プロセスデータを取得するための要求パケットに限定されないが、以下では、データダイオード装置14には、中継するパケットとして、いくつかの要求パケットが予め登録されているものとして説明する。
図2において、データダイオード装置14は、第1、第2ユニット21、22と、複数本の信号線Qからなる信号線部23と、第1ユニット21と第2ユニット22との間に設けられた伝送線路24とを備えている。第1ユニット21は、第1通信部31、第1記憶部32、第1制御部33及び受信部34を備える。第2ユニット22は、第2通信部41、第2記憶部42、第2制御部43及び送信部44を備える。
第1ユニット21に設けられた第1制御部33と第1記憶部32に記憶されている第1参照テーブルT1とにより、パケット判定部51が構成される。また、第2ユニット22に設けられた第2制御部43と、第2記憶部42に記憶されている第2参照テーブルT2とによって、パケット復元部52が構成される。これらパケット判定部51とパケット復元部52と、信号線部23とによってパケット中継部53が構成される。また、伝送線路24と、第1ユニット21の受信部34と、第2ユニット22の送信部44とは、一方向伝送路Sを構成する。
第1ユニット21の第1通信部31は、外部ネットワーク15に接続されている。この第1通信部31は、内部ネットワークに向けたパケットを受信する。この例では、第1通信部31は、外部ネットワーク15からのパケットのうち第1参照テーブルT1に登録されている第1パケット登録情報の宛先IPアドレスが付与されているパケットを受信する。なお、内部ネットワーク16のネットワークアドレスを例えば第1通信部31に予め設定しておき、そのネットワークアドレスに宛先IPアドレスのネットワークアドレス部分が一致するパケットを受信するようにしてもよい。
第1通信部31は、受信したパケットから送信元IPアドレス、宛先IPアドレス、アプリケーションデータ(以下、これらをまとめて受信パケット情報という)及び送信元ポート番号を取り出して第1制御部33に送る。また、第1通信部31は、一方向伝送路Sを構成する受信部34からのパケットを外部ネットワーク15に送出する。これにより、応答パケットを、それに対応した要求パケットの送信元である外部コンピュータ11に送信する。
第1記憶部32は、上述の第1参照テーブルT1とポート番号変換テーブルTpとを記憶している。第1参照テーブルT1は、図3に示すように、中継を許可した特定のパケットのそれぞれについての第1パケット登録情報と、この第1パケット登録情報に対応する1本の信号線Qを示す信号線番号と、インターバル時間とからなる複数のレコードが登録されている。各レコードの信号線番号と第1パケット登録情報とは、1対1に対応する。この例における第1パケット登録情報は、パケット中のIPヘッダに格納される送信元IPアドレス、宛先IPアドレス、TCPヘッダに格納される送信元ポート番号、宛先ポート番号、TCPデータ部に格納されるアプリケーションデータからなる。また、この例では、第1パケット登録情報中の送信元IPアドレスが送信元情報、宛先IPアドレスが宛先情報であり、これらとアプリケーションデータとの組み合わせが登録パケットであるか否かの判定に用いられる。
第1パケット登録情報の送信元IPアドレス、宛先IPアドレス、宛先ポート番号、アプリケーションデータは、実際に外部コンピュータ11から内部コンピュータ12に送信される要求パケットのものが登録される。これに対して、第1パケット登録情報の送信元ポート番号は、各第1パケット登録情報にユニークなポート番号を予め付与している。
また、アプリケーションプロトコルとして、この例ではModbus/TCPを用いている。このため、第1パケット登録情報のアプリケーションデータとしては、TCP/Modbusに準拠したメッセージが登録されている。TCP/Modbusのメッセージは、周知のように、内部コンピュータ12に設けられたレジスタに対するデータ(プロセスデータ)の読み出しや書き込みを指示する機能コード、読み出しや書き込みの際のアドレス範囲等のデータから構成され、読み出すプロセスデータが同じであれば、TCP/Modbusの要求メッセージは同じになる。
ポート番号変換テーブルTpには、図4に示すように、第1制御部33によって、変換前ポート番号と変換後ポート番号とが対応付けた変換レコードが登録される。このポート番号変換テーブルTpは、応答パケットを外部コンピュータ11に送る際に、その応答パケットの宛先ポート番号を、対応する要求パケットの送信元ポート番号に変換するために用いられる。
図2において、第1制御部33は、上述のように第1通信部31が受信したパケットが登録パケットであるか否かを判定する。この判定では、第1制御部31は、受信パケット情報が第1参照テーブルT1のいずれかの第1パケット登録情報に含まれているか否かを調べる。この判定において、受信パケット情報がいずれか1つの第1パケット登録情報に含まれている場合、すなわち、送信元IPアドレス、宛先IPアドレス及びアプリケーションデータの全てがいずれか1つの第1パケット登録情報に含まれている場合に、登録パケットであると判定する。第1制御部33は、それらが含まれている第1パケット登録情報(以下、第1該当パケット登録情報という)に対応した信号線番号を取得し、取得した信号線番号の信号線Qをアクティブにする。
また、第1制御部33は、登録パケットと判定するごとに、ポート番号変換テーブルTpに変換レコードを登録する。この登録では、登録パケットの送信元ポート番号を変換前ポート番号とし、第1該当パケット登録情報の送信元ポート番号を変換後ポート番号とする。変換レコードは、例えば変換後ポート番号の基になった第1該当パケット登録情報のインターバル時間の経過後に第1制御部33によって削除される。
なお、情報要求側の外部コンピュータ11が情報提供側の内部コンピュータ12に送信するパケットの宛先ポート番号は、一般的に通信相手のアプリケーションごとに固定されている。このため、この例では、受信したパケットと第1パケット登録情報とのアプリケーションデータが一致する場合、宛先ポート番号も一致するとみなしており、宛先ポート番号を登録パケットであるか否かの判定に用いていない。もちろん、宛先ポート番号を宛先情報の1つとして判定に用いてもよい。一方、外部コンピュータ11が送信するパケットの送信元ポート番号は、一般的に任意なポート番号が外部コンピュータ11によって付与される。このため、この例では送信元ポート番号を登録パケットであるか否かの判定に用いない。もちろん、送信元ポート番号が固定されている場合には、送信元情報の1つとすることもできる。この場合には、上記ポート番号変換テーブルTpの作成は不要である。
第1制御部33は、先に受信したパケットと同じ受信パケット情報を有する新たなパケットを受信した場合、先に受信したパケットに応答して信号線Qをアクティブにした時点から、その受信したパケットに対応した第1パケット登録情報のインターバル時間内であるときには、新たなパケットに対して信号線Qをアクティブにしない。これにより、短時間に大量のパケットが送信される、いわゆるフラッド攻撃から内部コンピュータ12を保護する。なお、インターバル時間の計時の起算点は、先に受信したパケットの受信時でもよい。
信号線Qは、第1参照テーブルT1に登録されている第1パケット登録情報と同じ本数以上あればよい。この例では、信号線Qとしてメタル線を用いている。第1制御部33は、信号線Qの各々に接続された複数のスイッチを有し、第1該当パケット登録情報に対応する信号線番号に接続されたスイッチをオンとする。これにより、第1該当パケット登録情報に対応した信号線Qをアクティブ、この例ではハイレベルにする。なお、信号線Qのアクティブをローレベルとしてもよい。また、信号線Qは、アクティブであるか否かを第2ユニット22に伝えることができればよい。信号線Qとして、例えば発光ダイオードと受光素子とを用い、アクティブとするときに第1ユニット21が発光ダイオードを点灯し、第2ユニット22が受光素子で発光ダイオードの点灯を検出するようにしてもよい。
受信部34は、伝送線路24を介して第2ユニット22からのパケットを受信する。また、この受信部34は、ポート番号変換テーブルTpを参照して、第2ユニット22から受信したパケットの宛先ポート番号の変換を行う。すなわち、受信部34は、受信したパケットの宛先ポート番号をポート番号変換テーブルTpの変換後ポート番号として、その変換後ポート番号に対応する変換前ポート番号を受信したパケットの宛先ポート番号に置き換える。これにより、応答パケットの宛先ポート番号をそれに対応する要求パケットの送信元ポート番号に変換している。受信部34は、宛先ポート番号を置き換えたパケットを第1通信部31に送る。
第2ユニット22の第2制御部43は、各信号線Qが接続されている。第2記憶部42には、図3に示すように、第1参照テーブルT1と同一の内容の第2参照テーブルT2が書き込まれている。第2参照テーブルT2では、各レコードのパケット登録情報が第2パケット登録情報になっており、第2パケット登録情報には、同じ内容の第1パケット登録情報の信号線Q(信号線番号)が対応付けられている。これにより、同じパケットについての第1、第2パケット登録情報が同じ信号線Qに対応するように登録されている。
第2制御部43は、いずれかの信号線Qがアクティブになることに応答して、アクティブになった信号線Qの信号線番号に対応付けられた第2パケット登録情報、すなわち、第1該当パケット登録情報と同じ内容の第2パケット登録情報(以下、他の第2パケット登録情報と特に区別する場合には第2該当パケット登録情報という)を第2参照テーブルT2から読み出し、第2該当パケット登録情報のアプリケーションデータ、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号をそれぞれ付与したパケットを生成する。これにより、第2該当パケット登録情報に基づいて、第1ユニット21が受信したパケットに相当する復元パケットを生成する。第2制御部43で生成されたパケットは、第2通信部41に送られる。なお、第2参照テーブルT2では、インターバル時間を省略することができる。
第2通信部41は、内部ネットワーク16に接続されている。第2通信部41は、第2制御部43で生成されたパケットを内部ネットワーク16に送出する。これにより、第2制御部43で生成したパケットを内部コンピュータ12に送る。また、第2通信部41は、内部ネットワーク16から受信したパケットを送信部44に送る。
なお、第2該当パケット登録情報からパケットを生成する場合、送信元ポート番号を任意のポート番号に、また送信元IPアドレスを第2ユニット22のIPアドレスに置き換えてもよい。この場合、それに対応して内部コンピュータ12が返信するパケットの宛先ポート番号、宛先IPアドレスを第2該当パケット登録情報の送信元ポート番号、送信元ポート番号に置き換えてから、そのパケットを第1ユニット21に伝送する。
一方向伝送路Sは、上述のように第1ユニット21の受信部34と、第2ユニット22の送信部44と、伝送線路24とから構成されており、通信方向が第2ユニット22側から第1ユニット21側への一方向に物理的に限定されたデータダイオードである。例えば、送信部44は、発光素子や入力されるデータに応じて発光素子から出力される光を変調する変調回路、エラー訂正用の送信側回路等で構成され、受信部34は、受光素子や受光強度に応じてデータを復調する復調回路、エラー訂正用の受信側回路等で構成される。伝送線路24は、送信部44の発光素子と受信部34の受光素子の間を結ぶ光ファイバが用いられている。この一方向伝送路Sは、第2通信部41からのパケットが伝送すべきデータとして送信部44に入力され、この入力されたデータを伝送線路24を介して受信部34に送る。
一方向伝送路Sとしては、一方向の通信に限定されたものであればよく、上記構成に限定されないが、一方向の伝送を担保する観点からは、例えば上記のように通信方向を物理的に限定する構成とすることが好ましい。また、エラー訂正としては、エラー発生時にデータの再送要求が不要な前方誤り訂正方式を用いることが好ましい。
上述のように、受信部34が受信したパケットは、宛先ポート番号の変換を行ってから第1通信部31に送られ、第1通信部31が外部ネットワーク15に送出する。これにより、内部コンピュータ12にプロセスデータを要求した外部コンピュータ11に対して、その要求したプロセスデータの応答パケットを送信する。
なお、アプリケーションデータの送信態様は上記態様に限られない。例えば各応答パケットから得られるアプリケーションデータをバッファ等にいったん蓄積してから、一方向伝送路Sを介してまとめて送信するとともに、宛先IPアドレス、宛先ポート番号等の情報を送信してもよい。この場合、第1ユニット21側では、まとめて受信したアプリケーションデータと宛先IPアドレス、宛先ポート番号等の情報から外部コンピュータ11に送信するためのパケットを再構成して送信する。
第2ユニット22から第1ユニット21には、一方向伝送路Sを用いて、少なくともアプリケーションデータと、第1ユニット21がアプリケーションデータの送り先を識別できる情報とを送ればよい。例えば、パケットから取り出したアプリケーションデータと宛先ポート番号を送ってもよい。この場合、宛先ポート番号に送信元ポート番号が一致する第1パケット登録情報の送信元IPアドレスを応答パケットの宛先IPアドレスとすればよい。
上記のように構成される第1ユニット21は、外部ネットワーク15上の第1ネットワーク機器に対して、また第2ユニット22は、内部ネットワーク16上の第2ネットワーク機器に対して、トランスポート層以下の動作を行って通信すればよく、トランスポート層以下での動作は、アプリケーションや接続される機器等で変化しないから、固定の機能を実現すればよく、簡単な構成とすることができる。
データダイオード装置14を構成する第1、第2ユニット21、22との機能は、それぞれ例えばパーソナルコンピュータを用いて構成することも可能である。この場合、例えば2台のパーソナルコンピュータを配置し、第1、第2ユニット21、22の機能を実現するためのプログラムを導入して、一方を第1ユニット21、他方を第2ユニット22とする。信号線Qとしては、各パーソナルコンピュータに設けた汎用入出力ポート等の端子同士の接続を用いる。一方向伝送路Sとしては、各パーソナルコンピュータのRS-232Cなどの双方向の信号線のうちの一方向のみを接続する。
一方、第1、第2ユニット21、22を、例えばASIC(application specific integrated circuit、特定用途向け集積回路)や、後述する第2実施形態のように、FPGA(Field Programmable Gate Array)に代表されるプログラマブルロジックデバイス(PLD)等を用いて実現することもできる。PLDは、複数の回路ブロックの組み合わせによって任意の回路構成が可能であって様々な処理回路を形成することができるが、回路構成後に処理回路自体を変更することは困難である。したがって、このようにASICやPLDを用いる態様は、機能の改変、例えば第1参照テーブルT1の内容の書き換えを不可能にし、また第1制御部33の動作内容の変更を困難にすることができる。そして、これによって外部ネットワーク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参照テーブルT1、第2参照テーブルT2には、図3に示す内容が登録されているものとする。
まず、第2外部コンピュータ11bを操作して、第1内部コンピュータ12aからのプロセスデータの取得を指示する。この指示を受けて、第2外部コンピュータ11bは、第1内部コンピュータ12aとTCPでのコネクションを確立させる。このため、第2外部コンピュータ11bは、まず第1内部コンピュータ12aのIPアドレスを宛先IPアドレスとして格納したARPリクエストをブロードキャストする。
第1ユニット21の第1通信部31は、第1参照テーブルT1には、第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制御部33に送られる。受信パケット情報と送信元ポート番号を受け取ると、第1制御部33は、第1参照テーブルT1に登録されている第1パケット登録情報のいずれかに受信パケット情報が含まれているか否かを調べて、要求パケットP1が登録パケットであるか否かを判定する。
受信パケット情報が含まれる第1パケット登録情報が第1参照テーブルT1にない場合には、要求パケットP1は登録パケットではないと判定される。このように登録パケットではないと判定した場合には、第1制御部33は、例えば第1通信部31と第2外部コンピュータ11bとの間のコネクションを切断する。一方、受信パケット情報が含まれる第1パケット登録情報、すなわち第1該当パケット登録情報が第1参照テーブルT1にある場合には、要求パケットP1が登録パケットと判定される。そして、この場合には、第1該当パケット登録情報に対応した信号線Qが所定時間だけアクティブ(ハイレベル)にされる。
要求パケットP1のアプリケーションデータの内容が、例えば、「0001 0000 0006 11 03 008A 00E3」である場合には、第1参照テーブルT1の信号線番号「2」に対応する第1パケット登録情報が第1該当パケット登録情報になる。したがって、第1制御部33によって、信号線番号「2」の信号線Q2がアクティブにされる。これにより、図5において破線で示すように、第1制御部33から第2制御部43に対して、信号線Q2によって信号線番号「2」に対応する第1パケット登録情報を含むパケットを第1ユニット21が受信したことが伝達される。
また、第1制御部33によって、ポート番号変換テーブルTpに要求パケットP1に対応した変換レコードが登録される。図6に示すよう、要求パケットP1の送信元ポート番号「1501」が変換前ポート番号とされ、第1該当パケット登録情報の送信元ポート番号「3002」が変換後ポート番号とされた変換レコードR1が登録される。
一方、上記のようにいずれか1本の信号線Qがアクティブになると、第2制御部43は、アクティブになった信号線Qの信号線番号を特定する。そして、特定した信号線番号に対応した第2パケット登録情報、すなわち第1該当パケット登録情報と同じ内容の第2該当パケット登録情報を第2参照テーブルT2から読み出す。そして、第2通信部41に対して、第2該当パケット登録情報の宛先IPアドレスをIPアドレスとするネットワーク機器との間でTCPのコネクションを確立させる。第2通信部41は、ARPを用いて第2該当パケット登録情報の宛先IPアドレスに対応するMACアドレスを取得した後、第2該当パケット登録情報の宛先IPアドレスを用いて、SYNパケットと、ACK+SYNパケットと、ACKパケットとの送受信することで、TCPのコネクションが確立する。
TCPのコネクションが確立すると、第2制御部43は、第2該当パケット登録情報のアプリケーションデータに、第2該当パケット登録情報の宛先ポート番号と送信元ポート番号とを有するTCPヘッダと、第2該当パケット登録情報の宛先IPアドレスと送信元IPアドレスとを有するIPヘッダを付加したパケットを生成する。そして、この生成したパケットを第2通信部41から内部ネットワーク16に送出する。
上記のように信号線Q2がアクティブとされた場合、信号線番号「2」に対応した第2パケット登録情報が第2該当パケット登録情報となる。第2該当パケット登録情報の宛先IPアドレスは、要求パケットP1と同じ第1内部コンピュータ12aのものであるから、第2通信部41と第1内部コンピュータ12aとの間でTCPのコネクションが確立する。そして、第2該当パケット登録情報は、第1該当パケット登録情報と同じ内容になっているから、第2制御部43によって、要求パケットP1と実質的に同じ内容を持つ要求パケットP2(図5、図6参照)が生成される。すなわち、要求パケットP2は、送信元IPアドレス、宛先IPアドレス、宛先ポート番号、要求メッセージ(アプリケーションデータ)が要求パケットP1のものと同じになっており、送信元ポート番号が第1、第2該当パケット登録情報の送信元ポート番号「3002」となっている。
このように信号線Qを用いた簡単な構成で、内部ネットワーク16に送信すべきパケットの内容と、そのパケットの送信のタイミングとを第1ユニット21から第2ユニット22に伝達され、第2該当パケット登録情報から第1ユニット21が受信したパケットに相当するパケットが復元されて内部ネットワーク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ユニット21の受信部34に送られる。なお、1つの要求パケットに対して複数の応答パケットが返信される場合、各応答パケットを順次に一方向伝送路Sを介して第2ユニット22から第1ユニット21に送信すればよい。
受信部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に付与した送信元ポート番号と同じになっているため、プロセスデータは要求元のアプリケーションに渡される。
上記と同様な手順により、外部コンピュータ11が内部コンピュータ12に送る要求パケットの受信パケット情報が第1参照テーブルT1に予め登録されている第1パケット登録情報のものと同じであれば、その要求パケットに相当する要求パケットが第2ユニット22で生成され内部コンピュータ12に送信される。そして、外部コンピュータ11は、その要求パケットに対応する応答パケットをデータダイオード装置14を介して内部コンピュータ12から受信する。
このようにして、外部コンピュータ11は、必要とするタイミングで、要求パケットを送信することにより、それに対応したプロセスデータを内部コンピュータ12から取得できる。
一方、第1通信部31が外部ネットワーク15から受信するパケットの受信パケット情報が、第1参照テーブルT1に登録されているいずれの第1パケット登録情報にも含まれていない場合には、上記のように第1制御部33は何もしないから、第2ユニット22から内部ネットワーク16、内部コンピュータ12にパケットが送信されることはない。これにより、外部ネットワーク15上の許可されていないコンピュータからの内部コンピュータ12へのアクセス、許可されていない内部コンピュータ12へのアクセス、許可されていないプロセスデータの取得を行うことができない。したがって、不正なアクセスはできず、情報漏洩等が発生しない。
そして、データダイオード装置14では、上記のように、外部ネットワーク15側から内部ネットワーク16側、すなわち第1ユニット21から第2ユニット22へのパケット内容の伝達は、その内容に応じた信号線Qを第1ユニット21側でアクティブにし、その信号線Qに対応する第2パケット登録情報を第2ユニット22側で特定することで行っている。また、第2ユニット22から第1ユニット21へのパケットの伝送に通信方向が限定された一方向伝送路Sを用いている。このため、外部ネットワーク15側のコンピュータからデータダイオード装置14に不正な改変を試みても、第2ユニット22を操作することは困難であり、内部コンピュータ12に不正なパケットを送ることはできない。したがって、内部コンピュータ12への不正なアクセスが確実に防止される。
[第2実施形態]
第2実施形態のデータダイオード装置(特定パケット中継機能付きデータダイオード装置)は、プログラマブルロジックデバイスの一例として、内部の複数の回路ブロックが構成情報にしたがって組み合わせられることで任意の回路構成とすることが可能なFPGA用いて第1、第2ユニットを構成するとともに、特定のパケットを中継する通常モードと、パケット登録情報を取得して参照テーブルを作成する設定モードとを有している。なお、以下に詳細を説明する他は、第1実施形態と同様であり、実質的に同じ部材には同一の符号を付してその詳細な説明を省略する。
第2実施形態のデータダイオード装置(特定パケット中継機能付きデータダイオード装置)は、プログラマブルロジックデバイスの一例として、内部の複数の回路ブロックが構成情報にしたがって組み合わせられることで任意の回路構成とすることが可能なFPGA用いて第1、第2ユニットを構成するとともに、特定のパケットを中継する通常モードと、パケット登録情報を取得して参照テーブルを作成する設定モードとを有している。なお、以下に詳細を説明する他は、第1実施形態と同様であり、実質的に同じ部材には同一の符号を付してその詳細な説明を省略する。
図7に示すように、データダイオード装置14は、第1、第2FPGA60、70を備えている。第1、第2FPGA60、70は、周知のように、内部の複数の回路ブロックが構成情報にしたがって組み合わせられることで各種機能を有する処理回路が構成される。データダイオード装置14は、動作モードとして設定モードと通常モードとを有し、動作モードの選択が可能になっている。第1、第2FPGA60、70は、データダイオード装置14の起動ごとに、選択されている動作モードの構成情報をロードする。なお、図7では、第1、第2FPGA60、70内に通常モードで形成される回路を描いてある。
第1、第2FPGA60、70は、プリント基板PS上に所定の間隔をあけて実装されている。第1FPGA60と第2FPGA70との間のプリント基板PS上に複数の信号線Qと、設定モードで使用する通信用配線L0が形成されている。通信用配線L0は、第1FPGA60と第2FPGA70とを繋ぐ複数本の配線パターンで構成される。なお、通信用配線L0として、プリント基板PSに着脱自在なケーブルを用い、設定モードのときにだけそのケーブル装着してもよい。
第1、第2FPGA60、70の周囲のプリント基板PS上には、それぞれ構成メモリ61、71、ETH-PHY(Ethernet(登録商標) Physical Layer)チップ31a、41a、光学PHYチップ34a、44a、メモリカード装着部62、72、DRAM63、73、クロック発生器64、74、ディスプレイ65、75が配されている。ETH-PHYチップ31aは、第1通信部31の一部を構成し、コネクタ66を介して外部ネットワーク15が接続される。また、ETH-PHYチップ41aは、第2通信部41の一部を構成し、コネクタ76を介して内部ネットワーク16が接続される。
メモリカード装着部62、72は、メモリカード62a、72aが装着されるメモリスロットとメモリカード62a、72aに対するデータの読み出し及び書き込みを行うインタフェース回路等で構成される。メモリカード62aは、第1参照テーブルT1、ポート番号変換テーブルTpを記憶する第1記憶部になっており、メモリカード72aは、第2参照テーブルT2を記憶する第2記憶部となっている。光学PHYチップ34aは、受信部34の一部を構成し、光学PHYチップ44aは、送信部44の一部を構成する。光学PHYチップ34a、44aの間に光ファイバが伝送線路24として接続されている。
DRAM63、73は、パケット等を一時的に記憶するバッファメモリ等として用いられる。クロック発生器64、74は、第1FPGA60、70に動作用のクロック信号を供給する。ディスプレイ65、75は対応する第1、第2ユニット21、22の動作情報を表示する。
第1FPGA60に接続された構成メモリ61は、第1FPGA60用の通常構成情報61aと設定用構成情報61bとが書き込まれている。第1FPGA60と構成メモリ61との間には、動作モードを選択するためのモード選択部68が接続されている。このモード選択部68を操作することによって、通常モードと設定モードといずれかを選択することができる。モード選択部68は、選択されている動作モードに応じて、第1FPGA60が読み出す構成メモリ61の領域を切り替えることによって、選択された動作モードの構成情報を第1FPGA60にロードさせる。これにより、第1FPGA60には、通常モードが選択されている時には、通常構成情報61aがロードされ、設定モードが選択されている時には設定用構成情報61bがロードされる。
第2FPGA70に接続された構成メモリ71は、第2FPGA70用の通常構成情報71aと設定用構成情報71bとが書き込まれている。第2FPGA70と構成メモリ71との間に、モード選択部78が接続されている。このモード選択部78は、モード選択部68と連動しており、モード選択部68と同じ動作モードを選択する。これにより、第2FPGA70には、通常モードが選択されている時には、通常構成情報71aがロードされ、設定モードが選択されている時には第2FPGA70に設定用構成情報71bがロードされる。
通常構成情報61aのロードによって、図7に示すように、第1FPGA60は、その内部に第1通信部31、第1制御部33、受信部34を形成し、その第1FPGA60と周辺の回路とによって第1ユニット21が構成される。また、通常構成情報71aのロードによって、第2FPGA70は、その内部に第2通信部41、第2制御部43、送信部44を形成し、その第2FPGA70と周辺の回路とによって第2ユニット22が構成される。この通常モードにおける、第1、第2FPGA60、70を用いて構成される第1、第2ユニット21、22及びデータダイオード装置14の構成、動作は、第1実施形態と同じであるから、その説明を省略する。
なお、メモリカード62a、72aを第1、第2記憶部としているが、これらを第1、第2FPGA60、70の内部に形成してもよい。この場合、メモリカード62a、72aと第1、第2記憶部との相互間で第1、第2参照テーブルT1、T2を複製ないし移動できるようにし、コンピュータ等を用いて第1、第2参照テーブルT1、T2の内容を編集できるようにすることが好ましい。
設定モードは、第1、第2参照テーブルT1、T2を作成するための動作モードである。以下、設定モードを用いた第1、第2参照テーブルT1、T2の作成について説明する。データダイオード装置14を外部ネットワーク15と内部ネットワーク16に接続した状態にする。また、外部コンピュータ11と内部コンピュータ12とのネットワークアドレスが異なる場合には、例えばルータをデータダイオード装置14と内部ネットワーク16との間に接続し、通信を可能にするが、後述する中継部81にルータの機能を持たせてもよい。さらに、メモリカード装着部62にメモリカード62aを装着した状態にする。
なお、外部コンピュータ11や内部コンピュータ12に相当する設定用のコンピュータをコネクタ66、76に接続してもよい。この場合には、外部コンピュータ11や内部コンピュータ12と同じIPアドレスを設定用のコンピュータに付与しておくと、第1、第2参照テーブルT1、T2の送信元IPアドレス、宛先IPアドレスの修正が不要になる。設定用のコンピュータを用いる態様は、設定モード時に内部コンピュータ12に対する不正なアクセスを防止できるので好ましい。
図8に示すように、モード選択部68を操作して設定モードを選択し、設定モードでデータダイオード装置14を起動する(ステップS1)。モード選択部68が設定モードとなることに連動してモード選択部78でも設定モードが選択される。したがって、第1、第2FPGA60、70は、それぞれ対応する構成メモリ61、71から設定用構成情報61b、71bをロードする(ステップS2)。
設定用構成情報61b、71bのロードにより、図9に示すように、第1FPGA60には、その内部に情報取得部80と、中継部81と、中継部81を介してETH-PHYチップ31aを通信用配線L0に接続する内部通信用配線L1とが形成される。また、第2FPGA70には、その内部に通信用配線L0をETH-PHYチップ41aに接続する内部通信用配線L2が形成される。中継部81は、ETH-PHYチップ31aとETH-PHYチップ41aの一方が受信したパケットを他方に中継する。これにより、コネクタ66とコネクタ76との間でパケットを伝送できるパケット伝送路Lが形成される。すなわち、外部ネットワーク15側からのパケットを内部ネットワーク16側に送るパケット伝送路Lが有効化される。なお、パケット伝送路Lは、内部ネットワーク16側からのパケットを外部ネットワーク15側にも伝送できる双方向のものであるが、設定モードでも一方向伝送路S(図7参照)を形成して、内部ネットワーク16側から外部ネットワーク15側へのパケットの伝送に一方向伝送路Sを用いてもよい。
情報取得部80は、パケット伝送路Lのうち、ETH-PHYチップ31aからETH-PHYチップ41aに向けパケットを送信する通信線路に接続されており、外部ネットワーク15から内部ネットワーク16に向けて送信されるパケットをキャプチャする。この情報取得部80は、キャプチャしたパケットのうち抽出条件を満たすパケットを抽出し、抽出したパケットから送信元IPアドレス、宛先IPアドレス、宛先ポート番号、アプリケーションデータをパケット登録情報として取得し、これに宛先ポート番号、インターバル時間を付与したものを信号線番号に対応させてメモリカード62aに書き込むことによって、第1参照テーブルT1を作成する。抽出条件としては、例えば、アプリケーションデータがTCPデータ部に格納されていることが情報取得部80に設定されている。
設定モードでのデータダイオード装置14の起動完了後、外部コンピュータ11に対してプロセスデータを取得するための操作を行い、その外部コンピュータ11から要求パケットを内部コンピュータ12に送信する(ステップS3)。このときに操作する外部コンピュータ11と、取得しようとするプロセスデータと、プロセスデータの取得先の内部コンピュータ12との組み合わせは、中継を許可する組み合わせで行う。この操作により、外部コンピュータ11から宛先IPアドレス、送信元IPアドレス及び要求メッセージの中継させる組み合わせを含み、かつ実際に使用される宛先ポート番号が付与された要求パケットが中継部81を含むパケット伝送路Lを介して内部コンピュータ12に送られる。
内部コンピュータ12は、上記要求パケットを受信すると、プロセスデータを格納した応答パケットを要求パケットの送信元である外部コンピュータ11に送る。応答パケットは、要求パケットと逆経路で外部コンピュータ11に送られて受信される。このようにして、外部コンピュータ11と内部コンピュータ12との間でパケットが送受信される。なお、外部コンピュータ11と内部コンピュータ12との間でパケットの送受信されるときには、例えばARPやコネクションを確立するためのパケット等も送受信される。
上記のように外部コンピュータ11と内部コンピュータ12との間で送受信されるパケットのうち、外部ネットワーク15側から内部ネットワーク16側に送られるパケットが情報取得部80でキャプチャされる。そして、情報取得部80は、キャプチャしたパケットのうち上記抽出条件を満たすパケットを抽出し、抽出したパケットから送信元IPアドレス、宛先IPアドレス、宛先ポート番号、アプリケーションデータをパケット登録情報として取得する(ステップS4)。これにより、ARPのパケット、アプリケーションデータが格納されていないSYNパケットやACKパケットが除外されて、要求メッセージを格納した要求パケットの送信元IPアドレス、宛先IPアドレス、宛先ポート番号及びアプリケーションデータがパケット登録情報として取得される。要求パケット以外のパケットからパケット登録情報が取得されることがあるが、このような第1パケット登録情報は、第1参照テーブルT1の作成後、第1参照テーブルT1の内容を確認して手動で削除すればよい。
情報取得部80によって、取得したパケット登録情報にユニークな送信元ポート番号と、インターバル時間とが加えられた登録用のパケット登録情報が生成され、そのパケット登録情報が信号線番号に対応させてメモリカード62aに書き込まれる。これにより、第1参照テーブルT1に信号線番号に対応させた第1パケット登録情報が登録される(ステップS5)。
第1パケット登録情報を登録すべき全ての要求パケットについての送信が完了していない場合には(ステップS6でNO)、再び外部コンピュータ11に対してプロセスデータを取得するための操作を行って、要求パケットを内部コンピュータ12に送信する(ステップS3)。このようにして、要求パケットの送信を繰り返し、同様な手順で得られるパケット登録情報を第1参照テーブルT1に順次登録する(ステップS4,S5)。
全ての要求パケットの送信が完了したならば(ステップS6でYES)、データダイオード装置14をいったん停止させてから、メモリカード装着部62から取り外したメモリカード62aと、メモリカード72aとをデータコピー装置(図示せず)にセットして、第1参照テーブルT1のデータをメモリカード72aに複写する。これにより、メモリカード72aに第2参照テーブルT2を作成する(ステップS7)。この後、メモリカード62a、72aをメモリカード装着部62、72にそれぞれ装着する。なお、データコピー装置としては、例えばパーソナルコンピュータ等を用いることができる。また、情報取得部80によって作成された第1参照テーブルT1の内容を手動で編集してもよい。
メモリカード62a、72aの装着後、モード選択部68を操作して通常モードを選択する(ステップS8)。この操作により、モード選択部78も通常モードを選択した状態になる。この後に、データダイオード装置14を再び起動する。通常モードが選択されているため、第1、第2FPGA60、70は、通常構成情報をそれぞれロードする(ステップS9)。通常構成情報がロードされることで、第1FPGA60の内部に第1通信部31、第1制御部33、受信部34が形成されて、この第1FPGA60と周辺の回路とによって、第1ユニット21が構成される。また、第2FPGA70の内部に第2通信部41、第2制御部43、送信部44が形成されて、第2FPGA70と周辺の回路とによって第2ユニット22が構成される。これ以降、データダイオード装置14は、通常モードで動作する。
ところで、要求メッセージの違いやIPアドレスの違いに応じて第1、第2参照テーブルT1、T2のレコードを作成する必要がある。しかしながら、上記のように設定モードを用いれば、第1、第2参照テーブルT1、T2の各レコードの作成は簡単であり、接続するシステムに応じたデータダイオード装置14の設定が容易になる。
上記抽出条件は、それに限定されるものではなく、種々の条件を設定することができる。例えば、宛先ポート番号や、宛先IPアドレス、送信元IPアドレス等を抽出条件に用いることもできる。また、複数の条件を組み合わせて抽出条件としてもよい。情報取得部80を第2FPGA70に形成して第2参照テーブルT2を作成してから、この第2参照テーブルT2をメモリカード62aに複写することで第1参照テーブルT1を作成してもよい。第1、第2FPGA60、70の両方に情報取得部80それぞれを形成して、対応するメモリカードに第1、第2参照テーブルT1、T2をそれぞれ作成してもよい。
[第3実施形態]
図1との対応部分に同一符号を付して示す図10のように、本発明を実施したデータ収集システム83は、第1、第2外部コンピュータ11a、11b(外部コンピュータ11)が、第1、第2内部コンピュータ12a、12b(内部コンピュータ12)からのデータを、特定パケット中継機能付きデータダイオード装置(データダイオード装置)84を介して収集するシステムである。例えば、第1、第2内部コンピュータ12a、12bは、プラント内に配備されており、外部コンピュータ11は、プラント外に配備されている。第1、第2内部コンピュータ12a、12bは、プラントに配設した各センサが計測した温度や圧力、或いはカメラ等の撮像手段でプラント内を撮影した映像等を、各種プロセスデータとして取得し、そのプロセスデータを外部コンピュータ11が第1、第2内部コンピュータ12a、12bから取得する。
図1との対応部分に同一符号を付して示す図10のように、本発明を実施したデータ収集システム83は、第1、第2外部コンピュータ11a、11b(外部コンピュータ11)が、第1、第2内部コンピュータ12a、12b(内部コンピュータ12)からのデータを、特定パケット中継機能付きデータダイオード装置(データダイオード装置)84を介して収集するシステムである。例えば、第1、第2内部コンピュータ12a、12bは、プラント内に配備されており、外部コンピュータ11は、プラント外に配備されている。第1、第2内部コンピュータ12a、12bは、プラントに配設した各センサが計測した温度や圧力、或いはカメラ等の撮像手段でプラント内を撮影した映像等を、各種プロセスデータとして取得し、そのプロセスデータを外部コンピュータ11が第1、第2内部コンピュータ12a、12bから取得する。
第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は、上述した第1実施形態と同様に、外部ネットワーク15、データダイオード装置84及び内部ネットワーク16を介して内部コンピュータ12との間でパケットの送受信を行う。
外部コンピュータ11は、内部コンピュータ12からプロセスデータを取得する場合には、アプリケーションデータとして後述する要求メッセージを格納したパケットを外部ネットワーク15に送出する。外部コンピュータ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(図11参照、信号線Q1、Q2・・・Qnを特に区別する必要がない場合には、信号線Qと総称する)のいずれか1本をアクティブにする。第2ユニット87は、アクティブになった信号線Qに対応する後述する第2パケット登録情報から第1ユニット86で受信した登録パケットの内容を特定し、その受信した登録パケットに相当するパケット(復元パケット)を生成して、内部ネットワーク16に送出する。
また、これに加えて、この際、第1ユニット86は、受信したパケットが登録パケットであるとき、当該パケット内に含まれた可変パケットを抽出し、予め登録されている第1可変パケット参照テーブル(後述する)の中から、当該可変パケットに対応した第1可変パケット登録情報を特定する。ここで、可変パケットとは、上述した主体パケットに関連したデータであり、例えば、主体パケットが内部コンピュータ12への機能的な制御命令(例えば、撮像手段の起動命令や、圧力制御命令等)であれば、可変パケットは、当該制御命令を基に内部コンピュータ12が動作する際の動作に関する設定命令を示す。より具体的には、例えば基本パケットが撮像手段の起動命令であれば、可変パケットは撮像手段の撮像角度やズーム等を指示する、撮像動作に関する可変的な設定命令であり、また、基本パケットがプラント内の圧力制御命令であれば、可変パケットはバルブの開閉度等の圧力制御動作に関する可変的な設定命令である。
第1ユニット86は、可変パケットに対応した第1可変パケット登録情報に基づいて、複数ある可変パケット用信号線q1、q2・・・qx(図11参照、可変パケット用信号線q1、q2・・・qxを特に区別する必要がない場合には、可変パケット用信号線qと総称する)をそれぞれアクティブ又は非アクティブにする。第2ユニット87は、予め登録されている第2可変パケット参照テーブル(後述する)の中から、可変パケット用信号線qのアクティブ又は非アクティブ状態を基に、対応する第2可変パケット登録情報を特定する。第2ユニット87は、この特定した第2可変パケット登録情報に登録されている可変パケットを、第1ユニット86で受信したパケット内の可変パケットに相当する復元可変パケットとし、これを内部ネットワーク16に送出する。
また、データダイオード装置84は、第2ユニット87で内部ネットワーク16からのパケットを受信すると、そのパケットを一方向伝送路S(図11参照)を介して第1ユニット86に伝送し、第1ユニット86がパケットを外部ネットワーク15に送出する。これにより、内部コンピュータ12から外部コンピュータ11に宛てられたプロセスデータを外部コンピュータ11に送る。なお、データダイオード装置84が内部ネットワーク16へ中継するパケットは、プロセスデータを取得するための要求パケットに限定されないが、以下では、データダイオード装置84には、中継するパケットとして、いくつかの要求パケットが予め登録されているものとして説明する。
図11において、データダイオード装置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は、図12Aに示すように、中継を許可した特定のパケットのそれぞれについて、アプリケーションデータ内の可変パケット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に送る際に、その応答パケットの宛先ポート番号を、対応する要求パケット(応答パケットを要求した要求パケット)の送信元ポート番号に変換するために用いられる。
図11において、第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は、図12Bに示すように、各可変パケット用信号線qのアクティブ又は非アクティブを示す信号線状態情報が可変パケット毎に対応付けられた、複数の第1可変パケット登録情報96aが登録されている。図12Bでは、可変パケット用信号線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には、図12Aに示すように、第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には、図12Bに示すように、第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側への一方向に物理的に限定されたデータダイオードである。一方向伝送路Sは、上述した第1実施形態と同様であるため、ここでは説明を省略する。
上述のように、受信部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からプロセスデータを取得する場合を例に説明する。なお、以下の説明では、図10に示すように、第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には、図12Aに示す内容が予め登録されているものとし、第1可変パケット参照テーブルT1b、第2可変パケット参照テーブルT2bには、図12Bに示す内容が予め登録されているものとする。
まず、第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パケットの送信を行う。結果として、図14に示すように、第2外部コンピュータ11bと第1通信部31との間で、そのSYNパケットと、ACK+SYNパケットと、ACKパケットとの送受信が行われて、TCPのコネクションが確立される。なお、外部コンピュータ11、内部コンピュータ12、第1、第2通信部31、41がパケットを送信する場合の送信元MACアドレスは、それぞれ自己のMACアドレスとなる。
TCPのコネクションが確立した後、第2外部コンピュータ11bは、取得するプロセスデータに応じた要求メッセージをTCPデータ部に格納した要求パケットP1(図14、図6参照)を生成し、その要求パケットP1を外部ネットワーク15に送出する。
第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」(図12Aの2行目のアプリケーションデータ)である場合には、第1参照テーブルT1aの信号線番号「2」に対応する第1パケット登録情報が第1該当パケット登録情報になる。アプリケーションデータ内の「-」は可変パケットが配置された領域を示しており、この際、第1参照テーブルT1aとアプリケーションデータとの照合は、上述したように、受信パケット情報内の可変パケットを除いた主体パケット(ここでは「0001 0000 0006 - 03 008A 00E3」)85aを用いて行われる。信号線部23では、第1制御部88によって、信号線番号「2」の信号線Q2がアクティブにされる。これにより、図14において破線で示すように、第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がアクティブ(図12B中、「1」で表記)にされ、可変パケット用信号線q2が非アクティブ(図12B中、「0」で表記)にされる。また、その他残り全ての可変パケット用信号線qについても、第1可変パケット参照テーブルT1bの可変パケット情報「○×」に対応付けられた信号線状態情報に従ってアクティブ又は非アクティブにされる。このように、各可変パケット用信号線q1~qxがアクティブ又は非アクティブ状態になることで、図14において破線で示すように、第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(図14、図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(図14、図6参照)が生成される。応答パケットP3は、第1内部コンピュータ12aから内部ネットワーク16に送出される。なお、例えば、応答パケットP3には、要求パケットP2に対する確認応答のためのACKフラグがセットされるが、応答パケットP3とは別にACKパケットを送信してもよい。なお、応答パケットP3では、第1実施形態において図6にて説明したように、要求パケットP2と送信元と宛先とが逆にされる。
内部ネットワーク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(図14、図6参照)を第1通信部31に送る。これにより、図6に示すように、応答パケットP4の宛先ポート番号は、元となった要求パケットP1の送信元ポート番号と同じ「1501」に変換される。
図14に示すように、応答パケット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では、アプリケーションプロトコルが異なるパケットであっても、区別することなく扱うことが可能である。
上記の説明では、アプリケーションプロトコルとしてModbus/TCPを用いているが、アプリケーションプロトコルは特に限定されるものではない。また、第1、第2参照テーブルT1a、T2aに登録されている複数の第1、第2パケット登録情報のアプリケーションデータが異なる種類のアプリケーションプロトコルのものであってもよい。すなわち、このデータダイオード装置84では、アプリケーションプロトコルが異なるパケットであっても、区別することなく扱うことが可能である。
また、上記のデータダイオード装置14、84は、トランスポート層におけるプロトコルとしてTCPのパケットを中継しているが、例えば、TCPとUDPとを併用する場合には、プロトコル種別を特定するための情報を第1、第2パケット登録情報に加える。この場合、第2ユニット87では、第2パケット登録情報のプロトコル種別に応じたヘッダを付与してパケットを生成するとともに、プロトコル種別に示されるプロトコルに準じた通信の制御を行う。このプロトコル種別は、第2ユニット87がパケットを生成するために必要なので、第1パケット登録情報では省略することができる。もちろん、プロトコル種別を含めて登録パケットであるか否かを判定する場合には、第1パケット登録情報にも必要になる。
また、上述した実施形態においては、データダイオード装置14、84が、可変パケットと主体パケットの両方を含んだアプリケーションデータを受信するようにした場合について述べたが、本発明はこれに限らず、例えば、データダイオード装置14、84が、可変パケットを除いた一部の主体パケットを含むアプリケーションデータを受信し、これとは別に、主体パケットを含まず可変パケットを含んだアプリケーションデータを受信するようにしてもよい。
さらに、上記実施形態では、プロセスデータを取得する場合について説明したが、取得するデータはこれに限るものではない。また、データダイオード装置14、84は、例えばプラントの機器の動作や内部コンピュータ12自体の動作を制御するコマンドやデータを内部コンピュータ12に送る場合にも利用できる。
上記実施形態では、第1、第2参照テーブルT1a、T2aのパケット登録情報の宛先IPアドレスを個々の内部コンピュータ12のIPアドレス(ユニキャストアドレス)としているが、これに限定するものではない。パケット登録情報の宛先IPアドレスとして、例えばマルチキャストアドレスを用いることで、複数の内部コンピュータ12に同時にパケットを送信できるようにしてもよい。
上記実施形態では、送信元を特定する送信元情報として送信元IPアドレスを、また宛先を特定する宛先情報として宛先IPアドレスを用いているが、送信元情報、宛先情報は、これらに限定されるものではなく、通信のプロトコルに応じた情報を用いればよい。また、パケット登録情報として、送信元IPアドレス、宛先IPアドレス、送信元ポート番号、宛先ポート番号の他、可変パケットを除いた一部の主体パケットでなるアプリケーションデータで構成したが、それらに限定されるものではなく、通信のプロトコルに応じた情報で構成すればよい。
11、12 コンピュータ
14、84 特定パケット中継機能付きデータダイオード装置
15、16 ネットワーク
21、22 ユニット
23 信号線部
31、41 通信部
33、43 制御部
53 パケット中継部
60、70 FPGA
93 可変パケット用信号線部
94 パケット中継部
S 一方向伝送路
T1、T2、T1a、T2a 参照テーブル
T1b、T2b 可変パケット参照テーブル
14、84 特定パケット中継機能付きデータダイオード装置
15、16 ネットワーク
21、22 ユニット
23 信号線部
31、41 通信部
33、43 制御部
53 パケット中継部
60、70 FPGA
93 可変パケット用信号線部
94 パケット中継部
S 一方向伝送路
T1、T2、T1a、T2a 参照テーブル
T1b、T2b 可変パケット参照テーブル
Claims (8)
- 第1ネットワークに接続された第1ユニットと、
第2ネットワークに接続された第2ユニットと、
前記第2ネットワークから受信したパケットを前記第2ユニットから前記第1ユニットへの一方向だけに伝送する一方向伝送路と、
前記第1ネットワークから受信するパケットのうち許可された特定のパケットだけを前記第2ネットワークに中継するパケット中継部とを備え、
前記パケット中継部は、
前記第1ユニットと前記第2ユニットとの間に設けられた複数の信号線からなる信号線部と、
前記第1ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第1パケット登録情報が予め登録され、前記第1ネットワークからのパケットが前記第1パケット登録情報として登録されたパケットであるか否かを判定し、登録されたパケットである場合に、当該パケットについての第1パケット登録情報に対応した信号線をアクティブにするパケット判定部と、
前記第2ユニットに設けられるとともに、中継を許可する特定のパケットのそれぞれについて第2パケット登録情報が予め登録され、いずれかの信号線がアクティブになることに応答して、アクティブになった前記信号線に対応する第2パケット登録情報に基づいて、前記第1ユニットが受信したパケットに相当する復元パケットを生成し、前記第2ネットワークに送出するパケット復元部と
を備えることを特徴とする特定パケット中継機能付きデータダイオード装置。 - 前記第1ユニットは、前記第1ネットワーク上の第1ネットワーク機器からのパケットを受信し、また前記一方向伝送路を介して受信したパケットを前記第1ネットワーク機器に送信する第1通信部を有し、
前記パケット判定部は、パケットの送信元情報、宛先情報及びアプリケーションデータを含む前記第1パケット登録情報の各々が前記信号線のいずれかに対応して登録された第1参照テーブルと、前記第1ネットワークから受信したパケットの送信元情報、宛先情報及びアプリケーションデータが前記第1参照テーブルに登録されたいずれか1つの前記第1パケット登録情報に含まれている場合に、当該第1パケット登録情報に対応した信号線をアクティブにする第1制御部とを有し、
前記第2ユニットは、前記復元パケットを前記第2ネットワークに送出し、また前記第2ネットワーク上の第2ネットワーク機器からのパケットを受信し、この受信したパケットを前記一方向伝送路を介して、前記第1ユニットに送る第2通信部を有し、
前記パケット復元部は、パケットの送信元情報、宛先情報及びアプリケーションデータを含む前記第2パケット登録情報の各々が、同じパケットについての第1、第2パケット登録情報が同じ前記信号線に対応するように登録された第2参照テーブルと、アクティブになった前記信号線に対応する前記第2パケット登録情報に基づく送信元情報、宛先情報、アプリケーションデータを有する前記復元パケットを生成する第2制御部とを有する
ことを特徴とする請求項1に記載の特定パケット中継機能付きデータダイオード装置。 - 複数の回路ブロックの組み合わせによって任意の回路構成が可能な第1及び第2プログラマブルロジックデバイスを備えており、
前記第1プログラマブルロジックデバイスは、前記回路ブロックの組み合わせにより前記第1ユニットの少なくとも前記第1制御部が形成され、
前記第2プログラマブルロジックデバイスは、前記回路ブロックの組み合わせにより前記第2ユニットの少なくとも前記第2制御部が形成され、
前記信号線部は、前記第1プログラマブルロジックデバイスと前記第2プログラマブルロジックデバイスとを接続していることを特徴とする請求項2に記載の特定パケット中継機能付きデータダイオード装置。 - 第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ネットワークに送出する
ことを特徴とする特定パケット中継機能付きデータダイオード装置。 - 前記第1ユニットは、前記第1ネットワーク上の第1ネットワーク機器からのパケットを受信し、また前記一方向伝送路を介して受信したパケットを前記第1ネットワーク機器に送信する第1通信部を有し、
前記パケット判定部は、
可変パケットを除いた一部のアプリケーションデータを含む前記第1パケット登録情報の各々が前記信号線のいずれかに対応して登録された第1参照テーブルと、前記可変パケット毎に前記第1パケット登録情報が登録された第1可変パケット参照テーブルと、が予め記憶された第1記憶部と、
第1制御部とを備え、
前記第1制御部は、
前記第1ネットワークから受信したパケットに含まれる、可変パケットを除いた一部のアプリケーションデータが、前記第1参照テーブルに登録されたいずれか1つの前記第1パケット登録情報に含まれている場合に、当該第1パケット登録情報に対応した信号線をアクティブにし、前記アプリケーションデータに含まれていた可変パケットに対応した第1可変パケット登録情報を、第1可変パケット参照テーブル中から特定して該第1可変パケット登録情報に従って、前記可変パケット用信号線をアクティブ又は非アクティブにする
ことを特徴とする請求項4に記載の特定パケット中継機能付きデータダイオード装置。 - 前記第2ユニットは、前記復元パケットを前記第2ネットワークに送出し、また前記第2ネットワーク上の第2ネットワーク機器からのパケットを受信し、この受信したパケットを前記一方向伝送路を介して、前記第1ユニットに送る第2通信部を有し、
前記パケット復元部は、
可変パケットを除いた一部のアプリケーションデータの各々が、前記第1パケット登録情報と同じ前記信号線に対応付けられている各前記第2パケット登録情報が登録された第2参照テーブルと、前記可変パケットの各々に対して、前記可変パケット用信号線のアクティブ又は非アクティブが前記第1可変パケット登録情報と同じに対応付けられている前記第2可変パケット登録情報が登録された第2可変パケット参照テーブルと、が予め記憶された第2記憶部と、
第2制御部とを備え、
前記第2制御部は、
アクティブになった前記信号線に対応する前記第2パケット登録情報に基づいて可変パケットを除いたアプリケーションデータを含む前記復元パケットを生成し、アクティブ又は非アクティブになった前記可変パケット用信号線に対応する第2可変パケット登録情報から前記復元可変パケットを生成する
ことを特徴とする請求項4又は5に記載の特定パケット中継機能付きデータダイオード装置。 - 請求項3記載の特定パケット中継機能付きデータダイオード装置の設定方法において、
前記第1及び前記第2プログラマブルロジックデバイスにそれぞれ設定用構成情報をロードし、前記第1及び前記第2プログラマブルロジックデバイス内部に通信用配線を形成することで、前記第1ネットワーク側からのパケットを前記第2ネットワーク側に送るパケット伝送路を有効化するとともに、前記パケット伝送路上のパケットから送信元情報、宛先情報及びアプリケーションデータを含むパケット登録情報を取得する情報取得部を前記第1及び前記第2プログラマブルロジックデバイスの少なくとも一方に形成する第1形成ステップと、
前記第1ネットワーク機器から前記第2ネットワーク機器に向けて中継を許可する特定のパケットを送信する送信ステップと、
前記送信ステップで送信されたパケットから前記パケット登録情報を前記情報取得部で取得する情報取得ステップと、
前記情報取得ステップで取得した前記パケット登録情報を第1、第2パケット登録情報として前記第1、前記第2参照テーブルに前記信号線のいずれかに対応させて登録する情報登録ステップと、
前記情報登録ステップ後に実行され、第1の通常構成情報を前記第1プログラマブルロジックデバイスにロードすることで、前記第1プログラマブルロジックデバイスに少なくとも前記第1制御部を形成して前記第1ユニットを構成し、第2の通常構成情報を前記第2プログラマブルロジックデバイスにロードすることによって、前記第2プログラマブルロジックデバイスに少なくとも前記第2制御部を形成して前記第2ユニットを構成する第2形成ステップと
を有することを特徴とする特定パケット中継機能付きデータダイオード装置の設定方法。 - 前記第1形成ステップは、前記第1または前記第2プログラマブルロジックデバイスの一方に前記情報取得部を形成し、
前記情報取得ステップは、前記第1または前記第2参照テーブルの一方の参照テーブルに、前記情報取得部が取得したパケット登録情報を記憶させる第1情報登録ステップと、この一方の参照テーブルの内容を他方の参照テーブルに複写する第2情報登録ステップとを有する
ことを特徴とする請求項7に記載の特定パケット中継機能付きデータダイオード装置の設定方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
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 (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016002660A JP5930355B1 (ja) | 2016-01-08 | 2016-01-08 | 特定パケット中継機能付きデータダイオード装置及びその設定方法 |
JP2016-002660 | 2016-01-08 | ||
JP2016112232A JP6083549B1 (ja) | 2016-06-03 | 2016-06-03 | 特定パケット中継機能付きデータダイオード装置 |
JP2016-112232 | 2016-06-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2017119418A1 true WO2017119418A1 (ja) | 2017-07-13 |
Family
ID=59274178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2017/000060 WO2017119418A1 (ja) | 2016-01-08 | 2017-01-04 | 特定パケット中継機能付きデータダイオード装置及びその設定方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10841132B2 (ja) |
EP (1) | EP3402132B1 (ja) |
WO (1) | WO2017119418A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151316A (zh) * | 2018-09-26 | 2019-01-04 | 华北理工大学 | 一种基于fpga的多工业相机数据调度装置 |
CN111049631A (zh) * | 2019-06-06 | 2020-04-21 | 北京仁光科技有限公司 | 跨网交互***和跨网交互方法 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10897414B1 (en) * | 2019-07-15 | 2021-01-19 | Saudi Arabian Oil Company | Method for providing high-availability services on one-way data diode |
FR3108418A1 (fr) * | 2020-03-18 | 2021-09-24 | Orange | Réseau de collecte de données sécurisé |
US12047460B2 (en) * | 2022-12-01 | 2024-07-23 | Saudi Arabian Oil Company | Cross-communication links for a unidirectional, bilateral data network |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11502976A (ja) * | 1995-03-31 | 1999-03-09 | ザ・コモンウェルス・オブ・オーストラリア | 異なった機密保護レベルのネットワークを相互に連絡させる方法及び手段 |
JP2004120667A (ja) * | 2002-09-30 | 2004-04-15 | Hitachi Ltd | データ通信方法および情報処理装置 |
JP2010199943A (ja) * | 2009-02-25 | 2010-09-09 | Hitachi Ltd | 一方向データ通信方法および情報処理装置 |
US20100290476A1 (en) * | 2009-05-18 | 2010-11-18 | Tresys Technology, Llc | One-Way Router |
JP2012523170A (ja) * | 2009-04-01 | 2012-09-27 | レイセオン カンパニー | データダイオードシステム |
JP2014140096A (ja) * | 2013-01-21 | 2014-07-31 | Mitsubishi Electric Corp | 通信システム |
JP2015133558A (ja) * | 2014-01-10 | 2015-07-23 | 三菱電機株式会社 | データダイオード装置 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020112181A1 (en) * | 2000-12-12 | 2002-08-15 | Smith Mark Elwin | Multilevel secure network access system |
US7675867B1 (en) * | 2006-04-19 | 2010-03-09 | Owl Computing Technologies, Inc. | One-way data transfer system with built-in data verification mechanism |
US20110153969A1 (en) * | 2009-12-18 | 2011-06-23 | William Petrick | Device and method to control communications between and access to computer networks, systems or devices |
US20120131189A1 (en) * | 2010-11-24 | 2012-05-24 | Raytheon Company | Apparatus and method for information sharing and privacy assurance |
US9473300B2 (en) * | 2011-11-03 | 2016-10-18 | Savannah River Nuclear Solutions, Llc | Authenticated sensor interface device |
US9678921B2 (en) * | 2012-03-21 | 2017-06-13 | Owl Computing Technologies, Llc | Method and apparatus for data transfer reconciliation |
US20140052989A1 (en) * | 2012-08-15 | 2014-02-20 | Ultra Electronics, ProLogic | Secure data exchange using messaging service |
US20150163198A1 (en) * | 2013-12-10 | 2015-06-11 | Futaris, Inc. | Methods and apparatus for providing controlled unidirectional flow of data |
JP6214788B2 (ja) * | 2014-10-30 | 2017-10-18 | 三菱電機株式会社 | データダイオード装置 |
US9762595B2 (en) * | 2015-08-11 | 2017-09-12 | Raytheon Company | Secure cross domain solution systems and methods |
US10021072B2 (en) * | 2015-08-20 | 2018-07-10 | Mitsubishi Hitachi Power Systems, Ltd. | Security system and communication control method |
US10257163B2 (en) * | 2016-10-24 | 2019-04-09 | Fisher-Rosemount Systems, Inc. | Secured process control communications |
CA3072266A1 (en) * | 2017-08-08 | 2019-02-14 | Crypto4A Technologies Inc. | Secure machine executable code deployment and execution method and system |
US10387351B2 (en) * | 2017-12-22 | 2019-08-20 | Fend, Inc. | One-way data transfer device with onboard system detection |
US10831166B2 (en) * | 2018-11-21 | 2020-11-10 | Radiflow Ltd. | Hybrid network monitoring system |
-
2017
- 2017-01-04 WO PCT/JP2017/000060 patent/WO2017119418A1/ja active Application Filing
- 2017-01-04 EP EP17735955.1A patent/EP3402132B1/en active Active
- 2017-01-04 US US16/068,046 patent/US10841132B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11502976A (ja) * | 1995-03-31 | 1999-03-09 | ザ・コモンウェルス・オブ・オーストラリア | 異なった機密保護レベルのネットワークを相互に連絡させる方法及び手段 |
JP2004120667A (ja) * | 2002-09-30 | 2004-04-15 | Hitachi Ltd | データ通信方法および情報処理装置 |
JP2010199943A (ja) * | 2009-02-25 | 2010-09-09 | Hitachi Ltd | 一方向データ通信方法および情報処理装置 |
JP2012523170A (ja) * | 2009-04-01 | 2012-09-27 | レイセオン カンパニー | データダイオードシステム |
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 | 通信システム |
JP2015133558A (ja) * | 2014-01-10 | 2015-07-23 | 三菱電機株式会社 | データダイオード装置 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109151316A (zh) * | 2018-09-26 | 2019-01-04 | 华北理工大学 | 一种基于fpga的多工业相机数据调度装置 |
CN109151316B (zh) * | 2018-09-26 | 2023-05-23 | 华北理工大学 | 一种基于fpga的多工业相机数据调度装置 |
CN111049631A (zh) * | 2019-06-06 | 2020-04-21 | 北京仁光科技有限公司 | 跨网交互***和跨网交互方法 |
CN111049631B (zh) * | 2019-06-06 | 2021-03-19 | 北京仁光科技有限公司 | 跨网交互***和跨网交互方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3402132B1 (en) | 2020-06-03 |
US20200244487A1 (en) | 2020-07-30 |
EP3402132A4 (en) | 2019-07-24 |
US10841132B2 (en) | 2020-11-17 |
EP3402132A1 (en) | 2018-11-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5930355B1 (ja) | 特定パケット中継機能付きデータダイオード装置及びその設定方法 | |
WO2017119418A1 (ja) | 特定パケット中継機能付きデータダイオード装置及びその設定方法 | |
JP6083549B1 (ja) | 特定パケット中継機能付きデータダイオード装置 | |
JP4401864B2 (ja) | パケット生成方法、通信方法、パケット処理方法及びデータ構造 | |
JP6926708B2 (ja) | 車載通信システム、スイッチ装置、通信制御方法および通信制御プログラム | |
US7269661B2 (en) | Method using receive and transmit protocol aware logic modules for confirming checksum values stored in network packet | |
US20040083278A1 (en) | Network having a number of nodes, and nodes for a network of this type | |
US20080170494A1 (en) | Communication control apparatus, method and program thereof | |
WO2020054396A1 (ja) | 車両用中継装置 | |
JP2006135645A (ja) | 異なる通信プロトコルが併存するネットワークにおけるネットワーク接続手段の一元管理システム及び方法 | |
JP2009130527A (ja) | ネットワーク仮想化システム、中継装置、およびプログラム | |
US10524219B2 (en) | Communication apparatus, communication system and communication method | |
US8130636B2 (en) | Communication control system | |
CN116530058B (zh) | 具有主从结构的自动化***、分配器和电报传输方法 | |
JP5100626B2 (ja) | レイヤ2スイッチ | |
WO2021044652A1 (ja) | マスタ装置、演算処理装置、プログラマブルロジックコントローラ、ネットワーク、および方法 | |
JP5001912B2 (ja) | ノード及びネットワークシステム | |
JP5271043B2 (ja) | 通信システム | |
JP2008219400A (ja) | 中継装置およびパケット中継方法 | |
CN111698115B (zh) | 用于运行通信***的方法和设备 | |
JP7043896B2 (ja) | ネットワーク制御システム | |
WO2024106190A1 (ja) | 通信装置および通信方法、並びにプログラム | |
CN106209642A (zh) | 一种转发ip报文的方法及装置 | |
CN105591865A (zh) | 虚拟网络实现的方法、nve、nva装置及*** | |
US20110029690A1 (en) | Data routing system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17735955 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2017735955 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2017735955 Country of ref document: EP Effective date: 20180808 |