Jump to content

Physical unclonable function

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Sue (talk | contribs) at 08:52, 31 August 2018 (Vulnerabilities). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A physical unclonable function, or PUF, is a "digital fingerprint" that serves as a unique identity for a semiconductor device such as a microprocessor. PUFs are based on physical variations which occur naturally during semiconductor manufacturing, and which make it possible to differentiate between otherwise identical semiconductors. PUFs are usually utilized in cryptography. A physical unclonable function (sometimes also called physically unclonable function) is a physical entity that is embodied in a physical structure. Today, PUFs are usually implemented in integrated circuits and are typically used in applications with high security requirements.

History

Early references about systems that exploit the physical properties of disordered systems for authentication purposes date back to Bauder in 1983[1] and Simmons in 1984.[2][3] Naccache and Frémanteau provided an authentication scheme in 1992 for memory cards.[4] The terms POWF (physical one-way function) and PUF (physical unclonable function) were coined in 2001[5] and 2002,[6] the latter publication describing the first integrated PUF where, unlike PUFs based on optics, the measurement circuitry and the PUF are integrated onto the same electrical circuit (and fabricated on silicon).

From 2010 to 2013, PUF gained attention in the smartcard market as a promising way to provide “silicon fingerprints”, creating cryptographic keys that are unique to individual smartcards.[7][8]

PUFs are now established as a secure alternative to battery-backed storage of secret keys in commercial FPGAs, such as the Xilinx Zynq Ultrascale++[9] and Altera.[10]

Concept

PUFs depend on the uniqueness of their physical microstructure. This microstructure depends on random physical factors introduced during manufacturing. These factors are unpredictable and uncontrollable, which makes it virtually impossible to duplicate or clone the structure.

Rather than embodying a single cryptographic key, PUFs implement challenge–response authentication to evaluate this microstructure. When a physical stimulus is applied to the structure, it reacts in an unpredictable (but repeatable) way due to the complex interaction of the stimulus with the physical microstructure of the device. This exact microstructure depends on physical factors introduced during manufacture which are unpredictable (like a fair coin). The applied stimulus is called the challenge, and the reaction of the PUF is called the response. A specific challenge and its corresponding response together form a challenge–response pair or CRP. The device's identity is established by the properties of the microstructure itself. As this structure is not directly revealed by the challenge-response mechanism, such a device is resistant to spoofing attacks.

Using a fuzzy extractor or key extractor PUFs can also be used to extract a unique strong cryptographic key from the physical microstructure. The same unique key is reconstructed every time the PUF is evaluated. The challenge-response mechanism is then implemented using cryptography.

PUFs can be implemented with a very small hardware investment. Unlike a ROM containing a table of responses to all possible challenges, which would require hardware exponential in the number of challenge bits, a PUF can be constructed in hardware proportional to the number of challenge and response bits. In some cases PUFs can even be built from existing hardware with the right properties.

Unclonability means that each PUF device has a unique and unpredictable way of mapping challenges to responses, even if it was manufactured with the same process as a similar device, and it is infeasible to construct a PUF with the same challenge–response behavior as another given PUF because exact control over the manufacturing process is infeasible. Mathematical unclonability means that it should be very hard to compute an unknown response given the other CRPs or some of the properties of the random components from a PUF. This is because a response is created by a complex interaction of the challenge with many or all of the random components. In other words, given the design of the PUF system, without knowing all of the physical properties of the random components, the CRPs are highly unpredictable. The combination of physical and mathematical unclonability renders a PUF truly unclonable.[11]

Because of these properties PUFs can be used as a unique and untamperable device identifier. PUFs can also be used for secure key generation and storage as well as for a source of randomness.

Types

All PUFs are subject to environmental variations such as temperature, supply voltage and electromagnetic interference, which can affect their performance. Therefore, rather than just being random, the real power of a PUF is its ability to be different between devices, but simultaneously to be the same under different environmental conditions on the same device.

Different sources of physical randomness can be used in PUFs. A distinction is made between PUFs in which physical randomness is explicitly introduced and PUFs that use randomness that is intrinsically present in a physical system.

