Les types de chiffrement en cryptographie

On considère souvent les mathématiques comme une science abstraite et détachée de la réalité. Les mathématiques appliquées existent bel et bien. L’analyse et la modélisation d’un phénomène physique viennent le plus souvent des mathématiques et l’envie de pouvoir l’utiliser, le prévoir ou l’améliorer est alors toujours très forte. L’application du savoir mathématique est alors présente dans de nombreux domaines. On cite par exemple la construction d’un avion qui vole, empêcher que celui-ci ne s’écrase s’il prend la foudre, concevoir une voiture consommant peu d’essence, envoyer un satellite sur orbite avec le moins de carburant possible, estimer l’impact du changement climatique, prévoir la météo, améliorer les connaissances sur l’évolution des maladies de l’homme et du vivant en général,… Nous nous intéressons dans ce manuscrit à deux branches précises des mathématiques : l’arithmétique modulaire et la théorie des nombres, qui donnent naissance à la cryptologie. La cryptologie est la science du secret. Le terme vient des mots grecs anciens kruptos qu’on traduit par « secret » et logos par « discours ».

Jargon de la cryptologie

La cryptologie permet à deux personnes, appelées traditionnellement Alice et Bob, de communiquer à travers un canal, de telle sorte qu’un attaquant, Ève, ne puisse pas comprendre le message échangé. Alice va ainsi transformer un message clair en un message chiffré par un algorithme de chiffrement, en utilisant une clé secrète.

L’étude de la cryptologie s’articule autour de quatre principes : la confidentialité assure que le message secret soit bien lu par des personnes choisies au préalable, l’authenticité permet que l’expéditeur soit bien l’auteur du message envoyé, la non répudiation affirme que le message secret ait bien été envoyé et/ou reçu et l’intégrité vérifie que le message n’a pas été modifié sans autorisation ou par erreur. Afin de satisfaire ces principes, la science du secret se divise en deux branches : la cryptographie, soit l’écriture du message secret et la cryptanalyse .

Histoire de la cryptologie

Les origines de la cryptographie remontent à plus de 4000 ans, avec la découverte d’une tombe égyptienne à Saqqarah où reposait un haut responsable de la Ve dynastie des pharaons. Les écrits retrouvés sur les parois du sarcophage contenaient des hiéroglyphes modifiés  . Ces nouveaux symboles représentent le premier élément essentiel de la cryptographie : une modification volontaire de l’écriture. Les découvertes archéologiques égyptiennes montrent ainsi que la cryptographie, et plus précisément la transmission sûre d’informations, sont aussi anciennes que l’invention de l’écriture elle-même.

Le premier exemple de cryptographie a été conçu durant l’Antiquité, entre le Xe et le VIIe siècle av. J.-C., avec une technique de chiffrement par transposition utilisée par les Spartiates et les Athéniens pendant la guerre du Péloponnèse. Ce chiffrement consiste à réorganiser les caractères d’un message. Au moyen de deux bâtons identiques (appelés scytales, voir Figure 3) partagés par l’expéditeur et le destinataire, un message écrit sur une bandelette enroulée sur ces bâtons n’aurait plus aucune signification une fois la bandelette déroulée. Par la suite les systèmes de chiffrements deviennent de plus en plus compliqués jusqu’à l’invention des machines qui encodent. Ces dernières sont destinées à transmettre des messages d’un point à un autre sur de grandes distances, à l’aide de codes secrets pour une transmission rapide et fiable. On peut par exemple citer la création par Edison du télégraphe utilisant le code Morse au XIXe siècle ou encore les machines Enigma (voir Figure 4) de Sherbius dont les nazis se servaient pendant la Seconde Guerre mondiale.

De la cryptographie naît la cryptanalyse, le besoin de « casser » les messages chiffrés, soit l’analyse des messages secrets. Ce sont les Arabes qui, les premiers, ont compris les mécanismes de la cryptographie et ont commencé à développer la cryptanalyse. En particulier, en 1412, Al-KalkaShandi décrit comment procéder au calcul de fréquence des lettres d’un message chiffré afin de le décoder. Un autre exemple frappant en cryptanalyse est la compréhension du langage des hiéroglyphes par Champollion en 1822 à partir de la Pierre de Rosette (voir Figure 5), trouvée en Égypte en 1799. La pierre contenait trois texte d’un décret de Ptolémée V Epiphane, inscrits en hiéroglyphes, en démotique et en grec ancien. Après avoir compris que les parties en démotique et en grec ancien correspondaient au même texte, Champollion a trouvé la clé pour traduire les hiéroglyphes [50]. Enfin, nous citons le cas le plus connu du XXe  siècle, le décodage des machines Enigma par les services de renseignements Polonais et Britanniques. Parmi les héros, le mathématicien Turing est l’homme que l’on considère comme le père de l’informatique moderne. En effet, il résulte de l’analyse du code Enigma le premier ordinateur de l’histoire, soit la découverte la plus spectaculaire de l’histoire de la cryptanalyse militaire.

