Skip to main content

Logic Locking of Boolean Circuits: Provable Hardware-Based Obfuscation from a Tamper-Proof Memory

  • Conference paper
  • First Online:
Innovative Security Solutions for Information Technology and Communications (SecITC 2019)

Part of the book series: Lecture Notes in Computer Science ((LNSC,volume 12001))

Abstract

Today’s integrated circuits are subject to a variety of attacks. Logic Locking is an area of hardware security that attempts to prevent reverse-engineering of integrated circuits based on a tamper-resistant memory. Despite significant attention from the research literature, no rigorous cryptographic modeling of logic locking and associated provable secure solutions have been proposed.

Based on the observation that logic locking can be seen as a special case of hardware-based cryptographic program obfuscation, we propose rigorous definitions, borrowing approaches from modern cryptography (and, specifically, cryptographic program obfuscation), for both tamper-proof memories and logic locking of boolean circuits. We then prove two positive results: (1) the existence of a circuit computationally indistinguishable from a random oracle, assuming the existence of a pseudo-random function and of a tamper-proof memory, and (2) logic locking of general polynomial-size boolean circuits, assuming the existence of a pseudo-random generator and a tamper-proof memory.

Our paper shows the possibility of provably boosting the capability of constructing a physical memory with a suitable tamper-resistant property into hardware-based obfuscation of any boolean circuit, as well as a practical hardware-based realization of a random oracle.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
eBook
USD 39.99
Price excludes VAT (USA)
Softcover Book
USD 54.99
Price excludes VAT (USA)

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. http://securedrives.co.uk/

  2. https://www.bunniestudios.com/blog/?page_id=40 (2012)

  3. Detecting and Removing Counterfeit Semiconductors in the U.S. Supply Chain (2013)

    Google Scholar 

  4. Azar, K.Z., Kamali, H.M., Homayoun, H., Sasan, A.: SMT attack: next generation attack on obfuscated circuits with capabilities and performance beyond the SAT attacks. IACR Trans. Cryptogr. Hardw. Embedded Syst. 19, 97–122 (2019)

    Google Scholar 

  5. Barak, B., et al.: On the (im)possibility of obfuscating programs. J. ACM 59(2), 6 (2012)

    Article  MathSciNet  Google Scholar 

  6. Bellare, M., Stepanovs, I.: Point-function obfuscation: a framework and generic constructions. In: Kushilevitz, E., Malkin, T. (eds.) TCC 2016. LNCS, vol. 9563, pp. 565–594. Springer, Heidelberg (2016). https://doi.org/10.1007/978-3-662-49099-0_21

    Chapter  Google Scholar 

  7. Blum, M., Micali, S.: How to generate cryptographically strong sequences of pseudo-random bits. SIAM J. Comput. 13(4), 850–864 (1984)

    Article  MathSciNet  Google Scholar 

  8. Canetti, R., Goldreich, O., Halevi, S.: The random oracle methodology, revisited. J. ACM 51(4), 557–594 (2004)

    Article  MathSciNet  Google Scholar 

  9. Chakraborty, A., Liu, Y., Srivastava, A.: TimingSAT: timing profile embedded SAT attack, pp. 6:1–6:6 (2018)

    Google Scholar 

  10. Crescenzo, G.: Cryptographic formula obfuscation. In: Zincir-Heywood, N., Bonfante, G., Debbabi, M., Garcia-Alfaro, J. (eds.) FPS 2018. LNCS, vol. 11358, pp. 208–224. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-18419-3_14

    Chapter  Google Scholar 

  11. Di Crescenzo, G., Bahler, L., Coan, B.: Cryptographic password obfuscation. In: Naccache, D., et al. (eds.) ICICS 2018. LNCS, vol. 11149, pp. 497–512. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-01950-1_29

    Chapter  Google Scholar 

  12. Di Crescenzo, G., Rajendran, J., Karri, R., Memon, N.D.: Boolean circuit camouflage: cryptographic models, limitations, provable results and a random oracle realization. In: Proceedings of the 2017 Workshop on Attacks and Solutions in Hardware Security, ASHES@CCS 2017 (2017)

    Google Scholar 

  13. Dodis, Y., Smith, A.D.: Correcting errors without leaking partial information. In: Proceedings of the 37th Annual ACM Symposium on Theory of Computing, pp. 654–663 (2005)

    Google Scholar 

  14. Gennaro, R., Lysyanskaya, A., Malkin, T., Micali, S., Rabin, T.: Algorithmic Tamper-Proof (ATP) Security: theoretical foundations for security against hardware tampering. In: Naor, M. (ed.) TCC 2004. LNCS, vol. 2951, pp. 258–277. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24638-1_15

    Chapter  Google Scholar 

  15. Goldreich, O., Goldwasser, S., Micali, S.: How to construct random functions. J. ACM 33(4), 792–807 (1986)

    Article  MathSciNet  Google Scholar 

  16. Goldwasser, S., Micali, S.: Probabilistic encryption. J. Comput. Syst. Sci. 28(2), 270–299 (1984)

    Article  MathSciNet  Google Scholar 

  17. Hanau, A., Hanson, E., Hughes, E.: Enabling IPX level 7-8 PCB waterproof protection. Printed Circuit Design and Fab (2018)

    Google Scholar 

  18. Håstad, J., Impagliazzo, R., Levin, L.A., Luby, M.: A pseudorandom generator from any one-way function. SIAM J. Comput. 28(4), 1364–1396 (1999)

    Article  MathSciNet  Google Scholar 

  19. Koblitz, N., Menezes, A.J.: The random oracle model: a twenty-year retrospective. Des. Codes Cryptogr. 77(2–3), 587–610 (2015)

    Article  MathSciNet  Google Scholar 

  20. Lynn, B., Prabhakaran, M., Sahai, A.: Positive results and techniques for obfuscation. In: Cachin, C., Camenisch, J.L. (eds.) EUROCRYPT 2004. LNCS, vol. 3027, pp. 20–39. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-24676-3_2

    Chapter  Google Scholar 

  21. Matsumoto, M., Nishimura, T.: Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator. ACM Trans. Model. Comput. Simul. 8(1), 3–30 (1998)

    Article  Google Scholar 

  22. Rajendran, J., et al.: Fault analysis-based logic encryption. TCOMP 64(2), 410–424 (2015)

    MathSciNet  MATH  Google Scholar 

  23. Roy, J.A., Koushanfar, F., Markov, I.L.: Ending piracy of integrated circuits. IEEE Comput. 43(10), 30–38 (2010)

    Article  Google Scholar 

  24. Shamsi, K., Li, M., Meade, T., Zhao, Z., Pan, D.Z., Jin, Y.: Cyclic obfuscation for creating SAT-unresolvable circuits, pp. 173–178 (2017)

    Google Scholar 

  25. Sirone, D., Subramanyan, P.: Functional analysis attacks on logic locking. In: DATE (2018)

    Google Scholar 

  26. Skorobogatov, S.: Data remanence in flash memory devices. In: Rao, J.R., Sunar, B. (eds.) CHES 2005. LNCS, vol. 3659, pp. 339–353. Springer, Heidelberg (2005). https://doi.org/10.1007/11545262_25

    Chapter  Google Scholar 

  27. Subramanyan, P., Ray, S., Malik, S.: Evaluating the security of logic encryption algorithms, pp. 137–143 (2015)

    Google Scholar 

  28. Tao, S., Dubrova, E.: Ultra-energy-efficient temperature-stable physical unclonable function in 65 nm CMOS. Electron. Lett. 52(10), 805–806 (2016)

    Article  Google Scholar 

  29. Tuyls, P., Schrijen, G.-J., Škorić, B., van Geloven, J., Verhaegh, N., Wolters, R.: Read-proof hardware from protective coatings. In: Goubin, L., Matsui, M. (eds.) CHES 2006. LNCS, vol. 4249, pp. 369–383. Springer, Heidelberg (2006). https://doi.org/10.1007/11894063_29

    Chapter  Google Scholar 

  30. Valiant, L.G.: Universal circuits (preliminary report). In: Proceedings of the 8th Annual ACM Symposium on Theory of Computing, 3–5 May 1976, Hershey, Pennsylvania, USA, pp. 196–203 (1976)

    Google Scholar 

  31. Wee, H.: On obfuscating point functions. In: Proceedings of 37th ACM STOC, 2005, pp. 523–532 (2005)

    Google Scholar 

  32. Wichs, D., Zirdelis, G.: Obfuscating compute-and-compare programs under LWE. In: Proceedings of 58th IEEE FOCS 2017, pp. 600–611 (2017)

    Google Scholar 

  33. Worthman, E.: Chaologix: Integrated Security (2015)

    Google Scholar 

  34. Xie, Y., Srivastava, A.: Mitigating SAT attack on logic locking. In: CHES, no. 590 (2016)

    Google Scholar 

  35. Xie, Y., Srivastava, A.: Delay locking: security enhancement of logic locking against IC counterfeiting and overproduction, pp. 9:1–9:6 (2017)

    Google Scholar 

  36. Yang, F., Tang, M., Sinanoglu, O.: Stripped functionality logic locking with hamming distance based restore unit (SFLL-hd)-unlocked. In: TIFS (2019)

    Google Scholar 

  37. Yasin, M., Mazumdar, B., Rajendran, J.J.V., Sinanoglu, O.: SARLock: SAT attack resistant logic locking, pp. 236–241 (2016)

    Google Scholar 

  38. Yasin, M., Rajendran, J.J., Sinanoglu, O., Karri, R.: On improving the security of logic locking. TCAD 35(9), 1411–1424 (2016)

    Google Scholar 

  39. Yasin, M., Mazumdar, B., Rajendran, J., Sinanoglu, O.: Hardware security and trust: logic locking as a design-for-trust solution. In: Elfadel, I.A.M., Ismail, M. (eds.) The IoT Physical Layer, pp. 353–373. Springer, Cham (2019). https://doi.org/10.1007/978-3-319-93100-5_20

    Chapter  Google Scholar 

  40. Yasin, M., Mazumdar, B., Sinanoglu, O., Rajendran, J.: Security analysis of anti-SAT (2017)

    Google Scholar 

  41. Zhou, H., Jiang, R., Kong, S.: CycSAT: SAT-based attack on cyclic logic encryptions, pp. 49–56 (2017)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Giovanni Di Crescenzo .

Editor information

Editors and Affiliations

Additional information

The first author’s work was supported by the Defense Advanced Research Projects Agency (DARPA) via U.S. Army Research Office (ARO), contract number W911NF-15-C-0233. The U.S. Government is authorized to reproduce and distribute reprints for Governmental purposes notwithstanding any copyright annotation hereon. Disclaimer: The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of DARPA, ARO or the U.S. Government.

Appendices

A Pseudo-random Generators and Functions

We recall the formal notions of pseudo-random generators and functions used in the cryptography literature.

Pseudo-random generators are stretching functions whose output is computationally indistinguishable from a random string of the same length. A function \(prG_{\sigma ,m}:\{0,1\}^\sigma \rightarrow \{0,1\}^m\), is a stretching function if \(m>\sigma \). Let \(\epsilon _{prg}\) be a function negligible in the security parameter \(\sigma \). We say that a family of functions \(prG=\{prG_{\sigma ,m}:\sigma \in {\mathcal N}\}\) is a family of \(\epsilon _{prg}\)-pseudo-random generators if each \(prG_{\sigma ,m}\) is a stretching function and if for any efficient adversary Adv, the difference \(|p_r-p_{prG}|\) is smaller than \(\epsilon _{prg}(\sigma )\), where

  1. 1.

    \(p_r=\{r\leftarrow \{0,1\}^m\,:\,Adv(r)=1\}\); and

  2. 2.

    \(p_{prg}=\{s\leftarrow \{0,1\}^\sigma ;z\leftarrow prG_{\sigma ,m}(s)\,:\,Adv(z)=1\}\).

