• Aucun résultat trouvé

Architecture d’un système de messagerie électronique

électronique

Les systèmes de messagerie électronique actuels ont été développés en se basant sur les standards SMTP [8], IMF [9], MIME (standard composé de cinq documents [14][15][16][17][18]). Ce principe simple a permis une adoption rapide qui a ensuite entrainé un formidable développement de ces systèmes. Toutefois, ce succès a également entrainé le développement de systèmes qui ont fait face à des problèmes d'interopérabilité. En 2009, afin de remédier à ces développements pouvant comporter des incohérences souvent dues à des incompréhensions, un document permettant de clarifier les architectures de messagerie a été publié par l’IETF, le RFC 5598 [6]. Il présente les grands principes d'architectures de messagerie électronique basées sur les protocoles de l’Internet. Ce document propose une description globale de l’ensemble des composants, services et utilisateurs regroupés au sein d’une architecture appelée IMA (Internet Mail Architecture). Cette architecture permet d’effectuer des échanges dits de « bout en bout ». Cette terminologie correspond à l’envoi du message et à l’ensemble des remises qui résultent de son transit au sein d’un MHS (Mail Handling System). L'acheminement d’un message est réalisé par une infrastructure composée :

 d’un objet message appelé également message,  d’un espace d’adressage global,

 d’un mécanisme de transfert asynchrone de point à point

Il est à noter qu’un système compatible avec la spécification IMA n’intègre pas de mécanisme de transfert différencié des messages. Les politiques appliquées sur les messages ne tiennent pas compte de l'importance des informations transportées, de leurs niveaux de sensibilité... Cependant, le transfert de messages avec traitement des priorités a fait récemment l'objet de travaux et une extension du protocole SMTP a été publiée[19]. De plus, les utilisateurs d’un tel système ne doivent pas nécessairement être présents au moment de l’échange du message. Ce principe d’asynchronisme a également contribué au succès de la messagerie électronique.

IMA propose une description des rôles présents dans une architecture de messagerie. Ces rôles sont présentés sous la forme de trois types d'acteurs.

 User

 Message Handling Service (MHS)

 Administrative Management Domain (ADMD)

L’acteur User peut prendre plusieurs formes. Il peut correspondre à l’auteur du message (Author). Dans ce cas, il est en charge de la création du message, de son contenu et de la liste des destinataires. L’acteur User peut également être associé aux destinataires du message (Recipient). Il est à ce titre consommateur du message remis. Enfin, les deux autres acteurs sont des formes particulières du rôle User. Le premier appelé Return Handler est en charge du service des notifications qui peuvent être générées dans le cas de dysfonctionnements ou pour informer l’auteur du message que ce dernier a été correctement remis. Le dernier acteur est le médiateur (Mediator) dont le rôle est plus complexe. Il peut recevoir, agréger, reformuler et redistribuer les messages entre l’auteur du message et le destinataire. Le cas classique de médiateur est la liste de

32

diffusion qui offre un mécanisme d’expansion de liste et permet de dédier à ce rôle la création des messages et leurs transmissions à tous les destinataires présents dans la liste associée.

L’acteur MHS est en charge de la transmission du message de l’auteur jusqu’aux destinataires. Pour cela, il génère, visualise ou modifie les données nécessaires au transfert du message. Il ne devrait pas modifier le message. Pour réaliser la transmission du message, le MHS s’appuie sur quatre rôles. Le premier rôle est Originator qui garantit la validité du message par rapport aux standards et aux politiques locales. Le rôle Author créé le message alors que le rôle Originator permet sa manipulation et sa transmission. Le rôle Receiver réalise la remise finale. Dans certains cas, cette remise pourrait être redirigée vers une autre adresse. L’acteur MHS comporte un rôle

Relay qui effectue le routage des messages à destination des rôles Recipient. Le rôle Relay ne doit

pas modifier le message dont il a la charge, sauf pour des cas particuliers comme le changement d’encodage du contenu. Cependant, afin d’éviter un bouclage dans le routage du message et assurer une traçabilité du message, le rôle Relay ajoute une information dans le message sous la forme d’un champ d’entête. Le dernier rôle de l’acteur MHS est Gateway. Ce rôle assure l’interconnexion entre des systèmes de messagerie hétérogènes.

