EP2291744A2 - Procede et systeme de validation d'une succession d'evenements vecus par un dispositif - Google Patents

Procede et systeme de validation d'une succession d'evenements vecus par un dispositif

Info

Publication number
EP2291744A2
EP2291744A2 EP09769530A EP09769530A EP2291744A2 EP 2291744 A2 EP2291744 A2 EP 2291744A2 EP 09769530 A EP09769530 A EP 09769530A EP 09769530 A EP09769530 A EP 09769530A EP 2291744 A2 EP2291744 A2 EP 2291744A2
Authority
EP
European Patent Office
Prior art keywords
event
value
traceability
events
identifier
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP09769530A
Other languages
German (de)
English (en)
Inventor
Nicolas Reffe
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ORIDAO
Original Assignee
ORIDAO
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 ORIDAO filed Critical ORIDAO
Publication of EP2291744A2 publication Critical patent/EP2291744A2/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing

Definitions

  • the present invention relates to the general field of traceability of any devices such as for example materials, products or objects.
  • It relates more particularly to the mechanisms making it possible to control at any stage of a process comprising a plurality of events, if a device arrived at this stage has undergone or experienced all the events provided for by the process in a sequence predetermined.
  • an event experienced by a device may designate in particular a treatment applied to this device or a state or change of state of a physical parameter of this device (such as for example its temperature, its pressure, etc. .).
  • this solution has a complexity in terms of deployment and a high cost of implementation, especially in the case of traceability applications of distribution networks for which the different points of passage are not in a single place (eg points passing through various subcontractors or distribution networks). It also requires means of connection to the centralized information system and remote interrogation.
  • Another alternative is to use recording media embedded on the device, such as for example RFID tags, incorporating memory modules of suitable size for storing tracking data associated with each event experienced by the device individually.
  • This alternative has the advantage that the monitoring data to determine whether a device has undergone all the expected events, are directly carried by the device and thus exploitable simply and quickly.
  • these recording media and in particular the RFID tags are easily searchable and the data they carry do not offer any confidentiality.
  • the present invention relates to a method for validating a succession of events in the life of a device with respect to a predefined sequence of events, this method comprising:
  • the invention also relates to a system for validating a succession of events in the life of a device with respect to a predefined sequence of events, this system comprising:
  • a control system comprising:
  • the validation is done in two phases: a first marking phase of the device, with a digital traceability fingerprint calculated from a cryptographic hash function and representative of a sequence of events experienced by the device; and
  • a second control phase consisting in comparing this traceability footprint with a theoretical footprint generated using the same cryptographic hash function and representative of a sequence of events expected from the process.
  • the identifiers of the events used on the one hand during the marking phase and on the other hand during the control phase must be coherent with each other, that is to say identical when they identify the same event.
  • a cryptographic hashing function (or cryptographic hashing algorithm) is a function that processes or processes a data input message of any size to produce a fixed-size digital fingerprint for identify the input data.
  • Such a function generally has the following properties
  • a cryptographic hash function is conventionally used in cryptography in authentication or document integrity control protocols.
  • the invention advantageously proposes to use this function in a context of traceability, to validate, at any stage of a given process (intermediate or final stage), that a device has respected a finite sequence of events of this process in a given order, without storing on the device, tracking data other than a digital fingerprint traceability fixed size regardless of the number of events considered.
  • the digital traceability fingerprint generated for each event represents, by its construction, a summary of the history of previous events experienced by the device. Therefore, it is not necessary to store, for each event lived by the device, a digital fingerprint specific to this event. Only the digital fingerprint generated for the last event lived by the device is used for validation.
  • the invention allows a substantial gain in terms of size compared to the solutions proposed in the prior art.
  • the use of passive RFID chips with very little memory space for storage on the device traceability footprint is allowed, which represents a significant gain in terms of costs for an industrial wishing to achieve traceability of its products.
  • the invention provides a secure and reliable solution. Indeed, given the properties of the cryptographic hash function, it is impossible, if the traceability footprint differs from the expected theoretical footprint, to establish a sequence of simulated events so as to reduce the footprint of traceability to the expected value.
  • a fingerprint can be calculated by knowing the sequence of events experienced by the device, but it is impossible to deduce these successive events from the sole knowledge of the fingerprint. . Consequently, reading the traceability fingerprint of a device at any stage of a process does not allow a malicious person to deduce any information about the process itself and especially about the sequence of events. events of this process.
  • the theoretical footprint i.e. the expected footprint of the predefined sequence of events
  • the theoretical footprint can be calculated separately from the device, and subsequently compared to the traceability footprint carried by the device. This limits the costs of redeployment in the event of modification of the process, the calculation of the traceability footprint taking place in a similar way regardless of the complexity and the length of the process, and the theoretical footprint can be pre-calculated for a predefined sequence of events independently of the device.
  • the means for obtaining an identifier of each event of the succession, the means for calculating the traceability footprint (including the means for applying the cryptographic hash function) and the means to memorize are embedded on the device. They are for example implemented on an active or passive RFID chip carried by or integrated into the device.
  • the means for obtaining an identifier and the means for calculating the traceability footprint can be implemented on a calculation module that is not worn by the device. This solution requires the recovery by the calculation module of the value of the digital fingerprint traceability calculated for the previous event.
  • this solution will preferably be used to ensure the traceability of a device in an internal process under control and without risk of malfeasance (interception and modification of the traceability footprint between the calculation module and the device), or else accompanied by securing the connection between the calculation module and the device.
  • the memorization of the traceability footprint on the device can be done on a support carried by or integrated into this device, of different types. It may be for example a rewritable digital memory, an active or passive RFID chip or tag, etc.
  • a tag or a passive RFID chip has the advantage of having a relatively low cost.
  • the identifier of each event of the succession of events can be predefined. It is a specific identifier for this event, for example an event number, etc. It will be managed preferentially by a module external to the device followed and associated with the event considered, which sends, before the calculation step, the device or the calculation module, the identifier of the event experienced by the device.
  • the validation method further comprises, for each event, before the calculation step:
  • the validation system may also comprise a module associated with each event of the succession and comprising:
  • the module associated with the event receives the digital fingerprint traceability but can not have access to events previously experienced by the device simply by reading this fingerprint.
  • the external calculation module or the device itself receives the event identifier transmitted by the module associated with this event and used to generate the traceability footprint, maize can not have access to the initial identifier of the event. current event at the simple reading of this event identifier.
  • the means for memorizing memorize the current value of the traceability fingerprint on the device in replacement of the value of the traceability fingerprint stored for the previous event.
  • all the digital impression values can be memorized (for example to retrace back in the course of a survey phase an event of the predefined sequence that would not have been experienced by the device), but only the last one value of the digital traceability fingerprint is used during the process according to the invention.
  • the monitored device which stores via the traceability fingerprint the history of the events that it has experienced at a given stage of a process
  • a calculation module that can be integrated into the device and that calculates the current value of the traceability fingerprint with each event using a hash function
  • control system which is adapted to evaluate a theoretical footprint relating to a predefined sequence of events and to check that this sequence has been lived by the device.
  • the invention provides a method of controlling a device for determining whether a predefined sequence of events has been experienced by this device, comprising:
  • the invention also relates to a control system adapted to determine whether a predefined sequence of event processing has been experienced by a device, characterized in that it comprises:
  • the invention also relates to a method of marking a device characterized in that it comprises, for each event of a succession of events in the life of a device:
  • the invention also relates to a device comprising:
  • the means for obtaining, calculating and memorizing are implemented on an RFID chip embedded on or integrated in the device.
  • the device according to the invention further comprises:
  • the means for protecting this code adapted to make it inaccessible to an unauthorized third party by interrogating the device; and is such that the means for calculating are further adapted to calculate an initial value of the traceability fingerprint by applying the hash function on at least this proprietary code.
  • the traceability imprints calculated by the device are unfalsifiable by an unauthorized person outside the validation application.
  • the device further comprises means for activating and deactivating the aforementioned means for obtaining, calculating and memorizing.
  • the RFID chip considered is a passive RFID chip.
  • the invention also aims at an RFID chip intended to be embedded on a device and comprising:
  • the RFID chip according to the invention further comprises:
  • means for protecting this code adapted to make it inaccessible to an unauthorized third party by querying the chip; and is such that the means for calculating are further adapted to calculate an initial value of the traceability footprint by applying the hash function on at least this proprietary code.
  • the traceability imprints calculated by the RFID chip are tamper-proof by an unauthorized person outside the validation application.
  • the proprietary code is for example a specific identifier for the user wishing to perform the validation.
  • the means of protection of the proprietary code implemented may be of different natures.
  • the device according to the invention can store this code in a volatile memory for calculating the cryptographic hash function, so that after calculating the initial imprint, the value of the proprietary code not be kept.
  • the implementation of the cryptographic hash functions is such that the processing variables used by these functions are not retained (they are usually erased after each use or overwritten by other processing variables).
  • the device according to the invention can store this code in a secure memory, protected for example by means of an encryption or authentication algorithm, so that only an authorized person ( holding the appropriate decryption key) can access this code.
  • control method is determined by computer program instructions.
  • the invention also relates to a computer program on an information carrier, this program being capable of being implemented in a control system or more generally in a computer, this program comprising instructions adapted to the implementing the steps of a control method as described above.
  • This program can use any programming language, and be in the form of source code, object code, or intermediate code between source code and object code, such as in a partially compiled form, or in any other form desirable shape.
  • the invention is also directed to a computer readable information medium, and including computer program instructions as mentioned above.
  • the information carrier may be any entity or device capable of storing the program.
  • the medium may comprise storage means, such as a ROM, for example a CD ROM or a microelectronic circuit ROM, or a means magnetic recording, for example a floppy disk or a hard disk.
  • the information carrier may be a transmissible medium such as an electrical or optical signal, which may be conveyed via an electrical or optical cable, by radio or by other means.
  • the program according to the invention can be downloaded in particular on an Internet type network.
  • the information carrier may be an integrated circuit in which the program is incorporated, the circuit being adapted to execute or to be used in the execution of the method in question.
  • FIG. 1 shows a device according to the invention in its environment, in a first embodiment of the validation system according to the invention
  • FIG. 2 represents, in schematic form, an RFID tag associated with the device according to the invention in a particular embodiment of the invention
  • FIG. 3 represents, in flowchart form, the main steps of a marking method according to the invention when they are implemented by a device as represented in FIG. 1, in a particular embodiment;
  • FIG. 4 represents a control system according to the invention, in its environment, in a particular embodiment of the invention
  • FIG. 5 represents, in flowchart form, the main steps of a control method according to the invention, when they are implemented by a control system as represented in FIG. 4, in a particular mode of achievement;
  • FIG. 6 represents an example of digital impressions generated during the marking process and the control method according to the invention;
  • FIG. 7 represents a device according to the invention in its environment, in a second embodiment of the validation system according to the invention.
  • FIG. 8 represents an example of a hash function that can be implemented in an RFID device and / or a chip in accordance with the invention and / or in a control system according to the invention.
  • FIG. 9 represents a particular embodiment of a hash function as represented in FIG. 8.
  • the tracking of any device is considered to be the subject of a succession of processes of a process, so as to validate this succession of treatments with respect to a predefined sequence of expected treatments.
  • the invention can also be applied to the monitoring of any event of the life of a device, such as, for example, the evolution of the state of physical parameters of this device, for example in a sterilization or chain process. cold.
  • the validation comprises two phases:
  • a marking phase of the device aimed at calculating a traceability footprint representative of a succession of events in the life of this device, and implemented using a marking method according to the invention as subsequently described.
  • Figures 1, 2, 3 and 7 in two embodiments;
  • FIG. 1 represents a device 10 according to the invention, in its environment, in a first embodiment of the validation system according to the invention.
  • the device 10 is a computing device within the meaning of the invention.
  • a process PROC 10 comprising a number M of successive processes EV 1 , EV 2 ,..., EV n , .., EV M , is applied to this device 10.
  • the validation of the SEV succession of n consecutive events EVi, EV 2 ,..., EV n is applied to this device 10.
  • Other successions of events may be envisaged (for example a succession of non-consecutive but ordered events such as the succession constituted by the events EV 2 , EV 4 , EVM).
  • the device 10 incorporates (or carries) an RFID electronic tag 11.
  • This tag can be active or passive.
  • the RFID electronic tag 11 is part of the device 10, and in particular that a datum stored on the RFID tag 11 is on the device 10.
  • Figure 2 schematically illustrates an example of such a label. It comprises in particular an antenna HA connected to a RFID chip HB.
  • the antenna HA of the RFID tag 11 is adapted to transmit and receive radio waves, for example from a read / write system such as an RFID reader or a scanner.
  • Each scanner 2Q 1 stores in a memory 2 I j an identifier ID 1 specific to the processing EVj (identifier of the event EV j within the meaning of the invention).
  • the identifier ID j is stored in the form of a block of digital data (for example binary), whose size is a multiple of a predetermined value p.
  • the size of a block of digital elements is the number of elements (eg bits) of this block.
  • the identifiers ID j can have different sizes with respect to each other.
  • the HB chip of the RFID tag here comprises calculation means HC, implementing a cryptographic hash function H associated here with the process PROC.
  • This function H is for example one of the following known cryptographic hash functions: SHA-I (Secure Hash Algorithm - 1), SHA-2 (Secure Hash Algorithm - 2) or MD5 (Message Digest 5).
  • Another hash function can be implemented. An example of such a function will be described later with reference to FIGS. 8 and 9.
  • a cryptographic hash function is a function that undergoes one or more successive processing of data so as to generate a given fixed-size digital fingerprint from an initial print value.
  • the hash function H is adapted to successively "chop" blocks of digital data U i, U 2 , ... of size p, to compute a digital fingerprint E of size t from a value initial impression E, n , t .
  • the data on which the cryptographic hash functions are applied have sizes. multiples of p so that these functions successively hack blocks of fixed size P.
  • this assumption is not limiting, it is possible to consider blocks of any size using for example stuffing techniques (or padding in English) known to those skilled in the art to obtain blocks of size multiple of p, or appropriate hash functions suitable for chopping blocks of variable size.
  • the calculation means of the function H can be implemented on a calculation module external to the device 10 and adapted to communicate with the device 10 and in particular with the RFID tag.
  • a calculation module external to the device 10 and adapted to communicate with the device 10 and in particular with the RFID tag.
  • Such an external module can be implemented including scanners 2O j described above, for each event EV j.
  • the HB chip of the RFID tag 11 further comprises HD storage means of a digital fingerprint of size t. These means include a rewritable zone Z of size t.
  • this zone Z may not be rewritable but adapted to contain consecutive recordings of digital fingerprint.
  • this marking consists in calculating a so-called traceability imprint, representative of the succession of the ordered treatments EVi, EV 2 ,..., EV n applied to the device 10, and storing it on the device 10.
  • a digital fingerprint EN is updated stored in the RFID tag 11, as the various treatments are applied to the device 10.
  • the RFID tag 11 calculates an initial value EN 0 of the traceability fingerprint EN using the hash function H (step FlO).
  • a public footprint eo of size t for example common to all the devices tracked by means of a marking method and a validation method according to the invention.
  • This proprietary code K has a size here that is a multiple of p.
  • the public imprint eo has been previously stored on the RFID tag 11, for example by the manufacturer of the RFID tag.
  • the proprietary code is transmitted to the RFID tag in a secure environment, for example when associating the RFID tag 11 with the device 10. It is stored on the RFID tag 11, directly (and only here) in a volatile memory HE of calculation of the function H, and this the time of its use for the calculation of the value of the initial imprint.
  • the volatile memory HE is for example a calculation register of the function H.
  • the RFID tag 11 calculates the initial imprint EN 0 by applying the hash function H parameterized by the public imprint eo on the proprietary code K, ie:
  • the variables on which the cryptographic hash function H (eg event identifiers and proprietary code) are applied, pass through a volatile memory for calculating this function (such as the aforementioned HE memory). , but are not preserved, after applying the hash function, in this memory. They are for example erased from this memory or overwritten by other so-called H function processing variables.
  • the proprietary code K is erased from the volatile memory HE.
  • an unauthorized third person can not access the proprietary code from the device 10, and in particular by querying the RFID chip 11. In this way, the traces of traceability generated later will be tamper-proof.
  • the obtaining by the RFID chip of the proprietary code K in a secure environment, the storage of this proprietary code in a volatile memory for calculating the function H, and the operating mode of the function H as to the non-conservation of the variables of processing they use, represent means of protection of the proprietary code within the meaning of the invention.
  • other means of protection may be implemented by the RFID chip so as to make the proprietary code inaccessible.
  • this proprietary code can be stored in a secure memory by a cryptographic process of encryption or authentication.
  • the division into blocks of size p of the proprietary code K may advantageously be carried out by the entity which transmits to the RFID tag this proprietary code, this entity then transmitting each block of size p successively to the RFID tag.
  • an identifier of the device 10 serial or batch number of the device, product range to which the device belongs, etc.
  • stored on the RFID tag or not stored on the RFID tag, provided that it is accessible on the device 10 by another reading means;
  • identifiers may be used, in combination with the proprietary code K, to generate the initial imprint EN 0 so as to make it specific to each device 10 or to each batch of devices for example. They can be chopped after having minced the owner code K.
  • step F20 It is assumed that the device 10 then initiates the succession of treatments EV 1 , EV 2 ,..., EV n (step F20).
  • the identifier ID j of this processing is sent by the scanner 2O j to the device 10 by radio wave (so unencrypted here), for example upon detection of completion of this treatment by appropriate means known per se.
  • This identifier ID j is received by the antenna HA of the RFID tag 11 (step F31) and stored temporarily (and only here) in the volatile memory calculation HE of the function H.
  • the calculating means HC then calculate the current value EN j for the event EV j of the traceability digital fingerprint, by applying to the identifier ID j the hash function H parameterized by the previous value EN j -i of the digital print (step F32):
  • ENJ H ([IDJ], EN H )
  • the current value J is then stored by the storage means HD in the rewritable area replacement Z value by j -i of the digital fingerprint calculated for the treatment EV j previous -i (step F33).
  • the identifiers ID j (and in general, the set of variables hashed by the hash function) are erased from the volatile memory calculation HE of the RFID chip from their use by the function hash, so as to make them inaccessible by reading or interrogating the RFID tag.
  • step F40 Following the storage of the digital fingerprint EN j , the device 10 is subjected to the following processing EV ] + i (step F40). The steps F31, F32 and F33 are repeated for each treatment applied to the device 10.
  • the traceability imprint EN n stored in the rewritable zone Z represents a condensed history of the ordered processes EVi, EV 2 , ..., EV n .
  • the user A wishes to check at this stage of the treatment process, that the device 10 has undergone a predetermined sequence composed of n ordered treatment re fi EV, EV ref 2, ..., and denoted EVrefn SEV re f.
  • it uses a control system according to the invention, as shown, in a particular embodiment, in Figure 4 described now.
  • control system considered is for example a scanner 30 having the hardware architecture of a computer. It comprises in particular a processor 31, a random access memory RAM 32, radio communication means 33 enabling it to communicate with and read RFID tags (and in particular the RFID tag 11 of the device 10), a read-only memory of type ROM 34 and a rewritable non-volatile memory 35.
  • the identifiers ID refj and ID j are identical.
  • the ROM-type ROM 34 constitutes a recording medium in accordance with the invention on which is recorded a computer program according to the invention adapted to perform the main steps of the control method according to the invention, represented in the form of FIG. flowchart in Figure 5 described now.
  • control system 30, the device 10 carrying the RFID chip 11 and the scanners 20 3 form a validation system according to the invention.
  • control system 30 uses, in accordance with the invention, on the one hand the value of the digital fingerprint EN n stored in the device 10. and on the other hand a theoretical numerical fingerprint IN re f representative of the predefined sequence of SEV treatments re f.
  • the control system reads the RFID tag 11 of the device 10 by means of its communication means 33 (step GlO), in a manner known to those skilled in the art.
  • control system 30 evaluates the theoretical numerical fingerprint BY re f by applying the hash function H successively on the identifiers ID re f j , taken in order, of the events of the SEV sequence re f (step G20 ).
  • the calculation of the theoretical footprint EN re f can be done at any time by means of the knowledge of the identifiers ID refj , the public footprint eo and the proprietary code K, that is to say "independently" of the when the calculation of the traceability footprint is performed by the device 10.
  • the theoretical footprint EN r ⁇ f can be pre-calculated.
  • the control system 30 compares the traceability fingerprint EN n received from the device 10 with the theoretical fingerprint IN re f (step G30).
  • step G40 If the traceability footprint EN n corresponds to the theoretical footprint EN ref (step G40), then the control system 30 determines that the device 10 has followed the predefined processing sequence SEVr ef (step G50).
  • control system 30 deduces that the device 10 has not followed the predefined treatment sequence SEV re f (step G60). This may be because, for example, the order of sequence of treatment was not respected, or that all the expected treatments were not achieved. An additional procedure of investigation and / or corrections, not described here, can then be implemented to find the source of the problem.
  • FIG. 6 illustrates an example of different digital tracing fingerprints EN 2 and theoretical EN ref , generated respectively during the marking and control methods previously described, for a number n of treatments equal to 2.
  • the digital prints are represented in hexadecimal form and are small in size, in particular for the sake of simplicity and clarity.
  • the invention applies to digital fingerprints that are not necessarily binary, and of any size, it will however be preferable to use, for reasons of hardware implementation in particular, binary digital prints. Furthermore, in a privileged manner, particularly for reasons of security and robustness of the hash function H, the size of the digital prints will be taken sufficiently large, ie generally greater than 60 bits.
  • FIG. 7 represents a device 10 according to the invention (as previously described with reference to FIG. 1 in particular), implemented in a second embodiment of the validation system according to the invention.
  • the scanner 20 ' j associated with an event EV j calculates an identifier ID j ' of this event (also called contextual identifier of the event) from an initial identifier specific to the event.
  • This initial identifier may be, for example, the identifier ID j considered previously in the first embodiment.
  • the contextual identifier ID j ' is an identifier of the event EV j within the meaning of the invention.
  • the scanner 2O j' bed initially the value of the footprint on the device 10 in the zone Z of the RFID tag 11.
  • a cryptographic hash function h (second hash function in the sense of the invention) parameterized by the value EN 3 - I , ie with the notations previously introduced:
  • This hash function h is for example a SHA-1, SHA-2 or MD5 function. It may be different from the cryptographic hash function H implemented in the device 10. A hash function h different for each scanner 20 / may also be implemented.
  • the identifier IDj ' is then sent to the device 10 (see step F31 of FIG. 3), which calculates from this identifier the current value of the digital traceability fingerprint EN 3 for the event EV j (cf. step F32 of FIG. 3), as previously described for the first embodiment of the invention.
  • control system 30 the device 10 carrying the RFID chip 11 and the scanners 20y form a validation system according to the invention.
  • This second embodiment implements a so-called "mutual ignorance" protocol between the device 10 and the scanner 20 /.
  • This protocol is particularly advantageous, especially in a context where the event identifiers could be intercepted between the scanners and the device 10 so as to be exploited dishonestly (for example to implement a counterfeit PROQ process.
  • the scanner 20 / can not access, on simple reading of the value of the traceability fingerprint EN 3-I , information concerning the previously applied treatments on the device 10.
  • the device 10 can not have access, from the identifier ID j 'transmitted by the scanner, to the initial identifier ID 3 . Because of the properties of the cryptographic hash function h, it is indeed impossible for it to find, starting from the value EN 3-1 of the traceability footprint and the contextual identifier ID j '/ initial identifier IDj.
  • H1 a hash function
  • H1 means for calculating this hash function H1 which can be used in particular by the device 10 (and notably by the RFID chip 11) and the control system 30 according to the invention. It should be noted that this hash function H1 can also be used by the scanners 20 /.
  • the hash function H1 is parameterized by the value EN j -i of the traceability imprint for the event EV j -i (hereinafter referred to as the previous value of the imprint traceability), and is applied to the identifier ID j for the calculation of the value ENj of the traceability fingerprint for the EV event j (hereinafter referred to as the current value of the traceability fingerprint).
  • the identifier ID j is of size p, so that its hash requires only one iteration.
  • the generalization to several iterations for hashing the identifier ID j is obvious to those skilled in the art and will not be detailed here.
  • FIG. 8 represents an iteration carried out by calculation means 40 of the hash function H1, hereinafter denoted by iteration j. Note that this figure illustrates on the one hand the main steps of the step of calculating the current value EN j of the digital print from the identifier ID j , and on the other hand the means implemented for this calculation.
  • the computing means 40 of the hash function H1 comprise a pseudo-random state vector generator 50 and a pre-conditioning module 60.
  • the state vector considered is the traceability footprint EN of size t. This traceability footprint is assumed here binary, that is to say composed of t bits.
  • the pseudo-random generator 50 calculates the current value EN 3 according to a non-invertible application dependent on the previous value EN 3-I and a current intermediate value X u (X " is a vector of size p).
  • the pseudo-random generator 50 is adapted to successively apply, on a temporary vector of size t1 greater than or equal to t, comprising at least a first intermediate vector of size t formed from at least one section of the value IN jI and the current intermediate value X u , a predetermined number of permutations of size tl.
  • Each permutation is associated with a bit of a permutation key C n of size d and chosen as a function of at least the value of this bit.
  • the permutation key C n results from a selection of d bits from the t bits of the first intermediate vector.
  • the current value ENj of the traceability footprint is then obtained from at least one section of the vector resulting from this application step.
  • vector V 3 comprising a vector V b
  • section of a vector of size t is meant a set of j bits of this vector occupying particular positions in this vector, j being between 1 and t (l ⁇ j ⁇ t).
  • a section of size t of a vector of size t will designate the vector itself.
  • each bit of the permutation key C n that is to say each permutation stage, is associated with a permutation PO when this bit is equal to 0 and a permutation P1 when this bit is equal. to 1.
  • the same pair of permutations (PO, P1) can be considered at different permutation stages.
  • these permutations PO and P1 will be defined in every point different from each other and individually different at each point of the permutation identity.
  • the permutation function ⁇ composed of the aforementioned d permutations advantageously constitutes a one-way function, that is to say a function that can be easily calculated in a meaning, but difficult or impossible to reverse in a reasonable time (the with a reasonable complexity).
  • WS ⁇ (WE, C n ) to denote that the permutation function ⁇ parameterized by the permutation key C n is applied to input data WE in order to obtain output data WS.
  • the current intermediate value X ⁇ used by the pseudo-random generator 50 is derived from a calculation carried out by the preconditioning module 60 according to an invertible application dependent on the previous value EN j -i and the identifier ID j transmitted by the scanner 2O j .
  • the pre-conditioning module 60 applies on the identifier ID j , a symmetric function f with a secret key parameterized by at least one section of the previous value EN j -i of the traceability fingerprint.
  • This symmetric secret key function comprises at least one exclusive operation with at least one section of the previous value EN j-1 of the traceability footprint.
  • the traceability footprint EN has a section of size p denoted X also called state variable.
  • the location of this state variable is predefined and preferably fixed.
  • the value X j -i of the state variable X included in the previous value EN j -i of the traceability fingerprint is used, by the pre-conditioning module 60, to parameterize the symmetrical function f with secret key.
  • the function / is an exclusive-or-operation, implemented by the exclusive-door 61, and parameterized by the value X ⁇ 1 (the secret key of this function f is thus equal here to Xj -i).
  • the exclusive-or-gate 61 calculates the current intermediate value X " by applying an exclusive-or-operation between the identifier ID j and the value X jI of the state variable X:
  • X " IDj ⁇ XJ-I.
  • the function / may comprise other operations (eg, exclusive-or-operations, permutations, etc.) parameterized by other sections of the imprint EN jI .
  • the current intermediate value X " is then transmitted to the pseudo-random generator 50, which evaluates from this current intermediate value and from the previous value EN j -i of the traceability footprint, the current value EN j .
  • a first pseudo-random generator calculation means 51 replaces the previous value X H of the state variable X with the current intermediate value X "to form a first intermediate vector V ⁇ nt i of size t.
  • a second calculation means 52 forms a provisional vector V prO v of size 2 * t, starting from the first intermediate vector V ⁇ nt i and the complementary vector, denoted v intl, of this first intermediate vector V, nt i- known per se, the complementary vector of a vector is obtained by complementing each bit of this vector with 1.
  • V prov ⁇ V intl V mi l
  • this provisional vector may be equal to V, n ti (ie it is then possible to clear the second calculation means 52) and is in this case of size t.
  • the provisional vector V prO v is then supplied to a third calculation means 53 comprising permutation means 53b, adapted to apply the one-way function ⁇ previously described on the temporary vector to form a result vector V res .
  • the one-way function ⁇ applied by permutation means 53b is parameterized by a permutation key Cn of predetermined size d, less than or equal to t.
  • d t.
  • the current value of this permutation key C n is formed by a forming means 53a from the first intermediate vector.
  • the current value C n is taken equal to the value of the first intermediate vector, namely
  • the size of the key d may be less than t.
  • the permutation key C n will then be formed by the means 53a by selecting distinct bits, consecutive or not, from the t bits of the first intermediate vector V rt i, the positions of the selected bits being preferentially pre-established and fixed.
  • the size d of the permutation key greater than the size of the current intermediate value X "(d ⁇ p) will be chosen and the selected bits will comprise the current intermediate value X".
  • the pseudo-random generator 50 further comprises a fourth calculation means 54, which selects a section of t bits from among the bits of the result vector V res to form a second intermediate vector V m t2- For example, the second intermediate vector V , nt 2 is formed by the first t bits of the result vector V res .
  • the pseudo-random generator 1 also comprises a fifth calculation means 55 comprising an exclusive-exclusive gate 55a combining the previous value EN j -i of the traceability fingerprint and the second intermediate vector V mt2 , so as to form the current value EN j of the traceability footprint.
  • this hash function has the advantage of being very small. It is possible in particular to implement this function on a passive RFID chip with very few logic gates.
  • the proposed hash function can be advantageously applied to any predetermined size of words before its implementation to generate fingerprints of any predetermined size before its implementation.
  • this centralized information system comprises at least one computer server connected to a computer network and to which are connected, for each treatment step followed, applied to a device to follow equipped with an RFID tag, scanners. These scanners are responsible for reading and transmitting to this server, via the computer network, the information read on the RFID tag of the device to follow.
  • this information system is provided with means enabling it to be a control system according to the invention.
  • the device to follow is in accordance with the invention.
  • the means of the device will subsequently be grouped together under the name of traceability module to obtain an identifier of the event, the means of the device for calculating the traceability fingerprint and the means of the device for storing the fingerprint.
  • This traceability module is for example included in the RFID chip of the device to follow. It also includes here an identifier that can be used by the centralized information system (for example an identifier of the device).
  • the device to be followed further comprises means for activating and deactivating the traceability module.
  • the traceability module can advantageously take over (i.e. be activated) on the centralized information system, for events experienced by the device to be followed in remote areas or not connected to the centralized information system.
  • These zones are supposed to be provided with autonomous scanners compatible with the traceability module so as to be able to implement the marking method according to the invention.
  • the traceability module When returning the device to follow in areas covered by the centralized information system, the traceability module communicates the traceability footprint and the identifier of the device to the centralized information system. In this way, the information system can update a central database comprising all the events experienced by the device (after having interpreted the fingerprint using a control method according to the invention), for subsequent general validation (including events controlled by the centralized information system and out of control events). Following the reintegration of the device under the control of the centralized information system, the traceability module is deactivated (for example upon receipt of a predefined message from the information system).
  • This solution can also be implemented in the event of failure of the centralized information system, the device taking over from the information system until a return to normal of the information system.
  • the invention also applies to other types of events, such as, for example, a state or change of state of a physical parameter of a device (eg temperature, pressure, etc.) at during a single or multi-variable process (eg traceability of several physical parameters). It can be implemented by defining, for example, acceptance ranges of each of the monitored parameters for the duration of the process.
  • a state or change of state of a physical parameter of a device eg temperature, pressure, etc.
  • a single or multi-variable process eg traceability of several physical parameters.
  • the various events considered correspond to predefined instants for which the value of each monitored parameter is measured. This value can be measured directly by the traceability module (eg when it is integrated in a passive or active RFID tag).

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

L'invention concerne un procédé de validation d'une succession d'événements de la vie d'un dispositif (10) par rapport à une séquence prédéfinie d'événements, comprenant les étapes suivantes : pour chaque événement de la succession : calcul d'une valeur courante d'une empreinte de traçabilité en appliquant, sur un identifiant de l'événement, une fonction de hachage paramétrée par la valeur précédente de l'empreinte; mémorisation de cette valeur courante sur le dispositif; après la succession d'événements, obtention par un système de contrôle de la dernière valeur de l'empreinte mémorisée sur le dispositif; génération par ce système d'une empreinte théorique en appliquant successivement, sur des identifiants pris dans l'ordre des événements de la séquence prédéfinie, la fonction de hachage; si la valeur de l'empreinte de traçabilité est égale à l'empreinte théorique, validation que la séquence prédéfinie d'événements a été vécue par le dispositif.

Description

Procédé et système de validation d'une succession d'événements vécus par un dispositif
Arrière-plan de l'invention
La présente invention se rapporte au domaine général de la traçabilité de dispositifs quelconques tels que par exemple des matériaux, des produits ou des objets.
Elle concerne plus particulièrement les mécanismes permettant de contrôler à n'importe quel stade d'un processus comprenant une pluralité d'événements, si un dispositif arrivé à ce stade a bien subi ou vécu l'ensemble des événements prévus par le processus dans un ordre prédéterminé.
Au sens de l'invention, un événement vécu par un dispositif peut désigner notamment un traitement appliqué à ce dispositif ou un état ou changement d'état d'un paramètre physique de ce dispositif (tel que par exemple sa température, sa pression, etc.).
Dans l'état actuel de la technique, il existe des mécanismes de traçabilité permettant de retracer tous les événements d'un processus vécus par un dispositif (par exemple les étapes de fabrication, de transformation et de distribution d'un dispositif). Ces mécanismes reposent sur la lecture et l'enregistrement sur supports papier ou numériques, en des points de passage prédéfinis associés aux différents événements du processus, de données de suivi tel un identifiant du dispositif (après lecture d'un code barre ou d'une étiquette RFID par exemple).
Afin de déterminer si à un stade particulier de ce processus, un dispositif a bien subi l'ensemble des événements prévus, il est possible de raccorder ces différents points de passage à un système d'information centralisé pour qu'ils lui transmettent les données enregistrées, puis d'interroger ce système d'information.
Cependant, cette solution présente une complexité en termes de déploiement et un coût de réalisation élevés, notamment dans le cas d'applications de traçabilité de réseaux de distribution pour lesquels les différents points de passage ne se trouvent pas en un lieu unique (ex. points de passage chez divers sous-traitants ou dans divers réseaux de distribution). Elle nécessite par ailleurs des moyens de connexion au système d'information centralisé et d'interrogation à distance.
En outre, cette solution implique des frais et des délais de redéploiement conséquents pour toute évolution du processus suivi.
Une autre alternative consiste à utiliser des supports d'enregistrement embarqués sur le dispositif, tels que par exemple des étiquettes RFID, intégrant des modules mémoire de taille adaptée pour mémoriser des données de suivi associées à chaque événement vécu par le dispositif individuellement.
Cette alternative a pour avantage que les données de suivi permettant de déterminer si un dispositif a bien subi l'ensemble des événements prévus, sont directement portées par le dispositif et donc exploitables de façon simple et rapide.
Toutefois, le coût des supports d'enregistrement utilisés, du fait de la taille des modules mémoire à intégrer pour valider une succession d'événements, est très important.
Par ailleurs, ces supports d'enregistrement et notamment les étiquettes RFID sont facilement interrogeables et les données qu'elles portent n'offrent aucune confidentialité.
Il existe donc un besoin d'une solution technique simple à déployer et peu coûteuse, tout en étant sécurisée et d'encombrement réduit, permettant de déterminer si à un stade particulier d'un processus, un dispositif a bien subi dans l'ordre, l'ensemble des événements prévus par ce processus.
Objet et résumé de l'invention
Selon un premier aspect, la présente invention concerne un procédé de validation d'une succession d'événements de la vie d'un dispositif par rapport à une séquence prédéfinie d'événements, ce procédé comprenant :
- pour chaque événement de la succession vécu par le dispositif : -une étape de calcul d'une valeur courante d'une empreinte de traçabilité en appliquant sur un identifiant de l'événement, une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour l'événement précédent ; et - une étape de mémorisation de cette valeur courante sur le dispositif ; - après la succession d'événements, une étape d'obtention par un système de contrôle, de la dernière valeur de l'empreinte de traçabilité mémorisée sur le dispositif ;
- une étape de génération, par ce système de contrôle, de la valeur d'une empreinte théorique en appliquant successivement, sur des identifiants pris dans l'ordre des événements de la séquence prédéfinie, la fonction de hachage ; et
- si la dernière valeur de l'empreinte de traçabilité est égale à la valeur de l'empreinte théorique, une étape de validation que la séquence prédéfinie d'événements a été vécue par le dispositif.
Corrélativement, l'invention concerne également un système de validation d'une succession d'événements de la vie d'un dispositif par rapport à une séquence prédéfinie d'événements, ce système comprenant :
- des moyens pour obtenir un identifiant de chaque événement de la succession ;
- des moyens pour calculer, pour chaque événement de la succession, une valeur courante d'une empreinte de traçabilité, en appliquant sur l'identifiant de cet événement une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour l'événement précédent, et
- des moyens pour mémoriser cette valeur courante sur le dispositif ;
- un système de contrôle comprenant :
-des moyens pour obtenir, après la succession d'événements, la dernière valeur de l'empreinte de traçabilité mémorisée sur le dispositif ;
-des moyens pour générer une valeur d'une empreinte théorique en appliquant successivement sur des identifiants pris dans l'ordre de chacun des événements de la séquence prédéfinie la fonction de hachage ; et
-des moyens pour valider, si la dernière valeur de l'empreinte de traçabilité est égale à la valeur de l'empreinte théorique, que la séquence prédéfinie d'événements a été vécue par ledit dispositif.
Ainsi, conformément à l'invention, la validation se fait en deux phases : - une première phase de marquage du dispositif, avec une empreinte numérique de traçabilité calculée à partir d'une fonction de hachage cryptographique et représentative d'une séquence d'événements vécus par le dispositif ; et
- une seconde phase de contrôle consistant à comparer cette empreinte de traçabilité avec une empreinte théorique générée à l'aide de la même fonction de hachage cryptographique et représentative d'une séquence d'événements attendus du processus.
Bien entendu, les identifiants des événements utilisés d'une part au cours de la phase de marquage et d'autre part au cours de la phase de contrôle doivent être cohérents entre eux, c'est-à-dire identiques lorsqu'ils identifient le même événement.
De façon générale, une fonction de hachage cryptographique (ou algorithme de hachage cryptographique) est une fonction qui fait subir un traitement ou une succession de traitements à un message de données d'entrée de taille quelconque pour produire une empreinte numérique de taille fixe servant à identifier les données d'entrée.
Une telle fonction présente généralement les propriétés suivantes ;
- il est très difficile de retrouver le contenu du message à partir de l'empreinte numérique ;
- à partir d'un message donné et de son empreinte numérique, il est très difficile de générer un autre message qui donne la même empreinte numérique ; et
- il est très difficile de trouver deux messages aléatoires qui donnent la même empreinte numérique (résistance aux collisions).
Par « très difficile » on entend ici techniquement impossible en pratique, c'est-à-dire par toute technique algorithmique et/ou matérielle en un temps raisonnable.
Parce qu'elle présente de telles propriétés, une fonction de hachage cryptographique est classiquement utilisée en cryptographie dans les protocoles d'authentification ou de contrôle de l'intégrité de documents.
L'invention propose avantageusement d'utiliser cette fonction dans un contexte de traçabilité, pour valider, à n'importe quel stade d'un processus donné (stade intermédiaire ou final), qu'un dispositif a bien respecté un enchaînement fini d'événements de ce processus en respectant un ordre donné, et ce sans mémoriser sur le dispositif, de données de suivi autre qu'une empreinte numérique de traçabilité de taille fixe quel que soit le nombre d'événements considéré.
En effet, l'empreinte numérique de traçabilité générée pour chaque événement représente, de par sa construction, un condensé de l'historique des événements précédents vécus par le dispositif. Par conséquent, il n'est pas nécessaire de stocker, pour chaque événement vécu par le dispositif, une empreinte numérique propre à cet événement. Seule l'empreinte numérique générée pour le dernier événement vécu par le dispositif est utilisée pour la validation.
Ainsi l'invention permet un gain substantiel en termes d'encombrement par rapport aux solutions proposées dans l'art antérieur. De cette sorte, l'utilisation de puces RFID passives à très faible espace mémoire pour le stockage sur le dispositif de l'empreinte de traçabilité est permise, ce qui représente un gain non négligeable en termes de coûts pour un industriel désireux de réaliser la traçabilité de ses produits.
En outre, l'invention propose une solution sécurisée et fiable. En effet, compte-tenu des propriétés de la fonction de hachage cryptographique, il est impossible, si l'empreinte de traçabilité diffère de l'empreinte théorique attendue, d'établir une séquence d'événements simulés de sorte à ramener l'empreinte de traçabilité à la valeur attendue.
De plus, une fonction de hachage cryptographique étant une fonction à sens unique, on peut calculer une empreinte en connaissant la succession des événements vécus par le dispositif, mais il est impossible de déduire ces événements successifs à partir de la seule connaissance de l'empreinte. Par conséquent, la lecture de l'empreinte de traçabilité d'un dispositif à un stade quelconque d'un processus ne permet pas à une personne mal intentionnée de déduire la moindre information quant au processus lui-même et notamment quant à l'enchaînement des événements de ce processus.
Par ailleurs, sous réserve de connaître l'empreinte de traçabilité initiale, on peut calculer l'empreinte théorique (c'est-à-dire l'empreinte attendue de la séquence prédéfinie d'événements) séparément du dispositif, et la comparer ultérieurement à l'empreinte de traçabilité portée par le dispositif. On limite ainsi les coûts de redéploiement en cas de modification du processus, le calcul de l'empreinte de traçabilité s'effectuant de façon similaire quelle que soit la complexité et la longueur du processus, et l'empreinte théorique pouvant être pré-calculée pour une séquence prédéfinie d'événements indépendamment du dispositif.
Dans un mode particulier de réalisation de l'invention, les moyens pour obtenir un identifiant de chaque événement de la succession, les moyens pour calculer l'empreinte de traçabilité (comprenant les moyens d'application de la fonction de hachage cryptographique) et les moyens pour mémoriser sont embarqués sur le dispositif. Ils sont par exemple implémentés sur une puce RFID active ou passive portée par ou intégrée au dispositif.
De cette sorte il n'est pas possible de modifier la valeur de l'empreinte de traçabilité avant de la mémoriser sur le dispositif.
En variante, les moyens pour obtenir un identifiant et les moyens pour calculer l'empreinte de traçabilité peuvent être implémentés sur un module de calcul non porté par le dispositif. Cette solution nécessite la récupération par le module de calcul de la valeur de l'empreinte numérique de traçabilîté calculée pour l'événement précédent.
La complexité matérielle requise sur le dispositif pour mettre en œuvre l'invention est alors réduite. Toutefois, cette solution sera préférentiellement utilisée pour assurer la traçabilité d'un dispositif dans un processus interne sous contrôle et sans risque de malversation (interception et modification de l'empreinte de traçabilité entre le module de calcul et le dispositif), ou alors accompagnée d'une sécurisation de la liaison entre le module de calcul et le dispositif.
La mémorisation de l'empreinte de traçabilité sur le dispositif peut se faire sur un support porté par ou intégré à ce dispositif, de différentes natures. Il peut s'agir par exemple d'une mémoire numérique réinscriptible, d'une puce ou étiquette RFID active ou passive, etc. L'utilisation d'une étiquette ou d'une puce RFID passive présente l'avantage d'avoir un coût relativement réduit.
L'identifiant de chaque événement de la succession d'événements peut être prédéfini. Il s'agit d'un identifiant spécifique à cet événement, par exemple un numéro d'événement, etc. Il sera géré préférentiellement par un module externe au dispositif suivi et associé à l'événement considéré, qui envoie, avant l'étape de calcul, au dispositif ou au module de calcul, l'identifiant de l'événement vécu par le dispositif.
Dans un autre mode de réalisation de l'invention, le procédé de validation comprend en outre, pour chaque événement, avant l'étape de calcul :
- une étape d'obtention par un module associé à l'événement, de la valeur de l'empreinte de traçabilité calculée pour l'événement précédent ; et
- une étape de calcul par ce module de l'identifiant de cet événement, en appliquant sur un identifiant initial de cet événement une seconde fonction de hachage paramétrée par cette valeur.
Corrélativement, le système de validation peut également comporter en outre un module associé à chaque événement de la succession et comportant :
- des moyens pour obtenir du dispositif la valeur de l'empreinte de traçabilité calculée pour l'événement précédent ; et
- des moyens pour calculer l'identifiant de cet événement en appliquant sur un identifiant initial de cet événement une seconde fonction de hachage cryptographique paramétrée par cette valeur.
Dans cette variante, un protocole dit « d'ignorance réciproque » est utilisé entre le module associé à chaque événement et l'entité en charge du calcul de l'empreinte numérique de traçabilité (module de calcul externe ou dispositif lui-même).
En effet, le module associé à l'événement reçoit l'empreinte numérique de traçabilité mais ne peut avoir accès aux événements précédemment vécus par le dispositif à la simple lecture de cette empreinte.
De même le module de calcul externe ou le dispositif lui-même reçoit l'identifiant d'événement transmis par le module associé à cet événement et utilisé pour générer l'empreinte de traçabilité, maïs ne peut avoir accès à l'identifiant initial de l'événement en cours à la simple lecture de cet identifiant d'événement.
Dans un mode de réalisation de l'invention, les moyens pour mémoriser mémorisent la valeur courante de l'empreinte de traçabilîté sur le dispositif en remplacement de la valeur de l'empreinte de traçabilité mémorisée pour l'événement précédent. En variante, toutes les valeurs d'empreinte numérique peuvent être mémorisées (par exemple pour retrouver rétroactivement au cours d'une phase d'enquête un événement de la séquence prédéfinie qui n'aurait pas été vécu par le dispositif), mais seule la dernière valeur de l'empreinte numérique de traçabilité est utilisée au cours du procédé selon l'invention.
L'invention s'appuie ainsi sur les entités suivantes :
- le dispositif suivi, qui mémorise via l'empreinte de traçabilité, l'historique des événements qu'il a vécus à un stade donné d'un processus ;
- un module de calcul qui peut être intégré au dispositif et qui calcule à chaque événement la valeur courante de l'empreinte de traçabilité à l'aide d'une fonction de hachage ; et
- le système de contrôle, qui est adapté à évaluer une empreinte théorique relative à une séquence prédéfinie d'événements et à contrôler que cette séquence a bien été vécue par le dispositif.
Ainsi, l'invention couvre également ces trois entités.
Selon un second aspect, l'invention vise un procédé de contrôle d'un dispositif permettant de déterminer si une séquence prédéfinie d'événements a été vécue par ce dispositif, comprenant :
- une étape d'obtention d'une valeur d'une empreinte de traçabilité mémorisée sur le dispositif ;
- une étape de génération d'une valeur d'une empreinte théorique en appliquant une fonction de hachage cryptographique successivement sur des identifiants, pris dans l'ordre, des événements de la séquence prédéfinie ; et
- si la valeur de l'empreinte de traçabilité est égale à la valeur de l'empreinte théorique, une étape de validation que ladite séquence prédéfinie d'événements a été vécue par le dispositif.
Corrélativement, l'invention concerne également un système de contrôle adapté à déterminer si une séquence prédéfinie de traitements d'événements a été vécue par un dispositif, caractérisé en ce qu'il comprend :
- des moyens pour obtenir une valeur d'une l'empreinte de traçabilité mémorisée par le dispositif ;
- des moyens pour générer une valeur d'une empreinte théorique en appliquant une fonction de hachage cryptographique successivement sur des identifiants, pris dans l'ordre, des événements de Ia séquence prédéfinie ; et
- des moyens pour comparer la valeur de l'empreinte de traçabilité avec la valeur de l'empreinte théorique ; et
- des moyens pour déterminer que la séquence prédéfinie d'événements a été vécue par le dispositif si la valeur de l'empreinte de traçabilité est égale à la valeur de l'empreinte théorique.
Selon un troisième aspect, l'invention vise également un procédé de marquage d'un dispositif caractérisé en ce qu'il comprend, pour chaque événement d'une succession d'événements de la vie d'un dispositif:
- une étape d'obtention d'un identifiant de cet événement ;
- une étape de calcul d'une valeur courante d'une empreinte de traçabilité en appliquant sur l'identifiant de cet événement une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour l'événement précédent ; et
- une étape de mémorisation de cette valeur courante sur le dispositif.
Corrélativement l'invention concerne aussi un dispositif comprenant :
- des moyens pour obtenir un identifiant de chaque événement d'une succession d'événements de la vie d'un dispositif ;
- des moyens pour calculer, pour chaque événement de la succession, une valeur courante d'une empreinte de traçabilité, en appliquant sur l'identifiant de l'événement une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour un événement précédent ; et
- des moyens pour mémoriser cette valeur courante.
Selon une variante de réalisation, les moyens pour obtenir, pour calculer et pour mémoriser sont implémentés sur une puce RFID embarquée sur ou intégrée au dispositif.
Dans un mode particulier de réalisation, le dispositif selon l'invention comprend en outre :
- des moyens pour recevoir un code propriétaire ;
- des moyens de protection de ce code adaptés à le rendre inaccessible à un tiers non autorisé par interrogation du dispositif ; et est tel que les moyens pour calculer sont adaptés en outre à calculer une valeur initiale de l'empreinte de traçabilité en appliquant la fonction de hachage sur au moins ce code propriétaire.
De cette sorte, les empreintes de traçabilité calculées par le dispositif sont infalsifiables par une personne non autorisée extérieure à l'application de validation.
Dans un mode particulier de réalisation de l'invention, le dispositif comprend en outre des moyens pour activer et désactiver les moyens précités pour obtenir, pour calculer et pour mémoriser.
Dans une variante particulièrement avantageuse de l'invention, la puce RFID considérée est une puce RFID passive.
Ainsi l'invention vise également une puce RFID destinée à être embarquée sur un dispositif et comprenant :
- des moyens pour obtenir un identifiant de chaque événement d'une succession d'événements de la vie du dispositif ;
- des moyens pour calculer, pour chaque événement de la succession, une valeur courante d'une empreinte de traçabilité, en appliquant sur l'identifiant de l'événement une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée et mémorisée pour un événement précédent ; et
- des moyens pour mémoriser cette valeur courante.
Dans un mode particulier de réalisation, la puce RFID selon l'invention comprend en outre :
- des moyens pour recevoir un code propriétaire ;
- des moyens de protection de ce code, adaptés à le rendre inaccessible à un tiers non autorisé par interrogation de la puce ; et est telle que les moyens pour calculer sont adaptés en outre à calculer une valeur initiale de l'empreinte de traçabilité en appliquant la fonction de hachage sur au moins ce code propriétaire.
De cette sorte, comme décrit précédemment, les empreintes de traçabilité calculées par la puce RFID sont infalsifiables par une personne non autorisée extérieure à l'application de validation.
Le code propriétaire est par exemple un identifiant spécifique à l'utilisateur désirant effectuer la validation.
Les moyens de protection du code propriétaire mis en œuvre peuvent être de différentes natures. Par exemple, sur réception de ce code propriétaire, Ie dispositif selon l'invention peut stocker ce code dans une mémoire volatile de calcul de la fonction de hachage cryptographique, de sorte qu'après calcul de l'empreinte initiale, la valeur du code propriétaire ne soit pas conservée. En effet, de façon classique, l'implémentation des fonctions de hachage cryptographique est telle que les variables de traitement utilisées par ces fonctions ne sont pas conservées (elles sont habituellement effacées après chaque utilisation ou écrasées par d'autres variables de traitement).
En variante, sur réception du code propriétaire, le dispositif selon l'invention peut stocker ce code dans une mémoire sécurisée, protégée par exemple à l'aide d'un algorithme de chiffrement ou d'authentification, de sorte que seule une personne autorisée (ex. détenant la clé de déchiffrement appropriée) puisse accéder à ce code.
On notera que ce code doit être connu du système de contrôle pour mettre en œuvre la validation.
Dans un mode particulier de réalisation, les différentes étapes du procédé de contrôle sont déterminées par des instructions de programmes d'ordinateurs.
En conséquence, l'invention vise également un programme d'ordinateur sur un support d'informations, ce programme étant susceptible d'être mis en œuvre dans un système de contrôle ou plus généralement dans un ordinateur, ce programme comportant des instructions adaptées à la mise en œuvre des étapes d'un procédé de contrôle tel que décrit ci-dessus.
Ce programme peut utiliser n'importe quel langage de programmation, et être sous la forme de code source, code objet, ou de code intermédiaire entre code source et code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable.
L'invention vise aussi un support d'informations lisible par un ordinateur, et comportant des instructions de programmes d'ordinateur tels que mentionnés ci-dessus.
Le support d'informations peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une ROM, par exemple un CD ROM ou une ROM de circuit microélectronique, ou encore un moyen d'enregistrement magnétique, par exemple une disquette (floppy dise) ou un disque dur.
D'autre part, Ie support d'informations peut être un support transmissible tel qu'un signal électrique ou optique, qui peut être acheminé via un câble électrique ou optique, par radio ou par d'autres moyens. Le programme selon l'invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'informations peut être un circuit intégré dans lequel le programme est incorporé, le circuit étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des dessins
D'autres caractéristiques et avantages de la présente invention ressortiront de la description faite ci-dessous, en référence aux dessins annexés qui en illustrent des exemples de réalisation dépourvus de tout caractère limitatif. Sur les figures :
- la figure 1 représente un dispositif conforme à l'invention dans son environnement, dans un premier mode de réalisation du système de validation selon l'invention ;
- la figure 2 représente, sous forme schématique, une étiquette RFID associée au dispositif conforme à l'invention dans un mode particulier de réalisation de l'invention ;
- la figure 3 représente, sous forme d'organigramme, les principales étapes d'un procédé de marquage selon l'invention lorsqu'elles sont mises en œuvre par un dispositif tel que représenté sur la figure 1, dans un mode particulier de réalisation ;
- la figure 4 représente un système de contrôle conforme à l'invention, dans son environnement, dans un mode particulier de réalisation de l'invention ;
- la figure 5 représente, sous forme d'organigramme, les principales étapes d'un procédé de contrôle selon l'invention, lorsqu'elles sont mises en œuvre par un système de contrôle tel que représenté sur la figure 4, dans un mode particulier de réalisation ; - la figure 6 représente un exemple d'empreintes numériques générées au cours du procédé de marquage et du procédé de contrôle selon l'invention ;
- la figure 7 représente un dispositif conforme à l'invention dans son environnement, dans un second mode de réalisation du système de validation selon l'invention ; et
- la figure 8 représente un exemple de fonction de hachage pouvant être implémentée dans un dispositif et/ou une puce RFID conformes à l'invention et/ou dans un système de contrôle conforme à l'invention ; et
- la figure 9 représente un mode particulier de réalisation d'une fonction de hachage telle que représentée sur la figure 8.
Description détaillée de plusieurs modes de réalisation
Dans les modes de réalisation décrits ici, on considère le suivi d'un dispositif quelconque (tel un objet, un matériau ou un produit) faisant l'objet d'une succession de traitements d'un processus, de sorte à valider cette succession de traitements par rapport à une séquence prédéfinie de traitements attendus.
Toutefois, cette hypothèse n'est pas limitative. L'invention peut également s'appliquer au suivi d'événements quelconques de la vie d'un dispositif, comme par exemple à l'évolution de l'état de paramètres physiques de ce dispositif, par exemple dans un processus de stérilisation ou de chaîne du froid.
Comme mentionné précédemment, conformément à l'invention, la validation comprend deux phases :
- une phase de marquage du dispositif, visant à calculer une empreinte de traçabilité représentative d'une succession d'événements de la vie de ce dispositif, et implémentée à l'aide d'un procédé de marquage selon l'invention tel que décrit ultérieurement en référence aux figures 1, 2, 3 et 7 dans deux modes de réalisation ; et
- une phase de contrôle, consistant à « interpréter » cette empreinte de traçabilité en la comparant avec une empreinte théorique représentative d'une séquence d'événements théoriquement attendue de la vie de ce dispositif. Cette phase de contrôle est implémentée à l'aide d'un procédé de contrôle selon l'invention, décrit ultérieurement en références notamment aux figures 4, 5 et 6 dans un mode de réalisation. La figure 1 représente un dispositif 10 conforme à l'invention, dans son environnement, dans un premier mode de réalisation du système de validation selon l'invention. Le dispositif 10 est un dispositif de calcul au sens de l'invention.
On suppose ici qu'on applique sur ce dispositif 10 un processus PROC comprenant un nombre M de traitements successifs EVi, EV2,...,EVn,,.., EVM. On envisage ici la validation de la succession SEV des n événements consécutifs EVi, EV2,... ,EVn. En variante, d'autres successions d'événements peuvent être envisagés (par exemple une succession d'événements non consécutifs mais ordonnés telle que la succession constituée par les événements EV2, EV4, EVM).
Dans le mode de réalisation décrit ici, le dispositif 10 incorpore (ou porte) une étiquette électronique RFID 11. Cette étiquette peut être active ou passive.
Par abus de langage dans l'invention, on considère que l'étiquette électronique RFID 11 fait partie à proprement parler du dispositif 10, et notamment qu'une donnée mémorisée sur l'étiquette RFID 11 se trouve sur le dispositif 10.
La structure ainsi que les principes de fonctionnement généraux d'une étiquette RFID passive ou active sont connus de l'homme du métier et ne seront pas détaillés davantage ici.
La figure 2 illustre de façon schématique un exemple d'une telle étiquette. Elle comporte notamment une antenne HA reliée à une puce RFID HB.
L'antenne HA de l'étiquette RFID 11 est adaptée à émettre et à recevoir des ondes radio, en provenance par exemple d'un système de lecture/écriture tel un lecteur RFID ou un scanner.
Dans l'exemple envisagé ici, on associe un tel scanner 2O3 à chaque traitement EVj pour j=l,..,M. Chaque scanner 2Q1 stocke dans une mémoire 2 Ij un identifiant ID1 spécifique au traitement EVj (identifiant de l'événement EVj au sens de l'invention). L'identifiant IDj est stocké sous la forme d'un bloc de données numériques (par exemple binaires), dont la taille est un multiple d'une valeur prédéterminée p.
On entend par taille d'un bloc d'éléments numériques (ex. d'un bloc de données binaires) le nombre d'éléments (ex. de bits) de ce bloc. Les identifiants IDj peuvent avoir des tailles différentes les uns par rapport aux autres.
En variante, notamment lorsque les différents traitements appliqués au dispositif 10 sont colocalisés, on peut envisager un même système de lecture/écriture pour les différents traitements appliqués au dispositif, ce système mémorisant un identifiant spécifique à chacun des traitements.
La puce HB de l'étiquette RFID comprend ici des moyens de calcul HC, implémentant une fonction de hachage cryptographique H associée ici au processus de traitement PROC. Cette fonction H est par exemple l'une des fonctions de hachage cryptographique connues suivantes : SHA-I (Secure Hash Algorithm - 1), SHA-2 (Secure Hash Algorithm - 2) ou MD5 (Message Digest 5).
En variante, une autre fonction de hachage peut être implémentée. Un exemple d'une telle fonction sera décrit ultérieurement en référence aux figures 8 et 9.
De façon connue en soi, une fonction de hachage cryptographique est une fonction faisant subir un ou plusieurs traitements successifs à des données de sorte à générer une empreinte numérique de taille fixe donnée à partir d'une valeur d'empreinte initiale. Ainsi, on suppose ici que la fonction de hachage H est adaptée à « hacher » successivement des blocs de données numériques Ui, U2,... de taille p, pour calculer une empreinte numérique E de taille t à partir d'une valeur d'empreinte initiale E,n,t.
Par la suite on utilisera la notation suivante : E=H([U1/U2,...,Uq],E(nιt)=H([U],Einιt) pour désigner l'empreinte E obtenue en hachant successivement q blocs de taille p, Ui,U2/...,Uq, à partir de l'empreinte E,mt. Au sens de l'invention, l'empreinte numérique E est le résultat de l'application sur les données U=Ui,U2,...,Uq de la fonction de hachage H paramétrée par Emit- Dans les exemples décrits, on considère de manière générale que les données sur laquelle on applique les fonctions de hachage crγptographiques ont des tailles multiples de p de sorte que ces fonctions hachent successivement des blocs de taille fixe p. Toutefois, cette hypothèse n'est pas limitative, il est possible de considérer des blocs de taille quelconque en utilisant par exemple des techniques de bourrage (ou padding en anglais) connues de l'homme du métier pour obtenir des blocs de taille multiple de p, ou des fonctions de hachage appropriées adaptées à hacher des blocs de taille variable.
Dans un autre mode de réalisation, les moyens de calcul de la fonction H peuvent être implémentés sur un module de calcul externe au dispositif 10 et adapté à communiquer avec le dispositif 10 et en particulier avec l'étiquette RFID. Un tel module de calcul externe peut être implémenté notamment sur les scanners 2Oj décrits précédemment, pour chaque événement EVj.
La puce HB de l'étiquette RFID 11 comprend en outre des moyens de mémorisation HD d'une empreinte numérique de taille t. Ces moyens incluent notamment une zone Z réinscriptible de taille t.
En variante, cette zone Z peut ne pas être réinscriptible mais adaptée à contenir des enregistrements consécutifs d'empreinte numérique.
Nous allons maintenant décrire, en référence à la figure 3, les principales étapes du procédé de marquage selon l'invention, lorsqu'il est implémenté par le dispositif 10 représenté sur la figure 1, dans un mode particulier de réalisation.
Comme mentionné précédemment, ce marquage consiste à calculer une empreinte dite de traçabilité, représentative de la succession des traitements ordonnés EVi, EV2,..., EVn appliqués au dispositif 10, et à la mémoriser sur le dispositif 10. Pour cela, on met à jour une empreinte numérique EN mémorisée dans l'étiquette RFID 11, au fur et à mesure qu'on applique les différents traitements au dispositif 10.
Avant le démarrage à proprement parler du procédé de marquage du dispositif 10, l'étiquette RFID 11 calcule une valeur initiale EN0 de l'empreinte de traçabilité EN à l'aide de la fonction de hachage H (étape FlO).
Elle utilise à cette fin :
- une empreinte publique eo de taille t, par exemple commune à tous les dispositifs suivis à l'aide d'un procédé de marquage et un procédé de validation conformes à l'invention ; et
- un code propriétaire K, par exemple spécifique à l'utilisateur A souhaitant valider la succession de traitements EVi, EV2,..., EVn appliqués au dispositif 10, à l'aide du procédé de validation selon l'invention. Ce code propriétaire K a une taille ici qui est un multiple de p.
L'empreinte publique eo a été préalablement mémorisée sur l'étiquette RFID 11, par exemple par le fabricant de l'étiquette RFID.
Le code propriétaire, quant à lui, est transmis à l'étiquette RFID dans un environnement sécurisé, par exemple lors de l'association de l'étiquette RFID 11 avec le dispositif 10. Il est stocké, sur l'étiquette RFID 11, directement (et uniquement ici) dans une mémoire volatile HE de calcul de la fonction H, et ce le temps de son utilisation pour le calcul de la valeur de l'empreinte initiale. La mémoire volatile HE est par exemple un registre de calcul de la fonction H.
Dans l'exemple décrit ici, l'étiquette RFID 11 calcule l'empreinte initiale EN0 en appliquant la fonction de hachage H paramétrée par l'empreinte publique eo sur le code propriétaire K, i.e. :
EN0=H([K],e0)
De façon générale dans l'invention, les variables sur lesquelles on applique la fonction de hachage cryptographique H (ex. identifiants d'événements et code propriétaire), transitent par une mémoire volatile de calcul de cette fonction (telle que la mémoire HE précitée), mais ne sont pas conservées, après application de la fonction de hachage, dans cette mémoire. Elles sont par exemple effacées de cette mémoire ou écrasées par d'autres variables dites de traitement de la fonction H.
Ainsi, dés lors qu'il a été utilisé pour le calcul de l'empreinte initiale EN0, le code propriétaire K est effacé de la mémoire volatile HE. Ainsi, une personne tiers non autorisée ne peut accéder au code propriétaire depuis le dispositif 10, et notamment en interrogeant la puce RFID 11. De cette sorte, les empreintes de traçabilité générées ultérieurement seront infalsifiables.
L'obtention par la puce RFID du code propriétaire K dans un environnement sécurisé, le stockage de ce code propriétaire dans une mémoire volatile de calcul de la fonction H, et le mode de fonctionnement de la fonction H quant à la non conservation des variables de traitement qu'elles utilisent, représentent des moyens de protection du code propriétaire au sens de l'invention. En variante, d'autres moyens de protection peuvent être mis en œuvre par la puce RFID de sorte à rendre inaccessible Ie code propriétaire. Par exemple, ce code propriétaire peut être mémorisé dans une mémoire sécurisée par un procédé cryptographique de chiffrement ou d'authentification.
Il est à noter qu'en fonction de la taille du code propriétaire K, l'empreinte numérique initiale ENo peut être obtenue en une ou plusieurs itérations, de façon connue de l'homme du métier. Par exemple, si le code propriétaire K est de taille 3*p et est constitué de 3 blocs de données ki, k2, k3 (K=[ki,k2,k3]) de taille p chacun, l'empreinte numérique EN0 sera obtenue en trois itérations successives, chaque itération correspondant au hachage d'un bloc kj i= 1,2,3 par la fonction H. Par la suite, ceci s'applique également à tout calcul impliquant une fonction de hachage.
Par ailleurs, le découpage en blocs de taille p du code propriétaire K peut avantageusement être réalisé par l'entité qui transmet à l'étiquette RFID ce code propriétaire, cet entité transmettant alors chaque bloc de taille p successivement à l'étiquette RFID.
Dans un autre mode de réalisation, il est possible d'utiliser d'autres identifiants pour générer l'empreinte initiale, comme par exemple :
- un identifiant du dispositif 10 (numéro de série ou de lot du dispositif, gamme de produits auquel appartient le dispositif, etc.), mémorisé sur l'étiquette RFID, ou non-mémorîsé sur l'étiquette RFID sous réserve qu'il soit accessible sur le dispositif 10 par un autre moyen de lecture ;
- un identifiant du numéro de série de l'étiquette RFID 11 (Code Produit Electronique ou EPC pour Electronic Product Code en anglais) mémorisé sur l'étiquette RFID 11, etc.
Ces autres identifiants (dont la taille sera par exemple un multiple de p), pourront être utilisés, en combinaison avec le code propriétaire K, pour générer l'empreinte initiale EN0 de sorte à la rendre spécifique à chaque dispositif 10 ou à chaque lot de dispositifs par exemple. Ils pourront être hachés après avoir haché le code propriétaire K.
Bien entendu, ces autres identifiants devront être connus ou accessibles au niveau du système de contrôle (par exemple par lecture de l'étiquette RFID ou écrits sur le dispositif 10). L'empreinte initiale EN0 ainsi calculée est ensuite mémorisée dans la zone réinscriptible Z de l'étiquette RFID 11.
On suppose que le dispositif 10 entame alors la succession de traitements EV1, EV2,..., EVn (étape F20).
Pour chaque traitement EVj (étape F30), l'identifiant IDj de ce traitement est envoyé par le scanner 2Oj au dispositif 10 par onde radio (de façon non chiffrée ici), par exemple suite à la détection de l'accomplissement de ce traitement par des moyens appropriés connus en soi.
Cet identifiant IDj est reçu par l'antenne HA de l'étiquette RFID 11 (étape F31) et stocké de façon temporaire (et uniquement ici) dans la mémoire volatile de calcul HE de la fonction H.
Les moyens de calcul HC calculent alors la valeur courante ENj pour l'événement EVj de l'empreinte numérique de traçabilité, en appliquant sur l'identifiant IDj la fonction de hachage H paramétrée par la valeur précédente ENj-i de l'empreinte numérique (étape F32) :
ENJ=H([IDJ],ENH)
La valeur courante ENj est ensuite mémorisée par les moyens de mémorisation HD dans la zone réinscriptible Z en remplacement de la valeur ENj-i de l'empreinte numérique calculée pour le traitement EVj-i précédent (étape F33).
Comme décrit précédemment pour le code propriétaire K, les identifiants IDj (et de manière générale, l'ensemble des variables hachées par la fonction de hachage) sont effacés de la mémoire volatile de calcul HE de la puce RFID dés leur utilisation par la fonction de hachage, de sorte à les rendre inaccessibles par lecture ou interrogation de l'étiquette RFID.
Suite à la mémorisation de l'empreinte numérique ENj, le dispositif 10 est soumis au traitement suivant EV]+i (étape F40). Les étapes F31, F32 et F33 sont réitérées pour chaque traitement appliqué au dispositif 10.
Ainsi, à l'issue de la succession de traitements SEV appliquée au dispositif 10, l'empreinte de traçabïlité ENn mémorisée dans la zone réinscriptible Z représente un historique condensé des traitements ordonnés EVi, EV2, ..., EVn. On suppose maintenant que l'utilisateur A souhaite vérifier, à ce stade du processus de traitement, que le dispositif 10 a bien subi une séquence prédéfinie composée de n traitements ordonnés EVrefi, EVref2, ..., EVrefn et notée SEVref. A cette fin, il utilise un système de contrôle conforme à l'invention, tel que représenté, dans un mode particulier de réalisation, sur la figure 4 décrite maintenant.
Dans le mode de réalisation décrit ici, le système de contrôle considéré est par exemple un scanner 30 ayant l'architecture matérielle d'un ordinateur. Il comporte notamment un processeur 31, une mémoire vive de type RAM 32, des moyens de communication radio 33 lui permettant de communiquer avec et de lire des étiquettes RFID (et en particulier l'étiquette RFID 11 du dispositif 10), une mémoire morte de type ROM 34 et une mémoire non volatile réinscriptible 35.
Dans cette mémoire 35, sont stockés notamment la fonction de hachage H associée au processus de traitement PROC1 les identifiants respectifs notés IDrefj, j=l,..,n, des traitements de la séquence prédéfinie SEVref, le code propriétaire K de l'utilisateur A, et l'empreinte publique eo. Bien entendu, si un événement EVref] de la séquence prédéfinie SEVref correspond à un événement EVj de la séquence SEV, les identifiants IDrefj et IDj sont identiques.
La mémoire morte 34 de type ROM constitue un support d'enregistrement conforme à l'invention sur lequel est enregistré un programme d'ordinateur conforme à l'invention adapté à exécuter les principales étapes du procédé de contrôle selon l'invention représentées sous forme d'organigramme à la figure 5 décrite maintenant.
On notera que le système de contrôle 30, le dispositif 10 embarquant la puce RFID 11 et les scanners 2O3 forment un système de validation conforme à l'invention.
Pour valider que le dispositif 10 a bien subi la séquence prédéfinie de traitements SEVref, le système de contrôle 30 utilise, conformément à l'invention, d'une part la valeur de l'empreinte numérique de traçabîlité ENn mémorisée dans le dispositif 10, et d'autre part d'une empreinte numérique théorique ENref représentative de la séquence prédéfinie de traitements SEVref.
Pour obtenir la valeur de l'empreinte numérique ENn mémorisée dans la zone réinscriptible Z, le système de contrôle lit l'étiquette RFID 11 du dispositif 10 à l'aide de ses moyens de communication 33 (étape GlO), de façon connue de l'homme du métier.
Par ailleurs, le système de contrôle 30 évalue l'empreinte numérique théorique ENref en appliquant la fonction de hachage H successivement sur les identifiants IDrefj, pris dans l'ordre, des événements de la séquence SEVref (étape G20).
Plus précisément, il évalue dans un premier temps, l'empreinte initiale ENref,o selon un calcul similaire à celui mis en œuvre par le dispositif 10 à l'étape FlO précédemment décrite, pour calculer l'empreinte initiale EN0. Autrement dit ici, il applique sur le code propriétaire K, la fonction de hachage H paramétrée par l'empreinte publique e0, à partir des définitions de K, H et eo stockées dans sa mémoire non volatile 35. On notera qu'à ce stade :
EIVo=EN0.
Ensuite, dans un second temps, il construit itérativement l'empreinte numérique théorique ENref, selon l'équation : ENref,j= H([IDref]], ENrefj-i) pour j=l,...,n
La valeur de l'empreinte théorique ENref attendue correspondant à la séquence d'événements prédéfinie SEVref, est donnée par la dernière valeur d'empreinte calculée pour l'événement EVrefn, soit ENref = ENref,n.
On notera que le calcul de l'empreinte théorique ENref peut se faire à tout moment moyennant la connaissance des identifiants IDrefj, de l'empreinte publique eo et du code propriétaire K, c'est-à-dire « indépendamment » du moment où le calcul de l'empreinte de traçabilité est effectué par le dispositif 10. Notamment l'empreinte théorique ENf peut être pré-calculée.
Le système de contrôle 30 compare ensuite l'empreinte de traçabilité ENn reçue du dispositif 10 avec l'empreinte théorique ENref (étape G30).
Si l'empreinte de traçabilité ENn correspond à l'empreinte théorique ENref (étape G40), alors le système de contrôle 30 détermine que le dispositif 10 a bien suivi la séquence des traitements prédéfinie SEVref (étape G50).
Sinon, le système de contrôle 30 en déduit que Ie dispositif 10 n'a pas suivi la séquence des traitements prédéfinie SEVref (étape G60). Cela peut provenir par exemple du fait que l'ordre d'enchaînement des traitements n'a pas été respecté, ou que tous les traitements attendus n'ont pas été réalisés. Une procédure additionnelle d'enquête et/ou de corrections, non décrite ici, peut être alors mise en œuvre pour retrouver la source du problème.
La figure 6 illustre un exemple d'empreintes numériques de traçabilité EN2 et théorique ENref différentes, générées respectivement au cours des procédés de marquage et de contrôle précédemment décrits, pour un nombre n de traitements égal à 2.
Dans cet exemple, les empreintes numériques sont représentées sous forme hexadécimale et sont de taille réduite, notamment pour des raisons de simplicité et de clarté.
Bien que l'invention s'applique à des empreintes numériques non nécessairement binaires, et de taille quelconque, on utilisera toutefois préférentiel lement, pour des raisons d'implémentation matérielle notamment, des empreintes numériques binaires. Par ailleurs de façon privilégiée, notamment pour des raisons de sécurité et de robustesse de la fonction de hachage H, la taille des empreintes numériques sera prise suffisamment grande, à savoir généralement supérieure à 60 bits.
La figure 7 représente un dispositif 10 conforme à l'invention (tel que précédemment décrit en référence à la figure 1 notamment), mis en œuvre dans un second mode de réalisation du système de validation selon l'invention.
Dans ce second mode de réalisation, le scanner 20'j associé à un événement EVj calcule un identifiant IDj' de cet événement (appelé également identifiant contextuel de l'événement) à partir d'un identifiant initial spécifique à l'événement. Cet identifiant initial peut être par exemple l'identifiant IDj considéré précédemment dans le premier mode de réalisation. L'identifiant contextuel IDj' est un identifiant de l'événement EVj au sens de l'invention.
Pour calculer l'identifiant contextuel IDj', le scanner 2Oj' lit dans un premier temps la valeur de l'empreinte sur le dispositif 10 dans la zone Z de l'étiquette RFID 11.
Puis il applique dans un second temps, sur l'identifiant initial ID1 à l'aide de moyens de calcul appropriés, une fonction de hachage crγptographique h (seconde fonction de hachage au sens de l'invention) paramétrée par Ia valeur EN3-I, soit avec les notations précédemment introduites :
IDj'= hαiDjLENπ)
Cette fonction de hachage h est par exemple une fonction SHA- 1, SHA-2 ou MD5. Elle peut être différente de la fonction de hachage cryptographique H implémentée dans le dispositif 10. Une fonction de hachage h différente pour chaque scanner 20/ peut également être implémentée.
L'identifiant IDj' est ensuite envoyé au dispositif 10 (cf. étape F31 de la figure 3), qui calcule à partir de cet identifiant la valeur courante de l'empreinte numérique de traçabilité EN3 pour l'événement EVj (cf. étape F32 de la figure 3), comme décrit précédemment pour le premier mode de réalisation de l'invention.
Les autres étapes du procédé de marquage et du procédé de contrôle dans ce mode de réalisation sont similaires à celles décrites dans le premier mode de réalisation. On notera que le système de contrôle 30, le dispositif 10 embarquant la puce RFID 11 et les scanners 2Oy forment un système de validation conforme à l'invention.
Ce second mode de réalisation met en œuvre un protocole dit « d'ignorance réciproque » entre le dispositif 10 et le scanner 20/. Ce protocole est particulièrement avantageux, notamment dans un contexte où les identifiants d'événements pourraient être interceptés entre les scanners et le dispositif 10 de sorte à être exploités de façon malhonnête (par exemple pour mettre en œuvre une contrefaçon du processus PROQ.
En effet, selon ce second mode de réalisation, le scanner 20/ ne peut avoir accès, sur simple lecture de la valeur de l'empreinte de traçabilité EN3-I, à des informations concernant les traitements précédemment appliqués sur le dispositif 10.
De même, le dispositif 10 ne peut avoir accès, à partir de l'identifiant IDj' transmis par le scanner, à l'identifiant initial ID3. De par les propriétés de la fonction de hachage cryptographique h, il lui est en effet impossible de retrouver, à partir de la valeur EN3-1 de l'empreinte de traçabilîté et de l'identifiant contextuel IDj '/identifiant initial IDj.
Bien entendu un calcul similaire des identifiants des événements sera implémenté sur le système de contrôle pour permettre la comparaison des empreintes. Nous allons maintenant décrire, en référence à la figure 8, un exemple de fonction de hachage, ci-après référencée par Hl, et de moyens de calcul de cette fonction de hachage Hl, pouvant être utilisés notamment par le dispositif 10 (et notamment par la puce RFID 11) et le système de contrôle 30 selon l'invention. Il est à noter que cette fonction de hachage Hl peut également être utilisée par les scanners 20/.
Dans l'exemple représenté sur la figure 8, la fonction de hachage Hl est paramétrée par la valeur ENj-i de l'empreinte de traçabilité pour l'événement EVj-i (ci-après désignée par valeur précédente de l'empreinte de traçabilité), et est appliquée sur l'identifiant IDj pour le calcul de la valeur ENj de l'empreinte de traçabilité pour l'événement EVj (ci-après désignée par valeur courante de l'empreinte de traçabilité).
On suppose ici, par souci de simplification, que l'identifiant IDj est de taille p, de sorte que son hachage ne nécessite qu'une itération. La généralisation à plusieurs itérations pour hacher l'identifiant IDj est évidente pour l'homme du métier et ne sera pas détaillée ici.
La figure 8 représente une itération réalisée par des moyens de calcul 40 de la fonction de hachage Hl, désignée ci-après par itération j. On notera que cette figure illustre d'une part les principales étapes de l'étape de calcul de la valeur courante ENj de l'empreinte numérique à partir de l'identifiant IDj, et d'autre part les moyens mis en œuvre pour ce calcul.
Les moyens de calcul 40 de la fonction de hachage Hl comprennent un générateur pseudo-aléatoire 50 à vecteur d'état et un module de pré-conditionnement 60. Le vecteur d'état considéré est l'empreinte de traçabilité EN de taille t. Cette empreinte de traçabilité est supposée ici binaire, c'est-à-dire composée de t bits.
Au cours de l'itération j, le générateur pseudo-aléatoire 50 calcule la valeur courante EN3 selon une application non inversible dépendante de la valeur précédente EN3-I et d'une valeur intermédiaire courante Xu (X« est un vecteur de taille p).
Plus précisément, le générateur pseudo-aléatoire 50 est adapté à appliquer successivement, sur un vecteur provisoire de taille tl supérieure ou égale à t, comprenant au moins un premier vecteur intermédiaire de taille t formé à partir d'au moins une section de la valeur ENj-I et de la valeur intermédiaire courante Xu, un nombre prédéterminé d de permutations de taille tl. Chaque permutation est associée à un bit d'une clé de permutation Cn de taille d et choisie en fonction au moins de la valeur de ce bit. La clé de permutation Cn est issue d'une sélection de d bits parmi les t bits du premier vecteur intermédiaire. La valeur courante ENj de l'empreinte de traçabilité est alors obtenue à partir d'au moins une section du vecteur résultant de cette étape d'application.
On entend ici par « vecteur V3 comprenant un vecteur Vb », un vecteur V3 qui comprend parmi ses composantes toutes les composantes du vecteur Vb (consécutivement ou non, dans l'ordre ou dans un ordre quelconque). Par exemple, si on considère un vecteur Vb=(l,O,O,l) et un vecteur Va=(O,l,Vb), le vecteur V3 est un vecteur comprenant le vecteur Vb et égal à Va=(O,l,l,O,O,l).
Par ailleurs, on entend par section d'un vecteur de taille t, un ensemble constitué de j bits de ce vecteur occupant des positions particulières dans ce vecteur, j étant compris entre 1 et t (l≤j≤t). Ainsi, une section de taille t d'un vecteur de taille t désignera le vecteur en lui- même.
Ainsi, par exemple, on associe à chaque bit de la clé de permutation Cn, c'est-à-dire à chaque étage de permutation, une permutation PO lorsque ce bit est égal à 0 et une permutation Pl lorsque ce bit est égal à 1.
Le même couple de permutations (PO,P1) peut être considéré aux différents étages de permutation. Dans ce cas, préférentiel lement, ces permutations PO et Pl seront définies en tout point différentes l'une de l'autre et différentes individuellement chacune en tout point de la permutation identité.
Ces hypothèses ne sont cependant en aucun cas limitatives, des couples différents de permutations pouvant être considérés à chaque étage de permutation, ou d'autres conditions sur les permutations PO et Pl pouvant être respectées telles que par exemple, la permutation obtenue par composition des permutations PO et Pl est différente en tout point de la permutation obtenue par composition des permutations Pl et PO.
Il est à noter que la fonction de permutation π composée des d permutations précitées constitue avantageusement une fonction à sens unique, c'est-à-dire une fonction pouvant être aisément calculée dans un sens, mais difficile voire impossible à inverser en un temps raisonnable (Le. avec une complexité raisonnable).
Cette fonction de permutation π sera dite par la suite paramétrée par la clé de permutation Cn et on utilisera la convention de notation suivante :
WS = π (WE, Cn) pour désigner qu'on applique la fonction de permutation π paramétrée par la clé de permutation Cn sur des données d'entrée WE afin d'obtenir des données de sortie WS.
La valeur intermédiaire courante Xα utilisée par le générateur pseudo-aléatoire 50 est issue d'un calcul réalisé par le module de préconditionnement 60 selon une application inversible dépendante de la valeur précédente ENj-i et de l'identifiant IDj transmis par le scanner 2Oj.
Plus précisément, le module de pré-conditionnement 60 applique sur l'identifiant IDj, une fonction symétrique f à clé secrète paramétrée par au moins une section de la valeur précédente ENj-i de l'empreinte de traçabilité. Cette fonction symétrique à clé secrète comprend au moins une opération ou-exclusif avec au moins une section de la valeur précédente ENj-1 de l'empreinte de traçabilité.
Nous allons maintenant détailler en référence à la figure 9, un mode de réalisation particulier de cette fonction de hachage Hl.
Dans le mode de réalisation décrit ici, l'empreinte de traçabilité EN comporte une section de taille p notée X aussi appelée variable d'état. L'emplacement de cette variable d'état est prédéfini et de préférence à position fixe.
A l'itération j, la valeur Xj-i de la variable d'état X comprise dans la valeur précédente ENj-i de l'empreinte de traçabilité, est utilisée, par le module de pré-conditionnement 60, pour paramétrer la fonction symétrique f à clé secrète.
Dans l'exemple décrit ici, Ia fonction / est une opération ou- exclusif, mise en œuvre par la porte ou-exclusif 61, et paramétrée par la valeur X^1 (la clé secrète de cette fonction f est ainsi égale ici à Xj-i).
Ainsi, la porte ou-exclusif 61 calcule la valeur intermédiaire courante X« en appliquant une opération ou-exclusif entre l'identifiant IDj et la valeur Xj-I de la variable d'état X :
X« = IDj θ XJ-I. En variante, la fonction /peut comprendre d'autres opérations (ex. opérations ou-exclusif, permutations, etc.) paramétrées par d'autres sections de l'empreinte ENj-I.
La valeur intermédiaire courante X« est ensuite transmise au générateur pseudo-aléatoire 50, qui évalue à partir de cette valeur intermédiaire courante et de la valeur précédente ENj-i de l'empreinte de traçabilité, la valeur courante ENj.
A cette fin, un premier moyen de calcul 51 du générateur pseudo-aléatoire remplace la valeur précédente XH de la variable d'état X par la valeur intermédiaire courante X« pour former un premier vecteur intermédiaire Vιnti de taille t.
Puis un deuxième moyen de calcul 52 forme un vecteur provisoire VprOv de taille 2*t, à partir du premier vecteur intermédiaire Vιnti et du vecteur complémentaire, noté vintl , de ce premier vecteur intermédiaire V,nti- De façon connue en soi, le vecteur complémentaire d'un vecteur est obtenu en complémentant à 1 chaque bit de ce vecteur.
Le vecteur provisoire ainsi obtenu est ici :
V prov = \ V intl V mi l
En variante, ce vecteur provisoire peut être égal à V,nti (i.e. on peut alors d'affranchir du deuxième moyen de calcul 52) et est dans ce cas de taille t.
Le vecteur provisoire VprOv est ensuite fourni à un troisième moyen de calcul 53 comprenant des moyens de permutation 53b, adaptés à appliquer la fonction à sens unique π décrite précédemment sur le vecteur provisoire pour former un vecteur résultat Vres.
La fonction à sens unique π appliquée par moyens de permutation 53b est paramétrée par une clé de permutation Cn de taille d prédéterminée, inférieure ou égale à t. Ici, on choisit d=t.
La valeur courante de cette clé de permutation Cn est formée par un moyen de formation 53a à partir du premier vecteur intermédiaire. Dans l'exemple décrit ici, la valeur courante Cn est prise égale à la valeur du premier vecteur intermédiaire, à savoir
En variante, dans un autre mode de réalisation de l'invention, la taille de la clé d peut être inférieure strictement à t. La clé de permutation Cn sera alors formée par les moyens 53a en sélectionnant d bits distincts, consécutifs ou non, parmi les t bits du premier vecteur intermédiaire Vrti, les positions des d bits sélectionnés étant préférentieilement préétablies et fixes. De préférence, on choisira Ia taille d de Ia clé de permutation supérieure à la taille de Ia valeur intermédiaire courante X« (d≥p) et les d bits sélectionnés comprendront la valeur intermédiaire courante X«.
La fonction à sens unique π appliquée par les moyens de permutation 53b résulte donc ici de l'application de d=t permutations successives de taille tl=2*t, chaque permutation étant associée à un bit distinct de la clé de permutation Cπ=V,nti et choisie en fonction au moins de la valeur de ce bit (par exemple dans une table de permutation préétablie). En variante, elle peut dépendre également de l'étage de permutation considéré.
Le vecteur résultat obtenu Vres à l'issue de cette étape d'application est de taille tl=2*t.
Le générateur pseudo-aléatoire 50 comporte en outre un quatrième moyen de calcul 54, qui sélectionne une section de t bits parmi les tl bits du vecteur résultat Vres pour former un second vecteur intermédiaire Vmt2- Par exemple, le second vecteur intermédiaire V,nt2 est formé par les t premiers bits du vecteur résultat Vres.
Le générateur 1 pseudo-aléatoire comprend également un cinquième moyen de calcul 55 comprenant une porte ou-exclusif 55a combinant la valeur précédente ENj-i de l'empreinte de traçabilité et le second vecteur intermédiaire Vmt2, de sorte à former la valeur courante ENj de l'empreinte de traçabilité.
Il est à noter que l'implémentation matérielle de cette fonction de hachage présente l'avantage d'être d'encombrement très restreint. Il est possible notamment d'implémenter cette fonction sur une puce RFID passive avec très peu de portes logiques.
Par ailleurs, la fonction de hachage proposée peut être avantageusement appliquée à des mots de taille quelconque prédéterminée avant son implémentation pour générer des empreintes de taille quelconque prédéterminée avant son implémentation.
Le procédé de marquage selon l'invention peut permettre de mettre en œuvre des solutions de traçabilité hybride, utilisant également un système d'informations centralisé tel que décrit précédemment en référence aux techniques de l'art antérieur. On envisage par exemple ici, que ce système d'informations centralisé comprend au moins un serveur informatique connecté à un réseau informatique et auquel sont connectés, pour chaque étape de traitement suivie, appliquée à un dispositif à suivre équipé d'une étiquette RFID, des scanners. Ces scanners sont chargés de relever et de transmettre à ce serveur, par l'intermédiaire du réseau informatique, les informations lues sur l'étiquette RFID du dispositif à suivre.
On suppose par ailleurs que ce système d'informations est doté de moyens lui permettant d'être un système de contrôle conforme à l'invention.
Le dispositif à suivre est conforme à l'invention. On regroupera par la suite sous le nom de module de traçabilité les moyens du dispositif pour obtenir un identifiant de l'événement, les moyens du dispositif pour calculer l'empreinte de traçabilité et les moyens du dispositif pour mémoriser l'empreinte. Ce module de traçabilité est par exemple compris dans la puce RFID du dispositif à suivre. Il comprend également ici un identifiant exploitable par le système d'informations centralisé (par exemple un identifiant du dispositif).
Dans l'exemple décrit ici, le dispositif à suivre comprend en outre des moyens pour activer et désactiver le module de traçabilité. De cette sorte, le module de traçabilité peut avantageusement prendre le relais (i.e. être activé) sur le système d'informations centralisé, pour des événements subis par le dispositif à suivre dans des zones éloignées ou non connectées au système d'informations centralisé. Ces zones sont supposées être munies de scanners autonomes compatibles avec le module de traçabilité de sorte à pouvoir mettre en œuvre le procédé de marquage selon l'invention.
Lors du retour du dispositif à suivre dans des zones couvertes par le système d'informations centralisé, le module de traçabilité communique l'empreinte de traçabilité ainsi que l'identifiant du dispositif au système d'informations centralisé. De cette sorte, le système d'informations peut mettre à jour une base centrale comportant l'ensemble des événements vécus par le dispositif (après avoir interprété l'empreinte à l'aide d'un procédé de contrôle selon l'invention), pour une validation générale ultérieure (incluant les événements sous contrôle du système d'informations centralisé et les événements hors contrôle). Suite à la réintégration du dispositif sous le contrôle du système d'informations centralisé, le module de traçabilité est désactivé (par exemple sur réception d'un message prédéfini du système d'informations).
Cette solution permet ainsi de déployer des architectures de traçabilité extrêmement flexibles et à même de garantir la traçabilité d'un objet ou d'un produit dans des secteurs non connectables au système d'informations centralisé, pour des raisons techniques ou économiques.
Cette solution peut aussi être mise en œuvre en cas de défaillance du système d'informations centralisé, le dispositif prenant le relais du système d'information jusqu'à un retour à la normale du système d'information.
Dans les exemples décrits précédemment, on a considéré un processus de traitement visant à appliquer un nombre prédéterminé M de traitements (événements au sens de l'invention) sur un dispositif tel un objet ou un produit.
En variante, l'invention s'applique également à d'autres types d'événements, tels que par exemple un état ou changement d'état d'un paramètre physique d'un dispositif (ex. température, pression, etc.) au cours d'un processus mono ou multi-variables (ex. traçabilité de plusieurs paramètres physiques). Elle peut être mise en œuvre en définissant, par exemple, des plages d'acceptation de chacun des paramètres suivis pour toute la durée du processus.
Les différents événements considérés correspondent alors à des instants prédéfinis pour lesquels on mesure la valeur de chaque paramètre suivi. Cette valeur peut être mesurée directement par le module de traçabîlité (ex. lorsque celui-ci est intégrée dans une étiquette RFID passive ou active).
Ces valeurs sont ensuite intégrées au calcul de l'empreinte de traçabilité comme identifiants des événements au sens de l'invention, selon des principes identiques à ceux décrits précédemment en référence au premier mode de réalisation par exemple. Ainsi lorsqu'une valeur mesurée différera d'une plage de valeurs acceptée (i.e. événement d'une séquence prédéfinie au sens de l'invention), l'empreinte numérique de traçabilité portée par le dispositif sera différente de l'empreinte théorique attendue. L'invention a ainsi de multiples applications, parmi lesquelles :
- la traçabilité des réseaux de distribution, pour lutter notamment contre les marchés parallèles et la contrefaçon ;
- traçabilité paramétrique, pour le suivi de cycles physiques paramétrés ;
- traçabilité des étapes de fabrication et de contrôle ;
- maintenance et entretien des équipements, etc.

Claims

REVENDICATIONS
1. Procédé de validation d'une succession d'événements de Ia vie d'un dispositif (10) par rapport à une séquence prédéfinie d'événements, ledit procédé étant caractérisé en ce qu'il comprend ;
- pour chaque événement (EV3) de ladite succession vécu par le dispositif :
-une étape de calcul (F32) d'une valeur courante d'une empreinte de traçabilité en appliquant, sur un identifiant (IDj,ID/) de l'événement, une fonction de hachage cryptographique (H) paramétrée par la valeur de l'empreinte de traçabilité calculée pour l'événement précédent ;
-une étape de mémorisation (F33) de cette valeur courante sur le dispositif ;
- après la succession d'événements, une étape d'obtention (GlO) par un système de contrôle, de la dernière valeur de l'empreinte de traçabilité mémorisée sur le dispositif ;
- une étape de génération (G20), par ce système de contrôle, de la valeur d'une empreinte théorique, en appliquant successivement sur des identifiants pris dans l'ordre des événements de la séquence prédéfinie, la fonction de hachage ; et
- si la dernière valeur de l'empreinte de traçabilité est égale à la valeur de l'empreinte théorique (G30,G40), une étape de validation (G50) que la séquence prédéfinie d'événements a été vécue par le dispositif.
2. Procédé de validation selon la revendication 1, caractérisé en ce que ledit identifiant est géré par un module externe (2O1) au dispositif et associé à l'événement (2O3).
3. Procédé de validation selon la revendication 1 ou 2, caractérisé en ce qu'il comprend en outre, pour chaque événement, avant l'étape de calcul (F32) :
- une étape d'obtention par un module (2Oj) associé à cet événement, de la valeur de l'empreinte de traçabilité calculée pour l'événement précédent mémorisée sur le dispositif ; et - une étape de calcul par ledit module de l'identifiant de cet événement, en appliquant sur un identifiant initial de cet événement une seconde fonction de hachage paramétrée par cette valeur.
4. Système de validation d'une succession d'événements de la vie d'un dispositif (10) par rapport à une séquence prédéfinie d'événements, ledit système étant caractérisé en ce qu'il comprend :
- des moyens (HA) pour obtenir un identifiant de chaque événement de la succession ;
- des moyens pour calculer (HC), pour chaque événement de cette succession, une valeur courante d'une empreinte de traçabilité, en appliquant sur l'identifiant de cet événement une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour l'événement précédent et des moyens (HD) pour mémoriser cette valeur courante sur le dispositif ;
- un système de contrôle (30) comprenant ;
-des moyens (33) pour obtenir, après la succession d'événements, la dernière valeur de l'empreinte de traçabilité mémorisée sur ledit dispositif ;
-des moyens (31) pour générer une valeur d'une empreinte théorique en appliquant successivement sur des identifiants pris dans l'ordre de chacun des événements de la séquence prédéfinie, la fonction de hachage ; et
-des moyens (31) pour valider, si la dernière valeur de l'empreinte de traçabilité est égale à la valeur de la empreinte théorique, que la séquence prédéfinie d'événements a été vécue par le dispositif.
5. Système de validation selon la revendication 4, caractérisé en ce que ledit identifiant est géré par un module externe (2O1) au dispositif et associé à l'événement (2Oj).
6. Système de validation selon la revendication 4 ou 5 caractérisé en ce qu'il comprend en outre un module (2Oj) associé à chaque événement de la succession, comportant :
- des moyens pour obtenir du dispositif la valeur de l'empreinte de traçabilité calculée pour l'événement précédent ; et - des moyens pour calculer l'identifiant de cet événement en appliquant sur un identifiant initial de cet événement une seconde fonction de hachage cryptographique paramétrée par cette valeur.
7. Système de validation selon l'une quelconque des revendications 4 à 6 caractérisé en ce que les moyens pour obtenir un identifiant de chaque événement de la succession, les moyens pour calculer, et les moyens pour mémoriser sont embarqués sur le dispositif.
8. Système de validation selon l'une quelconque des revendications 4 à 7 caractérisé en ce que les moyens pour obtenir un identifiant de chaque événement de la succession, les moyens pour calculer, et les moyens pour mémoriser sont implémentés sur une puce RFID (11) portée par le dispositif.
9. Système de validation selon l'une quelconque des revendications 4 à 8 caractérisé en ce que les moyens pour mémoriser mémorisent la valeur courante de l'empreinte de traçabilité sur le dispositif en remplacement de la valeur de l'empreinte de traçabilité mémorisée pour l'événement précédent.
10. Procédé de contrôle permettant de déterminer si une séquence prédéfinie d'événements a été vécue par un dispositif, caractérisé en ce qu'il comprend :
- une étape (GlO) d'obtention d'une valeur d'une empreinte de traçabilité mémorisée sur le dispositif ;
- une étape (G20) de génération d'une valeur d'une empreinte théorique en appliquant une fonction de hachage cryptographique successivement sur des identifiants, pris dans Tordre, des événements de la séquence prédéfinie ; et
- si la valeur de l'empreinte de traçabilité est égale à la valeur de l'empreinte théorique, une étape de validation (G50) que la séquence prédéfinie d'événements a été vécue par le dispositif.
11. Système de contrôle (30) adapté à déterminer si une séquence prédéfinie de traitements d'événements a été vécue par un dispositif, caractérisé en ce qu'il comprend :
- des moyens pour obtenir une valeur d'une empreinte de traçabilité mémorisée sur le dispositif ;
- des moyens pour générer une valeur d'une empreinte théorique en appliquant une fonction de hachage cryptographique successivement sur des identifiants, pris dans l'ordre, des événements de la séquence prédéfinie ;
- des moyens pour comparer la valeur de l'empreinte de traçabilité avec la valeur de l'empreinte théorique ; et
- des moyens pour déterminer que la séquence prédéfinie d'événements a été vécue par le dispositif si Ia valeur de l'empreinte de traçabilité est égale à Ia valeur de l'empreinte théorique.
12. Programme d'ordinateur comportant des instructions pour l'exécution des étapes du procédé de contrôle selon la revendication 10 lorsque ledit programme est exécuté par un ordinateur.
13. Support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé de contrôle selon la revendication 10.
14. Procédé de marquage d'un dispositif caractérisé en ce qu'il comprend, pour chaque événement d'une succession d'événements vécus par ce dispositif :
- une étape d'obtention (F31) d'un identifiant de cet événement ;
- une étape de calcul (F32) d'une valeur courante d'une empreinte de traçabilité en appliquant sur l'identifiant de cet événement, une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour l'événement précédent ; et
- une étape de mémorisation (F33) de cette valeur courante sur Ie dispositif.
15. Dispositif (10) de calcul caractérisé en ce qu'il comprend : - des moyens pour obtenir un identifiant de chaque événement d'une succession d'événements de la vie de ce dispositif ;
- des moyens pour calculer, pour chaque événement de la succession, une valeur courante d'une empreinte de traçabilité, en appliquant sur l'identifiant de l'événement, une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour un événement précédent ; et
- des moyens pour mémoriser cette valeur courante.
16. Puce RFID (11) destinée à être embarquée sur un dispositif (10), caractérisé en ce qu'elle comprend :
- des moyens pour obtenir un identifiant de chaque événement d'une succession d'événements de la vie dudit dispositif ;
- des moyens pour calculer, pour chaque événement de la succession, une valeur courante d'une empreinte de traçabilité, en appliquant sur l'identifiant de l'événement, une fonction de hachage cryptographique paramétrée par la valeur de l'empreinte de traçabilité calculée pour un événement précédent ; et
- des moyens pour mémoriser cette valeur courante.
17. Puce RFID (11) selon la revendication 16, caractérisé en ce qu'elle comprend en outre :
- des moyens (HA) pour recevoir un code propriétaire (K) ;
- des moyens de protection de ce code, adaptés à le rendre inaccessible à un tiers non autorisé par interrogation de ladite puce ; et en ce que lesdîts moyens de calculs sont adaptés en outre à calculer une valeur initiale de l'empreinte de traçabilité en appliquant ladite fonction de hachage sur au moins ledit code propriétaire.
EP09769530A 2008-06-27 2009-06-22 Procede et systeme de validation d'une succession d'evenements vecus par un dispositif Withdrawn EP2291744A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0854339A FR2933216B1 (fr) 2008-06-27 2008-06-27 Procede et systeme de validation d'une succession d'evenements vecus par un dispositif
PCT/FR2009/051188 WO2009156689A2 (fr) 2008-06-27 2009-06-22 Procede et systeme de validation d'une succession d'evenements vecus par un dispositif

Publications (1)

Publication Number Publication Date
EP2291744A2 true EP2291744A2 (fr) 2011-03-09

Family

ID=40263235

Family Applications (1)

Application Number Title Priority Date Filing Date
EP09769530A Withdrawn EP2291744A2 (fr) 2008-06-27 2009-06-22 Procede et systeme de validation d'une succession d'evenements vecus par un dispositif

Country Status (9)

Country Link
US (1) US20110047200A1 (fr)
EP (1) EP2291744A2 (fr)
JP (2) JP5886626B2 (fr)
KR (1) KR20110025179A (fr)
CN (1) CN102077177B (fr)
AU (1) AU2009264025B2 (fr)
CA (1) CA2726832A1 (fr)
FR (1) FR2933216B1 (fr)
WO (1) WO2009156689A2 (fr)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
FR2933216B1 (fr) * 2008-06-27 2012-12-21 Nicolas Reffe Procede et systeme de validation d'une succession d'evenements vecus par un dispositif
FR2970357B1 (fr) * 2011-01-07 2013-01-11 Oridao Dispositif et procede de tracage
EP2498206A1 (fr) * 2011-03-10 2012-09-12 Adalbert Gubo Procédé et appareil permettant de contrôler des procédés à plusieurs étapes
KR20140123723A (ko) * 2013-04-15 2014-10-23 한국전자통신연구원 충돌방지 알고리즘을 이용한 rf아이디 시스템에서 키 설립 방법
US9836750B2 (en) * 2013-04-24 2017-12-05 Hewlett-Packard Development Company, L.P. Validation in serialization flow
FR3035240B1 (fr) * 2015-04-15 2018-04-06 Rambus Inc. Procede de securisation de l'execution d'un programme
US9646310B2 (en) * 2015-07-29 2017-05-09 Palo Alto Research Center Incorporated Printable, writeable article for tracking counterfeit and diverted products
US9652644B2 (en) * 2015-07-29 2017-05-16 Palo Alto Research Center Incorporated Printable, writeable article for tracking counterfeit and diverted products
CN107622073A (zh) * 2016-07-15 2018-01-23 阿里巴巴集团控股有限公司 一种数据处理方法及装置
WO2020076555A1 (fr) * 2018-10-09 2020-04-16 Argo AI, LLC Système de surveillance d'intégrité de séquence d'exécution

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000002236A2 (fr) * 1998-07-07 2000-01-13 Memc Electronic Materials, Inc. Systeme et procede d'identification de frequences radioelectriques dans le suivi des etapes de fabrication des plaquettes
US7134021B2 (en) * 1999-10-22 2006-11-07 Hitachi, Ltd. Method and system for recovering the validity of cryptographically signed digital data
JP2003267555A (ja) * 2002-03-12 2003-09-25 Omron Corp 情報記録担体、商品梱包物、リーダ/ライタ装置、ならびにリーダ装置
FR2841015A1 (fr) * 2002-06-18 2003-12-19 St Microelectronics Sa Controle d'execution d'un programme
NO320468B1 (no) * 2003-10-17 2005-12-12 Nat Oilwell Norway As System for overvakning og administrasjon av vedlikehold av utstyrskomponenter
JP2005242530A (ja) * 2004-02-25 2005-09-08 Hitachi Ltd 履歴記録システム、履歴記録方法、履歴記録プログラム、及び受領譲渡者用端末
US7142121B2 (en) * 2004-06-04 2006-11-28 Endicott Interconnect Technologies, Inc. Radio frequency device for tracking goods
JP2006103813A (ja) * 2004-09-30 2006-04-20 Hitachi Ltd 物品追跡情報格納方法および物品追跡情報格納システム
JP4235193B2 (ja) * 2005-06-07 2009-03-11 日本電信電話株式会社 イベント履歴蓄積装置、イベント情報検証装置、イベント履歴蓄積方法、イベント情報検証方法およびイベント情報処理システム
JP4111529B2 (ja) * 2005-07-01 2008-07-02 インターナショナル・ビジネス・マシーンズ・コーポレーション トレーサビリティ署名システム、署名方法、プログラム
EP2002382B1 (fr) * 2006-03-31 2010-08-25 BRITISH TELECOMMUNICATIONS public limited company Procédé et dispositif d'obtention d'informations d'article à l'aide d'étiquettes rfid
JP2008134726A (ja) * 2006-11-27 2008-06-12 Toshiba Corp トレーサビリティ情報記録装置、トレーサビリティ情報記録方法及びプログラム
JP5014081B2 (ja) * 2007-11-20 2012-08-29 三菱電機株式会社 データ処理装置及びデータ処理方法及びプログラム
FR2933216B1 (fr) * 2008-06-27 2012-12-21 Nicolas Reffe Procede et systeme de validation d'une succession d'evenements vecus par un dispositif

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None *

Also Published As

Publication number Publication date
KR20110025179A (ko) 2011-03-09
US20110047200A1 (en) 2011-02-24
WO2009156689A2 (fr) 2009-12-30
JP5886626B2 (ja) 2016-03-16
JP2011526020A (ja) 2011-09-29
FR2933216B1 (fr) 2012-12-21
CN102077177A (zh) 2011-05-25
CN102077177B (zh) 2015-02-11
WO2009156689A3 (fr) 2010-02-18
AU2009264025B2 (en) 2015-01-15
FR2933216A1 (fr) 2010-01-01
JP5944462B2 (ja) 2016-07-05
JP2014241655A (ja) 2014-12-25
CA2726832A1 (fr) 2009-12-30
AU2009264025A1 (en) 2009-12-30

Similar Documents

Publication Publication Date Title
WO2009156689A2 (fr) Procede et systeme de validation d'une succession d'evenements vecus par un dispositif
FR2986631A1 (fr) Dispositif et procede de production d'un code d'authentification d'un message
WO2019129842A1 (fr) Procédé et système d'activation cryptographique d'une pluralité d'équipements
EP2795833B1 (fr) Procede d'authentification entre un lecteur et une etiquette radio
WO2016102833A1 (fr) Entité électronique sécurisée, appareil électronique et procédé de vérification de l'intégrité de données mémorisées dans une telle entité électronique sécurisée
EP2816756A1 (fr) Procédé et dispositif cryptographique unique à fonction physiquement induplicable
EP1120662B1 (fr) Procédé pour tester un circuit intégré comportant des parties matérielles et/ou logicielles ayant un caractère de confidentialité
EP2193626B1 (fr) Communication securisee entre une etiquette electronique et un lecteur
FR2979443A1 (fr) Microcontroleur securise a base de mode
CA2888662A1 (fr) Systeme et procede de securisation des echanges de donnees, objet portable utilisateur et dispositif distant de telechargement de donnees
EP2336931B1 (fr) Procédé de vérification de signature
FR2970357A1 (fr) Dispositif et procede de tracage
CA2867241A1 (fr) Procede de cryptage d'une pluralite de donnees en un ensemble securise
EP2374240B1 (fr) Procede de mise en oeuvre d'un algorithme de chiffrement par blocs
EP3021515B1 (fr) Amélioration de l'intégrité authentique de données à l'aide du dernier bloc chiffrant ces données en mode cbc
WO2013186451A1 (fr) Procede de sauvegarde de donnees a l'exterieur d'un microcircuit securise
EP3828737B1 (fr) Architecture d'échanges de données d'intérêt comprenant une pluralité d'objets connectés à ressources contraintes
EP4328771A1 (fr) Procédé d'exécution d'un code machine par un calculateur
FR3020888A1 (fr) Chiffrement d'une cle de protection de secrets protegeant au moins un element sensible d'une application
FR2976697A1 (fr) Transfert securise entre memoire non-volatile et memoire volatile
FR3080927A1 (fr) Authentification d'un circuit electronique
EP4183098A1 (fr) Dispositif, méthode et programme pour une communication sécurisée entre boîtes blanches
FR2911021A1 (fr) Procede d'extraction d'un secret a partir de donnees biometriques
WO2003069841A1 (fr) Procede de detection des attaques par mise en defaut contre les algorithmes cryptographiques
WO2007026092A1 (fr) Authentification anonyme et non tracable retroactivement d'un objet electronique par une entite d'authentification

Legal Events

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

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20101021

AK Designated contracting states

Kind code of ref document: A2

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

AX Request for extension of the european patent

Extension state: AL BA RS

DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20170210

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

19U Interruption of proceedings before grant

Effective date: 20161014

19W Proceedings resumed before grant after interruption of proceedings

Effective date: 20211102

PUAJ Public notification under rule 129 epc

Free format text: ORIGINAL CODE: 0009425

32PN Public notification

Free format text: NOTIFICATION ETABLIE CONFORMEMENT A LA REGLE 142(2) CBE (REPRISE DE LA PROCEDURE CONFORMEMENT A LA REGLE 142(2) CBE EN DATE DU 07.06.2021)

RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORIDAO

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20220503