Technologie Internet - Université de Genève, CUI ©

Courrier électronique: utilisation du cryptage pour authentification et confidentialité

Problèmes:

Besoins:

Solution: cryptage à l'aide de deux clés asymétriques (publique et secrète):

Pour les explications qui suivent, nous supposerons qu'il y a deux correspondants, A et B, qui veulent communiquer entre eux et nous utiliserons la convention suivante pour noter leurs clés correspondantes:
 personne A   personne B 
 clé publique  CPA CPB
 clé secrète  CSA CSB

Authentification

Si A veut envoyer un message à B de façon que B ait la certitude que c'est bien A qui l'a envoyé, A va utiliser sa clé secrète (CSA) pour encrypter son message et n'importe qui, en particulier B, pourra utiliser la clé publique de A (CPA) pour décrypter le message et ainsi avoir la "certitude" que A est bien l'auteur du message, car seul lui est en possession de la clé CSA complémentaire à CPA. Cela implique, bien entendu, que l'on ait confiance en l'authenticité de la clé CPA.
Authentification
Message en clair
rédigé par A
Message en clair
lisible par B
Down arrow Up arrow
CSA
Right arrow Programme d'encryption
utilisé par A
CPA
Right arrow Programme d'encryption
utilisé par B
Down arrow Up arrow
Message encrypté

envoyé à l'adresse
électronique de B
Message encrypté
reçu par B

Note: bien que le message envoyé par A circule sur le réseau sous forme encryptée, le message ne peut pas vraiment être considéré comme confidentiel puisque toute personne ayant accès à la clé publique de A peut décrypter le message.

Confidentialité

Si A veut envoyer un message à B de façon que seul B puisse le lire, A devra utiliser la clé publique de B (CPB) pour encrypter son message et seul B, en possession de la clé CSB complémentaire à CPB, pourra le décrypter.
Confidentialité
Message en clair
rédigé par A
Message en clair
lisible par B
Down arrow Up arrow
CPB
Right arrow Programme d'encryption
utilisé par A
CSB
Right arrow Programme d'encryption
utilisé par B
Down arrow Up arrow
Message encrypté

envoyé à l'adresse
électronique de B
Message encrypté
reçu par B

Ces deux mécanismes sont cumulables, pour assurer aussi bien l'authentification de l'auteur que la confidentialité du contenu: Si A veut envoyer un message à B, il va d'abord utiliser sa propre clé secrète (CSA) pour encrypter son message une première fois, puis il va utiliser la clé publique de B (CPB) pour encrypter le résultat de la première phase et envoyer le résultat final à B. Ce dernier devra d'abord utiliser sa clé secrète personnelle (CSB) pour décrypter une première fois le message reçu, puis devra utiliser la clé publique de A (CPA) pour décrypter le résultat de la phase précédente et obtenir en clair le message initial de A.
Authentification+confidentialité
Message en clair
rédigé par A
Message en clair
lisible par B
Down arrow Up arrow
CSA
Right arrow Programme d'encryption
utilisé par A
CPA
Right arrow Programme d'encryption
utilisé par B
Down arrow Up arrow
Message
encrypté
Message
partiellement
décrypté
Down arrow Up arrow
CPB
Right arrow programme d'encryption
utilisé par A
CSB
Right arrow Programme d'encryption
utilisé par B
Down arrow Up arrow
Message
doublement encrypté

envoyé à l'adresse
électronique de B
Message encrypté
reçu par B

Accès à des clés publiques PGP

Pour qu'un système de cryptographie à clés assymétriques fonctionne, il faut que les utilisateurs ait confiance en l'authenticité des clés publiques qu'ils utilisent et cette confiance dépendra fortement de la méthode utilisée pour obtenir cette clé:

Pièces jointes avec contenu exécutable

Le problème lié aux pièces jointes tient surtout au fait que les fournisseurs de logiciels ne prennent pas de mesures suffisantes pour assurer que l'utilisation de leurs logiciels n'aie pas de conséquences néfastes pour leurs utilisateurs. Beaucoup trop de logiciels sont installés avec, par défaut, des mécanismes de macros ou de scripts activés. Ce sont ces mécanismes qui sont souvent la cause de problèmes tel que la propagation de virus.

