Towards Cycle-Level Verification of Constant-Time Cryptography
Name
xu-jyxu-meng-eecs-2024-thesis.pdf
Description
Thesis PDF
Size
1.09 MB
Format
Adobe PDF
Checksum (MD5)
d136350d74959e1b8fe677ede90260ee
Author(s)
Xu, Jessica Y.
Advisor(s)
Athalye, Anish
Zeldovich, Nickolai
Date Issued
May 2024
Publisher
Massachusetts Institute of Technology
Abstract
Cryptographic primitives–hash functions, symmetric key encryption algorithms, asymmetric key exchange algorithms, and more–are used everywhere to achieve security in modern computing. Since these algorithms have complicated, math-heavy implementations, they are typically used through cryptographic library functions. However, many timing side-channel attacks, which leak information when execution time depends on secrets, have been found in popular cryptographic libraries, such as OpenSSL. Formal verification aims to rule out timing side channels in cryptographic software. This thesis presents Quake, a framework for verifying cryptographic library functions are constant-time for a specific hardware implementation, regardless of where the code is located in memory. Quake represents the location of code in memory using symbolic addresses and introduces a ROM model that gets concrete memory data from symbolic addresses. This thesis evaluates Quake and demonstrates that it can detect address-dependent timing behavior and does so in a reasonable amount of time.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
In Copyright - Educational Use Permitted
Copyright retained by author(s)
Persistent DSpace Link