Sécurité réseau - Couche réseau

Les contrôles de sécurité de la couche réseau ont été fréquemment utilisés pour sécuriser les communications, en particulier sur des réseaux partagés tels qu'Internet, car ils peuvent assurer la protection de nombreuses applications à la fois sans les modifier.

Dans les chapitres précédents, nous avons discuté du fait que de nombreux protocoles de sécurité en temps réel ont évolué pour la sécurité du réseau, garantissant les principes de base de la sécurité tels que la confidentialité, l'authentification de l'origine, l'intégrité des messages et la non-répudiation.

La plupart de ces protocoles sont restés concentrés sur les couches supérieures de la pile de protocoles OSI, pour compenser le manque de sécurité inhérent au protocole Internet standard. Bien que utiles, ces méthodes ne peuvent pas être généralisées facilement pour une utilisation avec n'importe quelle application. Par exemple, SSL est développé spécifiquement pour sécuriser des applications comme HTTP ou FTP. Mais il existe plusieurs autres applications qui nécessitent également des communications sécurisées.

Ce besoin a conduit à développer une solution de sécurité au niveau de la couche IP afin que tous les protocoles de couche supérieure puissent en profiter. En 1992, l'IETF (Internet Engineering Task Force) a commencé à définir un standard «IPsec».

Dans ce chapitre, nous discuterons de la manière dont la sécurité est obtenue au niveau de la couche réseau en utilisant cet ensemble très populaire de protocoles IPsec.

Sécurité dans la couche réseau

Tout schéma développé pour assurer la sécurité du réseau doit être implémenté à une couche de la pile de protocoles, comme illustré dans le diagramme ci-dessous -

Couche Protocoles de communication Protocoles de sécurité
Couche d'application HTTP FTP SMTP PGP. S / MIME, HTTPS
Couche de transport TCP / UDP SSL, TLS, SSH
Couche réseau IP IPsec

Le cadre populaire développé pour assurer la sécurité au niveau de la couche réseau est IPsec (Internet Protocol Security).

Caractéristiques d'IPsec

  • IPsec n'est pas conçu pour fonctionner uniquement avec TCP comme protocole de transport. Il fonctionne avec UDP ainsi qu'avec tout autre protocole supérieur à IP tel que ICMP, OSPF, etc.

  • IPsec protège l'ensemble du paquet présenté à la couche IP, y compris les en-têtes de couche supérieure.

  • Étant donné que les en-têtes de couche supérieure portant le numéro de port sont masqués, l'analyse du trafic est plus difficile.

  • IPsec fonctionne d'une entité réseau à une autre entité réseau, et non d'un processus d'application à un processus d'application. Par conséquent, la sécurité peut être adoptée sans nécessiter de modifications des ordinateurs / applications des utilisateurs individuels.

  • Très utilisé pour assurer une communication sécurisée entre les entités du réseau, IPsec peut également fournir une sécurité d'hôte à hôte.

  • L'utilisation la plus courante d'IPsec consiste à fournir un réseau privé virtuel (VPN), soit entre deux emplacements (passerelle à passerelle), soit entre un utilisateur distant et un réseau d'entreprise (hôte à passerelle).

Fonctions de sécurité

Les fonctions de sécurité importantes fournies par IPsec sont les suivantes -

  • Confidentialité

    • Permet aux nœuds communicants de crypter les messages.

    • Empêche les écoutes par des tiers.

  • Authentification d'origine et intégrité des données.

    • Fournit l'assurance qu'un paquet reçu a été effectivement transmis par la partie identifiée comme la source dans l'en-tête de paquet.

    • Confirme que le paquet n'a pas été modifié ou autrement.

  • Gestion des clés.

    • Permet un échange sécurisé des clés.

    • Protection contre certains types d'attaques de sécurité, telles que les attaques de relecture.

Réseau privé virtuel

Idéalement, toute institution souhaiterait disposer de son propre réseau privé de communication pour assurer la sécurité. Cependant, il peut être très coûteux d'établir et de maintenir un tel réseau privé sur une zone géographiquement dispersée. Cela nécessiterait de gérer une infrastructure complexe de liaisons de communication, de routeurs, de DNS, etc.

