WO2025003201A1 - Procédés de protection d'un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d'ordinateur et supports d'information correspondants - Google Patents

Procédés de protection d'un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d'ordinateur et supports d'information correspondants Download PDF

Info

Publication number
WO2025003201A1
WO2025003201A1 PCT/EP2024/067921 EP2024067921W WO2025003201A1 WO 2025003201 A1 WO2025003201 A1 WO 2025003201A1 EP 2024067921 W EP2024067921 W EP 2024067921W WO 2025003201 A1 WO2025003201 A1 WO 2025003201A1
Authority
WO
WIPO (PCT)
Prior art keywords
packet
equipment
data
transmission
network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/EP2024/067921
Other languages
English (en)
Inventor
Yoann HAMON
Régis ESNAULT
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to EP24735643.9A priority Critical patent/EP4736371A1/fr
Publication of WO2025003201A1 publication Critical patent/WO2025003201A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources

Definitions

  • This application relates to the field of securing at least a portion of a communications network.
  • It relates in particular to a method of protecting at least one item of equipment, implemented by a first electronic device of a first portion of a communication network, and a method of transmitting data, implemented by a second electronic device of a second portion of a communication network, as well as the corresponding electronic devices and assemblies, computer program products and information media.
  • the present invention relates to the protection of at least one piece of equipment accessible via a communication network.
  • this may be equipment handling sensitive data, or carrying out sensitive processing, and may therefore be the target of attack by malicious third parties, either to improperly access sensitive data, or to disrupt, or even prevent, certain processing via the propagation of a computer virus to the equipment.
  • This equipment is, for example, part of a private company network or a home network, interconnected to a public network such as the Internet.
  • Examples of sensitive data include personal data (medical data, banking data, etc.), industrial data (such as plans of manufactured objects, data relating to the production of certain industrial machines such as measurement results, number of parts produced, etc.), order histories received by industrial equipment, alerts, etc.
  • Private network security solutions have been developed to protect equipment or a plurality of equipment belonging to the same private network from such attacks. Examples include solutions based on firewalls and/or intrusion detection systems. Also included is the use of virtual private networks (VPNs) that isolate, by encryption, within a wide area network, exchanges between equipment in the wide area network belonging to the virtual private network. Such solutions make it possible to limit communications with equipment outside the private network to communications sent from the private network to these equipment. “external”, and thus prevent access from outside the network to equipment to be protected.
  • VPNs virtual private networks
  • the purpose of this application is to propose improvements to at least some of the drawbacks of the state of the art.
  • the present application aims to improve the situation by means of a method for protecting at least one piece of equipment of a communication network partitioned into a plurality of portions comprising at least a first portion, comprising said equipment, and at least a second portion interconnected with said first portion via a first device of said first portion and a second device of said second portion, said method comprising:
  • said filtering rule takes into account at least one element contained in said packet among the following elements:
  • said filtering is performed prior to said transcoding. In some embodiments, said filtering is performed after said transcoding.
  • said first and second devices communicate with each other via at least two communication paths, a first unidirectional communication path allowing the first device to receive data from said second device, and a second, unidirectional communication path allowing the first device to send to said second device a response to said packet transmitted to said recipient equipment.
  • said transcoding comprises deserialization of said data.
  • the present application also relates to a method for transmitting at least one piece of data intended for at least one piece of equipment in a communication network partitioned into a plurality of portions comprising at least a first portion, and at least a second portion interconnected with said first portion via a first device of said first portion and a second device of said second portion; said method comprising:
  • said filtering rule takes into account at least one element contained in said packet among the following elements:
  • the transmission method comprises obtaining a description relating to said equipment of said first portion of said communication network comprising said at least one addressing identifier of said at least one equipment on said first portion of said communication network.
  • said filtering is performed on the serialized data. In some embodiments, said filtering is performed prior to said serialization. In some embodiments, said first and second devices communicate with each other via at least two one-way communication paths, a first one-way communication path allowing the second device to transmit data to said first device, and a second one-way communication path allowing the second device to receive from the first device a response to said data transmitted to said first device.
  • the present application also relates to an electronic device adapted to implement at least one of the methods of the present application in any of its embodiments.
  • the present application thus relates to a first electronic device of a communication network partitioned into a plurality of portions comprising at least a first portion, comprising at least one piece of equipment to be protected and said first device, and at least a second portion interconnected with said first portion via the first device and a second device of said second portion, said first device comprising at least one processor configured to:
  • the present application also relates to a second electronic device of a communication network partitioned into a plurality of portions comprising at least a first portion, comprising at least one piece of equipment, and at least a second portion comprising said second device, and interconnected with said first portion via a first device of said first portion and the second device; said second device comprising at least one processor configured to:
  • the present application also relates to an electronic assembly for protecting at least one piece of equipment of a communication network partitioned into a plurality of portions comprising at least a first portion, comprising said equipment, and at least a second portion interconnected with said first portion via at least a first device of said electronic assembly, said first device belonging to said first portion, and at least a second device of said electronic assembly, said second device belonging to said second portion, said at least one first electronic device comprising at least one processor configured to:
  • said at least one second electronic device comprising at least one processor configured to:
  • the present application also relates to a system comprising at least one piece of equipment to be protected and at least one electronic assembly for protecting said at least one piece of equipment.
  • at least one piece of equipment in a communication network partitioned into a plurality of portions comprising at least a first portion comprising said equipment, and at least a second portion interconnected with said first portion via at least a first device of said electronic assembly, said first device belonging to said first portion and at least a second device of said electronic assembly, said second device belonging to said second portion,: said at least one first electronic device comprising at least one processor configured to:
  • said at least one second electronic device comprising at least one processor configured to:
  • the present application also relates to a computer program comprising instructions for implementing the various embodiments of at least one of the above methods, when said program is executed by a processor, and an information medium readable by an electronic device and on which the computer program is recorded.
  • the present application thus relates to a computer program comprising instructions for implementing, when the program is executed by a processor of a first electronic device, a method for protecting at least one piece of equipment of a communication network partitioned into a plurality of portions comprising at least a first portion, comprising said equipment and said first device, and at least a second portion interconnected with said first portion via the first device and a second device of said second portion, said method comprising:
  • the present application relates to a computer program comprising instructions for implementing, when the program is executed by a processor of a second electronic device, a method for transmitting at least one piece of data from at least one piece of equipment of a communication network partitioned into a plurality of portions comprising at least a first portion, and at least a second portion, comprising said second device and interconnected with said first portion via a first device of said first portion and the second device; said method comprising:
  • the present application also relates to an information medium readable by a processor of a first electronic device and on which is recorded a computer program comprising instructions for implementing, when the program is executed by the processor, a method for protecting at least one piece of equipment of a communication network partitioned into a plurality of portions comprising at least a first portion, comprising said piece of equipment and said first device, and at least a second portion interconnected with said first portion via the first device of said first portion and a second device of said second portion, said method comprising:
  • the present application further relates to an information medium readable by a processor of a second electronic device and on which is recorded a computer program comprising instructions for implementing, when the program is executed by the processor, a method for transmitting at least one piece of data from at least one piece of equipment of a communication network partitioned into a plurality of portions comprising at least a first portion, and at least a second portion comprising said second device and interconnected with said first portion via a first device of said first portion and the second device of said second portion, said method comprising:
  • the above-mentioned programs may use any programming language, and may be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other desirable form.
  • the information (or recording) media referred to in this application may be any entity or device capable of storing the program.
  • an information medium may comprise a storage medium, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a magnetic recording medium.
  • Such storage means can be, for example, a hard disk, flash memory, etc.
  • an information carrier may be a transmissible information carrier such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • a program according to the invention may in particular be downloaded from a network such as the Internet.
  • an information carrier may be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in the execution of any of the embodiments of at least one of the methods which are the subject of the present patent application.
  • an element we mean in the present application for example a reception of this element from a communication network, an acquisition of this element (via for example user interface elements, sensors, etc.), a creation of this element by various processing means such as by copying, encoding, decoding, transformation etc. and/or an access of this element from a local or remote storage medium accessible to at least one device (such as the first and/or the second device of the set) implementing, at least partially, this obtaining.
  • FIG 1 shows a simplified view of an exemplary system in which at least some embodiments of the methods of the present application can be implemented
  • FIG 2 shows a simplified view of a device suitable for implementing at least certain embodiments of at least one of the methods of the present application
  • FIG 3 shows an overview of the method of protecting the present application, in some of its embodiments.
  • FIG 4 shows an overview of the data transmission method of the present application, in some of its embodiments.
  • FIG 5 is a simplified view of an exemplary system 500 in which at least some embodiments of the method of the present application may be implemented.
  • This application aims to provide a simple and effective solution for both protecting one or more devices of a communication network against computer attacks, in particular external to this communication network, while allowing electronic devices, located for example in an unprotected portion of the communication network or outside the communication network, to access (in reading and writing) and in a secure manner, at least some data of these devices to be protected.
  • the application proposes to equip the communication network with at least two devices, these devices partitioning the communication network into at least two portions.
  • partition we mean here a sharing of the communication network into a plurality of portions each comprising at least one electronic device, separated two by two (except certain interconnection elements between the at least two devices as specified below) and the assembly of which reconstitutes the communication network.
  • At least one first of these portions is a portion (called “protected") inaccessible directly from an electronic device located outside this first portion, this first portion comprising at least one piece of equipment to be protected.
  • At least one second portion called “exposed” i.e. external to this first protected portion
  • devices outside the first portion such as devices located in a "first" protected portion other than the first "protected” portion where the equipment is located, and/or devices of the second portion, and/or devices outside the communication network).
  • the equipment(s) to be protected may, for example, be industrial machines.
  • requests for access to a device from a device external to the first portion are filtered by the first and/or the second device, in application of filtering rules, so as to retain only access requests deemed safe. For example, only requests concerning non-critical devices of the first portion can be retained. According to another example, only requests for reading memory zones of a device of the first portion can be retained. According to yet another example, only write requests relating to “non-critical” memory zones of a device of the first portion issued by certain devices (such as a device of a network administrator) can be retained.
  • Different federation rules may be applied by the first and/or second devices.
  • the federation rule(s) applied by the first device may take into account the second device from which the requests were received.
  • the first device may receive requests from a “second device” implementing no federation.
  • Applying the same rule to the second device and then to the first device may allow, at the second device, to delete certain packets earlier in the processing chain (in accordance with the federation rules), thus avoiding unnecessary processing.
  • Applying the same rule to the second device and then to the first device may allow, at the second device, to delete certain packets earlier in the processing chain (in accordance with the federation rules), thus avoiding unnecessary processing.
  • At the first device it may protect against possible corruption of the second device (located in an “exposed” portion of the network) and in particular of its federation rules.
  • the first device and the second device communicate only via one-way communication means.
  • third-party device requests received by the second device may be forwarded by the second device (from the exposed portion) to the first device via a first one-way communication path. Allowing only one-way communications can help to better control the exchanges between a third-party device and equipment (via the electronic assembly) and therefore to better prevent attacks from third-party devices.
  • messages corresponding for example to “UDP” messages from the equipment or to possible responses to requests
  • messages can be transmitted via a second unidirectional communication path from the protected portion to the exposed portion.
  • responses include, when it is a read request, data values from the equipment receiving the request and/or in the case of a write request, a confirmation of receipt of the request or a confirmation of writing.
  • the messages (such as “UDP” messages or responses) are transmitted from the first device to the second device (via the second communication path). Alternatively, they can be transmitted transparently to the first and second devices (via a second communication path not passing through the first and second devices).
  • message filtering may optionally be implemented by the first device and/or the second device (so as to ensure, for example, that no sensitive data can be communicated to an external device of the first portion).
  • This filtering may be based on rules that are identical or similar to those used during the first communication path (for example, they may relate to the same registers) or on different rules.
  • This application may in particular help both to protect a portion of the network, while allowing the control of at least certain equipment of this first portion from outside the network.
  • the logical assembly comprising the at least one first and second device and the means of communication (one-way for example) between these at least two devices is also called in the present patent application "electronic assembly", “electronic protection assembly” or “Smart Diode” (or Smart Diode according to the English terminology).
  • it may be a virtual assembly, virtually encapsulating the first and second devices and first one-way communication means in a first direction of communication (from the second device to the first device), and optionally second one-way communication means in a second direction of communication, opposite to the first direction) or a physical assembly (such as a hardware element), having for example a housing in which the at least one first and second device and their mutual communication means are installed.
  • This assembly may comprise depending on the embodiments, and the network topology (for example the number of portions to be protected) a variable number of “first” devices and “second” devices.
  • Such an electronic assembly offers the advantage of being easy to install in a communication network, for example as an “intermediary” between a (particular) piece of equipment to be protected and the rest of the communication network, or in order to limit access to this equipment to be protected to only accesses made by the first device or simply to limit access to the equipment to be protected to devices located in a (protected) portion of the communication network, to which this equipment belongs.
  • Such an assembly can also help to offer a “turnkey” product to a communication network administrator.
  • Such an electronic assembly can thus help, at least in certain embodiments, to secure equipment to be protected, without requiring modification and/or replacement of this equipment.
  • the term “electronic equipment”, or “equipment”, is used in this application to refer to equipment that can be protected by the electronic assembly.
  • the term “electronic device”, or “device”, will be used to refer to the first or second electronic device of the electronic assembly 160 introduced above.
  • the term “electronic device” or “device” relates to any electronic device (it may sometimes be equipment to be protected or a device of the electronic assembly).
  • Ua figure 1 represents a system 100 in which certain embodiments of the invention can be implemented.
  • a system 100 comprises one or more electronic devices, at least some of which can communicate with each other via one or more communication networks 110, 120, 130 which are possibly partitioned and/or interconnected.
  • the system thus comprises a private network partitioned into two portions 110, 120.
  • One of the portions 120 is further interconnected with another network 130 (such as a wide area and/or public network, thus enabling communications between electronic devices 150, 164, 170 of this portion 120 and electronic devices 180 not belonging to the private network.
  • a private network may for example be a private corporate or domestic network, for example a local private network (or UAN for Local Area Network, according to English terminology).
  • the other network 130 may for example be another local network, or a “wide” network with significant geographic coverage, such as a metropolitan area network (or MAN, for Metropolitan Area Network, according to English terminology) or a network whose geographic area covers at least one region of a country, or a country (or WAN, for Wide Area Network, according to English terminology). It may for example be a WAN network of the Internet type, or cellular, GSM - Global System for Mobile Communications, UMTS - Universal Mobile Telecommunications System, Wifi - Wireless, etc.). As illustrated in FIG.
  • the system 100 may also comprise a non-interconnected portion 110 of the private network, called protected, comprising one or more electronic devices 140.
  • electronic devices 140 may be devices such as a terminal (such as a laptop, a smartphone, a tablet or a connected object), a connected object (such as a robot, an automatically and/or remotely guided mobile device, an energy meter, a machine tool in the case of an industrial private network, and/or household appliance in the case of a home network), a server, for example an application server, and/or a storage device.
  • a terminal such as a laptop, a smartphone, a tablet or a connected object
  • a connected object such as a robot, an automatically and/or remotely guided mobile device, an energy meter, a machine tool in the case of an industrial private network, and/or household appliance in the case of a home network
  • server for example an application server, and/or a storage device.
  • the equipment of the non-interconnected portion 100 may use different communication protocols depending on the embodiments, such as OPCUA (for OPen Connectivity - Unified Architecture), MQTT (for Message Queuing Telemetry Transport in English), ModBus TCP, Siemens S7, MTConnect, LabView. These protocols may differ depending on the equipment of the non-interconnected portion.
  • OPCUA for OPen Connectivity - Unified Architecture
  • MQTT for Message Queuing Telemetry Transport in English
  • ModBus TCP Siemens S7
  • MTConnect LabView
  • a device not belonging to a first protected portion (such as a device not belonging to the communication network, or belonging to the second “exposed” portion of the communication network) transmits a data packet (a request to read or write from/in a memory area for example) intended for equipment in the first portion.
  • the second device intercepts this data packet, optionally decides whether or not to keep this data packet based on a filtering rule (hereinafter called the “second” filtering rule with reference to the “second” device) and, if applicable (if the packet complies with this second filtering rule), transcodes this packet into serialized data and transmits them to the first device, located in the protected portion, where this data is filtered again by the first device before being transcoded in the form of at least one new data packet (having, depending on the embodiments, a structure identical to or different from that of the packet transmitted by the third-party device).
  • This or these new packets is/are then transmitted to a device receiving the first portion.
  • the response from the third-party device can then be transmitted via the first and second devices to the third-party device that sent the data packet (for example using a data serialization/deserialization mechanism with and/or without filtering).
  • the system comprises at least one electronic assembly 160 as introduced above aimed at protecting at least certain electronic equipment 140 of the private network 110.
  • the first device 162 of the electronic assembly 160 is located in a portion 110 called "to be protected" of the private network comprising the equipment 140 to be protected.
  • the first device 162 communicates with the second device 164 (located in the interconnected portion 120) via means 1622, 1624, 1642, 1644 unidirectional communication means, comprising for example first unidirectional communication means 1622, 1642 in a first direction of communication, and second unidirectional communication means 1624, 1644 in a second direction of communication, opposite to the first direction.
  • unidirectional communication means may vary according to the embodiments (and in particular according to the hardware capabilities of the first and/or second device).
  • the unidirectional communication means may comprise at least one optocoupler, and/or bidirectional communication means having been limited to a single direction of transmission, such as an Ethernet cable, a serial link and/or an optical fiber and/or at least one digital isolator (Digital isolator according to the English terminology) with galvanic, capacitive, inductive and/or optical isolation.
  • a single direction of transmission such as an Ethernet cable, a serial link and/or an optical fiber and/or at least one digital isolator (Digital isolator according to the English terminology) with galvanic, capacitive, inductive and/or optical isolation.
  • the first and second means of communication may be different.
  • the second device may transmit data to the first device via an Ethernet link limited to one direction of communication and the first device may transmit data to the second device via an optocoupler.
  • the first and second means of communication may be similar.
  • each of the first and second means of unidirectional communication may include an optocoupler 166.
  • optocoupler(s) makes it possible to physically separate the two devices (no electrical flow is exchanged, just light), and therefore to reinforce the security of the exchanges.
  • the electrical isolation of the devices from each other can help, for example, to prevent attacks by injection of current or electrical signal on the second portion of said network.
  • the system may also include network management and/or interconnection elements 164, 170.
  • the electronic assembly 160 may include at least one interconnection gateway with another network.
  • this gateway may for example be connected to the second device of the electronic assembly (and therefore allow an interconnection between the “exposed” portion of the private network and the other network).
  • the second device may itself play the role of an interconnection gateway between the “exposed” portion of the private network and the other network.
  • the private network can for example use wired connections such as at least one serial connection and/or one Ethernet connection, or wireless communication means.
  • the network can implement a communication protocol such as ModBus Serial, or CAN (acronym for “Controller Area Network”) in the case of a serial connection, or such as ModBus TCP, OPC-UA, MQTT in the case of an Ethernet connection.
  • a communication protocol such as ModBus Serial, or CAN (acronym for “Controller Area Network”) in the case of a serial connection, or such as ModBus TCP, OPC-UA, MQTT in the case of an Ethernet connection.
  • Figure 2 illustrates a simplified structure of an electronic device 200 of the system 100, for example the first device 162, the first device 162, and/or the equipment to be protected 140 of Figure 1.
  • it may be a server, and/or a terminal, or even a microcomputer with a simple human-machine interface such as a RaspberryPi ⁇ , an OrangePi ⁇ or even a NanoPl NEO.
  • the device 200 comprises in particular at least one memory M 210.
  • the device 200 may in particular comprise a buffer memory, a volatile memory, for example of the RAM type (for “Random Access Memory” according to the English terminology), and/or a non-volatile memory (for example of the ROM type (for “Read Only Memory” according to the English terminology).
  • the device 200 may also comprise a processing unit UT 220, equipped for example with at least one processor P 222, and controlled by a computer program PG 212 stored in memory M 210. On initialization, the code instructions of the computer program PG are for example loaded into a RAM memory before being executed by the processor P.
  • said at least one processor P 222 of the processing unit UT 220 may in particular implement, individually or collectively, any of the embodiments of at least one of the methods of the present application (described in particular in relation to Figures 3 and 4), according to the instructions of the computer program PG.
  • the device may also comprise, or be coupled to, at least one I/O input/output module 230.
  • the at least one I/O input/output module 230 of the device may comprise, in certain embodiments, at least one module for interfacing with a user of the device (also more simply called in this application “user interface”).
  • user interface of the device we mean for example an interface integrated into the device 200, or a part of a third-party device with which it is coupled by wired or wireless communication means. For example, it may be a secondary screen of the device.
  • a user interface may in particular be a user interface, called an “output” user interface, adapted to a rendering (or to the control of a rendering) of an output element of a computer application used by the device 200, for example an application running at least partially on the device 200 or an “online” application running at least partially remotely, for example on a server.
  • Examples of an output user interface of the device include one or more screens, in particular at least one graphic screen (touch screen for example), one or more speakers, a connected object.
  • a user interface may be a user interface, called an “input” interface, adapted to an acquisition of a command from a user of the device 200. This may in particular be an action to be carried out in connection with a returned item, and/or a command to be transmitted to a computer application used by the device 200, for example an application running on the at least partially on the device 200 or an “online” application running at least partially remotely, for example on a server.
  • input user interface include a sensor, an audio and/or video acquisition means (microphone, camera (webcam) for example), a keyboard, a mouse.
  • the device may also comprise, or be coupled to, at least one I/O input/output module 230, such as a communication module, allowing the device 200 to communicate with at least one other device of the system 100, via wired or wireless communication interfaces.
  • I/O input/output module 230 such as a communication module, allowing the device 200 to communicate with at least one other device of the system 100, via wired or wireless communication interfaces.
  • it may be at least one Ethernet type interface, and/or Wifi, Bluetooth type.
  • the communication means 1622, 1622, 1642, 1644 comprise for example first unidirectional communication means 1622, 1642 in a first direction of communication, and second unidirectional communication means 1624, 1644 in a second direction of communication, opposite to the first direction, such as at least one Ethernet type interface, or at least one serial interface with an optocoupler of the electronic assembly 160.
  • the optocoupler can be connected directly to the serial interface.
  • the transmission port of the first device (protected portion) can be connected to a pin of the optocoupler and the reception port of the second device (exposed portion) can be connected to another pin of the optocoupler.
  • Each side of the optocoupler can be supplied with voltage by the first and second device respectively (e.g. with a voltage of 3.3V).
  • the communication means of the device can be only family communication means, so as to physically limit the possibilities of access (directly or via this device) to equipment to be protected located in the same portion to be protected of the network (and therefore the possibilities of third-party attacks).
  • at least one of the first and second devices 162, 164 can be a microcomputer of the “NanoPi NEO” ⁇ type, equipped only with an Ethernet port (and no Wifi).
  • Said at least one microprocessor of the first device 162 can in particular be adapted for:
  • Said at least one microprocessor of the second device 164 can in particular be adapted for:
  • Some of the above input-output modules are optional and may therefore be absent from the equipment to be protected, from the first device and/or from the second device in certain embodiments.
  • the electronic assembly introduced above may comprise, in certain embodiments, a physical housing in which the first and second devices and the bidirectional communication means between the first device and the second device are housed.
  • the housing may for example limit or prevent physical access to the first and second devices and to their mutual communication means. It may in particular be a housing closed by a non-repositionable guarantee strip, or a sealed housing, so as to make any opening of the housing visible, due to the deterioration of a seal or of the guarantee strip, or to make its opening difficult.
  • the housing may for example allow physical access to at least certain communication interfaces of the first and/or of the second device (other than the mutual communication means between these two devices for example) and/or comprise communication interfaces connected to at least certain of the communication interface(s) of the first and of the second device.
  • the housing may provide access only to certain wired communication interfaces of the first device. For example, this may involve “forcing” the use of certain communication interfaces between the equipment and the first device, for example offering advantages in terms of security (for example due to the protocol involved in such interfaces) or to favor the use of “wired” interfaces.
  • the housing may allow free access to several communication interfaces of the first and second devices, so as to provide a set adapted to different network environments.
  • some of these interfaces can be deactivated in software (for example not provide any service), so that third-party equipment cannot access in reading and/or writing mode (via an SHH connection in the case of an Ethernet link for example) the description of the first device and equipment data stored by the first device.
  • module or the term “component” or “element” of the device here means a hardware element, in particular wired, or a software element, or a combination of at least one hardware element and at least one software element.
  • the method according to the invention can therefore be implemented in various ways, in particular in wired form and/or in software form.
  • Figure 3 illustrates certain embodiments of the method 300 for protecting the present application (implemented for example by a first device of an electronic assembly according to the invention) and Figure 4 illustrates certain embodiments of the method 400 for providing data of the present application (implemented for example by a second device of an electronic assembly according to the invention).
  • the method 400 (before the method 300) is now described to respect a chronological order of processing of a request (such as read/write access to equipment) received from a third-party device, and thus facilitate the reading of the present patent application.
  • the method 400 can for example be implemented by a second device located in a portion of a communication network completely distinct from a protected portion of this network, such as the second device 164 of the electronic assembly 160 of the system 100.
  • the method can be implemented automatically at startup of the second device (via a script executed at startup (“boot”) of the device) or later, for example following the launch, manual or automatic (via a background task for example) of an executable implementing at least one embodiment of the method 400.
  • the method can notably comprise, as illustrated in FIG. 4, a so-called initialization phase 410 (during startup of the second device for example or subsequently, upon receipt of a user command for example).
  • This initialization phase 410 comprises an establishment 412 (initialization and/or establishment) of communications (for example unidirectional) from the second device to the first device, and optionally unidirectional communications from the first device to the second device.
  • This initialization phase 410 also includes obtaining 414 a description, which may take the form of one or more files in YAML, XML or JSON format for example.
  • This description may in particular include information relating to the requests that the second device will receive (format of the packets to be received for example), and/or information relating to filtering rules that the second device must apply, and/or information relating to equipment for which a packet that will be received by the second device may be intended (such as an identifier of this equipment, a designation of at least one protocol that it can use, etc.), information relating to the data to be transmitted to the first device (protocol to be used, format, etc.).
  • the description may also include information necessary for establishing one-way communication between the second device and the first device and vice versa (such as an address of the first device on the communication network, a data format and/or a protocol to be used to communicate with the first device, etc.).
  • the information necessary for establishing a one-way communication between the second device and the first device can be obtained by the second device (via parameter data locally accessible to the second device or remotely for example) prior to setting up 412 the two-way communication means and obtaining 414 the description.
  • obtaining the description can comprise a deserialization of the data (corresponding to the description) received (if the content of the description has been serialized before its transmission to the second device).
  • the format for receiving the description may differ depending on the implementations. For example, it may be an XML or JSON format.
  • the pseudo-code below illustrates as an example the transmission of the description in a serialized manner in the case of the JSON protocol: ⁇ ‘m’ : ’description ⁇ JSON description ⁇ where in this example
  • description is a text label announcing the transmission of a description ⁇ JSON description ⁇ in JSON format.
  • the description may be received from the first device.
  • the description may be obtained by accessing a storage area accessible to the second device, such as a storage area local to the second device or accessible from the second portion of the network or a removable storage area (such as a USB drive) coupled to the second device.
  • the description obtained 414 may in particular include information describing at least one protocol (such as Ethernet) to be used to receive these packets, a packet size, a packet format (or structure), a reception rate, etc.
  • at least one protocol such as Ethernet
  • protocols include hierarchical protocols, using standardized data structures, such as Open Platform Communications Unified Architecture (OPC-UA) and ModBus, or non-hierarchical protocols such as MQTT and Direct Datagram Protocol (UDP).
  • OPC-UA Open Platform Communications Unified Architecture
  • ModBus ModBus
  • non-hierarchical protocols such as MQTT and Direct Datagram Protocol (UDP).
  • this may include, for example: a designation of at least one accepted or prohibited protocol; a designation of at least one network domain whose requests, when issued from this domain, will be accepted or prohibited; an identifier of at least one device, issuer of a request, accepted or prohibited; a designation of at least one portion of the network accepted or prohibited as a portion of belonging of a recipient of a request; an identifier of at least one device accepted or prohibited as a recipient of a request; a type of access request (read, write, etc.) accepted or prohibited; a range of addresses accepted or prohibited as parameters of a request; an accepted or prohibited parameter in connection with a particular protocol (such as a "topic" for MQTT for example) a combination of at least two of said information.
  • a designation of at least one accepted or prohibited protocol such as a "topic" for MQTT for example
  • This information may be optional in certain embodiments.
  • Concerning the information relating to a device for which a packet may be intended it may in particular comprise an addressing identifier of this device (for example according to the protocols an IP address, a MAC address of at least one access point, etc.), a designation of at least one protocol that it accepts, a communication port open on this device.
  • the description may also comprise information relating to data to be received from the first device in response to a sending by the second device of a request from a third-party device.
  • This may for example be a protocol to be used to receive this data, and/or a size, type and/or format of this data, or a protocol to be used to transmit this data, and/or an output format of this data to be used for their transmission to a third-party device.
  • the description concerns several devices.
  • the term "devices” announces a list of devices to be protected (designated by their respective IP addresses), each accessible by a different protocol in this example. For each, we find the authorized ports, the authorized transmitters (sources) (designated by their respective IP addresses), the type of possible access and the registers, the "namespaces" (for OPC-UA), topic (for MQTT), http requests (for MTConnect) authorized by type of access.
  • config ve sion 1.0 config date: 2023-05-15 diode: hostname: SmartDiode devices:
  • the transmission method 400 may include an (optional) update of the obtained description 414, either automatically by the second device or via a user interface of the second device, to delete certain information from the description or add new information (for example to create, delete and/or modify at least one filtering rule).
  • the method may comprise a processing 420 of a data packet originating from a third-party device located outside the protected portion.
  • This may for example be a request for read or write access to a memory area of a device of the first portion.
  • the packet may for example be obtained 422 (i.e. received here) by the second device via the second portion of the communication network.
  • the second device can intercept data packets circulating on the second portion of the network and having a destination address corresponding to an addressing identifier contained in the description.
  • the method can comprise an examination 430 of the packets received, taking into account at least one filtering rule (called a “second” filtering rule by reference to the “second” device).
  • the at least one second filtering rule can for example be obtained 432 from the information present in the description (and detailed above).
  • the method can thus comprise a filtering 434 of the packets received to retain only those consistent with the at least one “second” filtering rule obtained.
  • packets with MQTT protocol can be kept or deleted according to their “topic”.
  • packets with OPC-UA protocol can be kept or deleted according to the designated nodes and a type of request (read or write access) to which the packet corresponds.
  • packets with ModBus protocol can be kept or deleted according to the designated registers and a type of request (read or write access) to which the packet corresponds.
  • the recipient equipment can also be taken into account to keep or delete packets.
  • a packet intended for the “ModBus” machine will be kept only if they have port 9400 as their destination port and concern “registers” 0 to 105 of “coils” 0 to 1 in the case of a read access request.
  • only write access requests to registers 0-12 will be kept.
  • a write request on register 13 for example, will be eliminated.
  • the method may comprise a transcoding 440 of the stored packets.
  • the method may comprise an extraction 442 of the data contained in the obtained packet 422 taking into account the structure of the packet and in particular the protocol used in the encoding of the packet.
  • the extracted data may for example comprise, in addition to the address of the recipient of the packet, at least one destination port on the destination equipment, a type of request to be sent to the equipment, data relating to the command (address range, data values, etc.).
  • the method may include a serialization of the extracted data.
  • This serialization may for example take into account the description obtained 414 (in particular a designation, in the description; of a protocol to be used for the serialization, such as XML or JSON).
  • the serialized data may include in the header an announcement of a type of data (protocol used or announcement of data corresponding to a description, etc.), a label identifying this type of data, as well as possible text labels or digital code announcing the meaning of the elements which follow them.
  • announcements may be optional device described later included in certain embodiments, in particular when the description of the second device (and that of the first device) only provides a single protocol.
  • the method may include a transmission 450 to the first device of the transcoded data (via one of the unidirectional communication paths set up for example)
  • filtering can be performed on the extracted/serialized data (not on the received packets).
  • Filtering on packets allows to rely on the structure of the packets (and therefore on the semantics of the fields of these packets) to perform the filtering. In addition, it avoids performing unnecessary serialization processing of data that will not be preserved.
  • the method may comprise a processing 460 of a message from the equipment (such as a UDP message or a response to the request sent to the first device (and transmitted by the latter to the equipment)).
  • the method may comprise a transmission 464 of the response to the third-party device for which it is intended.
  • this may involve a simple retransmission of a received packet.
  • the processing may optionally comprise a filtering of the received packets (similar to what has already been described above, but optionally with different filtering rules (for example to prohibit the communication of the content of certain registers), or to filter the recipients of the messages).
  • the manner in which the second device obtains a packet intended for a device in the first portion may vary.
  • the second device may intercept data packets traveling on the second portion of the network when their destination address matches that of the device.
  • the second device may use, as its own addressing identifier on the second portion, an addressing identifier of at least one device on the first portion.
  • the addressing identifier of the device on the first portion may for example be obtained by reading the description or received from the first device and the method may include defining or modifying its own addressing identifier to be equal to the addressing identifier of the device on the first portion. It may also involve adding the addressing identifier of the device on the first portion to its addressing identifier(s) on the second portion.
  • Such embodiments may allow the second device to “impersonate” the equipment, with respect to devices in the second portion or external to the communication network. Such embodiments may thus help an administrator of the communication network to have a “plug and play” solution.
  • the insertion of the electronic assembly into the network, for the protection of a piece of equipment may be transparent to other devices already present in the network and may not require modifying a routing (or addressing) plan for the entire network or modifying the software of one of the third-party devices wishing to obtain data from the equipment.
  • the second device when the second device is part of an electronic assembly protecting several devices, the second device can be assigned several addresses (IP for example) on the second portion (via “subnets” for example) each identical to one of the addressing identifiers of a device to be protected on the first portion.
  • IP IP
  • the electronic assembly may be installed in an existing network comprising equipment that is (newly) to be protected.
  • the electronic assembly When the electronic assembly is installed so as to be able to communicate (for example via a wired link) with the equipment to be protected, thus constituting a first portion of the network (comprising at least the equipment and the first device), a network operator may not have to perform any action (apart from this installation).
  • the requests intended for the equipment being received by the second device and any responses from the equipment being transmitted by the second device, the devices and software external to the protected portion of the network can continue to make requests to the equipment, without modifying the access routine that they used before the installation of the electronic assembly to protect the equipment.
  • the insertion of the electronic assembly into the network can therefore be transparent to these devices and software.
  • the method 300 can be implemented, according to the embodiments, during the start-up of the first device, or later, and can comprise, as illustrated in FIG. 3, a so-called initialization phase 310 (during startup of the first device for example or subsequently, upon receipt of a user command for example).
  • This initialization phase may include obtaining 312 a description that may take the form of one or more files for example and that may in particular include information relating to the establishment of a two-way communication between the first device and the second device (such as an address of the second device on the communication network, a protocol to be used, etc.) and/or information relating to the data that the first device will receive from the second device (protocol to be used, format, etc.), and/or information relating to rules for filtering this data that the first device must apply, and/or information relating to at least one piece of equipment for which this data may be intended (such as an identifier of this piece of equipment, a designation of at least one protocol that it can use, etc.), and/or information relating to the structuring of this data into data packet(s) before their transmission to a piece of equipment, and information relating to a communication to be established with a piece of equipment for the transmission of at least one such packet (such as a password, or a necessary public or private key). to a connection to the
  • the information relating to the establishment of a two-way communication between the first device and the second device, the information relating to the data that the first device will receive from the second device (protocol to be used, format, etc.), and/or the information relating to the structuring of this data into packet(s) may be similar to that described in connection with the transmission method 400 (the format of the packets received by the second device may be different from the format of the packets transmitted by the first device).
  • the information relating to filtering rules may be similar to that described in connection with the transmission method 400.
  • the filtering rules may differ from the filtering rules applied by the second device.
  • the filtering rules to be applied by the first device may take into account the second device from which the data is received (when the first device can receive data from several “second” devices) so as, for example, to eliminate certain data corresponding to write requests originating from a second portion interconnected with a public network such as the Internet.
  • the information necessary for identifying equipment to be protected may include at least one of the following identification information: a textual label; an address (or addressing identifier) of the equipment on the first portion (for example, depending on the protocols, an IP address, a MAC address of at least one access point of the equipment, etc.); a manufacturer reference of the equipment; a serial number of the equipment; a combination of at least two of the above identification information.
  • the information necessary for establishing communication between the first device and the equipment may include in particular at least one of the following so-called communication information: information designating a protocol that can be used to communicate with the equipment; a port of the equipment that can be used to communicate with the equipment according to said protocol; at least one connection security element (such as an access identifier, a password, a public or private key, etc.); additional parameters specific to certain protocol(s) (such as a “topic” in the case of the MQTT protocol). a combination of at least two of the above communication information.
  • protocols for communicating with equipment include hierarchical protocols, using standardized data structures, such as Open Platform Communications Unified Architecture (OPC-UA) ModBus protocols, or non-hierarchical protocols such as MQTT or Direct UDP.
  • OPC-UA Open Platform Communications Unified Architecture
  • ModBus protocols or non-hierarchical protocols such as MQTT or Direct UDP.
  • MQTT Direct UDP.
  • the description may be obtained by accessing a storage area accessible to the first device (such as a storage area local to the first device or located in the first portion of the network or a removable storage area (such as a USB key) coupled to the first device or accessible via a serial connection on a micro-USB port of the first device. This may in particular be a micro-USB port inaccessible to a third party when the housing of the electronic assembly comprising the first device is closed.
  • the method 300 may include transmitting 316 at least a portion of the obtained description 312 to the second device.
  • the description may be created, or completed, dynamically (and at least partially automatically) by the first device itself.
  • the method may comprise a polling (or exploration) (or ARP (for Address Resolution Protocol) scan according to the English terminology) of the first portion, to discover the devices present in the first portion, then at least one attempt to connect to these devices using one or more candidate protocol(s) (according to the embodiments), making it possible, when a connection attempt is successful, to detect at least one protocol used by the equipment.
  • the connection attempts may optionally use additional elements (such as at least one port value (to discover at least one open port on the device concerned) and/or additional parameters consistent with this (or these) candidate protocol(s).
  • the method may comprise, for each discovered device of the first portion, an attempt to connect with a set of candidate protocols defined by configuration (manual or automatic) of the device.
  • the method may include a recording of the address of the discovered device in association with the protocols that enabled the connection, and any additional elements in said description.
  • Such an embodiment may allow not only to create a description, but also to automatically update an existing description. This may involve adding information relating to a newly discovered device or modifying information in the description relating to a device, for example to add information relating to a new protocol accepted by this device (following a software update of the device for example), or to delete the designation of a port that has become inaccessible (defective for example).
  • the method may further comprise an (optional) update of the description obtained by the first device.
  • an automatic update may comprise, for example, an addition of default filtering information, applicable for access requests to a newly discovered device (and recorded in the description), such as a retention of only read access requests, or an addition of filtering information prohibiting the use, regardless of the device concerned, of a protocol that is not very secure, for example) or prohibiting the use of a defective port.
  • An update may also be performed manually by an operator, via a user interface of the first device, in particular to create and/or delete and/or modify filtering information. This may involve, for example, manually completing a descriptive file automatically created by the first device.
  • the obtained description 312 may be identical to the description described in connection with the method 400 implemented in the first device.
  • both descriptions may be obtained by copying from the same removable storage medium, or the second device can receive from the first device the entire description that the first device itself has previously obtained 312 (or vice versa).
  • the description of the second device can then contain certain information not useful to the second device (such as a password, or a public or private key necessary for a connection to the equipment from which the data comes).
  • Such an embodiment can offer advantages in terms of simplicity of processing (for one of the first and second devices) and/or simplicity of configuration, therefore time saving, on the second device side, since it is not necessary to provide a “description” specific to the second device.
  • the descriptions can be different.
  • certain information contained in the description obtained by the first device and relating to the equipment to be protected and/or to communications with this equipment can be omitted in the description obtained by the second device.
  • information contained in the descriptions relating to the formats of the packets to be received or created will be different.
  • the initialization phase 310 may comprise an establishment 314 of the bidirectional communication means with the second device and, optionally, a transmission 316 of at least a portion of the description obtained 310 to the second device.
  • the transmission 316 may in particular comprise the transmission of at least one item of identification information of the equipment such as an address of the equipment on the first portion (for example according to the protocols an IP address, a MAC address, etc.), (also called an addressing identifier on the first portion in the present application).
  • the transmitted descriptive portion may include descriptive information that may help the second device “impersonate” the equipment, vis-à-vis devices in the second portion or external to the communications network.
  • the method may comprise obtaining 320 data, corresponding to a request from a third-party device, received (obtained) from the second device, via the bidirectional communication means.
  • the method may further comprise transcoding, for example deserialization (or structuring) 330 of this data to obtain a structured data packet.
  • the structuring of the data may take into account information present in the description designating a protocol used by the equipment.
  • the method may comprise an examination 340 of the extracted data taking into account at least one filtering rule (called the “first” filtering rule with reference to the “first” device).
  • the at least one “first” filtering rule may for example be obtained 342 from the information present in the description of the first device (and detailed above).
  • the method may thus comprise a filtering 344 of the received data, or alternatively a filtering of the packets formed from the received data, to retain only those (or those) consistent with the at least one “first” filtering rule obtained.
  • filtering can be performed on the extracted data, so as to structure only the data to be kept into packets.
  • performing filtering on packet-structured data allows the packet structure to be used to apply filtering rules.
  • the method comprises a transmission 350 of the packet obtained on the first portion of the network, to a device receiving this packet.
  • the first device can optionally process a response from the equipment, more precisely the first device can receive a message 362 from the equipment and transmit 364 this message (after serialization and/or filtering before or after this possible serialization) to the second device.
  • the first device and the second device can be adapted to communicate according to several protocols with, respectively, at least one equipment to be protected and at least one third-party device.
  • the first device and the second device may communicate with a device to be protected and a third-party device with a single protocol.
  • the network may include multiple protection electronic assemblies, each protecting one or more devices having a single protocol. Such embodiments may allow simpler descriptions.
  • the electronic assembly may be dedicated to a particular protocol and programmed for this protocol only.
  • several second devices may communicate with the first device to respectively transmit requests from third-party devices using different protocols.
  • the same second device can communicate with several “first devices”, this second device being able for example to have several different addresses, each chosen to correspond to that of a piece of equipment protected by one of the first devices and directing the requests received to the appropriate “first” device.
  • the present application provides an electronic assembly constituting, at least in some of its embodiments, a simple and effective solution for requesting data securely from an industrial machine connected to a public network such as the Internet.
  • the configuration of at least one of the first and second devices of the electronic assembly can be easy (in particular when it is automatic) and one or the other of the devices of the electronic assembly can be usable with several different protocols, which can therefore make it possible to offer a solution adaptable to different industrial environments.
  • the solution presented in the present application can find applications in many fields, and in particular in areas that are privileged targets of computer attacks.
  • the solution that is the subject of the present application can help protect industrial machines (to prevent their corruption for example), by preventing access to certain sensitive data of these machines such as data relating to the industrial processes implemented, while making other data (such as production data) available to monitoring and control applications.
  • the electronic protection assembly 160 is implemented to allow secure remote interrogation of an industrial machine (the equipment 140) by a third-party SCADA (Supervisory Control and Data Acquisition) type remote management device from an unsecured portion of the communication network.
  • SCADA Supervisory Control and Data Acquisition
  • Another example of implementation concerns the field of distribution.
  • the solution that is the subject of this application can in fact be used to help protect electronic point-of-sale equipment, by limiting the possibilities of access to data stored on this equipment, such as sales data and/or sensitive information on customers.
  • Yet another example of implementation concerns the field of finance (banking, financial services) and in particular the sensitive financial and personal information handled, which the solution which is the subject of this application can help to protect from attacks (while offering possibilities of access to other data, less sensitive for example).
  • the solution which is the subject of this application may also find applications in the field of health, to protect patients' sensitive medical data while allowing health professionals to access at least some of this data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention concerne un procédé de protection d' un équipement d'un réseau de communication partitionné en une première portion, et une seconde portion interconnectée avec la première portion via un premier dispositif de la première portion et un second dispositif de la seconde portion, le procédé comportant : • une transmission au second dispositif d'une adresse d'un équipement de la première portion du réseau; • un transcodage de données reçues du second dispositif en un paquet de données structuré comportant un identifiant d'adressage de l'équipement destinataire du paquet sur la première portion; • une transmission du paquet à l'équipement destinataire. Elle concerne également notamment un procédé de transmission, mis en œuvre par un second dispositif électronique d'une seconde portion du réseau de communication, ainsi que les dispositifs et ensemble électroniques, produits programme d'ordinateur et supports d'informations correspondants.

Description

DESCRIPTION
Titre de l'invention : Procédés de protection d’un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d’ordinateur et supports d’information correspondants
Domaine technique
La présente application se rapporte au domaine de la sécurisation d’au moins une portion d’un réseau de communication.
Elle concerne notamment un procédé de protection d’au moins un équipement, mis en œuvre par un premier dispositif électronique d’une première portion d’un réseau de communication, et un procédé de transmission de donnée(s), mis en œuvre par un second dispositif électronique d’une seconde portion d’un réseau de communication, ainsi que les dispositifs et ensemble électroniques, produits programme d’ordinateur et supports d’informations correspondants.
1. Etat de la technique
La présente invention est relative à la protection d’au moins un équipement accessible via un réseau de communication. Il peut s’agir par exemple d’un équipement manipulant des données sensibles, ou effectuant des traitements sensibles, et pouvant donc être la cible d’attaque de tiers malveillants, soit pour accéder de façon indue à des données sensibles, soit pour perturber, voire empêcher, certains traitements via la propagation à l’équipement d’un virus informatique.
Cet équipement fait par exemple partie d’un réseau privé d’entreprise ou d’un réseau domestique, interconnecté à un réseau public tel qu’intemet.
Des exemples de données sensibles incluent des données à caractère personnel (données médicales, bancaires etc..), des données industrielles (comme des plans d’objet manufacturés, des données relatives à la production de certaines machines industrielles comme des résultats de mesures, un nombre de pièces produites, etc..) des historiques de commandes reçues par des équipements industrielles, des alertes, etc.
Des tiers malveillants peuvent être par exemple être tentés de mettre hors d’état d’usage l’équipement, pour nuire à une entreprise ou obtenir une rançon. Des solutions de sécurisation de réseaux privés ont été développées pour protéger un équipement ou une pluralité d’équipements appartenant un même réseau privé de telles attaques. On peut citer par exemple des solutions à base de pares-feux (« firewalls » selon la terminologie anglaise) et/ou des systèmes de détection d'intrusion. On peut citer également l’utilisation de réseaux privés virtuels (RPV) (ou VPN pour Virtual Private Network selon la terminologie anglaise) isolant par cryptage, au sein d’un réseau étendu, les échanges entre les équipements du réseau étendu appartenant au réseau privé virtuel, De telles solutions permettent de limiter les communications avec les équipements extérieurs au réseau privé aux communications émises depuis le réseau privé vers ces équipements « extérieurs », et empêchent ainsi les accès depuis l’extérieur du réseau à un équipement à protéger.
Cependant ces solutions, parfois appelés « diodes réseau », sont parfois inappropriées et très contraignantes pour protéger certains équipements électroniques comme des machines industrielles. En effet, de telles solutions permettent seulement les remontées d’informations à l’initiative de l’équipement protégé. Un logiciel s’exécutant sur un appareil électronique extérieur au réseau privé ne peut donc pas interroger un équipement protégé pour obtenir en retour une donnée. De telles solutions limitent fortement, voire empêchent, l’usage de certains protocoles de communication basés sur de telles requêtes et notamment de certains protocoles très répandus dans le domaine industriel (comme, dans le domaine industriel, les protocoles OPC-UA ou ModBus utilisés par de nombreuses machines-outils du marché). Elles ne sont donc pas adaptées à la protection de certains équipements du marché.
La présente demande a pour objet de proposer des améliorations à au moins certains des inconvénients de l’état de la technique.
2. Exposé de l'invention
La présente demande vise à améliorer la situation à l'aide d'un procédé de protection d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant ledit équipement, et au moins une seconde portion interconnectée avec ladite première portion via un premier dispositif de ladite première portion et un second dispositif de ladite seconde portion, ledit procédé comprenant :
• une transmission audit second dispositif d’ au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit paquet sur ladite première portion ;
• une transmission dudit paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectué de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
Dans certains modes de réalisation, ladite règle de filtrage tient compte d’au moins un élément contenu dans ledit paquet parmi les éléments suivants :
• une désignation d’un appareil émetteur dudit paquet ;
• une information d’adressage relative à au moins une donnée dudit équipement ;
• un type d’accès à effectuer sur ladite donnée ;
• une désignation d’un protocole de communication utilisé par ledit paque ;
• une combinaison d’au moins deux desdits éléments ci-avant.
Dans certains modes de réalisation, ledit filtrage est effectué avant ledit transcodage. Dans certains modes de réalisation, ledit filtrage est effectué après ledit transcodage.
Dans certains modes de réalisation, lesdits premiers et second dispositifs communiquent entre eux via au moins deux chemins de communication, un premier chemin de communication unidirectionnel permettant au premier dispositif de recevoir des données dudit second dispositif, et un second chemin de communication, unidirectionnel, permettant au premier dispositif d’envoyer audit second dispositif une réponse audit paquet transmis audit équipement destinataire.
Dans certains modes de réalisation, ledit transcodage comprend une désérialisation desdites données.
La présente demande concerne également un procédé de transmission d’au moins une donnée destinée à au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, et au moins une seconde portion interconnectée avec ladite première portion via un premier dispositif de ladite première portion et un second dispositif de ladite seconde portion ; ledit procédé comprenant :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit paquet ; et
• une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
Dans certains modes de réalisation, ladite règle de filtrage tient compte d’au moins un élément contenu dans ledit paquet parmi les éléments suivants :
• une désignation d’un appareil émetteur dudit paquet ;
• une information d’adressage relative à au moins une donnée dudit équipement;
• un type d’accès à effectuer sur ladite donnée ;
• une désignation d’un protocole de communication utilisé par ledit paquet;
• une combinaison d’au moins deux desdits éléments ci-avant.
Dans certains modes de réalisation, le procédé de transmission comprend une obtention d’un descriptif relatif audit équipement de ladite première portion dudit réseau de communication comportant ledit au moins un identifiant d’adressage dudit au moins un équipement sur ladite première portion dudit réseau de communication.
Dans certains modes de réalisation, ledit filtrage est effectué sur les données sérialisées Dans certains modes de réalisation, ledit filtrage est effectué avant ladite sérialisation. Dans certains modes de réalisation, lesdits premiers et second dispositifs communiquent entre eux via au moins deux chemins de communication unidirectionnel, un premier chemin de communication unidirectionnel permettant au second dispositif de transmettre des données audit premier dispositif, et un second chemin de communication, unidirectionnel, permettant au second dispositif de recevoir du premier dispositif une réponse auxdites données transmises audit premier dispositif.
Les caractéristiques, présentées isolément dans la présente demande en lien avec certains modes de réalisation de l’un des procédés de la présente demande peuvent être combinées entre elles selon d’autres modes de réalisation de ce procédé.
Selon un autre aspect, la présente demande concerne également un dispositif électronique adapté à mettre en œuvre au moins un des procédés de la présente demande dans l’un quelconque de ses modes de réalisation.
La présente demande concerne ainsi un premier dispositif électronique d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant au moins un équipement à protéger et ledit premier dispositif, et au moins une seconde portion interconnectée avec ladite première portion via le premier dispositif et un second dispositif de ladite seconde portion, ledit premier dispositif comprenant un moins un processeur configuré pour :
• une transmission audit second dispositif d’au moins un identifiant d’adressage duit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit paquet sur ladite première portion ;
• une transmission dudit paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage.
La présente demande concerne aussi un second dispositif électronique d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant au moins un équipement, et au moins une seconde portion comprenant ledit second dispositif, et interconnectée avec ladite première portion via un premier dispositif de ladite première portion et le second dispositif; ledit second dispositif comprenant un moins un processeur configuré pour :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit paquet et ; • une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de fdtrage relative au contenu dudit paquet.
Selon un autre aspect, la présente demande concerne également un ensemble électronique de protection d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant ledit équipement, et au moins une seconde portion interconnectée avec ladite première portion via au moins un premier dispositif dudit ensemble électronique, ledit premier dispositif appartenant à ladite première portion, et au moins un second dispositif dudit ensemble électronique, ledit second dispositif appartenant à ladite seconde portion, ledit au moins un premier dispositif électronique comprenant un moins un processeur configuré pour :
• une transmission audit second dispositif d’ au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un premier paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit premier paquet sur ladite première portion ;
• une transmission dudit premier paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une première règle de filtrage relative au contenu dudit premier paquet. ledit au moins un second dispositif électronique comprenant un moins un processeur configuré pour :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un second paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit second paquet et ;
• une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une seconde règle de filtrage relative au contenu dudit second paquet.
Selon un autre aspect, la présente demande concerne également un système comprenant au moins un équipement à protéger et au moins un ensemble électronique de protection dudit au moins un équipement, dans un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion comprenant ledit équipement, et au moins une seconde portion interconnectée avec ladite première portion via au moins un premier dispositif dudit ensemble électronique, ledit premier dispositif appartenant à ladite première portion et au moins un second dispositif dudit ensemble électronique, ledit second dispositif appartenant à ladite seconde portion,: ledit au moins un premier dispositif électronique comprenant un moins un processeur configuré pour :
• une transmission audit second dispositif d’ au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un premier paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit premier paquet sur ladite première portion ;
• une transmission dudit premier paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une première règle de filtrage relative au contenu dudit premier paquet ledit au moins un second dispositif électronique comprenant un moins un processeur configuré pour :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit second paquet et ;
• une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une seconde règle de filtrage relative au contenu dudit second paquet.
La présente demande concerne aussi un programme d'ordinateur comprenant des instructions pour la mise en œuvre des divers modes de réalisation de l’un au moins des procédés ci-dessus, lorsque ledit programme est exécuté par un processeur, et un support d’informations lisible par un dispositif électronique et sur lequel est enregistré le programme d’ordinateur.
La présente demande concerne ainsi un programme d'ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme est exécuté par un processeur d’un premier dispositif électronique, d’un procédé de protection d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant ledit équipement et ledit premier dispositif, et au moins une seconde portion interconnectée avec ladite première portion via le premier dispositif et un second dispositif de ladite seconde portion, ledit procédé comprenant :
• une transmission audit second dispositif d’ au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit paquet sur ladite première portion ;
• une transmission dudit paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
Par ailleurs, la présente demande concerne un programme d'ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme est exécuté par un processeur d’un second dispositif électronique, d’un procédé de transmission d’au moins une donnée en provenance d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, et au moins une seconde portion, comprenant ledit second dispositif et interconnectée avec ladite première portion via un premier dispositif de ladite première portion et le second dispositif; ledit procédé comprenant :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit paquet et ;
• une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
La présente demande concerne aussi un support d’informations lisible par un processeur d’un premier dispositif électronique et sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme est exécuté par le processeur, d’un procédé de protection d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant ledit équipement et ledit premier dispositif, et au moins une seconde portion interconnectée avec ladite première portion via le premier dispositif de ladite première portion et un second dispositif de ladite seconde portion, ledit procédé comprenant :
• une transmission audit second dispositif d’ au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ; • un transcodage de données reçues dudit second dispositif en au moins un paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit paquet sur ladite première portion ;
• une transmission dudit paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
La présente demande concerne par ailleurs un support d’informations lisible par un processeur d’un second dispositif électronique et sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour la mise en œuvre, lorsque le programme est exécuté par le processeur, d’un procédé de transmission d’au moins une donnée en provenance d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, et au moins une seconde portion comprenant ledit second dispositif et interconnectée avec ladite première portion via un premier dispositif de ladite première portion et le second dispositif de ladite seconde portion, ledit procédé comprenant :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion ;
• Sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit paquet et ;
• Une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
Les programmes mentionnés ci-dessus peuvent utiliser n’importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Les supports d'informations (ou d’enregistrement) mentionnés dans la présente demande peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support d’informations peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique.
Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc.
D'autre part, un support d'informations peut être un support d'informations transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, un support d'informations peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution de l’un quelconque des modes de réalisation d’au moins un des procédés objets de la présente demande de brevet.
De façon générale, par obtention d’un élément, on entend dans la présente demande par exemple une réception de cet élément depuis un réseau de communication, une acquisition de cet élément (via par exemple des éléments d’interface utilisateur , des capteurs, etc.), une création de cet élément par divers moyens de traitement tels que par copie, encodage, décodage, transformation etc et/ou un accès de cet élément depuis un support de stockage local ou distant accessible à au moins un appareil (comme le premier et/ou le second dispositif de l’ensemble) mettant en œuvre, au moins partiellement, cette obtention.
3. Brève description des dessins
D’autres caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description suivante de modes de réalisation particuliers, donnés à titre de simples exemples illustratifs et non limitatifs, et des dessins annexés, parmi lesquels :
La [Fig 1] présente une vue simplifiée d’un système, cité à titre d’exemple, dans lequel au moins certains modes de réalisation des procédés de la présente demande peuvent être implémentés,
La [Fig 2] présente une vue simplifiée d’un dispositif adapté à mettre en œuvre au moins certains modes de réalisation d’au moins un des procédés de la présente demande,
La [Fig 3] présente un aperçu du procédé de protection de la présente demande, dans certains de ses modes de réalisation
La [Fig 4] présente un aperçu du procédé de transmission de données de la présente demande, dans certains de ses modes de réalisation
La [Fig 5] une vue simplifiée d’un système 500, cité à titre d’exemple, dans lequel au moins certains modes de réalisation du procédé de la présente demande peuvent être implémentés
4. Description des modes de réalisation
La présente demande vise à fournir une solution simple et efficace permettant à la fois de protéger un ou plusieurs équipements d’un réseau de communication contre des attaques informatiques, notamment externes à ce réseau de communication, tout en permettant à des appareils électroniques, situés par exemple dans une portion non protégée du réseau de communication ou à l’extérieur du réseau de communication, d’accéder (en lecture et en écriture) et de manière sécurisée, à au moins certaines données de ces équipements à protéger. Pour cela, la demande propose d’équiper le réseau de communication d’au moins deux dispositifs, ceux-ci réalisant une partition du réseau de communication en au moins deux portions.
Par partition, on entend ici un partage du réseau de communication en une pluralité de portions comprenant chacune au moins un appareil électronique, disjointes deux à deux (hormis certains éléments d’interconnexion entre les au moins deux dispositifs comme précisé ci-après) et dont la réunion reconstitue le réseau de communication.
Au moins une première de ces portions est une portion (dite « protégée ») inaccessible directement depuis un appareil électronique situé à l’extérieur de cette première portion, cette première portion comprenant au moins un équipement à protéger. Au moins une seconde portion dite « exposée » (ie externe à cette première portion protégée) est accessible, directement et/ou via des équipements d’interconnexion, à des appareils extérieurs à la première portion (comme des appareils situés dans une autre « première » portion protégée que la première portion « protégée » où se situe l’équipement, et/ou des appareils de la seconde portion, et/ou des appareils extérieurs au réseau de communication).
Le ou les équipement(s) à protéger peuvent par exemple être des machines industrielles.
Selon la présente demande, les demandes d’accès à un équipement en provenance d’un appareil extérieur à la première portion sont fdtrées par le premier et/ou le second dispositif, en application de règles de fdtrage, de façon à ne conserver que les demandes d’accès jugées sûres. Par exemple, seules peuvent être conservées les demandes concernant des équipements non critiques de la première portion. Selon un autre exemple, seules peuvent être conservées les demandes de lecture de zone(s) mémoire d’un équipement de la première portion. Selon encore un autre exemple, seules peuvent être conservées les demandes d’écriture relatives à des zones mémoires « non critiques » d’un équipement de la première portion émises par certains appareils (comme un appareil d’un administrateur du réseau).
Des règles de fdtrage différentes peuvent être appliquées par le premier et/ou le second dispositif. Par exemple, dans des topologies réseau où le premier dispositif est susceptible de recevoir des demandes de plusieurs seconds dispositifs interconnectant chacun la première portion (protégée) avec différentes secondes portions, exposées, la ou les règle(s) de fdtrage appliquée(s) par le premier dispositif peut tenir compte du second dispositif de qui les demandes ont été reçues. En particulier, dans certains modes de réalisation, le premier dispositif peut recevoir des demandes provenant d’un « second dispositif » ne mettant en œuvre aucun fdtrage.
Il peut s’agir aussi de règles identiques ou similaires. L’application d’une même règle au niveau du second dispositif puis du premier dispositif peut permettre, au niveau du second dispositif de supprimer plus tôt , dans la chaîne de traitement, certains paquets (conformément aux règles de fdtrage), évitant ainsi des traitements inutiles. Au niveau du premier dispositif, elle peut permettre de se prémunir contre une éventuelle corruption du second dispositif (situé dans une portion « exposée » du réseau) et notamment de ses règles de fdtrage.
Dans certains modes de réalisation, le premier dispositif et le second dispositif communiquent uniquement via des moyens de communication unidirectionnels. Ainsi, les demandes d’appareil tiers reçues par le second dispositif peuvent être transmises par le second dispositif (depuis la portion exposée) au premier dispositif via un premier chemin de communication unidirectionnel. N’autoriser que des communications unidirectionnelles peut aider à un meilleur contrôle des échanges entre un appareil tiers et un équipement (via l’ensemble électronique) et donc à une meilleure prévention des attaques provenant d’appareils tiers.
On note que des messages, correspondant par exemple des messages « UDP » de l’équipement ou à des réponses éventuelles à des demandes, peuvent être transmis via un second chemin de communication unidirectionnel de la portion protégée vers la portion exposée. Des exemples de réponse incluent, lorsqu’il s’agit d’une demande de lecture, des valeurs de données de l’équipement destinataire de la demande et/ou dans le cas d’une demande d’écriture, une confirmation de réception de la demande ou une confirmation d’écriture. Dans certains modes de réalisation, comme illustré 1, les messages (comme des messages « UDP » ou des réponses) sont transmis du premier dispositif vers le second dispositif (via le second chemin de communication). En variante, elles peuvent être transmises de façon transparente au premier et second dispositif (via un second chemin de communication ne transitant pas par les premier et second dispositifs). Dans certaines modes de réalisations, où les messages transitent via le premier et le second dispositif, un filtrage des messages peut éventuellement être mis en œuvre par le premier dispositif et/ou le second dispositif (de façon à s’assurer par exemple qu’aucune donnée sensible ne puisse être communiquer à un appareil extérieur de la première portion). Ce filtrage peut s’appuyer sur des règles identiques ou similaires à celles utilisées lors du premier chemin de communication (par exemple elles peuvent porter sur les mêmes registres) ou sur des règles différentes.
Ainsi, selon la présente demande, il est possible de recevoir des requêtes d’un appareil tiers souhaitant obtenir des données en provenance de l’équipement à protéger, et de lui fournir en retour ces données, en toute sécurité pour l’équipement à protéger.
La présente demande peut en particulier aider à la fois à la protection d’une portion du réseau, tout en permettant le pilotage d’au moins certains équipements de cette première portion depuis l’extérieur du réseau.
L’ensemble logique comprenant les au moins un premier et second dispositifs et les moyens de communication (unidirectionnels par exemple) entre ces au moins deux dispositifs est également appelé dans la présente demande de brevet « ensemble électronique », « ensemble électronique de protection » ou « Diode intelligente » (ou Smart Diode selon la terminologie anglaise). Selon les modes de réalisation, il peut s’agir d’un ensemble virtuel, encapsulant virtuellement les premier et second dispositifs et des premiers moyens de communication unidirectionnels dans un premier sens de communication (du second dispositif vers le premier dispositif), et optionnellement des seconds moyens de communication unidirectionnels dans un second sens de communication, opposé au premier sens) ou d’un ensemble physique (comme un élément hardware), ayant par exemple un boîtier dans lequel sont installés les au moins un premier et second dispositifs et leurs moyens de communication mutuelle. Cet ensemble peut comprendre selon les modes de réalisation, et la topologie du réseau (par exemple le nombre de portions à protéger) un nombre variable de « premier » dispositif et de « second » dispositif.
Un tel ensemble électronique offre l’avantage d’être facile à installer dans un réseau de communication, par exemple en « intermédiaire » entre un équipement (particulier) à protéger et le reste du réseau de communication., ou de façon à limiter les accès à cet équipement à protéger aux seuls accès effectués par le premier dispositif ou simplement pour limiter les accès à l’équipement à protéger aux appareils situés dans une portion (protégée) du réseau de communication, à laquelle appartient cet équipement. Un tel ensemble peut également aider à proposer un produit « clé en main » à un administrateur du réseau de communication.
Un tel ensemble électronique peut ainsi aider, au moins dans certains modes de réalisation, à sécuriser un équipement à protéger, sans nécessiter de modification et/ou de remplacement de cet équipement.
Par souci de clarté, on utilise dans la présente demande le terme « équipement électronique », ou « équipement », pour se référer à des équipements susceptibles d’être protégés par l’ensemble électronique. On utilisera le terme « dispositif électronique », ou « dispositif », pour se référer au premier ou au second dispositif électronique de l’ensemble électronique 160 introduits ci -avant. Ue terme « appareil électronique » ou « appareil » est relatif à un appareil électronique quelconque (il peut s’agir parfois d’un équipement à protéger ou d’un dispositif de l’ensemble électronique).
On décrit à présent, en lien avec la figure 1, de façon plus détaillée la présente demande.
Ua figure 1 représente un système 100 dans lequel certains modes de réalisation de l’invention peuvent être mis en œuvre. Ue système 100 comporte un ou plusieurs appareils électroniques, certains au moins pouvant communiquer entre eux via un ou plusieurs réseaux de communication 110, 120, 130 éventuellement partitionnés et/ou interconnectés. Dans l’exemple illustré, le système comprend ainsi un réseau privé partitionné en deux portions 110, 120. U’une des portions 120 est en outre interconnectée avec un autre réseau 130 (comme un réseau étendu et/ou public, permettant ainsi des communications, entre des appareils électroniques 150, 164, 170 de cette portion 120 et des appareils électroniques 180 n’appartenant pas au réseau privé.
Ue réseau privé peut par exemple être un réseau privé d’entreprise ou domestique, par exemple un réseau privé local (ou UAN pour Uocal Area Network, selon la terminologie anglaise). U’autre réseau 130 peut par exemple être un autre réseau local, ou un réseau « étendu » de couverture géographique importante, comme un réseau métropolitain (ou MAN, pour Metropolitan Area Network, selon la terminologie anglaise) ou un réseau dont la zone géographique couvre au moins une région d’un pays, ou un pays (ou WAN, pour Wide Area Network, selon la terminologie anglaise). Il peut s’agir par exemple d’un réseau WAN de type internet, ou cellulaire, GSM - Global System for Mobile Communications, UMTS - Universal Mobile Telecommunications System, Wifi - Wireless, etc.). Comme illustré en figure 1, le système 100 peut également comprendre une portion 110 non interconnectée du réseau privé, dite protégée, comportant un ou plusieurs équipements électroniques 140. Il peut s’agir d’équipements comme un terminal (tel qu’un ordinateur portable, un smartphone, une tablette ou un objet connecté), un objet connecté (comme un robot, un dispositif mobile guidé automatiquement et/ou à distance, un compteur d’énergie, une machine- outil dans le cas d’un réseau privé industriel, et/ou un équipement électroménager dans le cas d’un réseau domestique), un serveur, par exemple un serveur d’applications, et/ou un dispositif de stockage.
Les équipements de la portion 100 non interconnectée peuvent utiliser des protocoles de communication différents selon les modes de réalisation, comme OPCUA (pour OPen Connectivity - Unified Architecture), MQTT (pour Message Queuing Telemetry Transport en anglais), ModBus TCP, Siemens S7, MTConnect, LabView. Ces protocoles peuvent différer selon les équipements de la portion non interconnectée.
Selon la présente demande, un appareil n’appartenant pas à une première portion protégée (comme un appareil n’appartenant pas au réseau de communication, ou appartenant à la seconde portion « exposée » du réseau de communication) émet un paquet de données (une demande de lecture ou d’écriture de/dans une zone mémoire par exemple) destiné à un équipement de la première portion. Le second dispositif intercepte ce paquet de données, décide optionnellement de conserver ou non ce paquet de données en fonction d’une règle de filtrage (appelée par la suite « seconde » règle de filtrage en référence au « second » dispositif ) et le cas échéant (si le paquet est conforme à cette seconde règle de filtrage), transcode ce paquet en données sérialisées et les transmet au premier dispositif, situé dans la portion protégée, où ces données sont à nouveau filtrées par le premier dispositif avant d’être transcodées sous forme d’au moins un nouveau paquet de données (ayant, selon les modes de réalisation, une structure identique ou différente de celle du paquet émis par l’appareil tiers). Ce ou ces nouveau(x) paquets est/sont ensuite transmis à un équipement destinataire de la première portion. La réponse de l’équipement tiers peut ensuite être transmise via le premier et le second dispositif à l’appareil tiers ayant émis le paquet de données (par exemple en utilisant un mécanisme de sérialisation/désérialisation de données avec et/ou sans filtrage).
Ainsi, selon la présente demande, il est possible de recevoir des requêtes d’un appareil tiers souhaitant par exemple accéder, en lecture et/ou en écriture, à des données de l’équipement à protéger, et de lui fournir en retour ces données, en toute sécurité pour l’équipement à protéger. Le système comprend au moins un ensemble électronique 160 tel qu’introduit ci -avant visant à protéger au moins certains équipements électroniques 140 du réseau privé 110. Le premier dispositif 162 de l’ensemble électronique 160 est situé dans une portion 110 dite « à protéger » du réseau privé comportant l’équipement 140 à protéger. Le premier dispositif 162 communique avec le second dispositif 164 (situé dans la portion interconnectée 120) via des moyens 1622, 1624, 1642, 1644 de communication unidirectionnels, comportant par exemple des premiers moyens 1622, 1642 de communication unidirectionnels dans un premier sens de communication, et des seconds moyens 1624, 1644 de communication unidirectionnels dans un second sens de communication, opposé au premier sens. De tels moyens de communication unidirectionnels peuvent varier selon les modes de réalisation (et notamment selon les capacités hardware du premier et/ou du second dispositif). Dans certains modes de réalisation, les moyens de communication unidirectionnels peuvent comprendre au moins un optocoupleur, et/ou encore des moyens de communication bidirectionnels ayant été limités à un seul sens de transmission, comme un câble Ethernet une liaison série et/ou ou une fibre optique et/ou au moins un isolateur digital (Digital isolator selon la terminologie anglaise) à isolation galvanique, capacitive, inductive et/ou optique.
Dans certains modes de réalisation, les premiers et second moyens de communication peuvent être différents. Par exemple, le second dispositif peut émettre des données vers le premier dispositif via une liaison Ethernet limitée à un sens de communication et le premier dispositif peut émettre des données vers le second dispositif via un optocoupleur. Dans d’autres modes de réalisation, les premiers et seconds moyens de communication peuvent être similaires. Par exemple, chacun des premiers et seconds moyens de communication unidirectionnels peut comprendre un optocoupleur 166.
La présence d’optocoupleur(s) permet de séparer les deux dispositifs de manière physique (aucun flux électrique n’est échangé, simplement de la lumière), et donc de renforcer la sécurité des échanges. L’isolation électrique des dispositifs entre eux peut aider par exemple à prévenir des attaques par injection de courant ou de signal électrique sur la seconde portion dudit réseau.
Le système peut également comprendre des éléments 164, 170 de gestion et/ou d’interconnexion réseau. Notamment (et même si non illustré en figure 1), dans certains modes de réalisation, l’ensemble électronique 160 peut comprendre au moins une passerelle d’interconnexion avec un autre réseau. Dans certains modes de réalisation, cette passerelle peut par exemple être connectée au deuxième dispositif de l’ensemble électronique (et donc permettre une interconnexion entre la portion « exposée » du réseau privé et l’autre réseau). Dans d’autres modes de réalisation, le deuxième dispositif peut jouer lui -même un rôle de passerelle d’interconnexion entre la portion « exposée » du réseau privé et l’autre réseau.
Le réseau privé peut par exemple utiliser des liaisons filaires comme au moins une liaison série et/ou une liaison Ethernet, ou des moyens de communication sans fil. Le réseau peut implémenter un protocole de communication comme ModBus Série, ou CAN (acronyme anglophone pour « Controller Area Network ») dans le cas d’une liaison série, ou comme ModBus TCP, OPC-UA, MQTT dans le cas d’une liaison Ethernet.
La figure 2 illustre une structure simplifiée d’un appareil électronique 200 du système 100, par exemple le premier dispositif 162, le premier dispositif 162, et/ou l’équipement à protéger 140 de la figure 1. Selon les modes de réalisation, il peut s’agir d’un serveur, et/ou d’un terminal, ou encore d’un micro -ordinateur avec une interface homme-machine simple comme un RaspberryPi ©, un OrangePi © ou encore un NanoPl NEO.
L’appareil 200 comprend notamment au moins une mémoire M 210. L’appareil 200 peut notamment comprendre une mémoire tampon, une mémoire volatile, par exemple de type RAM (pour « Random Access Memory » selon la terminologie anglaise), et/ou une mémoire non volatile (par exemple de type ROM (pour « Read Only Memory » selon la terminologie anglaise). L’appareil 200 peut également comprendre une unité de traitement UT 220, équipée par exemple d'au moins un processeur P 222, et pilotée par un programme d'ordinateur PG 212 stocké en mémoire M 210. A l'initialisation, les instructions de code du programme d'ordinateur PG sont par exemple chargées dans une mémoire RAM avant d'être exécutées par le processeur P. Dans le cas où l’appareil est le premier dispositif 162 et/ou du second dispositif 164 de l’ensemble électronique, ledit au moins un processeur P 222 de l'unité de traitement UT 220 peut notamment mettre en œuvre, individuellement ou collectivement, l'un quelconque de modes de réalisation d’au moins un des procédés de la présente demande (décrits notamment en relation avec les figures 3 et 4), selon les instructions du programme d'ordinateur PG.
L’appareil peut également comporter, ou être couplé à, au moins un module d’entrée/ sortie I/O 230. L’au moins un module d’entrée/ sortie I/O 230 de l’appareil peut comprendre, dans certains modes de réalisation, au moins un module d’interfaçage avec un utilisateur de l’appareil (aussi appelé plus simplement dans cette demande « interface utilisateur »). Par interface utilisateur de l’appareil, on entend par exemple une interface intégrée à l’appareil 200, ou une partie d’un appareil tiers avec lequel il est couplé par des moyens de communication filaires ou sans fils. Par exemple, il peut s’agir d’un écran secondaire de l’appareil.
Une interface utilisateur peut notamment être une interface utilisateur, dite «de sortie », adaptée à un rendu (ou au contrôle d’un rendu) d’un élément de sortie d‘une application informatique utilisée par l’appareil 200, par exemple une application s’exécutant au moins partiellement sur l’appareil 200 ou une application « en ligne » s’exécutant au moins partiellement à distance, par exemple sur un serveur. Des exemples d’interface utilisateur de sortie de l’appareil incluent un ou plusieurs écrans, notamment au moins un écran graphique (tactile par exemple), un ou plusieurs haut-parleurs, un objet connecté.
Par rendu, on entend ici une restitution (ou « output » selon la terminologie anglaise) sur au moins une interface utilisateur, sous une forme quelconque, par exemple comprenant des composantes textuelle, audio et/ou vidéo, ou une combinaison de telles composantes.
Par ailleurs, une interface utilisateur peut être une interface utilisateur, dite «d’entrée», adaptée à une acquisition d’une commande d’un utilisateur de l’appareil 200. Il peut s’agir notamment d’une action à effectuer en lien avec un item restitué, et/ou d’une commande à transmettre à une application informatique utilisée par l’appareil 200, par exemple une application s’exécutant au moins partiellement sur l’appareil 200 ou une application « en ligne » s’exécutant au moins partiellement à distance, par exemple sur un serveur. Des exemples d’interface utilisateur d’entrée incluent un capteur, un moyen d’acquisition audio et/ou vidéo (microphone, caméra (webcam) par exemple), un clavier, une souris.
L’appareil peut également comporter, ou être couplé à, au moins un module d’entrée/ sortie I/O 230, tel qu’un module de communication, permettant à l’appareil 200 de communiquer avec au moins un autre appareil du système 100, via des interfaces de communication filaires ou sans fds. Par exemple, il peut s’agir d’au moins une interface de type Ethernet, et/ou de type Wifi, Bluetooth.
Dans le cas où l’appareil est le premier dispositif 162 ou le second dispositif 164 de l’ensemble électronique, les moyens de communication 1622, 1622, 1642, 1644 comportent par exemple des premiers moyens de communication unidirectionnels 1622, 1642 dans un premier sens de communication, et des seconds moyens de communication unidirectionnels 1624, 1644 dans un second sens de communication, opposé au premier sens, comme au moins une interface de type Ethernet, ou au moins une interface série avec un optocoupleur de l’ensemble électronique 160. Dans l'exemple de la figure 1, l’ optocoupleur peut être connecté directement à l'interface série. Par exemple, le port de transmission du premier dispositif (portion protégée) peut être connecté à une broche de l'optocoupleur et le port de réception du second dispositif (portion exposée) peut être connecté à une autre broche de l’optocoupleur. Chaque côté de l'optocoupleur peut être alimenté en tension par le premier et le second dispositif respectivement (par exemple avec une tension de 3.3V).
Dans certains modes de réalisation, lorsque l’appareil 200 appartient à une première portion à protéger, les moyens de communication de l’appareil (hormis éventuellement les moyens de communication unidirectionnelle ci-dessus lorsque l’appareil est le premier dispositif) peuvent être uniquement des moyens de communication fdaires, de façon à limiter physiquement les possibilités d’accès (directement ou via cet appareil) à un équipement à protéger situé dans la même portion à protéger du réseau (et donc les possibilités d’attaques de tiers) . Ainsi, au moins l’un des premier et second dispositifs 162, 164 peut être un micro-ordinateur de type « NanoPi NEO » ©, équipé uniquement d'un port Ethernet (et pas de Wifi).
Ledit au moins un microprocesseur du premier dispositif 162 peut notamment être adapté pour :
• une transmission audit second dispositif d’ au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit paquet sur ladite première portion ;
• une transmission dudit paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de fdtrage relative au contenu dudit paquet.
Ledit au moins un microprocesseur du second dispositif 164 peut notamment être adapté pour :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit paquet et ;
• une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
Certains des modules d‘entrée -sorties ci-dessus sont optionnels et peuvent donc être absents de l’équipement à protéger, du premier dispositif et/ou du second dispositif dans certains modes de réalisation.
L’ensemble électronique introduit ci-dessus peut comprendre, dans certains modes de réalisation, un boîtier physique dans lequel sont logés le premier et le second dispositif et les moyens de communication bidirectionnels entre le premier dispositif et le second dispositif. Le boîtier peut par exemple limiter ou empêcher les accès physiques aux premier et second dispositifs et à leurs moyens de communication mutuelle. Il peut notamment s’agir d’un boîtier fermé par une bande de garantie non repositionnable, ou d’un boîtier scellé, de façon à rendre visible toute ouverture du boîtier, du fait de la détérioration d’un scellé ou de la bande de garantie, ou de rendre son ouverture difficile. Le boîtier peut par exemple laisser un accès physique à au moins certaines interfaces de communication du premier et/ou du second dispositif (autres que les moyens de communication mutuelle entre ces deux dispositifs par exemple) et/ou comporter des interfaces de communication reliées à au moins certaine(s) des interface(s) de communication du premier et du second dispositif.
Dans certains modes de réalisation, le boîtier peut ne donner accès qu’à certaines interfaces de communication filaires du premier dispositif. Par exemple, il peut s’agir de « forcer » ainsi l’usage de certaines interfaces de communication entre l’équipement et le premier dispositif offrant par exemple des avantages en termes de sécurité (par exemple du fait du protocole que mettent enjeu de tels interfaces) ou pour privilégier l’usage d’interfaces « filaires ». Dans certains modes de réalisation, le boîtier peut laisser libre l’accès à plusieurs interfaces de communication des premier et second dispositifs, de façon à proposer un ensemble adapté à différents environnements réseaux.
Dans certains modes de réalisation, par exemple lorsque l’ensemble électronique introduit ci- dessus n’empêche pas l’accès à certaines interfaces du premier dispositif, certaines de ces interfaces peuvent être désactivées de façon logicielle (par exemple ne fournir aucun service), de façon à ce qu’un équipement tiers ne puisse pas accéder en lecture et/ou en écriture (via une connexion SHH dans le cas d’une liaison Ethernet par exemple) au descriptif du premier dispositif et à des données de l’équipement mémorisées par le premier dispositif.
Par le terme « module » ou le terme « composant » ou « élément » du dispositif, on entend ici un élément matériel, notamment câblé, ou un élément logiciel, ou une combinaison d’au moins un élément matériel et d’au moins un élément logiciel. Le procédé selon l’invention peut donc être mis en œuvre de diverses manières, notamment sous forme câblée et/ou sous forme logicielle.
La figure 3 illustre certains modes de réalisation du procédé 300 de protection de la présente demande (mis en œuvre par exemple par un premier dispositif d’un ensemble électronique selon l’invention) et la figure 4 illustre certains modes de réalisation du procédé 400 de fourniture de données de la présente demande (mis en œuvre par exemple par un second dispositif d’un ensemble électronique selon l’invention). On décrit à présent le procédé 400 (avant le procédé 300) pour respecter un ordre chronologique de traitement d’une demande (comme d’accès en lecture/écriture à un équipement) reçue d’un appareil tiers, et faciliter ainsi la lecture de la présente demande de brevet.
Le procédé 400 peut par exemple être mis en œuvre par un second dispositif situé dans une portion d’un réseau de communication totalement distincte d’une portion protégée de ce réseau, comme le second dispositif 164 de l’ensemble électronique 160 du système 100.
Selon les modes de réalisation, le procédé peut être mise en œuvre automatiquement au démarrage du second dispositif (via un script exécuté au démarrage (« boot ») du dispositif) ou plus tard, par exemple suite au lancement, manuel ou automatique (via une tâche de fond par exemple) d’un exécutable implémentant au moins un mode de réalisation du procédé 400. Le procédé peut notamment comprendre comme illustré en figure 4, une phase dite d’initialisation 410 (lors d’un démarrage du second dispositif par exemple ou ultérieurement, sur réception d’une commande utilisateur par exemple). Cette phase d’initialisation 410 comprend une mise en place 412 (initialisation et/ou établissement) de communications (par exemple unidirectionnelles) du second dispositif vers le premier dispositif, et optionnellement de communications unidirectionnelles du premier dispositif vers le second dispositif.
Cette phase d’initialisation 410 comprend aussi une obtention 414 d’un descriptif, pouvant prendre la forme d’un ou plusieurs fichiers au format YAML, XML ou JSON par exemple. Ce descriptif peut notamment comprendre des informations relatives aux demandes que va recevoir le second dispositif (format des paquets à recevoir par exemple) , et/ou des informations relatives à des règles de filtrage que doit appliquer le second dispositif, et/ou des informations relatives à un équipement à qui peut être destiné un paquet qui sera reçu par le second dispositif (comme un identifiant de cet équipement, une désignation d’au moins un protocole qu’il peut utiliser, etc.. ), des informations relatives aux données à transmettre au premier dispositif (protocole à utiliser, format etc..). Dans certains modes de réalisation, le descriptif peut aussi comprendre des informations nécessaires à l’établissement d’une communication unidirectionnelle entre le second dispositif et le premier dispositif et vice-versa (comme une adresse du premier dispositif sur le réseau de communication, un format de données et/ou un protocole à utiliser pour communiquer avec le premier dispositif etc..).
Dans d’autres modes de réalisation, où le descriptif est par exemple au moins partiellement reçu du premier dispositif via les moyens de communication mutuelle, les informations nécessaires à l’établissement d’une communication unidirectionnelle entre le second dispositif et le premier dispositif peuvent être obtenues par le second dispositif (via des données de paramétrage localement accessibles au second dispositif ou distante par exemple) préalablement à la mise en place 412 des moyens de communication bidirectionnelle et à l’obtention 414 du descriptif. Lorsque le descriptif est reçu par le second dispositif, l’obtention du descriptif peut comprendre une désérialisation des données (correspondant au descriptif) reçues (si le contenu du descriptif a été sérialisé avant sa transmission au second dispositif).
Le format de réception du descriptif peut différer selon les modes de réalisation. Par exemple il, peut s’agir d’un format XML ou JSON. Le pseudo-code ci-dessous illustre à titre d’exemple la transmission du descriptif de façon sérialisée dans le cas du protocole JSON : {‘m ’ : ’description {JSON description}} où dans cet exemple
• m annonce le type des données transmises (ici annonce de données correspondant à un descriptif)
• description est un libellé textuel annonçant la transmission d’un descriptif {JSON description} en format JSON.
Comme expliqué plus haut, dans certains modes de réalisation, le descriptif peut être reçu du premier dispositif. Dans d’autres modes de réalisation, le descriptif peut être obtenu par accès à une zone de stockage accessible au second dispositif, comme une zone de stockage locale au second dispositif ou accessible depuis la seconde portion du réseau ou encore une zone de stockage amovible (telle une clé USB) couplée au second dispositif.
Concernant plus précisément les informations relatives aux paquets à recevoir, le descriptif obtenu 414 peut notamment comprendre des informations décrivant au moins un protocole (comme Ethernet) à utiliser pour recevoir ces paquets, une taille des paquets, un format (ou structure) des paquets, un débit de réception, etc. . .
Des exemples de protocoles incluent des protocoles hiérarchisés, utilisant des structures de données standardisées, comme les protocoles Open Platform Communications Unified Architecture (OPC-UA) et ModBus, ou des protocoles non hiérarchisés comme MQTT et Direct UDP (pour Direct Datagram Protocol en anglais) .
Concernant les informations relatives à au moins une règle de filtrage que doit appliquer le second dispositif, elles peuvent comprendre par exemple : une désignation d’au moins un protocole accepté ou proscrit ; une désignation d’au moins un domaine réseau dont les demandes, lorsqu’elles sont émises depuis ce domaine, seront acceptées ou proscrites ; un identifiant d’au moins un appareil, émetteur d’une demande, accepté ou proscrit ; une désignation d’au moins une portion du réseau acceptée ou proscrite comme portion d’appartenance d’un destinataire d’une demande ; un identifiant d’au moins un équipement accepté ou proscrit comme destinataire d’une demande ; un type de demande d’accès (lecture, écriture, etc..) accepté ou proscrit ; une plage d’adresses acceptée ou proscrite comme paramètres d’une demande ; un paramètre accepté ou proscrit en lien avec un protocole particulier (comme un « topic » pour MQTT par exemple) une combinaison d’au moins deux desdites informations.
Certaines de ces informations peuvent être optionnelles dans certains modes de réalisation. Concernant les informations relatives à un équipement à qui peut être destiné un paquet, elles peuvent notamment comprendre un identifiant d’adressage de cet équipement (par exemple selon les protocoles une adresse IP, une adresse MAC d’au moins un point d’accès, etc.), une désignation d’au moins un protocole qu’il accepte, un port de communication ouvert sur cet équipement.
Dans des modes de réalisation où l’ensemble électronique comprend des moyens de communication unidirectionnel du premier dispositif vers le second dispositif, le descriptif peut également comprendre des informations relatives à des données à recevoir du premier dispositif en réponse à un envoi par le second dispositif d’une demande provenant d’un appareil tiers. Il peut s’agir par exemple d’un protocole à utiliser pour recevoir ces données, et/ou d’une taille, d’un type et/ou d’un format de ces données, ou encore d’un protocole à utiliser pour transmettre ces données, et/ou un format de sortie de ces données à utiliser pour leur transmission à un appareil tiers.
Certaines des informations ci-avant peuvent être optionnelles dans le descriptif dans certains modes de réalisation.
Un exemple de descriptif est présenté ci-après.
Dans cet exemple, le descriptif concerne plusieurs équipements. Le terme « devices» annonce une liste des équipements à protéger (désignés par leurs adresses IP respectives), chacun accessible par un protocole différent dans cet exemple. On retrouve pour chacun les ports autorisés, les émetteurs (sources) autorisés (désignés par leurs adresses IP respectives), le type d’accès possible et les registres, les « namespaces » (pour OPC-UA), topic (pour MQTT), requêtes http (pour MTConnect) autorisés par type d’accès. config ve sion : 1.0 config date: 2023-05-15 diode: hostname: SmartDiode devices:
"192.168.0.5": type: modbus ports:
- 9400
- 502 sources:
- '192.168.0.1 ' read:
- 0-105
- 200-420 write:
- 1-12
- 200-202
- 400
"192.168.0.11": type: opcua ports:
- 48040
- 4840 read:
- 'ns =l;s= UI-A@supervision\exports-4-0-4statistics-l :sigma2 '
- 'ns=2;i=1234' write:
- 'ns=3;i=568'
- 'ns=2;i=1234'
"192.168.0.12": type: s7 read:
- '1:10-20' # DB=1, range 10 to 20 write:
- '10:50'
- '10:60-70'
"192.168.0.100": type: mqtt ports:
- 1883 read:
- '#' write:
- '/topic/whatever'
"192.168.0.13": type: mtconnect read:
- /probe # All devices
- /M12345/probe # Specific device
- /(M12345\M45678)/probe # Specific devices
- /([a-zA-zO-9-]+)/probe # Any device
- /current? path=// Axe s (? : '/['?.]+) *&at=(\d+) # //Axes and all its children
- /current? path=//Rotary//Data!tem [type = "LOAD"](?: [A\.] +)*&at=(\d+)
- /sample?path=//Axes(? : V A\.J +)*&from=(\d+)&count=(\d+)
- /asset/([a-zA-zO-9;-]+)?type=(''w>+)&count=(d+)&device=([a-zA-zO-9- ]+)&removed=(truefialse)
Dans certains modes de réalisation, le procédé 400 de transmission peut comprendre une mise à jour (optionnelle) du descriptif obtenu 414, soit automatiquement par le second dispositif, soit via une interface utilisateur du second dispositif, pour supprimer certaines informations du descriptif ou en ajouter des nouvelles (par exemple pour créer, supprimer et/ou modifier au moins une règle de filtrage).
Comme illustré en figure 4, le procédé peut comprendre un traitement 420 d’un paquet de données en provenance d’un appareil tiers situé à l’extérieur de la portion protégée. Il peut s’agir par exemple une demande d’accès en lecture ou en écriture à une zone mémoire d’un équipement de la première portion. Le paquet peut par exemple être obtenu 422 (ie ici reçu) par le second dispositif via la seconde portion du réseau de communication. Par exemple, lorsque le second dispositif est connecté à la seconde portion via une liaison Ethernet, le second dispositif peut intercepter les paquets de données circulant sur la seconde portion du réseau et ayant une adresse de destination correspondant à un identifiant d’adressage contenu dans le descriptif. Comme illustré en figure 4, le procédé peut comprendre un examen 430 des paquets reçus, tenant compte d’au moins une règle de filtrage (dite « seconde » règle de filtrage par référence au « second » dispositif) . L’au moins une seconde règle de filtrage peut par exemple être obtenue 432 à partir des informations présentes dans le descriptif (et détaillées ci -avant). Le procédé peut ainsi comprendre un filtrage 434 des paquets reçus pour ne conserver que celles cohérente avec l’au moins une « seconde » règle de filtrage obtenue.
Ainsi, selon un premier exemple, on peut conserver ou supprimer des paquets ayant pour protocole MQTT selon leur « topic ». Selon un second exemple, on peut conserver ou supprimer des paquets ayant pour protocole OPC-UA en fonction des nœuds désignés et d’un type de demande (accès en lecture ou en écriture) auquel correspond le paquet. Selon un troisième exemple, on peut conserver ou supprimer des paquets ayant pour protocole ModBus en fonction des registres désignés et d’un type de demande (accès en lecture ou en écriture) auquel correspond le paquet. On peut également tenir compte de l’équipement destinataire pour conserver ou supprimer des paquets.
Par exemple, en lien avec l’exemple de descriptif ci-avant, un paquet destiné à la machine « ModBus » seront conservées uniquement si elles ont comme port de destination le port 9400 et concernent les « registres » 0 à 105 des « coils » 0 à 1 dans le cas d’une demande d’accès en lecture. Par contre, seules les demandes d’accès en écriture aux registres 0-12 seront conservées. Ainsi, une demande d’écriture sur le registre 13, par exemple, sera éliminée.
Comme illustré, le procédé peut comprendre un transcodage 440 des paquets conservés. Ainsi, le procédé peut comprendre une extraction 442 des données contenues dans le paquet obtenu 422 en tenant compte de la structure du paquet et notamment du protocole utilisé dans l’encodage du paquet. Les données extraites peuvent par exemple comprendre, outre l’adresse du destinataire du paquet, au moins un port destinataire sur l’équipement destinataire, un type de demande à adresser à l’équipement, des données en lien avec la commande (plage d’adresses, valeurs de données etc..).
Par exemple, dans le cas d’un protocole MQTT, le pseudo code suivant peut être mis en œuvre lors de l’extraction:
# Extract destination IP destination ip = packet [16: 20]
# Extract destination port destination _port = packet [20: 22]
# Extract MQTT topic topic length = packet [30] topic = packet [31 : 31+ topic length ] # Extract MQTT payload payload length = packet [31+ topic _length+ 1 ] payload = packet[31+topic_length+2:31+topic_length+2+payload_length]
Dans l’exemple de la figure 4, le procédé peut comprendre une sérialisation des données extraites. Cette sérialisation peut par exemple tenir compte du descriptif obtenu 414 (notamment d’une désignation, dans le descriptif ; d’un protocole à utiliser pour la sérialisation, comme XML ou JSON).
Par exemple, les données sérialisées peuvent comprenant en entête une annonce d’un type des données (protocole employé ou annonce de données correspondant à un descriptif, etc.), un libellé identifiant ce type de données, ainsi que d’éventuel libellés textuels ou code numérique annonçant la signification des éléments qui les suivent. Ces annonces peuvent être optionnelle dispositif décrit plus loin comportes dans certains modes de réalisation, notamment lorsque le descriptif du second dispositif (et celui du premier dispositif) ne prévoit qu’un unique protocole. Comme illustré en figure 4, le procédé peuvent comprendre une transmission 450 au premier dispositif des données transcodées (via un des chemins de communication unidirectionnels mis en place par exemple)
En variante, le filtrage peut être effectué sur les données extraites / sérialisées (et non sur les paquets reçus).
Un filtrage effectué sur des paquets (plutôt que sur des données sérialisées) permet de s’appuyer sur la structure des paquets (et donc sur la sémantique des champs de ces paquets) pour effectuer le filtrage. De plus, il évite d’effectuer des traitements inutiles de sérialisation de données qui ne seront pas conservées.
De façon optionnelle, le procédé peut comprendre un traitement 460 d’un message de l’équipement (comme un message UDP ou une réponse à la demande envoyée vers le premier dispositif (et transmise par celui-ci à l’équipement)). Sur réception 462 d’un message, le procédé peut comprendre une transmission 464 de la réponse à l’appareil tiers auquel elle est destinée. Il peut s’agir notamment dans certains modes de réalisation d’une simple réémission d’un paquet reçu. Le traitement peut éventuellement comprendre un filtrage des paquets reçus (similairement à ce qui a déjà été décrit ci-dessus, mais éventuellement avec des règles de filtrage différentes (par exemple pour interdire la communication du contenu de certains registres), ou pour filtrer les destinataires des messages).
Selon les modes de réalisation, la façon dont le second dispositif obtient un paquet destiné à un équipement de la première portion peut varier. Par exemple, dans certains modes de réalisation où le second dispositif est connecté à la seconde portion du réseau de communication via une liaison Ethernet, le second dispositif peut intercepter les paquets de données circulant sur la seconde portion du réseau lorsque leur adresse de destination correspondant à celle de l’équipement. Dans d’autres modes de réalisation, le second dispositif peut utiliser, comme son propre identifiant d’adressage sur la seconde portion, un identifiant d’adressage d’au moins un équipement sur la première portion. L’identifiant d’adressage de l’équipement sur la première portion peut par exemple être obtenu par lecture du descriptif ou reçu du premier dispositif et le procédé peut comprendre une définition ou modification de son propre identifiant d’adressage pour être égal à l’identifiant d’adressage de l’équipement sur la première portion. Il peut s’agir aussi d’un ajout de l’identifiant d’adressage de l’équipement sur la première portion à son/ses identifiant(s) d’adressage sur la seconde portion.
De tels modes de réalisation peuvent permettre au second dispositif de « se faire passer » pour l’équipement, vis-à-vis d’appareils de la seconde portion ou externes au réseau de communication De tels modes de réalisation peuvent ainsi aider un administrateur du réseau de communication à disposer d’une solution « plug and play ». Ainsi, l’insertion de l’ensemble électronique dans le réseau, pour la protection d’un équipement, peut-être transparente aux autres appareils déjà présents dans le réseau et peut ne pas nécessiter de modifier un plan de routage (ou d’adressage) de l’ensemble du réseau ou de modifier le logiciel de l’un des appareils tiers souhaitant obtenir des données provenant de l’équipement.
En particulier, lorsque le second dispositif fait partie d’un ensemble électronique protégeant plusieurs équipements, le second dispositif peut s’affecter plusieurs adresses (IP par exemple) sur la seconde portion (via des « subnets » par exemple) identique chacune à l’un des identifiants d’adressages d’un équipement à protéger sur la première portion.
Par exemple, dans certains modes de réalisation, l’ensemble électronique peut être installé dans un réseau existant comportant un équipement qu’il s’agit (nouvellement) de protéger. Lorsque l’ensemble électronique est installé de façon à pouvoir communiquer (par exemple via une liaison filaire) avec l’équipement à protéger, constituant ainsi une première portion du réseau (comprenant au moins l’équipement et le premier dispositif), un opérateur du réseau peut n'avoir aucune action à effectuer (hormis cette installation). Les demandes destinées à l’équipement étant reçues par le second dispositif et les éventuelles réponses de l’équipement étant transmises par le second dispositif, les appareils et logiciels extérieurs à la portion protégée du réseau peuvent continuer à effectuer des requêtes vers l’équipement, sans modification de la routine d’accès qu’ils utilisaient avant l’installation de l’ensemble électronique pour protéger l’équipement. L’insertion de l’ensemble électronique dans le réseau peut donc être transparente à ces appareils et logiciels.
On décrit à présent le procédé 300 illustré en figure 3, et mis en œuvre par exemple par un premier dispositif situé dans une portion protégée d’un réseau de communication comme le premier dispositif 162 de l’ensemble électronique 160 du système 100.
Similairement à ce qui a été décrit ci-avant pour le procédé 400 mis en œuvre par le second dispositif, le procédé 300 peut être mis en œuvre, selon les modes de réalisation, lors du démarrage du premier dispositif, ou plus tard, et peut comprendre, comme illustré en figure 3, une phase dite d’initialisation 310 (lors d’un démarrage du premier dispositif par exemple ou ultérieurement, sur réception d’une commande utilisateur par exemple). Cette phase d’initialisation peut comprendre une obtention 312 d’un descriptif pouvant prendre la forme d’un ou plusieurs fichiers par exemple et pouvant notamment comprendre des informations relatives à la mise en place d’une communication bidirectionnelle entre le premier dispositif et le second dispositif (comme une adresse du second dispositif sur le réseau de communication, un protocole à utiliser etc..) et/ou des informations relatives aux données que va recevoir le premier dispositif en provenance du second dispositif (protocole à utiliser, format etc..), et/ou des informations relatives à des règles de filtrage de ces données que doit appliquer le premier dispositif, et/ou des informations relatives à au moins un équipement à qui peuvent être destinées ces données (comme un identifiant de cet équipement, une désignation d’au moins un protocole qu’il peut utiliser, etc.. ), et/ou des informations relatives à la structuration de ces données en paquet(s) de données avant leur transmission à un équipement, et des informations relatives à une communication à établir avec un équipement pour la transmission d’au moins un tel paquet (comme un mot de passe, ou une clé publique ou privée nécessaire à une connexion à l’équipement).
Les informations relatives à la mise en place d’une communication bidirectionnelle entre le premier dispositif et le second dispositif, les informations relatives aux données que va recevoir le premier dispositif en provenance du second dispositif (protocole à utiliser, format etc..), et et/ou les informations relatives à la structuration de ces données en paquet(s) peuvent être similaires à celles décrites en liaison avec le procédé 400 de transmission (le format des paquets reçus par le second dispositif pouvant être différent du format des paquets émis par le premier dispositif).
Les informations relatives à des règles de filtrage peuvent être similaires à celles décrites en liaison avec le procédé 400 de transmission. Dans certains modes de réalisation, les règles de filtrage peuvent différer des règles de filtrage appliquées par le second dispositif. Par exemple, les règles de filtrage à appliquer par le premier dispositif peuvent tenir compte du second dispositif de qui sont reçues les données (lorsque le premier dispositif peut recevoir des données de plusieurs « seconds » dispositifs) de façon par exemple à éliminer certaines données correspondant à des demandes d’écriture en provenance d’une seconde portion interconnectée avec un réseau public comme internet.
Les informations nécessaires à l’identification d’un équipement à protéger peuvent comprendre au moins une des informations d’identification suivantes : un libellé textuel ; une adresse (ou identifiant d’adressage) de l’équipement sur la première portion (par exemple selon les protocoles une adresse IP, une adresse MAC d’au moins un point d’accès de l’équipement etc..) ; une référence constructeur de l’équipement ; un numéro de série de l’équipement ; une combinaison d’au moins deux des informations d’identification ci-dessus.
Les informations nécessaires à l’établissement d’une communication entre le premier dispositif et l’équipement (en complément aux informations d’identification) peuvent comprendre notamment au moins une des informations, dites de communication, suivantes : une information désignant un protocole utilisable pour dialoguer avec l’équipement ; un port de l’équipement utilisable pour dialoguer avec l’équipement selon ledit protocole ; au moins un élément de sécurisation de connexion (comme un identifiant d’accès, un mot de passe, une clé publique ou privée etc..) ; des paramètres complémentaires spécifiques à certain(s) protocoles(s) (comme un « topic » dans le cas du protocole MQTT). une combinaison d’au moins deux des informations de communication ci-dessus.
Des exemples de protocoles pour communiquer avec l’équipement incluent des protocoles hiérarchisés, utilisant des structures de données standardisées, comme les protocoles Open Platform Communications Unified Architecture (OPC-UA) ModBus, ou des protocoles non hiérarchisés comme MQTT ou Direct UDP.
Certaines des informations du descriptif peuvent être optionnelles dans certains modes de réalisation. Par exemple, des informations de communication comme des éléments de sécurisation de connexion peuvent être absents lorsque l’accès à l’équipement n’est pas restreint à l’intérieur de la première portion. De plus, certaines des informations descriptives de données peuvent dépendre du ou des protocole(s) désigné(s) dans les informations de communication. Dans certains modes de réalisation, le descriptif peut par exemple être obtenu par accès à une zone de stockage accessible au premier dispositif (comme une zone de stockage locale au premier dispositif ou située dans la première portion du réseau ou encore une zone de stockage amovible (telle une clé USB) couplée au premier dispositif ou accessible via une connexion série sur un port micro-USB du premier dispositif. Il peut s’agir notamment d’un port micro- USB inaccessible à un tiers lorsque le boîtier de l’ensemble électronique comportant le premier dispositif est fermé.
Dans certains modes de réalisation (par exemple certains modes de réalisation où le descriptif est obtenu par lecture d’une zone de stockage accessible au premier dispositif), le procédé 300 peut comprendre une transmission 316 d’au moins une portion du descriptif obtenu 312 au second dispositif.
Dans certains modes de réalisation, le descriptif peut être créé, ou complété, dynamiquement (et au moins partiellement automatiquement) par le premier dispositif lui -même. Dans un tel mode de réalisation, le procédé peut comprendre une scrutation (ou exploration) (ou scan ARP (pour Address Resolution Protocol selon la terminologie anglaise) de la première portion, pour découvrir les appareils présents dans la première portion, puis au moins une tentative de connexion à ces appareils en utilisant un ou plusieurs protocole(s) candidat(s) (selon les modes de réalisation), permettant, quand une tentative de connexion réussit, de détecter au moins un protocole utilisé par l’équipement. Les tentatives de connexion peuvent éventuellement utiliser des éléments complémentaires (comme au moins une valeur de port (pour découvrir au moins un port ouvert sur l’appareil concerné) et/ou des paramètres complémentaires en cohérence avec ce (ou ces) protocole candidat). Par exemple, le procédé peut comprendre, pour chaque appareil découvert de la première portion, une tentative de connexion avec un ensemble de protocoles candidats définis par configuration (manuelle ou automatique) du dispositif.
Lorsqu’au moins une tentative de connexion a été menée avec succès pour au moins un appareil découvert, le procédé peut comprendre un enregistrement de l’adresse de l’appareil découvert en association avec les protocoles ayant permis la connexion, et les éventuels éléments complémentaires dans ledit descriptif.
Un tel mode de réalisation peut permettre, non seulement de créer un descriptif, mais également de mettre à jour automatiquement un descriptif existant. Il peut s’agir ainsi d’ajouter des informations ayant trait à un équipement nouvellement découvert ou de modifier des informations du descriptif relatives à un équipement, par exemple pour ajouter des informations relatives à un nouveau protocole accepté par cet équipement (suite à une mise à jour logicielle de l’équipement par exemple), ou pour supprimer la désignation d’un port devenu inaccessible (défectueux par exemple).
Dans certains modes de réalisation, le procédé peut comprendre de plus une mise à jour (optionnelle) du descriptif obtenu par le premier dispositif. Ainsi, une mise à jour automatique peut comprendre par exemple un ajout d’informations de filtrage par défaut, applicables pour les demandes d’accès à un équipement nouvellement découvert (et enregistré dans le descriptif), comme une conservation uniquement des demandes d’accès en lecture, ou un ajout d’une information de filtrage interdisant l’usage, quel que soit l’équipement concerné d’un protocole peu sécurisé par exemple) ou interdisant l’usage d’un port défectueux.
Une mise à jour peut aussi être effectuée manuellement par un opérateur, via une interface utilisateur du premier dispositif, notamment pour créer et/ou supprimer et/ou modifier des informations de filtrage. Il peut s’agir par exemple compléter manuellement un fichier descriptif créé automatiquement par le premier dispositif.
Dans certains modes de réalisation, le descriptif obtenu 312 peut être identique au descriptif décrit en liaison avec le procédé 400 mis en œuvre dans le premier dispositif. Par exemple, les deux descriptifs peuvent être obtenus par copie d’un même support de stockage amovible, ou le second dispositif peut recevoir du premier dispositif l’intégralité du descriptif qu’a précédemment lui-même obtenu 312 le premier dispositif (ou vice-versa). Dans de tels modes de réalisation, le descriptif du second dispositif peut alors contenir certaines informations non utiles au second dispositif (comme un mot de passe, ou une clé publique ou privée nécessaire à une connexion à l’équipement dont proviennent les données). Un tel mode de réalisation peut offrir des avantages en termes de simplicité de traitement (pour l’un des premier et second dispositif) et /ou de simplicité de configuration, donc de gain de temps, côté second dispositif, puisqu’il n’est pas nécessaire de prévoir un « descriptif » particulier au second dispositif. Dans d’autres modes de réalisation, les descriptifs peuvent être différents. En particulier, certaines informations contenues dans le descriptif obtenu par le premier dispositif et relatives à l’équipement à protéger et/ou aux communications avec cet équipement (comme un mot de passe par exemple) peuvent être omises dans le descriptif obtenu par le second dispositif. De plus, dans certaines modes de réalisation où le format des paquets à créer par le premier dispositif et le format des paquets reçus par le second dispositif sont différents, des informations contenues dans les descriptifs et relatives aux formats des paquets à recevoir ou à créer seront différentes.
La phase d’initialisation 310 peut comprendre une mise en place 314 des moyens de communication bidirectionnels avec le second dispositif et, optionnellement, une transmission 316 d’au moins une portion du descriptif obtenu 310 au second dispositif. La transmission 316 peut notamment comprendre la transmission d’au moins une information d’identification de l’équipement comme une adresse de l’équipement sur la première portion (par exemple selon les protocoles une adresse IP, une adresse MAC, etc..), (aussi appelée identifiant d’adressage sur la première portion dans la présente demande).
Elle peut également comprendre au moins certaines informations de communication avec l’équipement (par exemple des informations relatives à un protocole et/ou un port de communication).
En particulier dans certains modes de réalisation, la portion du descriptive transmise peut comprendre des informations du descriptif susceptibles d’aider le second dispositif de « se faire passer » pour l’équipement, vis-à-vis d’appareils de la seconde portion ou externes au réseau de communication.
Le procédé peut comprendre une obtention 320 de données, correspondant à une demande issue d’un appareil tiers, reçues (obtenues) du second dispositif, via les moyens de communication bidirectionnels. Le procédé peut comprendre en outre un transcodage, par exemple une désérialisation (ou structuration) 330 de ces données pour obtenir un paquet de données de données structuré. La structuration des données peut tenir compte d’informations présentes dans le descriptif désignant un protocole utilisé par l’équipement. Par exemple, en reprenant l’exemple du pseudo-code d’extraction de données cité précédemment en liaison avec le procédé 400 de transmission, le pseudo -code permettant la désérialisation de ces données en un paquet structuré, selon le protocole MQTT pourrait être le suivant : mqtt jjcicket = bytearrciy() mqtt jjcicket += bytes(packet['destination_ip]' ) mqtt _packet += bytes(packet ['destination _port]) mqtt _packet += b'\x00\x00' mqtt _packet += bytes( [len(packet ['topic]' )]) mqtt _packet + = packet ['topic]' mqtt _packet + = packet [p' ayload']
Le procédé peut comprendre un examen 340 des données extraites tenant compte d’au moins une règle de filtrage (dite « première » règle de filtrage par référence au « premier » dispositif). L’au moins une « première » règle de filtrage peut par exemple être obtenue 342 à partir des informations présentes dans le descriptif du premier dispositif (et détaillées ci-avant). Le procédé peut ainsi comprendre un filtrage 344 des données reçues, ou en variante un filtrage des paquets formés à partir des données reçues, pour ne conserver que celles (ou ceux) en cohérence avec l’au moins une « première » règle de filtrage obtenue.
En variante, le filtrage peut être effectué sur les données extraites, de façon à ne structurer en paquets que les données à conserver. Comme expliqué ci-avant, effectuer un filtrage sur les données structurées en paquets permet de s’appuyer sur la structure des paquets pour l’application des règles de filtrage.
Comme illustré en figure 3, le procédé comprend une émission 350 du paquet obtenu sur la première portion du réseau, vers un équipement destinataire de ce paquet.
Suite à l’émission d’au moins un paquet qui correspond à une demande d’un appareil tiers (destinée à l’équipement), le premier dispositif peut optionnellement traiter une réponse de l’équipement , plus précisément le premier dispositif peut recevoir un message 362 de l’équipement et transmettre 364 ce message (après une sérialisation et/ou un filtrage avant ou après cette sérialisation éventuels) au second dispositif.
Dans certains modes de réalisation détaillées en lien avec les figures 3 et 4, le premier dispositif et le second dispositif peuvent être adaptés à communiquer selon plusieurs protocoles avec, respectivement, au moins un équipement à protéger et au moins un appareil tiers.
Dans une variante, le premier dispositif et le second dispositif peuvent communiquer avec un équipement à protéger et un appareil tiers avec un seul protocole. Par exemple, le réseau peut comporter plusieurs ensembles électroniques de protection, chacun protégeant un ou plusieurs équipements ayant un même protocole. De tels modes de réalisation peuvent permettre des descriptifs plus simples. En particulier, dans certains modes de réalisation l’ensemble électronique peut être dédié à un protocole particulier et programmé pour ce seul protocole. Dans une variante, lors de l’initialisation, plusieurs second dispositifs peuvent communiquer avec le premier dispositif pour transmettre respectivement des demandes d’appareils tiers utilisant des protocoles différents.
Dans une autre variante, un même second dispositif peut communiquer avec plusieurs «premiers dispositifs », ce second dispositif pouvant par exemple disposer de plusieurs adresses différentes, choisies chacune pour correspondre à celle d’un équipement protégé par un des premiers dispositifs et aiguillant les demandes reçues vers le « premier » dispositif adéquat.
La présente demande propose un ensemble électronique constituant, au moins dans certains de ses modes de réalisation, une solution simple et efficace pour demander des données de manière sécurisée à une machine industrielle connectée à un réseau public comme Internet. En particulier, dans au moins certains modes de réalisation, la configuration d’au moins un des premier et second dispositifs de l’ensemble électronique peut être facile (notamment lorsqu’elle est automatique) et l’un ou l’autre des dispositifs de l’ensemble électronique peut être utilisable avec plusieurs protocoles différents, ce qui peut donc permettre d’offrir une solution adaptable à différents environnements industriels.
La solution présentée dans la présente demande peut trouver des applications dans de nombreux domaines, et notamment dans des domaines cibles privilégiées d’attaques informatiques. Ainsi, dans l’industrie manufacturière, la solution objet de la présente demande peut aider à protéger des machines industrielles (pour empêcher leur corruption par exemple), en empêchant les accès à certaines données sensibles de ces machines comme des données relatives aux processus industriels mis en œuvre, tout en rendant d’autres données (comme des données de production) disponibles à des applications de surveillance et de contrôle. Dans l’exemple de la figure 5, l’ensemble électronique de protection 160 est mise en œuvre en œuvre pour permettre une interrogation sécurisée à distance d’une machine industrielle (l’équipement 140) par un appareil tiers de télégestion de type SCADA (Pour Supervisory Control and Data Acquisition) depuis une portion non sécurisée du réseau de communication.
Un autre exemple de mise en œuvre concerne le domaine de la distribution. La solution objet de la présente demande peut en effet être utilisée pour aider à protéger des équipements électroniques de points de vente, en limitant les possibilités d’accès à des données stockées sur ces équipements, comme des données de vente et/ou à des informations sensibles sur des clients.
Encore un autre exemple de mise en œuvre concerne le domaine de la finance (banque, service financiers) et notamment les informations financières et personnelles sensibles manipulées, que la solution objet de la présente demande peut aider à protéger d’attaques (tout en offrant des possibilités d'accès à d’autres données, moins sensibles par exemple). La solution objet de la présente demande peut également trouver des applications dans le domaine de la santé, pour protéger les données médicales sensibles de patients tout en laissant des possibilités d'accès à au moins certaines de ces données à des professionnels de la santé.

Claims

REVENDICATIONS
1. Procédé de protection d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant ledit équipement, et au moins une seconde portion interconnectée avec ladite première portion via un premier dispositif de ladite première portion et un second dispositif de ladite seconde portion, ledit procédé comprenant :
• une transmission audit second dispositif d’au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit paquet sur ladite première portion ;
• une transmission dudit paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
2. Procédé de protection selon la revendication 1 où ladite règle de filtrage tient compte d’au moins un élément contenu dans ledit paquet parmi les éléments suivants :
-une désignation d’un appareil émetteur dudit paquet ;
-une information d’adressage relative à au moins une donnée dudit équipement ;
- un type d’accès à effectuer sur ladite donnée ;
-une désignation d’un protocole de communication utilisé par ledit paquet;
- une combinaison d’au moins deux desdits éléments ci-avant ;
3. Procédé de protection selon la revendication 1 ou 2 où ledit filtrage est effectué avant ledit transcodage.
4. Procédé de protection selon la revendication 1 ou 2 où ledit filtrage est effectué après ledit transcodage.
5. Procédé de protection selon l’une des revendications 1 à 4 où lesdits premiers et second dispositifs communiquent entre eux via au moins deux chemins de communication, un premier chemin de communication unidirectionnel permettant au premier dispositif de recevoir des données dudit second dispositif, et un second chemin de communication, unidirectionnel, permettant au premier dispositif d’envoyer audit second dispositif une réponse audit paquet transmis audit équipement destinataire.
6. Procédé de protection selon l’une quelconque des revendications 1 à 5 où le procédé ledit transcodage comprend une désérialisation desdites données.
7. Procédé de transmission de données destinées à au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, et au moins une seconde portion interconnectée avec ladite première portion via un premier dispositif de ladite première portion et un second dispositif de ladite seconde portion, ledit procédé comprenant :
• Une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion ;
• Sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit paquet ; et
• une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
8. Procédé de transmission selon la revendication 7 où ladite règle de filtrage tient compte d’au moins un élément contenu dans ledit paquet parmi les éléments suivants :
-une désignation d’un appareil émetteur dudit paquet ;
-une information d’adressage relative à au moins une donnée dudit équipement ;
- un type d’accès à effectuer sur ladite donnée ;
-une désignation d’un protocole de communication utilisé par ledit paquet;
- une combinaison d’au moins deux desdits éléments ci -avant ;
9. Procédé de transmission selon la revendication 7 ou 8 comprenant une obtention d’un descriptif relatif audit équipement de ladite première portion dudit réseau de communication comportant ledit au moins un identifiant d’adressage dudit au moins un équipement sur ladite première portion dudit réseau de communication.
10. Procédé de transmission selon l’une des revendications 7 à 9 où ledit filtrage est effectué sur les données sérialisées
11. Procédé de transmission selon l’une des revendications 7 à 10 où ledit filtrage est effectué avant ladite sérialisation.
12. Procédé de transmission selon l’une des revendications 7 à 11 où lesdits premiers second dispositifs communiquent entre eux via au moins deux chemins de communication unidirectionnel, un premier chemin de communication unidirectionnel permettant au second dispositif de transmettre des données audit premier dispositif, et un second chemin de communication, unidirectionnel, permettant au second dispositif de recevoir du premier dispositif une réponse auxdites données transmises audit premier dispositif.
13. Premier dispositif électronique d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant au moins un équipement à protéger et ledit premier dispositif, et au moins une seconde portion interconnectée avec ladite première portion via le premier dispositif et un second dispositif de ladite seconde portion, ledit premier dispositif comprenant un moins un processeur configuré pour :
• une transmission audit second dispositif d’au moins un identifiant d’adressage duit équipement de ladite première portion dudit réseau de communication ;
• un transcodage de données reçues dudit second dispositif en au moins un paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit paquet sur ladite première portion ;
• une transmission dudit paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage.
14. Second dispositif électronique d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant au moins un équipement, et au moins une seconde portion comprenant ledit second dispositif, et interconnectée avec ladite première portion via un premier dispositif de ladite première portion et le second dispositif; ledit second dispositif comprenant un moins un processeur configuré pour :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit paquet et ;
• une émission desdites données sérialisées vers ledit premier dispositif ; au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une règle de filtrage relative au contenu dudit paquet.
15. Ensemble électronique de protection d’au moins un équipement d’un réseau de communication partitionné en une pluralité de portions comprenant au moins une première portion, comprenant ledit équipement, et au moins une seconde portion interconnectée avec ladite première portion via au moins un premier dispositif dudit ensemble électronique, ledit premier dispositif appartenant à ladite première portion, et au moins un second dispositif dudit ensemble électronique, ledit second dispositif appartenant à ladite seconde portion, ledit au moins un premier dispositif électronique comprenant un moins un processeur configuré pour :
• une transmission audit second dispositif d’au moins un identifiant d’adressage dudit équipement de ladite première portion dudit réseau de communication ; • un transcodage de données reçues dudit second dispositif en au moins un premier paquet de données structuré comportant au moins un identifiant d’adressage d’un équipement destinataire dudit premier paquet sur ladite première portion ;
• une transmission dudit premier paquet audit équipement destinataire ; au moins un desdits transcodage et/ou transmission étant effectuée de façon conditionnelle en tenant compte d’au moins une première règle de filtrage relative au contenu dudit premier paquet. ledit au moins un second dispositif électronique comprenant un moins un processeur configuré pour :
• une affectation audit second dispositif, comme identifiant d’adressage sur ladite seconde portion dudit réseau, d’au moins un identifiant d’adressage d’un équipement de ladite première portion
• sur réception d’un second paquet structuré de données ayant comme adresse de destination ledit identifiant d’adressage, une sérialisation des données dudit second paquet et ;
• une émission desdites données sérialisées vers ledit premier dispositif. au moins une de ladite sérialisation et/ou ladite émission étant effectuée de façon conditionnelle en tenant compte d’au moins une seconde règle de filtrage relative au contenu dudit second paquet.
16. Programme d'ordinateur comprenant des instructions pour la mise en œuvre d’un procédé de protection selon l’une des revendications 1 à 6, et/ou d’un procédé de transmission selon l’une des revendications 7 à 12, lorsque ledit programme est exécuté par un processeur.
17. Support d’informations lisible par un dispositif électronique et sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour la mise en œuvre d’un procédé de protection selon l’une au moins des revendications 1 à 6, et/ou d’un procédé de transmission selon l’une au moins des revendications 7 à 12.
PCT/EP2024/067921 2023-06-28 2024-06-26 Procédés de protection d'un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d'ordinateur et supports d'information correspondants Ceased WO2025003201A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP24735643.9A EP4736371A1 (fr) 2023-06-28 2024-06-26 Procédés de protection d'un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d'ordinateur et supports d'information correspondants

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2306799 2023-06-28
FR2306799A FR3150675A1 (fr) 2023-06-28 2023-06-28 Procédés de protection d’un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d’ordinateur et supports d’information correspondants

Publications (1)

Publication Number Publication Date
WO2025003201A1 true WO2025003201A1 (fr) 2025-01-02

Family

ID=88689390

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2024/067921 Ceased WO2025003201A1 (fr) 2023-06-28 2024-06-26 Procédés de protection d'un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d'ordinateur et supports d'information correspondants

Country Status (3)

Country Link
EP (1) EP4736371A1 (fr)
FR (1) FR3150675A1 (fr)
WO (1) WO2025003201A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200036732A1 (en) * 2018-07-27 2020-01-30 The Boeing Company Machine learning data filtering in a cross-domain environment
US20200106742A1 (en) * 2018-07-09 2020-04-02 Centripetal Networks, Inc. Methods and Systems for Efficient Network Protection
EP3729773B1 (fr) * 2017-12-22 2021-11-03 Fend Incorporated Dispositif de transfert de données unidirectionnel avec détection de système embarqué

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3729773B1 (fr) * 2017-12-22 2021-11-03 Fend Incorporated Dispositif de transfert de données unidirectionnel avec détection de système embarqué
US20200106742A1 (en) * 2018-07-09 2020-04-02 Centripetal Networks, Inc. Methods and Systems for Efficient Network Protection
US20200036732A1 (en) * 2018-07-27 2020-01-30 The Boeing Company Machine learning data filtering in a cross-domain environment

Also Published As

Publication number Publication date
FR3150675A1 (fr) 2025-01-03
EP4736371A1 (fr) 2026-05-06

Similar Documents

Publication Publication Date Title
US20150156183A1 (en) System and method for filtering network communications
EP2692089B1 (fr) Mécanisme de redirection entrante sur un proxy inverse
EP3891959B1 (fr) Communiquer entre des réseaux radio/fixe par le biais d'une blockchain
FR2923969A1 (fr) Procede de gestion de trames dans un reseau global de communication, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
EP3917108A1 (fr) Procede de configuration d'un equipement pare-feu dans un reseau de communication, procede de mise a jour d'une configuration d'un equipement pare-feu, dispositif, equipement d'acces, equipement pare-feu et programmes d'ordinateur correspondants
EP3734901A1 (fr) Procede de transmission securisee de donnees
EP3622688B1 (fr) Singularisation de trames à émettre par un objet connecté et blocage de trames réémises sur un réseau de communication sans-fil basse consommation
WO2025003201A1 (fr) Procédés de protection d'un équipement et de transmission de données, dispositifs et ensemble électroniques, produits programmes d'ordinateur et supports d'information correspondants
FR3105486A1 (fr) Procédé de détection d’un comportement malveillant dans un réseau de communication, dispositif, équipement d’accès audit réseau, procédé de détection d’une attaque distribuée dans ledit réseau, dispositif, équipement nœud et programmes d’ordinateur correspondants
EP4736370A1 (fr) Procédés de protection d'un équipement et de fourniture de données, dispositifs et ensemble électroniques, produits programmes d'ordinateur et supports d'information correspondants
EP3087719B1 (fr) Procédé de ralentissement d'une communication dans un réseau
EP3688926B1 (fr) Gestion de groupes d'objets connectés utilisant des protocoles de communication sans fil
EP4068818A1 (fr) Procédé de gestion de sécurité dans un système de communication de données, et système pour la mise en oeuvre du procédé
EP3424184B1 (fr) Procédé d'initialisation et de sécurisation de communication bidirectionnelle d'un appareil avec un réseau domotique
FR2813151A1 (fr) Communication securisee dans un equipement d'automatisme
WO2019243706A1 (fr) Procédé de découverte de fonctions intermédiaires et de sélection d'un chemin entre deux équipements de communication
EP3709185A1 (fr) Procédé d'optimisation d'échanges de données dans une infrastructure d'objets connectés
EP2614630B1 (fr) Traitement de données pour la notification d'un équipement
FR3052004B1 (fr) Procede d'echange de donnees entre un objet connecte et un serveur central.
WO2025162892A1 (fr) Procédé de gestion de l'appel par un client d'une interface de programmation applicative
FR3093882A1 (fr) Procédé de configuration d’un objet communicant dans un réseau de communication, terminal utilisateur, procédé de connexion d’un objet communicant au réseau, équipement d’accès et programmes d’ordinateur correspondants.
FR3112053A1 (fr) Procédé de gestion d’une phase d’appairage entre dispositifs de traitement de données.
EP3360293A1 (fr) Moyens de gestion d'accès à des données
FR3091120A1 (fr) Procédé d’optimisation de l’utilisation de passerelles en fonction des messages à transmettre
WO2018234662A1 (fr) Procédé de contrôle de l'obtention par un terminal d'un fichier de configuration

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: 24735643

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024735643

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2024735643

Country of ref document: EP

Effective date: 20260128

ENP Entry into the national phase

Ref document number: 2024735643

Country of ref document: EP

Effective date: 20260128