FR3060806A1 - A method of verifying the integrity of data, and electronic entity associated electronic device comprising such electronic entity - Google Patents

A method of verifying the integrity of data, and electronic entity associated electronic device comprising such electronic entity Download PDF

Info

Publication number
FR3060806A1
FR3060806A1 FR1662943A FR1662943A FR3060806A1 FR 3060806 A1 FR3060806 A1 FR 3060806A1 FR 1662943 A FR1662943 A FR 1662943A FR 1662943 A FR1662943 A FR 1662943A FR 3060806 A1 FR3060806 A1 FR 3060806A1
Authority
FR
France
Prior art keywords
condensate
electronic
electronic entity
diversification
memory
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.)
Pending
Application number
FR1662943A
Other languages
French (fr)
Inventor
Emmanuelle Dottax
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.)
Idemia France SAS
Original Assignee
Idemia France SAS
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 Idemia France SAS filed Critical Idemia France SAS
Priority to FR1662943A priority Critical patent/FR3060806A1/en
Publication of FR3060806A1 publication Critical patent/FR3060806A1/en
Application status is Pending legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; 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
    • GPHYSICS
    • G06COMPUTING; 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response

Abstract

Un procédé de vérification de l'intégrité de données mémorisées dans une mémoire (6) d'un appareil électronique (2) comprend les étapes suivantes : - réception, par l'appareil électronique (2), d'au moins une partie de programme (Pn), d'une pluralité d'éléments de diversification (ri) et de condensats (Hn,i) respectivement associés auxdits éléments de diversification ; A method of verifying the integrity of data stored in a memory (6) of an electronic apparatus (2) comprises the steps of: - receiving, by the electronic device (2), at least one program section (Pn), a plurality of diversification elements (ri) and condensate (Hn, i) respectively associated with said diversification elements; - mémorisation desdits éléments de diversification (ri) et desdits condensats (Hn,i) dans une entité électronique (10) équipant l'appareil électronique (2) et distincte de ladite mémoire (6) ; - storing said diversification elements (ri) and said condensate (Hn, i) in an electronic entity (10) equipping the electronic apparatus (2) and distinct from said memory (6); - vérification, par l'entité électronique (10) et au moyen d'un condensat donné (Hn,i) parmi lesdits condensats, de l'intégrité d'une partie au moins de la mémoire (6) mise à jour au moyen du programme (Pn). - verification by the electronic entity (10) and by means of a given condensate (Hn, i) of said condensate, of the integrity of at least a portion of the memory (6) update using the program (Pn). Une entité électronique associée (10) et un appareil (2) comprenant une telle entité électronique (10) sont également présentés. An associated electronic entity (10) and an apparatus (2) comprising such an electronic entity (10) are also presented.

Description

Domaine technique auquel se rapporte l'invention Technical field to which the invention

La présente invention concerne la vérification de l'intégrité des programmes mémorisés et exécutables au sein d'un appareil électronique. The invention relates to checking the integrity of stored programs and executable within an electronic device.

Elle concerne plus particulièrement un procédé de vérification de l'intégrité de données, une entité électronique associée et un appareil électronique comprenant une telle entité électronique. It relates more particularly to a method of verifying data integrity, an electronic entity associated and an electronic apparatus comprising such an electronic entity. L'invention s'applique particulièrement avantageusement dans le cas où l'entité électronique est intégrée (par exemple soudée) à l'appareil électronique. The invention is particularly advantageously applicable in the case where the electronic entity is integrated (for example welded) to the electronic apparatus.

Arriere-plan technologique technological back-plane

Dans le but de vérifier l'intégrité d'un programme mémorisé dans une mémoire d'un appareil électronique et exécutable par un processeur de l'appareil électronique, il a déjà été proposé qu'un serveur distant transmette un nombre aléatoire à l'appareil électronique afin que celui-ci retourne une preuve d'intégrité déterminée en fonction du nombre aléatoire et des données constituant le programme mémorisé. In order to check the integrity of a program stored in a memory of an electronic device and executable by a processor of the electronic device, it has been proposed that a remote server transmits a random number to the device e so that the latter returns an integrity determined based on the random number and data constituting the stored program.

Une telle solution est par exemple décrite dans l'article "FPGA-Based Remote-Code Integrity Vérification of Programs in Distributed Embedded Systems", de C. Basile, S. Di Carlo et A. Scionti, in "IEEE Transactions on Systems, Man, and Cybernetics - Part C : Applications and Reviews", Vol. Such a solution is described for example in the article "FPGA-Based Remote-Code Integrity Verification of Programs in Distributed Embedded Systems" by C. Basile, S. and A. Di Carlo Scionti, in "IEEE Transactions on Systems, Man , and Cybernetics - Part C: Applications and Reviews, "Vol. 42, No. 2, March 2012". 42, No. 2, March 2012 ".

Objet de l'invention The invention

Dans ce contexte, la présente invention propose un procédé de vérification de l'intégrité de données mémorisées dans une mémoire d'un appareil électronique, caractérisé en ce qu'il comprend les étapes suivantes : - réception, par l'appareil électronique, d'au moins une partie de programme, d'une pluralité d'éléments de diversification et de condensais respectivement associés auxdits éléments de diversification ; In this context, the present invention provides a data integrity verification process stored in a memory of an electronic apparatus, characterized in that it comprises the following steps: - receiving, by the electronic device, of at least a part program, a plurality of elements of diversification and condensates respectively associated with said diversification elements; - mémorisation desdits éléments de diversification et desdits condensais dans une entité électronique équipant l'appareil électronique et distincte de ladite mémoire ; - storing said diversification elements and said condensate in an electronic entity equipping the electronic apparatus and distinct from said memory; - vérification, par l'entité électronique et au moyen d'un condensât donné parmi lesdits condensais, de l'intégrité d'une partie au moins de la mémoire mise à jour au moyen du programme. - verification by the electronic entity, and by means of a condensate given one of said condensate, of the integrity of at least a portion of the memory updated by the program.

La vérification est ainsi effectuée par l'entité électronique, et donc éventuellement hors ligne. The check is thus performed by the electronic entity, and therefore possibly offline. L'étape de vérification peut comprendre par exemple les sous-étapes suivantes : - transmission d'un élément de diversification associé au condensât donné de l'entité électronique à un processeur de l'appareil électronique (l'entité électronique étant également distincte dudit processeur) ; The checking step may comprise for example the following sub-steps: - transmission of an associated condensate diversification given element of the electronic entity to a processor of the electronic apparatus (the electronic entity also being distinct from said processor ); - détermination d'un condensât par le processeur en fonction de l'élément de diversification et desdites données mémorisées dans la mémoire ; - determining a condensate by the processor according to the diversification element and said data stored in the memory; - comparaison du condensât déterminé et du condensât donné mémorisé dans l'entité électronique, ce qui permet la vérification éventuelle (en cas de comparaison positive) de l'intégrité des données. - comparing the determined condensate and condensate yield stored in the electronic entity, allowing the eventual verification (in case of positive comparison) of data integrity.

