Brevet FR3047587A1 (20170811)
REVENDICATIONS1. Procédé de protection de données sensibles, comprenant : entrer, par un dispositif de traitement (202), dans un mode d'accès à des données sensibles dans lequel des données sensibles sont accessibles ; restreindre, par un programme s'exécutant dans le mode d'accès à des données sensibles, une ou plusieurs plages d'adresses accessibles pour une fonction non sécurisée, et appeler, à partir du mode d'accès à des données sensibles, la fonction non sécurisée ; et entrer, par le dispositif de traitement (202), dans un autre mode de fonctionnement pour exécuter la fonction non sécurisée, pendant lequel le dispositif de traitement a accès seulement auxdites une ou plusieurs plages d'adresses accessibles.\n<CLM>\1\tProcédé selon la revendication 1, dans lequel le fait de restreindre lesdites une ou plusieurs plages d'adresses accessibles pour la fonction non sécurisée comprend la configuration, dans un ou plusieurs registres de configuration (224) d'un circuit de protection de mémoire (206), desdites une ou plusieurs plages d'adresses accessibles.\n<CLM>\1\tProcédé selon la revendication 2, comprenant en outre : recevoir, par le circuit de protection de mémoire (206) pendant l'exécution de la fonction non sécurisée, une adresse à accéder ; comparer l'adresse à accéder auxdites une ou plusieurs plages d'adresses accessibles ; et déclencher l'accès mémoire seulement si l'adresse à accéder se trouve dans lesdites une ou plusieurs plages d'adresses accessibles.\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 3, comprenant en outre la définition dans un registre d'un pointeur de pile pointant vers des paramètres d'appel mémorisés 3047587 B14344 25 dans lesdites une ou plusieurs plages d'adresses accessibles et à utiliser par la fonction non sécurisée.\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 4, comprenant en outre l'exécution de la fonction non sécurisée 5 dans l'autre mode de fonctionnement en extrayant du code d'instructions d'une mémoire de code d'instructions (208).\n<CLM>\1\tProcédé selon la revendication 5, dans lequel le code d'instructions mémorisé dans la mémoire de code d'instructions (208) est chiffré, le procédé comprenant en outre le déchiffrement 10 du code d'instructions.\n<CLM>\1\tProcédé selon la revendication 6, dans lequel le code d'instructions est déchiffré par un circuit de déchiffrement (210) en utilisant une première clé associée à l'autre mode de fonctionnement, et dans lequel la mémoire de code d'instructions 15 (208) mémorise en outre un autre code d'instructions associé au mode de fonctionnement sensible et pouvant être déchiffré en utilisant une deuxième clé différente de la première clé, le circuit de déchiffrement (210) étant configuré pour rendre la deuxième clé accessible seulement pendant que le dispositif de 20 traitement est dans le mode d'accès à des données sensibles.\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 7, comprenant en outre un retour au mode d'accès à des données sensibles à la fin de l'appel de fonction non sécurisée.\n<CLM>\1\tProcédé selon la revendication 8, dans lequel la fin 25 de l'appel de fonction non sécurisée est déclenchée par un événement externe au dispositif de traitement.\n<CLM>\1\tProcédé selon la revendication 8 ou 9, dans lequel la fin de l'appel de fonction non sécurisée est déclenchée par au moins l'un des évènements suivants : 30 la détection, par un circuit de protection de mémoire (206), d'une tentative d'accès à une adresse située en dehors desdites une ou plusieurs plages d'adresses accessibles ; la détection d'une tentative d'accès à un dispositif périphérique interdit ; 3047587 B14344 26 la détection d'une tentative d'accès à un registre interdit ; la détection d'une tentative d'accès à une instruction inconnue ou interdite ; et 5 la détection d'une interruption générée par un dispositif périphérique.\n<CLM>\1\tSystème informatique comprenant : un dispositif de traitement (202) capable de fonctionner dans un mode d'accès à des données sensibles dans lequel des 10 données sensibles sont accessibles, et dans un autre mode, le dispositif de traitement étant agencé pour : - restreindre, par un programme s'exécutant dans le mode d'accès à des données sensibles, une ou plusieurs plages d'adresses accessibles pour une fonction non sécurisée ; 15 - appeler, à partir du mode d'accès à des données sensibles, la fonction non sécurisée ; et - entrer dans l'autre mode de fonctionnement pour exécuter la fonction non sécurisée, pendant lequel le dispositif de traitement a accès seulement auxdites une ou plusieurs plages 20 d'adresses.\n<CLM>\1\tSystème informatique selon la revendication 11, comprenant en outre un circuit de déchiffrement (210) agencé pour déchiffrer le code d'instructions de la fonction non sécurisée avant son exécution par le dispositif de traitement. 25\n<CLM>\1\tSystème informatique selon la revendication 11, comprenant en outre : une mémoire de code d'instructions (208) mémorisant le code d'instructions et un autre code d'instructions associé au mode de fonctionnement sensible ; et 30 un circuit de déchiffrement (210) adapté à déchiffrer le code d'instructions en utilisant une première clé associée à l'autre mode de fonctionnement, et à déchiffrer l'autre code d'instructions en utilisant une deuxième clé différente de la première clé, le circuit de déchiffrement (210) étant agencé pour rendre la deuxième clé accessible seulement pendant que le 3047587 B14344 27 dispositif de traitement est dans le mode d'accès à des données sensibles.\n<CLM>\1\tSystème informatique selon l'une quelconque des revendications 11 à 13, dans lequel le dispositif de traitement 5 est agencé pour mettre fin à l'appel de fonction non sécurisée en réponse à une interruption générée en réponse à la détection d'un ou plusieurs des événements suivants : une tentative d'accès à une adresse située en dehors desdites une ou plusieurs plages d'adresses accessibles ; 10 une tentative d'accès à un dispositif périphérique interdit ; 15 une tentative d'accès à un registre interdit ; une tentative d'accès à une instruction inconnue ou interdite ; et une interruption générée par un dispositif périphérique.