Chiffrement des messages électroniques sur Exchange 2013

chiffrement_small

Introduction

Pourquoi chiffrer ses messages ?

L’envoi de mail est basé sur le protocole SMTP pour « Simple Mail Transfer Protocol ». Ce protocole n’est pas sécurisé. En effet, il est aisé d’intercepter un mail et d’en lire le contenu et le modifier (non-respect des principes de confidentialité, d’authentification de l’expéditeur et d’intégrité du message). Notez que même si il est possible d’ajouter la couche TLS au protocole SMTP permettant de garantir la confidentialité des données lors du transport, cela ne permet pas d’assurer la confidentialité du message une fois reçu dans la boîte aux lettres.

C’est pourquoi nous allons nous intéresser ici au protocole S/MIME en sa 3ème version standardisée par l’IETF (Internet Engineering Task Force) qui permet d’accroitre la sécurité lors d’échange SMTP.

Théorie – Fonctionnement du S/MIME

Le protocole S/MIME permet 2 choses: Signer numériquement un message et chiffrer un message

Qu’est ce que signer numériquement un message électronique ?

  • L’authentification
    • Permet au destinataire de s’assurer que le message qu’il a reçu provient bien de la personne qui prétend l’avoir composé.
  • La non-répudiation
    • Il est impossible pour l’expéditeur à partir du moment où ce dernier a signé le message numériquement de réfuter que c’est l’auteur du message.
  • L’intégrité des données
    • La signature numérique permet aussi de préserver l’intégrité des données, c’est-à-dire de s’assurer qu’il n’y a pas eu d’altération des données entre l’expéditeur et le destinataire.

La signature numérique permet donc par les 3 mécanismes cités ci-dessus d’être sûre que le message reçu provient de l’expéditeur attendu.

Processus de création de la signature numérique :

1
  1. Le corps du message est capturé
  2. Un hash du message est généré en fonction du message (SHA1 ou MD5 le plus souvent)
  3. La clé privée de l’expéditeur est utilisé afin de chiffrer le corps du message « haché ».
  4. Ajout de la valeur du hash chiffré au message (signature numérique)
  5. Le message peut être envoyé et est signé

La création d’un message signé numériquement implique que le destinataire du message doit posséder la clé publique de l’expéditeur afin de pouvoir comparer les « hash » du message reçu.

Processus de vérification de la signature numérique :

2
  1. Le message est reçu
  2. Le « Hachage crypté » est extrait du message
  3. Le corps du message est récupéré
  4. Le destinataire procède à un hash du message reçu afin de pouvoir ensuite en comparer la valeur avec celui reçu.
  5. La clé publique de l’expéditeur est utilisée pour déchiffrer le « hash » précédemment chiffré par la clé privée de l’expéditeur.
  6. La valeur des 2 hash est comparée. On compare ici la valeur du hash reçu lors de la réception du message et celle généré par le hachage du message reçu par le destinataire. Si les 2 valeurs de hachage coïncident, cela signifie qu’il n’y a pas eu d’altération du message.

Ainsi, on comprend que la signature numérique permet d’une part d’assurer l’authentification d’un message (la clé privée appartient à un seul utilisateur et il est le seul à l’avoir en sa possession), d’autre part la non-répudiation (par la signature électronique du message) et enfin l’intégrité des données (conservé par la comparaison des valeurs de hachage entre l’expédition et la réception du message).

Qu’est ce que chiffrer un message électronique ?

  • La confidentialité des données du message
    • Permet d’assurer la sécurité des messages. Seul la personne à laquelle le message est destiné peut déchiffrer le message et donc y avoir accès.
  • L’intégrité des données
    • L’intégrité des données est conservée du fait de l’utilisation des algorithmes de chiffrements asymétrique.

Processus d’envoi d’un message chiffré :

3
  1. Le corps du message est capturé
  2. Récupération de la clé publique du destinataire
  3. Une clé de session est générée à partir de l’ordinateur de l’expéditeur (par défaut, utilisation du meilleur algorithme de chiffrement disponible sur le système. Il s’agit ici du même principe que le protocole SSL)
  4. La clé de session (clé symétrique) générée est utilisée pour chiffrer le message
  5. La clé de session est chiffrée à l’aide de la clé publique du destinataire
  6. Envoi de la clé de session chiffrée à l’aide de la clé publique au contenu du message crypté
  7. Envoi du message

Processus de réception d’un message chiffré :

4
  1. Le message chiffré est reçu
  2. Le corps du message chiffré par la clé de session est récupéré ainsi que la clé de session encore chiffré par la clé publique du destinataire
  3. Récupération de la clé privée du destinataire (permet de récupérer la clé de session utile au déchiffrement du message)
  4. Récupération de la clé de sessions
  5. Déchiffrement du corps du message à l’aide de la clé de session
  6. Le destinataire accède au message en claire.

A noter ici, que le chiffrement seul des données ne permet pas de garantir l’authenticité et la non-répudiation d’un message. En effet, une tierce personne peut s’être procurée la clé publique du destinataire (utilisée pour chiffrer le message) et envoyer un message chiffré en usurpant l’identité de l’expéditeur.

En résumé, lorsque l’on souhaite combiner la signature numérique et le cryptage des données, Chaque utilisateur doit posséder :

5

Pour conclure cette partie théorique, on peut souligner le fait qu’utiliser le protocole S/MIME en version 3 apporte une sécurité supplémentaire grâce à un triple traitement. Le message est d’abord signé puis chiffré et finalement résigné (pris en charge par les clients Outlook et OWA). Noter également qu’il existe d’autres solutions pour sécuriser l’échange de vos messages électroniques comme PGP.

Prérequis – Mise en place du S/MIME dans une infrastructure Exchange 2013

Les prérequis à l’utilisation du S/MIME dans Exchange 2013 sont les suivant:

  • Exchange 2013 avec SP1 minimum (retour des fonctionnalités S/MIME dans OWA à partir de la version SP1)
  • Disposer d’une autorité de certification interne. Il est aussi possible d’utiliser des certificats issus d’une organisation tierce.
  • Les utilisateurs devant échanger des messages signés et/ou chiffrés doivent posséder un certificat de type utilisateur

Lorsque vous utilisez une autorité de certification de type « entreprise-CA », il n’est pas nécessaire d’importer les certificats d’autorités racine ou intermédiaire à partir du moment ou vos machines font déjà confiance au certificat généré.

Pratique

Pour associer un certificat à un utilisateur Active Directory, il y a deux possibilités :

  • Effectuer la requête de certificat à partir de l’interface web https://PKI-serveur/certsrv
  • Effectuer la requête à partir d’une console mmc (certificat user) :

1) Sélectionner « Active Directory Enrollment Policy »

cert-1

2) Effectuer la demande de certificat utilisateur

cert-2

Après avoir cliqué sur « Enroll », l’utilisateur dispose de son propre certificat. Une fois le certificat enregistré, vérifiez que le champ « userCertificate » est renseigné dans l’AD :

AD-certificat

Activation du S/MIME pour OWA

Afin de permettre l’utilisation du S/MIME à travers OWA, il convient de paramétrer les éléments suivants:

Activation du S/MIME au sein de l’organisation Exchange 2013 :

Set-SmimeConfig -OWAAllowUserChoiceOfSigningCertificate $true -OWACRLRetrievalTimeout 10000 -OWAEncryptionAlgorithms 6602:128

Cet exemple définit la configuration S/MIME de sorte à laisser aux utilisateurs le choix de signer ou non le message, limite à 10 secondes la durée de récupération de la liste de révocation des certificats (CRL) et indique d’utiliser l’algorithme de chiffrement RC2 128 bits.

Pour la liste des algorithmes disponible, consulter la TechNet : http://technet.microsoft.com/fr-fr/library/dn554259%28v=exchg.150%29.aspx

Création d’un fichier SST

Ce type de fichier contient les certificats « root » et « intermédiaire » permettant de valider les certificats employés par S/MIME.
#Récupérer le certificat racine de confiance de l’entreprise
$cert = (Get-ChildItem -Path Cert:LocalMachineCAEEDEF61D4FF6EDBGAD538BB08CCAAFFC3EE28DD)
#Export du certificat au format SST (obligatoire pour l’utilisation d’Office365)
Export-Certificate -Cert $cert -FilePath c:certsuser.sst -Type SST
#Associer le fichier SST généré au magasin de certificat virtuel
$certSST = « C:certsuser.sst »
Set-SmimeConfig -SMIMECertificateIssuingCA (Get-Content $certSST -Encoding Byte)

Exemple d’utilisation du S/MIME avec Outlook 2013 et OWA

A partir d’un exemple entre deux utilisateurs, Alice et Bob. Ils souhaitent s’envoyer un message à la fois signé et chiffré numériquement. Ils possèdent tous les deux un certificat numérique avec leur clé privé respective. Le champ userCertificate est bien renseigné dans l’AD.

Alice souhaite envoyer un message signé et chiffré à Bob à partir d’Outlook.

Importer vos identifiants numériques dans Outlook (clé privé) et publier vos informations d’identification dans la GAL. Dans Fichier > Option > Centre de gestion de la confidentialité > Paramètres du Centre de gestion de la confidentialité :

Outlook-11

Cliquez sur Publish to GAL…

Outlook-1

Après avoir cliqué sur « Allow », on obtient un message de confirmation :

Outlook-2

Envoi du message signé et chiffré :

Outlook-3

Réception du message par Bob :

Outlook-Received

Important : Pour pouvoir recevoir des mails chiffrés d’autres utilisateurs au sein de l’organisation Exchange, il est important de publier sa clé publique dans la liste d’adresse globale (GAL).

Alice souhaite envoyer un message signé et chiffré à Bob à partir d’Outlook Web App.

Envoi d’un message confidentiel signé et chiffré :

Pour chiffrer un message à partir d’OWA, cliquez sur : « Afficher les options de messagerie » :

Chiff-1

Cochez les cases « Chiffrer ce message (S/MIME) » et « Signer numériquement ce message (S/MIME)« 

Installation du contrôleur S/MIME sur l’ordinateur :
Lorsque vous essayer d’envoyer un message signé ou chiffré, un message indique vous devez installer le contôle S/MIME :

owa-2

owa-3

Réception du message par Bob : On voit bien ici que le message est signé et chiffré.

OWA-ReceiveBob

En cliquant sur « Cliquez ici », on obtient les informations attestant de la conformité de la signature :

validation signature OWA

Bob peut ouvrir le message d’Alice sans problème. Cela signifie que la configuration des certificats est opérationnelle. Sinon, vous auriez obtenu l’erreur ci-dessous :
Noter que tous les navigateurs ne prennent pas en charge le S/MIME.

En conclusion

Vous l’aurez compris, le protocole S/MIME permet d’accroître la sécurité des échanges de mails. De plus, il est parfaitement intégré au Webmail d’Exchange 2013 ainsi qu’Outlook à partir de la version 2010.