Repository logo
Log in(current)
Repository logoMIT Open ScholarshipDSpace@MIT
  1. Home
  2. MIT Open Access Articles
  3. MIT Open Access Articles
  4. Securing Cryptographic Software via Typed Assembly Language

Securing Cryptographic Software via Typed Assembly Language

Thumbnail Image
Download
Name

3719027.3765116.pdf

Size

1.23 MB

Format

Adobe PDF

Checksum (MD5)

d42ffca7ce733c4720596de291ace3e5

Download all files submitted through automated deposit
3719027.3765116.zip (1.18 MB)
Author(s)
Song, Shixin
•
Dong, Tingzhen
•
Nwabueze, Kosi
•
Zanders, Julian
•
Erbsen, Andres
•
Chlipala, Adam
•
Yan, Mengjia
Date Issued
November 22, 2025
Publisher
ACM|Proceedings of the 2025 ACM SIGSAC Conference on Computer and Communications Security
Citation
Shixin Song, Tingzhen Dong, Kosi Nwabueze, Julian Zanders, Andres Erbsen, Adam Chlipala, and Mengjia Yan. 2025. Securing Cryptographic Software via Typed Assembly Language. In Proceedings of the 2025 ACM SIGSAC Conference on Computer and Communications Security (CCS '25). Association for Computing Machinery, New York, NY, USA, 141–155.
Version
Final published version
Abstract
Authors of cryptographic software are well aware that their code should not leak secrets through its timing behavior, and, until 2018, they believed that following industry-standard constant-time coding guidelines was sufficient. However, the revelation of the Spectre family of speculative execution attacks injected new complexities. To block speculative attacks, prior work has proposed annotating the program's source code to mark secret data, with hardware using this information to decide when to speculate (i.e., when only public values are involved) or not (when secrets are in play). While these solutions are able to track secret information stored on the heap, they suffer from limitations that prevent them from correctly tracking secrets on the stack, at a cost in performance. This paper introduces SecSep, a transformation framework that rewrites assembly programs so that they partition secret and public data on the stack. By moving from the source-code level to assembly rewriting, SecSep is able to address limitations of prior work. The key challenge in performing this assembly rewriting stems from the loss of semantic information through the lengthy compilation process. The key innovation of our methodology is a new variant of typed assembly language (TAL), Octal, which allows us to address this challenge. Assembly rewriting is driven by compile-time inference within Octal. We apply our technique to cryptographic programs and demonstrate that it enables secure speculation efficiently, incurring a low average overhead of 1.2%.
Description
CCS ’25, Taipei
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Terms of Use
Creative Commons Attribution
https://creativecommons.org/licenses/by/4.0/
Persistent DSpace Link
https://hdl.handle.net/1721.1/164285
DOI of Published Version
https://doi.org/10.1145/3719027.3765116
Repository logo
PrivacyPermissionsAccessibilityContact us
Repository logo
Notify us about copyright concerns.