On trouve peu de détails sur les innovations en cryptographie et cryptanalyse durant le début de la guerre froide, probablement parce que ces informations sont encore « top secret ». C’est l’arrivée des ordinateurs et l’utilisation d’Internet dans les années 1970 qui bousculent l’époque moderne avec de nouvelles applications cryptographiques.

Les types de chiffrement en cryptographie

De l’Antiquité au milieu du XXe siècle, les méthodes de chiffrement nécessitent au préalable la mise en commun entre Alice et Bob d’une même clé secrète, indispensable au chiffrement du message clair et au déchiffrement du message chiffré. Ce type de cryptographie est appelée cryptographie à clé secrète ou encore cryptographie symétrique. Selon le principe de Kerckhoffs [44] (1883), la sécurité de la cryptographie symétrique repose sur la protection de la clé secrète. Autrement dit, l’algorithme de chiffrement peut être connu mais pas la clé. Dans les années 1970, la quantité d’algorithmes symétriques a explosé proportionnellement à l’expansion du traitement informatique. Afin d’assurer leur transmission, les informations sont codées puis chiffrées en langage binaire (composé de deux caractères, 0 ou 1, appelés des bits), traité par les ordinateurs. Si les algorithmes symétriques présentent l’avantage d’utiliser des clés de petites tailles (moins de 256 bits) et donc d’être rapides à exécuter, leur nature les exposent au risque qu’un récepteur indésirable (Ève) parvienne à obtenir la clé secrète. Pour chiffrer un message, il faut donc au préalable avoir échangé une clé avec le destinataire du message, et cela par une voie absolument sûre, sinon chiffrer devient inutile. Cette faiblesse est connue comme le problème de la distribution de clé et occasionne de réels soucis logistiques : on peut par exemple citer le système utilisé pour le Téléphone rouge entre le Kremlin et la Maison-Blanche en 1963.

C’est en 1976 que Diffie et Hellman [28] ont proposé une solution au problème de la distribution de clé, en introduisant le concept de cryptographie à clé publique ou cryptographie asymétrique. Utilisant deux clés, l’une pour chiffrer et l’autre pour déchiffrer, la cryptographie à clé publique a réellement vu le jour à partir de 1978 avec l’invention du RSA par Rivest, Shamir et Adlmeman [76]. Basés sur des problèmes mathématiques difficiles à résoudre, comme la factorisation d’un nombre élevé en un produit de nombres premiers pour le RSA, les algorithmes à clé publique transforment le problème de la distribution de clé en un processus de communications en plusieurs étapes. Alice chiffre un message avec une clé publique, c’est à dire connue de tous, et l’envoie à Bob. Dès lors, le message est incompréhensible, même en connaissant cette clé publique. Bob pourra utiliser une clé secrète, connue de lui seul, afin de déchiffrer le message secret. En règle générale, les algorithmes à clé publique sont plus lents à exécuter que les algorithmes symétriques car ils manipulent des clés de taille très importante. Par exemple, l’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI) recommande en 2010 d’utiliser des clés de taille supérieure ou égale à 2048 bits pour l’algorithme RSA.

De nos jours, la cryptographie (symétrique et asymétrique) peut être assurée au moyen de cartes à puce, des petits objets électroniques de quelques millimètres capables de stocker des éléments confidentiels dans une mémoire interne et d’effectuer des calculs cryptographiques grâce à une source d’énergie. On parle également de systèmes ou composants embarqués. En toute ignorance, tout un chacun utilise quotidiennement des applications de la cryptographie. Par exemple, il suffit de payer un achat avec une carte de crédit : la sécurité de cette transaction bancaire repose sur l’exécution d’algorithmes cryptographiques sur la puce de la carte de crédit.

Contexte, sujet et objectifs de cette thèse, entre académie et industrie

