FR3097067A1 - Procédé et dispositif de traitement de données enregistrées dans une installation de mémoire - Google Patents

Procédé et dispositif de traitement de données enregistrées dans une installation de mémoire Download PDF

Info

Publication number
FR3097067A1
FR3097067A1 FR2005845A FR2005845A FR3097067A1 FR 3097067 A1 FR3097067 A1 FR 3097067A1 FR 2005845 A FR2005845 A FR 2005845A FR 2005845 A FR2005845 A FR 2005845A FR 3097067 A1 FR3097067 A1 FR 3097067A1
Authority
FR
France
Prior art keywords
checksum
memory
partial
signed
operating state
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
FR2005845A
Other languages
English (en)
Other versions
FR3097067B1 (fr
Inventor
Sven Loeffler
Oliver Breuning
Stephan Rittler
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of FR3097067A1 publication Critical patent/FR3097067A1/fr
Application granted granted Critical
Publication of FR3097067B1 publication Critical patent/FR3097067B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

TITRE : Procédé et dispositif de traitement de données enregistrées dans une installation de mémoire Procédé de traitement de données enregistrées dans une installation de mémoire (204) comprenant les étapes suivantes consistant à : - diviser (100) une plage de mémoire (SB) de l’installation de mémoire (204) en plusieurs zones partielles (TB_1, TB_2, ..., TB_N), pour au moins l’une des zones partielles (TB_1, TB_2, ..., TB_N), - former (110) une somme de contrôle (PS_1) caractérisant le contenu de données d’au moins une zone partielle (TB_1), - signer (120) la somme de contrôle (PS) notamment à l’aide d’un procédé cryptographique, selon lequel on obtient une somme de contrôle signée (PS_1s), - enregistrer au moins provisoirement (130) la somme de contrôle signée (PS_1s). Figure 1A

Description

Procédé et dispositif de traitement de données enregistrées dans une installation de mémoire
DOMAINE DE L’INVENTION
La présente invention se rapporte à un procédé de traitement de données enregistrées dans une installation de mémoire.
L’invention se rapporte également à un dispositif de traitement de données enregistrées dans une installation de mémoire.
EXPOSE ET AVANTAGES DE L’INVENTION
L’invention a pour objet un procédé de traitement de données enregistrées dans une installation de mémoire comprenant les étapes suivantes consistant à :
- diviser une plage de mémoire de l’installation de mémoire en plusieurs zones partielles,
- former pour au moins l’une des zones partielles, une somme de contrôle caractérisant le contenu de données d’au moins une zone partielle,
- signer la somme de contrôle notamment à l’aide d’un procédé cryptographique, selon lequel on obtient une sommes de contrôle signée,
- enregistrer au moins provisoirement la sommes de contrôle signée.
Cela permet de reconnaître, d’une manière avantageusement efficace, une modification (non voulue) du contenu des données d’au moins une zone partielle, par exemple, en ce que l’on forme de nouveau la somme de contrôle avec le contenu de données (contenu actuel) d’au moins une zone partielle et on compare avec la somme de contrôle formée au préalable, c’est-à-dire la somme de contrôle signée. En cas de concordance on peut en conclure que le contenu des données est inchangé ; en cas de non-concordance, on peut en conclure que les données ont été modifiées, par exemple, manipulées. La signature de la somme de contrôle augmente avantageusement la sécurité car on évite ainsi qu’une manipulation puisse être faite sur le contenu des données et le cas échéant que l’on puisse former une somme de contrôle manipulée, correspondant à la manipulation du contenu de données.
Selon un développement préférentiel, l’installation de mémoire est, par exemple, une installation de mémoire numérique telle qu’une mémoire à semi-conducteurs, volatile, notamment, par exemple, une mémoire vive (mémoire RAM) par exemple, un appareil de commande ou de gestion d’un moteur à combustion interne de véhicule automobile.
Selon d’autres formes de réalisation préférentielle, pour plusieurs, et de préférence pour toutes les zones partielles, on forme une somme de contrôle caractérisant le contenu respectif des données de la zone partielle concernée et notamment les sommes de contrôle associées à plusieurs, et de préférence à toutes les zones partielles qui sont signées en particulier par un procédé cryptographique pour obtenir ainsi des sommes de contrôle signées ; les sommes de contrôle signées sont alors au moins provisoirement enregistrées. On obtient des avantages comparables pour toutes les zones partielles respectives de la zone de mémoire de l’installation de mémoire. En particulier, on peut, de cette façon "protéger" des zones partielles différentes de la zone de mémoire de l’installation de mémoire par des sommes de contrôle signées, c’est-à-dire utiliser des sommes de contrôle signées pour les vérifier et déceler des modifications (non voulues) ce qui peut s’exécuter avantageusement de manière individuelle pour chaque zone partielle différente et notamment indépendamment des autres zones partielles.
Selon des formes de réalisation préférentielle, l’accès en écriture à la ou aux zones partielles est interdit au moins de temps en temps, en particulier avant ou directement après avoir formé la somme de contrôle ou les sommes de contrôle. Cela permet d’éviter une modification du contenu des données de la ou des zones partielles après avoir formé la somme de contrôle, ce qui conserve la validité de la somme de contrôle, par exemple, pour une comparaison avec une autre somme de contrôle formée ultérieurement.
Selon d’autres formes de réalisation préférentielle, selon lequel
a) la somme de contrôle est une somme de contrôle cryptographique, notamment une somme de contrôle cryptographique de type SHA-256 ou SHA-512, et/ou
b) consiste à signer (120) en utilisant au moins l’un des procédés suivants :
A) Procédé RSA notamment selon ISO/IEC 14888-2 :2008,
B) Procédé DSA notamment selon NIST : FIPS Publication 186-3 : Digital Signature Standard, DSS, Juin 2009 et/ou ISO/IEC 14888-3 :2006 Information technology – Security techniques –
Digital signatures with appendix – Part 3 : Discrete logarithm based mechanisms, 2006
C) Procédé DSA- fondé sur des courbes elliptiques.
Selon d’autres formes de réalisation préférentielle, le procédé comprend en outre les étapes suivantes consistant à :
- fournir une mémoire intermédiaire (mémoire cache) pour au moins une zone partielle,
- enregistrer au moins provisoirement des accès en écriture à au moins une zone partielle à l’aide de la mémoire intermédiaire.
Cela permet d’effectuer, de façon transparente les accès en écriture faite sur au moins une zone partielle, par exemple, pour une unité exécutant les accès en écriture, telle que, par exemple, une installation de calcul et les enregistrer au moins provisoirement dans la mémoire intermédiaire, par exemple, pendant les accès en écriture à au moins une zone partielle qui seront interdits.
Selon d’autres formes de réalisation préférentielle, il est prévu de faire des accès en lecture au moins à des données enregistrées dans une zone partielle par la lecture des données correspondantes de cette zone partielle ou par la lecture de données correspondantes dans au moins une mémoire intermédiaire associée à une zone partielle.
Selon d’autres formes de réalisation préférentielle, le procédé consiste en outre à :
- former une somme de contrôle secondaire caractérisant le contenu actuel des données d’au moins une zone partielle,
- exploiter la somme de contrôle secondaire en fonction d’au moins une somme de contrôle signée, au moins provisoirement enregistrée en mémoire.
La somme de contrôle secondaire peut être formée de la même manière, notamment en utilisant ce même procédé que la somme de contrôle signée. Par exemple, on peut former la somme de contrôle signée à un premier instant notamment avant un changement planifié d’un état de fonctionnement de l’installation de mémoire ou d’une installation de calcul accédant à l’installation de mémoire (par exemple, le passage d’un mode de fonctionnement actif à un mode de fonctionnement en économie d’énergie). A titre d’exemple, on peut former la somme de contrôle à un second instant à la suite du premier instant et le second instant correspond, par exemple, à un second changement d’un état de fonctionnement de l’installation de mémoire ou à une installation de calcul accédant à l’installation de mémoire (par exemple, le passage de l’état d’économie d’énergie à un mode de fonctionnement actif). Cela permet, par exemple, par la comparaison de la somme de contrôle signée avec la somme de contrôle secondaire, de déterminer si le contenu des données caractérisé par les sommes de contrôle a été modifié pendant l’état d’économie d’énergie, par exemple, par suite d’une erreur ou d’une manipulation.
Selon d’autres formes de réalisation préférentielles, exploiter consiste à :
- comparer la somme de contrôle secondaire à au moins une somme de contrôle signée, enregistrée de façon provisoire d’au moins une zone partielle,
- transmettre le contenu de la mémoire intermédiaire dans au moins une zone partielle, et
- en option, libérer les accès en écriture à au moins cette zone partielle.
Selon d’autres formes de réalisation préférentielle, la transmission du contenu de la mémoire intermédiaire dans au moins une zone partielle se fait si la comparaison de la somme de contrôle secondaire avec la somme de contrôle signée, enregistrée provisoirement et correspondant à au moins une zone partielle, a montré que les deux sommes de contrôle sont identiques et qu’il n’y a pas eu manipulation du contenu des données.
Selon d’autres formes de réalisation préférentielle, la transmission du contenu de la mémoire intermédiaire dans au moins une zone partielle sera faite :
a) si la comparaison de la somme de contrôle secondaire avec la somme de contrôle signée mise provisoirement en mémoire et correspondant à au moins une zone partielle a montré que les deux sommes de contrôle sont identiques et qu’il n’y a pas eu ainsi de manipulation du contenu des données, et
b) si la somme de contrôle signée n’a pas été modifiée du fait de sa signature, par exemple, si elle n’a pas été manipulée.
Dans le cas contraire, c’est-à-dire si, par exemple, la comparaison de la somme de contrôle secondaire avec la somme de contrôle signée enregistrée au moins provisoirement et correspondant à au moins une zone partielle a montré que les deux sommes de contrôles n’étaient pas identiques et qu’il y a eu une modification ou manipulation du contenu des données, alors la transmission du contenu de la mémoire intermédiaire dans au moins une zone partielle et en option, la libération des accès en écriture à au moins une zone partielle ne pourront se faire mais on lancera, par exemple, une réaction de défaut ou d’erreur, telle que, par exemple, la signalisation d’une modification ou d’une manipulation du contenu des données. Cela permet d’éviter avantageusement que, par exemple, après une activation d’une installation de calcul accédant à l’installation de mémoire, à partir d’un état d’économie d’énergie, l’installation de calcul fonctionne avec des données modifiées ou manipulées.
Selon d’autres formes de réalisation préférentielle, les étapes de formation et d’exploitation de plusieurs zones partielles se font et en particulier, les étapes de formation et d’exploitation de plusieurs zones partielles se font indépendamment les unes des autres, par exemple, également à des instants différents ou successifs (non nécessairement directement successifs). Cela augmente d’autant la souplesse et on peut, par exemple, vérifier (ou pas les vérifier) des zones partielles de la zone de mémoire de l’installation de mémoire, de façon sélective en fonction de différents programmes d’ordinateur notamment de façon indépendante les unes des autres.
Selon d’autres formes de réalisation préférentielle, l’invention a pour objet un dispositif pour le traitement de données enregistrées dans une installation de mémoire et ce dispositif est réalisé pour exécuter le procédé selon les formes de réalisation développées ci-dessus.
Selon d’autres formes de réalisation préférentielle, le dispositif comporte au moins une installation de calcul (encore appelée ordinateur) qui est associée, par exemple, à l’installation de mémoire décrite ci-dessus, notamment pour enregistrer au moins provisoirement au moins un programme d’ordinateur et/ou des données notamment à l’aide du dispositif de traitement de données. De façon préférentielle, un programme d’ordinateur est enregistré dans l’installation de mémoire pour commander au moins provisoirement ou de temps en temps le fonctionnement du dispositif, notamment pour exécuter le procédé selon les formes de réalisation développées ci-dessus.
Selon d’autres formes de réalisation préférentielle, l’installation de calcul comporte au moins l’un des éléments suivants : un microprocesseur, un microcontrôleur, un processeur de signaux numériques (DSP), un composant logique programmable, par exemple, un composant FPGA, un circuit ASIC (circuit dédié à une application spécifique) ou plus généralement, un circuit câblé. Les combinaisons sont également envisageables selon des formes de réalisation préférentielle.
Selon d’autres formes de réalisation préférentielle, l’installation de mémoire comporte au moins l’un des éléments suivants : mémoire volatile, notamment vive (mémoire RAM), mémoire non volatile, notamment mémoire Flash, par exemple, Flash EEPROM ou NOR Flash ou NAND-Flash.
Selon d’autres formes de réalisation, le dispositif est conçu pour passer d’un premier état de fonctionnement à un second état de fonctionnement et notamment le premier état de fonctionnement est un état de fonctionnement actif alors que le second état de fonctionnement est un état d’économie d’énergie (par exemple un état de suspension vers RAM) le dispositif étant conçu pour qu’avant le passage du premier état au second état, on exécute les étapes suivantes :
- diviser une zone de mémoire de l’installation de mémoire en plusieurs zones partielles,
- former pour au moins l’une des zones partielles, une somme de contrôle caractérisant le contenu de données d’au moins une zone partielle,
- signer la somme de contrôle notamment à l’aide d’un procédé cryptographique et obtenir ainsi une somme de contrôle signée,
- enregistrer au moins provisoirement la somme de contrôle signée.
De cette manière, on peut avantageusement former avant le passage à l’état d’économie d’énergie, une somme de contrôle caractérisant (signant) le contenu des données de la zone partielle respective, cette somme permettant ensuite (par exemple lors d’un nouveau changement d’état) de vérifier de manière efficace, souple et sélective, une ou plusieurs zones partielles pour déceler les modifications du contenu des données.
Selon d’autres formes de réalisation préférentielle, le dispositif est conçu pour passer du second état de fonctionnement au premier état de fonctionnement (par exemple, pour redémarrer à partir d’un état "suspension vers RAM" dans un état de fonctionnement actif), le dispositif étant conçu pour qu’avant ou lors du passage du second état de fonctionnement au premier état de fonctionnement, exécuter les étapes suivantes consistant à :
- fournir une mémoire intermédiaire pour au moins une zone partielle pour au moins enregistrer provisoirement les accès en écriture à au moins une zone partielle à l’aide de la mémoire intermédiaire ; et notamment les accès en lecture aux données enregistrées dans au moins une zone partielle se faisant par la lecture de données correspondantes dans cette zone partielle ou par la lecture de données dans la mémoire intermédiaire associée à cette zone partielle (par exemple, selon la disponibilité des données dans les zones correspondantes),
- former une somme de contrôle secondaire caractérisant le contenu actuel des données au moins d’une zone partielle,
- exploiter la somme de contrôle secondaire en fonction de la somme de contrôle signée enregistrée provisoirement.
Selon d’autres formes de réalisation préférentielle, les étapes ci-dessus de fourniture, etc. pourront être exécutées également (en particulier directement après) le redémarrage à partir de l’état d’attente correspondant à la suspension à l’accès RAM).
D’autres formes de réalisation préférentielle se rapportent à un milieu de mémoire lisible par un ordinateur comportant des instructions, notamment sous la forme d’un programme d’ordinateur qui, exécuté par un ordinateur, le commande pour exécuter le procédé selon les formes de réalisation de l’invention.
Selon d’autres formes de réalisation préférentielle, l’invention se rapporte à un programme d’ordinateur comportant des instructions qui, lors de l’exécution du programme par un ordinateur se traduisent par l’exécution du procédé selon les formes de réalisation.
D’autres formes de réalisation préférentielle concernent un signal de support de données que le programme d’ordinateur transmet selon les formes de réalisation.
D’autres formes de réalisation préférentielle concernent l’utilisation du procédé selon les formes d’exécution et/ou du dispositif selon les formes de réalisation et/ou du programme d’ordinateur selon les formes de réalisation pour vérifier au moins une zone partielle de l’installation de mémoire et détecter les modifications ou manipulations, notamment avant ou pendant ou après un changement de l’installation de mémoire et/ou d’une installation de calcul accédant à l’installation de mémoire passant d’un premier état de fonctionnement à un second état de fonctionnement.
Selon d’autres formes de réalisation préférentielle, le procédé et/ou le dispositif, s’appliquent à un appareil de commande, par exemple, à un appareil de commande ou de gestion d’un véhicule automobile, notamment un appareil de commande ou de gestion du moteur à combustion interne d’un véhicule automobile, par exemple, pour au moins l’une des applications suivantes :
a) commande du fonctionnement ou du passage d’état de fonctionnement de l’appareil de commande,
b) libération ou non libération d’une ou plusieurs fonctions de l’appareil de commande et/ou d’un autre composant et/ou par exemple, du véhicule automobile,
c) changement en mode de défaut et/ou de secours,
d) enregistrement d’un défaut, en mémoire,
e) signalement d’un état de fonctionnement à une unité externe et/ou à un utilisateur,
f) commande d’un organe d’actionnement.
Selon d’autres formes de réalisation préférentielle, un ou plusieurs des points a), b)…, f) évoqués ci-dessus peuvent consister à former déjà décrit ci-dessus une somme de contrôle secondaire caractérisant le contenu actuel des données d’au moins une zone partielle et exploiter la somme de contrôle secondaire en fonction d’au moins une somme de contrôle signée, enregistrée provisoirement de façon que, comme déjà décrit ci-dessus, déceler les manipulations ou les défaut concernant le contenu des données. Selon d’autres formes de réalisation préférentielle, on peut, par exemple, exécuter ou ne pas exécuter un ou plusieurs des points a), b),…f) évoqués ci-dessus en fonction de la détection d’une manipulation ou d’une erreur ou défaut.
Selon d’autres formes de réalisation préférentielle, on utilise le procédé tel que décrit ci-dessus et/ou le dispositif tel que décrit ou/et le programme d’ordinateur tel qu’évoqué pour vérifier au moins une zone partielle de l’installation de mémoire et déceler les modifications ou manipulations, en particulier, avant ou pendant ou après un changement de l’installation de mémoire et/ou d’une installation de calcul accédant à l’installation de mémoire passant d’un premier état de fonctionnement à un second état de fonctionnement et pour commander le fonctionnement, par exemple, d’un appareil de commande ou de gestion d’un moteur à combustion interne d’un véhicule automobile en fonction de cette vérification.
La présente invention sera décrite ci-après de manière plus détaillée à l’aide d’exemples du procédé de traitement de données d’un dispositif pour la mise en œuvre du procédé représenté dans les dessins annexés 30 dans lesquels :
ordinogramme schématique simplifié d’un procédé selon des formes de réalisation préférentielle,
ordinogramme schématique simplifié d’un procédé selon des formes de réalisation préférentielle,
ordinogramme schématique simplifié d’un procédé selon des formes de réalisation préférentielle,
schéma bloc simplifié d’un dispositif selon d’autres formes de réalisation préférentielle,
schéma bloc simplifié d’un dispositif selon d’autres formes de réalisation préférentielle,
schéma bloc simplifié d’un dispositif selon d’autres formes de réalisation préférentielle,
schéma bloc simplifié d’un dispositif selon d’autres formes de réalisation préférentielle,
schéma bloc simplifié d’un dispositif selon d’autres formes de réalisation préférentielle,
schéma bloc simplifié d’un dispositif selon d’autres formes de réalisation préférentielle.
DESCRIPTION DE MODES DE REALISATION DE L’INVENTION
La est un schéma d’un ordinogramme simplifié d’un procédé de traitement de données enregistrées dans une installation de mémoire selon des formes de réalisation préférentielle et la montre un schéma par blocs, simplifié d’un dispositif 200 selon d’autres formes de réalisation préférentielle pour la mise en œuvre du procédé.
Le dispositif 200 comprend une installation de calcul 202 (encore appelé calculateur), par exemple associé à l’installation de mémoire 204 décrite ci-dessus notamment pour enregistrer au moins de temps en temps au moins un programme d’ordinateur PRG et/ou des données DAT notamment à l’aide du dispositif 202 qui traite les données. En outre, de façon préférentielle, l’installation de mémoire 204 peut contenir un programme d’ordinateur pour commander au moins de temps en temps le fonctionnement du dispositif 200, notamment pour exécuter le procédé selon les formes de réalisation.
Selon d’autres formes de réalisation préférentielle, l’installation de calcul 202 comporte au moins l’un des éléments suivants : un microprocesseur, un microcontrôleur, un processeur de signaux numériques (DSP), un composant logique programmable (encore appelé circuit logique programmable in situ ou un réseau de portes programmables (par exemple un composant FPGA), un circuit ASIC (circuit intégré spécifique à des applications), ou de façon générale un circuit. Des combinaisons sont également envisageables selon d’autres formes de réalisation préférentielles. L’installation de calcul 202 sera également appelée ci-après "ordinateur".
Selon d’autres formes de réalisation préférentielle, l’installation de mémoire 204 comporte au moins l’un des éléments suivants : une mémoire volatile 204a, notamment une mémoire vive RAM, une mémoire non volatile 204b, notamment une mémoire Flash, par exemple, une mémoire Flash-EEPROM ou NOR Flash ou NAND-Flash.
D’autres formes de réalisation préférentielle concernent un support de mémoire SM lisible par un ordinateur contenant des instructions, notamment sous la forme d’un programme d’ordinateur PRG’ qui, exécutées par cet ordinateur 202, lui font exécuter le procédé selon des formes de réalisation décrites de façon plus détaillée ci-après en référence aux figures 1A, 1B, 1C, 3-7.
D’autres formes de réalisation préférentielles concernent un programme d’ordinateur PRG avec des instructions qui, dans l’exécution du programme PRG par un ordinateur 202, lui font exécuter le procédé selon des formes de réalisation.
D’autres formes de réalisation préférentielle concernent le signal support de données DS que le programme d’ordinateur PRG transmet selon les formes de réalisation. Par exemple, le dispositif 200 peut comporter, selon d’autres formes de réalisation préférentielle, une interface 206 pour une communication de données (de préférence une communication bidirectionnelle) avec d’autres unités non représentées, qui permet, par exemple, de recevoir le signal porteur de données DS, sous la forme d’un téléchargement à partir d’un réseau de données.
D’autres formes de réalisation préférentielles concernent un procédé de traitement de données enregistrées dans l’installation de mémoire 204. De façon préférentielle, le procédé s’applique, par exemple à des données enregistrées dans la mémoire volatile 204a comme cela sera décrit ensuite à titre d’exemple. De façon générale, pour les autres formes de réalisation préférentielles, l’application du procédé aux données enregistrées dans une mémoire non volatile 204b est également possible et avantageuse.
Le procédé selon des formes de réalisation préférentielle comporte les étapes suivantes (voir ) :
- diviser 100 une plage de mémoire SB ( ) de l’installation de mémoire 204 en plusieurs zones partielles TB_1, TB_2, ..., TB_N, pour au moins l’une des zones partielles TB_1, TB_2, ..., TB_N,
- former 110 ( ) une sommes de contrôle PS_1, PS_2, ..., PS_N caractérisant le contenu de données d’au moins une zone partielle TB_1, TB_2, ..., TB_N,
- signer 120 la somme de contrôle PS_1, PS_2, ..., PS_N notamment à l’aide d’un procédé cryptographique de façon à obtenir la somme de contrôle signées PS_1s, PS_2s, ..., PS_Ns,
- au moins enregistrer périodiquement 130 la somme de contrôle signées PS_1s, PS_2s, ..., PS_Ns. Cela permet de détecter efficacement toute variation (non voulue) du contenu des données de la plage partielle correspondante zone partielle TB_1, par exemple, en ce que l’on forme de nouveau la somme de contrôle concernant le contenu de données (actuel) d’au moins une zone partielle et on compare avec la somme de contrôle formée au préalable ou somme de contrôle signée. Lorsqu’il y a concordance, on peut en conclure que le contenu de données est inchangé ; en cas de non-concordance, on peut, en conclure que des données ont été modifiées, par exemple, manipulées. La signature 120 de la somme de contrôle augmente avantageusement la sécurité car ainsi on évite la manipulation du contenu de données et le cas échéant on a une somme de contrôle manipulée, adaptée à la manipulation du contenu de la matière.
On examinera à titre d’exemple une plage de mémoire SB ( ) de la mémoire RAM 204a qui représente, par exemple, l’ensemble de la plage disponible de la mémoire RAM 204a ou seulement une partie de celle-ci.
Selon d’autres formes de réalisation préférentielle, il est prévu de former une somme de contrôle PS_1, PS_2, ..., PS_N caractérisant le contenu de données respectif de la zone partielle de préférence de toute des zones partielles TB_1, TB_2, ..., TB_N ; notamment en particulier, on signe les sommes de contrôle, en particulier de préférence et notamment de toutes les zones partielles en particulier avec un procédé cryptographique ; on obtient ainsi des sommes de contrôle signées PS_1s, PS_2s, ..., PS_Ns et ces sommes de contrôle signées PS_1s, PS_2s, ..., PS_Ns sont au moins en partie enregistrées en mémoire. On obtient des avantages comparables pour les plages partielles respectives de la plage de mémoire SB de l’installation de mémoire 204. En particulier, on peut, de cette manière, "protéger" des zones partielles TB_1, TB_2, ..., TB_N, différentes de la plage de mémoire SP de l’installation de mémoire 204 par des sommes de contrôle signées, c’est-à-dire qu’en utilisant des sommes de contrôle signées on pourra vérifier des modifications (non souhaitées) ce qui s’exécute avantageusement individuellement pour chacun des sommes de contrôle PS_1, PS_2, ..., PS_N, en particulier en fonction des autres zones partielles.
Selon d’autres formes de réalisation préférentielles, on associe chacune des zones partielles TB_1, TB_2, ..., TB_N, un programme d’ordinateur PRG du dispositif 200 ou encore, par exemple, à une partie (module) du programme d’ordinateur PRG et/ou des données prédéfinies. De manière avantageuse, on sélectionne les zones partielles TB_1, TB_2, ..., TB_N, par exemple, dans l’étape 100 ( ) de manière à correspondre à au moins un programme d’ordinateur PRG prédéfini du dispositif 200 à une partie de celui-ci ou à des données correspondantes, ce qui augmente la flexibilité. A titre d’exemple, le procédé selon les formes de réalisation peut être exécuté pour des programmes d’ordinateur importants PRG du dispositif 200 ou des parties importantes de celui-ci ou pour des zones partielles TB_1, TB_2, ..., TB_N alors que pour des parties moins importantes ou des programmes d’ordinateur ou des zones partielles de la plage de mémoire SB, l’exécution du procédé selon les formes de réalisation sera au moins en partie non indispensable.
Selon d’autres formes de réalisation préférentielle, il est prévu d’interdire des accès d’écriture aux zones partielles TB_1, TB_2, ..., TB_N au moins de temps en temps (voir l’étape 112 en option selon la ) notamment avant ou directement après la formation 110 de la somme de contrôle ou des sommes de contrôle. On évite ainsi toute modification du contenu des données de la ou des zones partielles TB_1, TB_2, ..., TB_N après la formation de la somme de contrôle.
Selon d’autres forme de réalisation préférentielle, il est prévu que :
a) Ss1 est une somme de contrôle cryptographique, notamment une somme de contrôle cryptographique de type SHA (secure hash algorithm)-256 ou SHA-512, et/ou
b) la signature se fait en utilisant au moins l’un des procédés suivants :
A) procédé RSA, notamment selon ISO / IEC 14888-2 :2008,
B) procédé DSA notamment selon NIST : FIPS Publication 186-3 : Digital Signature Standard, DSS, Juin 2009 et/ou ISO/IEC 14888-3 :2006 Information technology – Security techniques –
Digital signatures with appendix – Part 3 : Discrete logarithm based mechanisms, 2006
C) procédé DSA s’appuyant sur des courbes elliptiques.
Selon d’autres formes de réalisation préférentielle on peut faire des calculs cryptographiques tels que, par exemple, pour la formation 110 des sommes de contrôle PS_1, PS_2, ..., PS_N et/ou la signature 120 à l’aide d’un programme d’ordinateur prévu à cet effet pour le dispositif 200. En variante ou en complément, le dispositif 200 peut également disposer d’un accélérateur de circuit (non représenté) pour les primitives cryptographiques ou les calculs et qui est, par exemple, intégré dans l’installation de calcul 202.
La montre un schéma par blocs, simplifié, selon d’autres formes de réalisation préférentielles. La figure montre la division de la plage de mémoire SB (ici N zones partielles TB_1, TB_2, ..., TB_N). Les flèches des blocs A1 symbolisent, par exemple, des accès en lecture aux zones partielles TB_1, TB_2, ..., TB_N, qui sont possible notamment pendant l’exécution du procédé selon les formes de réalisation. Par exemple, les programmes d’application PRG du dispositif 200 ( ) accèdent par les accès en lecture au contenu de données d’une ou plusieurs zones partielles TB_1, TB_2, ..., TB_N. Les flèches de bloc A2 et les blocs B1 symbolisent, par exemple, la formation d’une somme de contrôle selon l’étape 110 (et le cas échéant la formation de la signature selon l’étape 120) selon la ; les flèches de bloc A3 symbolisent, par exemple, les sommes de contrôle PS_1, PS_2, ..., PS_N obtenus ou les sommes de contrôle signées (PS_1s, PS_2s, ..., PS_Ns ; par exemple, au moins leur enregistrement en mémoire de temps en temps (voir également l’étape 130 selon la ).
Selon d’autres formes de réalisation préférentielle (voir ) le procédé comporte en outre les opérations suivantes consistant à :
- fournir 140 une mémoire intermédiaire CA1, CA2, ..., CAN (mémoire "Cache") pour au moins une zone partielle TB_1, TB_2, ..., TB_N, pour enregistrer en tampon 150 des accès d’écriture à au moins une zones partielles TB_1, TB_2, ..., TB_N, à l’aide d’au moins une mémoire intermédiaire CA1, CA2, ..., CAN. Cela permet d’effectuer de manière transparente sur au moins une zone partielle TB_1, TB_2, ..., TB_N, les accès d’écriture réussis, par exemple pour une unité exécutant les accès d’écriture comme, par exemple, l’installation de calcul 202 (ou le programme d’application qui se déroule dans cette installation) et d’enregistrer au moins de temps en temps dans les mémoires intermédiaires CA1, CA2, ..., CAN, par exemple, en interdisant les accès d’écriture à au moins une zones partielles TB_1, TB_2, ..., TB_N, (voir étape 112, ). Pour d’autres formes de réalisation préférentielle, comme mémoire intermédiaire mémoire intermédiaire CA1, CA2, ..., CAN on peut, par exemple, disposer d’une autre zone CA de la mémoire RAM 204a ou d’autres mémoires, par exemple, volatiles.
Selon d’autres formes de réalisation préférentielle (voir ) l’accès en lecture 160 aux données enregistrées en mémoire dans au moins une zone partielle TB_1, TB_2, ..., TB_N, se fait par la lecture des données correspondantes dans au moins une zone partielle TB_1, TB_2, ..., TB_N, ou encore par la lecture des données correspondantes dans la mémoire intermédiaire CA1, CA2, ..., CAN associée à au moins l’une des zones partielles TB_1, TB_2, ..., TB_N.
Selon d’autres formes de réalisation préférentielle (voir ) le procédé consiste en outre à :
- former 170 une somme de contrôle intermédiaire PS’_1 caractérisant au moins le contenu actuel des données d’au moins une zone partielle TB_1 ;
- exploiter 180 la somme de contrôle intermédiaire PS’_1 secondaire en fonction de la somme de contrôle signée PS_1s, PS_2s, ..., PS_Ns enregistrée au moins provisoirement ( , 3).
La somme de contrôle intermédiaire PS’_1 ( ) peut être formée notamment en utilisant les mêmes procédés comme la somme de contrôle signée PS_1s. Par exemple, la somme de contrôle signée PS_1s peut être formée à un premier instant, notamment avant l’alternance planifiée d’un état de fonctionnement de l’installation de mémoire 204 ou de l’installation de calcul 202 accédant à l’installation de mémoire 204, par exemple au passage du mode de fonctionnement actif au mode de fonctionnement avec économie d’énergie.
Par exemple, la somme de contrôle intermédiaire PS’_1 secondaire peut être formée à un second instant qui suit le premier instant, ce second instant correspondant, par exemple, à un second changement de l’état de fonctionnement de l’installation de mémoire 204, c’est-à-dire de l’installation de calcul 202 accédant à l’installation de mémoire 204 (par exemple le passage du mode d’économie d’énergie au mode de fonctionnement actif). Cela permet, par exemple, par la comparaison de la somme de contrôle signée PS_1s avec la somme de contrôle intermédiaire PS’_1, de déterminer si le contenu de données de la plage partielle concernée par les sommes de contrôle intermédiaires PS’_1, sommes de contrôle signées PS_1s, PS_2s, ..., PS_Ns a été modifié pendant l’état d’économie d’énergie, par exemple, par une erreur ou une manipulation.
Selon d’autres formes de réalisation préférentielle (voir ) il est prévu que l’exploitation 180 comprend les étapes consistant à :
- comparer 182 la somme de contrôle intermédiaire PS’_1 a au moins une somme de contrôle signée PS_1s enregistrée provisoirement d’au moins une zone partielle TB_1,
- transmettre 184 le contenu de la mémoire intermédiaire CA1 ( ) dans au moins une zone partielle TB_1 et en option,
- libérer 186 ( ) les accès en écriture à au moins une zone partielle TB_1.
Selon d’autres formes de réalisation préférentielle, la transmission 184 du contenu de la mémoire intermédiaire CA1 dans au moins une zone partielle TB_1 peut se faire si la comparaison 182 ( ) de la somme de contrôle secondaire avec la somme de contrôle signée, enregistrée de façon provisoire, correspondant à au moins une zone partielle a montré que les deux sommes de contrôle sont identiques et qu’il n’y a pas eu manipulation du contenu des données.
Selon d’autres formes de réalisation préférentielle, la transmission 184 du contenu de la mémoire intermédiaire CA1 dans au moins une zone partielle TB_1 peut se faire si,
a) La comparaison 182 de la somme de contrôle secondaire avec une somme de contrôle signée, enregistrée au moins provisoirement, d’au moins une zone partielle a montré que les deux sommes de contrôle sont identiques et qu’il n’y a pas eu de manipulation du contenu des données et,
b) La somme de contrôle signée PS_1s du fait de sa signature n’a pas été modifiée, par exemple manipulée. Ainsi, dans l’étape 182 en option on peut contrôler la signature de la somme de contrôle signée PS_1s.
Dans le cas contraire, c’est-à-dire si, par exemple, les comparaisons 182 des sommes de contrôle secondaires avec une somme de contrôle signée enregistrée provisoirement correspondant à au moins une zone partielle ont montré que les deux sommes de contrôle n’étaient pas identiques, et qu’il y a eu modification ou manipulation du contenu des données, la transmission 184 du contenu de la mémoire intermédiaire dans au moins une zone partielle et en option la libération 186 des accès en écriture à au moins une zone partielle n’ont pas été effectuées mais, par exemple, une réaction d’erreur en option FR ( ) est lancée ; par exemple, il s’agit de la signalisation d’une modification d’une manipulation du contenu des données et/ou l’exécution d’un redémarrage ("reboot") ou d’une remise à l’état initial ("reset"). Cela permet d’éviter avantageusement que, par exemple, après une activation d’une installation de calcul 202 accédant à l’installation de mémoire 204 passant de l’état d’économie d’énergie, l’installation de mémoire 202 fonctionne avec des données modifiées ou manipulées.
Selon d’autres formes de réalisation préférentielle, les étapes de formation 170 et d’exploitation 180 ( ) de plusieurs zones partielles TB_1, TB_2, ..., TB_N, ont été faites et notamment les étapes de formation 170 et d’exploitation 180 de plusieurs zones partielles TB_1, TB_2, ..., TB_N ont été effectuées indépendamment les unes des autres. Cela augmente d’autant la souplesse et on peut, par exemple, avoir des programmes d’ordinateur PRG différents pour les zones partielles TB_1, TB_2, ..., TB_N de la zone de mémoire SB de l’installation de mémoire 204, vérifiés sélectivement selon les formes de réalisation (ou non vérifiés) notamment de manière indépendante les unes des autres.
La montre un schéma par blocs simplifié correspondant à d’autres formes de réalisation préférentielle. En plus des éléments zones partielles TB_1, TB_2, ..., TB_N déjà décrits ci-dessus en référence à la , on a représenté à la les mémoires intermédiaires (CA1, CA2, ..., CAN associées aux zones partielles TB_1, TB_2, ..., TB_N. En outre, les flèches de bloc A4 schématisent les accès en lecture et/ou les accès en écriture aux mémoires intermédiaires CA1, CA2, ..., CAN, par exemple en les garantissant de sorte que pendant le procédé selon les formes de réalisation, si en option on interdit au moins de temps en temps des accès en écriture aux zones partielles TB_1, TB_2, ..., TB_N (étape 112 de la ) les programmes d’application PRG du dispositif 202 ( ) continueront à lire les données des zones partielles TB_1, TB_2, ..., TB_N, et/ou à inscrire des données et cela dans les mémoires intermédiaires CA1, CA2, ..., CAN. Le fonctionnement des programmes d’application PRG n’est pas dérangé. Les blocs B1’ de la symbolisent la formation de la somme de contrôle intermédiaire PS’_1 selon l’étape 170 de la et la comparaison 182 avec la somme de contrôle signée PS_1s formée préalablement.
Selon d’autres formes de réalisation préférentielle, les étapes de formation 170 et d’exploitation 182, notamment la comparaison 182 de plusieurs zones partielles TB_1, TB_2, ..., TB_N seront effectuées et en particulier, les étapes de formation et d’exploitation pour plusieurs zones partielles seront faites indépendamment les unes des autres, par exemple, à des instants différents ou de façon successive dans le temps (non nécessairement directement). Cela augmente d’autant la souplesse et, par exemple des programmes d’ordinateur différents peuvent vérifier des zones partielles correspondant à la zone de mémoire de l’installation de mémoire, de manière sélective selon les formes de réalisation (ils pourront vérifier ou non vérifier) notamment de manière indépendante.
La montre un schéma par blocs simplifié d’autres formes de réalisation préférentielle. Pour les deux zones partielles TB_1, TB_2 la comparaison selon l’étape 182 a déjà été effectuée et a, par exemple, montré que les sommes de contrôle secondaires respectives correspondent aux sommes de contrôles PS_1, PS_2s formées à l’origine de sorte que l’on déduit qu’il n’y a pas eu manipulation du contenu des données des deux zones partielles TB_1, TB_2. Cela permet de réinscrire pour les deux zones partielles TB_1, TB_2, le contenu des mémoires caches CA1, CA2 de nouveau dans les zones partielles TB_1, TB_2 (voir la flèche de bloc A4b a4c). Pour l’autre zone partielle TB_N la comparaison 182 n’est pas terminée (ou elle sera intentionnellement effectuée ensuite), voir le bloc B1’’, c’est pourquoi le présent contenu de la mémoire Cache CAN ne peut pas être remis et déjà dans la zone partielle TB_N. Les accès en lecture et/ou en écriture A4’ à la TB_N se font comme précédemment, par exemple, par l’intermédiaire de la mémoire cache CAN (par exemple l’accès en lecture le cas échéant également directement dans la TB_N.
Dès que la TB_N a été vérifiée, avec la comparaison selon l’étape 182 pour la TB_N qui a réussi, on peut remettre le contenu de toutes les mémoires cache intermédiaires CA1, CA2, ..., CAN dans les zones partielles TB_1, TB_2, ..., TB_N correspondantes (voir le schéma par blocs de la , notamment les flèches de bloc A5’.
Dès que le contenu d’une mémoire intermédiaire ou mémoire cache a été réécrit complètement dans la zone de mémoire correspondante, par exemple, en partant de l’état présenté à la , on libère de nouveau la mémoire intermédiaire et on peut l’utiliser autrement et les accès en lecture et en écriture peuvent se faire directement dans la zone partielle correspondante.
Pour l’une des zones partielles, par exemple, pour la comparaison 182 ( ) si l’on constate qu’une somme de contrôle cryptographique a été abîmée (c’est-à-dire la différence entre la somme de contrôle intermédiaire PS’_1 formée actuellement et la somme de contrôle signée PS_1s formée préalablement, selon d’autres formes de réalisation préférentielle on définit différentes mesures (voir par exemple, la réaction d’erreur FR, ). Ces mesures peuvent avoir pour d’autres formes de réalisation préférentielle, des effets pour des composants de programme de la zone partielle respective, mais également en outre pour des composants de programme d’une autre zone partielle-par exemple pour des relations hiérarchiques entre les composants de programme dans des zones partielles différentes.
La montre schématiquement différents états Z1, Z2, Z3 du dispositif 200 ( ) selon d’autres formes de réalisation préférentielle. L’axe horizontal (x) pour des coordonnées croissantes (vers la droite selon la ) représente une consommation croissante de puissance électrique et l’axe vertical (y) représente la fonctionnalité croissante selon des valeurs croissantes de la coordonnée (vers le haut selon la ). Le premier état de fonctionnement Z1 ("AN") correspond, par exemple à un fonctionnement actif du dispositif 200 ; le second état de fonctionnement Z2 correspond, par exemple, à un état d’économie d’énergie notamment à un état de "suspension vers RAM ("Suspend-To-RAM Modus"). Dans ce mode de suspension Z2, l’état actuel du système (également les contenus de données de la mémoire RAM 204a) sont figés et ensuite on commute dans un mode de consommation de puissance par les composants de programme selon lequel les composants ont une consommation réduite ou sont partiellement coupés et consomment ainsi moins ou pas d’énergie électrique.
La mémoire de travail 204a est alimentée dans ce mode d’économie et le contenu de la mémoire reste ainsi conservé. L’énergie nécessaire à ce mode est inférieure à celle de l’état actif du système Z1 ("AN"), dans lequel on peut, par exemple, avoir des accès en lecture et en écriture. Le troisième état Z3 correspond à la désactivation totale du dispositif 200 c’est-à-dire à l’état "coupé". Les différents accès d’état entre les états selon d’autres formes de réalisation préférentielle sont référencés à la par les références z12, z13, z21, z23, z31, z32.
Selon d’autres formes de réalisation préférentielle, le dispositif 200 ( ) est réalisé de façon à passer du premier état de fonctionnement Z1 ( "marche") dans le second état de fonctionnement Z2, c’est-à-dire dans l’état de suspension vers RAM, dans lequel le dispositif 200 exécute avant le passage zone partielle TB_12 du premier état de fonctionnement Z1 dans le second état de fonctionnement Z2, les étapes 100, 110 et en option 112, 120, 130 selon les figures 1A, 1B, 1C. De cette manière, de façon avantageuse, avant de passer à l’état de suspension vers RAM, on forme des sommes de contrôle caractérisant (signant) l’état d’un contenu de données de la zone partielle respective, ces sommes de contrôle permettant ensuite une vérification efficace, souple et sélective d’une ou plusieurs zones partielles pour déterminer les modifications du contenu des données.
Selon d’autres formes de réalisation préférentielle, le dispositif 200 est conçu pour passer du second état de fonctionnement Z2 dans un premier état de fonctionnement Z1 (marche), selon lequel le dispositif 200, avant le passage z21 (démarrage) passe du second état de fonctionnement Z2 dans le premier état de fonctionnement Z1 en exécutant les étapes 140, 150 selon la ; en particulier on applique notamment les accès en lecture 160 aux données enregistrées dans une zone partielle par la lecture des données correspondantes de cette zone partielle ou par la lecture de données correspondantes d’au moins une mémoire intermédiaire associée à la zone partielle. En outre, on peut former 170 une somme de contrôle secondaire caractérisant le contenu actuel des données d’au moins une zone partielle et exploiter 180 cette somme de contrôle secondaire en fonction d’au moins une somme de contrôle signée, enregistrée provisoirement, notamment faire une comparaison 182 selon la .
Selon les passages d’état zone partielle z12, s21 décrits à titre d’exemple, ci-dessus, le procédé peut, sans d’autre forme de réalisation préférentielle, être exécuté pour au moins une zone partielle TB_1 de la zone de mémoire SB, par exemple, également pour d’autres zones partielles ou toutes les zones partielles TB_1, TB_2, ..., TB_N.
D’autres formes de réalisation préférentielle concernent l’utilisation du procédé et/ou du dispositif 200 et/ou du programme d’ordinateur PRG selon les formes de réalisation pour vérifier au moins une zone partielle TB_1 de l’installation de mémoire 204 pour déterminer des modifications ou des manipulations, notamment avant ou pendant ou après un changement zone partielle TB_12, z21 de l’installation de mémoire 204 et/ou de l’installation de calcul 202 accédant à l’installation de mémoire 204 en passant d’un premier état de fonctionnement ZONE PARTIELLE TB_1 à un second état de fonctionnement Z2.
Le procédé selon des formes de réalisation préférentielle peut s’appliquer avantageusement, notamment par exemple, au système d’ordinateur 200 qui se caractérise par des exigences élevées quant à la disponibilité dans le temps et la capacité de réaction dans le temps ainsi que des exigences strictes concernant la consommation de puissance autorisée du système utilisé. Les systèmes répondant à de telles exigences sont notamment ceux dans le domaine de l’automobile, mais il peut également s’agir dans d’autres domaines, comme, par exemple, celui du transport ferroviaire ou de la navigation aérienne. Les exigences concernant la consommation de puissance de tels systèmes (généralement pour les puissances maximales consommées) il est avantageux que de tels systèmes d’ordinateurs selon d’autres formes de réalisation passent d’un état Z1 dans lequel on dispose des fonctionnalités du système 200 appelé ci-après état "AN" (marche) dans un état Z3 dans lequel les fonctionnalités du système ne sont pas disponibles et qui est appelé état "AUS" (état arrêté). En outre, on peut prévoir des états supplémentaires Z2 qui se situent pour la consommation de puissance et la fonctionnalité, entre les états Z1 et Z3 (voir ). Ces états supplémentaires sont également appelés mode d’économie d’énergie et ne se limitent pas au mode de suspension vers RAM décrit à titre d’exemple ci-dessus. Bien plus, on peut avoir différents modes d’économie de courant avec des fonctions différentes et/ou des exigences de puissance ou consommation de puissance différente.
Selon d’autres formes de réalisation préférentielle on peut ne pas avoir une durée de passage z12 des états disposant des fonctionnalités du système dans un état dans lesquels les fonctionnalités du système sont disponibles et qui correspond au temps de démarrage. Ces états supplémentaires Z2 du système se caractérisent en ce que, par exemple, on ne dispose que de fonctionnalités limitées ou pas de fonctionnalité, et que l’état Z2 permet néanmoins un passage plus rapide dans l’état Z1 ("AN").
Selon d’autres formes de réalisation préférentielle, le dispositif assure des fonctions de sécurité. Ces fonctions se manifestent, par exemple, dans l’un des états du système Z1, Z2, Z3 mais également dans les passages z12, z21 entre les états du système.
Répondre aux exigences de sécurité selon d’autres formes de réalisation est, par exemple, possible de façon souple et efficace, notamment également pour le passage z12, z21 entre les différents modes de fonctionnement Z1, Z2. Des formes de réalisation préférentielle permettent notamment d’avoir un passage plus rapide de l’état Z2 (mode d’économie de courant, par exemple, le mode suspension vers RAM) à l’état Z1("AN") tout en respectant les exigences de sécurité. Cela est notamment possible du fait que les sommes de contrôle (sommes signées) pour les zones partielles TB_1, TB_2 de la zone de mémoire SB sont prévues et pour le démarrage en partant de l’état Z2 et passant à l’état Z1, on vérifie de manière souple, individuellement, ( par exemple, à l’aide des étapes 170, 180, 182) une ou plusieurs ou toutes zones partielles ; la succession des vérifications des différentes zones partielles se fait, par exemple, en fonction de l’importance des zones partielles pour la sécurité du fonctionnement du dispositif 200. Cela permet, par exemple, de rétablir plus rapidement les fonctionnalités associées aux différentes zones partielles respectives TB_1, TB_2, …, de programmes, par exemple de fonctionnement et/ou d’application du dispositif 200 (cela se fait plus rapidement en se référant aux différentes zones partielles, en comparant, par exemple, avec un contrôle global de l’ensemble de la zone de mémoire SB). Un autre avantage est une possible prise en compte indépendante des composants de programme qui correspondent à différentes zones partielles. Ainsi, les différents composants de programme ne seront pas influencés réciproquement ou seulement dans un cadre prédéfini, ce qui permet de garantir l’absence d’interférence par rapport au passage des états Z2, Z1 du système.
Selon d’autres formes de réalisation préférentielle, le procédé et/ou dispositif selon les formes de réalisation, sont exécutés dans un appareil de commande, par exemple, celui équipant un véhicule automobile, notamment un appareil de commande (ou appareil de gestion du moteur à combustion interne d’un véhicule automobile), par exemple, pour les applications suivantes :
a) Commande du fonctionnement ou du passage d’état de fonctionnement de l’appareil de commande,
b) Libération ou non libération d’une ou plusieurs fonctions de l’appareil de commande et/ou d’un autre composant et/ou, par exemple, du véhicule,
c) Passage dans un mode de défaut et/ou un mode de secours,
d) Enregistrer dans une mémoire de défaut,
e) Signaler un état de fonctionnement à une unité externe, et/ou à un utilisateur,
f) Commander un organe de réglage.
Selon d’autres formes de réalisation préférentielle, par exemple, la formation 170 décrite ci-dessus en la référence à la , d’une somme de contrôle secondaire caractérisant un contenu actuel de données d’au moins une zone partielle et l’exploitation 190 de la somme de contrôle secondaire peuvent se faire en fonction d’une somme de contrôle, signée, enregistrée provisoirement ; ainsi, comme déjà décrit ci-dessus, par exemple on pourra déceler des manipulations ou des erreurs concernant le contenu correspondant des données. Selon d’autres formes de réalisation préférentielle, un ou plusieurs des aspects ci-dessus ou étapes a, b, ….f ne seront pas exécutés ou le seront en fonction de la détection de manipulations ou de défauts.
D’autres formes de réalisation préférentielle concernent l’utilisation du procédé selon les formes de réalisation et/ou du dispositif selon les formes de réalisation et/ou du programme d’ordinateur selon les formes de réalisation pour vérifier au moins une zone partielle de l’installation de mémoire pour détecter des modifications ou des manipulations, notamment avant ou pendant ou après un changement d’installation de mémoire et/ou d’une installation de calcul accédant à une installation de mémoire passant d’un premier état de fonctionnement à un second état de fonctionnement et pour commander un mode de fonctionnement, par exemple, d’un appareil de commande d’un moteur à combustion interne d’un véhicule automobile en fonction de cette vérification.

