Université de Paris 12 – Créteil
Master Sécurité des Sytèmes d’Informations
Emmanuel Bresson
Emmanuel(dot)Bresson(at)sgdn(dot)gouv(dot)fr
Examen: le mercredi 7 mai de 13:00 a 15:00 [ Corrigé ]
[ Introduction | Objectifs | Plan du cours | Exercices ⋆| Bibliographie ]
Introduction au cours
La cryptologie est, littéralement, la science du secret. Discipline millénaire mais
longtemps réservée aux diplomates et aux militaires, elle est depuis trente ans une
thématique de recherche en plein essor. L’objectif de ce module est d’en donner un
aperçu global, afin d’acquérir la maîtrise des concepts fondamentaux, et
d’étudier à travers plusieurs exemples comment ces concepts peuvent être mis en
oeuvre pour la sécurisation des applications — la cryptologie est avant tout un
outil, et non une fin.
Après un bref aperçu historique permettant de comprendre comment
sont nées les notions utilisées aujourd’hui, les fonctionnalités de base
(confidentialité, authentification, cryptographie à clé publique, etc) seront
présentées et formalisées mathématiquement. Cette formalisation se base sur la
théorie de la complexité, et fait appel à des notions d’algorithmique et de
probabilités.
Les principaux cryptosystèmes (RSA, AES, Diffie-Hellman, etc.) seront
également décrits en détail, et leur sécurité, analysée à la lumière de cette
formalisation. On montrera comment certains systèmes sont prouvés sûrs, et
comment d’autres ont pu être cassés. La description et l’analyse des systèmes à
clé publique utilisent intensivement les notions d’algèbre discrète (arithmétique
modulaire, corps finis, etc.)
La fin du module élargira la perspective en donnant des applications concrètes
de ces protocoles: certificats, sécurisation de couches réseau (IPSEC, SSL/TLS),
ou des attaques effectivement réalisées (MD5, DES)
Objectifs pédagogiques
-
Savoir manipuler les concepts-clés de la cryptologie :
-
confidentialité, authenticité, intégrité. Être capable de contribuer à
l’analyse de sécurité globale d’un système pour en définir les besoins
et examiner la pertinence des menaces.
-
Connaître les principaux algorithmes utilisés en cryptographie :
-
pour le chiffrement, la signature, l’authentification de données et
l’identification de personnes. Savoir quelles sont les avantages et
inconvénients de chacun des mécanismes et être capable de discuter
de leur sécurité en fonction des propriétés que l’on souhaite
obtenir. Être capable de dimensionner les paramètres de sécurité
cryptographiques.
-
Avoir connaissance des principales applications de la cryptologie
-
dans les protocoles Internet et les standards d’aujourd’hui. Être
sensibilisé aux problèmes d’ingénierie posés par l’implantation, le
déploiement et l’utilisation d’algorithmes cryptographiques.
Plan du cours
Pour une organisation plus facile, les cours répartis sur plusieurs séances ont été numérotés
avec un numéro commun et une lettre distincte pour chaque séance (2a,2b,etc). Un pdf de la
séance complète sera ensuite disponible.
- Introduction [ P12-M1-Crypto_1.pdf ]
- Définitions: première approche
- Histoire de la cryptographie
- Confidentialité, authenticité, intégrité
- Clé secrète, clé publique
- Bibliographie
- Rappels mathématiques [ P12-M1-Crypto_2.pdf ]
- Algorithmique
- Complexité, ordres de grandeur
- Théorie des nombres
- Arithmétique modulaire
- Le chiffrement symétrique [ P12-M1-Crypto_3.pdf ]
- Généralités
- Le DES (Data Encryption Standard)
- L’AES (Advanced Encryption Standard)
- Securité des chiffrements par blocs
- Le chiffrement asymétrique [ P12-M1-Crypto_4.pdf ]
- Le chiffrement asymétrique
- Le cryptosystème RSA
- Les notions de sécurité
- Le cryptsosystème ElGamal
- Modes opératoires [ P12-M1-Crypto_5.pdf ]
- Modes opératoires symétriques
- Sécurité des différents modes
- Modes opératoires asymétriques
- Chiffrement hybride
- Échange de clés et authentification [ P12-M1-Crypto_6.pdf
]
- Principes généraux
- Message Authentication Codes (MACs)
- MACs à partir de block ciphers
- MACs à partir de fonctions de hachage
- Échange de clés authentifié
- Protocole SSL/TLS
- La signature électronique [ P12-M1-Crypto_7.pdf ]
- Introduction au problème
- Signature et fonctions de hachage
- Sécurité des signatures
- Signature RSA
- Signatures basées sur le logarithme discret
- Le chiffrement par flot [ P12-M1-Crypto_8.pdf ]
- Définitions
- Chiffrement RC4
- Exemple: (in)sécurité du WEP (sans fil)
- L’identification [ P12-M1-Crypto_9.pdf ]
- Principes de l’identification
- Méthodes non zero-knowledge
- Le Zero-Knowledge
- Protocole de Fiat-Shamir
- Protocole de Guillou-Quisquater
- Protocole de Schnorr
Exercices corrigés
Bibliographie
Pour un aperçu général (non technique):
- J. Stern, La science du secret (200 p.), éd. Odile Jacob, 1998.
Sur l’histoire de la crypto:
- S. Singh (traduction C. Coqueret), Histoire des codes secrets (500 p.),
Livre de Poche, 2001.
Plus techniques (plus proches du cours):
- B. Schneier (traduction L. Viennot), Cryptographie appliquée (840 p.),
Vuibert, 2001.
- D. Stinson (traduction S. Vaudenay, P. Junod, G. Avoine), Cryptographie:
Théorie et Pratique (330 p.), Vuibert, 2003.
Pour approfondir:
Sur la sécurité en général: