In the age of widening gaps between the Non-Recurring Engineering (NRE) and Recurring Engineering (RE) costs of developing and manufacturing Integrated Circuit (IC) products, and the increasing prevalence of smart and connected embedded devices in daily lives, ensuring the safety of the device vendor's hardware and software Intellectual Properties (IPs) and the integrity of the embedded software is an imperative and complex task. There exist separate protection schemes that target the security of the hardware, software, and runtime aspects of the embedded systems, but they often have separate overhead requirements on area, power, and performance of the system.
I propose a comprehensive protection scheme that addresses the security of hardware IP, software IP, and runtime system together in the context of the embedded systems. The key idea is to incorporate Physical Unclonable Functions (PUFs) in the hardware design and the software authoring process of the devices. My thesis focuses on the creation and the characterization of the PUFs and different techniques of incorporating them into embedded system designs.