Skip to main content
Log in

On the practical use of physical unclonable functions in oblivious transfer and bit commitment protocols

  • CHES 2012
  • Published:
Journal of Cryptographic Engineering Aims and scope Submit manuscript

Abstract

In recent years, PUF-based schemes have been suggested not only for the basic tasks of tamper-sensitive key storage or the identification of hardware systems, but also for more complex protocols like oblivious transfer (OT) or bit commitment (BC), both of which possess broad and diverse applications. In this paper, we continue this line of research. We first present an attack on two recent OT and BC protocols which have been introduced by Brzuska et al. (CRYPTO, LNCS 6841, pp 51–70, Springer 2011). The attack quadratically reduces the number of CRPs which malicious players must read out to cheat, and fully operates within the original communication model of Brzuska et al. (CRYPTO, LNCS 6841, pp 51–70, Springer 2011). In practice, this leads to insecure protocols when electrical PUFs with a medium challenge-length are used (e.g., 64 bits), or whenever optical PUFs are employed. These two PUF types are currently among the most popular designs of so-called Strong PUFs. Secondly, we show that the same attack applies to a recent OT protocol of Ostrovsky et al. (IACR Cryptol. ePrint Arch. 2012:143, 2012), leading to exactly the same consequences. Finally, we discuss countermeasures. We present a new OT protocol with better security properties, which utilizes interactive hashing as a substep and is based on an earlier protocol by Rührmair (TRUST, LNCS 6101, pp 430–440, Springer 2010). We then closely analyze its properties, including its security, security amplification, and practicality.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

Notes

  1. Strong PUFs have sometimes also been referred to as physical random function [10] in the literature. We emphasize that the Weak/Strong PUF terminology, which was originally introduced by Guajardo et al. [12], is not to be understood in a judgmental or pejorative manner.

  2. Please note in this context that the claim of [3] that the number of CRPs of an optical PUF is super-polynomial must have been made erroneously or by mistake; our above brief analysis shows that it is at mostly cubic. The low-degree polynomial amount of challenges of the optical PUF is indeed confirmed by the entire literature on the topic, most prominently [23, 24, 37].

  3. In practice, the receiver could either gain sufficient time for this read-out by delaying the protocol in Step 2. Please note in this context that it is part of the UC-model that malicious parties and adversaries can delay messages and the protocol arbitrarily, and that there are no time bounds on the protocol. A practically viable alternative is that the receiver produces the PUF \(\mathsf sid^\mathsf{R}\) already prior to the start of the protocol, giving him sufficient time to apply all challenges in \(M\). The latter approach is exactly equivalent to the situation in Protocol 1.

References

  1. Armknecht, F., Maes, R., Sadeghi, A.-R., Standaert, F.-X., Wachsmann, C.: A formal foundation for the security features of physical functions. In: IEEE Symposium on Security and Privacy, Oakland, pp. 397–412 (2011)

  2. Brzuska, C., Fischlin, M., Schröder, H., Katzenbeisser, S.: Physical unclonable functions in the universal composition framework. In: CRYPTO 2011, Santa Barbara (2011)

  3. Brzuska, C., Fischlin, M., Schröder, H., Katzenbeisser, S.: Physical unclonable functions in the universal composition framework. Full version of the paper. Available from IACR Cryptology ePrint Archive 2011: 681 (2011). Accessed 28 Feb 2012

  4. Canetti, R.: Universally composable security: a new paradigm for cryptographic protocols. FOCS, pp. 136–145 (2001) (Full and updated version available from IACR Cryptology ePrint Archive 2000: 067 (2000))

  5. Crépeau, C., Kilian, J., Savvides, G.: Interactive hashing: an information theoretic tool (invited talk). In: Information Theoretic Secu- rity, pp. 14–28. LNCS 5155, Springer, Berlin (2008)

  6. Damgard, I., Kilian, J., Salvail, L.: On the (im)possibility of basing oblivious transfer and bit commitment on weakened security assumptions. In: EUROCRYPT, pp. 56–73. Springer, Heidelberg (1999)

  7. van Dijk, M., Rührmair, U.: Physical unclonable functions in cryptographic protocols: security proofs and impossibility results. IACR Cryptology ePrint Archive 2012: 228 (2012)

  8. Ding, Y.Z., Harnik, D., Rosen, A., Shaltiel, R.R.: Constant-round oblivious transfer in the bounded storage model. J. Cryptol. 20(2), 165–202 (2007)

    Article  MathSciNet  MATH  Google Scholar 

  9. Gassend, B.P.: Physical random functions. MSc thesis, MIT, Cambridge (2003)

  10. Gassend, B., Clarke, D.E., van Dijk, M., Devadas, S.: Silicon physical random functions. In: ACM Conference on Computer and Communications, Security, New York, pp. 148–160 (2002)

  11. Gassend, B., Lim, D., Clarke, D., van Dijk, M., Devadas, S.: Identification and authentication of integrated circuits. Concurr. Com put.: Pract. Exp. 16(11), 1077–1098 (2004)

    Google Scholar 

  12. Guajardo, J., Kumar, S.S., Schrijen, G.J., Tuyls, P.: FPGA intrinsic PUFs and their use for IP protection. In: CHES 2007, Springer, Heidelberg, pp. 63–80 (2007)

  13. Impagliazzo, R., Rudich, S.: Limits on the provable consequences of one-way permutations. In: STOC 1989, ACM Press, New York, pp. 44–61 (1989)

  14. Kilian, J.: Founding cryptography on oblivious transfer. In: STOC 1988, ACM Press, New York (1988)

  15. Kumar, S.S., Guajardo, J., Maes, R., Schrijen, G.J., Tuyls, P.: The butterfly PUF: protecting IP on every FPGA. In: HOST 2008, pp. 67–70 (2008)

  16. Lee, J.W., Lim, D., Gassend, B., Suh, G.E., van Dijk, M., Devadas, S.: A technique to build a secret key in integrated circuits with identification and authentication applications. In: Proceedings of the IEEE VLSI Circuits Symposium (2004)

  17. Maes, R., Verbauwhede, I.: Physically unclonable functions: a study on the state of the art and future research directions. In: Naccache, D., Sadeghi, A.-R. (eds.) Section 1: Towards Hardware-Intrinsic Security. Springer, Berlin (2010)

  18. Majzoobi, M., Koushanfar, F., Potkonjak, M.: Lightweight secure PUFs. IC-CAD 2008, San Jose, pp. 607–673 (2008)

  19. Naor, M., Ostrovsky, R., Venkatesan, R., Yung, M.: Perfect zeroknowledge arguments for NP using any one-way permutation. J. Cryptol. 11(2), 87–108 (1998) (Preliminary version in CRYPTO ’92)

    Google Scholar 

  20. Ostrovsky, R., Scafuro, A., Visconti, I., Wadia, A.: Universally composable secure computation with (malicious) physically uncloneable functions. IACR Cryptology ePrint Archive 2012: 143 (2012). Accessed Sept 2012

  21. Ostrovsky, R., Scafuro, A., Visconti, I., Wadia, A.: Personal Communication (2012)

  22. Ostrovsky, R., Venkatesan, R., Yung, M.: Fair games against an all powerful adversary. In: AMS DIMACS Series in Discrete Mathematics and Theoretical Computer Science, pp. 155–169 (1993) (Preliminary version in SEQUENCES ’91)

  23. Pappu, R.: Physical one-way functions. PhD thesis, Massachusetts Institute of Technology, Cambridge (2001)

  24. Pappu, R., Recht, B., Taylor, J., Gershenfeld, N.: Physical one-way functions. Science 297, 2026–2030 (2002)

    Article  Google Scholar 

  25. Rivest, R.: Illegitimi non carborundum. Invited keynote talk, CRYPTO 2011 (2011)

  26. Rührmair, U.: Oblivious transfer based on physical unclonable functions (extended abstract). In: TRUST 2010, Workshop on Secure Hardware, Berlin, 22 June 2010. Lecture Notes in Computer Science, vol. 6101, pp. 430–440. Springer, Heidelberg (2010)

  27. Rührmair, U., Busch, H., Katzenbeisser, S.: Strong PUFs: models, constructions and security proofs. In: Sadeghi, A.-R., Tuyls, P. (eds.) Towards Hardware Intrinsic Security: Foundation and Practice. Springer, Heidelberg (2010)

    Google Scholar 

  28. Rührmair, U., Devadas, S., Koushanfar, F.: Security based on physi- cal unclonability and disorder. In: Tehranipoor, M., Wang, C. (eds.) Introduction to Hardware Security and Trust. Springer, New York (2011)

    Google Scholar 

  29. Rührmair, U., van Dijk, M.: Practical security analysis of PUF- based two-player protocols. CHES 2012 (2012)

  30. Rührmair, U., Jaeger, C., Algasiner, M.: An attack on PUF-based session key exchange, and a hardware-based countermeasure: erasable PUFs. In: Financial Cryptography and Data, Security, St. Lucia (2011)

  31. Rührmair, U., Sehnke, F., Sölter, J., Dror, G., Devadas, S., Schmidhuber, J.: Modeling attacks on physical unclonable functions. In: ACM Conference on Computer and Communications Security (CCS’10), Chicago (2010)

  32. Rührmair, U., Sölter, J., Sehnke, F.: On the foundations of physical unclonable functions. IACR Cryptology ePrint Archive 2009: 277 (2009)

  33. Savvides, G.: Interactive hashing and reductions between oblivious transfer variants. PhD thesis, McGill University, Montreal (2007)

  34. Suh, G.E., Devadas, S.: Physical unclonable functions for device authentication and secret key generation. In: DAC 2007, New York, pp. 9–14 (2007)

  35. Tuyls, P., Schrijen, G.J., Skoric, B., van Geloven, J., Verhaegh, N., Wolters, R.: Read-proof hardware from protective coatings. In: CHES 2006, Springer, Heidelberg, pp. 369–383 (2006)

  36. Tuyls, P., Skoric, B.: Strong authentication with physical unclonable functions. In: Petkovic, M., Jonker, W. (eds.) Security. Privacy and Trust in Modern Data Management. Springer, Heidelberg (2007)

    Google Scholar 

  37. Tuyls, P., Skoric, B., Stallinga, S., Akkermans, A., Ophey, W.: Information-theoretic security analysis of physical uncloneable functions. In: Financial Cryptography and Data Security 2005, Roseau (2005)