IPsec fournit un mécanisme simple pour implémenter un réseau privé virtuel (VPN) pour ces institutions. La technologie VPN permet au trafic inter-bureaux de l'institution d'être envoyé sur l'Internet public en chiffrant le trafic avant d'entrer sur l'Internet public et en le séparant logiquement des autres trafics. Le fonctionnement simplifié du VPN est illustré dans le diagramme suivant -

Présentation d'IPsec

IPsec est un cadre / une suite de protocoles pour assurer la sécurité au niveau de la couche IP.

Origine

Au début des années 90, Internet était utilisé par quelques établissements, principalement à des fins académiques. Mais au cours des dernières décennies, la croissance d'Internet est devenue exponentielle en raison de l'expansion du réseau et de plusieurs organisations l'utilisant à des fins de communication et à d'autres fins.

Avec la croissance massive d'Internet, combinée aux faiblesses de sécurité inhérentes au protocole TCP / IP, le besoin s'est fait sentir d'une technologie capable d'assurer la sécurité du réseau sur Internet. Un rapport intitulé «La sécurité dans l'architecture Internet» a été publié par le Conseil d'architecture Internet (IAB) en 1994. Il a identifié les domaines clés pour les mécanismes de sécurité.

L'IAB a inclus l'authentification et le cryptage comme fonctionnalités de sécurité essentielles dans l'IPv6, l'IP de nouvelle génération. Heureusement, ces capacités de sécurité ont été définies de manière à pouvoir être implémentées à la fois avec l'IPv4 actuel et l'IPv6 futuriste.

Cadre de sécurité, IPsec a été défini dans plusieurs «demandes de commentaires» (RFC). Certaines RFC spécifient certaines parties du protocole, tandis que d'autres abordent la solution dans son ensemble.

Opérations dans IPsec

La suite IPsec peut être considérée comme ayant deux opérations distinctes, lorsqu'elles sont exécutées à l'unisson, fournissant un ensemble complet de services de sécurité. Ces deux opérations sont la communication IPsec et l'échange de clés Internet.

  • Communication IPsec

    • Il est généralement associé à la fonctionnalité IPsec standard. Cela implique l'encapsulation, le chiffrement et le hachage des datagrammes IP et la gestion de tous les processus de paquets.

    • Il est responsable de la gestion de la communication en fonction des associations de sécurité (SA) disponibles établies entre les parties communicantes.

    • Il utilise des protocoles de sécurité tels que l'en-tête d'authentification (AH) et le SP encapsulé (ESP).

    • La communication IPsec n'est pas impliquée dans la création des clés ou leur gestion.

    • L'opération de communication IPsec elle-même est communément appelée IPsec.

  • Échange de clés Internet (IKE)

    • IKE est le protocole de gestion automatique des clés utilisé pour IPsec.

    • Techniquement, la gestion des clés n'est pas essentielle pour la communication IPsec et les clés peuvent être gérées manuellement. Cependant, la gestion manuelle des clés n'est pas souhaitable pour les grands réseaux.

    • IKE est responsable de la création des clés pour IPsec et de l'authentification pendant le processus d'établissement des clés. Bien qu'IPsec puisse être utilisé pour tout autre protocole de gestion de clé, IKE est utilisé par défaut.

    • IKE définit deux protocoles (Oakley et SKEME) à utiliser avec le cadre de gestion de clés déjà défini Internet Security Association Key Management Protocol (ISAKMP).

    • ISAKMP n'est pas spécifique à IPsec, mais fournit le cadre pour créer des SA pour n'importe quel protocole.

Ce chapitre traite principalement de la communication IPsec et du protocole associé utilisé pour assurer la sécurité.

Modes de communication IPsec

La communication IPsec a deux modes de fonctionnement; transports et modes tunnel. Ces modes peuvent être utilisés en combinaison ou utilisés individuellement selon le type de communication souhaité.

