CE39 - Sécurité Globale, Cybersécurité

Cryptographie en boîte blanche pour la sécurité logicielle – SWITECH

SWITECH

Applcations logicielles sécurisées par la cryptographie en boîte blanche

Enjeux et objectifs de la cryptographie en boîte blanche

Les algorithmes cryptographiques sont de plus en plus déployés dans diverses applications embarquées sur des objets connectés, comme les smartphones et les tablettes. Dans cet environnement, les capacités de l'adversaire peuvent être grandement améliorées, et il faut considérer un adversaire qui peut accéder au code binaire, modifier son exécution, falsifier la mémoire et utiliser des outils d'ingénierie inverse existants tels que des débogueurs pour récupérer les secrets cachés. En général, les consommateurs ont une confiance implicite dans le niveau de sécurité des produits et services produits annoncé par les fabricants et les fournisseurs de solutions. Par conséquent, cela est souvent dévastateur en termes de crédibilité lorsque les solutions de sécurité sont cassées avec succès et soumises par la suite à un clonage incontrôlé et à de la contrefaçon.<br /><br />L'objectif du projet est de faire de la cryptographie en boîte blanche (WBC) une technologie mature, en fournissant de nouvelles constructions pour les implémentations cryptographiques, en améliorant les attaques et développant de nouveaux et en construisant des démonstrateurs innovants basés sur des cas d'utilisation concrets pour démontrer la faisabilité des produits de sécurité en logiciel pur.

• Spécifier un cas d'utilisation concret et axé sur le marché --> Porte-monnaie sécurisé pour les cryptomonnaies
• Définir des modèles de sécurité --> Empêcher l'extraction de clé + prendre en compte l'environnement logiciel (code lifting), en tenant compte des modèles plus théoriques (iO = indistinguishability obfuscation)
• Trouver de nouvelles attaques et développer des outils d'évaluation --> Conception d'une boîte à outils d'attaque polyvalente pour évaluer la sécurité concrète des implémentations en boîte blanche.
• Développer des constructions sécurisées --> algorithmes à clé secrète (AES) et algorithmes à clé publique (ECDSA)
• Construire un démonstrateur --> Application mobile utilisant la cryptographie en boîte blanche pour sécuriser le stockage et la dépense de pièces de crypto-monnaie.

Le projet a analysé de façon détaillée :
• Les défis de sécurité posés par les applications usuelles de la cryptographie en boîte blanche : DRM (Digital Right Management), Paiement mobiles et applications de type porte-monnaie, cryptomonnaies
• Les notions de sécurité pour la cryptographie en boîte blanche : protection contre l’extraction de clé (unbreakability), sécurité contre les attaques de type « code lifting »
• L’utilisation du concept d’iO (indistinguishability obfuscation) pour appairer une implémentation en boîte blanche avec le dispositif matériel dans lequel il est exécuté.

Les partenaires du projet ont organisé une compétition internationale, WhibOx 2019, en lien avec la conférence annuelle CHES, au cours de laquelle les participants étaient invités soit à proposer des implémentations en boîte blanche de l’AES, soit à tenter de casser les propositions soumises. Au sein du projet SWITECH, de nouvelles techniques d’attaque génériques ont été développées à cette occasion, et ont donné lieu à deux publications internationales.

• Construction du démonstrateur. En partant du cas d’utilisation déjà cité, nous allons créer une application qui utilise la cryptographie en boîte blanche pour sécuriser le stockage et la dépense de pièces de crypto-monnaie. Cela nécessitera une implémentation boîte blanche dynamique d’ECDSA qui peut opérer des transactions à partir de jetons.

• Obtenir des implémentations en boîte blanche sécurisées d’algorithmes à clé publique. À l’heure actuelle, aucune solution sûre n’a été proposée pour les algorithmes de signature électronique, ce qui illustre la difficulté du problème. Les connaissances déjà acquises seront mises en œuvre pour réaliser une implémentation de l’algorithme de signature ECDSA, et il est également envisagé d’effectuer de nouvelles constructions en s’appuyant sur la cryptographie multivariée.