Families of \(\epsilon _{prg}\)-pseudo-random generators, for negligible functions \(\epsilon _{prg}\), have been constructed from any family of one-way functions [18], from any of a number of number-theoretic hard problems (e.g., [7]), as well as through more practical heuristic constructions (e.g., [21]).

We say that a function \(R_{n,m}:\{0,1\}^n\rightarrow \{0,1\}^m\) is a random function (over n-bit inputs and with m-bit outputs) if it is randomly chosen among all functions with n-bit inputs and m-bit outputs. In a random function \(R_{n,m}\), for any input string \(x\in \{0,1\}^n\), the output string \(R_{n,m}(x)\in \{0,1\}^m\) is uniformly and independently distributed. We say that a family of functions \(\{R_{n,m}:n,m\in {\mathcal N}\}\) is a family of random functions if each function \(R_{n,m}\) is a random function over n-bit inputs and with m-bit outputs. As a consequence, an adversary querying \(R_n\) on several input strings and obtaining the corresponding output strings still cannot predict the output string \(R_{n,m}(x)\) corresponding to a new input string x, better than by randomly choosing a string of the same length. As any logical description of a random function over \(\{0,1\}^n\) inputs requires \(\varOmega (2^n)\) space, families of random functions cannot be efficiently represented as a circuit (unless n is small). Pseudo-random functions [15] are widely used to approximate the properties of random functions. Their evaluation only requires a short random key, and their pseudo-randomness property holds as long as the key is kept secret.

