Les nouveaux services de messagerie électronique

Le projet Trustedbird

Les acteurs

Le projet Trustedbird (anciennement milimail) a été initié par la DGA en 2006. La DGA est une entité du ministère de la Défense français. Son principal rôle est de concevoir, d'acheter et d'évaluer tous les systèmes d'armes destinés à l'Armée française. Plus précisément la DGA a trois missions :

Les développements sont réalisés par les entreprises British Telecom et EADS.

Les objectifs

L'objectif majeur était de réaliser un client de messagerie répondant aux besoins militaires et civils. Pour cela un état des lieux des Logiciels Libres existants a été fait afin de sélectionner un socle de départ. Le client de messagerie Mozilla Thunderbird a alors été choisit. Les nouvelles fonctionnalités y seront intégrées sous forme de services étendus.

Le projet Trustedbird travaille en concertation avec la Fondation Mozilla afin qu'un maximum de fonctionnalités soit intégré dans le socle Thunderbird.

L'ensemble des travaux sont réalisés avec le souci de respecter les standards de l'IETF.

Aperçu du projet

Le projet Trustedbird est constitué de plusieurs éléments distincts :

Ces éléments sont tous distribués sous des licences libres.

Trustedbird permet entre autre de sécuriser les échanges de courrier électronique. Il peut ainsi permettre de savoir si le destinataire à bien lu le message qui lui a été adressé. Autres fonctions : un outil de signature électronique, un système de notification d'absence, et une fonction pour la mise en place rapide des destinataires via plusieurs carnets d'adresses.

Trustedbird - le client de messagerie

Parmi les fonctionnalités que peut offrir le client de messagerie Trustedbird, certaines sont présentes initialement et d'autres doivent être ajoutées par le biais de modules. Cette section décrit les quelques fonctionnalités natives qui font la particularité du client Trustedbird. La section suivante, quant à elle, se chargera de présenter les fonctionnalités à installer manuellement sur le client (Trustedbird ou Mozilla ThunderBird). Voici donc les fonctionnalités ajoutées dans le client Trustedbird nativement :

L'utilisation de chacun de ces services va maintenant être détaillé.

Triple enveloppe (RFC2634 – RFC1847 Triple wrapping) :

L'objectif de cette fonctionnalité est de fournir la possibilité lors de l'envoi d'un mail d'utiliser une triple enveloppe. Le message voit son contenu signé, la signature ainsi que le contenu sont ensuite chiffrés. Enfin le contenu chiffré est signé signé à son tour.

Il est possible de positionner des attributs dans la signature interne différents de ceux de la signature externe. Exemple : reçu signé en interne et etiquette de sécurité en externe.

Ce nouveau processus de cryptage fournit une couche supplémentaire de sécurité.

Le procédé est donc le suivant :

Signe => chiffre => signe
Ce dispositif est très utile lorsqu'un message doit être signé, chiffré et qu’il contient des attributs signés qui doivent être consultables et modifiables par les entités intermédiaires.

Reçu signé (RFC2634 ReceiptRequest) :

Actuellement il est possible d’obtenir des informations sur l’acheminement des messages par le biais des notifications DSN et MDN mais ces mécanismes ne sont pas sécurisés. Il est, en effet, possible d'en créer des faux.

Basée sur une extension des services de sécurité du protocole S/MIME, cette fonctionnalité permet d'intégrer une demande de reçu dans la signature d'un courriel lors de son envoi.

Elle offre à l’expéditeur la preuve de la remise au bon destinataire du message envoyé. Lors de la réception, si la signature est valide et qu’il y a une demande de recu signé, alors le destinataire doit renvoyer un recu signé s'il supporte ce procédé.

Libellés de sécurité (RFC2634 security labels) :

Cette fonctionnalité permet, lors de l'envoi d'un mail, d'associer des informations de sécurité permettant de gérer des autorisations et droits d'accès.

Elle implémente le service de sécurité "security labels" défini dans la RFC 2634 Enhanced Security Services for S/MIME.

Un libellé de sécurité se compose de :

Les DSN :

Les DSN sont des avis de remise qui indique l'état de la livraison du courriel. Ces notifications ont déjà été décrites dans une précédente partie : Axes de progrès et améliorations possibles - La fiabilisation.

SMTP PRIORITY :

