EP2587469B1 - Integrated circuit with logic circuitry and multiple concealing circuits - Google Patents
Integrated circuit with logic circuitry and multiple concealing circuits Download PDFInfo
- Publication number
- EP2587469B1 EP2587469B1 EP11189605.6A EP11189605A EP2587469B1 EP 2587469 B1 EP2587469 B1 EP 2587469B1 EP 11189605 A EP11189605 A EP 11189605A EP 2587469 B1 EP2587469 B1 EP 2587469B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- module
- circuit
- integrated circuit
- modules
- voltage
- 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.)
- Active
Links
- 230000000694 effects Effects 0.000 claims description 6
- 230000000873 masking effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 39
- 238000000034 method Methods 0.000 description 11
- 239000004065 semiconductor Substances 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 230000000630 rising effect Effects 0.000 description 7
- 239000000523 sample Substances 0.000 description 7
- 230000000295 complement effect Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000013341 scale-up Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000005669 field effect Effects 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000003245 working effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
- H04L9/003—Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
Definitions
- Variations in the power consumption of logic circuitry or a portion thereof may reveal details of the one or more operations performed by the logic circuitry and may reveal the data on which the one or more operations are being performed.
- variations in the power consumption of logic circuitry or a portion thereof may reveal any one or any combination of: cryptographic keys, random or pseudorandom numbers, details of algorithms, and data on which the one or more cryptographic operations are being performed.
- An attack that makes use of varying power consumption by the logic circuitry during computation is known as a power monitoring attack, which is a type of side-channel attack.
- Electromagnetic (EM) probe attacks are another type of side-channel attacks. An EM probe placed over a portion of the logic circuitry will detect EM emission from that portions.
- US 2007/076890 discloses a system that flattens the total current consumption of a system that might be cryptographic in order to limit EM attacks.
- the countermeasure first senses the current used and then flattens it using a mirror current.
- US 6 698 662 discloses a system that modifies the current in order to either randomize it or flatten it so that it does not reflect the theoretical consumption anymore. This can be done at a global level and at local level. However, there is only one local level.
- An integrated circuit comprises logic circuitry for performing one or more operations.
- the logic circuitry is organized in a multi-level hierarchy of modules such that a module at a higher level comprises multiple modules at an immediately lower level in the hierarchy.
- the integrated circuit further comprises multiple sensing circuits. In operation, each sensing circuit senses an instantaneous current consumption I C of a respective one of the modules that draws current entirely through the sensing circuit.
- the integrated circuit further comprises a concealing circuit for each of the sensing circuits. In operation, the concealing circuit receives as input a voltage V C corresponding to the sensed instantaneous current consumption of its respective module.
- the concealing circuit dissipates an instantaneous power P L such that an instantaneous power sum P TOTAL of the instantaneous power P L and the instantaneous power P C dissipated by its respective module is substantially independent of the activity of its respective module.
- FIG. 1 is a block diagram illustration of an example integrated circuit (IC), generally referenced 100.
- Integrated circuit 100 comprises a semiconductor die (not shown) and, if the integrated circuit is a packaged die, packaging (not shown) for the semiconductor die.
- Integrated circuit 100 comprises example logic circuitry 102 for performing one or more operations.
- Logic circuitry 102 draws current from one or more power lines, illustrated for simplicity as a single voltage source V DD .
- Logic circuitry 102 is driven by one or more clock signals, illustrated for simplicity as a single clock 103.
- Logic circuitry 102 is organized in a multi-level hierarchy of modules. Logic circuitry 102 in its entirety may be considered a module of the highest level L0. Each higher-level module comprises multiple modules of an immediately lower level in the hierarchy. For simplicity, a 4-level hierarchy (L0, L1, L2, L3) is illustrated, however the technology described herein is also appropriate for 2-level hierarchies (L0, L1), 3-level hierarchies (L0, L1, L2) and hierarchies of more than 4 levels.
- logic circuitry 102 comprises multiple modules of an immediately lower level L1 in the hierarchy, explicitly showing three L1 modules referenced 104-1, 104-2 and 104-3, respectively.
- the composition and functionality of any two L1 modules may be identical or may differ from each other. All L1 modules receive their power from a power distribution network 105 in the L0 module.
- L1 module 104-1 comprises multiple modules of an immediately lower level L2 in the hierarchy, explicitly showing four L2 modules referenced 106-1, 106-2, 106-3 and 106-4, respectively.
- the composition and functionality of any two L2 modules may be identical or may differ from each other. All L2 modules in L1 module 104-1 receive their power from a power distribution network 107 in L1 module 104-1.
- each of L2 modules 106-1, 106-2, 106-3 and 106-4 comprises multiple modules 108 of a lowest level L3 in the hierarchy, explicitly showing two L3 modules.
- the composition and functionality of any two L3 modules may be identical or may differ from each other.
- All L3 modules in L2 module 106-3 receive their power from a power distribution network 109-1 in L2 module 106-3.
- All L3 modules in L2 module 106-4 receive their power from a power distribution network 109-2 in L2 module 106-4.
- Logic circuitry 102 and its modules may draw current at active edges of clock 103. Variations in the current consumption of a single lower-level module or of logic circuitry 102 in its entirety may reveal details of the one or more operations performed by logic circuitry 102 and may reveal the data on which the one or more operations are being performed. In the example where logic circuitry 102 performs one or more cryptographic operations, variations in the current consumption of a single lower-level module or of logic circuitry 102 in its entirety may reveal any one or any combination of: cryptographic keys, random or pseudorandom numbers, details of algorithms, and data on which the one or more cryptographic operations are being performed.
- An attack that makes use of varying current consumption by the logic circuitry during computation is known as a power monitoring attack, which is a type of side-channel attack.
- Integrated circuit 100 comprises multiple sensing circuits, illustrated for simplicity as resistive elements. Each sensing circuit is to sense current consumption of a respective one of the modules. For each of the sensing circuits, the integrated circuit comprises a dedicated concealing circuit that receives as input a voltage corresponding to the current consumption sensed by the sensing circuit. A concealing circuit conceals the current consumption of the module to which the concealing circuit is dedicated.
- the sensed current consumption changes at frequencies higher than the frequency of clock 103.
- CMOS complementary metal-oxide semiconductor
- the clock period is 4 nanoseconds.
- Most of the power dissipation of the module happens in the form of dynamic power dissipation and crowbar power dissipation following the active edges of the clock, which occurs over approximately 20%-30% of the clock period.
- CMOS complementary metal-oxide semiconductor
- each concealing circuit comprises a controllable current source 112, a dissipative load 114 to draw current from controllable current source 112, and a control circuit 116 to control controllable current source 112 to produce current according to current consumption sensed by the sensing circuit.
- the dissipative loads 114 are illustrated as resistive elements
- the controllable current sources 112 are illustrated as circles with downward pointing arrows
- the control circuits 116 are illustrated as black boxes.
- Each controllable current source 112 receives power from one or more power lines, for example, from single voltage source V DD , although this is not illustrated explicitly in FIG. 1 .
- a non-exhaustive list of examples for controllable current source 112 includes a voltage-to-current converter, an operational transconductance amplifier, and a voltage controlled current source.
- the integrated circuit comprises dedicated concealing circuits for some of the lower-level modules, namely L1 modules 104-1 and 104-2, L2 modules 106-2 and 106-4, and the L3 modules belonging to L2 modules 106-3 and 106-4, and therefore those lower-level modules receive their power entirely through a sensing circuit from the power distribution network of the immediately higher-level module to which they belong.
- the integrated circuit does not comprise dedicated concealing circuits for others of the lower-level modules, namely L1 module 104-3, L2 modules 106-1 and 106-3, and the L3 modules belonging to L2 modules 106-1 and 106-2. Therefore, as illustrated for L1 module 104-3, L2 modules 106-1 and 106-3, and the L3 modules belonging to L2 module 106-2, those lower-level modules receive their power directly from the power distribution network of the immediately higher-level module to which they belong. Because the integrated circuit does not comprise a dedicated concealing circuit for L2 module 106-1, the L3 modules belonging to L2 module 106-1 receive their power directly from power distribution network 107 of L1 module 104-1.
- a concealing circuit conceals the current consumption I C of the module to which the concealing circuit is dedicated by consuming current such that an instantaneous power sum P TOTAL of an instantaneous power P L dissipated by the concealing circuit and the instantaneous power P C dissipated by the module is substantially independent of activity of the module.
- the contribution to the instantaneous power sum P TOTAL that arises from data-specific switching in the module may be lower than the power level of the noise which is always present in the integrated circuit. This noise could be due to a variety of factors such as substrate coupling and the noise of MOS transistors.
- Inclusion of the concealing circuit in the integrated circuit may reduce the susceptibility of the module to which the concealing circuit is dedicated to power analysis attacks and may reduce the susceptibility of the logic circuit in its entirety to power analysis attacks.
- the concealing circuit may be co-located, that is, placed and routed together, with the module to which the concealing circuit is dedicated.
- the module may have 100 logic gates and the concealing circuit may have 50 logic gates, and all these gates are interspersed, placed and routed together.
- co-location may thwart electromagnetic (EM) probe attacks, which are another type of side-channel attacks, because the proximity of the module to its dedicated concealing circuit means that an EM probe placed over the module will detect not only the EM emission from the module but also the EM emission from the concealing circuit.
- the detected EM emission is substantially independent of activity of the module, and therefore the detected EM emission will not reveal operational details of the module.
- a concealing circuit will be designed for the current consumption of the module to which the concealing circuit is dedicated, in that the concealing circuit is designed based on the peak current and the rate of change of current of the module.
- transistor sizing and load capacitance in the concealing circuit may be designed based on the peak current and the rate of change of current of the module.
- a concealing circuit dedicated to the single lower-level module may be able to respond more quickly to variations in the current consumption of the single lower-level module than a concealing circuit dedicated to the logic circuitry in its entirety.
- sensing circuits and dedicated concealing circuits increases the die size and may also increase the overall cost of the integrated circuit.
- the integrated circuit may be designed to include a sensing circuit and a dedicated concealing circuit for each and every module in the multi-level hierarchy of modules of the logic circuitry.
- the integrated circuit may be designed so that it comprises sensing circuits and dedicated concealing circuits for some of the modules and does not comprise sensing circuits and dedicated concealing circuits for others of the modules.
- Integrated circuit 100 is an example of an integrated circuit that does not comprise sensing circuits and dedicated concealing circuits for each and every module in the logic circuitry.
- the inclusion in an integrated circuit of a dedicated concealing circuit for a module may provide some protection from side-channel attacks on the module.
- the benefit of including in an integrated circuit a dedicated concealing circuit for a particular module may be minimal where the particular module already has, through a different technique, some protection from side-channel attacks, especially if the particular module comprises lower-level modules for which the integrated circuit does include dedicated concealing circuits. Therefore, to avoid undue increases in the die size, the integrated circuit may be designed not to comprise sensing circuits and dedicated concealing circuits for modules that already have, through a different technique, some protection from side-channel attacks, especially where those modules comprise lower-level modules for which the integrated circuit does include dedicated concealing circuit.
- complementary logic is a technique that provides some protection from side-channel attacks.
- the integrated circuit may comprise complementary logic for some of the modules.
- the integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- dual data paths - with or without complementary logic - is a technique that provides some protection from side-channel attacks.
- the integrated circuit may comprise dual data paths for some of the modules.
- the integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- constant current circuits is a technique that provides some protection from side-channel attacks.
- the integrated circuit may comprise constant current circuits, such as wave dynamic differential logic (WDDL), for some of the modules.
- WDDL wave dynamic differential logic
- the integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- masking is a technique that provides some protection from side-channel attacks.
- Some of the modules of the integrated circuit may operate on masked data, that is, on data to which a mask has been applied.
- the integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- an integrated circuit that includes modules that operate on masked data also includes one or more modules for storing a mask, for modifying the mask, for applying the mask to data, for removing the mask, and the like.
- the integrated circuit may be designed to implement a hiding technique on the modules that store, modify, apply, or remove the mask, and may be designed not to implement the hiding technique to the modules that operate on masked data.
- a reason for this is that the module that operates on masked data inherently has some protection by virtue of the mask.
- the hiding technique is, for example, the use of sensing circuits and concealing circuits as described in this document, or the use of complementary logic, or the use of dual data paths - with or without complementary logic, or the use of constant current circuits.
- FIG. 1 does not illustrate data interconnections between the multiple modules comprised in logic circuitry 102. Rather, as already discussed in detail above, FIG. 1 illustrates how power is distributed within logic circuitry 102, how power is distributed to the control circuits 116, and how current consumption of modules is sensed and used to control the generation of current by controllable current sources 112, which current is dissipated by dissipative loads 114.
- the hierarchy may be based on an increasing number of logic gates per module at each higher level, for example, inverters, XOR, NOR, NAND and other logic gates.
- the increasing number of logic gates per module may follow a logarithmic scale, such as 100,000 logic gates per module at the highest level L1, 10,000 logic gates per module at the next level L2, 1000 logic gates per module at the next level L3, and 100 logic gates at the lowest level L4.
- the increasing number of logic gates per module may follow a non-linear pattern, such as 100 logic gates per module at the lowest level, 200 logic gates per module at the next level, 400 logic gates per module at the next level, 800 logic gates per module at the next level, 1600 logic gates per module at the next level, 3200 logic gates per module at the next level, 6400 logic gates per module at the next level, and so on.
- the hierarchy may be based on an increasing average current consumption per module at each higher level.
- the increasing average current consumption per module may follow a logarithmic scale, such as 1 Amperes (A) at the highest level L1, 100 mA at the next level L2, 10 mA at the next level L3, 1 mA at the next level L4, 100 ā A at the next level L5, and 10 ā A at the lowest level L6.
- the hierarchy may be based on a functional hierarchy or natural design hierarchy of logic circuitry 102.
- logic circuitry 102 implements one or more Advanced Encryption Standard (AES) operations
- a 4-level hierarchy may be appropriate, in which the lowest level L3 comprises XOR array modules and shifter array modules, the next level L2 comprises AddRoundKey modules, S-box modules, MixColumns modules, and ShiftRows modules, and the next level L1 comprises one or more of a group consisting of an AES encryption core module, an AES decryption core module, and an AES decryption core module. This example is described with respect to FIG. 2-1 and FIG. 2-2 .
- AES Advanced Encryption Standard
- FIG. 2-1 is a block diagram illustration of an example integrated circuit, generally referenced 200.
- Integrated circuit 200 is an example of integrated circuit 100 described above.
- Integrated circuit 200 comprises example logic circuitry 202 for performing one or more cryptographic operations.
- the cryptographic operations are based on the Advanced Encryption Standard (AES), which was announced on November 26, 2001 by the National Institute of Standards and Technology (NIST).
- Logic circuitry 202 draws current from one or more power lines, illustrated for simplicity as a single voltage source V DD .
- Logic circuitry 202 is driven by one or more clock signals, illustrated for simplicity as a single clock 203.
- Logic circuitry 202 is organized in a multi-level hierarchy of modules, based on functionality of the modules. Logic circuitry 102 in its entirety may be considered a module of the highest level L0. In the illustrated example, logic circuitry 202 comprises an AES Encryption Core module 204-1, an AES Decryption Core module 204-2 and an AES Key Generation module 204-3, all receiving their power from a power distribution network 205 in the L0 module.
- Integrated circuit 200 comprises multiple sensing circuits, illustrated for simplicity as resistive elements. Each sensing circuit is to sense current consumption of a respective one of the modules. As noted above, the sensed current consumption changes at frequencies higher than the frequency of clock 103.
- logic circuitry 202 draws current entirely through a sensing circuit 210 into its power distribution network 205.
- AES Encryption Core module 204-1 draws current from power distribution network 205 entirely through a sensing circuit 210-1.
- AES Decryption Core module 204-2 draws current from power distribution network 205 entirely through a sensing circuit 210-2.
- AES Key Generation Core module 204-3 draws current from power distribution network 205 entirely through a sensing circuit 210-3.
- integrated circuit 200 comprises a dedicated concealing circuit that receives as input a voltage corresponding to the current consumption sensed by the sensing circuit.
- integrated circuit 200 comprises a dedicated concealing circuit for logic circuitry 202 in its entirety, the concealing circuit comprising a controllable current source 212, a dissipative load 214 to draw current from controllable current source 212, and a control circuit 216 to control controllable current source 212 to produce current according to current consumption sensed by sensing circuit 210.
- Integrated circuit 200 comprises a dedicated concealing circuit for AES Encryption Core module 204-1, the concealing circuit comprising a controllable current source 212-1, a dissipative load 214-1 to draw current from controllable current source 212-1, and a control circuit 216-1 to control controllable current source 212-1 to produce current according to current consumption sensed by sensing circuit 210-1.
- Integrated circuit 200 comprises a dedicated concealing circuit for AES Decryption Core module 204-2, the concealing circuit comprising a controllable current source 212-2, a dissipative load 214-2 to draw current from controllable current source 212-2, and a control circuit 216-2 to control controllable current source 212-2 to produce current according to current consumption sensed by sensing circuit 210-2.
- Integrated circuit 200 comprises a dedicated concealing circuit for AES Key Generation Core module 204-3, the concealing circuit comprising a controllable current source 212-3, a dissipative load 214-3 to draw current from controllable current source 212-3, and a control circuit 216-3 to control controllable current source 212-3 to produce current according to current consumption sensed by sensing circuit 210-3.
- the dissipative loads 214, 214-1, 214-2 and 214-3 are illustrated as resistive elements, the controllable current sources 212, 212-1, 212-2 and 212-3 are illustrated as circles with downward pointing arrows, and the control circuits 216, 216-1, 212-2 and 216-3 are illustrated as black boxes.
- Each controllable current source receives power from one or more power lines, for example, from single voltage source V DD , although this is not illustrated explicitly in FIG. 2-1 .
- controllable current sources 212-1, 212-2 and 212-3 receive power from power distribution network 205.
- a non-exhaustive list of examples for controllable current sources 212, 212-1, 212-2 and 212-3 includes voltage-to-current converters, operational transconductance amplifiers, and voltage controlled current sources.
- FIG. 2-2 is a block diagram illustration of AES Encryption Core module 104-1. Details of AES Encryption Core module 104-1 discussed below are equally applicable to AES Decryption Core module 104-2 and to AES Key Generation module 104-3.
- AES Encryption Core module 104-1 comprises an AddRoundKey module 206-1, a ShiftRows module 206-2, an S-box module 206-3, a MixColumns module 206-4, each of which receives power from a power distribution network 207 through a respective sensing circuit, and for each of which integrated circuit 200 comprises a dedicated concealing circuit.
- AES Encryption Core module 104-1 also comprises a masked algorithm module 206-5 for which integrated circuit 200 does not comprise a dedicated concealing circuit. Therefore masked algorithm module 206-5 receives power directly from power distribution network 207. Masked algorithm module 206-5 operates on masked data, that is, on data to which a mask has been applied. The output of masked algorithm module 206-5 may be subject to additional masked algorithm modules or may be demasked, that is, have the mask removed.
- S-box module 206-3, MixColumns module 206-4 and masked algorithm module 206-5 comprise a combination of XOR array modules 208-1 and Shifter array modules 208-2, for each of which the integrated circuit comprises a sensing circuit and a dedicated concealing circuit.
- each of the XOR array modules 208-1 and the Shifter Array modules 208-2 receives its power through its sensing circuit from the power distribution network of its immediately-higher level module.
- AddRoundKey module 206-1 and ShiftRows module 206-2 also comprise a combination of XOR array modules 208-1 and Shifter Array modules 208-2, for each of which the integrated circuit comprises a sensing circuit and a dedicated concealing circuit.
- FIG. 3 is a simplified circuit diagram illustration of a portion of an example integrated circuit, providing additional detail as to the composition of an example concealing circuit.
- Logic circuitry for example, logic circuitry 102 or logic circuitry 202, comprises a module 352.
- One or more data inputs to module 352 are indicated by an arrow 352-1 and one or more data outputs from module 352 are indicated by an arrow 352-2.
- Module 352 is driven by a clock 353.
- the internal state of module 352 at any time is the combination of the states of all its logic elements.
- An operational amplifier (OP_AMP) 360 receives a constant reference voltage V R to its inverting input.
- a transistor 362 for example a field-effect transistor (FET) transistor, is connected to an output of OP-AMP 360 and to a non-inverting input of OP-AMP 360.
- Transistor 362 is further referenced T 1 .
- a gate of transistor 362 is connected to an output of OP-AMP 360 and a drain of the FET transistor is connected to the non-inverting input of OP-AMP 360.
- Transistor 362 and the non-inverting input of OP-AMP 360 are connected to draw a fluctuating current 364 from V DD via resistor R X . Fluctuating current 364 is further referenced I T . A corresponding fluctuating voltage 366 at the non-inverting input of OP-AMP 360 is further referenced V C .
- V R may have a value of V C_MAX , where V C_MAX is a maximal value of V C .
- OP-AMP 360 controls the conductivity of transistor T 1 according to a voltage difference between V C and V R and therefore influences the magnitude of the current IT according to the voltage difference between V C and V R .
- the circuit of FIG. 3 attempts to regulate the sum of powers dissipated by R X , T 1 and module 352 to be substantially constant. If the power consumption of module 352 decreases, I C decreases and OP-AMP 360 controls transistor T 1 to increase current I T .
- the increase in current IT causes an increase in the power consumption of T 1 and causes an increase in current I X , which in turn causes an increase in the power consumption of R X . Therefore, the circuit of FIG. 3 attempts to balance a decrease in the power consumption of module 352 by increasing the power consumption of transistor T 1 and resistor R X , and vice versa. Overall, the power consumption of the elements shown in FIG. 3 is substantially constant and therefore independent of the activity of module 352.
- FIG. 4 is a block diagram illustration of a portion of an example integrated circuit, providing additional detail as to the composition of an example concealing circuit, and specifically to the composition of an example control circuit.
- Logic circuitry for example, logic circuitry 102 or logic circuitry 202, comprises a module 302.
- One or more data inputs to module 302 are indicated by an arrow 302-1 and one or more data outputs from module 302 are indicated by an arrow 302-2.
- Module 302 is driven by a clock 303.
- Module 302 which comprises one or more logic elements such as gates, flip-flops, state machines, and the like, draws current from a power distribution network 305.
- the internal state of module 302 at any time is the combination of the states of all its logic elements.
- FIG. 5 is a timing diagram helpful in understanding the operation of module 302. Active edges of clock 303 are illustrated in FIG. 5 as vertical lines. The active edges may be the rising edges of clock 303, or the falling edges of clock 303, or both the rising edges of clock 303 and the falling edges of claim 303.
- the values of the one or more data inputs may change in advance of each active edge of clock 303.
- the values of the data inputs are collectively indicated as "Aā, āBā, āCā and āDā, respectively.
- module 302 samples its data inputs. A short time thereafter, the elements of module 302 react to the sampled inputs, eventually settling into a new internal state in advance of the next active edge.
- the new internal state depends both on the previous internal state, as indicated by arrows 410, and on the sampled inputs, as indicated by arrows 412. Some elements of module 302 may react faster than other elements of module 302. While the elements are reacting, the internal state of module 302 is unsettled, as illustrated in FIG. 5 by hatched areas 414. For example, the internal state of module 302 transitions from "J" to "Kā to "Lā to "Mā following active edges 402, 404 and 406 respectively.
- the timing diagram is not drawn to scale. It will be appreciated by persons of ordinary skill in the art that the period of time during which the elements of module 302 react to sampled inputs and settle into a new internal state in advance of the next active edge may depend on many factors, for example, the timing design of module 302, the composition of the die, the operating temperature, and in which technology the logic gates are implemented (e.g., CMOS, TTL, and the like).
- the one or more data outputs settle into new values in advance of the next active edge.
- the new values of the one or more data outputs depend both on the previous internal state, as indicated by arrows 416, and on the sampled inputs, as indicated by arrows 418. Because the data outputs are merely samples of selected ones of the elements of module 302, while the internal state of module 302 is unsettled, the data outputs may also be unsettled, as illustrated in FIG. 5 by hatched areas 420. For example, the data outputs transition from values collectively indicated as "W" to "Xā to "Yā to "Zā following active edges 402, 404 and 406, respectively.
- the elements of module 302 consume current as they switch their internal logical states in reaction to the sampled inputs.
- Example current consumption traces are illustrated, with a flat line indicating the constant current consumption of module 302 while in a settled internal state, in idealized, that is, noiseless, circumstances.
- Traces 422, 424 and 426 represent the output of sensing circuit 310, which is the voltage corresponding to the current consumption of module 302 following active edges 402, 404 and 406, respectively.
- Part of the current consumption of module 302 following active edges 402, 404 and 406 is due to general switching that will occur regardless of the previous internal state and the sampled data inputs, and part is due to data-specific switching that occurs due to the previous internal state and the sampled data inputs.
- Traces 422, 424 and 426 differ from one another because the changes in the internal state of module 302 are different after each active edge, due to differences in the previous internal state and in the sampled data inputs. It is those differences in traces 422, 424 and 426 which may yield information about the inner workings of module 302 or information about the sampled data inputs or both, in a power analysis attack.
- module 302 draws a fluctuating current I C from power distribution network 305 entirely through a sensing circuit 310.
- Sensing circuit 310 is to sense current consumption I C and to output a fluctuating voltage V C corresponding to I C .
- a dedicated concealing circuit 315 conceals the current consumption of module 302.
- Dedicated concealing circuit 315 receives voltage V C as input.
- Concealing circuit 315 comprises a controllable current source 312, a dissipative load 314 to draw current from controllable current source 312, and a control circuit 316 to control controllable current source 312. Control circuit 316 receives voltage V C as input.
- Controllable current source 312 receives power from one or more power lines, for example, from single voltage source V DD , although this is not illustrated explicitly in FIG. 4 .
- a non-exhaustive list of examples for controllable current source 312 includes voltage-to-current converters, operational transconductance amplifiers, and voltage controlled current sources.
- Sensing circuit 310 is an example of any one of the sensing circuits illustrated in FIG. 1 , FIG. 2-1 and FIG. 2-3.
- Dedicated concealing circuit 315 comprising controllable current source 312, dissipative load 314 and control circuit 316 is an example of any one of the dedicated concealing circuits illustrated in FIG. 1 , FIG. 2-1 and FIG. 2-2 .
- control circuit 316 comprises differential circuitry 317 and a square root circuit 319.
- Differential circuitry 317 receives voltage V C and a reference voltage V R as inputs and outputs a voltage V D that is substantially equal to a voltage difference ( ā V R -V C ) between a scaled-up version of reference voltage V R and voltage V C .
- the scaled-up version of reference voltage V R is scaled to approximately the scale of voltage V C . If the scale of reference voltage V R is already approximately the scale of voltage V C , then scaling factor ā equals or is close to the value one.
- Square root circuit 319 receives V D as input and outputs a voltage V S that is substantially equal to the square root of V D .
- Controllable current source 312 receives V S as an input and induces a current I L that is proportional to ā V R ā V C through dissipative load 314.
- dissipative load 314 dissipates power that that is proportional to
- FIG. 6 is a block diagram illustration of a portion of another example integrated circuit, providing additional detail as to the composition of another example concealing circuit, and specifically to the composition of another example control circuit.
- Module 302 is as described above with respect to FIG. 4 and FIG. 5 .
- Sensing circuit 310 is as described above with respect to FIG. 4 .
- a dedicated concealing circuit 515 conceals the current consumption I C of module 302.
- Dedicated concealing circuit 515 receives as input a voltage V C corresponding to the current consumption I C sensed by sensing circuit 310.
- Concealing circuit 515 comprises a controllable current source 512, a dissipative load 514 to draw current from controllable current source 512, and a control circuit 516 to control controllable current source 512.
- Control circuit 516 receives voltage V C as input.
- Controllable current source 512 receives power from one or more power lines, for example, from single voltage source V DD , although this is not illustrated explicitly in FIG. 6 .
- controllable current source 512 includes voltage-to-current converters, operational transconductance amplifiers, and voltage controlled current sources.
- Dedicated concealing circuit 515 comprising controllable current source 512, dissipative load 514 and control circuit 516 is an example of any one of the dedicated concealing circuits illustrated in FIG. 1 , FIG. 2-1 and FIG. 2-2 .
- control circuit 516 comprises a reference sensing circuit 510, reference circuitry 502, differential circuitry 504 and a square root circuit 505.
- the operation of one or more logic elements in reference circuitry 502 is synchronized to clock 303.
- reference circuitry 502 comprises logic elements, it is the analog behavior of reference circuitry that is of interest, rather than any digital behavior.
- Reference circuitry 502 draws current from power distribution network 305 entirely through reference sensing circuit 510.
- Reference sensing circuit 510 is to sense current consumption of reference circuitry 502 and to output a fluctuating voltage V R that is proportional to instantaneous current I R .
- Reference sensing circuit 510 in converting current to voltage, may optionally scale up, so that the scale of voltage V R is approximately the scale of voltage V C .
- Differential circuitry 504 receives voltage V C and voltage V R as inputs and outputs a voltage V D that is substantially equal to a voltage difference ( ā V R -V C ) between a scaled-up version of reference voltage V R and voltage V C .
- the scaled-up version of reference voltage V R is scaled to approximately the scale of voltage V C . If the scale of reference voltage V R is already approximately the scale of voltage V C , then scaling factor ā equals or is close to the value one.
- Square root circuit 505 receives V D as input and outputs a voltage V S that is substantially equal to the square root of V D .
- Controllable current source 512 receives V S as an input and induces a current I L that is proportional to ā V R ā V C through dissipative load 514.
- dissipative load 314 dissipates power that that is proportional to
- FIGs. 7-1, 7-2 and 7-3 are timing diagrams helpful in understanding the operation of concealing circuit 515.
- Active edges of clock 303 are illustrated in FIGs. 7-1,7-2 and 7-3 as vertical lines.
- the active edges may be the rising edges of clock 303, or the falling edges of clock 303, or both the rising edges of clock 303 and the falling edges of clock 303.
- Diagrams 602 illustrate the timing of the one or more data inputs to module 302.
- the timing of the internal state of module 302 is illustrated in diagrams 604, and the timing of the one or more data outputs of module 302 is illustrated in diagrams 606.
- the values of the one or more data inputs may change in advance of each active edge of clock 303, and module 302 samples the data inputs at the active edge. A short time thereafter, the elements of module 302 react to the sampled inputs, eventually settling into a new internal state in advance of the next active edge, and the one or more data outputs settle into new values in advance of the next active edge.
- Diagrams 608 show a superposition of traces 422, 424 and 426, which represent the voltage corresponding to the current consumption of module 302 following active edges 402, 404 and 406, respectively.
- diagrams 608 illustrate the voltage V C output by sensing circuit 310, for the clock periods between active edges 402 and 404, between active edges 404 and 406, and between active edges 406 and 408.
- Diagrams 610, 620 and 630 illustrate the scaled-up voltage ā V R for the clock periods between active edges 402 and 404, between active edges 404 and 406, and between active edges 406 and 408.
- Diagrams 612, 622 and 632 provide a superposition of voltage V C and scaled-up voltage ā V R .
- Diagrams 614, 624 and 634 illustrate the difference between the scaled-up voltage ā V R and the voltage V C , and therefore illustrate the output of differential circuitry 504. It is the output of differential circuitry 504 that controls how much current is drawn by controllable current source 512 and dissipated by dissipative load 314.
- the energy represented by diagrams 614, 624 and 634 is lower than the energy represented by diagrams 608, and therefore the current that controllable current source 512 is controlled to produce is of lower energy than that consumed by module 302.
- Reference circuitry 502 may be designed to draw current from power distribution network 305 according to a reference current waveform, thus causing reference sensing circuit 510 to produce a particular reference voltage waveform.
- a square reference voltage waveform 611 is at its higher level during the time that the elements of module 302 are reacting to newly sampled data inputs and at its lower level during the rest of the time between active edges of clock 303.
- a smoother reference voltage waveform 621 that better approximates traces 422, 424 and 426 is used.
- reference circuitry 502 may be any circuitry including logic elements that are synchronized to clock 303. Because reference circuitry 502 includes logic elements that are synchronized to clock 303, its logic elements react to sampled inputs and settle into a new internal state in much the same way as the elements of module 302. Trace 631 illustrated in diagram 630 shows the voltage output by reference sensing circuit 510 in this alternative, which may vary from one time period between active edges of clock 303 to another.
- reference circuitry 502 may comprise a simple inverter. Reference circuitry 502 may draw much less current than module 302. The sampled current waveform of reference circuitry 502 may be amplified by reference sensing circuit 510 to generally have a similar magnitude as that of the current consumption of module 302.
- FIG. 8 is a circuit diagram illustration of an example implementation of the integrated circuit portion of FIG. 5 .
- FIG. 9 is a timing diagram helpful in understanding the operation of the circuit diagram of FIG. 8 .
- the circuit diagram of FIG. 8 the timing diagram of FIG. 9 and the corresponding description are simplified.
- some reference numerals in FIGS. 8 and 9 are the same as in FIG. 5 .
- some reference numerals are different or added in FIGS. 8 and 9 to emphasize the exemplary implementation.
- the usage of reference numerals is not intended to be limiting.
- reference sensing circuit 510 includes an OP_AMP 802 and a resistor 804, further referenced R 7 , connected in a current-to-voltage conversion configuration.
- sensing circuit 310 includes an OP_AMP 806 and a resistor 808, further referenced R 1 , connected in a current-to-voltage conversion configuration.
- Module 302 consumes a fluctuating current 810, further referenced I C .
- Reference circuitry 502 consumes a fluctuating current 812, further referenced I R .
- Sensing circuit 310 outputs a fluctuating voltage 814, further referenced V C .
- Reference sensing circuit 510 outputs a fluctuating voltage 816, further referenced V R .
- Reference sensing circuit 510 in converting current to voltage, may optionally scale up by appropriate choice of R 7 , so that the scale of voltage V R is approximately the scale of voltage V C .
- module 302 is driven by clock 303 and the active edges of clock 303 are the rising edges (from a low logic level to a high logic level). Accordingly, current consumption traces such as 422 and 424 (discussed in relation to FIG. 4 ) appear in FIG. 9 following the rising edges of clock signal 303.
- horizontal dotted line 918 represents a selectable maximal value of I C , further referenced I C_MAX .
- I C_MAX may be selected to be higher than all the current spikes or to be higher than some of the current spikes and lower than others of the current spikes.
- horizontal dotted line 920 represents a maximal value V C_ MAX of V C , corresponding to I C_MAX .
- V C_MAX I C_MAX * R 1
- reference circuitry 502 receives an inverse clock signal 903 and not clock signal 303.
- inverse clock signal 903 has logic levels that are opposite to the logic levels of clock signal 303.
- reference circuitry 502 is an inverter circuit, made of transistors 824 and 826.
- Inverter circuit 502 has an output capacitance 828 which may be influenced by properties of transistors 824 and 826.
- transistor 824 Following falling edges (e.g. 402, 404 and 406 in FIG. 9 ) of inverse clock signal 903, transistor 824 directs current 812, further referenced I R , to charge output capacitance 828.
- transistor 826 discharges output capacitance 828 into the electrical ground.
- a fluctuating voltage 830 further referenced V I , develops over output capacitance 828.
- horizontal dotted line 934 represents a selectable maximal value of I R , further referenced I R_MAX .
- Each of the current consumption traces of I R such as 932, may have several current spikes and I R_MAX may be selected to be higher than all the current spikes or to be higher than some of the current spikes and lower than others of the current spikes.
- Horizontal dotted line 936 represents a maximal value V R_MAX of V R , corresponding to I R_MAX .
- V R_MAX I R_MAX * R 7
- differential circuitry 504 receives V C and V R as inputs and includes an OP-AMP 838 and four resistors 840. Resistors 840 are selected to have substantially the same resistance, referenced R, and are connected with OP-AMP 838 in a differential amplifier configuration. Differential circuitry 504 outputs a fluctuating voltage 842, further referenced V D .
- ā V R is a scaled-up version of reference voltage V R . If the scale of reference voltage V R is already approximately the scale of voltage V C , then scaling factor ā equals or is close to the value one.
- Difference voltage V D is of much lower energy than voltage V C , because reference voltage V R is of similar magnitude to the portion of voltage V C that is due to the general switching of module 302.
- the portion of voltage V C that is due to the data-specific switching of module 302 is generally of much smaller magnitude than V C_MAX .
- controllable current source 512 and dissipative load 514 handle a much lower energy than V C_MAX.
- a square root circuit 844 receives V D as an input and outputs a fluctuating voltage 846, further referenced V S .
- controllable current source 512 receives V S as an input and includes an OP-AMP 848 and a resistor 850, further referenced R 2 .
- OP-AMP 848, resistor 850 and dissipative load 514, further referenced R 3 are connected in a voltage-to-current conversion configuration.
- a fluctuating current 852 flows through R 3 and is further referenced as I L .
- the relationships between V D , V S and I L are as shown in equation (9), and the power P L dissipated at R 3 is shown in equations (10) and (11).
- the power P L dissipated by the dissipative load 514 includes a portion, R 1 R 3 R 2 2 ā I R , that is proportional to the voltage V R .
- the power P C dissipated at module 302 is approximated in equation (12) and the total power dissipated by module 302 and R 3 together, termed 'the instantaneous power sum P TOTAL ', is shown in equation (13).
- P C I C V DD
- the total power consumption P TOTAL becomes substantially dependent on the waveform of V R , substantially independent of the waveform of V C and substantially independent of the power consumption of module 302.
- P TOTAL may substantially follow curves 611, 621 or 631, and may have much less correlation to the curves of line 608.
- reference circuitry 502 and reference sensing circuit 510 may be omitted and reference voltage V R may be set to a constant value.
- reference circuitry 502 may be circuitry that generates a desired reference voltage waveform.
- FIG. 10 is a block diagram illustration of a portion of an example integrated circuit 1000, illustrating different options for the placement of dissipative loads relative to logic modules.
- Integrated circuit 1000 comprises a semiconductor die 1001 and, if the integrated circuit is a packaged die, packaging (not shown) for semiconductor die 1001.
- Semiconductor die 1001 comprises logic modules 1002, 1004, 1006, and 1008, each located in a different area of semiconductor die 1002.
- Logic modules 1002, 1004, 1006, and 1008 represent any of the logic modules discussed above with respect to FIGS. 1 - 9 .
- Dissipative loads 1012, 1014, 1016, and 1018 are located on die 1001. Placement of a dissipative load may be selected, for example, to interfere with or thwart electromagnetic (EM) probe attacks.
- EM electromagnetic
- dissipative load 1012 is placed at substantially the middle of the area occupied by logic module 1002.
- dissipative load 1014 is placed inside and close to an edge of the area occupied by logic module 1004.
- dissipative load 1016 is placed outside and close to an edge of the area occupied by logic module 1006.
- dissipative load 1018 which is a distributed load and, as an example, is shown to have four portions, is placed inside the area occupied by logic module 1008. Each portion of dissipative load 1018 is operable to dissipate a portion of the power to be dissipated by dissipative load 1018 as a whole.
- Dissipative loads may be placed or distributed to accommodate different concerns.
- a placement may be selected, for example, to accommodate placement and routing constraints of the semiconductor die, or to improve or optimize protection from EM probe attacks, or both.
- a logic module emits EM emission substantially evenly throughout its area
- a distributed dissipative load may be suitable to better thwart an EM probe attack.
- EM emission may be higher at particular areas of the logic module, and dissipative loads may be placed near these particular areas.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Semiconductor Integrated Circuits (AREA)
Description
- Variations in the power consumption of logic circuitry or a portion thereof may reveal details of the one or more operations performed by the logic circuitry and may reveal the data on which the one or more operations are being performed. In an example where the logic circuitry performs one or more cryptographic operations, variations in the power consumption of logic circuitry or a portion thereof may reveal any one or any combination of: cryptographic keys, random or pseudorandom numbers, details of algorithms, and data on which the one or more cryptographic operations are being performed. An attack that makes use of varying power consumption by the logic circuitry during computation is known as a power monitoring attack, which is a type of side-channel attack.
- Electromagnetic (EM) probe attacks are another type of side-channel attacks. An EM probe placed over a portion of the logic circuitry will detect EM emission from that portions.
-
US 2007/076890 discloses a system that flattens the total current consumption of a system that might be cryptographic in order to limit EM attacks. The countermeasure first senses the current used and then flattens it using a mirror current. - Jean-Jacques Quisquater et al. "ElectroMagnetic Analysis (EMA): Measures and Counter-measures for Smart Cards", in: "Smart Card Programming and Security", 2001, Springer Berlin Heidelberg, Berlin, Heidelberg, ISBN: 978-3-54-042610-3, vol. 2140, pages 200-210, shows that the person skilled in the art knows that EM analysis is a matter of locality, so countermeasures that are intended to flatten at a system level might be applied at sub-module level.
-
US 6 698 662 discloses a system that modifies the current in order to either randomize it or flatten it so that it does not reflect the theoretical consumption anymore. This can be done at a global level and at local level. However, there is only one local level. - An integrated circuit comprises logic circuitry for performing one or more operations. The logic circuitry is organized in a multi-level hierarchy of modules such that a module at a higher level comprises multiple modules at an immediately lower level in the hierarchy. The integrated circuit further comprises multiple sensing circuits. In operation, each sensing circuit senses an instantaneous current consumption IC of a respective one of the modules that draws current entirely through the sensing circuit. The integrated circuit further comprises a concealing circuit for each of the sensing circuits. In operation, the concealing circuit receives as input a voltage VC corresponding to the sensed instantaneous current consumption of its respective module. In operation, the concealing circuit dissipates an instantaneous power PL such that an instantaneous power sum PTOTAL of the instantaneous power PL and the instantaneous power PC dissipated by its respective module is substantially independent of the activity of its respective module.
- The technology described herein is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like reference numerals indicate corresponding, analogous or similar elements, and in which:
-
FIG. 1 is a block diagram illustration of an example integrated circuit; -
FIG. 2-1 is a block diagram illustration of an example integrated circuit; -
FIG. 2- 2 is a block diagram illustration of an example module in the integrated circuit ofFIG. 2-1 ; -
FIG. 3 is a simplified circuit diagram illustration of a portion of an example integrated circuit, providing additional detail as to the composition of an example concealing circuit; -
FIG. 4 is a block diagram illustration of a portion of an example integrated circuit, providing additional detail as to the composition of an example concealing circuit; -
FIG. 5 is a timing diagram, helpful in understanding the operation of a module of logic circuitry; -
FIG. 6 is a block diagram illustration of a portion of another example integrated circuit, providing additional detail as to the composition of another example concealing circuit; -
FIG. 7 is another set of example timing diagrams, helpful in understanding the operation of the example concealing circuit ofFIG. 6 ; -
FIG. 8 is a circuit diagram illustration of an example portion as inFIG. 6 ; and -
FIG. 9 is a set of example timing diagrams, helpful in understanding the operation of the example concealing circuit ofFIG. 8 ; -
FIG. 10 is a block diagram illustration of a portion of an example integrated circuit, including modules of logic circuitry and corresponding dissipative loads. - It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity.
- In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of technology. However it will be understood by those of ordinary skill in the art that the technology may be practiced without these specific details. In other instances, well-known methods, procedures, components and circuits have not been described in detail so as not to obscure the description.
-
FIG. 1 is a block diagram illustration of an example integrated circuit (IC), generally referenced 100.Integrated circuit 100 comprises a semiconductor die (not shown) and, if the integrated circuit is a packaged die, packaging (not shown) for the semiconductor die.Integrated circuit 100 comprisesexample logic circuitry 102 for performing one or more operations.Logic circuitry 102 draws current from one or more power lines, illustrated for simplicity as a single voltage source VDD. Logic circuitry 102 is driven by one or more clock signals, illustrated for simplicity as asingle clock 103. -
Logic circuitry 102 is organized in a multi-level hierarchy of modules.Logic circuitry 102 in its entirety may be considered a module of the highest level L0. Each higher-level module comprises multiple modules of an immediately lower level in the hierarchy. For simplicity, a 4-level hierarchy (L0, L1, L2, L3) is illustrated, however the technology described herein is also appropriate for 2-level hierarchies (L0, L1), 3-level hierarchies (L0, L1, L2) and hierarchies of more than 4 levels. - In the illustrated example,
logic circuitry 102 comprises multiple modules of an immediately lower level L1 in the hierarchy, explicitly showing three L1 modules referenced 104-1, 104-2 and 104-3, respectively. The composition and functionality of any two L1 modules may be identical or may differ from each other. All L1 modules receive their power from apower distribution network 105 in the L0 module. - In the illustrated example, L1 module 104-1 comprises multiple modules of an immediately lower level L2 in the hierarchy, explicitly showing four L2 modules referenced 106-1, 106-2, 106-3 and 106-4, respectively. The composition and functionality of any two L2 modules may be identical or may differ from each other. All L2 modules in L1 module 104-1 receive their power from a
power distribution network 107 in L1 module 104-1. - In the illustrated example, each of L2 modules 106-1, 106-2, 106-3 and 106-4 comprises
multiple modules 108 of a lowest level L3 in the hierarchy, explicitly showing two L3 modules. Despite being referenced by thesame numeral 108, the composition and functionality of any two L3 modules may be identical or may differ from each other. All L3 modules in L2 module 106-3 receive their power from a power distribution network 109-1 in L2 module 106-3. All L3 modules in L2 module 106-4 receive their power from a power distribution network 109-2 in L2 module 106-4. -
Logic circuitry 102 and its modules, depending on their current state and the data on whichlogic circuitry 102 is performing its one or more operations, may draw current at active edges ofclock 103. Variations in the current consumption of a single lower-level module or oflogic circuitry 102 in its entirety may reveal details of the one or more operations performed bylogic circuitry 102 and may reveal the data on which the one or more operations are being performed. In the example wherelogic circuitry 102 performs one or more cryptographic operations, variations in the current consumption of a single lower-level module or oflogic circuitry 102 in its entirety may reveal any one or any combination of: cryptographic keys, random or pseudorandom numbers, details of algorithms, and data on which the one or more cryptographic operations are being performed. An attack that makes use of varying current consumption by the logic circuitry during computation is known as a power monitoring attack, which is a type of side-channel attack. -
Integrated circuit 100 comprises multiple sensing circuits, illustrated for simplicity as resistive elements. Each sensing circuit is to sense current consumption of a respective one of the modules. For each of the sensing circuits, the integrated circuit comprises a dedicated concealing circuit that receives as input a voltage corresponding to the current consumption sensed by the sensing circuit. A concealing circuit conceals the current consumption of the module to which the concealing circuit is dedicated. - As will become apparent from the description of
FIG. 5 , the sensed current consumption changes at frequencies higher than the frequency ofclock 103. For example, in static complementary metal-oxide semiconductor (CMOS) integrated circuits, assuming a clock at a frequency of 250 MHz, the clock period is 4 nanoseconds. Most of the power dissipation of the module happens in the form of dynamic power dissipation and crowbar power dissipation following the active edges of the clock, which occurs over approximately 20%-30% of the clock period. At the rest of the clock period, most of the power dissipation is leakage which is smaller compared to the power dissipation following the active edges of the clock. - In the illustrated example, each concealing circuit comprises a controllable
current source 112, adissipative load 114 to draw current from controllablecurrent source 112, and acontrol circuit 116 to control controllablecurrent source 112 to produce current according to current consumption sensed by the sensing circuit. The dissipative loads 114 are illustrated as resistive elements, the controllablecurrent sources 112 are illustrated as circles with downward pointing arrows, and thecontrol circuits 116 are illustrated as black boxes. Each controllablecurrent source 112 receives power from one or more power lines, for example, from single voltage source VDD, although this is not illustrated explicitly inFIG. 1 . A non-exhaustive list of examples for controllablecurrent source 112 includes a voltage-to-current converter, an operational transconductance amplifier, and a voltage controlled current source. - Implementation of the technology described herein imposes a power distribution constraint that a lower-level module for which the integrated circuit comprises dedicated concealing circuit receives its power entirely through a sensing circuit from the power distribution network of the immediately higher-level module to which the lower-level module belongs. In the absence of this power distribution constraint, the sensing circuit would be unable to sense all of the current consumption of the lower-level module.
- In the illustrated example, the integrated circuit comprises dedicated concealing circuits for some of the lower-level modules, namely L1 modules 104-1 and 104-2, L2 modules 106-2 and 106-4, and the L3 modules belonging to L2 modules 106-3 and 106-4, and therefore those lower-level modules receive their power entirely through a sensing circuit from the power distribution network of the immediately higher-level module to which they belong.
- In the illustrated example, the integrated circuit does not comprise dedicated concealing circuits for others of the lower-level modules, namely L1 module 104-3, L2 modules 106-1 and 106-3, and the L3 modules belonging to L2 modules 106-1 and 106-2. Therefore, as illustrated for L1 module 104-3, L2 modules 106-1 and 106-3, and the L3 modules belonging to L2 module 106-2, those lower-level modules receive their power directly from the power distribution network of the immediately higher-level module to which they belong. Because the integrated circuit does not comprise a dedicated concealing circuit for L2 module 106-1, the L3 modules belonging to L2 module 106-1 receive their power directly from
power distribution network 107 of L1 module 104-1. - A concealing circuit conceals the current consumption IC of the module to which the concealing circuit is dedicated by consuming current such that an instantaneous power sum PTOTAL of an instantaneous power PL dissipated by the concealing circuit and the instantaneous power PC dissipated by the module is substantially independent of activity of the module. The contribution to the instantaneous power sum PTOTAL that arises from data-specific switching in the module may be lower than the power level of the noise which is always present in the integrated circuit. This noise could be due to a variety of factors such as substrate coupling and the noise of MOS transistors. Inclusion of the concealing circuit in the integrated circuit may reduce the susceptibility of the module to which the concealing circuit is dedicated to power analysis attacks and may reduce the susceptibility of the logic circuit in its entirety to power analysis attacks.
- The concealing circuit may be co-located, that is, placed and routed together, with the module to which the concealing circuit is dedicated. For example, the module may have 100 logic gates and the concealing circuit may have 50 logic gates, and all these gates are interspersed, placed and routed together. Such co-location may thwart electromagnetic (EM) probe attacks, which are another type of side-channel attacks, because the proximity of the module to its dedicated concealing circuit means that an EM probe placed over the module will detect not only the EM emission from the module but also the EM emission from the concealing circuit. The detected EM emission is substantially independent of activity of the module, and therefore the detected EM emission will not reveal operational details of the module.
- The current consumption of higher-level modules is greater than the current consumption of lower-level modules, thus a concealing circuit will be designed for the current consumption of the module to which the concealing circuit is dedicated, in that the concealing circuit is designed based on the peak current and the rate of change of current of the module. For example, transistor sizing and load capacitance in the concealing circuit may be designed based on the peak current and the rate of change of current of the module.
- Because the current consumption of a single lower-level module is less than the current consumption of the logic circuitry in its entirety, a concealing circuit dedicated to the single lower-level module may be able to respond more quickly to variations in the current consumption of the single lower-level module than a concealing circuit dedicated to the logic circuitry in its entirety.
- If lower-level modules belonging to a higher-level module have dedicated concealing circuits, the variations in current consumption to be concealed by a concealing circuit dedicated to the higher-level module will be smaller than if those lower-level modules did not have dedicated concealing circuits. Consequently, the rate of change of variations in the current consumption will be slower in the concealing circuit dedicated to the higher-level module than what would have been the rate of change if those lower-level modules did not have dedicated concealing circuits.
- The inclusion of sensing circuits and dedicated concealing circuits in an integrated circuit that comprises logic circuitry increases the die size and may also increase the overall cost of the integrated circuit. In some implementations, the integrated circuit may be designed to include a sensing circuit and a dedicated concealing circuit for each and every module in the multi-level hierarchy of modules of the logic circuitry. In other implementations, the integrated circuit may be designed so that it comprises sensing circuits and dedicated concealing circuits for some of the modules and does not comprise sensing circuits and dedicated concealing circuits for others of the modules.
Integrated circuit 100 is an example of an integrated circuit that does not comprise sensing circuits and dedicated concealing circuits for each and every module in the logic circuitry. - The inclusion in an integrated circuit of a dedicated concealing circuit for a module may provide some protection from side-channel attacks on the module. The benefit of including in an integrated circuit a dedicated concealing circuit for a particular module may be minimal where the particular module already has, through a different technique, some protection from side-channel attacks, especially if the particular module comprises lower-level modules for which the integrated circuit does include dedicated concealing circuits. Therefore, to avoid undue increases in the die size, the integrated circuit may be designed not to comprise sensing circuits and dedicated concealing circuits for modules that already have, through a different technique, some protection from side-channel attacks, especially where those modules comprise lower-level modules for which the integrated circuit does include dedicated concealing circuit.
- For example, complementary logic is a technique that provides some protection from side-channel attacks. The integrated circuit may comprise complementary logic for some of the modules. The integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- In another example, dual data paths - with or without complementary logic - is a technique that provides some protection from side-channel attacks. The integrated circuit may comprise dual data paths for some of the modules. The integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- In yet another example, constant current circuits is a technique that provides some protection from side-channel attacks. The integrated circuit may comprise constant current circuits, such as wave dynamic differential logic (WDDL), for some of the modules. The integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- In a further example, masking is a technique that provides some protection from side-channel attacks. Some of the modules of the integrated circuit may operate on masked data, that is, on data to which a mask has been applied. The integrated circuit may be designed not to comprise concealing circuits for such modules, especially where such modules comprise lower-level modules for which the integrated circuit does include a dedicated concealing circuit.
- More generally, an integrated circuit that includes modules that operate on masked data also includes one or more modules for storing a mask, for modifying the mask, for applying the mask to data, for removing the mask, and the like. The integrated circuit may be designed to implement a hiding technique on the modules that store, modify, apply, or remove the mask, and may be designed not to implement the hiding technique to the modules that operate on masked data. A reason for this is that the module that operates on masked data inherently has some protection by virtue of the mask. The hiding technique is, for example, the use of sensing circuits and concealing circuits as described in this document, or the use of complementary logic, or the use of dual data paths - with or without complementary logic, or the use of constant current circuits.
-
FIG. 1 does not illustrate data interconnections between the multiple modules comprised inlogic circuitry 102. Rather, as already discussed in detail above,FIG. 1 illustrates how power is distributed withinlogic circuitry 102, how power is distributed to thecontrol circuits 116, and how current consumption of modules is sensed and used to control the generation of current by controllablecurrent sources 112, which current is dissipated bydissipative loads 114. - There are different options for organizing
logic circuitry 102 in the multi-level hierarchy of modules. In one option, the hierarchy may be based on an increasing number of logic gates per module at each higher level, for example, inverters, XOR, NOR, NAND and other logic gates. For example, the increasing number of logic gates per module may follow a logarithmic scale, such as 100,000 logic gates per module at the highest level L1, 10,000 logic gates per module at the next level L2, 1000 logic gates per module at the next level L3, and 100 logic gates at the lowest level L4. In another example, the increasing number of logic gates per module may follow a non-linear pattern, such as 100 logic gates per module at the lowest level, 200 logic gates per module at the next level, 400 logic gates per module at the next level, 800 logic gates per module at the next level, 1600 logic gates per module at the next level, 3200 logic gates per module at the next level, 6400 logic gates per module at the next level, and so on. - In another option, the hierarchy may be based on an increasing average current consumption per module at each higher level. For example, the increasing average current consumption per module may follow a logarithmic scale, such as 1 Amperes (A) at the highest level L1, 100 mA at the next level L2, 10 mA at the next level L3, 1 mA at the next level L4, 100 ĀµA at the next level L5, and 10 ĀµA at the lowest level L6.
- In a further option, the hierarchy may be based on a functional hierarchy or natural design hierarchy of
logic circuitry 102. For example, wherelogic circuitry 102 implements one or more Advanced Encryption Standard (AES) operations, a 4-level hierarchy may be appropriate, in which the lowest level L3 comprises XOR array modules and shifter array modules, the next level L2 comprises AddRoundKey modules, S-box modules, MixColumns modules, and ShiftRows modules, and the next level L1 comprises one or more of a group consisting of an AES encryption core module, an AES decryption core module, and an AES decryption core module. This example is described with respect toFIG. 2-1 andFIG. 2-2 . -
FIG. 2-1 is a block diagram illustration of an example integrated circuit, generally referenced 200.Integrated circuit 200 is an example ofintegrated circuit 100 described above. -
Integrated circuit 200 comprisesexample logic circuitry 202 for performing one or more cryptographic operations. In the illustrated example, the cryptographic operations are based on the Advanced Encryption Standard (AES), which was announced on November 26, 2001 by the National Institute of Standards and Technology (NIST).Logic circuitry 202 draws current from one or more power lines, illustrated for simplicity as a single voltage source VDD. Logic circuitry 202 is driven by one or more clock signals, illustrated for simplicity as asingle clock 203. -
Logic circuitry 202 is organized in a multi-level hierarchy of modules, based on functionality of the modules.Logic circuitry 102 in its entirety may be considered a module of the highest level L0. In the illustrated example,logic circuitry 202 comprises an AES Encryption Core module 204-1, an AES Decryption Core module 204-2 and an AES Key Generation module 204-3, all receiving their power from apower distribution network 205 in the L0 module. -
Integrated circuit 200 comprises multiple sensing circuits, illustrated for simplicity as resistive elements. Each sensing circuit is to sense current consumption of a respective one of the modules. As noted above, the sensed current consumption changes at frequencies higher than the frequency ofclock 103. - For example,
logic circuitry 202 draws current entirely through asensing circuit 210 into itspower distribution network 205. AES Encryption Core module 204-1 draws current frompower distribution network 205 entirely through a sensing circuit 210-1. AES Decryption Core module 204-2 draws current frompower distribution network 205 entirely through a sensing circuit 210-2. AES Key Generation Core module 204-3 draws current frompower distribution network 205 entirely through a sensing circuit 210-3. - For each of the sensing circuits, integrated
circuit 200 comprises a dedicated concealing circuit that receives as input a voltage corresponding to the current consumption sensed by the sensing circuit. For example, integratedcircuit 200 comprises a dedicated concealing circuit forlogic circuitry 202 in its entirety, the concealing circuit comprising a controllablecurrent source 212, adissipative load 214 to draw current from controllablecurrent source 212, and acontrol circuit 216 to control controllablecurrent source 212 to produce current according to current consumption sensed by sensingcircuit 210. -
Integrated circuit 200 comprises a dedicated concealing circuit for AES Encryption Core module 204-1, the concealing circuit comprising a controllable current source 212-1, a dissipative load 214-1 to draw current from controllable current source 212-1, and a control circuit 216-1 to control controllable current source 212-1 to produce current according to current consumption sensed by sensing circuit 210-1. -
Integrated circuit 200 comprises a dedicated concealing circuit for AES Decryption Core module 204-2, the concealing circuit comprising a controllable current source 212-2, a dissipative load 214-2 to draw current from controllable current source 212-2, and a control circuit 216-2 to control controllable current source 212-2 to produce current according to current consumption sensed by sensing circuit 210-2. -
Integrated circuit 200 comprises a dedicated concealing circuit for AES Key Generation Core module 204-3, the concealing circuit comprising a controllable current source 212-3, a dissipative load 214-3 to draw current from controllable current source 212-3, and a control circuit 216-3 to control controllable current source 212-3 to produce current according to current consumption sensed by sensing circuit 210-3. - The dissipative loads 214, 214-1, 214-2 and 214-3 are illustrated as resistive elements, the controllable
current sources 212, 212-1, 212-2 and 212-3 are illustrated as circles with downward pointing arrows, and thecontrol circuits 216, 216-1, 212-2 and 216-3 are illustrated as black boxes. Each controllable current source receives power from one or more power lines, for example, from single voltage source VDD, although this is not illustrated explicitly inFIG. 2-1 . In some implementations, controllable current sources 212-1, 212-2 and 212-3 receive power frompower distribution network 205. A non-exhaustive list of examples for controllablecurrent sources 212, 212-1, 212-2 and 212-3 includes voltage-to-current converters, operational transconductance amplifiers, and voltage controlled current sources. -
FIG. 2-2 is a block diagram illustration of AES Encryption Core module 104-1. Details of AES Encryption Core module 104-1 discussed below are equally applicable to AES Decryption Core module 104-2 and to AES Key Generation module 104-3. - In the illustrated example, AES Encryption Core module 104-1 comprises an AddRoundKey module 206-1, a ShiftRows module 206-2, an S-box module 206-3, a MixColumns module 206-4, each of which receives power from a
power distribution network 207 through a respective sensing circuit, and for each of whichintegrated circuit 200 comprises a dedicated concealing circuit. - AES Encryption Core module 104-1 also comprises a masked algorithm module 206-5 for which
integrated circuit 200 does not comprise a dedicated concealing circuit. Therefore masked algorithm module 206-5 receives power directly frompower distribution network 207. Masked algorithm module 206-5 operates on masked data, that is, on data to which a mask has been applied. The output of masked algorithm module 206-5 may be subject to additional masked algorithm modules or may be demasked, that is, have the mask removed. - In the illustrated example, S-box module 206-3, MixColumns module 206-4 and masked algorithm module 206-5 comprise a combination of XOR array modules 208-1 and Shifter array modules 208-2, for each of which the integrated circuit comprises a sensing circuit and a dedicated concealing circuit. Hence each of the XOR array modules 208-1 and the Shifter Array modules 208-2 receives its power through its sensing circuit from the power distribution network of its immediately-higher level module. Although not explicitly illustrated in
FIG. 2-2 , AddRoundKey module 206-1 and ShiftRows module 206-2 also comprise a combination of XOR array modules 208-1 and Shifter Array modules 208-2, for each of which the integrated circuit comprises a sensing circuit and a dedicated concealing circuit. -
FIG. 3 is a simplified circuit diagram illustration of a portion of an example integrated circuit, providing additional detail as to the composition of an example concealing circuit. - Logic circuitry, for example,
logic circuitry 102 orlogic circuitry 202, comprises amodule 352. One or more data inputs tomodule 352 are indicated by an arrow 352-1 and one or more data outputs frommodule 352 are indicated by an arrow 352-2.Module 352 is driven by aclock 353.Module 352, which comprises one or more logic elements such as gates, flip-flops, state machines, and the like, draws a fluctuating current 354 from apower distribution network 356 via aresistor 358.Resistor 358 is further referenced RX, fluctuating current 354 is further referenced IC, andpower distribution network 356 is further referenced VDD. The internal state ofmodule 352 at any time is the combination of the states of all its logic elements. - An operational amplifier (OP_AMP) 360 receives a constant reference voltage VR to its inverting input. A
transistor 362, for example a field-effect transistor (FET) transistor, is connected to an output of OP-AMP 360 and to a non-inverting input of OP-AMP 360.Transistor 362 is further referenced T1. In the example of a FET transistor, a gate oftransistor 362 is connected to an output of OP-AMP 360 and a drain of the FET transistor is connected to the non-inverting input of OP-AMP 360. -
Transistor 362 and the non-inverting input of OP-AMP 360 are connected to draw a fluctuating current 364 from VDD via resistor RX. Fluctuating current 364 is further referenced IT. A corresponding fluctuating voltage 366 at the non-inverting input of OP-AMP 360 is further referenced VC. In a non-limiting example, VR may have a value of VC_MAX, where VC_MAX is a maximal value of VC. OP-AMP 360 controls the conductivity of transistor T1 according to a voltage difference between VC and VR and therefore influences the magnitude of the current IT according to the voltage difference between VC and VR. - A fluctuating current 368, further referenced IX, flows through RX, and is the sum of current IC and current IT. The circuit of
FIG. 3 attempts to regulate the sum of powers dissipated by RX, T1 andmodule 352 to be substantially constant. If the power consumption ofmodule 352 decreases, IC decreases and OP-AMP 360 controls transistor T1 to increase current IT. The increase in current IT causes an increase in the power consumption of T1 and causes an increase in current IX, which in turn causes an increase in the power consumption of RX. Therefore, the circuit ofFIG. 3 attempts to balance a decrease in the power consumption ofmodule 352 by increasing the power consumption of transistor T1 and resistor RX, and vice versa. Overall, the power consumption of the elements shown inFIG. 3 is substantially constant and therefore independent of the activity ofmodule 352. -
FIG. 4 is a block diagram illustration of a portion of an example integrated circuit, providing additional detail as to the composition of an example concealing circuit, and specifically to the composition of an example control circuit. - Logic circuitry, for example,
logic circuitry 102 orlogic circuitry 202, comprises amodule 302. One or more data inputs tomodule 302 are indicated by an arrow 302-1 and one or more data outputs frommodule 302 are indicated by an arrow 302-2.Module 302 is driven by aclock 303.Module 302, which comprises one or more logic elements such as gates, flip-flops, state machines, and the like, draws current from apower distribution network 305. The internal state ofmodule 302 at any time is the combination of the states of all its logic elements. - Briefly,
FIG. 5 is a timing diagram helpful in understanding the operation ofmodule 302. Active edges ofclock 303 are illustrated inFIG. 5 as vertical lines. The active edges may be the rising edges ofclock 303, or the falling edges ofclock 303, or both the rising edges ofclock 303 and the falling edges ofclaim 303. - The values of the one or more data inputs may change in advance of each active edge of
clock 303. For example, in advance ofactive edges - At each active edge,
module 302 samples its data inputs. A short time thereafter, the elements ofmodule 302 react to the sampled inputs, eventually settling into a new internal state in advance of the next active edge. The new internal state depends both on the previous internal state, as indicated byarrows 410, and on the sampled inputs, as indicated byarrows 412. Some elements ofmodule 302 may react faster than other elements ofmodule 302. While the elements are reacting, the internal state ofmodule 302 is unsettled, as illustrated inFIG. 5 by hatchedareas 414. For example, the internal state ofmodule 302 transitions from "J" to "K" to "L" to "M" followingactive edges - The timing diagram is not drawn to scale. It will be appreciated by persons of ordinary skill in the art that the period of time during which the elements of
module 302 react to sampled inputs and settle into a new internal state in advance of the next active edge may depend on many factors, for example, the timing design ofmodule 302, the composition of the die, the operating temperature, and in which technology the logic gates are implemented (e.g., CMOS, TTL, and the like). - Just as the elements of
module 302 react to the sampled inputs and settle into a new internal state in advance of the next active edge, the one or more data outputs settle into new values in advance of the next active edge. The new values of the one or more data outputs depend both on the previous internal state, as indicated byarrows 416, and on the sampled inputs, as indicated byarrows 418. Because the data outputs are merely samples of selected ones of the elements ofmodule 302, while the internal state ofmodule 302 is unsettled, the data outputs may also be unsettled, as illustrated inFIG. 5 by hatchedareas 420. For example, the data outputs transition from values collectively indicated as "W" to "X" to "Y" to "Z" followingactive edges - The elements of
module 302 consume current as they switch their internal logical states in reaction to the sampled inputs. Example current consumption traces are illustrated, with a flat line indicating the constant current consumption ofmodule 302 while in a settled internal state, in idealized, that is, noiseless, circumstances.Traces sensing circuit 310, which is the voltage corresponding to the current consumption ofmodule 302 followingactive edges module 302 followingactive edges Traces module 302 are different after each active edge, due to differences in the previous internal state and in the sampled data inputs. It is those differences intraces module 302 or information about the sampled data inputs or both, in a power analysis attack. - Returning now to
FIG. 4 ,module 302 draws a fluctuating current IC frompower distribution network 305 entirely through asensing circuit 310.Sensing circuit 310 is to sense current consumption IC and to output a fluctuating voltage VC corresponding to IC. A dedicated concealingcircuit 315 conceals the current consumption ofmodule 302. Dedicated concealingcircuit 315 receives voltage VC as input. Concealingcircuit 315 comprises a controllablecurrent source 312, adissipative load 314 to draw current from controllablecurrent source 312, and acontrol circuit 316 to control controllablecurrent source 312.Control circuit 316 receives voltage VC as input. Controllablecurrent source 312 receives power from one or more power lines, for example, from single voltage source VDD, although this is not illustrated explicitly inFIG. 4 . A non-exhaustive list of examples for controllablecurrent source 312 includes voltage-to-current converters, operational transconductance amplifiers, and voltage controlled current sources. -
Sensing circuit 310 is an example of any one of the sensing circuits illustrated inFIG. 1 ,FIG. 2-1 and FIG. 2-3. Dedicated concealingcircuit 315 comprising controllablecurrent source 312,dissipative load 314 andcontrol circuit 316 is an example of any one of the dedicated concealing circuits illustrated inFIG. 1 ,FIG. 2-1 andFIG. 2-2 . - In the example illustrated in
FIG. 4 ,control circuit 316 comprisesdifferential circuitry 317 and asquare root circuit 319.Differential circuitry 317 receives voltage VC and a reference voltage VR as inputs and outputs a voltage VD that is substantially equal to a voltage difference (Ī±VR-VC) between a scaled-up version of reference voltage VR and voltage VC. The scaled-up version of reference voltage VR is scaled to approximately the scale of voltage VC. If the scale of reference voltage VR is already approximately the scale of voltage VC, then scaling factor Ī± equals or is close to the value one.Square root circuit 319 receives VD as input and outputs a voltage VS that is substantially equal to the square root of VD. -
-
FIG. 6 is a block diagram illustration of a portion of another example integrated circuit, providing additional detail as to the composition of another example concealing circuit, and specifically to the composition of another example control circuit.Module 302 is as described above with respect toFIG. 4 andFIG. 5 .Sensing circuit 310 is as described above with respect toFIG. 4 . - In the example illustrated in
FIG. 6 , a dedicated concealingcircuit 515 conceals the current consumption IC ofmodule 302. Dedicated concealingcircuit 515 receives as input a voltage VC corresponding to the current consumption IC sensed by sensingcircuit 310. Concealingcircuit 515 comprises a controllablecurrent source 512, adissipative load 514 to draw current from controllablecurrent source 512, and acontrol circuit 516 to control controllablecurrent source 512.Control circuit 516 receives voltage VC as input. Controllablecurrent source 512 receives power from one or more power lines, for example, from single voltage source VDD, although this is not illustrated explicitly inFIG. 6 . A non-exhaustive list of examples for controllablecurrent source 512 includes voltage-to-current converters, operational transconductance amplifiers, and voltage controlled current sources. Dedicated concealingcircuit 515 comprising controllablecurrent source 512,dissipative load 514 andcontrol circuit 516 is an example of any one of the dedicated concealing circuits illustrated inFIG. 1 ,FIG. 2-1 andFIG. 2-2 . - In the example illustrated in
FIG. 6 ,control circuit 516 comprises areference sensing circuit 510,reference circuitry 502,differential circuitry 504 and asquare root circuit 505. The operation of one or more logic elements inreference circuitry 502 is synchronized toclock 303. Althoughreference circuitry 502 comprises logic elements, it is the analog behavior of reference circuitry that is of interest, rather than any digital behavior.Reference circuitry 502 draws current frompower distribution network 305 entirely throughreference sensing circuit 510.Reference sensing circuit 510 is to sense current consumption ofreference circuitry 502 and to output a fluctuating voltage VR that is proportional to instantaneous current IR.Reference sensing circuit 510, in converting current to voltage, may optionally scale up, so that the scale of voltage VR is approximately the scale of voltage VC. -
Differential circuitry 504 receives voltage VC and voltage VR as inputs and outputs a voltage VD that is substantially equal to a voltage difference (Ī±VR-VC) between a scaled-up version of reference voltage VR and voltage VC. The scaled-up version of reference voltage VR is scaled to approximately the scale of voltage VC. If the scale of reference voltage VR is already approximately the scale of voltage VC, then scaling factor Ī± equals or is close to the value one.Square root circuit 505 receives VD as input and outputs a voltage VS that is substantially equal to the square root of VD. Controllablecurrent source 512 receives VS as an input and induces a current IL that is proportional todissipative load 514. Thusdissipative load 314 dissipates power that that is proportional to |Ī±VR-VC|. -
FIGs. 7-1, 7-2 and 7-3 are timing diagrams helpful in understanding the operation of concealingcircuit 515. Active edges ofclock 303 are illustrated inFIGs. 7-1,7-2 and 7-3 as vertical lines. The active edges may be the rising edges ofclock 303, or the falling edges ofclock 303, or both the rising edges ofclock 303 and the falling edges ofclock 303. - Diagrams 602 illustrate the timing of the one or more data inputs to
module 302. The timing of the internal state ofmodule 302 is illustrated in diagrams 604, and the timing of the one or more data outputs ofmodule 302 is illustrated in diagrams 606. - As explained above with respect to
FIG. 5 , the values of the one or more data inputs may change in advance of each active edge ofclock 303, andmodule 302 samples the data inputs at the active edge. A short time thereafter, the elements ofmodule 302 react to the sampled inputs, eventually settling into a new internal state in advance of the next active edge, and the one or more data outputs settle into new values in advance of the next active edge. - Multiple clock periods are illustrated in each of
FIGs. 7-1, 7-2 and 7-3 . Diagrams 608 show a superposition oftraces module 302 followingactive edges circuit 310, for the clock periods betweenactive edges active edges active edges - Diagrams 610, 620 and 630 illustrate the scaled-up voltage Ī±VR for the clock periods between
active edges active edges active edges - Diagrams 612, 622 and 632 provide a superposition of voltage VC and scaled-up voltage Ī±VR. Diagrams 614, 624 and 634 illustrate the difference between the scaled-up voltage Ī±VR and the voltage VC, and therefore illustrate the output of
differential circuitry 504. It is the output ofdifferential circuitry 504 that controls how much current is drawn by controllablecurrent source 512 and dissipated bydissipative load 314. The energy represented by diagrams 614, 624 and 634 is lower than the energy represented by diagrams 608, and therefore the current that controllablecurrent source 512 is controlled to produce is of lower energy than that consumed bymodule 302. -
Reference circuitry 502 may be designed to draw current frompower distribution network 305 according to a reference current waveform, thus causingreference sensing circuit 510 to produce a particular reference voltage waveform. For example, as illustrated in diagram 610, a squarereference voltage waveform 611 is at its higher level during the time that the elements ofmodule 302 are reacting to newly sampled data inputs and at its lower level during the rest of the time between active edges ofclock 303. - In another example, illustrated in diagram 620, a smoother
reference voltage waveform 621 that better approximates traces 422, 424 and 426 is used. - As an alternative to designing
reference circuitry 502 to causereference sensing circuit 510 to produce a particular reference voltage waveform,reference circuitry 502 may be any circuitry including logic elements that are synchronized toclock 303. Becausereference circuitry 502 includes logic elements that are synchronized toclock 303, its logic elements react to sampled inputs and settle into a new internal state in much the same way as the elements ofmodule 302.Trace 631 illustrated in diagram 630 shows the voltage output byreference sensing circuit 510 in this alternative, which may vary from one time period between active edges ofclock 303 to another. For example,reference circuitry 502 may comprise a simple inverter.Reference circuitry 502 may draw much less current thanmodule 302. The sampled current waveform ofreference circuitry 502 may be amplified byreference sensing circuit 510 to generally have a similar magnitude as that of the current consumption ofmodule 302. -
FIG. 8 is a circuit diagram illustration of an example implementation of the integrated circuit portion ofFIG. 5 .FIG. 9 is a timing diagram helpful in understanding the operation of the circuit diagram ofFIG. 8 . For clarity, the circuit diagram ofFIG. 8 , the timing diagram ofFIG. 9 and the corresponding description are simplified. For further clarity, some reference numerals inFIGS. 8 and9 are the same as inFIG. 5 . However, some reference numerals are different or added inFIGS. 8 and9 to emphasize the exemplary implementation. The usage of reference numerals is not intended to be limiting. - In
FIG. 8 ,reference sensing circuit 510 includes anOP_AMP 802 and aresistor 804, further referenced R7, connected in a current-to-voltage conversion configuration. Similarly,sensing circuit 310 includes anOP_AMP 806 and aresistor 808, further referenced R1, connected in a current-to-voltage conversion configuration.Module 302 consumes a fluctuating current 810, further referenced IC. Reference circuitry 502 consumes a fluctuating current 812, further referenced IR. Sensing circuit 310 outputs a fluctuatingvoltage 814, further referenced VC.Reference sensing circuit 510 outputs a fluctuatingvoltage 816, further referenced VR.Reference sensing circuit 510, in converting current to voltage, may optionally scale up by appropriate choice of R7, so that the scale of voltage VR is approximately the scale of voltage VC. -
- In the example of
FIGS. 8 and9 ,module 302 is driven byclock 303 and the active edges ofclock 303 are the rising edges (from a low logic level to a high logic level). Accordingly, current consumption traces such as 422 and 424 (discussed in relation toFIG. 4 ) appear inFIG. 9 following the rising edges ofclock signal 303. - In
FIG. 9 , horizontal dottedline 918 represents a selectable maximal value of IC, further referenced IC_MAX. Each of the current consumption traces of IC may have several current spikes and IC_MAX may be selected to be higher than all the current spikes or to be higher than some of the current spikes and lower than others of the current spikes. -
- In the example of
FIGs. 8 and9 , and in contrast toFIG. 5 ,reference circuitry 502 receives aninverse clock signal 903 and notclock signal 303. As shown inFIG. 9 ,inverse clock signal 903 has logic levels that are opposite to the logic levels ofclock signal 303. - In the example of
FIGs. 8 and9 ,reference circuitry 502 is an inverter circuit, made oftransistors Inverter circuit 502 has anoutput capacitance 828 which may be influenced by properties oftransistors FIG. 9 ) ofinverse clock signal 903,transistor 824 directs current 812, further referenced IR, to chargeoutput capacitance 828. Following rising edges ofinverse clock signal 903,transistor 826discharges output capacitance 828 into the electrical ground. As a result, a fluctuatingvoltage 830, further referenced VI, develops overoutput capacitance 828. As shown inFIG. 9 , current IR is consumed byinverter 502 primarily whileoutput capacitance 828 is being charged viatransistor 824. Therefore,fluctuations 932 in current IR occur followingactive edges clock 303. The duration offluctuations 932 in IR and hence offluctuations 933 in VR depend onoutput capacitance 828. With an appropriate choice ofoutput capacitance 828, thefluctuations 932 in IR and hence thefluctuations 933 in VR will occur substantially at the same times as the fluctuations in the current IC. In other words, with an appropriate choice ofoutput capacitance 828,reference circuitry 502 andmodule 302 have approximately the same duty cycle of activity and inactivity. - In
FIG. 9 , horizontal dottedline 934 represents a selectable maximal value of IR, further referenced IR_MAX. Each of the current consumption traces of IR, such as 932, may have several current spikes and IR_MAX may be selected to be higher than all the current spikes or to be higher than some of the current spikes and lower than others of the current spikes. Horizontaldotted line 936 represents a maximal value VR_MAX of VR, corresponding to IR_MAX. In general, the relationship between IR_MAX and VR_MAX is as shown in equation (4). - While
reference circuit 502 includes only one logic gate (an inverter) in the example ofFIG. 8 ,module 302 may contain many logic elements. As a result, IR_MAX may be much smaller than IC_MAX. However, R7 may be selected such that VR_MAX substantially equals VC_MAX. Equation (5) shows the selection criteria for R1 and R7 according to the relationship between VC_MAX and VR_MAX. - In the illustrated example,
differential circuitry 504 receives VC and VR as inputs and includes an OP-AMP 838 and fourresistors 840.Resistors 840 are selected to have substantially the same resistance, referenced R, and are connected with OP-AMP 838 in a differential amplifier configuration.Differential circuitry 504 outputs a fluctuatingvoltage 842, further referenced VD. In general, the relationship between difference voltage VD, reference voltage VR, and voltage VC is as shown in equation (6). - Ī±VR is a scaled-up version of reference voltage VR. If the scale of reference voltage VR is already approximately the scale of voltage VC, then scaling factor Ī± equals or is close to the value one.
- Difference voltage VD is of much lower energy than voltage VC, because reference voltage VR is of similar magnitude to the portion of voltage VC that is due to the general switching of
module 302. The portion of voltage VC that is due to the data-specific switching ofmodule 302 is generally of much smaller magnitude than VC_MAX. Thus controllablecurrent source 512 anddissipative load 514 handle a much lower energy than VC_MAX. -
-
- In the illustrated example, controllable
current source 512 receives VS as an input and includes an OP-AMP 848 and aresistor 850, further referenced R2. OP-AMP 848,resistor 850 anddissipative load 514, further referenced R3, are connected in a voltage-to-current conversion configuration. A fluctuating current 852 flows through R3 and is further referenced as IL. In general, the relationships between VD, VS and IL are as shown in equation (9), and the power PL dissipated at R3 is shown in equations (10) and (11). -
-
-
-
- In the examples of
FIGS. 7-1, 7-2 and 7-3 , PTOTAL may substantially followcurves line 608. - In another implementation of the circuit of
FIG. 8 ,reference circuitry 502 andreference sensing circuit 510 may be omitted and reference voltage VR may be set to a constant value. - In yet another implementation of the circuit of
FIG. 8 ,reference circuitry 502 may be circuitry that generates a desired reference voltage waveform. -
FIG. 10 is a block diagram illustration of a portion of an example integratedcircuit 1000, illustrating different options for the placement of dissipative loads relative to logic modules. Integratedcircuit 1000 comprises asemiconductor die 1001 and, if the integrated circuit is a packaged die, packaging (not shown) forsemiconductor die 1001. Semiconductor die 1001 compriseslogic modules Logic modules FIGS. 1 - 9 . - Dissipative loads 1012, 1014, 1016, and 1018, corresponding to
logic modules - For example,
dissipative load 1012 is placed at substantially the middle of the area occupied bylogic module 1002. In another example,dissipative load 1014 is placed inside and close to an edge of the area occupied bylogic module 1004. In a further example,dissipative load 1016 is placed outside and close to an edge of the area occupied bylogic module 1006. In yet another example,dissipative load 1018, which is a distributed load and, as an example, is shown to have four portions, is placed inside the area occupied bylogic module 1008. Each portion ofdissipative load 1018 is operable to dissipate a portion of the power to be dissipated bydissipative load 1018 as a whole. - Dissipative loads, as in the examples illustrated in
FIG. 10 , may be placed or distributed to accommodate different concerns. A placement may be selected, for example, to accommodate placement and routing constraints of the semiconductor die, or to improve or optimize protection from EM probe attacks, or both. In one example, if a logic module emits EM emission substantially evenly throughout its area, a distributed dissipative load may be suitable to better thwart an EM probe attack. In another example, EM emission may be higher at particular areas of the logic module, and dissipative loads may be placed near these particular areas. - Although the subject matter has been described in language specific to structural features, methodological acts or both, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims (14)
- An integrated circuit (100) comprising:logic circuitry (102) for performing one or more operations, the logic circuitry organized in a multi-level hierarchy of modules (102,104-1,104-2,104-3,106-1,106-2,106-3,108) such that a module at a higher level comprises multiple modules at an immediately lower level in the hierarchy;multiple sensing circuits (110), each sensing circuit operable to sense an instantaneous current consumption IC of a respective one of the modules that draws current entirely through that sensing circuit; andfor each of the sensing circuits, a concealing circuit (112,114,116, 315, 515) operable to receive as input a voltage VC corresponding to the sensed instantaneous current consumption IC of its respective module, the concealing circuit operable to dissipate an instantaneous power PL such that an instantaneous power sum PTOTAL of the instantaneous power PL and the instantaneous power PC to be dissipated by its respective module is substantially independent of activity of its respective module.
- The integrated circuit as recited in claim 1, wherein each sensing circuit is co-located with its respective module and with its concealing circuit, and/or at least one of the operations is a cryptographic operation.
- The integrated circuit as recited in claim 1 or claim 2, wherein the integrated circuit does not comprise any concealing circuit dedicated for at least one particular one of the modules (104-3,106-1,106-3).
- The integrated circuit as recited in claim 3, wherein the at least one particular one of the modules (206-5) is configured to operate on masking data.
- The integrated circuit (200) as recited in any one of claims 1 to 4, wherein the multi-level hierarchy is based on a functional hierarchy.
- The integrated circuit (200) as recited in any one of claims 1 to 5, wherein the logic circuitry implements one or more Advanced Encryption Standard 'AES' operations and the hierarchy has three levels, the lowest level comprising XOR array modules (208-1) and shifter array modules (208-2), the middle level comprising AddRoundKey modules (206-1), S-box modules (206-3), MixColumns modules (206-4) and ShiftRows modules (206-2), and the highest level comprising at least one of an AES encryption core module (204-1), an AES key generation module (204-3), and an AES decryption core module (204-2).
- The integrated circuit as recited in any one of claims 1 to 4, wherein the number of logic gates per module increases at each higher level of the hierarchy, or wherein the number of logic gates per module increases logarithmically at each higher level of the hierarchy.
- The integrated circuit as recited in any one of claims 1 to 4, wherein the consumption of current per module increases at each higher level of the hierarchy, or wherein the consumption of current per module increases logarithmically at each higher level of the hierarchy.
- The integrated circuit as recited in any one of claims 1 to 8, wherein for each of the sensing circuits, the instantaneous power sum PTOTAL is substantially constant.
- The integrated circuit as recited in claim 9, wherein for each of the sensing circuits, the corresponding concealing circuit comprises a dissipative load (358) that is operable to dissipate the power PL and that sensing circuit comprises the dissipative load.
- The integrated circuit as recited in any one of claims 1 to 9, wherein for each of the sensing circuits, the corresponding concealing circuit comprises a dissipative load (314) that is operable to dissipate the power PL, and that sensing circuit (310) does not comprise the dissipative load.
- The integrated circuit as recited in any one of claims 1 to 9, wherein for each of the sensing circuits, the corresponding concealing circuit comprises:reference circuitry (502) having one or more logic elements;a reference sensing circuit (510) operable to output a voltage VR that is proportional to an instantaneous fluctuating current consumption IR of the reference circuitry;differential circuitry (504) operable to output a voltage difference Ī±VR-VC, where Ī±VR is a scaled-up version of the voltage VR scaled to approximately the scale of the voltage VC;a dissipative load (514); anda controllable current source (512) controllable by a function of the voltage difference Ī±VR-VC to generate current through the dissipative load, such that the instantaneous power PL includes a portion that is proportional to the voltage VR, and such that the instantaneous power PL is less than the portion that is proportional to the voltage VR by an amount substantially equivalent to the instantaneous power PC, whereby the instantaneous power sum PTOTAL is substantially proportional to the voltage VR.
- The integrated circuit as recited in claim 12, wherein the reference circuitry comprises an inverter circuit.
- The integrated circuit as recited in any one of claims 1 to 9, wherein for each of the sensing circuits, the corresponding concealing circuit comprises:differential circuitry (317) operable to output the voltage difference Ī±VR-VC, where Ī±VR is a scaled-up version of a constant reference voltage VR scaled to approximately the scale of the voltage VC;a dissipative load (314); anda controllable current source (312) controllable by a function of the voltage difference Ī±VR-VC to generate current through the dissipative load, such that the instantaneous power PL includes a portion that is proportional to the constant reference voltage VR, and such that the instantaneous power PL is less than the portion that is proportional to the constant reference voltage VR by an amount substantially equivalent to the instantaneous power PC, whereby the instantaneous power sum PTOTAL is substantially proportional to the constant reference voltage VR.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/283,426 US8635467B2 (en) | 2011-10-27 | 2011-10-27 | Integrated circuit with logic circuitry and multiple concealing circuits |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2587469A1 EP2587469A1 (en) | 2013-05-01 |
EP2587469B1 true EP2587469B1 (en) | 2017-04-05 |
Family
ID=45421829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP11189605.6A Active EP2587469B1 (en) | 2011-10-27 | 2011-11-17 | Integrated circuit with logic circuitry and multiple concealing circuits |
Country Status (3)
Country | Link |
---|---|
US (1) | US8635467B2 (en) |
EP (1) | EP2587469B1 (en) |
CA (1) | CA2789047C (en) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9069959B2 (en) * | 2012-12-21 | 2015-06-30 | Nxp B.V. | Cryptographic circuit protection from differential power analysis |
JP2017521949A (en) * | 2014-07-08 | 2017-08-03 | ćć£ćŖććøćÆć¹ļ¼ć¤ć³ć³ć¼ćć¬ć¤ććć | Continuously charged isolated power supply network for secure logic applications |
KR102376506B1 (en) * | 2014-10-20 | 2022-03-18 | ģ¼ģ±ģ ģģ£¼ģķģ¬ | Encryptor/decryptor, electronic apparatus including encryptor/decryptor and operation method of encryptor/decryptor |
FR3048296B1 (en) * | 2016-02-25 | 2018-03-30 | Stmicroelectronics (Rousset) Sas | METHOD AND DEVICE FOR ELECTROMAGNETIC INTERFERENCE FOR INTEGRATED CIRCUIT |
US10255462B2 (en) * | 2016-06-17 | 2019-04-09 | Arm Limited | Apparatus and method for obfuscating power consumption of a processor |
US10200192B2 (en) | 2017-04-19 | 2019-02-05 | Seagate Technology Llc | Secure execution environment clock frequency hopping |
US10459477B2 (en) | 2017-04-19 | 2019-10-29 | Seagate Technology Llc | Computing system with power variation attack countermeasures |
US10270586B2 (en) | 2017-04-25 | 2019-04-23 | Seagate Technology Llc | Random time generated interrupts in a cryptographic hardware pipeline circuit |
US10511433B2 (en) | 2017-05-03 | 2019-12-17 | Seagate Technology Llc | Timing attack protection in a cryptographic processing system |
US10771236B2 (en) | 2017-05-03 | 2020-09-08 | Seagate Technology Llc | Defending against a side-channel information attack in a data storage device |
US11308239B2 (en) | 2018-03-30 | 2022-04-19 | Seagate Technology Llc | Jitter attack protection circuit |
FR3104751B1 (en) | 2019-12-12 | 2021-11-26 | St Microelectronics Rousset | Method of smoothing a current consumed by an integrated circuit and corresponding device |
FR3113776A1 (en) | 2020-08-25 | 2022-03-04 | Stmicroelectronics (Rousset) Sas | Electronic circuit power supply |
FR3113777A1 (en) * | 2020-08-25 | 2022-03-04 | Stmicroelectronics (Rousset) Sas | Electronic circuit power supply |
US12047485B2 (en) * | 2020-12-23 | 2024-07-23 | Intel Corporation | Time and frequency domain side-channel leakage suppression using integrated voltage regulator cascaded with runtime crypto arithmetic transformations |
CN113984047B (en) * | 2021-10-29 | 2023-05-30 | č„æå®å¾®ēµåęęÆē ē©¶ę | Method for adjusting positive and negative symmetry of scale factors of I/F conversion circuit |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6698662B1 (en) * | 1998-03-20 | 2004-03-02 | Gemplus | Devices for hiding operations performed in a microprocesser card |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367642A (en) * | 1990-09-28 | 1994-11-22 | Massachusetts Institute Of Technology | System of express channels in an interconnection network that automatically bypasses local channel addressable nodes |
DE19505097C1 (en) | 1995-02-15 | 1996-06-05 | Siemens Ag | Encryption device |
US5991415A (en) | 1997-05-12 | 1999-11-23 | Yeda Research And Development Co. Ltd. At The Weizmann Institute Of Science | Method and apparatus for protecting public key schemes from timing and fault attacks |
US6547364B2 (en) | 1997-07-12 | 2003-04-15 | Silverbrook Research Pty Ltd | Printing cartridge with an integrated circuit device |
DE69837036T2 (en) | 1997-09-16 | 2007-10-18 | Koninklijke Philips Electronics N.V. | METHOD AND DEVICE FOR CARRYING OUT A DECOMPOSITION THROUGH A STANDARDIZED MODULAR POTENTIATION FOR VERITING A TIME ATTACK |
US6965673B1 (en) | 1997-09-19 | 2005-11-15 | Telcordia Technologies, Inc. | Method of using transient faults to verify the security of a cryptosystem |
US6064740A (en) | 1997-11-12 | 2000-05-16 | Curiger; Andreas | Method and apparatus for masking modulo exponentiation calculations in an integrated circuit |
US6304658B1 (en) | 1998-01-02 | 2001-10-16 | Cryptography Research, Inc. | Leak-resistant cryptographic method and apparatus |
US6041122A (en) | 1998-02-27 | 2000-03-21 | Intel Corporation | Method and apparatus for hiding crytographic keys utilizing autocorrelation timing encoding and computation |
US6144740A (en) | 1998-05-20 | 2000-11-07 | Network Security Technology Co. | Method for designing public key cryptosystems against fault-based attacks with an implementation |
EP2280502B1 (en) | 1998-06-03 | 2018-05-02 | Cryptography Research, Inc. | Using unpredictable information to Resist Discovery of Secrets by External Monitoring |
DE69940117D1 (en) | 1998-06-03 | 2009-01-29 | Cryptography Res Inc | SECURE MODULAR POTENTRATION WITH LOSS MINIMIZATION FOR CHIP CARDS AND OTHER CRYPTOSYSTEMS |
WO1999067766A2 (en) | 1998-06-03 | 1999-12-29 | Cryptography Research, Inc. | Balanced cryptographic computational method and apparatus for leak minimization in smartcards and other cryptosystems |
CA2333095C (en) | 1998-06-03 | 2005-05-10 | Cryptography Research, Inc. | Improved des and other cryptographic processes with leak minimization for smartcards and other cryptosystems |
JP4216475B2 (en) | 1998-07-02 | 2009-01-28 | ćÆćŖććæć¼ć°ć©ćć£ć¼ ćŖćµć¼ć ć¤ć³ć³ć¼ćć¬ć¤ććć | Cryptographic indexed key update method and device having leakage resistance |
US6816968B1 (en) | 1998-07-10 | 2004-11-09 | Silverbrook Research Pty Ltd | Consumable authentication protocol and system |
CA2243761C (en) | 1998-07-21 | 2009-10-06 | Certicom Corp. | Timing attack resistant cryptographic system |
CA2252078C (en) | 1998-10-28 | 2009-02-17 | Certicom Corp. | Power signature attack resistant cryptographic system |
DE19850293A1 (en) | 1998-10-30 | 2000-05-04 | Koninkl Philips Electronics Nv | Media with protection against compromise |
DE19850721A1 (en) | 1998-11-03 | 2000-05-18 | Koninkl Philips Electronics Nv | Disk with concealment of power consumption |
US6408075B1 (en) | 1998-11-30 | 2002-06-18 | Hitachi, Ltd. | Information processing equipment and IC card |
JP4317607B2 (en) | 1998-12-14 | 2009-08-19 | ę Ŗå¼ä¼ē¤¾ę„ē«č£½ä½ę | Information processing equipment, tamper resistant processing equipment |
US6594760B1 (en) | 1998-12-21 | 2003-07-15 | Pitney Bowes Inc. | System and method for suppressing conducted emissions by a cryptographic device |
JP3796993B2 (en) | 1998-12-22 | 2006-07-12 | ę Ŗå¼ä¼ē¤¾ę„ē«č£½ä½ę | Elliptic curve cryptography execution method and apparatus, and recording medium |
FR2788375B1 (en) | 1999-01-11 | 2003-07-18 | Gemplus Card Int | INTEGRATED CIRCUIT CHIP PROTECTION METHOD |
FR2790890B1 (en) | 1999-03-08 | 2001-04-27 | Gemplus Card Int | COUNTER-MEASUREMENT METHOD IN AN ELECTRONIC COMPONENT USING A SECRET KEY CRYPTOGRAPHY ALGORITHM |
US6298135B1 (en) | 1999-04-29 | 2001-10-02 | Motorola, Inc. | Method of preventing power analysis attacks on microelectronic assemblies |
CN1175570C (en) | 1999-05-12 | 2004-11-10 | å č¬å°¼ęęęÆč”ä»½å ¬åø | Circuit arrangement for generating current impulses in supply current of integrated circuits |
US6804782B1 (en) | 1999-06-11 | 2004-10-12 | General Instrument Corporation | Countermeasure to power attack and timing attack on cryptographic operations |
US6419159B1 (en) | 1999-06-14 | 2002-07-16 | Microsoft Corporation | Integrated circuit device with power analysis protection circuitry |
FR2796738B1 (en) | 1999-07-22 | 2001-09-14 | Schlumberger Systems & Service | SECURE MICRO-CONTROLLER AGAINST CURRENT ATTACKS |
US6295606B1 (en) | 1999-07-26 | 2001-09-25 | Motorola, Inc. | Method and apparatus for preventing information leakage attacks on a microelectronic assembly |
DE69940372D1 (en) | 1999-09-29 | 2009-03-19 | Hitachi Ltd | DEVICE, PROGRAM OR SYSTEM FOR PROCESSING SECRET INFORMATION |
FR2800478B1 (en) | 1999-10-28 | 2001-11-30 | Bull Cp8 | METHOD FOR SECURING AN ELECTRONIC CRYPTOGRAPHY ASSEMBLY BASED ON MODULAR EXPONENTIATION AGAINST ATTACKS BY PHYSICAL ANALYSIS |
US6724894B1 (en) | 1999-11-05 | 2004-04-20 | Pitney Bowes Inc. | Cryptographic device having reduced vulnerability to side-channel attack and method of operating same |
US6766455B1 (en) | 1999-12-09 | 2004-07-20 | Pitney Bowes Inc. | System and method for preventing differential power analysis attacks (DPA) on a cryptographic device |
FR2802733B1 (en) | 1999-12-21 | 2002-02-08 | St Microelectronics Sa | SECURE MASTER-SLAVE LOCK |
US6507913B1 (en) | 1999-12-30 | 2003-01-14 | Yeda Research And Development Co. Ltd. | Protecting smart cards from power analysis with detachable power supplies |
TW536672B (en) | 2000-01-12 | 2003-06-11 | Hitachi Ltd | IC card and microcomputer |
EP1118924B1 (en) | 2000-01-19 | 2016-07-20 | Infineon Technologies AG | Microprocessor system and method of operation |
US6757832B1 (en) | 2000-02-15 | 2004-06-29 | Silverbrook Research Pty Ltd | Unauthorized modification of values in flash memory |
WO2001075786A1 (en) | 2000-04-04 | 2001-10-11 | Koninklijke Philips Electronics N.V. | Output stage for a communication contact for a data carrier |
WO2001093192A1 (en) | 2000-05-31 | 2001-12-06 | Koninklijke Philips Electronics N.V. | Data carrier for the adaptation of a consumption time interval to the power consumption of the data carrier |
FR2809893B1 (en) | 2000-06-02 | 2002-11-15 | Gemplus Card Int | COUNTER-MEASUREMENT METHOD IN AN ELECTRONIC COMPONENT USING A PUBLIC KEY CRYPTOGRAPHY ALGORITHM ON AN ELLIPTICAL CURVE |
FR2810438B1 (en) | 2000-06-19 | 2002-09-06 | St Microelectronics Sa | WEAR DETECTION CIRCUIT |
US6625737B1 (en) | 2000-09-20 | 2003-09-23 | Mips Technologies Inc. | System for prediction and control of power consumption in digital system |
US7000111B1 (en) | 2000-11-07 | 2006-02-14 | Ericsson Inc. | Method for masking secret multiplicands |
JP3950638B2 (en) | 2001-03-05 | 2007-08-01 | ę Ŗå¼ä¼ē¤¾ę„ē«č£½ä½ę | Tamper resistant modular processing method |
JP3904432B2 (en) | 2001-11-16 | 2007-04-11 | ę Ŗå¼ä¼ē¤¾ć«ććµć¹ććÆćććø | Information processing device |
JP2003296680A (en) | 2002-03-29 | 2003-10-17 | Hitachi Ltd | Data processor |
JP4360792B2 (en) | 2002-09-30 | 2009-11-11 | ę Ŗå¼ä¼ē¤¾ć«ććµć¹ććÆćććø | Power-residue calculator |
US7152942B2 (en) | 2002-12-02 | 2006-12-26 | Silverbrook Research Pty Ltd | Fixative compensation |
US7716502B2 (en) * | 2005-08-24 | 2010-05-11 | Radu Muresan | Current flattening and current sensing methods and devices |
US7372290B2 (en) | 2005-10-04 | 2008-05-13 | Stmicroelectronics, Inc. | System and method for using dummy cycles to mask operations in a secure microcontroller |
US7847581B2 (en) | 2008-04-03 | 2010-12-07 | Stmicroelectronics (Rousset) Sas | Device for protecting an integrated circuit against a laser attack |
-
2011
- 2011-10-27 US US13/283,426 patent/US8635467B2/en active Active
- 2011-11-17 EP EP11189605.6A patent/EP2587469B1/en active Active
-
2012
- 2012-09-04 CA CA2789047A patent/CA2789047C/en active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6698662B1 (en) * | 1998-03-20 | 2004-03-02 | Gemplus | Devices for hiding operations performed in a microprocesser card |
Also Published As
Publication number | Publication date |
---|---|
US20130111224A1 (en) | 2013-05-02 |
CA2789047A1 (en) | 2013-04-27 |
EP2587469A1 (en) | 2013-05-01 |
US8635467B2 (en) | 2014-01-21 |
CA2789047C (en) | 2017-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2587469B1 (en) | Integrated circuit with logic circuitry and multiple concealing circuits | |
EP2587398B1 (en) | Analog circuitry to conceal activity of logic circuitry | |
Kar et al. | Reducing power side-channel information leakage of AES engines using fully integrated inductive voltage regulator | |
Kumar et al. | Design exploration of a symmetric pass gate adiabatic logic for energy-efficient and secure hardware | |
Baddam et al. | Evaluation of dynamic voltage and frequency scaling as a differential power analysis countermeasure | |
Cevrero et al. | Power-gated MOS current mode logic (PG-MCML) a power aware DPA-resistant standard cell library | |
Yu et al. | Time-delayed converter-reshuffling: An efficient and secure power delivery architecture | |
US20190028263A1 (en) | Randomized logic against side channel attacks | |
Monteiro et al. | Lowāpower secure Sābox circuit using chargeāsharing symmetric adiabatic logic for advanced encryption standard hardware design | |
WO2013063694A1 (en) | Lightweight stream cipher cryptosystems | |
Yu et al. | Security-adaptive voltage conversion as a lightweight countermeasure against LPA attacks | |
Agwa et al. | Power efficient AES core for IoT constrained devices implemented in 130nm CMOS | |
Singh et al. | Exploiting on-chip power management for side-channel security | |
Jevtic et al. | EM side-channel countermeasure for switched-capacitor DCāDC converters based on amplitude modulation | |
Kotipalli et al. | Asynchronous Advanced Encryption Standard Hardware with Random Noise Injection for Improved SideāChannel Attack Resistance | |
Jayasinghe et al. | SCRIP: Secure random clock execution on soft processor systems to mitigate power-based side channel attacks | |
Cheng et al. | A reconfigurable and compact hardware architecture of CLEFIA block cipher with multi-configuration | |
Pammu et al. | Secured low power overhead compensator look-up-table (LUT) substitution box (S-Box) architecture | |
Mora-Gutierrez et al. | Low power implementation of Trivium stream cipher | |
Teegarden et al. | Side-channel attack resistant ROM-based AES S-Box | |
NL2031597A (en) | Integrated circuit side-channel mitigation mechanism | |
Bellizia et al. | On-chip analog current equalizer as a countermeasure against side-channel attacks in CMOS nanometer technology | |
Suresh et al. | Design of low power NFSR for RFID system with irregular clock pulse | |
Pammu et al. | Highly secured arithmetic hiding based s-box on aes-128 implementation | |
Ahmadi et al. | Shapeshifter: Protecting fpgas from side-channel attacks with isofunctional heterogeneous modules |
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: 20111117 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
17Q | First examination report despatched |
Effective date: 20130917 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602011036615 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G09C0001000000 Ipc: H04L0009000000 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: H04L 9/00 20060101AFI20161004BHEP Ipc: G09C 1/00 20060101ALI20161004BHEP |
|
INTG | Intention to grant announced |
Effective date: 20161024 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: EP |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 882728 Country of ref document: AT Kind code of ref document: T Effective date: 20170415 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602011036615 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20170405 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 882728 Country of ref document: AT Kind code of ref document: T Effective date: 20170405 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170705 Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170706 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
REG | Reference to a national code |
Ref country code: FR Ref legal event code: PLFP Year of fee payment: 7 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170805 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170705 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602011036615 Country of ref document: DE |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
26N | No opposition filed |
Effective date: 20180108 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171130 Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171130 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171117 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20171130 |
|
REG | Reference to a national code |
Ref country code: IE Ref legal event code: MM4A |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MT Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171117 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171117 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20171130 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: HU Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT; INVALID AB INITIO Effective date: 20111117 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CY Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20170405 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 602011036615 Country of ref document: DE Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN PATENTANWA, DE Ref country code: DE Ref legal event code: R081 Ref document number: 602011036615 Country of ref document: DE Owner name: BLACKBERRY LIMITED, WATERLOO, CA Free format text: FORMER OWNER: CERTICOM CORP., MISSISSAUGA, ONTARIO, CA |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20200206 AND 20200212 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20170405 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20231127 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20231127 Year of fee payment: 13 Ref country code: DE Payment date: 20231129 Year of fee payment: 13 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R082 Ref document number: 602011036615 Country of ref document: DE Ref country code: DE Ref legal event code: R081 Ref document number: 602011036615 Country of ref document: DE Owner name: MALIKIE INNOVATIONS LTD., IE Free format text: FORMER OWNER: BLACKBERRY LIMITED, WATERLOO, ONTARIO, CA |