Using explicitly introduced randomness

This type of PUF can have a much greater ability to distinguish devices from one another and have minimal environmental variations compared to PUFs that utilize intrinsic randomness. This is due to the use of different underlying principles and the ability for parameters to be directly controlled and optimized.

  • Optical PUF
  • Coating PUF

Using intrinsic randomness

Unlike PUFs that utilize explicitly introduced randomness, PUFs using intrinsic randomness are highly attractive because they can be included in a design without modifications to the manufacturing process.

Since many computer systems have some form of DRAM on board, DRAMs can be used as an effective system-level PUF, which was presented for the first time by Tehranipoor et al.[12] DRAM is also much cheaper than static RAM (SRAM). Thus, DRAM PUFs could be a source of random but reliable data for generating board identifications (chip ID). The advantage of the DRAM PUF is based on the fact that the stand-alone DRAM already present in a system on a chip can be used for generating device specific signatures without requiring any additional circuitry or hardware. PUFs intrinsic to DRAM ICs have not been explored extensively as a system-level security PUF.

  • SRAM PUF
  • Butterfly PUF
  • Bistable Ring PUF
  • Digital PUF[14]
  • Magnetic PUF
  • Metal Based PUF
  • Quantum Confinement PUF[15][16]
  • VIA PUF[17]
  • Photonic PUF[18]

Error correction

In many applications it is important that the output is stable. If the PUF is used for a key in cryptographic algorithms it is necessary that error correction be done to correct any errors caused by the underlying physical processes and reconstruct exactly the same key each time under all operating conditions. In principle there are two basic concepts: Pre-Processing and Post-Processing Error Correction.[19] [20]

Strategies have been developed which lead SRAM PUF to become more reliable over time without degrading the other PUF quality measures such as security and efficiency.[21]

Research at Carnegie Mellon University into various PUF implementations found that some error reduction techniques reduced errors in PUF response in a range of ~70 percent to ~100 percent.[22]

Research at the University of Massachusetts Amherst to improve the reliability of SRAM PUF-generated keys posited an error correction technique to reduce the error rate.[23]

Availability

  • PUF technology can be licensed from several companies including ICTK, Intrinsic ID, Invia, QuantumTrace and Verayo.
  • PUF technology has been implemented in several hardware platforms including Microsemi SmartFusion2, NXP SmartMX2, Coherent Logix HyperX, InsideSecure MicroXsafe, Altera Stratix 10, Redpine Signals WyzBee and Xilinx Zynq Ultrascale+.[24]

Vulnerabilities

Not all proposed PUFs are unclonable and many have been attacked successfully in a laboratory environment.[25]

A research team from Berlin Institute of Technology was able to clone an SRAM PUF within 20 hours using tools readily available in university failure analysis labs.[25] In this work only SRAM (Static RAM) cells of a microcontroller were read out.

University research has shown that delay-based PUF implementations are vulnerable to side channel attacks[26][27] and recommends that countermeasures be employed in the design to prevent this type of attack. Also, improper implementation of PUF could introduce "backdoors" to an otherwise secure system.[28][29] In June 2012, Dominik Merli, a scientist at Fraunhofer Research Institution for Applied and Integrated Security (AISEC) further claimed that PUF introduces more entry points for hacking into a cryptographic system and that further investigation into the vulnerabilities of PUFs is required before PUFs can be used in practical security-related applications.[30] The presented attacks are all on PUFs implemented in insecure systems, such as FPGA or Static RAM (SRAM). It is also important to ensure that the environment is suitable for the needed security level.[19]

In 2015, studies have also emerged claiming it is possible to attack certain kinds of PUFs with low-cost equipment in a matter of milliseconds. A team at Ruhr Universität of Bochum, Germany demonstrated a method to create a model of XOR Arbiter PUFs and thus be able to predict their response to any kind of challenge. Their method requires only 4 CRPs which even on resource constrained devices should not take more than about 200ms to produce. Using this method and a $25 device or an NFC-enabled smartphone, the team was able to successfully clone RFID cards stored in the wallet of users while it was in their back pocket.[31]

