WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Etude et développement d'une application de messagerie électronique

( Télécharger le fichier original )
par Abdelkerim Douiri
Ecole Nationale des Sciences de L'Informatique - Ingénieur informatique 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Conclusion

Tout au long de ce chapitre, nous avons essayé de mettre au point le cadre général de notre travail. Pour ce faire nous avons tout d'abord précisé l'organisme d'accueil qui s'avère un élément fondamental dans l'environnement du projet et dont s'ensuit une étude comparative entre les solutions du mailing existantes. Finalement nous avons exposé la Travail demandé.

CHAPITRE2

 

Étude Théorique

Introduction

L'échange de courriers électroniques est certainement l'un des plus vieux et des plus utilisés de tous les services offerts sur Internet. Dans ce chapitre, nous allons faire l'état de l'art de ce service. Une première partie sera consacrée à la définition de quelques notions relatives au service de messagerie, sa structure et les différents agents intervenants. En une seconde partie, nous allons nous intéresser aux différents protocoles régulant la messagerie électronique.

2.1 Le service de messagerie 2.1.1 Définitions

Un service de messagerie, dans sa forme la plus basique, est un service permettant essentiellement l'échange de messages textuels entre les différents utilisateurs enregistrés (ayant une adresse électronique valide) et connectés à un réseau informatique, que ce soit en local ou sur internet.

Mais, actuellement, les services de messagerie sont beaucoup plus riches et présentent beaucoup plus de fonctionnalités; à savoir l'intégration des pièces jointes (joindre un fichier quelconque au message envoyé), la gestion du courrier indésirable (les spams) et la manipulation des listes de diffusion (permettre l'envoi multiple).

Cet échange de messages peut s'effectuer en différé, c'est-à-dire il n'est pas nécessaire que le destinataire soit connecté au moment de l'envoi, son message sera enregistré sur un serveur et il pourra le consulter ultérieurement. On parle à ce moment de la messagerie électronique simple.

Par ailleurs, l'échange peut aussi se faire en temps réel et on parle à ce moment de la messagerie instantanée.

logiciel qui assure les différentes fonctionnalités du service de messagerie. Dans la partie suivante nous allons présenter les différents agents constituant un service de messagerie.

2.1.2 Les différents agents d'un serveur de messagerie

2.1.2.1 Le Mail User Agent (MUA)

Le MUA est un programme qui sert à lire, écrire, répondre, recevoir des messages [B1]. Il présente généralement une interface graphique riche à la disposition de l'utilisateur. Le MUA ne permet pas de transférer le message au destinataire, pour cela il fait appel à un MTA.

2.1.2.2 Le Mail Transfert Agent (MTA)

Le MTA est un programme dédié à la transmission des messages entre utilisateurs que ce soit en local ou sur des machines distantes. En général on a un seul MTA par machine[B1]. Un MTA reçoit, habituellement par le protocole SMTP 1, les emails envoyés soit par des clients de messagerie électronique (MUA), soit par d'autres MTA. Son rôle est de redistribuer ces courriers à des Mail Delivery Agent (MDA) et/ou d'autres MTA.

Parmi les principaux MTA on trouve Qmail, Postfix, Sun ONE Messaging Server, Send-mail et Sendmail Switch (version commerciale de Sendmail).

2.1.2.3 Le Mail Delivery Agent (MDA)

Un Mail Delivery Agent marque la fin de l'acheminement du mail vers la destination[B1]. C'est le MDA qui reçoit le message du MTA et se charge de le placer dans la boite aux lettres de l'utilisateur. Il doit donc gérer les éventuels problèmes tels qu'un disque plein ou une boite aux lettres corrompue et doit impérativement signaler au MTA toute erreur de délivrance. Parmi les MDA connus nous citons : Procmail2, maildrop, etc. La figure (2.1) présente le chemin suivi par un message

2.2 Structure générale et format d'un message

2.2.1 Structure d'un message

Les messages électroniques échangés obéissent à une structure bien définie. Ils sont organisés en trois parties, à savoir : L'entête : elle comporte plusieurs informations générales mais très utiles lors de l'envoi du message. Voici quelques exemples des champs de l'entête :

