FR3096532A1 - Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs et système pour la mise en œuvre du procédé - Google Patents

Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs et système pour la mise en œuvre du procédé Download PDF

Info

Publication number
FR3096532A1
FR3096532A1 FR1907115A FR1907115A FR3096532A1 FR 3096532 A1 FR3096532 A1 FR 3096532A1 FR 1907115 A FR1907115 A FR 1907115A FR 1907115 A FR1907115 A FR 1907115A FR 3096532 A1 FR3096532 A1 FR 3096532A1
Authority
FR
France
Prior art keywords
terminal
connection
data
function
message
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.)
Withdrawn
Application number
FR1907115A
Other languages
English (en)
Inventor
Mohamed Boucadair
Christian Jacquenet
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Orange SA
Original Assignee
Orange SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange SA filed Critical Orange SA
Priority to FR1907115A priority Critical patent/FR3096532A1/fr
Priority to EP20747451.1A priority patent/EP3991392A1/fr
Priority to PCT/FR2020/051102 priority patent/WO2020260825A1/fr
Priority to US17/597,122 priority patent/US20220272079A1/en
Publication of FR3096532A1 publication Critical patent/FR3096532A1/fr
Withdrawn 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/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/166Implementing security features at a particular protocol layer at the transport layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/10Integrity
    • H04W12/102Route integrity, e.g. using trusted paths
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2514Translation of Internet protocol [IP] addresses between local and global IP addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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

Landscapes

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

Abstract

Un procédé de communication dans un réseau, entre un premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée pour transmettre des données, est proposé, qui comprend au premier terminal : mémoriser, en association avec ladite première connexion, au moins une deuxième connexion entre le premier terminal et le deuxième terminal via au moins une fonction de traitement intermédiaire destinée à être appliquée entre le premier terminal et le deuxième terminal sur au moins une partie desdites données dites éligibles à la deuxième connexion, et un filtre caractérisant lesdites données éligibles à la deuxième connexion, ladite deuxième connexion étant chiffrée entre le premier terminal et ladite fonction de traitement intermédiaire, et envoyer, via ladite deuxième connexion, au moins un message destiné à ladite fonction intermédiaire transportant des données pour le deuxième terminal correspondant audit filtre, le premier message envoyé au moins comprenant une information selon laquelle lesdites données sont pour le deuxième terminal. Figure de l’abrégé : Figure 3b

Description