Cette fonctionnalité permet d'utiliser l'extension SMTP PRIORITY d'un MTA donné. Il est alors possible de définir un niveau de priorité pour les courriels envoyés.

Il existe cinq niveaux de priorité, ces derniers sont listés ci-dessous par ordre de priorité croissant :

Modules complémentaires pour Mozilla Thunderbird ou Trustedbird

Comme indiqué un peu plus haut, le projet Trustedbird ne représente pas seulement un client de messagerie. C'est également une panoplie de modules capables de s'ajouter au client Mozilla Thunderbird ou Trustedbird.

Voici la liste de ces fonctionnalités installables :

Multi-LDAP (Trustedbird/Mozilla Thunderbird 2, 3)

Ce module permet l'Autocomplétion des adresses à partir de plusieurs annuaires LDAP. Il offre donc la possibilité d'utiliser plusieurs annuaires LDAP simultanément pour l'auto-complétion des adresses des destinataires. Il faut savoir que normalement, Mozilla Thunderbird ne permet d'utiliser qu'un seul annuaire.

Check Recipients (Trustedbird/Mozilla Thunderbird 2)

Ce module permet la vérification de l'existence des destinataires depuis les carnets d'adresses locaux et les annuaires LDAP avant l'envoi d'un courriel. Les paramètres LDAP utilisés pour l'auto-complétion des adresses sont ré-employés par cette fonctionnalité.

Ce module peut évidemment être combiné avec le module Multi-LDAP (ci-dessus) pour valider les adresses des destinataires sur plusieurs annuaires simultanément.

Card Viewer Extended (Trustedbird/Mozilla Thunderbird 2)

Ce module permet à l'utilisateur d'afficher le certificat d'un contact d'un carnet d'adresses local ou LDAP.

Le certificat sera obtenu depuis le magasin local de certificats dans le cas d'un carnet d'adresses local. Lorsque le certificat est basé sur un annuaire LDAP, ce dernier sera obtenu en contactant l'annuaire.

Send Format LDAP (Trustedbird/Mozilla Thunderbird 2)

Ce module offre à l'utilisateur la possibilité d'obtenir des formats de messages supportés par les destinataires depuis LDAP.

Il permet, lors de l'envoi d'un mail, de déterminer les formats de message supportés par les destinataires (texte/HTML) en recherchant ces informations dans un annuaire LDAP.

Il faut savoir que la version standard de Mozilla Thunderbird ne permet la recherche du format accepté par un destinataire uniquement sur les carnets d'adresses locaux. En effet, la valeur spécifiée au niveau de l'annuaire LDAP n'est pas prise en compte.

CRL over LDAP (Trustedbird/Mozilla Thunderbird 2, 3)

Ce module offre à l'utilisateur la possibilité d'importer des CRLs depuis des annuaires LDAP.

Il permet l'import de Listes de Certificats Révoqués depuis des annuaires LDAP. Il ajoute le support d'URLs LDAP dans l'interface d'import du gestionnaire de certificats révoqués et programme des mises à jour automatiques de ces CRLs.

Notification Viewer (Trustedbird/Mozilla Thunderbird 2, 3)

Ce module offre à l'utilisateur la possibilité de visualiser l'état des notifications DSN (avis de remise) et MDN (accusés de réception) par une modification de l'interface de la boîte de réception du client de messagerie.

Il identifie et affiche l'état des notifications attendues et reçues pour les messages envoyés avec demande de notifications.

Les notifications prises en comptes sont les DSN et les MDN correspondant aux avis de remise et aux accusés de réception (déjà décrits précédemment). Ce module permet également de paramétrer un délai de livraison au delà duquel un courriel envoyé avec une demande de DSN sera signalé.

MDN Extended (Trustedbird/Mozilla Thunderbird 2)

Ce module ajoute au client de messagerie la possibilité de gérer les accusés de suppression. Un accusé de suppression sont un type d'accusé de réception peu répandu. Il permet de signaler à l'expéditeur qu'un destinataire à supprimer son courriel.

Le client de messagerie Mozilla Thunderbird ne supporte habituellement que les accusés de lecture (MDN displayed). Ce module permet d'y ajouter le support des accusés de suppression (MDN deleted).

Out of Office (Trustedbird/Mozilla Thunderbird 2, 3)

