System, method and computer-accessible medium for facilitating logic encryption
09817980 · 2017-11-14
Assignee
Inventors
- Jeyavijayan Rajendran (Brooklyn, NY, US)
- Youngok Pino (Rome, NY, US)
- OZGUR SINANOGLU (Abu Dhabi, AE)
- Ramesh Karri (New York, NY)
Cpc classification
G09C1/00
PHYSICS
H04L9/002
ELECTRICITY
International classification
G06F21/00
PHYSICS
G09C1/00
PHYSICS
H04L9/00
ELECTRICITY
Abstract
Exemplary systems, methods and computer-accessible mediums for encrypting at least one integrated circuit (IC) can include determining, using an interference graph, at least one location for a proposed insertion of at least one gate in or at the at least one IC, and inserting the gate(s) into the IC(s) at the location(s). The interference graph can be constructed based at least in part on an effect of the location(s) on at least one further location of the IC(s).
Claims
1. A non-transitory computer-accessible medium having stored thereon computer-executable instructions for encrypting at least one integrated circuit (“IC”), wherein, when a computer hardware arrangement executes the instructions, the computer arrangement is configured to perform procedures comprising: determining, using an analysis of a pairwise security of a plurality of key-gates, at least one particular key-gate of the plurality of key-gates to insert into least one combinational portion of the at least one IC; inserting the at least one key-gate into the at least one combinational portion of the at least one IC in the at least one location; wherein the at least one key-gate is configured to receive at least one input from a key stored in a secure memory; and wherein the computer arrangement is configured to perform the analysis based on a determination of whether the at least one particular key-gate is unsensitized to at least one of (i) at least one primary output of the at least one IC or (ii) at least one pseudo-primary output of the at least one IC.
2. The computer-accessible medium of claim 1, wherein the computer arrangement is configured to determine the at least one particular key-gate using an iterative procedure.
3. The computer-accessible medium of claim 1, wherein the computer arrangement is configured to determine the at least one particular key-gate based on a determination of whether the at least one particular key-gate is pairwise secure with all previously-determined key-gates in the at least one IC.
4. The computer-accessible medium of claim 1, wherein the computer arrangement is further configured to determine at least one further key-gate of the plurality of key-gate to insert into the at least one IC based on determination of whether the at least one further key-gate is pairwise secure with all previously determined key-gate in the at least one IC.
5. The computer-accessible medium of claim 1, wherein the computer arrangement is configured determine whether the at least one particular key-gate is unsensitized to the at least one of (i) the at least one primary output of the at least one 1C or (ii) the at least one pseudo-primary output of the at least one 1C based on an initialization of the at least one further key-gate to a particular value.
6. The computer-accessible medium of claim 1, wherein the at least one key-gate is at least one of an XOR gate or an XNOR gate.
7. A method for encrypting at least one integrated circuit (IC) comprising: determining, using an analysis of a pairwise security of a plurality of key-gates, at least one particular key-gate of the plurality of key-gates to insert into at least one combinational portion of the at least one IC; using a computer hardware arrangement, inserting the at least one particular key-gate into the at least one combinational portion of the at least one IC in the at least one location; receiving, with the at least one key-gate, at least one input from a key stored in a secure memory; and performing the analysis, using the computer arrangement, based on a determination of whether the at least one particular key-gate is unsensitized to at least one of (i) at least one primary output of the at least one IC or (ii) at least one pseudo-primary output of the at least one IC.
8. The method of claim 7, further comprising determining, using the computer hardware arrangement, the at least one particular key-gate using an iterative procedure.
9. The method of claim 7, further comprising determining, using the computer hardware arrangement, the at least one particular key-gate based on a determination of whether the at least one particular key-pate is pairwise secure with all previously-determined key-gates in the at least one IC.
10. The method of claim 7, wherein the at least one gate is at least one of an XOR gate or an XNOR gate.
11. The method of claim 7, further comprising, determining, using the computer arrangement, whether the at least one particular key-gate is unsensitized to the at least one of (i) the at least one primary output of the at least one 1C or (ii) the at least one pseudo-primary output of the at least one 1C based on an initialization of the at least one further key-gate to a particular value.
12. An encrypted circuit comprising: at least one key-gate which is provided in at least one combinational portion of the encrypted circuit, wherein a placement of the at least one key-gate is determined using an analysis of a pairwise security of a plurality of key-gates, wherein the at least one key-gate is configured to receive at least one of its inputs from a key stored in a secure memory; and wherein the analysis is based on a determination of whether the at least one particular key-gate is unsensitized to at least one of (i) at least one primary output of the at least one IC or (ii) at least one pseudo-primary output of the at least one IC.
13. The encrypted circuit of claim 12, wherein the at least one key-gate includes at least one of an XOR gate or an XNOR gate.
14. The encrypted circuit of claim 12, wherein the at least one key-gate is determined based on a determination of whether the at least one key-gate is pairwise secure with all previously-determined key-gates in the encrypted circuit.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) Further objects, features, and advantages of the present disclosure will become apparent from the following detailed description taken in conjunction with the accompanying Figures showing illustrative embodiments of the present disclosure, in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
(18)
(19) Throughout the drawings, the same reference numerals and characters, unless otherwise stated, are used to denote like features, elements, components, or portions of the illustrated embodiments. Moreover, while the present disclosure will now be described in detail with reference to the figures, it is done so in connection with the illustrative embodiments and is not limited by the particular embodiments illustrated in the figures and provided in the appended claims.
DETAILED DESCRIPTION
(20) A logic obfuscation technique can insert key-gates anywhere in a circuit. Depending upon their location, the attacker can develop different strategies to determine the key bits. Depending on the strategy employed by an attacker, key-gates can be classified based on their type of interference with other key-gates.
(21)
(22) To prevent attacks on ICs, according to an exemplary embodiment of the present disclosure, a key-sensitization can be hampered by inserting key-gates in such a way that propagation of a key value can be possible only if certain conditions can be forced on other key inputs. As these key inputs may not be accessible by the attacker, the attacker may not be able to force the values that can be needed to, propagate the effect of a key. Thus, a brute force may need to be employed by the attacker.
(23)
(24) An attacker can replace a run of key gates by a single key-gate, thereby reducing the number of key bits. When the value of that key-gate can be determined, the attacker can find the entire valid key space. For example, as shown in
(25) If there can be no path from a key-gate to all the other key gates and vice-versa, then such a gate can be called an isolated key-gate. For example,
(26) If there can be two key-gates K1 and K2 such that K2 lies on every path between K1 and the outputs, then K2 can be called a dominating key-gate (see, e.g.,
(27) The effect of a key can be muted before it reaches the other key by using patterns that force controlling values in any of the gates on the path between K1 and K2. If there can be multiple paths from key-gates K1 and K2, then the effect of key-input K1 can be muted on every path.
(28) For example, as shown in the diagram of
(29) Even if there are no paths between two key-gates, the sensitization paths can still interfere. Such scenarios can happen if two or more key-gates can converge. Depending upon the type of convergence, key-gates can be classified into (a) concurrently mutable, (b) sequentially mutable, and (c) non mutable key-gates. If two key-gates, K1 and K2, converge at some other gate such that K1's key bit can be determined by muting K2, and K2's key bit can be determined by muting K1, then K1 and K2 are called concurrently mutable key-gates. The key-gates K1 and K2 converge at the gate G5. (See, e.g.,
(30) If two gates K1 and K2 converge at some other gate such that K2's key bit can be determined by muting K1's key while K2's key cannot be muted to determine K1's key, then K1 and K2 are called sequentially mutable convergent key-gates, as they can be deciphered only in a particular order. The value of K2 can be determined by applying a pattern that mutes K1 (e.g., A=1), while K2 cannot be muted as it directly feeds the gate where K1 and K2 converge. (See, e.g.,
(31) If two key-gates KI and K2 converge at some other gate such that neither of the key bits can be muted, then K1 and K2 are called non-mutable convergent key-gates. For example, the key-gates K1 and K2 can be connected to the same gate G4. (See, e.g.
(32) Exemplary Procedure 1 Attack on Logic Obfuscation
(33) TABLE-US-00001 Input: Obfuscated netlist, Functional IC, Key Inputs Output: Original netlist; Determine Runs of Keys; Replace them with XOR gates; Update Netlist; For the remaining keys do For each Isolated Key do Compute and apply propagation pattern; Determine KeyBits and update Netlist end For each Consecutively or Concurrently or Sequentially Mutable key do If there exists a golden pattern then Apply the golden pattern; Determine KeyBits, Update Netlist, Break; else ApplyBruteForce( ), Break; end end For each Non-mutable Key do ApplyBruteForce( ), Break end end ApplyBruteForce( ); For each possible key combination do Generate random input patterns; Simulate the pattern and obtain the outputs OP.sub.sim; Apply the patterns on IC and obtain the output OP.sub.exe; If OP.sub.sim == OP.sub.exe then Valid Key = current key combination; Update netlist; end end
Exemplary Attacker's Action Plan
(34) By considering the different types of interference between key-gates, an attacker can use Procedure 1 to determine the secret key. The attacker can first remove the runs of key-gates and targets the isolated key-gates. Each isolated gate can be removed by one test pattern. After, the attacker can target consecutively mutable, concurrently mutable, and sequentially mutable key-gates. If the attacker can generate a golden pattern that simultaneously mutes effects of the other keys, and sensitizes the effect of the target key, the value of the target key can be determined. Additionally, the non-mutable keys can be identified via brute force. As the key bits can be identified gradually in the exemplary iteration, the corresponding key-gates can be replaced by a buffer or an inverter, changing the type of the other key-gates. Thus, in the exemplary iteration, the key-gate types can be re-computed.
(35) Exemplary Strong Logic Obfuscation
(36) Strong logic obfuscation can be based on inserting key-gates with complex interferences among them. These types of key-gates can introduce interference using a graph-based notation. To insert key-gates, an interference graph of key-gates can be generated. In this graph, each node can represent a key-gate, and an edge can connect two nodes, if two gates interfere. Isolated key-gates can be represented with isolated nodes. A run of key-gates can be denoted by a single node. Non-mutable key-gates can be connected with non-mutable edges, and concurrently mutable key-gates can be connected with mutable edges. Sequentially mutable key gates can be connected by two edges; a non-mutable edge can arise from the key-gate that can be non-mutable, and mutable edges can arise from the key-gate that can be mutable.
(37)
(38) K2 and K3 can converge at the gate 09, through G5 and 07, respectively. However, the key bits may not be muted and sensitized individually. For instance, making I6=1 can mute K2, but can also block the sensitization of K3 at G10. Making I7=1 can mute K3, and can also block the sensitization of K2 at G10. Therefore, K2 and K3 can be non-mutable, as shown in the exemplary embodiment of
(39) For stronger logic obfuscation, the number of non-mutable edges in the interference graph can be maximized as they can force an attacker to perform brute force. At the same time, if there can be more mutable edges, then the attacker can mute the effect of keys and can easily determine their values. Thus, a defender can prefer non-mutable edges to mutable edges. If a new key-gate, K4, can be inserted at the output of G10, then it can create mutable edges with all the other key-gates. (See, e.g.,
(40) If the new key-gate, K4, can be inserted at the output of G5, then it can create non-mutable edges with the other key-gates as shown in
(41) Exemplary Procedure 2 Insertion of Key-Gates
(42) TABLE-US-00002 Input: Original netlist, KeySize Output: Obfuscated netlist KeyGateLocations = { }; Randomly insert 10% key-gates; Add these locations to KeyGateLocations; Construct KeyGraph; For I=2 to KeySize do For each Gate.sub.j in Netlist do If Gate.sub.j .Math. KeyGateLocations then Cum. Weight =Σ, weight of edges in KeyGraph; For each Key-Gate.sub.k in KeyGateLocations do Cum. Weight.sub.j += FindMetric(Gate.sub.j, Key-gate.sub.k); end end end Select the Gate with the highest Hardness Metric; Add the selected gate to KeyGateLocations; Insert a key-gate at the output of the selected gate; Update KeyGraph; end FindMetric (K1, K2); if Kl and K2 are isolated then Return 0; if Kl andK2 are Consecutively Concurrently or Sequentially Mutable then Return 0 If a golden pattern exists then Return weight of mutable edge; else Return weight of non-mutable edge; end if K1 and K2 are non-mutable then Return weight of non-mutable edge;
Exemplary Insertion of Key-Gates
(43) A defender can use the interference graph to insert key-gates. (See, e.g., procedure 2). At the exemplary iteration, a key-gate can be inserted at a location such that the number of non-mutable edges in the graph can be maximized. Initially, about 10% of the total key-gates can be inserted at random locations in the circuit. Such random distribution can insert key-gates in different parts of the circuit thereby affecting multiple outputs. About 10% can be considered for the initial distribution, although a different amount of initial distribution can be chosen. After the graph of key-gates can be constructed. Additionally, the remaining key-gates can be introduced iteratively. In exemplary iterations, for each gate in the netlist, the type of edge can be determined with the previously inserted key-gate. Depending upon the type of edge, weights can be assigned, and non-mutable edges can be given a higher weight than the mutable edges. The sum of weights of edges can be calculated in the graph for that gate. The gate that maximizes the sum of weight of edges in the graph can be selected, and a key-gate can be inserted at its output. The graph can be then updated by including the new key-gate. This exemplary procedure can be repeated for inserting all the key-gates.
(44) In exemplary iterations, the defender can check for the presence of golden patterns which can increase the computational complexity of the procedure. Thus, a defender can assume that there always exists a golden pattern and can skip the search for the golden pattern. This can cause a problem for defender because some golden patterns may not exist.
(45) Exemplary Results
(46) The exemplary systems, methods and computer-accessible mediums, according to exemplary embodiments of the present disclosure can be analyzed using, e.g., ISCAS-85 combinational benchmarks. An Atalanta testing tool (see, e.g., Reference 6) can be used to determine the input patterns for muting and propagating the effects of keys. To obfuscate a circuit with a reasonable performance overhead, a key size as 5% of number of gates in that circuit can be selected. While obfuscating a circuit, the defender can assume that there can exist a golden pattern. While attacking the circuit, a search can be conducted for the golden pattern. For every brute force attempt, 1000 random patterns can be applied to determine the value of a key. The area, power, and delay overheads can be obtained using the Cadence RTL compiler.
(47) The effectiveness of four types of insertions can be compared as random-insertion (See, e.g., Reference 1), random insertion with no runs of gates, unweighted insertion where both mutable and non-mutable edges can be given the same weight of 1, and weighted insertion where non-mutable edges can be given a higher weight (e.g., weight=2) than the mutable edges (e.g., weight=1).
(48)
(49) In the exemplary unweighted and weighted insertions, around 90% of keys can be of non-mutable and sequentially mutable types. Most of the keys in weighted insertion can be either non-mutable or sequentially mutable because they can be given a higher weight. There can be no isolated keys in either of the insertion techniques, as they may not be given any weights.
(50) Due to random insertion of the first 10% of key-gates, multiple disconnected graphs can exist within a key-interference graph. The keys in a graph can either be isolated, dominant, or convergent. Since a defender can assume that the golden patterns always exist, the effective key size from the defender's perspective can be the maximum number of non-mutable keys in a connected key-interference graph. If there can be N non-mutable key gates (e.g., effective key-size), the number of brute force attempts can be 2.sup.N-1. However, when an attacker tries to attack, not all the golden patterns can exist. For those keys, the attacker can attempt all possible combinations. Thus, from an attacker's perspective, the effective key size can be the largest key size on which brute force can be attempted. If the number of brute force attempts can be 2.sup.M, then the effective key size for an attacker can be M.
(51) As illustrated in the exemplary chart of
(52)
(53) Exemplary Effect of Weight of on Mutable Edge
(54) TABLE-US-00003 TABLE 1 Number of non-mutable keys out of the total 176 keys in the benchmark C7552 for different weights of non-mutable edges. Weight of non-mutable edge 1 2 10 100 1000 # of non-mutable key-gates 115 138 149 156 163
(55) By increasing the weight of the non-mutable edges, the exemplary systems, methods and computer-accessible mediums, according to exemplary embodiments of the present disclosure, can create a design that has a large number of non-mutable key-gates. Table 1 herein above indicates the number of non-mutable key-gates for different weights of non-mutable edges in one of the ISCAS-85 benchmark circuit, C7552. This circuit can be obfuscated with 176 key-gates. While increasing the weight of the non-mutable edges increases the number of non-mutable key-gates in the design, the rate of increase may not be at the same rate. Increasing the weight from 1 to 2 can increase the number of non-mutable key-gates from 115 to 138. But increasing the weight from 2 to 10 can increase the number of non-mutable key-gates from 138 to 149.
(56) Exemplary Area Overhead
(57)
(58) Exemplary Power Delay Product
(59)
(60) Exemplary Logic Obfuscation with Physical Unclonable Functions
(61) Physical Unclonable Functions (“PUFs”) can be circuits that leverage process variations in IC manufacturing to produce secret keys. PUFs can be used to give unique keys for each IC even though they can all be obfuscated with the same key. (See, e.g., Reference 1). The design can be first obfuscated with a key, and a PUF circuit can be attached to it. Upon applying the user key to the PUF, the PUF's response can be the key used for obfuscation. In the proposed exemplary attack, the attacker can try to determine this response (e.g., the key used for obfuscation). On getting this response, the attacker can remove the PUF circuit from the netlist and apply the correct keys directly to the original design. To break the influence of PUFs, or any cryptographic procedures, an attacker can determine the wires that carry these signals and disconnect them.
(62) For a random insertion, from a defender's perspective, as shown in exemplary diagrams of
(63) From an attacker's perspective, an attacker can try to search for the golden pattern for the edge K11.fwdarw.K3 that can simultaneously mute K11 and sensitize K3. The attacker can conclude that such a pattern does not exist. Thus, from an attacker's perspective, the edge from K11.fwdarw.K3 can be non-mutable 1205 as shown in
(64) For weighted insertion, from the defender's perspective, as shown in the exemplary diagram of
(65) From an attacker's perspective, the attacker can search for the golden pattern that can mute the key-gate K1. As such a pattern may not exist, and the attacker can classify the edges K1.fwdarw.K2, K1.fwdarw.K5, K1.fwdarw.K10, and K1.fwdarw.K11 as non-mutable. Therefore, the key-gate K1 can also become non-mutable. As the attacker can try all combinations of the keys, K1 to K11, the effective key size can be eleven. While the effective key size in random insertion can be two, the exemplary systems, methods and computer-accessible mediums, according to exemplary embodiments of the present disclosure, can have an effective key size of eleven.
(66)
(67)
(68) Exemplary Conclusion
(69) Logic obfuscation can be weak when the inserted key-gates can be isolated, or their effect can be muted. If mutable gates can be employed, then the attacker can determine the key bits within a second. However, it can be strengthened according to exemplary embodiments of the present disclosure, by inserting key-gates such that their effects can be not mutable. In such insertions, when the key size can be greater than 100, it can take several years for an attacker to determine the key bits.
(70) IC testing techniques allow designers and testers to peek into the design, by controlling only the inputs and observing the outputs. On one hand, an attacker can use such capability to subvert logic obfuscation. On the other hand, a defender can perform better logic obfuscation by making such process infeasible using the lessons learnt from testing.
(71)
(72)
(73) As shown in
(74) Further, the exemplary processing arrangement 1502 can be provided with or include an input/output arrangement 1514, which can include, e.g., a wired network, a wireless network, the internet, an intranet, a data collection probe, a sensor, etc. As shown in
(75) The foregoing merely illustrates the principles of the disclosure. Various modifications and alterations to the described embodiments will be apparent to those skilled in the art in view of the teachings herein. It will thus be appreciated that those skilled in the art will be able to devise numerous systems, arrangements, and procedures which, although not explicitly shown or described herein, embody the principles of the disclosure and can be thus within the spirit and scope of the disclosure. Various different exemplary embodiments can be used together with one another, as well as interchangeably therewith, as should be understood by those having ordinary skill in the art. In addition, certain terms used in the present disclosure, including the specification, drawings and claims thereof, can be used synonymously in certain instances, including, but not limited to, e.g., data and information. It should be understood that, while these words, and/or other words that can be synonymous to one another, can be used synonymously herein, that there can be instances when such words can be intended to not be used synonymously. Further, to the extent that the prior art knowledge has not been explicitly incorporated by reference herein above, it is explicitly incorporated herein in its entirety. All publications referenced are incorporated herein by reference in their entireties.
EXEMPLARY REFERENCES
(76) The following references are hereby incorporated by reference in their entirety. [1] J. Roy, F. Koushanfar, and I. Markov, “EPIC: Ending Piracy of Integrated Circuits,” 5 Proc. of Design, Automation and Test in Europe, pp. 1069-1074, 2008. [2] “Defense Science Board (DSB) study on High Performance Microchip Supply,” http://www.acg.osd.mil/dsb/reports/ADA435563.pdf, 2005. [3] R. Karri, J. Rajendran, K. Rosenfeld, and M. Tehranipoor, “Trustworthy Hardware: Identifying and Classifying Hardware Trojans,” IEEE Computer, vol. 43, no. 10, pp. 39-46, 2010. [4] SEMI, “Innovation is at risk as semiconductor equipment and materials industry loses up to $4 billion annually due to IP infringement,” www.semi.org/en/Press/P043775, 2008. [5] M. L. Bushnell and V. D. Agrawal, “Essentials of Electronic Testing for Digital, Memory, and Mixed-Signal VLSI Circuits,” Kluwer Academic Publishers, Boston, 2000. [6] H. Lee and D. Ha, “An efficient forward fault simulation algorithm based on the parallel pattern single fault propagation,” Proc. of IEEE International Test Conference, pp. 946-955, 1991. [7] R. Chakraborty and S. Bhunia, “HARPOON: An Obfuscation-Based SoC Design Methodology for Hardware Protection,” IEEE Transactions on Computer-Aided Design, vol. 28, no. 10, pp. 1493-1502, 2009. [8] A. Baumgarten, A. Tyagi, and J. Zambreno, “Preventing IC Piracy Using Reconfigurable Logic Barriers,” IEEE Design and Test of Computers, vol. 27, no. 1 pp. 66-75, 2010.