EP1665195A1 - Procede de communication entre objets - Google Patents
Procede de communication entre objetsInfo
- Publication number
- EP1665195A1 EP1665195A1 EP04744332A EP04744332A EP1665195A1 EP 1665195 A1 EP1665195 A1 EP 1665195A1 EP 04744332 A EP04744332 A EP 04744332A EP 04744332 A EP04744332 A EP 04744332A EP 1665195 A1 EP1665195 A1 EP 1665195A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- receiver
- transmitter
- signal
- integrity
- command
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000006854 communication Effects 0.000 title claims abstract description 30
- 238000004891 communication Methods 0.000 title claims abstract description 29
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 70
- 230000015654 memory Effects 0.000 claims description 27
- 238000009434 installation Methods 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 17
- 238000012360 testing method Methods 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000004519 manufacturing process Methods 0.000 claims description 3
- 230000001143 conditioned effect Effects 0.000 claims 2
- 230000005540 biological transmission Effects 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 14
- 125000004122 cyclic group Chemical group 0.000 description 11
- 238000000638 solvent extraction Methods 0.000 description 6
- 238000005096 rolling process Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C23/00—Non-electrical signal transmission systems, e.g. optical systems
- G08C23/04—Non-electrical signal transmission systems, e.g. optical systems using light waves, e.g. infrared
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
Definitions
- the invention relates to a communication method according to the preamble of claim 1. It also relates to an installation for the implementation of such a method.
- Document DE 197 54377 discloses an installation providing elements of solutions to these drawbacks.
- This document describes a receiver containing two decoding algorithms in memory to allow the reception of information from different transmitters. It is thus possible to receive information from two different types of transmitter (a manufacturer transmitter, a universal transmitter, whose coding algorithm is to be recorded in the receiver). These coding and decoding algorithms are of the rolling code type.
- a such an installation could be applied to a home automation application but it would however have some drawbacks. Indeed, the receiver must at each transmission of a signal by a command transmitter decode the signal and read the corresponding message before determining if it is authorized to receive information from this transmitter.
- These operations, in particular the decoding operation use significant computation resources of the receiver. It is therefore easy to understand that if such an installation is used for a home automation application, the computing resources of the various receivers of the network would frequently be used to decode orders that are not intended for them. This is particularly problematic in the case of standalone applications.
- a factory production control installation makes it possible to secure a message without transmitting the identifier of the receiver: a control value is generated by calculation from the identifier of the expected receiver and of the message. On receipt of the message, a new control value is calculated by the receiver from the message and its identifier. If the control values are equal, the message is accepted. It is therefore a means of identifying a receiver via the control value without sending the identifier of the receiver in the message.
- the frames of the messages sent by the sensors are composed in several different ways depending on the degree of criticality of the information they contain.
- Each message thus created includes the generation of a control value from the code associated with the information if the latter is non-critical and from the identifier of the receiver and from the code associated with the information if the latter is critical, with or without transmission of the receiver identifier.
- the communication method described uses a calculation algorithm, for example of the CRC (Cyclic Redundancy Check) type, to generate the different control values, these then being each the result of a function of different variables.
- CRC Cyclic Redundancy Check
- the purpose of this embodiment is to eliminate any possible interference in the context of a complex monitoring system employing a large number of controllers and actuators. It does not provide a solution in terms of interoperability or compartmentalization of certain transmitters.
- Document EP 0 805 575 discloses a method for securing communications between a command transmitter and a command receiver.
- the verification method by calculating a cyclic redundancy code is used simultaneously to generate a digital signature.
- a first step learn mode
- a certain amount of information is shared between the sender and the receiver (identifiers, addresses, cyclic redundancy code calculation algorithm, encryption keys).
- a second step encryption mode
- this sharing of information is verified from a random number, without the encryption keys being transmitted again (generation and calculation of a cyclic redundancy code initialized by the keys encryption). This information is then locked.
- the system works as in encryption mode, i.e.
- Each cyclic redundancy code calculation function therefore corresponds to a cyclic redundancy code calculation algorithm whose parameters are the encryption keys exchanged.
- a cyclic redundancy code calculation function is assigned to one or more transmitters and / or receivers which share the same encryption keys. The cyclic redundancy code calculation functions are determined during pairing between the receiver and the transmitter.
- the object of the invention is to provide a method which overcomes the aforementioned drawbacks and which presents an improvement over the known methods of the prior art.
- the method according to the invention allows partitioning or interoperability of the various elements making up the network. It also makes it possible to minimize the demand on the means of calculation of the receivers when an order received by the receiver is not intended for it.
- the remote communication method according to the invention is characterized by the characterizing part of claim 1.
- Figure 1 is a diagram of an installation according to the invention.
- Figure 2 is a diagram of a communication signal frame between the different elements of the installation.
- FIGS. 3 and 4 are flowcharts illustrating certain steps of the method according to the invention.
- FIG. 5 is a flowchart illustrating certain steps in configuring the method according to the invention.
- the installation 1 shown in FIG. 1 comprises two command transmitters 3a of a first type, a command transmitter 3b of a second type and two command receivers 2.
- the command transmitters 3a, 3b and the order receivers 2 are designed to communicate with each other according to the same protocol.
- the order receivers are intended to receive orders from the order issuers and to control electrical equipment as a function thereof providing comfort functions in a building.
- the transmitters of orders and the receivers of orders can also communicate with each other in a bidirectional manner.
- the command transmitters 3a, 3b each comprise a logic processing unit 8 connected, on the one hand, to a memory 9 and, on the other hand, to means 7 for transmitting radioelectric signals.
- the command receivers 2 each comprise a logic processing unit 5 connected, on the one hand, to a memory 6 and, on the other hand, to means for receiving radioelectric signals.
- the communication signals between the transmitters and the receivers could also be electrical signals transmitted on a wired bus link or infrared signals or of any other nature.
- the memories 6 of the command receivers and the memories 9 of the command transmitters are intended to store, among other functions, algorithms for calculating frame integrity control codes.
- the order receivers themselves also contain algorithms for calculating control codes and, as will be seen below, these different algorithms make it possible to determine whether the order receivers must accept or not a signal emitted by a radio transmitter. 'orders.
- the interoperability between the different elements (transmitters and receivers) of the installation is obtained by putting in memory at the level of each order receiver, all of the algorithms for calculating control codes used by the different transmitters of 'installation orders.
- the partitioning is obtained by recording in each order receiver the only control code calculation algorithms used by the order issuers from which it is supposed to receive orders.
- the transmitters of orders 3a are for example capable of producing a signal comprising a control code calculated by the function fa
- the transmitter 3b is capable of producing a signal comprising a control code calculated by the function fb.
- One of the receivers 2 comprising, for example in memory, the algorithm fa is capable of causing the electrical equipment which it controls to execute orders sent by the transmitters 3a.
- the other receiver 2 comprising for example in memory the algorithms fa and fb is capable of causing the electrical equipment which it controls to execute orders emitted by the transmitters 3a and by the transmitter 3b.
- the method of communication between a transmitter of orders and a receiver of orders comprises various stages.
- the order transmitter generates a control frame for an action of an item of equipment as a function of an action exerted on it by a user.
- This frame includes a command code associated with the action that the user wants the equipment to perform.
- the frame may further include, as shown in Figure 2, an address, a rolling code and an encryption key.
- This frame includes for example 8 bits of encryption key, 24 address bits (16 million possible addresses), 16 bits of rolling code, 4 command bits (coding the command orders) and 4 bits of control code (2 4 possible results) by which the integrity of the transmitted frame is verified.
- the transmitter optionally encrypts the content of the frame, without acting on the control code bits.
- the command transmitter calculates a control code from the calculation algorithm it contains in memory and all or part of the frame.
- the order transmitter concatenates the frame and the control code.
- it transmits the frame obtained in the form of radio waves.
- each of the command receivers calculates control codes from the algorithms which they contain in memory and from the frame received and successively compares these with the control code transmitted by the transmitter of orders.
- the comparison is carried out by means of comparison 11 included in the logical processing units 5 of the receivers.
- the code calculated by the transmitter is not equal to any of the codes calculated by the receiver, no action is performed by the equipment controlled by the receiver. Indeed, the frame received is then considered to be non-integral or coming from an emitter of an unidentified type.
- the action associated with the control code contained in the frame is executed by the electrical equipment optionally ordered after the frame has been decrypted and the identity of the transmitter has been verified.
- the order of calculations and comparisons can be changed.
- the calculation algorithms are applied in an alternating order, on a frame received several times.
- the order can also be random.
- step 101 it is also possible, during step 101, to test the different algorithms before going to step 102, so as to detect situations where multiple algorithms check the integrity check code.
- This process makes it possible to increase the number of elements of a network capable of communicating with one another. Indeed, several order issuers can have the same identifier, but a different control code calculation algorithm. Thus, even in the extremely unlikely case, in which two transmitters from the same network or from two neighboring networks have the same identifier, the control code calculation algorithm can make it possible to distinguish them.
- the assignment to a command transmitter or to a command receiver of a given control code calculation algorithm can be made at the factory or at the time of installation, for example. It can be irreversible or reversible. The solution is available for several customers using the same protocol.
- each transmitter of orders a particular key can be assigned on the encryption function for example, this key being defined by the manufacturer and known in advance to order senders and order receivers, - if the concept of pairing is sufficient, an address or an identifier of the transmitter not known to the receiver constitutes a means of selection and verification of the origin of the message.
- a frame transmitted by a command transmitter in the form of a signal can firstly be verified by the calculation of a control code (step 201) then by the verification of the address of the order transmitter (step 202). If the address of the transmitter is known to the receiver, the latter executes the transmitted order (step 203). Otherwise, the program performs a new test with another control code calculation algorithm (step 204). Again, if the test result is positive, the receiver executes the command (step 203) only if the address of the transmitter, contained in the frame is known to the receiver (step 205).
- the receivers contain in memory all the algorithms for calculating order transmitters capable of controlling them (including those sold by different customers of the same manufacturer).
- the control code of a received signal is then successively compared to the different control codes calculated by the different algorithms in memory of the receiver from the received signal.
- one of the algorithms will be selected to be used in the communication process. This operation can be performed by a selection between different algorithms stored in memory of the receiver. This selection can be made at the factory or during installation, more precisely, during pairing between a command transmitter and a command receiver.
- a command transmitter transmits to a command receiver a message containing a control code calculated with an algorithm.
- the receiver checks, using each algorithm stored in the command receiver, the integrity of the frame.
- the algorithm by which the integrity of the frame is recognized is then selected. This selection is made for example by storing this algorithm in a particular memory area. Thus, each time the signal receiver receives the signal, the integrity of the frame of this signal will be checked using this algorithm only.
- Means of informing the user or the installer can be provided when, during successive tests, different algorithms make it possible to successfully verify the integrity of a frame, so that it can, for example , repeat the first pairing with a different transmitter or by sending a different signal from the same transmitter.
- the order receiver receives a signal from the order transmitter .
- the command receiver calculates control codes from the different algorithms f1, f2, ... which it contains in memory and compares these control codes to the control code calculated by the command transmitter from l 'algorithm fe in a step 301a.
- the algorithm which has successfully verified the integrity of the frame is put in memory. All of these steps are then repeated a second time, with the same transmitter and for a different signal or with another transmitter of the same type. These repeated steps are referenced with an index b.
- two algorithms could be put in memory.
- the equality of the algorithms is tested. If these algorithms are the same then the algorithm stored is validated in step 304, that is to say that it is subsequently used by the receiver to calculate the frame integrity control codes. received.
- Another procedure would be to test the second signal received first with the first algorithm stored in memory. A new verification of the control code could then validate the selection of the algorithm.
- Personalization could also be done by an action performed on the power supply, so as to avoid conflicts between several algorithms: different power cut sequences could then be used to select an algorithm from those stored in the receiver d 'orders.
- the algorithms can be used to calculate the image of all or part of the frame (address, rolling code, encryption key, command). They may consist of simple arithmetic functions or more complex functions such as those of the CRC (Cyclic Redundancy Check) type. It can also be the same multi-variable algorithm, one of the variables of which is constituted by a value defining each algorithm.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Selective Calling Equipment (AREA)
Abstract
Le procédé de communication permet de commander un équipement électrique pour le confort et/ou la sécurité dans un bâtiment. Il basé sur un protocole dans lequel les signaux de communication ont un même format de trame contenant un ordre et un code de contrôle de l'intégrité de la trame calculé pour chaque signal transmis. Il est caractérisé en ce que : à chaque type d'émetteur est affecté un algorithme de calcul du code de contrôle d'intégrité de la trame du signal, et en ce que, pour chaque communication entre un émetteur d'ordres et le récepteur d'ordres, le récepteur identifie de manière probable le type de l'émetteur par comparaison entre un premier code de contrôle d'intégrité, transmis avec la trame du signal, et un deuxième code de contrôle d'intégrité calculé par le récepteur à partir du signal reçu.
Description
Procédé de communication entre objets
L'invention concerne un procédé de communication selon le préambule de la revendication 1. Elle concerne également une installation pour la mise en œuvre d'un tel procédé.
Les protocoles utilisés dans les réseaux domotiques actuels présentent des inconvénients.
D'une part, lors de la définition d'un protocole pour un réseau domotique, il est très difficile de déterminer la durée de vie d'un protocole et le nombre d'éléments qui vont l'utiliser. En effet, le besoin existant lors de la conception du réseau peut évoluer. Il peut notamment augmenter et le nombre d'adresses disponibles, adresse que l'on souhaite unique pour chaque élément utilisant le protocole, peut alors manquer. Le protocole conçu ne peut alors plus répondre au besoin. Or, il est important d'assurer la pérennité ou la compatibilité des réseaux domotiques dans le temps.
D'autre part, au cours de la durée de vie du protocole, il peut être intéressant de personnaliser les relations entre les différents éléments utilisant le même protocole de communication. On peut en particulier créer des relations entre les éléments du réseau afin que certains éléments ne communiquent qu'avec certains autres (cloisonnement) ou créer des relations entre les éléments afin qu'un maximum d'éléments communiquent entre eux (interopérabilité).
On connaît du document DE 197 54377, une installation apportant des éléments de solutions à ces inconvénients. Ce document décrit un récepteur contenant en mémoire deux algorithmes de décodage pour permettre la réception d'informations provenant de différents émetteurs. Il est ainsi possible de recevoir des informations provenant de deux types d'émetteurs différents (un émetteur constructeur, un émetteur universel, dont l'algorithme de codage est à enregistrer dans le récepteur). Ces algorithmes de codage et décodage sont du type à code tournant. Une
telle installation pourrait être appliquée à une application domotique mais elle présenterait cependant quelques inconvénients. En effet, le récepteur doit lors de chaque émission d'un signal par un émetteur d'ordres décoder le signal et lire le message correspondant avant de déterminer s'il est autorisé à recevoir des informations de la part de cet émetteur. Ces opérations, en particulier l'opération de décodage, utilisent d'importantes ressources de calcul du récepteur. On comprend alors aisément que si on utilise une telle installation pour une application domotique, les ressources de calcul des différents récepteurs du réseau seraient fréquemment utilisées à décoder des ordres ne leur étant pas destinés. Ceci est particulièrement problématique dans le cas d'applications autonomes.
On connaît de plus du brevet US 5,917,840, une installation de contrôle de production en usine. Dans un premier mode d'exécution, cette installation permet de sécuriser un message sans transmettre l'identifiant du récepteur : une valeur de contrôle est générée par calcul à partir de l'identifiant du récepteur attendu et du message. A réception du message, une nouvelle valeur de contrôle est calculée par le récepteur à partir du message et de son identifiant. Si les valeurs de contrôle sont égales, le message est accepté. Il s'agit donc d'un moyen d'identifier un récepteur par l'intermédiaire de la valeur de contrôle sans envoyer dans le message l'identifiant du récepteur. Dans un deuxième mode d'exécution, les trames des messages émis par les capteurs sont composés de plusieurs manières différentes selon le degré de criticité de l'information qu'ils contiennent. Chaque message ainsi créé comprend la génération d'une valeur de contrôle à partir du code associé à l'information si celle-ci est non critique et à partir de l'identifiant du récepteur et du code associé à l'information si celle-ci est critique, avec transmission ou non de l'identifiant du récepteur. Le procédé de communication décrit utilise un algorithme de calcul, par exemple de type CRC (Cyclic Redundancy Check), pour générer les différentes valeurs de contrôle, celles-ci étant alors chacune le résultat d'une fonction de
différentes variables. Ce mode d'exécution a pour but d'éliminer toute interférence possible dans le cadre d'un système complexe de surveillance mettant en œuvre un grand nombre de contrôleurs et d'actionneurs. Il n'apporte pas de solution en terme d'interopérabilité ou de cloisonnement de certains émetteurs.
On connaît du brevet US 6,026,165 un protocole permettant de distinguer deux types de trames reçues (cryptées ou non cryptées) par réitération du calcul d'un code de redondance cyclique (CRC) par une même fonction donnée, sur une portion de message puis sur le message complet. Le premier résultat de calcul de CRC est comparé à un code transmis dans la portion du message. Si les deux valeurs diffèrent, la trame reçue est considérée soit non valide soit cryptée. Si le résultat du deuxième calcul donne un résultat équivalent à un code transmis dans le message complet, la trame est alors considérée comme cryptée et valide. Un deuxième calcul est alors réalisé sur le message complet. Ce protocole ne permet pas de créer des relations entre les éléments du réseau afin que certains éléments ne communiquent qu'avec certains autres (cloisonnement) ou de créer des relations entre les éléments afin qu'un maximum d'éléments communiquent entre eux (interopérabilité).
On connaît du document EP 0 805 575 un procédé de sécurisation des communications entre un émetteur d'ordres et un récepteur d'ordres. Dans ce document, la méthode de vérification par calcul d'un code de redondance cyclique est utilisée simultanément pour générer une signature digitale. Dans une première étape (learn mode), une certaine quantité d'informations est partagée entre l'émetteur et le récepteur (identifiants, adresses, algorithme de calcul de code de redondance cyclique, clés de cryptage). Dans une deuxième étape (encryption mode), ce partage d'informations est vérifié à partir d'un nombre aléatoire, sans que les clés de cryptage ne soient à nouveau transmises (génération et calcul d'un code de redondance cyclique initialisé par les clés de cryptage). Ces informations sont ensuite verrouillées. En mode normal, le système fonctionne comme dans le mode de cryptage, c'est-à-
dire en autorisant une lecture du message reçu par un algorithme de calcul de code de redondance cyclique initialisé par les clés de cryptage partagées. Chaque fonction de calcul de code de redondance cyclique correspond donc à un algorithme de calcul de code de redondance cyclique dont les paramètres sont les clés de cryptage échangées. Une fonction de calcul de code de redondance cyclique est attribuée à un ou plusieurs émetteurs et/ou récepteurs qui partagent les mêmes clés de cryptage. Les fonctions de calcul de code de redondance cyclique sont déterminées lors d'un appairage entre le récepteur et l'émetteur. Ce document répond clairement à un souci d'amélioration de la sécurité lors de la transmission d'informations. En aucun cas, ce document ne décrit la création de relations entre les éléments du réseau afin que certains éléments ne communiquent qu'avec certains autres (cloisonnement) ni la création de relations entre les éléments afin qu'un maximum d'éléments communiquent entre eux (interopérabilité).
Le but de l'invention est de fournir un procédé palliant aux inconvénients précités et présentant une amélioration par rapport aux procédés connus de l'art antérieur. En particulier, le procédé selon l'invention permet un cloisonnement ou une interopérabilité des différents éléments composant le réseau. Il permet de plus de minimiser la sollicitation des moyens de calcul des récepteurs lorsqu'un ordre reçu par le récepteur ne lui est pas destiné.
Le procédé de communication à distance selon l'invention est caractérisé par la partie caractérisante de la revendication 1.
Différents modes d'exécution du procédé selon l'invention sont définis par les revendications dépendantes 2 à 10.
L'installation selon l'invention est définie par la revendication indépendante 11.
Le dessin annexé représente, à titre d'exemple, des modes d'exécution du procédé selon l'invention et une installation pour sa mise en œuvre.
La figure 1 est un schéma d'une installation selon l'invention.
La figure 2 est un schéma d'une trame de signal de communication entre les différents éléments de l'installation.
La figure 3 et 4 sont des ordinogrammes illustrant certaines étapes du procédé selon l'invention.
La figure 5 est un ordinogramme illustrant certaines étapes de configuration du procédé selon l'invention.
L'installation 1 représentée à la figure 1 comprend deux émetteurs d'ordres 3a d'un premier type, un émetteur d'ordres 3b d'un deuxième type et deux récepteurs d'ordres 2. Les émetteurs d'ordres 3a, 3b et les récepteurs d'ordres 2 sont conçus pour communiquer entre eux selon un même protocole. Les récepteurs d'ordres sont destinés à recevoir des ordres des émetteurs d'ordres et à piloter en fonction de ceux-ci des équipements électriques 10 assurant des fonctions de confort dans un bâtiment.
Les émetteurs d'ordres et les récepteurs d'ordres peuvent également communiquer entre eux de manière bidirectionnelle.
Les émetteurs d'ordres 3a, 3b comprennent chacun une unité logique de traitement 8 reliée, d'une part, à une mémoire 9 et, d'autre part, à des moyens 7 d'émission de signaux radioélectriques.
Les récepteurs d'ordres 2 comprennent chacun une unité logique de traitement 5 reliée, d'une part, à une mémoire 6 et, d'autre part, à des moyens de réception de signaux radioélectriques.
Les signaux de communication entre les émetteurs et les récepteurs pourraient également être des signaux électriques transmis sur une liaison bus filaire ou des signaux infrarouges ou de toute autre nature.
Les mémoires 6 des récepteurs d'ordres et les mémoires 9 des émetteurs d'ordres sont destinées à stocker, entre autres fonctions, des algorithmes de calcul de codes de contrôle d'intégrité de trames.
Ces algorithmes de calcul permettent de définir les différents types auxquels appartiennent les émetteurs d'ordres. Dans l'exemple décrit les deux émetteurs d'ordres 3a sont du même type parce qu'ils contiennent chacun en mémoire le même algorithme de calcul de codes de contrôle fa, et l'émetteur d'ordres 3b est d'un autre type parce qu'il contient en mémoire un autre algorithme de calcul de codes de contrôle fb différent de l'algorithme fa.
Les récepteurs d'ordres contiennent eux aussi en mémoire des algorithmes de calcul de codes de contrôle et comme il sera vu par la suite, ces différents algorithmes permettent de déterminer si les récepteurs d'ordres doivent accepter ou non un signal émis par un émetteur d'ordres.
Ainsi, l'interopérabilité entre les différents éléments (émetteurs et récepteurs) de l'installation est obtenue en mettant en mémoire au niveau de chaque récepteur d'ordres, l'ensemble des algorithmes de calcul de codes de contrôle utilisés par les différents émetteurs d'ordres de l'installation.
Le cloisonnement est quant à lui obtenu en enregistrant dans chaque récepteur d'ordres les seuls algorithmes de calcul de code de contrôle utilisés par les émetteurs d'ordres desquels il est censé recevoir des ordres.
Les émetteurs d'ordres 3a sont par exemple capables de produire un signal comprenant un code de contrôle calculé par la fonction fa, l'émetteur 3b est lui capable de produire un signal comprenant un code de contrôle calculé par la fonction fb.
L'un des récepteurs 2 comprenant par exemple en mémoire l'algorithme fa est capable de faire exécuter à l'équipement électrique qu'il pilote des ordres émis par les émetteurs 3a. L'autre récepteur 2 comprenant par exemple en mémoire les algorithmes fa et fb est capable de faire exécuter à l'équipement électrique qu'il pilote des ordres émis par les émetteurs 3a et par l'émetteur 3b.
Le procédé de communication entre un émetteur d'ordres et un récepteur d'ordres comprend différentes étapes.
Tout d'abord l'émetteur d'ordres génère une trame de commande d'une action d'un équipement en fonction d'une action exercée sur celui-ci par un utilisateur. Cette trame comprend un code de commande associé à l'action que l'utilisateur veut faire exécuter à l'équipement. La trame peut en outre comprendre, comme représenté à la figure 2, une adresse, un code tournant et une clé de cryptage. Cette trame comprend par exemple 8 bits de clé de cryptage, 24 bits d'adresse (16 millions d'adresses possibles), 16 bits de code tournant, 4 bits de commande (codant les ordres de commande) et 4 bits de code de contrôle (24 résultats possibles) par lesquels est vérifiée l'intégrité de la trame transmise.
Bien entendu, le fonctionnement de ce procédé est d'autant plus sûr que le nombre de bits affectés au contrôle est important dans une trame.
Dans une étape de construction de la trame, l'émetteur crypte éventuellement le contenu de la trame, sans agir sur les bits de code de contrôle.
Dans une seconde étape, l'émetteur d'ordres calcule un code de contrôle à partir de l'algorithme de calcul qu'il contient en mémoire et de tout ou partie de la trame.
Dans une troisième étape, l'émetteur d'ordres concatène la trame et le code de contrôle.
Dans une quatrième étape, il émet la trame obtenue sous forme d'ondes radioélectriques.
Dans une cinquième étape référencée 100 sur la figure 3, tous les récepteurs d'ordres de l'installation se trouvant à portée de l'émetteur d'ordres reçoivent la trame.
Dans une sixième étape référencée 101 , chacun des récepteurs d'ordres calcule des codes de contrôle à partir des algorithmes qu'ils contiennent en mémoire et de la trame reçue et compare successivement ceux-ci au code de contrôle émis par l'émetteur d'ordres. La comparaison est effectuée grâce à des moyens de comparaison 11 compris dans les unités logiques de traitement 5 des récepteurs.
Dans le cas où le code calculé par l'émetteur n'est égal à aucun des codes calculés par le récepteur, aucune action n'est effectuée par l'équipement piloté par le récepteur. En effet, la trame reçue est alors considérée comme non intègre ou émanant d'un émetteur d'un type non identifié.
Dans le cas contraire, l'action associée au code de commande contenu dans la trame est exécutée par l'équipement électrique commandé éventuellement après que la trame a été décryptée et que l'identité de l'émetteur a été vérifiée.
L'ordre des calculs et des comparaisons peut être modifié. De préférence, les algorithmes de calcul sont appliqués dans un ordre alternatif, sur une trame reçue plusieurs fois.
L'ordre peut également être aléatoire.
Il est également possible, au cours de l'étape 101 , de tester les différents algorithmes avant le passage à l'étape 102, de manière à détecter des
situations dans lesquelles plusieurs algorithmes vérifient le code de contrôle d'intégrité.
Ce procédé permet d'augmenter le nombre d'éléments d'un réseau capables de communiquer entre eux. En effet, plusieurs émetteurs d'ordres peuvent avoir un même identifiant, mais un algorithme de calcul de code de contrôle différent. Ainsi, même dans le cas extrêmement peu probable, dans lequel deux émetteurs d'un même réseau ou de deux réseaux voisins ont le même identifiant l'algorithme de calcul de code de contrôle peut permettre de les distinguer.
L'attribution à un émetteur d'ordres ou à un récepteur d'ordres d'un algorithme donné de calcul de code de contrôle peut être faite en usine ou au moment de l'installation par exemple. Elle peut être irréversible ou réversible. La solution est déclinable pour plusieurs clients utilisateurs d'un même protocole.
II est éventuellement possible, comme décrit précédemment, d'utiliser, dans ce procédé de communication utilisant des algorithmes de calcul de code de contrôle, des étapes vérification de l'identification d'un émetteur d'ordres.
En effet, si le nombre de bits de code de contrôle est trop limité, l'utilisation de deux algorithmes de code de contrôle différents, peut éventuellement aboutir au calcul du même résultat. Ainsi, un message pourrait être accepté par un récepteur d'ordres alors que l'émetteur d'ordres n'est pas configuré pour lui envoyer des ordres.
De manière à rendre l'identification des éléments du réseau plus sûr, plusieurs solutions sont possibles : - à chaque émetteur d'ordres, il peut être attribué une clé particulière sur la fonction de cryptage par exemple, cette clé étant définie par le constructeur et connue à l'avance des émetteurs d'ordres et des récepteurs d'ordres,
- si la notion d'appairage est suffisante, une adresse ou un identifiant de l'émetteur non connu du récepteur constitue un moyen de sélection et de vérification de l'origine du message.
Cette dernière solution est la plus flexible et la moins coûteuse à mettre en œuvre.
Ainsi, comme représenté à la figure 4, une trame transmise par un émetteur d'ordres sous forme de signal (étape 200) peut d'abord être vérifiée par le calcul d'un code de contrôle (étape 201) puis par la vérification de l'adresse de l'émetteur d'ordres (étape 202). Si l'adresse de l'émetteur est connue du récepteur, celui-ci exécute l'ordre transmis (étape 203). Sinon, le programme exécute un nouveau test avec un autre algorithme de calcul de code de contrôle (étape 204). A nouveau, si le résultat du test est positif, le récepteur n'exécute la commande (étape 203) que si l'adresse de l'émetteur, contenue dans la trame est connue du récepteur (étape 205).
D'autres moyens de vérification, comme indiqué précédemment, peuvent être mis en œuvre, tels que différentes clés de cryptage par exemple, indépendamment ou en combinaison avec la vérification d'appairage.
Dans le cas où l'interopérabilité est souhaitée, les récepteurs contiennent en mémoire tous les algorithmes de calcul des émetteurs d'ordres susceptible de les commander (y compris ceux commercialisés par les différents clients d'un même fabricant). Le code de contrôle d'un signal reçu est alors comparé successivement aux différents codes de contrôle calculés par les différents algorithmes en mémoire du récepteur à partir du signal reçu.
Dans le cas où on privilégie des solutions de cloisonnement, par exemple pour distinguer différents émetteurs commercialisés par plusieurs clients d'un même fabricant, l'un des algorithmes va être sélectionné pour être utilisé dans le procédé de communication. Cette opération peut être effectuée par une sélection entre différents algorithmes mis en mémoire
du récepteur. Cette sélection peut être faite en usine ou au cours de l'installation, plus précisément, au cours de l'appairage entre un émetteur d'ordres et un récepteur d'ordres.
Au cours d'un premier appairage, dans un mode de programmation, un émetteur d'ordres transmet à un récepteur d'ordres un message contenant un code de contrôle calculé avec un algorithme. Le récepteur vérifie, à l'aide de chaque algorithme en mémoire dans le récepteur d'ordres, l'intégrité de la trame.
L'algorithme par lequel l'intégrité de la trame est reconnue, est alors sélectionné. Cette sélection s'opère par exemple par le stockage de cet algorithme dans une zone de mémoire particulière. Ainsi, lors de chaque réception de signal par le récepteur d'ordres l'intégrité de la trame de ce signal sera vérifiée à l'aide de cet algorithme seulement.
Il peut être prévu des moyens d'information de l'utilisateur ou de l'installateur lorsque, au cours des tests successifs, différents algorithmes permettent de vérifier avec succès l'intégrité d'une trame, afin que celui-ci puisse, par exemple, recommencer le premier appairage avec un émetteur différent ou par l'émission d'un signal différent à partir d'un même émetteur.
Une autre solution consisterait, comme représenté à la figure 5, à effectuer une opération d'appairage multiple entre un ou plusieurs émetteurs de même type et un récepteur. L'algorithme serait alors sélectionné que lorsqu'un même algorithme de calcul de code de contrôle aurait permis à au moins deux reprises de vérifier avec succès l'intégrité d'une trame. Une telle procédure diminue considérablement les probabilités de coïncidence entre des résultats de calculs de code de contrôle effectués avec des algorithmes différents.
Dans une procédure de double appairage d'un émetteur d'ordres et d'un récepteur d'ordres représentée à la figure 5, lors d'une première étape 300a, le récepteur d'ordres reçoit un signal de l'émetteur d'ordres. Le
récepteur d'ordres calcule ensuite des codes de contrôle à partir des différents algorithmes f1 , f2,... qu'il contient en mémoire et compare ces codes de contrôle au code de contrôle calculé par l'émetteur d'ordres à partir de l'algorithme fe dans une étape 301a. Lors d'une étape 302a, l'algorithme ayant permis la vérification avec succès de l'intégrité de la trame est mis en mémoire. L'ensemble de ces étapes est ensuite répété une seconde fois, avec un même émetteur et pour un signal différent ou avec un autre émetteur du même type. Ces étapes répétées sont référencées avec un indice b. Ainsi, deux algorithmes ont pu être mis en mémoire. Lors d'une étape de test 303, l'égalité des algorithmes est testée. Si ces algorithmes sont les mêmes alors l'algorithme mis en mémoire est validé à l'étape 304, c'est-à-dire qu'il est utilisé par la suite par le récepteur pour calculer les codes de contrôle d'intégrité des trames reçues.
Pour chaque étape de comparaison, si aucun des algorithmes du récepteur ne permet de vérifier avec succès l'intégrité d'une trame ou si plusieurs algorithmes du récepteur permettent de vérifier avec succès l'intégrité de la trame, il est soit mis fin à la procédure et les enregistrements sont effacés, soit la procédure est reprise en début d'étape 300a ou 300b.
Une autre procédure consisterait à tester le deuxième signal reçu en premier lieu avec le premier algorithme mis en mémoire. Une nouvelle vérification du code de contrôle pourrait alors valider la sélection de l'algorithme.
La personnalisation pourrait également être faite par une action effectuée sur l'alimentation secteur, de manière à éviter les conflits entre plusieurs algorithmes : différentes séquences de coupure de l'alimentation pourraient alors être utilisées pour sélectionner un algorithme parmi ceux en mémoire dans le récepteur d'ordres.
Les algorithmes peuvent permettre de calculer l'image de tout ou partie de la trame (adresse, code tournant, clé de cryptage, commande). Ils
peuvent consister en des fonctions arithmétiques simples ou en des fonctions plus complexes telles que celles de type CRC (Cyclic Redundancy Check). Il peut également s'agir d'un même algorithme multi-variables, dont une des variables est constituée par une valeur définissant chaque algorithme.
Claims
1. Procédé de communication à distance par signaux entre un ou plusieurs émetteurs d'ordres appartenant chacun à un type d'émetteur d'ordres et un récepteur d'ordres destiné à commander un équipement électrique pour le confort et/ou la sécurité dans un bâtiment, basé sur un protocole dans lequel les signaux de communication ont un même format de trame contenant au moins un ordre et un code de contrôle de l'intégrité de la trame calculé pour chaque signal transmis au cours d'une communication, caractérisé en ce que • à chaque type d'émetteur est affecté un algorithme de calcul du code de contrôle d'intégrité de la trame du signal, • et en ce que, pour chaque communication entre un émetteur d'ordres et le récepteur d'ordres, le récepteur identifie de manière probable le type de l'émetteur par comparaison entre un premier code de contrôle d'intégrité, transmis par cet émetteur d'ordres avec la trame du signal, et au moins un deuxième code de contrôle d'intégrité calculé par le récepteur à partir du signal reçu et d'un algorithme qu'il contient en mémoire.
2. Procédé de communication selon la revendication 1 , caractérisé en ce que le récepteur comprend en mémoire plusieurs algorithmes, stockés dans le récepteur lors de la fabrication ou de l'installation et en ce que, pour chaque communication, le premier code de contrôle d'intégrité est comparé aux différents codes de contrôle d'intégrité calculés à partir des différents algorithmes stockés en mémoire dans le récepteur.
3. Procédé de communication selon la revendication 1 , caractérisé en ce que le récepteur comprend en mémoire plusieurs algorithmes, stockés dans le récepteur lors de la fabrication ou de l'installation et en ce qu'un de ces algorithmes, correspondant à un type d'émetteur, a été sélectionné, lors d'une une étape préalable d'installation, pour effectuer le calcul des codes de contrôle d'intégrité.
4. Procédé de communication selon la revendication 3, caractérisé en ce que l'étape préalable d'installation est une reconnaissance d'un type d'émetteur d'ordres, par comparaison, dans un mode de programmation, entre un premier code de contrôle d'intégrité, transmis par un émetteur d'ordres avec la trame du signal, et les différents codes de contrôle d'intégrité calculés par le récepteur à partir du signal reçu et des différents algorithmes qu'il contient en mémoire.
5. Procédé de communication selon la revendication 3, caractérisé en ce que l'étape préalable d'installation est une séquence de coupure de l'alimentation du récepteur d'ordres.
6. Procédé de communication selon l'une des revendications 3 à 5, caractérisé en ce que la sélection d'un algorithme n'est active qu'après au moins une étape de confirmation du choix de cet algorithme.
7. Procédé de communication selon l'une des revendications précédentes, caractérisé en ce qu'à chaque type d'émetteur est également affecté un algorithme de cryptage et en ce qu'il comprend au cours d'une communication, une étape de décryptage de la trame par au moins un algorithme de décryptage correspondant au niveau du récepteur d'ordres, conditionnée par l'identification probable du type de l'émetteur d'ordres ayant envoyé le signal.
8. Procédé de communication selon la revendication précédente, caractérisé en ce qu'il comprend une étape de vérification de l'identification du type de l'émetteur d'ordres, comprenant un test de cohérence du signal décrypté.
9. Procédé de communication selon l'une des revendications précédentes, caractérisé en ce qu'il comprend, au cours d'une communication, une étape de test de l'identifiant de l'émetteur d'ordres contenu dans la trame du signal.
10. Procédé de communication selon l'une des revendications précédentes, caractérisé en ce qu'il comprend en plus une étape d'exécution de l'ordre contenu dans le signal, conditionnée par l'identification probable du type de l'émetteur d'ordres ayant envoyé le signal et/ou par le résultat de l'étape de vérification et/ou le résultat de l'étape de test de l'identifiant.
11. Installation pour la mise en œuvre du procédé selon l'une des revendications précédentes, comprenant au moins un émetteur d'ordres présentant une mémoire et une unité logique de traitement pour le calcul de codes de contrôle de l'intégrité des trames à émettre et un récepteur d'ordres présentant une mémoire et une unité logique de traitement pour le calcul de codes de contrôle de l'intégrité des trames reçues et un moyen de comparaison des codes de contrôle.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| FR0310881A FR2859854B1 (fr) | 2003-09-16 | 2003-09-16 | Procede de communication entre objets |
| PCT/IB2004/002859 WO2005027074A1 (fr) | 2003-09-16 | 2004-08-31 | Procede de communication entre objets |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP1665195A1 true EP1665195A1 (fr) | 2006-06-07 |
Family
ID=34203491
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP04744332A Withdrawn EP1665195A1 (fr) | 2003-09-16 | 2004-08-31 | Procede de communication entre objets |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP1665195A1 (fr) |
| FR (1) | FR2859854B1 (fr) |
| WO (1) | WO2005027074A1 (fr) |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5917840A (en) * | 1992-03-13 | 1999-06-29 | Foxboro Company | Protection against communications crosstalk in a factory process control system |
| EP0805575A3 (fr) * | 1996-05-03 | 2002-03-06 | Texas Instruments Deutschland Gmbh | Répondeur |
| US6026165A (en) * | 1996-06-20 | 2000-02-15 | Pittway Corporation | Secure communications in a wireless system |
| DE19754377A1 (de) * | 1996-12-17 | 1998-06-18 | Bosch Gmbh Robert | Empfangsvorrichtung einer Fernbedienung |
| WO1998047259A2 (fr) * | 1997-03-10 | 1998-10-22 | Fielder Guy L | Procede et systeme de cryptage pour fichiers |
-
2003
- 2003-09-16 FR FR0310881A patent/FR2859854B1/fr not_active Expired - Fee Related
-
2004
- 2004-08-31 WO PCT/IB2004/002859 patent/WO2005027074A1/fr not_active Ceased
- 2004-08-31 EP EP04744332A patent/EP1665195A1/fr not_active Withdrawn
Non-Patent Citations (1)
| Title |
|---|
| See references of WO2005027074A1 * |
Also Published As
| Publication number | Publication date |
|---|---|
| FR2859854B1 (fr) | 2005-12-02 |
| WO2005027074A1 (fr) | 2005-03-24 |
| FR2859854A1 (fr) | 2005-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP1072124B1 (fr) | Procede de verification de l'usage de cles publiques engendrees par un systeme embarque | |
| CA1289239C (fr) | Procede pour certifier l'authenticite d'une donnee echangee entre deuxdispositifs connectes par une ligne de transmission | |
| EP1055203B1 (fr) | Protocole de controle d'acces entre une cle et une serrure electronique | |
| FR2993682A1 (fr) | Mise a jour d'un systeme d'exploitation pour element securise | |
| CA2819848C (fr) | Train et procede de determination de la composition d'un tel train en securite | |
| EP2291744A2 (fr) | Procede et systeme de validation d'une succession d'evenements vecus par un dispositif | |
| WO2016102833A1 (fr) | Entité électronique sécurisée, appareil électronique et procédé de vérification de l'intégrité de données mémorisées dans une telle entité électronique sécurisée | |
| FR2834147A1 (fr) | Procede d'appariement de transmetteurs et de recepteur | |
| FR2841714A1 (fr) | Protocole d'adaptation du degre d'interactivite entre equipements informatiques interlocuteurs soumis a un dialogue interactif | |
| EP0944016B1 (fr) | Procédé perfectionné d'identification de cartes électroniques | |
| FR2808149A1 (fr) | Procede et dispositif de controle d'habilitation d'un appareil electrique connecte a un reseau | |
| FR2893165A1 (fr) | Identification d'etiquette radiofrequence | |
| WO2001011820A1 (fr) | Methode et dispositif pour garantir l'integrite et l'authenticite d'un ensemble de donnees | |
| EP1665195A1 (fr) | Procede de communication entre objets | |
| WO2003081352A2 (fr) | Procede de reprogrammation d'objets bidirectionnels | |
| EP3672141B1 (fr) | Procede de verification d'integrite et de dechiffrement d'un message chiffre, cryptomodule et terminal associes | |
| EP1358748A2 (fr) | Dispositif et procede d'appairage automatique securise des appareils d'un reseau radiofrequence | |
| FR2890202A1 (fr) | Demonstration d'une modification des donnees d'un ensemble de donnees | |
| US12362942B2 (en) | Systems and methods for secure client-server authentication with key recycling | |
| EP2930471B1 (fr) | Procédé et installation de comparaison de consommation d'effluents sans divulgation de données de consommations mesurées | |
| EP2911365B1 (fr) | Procédé et système de sécurisation de transactions offertes par une pluralité de services entre un appareil mobile d'un utilisateur et un point d'acceptation | |
| EP0924893B1 (fr) | Procédé de communication sécurisée | |
| EP3340096B1 (fr) | Procédé de configuration d'un programme cryptographique destiné à être exécuté par un terminal | |
| EP3899765B1 (fr) | Réinitialisation d'un secret applicatif au moyen du terminal | |
| EP3021515A1 (fr) | Amelioration de l'integrite authentique de donnees a l'aide du dernier bloc chiffrant ces donnees en mode cbc |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| 17P | Request for examination filed |
Effective date: 20060317 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR |
|
| DAX | Request for extension of the european patent (deleted) | ||
| 17Q | First examination report despatched |
Effective date: 20100720 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
| 18D | Application deemed to be withdrawn |
Effective date: 20101201 |