Ce module ajoute au client de messagerie la possibilité de gérer les réacheminements et les notifications d'absence avec Sieve.

Il permet de gérer le réacheminement des mails entrant vers un destinataire choisi et de programmer des notifications en cas d’absence. Il fournit à l'utilisateur la capacité de rediriger ses courriels vers un destinataire, de choisir de conserver les courriels dans sa boîte aux lettres en cas de redirection et enfin de paramétrer l'envoi de notification d'absence à l'expéditeur d'un courriel reçu.

Message Remote Services (Trustedbird)

Ce module permet à l'utilisateur la possibilité d'intéragir avec le client Trustedbird par le biais d'une API Java.

Il permet d'exposer des services distants d'envoi et de réception de messages à des processus externes. Un programme Java peut donc instrumentaliser un client Trustedbird. Cette API offre notamment la capacité d'envoyer des courriels et de lister et récupérer les courriels reçus.

XSMTP (Trustedbird, Mozilla Thunderbird 2)

Ce module ajoute au client de messagerie la possibilité d'insérer et prendre en compte des en-têtes de courriels (pour la priorité, la confidentialité, ...).

Il intègre des en-têtes supplémentaires dans un courriel. Ces en-têtes peuvent par exemple être utilisés comme service complémentaire d'urgence, de confidentialité etc.

XIMFMAIL (Trustedbird)

Ce module ajoute au client de messagerie la possibilité de générer des formulaires basés sur une définition XML.

Il permet de générer à la volée des formulaires en émission et réception en fonction d'une extension de définition. Ces formulaires pourront ensuite être utilisés lors de l'envoi d'un courriel et obliger ou seulement permettre l'utilisateur de spécifier des renseignements afin de caractériser son courriel. L'extension de définition consiste à définir dans un dialecte XML, quels seront les champs facultatifs, obligatoires, qui devront se retrouver dans l'IHM ou encore dans la signature.

XIMFMAIL permet d'adapter Trustedbird à ses propres besoins en messagerie (associations, entreprises, administrations...). Les données complémentaires ajoutées seront alors transportées dans des entêtes MIME en respectant le format XIMF (eXtended Internet Message Format).

Mail XForms (Mozilla Thunderbird 3)

Ce module ajoute au client de messagerie la possibilité d'utiliser des formulaires XForms dans la boîte de réception et celle de composition dans le but d'envoyer des informations au travers d'en-têtes de courriels.

Il est constitué d'un ensemble de modules complémentaires pour Mozilla Thunderbird 3 qui permettent l'utilisation de formulaires XForms. Ces formulaires sont écrits avec le langage XML XForms embarqué dans des fichiers XHTML ou XUL.

Parmi ces modules se trouve le module officiel Mozilla XForms qui fournit le support du langage XForms dans les fichiers XHTML et XUL. Mais également le module Mail XForms (Engine) qui fournit l'intégration des formulaires disponibles dans l'interface de Thunderbird et se charge de convertir les données entrées dans un formulaire en-têtes de message, et de décoder les en-têtes dans les messages reçus pour les afficher dans un formulaire. Enfin, il est possible d'installer un ou plusieurs modules Mail XForms (Data) qui contiennent des exemplaires de formulaires.

Script serveur

Cette partie contient le dernier type de travaux du projet Trustedbird. Ils prennent la forme d'un ensemble de scripts utilisés pour configurer une passerelle email gérant la prise en compte de plusieurs priorités.

Le système Priority email gateway permet la configuration d'une passerelle email transmettant des messages en fonction de leur priorité. Les priorités sont déterminées à partir des en-têtes des courriels. Il est possible d'assigner plusieurs priorités différentes à un même message. Il suffit pour cela de spécifier des niveaux de priorité différents pour les destinataires principaux (To) et pour les destinataires en copie (Cc et Bcc).

C'est pas l'usage de règles configurables offre la possibilité d'identifier les en-têtes et de déterminer les priorités à attribuer. Concernant le système en lui-même, il est basé sur le MTA Postfix couplé avec le serveur SMTP Qpsmtpd. Il est conçu pour fonctionner sur des distributions Linux basées sur Debian (Debian Etch avec backports, Debian Lenny ou supérieure, et Ubuntu 8.04 ou supérieure).

Valid XHTML 1.0 Strict