Movatterモバイル変換


[0]ホーム

URL:


FR2988952A1 - Method for connection between e.g. equipments, for communication over client/server using transmission control protocol, involves validating and transmitting message for change of port from one equipment to another equipment - Google Patents

Method for connection between e.g. equipments, for communication over client/server using transmission control protocol, involves validating and transmitting message for change of port from one equipment to another equipment
Download PDF

Info

Publication number
FR2988952A1
FR2988952A1FR1252884AFR1252884AFR2988952A1FR 2988952 A1FR2988952 A1FR 2988952A1FR 1252884 AFR1252884 AFR 1252884AFR 1252884 AFR1252884 AFR 1252884AFR 2988952 A1FR2988952 A1FR 2988952A1
Authority
FR
France
Prior art keywords
equipment
port
connection
message
server
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
FR1252884A
Other languages
French (fr)
Inventor
Regis Corbel
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
France Telecom 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 France Telecom SAfiledCriticalFrance Telecom SA
Priority to FR1252884ApriorityCriticalpatent/FR2988952A1/en
Publication of FR2988952A1publicationCriticalpatent/FR2988952A1/en
Withdrawnlegal-statusCriticalCurrent

Links

Classifications

Landscapes

Abstract

The method involves transmitting a message for change of transmission control protocol (TCP) port from one equipment to another equipment (S3), where the message includes a value defining another TCP port. The message is tested at the latter equipment, and the message is validated. The validated message is transmitted (S4) from the latter equipment to the former equipment, and the two equipments are connected (S6) on the latter TCP port, where the former equipment includes a server module (SER), and the latter equipment includes a client module (CLI). Independent claims are also included for the following: (1) a computer program for connection between two equipments for communication over a client/server using TCP (2) a system for connection between two equipments for communication over a client/server using TCP.

Description

Translated fromFrench

