Sécurisation des algorithmes de couplages contre les attaques physiques

L’évolution des besoins en sécurité de l’information

Le besoin de protéger une information a toujours existé. Depuis l’Antiquité jusqu’à la fin du xixe siècle, l’objectif premier est de protéger l’information contenue d’une communication entre deux entités. Au fil des siècles, la sécurité de l’information, au sens large, a évolué. Il ne s’agit plus forcément de sécuriser une communication entre deux entités, mais d’échanges entre des systèmes qui communiquent. La cryptographie peut être décrite en trois âges : l’âge artisanal, l’âge mécanique et l’âge mathématique.

Âge 1 : le message secret

L’exemple du premier secret connu remonte à l’Antiquité. Un potier voulant conserver une recette secrète avait gravé une recette en supprimant des consonnes et en modifiant l’orthographe des mots [Kah96]. Au ie siècle av. J.-C., Jules César souhaitait communiquer de façon secrète avec ses armées. Le premier code est né, il s’agit d’une substitution monoalphabétique, la faible alphabétisation de la population de l’époque la rendant suffisamment efficace. Les besoins évoluent, la transmission à distance est une problématique que le carré de Polybe peut résoudre [pol04]. L’utilisation d’un carré permettait la substitution homophonique et les nombres obtenus étaient transmis au moyen de torches. Par exemple, la lettre e correspond à la position (1, 5) sur le carré, il suffit donc d’allumer une torche à droite et cinq à gauche pour la transmettre. Au xvie siècle, Vigenère publie une méthode introduisant la notion de clef [dV86]. Une clef est généralement un mot ou une phrase. Le chiffrement d’un texte, se fait en prenant chacun des caractères, et en le substituant à l’aide d’une lettre de la clef. Plus la clef est longue et variée et « plus » le message chiffré est illisible. Les plus grands secrets pouvaient même être chiffrés avec une œuvre littéraire complète comme clef. Il suffisait pour les deux correspondants d’avoir en possession un exemplaire du même livre pour s’assurer de la bonne compréhension des messages. L’utilisation de ce code est devenue obsolète en 1863, due à l’analyse fréquentielle faite par Kasiski [Kas63].

Âge 2 : protéger le système de communications

Lors de la Première Guerre mondiale, des messages étaient chiffrés avant leurs transmissions, par télégrammes notamment. Cependant, les méthodes de chiffrement et de déchiffrement étaient encore manuelles et donc très longues (plusieurs heures). La première automatisation pour chiffrer et déchiffrer des messages provient d’Enigma [Ber73]. Cette machine électromécanique crée des substitutions d’une lettre vers une autre. Elle a été utilisée pendant la Seconde Guerre mondiale. La première évolution majeure intervient avec les réseaux de communication du xixe siècle. Ces réseaux sont par exemple : le réseau ferroviaire, les canaux fluviaux, le télégraphe optique et électrique. Cela s’accompagne d’une professionnalisation de la cryptologie, et du développement de la mécanisation. La théorie de l’information introduite par Claude Shannon permet de démontrer que le one time pad, ou masque jetable est un système inconditionnellement sûr [Sha49]. Cette preuve est valide sous les conditions suivantes :

• La clef doit être de même longueur que le message.

• La clef doit être aléatoire.

• La clef est à usage unique.

Le contenu d’une communication reste l’information à protéger, mais l’importance est aussi donnée à la capacité à échanger des informations de manière fiable et non disséminée sur un réseau de communications. La cryptologie passe maintenant par des moyens de calcul automatiques (ordinateurs, microprocesseurs). Par ailleurs, elle est de moins en moins une activité confidentielle et devient académique.

Âge 3 : le réseau mondial 

La création et le développement de l’internet permettent la mise en réseau des ordinateurs à grande échelle. Elle est liée à la mondialisation des échanges, à un changement d’échelle et à la généralisation des réseaux de communications. Par exemple, des acteurs économiques doivent traiter d’affaires, de transactions, sans se connaître ni avoir eu de liaisons préalables. Il est alors question d’échanger des clefs à grande échelle, les méthodes permettant cela reposent sur des problèmes mathématiques difficiles, comme la factorisation des entiers, qui est en pratique impossible lorsque le nombre à factoriser devient trop grand [KAF+10]. On ne parle plus que de sécurité calculatoire. Une théorie calculatoire de la sécurité se développe, certaines branches des mathématiques comme la théorie des nombres ou la géométrie algébrique sont utilisées. Il s’agit d’enrayer la course illimitée entre le codeur et le casseur de code pour, dès la conception d’un nouveau procédé, l’assortir d’arguments attestant de sa sécurité qui assurera la confiance de ses utilisateurs.

