cryptography Article An Overview of DRAM-Based Security Primitives Nikolaos Athanasios Anagnostopoulos 1 ID , Stefan Katzenbeisser 1, John Chandy 2 ID and Fatemeh Tehranipoor 3,∗ ID 1 Computer Science Department, Technical University of Darmstadt, Mornewegstraße 32, S4|14, 64293 Darmstadt, Germany;
[email protected] (N.A.A.);
[email protected] (S.K.) 2 Department of Electrical and Computer Engineering, University of Connecticut, 371 Fairfield Way, U-4157, Storrs, CT 06269-4157, USA;
[email protected] 3 School of Engineering, San Francisco State University, 1600 Holloway Avenue, San Francisco, CA 94132, USA * Correspondence:
[email protected]; Tel.: +1-415-338-7821 Received: 25 February 2018; Accepted: 26 March 2018; Published: 28 March 2018 Abstract: Recent developments have increased the demand for adequate security solutions, based on primitives that cannot be easily manipulated or altered, such as hardware-based primitives. Security primitives based on Dynamic Random Access Memory (DRAM) can provide cost-efficient and practical security solutions, especially for resource-constrained devices, such as hardware used in the Internet of Things (IoT), as DRAMs are an intrinsic part of most contemporary computer systems. In this work, we present a comprehensive overview of the literature regarding DRAM-based security primitives and an extended classification of it, based on a number of different criteria. In particular, first, we demonstrate the way in which DRAMs work and present the characteristics being exploited for the implementation of security primitives. Then, we introduce the primitives that can be implemented using DRAM, namely Physical Unclonable Functions (PUFs) and True Random Number Generators (TRNGs), and present the applications of each of the two types of DRAM-based security primitives.