Rappels

Si besoin, revoir les chapitres «Internet» de SNT et «Réseaux» de 1re.

Réseaux et Internet

1.2. Adresses IP : l'histoire

Dans les premières années d'Internet, l'assignation des adresses IPv4 aux réseaux finaux consistait à octroyer le premier octet de l'adresse au réseau, c'est-à-dire que seulement 256 réseaux avec 16 millions d'adresses chacun étaient possibles.
En 1981, la RFC 790 prévoit qu'une adresse IP est divisée en deux parties : une partie servant à identifier le réseau (net id, aussi appelé préfixe sous-réseau) et une partie servant à identifier l'hôte, c'est-à-dire la machine sur ce réseau : host id.
Cinq classes d'adresses IPv4 (aujourd'hui obsolète) sont créées :

  1. La classe A, de 0.0.0.1 à 126.255.255.254 : la partie réseau est sur le premier octet de l'adresse : en binaire, une adresse de la classe A commence par 0; masque de sous-réseau équivalent : 255.0.0.0 ou /8.
  2. La classe B, de 128.0.0.1 à 191.255.255.254 : la partie réseau est sur les deux premiers octets de l'adresse : en binaire, une adresse de la classe B commence par 10; masque de sous-réseau équivalent : 255.255.0.0 ou /16.
  3. La classe C, de 192.0.0.1 à 223.255.255.254 : la partie réseau est sur les trois premiers octets de l'adresse : en binaire, une adresse de la classe C commence par 110; masque de sous-réseau équivalent : 255.255.255.0 ou /24.
  4. La classe D, réservée aux communications , de 224.0.0.1 à 239.255.255.254 : la partie réseau est sur le premier octet de l'adresse : en binaire, une adresse de la classe D commence par 1110; masque de sous-réseau équivalent : 255.0.0.0 ou /8.
  5. La classe E, réservée par l', de 240.0.0.1 à 255.255.255.254 : la partie réseau est sur le premier octet de l'adresse : en binaire, une adresse de la classe E commence par 1111; masque de sous-réseau équivalent : 255.0.0.0 ou /8.
Comic xkcd : Map of Internet IPv4, 2006

1.3. Adresses IP : aujourd'hui

Bien qu'elle soit utile pour comprendre les habitudes prises par les ingénieurs réseaux, l'utilisation des classes d'adresses est rendue obsolète depuis 1993. On utilise désormais des masques de sous-réseau de longueur variable qu'il faut systématiquement fournir avec les IP. On parle d'. Ce masque de sous réseau peut être donné sous la forme d'une adresse IP (4 nombres séparés par des points), soit en ajoutant à la suite de l'adresse IP, un slash suivi du nombre de bits utilisé pour le réseau.

Un masque de sous-réseau permet d'obtenir rapidement la partie de l'adresse IP qui concerne le réseau (netid). En effet en appliquant bit à bit l'opérateur logique ET entre l'adresse IP et le masque, la partie réseau ressort grâce aux 1 et la partie machine s'efface grâce aux 0 présents dans le masque.

Remarque : Le masque de sous réseau peut être écrit en décimal (exemple : 255.255.255.0) ou en notation CIDR (pour cet exemple : /24) que l'on ajoute à la fin de l'addresse IP (celle-ci écrite en décimal).
  1. Trouver d'autres masques standards (en notation décimale et en notation CIDR) autres que /8, /16 ou /24 (on pourra vérifier avec le calculateur ci-dessus).
    Par exemple : 255.255.254.0 ; notation CIDR : /23.
  2. Quel est le masque écrit en décimal correspondant à la notation CIDR /12 ?
    255.240.0.0