Mode de transport

  • IPsec n'encapsule pas un paquet reçu de la couche supérieure.

  • L'en-tête IP d'origine est conservé et les données sont transmises sur la base des attributs d'origine définis par le protocole de couche supérieure.

  • Le diagramme suivant montre le flux de données dans la pile de protocoles.

  • La limitation du mode de transport est qu'aucun service de passerelle ne peut être fourni. Il est réservé aux communications point à point comme illustré dans l'image suivante.

Mode tunnel

  • Ce mode d'IPsec fournit des services d'encapsulation avec d'autres services de sécurité.

  • Dans les opérations en mode tunnel, le paquet entier de la couche supérieure est encapsulé avant d'appliquer le protocole de sécurité. Un nouvel en-tête IP est ajouté.

  • Le diagramme suivant montre le flux de données dans la pile de protocoles.

  • Le mode tunnel est généralement associé aux activités de la passerelle. L'encapsulation offre la possibilité d'envoyer plusieurs sessions via une seule passerelle.

  • La communication en mode tunnel typique est illustrée dans le diagramme suivant.

  • En ce qui concerne les points d'extrémité, ils ont une connexion directe de couche de transport. Le datagramme d'un système transmis à la passerelle est encapsulé puis transmis à la passerelle distante. La passerelle associée distante désencapsule les données et les transmet au point de terminaison de destination sur le réseau interne.

  • En utilisant IPsec, le mode de tunneling peut également être établi entre la passerelle et le système d'extrémité individuel.

Protocoles IPsec

IPsec utilise les protocoles de sécurité pour fournir les services de sécurité souhaités. Ces protocoles sont au cœur des opérations IPsec et tout le reste est conçu pour prendre en charge ces protocoles dans IPsec.

Les associations de sécurité entre les entités communicantes sont établies et maintenues par le protocole de sécurité utilisé.

Il existe deux protocoles de sécurité définis par IPsec: l'en-tête d'authentification (AH) et l'encapsulation de la charge utile de sécurité (ESP).

En-tête d'authentification

Le protocole AH fournit un service d'intégrité des données et d'authentification d'origine. Il répond en option à la résistance à la relecture des messages. Cependant, il n'offre aucune forme de confidentialité.

AH est un protocole qui fournit l'authentification de tout ou partie du contenu d'un datagramme par l'ajout d'un en-tête. L'en-tête est calculé en fonction des valeurs du datagramme. Quelles parties du datagramme sont utilisées pour le calcul, et où placer l'en-tête, dépend de la coopération de mode (tunnel ou transport).

Le fonctionnement du protocole AH est étonnamment simple. Il peut être considéré comme similaire aux algorithmes utilisés pour calculer les sommes de contrôle ou effectuer des contrôles CRC pour la détection d'erreur.

Le concept derrière AH est le même, sauf qu'au lieu d'utiliser un algorithme simple, AH utilise un algorithme de hachage spécial et une clé secrète connue uniquement des parties communicantes. Une association de sécurité entre deux appareils est mise en place qui spécifie ces détails.

Le processus d'AH passe par les phases suivantes.

  • Lorsque le paquet IP est reçu de la pile de protocoles supérieure, IPsec détermine l'association de sécurité (SA) associée à partir des informations disponibles dans le paquet; par exemple, adresse IP (source et destination).

  • A partir de SA, une fois qu'il est identifié que le protocole de sécurité est AH, les paramètres de l'en-tête AH sont calculés. L'en-tête AH comprend les paramètres suivants -

  • Le champ d'en-tête spécifie le protocole du paquet suivant l'en-tête AH. L'index des paramètres de séquence (SPI) est obtenu à partir de SA existant entre les parties communicantes.

  • Le numéro de séquence est calculé et inséré. Ces nombres fournissent à AH la capacité facultative de résister à l'attaque de relecture.

  • Les données d'authentification sont calculées différemment selon le mode de communication.

  • En mode transport, le calcul des données d'authentification et l'assemblage du paquet IP final pour la transmission sont représentés dans le diagramme suivant. Dans l'en-tête IP d'origine, le changement est effectué uniquement dans le numéro de protocole 51 à l'application indiquée de AH.

  • En mode Tunnel, le processus ci-dessus se déroule comme illustré dans le diagramme suivant.

Protocole de sécurité d'encapsulation (ESP)

ESP fournit des services de sécurité tels que la confidentialité, l'intégrité, l'authentification d'origine et la résistance à la relecture en option. L'ensemble des services fournis dépend des options sélectionnées au moment de l'établissement de l'association de sécurité (SA).

Dans ESP, les algorithmes utilisés pour le chiffrement et la génération de l'authentificateur sont déterminés par les attributs utilisés pour créer la SA.

Le processus d'ESP est le suivant. Les deux premières étapes sont similaires au processus de AH comme indiqué ci-dessus.

  • Une fois qu'il est déterminé que ESP est impliqué, les champs du paquet ESP sont calculés. La disposition du champ ESP est illustrée dans le diagramme suivant.

  • Le processus de chiffrement et d'authentification en mode transport est illustré dans le diagramme suivant.

  • Dans le cas du mode Tunnel, le processus de cryptage et d'authentification est comme illustré dans le diagramme suivant.

Bien que l'authentification et la confidentialité soient les principaux services fournis par ESP, les deux sont facultatifs. Techniquement, nous pouvons utiliser le cryptage NULL sans authentification. Cependant, dans la pratique, l'un des deux doit être mis en œuvre pour utiliser l'ESP de manière efficace.

Le concept de base est d'utiliser ESP quand on veut authentification et cryptage, et d'utiliser AH quand on veut une authentification étendue sans cryptage.

Associations de sécurité dans IPsec

L'association de sécurité (SA) est la base d'une communication IPsec. Les caractéristiques de SA sont -

  • Avant l'envoi des données, une connexion virtuelle est établie entre l'entité émettrice et l'entité réceptrice, appelée «Association de sécurité (SA)».

  • IPsec fournit de nombreuses options pour effectuer le chiffrement et l'authentification du réseau. Chaque connexion IPsec peut fournir le chiffrement, l'intégrité, l'authenticité ou les trois services. Lorsque le service de sécurité est déterminé, les deux entités homologues IPsec doivent déterminer exactement les algorithmes à utiliser (par exemple, DES ou 3DES pour le chiffrement; MD5 ou SHA-1 pour l'intégrité). Après avoir choisi les algorithmes, les deux appareils doivent partager des clés de session.

  • SA est un ensemble de paramètres de communication ci-dessus qui fournit une relation entre deux ou plusieurs systèmes pour créer une session IPsec.

  • La SA est de nature simple et, par conséquent, deux SA sont nécessaires pour les communications bidirectionnelles.

  • Les SA sont identifiées par un numéro SPI (Security Parameter Index) qui existe dans l'en-tête du protocole de sécurité.

  • Les entités émettrices et réceptrices conservent des informations d'état sur la SA. Il est similaire aux points de terminaison TCP qui conservent également les informations d'état. IPsec est orienté connexion comme TCP.

Paramètres de SA

Toute SA est identifiée de manière unique par les trois paramètres suivants -

  • Index des paramètres de sécurité (SPI).

    • Il s'agit d'une valeur 32 bits attribuée à SA. Il est utilisé pour faire la distinction entre différentes SA se terminant à la même destination et utilisant le même protocole IPsec.

    • Chaque paquet d'IPsec porte un en-tête contenant le champ SPI. Le SPI est fourni pour mapper le paquet entrant vers une SA.

    • Le SPI est un nombre aléatoire généré par l'expéditeur pour identifier la SA auprès du destinataire.

  • Destination IP Address - Cela peut être l'adresse IP du routeur final.

  • Security Protocol Identifier - Il indique si l'association est une AH ou ESP SA.

Un exemple de SA entre deux routeurs impliqués dans la communication IPsec est illustré dans le diagramme suivant.

Bases de données administratives de sécurité

Dans IPsec, il existe deux bases de données qui contrôlent le traitement du datagramme IPsec. L'un est la base de données d'association de sécurité (SAD) et l'autre est la base de données de politique de sécurité (SPD). Chaque point de terminaison de communication utilisant IPsec doit avoir un SAD et un SPD logiquement séparés.

Base de données des associations de sécurité

Dans la communication IPsec, le point de terminaison conserve l'état SA dans la base de données d'association de sécurité (SAD). Chaque entrée SA dans la base de données SAD contient neuf paramètres comme indiqué dans le tableau suivant -

N ° Sr. Paramètres et description
1

Sequence Number Counter

Pour les communications sortantes. Il s'agit du numéro de séquence 32 bits fourni dans les en-têtes AH ou ESP.

2

Sequence Number Overflow Counter

Définit un indicateur d'option pour empêcher d'autres communications utilisant le SA spécifique

3

32-bit anti-replay window

Utilisé pour déterminer si un paquet AH ou ESP entrant est une relecture

4

Lifetime of the SA

Temps jusqu'à ce que SA reste actif

5

Algorithm - AH

Utilisé dans l'AH et la clé associée

6

Algorithm - ESP Auth

Utilisé dans la partie d'authentification de l'en-tête ESP

sept

Algorithm - ESP Encryption

Utilisé dans le cryptage de l'ESP et ses informations clés associées

8

IPsec mode of operation

Mode transport ou tunnel

9

Path MTU(PMTU)

Toute unité de transmission maximale du chemin observé (pour éviter la fragmentation)

Toutes les entrées SA dans le SAD sont indexées par les trois paramètres SA: adresse IP de destination, identificateur de protocole de sécurité et SPI.

Base de données de politique de sécurité

SPD est utilisé pour traiter les paquets sortants. Cela aide à décider quelles entrées SAD doivent être utilisées. Si aucune entrée SAD n'existe, SPD est utilisé pour en créer de nouvelles.

Toute entrée SPD contiendrait -

  • Pointeur vers SA active détenue dans SAD.

  • Champs de sélection - Champ dans le paquet entrant de la couche supérieure utilisé pour décider de l'application d'IPsec. Les sélecteurs peuvent inclure l'adresse source et de destination, les numéros de port le cas échéant, les identifiants d'application, les protocoles, etc.

Les datagrammes IP sortants vont de l'entrée SPD à la SA spécifique, pour obtenir les paramètres de codage. Les datagrammes IPsec entrants parviennent directement à la bonne SA en utilisant le triplet SPI / DEST IP / Protocole, et à partir de là, il extrait l'entrée SAD associée.

SPD peut également spécifier le trafic qui doit contourner IPsec. SPD peut être considéré comme un filtre de paquets où les actions décidées sont l'activation de processus SA.

Sommaire

IPsec est une suite de protocoles pour sécuriser les connexions réseau. Il s'agit d'un mécanisme plutôt complexe, car au lieu de donner une définition simple d'un algorithme de chiffrement et d'une fonction d'authentification spécifiques, il fournit un cadre qui permet une mise en œuvre de tout ce sur quoi les deux extrémités de communication s'accordent.

L'en-tête d'authentification (AH) et l'encapsulation de la charge utile de sécurité (ESP) sont les deux principaux protocoles de communication utilisés par IPsec. Alors qu'AH s'authentifie uniquement, ESP peut crypter et authentifier les données transmises via la connexion.

Le mode de transport fournit une connexion sécurisée entre deux points de terminaison sans changer l'en-tête IP. Le mode tunnel encapsule l'intégralité du paquet IP de charge utile. Il ajoute un nouvel en-tête IP. Ce dernier est utilisé pour former un VPN traditionnel, car il fournit un tunnel virtuel sécurisé sur un Internet non fiable.

La configuration d'une connexion IPsec implique toutes sortes de choix cryptographiques. L'authentification est généralement construite sur un hachage cryptographique tel que MD5 ou SHA-1. Les algorithmes de chiffrement sont DES, 3DES, Blowfish et AES étant courants. D'autres algorithmes sont également possibles.

Les deux points de terminaison communicants doivent connaître les valeurs secrètes utilisées dans le hachage ou le chiffrement. Les clés manuelles nécessitent une entrée manuelle des valeurs secrètes aux deux extrémités, vraisemblablement véhiculées par un mécanisme hors bande, et IKE (Internet Key Exchange) est un mécanisme sophistiqué pour le faire en ligne.