Design of white-box encryption schemes for mobile applications security - Université de Lorraine
Thèse Année : 2020

Design of white-box encryption schemes for mobile applications security

Conception de schémas de chiffrement boîte blanche pour la sécurité des applications mobiles

Résumé

Today mobile devices are an integral part of our lives with the development of applications. In addition to smart phones, which are increasingly powerful, other devices such as connected objects may have to handle data that must remain secret. For example, the authentication of a connected object in a network requires the existence of a ``secret" held by the object. In the case of mobile applications, the emergence of payment applications allowing contactless payment from the telephone or banking applications poses serious security challenges. The need to secure applications is therefore essential both for users wishing to access a service without risking their goods and for service providers who have a financial interest in it. Thus, cryptography is used to protect these various mobile applications. In this context, we wish to meet this need with both a software and hardware approach to secure cryptography on open and exposed platforms. The aim of this thesis is to verify the security of software implementations of cryptographic algorithms in the white-box model and to propose techniques to reinforce this security in a mobile environment. The white-box model or white-box attacks context is opposed to the traditional black-box model and refers to a context in which an attacker controls an execution environment and has access to software implementations of cryptographic algorithms. Once a secret key is revealed, the security of the encryption scheme is no longer valid. In this context, the last line of defense is the implementation itself: the secret key is hidden in the code so that it cannot be distinguished or extracted. Many studies have been conducted on White-Box Cryptography and have led to proposals for white-box implementations of standardized algorithms such as the DES (Data Encryption Standard) or the AES (Advanced Encryption Standard). These algorithms are of particular interest due to their wide deployment. Unfortunately these proposals have revealed vulnerabilities and do not guarantee the confidentiality of the secret key. In this thesis, we are first interested in the reasons why not all proposed implementations allow to ``hide'' the secret key sufficiently. We will make a detailed study of the techniques used as well as the possible attacks. Secondly, we propose new techniques to counter these attacks and study the cost of these techniques in terms of code size and performance. Another approach in White-Box Cryptography is to design algorithms that can be proved to be resistant to key extraction. This new approach involves proposing security notions adapted to the white-box model. In particular, the main problem is to ensure that the implementation of the cryptographic algorithm cannot be copied and executed in another environment. This attack called "code lifting" (code copying) is equivalent to extracting the secret key. One solution proposed in the literature is to increase the size of the code in order to increase the space complexity of the attack. We propose a solution to this problem by defining an encryption scheme that can be implemented in a white-box and that uses a physical device called Physically Unclonable Function (PUF). A PUF refers to a physical device with unique and unclonable characteristics that can be used to identify it. Thus, a PUF can be seen as the fingerprint (in the biometric sense) of a device. The PUF will be used in our scheme as a means of identifying the execution environment of a cryptographic algorithm and will generate a key specific to a given device.
Aujourd'hui les équipements mobiles font partie intégrante de nos vies avec le développement des applications. En plus des téléphones intelligents, d'autres équipements comme les objets connectés peuvent avoir à manipuler des données qui doivent rester secrètes. Par exemple, l'authentification d'un objet connecté dans un réseau nécessite l'existence d'un "secret" détenu par l'objet. Dans le cas des applications mobiles, l'apparition des applications de paiement permettant un paiement sans contact à partir du téléphone ou encore les applications bancaires pose de sérieux enjeux de sécurité. Le besoin de sécurisation des applications est ainsi primordial à la fois pour un utilisateur désireux d'accéder à un service sans risquer ses biens mais aussi pour les fournisseurs de services qui y ont un intérêt financier. Ainsi, la cryptographie est utilisée pour protéger ces diverses applications mobiles. Dans ce contexte, on souhaite répondre à ce besoin avec une approche à la fois logicielle et matérielle pour sécuriser la cryptographie sur des plateformes ouvertes et exposées. Le but de cette thèse est de vérifier la sécurité des implémentations logicielles d’algorithmes cryptographiques dans le modèle boîte blanche et de proposer des techniques permettant de renforcer cette sécurité dans un environnement mobile. Le modèle boîte blanche s’oppose au modèle boîte noire traditionnel et décrit un contexte dans lequel un attaquant contrôle l'environnement d’exécution et a accès aux implémentations logicielles. Une fois qu'une clé secrète est révélée, la sécurité du schéma de chiffrement n’est plus valable. Dans ce contexte, la dernière ligne de défense est l’implémentation elle-même : la clé secrète est cachée dans le code de manière à ce qu’elle ne puisse être ni identifiée, ni extraite. De nombreuses études ont été menées sur la cryptographie en boîte blanche et ont abouti à des propositions d’implémentations d’algorithmes standardisés tels que le DES (Data Encryption Standard) ou l’AES (Advanced Encryption Standard). Ces algorithmes intéressent particulièrement du fait de leur large déploiement. Malheureusement ces propositions ont révélé des vulnérabilités et ne garantissent pas la confidentialité de la clé secrète. Dans cette thèse, nous nous intéressons premièrement aux raisons pour lesquelles toutes les propositions d’implémentations ne permettent pas de "cacher" suffisamment la clé secrète. Nous ferons une étude détaillée des techniques utilisées ainsi que des attaques possibles. Deuxièmement, nous proposons des techniques nouvelles permettant de contrecarrer ces attaques et étudions le coût de ces techniques en termes de taille et de performance de code. Une autre approche en cryptographie en boîte blanche est de concevoir des algorithmes dont on peut prouver la résistance à l’extraction de clé. Cette nouvelle approche implique de proposer des notions de sécurité adaptées au modèle boîte blanche. En particulier, le problème principal est de garantir que l’implémentation ne puisse être copiée et exécutée dans un autre environnement. Cette attaque appelée "code lifting" (copie de code) est équivalent à extraire la clé secrète. Une solution proposée dans la littérature est d’augmenter la taille du code afin d’augmenter la complexité en espace de l’attaque. Nous proposons une solution à ce problème en définissant un schéma de chiffrement que l’on peut implémenter en boîte blanche et qui utilise un dispositif physique appelé Physically Unclonable Function (PUF). Une PUF désigne un dispositif physique présentant des caractéristiques uniques et inclonables permettant de l’identifier. Ainsi, une PUF peut être vue comme l’empreinte (au sens biométrique) d’un appareil. Ce dispositif sera utilisé dans notre schéma comme moyen d’identifier l’environnement d’exécution d’un algorithme cryptographique et permettra de générer une clé spécifique à un appareil donné.
Fichier principal
Vignette du fichier
DDOC_T_2020_0060_RASOAMIARAMANANA.pdf (3.1 Mo) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)
Loading...

Dates et versions

tel-02949394 , version 1 (25-09-2020)

Identifiants

  • HAL Id : tel-02949394 , version 1

Citer

Sandra Rasoamiaramanana. Design of white-box encryption schemes for mobile applications security. Cryptography and Security [cs.CR]. Université de Lorraine, 2020. English. ⟨NNT : 2020LORR0060⟩. ⟨tel-02949394⟩
500 Consultations
1269 Téléchargements

Partager

More