WO2022269207A1 - Method and device for controlling access to a storage medium - Google Patents

Method and device for controlling access to a storage medium Download PDF

Info

Publication number
WO2022269207A1
WO2022269207A1 PCT/FR2022/051251 FR2022051251W WO2022269207A1 WO 2022269207 A1 WO2022269207 A1 WO 2022269207A1 FR 2022051251 W FR2022051251 W FR 2022051251W WO 2022269207 A1 WO2022269207 A1 WO 2022269207A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage medium
access
value
data
parameter
Prior art date
Application number
PCT/FR2022/051251
Other languages
French (fr)
Inventor
David ARMAND
Fabrice Fontaine
Original Assignee
Orange
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 Orange filed Critical Orange
Publication of WO2022269207A1 publication Critical patent/WO2022269207A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/106Enforcing content protection by specific content processing
    • G06F21/1063Personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2127Bluffing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/2143Clearing memory, e.g. to prevent the data from being stolen

Definitions

  • the present invention relates to a method for controlling access to a storage medium as well as a device for controlling access to the storage medium implementing this method.
  • the invention applies in particular to the control of access to storage media used by connected objects, a connected object being any object configured to transmit or receive data via a communication network.
  • Connected objects are more and more widespread and have various uses, whether in the private sphere of users, in industries, in buildings or smart cities or other.
  • a connected object comprises at least one device or storage medium (or memory) intended to store computer programs and data necessary for the proper functioning of the object, such as Wi-Fi keys or private keys allowing the object to connect with other devices.
  • This storage medium or memory is external to the modules controlling the operation of the connected object (processors and/or microcontrollers) and is generally embedded in the printed circuit comprising these modules.
  • the processors and/or microcontrollers controlling the operation of the connected object and the storage medium exchange information via a communication bus.
  • these external memories are non-volatile and rewritable memories, for example of the Flash type.
  • the invention can be applied to the control of access to data in any type of memory.
  • the data stored in a memory can be usurped or modified by a malicious person in possession of the connected object.
  • the person can open the connected object and retrieve or modify the contents of the memory via the communication bus connecting the memory to the processor and/or microcontroller managing the operation of the connected object.
  • Wi-Fi keys or data relating to the design of the connected object can be collected.
  • private connection keys of the connected object can be obtained to attack service platforms or to connect to service platforms using the identity of the object.
  • analyzes can be carried out on the software installed in the object aimed at identifying vulnerabilities that can be exploited remotely, or spyware can be installed.
  • the present invention aims to improve this situation and proposes a method for controlling access to a storage medium making it possible to control access to the storage medium.
  • the invention relates, according to a first aspect, to a method for controlling access to a storage medium via a communication bus, the control method comprising the reception, via said communication bus, of a set of electrical signals comprising an electrical signal representative of an operation to be implemented on the storage medium.
  • the access control method further comprises: the verification of the value of at least one parameter relating to at least one electrical signal of said set of electrical signals received;
  • access to the storage medium is controlled, that is to say authorized or refused, by checking the value of at least one parameter relating to at least one of the signals of the set of electrical signals.
  • the set of electrical signals comprises several electrical signals necessary for the implementation of an operation on the storage medium.
  • the set of electrical signals includes at least one electrical signal representative of an operation command, an operation command being a command intended for the implementation of an operation on the storage medium.
  • the electrical signal is representative of an operation to be implemented on at least one storage medium area.
  • an electrical signal representative of an operation command is an electrical signal configured to contain a sequence of data representative of the operation.
  • the set of electrical signals defines an operation to be implemented as well as operating parameters of the storage medium for the implementation of the operation. If, for example, an operating parameter of the storage medium is the supply voltage of the storage medium, at least one of the electrical signals of the set of signals defines the value of the supply voltage of the storage medium for the implementation of the operation defined by the electrical signal representative of the operation command. In other words, said at least one parameter relating to at least one electrical signal corresponds to an operating parameter of the storage medium.
  • the implementation of an operation such as a write or a reading on a zone of the storage medium is authorized or refused according to the value of at least one operating parameter of the storage medium established for the implementation of the operation command received.
  • the access control according to a value of at least one parameter makes it possible to predict the conditions of access to the storage medium during the design of a connected object comprising the storage medium, these access conditions being unknown to users of the connected object. Consequently, the access control method makes it possible to prevent the access of a malicious person to the storage medium of the connected object, thus securing the data stored in the storage medium of this object, these data ensuring a correct and safe operation of the object.
  • the operating parameters of the storage medium are physical characteristics, their values cannot be accessed by a malicious person, and the use of a storage medium is secure. Indeed, an attacker seeks to access the content of the storage medium to obtain, for example, a password or a key. Thus, the parameters used to authorize or deny access to the storage medium corresponding to physical parameters relating to the electrical signals received by the storage medium, would not be obtained by collecting the content of the storage medium.
  • Said at least one verified parameter may belong to a set of parameters relating to the set of electrical signals.
  • the parameter set contains parameters relating to at least one electrical signal of the signal set.
  • the verification is implemented for several parameters of the set of parameters relating to the set of electrical signals.
  • the value of one or more parameters relating to at least one electrical signal of said set of electrical signals is verified.
  • the access control to the storage medium can be implemented according to the result of the verification of one or more parameters.
  • one or more parameters can be taken into account to refuse or authorize access to the storage medium.
  • the set of parameters comprises at least one parameter from among a voltage represented by at least one electrical signal from the set of signals, a frequency of at least one electrical signal from the set of signals, or a sequence of data contained by said at least one electrical signal of the set of signals.
  • said at least one parameter is a voltage represented by at least one electrical signal from the set of electrical signals or a frequency of at least one electrical signal from the set of received electrical signals, or a sequence of data contained by said at least one electrical signal of the set of electrical signals.
  • the electrical signals of the assembly define an operation to be implemented and the value of the operating parameters of the storage medium to be used for the implementation of the operation.
  • the set of parameters relating to the set of electrical signals received define at least one parameter from among a supply voltage of the storage medium, a frequency of a clock signal applied to the storage medium or a communication mode supported by the storage medium.
  • the set of parameters relating to the set of electrical signals may include other parameters relating to at least one electrical signal of the set of electrical signals received by the storage medium.
  • the verification of the value of at least one parameter can be implemented for one or more parameters of the set.
  • the value of all the parameters of the set of parameters is verified.
  • the verification is implemented for a set of parameters.
  • the operation command received is authorized or refused in based on the result of checking the parameter values of the parameter set.
  • the data stored in the storage medium is further protected. Indeed, access to the storage medium is authorized or denied according to a predefined combination of parameter values.
  • storage medium access control i.e. allowing or denying the implementation of the operation command, is implemented by comparing the values of the set of values with values of a set of reference values comprising reference values associated respectively with the parameters of the set of parameters.
  • the set of parameters can comprise a single parameter.
  • the implementation of said operation is authorized if, according to the result of said verification, the value of said at least one parameter is equal to a predefined reference value associated with said at least one parameter or is within a range of determined values including said reference value.
  • access to the storage medium is authorized when said at least one parameter has the reference value or a value close to the reference value, or in other words when said at least one parameter has a value equal or substantially equal to the reference value.
  • This reference value is predefined prior to receipt of the operation command.
  • the implementation of the operation command is refused if, according to the result of the verification, the value of said at least one parameter is different from the predefined reference value associated with said at least one parameter or is not included in a determined range of values including said reference value.
  • the implementation of the operation command is authorized if, according to the result of the check, the value of each parameter is equal to a reference value associated with the parameter or is included in a determined range of values including the reference value.
  • control method comprises the comparison of the value of said at least one parameter with the reference value predefined beforehand and or the verification of the presence of the value of said at least one parameter in the range of values comprising the value of reference.
  • the reference value is predefined when designing the connected object comprising the storage medium.
  • the predefined reference value associated with said at least one parameter and the range of values are stored in the storage medium.
  • the method further comprises the transmission of a configuration command intended to modify said reference value associated with said at least one parameter.
  • the issuance of a configuration command is implemented when powering up said storage medium.
  • the emission of a configuration command is implemented periodically.
  • the checking method comprises further issuing a deletion command intended to erase the contents of said storage medium.
  • the issuance of this command allowing the deletion of the data stored in the storage medium constitutes a defense mechanism in the event of an attempt to read or write fraudulently, that is to say malicious access to the storage medium.
  • the control method further comprises the transmission of a signal intended to damage the transmitting equipment Hoperation to be implemented.
  • this signal can be a very large electrical current that can damage equipment attempting to fraudulently access the storage medium.
  • the storage medium comprises a first controlled-access data zone and a second free-access data zone.
  • the access method comprises:
  • the commanded operation is nevertheless executed on the second storage zone which thus acts as a decoy for malicious third parties.
  • the operations commanded by a malicious third party are executed on the second storage zone and the device controlled by the malicious third party receives the results of this execution.
  • the malicious third party cannot perform an analysis of the firmware of the connected object, for example. Also by way of example, the malicious third party cannot collect sensitive data, such as cryptography keys.
  • the malicious third party does not detect, or at least less is slowed down in the detection, that its actions have no effect on the storage medium and thus on the operation of the connected object.
  • any operation carried out on the second storage area then has no impact on the operation of a connected object which stores useful data, such as its firmware, data that is sensitive or not, in the storage medium.
  • useful data such as its firmware, data that is sensitive or not
  • This data ensures correct and safe operation of the object.
  • the operations commanded by a malicious third party are executed on the second storage zone and the device controlled by the malicious third party receives the results of this execution. Access to the first storage area that stores real data is only possible for authorized third parties.
  • the method comprises: - when the implementation of the operation on the storage medium is authorized, that the set of signals received carries information representative of a request for unlocking access to the medium, and that access is authorized, the first zone of the storage medium is accessed as as an operation execution area on the storage medium, - otherwise, a second storage area of the storage medium is accessed as an operation execution area on the storage medium.
  • an additional check is implemented.
  • This additional access control makes it possible to verify, by another means, that the device which tries to access the storage medium is authorized or not.
  • the operations ordered, which have been authorized by the first access control are executed on the second storage zone which thus acts as a decoy for malicious third parties.
  • This second storage area stores decoy data.
  • Access to the first storage area that stores real data is possible only for third parties authorized by the two access controls. Any operation performed on the second storage area then has no impact on the operation of a connected object which stores useful data, such as its firmware, sensitive data or not, in the storage medium. This data ensures correct and safe operation of the object.
  • the operations commanded by a malicious third party are executed on the second storage zone and the device controlled by the malicious third party receives the results of this execution.
  • the malicious third party cannot perform a firmware analysis of the connected object.
  • the malicious third party cannot collect sensitive data, such as cryptography keys.
  • the malicious third party does not detect, or at least is slowed down in the detection, that its actions have no effect on the storage medium and thus on the functioning of the connected object.
  • the second data zone is selected as an operation execution zone on the storage medium during an activation of the storage medium.
  • the second storage area that stores decoy data is selected by default when activating the storage medium.
  • the request to unlock access to the medium includes an access code.
  • the set of electrical signals received carries the unlocking command as well as an access code.
  • the operation(s) that will be executed on the first storage zone are thus received subsequently as long as the storage medium remains activated.
  • the second zone of the storage medium comprises at least one marking datum belonging to the group comprising at least one identifier of the storage medium and a uniform resource locator.
  • marking data present in the second storage zone make it possible to subsequently detect that a malicious third party has attempted to access the storage medium.
  • the marking data is an identifier of the storage medium
  • the publication by the malicious third party of the data of the second storage zone makes it possible to identify the storage medium concerned.
  • the marking data is a uniform resource locator
  • a subsequent connection of the malicious third party makes it possible to collect information, such as an IP address (for “Internet Protocol”) of a device used by the malicious third party.
  • a counter is incremented for an operation executed on the second storage area.
  • This counter thus enables the connected object to detect that a malicious third party has attempted to access the storage medium. This makes it easier to detect attacks.
  • the characteristics of the access control method presented above can be taken in isolation or in combination with each other.
  • the present invention relates, according to a second aspect, to a device for controlling access to a storage medium via a communication bus, said control device comprising a reception module configured to receive, via said communication bus, a set of electrical signals comprising an electrical signal representative of an operation to be implemented on the storage medium.
  • the access control device further comprises: - a verification module configured to verify the value of at least one parameter relating to at least one electrical signal from the set of electrical signals received; and
  • the present invention relates, according to a third aspect, to a storage medium comprising an access control device according to the invention implementing an access control method according to the invention.
  • the present invention relates, according to a fourth aspect, to a connected object comprising a storage medium and a management module configured to manage the operation of the connected object, the management module and the storage medium communicating with each other via a communication bus. communication.
  • the connected object further comprises a device for controlling access to the storage medium in accordance with the invention and implementing the access method in accordance with the invention.
  • the storage medium access control device is integrated into the storage medium.
  • the present invention relates, according to a fifth aspect, to a computer program comprising code instructions for implementing the steps of the control method according to the invention, when it is executed by a processor.
  • the access control device, the storage medium, the connected object and the computer program have characteristics and advantages similar to those described previously in relation to the method of controlling access to a storage medium.
  • FIG. 1a schematically represents a connected object, a storage medium and an access control device in accordance with a first embodiment of the invention
  • FIG. 1b schematically represents a connected object, a storage medium and an access control device according to a second embodiment of the invention
  • FIG. 2 illustrates steps of an access control method according to a first embodiment of the invention
  • - Figure 3 illustrates steps of an access control method according to a second embodiment of the invention
  • FIG. 4a illustrates a hardware architecture that can implement the access control method according to the invention
  • FIG. 4b is a functional representation of an access control device according to one embodiment of the invention.
  • the invention applies to any connected object, such as a mobile telephone terminal, a laptop computer, a tablet, a gateway, a printer, an audio speaker, a television decoder, a television set, a game console, a household appliance, a sensor, a camera, etc.
  • the invention applies particularly to any connected object comprising a storage medium such as a rewritable non-volatile memory. It can nevertheless be applied to connected objects comprising memories of another type. More generally, the invention applies to any communicating object, that is to say objects configured to communicate (send or receive data) with other equipment.
  • the term object or connected object will be used interchangeably, and also applies to communicating objects.
  • the storage medium can be embedded in the connected object or external to the connected object (for example a memory card or a storage medium that can be connected to the connected object for example via a USB type bus (for "Universal Serial Bus”)).
  • FIGS. 1a and 1b schematically represent a connected object 1 comprising a module 10 for managing the operation of the connected object and a storage device or medium 20.
  • the management module 10 notably comprises a processor or a microcontroller.
  • the storage device or medium 20 can be a rewritable non-volatile memory, such as a Flash type memory. This memory can include computer programs and other data necessary for the operation of the connected object 1.
  • the storage medium 20 and the management module 10 are placed in the same electronic management card containing the electronic circuits necessary for the operation of the connected object 1.
  • the storage medium 20 and the management module 10 can be placed in different electronic cards.
  • the management module 10 and the storage medium 20 communicate with each other via a communication bus 100.
  • the management module 10 communicates with the storage medium 20 for example to exchange information necessary for the operation of the object, private keys necessary to establish a connection with a server, Wi-Fi keys or others. Furthermore, the management module 10 sends operation commands to the storage medium 20, these operation commands being typically write commands, read commands and erase commands.
  • the communication bus 100 used is for example a serial data bus allowing the implementation of an SPI link (for “Serial Peripheral Interface”) between the management module 10 and the storage medium 20.
  • This type of link allows simultaneous communications between the management module 10 and the storage medium 20.
  • communication bus can be used, for example communication buses of the I2C type (for "Inter-Integrated Circuit"), or of the USB type (for "Universal Serial Bus”) used in cases external memories.
  • I2C type for "Inter-Integrated Circuit”
  • USB type for "Universal Serial Bus”
  • An embodiment will be described in which the storage medium 20 is a Flash type memory and the communication bus 100 used for the exchanges between the management module 10 and the storage medium 20 is an SPI type bus.
  • the invention applies to the management of access to storage media of other types via communication buses of other types.
  • the SPI type communication bus is a synchronous serial interface. It is configured to transmit a set of electrical signals.
  • the communication bus comprises a set of lines, four at most for an SPI type bus.
  • the set of electrical signals comprises a clock signal CLK, a memory selection or activation signal CS and two data signals used to exchange data between the management module 10 and the storage medium. storage 20.
  • Each electrical signal uses a line of the communication bus.
  • the storage medium 20 represented in FIG. 1a comprises a control pin or control input (“pin” in Anglo-Saxon terminology), “Chip Select” intended for the activation of the storage medium and being connected to a line intended transporting the selection or activation signal CS.
  • the storage medium or memory 20 comprises a pin or input CLK connected to a line intended for transporting the clock signal CLK as well as a data input pin DATAJN and a data output pin DATA_OUT respectively connected to the lines carrying data signals.
  • a data signal can be an operation command sent by the management module 10 and intended for the memory 20, data to be written in an address of the memory or data read in an address of the memory 20. It will be noted that the operation command or the data to be written are addressed to the memory 20 via the line of the communication bus connected to the input pin DATAJN or in other words constitute input data to the memory 20. As for the data read at a memory address, they constitute memory output data and are addressed to the management module 10 via the communication bus line connected to the DATA OUT output pin.
  • the set of electrical signals transmitted by the communication bus includes an operation command to be implemented in the storage medium.
  • the set of electrical signals comprises an electrical signal representative of an operation command.
  • the storage medium 20 is configured to receive a set of electrical signals comprising an operation command.
  • the All of the electrical signals are generated by the management module 10 taking into account a set of operating parameters of the storage medium. The value of these parameters is selected by the designer of the connected object from among the values given by the manufacturer of the storage medium.
  • the values of the operating parameters of the storage medium, for the implementation of the operation are defined by the set of electrical signals received.
  • the set of electrical signals thus defines the operation to be implemented and values of the operating parameters of the storage medium for the implementation of the operation.
  • the management module 10 For the implementation of a read operation, the management module 10 generates a set of signals comprising a read command.
  • an electrical signal from the set of electrical signals is representative of a read command.
  • the electrical signal represents a series of data defining the operation.
  • the signal set further includes the memory enable signal and the clock signal.
  • the management module 10 sends the memory activation signal, the clock signal and a read command.
  • Activation of the “Chip Select” control input is implemented by applying to the CS activation pin the activation signal representing a predefined voltage.
  • the activation signal is a logic signal, presenting a voltage level equivalent to the predefined voltage.
  • the predefined voltage can be the minimum value, for example 0V, the activation signal then being at the low voltage level.
  • the memory can be activated by an activation signal presenting a high voltage level.
  • the memory receiving this activation signal is informed that an operation command is going to be addressed to it and starts listening for the reception of operation commands, being in the given example a read command.
  • a read command can for example take the form of the following data sequence: "0x030x000x01 0x000x00", where 0x03 indicates, in hexadecimal values, that the operation to be implemented is a read operation and the rest of the command represents the address of the memory to be read.
  • the data read is present in the data line connected to the DATA_OUT output pin and addressed to the management module 10.
  • the electrical signal representing the operation command is a logic signal whose voltage level varies so as to represent the sequence of data (information bits) forming the operation command. It is considered that the operation command takes the form of a logic signal representing the series of data (or bits of information) constituting the operation command.
  • This type of electrical signal, used by SPI type communication buses is known to those skilled in the art and does not need to be described in detail here.
  • the management module 10 generates a clock signal making it possible to exchange an information bit at each edge (for example rising) of the clock signal. For example, if the management module 10 implements the reading of data stored in the storage medium 20, one bit is obtained at each edge (for example rising) of the clock signal, i.e. one byte after eight rising edges.
  • the speed at which the data are transferred via the communication bus 100 is fixed according to the characteristics of the electronic components forming the management module 10 and the storage medium 20.
  • the storage medium is a flash memory which can be powered by voltages between 2.8V and 3.6V and the data can be received and/or transmitted via the communication bus 100 at speeds between 0 and 120 MHz.
  • different exchange (or communication) modes can be used between the management module 10 and the memory 20, the exchange or communication modes being defined by the polarity (CPOL) and the phase (CPHA) of the clock signal when the memory receives the enable signal on the CS pin.
  • the modes correspond to combinations of the values of the polarity and the phase of the clock signal (CPOL, CPHA).
  • the polarity (CPOL) and phase (CPHA) of the clock signal control the active clock edge where the memory receives or sends data. If the CPOL polarity has the value 0, the clock signal is on standby at the low voltage level, ie the data will be exchanged when the clock signal is at the high voltage level.
  • the clock signal is on standby at the high voltage level, ie the data will be exchanged when the clock signal is at the low voltage level. If the CPHA phase has the value 0, the data is obtained on a rising edge of the clock signal and if the CPHA phase has the value 1, the data is obtained on a falling edge of the clock signal.
  • Mode 0 corresponds to the pair (CPOL, CPHA ) of value (0,0), mode 1 at (0, 1), mode 2 at (1, 0) and mode 3 at (1,1).
  • the frequency and voltage values as well as the data exchange mode used may be different depending on the type and model of the memory used.
  • the designer of the connected object takes into account the values to be used for parameters relating to the electronic components.
  • the designer takes into account the values given by the manufacturer of the memory used, for parameters such as the supply voltage, the frequency and the exchange mode supported.
  • the management module 10 is configured to take account of these values for the generation of the set of signals comprising the operation command.
  • the connected object 1 further comprises an access control device 200 to the storage medium 20.
  • the access control device 200 will be described below with reference to Figures 4a and 4b.
  • the access control device 200 is configured to implement the method for controlling access to the storage medium in accordance with the invention which will be described with reference to FIGS. 2 and 3.
  • the implementation of this method makes it possible to controlling access to the storage medium 20, i.e. the implementation of operations on the storage medium, in particular on a data storage area 210 of the storage medium 20 (zone or sector of the memory).
  • the operations may be the reading or writing of data in an area of the storage medium 20.
  • Another operation may be the erasing of an area of the storage medium.
  • the access control device 200 can be embedded in the storage medium 20 (FIG. 1a) or can be located outside the storage medium, between the management module 10 and the storage medium 20 (FIG. 1b ).
  • the connected object 1 also includes a random access memory or RAM (not shown).
  • the storage medium 20, in particular the data storage area 210 comprises, in the data storage areas 210, a first storage area 2101 comprising useful data, that is to say the data that is used by the application running on the connected object.
  • a first storage area 2101 comprising useful data, that is to say the data that is used by the application running on the connected object.
  • this first storage area 2101 are thus stored the data to which an ill-intentioned third party must not access. Access to this data is controlled by the access control device 200.
  • a second storage area 2102 distinct from the first storage area 2101, includes decoy data, that is to say data which is not used by the application which is executed on the connected object. More precisely, these data are intended to make the malicious third party believe that he is indeed accessing the first storage area 2101.
  • the sizes of these first 2101 and second 2102 storage areas are for example identical. This reinforces the effect of normal access to the storage medium.
  • This second storage area 2102 corresponds to a decoy area (also called a “honeypot” in English). It limits interaction malware with the storage medium. Thanks to the proposed technique, the malicious third party will attempt to exploit data or even steal data, without this corresponding to the data useful to the connected object.
  • this second storage area 2102 includes marking data.
  • marking data comprising an identifier of the storage medium 210, such as the serial number.
  • the malicious third party publishes the data from the second storage zone 2102, it is possible to identify the storage medium 20 which has been attacked.
  • These marking data can be added using a digital watermarking mechanism.
  • the identifier of the storage medium is partitioned into N pieces, which are stored at fixed addresses of the second storage zone, these fixed addresses not being public.
  • marking data comprising a uniform resource locator or URL (for “Uniform Resource Locator”), or address of a resource on the Internet network. If the malicious third party attempts to access this location address, it is then possible to detect that an attack has taken place and to obtain its IP address from the malicious third party.
  • URL for “Uniform Resource Locator”
  • the partition of the aforementioned data storage area 210 is optional, the data storage area possibly being a single area.
  • FIG. 2 The method for controlling access to the storage medium 20 according to a first embodiment is illustrated in FIG. 2.
  • the data storage area 210 is a single area, that is to say it does not include first 2101 and second 2102 execution areas.
  • the management module 10 When the management module 10 wishes to implement an operation on the memory 20, it sends to the memory a set of electrical signals comprising a memory activation signal, a clock signal and an electrical signal representing a command of operation, the operation command defining the operation to be implemented. These electrical signals are generated by the management module 10 taking into account the values at which the operating parameters of the storage medium 20 must be established for the implementation of the operation, such as the supply voltage, the frequency of the clock signal or others.
  • the memory 20 when an operation is going to be implemented on a memory 20, the memory 20 must be activated E0.
  • a memory is activated by applying a supply voltage to the input or power pin (“pin” in Anglo-Saxon terminology) and by activating the input or control pin intended for the activation of the “Chip Select” memory. If the memory is already powered, it is enabled by turning on the CS enable pin.
  • the activation of the "Chip Select" control input is implemented by the application of a predefined voltage.
  • the predefined voltage can be the minimum value, for example 0V, or a supply voltage value.
  • the memory is activated, it is checked E11 if a clock signal is applied to the CLK control input of memory 20. If a clock signal is applied, it is checked E12 if an operation command to implement is received E11 by memory 20 on data input DATAJN.
  • the supply voltage, the frequency of the clock signal and the read mode used by the storage medium are operating parameters defined by the electrical signals received.
  • the value of the parameters of the set of parameters is defined by the signals of the set of signals received by the memory 20.
  • the value of at least one parameter relating to at least one electrical signal is checked E2.
  • the value of at least one memory operating parameter is checked E2.
  • multiple parameters of the parameter set are checked. The implementation of the operation is authorized or denied depending on the checked value.
  • the value of all the parameters of the set of parameters is checked E2 to decide whether to authorize or to refuse access to the memory 20.
  • the implementation of the operation is authorized or refused according to a combination of values of the parameters.
  • the verification can be implemented for one or more parameters of the set, in number less than the totality of the parameters of the set.
  • the verification of the value of the set of parameters is implemented if, in addition to having received an operation command, a clock signal is applied to memory 20.
  • the set of verified operating parameters includes the supply voltage V of the memory, the frequency f of the clock signal CLK applied and the communication mode used by the memory to dialogue via the communication bus. communications 100.
  • the set of parameters may comprise one or more parameters from among the aforementioned parameters, or other memory operating parameters.
  • each parameter value is verified with respect to a reference value associated with the parameter.
  • the reference values for the parameters of the assembly have been recorded beforehand in the memory 20. Typically, these values are defined and recorded by the designer of the connected object 1 comprising the memory 20. The reference values for the parameters of operation of the assembly are selected from ranges of values given by the memory manufacturer.
  • the memory 20 used can be powered by voltages from 2.8V to 3.6V, exchange data at speeds from 0 to 120 MHz and use modes 0 and 3 for data exchange via the communication bus 100.
  • reference values are selected for these three operating parameters, that is to say the supply voltage, the speed or frequency of the clock signal and the communication mode supported by the memory.
  • the V_ref reference value selected for the supply voltage is 2.75 V
  • the f_ref reference frequency is 87654321 Hz
  • the mode_ref reference mode is mode 3.
  • each value of a parameter of the set is included in a range of values comprising the reference value V_ref, f_ref, mode_ref associated with the setting.
  • ranges of values are defined to take into account slight variations of the values of the parameters compared to the reference values.
  • it is checked whether the values of the parameters are substantially equal to the reference values respectively.
  • it can be checked whether the value of a parameter of the set is equal to the reference value.
  • the range of values defined for the supply voltage can include values between V_ref - ((V_max-V_min)/100) and V_ref + ((V_max-V_min)/100), where V_max corresponds to the maximum power value supported by the memory and V_min corresponds to the minimum power value supported by the memory. As shown below, these values are provided by the memory manufacturer.
  • the range of values defined for the frequency of the clock signal can include values between (f_ref - (f_max/100) and f_ref + (f_max/100), where f_max corresponds to the maximum frequency allowed by the memory
  • the maximum frequency value is set by the memory manufacturer.
  • the verification E2 comprises for each parameter, a comparison of a value of the parameter obtained and the reference value associated with the parameter. The value of the parameter is obtained from at least one electrical signal of the set of electrical signals received.
  • the verification of the value of a parameter relating to an electrical signal includes obtaining the value of the parameter followed by a comparison of this value obtained with the reference value.
  • the value of a parameter is typically obtained using a measurement, these operations being known to those skilled in the art
  • the frequency, polarity and phase of the clock signal are measured, by conventional methods.
  • the supply voltage is measured, also by conventional methods, using one of the signals from the set of signals (for example the clock signal).
  • the implementation of the operation command is authorized E31. If at least one of these conditions is not verified, the implementation of the operation command is refused E32. production.
  • several reference values can be associated with at least one parameter of the set of parameters. According to different embodiments, several reference values can be associated with several parameters of the set of parameters. In one embodiment, multiple reference values are associated with all of the parameters in the parameter set.
  • multiple reference values for the frequency of the clock signal can be stored, with the frequency value to be used to communicate with the memory cyclically alternating between the stored reference values. For example, if two reference frequency values are stored f_ref, f_ref_2, a first reference value f_ref is used for a predetermined number N of clock cycles and a second reference value f_ref_2 is used for the N clock cycles following. Then the first reference value f_ref is used for the next N clock cycles and so on.
  • the control method includes a step E10 of establishing the reference frequency value. This step is implemented after the activation E0 of the memory and is repeated cyclically after the expiry of the predetermined number N of cycles.
  • the reference value of one or more parameters of the set of parameters is regularly modified.
  • the reference value of the parameters can be modified by a configuration command sent by the control device 200 and intended for the memory 20.
  • this configuration command can be sent each time the the memory 20.
  • the configuration command can be transmitted periodically.
  • the access control method represented in FIG. 3 comprises the transmission E01 of a configuration command during the activation of the memory.
  • sending the configuration command is optional and can be implemented at other times in the process.
  • this step can be implemented in other embodiments such as the one shown in Figure 2.
  • the devices used to recover and/or modify the contents of a memory by a malicious third party only support a limited number of supply voltages (often values of 3.3V and 5V) and frequencies making it possible to exchange data with the memory, these values corresponding to the values commonly used by the memories. Also, dynamic change of supply voltage or clock signal frequency is not utilized by these devices.
  • the configuration command described is intended for a flash type memory and is generated by an access control device according to the invention.
  • the instructions or operations addressed to a flash type memory are represented by hexadecimal values on a byte. This value identifies the operation to be implemented. For example, the value 0x03 is a standard value used for a read operation. This value is followed by a memory address where reading is desired.
  • the configuration command thus contains a first byte containing an identifier of the configuration command (called in English terminology “Access control parameters update”).
  • the identifier of the configuration command is OxEE.
  • the second byte of the configuration command contains the number of frequency reference values f_ref defined in the command. For example, this byte can take a value between 0x01 to 0x08 (1 to 8).
  • a third byte defines the reference mode to be used for implementing an operation.
  • this third byte can take a value from 0x00 to 0x03 (mode 0, 1, 2 or 3).
  • the fourth and fifth bytes define the reference value for the supply voltage. For example, the reference value is rounded to two decimal places and multiplied by 100. If the V_ref reference value is 2.71V, the value represented by the fourth and fifth bytes is 271, that is, 0x10F.
  • the sixth through ninth bytes define the reference value for the frequency f_ref, expressed in Hz.
  • the reference value f_ref is 87654321 Hz, i.e. 0x5397FB1
  • additional bytes can be used to define additional reference values for the frequency f_ref_2, f_ref_3 etc. expressed in Hz, if the number of frequencies defined in the second byte is greater than or equal to 2.
  • a command to set the reference mode_ref communication mode to mode 3 the reference value for the supply voltage V_ref to 2.71V and the reference value for the frequency f_ref to 87.654321 MHz is therefore as follows: OxEE 0x01 0x03 0x01 0x0F 0x05 0x390x7F 0xB1.
  • the control method further comprises the emission E40 of a deletion command intended to erase the contents of the memory (when the memory zone comprises two memory zones, the command may be intended to erase the contents of the first storage zone or else of the first and second storage zones).
  • the method of control further comprises the transmission E41 of a signal intended to damage the equipment attempting access to the storage medium.
  • This signal is for example an electric current of high intensity. This electric current can be generated by a large discharge of a capacitor integrated in the access control device (not shown in the figures).
  • the method comprises sending a message intended for the management module 10 of the object informing of the attempt to implement a fraudulent operation.
  • the management module could provide for example to send an informative message to a terminal or server connected with the object connected via a communication network, or that it is connected again if it had been disconnected.
  • the memory access control device can be configured to store in memory information indicating that an attack has been detected.
  • the management module can be configured to periodically poll the device for access control to ask if an attack has been detected. Thus, the management module can be informed of the attacks detected by the access control device.
  • the data storage area 210 comprises a first area 2101 and a second area 2102
  • the second area is selected as the execution area of operation on the storage medium.
  • the operation is then implemented on this second execution zone 2102.
  • the operation is implemented on the second zone.
  • the first zone 2101 is selected as an operation execution zone on the storage medium, the operation being implemented on this first zone 2101.
  • the operation is implemented on the first zone.
  • the data storage zone 210 comprises a first zone 2101 and a second zone 2102, once the memory has been activated (such as in step E0 of FIGS.
  • the second storage area 2102 is selected as the operation execution area on the storage medium 20. If a clock signal is applied, it is checked whether an operation command to be implemented is received by the memory 20 on the data input DATAJN via the communication bus. If this is not the case, the process returns to awaiting receipt of an operation command.
  • step E31 of FIGS. 2 and 3 When an operation is received and authorized (step E31 of FIGS. 2 and 3) after the verification of at least one parameter (such as in step E2 of FIGS. 2 and 3), it is verified whether the set of signals received carries information representative of a request to unlock access to the medium.
  • the set of signals received carries information representative of a request for unlocking access to the medium, such as an unlocking command
  • this unlocking command carries a valid access code. If so, access to the storage medium is authorized and the first storage area 2101 is selected as being the operation execution zone on the storage medium 20.
  • the method returns to waiting for the reception of data on the data input DATAJN via the communication bus.
  • the first data storage area 2101 is accessed and the operation is performed on the first data storage area 2101 as long as the storage medium remains activated.
  • the operation received is executed on the second storage zone 2102.
  • the access control has been carried out if successful, the access is authorized and the operation is performed on the first storage area 2101. Otherwise, the second storage area 2102 is accessed and the operation is performed on the second storage area 2102.
  • the process returns to waiting for data to be received on the DATAJN data input via the communication bus.
  • the process returns to waiting for data reception on the DATAJN data input via the communication bus.
  • the storage medium 20 stores a counter in a persistent register. This counter represents the number of times that a read, write, erase operation has been executed on the second storage area 2102. It is incremented each time an operation is executed on the second storage area.
  • counter is transmitted to the management module 10 upon receipt of a get_command_value command. This command is sent by the management module 10 at start-up and then periodically, for example every twelve hours.
  • the management module 10 identifies that attacks have been attempted.
  • the management module 10 sends a change_zone storage zone change command to select the second storage zone 2102. It dumps the data from the second storage zone. Subsequent analysis of this data is then performed locally or on a remote server to which the connected object is connected.
  • the data that has been unloaded corresponds, for example, to malicious firmware (“firmware”) downloaded by a malicious third party.
  • the data stored in the second storage zone 2102 can be updated remotely by the manufacturer of the connected object or else by a legitimate user. This makes it possible to update marking data depending for example on the version of the firmware and complicates the detection of these marking data by a malicious third party.
  • the method has been described in a particular embodiment in which the management module 10 sends an unlocking request comprising an access code. There are no limitations attached to this unlocking mechanism.
  • the first data area is selected as the operation execution area on the storage medium upon activation.
  • the second zone of the storage medium is accessed as an execution zone. operation on the storage medium. This second storage zone remains the only one accessed as an operation execution zone, as long as the storage medium is activated. It is understood that an authorized access control makes it possible to switch to the first storage zone as an operation execution zone.
  • FIG. 4a schematically illustrates a hardware architecture of an access control device 200 able to implement the control method in accordance with the invention.
  • the control device 200 can be embedded in the storage medium 20 (FIG. 1a) or be external to the storage medium 20 (FIG. 1b).
  • Figure 4a illustrates a control device 200 external to the storage medium 200.
  • the control device 200 comprises a communication bus 2000 to which can be connected:
  • a processing unit 2001 named in the figure CPU (for "Central Processing Unit") and may include one or more processors;
  • non-volatile memory 2002 for example ROM (for “Read Only Memory”), EEPROM (for “Electrically Erasable Read Only Memory”) or a Flash memory;
  • RAM for "Random Access Memory”
  • the aforementioned elements may be present or absent depending on the configurations according to which the control device is embedded in the storage medium or is external to the storage medium.
  • the non-volatile memory 2002 and/or the random access memory may be absent from the access control device, the control device using the memory or memories of the storage medium 20 for which the access is controlled.
  • control device in one embodiment according to which the control device is external to the storage medium 20 (like that represented in FIG. 4a), it comprises a communication interface 2004, named COM in the figure, suitable for exchanging data with the medium 20. In addition, it is connected to the communication bus 100 to which the storage medium 20 is connected.
  • Random access memory 2003 includes registers suitable for recording variables and parameters created and modified during the execution of a computer program comprising instructions for implementing the control method according to the invention.
  • the program instruction codes stored in non-volatile memory 2002 are loaded into RAM memory 2003 with a view to being executed by the processing unit CPU 2001.
  • the non-volatile memory 2002 is for example a rewritable memory of the EEPROM or Flash memory type which can constitute the support within the meaning of the invention, and which can comprise a computer program comprising instructions for the implementation of the control method according to the invention.
  • FIG. 4b is a functional representation of a control device 200 according to one embodiment.
  • These modules include:
  • reception module 201 configured to receive, via said communication bus, a set of electrical signals comprising an electrical signal representative of an operation command to be implemented on at least one area of the storage medium;
  • a verification module 202 configured to verify the value of at least one parameter relating to at least one electrical signal from the set of electrical signals received;
  • a control module 203 configured to authorize or refuse the implementation of said operation command on said at least one area of the storage medium, depending on the result of the verification.
  • the aforementioned modules and means are controlled by the processor of the processing unit 2001. They can take the form of a program executable by a processor, or a material form (or “hardware”), such as a specialized integrated circuit (known in Anglo-Saxon terminology known as ASIC for “Application-Specific Integrated Circuit”), a system on chip (known in Anglo-Saxon terminology as SoC for “System On Chip”), or an electronic component of the programmable logic circuit type, such than an FPGA type component (for “Field-Programmable Gate Array”).
  • a material form or “hardware”
  • ASIC Application-Specific Integrated Circuit
  • SoC System On Chip
  • FPGA type component for “Field-Programmable Gate Array”.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

A control method for controlling access to a storage medium via a communication bus comprises receiving (E11), via the communication bus, a set of electrical signals comprising an electrical signal representative of an operation command intended to implement an operation on at least one region of the storage medium. The control method further comprises: - verifying (E2) the value of at least one parameter relative to at least one electrical signal of the received set of electrical signals; and - authorizing (E31) or refusing (E32) implementation of the operation command on said at least one region of the storage medium, depending on the result of said verification (E2).

Description

Procédé et dispositif de contrôle d’accès à un support de stockage. Method and device for controlling access to a storage medium.
La présente invention concerne un procédé de contrôle d’accès à un support de stockage ainsi qu’un dispositif de contrôle d’accès au support de stockage mettant en œuvre ce procédé. The present invention relates to a method for controlling access to a storage medium as well as a device for controlling access to the storage medium implementing this method.
Elle concerne en outre un support de stockage comportant un tel dispositif de contrôle ainsi qu’un objet comportant un tel support de stockage. It also relates to a storage medium comprising such a control device as well as an object comprising such a storage medium.
L’invention s’applique en particulier au contrôle d’accès à des supports de stockage utilisés par des objets connectés, un objet connecté étant tout objet configuré pour émettre ou recevoir des données via un réseau de communication. The invention applies in particular to the control of access to storage media used by connected objects, a connected object being any object configured to transmit or receive data via a communication network.
Les objets connectés sont de plus en plus répandus et ont des usages divers, que ce soit dans la sphère privée des utilisateurs, dans des industries, dans des bâtiments ou villes intelligentes ou autre. Connected objects are more and more widespread and have various uses, whether in the private sphere of users, in industries, in buildings or smart cities or other.
En général, un objet connecté comporte au moins un dispositif ou support de stockage (ou mémoire) destiné à stocker des programmes informatiques et des données nécessaires au bon fonctionnement de l’objet, telles que des clés Wi-Fi ou clés privées permettant à l’objet de se connecter avec d’autres dispositifs. Ce support de stockage ou mémoire est externe aux modules contrôlant le fonctionnement de l’objet connecté (processeurs et/ou microcontrôleurs) et est en général embarqué dans le circuit imprimé comportant ces modules. In general, a connected object comprises at least one device or storage medium (or memory) intended to store computer programs and data necessary for the proper functioning of the object, such as Wi-Fi keys or private keys allowing the object to connect with other devices. This storage medium or memory is external to the modules controlling the operation of the connected object (processors and/or microcontrollers) and is generally embedded in the printed circuit comprising these modules.
Les processeurs et/ou microcontrôleurs contrôlant le fonctionnement de l’objet connecté et le support de stockage échangent des informations via un bus de communication. The processors and/or microcontrollers controlling the operation of the connected object and the storage medium exchange information via a communication bus.
Souvent ces mémoires externes sont des mémoires non-volatiles et réinscriptibles, par exemple de type Flash. Bien entendu, l’invention peut s’appliquer au contrôle d’accès à des données dans tout type de mémoire. Often these external memories are non-volatile and rewritable memories, for example of the Flash type. Of course, the invention can be applied to the control of access to data in any type of memory.
Les données stockées dans une mémoire peuvent être usurpées ou modifiées par une personne malveillante en possession de l’objet connecté. Par exemple, la personne peut ouvrir l’objet connecté et récupérer ou modifier le contenu de la mémoire via le bus de communication reliant la mémoire au processeur et/ou microcontrôleur gérant le fonctionnement de l’objet connecté. The data stored in a memory can be usurped or modified by a malicious person in possession of the connected object. By For example, the person can open the connected object and retrieve or modify the contents of the memory via the communication bus connecting the memory to the processor and/or microcontroller managing the operation of the connected object.
Lors de ce type d’attaque, des données personnelles telles que des clés Wi-Fi ou des données relatives à la conception de l’objet connecté peuvent être collectées. En outre, des clés privées de connexion de l’objet connecté peuvent être obtenues pour attaquer des plateformes de service ou pour se connecter aux plateformes de service en utilisant l’identité de l’objet. Aussi, des analyses peuvent être réalisées sur les logiciels installés dans l’objet visant à identifier des vulnérabilités exploitables à distance, ou des logiciels espions peuvent être installés. During this type of attack, personal data such as Wi-Fi keys or data relating to the design of the connected object can be collected. In addition, private connection keys of the connected object can be obtained to attack service platforms or to connect to service platforms using the identity of the object. Also, analyzes can be carried out on the software installed in the object aimed at identifying vulnerabilities that can be exploited remotely, or spyware can be installed.
A ce jour, des solutions existent pour pallier certains de ces risques. Par exemple, l’utilisation de mémoires contenant des secteurs ne pouvant être programmées qu’une seule fois ou de mémoires dont l’écriture ou la lecture de données doit être déverrouillée par la fourniture d’un mot de passe ou d’une clé. Néanmoins, concernant les premières, bien que la modification de leur contenu soit évitée, la lecture est toujours possible. Concernant les secondes, une commande contenant un mot de passe ou une clé peut être interceptée sur le bus de communication. Parfois ces solutions sont couplées à la mise en œuvre d’un logiciel de vérification exécutée par les programmes gérant le fonctionnement de l’objet connecté (ou firmware de l’objet connecté) afin de détecter et prévenir des tentatives d’attaque. Néanmoins, l’accès à la mémoire installée dans l’objet connecté pouvant être effectué via une connexion physique d’un équipement externe à l’objet sur le bus de communication, sans utiliser les modules de gestion du fonctionnement de l’objet connecté, les attaques peuvent ne pas être détectées. To date, solutions exist to mitigate some of these risks. For example, the use of memories containing sectors that can only be programmed once or memories whose writing or reading of data must be unlocked by the provision of a password or a key. Nevertheless, concerning the former, although the modification of their content is avoided, reading is still possible. Regarding the seconds, a command containing a password or a key can be intercepted on the communication bus. Sometimes these solutions are coupled with the implementation of verification software executed by the programs managing the operation of the connected object (or firmware of the connected object) in order to detect and prevent attempted attacks. However, since access to the memory installed in the connected object can be performed via a physical connection from an external device to the object on the communication bus, without using the modules for managing the operation of the connected object, attacks may go undetected.
La présente invention a pour but d’améliorer cette situation et propose un procédé de contrôle d’accès à un support de stockage permettant de contrôler l’accès au support de stockage. The present invention aims to improve this situation and proposes a method for controlling access to a storage medium making it possible to control access to the storage medium.
A cet effet, l’invention vise, selon un premier aspect, un procédé de contrôle d’accès à un support de stockage via un bus de communication, le procédé de contrôle comportant la réception, via ledit bus de communication, d’un ensemble de signaux électriques comportant un signal électrique représentatif d’une d’opération à mettre en œuvre sur le support de stockage. To this end, the invention relates, according to a first aspect, to a method for controlling access to a storage medium via a communication bus, the control method comprising the reception, via said communication bus, of a set of electrical signals comprising an electrical signal representative of an operation to be implemented on the storage medium.
Selon l’invention, le procédé de contrôle d’accès comporte en outre : - la vérification de la valeur d’au moins un paramètre relatif à au moins un signal électrique dudit ensemble de signaux électriques reçu ; et According to the invention, the access control method further comprises: the verification of the value of at least one parameter relating to at least one electrical signal of said set of electrical signals received; and
- l’autorisation ou le refus de la mise en œuvre de l’opération sur le support de stockage, en fonction du résultat de la vérification. - the authorization or refusal of the implementation of the operation on the storage medium, depending on the result of the verification.
Ainsi, l’accès au support de stockage est contrôlé, c'est-à-dire autorisé ou refusé, par la vérification de la valeur d’au moins un paramètre relatif à au moins un des signaux de l’ensemble de signaux électriques. Thus, access to the storage medium is controlled, that is to say authorized or refused, by checking the value of at least one parameter relating to at least one of the signals of the set of electrical signals.
L’ensemble de signaux électriques comporte plusieurs signaux électriques nécessaires à la mise en œuvre d’une opération sur le support de stockage. En particulier, l’ensemble de signaux électriques comporte au moins un signal électrique représentatif d’une commande d’opération, une commande d’opération étant une commande destinée à la mise en œuvre d’une opération sur le support de stockage. Autrement dit, le signal électrique est représentatif d’une opération à mettre en œuvre sur au moins une zone de support de stockage. Ainsi, un signal électrique représentatif d’une commande d’opération est un signal électrique configuré pour contenir une suite de données représentative de l’opération. The set of electrical signals comprises several electrical signals necessary for the implementation of an operation on the storage medium. In particular, the set of electrical signals includes at least one electrical signal representative of an operation command, an operation command being a command intended for the implementation of an operation on the storage medium. In other words, the electrical signal is representative of an operation to be implemented on at least one storage medium area. Thus, an electrical signal representative of an operation command is an electrical signal configured to contain a sequence of data representative of the operation.
On notera que l’ensemble de signaux électriques définit une opération à mettre en œuvre ainsi que des paramètres de fonctionnement du support de stockage pour la mise en œuvre de l’opération. Si par exemple, un paramètre de fonctionnement du support de stockage est la tension d’alimentation du support de stockage, au moins l’un des signaux électriques de l’ensemble de signaux définit la valeur de la tension d’alimentation du support de stockage pour la mise en œuvre de l’opération définie par le signal électrique représentatif de la commande d’opération. Autrement dit, ledit au moins un paramètre relatif à au moins un signal électrique correspond à un paramètre de fonctionnement du support de stockage. Ainsi, la mise en œuvre d’une opération, telle qu’une écriture ou une lecture, sur une zone du support de stockage est autorisée ou refusée en fonction de la valeur d’au moins un paramètre de fonctionnement du support de stockage établi pour la mise en œuvre de la commande d’opération reçue. It will be noted that the set of electrical signals defines an operation to be implemented as well as operating parameters of the storage medium for the implementation of the operation. If, for example, an operating parameter of the storage medium is the supply voltage of the storage medium, at least one of the electrical signals of the set of signals defines the value of the supply voltage of the storage medium for the implementation of the operation defined by the electrical signal representative of the operation command. In other words, said at least one parameter relating to at least one electrical signal corresponds to an operating parameter of the storage medium. Thus, the implementation of an operation, such as a write or a reading on a zone of the storage medium is authorized or refused according to the value of at least one operating parameter of the storage medium established for the implementation of the operation command received.
Le contrôle de l’accès en fonction d’une valeur d’au moins un paramètre permet de prévoir les conditions d’accès au support de stockage lors de la conception d’un objet connecté comportant le support de stockage, ces conditions d’accès étant méconnues des utilisateurs de l’objet connecté. Par conséquent, le procédé de contrôle d’accès permet d’éviter l’accès d’une personne malveillante au support de stockage de l’objet connecté, sécurisant ainsi les données stockées dans le support de stockage de cet objet, ces données assurant un fonctionnement correct et sûr de l’objet. The access control according to a value of at least one parameter makes it possible to predict the conditions of access to the storage medium during the design of a connected object comprising the storage medium, these access conditions being unknown to users of the connected object. Consequently, the access control method makes it possible to prevent the access of a malicious person to the storage medium of the connected object, thus securing the data stored in the storage medium of this object, these data ensuring a correct and safe operation of the object.
Les paramètres de fonctionnement du support de stockage étant des caractéristiques physiques, leurs valeurs ne sont pas accessibles par une personne malveillante, et l’utilisation d’un support de stockage est sécurisée. En effet, un attaquant cherche à accéder au contenu du support de stockage pour obtenir par exemple un mot de passe ou une clé. Ainsi, les paramètres utilisés pour autoriser ou refuser l’accès au support de stockage correspondant à des paramètres physiques relatifs aux signaux électriques reçus par le support de stockage, ne seraient pas obtenus en collectant le contenu du support de stockage. Since the operating parameters of the storage medium are physical characteristics, their values cannot be accessed by a malicious person, and the use of a storage medium is secure. Indeed, an attacker seeks to access the content of the storage medium to obtain, for example, a password or a key. Thus, the parameters used to authorize or deny access to the storage medium corresponding to physical parameters relating to the electrical signals received by the storage medium, would not be obtained by collecting the content of the storage medium.
Ledit au moins un paramètre vérifié peut appartenir à un ensemble de paramètres relatifs à l’ensemble de signaux électriques. L’ensemble de paramètres contient des paramètres relatifs à au moins un signal électrique de l’ensemble de signaux. Selon une caractéristique, la vérification est mise en œuvre pour plusieurs paramètres de l’ensemble de paramètres relatif à l’ensemble de signaux électriques. Ainsi, la valeur d’un ou de plusieurs paramètres relatifs à au moins un signal électrique dudit ensemble de signaux électriques est vérifiée. Said at least one verified parameter may belong to a set of parameters relating to the set of electrical signals. The parameter set contains parameters relating to at least one electrical signal of the signal set. According to one characteristic, the verification is implemented for several parameters of the set of parameters relating to the set of electrical signals. Thus, the value of one or more parameters relating to at least one electrical signal of said set of electrical signals is verified.
Par conséquent, le contrôle d’accès au support de stockage peut être mis en œuvre en fonction du résultat de la vérification d’un ou de plusieurs paramètres. Dans d’autres termes, un ou plusieurs paramètres peuvent être pris en compte pour refuser ou autoriser l’accès au support de stockage. Selon une caractéristique, l’ensemble de paramètres comporte au moins un paramètre parmi une tension représentée par au moins un signal électrique de l’ensemble de signaux, une fréquence d’au moins un signal électrique de l’ensemble de signaux, ou une suite de données contenue par ledit au moins un signal électrique de l’ensemble de signaux. Therefore, the access control to the storage medium can be implemented according to the result of the verification of one or more parameters. In other words, one or more parameters can be taken into account to refuse or authorize access to the storage medium. According to one characteristic, the set of parameters comprises at least one parameter from among a voltage represented by at least one electrical signal from the set of signals, a frequency of at least one electrical signal from the set of signals, or a sequence of data contained by said at least one electrical signal of the set of signals.
Selon une caractéristique, ledit au moins un paramètre est une tension représentée par au moins un signal électrique de l’ensemble de signaux électriques ou une fréquence d’au moins un signal électrique de l’ensemble de signaux électriques reçu, ou une suite de données contenue par ledit au moins un signal électrique de l’ensemble de signaux électriques. According to one characteristic, said at least one parameter is a voltage represented by at least one electrical signal from the set of electrical signals or a frequency of at least one electrical signal from the set of received electrical signals, or a sequence of data contained by said at least one electrical signal of the set of electrical signals.
Comme indiqué ci-dessus, les signaux électriques de l’ensemble définissent une opération à mettre en œuvre et la valeur des paramètres de fonctionnement du support de stockage à utiliser pour la mise en œuvre de l’opération. Ainsi, par exemple, l’ensemble de paramètres relatifs à l’ensemble de signaux électriques reçu définissent au moins un paramètre parmi une tension d’alimentation du support de stockage, une fréquence d’un signal d’horloge appliqué au support de stockage ou un mode de communication supporté par le support de stockage. As indicated above, the electrical signals of the assembly define an operation to be implemented and the value of the operating parameters of the storage medium to be used for the implementation of the operation. Thus, for example, the set of parameters relating to the set of electrical signals received define at least one parameter from among a supply voltage of the storage medium, a frequency of a clock signal applied to the storage medium or a communication mode supported by the storage medium.
On notera que la valeur de ces paramètres est définie lors de la conception d’un équipement embarquant le support de stockage, la valeur étant sélectionnée parmi les valeurs prévues par les concepteurs et fabricants du support de stockage. It will be noted that the value of these parameters is defined during the design of equipment embedding the storage medium, the value being selected from among the values provided by the designers and manufacturers of the storage medium.
L’ensemble de paramètres relatif à l’ensemble de signaux électriques peut comporter d’autres paramètres relatifs à au moins un signal électrique de l’ensemble de signaux électriques reçu par le support de stockage. La vérification de la valeur d’au moins un paramètre peut être mise en œuvre pour un ou plusieurs paramètres de l’ensemble. The set of parameters relating to the set of electrical signals may include other parameters relating to at least one electrical signal of the set of electrical signals received by the storage medium. The verification of the value of at least one parameter can be implemented for one or more parameters of the set.
Selon un mode de réalisation, lors de la vérification, il est vérifié la valeur de la totalité des paramètres de l’ensemble de paramètres. Ainsi, la vérification est mise en œuvre pour un ensemble de paramètres. La commande d’opération reçue est autorisée ou refusée en fonction du résultat de la vérification des valeurs des paramètres de l’ensemble de paramètres. According to one embodiment, during the verification, the value of all the parameters of the set of parameters is verified. Thus, the verification is implemented for a set of parameters. The operation command received is authorized or refused in based on the result of checking the parameter values of the parameter set.
Les données stockées dans le support de stockage sont davantage protégées. En effet, l’accès au support de stockage est autorisé ou refusé en fonction d’une combinaison prédéfinie de valeurs des paramètres. The data stored in the storage medium is further protected. Indeed, access to the storage medium is authorized or denied according to a predefined combination of parameter values.
La sécurité est encore accrue dans les modes de réalisation dans lesquels la combinaison prédéfinie de valeurs est modifiée dans le temps. Security is further increased in embodiments in which the predefined combination of values changes over time.
Par exemple, le contrôle d’accès au support de stockage, c'est-à-dire l’autorisation ou le refus de la mise en œuvre de la commande d’opération, est mis en œuvre par la comparaison des valeurs de l’ensemble de valeurs avec des valeurs d’un ensemble de valeurs de référence comportant des valeurs de références associées respectivement aux paramètres de l’ensemble de paramètres. For example, storage medium access control, i.e. allowing or denying the implementation of the operation command, is implemented by comparing the values of the set of values with values of a set of reference values comprising reference values associated respectively with the parameters of the set of parameters.
On notera que l’ensemble de paramètres peut comprendre un seul paramètre. Note that the set of parameters can comprise a single parameter.
Selon, une caractéristique, la mise en œuvre de ladite opération est autorisée si selon le résultat de ladite vérification, la valeur dudit au moins un paramètre est égale à une valeur de référence prédéfinie associée audit au moins un paramètre ou est comprise dans une plage de valeurs déterminée comportant ladite valeur de référence. According to one characteristic, the implementation of said operation is authorized if, according to the result of said verification, the value of said at least one parameter is equal to a predefined reference value associated with said at least one parameter or is within a range of determined values including said reference value.
Ainsi, l’accès au support de stockage est autorisé lorsque ledit au moins un paramètre présente la valeur de référence ou une valeur proche de la valeur de référence, ou autrement dit lorsque ledit au moins un paramètre présente une valeur égale ou sensiblement égale à la valeur de référence. Cette valeur de référence est prédéfinie préalablement à la réception de la commande d’opération. Thus, access to the storage medium is authorized when said at least one parameter has the reference value or a value close to the reference value, or in other words when said at least one parameter has a value equal or substantially equal to the reference value. This reference value is predefined prior to receipt of the operation command.
Au contraire, la mise en œuvre de la commande d’opération est refusée si selon le résultat de la vérification, la valeur dudit au moins un paramètre est différent de la valeur de référence prédéfinie associée audit au moins un paramètre ou n’est pas comprise dans une plage de valeurs déterminée comportant ladite valeur de référence. Lorsque la valeur de plusieurs paramètres de l’ensemble de paramètres est vérifiée, la mise en œuvre de la commande d’opération est autorisée si, selon le résultat de la vérification, la valeur de chaque paramètre est égale à une valeur de référence associé au paramètre ou est comprise dans une plage de valeurs déterminée comportant la valeur de référence. On the contrary, the implementation of the operation command is refused if, according to the result of the verification, the value of said at least one parameter is different from the predefined reference value associated with said at least one parameter or is not included in a determined range of values including said reference value. When the value of several parameters of the set of parameters is checked, the implementation of the operation command is authorized if, according to the result of the check, the value of each parameter is equal to a reference value associated with the parameter or is included in a determined range of values including the reference value.
Selon une caractéristique, le procédé de contrôle comporte la comparaison de la valeur dudit au moins un paramètre avec la valeur de référence prédéfinie préalablement et ou la vérification de la présence de la valeur dudit au moins un paramètre dans la plage de valeurs comportant la valeur de référence. According to one characteristic, the control method comprises the comparison of the value of said at least one parameter with the reference value predefined beforehand and or the verification of the presence of the value of said at least one parameter in the range of values comprising the value of reference.
Par exemple, la valeur de référence est prédéfinie lors de la conception de l’objet connecté comportant le support de stockage. For example, the reference value is predefined when designing the connected object comprising the storage medium.
Selon une caractéristique, la valeur de référence prédéfinie associée audit au moins un paramètre et la plage de valeurs sont stockées dans le support de stockage. According to one characteristic, the predefined reference value associated with said at least one parameter and the range of values are stored in the storage medium.
Selon une caractéristique, le procédé comporte en outre l’émission d’une commande de configuration destinée à modifier ladite valeur de référence associée audit au moins un paramètre. According to one characteristic, the method further comprises the transmission of a configuration command intended to modify said reference value associated with said at least one parameter.
Par exemple, l’émission d’une commande de configuration est mise en œuvre lors de la mise sous tension dudit support de stockage. For example, the issuance of a configuration command is implemented when powering up said storage medium.
Selon un autre mode de réalisation, l’émission d’une commande de configuration est mise en œuvre périodiquement. According to another embodiment, the emission of a configuration command is implemented periodically.
Grâce à la modification de la valeur de référence dans le temps, l’accès illégitime au support de stockage est davantage évité et l’utilisation d’un objet connecté comportant le support de stockage est plus sure Thanks to the modification of the reference value over time, illegitimate access to the storage medium is further avoided and the use of a connected object comprising the storage medium is more secure.
Selon une caractéristique, si selon le résultat de la vérification, ladite valeur dudit au moins un paramètre est différente de la valeur de référence prédéfinie ou n’est pas comprise dans une plage de valeurs prédéfinie comportant ladite valeur de référence, le procédé de contrôle comporte en outre l’émission d’une commande de suppression destinée à effacer le contenu dudit support de stockage. L’émission de cette commande permettant la suppression des données stockées dans le support de stockage constitue un mécanisme de défense en cas de tentative de lecture ou d’écriture frauduleuse, c'est-à-dire d’accès malveillant au support de stockage According to one characteristic, if according to the result of the check, said value of said at least one parameter is different from the predefined reference value or is not included in a range of predefined values comprising said reference value, the checking method comprises further issuing a deletion command intended to erase the contents of said storage medium. The issuance of this command allowing the deletion of the data stored in the storage medium constitutes a defense mechanism in the event of an attempt to read or write fraudulently, that is to say malicious access to the storage medium.
Selon une autre caractéristique, si selon le résultat de la vérification, la valeur dudit au moins un paramètre est différente de la valeur de référence prédéfinie ou n’est pas comprise dans une plage de valeurs déterminée comportant ladite valeur de référence, le procédé de contrôle comporte en outre l’émission d’un signal destiné à endommager l’équipement émettant Hopération à mettre en œuvre. According to another characteristic, if according to the result of the verification, the value of said at least one parameter is different from the predefined reference value or is not included in a determined range of values comprising said reference value, the control method further comprises the transmission of a signal intended to damage the transmitting equipment Hoperation to be implemented.
Par exemple, ce signal peut être un courant électrique très important pouvant endommager l’équipement intentant d’accéder de manière frauduleuse au support de stockage. For example, this signal can be a very large electrical current that can damage equipment attempting to fraudulently access the storage medium.
Selon un mode de réalisation, le support de stockage comprend une première zone de données à accès contrôlé et une deuxième zone de données à accès libre. According to one embodiment, the storage medium comprises a first controlled-access data zone and a second free-access data zone.
Dans ce mode de réalisation, le procédé d’accès comporte :In this embodiment, the access method comprises:
- si la mise en œuvre de l’opération est autorisée, mise en œuvre de l’opération sur la première zone, - if the implementation of the operation is authorised, implementation of the operation in the first zone,
- si la mise en œuvre de l’opération est refusée, mise en œuvre de l’opération sur la deuxième zone. - if implementation of the operation is refused, implementation of the operation in the second zone.
Ainsi, lorsque la mise en œuvre de l’opération est refusée à la suite de la vérification de la valeur d’au moins un paramètre relatif à au moins un signal électrique, l’opération commandée est néanmoins exécutée sur la deuxième zone de stockage qui joue ainsi un rôle de leurre pour les tiers malveillants. En effet, les opérations commandées par un tiers malveillant sont exécutées sur la deuxième zone de stockage et le dispositif piloté par le tiers malveillant reçoit les résultats de cette exécution. Le tiers malveillant ne peut pas effectuer une analyse du micrologiciel de l’objet connecté par exemple. Toujours à titre d’exemple, le tiers malveillant ne peut pas collecter des données sensibles, telles que des clés de cryptographie. De plus, le tiers malveillant ne détecte pas, ou au moins est ralenti dans la détection, que ses actions n’ont pas d’effet sur le support de stockage et ainsi sur le fonctionnement de l’objet connecté. Thus, when the implementation of the operation is refused following verification of the value of at least one parameter relating to at least one electrical signal, the commanded operation is nevertheless executed on the second storage zone which thus acts as a decoy for malicious third parties. Indeed, the operations commanded by a malicious third party are executed on the second storage zone and the device controlled by the malicious third party receives the results of this execution. The malicious third party cannot perform an analysis of the firmware of the connected object, for example. Also by way of example, the malicious third party cannot collect sensitive data, such as cryptography keys. In addition, the malicious third party does not detect, or at least less is slowed down in the detection, that its actions have no effect on the storage medium and thus on the operation of the connected object.
Par conséquent, toute opération exécutée sur la deuxième zone de stockage n’a alors aucun impact sur le fonctionnement d’un objet connecté qui mémorise dans le support de stockage des données utiles, telles que son micrologiciel, des données sensibles ou non. Ces données assurent un fonctionnement correct et sûr de l’objet. Les opérations commandées par un tiers malveillant sont exécutées sur la deuxième zone de stockage et le dispositif piloté par le tiers malveillant reçoit les résultats de cette exécution. L’accès à la première zone de stockage qui mémorise des données réelles est possible uniquement pour des tiers autorisés. Consequently, any operation carried out on the second storage area then has no impact on the operation of a connected object which stores useful data, such as its firmware, data that is sensitive or not, in the storage medium. This data ensures correct and safe operation of the object. The operations commanded by a malicious third party are executed on the second storage zone and the device controlled by the malicious third party receives the results of this execution. Access to the first storage area that stores real data is only possible for authorized third parties.
Selon une variante, toujours dans le mode de réalisation dans lequel le support de stockage comprend une première zone de données à accès contrôlé et une deuxième zone de données à accès libre, le procédé comporte : - lorsque la mise en œuvre de l’opération sur le support de stockage est autorisée, que l’ensemble de signaux reçu porte une information représentative d’une demande de déverrouillage de l’accès au support, et que l’accès est autorisé, la première zone du support de stockage est accédée en tant que zone d’exécution d’opération sur le support de stockage, - dans le cas contraire, une deuxième zone de stockage du support de stockage est accédée en tant que zone d’exécution d’opération sur le support de stockage. According to a variant, still in the embodiment in which the storage medium comprises a first controlled-access data zone and a second free-access data zone, the method comprises: - when the implementation of the operation on the storage medium is authorized, that the set of signals received carries information representative of a request for unlocking access to the medium, and that access is authorized, the first zone of the storage medium is accessed as as an operation execution area on the storage medium, - otherwise, a second storage area of the storage medium is accessed as an operation execution area on the storage medium.
Dans ce mode de réalisation, une fois que la mise en œuvre d’une opération est autorisée par la vérification de la valeur d’au moins un paramètre, un contrôle supplémentaire est mis en œuvre. Ce contrôle d’accès supplémentaire permet de vérifier, par un autre moyen, que le dispositif qui tente d’accéder au support de stockage est autorisé ou non. Lorsqu’il n’est pas autorisé, soit parce qu’il n’est pas informé de la mise en place d’un contrôle d’accès, soit parce qu’il ne dispose pas des informations de déverrouillage, les opérations commandées, qui ont été autorisés par le premier contrôle d’accès, sont exécutées sur la deuxième zone de stockage qui joue ainsi un rôle de leurre pour les tiers malveillants. Cette deuxième zone de stockage mémorise des données de leurre.In this embodiment, once the implementation of an operation is authorized by the verification of the value of at least one parameter, an additional check is implemented. This additional access control makes it possible to verify, by another means, that the device which tries to access the storage medium is authorized or not. When he is not authorized, either because he is not informed that access control has been set up, or because he does not have unlocking information, the operations ordered, which have been authorized by the first access control, are executed on the second storage zone which thus acts as a decoy for malicious third parties. This second storage area stores decoy data.
L’accès à la première zone de stockage qui mémorise des données réelles est possible uniquement pour des tiers autorisés par les deux contrôles d’accès. Toute opération exécutée sur la deuxième zone de stockage n’a alors aucun impact sur le fonctionnement d’un objet connecté qui mémorise dans le support de stockage des données utiles, telles que son micrologiciel, des données sensibles ou non. Ces données assurent un fonctionnement correct et sûr de l’objet. Les opérations commandées par un tiers malveillant sont exécutées sur la deuxième zone de stockage et le dispositif piloté par le tiers malveillant reçoit les résultats de cette exécution. Par exemple, le tiers malveillant ne peut pas effectuer une analyse du micrologiciel de l’objet connecté. Toujours à titre d’exemple, le tiers malveillant ne peut pas collecter des données sensibles, telles que des clés de cryptographie. De plus, le tiers malveillant ne détecte pas, ou au moins est ralenti dans la détection, que ses actions n’ont pas d’effet sur le support de stockage et ainsi sur le fonctionnement de l’objet connecté. Access to the first storage area that stores real data is possible only for third parties authorized by the two access controls. Any operation performed on the second storage area then has no impact on the operation of a connected object which stores useful data, such as its firmware, sensitive data or not, in the storage medium. This data ensures correct and safe operation of the object. The operations commanded by a malicious third party are executed on the second storage zone and the device controlled by the malicious third party receives the results of this execution. For example, the malicious third party cannot perform a firmware analysis of the connected object. Also by way of example, the malicious third party cannot collect sensitive data, such as cryptography keys. Moreover, the malicious third party does not detect, or at least is slowed down in the detection, that its actions have no effect on the storage medium and thus on the functioning of the connected object.
Dans un mode de réalisation particulier, la deuxième zone de données est sélectionnée en tant que zone d’exécution d’opération sur le support de stockage lors d’une activation du support de stockage. Ainsi, la deuxième zone de stockage qui mémorise des données de leurre est sélectionnée par défaut lors de l’activation du support de stockage. In a particular embodiment, the second data zone is selected as an operation execution zone on the storage medium during an activation of the storage medium. Thus, the second storage area that stores decoy data is selected by default when activating the storage medium.
Dans un mode de réalisation particulier, la demande de déverrouillage de l’accès au support comprend un code d’accès. In a particular embodiment, the request to unlock access to the medium includes an access code.
Dans ce mode de réalisation, l’ensemble de signaux électriques reçu porte la commande de déverrouillage ainsi qu’un code d’accès. La ou les opérations qui vont être exécutées sur la première zone de stockage sont ainsi reçues ultérieurement tant que le support de stockage reste activé. In this embodiment, the set of electrical signals received carries the unlocking command as well as an access code. The operation(s) that will be executed on the first storage zone are thus received subsequently as long as the storage medium remains activated.
Dans un mode de réalisation particulier, la deuxième zone du support de stockage comprend au moins une donnée de marquage appartenant au groupe comprenant au moins un identifiant du support de stockage et un localisateur uniforme de ressource. Ces données de marquage présentes dans la deuxième zone de stockage permettent de détecter ultérieurement qu’un tiers malveillant a tenté d’accéder au support de stockage. Lorsque la donnée de marquage est un identifiant du support de stockage, la publication par le tiers malveillant des données de la deuxième zone de stockage permet d’identifier le support de stockage concerné. Lorsque la donnée de marquage est un localisateur uniforme de ressource, une connexion ultérieure du tiers malveillant permet de collecter des informations, telles qu’une adresse IP (pour « Internet Protocol ») d’un dispositif utilisé par le tiers malveillant. Dans un mode de réalisation particulier, un compteur est incrémenté pour une opération exécutée sur la deuxième zone de stockage. In a particular embodiment, the second zone of the storage medium comprises at least one marking datum belonging to the group comprising at least one identifier of the storage medium and a uniform resource locator. These marking data present in the second storage zone make it possible to subsequently detect that a malicious third party has attempted to access the storage medium. When the marking data is an identifier of the storage medium, the publication by the malicious third party of the data of the second storage zone makes it possible to identify the storage medium concerned. When the marking data is a uniform resource locator, a subsequent connection of the malicious third party makes it possible to collect information, such as an IP address (for “Internet Protocol”) of a device used by the malicious third party. In a particular embodiment, a counter is incremented for an operation executed on the second storage area.
Ce compteur permet ainsi à l’objet connecté de détecter qu’un tiers malveillant a tenté d’accéder au support de stockage. Ceci facilite la détection d’attaques. Les caractéristiques du procédé de contrôle d’accès présenté ci- dessus peuvent être prises isolément ou en combinaison les unes avec les autres. This counter thus enables the connected object to detect that a malicious third party has attempted to access the storage medium. This makes it easier to detect attacks. The characteristics of the access control method presented above can be taken in isolation or in combination with each other.
La présente invention concerne, selon un deuxième aspect, un dispositif de contrôle d’accès à un support de stockage via un bus de communication, ledit dispositif de contrôle comportant un module de réception configuré pour recevoir, via ledit bus de communication, un ensemble de signaux électriques comportant un signal électrique représentatif d’une opération à mettre en œuvre sur le support de stockage. The present invention relates, according to a second aspect, to a device for controlling access to a storage medium via a communication bus, said control device comprising a reception module configured to receive, via said communication bus, a set of electrical signals comprising an electrical signal representative of an operation to be implemented on the storage medium.
Le dispositif de contrôle d’accès comporte en outre : - un module de vérification configuré pour vérifier la valeur d’au moins un paramètre relatif à au moins un signal électrique de l’ensemble de signaux électriques reçu ; et The access control device further comprises: - a verification module configured to verify the value of at least one parameter relating to at least one electrical signal from the set of electrical signals received; and
- un module de contrôle configuré pour autoriser ou refuser la mise en œuvre de l’opération sur le support de stockage, en fonction du résultat de ladite vérification. La présente invention concerne, selon un troisième aspect, un support de stockage comportant un dispositif de contrôle d’accès conforme à l’invention mettant en œuvre un procédé de contrôle d’accès conforme à l’invention. - a control module configured to authorize or refuse the implementation of the operation on the storage medium, depending on the result of said verification. The present invention relates, according to a third aspect, to a storage medium comprising an access control device according to the invention implementing an access control method according to the invention.
La présente invention concerne, selon un quatrième aspect, un objet connecté comportant un support de stockage et un module de gestion configuré pour gérer le fonctionnement de l’objet connecté, le module de gestion et le support de stockage communicant entre eux via un bus de communication. L’objet connecté comporte en outre un dispositif de contrôle d’accès au support de stockage conforme à l’invention et mettant en œuvre le procédé d’accès conforme à l’invention. The present invention relates, according to a fourth aspect, to a connected object comprising a storage medium and a management module configured to manage the operation of the connected object, the management module and the storage medium communicating with each other via a communication bus. communication. The connected object further comprises a device for controlling access to the storage medium in accordance with the invention and implementing the access method in accordance with the invention.
Selon un mode de réalisation, le dispositif de contrôle d’accès au support de stockage est intégré dans le support de stockage. According to one embodiment, the storage medium access control device is integrated into the storage medium.
La présente invention concerne, selon un cinquième aspect, un programme d’ordinateur comprenant des instructions de code pour la mise en œuvre des étapes du procédé de contrôle conforme à l’invention, lorsqu’il est exécuté par un processeur. The present invention relates, according to a fifth aspect, to a computer program comprising code instructions for implementing the steps of the control method according to the invention, when it is executed by a processor.
Le dispositif de contrôle d’accès, le support de stockage, l’objet connecté et le programme d’ordinateur présentent des caractéristiques et avantages analogues à ceux décrits précédemment en relation avec le procédé de contrôle d’accès à un support de stockage. The access control device, the storage medium, the connected object and the computer program have characteristics and advantages similar to those described previously in relation to the method of controlling access to a storage medium.
D'autres particularités et avantages de l'invention apparaîtront encore dans la description ci-après. Other features and advantages of the invention will appear further in the description below.
Aux dessins annexés, donnés à titre d'exemples non limitatifs : In the accompanying drawings, given by way of non-limiting examples:
- la figure 1a représente schématiquement un objet connecté, un support de stockage et un dispositif de contrôle d’accès conformes à un premier mode de réalisation de l’invention ; - Figure 1a schematically represents a connected object, a storage medium and an access control device in accordance with a first embodiment of the invention;
- la figure 1b représente schématiquement un objet connecté, un support de stockage et un dispositif de contrôle d’accès conformes à un deuxième mode de réalisation de l’invention ; - la figure 2 illustre des étapes d’un procédé de contrôle d’accès conforme à un premier mode de réalisation de l’invention ; - la figure 3 illustre des étapes d’un procédé de contrôle d’accès conforme à un deuxième mode de réalisation de l’invention ; - Figure 1b schematically represents a connected object, a storage medium and an access control device according to a second embodiment of the invention; - Figure 2 illustrates steps of an access control method according to a first embodiment of the invention; - Figure 3 illustrates steps of an access control method according to a second embodiment of the invention;
- la figure 4a illustre une architecture matérielle pouvant mettre en œuvre le procédé de contrôle d’accès conforme à l’invention ; et - la figure 4b est une représentation fonctionnelle d’un dispositif de contrôle d’accès conforme à un mode de réalisation de l’invention. - Figure 4a illustrates a hardware architecture that can implement the access control method according to the invention; and - Figure 4b is a functional representation of an access control device according to one embodiment of the invention.
L’invention s’applique à tout objet connecté, tel qu’un terminal de téléphonie mobile, un ordinateur portable, une tablette, une passerelle, une imprimante, une enceinte audio, un décodeur de télévision, un téléviseur, une console de jeux, un appareil électroménager, un capteur, une caméra, etc. The invention applies to any connected object, such as a mobile telephone terminal, a laptop computer, a tablet, a gateway, a printer, an audio speaker, a television decoder, a television set, a game console, a household appliance, a sensor, a camera, etc.
L’invention s’applique particulièrement à tout objet connecté comportant un support de stockage tel qu’une mémoire non volatile réinscriptible. Elle peut néanmoins s’appliquer à des objets connectés comportant de mémoires d’autre type. Plus généralement, l’invention s’applique à tout objet communicant, c'est-à-dire à des objets configurés pour communiquer (émettre ou recevoir des données) avec d’autres équipements. The invention applies particularly to any connected object comprising a storage medium such as a rewritable non-volatile memory. It can nevertheless be applied to connected objects comprising memories of another type. More generally, the invention applies to any communicating object, that is to say objects configured to communicate (send or receive data) with other equipment.
Dans la suite de ce document, le terme objet ou objet connecté sera utilisé indistinctement, et s’applique aussi à des objets communicants. En outre, le support de stockage peut être embarqué dans l’objet connecté ou externe à l’objet connecté (par exemple une carte mémoire ou un support de stockage pouvant être relié à l’objet connecté par exemple via un bus de type USB (pour « Universal Serial Bus »)). In the remainder of this document, the term object or connected object will be used interchangeably, and also applies to communicating objects. In addition, the storage medium can be embedded in the connected object or external to the connected object (for example a memory card or a storage medium that can be connected to the connected object for example via a USB type bus ( for "Universal Serial Bus")).
Les figures 1a et 1b représentent schématiquement un objet connecté 1 comportant un module de gestion 10 du fonctionnement de l’objet connecté et un dispositif ou support de stockage 20. Le module de gestion 10 comporte notamment un processeur ou un microcontrôleur. FIGS. 1a and 1b schematically represent a connected object 1 comprising a module 10 for managing the operation of the connected object and a storage device or medium 20. The management module 10 notably comprises a processor or a microcontroller.
Le dispositif ou support de stockage 20 peut être une mémoire non volatile réinscriptible, telle qu’une mémoire de type Flash. Cette mémoire peut comprendre des programmes informatiques et autres données nécessaires au fonctionnement de l’objet connecté 1. Par exemple, le support de stockage 20 et le module de gestion 10 sont placés dans une même carte électronique de gestion contenant les circuits électroniques nécessaires au fonctionnement de l’objet connecté 1. The storage device or medium 20 can be a rewritable non-volatile memory, such as a Flash type memory. This memory can include computer programs and other data necessary for the operation of the connected object 1. For example, the storage medium 20 and the management module 10 are placed in the same electronic management card containing the electronic circuits necessary for the operation of the connected object 1.
Bien entendu, le support de stockage 20 et le module de gestion 10 peuvent être disposés dans des cartes électroniques différentes. Of course, the storage medium 20 and the management module 10 can be placed in different electronic cards.
Le module de gestion 10 et le support de stockage 20 communiquent entre eux via un bus de communication 100. Le module de gestion 10 communique avec le support de stockage 20 pour par exemple échanger des informations nécessaires au fonctionnement de l’objet, des clés privées nécessaires pour établir une connexion avec un serveur, des clés Wi-Fi ou autres. En outre, le module de gestion 10 adresse des commandes d’opération au support de stockage 20, ces commandes d’opération étant typiquement des commandes d’écriture, des commandes de lecture et des commandes d’effacement. Le bus de communication 100 utilisé est par exemple un bus de données série permettant la mise en œuvre d’une liaison SPI (pour « Serial Peripheral Interface ») entre le module de gestion 10 et le support de stockage 20. The management module 10 and the storage medium 20 communicate with each other via a communication bus 100. The management module 10 communicates with the storage medium 20 for example to exchange information necessary for the operation of the object, private keys necessary to establish a connection with a server, Wi-Fi keys or others. Furthermore, the management module 10 sends operation commands to the storage medium 20, these operation commands being typically write commands, read commands and erase commands. The communication bus 100 used is for example a serial data bus allowing the implementation of an SPI link (for “Serial Peripheral Interface”) between the management module 10 and the storage medium 20.
Ce type de liaison permet des communications simultanées entre le module de gestion 10 et le support de stockage 20. This type of link allows simultaneous communications between the management module 10 and the storage medium 20.
Bien entendu, d’autres types de bus de communication peuvent être utilisés, par exemple des bus de communication de type I2C (pour « Inter- Integrated Circuit »), ou de type USB (pour « Universal Serial Bus ») utilisé dans des cas de mémoires externes. On va décrire un mode de réalisation dans lequel le support de stockage 20 est une mémoire de type Flash et le bus de communication 100 utilisé pour les échanges entre le module de gestion 10 et le support de stockage 20 est un bus de type SPI. Toutefois, l’invention s’applique pour la gestion des accès à des supports de stockage d’autres types via des bus de communication d’autres types. Of course, other types of communication bus can be used, for example communication buses of the I2C type (for "Inter-Integrated Circuit"), or of the USB type (for "Universal Serial Bus") used in cases external memories. An embodiment will be described in which the storage medium 20 is a Flash type memory and the communication bus 100 used for the exchanges between the management module 10 and the storage medium 20 is an SPI type bus. However, the invention applies to the management of access to storage media of other types via communication buses of other types.
Le bus de communication de type SPI est une interface série synchrone. Il est configuré pour transmettre un ensemble de signaux électriques. A cet effet, le bus de communication comporte un ensemble de lignes, quatre au maximum pour un bus de type SPI. The SPI type communication bus is a synchronous serial interface. It is configured to transmit a set of electrical signals. For this purpose, the communication bus comprises a set of lines, four at most for an SPI type bus.
Dans un mode de réalisation, l’ensemble de signaux électriques comporte un signal d’horloge CLK, un signal de sélection ou activation CS de la mémoire et deux signaux de données utilisées pour échanger des données entre le module de gestion 10 et le support de stockage 20. Chaque signal électrique utilise une ligne du bus de communication. In one embodiment, the set of electrical signals comprises a clock signal CLK, a memory selection or activation signal CS and two data signals used to exchange data between the management module 10 and the storage medium. storage 20. Each electrical signal uses a line of the communication bus.
Le support de stockage 20 représenté à la figure 1a comporte une broche de contrôle ou entrée de contrôle (« pin » en terminologie anglo- saxonne), « Chip Select » destinée à l’activation du support de stockage et étant reliée à une ligne destinée au transport du signal de sélection ou activation CS. The storage medium 20 represented in FIG. 1a comprises a control pin or control input (“pin” in Anglo-Saxon terminology), “Chip Select” intended for the activation of the storage medium and being connected to a line intended transporting the selection or activation signal CS.
Le support de stockage ou mémoire 20 comporte une broche ou entrée CLK reliée à une ligne destinée au transport du signal d’horloge CLK ainsi qu’une broche d’entrée de données DATAJN et une broche de sortie de données DATA_OUT reliées respectivement aux lignes transportant les signaux de données. Un signal de données peut être une commande d’opération émis par le module de gestion 10 et destinée à la mémoire 20, des données à écrire dans une adresse de la mémoire ou des données lues dans une adresse de la mémoire 20. On notera que la commande d’opération ou les données à écrire sont adressées à la mémoire 20 via la ligne du bus de communication reliée à la broche d’entrée DATAJN ou autrement dit constituent des données d’entrée à la mémoire 20. Quant aux données lues à une adresse de la mémoire, ils constituent des données de sortie de la mémoire et sont adressées au module de gestion 10 via la ligne du bus de communication reliée à la broche de sortie DATA OUT. The storage medium or memory 20 comprises a pin or input CLK connected to a line intended for transporting the clock signal CLK as well as a data input pin DATAJN and a data output pin DATA_OUT respectively connected to the lines carrying data signals. A data signal can be an operation command sent by the management module 10 and intended for the memory 20, data to be written in an address of the memory or data read in an address of the memory 20. It will be noted that the operation command or the data to be written are addressed to the memory 20 via the line of the communication bus connected to the input pin DATAJN or in other words constitute input data to the memory 20. As for the data read at a memory address, they constitute memory output data and are addressed to the management module 10 via the communication bus line connected to the DATA OUT output pin.
Il est ainsi considéré que l’ensemble de signaux électriques transmis par le bus de communication comporte une commande d’opération à mettre en œuvre dans le support de stockage. Dans d’autres termes, l’ensemble de signaux électriques comporte un signal électrique représentatif d’une commande d’opération. It is thus considered that the set of electrical signals transmitted by the communication bus includes an operation command to be implemented in the storage medium. In other words, the set of electrical signals comprises an electrical signal representative of an operation command.
Ainsi, le support de stockage 20 est configuré pour recevoir un ensemble de signaux électriques comportant une commande d’opération. Les signaux électriques de l’ensemble sont générés par le module de gestion 10 en tenant compte d’un ensemble de paramètres de fonctionnement du support de stockage. La valeur de ces paramètres est sélectionnée par le concepteur de l’objet connecté parmi les valeurs données par le fabricant du support de stockage. Thus, the storage medium 20 is configured to receive a set of electrical signals comprising an operation command. The All of the electrical signals are generated by the management module 10 taking into account a set of operating parameters of the storage medium. The value of these parameters is selected by the designer of the connected object from among the values given by the manufacturer of the storage medium.
Les valeurs des paramètres de fonctionnement du support de stockage, pour la mise en œuvre de l’opération, sont définies par l’ensemble de signaux électriques reçu. L’ensemble de signaux électriques définit ainsi l’opération à mettre en œuvre et des valeurs des paramètres de fonctionnement du support de stockage pour la mise en œuvre de l’opération. The values of the operating parameters of the storage medium, for the implementation of the operation, are defined by the set of electrical signals received. The set of electrical signals thus defines the operation to be implemented and values of the operating parameters of the storage medium for the implementation of the operation.
A titre d’exemple nullement limitatif, pour la mise en œuvre d’une opération de lecture, le module de gestion 10 génère un ensemble de signaux comportant une commande de lecture. Autrement dit, un signal électrique de l’ensemble de signaux électriques est représentatif d’une commande de lecture. Par exemple, le signal électrique représente une suite de données définissant l’opération. L’ensemble de signaux comporte en outre le signal d’activation de la mémoire et le signal d’horloge. Ainsi, pour la mise en œuvre d’une opération de lecture, le module de gestion 10 adresse le signal d’activation de la mémoire, le signal d’horloge et une commande de lecture. L’activation de l’entrée de contrôle « Chip Select » est mise en œuvre par l’application à la broche d’activation CS du signal d’activation représentatif d’une tension prédéfinie. Pour cela le signal d’activation, est un signal logique, présentant un niveau de tension équivalent à la tension prédéfinie. La tension prédéfinie peut être la valeur minimale, par exemple 0V, le signal d’activation étant alors au niveau bas de tension. Bien entendu, dans d’autres configurations, la mémoire peut être activée par un signal d’activation présentant un niveau haut de tension. By way of non-limiting example, for the implementation of a read operation, the management module 10 generates a set of signals comprising a read command. In other words, an electrical signal from the set of electrical signals is representative of a read command. For example, the electrical signal represents a series of data defining the operation. The signal set further includes the memory enable signal and the clock signal. Thus, for the implementation of a read operation, the management module 10 sends the memory activation signal, the clock signal and a read command. Activation of the “Chip Select” control input is implemented by applying to the CS activation pin the activation signal representing a predefined voltage. For this, the activation signal is a logic signal, presenting a voltage level equivalent to the predefined voltage. The predefined voltage can be the minimum value, for example 0V, the activation signal then being at the low voltage level. Of course, in other configurations, the memory can be activated by an activation signal presenting a high voltage level.
La mémoire recevant ce signal d’activation est informée qu’une commande d’opération va lui être adressée et se met en écoute pour la réception de commandes d’opération, étant dans l’exemple donné une commande de lecture. Une telle commande de lecture peut prendre par exemple la forme de la suite de données suivante : « 0x030x000x01 0x000x00 », où 0x03 indique, en valeurs hexadécimales, que l’opération à mettre en œuvre est une opération de lecture et le reste de la commande représente l’adresse de la mémoire devant être lue. Une fois l’opération mise en œuvre, les données lues sont présentes dans la ligne de données reliée à la broche de sortie DATA_OUT et adressées au module de gestion 10. The memory receiving this activation signal is informed that an operation command is going to be addressed to it and starts listening for the reception of operation commands, being in the given example a read command. Such a read command can for example take the form of the following data sequence: "0x030x000x01 0x000x00", where 0x03 indicates, in hexadecimal values, that the operation to be implemented is a read operation and the rest of the command represents the address of the memory to be read. Once the operation has been implemented, the data read is present in the data line connected to the DATA_OUT output pin and addressed to the management module 10.
Dans le mode de réalisation décrit, le signal électrique représentant la commande d’opération est un signal logique dont le niveau de tension varie de sorte à représenter la suite de données (bits d’information) formant la commande d’opération. Il est considéré que la commande d’opération prend la forme d’un signal logique représentant la suite de données (ou bits d’information) constituant la commande d’opération. Ce type de signal électrique, utilisé par les bus de communication de type SPI est connu de l’homme du métier et ne nécessite pas d’être décrit en détail ici. In the embodiment described, the electrical signal representing the operation command is a logic signal whose voltage level varies so as to represent the sequence of data (information bits) forming the operation command. It is considered that the operation command takes the form of a logic signal representing the series of data (or bits of information) constituting the operation command. This type of electrical signal, used by SPI type communication buses is known to those skilled in the art and does not need to be described in detail here.
Dans le mode de réalisation décrit, le module de gestion 10 génère un signal d’horloge permettant d’échanger un bit d’information à chaque front (par exemple montant) du signal d’horloge. Par exemple, si le module de gestion 10 met en œuvre la lecture de données stockées dans le support de stockage 20, un bit est obtenu à chaque front (par exemple montant) du signal d’horloge soit un octet après huit fronts montants. In the embodiment described, the management module 10 generates a clock signal making it possible to exchange an information bit at each edge (for example rising) of the clock signal. For example, if the management module 10 implements the reading of data stored in the storage medium 20, one bit is obtained at each edge (for example rising) of the clock signal, i.e. one byte after eight rising edges.
La vitesse à laquelle sont transférées les données via le bus de communication 100 est fixée en fonction des caractéristiques des composants électroniques formant le module de gestion 10 et le support de stockage 20. A titre d’exemple nullement limitatif, le support de stockage est une mémoire flash pouvant être alimentée par des tensions entre 2.8V à 3.6V et les données peuvent être reçues et/ou transmises via le bus de communication 100 à de vitesses entre 0 et 120 MHz. The speed at which the data are transferred via the communication bus 100 is fixed according to the characteristics of the electronic components forming the management module 10 and the storage medium 20. By way of non-limiting example, the storage medium is a flash memory which can be powered by voltages between 2.8V and 3.6V and the data can be received and/or transmitted via the communication bus 100 at speeds between 0 and 120 MHz.
En outre, différents modes d’échange (ou de communication) peuvent être utilisés entre le module de gestion 10 et la mémoire 20, les modes d’échange ou de communication étant définis par la polarité (CPOL) et la phase (CPHA) du signal d’horloge lorsque la mémoire reçoit le signal d’activation sur la broche CS. Les modes correspondent à de combinaisons des valeurs de la polarité et la phase du signal d’horloge (CPOL, CPHA). La polarité (CPOL) et la phase (CPHA) du signal d’horloge contrôlent le front d’horloge actif où la mémoire reçoit ou envoie les données. Si la polarité CPOL présente la valeur 0, le signal horloge est en veille au niveau bas de tension, c'est-à-dire que les données seront échangées lorsque le signal d’horloge est au niveau haut de tension. Si la polarité CPOL présente la valeur 1, le signal horloge est en veille au niveau haut de tension, c'est-à-dire que les données seront échangées lorsque le signal d’horloge est au niveau bas de tension. Si la phase CPHA présente la valeur 0, les données sont obtenues sur un front montant du signal d’horloge et si la phase CPHA présente la valeur 1, les données sont obtenues sur un front descendant du signal d’horloge. In addition, different exchange (or communication) modes can be used between the management module 10 and the memory 20, the exchange or communication modes being defined by the polarity (CPOL) and the phase (CPHA) of the clock signal when the memory receives the enable signal on the CS pin. The modes correspond to combinations of the values of the polarity and the phase of the clock signal (CPOL, CPHA). The polarity (CPOL) and phase (CPHA) of the clock signal control the active clock edge where the memory receives or sends data. If the CPOL polarity has the value 0, the clock signal is on standby at the low voltage level, ie the data will be exchanged when the clock signal is at the high voltage level. If the CPOL polarity has the value 1, the clock signal is on standby at the high voltage level, ie the data will be exchanged when the clock signal is at the low voltage level. If the CPHA phase has the value 0, the data is obtained on a rising edge of the clock signal and if the CPHA phase has the value 1, the data is obtained on a falling edge of the clock signal.
Par exemple, quatre modes de communication sont possibles, nommés modes 0, 1, 2 et 3. Par exemple, les modes 0 et 3 peuvent être utilisés pour échanger des données avec la mémoire 20. Le mode 0 correspond au couple (CPOL, CPHA) de valeur (0,0), le mode 1 au (0, 1 ), le mode 2 au (1 , 0) et le mode 3 au (1,1). For example, four communication modes are possible, named modes 0, 1, 2 and 3. For example, modes 0 and 3 can be used to exchange data with the memory 20. Mode 0 corresponds to the pair (CPOL, CPHA ) of value (0,0), mode 1 at (0, 1), mode 2 at (1, 0) and mode 3 at (1,1).
Bien entendu, les valeurs de fréquence et de tension ainsi que le mode d’échange de données utilisé peuvent être différents en fonction du type et du modèle de la mémoire utilisée. Le concepteur de l’objet connecté tient compte des valeurs à utiliser pour des paramètres relatifs aux composants électroniques. Par exemple, le concepteur tient compte des valeurs données par le fabricant de la mémoire utilisée, pour de paramètres tels que la tension d’alimentation, la fréquence et le mode d’échange supportés. Ainsi, en particulier le module de gestion 10 est configuré pour tenir compte de ces valeurs pour la génération de l’ensemble de signaux comportant la commande d’opération. Of course, the frequency and voltage values as well as the data exchange mode used may be different depending on the type and model of the memory used. The designer of the connected object takes into account the values to be used for parameters relating to the electronic components. For example, the designer takes into account the values given by the manufacturer of the memory used, for parameters such as the supply voltage, the frequency and the exchange mode supported. Thus, in particular the management module 10 is configured to take account of these values for the generation of the set of signals comprising the operation command.
On notera que les fabricants de mémoires donnent des différentes plages acceptables de tension d’alimentation, de fréquence et des modes de communication supportés dans les fiches techniques (« datasheet » en terminologie anglo-saxonne) des mémoires. Le concepteur de l’objet connecté sélectionne des valeurs pour les paramètres de fonctionnement au sein de ces plages. L’objet connecté 1 comporte en outre un dispositif de contrôle d’accès 200 au support de stockage 20. Le dispositif de contrôle d’accès 200 sera décrit ci-dessous en référence aux figures 4a et 4b. Le dispositif de contrôle d’accès 200 est configuré pour mettre en œuvre le procédé de contrôle d’accès au support de stockage conforme à l’invention qui sera décrit en référence aux figures 2 et 3. La mise en œuvre de ce procédé permet de contrôler l’accès au support de stockage 20, c'est-à-dire la mise en œuvre des opérations sur le support de stockage, en particulier sur une zone de stockage de données 210 du support de stockage 20 (zone ou secteur de la mémoire). Comme indiqué ci- dessus, les opérations peuvent être la lecture ou l’écriture de données dans une zone du support de stockage 20. Une autre opération peut être l’effacement d’une zone du support de stockage. It will be noted that the memory manufacturers give different acceptable ranges of supply voltage, frequency and communication modes supported in the technical sheets (“datasheet” in English terminology) of the memories. The designer of the connected object selects values for the operating parameters within these ranges. The connected object 1 further comprises an access control device 200 to the storage medium 20. The access control device 200 will be described below with reference to Figures 4a and 4b. The access control device 200 is configured to implement the method for controlling access to the storage medium in accordance with the invention which will be described with reference to FIGS. 2 and 3. The implementation of this method makes it possible to controlling access to the storage medium 20, i.e. the implementation of operations on the storage medium, in particular on a data storage area 210 of the storage medium 20 (zone or sector of the memory). As indicated above, the operations may be the reading or writing of data in an area of the storage medium 20. Another operation may be the erasing of an area of the storage medium.
Le dispositif de contrôle d’accès 200 peut être embarqué dans le support de stockage 20 (figure 1a) ou peut être situé à l’extérieur du support de stockage, entre le module de gestion 10 et le support de stockage 20 (figure 1 b). L’objet connecté 1 comporte en outre une mémoire vive ou RAM (non illustrée). The access control device 200 can be embedded in the storage medium 20 (FIG. 1a) or can be located outside the storage medium, between the management module 10 and the storage medium 20 (FIG. 1b ). The connected object 1 also includes a random access memory or RAM (not shown).
Dans un mode de réalisation, le support de stockage 20, en particulier la zone de stockage de données 210 comprend dans des zones de stockage des données 210, une première zone de stockage 2101 comprenant des données utiles, c’est-à-dire les données qui sont utilisées par l’application qui s’exécute sur l’objet connecté. Dans cette première zone de stockage 2101 sont ainsi stockées les données auxquelles un tiers mal intentionné ne doit pas accéder. L’accès à ces données est contrôlé par le dispositif de contrôle d’accès 200. In one embodiment, the storage medium 20, in particular the data storage area 210 comprises, in the data storage areas 210, a first storage area 2101 comprising useful data, that is to say the data that is used by the application running on the connected object. In this first storage area 2101 are thus stored the data to which an ill-intentioned third party must not access. Access to this data is controlled by the access control device 200.
Une deuxième zone de stockage 2102, distincte de la première zone de stockage 2101, comprend des données de leurre, c’est-à-dire des données qui ne sont pas utilisées par l’application qui s’exécute sur l’objet connecté. Plus précisément, ces données sont destinées à faire croire au tiers malveillant qu’il accède bien à la première zone de stockage 2101. Les tailles de ces première 2101 et deuxième 2102 zones de stockage sont par exemple identiques. Ceci permet de renforcer l’effet d’un accès normal au support de stockage. Cette deuxième zone de stockage 2102 correspond à une zone de leurre (également appelé « honeypot » en anglais). Elle permet de limiter les interactions malveillantes avec le support de stockage. Grâce à la technique proposée, le tiers malveillant va tenter d’exploiter des données ou bien encore de véroler des données, sans que cela ne corresponde aux données utiles à l’objet connecté. Le tiers malveillant lit une zone de données qui ne comprend aucune information sensible ou confidentielle ou bien encore altère des données sans que cela n’ait d’impact sur le fonctionnement de l’objet connecté. Dans un mode de réalisation particulier, cette deuxième zone de stockage 2102 comprend des données de marquage. Il s’agit par exemple de données de marquage comprenant un identifiant du support de stockage 210, tel que le numéro de série. Ainsi, si le tiers malveillant publie les données de la deuxième zone de stockage 2102, il est possible d’identifier le support de stockage 20 qui a été attaqué. Ces données de marquage peuvent être ajoutées grâce à un mécanisme de tatouage numérique (« watermark » en anglais). Par exemple, l’identifiant du support de stockage est partitionné en N morceaux, qui sont stockés à des adresses fixes de la deuxième zone de stockage, ces adresses fixes n’étant pas publiques. Toujours à titre illustratif, il s’agit de données de marquage comprenant un localisateur uniforme de ressource ou URL (pour « Uniform Resource Locator »), ou adresse d’une ressource sur le réseau Internet. Si le tiers malveillant tente d’accès à cette adresse de localisation, il est alors possible de détecter qu’une attaque a eu lieu et d’obtenir son adresse IP du tiers malveillant. A second storage area 2102, distinct from the first storage area 2101, includes decoy data, that is to say data which is not used by the application which is executed on the connected object. More precisely, these data are intended to make the malicious third party believe that he is indeed accessing the first storage area 2101. The sizes of these first 2101 and second 2102 storage areas are for example identical. This reinforces the effect of normal access to the storage medium. This second storage area 2102 corresponds to a decoy area (also called a “honeypot” in English). It limits interaction malware with the storage medium. Thanks to the proposed technique, the malicious third party will attempt to exploit data or even steal data, without this corresponding to the data useful to the connected object. The malicious third party reads a data zone that does not include any sensitive or confidential information or even alters data without this having any impact on the operation of the connected object. In a particular embodiment, this second storage area 2102 includes marking data. This is, for example, marking data comprising an identifier of the storage medium 210, such as the serial number. Thus, if the malicious third party publishes the data from the second storage zone 2102, it is possible to identify the storage medium 20 which has been attacked. These marking data can be added using a digital watermarking mechanism. For example, the identifier of the storage medium is partitioned into N pieces, which are stored at fixed addresses of the second storage zone, these fixed addresses not being public. Still by way of illustration, these are marking data comprising a uniform resource locator or URL (for “Uniform Resource Locator”), or address of a resource on the Internet network. If the malicious third party attempts to access this location address, it is then possible to detect that an attack has taken place and to obtain its IP address from the malicious third party.
Bien entendu, la partition de la zone de stockage de données 210 précitée est optionnelle, la zone de stockage de données pouvant être une zone unique. Of course, the partition of the aforementioned data storage area 210 is optional, the data storage area possibly being a single area.
Le procédé de contrôle d’accès au support de stockage 20 selon un premier mode de réalisation est illustré à la figure 2. The method for controlling access to the storage medium 20 according to a first embodiment is illustrated in FIG. 2.
Dans le mode de réalisation décrit, le zone de stockage de données 210 est une zone unique, c’est-à-dire qu’elle ne comporte pas des première 2101 et deuxième 2102 zones d’exécution. In the embodiment described, the data storage area 210 is a single area, that is to say it does not include first 2101 and second 2102 execution areas.
Lorsque le module de gestion 10 veut mettre en œuvre une opération sur la mémoire 20, il adresse à la mémoire un ensemble de signaux électriques comportant un signal d’activation de la mémoire, un signal d’horloge et signal électrique représentatif d’une commande d’opération, la commande d’opération définissant l’opération à mettre en œuvre. Ces signaux électriques sont générés par le module de gestion 10 en tenant compte des valeurs auxquels doivent être établis les paramètres de fonctionnement du support de stockage 20 pour la mise en œuvre de l’opération, tels que la tension d’alimentation, la fréquence du signal d’horloge ou autres. When the management module 10 wishes to implement an operation on the memory 20, it sends to the memory a set of electrical signals comprising a memory activation signal, a clock signal and an electrical signal representing a command of operation, the operation command defining the operation to be implemented. These electrical signals are generated by the management module 10 taking into account the values at which the operating parameters of the storage medium 20 must be established for the implementation of the operation, such as the supply voltage, the frequency of the clock signal or others.
En effet, lorsqu’une opération va être mise en œuvre sur une mémoire 20, la mémoire 20 doit être activée E0. Par exemple, une mémoire est activée en appliquant une tension d’alimentation sur l’entrée ou broche d’alimentation (« pin » en terminologie anglo-saxonne) et en activant l’entrée ou broche de contrôle destinée à l’activation de la mémoire « Chip Select ». Si la mémoire est déjà alimentée, elle est activée en activant la broche d’activation CS. Comme indiqué ci-dessus en référence aux figures 1a et 1b, l’activation de l’entrée de contrôle « Chip Select » est mise en œuvre par l’application d’une tension prédéfinie. La tension prédéfinie peut être la valeur minimale, par exemple 0V, ou alors une valeur de tension d’alimentation. Indeed, when an operation is going to be implemented on a memory 20, the memory 20 must be activated E0. For example, a memory is activated by applying a supply voltage to the input or power pin (“pin” in Anglo-Saxon terminology) and by activating the input or control pin intended for the activation of the “Chip Select” memory. If the memory is already powered, it is enabled by turning on the CS enable pin. As indicated above with reference to Figures 1a and 1b, the activation of the "Chip Select" control input is implemented by the application of a predefined voltage. The predefined voltage can be the minimum value, for example 0V, or a supply voltage value.
Une fois la mémoire activée, il est vérifié E11 si un signal d’horloge est appliqué sur l’entrée de contrôle CLK de la mémoire 20. Si un signal d’horloge est appliqué, il est vérifié E12 si une commande d’opération à mettre en œuvre est reçue E11 par la mémoire 20 sur l’entrée de données DATAJN. Once the memory is activated, it is checked E11 if a clock signal is applied to the CLK control input of memory 20. If a clock signal is applied, it is checked E12 if an operation command to implement is received E11 by memory 20 on data input DATAJN.
Dans ce mode de réalisation, la tension d’alimentation, la fréquence du signal d’horloge et le mode de lecture utilisé par le support de stockage sont des paramètres de fonctionnement définis par les signaux électriques reçus. Ainsi, la valeur des paramètres de l’ensemble de paramètres est définie par les signaux de l’ensemble de signaux reçu par la mémoire 20. In this embodiment, the supply voltage, the frequency of the clock signal and the read mode used by the storage medium are operating parameters defined by the electrical signals received. Thus, the value of the parameters of the set of parameters is defined by the signals of the set of signals received by the memory 20.
Si l’ensemble de signaux électriques ci-dessus est reçu, la valeur d’au moins un paramètre relatif à au moins un signal électrique est vérifiée E2. Autrement dit, la valeur d’au moins un paramètre de fonctionnement de la mémoire est vérifiée E2. Dans un mode de réalisation, plusieurs paramètres de l’ensemble de paramètres sont vérifiés. La mise en œuvre de l’opération est autorisée ou refusée en fonction de la valeur vérifiée. If the above set of electrical signals is received, the value of at least one parameter relating to at least one electrical signal is checked E2. In other words, the value of at least one memory operating parameter is checked E2. In one embodiment, multiple parameters of the parameter set are checked. The implementation of the operation is authorized or denied depending on the checked value.
Dans le mode de réalisation décrit, la valeur de la totalité des paramètres de l’ensemble de paramètres est vérifiée E2 pour décider d’autoriser ou de refuser l’accès à la mémoire 20. Ainsi, la mise en œuvre de l’opération est autorisée ou refusée en fonction d’une combinaison de valeurs des paramètres. In the embodiment described, the value of all the parameters of the set of parameters is checked E2 to decide whether to authorize or to refuse access to the memory 20. Thus, the implementation of the operation is authorized or refused according to a combination of values of the parameters.
Bien entendu, la vérification peut être mise en œuvre pour un ou plusieurs paramètres de l’ensemble, en nombre inférieur à la totalité des paramètres de l’ensemble. Of course, the verification can be implemented for one or more parameters of the set, in number less than the totality of the parameters of the set.
On notera que dans un mode de réalisation, tel que celui représenté, la vérification de la valeur de l’ensemble de paramètres est mise en œuvre si, en plus d’avoir reçu une commande d’opération, un signal d’horloge est appliqué à la mémoire 20. It will be noted that in an embodiment, such as the one shown, the verification of the value of the set of parameters is implemented if, in addition to having received an operation command, a clock signal is applied to memory 20.
Dans un mode de réalisation, l’ensemble de paramètres de fonctionnement vérifié comporte la tension d’alimentation V de la mémoire, la fréquence f du signal d’horloge CLK appliqué et le mode de communication utilisé par la mémoire pour dialoguer via le bus de communication 100. In one embodiment, the set of verified operating parameters includes the supply voltage V of the memory, the frequency f of the clock signal CLK applied and the communication mode used by the memory to dialogue via the communication bus. communications 100.
Selon de différents modes de réalisation, l’ensemble des paramètres peut comporter un ou plusieurs paramètres parmi les paramètres précités, ou d’autres paramètres de fonctionnement de la mémoire. According to different embodiments, the set of parameters may comprise one or more parameters from among the aforementioned parameters, or other memory operating parameters.
Dans un mode de réalisation, lors de la vérification E2 de la valeur de l’ensemble des paramètres ou vérification de l’ensemble de valeurs, chaque valeur de paramètre est vérifiée par rapport à une valeur de référence associée au paramètre. In one embodiment, during the verification E2 of the value of the set of parameters or verification of the set of values, each parameter value is verified with respect to a reference value associated with the parameter.
Par exemple, il est vérifié si la valeur du paramètre est égale à la valeur de référence associée au paramètre. For example, it is checked whether the value of the parameter is equal to the reference value associated with the parameter.
Les valeurs de référence pour les paramètres de l’ensemble ont été enregistrées préalablement dans la mémoire 20. Typiquement, ces valeurs sont définies et enregistrées par le concepteur de l’objet connecté 1 comportant la mémoire 20. Les valeurs de référence pour les paramètres de fonctionnement de l’ensemble sont sélectionnées parmi des plages de valeurs données par le fabricant de la mémoire. The reference values for the parameters of the assembly have been recorded beforehand in the memory 20. Typically, these values are defined and recorded by the designer of the connected object 1 comprising the memory 20. The reference values for the parameters of operation of the assembly are selected from ranges of values given by the memory manufacturer.
A titre d’exemple nullement limitatif, la mémoire 20 utilisée peut être alimentée par des tensions de 2.8V à 3.6V, échanger des données à des vitesses de 0 à 120 MHz et utiliser les modes 0 et 3 pour l’échange de données via le bus de communication 100. Dans le mode de réalisation décrit, lors de la conception de l’objet connecté 1 utilisant cette mémoire 20, des valeurs de référence sont sélectionnées pour ces trois paramètres de fonctionnement, c'est-à-dire la tension d’alimentation, la vitesse ou fréquence du signal d’horloge et le mode de communication supporté par la mémoire. By way of non-limiting example, the memory 20 used can be powered by voltages from 2.8V to 3.6V, exchange data at speeds from 0 to 120 MHz and use modes 0 and 3 for data exchange via the communication bus 100. In the embodiment described, during the design of the connected object 1 using this memory 20, reference values are selected for these three operating parameters, that is to say the supply voltage, the speed or frequency of the clock signal and the communication mode supported by the memory.
Par exemple, la valeur de référence V_ref sélectionnée pour la tension d’alimentation est 2,75 V, la fréquence de référence f_ref de 87654321 Hz, et le mode de référence mode_ref est le mode 3. For example, the V_ref reference value selected for the supply voltage is 2.75 V, the f_ref reference frequency is 87654321 Hz, and the mode_ref reference mode is mode 3.
Bien entendu, ces valeurs sont données pour illustrer la description et d’autres valeurs de référence peuvent être sélectionnées. En outre, on notera que les valeurs des paramètres de fonctionnement peuvent être différentes en fonction du type et modèle de la mémoire utilisée. Of course, these values are given to illustrate the description and other reference values can be selected. Furthermore, it will be noted that the values of the operating parameters may be different depending on the type and model of the memory used.
Dans le mode de réalisation représenté à la figure 2, lors de la vérification E2, il est vérifié si chaque valeur d’un paramètre de l’ensemble est comprise dans une plage de valeurs comportant la valeur de référence V_ref, f_ref, mode_ref associé au paramètre. Ces plages de valeurs sont définies pour tenir compte de légères variations des valeurs des paramètres par rapport aux valeurs de référence. Ainsi, il est vérifié si les valeurs des paramètres sont sensiblement égales aux valeurs de référence respectivement. Bien entendu, dans d’autres modes de réalisation, il peut être vérifié si la valeur d’un paramètre de l’ensemble est égale à la valeur de référence. In the embodiment represented in FIG. 2, during verification E2, it is checked whether each value of a parameter of the set is included in a range of values comprising the reference value V_ref, f_ref, mode_ref associated with the setting. These ranges of values are defined to take into account slight variations of the values of the parameters compared to the reference values. Thus, it is checked whether the values of the parameters are substantially equal to the reference values respectively. Of course, in other embodiments, it can be checked whether the value of a parameter of the set is equal to the reference value.
Selon un mode de réalisation, la plage de valeurs définie pour la tension d’alimentation peut comprendre des valeurs entre V_ref - ((V_max- V_min)/100) et V_ref + ((V_max-V_min)/100), où V_max correspond à la valeur d’alimentation maximale supportée par la mémoire et V_min correspond à la valeur d’alimentation minimale supportée par la mémoire. Comme indiqué ci- dessous, ces valeurs sont données par le fabricant de la mémoire. According to one embodiment, the range of values defined for the supply voltage can include values between V_ref - ((V_max-V_min)/100) and V_ref + ((V_max-V_min)/100), where V_max corresponds to the maximum power value supported by the memory and V_min corresponds to the minimum power value supported by the memory. As shown below, these values are provided by the memory manufacturer.
De manière similaire, la plage de valeurs définie pour la fréquence du signal d’horloge peut comprendre des valeurs entre (f_ref - (f_max/100) et f_ref + (f_max/100), où f_max correspond à la fréquence maximale admise par la mémoire. Comme pour la tension d’alimentation, la valeur de fréquence maximale est définie par le fabricant de la mémoire. Par exemple, la vérification E2 comporte pour chaque paramètre, une comparaison d’une valeur du paramètre obtenue et de la valeur de référence associée au paramètre. La valeur du paramètre est obtenue à partir d’au moins un signal électrique de l’ensemble de signaux électriques reçu. Similarly, the range of values defined for the frequency of the clock signal can include values between (f_ref - (f_max/100) and f_ref + (f_max/100), where f_max corresponds to the maximum frequency allowed by the memory As with the supply voltage, the maximum frequency value is set by the memory manufacturer. For example, the verification E2 comprises for each parameter, a comparison of a value of the parameter obtained and the reference value associated with the parameter. The value of the parameter is obtained from at least one electrical signal of the set of electrical signals received.
Ainsi, selon un mode de réalisation, la vérification de la valeur d’un paramètre relatif à un signal électrique comporte l’obtention de la valeur du paramètre suivi d’une comparaison de cette valeur obtenue avec la valeur de référence. La valeur d’un paramètre est obtenue typiquement à l’aide d’une mesure, ces opérations étant connues de l’homme du métier Thus, according to one embodiment, the verification of the value of a parameter relating to an electrical signal includes obtaining the value of the parameter followed by a comparison of this value obtained with the reference value. The value of a parameter is typically obtained using a measurement, these operations being known to those skilled in the art
Dans ce mode de réalisation, la fréquence, la polarité et la phase du signal d’horloge sont mesurées, par de méthodes classiques. La tension d’alimentation est mesurée, aussi par des méthodes classiques, en utilisant un des signaux de l’ensemble de signaux (par exemple le signal d’horloge). In this embodiment, the frequency, polarity and phase of the clock signal are measured, by conventional methods. The supply voltage is measured, also by conventional methods, using one of the signals from the set of signals (for example the clock signal).
Dans le mode de réalisation décrit, il est vérifié E21 si la valeur de la tension d’alimentation obtenue à partir de l’ensemble de signaux reçu (par exemple en mesurant le niveau d’un des signaux) est comprise dans la plage de valeurs définie pour la tension d’alimentation. Il est aussi vérifié E22 si la valeur de la fréquence du signal d’horloge est comprise dans la plage de valeurs définie pour la fréquence. In the embodiment described, it is checked E21 if the value of the supply voltage obtained from the set of signals received (for example by measuring the level of one of the signals) is included in the range of values defined for the supply voltage. It is also checked E22 if the value of the frequency of the clock signal is included in the range of values defined for the frequency.
En outre, dans ce mode de réalisation, il est vérifié E23 si le mode de communication défini dans la commande d’opération correspond au mode de référence mode_ref. In addition, in this embodiment, it is checked E23 if the communication mode defined in the operation command corresponds to the reference mode mode_ref.
S’il résulte des vérifications E21 , E22, E23 (E2) précitées que la valeur d’alimentation V est comprise dans la plage de données associée à la tension d’alimentation, que la fréquence du signal d’horloge f est compris dans la plage de données associée à la fréquence, et que le mode de communication défini pour l’opération est le mode de référence, la mise en œuvre de la commande d’opération est autorisée E31 . If it results from the aforementioned checks E21, E22, E23 (E2) that the supply value V is included in the range of data associated with the supply voltage, that the frequency of the clock signal f is included in the data range associated with the frequency, and the communication mode defined for the operation is the reference mode, the implementation of the operation command is authorized E31 .
Au contraire, si au moins une de ces trois conditions n’est pas vérifiée, la mise en œuvre de la commande d’opération est refusée E32. On the contrary, if at least one of these three conditions is not verified, the implementation of the operation command is refused E32.
Dans d’autres termes, si pour la mise en œuvre de la commande d’opération, la valeur de la tension d’alimentation V et la valeur de la fréquence f sont sensiblement égales respectivement aux valeurs de référence prédéfinies V_ref, f_ref, et si le mode de communication correspond au mode de référence mode_ref, la mise en œuvre de la commande d’opération est autorisée E31. Si au moins une de ces conditions n’est pas vérifiée, la mise en œuvre de la commande d’opération est refusée E32.La figure 3 illustre des étapes du procédé de contrôle d’accès au support de stockage 20 selon un deuxième mode de réalisation. In other words, if for the implementation of the operation command, the value of the supply voltage V and the value of the frequency f are substantially equal respectively to the predefined reference values V_ref, f_ref, and if the communication mode corresponds to the reference mode mode_ref, the implementation of the operation command is authorized E31. If at least one of these conditions is not verified, the implementation of the operation command is refused E32. production.
Selon un mode de réalisation, plusieurs valeurs de référence peuvent être associées à au moins un paramètre de l’ensemble de paramètres. Selon des différents modes de réalisation, plusieurs valeurs de référence peuvent être associées à plusieurs paramètres de l’ensemble de paramètres. Dans un mode de réalisation, plusieurs valeurs de référence sont associées à la totalité des paramètres de l’ensemble de paramètres. According to one embodiment, several reference values can be associated with at least one parameter of the set of parameters. According to different embodiments, several reference values can be associated with several parameters of the set of parameters. In one embodiment, multiple reference values are associated with all of the parameters in the parameter set.
Par exemple, plusieurs valeurs de référence pour la fréquence du signal d’horloge peuvent être enregistrées, la valeur de fréquence à utiliser pour communiquer avec la mémoire alternant de manière cyclique entre les valeurs de référence enregistrées. Par exemple, si deux valeurs de fréquence de référence sont enregistrées f_ref, f_ref_2, une première valeur de référence f_ref est utilisée pendant un nombre prédéterminé N de cycles d’horloge et une seconde valeur de référence f_ref_2 est utilisée pendant les N cycles d’horloge suivants. Ensuite, la première valeur de référence f_ref est utilisée pendant les N cycles d’horloge suivants et ainsi de suite. For example, multiple reference values for the frequency of the clock signal can be stored, with the frequency value to be used to communicate with the memory cyclically alternating between the stored reference values. For example, if two reference frequency values are stored f_ref, f_ref_2, a first reference value f_ref is used for a predetermined number N of clock cycles and a second reference value f_ref_2 is used for the N clock cycles following. Then the first reference value f_ref is used for the next N clock cycles and so on.
Ainsi, dans ce mode de réalisation dans lequel plusieurs valeurs de référence sont utilisées pour la fréquence du signal d’horloge CLK, le procédé de contrôle comporte une étape d’établissement E10 de la valeur de fréquence de référence. Cette étape est mise en œuvre après l’activation E0 de la mémoire et est répétée cycliquement après l’écoulement du nombre prédéterminé N de cycles. Thus, in this embodiment in which several reference values are used for the frequency of the clock signal CLK, the control method includes a step E10 of establishing the reference frequency value. This step is implemented after the activation E0 of the memory and is repeated cyclically after the expiry of the predetermined number N of cycles.
Bien entendu, dans d’autres modes de réalisation, plusieurs valeurs peuvent être associées à la tension d’alimentation et/ou le mode d’échange, ce qui vient d’être décrit pour les valeurs de fréquence s’applique de manière similaire pour les valeurs des autres paramètres de fonctionnement, c'est-à-dire pour la valeur de tension d’alimentation et/ou pour le mode d’échange. Of course, in other embodiments, several values can be associated with the supply voltage and/or the exchange mode, what has just been described for the frequency values applies in a manner similar for the values of the other operating parameters, that is to say for the supply voltage value and/or for the exchange mode.
Les étapes communes avec la figure 2 ne sont pas décrites à nouveau en référence à la figure 3. Selon un mode de réalisation, la valeur de référence d’un ou plusieurs paramètres de l’ensemble de paramètres est modifiée régulièrement. Par exemple, la valeur de référence des paramètres peut être modifiée par une commande de configuration émise par le dispositif de contrôle 200 et destinée à la mémoire 20. Selon un mode de réalisation, cette commande de configuration peut être émise à chaque mise sous tension de la mémoire 20. Selon un autre mode de réalisation, la commande de configuration peut être émise périodiquement. The steps common with FIG. 2 are not described again with reference to FIG. 3. According to one embodiment, the reference value of one or more parameters of the set of parameters is regularly modified. For example, the reference value of the parameters can be modified by a configuration command sent by the control device 200 and intended for the memory 20. According to one embodiment, this configuration command can be sent each time the the memory 20. According to another embodiment, the configuration command can be transmitted periodically.
Le procédé de contrôle d’accès représenté à la figure 3 comporte l’émission E01 d’une commande de configuration lors de l’activation de la mémoire. Bien entendu, l’émission de la commande de configuration est optionnelle et peut être mise en œuvre à d’autres moments du procédé. En outre, cette étape peut être mise en œuvre dans d’autres modes de réalisation tel que celui représenté à la figure 2. The access control method represented in FIG. 3 comprises the transmission E01 of a configuration command during the activation of the memory. Of course, sending the configuration command is optional and can be implemented at other times in the process. In addition, this step can be implemented in other embodiments such as the one shown in Figure 2.
La modification des valeurs de référence renforce davantage la sécurité de la mémoire. Changing reference values further enhances memory security.
Il est à noter que les dispositifs utilisés pour récupérer et/ou modifier le contenu d’une mémoire par un tiers malveillant, ne supportent qu’un nombre limité de tensions d’alimentation (souvent de valeurs de 3.3V et 5V) et de fréquences permettant d’échanger de données avec la mémoire, ces valeurs correspondant aux valeurs utilisées communément par les mémoires. En outre, le changement dynamique de la tension d’alimentation ou de la fréquence du signal d’horloge n’est pas utilisé par ces dispositifs. It should be noted that the devices used to recover and/or modify the contents of a memory by a malicious third party only support a limited number of supply voltages (often values of 3.3V and 5V) and frequencies making it possible to exchange data with the memory, these values corresponding to the values commonly used by the memories. Also, dynamic change of supply voltage or clock signal frequency is not utilized by these devices.
Un exemple de commande de configuration est décrit ci-après. La commande de configuration décrite est destinée à une mémoire de type flash et est générée par un dispositif de contrôle d’accès conforme à l’invention. An example configuration command is described below. The configuration command described is intended for a flash type memory and is generated by an access control device according to the invention.
On notera que les instructions ou opérations adressées à une mémoire de type flash sont représentées par des valeurs hexadécimales sur un octet. Cette valeur identifie l’opération à mettre en œuvre. Par exemple, la valeur 0x03 est une valeur standard utilisée pour une opération de lecture. Cette valeur est suivie d’une adresse de mémoire où la lecture est souhaitée. Note that the instructions or operations addressed to a flash type memory are represented by hexadecimal values on a byte. This value identifies the operation to be implemented. For example, the value 0x03 is a standard value used for a read operation. This value is followed by a memory address where reading is desired.
La commande de configuration contient ainsi un premier octet contenant un identifiant de la commande de configuration (nommée en terminologie anglo-saxonne « Access control parameters update »). The configuration command thus contains a first byte containing an identifier of the configuration command (called in English terminology “Access control parameters update”).
A titre d’exemple nullement limitatif, l’identifiant de la commande de configuration est OxEE. By way of non-limiting example, the identifier of the configuration command is OxEE.
Le deuxième octet de la commande de configuration contient le nombre de valeurs de référence de fréquence f_ref définies dans la commande. Par exemple, cet octet peut prendre une valeur entre 0x01 à 0x08 (1 à 8). The second byte of the configuration command contains the number of frequency reference values f_ref defined in the command. For example, this byte can take a value between 0x01 to 0x08 (1 to 8).
Un troisième octet définit le mode de référence à utiliser pour la mise en œuvre d’une opération. Par exemple, ce troisième octet peut prendre une valeur parmi 0x00 à 0x03 (mode 0, 1 , 2 ou 3). Les quatrième et cinquième octets définissent la valeur de référence pour la tension d’alimentation. Par exemple, la valeur de référence est arrondie à deux décimales et multipliée par 100. Si la valeur de référence V_ref est 2.71V, la valeur représentée par les quatrième et cinquième octets est 271, c'est-à-dire 0x10F. Le quatrième octet contient la valeur V_ref[0]=0x01 et le cinquième octet la valeur V_ref[1 ]=0x0F. On notera que le quatrième octet contient le bit de poids le plus fort. Bien entendu, dans d’autres modes de réalisation, il pourrait contenir le bit de poids le plus faible. A third byte defines the reference mode to be used for implementing an operation. For example, this third byte can take a value from 0x00 to 0x03 (mode 0, 1, 2 or 3). The fourth and fifth bytes define the reference value for the supply voltage. For example, the reference value is rounded to two decimal places and multiplied by 100. If the V_ref reference value is 2.71V, the value represented by the fourth and fifth bytes is 271, that is, 0x10F. The fourth byte contains the value V_ref[0]=0x01 and the fifth byte the value V_ref[1 ]=0x0F. Note that the fourth byte contains the most significant bit. Of course, in other embodiments, it could contain the least significant bit.
Les sixième à neuvième octets définissent la valeur de référence pour la fréquence f_ref, exprimée en Hz. Par exemple, si la valeur de référence f_ref est 87654321 Hz, c'est-à-dire 0x5397FB1, le sixième octet contient la valeur f_ref[0]=0x05, le septième octet la valeur f_ref[1]=0x39, le huitième octet la valeur f_ref[2]=0x7F et le neuvième octet la valeur f_ref[3]=0xB1. The sixth through ninth bytes define the reference value for the frequency f_ref, expressed in Hz. For example, if the reference value f_ref is 87654321 Hz, i.e. 0x5397FB1, the sixth byte contains the value f_ref[0 ]=0x05, the seventh byte the value f_ref[1]=0x39, the eighth byte the value f_ref[2]=0x7F and the ninth byte the value f_ref[3]=0xB1.
Selon d’autres modes de réalisation, des octets supplémentaires peuvent être utilisés pour définir des valeurs de référence supplémentaires pour la fréquence f_ref_2, f_ref_3 etc. exprimées en Hz, si le nombre de fréquences définie au deuxième octet est supérieur ou égale à 2. Par exemple, une commande pour configurer le mode de communication de référence mode_ref au mode 3, la valeur de référence pour la tension d’alimentation V_ref à 2.71V et valeur de référence pour la fréquence f_ref à 87,654321 MHz est donc la suivante: OxEE 0x01 0x03 0x01 0x0F 0x05 0x390x7F 0xB1. According to other embodiments, additional bytes can be used to define additional reference values for the frequency f_ref_2, f_ref_3 etc. expressed in Hz, if the number of frequencies defined in the second byte is greater than or equal to 2. For example, a command to set the reference mode_ref communication mode to mode 3, the reference value for the supply voltage V_ref to 2.71V and the reference value for the frequency f_ref to 87.654321 MHz is therefore as follows: OxEE 0x01 0x03 0x01 0x0F 0x05 0x390x7F 0xB1.
Selon un mode de réalisation, lorsque la valeur d’un paramètre de l’ensemble n’est pas égale à la valeur de référence associée au paramètre ou n’est pas comprise dans la plage de valeurs déterminée pour ce paramètre, le procédé de contrôle comporte en outre l’émission E40 d’une commande de suppression destinée à effacer le contenu de la mémoire (lorsque la zone de mémoire comporte deux zones de mémoire, la commande peut être destinée à effacer le contenu de la première zone de stockage ou bien des première et deuxième zones de stockage). According to one embodiment, when the value of a parameter of the set is not equal to the reference value associated with the parameter or is not included in the range of values determined for this parameter, the control method further comprises the emission E40 of a deletion command intended to erase the contents of the memory (when the memory zone comprises two memory zones, the command may be intended to erase the contents of the first storage zone or else of the first and second storage zones).
Selon un autre mode de réalisation, lorsque la valeur d’un paramètre de l’ensemble n’est pas égale à la valeur de référence associée au paramètre ou n’est pas comprise dans la plage de valeurs déterminée pour ce paramètre, le procédé de contrôle comporte en outre l’émission E41 d’un signal destiné à endommager l’équipement intentant l’accès au support de stockage. Ce signal est par exemple un courant électrique d’intensité de valeur élevée. Ce courant électrique peut être généré par une décharge importante d’un condensateur intégré dans le dispositif de contrôle d’accès (non illustré par les figures). According to another embodiment, when the value of a parameter of the set is not equal to the reference value associated with the parameter or is not included in the range of values determined for this parameter, the method of control further comprises the transmission E41 of a signal intended to damage the equipment attempting access to the storage medium. This signal is for example an electric current of high intensity. This electric current can be generated by a large discharge of a capacitor integrated in the access control device (not shown in the figures).
Ces étapes d’émission E40, E41 peuvent être aussi mises en œuvre par le procédé de contrôle d’accès décrit en référence à la figure 2. These transmission steps E40, E41 can also be implemented by the access control method described with reference to Figure 2.
Dans un autre mode de réalisation, le procédé comporte l’émission d’un message destiné au module de gestion 10 de l’objet informant de la tentative de mise en œuvre d’une opération frauduleuse. Le module de gestion pourrait prévoir par exemple d’adresser un message informatif à un terminal ou serveur relié avec l’objet connecté via un réseau de communication, ou de qu’il est relié à nouveau s’il avait été déconnecté. Par exemple, le dispositif de contrôle d’accès à la mémoire peut être configuré pour enregistrer dans la mémoire une information indiquant qu’une attaque a été détectée. En outre, le module de gestion peut être configuré pour interroger périodiquement le dispositif de contrôle d’accès pour demander si une attaque a été détectée. Ainsi, le module de gestion peut être informé des attaques détectées par le dispositif de contrôle d’accès. In another embodiment, the method comprises sending a message intended for the management module 10 of the object informing of the attempt to implement a fraudulent operation. The management module could provide for example to send an informative message to a terminal or server connected with the object connected via a communication network, or that it is connected again if it had been disconnected. For example, the memory access control device can be configured to store in memory information indicating that an attack has been detected. In addition, the management module can be configured to periodically poll the device for access control to ask if an attack has been detected. Thus, the management module can be informed of the attacks detected by the access control device.
Dans un mode de réalisation non représenté, dans lequel la zone de stockage de données 210 comprend une première zone 2101 et une deuxième zone 2102, lorsque l’opération est refusée E32, la deuxième zone est sélectionnée en tant que zone d’exécution d’opération sur le support de stockage. L’opération est ensuite mise en œuvre sur cette deuxième zone d’exécution 2102. Dans d’autres termes, lorsque l’opération est refusée E32, l’opération est mise en œuvre sur la deuxième zone. Lorsque l’opération est autorisée E31, la première zone 2101 est sélectionnée en tant que zone d’exécution d’opération sur le support de stockage, l’opération étant mise en œuvre sur cette première zone 2101. Dans d’autres termes, lorsque l’opération est autorisée E31, l’opération est mise en œuvre sur la première zone. Dans un autre mode de réalisation non représenté, dans lequel la zone de stockage de données 210 comprend une première zone 2101 et une deuxième zone 2102, une fois la mémoire activée (tel qu’à l’étape E0 des figure 2 et 3), la deuxième zone de stockage 2102 est sélectionnée comme étant la zone d’exécution d’opération sur le support de stockage 20. Si un signal d’horloge est appliqué, il est vérifié si une commande d’opération à mettre en œuvre est reçue par la mémoire 20 sur l’entrée de données DATAJN via le bus de communication. Si ce n’est pas le cas, le procédé retourne en attente de réception d’une commande d’opération. In an embodiment not shown, in which the data storage area 210 comprises a first area 2101 and a second area 2102, when the operation is refused E32, the second area is selected as the execution area of operation on the storage medium. The operation is then implemented on this second execution zone 2102. In other words, when the operation is refused E32, the operation is implemented on the second zone. When the operation is authorized E31, the first zone 2101 is selected as an operation execution zone on the storage medium, the operation being implemented on this first zone 2101. In other words, when the operation is authorized E31, the operation is implemented on the first zone. In another embodiment not shown, in which the data storage zone 210 comprises a first zone 2101 and a second zone 2102, once the memory has been activated (such as in step E0 of FIGS. 2 and 3), the second storage area 2102 is selected as the operation execution area on the storage medium 20. If a clock signal is applied, it is checked whether an operation command to be implemented is received by the memory 20 on the data input DATAJN via the communication bus. If this is not the case, the process returns to awaiting receipt of an operation command.
Lorsqu’une opération est reçue et autorisée (étape E31 des figures 2 et 3) après la vérification d’au moins un paramètre (tel qu’à l’étape E2 des figures 2 et 3), il est vérifié si l’ensemble de signaux reçu porte une information représentative d’une demande de déverrouillage de l’accès au support. When an operation is received and authorized (step E31 of FIGS. 2 and 3) after the verification of at least one parameter (such as in step E2 of FIGS. 2 and 3), it is verified whether the set of signals received carries information representative of a request to unlock access to the medium.
Lorsque l’ensemble de signaux reçu porte une information représentative d’une demande de déverrouillage de l’accès au support, telle qu’une commande de déverrouillage, il est vérifié si cette commande de déverrouillage porte un code d’accès valide. Si tel est le cas, l’accès au support de stockage est autorisé et la première zone de stockage 2101 est sélectionnée comme étant la zone d’exécution d’opération sur le support de stockage 20. Le procédé retourne en attente de réception de données sur l’entrée de données DATAJN via le bus de communication. Ainsi, lorsqu’une commande d’opération est reçue sur l’entrée de données, la première zone de stockage de données 2101 est accédée et l’opération est exécutée sur la première zone de stockage de données 2101 tant que le support de stockage reste activé. When the set of signals received carries information representative of a request for unlocking access to the medium, such as an unlocking command, it is verified whether this unlocking command carries a valid access code. If so, access to the storage medium is authorized and the first storage area 2101 is selected as being the operation execution zone on the storage medium 20. The method returns to waiting for the reception of data on the data input DATAJN via the communication bus. Thus, when an operation command is received on the data input, the first data storage area 2101 is accessed and the operation is performed on the first data storage area 2101 as long as the storage medium remains activated.
Lorsque l’ensemble de signaux reçu ne porte pas une information représentative d’une demande de déverrouillage de l’accès au support, l’opération reçue est exécutée sur la deuxième zone de stockage 2102. Ainsi si le contrôle d’accès a été effectué avec succès, l’accès est autorisé et l’opération est exécutée sur la première zone de stockage 2101. Dans le cas contraire, la deuxième zone de stockage 2102 est accédée et l’opération est exécutée sur la deuxième zone de stockage 2102. Le procédé retourne en attente de réception de données sur l’entrée de données DATAJN via le bus de communication. When the set of signals received does not carry information representative of a request for unlocking access to the medium, the operation received is executed on the second storage zone 2102. Thus if the access control has been carried out if successful, the access is authorized and the operation is performed on the first storage area 2101. Otherwise, the second storage area 2102 is accessed and the operation is performed on the second storage area 2102. The process returns to waiting for data to be received on the DATAJN data input via the communication bus.
Lorsque le code d’accès n’est pas valide, le procédé retourne en attente de réception de données sur l’entrée de données DATAJN via le bus de communication. When the access code is not valid, the process returns to waiting for data reception on the DATAJN data input via the communication bus.
Ces étapes sont ainsi mises en œuvre tant que le signal d’activation est présent sur la broche d’activation CS. Lorsque le support de stockage est désactivé, c’est-à-dire lorsque la tension d’alimentation appliquée à la broche d’activation CS a varié de 0V à une valeur supérieure à la tension minimale Vmin, le procédé retourne en attente de détection du signal d’activation. These steps are thus implemented as long as the enable signal is present on the CS enable pin. When the storage medium is deactivated, i.e. when the supply voltage applied to the activation pin CS has varied from 0V to a value greater than the minimum voltage Vmin, the method returns to waiting for detection of the activation signal.
Dans un mode de réalisation particulier, le support de stockage 20 mémorise un compteur dans un registre persistent. Ce compteur représente le nombre de fois qu’une opération de lecture, d’écriture, d’effacement a été exécutée sur la deuxième zone de stockage 2102. Il est incrémenté chaque fois qu’une opération est exécutée sur la deuxième zone de stockage Ce compteur est transmis au module de gestion 10 sur réception d’une commande get_command_value. Cette commande est émise par le module de gestion 10 au démarrage puis ensuite de manière périodique, par exemple toutes les douze heures. Lorsque le compteur augmente, le module de gestion 10 identifie que des attaques ont été tentées. Dans ce cas, le module de gestion 10 envoie une commande de changement de zone de stockage change_zone pour sélectionner la deuxième zone de stockage 2102. Il décharge (« dump » en anglais) les données de la deuxième zone de stockage. Une analyse ultérieure de ces données est ensuite effectuée localement ou sur un serveur distant auquel l’objet connecté est relié. Les données qui ont été déchargées correspondent par exemple à un micrologiciel (« firmware ») malicieux téléchargé par un tiers malveillant. In a particular embodiment, the storage medium 20 stores a counter in a persistent register. This counter represents the number of times that a read, write, erase operation has been executed on the second storage area 2102. It is incremented each time an operation is executed on the second storage area. counter is transmitted to the management module 10 upon receipt of a get_command_value command. This command is sent by the management module 10 at start-up and then periodically, for example every twelve hours. When the counter increases, the management module 10 identifies that attacks have been attempted. In this case, the management module 10 sends a change_zone storage zone change command to select the second storage zone 2102. It dumps the data from the second storage zone. Subsequent analysis of this data is then performed locally or on a remote server to which the connected object is connected. The data that has been unloaded corresponds, for example, to malicious firmware (“firmware”) downloaded by a malicious third party.
Il est ici souligné que les données mémorisées dans la deuxième zone de stockage 2102 peuvent être mises à jour à distance par le fabricant de l’objet connecté ou bien par un utilisateur légitime. Ceci permet de mettre à jour des données de marquage en fonction par exemple de la version du micrologiciel et complique la détection de ces données de marquage par un tiers malveillant. It is emphasized here that the data stored in the second storage zone 2102 can be updated remotely by the manufacturer of the connected object or else by a legitimate user. This makes it possible to update marking data depending for example on the version of the firmware and complicates the detection of these marking data by a malicious third party.
Le procédé a été décrit dans un mode de réalisation particulier dans lequel le module de gestion 10 envoie une demande de déverrouillage comprenant un code d’accès. Aucune limitation n’est attachée à ce mécanisme de déverrouillage. The method has been described in a particular embodiment in which the management module 10 sends an unlocking request comprising an access code. There are no limitations attached to this unlocking mechanism.
Dans un autre mode de réalisation, la première zone de données est sélectionnée en tant que zone d’exécution d’opération sur le support de stockage à l’activation. Lorsque l’ensemble de signaux reçu ne porte pas une information représentative d’une demande de déverrouillage de l’accès au support ou que l’accès est autorisé, la deuxième zone du support de stockage est accédée en tant que zone d’exécution d’opération sur le support de stockage. Cette deuxième zone de stockage reste la seule accédée en tant que zone d’exécution d’opération, tant que le support de stockage est activé. Il est bien entendu qu’un contrôle d’accès autorisé permet de basculer sur la première zone de stockage en tant que zone d’exécution d’opération. In another embodiment, the first data area is selected as the operation execution area on the storage medium upon activation. When the set of signals received does not carry information representative of a request for unlocking access to the medium or when access is authorized, the second zone of the storage medium is accessed as an execution zone. operation on the storage medium. This second storage zone remains the only one accessed as an operation execution zone, as long as the storage medium is activated. It is understood that an authorized access control makes it possible to switch to the first storage zone as an operation execution zone.
Ainsi, lorsque l’ensemble de signaux reçu porte une information représentative d’une demande de déverrouillage de l’accès au support et que l’accès est autorisé, la première zone du support de stockage est accédée en tant que zone d’exécution d’opération sur le support de stockage, et dans le cas contraire, la deuxième zone de stockage du support de stockage est accédée en tant que zone d’exécution d’opération sur le support de stockage. La figure 4a illustre schématiquement une architecture matérielle d’un dispositif de contrôle d’accès 200 pouvant mettre en œuvre le procédé de contrôle conforme à l’invention. Comme illustré aux figures 1a et 1b, le dispositif de contrôle 200 peut être embarqué dans le support de stockage 20 (figure 1a) ou être externe au support de stockage 20 (figure 1b). La figure 4a illustre un dispositif de contrôle 200 externe au support de stockage 200. Thus, when the set of signals received carries information representative of a request to unlock access to the medium and access is authorized, the first zone of the storage medium is accessed as an execution zone. operation on the storage medium, and if not, the second storage area of the storage medium is accessed as the operation execution area on the storage medium. FIG. 4a schematically illustrates a hardware architecture of an access control device 200 able to implement the control method in accordance with the invention. As illustrated in FIGS. 1a and 1b, the control device 200 can be embedded in the storage medium 20 (FIG. 1a) or be external to the storage medium 20 (FIG. 1b). Figure 4a illustrates a control device 200 external to the storage medium 200.
Le dispositif de contrôle 200 comprend un bus de communication 2000 auquel peuvent être reliées : The control device 200 comprises a communication bus 2000 to which can be connected:
- une unité de traitement 2001, nommée sur la figure CPU (pour « Central Processing Unit ») et pouvant comporter un ou plusieurs processeurs ; - A processing unit 2001, named in the figure CPU (for "Central Processing Unit") and may include one or more processors;
- une mémoire non volatile 2002, par exemple ROM (pour « Read Only Memory »), EEPROM (pour « Electrically Erasable Read Only Memory ») ou une mémoire Flash ; a non-volatile memory 2002, for example ROM (for “Read Only Memory”), EEPROM (for “Electrically Erasable Read Only Memory”) or a Flash memory;
- une mémoire vive 2003 ou RAM (pour « Random Access Memory »). On notera que les éléments précités peuvent être présents ou absents en fonction des configurations selon lesquelles le dispositif de contrôle est embarqué dans le support de stockage ou est externe au support de stockage. Par exemple, dans certains modes de réalisation, le mémoire non volatile 2002 et/ou la mémoire vive peuvent être absentes du dispositif de contrôle d’accès, le dispositif de contrôle utilisant la ou les mémoires du support de stockage 20 pour lequel l’accès est contrôlé. - a 2003 random access memory or RAM (for "Random Access Memory"). It will be noted that the aforementioned elements may be present or absent depending on the configurations according to which the control device is embedded in the storage medium or is external to the storage medium. For example, in certain embodiments, the non-volatile memory 2002 and/or the random access memory may be absent from the access control device, the control device using the memory or memories of the storage medium 20 for which the access is controlled.
Dans un mode de réalisation selon lequel le dispositif de contrôle est externe au support de stockage 20 (comme celui représenté à la figure 4a), il comprend une interface de communication 2004, nommée COM sur la figure, adaptée à échanger des données avec le support de stockage 20. En outre, il est relié au bus de communication 100 auquel est relié le support de stockage 20. In one embodiment according to which the control device is external to the storage medium 20 (like that represented in FIG. 4a), it comprises a communication interface 2004, named COM in the figure, suitable for exchanging data with the medium 20. In addition, it is connected to the communication bus 100 to which the storage medium 20 is connected.
La mémoire vive 2003 comprend des registres adaptés à l'enregistrement des variables et paramètres créés et modifiés au cours de l'exécution d'un programme informatique comprenant des instructions pour la mise en œuvre du procédé de contrôle selon l'invention. Les codes d'instructions du programme stocké en mémoire non-volatile 2002 sont chargés en mémoire RAM 2003 en vue d'être exécutés par l'unité de traitement CPU 2001. La mémoire non-volatile 2002 est par exemple une mémoire réinscriptible de type EEPROM ou mémoire Flash pouvant constituer le support au sens de l'invention, et pouvant comprendre un programme informatique comprenant des instructions pour la mise en œuvre du procédé de contrôle selon l'invention. Random access memory 2003 includes registers suitable for recording variables and parameters created and modified during the execution of a computer program comprising instructions for implementing the control method according to the invention. The program instruction codes stored in non-volatile memory 2002 are loaded into RAM memory 2003 with a view to being executed by the processing unit CPU 2001. The non-volatile memory 2002 is for example a rewritable memory of the EEPROM or Flash memory type which can constitute the support within the meaning of the invention, and which can comprise a computer program comprising instructions for the implementation of the control method according to the invention.
Ce programme définit, par le biais de ses instructions, des modules fonctionnels du dispositif de contrôle 200 qui sont mise en œuvre et/ou commandent les éléments matériels décrits précédemment. La figure 4b est une représentation fonctionnelle d’un dispositif de contrôle 200 conforme à un mode de réalisation. This program defines, by means of its instructions, functional modules of the control device 200 which are implemented and/or control the hardware elements described previously. Figure 4b is a functional representation of a control device 200 according to one embodiment.
Ces modules comprennent notamment : These modules include:
- un module de réception 201 configuré pour recevoir, via ledit bus de communication, un ensemble de signaux électriques comportant un signal électrique représentatif d’une commande d’opération à mettre en œuvre sur au moins une zone du support de stockage ; - a reception module 201 configured to receive, via said communication bus, a set of electrical signals comprising an electrical signal representative of an operation command to be implemented on at least one area of the storage medium;
- un module de vérification 202 configuré pour vérifier la valeur d’au moins un paramètre relatif à au moins un signal électrique de l’ensemble de signaux électriques reçu ; et - a verification module 202 configured to verify the value of at least one parameter relating to at least one electrical signal from the set of electrical signals received; and
- un module de contrôle 203 configuré pour autoriser ou le refuser la mise en œuvre de ladite commande d’opération sur ladite au moins une zone du support de stockage, en fonction du résultat de la vérification. - A control module 203 configured to authorize or refuse the implementation of said operation command on said at least one area of the storage medium, depending on the result of the verification.
Les modules et moyens précités sont pilotés par le processeur de l'unité de traitement 2001. Ils peuvent prendre la forme d’un programme exécutable par un processeur, ou une forme matérielle (ou « hardware »), telle un circuit intégré spécialisé (connu en terminologie anglo-saxonne connu comme ASIC pour « Application-Specific Integrated Circuit »), un système sur puce (connu en terminologie anglo-saxonne comme SoC pour « System On Chip »), ou un composant électronique de type circuit logique programmable, tel qu’un composant de type FPGA (pour « Field-Programmable Gâte Array »). The aforementioned modules and means are controlled by the processor of the processing unit 2001. They can take the form of a program executable by a processor, or a material form (or “hardware”), such as a specialized integrated circuit (known in Anglo-Saxon terminology known as ASIC for “Application-Specific Integrated Circuit”), a system on chip (known in Anglo-Saxon terminology as SoC for “System On Chip”), or an electronic component of the programmable logic circuit type, such than an FPGA type component (for “Field-Programmable Gate Array”).

Claims

REVENDICATIONS
1. Procédé de contrôle d’accès à un support de stockage (20) via un bus de communication (100), ledit procédé de contrôle comportant la réception (E11), via ledit bus de communication, d’un ensemble de signaux électriques comportant un signal électrique représentatif d’une opération à mettre en œuvre sur le support de stockage (20), et étant caractérisé en ce qu’il comporte en outre : 1. Method for controlling access to a storage medium (20) via a communication bus (100), said control method comprising the reception (E11), via said communication bus, of a set of electrical signals comprising an electrical signal representative of an operation to be implemented on the storage medium (20), and being characterized in that it further comprises:
- la vérification (E2) de la valeur d’au moins un paramètre relatif à au moins un signal électrique dudit ensemble de signaux électriques reçu ; et - the verification (E2) of the value of at least one parameter relating to at least one electrical signal of said set of electrical signals received; and
- l’autorisation (E31) ou le refus (E32) de la mise en œuvre de ladite opération sur le support de stockage, en fonction du résultat de ladite vérification (E2). - authorization (E31) or refusal (E32) of the implementation of said operation on the storage medium, depending on the result of said verification (E2).
2. Procédé de contrôle conforme à la revendication 1, dans lequel la mise en œuvre de ladite opération est autorisée (E31 ) si selon le résultat de ladite vérification (E2), la valeur dudit au moins un paramètre (V, f, mode) est égale à une valeur de référence (V_ref, f_ref, mode_ref) prédéfinie associée audit au moins un paramètre ou est comprise dans une plage de valeurs comportant ladite valeur de référence. 2. Control method according to claim 1, in which the implementation of said operation is authorized (E31) if, according to the result of said verification (E2), the value of said at least one parameter (V, f, mode) is equal to a predefined reference value (V_ref, f_ref, mode_ref) associated with said at least one parameter or is included in a range of values comprising said reference value.
3. Procédé de contrôle conforme à la revendication 2, comportant en outre l’émission (E01) d’une commande de configuration destinée à modifier ladite valeur de référence associée audit au moins un paramètre. 3. Control method according to claim 2, further comprising the transmission (E01) of a configuration command intended to modify said reference value associated with said at least one parameter.
4. Procédé de contrôle conforme à l’une des revendications 2 ou 3, dans lequel si selon le résultat de ladite vérification (E2), la valeur dudit au moins un paramètre est différente de ladite valeur de référence prédéfinie ou n’est pas comprise dans une plage de valeurs déterminée comportant ladite valeur de référence, le procédé de contrôle comporte en outre l’émission d’une commande de suppression (E41) destinée à effacer le contenu dudit support de stockage. 4. Control method according to one of claims 2 or 3, wherein if according to the result of said verification (E2), the value of said at least one parameter is different from said predefined reference value or is not included in a determined range of values comprising said reference value, the control method further comprises the transmission of a deletion command (E41) intended to erase the content of said storage medium.
5. Procédé de contrôle conforme à l’une des revendications 2 ou 3, dans lequel si selon le résultat de ladite vérification (E2), la valeur dudit au moins un paramètre est différente de ladite valeur de référence prédéfinie ou n’est pas comprise dans une plage de valeurs déterminée comportant ladite valeur de référence, le procédé de contrôle comporte en outre l’émission (E42) d’un signal destiné à endommager l’équipement émettant ledit signal électrique représentatif d’une opération à mettre en œuvre. 5. Control method according to one of claims 2 or 3, wherein if according to the result of said verification (E2), the value of said at least one parameter is different from said predefined reference value or is not included in a determined range of values including said value of reference, the control method further comprises the emission (E42) of a signal intended to damage the equipment emitting said electrical signal representative of an operation to be implemented.
6. Procédé de contrôle conforme à l’une des revendications précédentes, dans lequel ledit au moins un paramètre est une tension représentée par au moins un signal électrique de l’ensemble de signaux électriques ou une fréquence d’au moins un des signaux électriques de l’ensemble de signaux électriques reçu, ou une suite de données contenue dans au moins un des signaux électriques de l’ensemble de signaux électriques. 6. Control method according to one of the preceding claims, in which said at least one parameter is a voltage represented by at least one electrical signal of the set of electrical signals or a frequency of at least one of the electrical signals of the set of electrical signals received, or a sequence of data contained in at least one of the electrical signals of the set of electrical signals.
7. Procédé de contrôle conforme à l’une des revendications précédentes, ledit support de stockage comprenant une première zone de données à accès contrôlé (2101 ) et une deuxième zone de données à accès libre (2102), ledit procédé comportant : 7. Control method according to one of the preceding claims, said storage medium comprising a first controlled-access data zone (2101) and a second free-access data zone (2102), said method comprising:
- si la mise en œuvre de l’opération est autorisée, mise en œuvre de l’opération sur la première zone, - if the implementation of the operation is authorised, implementation of the operation in the first zone,
- si la mise en œuvre de l’opération est refusée, mise en œuvre de l’opération sur la deuxième zone. - if implementation of the operation is refused, implementation of the operation in the second zone.
8. Procédé conforme à l’une des revendications 1 à 6, ledit support de stockage comprenant une première zone de données à accès contrôlé, ledit procédé comportant 8. Method according to one of claims 1 to 6, said storage medium comprising a first data area with controlled access, said method comprising
- lorsque la mise en œuvre de l’opération sur le support de stockage est autorisée, que l’ensemble de signaux reçu porte une information représentative d’une demande de déverrouillage de l’accès au support, et que l’accès est autorisé, la première zone du support de stockage est accédée en tant que zone d’exécution d’opération sur le support de stockage, - when the implementation of the operation on the storage medium is authorized, that the set of signals received carries information representative of a request to unlock access to the medium, and that access is authorized, the first area of the storage medium is accessed as an operation execution area on the storage medium,
- dans le cas contraire, une deuxième zone de stockage du support de stockage est accédée en tant que zone d’exécution d’opération sur le support de stockage. - otherwise, a second storage area of the storage medium is accessed as an operation execution area on the storage medium.
9. Dispositif de contrôle d’accès à un support de stockage via un bus de communication, ledit dispositif de contrôle comportant un module de réception (201) configuré pour recevoir, via ledit bus de communication, un ensemble de signaux électriques comportant un signal électrique représentatif d’une opération à mettre en œuvre sur au moins une zone du support de stockage, et étant caractérisé en ce qu’il comporte en outre : 9. Device for controlling access to a storage medium via a communication bus, said control device comprising a reception module (201) configured to receive, via said communication bus, a set of electrical signals comprising an electrical signal representative of an operation to be implemented on at least one area of the storage medium, and being characterized in that it further comprises:
- un module de vérification (202) configuré pour vérifier la valeur d’au moins un paramètre relatif à au moins un signal électrique de l’ensemble de signaux électriques reçu ; et - a verification module (202) configured to verify the value of at least one parameter relating to at least one electrical signal from the set of electrical signals received; and
- un module de contrôle (203) configuré pour autoriser ou refuser la mise en œuvre de ladite opération sur ladite au moins une zone du support de stockage, en fonction du résultat de la vérification. - a control module (203) configured to authorize or refuse the implementation of said operation on said at least one zone of the storage medium, depending on the result of the verification.
10. Support de stockage comportant un dispositif de contrôle d’accès (200) conforme à la revendication 9 et mettant en œuvre un procédé de contrôle d’accès conforme à l’une des revendications 1 à 8. 10. Storage medium comprising an access control device (200) according to claim 9 and implementing an access control method according to one of claims 1 to 8.
11. Objet connecté comportant un support de stockage (20) et un module de gestion (10) configuré pour gérer le fonctionnement dudit objet connecté (1) , le module de gestion (10) et le support de stockage (20) communicant entre eux via un bus de communication (100), ledit objet connecté (1) étant caractérisé en ce qu’il comporte un dispositif de contrôle d’accès (200) audit support de stockage (20) conforme à la revendication 9 et mettant en œuvre un procédé d’accès conforme à l’une des revendications 1 à 8. 11. Connected object comprising a storage medium (20) and a management module (10) configured to manage the operation of said connected object (1), the management module (10) and the storage medium (20) communicating with each other via a communication bus (100), said connected object (1) being characterized in that it comprises an access control device (200) to said storage medium (20) in accordance with claim 9 and implementing a access method according to one of claims 1 to 8.
12. Programme d’ordinateur comprenant des instructions de code pour la mise en œuvre des étapes du procédé de contrôle conforme à l’une des revendications 1 à 8, lorsqu’il est exécuté par un processeur. 12. Computer program comprising code instructions for implementing the steps of the control method in accordance with one of claims 1 to 8, when it is executed by a processor.
PCT/FR2022/051251 2021-06-25 2022-06-24 Method and device for controlling access to a storage medium WO2022269207A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FRFR2106866 2021-06-25
FR2106866A FR3124287B1 (en) 2021-06-25 2021-06-25 Method and device for controlling access to a storage medium.

Publications (1)

Publication Number Publication Date
WO2022269207A1 true WO2022269207A1 (en) 2022-12-29

Family

ID=77411858

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2022/051251 WO2022269207A1 (en) 2021-06-25 2022-06-24 Method and device for controlling access to a storage medium

Country Status (2)

Country Link
FR (1) FR3124287B1 (en)
WO (1) WO2022269207A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017163204A1 (en) * 2016-03-23 2017-09-28 Craig Michael Horn A memory management system and method
US20200004994A1 (en) * 2015-06-08 2020-01-02 Nuvoton Technology Corporation Security Monitoring of SPI Flash
US20210141943A1 (en) * 2019-11-07 2021-05-13 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200004994A1 (en) * 2015-06-08 2020-01-02 Nuvoton Technology Corporation Security Monitoring of SPI Flash
WO2017163204A1 (en) * 2016-03-23 2017-09-28 Craig Michael Horn A memory management system and method
US20210141943A1 (en) * 2019-11-07 2021-05-13 Micron Technology, Inc. Semiconductor device with secure access key and associated methods and systems

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Serial Peripheral Interface Bus - Wikipedia, the free encyclopedia", 7 December 2013 (2013-12-07), XP055170617, Retrieved from the Internet <URL:http://en.wikipedia.org/w/index.php?title=Serial_Peripheral_Interface_Bus&oldid=584991340> [retrieved on 20150218] *

Also Published As

Publication number Publication date
FR3124287A1 (en) 2022-12-23
FR3124287B1 (en) 2024-06-21

Similar Documents

Publication Publication Date Title
EP2659419B1 (en) Method and device for controlling access to a computer system
EP1964307B1 (en) Method for creating a secure counter on an on-board computer system comprising a chip card
FR3025377A1 (en) MANAGEMENT OF ELECTRONIC TICKETS
WO2007132122A1 (en) Secure terminal configuration method and device by means of a boot data storage device
WO2007060334A2 (en) Portable electronic entity for setting up secured voice over ip communication
WO2022269207A1 (en) Method and device for controlling access to a storage medium
EP2048576B2 (en) Secure method for updating a program that runs automatically and portable electronic device implementing same
EP2131300A2 (en) Securing method and device for a portable electronic entity
FR3124288A1 (en) Technique for accessing a storage medium.
WO2009138641A1 (en) Method of use of a host terminal by an external device connected to the terminal
EP3350745B1 (en) Management of a display of a view of an application on a screen of an electronic data input device, corresponding method, device and computer program product
EP3179400B1 (en) Method for loading a computing resource into an electronic device, electronic module and corresponding computer program
FR2908194A1 (en) PORTABLE ELECTRONIC ENTITY AND METHOD FOR REMOTELY BLOCKING A FUNCTIONALITY OF SUCH A PORTABLE ELECTRONIC ENTITY
WO2013093325A1 (en) Electronic device for storing confidential data
WO2014135526A1 (en) System and method for managing at least one online application, portable usb user object and remote device of the system
WO2014135519A1 (en) System and method for managing at least one online application, portable user object communicating via a radio protocol and remote device of the system
FR3096479A1 (en) Method of verifying that a user of a website is a human being, and associated verification platform
FR3015077A1 (en) METHOD FOR CONTROLLING AN IDENTITY OF A PAYMENT TERMINAL AND TERMINAL SO SECURE.
FR3031609A1 (en) METHOD OF PROCESSING A TRANSACTION FROM A COMMUNICATION TERMINAL
EP2131526A1 (en) Connection method and device for a portable electronic entity
EP2383674A1 (en) Secured and/or securing removable device, corresponding server and method for locking a computer entity
EP2452286A1 (en) Making the location of a remote code secure through the recipient&#39;s imprint

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22744800

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22744800

Country of ref document: EP

Kind code of ref document: A1