Data protection
A secure device provides a software module with encryption keys to an electronic device, ensuring only the secure device can decrypt sensitive data, addressing the issue of unauthorized access and maintaining data security.
Patent Information
- Application Number
- FR2024001383
- Authority / Receiving Office
- FR · FR
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-13
- Publication Date
- 2025-08-15
AI Technical Summary
Existing methods for securing data access in electronic devices are inadequate, allowing unauthorized access to sensitive data by external devices.
A secure device provides a software module with a public key and authentication value to an electronic device, enabling secure installation and encryption of software, followed by asymmetric and symmetric encryption of data to ensure only the secure device can decrypt it.
Ensures secure and exclusive access to sensitive data by the secure device, preventing unauthorized access and maintaining data integrity and confidentiality.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Title of the invention: Data protection Technical field
[0001] The present description relates generally to the protection of sensitive data of an electronic device. Prior art
[0002] When a software module from an original device is installed in an electronic device, it may be desirable for the original device to have access to data associated with the software.
[0003] It is important that access to this data is carried out securely. In particular, it is important that the data cannot be used by an external device other than the original device. Summary of the invention
[0004] One embodiment provides a method comprising: - the provision of a software module by a secure device to an electronic device, the software module comprising an installation module of a first software, a first public key and an authentication value of the software module; - verification of the software module based on the authentication value; - if the verification is successful, installing the first software in a memory of the electronic device in association with the first public key, the first public key being used to encrypt data values associated with the first software.
[0005] According to one embodiment, the above method further comprises: - the provision to the secure device, by the electronic device, of the data values associated with the first software and encrypted by means of the first public key; - decryption, by the secure device using a first private key stored in the secure device, of the encrypted data values.
[0006] According to one embodiment, the memory of the electronic device comprises a memory configured to store a symmetric key, the method further comprising: - symmetric encryption of the data associated with the first software by means of the first symmetric key; - asymmetric encryption of the first symmetric key via the first public key; - the provision, by the electronic device, of the data values, associated with the first software, encrypted and of the encrypted symmetric key to the secure device; - decryption of the encrypted symmetric key using a first private key stored in the secure device; and - decryption of the data values associated with the first software by the secure device and by means of the decrypted symmetric key.
[0007] According to one embodiment, the symmetric key is a random value generated by a random number generator of the electronic device.
[0008] According to one embodiment, the provision of encrypted data values to the secure device takes place following the reception of data by the first software.
[0009] According to one embodiment, the data associated with the first software comprises one or more historical data of the operation of the first software.
[0010] According to one embodiment, the installation of the first software, in a memory of the electronic device in association with the first public key, is carried out in a secure memory of the secure device.
[0011] According to one embodiment, the software module further comprises a module for installing one or more second software programs and one or more associated second public keys, and in which, if the verification is successful, the one or more second software programs are installed in the memory of the electronic device in association with the one or more second public keys, the one or more second public keys being used to encrypt data values associated with the one or more second software programs.
[0012] According to one embodiment, the verification of the software module comprises: - the calculation of a signature value of the software module, via a public signature key; - comparing the signature value with the authentication value; and - if the two values match, validation of the authenticity of the software module.
[0013] One embodiment provides a system comprising a secure device and an electronic device, the secure device being configured to: store a first private key; providing a software module to the electronic device, the software module comprising a module for installing a first software, a first public key, associated with the first private key, and an authentication value of the software module, the electronic device being configured to: verifying the software module based on the authentication value; and if the verification is successful, installing the first software in a memory of the electronic device in association with the first public key, the first key public being used to encrypt data values associated with the first software.
[0014] According to one embodiment, the electronic device is further configured to; - encrypt data associated with the first software, via the first public key; and - providing the encrypted data to the secure device, the secure device being further configured to decrypt the encrypted data via the first private key.
[0015] According to one embodiment, the electronic device is configured to provide the encrypted data to the secure device following the initiation of a debugging procedure.
[0016] According to one embodiment, the data associated with the first software are historical data of the operation of the first software.
[0017] One embodiment provides an electronic device comprising: - a memory in which a first software program is installed, the memory further storing a first public key associated with the first software program, the private key associated with the public key being stored only in a secure device, external to the electronic device; and - a cryptographic circuit configured to encrypt data associated with the first software via the first public key, the device being further configured to provide the encrypted data to the secure device following a debugging procedure.
[0018] According to one embodiment, the above electronic device further comprises a symmetric key, stored in the memory and in which the cryptographic circuit is configured to: - perform symmetric encryption of the data associated with the first software by means of the symmetric key; and - perform asymmetric encryption of the symmetric key, using the first public key, the electronic device being further configured to provide, with the encrypted symmetric key, the data associated with the first encrypted software to the secure device. Brief description of the drawings
[0019] These characteristics and advantages, as well as others, will be explained in detail in the following description of particular embodiments given without limitation in relation to the attached figures among which:
[0020] [Fig.l] is a block diagram representing a system according to a mode of rea- reading of this description;
[0021] [Fig.2] illustrates steps of providing and installing a software module according to an embodiment of the present description;
[0022] [Fig.3] illustrates steps for encrypting and providing sensitive data according to an embodiment of the present description;
[0023] [Fig.4] illustrates steps of encrypting and providing sensitive data according to another embodiment of the present description; and
[0024] [Fig.5] is a flowchart illustrating steps of a method for protecting data according to an embodiment of the present description. Description of the embodiments
[0025] The same elements have been designated by the same references in the different figures. In particular, the structural and / or functional elements common to the different embodiments may have the same references and may have identical structural, dimensional and material properties.
[0026] For the sake of clarity, only the steps and elements useful for understanding the described embodiments have been shown and are detailed. In particular, the cryptographic methods, for example implementing asymmetric and / or symmetric encryption and decryption, are known to those skilled in the art and are not described in detail.
[0027] Unless otherwise specified, when referring to two elements connected to each other, this means directly connected without intermediate elements other than conductors, and when referring to two elements connected (in English "coupled") to each other, this means that these two elements can be connected or be connected by means of one or more other elements.
[0028] In the following description, when reference is made to absolute position qualifiers, such as the terms "front", "back", "top", "bottom", "left", "right", etc., or relative position qualifiers, such as the terms "above", "below", "upper", "lower", etc., or to orientation qualifiers, such as the terms "horizontal", "vertical", etc., reference is made unless otherwise specified to the orientation of the figures.
[0029] Unless otherwise specified, the expressions "about", "approximately", "substantially", and "of the order of" mean to within 10%, preferably to within 5%.
[0030] [Fig.l] is a block diagram showing a system 100 according to one embodiment of the present disclosure. In particular, the system 100 comprises an electronic device 102 and a secure device 104.
[0031] By way of example, the device 102 is an unsecured electronic device and, for example, may be the target of an attack aimed at obtaining sensitive data stored by the device 102. By way of example, the electronic device 102 is a smartphone, a connected object, a microcircuit card, etc.
[0032] For example, the device 104 is a device operating in a secure environment, or comprising a secure circuit. For example, the device 104 is a computer. In this example, the secure device 104 is configured to extract data from the device 102 and to exploit it.
[0033] In another example, another unsecured device (not shown in [Fig.l]) is for example positioned between the devices 102 and 104. The other unsecured device is configured to extract data from the device 102 and to provide the data to the secure device 104, which is then configured to exploit the data.
[0034] The electronic devices 102 and 104 comprise, for example, respectively an interface 106 and an interface 108. The interfaces 106 and 108 are, for example, serial wired communication ports, such as USB (Universal Serial Bus) or USB-C ports, or other types of wired communication ports, such as Universal Asyn-chronous Receiver Transmitters (UART), etc. In another example, the interfaces 106 and 108 allow the implementation of a wireless communication, for example a WiFi (Wireless-Fidelity) communication, a Bluetooth, NFC (Near Field Communication) type communication, etc.
[0035] The electronic device 102 comprises, for example, a secure non-volatile memory 110 (SECURE STORAGE) configured to store one or more software programs. For example, the one or more software programs are software programs originating from the secure device 104. For example, the one or more software programs have, for example, been provided, via the interfaces 106 and 108, upstream of the commissioning of the device 102.
[0036] The device 102 further comprises, for example, a processor 112 (CPU) connected to the secure memory 110 via a bus 114. By way of example, the processor 112 is configured to execute instructions enabling the execution of the software(s). The device 102 further comprises, for example, a non-volatile memory 116 (NV MEM) and a volatile memory 118 (RAM) connected to the bus 114.
[0037] The electronic device 102 further comprises a cryptographic circuit 120 (CRYPTO) configured to perform cryptographic operations. For example, the cryptographic circuit 120 is configured to perform symmetric and / or asymmetric encryptions and / or decryptions.
[0038] According to one embodiment, the secure memory 110 is included in the cryptographic circuit 120. For example, the processor 112 and the cryptographic circuit 120 are included in the same secure sub-circuit.
[0039] The secure device 104 comprises for example a processor 122 (CPU) connected to the interface 108 via a bus 124. The secure device 104 further comprises a non-volatile memory 126 (NV MEM) and a volatile memory 128 (RAM) connected to the bus 124. The secure device 104 further comprises a cryptographic circuit 130 (CRYPTO) configured to perform cryptographic operations. For example, the cryptographic circuit 130 is configured to perform symmetric and / or asymmetric encryptions and / or decryptions.
[0040] During the operation of the device 102 and, in particular, during the execution of the software or software from the device 104, sensitive data is manipulated and / or generated. For example, the sensitive data includes trace data of the operation of the processor 112 during the execution of the software or software. The trace of operation includes both a dynamic trace, such as a debug trace, and / or an image of the state of the processor 112 (in English "core dump") at the time of an event. It is desirable that the device 104 has access to the sensitive data of the software or software following, for example, an interruption in the proper operation of the device 102, such as an interruption due to a software bug, and / or a crash and / or an attack suffered by the device 102. In particular, it is desirable that no external device, other than the device 104, has access to the sensitive data.
[0041] [Fig.2] illustrates steps of software supply and installation, according to a embodiment of the present description. In particular, [Fig. 2] illustrates the provision of a software module 200, from the secure device 104 and to the electronic device 102 and, for example, via the interfaces 106 and 108.
[0042] The software module 200 comprises, for example, a first software, or firmware, 202 (FWA). For example, the module 200 further comprises a second software, or firmware, 204 (FWB). According to one embodiment, the module 200 further comprises a first encryption key 206 (EKEYA) associated with the first software 202. The module 200 comprises, for example, a second encryption key 208 (EKEYB) associated with the second software 204. For example, the key 206 and / or 208 are public encryption keys.
[0043] The software module 200 further comprises, for example, a header 210 (HEADER) and an authentication value 212 (SIGNATURE). For example, the header 210 comprises information such as, for example, the software version. The header 210 further comprises, for example, indications allowing the devices 102 to extract and process the data included in the module 200.
[0044] For example, the authentication value 212 is a signature. The authentication value 212 is, for example, calculated by the device 104 and by means of a key 214 (PRIV_SIGN), for example a private key, included in the device 104. For example, the key 214 is included in the non-volatile memory 126 of the device 104. In another example, the private key 214 is included in a secure memory of the secure device 104. The authentication value 212 is calculated based on the software 202 and 204 and the encryption keys 206 and 208.
[0045] According to one embodiment, the device 104 further comprises, for example stored in the memory 126, a decryption key 216 (DKEYA) associated with the encryption key 206 and the first software 202. By way of example, the keys 206 and 216 form a public / private key pair.
[0046] The device 104 further comprises, for example, a decryption key 218 (DKEYB), stored in the memory 126, associated with the encryption key 208 and the second software 204. By way of example, the keys 208 and 218 form a public / private key pair.
[0047] According to one embodiment, upon receipt of the module 200, the device 102 verifies the authenticity and / or integrity of the module 200. For example, the verification of the module is carried out by means of a key 219 (PUB_SIGN). For example, the key 219 is a public key forming a public / private key pair with the key 214. The authentication and / or integrity of the module 200 is further carried out on the basis of the authentication value 212. The key 219 is for example provisioned in the device 102 during its manufacture.
[0048] According to one embodiment, in the case where the authentication and / or the integrity of the module 200 is successfully verified, the software 202, and for example the software 204, are installed in the secure memory 110 of the device 102. The encryption key 206 is further stored, in association with the software 202, in the memory 110.
[0049] By way of example, the module 200 comprises, in certain cases, a number of software programs greater than two. For example, the module comprises a third software program and an encryption key associated with the third software program.
[0050] By way of example, the module 200 comprises a plurality of software programs associated with a single encryption key, for example the key 206. In this example, the key 206 is an encryption key associated with the software programs 202 and 204.
[0051] Once installed in the memory 110, the software 204 is for example executed by the processor 112 and data is, for example, generated. For example, this data includes historical data of the operation of the software. The key 106 is, for example, used to extract encrypted data during the operation of the processor 112 or in the event of a malfunction. For example, the provision of this data to the secure device 104 allows the latter to analyze a potential cause of the malfunction. However, it is important that the provision of this data is carried out in a secure manner so that no one, other than the secure device 104, has access to the values of the data provided.
[0052] [Fig.3] illustrates steps of encryption and provision of sensitive data, according to an embodiment of the present description.
[0053] Following a malfunction, the secure device 102, and in particular the cryptographic circuit 120, is configured to encrypt sensitive data 300 (FWA CORE DUMP), such as for example historical data, stored in the secure memory 110 in association with the first software 202. The data 300 are for example encrypted by means of the encryption key 206. The cryptographic circuit 120 then generates encrypted data 302 (CIPHERED FWA CORE DUMP) and these data 302 are provided, for example by means of the interfaces 106 and 108, to the secure device 104.
[0054] Upon receipt of the encrypted data 302, the cryptographic circuit 130 is configured to decrypt the encrypted data 302, by means of the decryption key 216, in order to recover the sensitive data 300. The decryption key 216 being known only by the secure device 104, which is a secure environment, a device external to the device 102 and other than the device 104 is not able to decrypt the encrypted data 302. Thus, only the secure device 100 has access to the sensitive data 300.
[0055] In the example where the memory 110 comprises the second software 204 and the second encryption key 208, the cryptographic circuit is further configured to encrypt the sensitive data associated with the software 204 via the encryption key 208. In this example, the cryptographic circuit 130 of the secure device 104 is configured to decrypt the encrypted sensitive data, and associated with the second software 204, via the decryption key 218.
[0056] In another example, the sensitive data associated with the software 204 are encrypted using the encryption key 206. The decryption of this data, by the cryptographic circuit 130, is carried out using the decryption key 216.
[0057] The cryptographic operations for the encryption and decryption of the data 300 are, for example, asymmetric encryption operations.
[0058] [Fig.4] illustrates steps of encryption and provision of sensitive data 300, according to another embodiment of the present description.
[0059] According to one embodiment, the secure memory 110 further comprises a symmetric encryption key 400 (RANDOM KEY). For example, the symmetric encryption key 400 has been generated randomly, for example by a number generator of the device 102.
[0060] According to one embodiment, the cryptographic circuit 120 is configured to generate an encrypted symmetric encryption key 402 by encrypting the key of encryption 400 using the encryption key 206. For example, the cryptographic operations allowing the encryption of the symmetric encryption key 400 are asymmetric encryption operations. The cryptographic circuit 120 is further configured to generate encrypted sensitive data 404 (CIPHERED FWA CORE DUMP) by encrypting, for example on the basis of symmetric encryption operations, the data 300 using the symmetric key 400.
[0061] The encrypted symmetric key 402 and the encrypted sensitive data 404 are then provided, for example via the interfaces 106 and 108, to the secure device 104.
[0062] The cryptographic circuit 130 is configured to decrypt, for example by executing asymmetric encryption operations, the encrypted encryption key 402 using the decryption key 216 and thus recover the value of the symmetric encryption key 400. The cryptographic circuit 130 is further configured to decrypt, for example by executing symmetric encryption operations, the encrypted sensitive data 404 via the intermediary and thus recover the values of the sensitive data 300.
[0063] In the example where the memory 110 comprises the second software 204 and the second encryption key 208, the cryptographic circuit 120 is further configured to generate a second encrypted symmetric encryption key, for example by encrypting the encryption key 400 using the encryption key 208. In this example, the cryptographic circuit 130 of the secure device 104 is configured to decrypt the encrypted sensitive data, and associated with the second software 204, by means of the decryption key 218 and the second encrypted symmetric encryption key.
[0064] [Fig.5] is a flowchart illustrating steps of a data protection method according to an embodiment of the present description.
[0065] In a step 500 (FURNITURE BY PC), the secure device 104 provides a software module to the electronic device 102. The software module is for example similar to the module 200 and comprises one or more software programs intended to be installed in the device 102. The module further comprises one or more encryption keys, such as for example public keys, in association with the software program(s), as described in relation to [Fig.2].
[0066] In a step 501 (VERIFICATION & INSTALLATION), the device 102 verifies the integrity and / or authenticity of the received module. For example, the verification is carried out on the basis of a verification of an authentication value, such as for example a signature value. For example, the verification of the module comprises the implementation of asymmetric encryption operations using a public key, known by the electronic device 102. In this example, the key private key paired with the public key is known by the secure device 104.
[0067] By way of example, the authentication value 212 is a signature value, for example calculated by the secure device 104. The authentication value 212 corresponds for example to a value resulting from the encryption, by means of the key 214, of the software 202 and / or 204 and of the keys 206 and / or 208. The device 102 is then configured to recalculate the authentication value 212 on the basis of the module 200 and the key 219 and to compare the value obtained with the authentication value 212. The authentication and / or the integrity of the software is, for example, validated when the two values correspond.
[0068] In the event that the verification fails (not shown in the flowchart), the method ends, without installation of the software(s). For example, in this case, the module is deleted from the electronic device 102.
[0069] In the event that the verification is successful, the software or software programs are installed, in association with the encryption key or keys, in the secure memory 110.
[0070] In a possible step 502 (EVENT), data is transmitted to the software module 104 or to a third-party module having knowledge of the key 206. In one example, this data is transmitted when the electronic circuit 102 experiences a malfunction, such as, for example, a crash, a bug or an attack.
[0071] Following step 502, the cryptographic circuit 120 encrypts, when performing a step 503 (CIPHER), the sensitive data associated with the software. For example, the encrypted sensitive data is historical data tracing the operation of the software or software. The encryption of the data is carried out, for example, as described in relation to FIGS. 3 and / or 4.
[0072] In a step 504 (FURNITURE BY DISP.), the electronic device 102 provides, for example via the interface 106, the encrypted sensitive data, during step 503, to the secure device 104. By way of example, when the encryption of the sensitive data is carried out according to the embodiment described in relation to [Fig. 4], the encrypted data comprises the encrypted symmetric encryption key.
[0073] In a step 505 (DECIPHER), the secure circuit 104, and in particular the cryptographic circuit 130, decrypts the received encrypted data. The decryption of the data is for example carried out as described in relation to FIGS. 3 and / or 4. Once the sensitive data has been recovered, the secure circuit 104 manipulates it and for example, analyzes the cause of the malfunction.
[0074] An advantage of the described embodiments is that they allow the provision of sensitive data associated with software to a device, in a secure manner. Indeed, the decryption keys necessary for decrypting the provisioned data are known only by this device.
[0075] Various embodiments and variations have been described. The person skilled in the art will understand that certain features of these various embodiments and variations could be combined, and other variations will occur to those skilled in the art. In particular, the encryption methods implemented for encryption and / or decryption may vary.
[0076] Finally, the practical implementation of the embodiments and variants described is within the reach of those skilled in the art from the functional indications given above.
Claims
Claims
1. A method comprising: - providing a software module (200) by a secure device (104) to an electronic device (102), the software module comprising a module for installing a first software (202), a first public key (206) and an authentication value (212) of the software module; - verifying the software module based on the authentication value; - if the verification is successful, installing the first software in a memory (110) of the electronic device in association with the first public key, the first public key being used to encrypt data values associated with the first software.
2. The method of claim 1, further comprising: - providing to the secure device (100), by the electronic device (102), data values associated with the first software and encrypted (300, 400) via the first public key (206); - decrypting, by the secure device via a first private key (216) stored in the secure device, the encrypted data values.
3. The method of claim 1, wherein the memory (110) of the electronic device (102) comprises a memory configured to store a symmetric key (400), the method further comprising: - symmetrically encrypting the data (300) associated with the first software via the first symmetric key; - asymmetrically encrypting the first symmetric key via the first public key (206); - providing, by the electronic device, the encrypted data values, associated with the first software (404) and the encrypted symmetric key (402) to the secure device; - decrypting the encrypted symmetric key via a first private key (216) stored in the secure device; and - decrypting the data values associated with the first software by the secure device and via the decrypted symmetric key.
4. The method of claim 3, wherein the symmetric key (400) is a random value generated by a random number generator. of the electronic device (102).
5. The method of claim 2 or 3, wherein providing the encrypted data values (302, 404) to the secure device (104) occurs following receipt of data by the first software (202).
6. A method according to any one of claims 1 to 5, wherein the data (300) associated with the first software (202) comprises one or more historical data of the operation of the first software.
7. Method according to any one of claims 1 to 6, in which the installation of the first software (202), in a memory of the electronic device (102) in association with the first public key (206), is carried out in a secure memory (110) of the secure device.
8. A method according to any one of claims 1 to 7, wherein the software module (200) further comprises a module for installing one or more second software programs (204) and one or more associated second public keys (208), and wherein, if the verification is successful, the one or more second software programs are installed in the memory (110) of the electronic device (102) in association with the one or more second public keys, the one or more second public keys being used to encrypt data values associated with the one or more second software programs.
9. Method according to any one of claims 1 to 8, wherein the verification of the software module (200) comprises: - calculating a signature value of the software module, via a public signature key; - comparing the signature value with the authentication value (212); and - if the two values correspond, validating the authenticity of the software module.
10. A system (100) comprising a secure device (104) and an electronic device (102), the secure device being configured to: store a first private key (216); provide a software module (200) to the electronic device, the software module comprising a module for installing a first software (202), a first public key (206), associated with the first private key, and an authentication value (212) of the software module, the electronic device being configured to: verify the software module based on the authentication value; and if the verification is successful, installing the first software in a memory (110) of the electronic device in association with the first public key, the first public key being used to encrypt data values (300) associated with the first software.
11. The system (100) of claim 10, wherein the electronic device (102) is further configured to; - encrypt data (300) associated with the first software (202), via the first public key (206); and - provide the encrypted data to the secure device (100), the secure device being further configured to decrypt the encrypted data (302, 404) via the first private key (216).
12. The system (100) of claim 11, wherein the electronic device (102) is configured to provide the encrypted data (302, 404) to the secure device following initiation of a debugging procedure.
13. The system of claim 11 or 12, wherein the data (300) associated with the first software (202) is historical data of the operation of the first software.
14. An electronic device (102) comprising: - a memory (110) in which a first software (202) is installed, the memory further storing a first public key (206) associated with the first software, the private key (216) associated with the public key being stored only in a secure device (104), external to the electronic device; and - a cryptographic circuit (120) configured to encrypt data (300) associated with the first software via the first public key, the device being further configured to provide the encrypted data to the secure device following a debugging procedure.
15. Electronic device (102) according to claim 14, further comprising a symmetric key (400), stored in the memory (110) and in which, the cryptographic circuit (120) is configured to: - perform a symmetric encryption of the data (300) associated with the first software by means of the symmetric key; and - perform an asymmetric encryption of the symmetric key, by means of the first public key, the electronic device (102) being further configured to provide, with the encrypted symmetric key (402), the data associated with the first encrypted software (404) to the secure device (104).
Citation Information
Patent Citations
Debugging authorization method and system
CN117093969A
Method and system for providing secure over-the-air vehicle updates
US20190187971A1
Enhanced cryptographic system and method with key escrow feature
US6009177A