Brevet FR3130442A1 — publié le 20230616

Dispositif de contrôle d'accès à une mémoire non volatile Un aspect de l’invention concerne un dispositif (220) de contrôle d'accès à une mémoire non volatile (230), l'accès étant requis par un système électronique (210), le dispositif (220), le système électronique (210) et la mémoire volatile étant compris dans un système embarqué (200), le dispositif (220) étant configuré pour : Recevoir une requête (210) d'écriture ou de lecture de la mémoire non volatile (230) par le système électronique ; Recevoir une donnée (202), émise par le système électronique (210), concernant un contexte d'utilisation du système embarqué (200) ; Autoriser l'accès la mémoire volatile (230) lorsqu'une règle d'un ensemble de règles prédéterminées est respectée, la règle étant basée sur la requête (201) et la donnée (202) de contexte ; l'autorisation d'accès comportant l'émission, par le dispositif (220) de contrôle d’accès, du premier signal à la mémoire non volatile (230). Figure à publier avec l’abrégé : Figure 2 Dispositif de contrôle d'accès à une mémoire non volatile DOMAINE TECHNIQUE DE L’INVENTION Le domaine technique de l’invention est celui de la sécurité des systèmes embarqués. La présente invention concerne un dispositif de contrôle d'accès à au moins une section d'une mémoire non volatile, l'accès à la section de la mémoire non volatile étant requis par un système électronique. ARRIERE-PLAN TECHNOLOGIQUE DE L’INVENTION Les moyens de transport aéronautiques comprennent des systèmes embarqués, de type équipements aéronautiques, comprenant des systèmes électroniques, définis pour répondre à des exigences applicatives et opérationnelles critiques. Les systèmes embarqués doivent respecter des contraintes de sécurité indispensable afin d'assurer la confidentialité des données utilisées et la sécurité des passagers et du personnel voyageant dans les moyens de transport aéronautiques. Les systèmes embarqués peuvent être exposés à des actes de malveillance soit lors de leur développement soit lors de leur exploitation sur le terrain et doivent ainsi mettre en œuvre des capacités de sécurité afin d'éviter la compromission de données et applications stockées. Le montre une représentation schématique d'un système embarqué 200, connu de l'état de l'art, dans un véhicule aéronautique. Le système embarqué 200 comprend un système électronique 210, par exemple un système sur puce (SoC de l’anglais System-on-Chip). Le système 200 comprend également un processeur 211 et un bus de données synchrones 213 (par exemple un bus SPI de l’anglais serial peripheral interface) permettant de communiquer avec une mémoire non volatile 230 et de la commander. La mémoire non-volatile 230 est comprise dans le système embarqué 200 et stocke des données, par exemple au moins un paramètre, au moins une image et/ou au moins une donnée textuelle. Le système électronique 210 connu émet un signal de commande 201 comprenant au moins une requête d'écriture, de modification ou de lecture de données comprises dans la mémoire non volatile 230, l'émission du premier signal 201 dépendant d'un signal de fonctionnement 203 désignant une donnée caractérisant le mode de fonctionnement du système embarqué 200. Par exemple, lors des phases de maintenance du véhicule dans lequel est embarqué le système 200, le système embarqué 200 est mis à jour par chargement de binaires logiciels et données de configuration dans des sections définies de la mémoire non-volatile 230. L'accès en lecture et/ou en écriture de données et logiciels stockés dans la mémoire non volatile 230 doit être maitrisé et sécurisé afin d’assurer une exécution intègre des applications critiques sur les systèmes sur puce ou processeur et résistant aux attaques logicielles s’exécutant sur le système électronique 210. L'accès à la mémoire non-volatile 230 par le système électronique 210 est protégé le mécanisme suivant : un signal lié à la protection en écriture et/ou en lecture 241 (Write Protect Signal en anglais) de la section de la mémoire non volatile 230, transite entre un port entrée/sortie 212 (GPIO de l’anglais General Purpose Input Output) compris dans le système électronique 210, et un port 232 lié à la protection en écriture et/ou en lecture de la mémoire non volatile 230, compris dans la mémoire non volatile 230. Le signal lié à la protection en écriture et/ou en lecture 241 autorise ou interdit l'accès à un registre définissant les droits d’accès en écriture et lecture des sections de la mémoire 233 (SRWD de l’anglais Status Register Write Disable) aux secteurs de la mémoire non volatile 230. En particulier, le registre de contrôle d'accès 233 est programmé par une application exécutée sur le système électronique 210. Dans la suite le registre de contrôle d'accès 233 sera également appelé registre 233. Cependant, ladite application peut contenir des fonctions malveillantes ou des fonctions dormantes pouvant altérer les données stockées dans la mémoire non-volatile 230. Les fonctions malveillantes peuvent être introduites lors du développement et/ou lors des mises à jour de données et applications stockées par la mémoire non volatile 230. Ces fonctions malveillantes activées par des fonctions ou des services non maitrisés peuvent compromettre le contenu de la mémoire non volatile 230 par modification du contenu du signal lié à la protection en écriture et/ou en lecture 241 envoyé à la mémoire non volatile 230. Ainsi, une protection renforcée est requise lors des échanges entre le système électronique 210 et la mémoire non volatile 230. Il existe donc un besoin de garantir l’intégrité des applications et données au moment de leur lecture et de leur exécution par le système électronique 210. L’invention offre une solution aux problèmes évoqués précédemment, en permettant de contrôler chaque échange entre un système électronique, de type système sur puce et une mémoire non volatile, embarqués dans un même système embarqué, de type équipement aéronautique, le contrôle étant réalisé selon une politique de sécurité. Un premier aspect de l’invention concerne un dispositif de contrôle d'accès à au moins une section d'une mémoire non volatile, l'accès à la section de la mémoire non volatile étant requis par un système électronique, le dispositif, le système électronique et la mémoire volatile étant compris dans un système embarqué, le dispositif étant configuré pour : Recevoir un premier signal, émis par le système électronique et destiné à la mémoire non volatile, ledit premier signal comportant au moins une requête de lecture de la section de la mémoire non volatile et/ou au moins une requête comportant une donnée à écrire dans la section de la mémoire non volatile ; Recevoir un deuxième signal, émis par le système électronique, comportant au moins une donnée concernant un contexte d'utilisation du système embarqué ; Autoriser l'accès à la section de la mémoire volatile, l'autorisation d'accès étant conditionnée au respect d'au moins une règle d'un ensemble de règles prédéterminées, la règle étant basée sur le premier signal et le deuxième signal ; l'autorisation d'accès comportant l'émission, par le dispositif de contrôle d’accès, du premier signal à la section de la mémoire non volatile. Grâce à l’invention, les échanges entre un système électronique (par exemple un système sur puce, ou un processeur universel) et une mémoire non volatile, compris dans un équipement aéronautique embarqué, sont contrôlés et analysés par un dispositif de contrôle d'accès, selon une politique de sécurité comportant un ensemble de règles prédéterminées. Le dispositif de contrôle de sécurité intercepte tous les signaux émis par le système électronique comportant des commandes ou des données destinées à la mémoire non volatile et s'assure de la cohérence entre des commandes comprises dans les signaux émis par le système électronique et le contexte dans lequel ces commandes sont émises. L'invention permet d'éviter de transmettre des données corrompues ou malveillantes à la mémoire non volatile, les données corrompues pouvant provenir du système électronique ou d'un autre système ayant intercepté des signaux émis par le système électronique. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le dispositif selon le premier aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles : le contexte d'utilisation du système électronique comprend des informations liées au système électronique et/ou aux instructions exécutées par le système électronique. Cette caractéristique permet de distinguer les modes d'utilisation du système électronique, ce qui permet au dispositif de contrôle d'accès d'autoriser ou non les commandes émises par ledit système électronique en fonction du mode d'utilisation du système électronique et d'éviter la transmission d'éventuelles commandes et données malveillantes ou corrompues à la mémoire non volatile. Le dispositif est configuré pour recevoir un troisième signal comportant au moins une donnée représentative d’une phase de vie du système embarqué et au moins une donnée représentative du mode de fonctionnement du système embarqué et la règle de l'ensemble de règles prédéterminées est basée sur le troisième signal. Cette caractéristique renforce la sécurité des échanges entre le système électronique et la mémoire en ajoutant une donnée supplémentaire à prendre en compte lors de l'analyse, par le dispositif de contrôle d'accès, des signaux émis par le système électronique. si la règle de l'ensemble de règles prédéterminé est respectée, le dispositif est configuré en outre pour positionner un quatrième signal lié à la protection en écriture de la section de la mémoire non volatile à destination de la section de la mémoire non volatile. Le dispositif d'accès autorise la transmission des signaux de commandes en écriture vers la section de la mémoire non volatile, cependant, l'autorisation d'écriture dans la mémoire non volatile est permise par un signal lié à la protection en écriture généré par le dispositif de contrôle d'accès pour donner suite à l'autorisation de la transmission des signaux de commandes. Le dispositif est configuré pour émettre au moins un message d'erreur vers le système électronique si aucune règle de l'ensemble de règles prédéterminées n'est respectée. Cette caractéristique permet avantageusement d'avertir le système électronique lorsque des signaux qu'il a émis sont rejetés et la raison de leur rejet, ce qui permet par exemple au système électronique de détecter la présence de fonctions malveillantes dans le système électronique. Le dispositif est configuré pour recevoir un cinquième signal émis par le système électronique et comprenant au moins une donnée d'indication de la section de la mémoire non volatile. Cette donnée permet de connaitre plus précisément la section à laquelle est destiné un message émis par le système électronique. Un deuxième aspect de l’invention concerne un système embarqué comprenant : le dispositif de contrôle d'accès à la section de la mémoire non volatile selon l’invention ; le système électronique comprenant au moins un processeur ; la mémoire non volatile comprenant au moins la section de la mémoire non volatile. Un troisième aspect de l’invention concerne un procédé de contrôle d'accès à la section de la mémoire volatile mis en œuvre par le dispositif de contrôle d’accès selon l’invention, l'accès à la section de la mémoire non volatile étant requis par le système électronique, le procédé comportant les étapes suivantes : Réception d'un premier signal, émis par le système électronique et destiné à la mémoire non volatile, ledit premier signal comportant au moins une requête de lecture de la section de la mémoire non volatile et/ou au moins une requête compotant une donnée à écrire dans la section de la mémoire non volatile ; Réception d'un deuxième signal, émis par le système électronique, comportant au moins une donnée concernant un contexte dans lequel est utilisé le processeur ; Autorisation d'accès à la section de la mémoire volatile, l'autorisation d'accès étant conditionnée au respect d'au moins une règle d'un ensemble de règles prédéterminé, la règle étant basée sur le premier signal et le deuxième signal, l'autorisation d'accès comportant une sous-étape d'émission du premier signal à la section de la mémoire non volatile. Outre les caractéristiques qui viennent d’être évoquées dans le paragraphe précédent, le procédé selon le troisième aspect de l’invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon toutes les combinaisons techniquement possibles : Emission d'au moins un message d'erreur vers le système électronique si aucune règle de l'ensemble de règles prédéterminées n'est respectée. Réception d'un troisième signal comportant au moins une donnée représentative de l'état du cycle de vie d'un véhicule dans lequel sont compris le système électronique, le dispositif et la mémoire non volatile et la règle de l'ensemble de règles prédéterminées est basée sur le troisième signal. Réception un cinquième signal émis par le système électronique et comprenant au moins une donnée d'indication de la section de la mémoire non volatile. Un autre aspect de l'invention concerne un produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon l'invention lorsque ledit programme est exécuté sur un ordinateur Un autre aspect de l'invention concerne un support lisible par ordinateur, sur lequel est enregistré le programme d'ordinateur cité précédemment. Un autre aspect de l'invention concerne un aéronef comprenant le système embarqué selon l'invention. L’invention et ses différentes applications seront mieux comprises à la lecture de la description qui suit et à l’examen des figures qui l’accompagnent. BREVE DESCRIPTION DES FIGURES Les figures sont présentées à titre indicatif et nullement limitatif de l’invention. La est une représentation schématique d'un système embarqué connu, le système embarqué comprenant un système électronique et une mémoire non volatile ; La est une représentation schématique d'un système embarqué, comprenant un système électronique et une mémoire non volatile qui communiquent via un dispositif de contrôle d'accès à la mémoire non volatile selon l’invention ; La est un schéma synoptique illustrant l’enchaînement des étapes d’un procédé mis en œuvre par le dispositif de contrôle d'accès à la mémoire non volatile selon l’invention. Dispositif (220) de contrôle d'accès à au moins une section (231) d'une mémoire non volatile (230), l'accès à la section de la mémoire non volatile (230) étant requis par un système électronique (210), le dispositif (220), le système électronique (210) et la mémoire volatile étant compris dans un système embarqué (200), le dispositif (220) étant configuré pour : Recevoir un premier signal (201), émis par le système électronique (210) et destiné à la mémoire non volatile (230), ledit premier signal comportant au moins une requête de lecture de la section (231) de la mémoire non volatile (230) ou au moins une requête comportant une donnée à écrire dans la section (231) de la mémoire non volatile (230) ; Recevoir un deuxième signal (202), émis par le système électronique (210), comportant au moins une donnée concernant un contexte d'utilisation du système embarqué (200) ; Autoriser l'accès à la section (231) de la mémoire volatile (230), l'autorisation d'accès étant conditionnée au respect d'au moins une règle d'un ensemble de règles prédéterminées, la règle étant basée sur le premier signal (201) et sur le deuxième signal (202) ; l'autorisation d'accès comportant l'émission, par le dispositif (220) de contrôle d’accès, du premier signal (201) à la section (231) de la mémoire non volatile (230). Dispositif (220) selon la revendication précédente selon lequel le contexte d'utilisation du système électronique (210) comprend des informations liées au système électronique (210) et/ou à au moins une instruction exécutée par le système électronique (210). Dispositif (220) selon l'une quelconque des revendications précédentes configuré pour recevoir un troisième signal comportant au moins une donnée représentative d’une phase de vie du système embarqué (200) et au moins une donnée représentative d’un mode de fonctionnement du système embarqué (200) et selon lequel la règle de l'ensemble de règles prédéterminées est en outre basée sur le troisième signal. Dispositif (220) selon l'une quelconque des revendications précédentes selon lequel si la règle de l'ensemble de règles prédéterminé est respectée, le dispositif (220) est configuré en outre pour positionner un quatrième signal lié à la protection en écriture de la section de la mémoire non volatile (230) à destination de la section de la mémoire non volatile (230). Dispositif (220) selon l'une quelconque des revendications précédentes configuré pour émettre au moins un message d'erreur vers le système électronique (210) si aucune règle de l'ensemble de règles prédéterminées n'est respectée. Système embarqué (200) comprenant : le dispositif de contrôle (220) d'accès à une la section de la mémoire non volatile (230) selon l'une quelconque des revendications précédentes ; le système électronique (210) comprenant au moins un processeur (211) ; la mémoire non volatile (230) comprenant au moins la section (231) de la mémoire non volatile. Procédé (100) de contrôle d'accès à la section (231) de la mémoire volatile (230) mis en œuvre par le dispositif (220) de contrôle d’accès selon l’une quelconque des revendications 1 à 5, l'accès à la section de la mémoire non volatile (230) étant requis par le système électronique (210), le procédé comportant les étapes suivantes : Réception (101) d'un premier signal, émis par le système électronique et destiné à la mémoire non volatile (230), ledit premier signal comportant au moins une requête de lecture de la section (231) de la mémoire non volatile (230) et/ou au moins une requête compotant une donnée à écrire dans la section (231) de la mémoire non volatile (230) ; Réception (102) d'un deuxième signal, émis par le système électronique (210), comportant au moins une donnée concernant un contexte dans lequel est utilisé le processeur (211) ; Autorisation (103) d'accès à la section de la mémoire volatile (230), l'autorisation d'accès étant conditionnée au respect, d'au moins une règle, d'un ensemble de règles prédéterminé, la règle étant basée sur le premier signal et le deuxième signal, l'autorisation d'accès comportant une sous-étape d'émission du premier signal à la section (231) de la mémoire non volatile (230). Produit programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon la revendication 7 lorsque ledit programme est exécuté sur un ordinateur. Support de données lisible par ordinateur, sur lequel est enregistré le programme d'ordinateur selon la revendication 8. Aéronef comprenant le système embarqué 200 selon la revendication 6.