Security is essential for the Internet of Things (IoT). Cryptographic operations for authentication and encryption commonly rely on random input of high entropy and secure, tamper-resistant identities, which are difficult to obtain on constrained embedded devices. In this paper, we design and analyze a generic integration of physically unclonable functions (PUFs) into the IoT operating system RIOT that supports about 250 platforms. Our approach leverages uninitialized SRAM to act as the digital fingerprint for heterogeneous devices. We ground our design on an extensive study of PUF performance in the wild, which involves SRAM measurements on more than 700 IoT nodes that aged naturally in the real-world. We quantify static SRAM bias, as well as the aging effects of devices and incorporate the results in our system. This work closes a previously identified gap of missing statistically significant sample sizes for testing the unpredictability of PUFs. Our experiments on COTS devices of 64 kB SRAM indicate that secure random seeds derived from the SRAM PUF provide 256 Bits-, and device unique keys provide more than 128 Bits of security. In a practical security assessment we show that SRAM PUFs resist moderate attack scenarios, which greatly improves the security of low-end IoT devices.
翻译:用于认证和加密的加密操作通常依靠高加密和安全的防腐性特征的随机输入,这些特征很难在固定装置上获得。在本文中,我们设计并分析将物理上不可调的功能(PUFs)普遍纳入支持大约250个平台的IOT操作系统RIOT。我们的方法利用未经初始化的 SRAM作为各种装置的数字指纹。我们在野生PUF性能的广泛研究基础上设计我们的设计,其中包括对在现实世界中自然老化的700多个IOT节点进行SRAM测量。我们量化静态的SRAM偏差以及装置的老化效应,并将结果纳入我们的系统。这项工作弥补了先前发现的缺乏具有统计意义的重要样本大小的空白,以测试PUFs的不可预测性。我们在对COTS的64 kB SRAM设备进行的实验表明,从SRAM PUF中获取的安全随机种子提供了256 位位元,而设备的独特键提供了128位以上的安全度比位。在实际的安全性安全性评估中,我们展示了SARMT的低度安全性测试。