Adresse du sous-réseau Plage IP disponible pour les machines de ce sous-réseau Nombre d'adresses du réseau
10.0.0.0/8 10.0.0.110.255.255.254 232-8 = 16 777 216
172.16.0.0/12 172.16.0.1172.31.255.254 232-12 = 1 048 576
192.168.0.0/16 192.168.0.1192.168.255.254 232-16 = 65 536
⚠ Remarques importantes
  • La première adresse IP de la plage d'IP d'un sous-réseau (exemple : l'adresse 192.168.0.0 pour le sous-réseau 192.168.0.0/24) est réservée, c'est l'adresse du sous-réseau.
  • La dernière adresse IP possible d'un sous-réseau (exemple : l'adresse 192.168.0.255 pour le sous-réseau 192.168.0.0/24) est appelée l'adresse de diffusion (ou broadcast). Elle permet de contacter simultanément toutes les adresses du sous-réseau.
  • Ainsi un réseau avec un masque de sous-réseau en /24 peut théoriquement accueillir 254 machines (256 - 2).
Le nombre d'adresses allouables aux hôtes est le nombres d'adresses possibles du réseau moins deux (adresse du sous-réseau et adresse de broadcast).
  1. Pour un sous-réseau d'adresse 192.168.254.0/23 :
    Quel est la longueur (nombre de bits) du préfixe sous-réseau (ou identifiant réseau) ?
    23 bits
  2. Quel est la longueur de l'identifiant machine ?
    L'identifiant machine est sur 9 bits. En effet, une adresse IPv4 étant codée sur 32 bits ( 4 octets), si 23 bits sont utilisés pour le sous-réseau, il en reste 9 pour la machine.
  3. Combien de machines peut accueillir ce sous-réseau ?
    Ce sous-réseau peut accueillir 29 - 2 = 510 machines. -2 vient du fait que la première adresse est celle du sous-réseau et que la dernière est l'adresse de broadcast.
  4. Une entreprise dispose de 72 machines.
    Proposer un masque de sous réseau pour le réseau informatique de cette entreprise ?
    255.255.255.128 ou /25 en notation CIDR. En effet avec 7 bits réservés pour les machines, ce sous-réseau peut accueillir 27 - 2 = 126 machines.
Code source (modification) :
30s Mémorisation 0x - Réussite 0/0

Le routage

Principe

Le rôle du routage est d'acheminer des paquets à travers le réseau, d'une machine à une autre.

  • Pour assurer la robustesse et l'adaptabilité du réseau, en cas de panne d'un nœud par exemple, cette fonction de routage doit être présente dans chaque nœud du réseau, décentralisée sur chaque routeur.
  • Les algorithmes employés pour le routage doivent être déterministes, c'est-à-dire ne pas laisser de place à l'arbitraire avec de l'aléatoire, et rapides.
  • Ils doivent s'efforcer d'être le plus équitables possible entre les utilisateurs du réseau.

Il existe deux familles d'algorithmes de routage (aspect logique) :

  • Les algorithmes non-adaptatifs : Il s'agit généralement de chemins "de confiance", à fort débit. Leur principal problème est que malgré leur robustesse, ces routes prédéfinies peuvent souffrir d'une panne ce qui met en péril les communications.
  • Il est donc indispensable de compléter ces derniers par des algorithmes adaptatifs. Ces algorithmes se basent sur une configuration en temps réel du réseau, par des messages échangés entre routeurs. En cas de défaillance d'une route, une nouvelle route de remplacement peut être construite.

Il faut aussi organiser l'infrastructure de manière optimisée (aspect physique) :

Le routage hiérarchique consiste à organiser les routeurs par niveau.
Par exemple, le lycée dispose d'un réseau local () connecté par un routeur (passerelle) à un réseau plus important appelé RENATER, reliant tous les établissement scolaires et de recherche français, et lui-même connecté à Internet.
Ce type de réseau est appelé backbone, car c'est une épine dorsale pour le réseau.

Analogie : Le réseau routier est lui aussi organisé de manière hiérarchique avec des réseaux communaux (locaux), des routes nationales et des autoroutes. On comprend que pour aller de Toulouse à Paris, il est plus rapide de sortir du réseau communal Toulousain pour prendre l'autoroute et ressortir dans le réseau communal de Paris, plutôt que de passer de réseau communal en réseau communal, par les petites routes.

