| Literature DB >> 31231603 |
Thomas Unterluggauer1, Mario Werner1, Stefan Mangard1.
Abstract
Memory encryption is used in many devices to protect memory content from attackers with physical access to a device. However, many current memory encryption schemes can be broken using differential power analysis (DPA). In this work, we present Meas-the first Memory Encryption and Authentication Scheme providing security against DPA attacks. The scheme combines ideas from fresh re-keying and authentication trees by storing encryption keys in a tree structure to thwart first-order DPA without the need for DPA-protected cryptographic primitives. Therefore, the design strictly limits the use of every key to encrypt at most two different plaintext values. Meas prevents higher-order DPA without changes to the cipher implementation by using masking of the plaintext values. Meas is applicable to all kinds of memory, e.g., NVM and RAM. For RAM, we give two concrete Meas instances based on the lightweight primitives Ascon, PRINCE, and QARMA. We implement and evaluate both instances on a Zynq XC7Z020 FPGA showing that Meas has memory and performance overhead comparable to existing memory authentication techniques without DPA protection.Entities:
Keywords: Authentication; DPA; Encryption; Memory; Side-channel attacks
Year: 2018 PMID: 31231603 PMCID: PMC6555441 DOI: 10.1007/s13389-018-0180-2
Source DB: PubMed Journal: J Cryptogr Eng
Fig. 1Generic encryption scheme ENC
Fig. 2Meas ’s tree construction for data blocks and with an arity of
Fig. 3Schematic overview of ENC in Meas-v1
Fig. 4Schematic overview of AE in Meas-v1
Fig. 5Zynq platform with Meas pipeline
Fig. 6Memory layout for 4-ary Meas
Fig. 7Data node requests for 4-ary Meas
Fig. 8Meas encryption and authentication pipeline
Comparison of Meas with other constructions for scalable authentic and/or confidential memory which offer block-wise random access
| Auth. | Conf. | DPA security | Parallelizable | Memory overhead | ||
|---|---|---|---|---|---|---|
| Read | Write | |||||
|
|
|
|
|
| ||
| PAT |
|
|
|
| ||
| TEC tree |
|
|
|
|
| |
| Merkle tree |
|
|
|
| ||
Fig. 9Memory overhead comparison for 4-ary trees depending on protection order and block size with a security level of 128 bits (, , )
Fig. 10Memory overhead of Meas depending on arity and protection order (1024-bit blocks, 128-bit security)
Fig. 11Read performance determined with tinymembench (NEON read prefetched (64 bytes step))
Fig. 12Write performance determined with tinymembench (NEON fill)
Fig. 13Memory latency determined with LMBENCH (lat_mem_rd 8M)
Fig. 14FPGA utilization on XC7Z020 for 8-ary trees