Sécurité réseau - Couche d'application

Divers services commerciaux sont désormais proposés en ligne via des applications client-serveur. Les formulaires les plus courants sont les applications Web et les e-mails. Dans les deux applications, le client communique avec le serveur désigné et obtient des services.

Lors de l'utilisation d'un service à partir de n'importe quelle application serveur, le client et le serveur échangent de nombreuses informations sur l'intranet ou Internet sous-jacent. Nous sommes conscients du fait que ces transactions d'informations sont vulnérables à diverses attaques.

La sécurité du réseau implique la sécurisation des données contre les attaques lorsqu'elles sont en transit sur un réseau. Pour atteindre cet objectif, de nombreux protocoles de sécurité en temps réel ont été conçus. Un tel protocole doit fournir au moins les objectifs principaux suivants -

  • Les parties peuvent négocier de manière interactive pour s'authentifier mutuellement.
  • Établissez une clé de session secrète avant d'échanger des informations sur le réseau.
  • Échangez les informations sous forme cryptée.

Fait intéressant, ces protocoles fonctionnent sur différentes couches du modèle de réseau. Par exemple, le protocole S / MIME fonctionne au niveau de la couche Application, le protocole SSL est développé pour fonctionner au niveau de la couche de transport et le protocole IPsec fonctionne au niveau de la couche réseau.

Dans ce chapitre, nous aborderons différents processus permettant d'assurer la sécurité des communications par courrier électronique et des protocoles de sécurité associés. La méthode de sécurisation du DNS est abordée ultérieurement. Dans les chapitres suivants, les protocoles pour atteindre la sécurité Web seront décrits.

Sécurité des e-mails

De nos jours, l'e-mail est devenu une application réseau très largement utilisée. Parlons brièvement de l'infrastructure de messagerie avant de commencer à connaître les protocoles de sécurité de messagerie.

Infrastructure de messagerie

Le moyen le plus simple d'envoyer un e-mail serait d'envoyer un message directement de la machine de l'expéditeur à la machine du destinataire. Dans ce cas, il est essentiel que les deux machines fonctionnent simultanément sur le réseau. Cependant, cette configuration n'est pas pratique car les utilisateurs peuvent occasionnellement connecter leurs machines au réseau.

Par conséquent, le concept de mise en place de serveurs de messagerie est arrivé. Dans cette configuration, le courrier est envoyé à un serveur de messagerie disponible en permanence sur le réseau. Lorsque la machine du destinataire se connecte au réseau, elle lit le courrier sur le serveur de messagerie.

En général, l'infrastructure de messagerie se compose d'un maillage de serveurs de messagerie, également appelé Message Transfer Agents (MTA) et ordinateurs clients exécutant un programme de messagerie électronique comprenant un agent utilisateur (UA) et un MTA local.

En règle générale, un message électronique est transféré à partir de son UA, passe par le maillage des MTA et atteint finalement l'UA sur la machine du destinataire.

Les protocoles utilisés pour le courrier électronique sont les suivants -

  • Le protocole SMTP (Simple mail Transfer Protocol) utilisé pour le transfert des messages électroniques.

  • Post Office Protocol (POP) et Internet Message Access Protocol (IMAP) sont utilisés pour récupérer les messages par destinataire à partir du serveur.

MIME

La norme de base du courrier électronique Internet a été rédigée en 1982 et décrit le format des messages électroniques échangés sur Internet. Il prend principalement en charge les messages électroniques écrits sous forme de texte en alphabet romain de base.

En 1992, le besoin s'est fait sentir d'améliorer la même chose. Par conséquent, une extension de messagerie Internet polyvalente (MIME) standard supplémentaire a été définie. Il s'agit d'un ensemble d'extensions à la norme de base de messagerie Internet. MIME offre la possibilité d'envoyer des e-mails en utilisant des caractères autres que ceux de l'alphabet romain de base tels que l'alphabet cyrillique (utilisé en russe), l'alphabet grec ou même les caractères idéographiques du chinois.

Un autre besoin satisfait par MIME est d'envoyer des contenus non textuels, tels que des images ou des clips vidéo. En raison de ces fonctionnalités, la norme MIME a été largement adoptée avec SMTP pour la communication par e-mail.

Services de sécurité du courrier électronique

