Démonstration de prise de commande avec signature électronique S/MIME
Nous sommes persuadés que la signature électronique
est une technologie indispensable au développement du commerce en ligne.
Ce document a pour but d'expliquer pourquoi nous en sommes convaincu
et de faire une démonstration réelle d'une prise de commande en ligne
avec signature électronique. Et d'en tirer des perspectives...
Pourquoi la signature électronique ?
En ce mois de Mars 2000, la France vient de voter
la loi sur la signature électronique, transcrivant ainsi la directive européenne
(
loi n° 2000-230). En attendant les décrets d'applications, qui sont en
réalité le coeur de cette loi, on peut déjà réfléchir à son utilisation concrète.
Dans la vie "de tous les jours" nous sommes tous amenés à signer des documents
(contrats d'assurance, bons de commande, lettres, chèques, etc.).
Naturellement avec la dématérialisation
des documents il nous faut pouvoir continuer à signer ces documents
Prenons l'exemple de l'achat d'un micro-ordinateur. Quand vous allez chez votre
revendeur micro, que vous lui faîtes faire un devis et que vous tombez d'accord,
vient le moment de la commande. Le commerçant vous fait alors signer un bon de
commande détaillant l'ordinateur commandé, les conditions de ventes et les
conditions de paiement. Tous ces éléments contractuels sont variables en
fonction des conditions négociées. Admettons que mon revendeur me connaît
bien, j'ai pu négocier mon ordinateur pour dans 10 jours sans versement
d'acompte mais avec paiement comptant lors de la remise de l'ordinateur.
Tout cela a pu se faire sans problème grâce à la signature du bon de commande.
Pour effectuer ce même achat à distance sans papier ni fax et sans faire
intervenir de notaire, il est indispensable
de pouvoir signer la version électronique du bon de commande, c'est à dire
l'ensemble description du matériel, conditions de ventes et de paiement.
On se rend compte ici combien se focaliser sur la signature électronique
du paiement est une erreur ; nous y reviendrons.
Les technologies de signature électroniques (tels PGP et S/MIME) le
permettent. De nombreux logiciels incorporent les fonctions de signature
électroniques, dont le plus connu est le logiciel de courrier électronique.
Signer électroniquement est donc une chose relativement simple et facile
d'accès, par contre il faut pouvoir savoir avec précision qui signe.
Pour ce faire, les technologies actuelles se basent sur un certificat.
Ce certificat n'est autre qu'une carte d'identité électronique. Il comporte :
- des informations d'identification de son titulaire (par exemple nom, prénom, adresse, adresse email, etc.)
- une clef publique (un outil cryptographique qui est associé à une clef privée secrètement conservée par le titulaire du certificat)
- le numéro de série du certificat
- l'identification de l'émetteur du certificat
- la signature électronique de l'émetteur
Vous remarquerez l'extrême similitude avec une carte
d'identité qui comporte exactement la même structure. Le certificat
électronique est donc ainsi délivré par un émetteur qui vérifie les
informations d'identification du titulaire et engage sa bonne foi en
émettant le certificat.
Il est donc évident que la validité
d'un certificat et la confiance que l'on peut lui attribuer est
entièrement dépendante du sérieux de son émetteur
(autrement appelé autorité de certification ou CA). L'Etat définira
donc dans son décret d'application des critères permettant de
déterminer les autorités dignes de confiance, dont les certificats
seront reconnus légalement pour la signature électronique.
Sans attendre cette reconnaissance d'un Etat, des autorités de
certification se sont mis en place dès 1995. Ainsi VeriSign
le leader mondial, via sa filiale Thawte, est l'un des plus
importants émetteurs de certificats S/MIME avec validation
d'identité. Il existe aussi de nombreux émetteurs de certificats
sans validation d'identité qui attendent la définition de règles
claires (le décret) pour proposer une offre commerciale de
certificats avec validation d'identité. Nous n'avons retenus
que les certificats émis par Verisign et Thawte avec validation
d'identité comme émetteurs valide pour notre service de prise de
commande avec signature électronique S/MIME.
En effet, dans notre exemple ci-dessus, le commerçant veut
recevoir son bon de commande complet signé électroniquement
par l'acheteur. Pour que cette signature électronique soit
valide, il faut qu'elle soit fabriquée avec un certificat
qui identifie personnellement l'acheteur, autrement dit un
certificat avec validation d'identité qui soit reconnu par
la directive européenne sur la signature électronique.
Grâce à ceci le commerçant sait que la signature a une valeur
légale et peut donc traiter la commande de la même façon
qu'avec un bon de commande papier.
J'attire votre attention sur le fait que le véritable
problème du commerce électronique aujourd'hui n'est
pas la sécurisation des moyens de paiement
(notamment la carte bancaire) comme certains s'efforcent
à nous le faire croire. D'abord il faut casser le mythe
qui voudrait que le commerce électronique soit synonyme
de paiement par carte bancaire! Il y a d'autres modes de
paiement parfaitement acceptable par exemple le virement
bancaire (national ou international) qui ne cesse de
s'améliorer notamment grâce à la prise en ligne d'ordre
de virement sur les interfaces minitel et web des banques.
L'autre mode qui s'adapte très bien à la vente à distance
c'est le contre-remboursement où l'acheteur règle le
livreur à réception (quoi de plus sécurisant pour l'acheteur ?).
Nous voulons insister sur le fait que sécuriser les
paiements carte bancaire notamment avec SET ou Cybercomm ne
règle en rien les véritables problèmes du commerçant.
Car le véritable souci
du commerçant à distance c'est d'avoir un contrat légalement
signé par l'acheteur. C'est ce contrat qui entre autres
définit les conditions et modes de paiement. Et n'oublions
pas que l'acheteur veut également avoir un contrat signé par
le commerçant qui lui garantit la bonne prise en compte de
sa commande. La non-répudiation du paiement carte bancaire
dans ce contexte n'est qu'un tout petit problème qui se trouve
de fait réglé par la signature électronique du bon de commande.
La vente à distance par carte bancaire n'a pas été inventée pour
internet. Elle a d'abord été mise en place pour la vente à distance
par téléphone et minitel. Qu'est ce qui différentie la vente à distance
carte bancaire de la vente de proximité? Non ne n'est pas la saisie
du code confidentiel de la puce des cartes françaises qui ne sert qu'à
authentifier le porteur de la carte avec la carte ! C'est la
signature du ticket, c'est à dire la signature du moyen de paiement.
Et c'est justement cette signature que permets désormais la signature
électronique du bon de commande.
Il faut donc travailler sur le fond du problème : permettre au
commerçant et au consommateur de signer électroniquement de véritables
contrats, qu'ils soient bon de commande ou contrat d'assurance !
Nous allons maintenant vous présenter notre application de prise de
commande avec signature électronique S/MIME.
Notre plate-forme de prise de commande
Notre démonstration découle directement d'un module de
prise de commande par CB pour notre division satellite qui vend des
abonnements d'accès à une
base de connaissance web. La prise de commande se fait via un
formulaire. L'acheteur doit accepter la licence d'utilisation du produit,
et de ce fait nous incluons la licence avec le bon de commande de façon à
la faire signer avec. De même il faut inclure les éventuelles conditions
de ventes, paiement, livraison, applicable à chaque contrat.
Le résultat du formulaire (accessible uniquement en HTTPS) est envoyé à un
CGI sur le serveur qui effectue des vérifications préliminaires minimales.
La fonction essentielle du CGI est de stocker la commande et de renvoyer
à l'utilisateur le texte du contrat qui devra être retourné signé. Un hash
de ce texte est stocké sur le serveur.
L'utilisateur se voit alors présenter une
page lui demandant de confirmer sa commande par courrier électronique signé
ou signé et chiffré. S'il utilise Netscape Communicator il lui suffit
de cliquer sur un lien qui fait s'ouvrir une fenêtre de composition email
automatiquement remplie ; il ne lui reste qu'à relire, vérifier que
l'envoi est signé et envoyer. S'il utilise Internet Explorer il lui faudra
manuellement composer le message par copier/coller parce que IE refuse les
URLs qui dépassent une certaine taille.
Le courrier électronique est alors reçu par le serveur. Le programme recevant
cet email va effectuer plusieurs actions :
- Vérifier que le message est bien signé (ou chiffré et signé) par S/MIME
- Vérifier l'intégrité de la signature et extraire le certificat
- Vérifier que le certificat est émis par VeriSign ou Thawte
- Vérifier que le certificat n'est pas révoqué (en cours d'implémentation)
- Vérifier que le certificat comporte une identité validée (en rapport avec la CPS de l'autorité)
- Vérifier que le contenu du message signé est exactement le contrat envoyé (aucune altération du contrat n'est évidement permis)
- Stocker la commande avec le message signé intégral. C'est la preuve pour le commerçant.
Si toutes ces vérifications sont concluantes, alors la confirmation de la commande
est acceptée et passée au module de traitement de la commande.
Le module de traitement de la commande est classique et dépend évidement
de chaque type de commerçant. Si la commande contient un paiement carte bancaire,
il fait effectuer le débit CB. Le système bancaire français ne permet
malheureusement pas une vérification sur le porteur ; aux USA on fournirait
avec la demande de débit de la carte le nom du porteur du certificat de façon
à s'assurer que la signature électronique est aussi valide pour la carte bancaire.
Cette fonctionalité sera indispensable pour s'assurer que le titulaire du
certificat est également le porteur de carte.
Ensuite si rien ne s'oppose à la commande, le système envoie par courrier
électronique signé la confirmation de commande.
C'est le reçu du consommateur, qui lui permet de s'assurer que la commande
est prise en compte dans les termes convenus. Ce reçu doit comporter
les éléments contractuels importants (délai de livraison, conditions d'annulation, etc.).
La théorie vous a séduit ? Vous voulez
voir si cela marche vraiment ? Et bien pas de problème,
notre démonstration est en ligne. Pour en voir tous les aspects il vous faut
un certificat S/MIME avec validation d'identité pour jouer le rôle du client
et un certificat S/MIME quelconque pour jouer le rôle du marchand. Vous pouvez
vous procurer un certificat Thawte avec validation d'identité en
ouvrant un compte freemail et en faisant valider votre identité par des
accréditeurs.
Pour la démonstration vous pouvez être le marchand et le client avec
1 seul certificat avec validation d'identité. Il faut que vous
communiquiez votre certificat de marchand au serveur au préalable.
Il suffit pour cela d'envoyer un email signé S/MIME à
tag-smime-store@TBS-internet.com Notez également que pour facilier
la démonstration un certain nombre de vérifications ne sont pas appliquées.
Par ici la démonstration !
Et comme cette technologie est vraiment opérationnelle, vous pouvez passer une
véritable commande ici (attention, vous serez débité !)
Conclusions et objectifs
Cette démonstration montre tout d'abord que c'est fonctionnel.
On peut faire signer des contrats sur internet avec S/MIME ! Et de plus
pour l'utilisateur, ce n'est pas compliqué :
2 clics suffisent avec Communicator (et on peut parier que Microsoft
corrigera rapidement le problème qui empêche son logiciel d'être aussi
fonctionnel) ! De plus, on peut traiter ces contrats signés de
façon automatisée ! Goal !
La disponibilité de cette technologie est un grand achèvement pour
le commerce électronique, c'est le début d'une nouvelle ère :
celle de la signature de contrats électroniques.
Nous en sommes persuadés, cette technologie va lancer le e-commerce de
deuxième génération !
Alors évidement on va entendre tout un tas d'objections sur le
thème de la sécurité et de la simplicité.
En premier lieu il faut dire que la disponibilité des certificats
avec validation d'identité est quasi nulle aujourd'hui ;
il n'y a pas plus de quelques centaines de porteur en France.
Mais on peut compter sur la volonté de mise en concurrence des
CA en France pour rapidement combler ce manque.
Evidement on va nous dire que le stockage des certificats et des
clefs privées sur le disque dur est un vrai danger, ce qui n'est
pas faux si les clefs privées ne sont pas chiffrées. Qu'on se rassure,
il existe sur le marché des
kits cartes à puce et mieux, des
trousseaux USB, à faible coût. Quoi de mieux pour transporter
ses clefs, certificats et mots de passe qu'un trousseau que vous
branchez dans le port USB de la machine que vous utilisez ?
De quoi rassurer le lobby français des cartes à puce, messieurs
proposez-nous des trousseaux USB avec processeur cryptographique !
Quant à la simplicité, il n'y a pas de souci à se faire. Le processus
d'obtention d'un certificat S/MIME avec validation d'identité est
certes encore un peu complexe, mais cela va se simplifier
(toutefois il est évident que les contraintes liées à la vérification
d'identité sont lourdes). Sans nul doute, les navigateurs web vont
intégrer la technologie S/MIME et permettre, sans passer par une fenêtre
de courrier électronique, de signer des formulaires. Les trousseaux
vont devenir monnaie courante! Nous sommes bien là devant l'avenir
du commerce électronique.
Evidement il faut toujours des mécontents et sur ce coup là, les
banques ne tireront probablement pas leur épingle du jeu avec leur
système SET et autre Cybercomm. Ces systèmes sont trop spécifiques
aux intérêts bancaires et ne résolvent pas les véritables enjeux
du commerce électronique (voir aussi les
graves problèmes de sécurité du système carte bancaire français).
Tout n'est pas perdu pour les banques, elles peuvent toujours se
reconvertir en autorité de certification, délivrer des certificats
sur les puces des cartes bancaires et proposer des lecteurs de
cartes USB ouverts à leurs clients...
Enfin, n'oublions surtout pas après avoir beaucoup parlé de commerce
qu'il n'y a pas que le commerce sur internet.
L'internet non-marchand aura lui aussi besoin d'authentification,
de signature et de confidentialité et qu'il faut pour cela que
les technologies restent ouvertes. Et il faudra aussi que la
délivrance de certificats avec vérification d'identité puisse
se faire dans un cadre non-marchand par cooptation mutuelle
dans l'esprit PGP (le système
web-of-trust de Thawte en est un excellent exemple).
Gardons-nous bien d'imposer directement ou indirectement un système
100 % commercial.
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
|