Brevet FR2972319A1 — publié le 20120907

DISPOSITIF AUTONOME DE COMMUNICATION VIA UNE PASSERELLE La présente invention concerne le domaine de la télécommunication et du traitement de données transitant dans un réseau local animé par une passerelle. Elle concerne plus particulièrement un enrichissement des fonctionnalités qu'offre une passerelle d'accès installée chez un utilisateur. Souvent, un utilisateur peut souhaiter personnaliser un tel enrichissement de fonctionnalités auprès de sa passerelle domestique, selon ses propres besoins. Or, compte tenu du fort déploiement de ce type d'équipement, standard par nature, il est difficile de mettre en oeuvre une forte personnalisation des services proposés, à l'initiative du fournisseur de la passerelle. Pour autoriser l'exécution d'applications tierces, une approche peut consister à faire exécuter des fichiers copiés sur un support mémoire indépendant, tel qu'une clé USB. Dans ce cas, le processeur de la passerelle exécute les instructions d'un programme stocké en mémoire du support mémoire précité. Toutefois, cette approche expose la passerelle à des dysfonctionnements notamment intentionnels de ce type de programme (virus, bug, etc.) qui peut être mal maîtrisé. Pour surmonter cette difficulté, on peut prévoir des solutions dites « de virtualisation » (virtualisation de systèmes d'exploitation telle que «Java Virtual Machine », par exemple). Toutefois, de telles solutions impactent les performances de la passerelle. En outre, quand bien même une faible part des utilisateurs serait intéressée par de telles applications, il ne peut être garanti un isolement complet de ces utilisateurs. Ainsi, il convient de prendre en compte de tels enrichissements pour l'ensemble des passerelles, ce qui augmente nécessairement leur complexité. La présente invention vient améliorer la situation. Elle propose à cet effet un procédé de traitement de données transitant dans un réseau local animé par une passerelle. En particulier, ces données sont traitées par un processeur d'un dispositif auxiliaire autonome, connecté à la passerelle et communiquant au moins avec la passerelle selon un mode de type client/serveur. 30 Ainsi, la mise en oeuvre de la présente invention permet, en ayant recours à un tel dispositif auxiliaire, d'enrichir la passerelle avec de nouveaux services ou de nouvelles fonctionnalités tout en préservant la sécurité de la passerelle et de son environnement (par exemple la sécurité des équipements reliés à la passerelle via un réseau local). Par exemple, en cas de dysfonctionnement, il suffit de déconnecter le dispositif auxiliaire de la passerelle pour que cette dernière fonctionne normalement à nouveau. Le dispositif auxiliaire peut jouer à la fois le rôle de serveur (notamment pour recevoir des commandes et/ou des événements) et de client (pour émettre des commandes notamment). En particulier, le mode de communication de type client/serveur entre la passerelle et le dispositif auxiliaire peut être étendu à toute communication entre le dispositif auxiliaire et un équipement quelconque relié au réseau local. Ainsi, le dispositif auxiliaire peut recevoir une commande ou une notification d'événement d'un équipement du réseau local (notification d'une intrusion détectée par un équipement de surveillance, par exemple) et agir alors en tant que serveur, et/ou émettre une commande vers un équipement du réseau local (commande d'un déclenchement de surveillance adressée à un équipement de surveillance, par exemple) et agir alors en tant que client. Ainsi, en termes génériques, le dispositif auxiliaire joue le rôle de serveur et/ou de client, dans sa communication avec la passerelle notamment, mais aussi dans une communication avec un équipement quelconque du réseau local, ou encore du réseau étendu. On relèvera aussi que la passerelle elle-même peut jouer le rôle de client dans sa communication avec le dispositif auxiliaire par exemple pour lui notifier un événement tel que la présence d'un nouvel équipement disponible sur le réseau local, ou encore un appel entrant de voix sur IP. Ainsi, la passerelle elle-même peut jouer tout aussi bien le rôle de serveur et/ou de client dans sa 25 communication avec le dispositif auxiliaire. Le traitement des données précité peut avantageusement comporter une exécution d'au moins une application logicielle, dans le dispositif auxiliaire, pour un traitement de données (envoi de commandes, remontée d'événements notamment) destinées à et/ou issues d'un équipement relié au 30 réseau local (dont la passerelle elle-même). Dans une réalisation, la connexion du dispositif auxiliaire à la passerelle comporte une alimentation électrique du dispositif auxiliaire.20 Une telle réalisation permet de s'assurer que le dispositif auxiliaire opère en mode « always on » (toujours en service (ou « allumé »), aussi longtemps que la passerelle est elle-même est en service). Dans un exemple de réalisation, le dispositif auxiliaire est connecté à un port physique de la passerelle, cette connexion étant typiquement une connexion USB. Avantageusement, la passerelle et le dispositif au sens de l'invention sont alors totalement découplés. Au niveau physique, ce découplage avantageux est assuré par une interface de connexion «plug&play» (par exemple de type USB ou WIFI) gérée par un module (tel un programme informatique), préférentiellement du type module de gestion de réseau (ou « driver réseau »), dans le dispositif auxiliaire au sens de l'invention, et préférentiellement par un module homologue dans la passerelle. Au niveau applicatif, ce découplage entre la passerelle et le dispositif est obtenu par une communication de type asynchrone en mode texte, préférentiellement selon un protocole de type client/serveur entre la passerelle et le dispositif (par exemple de type http pour « HyperText Transfer Protocol »). Ainsi, dans un exemple de réalisation, pour une communication de données (envoi de commandes, notification d'événements) entre le dispositif auxiliaire et au moins la passerelle selon ce mode client/serveur, le dispositif et la passerelle échangent des requêtes de type http (requêtes «HTTP POST », asynchrones), qui n'occasionnent aucun blocage au niveau de l'émetteur de la requête. L'utilisation d'un tel protocole HTTP (ne comportant aucun script ou code exécutable) protège également la passerelle de l'envoi de code malveillant susceptible d'être exécuté. L'utilisation d'un protocole très simple et basé sur du texte tel que HTTP protège efficacement un composant serveur de requêtes malveillantes. En effet, un serveur HTTP n'accepte une requête que si celle-ci est conforme au standard HTTP/HTTPS. Ce standard définit un nombre très limité de commandes (« GET », « SET », «POST ») codées sous forme de texte, auquel il est possible d'adjoindre des paramètres (également encodés sous forme de texte). Ainsi, même si de tels paramètres représentent un script ou un exécutable, l'interpréteur de commande HTTP ne les considère que comme de simples données, et ne cherche pas à les "exécuter". Les seules attaques possibles d'un mode de communication selon un protocole http sont de type "Denial of Service", visant à saturer les communications en les soumettant à un flux de requêtes, supérieur à sa capacité de traitement. Pour se protéger contre une telle attaque (par exemple une requête malveillante émanant de l'Internet ou une requête de dysfonctionnement selon une "boucle infinie" dans une application non maîtrisée s'exécutant dans le dispositif auxiliaire), il est possible de fixer au niveau du système d'exploitation du dispositif une limite maximale dans le rythme d'émission et d'acceptation de ces requêtes (en ignorant les requêtes excédentaires). En outre, il est possible de mettre en oeuvre un mécanisme d'authentification/cryptage (basé sur le protocole HTTPS par exemple) entre la passerelle et le dispositif qui empêcherait un équipement tiers de s'insérer dans la communication entre la passerelle et le dispositif, et ce, dans la mesure où un utilisateur maîtriserait tant la passerelle que le dispositif auxiliaire. Ainsi, aucune requête http malveillante ne peut conduire à l'exécution d'un code extérieur au système passerelle - dispositif auxiliaire. Dans une réalisation, la passerelle opérant entre le réseau local et un réseau étendu, la connexion du dispositif à la passerelle comporte alors : - une alimentation électrique du dispositif, tant que la passerelle elle-même est alimentée électriquement, et - une connexion du dispositif au réseau étendu et au réseau local, tant que la passerelle elle- même est connectée au réseau étendu et au réseau local. Une telle réalisation permet de s'assurer que le dispositif auxiliaire opère à la fois en mode « always on » (toujours en service (ou « allumé »), Si la passerelle est elle-même en service) et en mode « always connected» (toujours connecté au réseau local et au réseau étendu, si la passerelle est elle-même ainsi connectée). Dans une réalisation, le dispositif auxiliaire autonome comporte, outre son processeur, une mémoire stockant les instructions d'un système d'exploitation propre dudit dispositif auxiliaire. Avantageusement, le dispositif comprend alors son propre processeur et sa propre mémoire pour stocker les instructions d'une application et exécuter cette application afin de rendre le service ou réaliser la fonctionnalité visée. La passerelle peut bien entendu déclencher l'exécution de cette application en envoyant un événement au dispositif (par exemple via une requête http tel qu'évoqué plus haut). L'application exécutée par le dispositif peut à son tour émettre ensuite des commandes (par une requête http par exemple) à destination de la passerelle ou de tout autre équipement du réseau local ou du réseau étendu (tels des « services web »). La présente invention vise aussi un dispositif de traitement de données destinées à transiter dans un réseau local animé par une passerelle, et comportant : - un moyen de connexion à cette passerelle, - un processeur pour traiter les données précitées, et - un moyen de communication au moins avec la passerelle selon un mode de type client/serveur, le dispositif jouant le rôle de serveur et/ou de client. Dans une réalisation du type précité où le moyen de connexion comporte une fiche USB destinée à être connectée à un port physique de la passerelle, le dispositif peut avantageusement comporter les dimensions d'une clé USB et se présenter finalement sous la forme d'une clé USB, mais ayant son propre processeur et un système d'exploitation autonome, capable d'établir une communication avec la passerelle notamment par échanges de requêtes http. La présente invention vise aussi un programme informatique comportant des instructions pour la mise en oeuvre du procédé au sens de l'invention, lorsque ce programme est exécuté par un processeur. En particulier, ce programme, lorsqu'il est destiné à être exécuté par le processeur du dispositif auxiliaire autonome, comporte des instructions pour une communication avec la passerelle selon un mode de type client/serveur, le dispositif auxiliaire jouant le rôle de serveur et/ou de client. Comme indiqué ci-avant, la passerelle peut exécuter un programme homologue pour une communication avec le dispositif auxiliaire selon le mode client/serveur, la passerelle jouant alors le rôle de client et/ou de serveur. Plus généralement, la présente invention vise aussi un système comportant une passerelle et un dispositif au sens de l'invention, comportant alors des moyens de communication entre la passerelle et le dispositif, selon un mode de type client/serveur, le dispositif pouvant jouer à la fois le rôle de serveur et de client. Ainsi, la mise en oeuvre de l'invention permet avantageusement : - d'enrichir l'offre d'accès, avec des services complémentaires ; - de préserver bien entendu des fonctions essentielles de la passerelle (par exemple l'accès à l'Internet, la voix sur IP pour la téléphonie, etc.) en garantissant une qualité de service et 30 une sécurité donnée, et ce en surmontant les difficultés liées aux malfaçons de certaines applications (en particulier d'applications tierces) ; - de faire installer des applications possibles par des développeurs peu spécialisés, voire par l'utilisateur lui-même.25 D'ailleurs, 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 schématiquement un système comportant une passerelle et un dispositif auxiliaire au sens de l'invention connecté à la passerelle, - la figure 2 illustre schématiquement les étapes d'un procédé pour une mise en service du dispositif On se réfère tout d'abord à la figure 1, présentée purement à titre d'exemple et dans laquelle une passerelle PAS peut communiquer, d'une part, avec un ou plusieurs serveurs distants SER via un réseau étendu WAN, et, d'autre part, avec une pluralité d'équipements, via un réseau local LAN. Ces équipements sont par exemple : - un ordinateur PC1 par exemple pour un usage en tant qu'ordinateur personnel de salon, - un téléphone TEL pour des applications de téléphonie sur IP par exemple, - un module PC2, dédié pour l'exécution d'une fonction FCT, commandée à distance, et pilotant par exemple une installation d'arrosage automatique ou d'enregistrement d'un programme TV, ou autre. Dans l'exemple décrit, le module PC2 ne dispose pas de ressources informatiques suffisantes pour dialoguer avec un utilisateur distant. En particulier, un utilisateur peut souhaiter lancer une commande à distance du module PC2 (par exemple via le réseau étendu WAN) pour imposer un horaire d'arrosage ou d'enregistrement. Cette commande transite vers la passerelle PAS, mais l'interprétation de cette commande et sa communication au module PC2 est assurée par un dispositif DIS au sens de l'invention et non pas par la passerelle elle-même. Ainsi, l'enrichissement de telles fonctionnalités de la passerelle s'effectue en prévoyant un dispositif dédié au sens de l'invention (référence DIS de la figure 1). En effet, on prévoit au sens de l'invention de déporter un environnement d'exécution de logiciels tiers sur un matériel dédié externe DIS. Ainsi, la passerelle PAS ne fait que router cette commande au dispositif DIS. Dans une réalisation possible, le dispositif DIS peut comporter en particulier le module PC2 lui-même (typiquement les instructions d'un programme informatique pour piloter l'exécution de la fonction FCT précitée). Le dispositif DIS est équipé d'un processeur CPU et d'une mémoire MEM. Il comporte en outre des moyens de connexion CX à la passerelle PAS, tels que par exemple une connexion à un port USB de la passerelle (pour «Universal Serial Bus »), référencé INT sur la figure 1. Avantageusement, une telle connexion permet aussi d'alimenter électriquement le dispositif DIS. Ainsi, le dispositif DIS peut prendre par exemple la forme d'un petit boîtier tel une « clé » (ou «dongle ») connecté sur le port USB de la passerelle PAS et possédant les propriétés d'être toujours allumé (« always on ») et toujours connecté (« always connected ») à la passerelle PAS. Disposant de son propre processeur et de sa propre mémoire, le dispositif DIS exécute lui-même ses applications et ne fait avantageusement porter aucun risque, ni charge, aux ressources de la passerelle PAS. Une telle réalisation est alors plus avantageuse qu'une simple mémoire (telle que par exemple de type «USB/mass storage ») stockant les instructions de l'application à exécuter, et dans laquelle un processeur de la passerelle exécuterait directement de telles instructions (dont certaines peuvent correspondre à un programme informatique malveillant, tel un virus ou autre). Préférentiellement, pour assurer un isolement complet de l'exécution des applications par le dispositif DIS, la passerelle PAS et le dispositif DIS communiquent via le port USB en s'appuyant sur un protocole de type client/serveur, par exemple de type http (pour « HyperText Transfer Protocol »). Ainsi, le dispositif DIS peut opérer à la manière d'un serveur applicatif qui, avantageusement, peut facilement être programmé. En référence à la figure 2, une première étape S20 du procédé illustré consiste à configurer le dispositif en installant un système d'exploitation de type « middleware » (par exemple de type compatible OSGI pour « Open Services Gateway Initiative »). En particulier, une application de communication par requêtes http est installée dans le dispositif DIS, pour opérer, dans une communication client/serveur, en tant que serveur (notamment pour recevoir par exemple des commandes et/ou des événements) ou en tant que client (notamment pour émettre des commandes). D'autres applications peuvent être installées dans le dispositif DIS, notamment : - un logiciel multimédia de type « media player » (pour des applications de lecture, de transmission ou de stockage de contenus multimédias), et - des applications de communication radiofréquence, par exemple de type Wifi, ZigBee, ou autres, le cas échéant pour une communication directe avec des équipements PC1, TEL, PC2 reliés au réseau local LAN, préférentiellement selon le protocole http précité. Ainsi, outre la passerelle elle-même, différents équipements (un ordinateur PC1 d'utilisateur, un terminal de type set-top box, ou autres équipements domotiques reliés au réseau local) peuvent interagir avec le dispositif DIS, par échanges de requêtes http. Lors d'une deuxième étape S21, le programme correspondant à l'application souhaitée est installé dans une mémoire du dispositif DIS. A cet effet, le dispositif DIS peut être connecté sur le port USB d'un ordinateur PC1, pour installer le programme précité. Par exemple, l'ordinateur personnel PC1 peut récupérer les instructions de ce programme par téléchargement via le réseau étendu WAN d'un site distant et les stocker dans la mémoire MEM du dispositif DIS, puis piloter l'installation de ce programme dans le dispositif DIS. Il peut également copier une application depuis son ordinateur sur le dispositif auxiliaire par simple « drag & drop ». Ce programme peut être écrit et l'installation peut être exécutée dans un langage interprété (par exemple Java, JavaScript, PHP, Perl, ou autres) ou compilée (Java, un code natif, ou autre), le cas échéant en s'appuyant sur un middleware du type précité. A l'étape suivante S22, le dispositif DIS peut être connecté ensuite à la passerelle PAS pour sa mise en service. Cette « intelligence déportée » sur le dispositif DIS (en mode toujours allumé et toujours connecté) facilite avantageusement le développement et le déploiement de services qui peuvent être choisis et personnalisés par chaque utilisateur (préinstallées à l'achat, acquises ou téléchargées, ou encore développées par le client lui-même). La solution au sens de l'invention apporte de nombreux avantages : - le développement d'applications utilise des compétences et des outils largement disponibles (Perl, PHP, JavaScript ou autres), - l'exécution des applications sur le dispositif DIS ne perturbe pas le fonctionnement de la 25 passerelle même si ces applications comportent des erreurs de programmation (ou si elles sont délibérément malveillantes) ou font un usage excessif de ressources informatiques, - du fait d'une communication par échange de requêtes http, le simple fait de débrancher le dispositif auxiliaire peut rétablir la passerelle dans un état de fonctionnement « nominal » (fonctionnement normal standard), 30 - le dispositif est peu coûteux. Les applications exécutées peuvent être préprogrammées dans le dispositif DIS, par exemple fournies avec une installation domotique combinant le dispositif DIS et un ensemble d'éléments capteurs et actionneurs (par exemple, un détecteur de présence avec un actionneur d'alarme, programmable à distance pour l'enclenchement ou le dés-enclenchement de la détection), téléchargées par un utilisateur depuis un site distant (téléchargement sous une forme de type « application shop »), ou encore développées et installées localement (dans le cadre d'un développement « sur mesure »). 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. En particulier, le dispositif au sens de l'invention peut communiquer avec différents types d'équipements, directement (par liaison radiofréquence) ou via la passerelle PAS, ces équipements étant tels que par exemple : - un terminal de type set-top box (ou « décodeur TV ») ; - un ordinateur connecté au réseau local, un cadre photo numérique, un livre numérique ; - des équipements domotiques (chauffage, électroménager, alarmes, etc.) ; - des serveurs distants par exemple pour l'envoi/la réception de messages SMS, de guides de programme en ligne, ou autres, via la passerelle PAS. Ces équipements peuvent ainsi interagir avec le dispositif DIS en émettant des événements (par exemple par l'accès depuis un navigateur WEB, le déclenchement d'alarme, la notification d'appel entrant par téléphonique sur IP, ou par réception de messages SMS, ou par simple action sur une télécommande). Ces événements peuvent être détectés par le dispositif DIS et traités par l'exécution d'une ou plusieurs applications installées par le dispositif DIS, lequel peut interagir à nouveau avec ces mêmes équipements (par envoi de messages SMS ou email, par changement de canal TV sur set-top box, etc.). L'invention offre donc une solution simple pour l'exécution d'applications de type « always on, always connected », notamment dans le domaine de la domotique, telles que : - les actions d'alerte et de surveillance (par appel ou envoi de messages SMS, ou de photos numériques, ou autres) en cas d'intrusion ou de fumée ; - la commande à distance d'équipements (de type chauffage, arrosage, machine, etc.) depuis un navigateur internet ; - l'hébergement de site web personnel ; - l'automatisation de fonctions de la passerelle (telles que le déclenchement ou le routage d'appels, etc.) ; - la programmation d'enregistrement de programmes TV ; - le pilotage de fonctions de confort (choix de la station de radio ou des contenus affichés par un cadre photo numérique sur détection d'un terminal de type smartphone, par exemple, sur le réseau Wi-Fi, etc.). On peut également envisager des applications dans un cadre non domestique, mais professionnel et notamment industriel, telles que : - la surveillance de locaux, - le pilotage à distance de processus, etc. 10 REVENDICATIONS1. Procédé de traitement de données transitant dans un réseau local (LAN) animé par une passerelle (PAS), caractérisé en ce que lesdites données sont traitées par un processeur (CPU) d'un dispositif 5 auxiliaire autonome (DIS), connecté à la passerelle et communiquant au moins avec ladite passerelle selon un mode de type client/serveur. 2. Procédé selon la revendication 1, caractérisé en ce que ledit dispositif auxiliaire joue le rôle de serveur et/ou de client. 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que ledit traitement de données comporte une exécution d'application logicielle dans le dispositif auxiliaire (DIS), pour un traitement de données destinées à et/ou issues d'un équipement (PC2) relié au réseau local. 15 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que la connexion du dispositif auxiliaire à la passerelle comporte une alimentation électrique du dispositif auxiliaire. 5. Procédé selon la revendication 4, caractérisé en ce que le dispositif auxiliaire est connecté à un port physique de la passerelle (INT), ladite connexion étant de type USB. 20 6. Procédé selon l'une des revendications 4 et 5, caractérisé en ce que, la passerelle opérant entre le réseau local et un réseau étendu, la connexion du dispositif à la passerelle comporte : - une alimentation électrique du dispositif, tant que la passerelle elle-même est alimentée électriquement, et 25 - une connexion du dispositif au réseau étendu et au réseau local, tant que la passerelle elle-même est connectée au réseau étendu et au réseau local. 7. Procédé selon l'une des revendications précédentes, caractérisé en ce que le dispositif auxiliaire autonome comporte, outre ledit processeur, une mémoire (MEM) stockant les instructions d'un 30 système d'exploitation propre dudit dispositif auxiliaire. 8. Procédé selon l'une des revendications précédentes, caractérisé en ce que, pour une communication de données entre le dispositif auxiliaire et au moins la passerelle selon ledit mode de type client/serveur, le dispositif et la passerelle échangent des requêtes de type http. 11 10 35 9. Dispositif de traitement de données destinées à transiter dans un réseau local animé par une passerelle, caractérisé en ce qu'il comporte : - un moyen de connexion à ladite passerelle (CX), - un processeur pour traiter lesdites données (CPU), et - un moyen de communication avec au moins ladite passerelle selon un mode de type client/serveur. 10. Dispositif selon la revendication 9, caractérisé en ce que le moyen de connexion comporte une fiche USB destinée à être connectée à un port physique de la passerelle, et en ce que le dispositif comporte les dimensions d'une clé USB. 11. Système comportant une passerelle et un dispositif selon l'une des revendications 9 et 10, comportant des moyens de communication entre la passerelle et le dispositif, selon un mode de type client/serveur. 12. Programme informatique comportant des instructions pour la mise en oeuvre du procédé selon l'une des revendications 1 à 8, lorsque ce programme est exécuté par un processeur. 13. Programme selon la revendication 12, destiné à être exécuté par le processeur du dispositif auxiliaire autonome, caractérisé en ce qu'il comporte des instructions pour une communication avec la passerelle selon un mode de type client/serveur.