- J.S. Coron, H.V.L. Pereira: On Kilian's Randomization of Multilinear Map Encodings. ASIACRYPT 2019
- J.S. Coron, L. Notarnicola: Cryptanalysis of CLT13 Multilinear Maps with Independent Slots. ASIACRYPT 2019
- L. Goubin, P. Paillier, M. Rivain, J. Wang: How to reveal the secrets of an obscure white-box implementation. J. Cryptogr. Eng. 10(1): 49-66 (2020)
- L. Goubin, M. Rivain, J. Wang: Defeating State-of-the-Art White-Box Countermeasures with Advanced Gray-Box Attacks. IACR Trans. Cryptogr. Hardw. Embed. Syst. 2020(3)
- A. Biryukov, A. Udovenko: Dummy Shuffling against Algebraic Attacks in White-box Implementations. EUROCRYPT 2021
- J.S. Coron, L. Spignoli. Secure Wire Shuffling in the Probing Model. CRYPTO 2021.

Les algorithmes cryptographiques sont de plus en plus déployés dans diverses applications intégrées sur des périphériques connectés, comme les smartphones et les tablettes. Dans cet environnement, les capacités de l'adversaire peuvent être grandement améliorées et nous sommes amenés à considérer un adversaire qui peut accéder au code binaire, modifier son exécution, manipuler la mémoire et utiliser des outils de rétro-ingénierie existants tels que les débogueurs pour récupérer les secrets cachés. En général, les consommateurs ont une confiance implicite dans le niveau de sécurité des produits et services proposés par les fabricants et les fournisseurs de solutions. Par conséquent, c'est souvent dévastateur en termes de crédibilité technique lorsque les solutions de sécurité sont cassées avec succès et par la suite victimes de clonage ou de contrefaçon incontrôlés.

L'objectif du projet SWITECH est de faire de la White-Box Cryptography (WBC) une technologie mature, en fournissant de nouvelles constructions pour les implémentations cryptographiques, en améliorant les attaques connues et en développant de nouvelles, et en créant un démonstrateurs innovant basés sur un cas d'utilisation concret pour démontrer la faisabilité des produits de sécurité implémentés purement de façon logicielle. Il s'agit d'un projet de recherche industrielle qui rassemble des cryptographes théoriques et des experts industriels dont la principale préoccupation est la sécurité de leurs produits de sécurité. Les laboratoires publics partenaires sont l'Université de Versailles et l'Université du Luxembourg. Le partenaire industriel est CryptoExperts. Outre le développement de constructions pour la cryptographie en boîte blanche sécurisées, la définition de modèles de sécurité, l'exploration de nouvelles attaques et le développement de nouveaux outils d'attaque, le projet SWITECH a pour objectif de définir un cas d'utilisation concret et de construire un démonstrateur concret pour démontrer la faisabilité des produits de sécurité en logiciel pur. Sur la base de ce cas d'utilisation, nous construirons une application mobile Android qui utilise la cryptographie en boîte blanche pour sécuriser le stockage et la dépense de pièces de cryptomonnaie. Cela nécessitera une implémentation dynamique de boîte blanche ECDSA qui peut gérer des transactions à partir de jetons.

Coordination du projet

Louis Goubin (Laboratoire de mathématiques de Versailles)

L'auteur de ce résumé est le coordinateur du projet, qui est responsable du contenu de ce résumé. L'ANR décline par conséquent toute responsabilité quant à son contenu.

Partenaire

CRX CRYPTOEXPERTS
LUX Université du Luxembourg / Computer Science and Communications Research Unit
LMV Laboratoire de mathématiques de Versailles

Aide de l'ANR 483 488 euros
Début et durée du projet scientifique : mars 2020 - 36 Mois

Liens utiles

Explorez notre base de projets financés

 

 

L’ANR met à disposition ses jeux de données sur les projets, cliquez ici pour en savoir plus.

Inscrivez-vous à notre newsletter
pour recevoir nos actualités
S'inscrire à notre newsletter