Litcius/Paper detail

Secure-by-Construction Design Methodology for CPUs: Implementing Secure Speculation on the RTL

Tobias Jauch, Alex Wezel, Mohammad Rahmani Fadiheh, Philipp Schmitz, Sayak Ray, Jason M. Fung, Christopher W. Fletcher, Dominik Stoffel, Wolfgang Kunz

202311 citationsDOI

Abstract

Spectre and Meltdown attacks proved Transient Execution Side Channels to be a notable challenge for designing secure microarchitectures. Various countermeasures against these threats were proposed on the electronic system level. However, addressing all possible attack scenarios requires the design and analysis of bit-and cycle-accurate implementations. We present a novel secure-by-construction RTL design methodology based on a new hardware protection framework underpinned by a generic control infrastructure that can be integrated into industry-grade microarchitectures. The methodology uses formal verification to systematically detect possible leakage paths and to customize the generic infrastructure accordingly for the design. We propose an iterative flow which semi-automatically leads to an RTL design that is guaranteed to be secure w.r.t. transient execution attacks. A case study for the methodology is conducted on BOOMv3, an open-source RISC-V processor with a deep out-of-order pipeline, and the resulting secure RTL design is benchmarked on an FPGA setup. Our design outperforms a design based on conservative countermeasures, improving the incurred overhead by <tex xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">$\boldsymbol{3}\times/\boldsymbol{4}\times$</tex> (depending on the threat model) while maintaining the same level of security.

Topics & Concepts

Computer scienceDesign flowImplementationPipeline (software)Field-programmable gate arrayEmbedded systemProcessor designOverhead (engineering)MicroarchitectureControl flowOperating systemSoftware engineeringProgramming languageSecurity and Verification in ComputingPhysical Unclonable Functions (PUFs) and Hardware SecurityCryptographic Implementations and Security
Secure-by-Construction Design Methodology for CPUs: Implementing Secure Speculation on the RTL | Litcius