An energy-efficient encryption mechanism for NVM-based main memory in mobile systems

Emerging non-volatile memory (NVM) has been considered as the most promising candidate of DRAM for future main memory design in mobile devices. NVM-based main memory exhibits attractive features, such as byte-addressability, low standby power, high density and near DRAM performance. However, the nature of non-volatility makes NVM vulnerable to be attacked by malicious programs. Though several data encryption techniques have been proposed to solve this problem, they do not consider the limited resources in mobile systems. To address this issue, in this paper, we propose an energy-efficient encryption mechanism, named MobiLock, to effectively enhance the security of NVM-based main memory in mobile systems. The basic idea is to enhance the encryption and decryption performance by utilizing cache and concurrency mechanisms, respectively. To achieve this, we first develop a cache mechanism to cache the encrypted intermediate data (i.e., PAD) whose plaintexts are updated frequently, for accelerating decryption and reducing recomputation of PAD. We then propose a concurrency mechanism to read the ciphertext in NVM and calculate the PAD simultaneously, to reduce the decryption latency. The evaluation results show that our technique can effectively reduce encryption energy consumption and decryption latency, respectively.

[1]  Jérémie Crenne,et al.  Configurable memory security in embedded systems , 2013, TECS.

[2]  Chun Jason Xue,et al.  Write mode aware loop tiling for high performance low power volatile PCM , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[3]  Onur Mutlu,et al.  Architecting phase change memory as a scalable dram alternative , 2009, ISCA '09.

[4]  Nan Jiang,et al.  A wear-leveling-aware dynamic stack for PCM memory in embedded systems , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[5]  Hao Yu,et al.  Energy efficient in-memory AES encryption based on nonvolatile domain-wall nanowire , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  David Naccache,et al.  Implementation of AES Using NVM Memories Based on Comparison Function , 2015, 2015 IEEE Computer Society Annual Symposium on VLSI.

[7]  Yuan Xue,et al.  Minimizing MLC PCM write energy for free through profiling-based state remapping , 2015, The 20th Asia and South Pacific Design Automation Conference.

[8]  Vinod Vaikuntanathan,et al.  Inspection resistant memory: Architectural support for security from physical examination , 2012, 2012 39th Annual International Symposium on Computer Architecture (ISCA).

[9]  Hyokyung Bahn,et al.  CLOCK-DWF: A Write-History-Aware Page Replacement Algorithm for Hybrid PCM and DRAM Memory Architectures , 2014, IEEE Transactions on Computers.

[10]  Chun Jason Xue,et al.  Register allocation for write activity minimization on non-volatile main memory , 2011, ASP-DAC 2011.

[11]  Christophe Giraud,et al.  An Implementation of DES and AES, Secure against Some Attacks , 2001, CHES.

[12]  Francky Catthoor,et al.  Feasibility exploration of NVM based I-cache through MSHR enhancements , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[13]  Hui Guo,et al.  Dynamic encryption key design and management for memory data encryption in embedded systems , 2013, 2013 IEEE Computer Society Annual Symposium on VLSI (ISVLSI).

[14]  Ramesh Karri,et al.  Fault-based side-channel cryptanalysis tolerant Rijndael symmetric block cipher architecture , 2001, Proceedings 2001 IEEE International Symposium on Defect and Fault Tolerance in VLSI Systems.

[15]  Moinuddin K. Qureshi,et al.  Improving read performance of Phase Change Memories via Write Cancellation and Write Pausing , 2010, HPCA - 16 2010 The Sixteenth International Symposium on High-Performance Computer Architecture.

[16]  Yi Lin,et al.  Enhancing lifetime of NVM-based main memory with bit shifting and flipping , 2014, 2014 IEEE 20th International Conference on Embedded and Real-Time Computing Systems and Applications.

[17]  Jeffrey S. Vetter,et al.  A Survey of Software Techniques for Using Non-Volatile Memories for Storage and Main Memory Systems , 2016, IEEE Transactions on Parallel and Distributed Systems.

[18]  Hyokyung Bahn,et al.  Management of Virtual Memory Systems under High Performance PCM-based Swap Devices , 2015, 2015 IEEE 39th Annual Computer Software and Applications Conference.

[19]  Wei-Kuan Shih,et al.  Warranty-aware page management for PCM-based embedded systems , 2014, 2014 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[20]  Chun Jason Xue,et al.  SLC-enabled wear leveling for MLC PCM considering process variation , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[21]  Mendel Rosenblum,et al.  The design and implementation of a log-structured file system , 1991, SOSP '91.

[22]  Gheorghe Sebestyen,et al.  Increasing memory security through data scrambling and information entropy models , 2014, 2014 IEEE 15th International Symposium on Computational Intelligence and Informatics (CINTI).

