Apparatus, method and article of manufacture for partially resisting hardware trojan induced data leakage in sequential logics
10121011 ยท 2018-11-06
Assignee
Inventors
- Kevin Kwiat (Whitesboro, NY, US)
- Charles Kamhoua (Liverpool, NY, US)
- Laurent Njilla (Rome, NY, US)
- YIYU SHI (GRANGER, IN, US)
- TRAVIS SCHULZE (ST. LOUIS, MO, US)
Cpc classification
G10L15/02
PHYSICS
H04L2209/12
ELECTRICITY
G06F21/79
PHYSICS
G06F21/32
PHYSICS
H04L9/002
ELECTRICITY
International classification
G06F21/00
PHYSICS
H04L9/00
ELECTRICITY
G10L15/02
PHYSICS
G06F21/79
PHYSICS
Abstract
Apparatus, method and article of manufacture providing a randomized encoding scheme for sequential logics, for resistance to data leakage. Invention employs dual-rail encoding to randomize the information in the chip, and employs three-dimensional integration technology to protect the critical information that is needed to decode the data anywhere on-chip. With the present invention, even when the entire design is completely known to the attacker who also has full access to the outsourced portion, it is still not always possible to identify the information in the chip using data leakage Trojans.
Claims
1. A sequential logic circuit security apparatus, comprising: at least two combinational logic circuit functions each having an output and at least one pair of logic inputs; at least two random logic state generators each randomly outputting a logic state 1 or 0; a first encoder for encoding each logic input of said at least one pair of logic inputs with a Boolean operation on a preselected one of said at least two random logic state generators; a multiplexer having an output, and at least two selectable inputs each being connected to a respective said output of said at least two combinational logic circuit functions, wherein said multiplexer selects one of said outputs of said at least two combinational logic circuit functions according to said logic state of said at least two random logic state generators; a latch having an input connected to said output of said multiplexer, an output, and a clock input; an exclusive OR circuit having an output, a first input connected to said latch output, and a second input, wherein said second input is encoded by a second encoder performing said Boolean operation on a current clock cycle state and a prior clock cycle state of said preselected one of said at least two random logic state generators.
2. The apparatus of claim 1, wherein said Boolean operation is an exclusive OR operation.
3. The apparatus of claim 2, wherein said second input is encoded by a second encoder performing said Boolean operation on: a current clock cycle state of a non-preselected one of said at least two random logic state generators; and a prior clock cycle state of said preselected one of said at least two random logic state generators.
4. The method of claim 2, wherein said Boolean operation is an exclusive OR operation.
5. The method of claim 4, wherein said second input is encoded by a step of performing said Boolean operation on: a current clock cycle state of a non-preselected one of said at least two random logic states; and a prior clock cycle state of said preselected one of said at least two random logic states.
6. In a sequential logic circuit having at least two combinational logic circuit functions each having an output and at least one pair of logic inputs, a security method for use therewith, comprising the steps of: generating at least two random logic states each randomly comprising a logic state 1 or 0; encoding each logic input of said at least one pair of logic inputs with a Boolean operation on a preselected one of said at least two random logic states; selectively multiplexing said output of said at least two combinational logic circuit functions according to a logic state of said at least two random logic states; latching said multiplexed output of said at least two combinational logic circuit functions; exclusively OR'ing a first input comprising said multiplexed output of said at least two combinational logic circuit functions, with an encoded second input, wherein said second input is encoded by a step of performing said Boolean operation on a current clock cycle state and a prior clock cycle state of said preselected one of said at least two random logic states.
7. A secure logic chip as an article of manufacture comprising a logic portion and a security portion, wherein said logic portion comprises a plurality of combinational logic circuits each having inputs and an output; said security portion comprises: a random logic state generator producing two randomly generated logic states; a multiplexer, having as inputs said outputs of said combinational logic circuits; and having a selection among said inputs based upon the logic state of said two randomly generated logic states; a latch for latching an output of said multiplexer; and an exclusive OR for decoding an output of said latch as a function of at least one of said two randomly generated logic states; and wherein said logic portion and said security portion are manufactured as separate chips and thereafter functionally integrated into said secure logic chip; and wherein said logic portion and said secure portion are functionally integrated by: arrangement as a physical stack; and through-silicon-vias to establish electrical connections between said logic portion and said secure portion.
8. A semiconductor chip as an article of manufacture for securely encoding logic circuits, comprising: an array of security encoding cells fabricated onto said semiconductor chip, wherein each said cell further comprises: a multiplexer, having as inputs those outputs of said logic circuits to be securely encoded; and having a selection among said inputs based upon the logic state of one or more randomly generated logic states; a latch for latching an output of said multiplexer; and an exclusive OR for decoding an output of said latch as a function of said one or more randomly generated logic states; a crossbar structure for electrically interconnecting said one or more randomly generated logic states to all said security encoding cells in said semiconductor chip; and through-silicon-vias to establish electrical connections between said security encoding cells and said logic circuits.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8) The figures depict an embodiment of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
(9) While the specification concludes with claims defining features of the embodiments described herein that are regarded as novel, it is believed that these embodiments will be better understood from a consideration of the description in conjunction with the drawings. As required, detailed arrangements of the present embodiments are disclosed herein; however, it is to be understood that the disclosed arrangements are merely exemplary of the embodiments, which can be embodied in various forms. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a basis for the claims and as a representative basis for teaching one skilled in the art to variously employ the present embodiments in virtually any appropriately detailed structure. Further, the terms and phrases used herein are not intended to be limiting but rather to provide an understandable description of the present arrangements.
(10) An invention for addressing the data leakage issue in sequential logics fabricated in untrustworthy fabrication facilities are discussed below. First, an embodiment will be shown describing designs with data leakage hardware Trojans injected, the target application of this invention. Second, several embodiments will be presented to show a new randomized encoding scheme to randomize the information processed in a sequential logic. Third, a procedure will be shown for implementing and using the randomized encoding scheme in designing logic functions with resistance to information leakage caused by hardware Trojans injected. Fourth, the conditions under which the information can still be uncovered will be summarized.
(11) Referring to
(12) To successfully inject a data leakage Trojan an attacker must be able to identify the gates and understand the function of a design. With this in mind, existing methods have focused on making the design harder to interpret. The current state of the art revolves around obfuscation, layout camouflaging, and split manufacturing. Obfuscation aims to make the function of the circuit less obvious by using nonstandard designs for common functions. Obfuscation can also be performed on state machines in the design, additional states are added leading to dead ends or black hole states. Layout camouflaging attempts to disguise the design by making the layouts of each gate indistinguishable. Extracting the netlist using image based techniques on the layout mask then becomes difficult. Finally, split manufacturing attempts to break up the design into front-end and back-end layers. The front-end consists of the lower silicon layers and first metal layers, the back-end being the remaining metal layers. Splitting the fabrication prevents an attacker in one location from having access to the complete design.
(13) All of these existing countermeasures attempt to hide design information from attackers, and can be defeated if the same design is to be manufactured by multiple fabrication runs and an attacker can procure a chip in between and reverse engineer the design to obtain the full design information. The present invention is a useful, novel and a non-trivial solution to address this unsolved problem, and may be shown by several different embodiments.
(14) The following embodiments of the present invention utilize randomized encoding to hide information. To accomplish this, the present invention uses a set of non-overlapping codes to encode logic values. To provide multiple representations (redundancy) so that randomness can be introduced, more than one bit to encode logic zero and logic one is needed.
(15) Referring to
(16) One of the two rails in the randomized dual-rail encoding will be generated from a random number generator, the value of which changes every clock cycle. In this embodiment and the embodiments hereafter, the rail from which the random number is generated is referred to as the random rail. The conversion between conventional logic and the corresponding randomized dual-rail logic then becomes straightforward. For any conventional binary logic value x and given the random logic value r on one of the two rails in dual-rail representation, the logic on the other rail can be decided through an XOR gate as t=xr. Note that the values of t, x and r must be from the same clock cycle for the equation to hold. In randomized dual-rail logic, the signals on both rails must be known at the same time to decode the value. Protecting the value then converts to protecting the random bit r of each signal from being identified by hardware Trojans.
(17) The following embodiment shows an approach of converting conventional sequential logic to randomized dual-rail logic through state transit table. Referring to
(18) The above approach, though straightforward, may result in significant area and power overhead, and is not efficient for large-scale designs where the state transition diagram can be huge. The following embodiment shows an alternative approach that is more systematic and scalable. To reduce overhead yet maintain security, we let all the gates in a sequential logic share two random rails, which requires a minimum of two random number generators. A single random rail with one random number generator is not sufficient to hide the information for sequential logic and an attacker will still be able to identify the information. In other words, each signal is randomly selected to use one of the two rails to form its dual-rail representation. As such, any given Boolean function (x.sub.1,x.sub.2,x.sub.3) with x.sub.1, x.sub.2, x.sub.3, . . . as Boolean variables between two registers can be converted to the corresponding randomized dual-rail representation
(x.sub.1,x.sub.2,x.sub.3, . . . ).fwdarw.(t.sub.1r.sub.1,t.sub.2r.sub.2,t.sub.3r.sub.1, . . . )r.sub.1(EQN. 1)
where r.sub.1, r.sub.2 are the random logic values on the two common random rails, and t.sub.1, t.sub.2, . . . are the logic values on the other rail for signals x.sub.1, x.sub.2, . . . , respectively. We have assumed that the conversion uses random rail r.sub.1; that t.sub.1, t.sub.3 use r.sub.1 when forming the randomized dual-rail representation, while t.sub.2 uses r.sub.2. i.e., x.sub.1=t.sub.1r.sub.1, x.sub.2=t.sub.2r.sub.2. x.sub.3=t.sub.3r.sub.1, . . . . These can be arbitrarily chosen for primary inputs, and are decided from the implementation of upstream logic blocks otherwise. We have also assumed that all the values are from the same clock cycle T. Based on the following logic equivalency which uses De Morgan's Theorem
(t.sub.1r.sub.1,t.sub.2r.sub.2,t.sub.3r.sub.1, . . . )r.sub.1=
EQN. 2 forms the structure of a MUX.
(19) Refer to
(20) The MUX-based conversion can have another variation in terms of practical implementation. We can let the conversion use random rail r.sub.2 and rewrite EQN 1 as
(x.sub.1,x.sub.2,x.sub.3, . . . ).fwdarw.(t.sub.1r.sub.1,t.sub.2r.sub.2,t.sub.3r.sub.1, . . . )r.sub.2(EQN. 3)
in which case the converted dual-rail representation uses r.sub.2. t.sub.1, t.sub.2 use r.sub.1 when forming the randomized dual-rail representation, while t.sub.3 uses r.sub.2. i.e., x.sub.1=t.sub.1r.sub.1, x.sub.2=t.sub.2r.sub.1. x.sub.3=t.sub.3r.sub.2, . . . . The first rail can be re-cast as
(t.sub.1r.sub.1,t.sub.2r.sub.2,t.sub.3r.sub.1, . . . )r.sub.2=
(21) Refer to
(22) For the randomized dual-rail logic to be effective, it must protect the two random rails as well as the input and output of all the registers. This is a significant advantage over any existing methods, where part of the information can be obtained if any part of the chip is compromised. The following embodiment will explain how the randomized dual-rail implementation can be effectively protected from data leakage hardware Trojans.
(23) The protection is based on the existing technology of three-dimensional integration, which allows two chips to be fabricated separately and then stacked vertically. The electrical interconnections between the two chips when vertically stacked, are enabled by through-silicon-vias (TSVs). Based on three-dimensional integration, it is within the scope of the invention to place the random number generators, all the registers and the MUXes in the top die, which is fabricated in a secure facility, and the rest of the sequential logic in the bottom die, which can be outsourced and fabricated in an untrustworthy facility. The two dies can then be stacked together in a secure facility. In addition, since the only designs needed in the top die are registers and MUXes in a regular structure, which are independent of the function of the sequential logic in the bottom die, it is possible to pre-fabricate a generic top die in an array structure, which contains regularly placed cells of registers and MUXes. Depending on the detailed placement of the bottom die, only some of the cells will be used. Refer to
(24) It is important to point out that the method does not always protect the information in the chip. In certain scenarios it is possible for an attacker to infer the information based on the data collected at the I/Os of the top die. To successfully infer an internal signal, an attacker will need to inject Trojans to monitor all the inputs at the corresponding MUX and as well as the output of the XOR. For example, referring back to
(25) It is worthwhile to point out that the different possible variations in implementation create an additional layer of protection. The above discussion assumes that an attacker knows the detailed circuit implementation to identify the information. However, with the many possible variations, unless an attacker can know directly from the fabrication which one is exactly used in the chip he intends to hack, which is a very challenging task, the only way he would be able to know so would be through reverse-engineering, which will damage the chip and no information can be obtained.
(26) Clearly many modifications and variations of the present invention are possible in light of the above teachings. It should therefore be understood that, within the scope of the inventive concept, the invention may be practiced otherwise than as specifically claimed.