Changement de port TCP d'une connexion client/serveur La présente invention concerne la communication d'un équipement avec un serveur via un réseau, et plus particulièrement sa connexion au serveur par un port de connexion selon un protocole de contrôle de transmission, tel que par exemple le protocole TCP (pour « Transmission Control Protocol »). Dans le protocole TCP (situé au niveau de la couche de transport, entre la couche de réseau et une couche application), des applications transmettent des flux de données sur une connexion réseau, et le protocole TCP permet de découper un flux d'octets en segments. Le protocole TCP utilise la notion de numéro de port pour identifier les applications. À chaque extrémité de la connexion TCP, entre l'équipement client d'une part et le serveur d'autre part, est associé un numéro de port, généralement sur 16 bits (de 1 à 65535) assigné à l'application émettrice et/ou réceptrice. On connaît par exemple des ports assignés dans la plage 1-1024, pour des applications classiques fonctionnant en tant que serveur et en attente de connexions (par exemple FTP (pour File Transfer Protocol), SMTP (pour Simple Mail Transfer Protocol), ou encore HTTP (HyperText Transfer Protocol)). Bien entendu, le protocole TCP est appliqué dans de nombreuses autres applications. A titre purement illustratif et aucunement limitatif, le protocole Remote Framebuffer 3.8 (recommandation RFC6143, mars 2011), plus connu sous le nom de VNC (pour Virtual Network Computing) est largement répandu dans les applications de prise de contrôle à distance et de déport d'écran. Il apparait dans toutes sortes de produits d'administration et s'impose par exemple au coeur du protocole MirrorLink (anciennement Terminal Mode) destiné à faciliter la connexion de terminaux mobiles dans un véhicule automobile, pour en exploiter les applications et services de manière confortable sur un écran intégré de la planche de bord du véhicule. Le protocole VNC se compose de deux éléments : le serveur VNC, correspondant à un module logiciel installé et exécuté sur l'équipement dont on veut répliquer l'écran et auquel on souhaite envoyer des commandes : l'application serveur installée sur cet équipement se met en écoute sur le port 5900/tcp par défaut pour recevoir les requêtes des clients ; il convient de noter qu'un système peut héberger simultanément plusieurs serveurs VNC, auquel cas le serveur N écoute les connexions sur le port 5900+N/tcp ; le client VNC, correspondant à un module logiciel installé et exécuté sur l'équipement comportant l'écran d'accueil, pilote cet équipement pour se connecter au port 5900/tcp afin d'entrer en contact avec le serveur VNC et, de là, récupérer les données d'écran distant et de commandes tels les clics de souris, les appuis sur les touches d'un clavier, etc. Le serveur est toujours passif dans cette application notamment, en toutes circonstances. Seul le client peut prendre l'initiative de contacter un serveur VNC pour lui remonter des événements clavier/souris et/ou pour lire les éventuelles modifications intervenues sur l'écran de la machine distante. En d'autres termes, le client doit solliciter régulièrement le serveur pour être certain de posséder une copie à jour de l'écran.The present invention relates to the communication of a device with a server via a network, and more particularly its connection to the server via a connection port according to a transmission control protocol, such as for example, the TCP protocol (for Transmission Control Protocol). In the TCP protocol (located at the transport layer level, between the network layer and an application layer), applications transmit data flows over a network connection, and the TCP protocol is used to split a stream of bytes into segments. TCP uses the notion of port number to identify applications. At each end of the TCP connection, between the client equipment on the one hand and the server on the other hand, is associated a port number, generally on 16 bits (from 1 to 65535) assigned to the sending application and / or receiving. Ports assigned in the range 1-1024, for example, are known for conventional applications operating as a server and waiting for connections (for example FTP (for File Transfer Protocol), SMTP (for Simple Mail Transfer Protocol), or even HTTP (HyperText Transfer Protocol). Of course, TCP is applied in many other applications. By way of illustration and in no way limiting, the Remote Framebuffer 3.8 protocol (Recommendation RFC6143, March 2011), better known as VNC (for Virtual Network Computing), is widely used in remote control and remote control applications. 'screen. It appears in all kinds of administrative products and is essential for example in the heart of the MirrorLink protocol (formerly Terminal Mode) intended to facilitate the connection of mobile terminals in a motor vehicle, to exploit the applications and services comfortably on an integrated screen of the dashboard of the vehicle. The VNC protocol consists of two elements: the VNC server, corresponding to a software module installed and running on the equipment whose screen we want to replicate and to which we want to send commands: the server application installed on this equipment listening on 5900 / tcp port by default to receive client requests; note that a system can host multiple VNC servers simultaneously, in which case the N server listens for connections on the 5900 + N / tcp port; the VNC client, corresponding to a software module installed and running on the equipment with the welcome screen, controls this equipment to connect to port 5900 / tcp in order to contact the VNC server and from there retrieve remote screen data and commands such as mouse clicks, keystrokes, etc. The server is always passive in this application in particular, in all circumstances. Only the client can take the initiative of contacting a VNC server to trace back to it keyboard / mouse events and / or to read any modifications made on the screen of the remote machine. In other words, the client must regularly request the server to be sure to have an updated copy of the screen.

L'écoute du serveur VNC est limitée à un seul port par défaut (5900/tcp), sauf dans certaines situations, par exemple dans le cas d'une même machine hébergeant plusieurs serveurs VNC (le serveur N écoutant 5900+N/tcp). D'autres situations toutefois peuvent justifier un changement de numéro de port : par sécurité, on peut décider que le serveur VNC puisse répondre sur un port différent à intervalles réguliers, par exemple, afin d'éviter certaines attaques par déni de service, ou tout simplement pour rester aussi discret que possible. Or, le client ne peut pas deviner a priori sur quel port tel ou tel serveur VNC est configuré. Il en résulte une administration fastidieuse en termes de gestion d'un parc de serveurs VNC, consistant à dresser la liste des serveurs VNC et de leurs ports d'écoute respectifs, et à en informer le ou les clients. Cette solution, si elle peut être envisagée dans un cadre industriel, ne peut être mise en oeuvre dans un cadre domestique, où un minimum de connaissances techniques est requis par des utilisateurs.The listening of the VNC server is limited to a single default port (5900 / tcp), except in certain situations, for example in the case of the same machine hosting several VNC servers (the server N listening 5900 + N / tcp) . Other situations, however, may justify a port number change: for security reasons, it may be decided that the VNC server can respond on a different port at regular intervals, for example, to avoid certain denial-of-service attacks, or any just to stay as discreet as possible. However, the client can not guess a priori on which port this or that VNC server is configured. This results in a tedious administration in terms of managing a VNC server farm, consisting of listing the VNC servers and their respective listening ports, and informing the customer (s). This solution, if it can be envisaged in an industrial setting, can not be implemented in a domestic setting, where a minimum of technical knowledge is required by users.

La présente invention vient améliorer la situation. Elle propose à cet effet un procédé de connexion entre au moins un premier et un deuxième équipement, pour une communication selon un mode client et serveur utilisant un protocole de contrôle de transmission, le procédé comportant une première connexion entre les équipements sur un premier port de connexion prédéterminé Le procédé au sens de l'invention comporte les étapes de : transmission du premier équipement au deuxième équipement d'un message de changement de port de connexion, comportant une valeur définissant un deuxième port de connexion, test du message auprès du deuxième équipement, et le message étant validé auprès du deuxième équipement, transmission d'un message de validation du deuxième équipement au premier équipement, deuxième connexion des premier et deuxième équipements sur le deuxième port de connexion. Ainsi, l'invention permet au client et au serveur de se repérer et de se connecter dans un réseau sans requérir d'intervention humaine, et ce indépendamment du numéro de port en écoute sur le serveur. Avantageusement, communiquer ensuite sur un port dédié permet d'améliorer la sécurité de la communication et de la rendre plus robuste aux intrusions. Par exemple, le protocole de contrôle de transmission précité peut être le protocole TCP et ainsi, le premier port de connexion précité peut être par exemple le port 5900/tcp.The present invention improves the situation. It proposes for this purpose a method of connection between at least a first and a second equipment, for communication in a client and server mode using a transmission control protocol, the method comprising a first connection between the equipment on a first port of predetermined connection The method according to the invention comprises the steps of: transmitting the first equipment to the second equipment of a connection port change message, comprising a value defining a second connection port, testing the message with the second equipment , and the message being validated with the second device, transmitting a validation message from the second device to the first device, second connection of the first and second devices to the second connection port. Thus, the invention allows the client and the server to find and connect in a network without requiring human intervention, and regardless of the port number listening on the server. Advantageously, then communicating on a dedicated port improves the security of the communication and makes it more robust to intrusions. For example, the above transmission control protocol may be the TCP protocol and thus the first connection port mentioned above may be for example the 5900 / tcp port.

Dans une réalisation, le premier équipement qui prend l'initiative de transmettre la requête de changement de port correspond au serveur et comporte à cet effet un module serveur, tandis que le deuxième équipement comporte un module client, pour une mise en oeuvre de la communication précité selon un mode client/serveur. Néanmoins, comme on le verra en détails plus loin, les rôles du client et du serveur pour prendre l'initiative d'émettre la requête de changement de port peuvent être inversés. Dans une réalisation, l'équipement serveur parmi les premier et deuxième équipements garde une connexion ouverte sur le premier port, en tant que port par défaut, pour une communication éventuelle avec au moins un autre équipement client.In one embodiment, the first device that takes the initiative of transmitting the port change request corresponds to the server and comprises for this purpose a server module, while the second equipment includes a client module, for an implementation of the communication. aforementioned according to a client / server mode. Nevertheless, as will be discussed in detail below, the roles of the client and the server to take the initiative to issue the port change request can be reversed. In one embodiment, the server equipment among the first and second equipment keeps an open connection on the first port, as the default port, for possible communication with at least one other client equipment.

Cette réalisation permet un fonctionnement autonome, sans faire appel à une infrastructure logicielle de publication et de configuration de service comme dans de nombreux protocoles. Dans une réalisation, l'étape de deuxième connexion sur le deuxième port comporte les opérations : sur réception du message de validation, le premier équipement ferme la première connexion avec le premier équipement sur le premier port, et le deuxième équipement envoie un message de demande de connexion sur le deuxième port. Cette réalisation assure une sécurité supplémentaire en cas de connexions supplémentaires intruses.This embodiment allows autonomous operation, without resorting to a publishing and service configuration software infrastructure as in many protocols. In one embodiment, the second connection step on the second port comprises the operations: upon receipt of the validation message, the first device closes the first connection with the first device on the first port, and the second device sends a request message. connection on the second port. This embodiment provides additional security in case of additional intruder connections.

Dans une réalisation, les étapes de première et deuxième connexions respectivement sur les premier ou deuxième ports comportent les opérations : envoi par le deuxième équipement au premier équipement d'un message de demande de connexion sur le premier ou le deuxième port, vérification auprès du premier équipement de données du message de demande de connexion, pour autoriser ou refuser une connexion avec le deuxième équipement, et la vérification étant positive, établissement de la connexion entre les premier et deuxième équipements. Par exemple, l'opération de vérification peut comporter une négociation/authentification pour s'assurer que le deuxième équipement (typiquement l'équipement client) est bien un équipement autorisé.In one embodiment, the steps of first and second connections respectively on the first or second ports comprise the operations: sending by the second device to the first device a connection request message on the first or the second port, checking with the first data equipment of the connection request message, to allow or refuse a connection with the second equipment, and the verification being positive, establishment of the connection between the first and second equipment. For example, the verification operation may include negotiation / authentication to ensure that the second equipment (typically the client equipment) is authorized equipment.