Le condensât peut être déterminé en pratique par le processeur par application d'une fonction de hachage à la concaténation de l'élément de diversification et desdites données mémorisées dans la mémoire. The condensate may be determined in practice by the processor by applying a hash function to the concatenation of the diversification element and said data stored in the memory.

En variante, le condensât peut être déterminé par le processeur par application d'une fonction cryptographique utilisant l'élément de diversification auxdites données mémorisées dans la mémoire. Alternatively the condensate can be determined by the processor by applying a cryptographic function using the diversification element to said data stored in the memory.

Selon un premier mode de réalisation, en cas d'échec à l'étape de vérification, le procédé comprend une étape de traitement d'erreur, mise en œuvre par l'entité électronique. According to a first embodiment, in case of failure in the checking step, the method comprises an error processing step, implemented by the electronic entity. Une telle étape de traitement d'erreur entraîne par exemple le blocage de certaines fonctionnalités de l'appareil électronique. Such error processing step leads by example blocking certain features of the electronic device.

Selon un second mode de réalisation, éventuellement combinable avec le premier mode de réalisation mentionné ci-dessus, le procédé peut comprendre en outre les étapes suivantes : - réception, en provenance d'un serveur distant, d'une valeur de défi par l'entité électronique ; According to a second embodiment, optionally combined with the first embodiment mentioned above, the method may further comprise the steps of: - receiving from a remote server, a challenge value by the electronic entity; - en cas de succès à l'étape de vérification, détermination, par l'entité électronique, d'une valeur de réponse en fonction de la valeur de défi et d'une clé mémorisée dans l'entité électronique ; - in case of success to the checking step, determining, by the electronic entity, a response value based on the challenge value and a key stored in the electronic entity; - émission de la valeur de réponse à destination du serveur distant. - issuance of the response value to the remote server.

Une telle valeur de réponse est par exemple déterminée par application, à la valeur de défi reçue, d'un algorithme cryptographique utilisant la clé mémorisée dans l'entité électronique. A response value is for example determined by applying to the received challenge value, a cryptographic algorithm using the key stored in the electronic entity. L'entité électronique est par exemple un élément sécurisé ; The electronic entity is such a secure element; l'entité électronique peut être intégrée à l'appareil électronique. e entity may be incorporated into the electronic device. L'invention propose également une entité électronique destinée à équiper un appareil électronique comprenant une mémoire, et conçue pour mettre en œuvre les étapes suivantes : - réception d'au moins une partie de programme, d'une pluralité d'éléments de diversification et de condensais respectivement associés auxdits éléments de diversification ; The invention also provides an electronic entity intended to equip an electronic apparatus comprising a memory, and adapted to implement the steps of: - receiving at least a portion of the program, a plurality of elements and diversification condensates respectively associated with said diversification elements; - mémorisation desdits éléments de diversification et desdits condensais ; - storing said diversification elements and said condensate; - vérification, au moyen d'un condensât donné parmi lesdits condensais, de l'intégrité d'une partie au moins de la mémoire mise à jour au moyen du programme. - checking, by means of a condensate given one of said condensate, of the integrity of at least a portion of the memory updated by the program.

Lorsque l'entité électronique comprend un processeur et une mémoire, la mémoire de l'entité électronique mémorise par exemple des instructions de programme exécutables par le processeur de l'entité électronique et conçues de sorte que l'entité électronique mette en œuvre les étapes de réception, de mémorisation, et de vérification mentionnées ci-dessus lorsque ces instructions sont exécutées par le processeur. When the electronic entity includes a processor and a memory, the memory of the electronic entity stores such executable program instructions by the processor and electronic entity designed so that the electronic entity implements the steps of receiving, storing, and verification mentioned above when these instructions are executed by the processor. L'invention propose enfin un appareil électronique comprenant une mémoire (ainsi qu'éventuellement un processeur) et une entité électronique telle que définie ci-dessus. The invention finally proposes an electronic apparatus comprising a memory (and optionally a processor) and an electronic unit as defined above.

Description detaillee d'un exemple de réalisation Detailed description of an embodiment

La description qui va suivre en regard des dessins annexés, donnés à titre d'exemples non limitatifs, fera bien comprendre en quoi consiste l'invention et comment elle peut être réalisée. The following description in the accompanying drawings, given by way of non-limiting example, explains in what the invention is and how it can be achieved.

Sur les dessins annexés : - la figure 1 représente schématiquement les éléments principaux d'un système dans lequel peut être mise en œuvre l'invention ; In the accompanying drawings: - Figure 1 schematically shows the main elements of a system in which can be implemented in the invention; - la figure 2 est un logigramme représentant un procédé de chargement d'un programme dans un appareil électronique ; - Figure 2 is a flowchart showing a method of loading a program in an electronic apparatus; - la figure 3 est un logigramme représentant un premier exemple de procédé de vérification de l'intégrité d'un tel programme ; - Figure 3 is a flowchart showing a first example of the integrity verification process of such a program; et - la figure 4 est un logigramme représentant un second exemple de procédé de vérification de l'intégrité d'un tel programme. and - Figure 4 is a flowchart showing a second example of the integrity verification process of such a program.

La figure 1 représente schématiquement les éléments principaux d'un système dans lequel peut être mise en œuvre l'invention. Figure 1 schematically shows the main elements of a system in which can be implemented the invention.

Dans un tel système, un appareil électronique 2 comprend un processeur 4 (par exemple un microprocesseur), une mémoire 6, un circuit de communication 8 et une entité électronique 10. In such a system, an electronic apparatus 2 includes a processor 4 (e.g. a microprocessor), a memory 6, a communication circuit 8, and an electronic entity 10.

La mémoire 6 est une mémoire non-volatile réinscriptible, par exemple de type mémoire flash. The memory 6 is a nonvolatile rewritable memory, eg flash memory type.

Comme cela sera expliqué plus en détail dans la suite, la mémoire 6 mémorise des données, et notamment des instructions d'un programme Pn exécutables par le processeur 4. Par mesure de concision, on écrira ainsi dans la suite que le programme Pn est exécutable par le processeur 4. As will be explained in more detail below, the memory 6 stores data, including executable instructions of a program Pn by the processor 4. measure of brevity, and we will write in the following that the program is executable Pn by the processor 4.

Lorsqu'il est exécuté par le processeur 4, le programme Pn permet la mise en œuvre de fonctionnalités par l'appareil électronique 2, par exemple des fonctionnalités prévues dans le cadre du fonctionnement normal de cet appareil électronique 2. Le programme Pn peut en outre permettre la mise en œuvre, par le processeur 4 de l'appareil électronique 2, de l'un au moins des procédés décrits ci-dessous en référence aux figures 2 à 4. When executed by the processor 4, the Pn program allows implementation of features by the electronic device 2, for example, features planned as part of the normal operation of this electronic device 2. The program may also Pn enable the implementation, by the processor 4 of the electronic apparatus 2, of at least one of the methods described below with reference to figures 2 to 4.

Le circuit de communication 8 est conçu de manière à établir une connexion de l'appareil électronique 2 à un réseau de communication, ici un réseau de communication public I tel que le réseau Internet. The communication circuit 8 is designed to establish a connection of the electronic apparatus 2 to a communication network, here a public communication network I as the Internet.