1. Le Simple Mail Transfer Protocol (littéralement << Protocole simple de transfert de courrier >>), généralement abrégé SMTP, est un protocole de communication utilisé pour transférer le courrier électronique vers les serveurs de messagerie électronique.

2. Procmail est un outil permettant principalement de filtrer des messages électroniques

Figure 2.1 -- Acheminement d'un message électronique

· Le champ FROM : contient l'adresse source du message.

· Le champ RECEIVED : chaque machine qui reçoit un message ajoute son adresse dans ce champ.

· Le champ DATE : contient la date d'envoi du message.

· Le champ TO : contient la liste des destinataires séparés par des virgules.

· Le corps : il contient les données utiles, c'est à dire le contenu du message à transmettre. Il doit être impérativement séparé de l'entête par une ligne vide. Il faut faire attention à ne pas insérer des caractères non imprimables tels que les espaces ou les tabulations sinon la structure du message sera erronée.

· L'enveloppe : par analogie avec l'enveloppe du courrier traditionnel, elle contient

essentiellement des informations concernant le destinataire et l'expéditeur. Si le message est destiné à plusieurs destinataires, chacun a sa propre enveloppe mais la même entête et le même corps du message. L'enveloppe est envoyée séparément du reste du message. Elle sert à router le message vers une destination bien déterminée.

2.2.2 Les formats standards de messages : la norme MIME

Pour des raisons de compatibilité, plusieurs normes ont été élaborées afin d'uniformiser la structure des messages et de définir des formats standards. Parmi ces standards nous citons Multipurpose Internet Mail Extension ou MIME. Les principaux apports du standard MIME [N3] sont :

· Possibilité d'avoir plusieurs objets (pièces jointes) dans un même message.

· Une longueur de message illimitée.

· L'utilisation de jeux de caractères (alphabets) autres que le code ASCII.

· L'utilisation de texte enrichi (mise en forme des messages, polices de caractères, couleurs, etc.)

· Des pièces jointes binaires (exécutables, images, fichiers audio ou vidéo, etc.) comportant éventuellement plusieurs parties.

MIME utilise des directives d'entête spécifiques pour décrire le format utilisé dans le corps d'un message, afin de permettre au client de messagerie de pouvoir l'interpréter correctement :

· MIME-Version : Il s'agit de version du standard MIME utilisée dans le message. Actuellement seule la version 1.0 existe.

· Content-type : Décrit le type et les sous-types des données.

· Content-Transfer-Encoding : Définit l'encodage utilisé dans le corps du message.

· Content-ID : Représente un identificateur unique de partie de message.

· Content-Description : Donne des informations complémentaires sur le contenu du message.

· Content-Disposition : Définit les paramètres de la pièce jointe, notamment le nom associé au fichier grâce à l'attribut filename.

2.2.3 Les principaux types de MIME

Le type MIME, utilisé dans l'entête Content-Type, est utilisé pour typer les documents attachés à un courrier[N3]. Les principaux types de données, appelés parfois " types de données discrets ", sont les suivants :

· text: données textuelles lisibles. text/rfc822 [RFC822] ; text/plain [RF646] ; text/html [RF854].

· image: données binaires représentant des images numériques image/jpeg , image/gif , image/png.

· audio : données numériques sonores audio/basic; audio/wav.

· video : données vidéos : video/mpeg.

· application : données binaires autres; application/octet-stream; application/pdf

2.2.4 Les types de codage

Pour transférer des données binaires, MIME propose cinq formats de codage pouvant être utilisé dans l'entête Transfer-encoding:

· 7bit : format texte codé sur 7 bits (pour les messages non accentués).

· 8bit : format texte 8 bits.

