Various exemplary embodiments disclosed herein relate generally to fault attack protection against synchronized fault injections.
Various schemes have been developed for attacking cryptographic hardware including fault attacks where faults are injected into the cryptographic hardware. An attacker can then induce faults and analyze the results to obtain secret information regarding the cryptographic hardware such as a cryptographic key.
A summary of various exemplary embodiments is presented below. Some simplifications and omissions may be made in the following summary, which is intended to highlight and introduce some aspects of the various exemplary embodiments, but not to limit the scope of the invention. Detailed descriptions of an exemplary embodiment adequate to allow those of ordinary skill in the art to make and use the inventive concepts will follow in later sections.
Various embodiments relate to a circuit, including: a first secure circuit configured to receive an input and to produce a first output; a first delay circuit configured to receive the first output and to produce a first delayed output delayed by a time N; a second delay circuit configured to receive the input and to produce a delayed input delayed by a time N; a second secure circuit configured to receive the delayed input and to produce a second delayed output; and a comparator configured to compare the first delayed output to the second delayed output and to produce a result, wherein the result is one of the first delayed output or second delayed output when the first delayed output matches the second delayed output and the result is an error value when the first delayed output does not match the second delayed output.
Various embodiments are described, wherein the value of N is randomly selected.
Various embodiments are described, wherein the value of N is periodically changed.
Various embodiments are described, further including: a third delay circuit configured to receive the result and to produce a delayed result delayed by a time M.
Various embodiments are described, wherein the value of N is randomly selected and the value of M=x−N where x is a constant total delay value.
Various embodiments are described, wherein the value of N and M are periodically changed.
A method of securely producing an output by a circuit, including: receiving an input by a first secure circuit and producing a first output; receiving the output by a first delay circuit and producing a first delayed output delayed by a time N; receiving the input by a second delay circuit and producing a delayed input delayed by a time N; receiving the delayed input by a second secure circuit and producing a second delayed output; and comparing by a comparator the first delayed output to the second delayed output and producing a result, wherein the result is one of the first delayed output or second delayed output when the first delayed output matches the second delayed output and the result is an error value when the first delayed output does not match the second delayed output.
Various embodiments are described, wherein the value of N is randomly selected.
Various embodiments are described, wherein the value of N is periodically changed.
Various embodiments are described wherein further including: receiving the result by a third delay circuit and producing a delayed result delayed by a time M.
The method of claim 10, wherein the value of N is randomly selected and the value of M=x−N where x is a constant total delay value.
Various embodiments are described, wherein the value of N and M are periodically changed.
Further various embodiments relate to a circuit, including: a first delay circuit configured to receive an input and to produce a first delayed input delayed by a time a·N, where N is a time delay and a is a scalar value from 0 to n; a second delay circuit configured to receive the input and to produce a second delayed input delayed by a time b·N, where b is a scalar value from 0 to n; a third delay circuit configured to receive the input and to produce a third delayed input delayed by a time c·N, where c is a scalar value from 0 to n; a first secure circuit configured to receive the first delayed input and to produce a first delayed output; a second secure circuit configured to receive the second delayed input and to produce a second delayed output; a third secure circuit configured to receive the third delayed input and to produce a third delayed output; a fourth delay circuit configured to receive the first delayed output and to produce a fourth delayed output delayed by a time (n−a)·N; a fifth delay circuit configured to receive the second delayed output and to produce a fifth delayed output delayed by a time (n−b)·N; a sixth delay circuit configured to receive the third delayed output and to produce a sixth delayed output delayed by a time (n−c)·N; and a comparator configured to compare the fourth delayed output, the fifth delayed output, and sixth delayed output and to produce a result, wherein the result is one of the fourth delayed output, fifth delayed output, or second delayed output when the fourth delayed output, the fifth delayed output, and sixth delayed output are all equal to one another and the result is an error value otherwise.
Various embodiments are described, wherein the value of N is randomly selected.
Various embodiments are described, wherein the value of N is periodically changed.
Various embodiments are described, further including: a third delay circuit configured to receive the result and to produce a delayed result delayed by a time M.
Various embodiments are described, wherein the value of N is randomly selected and the value of M=x−N where x is a constant total delay value.
Various embodiments are described, wherein the value of N and M are periodically changed.
Various embodiments are described, wherein at least two of the scalar values a, b, and c are different.
In order to better understand various exemplary embodiments, reference is made to the accompanying drawings, wherein:
To facilitate understanding, identical reference numerals have been used to designate elements having substantially the same or similar structure and/or substantially the same or similar function.
The description and drawings illustrate the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise various arrangements that, although not explicitly described or shown herein, embody the principles of the invention and are included within its scope. Furthermore, all examples recited herein are principally intended expressly to be for pedagogical purposes to aid the reader in understanding the principles of the invention and the concepts contributed by the inventor(s) to furthering the art and are to be construed as being without limitation to such specifically recited examples and conditions. Additionally, the term, “or,” as used herein, refers to a non-exclusive or (i.e., and/or), unless otherwise indicated (e.g., “or else” or “or in the alternative”). Also, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments.
Attackers of secure circuits (such as cryptographic accelerators) may attempt to corrupt the outputs of these circuits with fine granularity (ideally bit by bit) in order to observe the reaction of the overall device or to create a favorable reaction. Fault attacks such as laser attacks may be employed for this purpose. In such an attack, a laser beam is focused on a specific part of a circuit to cause a fault in a specific bit or set of bits. By observing inputs and outputs to the secure circuit during normal operation and then the operation of the circuit when faults are induced, an attacker may perform statistical and/or other analysis to gain information regarding secure information such as a cryptographic key.
As a counter measure against such fault attacks, secure circuits may be implemented redundantly, for example with two or more instantiations of the secure circuit, and the outputs of the redundant secure circuits combined with comparison logic. That is the output of the two different circuits are compared, and if they match then the outputs are valid, and if the outputs do not match then the outputs are invalid.
Previously it was thought to be difficult to coordinate attacks on multiple instances of a security circuit at precisely the correct time. This redundant implementation of security circuits requires an attacker to attack all instances simultaneously and with precise timing which is much harder to accomplish. However, researchers have devised new methods to coordinate the attack on all redundant instances of the security circuit at the same time, e.g. using optical methods such as splitting a laser beam with a prism. These methods overcome the previously high barrier to synchronize the attacks.
Embodiments that protect the circuit against these simple synchronization attacks will now be described. Such attacks may be countered by inserting delays in the circuits at different locations in the redundant instances.
In
As noted, the delay circuit 240 may be optionally added where the delay circuit 240 delays the output by a time M. The difficulty for the attacker may be further increased by varying the delay N over time, e.g., based on the output of a random number generator. The value of N may be changed at some regular or even varying period. Further, the randomness of the delay N may be hidden by keeping the sum of M+N constant. In this situation, M is selected as M=x−N, where x is a fix total delay and N randomly chosen.
The embodiments described in
As used herein, the term “non-transitory machine-readable storage medium” will be understood to exclude a transitory propagation signal but to include all forms of volatile and non-volatile memory.
It should be appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention.
Although the various exemplary embodiments have been described in detail with particular reference to certain exemplary aspects thereof, it should be understood that the invention is capable of other embodiments and its details are capable of modifications in various obvious respects. As is readily apparent to those skilled in the art, variations and modifications can be affected while remaining within the spirit and scope of the invention. Accordingly, the foregoing disclosure, description, and figures are for illustrative purposes only and do not in any way limit the invention, which is defined only by the claims.
Number | Name | Date | Kind |
---|---|---|---|
5032708 | Comerford | Jul 1991 | A |
5604806 | Hassan | Feb 1997 | A |
8896455 | Eguro | Nov 2014 | B2 |
9423819 | Marandi | Aug 2016 | B2 |
9961093 | Wittenstein | May 2018 | B1 |
10015756 | Bullington | Jul 2018 | B1 |
10057373 | Chang | Aug 2018 | B1 |
20040190725 | Yuan | Sep 2004 | A1 |
20040233935 | Yuan | Nov 2004 | A1 |
20050100351 | Yuan | May 2005 | A1 |
20050180575 | Maeda | Aug 2005 | A1 |
20060025897 | Shostak | Feb 2006 | A1 |
20080219268 | Dennison | Sep 2008 | A1 |
20100127822 | Devadas | May 2010 | A1 |
20100325415 | Ohlman | Dec 2010 | A1 |
20110029828 | Bancel | Feb 2011 | A1 |
20110214187 | Wittenstein | Sep 2011 | A1 |
20110286465 | Koodli | Nov 2011 | A1 |
20110302653 | Frantz | Dec 2011 | A1 |
20130031576 | Koemmerling | Jan 2013 | A1 |
20130145010 | Luna | Jun 2013 | A1 |
20140295794 | Doumen | Oct 2014 | A1 |
20140304798 | Iyengar | Oct 2014 | A1 |
20150105687 | Abreu | Apr 2015 | A1 |
20150121506 | Cavanaugh | Apr 2015 | A1 |
20150150116 | Baldwin | May 2015 | A1 |
20150215325 | Ogawa | Jul 2015 | A1 |
20150364433 | Hindman | Dec 2015 | A1 |
20150369865 | Hershman | Dec 2015 | A1 |
20160098333 | Hershman | Apr 2016 | A1 |
20160217399 | Roelofs | Jul 2016 | A1 |
20160345054 | Dhaipule | Nov 2016 | A1 |
20170019388 | Kamble | Jan 2017 | A1 |
20170060102 | Sargolzaei | Mar 2017 | A1 |
20170155502 | Yanamandra | Jun 2017 | A1 |
20170244546 | Stark | Aug 2017 | A1 |
20170310688 | Lecomte | Oct 2017 | A1 |
20170364683 | Willden | Dec 2017 | A1 |
20170364709 | Plusquellic | Dec 2017 | A1 |
20180046805 | Le Roy | Feb 2018 | A1 |
20180183591 | De Laat | Jun 2018 | A1 |
20180268019 | Rostagni | Sep 2018 | A1 |
20180286258 | Derbanne | Oct 2018 | A1 |
20190013878 | Paraiso | Jan 2019 | A1 |
20190026724 | Wade | Jan 2019 | A1 |
20190028283 | Sharifi | Jan 2019 | A1 |
20190028284 | Rezayee | Jan 2019 | A1 |
20190042249 | Suresh | Feb 2019 | A1 |
20190052456 | Bygrave | Feb 2019 | A1 |
Number | Date | Country |
---|---|---|
104101486 | Jul 2016 | CN |
Entry |
---|
B. Selmke, et al. “Attack on DFA protected AES by Simultaneous Laser Fault Injections”, Fraunhofer AISEC, Aug. 16, 2016. 29 pages. |