A function \(prF_{n,m}:\{0,1\}^\kappa \times \{0,1\}^n\rightarrow \{0,1\}^m\) is a keyed function (over n-bit inputs and with m-bit outputs) if for each \(k\in \{0,1\}^\kappa \), the function \(prF_{n,m}(k,\cdot )\), also denoted \(prF_k(\cdot )\), is a function with n-bit inputs and m-bit outputs.

For any \(n,m\in {\mathcal N}\), let \(Rand_{n,m}\) be the set of all functions \(R_{n,m} : \{0,1\}^n\rightarrow \{0,1\}^m\) and let \(prF_k : \{0,1\}^n\rightarrow \{0,1\}^m\) be a keyed function. Consider the following probabilistic experiment Init:

  1. 1.

    Uniformly choose \(R_n\) from \(Rand_{n,m}\); and

  2. 2.

    uniformly choose k from \(\{0,1\}^\kappa \).

Let \(\epsilon _{prf}\) be a function negligible in the security parameter. We say that a family of functions \(prF=\{prF_{n,m}:n\in {\mathcal N}\}\) is a family of \(\epsilon _{prf}\)-pseudo-random functions if for any efficient oracle adversary Adv, the difference \(|p_R-p_{prF}|\) is smaller than \(\epsilon _{prf}\), where

  1. 1.

    \(p_R=\{Init;O(\cdot )\leftarrow R_{n,m}(\cdot );A^O(1^n)=1\}\); and

  2. 2.

    \(p_{prF}=\{Init;O(\cdot )\leftarrow prF_{n,m}(k,\cdot );A^O(1^n)=1\}\).

In other words, pseudo-random functions are computationally indistinguishable from random functions with the same input and output lengths.

B Universal Circuits

In [30] it was proved that there exists a universal circuit \(c_u\) that can compute the output of any input circuit c on its input string x. Since circuit c is encoded as a binary string before being given as input to \(c_u\), we re-state below this property of universal circuits with a natural constraint on the size of the input circuit c, which, in turn, implies a constraint on the length of the (conventional) binary encoding of c.

