Étude et Mise en œuvre d’une technique d’attaque sur le crypto système à clefs publiques RSA

« Montrez aux gens les problèmes, puis montrez-leur les solutions ils seront incités à agir » Bill GATES.

Le développement fulgurant des réseaux informatiques, privés ou publics, provoque une masse de plus en plus importante de données sauvegardées et transmises occasionnant ainsi de nouvelles exigences en matière de sécurité. Et une société, où la dépendance à un système informatique est considérable, la sécurité devient une préoccupation cruciale. Dans ce contexte, la cryptographie est un apport vital de la sécurité informatique moderne. Cependant, tout utilisateur non-éclairé peut ne pas discerner son intérêt. L’objectif principal de ce mémoire est d’introduire différentes notions d’attaques, d’étudier et de mettre en œuvre une attaque sur le crypto système RSA.

En général, la cryptographie est définie comme une technique de protection des informations basée sur les mathématiques pour assurer des services de sécurité, l’intégrité, l’authentification, la confidentialité et la non-répudiation. Quant à la cryptanalyse, c’est l’ensemble des techniques cherchant à percer le secret des informations sans connaitre les clés utilisées. Ces deux branches sont regroupées sous le terme générique de cryptologie qui veut dire « science du secret » Chronologiquement, la cryptographie et la cryptanalyse ont toujours été adoptées et analysées pour et par les armées afin de garantir la confidentialité des transmissions notamment radioélectriques et d’amasser des informations sensibles sur ses adversaires. Actuellement, le développement important des infrastructures numériques pour l’échange des informations, le stockage des données font de la cryptologie l’un des moyens les plus sûrs pour assurer la sécurité des informations. De nos jours, les algorithmes cryptographiques se spécifient selon les contextes de leur emploi.

La cryptographie se subdivise en deux grandes familles : la cryptographie à clé secrète ou symétrique qui exige que les deux parties utilisent une clé secrète pour communiquer entre elles et la cryptographie à clé publique ou asymétrique qui requiert une paire de clés. Dans ce dernier cas, chacune des parties bénéficie d’un couple de clés dont l’une des clés n’est connue que de son seul utilisateur (clé privée) et tandis que l’autre est rendue publique (clé publique). Son organisation se rapproche à celle d’un annuaire : si nous considérons la clé publique comme étant le numéro d’un utilisateur, il est possible de lui communiquer des informations qu’il ne pourra retrouver que s’il détient la bonne ligne téléphonique c’est-à-dire la clé privée associée. Ces deux types de science présentent aussi des questionnements aux aspects très différents. En général, les primitives fournies par la cryptographie à clé secrète sont plus performantes en termes d’exécution d’opérations et de stockage que celles fournies par la cryptographie à clé publique. Cette dernière répond à un besoin majeur de la cryptographie symétrique : le partage sécurisé de la clef entre deux correspondants, afin d’éviter l’interception de cette clef par une personne tierce non autorisée et donc la lecture des données chiffrées sans autorisation. Cependant, la cryptographie symétrique pose des inconvénients parce que la distribution des clés est très ardue.

Cadre Théorique

Le cadre théorique de notre travail s’articule autour de la présentation de la problématique, des objectifs de l’étude ainsi que des hypothèses.

Problématique

Les systèmes informatiques occupent une place prédominante dans les entreprises, dans les administrations et dans le quotidien des particuliers. Et avec l’essor de l’Internet, par les nombreux avantages qu’il offre et la diversité des services rendus accessibles, nous remarquons un énorme besoin de sécurité de l’information. Besoin soulevé par notre dépendance croissante aux systèmes informatiques dans divers aspects de la vie quotidienne et leur omniprésence. Et dans les efforts des gouvernements pour assurer la sécurité, ceux-ci ont recours à du personnel pour mettre en place des structures de chiffrement et de cryptanalyse. Pour arriver à décrypter un message chiffré avec un cryptosystème robuste, il faut plusieurs années (AES, Triple DES, RSA, ElGamal…). C’est d’ailleurs sur cet élément que l’on juge la fiabilité du chiffrement. D’où le choix de RSA par plusieurs organisations pour assurer la protection des données. En effet, RSA est jugé indécryptable en termes de temps et de moyens humains et matériels. En effet, si multiplier deux grands nombres premiers p et q entre eux est relativement rapide pour n’importe quel ordinateur, factoriser le produit – c’est-à-dire retrouver p et q à partir de leur produit – est un problème difficile à résoudre, voir complexe, surtout lorsque la taille des nombres augmente. Notez que nous parlons ici d’un nombre composé de plusieurs centaines de chiffres.