Depuis les années 2000, le marché des cartes à puce a explosé dans de nombreux domaines d’applications, tels que les clés de voiture, les badges d’accès, les cartes de transport, les banques, les passeports électroniques ou encore très récemment l’identification biométrique. Afin d’assurer la confiance dans leurs produits et de pouvoir les vendre, les développeurs de cartes à puce demandent un certificat auprès d’un organisme de confiance. En France, c’est l’ANSSI qui s’assure que le système embarqué ne présente pas de faille de conception face aux nombreuses attaques de cryptanalyse. En effet, la carte à puce étant un objet concret, il est facile pour un individu malveillant de se la procurer et de l’exploiter afin de retrouver les données confidentielles qu’elle protège. Dans ce manuscrit nous nous intéressons à une famille d’attaques en cryptanalyse moderne  , introduite par Kocher [46] en 1996 et appelée attaques par observations. Ces dernières analysent des grandeurs physiques observables (e.g. consommation de courant électrique) lors de l’exécution d’un algorithme cryptographique sur la carte à puce afin d’en extraire de l’information sur les données secrètes. Elles exploitent donc les vulnérabilités du composant et la façon dont l’algorithme est implémenté dessus.

Le rapport de stage ou le pfe est un document d’analyse, de synthèse et d’évaluation de votre apprentissage, c’est pour cela chatpfe.com propose le téléchargement des modèles complet de projet de fin d’étude, rapport de stage, mémoire, pfe, thèse, pour connaître la méthodologie à avoir et savoir comment construire les parties d’un projet de fin d’étude.

Table des matières

1 Introduction générale
1.1 Jargon de la cryptologie
1.2 Histoire de la cryptologie
1.3 Les types de chiffrement en cryptographie
1.4 Contexte, sujet et objectifs de cette thèse, entre académie et industrie
1.5 Organisation du manuscrit de thèse
1.6 Motivations
2 Préliminaires : cryptographie, électronique et cryptanalyse
2.1 Introduction à la cryptographie symétrique
2.1.1 Les mathématiques en cryptographie
2.1.2 Chiffrement par blocs
2.1.3 Description de l’algorithme Advanced Encryption Standard (AES)
2.2 Introduction à l’électronique
2.2.1 Outils cryptographiques
2.2.2 Conception d’un circuit électronique
2.2.3 Portes logiques et technologie CMOS
2.3 Les attaques par observations
2.3.1 Introduction
2.3.2 Analyse de la consommation de courant d’un circuit CMOS
2.3.3 Mise en place d’une attaque par analyse de consommation de courant
2.3.4 Modèles de fuite
2.3.5 Attaques par simple observation (SPA)
2.3.6 Attaques statistiques par observations (DPA/CPA)
2.3.7 Illustration d’une attaque CPA sur l’AES
2.4 Les contre-mesures
2.4.1 La dissimulation
2.4.2 Le masquage
2.5 Conclusion
3 Introduction aux implémentations à seuil
3.1 Introduction aux glitches
3.1.1 Modèles d’attaque, présentation des glitches et conséquences sur la sécurité
3.1.2 Mise en situation des glitches
3.2 Les implémentations à seuil
3.2.1 Principes fondamentaux
3.2.2 Notations et notions
3.2.3 Propriétés
3.2.4 Illustration des propriétés
3.3 L’uniformité, un sujet de recherche ouvert
3.4 Méthode de Nikova et. al
3.5 Conclusion
4 Évaluation monomiale des fonctions polynomiales
4.1 Notre stratégie de masquage
4.2 Fonction de Dirac
4.2.1 Définition
4.2.2 Table de correspondance de la fonction de Dirac
4.2.3 Implémentation à seuil de la fonction de Dirac
4.3 Notre évaluation monomiale sécurisée à l’ordre 1 en présence de glitches
4.4 Illustration de notre construction sur l’AES
4.4.1 Notre implémentation à seuil d’un chiffrement par bloc de l’AES
4.4.2 Notre implémentation à seuil de l’algorithme de cadencement de clé de l’AES
4.5 Extension de notre proposition sur des fonctions polynomiales
4.6 Implémentation matérielle de notre construction de la boîte-S de l’AES sur FPGA et comparaison avec l’état de l’art
4.6.1 Structure de notre code RTL
4.6.2 Exemple de simulation de notre code RTL
4.6.3 Comparaison avec l’état de l’art
4.7 Notre évaluation polynomiale sécurisée à l’ordre supérieur en présence de glitches
4.7.1 État de l’art et nouvelles problématiques
4.7.2 Présentation de la méthode CPRR
4.7.3 Notre approche : de la méthode CPRR à l’implémentation à seuil
4.7.4 Application de notre approche à l’ordre 2 sur la fonction AND
4.7.5 Conclusion et comparaison de notre approche à celle de Nikova et. al
4.8 Conclusion
5 Conclusion générale

Rapport PFE, mémoire et thèse PDFTélécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *