Qui passe, par où, en secret ? Processus, routage et HTTPS
Tu joues en ligne pendant un téléchargement : ton processeur jongle entre les programmes, tes paquets traversent des routeurs, un cadenas protège ton mot de passe. Trois questions : qui a le processeur, par où passent les paquets, comment rester secret ?
1. Les processus et l'ordonnanceur
Un programme est un fichier ; un processus est un programme en cours d'exécution, avec son numéro (le PID), sa mémoire et l'état de ses registres. Il alterne entre trois états :
- élu : il s'exécute sur le processeur ;
- prêt : il attend son tour ;
- bloqué : il attend une ressource (lecture sur disque, frappe au clavier…).
L'ordonnanceur du système choisit quel processus prêt devient élu. Avec le tourniquet, chacun reçoit une courte tranche de temps, le quantum, puis, s'il n'a pas fini, repasse prêt. Un processus élu qui demande une lecture devient bloqué ; quand la donnée arrive, il redevient prêt, jamais directement élu.
Danger, l'interblocage : P1 détient le fichier A et attend le fichier B ; P2 détient B et attend A. Ils s'attendent indéfiniment. Parade : imposer à tous de demander les ressources dans le même ordre (A avant B).
2. Le routage : RIP ou OSPF
Les tables de routage des routeurs (destination, passerelle suivante, distance) sont remplies automatiquement par un protocole de routage.
- RIP compte les sauts (les liaisons à parcourir). Toutes les 30 secondes, chaque routeur envoie sa table à ses voisins et retient la route la plus courte ; au-delà de 15 sauts, la destination est inaccessible.
- OSPF pèse les liaisons selon leur débit : coût = 100 000 000 ÷ débit en bit/s (formule du programme ; un vrai routeur garde un entier ≥ 1). Une liaison à 10 Mbit/s coûte 10, à 100 Mbit/s 1, à 1 Gbit/s 0,1. Chaque routeur connaît toute la carte du réseau et calcule les chemins de moindre coût (algorithme de Dijkstra).
Pour aller de A à D, deux chemins : A → C → D, deux liaisons à 10 Mbit/s ; A → B → E → D, trois liaisons à 1 Gbit/s. RIP choisit le premier (2 sauts contre 3). OSPF calcule 10 + 10 = 20 contre 0,1 + 0,1 + 0,1 = 0,3 : il choisit le second, plus long mais bien plus rapide.
3. Chiffrer : symétrique ou asymétrique
En chiffrement symétrique (comme AES), la même clé chiffre et déchiffre : c'est rapide, mais il faut d'abord se transmettre la clé en secret.
En chiffrement asymétrique, chacun a deux clés liées : une clé publique, connue de tous, et une clé privée, secrète. Ce qui est chiffré avec la clé publique de Bob ne se déchiffre qu'avec sa clé privée. Image : Bob distribue des cadenas ouverts, et lui seul en a la clé.
RSA en miniature. Bob choisit deux nombres premiers p = 5 et q = 11 : n = 55 et (p − 1) × (q − 1) = 40. Il prend e = 3, premier avec 40, puis d = 27, car 3 × 27 = 81 = 2 × 40 + 1. Sa clé publique est (55, 3), sa clé privée (55, 27). Alice chiffre le message m = 7 : c = 7³ modulo 55 = 343 modulo 55 = 13. Bob déchiffre : 13 puissance 27 modulo 55 = 7. En Python, pow(a, b, n) calcule a puissance b modulo n :
n, e, d = 55, 3, 27
m = 7
c = pow(m, e, n)
print(c)
print(pow(c, d, n))
Il affiche 13 puis 7. Pour trouver d, un espion devrait factoriser n : avec un vrai n de 2 048 bits (617 chiffres), personne ne sait le faire en un temps raisonnable.
4. HTTPS : le meilleur des deux
HTTPS, c'est HTTP protégé par le protocole TLS (port 443 au lieu de 80). Au début de la connexion :
- le serveur envoie son certificat : son nom de domaine et sa clé publique, signés par une autorité de certification ;
- le navigateur vérifie la signature (il connaît les clés publiques des autorités), le nom et la date de validité ;
- grâce au chiffrement asymétrique, ils se mettent d'accord sur une clé de session ;
- toute la suite est chiffrée en symétrique avec cette clé.
L'asymétrique, lent, ne sert qu'à démarrer ; le symétrique, rapide, transporte les données. HTTPS garantit la confidentialité, l'intégrité et l'identité du serveur, mais pas son honnêteté : un site d'hameçonnage peut avoir un certificat valide.
À retenir
- Un processus est élu, prêt ou bloqué ; l'ordonnanceur distribue le processeur. Interblocage = attente circulaire de ressources.
- RIP minimise le nombre de sauts, OSPF la somme des coûts (100 000 000 ÷ débit).
- Symétrique : une seule clé, rapide. Asymétrique : on chiffre avec la clé publique du destinataire, il déchiffre avec sa clé privée.
- HTTPS : certificat du serveur, clé de session échangée en asymétrique, puis chiffrement symétrique.
★ Pour aller plus loin
Diffie et Hellman publient en 1976 l'idée de la cryptographie à clé publique ; Rivest, Shamir et Adleman inventent RSA en 1977. Au GCHQ britannique, Clifford Cocks avait trouvé un équivalent dès 1973, resté secret jusqu'en 1997.
Un grand ordinateur quantique pourrait factoriser n (algorithme de Shor, 1994) : en 2024, le NIST américain a publié ses premières normes de cryptographie « post-quantique ».
Inverser les rôles des clés donne la signature : calculée avec la clé privée, elle se vérifie avec la clé publique ; c'est ainsi que l'autorité signe les certificats.
Sources pour creuser
- Spécialité Numérique et sciences informatiques : 24 leçons avec exercices corrigés – Terminale, Balabonski, Conchon, Filliâtre et Nguyen (Ellipses).
- Histoire des codes secrets, Simon Singh (Le Livre de Poche).
- Le MOOC SecNumacadémie de l'ANSSI (secnumacademie.gouv.fr).
- Sur lumni.fr ou YouTube, cherche « chiffrement asymétrique » ou « routage RIP OSPF ».