Aujourd’hui, nous entrons dans une nouvelle ère. Il faut en effet prendre en considération que le nombre d’objets communicants est en train d’exploser. La gestion de la communication de ces objets impose aux cryptologues de revoir ce qui était vu pour acquis. Par exemple : les systèmes nomades à très faibles ressources doivent embarquer des systèmes de chiffrement très économes.

Cryptologie

Le mot cryptologie provient du grec kryptos (caché) et logos (science), il signifie littéralement science du secret et désigne l’ensemble des techniques permettant de rendre indéchiffrable un message à l’aide d’un code secret pour une autre personne que son émetteur ou son destinataire. Cette définition se décline en deux notions :
• La cryptographie : qui est la science des écritures secrètes et des documents chiffrés.
• La cryptanalyse : qui désigne les techniques mises en œuvre pour tenter de déchiffrer un message chiffré dont on ne connaît pas la clef de chiffrement.

Sécuriser un système d’information nécessite la prise en compte de ces deux concepts fondamentaux afin de répondre aux besoins de :

• Confidentialité.
• Intégrité.
• Authenticité.

Cryptographie

Peu importe l’application pour laquelle il est développé, l’algorithme cryptographique doit respecter un des principes de Kerckhoffs (xixe siècle, [Ker83]):

« La sécurité d’un chiffré doit dépendre seulement de la clef de chiffrement et non pas de la méthode de chiffrement. » .

Dans la suite, nous allons aborder les méthodes de cryptographie en deux segments : la cryptographie symétrique et asymétrique.

Cryptographie symétrique
La cryptographie symétrique se nomme aussi cryptographie à clef secrète. Deux entités qui souhaitent communiquer de manière confidentielle chiffrent leurs messages avec un secret commun. Seule la connaissance de ce secret permet de déchiffrer les chiffrés.

Chiffrements par blocs Le besoin de protéger les communications et les données
personnelles mémorisées sur les ordinateurs pousse en 1973 le NBS (National Bureau of Standards) à publier un appel à contributions pour définir un algorithme de chiffrement standard, qui serait utilisable par les entreprises qui ont besoin de protéger les fichiers et les communications sensibles. Cet appel d’offres a conduit à la standardisation en 1976 d’un algorithme de chiffrement pour l’usage civil, le Data Encryption Standard (DES), et d’une publication en janvier 1977 [S +77]. Cette première publication à grande échelle d’un algorithme de chiffrement marque l’entrée de la cryptologie dans le domaine public et finalement la première réalisation effective du principe de Kerckhoffs. Le DES est un chiffrement par blocs, les données à chiffrer sont des suites de bits regroupés en blocs de 64 bits. Cet algorithme est devenu obsolète en raison du nombre de possibilités que peut prendre la clef utilisée. La puissance de calcul des ordinateurs modernes permet d’énumérer toutes les possibilités, cette méthode s’appelle attaque par force brute. L’Advanced Encryption Standard (AES) [RD01] a été standardisé afin de le remplacer [NBB+01]. D’autres algorithmes de chiffrements par blocs ont été proposés : Blowfish, Serpent ou encore Twofish. Pour répondre à des besoins de ressources très restreintes, la cryptographie dite « légère » est aussi en cours d’études .

Chiffrements par flots Contrairement aux chiffrements par blocs, les algorithmes de chiffrement par flots arrivent à traiter les données de longueur quelconque et n’ont pas besoin de les découper. Ils répondent souvent à des besoins de traitement des données à la volée. Parmi les exemples les plus courants, on note l’algorithme A5/1, il est utilisé dans les téléphones mobiles de type GSM pour chiffrer la communication par radio entre le mobile et l’antenne-relais la plus proche [BGW99]. RC4 est lui utilisé notamment par le protocole WEP du Wi-Fi [HHHS00]. Py est une alternative plus sûre est plus performante que RC4. Enfin, notons que le protocole Bluetooth utilise le chiffrement par flots E0 [Vai00]. Les algorithmes de cryptographie symétriques sont utilisés pour des applications nécessitant des performances. L’inconvénient de l’utilisation de la cryptographie à clef secrète est que chaque paire d’entités qui veut communiquer de manière sécurisée se partage une clef. Ainsi, pour un réseau à n utilisateurs, on compte n2 clefs au total. Le nombre et la transmission des clefs sont des enjeux capitaux.