Puisqu’il n’existe pas (encore) d’algorithme permettant de simplifier à l’extrême cette tâche, il faut alors chercher les nombres p et q en testant des combinaisons les unes après les autres et en vérifiant qu’il s’agit bien de nombres premiers. Et même avec des ordinateurs ultrapuissants, ce travail demande beaucoup de temps puisque la durée augmente de manière exponentielle avec la taille des nombres. Cependant, en dépit des efforts conséquents qui ont été investis depuis un certain nombre d’années pour tenter d’endiguer les problèmes de sécurité, force est de constater que le nombre de vulnérabilités dans les systèmes informatiques et, de surcroît, les activités malveillantes qui essaient et qui réussissent à les exploiter, continuent régulièrement à se multiplier. Surtout dans un monde où la cryptographie repose sur des calculs mathématiques et sur le temps nécessaire à les mener à bien, la question n’est pas de savoir si un code sera cassé, mais quand.

Actuellement, avec l’avènement de l’informatique quantique [17] qui est révolutionnaire, d’ambitieux programmes sont en cours. En effet, elle pourrait permettre de résoudre des problématiques d’ordre sanitaires et même environnementales hors de portée des ordinateurs classiques. A cela s’ajoute le fait qu’elle puisse prendre moins de temps à décrypter des algorithmes bien établies (des milliards d’années pour un ordinateur classique) comme RSA. Elle utilise les principes de la mécanique quantique, à savoir la superposition et l’intrication [14], et repose sur les propriétés physiques du milieu porteur de la communication. De manière très générale, la cryptographie quantique permet de générer des clefs, localement ou à distance puis de les utiliser dans des protocoles de chiffrement (symétriques ou asymétriques) classiques, ou à terme, post-quantiques. Concrètement, il s’agit de coder l’information que l’on souhaite échanger sur l’état d’un système physique quantique (un état correspond à une information). La méthode la plus utilisée actuellement utilise la polarisation de la lumière, via les photons, particules vectrices de lumière. Très utile pour partager des clefs privées, cette méthode, appelée Distribution quantique de clefs (QKD) [12], permet aussi de détecter très efficacement les « intrusions » sur un réseau de communication.

Toutefois, mis à part la cryptographie quantique [3] qui permet d’établir des protocoles de cryptographie pouvant atteindre des niveaux de sécurité prouvés ou jugés non atteignables en utilisant que des phénomènes classiques (non-quantiques), les spécialistes ont conçu la cryptographie post quantique [18] qui permet de garantir la sécurité de l’information face à un attaquant disposant d’un calculateur quantique [7]. Mais son nom prête à confusion car la cryptographie post quantique n’utilise pas des phénomènes quantiques. Et rien ne permet d’affirmer avec certitude que les nouveaux algorithmes y afférents ne pourront pas être contournés par les ordinateurs quantiques. En l’effet, les algorithmes quantiques de Shor, de Grover et de Simon [4] étendent les capacités par rapport à un attaquant ne disposant que d’un ordinateur classique. A l’heure actuelle, s’il n’existe pas de calculateur quantique représentant une menace concrète sur la sécurité des cryptosystèmes déployés, ces algorithmes permettent conceptuellement de résoudre certains problèmes calculatoires sur lesquels sont fondés plusieurs primitives populaires. Même si les scientifiques cherchent à préserver la sécurité de RSA (algorithme de Shor [9]), il faut tenir compte du fait que les attaquants seront prêts à user de tous les moyens pour venir à bout de RSA.

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