Dans une réalisation, la communication entre les premier et deuxième équipements utilise un protocole de contrôle à distance d'au moins une fonctionnalité de l'un des premier et deuxième équipements par l'autre des premier et deuxième équipements. En particulier, le premier équipement comportant un module serveur et le deuxième équipement comportant un module client, l' autre des premier et deuxième équipements est le deuxième équipement (équipement client). Le protocole de contrôle à distance peut être par exemple le protocole VNC. Une telle application au protocole VNC permet avantageusement de limiter toute prise de contrôle, par exemple de commande et/ou d'affichage sur écran, par un équipement pirate.In one embodiment, the communication between the first and second devices uses a remote control protocol of at least one functionality of one of the first and second devices by the other of the first and second devices. In particular, the first equipment comprising a server module and the second equipment comprising a client module, the other of the first and second equipment is the second equipment (customer equipment). The remote control protocol may be for example the VNC protocol. Such an application to the VNC protocol advantageously makes it possible to limit any takeover, for example control and / or display on screen by a pirate equipment.

Dans une réalisation, la valeur définissant le deuxième port de connexion précité, comporte une première valeur identifiant un type de message correspondant à un message de demande de changement de port (une simple valeur codée sur un octet par exemple) et une deuxième valeur correspondant à un numéro du deuxième port. Par exemple, la deuxième valeur peut être simplement un entier codé sur 16 bits, compris entre 0 et 65535, préférentiellement entre 1025 et 65535. La présente invention vise aussi un programme informatique comportant des instructions (distribuées entre les premier et deuxième équipements par exemple) pour la mise en oeuvre du procédé ci-avant, lorsque ce programme est exécuté par un processeur. A ce titre, la figure 3 commentée ci-après correspond à un organigramme de l'algorithme général d'un tel programme La présente invention vise aussi un système comportant au moins un premier et un deuxième équipement, communiquant selon un mode client et serveur et utilisant un protocole de contrôle de transmission, les premier et deuxième équipements comportant en particulier des moyens pour, conjointement, suite à une première connexion entre les équipements sur un premier port de connexion prédéterminé - - transmettre, du premier équipement au deuxième équipement, un message de changement de port, comportant une valeur définissant un deuxième port de connexion, - tester le message auprès du deuxième équipement, et le message étant validé auprès du deuxième équipement, transmettre un message de validation du deuxième équipement au premier équipement, - établir une deuxième connexion des premier et deuxième équipements sur le deuxième port précité. La présente invention vise aussi un équipement requérant un changement de port dans un système selon l'invention, et comportant à cet effet des moyens pour : - transmettre, du premier équipement au deuxième équipement, un message de changement de port, comportant une valeur définissant un deuxième port de connexion, et - sur réception d'un message de validation du deuxième équipement, établir une deuxième connexion sur le deuxième port. La présente invention vise aussi un équipement traitant une requête de changement de port dans un système selon l'invention, et comportant à cet effet des moyens pour : - recevoir du premier équipement un message de changement de port, comportant une valeur définissant un deuxième port de connexion, - tester le message et, le message étant validé, transmettre un message de validation au premier équipement, - traiter une demande d'établissement d'une deuxième connexion sur le deuxième port, reçue du premier équipement.In one embodiment, the value defining the aforementioned second connection port comprises a first value identifying a type of message corresponding to a port change request message (a simple value coded on one byte for example) and a second value corresponding to a number of the second port. For example, the second value may simply be a 16-bit integer between 0 and 65535, preferably between 1025 and 65535. The present invention also provides a computer program comprising instructions (distributed between the first and second equipment, for example). for the implementation of the method above, when this program is executed by a processor. As such, Figure 3 commented below corresponds to a flowchart of the general algorithm of such a program The present invention also provides a system comprising at least a first and a second equipment, communicating in a client and server mode and using a transmission control protocol, the first and second equipment including in particular means for, jointly, following a first connection between the equipment on a first predetermined connection port - - transmit, from the first equipment to the second equipment, a message with a value defining a second connection port, - testing the message with the second device, and the message being validated with the second device, transmitting a validation message from the second device to the first device, - establishing a second connection of the first and second equipment on the second port above ed. The present invention also relates to equipment requiring a change of port in a system according to the invention, and comprising for this purpose means for: - transmitting, from the first equipment to the second equipment, a port change message, including a value defining a second connection port, and - upon receipt of a validation message from the second equipment, establish a second connection on the second port. The present invention also relates to an equipment processing a port change request in a system according to the invention, and comprising for this purpose means for: - receiving from the first equipment a port change message, comprising a value defining a second port connection, - test the message and, the message being validated, transmit a validation message to the first equipment, - process a request to establish a second connection to the second port, received from the first equipment.

