Secure and Verified Cryptographic Implementations in the Random Probing Model
Implémentations cryptographiques sûres et vérifiées dans le modèle random probing
Résumé
The masking countermeasure is among the most potent countermeasures to counteract side-channel attacks. Leakage models have been exhibited to theoretically reason on the security of such masked implementations. So far, the most widely used leakage model is the probing model defined by Ishai, Sahai, and Wagner (CRYPTO 2003). While it is advantageous for security proofs, it does not capture an adversary exploiting full leakage traces, such as in horizontal attacks. To capture a broader class of attacks, another model was introduced, referred to as the random probing model. From a leakage parameter p, each wire of the circuit leaks its value with probability p. The random probing model enjoys practical relevance thanks to a reduction to the noisy leakage model, which is admitted as the suitable formalization for power and electromagnetic side-channel attacks. In addition, the random probing model is much more convenient than the noisy leakage model to prove the security of masking schemes. Meanwhile, the community had not widely studied it before this thesis, and no practical constructions existed in the masking literature. In this thesis, we study more closely the random probing model and define the first framework dedicated to it. We formalize a composition property for secure random probing gadgets and exhibit its relation to the strong non-interference (SNI) notion used in probing security. We then revisit the expansion idea proposed by Ananth, Ishai, and Sahai (CRYPTO 2018) and introduce a compiler that builds a random probing secure circuit from small base gadgets, achieving a random probing expandability (RPE) property. Our construction can tolerate a leakage probability of up to 2^{-7.09}, against 2^{-26} for the previous construction. We also obtain a better asymptotic complexity of O(K^{7.5}) against O(K^{7.87}) for the previous construction, where kappa is the security parameter. We then provide an in-depth analysis of the RPE security notion. We exhibit the first upper bounds for the main parameter of an RPE gadget, known as the amplification order, and introduce the first generic constructions of gadgets achieving RPE for any number of shares and with nearly optimal amplification orders. This allows us to obtain much more efficient instantiations of the expanding compiler. In further efforts to optimize constructions for the random probing expansion, we generalize the RPE approach by considering a dynamic choice of the base gadgets at each step in the expansion. This approach makes it possible to use gadgets with a high number of shares –which enjoy better asymptotic complexity in the expansion framework– while still tolerating the best leakage rate usually obtained for small gadgets. We investigate strategies for choosing the sequence of compilers and show that it can reduce the complexity of the expansion strategy. Finally, we introduce Ironmask, a new versatile verification tool for masking security. IronMask is the first to verify standard simulation-based security notions in the probing model and recent composition and expandability notions in the random probing model. It supports any masking gadgets with linear randomness (eg addition, copy, and refresh gadgets) as well as quadratic gadgets (eg multiplication gadgets) that might include non-linear randomness (eg by refreshing their inputs) while providing complete verification results for both types of gadgets. We report various benchmarks which show that IronMask is competitive with state-of-the-art verification tools in the probing model. IronMask is also several orders of magnitude faster than Vraps --the only previous tool verifying random probing composability and expandability- and Silver --the only previous tool providing complete verification for quadratic gadgets with non-linear randomness.
La contre-mesure de masquage est l'une des contre-mesures les plus puissantes pour contrer les attaques side-channel. Des modèles de fuite ont été exposés pour raisonner théoriquement sur la sécurité de telles implémentations masquées. Jusqu'à présent, le modèle de fuite le plus largement utilisé est le probing model par Ishai, Sahai et Wagner (CRYPTO 2003). Bien qu'il soit avantageux pour les preuves de sécurité, il ne capture pas un adversaire exploitant des traces de fuite complètes, comme dans les attaques horizontales. Pour capturer une classe plus large d'attaques, un autre modèle a été introduit, appelé random probing model. A partir d'un paramètre de fuite p, chaque fil du circuit fuit sa valeur avec probabilité p. Le modèle random probing bénéficie d'une pertinence pratique grâce à une réduction au modèle noisy leakage, qui est admis comme la formalisation appropriée pour les attaques de puissance et électromagnétiques par canaux latéraux. De plus, le modèle random probing est beaucoup plus pratique que le modèle noisy leakage pour prouver la sécurité des schémas de masquage. Pendant ce temps, la communauté ne l'avait pas largement étudié avant cette thèse, et aucune construction pratique n'existait dans la littérature de masquage. Dans cette thèse, nous étudions de plus près le modèle random probing et définissons le premier cadre qui lui est dédié. Nous formalisons une propriété de composition pour les gadgets sécurisés et montrons sa relation avec la notion de non-interférence forte (SNI) utilisée dans le probing model. Nous revisitons ensuite l'idée d'extension proposée par Ananth, Ishai et Sahai (CRYPTO 2018) et introduisons un compilateur qui construit un circuit sécurisé dans le modèle random probing à partir de petits gadgets, obtenant une propriété d'extensibilité de random probing (RPE). Notre construction peut tolérer une probabilité de fuite jusqu'à 2^{-7.09}, contre 2^{-26} pour la construction précédente. On obtient également une meilleure complexité asymptotique de O(K^{7.5}) contre O(K^{7.87}) pour la construction précédente, où kappa est le paramètre de sécurité. Nous proposons ensuite une analyse approfondie de la notion de sécurité RPE. Nous exposons les premières bornes supérieures pour le paramètre principal d'un gadget RPE, connu sous le nom d'ordre d'amplification, et introduisons les premières constructions génériques de gadgets satisfiant RPE et avec des ordres d'amplification presque optimaux. Cela nous permet d'obtenir des instanciations beaucoup plus efficaces du compilateur en expansion. Dans d'autres efforts pour optimiser les constructions pour l'expansion random probing, nous généralisons l'approche RPE en considérant un choix dynamique des gadgets à chaque étape de l'expansion. Cette approche permet d'utiliser des gadgets avec un nombre élevé de "shares" de masquage – qui bénéficient d'une meilleure complexité asymptotique dans le cadre d'expansion – tout en tolérant le meilleur taux de fuite habituellement obtenu pour les petits gadgets. Nous étudions des stratégies pour choisir la séquence de compilateurs et montrons qu'elle peut réduire la complexité de la stratégie d'expansion. Enfin, nous présentons Ironmask, un nouvel outil de vérification polyvalent pour vérifier la sécurité. IronMask est le premier à vérifier les notions de sécurité standard basées sur la simulation dans le modèle probing et les notions récentes de composition et d'extensibilité dans le modèle random probing. Il prend en charge presque tous les gadgets de masquage dans l'état de l'art tout en fournissant des résultats de vérification exacts.
Origine | Version validée par le jury (STAR) |
---|