First, let \(\mathcal {C}_{\ell _x,g}\) be the class of circuits that take as input an \(\ell _x\)-bit input string x, have size at most \(g(\ell _x)\) gates, for some polynomial g, and return a 1-bit output. Also, fix a conventional encoding of a circuit c from \(\mathcal {C}_{\ell _x,g}\) as a binary string, and assume that any such circuit c is encoded into a string, denoted as b(c), of length at most \(\ell _c\). Then, the universal circuit \(c_u\) for circuits in \(\mathcal {C}_{\ell _x,g}\) is formally defined as a circuit with the following properties:

  1. 1.

    it takes as input an \(\ell _x\)-bit string x and a \(\ell _c\) string b(c)

  2. 2.

    b(c) is the binary encoding of a boolean circuit c with at most \(g(\ell _x)\) gates and \(\ell _x\)-bit inputs

  3. 3.

    \(c_u(b(c),x)=c(x)\) for all possible inputs cx.

The result in [30] can be restated as follows:

Theorem 3

[30] Let g be a polynomial. There exists (constructively) an universal circuit \(c_u\) for circuits in \(\mathcal {C}_{\ell _x,g}\) with size \(O((\ell _c+\ell _x)\log (\ell _c+\ell _x))\).

We note that in principle the description of a universal circuit \(c_u\) might leak some information about the original circuit c, such as, for instance, the polynomial g used to describe the number of gates in c. For instance, a universal circuit for circuits in \(\mathcal {C}_{\ell _x,g}\) with \(g_1(\ell _x)\) gates might be easily distinguishable from a universal circuit for circuits in \(\mathcal {C}_{\ell _x,g}\) with \(g_2(\ell _x)\) gates, if polynomials \(g_1,g_2\) are different, while satisfying \(g_i(\ell _x)\le g(\ell _x)\), for \(i=1,2\). Since our goal is to design a logic locking scheme for all circuits in the class \(\mathcal {C}_{\ell _x,g}\), we will need the following size indistinguishability property of universal circuits for circuits in \(\mathcal {C}_{\ell _x,g}\): for any two pairs \((\ell _1,g_1)\) and \((\ell _2,g_2)\) such that \(\ell _i\le \ell _x\) and \(g_i\le g\), for \(i=1,2\), it holds that the universal circuit generated for circuits in the subclass \(\mathcal {C}_{\ell _1,g_1}\) and the universal circuit generated for circuits in the subclass \(\mathcal {C}_{\ell _2,g_2}\) are equal.

We note that simple padding techniques can be used to transform any universal circuit into one that satisfies size indistinguishability. For instance, a circuit with \(\ell _1\le \ell \) inputs and \(g_1\le g\) gates might be padded with inputs and gates (that do not change the computation) so to have exactly \(\ell \) inputs and g gates before generating the universal circuit. In the rest of the paper, we will assume such a procedure and therefore that all universal circuits satisfy size indistinguishability. Moreover, we will also assume that given a universal circuit for circuits in class \(\mathcal {C}_{\ell _x,g}\), it is possible to derive the length \(\ell _c\) of the binary representation b(c) of the original circuit c from the class.

C Proof that (KeyGen1, LockGen1) Satisfies Theorem 1

We prove that our logic locking scheme (KeyGen1, LockGen1) from Sect. 3 satisfies Theorem 1 by proving that it satisfies the 4 properties of Definition 3: computation correctness, lock security, efficient circuit and memory size.

Computation Correctness and Efficiency Properties. The correctness of the computation is a direct consequence of the definition of pseudo-random functions. That is, an adversary finding, with non-negligible probability, an x such that \(prF_{n,m}(x)\ne c(x)\) can be used to distinguish pseudo-random functions from random functions. With respect to circuit size, we observe that the locked circuit contains the circuit for the pseudo-random function prF and the circuit for retrieval from tpM, and therefore the logic locking scheme satisfies \(t'\)-efficient circuit size, for \(t'\le O(t_{prf}+t_{tpm}+\lambda )\). With respect to memory size, we observe that the locked circuit only stores the key length for pseudo-random function \(prF_{n,m}\) on the tamper-proof memory and therefore the logic locking scheme satisfies \(\lambda '\)-efficient memory size, for \(\lambda '\ge \kappa \).