Les utilisateurs peuvent toutefois prendre un certain nombre de précautions pour se protéger:

  1. Toujours garder à l'esprit que le message que l'on est en train de lire peut avoir été automatiquement envoyé par un programme, sans intervention explicite de l'utilisateur au nom duquel le message est envoyé. Un "bon" logiciel ne devrait pas pouvoir envoyer de message sans le consentement explicite de l'utilisateur.

  2. Toujours désactiver l'exécution de scripts qui seraient contenus dans le corps principal d'un message (par exemple Javascript dans un message de type text/html) ou dans une de ses pièces jointes (par exemple script Visual Basic, reconnaissable à l'extension ".vbs".

    Pour désactiver Javascript dans Netscape Navigator, il faut utiliser l'élément de menu "Edit/Preferences" puis, dans le paneau de dialogue, choisir l'onglet "Advanced" (ou "Avancées" si l'interface est en français); suivant le version utilisée, il devrait y avoir une ou deux cases à cocher pour désactiver Javascript, soit globalement, soit uniquement dans des messages de courrier électronique ou de forums de discussion.

    Pour désactiver les scripts (Javascript, Visual Basic, etc.) dans Outlook, il faut modifier les options Internet, choisir l'onglet "Sécurité", puis, pour chaque catégorie de sites, choisir la configuration personnalisée et cocher systématiquement la case "désactiver" pour toutes les rubriques mentionnant des composants ActiveX ou des scripts.

  3. Chaque fois que l'on s'apprète à ouvrir une pièce jointe, vérifier le type MIME de la pièce jointe en question et s'abstenir d'ouvrir la pièce jointe si le contenu est un script ou un programme. Si la pièce jointe est un document Word ou Excel ou d'un autre type similaire, n'ouvrir la pièce jointe que si l'on a désactivé les macros dans le logiciel en question. Il est important de désactiver aussi les scripts, car un script peut réactiver automatiquement l'exécution de macros.

    Attention: certains logiciels de courrier électronique ne se basent pas uniquement sur le type MIME d'une pièce jointe pour sélectionner le logiciel qui va ouvrir la-dite pièce jointe. Le nom de fichier associé est parfois aussi utilisé. Par exemple, le fameux virus ILOVEYOU qui a sévi au début du mois de mai 2000, était envoyé dans une pièce jointe de type application/octet-stream, mais un "header" Content-Disposition: attachment; filename="LOVE-LETTER-FOR-YOU.TXT.vbs" (notez l'extension .vbs) faisait que le logiciel Outlook exécutait le contenu en tant que script Visual Basic dès que l'utilisateur demandait au logiciel d'ouvrir la pièce jointe.

    Il faut faire doublement attention si le système est configuré pour ne pas afficher les extensions pour les types de fichiers connus (Windows 9X et suiv.). En effet, dans un tel cas, le nom de la pièce jointe peut sembler complètement anodin (p.ex. AnnaKournikova.jpg au lieu de AnnaKournikova.jpg.vbs

Messages en format HTML

A priori, il peut paraître anodin d'avoir un système de messagerie qui permet de lire des messages en format HTML. Il faut toutefois réaliser que certains mécanismes peuvent donner des effets inattendus. En particulier, la balise <meta http-equiv="Refresh" content="0; URL=UrlDUnDocumentPornographique"> va amener le système de courrier électronique de l'utilisateur à aller chercher automatiquement sur un site web inconnu un document sans que l'utilisateur n'ait explicitement demandé ce document et sans que des mécanismes de filtrage de courrier électronique n'aient pu en examiner le contenu.

La fabrication de virus se démocratise

La création de virus pouvant se propager par courrier électronique ou par copie de fichiers devient un jeu d'enfants: des outils de fabrication automatisés, tels que VBS Worm Generator, disponibles sur Internet, permettent la fabrication de virus personalisés et pour le moment indétectables par les logiciels anti-virus actuels.


Pretty Good Privacy (PGP)

Autres:


Bertrand Ibrahim

Dernière modification: 17.03.01

Site Hosting: Bronco