Carte du réseau RENATER
Carte du réseau RENATER - 2022
Les avantages du routage hiérarchique sont :
  • de réduire la complexité de la topologie du réseau,
  • d'accélérer le transport de l'information en limitant le nombre de sauts (nombre de routeur sur le route),
  • d'entraîner beaucoup moins de congestion en limitant les demandes de routage, en effet une communication locale reste dans le réseau local sans impacter le backbone,
  • diminue la taille des tables de routage, en effet seuls les routeurs principaux connectés au backbone sont conscients de toutes les routes. Les routeurs qui se trouvent dans un LAN ne connaissent que les routes du LAN. Les destinations non reconnues sont transmises à l'itinéraire par défaut (la passerelle).

Routeur

Un routeur sert de passerelle entre deux réseaux. Chacune de ses connexions avec un réseau est appelée une interface reperée par l'adresse IP qui lui a été attribuée dans ce réseau.

⚠ Remarque importante
L'expression «adresse IP d'un routeur» n'a pas de sens : un routeur a au moins 2 interfaces, et chacune a une adresse IP propre dans le réseau qu'elle connecte.

  1. Par exemple dans le schéma ci-contre, le Routeur 2 possède 3 interfaces :
    • 10.100.100.1/30 dans le réseau 10.100.100.0/30
    • 10.100.100.5/30 dans le réseau 10.100.100.4/30
    • 172.16.0.254/16 dans le réseau 172.16.0.0/16
    Quelles sont les interfaces du Routeur 1 ?
    • 10.100.100.2/30 dans le réseau 10.100.100.0/30
    • 10.100.100.10/30 dans le réseau 10.100.100.8/30
    • 172.17.0.254/16 dans le réseau 172.17.0.0/16
    • 172.18.0.1/16 dans le réseau 172.18.0.0/16
  2. Quel est le masque de sous-réseau écrit en décimal correspondant à la notation CIDR /30 ?
    255.255.255.252 soit en binaire 11111111.11111111.11111111.11111100

    Pourquoi les masques des réseaux entre les routeurs sont en /30 ?
    Ce réseau ne connecte que deux routeurs entre eux, il est donc suffisant de réserver deux bits pour l'adresse machine.
  3. Quelles sont les adresses machines possibles dans le réseau 10.100.100.4/30 ?
    10.100.100.5 et 10.100.100.6
    L'adresse 10.100.100.4 (première adresse) est l'adresse du sous-réseau tandis que 10.100.100.7 (dernière adresse) est l'adresse de broadcast.
  4. Justifier les adresses des Routeur1 et Routeur3 dans le sous-réseau 10.100.100.8/30 ?
    Les seules adresses possibles sont 10.100.100.9 et 10.100.100.10.
    En effet l'adresse 10.100.100.8 (première adresse) est l'adresse du sous-réseau tandis que 10.100.100.11 (dernière adresse) est l'adresse de broadcast.

Algorithme de routage

Le routage par inondation (flooding) : Dès qu'un routeur reçoit un paquet, il le réemmet vers tous ses voisins. Si le réseau est , on est sûr que la machine destinataire recevra le paquet, mais vu le traffic très important généré par cette méthode, elle est à réserver pour des réseaux très petits.

Le routage du plus court chemin : Un réseau peut être représenté par un graphe, les liaisons étant les arêtes et les routeurs ou passerelles étant les sommets. Il est donc possible, par l'algorithme de Dijkstra, de déterminer le plus court chemin entre deux sommets. Deux protocoles parmi les plus utilisés se basent sur cette méthode : et .

RIP (Routing Information Protocol)

