Brevet FR3081653A1 — publié le 20191129

Procédé de modification de messages par un équipement sur un chemin de communication établi entre deux noeuds 1. Domaine de l'invention La demande d'invention se situe dans le domaine des infrastructures de télécommunications dans lesquelles des sessions sécurisées sont établies sur des chemins entre des noeuds d'extrémité et modifiées par des équipements dits intermédiaires. 2. Etat de la technique antérieure Les communications établies entre deux noeuds d'extrémité, par exemple entre un client et un serveur, sont de plus en plus chiffrées, au moins à partir de la couche 15 transport et jusqu'à la couche applicative dans le modèle TCP/IP (en anglais Transmission Control Protocol / Internet Protocol). Les couches inférieures ne sont généralement pas chiffrées pour permettre l'acheminement des paquets dans l'infrastructure de communication. Notamment, l'utilisation de sessions HTTP sur TLS (en anglais HyperText 20 Transfer Protocol sur Transport Layer Security) proposant le chiffrement des données du protocole HTTP, initialement principalement utilisées pour des transactions bancaires, s'est largement développée pour les différentes applications du web, y compris pour les applications relatives aux réseaux sociaux. De même, le protocole QUIC (Quick UDP Internet Connections), nouveau 25 protocole de transport en cours de standardisation et décrit dans le document IETF (draft-ietf-quic-transport-12) s'appuyant sur le protocole UDP (en anglais User Datagram Protocol), est de plus en plus utilisé pour les communications comme protocole de transport, notamment par rapport au protocole TCP. Ce protocole QUIC intègre nativement des fonctions de sécurité, telles que les fonctions TLS, permettant 30 ainsi aux communications basées sur ce protocole d'être sécurisées sans nécessiter 10 2 un protocole de sécurité supplémentaire,. Dans ce contexte de chiffrement des données des communications, les équipements déployés sur les chemins de communication établis entre les noeuds d'extrémité, entre lesquels un chemin de communication est établi pour transporter les 5 données de sessions applicatives, voient leur rôle réduit à l'acheminement des messages et ne sont plus en capacité de pouvoir ajouter ou modifier des données à ces messages. Ainsi, si un protocole de transport tel que QUIC est utilisé pour les communications, le chiffrement des données dans le protocole QUIC et dans les protocoles applicatifs tels que HTTP, SIP (en anglais Session Initiation Protocol), SMTP (en anglais Simple Mail Transfer Protocol) ne peuvent être lus ou modifiés par les équipements sur le chemin. Pour pouvoir intervenir sur ces données, il faudrait que les équipements sur le chemin de communication disposent de toutes les clés utilisées par les noeuds d'extrémités pour chiffrer et déchiffrer les données des messages, ce qui est difficilement envisageable, notamment parce que les équipements sur le chemin sont le plus souvent gérés par des entités administratives distinctes de celles gérant les noeuds d'extrémité de la communication. Or, les équipements présents sur les chemins de la communication doivent intervenir, dans certains cas ou pour certains services, non seulement pour acheminer les messages mais également pour lire, modifier ou ajouter certaines données dans les messages. Ainsi, ces équipements réalisent par exemple de l'optimisation web, requérant des modifications au niveau applicatif, ou bien réalisent des fonctions de filtrage au niveau transport et/ou applicatif, ou bien assurent des fonctions d'identification de flux, nécessitant de pouvoir lire les données de transport ainsi que les données applicatives des messages. En outre, il est également souhaitable que seuls les équipements « autorisés » par les noeuds d'extrémité puissent effectuer ces actions. L'accès aux données des messages et leur modification n'est en effet pas souhaitable pour un équipement qui réussirait à se placer sur le chemin de communication de façon frauduleuse. Le développement du chiffrement des communications au niveau transport et applicatif empêche tout accès par des équipements intermédiaires, et ne permet pas à ces 3 équipements intermédiaires de pouvoir intervenir sur des données des messages échangés entre deux noeuds. La présente invention a pour objet de remédier à ces inconvénients. 5 3. Exposé de l'invention L'invention vient améliorer la situation à l'aide d'un procédé de modification d'un message de données émis par un premier noeud à destination d'un second noeud sur 10 un chemin d'un réseau de communication, le second noeud ayant obtenu un ensemble de variables de chiffrement en provenance du premier noeud, le procédé étant destiné à être exécuté par un équipement apte à intercepter le message de données, le procédé comprenant les étapes suivantes : - Interception du message de données, en provenance du premier noeud et à 15 destination du second noeud, - Obtention d'un paramètre de chiffrement spécifique à l'équipement et relatif à une variable de l'ensemble en provenance du premier noeud, - Détermination d'un élément cryptographique relatif au paramètre obtenu, - Modification d'au moins une donnée du message à partir de l'élément 20 cryptographique déterminé, - Emission du message de données modifié à destination du second noeud. L'invention permet à des équipements placés sur le chemin de communication de pouvoir appliquer un traitement aux données échangées de façon sécurisée entre des noeuds, tels qu'un client et un serveur. Un équipement dit intermédiaire, c'est à dire sur 25 le chemin de communication, peut par exemple obtenir un paramètre de chiffrement par configuration d'une clé de chiffrement, suite à un accord enregistré entre le gestionnaire du premier noeud et le gestionnaire de l'équipement. Le paramètre de chiffrement peut être une clé publique de chiffrement et la variable de chiffrement peut être une clé privé associée à la clé publique. Un paramètre de chiffrement est donc 30 relatif à une variable de chiffrement. Le premier noeud sélectionne ainsi les 4 équipements sur le chemin qui pourront modifier les messages de données et leur procure un paramètre de chiffrement. Un premier équipement sur le chemin, en exploitant le paramètre de chiffrement, qui lui est spécifique, pour se créer un élément cryptographique, empêche d'autres équipements sur le chemin de lire ou de modifier 5 les données que le premier équipement aura modifiées. La modification de la donnée par un équipement a en effet été réalisée en utilisant l'élément cryptographique issu du paramètre de chiffrement que lui seul peut utiliser, et seul le second noeud, recevant les messages de données transmis par le premier noeud et interceptés et modifiés par les différents équipements autorisés sur le chemin, pourra accéder aux données 10 modifiées par les différents équipements grâce aux variables de chiffrement échangés au préalable avec le noeud émettant les données. L'intervention permet ainsi à des équipements sur le chemin, dûment autorisés par le premier noeud, de pouvoir modifier des données transmises par ce premier noeud. 15 Le paramètre de chiffrement est spécifique à un équipement car lorsque plusieurs équipements peuvent intervenir sur un chemin donné, il est important de pouvoir identifier de façon non ambiguë l'équipement ayant modifié le message de données. L'utilisation de paramètres de chiffrement, tels que des clés de chiffrement spécifiques par équipement, permet non seulement d'assurer une confidentialité des 20 modifications apportées par un équipement vis-à-vis des autres équipements mais aussi de pouvoir identifier l'équipement ayant effectivement modifié les données. Selon un aspect du procédé de modification, le paramètre de chiffrement est obtenu dans le message de données reçu. Le procédé, ainsi mis en oeuvre, évite de devoir transmettre un paramètre de 25 chiffrement à destination de l'équipement au préalable et permet d'utiliser les messages de données pour les besoins de transmission des paramètres de chiffrement. Les équipements sur le chemin utilisent les différents paramètres présents dans le message de données pour déterminer leur propre élément cryptographique. Selon un aspect, le procédé de modification comprend en outre une étape de 30 suppression du paramètre de chiffrement dans le message de données émis à 5 destination du second noeud. Le procédé peut ainsi être mis en oeuvre tout en évitant que d'autres équipements placés sur le chemin puissent modifier frauduleusement ou accidentellement les données déjà modifiées par un autre équipement situé en amont 5 du chemin. Tout équipement sur un chemin de communication peut modifier les données de façon sécurisée et sans risquer que ces données modifiées soient exploitées par d'autres équipements à l'exception du second noeud puisque le paramètre de chiffrement est ôté par l'équipement l'ayant exploité. Selon un aspect du procédé de modification, le paramètre de chiffrement est 10 compris dans la couche transport d'un paquet du message de données. Les protocoles de transport sont en pleine évolution et il est avantageux de tirer parti des espaces libres prévus dans les protocoles de transport récemment spécifiés et de plus en plus utilisés, tels que par exemple le protocole QUIC. L'intérêt d'utiliser un protocole de transport pour le transport de messages de données que l'équipement 15 peut modifier est qu'il est peut être utilisé pour une grande diversité d'applications. Selon un aspect, le procédé de modification comprend en outre une étape d'ajout de l'élément cryptographique dans le message de données émis vers le second noeud. Le second noeud, à la réception du message de données, obtient également les éléments cryptographiques des différents équipements se trouvant sur le chemin. Cela 20 lui permet ainsi de détenir les paramètres de chiffrement et les éléments cryptographiques pour pouvoir lire les données modifiées par les équipements intermédiaires. Selon un aspect du procédé de modification, l'élément cryptographique est déterminé à partir d'un nombre aléatoire présent dans le message de données reçu. 25 Un noeud peut émettre un message comprenant des nombres aléatoires que les différents équipements sur le chemin peuvent utiliser. Un équipement peut avantageusement utiliser le nombre aléatoire reçu, le chiffrer avec une clé publique spécifique à l'équipement, pour pouvoir être identifié et authentifié. Ainsi l'équipement modifiant le message de données peut être authentifié. 30 Selon un aspect du procédé de modification, l'élément cryptographique est 6 spécifique au chemin de communication. L'élément cryptographique déterminé par l'équipement peut être spécifique au chemin de communication de façon à empêcher qu'un équipement ayant déterminé cet élément puisse le réutiliser sur un autre chemin de communication, pour une même 5 communication ou pour une communication distincte. La sécurité du procédé est ainsi améliorée. Les différents aspects du procédé de modification qui viennent d'être décrits peuvent être mis en oeuvre indépendamment les uns des autres ou en combinaison les uns avec les autres. 10 L'invention concerne aussi un procédé de contrôle de modification d'un message de données émis par un premier noeud à destination d'un second noeud sur un chemin de communication entre les deux noeuds, la modification étant exécutée par un équipement apte à intercepter le message de données, le procédé étant destiné à être exécuté par le premier noeud et comprenant les étapes suivantes : 15 - Réception d'un message de requête d'établissement d'un chemin de communication en provenance du second noeud, Génération d'un ensemble de variables de chiffrement, Emission d'un message de réponse d'établissement comprenant l'ensemble de variables générés à destination du premier noeud, 20 Livraison d'un paramètre de chiffrement spécifique à l'équipement et relatif à une variable de l'ensemble, à l'équipement, Emission d'un message de données comprenant le paramètre de chiffrement, à destination du second noeud. Le procédé de contrôle est initialisé lors de l'établissement de la communication, 25 et présente ainsi l'avantage de pouvoir être mis en oeuvre pour l'ensemble des messages de données échangés entre les noeuds. Les messages de données sont des messages de type applicatif, par exemple des messages HTTP, SMTP (en anglais Simple Mail Transfer Protocol), RTSP (en anglais Real lime Streaming Protocol) ou bien encore des messages de contrôle DNS (en anglais Domain Name System), ICMP 30 (en anglais Internet Control Message Protocol), SIP (en anglais Session Initiation 7 Protocol). Les variables de chiffrement sont transmis au second noeud de façon à ce qu'il soit en capacité de déchiffrer les données modifiées par les équipements sur le chemin de communication. Ainsi, seuls les noeuds ont accès aux différentes informations modifiées par les équipements se trouvant sur le chemin. Le procédé 5 permet à un équipement, dûment autorisé par le paramètre de chiffrement reçu, de modifier des données de façon sécurisée puisque le paramètre de chiffrement lui est spécifiquement attribué. Selon un aspect du procédé de contrôle, le paramètre de chiffrement est une clé publique de chiffrement et l'élément cryptographique est un nombre aléatoire chiffré à 10 l'aide de la clef de chiffrement publique. Les clés privées étant uniquement échangées entre les deux noeuds et chaque clé publique correspondant étant fournie à chaque équipement, seuls les noeuds sont en mesure d'accéder aux modifications apportées par les équipements respectifs sur le message de données. L'équipement reçoit un nombre aléatoire dans le message de 15 données et le chiffre à l'aide d'une clé publique distribuée. L'invention concerne encore un dispositif de modification d'un message de données émis par un premier noeud à destination d'un second noeud sur un chemin de communication établi entre les deux noeuds, le second noeud ayant obtenu au préalable un ensemble de variables de chiffrement en provenance du premier noeud, le 20 dispositif comprenant : - Un module d'interception, apte à intercepter le message de données, en provenance du premier noeud et à destination du second noeud, - Un module d'obtention, apte à obtenir un paramètre de chiffrement, relatif à une variable de l'ensemble, en provenance du premier noeud, 25 - Un module de détermination, apte à déterminer un élément cryptographique à partir du paramètre obtenu, - Un module de modification, apte à modifier au moins une donnée du message à partir de l'élément cryptographique déterminé, - Un émetteur apte à émettre le message de données modifié à destination du second 30 noeud. 8 Ce dispositif est apte à mettre en oeuvre dans tous ses modes de réalisation le procédé de modification qui vient d'être décrit. L'invention concerne aussi un dispositif de contrôle de modification d'un message de données émis par un premier noeud à destination d'un second noeud sur un chemin 5 de communication entre les deux noeuds, la modification étant exécutée par un équipement, apte à intercepter le message de données, le dispositif comprenant : - Un récepteur, apte à recevoir un message de requête d'établissement du chemin de communication en provenance du second noeud, - Un module de génération, apte à générer un ensemble de variables de 10 chiffrement, Un émetteur, apte à émettre un message de réponse d'établissement comprenant l'ensemble de variables de chiffrement à destination du second noeud, Un module de livraison, apte à livrer un paramètre de chiffrement, relatif à un 15 paramètre de l'ensemble, à destination de l'équipement, Un émetteur, apte à émettre un message de données à destination du second noeud. Ce dispositif est apte à mettre en oeuvre dans tous ses modes de réalisation le procédé de contrôle qui vient d'être décrit. 20 L'invention concerne encore un système de modification d'un message de données émis par un premier noeud à destination d'un second noeud, la modification étant exécutée par un équipement sur au moins un chemin de communication entre les deux noeuds, le système comprenant : - Un équipement comprenant un dispositif de modification du message de données tel 25 que celui qui vient d'être décrit, - Un premier noeud, comprenant un dispositif de contrôle de modification du message de données, tel que celui qui vient d'être décrit, - Un second noeud comprenant : - un émetteur, apte à émettre un message de requête d'établissement d'un 30 chemin de communication à destination du premier noeud, et 9 - un récepteur, apte à recevoir un message de réponse d'établissement comprenant l'ensemble de variables de chiffrement en provenance du premier noeud, et apte à recevoir le message de données en provenance du premier noeud. L'invention concerne aussi un programme d'ordinateur comprenant des 5 instructions pour la mise en oeuvre des étapes du procédé de modification qui vient d'être décrit, lorsque ce programme est exécuté par un processeur, ainsi qu'un un programme d'ordinateur comprenant des instructions pour la mise en oeuvre des étapes du procédé de contrôle qui vient d'être décrit, lorsque ce programme est exécuté par un processeur. 10 L'invention vise aussi un support d'informations lisible par un équipement apte à émettre, intercepter ou recevoir un messages de données, et comportant des instructions de l'un ou l'autre des programmes d'ordinateur tels que mentionnés ci-dessus. Les programmes mentionnés ci-dessus peuvent utiliser n'importe quel langage 15 de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. Les supports d'informations mentionnés ci-dessus peuvent être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, un support peut 20 comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique. Un tel moyen de stockage peut par exemple être un disque dur, une mémoire flash, etc. D'autre part, un support d'informations peut être un support transmissible tel qu'un 25 signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Un programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. Alternativement, un support d'informations peut être un circuit intégré dans lequel un programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé 30 dans l'exécution des procédés en question. 4. Présentation des figures D'autres avantages et caractéristiques de l'invention apparaitront plus 5 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 : - la figure 1 présente une vue simplifiée d'un réseau de communication dans lequel le procédé de modification est mis en oeuvre, 10 - la figure 2 présente le procédé de modification selon un premier mode de réalisation de l'invention, - la figure 3 présente le procédé de modification dans un réseau de communication selon un deuxième mode de réalisation de l'invention, - la figure 4 présente le procédé de modification dans un réseau de 15 communication selon un troisième mode de réalisation de l'invention, - la figure 5 présente un exemple de structure d'un dispositif de modification, selon un aspect de l'invention, - la figure 6 présente un exemple de structure d'un dispositif de contrôle de modification, selon un aspect de l'invention. 20 5. Description détaillée d'au moins un mode de réalisation de l'invention Dans la suite de la description, on présente des exemples de plusieurs modes de réalisation de l'invention dans un réseau de communications. Le réseau de 25 communication peut indifféremment être un réseau de communication de type fixe ou un réseau de communication de type mobile/sans fils. Le réseau peut également être un réseau hybride intégrant une partie filaire et une partie sans fils. 10 11 On se réfère tout d'abord à la figure 1 qui présente une vue simplifiée d'un réseau de communication dans lequel le procédé de modification est mis en oeuvre selon un aspect de l'invention. Deux noeuds 10 et 50, qui peuvent être par exemple des terminaux mobiles tels 5 que des smartphones ou des terminaux fixes tels que des passerelles résidentielles ou n'importe quel équipement doté de moyens de communication, sont attachés à un réseau 1 de communication. D'autres noeuds 20, 30, 40, qui peuvent être des serveurs HTTP, des serveurs DNS (en anglais Domain Name Server), des serveurs FTP (en anglais File Trans fer Protocol) ou bien encore des noeuds de même type que les 10 noeuds 10 et 50, sont également attachés au réseau 1 de communication. Le réseau 1 de communication permet aux noeuds 10, 50 d'une part et 20, 30, 40 d'autre part de pouvoir s'échanger des données, par exemple en établissant des sessions applicatives entre les noeuds. Le réseau 1 de communication comprend des chemins Cl, 02, 03, 04 de 15 communication. Ces chemins comprennent des équipements qui acheminent les données des noeuds et des liens, filaires ou non-filaires, interconnectant les équipements. Le chemin entre un noeud et un autre noeud peut être sélectionné en fonctions de critères de qualité de service, de critères de gestion, de caractéristiques propres aux noeuds d'extrémité ou de contraintes applicatives. Notamment, l'opérateur 20 du réseau 1 peut mettre en oeuvre des politiques de routage pour acheminer les données des différents noeuds attachés au réseau 1. Dans le réseau 1, le chemin Cl achemine les données du noeud 10 vers le noeud 20 et comprend les équipements 13, 11, 12. Le chemin 02, acheminant les données du noeud 10 vers le noeud 30, comprend les équipements 13 et 14. Le chemin 03 achemine les données du noeud 10 25 vers le noeud 40 et comprend les équipements 15 et 16. Le chemin 04 achemine les données du noeud 50 vers le noeud 40 et comprend les équipements 15 et 14. Un chemin peut acheminer des données émises par des noeuds distincts vers des noeuds qui peuvent également être distincts. Le chemin est alors partagé pour plusieurs sessions de données. 30 Une même session peut par ailleurs utiliser plusieurs chemins. Par exemple, le 12 noeud 10 pourrait envoyer des données au noeud 20 en utilisant plusieurs chemins, par exemple pour fiabiliser le transfert de données ou bénéficier de plus de capacités de transmission. En outre, un chemin peut être unidirectionnel ou bien bidirectionnel. Dans le cas d'un chemin unidirectionnel, les données du noeud 10 vers le noeud 30 5 sont acheminées via un chemin différent des données émises par le noeud 30 vers le noeud 10. Dans le cas d'un chemin bidirectionnel les données empruntent le même chemin quel que soit l'émetteur ou le récepteur des données. Les données d'un chemin bidirectionnel peuvent devoir être traitées par les mêmes équipements sur le chemin mais un équipement peut, dans certains cas, uniquement modifier les données 10 transmises dans une direction donnée. Un chemin bidirectionnel est dit symétrique si les mêmes équipements interviennent dans les deux directions. Les équipements 11, 12, 13, 14, 15, 16 des chemins Cl, 02, 03, c4 ont des capacités d'acheminement mais ils ont également des capacités de traitement. Ils peuvent ainsi modifier alors les messages transmis par les noeuds soit en extrayant des données, soit en ajoutant des 15 données, soit en changeant des données, toutes ces opérations consistant à modifier les données émises par les noeuds. La modification ou l'extraction des données est possible si ces données ne sont pas chiffrées dans le message. Par exemple, ces noeuds peuvent effectuer des opérations d'optimisation de fonctions HTTP (en anglais Hypertext Transfer Protocol), de translation d'adresses, de filtrage de données, 20 d'interceptions légales, de sécurisation des données, etc... En relation avec la figure 2, on présente un aperçu du procédé de modification, selon un premier mode de réalisation de l'invention. Dans ce mode de réalisation, le noeud 10, que l'on considère être un terminal dans ce mode de réalisation, établit une 25 session applicative avec le noeud 20, que l'on considère être un serveur HTTP. Les données de la session applicative sont transmises sur le chemin 05. Les données sont acheminées depuis le terminal 10 jusqu'au serveur 20 et sont traitées par les trois équipements M1 13, M2 14 et M3 15 se trouvant sur le chemin 05. Les équipements sont dits intermédiaires, car ils se situent entre les deux noeuds 10 et 20, dits 30 d'extrémité, sur le chemin 05. Les équipements Ml, M2, M3 doivent pouvoir intervenir 13 sur les données transmises si les noeuds 10 et 20 les y autorisent. Ainsi, l'équipement Ml, selon un exemple, ajoute une information de qualité de service, alors que l'équipement M2 extrait des informations des données à des fins légales et l'équipement M3 substitue des informations des données par exemple pour masquer 5 des informations au noeud destinataire 20. Le nombre d'équipements sur le chemin n'est pas limité et les équipements peuvent être gérés par une entité unique ou distincte. Le terminal 10 transmet un paquet P1 à destination du serveur 20. Ce paquet comprend un en-tête, incluant des informations permettant d'acheminer le paquet sur 10 le chemin 05 et d'autres informations par exemple de qualité de service, ainsi que des informations dites utiles correspondant aux données applicatives. Il s'agit par exemple d'une requête HTTP. Dans le paquet P1, un champ DMZ est présent pour qu'il puisse être exploité par les équipements intermédiaires sur le chemin 05. Ce champ DMZ est une zone d'échange que les équipements intermédiaires utilisent pour modifier 15 certaines données des paquets. Le champ DMZ peut par exemple être un champ de bourrage (ou « padding » en anglais) de paquets exploité aux fins du procédé de modification. Il peut s'agir également d'un champ d'un protocole de transport ou d'un protocole applicatif. L'équipement M1 intercepte le paquet P1 et utilise une partie du champ DMZ 20 pour ajouter des informations relatives à la qualité de service. L'équipement utilise un champ M1 Info, qui lui est attribué ou non. En effet, le champ DMZ peut comprendre des champs spécifiquement alloués aux équipements sur le chemin, ou bien un champ unique que chaque équipement intermédiaire peut utiliser selon ses besoins. L'information M1 Info est chiffrée à l'aide d'une clé de chiffrement spécifique à 25 l'équipement M1, obtenue au préalable, du terminal 10 ou du serveur 20 de façon à ce que d'autres équipements sur le chemin 05 ne puissent lire ou modifier les données modifiées de M1. L'équipement M2 intercepte le paquet P1 mais n'apporte aucune modification, soit parce qu'il n'est pas autorisé à modifier par les noeuds d'extrémité, soit parce que 30 le paquet ne transporte pas d'informations qu'il doit modifier. Un équipement peut être 14 autorisé ou non à modifier le paquet P1 grâce à une clé lui permettant de modifier le paquet par exemple, cette clé lui étant transmise de façon indépendante dans ce mode de réalisation. Ainsi dans le cas où le paquet a été chiffré par le terminal 10, l'équipement M2 peut modifier des données du paquet chiffrées seulement s'il détient 5 une clé de déchiffrement lui permettant de pouvoir accéder aux données chiffrées du paquet P1 à l'aide d'une clé correspondante à la clé de chiffrement utilisée pour chiffrer les données. Le terminal peut ainsi chiffrer certaines données avec une clé et d'autres données avec une autre clé. L'équipement M2 transmet le paquet P1 à destination du serveur 20. 10 L'équipement M3 intercepte le paquet P1 et modifie également des informations du paquet P1. Par exemple, il substitue des informations du paquet P1 pour masquer les informations relatives au terminal 10. Cela peut notamment être utile si le paquet transite vers un réseau géré par une entité différente de celle qui gère l'équipement M3 pour atteindre le serveur 20. L'équipement 20 modifie donc le paquet P1 et l'indique 15 dans une partie non utilisée du champ DMZ. Il est à noter que les données M1 info chiffrées par l'équipement Ml, ne sont accessibles, ni à l'équipement M2, ni à l'équipement M3. L'équipement M3 peut ajouter une information M3 Info dans le champ DMZ et il chiffre cette information avec une clé de chiffrement qui lui est propre. Il peut chiffrer les seules informations qu'il a ajoutées ou bien l'ensemble des 20 informations M1 info et M3 info. Dans ce cas les données M1 info sont chiffrées par l'équipement M1 puis par l'équipement M3 tandis que les données ajoutées par l'équipement M3 sont uniquement chiffrées par l'équipement M3. Le paquet P1 comprenant les champs M1 info et M3 info, respectivement chiffrés par les équipements M1 et M3, est ensuite émis vers le serveur 20. Le serveur 25 20, disposant de variables de chiffrement, qui sont dans ce cas des clés de chiffrement utilisées par les équipements 13 et 15, peut accéder aux données M1 info et M3 info. Le serveur 20 a en effet obtenu du terminal 10 les clés utilisées par les équipements 13 et 15 pour la session entre le terminal 10 et le serveur 20. Ces clés sont par exemple transmises par le serveur 20 aux équipements lors de l'établissement de la 30 session, procurant un contrôle des modifications au serveur 20. 15 Le serveur 20 peut en outre vérifier le paquet P1 reçu afin de contrôler les modifications apportées par les équipements sur le chemin. En particulier, le serveur 20 peut identifier si des données ont été modifiées en utilisant des clés qu'il ne détient pas ou si des modifications ont été apportées au paquet P1 par des équipements 5 différents utilisant une même clé. Dans le cas où le serveur 20 détecte qu'une modification a été apportée sans autorisation, il peut décider de supprimer le paquet, transmettre un message au terminal 10 pour interrompre l'émission de données par exemple. Il est à noter que, selon le type de message échangé entre le terminal 10 et le 10 serveur 20, les rôles respectifs du terminal 10 et du serveur 20 peuvent être inversés et la session peut être établie du serveur 20 vers le terminal 10. On se réfère maintenant à la figure 3 qui présente un aperçu du procédé de modification selon un deuxième mode de réalisation de l'invention. 15 Les entités 10, 13, 14, 15 et 20 correspondent aux entités numérotées de façon identique dans la figure 2. Le protocole utilisé dans ce mode de réalisation est le protocole QUIC. Un autre protocole, tel que ILS pourrait être également utilisé. Lors de l'étape El, le terminal 10 transmet un message « Client HELLO » 20 d'établissement de session à destination du serveur 20. Lors de l'étape E2, le serveur 20 détermine un ensemble de variables de chiffrement. Dans cet exemple, il s'agit de clés privées de chiffrement a', b', c', d' ainsi que les clés publiques a, b, c, d de chiffrement correspondantes aux clés privées. Le serveur peut ainsi générer autant de clés que nécessaire selon le moyen qui lui est 25 propre, par exemple à partir d'un calculateur. Il est également possible de générer des clés pendant une session pour accroître la sécurité, ce qui requiert que les clés générées soient ensuite transmises au terminal 10. Lors de l'étape E3 le serveur 20 émet à destination du client 10 un message de type « Serveur HELLO » comprenant les clés privées a', b', c', d' déterminées lors de 30 l'étape E2. Avantageusement, les messages « client HELLO » et « Serveur HELLO » 16 transmis lors des étapes respectives El et E3 sont chiffrés de façon qu'ils ne puissent être lus que par le terminal 10 et le serveur 20. Il pourrait également s'agir de clés secrètes, qui nécessitent des échanges préalables entre le serveur 20 et le terminal 10. Lors de l'étape E4, le terminal 10 mémorise les clés de chiffrement reçues de 5 façon à pouvoir ultérieurement déchiffrer les messages de données en provenance du serveur 20. Lors de l'étape E5, le terminal 10 émet une requête d'obtention d'un contenu au serveur 20. La requête d'obtention du contenu peut être par exemple une requête HTTP. 10 L'étape E6 correspond à l'envoi des données HTTP par le serveur 20 au terminal 10 suite à la réception de la requête lors de l'étape E5. Le message de données, selon une alternative, comprend en outre les paramètres de chiffrement relatifs aux variables a', b', c', d'. Dans ce mode de réalisation, il s'agit de clés publiques a, b, c, d déterminées par le serveur 20 lors de l'étape E2. Les clés sont de 15 préférence transmises en clair, c'est-à-dire non chiffrées pour que les équipements sur le chemin puissent les utiliser sans requérir de clés supplémentaires. Lors d'une étape E7, le message comprenant les données en provenance du serveur 20 est intercepté par l'équipement 15. L'équipement 15 extrait une première clé publique, par exemple la clé publique a. L'équipement 15 ajoute des données dans un champ du message, 20 par exemple dans le champ padding du protocole de transport. Il peut s'agir d'une information indiquant que des données du message ont été modifiées ou bien des données propres à l'équipement 15 à transmettre au terminal 10. Une fois les données modifiées, il chiffre le champ dans lequel il a ajouté les données modifiées en utilisant la clé publique a et il extrait cette clé a du message à transmettre à destination du 25 terminal 10. Ainsi, un autre équipement ne peut réutiliser la clé a pour accéder aux données modifiées par l'équipement 15 ou pour apporter des modifications avec cette clé puisque la clé a n'est plus présente dans le message modifiée acheminé par l'équipement 15. Une clé ne peut ainsi être utilisée que par un équipement. Lors de l'étape E8, l'équipement 13 intercepte à son tour le message de 30 données, ne comprenant plus que les clés publiques b, c, d, émis initialement par le 17 serveur 20 et acheminé via l'équipement 15. L'équipement 13 effectue des opérations comparables aux opérations effectuées par l'équipement 15, en modifiant les données du message reçu mais en chiffrant les données modifiées en utilisant la clé de chiffrement publique b et en la retirant du message à émettre vers le terminal 10. 5 L'équipement 13, selon une alternative, ne chiffre avec la clé b que les données qu'il a ajoutées ou bien selon une autre alternative, les données ajoutées par l'équipement 15 et chiffrées avec la clé a, en plus de ses données. Dans cette dernière alternative, les données ajoutées par l'équipement 15 sont chiffrées avec la clé a puis avec la clé b alors que les données ajoutées par l'équipement 13 sont seulement chiffrées avec la 10 clé b. Le message est ensuite émis vers le terminal qui le reçoit lors de l'étape E9. Le message comprend les données émises par le serveur 20, qui ont été modifiées par les équipements 15 et 13, et dont les données ajoutées par les équipements 15 et 13 sont respectivement chiffrées avec les clés publiques a et b. Le message reçu par le 15 terminal 10 comprend en outre les clés publiques c et d qui n'ont été utilisées par aucun équipement sur le chemin. Le terminal 10, détenant les clés privées a' et b' mémorisées lors de l'étape E4, est en mesure de déchiffrer les informations modifiées par les équipements 15 et 13. Il lui suffit d'utiliser la clé privée correspondant à la dernière clé publique non présente dans le message reçu pour déchiffrer la dernière 20 partie modifiée. Si l'équipement 13 a chiffré toutes les parties modifiées, aussi bien par lui que par l'équipement 15, le terminal 10 accède à la modification de l'équipement 13 ainsi qu'à la modification de l'équipement 15 chiffré. Ensuite, en utilisant la clé privée a', le terminal 10 peut déchiffrer la partie modifiée par l'équipement 15. Ainsi, seul le terminal 10, peut accéder à l'ensemble des données modifiées par les équipements 13 25 et 15. Lors de l'étape E10, le terminal 10 émet un message de requête HTTP vers le serveur, par exemple pour obtenir un autre contenu suite aux données récupérées lors de l'étape E9. Le message est intercepté par les équipements 13 et 14 sur le chemin du 30 réseau de communication entre le terminal 10 et le serveur 20. De façon comparable 18 aux étapes E6 à E9, les étapes El 0 à El 3 incluent la transmission du message par le terminal 10, la modification de ce message par les équipements 13 puis 14 et la réception par le serveur 20. Il est à noter que les équipements intervenant dans les étapes E7 et E8 d'une part et El 1 et E12 d'autre part ne sont pas les mêmes, ce qui 5 peut être le cas lorsque les chemins sont non symétriques. On se réfère maintenant à la figure 4 qui présente un aperçu du procédé de modification selon un troisième mode de réalisation de l'invention. Dans ce mode de réalisation, un accord est préalablement signé entre le 10 gestionnaire du serveur 20 et les gestionnaires respectifs des équipements 13, 14, 15. Le serveur 20 transmet aux équipements 15, 14, 13 leur clé de chiffrement publique respective Ki, K2, K3 lors des étapes E'0, E"0 et E'"0. Ainsi chaque équipement a obtenu une clé de chiffrement de la part du serveur 20. Lors de l'étape E'l, le terminal 10 émet un message d'établissement de session 15 à destination du serveur 20. Cela peut être un message de type SYN s'il s'agit d'une session TCP (en anglais Transport Control Protocol). Lors de l'étape E'2, le serveur 20 détermine des nombres aléatoires x, y, z aussi appelés nonces. Comme pour les clés dans le deuxième mode de réalisation, il est possible d'envisager la détermination de nonces différents lors d'une session entre 20 le serveur 20 et le terminal 10, notamment pour accroître la sécurisation des données échangées lors de la session. Lors de l'étape E'3, le serveur 20 transmet au terminal 10 les nonces x, y, z déterminés ainsi que les variables de chiffrement, les clés de chiffrement K'l , K'2, K'3 privées correspondant aux paramètres de chiffrement que sont les clés publiques Ki, 25 K2, K3 transmises aux équipements 15, 14, 13. Lors de l'étape E'4, le terminal mémorise les nonces x, y, z reçus et les clés privées K'l , K'2, K'3 reçues lors de l'étape E'3. Lors de l'étape E'5, le terminal 10 émet une requête à destination du serveur 20 pour obtenir un contenu, par exemple en transmettant une requête de type HTTPGET. 30 Le terminal émet le message de données de type HTTP GET à destination du 19 serveur 20 lors de l'étape E'5, le message de données comprenant en outre les nonces x, y, z. L'équipement 13 intercepte le message de données lors de l'étape E'6 et extrait le nonce x. A partir de la clé publique K3 transmise par le serveur 20 lors de l'étape 5 E-0, l'équipement 13 calcule un nonce x' chiffré à partir du nonce x en utilisant la clé K3. L'équipement 13 chiffre, à l'aide de la clé K3, les données qu'il doit ajouter au message de données conformément à la fonction qu'il remplit. Il peut par exemple ajouter une adresse d'un serveur PCRF (en anglais Policy Rules and Control Function) auquel doit être envoyé les données de facturation. Il chiffre cette adresse IP à l'aide 10 de la clé publique K3. L'équipement modifie en outre le message de données en substituant au nonce x du message de données reçu le nonce x' chiffré. Le message modifié à émettre vers le serveur 20 comprend des données modifiées à l'aide de la clé K3, le nonce a' chiffré avec la clé K3 et ne comprend plus le nonce a. Il émet ensuite le message modifié à destination du serveur 20. Le message de 15 données est intercepté lors de l'étape E'7 par l'équipement 14 qui intervient également sur le message en modifiant le message par l'ajout d'une information, par exemple en indiquant l'identité du gestionnaire de cet équipement 14. L'équipement chiffre l'identité à ajouter avec la clé publique K2 reçue lors de l'étape E"0. En outre, l'équipement 14 chiffre le nonce y avec la clé publique K2 et obtient un nonce chiffré y'. 20 L'équipement 14 modifie le message de données en ajoutant l'identité du gestionnaire chiffré et en substituant au nonce y reçu le nonce chiffré y'. Le message de données modifié par l'équipement 13 puis par l'équipement 14 est transmis au serveur 20 qu'il reçoit lors de l'étape E'8. Le serveur 20 disposant des clés privées K'3 et K'2 peut déchiffrer les données 25 modifiées par les équipements 13 et 14 sur le chemin et il peut également identifier quel équipement a modifié les dites données à partir des nonces chiffrés x' et y' reçus. Sachant qu'il ne peut obtenir le nonce x qu'à partir de la clé K'3, il peut identifier que l'équipement 13 a chiffré les données du message avec la clé K3. Les données émises par le serveur 20 au terminal 10 lors de l'étape E'9, suite à 30 la requête émise par le terminal 10, sont interceptées par les mêmes équipements 13 20 et 14 lors des étapes E'10 et E'11 car il est considéré que le chemin utilisé pour la transmission des données est bidirectionnel et symétrique. Le terminal reçoit les données lors de l'étape E'12 et peut déchiffrer les données modifiées par les équipements 13 et 14 car il dispose des informations sur les nonces x, y, z et les clés 5 privées K'1, K'2, K'3. Ce mode de réalisation présente l'intérêt de pouvoir identifier l'équipement ayant modifié des données d'un message pour un message transmis sur un chemin et en outre, il permet d'éviter de transmettre les clés de chiffrement dans le message de données. 10 En relation avec la figure 5, on présente un exemple de structure d'un dispositif de modification, selon un aspect de l'invention. Le dispositif 100 de modification met en oeuvre le procédé de modification, dont différents modes de réalisation viennent d'être décrits. 15 Un tel dispositif 100 peut être mis en oeuvre dans un tout type d'équipement présent sur un chemin de communication, que cet équipement soit virtualisé ou non. Cela peut être une passerelle de réseau mobile, un équipement chargé de la translation d'adresses IP, un firewall, un équipement assurant des fonctions de DPI (en anglais Deep Packet Inspection), etc... 20 Par exemple, le dispositif 100 comprend une unité de traitement 106, équipée par exemple d'un microprocesseur pP, et pilotée par un programme d'ordinateur 105, stocké dans une mémoire 107 et mettant en oeuvre le procédé de sélection selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 105 sont par exemple chargées dans une mémoire RAM, avant d'être exécutées par le 25 processeur de l'unité de traitement 106. Un tel dispositif 100 comprend : - Un module 101 d'interception, apte à intercepter le message de données, en provenance du premier noeud et à destination du second noeud, - Un module 102 d'obtention, apte à obtenir un paramètre de chiffrement de l'ensemble 30 en provenance du premier noeud, 21 - Un module 103 de détermination, apte à déterminer un élément cryptographique à partir du paramètre obtenu, - Un module 104 de modification, apte à modifier au moins une donnée du message à partir de l'élément cryptographique déterminé, 5 - Un émetteur 110 apte à émettre le message Mess de données modifié à destination du second noeud. En relation avec la figure 6, on présente un exemple de structure d'un dispositif de contrôle de modification, selon un aspect de l'invention. 10 Le dispositif 200 de contrôle de modification dont différents modes de réalisation viennent d'être décrits peut être mis en oeuvre dans des équipements de type terminal fixe ou mobile, passerelle résidentielle ou tout type de serveur. Par exemple, le noeud 200 comprend une unité de traitement 206, équipée par exemple d'un microprocesseur pP, et pilotée par un programme d'ordinateur 205, 15 stocké dans une mémoire 207 et mettant en oeuvre le procédé de sélection selon l'invention. A l'initialisation, les instructions de code du programme d'ordinateur 205 sont par exemple chargées dans une mémoire RAM, avant d'être exécutées par le processeur de l'unité de traitement 206. Un tel dispositif 200 comprend : 20 - Un récepteur 220, apte à recevoir un message Req de requête d'établissement du chemin de communication en provenance du second noeud, Un module 201 de génération, apte à générer un ensemble de paramètres de chiffrement, Un émetteur 210, 25 o apte à émettre un message Etab de réponse d'établissement comprenant l'ensemble de variables de chiffrement à destination du second noeud, o apte à émettre un message Donn de données à destination du second noeud. 30 Un module 202 de livraison, apte à livrer un paramètre de chiffrement, relatif à 22 une variable de l'ensemble, à l'équipement. Les modules décrits en relation avec la figure 5 et la figure 6 peuvent être des modules matériels ou logiciels. 5 Le procédé de modification et le procédé de contrôle de modification, dont différents modes de réalisation viennent d'être décrits, permet de pouvoir autoriser des équipements dits intermédiaires, présents sur un réseau d'accès ou dans un coeur de réseau, par exemple sur une infrastructure Wi-Fi ou un réseau GPRS/LTE/5G à 10 modifier des données. En distribuant des clés de chiffrement dans les messages de données ou dans des messages spécifiques, un client ou un serveur peut autoriser ou non des équipements intermédiaires à modifier des données, notamment en ajoutant des informations aux données transmises par le client ou le serveur. Les procédés permettent en outre de savoir quels équipements intermédiaires ont ajouté quelles 15 données dans le message. Les procédés autorisent l'utilisation de protocoles de transport ou applicatifs pour émettre le cas échéant des paramètres de chiffrement, sachant que l'utilisation de protocole de transport tel que QUIC, en forte progression d'utilisation dans les réseaux s'avère un choix opportun pour développer l'utilisation des procédés. Les procédés ne remettent pas en cause la sécurisation des données 20 puisqu'il est possible d'utiliser des champs non chiffrés pour transporter les paramètres de chiffrement et de conserver un chiffrement des autres données émises par le terminal ou le serveur que l'équipement ne doit pas modifier. Il est également possible de chiffrer certaines données d'un message avec une clé et d'autres données du message avec d'autre clés de façon à ne rendre accessible à des équipement que 25 certaines parties des messages et aussi d'empêcher REVENDICATIONS1. Procédé de modification d'un message de données émis par un premier noeud (20) à destination d'un second noeud (10) sur un chemin (05) d'un réseau (1) de communication, le second noeud (10) ayant obtenu un ensemble de variables de chiffrement en provenance du premier noeud (20), le procédé étant destiné à être exécuté par un équipement (13, 14, 15) apte à intercepter le message de données, le procédé comprenant les étapes suivantes : - interception du message de données, en provenance du premier noeud (20) et à destination du second noeud (10), - obtention d'un paramètre de chiffrement spécifique à l'équipement et relatif à une variable de l'ensemble en provenance du premier noeud (20), - détermination d'un élément cryptographique relatif au paramètre obtenu, - modification d'au moins une donnée du message à partir de l'élément cryptographique déterminé, - émission du message de données modifié à destination du second noeud (10). 2. Procédé de modification, selon la revendication 1, où le paramètre de chiffrement est obtenu dans le message de données reçu. 3. Procédé de modification, selon la revendication 2, comprenant en outre une étape de suppression du paramètre de chiffrement dans le message de données émis à destination du second noeud (10). 4. Procédé de modification, selon la revendication 2, où le paramètre de chiffrement est compris dans la couche transport d'un paquet du message de données. 5. Procédé de modification, selon la revendication 1, comprenant en outre une étape d'ajout de l'élément cryptographique dans le message de données émis vers le second noeud (10). 24 6. Procédé de modification, selon la revendication 1, où l'élément cryptographique est déterminé à partir d'un nombre aléatoire présent dans le message de données reçu. 5 7. Procédé de modification, selon la revendication 1, où l'élément cryptographique est spécifique au chemin (05) de communication. 8. Procédé de contrôle de modification d'un message de données émis par un premier noeud (20) à destination d'un second noeud (10) sur un chemin (05) de communication 10 entre les deux noeuds (10, 20), la modification étant exécutée par un équipement (13, 14, 15) apte à intercepter le message de données, le procédé étant destiné à être exécuté par le premier noeud (20) et comprenant les étapes suivantes : - réception d'un message de requête d'établissement d'un chemin de communication en provenance du second noeud (10), 15 - génération d'un ensemble de variables de chiffrement, émission d'un message de réponse d'établissement comprenant l'ensemble de variables générés à destination du premier noeud (20), livraison d'un paramètre de chiffrement spécifique à l'équipement et relatif à une variable de l'ensemble, à l'équipement (13, 14, 15), 20 émission d'un message de données comprenant le paramètre de chiffrement, à destination du second noeud (10). 9. Procédé de contrôle, selon la revendication 8, où le paramètre de chiffrement est une clé publique de chiffrement et l'élément cryptographique est un nombre aléatoire 25 chiffré à l'aide de la clef de chiffrement publique. 10. Dispositif de modification d'un message de données émis par un premier noeud (20) à destination d'un second noeud (10) sur un chemin (05) de communication établi entre les deux noeuds (10, 20), le second noeud ayant obtenu au préalable un 30 ensemble de variables de chiffrement en provenance du premier noeud (20), le 25 dispositif comprenant : - un module d'interception, apte à intercepter le message de données, en provenance du premier noeud (20) et à destination du second noeud (10), - un module d'obtention, apte à obtenir un paramètre de chiffrement spécifique à 5 l'équipement et relatif à une variable de l'ensemble, en provenance du premier noeud (20), - un module de détermination, apte à déterminer un élément cryptographique à partir du paramètre obtenu, - un module de modification, apte à modifier au moins une donnée du message à partir 10 de l'élément cryptographique déterminé, - un émetteur apte à émettre le message de données modifié à destination du second noeud (10). 11. Dispositif de contrôle de modification d'un message de données émis par un 15 premier noeud (20) à destination d'un second noeud (10) sur un chemin de communication entre les deux noeuds (10, 20), la modification étant exécutée par un équipement (13, 14, 15), apte à intercepter le message de données, le dispositif comprenant : - un récepteur, apte à recevoir un message de requête d'établissement du 20 chemin de communication en provenance du second noeud (10), un module de génération, apte à générer un ensemble de variables de chiffrement, un émetteur, apte à émettre un message de réponse d'établissement comprenant l'ensemble de variables de chiffrement à destination du second 25 noeud (10), un module de livraison, apte à livrer un paramètre de chiffrement spécifique à l'équipement et relatif à un paramètre de l'ensemble, à destination de l'équipement (13, 14, 15), un émetteur, apte à émettre un message de données comprenant le paramètre 30 de chiffrement, à destination du second noeud (10). 26 12. Système de modification d'un message de données émis par un premier noeud (20) à destination d'un second noeud (10), la modification étant exécutée par un équipement sur au moins un chemin (05) de communication entre les deux noeuds (10, 5 20), comprenant : - un équipement (13, 14, 15) comprenant un dispositif de modification du message de données selon la revendication 10, - un premier noeud (20), comprenant un dispositif de contrôle de modification du message de données, selon la revendication 11, 10 - un second noeud (10) comprenant : - un émetteur, apte à émettre un message de requête d'établissement d'un chemin de communication à destination du premier noeud (20), - un récepteur, - apte à recevoir un message de réponse d'établissement comprenant 15 l'ensemble de variables de chiffrement en provenance du premier noeud (20), - apte à recevoir le message de données en provenance du premier noeud (20). 13. Programme d'ordinateur, caractérisé en ce qu'il comprend des instructions pour la 20 mise en oeuvre des étapes du procédé de modification selon la revendication 1 ou du procédé de contrôle selon la revendication 8, lorsque ce procédé est exécuté par un processeur. 14. Support d'enregistrement lisible par un dispositif de modification conforme à la 25 revendication 10 ou par un dispositif de contrôle conforme à la revendication 11 sur lequel est enregistré le programme selon la revendication 13.