IP Library › Granted Patent US 10,019,571
Granted Patent B2
US 10,019,571 · App. 15/068,587 · Granted Jul 10, 2018

Protection from side-channel attacks by varying clock delays

Inventors: Valery Teper (Petach-Tikva, IL); Uri Kaluzhny (Beit Shemesh, IL)
Assignee: WINBOND ELECTRONICS CORPORATION
G06F21/55G06F1/08G09C1/00H04L9/003H04L2209/08H04L2209/12
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,019,571
App. No.
15/068,587
Granted
Jul 10, 2018
Kind
B2
Abstract

A system, comprising a logic circuit and delay circuitry, is described. The logic circuit is configured to perform a plurality of instances of a particular computation that is based on a plurality of inputs. The delay circuitry is configured to vary a power-consumption profile of the logic circuit over the plurality of instances, by applying, to the inputs, respective delays that vary over the instances, at least some of the delays varying independently from each other. Other embodiments are also described.

Claims (33)

1. A system, comprising:

a logic circuit, configured to perform a plurality of instances of a particular computation;

a plurality of flip-flops, configured to:

capture respective bit values, and

subsequently to capturing the bit values, output the bit values, as inputs for the computation, to the logic circuit; and

delay circuitry configured to vary both a power-consumption profile of the flip-flops and a power-consumption profile of the logic circuit over the plurality of instances, by applying, to respective times at which the bit values are captured by the flip-flops, respective delays that vary over the instances, at least some of the delays varying independently from each other,

wherein the delay circuitry comprises a plurality of delay circuits, each one of the delay circuits being configured to apply a respective one of the delays to a respective one of the times by:

delaying a clock signal by the respective one of the delays, such as to yield a delayed clock signal, and

feeding the delayed clock signal to a respective one of the flip-flops, and

wherein each one of the delay circuits is configured to delay the clock signal by a duration that is a function of a respective generated random delay bit.

2. The system according to claim 1 , wherein all of the delays vary independently from each other.

3. The system according to claim 1 , wherein each one of the delays varies between two values.

4. The system according to claim 1 , wherein the delay circuitry is configured to vary the power-consumption profile of the logic circuit over the plurality of instances by causing a variation, over the instances, in intermediate output values that are computed by the logic circuit.

5. The system according to claim 1 , wherein the delay circuitry is configured to vary the power-consumption profile of the logic circuit over the plurality of instances by causing a variation, over the instances, in respective timings of computations performed by the logic circuit.

6. The system according to claim 1 , further comprising a register that comprises the flip-flops.

7. The system according to claim 1 , further comprising one or more other logic circuits having respective propagation delays and connected in series with the logic circuit, wherein the delay circuitry is configured to apply the respective delays such that a total propagation delay of the logic circuit does not exceed, in any one of the instances, a maximum one of the respective propagation delays of the other logic circuits.

8. The apparatus according to claim 1 , wherein the flip-flops are configured to output the bit values directly to the logic circuit.

9. The apparatus according to claim 1 , wherein the bit values include output values from a previous computation performed by the logic circuit.

10. A method, comprising:

using a logic circuit, performing a plurality of instances of a particular computation that is based on a plurality of bit values received from a plurality of flip-flops; and

varying both a power-consumption profile of the flip-flops and a power-consumption profile of the logic circuit over the plurality of instances, by applying, to respective times at which the bit values are captured by the flip-flops, respective delays that vary over the instances, at least some of the delays varying independently from each other,

wherein applying the respective delays to the times comprises applying the respective delays to the times by:

feeding a clock signal to a plurality of delay circuits,

using the delay circuits, delaying the clock signal, such as to yield a plurality of delayed clock signals, and

feeding, to each of the flip-flops, a respective one of the delayed clock signals, and wherein, for each delay circuit of the delay circuits, delaying the clock signal comprises:

generating a random delay bit, and

using the delay circuit, delaying the clock signal by a duration that is a function of the random delay bit.

11. The method according to claim 10 , wherein all of the delays vary independently from each other.

12. The method according to claim 10 , wherein each one of the delays varies between two values.

13. The method according to claim 10 , wherein the applying of the respective delays varies the power-consumption profile of the logic circuit over the plurality of instances by causing a variation, over the instances, in intermediate output values that are computed by the logic circuit.

14. The method according to claim 10 , wherein the applying of the respective delays varies the power-consumption profile of the logic circuit over the plurality of instances by causing a variation, over the instances, in respective timings of computations performed by the logic circuit.

15. The method according to claim 10 , wherein the flip-flops belong to a register of flip-flops.

16. The method according to claim 10 , wherein the logic circuit is connected in series with one or more other logic circuits having respective propagation delays, and wherein applying the delays comprises applying the delays such that a total propagation delay of the logic circuit does not exceed, in any one of the instances, a maximum one of the respective propagation delays of the other logic circuits.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 14, 2016
From: TEPER, VALERY; KALUZHNY, URI
To: WINBOND ELECTRONICS CORPORATION
Reel/Frame 038075/0238 →
Continuity (1)
Related Publication 20170262630A1 · Sep 14, 2017