Brevet FR2842376A1 — publié le 20040116

La présente invention concerne un procédé de communication entre objets comprenant chacun une mémoire dans laquelle se trouve une même application mathématique fonction de plusieurs variables et au moins une clé, et communiquant entre eux grâce à un même protocole. Ces objets sont, par exemple, utilisés pour la gestion technique et la gestion du confort dans un bâtiment d'habitation ou dans un bâtiment commercial. Un problème rencontré dans les réseaux de communication est la multiplicité de provenances et de fonctionnalités des produits, ceux-ci devant cependant partager les ressources d'un même réseau de communication. En effet, il est souvent nécessaire d'utiliser un mode d'adressage dit de type " Broadcast " lorsqu'on veut émettre un ordre vers l'ensemble des noeuds d'un réseau. Lorsque la communication dans le réseau se fait par ondes radioélectriques, l'effet de cette opération ne se limite pas au seul réseau concerné, mais à l'ensemble des produits répondant au même protocole et situés dans la zone de portée. Par exemple, les produits des appartements voisins seront également atteints, dans le cas d'un immeuble d'habitation. Une telle transmission d'ordres à diffusion large ne correspond pas à une opération de sécurité. Il s'agit par exemple de la mesure de température d'un capteur. Mais, si cette opération nécessite l'envoi d'un accusé de réception, on comprend que le fait de solliciter inutilement les récepteurs d'autres réseaux risque d'engendrer un encombrement et/ou la saturation du réseau concerné. Le réseau peut être utilisé aussi bien pour la commande d'appareils de chauffage et climatisation que pour des appareils d'éclairage, ou encore pour commander des ouvrants de ventilation, des fermetures ou des protections solaires. Ces appareils sont réalisés par différents fabricants qui ont le plus souvent intérêt à partager un même réseau de communication, pour permettre de coordonner des actions, hier indépendantes, et pour augmenter ainsi confort et économies d'énergie. Il est en général indispensable de structurer un tel réseau, ne serait-ce que pour créer des appariements entre des objets émetteurs d'ordres et des objets récepteurs d'ordres, un même émetteur pouvant commander plusieurs récepteurs et/ou plusieurs émetteurs pouvant commander un même récepteur. Une structure arborescente peut ainsi être constituée, selon des procédés connus de l'état de la technique. De la demande de brevet EP l 085 481, on connaît un moyen et un procédé permettant à un émetteur maître de diffuser une clé d'authentification auprès d'autres éléments. En effet, le protocole de communication prévoit en général une ou plusieurs procédures d'authentification afin qu'un récepteur d'ordre obtienne la certitude que l'émetteur d'ordre dont il reçoit une commande est autorisé à le commander. L'apparition de dispositifs bidirectionnels à faible cot incite à construire l'authentification autour d'un dialogue entre les deux unités, ceci en utilisant une procédure inviolable même en cas de réception d'une partie du dialogue par un tiers non autorisé. Ces méthodes de dialogue se sont notamment développées dans les applications de monétique. Du brevet US 3,806,874, on connaît un tel procédé. Le principe général est de loger, dans chaque unité, un même algorithme non linéaire, utilisé pour mettre en oeuvre une procédure dite de " challenge ". Lorsqu'un émetteur d'ordres B veut envoyer un ordre à un récepteur d'ordres A requérant l'authentification de l'émetteur, celui-ci doit apporter la preuve qu'il est autoriser à transmettre un ordre. Pour ce faire, le récepteur d'ordres A envoie à l'émetteur B un nombre NA, par exemple aléatoire. Chacune des parties calcule l'image de NA à l'aide de son algorithme. Quand le calcul est terminé, l'émetteur B transmet son résultat RB à A qui le compare à son propre résultat RA. Si RA = RB, alors le challenge est positif et l'émetteur B peut envoyer un ordre au récepteur A. Bien entendu, ce ne sont pas des algorithmes individuels de calcul, propres à chaque lien, qui sont dupliqués dans les unités devant communiquer. Toutes les unités partagent en général le même algorithme, mais celui-ci est au moins une fonction de deux variables R(K, N) dont une des variables K est la clé commune, partagée lors de l'établissement d'un lien de communication dans une phase préalable de configuration et dont l'autre variable N est la valeur de calcul, en général aléatoire, transmise lors de chaque procédure de challenge. Chaque procédure d'appariement nécessite ainsi le partage d'une clé d'authentification K entre deux objets. Selon l'art antérieur, tous les objets appartenant à un même groupe partagent une même clé d'authentification, mais cette clé est normalement utilisée pour valider une pluralité de communications point à point. Un moyen simple de s'adresser à un groupe d'objets parmi l'ensemble pour diffuser une information ou une commande vers ce groupe serait d'accompagner le message par la clé commune d'authentification. Chaque récepteur pourrait alors s'assurer que cette clé est identique à celle qu'il possède. Un récepteur pour lequel ce ne serait pas le cas saurait qu'il n'est pas concerné, et pourrait passer en mode repos. Cependant, cette solution présente un inconvénient majeur. En effet, ce procédé divulgue la clé commune ce qui fait perdre toute sécurité à l'ensemble du réseau. On pourrait procéder de même, non pas avec la clé mais avec un identifiant de groupe, qui aurait été partagé entre tous les objets du réseau, cette fois de manière non confidentielle. Cette méthode paraît simple, mais elle présente, elle aussi, un inconvénient car elle conduit à doubler l'information confidentielle (clé) indispensable par une information publique (identifiant) et donc à augmenter les ressources de mémoire nécessaires. Le but de l'invention est de fournir un procédé de communication palliant ces inconvénients. En particulier, elle se propose de fournir un procédé de communication simple et sr permettant l'envoi d'un ordre, depuis un objet vers des objets d'un même réseau parmi l'ensemble des objets utilisant le même protocole de communication ou l'envoi d'un ordre, depuis un objet vers un groupe d'objets parmi l'ensemble des objets appartenant au réseau. L'invention a encore pour but de réaliser une installation permettant la mise en oeuvre d'un tel procédé. Le procédé de communication selon l'invention est caractérisé en ce qu'il comprend les étapes suivantes: - génération, par un premier objet dit émetteur, d'un nombre ou de plusieurs nombres, par exemple aléatoires, calcul, dans l'émetteur, de l'image de ce nombre par une application ellemême image par l'application contenue en mémoire, de la clé que contient l'émetteur ou des images de ces nombres par des applications elles-mêmes images par l'application contenue en mémoire, des clés que contient l'émetteur, - émission, par l'émetteur, d'une trame contenant au moins un ordre, le nombre généré par l'émetteur et son image ou les nombres générés par l'émetteur et leurs images, - réception de cette trame, par chacun des autres objets dits récepteurs, - calcul, dans chaque récepteur, de l'image du nombre généré par l'émetteur par une application elle-même image par l'application contenue en mémoire, de la clé que contient chaque récepteur ou des images de ces nombres générés par l'émetteur par des applications elles-mêmes images par l'application contenue en mémoire, des clés que contient chaque récepteur, - comparaison, dans les récepteurs, de l'image propre à chaque récepteur à l'image propre à l'émetteur, ou des images propres à chaque récepteur aux images propres à l'émetteur, - exécution de l'ordre par le ou les objets dont l'image est égale à l'image de l'émetteur ou exécution de l'ordre par le ou les objets dont les images ou certaines des images sont égales aux images de l'émetteur. Les objets peuvent appartenir à un même réseau. La clé ou les clés que contient chaque objet peuvent avoir été partagées par plusieurs objets lors d'une phase préalable de configuration. La clé ou l'une des clés que contient chaque objet peut être la même pour chaque objet ayant été fabriqué par un même constructeur ou par un même groupe de constructeurs. L'installation utilisant le procédé et comprenant les objets est caractérisée en ce que chaque objet comprend une mémoire dans laquelle est enregistrée une même application mathématique et des moyens de communication avec les autres objets. Le dessin annexé représente, à titre d'exemple, un mode d'exécution du procédé de communication selon l'invention. La figure 1 est un ordinogramme du procédé selon l'invention. La figure 2 est un schéma représentant les informations contenues dans la trame d'un message émis par un objet communiquant selon le procédé. La figure 3 est un schéma représentant les informations contenues dans la trame d'un message émis par un objet communiquant selon une variante du procédé. Le procédé de communication s'applique à un réseau comprenant des objets O munis chacun d'une mémoire contenant une application mathématique F fonction de deux variables. Cette mémoire est aussi destinée à contenir des clés K, c'est-à-dire des informations confidentielles. Les objets O du réseau comportent chacun des moyens de communication pouvant être unidirectionnels ou bidirectionnels. On note Oi l'objet numéro i dans le réseau. On note Kni la clé numéro n de l'objet Oi. A la figure 1, représentant l'ordinogramme du procédé de communication, l'objet Q1 et les objets Oi utilisent un même protocole de communication. Les objets O1 et Oi ont respectivement en mémoire une clé Kil et Kli. Cette information a été enregistrée en mémoire pendant une phase de configuration du réseau ou de fabrication des objets. La configuration du réseau ayant été réalisée lors d'une phase préalable, on se place dans la situation o chaque objet 01, Oi active respectivement un programme 100 d'écoute du réseau. Une action, par exemple un appui sur une combinaison de touches du clavier de l'objet 01, représentée par la flèche Al provoque l'activation d'un programme 110 d'émission d'ordre. Ce programme: - génère un nombre aléatoire Ni, - calcule l'image Rlh de ce nombre aléatoire Ni par l'application FK11, image de Kil par l'application F. - provoque l'émission d'une trame TG, représentée par une flèche à la figure 1. Cette trame contient, comme représentée à la figure 2, un ordre Ci, le nombre aléatoire Ni généré par l'objet émetteur Qi et l'image Rl1 du nombre aléatoire Ni par l'application FK11. Les autres objets Oi du réseau reçoivent la trame TG et l'analysent chacun à l'aide d'un programme 120. Dans chaque objet Oi, ce programme: - identifie dans la trame TG les différents éléments Cl, Ni et Rll, - calcule l'image Rhi de ce nombre aléatoire Nl par l'application FKli, elle-même image de Kli par l'application F. Un programme de test 130 est ensuite activé dans chaque objet Oi. Celui-ci compare l'image Rli calculée par l'objet Oi et l'image Rll calculée par l'objet 01. Si ces deux valeurs sont égales, un programme 140i spécifique à chaque objet Oi est activé. Ce programme permet l'exécution de l'ordre Cl par l'objet Oi. Il provoque l'envoi facultatif, vers l'objet émetteur Cl ayant émis l'ordre, d'une trame Tli d'accusé de réception puis active le programme 100 d'écoute du réseau. Si l'image Rli calculée par l'objet Oi est différente de l'image Rîl calculée par l'objet C1. L'objet Oi n'est pas concerné par l'ordre puisque son propre résultat de calcul n'est pas celui qui accompagnait la trame de diffusion et active le programme 100 d'écoute du réseau. Pour que les objets Oi soient concernés par les ordres contenus dans les trames émises par l'objet émetteur Cl, il est nécessaire que les objets Oi aient en mémoire une clé Kli égale à la clé Kll contenue en mémoire dans l'objet émetteur 01. Ces clés doivent avoir été partagées lors d'une phase préalable de configuration du réseau. Les objets ayant une même clé constituent un groupe. Les techniques de création de groupe ou de réseau parmi des objets communiquant à Il l'aide d'un même protocole sont connues de l'homme du métier. Les clés peuvent aussi être enregistrées en mémoire lors de la fabrication des objets et être communes à un constructeur d'objets, voire à un groupe de constructeur d'objets. L'invention s'applique aussi au cas o plusieurs clés Kni peuvent être connues d'un même objet Ci, du fait de son appartenance à plusieurs groupes différents. Une variante du mode d'exécution décrit consiste donc à inclure dans la trame une information sur la clé à utiliser. Dans le cas le plus simple, cette information est un numéro d'ordre. Par exemple, si dans la trame, il est dit que le critère de diffusion de l'ordre est la clé 3, alors tous les objets Oi qui reçoivent la trame réalisent le calcul portant sur Ni avec l'application image de la clé K3i par l'application F. Enfin, la figure 3 montre comment il est possible, dans une seule trame de diffusion, de procéder à une désignation sélective associant deux critères. Le champ contenant un ordre C2 contient un code particulier indiquant qu'il s'agit d'une diffusion multicritère, en précisant éventuellement le type ou l'ordre des clés à utiliser. La trame contient alors au moins deux nombres générés N2, N3 par l'objet émetteur Ol et les images R21, R31 de ces nombres par les applications associées à deux clés différentes contenues dans l'objet émetteur 01. Dans ce cas, le programme 120 doit être itéré sur le couple N2, R21 et sur le couple N3, R31 pour déterminer si l'objet est concerné par la diffusion. On peut alors utiliser des fonctions logiques conditionnant l'exécution de l'ordre transmis dans la trame. Par exemple, l'ordre sera exécuté par l'objet si l'un ou l'autre des tests est réussi ou l'ordre sera exécuté par l'objet si l'un et l'autre des tests sont réussis. Enfin, le procédé peut s'appliquer à des transmissions cryptées. Les manipulations mathématiques ou logiques appliquées pour effectuer l'authentification peuvent être de toute nature. La clé peut être partagée en tant que telle ou sous une forme dérivée, différente dans chaque objet. Le procédé selon l'invention est particulièrement intéressant lorsque les différents objets communiquent entre-eux à distance grâce, par exemple, à des ondes radioélectriques ou infrarouges. Cependant, le principe de l'invention peut aussi être appliqué lorsque les objets communiquent entre eux grâce à des moyens filaires. Revendications 1. Procédé de communication entre objets comprenant chacun une mémoire dans laquelle se trouve une même application mathématique F fonction de plusieurs variables et au moins une clé et communiquant entre eux grâce à un même protocole, caractérisé en ce qu'il comprend les étapes suivantes: - génération, par un premier objet Ol dit émetteur, d'un nombre Ni ou de plusieurs nombres Nnl, par exemple aléatoires, - calcul, dans l'émetteur 01, de l'image R11 de ce nombre Ni par une application FK11 elle-même image par l'application F contenue en mémoire, de la clé Kil que contient l'émetteur Ol ou des images Rnl de ces nombres Nnl par des applications FKnl elles-mêmes images par l'application F contenue en mémoire, des clés Knl que contient l'émetteur 01, - émission, par l'émetteur 01, d'une trame TG contenant au moins un ordre Ci, le nombre Ni généré par l'émetteur Cl et son image Ri ou les nombres Nni générés par l'émetteur C1 et leurs images Rnl, - réception de cette trame TG, par chacun des autres objets Oi dits récepteurs, - calcul, dans chaque récepteur oi, de l'image Rli du nombre Ni généré par l'émetteur Oi par une application FKli elle-même image par l'application F contenue en mémoire, de la clé Kli que contient chaque récepteur Oi ou des images Rni de ces nombres Nni générés par l'émetteur Cl par des applications FKni elles-mêmes images par l'application F contenue en mémoire, des clés Kni que contient chaque récepteur oi, - comparaison, dans les récepteurs oi, de l'image Rhi propre à chaque récepteur Oi à l'image Rll propre à l'émetteur 01, ou des images Rni, propres à chaque récepteur Oi aux images Rnl propres à l'émetteur 1, - exécution de l'ordre Cl par le ou les objets Oi dont l'image Rli est égale à l'image Rll ou exécution de l'ordre Ci par le ou les objets Oi dont les images ou certaines des images Rni sont égales aux images Rnl. 2. Procédé selon la revendication 1, caractérisé en ce que les objets appartiennent à un même réseau. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que la clé Kli ou les clés Kni que contient chaque objet Oi ont été partagées par plusieurs objets Oi lors d'une phase préalable de configuration. 4. Procédé selon la revendication 1 ou 2, caractérisé en ce que la clé Kli ou l'une des clés Kni que contient chaque objet Oi est la même pour chaque objet Oi ayant été fabriqué par un même constructeur. 5. Procédé selon la revendication 1 ou 2, caractérisé en ce que la clé Kli ou l'une des clés Kni que contient chaque objet Oi est la même pour chaque objet Oi ayant été fabriqué par un même groupe de constructeurs. 6. Installation utilisant le procédé selon l'une des revendications précédentes et comprenant des objets Cl et Oi, caractérisée en ce que chaque objet Cl et Oi comprend une mémoire dans laquelle est enregistrée une même application mathématique F et des moyens de communication avec les autres objets.