C'est le protocole historique et encore utilisé.
Sa métrique est simple et nécessite moins de mémoire : Le coût des routes est compté par le nombres de sauts (hops) d'un routeur à un autre. On dit que RIP est un protocole à vecteur de distance.
Attention, le débit n'est donc pas pris en compte : Il faudrait réserver l'utilisation de ce protocole à des réseaux où le débit est homogène.

Pour chaque réseau IP connu, chaque routeur conserve l'adresse du routeur voisin dont la métrique est la plus petite pour atteindre ce réseau. Ces meilleures routes sont diffusées toutes les 30 secondes entres les routeurs.

Le protocole RIP empêche les boucles de routage en limitant à 15 le nombre de sauts autorisés pour un chemin. Ainsi un réseau situé à 16 sauts (hops) est considéré comme inaccessible.

OSPF (Open Shortest Path First)

OSPF fait partie des protocoles à état de liens, c'est-à-dire qu'il prend en compte la qualité des liens pour déterminer la meilleure route.
Chaque routeur communique avec ses voisins par des messages . Grâce aux LSA échangés, chaque routeur construit sa table de routage avec la métrique, c'est-à-dire les coûts des liaisons (ses paramètres principaux sont le temps de transmission et le débit).
Plus le coût est faible, plus la liaison sera favorisée.

Cas particulier des réseaux sans fil (wifi avec répéteurs, 4G, 5G)

Les routeurs doivent tenir compte du déplacement de l'utilisateur, qui peut alors être déconnecté de son point d'accès initial pour se reconnecter à un point d'accès derrière un autre routeur...
Le réseau doit alors tenir compte d'une organisation en cellules géographiques des points d'accès.

