A classical hardware-software interface hides all the complexity of the software from the hardware and vice versa. Concretely, for a programmer, a processor is simply a machine executing instructions. There is no information on faults, power consumption, or detailed data-dependent timing information. In the abstract view of the hardware designer, a program is just a sequence of instructions without having any information about trust relations on data and code. The fact that the HW/SW interface is simple is a big success story – except when it comes to security and privacy. The abstractions that are made at the HW/SW interface have lead to powerful side-channel attacks that allow bypassing architectural security mechanisms completely. The HW/SW interface is often also a barrier when it comes to the design of novel security mechanisms.
In this project, we consider Software & Hardware with a focus on security first. Our goal is to redefine the HW/SW interface for security. We conduct research on a better understanding of the requirements of secure software on the hardware. We focus on how the hardware can support the software in more security and on which misjudgments at the HW/SW interface enable devastating attacks. In the end, we want to design hardware and software that work hand in hand for security and where both sides of the HW/SW interface can rely on each other with respect to security and privacy.