EP4232926A1 - Method and device for prioritising packet flows - Google Patents

Method and device for prioritising packet flows

Info

Publication number
EP4232926A1
EP4232926A1 EP21806788.2A EP21806788A EP4232926A1 EP 4232926 A1 EP4232926 A1 EP 4232926A1 EP 21806788 A EP21806788 A EP 21806788A EP 4232926 A1 EP4232926 A1 EP 4232926A1
Authority
EP
European Patent Office
Prior art keywords
node
packets
router
protection parameter
expected value
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.)
Pending
Application number
EP21806788.2A
Other languages
German (de)
French (fr)
Inventor
Bruno Decraene
Isabelle ATHIAS
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
Publication of EP4232926A1 publication Critical patent/EP4232926A1/en
Pending 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/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • 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/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/12Detection or prevention of fraud
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1458Denial of Service

Definitions

  • the invention lies in the field of telecommunications, and more particularly networks consisting of routers routing IP packets.
  • IPsec tunnels are established between sites of a customer's VPN, for example a company established on several sites. These IPsec tunnels are carried by an IP or MPLS network that is unaware of these IPsec tunnels.
  • This "transport" network is typically the Internet because of its ubiquity, high speed and low cost.
  • All users of the transport IP network can also send packets to customer sites.
  • a very large number of users can therefore send packets, potentially at high speed.
  • Any attacker on the Internet can thus send a large quantity of packets to a client site and thus saturate the client interface and/or or the client router, thus carrying out a denial of service (DOS) attack.
  • DOS denial of service
  • It can also use many different traffic sources all directed to a single destination - the client site receiving the IPsec packets - thus performing a Distributed Denial of Service (DDOS) attack.
  • DDOS Distributed Denial of Service
  • a known solution is to deploy protective equipment capable of analyzing all flows/packets towards the customer site, to try to distinguish legitimate traffic from DDOS traffic, and to prioritize legitimate traffic over DDOS traffic. This solution has several drawbacks.
  • One of the aims of the invention is to remedy these drawbacks of the state of the art.
  • the invention improves the situation with the aid of a method for protecting a stream of packets in a network composed of packet router nodes, and stream transmitter and receiver nodes, the receiver node being connected to a node router processing the routing of a packet to the receiving node based on an expected value a protection parameter included in at least one field of a stream packet, the method being implemented by a device associated with the receiver node and comprising:
  • the routers are managed by an operator who has no knowledge of the legitimacy of the flows passing through the routers, since these flows are established by third-party entities.
  • a third-party entity is, for example, a company managing sender and receiver nodes of packet streams between sites or machines of the company, these sender and receiver nodes being collectively called client nodes.
  • This company is a customer of the operator of the router nodes, and/or of a so-called OTT (Over The Top) supplier, i.e. a supplier using for commercial purposes the resources and capacities of these same routers which however remain managed by their operator.
  • OTT Over The Top
  • the streams conveyed are protected by the routers, whereas these streams are not necessarily managed (that is to say generated, transmitted or received) by the operator of the routers.
  • the message comprising the value of the protection parameter can be a message sent directly or indirectly, from a flow management device to a router node.
  • This flow management equipment is associated with the receiver node of a flow, i.e. it can be included in a client node, i.e. in the transmitter node or in the receiver node , or in another entity such as, for example, equipment for monitoring or controlling or configuring client nodes. It can be for example an SD-WAN network controller node.
  • the packet processing performed by the router depends on the protection parameter received in the message.
  • a packet received by the router presents the expected value of the parameter in a determined field associated with the flow, it is processed according to a policy determined in advance, that is to say for example that it is assigned a higher priority (QoS).
  • QoS higher priority
  • another aspect of the policy mentioned above may disadvantage the flow to which the packet belongs, for example by lowering its priority, or by filtering it.
  • the sending of the message comprising the expected value of the protection parameter is triggered by obtaining information indicative of congestion between the sender node and the receiver node .
  • the effect of an attack can be neutralized even after it has started.
  • one of the first effects of an attack is the increase in the volume of data destined for the receiving node. This increase can be detected at several levels, for example at the level of the sender node which no longer manages to communicate correctly with the receiver node, at the level of a router node on which an excessive volume of data arriving in transit to the node receiver, or at the receiving node itself which receives an excessive volume of data.
  • the congestion is not detected at the level of the device transmitting the message of the protection parameter, the information indicative of a congestion is transmitted to it.
  • the method according to the invention represents a solution in reaction to an attack. It is also understood that the value of the parameter can be changed as frequently as necessary, among other things if the attacker discovers the correct value of the protection parameter.
  • a new message is retransmitted with a new value of the protection parameter, after expiration of a defined period.
  • the method according to the invention represents a solution for preventing an attack.
  • the message comprises several expected values of the protection parameter, each value corresponding to a different period of use.
  • this can be done in a planned and synchronized way with the sender of the flow, by means of an automatic change of the value of the protection parameter after a period determined in advance, without it it is necessary to resend the message.
  • This is particularly advantageous if an attack in progress makes it impossible to send a new message.
  • the method according to the invention represents a solution both in reaction to and in prevention of an attack.
  • this can also be done in reaction to an attack, without the need to resend a new message, by means of a change in the value of the protection parameter which is for example triggered by obtaining information indicative of congestion between the sender node and the receiver node.
  • the router node must also send a message to inform the sender node of the flow from when the value of the protection parameter has changed.
  • the invention further improves the situation with the aid of a process for prioritizing a flow of packets in a network composed of packet router nodes, and flow transmitter and receiver nodes, the receiver node being connected to a router node processing the routing of a packet destined for the receiver node according to an expected value of a protection parameter included in at least one field of a packet of the stream, the method being implemented by the node router connected to the receiver node and comprising:
  • the flows specified or expected by the client nodes are also expected by the receiving node connected to the receiving node. If these flows arrive as far as this router node while being intended for the client receiver node, they are routed as far as the client receiver node by being prioritized, only if the packets of such flows have the expected value of the protection parameter.
  • This prioritization is advantageous in any situation of heavy traffic to the receiving node causing slowdowns at the level of the router nodes or the links between them, when all the flows, without necessarily being illegitimate, are not those expected by the receiving node.
  • This advantage is all the more interesting in the event of an attack by DOS or DDOS towards a client node.
  • the device at the initiative of the message comprising the value of the protection parameter is part of the same administrative domain as the client receiving node, this domain being for example that of the client network.
  • the router node performing the filtering, connected to the receiving node can receive this message directly from the client network. In another embodiment, it can also receive it indirectly, if for example an intermediate equipment has to modify its format and/or if it is not possible for the router node to receive signaling directly from the client network.
  • This intermediate equipment can be a flow controller forming part of the operator network comprising the router nodes, and not comprising the transmitter and receiver nodes, to which the device associated with the receiver node can send signals.
  • the prioritization comprises placing the packets in a queue having access to one or more output interfaces of the router node, the access having priority over at least one other waiting line.
  • the router node places a marked packet in a different queue (queue) which will be served (used) in priority during the transmission of packets on the outgoing link of the router node.
  • This can be in strict priority, ie as long as this queue has packets to send, it is the only one that has access to the output interface.
  • the priority queue can have different characteristics from the others, for example a larger capacity (bigger buffer), a less aggressive or fast overflow packet discard policy in case of congestion, etc.
  • the method further comprises:
  • the filtering comprises blocking the packets, or destroying the packets, or lowering the priority of the packets.
  • the method further comprises sending the message comprising the expected value of the protection parameter, to a neighboring router node of the router node connected to the receiver node.
  • stream prioritization is made possible at the level of a neighboring node of the router node connected to the client node, preferably upstream of the stream. This is advantageous in the case of a DDoS attack, where the attacking flows arrive at the last router node from several immediately neighboring router nodes. The load of prioritizing flows is thus better distributed in the network of routers.
  • the transmission of the message which is equivalent to the transmission of a prioritization command, can only be triggered on reaching a threshold, for example when the volume of data received by the router node or on its upstream interface reaches a threshold beyond which the operation of the router node or of its upstream interface is endangered.
  • the protection parameter is included in the destination IPv6 address of the packets of the stream.
  • the last bits of an IPv6 address for example the last 64 bits, can be determined and modified at will by the user of the flow, for example the client user of the transmitter and receiver nodes, client of the operator network formed by the router nodes, without impacting the routing of packets to their final destination.
  • These 64 bits represent a very large number of possible values for the protection parameter, which makes it difficult or even impossible for an attacker to discover them.
  • the stream is an IPsec tunnel or an IP tunnel.
  • the protection solution covers the most common and most important flows, as they typically go to several recipients.
  • certain existing parameters specific to these tunnels can advantageously be used as protection parameter according to the invention.
  • IP tunnel are L2TP, GRE, UDP, SRv6 (Segment Routing IPv6).
  • the at least one field comprising the protection parameter is one or more of the fields of a list comprising:
  • the received stream passing through the router node can be processed according to several protection parameters, which represents a combination that is more difficult for an attacker to discover, while providing more flexibility to the sender/receiver of the flows to adapt the solution to its use cases.
  • a context-specific parameter such as SPI, specific to IPsec
  • SPI Session Initiation Protocol
  • IPsec IP address
  • the attacker also needs to discover the context (such as the type of tunnel the stream is using).
  • the message comprising the expected value of the protection parameter is a message from one of the following protocols:
  • the method according to the invention fits into an existing network architecture by reusing a communication protocol already used by router nodes.
  • the invention also relates to a device for protecting a flow of packets in a network composed of packet router nodes, and flow transmitter and receiver nodes, the receiver node being connected to a router node processing the routing of a packet to the receiver node as a function of an expected value of a protection parameter included in at least one field of a packet of the flow, the device being associated with the receiver node and comprising a receiver, a transmitter, a processor and a memory coupled to the processor with instructions intended to be executed by the processor for:
  • This device capable of implementing in all its embodiments the flow protection method which has just been described, is intended to be implemented in equipment of the sub-network composed of the transmitter and receiver nodes of the flow, also called client network. It can be part of the receiver node or the sender node, or be part of a customer network management device, separate from the flow sender or receiver nodes, for example an SD-WAN controller node if the customer network is SD type -WAN. In all cases, this device is associated with the receiving node, that is, it is part of the same administrative domain.
  • the invention also relates to a device for prioritizing a flow of packets in a network composed of packet router nodes, and flow transmitter and receiver nodes, the receiver node being connected to a router node processing the routing of a packet to the receiver node as a function of an expected value of a protection parameter included in at least one field of a packet of the flow, the device being implemented in the router node connected to the receiver node and comprising a receiver, a transmitter, a processor and a memory coupled to the processor with instructions intended to be executed by the processor for:
  • This device capable of implementing in all its embodiments the process for prioritizing flows which has just been described, is intended to be implemented in a node of the subnet composed of router nodes, also called operator network . More specifically, this device is part of the router node connected to the receiver node of the client network.
  • the invention also relates to a computer program comprising instructions which, when these instructions are executed by a processor, lead the latter to implement the steps of the protection method, which has just been described.
  • the invention also relates to a computer program comprising instructions which, when these instructions are executed by a processor, lead the latter to implement the steps of the prioritization method, which has just been described.
  • the invention also relates to an information medium readable by a protection device, and comprising instructions of a computer program as mentioned above.
  • the invention also relates to an information medium readable by a prioritization device, and comprising instructions of a computer program as mentioned above.
  • the programs mentioned above may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in n any other desirable shape.
  • a medium may include a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means.
  • a storage means such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means.
  • Such a storage means can for example be a hard disk, a flash memory, etc.
  • an information medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means.
  • a program according to the invention can in particular be downloaded from an Internet-type network.
  • an information medium can be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in the execution of the methods in question.
  • Figure 1 schematically represents a network comprising router nodes and client nodes in accordance with the invention, in a particular embodiment,
  • FIG 2 shows an example of the structure of a protection device, implemented on the client network side, according to aspects of the invention
  • FIG. 3 presents an example of the structure of a prioritization device, implemented on the network side of routers, according to aspects of the invention.
  • FIG. 1 schematically represents a network comprising router nodes and client nodes in accordance with the invention, in a particular embodiment.
  • the network N1 comprises a subnetwork N2 composed of router nodes R1 to R4 managed by a telecommunications operator, called operator network, and a subnetwork N3 composed of client nodes C1 to C3 managed by a third party entity independent of the operator , called customer network.
  • the operator network N2 is for example an IP/MPLS network, also called a transport network.
  • the N3 client network can be VPN, SD-WAN, etc.
  • a flow F1 is established between the client node C1 and the client node C3.
  • the client node C1 is connected to the router node R1
  • the client node C3 is connected to the router node R3
  • the flow F1 sent by the node C1 to the client node C3 takes a route B1 starting at the client node C1, passing through the router nodes R1, R2 and R3, and ending at client node C3.
  • the client node C3 can receive other flows from other sources, such as for example a flow F2 emitted by the source A1, borrowing or intended to borrow a route B2 having in common with the route B1 the router node R3 and the client node C3.
  • the source A1 can be any type of equipment capable of connecting to a router node of the operator network N2.
  • the source A1 is illustrated by a cloud appearing outside the networks N2 or N3, but it may or may not be part of the operator network N2, or may or may not be part of the customer network N3.
  • This problem is often referred to in the literature as a denial of service attack, or a DoS (Denial of Service) attack.
  • the source A1, illustrated in figure 1 as being single for simplicity, can also be multiple, which aggravates the problem. This is called a distributed DoS attack, or DDoS attack (Distributed DoS, in English).
  • the multiple flows emitted by the multiple source A1, in other words the DDoS attacker can take different routes but they all end up on the router node R3 which is the last router node before the attacked node which is the client node C3.
  • the flows arriving at the router node R3 and which are not legitimately expected by the client node C3 and risk harming it must be filtered, that is to say either blocked or reduced in their volume or in their speed, or lowered in terms of priority (QoS).
  • QoS priority
  • Lowering the priority of flows is particularly advantageous if it is important to allow certain legitimate but unpredictable flows coming from the Internet to pass, as long as an attack is not in progress.
  • the streams arriving at the router node R3, and which are legitimately expected by the client node C3, are prioritized relative to the other streams.
  • a flow must be able to provide the router node R3 with a particular parameter before being transmitted by the router node R3 to its destination which is the client node C3.
  • This protection parameter comparable to a signature, must be known in advance by the router node R3. It is communicated in a signal originating from a device of the client network N3 intended for an entity of the transport network N2.
  • several alternative methods allow the router node R3 to obtain the necessary information, including the protection parameter.
  • the router node R3 must be able to identify the client node and the flows to be protected.
  • the signaling includes either the destination address of the flows, which corresponds to the IP address of the client node C3, or other information making it possible to identify the client node C3, such as a port number or interface, a domain name (DNS), a cryptographic certificate, etc.
  • DNS domain name
  • Using an IPv6 address is particularly advantageous because this address is coded on a sufficiently large number of bits to also include the protection parameter.
  • the signaling is sent directly by the client node C3, another way for the router node R3 to identify the client node C3 is through the identifier of the sender of the signaling, such as the IP address of origin of a signaling packet or the incoming signaling interface.
  • Several signaling protocols to the router node R3 can be used:
  • a flow signaling protocol such as BGP FlowSpec (RFC5575 and its revision draft-ietf-idr-rfc5575bis “Dissemination of Flow Specification Rules”) and its extensions;
  • a configuration protocol such as NETCONF (RFC 6241 “Network Configuration Protocol (NETCONF)”, RESTCONF (RFC 8040 “RESTCONF Protocol”, CLI (Command Line Interface) or SNMP;
  • NETCONF Network Configuration Protocol
  • RESTCONF RESTCONF Protocol
  • CLI Common Line Interface
  • SNMP SNMP
  • API Application Programming Interface
  • the signaling source can be:
  • a client flow communication controller for example an SD-WAN controller, in the N3 network.
  • the signaling can pass through a router controller of the operator network N2, in cases where, for example, the routers of the network N2 are not able to receive signaling messages directly from the network N3.
  • This controller then acts as an intermediate device which adapts the protocol or the format of the signaling message before retransmitting it to a router.
  • the client node C1 sends its stream with the protection parameter of its choice (or of the choice of the client node C3).
  • the router node R1 monitors the headers of new flows originating from the client node C1.
  • the router node R1 discovers the protection parameter and signals it to the router node R3, directly or indirectly via a router controller of the operator network N2.
  • the router node R3 after having received the protection parameter, the router node R3 communicates it to the router nodes which are immediately neighboring it, that is to say the router nodes R2 and R4. Indeed all the flows intended for the client node C3 necessarily pass through one of the router nodes immediately upstream of the router node R3.
  • the burden of processing according to the invention prioritization, or prioritization with filtering
  • the streams intended for the client node C3 is distributed over several router nodes rather than over a single one.
  • the communication of the protection parameter to an upstream router node can be triggered by a downstream router node when the volume of flows received by this router reaches a threshold endangering the downstream node or the link between the router node upstream and the downstream router node.
  • the router node R3 protects itself by delegating the processing load (prioritization, or prioritization with filtering) to the router node R4, which is useful because it is through this node that the stream F2 passes.
  • the router node R4 can also communicate the protection code to an upstream router node (not illustrated in FIG. 1), recursively. The threshold for triggering this communication may depend on the capacities of the router node R4 and be different from that of the router node R3.
  • the protection parameter is also inserted into one or more fields of the packets of the F1 before they are sent by the client node C1.
  • the protection parameter is inserted in a single field of a packet, but in a variant embodiment it may consist of several parts which are distributed in several fields of a packet.
  • the protection parameter is included in the destination IPv6 address of the packets of the stream F1, for example in the last 64 bits of the IPv6 address.
  • the flow F1 is an IPsec tunnel and the protection parameter is included in the SPI (Security Parameters Index) field.
  • SPI Security Parameters Index
  • the flow F1 is an IPsec tunnel and the protection parameter is distributed over several fields, of which the SPI field preferably forms part.
  • the other fields that can be used are: the Protocol field (or the Next Header field in the case of IPv6), the source IP address field, the destination IP address field, the source port field, the destination port field.
  • Some SRv6 fields Segment Routing IPv6, RFC 8754), such as for example Segment List, Segment List [n], Tag, HMAC TLV.
  • the SPI field cannot be used but the other fields which have just been mentioned can be used.
  • the Key field of GRE Generic Routing Encapsulation
  • Other fields specific to IPv6 packets can also be used, such as Routing Header, Destination option, or Authentication Header.
  • IPv4 For security and particularly in IPv4, it may be preferable to distribute the protection parameter over several fields including at least the Protocol field, because the other fields (IP addresses and ports) are more easily discoverable by an attacker.
  • the protection device 100 implements the method for protecting a stream of packets, of which various embodiments have just been described.
  • Such a device 100 can be implemented in a flow sender or receiver node, or in a client flow communication controller (for example an SD-WAN controller).
  • the device 100 comprises a receiver 101, a transmitter 102, a processing unit 130, equipped for example with a microprocessor pP, and controlled by a computer program 110, stored in a memory 120 and implementing the protection method according to the invention.
  • the code instructions of the computer program 110 are for example loaded into a RAM memory, before being executed by the processor of the processing unit 130.
  • Such a memory 120 such a processor of the processing unit 130, such a receiver 101 and such a transmitter 102 are capable of, and configured for:
  • the prioritization device 200 implements the process for filtering a stream of packets, of which different embodiments have just been described.
  • Such a device 200 can be implemented in a packet flow router node, for example the router node connected to a client node destination of the flows.
  • the device 200 comprises a receiver 201, a transmitter 202, a processing unit 230, equipped for example with a microprocessor pP, and controlled by a computer program 210, stored in a memory 220 and implementing the method for prioritizing a flow of packets according to the invention.
  • the code instructions of the computer program 210 are for example loaded into a RAM memory, before being executed by the processor of the processing unit 230.
  • Such a memory 220, such a processor of the processing unit 230, such a receiver 201 and such a transmitter 202 are capable of, and configured for:
  • FIGS. 2 and 3 can be hardware or software.
  • Figures 2 and 3 illustrate only one particular way, among several possible ones, of carrying out the algorithm detailed above, in relation to figure 1 . Indeed, the technique of the invention is carried out either on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated calculation machine (for example a set of logic gates like an FPGA or an ASIC, or any other hardware module).
  • a reprogrammable calculation machine a PC computer, a DSP processor or a microcontroller
  • a dedicated calculation machine for example a set of logic gates like an FPGA or an ASIC, or any other hardware module.
  • the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as for example a USB key , a floppy disk, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.
  • a removable storage medium such as for example a USB key , a floppy disk, a CD-ROM or a DVD-ROM

Abstract

The invention relates to a method for prioritising a packet flow, the method being implemented by the router node connected to the receiving node and comprising: receiving a message containing the expected value of the protection parameter, from a device associated with the receiving node; and prioritising packets containing the expected value of the protection parameter.

Description

DESCRIPTION DESCRIPTION
Procédé et dispositif de priorisation de flux de paquets Packet flow prioritization method and device
1. Domaine de l'invention 1. Field of the invention
L’invention se situe dans le domaine des télécommunications, et plus particulièrement des réseaux constitués de routeurs acheminant des paquets IP. The invention lies in the field of telecommunications, and more particularly networks consisting of routers routing IP packets.
2. Etat de la technique antérieure 2. State of the prior art
Dans de nombreuses usages de type VPN (Virtual Private Network, ou réseau privé virtuel), et en particulier pour les offres de type SD-WAN (Software Defined Wide Area Network, ou réseau métropolitain défini par logiciel) qui gagnent en popularité de nos jours, des tunnels IPsec sont établis entre des sites du VPN d'un client, par exemple une entreprise établie sur plusieurs sites. Ces tunnels IPsec sont transportés par un réseau IP ou MPLS qui n’a pas connaissance de ces tunnels IPsec. Ce réseau "de transport" est typiquement l’Internet du fait de son ubiquité, haut débit et bas coût. In many VPN (Virtual Private Network) type uses, and in particular for SD-WAN (Software Defined Wide Area Network) type offers which are gaining popularity these days , IPsec tunnels are established between sites of a customer's VPN, for example a company established on several sites. These IPsec tunnels are carried by an IP or MPLS network that is unaware of these IPsec tunnels. This "transport" network is typically the Internet because of its ubiquity, high speed and low cost.
Tous les utilisateurs du réseau IP de transport peuvent également envoyer des paquets vers les sites clients. Dans le cas de l’Internet, un très grand nombre d’utilisateurs (de l'ordre du milliard) peuvent donc envoyer des paquets, potentiellement à haut débit. Un attaquant quelconque dans l’Internet peut ainsi envoyer une grande quantité de paquets sur un site client et ainsi saturer l’interface client et/ou ou le routeur client, réalisant ainsi une attaque par déni de service (DOS). Il peut également utiliser de nombreuses sources de trafic différentes toutes dirigées vers une même destination - le site client destinataire des paquets IPsec - réalisant ainsi une attaque par déni de service distribué (DDOS). De ce fait, le tunnel IPsec n’a plus de ressources et la quasi-totalité de son trafic est détruit en amont de sa destination, typiquement sur le dernier routeur du réseau de transport IP/MPLS. All users of the transport IP network can also send packets to customer sites. In the case of the Internet, a very large number of users (of the order of a billion) can therefore send packets, potentially at high speed. Any attacker on the Internet can thus send a large quantity of packets to a client site and thus saturate the client interface and/or or the client router, thus carrying out a denial of service (DOS) attack. It can also use many different traffic sources all directed to a single destination - the client site receiving the IPsec packets - thus performing a Distributed Denial of Service (DDOS) attack. As a result, the IPsec tunnel no longer has any resources and almost all of its traffic is destroyed upstream of its destination, typically on the last router of the IP/MPLS transport network.
Une solution connue est de déployer des équipements de protection capable d’analyser tous les flux/paquets en direction du site client, d’essayer de distinguer le trafic légitime du trafic de DDOS, et de prioriser le trafic légitime au dépends du trafic de DDOS. Cette solution présente plusieurs inconvénients. A known solution is to deploy protective equipment capable of analyzing all flows/packets towards the customer site, to try to distinguish legitimate traffic from DDOS traffic, and to prioritize legitimate traffic over DDOS traffic. This solution has several drawbacks.
Cette solution repose sur de la force brute d’analyse de tous les paquets de tous les flux. Elle est donc intrinsèquement coûteuse et ne passe pas à l’échelle de la réalité. De plus, le travail nécessaire à l’analyse et la protection est beaucoup plus compliqué que le travail d’envoyer des paquets d’attaques. De ce fait, le défenseur est intrinsèquement dans une position d'infériorité par rapport à l’attaquant. This solution is based on brute force analysis of all packets of all flows. It is therefore inherently expensive and does not scale to reality. Moreover, the work required for analysis and protection is much more complicated than the work of sending attack packets. As a result, the defender is inherently in a position of inferiority to the attacker.
Cette solution ne peut garantir qu’elle peut/pourra distinguer les paquets ou les flux légitimes par rapport aux paquets ou flux d’attaques. Elle se base sur des heuristiques suite aux attaques précédentes ou sur le fait que l’attaquant a des chances d’envoyer des paquets/flux relativement semblables afin de se simplifier la vie, d’optimiser le travail des équipements attaquant et/ou utilise des équipements qu’il ne contrôle pas entièrement (attaques par réflexion). Mais un attaquant suffisamment motivé avec suffisamment de ressources (payées ou volées) a toutes les chances d’échapper à la détection. This solution cannot guarantee that it can/will distinguish legitimate packets or flows from attack packets or flows. It is based on heuristics following previous attacks or on the fact that the attacker is likely to send relatively similar packets/flows in order to simplify his life, to optimize the work of the attacking equipment and/or uses equipment that he does not fully control (reflection attacks). But a sufficiently motivated attacker with enough resources (paid or stolen) has every chance of evading detection.
Enfin, cette solution doit être dimensionnée pour la plus grosse attaque possible, même si celle-ci n’est subie qu’une seule fois par an. Ce coût maximum est difficile à amortir sur l’ensemble des attaques plus petites. Mais si l’opérateur ne fait pas cet investissement, d’une part le client ne peut plus avoir confiance dans l’offre et d’autre part l’attaquant connait le point faible. Finally, this solution must be sized for the largest possible attack, even if it is only suffered once a year. This maximum cost is difficult to amortize across all smaller attacks. But if the operator does not make this investment, on the one hand the customer can no longer trust the offer and on the other hand the attacker knows the weak point.
Un des buts de l'invention est de remédier à ces inconvénients de l'état de la technique. One of the aims of the invention is to remedy these drawbacks of the state of the art.
3. Exposé de l'invention 3. Disclosure of Invention
L'invention vient améliorer la situation à l'aide d'un procédé de protection d’un flux de paquets dans un réseau composé de nœuds routeurs de paquets, et de nœuds émetteur et récepteur du flux, le nœud récepteur étant connecté à un nœud routeur traitant le routage d'un paquet à destination du nœud récepteur en fonction d'une valeur attendue d'un paramètre de protection compris dans au moins un champ d'un paquet du flux, le procédé étant mis en œuvre par un dispositif associé au nœud récepteur et comprenant : The invention improves the situation with the aid of a method for protecting a stream of packets in a network composed of packet router nodes, and stream transmitter and receiver nodes, the receiver node being connected to a node router processing the routing of a packet to the receiving node based on an expected value a protection parameter included in at least one field of a stream packet, the method being implemented by a device associated with the receiver node and comprising:
• l'émission d'un message comprenant la valeur attendue du paramètre de protection, à destination du nœud routeur connecté au nœud récepteur. • transmission of a message comprising the expected value of the protection parameter, intended for the router node connected to the receiver node.
Dans un réseau classique, les routeurs sont gérés par un opérateur qui n'a pas la connaissance de la légitimité des flux traversant les routeurs, car ces flux sont établis par des entités tierces. Une entité tierce est par exemple une entreprise gérant des nœuds émetteurs et récepteurs de flux de paquets entre des sites ou des machines de l'entreprise, ces nœuds émetteurs et récepteurs étant collectivement appelés nœuds clients. Cette entreprise est cliente de l'opérateur des nœuds routeurs, et/ou d'un fournisseur dit OTT (Over The Top), c'est à dire un fournisseur utilisant à des fins commerciales les ressources et les capacités de ces mêmes routeurs qui toutefois restent gérés par leur opérateur. In a conventional network, the routers are managed by an operator who has no knowledge of the legitimacy of the flows passing through the routers, since these flows are established by third-party entities. A third-party entity is, for example, a company managing sender and receiver nodes of packet streams between sites or machines of the company, these sender and receiver nodes being collectively called client nodes. This company is a customer of the operator of the router nodes, and/or of a so-called OTT (Over The Top) supplier, i.e. a supplier using for commercial purposes the resources and capacities of these same routers which however remain managed by their operator.
Grâce à l'invention, les flux véhiculés sont protégés par les routeurs, alors que ces flux ne sont pas nécessairement gérés (c’est-à-dire générés, émis ou reçus) par l'opérateur des routeurs. Le message comprenant la valeur du paramètre de protection peut être un message envoyé directement ou indirectement, depuis un équipement de gestion de flux vers un nœud routeur. Cet équipement de gestion de flux est associé au nœud récepteur d'un flux, c’est-à-dire qu'il peut être compris dans un nœud client, c’est-à-dire dans le nœud émetteur ou dans le nœud récepteur, ou dans une autre entité comme par exemple un équipement de supervision ou de contrôle ou de configuration des nœuds clients. Ce peut être par exemple un nœud contrôleur de réseau SD-WAN. Le traitement des paquets effectué par le routeur est fonction du paramètre de protection reçu dans le message. Par exemple, si un paquet reçu par le routeur présente la valeur attendue du paramètre dans un champ déterminé et associé au flux, il est traité selon une politique déterminée à l'avance, c’est-à-dire par exemple qu'il est affecté d’une priorité (QoS) plus forte. Cela n'exclut pas que si au contraire le paquet ne présente pas la valeur attendue du paramètre de protection, un autre aspect de la politique mentionnée plus haut puisse défavoriser le flux auquel appartient le paquet, par exemple en en abaissant la priorité, ou en le filtrant. Thanks to the invention, the streams conveyed are protected by the routers, whereas these streams are not necessarily managed (that is to say generated, transmitted or received) by the operator of the routers. The message comprising the value of the protection parameter can be a message sent directly or indirectly, from a flow management device to a router node. This flow management equipment is associated with the receiver node of a flow, i.e. it can be included in a client node, i.e. in the transmitter node or in the receiver node , or in another entity such as, for example, equipment for monitoring or controlling or configuring client nodes. It can be for example an SD-WAN network controller node. The packet processing performed by the router depends on the protection parameter received in the message. For example, if a packet received by the router presents the expected value of the parameter in a determined field associated with the flow, it is processed according to a policy determined in advance, that is to say for example that it is assigned a higher priority (QoS). This does not exclude that if, on the contrary, the packet does not have the expected value of the protection parameter, another aspect of the policy mentioned above may disadvantage the flow to which the packet belongs, for example by lowering its priority, or by filtering it.
Selon un aspect du procédé de protection d’un flux de paquets, l'émission du message comprenant la valeur attendue du paramètre de protection est déclenchée par l'obtention d'une information indicative d'une congestion entre le nœud émetteur et le nœud récepteur. According to one aspect of the method for protecting a stream of packets, the sending of the message comprising the expected value of the protection parameter is triggered by obtaining information indicative of congestion between the sender node and the receiver node .
Grâce à cet aspect, l'effet d'une attaque peut être neutralisé même après qu'elle ait commencé. En effet, un des premiers effets d'une attaque est l'augmentation du volume des données à destination du nœud récepteur. Cette augmentation peut être détectée à plusieurs niveaux, par exemple au niveau du nœud émetteur qui n'arrive plus à communiquer correctement avec le nœud récepteur, au niveau d'un nœud routeur sur lequel arrive en transit un volume excessif de données à destination du nœud récepteur, ou au niveau du nœud récepteur lui-même qui reçoit un volume excessif de données. Si la congestion n'est pas détectée au niveau du dispositif émettant le message du paramètre de protection, l'information indicative d'une congestion lui est transmise. Dans ce mode, le procédé selon l'invention représente une solution en réaction à une attaque. On comprend également que la valeur du paramètre peut être changée aussi fréquemment que nécessaire, entre autre si l'attaquant découvre la bonne valeur du paramètre de protection. Thanks to this aspect, the effect of an attack can be neutralized even after it has started. Indeed, one of the first effects of an attack is the increase in the volume of data destined for the receiving node. This increase can be detected at several levels, for example at the level of the sender node which no longer manages to communicate correctly with the receiver node, at the level of a router node on which an excessive volume of data arriving in transit to the node receiver, or at the receiving node itself which receives an excessive volume of data. If the congestion is not detected at the level of the device transmitting the message of the protection parameter, the information indicative of a congestion is transmitted to it. In this mode, the method according to the invention represents a solution in reaction to an attack. It is also understood that the value of the parameter can be changed as frequently as necessary, among other things if the attacker discovers the correct value of the protection parameter.
Selon un aspect du procédé de protection d’un flux de paquets, un nouveau message est réémis avec une nouvelle valeur du paramètre de protection, après expiration d'une période définie. According to one aspect of the packet flow protection method, a new message is retransmitted with a new value of the protection parameter, after expiration of a defined period.
Grâce à cet aspect, même si un attaquant découvre la valeur courante du paramètre de protection, elle aura changé même en cas d'attaque au niveau du nœud récepteur, à la condition que cette attaque n'empêche pas la réémission du message. Dans ce mode, le procédé selon l'invention représente une solution en prévention d'une attaque. Thanks to this aspect, even if an attacker discovers the current value of the protection parameter, it will have changed even in the event of an attack at the level of the receiving node, on the condition that this attack does not prevent the retransmission of the message. In this mode, the method according to the invention represents a solution for preventing an attack.
Selon un aspect du procédé de protection d’un flux de paquets, le message comprend plusieurs valeurs attendues du paramètre de protection, chaque valeur correspondant à une période différente d'utilisation. According to one aspect of the method for protecting a stream of packets, the message comprises several expected values of the protection parameter, each value corresponding to a different period of use.
Grâce à cet aspect, même si un attaquant découvre la valeur courante du paramètre de protection, elle est remplacée par une autre valeur fournie à l’avance. Thanks to this aspect, even if an attacker discovers the current value of the protection parameter, it is replaced by another value provided in advance.
Dans un mode, cela peut être fait de façon planifiée et synchronisée avec l’émetteur du flux, au moyen d’un changement automatique de la valeur du paramètre de protection au bout d'une période déterminée à l'avance, sans qu'il soit nécessaire de réémettre le message. Ceci est particulièrement avantageux si une attaque en cours rend impossible l'émission d’un nouveau message. Dans ce mode, le procédé selon l'invention représente une solution à la fois en réaction à, et en prévention d'une attaque. In one mode, this can be done in a planned and synchronized way with the sender of the flow, by means of an automatic change of the value of the protection parameter after a period determined in advance, without it it is necessary to resend the message. This is particularly advantageous if an attack in progress makes it impossible to send a new message. In this mode, the method according to the invention represents a solution both in reaction to and in prevention of an attack.
Dans un autre mode, cela peut aussi être fait en réaction à une attaque, sans qu'il soit nécessaire de réémettre un nouveau message, au moyen d’un changement de la valeur du paramètre de protection qui est par exemple déclenché par l'obtention d'une information indicative d'une congestion entre le nœud émetteur et le nœud récepteur. Dans ce mode le nœud routeur doit également émettre un message pour informer le nœud émetteur du flux à partir de quel moment la valeur du paramètre de protection a changé. In another mode, this can also be done in reaction to an attack, without the need to resend a new message, by means of a change in the value of the protection parameter which is for example triggered by obtaining information indicative of congestion between the sender node and the receiver node. In this mode, the router node must also send a message to inform the sender node of the flow from when the value of the protection parameter has changed.
L'invention vient de plus améliorer la situation à l'aide d'un procédé de priorisation d’un flux de paquets dans un réseau composé de nœuds routeurs de paquets, et de nœuds émetteur et récepteur du flux, le nœud récepteur étant connecté à un nœud routeur traitant le routage d'un paquet à destination du nœud récepteur en fonction d'une valeur attendue d'un paramètre de protection compris dans au moins un champ d'un paquet du flux, le procédé étant mis en œuvre par le nœud routeur connecté au nœud récepteur et comprenant : The invention further improves the situation with the aid of a process for prioritizing a flow of packets in a network composed of packet router nodes, and flow transmitter and receiver nodes, the receiver node being connected to a router node processing the routing of a packet destined for the receiver node according to an expected value of a protection parameter included in at least one field of a packet of the stream, the method being implemented by the node router connected to the receiver node and comprising:
• la réception d'un message comprenant la valeur attendue du paramètre de protection, en provenance d'un dispositif associé au nœud récepteur, • the reception of a message comprising the expected value of the protection parameter, coming from a device associated with the receiving node,
• la priorisation des paquets comprenant la valeur attendue du paramètre de protection. • prioritization of packets including the expected value of the protection parameter.
On comprend que grâce à ce procédé les flux spécifiés ou attendus par les nœuds clients sont aussi attendus par le nœud récepteur connecté au nœud récepteur. Si ces flux arrivent jusqu'à ce nœud routeur tout en étant destinés au nœud récepteur client, ils sont routés jusqu'au nœud récepteur client en étant priorisés, uniquement si les paquets de tels flux présentent la valeur attendue du paramètre de protection. It is understood that thanks to this process the flows specified or expected by the client nodes are also expected by the receiving node connected to the receiving node. If these flows arrive as far as this router node while being intended for the client receiver node, they are routed as far as the client receiver node by being prioritized, only if the packets of such flows have the expected value of the protection parameter.
Cette priorisation est avantageuse dans toute situation de fort trafic à destination du nœud récepteur engendrant des ralentissements au niveau des nœuds routeurs ou des liens entre eux, lorsque tous les flux, sans être forcément illégitimes, ne sont pas ceux attendus par le nœud récepteur. Cet avantage est d'autant plus intéressant en cas d'attaque par DOS ou DDOS vers un nœud client. This prioritization is advantageous in any situation of heavy traffic to the receiving node causing slowdowns at the level of the router nodes or the links between them, when all the flows, without necessarily being illegitimate, are not those expected by the receiving node. This advantage is all the more interesting in the event of an attack by DOS or DDOS towards a client node.
Le dispositif à l'initiative du message comprenant la valeur du paramètre de protection fait partie du même domaine administratif que le nœud récepteur client, ce domaine étant par exemple celui du réseau client. Le nœud routeur effectuant le filtrage, connecté au nœud récepteur, peut recevoir ce message directement du réseau client. Dans un autre mode de réalisation, il peut aussi le recevoir indirectement, si par exemple un équipement intermédiaire doit en modifier le format et/ou s'il n'est pas possible pour le nœud routeur de recevoir une signalisation directement du réseau client. Cet équipement intermédiaire peut être un contrôleur de flux faisant partie du réseau opérateur comprenant les nœuds routeurs, et ne comprenant pas les nœuds émetteur et récepteur, auquel le dispositif associé au nœud récepteur peut envoyer des signalisations. The device at the initiative of the message comprising the value of the protection parameter is part of the same administrative domain as the client receiving node, this domain being for example that of the client network. The router node performing the filtering, connected to the receiving node, can receive this message directly from the client network. In another embodiment, it can also receive it indirectly, if for example an intermediate equipment has to modify its format and/or if it is not possible for the router node to receive signaling directly from the client network. This intermediate equipment can be a flow controller forming part of the operator network comprising the router nodes, and not comprising the transmitter and receiver nodes, to which the device associated with the receiver node can send signals.
Selon un aspect du procédé de priorisation d’un flux de paquets, la priorisation comprend la mise des paquets dans une file d'attente ayant accès à une ou plusieurs interfaces de sortie du nœud routeur, l'accès étant prioritaire sur au moins une autre file d'attente.According to one aspect of the method for prioritizing a flow of packets, the prioritization comprises placing the packets in a queue having access to one or more output interfaces of the router node, the access having priority over at least one other waiting line.
Grâce à cet aspect, le nœud routeur place un paquet marqué dans une file d’attente (queue) différente qui sera servie (utilisée) en priorité lors de l’émission des paquets sur le lien en sortie du nœud routeur. Cela peut être en priorité stricte, c’est-à-dire tant que cette queue a des paquets à envoyer, c’est la seule qui a accès à l’interface de sortie. En priorité moins stricte, la file d’attente prioritaire peut avoir des caractéristiques différentes des autres, par exemple une capacité plus grande (buffer plus grand), une politique d'élimination des paquets en débordement moins agressive ou rapide en cas de congestion, etc. Thanks to this aspect, the router node places a marked packet in a different queue (queue) which will be served (used) in priority during the transmission of packets on the outgoing link of the router node. This can be in strict priority, ie as long as this queue has packets to send, it is the only one that has access to the output interface. In less strict priority, the priority queue can have different characteristics from the others, for example a larger capacity (bigger buffer), a less aggressive or fast overflow packet discard policy in case of congestion, etc.
Selon un aspect du procédé de priorisation d’un flux de paquets, le procédé comprend en outre : According to one aspect of the method for prioritizing a stream of packets, the method further comprises:
• le filtrage des paquets ne comprenant pas la valeur attendue du paramètre de protection. • the filtering of packets that do not include the expected value of the protection parameter.
Grâce à cet aspect, non seulement les flux spécifiés ou attendus par les nœuds clients sont routés en étant priorisés jusqu'à un nœud client par un nœud routeur, mais les autres flux sont modifiés défavorablement (la modification pouvant aller jusqu'à la destruction de tous les paquets du flux). Cette modification défavorable d'un flux est désignée par le terme de "filtrage" dans la suite. Même si les paquets reçus par le nœud routeur indiquent l'adresse de destination du nœud client, ils ne sont donc pas routés vers lui normalement ou selon le traitement par défaut si ces paquets ne présentent pas aussi la valeur attendue du paramètre de protection, dans le ou les champs attendus. Ainsi, une attaque par DOS ou DDOS vers le nœud client devient impossible. Thanks to this aspect, not only the flows specified or expected by the client nodes are routed by being prioritized up to a client node by a router node, but the other flows are modified unfavorably (the modification possibly going as far as the destruction of all packets in the stream). This unfavorable modification of a flow is designated by the term "filtering" in the following. Even if the packets received by the router node indicate the destination address of the client node, they are therefore not routed towards it normally or according to the default processing if these packets do not also have the expected value of the protection parameter, in the expected field(s). Thus, a DOS or DDOS attack towards the client node becomes impossible.
Selon un aspect du procédé de priorisation d’un flux de paquets, le filtrage comprend un blocage des paquets, ou une destruction des paquets, ou un abaissement de la priorité des paquets. According to one aspect of the method for prioritizing a flow of packets, the filtering comprises blocking the packets, or destroying the packets, or lowering the priority of the packets.
Grâce à cet aspect, selon une politique appliquée par l'opérateur et décidée en concertation ou non avec le client, lorsqu'un paquet ne présente pas la bonne valeur du paramètre de protection, soit la priorité du paquet est abaissée, ce qui ralentit l'arrivée des paquets du flux sur le nœud client récepteur en lui permettant de continuer à recevoir d'autres flux, soit tous les paquets du flux sont bloqués, ou détruits sans être transmis, ce qui préserve complètement le nœud client récepteur de toute nuisance que ce flux lui causerait. Thanks to this aspect, according to a policy applied by the operator and decided in consultation or not with the customer, when a packet does not have the correct value of the protection parameter, either the priority of the packet is lowered, which slows down the arrival of the stream packets on the receiver client node by allowing it to continue to receive other streams, either all the stream packets are blocked, or destroyed without being transmitted, which completely preserves the receiver client node from any nuisance that this flow would cause him.
Selon un aspect du procédé de priorisation d’un flux de paquets, le procédé comprend en outre l'émission du message comprenant la valeur attendue du paramètre de protection, vers un nœud routeur voisin du nœud routeur connecté au nœud récepteur. Grâce à cet aspect, la priorisation des flux est rendue possible au niveau d'un nœud voisin du nœud routeur connecté au nœud client, de préférence en amont du flux. Cela est avantageux dans le cas d'une attaque DDoS, où les flux attaquant arrivent sur le dernier nœud routeur en provenance de plusieurs nœuds routeurs immédiatement voisins. La charge de prioriser les flux est ainsi mieux répartie dans le réseau de routeurs. L'émission du message, qui est équivalent à l'émission d'une commande de priorisation, peut n'être déclenchée que sur atteinte d'un seuil, par exemple lorsque le volume de données reçues par le nœud routeur ou sur son interface amont atteint un seuil au-delà duquel le fonctionnement du nœud routeur ou de son interface amont est mis en danger. According to one aspect of the method for prioritizing a stream of packets, the method further comprises sending the message comprising the expected value of the protection parameter, to a neighboring router node of the router node connected to the receiver node. Thanks to this aspect, stream prioritization is made possible at the level of a neighboring node of the router node connected to the client node, preferably upstream of the stream. This is advantageous in the case of a DDoS attack, where the attacking flows arrive at the last router node from several immediately neighboring router nodes. The load of prioritizing flows is thus better distributed in the network of routers. The transmission of the message, which is equivalent to the transmission of a prioritization command, can only be triggered on reaching a threshold, for example when the volume of data received by the router node or on its upstream interface reaches a threshold beyond which the operation of the router node or of its upstream interface is endangered.
Selon un aspect du procédé de protection et du procédé de priorisation d’un flux de paquets, le paramètre de protection est inclus dans l'adresse IPv6 de destination des paquets du flux. According to one aspect of the protection method and of the method for prioritizing a stream of packets, the protection parameter is included in the destination IPv6 address of the packets of the stream.
Grâce à cet aspect, une particularité existante des adresses en IPv6 est exploitée avantageusement. En effet les derniers bits d’une adresse IPv6, par exemple les 64 derniers bits, peuvent être déterminés et modifiés à volonté par l'utilisateur du flux, par exemple le client utilisateur des nœuds émetteur et récepteur, client du réseau opérateur formé par les nœuds routeurs, sans impacter le routage des paquets vers leur destination finale. Ces 64 bits représentent un très grand nombre de valeurs possibles pour le paramètre de protection, ce qui rend leur découverte par un attaquant difficile voire impossible. Thanks to this aspect, an existing particularity of addresses in IPv6 is advantageously exploited. Indeed the last bits of an IPv6 address, for example the last 64 bits, can be determined and modified at will by the user of the flow, for example the client user of the transmitter and receiver nodes, client of the operator network formed by the router nodes, without impacting the routing of packets to their final destination. These 64 bits represent a very large number of possible values for the protection parameter, which makes it difficult or even impossible for an attacker to discover them.
Selon un aspect du procédé de protection et du procédé de priorisation d’un flux de paquets, le flux est un tunnel IPsec ou un tunnel IP. According to one aspect of the method of protecting and of the method of prioritizing a stream of packets, the stream is an IPsec tunnel or an IP tunnel.
Grâce à cet aspect, la solution de protection couvre les flux les plus courants et les plus importants car typiquement à destinations de plusieurs destinataires. De plus, certains paramètres existants spécifiques de ces tunnels peuvent avantageusement être utilisés en tant que paramètre de protection selon l'invention. Des exemples de tunnel IP sont L2TP, GRE, UDP, SRv6 (Segment Routing IPv6). Selon un aspect du procédé de protection et du procédé de priorisation d’un flux de paquets, l'au moins un champ comprenant le paramètre de protection est un ou plusieurs des champs d'une liste comprenant: Thanks to this aspect, the protection solution covers the most common and most important flows, as they typically go to several recipients. Moreover, certain existing parameters specific to these tunnels can advantageously be used as protection parameter according to the invention. Examples of IP tunnel are L2TP, GRE, UDP, SRv6 (Segment Routing IPv6). According to one aspect of the protection method and of the method for prioritizing a flow of packets, the at least one field comprising the protection parameter is one or more of the fields of a list comprising:
• "Security Parameters Index" (SPI) de IPsec, • "Security Parameters Index" (SPI) of IPsec,
• "Protocol" de IPv4, • "Protocol" of IPv4,
• "Next Header" de IPv6, • "Next Header" of IPv6,
• "Flow Label" de IPv6, • "Flow Label" of IPv6,
• adresse IP source, ou adresse IP destination, ou port source, ou port destination, de IPv4 ou IPv6. • source IP address, or destination IP address, or source port, or destination port, of IPv4 or IPv6.
• "Key" de GRE, • "Key" of GRE,
• Segment List, ou Segment List [n], ou Tag, ou HMAC TLV de Segment Routing IPv6 (SRv6). • Segment List, or Segment List [n], or Tag, or HMAC Segment Routing IPv6 (SRv6) TLV.
Grâce à cet aspect, le flux reçu transitant par le nœud routeur peut être traité en fonction de plusieurs paramètres de protection, ce qui représente une combinaison plus difficile à découvrir par un attaquant, tout en fournissant plus de flexibilité à l’émetteur/récepteur du flux pour adapter la solution à ses cas d’usage. L’utilisation d’un paramètre spécifique à un contexte (tel que SPI, spécifique à IPsec) donne également une meilleure protection qu’un paramètre présent dans les tous paquets, quel que soit le contexte (tel que l'adresse IP ou le port), car il faut que l’attaquant découvre aussi le contexte (tel que le type de tunnel qu'utilise le flux). Thanks to this aspect, the received stream passing through the router node can be processed according to several protection parameters, which represents a combination that is more difficult for an attacker to discover, while providing more flexibility to the sender/receiver of the flows to adapt the solution to its use cases. Using a context-specific parameter (such as SPI, specific to IPsec) also gives better protection than a parameter present in all packets, regardless of context (such as IP address or port ), because the attacker also needs to discover the context (such as the type of tunnel the stream is using).
Selon un aspect du procédé de protection et du procédé de priorisation d’un flux de paquets, le message comprenant la valeur attendue du paramètre de protection est un message d'un des protocoles suivants: According to one aspect of the protection method and of the method for prioritizing a stream of packets, the message comprising the expected value of the protection parameter is a message from one of the following protocols:
• BGP Flow Spec, • BGP FlowSpec,
• NETCONF, • NETCONF,
• RESTCONF, • RESTCONF,
• En ligne de commande (CLI: Command Line Interface), • In command line (CLI: Command Line Interface),
• SNMP, • SNMP,
• API REST, API. • REST-APIs, APIs.
Grâce à cet aspect, le procédé selon l'invention s'insère dans une architecture réseau existante en réutilisant un protocole de communication déjà utilisé par des nœuds routeurs. Thanks to this aspect, the method according to the invention fits into an existing network architecture by reusing a communication protocol already used by router nodes.
L'invention concerne aussi un dispositif de protection d’un flux de paquets dans un réseau composé de nœuds routeurs de paquets, et de nœuds émetteur et récepteur du flux, le nœud récepteur étant connecté à un nœud routeur traitant le routage d'un paquet à destination du nœud récepteur en fonction d'une valeur attendue d'un paramètre de protection compris dans au moins un champ d'un paquet du flux, le dispositif étant associé au nœud récepteur et comprenant un récepteur, un émetteur, un processeur et une mémoire couplée au processeur avec des instructions destinées à être exécutées par le processeur pour : The invention also relates to a device for protecting a flow of packets in a network composed of packet router nodes, and flow transmitter and receiver nodes, the receiver node being connected to a router node processing the routing of a packet to the receiver node as a function of an expected value of a protection parameter included in at least one field of a packet of the flow, the device being associated with the receiver node and comprising a receiver, a transmitter, a processor and a memory coupled to the processor with instructions intended to be executed by the processor for:
• l'émission d'un message comprenant la valeur attendue du paramètre de protection, à destination du nœud routeur connecté au nœud récepteur. • transmission of a message comprising the expected value of the protection parameter, intended for the router node connected to the receiver node.
Ce dispositif, apte à mettre en œuvre dans tous ses modes de réalisation le procédé de protection de flux qui vient d'être décrit, est destiné à être mis en œuvre dans un équipement du sous-réseau composés des nœuds émetteur et récepteur du flux, aussi appelé réseau client. Il peut faire partie du nœud récepteur ou du nœud émetteur, ou faire partie d'un équipement de gestion du réseau client, distinct des nœuds émetteur ou récepteur du flux, par exemple un nœud contrôleur SD-WAN si le réseau client est de type SD-WAN. Dans tous les cas ce dispositif est associé au nœud récepteur, c’est- à-fait partie du même domaine administratif. This device, capable of implementing in all its embodiments the flow protection method which has just been described, is intended to be implemented in equipment of the sub-network composed of the transmitter and receiver nodes of the flow, also called client network. It can be part of the receiver node or the sender node, or be part of a customer network management device, separate from the flow sender or receiver nodes, for example an SD-WAN controller node if the customer network is SD type -WAN. In all cases, this device is associated with the receiving node, that is, it is part of the same administrative domain.
L'invention concerne aussi un dispositif de priorisation d’un flux de paquets dans un réseau composé de nœuds routeurs de paquets, et de nœuds émetteur et récepteur du flux, le nœud récepteur étant connecté à un nœud routeur traitant le routage d'un paquet à destination du nœud récepteur en fonction d'une valeur attendue d'un paramètre de protection compris dans au moins un champ d'un paquet du flux, le dispositif étant mis en œuvre dans le nœud routeur connecté au nœud récepteur et comprenant un récepteur, un émetteur, un processeur et une mémoire couplée au processeur avec des instructions destinées à être exécutées par le processeur pour : The invention also relates to a device for prioritizing a flow of packets in a network composed of packet router nodes, and flow transmitter and receiver nodes, the receiver node being connected to a router node processing the routing of a packet to the receiver node as a function of an expected value of a protection parameter included in at least one field of a packet of the flow, the device being implemented in the router node connected to the receiver node and comprising a receiver, a transmitter, a processor and a memory coupled to the processor with instructions intended to be executed by the processor for:
• la réception d'un message comprenant la valeur attendue du paramètre de protection, en provenance d'un dispositif associé au nœud récepteur, • the reception of a message comprising the expected value of the protection parameter, coming from a device associated with the receiving node,
• la priorisation des paquets comprenant la valeur attendue du paramètre de protection. • prioritization of packets including the expected value of the protection parameter.
Ce dispositif, apte à mettre en œuvre dans tous ses modes de réalisation le procédé de priorisation de flux qui vient d'être décrit, est destiné à être mis en œuvre dans un nœud du sous-réseau composé des nœuds routeurs, aussi appelé réseau opérateur. Plus précisément ce dispositif fait partie du nœud routeur connecté au nœud récepteur du réseau client. This device, capable of implementing in all its embodiments the process for prioritizing flows which has just been described, is intended to be implemented in a node of the subnet composed of router nodes, also called operator network . More specifically, this device is part of the router node connected to the receiver node of the client network.
L'invention concerne aussi un programme d'ordinateur comprenant des instructions qui, lorsque ces instructions sont exécutées par un processeur, conduisent celui-ci à mettre en œuvre les étapes du procédé de protection, qui vient d'être décrit. The invention also relates to a computer program comprising instructions which, when these instructions are executed by a processor, lead the latter to implement the steps of the protection method, which has just been described.
L'invention concerne aussi un programme d'ordinateur comprenant des instructions qui, lorsque ces instructions sont exécutées par un processeur, conduisent celui-ci à mettre en œuvre les étapes du procédé de priorisation, qui vient d'être décrit. The invention also relates to a computer program comprising instructions which, when these instructions are executed by a processor, lead the latter to implement the steps of the prioritization method, which has just been described.
L’invention vise aussi un support d'informations lisible par un dispositif de protection, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. L’invention vise aussi un support d'informations lisible par un dispositif de priorisation, et comportant des instructions d'un programme d'ordinateur tel que mentionné ci-dessus. The invention also relates to an information medium readable by a protection device, and comprising instructions of a computer program as mentioned above. The invention also relates to an information medium readable by a prioritization device, and comprising instructions of a computer program as mentioned above.
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. The programs mentioned above may use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in partially compiled form, or in n any other desirable shape.
Les supports d'informations mentionnés ci-dessus peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support 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. The information carriers mentioned above can be any entity or device capable of storing the program. For example, a medium may include a storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or even a magnetic recording means.
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 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. Such a storage means can for example be a hard disk, a flash memory, etc. On the other hand, an information medium can be a transmissible medium such as an electrical or optical signal, which can be conveyed via an electrical or optical cable, by radio or by other means. A program according to the invention can in particular be downloaded from an Internet-type network.
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 des procédés en question. Alternatively, an information medium can be an integrated circuit in which a program is incorporated, the circuit being adapted to execute or to be used in the execution of the methods in question.
4. Présentation des figures 4. Presentation of figures
D'autres avantages et caractéristiques de l'invention apparaitront plus clairement à la lecture de la description suivante d'un mode de réalisation particulier de l'invention, donné à titre de simple exemple illustratif et non limitatif, et des dessins annexés, parmi lesquels : Other advantages and characteristics of the invention will appear more clearly on reading the following description of a particular embodiment of the invention, given by way of a simple illustrative and non-limiting example, and the appended drawings, among which :
[Fig 1] la figure 1 représente, de façon schématique, un réseau comprenant des nœuds routeurs et des nœuds clients conformes à l’invention, dans un mode particulier de réalisation, [Fig 1] Figure 1 schematically represents a network comprising router nodes and client nodes in accordance with the invention, in a particular embodiment,
[Fig 2] la figure 2 présente un exemple de structure d'un dispositif de protection, mis en œuvre côté réseau client, selon des aspects de l'invention, [Fig 2] Figure 2 shows an example of the structure of a protection device, implemented on the client network side, according to aspects of the invention,
[Fig 3] la figure 3 présente un exemple de structure d'un dispositif de priorisation, mis en œuvre côté réseau de routeurs, selon des aspects de l'invention. [FIG 3] FIG. 3 presents an example of the structure of a prioritization device, implemented on the network side of routers, according to aspects of the invention.
5. Description détaillée d'au moins un mode de réalisation de l'invention 5. Detailed description of at least one embodiment of the invention
La figure 1 représente, de façon schématique, un réseau comprenant des nœuds routeurs et des nœuds clients conformes à l’invention, dans un mode particulier de réalisation. Le réseau N1 comprend un sous-réseau N2 composé de nœuds routeurs R1 à R4 gérés par un opérateur de télécommunications, appelé réseau opérateur, et un sous-réseau N3 composé de nœuds clients C1 à C3 gérés par une entité tierce indépendante de l'opérateur, appelé réseau client. Le réseau opérateur N2 est par exemple un réseau IP/MPLS, aussi dit réseau de transport. Le réseau client N3 peut être de type VPN, SD- WAN, etc. FIG. 1 schematically represents a network comprising router nodes and client nodes in accordance with the invention, in a particular embodiment. The network N1 comprises a subnetwork N2 composed of router nodes R1 to R4 managed by a telecommunications operator, called operator network, and a subnetwork N3 composed of client nodes C1 to C3 managed by a third party entity independent of the operator , called customer network. The operator network N2 is for example an IP/MPLS network, also called a transport network. The N3 client network can be VPN, SD-WAN, etc.
Dans un mode particulier de réalisation, un flux F1 est établi entre le nœud client C1 et le nœud client C3. Le nœud client C1 est connecté au nœud routeur R1 , le nœud client C3 est connecté au nœud routeur R3, et le flux F1 émis par le nœud C1 à destination du nœud client C3 emprunte une route B1 commençant au nœud client C1 , passant par les nœuds routeurs R1 , R2 et R3, et se terminant au nœud client C3. In a particular embodiment, a flow F1 is established between the client node C1 and the client node C3. The client node C1 is connected to the router node R1, the client node C3 is connected to the router node R3, and the flow F1 sent by the node C1 to the client node C3 takes a route B1 starting at the client node C1, passing through the router nodes R1, R2 and R3, and ending at client node C3.
Le nœud client C3 peut recevoir d'autres flux en provenance d'autres sources, comme par exemple un flux F2 émis par la source A1 , empruntant ou étant destiné à emprunter une route B2 ayant en commun avec la route B1 le nœud routeur R3 et le nœud client C3. La source A1 peut être tout type d'équipement apte à se connecter à un nœud routeur du réseau opérateur N2. Par simplicité la source A1 est illustrée par un nuage figurant en dehors des réseaux N2 ou N3, mais elle peut faire partie ou non du réseau opérateur N2, ou faire partie ou non du réseau client N3. The client node C3 can receive other flows from other sources, such as for example a flow F2 emitted by the source A1, borrowing or intended to borrow a route B2 having in common with the route B1 the router node R3 and the client node C3. The source A1 can be any type of equipment capable of connecting to a router node of the operator network N2. For simplicity, the source A1 is illustrated by a cloud appearing outside the networks N2 or N3, but it may or may not be part of the operator network N2, or may or may not be part of the customer network N3.
Un problème survient lorsque le flux F2 émis par la source A1 n'est pas un flux attendu par le nœud client C3 et présente un volume de données susceptible de dégrader le fonctionnement du nœud client C3. Ce problème est souvent nommé dans la littérature attaque par déni de service, ou attaque DoS (Denial of Service, en anglais). La source A1 , illustrée dans la figure 1 comme étant unique par simplicité, peut aussi être multiple, ce qui aggrave le problème. On parle alors d'attaque DoS distribuée, ou attaque DDoS (Distributed DoS, en anglais). Les multiples flux émis par la source multiple A1 , autrement dit l'attaquant DDoS, peuvent emprunter des routes différentes mais ils aboutissent tous sur le nœud routeur R3 qui est le dernier nœud routeur avant le nœud attaqué qui est le nœud client C3. A problem arises when the stream F2 emitted by the source A1 is not a stream expected by the client node C3 and presents a volume of data likely to degrade the operation of the client node C3. This problem is often referred to in the literature as a denial of service attack, or a DoS (Denial of Service) attack. The source A1, illustrated in figure 1 as being single for simplicity, can also be multiple, which aggravates the problem. This is called a distributed DoS attack, or DDoS attack (Distributed DoS, in English). The multiple flows emitted by the multiple source A1, in other words the DDoS attacker, can take different routes but they all end up on the router node R3 which is the last router node before the attacked node which is the client node C3.
Afin de repousser une telle attaque, les flux arrivant sur le nœud routeur R3 et qui ne sont pas légitimement attendus par le nœud client C3 et risquent de lui nuire, doivent être filtrés, c’est-à-dire soit bloqués, soit réduits dans leur volume ou dans leur débit, soit abaissés en terme de priorité (QoS). Abaisser la priorité des flux est particulièrement avantageux s'il est important de laisser passer certains flux légitimes mais non prévisibles venant de l'Internet, tant qu'une attaque n'est pas en cours. In order to repel such an attack, the flows arriving at the router node R3 and which are not legitimately expected by the client node C3 and risk harming it, must be filtered, that is to say either blocked or reduced in their volume or in their speed, or lowered in terms of priority (QoS). Lowering the priority of flows is particularly advantageous if it is important to allow certain legitimate but unpredictable flows coming from the Internet to pass, as long as an attack is not in progress.
Selon l'invention, en remplacement ou en complément de ce filtrage, les flux arrivant sur le nœud routeur R3, et qui sont légitimement attendus par le nœud client C3, sont priorisés par rapport aux autres flux. According to the invention, replacing or in addition to this filtering, the streams arriving at the router node R3, and which are legitimately expected by the client node C3, are prioritized relative to the other streams.
Dans ce but, selon l'invention, un flux doit pouvoir fournir au nœud routeur R3 un paramètre particulier avant d'être transmis par le nœud routeur R3 à sa destination qui est le nœud client C3. Ce paramètre de protection, comparable à une signature, doit être connu à l'avance par le nœud routeur R3. Il est communiqué dans une signalisation en provenance d'un dispositif du réseau client N3 à destination d'une entité du réseau de transport N2. Selon l'invention, plusieurs méthodes alternatives permettent au nœud routeur R3 d'obtenir les informations nécessaires, dont le paramètre de protection. For this purpose, according to the invention, a flow must be able to provide the router node R3 with a particular parameter before being transmitted by the router node R3 to its destination which is the client node C3. This protection parameter, comparable to a signature, must be known in advance by the router node R3. It is communicated in a signal originating from a device of the client network N3 intended for an entity of the transport network N2. According to the invention, several alternative methods allow the router node R3 to obtain the necessary information, including the protection parameter.
Le nœud routeur R3 doit pouvoir identifier le nœud client et les flux à protéger. Pour ce faire, la signalisation comprend soit l'adresse de destination des flux, qui correspond à l'adresse IP du nœud client C3, soit une autre information permettant d'identifier le nœud client C3, tel qu'un numéro de port ou d'interface, un nom de domaine (DNS), un certificat cryptographique, etc. Utiliser une adresse IPv6 est particulièrement avantageux car cette adresse est codée sur un nombre de bits suffisamment grand pour aussi y inclure le paramètre de protection. Si la signalisation est émise directement par le nœud client C3, une autre façon pour le nœud routeur R3 d'identifier le nœud client C3 est au travers de l'identifiant de l'émetteur de la signalisation, comme par exemple l'adresse IP d'origine d'un paquet de la signalisation ou l’interface d’arrivée de la signalisation. Plusieurs protocoles de signalisation vers le nœud routeur R3 peuvent être utilisés :The router node R3 must be able to identify the client node and the flows to be protected. To do this, the signaling includes either the destination address of the flows, which corresponds to the IP address of the client node C3, or other information making it possible to identify the client node C3, such as a port number or interface, a domain name (DNS), a cryptographic certificate, etc. Using an IPv6 address is particularly advantageous because this address is coded on a sufficiently large number of bits to also include the protection parameter. If the signaling is sent directly by the client node C3, another way for the router node R3 to identify the client node C3 is through the identifier of the sender of the signaling, such as the IP address of origin of a signaling packet or the incoming signaling interface. Several signaling protocols to the router node R3 can be used:
Un protocole de signalisation de flux comme BGP FlowSpec (RFC5575 et sa révision draft-ietf-idr-rfc5575bis « Dissemination of Flow Specification Rules ») et ses extensions; A flow signaling protocol such as BGP FlowSpec (RFC5575 and its revision draft-ietf-idr-rfc5575bis “Dissemination of Flow Specification Rules”) and its extensions;
Un protocole de configuration tel que NETCONF (RFC 6241 « Network Configuration Protocol (NETCONF) », RESTCONF (RFC 8040 « RESTCONF Protocol », CLI (Command Line Interface) ou SNMP; A configuration protocol such as NETCONF (RFC 6241 “Network Configuration Protocol (NETCONF)”, RESTCONF (RFC 8040 “RESTCONF Protocol”, CLI (Command Line Interface) or SNMP;
Une interface propriétaire de type API (Application Programmation Interface). A proprietary interface of the API (Application Programming Interface) type.
La source de la signalisation peut être : The signaling source can be:
Le nœud client C1 ou le nœud client C3 ; The client node C1 or the client node C3;
Un contrôleur de communication des flux clients (par exemple un contrôleur SD- WAN), dans le réseau N3. A client flow communication controller (for example an SD-WAN controller), in the N3 network.
La signalisation peut transiter par un contrôleur de routeurs du réseau opérateur N2, dans les cas où par exemple les routeurs du réseau N2 ne sont pas aptes à recevoir directement du réseau N3 des messages de signalisation. Ce contrôleur agit alors comme équipement intermédiaire qui adapte le protocole ou le format du message de signalisation avant de le réémettre vers un routeur. The signaling can pass through a router controller of the operator network N2, in cases where, for example, the routers of the network N2 are not able to receive signaling messages directly from the network N3. This controller then acts as an intermediate device which adapts the protocol or the format of the signaling message before retransmitting it to a router.
Dans un mode de réalisation, le nœud client C1 envoie son flux avec le paramètre de protection de son choix (ou du choix du nœud client C3). Le nœud routeur R1 surveille les entêtes de nouveaux flux provenant du nœud client C1. Le nœud routeur R1 découvre le paramètre de protection et le signale au noud routeur R3, directement ou indirectement via un contrôleur de routeurs du réseau opérateur N2. In one embodiment, the client node C1 sends its stream with the protection parameter of its choice (or of the choice of the client node C3). The router node R1 monitors the headers of new flows originating from the client node C1. The router node R1 discovers the protection parameter and signals it to the router node R3, directly or indirectly via a router controller of the operator network N2.
Dans un mode de réalisation, après avoir reçu le paramètre de protection, le nœud routeur R3 le communique aux nœuds routeurs qui lui sont immédiatement voisins, c’est- à-dire les nœuds routeurs R2 et R4. En effet tous les flux destinés au nœud client C3 passent obligatoirement par un des nœuds routeurs immédiatement en amont du nœud routeur R3. Ainsi, la charge de traiter selon l'invention (priorisation, ou priorisation avec filtrage) les flux destinés au nœud client C3 est répartie sur plusieurs nœuds routeurs plutôt que sur un seul. In one embodiment, after having received the protection parameter, the router node R3 communicates it to the router nodes which are immediately neighboring it, that is to say the router nodes R2 and R4. Indeed all the flows intended for the client node C3 necessarily pass through one of the router nodes immediately upstream of the router node R3. Thus, the burden of processing according to the invention (prioritization, or prioritization with filtering) the streams intended for the client node C3 is distributed over several router nodes rather than over a single one.
Dans un mode de réalisation, la communication du paramètre de protection vers un nœud routeur amont peut être déclenchée par un nœud routeur aval lorsque le volume de flux reçus par ce routeur atteint un seuil mettant en danger le nœud aval ou le lien entre le nœud routeur amont et le nœud routeur aval. Ainsi, le nœud routeur R3 se protège en déléguant la charge des traitements (priorisation, ou priorisation avec filtrage) au nœud routeur R4, ce qui se trouve utile car c'est par ce nœud que transite le flux F2. Dans un mode de réalisation, le nœud routeur R4 peut lui aussi communiquer le code de protection vers un nœud routeur amont (non illustré dans la figure 1 ), de façon récursive. Le seuil de déclenchement de cette communication peut être fonction des capacités du nœud routeur R4 et être différent de celui du nœud routeur R3. On comprend qu'il est ainsi possible de remonter la charge de filtrer le flux F2 jusqu'au premier nœud routeur emprunté par le flux F2 dans le réseau N2. L'identification et la localisation de la source A1 peut ainsi être facilitée et l’ensemble du réseau N2 est alors dispensé de transporter le flux F2 qui non seulement est de volume important, mais est destiné à être détruit. In one embodiment, the communication of the protection parameter to an upstream router node can be triggered by a downstream router node when the volume of flows received by this router reaches a threshold endangering the downstream node or the link between the router node upstream and the downstream router node. Thus, the router node R3 protects itself by delegating the processing load (prioritization, or prioritization with filtering) to the router node R4, which is useful because it is through this node that the stream F2 passes. In one embodiment, the router node R4 can also communicate the protection code to an upstream router node (not illustrated in FIG. 1), recursively. The threshold for triggering this communication may depend on the capacities of the router node R4 and be different from that of the router node R3. It is understood that it is thus possible to trace the load of filtering the stream F2 up to the first router node taken by the stream F2 in the network N2. The identification and localization of the source A1 can thus be facilitated and the whole of the network N2 is then exempted from transporting the flow F2 which not only is of large volume, but is intended to be destroyed.
En plus d'être communiqué au réseau de transport N2, le paramètre de protection est également inséré dans un ou plusieurs champs des paquets du F1 avant leur émission par le nœud client C1. Dans le cas le plus simple, le paramètre de protection est inséré dans un seul champ d'un paquet, mais dans une variante de réalisation il peut être constitué de plusieurs parties qui sont réparties dans plusieurs champs d'un paquet. In addition to being communicated to the transport network N2, the protection parameter is also inserted into one or more fields of the packets of the F1 before they are sent by the client node C1. In the simplest case, the protection parameter is inserted in a single field of a packet, but in a variant embodiment it may consist of several parts which are distributed in several fields of a packet.
Dans un mode de réalisation, le paramètre de protection est inclus dans l'adresse IPv6 de destination des paquets du flux F1 , par exemple dans les 64 dernier bits de l'adresse IPv6. Dans un mode de réalisation, le flux F1 est un tunnel IPsec et le paramètre de protection est compris dans le champ SPI (Security Parameters Index). L'avantage du champ SPI est qu'il est un champ spécifique aux tunnels IPsec, et que sa valeur peut être modifiée au besoin sans impacter le routage du flux. In one embodiment, the protection parameter is included in the destination IPv6 address of the packets of the stream F1, for example in the last 64 bits of the IPv6 address. In one embodiment, the flow F1 is an IPsec tunnel and the protection parameter is included in the SPI (Security Parameters Index) field. The advantage of the SPI field is that it is a field specific to IPsec tunnels, and that its value can be modified as needed without impacting flow routing.
Dans un mode de réalisation, le flux F1 est un tunnel IPsec et le paramètre de protection est réparti sur plusieurs champs, dont fait partie le champ SPI de préférence. Les autres champs utilisables sont : le champ Protocol (ou le champ Next Header dans le cas IPv6), le champ adresse IP source, le champ adresse IP destination, le champ port source, le champ port destination. Aussi utilisables sont certains champs de SRv6 (Segment Routing IPv6, RFC 8754), tels que par exemple Segment List, Segment List [n], Tag, HMAC TLV. In one embodiment, the flow F1 is an IPsec tunnel and the protection parameter is distributed over several fields, of which the SPI field preferably forms part. The other fields that can be used are: the Protocol field (or the Next Header field in the case of IPv6), the source IP address field, the destination IP address field, the source port field, the destination port field. Also usable are some SRv6 fields (Segment Routing IPv6, RFC 8754), such as for example Segment List, Segment List [n], Tag, HMAC TLV.
Dans un mode de réalisation où le flux n'est pas un tunnel IPsec, le champ SPI ne peut pas être utilisé mais les autres champs qui viennent d'être mentionnés sont utilisables. Le champ Key de GRE (Generic Routing Encapsulation) est aussi utilisable. D'autres champs spécifiques aux paquets IPv6 peuvent aussi être utilisés, tels que Routing Header, Destination option, ou Authentication Header. In an embodiment where the flow is not an IPsec tunnel, the SPI field cannot be used but the other fields which have just been mentioned can be used. The Key field of GRE (Generic Routing Encapsulation) is also usable. Other fields specific to IPv6 packets can also be used, such as Routing Header, Destination option, or Authentication Header.
Par sécurité et particulièrement en IPv4, il peut être préférable de répartir le paramètre de protection sur plusieurs champs dont au moins le champ Protocol, car les autres champs (adresses IP et ports) sont plus facilement découvrables par un attaquant. For security and particularly in IPv4, it may be preferable to distribute the protection parameter over several fields including at least the Protocol field, because the other fields (IP addresses and ports) are more easily discoverable by an attacker.
En relation avec la figure 2, on présente maintenant un exemple de structure d'un dispositif de protection d'un flux de paquets, selon un aspect de l'invention. In relation to FIG. 2, we now present an example of the structure of a device for protecting a flow of packets, according to one aspect of the invention.
Le dispositif 100 de protection met en œuvre le procédé de protection d'un flux de paquets, dont différents modes de réalisation viennent d'être décrits. The protection device 100 implements the method for protecting a stream of packets, of which various embodiments have just been described.
Un tel dispositif 100 peut être mis en œuvre dans un nœud émetteur ou récepteur du flux, ou dans un contrôleur de communication des flux clients (par exemple un contrôleur SD-WAN). Par exemple, le dispositif 100 comprend un récepteur 101 , un émetteur 102, une unité de traitement 130, équipée par exemple d'un microprocesseur pP, et pilotée par un programme d'ordinateur 110, stocké dans une mémoire 120 et mettant en œuvre le procédé de protection selon l'invention. A l’initialisation, les instructions de code du programme d’ordinateur 110 sont par exemple chargées dans une mémoire RAM, avant d’être exécutées par le processeur de l’unité de traitement 130. Such a device 100 can be implemented in a flow sender or receiver node, or in a client flow communication controller (for example an SD-WAN controller). For example, the device 100 comprises a receiver 101, a transmitter 102, a processing unit 130, equipped for example with a microprocessor pP, and controlled by a computer program 110, stored in a memory 120 and implementing the protection method according to the invention. On initialization, the code instructions of the computer program 110 are for example loaded into a RAM memory, before being executed by the processor of the processing unit 130.
Une telle mémoire 120, un tel processeur de l’unité de traitement 130, un tel récepteur 101 et un tel émetteur 102 sont aptes à, et configurés pour : Such a memory 120, such a processor of the processing unit 130, such a receiver 101 and such a transmitter 102 are capable of, and configured for:
• l'émission d'un message comprenant la valeur attendue du paramètre de protection, à destination du nœud routeur connecté au nœud récepteur ou destinataire du flux. • transmission of a message comprising the expected value of the protection parameter, intended for the router node connected to the receiver or destination node of the stream.
Avantageusement, ils sont également aptes à, et configurés pour : Advantageously, they are also suitable for, and configured for:
• la réémission d'un nouveau message avec une nouvelle valeur du paramètre de protection, après expiration d'une période définie. • the retransmission of a new message with a new value of the protection parameter, after expiry of a defined period.
En relation avec la figure 3, on présente maintenant un exemple de structure d'un dispositif de priorisation d'un flux de paquets, selon un aspect de l'invention. In relation to FIG. 3, an example of the structure of a device for prioritizing a flow of packets is now presented, according to one aspect of the invention.
Le dispositif 200 de priorisation met en œuvre le procédé de filtrage d'un flux de paquets, dont différents modes de réalisation viennent d'être décrits. The prioritization device 200 implements the process for filtering a stream of packets, of which different embodiments have just been described.
Un tel dispositif 200 peut être mis en œuvre dans un nœud routeur de flux de paquets, par exemple le nœud routeur connecté à un nœud client destinataire des flux. Such a device 200 can be implemented in a packet flow router node, for example the router node connected to a client node destination of the flows.
Par exemple, le dispositif 200 comprend un récepteur 201 , un émetteur 202, une unité de traitement 230, équipée par exemple d'un microprocesseur pP, et pilotée par un programme d'ordinateur 210, stocké dans une mémoire 220 et mettant en œuvre le procédé de priorisation d'un flux de paquets selon l'invention. A l’initialisation, les instructions de code du programme d’ordinateur 210 sont par exemple chargées dans une mémoire RAM, avant d’être exécutées par le processeur de l’unité de traitement 230. Une telle mémoire 220, un tel processeur de l’unité de traitement 230, un tel récepteur 201 et un tel émetteur 202 sont aptes à, et configurés pour : For example, the device 200 comprises a receiver 201, a transmitter 202, a processing unit 230, equipped for example with a microprocessor pP, and controlled by a computer program 210, stored in a memory 220 and implementing the method for prioritizing a flow of packets according to the invention. On initialization, the code instructions of the computer program 210 are for example loaded into a RAM memory, before being executed by the processor of the processing unit 230. Such a memory 220, such a processor of the processing unit 230, such a receiver 201 and such a transmitter 202 are capable of, and configured for:
• la réception d'un message comprenant la valeur attendue du paramètre de protection, en provenance d'un dispositif associé au nœud récepteur, la priorisation des paquets comprenant la valeur attendue du paramètre de protection. • the reception of a message comprising the expected value of the parameter of protection, coming from a device associated with the receiving node, the prioritization of the packets comprising the expected value of the protection parameter.
Avantageusement, ils sont également aptes à, et configurés pour : Advantageously, they are also suitable for, and configured for:
• le filtrage des paquets ne comprenant pas la valeur attendue du paramètre de protection, • the filtering of packets that do not include the expected value of the protection parameter,
• l'émission du message comprenant la valeur attendue du paramètre de protection, vers un nœud routeur voisin. • sending the message comprising the expected value of the protection parameter, to a neighboring router node.
Les entités décrites et comprises dans les dispositifs décrits en relation avec les figures 2 et 3 peuvent être matérielles ou logicielles. Les figures 2 et 3 illustrent seulement une manière particulière, parmi plusieurs possibles, de réaliser l’algorithme détaillé ci-dessus, en relation avec la figure 1 . En effet, la technique de l’invention se réalise indifféremment sur une machine de calcul reprogrammable (un ordinateur PC, un processeur DSP ou un microcontrôleur) exécutant un programme comprenant une séquence d’instructions, ou sur une machine de calcul dédiée (par exemple un ensemble de portes logiques comme un FPGA ou un ASIC, ou tout autre module matériel). The entities described and included in the devices described in relation to FIGS. 2 and 3 can be hardware or software. Figures 2 and 3 illustrate only one particular way, among several possible ones, of carrying out the algorithm detailed above, in relation to figure 1 . Indeed, the technique of the invention is carried out either on a reprogrammable calculation machine (a PC computer, a DSP processor or a microcontroller) executing a program comprising a sequence of instructions, or on a dedicated calculation machine (for example a set of logic gates like an FPGA or an ASIC, or any other hardware module).
Dans le cas où l’invention est implantée sur une machine de calcul reprogrammable, le programme correspondant (c'est-à-dire la séquence d’instructions) pourra être stocké dans un médium de stockage amovible (tel que par exemple une clé USB, une disquette, un CD-ROM ou un DVD-ROM) ou non, ce médium de stockage étant lisible partiellement ou totalement par un ordinateur ou un processeur. In the case where the invention is implemented on a reprogrammable calculating machine, the corresponding program (that is to say the sequence of instructions) can be stored in a removable storage medium (such as for example a USB key , a floppy disk, a CD-ROM or a DVD-ROM) or not, this storage medium being partially or totally readable by a computer or a processor.

Claims

REVENDICATIONS
1. Procédé de priorisation d’un flux (F1 ) de paquets dans un réseau composé de nœuds routeurs (R1-R4) de paquets, et de nœuds (C1-C3) émetteur et récepteur du flux, le nœud récepteur (C3) étant connecté à un nœud routeur (R3) traitant le routage d'un paquet à destination du nœud récepteur en fonction d'une valeur attendue d'un paramètre de protection compris dans au moins un champ d'un paquet du flux, le procédé étant mis en œuvre par le nœud routeur (R3) connecté au nœud récepteur (C3) et comprenant : 1. Process for prioritizing a flow (F1) of packets in a network composed of router nodes (R1-R4) of packets, and of nodes (C1-C3) transmitting and receiving the flow, the receiving node (C3) being connected to a router node (R3) processing the routing of a packet destined for the receiver node as a function of an expected value of a protection parameter included in at least one field of a packet of the stream, the method being implemented implemented by the router node (R3) connected to the receiver node (C3) and comprising:
• la réception d'un message comprenant la valeur attendue du paramètre de protection, en provenance d'un dispositif associé au nœud récepteur (C3),• the reception of a message comprising the expected value of the protection parameter, coming from a device associated with the receiving node (C3),
• la priorisation des paquets comprenant la valeur attendue du paramètre de protection. • prioritization of packets including the expected value of the protection parameter.
2. Procédé de priorisation selon la revendication précédente, où la priorisation comprend une mise des paquets dans une file d'attente ayant accès à une ou plusieurs interfaces de sortie du nœud routeur (R3), l'accès étant prioritaire sur au moins une autre file d'attente. 2. Prioritization method according to the preceding claim, wherein the prioritization comprises placing the packets in a queue having access to one or more output interfaces of the router node (R3), the access having priority over at least one other waiting line.
3. Procédé de priorisation selon les revendications précédentes, comprenant en outre le filtrage des paquets ne comprenant pas la valeur attendue du paramètre de protection. 3. Prioritization method according to the preceding claims, further comprising the filtering of the packets not comprising the expected value of the protection parameter.
4. Procédé de priorisation selon la revendication précédente, où le filtrage comprend un blocage des paquets, ou une destruction des paquets, ou un abaissement de la priorité des paquets. 4. Prioritization method according to the preceding claim, wherein the filtering comprises blocking the packets, or destroying the packets, or lowering the priority of the packets.
5. Procédé de priorisation selon l'une des revendications précédentes, comprenant en outre l'émission du message comprenant la valeur attendue du paramètre de protection, vers un nœud routeur voisin (R2, R4) du nœud routeur (R3) connecté au nœud récepteur (C3). 5. Prioritization method according to one of the preceding claims, further comprising sending the message comprising the expected value of the protection parameter, to a neighboring router node (R2, R4) of the router node (R3) connected to the receiver node (C3).
6. Procédé selon l'une des revendications précédentes, où le paramètre de protection est inclus dans l'adresse IPv6 de destination des paquets du flux (F1 ). 6. Method according to one of the preceding claims, where the protection parameter is included in the destination IPv6 address of the packets of the stream (F1).
7. Procédé selon l'une des revendications précédentes, où le flux (F1 ) est un tunnel IPsec ou un tunnel IP. 7. Method according to one of the preceding claims, where the stream (F1) is an IPsec tunnel or an IP tunnel.
8. Procédé selon l'une des revendications précédentes, où l'au moins un champ comprenant le paramètre de protection est un ou plusieurs des champs d'une liste comprenant: 8. Method according to one of the preceding claims, where the at least one field comprising the protection parameter is one or more of the fields of a list comprising:
• "Security Parameters Index" (SPI) de IPsec, • "Security Parameters Index" (SPI) of IPsec,
• "Protocol" de IPv4, • "Protocol" of IPv4,
• "Next Header" de IPv6, • "Next Header" of IPv6,
• "Flow Label" de IPv6, • "Flow Label" of IPv6,
• adresse IP source, ou adresse IP destination, ou port source, ou port destination, de IPv4 ou IPv6. • source IP address, or destination IP address, or source port, or destination port, of IPv4 or IPv6.
• "Key" de GRE, • "Key" of GRE,
• Segment List, ou Segment List [n], ou Tag, ou HMAC TLV de Segment Routing IPv6 (SRv6). • Segment List, or Segment List [n], or Tag, or HMAC Segment Routing IPv6 (SRv6) TLV.
9. Procédé selon l'une des revendications précédentes, où le message comprenant la valeur attendue du paramètre de protection est un message d'un des protocoles suivants: 9. Method according to one of the preceding claims, where the message comprising the expected value of the protection parameter is a message from one of the following protocols:
• BGP Flow Spec, • BGP FlowSpec,
• NETCONF, • NETCONF,
• RESTCONF, • RESTCONF,
• En ligne de commande (CLI: Command Line Interface), • In command line (CLI: Command Line Interface),
• SNMP, • SNMP,
• API REST, • REST-APIs,
• API. • APIs.
10. Dispositif (200) de priorisation d’un flux (F1 ) de paquets dans un réseau (N1 ) composé de nœuds (R1-R4) routeurs de paquets, et de nœuds (C1-C3) émetteur et récepteur du flux, le nœud récepteur (C3) étant connecté à un nœud routeur (R3) traitant le routage d'un paquet à destination du nœud récepteur en fonction d'une valeur attendue d'un paramètre de protection compris dans au moins un champ d'un paquet du flux, le dispositif étant mis en œuvre dans le nœud routeur (R3) connecté au nœud récepteur (C3) et comprenant un récepteur (201 ), un émetteur (202), un processeur (230) et une mémoire (220) couplée au processeur avec des instructions destinées à être exécutées par le processeur pour : 10. Device (200) for prioritizing a stream (F1) of packets in a network (N1) composed of packet router nodes (R1-R4), and flow transmitter and receiver nodes (C1-C3), the receiver node (C3) being connected to a router node (R3) processing the routing of a packet to destination of the receiver node according to an expected value of a protection parameter included in at least one field of a packet of the flow, the device being implemented in the router node (R3) connected to the receiver node (C3) and comprising a receiver (201), a transmitter (202), a processor (230) and a memory (220) coupled to the processor with instructions intended to be executed by the processor for:
• la réception d'un message comprenant la valeur attendue du paramètre de protection, en provenance d'un dispositif (100) associé au nœud récepteur (C3),• the reception of a message comprising the expected value of the protection parameter, coming from a device (100) associated with the receiving node (C3),
• la priorisation des paquets comprenant la valeur attendue du paramètre de protection. • prioritization of packets including the expected value of the protection parameter.
11. Programme d'ordinateur (210), comprenant des instructions qui, lorsque ces instructions sont exécutées par un processeur, conduisent celui-ci à mettre en œuvre les étapes du procédé de priorisation selon la revendication 1. 11. Computer program (210), comprising instructions which, when these instructions are executed by a processor, lead the latter to implement the steps of the prioritization method according to claim 1.
12. Support d'informations lisible par un dispositif de priorisation (200), et comportant des instructions d'un programme d'ordinateur (210) conforme à la revendication 11. 12. Information medium readable by a prioritization device (200), and comprising instructions of a computer program (210) according to claim 11.
EP21806788.2A 2020-10-22 2021-10-20 Method and device for prioritising packet flows Pending EP4232926A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2010858A FR3117296A1 (en) 2020-10-22 2020-10-22 Packet flow prioritization method and device
PCT/FR2021/051828 WO2022084624A1 (en) 2020-10-22 2021-10-20 Method and device for prioritising packet flows

Publications (1)

Publication Number Publication Date
EP4232926A1 true EP4232926A1 (en) 2023-08-30

Family

ID=74553944

Family Applications (1)

Application Number Title Priority Date Filing Date
EP21806788.2A Pending EP4232926A1 (en) 2020-10-22 2021-10-20 Method and device for prioritising packet flows

Country Status (4)

Country Link
US (1) US20230388270A1 (en)
EP (1) EP4232926A1 (en)
FR (1) FR3117296A1 (en)
WO (1) WO2022084624A1 (en)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370757C (en) * 2004-07-09 2008-02-20 国际商业机器公司 Method and system for dentifying a distributed denial of service (DDOS) attack within a network and defending against such an attack
JP5870009B2 (en) * 2012-02-20 2016-02-24 アラクサラネットワークス株式会社 Network system, network relay method and apparatus

Also Published As

Publication number Publication date
WO2022084624A1 (en) 2022-04-28
FR3117296A1 (en) 2022-06-10
US20230388270A1 (en) 2023-11-30

Similar Documents

Publication Publication Date Title
EP3476095B1 (en) Method for multi-path udp communication method between two terminals
JP4955107B2 (en) Method and unit for classifying traffic in an IP network
WO2019002754A1 (en) Method of quic communication via multiple paths
EP3476096B1 (en) Udp communication method between two terminals via multiple paths
US20070276958A1 (en) System, method and program for encryption during routing
EP3318023B1 (en) Method of optimizing the loading of a network connections hub
EP3284224B1 (en) Method for emulating a multipath connection
US20160057116A1 (en) Method for network communication past encryption devices
WO2020260813A1 (en) Method for managing communication between terminals in a communication network, and devices for implementing the method
WO2018234675A1 (en) Method of activating processes applied to a data session
EP4232926A1 (en) Method and device for prioritising packet flows
EP4233334A1 (en) Methods and devices for protecting a stream of packets
EP3949287B1 (en) Gateway and method for differentiating traffic emitted by the gateway, device and method for managing traffic
WO2019211548A1 (en) Method for sending an information item and for receiving an information item for the reputation management of an ip resource
WO2015197978A1 (en) Method of protecting a router against attacks
US20070162740A1 (en) Systems, methods, and apparatus for packet level security
EP2579545A1 (en) Method of assigning a public network address to equipment with a private network address
FR3044195A1 (en) METHOD AND DEVICE FOR PROCESSING A NON-LEGITIMATE ANNOUNCEMENT OF AN IP ADDRESS BLOCK
EP4128701A1 (en) Communication management method and associated devices
Dobbins Defending the Network: Mitigating Attacks
FR2947123A1 (en) Data e.g. video stream, transmitting method for internet, involves forming packets from main data such that length values formed by each packet length corresponds to length values generated by coding, and transmitting packets to receiver
EP2476225A1 (en) Method and system for controlling the routing of a data stream from a class of service through a meshed and encrypted network

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20230509

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)