EP2229647A1 - Hierarchisation de cles cryptographiques dans un circuit electronique - Google Patents

Hierarchisation de cles cryptographiques dans un circuit electronique

Info

Publication number
EP2229647A1
EP2229647A1 EP08871074A EP08871074A EP2229647A1 EP 2229647 A1 EP2229647 A1 EP 2229647A1 EP 08871074 A EP08871074 A EP 08871074A EP 08871074 A EP08871074 A EP 08871074A EP 2229647 A1 EP2229647 A1 EP 2229647A1
Authority
EP
European Patent Office
Prior art keywords
key
circuit
bmk
printer
electronic circuit
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
EP08871074A
Other languages
German (de)
English (en)
Inventor
Jean-Louis Modave
Thierry Huque
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.)
Proton World International NV
Original Assignee
Proton World International NV
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 Proton World International NV filed Critical Proton World International NV
Publication of EP2229647A1 publication Critical patent/EP2229647A1/fr
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/77Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in smart cards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/02Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/355Personalisation of cards for use
    • G06Q20/3552Downloading or loading of personalisation data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1016Devices or methods for securing the PIN and other transaction-data, e.g. by encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/24Key scheduling, i.e. generating round keys or sub-keys for block encryption

Definitions

  • the present invention generally relates to electronic circuits and more particularly to circuits comprising a digital processing unit capable of handling encryption or authentication keys.
  • the present invention relates more particularly to the protection of encryption or authentication keys contained in an integrated circuit provided with calculation means, for example a smart card or the like.
  • calculation means for example a smart card or the like.
  • Encryption keys Protection or authentica- tion contained in an electronic circuit against attempted hacking ⁇ tive is a recurring problem in cryptography.
  • it is often sought to protect one or more keys, said native, initial or primary, stored in a non-volatile memory of a circuit during its manufacture, specifically in a personalization phase that ends its production process.
  • the purpose of this protection is to avoid the problems associated with a so-called key revocation phenomenon which consists of considering a key as more secure enough and no longer using it. If this key is a initial key of the circuit, the latter must then be considered as unusable. To avoid this, we often use a key derivation mechanism that only keys derived from this initial key or master are used.
  • the circuit may be able to generate a new one.
  • Another countermeasure to hacking attempts is to use temporary keys transmitted by a trusted remote element and stored in a random access memory of the circuit (for short use or in which the circuit remains energized) or in a non-volatile reprogrammable memory (for longer use or extending over several feeding periods). These temporary keys can also be derived by the circuit from an identifier transmitted by the remote element. For example, in a pay-TV application, a control word, used to decrypt side RX ⁇ tor a video stream is obtained (derived) from key tempo ⁇ rary contained in a smart card.
  • These temporary broadcast keys are obtained following a secure exchange process between the access provider and the receiver where the keys are either directly downloaded or themselves derived by the receiver's smart card from an identifier transmitted by the access provider.
  • the delivery keys are the same for several users and are only used by the issuer for a certain duration (for example, a month).
  • session keys are used and derived from a basic key contained in a smart card that is desirable to protect against possible hacking attempts.
  • US 2007/003062 discloses a method of key distribution in a wireless communication system, in which one key is encrypted by another.
  • An object is more particularly a solution compatible with the usual processes of encryption keys or authentication.
  • this object is a solution requiring no modification of algorithms ⁇ fication authentication and encryption actual or potential key derivation algorithms.
  • an object aims at a key derivation mechanism allowing control over the use of these keys over time.
  • One embodiment of the method provides that the number of uses of the first key in a given period is limited by a counter stored in a second storage element reset automatically after a period independent of the fact that the circuit is powered or not.
  • One embodiment of the method provides that the second key is contained in a nonvolatile memory element of the circuit.
  • One embodiment of the method provides that the first key is obtained by derivation of the second key.
  • One mode of implementation of the method provides that the second key is used to obtain the first key by decryption.
  • An implementation of the method provides that the first key is the basis for deriving a third key used to encrypt or authenticate Prove information ⁇ ing from outside the circuit.
  • a method of encrypted transmission of digital data in which a key ⁇ Frement tally of these data corresponds to the third key.
  • a method of deriving a session key from an EMV application in which the session key corresponds to the third key.
  • control method ⁇ utili zation of ink cartridges by means of a circuit associated with a printer and a key derived from an identifier provided by a cartridge, wherein said derived key corresponds to the pre ⁇ Mière key.
  • an electronic circuit COMPOR ⁇ as means for cryptographic processing and at least one non-volatile memory, said first latch element being formed by at least one memory element having at least one first capacitive element exhibiting a leakage through of its dielectric space.
  • One embodiment of the circuit comprises means adapted to implement one of the above methods.
  • a system for broadcasting a digital content comprising: a transmitter capable of encrypting the content from a control word that changes periodically and transmitted, with the encrypted content, in encrypted form from at least one pre ⁇ Mière temporary key period longer than that of the control word; and a receiver associated with an electronic circuit capable of decrypting the control word from said first key, and then decrypting the content from this control word.
  • An embodiment of a receiver includes a smart card reader.
  • a system for controlling the use of ink cartridges by a printer comprising: at least one printer associated with at least one electronic circuit; and at least one ink cartridge adapted to transmit an identifier enabling the printer circuit to generate said first key.
  • printer of such a system There is also a printer of such a system.
  • a cartridge of such a system comprising an electronic circuit provided with a storage element automatically reset after a period independent of the fact that the circuit is powered or not, this element containing said identifier.
  • a banking system using smart cards said first key being used to derive session keys transactions.
  • FIG. 1 represents a chip card of the type to which the present invention applies by way of example
  • FIG. 2 illustrates a broadcasting system of the type to which the present invention applies by way of example
  • Figure 3 illustrates a payment card system of the type to which the present invention applies by way of example
  • 4 illustrates a cartridge printer system of the type which applies for example pre ⁇ feel invention
  • Fig. 5 is a block diagram of an embodiment of an electronic circuit
  • FIG. 6 illustrates an example of memory contents of an electronic circuit in the application of FIG.
  • FIG. 7 is a flowchart illustrating an embodiment according to this application example
  • Figure 8 is a simplified flowchart of an embodiment of a ratification mechanism
  • Fig. 9 is a simplified block diagram of a counter used in the mechanism of Fig. 8
  • FIG. 10 illustrates an example of memory contents of an electronic circuit in the application of FIG. 3
  • FIG. 11 illustrates an example of memory contents of an electronic circuit in the application of FIG. 4
  • Figure 12 shows an embodiment of an electronic charge retention circuit
  • Fig. 13 is a current-voltage graph illustrating the operation of the circuit of Fig. 12
  • Figure 14 is a timing diagram illustrating ⁇ func tioning of the circuit of Figure 12
  • 15 shows another embodiment of a charge retention circuit in an example of about ⁇ ment
  • FIGS. 17A, 17B, 17C are respectively a view from above, a sectional view in a first direction and the equivalent electric diagram of an embodiment of an electronic circuit for retaining charges from EEPROM cells;
  • FIGS. 18A, 18B and 18C are respectively a view from above, a sectional view in a second direction and the equivalent electric diagram of a first element of the circuit of FIGS. 17A to 17C;
  • Figures 19A, 19B, 19C are respectively a top view, a sectional view along the second direction and the equivalent electrical diagram of a second element of the circuit of Figures 17A to 17C;
  • FIGS. 20A, 20B, 20C are respectively a view from above, a sectional view along the second direction and the equivalent electric diagram of a third element of the circuit of FIGS. 17A to 17C; and FIGS. 2A, 21B, 21C are respectively a top view, a sectional view along the second direction and the equivalent electric diagram of a fourth element of the circuit of FIGS. 17A to 17C.
  • FIG. 1 schematically represents a smart card 1 of the type to which the present invention applies by way of example.
  • a smart card 1 is, for example, made of a plastic support 12 in or on which is reported an electronic circuit chip 5, capable of communicating with the outside by means of contacts 13 or by means of unrepresented non-contact transceiver elements.
  • the circuit 5 of the card contains a processing unit that exploits one or more encryption, decryption, authentication keys, or more generally one or more keys exploited by a cryptographic mechanism.
  • FIG 2 is an exemplary block diagram of applica ⁇ a controlled-access broadcast system.
  • This example is for satellite broadcasting of digital media.
  • Diffuser side 21 a digital media content (if any Prove ⁇ ing a digital encoding of an analog content) is encrypted by means of a control word CW, prior to its radio ⁇ diffusion.
  • a decoder 23 converts, on the receiving side, the signals to make them interpretable (for example, by converting them in video signals), and decrypts the data from the same control word CW (symmetric encryption) or a control word linked to that of transmission by an asymmetric mechanism (public key - private key).
  • the control word is obtained from a temporary key contained, for example, in the circuit 5 of a smart card 1 dedicated to each user.
  • the temporary key is changed periodically (for example, every month). It is either transmitted to the card by the access provider by a secure mechanism, or derived by the card from an identifier broadcast by the issuer and a basic key contained in the card since its manufacture.
  • the decoder 23 and the decryption circuit 5, often called conditional access module or CAM for "Conditional Access Module" are generally distinct. This module can also be carried by an electronic card of the decoder.
  • FIG. 3 is a block diagram of another example of application to a payment card system 3.
  • This example relates to the use of a smart card 1 (CARD) for payment transactions, for example, complying with the EMV standard.
  • the card 1 is introduced in a reader 31 (READER) of the system 3 and has the role of allowing authentication of the cardholder to authorize a bank transaction.
  • This transaction is effected via a central system 32 (ISSUER), generally the bank of the holder of the reader 31.
  • This bank then communicates with the (not shown) of the cardholder to perform the transaction.
  • FIG. 4 is a block diagram of yet another example of application to a cartridge printer system 4.
  • a printer 41 intended to be connected (link 42) wired or wireless to a computer system (not shown), contains one or more ink cartridges 44.
  • Each cartridge is provided with an electronic circuit 6 capable of at least communicating a digital identifier to an electronic circuit 5 of which the printer 41 is equipped. The identifier enables the circuit 5, among other things, to authenticate the cartridge 44.
  • FIG. 5 is a block diagram of a mode of Réali ⁇ sation of an electronic circuit 5, for example contained in a smart card 1 of Figures 1, 2, 3, in a printer of Figure 4 or in a other access control module (electronic key type or other).
  • the circuit 5 comprises, among others, a digital processing unit 51 (PU), one or rained ⁇ eral memory 52 (MEM) of which at least one nonvolatile memory (e.g., EEPROM) and random access memory (RZ -M), and an input / output circuit (I / O) 53 for communicating with the outside of the circuit 5 (for connection to the contacts 13 or to an antenna for example).
  • PU digital processing unit 51
  • MEM rained ⁇ eral memory 52
  • I / O input / output circuit
  • the various elements internal to the circuit 5 communicate with each other and with the interface 53 via one or more buses 54 of data, addresses and commands as well as any direct links between some of these elements.
  • the circuit 5 may also incorporate other func tions ⁇ software or hardware, symbolized by a block 55 (FCT) in Figure 5.
  • the circuit 5 also includes at least one circuit 100 (TCM) of elements of temporary storage with charge retention whose charge level changes over time, even when the circuit 5 is not powered.
  • This circuit 100 constitutes one or more memory elements controlled in time (Time Controlled Memory). Detailed examples of circuits 100 will be described later in connection with FIG. 12 and following.
  • each memory cell of a circuit 100 is capable of being programmed or activated (placed in a state arbitrarily noted as 1) by injecting or extracting charges in a capacitive element which presents a leakage through its dielectric space, so that its active state disappears (the element back to state 0) after a given time, regardless of the possible power supply of the circuit.
  • Such a circuit 100 to charge retention stores a binary state or states forming a binary word consti ⁇ killing a temporary key.
  • Figures 6 and 7 illustrate an example of application to a type of the broadcasting system from that of Figure 2.
  • Figure 6 illustrates the contents of zones of said three memories ⁇ tinct circuit 5 including a non-volatile reprogrammable memory 52 EEPROM type RAM 52 'RAM and time-controlled memory 100 (TCM).
  • TCM time-controlled memory 100
  • a control word CW is used by the transmitter (21, FIG. 2) to encrypt the media content and must be known to the receiver (23, FIG. 2), more particularly to the circuit 5 associated with it (whether in a smart card 1, in an on-board circuit or in an access control module).
  • the word CW is stored in RAM in circuit 5 because it changes at a relatively high frequency, typically less than a minute.
  • the service provider (for simplicity, assumed to be confused with the transmitter 21) and, in this example, the card 1 share a broadcasting key BMK (Broadcast Monthly Key) which is a temporary key duration (for example a month ) greater than that of the word CW and used by the circuit 5 to decrypt the CW control words transmitted by the transmitter ⁇ being encrypted by the key BMK. Without this key BMK, the decoder is not able to decipher the successive words during its period of validity, so to decode the transmitted content.
  • the BMK key is usually a common key rained ⁇ eral circuits 5 of different users.
  • the circuit 5 contains at least one BRK (Broadcast Root Key) base key in non-volatile memory EEPROM.
  • BRK Broadcast Root Key
  • two basic keys BRK1 and BRK2 are provided either to allow the repudiation of one of the two if necessary, or to dedicate each key to an application (a category of digital contents).
  • the number of basic keys may vary depending on the application and the size of the EEPROM available. This or these BRK keys are preferably stored in the card in its phase person ⁇ zation.
  • these basic keys can be stored in a nonvolatile memory programmable once (OTP) being preferably individualized per circuit.
  • OTP nonvolatile memory programmable once
  • the BRK keys are used by the broadcaster to send to the card the temporary keys BMK (BMK1 and BMK2) which are stored in the memory 100.
  • These temporary keys BMK are preferably stored in dedicated places of the memory 100.
  • the time of Charge retention of memory 100 defines their maximum lifetime. By choosing a period at least equal to the period of maximum period that is guaranteed a monthly key can not be used or attacked during a period Suselling ⁇ higher this retention time since it will have disappeared the memory 100 at the end of this period. This prevents recorded programs from being replayed (executed) retrospectively.
  • the resistance of the circuit 5 to attacks is such that the probability for an attacker to find a BMK key in one month is negligible.
  • This example can be adapted to other BMK key durations. For example, we can use weekly keys.
  • Figure 7 illustrates an implementation of the example of Figure 6.
  • the diffuser 21 has the quantities BRK, BMK and CW.
  • circuit 5 has only the BRK key (or BRK keys). Every month, the access provider 21 changes the key BMK and transmits it in an encrypted manner (block 71, EBRK ( BMK )) to the decoder 23, more precisely to its module or circuit 5.
  • the circuit 5 decrypts the key BMK ( block 72, D BRK (E BRK (BMK))) then stores it in the memory 100 (block 73, BMK -> TCM).
  • the transmitter 21 scrambles or digit (block 75, E BMK (CW), E C w (MEDIA)) each control word with the key BMK and the data MEDIA with the control word CW before transmitting both to the decoder.
  • the decoder side circuit 5 decrypts the control word CW using the key BMK (block 76, D B MK (BMK E ) (CW)), then the data by means of this control word (block 77, DCW (ECW (MEDIA))) -
  • the encryption and decryption algorithms E and D may be different for the key BMK, the control word CW and the data MEDIA.
  • Syme algorithm ⁇ cudgel where the same key is shared and used to encrypt and decrypt, but we can use asymmetric algorithms to public and private keys for at least ciphers of BMK and CW key.
  • one or more mechanisms of ratification ⁇ cation are added to limit the number of uses of the temporary key BMK and / or BRK base key in a given period of time.
  • These ratifications are carried out by means of counters RC (Ratification Counter) which make it possible to count down the number of times that are used the keys BRK and BMK during a given period.
  • RC Rasterification Counter
  • the period control is performed automatically by the charge retention circuit 100 since the states of the counters disappear at the end of the period for which the circuit 100 is designed.
  • FIG. 8 is a simplified functional block diagram illustrating one embodiment of the counter ratification mechanism, for example, of the BRK key.
  • the counter RC (BRK) resets automatically and inde pendently ⁇ of the electronic circuit power supply 10 '.
  • DPA Differential Power Analysis
  • the RC counter (BMK) is for example incremented each time the BMK key is used to decode a CW control word.
  • the RC (BMK) counter limits the number of uses of the BMK key in the set time. This duration is short by compared to that of RC counter retention (BRK). For example, limiting the number of uses of the control word to two every ten seconds prevents card sharing attacks for CW words changing every ten seconds, while allowing a second decoding when needed (for example for redundancy in case of error).
  • FIG. 9 very schematically shows, in the form of blocks, an example of a counting circuit 90 containing n electronic charge-retaining circuits 10OQ, 100 ] _, ..., 10O n each storing a bit BQ, B ] _, ..., B n of the RC (BMK) or RC (BRK) counter.
  • the circuit 50 is preferably controlled by an internal circuit 91 (CTRL) causing, as will be better understood later in connection with FIGS. 12 and following, the incrementation of the counter following a malfunction detection (INC input of the block 90), as well as reading the state of one or more bits of the counter.
  • CTRL internal circuit 91
  • the threshold TH can then be easily adapted regardless of the number of structural bits of the counter 90 by selecting the one of the counter bits to be taken into account to provide the OK / NOK result of the test 82.
  • the above mechanism preferably works in counting mode from a value initialized to the value 2 at each new reception of a word CW (for example, every ten seconds) and decreed ⁇ with each use of the word CW. A new use is then prohibited if the counter is zero.
  • the advantage of a counter stored in the memory 100 rather than RAM is that its value disappears anyway after the duration fixed by the circuit 100 (e.g., the same as the word CW frequency change), prohibiting a further utili zation ⁇ fraudulent.
  • FIG. 10 illustrates another example of use of circuit 5 in an application to a payment card system. This figure represents an example of content of the three memories 52, 52 'and 100 of the circuit 5 of a smart card 1 according to this application example.
  • a native key RK (Root Key) is stored in the smart card during the customization of its EEPROM memory.
  • This key RK is associated with a counter of the number of its derivations RKDC (Root Key Derivation Counter) as well as with an ATC transaction counter (Authorization
  • Transaction Counter also stored in reprogrammable non-volatile memory 52.
  • the key RK is derived by the circuit 5 to obtain a basic key BK (Base Key) which is stored in the controlled charge retention memory 100.
  • This key base BK is then derived at each transaction using the ATC transaction counter to obtain a session key SK stored in RAM and which is used for authorization exchanges of the transaction between the reader and the card.
  • the transaction counter is the identifier of the index of the session key in the key derivation tree, allowing the central system with which the card communicates to retrieve the same session key.
  • the lifetime of a card being fixed (generally a few years, for example 4) the RKDC counter der ⁇ ⁇ vation of the key RK fixed in the EEPROM memory can be encoded on a single byte for a derivation per week. Its value is for example sent to the supplier of the card in addition to the transaction number with each authorization message to validate a derivation of a session key.
  • the number of possible uses of a base key per time slot is limited by means of a ratification counter RC (BK) stored in the memory 100.
  • BK ratification counter
  • the counter reset is automatic.
  • a similar counter RC (RK) is used for the derivations of the key RK. This provides additional security over the RKDC counter by limiting the number of taps in a given time.
  • Fig. 11 illustrates an exemplary application associated with the printer system of Fig. 4.
  • a basic key contained in the printer 42 is derived a given number of times to communicate with a cartridge inserted into the printer. printer and has a key since its manufacture.
  • Two Factors can lead to a need to change the key.
  • a first factor is too many uses of the key by too many uses of the cartridge
  • a second case is related to the expiry date of the ink, the cartridge being out of date.
  • the integrated circuit 5 includes a memory area with retention of time charges 100 to limit the number of uses of the key, that is to say the number of introductions of the cartridge in the printer.
  • a temporary session key is thus created by means of a usual key derivation algorithm (for example of the AES type) from a basic key BK contained in the card of the printer.
  • the ID index of the key derived in a key derivation tree depends on an identifier of the cartridge (block 61, ID) communicated by it when it is introduced into the printer and, in case of conformity between the cartridge and the printer, to find the correct session key.
  • the key derived from the printer side (block 45, DERIVE BK (ID)) is stored in a memory area 100 of the circuit 5.
  • the start of the printer is conditioned by the use and obtaining of the correct session keys, which makes it possible to authenticate the cartridge (AUTHENTICATE) and to reserve the use of the printer with the use of cartridges of origin or, at least authorized by the manufacturer.
  • the test authentication is performed, for example, each utili ⁇ printer sation.
  • Storing the temporary key BK (ID) in the memory 100 makes its validity period independent of the power supply of the printer. This is particularly interesting since a printer is only rarely lit continuously.
  • the cartridges do not need to be modified, only the electronic circuits of the printers are adapted to contain the storage elements 100.
  • a duration of use of the cartridge 44 is also fixed by means of a time-holding retention memory 100 contained in the circuit 6 of the cartridge.
  • One or more bits are set in the chip of the cartridge during manufacture and / or during reloading by an authorized and this active state disappears ⁇ auto matically when the duration is expired speaker.
  • FIG. 12 represents a preferred example of a charge retention circuit 100.
  • Such a circuit constitutes a storage element for a bit of a key or a counter described above.
  • the circuit 100 comprises a first capacitive element C1 whose first electrode 121 is connected to a floating node F and whose dielectric space 123 is designed (by its permittivity and / or by its thickness) to exhibit significant leakage over time .
  • Floating node F is understood to mean a node not directly connected to any diffused region of the semiconductor substrate in which circuit 100 (and circuit 10 ') is preferably produced and, more particularly, separated by a dielectric space from any terminal of application of potential.
  • the second electrode 122 of the capacitive element C1 is either connected (dotted in FIG. 12) to a terminal 112 intended to be connected to a reference potential (for example ground), or left in the air.
  • a second capacitive element C2 has a first elec ⁇ trode 131 connected to the node F and a second electrode 132 connected to the terminal 112.
  • the capacitive element C2 has a higher charge retention capacity than the capacitive element C1.
  • a third capacitive element C3 has a first electrode 141 connected to the node F and a second electrode 142 connected to a terminal 113 of the circuit 100, intended to be connected to a power source during an initialization of a charge retention phase (activation of the bit stored in state 1).
  • a role of the capacitive element C2 is to store an electric charge.
  • a role of the capacitive element C1 is to relatively slowly discharge the storage element C2 (relative to a direct connection of its electrode 131 to ground) through a leakage through its dielectric space.
  • the presence of the capacitive element C2 makes it possible to separate the level of charge present in the circuit 100 with respect to the discharge element (capacitor C1).
  • the thickness of the dielectric of the element C2 is greater than that of the element C1.
  • the capacitance of the element C2 is greater, preferably in a ratio of at least 10, than that of the element C2.
  • a role of the capacitive element C3 is to allow a charge injection into the capacitive element C2 by the Fowler-Nordheim effect or by a hot electron injection phenomenon.
  • the element C3 makes it possible to avoid the stresses (stress) on the element C1 when the elements C2 and C1 are loaded in parallel.
  • the thickness of the dielectric space of the element C3 is greater than that of the element C1, so as to avoid introducing a parasitic leakage path.
  • the node F is connected to a gate G of an insulated control terminal transistor (for example, a MOS transistor 150) whose conduction terminals (drain D and source S) are connected to output terminals 114 and 115 for measure the residual charge contained in the element C2 (neglecting the capacity of the element C1 in parallel).
  • the terminal 115 is connected to ground and the terminal 114 is connected to a current source (not shown) to a current-voltage conversion of the drain current I] _] _4 in the transistor 150.
  • the thickness of the gate dielectric transistor for example, a MOS transistor 150
  • the gate thickness of the transistor 150 is even greater than the thickness of the dielectric of the element C3, so as to avoid introducing a spurious path programming (injection or extraction of charges from the node F).
  • the interpretation of the stored level can be carried out simply by means of a comparator whose switching takes place as long as the load of the node F remains sufficient.
  • the level for which the comparator switches then defines the level of change of state of the bit stored by the element 100.
  • Other reading solutions can be envisaged, for example a multilevel interpretation in an embodiment where the circuit 100 stores directly several bits.
  • FIG. 13 represents an example of the current of the drain current Iii4 of the transistor 150 as a function of the voltage Vp at the node F, referenced with respect to the terminal 115.
  • the voltage Vp then expresses the gate / source voltage of the transistor 150. depends on the residual load across capacitors C1 and C2 in parallel, therefore essentially the residual charge in capacitor C2.
  • the evaluation of the drain current I] _] _4 can be performed by maintaining terminals 112 and 115 at the same potential (e.g. ground) and by applying a known voltage on terminal 114.
  • FIG. 14 illustrates the evolution of the charge Qp at the point F as a function of time.
  • the charge Q starts from an initial value Q INIT T o cancel an instant t with a discharge speed capa ⁇ citive.
  • the time interval between the times t0 and t1 depends not only on the leakage capacity of the dielectric of the element C1 but also on the value (therefore of the storage capacity) of the element C2 which conditions the value QINIT-
  • the programming or activation of the circuit 100 (transition to the state 1 of the stored bit) through the capacitive element C3 protects the capacitive element C1 whose oxide (dielectric) thickness is relatively thin and which would otherwise risk be damaged during programming. This makes it possible to make the measurements reliable and reproducible over time.
  • Fig. 15 shows the wiring diagram of another embodiment of a charge retention circuit 100 '.
  • the transistor 150 is replaced by a floating gate transistor FG connected to the node F.
  • the control gate CG of the transistor 160 is connected to a load control terminal 116. residual in the circuit 100 '(thus the state of the bit stored).
  • the thickness of the dielectric, between the floating gate FG and the channel (active zone) of the transistor 160, is greater than that of the element C1 and preferably greater than that of the element C3.
  • the charge injection or extraction element C3 is a floating gate MOS transistor 170.
  • the floating gate 141 of transistor 170 is connected to node F.
  • the circuit has been represented in part of its environment.
  • the drain 142 of the transistor 170 is connected to a current source 118 receiving a supply voltage Valim and its source 173 is connected to ground.
  • Its control gate 174 receives a control signal CTRL intended to make transistor 170 turn on when there is a need for charge injection.
  • the drain (terminal 114) of the transistor 160 receives the supply voltage Valim and its source is connected to ground by a current source 119 (variant inverted with respect to the embodiment described in connection with Figure 12).
  • the voltage V ] _ ] _g across the current source 119 is representative of the voltage at the point F and is used to switch the output of a comparator (not shown).
  • FIG. 16 illustrates, by a graph of the current I ] _i4 as a function of the voltage V ] _ ] _g applied to the control gate, the operation of the circuit of FIG. 15.
  • the voltage at the drain and source terminals 114 of the transistor 160 is kept constant by the external reading circuit.
  • the voltage drop between the floating gate and the terminal 115 then depends on the electrical load present at the node F, the total capacitance between the nodes F and 112 (essentially the capacitors C1 and C2), and the voltage applied to the gate In FIG.
  • Curve a represents the case where node F is fully discharged.
  • Curve b represents the case of a positive charge present on the node F (electron extraction).
  • the threshold of the transistor 160 is then lowered.
  • the curve c represents the case of a negative charge at the node F (electron injection) which generates an upper threshold for the MOS transistor 160.
  • Different voltages can be used for programming and reading provided that there is an operable reference between the residual load and the interpretation of the state of the stored bit.
  • a charge retention circuit is produced with the following values: capacitance C1: about 2 fF, dielectric thickness: about 40 ⁇ ;
  • Capacity C2 about 20 fF, dielectric thickness: about 160A;
  • Capacity C3 about 1%, dielectric strength: about 80 ⁇ .
  • Such a circuit can be initialized by applying a voltage of the order of 12 volts and is discharged after about a week. This is of course only one example, the dielectric thicknesses and the possible combination in parallel of several elements C1 or C2 conditioning the charge retention time.
  • FIGS. 17A, 18A, 19A, 20A and 2IA are diagrammatic top views, respectively of the electronic charge retention circuit and its elements C2, 170, C1 and 160.
  • FIG. 17B is a section along line AA 'of FIG. Figure 17A.
  • Figures 18B, 19B, 20B and 21B are respectively sectional views along lines BB 'of Figures 18A, 19A, 20A and 21A.
  • 17C, 18C, 19C, 2OC and 21C represent the respective equivalent electrical diagrams of the electronic charge retention circuit and its elements C2, 170, C1 and 160.
  • channel transistors N in a substrate 180 ( Figure 17B) of silicon type P it is assumed that channel transistors N in a substrate 180 ( Figure 17B) of silicon type P. The reverse is of course possible.
  • Each element or cell C2, 170, C1 or 160 is obtained from a floating gate transistor connected in series with a selection transistor T2, T3, T1 or T4 with a single gate for selecting, for example, in a matrix network of EEPROM memory cells, the electronic circuit of charge retention.
  • the floating gates of the different transistors forming elements C2, 170, Cl 160 and are connected inter ⁇ (conductive line 184) to form the floating node F.
  • Their control gates are connected to a conductive line 185 of application of the signal CG read command.
  • Their respective sources SC2, S7, SCl and S6 are interconnected to terminal 112 (ground) and their drains res ⁇ spective DC2, D7, DCl and D6 are connected to respective sources of T2 selection transistors, T3, Tl and T4.
  • the gates of transistors T1 to T4 are connected together to a conductive line 186 for applying a circuit select signal SEL.
  • Their respective drains Dl to D4 are connected to the bit lines BLL to BL4 ⁇ indi vidually controllable.
  • the order of the bit lines in FIG. 17C has been arbitrarily illustrated BL2, BL3, BL1 and BL4 but the order of the different elements C2, 170, C1 and 160 in the horizontal direction of the rows (in the orientation of the figures) is indifferent.
  • N-type source and drain regions (FIG. 17B) are assumed to be separated from each other in the direction of the lines by insulating zones 181.
  • the floating gates are made in a first conductive level Ml separated from the active regions by an insulating level 182 and the control gates are made in a second conductive level M2 separated from the first by a third insulating level 183.
  • the gates of the selection transistors are formed, for example, in the M2 level.
  • a difference compared to a conventional EEPROM memory cell array is that the floating gates are inter ⁇ connected in groups of four transistors to realize the floating node F.
  • the floating gate transistors realizing the various elements of the circuit are different from each other in the thickness of their tunnel window and / or in their drain and source connection.
  • FIG. 18A to 18C illustrate the embodiment of the storage capacitor C2.
  • the drain DC2 and source SC2 of the corresponding floating gate transistor are short-circuited (by extension of the N + type implantation throughout the active region, FIG. 18B) to form the electrode 132 of the capacitor.
  • the tunnel window is eliminated compared to a standard EEPROM cell.
  • Figures 19A to 19C illustrate the embodiment of the transistor 170 forming the capacitive element C3 programming.
  • the drain zone D7 is connected to the source of the selection transistor T3.
  • Source area S7 is connected to terminal 112.
  • FIGS. 2OA to 2CC illustrate the realization of the capacitive element C1 constituting the leakage element of the charge retention circuit.
  • a difference consists in thinning (zone 212, FIG. 20B) the dielectric window serving for the tunnel effect to increase the leaks.
  • the thickness of the dielectric 212 is chosen to be about half (for example between 30 and 40 angstroms) of that (for example between 70 and 80 angstroms) of a tunnel window (202, FIG. 19B). an unmodified cell.
  • Figures 21A to 21C illustrate the forming of read transistor 160 wherein the tunnel window has been deleted as well as, preferably, the implanted habi ⁇ tual area (201, 19B) of an EEPROM cell.
  • the active zone bounded by the sources S6 and drain D6 is therefore similar to that of a normal MOS transistor.
  • FIGS. 17A to 2IC are schematic and may be adapted to the technology used.
  • the gates have been shown as aligned with the boundaries of drain regions and source but a light recou ⁇ suitably present.
  • An advantage of the embodiment by means of a techno logy ⁇ EEPROM cell is that the charge retention circuit can be set and reset by applying the same voltage levels and the same time slots as used for erase or write in EEPROM memory cells.
  • Another advantage is that it preserves stability over time by avoiding degradation of the thin oxide of the leakage element (Cl) during successive writing operations.
  • bit lines BL1 to BL4 depend on the operating phases of the circuit and in particular on the programming (activation) or reading phase.
  • Table I illustrates a mode of implementation of an activation (SET) and a reading (READ) of an electronic charge retention circuit as illustrated by FIGS. 17A to 21C. Table I
  • the selection signal SEL is brought to a first high potential VPP 1 with respect to the ground to make the different transistors T1 to T4 go through while the CG signal applied to the control gates of the floating gate transistors remains at the low level 0 so as not to turn on the transistor 160.
  • the bit lines BL1, BL2 and BL4 remain in the air (state of high impedance HZ) while the line BL3 is applied to a positive potential Vpp 2 for charging the floating node F.
  • the line 112, common sources of floating gate transistors, is preferably left in the air (HZ state).
  • the different selection transistors are activated by the signal SEL at a level Vgg ⁇ and a voltage VpEAO ⁇ e reading is applied to the control gates of the different floating gate transistors.
  • BL1, BL2 and BL3 are in a state of high impedance HZ while line BL4 receives a potential V 114 for supplying the source of read current.
  • Line 112 is here connected to ground.
  • VPP 1, VPP 2, V SEL 'V READ V and 114 thereof "t, preferably the following: 1 VPP VPP higher than 2; V SEL greater than Vp ⁇ 0;
  • VPP 1 about 14 volts
  • VPP 2 about 12 volts
  • VSEL about 4 volts
  • parties ⁇ ticular several elements C2 may be used in paral lel ⁇ to increase the node capacity F so as to increase the discharge time of the electronic circuit; several members 170 may be used in paral lel ⁇ to increase the injection velocity or electron extraction at node F when programming; several leakage elements C1 can be used in parallel to reduce the discharge time of the system; and / or more read elements 160 may be intro ⁇ ducts in parallel to provide a higher current in the evaluation circuit.
  • An electronic charge retention circuit can be introduced into any position of a standard EEPROM memory cell network, which makes it more difficult for its location to be found by a malicious user.
  • the selection transistors of the cells forming the charge retention circuit are ⁇ tagged with normal EEPROM cells on the same bit lines, provided with suitable addressing and switching means.
  • the charge retention circuit may be formed by any circuit capable of pre ⁇ Senter, reproducibly, a pressure drop in the time regardless of the circuit power supply.
  • it may use a circuit as described in the international application WO-A-03/083769.
  • the counters can be of any kind and the counting function can be of any increment or decrement.
  • the counting function can be of any increment or decrement.
  • the counting cells can not be reset other than temporally
  • two incremental counters of finite size whose difference provides the value to consider.
  • EEPROM and RAM memories these memories are more generally any memory or non-volatile memory element reprogrammable (for example, flash memories) and any memory or volatile storage element (eg registers).
  • the invention can be implemented in non-contact devices (of the electromagnetic transponder type) which draw their power from an electromagnetic field in which they are located (generated by a terminal).

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Storage Device Security (AREA)
  • Lock And Its Accessories (AREA)

