Brevet FR3074936A1 (20190614)

REVENDICATIONS1. Procédé d'écriture d'un ensemble d'informations destinées à être traitées par une unité de traitement d'un circuit intégré, dans une mémoire externe (11) au circuit intégré (10), comprenant avant de débuter le processus d'écriture de l'ensemble d'informations, une génération (S20) au sein du circuit intégré d'une clé de cryptage (RD), et au cours dudit processus d'écriture, pour chaque information (MCi) destinée à être écrite à une adresse (ADRi) de la mémoire, un premier encryptage (S21) de ladite adresse au sein du circuit intégré par des premiers moyens de cryptage/décryptage utilisant ladite clé de façon à obtenir une adresse cryptée (ADRCi), un deuxième encryptage (S22) de ladite information au sein du circuit intégré avec des deuxièmes moyens de cryptage/décryptage utilisant ladite adresse cryptée, et une écriture (S23) de l'information cryptée (MCCi) à ladite adresse, la mémoire ne pouvant pas être écrite deux fois à la même adresse au cours du processus d'écriture.\n<CLM>\1\tProcédé selon la revendication 1, dans lequel lors du processus d'écriture on écrit la première information à une adresse initiale et on incrémente (S30) l'adresse (ADRi) après chaque écriture d'une information.\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel l'ensemble d'informations est destiné à être écrit dans à une plage d'adresses de la mémoire, et lorsque toutes les adresses de ladite plage ont été utilisées lors du processus d'écriture, on interdit (S25) toute nouvelle opération d'écriture dans la mémoire avec la clé de cryptage qui vient d'être utilisée.\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel la génération (S20) de ladite clé de cryptage est aléatoire.\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel on génère une nouvelle clé de cryptage avant chaque nouveau processus d'écriture. 11\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel l'unité de traitement (100) est un microcontrôleur.\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel l'ensemble d'informations comprend un code programme 5 destiné à être exécuté par l'unité de traitement.\n<CLM>\1\tProcédé selon l'une des revendications précédentes, comprenant en outre un stockage (S27) de la clé de cryptage dans un moyen de stockage (109) interne au circuit intégré.\n<CLM>\1\tProcédé de traitement d'un ensemble d'informations par 10 une unité de traitement d'un circuit intégré, ledit ensemble d'informations ayant été écrit dans une mémoire externe au circuit intégré selon le procédé selon la revendication 8, le procédé d'exécution comprenant pour chaque information (MCCi) stockée à une adresse de la mémoire externe et destinée à être chargée dans 15 l'unité de traitement, un premier encryptage (S42) de ladite adresse (ADRi) au sein du circuit intégré par les premiers moyens de cryptage/décryptage utilisant ladite clé de façon à obtenir une adresse cryptée (ADRCi), une lecture (S40) de l'information cryptée (MCCi) stockée dans la mémoire externe à ladite adresse, un décryptage (S43) 20 de ladite information cryptée au sein du circuit intégré avec les deuxièmes moyens de cryptage/décryptage utilisant ladite adresse cryptée, et un chargement (S44) de l'information décryptée dans un registre de l'unité de traitement.\n<CLM>\1\tProcédé selon la revendication 9, dans lequel ledit 25 ensemble d'informations comprend un code programme comportant des données de code, le traitement dudit ensemble d'informations comprend une exécution du code programme par l'unité de traitement, et chaque donnée de code décryptée étant chargée dans un registre d'instructions de l'unité de traitement. 30\n<CLM>\1\tDispositif comprenant un circuit intégré (10) comportant une unité de traitement (100) et une mémoire (11) externe au circuit intégré, le circuit intégré comprenant une entrée d'information (107) pour recevoir un ensemble d'informations destiné à être écrit dans la mémoire externe en vue de son traitement ultérieur par l'unité de 12 traitement, des moyens de génération (101) configurés pour générer une clé de cryptage, des moyens d'adressage (102) configurés pour générer une adresse de la mémoire pour chaque information destinée à être écrite dans la mémoire et pour ne pas générer deux fois la même 5 adresse au cours du processus d'écriture de l'ensemble d'informations, des premiers moyens de cryptage/décryptage (103) configurés pour effectuer un premier encryptage de ladite adresse utilisant ladite clé de façon à obtenir une adresse cryptée, des deuxièmes moyens de cryptage/décryptage (104) configurés pour effectuer un deuxième 10 encryptage de ladite information utilisant ladite adresse cryptée, et des moyens d'écriture (105) configurés pour écrire l'information cryptée à ladite adresse.\n<CLM>\1\tDispositif selon la revendication 11, dans lequel lors du processus d'écriture les moyens d'adressage (102) sont configurés 15 pour générer une adresse initiale et pour incrémenter l'adresse après chaque écriture d'une information.\n<CLM>\1\tDispositif selon la revendication 11 ou 12, dans lequel les moyens d'adressage (102) sont configurés pour écrire l'ensemble d'informations à une plage d'adresses de la mémoire, et pour interdire 20 tout nouvel adressage lorsque toutes les adresses de ladite plage ont été utilisées lors du processus d'écriture.\n<CLM>\1\tDispositif selon l'une des revendications 11 à 13, dans lequel les moyens de génération (101) sont configurés pour générer ladite clé de cryptage de façon aléatoire. 25\n<CLM>\1\tDispositif selon l'une des revendications 11 à 14, dans lequel les moyens de génération (101) sont configurés pour générer une nouvelle clé de cryptage avant chaque nouveau processus d' écriture.\n<CLM>\1\tDispositif selon l'une des revendications 11 à 15, dans 30 lequel les deuxièmes moyens de cryptage/décryptage (104) comportent un opérateur OU EXCLUSIF (1040).\n<CLM>\1\tDispositif selon la revendication 16, dans lequel les deuxièmes moyens de cryptage/décryptage (104) comportent des 13 moyens de brouillage (1041) configurés pour modifier les entrées de l'opérateur OU EXCLUSIF (1040) selon un code de brouillage (CDS).\n<CLM>\1\tDispositif selon l'une des revendications 11 à 17, dans lequel l'unité de traitement (100) est un microcontrôleur. 5\n<CLM>\1\tDispositif selon l'une des revendications 9 à 18, dans lequel l'ensemble d'informations comprend un code programme comportant des données de code et destiné à être exécuté par l'unité de traitement.\n<CLM>\1\tDispositif selon l'une des revendications 9 à 19, 10 comprenant en outre un moyen de stockage (109) interne au circuit intégré configuré pour stocker la clé de cryptage.\n<CLM>\1\tDispositif selon la revendication 20, dans lequel, lorsque la mémoire externe contient des informations cryptées, les premiers moyens de cryptage/décryptage (103) sont configurés pour extraire la 15 clé de cryptage du moyen de stockage interne et pour crypter avec ladite clé de cryptage, chaque adresse à laquelle doit être lue une information, le circuit intégré comprenant des moyens de lecture configurés pour lire dans la mémoire externe à ladite adresse, l'information cryptée, et les deuxièmes moyens de cryptage/décryptage 20 (104) sont configurés pour décrypter l'information cryptée lue avec ladite adresse cryptée, et pour délivrer la donnée de code décryptée dans un registre (1000) de l'unité de traitement.