Brevet FR3118504A1 — publié le 20220701

Système électronique comprenant plusieurs microprocesseurs La présente description concerne un système électronique (5) comprenant un ou des premiers microprocesseurs (10), un deuxième microprocesseur (20) de gestion sécurisée de premières clés cryptographiques des premiers microprocesseurs, le deuxième microprocesseur étant configuré pour communiquer avec chaque premier microprocesseur et comprenant une première mémoire non volatile (23) dans laquelle est mémorisée au moins une deuxième clé, et pour chaque premier microprocesseur, une deuxième mémoire non volatile (30) externe au deuxième microprocesseur et contenant les premières clés du premier microprocesseur cryptées avec la deuxième clé. Figure pour l'abrégé : Fig. 1 Système électronique comprenant plusieurs microprocesseurs La présente description concerne de façon générale les systèmes électroniques, et plus particulièrement les systèmes électroniques comprenant plusieurs microprocesseurs. On connaît des systèmes électroniques comprenant plusieurs microprocesseurs. Parmi ces systèmes, on s'intéresse plus particulièrement ici au cas de systèmes comprenant au moins un microprocesseur se comportant, pour les autres microprocesseurs du système, comme une boîte noire. Un tel microprocesseur, appelé microprocesseur sécurisé, met en oeuvre un jeu de fonctions ou services, généralement critiques pour la sécurité du système, par exemple des services de chiffrement/déchiffrement aussi appelés services de cryptographie. Ce jeu de services est mis à disposition des autres microprocesseurs du système, également appelés microprocesseurs hôtes. Pour les opérations de chiffrement/déchiffrement, le microprocesseur sécurisé utilise des clés de chiffrement/déchiffrement, appelés clés d'hôte, qui dépendent généralement des microprocesseurs hôtes sollicitant les services du microprocesseur sécurisé. Ces clés d'hôte doivent être mémorisées dans une mémoire non volatile. Il peut être souhaitable de pouvoir modifier les clés d'hôte au cours du fonctionnement du système électronique. Il faut donc que les clés soient mémorisées dans une mémoire non volatile effaçable et programmable. Toutefois, le microprocesseur peut ne pas comprendre de mémoire non volatile effaçable et programmable. Les clés d'hôte doivent être alors mémorisées dans une mémoire non volatile effaçable et programmable externe au microprocesseur sécurisé. Il peut alors être difficile d'assurer une gestion sécurisée des clés d'hôte. Ces caractéristiques et avantages, ainsi que d'autres, seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non limitatif en relation avec les figures jointes parmi lesquelles : la représente un mode de réalisation d'un système électronique comprenant plusieurs microprocesseurs, dont un microprocesseur sécurisé ; la représente, par un schéma par blocs, un mode de réalisation d'un procédé de gestion de clés d'hôte du système électronique de la ; la représente, par un schéma par blocs, un autre mode de réalisation d'un procédé de mise à jour de clés d'hôte du système électronique de la . Système électronique (5) comprenant : un ou des premiers microprocesseurs (10) ; un deuxième microprocesseur (20) de gestion sécurisée de premières clés cryptographiques des premiers microprocesseurs, le deuxième microprocesseur étant configuré pour communiquer avec chaque premier microprocesseur et comprenant une première mémoire non volatile (23) dans laquelle est mémorisée au moins une deuxième clé ; et pour chaque premier microprocesseur, une deuxième mémoire non volatile (30) externe au deuxième microprocesseur et contenant les premières clés du premier microprocesseur cryptées avec la deuxième clé. Système électronique selon la revendication 1, dans lequel, pour chaque premier microprocesseur (10), le deuxième microprocesseur (20) est relié à la deuxième mémoire non volatile (30) associée au premier microprocesseur seulement par l'intermédiaire du premier microprocesseur. Système électronique selon la revendication 1 ou 2, dans lequel, pour chaque premier microprocesseur (10), la deuxième mémoire non volatile (30) associée au premier microprocesseur contient une table répertoriant les premières clés du premier microprocesseur et ayant une partie cryptée avec la deuxième clé ou avec une autre deuxième clé mémorisée dans la première mémoire non volatile (23). Système électronique selon la revendication 3, dans lequel le deuxième microprocesseur (20) contient une mémoire volatile (22) et dans lequel, pour chaque premier microprocesseur (10), le deuxième microprocesseur est configuré pour demander au premier microprocesseur de lui transmettre la table mémorisée dans la deuxième mémoire non volatile (30) associée au premier microprocesseur, pour, à réception de la table, décrypter la partie cryptée de la table en utilisant la deuxième clé ou ladite autre deuxième clé, et pour mémoriser la partie décryptée de la table dans la mémoire volatile (22). Système électronique selon la revendication 3 ou 4, dans lequel, pour chaque premier microprocesseur (10), la table mémorisée dans la deuxième mémoire non volatile (30) associée au premier microprocesseur contient un compteur monotone. Système électronique selon la revendication 5, dans lequel le deuxième microprocesseur (20) est configuré, pour chaque premier microprocesseur (10), pour demander au premier microprocesseur de lui transmettre la valeur du compteur monotone de la table présente dans la deuxième mémoire non volatile (30) associée au premier microprocesseur, et de vérifier la validité de la valeur du compteur monotone transmise. Système électronique selon l'une quelconque des revendications 1 à 6, pour chaque premier microprocesseur (10), le deuxième microprocesseur (20) est configuré pour demander au premier microprocesseur (10) de lui transmettre les premières clés cryptées mémorisées dans la deuxième mémoire non volatile (30) associée au premier microprocesseur et pour décrypter les premières clés transmises. Système électronique selon la revendication 7, dans lequel le deuxième microprocesseur (20) est configuré pour déterminer, pour chaque première clé transmise, si la première clé peut être mémorisée dans la mémoire volatile (22), et, si cela est le cas, de mémoriser la première clé décryptée dans la mémoire volatile. Système électronique selon la revendication 3 ou 4, dans lequel, pour chaque premier microprocesseur (10), le deuxième microprocesseur (20) est configuré pour mettre à jour la table et l'une des premières clés du premier microprocesseur, pour crypter la partie de la table et la première clé en utilisant la deuxième clé ou ladite autre deuxième clé, et pour commander le premier microprocesseur pour qu'il mémorise dans la deuxième mémoire non volatile (30) associée au premier microprocesseur la table mise à jour et la première clé mise à jour. Procédé de fonctionnement d'un système électronique (5) comprenant : un ou des premiers microprocesseurs (10) ; un deuxième microprocesseur (20) de gestion sécurisée de premières clés cryptographiques des premiers microprocesseurs, le deuxième microprocesseur communiquant avec chaque premier microprocesseur et comprenant une première mémoire non volatile (23) dans laquelle est mémorisée au moins une deuxième clé ; et pour chaque premier microprocesseur, une deuxième mémoire non volatile (30) externe au deuxième microprocesseur et contenant les premières clés du premier microprocesseur cryptées avec la deuxième clé