tbsLogo guillemet Adresse : 22 rue de Bretagne - 14000 CAEN - FRANCE
Tél. : 02 76 30 59 00 - E-mail : certs@tbs-internet.com
guillemet et filet Friday, 29-Mar-2024 13:07:09 UTC Recherche arc gauche
arc droit langue FR
Les certificats
Le comparatif
Navigateurs
Notre gamme
Partenaires
Laboratoire
Sécurité Email
Outlook et S/MIME
Chiffrement S/MIME
Signature électronique S/MIME
S/MIME sous Unix
FAQ
Forums
The Satellite
Encyclopedia
Consulting
filet vert

Démonstration d'envoi de message chiffré S/MIME

Vous êtes webmaster et
vous voulez pouvoir envoyer un email chiffré depuis votre serveur
vers un commerçant par exemple (informations cartes bancaires) ?
Voici une solution.

Le principe

Vous avez des formulaires HTTPS sur votre serveur. C'est bien, cela permet à l'utilisateur de saisir des informations sensibles (comme son numéro de carte bancaire, son adresse, son téléphone) et de les envoyer au serveur. Une fois ces données sur le serveur, il faut les renvoyer à la personne qui pourra les traiter, en général le commerçant. Soyons franc : aujourd'hui il y a des webmasters qui renvoient ces données dans un email normal ! Infamie ! On fait croire que le processus est sécurisé, mais le traitement ne l'est pas. (Et inutile que je vous explique que l'envoi d'email en clair est encore plus risqué que l'envoi de données par http en clair, n'est ce pas ?)

Je ne fais la morale à personne mais les webmasters qui n'assurent pas une transmission chiffrée des données sensible de bout en bout sont des ***. Nous avons donc mis au point 2 petits scripts perl associés à OpenSSL 0.9.5. Ils permettent d'envoyer un email chiffré par S/MIME depuis un serveur linux. Voyons voir comment cela marche grâce à une démonstration où l'on va vous faire passer pour un commerçant en ligne.


1 - Avoir un logiciel email S/MIME

Si vous n'utilisez pas déjà S/MIME : inutile d'aller plus loin ! Il faut d'abord vous équiper, vous reviendrez ici ensuite. Donc faites un bookmark et cliquez sur le lien de votre choix : j'utilise Outlook Express, j'utilise Communicator ou j'utilise un autre logiciel email.

Maintenant vous (le commerçant) êtes équipé d'un logiciel correct et d'un certificat. En cas de doute, envoyez un email signé à tag-smime-demo@TBS-internet.com pour tester.



2 - Stockage de votre certificat

Le principe du chiffrement avec des clef publiques, c'est que pour chiffrer un message à destination de quelqu'un il faut connaitre sa clef publique, c'est à dire son certificat. Le certificat ne contient que des données publiques, il n'y a aucun risque à le communiquer. C'est grâce à lui et à sa clef privée associée que vous êtes sûr que personne d'autre ne pourra lire le message chiffré.

Pour communiquer votre certificat à notre serveur de démonstration il vous faut simplement lui envoyer un message signé à l'adresse tag-smime-store@TBS-internet.com. C'est le premier de nos 2 programmes perl qui reçoit votre message, qui vérifié la signature S/MIME et qui extrait et sauve votre certificat.



3 - Saisie du bon de commande

On a mis en place un pseudo formulaire de commande dont vous pouvez et devez renseigner l'adresse email du commercant (merchant). Evidement sur un formulaire normal ce paramètre n'est jamais modifiable par l'utilisateur, mais ici c'est une démonstration.

Le reste du formulaire bon de commande est à remplir normalement. Une fois validé, le programme va vérifier qu'il peut bien envoyer la commande au commerçant (merchant) et le faire ! Si vous avez bien renseigné l'email du commerçant (la votre) vous allez recevoir, en mode chiffré, le bon de commande. Le pseudo-client recevra aussi par email une confirmation de commande. Evidement on ne vérifie pas le numéro de carte bancaire !

Le programme qui reçoit la commande sur le serveur envoit, grâce à notre second programme perl, la commande par email chiffré. Et le tour est joué, la chaine de sécurité n'a pas été rompue jusqu'au marchand.



Le détail

Convaincu par la démonstration ? Utiliser S/MIME depuis un serveur c'est possible ! Dans cette démonstration on n'utilise que le chiffrement, mais on peut également faire en sorte que les emails soient signés, pour prouver qu'ils viennent bien du serveur.

De plus, utiliser S/MIME depuis un serveur c'est simple ! Nous utilisons 2 logiciels pour se faire.

smime-store.pl

Ce programme a pour unique but d'acquérir et de stocker les certificats. Pour se faire il "écoute sur une adresse email", vérifie la signature S/MIME, et si cette signature est valide, sauvegarde le certificat. Evidement il faut que la signature S/MIME soit accompagnée du certificat, ce qui est le cas de la plupart des certificats. Le programme ne reconnait que les certificats émis par Thawte et Verisign. Il stocke les certificats par adresse email dans un répertoire prévu à cet effet qui doit être lisible par le user faisant tourner http.

Exemple de mise en place avec qmail :

$ cat .qmail-smime-store 
| bin/smime-store.pl

smime-send-encrypted.pl

C'est ce programme qui chiffre et envoie l'email. Il fait tout pour vous ! Il prend le corps du message sur l'entrée standard et les différents paramètres en paramètre au lancement :

-to destinataire@domaine.com
-from envoyeur@domaine.com
-subject "le sujet"

Ces 3 paramètres sont obligatoires. Il y a 2 paramètres optionnels :

-reply reply-to@domaine.com
-cipher [des3|des|rc2-128] (des 3 étant la valeur par défaut)

Evidement si cela se passe mal, il retourne un code d'erreur. Le problème le plus courant est que le certificat du destinataire doit être dans la base !

Il suffit donc d'éditer vos scripts favoris pour remplacer l'appel de la fonction mail par smime-send-encrypted.pl Vous pouvez aussi trouver d'autres à ce script, par exemple pour faire un tunnel chiffré pour une boîte aux lettres...

A l'installation des 2 scripts, il faut penser à remplacer l'executable d'envoi de mail de qmail (qmail-inject) par celui de votre serveur de mail favori.

En plus des 2 scripts il vous faudra installer openssl 0.9.5 ou supérieur. Il vous faudra aussi avoir perl 5 évidement. Ca a été testé sous linux, mais y'a pas de raison majeure pour que cela ne puisse pas fonctionner sous Windows NT avec quelques modifications.

Obtenir les scripts

Nous distribuons les scripts gratuitement à nos clients.

Usage à vos risques et péril bien sur ! Nous vous demanderons du feedback sur l'installation et l'utilisation afin de parfaire les scripts (licence Artistic).

Extensions : il n'est pas particulièrement difficile d'étendre les fonctions de ce script pour également signer les messages. Ou faire un autre script du même type qui signerai les messages.



TBS est une société de conseil spécialisée dans les télécommunications spatiales, le conseil aux ISPs et la sécurité du commerce électronique. TBS-internet est courtier en certificats depuis 1996.

Sécurisation Outlook Express | Sécurisation Netscape Communicator | Sécurisation serveurs SMTP/POP/IMAP |
Autres documents sécurité TBS

blanc
blanc [Webmaster] [Crédits] [Les certificats] [The Satellite Encyclopedia] [Pitux] [Consulting] [Accueil]
© TBS Internet, tous droits réservés. Toute reproduction, copie ou mirroring interdit.
Dernière modification: 1 July 2020
Magnifique: vous utilisez IPv6 depuis 2a02:c88:100:e240:2d8:61ff:fe4d:cc48 !