Chiffrement et Certificats

Histoire

Le chiffre de César

Appelé aussi, chiffrement par décalage, il consiste simplement à décaler d’une valeur prédéfinie les lettres d’un message.

cesar

Problème : facilement déchiffrable, il n’y a que 25 clés possibles.

Le chiffre de Vigenère

Cette fois-ci il s’agit d’un chiffrement par substitution polyalphabétique.

vigenere

Cryptographie mathématique

Claude Shannon est considéré par plusieurs comme le père de la cryptographie mathématique. Il a défini les deux principaux objectifs de la cryptologie : le secret et l’authentification. Il a mis l’accent sur l’exploration du secret et, trente-cinq ans plus tard, G. J. Simmons aborderait la question de l’authentification.

Ressources

Vocabulaire et introduction

Terminologie

  • Cryptographie : Protection d’un message à l’aide d’une clé de chiffrement

  • Cryptogramme : Message chiffré auquel on a appliqué une technique de cryptographie

  • Cryptanalyse : Science qui consiste à déchiffrer un cryptogramme sans posséder la clé, décrypter

  • Cryptage : Anglicisme qui ne veut normalement rien dire

À quoi ça sert ?

« La sécurité est une fonction incontournable des réseaux. Puisqu’on ne voit pas son correspondant directement, il faut l’authentifier. Puisqu’on ne sait pas par où passent les données, il faut les chiffrer. Puisqu’on ne sait pas si quelqu’un ne va pas modifier les informations émises, il faut vérifier leur intégrité. »

Guy Pujolle, « Les Réseaux », Éditions Eyrolles, 2014, p. 641

À quoi ça sert ?

Les principaux objectifs de la cryptographie :

  • Intégrité : Assurer que les données n’ont pas été modifiées lors de leur transmission

  • Authenticité : Vérifier l’identité d’une personne ou d’un ordinateur

  • Confidentialité : Assurer que l’information n’est accessible qu’à ceux dont l’accès est autorisé

Comment on fait ?

Pour atteindre ces différents objectifs :

  • Intégrité des données : Garantie par une « empreinte », obtenue via des fonctions de hachage

  • Authenticité d’un message : Garantie par l’apposition d’une « signature numérique » (empreinte chiffrée)

  • Confidentialité des données : Garantie par le « chiffrement », grâce un algorithme cryptographique

Ressources

Questions ?

Cryptographie symétrique

Définition

On utilise des algorithmes dits symétriques, qui sont publics (cf. exemples), avec des clés secrètes. Afin de pouvoir chiffrer et déchiffrer les données, tous les participants à la communication doivent partager la même clé secrète. D’où le nom « symétrique », la clé est la même de deux côtés d’une connexion.

Exemples d’algorithmes symétriques : AES, IDEA, 3DES, Blowfish, etc.

Avantages / Inconvénients

Comparée à l’asymétrique, la symétrique a les avantages suivants :

  • Simplicité de mise en œuvre

  • Léger en terme de consommation CPU

  • Chiffrement robuste

Malgré ces avantages, le chiffrement symétrique à un inconvénient de taille :

  • L’échange de clé

Fonctionnement

image1
image2
image3
image4
image5
image6
image7
image8
image9

Ressources

Questions ?

Cryptographie asymétrique

Définition

On utilise des algorithmes dits asymétriques, qui sont publics (cf. exemples), avec une paire de clés : une clé publique et une clé privée. La particularité des algorithmes asymétriques est qu’un message chiffré avec une clé publique n’est lisible que par le propriétaire de la clé privée correspondante.

Exemples d’algorithmes asymétriques : RSA, El Gamal, etc.

Avantages / Inconvénients

Par rapport au chiffrement symétrique, l’asymétrique à cet avantage :

  • De pouvoir communiquer via un canal non sécurisé

Les avantages du symétrique s’opposent aux inconvénients de l’asymétrique :

  • Complexité de mise en œuvre

  • Davantage consommateur en ressources

  • Chiffrement moins robuste

Fonctionnement

image1
image2
image3
image4
image5
image6
image7
image8

Ressources

Questions ?

Cryptographie hybride

Définition

Pour faire de la cryptographie hybride, on chiffre le contenu par chiffrement symétrique avec une clé de session aléatoire, et on chiffre la clé de session par chiffrement asymétrique avec la clé publique du destinataire.

Exemples de technologies mettant en œuvre de la cryptographie hybride : PGP, TLS

Avantages / Inconvénients

On a donc les avantages du symétrique et de l’asymétrique suivants :

  • Communication via un canal non sécurisé

  • Consommation de ressources raisonnable

  • Chiffrement robuste