Bien entendu, chacun de ces équipements comporte des moyens logiciels tels que des instructions du programme informatique précité, ces instructions étant exécutées par des moyens physiques tels qu'au moins un processeur (PROC ; PROC', en référence à la figure 1) et une mémoire de travail (MEM ; MEM').Of course, each of these devices comprises software means such as instructions of the aforementioned computer program, these instructions being executed by physical means such as at least one processor (PROC; PROC ', with reference to FIG. working memory (MEM; MEM ').

D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés sur lesquels : - la figure 1 illustre un système au sens de l'invention pour mettre en oeuvre une application dans le cadre du protocole VNC, - la figure 2 illustre les messages échangés entre les deux équipements du système de la figure 1, pour un changement de port de connexion, et - la figure 3 illustre les principales étapes mises en oeuvre pour ce changement de port.Other features and advantages of the invention will emerge on examining the detailed description below, and the appended drawings in which: FIG. 1 illustrates a system within the meaning of the invention for implementing an application in the frame of the VNC protocol, - Figure 2 illustrates the messages exchanged between the two equipment of the system of Figure 1, for a change of connection port, and - Figure 3 illustrates the main steps implemented for this change of port .

On présente ci-après à titre d'exemple illustratif une application de l'invention dans le cadre de la norme VNC (« Virtual Network Computing »). Comme indiqué ci-avant, cette norme spécifie un protocole permettant de déporter les fonctionnalités COM d'un ensemble d'écran ECR1 et de moyens de commande de type clavier/souris Cl d'une machine Ml, comme illustré sur la figure 1, sur une autre machine M2 (par exemple un écran tactile ECR2) de manière à ce que la machine M2 prenne le contrôle à distance de la machine M1. Cette norme VNC définit un serveur SER (application installée dans la machine à contrôler Ml) et un client CLI (application installée dans la machine M2 qui prend le contrôle de la machine M1). En fonctionnement, le serveur SER se met en écoute du port 5900/tcp pour recevoir les requêtes de contrôle du client CLI adressées sur ce port spécifique. Régulièrement, le client CLI interroge le serveur SER à travers le port 5900/tcp (portant la référence Pl sur la figure 1) de la machine M1 afin de rafraîchir l'écran et le clavier. L'invention propose de changer de port d'écoute, par négociation entre le client CLI et le serveur SER. A cet effet, le serveur SER envoie au client CLI un nouveau message indiquant un nouveau numéro de port d'écoute. Le changement de port peut être réalisé en phase initiale de configuration et/ou ultérieurement pendant la période de contrôle à distance, éventuellement à intervalles réguliers.The following is an illustrative example of an application of the invention in the context of the VNC ("Virtual Network Computing") standard. As indicated above, this standard specifies a protocol for offsetting the COM functionalities of a screen set ECR1 and keyboard / mouse control means C1 of a machine M1, as illustrated in FIG. another machine M2 (for example an ECR2 touch screen) so that the machine M2 takes remote control of the machine M1. This VNC standard defines a SER server (application installed in the machine to control Ml) and a client CLI (application installed in the M2 machine that takes control of the machine M1). In operation, the SER server listens for port 5900 / tcp to receive CLI client control requests addressed to that specific port. Regularly, the client CLI interrogates the SER server through the port 5900 / tcp (bearing reference Pl in Figure 1) of the machine M1 to refresh the screen and the keyboard. The invention proposes to change the listening port, by negotiation between the CLI client and the SER server. For this purpose, the SER server sends the client CLI a new message indicating a new listening port number. The port change can be made in the initial configuration phase and / or later during the remote control period, possibly at regular intervals.

Cette réalisation permet notamment de limiter les risques de piratage par prise de contrôle. Il est ainsi proposé d'augmenter le protocole VNC avec la capacité de négocier un nouveau numéro de port TCP sur lequel interroger le serveur SER. On définit à cet effet un cinquième message, identifié par un entier entre 7 et 255, et appelé ci-après ServerPortChange (la valeur 7 est la première immédiatement disponible dans la liste des messages que peut envoyer un client vers le serveur VNC). Il est composé comme suit : Nombre d'octets Type Description [Valeur] 1 U8 [7] Type du message, par exemple ici ServerPortChange = 7 2 U16 Numéro du port TCP sur lequel le serveur VNC écoute désormais les demandes de connexion. Il s'agit d'un entier codé sur 16 bits et pouvant donc aller de 0 jusqu'à 65535, ou préférentiellement de 1025 à 65535 pour réserver les premières valeurs 0 à 1024 à des applications habituelles comme indiqué précédemment.This achievement makes it possible in particular to limit the risks of piracy by taking control. It is thus proposed to increase the VNC protocol with the ability to negotiate a new TCP port number on which to query the SER server. A fifth message is defined for this purpose, identified by an integer between 7 and 255, and hereinafter called ServerPortChange (the value 7 is the first immediately available in the list of messages that a client can send to the VNC server). It is composed as follows: Number of bytes Type Description [Value] 1 U8 [7] Type of message, for example here ServerPortChange = 7 2 U16 Number of the TCP port on which the VNC server is now listening for connection requests. This is an integer coded on 16 bits and can thus go from 0 to 65535, or preferably from 1025 to 65535 to reserve the first values 0 to 1024 to usual applications as indicated above.

Ce message peut être envoyé à tout moment par le serveur au client, après ou pendant la phase d'initialisation décrite ci-après en référence aux figures 2 et 3. Lors de cette phase d'initialisation, à l'étape S 1 , le client CLI contacte d'abord le serveur SER sur le port habituel 5900/tcp. Il s'ensuit, une phase classique d'authentification et de négociation à l'étape S2 qui permet au serveur SER de s'assurer que le client CLI est bien un client autorisé. Une fois cette phase S2 réalisée, le serveur peut souhaiter changer de numéro de port, pour la communication avec le client CLI. A cet effet, il envoie au client à l'étape S3 le message ServerPortChange avec un nouveau numéro de port, par exemple 6427. La valeur du message ServerPortChange peut être par exemple le chiffre 7, suivi de la valeur codée sur 16 bits de 6427, les deux derniers octets du message codant le nouveau numéro de port sur 16 bits. Si le client CLI ne reconnaît pas ce nouveau message (par exemple en raison de versions de protocole différentes), il ne répond rien ou retourne un message d'erreur, ce que le serveur interprète comme un refus (flèche en traits pointillés sur la figure 3). Dans ce cas, le port de connexion reste le port 5900/tcp et la session se poursuit sur ce port. En revanche, si le client CLI reconnaît le message ServerPortChange, il répond à l'étape S4 par un accusé de réception validant la demande du serveur. Le serveur peut alors mettre fin à la connexion initiale sur l'ancien port 5900/tcp, et attendre que le client le recontacte sur le nouveau port 6427/tcp (dans l'exemple ici). La session se poursuit alors normalement sur ce nouveau port 6427/tcp. Le serveur peut, selon la politique de fonctionnement ou de sécurité mise en oeuvre, fermer ensuite le port 5900/tcp à l'étape S5 pour se mettre notamment à l'abri de connexions supplémentaires ou, au contraire, attendre de nouvelles connexions sur le port 5900/tcp pour les router ensuite sur un autre numéro de port. Ainsi, sur réception d'un message, le client CLI peut se comporter de deux manières différentes : s'il ne connaît pas le message ServerPortChange (échec au test T34 de la figure 3), il l'ignore : le serveur, ne recevant pas de réponse, comprend que le client ne sait pas traiter le message et continue la communication sur le port 5900/tcp ; s'il connaît le message ServerPortChange (réussite au test T34 de la figure 3), il répond par une validation (étape S4) : le client prend note du changement de port, coupe le lien actuel avec le serveur sur le port 5900/tcp, et recontacte le serveur sur le nouveau numéro de port 6427/tcp. Dans un exemple de réalisation, un nouveau cycle d'initialisation peut avoir lieu aux étapes S6 et S7 (message de connexion sur le nouveau port 6427/tcp du client au serveur et vérification auprès du serveur de l'autorisation du client). Les échanges se poursuivent ensuite normalement.35 Il convient de noter qu'il est possible d'inverser les échanges et d'autoriser le client à émettre une telle demande de changement de port auprès du serveur. Les rôles sont alors simplement inversés, mais le résultat (changement du numéro de port TCP sur le serveur) reste le même.This message may be sent at any time by the server to the client, after or during the initialization phase described hereinafter with reference to FIGS. 2 and 3. During this initialization phase, in step S 1, the CLI client first contacts the SER server on the usual 5900 / tcp port. As a result, a traditional authentication and negotiation phase at step S2 allows the SER server to ensure that the CLI client is an authorized client. Once this phase S2 has been completed, the server may wish to change the port number for communication with the client CLI. For this purpose, it sends the client in step S3 the ServerPortChange message with a new port number, for example 6427. The value of the ServerPortChange message can be for example the number 7, followed by the 16-bit value of 6427. , the last two bytes of the message encoding the new 16-bit port number. If the CLI client does not recognize this new message (for example because of different protocol versions), it does not respond or returns an error message, which the server interprets as a refusal (dotted arrow in the figure 3). In this case, the connection port remains the 5900 / tcp port and the session continues on that port. On the other hand, if the CLI client recognizes the ServerPortChange message, it responds to step S4 with an acknowledgment confirming the server request. The server can then terminate the initial connection on the old 5900 / tcp port, and wait for the client to reconnect it to the new 6427 / tcp port (in the example here). The session then continues normally on this new 6427 / tcp port. The server may, depending on the operating or security policy implemented, then close the port 5900 / tcp in step S5 to protect itself in particular from additional connections or, conversely, wait for new connections on the port 5900 / tcp to then route them to another port number. Thus, upon receipt of a message, the client CLI can behave in two different ways: if it does not know the message ServerPortChange (failure to test T34 in Figure 3), it ignores it: the server, not receiving no answer, understands that the client does not know how to process the message and continues the communication on port 5900 / tcp; if it knows the ServerPortChange message (success on the T34 test of FIG. 3), it responds with a validation (step S4): the client takes note of the change of port, cuts the current link with the server on the port 5900 / tcp , and recontact the server on the new port number 6427 / tcp. In an exemplary embodiment, a new initialization cycle can take place in steps S6 and S7 (connection message on the new port 6427 / tcp from the client to the server and verification with the server of the authorization of the client). The exchanges then continue normally.35 It should be noted that it is possible to reverse the exchanges and to authorize the client to issue such a port change request to the server. The roles are then simply reversed, but the result (changing the TCP port number on the server) remains the same.

Dans la réalisation ci-avant, il convient de noter qu'il est recommandé de n'échanger un message de changement de port ServerPortChange qu'après la phase d'initialisation, et donc après authentification et ouverture d'un lien permanent TCP. Une telle réalisation permet de mettre le serveur à l'abri de changements de port hostiles (par exemple destinés à le rendre inaccessible).In the above embodiment, it should be noted that it is recommended to exchange a ServerPortChange port change message only after the initialization phase, and therefore after authentication and opening a TCP permanent link. Such an implementation makes it possible to protect the server against hostile port changes (for example, to make it inaccessible).

Le serveur doit continuer à écouter le port par défaut 5900/tcp, en plus du nouveau port qu'il a choisi, ce qui permet à d'éventuels nouveaux clients de se connecter normalement avant d'être redirigés vers un nouveau numéro de port. Cette technique permet un fonctionnement autonome, sans faire appel à une infrastructure logicielle de publication et de configuration de service comme dans les protocoles UPnP ou DLNA.The server must continue to listen to the default port 5900 / tcp, in addition to the new port it has chosen, which allows potential new customers to connect normally before being redirected to a new port number. This technique enables standalone operation without the need for a software publishing and service configuration infrastructure as in the UPnP or DLNA protocols.

La possibilité de changer de numéro de port d'écoute sur le serveur ouvre la voie à des techniques de protection de communication. Même si le port 5900/tcp reste ouvert initialement dans la présente réalisation, il peut être mis en oeuvre une réalisation dans laquelle le client et le serveur négocient un nouveau numéro de port à la première connexion, puis n'en changent plus ultérieurement. Le serveur se met ainsi à l'abri de tentatives de connexion hostiles et libère le port 5900/tcp. L'implémentation du nouveau message de changement de port « ServerPortChange » notamment dans la norme RFB 3.8 est très simple à réaliser, puisque la modification n'affecte qu'un seul paramètre. Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemple ; elle s'étend à d'autres variantes.The ability to change the listening port number on the server opens the way for communication protection techniques. Even if the port 5900 / tcp remains open initially in the present embodiment, it can be implemented an embodiment in which the client and the server negotiate a new port number at the first connection, and then do not change later. The server thus protects itself from hostile connection attempts and frees the 5900 / tcp port. The implementation of the new "ServerPortChange" port change message, especially in the RFB 3.8 standard, is very easy to implement, since the modification only affects one parameter. Of course, the present invention is not limited to the embodiments described above by way of example; it extends to other variants.

Ainsi, on comprendra que l'invention s'applique à tout équipement communicant, comportant une interface graphique et connectable à un réseau selon le protocole IP (pour Internet Protocol), par exemple un terminal mobile par exemple de type Smartphone, une tablette, un ordinateur PC, un écran de télévision, ou autre. Un tel équipement peut mettre en oeuvre des applications selon le protocole particulier VNC (notamment RFB 3.8). Ainsi, le protocole VNC peut être enrichi par la mise en oeuvre de l'invention par exemple sous la forme d'extension de ce protocole.Thus, it will be understood that the invention applies to any communicating equipment, comprising a graphical interface and connectable to a network according to the IP (for Internet Protocol), for example a mobile terminal for example of the Smartphone type, a tablet, a PC computer, TV screen, or whatever. Such equipment can implement applications according to the particular VNC protocol (especially RFB 3.8). Thus, the VNC protocol can be enriched by the implementation of the invention for example in the form of extension of this protocol.

Néanmoins, l'invention ne se limite pas à une application dans ce protocole VNC. D'autres applications sont possibles. Par exemple, dans le cadre de la communication de courriers électroniques, le protocole de transfert de courrier, dit « simple » (pour « Simple Mail Transfer Protocol » ou « SMTP »), est un protocole de communication utilisé pour transférer le courrier électronique (courriel) vers des serveurs de messagerie électronique, et dans lequel on commence par spécifier l'expéditeur du message puis, le ou les destinataires d'un message, puis le corps du message est transféré. On peut commencer par tester un serveur SMTP en utilisant une commande telnet par exemple, sur le port 25 du serveur distant, puis changer le numéro de port TCP pour la communication du courriel et assurer ainsi une sécurité supplémentaire de cette communication, avec une mise en oeuvre de changement de port au sens de l'invention.Nevertheless, the invention is not limited to an application in this VNC protocol. Other applications are possible. For example, in the context of e-mail communication, the simple mail transfer protocol ("Simple Mail Transfer Protocol" or "SMTP") is a communication protocol used to transfer e-mail ( email) to e-mail servers, where the sender of the message is first specified, then the recipient (s) of a message, and the body of the message is transferred. One can start by testing an SMTP server using a telnet command for example, on the port 25 of the remote server, then change the TCP port number for the communication of the email and thus ensure additional security of this communication, with a setting port change work within the meaning of the invention.

Claims (15)

Translated fromFrench
REVENDICATIONS1. Procédé de connexion entre au moins un premier et un deuxième équipement, pour une communication selon un mode client et serveur utilisant un protocole de contrôle de transmission, le procédé comportant une première connexion (S1, S2) entre les équipements sur un premier port de connexion prédéterminé, caractérisé en ce que le procédé comporte les étapes : transmission du premier équipement au deuxième équipement d'un message de changement de port de connexion (S3), comportant une valeur définissant un deuxième port de connexion, test du message auprès du deuxième équipement (T34), et le message étant validé auprès du deuxième équipement, transmission d'un message de validation du deuxième équipement au premier équipement (S4), deuxième connexion des premier et deuxième équipements sur le deuxième port de connexion (S6, S7).REVENDICATIONS1. A method of connecting between at least a first and a second equipment, for communication in a client and server mode using a transmission control protocol, the method comprising a first connection (S1, S2) between the equipment on a first connection port predetermined, characterized in that the method comprises the steps of: transmitting the first equipment to the second equipment of a connection port change message (S3), having a value defining a second connection port, testing the message with the second equipment (T34), and the message being validated with the second device, transmitting a validation message from the second device to the first device (S4), second connection of the first and second devices to the second connection port (S6, S7).2. Procédé selon la revendication 1, caractérisé en ce que le premier équipement comporte un module serveur (SER) et le deuxième équipement comporte un module client (CLI), pour une mise en oeuvre de ladite communication selon un mode client/serveur.2. Method according to claim 1, characterized in that the first device comprises a server module (SER) and the second device comprises a client module (CLI), for an implementation of said communication in a client / server mode.3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que l'équipement serveur parmi les premier et deuxième équipements garde une connexion ouverte sur le premier port, en tant que port par défaut, pour une communication éventuelle avec au moins un autre équipement client.3. Method according to one of claims 1 and 2, characterized in that the server equipment among the first and second equipment keeps an open connection to the first port, as the default port for a possible communication with at least another client equipment.4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'étape de deuxième connexion sur le deuxième port comporte les opérations : sur réception du message de validation, le premier équipement ferme la première connexion avec le premier équipement sur le premier port (S5), et le deuxième équipement envoie un message de demande de connexion sur le deuxième port (S6).4. Method according to one of claims 1 to 3, characterized in that the second connection step on the second port comprises the operations: upon receipt of the validation message, the first device closes the first connection with the first equipment on the first port (S5), and the second equipment sends a connection request message to the second port (S6).5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que les étapes de première et deuxième connexions respectivement sur les premier ou deuxième ports comportent les opérations : envoi par le deuxième équipement au premier équipement d'un message de demande de connexion sur le premier ou le deuxième port (51 ; S6), vérification auprès du premier équipement de données du message de demande de connexion, pour autoriser ou refuser une connexion avec le deuxième équipement, etla vérification étant positive, établissement de la connexion entre les premier et deuxième équipements.5. Method according to one of claims 1 to 4, characterized in that the steps of first and second connections respectively on the first or second ports comprise the operations: sending by the second equipment to the first equipment a request message of connecting to the first or second port (51; S6), checking with the first data equipment of the connection request message, to allow or deny a connection with the second equipment, andthe checking being positive, establishing the connection between the first and second equipment.6. Procédé selon l'une des revendications 1 à 5, caractérisé en ce que la communication entre les premier et deuxième équipements utilise un protocole de contrôle à distance d' au moins une fonctionnalité de l'un des premier et deuxième équipements par l'autre des premier et deuxième équipements.6. Method according to one of claims 1 to 5, characterized in that the communication between the first and second equipment uses a remote control protocol of at least one functionality of one of the first and second equipment by the other first and second equipment.7. Procédé selon la revendication 6, caractérisé en ce que le premier équipement comporte un module serveur (SER) et le deuxième équipement comporte un module client (CLI), et en ce que ledit autre des premier et deuxième équipements est le deuxième équipement (CLI).7. Method according to claim 6, characterized in that the first equipment comprises a server module (SER) and the second equipment comprises a client module (CLI), and in that said other of the first and second equipment is the second equipment ( CLI).8. Procédé selon l'une des revendications 6 et 7, caractérisé en ce que le protocole de contrôle à distance est le protocole VNC.8. Method according to one of claims 6 and 7, characterized in that the remote control protocol is the VNC protocol.9. Procédé selon l'une des revendications précédentes, caractérisé en ce que le protocole de contrôle de transmission est le protocole TCP.9. Method according to one of the preceding claims, characterized in that the transmission control protocol is the TCP protocol.10. Procédé selon l'une des revendications précédentes, caractérisé en ce que la valeur définissant le deuxième port de connexion, comporte une première valeur identifiant un type de message correspondant à un message de demande de changement de port (ServerPortChange) et une deuxième valeur correspondant à un numéro du deuxième port.10. Method according to one of the preceding claims, characterized in that the value defining the second connection port comprises a first value identifying a type of message corresponding to a port change request message (ServerPortChange) and a second value. corresponding to a number of the second port.11. Procédé selon la revendication 10, caractérisé en ce que la deuxième valeur est un entier codé sur 16 bits, compris entre 0 et 65535, et préférentiellement entre 1025 et 65535.11. The method of claim 10, characterized in that the second value is a coded integer on 16 bits, between 0 and 65535, and preferably between 1025 and 65535.12. Programme informatique comportant des instructions pour la mise en oeuvre du procédé selon l'une des revendications précédentes, lorsque ce programme est exécuté par un processeur.12. Computer program comprising instructions for implementing the method according to one of the preceding claims, when the program is executed by a processor.13. Système comportant au moins un premier et un deuxième équipement, communiquant selon un mode client et serveur et utilisant un protocole de contrôle de transmission, caractérisé en ce que les premier et deuxième équipements comportent des moyens pour, suite à une première connexion entre les équipements sur un premier port de connexion prédéterminé - transmettre, du premier équipement au deuxième équipement, un message de changement de port (S3), comportant une valeur définissant un deuxième port de connexion,tester le message auprès du deuxième équipement (T34), et le message étant validé auprès du deuxième équipement, transmettre un message de validation du deuxième équipement au premier équipement (S4), établir une deuxième connexion des premier et deuxième équipements sur le deuxième port de connexion (S6, S7).13. System comprising at least a first and a second device, communicating in a client and server mode and using a transmission control protocol, characterized in that the first and second devices comprise means for, following a first connection between the equipment on a first predetermined connection port - transmitting, from the first equipment to the second equipment, a port change message (S3), having a value defining a second connection port, testing the message with the second equipment (T34), and the message being validated with the second device, transmitting a validation message from the second device to the first device (S4), establishing a second connection of the first and second devices on the second connection port (S6, S7).14. Equipement requérant un changement de port dans un système selon la revendication 13, caractérisé en ce qu'il comporte des moyens pour : transmettre, du premier équipement au deuxième équipement, un message de changement de port (S3), comportant une valeur définissant un deuxième port de connexion, et sur réception d'un message de validation du deuxième équipement, établir une deuxième connexion sur le deuxième port (S6, S7).14. Equipment requiring a change of port in a system according to claim 13, characterized in that it comprises means for: transmitting, from the first equipment to the second equipment, a change of port message (S3), including a value defining a second connection port, and upon receipt of a validation message from the second equipment, establish a second connection on the second port (S6, S7).15. Equipement traitant une requête de changement de port dans un système selon la revendication 13, caractérisé en ce qu'il comporte des moyens pour : recevoir du premier équipement un message de changement de port (S3), comportant une valeur définissant un deuxième port de connexion, tester le message (T34) et, le message étant validé, transmettre un message de validation au premier équipement (S4), traiter une demande d'établissement d'une deuxième connexion sur le deuxième port (S6, S7), reçue du premier équipement.15. Equipment processing a port change request in a system according to claim 13, characterized in that it comprises means for: receiving from the first equipment a port change message (S3), comprising a value defining a second port connection, test the message (T34) and, the message being validated, transmit a validation message to the first device (S4), process a request to establish a second connection on the second port (S6, S7), received of the first equipment.
FR1252884A2012-03-302012-03-30Method for connection between e.g. equipments, for communication over client/server using transmission control protocol, involves validating and transmitting message for change of port from one equipment to another equipmentWithdrawnFR2988952A1 (en)

Priority Applications (1)

Application NumberPriority DateFiling DateTitle
FR1252884AFR2988952A1 (en)2012-03-302012-03-30Method for connection between e.g. equipments, for communication over client/server using transmission control protocol, involves validating and transmitting message for change of port from one equipment to another equipment

Applications Claiming Priority (1)

Application NumberPriority DateFiling DateTitle
FR1252884AFR2988952A1 (en)2012-03-302012-03-30Method for connection between e.g. equipments, for communication over client/server using transmission control protocol, involves validating and transmitting message for change of port from one equipment to another equipment

Publications (1)

Publication NumberPublication Date
FR2988952A1true FR2988952A1 (en)2013-10-04

Family

ID=46889146

Family Applications (1)

Application NumberTitlePriority DateFiling Date
FR1252884AWithdrawnFR2988952A1 (en)2012-03-302012-03-30Method for connection between e.g. equipments, for communication over client/server using transmission control protocol, involves validating and transmitting message for change of port from one equipment to another equipment

Country Status (1)

CountryLink
FR (1)FR2988952A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6442571B1 (en)*1997-11-132002-08-27Hyperspace Communications, Inc.Methods and apparatus for secure electronic, certified, restricted delivery mail systems
EP1408671B1 (en)*2002-10-112007-01-03Onkyo CorporationServer client system for automatically setting port numbers used to initiate or continue a data communication
JP2011186571A (en)*2010-03-052011-09-22Hitachi LtdServer and client system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6442571B1 (en)*1997-11-132002-08-27Hyperspace Communications, Inc.Methods and apparatus for secure electronic, certified, restricted delivery mail systems
EP1408671B1 (en)*2002-10-112007-01-03Onkyo CorporationServer client system for automatically setting port numbers used to initiate or continue a data communication
JP2011186571A (en)*2010-03-052011-09-22Hitachi LtdServer and client system

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BELLOVIN S: "RFC 1579 - Firewall-Friendly FTP", NETWORK WORKING GROUP REQUEST FOR COMMENTS, XX, XX, 1 February 1994 (1994-02-01), pages 1 - 4, XP002267170*
POSTEL J REYNOLDS ISI J: "FILE TRANSFER PROTOCOL (FTP); rfc959.txt", 19851001, 1 October 1985 (1985-10-01), XP015006955, ISSN: 0000-0003*
RIKITAKE KENJI ET AL: "Defending Servers by Randomizing Listening Port Numbers", INFORMATION PROCESSING SOCIETY OF JAPAN KENYKU HOKOKU, XX, XX, 21 December 2001 (2001-12-21), pages 7 - 12, XP002996319*

Similar Documents

PublicationPublication DateTitle
EP2850770B1 (en)Transport layer security traffic control using service name identification
EP1854243B1 (en)Mapping an encrypted https network packet to a specific url name and other data without decryption outside of a secure web server
US20250267138A1 (en)Proxy-less secure sockets layer (ssl) data inspection
EP2617155B1 (en)Secure registration to a service provided by a web server
EP2249543B1 (en)Method for authorising a connection between a computer terminal and a source server
EP3643044B1 (en)Method of activating processes applied to a data session
EP3732829B1 (en)Method of routing data from an initialized session between terminal and server
EP1909462A2 (en)Method of compartmentalised provision of an electronic service
JP6505710B2 (en) TLS protocol extension
EP2801179B1 (en)Secure data transmission
CA2804562A1 (en)Internet communication implementation process between mobile terminals, computer software and storage medium
WO2004086719A2 (en)Secure client/server data transmission system
CN110995730B (en)Data transmission method and device, proxy server and proxy server cluster
FR2988952A1 (en)Method for connection between e.g. equipments, for communication over client/server using transmission control protocol, involves validating and transmitting message for change of port from one equipment to another equipment
EP3714588B1 (en)Method for remote management of a device connected to a residential gateway
EP2494801A1 (en)Method for establishing an application session, device and corresponding notification
EP3087719A1 (en)Method of slowing down a communication in a network
CN100435526C (en)Network security dynamic detection system and method
EP1510904B1 (en)Method and system for evaluating the level of security of an electronic equipment and for providing conditional access to resources
CN116155567A (en) Wide area network protocol encrypted transmission method, device and system
EP1858224A1 (en)Method of setting up virtual private networks and remote access control
FR2954838A1 (en)Synchronous and asynchronous data stream e.g. text, securing method for desktop computer, involves securing intercepted data stream, if intercepted data stream is secured, and transmitting secured data stream to initial destination
FR2819962A1 (en) ACTIVE NETWORK ACCESS CONTROL GATEWAY
EP2525525A1 (en)Method, computer programme and cooptation device enabling a service subscriber to share said service with another user
WO2006100363A1 (en)Method for authenticating datagrams transmitted in non-connected mode, communication units and programmes for implementing the method

Legal Events

DateCodeTitleDescription
STNotification of lapse

Effective date:20141128


[8]ページ先頭

©2009-2025 Movatter.jp