Towards a formally verified hardware root-of-trust for data-oblivious computing

13Citations
Citations of this article
12Readers
Mendeley users who have this article in their library.
Get full text

Abstract

The importance of preventing microarchitectural timing side channels in security-critical applications has surged immensely over the last several years. Constant-time programming has emerged as a best-practice technique to prevent leaking out secret information through timing. It builds on the assumption that certain basic machine instructions execute timing-independently w.r.t. their input data. However, whether an instruction fulfills this data-independent timing criterion varies strongly from architecture to architecture. In this paper, we propose a novel methodology to formally verify data-oblivious behavior in hardware using standard property checking techniques. Each successfully verified instruction represents a trusted hardware primitive for developing data-oblivious algorithms. A counterexample, on the other hand, represents a restriction that must be communicated to the software developer. We evaluate the proposed methodology in multiple case studies, ranging from small arithmetic units to medium-sized processors. One case study uncovered a data-dependent timing violation in the extensively verified and highly secure Ibex RISC-V core.

Cite

CITATION STYLE

APA

Deutschmann, L., Müller, J., Fadiheh, M. R., Stoffel, D., & Kunz, W. (2022). Towards a formally verified hardware root-of-trust for data-oblivious computing. In Proceedings - Design Automation Conference (pp. 727–732). Institute of Electrical and Electronics Engineers Inc. https://doi.org/10.1145/3489517.3530981

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free