[23]  David Molnar,et al.  Self Hosting vs. Cloud Hosting: Accounting for the Security Impact of Hosting in the Cloud , 2010, WEIS.

[24]  Xuecheng Zou,et al.  Off-Chip Memory Encryption and Integrity Protection Based on AES-GCM in Embedded Systems , 2013, IEEE Design & Test.

[25]  Shuichi Oikawa,et al.  Experimental design of high performance non volatile main memory swapping using DRAM , 2015, 2015 IEEE/ACIS 16th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD).

[26]  Hsien-Hsin S. Lee,et al.  Security refresh: prevent malicious wear-out and increase durability for phase-change memory with dynamically randomized address mapping , 2010, ISCA.

[27]  Steven Swanson,et al.  A study of application performance with non-volatile main memory , 2015, 2015 31st Symposium on Mass Storage Systems and Technologies (MSST).

[28]  Sachhidh Kannan,et al.  Secure memristor-based main memory , 2014, 2014 51st ACM/EDAC/IEEE Design Automation Conference (DAC).

[29]  Israel Koren,et al.  Error Analysis and Detection Procedures for a Hardware Implementation of the Advanced Encryption Standard , 2003, IEEE Trans. Computers.

[30]  Chia-Lin Yang,et al.  Fine-grained write scheduling for PCM performance improvement under write power budget , 2015, 2015 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED).

[31]  Huiyang Zhou,et al.  Improving privacy and lifetime of PCM-based main memory , 2010, 2010 IEEE/IFIP International Conference on Dependable Systems & Networks (DSN).

[32]  Tao Zhang,et al.  An efficient run-time encryption scheme for non-volatile main memory , 2013, 2013 International Conference on Compilers, Architecture and Synthesis for Embedded Systems (CASES).

[33]  Ariel J. Feldman,et al.  Lest we remember: cold-boot attacks on encryption keys , 2008, CACM.

[34]  Yiran Chen,et al.  Utilizing PCM for Energy Optimization in Embedded Systems , 2012, 2012 IEEE Computer Society Annual Symposium on VLSI.

[35]  Vijayalakshmi Srinivasan,et al.  Enhancing lifetime and security of PCM-based Main Memory with Start-Gap Wear Leveling , 2009, 2009 42nd Annual IEEE/ACM International Symposium on Microarchitecture (MICRO).

[36]  Yiran Chen,et al.  A novel architecture of the 3D stacked MRAM L2 cache for CMPs , 2009, 2009 IEEE 15th International Symposium on High Performance Computer Architecture.

[37]  Sreedhar Natarajan,et al.  Cycling endurance optimization scheme for 1Mb STT-MRAM in 40nm technology , 2013, 2013 IEEE International Solid-State Circuits Conference Digest of Technical Papers.

[38]  Yingyan Lin,et al.  A lightweight memory encryption cache design and implementation for embedded processor , 2009, Proceedings of the 2009 12th International Symposium on Integrated Circuits.

[39]  Jean-Didier Legat,et al.  Enhancing security in the memory management unit , 1999, Proceedings 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium.

[40]  Xiaoxia Wu,et al.  Hybrid cache architecture with disparate memory technologies , 2009, ISCA '09.

[41]  Juho Kim,et al.  External memory protection mechanism based on encryption using revocable hardwired key , 2012, The 1st IEEE Global Conference on Consumer Electronics 2012.

[42]  Chen Liu,et al.  Improving multilevel PCM reliability through age-aware reading and writing strategies , 2014, 2014 IEEE 32nd International Conference on Computer Design (ICCD).

[43]  Xia Zhang,et al.  Online optimization of security-sensitive real-time storage applications for NAND flash memory storage systems , 2013, 2013 IEEE 19th International Conference on Embedded and Real-Time Computing Systems and Applications.

[44]  Vincent Rijmen,et al.  The Design of Rijndael , 2002, Information Security and Cryptography.

[45]  Ueli Maurer,et al.  The one-time pad revisited , 2013, 2013 IEEE International Symposium on Information Theory.

[46]  Jun Yang,et al.  A durable and energy efficient main memory using phase change memory technology , 2009, ISCA '09.

[47]  Yan Solihin,et al.  i-NVMM: A secure non-volatile main memory system with incremental encryption , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[48]  Liviu Miclea,et al.  Protecting cache memories through data scrambling technique , 2014, 2014 IEEE 10th International Conference on Intelligent Computer Communication and Processing (ICCP).

[49]  Seung-Yun Lee,et al.  A Low Power Phase-Change Random Access Memory using a Data-Comparison Write Scheme , 2007, 2007 IEEE International Symposium on Circuits and Systems.

[50]  Fangyong Hou,et al.  Novel Physically-Embedded Data Encryption for Embedded Device , 2013, 2013 12th IEEE International Conference on Trust, Security and Privacy in Computing and Communications.