INTRODUCTION GENERALE
Chapitre I : Cadre Théorique
I-1- Problématique
I-2- Objectifs
I-3- Hypothèses
I-4- Résultats attendus
Chapitre II : Cadre Méthodologique
II-1- Présentation Générale
II-1-1- Rappels sur la cryptologie
II-1-1-1- Stéganographie
II-1-1-2- Cryptographie
II-1-1-2-1. Terminologie
II-1-1-2-2. Quelques repères historiques
a- Antiquité
b- Age technique (Systèmes mécaniques et électromécaniques)
c- Age scientifique
II-1-1-2-3. Objectifs Fondamentaux et Qualités d’un crypto-système
II-1-1-2-4. Les principaux concepts cryptographiques
a- Introduction
b- Principe de la substitution
c- Principe de la transposition
d- Principes de Kerckhoff
e- La cryptographie symétrique
e-1- DES
– CHIFFREMENT
– DECHIFFREMENT
e-2- Triple DES
e-3- AES
– CHIFFREMENT
– DECHIFFREMENT
f- La cryptographie asymétrique (ou à clefs publiques)
f-1- Diffie-Hellman : (Système de distribution de clefs secrètes-Secret Sharing)
f-2- Le système de chiffrement RSA (Rivest-Shamir-Adleman)
f-2-1- RSA : Principe de fonctionnement et choix des clés
f-2-2- Quelques rappels
– PKCS 1
– OAEP : Optimal Assymetric Encryption Padding
g- La sécurité des algorithmes
II-1-1-3- Cryptanalyse
II-1-1-3-1. Niveau de résistance
II-1-1-3-2. Familles d’attaques cryptanalytiques
a- Attaques cryptanalytiques génériques
b- Attaques modernes
II-1-1-3-3. Autres propriétés analysées
II-1-2- Les différentes techniques d’attaques sur le crypto système à clés publiques RSA
II-1-2-1- Classification des attaques
II-1-2-2- Stratégies d’attaques du système RSA
II-1-2-2-1- Attaques physiques
II-1-2-2-2 Attaques de protocoles
II-1-2-2-3 Problème Mathématique
II-1-2-3- Attaques de RSA
II-1-2-3-1 Factorisation de grands entiers
a- Méthode P-1 de Pollard
b- Méthode Rho de Pollard
c- Méthode de Fermat
II-1-2-3-2- Attaques élémentaires de RSA
a- Cryptanalyse de RSA connaissant ?(n)
b- Utilisation du même module et deux exposants différents
c- Utilisation de modules différents pour le même message
II-1-2-3-3- Cryptanalyse de RSA contre un faible exposant privé (fractions continues)
a- Attaque de Wiener
II-1-2-3-4- Attaques de RSA contre un faible exposant public
a- Méthode de CopperSmith
b- Attaque de Hastad (Broadcast)
c- Franklin-Reiter
II-1-2-3-5- Attaques sur les implémentations de RSA
a- Attaques par fautes (Random Faults)
b- Attaque de Bleichenbacher (attaque de texte chiffré adaptative)
c- Attaque par chronométrage (Timing Attacks)
II-1-2-3-6- Conclusion
II-2- Les méthodes de collecte des informations
La recherche documentaire
II-3-Les méthodes d’analyse des résultats
II-3-1- Portée et Objet
II-3-2- Principes
II-3-3- Interprétation des résultats
II-3-4- Présentation des résultats
II-3-5- Indicateurs de qualités
II-4- Simulation de l’attaque par factorisation
II-4-1- Ressources utilisées
II-4-1-1- Ressources Matérielles
II-4-1-2- Ressources Logicielles
II-4-2- Conception
II-4-3- Présentation de l’application
a- Objectif
b- Description de l’application
c- Scénarios de l’utilisation
Chapitre III : Cadre Analytique
III-1- Analyse
III-1-2- Résultats
III-1-2-1- Factorisation de n
III-1-2-2- Signature
III-1-2-3- Discussion
III-1-2-4- Conclusion
III-2- Identification des solutions alternatives
III-3- Evaluation des solutions : Critères et recommandations
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 *