EP3832469A1 - Système électronique sécurisé comportant un processeur et un composant mémoire ; composant programmable associé - Google Patents

Système électronique sécurisé comportant un processeur et un composant mémoire ; composant programmable associé Download PDF

Info

Publication number
EP3832469A1
EP3832469A1 EP20211471.6A EP20211471A EP3832469A1 EP 3832469 A1 EP3832469 A1 EP 3832469A1 EP 20211471 A EP20211471 A EP 20211471A EP 3832469 A1 EP3832469 A1 EP 3832469A1
Authority
EP
European Patent Office
Prior art keywords
component
processor
programmable
memory
programmable component
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
EP20211471.6A
Other languages
German (de)
English (en)
Other versions
EP3832469B1 (fr
Inventor
Steeve Lemahieu
Jonathan Ben Hassen
Samuel CHEVOLLEAU
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Publication of EP3832469A1 publication Critical patent/EP3832469A1/fr
Application granted granted Critical
Publication of EP3832469B1 publication Critical patent/EP3832469B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement

Definitions

  • the present invention relates to that of electronic systems of the type comprising a processor, a memory component, and a communication channel, the communication channel comprising at least one control bus that can be driven by the processor to access the memory component.
  • Flash memories are widely used for storing resident software: boot program for a central processing unit or CPU, applications, database, etc.
  • An eMMC memory is a component resulting from the integration of a NAND flash memory and a memory controller.
  • EMMC memories are used in industry and most processors intended for integration into on-board electronic systems have an eMMC interface.
  • an eMMC memory has a control bus allowing a host component to control access to the memory.
  • the read or write commands are therefore not driven by a memory input / output interface, as for example on older generations of flash memory, but it is the host component, using the command bus , which determines the action that the memory has to perform: read ("Read”), write (“Write”), state (“Status”), configuration (“Configuration”), and so on.
  • the eMMC memory controller enables authorization management, in particular writing, in order to protect the NAND flash memory against unwanted writes and therefore to maintain its content intact.
  • the eMMC memory controller enforces authorization management which may be altered by the host component.
  • a protection of the eMMC memory managed by the eMMC memory itself is therefore dependent on the software which is executed by the host component. It does not effectively protect the eMMC memory from certain threats, such as for example in the event of unintentional failure of the software executed by the host component (software or hardware bug), or in the event of intentional failure of the software executed by host component (use of security vulnerabilities in software by an attacker to perform unwanted actions and corrupt the content of eMMC memory, for example by storing sensitive data unwanted by the user).
  • the object of the present invention is to respond to this problem of securing access to a flash memory provided with a control bus to be driven by the host component.
  • the subject of the invention is an electronic system of the aforementioned type, further comprising a programmable component, the programmable component being integrated along the communication channel, in cutoff between the processor and the memory component, the communication channel then comprising a first control bus between the processor and the programmable component and a second control bus between the programmable component and the memory component, the programmable component being adapted to filter the commands sent by the processor to the memory component.
  • the present invention therefore makes it possible to protect the flash memory by putting a programmable component on cutoff between the memory and the host component.
  • the presence of this programmable component offers the possibility for a trusted third party component to control the access permissions to the memory.
  • the subject of the invention is also a trust device intended to be integrated into the preceding system.
  • the figure 1 schematically represents an electronic system 1 according to the invention.
  • System 1 comprises a processor 10 and a memory 30.
  • the memory 30 is a flash memory of the type that can be controlled by an external host component through a control bus.
  • the memory 30 is for example an eMMC memory.
  • the host component seeking to access the memory 30 is constituted by the processor 10.
  • the processor 10 and the memory 30 conform to the state of the art.
  • a communication channel is established between processor 10 and memory 30.
  • system 1 comprises, along the communication channel, a security device 20.
  • the security device 20 is able to intercept and filter the commands sent by the processor 10, so as to retransmit to the memory 30 only the commands which comply with certain security rules with which the device 20 is configured.
  • Security device 20 is viewed from processor 10 as eMMC memory.
  • the security device 20 therefore emulates the behavior of such a flash memory, in particular that of the memory 30.
  • security device 20 emulates the behavior of a processor, in particular that of processor 10.
  • the security device 20 comprises a programmable component 22 and a trusted component 26.
  • the programmable component 22 is integrated along the communication channel between the processor 10 and the component 30.
  • the programmable component 22 comprises a port 24 suitable for being coupled with an eMMC interface 12 of the processor 10.
  • the programmable component 22 comprises an eMMC interface 23 suitable for being coupled with a port 32 of the memory 30.
  • the communication channel between the interface 12 of the processor 10 and the port 32 of the memory 30 is subdivided into a first communication channel 40 between the processor 10 and the programmable component 22 and a second communication channel 50 between the component. programmable 22 and memory 30.
  • the first and second channels, 40 and 50 conform to a communication channel which would have allowed direct communication between processor 10 and memory 30.
  • the first channel 40 (respectively the second channel 50) comprises a control bus 41 (a control bus 51) for the exchange of commands and a data bus 42 (a data bus 52) for the exchange of data.
  • the programmable component 22 comprises, between the port 24 and the interface 23, a filtering unit 21.
  • the filtering unit 21 is able to apply one or more security rules.
  • the security rules are for example defined by a list of prohibited commands stored in a memory space 25 of the programmable device.
  • filtering unit 21 is adapted to, in a blocking state, block a command received from processor 10 on command bus 41 (and possibly the data associated with this command received on the data bus 42) or to, in an on state, retransmit a command received from the processor 10 on the command bus 41 (and possibly the data associated with this command received on the data bus 42) to the memory 30 on the command bus 51 (and possibly the data associated with this command on the data bus 52).
  • filter unit 21 In upstream communication from memory 30 to processor 10, in an on state, filter unit 21 retransmits a response received from memory 30 on control bus 51 (and possibly the data associated with this response received on bus data 52) to processor 10 on control bus 41 (and possibly the data associated with this response on data bus 42).
  • the trusted component 26 is for example a master controller of the electronic system 1.
  • the confidence component 26 is able to determine a current operating mode of the processor 10, on the basis of various INFO data received from various constituent components of the electronic system 1.
  • the trusted component 26 is interfaced with a port 27 of the programmable component 22.
  • the trusted component 26 is able to control the filtering unit 21 in order to modify the filtering carried out by the programmable component 22.
  • this modification of the filtering is carried out as a function of the current operating mode of processor 10.
  • the trusted component 26 changes the list of prohibited commands which is stored in the memory space 25 of the programmable component 22 and which this component uses to carry out the filtering of the commands.
  • the list of prohibited commands is such that any read or write function of the processor in the memory is prohibited.
  • the security method 100 is implemented when the processor 10 seeks to access the memory 30.
  • the processor 10 issues (step 110) a new command.
  • CYCLE1 For example, on figures 3 , for the first cycle, CYCLE1, a CMD1 command is sent by the processor 10. For example again, for the next cycle or second cycle, CYCLE2, a CMD2 command is sent by the processor 10.
  • a command comprises a function (also called an action), as well as an address of the memory 30 where the function must be applied.
  • the function is for example a function for writing to the associated address, a function for reading the associated address, or the like. In what follows, it is considered, for example, that the commands CMD1 and CMD2 are write commands.
  • Any command sent by processor 10 on control bus 41 is intercepted by programmable component 22.
  • step 120 the programmable component 22 filters the intercepted command.
  • the filtering unit 21 compares the command with the list of prohibited commands so as to determine whether the received command is authorized and must be transmitted to the memory 30 or if the received command is prohibited and must be rejected.
  • the programmable component 22 is placed in the on state for the remainder of the CYCLE1 cycle.
  • step 130 in which the filtering unit 21 re-transmits the command CMD1 on the control bus 51.
  • the memory 30 Following receipt of the CMD1 command on the command bus 51, the memory 30 sends a response, REP1, to the sender of the command, indicating that the memory 30 is ready to write data to the command. address indicated in the CMD1 command and that it waits to receive the data to be written on the data bus 52.
  • the programmable component 22 being on, the response REP1 is re-transmitted on the control bus 41 to the processor 10.
  • the processor 10 then sends the data to be written in the memory on the data bus 42. On the figure 3 these data are represented by the DATA1 block.
  • the programmable component 22 being on, the data DATA1 received on the data bus 41 is retransmitted on the data bus 52 to the memory 30.
  • the memory 30 When the memory 30 receives the data DATA1, it writes them to the address indicated in the command CMD1.
  • step 120 if the filtering unit 21 determines that the command is prohibited, the programmable component 22 is placed in the blocking state until the end of the cycle CYCLE2, so that no command or data cannot be transmitted on the second communication channel 50.
  • the security method 100 moves to step 140, in which the programmable component 22 sends, in response to the command CMD2, a response REP2 on the control bus 41 intended for the processor 10.
  • the response REP2 corresponds to a rejection. of the CMD2 command.
  • the processor 10 When receiving the negative response REP2, the processor 10 noting that its write request has been rejected, does not send any data on the data bus 42.
  • the filtering unit 21 implements security rules to determine whether a received command is authorized or not.
  • the trusted component 26 can come to modify the security rules, so that the result of the filtering of a command depends on the current operating mode of the processor.
  • the trusted component 26 configures the programmable component 22 so that it blocks any command, to prevent any data from being read or written in the memory 30.
  • the trusted component 26 configures the programmable component 22 to prohibit the write commands in the memory 30, but to authorize the reading in the memory 30.
  • the trusted component 26 configures the programmable component 22 to authorize the write commands in the memory 30, so as to allow the storage of the software that the processor has downloaded.
  • the safety device could consist of a single component or of more than two components.
  • the safety device consists of two components.
  • the programmable component must be a fast logic component so as not to introduce latency along the communication channel between the processor and the memory. Indeed, the introduction of a latency could indicate to the processor 10 that it is not directly accessing the memory 30.
  • a fast component is for example an ASIC (“Application-specific integrated circuit”), or an ASIC circuit (“Application-specific integrated circuit”).
  • programmable logic circuit such as an FPGA (“field-programmable gate array”) or a CPLD (“complex programmable logic device”).
  • the trusted component making it possible to control the programmable component does not need to be as fast as the programmable component, since the changes in operating mode of the processor only occur with a characteristic time much greater than that of the exchanges on the communication channel.
  • the trusted component could control the programmable component directly to change it from the blocking state to the on state and vice versa.
  • the programmable component is then reduced to a logic switch: in the blocking state, all the commands are rejected, and in the on state, all the commands are transmitted to the memory.
  • the list of prohibited commands is stored in the programmable component without being able to modify it, and the trusted component commands the programmable component to cause it to be placed either in an active state (in which the programmable component filters the commands according to the list of commands prohibited), or in a passing state (in which the programmable component is completely transparent allowing all the commands to pass).
  • control bus instead of being independent of the data bus, could be multiplexed with the latter.
  • the first and second buses are of the same nature, as a variant, they could be of a different nature. There would thus be a “break” of the bus between the processor and the memory component.
  • the first bus between the processor and the programmable component could be of the Ethernet type, while the second bus between the programmable component and the memory component would be of the eMMC type.
  • This variant has the advantage of being able to adapt the bit rates on each of the first and second buses independently of one another, in particular to correct latency effects introduced between the processor and the eMMC memory. It also makes it possible to adapt the memory component to the specifications of the port (and of the associated driver) used by the processor to control the memory component.
  • the programmable component does not perform a simple interception of the commands, but a conversion of the commands to play the role of interface between the first and second buses.
  • the programmable component no longer emulates the behavior of the memory component that it hides from the processor.
  • the present invention could also cover other types of memory component.
  • the invention in addition to eMMC memories (integrating an eMMC bus and a flash memory), the invention is applicable to I2C memories (“Inter Integrated Circuit”) (integrating an I2C bus and a memory, for example RAM or flash), to memories SPI (“Serial Peripheral Interface”) (integrating an SPI bus and memory, for example RAM or flash), SD (“Secure Digital”) cards, or the equivalent.
  • I2C memories Inter Integrated Circuit
  • SPI Serial Peripheral Interface
  • SPI Serial Peripheral Interface
  • SD Secure Digital
  • the invention applies to any memory component having a control bus controlled by the host component.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Information Transfer Systems (AREA)

Abstract

Ce système comporte un processeur (10), un composant mémoire (30), et un canal de communication, le canal de communication comportant au moins un bus de commande pouvant être piloté par le processeur (10) pour accéder au composant mémoire (30). Le système électronique (1) comporte, en outre, un composant programmable (22), le composant programmable (22) étant intégré le long du canal de communication, en coupure entre le processeur (10) et le composant mémoire (30), le canal de communication comportant alors un premier bus de commande (41) entre le processeur (10) et le composant programmable (22) et un second bus de commande (52) entre le composant programmable (22) et le composant mémoire (30), le composant programmable (22) étant adapté pour filtrer les commandes adressées par le processeur au composant mémoire.

Description

  • La présente invention a pour domaine celui des systèmes électroniques du type comportant un processeur, un composant mémoire, et un canal de communication, le canal de communication comportant au moins un bus de commande pouvant être piloté par le processeur pour accéder au composant mémoire.
  • Les mémoires flash sont largement utilisées pour le stockage de logiciels résidents : programme d'amorçage (« boot » en anglais) d'une unité centrale de traitement ou CPU, applicatifs, banque de données...
  • Parmi les mémoires flash, on connait les mémoires eMMC (pour « Embedded MultiMedia Card » en anglais). Une mémoire eMMC est un composant résultant de l'intégration d'une mémoire flash NAND et d'un contrôleur mémoire.
  • Les mémoires eMMC sont utilisées dans l'industrie et la plupart des processeurs destinés à être intégrés dans des systèmes électroniques embarqués disposent d'une interface eMMC.
  • Or, une mémoire eMMC dispose d'un bus de commande permettant à un composant hôte de piloter les accès à la mémoire.
  • Les commandes de lecture ou d'écriture ne sont donc pas pilotées par une interface d'entrée/sortie de la mémoire, comme par exemple sur les anciennes générations de mémoire flash, mais c'est le composant hôte, en utilisant le bus de commande, qui détermine l'action que la mémoire a à exécuter : lecture (« Read »), écriture (« Write »), état (« Status »), configuration (« Configuration »), etc.
  • Le contrôleur de la mémoire eMMC permet une gestion des autorisations, notamment d'écriture, afin de protéger la mémoire flash NAND contre des écritures non souhaitées et par conséquent de maintenir son contenu intègre.
  • Cependant, le contrôleur de la mémoire eMMC applique une gestion des autorisations qui peut être altérée par le composant hôte.
  • Ainsi, dans le document US2015/286585 A1 , même si le contrôleur de la mémoire eMMC est adapté de manière à mettre en œuvre une procédure d'authentification du composant hôte, le composant hôte, une fois authentifié, peut encore altérer la configuration qu'applique le contrôleur de la mémoire eMMC pour la gestion des autorisations.
  • Une protection de la mémoire eMMC gérée par la mémoire eMMC elle-même est donc dépendante du logiciel qui est exécuté par le composant hôte. Elle ne permet pas de protéger de manière efficace la mémoire eMMC de certaines menaces, telles que par exemple en cas de défaillance involontaire du logiciel exécuté par le composant hôte (bogue logiciel ou matériel), ou encore en cas de défaillance volontaire du logiciel exécuté par composant hôte (utilisation de failles de sécurité sur le logiciel par un attaquant pour réaliser des actions non souhaitées et corrompre le contenu de la mémoire eMMC, par exemple en y stockant des données sensibles non désirées par l'utilisateur).
  • La présente invention a pour but de répondre à ce problème de la sécurisation des accès à une mémoire flash munie d'un bus de commande pour être pilotée par le composant hôte.
  • L'invention a pour objet un système électronique du type précité, comportant, en outre, un composant programmable, le composant programmable étant intégré le long du canal de communication, en coupure entre le processeur et le composant mémoire, le canal de communication comportant alors un premier bus de commande entre le processeur et le composant programmable et un second bus de commande entre le composant programmable et le composant mémoire, le composant programmable étant adapté pour filtrer les commandes adressées par le processeur au composant mémoire.
  • La présente invention permet donc de protéger la mémoire flash en mettant un composant programmable en coupure entre la mémoire et le composant hôte. La présence de ce composant programmable offre la possibilité à un composant tiers de confiance de contrôler les autorisations d'accès à la mémoire
  • Suivant des modes particuliers de réalisation, le système électronique comporte une ou plusieurs des caractéristiques suivantes prises isolément ou suivant toutes les combinaisons techniquement possibles :
    • lorsque le composant programmable est dans un état passant, le composant programmable filtre une commande reçue du processeur de sorte que ladite commande soit retransmise au composant mémoire ;
    • lorsque le composant programmable est dans un état bloquant, le composant programmable filtre une commande reçue du processeur de sorte que ladite commande soit rejetée ;
    • l'état bloquant ou l'état passant du composant programmable est sélectionné en fonction du résultat d'un test consistant à comparer la commande reçue du processeur avec une liste de commandes interdites mémorisée par le composant programmable ;
    • le composant programmable est du type composant logique rapide, de préférence du type ASIC, FPGA ou CPLD ;
    • il comporte, en outre, un composant de confiance propre à commander le composant programmable de manière à sélectionner, directement ou indirectement, l'état bloquant ou l'état passant du composant programmable ;
    • le composant de confiance est propre à déterminer un mode de fonctionnement courant du processeur et à commander le composant programmable en fonction du mode de fonctionnement courant du processeur ;
    • le composant de confiance est propre à commander le composant programmable en mettant à jour une liste de commandes interdites stockée dans la composant programmable et utilisée par le composant programmable pour filtrer les commandes reçues du processeur ;
    • les premier et second bus sont identiques, le composant programmable effectuant une interception des commandes, ou dans lequel les premier et second bus sont différents, le composant programmable effectuant une conversion des commandes ;
    • le composant mémoire est une mémoire eMMC, I2C, SPI ou une carte SD.
  • L'invention a également pour objet un dispositif de confiance destiné à être intégré dans le système précédent.
  • L'invention et ses avantages seront mieux compris à la lecture de la description détaillée qui va suivre d'un mode de réalisation particulier, donné uniquement à titre d'exemple illustratif et non limitatif, la description étant faite en se référant aux dessins annexés sur lesquels :
    • La figure 1 est une représentation schématique d'un mode de réalisation préféré d'un système électronique selon l'invention ;
    • La figure 2 est une représentation sous forme de blocs du procédé mis en œuvre par le système de la figure 1 ; et,
    • La figure 3 est un chronogramme représentant des cycles successifs de fonctionnement du système de la figure 1.
  • La figure 1 représente de manière schématique un système électronique 1 selon l'invention.
  • Le système 1 comporte un processeur 10 et une mémoire 30.
  • La mémoire 30 est une mémoire flash du type pilotable par un composant hôte externe au travers d'un bus de commande. La mémoire 30 est par exemple une mémoire eMMC.
  • Dans le mode de réalisation décrit ici en détails, le composant hôte cherchant à accéder à la mémoire 30 est constitué par le processeur 10.
  • Le processeur 10 et la mémoire 30 sont conformes à l'état de la technique.
  • Un canal de communication est établi entre le processeur 10 et la mémoire 30.
  • En coupure entre le processeur 10 et la mémoire 30, le système 1 comporte, le long du canal de communication, un dispositif de sécurité 20.
  • Le dispositif de sécurité 20 est propre à intercepter et à les filtrer les commandes émises par le processeur 10, de manière à retransmettre vers la mémoire 30 uniquement les commandes qui sont conformes à certaines règles de sécurité avec lesquelles le dispositif 20 est configuré.
  • Le dispositif de sécurité 20 est vue depuis le processeur 10 comme une mémoire eMMC. Le dispositif de sécurité 20 émule par conséquent le comportement d'une telle mémoire flash, en particulier celui de la mémoire 30.
  • De manière similaire, vue depuis la mémoire 30, le dispositif de sécurité 20 émule le comportement d'un processeur, en particulier celui du processeur 10.
  • Dans le mode de réalisation actuellement préféré, représenté à la figure 1, le dispositif de sécurité 20 comporte un composant programmable 22 et un composant de confiance 26.
  • Le composant programmable 22 est intégré le long du canal de communication entre le processeur 10 et le composant 30.
  • Plus précisément, le composant programmable 22 comporte un port 24 propre à être couplé avec une interface eMMC 12 du processeur 10. Le composant programmable 22 comporte une interface eMMC 23 propre à être couplée avec un port 32 de la mémoire 30.
  • Ainsi, le canal de communication entre l'interface 12 du processeur 10 et le port 32 de la mémoire 30 est subdivisé en un premier canal de communication 40 entre le processeur 10 et le composant programmable 22 et un second canal de communication 50 entre le composant programmable 22 et la mémoire 30.
  • Les premier et second canaux, 40 et 50, sont conformes à un canal de communication qui aurait permis une communication directe entre le processeur 10 et la mémoire 30.
  • Le premier canal 40 (respectivement le second canal 50) comporte un bus de commande 41 (un bus de commande 51) pour l'échange de commandes et un bus de données 42 (un bus de données 52) pour l'échange de données.
  • Le composant programmable 22 comporte, entre le port 24 et l'interface 23, une unité de filtrage 21.
  • L'unité de filtrage 21 est propre à appliquer une ou plusieurs règles de sécurité. Les règles de sécurité sont par exemple définies par une liste de commandes interdites stockée dans un espace mémoire 25 du dispositif programmable.
  • En communication descendante du processeur 10 vers la mémoire 30, l'unité de filtrage 21 est adaptée pour, dans un état bloquant, bloquer une commande reçue du processeur 10 sur le bus de commande 41 (et éventuellement les données associées à cette commande reçues sur le bus de données 42) ou pour, dans un état passant, retransmettre une commande reçue du processeur 10 sur le bus de commande 41 (et éventuellement les données associées à cette commande reçues sur le bus de données 42) vers la mémoire 30 sur le bus de commande 51 (et éventuellement les données associées à cette commande sur le bus de données 52).
  • En communication montante de la mémoire 30 vers le processeur 10, dans un état passant, l'unité de filtrage 21 retransmet une réponse reçue de la mémoire 30 sur le bus de commande 51 (et éventuellement les données associées à cette réponse reçues sur le bus de données 52) vers le processeur 10 sur le bus de commande 41 (et éventuellement les données associées à cette réponse sur le bus de données 42).
  • Le composant de confiance 26 est par exemple un contrôleur maître du système électronique 1.
  • Le composant de confiance 26 est propre à déterminer un mode de fonctionnement courant du processeur 10, à partir de différentes données INFO reçues de différents composants constitutifs du système électronique 1.
  • Par exemple, le composant de confiance 26 peut déterminer que le mode de fonctionnement courant du processeur 10 est :
    • un mode « boot » : lors d'une phase de démarrage du processeur 10 ;
    • un mode « normal » : au cours du fonctionnement normal du processeur 10, après la phase de démarrage ;
    • un mode « téléchargement » : au cours d'une phase de téléchargement par le processeur 10 d'une mise à jour d'un logiciel.
  • Le composant de confiance 26 est interfacé avec un port 27 du composant programmable 22.
  • Le composant de confiance 26 est propre à commander l'unité de filtrage 21 pour modifier le filtrage réalisé par le composant programmable 22.
  • De préférence, cette modification du filtrage est réalisée en fonction du mode de fonctionnement courant du processeur 10.
  • Pour ce faire, dans le mode de présent mode de réalisation, le composant de confiance 26 vient changer la liste des commandes interdites qui est stockée dans l'espace mémoire 25 du composant programmable 22 et que ce composant utilise pour réaliser le filtrage des commandes.
  • Par exemple, dans le mode « boot », la liste des commandes interdites est telle que toute fonction de lecture ou écriture du processeur dans la mémoire est interdite.
  • Dans le mode « normal », la liste des commandes interdites est telle que seules les fonctions de lecture dans la mémoire sont autorisées.
  • Dans le mode « téléchargement », la liste des commandes interdites est telle que seules les fonctions d'écriture à certaines adresses de la mémoire sont autorisées.
  • En se référant aux figures 2 et 3, le fonctionnement du dispositif de sécurité 20 va être expliqué.
  • Le procédé de sécurité 100 est mis en œuvre lorsque le processeur 10 cherche à accéder à la mémoire 30.
  • Ainsi, au cours d'un cycle de fonctionnement du canal de communication, le processeur 10 émet (étape 110) une nouvelle commande.
  • Par exemple, sur les figures 3, pour le premier cycle, CYCLE1, une commande CMD1 est émise par le processeur 10. Par exemple encore, pour le cycle suivant ou second cycle, CYCLE2, une commande CMD2 est émise par le processeur 10.
  • Une commande comporte une fonction (aussi dénommée action), ainsi qu'une adresse de la mémoire 30 où la fonction doit être appliquée. La fonction est par exemple une fonction d'écriture à l'adresse associée, une fonction de lecture de l'adresse associée, ou autre. Dans ce qui suit on considère par exemple que les commandes CMD1 et CMD2 sont des commandes d'écriture.
  • Toute commande émise par le processeur 10 sur le bus de commande 41 est interceptée par le composant programmable 22.
  • A l'étape 120, le composant programmable 22 filtre la commande interceptée.
  • Pour cela, l'unité de filtrage 21 compare la commande avec la liste des commandes interdites de manière à déterminer si la commande reçue est autorisée et doit être transmise à la mémoire 30 ou si la commande reçue est interdite et doit être rejetée.
  • Dans le cas où la commande est autorisée (cas par exemple de la commande CMD1), le composant programmable 22 est placé dans l'état passant pour le reste du cycle CYCLE1.
  • Le procédé passe alors à l'étape 130, dans laquelle l'unité de filtrage 21 réémet la commande CMD1 sur le bus de commande 51.
  • A la suite de la réception de la commande CMD1 sur le bus de commande 51, la mémoire 30 émet une réponse, REP1, à destination de l'émetteur de la commande, indiquant que la mémoire 30 est prête à écrire des données à l'adresse indiquée dans la commande CMD1 et qu'elle attend de recevoir les données à écrire sur le bus de données 52.
  • Le composant programmable 22 étant passant, la réponse REP1 est réémise sur le bus de commande 41 vers le processeur 10.
  • Recevant la réponse REP1, le processeur 10 émet alors les données à écrire dans la mémoire sur le bus de données 42. Sur la figure 3 ces données sont représentées par le bloc DATA1.
  • Le composant programmable 22 étant passant, les données DATA1 reçues sur le bus de données 41 sont retransmises sur le bus de données 52 vers la mémoire 30.
  • Lorsque la mémoire 30 reçoit les données DATA1, elle les écrit à l'adresse indiquée dans la commande CMD1.
  • En revanche à l'étape 120, si l'unité de filtrage 21 détermine que la commande est interdite, le composant programmable 22 est placé dans l'état bloquant jusqu'à la fin du cycle CYCLE2, de sorte qu'aucune commande, ni donnée ne peut être transmise sur le second canal de communication 50.
  • Le procédé de sécurité 100 se déplace à l'étape 140, dans laquelle le composant programmable 22 émet, en réponse à la commande CMD2, une réponse REP2 sur le bus de commande 41 à destination du processeur 10. La réponse REP2 correspond à un rejet de la commande CMD2.
  • Lors de la réception de la réponse REP2 négative, le processeur 10 constatant que sa demande d'écriture a été rejetée, n'émet aucune donnée sur le bus de données 42.
  • Comme présenté ci-dessus en référence à l'étape 120, l'unité de filtrage 21 met en œuvre des règles de sécurité pour déterminer si une commande reçue est autorisée oui ou non.
  • Le composant de confiance 26 peut venir modifier les règles de sécurité, de sorte que le résultat du filtrage d'une commande dépende du mode de fonctionnement courant du processeur.
  • Par exemple, dans le mode « boot », le composant de confiance 26 configure le composant programmable 22 pour qu'il bloque toute commande, pour éviter que la moindre donnée ne soit lue ou écrite dans la mémoire 30.
  • Par exemple encore, dans le mode « normal », le composant de confiance 26 configure le composant programmable 22 pour interdire les commandes d'écriture dans la mémoire 30, mais autoriser la lecture dans la mémoire 30.
  • Enfin, dans le mode « téléchargement », le composant de confiance 26 configure le composant programmable 22 pour autoriser les commandes d'écriture dans la mémoire 30, de manière à permettre le stockage du logiciel que le processeur a téléchargé.
  • De nombreuses variantes du mode de réalisation venant d'être décrit sont envisageables par l'homme du métier.
  • Notamment, le dispositif de sécurité pourrait être constitué d'un seul composant ou de plus de deux composants.
  • Cependant, il est préférable que le dispositif de sécurité soit constitué de deux composants. Le composant programmable devant être un composant logique rapide de manière à ne pas introduire de latence le long du canal de communication entre le processeur et la mémoire. En effet, l'introduction d'une latence pourrait indiquer au processeur 10 qu'il n'accède pas directement à la mémoire 30. Un tel composant rapide est par exemple un circuit ASIC (« Application-specific integrated circuit »), ou un circuit logique programmable, tel qu'un FPGA (« field-programmable gate array") ou un CPLD (« complex programmable logic device").
  • Le composant de confiance permettant de commander le composant programmable n'a pas besoin d'être aussi rapide que le composant programmable, puisque les changements de mode de fonctionnement du processeur n'interviennent qu'avec un temps caractéristique bien supérieur à celui des échanges sur le canal de communication.
  • En variante, au lieu que le composant de confiance ne commande le composant programmable à travers la reconfiguration des règles de sécurité que ce dernier doit mettre en œuvre, le composant de confiance pourrait commander directement le composant programmable pour le faire passer de l'état bloquant à l'état passant et inversement. Le composant programmable est alors réduit à un interrupteur logique : dans l'état bloquant, toutes les commandes sont rejetées, et dans l'état passant, toutes les commandes sont transmises à la mémoire. Alternativement, la liste de commandes interdites est stockée dans le composant programmable sans pouvoir la modifiée, et le composant de confiance vient commander le composant programmable pour le faire placer soit dans un état actif (dans lequel le composant programmable filtre les commandes selon la listes de commandes interdites), soit dans un état passant (dans lequel le composant programmable est totalement transparent laissant passer toutes les commandes).
  • En variante, le bus de commande au lieu d'être indépendant du bus de données, pourrait être multiplexé avec ce dernier.
  • Par ailleurs, si dans le mode de réalisation présenté ci-dessus en détail, les premier et second bus sont de même nature, en variante, ils pourraient être de nature différente. Il y aurait ainsi une « rupture » de bus entre le processeur et le composant mémoire. Par exemple, le premier bus entre le processeur et le composant programmable pourrait être du type Ethernet, tandis que le second bus entre le composant programmable et le composant mémoire serait du type eMMC. Cette variante présente l'avantage de pouvoir adapter les débits sur chacun des premier et second bus indépendamment l'un de l'autre, notamment pour corriger des effets de latence introduits entre le processeur et la mémoire eMMC. Elle permet également une adaptation du composant mémoire aux spécifications du port (et du pilote associé) utilisé par le processeur pour piloter le composant mémoire. Il est à noter que dans cette variante, le composant programmable n'effectue pas une simple interception des commandes, mais une conversion des commandes pour jouer le rôle d'interface entre les premier et second bus. Le composant programmable n'émule plus le comportement du composant mémoire qu'il masque au processeur.
  • La présente invention pourra aussi couvrir d'autres types de composant mémoire. En effet, outre les mémoires eMMC (intégrant un bus eMMC et une mémoire flash), l'invention est applicable aux mémoires I2C (« Inter Integrated Circuit ») (intégrant un bus I2C et une mémoire par exemple RAM ou flash), aux mémoires SPI (« Serial Peripheral Interface ») (intégrant un bus SPI et une mémoire par exemple RAM ou flash), aux cartes SD (« Secure Digital »), ou l'équivalent. De manière générale, l'invention s'applique à tout composant mémoire disposant d'un bus de commande piloté par le composant hôte.

Claims (11)

  1. Système électronique (1) du type comportant un processeur (10), un composant mémoire (30), et un canal de communication, le canal de communication comportant au moins un bus de commande pouvant être piloté par le processeur (10) pour accéder au composant mémoire (30), caractérisé en ce que le système électronique (1) comporte, en outre, un composant programmable (22), le composant programmable (22) étant intégré le long du canal de communication, en coupure entre le processeur (10) et le composant mémoire (30), le canal de communication comportant alors un premier bus de commande (41) entre le processeur (10) et le composant programmable (22) et un second bus de commande (52) entre le composant programmable (22) et le composant mémoire (30), le composant programmable (22) étant adapté pour filtrer les commandes adressées par le processeur au composant mémoire.
  2. Système selon la revendication 1, dans lequel, lorsque le composant programmable (22) est dans un état passant, le composant programmable (22) filtre une commande reçue du processeur (10) de sorte que ladite commande soit retransmise au composant mémoire (30).
  3. Système selon la revendication 1 ou la revendication 2, dans lequel, lorsque le composant programmable (22) est dans un état bloquant, le composant programmable (22) filtre une commande reçue du processeur (10) de sorte que ladite commande soit rejetée.
  4. Système selon la revendication 2 ou la revendication 3, dans lequel l'état bloquant ou l'état passant du composant programmable (22) est sélectionné en fonction du résultat d'un test consistant à comparer la commande reçue du processeur (10) avec une liste de commandes interdites mémorisée par le composant programmable.
  5. Système selon l'une quelconque des revendications 1 à 4, dans lequel le composant programmable (22) est du type composant logique rapide, de préférence du type ASIC, FPGA ou CPLD.
  6. Système selon la revendication 5, comportant, en outre, un composant de confiance (26) propre à commander le composant programmable (22) de manière à sélectionner, directement ou indirectement, l'état bloquant ou l'état passant du composant programmable (22).
  7. Système selon la revendication 6, dans lequel le composant de confiance (26) est propre à déterminer un mode de fonctionnement courant du processeur (10) et à commander le composant programmable (22) en fonction du mode de fonctionnement courant du processeur (10).
  8. Système selon la revendication 6 ou la revendication 7, dans lequel le composant de confiance (26) est propre à commander le composant programmable (22) en mettant à jour une liste de commandes interdites stockée dans la composant programmable et utilisée par le composant programmable pour filtrer les commandes reçues du processeur (10).
  9. Système selon l'une quelconque des revendications 1 à 8, dans lequel les premier et second bus sont identiques, le composant programmable effectuant une interception des commandes, ou dans lequel les premier et second bus sont différents, le composant programmable effectuant une conversion des commandes.
  10. Système selon l'une quelconque des revendications 1 à 9, dans lequel le composant mémoire (30) est une mémoire eMMC, I2C, SPI ou une carte SD.
  11. Composant programmable (22) destiné à être implanté dans un système électronique (1) selon l'une quelconque des revendications 1 à 9.
EP20211471.6A 2019-12-06 2020-12-03 Système électronique sécurisé comportant un processeur et un composant mémoire ; composant programmable associé Active EP3832469B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1913850A FR3104280B1 (fr) 2019-12-06 2019-12-06 Systeme electronique securise comportant un processeur et un composant memoire ; composant programmable associe

Publications (2)

Publication Number Publication Date
EP3832469A1 true EP3832469A1 (fr) 2021-06-09
EP3832469B1 EP3832469B1 (fr) 2023-02-22

Family

ID=72266324

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20211471.6A Active EP3832469B1 (fr) 2019-12-06 2020-12-03 Système électronique sécurisé comportant un processeur et un composant mémoire ; composant programmable associé

Country Status (2)

Country Link
EP (1) EP3832469B1 (fr)
FR (1) FR3104280B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3125897A1 (fr) * 2021-07-30 2023-02-03 Idemia Identity & Security France Procédé pour optimiser un fonctionnement d’un élément sécurisé

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140283118A1 (en) * 2013-03-15 2014-09-18 Id Integration, Inc. OS Security Filter
US20150286585A1 (en) 2014-04-08 2015-10-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US20160299865A1 (en) * 2015-04-10 2016-10-13 International Business Machines Corporation Universal serial bus (usb) filter hub
US10133497B1 (en) * 2015-08-27 2018-11-20 Google Llc SPI command censoring method and apparatus
RU2677366C1 (ru) * 2017-10-27 2019-01-16 Юрий Алексеевич Шашлюк Устройство хранения данных и способ его работы
US20190272240A1 (en) * 2018-03-05 2019-09-05 Samsung Electronics Co., Ltd. Novel ssd architecture for fpga based acceleration

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140283118A1 (en) * 2013-03-15 2014-09-18 Id Integration, Inc. OS Security Filter
US20150286585A1 (en) 2014-04-08 2015-10-08 Micron Technology, Inc. Apparatuses and methods for securing an access protection scheme
US20160299865A1 (en) * 2015-04-10 2016-10-13 International Business Machines Corporation Universal serial bus (usb) filter hub
US10133497B1 (en) * 2015-08-27 2018-11-20 Google Llc SPI command censoring method and apparatus
RU2677366C1 (ru) * 2017-10-27 2019-01-16 Юрий Алексеевич Шашлюк Устройство хранения данных и способ его работы
US20190272240A1 (en) * 2018-03-05 2019-09-05 Samsung Electronics Co., Ltd. Novel ssd architecture for fpga based acceleration

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3125897A1 (fr) * 2021-07-30 2023-02-03 Idemia Identity & Security France Procédé pour optimiser un fonctionnement d’un élément sécurisé

Also Published As

Publication number Publication date
FR3104280A1 (fr) 2021-06-11
EP3832469B1 (fr) 2023-02-22
FR3104280B1 (fr) 2021-11-26

Similar Documents

Publication Publication Date Title
EP2178016B1 (fr) Procédé de fonctionnement d'un équipement embarqué, équipement associé et aéronef comprenant un tel équipement
US11790074B2 (en) Context-based secure controller operation and malware prevention
US10432627B2 (en) Secure sensor data transport and processing
EP2110742B1 (fr) Dispositif portable et procédé de démarrage externe d'une installation informatique
US20180307840A1 (en) Secure controller operation and malware prevention
US9219611B1 (en) Systems and methods for automating cloud-based code-signing services
US20230229760A1 (en) Mobile device with secure private memory
EP3198517A1 (fr) Telephone intelligent ou tablette a affichage securise
EP3588359B1 (fr) Procédé de vérification de l'intégrité d'un code applicatif, dispositif et produit programme d'ordinateur correspondants
US9219728B1 (en) Systems and methods for protecting services
EP2735969A1 (fr) Ensemble électronique comprenant un module de desactivation
EP2077515B1 (fr) Dispositif, systèmes et procédé de démarrage sécurisé d'une installation informatique
US20170329963A1 (en) Method for data protection using isolated environment in mobile device
WO2019175482A1 (fr) Traitement sécurisé de données
WO2015063405A1 (fr) Systeme de detection d'intrusion dans un dispositif comprenant un premier systeme d'exploitation et un deuxieme systeme d'exploitation
EP3832469B1 (fr) Système électronique sécurisé comportant un processeur et un composant mémoire ; composant programmable associé
US11128665B1 (en) Systems and methods for providing secure access to vulnerable networked devices
EP3667530B1 (fr) Accès sécurise à des données chiffrées d'un terminal utilisateur
US20160357950A1 (en) Methods for configuring security restrictions of a data processing system
FR3142576A1 (fr) Interface de dispositif hôte pour une authentification de débogage
EP2048576B1 (fr) Procédé de mise à jour sécurisée d'un programme à lancement automatique et entité électronique portable le mettant en oeuvre
FR3019351A1 (fr) Procede de configuration securisee d'une application dans un terminal utilisateur
WO2010076514A1 (fr) Procede et dispositif de transfert securise de donnees numeriques
EP3907638B1 (fr) Contrôleur de démarrage sécurisé pour un système embarqué, système embarqué et procédé de démarrage sécurisé associés
EP3993325B1 (fr) Elément sécurisé procédé de communication entre un dispositif électronique et un élément sécurisé

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN PUBLISHED

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20211110

RBV Designated contracting states (corrected)

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: GRANT OF PATENT IS INTENDED

INTG Intention to grant announced

Effective date: 20220915

RIN1 Information on inventor provided before grant (corrected)

Inventor name: CHEVOLLEAU, SAMUEL

Inventor name: BEN HASSEN, JONATHAN

Inventor name: LEMAHIEU, STEEVE

GRAS Grant fee paid

Free format text: ORIGINAL CODE: EPIDOSNIGR3

GRAA (expected) grant

Free format text: ORIGINAL CODE: 0009210

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE PATENT HAS BEEN GRANTED

AK Designated contracting states

Kind code of ref document: B1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

REG Reference to a national code

Ref country code: GB

Ref legal event code: FG4D

Free format text: NOT ENGLISH

REG Reference to a national code

Ref country code: CH

Ref legal event code: EP

REG Reference to a national code

Ref country code: AT

Ref legal event code: REF

Ref document number: 1549982

Country of ref document: AT

Kind code of ref document: T

Effective date: 20230315

Ref country code: IE

Ref legal event code: FG4D

Free format text: LANGUAGE OF EP DOCUMENT: FRENCH

REG Reference to a national code

Ref country code: DE

Ref legal event code: R096

Ref document number: 602020008263

Country of ref document: DE

REG Reference to a national code

Ref country code: LT

Ref legal event code: MG9D

REG Reference to a national code

Ref country code: NL

Ref legal event code: MP

Effective date: 20230222

REG Reference to a national code

Ref country code: AT

Ref legal event code: MK05

Ref document number: 1549982

Country of ref document: AT

Kind code of ref document: T

Effective date: 20230222

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: RS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: PT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230622

Ref country code: NO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230522

Ref country code: NL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: LV

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: LT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: HR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: ES

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: AT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: PL

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: IS

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230622

Ref country code: GR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230523

Ref country code: FI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SM

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: RO

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: EE

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: DK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: CZ

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

REG Reference to a national code

Ref country code: DE

Ref legal event code: R097

Ref document number: 602020008263

Country of ref document: DE

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SK

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

PLBE No opposition filed within time limit

Free format text: ORIGINAL CODE: 0009261

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

26N No opposition filed

Effective date: 20231123

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: SI

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IT

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

REG Reference to a national code

Ref country code: DE

Ref legal event code: R119

Ref document number: 602020008263

Country of ref document: DE

REG Reference to a national code

Ref country code: CH

Ref legal event code: PL

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231203

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

REG Reference to a national code

Ref country code: BE

Ref legal event code: MM

Effective date: 20231231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: MC

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

Ref country code: LU

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231203

REG Reference to a national code

Ref country code: IE

Ref legal event code: MM4A

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20240702

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231203

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: IE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231203

Ref country code: DE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20240702

Ref country code: CH

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231231

Ref country code: BE

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20231231

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: BG

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: CY

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20201203

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: HU

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO

Effective date: 20201203

GBPC Gb: european patent ceased through non-payment of renewal fee

Effective date: 20241203

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: GB

Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

Effective date: 20241203

PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

Ref country code: TR

Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT

Effective date: 20230222

PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

Ref country code: FR

Payment date: 20251230

Year of fee payment: 6