Abstract

L'invention concerne un procédé d'obtention, dans un circuit électronique (5), d'au moins une première clé destinée à être utilisée dans un mécanisme cryptographique, à partir d'au moins une deuxième clé contenue dans le même circuit, ladite première clé étant stockée dans au moins un premier élément de mémorisation (100) du circuit, ledit premier élément de mémorisation étant réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non. L'invention concerne également des applications de ce procédé à des transmissions chiffrées, des contrôles d'utilisation, ainsi qu'un circuit électronique mettant en oeuvre ces procédés.

Description

HIERARCHISATION DE CLES CRYPTOGRAPHIQUES DANS UN CIRCUIT
ÉLECTRONIQUE
Domaine de l' invention
La présente invention concerne de façon générale les circuits électroniques et, plus particulièrement les circuits comportant une unité de traitement numérique capable de mani- puler des clés de chiffrement ou d'authentification.
La présente invention concerne plus particulièrement la protection de clés de chiffrement ou d'authentification contenues dans un circuit intégré pourvu de moyens de calcul, par exemple d'une carte à puce ou analogue. Exposé de l'art antérieur
La protection de clés de chiffrement ou d' authentifi- cation contenues dans un circuit électronique contre des tenta¬ tives de piratage est un problème récurrent en cryptographie. En particulier, on cherche souvent à protéger une ou plusieurs clés, dites natives, initiales ou primaires, stockées dans une mémoire non volatile d'un circuit lors de sa fabrication, plus précisément dans une phase de personnalisation qui termine son processus de production. Le but de cette protection est notamment d'éviter les problèmes liés à un phénomène dit de révo- cation de clé qui consiste à considérer une clé comme plus suffisamment sûre et à ne plus l'utiliser. Si cette clé est une clé initiale du circuit, ce dernier doit alors être considéré comme inutilisable. Pour éviter cela, on a souvent recours à un mécanisme de dérivation de clés faisant que seules des clés dérivées de cette clé initiale ou maître soient utilisées. Si une des clés dérivées n'est plus sûre, le circuit peut alors être en mesure d'en générer une nouvelle. Une autre contremesure à des tentatives de piratage consiste à utiliser des clés temporaires transmises par un élément distant de confiance et stockées dans une mémoire vive du circuit (pour une utilisation courte ou dans laquelle le circuit reste alimenté) ou dans une mémoire non volatile reprogrammable (pour une utilisation plus longue ou s 'étendant sur plusieurs périodes d'alimentation). Ces clés temporaires peuvent également être dérivées par le circuit à partir d'un identifiant transmis par l'élément distant. Par exemple, dans une application de télévision à péage, un mot de contrôle, utilisé pour déchiffrer côté récep¬ teur un flux vidéo, est obtenu (dérivé) à partir de clés tempo¬ raires contenues dans une carte à puce. Ces clés temporaires dites de diffusion sont obtenues suite à un processus d'échanges sécurisés entre le fournisseur d'accès et le récepteur lors duquel les clés sont soit directement téléchargées, soit elles- mêmes dérivées par la carte à puce du récepteur à partir d'un identifiant transmis par le fournisseur d'accès. Les clés de diffusion sont les mêmes pour plusieurs utilisateurs et ne sont utilisées par l'émetteur que pendant une certaine durée (par exemple, un mois) .
Un problème est lié au fait que les clés de diffusion sont largement utilisées en usage normal. Elles sont donc très exposées aux attaques. En effet, les attaques visant à pirater des clés sont le plus souvent basées sur une analyse récurrente appelant les clés un grand nombre de fois .
De plus, la fréquence élevée d'utilisation des clés de diffusion par le récepteur pour obtenir les mots de contrôle
(généralement toutes les quelques secondes ou dizaines de secondes) rend inenvisageable un mécanisme requérant un échange avec le fournisseur d'accès à chaque utilisation de la clé de diffusion. Par conséquent, une même clé peut être utilisée par plusieurs utilisateurs sans que le fournisseur d'accès ne s'en aperçoive. Cela conduit à des attaques dites sans carte, c'est-à-dire à l'utilisation des clés de diffusion par des utilisateurs ne possédant pas la carte à puce dédiée. En outre, les moyens de calcul et de communication actuels de type Internet permettent, en raison de la rapidité de traitement, à plusieurs utilisateurs connectés par réseau, d'utiliser une même clé de diffusion sans nuire à l'affichage des médias sur leurs postes respectifs. Ce type d'attaque est connu sous la dénomination d'attaque par partage de clé (sharing attacks) .
Dans un autre exemple d'application à des cartes à puce de paiement, par exemple satisfaisant à la norme dite EMV, des clés de session sont utilisées et dérivées à partir d'une clé de base contenue dans une carte à puce qu'il est souhaitable de protéger contre d'éventuelles tentatives de piratage.
Dans encore un autre exemple d'application à des cartouches d'imprimante, par exemple de type jet d'encre ou laser, il peut être souhaitable de s'assurer que les cartouches utilisées par une imprimante donnée sont bien des cartouches autorisées, c'est-à-dire des cartouches certifiées par le fabricant. Dans une telle application, le piratage de clés d' authentification contenues dans un circuit électronique attaché à la cartouche d'encre ou à l'imprimante permet, par exemple, de réutiliser une même cartouche rechargée un trop grand nombre de fois.
Le document US 2007/003062 décrit un procédé de distribution de clé dans un système de communication sans fil, dans lequel une clé est chiffrée par une autre.
Le document US 7 036 018 décrit un circuit intégré dans lequel une clé de chiffrement est effacée au bout d'une durée indépendante de l'alimentation du circuit. Ce document prévoit un compteur temporel incrémenté ou décrémenté indépen¬ damment de l'alimentation du circuit, et le déclenchement de l'effacement de la clé en mémoire à l'expiration du comptage. Un inconvénient d'une telle solution est qu'un fraudeur surveillant les états du registre stockant le compteur peut éviter l'effacement de la clé en perturbant le fonctionnement du circuit entre la détection du seuil atteint par le registre de comptage et l'opération d'effacement.
Résumé de l'invention II serait souhaitable de disposer d'un mécanisme de protection de clés dans un système de clés hiérarchiques qui pallie les inconvénients des mécanismes usuels.
Un objet vise plus particulièrement une solution compatible avec les traitements usuels de clés de chiffrement ou d' authentification. En particulier, cet objet vise une solution ne requérant aucune modification des algorithmes d' authenti¬ fication et de chiffrement proprement dits, ni des éventuels algorithmes de dérivation de clés.
Plus généralement, un objet vise un mécanisme de déri- vation de clés autorisant un contrôle de l'utilisation de ces clés dans le temps.
Pour atteindre tout ou partie de ces objets ainsi que d'autres, il est prévu un procédé d'obtention, dans un circuit électronique, d'au moins une première clé destinée à être utilisée dans un mécanisme cryptographique, à partir d'au moins une deu¬ xième clé contenue dans le même circuit, ladite première clé étant stockée dans au moins un premier élément de mémorisation du circuit, ledit premier élément de mémorisation étant réini¬ tialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non.
Un mode de mise en oeuvre du procédé prévoit que le nombre d'utilisations de la première clé en une période donnée est limité par un compteur stocké dans un deuxième élément de mémorisation réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non.
Un mode de mise en oeuvre du procédé prévoit que la deuxième clé est contenue dans un élément de mémorisation non volatile du circuit.
Un mode de mise en oeuvre du procédé prévoit que la première clé est obtenue par dérivation de la deuxième clé. Un mode de mise en oeuvre du procédé prévoit que la deuxième clé sert à obtenir la première clé par déchiffrement.
Un mode de mise en oeuvre du procédé prévoit que la première clé sert de base à la dérivation d'une troisième clé utilisée pour chiffrer ou authentifier des informations prove¬ nant de l'extérieur du circuit.
Il est également prévu un procédé de transmission chiffrée de données numériques, dans lequel une clé de déchif¬ frement de ces données correspond à la troisième clé. II est également prévu un procédé de dérivation d'une clé de session d'une application EMV, dans lequel la clé de session correspond à la troisième clé.
Il est également prévu un procédé de contrôle d'utili¬ sation de cartouches d'encre au moyen d'un circuit associé à une imprimante et d'une clé dérivée d'un identifiant fourni par une cartouche, dans lequel ladite clé dérivée correspond à la pre¬ mière clé.
Il est également prévu un circuit électronique compor¬ tant des moyens de traitement cryptographique et au moins une mémoire non volatile, ledit premier élément de mémorisation étant formé d'au moins un élément de mémorisation comportant au moins un premier élément capacitif présentant une fuite au travers de son espace diélectrique.
Un mode de réalisation du circuit comporte des moyens adaptés pour mettre en oeuvre l'un des procédés ci-dessus.
Il est également prévu une carte à puce ou une clé électronique, comportant un tel circuit électronique.
Il est également prévu un système de télédiffusion d'un contenu numérique comportant : un émetteur apte à chiffrer le contenu à partir d'un mot de contrôle changeant périodiquement et transmis, avec le contenu chiffré, de façon chiffré à partir d'au moins une pre¬ mière clé temporaire de période supérieure à celle du mot de contrôle ; et un récepteur associé à un circuit électronique apte à déchiffrer le mot de contrôle à partir de ladite première clé, puis à déchiffrer le contenu à partir de ce mot de contrôle.
Il est également prévu un récepteur d'un tel système. Un mode de réalisation d'un récepteur comporte un lecteur de carte à puce.
Il est également prévu un système de contrôle d'utilisation de cartouches d'encre par une imprimante, comportant : au moins une imprimante associée à au moins un circuit électronique ; et au moins une cartouche d'encre adaptée à transmettre un identifiant permettant au circuit de l ' imprimante de générer ladite première clé.
Il est également prévu une imprimante d'un tel système. II est également prévu une cartouche d'un tel système comportant un circuit électronique pourvu d'un élément de mémorisation réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non, cet élément contenant ledit identifiant. II est également prévu un système de transactions bancaires utilisant des cartes à puce, ladite première clé servant à dériver des clés de session des transactions. Brève description des dessins
Ces objets, caractéristiques et avantages, ainsi que d'autres seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente une carte à puce du type à laquelle s'applique à titre d'exemple la présente invention ; la figure 2 illustre un système de télédiffusion du type auquel s'applique à titre d'exemple la présente invention ; la figure 3 illustre un système de carte de paiement du type auquel s'applique à titre d'exemple la présente invention ; la figure 4 illustre un système d'imprimante à cartouche du type auquel s'applique à titre d'exemple la pré¬ sente invention ; la figure 5 est un schéma-blocs d'un mode de réali- sation d'un circuit électronique ; la figure 6 illustre un exemple de contenus de mémoires d'un circuit électronique dans l'application de la figure 2 ; la figure 7 est un organigramme illustrant un mode de mise en oeuvre selon cet exemple d'application ; la figure 8 est un organigramme simplifié d'un mode de mise en oeuvre d'un mécanisme de ratification ; la figure 9 est un schéma-blocs simplifié d'un compteur utilisé dans le mécanisme de la figure 8 ; la figure 10 illustre un exemple de contenus de mémoires d'un circuit électronique dans l'application de la figure 3 ; la figure 11 illustre un exemple de contenus de mémoires d'un circuit électronique dans l'application de la figure 4 ; la figure 12 représente un mode de réalisation d'un circuit électronique de rétention de charges ; la figure 13 est un graphe courant-tension illustrant le fonctionnement du circuit de la figure 12 ; la figure 14 est un chronogramme illustrant le fonc¬ tionnement du circuit de la figure 12 ; la figure 15 représente un autre mode de réalisation d'un circuit de rétention de charges dans un exemple d'environ¬ nement ; la figure 16 est un graphe courant-tension illustrant le fonctionnement du circuit de la figure 15 ; les figures 17A, 17B, 17C sont respectivement une vue de dessus, une vue en coupe selon une première direction et le schéma électrique équivalent d'un mode de réalisation d'un circuit électronique de rétention de charges à partir de cellules EEPROM ; les figures 18A, 18B et 18C sont respectivement une vue de dessus, une vue en coupe selon une deuxième direction et le schéma électrique équivalent d'un premier élément du circuit des figures 17A à 17C ; les figures 19A, 19B, 19C sont respectivement une vue de dessus, une vue en coupe selon la deuxième direction et le schéma électrique équivalent d'un deuxième élément du circuit des figures 17A à 17C ; les figures 2OA, 2OB, 2OC sont respectivement une vue de dessus, une vue en coupe selon la deuxième direction et le schéma électrique équivalent d'un troisième élément du circuit des figures 17A à 17C ; et les figures 2IA, 21B, 21C sont respectivement une vue de dessus, une vue en coupe selon la deuxième direction et le schéma électrique équivalent d'un quatrième élément du circuit des figures 17A à 17C.
De mêmes éléments ont été désignés par de mêmes références aux différentes figures qui ont été tracées sans respect d'échelle. Par souci de clarté, seuls les éléments et étapes qui sont utiles à la compréhension de l'invention ont été représentés et seront décrits. En particulier, les ressources utilisées par un circuit électronique exploitant des clés n'ont pas été détaillées, l'invention étant compatible avec toute utilisation habituelle d'une ressource matérielle ou logicielle. De plus, les mécanismes de communication de données entre le circuit électronique et son environnement n'ont pas non plus été détaillés, l'invention étant là encore compatible avec les méca¬ nismes usuels. En outre, les algorithmes de chiffrement ou d' authentification utilisant une ou plusieurs des clés mises en oeuvre n'ont pas été exposés, l'invention étant là encore compatible avec les algorithmes usuels. Description détaillée
La figure 1 représente, de façon schématique, une carte 1 à puce du type auquel s'applique à titre d'exemple la présente invention. Une telle carte est, par exemple, constituée d'un support 12 en matière plastique dans ou sur lequel est rapportée une puce 5 de circuit électronique, susceptible de communiquer avec l'extérieur au moyen de contacts 13 ou au moyen d'éléments non représentés d'émission-réception sans contact. Le circuit 5 de la carte contient une unité de traitement exploi- tant une ou plusieurs clés de chiffrement, déchiffrement, authentification, ou plus généralement une ou plusieurs clés exploitées par un mécanisme cryptographique.
La figure 2 est un schéma-bloc d'un exemple d'applica¬ tion à un système de télédiffusion à accès contrôlé. Cet exemple concerne la diffusion par satellite de média numérique. Côté diffuseur 21, un contenu numérique MEDIA (le cas échéant prove¬ nant d'un codage numérique d'un contenu analogique) est chiffré au moyen d'un mot de contrôle CW, préalablement à sa radio¬ diffusion. Après transmission, par exemple par l'intermédiaire d'un satellite 22, d'un réseau câblé, de l'Internet, etc., un décodeur 23 convertit, côté réception, les signaux pour les rendre interprétables (par exemple, en les convertissant en signaux vidéo) , et déchiffre les données à partir du même mot de contrôle CW (chiffrement symétrique) ou d'un mot de contrôle lié à celui d'émission par un mécanisme asymétrique (clé publique - clé privée) . Côté récepteur 23, le mot de contrôle est obtenu à partir d'une clé temporaire contenue, par exemple, dans le circuit 5 d'une carte à puce 1 dédiée à chaque utilisateur. La clé temporaire est changée périodiquement (par exemple, tous les mois) . Elle est soit transmise à la carte par le fournisseur d'accès par un mécanisme sécurisé, soit dérivée par la carte à partir d'un identifiant diffusé par l'émetteur et d'une clé de base contenu dans la carte depuis sa fabrication. Le décodeur 23 et le circuit 5 de déchiffrement, souvent appelé module d'accès conditionnel ou CAM pour "Conditionnai Accès Module" sont généralement distincts. Ce module peut également être porté par une carte électronique du décodeur.
La figure 3 est un schéma-blocs d'un autre exemple d'application à un système 3 de cartes de paiement. Cet exemple concerne l'utilisation d'une carte à puce 1 (CARD) pour des opérations de paiement, par exemple, respectant la norme EMV. La carte 1 est introduite dans un lecteur 31 (READER) du système 3 et a pour rôle de permettre une authentification du porteur de la carte pour autoriser une transaction bancaire. Cette transaction est effectuée par l'intermédiaire d'un système central 32 (ISSUER), généralement la banque du titulaire du lecteur 31. Cet établissement bancaire communique alors avec celui (non représenté) du porteur de la carte pour effectuer la transaction.
La figure 4 est un schéma-blocs d'encore un autre exemple d'application à un système 4 d'imprimante à cartouches. Une imprimante 41, destinée à être reliée (liaison 42) avec ou sans fil à un système informatique (non représenté) , contient une ou plusieurs cartouches d'encre 44. Chaque cartouche est pourvue d'un circuit électronique 6 susceptible au moins de communiquer un identifiant numérique à un circuit électronique 5 dont est équipée l'imprimante 41. L'identifiant permet au circuit 5, entre autres, d'authentifier la cartouche 44.
La figure 5 est un schéma-blocs d'un mode de réali¬ sation d'un circuit électronique 5, par exemple contenu dans une carte à puce 1 des figures 1, 2, 3, dans une imprimante de la figure 4 ou dans un autre module de contrôle d'accès (de type clé électronique ou autre) . Le circuit 5 comporte, entres autres, une unité de traitement numérique 51 (PU) , une ou plu¬ sieurs mémoires 52 (MEM) parmi lesquelles au moins une mémoire non volatile (par exemple, de type EEPROM) et une mémoire vive (RZ-M), et un circuit 53 d'entrée/sortie (I/O) pour communiquer avec l'extérieur du circuit 5 (pour connexion aux contacts 13 ou à une antenne par exemple) . Les différents éléments internes au circuit 5 communiquent entre eux et avec l'interface 53 par ou plusieurs bus 54 de données, d'adresses et de commandes ainsi que par d'éventuelles liaisons directes entre certains de ces éléments. Le circuit 5 peut également intégrer d'autres fonc¬ tions logicielles ou matérielles, symbolisées par un bloc 55 (FCT) en figure 5. Dans les différentes applications visées, le circuit 5 comporte également au moins un circuit 100 (TCM) d'éléments de mémorisation temporaire à rétention de charges dont le niveau de charge évolue avec le temps, même lorsque le circuit 5 n'est pas alimenté. Ce circuit 100 constitue un ou plusieurs éléments de mémorisation contrôlés dans le temps (Time Controlled Memory) . Des exemples détaillés de circuits 100 seront décrits ultérieurement en relation avec les figures 12 et suivantes . Pour l'instant, on se contente de noter que chaque cellule mémoire d'un circuit 100 est susceptible d'être programmée ou activée (placée dans un état noté arbitrairement 1) par injec- tion ou extraction de charges dans un élément capacitif qui présente une fuite au travers de son espace diélectrique, de telle sorte que son état actif disparaît (l'élément rebascule vers l'état 0) au bout d'un temps donné, indépendamment de l'alimentation éventuelle du circuit. Un tel circuit 100 de rétention de charges stocke un état binaire ou plusieurs états formant un mot binaire consti¬ tuant une clé temporaire.
Les figures 6 et 7 illustrent un exemple d'application à un système de télédiffusion du type de celui de la figure 2. La figure 6 illustre le contenu de zones de trois mémoires dis¬ tinctes du circuit 5 parmi lesquelles une mémoire non volatile reprogrammable 52 de type EEPROM, une mémoire vive 52 ' de type RAM et une mémoire 100 contrôlée dans le temps (TCM) .
Un mot de contrôle CW est utilisé par l'émetteur (21, figure 2) pour chiffrer le contenu média et doit être connu du récepteur (23, figure 2) , plus particulièrement, du circuit 5 qui lui est associé (que ce soit dans une carte à puce 1, dans un circuit embarqué ou dans un module de contrôle d'accès). Le mot CW est stocké en mémoire vive dans le circuit 5 car il change à une fréquence relativement élevée, typiquement moins d'une minute.
Le fournisseur du service (pour simplifier, supposé confondu avec l'émetteur 21) et, dans cet exemple, la carte 1 partagent une clé de diffusion BMK (Broadcast Monthly Key) qui est une clé temporaire de durée (par exemple d'un mois) supérieure à celle du mot CW et qui est utilisée par le circuit 5 pour déchiffrer les mots de contrôle CW transmis par l'émet¬ teur en étant chiffrés par la clé BMK. Sans cette clé BMK, le décodeur n'est pas en mesure de déchiffrer les mots successifs pendant sa période de validité, donc de décoder le contenu transmis . La clé BMK est généralement une clé commune à plu¬ sieurs circuits 5 de différents utilisateurs.
La transmission de la clé temporaire BMK aux dif¬ férents utilisateurs est précédée d'un contrôle de leurs droits (par exemple, des droits d'abonnement). Pour cela, le circuit 5 contient au moins une clé de base BRK (Broadcast Root Key) en mémoire non volatile EEPROM. Dans l'exemple, on prévoit deux clés de base BRKl et BRK2 soit pour permettre la répudiation d'une des deux si nécessaire, soit pour dédier chaque clé à une application (une catégorie de contenus numériques) . Le nombre de clés de base peut varier selon l'application et selon la taille de la mémoire EEPROM disponible. Cette ou ces clés BRK sont, de préférence, stockées dans la carte dans sa phase de person¬ nalisation. En variante, ces clés de base peuvent être stockées dans une mémoire non volatile programmable une seule fois (OTP) en étant, de préférence, individualisées par circuit. Les clés BRK sont utilisées par le diffuseur pour envoyer à la carte les clés temporaires BMK (BMKl et BMK2) qui sont stockées dans la mémoire 100. Ces clés temporaires BMK sont de préférence stockées dans des endroits dédiés de la mémoire 100. Le temps de rétention de charges de la mémoire 100 définit leur durée de vie maximale. En choisissant une durée au moins égale à la période de durée de validité maximale prévue, on garantit qu'une clé mensuelle ne puisse pas être utilisée ou attaquée pendant une période supé¬ rieure à cette durée de rétention dans la mesure où elle aura disparu de la mémoire 100 à l'issue de cette période. Cela empêche que des programmes enregistrés soient rejoués (exécutés) a posteriori.
Dans l'exemple ci-dessus, on suppose que la résistance du circuit 5 à des attaques est telle que la probabilité pour un pirate de retrouver une clé BMK en un mois est négligeable. Cet exemple peut être adapté à d'autres durées de clés BMK. Par exemple, on pourra utiliser des clés hebdomadaires.
La figure 7 illustre une mise en oeuvre de l'exemple de la figure 6. Le diffuseur 21 possède les quantités BRK, BMK et CW.
Initialement, le circuit 5 ne possède que la clé BRK (ou les clés BRK). Tous les mois, le fournisseur d'accès 21 change la clé BMK et la transmet de façon chiffrée (bloc 71, EBRK(BMK)) au décodeur 23, plus précisément à son module ou circuit 5. Le circuit 5 déchiffre la clé BMK (bloc 72, DBRK (EBRK (BMK) )) puis la stocke dans la mémoire 100 (bloc 73, BMK -> TCM) .
Par la suite, lors de la diffusion, l'émetteur 21 brouille ou chiffre (bloc 75, EBMK(CW), ECw (MEDIA)) chaque mot de contrôle avec la clé BMK et les données MEDIA avec le mot de contrôle CW avant de transmettre les deux au décodeur. Le circuit 5 côté décodeur, déchiffre le mot de contrôle CW en utilisant la clé BMK (bloc 76, DBMK (EBMK (CW) ) ) , puis les données au moyen de ce mot de contrôle (bloc 77, DCW(ECW(MEDIA))) - Les algorithmes de chiffrement et de déchiffrement E et D peuvent être différents pour la clé BMK, le mot de contrôle CW et les données MEDIA. De même, on a illustré un cas d'algorithme symé¬ trique où la même clé est partagée et utilisée pour chiffrer et déchiffrer, mais on pourra utiliser des algorithmes asymétriques à clés publiques et privées au moins pour les chiffrements des clés BMK et CW.
De préférence, un ou plusieurs mécanismes de ratifi¬ cation sont ajoutés pour limiter le nombre d'utilisations possibles de la clé temporaire BMK et/ou de la clé de base BRK dans une période de temps donnée. Ces ratifications sont effectuées au moyen de compteurs RC (Ratification Counter) qui permettent de décompter le nombre de fois que sont utilisées les clés BRK et BMK pendant une période donnée. En stockant les compteurs RC(BMK) et RC(BRK) dans des éléments de mémorisation à contrôle temporel du circuit 100, le contrôle de la période est effectué de façon automatique par le circuit de rétention de charges 100 dans la mesure où les états des compteurs disparaissent à l'issue de la période pour laquelle le circuit 100 est conçu.
La figure 8 est un schéma-blocs fonctionnel simplifié illustrant un mode de mise en oeuvre du mécanisme de ratifi- cation par compteur, par exemple, de la clé BRK.
A chaque appel de la clé BRK (bloc 81, CALL BRK), on commence par vérifier (bloc 82, RC(BRK) < TH ?) l'état d'un compteur RC(BRK) par rapport à un seuil TH. Ce seuil est choisi en fonction d'un nombre raisonnable d'utilisations en conditions normales.
Si le seuil TH n'est pas atteint par le compteur (sortie Y du bloc 82) , le compteur est incrémenté (bloc 83, RC(BRK) =RC(BRK) + 1), puis l'utilisation de la clé est autorisée (bloc 85, ACCESS BRK) . Si le nombre d'utilisations excède le seuil (sortie N du bloc 82), l'accès à la clé est refusé. Par exemple, le mécanisme passe directement au traitement postérieur (le mot CW n'est alors pas déchiffré et est inutilisable) ou met en oeuvre un traitement d'erreur (bloc 84 en pointillés, ERR/STOP), voire un blocage temporaire ou définitif du circuit.
Grâce à l'utilisation d'un circuit de rétention de charges dont l'état activé disparaît au bout d'un temps donné, le compteur RC (BRK) se réinitialise automatiquement et indé¬ pendamment de l'alimentation du circuit électronique 10'. Par conséquent, il est désormais possible de limiter le nombre d'utilisations sur une période donnée. Cette utilisation du compteur RC(BRK) permet de rendre plus compliquées des attaques, par exemple par analyse de la consommation du circuit (DPA - Differential Power Analysis) sur la clé BRK. Bien entendu, au lieu d' incrémenter le compteur
RC(BRK), il est possible d' initialiser le compteur au nombre limite TH, de le décrémenter et de détecter lorsqu'il s'annule.
Le compteur RC (BMK) est par exemple incrémenté à chaque utilisation de la clé BMK pour décoder un mot de contrôle CW. Le compteur RC(BMK) permet de limiter le nombre d'usages de la clé BMK dans la durée fixée. Cette durée est courte par rapport à celle de rétention du compteur RC(BRK). Par exemple, en limitant le nombre d'utilisations du mot de contrôle, à deux toutes les dix secondes, on empêche les attaques par partage de carte pour des mots CW changeant toutes les dix secondes, tout en permettant un deuxième décodage en cas de besoin (par exemple pour une redondance en cas d'erreur) .
La figure 9 représente, de façon très schématique et sous forme de blocs, un exemple de circuit 90 de comptage contenant n circuits électroniques de rétention de charges 10OQ, 100]_, ..., 10On stockant chacun un bit BQ, B]_, ..., Bn du compteur RC(BMK) ou RC(BRK). Le circuit 50 est de préférence commandé par un circuit interne 91 (CTRL) provoquant, comme il sera mieux compris par la suite en relation avec les figures 12 et suivantes, l'incrémentation du compteur suite à une détection de dysfonctionnement (entrée INC du bloc 90) , ainsi que la lecture de l'état d'un ou plusieurs bits du compteur.
Dans l'exemple illustré par la figure 9, on suppose que le bit Bn de rang le plus élevé définit le seuil TH. En effet, un changement d'état de ce bit représente un débordement par rapport au compte 2 - 1. La lecture de ce seul bit suffit alors pour fournir un signal OK/NOK indicateur du résultat du test 82 (figure 8) .
Un avantage d'une telle comparaison par débordement est qu'il rend une même réalisation matérielle du circuit 90 versatile. En effet, le seuil TH peut alors être aisément adapté quel que soit le nombre de bits structurels du compteur 90 en sélectionnant celui des bits du compteur à prendre en compte pour fournir le résultat OK/NOK du test 82.
Pour le compteur RC(BMK), le mécanisme ci-dessus fonctionne de préférence en mode décomptage à partir d'une valeur initialisée à la valeur 2 à chaque nouvelle réception d'un mot CW (par exemple, toutes les dix secondes) et décré¬ mentée à chaque utilisation du mot CW. Une nouvelle utilisation est alors interdite si le compteur est à zéro. L'intérêt d'un compteur stocké dans la mémoire 100 plutôt qu'en mémoire vive est que sa valeur disparaît de toute façon au bout de la durée fixée par le circuit 100 (par exemple, la même que la fréquence de changement du mot CW) , interdisant une poursuite d'utili¬ sation frauduleuse.
On notera que l'émetteur du système de diffusion n'a pas besoin d'être modifié. Si les circuits de déchiffrements sont embarqués dans le récepteur, seul ce dernier a besoin d'être adapté. Si le récepteur utilise une carte à puce comme circuit de déchiffrement, il n'a pas non plus besoin d'être modifié. La figure 10 illustre un autre exemple d'utilisation du circuit 5 dans une application à un système de carte de paiement. Cette figure représente un exemple de contenu des trois mémoires 52, 52' et 100 du circuit 5 d'une carte à puce 1 selon cet exemple d'application. Dans un système bancaire de type EMV, il n'est pas possible de transférer des clés hebdomadaires ou mensuelles dans la carte, ne serait-ce qu'en raison des difficultés de contrôle de l'intervalle de temps entre deux transactions pouvant être effectuées en ligne (on une), c'est-à-dire avec une liaison entre la carte et l'établissement bancaire de contrôle, un grand nombre de transactions s 'effectuant hors ligne (off une), c'est-à-dire sans communication avec l'établissement de contrôle. On peut néanmoins dériver des clés temporaires à partir de clés contenues dans la mémoire 52 et remplacer ainsi les mécanismes usuels de dérivation de clés dans une carte à puce.
Dans l'exemple illustré, une clé native RK (Root Key) est stockée dans la carte à puce lors de la personnalisation de sa mémoire EEPROM. Cette clé RK est associée à un compteur du nombre de ses dérivations RKDC (Root Key Dérivation Counter) ainsi qu'à un compteur de transactions ATC (Authorization
Transaction Counter) également stocké en mémoire non volatile reprogrammable 52.
Avec une périodicité définie à l'avance (par exemple, toutes les semaines) , la clé RK est dérivée par le circuit 5 pour obtenir une clé de base BK (Base Key) qui est stockée dans la mémoire à rétention de charges contrôlée 100. Cette clé de base BK est ensuite dérivée à chaque transaction en utilisant le compteur de transaction ATC pour obtenir une clé de session SK stockée en mémoire vive et qui est utilisée pour les échanges d'autorisation de la transaction entre le lecteur et la carte. Le compteur de transactions constitue l ' identifiant de l ' indice de la clé de session dans l'arbre de dérivation de clé, permettant au système central avec lequel la carte communique de retrouver la même clé de session.
La durée de vie d'une carte étant fixée (généralement de quelques années, par exemple 4) le compteur RKDC de déri¬ vation de la clé RK fixé dans la mémoire EEPROM peut être codé sur un seul octet pour une dérivation par semaine. Sa valeur est par exemple envoyée au fournisseur de la carte en plus du numéro de la transaction à chaque message d'autorisation pour valider une dérivation d'une clé de session.
De préférence, le nombre d'utilisations possibles d'une clé de base par intervalle de temps (par exemple par heure) est limité au moyen d'un compteur de ratification RC(BK) stocké dans la mémoire 100. Par exemple, on peut limiter à 20 le nombre d'utilisations possibles, par conséquent, le nombre possible de transactions par heure. Comme dans l'exemple d'application précédent, la réinitialisation du compteur est automatique.
Selon une autre variante, un compteur similaire RC(RK) est utilisé pour les dérivations de la clé RK. Cela apporte une sécurité supplémentaire par rapport au compteur RKDC en limitant le nombre de dérivations dans un temps donné.
Dans les systèmes de transaction ci-dessus, seuls la carte à puce et le module de cryptographie du système d'auto- risation ont besoin d'être adaptés, les lecteurs et autres serveurs du système peuvent demeurer inchangés.
La figure 11 illustre un exemple d'application associé au système d'imprimante de la figure 4. Dans cet exemple, une clé de base contenue dans 1 ' imprimante 42 est dérivée un nombre de fois donné pour communiquer avec une cartouche insérée dans l'imprimante et qui possède une clé depuis sa fabrication. Deux facteurs peuvent conduire à un besoin de changer de clé. Un premier facteur est un trop grand nombre d'utilisations de la clé par un nombre d'utilisations trop grandes de la cartouche
(nombre de recharges trop importantes) . Un deuxième cas est lié à la date de péremption de l'encre, la cartouche étant périmée.
Côté imprimante, le circuit intégré 5 comporte une zone de mémoire à rétention de charges temporelle 100 permettant de limiter le nombre d'utilisations de la clé, c'est-à-dire le nombre d'introductions de la cartouche dans l'imprimante. On crée ainsi une clé de session temporaire au moyen d'un algorithme de dérivation de clés usuelles (par exemple, de type AES) à partir d'une clé de base BK contenue dans la carte de l'imprimante. L'indice ID de la clé dérivée dans un arbre de dérivation de clé dépend d'un identifiant de la cartouche (bloc 61, ID) communiqué par celle-ci lors de son introduction dans l'imprimante et permettant, en cas de conformité entre la cartouche et l'imprimante, de retrouver la bonne clé de session. La clé dérivée côté imprimante (bloc 45, DERIVE BK(ID)) est stockée dans une zone de mémoire 100 du circuit 5. Le démarrage de l'imprimante est conditionné par l'utilisation et l'obtention des clés de session correcte, ce qui permet d'authentifier la cartouche (AUTHENTICATE) et de réserver l'utilisation de l'imprimante à l'emploi de cartouches d'origine ou, au moins autorisées par le fabricant. Le test d' authentification est effectué, par exemple, à chaque utili¬ sation de l'imprimante.
Le fait de stocker la clé temporaire BK(ID) dans la mémoire 100 permet de rendre sa durée de validité indépendante de l'alimentation de l'imprimante. Cela est particulièrement intéressant dans la mesure où une imprimante n'est que rarement allumée en permanence.
Dans l'exemple ci-dessus, les cartouches n'ont pas besoin d'être modifiées, seuls les circuits électroniques des imprimantes sont adaptés pour contenir les éléments de mémorisation 100. De préférence, une durée d'utilisation de la cartouche 44 est fixée également au moyen d'une mémoire à rétention de charges temporelle 100 contenue dans le circuit 6 de la cartouche. Un ou plusieurs bits sont activés dans la puce de la cartouche lors de sa fabrication et/ou lors de son rechargement par un intervenant autorisé et cet état actif disparaît auto¬ matiquement lorsque la durée est expirée. Un avantage induit est qu'une réinitialisation de la durée d'utilisation de la cartouche ne peut être effectuée qu'avec un outil capable de reprogrammer la zone dédiée de la mémoire 100, par conséquent, a priori un élément autorisé. Une fois la durée prévue expirée, l'identifiant contenue dans la cartouche disparaît et celle-ci ne sera pas reconnue par l ' imprimante .
La figure 12 représente un exemple préféré d'un circuit de rétention de charges 100. Un tel circuit constitue un élément de stockage d'un bit d'une clé ou d'un compteur décrit précédemment .
Le circuit 100 comporte un premier élément capacitif Cl dont une première électrode 121 est connectée à un noeud flottant F et dont l'espace diélectrique 123 est conçu (par sa permittivité et/ou par son épaisseur) pour présenter des fuites non négligeables dans le temps. Par noeud flottant F, on entend un noeud non directement connecté à une quelconque région diffusée du substrat semiconducteur dans lequel est réalisé préférentiellement le circuit 100 (et le circuit 10') et, plus particulièrement, séparé par un espace diélectrique de toute borne d'application de potentiel. La deuxième électrode 122 de l'élément capacitif Cl est, soit reliée (pointillés en figure 12) à une borne 112 destinée à être reliée à un potentiel de référence (par exemple la masse), soit laissée en l'air.
Un deuxième élément capacitif C2 a une première élec¬ trode 131 connectée au noeud F et une deuxième électrode 132 connectée à la borne 112. L'élément capacitif C2 présente une capacité de rétention de charges supérieure à celle de l'élément capacitif Cl. De préférence, un troisième élément capacitif C3 a une première électrode 141 connectée au noeud F et une deuxième électrode 142 reliée à une borne 113 du circuit 100, destinée à être connectée à une source d'alimentation lors d'une initia- lisation d'une phase de rétention de charges (activation du bit stocké à l'état 1).
Un rôle de l'élément capacitif C2 est de stocker une charge électrique. Un rôle de l'élément capacitif Cl est de décharger relativement lentement l'élément de stockage C2 (par rapport à une connexion directe de son électrode 131 à la masse) grâce à une fuite à travers son espace diélectrique. La présence de l'élément capacitif C2 permet de dissocier le niveau de charge présent dans le circuit 100 par rapport à l'élément de décharge (capacité Cl). L'épaisseur du diélectrique de l'élément C2 est supérieure à celle de l'élément Cl. La capacité de l'élément C2 est supérieure, de préférence dans un rapport d'au moins 10, à celle de l'élément C2.
Un rôle de l'élément capacitif C3 est de permettre une injection de charges dans l'élément capacitif C2 par effet Fowler-Nordheim ou par un phénomène d'injection d'électrons chauds. L'élément C3 permet d'éviter les contraintes (stress) sur l'élément Cl lors de la charge des éléments C2 et Cl en parallèle. L'épaisseur de l'espace diélectrique de l'élément C3 est supérieure à celle de l'élément Cl, de façon à éviter d'introduire un chemin de fuite parasite.
Le noeud F est relié à une grille G d'un transistor à borne de commande isolée (par exemple, un transistor MOS 150) dont les bornes de conduction (drain D et source S) sont connectées à des bornes de sortie 114 et 115 pour mesurer la charge résiduelle contenue dans l'élément C2 (en négligeant la capacité de l'élément Cl en parallèle). Par exemple, la borne 115 est reliée à la masse et la borne 114 est reliée à une source de courant (non représentée) permettant une conversion courant-tension du courant de drain I]_]_4 dans le transistor 150. L'épaisseur du diélectrique de grille du transistor
150 est supérieure à celle du diélectrique de l'élément Cl de façon à éviter d'introduire une fuite supplémentaire sur le noeud F. De préférence, l'épaisseur de grille du transistor 150 est même supérieure à l'épaisseur du diélectrique de l'élément C3, de façon à éviter d'introduire un chemin parasite de pro- grammation (d'injection ou d'extraction de charges du noeud F).
L'interprétation du niveau stocké peut être effectuée de façon simple au moyen d'un comparateur dont le basculement s'opère tant que la charge du noeud F reste suffisante. Le niveau pour lequel le comparateur bascule définit alors le niveau de changement d'état du bit stocké par l'élément 100. D'autres solutions de lecture peuvent être envisagées, par exemple, une interprétation multiniveaux dans une réalisation où le circuit 100 stocke directement plusieurs bits.
La figure 13 représente un exemple d'allure du courant Iii4 de drain du transistor 150 en fonction de la tension Vp au noeud F, référencée par rapport à la borne 115. La tension Vp exprime alors la tension grille/source du transistor 150. Elle dépend de la charge résiduelle aux bornes des capacités Cl et C2 en parallèle, donc essentiellement de la charge résiduelle dans la capacité C2. L'évaluation du courant de drain I]_]_4 peut être effectuée en maintenant les bornes 112 et 115 au même potentiel (par exemple la masse) et en appliquant une tension connue sur la borne 114.
La figure 14 illustre l'évolution de la charge Qp au point F en fonction du temps. A un instant tO où une tension d'alimentation (de programmation) cesse d'être appliquée sur la borne 113, la charge Qp part d'une valeur initiale QINIT Pour s'annuler à un instant tl avec une allure de décharge capa¬ citive. L'intervalle de temps entre les instants tO et tl dépend non seulement de la capacité de fuite du diélectrique de l'élément Cl mais également de la valeur (donc de la capacité de stockage) de l'élément C2 qui conditionne la valeur QINIT-
En supposant que les bornes 112 et 115 et la deuxième électrode 122 de l'élément capacitif Cl sont à des potentiels de référence et que la borne 114 est polarisée à un niveau déterminé pour qu'une variation du courant I114 ne provienne que d'une variation du potentiel du noeud F, cette variation ne dépend alors que du temps écoulé depuis l'instant tO. Ce résultat est, dans le mode de réalisation représenté, obtenu grâce à la dissociation opérée entre l'élément de fuite temporel (Cl) et l'élément représentatif de la charge résiduelle (C2) .
La programmation ou activation du circuit 100 (passage à l'état 1 du bit stocké) à travers l'élément capacitif C3 protège l'élément capacitif Cl dont l'épaisseur d'oxyde (diélectrique) est relativement mince et qui risquerait autrement d'être détériorée lors de la programmation. Cela permet notamment de rendre les mesures fiables et reproductibles dans le temps .
Le cas échéant, plusieurs éléments capacitifs C3 sont connectés en parallèle entre la borne 113 et le noeud F de façon à accélérer le temps de programmation.
De même, la durée de rétention peut être adaptée non seulement en réglant les épaisseurs et/ou les permittivités des diélectriques des éléments Cl et C2 mais également en prévoyant plusieurs éléments Cl et/ou C2 en parallèle. La figure 15 représente le schéma électrique d'un autre mode de réalisation d'un circuit de rétention de charges 100' .
Par rapport au mode de réalisation de la figure 12, le transistor 150 est remplacé par un transistor 160 à grille flottante FG reliée au noeud F. La grille de commande CG du transistor 160 est reliée à une borne 116 de commande en lecture de la charge résiduelle dans le circuit 100' (donc de l'état du bit stocké). L'épaisseur du diélectrique, entre la grille flottante FG et le canal (zone active) du transistor 160, est supérieure à celle de l'élément Cl et préférentiellement supérieure à celle de l'élément C3.
Une autre différence est que l'élément C3 d'injection ou d'extraction de charges est un transistor MOS 170 à grille flottante. La grille flottante 141 du transistor 170 est reliée au noeud F. Dans l'exemple de la figure 15, le circuit a été représenté dans une partie de son environnement. Le drain 142 du transistor 170 est relié à une source de courant 118 recevant une tension d'alimentation Valim et sa source 173 est connectée à la masse. Sa grille de commande 174 reçoit un signal de commande CTRL destinée à rendre le transistor 170 passant lors d'un besoin d'injection de charges. Le drain (borne 114) du transistor 160 reçoit la tension d'alimentation Valim et sa source est reliée à la masse par une source de courant 119 (variante inversée par rapport au mode de réalisation décrit en relation avec la figure 12) . La tension V]_]_g aux bornes de la source de courant 119 est représentative de la tension au point F et est utilisée pour faire basculer la sortie d'un comparateur (non représenté) . La figure 16 illustre, par un graphe du courant I]_i4 en fonction de la tension V]_]_g appliquée sur la grille de commande, le fonctionnement du circuit de la figure 15. Pour les besoins de l'explication, on suppose que la tension aux bornes 114 de drain et 115 de source du transistor 160 est maintenue constante par le circuit de lecture extérieur. La chute de tension entre la grille flottante et la borne 115 dépend alors de la charge électrique présente au noeud F, de la capacité totale entre les noeuds F et 112 (essentiellement les capacités Cl et C2), et de la tension appliquée sur la grille de commande 116 du transistor 160. En figure 16, trois courbes a, b et c ont été illustrées. La courbe a représente le cas où le noeud F est entièrement déchargé. La courbe b représente le cas d'une charge positive présente sur le noeud F (extraction d'électrons). Le seuil du transistor 160 est alors abaissé. La courbe c repré- sente le cas d'une charge négative au noeud F (injection d'électrons) qui engendre un seuil supérieur pour le transistor MOS 160.
Selon les applications, on pourra injecter ou extraire des charges du noeud F de façon à modifier la caractéristique du transistor 160 depuis la courbe a vers l'une des courbes b et c.
Une fois isolée de la tension de programmation, la fuite de la capacité Cl permet de retrouver avec le temps la courbe a. Une mesure du courant I114 (donc de la tension V]_]_g) à tension V]_]_g nulle permet de détecter une expiration du temps (réinitialisation du bit à zéro) quand le courant I114 s'annule. Par la suite, on suppose une extraction d'électrons
(application sur la borne 113 d'une tension d'activation ou de programmation positive par rapport à la borne 112) par effet Fowler-Nordheim. Le fonctionnement qui va être décrit se transpose toutefois sans difficulté à une injection d'électrons au noeud F, par exemple, par un phénomène dit de porteurs chauds en appliquant des tensions adaptées entre les bornes 142, 173 et 174.
Des tensions différentes peuvent être utilisées en programmation et en lecture à condition de disposer d'une réfé- rence exploitable entre la charge résiduelle et l'interprétation de l'état du bit stocké.
Selon un exemple particulier de réalisation, un circuit de rétention de charges est réalisé avec les valeurs suivantes : Capacité Cl : environ 2 fF, épaisseur de diélectrique : environ 40 Â ;
Capacité C2 : environ 20 fF, épaisseur de diélectrique : environ 160 Â ;
Capacité C3 : environ 1 fF, épaisseur de diélec- trique : environ 80 Â.
Un tel circuit peut être initialisé par application d'une tension de l'ordre de 12 volts et se trouve déchargé au bout d'environ une semaine. Il ne s'agit bien entendu que d'un exemple, les épaisseurs de diélectrique et l'éventuelle associa- tion en parallèle de plusieurs éléments Cl ou C2 conditionnant la durée de rétention des charges.
Les figures 17A, 17B, 17C, 18A, 18B, 18C, 19A, 19B,
19C, 20A, 20B, 20C, 2IA, 21B et 21C représentent un exemple de réalisation d'un circuit 100' selon le mode de réalisation de la figure 15 dans une structure intégrée, dérivée d'une architecture de mémoire EEPROM. Les figures 17A, 18A, 19A, 2OA et 2IA sont des vues de dessus schématiques, respectivement du circuit électronique de rétention de charges et de ses éléments C2, 170, Cl et 160. La figure 17B est une coupe selon la ligne AA' de la figure 17A. Les figures 18B, 19B, 2OB et 21B sont respectivement des vues en coupe selon les lignes BB' des figures 18A, 19A, 2OA et 21A. Les figures 17C, 18C, 19C, 2OC et 21C représentent les schémas électriques équivalents respectifs du circuit électronique de rétention de charges et de ses éléments C2, 170, Cl et 160. Dans l'exemple décrit, on suppose une réalisation de transistors à canal N dans un substrat 180 (figure 17B) de silicium de type P. L'inverse est bien entendu possible.
Chaque élément ou cellule C2, 170, Cl ou 160 est obtenu à partir d'un transistor à grille flottante connecté en série avec un transistor de sélection T2, T3, Tl ou T4 à simple grille pour sélectionner, par exemple dans un réseau matriciel de cellules mémoire EEPROM, le circuit électronique de rétention de charges .
Les grilles flottantes des différents transistors constitutifs des éléments C2, 170, Cl et 160 sont inter¬ connectées (ligne conductrice 184) pour former le noeud flottant F. Leurs grilles de commande sont reliées ensemble à une ligne conductrice 185 d'application du signal CG de commande en lecture. Leurs sources respectives SC2, S7, SCl et S6 sont interconnectées à la borne 112 (la masse) et leurs drains res¬ pectifs DC2, D7, DCl et D6 sont reliés aux sources respectives des transistors de sélection T2, T3, Tl et T4.
Les grilles des transistors Tl à T4 sont reliées ensemble à une ligne conductrice 186 d'application d'un signal SEL de sélection du circuit. Leurs drains respectifs Dl à D4 sont connectés à des lignes de bit BLl à BL4 commandables indi¬ viduellement. L'ordre des lignes de bit dans la figure 17C a été illustré de façon arbitraire BL2, BL3, BLl et BL4 mais l'ordre des différents éléments C2, 170, Cl et 160 dans la direction horizontale des rangées (dans l'orientation des figures) est indifférent. Dans cet exemple de réalisation, on suppose des régions de source et drain de type N (figure 17B) séparées les unes des autres dans la direction des lignes par des zones isolantes 181. Les grilles flottantes sont réalisées dans un premier niveau conducteur Ml séparé des régions actives par un niveau isolant 182 et les grilles de commande sont réalisées dans un deuxième niveau conducteur M2 séparé du premier par un troisième niveau isolant 183. Les grilles des transistors de sélection sont réalisées, par exemple, dans le niveau M2. Une différence par rapport à un réseau de cellules mémoire EEPROM usuel est que les grilles flottantes sont inter¬ connectées par groupe de quatre transistors pour réaliser le noeud flottant F. Une autre différence est que les transistors à grille flottante réalisant les différents éléments du circuit sont différents les uns des autres dans l'épaisseur de leur fenêtre tunnel et/ou dans leur connexion de drain et source.
Les figures 18A à 18C illustrent la réalisation du condensateur C2 de stockage. Les drain DC2 et source SC2 du transistor à grille flottante correspondant sont court-circuités (par extension de l'implantation de type N+ dans toute la zone active, figure 18B) pour former l'électrode 132 du condensateur. Par ailleurs, la fenêtre tunnel est éliminée par rapport à une cellule EEPROM standard.
Les figures 19A à 19C illustrent la réalisation du transistor 170 formant l'élément capacitif C3 de programmation.
Il s'agit d'une cellule EEPROM standard dont l'extension 201 de la zone dopée N sous la fenêtre tunnel 202 (figure 19B) permet d'obtenir un plateau dans la zone d'injection de charges. A la manière d'une cellule EEPROM standard, la zone de drain D7 est reliée à la source du transistor de sélection T3. La zone de source S7 est reliée à la borne 112.
Les figures 2OA à 2OC illustrent la réalisation de l'élément capacitif Cl constituant l'élément de fuite du circuit de rétention de charges. Par rapport à une cellule EEPROM stan- dard, une différence consiste à amincir (zone 212, figure 20B) la fenêtre diélectrique servant à l'effet tunnel pour augmenter les fuites. Par exemple, l'épaisseur du diélectrique 212 est choisie pour être d'environ la moitié (par exemple entre 30 et 40 angstrδms) de celle (par exemple entre 70 et 80 angstrδms) d'une fenêtre tunnel (202, figure 19B) d'une cellule non modifiée.
Les figures 21A à 21C illustrent la réalisation du transistor de lecture 160 dans lequel la fenêtre tunnel a été supprimée de même que, de préférence, la zone implantée habi¬ tuelle (201, figure 19B) d'une cellule EEPROM. La zone active limitée par les source S6 et drain D6 est donc similaire à celle d'un transistor MOS normal.
Les représentations des figures 17A à 2IC sont schématiques et pourront être adaptées à la technologie utilisée. En particulier, les grilles ont été représentées alignées avec les limites des zones de drain et source mais un léger recou¬ vrement est souvent présent.
Un avantage de la réalisation au moyen d'une techno¬ logie de cellules EEPROM est que le circuit de rétention de charges peut être programmé et réinitialisé en appliquant les mêmes niveaux de tension et les mêmes fenêtres temporelles que ceux utilisés pour effacer ou écrire dans des cellules mémoire EEPROM.
Un autre avantage est que cela préserve une stabilité dans le temps en évitant les dégradations de l'oxyde mince de l'élément de fuite (Cl) lors des opérations d'écritures successives.
Les connexions respectives des lignes de bit BLl à BL4 dépendent des phases de fonctionnement du circuit et notamment de la phase de programmation (activation) ou de lecture. Le tableau I ci-dessous illustre un mode de mise en oeuvre d'une activation (SET) et d'une lecture (READ) d'un circuit électronique de rétention de charges tel qu'illustré par les figures 17A à 21C. Tableau I
Dans une phase d' activâtion SET (passage du bit stocké à l'état 1), le signal de sélection SEL est porté à un premier potentiel haut VPP1 par rapport à la masse pour rendre passants les différents transistors Tl à T4 tandis que le signal CG appliqué sur les grilles de commande des transistors à grille flottante reste au niveau bas 0 de façon à ne pas rendre passant le transistor 160. Les lignes de bit BLl, BL2 et BL4 restent en l'air (état de haute impédance HZ) tandis que la ligne BL3 se voit appliquée un potentiel positif Vpp2 permettant la charge du noeud flottant F. La ligne 112, commune aux sources des transistors à grille flottante, est préférentiellement laissée en l'air (état HZ) .
Pour la lecture READ, les différents transistors de sélection sont activés par le signal SEL à un niveau Vgg^ et une tension VpEAO ^e lecture est appliquée sur les grilles de commande des différents transistors à grille flottante. Les lignes
BLl, BL2 et BL3 sont dans un état de haute impédance HZ alors que la ligne BL4 reçoit un potentiel V114 permettant d'alimenter la source de courant de lecture. La ligne 112 est ici connectée à la masse.
Les relations entre les différents niveaux VPP1, VPP2, VSEL' VREAD et V114 son"t, de préférence, les suivantes : VPP1 supérieur à VPP2 ; VSEL supérieur à Vp^0 ;
VREAD ^u même ordre de grandeur que V114. Selon un exemple particulier de réalisation : VPP1 = environ 14 volts ; VPP2 = environ 12 volts ; VSEL = environ 4 volts ;
VREAD = environ 2 volts ; et V114 = environ 1 volt. Ce qui a été décrit ci-dessus en relation avec une cellule EEPROM par élément du circuit de rétention de charges peut bien entendu être remplacé par une structure dans laquelle des sous-ensembles de plusieurs cellules identiques en parallèle sont utilisés pour les différents éléments respectifs. En parti¬ culier : plusieurs éléments C2 peuvent être utilisés en paral¬ lèle pour accroître la capacité du noeud F de façon à augmenter le temps de décharge du circuit électronique ; plusieurs éléments 170 peuvent être utilisés en paral¬ lèle pour accroître la vitesse d'injection ou d'extraction d'électrons au noeud F lors d'une programmation ; plusieurs éléments de fuite Cl peuvent être utilisés en parallèle pour réduire le temps de décharge du système ; et/ou plusieurs éléments de lecture 160 peuvent être intro¬ duits en parallèle pour fournir un courant supérieur lors de l'évaluation du circuit.
Un circuit électronique de rétention de charges peut être introduit dans n'importe quelle position d'un réseau de cellules mémoire EEPROM standard, ce qui permet de rendre plus difficile sa localisation par un éventuel utilisateur mal intentionné.
Le cas échéant, les transistors de sélection des cellules formant le circuit de rétention de charges sont par¬ tagés avec des cellules EEPROM normales sur les mêmes lignes de bits, pourvu de prévoir des moyens d'adressage et de commutation adaptés.
Des modes de réalisation et de mises en oeuvre particuliers ont été décrits. Diverses variantes et modifi¬ cations apparaîtront à l'homme de l'art. En particulier, le choix des durées de rétention de charges dépend de l'application et de la durée souhaitée pour les clés temporaires .
De plus, le circuit de rétention de charges pourra être constitué par n'importe quel circuit susceptible de pré¬ senter, de façon reproductible, une perte de charge au cours du temps indépendamment de l'alimentation du circuit. Par exemple, on pourra avoir recours à un circuit tel que décrit dans la demande internationale WO-A-03/083769.
En outre, la mise en oeuvre pratique du circuit à partir des indications fonctionnelles données ci-dessus et des besoins de l'application est à la portée de l'homme du métier. Les compteurs pourront être de toute nature et la fonction de comptage peut être de n ' importe quel incrément ou décrément . Par exemple (notamment dans des modes de réalisation, par exemple figure 12 et suivantes, où les cellules de comptage ne peuvent pas être réinitialisées autrement que de façon temporelle) , on pourra utiliser deux compteurs incrémentiels de taille finie dont la différence fournit la valeur à considérer. Par ailleurs, bien que l'on ait fait plus particulièrement référence à des mémoires EEPROM et RAM, ces mémoires sont plus généralement n'importe quelle mémoire ou élément de mémorisation non volatile reprogrammable (par exemple, des mémoires flash) et n'importe quelle mémoire ou élément de mémorisation volatile (par exemple des registres) . Enfin, notamment comme elle ne requiert pas d'alimentation permanente, l'invention peut être mise en oeuvre dans des dispositifs sans contact (de type transpondeur électromagnétique) qui tirent leur alimentation d'un champ électromagnétique dans lequel ils se trouvent (généré par un terminal) .

Claims

REVENDICATIONS
1. Procédé d'obtention, dans un circuit électronique (5), d'au moins une première clé (BMK, BK, BK(ID)) destinée à être utilisée dans un mécanisme cryptographique, à partir d'au moins une deuxième clé (BRK, RK, ID) contenue dans le même circuit, caractérisé en ce que ladite première clé est stockée dans au moins un premier élément de mémorisation (100) du circuit, ledit premier élément de mémorisation étant réinitia¬ lisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non.
2. Procédé selon la revendication 1, dans lequel le nombre d'utilisations de la première clé (BMK, BK) en une période donnée est limité par un compteur (RC (BMK) , RC (BK) ) stocké dans un deuxième élément de mémorisation (100) réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non.
3. Procédé selon la revendication 1 ou 2, dans lequel la deuxième clé (BRK, RK) est contenue dans un élément de mémorisation non volatile (52) du circuit.
4. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel la première clé (BK, BK(ID)) est obtenue par dérivation de la deuxième clé (RK, ID) .
5. Procédé selon l'une quelconque des revendications 1 à 3, dans lequel la deuxième clé (BRK) sert à obtenir la première clé (BMK) par déchiffrement.
6. Procédé selon l'une quelconque des revendications 1 à 5, dans lequel la première clé (BMK, BK) sert de base à la dérivation d'une troisième clé (CW, SK) utilisée pour chiffrer ou authentifier des informations provenant de l'extérieur du circuit (5) .
7. Procédé de transmission chiffrée de données numériques (MEDIA) , dans lequel une clé (CW) de déchiffrement de ces données correspond à la troisième clé du procédé selon la revendication 6.
8. Procédé de dérivation d'une clé de session (SK) d'une application EMV, dans lequel la clé de session correspond à la troisième clé du procédé selon la revendication 6.
9. Procédé de contrôle d'utilisation de cartouches d'encre (44) au moyen d'un circuit (5) associé à une imprimante
(41) et d'une clé (BK(ID)) dérivée d'un identifiant (ID) fournit par une cartouche, dans lequel ladite clé dérivée correspond à la première clé du procédé selon la revendication 4.
10. Circuit électronique (5) comportant des moyens de traitement cryptographique et au moins une mémoire non volatile
(52), caractérisé en ce qu'il comporte au moins un élément de mémorisation (100) pourvu d'au moins un premier élément capacitif (Cl) présentant une fuite au travers de son espace diélectrique, ce premier élément de mémorisation formant ledit premier élément de mémorisation du procédé selon l'une quelconque des revendications 1 à 9.
11. Circuit selon la revendication 10, comportant des moyens adaptés pour mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 9.
12. Carte à puce (1), caractérisée en ce qu'elle comporte un circuit (5) conforme à la revendication 10 ou 11.
13. Clé électronique, caractérisée en ce qu'elle comporte un circuit (5) conforme à la revendication 10 ou 11.
14. Système de télédiffusion d'un contenu numérique (MEDIA) comportant : un émetteur (21) apte à chiffrer le contenu à partir d'un mot de contrôle (CW) changeant périodiquement et transmis, avec le contenu chiffré, de façon chiffrée à partir d'au moins une première clé temporaire (BMK) de période supérieure à celle du mot de contrôle ; et un récepteur (23) associé à un circuit électronique (5) apte à déchiffrer le mot de contrôle à partir de ladite première clé, puis à déchiffrer le contenu à partir de ce mot de contrôle, ledit circuit étant conforme à la revendication 10 ou 11.
15. Récepteur d'un système selon la revendication 14, comportant ledit circuit électronique (5) .
16. Récepteur d'un système selon la revendication 14, comportant un lecteur de carte à puce, ladite carte (1) étant conforme à la revendication 12.
17. Système de contrôle d'utilisation de cartouches d'encre par une imprimante, comportant : au moins une imprimante (41) associée à au moins un circuit électronique (5) selon la revendication 10 ou 11 ; et au moins une cartouche d'encre (44) adaptée à transmettre un identifiant (ID) permettant au circuit de l'imprimante de générer ladite première clé.
18. Imprimante (41) d'un système selon la revendication 17.
19. Cartouche (44) destinée à une imprimante selon la revendication 18, comportant un circuit électronique (6) pourvu d'un élément de mémorisation (100) réinitialisé automatiquement au bout d'une durée indépendante du fait que le circuit soit alimenté ou non, cet élément contenant ledit identifiant (ID) .
20. Système de transactions bancaires utilisant des cartes à puce (1) conformes à la revendication 12, ladite première clé (BK) servant à dériver des clés de session (SK) des transactions .
EP08871074A 2008-01-11 2008-12-31 Hierarchisation de cles cryptographiques dans un circuit electronique Withdrawn EP2229647A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0850169A FR2926382B1 (fr) 2008-01-11 2008-01-11 Hierarchisation de cles cryptographiques dans un circuit electronique
PCT/EP2008/068386 WO2009089997A1 (fr) 2008-01-11 2008-12-31 Hierarchisation de cles cryptographiques dans un circuit electronique

Publications (1)

Publication Number Publication Date
EP2229647A1 true EP2229647A1 (fr) 2010-09-22

Family

ID=39683454

Family Applications (1)

Application Number Title Priority Date Filing Date
EP08871074A Withdrawn EP2229647A1 (fr) 2008-01-11 2008-12-31 Hierarchisation de cles cryptographiques dans un circuit electronique

Country Status (5)

Country Link
US (2) US8855314B2 (fr)
EP (1) EP2229647A1 (fr)
CN (2) CN105550603A (fr)
FR (1) FR2926382B1 (fr)
WO (1) WO2009089997A1 (fr)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5482048B2 (ja) * 2009-09-18 2014-04-23 ソニー株式会社 集積回路および電子機器
CN102056161B (zh) * 2009-10-28 2015-04-22 上海摩波彼克半导体有限公司 无线移动通信网络中实现分层密钥管理的方法
US8386800B2 (en) 2009-12-04 2013-02-26 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
US9191621B2 (en) * 2010-12-02 2015-11-17 Nagravision S.A. System and method to record encrypted content with access conditions
GB201105765D0 (en) * 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
GB201105774D0 (en) * 2011-04-05 2011-05-18 Visa Europe Ltd Payment system
CN102143392B (zh) * 2011-05-10 2012-11-14 北京广电天地科技有限公司 一种控制字的加密、解密方法及其加密、解密系统
WO2013015806A1 (fr) * 2011-07-27 2013-01-31 Certicom Corp. Procédé permettant de fournir des clés cryptographiques lors de la fabrication
FR2980607B1 (fr) * 2011-09-27 2014-04-25 Proton World Int Nv Procede de derivation de cles dans un circuit integre
US9922322B2 (en) 2013-12-19 2018-03-20 Visa International Service Association Cloud-based transactions with magnetic secure transmission
KR102293822B1 (ko) 2013-12-19 2021-08-26 비자 인터네셔널 서비스 어소시에이션 클라우드-기반 트랜잭션 방법 및 시스템
US9768957B2 (en) * 2014-04-23 2017-09-19 Cryptography Research, Inc. Generation and management of multiple base keys based on a device generated key
AU2015264124B2 (en) 2014-05-21 2019-05-09 Visa International Service Association Offline authentication
US9775029B2 (en) 2014-08-22 2017-09-26 Visa International Service Association Embedding cloud-based functionalities in a communication device
CN104318461B (zh) * 2014-10-22 2017-06-27 浪潮软件集团有限公司 一种基于密码机和USBKey的防伪码生成与验证方法
US11301840B1 (en) * 2015-03-30 2022-04-12 Block, Inc. Systems and methods for provisioning point of sale terminals
FR3038411B1 (fr) * 2015-06-30 2018-08-17 Stmicroelectronics (Rousset) Sas Detection d'authenticite d'un circuit electronique ou d'un produit contenant un tel circuit
US20170134610A1 (en) * 2015-11-10 2017-05-11 Static Control Components, Inc. Systems and Methods for Universal Imaging Components
SG10202110839VA (en) 2016-07-11 2021-11-29 Visa Int Service Ass Encryption key exchange process using access device
EP3340147A1 (fr) * 2016-12-22 2018-06-27 Mastercard International Incorporated Procédé pour fournir un identifiant clé dans les données de transaction
US10554411B1 (en) 2018-10-02 2020-02-04 Capital One Services, Llc Systems and methods for cryptographic authentication of contactless cards
US11194933B2 (en) * 2019-06-04 2021-12-07 Intel Corporation Circuits supporting improved side channel and fault injection attack resistance
CN117707445B (zh) * 2024-02-06 2024-05-24 广东迅维信息产业股份有限公司 一种加密打印电路及系统

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5522640Y2 (fr) * 1973-06-30 1980-05-29
GB2195478B (en) * 1986-09-24 1990-06-13 Ncr Co Security device for sensitive data
DE19831884C2 (de) 1998-07-17 2001-09-20 Ibm System und Verfahren zum Schutz gegen analytisches Ausspähen von geheimen Informationen
WO2001054057A1 (fr) * 2000-01-19 2001-07-26 Infineon Technologies Ag Circuit de protection integre
FR2819070B1 (fr) * 2000-12-28 2003-03-21 St Microelectronics Sa Procede et dispositif de protection conte le piratage de circuits integres
US6618307B2 (en) * 2001-09-05 2003-09-09 Sun Microsystems, Inc. Dynamic DRAM sense amplifier
FR2837960B1 (fr) 2002-03-28 2004-07-09 Oberthur Card Syst Sa Entite electronique transactionnelle securisee par mesure du temps
US7400121B2 (en) * 2002-08-06 2008-07-15 Texas Instruments Incorporated Soft-start system for voltage regulator and method of implementing soft-start
US7031209B2 (en) * 2002-09-26 2006-04-18 Kilopass Technology, Inc. Methods and circuits for testing programmability of a semiconductor memory cell and memory array using a breakdown phenomenon in an ultra-thin dielectric
US7291878B2 (en) * 2003-06-03 2007-11-06 Hitachi Global Storage Technologies Netherlands B.V. Ultra low-cost solid-state memory
KR100757456B1 (ko) * 2004-01-20 2007-09-11 삼성전자주식회사 인쇄의 보안이 가능한 프린터 및 그 인쇄의 보안방법
US7164611B2 (en) * 2004-10-26 2007-01-16 Micron Technology, Inc. Data retention kill function
KR100680204B1 (ko) 2004-11-23 2007-02-08 엘지전자 주식회사 이동통신단말기의 한시적 이용을 위한 가입자 인증 처리시스템 및 그 동작방법
US7602918B2 (en) * 2005-06-30 2009-10-13 Alcatel-Lucent Usa Inc. Method for distributing security keys during hand-off in a wireless communication system
US8572389B2 (en) 2005-10-14 2013-10-29 Blackberry Limited System and method for protecting master encryption keys
EP2050000A2 (fr) * 2006-08-04 2009-04-22 Yeda Research And Development Co. Ltd. At The Weizmann Institute of Science Procédé et appareil pour protéger des marqueurs rfid contre une attaque d'analyse d'alimentation
US20080112207A1 (en) * 2006-11-10 2008-05-15 Cay-Uwe Pinnow Solid electrolyte memory device
US20080160713A1 (en) * 2006-12-29 2008-07-03 Kangguo Cheng Simultaneously forming high-speed and low-power memory devices on a single substrate
CN101022337A (zh) * 2007-03-28 2007-08-22 胡祥义 一种网络身份证的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO2009089997A1 *

Also Published As

Publication number Publication date
US20110038481A1 (en) 2011-02-17
FR2926382A1 (fr) 2009-07-17
WO2009089997A1 (fr) 2009-07-23
US20160344548A1 (en) 2016-11-24
CN105550603A (zh) 2016-05-04
FR2926382B1 (fr) 2010-02-26
CN101918953A (zh) 2010-12-15
US10158482B2 (en) 2018-12-18
US8855314B2 (en) 2014-10-07

Similar Documents

Publication Publication Date Title
WO2009089997A1 (fr) Hierarchisation de cles cryptographiques dans un circuit electronique
EP2108164B1 (fr) Limitation d&#39;acces a une ressource d&#39;un circuit electronique
EP1529369B1 (fr) Proc d d&#39; change s curis d&#39;informations entre deux dispositifs
EP1867096B1 (fr) Procede et systeme de reception d&#39;un signal multimedia, entite cryptographique pour ce procede de reception et systeme, procede et boite noire pour la fabrication de l&#39;entite cryptographique
EP1234284A1 (fr) Procede de securisation de la phase de pre-initialisation d&#39;un systeme embarque a puce electronique, notamment d&#39;une carte a puce, et systeme embarque mettant en oeuvre le procede
EP0434551B1 (fr) Procédé de génération d&#39;un nombre aléatoire dans un système de traitement de données, et système mettant en oeuvre un tel procédé
WO2008084016A1 (fr) Protection d&#39;informations contenues dans un circuit electronique
EP2816757B1 (fr) Procédé et dispositif cryptographique unique à fonction physiquement induplicable
EP1890493A1 (fr) Méthode de révocation de modules de sécurité utilisés pour sécuriser des messages diffusés
EP1388067B1 (fr) Composant electronique securise
EP1055203B1 (fr) Protocole de controle d&#39;acces entre une cle et une serrure electronique
WO2008025900A1 (fr) Processeur de securite et procede et support d&#39;enregistrement pour configurer le comportement de ce processeur
EP1391853A1 (fr) Diversification d&#39;un identifiant unique d&#39;un circuit intégré
EP2659360A2 (fr) Procede de chargement d&#39;un code d&#39;au moins un module logiciel
WO2008084018A1 (fr) Verrouillage temporaire d&#39;un circuit electronique
WO2009013420A1 (fr) Verification de code mac sans revelation
EP1359551A1 (fr) Génération de quantités secrètes d&#39;identification d&#39;un circuit intégré
EP1359550A1 (fr) Régéneration d&#39;une quantité secrète à partir d&#39;un identifiant d&#39;un circuit intégré
EP1723790B1 (fr) Méthode de sécurisation d&#39;un contenu chiffré transmis par un diffuseur
EP1502382B1 (fr) Procede de controle d acces a un reseau
FR2856815A1 (fr) Procede d&#39;authentification de donnees contenues dans un objet a memoire
FR2823401A1 (fr) Regeneration d&#39;une quantite secrete a partir d&#39;un identifiant d&#39;un circuit integre
FR2823397A1 (fr) Diversification d&#39;un identifiant unique d&#39;un circuit integre

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: 20100628

AK Designated contracting states

Kind code of ref document: A1

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 MT NL NO PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA MK RS

DAX Request for extension of the european patent (deleted)
17Q First examination report despatched

Effective date: 20110706

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: 20130326