Brevet FR2820224A1 — publié le 20020802

L'invention concerne un dispositif comprenant un appareil de commande muni de moyens de mémoire et une mémoire non volatile, en particulier une EEPROM, reliée à l'appareil de commande pour l'échange de données, dans lequel des données sont mémorisées dans la mémoire non volatile sous forme codée et la ou les clés pour le codage des données sont mémorisées dans l'un des moyens de mémoire. Un tel dispositif est connu par le document EP 0 147 337 B1. Toutefois, ici, il est seulement question d'une clé pour le codage des données, laquelle est enregistrée dans une zone de la mémoire qui est inaccessible de I'extérieur du support portatif du dispositif. On ne donne pas d'indication sur la façon dont on peut accéder à cette clé. Un dispositif du genre cité en préambule est aussi connu dans son principe par le document WO 98/39701. A la différence de l'utilisation d'une carte à puce qui est proposée dans ce document, ce dispositif peut aussi trouver application dans un véhicule automobile, en particulier dans un dispositif anti-démarrage, un dispositif de condamnation centralisée ou une télécommande du véhicule. La combinaison d'un dispositif de commande et d'une mémoire non volatile est principalement utilisée lorsque des données sont utilisées régulièrement mais doivent cependant être individuelles. Les données qui subissent des modifications pendant le fonctionnement du dispositif et qui ne doivent cependant pas être perdues sont dans la plupart des cas enregistrées dans des mémoires non volatiles. On mémorise fréquemment dans la mémoire non volatile des données qui ont un caractère confidentiel et qui méritent donc d'être protégées. Cependant, elles sont ainsi exposées à des tentatives de recherche et de manipulation. C'est pourquoi on les mémorise sous forme codée de sorte qu'une personne qui arrive à accéder à la mémoire non volatile ne peut rien faire des données. Avec le dispositif déjà connu, la ou les clés sont elles aussi mémorisées dans la mémoire non volatile, ce qui ne pose pas de problème, puisque les clés qui s'y trouvent ne peuvent pas sortir de l'ensemble du dispositif, étant donné que la mémoire non volatile est sous le contrôle de l'appareil de commande. Le but de l'invention consiste à proposer un dispositif du genre cité en préambule dans lequel la clé soit à l'abri d'un accès de l'extérieur bien qu'il soit possible d'accéder à la mémoire non volatile. L'invention a donc pour objet un tel dispositif qui est caractérisé en ce que, dans la mémoire non volatile ou dans une mémoire volatile de l'appareil de commande, est mémorisé un pointeur d'adresse qui indique l'adresse de la bonne clé dans le moyen de mémoire. Dans le dispositif selon l'invention, la ou les clés pour le codage des données présentes dans la mémoire non volatile sont mémorisées dans un moyen de mémoire. Selon d'autres caractéristiques de l'invention, un tel moyen de mémoire peut être une mémoire non volatile, c'est à dire une mémoire morte, en particulier la mémoire de programme de l'appareil de commande, ou une mémoire volatile, en particulier la mémoire de travail de l'appareil de commande. La mémoire non volatile peut ici être constituée par une ROM programmée par masquage ou encore elle peut être programmable, par exemple sous la forme d'une EEPROM-Flash. Ces moyens de mémoire sont sous le contrôle constant de l'appareil de commande, de sorte qu'ils ne peuvent pas être lus de façon non autorisée. La clé est donc bien protégée. Pour qu'une clé individuelle puisse être sélectionnée, un pointeur d'adresse est mémorisé dans la mémoire non volatile, pointeur qui indique l'adresse à laquelle la bonne clé est mémorisée dans le moyen de mémoire. En variante, le pointeur d'adresse peut être aussi mémorisé dans une mémoire volatile, par exemple, dans la mémoire de travail de l'appareil de commande. Pour pouvoir munir chaque mémoire non volatile de données codées individuellement dans différents dispositifs, et selon une autre caractéristique de l'invention, il est prévu avantageusement plusieurs clés qui sont toutes enregistrées dans le moyen de mémoire. Le pointeur d'adresse est avantageusement formé avec des paramètres dépendants de l'appareil de commande et/ou extérieurs à l'appareil de commande. Ce pointeur peut être, par exemple, le numéro de série de l'appareil de commande du dispositif, ou d'un autre appareil de commande. Il peut être n'importe quelle combinaison de bits présente dans l'ensemble du système et à laquelle on peut accéder. De même, une telle combinaison de bits ou plusieurs combinaisons de bits de ce genre peuvent servir de données d'entrée pour l'algorithme de production des clés. Selon une autre caractéristique avantageuse de l'invention, la clé ou les clés est ou sont des éléments constitutifs d'un code de programme mémorisé dans la mémoire morte. Par conséquent, pour pouvoir économiser de la place dans la mémoire morte, les clés peuvent être particulièrement avantageusement formées de parties des données qui y sont mémorisées, en particulier de parties du code de programme qui représentent des nombres quasi aléatoires. Par ce moyen, il est alors possible de créer un grand nombre de clés, par exemple, dans le cas de l'utilisation dans des véhicules automobiles, pour donner une clé individuelle à chaque véhicule. L'invention est décrite ci-après avec plus de détails à propos d'un exemple de réalisation et à l'aide d'une Figure. La Figure 1 montre un schéma bloc d'un dispositif selon l'invention. Un appareil de commande SG, qui est en particulier construit avec un microprocesseur, présente une mémoire morte FWS, qui est avantageusement formée par la mémoire de programme de l'appareil de commande SG. Toutefois, selon l'invention, il est aussi possible d'utiliser n'importe quelle mémoire morte qui est sous le contrôle de l'appareil de commande SG. L'essentiel est seulement qu'elle ne puisse pas être lue de l'extérieur de façon non autorisée. Dans la mémoire morte FWS sont mémorisées un certain nombre de clés S1.... Sn avec lesquelles l'appareil de commande SG peut coder des données qui doivent être mémorisées dans la mémoire non volatile NVM ou décoder des données qui ont été lues dans la mémoire non volatile NVM. La mémoire non volatile NVM peut être en particulier une EEPROM. Elle est reliée à l'appareil de commande SG, par l'intermédiaire d'une ligne de données et de commande bi directionnelle. La mémoire non volatile NVM présente une zone de mémoire dans laquelle un pointeur d'adresse AZ est mémorisé. Ce pointeur d'adresse AZ indique l'adresse sous laquelle la clé individuelle Si, i = 1...n pour la mémoire non volatile NVM est mémorisée dans la mémoire morte FWS. Lorsque des données contenues dans la mémoire non volatile NVM doivent être décodées, I'appareil de commande SG lit tout d'abord dans la mémoire non volatile NVM le pointeur d'adresse AZ et il se procure ensuite la clé Si, i=1...n qui se trouve à l'adresse correspondante dans la mémoire morte FWS. Ensuite, les données peuvent être décodées. Le pointeur d'adresse AZ peut avantageusement être formé de paramètres dépendants de l'appareil de commande et/ou de paramètres extérieurs à l'appareil de commande. A cet effet, on peut utiliser, par exemple, le numéro de série de l'appareil de commande SG ou d'un autre appareil de commande, qui est transmis par cet appareil, par exemple par apprentissage, au dispositif contenu dans un système, par exemple, dans un véhicule automobile. En variante ou en supplément, on peut aussi utiliser pour la formation du pointeur d'adresse AZ des paramètres de la mémoire non volatile NVM ou un codage matériel quelconque. Pour améliorer la sécurité, dans une variante de réalisation de l'invention, le pointeur d'adresse peut être aussi mémorisé dans une mémoire volatile, par exemple dans la mémoire de travail AS de l'appareil de commande SG, qui est représentée en ligne tiretée. En remplacement de la mémorisation dans un moyen de mémoire FWS contrôlé par l'appareil de commande SG, le pointeur AS peut également être produit, en variante ou en supplément avec la clé, au moyen d'un algorithme qui est exécuté dans l'appareil de commande SG. Ceci peut s'effectuer après la première mise en marche du dispositif, à la suite de quoi la clé est ensuite enregistrée dans une mémoire non volatile, ou encore après chaque mise sous tension du dispositif. Ici, il suffit que la clé soit mémorisée de façon volatile, par exemple dans la mémoire de travail AS. En principe, il est aussi possible de produire la clé avant chaque utilisation, comme on l'a déjà exposé plus haut. Grâce au dispositif selon l'invention, on obtient avantageusement, dans l'utilisation dans un véhicule automobile, un codage, individuel propre au véhicule, d'une mémoire non volatile extérieur à l'appareil de commande, sans qu'aucune autre mémoire dans laquelle on peut écrire ne soit présente dans l'appareil de commande. REVENDICATIONS 1. Dispositif comprenant un appareil de commande (SG) muni de moyens de mémoire (FWS; AS) et une mémoire non volatile (NVM), en particulier une EEPROM, reliée à l'appareil de commande (SG) pour l'échange de données, dans lequel des données sont mémorisées dans la mémoire non volatile sous forme codée et la ou les clés (S1...Sn) pour le codage des données sont mémorisées dans un des moyens de mémoire (FWS ou AS), caractérisé, en ce que, dans la mémoire non volatile (NVM) ou dans une mémoire volatile (AS) de l'appareil de commande (SG), est mémorisé un pointeur d'adresse (AZ) qui indique l'adresse de la bonne clé (Si, i=1...n) dans le moyen de mémoire (FWS, AS). 2. Dispositif selon la revendication 1, caractérisé en ce que le moyen de mémoire qui mémorise la clé est une mémoire morte (FWS). 3. Dispositif selon la revendication 1, caractérisé en ce que le moyen de mémoire qui mémorise la clé est une mémoire volatile (AS). 4. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que le pointeur d'adresse(AZ) est formé avec des paramètres dépendants de l'appareil de commande et/ou des paramètres extérieurs à l'appareil de commande. 5. Dispositif selon l'une quelconque des revendications précédentes, caractérisé en ce que la clé ou les clés (S1...Sn) est ou sont des éléments constitutifs d'un code de programme mémorisé dans la mémoire morte (FWS).