Description Titre de l'invention : Procédé de gestion d'une communication entre terminaux dans un réseau de communication, et dispositifs et système pour la mise en oeuvre du procédé Domaine technique 100011 La présente divulgation se rapporte à un procédé de gestion d'une communication entre un premier terminal et un deuxième terminal dans un réseau de communication, ainsi qu'à des dispositifs pour la mise en oeuvre de ce procédé.
Elle s'applique notamment à la gestion des communications utilisant une connexion chiffrée, comme par exemple une communication selon le protocole QUIC.
Technique antérieure
[0002] Le protocole QUIC décrit dans le projet de spécification de l'Internet Engineering Task Force (IETF) intitulé « QUIC : A UDP-Based Multiplexed and Secure Transport » est un exemple de protocole de transport spécifié par la communauté Internet pour satisfaire les besoins de certaines applications.
Le protocole QUIC repose sur le protocole UDP (de l'anglais « User Datagram Protocol ») plutôt que sur le protocole TCP (de l'anglais « Transmission Control Protocol ») car il a pour ambition de réduire les temps de latence généralement observés lors de l'établissement de connexions TCP.
[0003] A la différence du protocole TLS (de l'anglais « Transport Layer Security ») qui est utilisé pour sécuriser des connexions TCP.
QUIC ne chiffre pas seulement les données utiles, mais également les informations de contrôle de connexion.
Les informations QUIC envoyées en clair sont limitées au strict minimum (par exemple, l'identifiant de connexion).
QUIC permet ainsi d'établir des connexions chiffrées de bout en bout.
[0004] Cependant, la spécification du protocole QUIC n'envisage pas de mécanisme de col- laboration entre un terminal QUIC (incluant les applications qu'il supporte) et un réseau d'opérateur pour offrir à l'utilisateur une meilleure qualité d'expérience (ou en anglais.
QoE, pour « Quality of Experience »), via par exemple la mise en oeuvre dans le réseau de fonctions proposant divers services tels que des services anti-virus, d'inspection dc paquets, de traductions d'adresse et de port, etc.
En particulier, une telle coopération ne doit pas induire des délais d'établissement de connexion supplémentaires comparés à ceux des connexions qui n'impliquent pas une fonction réseau.
[0005] Or, la présence de telles fonctions dans le réseau peut avoir un impact sur le dé- roulement d'une connexion QUIC.
[0006] Ainsi, les modifications d'adresses ou de numéros de port exécutées par une fonction réseau telle qu'une fonction de translation d'adresse et de port (NAPT, Nctwork 2 Address and Port Translation en anglais) peuvent conduire à une instabilité de la connexion QU1C car le terminal distant doit vérifier à chaque modification que c'est bien le terminal QU1C qui est à l'origine de ladite modification.
Les requêtes QU1C utilisées pour cette vérification peuvent être rejetées (à cause d'une politique de « rate-limit ») ou échouer car le terminal n'a pas la connaissance des modifications effectuées sur ses paquets envoyés dans le réseau.
[0007] En outre, du fait du chiffrement des messages, une fonction réseau placé sur le chemin d'une communication QUIC ne peut pas accéder aux données échangées lors de cette communication.
Résumé
[0008] La présente divulgation vient améliorer la situation.
[0009] Selon un premier aspect, il est proposé un procédé de communication dans un réseau, entre un premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée pour transmettre des données, le procédé comprenant au premier terminal : mémoriser, en association avec ladite première connexion, au moins une deuxième connexion entre le premier terminal et le deuxième terminal via au moins une fonction de traitement intermédiaire destinée à être appliquée sur au moins une partie desdites données dites éligibles à la deuxième connexion, et un filtre caractérisant lesdites données éligibles à la deuxième connexion, ladite deuxième connexion étant chiffrée entre le premier terminal et ladite fonction de traitement intermédiaire, et envoyer, via ladite deuxième connexion, au moins un message destiné à ladite fonction intermédiaire transportant des données pour le deuxième terminal correspondant audit filtre, le premier message envoyé au moins comprenant une information selon laquelle lesdites données sont à destination du deuxième terminal.
[0010] Ainsi, le procédé proposé introduit la notion de connexions collaboratives entre deux terminaux, où une pluralité de connexions chiffrées secondaires (deuxièmes connexions au sens du procédé proposé) est associée à une connexion chiffrée principale établie entre les deux terminaux (première connexion au sens du procédé proposé), et peut avantageusement bénéficier de l'exécution de fonctions de traitement offertes par le réseau.
Grâce au procédé proposé, les données échangées via la pluralité de connexions établies entre les deux terminaux sont, du point de vue des terminaux, associées à une seule et même connexion, à savoir la connexion principale.
[0011] En fonction du mode de réalisation, les différentes fonctions de traitement peuvent être invoquées en cascade (c'est-à-dire, un même paquet d'une connexion collaborative sera traité par une ou plusieurs fonctions de traitement aussi désignées ici par fonctions OF (Offered Function), selon un ordre d'invocation fourni typiquement par un terminal) ou selon une chronologie spécifique à chaque contexte.
[0012] Le procédé proposé permet, par ce biais, de valoriser le réseau de l'opérateur via 3 l'introduction de fonctions de traitement optimisant l'usage des ressources mobilisées pour l'établissement et la maintenance de connexions chiffrées entre des terminaux, telles que notamment des connexions QUIC.
Lesdites fonctions de traitement ne se limitent pas à celles optimisant l'usage des ressources réseau, niais d'autres types de fonctions peuvent être sollicitées telles que des fonctions de détection et de correction d'erreur (FEC, Forwarding Error Correction).
L'opérateur de réseau a ainsi la possibilité d'améliorer le niveau de qualité associé à ces connexions tel que perçu par les utilisateurs.
[0013] Il en résulte une simplification de l'utilisation des clients QUIC sur les terminaux, grâce à une collaboration pragmatique avec le réseau.
[0014] En outre, il convient de noter que le niveau de sécurité et de robustesse associé à chaque connexion chiffrée principale est maintenu, les connexions secondaires étant elles-mêmes chiffrées entre chaque fonction de traitement et les terminaux, et le cas échéant entre les fonctions de traitement entre elles lorsque celles-ci sont invoquées en cascade.
Aussi, le consentement des terminaux peut être requis pour l'invocation des fonctions de traitement intermédiaires dans une communication collaborativc.
Ce faisant, seules les fonctions de confiance n'altérant pas le niveau de sécurité d'une connexion sont sollicitées.
[0015] Le procédé proposé permet ainsi avantageusement d'impliquer des fonctions OF dans une communication entre deux terminaux sans induire de latence supplémentaire pour l'échange des données (0-RTT, « Zero Round Trip Time » en anglais, c'est-à-dire que les données utiles sont transmises dès l'émission du premier paquet utilisé à des fins d'établissement de la connexion) entre ces deux terminaux.
[0016] Le procédé proposé laisse la possibilité aux terminaux de contrôler la sélection de ces fonctions de traitement.
Elle introduit une certaine flexibilité dans l'invocation et le retrait de fonctions de traitement ; en particulier, elle rend possible une invocation à la demande de fonctions de traitement dans le réseau.
[0017] En outre, le procédé proposé fournit avantageusement un mécanisme de sélection d'une partie des données d'une connexion QUIC pour lesquelles une ou plusieurs fonctions OF peuvent être invoquées.
De même, la direction du trafic à laquelle appliquer la ou les fonctions de traitement peut également être laissée au choix des terminaux.
[0018] Ainsi, dans un ou plusieurs modes de réalisation, une fonction d'inspection du contenu des paquets (DPI, Deep Packet Inspection en anglais) ou une fonction antivirus peuvent être invoquées sélectivement pour certains paquets, sans pour autant être invoquées pour l'intégralité des paquets échangés lors d'une communication QUIC.
[0019] Dans un ou plusieurs modes de réalisation, une connexion peut multiplexer plusieurs canaux (aussi désignés par « streams » dans le protocole QUIC), sans limitation quant au nombre de canaux multiplexés, quant à leur nature (unidirectionnels ou bidirectionnels), ou encore quant à l'origine de l'établissement de ces canaux (à l'initiative du client ou du serveur).
Le procédé proposé offre ainsi la possibilité de choisir sélectivement les canaux d'une connexion bénéficiant de telles ou telles fonctions de traitement.
Aussi, un même canal peut impliquer durant une connexion des fonctions différentes, chacune étant invoquée exclusivement pour une partie des données associées à ce même canal.
[0020] Dans un ou plusieurs modes de réalisation, le procédé proposé peut comprendre en outre : envoyer via la première connexion des données à destination du deuxième terminal, données qui ne correspondent pas audit filtre.
[0021] Dans un ou plusieurs modes de réalisation, le procédé proposé peut comprendre en outre : sur réception de données via ladite deuxième connexion, associer lesdites données à ladite première connexion si les données correspondent audit filtre.
[0022] On note qu'un terminal peut décider d'envoyer des données via la première connexion même si ces données sont éligibles à la deuxième connexion.
Cette décision est locale au terminal (par ex. pilotée par la couche applicativc).
[0023] Dans un ou plusieurs modes de réalisation, ledit premier message comprend en outre une clé destinée à être présentée par la fonction intermédiaire (OF) au deuxième terminal, et partagée entre le premier terminal et le deuxième terminal.
[0024] Ce mode de réalisation permet de renforcer la sécurité du mécanisme proposé.
[0025] Dans un ou plusieurs modes de réalisation, le procédé proposé peut comprendre en outre : informer le deuxième terminal, dans au moins un message émis via ladite première connexion à destination du deuxième terminal, de l'utilisation de ladite fonction de traitement intermédiaire pour ladite au moins une partie desdites données.
[0026] Dans un ou plusieurs modes de réalisation, ledit au moins un message informant le deuxième terminal de l'utilisation de ladite fonction de traitement intermédiaire comprend au moins un élément parmi : un identifiant de ladite fonction de traitement intermédiaire ; une clé à présenter par la fonction intermédiaire au deuxième terminal ; ledit filtre caractérisant les données éligibles à ladite deuxième connexion ; au moins un identifiant de connexion éligible à ladite deuxième connexion ; et une information de direction de transmission des données via la deuxième connexion à laquelle ladite fonction de traitement intermédiaire est appliquée.
[0027] Dans un ou plusieurs modes de réalisation, l'utilisation par le premier terminal de ladite deuxième connexion pour envoyer des données au deuxième terminal est conditionnée par la réception par le premier terminal d'un acquittement du deuxième terminal de l'utilisation de ladite fonction de traitement intermédiaire.
[0028] Dans un ou plusieurs modes de réalisation, sur la deuxième connexion, une pluralité de fonctions de traitement intermédiaires peuvent être appliquées sur les données éligibles à la deuxième connexion dans un ordre déterminé et : ledit au moins un message transportant des données pour le deuxième terminal est destiné à la première fonction de traitement intermédiaire devant être appliquée auxdites données éligibles à la deuxième connexion, ledit premier message envoyé comprend en outre une première liste ordonnée selon ledit ordre déterminé identifiant les fonctions de ladite pluralité de fonctions de traitement intermédiaires distinctes de la première fonction, et devant être appliquées sur lesdites données éligibles.
[0029] Dans un ou plusieurs modes de réalisation, ledit premier message envoyé comprend en outre une deuxième liste ordonnée selon ledit ordre déterminé de clés destinées à être présentées par chacune des fonctions de traitement intermédiaires identifiée dans la première liste à la fonction de traitement intermédiaire suivante dans ladite première liste ou, pour la dernière fonction de traitement intermédiaire de la première liste au deuxième terminal, la clé destinée à être présentée au deuxième terminal étant partagée entre le premier terminal et le deuxième terminal.
[0030] Dans un ou plusieurs modes de réalisation, le procédé proposé peut comprendre en outre : informer le deuxième terminal via la première connexion d'une modification affectant l'utilisation de ladite fonction de traitement intermédiaire.
[0031] Dans un ou plusieurs modes de réalisation, ladite première connexion est établie entre le premier terminal et le deuxième terminal selon le protocole QUIC ; au moins une dite deuxième connexion est établie selon le protocole TLS entre le premier terminal et le deuxième terminal via au moins une dite fonction intermédiaire apte à déchiffrer les données échangées via ladite deuxième connexion.
[0032] Selon un deuxième aspect, il est proposé un procédé de communication dans un réseau, entre un premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée pour transmettre des données, le procédé comprenant au deuxième terminal : mémoriser, en association avec ladite première connexion, une fonction de traitement intermédiaire destinée à être appliquée entre le premier terminal et le deuxième terminal sur au moins une partie desdites données, un filtre caractérisant ladite au moins une partie des données et une clé partagée avec le premier terminal ; recevoir au moins un premier message en provenance de ladite fonction intermédiaire transportant des données émises par le premier terminal ; vérifier si lesdites données correspondent au filtre mémorisé ; et en cas de correspondance : accepter l'établissement d'une deuxième connexion chiffrée avec la fonction intermédiaire et associer ladite deuxième connexion à la première connexion ; et sur réception de données via ladite deuxième connexion correspondant audit filtre, associer lesdites données à la première connexion.
[0033] Dans un ou plusieurs modes de réalisation, ledit premier message comprend en outre une clé présentée par la fonction de traitement intermédiaire au deuxième terminal, 6 l'établissement de la deuxième connexion chiffrée étant accepté si ladite clé reçue correspond à une clé partagée avec le premier terminal.
[0034] Dans un ou plusieurs modes de réalisation, le procédé proposé peut comprendre en outre : envoyer des données vers le premier terminal via ladite deuxième connexion correspondant audit filtre dans un message destine à la fonction intermédiaire.
[0035] Selon un troisième aspect, il est proposé un procédé de traitement de données transmises dans un réseau entre un premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée, le procédé comprenant, pour un premier dispositif configure pour mettre en oeuvre une première fonction de traitement intermédiaire de données transmises entre le premier terminal et le deuxième terminal sur une deuxième connexion via ledit premier dispositif : recevoir d'un premier dispositif du réseau au moins un premier message destiné au premier dispositif, transportant des données émises par le premier terminal à destination du deuxième terminal, ledit premier dispositif du réseau étant le premier terminal ou un deuxième dispositif configure pour mettre en oeuvre une deuxième fonction de traitement intermédiaire desdites données, la deuxième connexion étant chiffrée entre le premier dispositif et le premier dispositif, ledit premier message comprenant : une première liste ordonnée identifiant au moins un deuxième dispositif du réseau à emprunter par ledit au moins un message pour être acheminé jusqu'au deuxième terminal, ledit au moins un deuxième dispositif étant le deuxième terminal ou au moins un troisième dispositif configure pour mettre en oeuvre une troisième fonction de traitement intermédiaire desdites données ; et une deuxième liste ordonnée comprenant au moins une clé destinée à être présentée par chaque dispositif de la première liste au dispositif suivant dans ladite première liste, la clé destinée à être présentée au deuxième terminal étant partagée entre le premier terminal et le deuxième terminal ; appliquer la première fonction de traitement intermédiaire auxdites données transportées dans ledit au moins un premier message ; mettre à jour la première liste et la deuxième liste ; et envoyer à destination du dispositif suivant identifié dans la première liste, ledit au moins un premier message intégrant la mise à jour des première et deuxième listes, avec les données traitées par la première fonction de traitement intermédiaire et la clé extraite de la deuxième liste destinée à être présentée au dispositif suivant, la deuxième connexion étant chiffrée entre le premier dispositif et le dispositif suivant.
[0036] Dans un ou plusieurs modes de réalisation, le procédé proposé peut comprendre en outre : mémoriser pour la deuxième connexion : une adresse IP source et un numéro de port source utilisés par le premier dispositif intermédiaire pour relayer lesdites données dudit au moins un premier message ; et une adresse IP destination et un numéro de port destination correspondant au dispositif suivant identifié dans la première liste vers lequel lesdites données dudit au moins un premier message sont transmises ; recevoir 7 du premier dispositif au moins un deuxième message destiné au premier dispositif, transportant des données émises par le premier terminal vers le deuxième terminal, dans lequel la première liste est absente ; appliquer la première fonction de traitement intermédiaire auxdites données transportées dans ledit au moins un deuxième message ; envoyer à destination de l'adresse IP destination et du port destination mémorisés, ledit au moins un deuxième message avec les données traitées par la première fonction de traitement intermédiaire.
[0037] Selon un autre aspect, il est proposé un dispositif de communication de données, comprenant un processeur et une mémoire couplée de manière opérationnelle au processeur, dans lequel le processeur est configure pour la mise en oeuvre d'un des modes de réalisation d'un procédé proposé dans la présente description, tel que mis en oeuvre à un dispositif premier terminal, à un dispositif deuxième terminal, ou à un dispositif configure pour mettre en oeuvre une fonction de traitement intermédiaire.
[0038] Selon encore un autre aspect, il est proposé un système de communication de données, comprenant un premier terminal, un deuxième terminal, et un dispositif de mise en oeuvre d'une ou plusieurs fonctions de traitement intermédiaires, configurés pour la mise en oeuvre d'un des modes de réalisation du procédé proposé dans la présente description, tel que mis en oeuvre à un dispositif premier terminal, à un dispositif deuxième terminal, et à un dispositif configure pour mettre en oeuvre une fonction de traitement intermédiaire, respectivement.
[0039] Un autre aspect concerne un programme d'ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en oeuvre d'un des modes de réalisation du procédé proposé dans la présente description lors de l'exécution dudit programme par le processeur.
[0040] Un autre aspect concerne un ensemble de données représentant, par exemple par voie de compression ou d'encodage, un programme d'ordinateur tel que proposé dans la présente description.
[0041] Un autre aspect concerne un support de stockage non-transitoire d'un programme exécutable par ordinateur, comprenant un ensemble de données représentant un ou plusieurs programmes, lesdits un ou plusieurs programmes comprenant des instructions pour, lors de l'exécution desdits un ou plusieurs programmes par un ordinateur comprenant un processeur couplé de manière opérationnelle à une mémoire et à une interface entrées/sorties de communication de données, conduire l'ordinateur à gérer une communication entre un premier terminal et un deuxième terminal dans un réseau de communication selon l'un des modes de réalisation du procédé proposé dans la présente description, tel que mis en oeuvre à un dispositif premier terminal, à un dispositif deuxième terminal, ou à un dispositif configuré pour mettre en oeuvre une fonction de traitement intermédiaire.
8 Brève description des dessins
[0042] D'autres particularités et avantages de la présente invention apparaîtront dans la des- cription ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels : Fig. la
[0043] [fig.la] illustre un exemple de système de communication dans lequel un ou plusieurs modes de réalisation des procédés, dispositifs et systèmes proposés peuvent être mis en oeuvre.
Fig. lb
[0044] [fig.lb] illustre une architecture de référence pour la mise en oeuvre du procédé proposé selon un ou plusieurs modes de réalisation.
Fig. 2a
[0045] [fig.2a] illustre un exemple de connexions principale et secondaires établies entre deux terminaux selon un ou plusieurs modes de réalisation.
Fig. 2b
[0046] [fig.2b] illustre un exemple de connexions principale et secondaires établies entre deux terminaux selon un ou plusieurs modes de réalisation.
Fig. 2e
[0047] [fig.2c] illustre la corrélation d'une connexion collaborativc avec le réseau sous- jacent selon un ou plusieurs modes de réalisation.
Fig. 3a
[0048] [fig.3a] illustre un exemple de table de connexions collaborativcs (CCT) selon un ou plusieurs modes de réalisation.
Fig. 3b
[0049] [fig.3b] est un diagramme illustrant le procédé proposé selon un ou plusieurs modes de réalisation.
Fig. 4a
[0050] [fie.4a1 illustre un exemple de format de trame QUIC COCON selon un ou plusieurs modes de réalisation.
Fig. 4b
[0051] [fig.4b] illustre un exemple de table (TRS) de gestion de messages d'information d'utilisation de fonction de traitement intermédiaire selon un ou plusieurs modes de réalisation.
Fig. 4e
[0052] [fig.4c] illustre un exemple d'invocation d'une fonction de traitement intermédiaire entre un premier terminal et un deuxième terminal selon un ou plusieurs modes de réalisation.
9 Fig. 4d 100531 Ifie.4d1 illustre un exemple de table TRS gérée par un terminal selon un ou plusieurs modes de réalisation.
Fig. 4e
[0054] [fie.461 illustre un exemple d'invocation d'une fonction de traitement intermédiaire entre un premier terminal et un deuxième terminal selon un ou plusieurs modes de réalisation.
Fig. 4f
[0055] [fig.41] illustre un exemple d'invocation d'une pluralité de fonctions de traitement in- termédiaires entre un premier terminal et un deuxième terminal selon un ou plusieurs modes de réalisation.
Fig. 4g
[0056] [fig.4g] illustre un exemple d'invocation d'une pluralité de fonctions de traitement intermédiaires entre un premier terminal et un deuxième terminal selon un ou plusieurs modes de réalisation.
Fig. 4h
[0057] [fig.4h] illustre un exemple de format de message COCON(UPDATE) selon un ou plusieurs modes de réalisation.
Fig. 5a
[0058] [fig.5a] est un diagramme illustrant le procédé proposé selon un ou plusieurs modes de réalisation.
Fig. 5b
[0059] [fig.5b] illustre un exemple de table de relais de connexions collaborativcs (RCCB) selon un ou plusieurs modes de réalisation.
Fig. 6a
[0060] [fig.6a] est un diagramme illustrant le procédé proposé au niveau du terminal distant selon un ou plusieurs modes de réalisation.
Fig. 6b
[0061] [fig.6b] illustre un exemple dc table dc flux relayés validés (TRS) selon un ou plusieurs modes de réalisation.
Fig. 6e
[0062] [fig.6c] est un diagramme illustrant un exemple de procédé de traitement d'une nouvelle connexion secondaire au terminal distant selon un ou plusieurs modes de réalisation Fig. 6d 100631 Ifi2.6d1 illustre un exemple de procédé de traitement d'un nouveau paquet au terminal distant selon un ou plusieurs modes de réalisation.
Fig. 7a 100641 Ifie.7a I illustre un exemple de rejet d'une fonction de traitement intermédiaire selon un ou plusieurs modes de réalisation.
Fig. 7b
[0065] [fie.7b1 illustre un exemple de rejet d'une fonction de traitement intermédiaire selon un ou plusieurs modes de réalisation.
Fig. 7e
[0066] [fig.7c] illustre un exemple de rejet d'une fonction de traitement intermédiaire selon un ou plusieurs modes de réalisation.
Fig. 7d
[0067] [fig.7d] illustre un exemple de connexion collaborative réussie selon un ou plusieurs modes de réalisation.
Fig. 7e
[0068] [fig.7e] illustre un exemple de connexion collaborative réussie selon un ou plusieurs modes de réalisation.
Fig. 7f
[0069] [fig.7f] illustre un exemple de connexion collaborative réussie selon un ou plusieurs modes de réalisation.
Fig.
Sa
[0070] [fig.8a] illustre un exemple d'architecture d'un terminal selon un ou plusieurs modes de réalisation.
Fig. 8b
[0071] [fig.8b] illustre un exemple d'architecture d'un relais selon un ou plusieurs modes de réalisation.
Description des modes de réalisation
[0072] Dans la description détaillée ci-après de modes de réalisation de l'invention, de nombreux détails spécifiques sont présentés pour apporter une compréhension plus complète.
Néanmoins, l'homme du métier peut se rendre compte que des modes de réalisation peuvent être mis en pratique sans ces détails spécifiques.
Dans d'autres cas, des caractéristiques bien connues ne sont pas décrites en détail pour éviter de compliquer inutilement la présente description.
[0073] La présente description fait référence à des fonctions, unités, modules, plateformes, et illustrations de diagrammes des méthodes et dispositifs selon un ou plusieurs modes de réalisation.
Chacun des fonctions, modules, plateformes, unités et diagrammes décrits peut être mis en oeuvre sous forme matérielle, logicielle (y compris sous forme de logiciel embarqué («firmware»), ou de «middlewarc»), microcode, ou toute combinaison de ces derniers.
Dans le cas d'une mise en oeuvre sous forme logicielle, les 11 fonctions, moteurs, unités, modules et/ou illustrations de diagrammes peuvent être mis en oeuvre par des instructions de programme d'ordinateur ou du code logiciel, qui peut être stocké ou transmis sur un support lisible par ordinateur, incluant un support non transitoire, ou un support chargé en mémoire d'un ordinateur générique, spécifique, ou de tout autre appareil ou dispositif programmable de traitement de données pour produire une machine, de telle sorte que les instructions de programme d'ordinateur ou le code logiciel exécuté( es) sur l'ordinateur ou l'appareil ou dispositif programmable de traitement de données, constituent des moyens de mise en oeuvre de ces fonctions.
[0074] Les modes de réalisation d'un support lisible par ordinateur incluent, de manière non exhaustive, des supports de stockage informatique et des supports de communication, y compris tout support facilitant le transfert d'un programme d'ordinateur d'un endroit vers un autre.
Par «support(s) de stockage informatique», on entend tout support physique pouvant être accédé par ordinateur.
Les exemples de support de stockage informatique incluent, de manière non limitative, les disques ou composants de mémoire flash ou tous autres dispositifs à mémoire flash (par exemple des clés USB, des clés de mémoire, des sticks mémoire, des disques-clés), des CD-ROM ou autres dispositifs de stockage optique de données, des DVD, des dispositifs de stockage de données à disque magnétique ou autres dispositifs de stockage magnétique de données, des composants de mémoire de données, des mémoires RAM, ROM, EEPROM, des cartes mémoires («smart cards»), des mémoires de type SSD («Solid State Drive»), et toute autre forme de support utilisable pour transporter ou stocker ou mémoriser des données ou structures de données qui peuvent être lues par un processeur d'ordinateur.
Les instructions peuvent, selon les modes de réalisation, comprendre du code de tout langage de programmation informatique ou élément de programme informatique.
[0075] De plus, les termes «notamment», «par exemple», «exemple», «typiquement» sont utilisés dans la présente description pour désigner des exemples ou illustrations de modes de réalisation non limitatifs, qui ne correspondent pas nécessairement à des modes de réalisation préférés ou avantageux par rapport à d'autres aspects ou modes de réalisation possibles.
[0076] Par «serveur», on entend dans la présente description tout point de service (virtualisé ou non) ou dispositif opérant des traitements de données, une ou plusieurs bases de données, et/ou des fonctions de communication de données.
Par exemple, et de manière non limitative, le terme «serveur» peut faire référence à un processeur physique couplé de manière opérationnelle avec des fonctions de communication, de base de données et de stockage de données associées, ou faire référence à un réseau, un groupe, un ensemble ou un complexe de processeurs et des dispositifs de stockage de données et de mise en réseau associés, ainsi qu'un système d'exploitation et un ou plusieurs système(s) de base de données et des logiciels applicatifs en support des 12 services et fonctions fournies par le serveur.
[0077] Les termes «réseau» et «réseau de communication» tels qu'utilisés dans la présente description font référence à une ou plusieurs liaisons de données qui peuvent coupler ou connecter des dispositifs, éventuellement virtualisés, de manière à permettre le transport de données électroniques entre des systèmes informatiques et/ou des modules et/ou d'autres dispositifs ou équipements électroniques.
Un réseau peut comprendre, en tout ou partie, le réseau Internet, un ou plusieurs réseaux locaux (en anglais «Local Arca Networks», ou LAN), un ou plusieurs réseaux de type WAN (en anglais «Wide Arca Networks»), des connexions de type filairc, des connexions de type sans fil, de type cellulaire, ou toute combinaison de ces différents réseaux.
[0078] Le terme « application » tel qu'utilisé dans la présente description désigne tout outil qui fonctionne et est opéré au moyen d'un ordinateur, pour fournir ou exécuter une ou plusieurs fonction(s) ou tâche(s) pour un utilisateur ou un autre programme applicatif.
Pour interagir avec une application, et la contrôler, une interface utilisateur (par exemple une interface graphique, en anglais, « Graphical User Interface » ou GUI) peut être fournie sur l'équipement sur lequel l'application est mise en oeuvre.
[0079] Le terme « terminal » est utilisé dans la présente description pour désigner tout entité, telle qu'une entité logicielle, capable d'établir ou de recevoir des communications reposant sur l'utilisation d'un ou plusieurs protocoles de transport, tel que TCP ou UDP, et/ou toute entité apte à fonctionner comme point d'extrémité d'une communication établie selon les modalités d'un protocole de communication, tel que, de manière non limitative, les protocoles QUIC, UDP, DTLS ou TLS.
Pour une communication donnée, un terminal qui met en oeuvre un protocole de communication peut agir en tant que client, serveur, ou les deux.
Les exemples de terminaux incluent, de manière non limitative, des terminaux fixes ou mobiles, des terminaux intelligents (en anglais, « smartphones »), des ordinateurs personnels (en anglais, « Personal Computer » ou « PC »), des tablettes, des serveurs du réseau Internet, etc.
Certaines décisions liées à l'établissement et à la gestion des communications peuvent être prises par le terminal ou par l'une des applications embarquées dans le terminal, et qui a la capacité d'exploiter les ressources QUIC.
La présente description concerne les deux cas : celui où les décisions sont prises par le terminal, et celui où les décisions sont prises par une application embarquée dans ce terminal.
[0080] Le terme « paquet », tel qu'utilisé dans la présente description, désigne de manière non limitative toute unité de données susceptible d'être transportée ou transmise entre deux noeuds de réseau, deux stations, deux terminaux, ou au travers d'un ou plusieurs réseaux de données.
Un « paquet » peut désigner une ou plusieurs trames, une ou plusieurs unités de données de protocole (en anglais, « Protocol Data Unit », ou PDU »), un ou plusieurs datagrammes, ou toute autre unité de données.
Un paquet 13 par exemple peut inclure un groupe de bits, qui peut inclure un ou plusieurs champs d'adresse, un ou plusieurs champs de contrôle (ou de signalisation), et/ou un ou plusieurs champs de données utiles.
[0081] Par « fonction », « fonction de traitement intermédiaire », « fonction intermédiaire » ou « fonction réseau », on entend toute fonction de traitement de paquets telle qu'une fonction de traduction d'adresse (NAT), une fonction destinée à améliorer la qualité de service (par ex. une fonction de marquage et de classification de trafic), une fonction parc-feu, une fonction d'optimisation des communications établies sur le protocole de transport TCP (PEP, Performance Enhancing Proxy), proxy MPTCP, etc.
[0082] Par « protocole QUIC », ou de manière abrégée « QUIC », on entend tout protocole conforme à une version de la spécification du protocole QUIC ou de projet de spécification, tel que le projet de spécification de l'IETF intitulé « QUIC : A UDP-Based Multiplexed and Secure Transport », ou la spécification du protocole « Quick UDP Internet Connections », dit protocole « gQUIC », y compris les versions existantes de ces spécifications ou projets de spécifications et leurs évolutions.
Plus généralement, QUIC dénote ici tout protocole de transport encapsulé sur un autre protocole dc transport UDP ou UDP-litc (de « Lighwcight User Datagram Protocol ») mais dont les primitives et la charge utile sont chiffrées.
[0083] Bien que les exemples de modes de réalisation décrits ci-dessous reposent sur des communications établies selon le protocole QUIC, l'homme du métier pourra comprendre que ces exemples ne sont pas limitatifs, en ce que le procédé proposé peut également être mis en oeuvre, dans d'autres modes de réalisation, en utilisant d'autres protocoles pour établir une communication chiffrée (DTLS ou TLS, par exemple).
[0084] Dans un ou plusieurs modes de réalisation, la logique de sélection des connexions, des paquets, et des canaux (ou « streams ») QUIC éligibles pour solliciter au moins une fonction de traitement intermédiaire est fournie à un terminal sous la forme de politiques.
La logique du retrait d'une fonction OF d'une connexion est une politique qui peut être locale au terminal ou bien à l'initiative de l'opérateur, par exemple dans le cadre d'une procédure de maintenance programmée.
Ces politiques peuvent être gérées directement par l'application reposant sur les ressources d'une connexion collaborative.
[0085] On suppose qu'un ou plusieurs chemins peuvent être utilisés pour échanger des données entre deux terminaux.
Ainsi, les données associées à des canaux différents peuvent être acheminées via un seul chemin ou via des chemins distincts.
Aucune hypothèse n'est faite quant au support des fonctions d'établissement des communications QUIC via des chemins multiples par les terminaux ni quant à l'existence de ces chemins multiples.
[0086] La figure la illustre un exemple de système de communication (10) dans lequel un 14 ou plusieurs modes de réalisation des procédés et dispositifs proposés peuvent être mis en oeuvre.
[0087] Le système (10) comprend un premier terminal T1 (10a) qui a établi une connexion avec un deuxième terminal T2 (10b) par l'intermédiaire d'un premier réseau d'accès (1 la) auquel le premier terminal est connecté, du réseau Internet (12), et d'un deuxième réseau d'accès (11 b), auquel le deuxième terminal T2 (10b) est connecté.
A titre d'exemple non limitatif, les premier et deuxième réseaux d'accès (11a et 11h) peuvent être des réseaux locaux (LAN) dans lesquels les terminaux Ti et T2 sont respectivement présents.
L'architecture illustrée sur la figure la n'est pas limitative, notamment en ce que les terminaux Ti et T2 peuvent se connecter à un même réseau d'accès.
[0088] Dans un ou plusieurs modes de réalisation, le premier terminal Ti et le deuxième terminal T2 peuvent être configurés pour établir une ou plusieurs connexions selon un protocole de communication, tel que le protocole QUIC, UDP, DTLS, ou TLS, et par exemple établir une connexion selon ce protocole et échanger des données en utilisant cette connexion.
Ladite configuration peut être un comportement par défaut d'un terminal (c.-à-d. aucune configuration explicite supplémentaire n'est requise pour l'activation d'un desdits protocoles dc communication).
[0089] La figure lb illustre une architecture de référence pour la mise en oeuvre du procédé proposé selon un ou plusieurs modes de réalisation.
[0090] Le système (20) comprend un premier terminal Tl (20a) avec lequel une connexion selon un protocole de communication est établie avec un deuxième terminal T2 (20b) par l'intermédiaire d'un réseau (21) auquel le premier terminal Tl (20a) et le deuxième terminal T2 (20b) sont connectés.
Le réseau (21) peut être décomposé en plusieurs sous-réseaux, comme par exemple ceux illustrés dans la figure la.
[0091] A nouveau en référence à la figure la, l'homme du métier comprendra que le procédé proposé n'est pas limité quant au nombre, à la nature, ou à la localisation des fonctions OF intermédiaires qui peuvent être invoquées par un terminal.
Les fonctions OF peuvent être hébergées au sein du réseau NI (11a), N2 (11b), ou de tout autre réseau, y compris par exemple le réseau Internet (12) (typiquement, des centres de données (DC, Data Centers)).
[0092] De même, une fonction OF peut être localisée (ou non) sur le chemin par défaut emprunté par la communication établie entre deux terminaux, mais ce n'est pas pour autant que ladite fonction OF est sollicitée systématiquement pour tous les flux.
On décrit ci-après des mécanismes de contrôle de l'invocation d'une fonction OF.
[0093] Par exemple, les données nécessitant un transcodage, une inspection des données, une adaptation protocolaire, etc. seront destinées explicitement à être traitées par une fonction OF sur décision d'au moins un terminal impliqué dans une connexion.
[0094] Par exemple, une connexion WebRTC peut impliquer des canaux audio, vidéo, présence, etc.
Chacun de ces canaux peut nécessiter des fonctions OF distinctes, et supportées par le réseau.
[0095] Une fonction OF peut être insérée dès r initialisation de l'établissement d'une com- munication (par exemple l'établissement d'une connexion), pendant la création d'un canal, ou ultérieurement.
[0096] Comme mentionné précédemment, l'invention permet l'invocation de fonctions OF de traitement intermédiaires en introduisant la notion de connexions colla- boratives entre deux terminaux Ti et T2, décrite plus en détail ultérieurement.
Dans les modes de réalisation dans lesquels plusieurs connexions sont établies selon un protocole de communication entre deux terminaux Tl et T2, par exemple le protocole QUIC, la première connexion établie entre les deux terminaux selon le protocole QUIC est appelée dans la suite : Connexion Principale (ou en anglais, «Primary Connection »).
Cette connexion principale peut être établie directement entre Tl et T2 (c'est à dire, sans invocation de fonction OF comme illustré par la Figure 2a) ou via une fonction OF comme le montre la Figure 2b.
Les autres connexions sont appelées : Connexions Secondaires (« Secondary Connections »).
[0097] Les figures 2a et 2b montrent ainsi deux terminaux Tl (30a) et T2 (30b) entre lesquels sont établies plusieurs connexions (dans l'exemple illustré des connexions QUIC).
[0098] La figure 2a montre une connexion principale (31a), établie la première, et deux connexions secondaires (32a et 33a), établies entre les deux terminaux Ti (30a) et T2 (30b).
La connexion principale est établie sans invocation de fonction OF, tandis que les deux connexions secondaires sont chacune établie avec invocation d'une fonction intermédiaire (respectivement OF' et 0F2).
[0099] La figure 2b montre une connexion principale (31b), établie la première, et deux connexions secondaires (32b et 33b), établies entre les deux terminaux Ti (30a) et T2 (30b).
La connexion principale est établie avec invocation de fonction OF, de même que les deux connexions secondaires qui sont chacune établie avec invocation d'une fonction (respectivement OH et 0F2).
[0100] Sur chacun des exemples illustrés par les figures 2a et 2b, les données échangées via la connexion principale sont véhiculées dans des canaux indexés par la..xl, alors que les données échangées via une connexion secondaire sont acheminées dans les canaux indexés ici par ou par 1s...0.
Ainsi, {a..x} est une liste d'identifiants de canaux principaux, alors que (ou Is...tD est une liste de canaux secondaires.
Les données appartenant à certains des canaux principaux {a..x) peuvent aussi être éligibles à une connexion secondaire {i..j}.
Dès lors, certains identifiants de la liste la..x} peuvent être présents dans la liste {LH, auquel cas, les deux groupes de canaux 16 fa..x} et {i_ j} peuvent présenter une intersection non nulle.
[0101] Les données échangées via des connexions secondaires distinctes sont acheminées dans deux canaux { i...j} et {s..t}.
Les deux groupes { s..t} et { i. .j} peuvent présenter une intersection non nulle, le cas échéant.
[0102] La Figure 2e illustre la corrélation d'une connexion collaborative avec le réseau sous-jacent.
Comme illustré dans la figure 2c, les différentes connexions (31c, 32e, 33c), comprenant la connexion principale (31c) et une ou plusieurs connexions secondaires (32c, 33c), peuvent être établies sur un même chemin entre Ti (30a) et T2 (30b).
[0103] On décrit ci-après des exemples de mode de réalisation du procédé proposé de gestion de connexions collaboratives, dans le cas de figure non limitatif de connexions établies selon le protocole QUIC.
[0104] Un premier terminal (par exemple le terminal T1 des figures la - 2e) établit une connexion principale chiffrée avec un deuxième terminal (par exemple le terminal distant T2 des figures la - 2e) selon les modalités décrites dans la spécification QUIC existante.
[0105] Dans un ou plusieurs modes de réalisation, le premier terminal maintient une table de correspondance, appelée dans la suite : Table des connexions collaboratives (« Collaborative Connections Table » (CCT)).
[0106] La figure 3a montre un exemple de structure de table CCT identifiant, pour une connexion principale (Primary_Connection_Ref), une connexion secondaire collaborative (Secondary_Connection_Refl), et un filtre caractérisant les données éligibles à cette connexion secondaire collaborative.
Par filtre, on entend une indication ou un ensemble d'indications permettant d'identifier les données qui sont éligibles à une connexion secondaire, c'est-à-dire qui peuvent être traitées par la ou les fonctions intermédiaires appartenant à cette connexion secondaire.
Il s'agit par le biais de telles indications de « filtrer » les données qui peuvent emprunter la connexion secondaire.
Dans l'exemple illustré à la figure 3a, ce filtre se présente sous la forme d'une liste de canaux éligibles, c'est-à-dire pouvant être utilisés pour acheminer les données correspondant à la connexion collaborative, et une liste d'identifiants de connexion éligibles.
Les associations de sécurité (reposant par exemple sur l'utilisation des protocoles TLS/DTLS) pourront être utilisées comme exemples de référence à une connexion.
D'autres formats de référence peuvent être utilisés par les différents éléments impliqués dans la procédure.
[0107] Ainsi, une table CCT peut être générée et maintenue en mémoire accessible au premier terminal pour indiquer une liste des canaux/identifiants de connexions éligibles aux connexions collaboratives opérant comme un filtre caractérisant les données éligibles aux connexions collaboratives.
Dès lors, même si une fonction est 17 autorisée à établir des connexions secondaires, les données relayées par cette fonction pour des canaux ou présentant des identifiants de connexion non renseignés dans la table CCT pourront être identifiées et éventuellement rejetées par le terminal.
La liste des canaux ou la liste des identifiants de connexion sont alimentées par la table TRS (TRUSTED RELAYED STREAMS).
[0108] La figure 3b est un diagramme illustrant le procédé proposé selon un ou plusieurs modes de réalisation.
[0109] On considère des premier et deuxième terminaux, entre lesquels une première connexion chiffrée est établie (50) pour transmettre des données, par exemple selon le protocole QUIC.
[0110] Le premier terminal mémorise (51) ensuite, en association avec ladite première connexion, au moins une deuxième connexion entre le premier terminal et le deuxième terminal via au moins une fonction de traitement intermédiaire destinée à être appliquée entre le premier terminal et le deuxième terminal sur au moins une partie desdites données dites éligibles à la deuxième connexion, et un filtre caractérisant lesdites données éligibles à la deuxième connexion, ladite deuxième connexion étant chiffrée entre le premier terminal et ladite fonction de traitement intermédiaire.
Un tel filtre est par exemple un identifiant dc connexion, un identifiant de canal ou tout autre gabarit qui permet de sélectionner par un terminal local (ou de déterminer par un terminal distant) les données éligibles à une connexion secondaire.
Dans les modes de réalisation décrits ci-après, les identifiant de connexions et de canaux sont utilisés comme des exemples de filtres, et les informations précitées sont mémorisées dans une table CCT telle que décrite précédemment.
[0111] Le procédé proposé permet ainsi avantageusement d'introduire une deuxième connexion entre les deux terminaux entre lesquels une première connexion est déjà établie, via une fonction de traitement intermédiaire, sans pour autant impacter la première connexion, et notamment sans la casser.
Les première et deuxième connexions sont collaboratives en ce que les premier et deuxième terminaux gèrent les deux connexions (première et deuxième connexions) comme s'il s'agissait d'une seule connexion globale.
[0112] La mémorisation de cette association entre la première connexion et la deuxième connexion permet d'associer à la première connexion les données qui sont envoyées et reçues sur la deuxième connexion, et correspondant au filtre définissant les données qui sont éligibles à la deuxième connexion.
[0113] La deuxième connexion peut ainsi avantageusement invoquer une ou plusieurs fonctions de traitement intermédiaires, respectivement destinées à être appliquée entre le premier terminal et le deuxième terminal sur les données éligibles à la deuxième connexion. 18
[0114] Dans un ou plusieurs modes de réalisation, comme illustré sur les figures 2a-2c, la deuxième connexion comprend plusieurs sections (entre le premier terminal et la fonction intermédiaire invoquée dans cette deuxième connexion d'une part, et entre la fonction intermédiaire et le deuxième terminal d'autre part).
Par exemple, ce chiffrement est mis en oeuvre selon une association dc sécurité TLS établies entre les différents dispositifs deux à deux.
Lorsque plusieurs fonctions intermédiaires sont invoquées en cascade entre le premier terminal et le deuxième terminal, chaque section est chiffrée individuellement.
[0115] Une fois l'association entre la première connexion et la deuxième connexion mémorisée au premier terminal, le premier terminal peut envoyer (52) via ladite deuxième connexion, au moins un premier message destiné à ladite fonction intermédiaire et transportant des données pour le deuxième terminal correspondant audit filtre, le premier message comprenant une information selon laquelle lesdites données sont destinées au deuxième terminal.
[0116] On donne ci-après des exemples de messages envoyés par le premier terminal.
[0117] Dans un ou plusieurs modes de réalisation, le premier terminal peut sélectionner selon un filtre les paquets (des canaux) qui doivent solliciter une fonction OF, autrement dit qui sont éligibles à la deuxième connexion.
Les paquets sélectionnés peuvent être envoyés en utilisant l'adresse qui permet d'accéder à la fonction intermédiaire (0F) comme adresse destination.
Les données véhiculées par les paquets sont chiffrées selon l'association de sécurité (par exemple TLS) établie entre le premier terminal et la fonction OF.
De plus, dans l'exemple non limitatif dans lequel les connexions entre les deux terminaux sont établies selon le protocole QUIC, les données peuvent transporter une nouvelle trame QUIC appelée RELAY(ListINext_Hop_IP address/portis, Shared Token, ...), comportant, dans un mode de réalisation, les champs décrits ci-après :
[0118] List{Next_Hop_IP address/port}: Contient une liste d'adresses (et numéros de port) qui sera utilisée par la ou les fonctions intermédiaires OF invoquées dans la deuxième connexion, pour l'acheminement du paquet jusqu'à sa destination finale.
Dans un ou plusieurs modes de réalisation, cette liste contient l'adresse IP (et éventuellement un numéro de port) du deuxième terminal (terminal (listant) si une seule fonction OF est sollicitée dans le chemin emprunté par les données.
Si plusieurs fonctions sont sollicitées, alors ladite liste est une liste ordonnée qui comporte, outre des informations permettant de joindre le terminal distant, des informations descriptives des fonctions intermédiaires OF qui doivent être invoquées.
Le premier élément de ladite liste ordonnée pointe vers la prochaine fonction OF à invoquer alors que le dernier élément pointe vers le terminal distant.
[0119] « Shared Token » : Indique une clé à présenter pour le prochain saut.
Dans un ou 19 plusieurs modes de réalisation, une même clé peut être utilisée.
En variante, le message peut contenir une liste ordonnée de clés : List{Next Hop Shared Token}.
Une clé de la position « i » sera présentée à l'élément « i » de la liste List{Next Hop IP address/ port}.
Ainsi, dans un ou plusieurs modes de réalisation, le message envoyé par le premier terminal pourra comprendre une deuxième liste, ordonnée selon l'ordonnancement de la (première) liste de fonctions, de clés destinées à être présentées par chacune des fonctions de traitement intermédiaires identifiée dans la première liste à la fonction de traitement intermédiaire suivante dans ladite première liste ou, pour la dernière fonction de traitement intermédiaire de la première liste au deuxième terminal, la clé destinée à être présentée au deuxième terminal étant partagée entre le premier terminal et le deuxième terminal.
Dans un ou plusieurs modes de réalisation, les clés ne peuvent être présentes que pour le premier paquet de données envoyé dans une nouvelle connexion secondaire, et peuvent dès lors être omises pour les autres paquets.
[0120] Ainsi, dans un ou plusieurs modes de réalisation, le premier message envoyé par le premier terminal via la deuxième connexion peut comprendre une clé destinée à être présentée par la fonction intermédiaire au deuxième terminal, et partagée entre le premier terminal et le deuxième terminal.
[0121] Dans un ou plusieurs modes de réalisation, le premier terminal peut décider de n'inclure la trame RELAY que pour les premiers paquets envoyés vers une fonction OF (c'est-à-dire dans les premiers messages envoyés à la fonction OF).
Les autres paquets éligibles sont envoyés directement à la fonction OF (c'est-à-dire, sans insertion de trame RELAY) qui doit les traiter en utilisant une table dédiée (appelée, RCCB), décrite ci-dessous.
[0122] Pour les autres paquets, c'est-à-dire pour les paquets qui ne sont pas éligibles à un traitement par une fonction OF (autrement dit pour les paquets ne correspondant pas au filtre associé à la connexion secondaire établie via cette fonction OF), les données sont envoyées, dans le mode de réalisation décrit ici, directement par le premier terminal au deuxième terminal via la première connexion (la connexion principale).
On note que si plusieurs connexions secondaires sont envisagées, si des données con-espondent à un filtre d'une autre connexion secondaire, elles seront préférentiellement envoyées au deuxième terminal via cette autre connexion secondaire.
[0123] Au cours de la première connexion, le premier terminal peut décider d'insérer la fonction de traitement intermédiaire OF pour tout ou partie des canaux de ladite connexion établie avec le deuxième terminal, par exemple pour une partie des données émises à destination du deuxième terminal.
[0124] Le premier terminal peut informer le deuxième terminal de l'utilisation de la fonction de traitement intermédiaire pour une partie des données, par l'émission d'un message d'information d'utilisation d'une fonction OF émis via la première connexion à destination du deuxième terminal.
[0125] Le message d'information d'utilisation d'une fonction OF permet avantageusement d'informer un terminal distant avec lequel une première connexion chiffrée est établie de l'utilisation d'une fonction de traitement intermédiaire pour tout ou partie des données transmises ou échangées avec ce terminal distant, en indiquant éventuellement au terminal distant une information concernant un critère d'éligibilité des données pour l'invocation de la fonction tel qu'utilisé par le premier terminal (autrement dit, en lui indiquant un filtre caractérisant les données éligibles).
[0126] Dans un ou plusieurs modes de réalisation, le message d'information d'utilisation d'une fonction OF informant le deuxième terminal de l'utilisation de la fonction de traitement intermédiaire pourra comprendre au moins un élément parmi : un identifiant de la fonction de traitement intermédiaire ; une clé à présenter par la fonction intermédiaire au deuxième terminal ; le filtre caractérisant les données éligibles à la deuxième connexion ; au moins un identifiant de connexion éligible à la deuxième connexion ; et une information de direction de transmission des données via la deuxième connexion sur laquelle ladite fonction de traitement intermédiaire est appliquée.
[0127] Par exemple, dans l'exemple non limitatif dans lequel la première connexion entre les deux terminaux est établie selon le protocole QUIC, le premier terminal peut, dans un ou plusieurs modes de réalisation, insérer une nouvelle trame QUIC, appelée COCON (C011aborative CONnection), dans un message de contrôle ou un message de données de la première connexion (connexion principale) à destination du terminal distant.
[0128] La figure 4a illustre un exemple de format de trame QUIC COCON, dont les champs sont décrits ci-après :
[0129] Un bit « D » d'indication de direction: Ce bit peut par exemple être positionné à « 0» (respectivement à « 1 ») si la fonction de traitement intermédiaire est insérée uniquement pour les données émises par le premier terminal (ayant émis la trame COCON vers le deuxième terminal), et être positionné à « 1 » (respectivement à « 0 ») si la fonction peut être utilisée pour les deux directions de la connexion.
[0130] « Third Party ID » : Indique un identifiant (globalement) unique identifiant une fonction de traitement intermédiaire (OF).
Dans un ou plusieurs modes de réalisation, cet identifiant peut être un « hash » (obtenu en utilisant l'algorithme SHA-256, par exemple) de l'information "Pre-Shared Key (PSK) identity" utilisée par la fonction OF dans un message TLS « ClientKeyExchange ».
D'autres structures peuvent être utilisées pour cet identifiant.
[0131] « Shared Token » : Une clé partagée entre la fonction de traitement intermédiaire 21 (OF) et le terminal émetteur de la trame.
[0132] « List Stream IDs » : Un filtre qui liste un ou plusieurs identifiants respectifs d'un ou plusieurs canaux éligibles à l'invocation de la fonction de traitement intermédiaire (OF) identifiée par le champ « Third Party ID ».
Dans un ou plusieurs modes de réalisation, ce champ peut être défini en incluant un cas de figure dans lequel ce champ ne contient aucun identifiant de canal, pour indiquer que la fonction peut être invoquée pour l'ensemble des canaux d'une connexion (c'est-à-dire, tous les paquets de ladite connexion sont éligibles pour invoquer la fonction OF).
[0133] « List Connection ID » : Un filtre qui liste un ou plusieurs identifiants de connexion éligibles pour l'invocation de la fonction de traitement intermédiaire OF identifiée par le champ « Third Party ID ».
Dans un ou plusieurs modes de réalisation, ce champ peut être défini en incluant un cas de figure dans lequel ce champ ne contient aucun identifiant de connexion, pour indiquer que la fonction peut être invoquée pour l'ensemble des identifiants de connexions associés à cette connexion.
Dans un ou plusieurs modes de réalisation, la liste des identifiants de connexions indiqués dans un message d'information d'utilisation de fonction (par exemple une trame COCON) peut être mise à jour automatiquement par un terminal distant suite à la migration d'identifiants de connexion (par exemple, suite à la réception d'une trame QUIC NEW CONNECTION).
[0134] Dans un ou plusieurs modes de réalisation, si aucune restriction de direction n'est indiquée dans le message d'information d'utilisation de fonction OF, la direction de l'invocation de la fonction peut être déduite sur la base de la direction du canal associé.
Dans le cas du protocole QUIC par exemple, les bits de poids faible du « stream ID» indiquent la nature du canal : 0x0 (canal bidirectionnel établi à l'initiative du client), 0x1 (canal bidirectionnel établi à l'initiative du serveur), 0x2 (canal unidirectionnel établi à l'initiative du client) et 0x3 (canal unidirectionnel établi à l'initiative du serveur).
[0135] Dans un ou plusieurs modes de réalisation, plusieurs messages d'information d'utilisation de fonction OF (par exemple des trames COCON) peuvent être envoyés si le premier terminal décide d'impliquer une fonction de traitement intermédiaire OF dans des canaux différents.
[0136] Dans un ou plusieurs modes de réalisation, plusieurs messages d'information d'utilisation de fonction OF (par exemple des trames COCON) peuvent être envoyés si le premier terminal décide d'impliquer plusieurs fonctions de traitement intermédiaire OF.
[0137] Dans un ou plusieurs modes de réalisation, un message d'information d'utilisation de fonction OF (par exemple une trame COCON) peut être envoyé dans n'importe quel message d'une connexion, y compris le premier message d'établissement de connexion.
[0138] Dans un ou plusieurs modes de réalisation, une fonction de traitement intermédiaire OF peut être embarquée dans un noeud localisé sur le chemin d'acheminement des données par défaut (ou pas).
[0139] Dans un ou plusieurs modes de réalisation, le premier terminal utilise une table dédiée TRS, pour enregistrer les offres envoyées (c'est-à-dire, la caractérisation des données (éligibles) qui bénéficient de l'invocation d'une ou plusieurs fonctions OF selon les informations véhiculées dans les trames COCON et qui ont conduit à la création d'entrées dans la table TRS).
[0140] Dans un ou plusieurs modes de réalisation, le premier terminal peut utiliser une table gérant les entrées correspondant aux trames COCON envoyées à un terminal distant (au deuxième terminal) et une autre table gérant les entrées correspondant aux trames COCON reçues du terminal distant.
En variante, une même table peut être utilisée quelle que soit l'origine des trames COCON.
[0141] La Figure 4b illustre un exemple d'une table gérant les entrées correspondant aux messages d'information d'utilisation de fonction de traitement intermédiaire envoyées vers le deuxième terminal selon un ou plusieurs modes de réalisation.
Les messages, qui correspondent à des offres d'utilisation de fonction OF, sont associées à une connexion principale (dénommée « mary Connection Ref »).
[0142] La figure 4b montre un exemple de structure de table TRS (« Primary_Connection_Ref_Out » pour les offres envoyées pour la connexion principale « Primary_Connection_Ref »), qui contient les informations suivantes :
[0143] « OF_ID » : un identifiant d'une fonction OF.
[0144] « Direction » : dans un ou plusieurs modes de réalisation, ce champ indique une première valeur indiquant une utilisation de la fonction identifiée par le champ OF_ID unidirectionnelle à l'initiative du premier terminal, c'est-à-dire pour des données envoyées par le premier terminal, une deuxième valeur indiquant une utilisation de la fonction identifiée par le champ OF_ID unidirectionnelle à l'initiative du deuxième terminal, c'est-à-dire pour des données envoyées par le deuxième terminal, ou une troisième valeur indiquant une utilisation de la fonction identifiée par le champ OF_ID bidirectionnelle, c'est-à-dire pour des données envoyées par le premier terminal ou par le deuxième terminal.
Par exemple, ce champ peut indiquer l'une des valeurs suivantes : 0 (Unidirectionnel à l'initiative du terminal), 1 (Unidirectionnel à l'initiative du terminal (listant), 2 (bidirectionnel).
[0145] « Token » : Une clé de vérification qui doit être présentée (par une fonction OF) pour établir une nouvelle connexion secondaire associée à une connexion principale.
[0146] Liste des « Stream IDs » : Un filtre qui liste les canaux dont les données peuvent être relayées par la fonction identifiée dans le champ OF_ID (c'est-à-dire les canaux 23 éligibles).
Dans un ou plusieurs modes de réalisation, une valeur prédéterminée (par exemple dénommée « Any ») peut être utilisée pour indiquer que la fonction peut être invoquée par tous les canaux d'une connexion.
[0147] List des « Connection IDs » : Un filtre qui liste les identifiants de connexion dont les données font l'objet d'un traitement par la fonction identifiée dans le champ OF ID (c'est-à-dire les identifiants de connexions éligibles).
Dans un ou plusieurs modes de réalisation, une valeur prédéterminée (par exemple dénommée « Any ») peut être utilisée pour indiquer que la fonction peut être invoquée pour n'importe quel identifiant d'une connexion.
[0148] « Status » : Indique si la proposition d'invoquer une ou plusieurs fonctions OF selon les informations véhiculées dans une trame COCON est confirmée par le terminal distant, ou si la proposition est en attente de confirmation du terminal distant.
Ce champ peut être limité à un seul bit, qui prendra une première valeur (par exemple « 1 », correspondant à « Confirmed ») pour indiquer une proposition d'utilisation de fonction validée par le deuxième terminal, et une deuxième valeur (par exemple « 0 », correspondant à « Pending ») pour indiquer que la proposition d'utilisation de fonction est en attente de validation par le deuxième terminal.
Dans un ou plusieurs modes de réalisation, ce champ peut être positionné à la valeur d'attente de confirmation (« Pcnding ») tant qu'un message de confirmation n'a pas été reçu de la part du deuxième terminal.
Le message de confirmation est typiquement un message d'acquittement envoyé par le deuxième terminal suite à la réception du message d'information d'utilisation de fonction de traitement intermédiaire (par exemple suite à la réception d'une trame COCON).
[0149] Dans un ou plusieurs modes de réalisation, l'utilisation par le premier terminal de la deuxième connexion pour envoyer des données au deuxième terminal peut être conditionnée par la réception par le premier terminal d'un acquittement en provenance du deuxième terminal pour l'utilisation de la fonction intermédiaire.
Le premier terminal peut ainsi être configuré pour ne pas envoyer les données via une connexion secondaire où une fonction intermédiaire (OF) sera invoquée pour laquelle le paramètre « Status » est positionné à une valeur indiquant une attente de confirmation du deuxième terminal.
[0150] En variante, le message de confirmation est un message appelé GLUE (Confirmed, ...) décrit ci-après.
Dans ce cas, le terminal peut envoyer les premiers paquets via la fonction OF même si le paramètre « Status » est positionné à « 0 ».
Le terminal avisera en fonction de la réponse du terminal distant (typiquement, le terminal continuera de solliciter la fonction OF si et seulement si un message GLUE (Confirmed, ...) a été reçu.).
[0151] La figure 4c illustre un exemple d'invocation d'une fonction de traitement inter- 24 médiairc (OF]) entre un premier terminal Tl (60a) et un deuxième terminal T2 (6011).
[0152] En référence à l'exemple illustré par la figure 4c (qui reprend l'architecture de référence illustrée par la figure 1 b), les terminaux Tl (60a) et T2 (60b) sont en communication via un réseau (63) et maintiennent trois canaux (62a, 62b, 62e) de communication de données utilisant une connexion chiffrée : Le premier canal (62a) est un canal unidirectionnel de Tl à T2, c'est-à-dire que seul Ti peut envoyer des données dans ce canal.
Le deuxième canal (62b) est un canal bidirectionnel entre Ti et T2.
Les terminaux Tl et T2 peuvent envoyer des données dans ce canal qui n'invoque pas de fonction OF.
Le troisième canal (62c) est un canal unidirectionnel de T2 à T].
Seul T2 peut envoyer des données dans ce canal qui n' invoque pas de fonction OF.
[0153] Dans cet exemple, les données des différents canaux (62a, 62b, 62e) sont acheminées via le même chemin.
[0154] Le terminal Ti peut impliquer la fonction 0F1 dans le premier canal (62a), alors que les données des autres canaux sont échangées directement entre Tl et T2.
Pour ce faire, dans un ou plusieurs modes de réalisation, le terminal Tl (60a) insère une trame COCON(D=0, OR, mytoken, stream 1 id) dans un message à destination du terminal T2 (60b) : direction du terminal Tl vers le terminal T2 (D=0), fonction d'identifiant , clé « mytoken », identifiant de canal « streaml id » correspondant au premier canal.
[0155] Comme décrit ci-dessus, dans un ou plusieurs modes de réalisation, le terminal Ti (60a) peut être configuré pour gérer une table d'offres d'utilisation de fonctions OF pour la connexion principale avec le terminal T2 (60b) (table TRS), et instancier une entrée dans sa table TRS relativement à la trame COCON transmise au terminal T2 (60b), comme illustré sur la figure 4d.
[0156] La figure 4d montre un exemple de table TRS gérée par le terminal TI, dans laquelle sont consignées des informations relatives à la trame COCON(D=0, OF1, mytoken, streamlid) envoyée au terminal T2 : identifiant de la fonction (« OF_ID ») objet de l'offre d'utilisation (« OF1 »), direction d'utilisation de la fonction OF' (champ Direction ») indiquant un sens unidirectionnel à l'initiative du terminal TI (valeur 0 »), clé de vérification (champ « Token » renseigné avec la clé « myToken »), liste des canaux dont les données peuvent être relayées par la fonction OF' (« List Stream IDs ») indiquant un identifiant du premier canal (62a) (« streaml_id »), liste des identifiants de connexion dont les données font l'objet d'un traitement par la fonction OF' (« List Connection IDs ») indiquant que la fonction 0E1 peut être utilisée pour tout identifiant de connexion (« Any »), et statut de l'offre d'utilisation de la fonction OF' (« Status ») indiquant que l'offre est en attente de validation par le terminal distant T2 (60b).
[0157] La figure 4e illustre un autre exemple d'invocation de deux fonctions de traitement intermédiaire (OF1 et 0F2) entre un premier terminal Tl (60a) et un deuxième terminal T2 (6011).
[0158] En référence à l'exemple de la figure 4e (qui reprend l'architecture de référence de la figure lb), les terminaux Tl (60a) et T2 (60b) sont en communication via un réseau (63) et maintiennent trois canaux (62a, 62b, 62c) de communication de données utilisant une connexion chiffrée : Le premier canal (62a) est un canal unidirectionnel de Ti à T2, le deuxième canal (62b) est un canal bidirectionnel entre Tl et T2, et le troisième canal (62c) est un canal unidirectionnel de T2 à Tl .
Dans cet autre exemple, les données des différents canaux (62a, 62b, 62e) sont aussi acheminées via le même chemin.
[0159] A la différence de l'exemple de la figure 4c, la figure 4e illustre un exemple dans lequel une première fonction OF1 (61a) est invoquée pour les deux premiers canaux (62a et 62b), tandis qu'une deuxième fonction 0F2 (61 b) est invoquée pour les données du troisième canal (62c).
Pour ce faire, dans un ou plusieurs modes de réalisation, le terminal Tl (60a) peut insérer une trame COCON(OF1, mytoken, { streaml id, stream2 id}, ...) dans un message à destination du terminal T2 (60b), et le terminal T2 (60b) peut insérer une trame COCON(0F2, rnyowntoken, stream3 id, ...) dans un message à destination du terminal Tl (60a).
Dans ces exemples de trame COCON, la direction n'est pas indiquée, et le terminal distant pourra utiliser la direction du canal associé pour déduire la valeur du bit de direction «D ».
[0160] La trame COCON(OFI, mytoken, Istreaml_id, stream2_idl, ...) pourra comporter les informations suivantes : tbnction d'identifiant OF1, clé « mytoken », identifiants de canal « streaml_id » et « stream2_id » correspondant respectivement au premier canal et au deuxième canal.
La trame COCON(0F2, myowntoken, stream3_id, ...) pourra comporter les informations suivantes : identifiant de fonction 0F2, clé myowntoken », identifiant de canal « stream3_id » correspondant au troisième canal.
[0161] Dans un ou plusieurs modes de réalisation, des fonctions OF distinctes peuvent être invoquées en fonction de la direction de trafic.
Typiquement, un canal bidirectionnel peut impliquer des fonctions distinctes par sens du trafic.
En référence à l'exemple de la figure 4f (qui reprend l'architecture de référence de la figure lb), les terminaux Ti (60a) et T2 (60b) sont en communication via un réseau (63) et utilisent un canal de communication de données bidirectionnel reposant sur une connexion chiffrée : Comme illustré par la figure 4f, un canal bidirectionnel peut donc impliquer une fonction OF1 (61a) pour les données du canal envoyées par le terminal Tl (60a), alors que les données du canal envoyées par le terminal T2 (60b) seront traitées par 0F2 (61b).
Pour ce faire, dans un ou plusieurs modes de réalisation, le terminal Tl (60a) peut insérer une trame COCON(D=0, OFI, myTItoken, streamlid, ...) dans un message à destination du terminal T2 (60b), et le terminal T2 (60b) peut insérer une 26 trame COCON(D=1.
0F2, myT2token, streaml id, ...) dans un message à destination du terminal Ti (60a).
[0162] La trame COCON(D=0, OH, myTltoken, streaml id, ...) pourra comporter les in- formations suivantes : direction du terminal Ti vers le terminal T2 (D=0), fonction d'identifiant OF1, clé « mytoken », identifiant de canal « strcam 1 id » correspondant au canal.
La trame COCON(D=0, 0F2, myT2token, streaml id, ...) pourra comporter les informations suivantes : direction du terminal T2 vers le terminal T1 (D=0), identifiant de fonction 0F2, clé « myT2token », identifiant de canal « streaml id » correspondant au même canal.
[0163] Dans un ou plusieurs modes de réalisation, le premier message transportant des données pour le deuxième terminal peut être destiné à la première fonction de traitement intermédiaire parmi une pluralité de fonctions de traitement intermédiaires devant être appliquées sur les données éligibles à la deuxième connexion dans un ordre déterminé.
Ce premier message peut en outre comprendre une première liste ordonnée, par exemple selon l'ordre déterminé d'application des fonctions, identifiant les fonctions de la pluralité de fonctions de traitement intermédiaires distinctes de la première fonction devant être appliquées sur lesdites données éligibles.
[0164] Ces modes de réalisation du procédé proposé permettent avantageusement de traiter le cas de figure dans lequel plusieurs fonctions de traitement intermédiaires doivent être invoquées pour un même paquet d'une connexion donnée.
[0165] Dans un ou plusieurs modes de réalisation dans lesquels une pluralité de fonctions de traitement intermédiaires doit être invoquée pour un même paquet d'une connexion donnée, le premier terminal peut ne communiquer au deuxième terminal (terminal distant) que l'identité de la dernière fonction OF à être invoquée lors de l'acheminement d'un paquet vers le terminal distant.
En référence à l'exemple de la figure 4g (qui reprend l'architecture de référence de la figure lb), les terminaux Ti (60a) et T2 (60b) sont en communication via un réseau (63) et communiquent via trois canaux (62a, 62b, 62c) de communication de données sur une connexion chiffrée : Le premier canal (62a) est un canal unidirectionnel de Tl à T2, le deuxième canal (62b) est un canal bidirectionnel entre Ti et T2, et le troisième canal (62c) est un canal unidirectionnel de T2 à Tl.
Dans l'exemple de la figure 4g, le terminal Ti (60a) peut insérer une trame COCON(D=1.
0F3, mytoken, stream2id, ...) dans un message à destination du terminal T2 (60b).
La trame COCON(D=1, 0F3, mytoken, stream2_id, ...) potina comporter les informations suivantes : direction du terminal Tl vers le terminal T2 (D=1), identifiant de fonction 0F3 correspondant à la dernière fonction parmi la suite ordonnée de fonctions OH, 0F2, et 0F3 (61a. 61b. 61c) à être invoquées pour les 27 données transmises sur le deuxième canal (62b), clé « rnytoken et identifiant de canal « stream2 id » correspondant au deuxième canal.
[0166] Dans un ou plusieurs modes de réalisation, le premier terminal pourra être configuré pour informer le deuxième terminal, via la connexion principale, d'une modification affectant l'utilisation d'une fonction de traitement intermédiaire.
[0167] Par exemple, dans un ou plusieurs modes de réalisation, le premier terminal peut être configure pour informer le deuxième terminal (terminal distant) de la mise à jour de la politique d'insertion d'une ou plusieurs fonctions OF en envoyant un message COCON(UPDATE) dont le format est illustré par la Figure 4h.
[0168] Dans un ou plusieurs modes de réalisation, la description des champs de cette trame peut être identique à celle des champs de la trame COCON, à l'exception des champs suivants :
[0169] « List disabled Stream IDs » : Indique la liste des canaux pour lesquels il ne faut plus accepter les connexions secondaires désormais.
Ces identifiants de canaux doivent être exclus du filtre utilisé pour déterminer les données éligibles à une connexion secondaire.
[0170] « List disabled Connection Ins » : Indique la liste des identifiants de connexion qu'il ne faut plus accepter désormais.
Ces identifiants de connexion doivent être exclus du filtre utilisé pour déterminer les données éligibles à une connexion secondaire.
[0171] Par exemple, le premier terminal peut utiliser la trame COCON(UPDATE) pour mettre fin à l'invocation d'une fonction OF, pour mettre à jour la liste des canaux éligibles au service fourni par une fonction OF, et/ou pour mettre à jour la liste des identifiants de connexions éligibles au service fourni par une fonction OF.
[0172] Dans un ou plusieurs modes de réalisation, la connexion principale pourra être établie entre le premier terminal et le deuxième terminal selon le protocole QUIC, et une ou plusieurs connexions secondaires pourront être établies entre le premier terminal et le deuxième terminal, chacune via une ou plusieurs fonctions intermédiaires établies selon le protocole TLS.
[0173] La figure 5a est un diagramme illustrant le procédé proposé selon un ou plusieurs modes de réalisation, du point de vue d'une fonction intermédiaire.
[0174] Selon un aspect, le procédé proposé se rapporte au traitement de données transmises dans un réseau entre un premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée, effectué par un premier dispositif configuré pour mettre en oeuvre une première fonction de traitement intermédiaire de données transmises entre le premier terminal et le deuxième terminal sur une deuxième connexion via le premier dispositif.
[0175] Dans un ou plusieurs modes de réalisation, ce premier dispositif peut être configuré pour recevoir (70) d'un premier dispositif du réseau au moins un premier message 28 destiné au premier dispositif, transportant des données émises par le premier terminal pour le deuxième terminal, ledit premier dispositif du réseau étant le premier terminal ou un deuxième dispositif configure pour mettre en oeuvre une deuxième fonction de traitement intermédiaire desdites données, la deuxième connexion étant chiffrée entre le premier dispositif et le premier dispositif, ledit premier message comprenant : une première liste ordonnée identifiant au moins un deuxième dispositif du réseau à emprunter par ledit au moins un message pour être acheminé jusqu'au deuxième terminal, ledit au moins un deuxième dispositif étant le deuxième terminal ou au moins un troisième dispositif configure pour mettre en oeuvre une troisième fonction de traitement intermédiaire desdites données, et une deuxième liste ordonnée comprenant au moins une clé destinée à être présentée par chaque dispositif de la première liste au dispositif suivant dans ladite première liste, la clé destinée à être présentée au deuxième terminal étant partagée entre le premier terminal et le deuxième terminal.
[0176] Le premier dispositif, qui est configure pour la mise en oeuvre de la première fonction de traitement intermédiaire, peut, sur réception du premier message, appliquer (71) la première fonction de traitement intermédiaire aux données transportées dans le premier message.
[0177] Dans un ou plusieurs modes de réalisation, ce premier dispositif peut en outre mettre à jour (72) la première liste et la deuxième liste reçues avec le premier message.
[0178] Dans un ou plusieurs modes de réalisation, ce premier dispositif peut ensuite envoyer (73), à destination du dispositif suivant identifié dans la première liste, le premier message intégrant la mise à jour des première et deuxième listes, avec les données traitées par la première fonction de traitement intermédiaire et la clé extraite de la deuxième liste destinée à être présentée au dispositif suivant, la deuxième connexion étant chiffrée entre le premier dispositif et le dispositif suivant.
[0179] Comme discuté ci-dessus, dans les modes de réalisation dans lesquels la première connexion entre les deux terminaux est établie selon le protocole QUIC, le premier terminal peut insérer une trame QUIC de type RELAY tel que décrit ci-dessus, dans un message de contrôle ou un message de données de la première connexion (connexion principale) à destination du premier dispositif, auquel cas le premier message reçu par le premier dispositif peut être une trame RELAY
[0180] Ainsi, dans un ou plusieurs modes de réalisation, à réception d'un message contenant une trame QUIC RELAY(ListINext_Hop_IP address/porti, Shared Token, ...) par un premier dispositif configure pour la mise en oeuvre d'une fonction de traitement intermédiaire (OF):
[0181] Si plusieurs fonctions OF doivent être invoquées, alors la liste ListINext_Hop_IP address/porti peut inclure la liste de toutes les fonctions OF à invoquer, exceptée la 29 première fonction, en plus de l'adresse (et éventuellement, du numéro de port) du terminal distant.
Dans cc cas, le message est envoyé par le premier terminal à destination de la première fonction à invoquer, c'est-à-dire à destination du premier dispositif configuré pour mettre en oeuvre la première fonction à invoquer dans la suite ordonnée de fonctions à invoquer.
[0182] Ainsi, pour un paquet de données devant traverser plusieurs fonctions de traitement intermédiaires, le premier terminal peut envoyer un message à destination de la première fonction à mettre en oeuvre pour le paquet.
La première fonction exécute son service pour le paquet, puis détermine des informations permettant d'envoyer le paquet vers la fonction suivante à mettre en oeuvre pour le paquet.
[0183] Chaque fonction de traitement intermédiaire OF qui doit être invoquée doit traiter chaque paquet éligible au traitement effectué par la fonction.
[0184] Dans un ou plusieurs modes de réalisation, chaque fonction de traitement inter- médiaire qui doit être invoquée peut mettre à jour la liste List{Next Hop IP address/ port}, par exemple en retirant les données « Next Hop IP address/port » correspondant à la prochaine fonction de traitement intermédiaire à invoquer de la liste List{Next Hop IP address/port}.
Le paquet peut ensuite être transmis vers cette prochaine fonction en utilisant les données « Next Hop IP address/port », après avoir instancié une entrée dans une table RELAYED COLLABORATIVE CONNECTIONS BASE (RCCB), comme décrit ci-dessous.
La procédure proposée peut être réitérée jusqu'à ce que le paquet soit reçu par la dernière fonction OF à invoquer.
Le traitement à effectuer correspond alors au cas de figure dans lequel une seule fonction doit être invoquée.
[0185] Si une seule fonction OF doit être invoquée, alors la liste List{Next_Hop_IP address/ port} ne contient que l'adresse (et éventuellement, le numéro de port) du deuxième terminal (terminal distant).
Le message est envoyé en utilisant l'adresse IP permettant d'accéder à la fonction OF comme adresse de destination du paquet après l'exécution du service offert par la fonction OF.
[0186] En outre, dans un ou plusieurs modes de réalisation, la fonction OF peut inclure une nouvelle trame QUIC appelée GLUE(Shared_Token, [myID], ...).
En d'autres termes, le paquet récupéré en sortie de la fonction OF peut être chiffré selon une nouvelle association de sécurité à établir entre la fonction OF et le deuxième terminal.
Dans un ou plusieurs modes de réalisation, la fonction OF peut à cette occasion instancier une entrée dans la table RCCB.
Par ailleurs, l'envoi du premier paquet (premier message) peut par exemple reposer sur le mécanisme O-RTT TLS1.3, qui permet d'envoyer immédiatement les données utiles.
[0187] Dans un ou plusieurs modes de réalisation, un dispositif configuré pour la mise en oeuvre d'une fonction de traitement intermédiaire peut être configuré pour maintenir la table RCCB, afin de traiter le cas de figure dans lequel des adresses externes différentes sont utilisées par la fonction pour relayer une connexion donnée.
Cette table est utilisée en particulier pour garder en mémoire l'adresse IP et le numéro de port externes utilisés par la fonction pour cette connexion.
[0188] La figure 5b illustre un exemple de structure de table RCCB maintenue par une fonction OH située sur le chemin de transmission de données entre un premier terminal Ti et un deuxième terminal T2 entre lesquels est établie une connexion chiffrée.
La table RCCB illustrée sur la figure 5b comprend les champs suivants :
[0189] « Upstream Connection Reference » : Indique la référence de la connexion à relayer par la fonction OH, le chemin des données transmises entre le premier terminal Tl et la fonction OFi étant désigné par chemin « Upstream ».
Dans un ou plusieurs modes de réalisation, on pourra préférer utiliser les associations de sécurité TLS/DTLS à cet effet, plutôt que le quadruplet {adresse source, port source, adresse destination, port destination}, pour bénéficier d'une plus grande fiabilité.
[0190] « Downstrcarn Connection Reference » : Indique la référence de la connexion telle que relayée par la fonction OFi, le chemin des données transmises entre la fonction OFi et le deuxième terminal T2 étant désigné par chemin « Downstream ».
Dans un ou plusieurs modes de réalisation, ce champ pourra avoir la même structure et la même sémantique que le champ « Upstream Connection Reference » décrit ci-dessus.
[0191] « Token » : Ce champ correspond à « Sharcd Token » reçu dans une trame RELAY au titre d'une connexion « Upstream ».
Ce champ est optionnel.
[0192] « External IP Address » : Indique l'adresse IP utilisée par la fonction OFi comme adresse source pour relayer les paquets de la connexion.
[0193] « External Port Number » : Indique le numéro de port utilisé par la fonction OFi comme numéro de port source pour relayer les paquets de la connexion.
[0194] « Next Hop IP Address » : Indique l'adresse IP utilisée par la fonction OFi comme adresse de destination pour relayer les paquets de la connexion.
Ce champ est optionnel ; l'information peut être déduite en utilisant la référence de la connexion « Downstream ».
[0195] « Next Hop Port Number » : Indique le numéro de port utilisé par la fonction OFi comme adresse source pour relayer les paquets de la connexion.
Ce champ est optionnel ; l'information peut être déduite en utilisant la référence de la connexion « Downstream ».
[0196] Dans un ou plusieurs modes de réalisation, si une connexion « Upstream » est associée à plusieurs connexions « Downstream », la politique de répartition de trafic entre ces différentes connexions est typiquement locale à la fonction OFi.
[0197] De plus, dans un ou plusieurs modes de réalisation, une fonction OF sollicitée dans les deux sens d'une connexion QUIC (« Tl vers T2 » et «T2 vers Ti ») peut maintenir 31 dans sa table RCCB des entrées qui correspondent à chaque direction.
[0198] Dans un ou plusieurs modes de réalisation, tout paquet destiné à une fonction 0f I, niais qui ne contient pas de trame RELAY, peut être traité selon les consignes de la table RCCB maintenue par la fonction OFi.
A réception d'un tel paquet, la fonction OFi peut consulter sa table RCCB pour récupérer le cas échéant la référence d'une connexion « Downstrcarn ».
Une fois le service OFi exécuté sur le paquet (par exemple, transcodage), le paquet peut être transmis en utilisant les informations renseignées dans la table RCCB (adresse source, numéro de port source, adresse destination, numéro de port destination).
A noter que le service de la fonction OH n'est pas exécuté si aucune entrée n'est trouvée dans la table RCCB.
[0199] Dans un ou plusieurs modes de réalisation, la trame GLUE peut n'être utilisée que pour un nombre prédéterminé de premiers paquets éligibles (par exemple, pour le premier paquet ou les trois premiers paquets) dans une nouvelle connexion secondaire, et peut être omise pour les autres paquets.
[0200] La figure 6a est un diagramme illustrant le procédé proposé selon un ou plusieurs modes de réalisation, du point de vue du terminal distant (deuxième terminal).
[0201] On considère des premier et deuxième terminaux, entre lesquels une première connexion chiffrée est établie (80) pour la transmission de données entre le premier terminal et le deuxième terminal.
[0202] Dans un ou plusieurs modes de réalisation, le procédé proposé peut comprendre, au deuxième terminal, la mémorisation (81), en association avec la première connexion, d'une fonction de traitement intermédiaire destinée à être appliquée entre le premier terminal et le deuxième terminal sur au moins une partie des données transmises entre le premier terminal et le deuxième terminal, d'un filtre caractérisant la au moins une partie des données éligibles, ainsi que d'une clé partagée avec le premier terminal.
[0203] Le deuxième terminal peut en outre recevoir (82) au moins un premier message en provenance de la fonction de traitement intermédiaire, le premier message transportant des données émises par le premier terminal.
[0204] Le traitement de ce premier message reçu peut comprendre une vérification que les données transportées par le premier message correspondent au filtre mémorisé.
[0205] En cas de correspondance, le deuxième terminal peut accepter (83) l'établissement d'une deuxième connexion chiffrée avec la fonction de traitement intermédiaire et associer la deuxième connexion à la première connexion.
De cette sorte, le deuxième terminal peut, sur réception de données via la deuxième connexion et correspondant au filtre, associer les données reçues à la première connexion.
[0206] Comme discuté ci-dessus, dans les modes de réalisation dans lesquels la première connexion entre les deux terminaux est établie selon le protocole QUIC, le premier terminal peut insérer une trame QUIC de type COCON tel que décrit ci-dessus, dans 31 un message de contrôle ou un message de données de la première connexion (connexion principale) à destination du terminal distant, auquel cas le premier message reçu par le deuxième terminal peut être une trame COCON, par exemple selon le format illustré par la figure 4a.
[0207] Ainsi, dans un ou plusieurs modes de réalisation, à réception d'une trame COCON par le deuxième terminal (terminal distant), ce dernier peut mettre à jour ses tables de connexions QUIC pour sauvegarder une copie des informations contenues dans le message.
En particulier, le terminal peut mettre à jour une table TRS pour garder en mémoire des données incluses dans le message COCON.
[0208] La figure 6b illustre un exemple de table TRS, dont la structure est similaire à celle décrite précédemment pour le premier terminal (concernant les offres faites par le premier terminal) et illustrée sur la figure 4b, hormis le champ « status » :
[0209] La table TRS illustrée à la figure 61, (pour la connexion principale « Primary Connection Ref »), contient les informations suivantes extraites du message COCON:
[0210] « OF ID » : un identifiant d'une fonction OF.
[0211] « Direction » : dans un ou plusieurs modes de réalisation, ce champ indique une première valeur indiquant une utilisation de la fonction identifiée par le champ OF ID unidirectionnelle à l'initiative du deuxième terminal, c'est-à-dire pour des données envoyées par le deuxième terminal, une deuxième valeur indiquant une utilisation de la fonction identifiée par le champ OF_ID unidirectionnelle à l'initiative du premier terminal, c'est-à-dire pour des données envoyées par le premier terminal, ou une troisième valeur indiquant une utilisation de la fonction identifiée par le champ OF_ID bidirectionnelle, c'est-à-dire pour des données envoyées par le premier terminal ou par le deuxième terminal.
Par exemple, ce champ peut indiquer l'une des valeurs suivantes : 0 (Unidirectionnel à l'initiative du terminal), 1 (Unidirectionnel à l'initiative du terminal (listant), 2 (bidirectionnel).
[0212] « Token » : Une clé de vérification qui doit être présentée au deuxième terminal (par une fonction OF) pour établir une nouvelle connexion secondaire.
[0213] Liste des « Stream IDs » : Un filtre qui liste des canaux dont les données peuvent être relayées par la fonction identifiée dans le champ OF_ID.
Dans un ou plusieurs modes de réalisation, une valeur prédéterminée (par exemple dénommée « Any ») peut être utilisée pour indiquer que la fonction peut être invoquée par tous les canaux d'une connexion.
[0214] Liste des « Connection IDs » : Un filtre qui liste des identifiants de connexion dont les données font l'objet d'un traitement par la fonction identifiée dans le champ OF_ID.
Dans un ou plusieurs modes de réalisation, une valeur prédéterminée (par exemple dénommée « Any ») peut être utilisée pour indiquer que la fonction peut être 33 invoquée pour n'importe quel identifiant d'une connexion.
[0215] Dans un ou plusieurs modes de réalisation, le deuxième terminal peut être configure pour ne retenir une fonction OF que pour une direction donnée.
Par exemple, le terminal peut remplacer la valeur du bit « D» selon des politiques locales.
Par exemple, en référence à la figure 4f, si Ti propose une fonction de transcodage 0E1 pour un canal bidirectionnel, T2 peut décider d'utiliser une autre fonction de transcodage 0F2 pour le même canal.
[0216] Un message d'acquittement de la trame COCON peut ensuite être envoyé au premier terminal.
[0217] Comme discuté ci-dessus, dans les modes de réalisation dans lesquels la première connexion entre les deux terminaux est établie selon le protocole QUIC, le dispositif ou l'équipement configure pour la mise en oeuvre de l'unique fonction ou, dans le cas où plusieurs fonctions sont invoquées pour un même paquet de données transmis entre les deux terminaux, de la dernière fonction à mettre en oeuvre pour le paquet, peut insérer une trame QUIC de type GLUE tel que décrit ci-dessus, dans un message de contrôle ou un message de données de la deuxième connexion (connexion secondaire) à destination du deuxième terminal, auquel cas le premier message reçu par le deuxième terminal peut être une trame GLUE, telle que décrite ci-dessus.
[0218] En référence à la figure 6e, dans un ou plusieurs modes de réalisation, le deuxième terminal (T2) peut être configure pour, à réception (90) d'un message contenant une trame GLUE(), extraire l'identifiant de la connexion, l'identifiant du canal, la clé Shared_Token » et l'identifiant de la fonction selon les modalités suivantes :
[0219] L'identifiant du canal et de connexion peuvent être extraits selon les modalités décrites dans la spécification QUIC.
[0220] L'identifiant « Shai-ed Token » peut être extrait (91) de la trame GLUE.
Par défaut, le deuxième terminal ignore (92) la trame GLUE reçue en cas d'échec d'extraction de l'identifiant « Shared Token ».
[0221] L'identifiant de la fonction peut être extrait en utilisant la trame GLUE (en utilisant le champ « myID ») ou, en variante, en appliquant un algorithme de calcul de hash (par ex.
SHA-256) de l'information "Pre-Shared Key (PSK) identity" utilisée par la fonction OF dans le message TLS « ClientKeyExchange ».
[0222] Après avoir extrait ces informations, le deuxième terminal peut être configuré pour consulter (94) la table TRS décrite ci-dessus maintenue par le deuxième terminal pour vérifier si les informations ainsi extraites correspondent à une entrée de la table TRS.
Si une entrée a été trouvée (95), le deuxième terminal accepte (96) l'établissement de la nouvelle connexion collaborative TLS depuis la fonction OF.
Un pointeur vers cette nouvelle connexion est alors ajouté à la table de connexions QUIC.
Ainsi, les données reçues en utilisant une connexion secondaire (par exemple, OF-T2) sont associées à la 34 connexion principale T1-T2.
Par défaut, le deuxième terminal ignore (92) la trame GLUE reçue si aucune entrée n'est trouvée dans sa table TRS.
[0223] Dans un ou plusieurs modes de réalisation, le deuxième terminal peut être configure pour n'appliquer cette procédure de contrôle que pour un nombre prédéterminé de premiers paquets (par ex. 3) faisant l'objet d'un traitement par la fonction OF.
Dans cc cas, les paquets suivants pourront être traités selon les consignes de la table CCT, et la trame GLUE ne plus être utilisée.
[0224] La figure 6d illustre un exemple de procédé de traitement d'un nouveau paquet reçu par le deuxième terminal selon un ou plusieurs modes de réalisation du procédé proposé.
[0225] Sur réception (97) d'un nouveau paquet, le terminal détermine (98) si le paquet reçu est ou non associé à une nouvelle connexion principale.
Dans le cas où le paquet reçu est associé à une nouvelle connexion principale, il est traité (99) en considérant une nouvelle connexion principale tel que décrit précédemment.
Dans le cas où le paquet reçu n'est pas associé à une nouvelle connexion principale, le terminal détermine (100) si le paquet reçu est ou non associé à une nouvelle connexion secondaire.
Dans le cas où le paquet reçu est associé à une nouvelle connexion secondaire, il est traité (101) en considérant une nouvelle connexion secondaire tel que décrit précédemment.
Dans le cas où le paquet reçu est associé avec une connexion secondaire existante (c'est-à-dire, une entrée correspondant à cc paquet a été trouvée dans la table CCT), le terminal le traite (102) en utilisant les consignes de ladite entrée de la table CCT, comme décrit ci-dessus.
[0226] Dans un ou plusieurs modes de réalisation, les paquets sont rejetés si aucune entrée n'est trouvée dans la table TRS (pour les N premiers paquets, N étant un entier prédéterminé) ou si aucune entrée n'est trouvée dans la table CCT (pour les autres paquets).
[0227] Différents exemples de cas de figure d'utilisation du procédé proposé selon un ou plusieurs modes de réalisation sont fournis ci-après, en référence aux figures 7a à 7f.
[0228] Les figures 7a à 7c montrent différents exemples de rejet d'une fonction OF, pour les communications, dans un réseau de communication, entre un premier terminal TI et un deuxième terminal T2 (terminal (listant) entre lesquels est établie une connexion QUIC.
[0229] La figure 7a illustre le cas où une fonction OF fait l'objet d'une tentative d'insertion dans une connexion (par exemple à des fins de vol de données), mais la connexion est rejetée par T2 car la clé présentée dans la trame COCON associée ne correspond à aucune entrée de la table TRS maintenue par T2.
[0230] La Figure 7b illustre le cas où une fonction OF fait l'objet d'une tentative d'insertion dans une connexion (par exemple à des fins de vol de données), mais la connexion est rejetée par T2 car l'identifiant du canal ne correspond pas à celui indiqué dans la table TRS maintenue par T2.
[0231] La Figure 7e illustre le cas où une fonction OF fait l'objet d'une tentative d'insertion dans une connexion (par exemple à des fins de vol de données), niais la connexion est rejetée par T2 car l'identifiant de fonction présenté ne correspond à aucune entrée de la table TRS maintenue par T2 pour Ti.
[0232] Les figures 7d à 7f montrent différents exemples de connexion collaborativc réussie, pour les communications, dans un réseau de communication, entre un premier terminal Ti et un deuxième terminal T2 (terminal distant) entre lesquels est établie une connexion QUIC.
[0233] La Figure 7d illustre l'exemple d'une connexion collaborative réussie entre Ti et T2.
Cette connexion implique une seule fonction 0F1 telle que décrite dans la trame COCON envoyée par T1 à destination de T2 : COCON(OF1, 485rHjaKLkalBbjr0ghiD, stream id=0x04579) (offre d'utilisation de la fonction on pour les données émises sur le canal d'identifiant « 0x04579 », avec partage de la clé « 485rHjaKLkalBbjrCIghiD » avec la fonction OF1).
Les connexions sont relayées selon les consignes renseignées dans la table RCCB.
[0234] Sur réception de la trame COCON en provenance du premier terminal T1, le deuxième terminal T2 instancie une entrée dans sa table TRS, comme décrit ci-dessus, et transmet éventuellement un acquittement d'acceptation de l'offre d'utiliser la fonction OF1 au premier terminal Tl.
Le premier terminal Tl transmet à la fonction OF' des données (DATA) sur lesquelles le service de la fonction OF' doit être effectué ainsi qu'une trame RELAY(@T2, 485rHjaKLkalBbjrC.IghiD, ) indiquant l'adresse de T2 et la clé partagée avec la fonction OF I.
La fonction OF1 effectue sur les données reçues avec la trame RELAY le service correspondant à la fonction OF' (par exemple, il transcode les données reçues), instancie une entrée dans sa table RCCB, et transmet les données traitées (DATA) au deuxième terminal ainsi qu'une trame GLUE(485rHjaKLkalBbjrC.IghiD, ) Sur réception de la trame GLUE(485rHjaKLkalBbjrC.IghiD, ), le deuxième terminal T2 n'associe les deux connexions TLS qu'après avoir vérifié que sa table TRS contenait bien une entrée correspondant à la fonction OF I et à la clé reçue de OF' (« 485rEljaKLkalBbjrCIghiD ») Le deuxième terminal T2 instancie en outre une entrée dans sa table CCT, comme décrit ci-dessus.
Il émet ensuite éventuellement une trame GLUE de confirmation d'association de connexions GLUE(Confirmed, OF1, 0x04579, ...) à destination du terminal Tl.
Comme indiqué ci-dessus, la transmission des données suivantes entre le premier terminal et la fonction 0E1 d'une part, puis entre la fonction OF' et le deuxième terminal T2 d'autre part, peuvent ne pas utiliser de messages RELAY et/ou GLUE, respectivement.
A réception des données par la fonction OF1, le service OF' 36 est mis en oeuvre, puis les consignes de relais pour les données traitées sont obtenues en consultant la table RCCB.
A réception des données traitées par le deuxième terminal T2, les données reçues sont associées à deux connexions collaboratives TLS sur la base de la table CCT.
Si la fonction OH est éventuellement invoquée pour les deux directions de la connexion, un traitement similaire est effectué par OH pour les paquets reçus de T2 à destination de T1.
[0235] La Figure 7e illustre un autre exemple de connexion collaborative réussie entre des premier et deuxième terminaux Ti et T2 et qui implique deux fonctions OH et 0F2.
[0236] La connexion entre Tl et T2 implique deux fonctions OF1 et 0F2 telles que décrites dans la trame COCON envoyée par Tl à destination de T2: COCON(0F2, CIghiD, strcam id=0x04579) (offre d'utilisation de la fonction 0F2 pour les données émises sur le canal d'identifiant « 0x04579 », avec partage de la clé « CIghin » avec la fonction 0F2).
Les connexions sont relayées selon les consignes renseignées dans les tables RCCB respectives maintenues par les dispositifs mettant respectivement en oeuvre les fonctions OF1 et 0F2.
[0237] Sur réception de la trame COCON en provenance du premier terminal T], le deuxième terminal T2 instancie une entrée dans sa table TRS, comme décrit ci-dessus, et transmet éventuellement un acquittement d'acceptation de l'offre d'utiliser la fonction OF2 au premier terminal Tl.
Le premier terminal Ti transmet à un dispositif de mise en oeuvre de la fonction OH des données (DATA) sur lesquelles le service de la fonction OF' doit être effectué ainsi qu'une trame RELAY({ @0F2,@T2J, CJghiD ...) indiquant la clé partagée avec la fonction OFI.
Le dispositif de mise en oeuvre de la fonction OF' effectue sur les données reçues avec la trame RELAY le service correspondant à la fonction OF' (par exemple, il transcode les données reçues), instancie une entrée dans sa table RCCB, et transmet à un dispositif de mise en oeuvre de la fonction 0F2 les données traitées (DATA) ainsi qu'une trame RELAY(@T2, CJghiD, ...) indiquant la clé partagée avec la fonction 0F2 (qui est, dans cet exemple, identique à la clé partagée avec la fonction OF1).
Le dispositif de mise en oeuvre de la fonction 0F2 effectue sur les données reçues avec la trame RELAY le service correspondant à la fonction 0F2, instancie une entrée dans sa table RCCB, et transmet les données traitées au deuxième terminal ainsi qu'une trame GLUE(CJghiD, ) Sur réception de la trame GLUE(CJghiD, ) le deuxième terminal T2 n'associe les deux connexions TLS qu'après avoir vérifié que sa table TRS contenait bien une entrée correspondant à la fonction 0F2 et à la clé reçue de 0F2 (« CIghiD ») pour cette connexion.
Le deuxième terminal T2 instancie en outre une entrée dans sa table CCT, comme décrit ci-dessus.
Il émet ensuite éventuellement une trame GLUE de confirmation d'association de connexions à destination du terminal Ti (non représentée sur la figure).
Comme indiqué ci-dessus, les transmissions suivantes de données entre le 37 premier terminal et la fonction 0F1 d'une part, entre les fonctions 0E1 et 0E2, puis entre la fonction 0E2 et le deuxième terminal T2 d'autre part, peuvent ne pas utiliser de messages RELAY et/ou GLUE, respectivement.
A réception de données par la fonction 0F1 (respectivement 0F2), le service 0F1 (respectivement 0F2) est mis en oeuvre pour les données reçues, puis les consignes de relais pour les données traitées sont obtenues en consultant la table RCCB.
A réception des données traitées par le deuxième terminal T2, les données reçues sont associées à deux connexions collaboratives TLS sur la base de la table CCT.
[0238] La Figure 7f illustre un autre exemple de connexion collaborative réussie entre Tl et T2 qui implique deux fonctions OF1 et 0F2 : La fonction 0F1 est impliquée pour les données du canal envoyées par Tl à T2, alors que les données du même canal émises par T2 vers Tl sont traitées par 0E2.
L'ordre des trames COCON est fourni à titre d'exemple.
[0239] Dans un ou plusieurs modes de réalisation, le terminal T2 peut informer Tl de l'ajout d'une fonction OF à une connexion.
Pour cc faire.
T2 envoie une trame GLUE(Confirmed, OF ID, List{ stream id}, ...) vers T].
Tl peut utiliser cette trame pour détecter l'insertion a priori non-consentie d'une fonction OF.
Il peut signaler à T2 le rejet de cette connexion secondaire en envoyant un message COCON(UPDATE), comme décrit ci-dessus.
[0240] La figure 8a illustre un exemple d'architecture d'un terminal pour la mise en oeuvre du procédé proposé.
[0241] En référence à la figure 8a, le dispositif 100 comprend un contrôleur 101, couplé de manière opérationnelle à une interface de communication 102 et à une mémoire 103, qui pilote un module de gestion de communications selon un protocole QUIC 104.
[0242] L'interface de communication 102 comprend une ou plusieurs unités de commu- nication, chacune configurée pour émettre et/ou recevoir des données selon un ou plusieurs protocoles de communication de données (par voie filaire ou sans-fil), par exemple de type WLAN, Ethernet, LTE, LTE-A.
[0243] Le contrôleur 101 est configuré pour piloter le module de gestion de communications 104 et l'interface de communication 102 pour la mise en oeuvre d'un ou de plusieurs modes de réalisation du procédé proposé.
[0244] Le module de gestion de communications 104 est configuré pour la mise en oeuvre du procédé proposé par un terminal.
En particulier, le module de gestion de communications 104 peut être configuré pour remplir les fonctions et accomplir les actes décrits dans la présente description pour la mise en oeuvre du procédé proposé par un terminal (local et/ou (listant).
[0245] Le dispositif 100 peut être un ordinateur, un réseau d'ordinateurs, un composant élec- tronique, ou un autre appareil comportant un processeur couplé de manière opéra- 38 tionnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure).
Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, une mémoire SSD, etc.
En fonction du mode de réalisation, la mémoire, l'unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le contrôleur 101, amènent cc contrôleur 101 à effectuer ou contrôler les parties module de gestion de communications 104 et interface de communication 102 des exemples de mise en oeuvre du procédé proposé décrits dans la présente description.
Le contrôleur 101 peut être un composant implémentant un processeur ou une unité de calcul pour la gestion de communications selon le procédé proposé et le contrôle des unités 102 et 104 du dispositif 100.
[0246] Le dispositif 100 peut être mis en oeuvre sous forme logicielle, sous forme matérielle, comme un circuit intégré spécifique application (ASIC), ou sous forme d'une combinaison d'éléments matériels et logiciels, comme par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA (Field Programmable Gate Array).
De même, le module de gestion de communications 104 peut être mis en oeuvre sous forme logicielle, sous forme matérielle, comme un ASIC, ou sous forme d'une combinaison d'éléments matériels et logiciels, comme par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA.
[0247] La figure 8b illustre un exemple d'architecture d'un dispositif configuré pour la mise en oeuvre d'une ou plusieurs fonctions de traitement intermédiaires pour la mise en oeuvre du procédé proposé.
[0248] En référence à la figure 8b, le dispositif 200 comprend un contrôleur 201, couplé de manière opérationnelle à une interface de communication 202 et à une mémoire 203, qui pilote un module de service de fonction 204.
[0249] L'interface de communication 202 comprend une ou plusieurs unités de commu- nication, chacune configurée pour émettre et/ou recevoir des données selon un ou plusieurs protocoles de communication de données (par voie filaire ou sans-fil), par exemple de type WLAN, Ethernet, LTE, LTE-A.
[0250] Le contrôleur 201 est configuré pour piloter le module de service de fonction 204 et l'interface de communication 202 pour la mise en oeuvre d'un ou de plusieurs modes de réalisation du procédé proposé.
[0251] Le module de service de fonction 204 est configuré pour la mise en oeuvre du procédé proposé par un noeud mettant en oeuvre une fonction.
En particulier, le module de service de fonction 204 peut être configuré pour remplir les fonctions et accomplir 39 les actes décrits dans la présente description pour la mise en oeuvre du procédé proposé par un noeud mettant en oeuvre une fonction.
[0252] Le dispositif 200 peut être un ordinateur, un réseau d'ordinateurs, un composant élec- tronique, ou un autre appareil comportant un processeur couplé de manière opérationnelle à une mémoire, ainsi que, selon le mode de réalisation choisi, une unité de stockage de données, et d'autres éléments matériels associés comme une interface de réseau et un lecteur de support pour lire un support de stockage amovible et écrire sur un tel support (non représentés sur la figure).
Le support de stockage amovible peut être, par exemple, un disque compact (CD), un disque vidéo/polyvalent numérique (DVD), un disque flash, une clé USB, une mémoire SSD, etc.
En fonction du mode de réalisation, la mémoire, l'unité de stockage de données ou le support de stockage amovible contient des instructions qui, lorsqu'elles sont exécutées par le contrôleur 201, amènent ce contrôleur 201 à effectuer ou contrôler les parties module de service de fonction 204 et interface de communication 202 des exemples de mise en oeuvre du procédé proposé décrits dans la présente description.
Le contrôleur 201 peut être un composant implémentant un processeur ou une unité de calcul pour la gestion de communications selon le procédé proposé et le contrôle des unités 202 et 204 du dispositif 200.
[0253] Le dispositif 200 peut être mis en oeuvre sous forme logicielle, sous forme matérielle, comme un circuit intégré spécifique application (ASIC), ou sous forme dune combinaison d'éléments matériels et logiciels, comme par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA (Field Programmable Gate Array).
De même, le module de service de fonction 204 peut être mis en oeuvre sous forme logicielle, sous forme matérielle, comme un ASIC, ou sous forme d'une combinaison d'éléments matériels et logiciels, comme par exemple un programme logiciel destiné à être chargé et exécuté sur un composant de type FPGA.
[0254] La mise en oeuvre du procédé proposé selon les modes de réalisation décrits dans la présente description permet avantageusement : (1) de valoriser le réseau de l'opérateur par l'introduction de mécanismes optimisant l'usage des ressources mobilisées pour l'établissement et la maintenance de communications QUIC, (2) de promouvoir les mécanismes d'invocation de fonctions réseau avec consentement explicite, (3) aux communications QUIC de bénéficier d'un support de l'opérateur réseau sous la forme d'une gestion optimisée des ressources mobilisées par ces communications afin d'améliorer le niveau de qualité associé à ces communications et tel que perçu par les utilisateurs, (4) de simplifier l'utilisation des clients QUIC grâce à une coordination/ collaboration pragmatique avec le réseau des opérateurs, (5) d'introduire plus de flexibilité dans l'invocation et le retrait de fonctions réseau sans induire de délais supplémentaires pour l'échange des données.
Le niveau de sécurité et de robustesse associé à chaque communication QU1C est également maintenu, sinon renforcé par les moyens dont dispose l'opérateur, (6) de promouvoir de nouvelles pratiques telle que l'invocation à la demande des fonctions réseau, (7) de permettre l'invocation sélective de fonction réseau par canal ("stream").
Application industrielle
[0255] En fonction du mode de réalisation choisi, certains actes, actions, évènements ou fonctions de chacune des méthodes décrites dans le présent document peuvent être effectués ou se produire selon un ordre différent de celui dans lequel ils ont été décrits, ou peuvent, être ajoutés, fusionnés ou bien ne pas être effectués ou ne pas se produire, selon le cas.
En outre, dans certains modes de réalisation, certains actes, actions ou évènements sont effectués ou se produisent concurremment et non pas successivement.
[0256] Bien que décrits à travers un certain nombre d'exemples dc réalisation détaillés, le procédé de pilotage proposé et le dispositif pour la mise en oeuvre d'un mode de réalisation du procédé comprennent différentes variantes, modifications et perfectionnements qui apparaîtront de façon évidente à l'homme de l'art, étant entendu que ces différentes variantes, modifications et perfectionnements font partie dc la portée de l'invention, telle que définie par les revendications qui suivent.
De plus, différents aspects et caractéristiques décrits ci-dessus peuvent être mis en oeuvre ensemble, ou séparément, ou bien substitués les uns aux autres, et l'ensemble des différentes combinaisons et sous-combinaisons des aspects et caractéristiques font partie de la portée de l'invention.
En outre, il se peut que certains systèmes et dispositifs décrits ci-dessus n'incorporent pas la totalité des modules et fonctions décrits pour les modes de réalisation préférés. 41

Claims (1)

  1. REVENDICATIONS[Revendication I] Procédé de communication dans un réseau, entre un premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée pour transmettre des données, le procédé comprenant au premier terminal : mémoriser, en association avec ladite première connexion, au moins une deuxième connexion entre le premier terminal et le deuxième terminal via au moins une fonction de traitement intermédiaire destinée à être appliquée sur au moins une partie desdites données dites éligibles à la deuxième connexion, et un filtre caractérisant lesdites données éligibles à la deuxième connexion, ladite deuxième connexion étant chiffrée entre le premier terminal et ladite fonction de traitement intermédiaire, envoyer, via ladite deuxième connexion, au moins un premier message destiné à ladite fonction intermédiaire et transportant des données pour le deuxième terminal correspondant audit filtre, le premier message comprenant une information selon laquelle lesdites données sont à destination du deuxième terminal. [Revendication 2] Procédé selon la revendication 1, comprenant envoyer via la première connexion des données à destination du deuxième terminal, données qui ne correspondent pas audit filtre. [Revendication 3] Procédé selon la revendication 1 ou 2, comprenant en outre sur réception de données via ladite deuxième connexion, associer lesdites données à ladite première connexion si les données correspondent audit filtre. [Revendication 4] Procédé selon l'une quelconque des revendications précédentes dans lequel ledit premier message comprend en outre une clé destinée à être présentée par la fonction intermédiaire au deuxième terminal, et partagée entre le premier terminal et le deuxième terminal. [Revendication 5] Procédé selon l'une quelconque des revendications précédentes comprenant informer le deuxième terminal, dans au moins un message émis via ladite première connexion à destination du deuxième terminal, de l'utilisation de ladite fonction de traitement intermédiaire pour ladite au moins une partie desdites données. [Revendication 6] Procédé selon la revendication 5 dans lequel ledit au moins un message informant le deuxième terminal de l'utilisation de ladite fonction de traitement intermédiaire comprend au moins un élément parmi : - un identifiant de ladite fonction de traitement intermédiaire ; 42 [Revendication 7] [Revendication 8] [Revendication 9] [Revendication 10] - une clé à présenter par la fonction intermédiaire au deuxième terminal ; - ledit filtre caractérisant les données éligibles à ladite deuxième connexion ; - au moins un identifiant de connexion éligible à ladite deuxième connexion ; et - une information de direction de transmission des données via la deuxième connexion à laquelle ladite fonction de traitement intermédiaire est appliquée. Procédé selon la revendication S ou 6, dans lequel l'utilisation par le premier terminal de ladite deuxième connexion pour envoyer des données au deuxième terminal est conditionnée par la réception par le premier terminal d'un acquittement du deuxième terminal de l'utilisation de ladite fonction de traitement intermédiaire. Procédé selon l'une quelconque des revendications précédentes dans lequel sur la deuxième connexion, une pluralité de fonctions de traitement intermédiaires peuvent être appliquées sur les données éligibles à la deuxième connexion dans un ordre déterminé et : - ledit au moins un message transportant des données pour le deuxième terminal est destiné à la première fonction de traitement intermédiaire devant être appliquée auxdites données éligibles à la deuxième connexion, - ledit premier message envoyé comprend en outre une première liste ordonnée selon ledit ordre déterminé identifiant les fonctions de ladite pluralité de fonctions de traitement intermédiaires distinctes de la première fonction devant être appliquées sur lesdites données éligibles. Procédé selon la revendication 8 dans lequel ledit premier message envoyé comprend en outre une deuxième liste ordonnée selon ledit ordre déterminé de clés destinées à être présentées par chacune des fonctions de traitement intermédiaires identifiée dans la première liste à la fonction de traitement intermédiaire suivante dans ladite première liste ou, pour la dernière fonction de traitement intermédiaire de la première liste au deuxième terminal, la clé destinée à être présentée au deuxième terminal étant partagée entre le premier terminal et le deuxième terminal. Procédé selon l'une quelconque des revendications précédentes comprenant informer le deuxième terminal via la première connexion d'une modification affectant l'utilisation de ladite fonction de traitement 43 [Revendication 11] [Revendication 12] [Revendication 13] [Revendication 14] [Revendication 15] intermédiaire. Procédé selon l'une quelconque des revendications précédentes dans lequel : - ladite première connexion est établie entre le premier terminal et le deuxième terminal selon le protocole QUIC ; - au moins une dite deuxième connexion est établie selon le protocole TLS entre le premier terminal et le deuxième terminal via au moins une dite fonction intermédiaire apte à déchiffrer les données échangées via ladite deuxième connexion. Procédé de communication dans un réseau, entre un premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée pour transmettre des données, le procédé comprenant au deuxième terminal : - mémoriser, en association avec ladite première connexion, une fonction de traitement intermédiaire destinée à être appliquée entre le premier terminal et le deuxième terminal sur au moins une partie desdites données, un filtre caractérisant ladite au moins une partie des données et une clé partagée avec le premier terminal ; - recevoir au moins un premier message en provenance de ladite fonction intermédiaire transportant des données émises par le premier terminal ; - vérifier si lesdites données correspondent au filtre mémorisé ; et - en cas de correspondance : accepter l'établissement d'une deuxième connexion chiffrée avec la fonction intermédiaire et associer ladite deuxième connexion à la première connexion ; et sur réception de données via ladite deuxième connexion correspondant audit filtre, associer lesdites données à la première connexion. Procédé de communication selon la revendication 12, dans lequel ledit premier message comprend en outre une clé présentée par la fonction de traitement intermédiaire au deuxième terminal, l'établissement de la deuxième connexion chiffrée étant accepté si ladite clé reçue correspond à une clé partagée avec le premier terminal. Procédé de communication selon la revendication 12 ou 13, comprenant envoyer des données vers le premier terminal via ladite deuxième connexion correspondant audit filtre dans un message destiné à la fonction intermédiaire. Procédé de traitement de données transmises dans un réseau entre un 44 [Revendication 16] premier terminal et un deuxième terminal entre lesquels est établie une première connexion chiffrée, le procédé comprenant, pour un premier dispositif configure pour mettre en oeuvre une première fonction de traitement intermédiaire de données transmises entre le premier terminal et le deuxième terminal sur une deuxième connexion via ledit premier dispositif : - recevoir d'un premier dispositif du réseau au moins un premier message destiné au premier dispositif, transportant des données enlises par le premier terminal à destination du deuxième terminal, ledit premier dispositif du réseau étant le premier terminal ou un deuxième dispositif configure pour mettre en oeuvre une deuxième fonction de traitement intermédiaire desdites données, la deuxième connexion étant chiffrée entre le premier dispositif et le premier dispositif, ledit premier message comprenant : une première liste ordonnée identifiant au moins un deuxième dispositif du réseau à emprunter par ledit au moins un message pour être acheminé jusqu'au deuxième terminal, ledit au moins un deuxième dispositif étant le deuxième terminal ou au moins un troisième dispositif configure pour mettre en oeuvre une troisième fonction de traitement intermédiaire desdites données ; et une deuxième liste ordonnée comprenant au moins une clé destinée à être présentée par chaque dispositif de la première liste au dispositif suivant dans ladite première liste, la clé destinée à être présentée au deuxième terminal étant partagée entre le premier terminal et le deuxième terminal ; - appliquer la première fonction de traitement intermédiaire auxdites données transportées dans ledit au moins un premier message ; - mettre à jour la première liste et la deuxième liste ; et - envoyer à destination du dispositif suivant identifié dans la première liste, ledit au moins un premier message intégrant la mise à jour des première et deuxième listes, avec les données traitées par la première fonction de traitement intermédiaire et la clé extraite de la deuxième liste destinée à être présentée au dispositif suivant, la deuxième connexion étant chiffrée entre le premier dispositif et le dispositif suivant. Procédé de traitement selon la revendication 15 comprenant : - mémoriser pour la deuxième connexion : une adresse IP source et un numéro de port source utilisés par le premier 45 [Revendication 17] [Revendication 18] [Revendication 19] dispositif intermédiaire pour relayer lesdites données dudit au moins un premier message ; et une adresse IP destination et un numéro de port destination correspondant au dispositif suivant identifié dans la première liste vers lequel lesdites données dudit au moins un premier message sont transmises ; - recevoir du premier dispositif au moins un deuxième message destiné au premier dispositif intermédiaire, transportant des données émises par le premier terminal vers le deuxième terminal, dans lequel la première liste est absente ; - appliquer la première fonction de traitement intermédiaire auxdites données transportées dans ledit au moins un deuxième message ; - envoyer à destination de l'adresse IP destination et du port destination mémorisés, ledit au moins un deuxième message avec les données traitées par la première fonction de traitement intermédiaire. Dispositif de communication de données, comprenant un processeur et une mémoire couplée de manière opérationnelle au processeur, dans lequel le processeur est configure pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à 16. Système de communication de données, comprenant un premier terminal configure pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 1 à ii, un deuxième terminal configure pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 12 à 14, et un dispositif configure pour la mise en oeuvre d'un procédé selon l'une quelconque des revendications 15 à 16. Programme d'ordinateur, chargeable dans une mémoire associée à un processeur, et comprenant des portions de code pour la mise en oeuvre des étapes d'un procédé selon l'une quelconque des revendications 1 à 16 lors de l'exécution dudit programme par le processeur.
FR1907115A 2019-06-28 2019-06-28 Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs et système pour la mise en œuvre du procédé Withdrawn FR3096532A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1907115A FR3096532A1 (fr) 2019-06-28 2019-06-28 Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs et système pour la mise en œuvre du procédé
EP20747451.1A EP3991392A1 (fr) 2019-06-28 2020-06-24 Procede de gestion d'une communication entre terminaux dans un reseau de communication, et dispositifs et systeme pour la mise en oeuvre du procede
PCT/FR2020/051102 WO2020260825A1 (fr) 2019-06-28 2020-06-24 Procede de gestion d'une communication entre terminaux dans un reseau de communication, et dispositifs et systeme pour la mise en oeuvre du procede
US17/597,122 US20220272079A1 (en) 2019-06-28 2020-06-24 Method for managing communication between terminals in a communication network, and devices and system for implementing the method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1907115A FR3096532A1 (fr) 2019-06-28 2019-06-28 Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs et système pour la mise en œuvre du procédé
FR1907115 2019-06-28

Publications (1)

Publication Number Publication Date
FR3096532A1 true FR3096532A1 (fr) 2020-11-27

Family

ID=68733168

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1907115A Withdrawn FR3096532A1 (fr) 2019-06-28 2019-06-28 Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs et système pour la mise en œuvre du procédé

Country Status (4)

Country Link
US (1) US20220272079A1 (fr)
EP (1) EP3991392A1 (fr)
FR (1) FR3096532A1 (fr)
WO (1) WO2020260825A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113258679B (zh) * 2021-06-08 2022-11-11 南方电网数字电网研究院有限公司 基于服务器实例缩容的电网监控系统通道分配方法
WO2024208092A1 (fr) * 2023-04-06 2024-10-10 华为技术有限公司 Procédé de transmission de données et appareil de communication

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018076183A1 (fr) * 2016-10-25 2018-05-03 华为技术有限公司 Procédé, appareil, et système de transmission de données
EP3361695A1 (fr) * 2017-02-10 2018-08-15 Juniper Networks, Inc. Déchargement granulaire d'une session sécurisée avec un proxy

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030101353A1 (en) * 2001-10-31 2003-05-29 Tarquini Richard Paul Method, computer-readable medium, and node for detecting exploits based on an inbound signature of the exploit and an outbound signature in response thereto
ATE426283T1 (de) * 2005-12-15 2009-04-15 Nokia Corp Verfahren, apparat und computerprogrammprodukt zur beibehaltung von abbildungszuordnungen
CN101207613B (zh) * 2006-12-21 2012-01-04 松下电器产业株式会社 跨网域信息通信的认证方法、系统及其装置
CN103119976B (zh) * 2010-09-15 2016-11-02 瑞典爱立信有限公司 通信网络中经由中间单元发送受保护数据
EP2434715A1 (fr) * 2010-09-24 2012-03-28 Gemalto SA Procédé pour établir un canal de communication sécurisé
US9130742B2 (en) * 2012-03-30 2015-09-08 California Institute Of Technology Key agreement in wireless networks with active adversaries
WO2014128256A1 (fr) * 2013-02-22 2014-08-28 Adaptive Mobile Security Limited Procédé et système de sécurité réseau
US10069649B2 (en) * 2013-11-06 2018-09-04 Citrix Systems, Inc. Systems and methods for performing service tag switching in an application delivery controller
US9548963B2 (en) * 2014-04-01 2017-01-17 At&T Intellectual Property I, L.P. Method and system to enable a virtual private network client
US9930013B2 (en) * 2014-11-14 2018-03-27 Cisco Technology, Inc. Control of out-of-band multipath connections
US11599890B1 (en) * 2016-12-22 2023-03-07 Wells Fargo Bank, N.A. Holistic fraud cocoon
US10958425B2 (en) * 2018-05-17 2021-03-23 lOT AND M2M TECHNOLOGIES, LLC Hosted dynamic provisioning protocol with servers and a networked responder
US10938838B2 (en) * 2018-08-31 2021-03-02 Sophos Limited Computer augmented threat evaluation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018076183A1 (fr) * 2016-10-25 2018-05-03 华为技术有限公司 Procédé, appareil, et système de transmission de données
EP3522473A1 (fr) * 2016-10-25 2019-08-07 Huawei Technologies Co., Ltd. Procédé, appareil, et système de transmission de données
EP3361695A1 (fr) * 2017-02-10 2018-08-15 Juniper Networks, Inc. Déchargement granulaire d'une session sécurisée avec un proxy

Also Published As

Publication number Publication date
US20220272079A1 (en) 2022-08-25
WO2020260825A1 (fr) 2020-12-30
EP3991392A1 (fr) 2022-05-04

Similar Documents

Publication Publication Date Title
EP3476095B1 (fr) Procédé de communication udp via des chemins multiples entre deux terminaux
WO2019002754A1 (fr) Procédé de communication quic via des chemins multiples
CN105786952B (zh) 可自动配置的传输堆栈
FR2923969A1 (fr) Procede de gestion de trames dans un reseau global de communication, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
WO2015097359A1 (fr) Procede de diagnostic de fonctions service dans un reseau ip
JP5270692B2 (ja) セキュリティ実施ポイントへのセキュリティ・アソシエーション情報の選択的ロードのための方法、装置、およびコンピュータ・プログラム
FR3096533A1 (fr) Procédé de gestion d’une communication entre terminaux dans un réseau de communication, et dispositifs pour la mise en œuvre du procédé
EP3695571B1 (fr) Dispositif et procédé de transmission de données
WO2020260825A1 (fr) Procede de gestion d'une communication entre terminaux dans un reseau de communication, et dispositifs et systeme pour la mise en oeuvre du procede
EP3216189B1 (fr) Délégation d'intermédiation sur un échange de données chiffrées
WO2013167745A1 (fr) Systeme de transmission de donnees
WO2021245351A1 (fr) Procede de discrimination d'un message entre un terminal et un serveur de donnees
EP3811578A1 (fr) Procédé de découverte de fonctions intermédiaires et de sélection d'un chemin entre deux équipements de communication
US20240214431A1 (en) Network Traffic Capture
WO2023247459A1 (fr) Procédé de suspension d'un jeton de certification permettant d'authentifier l'établissement d'une connexion entre deux équipements de communication, dispositifs et programmes d'ordinateur correspondants
WO2023111432A1 (fr) Mécanismes de communication avec un service accessible via un réseau de télécommunication prenant en compte la mobilité des services, des utilisateurs et des équipements
WO2024156613A1 (fr) Procédé de révocation d'un jeton de certification permettant d'authentifier l'établissement d'une connexion entre deux équipements de communication, dispositifs et programmes d'ordinateur correspondants
EP4162663A1 (fr) Procédé de capture d'un paquet d'une session chiffrée
FR3034604A1 (fr) Procede de protection d'un reseau de communication, dispositif, equipement de controle et programme d'ordinateur associes
FR2806236A1 (fr) Procede et dispositif de transfert d'un paquet de donnees dans un reseau de communication
FR2934735A1 (fr) Procede d'etablissement d'un chemin de communication entre une premiere tete de tunnel et une seconde tete de tunnel, produit programme d'ordinateur, moyen de stockage et tetes de tunnel correspondantes.
FR2925251A1 (fr) Procedes de gestion de connexion dans un mode de dechargement d'une tete de tunnel, produit programme d'ordinateur, moyen de stockage et tetes de tunnel correspondants

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20201127

ST Notification of lapse

Effective date: 20220205