Distribution des clefs Un moyen pour distribuer des clefs symétriques est le protocole Kerberos [NT94]. Il crée des clefs de session qu’il transmet à deux participants, qui vont pouvoir communiquer de manière sécurisée. Cepandant un des inconvénients de Kerberos est que toutes les machines du réseau doivent être synchronisées, à cause de l’utilisation de tickets. Ces tickets, qui ont une validité de 8 heures environ, laissent la possibilité d’une attaque par répétition [BM90]. D’autre part, la machine serveur Kerberos doit être parfaitement sûre, et ne doit jamais tomber, faute de quoi il n’y aura plus aucun accès aux services et donc aucune distribution.

Cryptographie asymétrique 

La notion de cryptographie asymétrique – aussi désignée : cryptographie à clefs publiques (Public Key Cryptography (PKC)) – est apparue au milieu des années 70 lorsque Diffie et Hellman [DH76] ont publié le premier article sur la cryptographie à clef publique.

Définition de la cryptographie asymétrique L’idée de la cryptographie asymétrique est l’utilisation d’une fonction à sens unique avec trappe. Une telle fonction est facilement calculable, mais le calcul de son inverse n’est pas réalisable en temps raisonnable sauf pour celui qui possède la clef (privée). Dans la cryptographie à clefs publiques, une entité A a deux clefs :
• sa clef privée, qu’elle garde secrète et qui sert à déchiffrer les chiffrés qui lui sont destinés,
• sa clef publique, celle-ci est connue de tous et permet de chiffrer des messages, que seul A pourra déchiffrer.

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
1.1 L’évolution des besoins en sécurité de l’information
1.1.1 Âge 1 : le message secret
1.1.2 Âge 2 : protéger le système de communications
1.1.3 Âge 3 : le réseau mondial
1.2 Cryptologie
1.2.1 Cryptographie
1.2.2 Cryptanalyse
1.3 Positionnement de la thèse
1.4 Plan de la thèse
1.5 Communications
2 Cryptographie à base de couplage
2.1 Prérequis mathématiques
2.1.1 Introduction aux corps finis
2.1.2 Arithmétique des corps finis
2.1.3 Arithmétique sur les extensions de corps
2.1.4 Courbes elliptiques
2.1.5 Fonctions de hachage sur courbe elliptique
2.1.6 Couplages
2.2 Implémentation
2.2.1 Algorithme de Miller
2.2.2 Équations de tangentes et de lignes
2.2.3 Exponentiation finale
2.2.4 Les couplages optimaux
2.3 Protocoles à base de couplage
2.3.1 Problèmes du logarithme discret, Diffie–Hellman et bilinéarité
2.3.2 Échange triparti
2.3.3 Chiffrement basé sur l’identité
2.3.4 Signature courte
2.3.5 Chiffrement par attributs
2.4 Sécurité des protocoles à base de couplages
3 Attaques par canaux auxiliaires
3.1 Généralités sur les attaques par observations
3.1.1 Fuites par canaux auxiliaires
3.1.2 Exploitation des fuites
3.2 Attaques par canaux auxiliaires : outils de cryptanalyses
3.2.1 Attaques de bases
3.2.2 Attaques avancées
3.3 État de l’art des attaques contre les couplages
3.3.1 Synthèse des attaques contre les couplages
3.3.2 Synthèse des contre-mesures
3.4 Objectifs de la thèse
4 Amélioration des attaques par canaux auxiliaires contre les couplages
4.1 Contexte et présentation théorique des attaques
4.1.1 Attaque de l’équation de la tangente
4.1.2 Attaque de la multiplication modulaire
4.2 Études théoriques de la multiplication de mots machine
4.2.1 Formalisation du taux de succès
4.2.2 Méthodes diviser pour mieux régner
4.2.3 Effet du paramètre α
4.3 Réalisation pratique des attaques
4.3.1 Description de la cible matérielle et du banc d’attaque
4.3.2 Algorithmique ciblée
4.3.3 Attaque CPA verticale
4.3.4 Attaques par profilage
4.3.5 Conséquences du choix P ou Q secret
4.4 Conclusion
5 Conclusion

Lire 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 *