Par souci de simplification, on a représenté sur la figure 1 une connexion directe entre le circuit de communication 8 et le réseau de communication I. On peut toutefois prévoir en pratique que cette connexion s'établisse par l'intermédiaire d'autres dispositifs électroniques. For simplicity, there is shown in Figure 1 a direct connection between the communication circuit 8 and the communication network I. However, it may be provided in practice that this connection is made by means of other electronic devices. Par ailleurs, la connexion entre le circuit de communication 8 et le réseau de communication I pourra se faire au moyen de liaisons de différents types, par exemple des liaisons sans fil et/ou des liaisons filaires. Furthermore, the connection between the communication circuit 8 and the communication network I may be by means of links of different types, e.g. wireless links and / or wired connections.

Du fait de la connexion établie par le circuit de communication 8 au réseau de communication I, le processeur 4 peut échanger des données avec d'autres équipements connectés au réseau de communication I, en particulier avec un serveur distant 20, comme décrit dans la suite. Due to the connection established by the communication circuit 8 to the communication network I, the processor 4 can exchange data with other devices connected to the communication network I, in particular with a remote server 20, as described hereinafter .

Dans l'exemple décrit, l'entité électronique 10 est une entité électronique sécurisée, en l'occurrence un élément sécurisé (ou SE pour "Secure Elément'), réalisé ici sous la forme d'un microcontrôleur. Un tel élément sécurisé peut éventuellement être intégré à l'appareil électronique 2, par exemple en étant soudé au sein de l'appareil électronique : l'entité électronique 10 est alors de type eSE (pour "embedded Secure Elément'). In the example described, the electronic entity 10 is a secure electronic entity, namely a secure element (SE or for "Secure Element), produced here in the form of a microcontroller. Such a secure element may be incorporated into the electronic device 2, for example by being welded within the electronic device: the electronic entity 10 is then of type (ESE for "embedded Secure element ').

En variante, l'entité électronique 10 pourrait être une carte à microcircuit (par exemple une carte à microcircuit universelle ou UICC pour "Universal Integrated Circuit Card', telle que visée dans la spécification technique ETSI TS Alternatively, the electronic entity 10 could be a smart card (eg a universal smart card or UICC "Universal Integrated Circuit Card ', as referred to in the technical specification ETSI TS

102 221), ou une carte à microcircuit universelle soudée ou eUlCC pour "embedded Universal Circuit Card' (telle que décrite dans la norme ETSI TS 103 383). L'entité électronique 10 comprend un processeur (par exemple un microprocesseur) et au moins une mémoire, notamment ici une mémoire non-volatile réinscriptible. Cette mémoire mémorise en particulier des instructions conçues de telle sorte que l'entité électronique 10 puisse mettre en œuvre l'un au moins des procédés décrits ci-dessous en références aux figures 2 à 4 lorsque ces instructions sont exécutées par le processeur de l'entité électronique 10. 102 221), or a welded universal microcircuit card or eUlCC for "Universal embedded Circuit Card (as described in the ETSI TS 103 383). The electronic entity 10 comprises a processor (e.g. a microprocessor) and at least a memory, in particular by a non-volatile rewritable memory. the memory stores instructions adapted particularly so that the electronic entity 10 may implement at least one of the methods described below with reference to figures 2 to 4 when these instructions are executed by the electronic entity processor 10.

La mémoire de l'entité électronique 10 mémorise également des données utilisées au cours de son fonctionnement, en particulier une clé publique PKS associée au serveur 20, une clé secrète de déchiffrement Sdec et, comme cela sera décrit ci-après, des éléments de diversification η et des condensais Hnj associés. The memory of the electronic entity 10 also stores data used during operation, in particular a public key PKS associated with the server 20, a secret key decryption and ESDP, as described below, diversification elements η and associated condensates JST. Dans certains modes de réalisation, la mémoire de l'entité électronique mémorise aussi une clé privée SK spécifique à l'entité électronique 10. In some embodiments, the memory of the electronic entity also stores a private key SK specific to the electronic entity 10.

Comme déjà indiqué, l'entité électronique 10 est ici sécurisée, c'est-à-dire que cette entité électronique 10 est conçue, du fait de sa construction physique et de la conception des programmes d'ordinateur qu'elle mémorise, de façon à rendre très difficile, voire impossible, pour un attaquant l'accès (par lecture et/ou modification) aux données confidentielles qu'elle mémorise. As already indicated, the electronic entity 10 here is secure, that is to say that the electronic entity 10 is designed, due to its physical construction and design of computer programs that she remembers so to make it very difficult or impossible for an attacker access (read and / or modification) to confidential data it stores. Ainsi, l'entité électronique 10 présente un niveau de sécurité conforme aux critères communs EAL (pour "Evaluation Assurance Lever), correspondant à la norme ISO 15408, avec un niveau supérieur ou égal à 4, ou à la norme FIPS (pour "Fédéral Information Processing Standard') 140-2. Thus, the electronic entity 10 has a security level complies with Common Criteria EAL (for "Sunrise Evaluation Assurance), corresponding to ISO 15408, with a level greater than or equal to 4, or FIPS (for" Federal information Processing Standard ') 140-2.

Lors d'une phase de préparation de l'appareil électronique 2 en vue de son fonctionnement (ou phase de personnalisation), une version initiale Po du programme embarqué dans l'appareil électronique 2 est écrite dans la mémoire 6 et un condensât correspondant H0 est écrit dans la mémoire de l'entité électronique 10. During a preparation phase of the electronic apparatus 2 for its operation (or personalization phase), an initial version Po embedded in the electronic apparatus program 2 is written in the memory 6 and a corresponding hash H0 is written in memory of the electronic entity 10.

Le condensât Ho est par exemple produit par application d'une fonction de hachage G à la version initiale P0 : H0 = G(P0). The condensate Ho is for example produced by applying a hash function G to the initial version P0: H0 = G (P0). Cette fonction de hachage G peut être par exemple une fonction de la famille SHA-2 (NIST FIPS 180-4), ou de la famille SHA-3 (NIST FIPS 202). This hash function G can be for example a function of the SHA-2 family (NIST FIPS 180-4), or SHA-3 family (NIST FIPS 202). On pourrait également utiliser une fonction de type MAC (acronyme pour "Message Authentication Code"), par exemple de type H MAC (NIST FIPS 198-1) ou CMAC (NIST SP800-38B). We could also use a function of type MAC (acronym for "Message Authentication Code"), for example H-type MAC (NIST FIPS 198-1) or CMAC (NIST SP800-38B). Une telle fonction de type MAC utilise alors dans ce cas une clé secrète mémorisée dans l'entité électronique 10 Such type MAC function then uses in this case a secret key stored in the electronic entity 10

La figure 2 est un logigramme représentant un procédé de chargement d'un programme Pn dans l'appareil électronique 2 afin de mettre à jour le programme Pn-i embarqué dans cet appareil électronique 2. Figure 2 is a flowchart showing a method of loading a program Pn in the electronic apparatus 2 to update the Pn-i program embedded in the electronic device 2.

Ce procédé débute à l'étape E1 par la détermination, au sein du serveur 20, d'élément de diversification η (par exemple par tirage aléatoire) et de condensais Hn,i respectivement associés à ces éléments de diversification n. This method starts in step E1 by determining, in the server 20, of η diversification element (e.g., by random selection) and condensates Hn, i respectively associated with the diversification of n elements.

Chaque condensât Hn,i est déterminé en fonction de l'élément de diversification n concerné et du contenu prévu de la mémoire 6 après mémorisation du programme Pn, par exemple en appliquant une fonction de hachage F à la concaténation de l'élément de diversification associé n et du contenu de la mémoire (incluant le programme Pn) : Hn,i = F(n || M), où || Each condensate Hn, i is determined according to the diversification of n element concerned and the intended contents of the memory 6 after storing the program Pn, for example by applying a hash function F to the concatenation of the associated element of diversification n and the contents of the memory (including program Pn): Hn, i = F (n || M), where || est l'opérateur de concaténation et M le contenu (ou image mémoire) de la mémoire 6. is the concatenation operator and M is the content (or image) from the memory 6.

La fonction F est ici résistante aux attaques par recherche de second antécédent (en anglais "second-preimage résistant), c'est-à-dire que connaissant x, il est impossible en pratique de trouver un x' différent de x et tel que F(x) = F(x'). The function F here is resistant to attack by second search history (in English "second-preimage resistant), that is to say, knowing x, it is impossible in practice to find an x ​​'different from x and as F (x) = F (x ').

La fonction de hachage F peut être par exemple une fonction de la famille SHA-2 (NIST FIPS 180-4), ou de la famille SHA-3 (NIST FIPS 202). The hash function F can be for example a function of the SHA-2 family (NIST FIPS 180-4), or SHA-3 family (NIST FIPS 202). On pourrait également utiliser une fonction de type MAC (acronyme pour "Message Authentication Code"), par exemple de type H MAC (NIST FIPS 198-1 ) ou CMAC (NIST SP800-38B). We could also use a function of type MAC (acronym for "Message Authentication Code"), for example H-type MAC (NIST FIPS 198-1) or CMAC (NIST SP800-38B).

En variante, le condensât Hn,i peut être déterminé en appliquant au contenu M de la mémoire 6 une fonction de hachage F' de type MAC, par exemple de type H MAC (NIST FIPS 198-1) ou CMAC (NIST SP800-38B), au programme Pn concerné en utilisant l'élément de diversification n concerné en tant que clé sécrète dans cette fonction de type MAC : Hnj = F'ri(M). Alternatively, the condensate Hn, i may be determined by applying the M content of the memory 6 a hash function F 'of MAC type, for example of type H MAC (NIST FIPS 198-1) or CMAC (NIST SP800-38B ) to Pn program concerned using the diversification element n concerned as a secret key in this MAC function type: NYB = F'ri (M).

Le serveur 20 peut ainsi émettre à destination du processeur 4 de l'appareil électronique 2 le programme Pn, les paires élément de diversification η -condensât Hn,i et une signature (électronique) Sn de ces éléments (étape E2). The server 20 can thus be transmitted to the electronic device 4 of the processor 2 Pn program pairs diversification element η -condensât Hn, i and a signature (e) Sn of these elements (step E2). Une telle signature Sn est par exemple générée au niveau du serveur 20 par application d'un algorithme cryptographique de signature (utilisant une clé privée associée à la clé publique PKS déjà mentionnée) aux données représentant (éventuellement sous forme chiffrée comme indiqué ci-dessous) le programme Pn et les paires élément de diversification n - condensât Hn,i. Such a signature is for example Sn generated at the server 20 by applying a cryptographic signature algorithm (using a private key associated with the public key PKS already mentioned) for representing data (possibly encrypted form as shown below) Pn program and the pairs diversification element n - condensate Hn, i.

Les paires élément de diversification n - condensais Ηηί (ainsi qu'éventuellement le programme Pn) sont ici transmises sous forme chiffrée, par exemple par application (au niveau du serveur 20) d'un algorithme cryptographique de chiffrement utilisant la clé publique associée à la clé secrète de déchiffrement SDec (dans le cas où cette clé secrète de déchiffrement SDec est une clé privée de chiffrement asymétrique ; en variante, la clé secrète de déchiffrement Sdec pourrait être une clé symétrique partagée entre l'entité électronique 10 et le serveur 20, auquel cas l'algorithme cryptographique de chiffrement précité utiliserait lui aussi cette clé secrète de déchiffrement Sdec)· Pairs diversification element n - condensates Ηηί (and possibly the program Pn) are here transmitted in encrypted form, for example by applying (at the server 20) of a cryptographic encryption algorithm using the public key associated with the ESDP secret key decryption (if this secret key decryption of SDEC is a private key for asymmetrical encryption, alternatively, ESDP decrypting the secret key may be a symmetric key shared between the electronic entity 10 and the server 20, in which case the aforementioned encryption cryptographic algorithm would use him as the secret key decryption ESDP) ·

Le processeur 4 reçoit le programme Pn, les paires élément de diversification η - condensât Hnj et la signature Sn et les transmet à l'entité électronique 10 à l'étape E4. The processor 4 receives the program Pn, pairs diversification element η - HNJ condensate and Sn signature and transmits it to the electronic entity 10 in step E4. L'entité électronique 10 reçoit ainsi le programme Pn, les paires élément de diversification n - condensât Hn,i et la signature Sn à l'étape E6. The electronic entity 10 thus receives the program Pn, pairs diversification element n - condensate Hn, i and signature Sn in step E6. L'entité électronique 10 vérifie la signature Sn à l'étape E8 : pour ce faire, l'entité électronique 10 met en œuvre un algorithme cryptographique de vérification de signature impliquant les données reçues (représentant le programme Pn et les paires n, Hn,i) la signature reçue Sn et la clé publique PKs mémorisée dans la mémoire de l'entité électronique 10 (comme déjà indiqué). The electronic entity 10 verifies the signature Sn in step E8: to do this, the electronic entity 10 implements a cryptographic algorithm signature verification involving the received data (representing the program Pn and the even n, Hn, i) Sn received signature and the public key PKs stored in the memory of the electronic entity 10 (as already mentioned).

Si la vérification de signature échoue à l'étape E8, le procédé se poursuit par une étape E10 de traitement d'erreur : l'entité électronique 10 renvoie par exemple un message d'erreur au processeur 4 et le processeur 4 (sur lequel s'exécute le programme embarqué Pn-i) ne procède pas dans ce cas à l'installation du programme Pn reçu. If the signature verification fails in step E8, the method continues with a step of error processing E10: the electronic entity 10 returns for example an error message to the processor 4 and the CPU 4 (wherein s executes the embedded program Pn-i) does not conduct in this case to install the received program Pn.

Si la vérification de signature réussit à l'étape E8, les paires η, Hnj reçues (ainsi qu'éventuellement le programme Pn) sont déchiffrées par l'entité électronique 10 au moyen d'un algorithme cryptographique de déchiffrement utilisant la clé secrète de déchiffrement SDec, puis mémorisées dans la mémoire de l'entité électronique 10 (étape E12). If the signature verification is successful in step E8, the η pairs JST received (and possibly the program Pn) is decrypted by the electronic entity 10 using a cryptographic decryption algorithm using the secret decryption key ESDP, then stored in the memory of the electronic entity 10 (step E12).

Lorsque les condensais Hnj sont mémorisés dans l'entité électronique 10, l'entité électronique 10 transmet à l'étape E14 le programme Pn (éventuellement déchiffré) au processeur 4 (accompagné éventuellement d'un message indicatif de bon fonctionnement). When NYB condensates are stored in the electronic unit 10, the electronic entity 10 transmits in step E14 the program Pn (optionally decrypted) to the processor 4 (possibly accompanied by a message indicative of correct operation).

Le processeur 4 reçoit le programme Pn (et éventuellement le message indicatif de bon fonctionnement) à l'étape E16 et procède alors à la mise à jour du programme embarqué au moyen du programme reçu Pn (étape E18), par exemple en mémorisant le programme reçu Pn dans la mémoire 6 susmentionnée. The processor 4 receives the program Pn (and possibly the message indicative of correct operation) in step E16, and then proceeds to update the embedded program with the received program Pn (step E18), for example by storing the program Pn received in the aforementioned memory 6.

La figure 3 est un logigramme représentant un premier exemple de procédé de vérification de l'intégrité du programme Pn embarqué dans l'appareil électronique 2. L'entité électronique 10 initie à l'étape E20 le processus de vérification d'intégrité du programme embarqué Pn en transmettant l'un des éléments de diversification n au processeur 4. Figure 3 is a flowchart showing a first exemplary method of verifying the integrity of Pn embedded program in the electronic apparatus 2. The electronic entity 10 initiates in step E20 the verification process of the integrity of embedded program Pn by transmitting one of the diversification of n elements to the processor 4.

Cette étape d'initiation E20 peut être en pratique déclenchée (de manière automatique) périodiquement par l'entité électronique 10 (par exemple à l'expiration d'un compteur qui est réinitialisé à une valeur prédéterminée dès que l'étape d'initiation E20 est déclenchée). This initiation step E20 may be in practice initiated (automatically) periodically by the electronic entity 10 (e.g. at the expiry of a counter which is reset to a predetermined value as soon as the initiation step E20 is triggered). L'élément de diversification n envoyé à l'étape E20 peut être choisi à chaque itération de l'étape E20 (et parmi les divers éléments de diversification ri mémorisés dans l'entité électronique 10) selon un ordre prédéfini ou, en variante, par sélection aléatoire. The element of diversification n sent in step E20 may be selected in each iteration of step E20 (and ri diversification among the various items stored in the electronic entity 10) in a predefined order or, alternatively, by random selection.

Le processeur 4 reçoit ainsi cet élément de diversification n à l'étape E22. The processor 4 thus receives this diversification part No in step E22.

Le processeur 4 détermine alors à l'étape E24 le condensât H'n,i associé à cet élément de diversification n et au contenu courant M' (ou image mémoire) de la mémoire 6 (tel que mis à jour par le programme Pn selon le procédé décrit ci-dessus en référence à la figure 2). The processor 4 then determines at step E24 the condensate H'n, i associated to this diversification element n and content stream M '(or image) from the memory 6 (as updated by the program according Pn the method described above with reference to Figure 2). Dans l'exemple décrit ici, le condensât H'n,i est déterminé en utilisant la fonction de hachage F mentionnée plus haut (dans le cadre de la détermination du condensât correspondant Hn,j mémorisé dans l'entité électronique 10), par exemple selon la formule : H'n,i = F(n || M'). In the example described herein, the condensate H'n, i is determined using the hash function F mentioned above (in the context of determining the condensate corresponding Hn, j stored in the electronic entity 10), e.g. according to the formula: H'n, i = F (n || M ').

Le processeur 4 transmet alors à l'entité électronique 10 le condensât H'nj ainsi déterminé (étape E26). The processor 4 then transmits to the electronic unit 10 the condensate H'nj thus determined (step E26). L'entité électronique 10 reçoit à l'étape E28 le condensât H'„,i déterminé par le processeur 4 et compare à l'étape E30 ce condensât H'n,i au condensât Hn,j mémorisé (lors de l'étape E12 décrite plus haut) dans la mémoire de l'entité électronique 10 en association avec l'élément de diversification η (choisi à l'étape E20). The electronic entity 10 receives in step E28 condensate H '' i determined by the processor 4 and compares in step E30 H'n this condensate, the condensate Hn i, j stored (at step E12 described above) in the memory of the electronic unit 10 in association with the diversification η element (selected in step E20).

Si le condensât H'n i reçu par l'entité électronique 10 est identique au condensât Hn,i mémorisé dans l'entité électronique 10, c'est que le contenu courant M' de la mémoire 6 est identique au contenu prévu M pour la mémoire 6 (après mise à jour par le programme Pn) et l'intégrité de la mémoire 6 est donc vérifiée. If the condensate H'n i received by the electronic unit 10 is identical to the condensate Hn, i stored in the electronic unit 10 is that the current content M 'of the memory 6 is identical to the intended contents M for 6 memory (after updating the program Pn) and the integrity of the memory 6 is checked. On procédera alors ultérieurement à une autre vérification d'intégrité, initiée par une nouvelle mise en œuvre de l'étape E20 comme déjà indiqué. It later then conduct another audit integrity, initiated by a new implementation step E20 as already indicated.

Si le condensât H'n,i reçu par l'entité électronique 10 diffère du condensât Hn,i mémorisé dans l'entité électronique 10, cela indique que le contenu de la mémoire 6 a été altéré et on procède alors à un traitement d'erreur à l'étape E32. If the condensate H'n, i received by the electronic unit 10 differs from the condensate Hn, i stored in the electronic entity 10, this indicates that the contents of the memory 6 has been altered and is then carried to a treatment of error in step S32.

Un tel traitement d'erreur E32 comprend par exemple l'émission d'un message destiné au processeur 4 et interdisant la mise en œuvre par le processeur 4 de certaines fonctionnalités (jugées critiques, telles que par exemple des fonctionnalités de paiement). Such E32 error processing example includes transmitting a message to the processor 4 and prohibiting the implementation by the processor 4 of certain features (considered critical, such as for example payment features).

En variante, dans les modes de réalisation où le processeur 4 nécessite une autorisation ou une action de l'entité électronique 10 pour effectuer toute fonctionnalité critique, le traitement d'erreur de l'étape E32 peut comprendre une inhibition de la délivrance de telles autorisations ou de la mise en œuvre de telles actions par l'entité électronique 10. Alternatively, in embodiments where the processor 4 requires authorization or action of the electronic entity 10 to perform any critical functionality, error processing step E32 may include inhibition of issuing such permits or such actions implemented by the electronic entity 10.

Le processeur 4 peut commander en outre à l'étape E34 l'affichage, sur une interface utilisateur (non représentée) de l'appareil électronique 2, d'un message (ou autre indication) signalant un risque d'attaque. The processor 4 may further order in step E34 displaying on a user interface (not shown) of the electronic apparatus 2, a message (or other indication) indicating a risk of attack.

On remarque que de telles mesures de protection sont mises en œuvre même lorsqu'aucune connexion n'est établie par le circuit de communication 8. Note that such protective measures are implemented even when no connection is established by the communication circuit 8.

On peut prévoir en outre que, dès lors qu'une connexion est établie sur un réseau de communication par le circuit de communication 8, l'entité électronique commande au processeur 4 l'émission d'un message d'erreur ERR à destination du serveur 20 (étape E36). One may further provide that, when a connection is established over a communication network through the communication circuit 8, the electronic control unit 4 to the processor issuing an ERR error message to the server 20 (step E36).

Un tel message d'erreur est ainsi émis par l'appareil électronique 2 (sous la commande du processeur 4 et via le circuit de communication 8) à destination du serveur 20 (étape E38). Such an error message is thus transmitted by the electronic apparatus 2 (under control of the processor 4 and via the communication circuit 8) to the server 20 (step E38).

Le serveur 20 reçoit ce message d'erreur et peut ainsi mettre en oeuvre une étape de traitement du défaut d'intégrité (étape E40), qui peut comprendre par exemple une ou plusieurs des actions suivantes selon les circonstances : - lancement d'une mise à jour du programme embarqué (comme décrit ci-dessus à la figure 2) ; The server 20 receives the error message and thus can implement a step of processing the lack of integrity (step E40), which may comprise for example one or more of the following as appropriate: - launching a bid update the embedded program (as described above in Figure 2); - annulation de droits ou autorisations associé(s) à l'appareil électronique 2. - cancellation of associated rights or authorizations (s) to the electronic device 2.

La figure 4 est un logigramme représentant un second exemple de procédé de vérification de l'intégrité du programme Pn embarqué dans l'appareil électronique 2. Figure 4 is a flowchart showing a second example of method of verifying the integrity of Pn embedded program in the electronic device 2.

Ce procédé débute à l'étape E50 à laquelle le serveur 20 envoie une valeur de défi CH à destination de l'appareil électronique 2. Le serveur 20 envoie par exemple la valeur de défi CH au sein d'une requête de vérification d'intégrité du programme embarqué Pn destinée au processeur 4. This method starts in step E50 at which the server 20 sends a challenge value CH to the electronic apparatus 2. The server 20 sends for example the challenge value CH in an integrity check request embedded program for the processor Pn 4.

Le processeur 4 reçoit cette requête et la valeur de défi CH et initie alors le processus de vérification d'intégrité du programme embarqué Pn en transmettant la valeur de défi reçue CH à l'entité électronique 10 (étape E52). The processor 4 receives this request and the challenge value CH and then initiates the embedded program integrity verification process Pn by transmitting the received challenge value CH in the electronic entity 10 (step E52). L'entité électronique 10 reçoit la valeur de défi CH à l'étape E54. The electronic entity 10 receives the challenge value CH in step E54. L'entité électronique 10 choisit alors (étape E55) un élément de diversification η parmi la pluralité d'éléments de diversification mémorisés dans la mémoire de l'entité électronique (lors de l'étape E12). The electronic entity 10 then selects (step E55) a diversification element η diversification among the plurality of items stored in the memory of the electronic entity (at step E12). L'élément de diversification n est par exemple choisi aléatoirement parmi les éléments de diversification mémorisés. The n diversification element is for example selected randomly among the diversification items stored. En variante, les éléments de diversification sont successivement choisis au fur et à mesure des différentes mises en œuvre du procédé de vérification d'intégrité décrit ici. Alternatively, the diversification elements are successively selected to progressively different implementations of the integrity verification method described herein. L'entité électronique 10 transmet l'élément de diversification choisi n au processeur 4 à l'étape E56. The electronic entity 10 transmits the diversification element selected n to the processor 4 in step E56.

Le processeur 4 reçoit l'élément de diversification n à l'étape E58 et peut ainsi déterminer à l'étape E60 le condensât H'n,i associé à cet élément de diversification n et au contenu courant M' (ou image mémoire courante) de la mémoire 6. Dans l'exemple décrit ici, le condensât H'n,j est déterminé comme suit en utilisant la fonction de hachage F mentionnée plus haut (dans le cadre de la détermination du condensât correspondant Hn,i mémorisé dans l'entité électronique 10) : H'n.i = F(n || M'). The processor 4 receives the diversification element n at step E58 and can thus determine in step E60 condensate H'n, i associated to this diversification element n and content stream M '(or current image memory) of the memory 6. in the example described herein, the condensate H'n, j is determined as follows by using the hash function F mentioned above (in the context of determining the condensate corresponding Hn, i stored in the electronic entity 10): H'n.i = F (n || M ').

Le processeur 4 transmet alors à l'entité électronique 10 le condensât H'nj ainsi déterminé (étape E62). The processor 4 then transmits to the electronic unit 10 the condensate H'nj thus determined (step E62). L'entité électronique 10 reçoit à l'étape E64 le condensât H'n,j déterminé par le processeur 4 et compare à l'étape E66 ce condensât H'n,i au condensât Hn,i mémorisé (lors de l'étape E12 décrite plus haut) dans la mémoire de l'entité électronique 10 en association avec l'élément de diversification n (choisi à l'étape E55). The electronic entity 10 receives in step E64 condensate H'n, j determined by the processor 4 and compares in step E66 H'n this condensate, the condensate Hn i, i stored (at step E12 described above) in the memory of the electronic unit 10 in association with the n diversification element (selected in step E55).

Si le condensât H'nj reçu par l'entité électronique 10 diffère du condensât Hn,i mémorisé dans l'entité électronique 10, cela indique que le programme Pn a été altéré et on procède alors à un traitement d'erreur à l'étape E68, par exemple en renvoyant un message d'échec au processeur 4. Le processeur 4 peut éventuellement transmettre à son tour dans ce cas un message d'erreur au serveur 20 (ce qui n'est toutefois pas nécessaire, puisqu'en l'absence de réception d'une réponse correcte à l'étape E76 décrite ci-dessous, le serveur 20 considère qu'un problème est survenu). If the condensate H'nj received by the electronic unit 10 differs from the condensate Hn, i stored in the electronic entity 10, this indicates that the program has been altered Pn and then proceeds to an error processing in step E68, for example by returning a failure message to the processor 4. The processor 4 may transmit in turn in this case an error message to the server 20 (which is however not necessary, since the absence of reception of a correct response to step E76 described below, the server 20 considers that an error has occured).

Si le condensât H'nj reçu par l'entité électronique 10 est identique au condensât Hn,i mémorisé dans l'entité électronique 10, l'entité électronique 10 détermine une valeur de réponse R en fonction de la valeur de défi CH (reçue à l'étape E54) et d'une clé secrète mémorisée dans l'entité électronique 10, ici la clé privée SK. If the condensate H'nj received by the electronic unit 10 is identical to the condensate Hn, i stored in the electronic unit 10, the electronic entity 10 determines a response value R depending on the challenge value CH (received step E54) and a secret key stored in the electronic entity 10, here the private key SK. La valeur de réponse R est par exemple obtenue par application à la valeur de défi CH d'un algorithme cryptographique (ici de signature) utilisant la clé secrète (ici la clé privée SK). R response value is for example obtained by applying to the challenge value CH of a cryptographic algorithm (signature here) using the secret key (here the private key SK).

On remarque que cette solution permet une vérification d'intégrité du contenu de la mémoire 6 par l'entité électronique 10 sans avoir à transférer ce contenu à l'entité électronique 10. L'entité électronique 10 transmet à l'étape E72 la valeur de réponse R au processeur 4. Le processeur 4 peut ainsi envoyer à l'étape E74 la valeur de réponse R (ici en tant que réponse à la requête de vérification mentionnée plus haut) au serveur 20. It is noted that this solution allows a content integrity check of the memory 6 by the electronic entity 10 without having to transfer this content to the electronic entity 10. The electronic entity 10 transmits in step E72 the value of response R to the processor 4. the processor 4 can thus send at step E74 the response value R (here as a response to the probe request mentioned above) to the server 20.

Le serveur 20 reçoit la valeur de réponse R à l'étape E76. The server 20 receives the response value R in step E76.

Le serveur 20 peut donc vérifier que cette valeur de réponse R a bien été émise par l'entité électronique 10 sur la base de la valeur de défi CH (étape E78), ici en appliquant à la valeur de défi CH et à la valeur de réponse R un algorithme de vérification de signature utilisant la clé publique associée à la clé privée SK. The server 20 can thus check that the response value R has been emitted by the electronic entity 10 based on the challenge value CH (step E78), by applying to the value of CH challenge and the value of R answer a signature verification algorithm using the public key associated with the private key SK.

Si la valeur de réponse R est la réponse attendue (ie associée à la valeur de défi CH envoyée à l'étape E50), ceci indique que l'entité électronique 10 a effectivement vérifié l'intégrité du programme Pn à l'étape E66 et l'appareil électronique 2 peut donc continuer à être utilisé sans risque. If the response R value is the expected response (ie associated with CH challenge value sent in step E50), this indicates that the electronic entity 10 has actually checked the integrity of the Pn program at step E66 and the electronic device 2 can continue to be used safely. Le serveur 20 peut ultérieurement lancer (à l'étape E50) une nouvelle vérification de l'intégrité du programme embarqué Pn. The server 20 may start later (at step E50) a new integrity check of the onboard program Pn.

Si la valeur de réponse R n'est pas la valeur attendue (ou si aucune réponse n'est reçue de l'appareil électronique 20 après un laps de temps donné par rapport à l'étape E50), ceci indique que l'entité électronique 10 n'a pas vérifié l'intégrité du programme embarqué Pn et on considère donc alors que le programme embarqué Pn est altéré (que ce soit fortuitement ou suite à une attaque). If the response R value is not the expected value (or if no response is received from the electronic apparatus 20 after a given period of time with respect to step E50), this indicates that the electronic entity 10 did not verify the integrity of the embedded program Pn and is therefore considered as the onboard program Pn is altered (either by accident or following an attack).

On procède donc dans ce cas à une étape E80 de traitement du défaut d'intégrité, qui peut comprendre une ou plusieurs des actions suivantes selon les circonstances : - lancement d'une mise à jour du programme embarqué (comme décrit ci-dessus à la figure 2) ; It thus proceeds in this case a step E80 processing integrity defect, which may include one or more of the following actions as appropriate: - launching an update of the embedded program (as described above in FIG 2); - annulation de droits ou autorisations associé(s) à l'appareil électronique 2; - cancellation of associated rights or authorizations (s) to the electronic device 2; - signalisation d'un risque d'attaque à un utilisateur de l'appareil électronique 2. - signaling a risk of attack to a user of the electronic device 2.

Claims (11)

  1. REVENDICATIONS
    1. Procédé de vérification de l'intégrité de données mémorisées dans une mémoire (6) d'un appareil électronique (2), caractérisé en ce qu'il comprend les étapes suivantes : - réception (E4), par l'appareil électronique (2), d'au moins une partie de programme (Pn), d'une pluralité d'éléments de diversification (n) et de condensais (Hn,i) respectivement associés auxdits éléments de diversification ; 1. A method of verifying the integrity of data stored in a memory (6) of an electronic apparatus (2), characterized in that it comprises the following steps: - reception (E4), by the electronic apparatus ( 2), at least part of a program (Pn), a plurality of diversification members (n) and condensate (Hn, i) respectively associated with said diversification elements; - mémorisation (E12) desdits éléments de diversification (η) et desdits condensais (Hn,j) dans une entité électronique (10) équipant l'appareil électronique (2) et distincte de ladite mémoire (6) ; - storing (E12) of said diversification elements (η) and said condensate (Hn, j) in an electronic entity (10) equipping the electronic apparatus (2) and distinct from said memory (6); - vérification (E20, E24, E30 ; E56, E60, E66), par l'entité électronique (10) et au moyen d'un condensât donné (Hn,i) parmi lesdits condensais, de l'intégrité d'une partie au moins de la mémoire (6) mise à jour au moyen du programme (Pn). - verification (E20, E24, E30; E56, E60, E66), by the electronic entity (10) and by means of a given condensate (Hn, i) of said condensate, of the integrity of a party to within the memory (6) updating by means of the program (Pn).
  2. 2. Procédé de vérification selon la revendication 1, dans lequel l'étape de vérification comprend les sous-étapes suivantes : - transmission (E20 ; E56) d'un élément de diversification (n) associé au condensât donné (n) de l'entité électronique (10) à un processeur (4) de l'appareil électronique (2) ; 2. The verification method according to claim 1, wherein the verification step comprises the following sub-steps: - transmitting (E20; E56) of a diversification element (n) associated with the given condensate (n) of the electronic entity (10) to a processor (4) of the electronic apparatus (2); - détermination (E24 ; E60) d'un condensât (H'n,i) par le processeur (4) en fonction de l'élément de diversification (n) et desdites données mémorisées dans la mémoire (6) ; - determining (E24; E60) of a condensate (H'n, i) by the processor (4) as a function of the diversification element (n) and said data stored in the memory (6); - comparaison (E30 ; E66) du condensât déterminé (H'nj) et du condensât donné (Hnj) mémorisé dans l'entité électronique (10). - comparison (E30; E66) the determined condensate (H'nj) and given condensate (NYB) stored in the electronic entity (10).
  3. 3. Procédé de vérification selon la revendication 2, dans lequel le condensât (H'nj) est déterminé par le processeur (4) par application d'une fonction de hachage à la concaténation de l'élément de diversification (η) et desdites données mémorisées dans la mémoire (6). 3. The verification method according to claim 2, wherein the condensate (H'nj) is determined by the processor (4) by applying a hash function to the concatenation of the diversification element (η) and said data stored in the memory (6).
  4. 4. Procédé de vérification selon la revendication 2, dans lequel le condensât (H'nj) est déterminé par le processeur (4) par application d'une fonction cryptographique utilisant l'élément de diversification (n) auxdites données mémorisées dans la mémoire (6). 4. The verification method according to claim 2, wherein the condensate (H'nj) is determined by the processor (4) by applying a cryptographic function using the diversification member (n) to said data stored in the memory ( 6).
  5. 5. Procédé de vérification selon l'une des revendications 1 à 4, comprenant une étape de traitement d'erreur (E32), mise en œuvre par l'entité électronique (10), en cas d'échec à l'étape de vérification. 5. The verification method according to one of claims 1 to 4, comprising an error processing step (E32), implemented by the electronic entity (10), in case of failure in the checking step .
  6. 6. Procédé de vérification selon l'une des revendications 1 à 5, comprenant en outre les étapes suivantes : - réception (E54), en provenance d'un serveur distant (20), d'une valeur de défi (CH) par l'entité électronique (10) ; 6. The verification method according to one of claims 1 to 5, further comprising the steps of: - receiving (E54), from a remote server (20), a challenge value (CH) by electronic entity (10); - en cas de succès à l'étape de vérification, détermination (E70), par l'entité électronique (10), d'une valeur de réponse (R) en fonction de la valeur de défi (CH) et d'une clé (SK) mémorisée dans l'entité électronique (10) ; - in case of success to the checking step, determining (E70), by the electronic entity (10) a response value (R) depending on the challenge value (CH) and a key (SK) stored in the electronic entity (10); - émission (E72, E74) de la valeur de réponse (R) à destination du serveur distant (20). - transmitting (E72, E74) of the response value (R) to the remote server (20).
  7. 7. Procédé de vérification selon la revendication 6, dans lequel la valeur de réponse (R) est déterminée par application, à la valeur de défi (CH) reçue, d'un algorithme cryptographique utilisant la clé mémorisée (SK) dans l'entité électronique (10). 7. The verification method according to claim 6, wherein the response value (R) is determined by applying to the challenge value (CH) received, a cryptographic algorithm using the stored key (SK) in the entity electronics (10).
  8. 8. Procédé de vérification selon l'une des revendications 1 à 7, dans lequel l'entité électronique (10) est un élément sécurisé. 8. The verification method according to one of claims 1 to 7, wherein the electronic entity (10) is a secure element.
  9. 9. Procédé de vérification selon l'une des revendications 1 à 8, dans lequel l'entité électronique (10) est intégrée à l'appareil électronique (2). 9. A method of checking according to one of claims 1 to 8, wherein the electronic entity (10) is incorporated into the electronic device (2).
  10. 10. Entité électronique (10) destinée à équiper un appareil électronique (2) comprenant une mémoire (6), et conçue pour mettre en œuvre les étapes suivantes : - réception d'au moins une partie de programme (Pn), d'une pluralité d'éléments de diversification (η) et de condensais (Hn,i) respectivement associés auxdits éléments de diversification ; 10. Electronic entity (10) intended to equip an electronic apparatus (2) comprising a memory (6), and designed to implement the following steps: - receiving at least part of a program (Pn), a diversification plurality of elements (η) and condensate (Hn, i) respectively associated with said diversification elements; - mémorisation desdits éléments de diversification (n) et desdits condensais (Hnj) ; - storing said diversification members (n) and said condensate (NYB); - vérification, au moyen d'un condensât donné (Hnj) parmi lesdits condensais, de l'intégrité d'une partie au moins de la mémoire (6) mise à jour au moyen du programme (Pn). - checking by means of a given condensate (NYB) of said condensate, of the integrity of at least a portion of the memory (6) updating by means of the program (Pn).
  11. 11. Appareil électronique (2) comprenant une mémoire (6) et une entité électronique (10) selon la revendication 10. 11. An electronic apparatus (2) comprising a memory (6) and an electronic entity (10) according to claim 10.
FR1662943A 2016-12-20 2016-12-20 A method of verifying the integrity of data, and electronic entity associated electronic device comprising such electronic entity Pending FR3060806A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1662943A FR3060806A1 (en) 2016-12-20 2016-12-20 A method of verifying the integrity of data, and electronic entity associated electronic device comprising such electronic entity

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1662943A FR3060806A1 (en) 2016-12-20 2016-12-20 A method of verifying the integrity of data, and electronic entity associated electronic device comprising such electronic entity

Publications (1)

Publication Number Publication Date
FR3060806A1 true FR3060806A1 (en) 2018-06-22

Family

ID=58737644

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1662943A Pending FR3060806A1 (en) 2016-12-20 2016-12-20 A method of verifying the integrity of data, and electronic entity associated electronic device comprising such electronic entity

Country Status (1)

Country Link
FR (1) FR3060806A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
US20150134976A1 (en) * 2013-11-13 2015-05-14 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
FR3030831A1 (en) * 2014-12-23 2016-06-24 Oberthur Technologies Secure electronic entity, electronic device and method of verifying the integrity of data stored in such a secure electronic entity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
US20150134976A1 (en) * 2013-11-13 2015-05-14 Via Technologies, Inc. Event-based apparatus and method for securing bios in a trusted computing system during execution
FR3030831A1 (en) * 2014-12-23 2016-06-24 Oberthur Technologies Secure electronic entity, electronic device and method of verifying the integrity of data stored in such a secure electronic entity

Similar Documents

Publication Publication Date Title
JP4906854B2 (en) The information processing apparatus, information recording apparatus, an information processing system, program updates METHOD, PROGRAM, AND INTEGRATED CIRCUIT
US7546468B2 (en) Program update method and server
DK2885904T3 (en) A method of user-convenient and authentication apparatus that uses a mobile application to authenticate
EP0621569B1 (en) Device for and method of protecting the keys of a chip card
EP1529369B1 (en) Method for secure data exchange between two devices
CN102947795B (en) System and method for secure cloud computing
US7231044B2 (en) Method and apparatus for real-time digital certification of electronic files and transactions using entropy factors
JP6332970B2 (en) System and method for updating the secure software
EP2241085B1 (en) Method for authentication and signature of a user in an application service using a mobile telephone as a second factor in addition to and independently from a first factor
US20100083001A1 (en) Auditor Assisted Extraction And Verification Of Client Data Returned From A Storage Provided While Hiding Client Data From The Auditor
US6950523B1 (en) Secure storage of private keys
US7779103B1 (en) Dual cookie security system
CN1707999B (en) Distributed management of a certificate revocation list
US9608818B2 (en) Cryptographic communication system and cryptographic communication method
KR20080085231A (en) Network security system and method
CN103229451A (en) Method and apparatus for key provisioning of hardware devices
FR2968799A1 (en) Method and execution control device for internal functions and Protected embedded applications in microchip cards for mobile devices
EP1549011A1 (en) Communication method and system between a terminal and at least a communication device
EP1471753A1 (en) Method for securing a mobile terminal and for control of functions requiring an high degree of security
CN102713926B (en) Sensitive information leakage prevention system and method
EP1372120B1 (en) Authentification of electronic ticket
US20130152180A1 (en) Device using secure processing zone to establish trust for digital rights management
CN101040275A (en) Contents encryption method, system and method for providing contents through network using the encryption method
EP1687717B1 (en) Secured start-up of an electronic device having an smp architecture
US20010033657A1 (en) Method and systems for identifying the existence of one or more unknown programs in a system

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Search report ready

Effective date: 20180622