Le dernier acteur est l’ADMD. Une ADMD est définie comme un acteur principal d’une architecture de messagerie et est associée avec un nom de domaine. Une ADMD est une entité indépendante qui est sous la responsabilité d’une autorité administrative. Elle applique, à ce titre, un ensemble indépendant de politiques. Dans les systèmes de messagerie, il existe deux principaux modèles. Dans le premier modèle, on parle d'intra-ADMD (ou intra-domaine) et dans le second d’inter-ADMD (ou inter-domaine). En intra-ADMD, les messages sont transmis entre composants présents dans un même environnement d’administration et utilisant le même nom de domaine. Dans ce type de modèle, l’application de politiques est simplifiée. Il y a une seule autorité administrative et tous les composants du système de messagerie sont sous la responsabilité de cette autorité. Dans le cas d’échanges dans un modèle inter-ADMD, les messages sont échangés entre différentes ADMD. L’émetteur et le destinataire du message n’appartiennent pas à la même ADMD et n’appliquent pas les mêmes politiques car chaque ADMD dispose d’un ensemble indépendant de politiques. Cependant, des relations de confiance et des arrangements complexes peuvent être établis entre ADMD, permettant ainsi l’application de politiques compréhensibles et acceptées par les utilisateurs ou composants des ADMD concernées. Une architecture globale pourrait intégrer plusieurs ADMD. C’est le cas typique d’Internet qui est composé d’une multitude d’ADMD.

Une liste récapitulative des différents rôles et acteurs associés est proposée ci-dessous.  Users o Authors o Recipients o Return handler o Mediator  MHS o Originator o Receiver o Relay o Gateway  ADMD

33

Une architecture IMA est constituée de plusieurs types de composants appelés aussi agents. Le schéma décrit dans la Figure 2, extrait du RFC 5598 [6], illustre ces différents agents et les protocoles permettant leurs interactions dans une architecture représentative. Les agents présents dans un système de messagerie sont:

 le MUA (Message User Agent) interagit avec le système à la place de l'acteur User.

 le MSA (Mail Submission Agent) accepte le message soumis par le MUA et applique les politiques de l'ADMD hôte.

 le MTA (Mail Transfer Agent) est en charge de relayer le message jusqu'à sa destination. Un MTA intègre à la fois une partie cliente et une partie serveur. Le MTA ne doit pas modifier l'enveloppe ni le message, seul l'ajout de trace est réalisé. Il existe deux types de MTA. le boundary MTA (ou Border MTA) qui interagit avec des MTA d'autres ADMD et le final MTA qui transfert le message au MDA.

 le MDA (Mail Delivery Agent) est en charge de la remise du message dans la boite aux lettres du destinataire.

 le MS (Message Store) permet à un MUA de stocker les messages sur le long terme. Dans la suite de ce rapport, nous parlerons d'agent pour faire référence à un composant de l'architecture IMA.

Le MUA est composé de :

 aMUA (author MUA) crée un message et réalise la soumission initiale dans l'infrastructure de messagerie via le MSA.

 rMUA (recipient MUA) interagit avec le système à la place du destinataire pour traiter les messages récupérés.

Le MSA est composé de :

 aMSA (Author-focused MSA functions)

 hMSA (MHS-focused MSA functions) prend la responsabilité du transit pour un message qui est conforme aux standards et aux politiques locales.

Le MDA est composé de :

 hMDA (MHS-oriented MDA) correspond à la partie serveur SMTP.

 rMDA (Recipient-oriented MDA) réalise les actions de remise que le destinataire a spécifié. Le MS est composé de aMS (author MS) et de rMS (recipient MS) qui permettent d'archiver et d'organiser les messages de différentes manières.

L'entrée et la sortie d'un message dans un MHS sont accompagnés d'un transfert de responsabilité. Ces transferts de responsabilité sont réalisés dans le MSA pour la partie soumission et dans le MDA pour la partie remise du message. Ces deux transferts de responsabilité sont décrits dans la Figure 2 avec les transitions (S) pour soumission et (D) pour remise.

34

Figure 2 : Architecture globale d'un système de messagerie électronique