Toutefois un inconvénient demeure :

  • Complexité d’autant plus grande

Fonctionnement

image1
image2
image3
image4
image5
image6
image7
image8
image9
image10

Ressources

Questions ?

Fonction de hachage

Définition

Une fonction de hachage est une fonction qui convertit un grand ensemble en un plus petit ensemble, appelé « empreinte ». Il est impossible de la déchiffrer pour revenir à l’ensemble d’origine, ce n’est donc pas une technique de chiffrement.

Exemples de fonctions de hachage : MD5, SHA, SHA-1, SHA-2, etc.

Fonctionnement

On applique une fonction de hachage sur les données, pour obtenir en sortie l’empreinte des données.

Fonction de hachage

Ressources

Questions ?

Signature numérique

Définition

La signature numérique est un mécanisme permettant de garantir l’intégrité d’un document électronique et d’en authentifier l’auteur, par analogie avec la signature manuscrite d’un document papier.

Signature

image1
image2
image3

Authentification

image4
image5
image6
image7

Ressources

Questions ?

Infrastructure à clé publique

Définition

Une PKI (Public Key Infrastructure) est :

  • un ensemble de composants physiques,

  • de procédures humaines

  • et de logiciels en vue de gérer le cycle de vie des certificats numériques.

Une PKI fournit des garanties permettant de faire confiance à un certificat signé par une autorité de certification.

Certificat numérique

Le certificat peut être vu comme une carte d’identité numérique. Il est utilisé principalement pour identifier et authentifier une personne physique ou morale, mais aussi pour chiffrer des échanges. Il est signé par un tiers de confiance qui atteste du lien entre l’identité physique et l’entité numérique. Le standard le plus utilisé pour la création des certificats numériques est le PKIX, une adaptation de X.509.

Autorité de Certification

Une CA (Certificate Authority = Autorité de Certification) est un tiers de confiance permettant d’authentifier l’identité des correspondants.

Une autorité de certification délivre des certificats décrivant des identités numériques et met à disposition les moyens de vérifier la validité des certificats qu’elle a fourni.

Exemple : LetsEncrypt

Autorité de Certification

La clé privée de la CA est utilisée pour signer tous les certificats émis, de sorte que sa sécurité est essentielle pour maintenir l’ensemble de la PKI en sécurité.

Pour cette raison, il est fortement recommandé que la structure de la CA soit conservées sur un système sécurisé dédié à cet usage ; ce n’est pas une bonne idée de mélanger la CA avec l’entité finale demandeuse de certificats, telle que les clients ou les serveurs (VPN, Web, etc.).

Fonctionnement

image1
image2
image3
image4
image5
image6
image7

Avantages / Inconvénients

L’avantage d’une PKI/CA est le suivant :

  • Permet une gestion centralisée des clés publiques

Cependant, pour les CA publiques, le gros inconvénient est que :

  • Il est nécessaire de faire confiance à tous les maillons de la chaîne

DANE / TLSA

Pour pallier à des attaques de type MITM, ou au manque de confiance accordable aux CA, il existe le protocole DANE. Celui-ci permet de publier dans le DNS (sécurisé à l’aide de DNSSEC) des enregistrements de type TLSA.

Un enregistrement TLSA peut indiquer la CA à interroger, ou contenir le certificat lui-même (ou son empreinte). Ça permet donc de mettre une contrainte sur la CA, ou de se passer complètement d’une CA.

Inconvénient : potentiellement peu performant, très peu supporté et déployé…​

CAA

DNS Certification Authority Authorization (CAA) est une spécification basée sur le DNS permettant au titulaire d’un nom de domaine de lister les CA qui sont autorisées à délivrer des certificats pour ce domaine. Ce mécanisme n’est pas censé servir de vérification supplémentaire pour un client TLS mais plutôt de confirmation/refus aux autorités de certification dans leurs processus d’émission de certificat.

Inconvénient : dépend du bon vouloir des CA à s’y conformer…​

Ressources

Questions ?

TLS

Définition

TLS (remplaçant de SSL) est un protocole de sécurisation des échanges sur Internet. Dans la pile de protocole TCP/IP, il se situe entre la couche application et la couche transport TCP.

Une application TCP utilisant TLS fonctionne sur un nouveau port. Certaines applications peuvent fonctionner sur le même port grâce au mécanisme StartTLS, on parle alors de « chiffrement opportuniste », la communication peut débuter en clair et passer en chiffrée à l’initiative du client ou du serveur si les deux le supportent.

Fonctionnement

image1
image2
image3
image4
image5
image6

Ressources

Questions ?

TP

Veille