Download references

Acknowledgments

The authors would like to thank Stefan Wolf and Jürg Wullschleger for interesting discussions, and Stefan Wolf for suggesting the example in Section 3, page 9 to us. Furthermore, we would like to thank Rafail Ostrovsky, Alessandra Scafuro, Ivan Visconti and Akshai Wadia for illustrating discussions on their OT-protocol. Part of this work was conducted within the physical cryptography project at the TU München.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Ulrich Rührmair or Marten van Dijk.

Appendix: Unconditional oblivious transfer protocol for honest PUFs by Ostrovsky et al.

Appendix: Unconditional oblivious transfer protocol for honest PUFs by Ostrovsky et al.

We give below an OT protocol for honest PUFs by Ostrovsky et al. (see Fig. 3 of [20]). It is “unconditional” in the sense that it only relies on PUFs, i.e., it does not use any other assumptions besides PUFs. In agreement and correspondence with the authors, a few minor typos have been discussed and removed [21]. The most relevant of these typos for our analysis is that in item 2 of Step 5, the PUF that is queried must be \(\mathsf{sid^\mathsf{R}}\), and not “\(\mathsf{sid_{i_j}}\)”, as in [20] (note that \(\mathsf{sid_{i_j}}\) is not defined in the protocol, which only uses the PUFs \(\mathsf{sid_{i_j}^\mathsf{S}}\) and \(\mathsf{sid}^\mathsf{R}\)).

Prortocol 9

Unconditional OT with honest PUFs [20]

Sender’s input: Strings \(s^0, s^1 \in \{0,1\}^n\).