See also

References

  1. ^ D.W. Bauder, "An anti-counterfeiting concept for currency systems", Research report PTK-11990. Sandia National Labs. Albuquerque, NM, 1983.
  2. ^ G. Simmons, "A system for verifying user identity and authorization at the point-of sale or access," Cryptologia, vol. 8, no. 1, pp. 1–21, 1984.
  3. ^ G. Simmons, "Identification of data, devices, documents and individuals," in IEEE International Carnahan Conference on Security Technology, 1991, pp. 197–218.
  4. ^ David Naccache and Patrice Frémanteau, Unforgeable identification device, identification device reader and method of identification, August 1992.[1]
  5. ^ Pappu, R.; Recht, B.; Taylor, J.; Gershenfeld, N. "Physical one-way functions". Science. 297 (5589): 2026–2030. Bibcode:2002Sci...297.2026P. doi:10.1126/science.1074376.
  6. ^ Blaise Gassend, Dwaine Clarke, Marten van Dijk and Srinivas Devadas. Silicon Physical Random Functions. Proceedings of the Computer and Communications Security Conference, November 2002
  7. ^ Clarke, Peter (22 February 2013). "London Calling: Security technology takes time". EE Times. UBM Tech Electronics. Retrieved 1 July 2013.
  8. ^ "NXP and Intrinsic-ID to raise smart chip security". EE Times. UBM Tech Electronics. 21 January 2010. Retrieved 1 July 2013.
  9. ^ {url = http://www.eenewseurope.com/news/xilinx-add-puf-security-zynq-devices-0}
  10. ^ {url = https://www.intrinsic-id.com/altera-reveals-stratix-10-with-intrinsic-ids-puf-technology/}
  11. ^ C. Herder, L. Ren, M. van Dijk, M-D. Yu, and S. Devadas, "Trapdoor Computational Fuzzy Extractors and Cryptographically-Secure Physical Unclonable Functions", IEEE Transactions on Dependable and Secure Computing, January 2017.
  12. ^ a b Tehranipoor, F., Karimian, N., Xiao, K., & Chandy, J., "DRAM based intrinsic physical unclonable functions for system level security", In Proceedings of the 25th edition on Great Lakes Symposium on VLSI, (pp. 15-20). ACM, 2015
  13. ^ Tehranipoor, F., Karimian, N., Yan, W., & Chandy, J. A. "DRAM-Based Intrinsic Physically Unclonable Functions for System-Level Security and Authentication". IEEE Transactions on Very Large Scale Integration (VLSI) Systems. 2017 , pp. 1085-1097,
  14. ^ Miao, Jin; Li, Meng; Roy, Subhendu; Yu, Bei. "LRR-DPUF: Learning resilient and reliable digital physical unclonable function". ICCAD 2016.
  15. ^ Roberts, J.; Bagci, I. E.; Zawawi, M. A. M.; Sexton, J.; Hulbert, N.; Noori, Y. J.; Young, M. P.; Woodhead, C. S.; Missous, M. (2015-11-10). "Using Quantum Confinement to Uniquely Identify Devices". Scientific Reports. 5: 16456. arXiv:1502.06523. Bibcode:2015NatSR...516456R. doi:10.1038/srep16456. PMC 4639737. PMID 26553435.
  16. ^ cao, yameng; Robson, Alexander J.; Alharbi, Abdullah; Roberts, Jonathan; Woodhead, Christopher Stephen; Noori, Yasir Jamal; Gavito, Ramon Bernardo; Shahrjerdi, Davood; Roedig, Utz (2017). "Optical identification using imperfections in 2D materials". 2D Materials. arXiv:1706.07949. Bibcode:2017TDM.....4d5021C. doi:10.1088/2053-1583/aa8b4d. ISSN 2053-1583.
  17. ^ Kim, T. W.; Choi, B. D.; Kim, D. K. (2014-06-05). "Zero bit error rate ID generation circuit using via formation probability in 0.18um CMOS process". Electronics Letters. 50 (12): 876–877. doi:10.1049/el.2013.3474.
  18. ^ "Secure Authentication using the Ultrafast Response of Chaotic Silicon Photonic Microcavities". Optical Society of America. 5 June 2016. pp. SF1F.2. doi:10.1364/CLEO_SI.2016.SF1F.2. Retrieved 17 March 2018 – via www.osapublishing.org.
  19. ^ a b Christoph, Boehm (2012). Physical Unclonable Functions in Theory and Practice. Springer.
  20. ^ C. Bohm, M. Hofer, and W. Pribyl, "A microcontroller sram-puf," in Network and System Security (NSS), 2011 5th International Conference September 2011, pp. 269–273.
  21. ^ Maes, R, and Van der Leest, V. "Countering the effects of silicon aging on SRAM PUFs", Proceedings of the 2014 IEEE International Symposium on Hardware-Oriented Security and Trust (HOST)
  22. ^ Bhargava, M. "Reliable, Secure, Efficient Physical Unclonable Functions", Carnegie Mellon University Research Showcase @ CMU, Pittsburgh, Pennsylvania, 2013
  23. ^ Vijayakumar, A.; Patil, V.C.; and Kundu, S. "On Improving Reliability of SRAM-Based Physically Unclonable Functions", Journal of Low Power Electronics and Applications, 12 January 2017
  24. ^ http://www.prnewswire.com/news-releases/verayo-puf-ip-on-xilinx-zynq-ultrascale-mpsoc-devices-addresses-security-demands-300357805.html
  25. ^ a b Helfmeier, Clemens; Nedospasov, Dmitry; Boit, Christian; Seifert, Jean-Pierre (2013). Cloning Physically Unclonable Functions (PDF). IEEE Hardware Oriented Security and Trust (IEEE HOST 2013). June 2–3, 2013 Austin, TX, USA.
  26. ^ Merli, Dominik; Schuster, Dieter; Stumpf, Frederic; Sigl, Georg (2011), "Side Channel Analysis of PUFs and Fuzzy Extractors", Trust and Trustworthy Computing. 4th International Conference, TRUST 2011, Pittsburgh, PA, USA, June 22-24, 2011. Proceedings, Lecture Notes in Computer Science, vol. 6740, Springer Berlin Heidelberg, pp. 33–47, doi:10.1007/978-3-642-21599-5_3, ISBN 978-3-642-21598-8
  27. ^ Schuster, Dieter (2010). Side-Channel Analysis of Physical Unclonable Functions (PUFs) (PDF) (Diploma). Technische Universität München.
  28. ^ Rührmair, Ulrich; van Dijk, Marten (2013). PUFs in Security Protocols: Attack Models and Security Evaluations (PDF). 2013 IEEE Symposium on Security and Privacy . May 19–22, 2013 San Francisco, CA, USA.
  29. ^ Katzenbeisser, Stefan; Kocabas, Ünal; Rožic, Vladimir; Sadeghi, Ahmad-Reza; Verbauwhede, Ingrid; Wachsmann, Christian (2012), "PUFs: Myth, Fact or Busted? A Security Evaluation of Physically Unclonable Functions (PUFs) Cast in Silicon", Cryptographic Hardware and Embedded Systems – CHES 2012. 14th International Workshop, Leuven, Belgium, September 9-12, 2012. Proceedings (PDF), Lecture Notes in Computer Science, vol. 7428, Springer Berlin Heidelberg, pp. 283–301, doi:10.1007/978-3-642-33027-8_17, ISBN 978-3-642-33026-1
  30. ^ Merli, Dominik (2012). Hardware Attacks on PUFs (PDF). Proceedings AHS2012, NASA/ESA Conference on Adaptive Hardware and Systems. June 25 – 28, 2012 Erlangen, Germany.
  31. ^ Becker, Georg (2015). The Gap Between Promise and Reality: On the Insecurity of XOR Arbiter PUFs. Lecture Notes in Computer Science.