Fondamentaux

Fais-toi une raison, il faut passer par la théorie avant la pratique garçon !

[Fondamentaux] TCP

Introduction

Le TCP pour Transmission Control Protocol est un protocole réseau de la couche Transport du modèle OSI.

Il est réputé pour sa fiabilité puisqu'il assure l'intégrité des paquets.

Par conséquent, il est aussi plus lent que l'UDP.

image.pngComposition

Voici à quoi ressemble le protocole TCP :

image.png

Three-way Handshake

Il s'agit de la procédure lors de l'établissement d'une connexion TCP standard qui se passe en trois étapes (d'où le nom).

image.png

 

[Fondamentaux] Chiffrement symétrique / asymétrique

Introduction

Cette page va décrire les fonctionnements des deux grands types de chiffrement que sont chiffrement symétrique et asymétrique.

image.pngChiffrement symétrique

Il est le type de chiffrement le moins sécurisé mais est encore utilisé notamment pour sa consommation de ressource qui est moindre que celle du chiffrement asymétrique.

Le fonctionnement est assez simple : la donnée d'entrée va être chiffrée avec une clé par un algorithme de chiffrement pour obtenir une donnée incompréhensible en sortie qui pourra transiter sans risque de confidentialité.

Ensuite, le récepteur va récupérer la donnée chiffrée qu'il va pouvoir décoder avec la même clé qui a servit à chiffrer cette donnée et avec le même algorithme de chiffrement.

Exemple : Le chiffrement César qui prend une phrase en entrée et qui va décaler chaque lettre d'un certains nombre. 

image.pngChiffrement asymétrique

Réputé pour son niveau de sécurité plus robuste, il est utilisé dans la plupart des protocoles et applications sécurisées.

Il est cependant plus lent et gourmand en ressource.

Voici son fonctionnement :

Une paire de clé va être générée avant l'échange de donnée totalisant :

L'hôte va pouvoir envoyer une donnée de manière confidentielle en chiffrant la donnée à l'aide sa clé publique et de l'algorithme de chiffrement.

Cette donnée chiffrée ne pourra être décodée qu'à l'aide de la clé privé présente sur le serveur et du même algorithme de chiffrement. 

Ainsi, pour déchiffrer les échanges dans les deux sens il faudra se munir des deux clés, de l'algorithme de chiffrement et du message chiffrée, ce qui rend la tâche complexe à un pirate pour récupérer la donnée brute initiale.

image.png

[Fondamentaux] ARP / NDP

Introduction

L'ARP pour Address Resolution Protocol permet la résolution d'adresse MAC à partir des adresses IP, pour que les échanges de paquets puissent s'effectuer entre deux machines d'un même réseau local. Il agit entre la couche 2 et 3 du modèle OSI

image.pngFonctionnement

Lors de l'arrivée d'un appareil sur le réseau, celui-ci ne peut pas communiquer avec en utilisant des paquets IP avec les autres machines du réseau car il a besoin de l'adresse MAC de destination pour pouvoir joindre l'hôte de destination.

C'est ici qu'entre en jeu ARP qui va permettre aux hôtes du réseau de remplir leur table ARP qui est une base de donnée locale faisant la correspondance entre les adresses MAC et les adresses IP.

Lorsque l'hôte enverra un paquet à un appareil du réseau dont l'adresse MAC lui est encore inconnue, il va chercher à résoudre l'adresse IP pour trouver la MAC de destination  et va devoir effectué un broadcast de couche 2, aussi appelé broadcast MAC.

Il va donc envoyer un paquet contenant 12 caractères F pour que toutes les machines du réseau le reçoive, mais que seul l'hôte recherché lui réponde en indiquant son adresse MAC. 

Ainsi, l'hôte source de la requête pourra envoyer son paquet (puisqu'il connait désormais la MAC de destination) et ajouter une entrée dans sa table ARP.

image.png


image.png

[Fondamentaux] IPv6

Introduction

Cette page explique les changements apportés par IPv6 par rapport à IPv4 ainsi que son fonctionnement.

image.png

Les grands changements

IPv6 règle le problème du manque d'adresses IPv4 puisque ce n'est pas moins de 2128 adresses totales qui sont désormais disponibles.

Il y a tellement d'adresses qu'on s'est permis d'attribuer une adresse "publique" à chaque équipement, ce qui signifie un gain de performance sur les réseaux car il n'y aura plus besoin du NAT pour passer d'IP publique à privé. 

D'ailleurs, plusieurs adresses IPv6 peuvent être attribuées à une même interface.

Elle est codée sur 8 blocs de 2 octets écrits en hexadécimal séparés par des ":" .

IPv6 apporte aussi le support natif du protocole IPsec, la suppression du broadcast ainsi qu'un simplification de l'entête.

Composition d'une adresse

Comme en IPv4, les IPv6 discernent la partie réseau de la partie hôte mais discernent aussi la partie sous-réseau

image.png

Les types d'adresses

En IPv6, on distingue 3 types d'adresse IP, le loopback ainsi que l'adresse indéfinie.

Lien local

Certainement le type d'adresse le moins intéressant, il permet de faire communiquer deux équipements sur un même lien, une même connexion. Comme le lien local est propre à son segment, une même adresse IP peut être définie sur deux interfaces différentes d'un même appareil.

Ce type d'adresse est automatiquement attribuée lors de l'activation d'IPv6 sur un appareil.

Plage d'adresse
FE80::/10

Unique local address

Cette adresse est utilisée au sein d'un réseau ou d'un groupe de réseau d'une organisation.

Plage d'adresse
FC00::0/7

Publique

Il s'agit de l'équivalent de l'IP publique en IPv4. C'est pourquoi elle est valable partout dans le monde.

Plage d'adresse
2000:: /3

Loopback

Il existe aussi en IPv6, seulement sa forme a évoluée :

Adresse
::1

Adresse indéfinie

Souvent utilisée pour définir la gateway, cette adresse sert à désigner l'ensemble des adresses possibles :

Adresse
::

Composition

Voici à quoi ressemble le format d'un paquet IPv6 :

image.png

Next header

Le champs Protocol de l'IPv4 a été remplacé par la notion de Next Header en IPv6, ce qui permet de ne pas limiter les protocoles et ainsi de pouvoir les imbriquer les uns dans les autres :

image.pngRemarque : L'extension ESP permet de chiffrer la donnée.

Règles de simplification

Une adresse IPv6 peut être simplifiée sous certaines conditions : 

NDP

En IPv6, ce n'est pas ARP qui se charge de la résolution mais NDP pour Neighbor Disocvery Protocol qui a un mécanisme semblable.

Une différence majeure se fait notamment sur l'utilisation du multicast plutôt que du broadcast (qui n'existe pas en IPv6).

De plus, on ne parle plus de requête ARP mais de NS (Neighbor Solicitation) ni de réponse ARP mais de NA (Neighbor Advertisement).

En outre, une vérification est faite pour éviter le problème d'ARP spoofing grâce au DAD (Duplicate Address Detection) qui va faire un NS avec sa propre adresse MAC pour vérifier que personne n'essaye d'usurper son identité.