La plupart des logiciels de messagerie n'envoient qu'un seul message SMTP pour tous les destinataires, y compris ceux présents dans le champ BCC :
Dans un message non chiffré, la confidentialité du champ est assurée puisque ces adresses SMTP ne sont utilisées que pour le transport (enveloppe), et n'apparaissent pas dans les entêtes du message reçu finalement par les utilisateurs, même si elles peuvent être gardées dans les journaux des relais de messagerie.
Lorsqu'un courriel est chiffré par S/MIME, le client de messagerie effectue les actions suivantes :
- génération d'une clé de chiffrement symétrique pour AES ou 3DES
- chiffrement du corps du message et des attachements
- pour chaque destinataire listé (y compris les BCC:) : récupération du certificat X509 qui lui est associé, puis chiffrement RSA avec la clé publique du certificat de la clé AES ou 3DES.
- création d'une enveloppe PKCS#7, comprenant :
- pour chaque destinataire : l'émetteur du certificat utilisé, le numéro de série du certificat, puis la clé symétrique chiffrée ;
- le contenu chiffré du message.
Ainsi un message chiffré pour un destinataire généré par l'autorité de certification /C=FR/ST=Hauts de Seine/L=Levallois/O=Herve Schauer Consultants/CN=HSC/ emailAddress=kw@hsc.fr contiendra la structure :
...
137 12: SET {
139 10: SEQUENCE {
141 3: OBJECT IDENTIFIER commonName (2 5 4 3)
146 3: PrintableString 'HSC'
: }
: }
151 24: SET {
153 22: SEQUENCE {
155 9: OBJECT IDENTIFIER
: emailAddress (1 2 840 113549 1 9 1)
166 9: IA5String 'kw at hsc.fr'
: }
: }
: }
177 1: INTEGER 58
: }
180 13: SEQUENCE {
182 9: OBJECT IDENTIFIER rsaEncryption (1 2 840 113549 1 1 1)
193 0: NULL
: }
195 128: OCTET STRING
: 5D 94 47 67 34 6E 70 84 DB F6 50 74 EC 71 77 3B
...
L'entier "58" étant le numéro de série du certificat du destinataire.
En examinant l'ensemble des séquences emetteur/sn/rsaEncryption, il est donc possible de récupérer les CA émettrices ainsi que le numéro de série dans la CA de chaque destinataire.
Si ces certificats sont déja connus ou sont accessibles dans la PKI, il devient donc possible de connaître par bijection avec le numéro de série, l'ensemble des destinataires du message, y compris ceux placés dans le champ BCC (pour lesquels le chiffrement a été également appliqué).
Il est possible d'examiner cette structure facilement, en utilisant openssl et dumpasn1, avec la commande prenant le message brut (avec en-têtes) en entrée :
openssl smime -pk7out | openssl pkcs7 -outform der | dumpasn1 -
Cette opération ne nécessite pas de déchiffrer le message et est donc réalisable par un tiers intercepteur.
Cette rupture de confidentialité (bien sûr d'impact limité) affecte au moins ThunderBird, Mutt, Windows Live Mail.
Le même problème se pose également avec PGP/GPG : les KeyID de tous les destinataires du message se retrouvent dans le message chiffré et peuvent être visualisés avec gpg -v.
Auteur : AT., HSC
bocielbleu le :
Eh bien... Il faut être sacrément cortiqué, pour le comprendre, votre article :o) !!!
Voici donc pour informations le point de vue d'un spécialiste que j'ai interrogé, afin qu'il puisse m'éclairer sur le sujet :
"A priori le vol d'informations serait possible si le destinataire du mail est dans la même entreprise que l'emetteur encore faut-il que ce destinataire soit un hackeur averti et qu'il ait une réelle utilité de le faire parce que la manipulation serait longue et compliquée. Par contre pour un particulier, le risque est plus que minime".
Voilà
Cordialement,
Webmaster le :
Vous avez raison, c'est destiné aux spécialistes... D'autre part, il y a très peu de gens qui savent crypter un message, à commencer par moi ;) .
Cela dit, à part dans le cas de piratage industriel, il y a très peu de cas où la récupération d'informations transmises par email offre un intérêt.