Formally Proved Security of Assembly Code Against Power Analysis: A Case Study on Balanced Logic
Pablo Rauzy, Sylvain Guilley, Zakaria Najm

TL;DR
This paper introduces formal methods and tools for designing and verifying assembly code protected against power analysis attacks, demonstrated through a case study on an 8-bit AVR smartcard achieving significant resistance improvements.
Contribution
It presents a novel approach to automatically insert and verify power balancing countermeasures at the assembly level, bridging the gap between models and implementations.
Findings
Automated assembly-level insertion of power balancing measures
Proven security of the generated code against power analysis
Achieved at least 250 times increased resistance to CPA attacks
Abstract
In his keynote speech at CHES 2004, Kocher advocated that side-channel attacks were an illustration that formal cryptography was not as secure as it was believed because some assumptions (e.g., no auxiliary information is available during the computation) were not modeled. This failure is caused by formal methods' focus on models rather than implementations. In this paper we present formal methods and tools for designing protected code and proving its security against power analysis. These formal methods avoid the discrepancy between the model and the implementation by working on the latter rather than on a high-level model. Indeed, our methods allow us (a) to automatically insert a power balancing countermeasure directly at the assembly level, and to prove the correctness of the induced code transformation; and (b) to prove that the obtained code is balanced with regard to a reasonable…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsCryptographic Implementations and Security · Physical Unclonable Functions (PUFs) and Hardware Security · Security and Verification in Computing
