Description
Date depot: 1 janvier 1900
Titre: Techniques logicielles de modélisation et programmation pour la sécurité des systèmes embarqués
Directeur de thèse:
Jean-Luc DANGER (LTCI (EDMH))
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Non defini
Resumé:
La publication de la 'timing attack' de P. C. Kocher en 1996 [1] a montré que des systèmes réputés sécurisés sur le plan théorique pouvaient être attaqués facilement dès lors qu'un attaquant parvenait à récupérer de l'information parla bande : c'est le début des {{attaques par canaux auxiliaires}}. Une vulnérabilité supplémentaire est apparue dès 1997 avec la mise en évidence par Dan Boneh des attaques en injection de faute sur RSA/CRT. Depuis, les attaques dites 'en perturbation' sont considérées comme une menace de premier plan contre les systèmes sensibles, parce que leur efficacité est sans précédent : par exemple, une seule signature erronée permet de casser le cryptosystème RSA/CRT et une ou deux fautes pendant le chiffrement ou la routine de diversification des clés de tours permet de retrouver la clé d'un AES-128. Dans ces deux cas de figure, la faute peut provenir de l'extérieur (comme par exemple une injection laser ou électromagnétique) ou de l'intérieur même du composant (péril popularisé sous le nom de 'bug attack').
Dès lors, des recherches de {{contre-mesures}} au niveau des circuits électroniques utilisés pour la cryptographie ont été effectuées très tôt (cf. le 'DPA book' [2], qui présente la logique à double rail (matériel) et le masquage de données (matériel ou langage assembleur)). Ces recherches ont peu avancé en revanche au niveau logiciel. La façon de programmer ces circuits (paradigmes de programmation, techniques de compilation) pour aider à leur sécurisation contre les attaques par canaux auxiliaires n'a que peu été étudiée et commence à susciter de l'intérêt comme en témoigne certaines des publications récentes, par exemple 'Software Implementation of Dual-Rail Representation' de P. Hoogvorst, G. Duc, et J.-L. Danger [3] ou 'Compiler assisted masking' de A. Moss, E. Oswald, D. Page, et M. Tunstall [4].
Cette thèse a comme objectif principal d'étudier, de formaliser et de développer l'aspect {{sécurisation automatique}}, par compilation, de la mise en œuvre de ces techniques d'équilibrage et de masquage. En plus de ces stratégies de sécurisation des {{données}}, les possibilités de sécurisation automatique du {{code}} lui-même seront explorées. Une preuve de concept a été abordée dans 'Can Code Polyphormism Limit Information Leakage?' de A. Amarilli, S. Müller, D. Naccache, D. Page, P. Rauzy, et M. Tunstall [5], avec une implémentation qui se dégradait au fil de son usage. Des solutions fiables de réécriture de code utilisant des invariants syntaxiques, sémantiques et algorithmiques seront proposées. Enfin, un troisième volet de la thèse concernera les techniques de {{modélisation}} des attaques permettant leur étude rigoureuse (mesure de leur efficacité, preuve formelle de contre-mesures).
---
Références :
[1] P. C. Kocher, 'Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems', CRYPTO 1996: 104–113.
[2] S. Mangard, E. Oswald and T. Popp, 'Power Analysis Attacks: Revealing the Secrets of Smart Cards', 2006, 338 pages, ISBN 0-387-30857-1.http://www.dpabook.org/
[3] P. Hoogvorst, G. Duc, and J.-L. Danger, 'Software Implementation of Dual-Rail Representation', COSADE 2011: 73-81.
[4] A. Moss, E. Oswald, D. Page, and M. Tunstall, 'Compiler Assisted Masking', CHES 2012: 58-75.
[5] A. Amarilli, S. Müller, D. Naccache, D. Page, P. Rauzy, and M. Tunstall, 'Can Code Polyphormism Limit Information Leakage?', WISTP 2011: 1-21.
Doctorant.e: Rauzy Pablo