Claims (15)

  1. Procédé de traitement de données enregistrées dans une installation de mémoire (204) comprenant les étapes suivantes consistant à :
    - diviser (100) une plage de mémoire (SB) de l’installation de mémoire (204) en plusieurs zones partielles (TB_1, TB_2, ..., TB_N),
    - former (110) pour au moins l’une des zones partielles (TB_1, TB_2, ..., TB_N), une somme de contrôle (PS_1) caractérisant le contenu de données d’au moins une zone partielle (TB_1),
    - signer (120) la somme de contrôle (PS) notamment à l’aide d’un procédé cryptographique, selon lequel on obtient une sommes de contrôle (PS_1) signée,
    - enregistrer au moins provisoirement (130) la sommes de contrôle (PS_1) signée.
  2. Procédé selon la revendication 1,
    selon lequel
    pour plusieurs, de préférence toutes les zones partielles (TB_1, TB_2, ..., TB_N), on forme une somme de contrôle (PS_1, PS_2,..., PS_N) caractérisant le contenu de données respectif de la zone partielle (TB_1, TB_2, ..., TB_N) correspondante,
    selon lequel, notamment plusieurs et de préférence toutes les sommes de contrôle signées (PS_1s, PS_2s, ..., PS_Ns) associées aux zones partielles (TB_1, TB_2, ..., TB_N) sont signées, notamment à l’aide d’un procédé cryptographique, pour obtenir des sommes de contrôle signées (PS_1s, PS_2s, ..., PS_Ns), et
    les sommes de contrôle signées (PS_1s, PS_2s, ..., PS_Ns) sont au moins provisoirement enregistrées en mémoire.
  3. Procédé selon au moins l’une des revendications précédentes,
    selon lequel les accès d’écriture à une ou aux zones partielles (TB_1, TB_2, ..., TB_N) sont au moins interdits (112) de temps en temps, notamment avant ou directement après la formation (110) de la somme de contrôle ou des sommes de contrôle.
  4. Procédé selon l’une des revendications précédentes,
    selon lequel
    a) la somme de contrôle est une somme de contrôle cryptographique, notamment une somme de contrôle cryptographique de type SHA-256 ou SHA-512, et/ou
    b) il consiste à signer (120) en utilisant au moins l’un des procédés suivants :
    A) Algorithme RSA notamment selon ISO/IEC 14888-2 :2008,
    B) Algorithme DSA notamment selon NIST : FIPS Publication 186-3 :
    C) Algorithme DSA- fondé sur des courbes elliptiques.
  5. Procédé selon l’une des revendications précédentes, consistant en outre à :
    - fournir (140) une mémoire intermédiaire (CA1, CA2, CCC, CAN) pour au moins une zone partielle (TB_1, TB_2, ..., TB_N),
    - enregistrer au moins provisoirement (150) des accès en écriture à aux moins une zone partielle (TB_1, TB_2, ..., TB_N) à l’aide de la mémoire intermédiaire (CA1, CA2, CCC, CAN).
  6. Procédé selon la revendication 5,
    selon lequel
    les accès en lecture (160) aux données enregistrées dans au moins une zone partielle (TB_1, TB_2, ..., TB_N) sont effectuées par la lecture de données correspondantes d’au moins une zone partielle (TB_1, TB_2, ..., TB_N) ou par la lecture de données correspondantes dans la mémoire intermédiaire (CA1, CA2, CCC, CAN) associée à au moins une zone partielle (TB_1, TB_2, ..., TB_N).
  7. Procédé selon l’une des revendications précédentes consistant en outre à :
    - former (170) une somme de contrôle (PS’_1) secondaire caractérisant le contenu actuel de données d’au moins une zone partielle (TB_1),
    - exploiter (180) la somme de contrôle secondaire (PS’_1)1 en fonction d’au moins une somme de contrôle (PS_1s) signée, enregistrée en mémoire au moins provisoirement.
  8. Procédé selon la revendication 7, liée à au moins l’une des revendications 5 à 6,
    selon lequel l’exploitation (180) consiste à :
    - comparer (182) la somme de contrôle secondaire (PS’_1) à la somme de contrôle signée (PS_1s), enregistrée provisoirement en mémoire d’au moins une zone partielle (TB_1),
    - transmettre (184) le contenu de la mémoire intermédiaire (CA1) dans au moins une zone partielle (TB_1) et en option,
    - libérer (186) des accès en écriture à au moins une zone partielle (TB_1).
  9. Procédé selon au moins l’une des revendications 7 et 8,
    selon lequel on exécute les étapes consistant à :
    - former (170) et exploiter (180) plusieurs zones partielles (TB_1, TB_2, ..., TB_N), et
    - notamment exécuter les étapes de formation (170) et d’exploitation (180) de plusieurs zones partielles (TB_1, TB_2, ..., TB_N) indépendamment les unes des autres.
  10. Dispositif (200) pour traiter des données enregistrées dans une installation de mémoire (204), le dispositif (200) comportant des moyens pour exécuter le procédé selon au moins l’une des revendications précédentes
    - des moyens pour passer (z12) d’un premier état de fonctionnement actif (Z1) dans un second état de fonctionnement (Z2), d’économie d’énergie
    - des moyens pour, avant le passage (z12) du premier état de fonctionnement (Z1) au second état de fonctionnement (Z2) :
    - diviser (110) une plage de mémoire (SB) de l’installation de mémoire (204) en plusieurs zones partielles (TB_1, TB_2, ..., TB_N) pour au moins l’une des plusieurs zones partielles,
    - former (110) une somme de contrôle (PS_1) caractérisant le contenu de données d’au moins une zone partielle (TB_1),
    - signer (120) la somme de contrôle (PS) notamment par un procédé cryptographique de façon à obtenir une somme de contrôle signée (PS_1s),
    - enregistrer au moins provisoirement (130) la somme de contrôle signée (PS_1s).
  11. Dispositif (200) selon la revendication 10, le dispositif (200) étant réalisé pour :
    - à partir du second état de fonctionnement (Z2) passer (z21) dans le premier état de fonctionnement (Z1),
    - le dispositif (200) étant développé pour effectuer avant le passage (z21) du second état de fonctionnement (Z2) dans le premier état de fonctionnement (Z1) les étapes suivantes consistant à :
    - fournir (140) une mémoire intermédiaire (CA1, CA2, …, CAN) pour au moins une zone partielle (TB_1, TB_2, ..., TB_N),
    - enregistrer au moins provisoirement (150) des accès d’écriture à au moins une zone partielle (TB_1, TB_2, ..., TB_N) à l’aide de la mémoire intermédiaire (CA1, CA2, …, CAN), notamment les accès en lecture (160) étant effectués sur les données enregistrées dans au moins une zone partielle (TB_1, TB_2, ..., TB_N) par la lecture de données correspondantes d’au moins une zone partielle (TB_1, TB_2, ..., TB_N) ou par la lecture de données correspondantes dans au moins une mémoire intermédiaire (CA1, CA2, …, CAN) associée à au moins une zone partielle (TB_1, TB_2, ..., TB_N),
    - former (170) une somme de contrôle secondaire (PS’_1) caractérisant le contenu actuel des données d’au moins une zone partielle,
    - exploiter (180) la somme de contrôle secondaire (PS’_1) en fonction d’au moins une somme de contrôle signée (PS_1s), enregistrer au moins provisoirement.
  12. Support d’enregistrement lisible par un ordinateur (SM) sur lequel est enregistré un programme d’ordinateur comportant des instructions de code de programme pour l’exécution des étapes du procédé selon au moins l’une des revendications 1 à 9.
  13. Programme d’ordinateur (PRG) comprenant des instructions de code de programme pour l’exécution du procédé selon au moins l’une des revendications 1 à 9 lorsque le procédé est exécuté sur un ordinateur (202).
  14. Signal support de données (DS) qui transmet le programme d’ordinateur (PRG) selon la revendication 13.
  15. Application du procédé selon au moins l’une des revendications 1 à 9 ou/et du dispositif (200) selon au moins l’une des revendications 10 à 11 et/ou du programme d’ordinateur (PRG) selon la revendication 13 pour vérifier au moins une zone partielle de la zone de mémoire (204) concernant les variations et les manipulations, notamment par ou pendant ou après le changement d’un premier état de fonctionnement (Z1) dans un second état de fonctionnement (Z2).