Receiver’s input: Bit \(b \in \{0,1\}\).

  1. 1.

    [ \((\mathsf{S_{uncOT}} \Rightarrow \mathsf{R_{uncOT}})\) : Sender PUF initialization] \(\mathsf{S}\) initializes \(2k\) PUFs \(\mathsf{sid}_1^\mathsf{S}\), ..., \(\mathsf{sid}_{2k}^\mathsf{S}\) and sends them \(\mathsf R\).

  2. 2.

    [ \((\mathsf{S_{uncOT}} \Leftarrow \mathsf{R_{uncOT}})\) : Receiver PUF initialization] \(\mathsf{R}\) initializes a PUF \(\mathsf{sid}^\mathsf{R}\). It uniformly chooses \(2k\) queries \(q_1, \ldots , q_{2k}\), and obtains responses \(a_1, \ldots , a_{2k}\). It sends the PUF \(\mathsf{sid}^\mathsf{R}\) to S.

  3. 3.

    [Cut-and-choose]

    1. (a)

      \((\mathsf{S_{uncOT}} \Rightarrow \mathsf{R_{uncOT}})\) For \(1 \le i \le 2k\), sender uniformly selects a pair of challenges \((x^0_i, x^1_i)\) and sends it to \(\mathsf R\).

    2. (b)

      \((\mathsf{S_{uncOT}} \Leftarrow \mathsf{R_{uncOT}})\) For each \(1 \le i \le 2k\), receiver does the following:

      • select random bit \(b_i \in \{0,1\}\).

      • select random query \(d_i\) and let \(da_i\) be the response of the PUF \(\mathsf{sid}^\mathsf{S}_i\). Compute \((\!dst_i, dp_i\!)\! \!\leftarrow \mathsf{FuzGen}(da_i)\). If \(\mathsf{Parity}(dst_i) \ne b_i\), repeat this step. Else, continue.

      • compute \(v_i := x_i^{b_i} \oplus q_i\).

      For each \(1 \le i \le 2k\), receiver sends to sender \((v_i, d_i, dp_i)\).

    3. (c)

      \((\mathsf{S_{uncOT}} \Rightarrow \mathsf{R_{uncOT}})\) Sender selects a random subset \(S \subset [2k]\) of size \(k\) and sends it to receiver.

    4. (d)

      \((\mathsf{S_{uncOT}} \Leftarrow \mathsf{R_{uncOT}})\) For all \(j \in S\), receiver sends \((q_j, a_j)\) to sender, and also hands over the PUF \(\mathsf{sid}_j^\mathsf{S}\) to the sender.

    5. (e)

      Sender makes the following checks for each \(j \in S\):

    • compute the response of PUF \(\mathsf{sid}^\mathsf{R}\) on query \(q_j\) to obtain \(a_j^*\). If \(\mathsf dis(a_j, a_j^*) > d_\mathsf{noise}\), abort.

    • If \(v_j \oplus q_j = x_j^0\), set \(b_j^* = 0\); if \(v_j \oplus q_j = x_j^1\), set \(b_j^* = 1\); else abort.

    • query the PUF \(\mathsf{sid}_j^\mathsf{S}\) with \(d_j\) to obtain response \(da_j^*\); if \(\mathsf{Parity}(\mathsf{FuzRep}(da^*_j, dp_j))\) \(\ne \) \(b_j^*\), abort.

  4. 4.

    [ \((\mathsf{S_{uncOT}} \Leftarrow \mathsf{R_{uncOT}})\) : Receiver sends correction-bits] Let \(i_1, \ldots , i_k\) be the indices not in \(S\). For \(1 \le j \le k\), the receiver sends to sender the bit \(b_{i_j}^{\prime } = b_{i_j} \oplus b\).

  5. 5.

    [ \((\mathsf{S_{uncOT}} \Rightarrow \mathsf{R_{uncOT}})\) : Sender’s final message] Sender prepares its final message as follows:

    • For \(\delta \in \{0,1\}\), choose random strings \(s_1^\delta , \ldots , s_k^\delta \) such that \(s^\delta = \bigoplus _{j=1}^k s_j^\delta \).

    • For \(\delta \in \{0,1\}\), for \(1 \le j \le k\), compute \(\hat{q}_{i_j}^\delta = v_{i_j} \oplus x_{i_j}^\delta \), and let \((st_{i_j}^\delta , p_{i_j}^\delta )\) be the response of PUF \(\mathsf{sid}^\mathsf{R}\) to the query \(\hat{q}_{i_j}^\delta \).

    • For \(\delta \in \{0,1\}\) and \(1 \le j \le k\), set \(m_{i_j}^\delta = s_j^\delta \oplus st_{i_j}^{b_{i_j}^{\prime } \oplus \delta }\).

    The sender sends \((m_{i_1}^0, m_{i_1}^1), \ldots , (m_{i_k}^0, m_{i_k}^1)\) and \((p_{i_1}^0,\) \(p_{i_1}^1),\) \(\ldots ,\) \((p_{i_k}^0, p_{i_k}^1)\) to the receiver.

  6. 6.

    [Receiver’s final step] For \(i \le j \le k\), receiver computes \(st_{i_j} \leftarrow \mathsf{FuzRep} (p_{i_j}^{b_{i_j}^{\prime }}, a_{i_j})\). It outputs \(s^b = \bigoplus _{j=1}^k (m_{i_j}^b \oplus st_{i_j})\).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Rührmair, U., van Dijk, M. On the practical use of physical unclonable functions in oblivious transfer and bit commitment protocols. J Cryptogr Eng 3, 17–28 (2013). https://doi.org/10.1007/s13389-013-0052-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13389-013-0052-8

Keywords

Navigation