FR 2872983 A1 20060113 FR 0451496 A 20040709 2872983 1 Système de pare-feu protégeant une communauté d'appareils, appareil participant au système et méthode de mise à jour des règles de pare- feu au sein du système La présente invention concerne la sécurisation d'une communauté d'appareils interconnectables et plus particulièrement la gestion de la politique de règles de pare-feu ( firewall en anglais) permettant de filtrer le trafic entre ces appareils et le réseau auquel ils sont connecté. Un réseau local, et plus particulièrement un réseau domestique, est formé d'un ensemble de dispositifs (téléviseurs, enregistreurs numériques, ordinateurs, assistants numériques personnels, etc.) mis en réseau qui s'auto configurent et interagissent de manière transparente pour l'utilisateur afin de lui offrir des services augmentés. UPnP décrit dans "UPnPTM Device Architecture 1.0", HAVi décrit dans "HAVi Specification version 1.1" et Rendezvous décrit par E. Guttman dans Autoconfiguration for IP networking: Enabling local communication IEEE Internet Computing, May 2001, sont quelques propositions actuelles de standards de réseaux domestiques. Les appareils appartenant à un utilisateur ou une famille d'utilisateurs vont partager une même politique de sécurité. Ces appareils sont connectables entre eux via de multiples réseaux. Ces réseaux peuvent être des réseaux câblés au sein du foyer comme IEEE 1394, IEEE Ethernet ou autre. Ils peuvent aussi être des réseaux sans fils comme IEEE 802.11, Bluetooth ou autre. Les appareils peuvent aussi communiquer via Internet comme par exemple un dispositif mobile que l'utilisateur aura emporté sur son lieu de travail et qui communiquera avec le réseau du domicile via le réseau d'entreprise et Internet. Ces communautés doivent être sécurisées si on souhaite leur large déploiement. En effet, il existe des mobiles et de véritables opportunités pour attaquer les appareils d'un utilisateur. La première étape pour sécuriser une communauté d'appareils domestiques consiste à marquer sa frontière, c'est à dire à définir quels sont les dispositifs qui appartiennent à la communauté. 2872983 2 La seconde étape pour la sécurisation de ces communautés domestiques est de définir une politique de filtre des communications entre les appareils de la communauté et le monde extérieur, voire entre les appareils de la communauté eux-même. Ce genre de filtres, appelé parefeu, est bien connu. Il existe plusieurs types de pare-feu. En particulier, il est connu d'équiper un réseau d'entreprise d'un parefeu disposé sur le lien entre ce réseau d'entreprise et l'extérieur. En effet sur ce type de réseau, toutes les communications entre le réseau et l'extérieur passent par un ou plusieurs points de connexion bien identifiés. Dans ce cas le pare-feu est administré par du personnel compétent à même de définir la politique de sécurité et de l'implémenter. II est également connu d'équiper un ordinateur personnel directement relié à Internet de ce que l'on appelle communément un pare-feu personnel. Ce pare-feu est un filtre logiciel sur l'ordinateur filtrant le trafic réseau entre l'ordinateur et le monde extérieur. Ce filtrage s'opère en fonction d'une politique définie par l'utilisateur. Pour ce faire des outils existent lui permettant d'exprimer cette politique d'une façon simple et de la traduire sous forme de règles de filtres de paquets en fonction des protocoles utilisés, des services utilisés ou du sens de la communication. Malgré ces outils destinés à faciliter la tâche de l'utilisateur, celui-ci est tout de même en charge de la gestion de son pare-feu et de l'évolution de la politique de sécurité sur son ordinateur. Pour la gestion de la politique de pare-feu dans un réseaux possédant plusieurs points d'accès sur l'extérieur a été développée la notion de pare-feu distribué. Dans ce type de pare-feu, la politique de sécurité est définie en un point du réseau servant de serveur de politique et appliquée en de multiples points, typiquement sur tous les points d'accès au réseau. De cette façon on assure la cohérence de la politique de pare- feu sur tout le réseau en centralisant en un seul point les règles de politique et leur mise à jour. Les caractéristiques des communautés d'appareils domestiques modernes posent un certain nombre de problèmes lorsque l'on essaye de 2872983 3 les protéger par un pare-feu suivant l'une des techniques évoquées plus haut. L'utilisation de média hertziens, par nature partagés, la communication entre dispositifs au travers de l'Internet, la découverte et l'échange automatique de services entre dispositifs mis en présence sont autant de facteurs qui rendent floue la frontière physique des réseaux domestiques ainsi que la localisation des points d'accès entre les appareils du réseau domestique et l'extérieur. Dans une telle communauté, chaque appareil est susceptible de communiquer avec des appareils extérieurs au réseau sans que cette communication passe obligatoirement par un point d'accès identifié. D'autre part, les appareils de la communauté domestique sont susceptibles de tomber en panne, d'être éteints ou emportés par l'utilisateur hors d'atteinte des moyens de communication du reste de la communauté. Il est donc clair que la politique de sécurité doit s'appliquer d'une part sur les appareils emportés hors du domicile comme sur ceux restés au sein du domicile. II n'est donc pas possible de tabler sur la présence dans le réseau d'un appareil jouant un rôle privilégié pour assurer la sécurité de la communauté. Il faut de plus que la politique prennent en compte l'évolution de la communauté, l'ajout ou le retrait de nouveaux appareils. L'invention permet une gestion répartie et totalement décentralisée de la politique de pare-feu, implémentée au niveau de chaque appareil, cohérente et s'adaptant dynamiquement aux changements intervenant au sein du réseau domestique. Nous parlerons de pare-feu omniprésents. L'invention concerne un système de pare-feu permettant de sécuriser une communauté d'appareils interconnectables partageant un ensemble d'au moins une règle de sécurité globale commune, chaque appareil de la communauté possédant des moyens de stocker une politique locale de sécurité constituée au moins de règles globales de sécurité, d'une liste des membres de la communauté ainsi que de leur état de connexion et d'une liste de services offerts localement, une pluralité d'appareil de la communauté comprenant un filtre de messages à destination et en provenance du réseau auquel ii est connecté où, le système ne comprenant aucun moyen centralisé, il possède sur chaque appareil de la communauté 2872983 4 des moyens locaux de calcul des règles utilisées par le filtre en fonction de la politique locale de sécurité. Selon un mode particulier de réalisation de l'invention le système possède sur chaque appareil de la communauté des moyens de mise à jour de la politique locale de sécurité et de déclencher un nouveau calcul des règles utilisées par le filtre. Selon un mode particulier de réalisation de l'invention le système possède des moyens de déclenchement d'un nouveau calcul des règles utilisées par le filtre en réaction à des changements intervenant sur le réseau. Selon un mode particulier de réalisation de l'invention les changements pris en compte pour déclencher un nouveau calcul des règles utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement d'un appareil de la communauté et le changement de statut d'un service hébergé sur un appareil de la communauté. Selon un mode particulier de réalisation de l'invention les changements pris en compte pour déclencher un nouveau calcul des règles de pare-feu utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement d'un appareil de la communauté et le changement de statut d'un service hébergé localement sur l'appareil. Selon un mode particulier de réalisation de l'invention le système possède sur chaque appareil de la communauté des moyens de déterminer la liste des appareils extérieurs à la communauté possédant des accès privilégiés à au moins un service offert par un appareil de la communauté, cette liste étant intégrée à la politique locale de sécurité. L'invention concerne aussi un appareil comportant des moyens pour appartenir à une communauté d'appareils interconnectables partageant un ensemble d'au moins une règle de sécurité globale commune, possédant des moyens de stockage d'une politique locale de sécurité constituée au 2872983 5 moins de règles globales de sécurité, d'une liste des membres de la communauté ainsi que de leur état de connexion et d'une liste de services offerts localement, ledit appareil possédant un pare-feu comprenant un filtre des messages à destination et en provenance du réseau auquel il est connecté tel qu'il possède des moyens locaux de calcul des règles de pare-feu utilisées par le filtre en fonction de la politique locale de sécurité, ne faisant appel à aucun moyens centralisés. Selon un mode particulier de réalisation de l'invention l'appareil possède des moyens de mise à jour de la politique locale de sécurité et de déclencher automatiquement un nouveau calcul des règles utilisées par le filtre. Selon un mode particulier de réalisation de l'invention l'appareil possède des moyens de déclenchement d'un nouveau calcul des règles utilisées par le filtre se fait en réaction à des changements intervenant sur le réseau. Selon un mode particulier de réalisation de l'invention les changements pris en comptes pour déclencher un nouveau calcul des règles utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement d'un appareil de la communauté et le changement de statut d'un service hébergé sur un appareil de la communauté. Selon un mode particulier de réalisation de l'invention les changements pris en comptes pour déclencher un nouveau calcul des règles de pare-feu utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement d'un appareil de la communauté et le changement de statut d'un service hébergé localement sur l'appareil. Selon un mode particulier de réalisation de l'invention l'appareil possède des moyens de déterminer la liste des appareils extérieurs à la communauté possédant des accès privilégiés à au moins un service offert par un appareil de la communauté, cette liste étant intégrée à la politique locale de sécurité. 2872983 6 L'invention concerne également une méthode de mise à jour de règles utilisées par un pare-feu constitué d'un filtre des messages à destination et en provenance du réseau auquel est connecté l'appareil implémentant la méthode, l'appareil faisant partie d'une communauté d'appareils interconnectables partageant un ensemble d'au moins une règle de sécurité globale commune, l'appareil possédant des moyens de stocker une politique locale de sécurité constituée au moins de règles globales de sécurité, d'une liste des membres de la communauté ainsi que de leur état de connexion et d'une liste de services offerts localement, lesdites règles étant calculées en fonction de la politique locale de sécurité, comportant au moins les étapes suivantes: - la détection de l'ajout, du retrait et du bannissement d'un appareil de la communauté ; - la détection des changements d'adresse réseau d'un appareil de la communauté ; - le déclenchement d'un nouveau calcul des règles en réponse au changement de la politique locale de sécurité. Selon un mode particulier de l'invention la méthode possède en outre une étape de détection des changements de statut des services hébergés par l'appareil. Selon un mode particulier de l'invention la méthode possède en 25 outre une étape de détection des changements de statut des services hébergés par un appareil de la communauté Selon un mode particulier de l'invention le déclenchement d'un nouveau calcul des règles de pare-feu est lié à la détection de l'ajout, du retrait et du bannissement d'un appareil de la communauté, à la détection du changement d'adresse IP d'un appareil de la communauté et du changement de statut d'un service. L'invention sera mieux comprise, et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels: 2872983 7 La figure 1 représente un schéma d'ensemble d'une communauté d'appareils domestiques protégée par l'invention. La figure 2 représente un exemple de réalisation d'une architecture d'un pare-feu omniprésent. La figure 3 représente un exemple de réalisation d'une architecture générale d'un appareil domestique embarquant un pare-feu omniprésent. Un exemple de réalisation d'un pare-feu omniprésent et de la gestion de la politique de sécurité utilisant un tel pare-feu va maintenant être décrite. L'exemple de réalisation est donné dans le cadre d'une communauté d'appareils domestiques communiquant via le protocole IP ( Internet Protocol en anglais). On peut trouver la spécification du protocole IP dans les RFC, requête pour commentaire ( request for comments en anglais), maintenu par l'IETF, groupe de travail d'ingénierie Internet ( Internet Engineering Task Force en anglais) sous le numéro 791. Mais l'homme du métier comprendra que l'on peut appliquer l'invention à tout type de réseau de communication, quel que soit le protocole utilisé, par exemple IEEE 1394 ou autre. Les contraintes auxquelles on doit faire face dans communauté d'appareils domestiques sont les suivantes. Tout d'abord, les appareils sont susceptibles d'être allumés ou éteints à tout moment. Il faut donc gérer l'arrivée et le départ de ces appareils du réseau. Les appareils de la communauté peuvent être physiquement connectés à des appareils n'appartenant pas à la communauté. En particulier pour les communications sans fils, les appareils connectés au réseau physique ne font pas forcément partie de la communauté. De même, tout appareil est susceptible de devenir un point d'accès entre la communauté et le monde extérieur. Les frontières physiques du réseau interconnectant la communauté ne sont donc pas clairement définies. 2872983 8 Tous les appareils appartenant à la communauté ne sont pas forcément à même de communiquer ensemble à tout moment. Par exemple un utilisateur, hors de chez lui, peut faire communiquer un téléphone portable et un assistant numérique qui vont constituer entre eux un sous réseau déconnecté des appareils restés au domicile. Ces appareils, déconnectés du reste du réseau domestique doivent pouvoir appliquer la politique de sécurité définie pour la communauté. La communauté est donc susceptible d'être séparé en un nombre arbitraire de partitions ne pouvant temporairement pas communiquer ensemble. De même, l'environnement et les propriétés d'un appareil peuvent changer dans le temps. Ainsi un appareil peut par exemple changer d'adresse IP entre deux connexions successives au réseau. D'autre part, il n'est pas possible de compter sur le concours d'un administrateur compétent pour administrer la communauté domestique à la différence de ce qui se passe sur un réseau d'entreprise par exemple. En effet l'utilisateur n'a généralement pas les compétences ou le temps de se plonger dans les problèmes de paramétrage d'un pare-feu. Mais dans un même temps il est la seule autorité sur la communauté. Il est donc nécessaire de lui fournir un moyen simple d'exprimer la politique de sécurité et de la traduire de manière transparente en règles de pare-feu. La figure 1 illustre un exemple de communauté domestique. La communauté domestique est constituée d'une part des appareils de l'espace référencé 1.1 et situés dans le domicile et des appareils situés dans l'espace 1.3 situés hors du domicile. On suppose ici que ces deux espaces ne peuvent pas communiquer entre eux. L'espace du domicile 1.1 contient d'une part un réseau filaire reliant une télévision 1.5, un magnétoscope numérique 1. 6, un décodeur numérique 1.7, tandis qu'un modem ADSL 1.8 donne accès à Internet 1.4 et une borne sans fil 1.9, fonctionnant par exemple suivant l'un des protocoles de la famille 802.11, permet la connexion d'une chaîne HIFI 1.10 et d'un ordinateur 1.11. La famille de norme 802.11 définit une norme de communication sur un réseau sans fil normalisé dans le document ANSIIIEEE std 802.11-1999 (reaff 2003). L'ordinateur du voisin 1.14, disposant de capacité sans fil, peut se connecter physiquement au réseau sans fil 1.2 bien que ne faisant pas partie de la communauté domestique. L'utilisateur, hors de son domicile, peut connecter 2872983 9 ensemble par exemple un organiseur numérique 1. 13 et un téléphone mobile 1.12 par une connexion sans fil selon, par exemple le protocole Bluetooth, pour former une partition 1.3 de la communauté. Cette partition étant appelée à se retrouver connectée au reste de la communauté lors du retour de l'utilisateur à son domicile. Le dispositif de pare-feu omniprésent, référencé 1.15, est décentralisé sur chaque appareil et matérialisé par le rectangle gris apparaissant sur les appareils de la communauté. Pour assurer la sécurité des communautés d'appareils domestiques il est nécessaire de définir une politique de sécurité et les services de sécurité qui vont permettre de mettre en oeuvre cette politique. La politique de sécurité d'une communauté domestique est très proche de celle que l'on peut trouver dans un réseau d'entreprise classique. Elle se compose de deux parties. Une première partie pose le problème de l'appartenance à la communauté. En effet le premier problème à résoudre est celui de la définition de la frontière de la communauté. Une communauté domestique va constituer un domaine d'application d'une politique de sécurité uniforme. Tous les appareils d'une même communauté vont partager une politique de sécurité commune et vont partager un niveau de confiance mutuel élevé. On considère généralement que les appareils d'une même communauté peuvent communiquer librement entre eux. Ce problème est résolu, par exemple, par la technique décrite dans le document suivant: Gestion sécurisée de groupes de dispositifs dans un réseau domestique par Nicolas Prigent et Jean-Pierre Andreaux publié dans les actes du second symposium de sécurité des technologies de l'information et des communication (SSTIC 2004). Dans ce document on explique comment l'utilisateur peut définir facilement les appareils appartenant à sa communauté domestique à l'aide d'une identité prouvable cryptographique de chaque appareil. L'utilisateur est à même de gérer l'ajout et le retrait des appareils de la communauté. La seconde partie de la politique de sécurité de la communauté se propose de gérer les communications entre les appareils de la communauté et le monde extérieur. Il s'agit donc des communications entre les appareils de la communauté et les appareils n'appartenant pas à la 2872983 10 communauté mais pouvant communiquer avec les appareils de la communauté. On retrouve ici des appareils accessibles via Internet ou des appareils apportés par des invités dans le domicile et temporairement connectés au réseau domestique de l'utilisateur. Comme les appareils à l'intérieur de la communauté domestique sont censés se conformer à la politique de sécurité, il est généralement admis que les communications initiées par des appareils faisant partie de la communauté sont libres de sortir de la communauté. Au contraire, les communications initiées par des appareils à l'extérieur de la communauté doivent être contrôlées et leur conformité à la politique de sécurité être garantie. En pratique, l'accès aux services offerts par les appareils appartenant à la communauté doit avoir été explicitement autorisé par l'utilisateur pour que les requêtes à destination de ces services soient acceptées à la frontière de la communauté. Plus précisément, un service sur un appareil de la communauté pourra être déclaré comme public (c'est à dire que tout appareil extérieur peut y accéder), restreint (c'est à dire que l'accès à ce service par un appareil extérieur est soumis à une condition) ou privé (l'accès par un appareil extérieur est interdit). Il est alors nécessaire de vérifier la conformité des communications initiées par un appareil extérieur à la communauté à cette politique. Il est clair que la politique de sécurité décrite est un exemple et que les règles ainsi définies peuvent être modifiées sans sortir du cadre de 25 l'exemple de réalisation. Un exemple de mise en oeuvre de cette politique de sécurité va maintenant être décrit. Pour ce faire, nous allons définir la notion de pare-feu omniprésent. Du fait des contraintes déjà décrites, il est impossible de faire jouer un rôle particulier à un appareil de la communauté, la politique de sécurité devant être assurée sur tous les appareils sans présupposer la présence et l'accessibilité d'un autre appareil de la communauté sur le réseau domestique. En conséquence un service de parefeu, dit omniprésent, va être défini au niveau de chaque appareil de la communauté. La figure 2 illustre l'architecture de ce service. Elle se compose d'une base de connaissance locale, référencée 2.1, qui contient les 2872983 11 informations relatives à la politique ainsi que les informations sur l'environnement courant de l'appareil. Ces informations sont utilisées par le coeur du pare-feu omniprésent, référencé 2.5, pour générer les règles de pare-feu. Cette base de connaissance locale comprend elle-même le gestionnaire de politique locale (GPL), référencé 2.2, dont la tâche est d'acquérir, de mémoriser et de gérer l'information concernant la politique de sécurité et le module d'adaptation à l'environnement (MAE), référencé 2.3 dont le rôle est d'acquérir, mémoriser et gérer l'information sur l'environnement de l'appareil. Le module de cryptographie, référencé 2.4, s'occupe des opérations d'authentification entre l'appareil local et les autres appareils, ainsi que des clés éventuellement utilisées pour établir des canaux de communication sécurisés. Le coeur de pare-feu omniprésent, référencé 2.5, s'occupe quant à lui de générer les règles utilisées par le filtre de message, référencé 2.6, sur la base des informations contenues dans la base de connaissance locale et en utilisant éventuellement les clés obtenues du module de cryptographie. Le filtre de messages, référencé 2.6, applique les règles ainsi obtenues aux messages issus de, et dirigés vers, la couche de protocole réseau, en l'occurrence, la couche IP. Les applications, référencées 2.8 et 2.9, vont accéder à la couche de protocole réseau de manière transparente et vont recevoir les messages après application du filtre. Le gestionnaire de politique local est en charge de l'acquisition, de la mémorisation et de la gestion de la politique de sécurité. Il gère les informations pertinentes concernant la politique globale générique, qui est la même pour tous les appareils de la communauté. Un exemple de cette politique est formé des deux règles suivantes: - les appareils appartenant à la communauté domestique sont libres de communiquer entre eux, de manière sécurisée ou non. - L'accès par des appareils extérieurs à la communauté domestique aux services offerts par les appareils de la communauté est contrôlé. En utilisant cette politique générale ainsi que les informations spécifiques qu'il possède sur la communauté domestique, en particulier la liste des appareils de la communauté et leur état de connexion, ainsi que la liste des services offerts, localement ou par la communauté, et leur statut 2872983 12 public, restreint ou privé, le gestionnaire est capable de construire sa propre vue locale de la politique de sécurité. En particulier, le gestionnaire de politique locale possède une première catégorie d'informations sur les frontières de la communauté. II contient principalement des informations sur les appareils appartenant à la communauté domestique et sur la méthode permettant de les identifier et de les authentifier. Chaque dispositif de la communauté domestique dispose d'une identité prouvable, qui lui permet d'être identifié et de s'authentifier auprès des autres dispositifs de son réseau. Nous appelons "identité prouvable" une identité qu'il est facile de vérifier, mais très difficile d'usurper, et qui permet la mise en place sécurisée de matériel cryptographique. Par exemple, la clé publique d'une paire de clés publiquelprivée peut être utilisée comme identité prouvable: un dispositif prétendant être identifié par sa clé publique peut signer un challenge en utilisant sa clé privée, et est le seul à pouvoir déchiffrer un message qui a été chiffré avec sa clé publique. De plus, en se servant de leurs identités prouvables respectives, deux dispositifs peuvent créer un canal de communication sécurisé, leur permettant notamment de mettre éventuellement en place des clés de session symétriques en utilisant un protocole d'accord sur les clés par exemple. Ces clés de session point à point peuvent servir aux authentifications subséquentes et pour sécuriser les communications (authenticité et confidentialité) entre les deux dispositifs. Il existe de nombreuses méthodes connues pour assurer de manière sûre l'appartenance d'un appareil à une communauté dont celle déjà citée Gestion sécurisée de groupes de dispositifs dans un réseau domestique . Le gestionnaire de politique locale possède une seconde catégorie d'informations sur les communications autorisées à franchir la frontière de la communauté domestique ou pas. On trouve, tout d'abord, dans cette catégorie la liste des services publics offerts par le dispositif, comme par exemple les serveurs HTTP publics. On y trouve également la liste des services restreints. Ces services sont donc accessibles uniquement sous certaines conditions. Le gestionnaire possède pour chacun de ces services des informations sur les conditions qui doivent être remplies pour 2872983 13 l'accès à ce service. Un exemple de telles informations peut être un nom d'utilisateur et un mot de passe avec la méthode d'authentification utilisée, la connaissance d'une information cryptographique particulière, une liste d'appareils explicitement autorisés, un domaine dont les appareils sont autorisés ou toute autre condition. Il existe plusieurs sources d'informations pour le gestionnaire de politique locale. II peut s'agir de l'utilisateur où d'une source légitime de politique de sécurité comme un autre appareil de la communauté domestique. Certaines modifications intervenant dans la politique locale sont partagées entre les différents appareils de la communauté. Ces modifications peuvent être de plusieurs types. D'une part, l'utilisateur peut ajouter, retirer ou bannir un appareil de la communauté. L'ajout pourra se faire depuis un appareil de la communauté connecté au nouvel appareil sur lequel l'utilisateur indiquera que le nouvel appareil doit être considéré comme faisant partie de la communauté. Le retrait d'un appareil pourra se faire sur l'appareil que l'utilisateur souhaite retirer de la communauté ou sur un autre appareil y appartenant. Le bannissementconcerne la procédure par laquelle un utilisateur va indiquer à la communauté qu'un appareil auquel il n'a plus accès doit cesser d'être considéré comme un membre de la communauté. Les mécanismes permettant d'implémenter ceci sont décrits dans le document déjà cité Gestion sécurisée de groupes de dispositifs dans un réseau domestique . Ces modifications vont donc être prises en compte par tous les appareils de la communauté dès qu'il vont être en mesure de communiquer. Un autre type de changement de politique est le changement de statut d'un service sur un appareil de la communauté. Ici deux solutions peuvent être envisagées. La première consiste à dire que ne fait partie de la politique locale d'un appareil que la liste des services hébergés sur cet appareil. Dans cette optique il n'y pas de nécessité à diffuser sur les autres appareils un changement d'état d'un service se produisant sur un appareil. La conséquence de cette solution est que le blocage d'une requête non autorisée pour un service hébergé sur un appareil donné ne pourra se faire que sur ce même appareil. Les autres appareils du réseau n'ayant pas connaissance du statut des services vont donc relayer la requête sans pouvoir en vérifier la conformité à la politique de sécurité. La seconde 2872983 14 solution consiste à diffuser les informations d'état des services sur tous les appareils de la communauté. Dans ce cas, tout changement dans l'état d'un service sur un appareil sera automatiquement envoyé à tous les appareils connectés de la communauté. Une mise à jour aura lieu sur les appareils non connectés au moment du changement lors de leur prochaine connexion. Cette solution permet de bloquer une requête non conforme dès son arrivée sur le premier appareil de la communauté. Le changement de l'état d'un service par l'utilisateur peut n'être autorisé que sur l'appareil hébergeant le service. Dans ce cas, il ne peut pas y avoir de conflit de politique lors de la connexion de deux partitions de la communauté, l'état défini dans la partition hébergeant le service étant toujours considéré comme l'état correct à diffuser sur les appareils de l'autre partition. Dans le cas où l'on autorise l'utilisateur à changer l'état d'un service depuis n'importe quel appareil de la communauté il peut arriver que l'on connecte deux partitions de la communauté ayant un état différent pour un service donné. Ce genre de conflit peut être réglé, soit en tenant compte de l'horaire du dernier changement d'état, soit en sollicitant l'arbitrage de l'utilisateur pour confirmer le choix entre les deux états. Le module d'adaptation à l'environnement est, lui, responsable de la gestion de l'association entre l'identité des appareils et l'adresse réseau, en l'occurrence IP, qu'ils possèdent à un moment donné. En effet cette information est indispensable lorsque l'on veut envoyer un message à un appareil que l'on ne connaît, sinon, que sous son identité prouvable. Ce module garde également l'association entre les adresses et les identités des appareils privilégiés ayant accès à la communauté. C'est-àdire des appareils qui bien que ne faisant pas partie de la communauté vont avoir un accès privilégié à certains services de la communauté. Une des multiples solutions pour que ce module puisse acquérir et maintenir à jour les associations entre les identités des appareils et leur adresse sur le réseau consiste, pour chaque appareil à diffuser périodiquement son adresse et son identité sur le réseau. Lorsque le module d'adaptation à l'environnement reçoit un message de ce type, il peut alors vérifier que cette identité est légitime pour lutter contre une usurpation toujours possible. C'est également ce module qui est en charge de diffuser les messages d'annonces 2872983 15 périodiques de façon à ce que les MAE des autres appareils puissent également se mettre à jour. Le module de données cryptographiques va, quant à lui, avoir au moins deux fonctions principales. D'une part il va être en charge de la gestion de l'identité prouvable de l'appareil. D'autre part, il va également servir à construire des canaux de communications sécurisés. En effet, comme on ne peut empêcher un appareil extérieur et potentiellement mal intentionné, d'accéder physiquement au réseau, il peut être utile de sécuriser les communications entre les appareils de la communauté. Il est donc possible de créer un réseau privé virtuel regroupant les appareils de la communauté domestique. Du fait des propriétés de connexion erratiques au sein du réseau domestique l'établissement d'un canal de communication sécurisé ne doit pas requérir la présence de plus de deux appareils dans la communauté. Basé sur la connaissance locale qu'il a de la communauté, chaque appareil est à même d'assurer la sécurité point à point de ses communications avec les autres appareils. Pour des raisons de performance, l'utilisation de cryptographie symétrique est privilégiée, mais il est évident que l'on peut également utiliser de la cryptographie asymétrique. L'utilisation de cryptographie symétrique nécessite la mise en place symétrique de clés point à point dans les appareils. Pour des raisons de facilité d'utilisation, il n'est pas possible de demander à l'utilisateur de définir et d'entrer ces clés symétriques dans les appareils. De plus ce serait contre productif au niveau de la sécurité : l'utilisateur risque en effet de choisir des clés faibles. La mise en place des clés peut être faite, par exemple, en utilisant le protocole STS ( Station To Station en anglais) défini dans le document Authentication and authenticated key exchanges. Design Codes and Cryptograhpy, 2:107-125, 1992, par W. Diffie, P. van Oorschot, and M. Wiener. Les clés sont donc mises en place de façon non conditionnelle et sans intervention de l'utilisateur qui n'est pas en connaissance des clés utilisées. Ceci permet d'obtenir un bon niveau de sécurité ainsi qu'une bonne ergonomie du système. Un autre avantage de ce système de clés point à point est sa résistance à la corruption d'un appareil. En effet, si un attaquant se trouvait prendre le contrôle d'un appareil, les communications entre les autres appareils ne sont pas compromises du fait que les clés sont strictement point à point entre chaque paire d'appareils de la communauté. Le système fonctionne, de plus, dès la 2872983 16 présence de deux appareils dans la communauté domestique. La taille limitée d'une communauté domestique et la gestion totalement distribuée des clés fait que le nombre de clés à gérer par appareil croît linéairement avec la taille de la communauté et reste raisonnable. Le coeur du pare-feu est en charge de la génération des règles de parefeu qui vont être utilisées par le filtre. Cette génération se fait à partir des règles de politique de la façon suivante. Dans un premier temps, le coeur du pare-feu va établir les règles autorisant les communications nécessaires au fonctionnement du pare-feu omniprésent. II s'agit des messages échangés entre les MAE pour annoncer et détecter les appareils avec lesquels on peut communiquer, ainsi que des messages échangés par les modules de cryptographie pour permettre l'authentification et l'échange de clés point à point dans le cas où l'on met en place des canaux de communication sécurisés. Ces messages entre les modules de cryptographie, bien que non indispensable au fonctionnement d'un pare-feu omniprésent, sont nécessaires à l'établissement d'un niveau élevé de sécurité au sein de la communauté domestique. Il faut également autoriser les messages entre les bases de connaissance locales, ainsi, éventuellement, que ceux utiles à l'obtention d'une adresse réseau comme une requête DHCP ou autre. Toutes ces communications sont autorisées sans être sécurisées (chiffrés ou authentifiés) au niveau du filtre. Dans un second temps, le coeur du pare-feu va établir les règles permettant la communication entre appareils de la communauté. Tout message en provenance d'une adresse identifiée par le module d'adaptation à l'environnement comme appartenant à la communauté va être éventuellement déchiffré et son authenticité va être éventuellement vérifiée, grâce à l'identité prouvable de la source connue, ou la ou les clés symétriques mises en place par le module cryptographique. Si l'authentification est mise en place, le message sera accepté si l'authentification est correcte et refusé sinon. Si aucune authentification n'est mise en place, le message est accepté. De même, pour tout message à destination d'un appareil de la communauté, on va éventuellement procéder à son chiffrement et à son 2872983 17 authentification en se basant sur l'identité prouvable de la destination, ou sur la ou les clés symétriques mises en place par le module cryptographique, puis à son envoi. Le coeur du pare-feu va aussi définir les règles régissant les communications relatives aux services privilégiés. Les règles doivent mettre en oeuvre les vérifications des conditions d'accès. Par exemple, si la politique indique qu'un appareil possédant telle identité prouvable peut accéder à un service privilégié donné, on peut ici utiliser le MAE pour connaître l'adresse IP correspondant à cette identité prouvable pour générer la règle autorisant les requêtes à destination de ce service et en provenance de cette adresse. II est également possible d'utiliser les propriétés du groupe de protocoles IP sécurisé IPsec pour filtrer les requêtes à un service chiffrées à l'aide d'un secret partagé. On peut trouver la spécification du groupe de protocoles IPsec dans les RFC, requête pour commentaire ( request for comments en anglais), maintenu par l'IETF, groupe de travail d'ingénierie Internet ( Internet Engineering Task Force en anglais) sous le numéro 2401, et la description d'une partie des protocoles qui le composent AH, ESP et IKE respectivement sous les numéros 2402, 2406 et 2409. Par contre, les services dont l'accès est sécurisé par une méthode d'authentification de plus haut niveau seront déclarés comme services publics et dans ce cas l'authentification se fera au niveau du service. On peut citer dans ce cas l'accès à un serveur HTTP accessible par un nom d'utilisateur et un mot de passe. Dans ce cas, les vérifications ne sont pas possibles au niveau de la couche de protocole réseau. Le coeur du pare-feu va de même générer les règles autorisant les communications relatives aux services publics et ce quel que soit la source des messages. Enfin, le coeur du pare-feu va générer les règles interdisant toute connexion entrante autre que celles explicitement autorisées par une des règles ci-dessus et autorisant toute connexion sortante. En effet, par défaut, tous les services sont considérés comme privés. Ces règles sont régénérées à chaque modification de la politique de sécurité, ou lorsque l'environnement de l'appareil est modifié. Ces 2872983 18 modifications peuvent venir de la modification de la topologie, c'est-à-dire de l'ajout ou du retrait d'un ou de plusieurs appareils du réseau. On peut ici remarquer que le retrait d'un appareil du réseau, c'est à dire la perte de connectivité d'un appareil qui ne quitte pas la communauté, ne nécessite pas une nouvelle génération des règles de parefeu. Pas plus que qu'un retour de connectivité tant que son adresse IP n'est pas modifiée. Donc seul le changement d'adresse IP d'un appareil de la communauté ou d'un appareil autorisé à accéder à un service privilégié, le retrait, l'ajout et le bannissement d'un appareil de la communauté sont des événements nécessitant une nouvelle génération des règles de pare-feu. Cette modification peut également venir de la modification de la politique concernant un service disponible au sein de la communauté. Comme nous l'avons vu, cette modification peut être gérée uniquement localement sur l'appareil hébergeant le service qui devra seul générer un nouvel ensemble de règle ou cette modification peut être diffusée au sein de la communauté et nécessiter alors une nouvelle génération sur tous les appareils de la communauté. Comme cette génération est totalement automatisée, l'appareil dispose à tout instant d'un ensemble de règles de pare-feu cohérent avec la politique de sécurité dont il a connaissance. L'utilisateur est la seule autorité au sein de la communauté. II est donc le seul qui puisse définir le statut, public, privé ou restreint, des services offerts par les appareils qu'il possède. Pour ce faire, il va devoir s'authentifier sur l'appareil hébergeant le service dont il veut modifier le statut. La façon de s'authentifier sur l'appareil va dépendre de l'appareil et n'est pas nécessairement uniforme au sein de la communauté. II peut s'agir d'un code à entrer sur un téléphone mobile, d'un mot de passe sur une télévision ou autre. Une fois authentifié comme autorité sur l'appareil, l'utilisateur se voit présenter une liste des services offerts par l'appareil et peut en modifier le statut. Pour les services restreints, il peut également préciser la condition d'accès comme le secret partagé à utiliser par exemple. La figure 3 représente un exemple d'architecture générale d'un appareil, référencé 3.1, prenant part à un dispositif de pare-feu. Un tel appareil comporte une interface réseau, référencée 3.6, destinée à connecter l'appareil au réseau référencé 3.7. Il comporte également une mémoire permanente, référencée 3.5, destinée à stocker les programmes 2872983 19 nécessaires à l'exécution du pare-feu selon l'architecture de la figure 2. Ces programmes seront chargés dans la mémoire vive, référencée 3.3, pour l'exécution par le processeur central référencé 3.2. Tous ces éléments seront reliés entre eux par un bus de communication référencé 3.4. II est évident pour l'homme du métier, que cette architecture peut varier dans l'agencement de ces moyens et n'est qu'un exemple d'architecture d'un appareil à même d'implémenter un pare-feu omniprésent. De cette façon, nous avons défini un pare-feu omniprésent, fonctionnant sur chaque appareil d'une communauté d'appareils domestiques. Ce pare-feu va mettre en oeuvre une politique de sécurité cohérente et uniforme au sein de toute la communauté et la protéger en filtrant les communications. Ce pare-feu est totalement distribué sur chaque appareil et aucun appareil ne joue de rôle particulier dans son fonctionnement. Cette politique évolue dynamiquement et s'adapte automatiquement aux évolutions de la connectivité au sein de la communauté. L'utilisateur peut modifier cette politique facilement sans devoir connaître le détail de l'implémentation du pare-feu. II apparaîtra à l'homme du métier que l'on peut implémenter l'invention dans le cadre de réseau répondant à divers protocoles de communication y compris non basés sur IP et que l'on ne sort pas du cadre de l'invention en modifiant les règles de la politique de sécurité appliquées ou en modifiant le découpage fonctionnel de l'architecture présentée pour le pare-feu omniprésent. REVENDICATIONS 1. Système de pare-feu permettant de sécuriser une communauté d'appareils interconnectables partageant un ensemble d'au moins une règle de sécurité globale commune, chaque appareil de la communauté possédant des moyens de stocker une politique locale de sécurité constituée au moins de règles globales de sécurité, d'une liste des membres de la communauté ainsi que de leur état de connexion et d'une liste de services offerts localement, une pluralité d'appareil de la communauté comprenant un filtre de messages à destination et en provenance du réseau auquel il est connecté caractérisé en ce que, le système ne comprenant aucun moyen centralisé, il possède sur chaque appareil de la communauté des moyens locaux de calcul des règles utilisées par le filtre en fonction de la politique locale de sécurité. 2. Système selon la revendication 1 qui possède sur chaque appareil de la communauté des moyens de mise à jour de la politique locale de sécurité et de déclencher un nouveau calcul des règles utilisées par le filtre. 3. Système selon la revendication 2 possédant des moyens de déclenchement d'un nouveau calcul des règles utilisées par le filtre en réaction à des changements intervenant sur le réseau. 4. Système selon la revendication 3 où les changements pris en compte pour déclencher un nouveau calcul des règles utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement d'un appareil de la communauté et le changement de statut d'un service hébergé sur un appareil de la communauté. 5. Système selon la revendication 3 où les changements pris en compte pour déclencher un nouveau calcul des règles de pare-feu utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement 2872983 21 d'un appareil de la communauté et le changement de statut d'un service hébergé localement sur l'appareil. 6. Système selon la revendication 1 qui possède sur chaque appareil de la communauté des moyens de déterminer la liste des appareils extérieurs à la communauté possédant des accès privilégiés à au moins un service offert par un appareil de la communauté, cette liste étant intégrée à la politique locale de sécurité. 7. Appareil comportant des moyens pour appartenir à une communauté d'appareils interconnectables partageant un ensemble d'au moins une règle de sécurité globale commune, possédant des moyens de stockage d'une politique locale de sécurité constituée au moins de règles globales de sécurité, d'une liste des membres de la communauté ainsi que de leur état de connexion et d'une liste de services offerts localement, ledit appareil possédant un pare-feu comprenant un filtre des messages à destination et en provenance du réseau auquel il est connecté caractérisé en ce qu'il possède des moyens locaux de calcul des règles de pare-feu utilisées par le filtre en fonction de la politique locale de 20 sécurité, ne faisant appel à aucun moyens centralisés. 8. Appareil selon la revendication 7 qui possède des moyens de mise à jour de la politique locale de sécurité et de déclencher automatiquement un nouveau calcul des règles utilisées par le filtre. 9. Appareil selon la revendication 8 qui possède des moyens de déclenchement d'un nouveau calcul des règles utilisées par le filtre se fait en réaction à des changements intervenant sur le réseau. 10. Appareil selon la revendication 9 où les changements pris en comptes pour déclencher un nouveau calcul des règles utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement d'un appareil de la communauté et le changement de statut d'un service hébergé sur un appareil de la communauté. 2872983 22 11. Appareil selon la revendication 9 où les changements pris en comptes pour déclencher un nouveau calcul des règles de pare-feu utilisées par le filtre sont au moins l'un parmi les suivant: le changement d'adresse réseau d'un appareil de la communauté, l'ajout, le retrait ou le bannissement d'un appareil de la communauté et le changement de statut d'un service hébergé localement sur l'appareil. 12. Appareil selon la revendication 7 qui possède des moyens de déterminer la liste des appareils extérieurs à la communauté possédant des accès privilégiés à au moins un service offert par un appareil de la communauté, cette liste étant intégrée à la politique locale de sécurité. 13. Méthode de mise à jour de règles utilisées par un pare-feu constitué d'un filtre des messages à destination et en provenance du réseau auquel est connecté l'appareil implémentant la méthode, l'appareil faisant partie d'une communauté d'appareils interconnectables partageant un ensemble d'au moins une règle de sécurité globale commune, l'appareil possédant des moyens de stocker une politique locale de sécurité constituée au moins de règles globales de sécurité, d'une liste des membres de la communauté ainsi que de leur état de connexion et d'une liste de services offerts localement, lesdites règles étant calculées en fonction de la politique locale de sécurité, comportant au moins les étapes suivantes: - la détection de l'ajout, du retrait et du bannissement d'un appareil de la communauté ; - la détection des changements d'adresse réseau d'un appareil de la communauté ; - le déclenchement d'un nouveau calcul des règles en réponse au changement de la politique locale de sécurité. 14. Méthode selon la revendication 13 possédant en outre une étape de détection des changements de statut des services hébergés par l'appareil. 15. Méthode selon la revendication 13 possédant en outre une 35 étape de détection des changements de statut des services hébergés par un appareil de la communauté 2872983 23 16 Méthode selon la revendication 14 ou 15 où le déclenchement d'un nouveau calcul des règles de pare-feu est lié à la détection de l'ajout, du retrait et du bannissement d'un appareil de la communauté, à la détection du changement d'adresse IP d'un appareil de la communauté et du changement de statut d'un service.