FR2005845A 2019-06-08 2020-06-04 Procédé et dispositif de traitement de données enregistrées dans une installation de mémoire Active FR3097067B1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102019208407.9 2019-06-08
DE102019208407.9A DE102019208407A1 (de) 2019-06-08 2019-06-08 Verfahren und Vorrichtung zum Verarbeiten von in einer Speichereinrichtung gespeicherten Daten

Publications (2)

Publication Number Publication Date
FR3097067A1 true FR3097067A1 (fr) 2020-12-11
FR3097067B1 FR3097067B1 (fr) 2023-07-28

Family

ID=73460163

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2005845A Active FR3097067B1 (fr) 2019-06-08 2020-06-04 Procédé et dispositif de traitement de données enregistrées dans une installation de mémoire

Country Status (2)

Country Link
DE (1) DE102019208407A1 (fr)
FR (1) FR3097067B1 (fr)

Also Published As

Publication number Publication date
DE102019208407A1 (de) 2020-12-10
FR3097067B1 (fr) 2023-07-28

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
EP1605333B1 (fr) Contrôle de l'exécution d'un programme
CN109358892B (zh) 一种软件版本升级方法及装置
FR2754926A1 (fr) Procede de gestion de defauts d'integrite de donnees dans une memoire reinscriptible
CN107480522B (zh) 一种elf文件执行控制系统及方法
FR2865301A1 (fr) Procede et systeme pour l'echange de donnees entre des instruments de commande
CN114077395B (zh) 对在待机模式期间在dram中发生不期望的内容改变的防护
FR2923627A1 (fr) Procede de deverrouillage d'un calculateur de controle moteur.
FR3097067A1 (fr) Procédé et dispositif de traitement de données enregistrées dans une installation de mémoire
CN117407020A (zh) Ota升级刷写方法、装置、电子设备及存储介质
CN116991671A (zh) Dcs控制器及其可信启动的审计日志记录方法和系统
CN111831479A (zh) 一种车载电脑数据恢复方法及系统
WO2012107189A2 (fr) Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile
CN115220963A (zh) 车辆的ota升级异常恢复方法、装置、车辆及存储介质
FR2924262A1 (fr) Procede de masquage de passage en fin de vie d'un dispositif electronique et dispositif comportant un module de controle correspondant
FR2749697A1 (fr) Procede de mise en oeuvre d'un appareil de commande avec une memoire programmee par un dispositif de programmation
FR3108191A1 (fr) Procédé et dispositif de mise à jour d’un logiciel comportant des adresses physiques vers la mémoire d’un calculateur embarqué d’un véhicule
JP2023510122A (ja) インタフェースを備える装置およびインタフェースを備える装置の動作方法
JP2022144929A (ja) プログラム更新制御装置、プログラム更新制御方法、及びプログラム
EP4217852A1 (fr) Procédé et dispositif de mise à jour d'un logiciel d'un calculateur embarqué d'un véhicule, comportant une mémoire d'exécution, une mémoire de sauvegarde et une mémoire de contrôle
FR3100073A1 (fr) Procédé de sécurisation d’un calculateur de véhicule automobile
FR3119254A1 (fr) Procédé de mise à jour d’un logiciel pour un micro-processeur comprenant au moins deux zones de stockage
EP2229648A1 (fr) Methode de transfert securise de donnees
FR3100071A1 (fr) Procédé et dispositif de mise à jour d’un logiciel d’un calculateur embarqué d’un véhicule, comportant une mémoire d’exécution et une mémoire de sauvegarde
FR2938946A1 (fr) Procede de configuration d'un systeme comportant une machine electrique tournante dans un vehicule automobile

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLFP Fee payment

Year of fee payment: 3

PLSC Publication of the preliminary search report

Effective date: 20221021

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5