L'utilisation croissante de la communication par courrier électronique pour des transactions importantes et cruciales nécessite la fourniture de certains services de sécurité fondamentaux comme suit:

  • Confidentiality - Le message électronique ne doit être lu par personne d'autre que le destinataire prévu.

  • Authentication - Le destinataire de l'e-mail peut être sûr de l'identité de l'expéditeur.

  • Integrity - Assurance au destinataire que le message électronique n'a pas été modifié depuis sa transmission par l'expéditeur.

  • Non-repudiation - Le destinataire de l'e-mail peut prouver à un tiers que l'expéditeur a bien envoyé le message.

  • Proof of submission - L'expéditeur de l'e-mail reçoit la confirmation que le message est remis au système de distribution du courrier.

  • Proof of delivery - L'expéditeur reçoit une confirmation que le destinataire a reçu le message.

Les services de sécurité tels que la confidentialité, l'authentification, l'intégrité des messages et la non-répudiation sont généralement fournis à l'aide de la cryptographie à clé publique.

En règle générale, il existe trois scénarios différents de communication par courrier électronique. Nous discuterons des méthodes pour obtenir les services de sécurité ci-dessus dans ces scénarios.

E-mail individuel

Dans ce scénario, l'expéditeur envoie un message électronique à un seul destinataire. Habituellement, pas plus de deux MTA sont impliqués dans la communication.

Supposons qu'un expéditeur souhaite envoyer un e-mail confidentiel à un destinataire. La protection de la vie privée dans ce cas est réalisée comme suit -

  • L'expéditeur et le destinataire ont respectivement leurs clés privées-publiques (S PVT , S PUB ) et (R PVT , R PUB ).

  • L'expéditeur génère une clé symétrique secrète, K S pour le chiffrement. Bien que l'expéditeur ait pu utiliser R PUB pour le chiffrement, une clé symétrique est utilisée pour accélérer le chiffrement et le déchiffrement.

  • L'expéditeur crypte le message avec la clé K S et crypte également K S avec la clé publique du destinataire, R PUB .

  • L'expéditeur envoie un message crypté et un K S crypté au destinataire.

  • Le destinataire obtient d'abord K S en déchiffrant K S codé à l' aide de sa clé privée, R PVT .

  • Le destinataire décrypte un message en utilisant la clé symétrique, K S .

Si des services d'intégrité des messages, d'authentification et de non-répudiation sont également nécessaires dans ce scénario, les étapes suivantes sont ajoutées au processus ci-dessus.

  • L'expéditeur produit le hachage du message et signe numériquement ce hachage avec sa clé privée, S PVT .

  • L'expéditeur envoie ce hachage signé au destinataire avec d'autres composants.

  • Le destinataire utilise la clé publique S PUB et extrait le hachage reçu sous la signature de l'expéditeur.

  • Le destinataire hache ensuite le message déchiffré et compare maintenant les deux valeurs de hachage. S'ils correspondent, l'intégrité du message est considérée comme atteinte.

  • De plus, le destinataire est sûr que le message est envoyé par l'expéditeur (authentification). Et enfin, l'expéditeur ne peut nier qu'il n'a pas envoyé le message (non-répudiation).

E-mail de destinataires un à plusieurs

Dans ce scénario, l'expéditeur envoie un message électronique à deux ou plusieurs destinataires. La liste est gérée par le programme de messagerie de l'expéditeur (UA + MTA local). Tous les destinataires reçoivent le même message.

Supposons que l'expéditeur souhaite envoyer un courrier électronique confidentiel à de nombreux destinataires (par exemple, R1, R2 et R3). La protection de la vie privée dans ce cas est réalisée comme suit -

  • L'expéditeur et tous les destinataires ont leur propre paire de clés privées-publiques.

  • L'expéditeur génère une clé symétrique secrète, K s et crypte le message avec cette clé.

  • L'expéditeur crypte ensuite K S plusieurs fois avec les clés publiques de R1, R2 et R3, obtenant R1 PUB (K S ), R2 PUB (K S ) et R3 PUB (K S ).

  • L'expéditeur envoie un message crypté et K S crypté correspondant au destinataire. Par exemple, le destinataire 1 (R1) reçoit un message crypté et R1 PUB (K S ).

  • Chaque destinataire extrait d'abord la clé K S en déchiffrant K S codé à l' aide de sa clé privée.

  • Chaque destinataire décrypte le message en utilisant la clé symétrique, K S .