Remarque :
  • Pour déterminer le chemin le plus court dans le réseau (modélisé par un graphe, c'est l'algorithme de Dijkstra (vu dans le chapitre sur les graphes) qui est utilisé.
  • Lorsque le coût de deux chemins entre l'émetteur et le destinataire est le même, on peut envoyer alternativement les paquets par un chemin puis par l'autre (que ce soit avec RIP, OSPF, ou d'autres protocoles) : on parle de répartition de charge (load-balancing)
On considère le réseau suivant. Les coûts (états des liens) sont inscrits sur les liaisons.
  1. Déterminer le chemin le plus court entre A et chacun des routeurs du réseau, selon RIP.
    Destination Chemin Coût
    B AB 1 hop
    C ABC 2 hops
    D ABCD/ABED 3 hops
    E ABE 2 hops
    F ABF 2 hops
    G AH 1 hop
  2. Déterminer le chemin le plus court entre A et chacun des routeurs du réseau, selon OSPF.
    Destination Chemin Coût
    B AB 1
    C ABC 3
    D ABED 6
    E ABE 3
    F ABEF 5
    H ABH 2
  3. Identifier quelques cas possibles de répartition de charge (load-balancing) sur des chemins qui ne commencent pas par A.
    En RIP : BAH et BFH ou ABCD et ABED ...
    Aucun cas possible en OSPF.

La table de routage

La table de routage mémorisé par un routeur permet d'orienter rapidement les paquets qu'il reçoit.
Pour chaque adresse IP de destination, elle comporte :

  • la destination, c'est-à-dire l'adresse IP du routeur vers lequel envoyer le paquet ;
  • la passerelle : l'adresse IP de l'interface qui va faire sortir le paquet du réseau local.
  • l'interface ou : l'interface vers laquelle envoyer le paquet (liaison de sortie) repérée par l'adresse IP que possède le routeur dans le réseau suivant.
  • la métrique, c'est-à-dire le nombre de saut (hops) en RIP, ou le coût en OSPF pour atteindre la destination.
Destination (Adresse IP) Passerelle (Adresse IP) Interface (Adresse IP) Métrique
___.___.___.___ / __ ___.___.___.___ / __ ___.___.___.___ / __ __
___.___.___.___ / __ ___.___.___.___ / __ ___.___.___.___ / __ __
... ... ... ...
Remarque :
  • Il est possible et souhaitable de configurer un routeur avec une route par défaut, notée 0.0.0.0/0, en cas d'adresse de destination inconnue de la table de routage.
  • Chaque ordinateur d'un réseau possède aussi une table de routage. Pour l'obtenir, utiliser la commande route print dans une invite de commande Windows ou route dans un terminal Linux.
On considère le réseau suivant :

Remarque : Généralement la destination et l'interface sont des adresses IP mais pour simplifier la notation les destinations seront notées par leur lettre et les interfaces par leur chiffre.

  1. Établir la table de routage du routeur A (en RIP) pour atteindre tous les autres routeurs du réseau.
    Destination Passerelle Interface Sauts (hops)
    B B 2 1
    C B 2 2
    D B 2 3
    E B 2 2
    F H 1 2
    H H 1 1
  2. Établir la table de routage du routeur A (en OSPF) pour atteindre tous les autres routeurs du réseau.
    Destination ; Passerelle ; Interface ; Sauts (hops) B ; B ; 2 ; 1 C ; B ; 2 ; 3 D ; B ; 2 ; 6 E ; B ; 2 ; 3 F ; B ; 2 ; 5 H ; B ; 2 ; 2
  3. Établir la table de routage du routeur E (en RIP) pour atteindre tous les autres routeurs du réseau.
    Destination Passerelle Interface Sauts (hops)
    A B 3 2
    B B 3 1
    C C 2 1
    D D 1 1
    F F 4 1
    H F 4 2
  4. Établir la table de routage du routeur E (en OSPF) pour atteindre tous les autres routeurs du réseau.
    Destination Passerelle Interface Sauts (hops)
    A B 3 3
    B B 3 2
    C C 2 1
    D D 1 3
    F F 4 2
    H B 3 3
Simulation de réseau
  1. Revoir le TP SNT simulation avec Filius : sur cette page.
  2. Si besoin, recharger le fichier simulation-internet.fls et ralentir l'exécution avec le slider dans le menu.
    Passer en mode Simulation (icône triangle vert ) et observer les échanges de données entre routeurs au démarrage (avec un clic droit sur un routeur).
  3. Pourquoi les routeurs envoient-ils ces paquets broadcast au démarrage ?
    Les routeurs emploient cette technique pour découvrir leurs voisins et remplir leur table de routage. Pour voir leur table de routage, passer en mode conception (icône marteau 🔨) puis clic droit sur un routeur pour le configurer et enfin décocher «routage automatique».
  4. Explorer les possibilités de ce logiciel.
Schéma : les couches du modèle TCP/IP
Python : Module socket
  1. Utiliser ce petit script permettant d'envoyer du texte sur une machine serveur.
    • Lancer le script server.py sur la machine serveur ;
    • Les clients utilisent le script client.
    Dans les deux cas, il faudra adapter les scripts aux IP au réseau. Par défaut, les scripts fonctionnent sur la boucle locale 127.0.0.0:8000 d'une même machine.
  2. Adapter le script pour envoyer des fichiers (images, etc...).
import socket

HOST = "127.0.0.1"
PORT = 8000

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    client, addr = s.accept()
    with client:
        print(f"Connected by {addr[0]}")
        while True:
            data = client.recv(1024)
            if data :
                print(data.decode())
import socket

HOST = "127.0.0.1"
PORT = 8000

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    print(f"Connection on {HOST}:{PORT}")
    encore = ""
    while encore.upper() != "N" :
        message = input("Message à envoyer : ").encode()
        s.send(message)
        encore = input("Continuer ? (N:stop) ")
Approfondissements/projets en Python
Adapter la classe graphe utilisée dans le chapitre du même nom à la construction et à l'étude d'un réseau :
  • chaque sommet est un routeur, chaque arête est une liaison,
  • générer un réseau de taille minimum 6 sommets, connexe («à la main» ou de manière automatique), et avec liaisons pondérés pour simuler OSPF,
  • implémenter l'algorithme de Dijkstra en deux versions : RIP ou OSPF,
  • implémenter une méthode pour afficher la table de routage (d'un sommet), version RIP ou OSPF.
Code source (modification) :
30s Mémorisation 0x - Réussite 0/0

Sécurité des Systèmes d'Information (SSI)

Pour payer en ligne, éviter les usurpations d'identité, protéger sa vie privée ou se protéger d'un régime autoritaire, il est crucial de sécuriser ses échanges de données. Pour cela ils doivent être chiffrés à l'aide d'une clé de chiffrement.
En connaissant la clé, il est évidemment possible de déchiffrer les données.Lorsqu'on est capable de lire les données sans la clé de chiffrement, on parle de décryptage. Le terme "crypter" n'a pas de sens car on ne chiffre pas sans clé.

On parle de chiffrement symétrique lorsque c'est la même clé qui est utilisée pour chiffrer et déchiffrer le message.

Méthodes de chiffrement historiques

Le code César

Le principe est simple, il consiste à décaler les lettres dans l'alphabet. Historiquement, César utilisait un décalage de 3. Ce chiffrement symétrique peut être cassé par :

  • force brute : Cette technique consiste à tester toutes les clés possibles. Elle peut être longue.
  • analyse fréquentielle : En français, la lettre la plus présente est E. En repérant la lettre qui apparaît le plus dans le message chiffré, il est donc possible d'en déduire la clé puis de déchiffrer le message.
TFX UGRV JGWTGQ ICTG UCKPV CIPG
Trouver le lieu du rendez-vous.
La lettre la plus présente est G.
La clé est 2.
RDV SEPT HEURES GARE SAINT AGNE

Chiffrement par substitution

Cette technique consiste à substituer une lettre par une autre dans un alphabet réordonné qui sert de clé.

Dans cet exemple ci-contre, la lettre A est remplacée par la lettre W et ainsi de suite ...

Clé
ABCDEFGHIJKLMNOPQRSTUVWXYZ

WXCVBNMLKJUIOPHGFYTRDSQAEZ
S'agit-il d'un chiffrement symétrique ou asymétrique ?
C'est un chiffrement symétrique car la clé de déchiffrement est la même que la clé de chiffrement.

Chiffrement de Vigenère

Ce chiffrement est une amélioration du code César. Il en existe plusieurs variantes mais elles consistent toute à faire varier le décalage pour chaque lettre de l'alphabet. Les décalages sont inscrits dans la clé qui peut être un mot, une phrase ou un tout un texte. Dans l'histoire, il y a eu une période où des passages entiers d'œuvres littéraires étaient utilisés pour chiffrer les plus grands secrets. Il suffisait aux deux correspondants d'avoir un exemplaire du même livre pour se comprendre.

Exemple avec la clé BAC
Alphabet A B C D E F G H I J K L ...
Clé B A C B A C B A C ...
Décalage 1 0 2 1 0 2 ...
Lettre de substitution B B E E E H ...

Explication : On répète la clé pour qu'elle atteigne la même longueur que le texte à chiffrer. On associe à la lettre "A", un décllage de 0, à la lettre "B", un décalage de 1 et ainsi de suite pour tout l'alphabet. Pour la première lettre du message "A", le décalage vaut 1, elle est ainsi chiffrée par la lettre "B".

  1. S'agit-il d'un chiffrement symétrique ou asymétrique ?
    C'est un chiffrement symétrique car la clé de déchiffrement est la même que la clé de chiffrement.
  2. Implémenter en Python cette méthode
    def vigenere(entree:str, cle:str, dechiffre=False) -> str:
        coeff = 1-2*int(dechiffre)
        sortie = ""
        for k in range(len(entree)):
            sortie += chr(ord(entree[k]) + coeff * (ord(cle[k % len(cle)]) - 65))
        return sortie
  3. Que font ord et chr ?
    Elles font correspondre à un caractère unicode son rang dans la table.

Chiffrement de Vernam

Le chiffrement de Vernam, aussi appelé masque jetable consiste à un chiffrement par décalage comme le code César avec une clé présentant les caractéristiques très particulières suivantes :

  • La clé doit être une suite de caractères au moins aussi longue que le message à chiffrer.
  • Les caractères composant la clé doivent être choisis de façon totalement aléatoire.
  • Chaque clé, ou « masque », ne doit être utilisée qu'une seule fois (d'où le nom de masque jetable).

L'intérêt considérable de cette méthode est que si ces trois caractéristiques sont respectées strictement, ce chiffrement est théoriquement impossible à casser. Cependant, le fait que le masque soit à usage unique impose de le transmettre au préalable, ce qui soulève des difficultés de mise en œuvre pour la sécurisation des échanges sur Internet.

Chiffrement asymétrique

Principe de clé privée/clé publique

Lorsqu'une même clé est utilisée pour le chiffrage et le déchiffrage, on dit que l'algorithme de cryptage est symétrique.

D'autres algorithmes de cryptage utilisent deux clés : une clé privée pour le déchiffrage, et une clé publique pour le chiffrage. On dit que ces algorithmes sont asymétriques.

1re étape : Alice souhaite recevoir des données confidentielles de Bob. Elle génère deux clés : sa clé publique (verte) qu'elle envoie à Bob et sa clé privée (rouge) qu'elle conserve secrète.
2e et 3e étapes : Bob chiffre le message avec la clé publique d'Alice et envoie le texte chiffré. Alice déchiffre le message grâce à sa clé privée.
Remarques :
  • En pratique, il est toujours possible de déduire la clé publique à partir de la clé privée. Le détenteur de la clé privée contrôlent l'ensemble du secret.
  • Par contre, il est théoriquement impossible de déduire la clé privée de la clé publique.
  1. Qui génère la clé publique et la clé privée ?
    Le destinataire, ici c'est Alice.
  2. Quelle clé est utilisée pour chiffrer le message ?
    la clé publique
  3. Quelle clé est utilisée pour déchiffrer le message ?
    la clé privée
  4. Est-il possible de trouver le clé publique à partir de la clé privée ?
    oui
  5. Est-il possible de trouver le clé privée à partir de la clé publique ?
    non
  6. La communication de Bob vers Alice est-elle sécurisée ?
    Oui, car seule Alice avec sa clé privée, peut déchiffrer le message de Bob.
  7. La communication d'Alice vers Bob est-elle sécurisée ?
    Non, car la clé publique a été envoyée en clair et a pu être interceptée. Ainsi un message chiffré par Alice avec sa clé privé, peut être déchiffré par tout ceux ayant obtenu la clé publique.

Développement

Ces algorithmes nécessitent une puissance de calcul plus importante que les algorithmes symétriques, mais en pratique cela pose peu de problèmes au matériel actuel.

Exemples : RSA (nombres premiers), Diffie-Hellman (courbes elliptiques) : tous reposent sur la difficulté (impossibilité pratique dans une échelle de temps humaine) de factoriser de grands nombres premiers (RSA) ou de grands polynômes (DH). L'avènement de l'informatique quantique accélérant de manière exponentielle la puissance de calcul rendra obsolète ces techniques de chiffrement. La recherche en informatique travaille déjà sur des méthodes plus poussées de chiffrement résistantes aux algorithmes quantiques.

Une application essentielle des algorithmes asymétriques est la possibilité d'authentifier un acteur, en vérifiant qu'il dispose de la clé privée sans qu'il n'ait à la divulguer. Pour ce faire, on lui envoie un message test, que l'on a chiffré avec la clé publique, s'il parvient à renvoyer ce message déchiffré, il prouve qu'il dispose bien de la clé privée et qu'il peut être authentifié.

Le protocole HTTPS

  • est le protocole utilisé lorsqu'on navigue sur le web (requête vers un serveur web et réponse de ce serveur).
    Toutes les communications sont en clair, ce qui signifie que quelqu'un sur la ligne comprend tout des requêtes échangées.
  • sécurise le HTTP en utilisant l'algorithme de chiffrement TLS qui est le successeur du SSL. On parle souvent de protocole SSL/TLS

Voici le scénario d'une communication en HTTPS :

  1. Le navigateur du client envoie au serveur une demande de connexion sécurisée par TLS.
  2. Le serveur envoie au client son certificat contenant sa clé publique, ses informations (nom de la société, adresse postale, pays, e-mail de contact...) ainsi qu'une signature numérique.
  3. Le navigateur du client tente de vérifier la signature numérique du certificat grâce aux clés publiques des autorités de certifications (AC).
    • Si l'une d'entre elles fonctionne, le navigateur en déduit l'autorité de certification qui a signé le certificat de ce serveur. Il interroge alors cette autorité de certification pour savoir si le certificat du serveur est toujours valable.
    • Si aucune d'entre elles ne fonctionne, le navigateur web tente tout-de-même de vérifier la signature numérique du certificat du serveur à l'aide de la clé publique du seruveur.
      • En cas de réussite, cela signifie que le serveur a lui-même signé son certificat. Un message d'avertissement s'affiche alors sur le navigateur disant que l'identité du serveur n'a pas été vérifiée par une autorité de certification et qu'il peut donc s'agir potentiellement d'un site frauduleux.
      • En cas d'échec, le certificat est invalide, la connexion ne peut pas aboutir.
  4. Le navigateur du client génère une clé de chiffrement symétrique, appelée clé de session, qu'il chiffre à l'aide de la clé publique contenue dans le certificat du serveur puis la transmet au serveur.
  5. Le serveur déchiffre la clé de session envoyée par le client grâce à sa clé privée.
  6. Le client et le serveur commencent à s'échanger des données en chiffrant celles-ci avec la clé de session qu'ils ont en commun. On considère à partir de ce moment que la connexion TLS est établie entre le client et le serveur.
  7. Une fois la connexion terminée, soit par une déconnexion volontaire de l'utilisateur, soit suite à une durée d'inactivité trop élevée, le serveur révoque la clé de session.
Le HTTPS utilise-t-il une technique de chiffrement symétrique ou asymétrique ?
Il s'agit d'une technique de chiffrement hybride. La clé de session qui chiffre les données échangées (requêtes HTTP) est symétrique mais elle a été partagée entre le client et le serveur par une technique de chiffrement asymétrique.

➝ Voir la vidéo de Graphikart : Comprendre le SSH/HTTPS

Les acteurs de la sécurité

  • La a pour mission de protéger les données personnelles, accompagner l'innovation et préserver les libertés individuelles. → Site de la CNIL
  • L' propose les règles à appliquer pour la protection des systèmes d'information de l'État et de vérifie l'application des mesures adoptées. Dans le domaine de la défense des systèmes d'information, elle assure un service de veille, de détection, d'alerte et de réaction aux attaques informatiques, notamment sur les réseaux de l'État.
    Dans son rôle de prévention l' met à disposition un MOOC sur la cybersécurité. → Site de l'ANSSI
  • Cybermalveillance.gouv.fr assiste et prévient les risques numériques auprès du public. Elle guide les victimes de cyberviolence. → Site de Cybermalveillance.gouv.fr
Code source (modification) :
30s Mémorisation 0x - Réussite 0/0
En français en anglais
réseaux net
identifiant réseaux net id
identifiant machine net host
sous-réseaux subnet
masque de sous-réseaux subnet mask
routage inter-domaine sans classe classless interdomain routing (CIDR)
masque de sous-réseau de longueur variable variable length subnet mask (VLSM)
Réseau local Local Area Network (LAN)
Dorsale Internet (réseau de réseaux) Backbone
répartition de charge load-balancing