· quoted-printable : format Quoted-Printable, recommandé pour les messages utilisant un alphabet codé sur plus de 7 bits (présence d'accents par exemple).

· base64 : format Base 64, recommandé pour l'envoi de fichiers binaires en pièce jointe.

· binary: format binaire.

2.3 Les différents protocoles utilisés

Figure 2.2 -- La couche protocolaire TCP/IP

2.3.1 Le protocole Simple Mail Transfert Protocol (SMTP)

C'est un protocole de communication utilisé pour transférer le courrier [N4] vers les serveurs de messagerie électronique. Il est dédié exclusivement à l'envoi des messages vers un serveur mais pas à la réception. Comme son nom l'indique, il s'agit d'un protocole simple à utiliser.

On doit commencer par spécifier l'expéditeur du message puis, la ou les destinations. Après vérification de leur existence, le corps du message est transféré. SMTP utilise par défaut le port 25 pour ses échanges.

Le logiciel sendmail est l'un des premiers serveurs de messagerie électronique à utiliser SMTP. Aujourd'hui, la quasi-totalité des clients email peuvent utiliser SMTP pour envoyer leurs messages.

2.3.2 Les protocoles Post Office Protocol (POP) et Internet Message Access Protocol (IMAP)

Bien qu'ils assurent la même finalité, leurs manières de procéder par défaut diffèrent. Pour POP, il se connecte au serveur, télécharge tout les messages sur la machine locale en les marquant comme nouveaux messages, les efface du serveur et se déconnecte. L'utilisateur peut alors consulter ses messages hors connexion.

Pour IMAP, la consultation des messages se fait sur le serveur, rien n'est téléchargé en local et rien n'est effacé du serveur sauf suite à la demande explicite de l'utilisateur.

2.3.3 Le protocole Secure Socket Layer (SSL)

Á la différence des protocoles précédents, SSL n'est pas spécifique aux applications de messagerie. Il s'agit d'un protocole de sécurisation des communications sur un réseau informatique, notamment internet. En effet, avec le développement d'internet et l'apparition de nouveaux domaines d'activités assez sensibles tels que les transactions bancaires et le e-commerce, le besoin d'une communication confidentielle et sécurisée s'est fait sentir. Dès lors, plusieurs mécanismes et protocoles de sécurisation ont vu le jour. L'un des premiers à être développé et des plus répandus aujourd'hui est SSL.

Développé à l'origine par Netscape 3, il a été nommé TLS pour Transport Layer Security par l'IETF (Internet Engineering Task Force) après le rachat du brevet de Netscape en 2001. Par abus de langage on parle aujourd'hui de SSL pour désigner indifféremment SSL ou TLS. Le protocole SSL s'intercale entre la couche transport et la couche application de la pile protocolaire TCP/IP (figure 2.3).

Figure 2.3 -- Pile protocolaire TCP/IP avec SSL

3. Netscape est une entreprise d'informatique américaine qui a été pionnière du World Wide Web avec son navigateur Web Netscape Navigator. L'entreprise a existé uniquement de 1994 à 2003, et en tant que filiale d'AOL à la fin.

Situé au dessous de la couche applicative, SSL peut être utilisé indépendamment du type d'application. Il peut être utilisé au dessous de http pour sécuriser simplement des pages inter-net, au dessous de SMTP, IMAP ou POP pour sécuriser les échanges de messagerie,etc.

Bref, c'est un protocole de sécurisation de toute sorte de trafic de données sur un réseau. SSL fonctionne suivant un mode client-serveur. Il fournit quatre objectifs de sécurité importants :

· L'authentification du serveur.

· La confidentialité des données échangées (session chiffrée).

· L'intégrité des données échangées.

· De manière optionnelle, l'authentification du client avec un certificat numérique.

Pour son fonctionnement, SSL utilise une combinaison de systèmes de cryptologie4 à clé symétrique et à clé publique. Le premier système est beaucoup plus rapide mais le second offre un meilleur niveau de sécurité. Ainsi, SSL tire profil des deux. Une session SSL commence avec un échange de messages appelé la phase de " handshake ". Cette phase permet, en premier temps, au serveur de s'authentifier auprès du client moyennant sa clé publique, puis le client et le serveur coopèrent pour produire une clé symétrique qui sera utilisée pour crypter, décrypter tout les échanges de la session en cours.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Je voudrais vivre pour étudier, non pas étudier pour vivre"   Francis Bacon