Skip to the content.

Cours de 4TC(A)-CSC : Cryptographie et Sécurité des Communications

François Lesueur (francois.lesueur@insa-lyon.fr, @FLesueur)

Intro | Enjeux | Bases | PKI | Protocoles | Biblio

Ce document décrit le travail à réaliser pendant les séances en autonomie. Pour certaines séances, des ouvertures sont proposées, elles sont à lire sans trop entrer dans les détails, comme des éclairages sur le sujet. Ces ouvertures sont soit obligatoires (doivent donc être consultées), soit facultatives (j’attends que vous lisiez au moins une facultative sur l’ensemble de la matière).

Introduction à la crypto

Pour cette séance, vous devez étudier l’histoire de la cryptographie et de son utilisation. Nous nous baserons pour cela d’abord sur l’article de Wikipedia qui propose un bon historique : WikipediaFR (environ 1 heure).

Ouverture obligatoire : Public Key Cryptography’s Impact on Society: How Diffie and Hellman Changed the World, Paul C. van Oorschot. La lecture n’a pas nécessairement à être exhaustive (selon votre aise en anglais, notamment), faîtes une lecture rapide du plan et des thèmes puis approfondissez les parties de votre choix. (Sur cette lecture, merci de me faire un retour par MP Discord mentionnant si cet article vous a intéressé, s’il est abordable en introduction, le temps que vous y avez consacré et la proportion approximative que vous en avez lu)

Enjeux éthiques

Pour cette séance, nous allons nous intéresser aux enjeux de société liés à la cryptographie. Pour cela, vous devez consacrer le temps de préparation à lire des (parties de) documents suivants (si possible pas tous les mêmes, afin de diversifier vos apports lors de la séance de TD qui suivra) :

Cette liste n’est bien sûr pas exhaustive, toutes les suggestions d’ajout sont les bienvenues.

Cette partie mènera à une discussion/débat lors de la séance de TD.

Bases de la crypto

Vous devez lire le cours de Ghislaine Labouret (jusqu’à la page 27/32). Vous y verrez les notions de cryptographie symétrique (ex AES), asymétrique (ex RSA), hash, chiffrement, signature ainsi que le problème de la distribution des clés. Ce cours est intéressant car bien construit mais assez ancien (2001). Les notions, principes et difficultés n’ont pas changé depuis, les algorithmes et tailles de clés si : cela vous donne une idée de l’évolution à attendre pendant les 10 prochaines années (hors découverte majeure). À vous de chercher quels sont les algorithmes souhaitables aujourd’hui. Pour les tailles de clés, le site Key Length est très pratique.

La suite du travail est d’étudier le fonctionnement de RSA (sans entrer, pour l’instant, dans les fondements mathématiques), par exemple sur Wikipedia. Prêtez une attention particulière à la génération des clés, aux mécanismes de chiffrement et déchiffrement.

Enfin, le programme Bullrun donne un bon aperçu des forces et faiblesses de la cryptographie moderne : la partie mathématique est plutôt sûre, les attaques se concentrent sur l’usage (standardisation), le déploiement, l’implémentation, etc.

Ouverture (obligatoire): La sélection de l’AES

Ouverture (facultative):

Cette section sera suivie d’une heure de questions-réponses (vous devez venir avec une question sur cette partie) puis conclue par le TD2 JDR.

Infrastructures à clés publiques (PKI)

Le rôle d’une PKI est de lier une clé publique à une identité (typiquement, à une chaîne de caractères intelligible comme une URL www.acme.org ou une adresse mail brice@acme.org). L’obtention de clés publiques est un service orthogonal au service de sécurité rendu par la cryptographie (ie, un même service, le mail chiffré et signé par exemple, peut-être rendu avec une approche type CA avec S/MIME ou une approche toile de confiance avec PGP).

Vous devez lire la page anglaise de Wikipedia sur ce sujet, qui présente différentes formes de PKI (autorités de certifications, toile de confiance, SPKI, blockchain). Attention, la page française n’est pas assez détaillée.

Vous devez détailler chacune des différentes formes, avec une attention particulière pour les CA et le Web of trust. La PKI DANE/TLSA est très bien décrite et positionnée dans cet article. Vous devez enfin lire les Criticisms de la page principale (et les détails de PKI security issues with X.509, Breach of Comodo CA, Breach of Diginotar).

Pour comprendre DANE/TLSA qui repose sur DNSSEC, vous devrez peut-être vous rafraichir la mémoire sur le fonctionnement et les différents acteurs du système DNS (typiquement, notions de registry, registrar, gestion d’une zone et mécanisme de résolution récursif). Ces points ont normalement déjà été vus en TC mais vous pouvez par exemple lire Sebsauvage jusque “Dans ce cas, ils sont à la fois registry et registrar.”, Bortzmeyer sections “Le protocole DNS” et “Gouvernance” et/ou d’autres ressources équivalentes.

Ouvertures (facultatives) :

Protocoles cryptographiques

Cette partie ne contient pas de travail personnel (uniquement le CM3 et le TP1). À la suite de ces séances, voici une liste d’ouvertures facultatives :

Bibliographie

Livres :

Films :

xkcd

Licence Creative Commons
Ce(tte) œuvre est mise à disposition selon les termes de la Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 2.0 France.