Skip to main content

Hardware Support for Constant-Time Programming

Publication ,  Conference
Miao, Y; Kandemir, MT; Zhang, D; Zhang, Y; Tan, G; Wu, D
Published in: Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023
October 28, 2023

Side-channel attacks are one of the rising security concerns in modern computing platforms. Observing this, researchers have proposed both hardware-based and software-based strategies to mitigate side-channel attacks, targeting not only on-chip caches but also other hardware components like memory controllers and on-chip networks. While hardware-based solutions to side-channel attacks are usually costly to implement as they require modifications to the underlying hardware, software-based solutions are more practical as they can work on unmodified hardware. One of the recent software-based solutions is constant-time programming, which tries to transform an input program to be protected against side-channel attacks such that an operation working on a data element/block to be protected would execute in an amount of time that is independent of the input. Unfortunately, while quite effective from a security angle, constant-time programming can lead to severe performance penalties. Motivated by this observation, in this paper, we explore novel hardware support to make constant-time programming much more efficient than its current implementations. Specifically, we present a new hardware component that can greatly improve the performance of constant-time programs with large memory footprints. The key idea in our approach is to add a small structure into the architecture and two accompanying instructions, which collectively expose the existence/dirtiness information of multiple cache lines to the application program, so that the latter can perform more efficient side-channel mitigation. Our experimental evaluation using three benchmark programs with secret data clearly show the effectiveness of the proposed approach over a state-of-the-art implementation of constant-time programming. Specifically, in the three benchmark programs tested, our approach leads to about 7x reduction in performance overheads over the state-of-the-art approach.

Duke Scholars

Published In

Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023

DOI

Publication Date

October 28, 2023

Start / End Page

856 / 870
 

Citation

APA
Chicago
ICMJE
MLA
NLM
Miao, Y., Kandemir, M. T., Zhang, D., Zhang, Y., Tan, G., & Wu, D. (2023). Hardware Support for Constant-Time Programming. In Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023 (pp. 856–870). https://doi.org/10.1145/3613424.3623796
Miao, Y., M. T. Kandemir, D. Zhang, Y. Zhang, G. Tan, and D. Wu. “Hardware Support for Constant-Time Programming.” In Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023, 856–70, 2023. https://doi.org/10.1145/3613424.3623796.
Miao Y, Kandemir MT, Zhang D, Zhang Y, Tan G, Wu D. Hardware Support for Constant-Time Programming. In: Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023. 2023. p. 856–70.
Miao, Y., et al. “Hardware Support for Constant-Time Programming.” Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023, 2023, pp. 856–70. Scopus, doi:10.1145/3613424.3623796.
Miao Y, Kandemir MT, Zhang D, Zhang Y, Tan G, Wu D. Hardware Support for Constant-Time Programming. Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023. 2023. p. 856–870.

Published In

Proceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture, MICRO 2023

DOI

Publication Date

October 28, 2023

Start / End Page

856 / 870