Les nouveaux services de messagerie électronique
Les protocoles en jeu
SMTP & ESMTP
SMTP est indépendant du protocole de transport mais les implémentations actuelles utilisent le TCP. Un client SMTP obtiendra le nom du serveur SMTP à contacter soit par défaut, soit par grâce au DNS (enregistrement MX) en utilisant le domaine figurant dans l’adresse.
L'ESMTP (Extended SMTP) est un protocole étendu des fonctionnalités SMTP qui fournit des options supplémentaires (authentification d'hôtes et le cryptage). ESMTP autorise le serveur destinatire à informer le client (ou serveur) émetteur des extensions qu'il supporte. ESMTP se connecte de la manière suivante :
- 1. Le poste émetteur initialise la connexion avec le serveur destinataire. Le serveur retourne le code 220, indiquant qu'il a ouvert la connexion.
-
2. Le poste émetteur va envoyer la commande EHLO au lieu de HELO. Le serveur peut alors répondre de deux façons :
- Si le serveur supporte les commandes ESMTP, alors il retourne le code 250 indiquant qu'il accepte la session et propose au poste émetteur de continuer. Le serveur va ensuite envoyer la liste des extensions SMTP qu'il supporte.
- Dans le cas où le serveur ne supporte pas les commandes ESMTP, il retourne le code 500, lequel correspond à une commande inconnue. Le poste émetteur envoie alors la commande HELO pour initier une communication SMTP.
En ESMTP on a introduit le mode DSN qui signifie delivery service notification (RFC 3461). La commande MAIL FROM comporte deux paramètres RET=retour ENVID=ident. Le paramètre retour indique la portion du message émis que l'accusé doit retourner. Le paramètre envid définit un identificateur qui sera retourné pour permettre d'apparier un message et son accusé de réception. Receipt to comporte deux paramètres notify et adresse du destinataire de l'accusé de réception. Le paramètre notifiy définit le motif qui doit conduire à une notification.
Le mode AUTH (RFC 2554) introduit la possibilité d'authentifier l'émetteur d'un courrier. Le client de messagerie devrait alors prouver à son MTA qu'il est bien l'auteur du courrier qu'il demande de transmettre. de même un MTA qui demanderait le relayage d'un message à un autre MTA devrait s'authentifier ce qui limiterait un peu les possibilités de SPAM. En fait les modes vraiment sécuritaires de fonctionnement du courrier sont réellement traités avec S-MIME mais aussi avec PGP.
Il est important de bien prendre en compte le fait qu'un message comporte à la fois :
-
Une enveloppe :
- Adresse de l’expéditeur (commande MAIL FROM: )
- Le ou les destinataires ( commande RCPT TO: )
-
Un contenu :
- Au Format MIME (corps au format non textuel et plusieurs parties)
-
Composé d’une entête :
Liste de paires
: - Un corps
Les protocoles de récupération de courrier
POP (RFC 1939)
Le protocole POP (Post Office Protocol permet d'aller récupérer son courrier sur un serveur distant (le serveur POP). Il est nécessaire pour les personnes n'étant pas connectées en permanence à Internet afin de pouvoir consulter les mails reçus hors connexion.
Il existe deux principales versions de ce protocole, POP2 et POP3, auxquels sont affectés respectivement les ports 109 et 110 et fonctionnant à l'aide de commandes textuelles radicalement différentes.
Tout comme dans le cas du protocole SMTP, le protocole POP fonctionne grâce à des commandes textuelles envoyées au serveur POP. Chacune des commandes envoyées par le client (validée par la séquence CR/LF) est composée d'un mot-clé, éventuellement accompagné d'un ou plusieurs arguments et est suivie d'une réponse du serveur POP composée d'un numéro et d'un message descriptif.
Le protocole POP3 gére ainsi l'authentification à l'aide d'un nom d'utilisateur et d'un mot de passe, il n'est par contre pas sécurisé car les mots de passe, au même titre que les mails, circulent en clair (de manière non chiffrée) sur le réseau. En réalité, selon la RFC1939, il est possible de chiffrer le mot de passe en utilisant l'algorithme MD5 et ainsi bénéficier d'une authentification sécurisée. Toutefois, cette commande étant optionnelle, peu de serveurs l'implémentent. D'autre part le protocole POP3 bloque la boîte aux lettres lors de la consultation, ce qui signifie qu'une consultation simultanée par deux utilisateurs d'une même boîte aux lettres est impossible.
IMAP (RFC 3501)
Le protocole IMAP (Internet Message Access Protocol) est un protocole alternatif au protocole POP3 mais offrant beaucoup plus de possibilités :
- IMAP permet de gérer plusieurs accès simultanés
- IMAP permet de gérer plusieurs boîtes aux lettres
- IMAP permet de trier le courrier selon plus de critères
Avec le protocole IMAP, en revanche, tous vos courriers et vos dossiers de messages restent sur le serveur. A chaque fois que vous vous connectez au serveur par IMAP, vous n'effectuez plus une relève des messages, mais une synchronisation des messages (exactement comme pour les newsgroups). Le logiciel vous affiche alors une copie de votre boîte aux lettres, archives comprises. Comme l'original reste sur le serveur, vous pouvez avoir accès à votre courrier à partir de n’importe quel client de messagerie et votre courrier demeurant sur le serveur vous économisez de l'espace disque. On notera enfin la synchronisation peut être sélective. Il est en effet possiblede ne télécharger que l'en-tête des messages ou les dossiers de courrier désirés.
De plus plusieurs procédures d’authentification sont disponibles :
- Login/passwd
- TLS
- Authentification spécifique.