Pour assurer l'intégrité du message, l'authentification et la non-répudiation, les étapes à suivre sont similaires aux étapes mentionnées ci-dessus dans un scénario de courrier électronique individuel.

E-mail de la liste de distribution unique

Dans ce scénario, l'expéditeur envoie un message électronique à deux ou plusieurs destinataires, mais la liste des destinataires n'est pas gérée localement par l'expéditeur. En règle générale, le serveur de messagerie (MTA) gère la liste de diffusion.

L'expéditeur envoie un courrier au MTA qui gère la liste de diffusion, puis le courrier est éclaté par le MTA à tous les destinataires de la liste.

Dans ce cas, lorsque l'expéditeur souhaite envoyer un e-mail confidentiel aux destinataires de la liste de diffusion (disons R1, R2 et R3); la confidentialité est assurée comme suit -

  • L'expéditeur et tous les destinataires ont leur propre paire de clés privées-publiques. Le serveur Exploder a une paire de clés privées-publiques pour chaque liste de diffusion (Liste PUB , Liste PVT ) qu'il gère.

  • L'expéditeur génère une clé symétrique secrète K s puis crypte le message avec cette clé.

  • L'expéditeur crypte alors K S avec la clé publique associée à la liste, obtient la Liste PUB (K S ).

  • L'expéditeur envoie un message crypté et une liste PUB (K S ). Le MTA exploseur déchiffre Liste PUB (K S ) à l' aide Liste PVT et obtient K S .

  • L'exploseur crypte K S avec autant de clés publiques qu'il y a de membres dans la liste.

  • L'explodeur transmet le message crypté reçu et le K S crypté correspondant à tous les destinataires de la liste. Par exemple, l'Exploder transmet le message crypté et R1 PUB (K S ) au destinataire 1 et ainsi de suite.

Pour assurer l'intégrité du message, l'authentification et la non-répudiation, les étapes à suivre sont similaires à celles données dans le cas d'un scénario d'e-mail un à un.

Il est intéressant de noter que le programme de messagerie utilisant la méthode de sécurité ci-dessus pour sécuriser le courrier électronique devrait fonctionner pour tous les scénarios possibles décrits ci-dessus. La plupart des mécanismes de sécurité ci-dessus pour le courrier électronique sont fournis par deux systèmes populaires, Pretty Good Privacy (PGP) et S / MIME. Nous discutons des deux dans les sections suivantes.

PGP

Pretty Good Privacy(PGP) est un schéma de cryptage des e-mails. Il est devenu la norme de facto pour la fourniture de services de sécurité pour la communication par courrier électronique.

Comme indiqué ci-dessus, il utilise la cryptographie à clé publique, la cryptographie à clé symétrique, la fonction de hachage et la signature numérique. Il fournit -

  • Privacy
  • Authentification de l'expéditeur
  • Intégrité des messages
  • Non-repudiation

Parallèlement à ces services de sécurité, il fournit également une prise en charge de la compression des données et de la gestion des clés. PGP utilise des algorithmes cryptographiques existants tels que RSA, IDEA, MD5, etc., plutôt que d'en inventer de nouveaux.

Fonctionnement de PGP

  • Le hachage du message est calculé. (Algorithme MD5)

  • Le hachage 128 bits résultant est signé à l'aide de la clé privée de l'expéditeur (algorithme RSA).

  • La signature numérique est concaténée au message et le résultat est compressé.

  • Une clé symétrique de 128 bits, K S, est générée et utilisée pour crypter le message compressé avec IDEA.

  • K S est chiffré à l'aide de la clé publique du destinataire à l'aide de l'algorithme RSA et le résultat est ajouté au message chiffré.

Le format du message PGP est indiqué dans le diagramme suivant. Les ID indiquent quelle clé est utilisée pour crypter KS et quelle clé doit être utilisée pour vérifier la signature sur le hachage.

Dans le schéma PGP, un message est signé et chiffré, puis MIME est codé avant la transmission.

Certificat PGP

Le certificat de clé PGP est normalement établi via une chaîne de confiance. Par exemple, la clé publique de A est signée par B en utilisant sa clé publique et la clé publique de B est signée par C en utilisant sa clé publique. Au fur et à mesure que ce processus se poursuit, il établit un réseau de confiance.

Dans un environnement PGP, tout utilisateur peut agir en tant qu'autorité de certification. Tout utilisateur PGP peut certifier la clé publique d'un autre utilisateur PGP. Cependant, un tel certificat n'est valable pour un autre utilisateur que si l'utilisateur reconnaît le certificateur comme un introducteur de confiance.

Plusieurs problèmes existent avec une telle méthode de certification. Il peut être difficile de trouver une chaîne menant d'une clé publique connue et fiable à la clé souhaitée. En outre, il peut y avoir plusieurs chaînes qui peuvent conduire à des clés différentes pour l'utilisateur souhaité.

PGP peut également utiliser l'infrastructure PKI avec une autorité de certification et les clés publiques peuvent être certifiées par CA (certificat X.509).

S / MIME

S / MIME signifie Secure Multipurpose Internet Mail Extension. S / MIME est une norme de messagerie électronique sécurisée. Il est basé sur une norme de messagerie électronique non sécurisée antérieure appelée MIME.

Fonctionnement de S / MIME

L'approche S / MIME est similaire à PGP. Il utilise également la cryptographie à clé publique, la cryptographie à clé symétrique, les fonctions de hachage et les signatures numériques. Il fournit des services de sécurité similaires à PGP pour la communication par e-mail.

Les chiffrements symétriques les plus couramment utilisés dans S / MIME sont RC2 et TripleDES. La méthode de clé publique habituelle est RSA et l'algorithme de hachage est SHA-1 ou MD5.

S / MIME spécifie le type MIME supplémentaire, tel que «application / pkcs7-mime», pour l'enveloppement des données après le chiffrement. L'ensemble de l'entité MIME est chiffrée et intégrée dans un objet. S / MIME a des formats de message cryptographiques normalisés (différents de PGP). En fait, MIME est étendu avec certains mots clés pour identifier les parties cryptées et / ou signées du message.

S / MIME repose sur des certificats X.509 pour la distribution des clés publiques. Il a besoin d'une PKI hiérarchique descendante pour la prise en charge de la certification.

Employabilité de S / MIME

En raison de l'exigence d'un certificat de l'autorité de certification pour la mise en œuvre, tous les utilisateurs ne peuvent pas profiter de S / MIME, car certains peuvent souhaiter crypter un message, avec une paire de clés publique / privée. Par exemple, sans l'implication ou la surcharge administrative des certificats.

En pratique, bien que la plupart des applications de messagerie implémentent S / MIME, le processus d'inscription de certificat est complexe. Au lieu de cela, la prise en charge de PGP nécessite généralement l'ajout d'un plug-in et ce plug-in est livré avec tout ce qui est nécessaire pour gérer les clés. Le Web of Trust n'est pas vraiment utilisé. Les gens échangent leurs clés publiques sur un autre support. Une fois obtenus, ils conservent une copie des clés publiques de ceux avec qui les e-mails sont généralement échangés.

La couche d'implémentation dans l'architecture réseau pour les schémas PGP et S / MIME est illustrée dans l'image suivante. Ces deux schémas fournissent une sécurité au niveau de l'application pour la communication par courrier électronique.

L'un des schémas, soit PGP ou S / MIME, est utilisé en fonction de l'environnement. Une communication par e-mail sécurisée dans un réseau captif peut être fournie en s'adaptant à PGP. Pour la sécurité des e-mails sur Internet, où les e-mails sont très souvent échangés avec de nouveaux utilisateurs inconnus, S / MIME est considéré comme une bonne option.

Sécurité DNS

Dans le premier chapitre, nous avons mentionné qu'un attaquant peut utiliser l'empoisonnement du cache DNS pour mener une attaque sur l'utilisateur cible. Domain Name System Security Extensions (DNSSEC) est une norme Internet qui peut déjouer de telles attaques.

Vulnérabilité du DNS standard

Dans un schéma DNS standard, chaque fois que l'utilisateur souhaite se connecter à un nom de domaine, son ordinateur contacte le serveur DNS et recherche l'adresse IP associée pour ce nom de domaine. Une fois l'adresse IP obtenue, l'ordinateur se connecte ensuite à cette adresse IP.

Dans ce schéma, aucun processus de vérification n'est impliqué. Un ordinateur demande à son serveur DNS l'adresse associée à un site Web, le serveur DNS répond avec une adresse IP et votre ordinateur l'accepte sans aucun doute comme une réponse légitime et se connecte à ce site Web.

Une recherche DNS se déroule en fait en plusieurs étapes. Par exemple, lorsqu'un ordinateur demande «www.tutorialspoint.com», une recherche DNS est effectuée en plusieurs étapes -

  • L'ordinateur demande d'abord au serveur DNS local (fourni par le FAI). Si le FAI a ce nom dans son cache, il répond sinon transmet la requête au «répertoire de la zone racine» où il peut trouver «.com». et les réponses de la zone racine.

  • Sur la base de la réponse, l'ordinateur demande ensuite au répertoire «.com» où il peut trouver «tutorialspoint.com».

  • Sur la base des informations reçues, l'ordinateur interroge «tutorialspoint.com» où il peut trouver www. tutorialspoint.com.

DNSSEC défini

La recherche DNS, lorsqu'elle est effectuée à l'aide de DNSSEC, implique la signature des réponses par l'entité répondante. DNSSEC est basé sur la cryptographie à clé publique.

Dans la norme DNSSEC, chaque zone DNS a une paire de clés publique / privée. Toutes les informations envoyées par un serveur DNS sont signées avec la clé privée de la zone d'origine pour garantir l'authenticité. Les clients DNS doivent connaître les clés publiques de la zone pour vérifier les signatures. Les clients peuvent être préconfigurés avec les clés publiques de tous les domaines de premier niveau ou DNS racine.

Avec DNSSEC, le processus de recherche se déroule comme suit -

  • Lorsque votre ordinateur va demander à la zone racine où il peut trouver .com, la réponse est signée par le serveur de la zone racine.

  • L'ordinateur vérifie la clé de signature de la zone racine et confirme qu'il s'agit de la zone racine légitime avec de vraies informations.

  • Dans la réponse, la zone racine fournit les informations sur la clé de signature du serveur de zone .com et son emplacement, permettant à l'ordinateur de contacter le répertoire .com et de s'assurer qu'il est légitime.

  • L'annuaire .com fournit ensuite la clé de signature et les informations pour tutorialspoint.com, lui permettant de contacter google.com et de vérifier que vous êtes connecté au vrai tutorialspoint.com, comme confirmé par les zones situées au-dessus.

  • Les informations envoyées se présentent sous la forme d'un ensemble d'enregistrements de ressources (RRSets). L'exemple de RRSet pour le domaine «tutorialspoint.com» dans le serveur «.com» de niveau supérieur est illustré dans le tableau suivant.

Nom de domaine Temps de vivre Type Valeur
tutorialspoint.com 86400 NS dns.tutorialspoint.com
dns.tutorialspoint.com 86400 UNE 36..1.2.3
tutorialspoint.com 86400 CLÉ 3682793A7B73F731029CE2737D ...
tutorialspoint.com 86400 SIG 86947503A8B848F5272E53930C ...
  • L'enregistrement KEY est une clé publique de «tutorialspoint.com».

  • L'enregistrement SIG est le hachage signé du serveur .com de niveau supérieur des champs NS, A et KEY enregistrements pour vérifier leur authenticité. Sa valeur est Kcom pvt (H (NS, A, KEY)).

Ainsi, on considère que lorsque DNSSEC est entièrement déployé, l'ordinateur de l'utilisateur est en mesure de confirmer que les réponses DNS sont légitimes et vraies, et d'éviter les attaques DNS lancées par empoisonnement du cache DNS.

Sommaire

Le processus de sécurisation des e-mails assure la sécurité de bout en bout de la communication. Il fournit des services de sécurité de confidentialité, d'authentification de l'expéditeur, d'intégrité des messages et de non-répudiation.

Deux schémas ont été développés pour la sécurité des e-mails: PGP et S / MIME. Ces deux schémas utilisent la cryptographie à clé secrète et à clé publique.

La recherche DNS standard est vulnérable aux attaques telles que l'usurpation DNS / l'empoisonnement du cache. La sécurisation de la recherche DNS est possible grâce à l'utilisation de DNSSEC qui utilise la cryptographie à clé publique.

Dans ce chapitre, nous avons discuté des mécanismes utilisés au niveau de la couche application pour assurer la sécurité du réseau pour la communication de bout en bout.