Professional Documents
Culture Documents
allahou
akbar
ETUDE
ET
ANALYSE
DES
PROTOCOLES
DE
PAIEMENT
SUR
INTERNET
Ousmane
Coulibaly
[Tapez
le
résumé
du
document
ici.
Il
s'agit
généralement
d'une
courte
synthèse
du
document.]
SOMMAIRE :
Introduction
1. Fonctionnement du paiement sécurisé
1.1 - Principe
1.2 - Eléments de sécurisations mise en œuvre
2. Les Protocoles de Sécurisation des transactions
2.1 SSL
2.1.1 Fonctionnement
2.1.2 Les certificats :
2.1.3 Exemples de solutions basées sur SSL :
2.1.4 Critiques :
2.2 SET
2.2.1 Fonctionnement
2.2.2 Les certificats
b) Hiérarchie de certification
2.2.3 Transaction d'un Achat par le protocole SET
2.2.4 SET et la carte à puce
2.2.5 Critiques
2.3 Le protocole 3D Secure
2.3.1 Architecture :
2.3.2 Transaction d'un Achat par le protocole 3D Secure
2.3.3 Critiques
3. Conclusion
2
Aujourd’hui, nous assistons à une très grande augmentation du commerce sur
internet et donc à l’essor des transactions sécurisées sur Internet. Il existe de
nombreuses solutions qui permettent de sécuriser les paiements sur internet. Ces
solutions sont développées par les grands acteurs informatiques et les banques.
Mais il existe de nouveaux acteurs qui, grâce au développement du commerce
online se sont placé comme intermédiaires entre les commerçants et les
organismes bancaires.
L’utilisation des cartes bancaire pour acheter sur internet est devenue une
tendance. Face à cette montée du commerce en ligne, une sécurisation des
transactions s’impose.
Les principes de la sécurisation d’une transaction sont :
• la confidentialité (accessible uniquement par le vendeur et l’acheteur)
• l’authentification (identités des parties concernées)
Nous nous intéresserons plus précisément aux paiements sécurisés, qui sont
actuellement les systèmes de paiement les plus utilisés par les internautes.
1
‐
Fonctionnement
du
paiement
sécurisé
La sécurité du paiement par carte bancaire sur Internet est indispensable. En
effet, il permet aux commerçants de vendre à distance. Il existe de nombreuses
solutions pour sécuriser les paiements sur internet.
1.1
‐
Principe
Le commerçant expose son catalogue de services ou de produits sur serveur web.
L’acheteur passe sa commande et sélectionne son moyen de paiement. Il est
ensuite dirigé vers le service de paiement par carte bancaire de la banque, dans
le cas d’un paiement par carte de crédit. Pendant toute la phase de paiement, le
client discutera selon l’architecture de paiement soit avec le serveur de paiement
sécurisé de la banque soit avec le serveur sécurisé d’une société intermédiaire.
Tous les échanges seront sécurisée assurant la confidentialité des renseignements
fournis par le client (numéro et date de validité de la carte de crédit).
3
se charge d’effectuer :
2.1.1
FONCTIONNEMMENT
DE
SSL
Le protocole SSL a été défini par Netscape. Il permet d’associer des propriétés de
sécurité à une socket indépendamment des informations qui seront transportées
par cette socket.
4
Il fonctionne en trois phases:
• Authentification du serveur à l’aide de certificats (optionnelle pour le client)
• Envoi des clés publiques.
• Envoi des informations codées.
Les informations du client sont aussitôt cryptées avec la clé publique du serveur et
transmises au serveur. Le serveur décode le message avec sa clé privée. Il envoie
5
ensuite au logiciel client une confirmation du bon déroulement de l’opération.
Avec ce protocole, une nouvelle paire de clés est générée à chaque établissement
de la communication entre le logiciel client de l’utilisateur et le logiciel serveur. La
communication est donc sûre mais en aucun cas le serveur commercial ne peut
s’assurer de l’identité de l’utilisateur à l’autre extrémité.
Une façon de résoudre ce problème, est de joindre à ce processus un système de
validation, comme par exemple un numéro d’identification personnel (NIP) qui
s’obtient par une inscription préalable du client et du serveur.
2.1.2
Les
certificats
:
Un certificat est un document électronique qui atteste qu’une clé publique est bien
liée à une organisation ou à une personne. Il permet la vérification de la propriété
d’une clé publique pour prévenir la contrefaçon de clés publiques. Un certificat
contient généralement une clé publique, un nom ainsi que d’autres champs pour
identifier le propriétaire, une date d’expiration, un numéro de série, le nom de
l’organisation qui contresigne le certificat et la signature elle-même. Le format des
certificats est défini par la norme X509.
Le certificat doit être généré par un tiers de confiance. L’organisme certificateur
donne la crédibilité au certificat.
Il existe deux types de certificats utilisés avec SSL : pour serveur et pour client.
Un certificat coté client sert à identifier un utilisateur, il contiendra donc des
informations sur cet utilisateur. Coté serveur, le certificat a pour but d’authentifier
le serveur et l’organisme qui l’exploite. C’est ce type de certificat dont vous avez
besoin pour mettre en place un serveur sécurisé HTTPS
2.1.3 Exemples de solutions basées sur SSL :
Le marchand est donc autonome, gère son propre site ; Il doit donc avoir de
bonnes compétences en informatique. Il doit aussi acquérir un certificat SSL.
6
L’inconvénient principal de cette architecture est que les coordonnées bancaires
sont stockées sur une basse de donnée En effet cela est très risqué car un
attaquant malintentionné pourra se les procurer. Le marchand est seul
responsable du bon déroulement du paiement.
Le porteur valide son achat et choisit de payer par carte bleu. Ensuite Il
fournit ses données confidentielles et N° de Carte de Crédit dans un
environnement sécurisé et crypté. Le commerçant envoie la demande
d’autorisation à son acquéreur qui envoie à son tour cette demande à la banque
du client. Après autorisation de cette dernière, une réponse est envoyée au
marchand. Il finalise la transaction avec le porteur et le stocke pour règlement.
Actuellement c’est l’un des systèmes de paiement les plus répandu. Le client,
fournit le numéro de sa carte de crédit avec sa date de validation au moment
où il passe la commande. Pour que le système fonctionne, des sociétés de
paiement en ligne s’inscrivent en interface entre le client et le fournisseur. Elles
se chargent de vérifier le numéro de la carte, les listes d'opposition pour perte
ou vol, l'obtention d'un numéro d'autorisation auprès du Centre d'autorisation
Carte bancaire et de procéder à l'encaissement puis au crédit en compte de la
7
transaction réalisée sur Internet. Il y a aussi des solutions comme celle de
PayPal.
8
2.1.4 Critiques :
Les principaux inconvénients de SSL sont :
• Il y a une seule authentification au début de la session, certificat non
nécessaire pour le client
• Il n’ y a plus de signature des messages envoyés après le HandShake
L’inconvénient principal de toutes ces solutions basées sur SSL est le manque
d’authentification de l’acheteur qui peut répudier à tout moment l’achat. D’une
part cette faiblesse est surtout causée par le protocole SSL dans lequel
l’authentification du client n’est pas obligatoire et d’autre part même en cas
d’authentification, c’est un navigateur qu’on authentifie et non une personne.
Toutes ces solutions sont sensibles aux attaques de types Keylogger et phishing.
2.2
SET
Le protocole Secure Electronic Transaction (SET) est une norme ouverte de
l'industrie pensée par MasterCard International et Visa International. Il a pour
objectifs de faciliter et sécuriser les transactions de commerce électronique sur
les réseaux ouverts, notamment Internet. Il procède essentiellement par
cryptage des données bancaires. Trois acteurs sont impliqués dans ce
protocole:
• le fournisseur appelé marchand
• l’acheteur
• le serveur de paiement qui sert d’interface entre marchand et le
réseau bancaire.
Dans une transaction SET, le porteur de la carte effectue son paiement sans
insérer la carte dans un quelconque lecteur, mais en présentant un certificat
que lui a déjà été délivré par une autorité de certification. Ce certificat permet
d'authentifier le porteur à l'aide de la cryptographie à clé publique.
2.2.1
FONCTIONNEMENT
Architecture
:
a)
Mécanismes
de
SET
:
• Confidentialité
SET permet d’authentifier les deux parties lors d’une transaction. Ces
authentifications sont faites au moyen de certificats X.509v3 avec une signature
RSA.
• Intégrité des données
SET assure l’intégrité des informations transmises au cours d’une transaction.
9
b)
Les
Participant
d’une
transaction
SET
Les principaux participants d’une transaction SET sont:
Méthodes
cryptographiques
utilisées
:
Pour répondre aux besoins de sécurité sur Internet, certaines pratiques de
cryptographie sont utilisées :
10
opérations de hachage;
• la signature des messages échangés afin de permettre l’authentification de
leurs émetteurs.
La clé privée utilisée pour la signature provient du couple de clés de signature,
tandis que la clé publique pour le chiffrement de la clé symétrique provient du
couple de clés de chiffrement.
Une innovation de SET est le procédé dit de la « signature duale » qui permet de
lier à une même signature les éléments de deux messages envoyés vers deux
destinataires distincts qui évite l’aller-retour superflu. Grâce à ce procédé, chaque
destinataire est en mesure de lire le message qui lui est destiné et de vérifier
l'intégrité de l'autre message sans connaître le contenu. Soient O et I (O=Offre
d’achat, I = Instructions de paiement) deux messages à envoyer respectivement
au commerçant et à la passerelle de paiement Ces deux message sont condensés
par la fonction de hachage H et concaténés, le message ainsi obtenu m=H(O)|H(I)
sera signé en utilisant la clé privé de l’acheteur Sc({H(O)|H(I)}) L’acheteur
transmet l’offre d’achat au commerçant et les instructions de paiement à la
banque. Ainsi, le message constitué {O, h(I), Sc({H(O)|H(I)})} est envoyé au
commerçant et {I, H(O), Sc({H(O)|H(I)})} est envoyé à la passerelle de
paiement. Les deux destinataires peuvent s’assurer de l’authenticité du message
qu’ils reçoivent. Si le commerçant accepte l’offre, il transmet son acceptation à la
banque, accompagnée du condensé de l’offre d’achat.
2.2.2
Certification
:
L’accréditation SET vise à distribuer aux acteurs du paiement électronique un
certificat, attestant leur identité. Ce certificat permet de s’assurer des
autorisations que possèdent ces acteurs pour procéder à un achat au moyen d’une
carte de paiement.
11
Les acteurs du paiement électronique obtiennent leur accréditation en s’adressant
à une autorité habilitée à distribuer des certificats, soit :
• pour un porteur de carte bancaire, la banque qui lui aura émis une
carte ;
• pour un commerçant, la banque qu’il aura chargée d’acquérir des
transactions bancaires pour son compte ;
• pour la banque, la marque de carte (Visa ou MasterCard par exemple) ou
bien l’autorité géopolitique représentant la marque de carte (par
exemple Carte Bleue représentant Visa en France).
a) Contenu
d’un
certificat
SET
:
Un certificat électronique est un document constitué d’un certain nombre d’informations qui
identifient de façon sûre son détenteur, à la manière d’une carte d’identité. Le certificat
d’identification d’une personne contiendra par exemple son nom, prénom, date de naissance
et d’autres caractéristiques. Le format de représentation d’un certificat SET est conforme à la
norme ISO IEC 9594-8 sur X.509v3
Un certificat SET est un cas particulier dans lequel le certificat ne contient aucune
référence au détenteur de la carte bancaire. Il identifie essentiellement une carte
bancaire par son numéro et sa date d’expiration. Toutefois, afin de ne pas pouvoir
associer facilement une carte et son certificat, ces informations importantes sont
cachées en les hachant avec une combinaison spéciale de caractères.
SET utilise deux types de certificats :
• des certificats de signature permettant de signer les messages à envoyer
par chiffrement d’un condensé du message avec la clé privée ;
• des certificats de chiffrement permettant de chiffrer les enveloppes des
messages échangés. (L’enveloppe contient la clé symétrique qui aura servi
à chiffrer le message en entier).
Le porteur de carte ne possède qu’un certificat de signature.
b)
Hiérarchie
de
certification
:
L'architecture de gestion des certificats est composée plusieurs éléments qui
interviennent dans l'arborescence de confiance qui ont pour racine l'autorité de
certification maîtresse et pour feuilles les acteurs participant à une transaction
SET. L'autorité de certification maîtresse est une entité qui trône sur tout l'édifice
de certificat de SET. Elle est l'ultime arbitre qui vérifie l'authenticité des
intervenants et contrôle, l'octroi des certificats électroniques. La certification des
clés publiques est crée de la façon suivante:
12
• La clé publique d’un client est certifiée par la banque émettrice de sa carte de
crédit.
• Les clés publiques d’un commerçant sont certifiées par la banque à laquelle il
est affilié.
• Le commerçant devra donc posséder pour chaque réseau de cartes auquel il
sera affilié deux certificats :
- un pour sa clé publique destinée au chiffrement de données.
- un autre pour sa clé publique de vérification de signatures.
• La banque acquéreur doit posséder quatre certificats :
- un certificat de signature.
- un certificat de chiffrement de clés.
- un certificat de signature de certificat.
- un certificat de signature de liste d’opposition. La banque est à son
tour certifie par l’autorité de certification de la marque (Visa,
Mastercard, etc.) qui se situé directement au dessus d’elle.
13
• Scenario de paiement :
Demande d'achat
L’acheteur envoie le message PReq (Purchase Request) signé contenant :
14
• les informations de paiement : montant, numéro de carte...
Les données bancaires et de paiement relatives à une transaction sont envoyées
au commerçant sous une forme chiffrée dans une enveloppe digitale que le
commerçant ne peut pas déchiffrer ;
Demande d'autorisation
Le commerçant extrait les informations de commande du message PReq qu’il
reçoit et, à partir des informations de paiement, constitue le message
d’autorisation (AuthReq) qu’il va envoyer à la passerelle de paiement.
La passerelle de paiement déchiffre le message AuthReq en provenance du
commerçant, identifie l’acheteur grâce au certificat et à la signature de ce dernier,
puis constitue un message de demande d’autorisation à destination du réseau
bancaire.
Réponse d'achat
Le commerçant enregistre la réponse, ensuite il envoie la réponse l’utilisateur.
C’est le message PRes (Purchase Response)
Demande de compensation
Le message CapReq envoyé par le commerçant à la passerelle de paiement pour
demander le paiement effectif des messages de paiement préalablement autorisés
(recouvrement ou remise des transactions). Il contient : montant de chaque
transaction, référence d’autorisation, identificateur de la transaction, le bon chiffré
et signé etc.
2.2.4
SET
et
la
carte
à
puce
Un des inconvénients de SET est la nécessité pour le porteur d’obtenir un
certificat et pour la banque émettrice de fournir le serveur d’accréditation et
l’organisation qu’il implique. Le certificat et la clé privée associée est le moyen
utilisé par le porteur pour s’authentifier. Or, la carte à puce constitue déjà un
moyen d’authentification du porteur. En effet, un paiement effectué à l’aide
d’une carte à puce génère un message signé reçu par un TPE et envoyé à la
banque acquéreur.
Donc, la carte à puce peut se substituer à la certification SET ou être utilisé en
15
complément. Ainsi une variante de SET a vu le jour en France : C-SET.
C-SET est une architecture de paiement sur Internet sécurisée par carte à puce. Il
fut pensé par le Groupement des Cartes Bancaires,. C’est une adaptation de SET.
Cette architecture de paiement rajoute une sécurité physique en intégrant
l'environnement "carte à puce" à SET. Il est mieux sécurisé que SET, mais il est
compatible avec SET. La solution est mieux sécurisée grâce à l’apport de la carte
à puce. Elle rajoute notamment :
2.2.5 Critiques :
16
Le protocole SET, plus élaboré que SSL, se voulait le standard pour les paiements
électroniques. Mais ce protocole impliquait l’acquisition de certificats électronique
personnels pour authentifier l’acheteur et le vendeur. Cette lourdeur de la
vérification systématique des certificats et la lourde charge de calculs
cryptographiques ont fait qu’il pas réussi à s’imposer et a été abandonné depuis
2002.
C SET également est devenu obsolète pour diverses raisons (prix d'acquisition
onéreux de l'accessoire, outil peu commode à l'usage, etc.)
2.3
Le
protocole
3D
SECURE
Les solutions basées sur SET ayant toute échoués Visa a décidé de réfléchir à un
autre protocole : 3D Secure.
3-D Secure est aussi un protocole de paiement sécurisé sur Internet. Il a été
développé par Visa en 2002 pour augmenter le niveau de sécurité des
transactions, et il a été adopté par Mastercard. Il permet une meilleure
authentification du détenteur de la carte de paiement lors d'achats effectués sur
des sites web.
2.3.1 ARCHITECTURE :
3-D est la contraction de « Three Domains » .L’ architecture 3D Secure divise
l’espace réticulaire en trois domaines paiement qui interagissent :
Domaine Acquéreur (entre la banque acquéreur et son commerçant)
Domaine Emetteur (entre la banque émettrice et son porteur)
Domaine Interbancaire qui permet de faire communiquer les deux autres
domaines.
La banque acquéreur gère la relation avec son commerçant en lui donnant les
moyens d’accéder au système 3-D Secure.
17
l’acheteur de manière uniforme, quelque soit le moyen d’authentification utilisé,
par la mise à disposition de services d’annuaires.
3-D Secure décrit les traitements au travers de composants mis en place dans
différents domaines et d’un protocole de communication « standardisé
• Composants 3D :
• Messages de Paiement :
18
NB : À noter que 3D Secure est basé sur SSL donc utilise des certificats SSL à
différents niveaux. A la différence de SET, le certificat SSL Serveur permettant à
l’acheteur d’authentifier le site marchand n’est plus fourni par un organisme
financier. Ici le marchand fait appel à l’autorité de certification publique de son
choix.
19
fournisseurs de service le stocke dans les bases de données. Nous sommes donc
dans une situation identique à la transmission du numéro de carte à travers une
session SSL avec en plus une vérification de l’identité de l ‘acheteur auprès de sa
banque.
Le principe de 3D-Secure consiste donc à demander à l'acheteur (le client) de
s’authentifier auprès de sa banque (issuer) lors de la phase paiement.
Pour s'authentifier, l'acheteur doit fournir un code secret (code PIN, mot de passe
OTP) convenu avec sa banque. Mais un problème se pose si ces moyens
d’autentifications sont rejouables. Par exemple le code d’un utilisateur pourra être
récupéré à travers un keylogger ou un cheval de Troie et réutiliser par la suite.
Une solution serait que le protocole impose une authentification forte entre le
client et sa banque.
D’ailleurs en France, d’ici Juin 2010 toutes les banques devront proposer un
moyen d’authentification non rejouable car il est impératif que l'authentification du
client auprès de sa banque soit non rejouable. Il ne s'agit pas ici de se prémunir
du risque de sniffing sur Internet (qui est en grande partie géré par HTTPS), mais
des malwares (Keylogger). Les pirates peuvent ainsi récupérer ainsi toutes les
données saisies dans le navigateur d'un poste infecté, si l'authentification est non
rejouable (comme un mot de passe ou une date de naissance), le pirate en aura
connaissance mais ne pourra le réutiliser.
o Token OTP
Tout le monde connait le SecurID de RSA. Un porte-clé avec un code
à 6 chiffres non prédictible qui s'affiche et change toutes les 30
secondes.
La banque possède un serveur synchronisé de son côté.
20
Dans cette étude, nous avons vu de nombreux protocoles de paiement sur
internet. Certains d’entre eux n’ont jamais pu s’imposer comme standard
international. Cependant, deux architectures sont les plus répandues. Les solutions
basées sur SSL et l’architecture 3D Secure. Le succès des solutions SSL s’explique
par leur facilité de mise en œuvre, leur légèreté et leur rapidité. Ces solutions
bénéficient surtout du succès de SSL qui est intégré à tous les navigateurs du
marché. Quant à 3D Secure, il met les utilisateurs et les commerçants en
confiance en exigeant une authentification du client auprès de sa banque. Ainsi
cela permet de réduire la fraude pour les commerçants et rajoute une sécurité
supplémentaire pour le paiement. La plus part des protocoles étudiées sont
sensibles au phishing ou à une attaque du type man in the middle.
BIBLIOGRAPHIE :
Transparents Cours « Le Transport sécurisé SSL/TLS, SET » : par Monsieur Ahmed
Serhrouchni
Article « Le commerce électronique : un état de l’art » par Ludovic Me et Renaud
Chaillat
Article “Optimised to Fail: Card Readers for Online Banking”, Saar Drimer, Steven J.
Murdoch, and Ross Anderson
Article “ Verified by Visa and MasterCard SecureCode: or, How Not to Design
Authentication “ Steven J. Murdoch, Ross Anderson
Article « Paiement sécurisé sur Internet avec le protocole SET » par Gérard
RIBIÈRE
Livre « Paiements électroniques sécurisés » Mostafa Hashem Sherif Avril 2007
Livre « Sécurité informatique: risques, stratégies et solutions » Par Didier Godart
Janvier 2005
http://wearesecure.blogspot.com/2009/07/la‐banque‐de‐france‐impose‐le‐3d‐secure.html
http://www.idf.net/articles/paiements.html
http://www.0faute.com/set.htm
http://fr.wikibooks.org/wiki/Monétique/Les_solutions_de_paiement_par_mobile
http://www.commentcamarche.net/faq/16311‐3d‐secure‐verified‐by‐visa‐securecode‐qu‐est‐ce‐que‐c‐est
http://www.indicthreads.com/1496/security-and-threat-models-secure-electronic-transaction-set-protocol/
http://www.clubgenies.com/modules/smartsection/cours%20reseaux%20informatique/Ge
neralites%20et%20Protocoles/Payement%20securise%20sur%20internet%20avec%20le
%20protocole%20SET.pdf
http://www.journaldunet.com/0404/040422mastercard.shtml
http://pro.01net.com/editorial/511837/le‐paiement‐en‐ligne‐par‐3d‐secure‐trop‐bancal‐selon‐des‐
experts/
21