Lock Security. Let c be a Boolean circuit. If rP is a random process, we let \(Pr_{lock}[rP]\) denote the probability that \(c_{adv}=c\) after a sequential execution of the following 3 processes:

  • \(k\leftarrow \) KeyGen\((1^\lambda ),\)

  • \(b\leftarrow \) tpMStore\((1^\lambda ,k;tpM)\),

  • rP.

We prove the lock security property by a hybrid argument [16], where, informally speaking, we evaluate and compare the success probability of adversary Adv or a related algorithm \(Adv'\) in guessing circuit c in the following 4 “worlds”, where L denotes a logical abstraction function:

  1. 1.

    Adv has read access to \(c',L(tpM)\) and oracle access to \(c'(k,\cdot )\);

  2. 2.

    Adv has read access to \(c',1^\lambda \) and oracle access to \(c'(k,\cdot )\);

  3. 3.

    Adv has read access to \(c',1^\lambda \) and oracle access to a random oracle \(R_{n,m}\); and

  4. 4.

    \(Adv'\), an efficient algorithm depending on Adv, has read access to \(c',1^\lambda \).

More formally, we first define the following random processes:

  • \(rP_1\) = “\(c_{adv}\leftarrow Adv^{c'(k,\cdot )}(c',L(tpM))\)”,

  • \(rP_2\) = “\(c_{adv}\leftarrow Adv^{c'(k,\cdot )}(c',1^\lambda )\)”,

  • \(rP_3\) = “\(c_{adv}\leftarrow Adv^{R_{n,m}}(c',1^\lambda )\)”,

  • \(rP_4\) = “\(c_{adv}\leftarrow Adv'(c',1^\lambda )\)”.

Then we obtain the following lemmas.

Lemma 1

\(p_0=Pr_{lock}[rP_1]\) and \(p_1=Pr_{lock}[rP_4]\)

Proof

The first equality directly follows from definitions of \(p_0\) and \(rP_1\). The second equality directly follows from definitions of \(p_1\) and \(rP_4\), and by setting the simulator algorithm Sim as equal to \(Adv'\). \(\blacksquare \)

Lemma 2

\(|Pr_{lock}[rP_1]-Pr_{lock}[rP_2]|\le \epsilon _{tpm}\), for some \(\epsilon _{tpm}\) negligible in \(\sigma \).

Proof

Let \(p_0,p_1\) be the probability quantities defined in Definition 2. By the definitions of \(rP_1,rP_2\), we observe that \(Pr_{lock}[rP_1]=p_0\) and \(Pr_{lock}[rP_1]=p_1\). Then the lemma follows as a direct application of Definition 2 for the tamper-proof security of tpM. \(\blacksquare \)

Lemma 3

\(|Pr_{lock}[rP_2]-Pr_{lock}[rP_3]|\le \epsilon _{prf}\), for some \(\epsilon _{prf}\) negligible in \(\sigma \).

Proof

We first observe that the difference between \(rP_2\) and \(rP_3\) only consists of the oracle to which Adv has oracle access. Specifically, in \(rP_2\), Adv has access to locked circuit \(c'(k,\cdot )\), an oracle that evaluates the circuit \(c'\) for pseudo-random function prF with key k, while in \(rP_3\), Adv has access to a random oracle \(R_{n,m}\). Moreover, in both \(rP_2\) and \(rP_3\), Adv has read access to unlocked circuit \(c'\) and \(1^\lambda \). Then we can directly apply the pseudo-randomness property of prF, and obtain that Adv can only distinguish the two worlds with at most negligible probability \(\epsilon _{prf}\). \(\blacksquare \)

Lemma 4

For any efficient algorithm Adv, there exists an efficient algorithm \(Adv'\) such that \(Pr_{lock}[rP_4]=Pr_{lock}[rP_3]\).

Proof

Consider algorithm Adv in random process \(rP_3\). Then, define algorithm \(Adv'\) as the algorithm that runs Adv and, in this execution, simulates the answers to Adv’s queries to the random oracle as random strings (for new queries) or previously generated random strings (for repeated queries); finally, \(Adv'\) returns the same output as Adv. Since the simulation performed by \(Adv'\) of the random oracle answers is perfect, we have that \(Adv'\) guesses the original circuit c in \(rP_4\) with the same probability that Adv guesses the original circuit c in \(rP_3\), and thus \(Pr_{lock}[rP_4]=Pr_{lock}[rP_3]\), from which the lemma follows. \(\blacksquare \)

Finally, we use these lemmas to conclude the proof that the logic locking scheme satisfies Definition 3. Specifically, we have that

$$\begin{aligned} |p_0-p_1|= & {} |\,Pr_{lock}[rP_1]-Pr_{lock}[rP_4]\,|\ \\\le & {} \sum _{i=1}^3|Pr_{lock}[rP_i]-Pr_{lock}[rP_{i+1}]| \\\le & {} \epsilon _{tpm} +|Pr_{lock}[rP_2]-Pr_{lock}[rP_3]|+ |Pr_{lock}[rP_3]-Pr_{lock}[rP_4]| \\\le & {} \epsilon _{tpm} +\epsilon _{prf} + |Pr_{lock}[rP_3]-Pr_{lock}[rP_4]| \\\le & {} \epsilon _{tpm} +\epsilon _{prf} \,\le \, {\text {a function negligible in }} \sigma , \end{aligned}$$

where the first equality follows from Lemma 1, the first inequality follows by applying the triangle inequality, the second inequality follows from Lemma 2, the third inequality follows from Lemma 3, the fourth inequality follows from Lemma 4, and the fifth inequality follows from assumptions on \(\epsilon _{tpm},\epsilon _{prf}\).

D Proof that (KeyGen2, LockGen2) Satisfies Theorem 2

The proof that our logic locking scheme (KeyGen2, LockGen2) satisfies Theorem 2 follows the same structure as the proof of Theorem 1. Specifically, we prove that it satisfies the 4 properties of Definition 3: computation correctness, lock security, efficient circuit size and efficient memory size.

Computation Correctness. The correctness of the computation of the locked circuit follows directly from the definition and properties of universal circuits.

Efficiency Properties. With respect to circuit size, we observe that the locked circuit contains the circuit for the pseudo-random generator prG, the circuit for retrieval from tpM, and circuit gates for computing the xor between two strings of length \(\ell _c\), and therefore the logic locking scheme satisfies \(t'\)-efficient circuit size, for \(t'=O(t_{prg}+t_u+t_{tpm}+\lambda )\). With respect to memory size, we observe that the locked circuit only stores the key length for pseudo-random generator \(prG_{\sigma ,m}\) on the tamper-proof memory and therefore the logic locking scheme satisfies \(\lambda '\)-efficient memory size, for \(\lambda '\ge \sigma \).

Lock Security. The proof for this property is structured very similarly as in the proof for Theorem 1. Thus, it suffices to discuss the differences, which are mainly in the definitions for the worlds and relative random processes used in the proof’s hybrid argument. The main technical difference in the proof is in the simulation argument, as described in the proof of Lemma 7. As before, we evaluate and compare the success probability of adversary Adv or a related efficient algorithm \(Adv'\) in guessing circuit c in the following 4 “worlds”:

  1. 1.

    Adv has read access to \(c'_y,L(tpM)\) and oracle access to \(c'_y(k,\cdot )\);

  2. 2.

    Adv has read access to \(c'_y,1^\lambda \) and oracle access to \(c'_y(k,\cdot )\);

  3. 3.

    Adv has read access to \(c'_z,1^\lambda \), for some random \(\ell _c\)-bit string z, and oracle access to \(c'_y(k,\cdot )\); and

  4. 4.

    \(Adv'\), an efficient algorithm depending on Adv, has oracle access to \(c'_y(k,\cdot )\).

Denote as \(p_{adv,i}\) the probability that Adv correctly guesses c in world i, for \(i=1,2,3,4\), after the same random processes used in Definition 3. We note that \(p_{adv,1}=p_0\), by definition. Then, the proof is obtained by combining, similarly as in the proof for Theorem 1, the following lemmas.

Lemma 5

\(|p_{adv,1}-p_{adv,2}|\le \epsilon _{tpm}\), for some function \(\epsilon _{tpm}\) negligible in \(\sigma \).

Proof

This follows by Definition 2 since tpM is \(\epsilon _{tpm}\)-secure. \(\blacksquare \)

Lemma 6

\(|p_{adv,2}-p_{adv,3}|\le \epsilon _{prg}\), for some function \(\epsilon _{prg}\) negligible in \(\sigma \).

Proof

This follows by observing that \(c'_z\) is computationally indistinguishable from \(c'_y\) since z is random and y is pseudorandom, by the pseudo-randomness of prG. \(\blacksquare \)

Lemma 7

\(|p_{adv,3}-p_{adv,4}|=0\).

Proof

This follows from the simulatability property of the universal circuit. Specifically, we observe that for any efficient adversary Adv, who is given the length of the (unknown) original circuit c, we can construct an efficient adversary \(Adv'\) that simulates \(c'_z\) as follows:

  • derive length \(\ell _c\) of the binary representation b(c) of circuit c

  • randomly choose \(z\in \{0,1\}^{\ell _c}\)

  • define \(c'_z\) as the circuit that has string z hardwired and, on input xk:

       computes \(w=z\) xor \(prG_{\sigma ,m}(k)\)

       computes and outputs \(c_u(w,x)\).

  • return: \(c'_z\)

By code inspection, we note that the simulation is perfect, in the sense that the distribution of circuit \(c'_z\) returned by \(Adv'\) in world 4 is identical to the distribution of \(c'_z\) returned by Adv in world 3. The lemma follows. \(\blacksquare \)

Lemma 8

\(p_{adv,4}=\text{ Prob }\left[ \,c_{sim}=c\,\right] \).

Proof

This follows directly from the above definition of \(p_{adv,4}\) and of \(\text{ Prob }\left[ \,c_{sim}=c\,\right] \) in Definition 3, and by setting the simulator algorithm Sim as equal to algorithm \(Adv'\) in the proof of Lemma 7. \(\blacksquare \)

Finally, we use these lemmas to conclude the proof that the logic locking scheme satisfies Definition 3, similarly as done for the scheme underlying Theorem 1. Specifically, we have that

$$\begin{aligned} |\,p_0-p_1\,|= & {} |\,p_{adv,1}-p_{adv,4}\,|\ \\\le & {} |p_{adv,1}-p_{adv,2}| +|p_{adv,2}-p_{adv,3}| +|p_{adv,3}-p_{adv,4}| \\\le & {} \epsilon _{tpm} +|p_{adv,2}-p_{adv,3}| + |p_{adv,3}-p_{adv,4}| \\\le & {} \epsilon _{tpm} +\epsilon _{prg} + |p_{adv,3}-p_{adv,4}| \\\le & {} \epsilon _{tpm} +\epsilon _{prg} \, \le \, {\text {a function negligible in }} \sigma , \end{aligned}$$

where the first equality follows from Lemma 8, the first inequality follows by applying the triangle inequality, the second inequality follows from Lemma 5, the third inequality follows from Lemma 6, the fourth inequality follows from Lemma 7, and the fifth inequality follows from assumptions on \(\epsilon _{tpm},\epsilon _{prg}\).

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Di Crescenzo, G., Sengupta, A., Sinanoglu, O., Yasin, M. (2020). Logic Locking of Boolean Circuits: Provable Hardware-Based Obfuscation from a Tamper-Proof Memory. In: Simion, E., G��raud-Stewart, R. (eds) Innovative Security Solutions for Information Technology and Communications. SecITC 2019. Lecture Notes in Computer Science(), vol 12001. Springer, Cham. https://doi.org/10.1007/978-3-030-41025-4_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-41025-4_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-41024-7

  • Online ISBN: 978-3-030-41025-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics