Les protocoles sécurisés : Principes et fonctionnements

Il existe plusieurs protocoles de sécurité, nous nous concentrerons sur les plus utilisés.

SSH : Secure Shell

Le Protocol SSH (Secure Shell) est utilisé pour un établir un accès sécurisé afin d’effectuer des opérations sensibles sur des machines distantes et des transferts de fichiers à travers un réseau ouvert tout en garantissant l’authentification, la confidentialité et l’intégrité des données.

L’établissement d’une connexion SSH se fait en plusieurs étapes :

  • Le serveur et le client s’identifient mutuellement
  • Le client s’authentifie auprès du serveur pour obtenir une session

La mise en place d’une couche de transport sécurisée débute par une phase de négociation entre le client et le serveur afin de s’entendre sur les méthodes de chiffrement à utiliser. En effet le protocole SSH est prévu pour fonctionner avec un grand nombre d’algorithmes de chiffrement, c’est pourquoi le client et le serveur doivent dans un premier temps échanger les algorithmes qu’ils supportent.
Ensuite, afin d’établir une connexion sécurisée, le serveur envoie sa clé publique d’hôte (host key) au client. Le client génère une clé de session de 256 bits qu’il chiffre grâce à la clé publique du serveur, et envoie au serveur la clé de session chiffrée ainsi que l’algorithme utilisé. Le serveur déchiffre la clé de session grâce à sa clé privée et envoie un message de confirmation chiffré à l’aide de la clé de session. A partir de là le reste des communications est chiffré grâce à un algorithme de chiffrement symétrique en utilisant la clé de session partagée par le client et le serveur.

Une fois que la connexion sécurisée est mise en place entre le client et le serveur, le client doit s’identifier sur le serveur afin d’obtenir un droit d’accès. Il existe plusieurs méthodes :

  • la méthode la plus connue est le traditionnel mot de passe. Le client envoie un nom d’utilisateur et un mot de passe au serveur au travers de la communication sécurisée et le serveur vérifie si l’utilisateur concerné a accès à la machine et si le mot de passe fourni est valide.
  • une méthode moins connue mais plus souple est l’utilisation de clefs publiques. Si l’authentification par clé est choisie par le client, le serveur va créer un challenge et donner un accès au client si ce dernier parvient à déchiffrer le challenge avec sa clé privée.

SSL : Secure Socket Layer

Le protocole Secure Socket Layer (SSL) est un protocole utilisé actuellement dans la sécurisation des échanges entre clients et serveurs sur internet. Il se situe en position intermédiaire entre la couche de transport assurée par TCP et la couche application correspondant aux protocoles SMTP, HTTP ou FTP.

Le protocole SSL est en fait constitué de quatre sous-protocoles qui assurent conjointement les fonctions sécuritaires d’authentification, de confidentialité et d’intégrité.

L’authentification repose sur un échange de clefs, utilisant notamment RSA ou Diffie-Hellman.

La confidentialité repose sur des algorithmes de chiffrement symétrique, utilisant des algorithmes de type AES, DES, triple DES, DES40, RC2 ou RC4.

L’intégrité des données et assurées par l’utilisation de fonctions de Hachage type SHA ou MD5.

Etape par étape, le principe est comme suit :

  • Demande d’initialisation d’une connexion sécurisée par SSL
  • Présentation du certificat (validité et signature)
  • Transmission d’une clé de cryptage unique (encodée avec la clé publique du serveur)
  • Décryptage de la clé de cryptage par le serveur, à l’aide de sa clé privée
  • Etablissement de la connexion sécurisée

SET : Secure Electronic Transaction

La sécurité des transactions de paiement, utilisant la carte bancaire, repose sur le protocole Secure Electronic Transaction (SET) élaboré conjointement par Visa, MasterCard et les acteurs majeurs de la communauté informatique.

En fait, deux projets concurrents ont eu pour objectif l’adoption du protocole SET à l’environnement des cartes bancaires dans le contexte européen : Le projet C-SET, soutenu par le GIE carte bancaires et Europay ; Le projet E-COMM, soutenu par plusieurs grandes banques, Visa, France Telecom et Gemplus.

SET assure, à l’aide des techniques cryptographiques à clé publique, les fonctions de sécurité de confidentialité des échanges, d’intégrité des données entre les différents acteurs impliqués dans la transaction et l’identification ainsi que l’authentification des intervenants.

Les transactions bancaires, utilisant SET, assurent notamment la gestion des certificats comportant à la fois l’inscription des clients et des commerçant auprès de l’autorité de certifications ainsi que la délivrance de ces certificats.

La lourdeur des mécanismes sécuritaires mis en œuvre sur SET, ainsi que le stockage fréquent des secrets du porteur de carte sur son disque dur, militent pour son évolution si l’on souhaite le faire accéder au statut de standard de sécurisation de transactions de paiement, par carte bancaire sur réseau ouvert.

Le constat d’un très faible taux de fraude, induit par l’utilisation en Europe du couple code confidentiel/sécurité de la carte au cours de ces dernières années, a conduit les consortiums C-SET et E-COMM à envisager des architectures comparables basées sur ce standard de fait.

S/MIME

S/MIME (Secure/Multipurpose Internal Mail Extensions) est un protocole utilisé pour l’envoi de messages chiffrés et signés numériquement. S/MIME permet de chiffrer les e-mails et les signer numériquement. Quand S/MIME est utilisé dans un message électronique, les utilisateurs qui reçoivent ce dernier savent que ce qu’elles voient dans leur mailbox est le message exact tel qu’il a été envoyé par l’expéditeur, sans modification préalable et pas de quelqu’un prétendant l’être.

Pour ce faire, S/MIME fournit des services de chiffrements tels que l’authentification et la signature numérique. Il permet également d’améliorer la confidentialité et la sécurité des données de la messagerie électronique à l’aide du chiffrement numérique.

 Saâd

Consultant Sécurité

Sources :

http://www.commentcamarche.net/contents/214-ssh-protocole-secure-shell#fonctionnement-de-ssh

http://www.techniques-ingenieur.fr/base-documentaire/technologies-de-l-information-th9/cryptographie-authentification-protocoles-de-securite-vpn-42314210/le-protocole-ssh-h5235/

https://www.ovh.com/fr/ssl/fonctionnement-ssl.xml

Ouvrage: Sécurité des systèmes d’information et maitrise des risques, de Michel LAFITTE.