๐ FICHE DE COURS รLรVEโ๏ธ
"Chiffrement Asymรฉtrique ยท Diffie-Hellman ยท Chiffrement Hybride"โ๏ธ
Version 1.0 โ BTS SIO SISR โ Annรฉe 1 โ Semaine 14
PARTIE I โ Chiffrement Asymรฉtrique : Complรฉments Essentielsโ๏ธ
I.A. Rรฉcapitulatif et Positionnementโ๏ธ
๐ Texte
RรCAPITULATIF CRYPTOGRAPHIE (S11 + S13 + S14)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
SYMรTRIQUE (S11) ASYMรTRIQUE (S13 + S14)
โโโโโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
1 clรฉ secrรจte partagรฉe 2 clรฉs mathรฉmatiquement liรฉes
AES-128/192/256 RSA, ECDSA, ECDH, ED25519
Trรจs rapide (10 Gb/s) Lent (100ร plus lent)
Chiffre les donnรฉes รchange de clรฉs + signatures
Problรจme : comment Solution : pas besoin de canal
partager la clรฉ ? sรฉcurisรฉ prรฉalable
HYBRIDE (pratique rรฉelle : HTTPS, VPN, SSH, GPG)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Asymรฉtrique โ รchanger la clรฉ secrรจte de session (1 fois)
Symรฉtrique โ Chiffrer toutes les donnรฉes (en continu)
= Sรฉcuritรฉ du asymรฉtrique + Vitesse du symรฉtrique
I.B. RSA : Fonctionnement Conceptuelโ๏ธ
๐ Texte
RSA (RivestโShamirโAdleman, 1977)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
FONDEMENT MATHรMATIQUE
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Problรจme de la factorisation de grands entiers :
Facile : 17 ร 23 = 391 (quelques nanosecondes)
Difficile : 391 = ? ร ? (chercher les facteurs premiers)
En pratique :
p = 7 919 (nombre premier)
q = 7 907 (nombre premier)
n = p ร q = 62 566 733
Connaรฎtre n = 62 566 733 ET retrouver p et q ?
โ Trivial pour un humain ici, mais avec n de 4096 bits...
โ n = nombre de 1 233 chiffres dรฉcimaux
โ Factorisation par tous les ordinateurs de la planรจte :
Des milliards d'annรฉes.
GรNรRATION DES CLรS RSA (simplifiรฉ)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Choisir 2 grands nombres premiers p et q (secret)
โก Calculer n = p ร q (partie publique)
โข Calculer ฯ(n) = (p-1)(q-1) (secret)
โฃ Choisir e (exposant public, souvent 65537)
โค Calculer d tel que e ร d โก 1 (mod ฯ(n)) โ secret
โ Clรฉ publique : (n, e) โ Partageable
โ Clรฉ privรฉe : (n, d) โ Secrรจte
CHIFFREMENT / DรCHIFFREMENT RSA
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Chiffrer (avec clรฉ publique) :
c = m^e mod n (m = message, c = chiffrรฉ)
Dรฉchiffrer (avec clรฉ privรฉe) :
m = c^d mod n (retrouve le message original)
Propriรฉtรฉ : Sans connaรฎtre d, impossible de retrouver m depuis c.
Et retrouver d depuis (n, e) nรฉcessite de factoriser n.
LIMITES DE RSA
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Lent (opรฉrations modulaires sur grands entiers)
โ Ne chiffre pas de messages longs directement
(taille max โ taille de la clรฉ - 11 octets)
โ En pratique : RSA chiffre uniquement la CLร DE SESSION AES
puis AES chiffre les donnรฉes
โ Vulnรฉrable aux ordinateurs quantiques (Shor 1994)
โ Migration vers algorithmes post-quantiques (CRYSTALS-Kyber)
I.C. L'รchange de Clรฉ Diffie-Hellmanโ๏ธ
L'invention cryptographique la plus importante du XXe siรจcle (Whitfield Diffie et Martin Hellman, 1976).
๐ Texte
DIFFIE-HELLMAN : PARTAGER UN SECRET SANS SE RENCONTRER
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
PROBLรME : Alice et Bob veulent รฉtablir un secret commun
sur un canal public (Internet) sans se rencontrer
et sans qu'un observateur (Eve) puisse le trouver.
ANALOGIE DES COULEURS (conceptuelle)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Alice et Bob conviennent publiquement d'une couleur de BASE
(tout le monde peut voir : JAUNE)
โก Alice choisit secrรจtement sa couleur : ROUGE
Elle mรฉlange : JAUNE + ROUGE = ORANGE
Elle envoie ORANGE ร Bob (Eve voit ORANGE)
โข Bob choisit secrรจtement sa couleur : BLEU
Il mรฉlange : JAUNE + BLEU = VERT
Il envoie VERT ร Alice (Eve voit VERT)
โฃ Alice mรฉlange VERT + son secret ROUGE = MARRON
Bob mรฉlange ORANGE + son secret BLEU = MARRON (identique !)
โ Alice et Bob ont le mรชme secret : MARRON
โ Eve n'a vu que JAUNE, ORANGE, VERT
โ Eve ne peut pas trouver MARRON sans savoir ROUGE ou BLEU
EN MATHรMATIQUES (logarithme discret)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Paramรจtres publics : g = 2, p = 23 (petit pour l'exemple)
Alice choisit a = 6 (secret)
Alice calcule : A = g^a mod p = 2^6 mod 23 = 64 mod 23 = 18
Alice envoie A = 18 ร Bob (public)
Bob choisit b = 15 (secret)
Bob calcule : B = g^b mod p = 2^15 mod 23 = 32768 mod 23 = 2
Bob envoie B = 2 ร Alice (public)
Alice calcule : s = B^a mod p = 2^6 mod 23 = 64 mod 23 = 18
โ s = 18
Bob calcule : s = A^b mod p = 18^15 mod 23
โ s = 18 โ
โ Alice et Bob ont obtenu le mรชme secret s = 18 !
โ Eve a vu g=2, p=23, A=18, B=2 mais ne peut pas trouver s=18
sans rรฉsoudre le problรจme du logarithme discret (facile ici
car p=23 petit, impossible avec p de 2048 ou 4096 bits)
ECDH โ VERSION SUR COURBES ELLIPTIQUES
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Mรชme principe, mรชme sรฉcuritรฉ, clรฉs 10ร plus courtes.
ECDH-256 โ DH-3072 en sรฉcuritรฉ.
โ C'est ce qu'utilise TLS 1.3 (ECDHE avec courbe X25519)
EPHEMERAL (le E dans ECDHE)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Chaque connexion TLS gรฉnรจre une NOUVELLE paire de clรฉs DH.
โ Perfect Forward Secrecy (PFS) :
Si la clรฉ privรฉe du serveur est compromise AUJOURD'HUI,
les conversations PASSรES restent protรฉgรฉes.
(Les clรฉs รฉphรฉmรจres sont dรฉtruites aprรจs chaque session)
โ Obligatoire dans TLS 1.3
I.D. Le Chiffrement Hybride en Pratiqueโ๏ธ
๐ Texte
CHIFFREMENT HYBRIDE : COMMENT TLS LE FAIT
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
CONNEXION https://monsite.fr โ Dรฉtail du TLS 1.3 Handshake
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
CLIENT SERVEUR
โโโโโโ โโโโโโโ
1. ClientHello
โ Versions TLS supportรฉes
โ Suites crypto supportรฉes (AES-256-GCM, ChaCha20...)
โ Clรฉ publique ECDHE du client (X25519)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโบ
2. ServerHello
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Suite choisie : TLS_AES_256_GCM_SHA384
โ Clรฉ publique ECDHE du serveur (X25519)
โ Certificat du serveur (X.509 โ vu S13)
โ Finished (signรฉ avec la clรฉ privรฉe serveur)
3. Le client vรฉrifie le certificat (chaรฎne PKI โ S13)
4. Les deux calculent la mรชme clรฉ de session :
ECDHE : client_priv ร server_pub = secret partagรฉ
โ HKDF (Key Derivation Function) โ AES-256-GCM key โ
5. Donnรฉes chiffrรฉes avec AES-256-GCM (symรฉtrique)
โโโโโโโโโโโโโโโโโโโ Canal AES chiffrรฉ โโโโโโโโโโโโโโโโโโโบ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
RรCAPITULATIF DES RรLES
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Certificat X.509 (S13) โ AUTHENTIFICATION (qui est le serveur ?)
ECDHE (Diffie-Hellman) โ รCHANGE DE CLร (secret partagรฉ)
AES-256-GCM (S11) โ CHIFFREMENT DES DONNรES (vitesse)
SHA-384 (HMAC) โ INTรGRITร (donnรฉes non modifiรฉes)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
I.E. Usages Concrets du Chiffrement Asymรฉtriqueโ๏ธ
๐ Texte
Oร TROUVE-T-ON DE LA CRYPTOGRAPHIE ASYMรTRIQUE ?
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
HTTPS / TLS
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Certificat (RSA/ECDSA) โ Authentification serveur
ECDHE โ รchange de clรฉ de session
AES-GCM โ Chiffrement des donnรฉes HTTP
Utilisation : Tout site web sรฉcurisรฉ
SSH (Secure Shell)
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Clรฉs SSH (RSA-4096 ou ED25519) โ Authentification sans MDP
ECDH โ รchange de clรฉ de session
AES-ChaCha20 โ Chiffrement du terminal
Utilisation : Administration de serveurs ร distance
GPG / PGP
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Clรฉ publique destinataire โ Chiffrement
Clรฉ privรฉe destinataire โ Dรฉchiffrement
Clรฉ privรฉe รฉmetteur โ Signature
Utilisation : Emails chiffrรฉs, signature de code
Emails S/MIME
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Certificat email (client cert) โ Signature + chiffrement
Standard corporatif (Outlook, Thunderbird)
VPN
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Certificats (IKEv2/IPsec, OpenVPN) โ Authentification tunnel
DH/ECDH โ รchange de clรฉ de session
AES โ Chiffrement du tunnel
โ C'est la partie VPN que nous allons voir maintenant
Bitcoin / Crypto-monnaies
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
ECDSA secp256k1 โ Signature des transactions
Clรฉ privรฉe = "accรจs au portefeuille"
Adresse Bitcoin = Hash de la clรฉ publique