Mécanisme de sécurité contre les attaques temporelles via une coopération entre logiciel et matériel embarqué

Jean-Loup Hatchikian-Houdot · HAL (Le Centre pour la Communication Scientifique Directe) · 2024

Constant-time programming is used to produce programs immune to timing attacks. However, this discipline imposes several constraints on the software developer, making implementation complex and sometimes slow. We propose a new protection mechanism specialized for embedded systems and implemented in hardware but usable from software. With this protection, the constraints of constant-time programming can be relaxed, making constant-time secure programs easier to produce and faster in several cases. This protection works by locking chunks of the memory in the cache, such that memory accesses toward these chunks are protected against timing attacks. We reuse proof techniques used to formally verify the CompCert compiler. In our case, we use it to certify that no cache attacks could expose our protected memory accesses. We show the performance gain allowed by our new protection on several cryptographic algorithms, and we propose a new fast sorting method that is constant-time with this cache-locking mechanism.

Read the paper · More papers on PaperTik