Protocole de sécurité dans le paiement en ligne

By 14 April 2011

5.5. Protocole de sécurité dans le paiement en ligne
Nous allons voir les 3 protocoles les plus utilisés dans les solutions de sécurité dans le paiement en ligne

5.5.1. Protocole SSL

a) Définition

« SSL (Secure Sockets Layers, que l’on pourrait traduire par couche de sockets sécurisée) est un procédé de sécurisation des transactions effectuées via Internet. Le standard SSL a été mis au point par Netscape, en collaboration avec Mastercard, Bank of America, MCI et Silicon Graphics. Il repose sur un procédé de cryptographie par clef publique afin de garantir la sécurité de la transmission de données sur internet. Son principe consiste à établir un canal de communication sécurisé (chiffré) entre deux machines (un client et un serveur) après une étape d’authentification.

Le système SSL est indépendant du protocole utilisé, ce qui signifie qu’il peut aussi bien sécuriser des transactions faites sur le Web par le protocole HTTP que des connexions via le protocole FTP, POP ou IMAP. En effet, SSL agit telle une couche supplémentaire, permettant d’assurer la sécurité des données, située entre la couche application et la couche transport (protocole TCP par exemple).
De cette manière, SSL est transparent pour l’utilisateur (entendez par là qu’il peut ignorer qu’il utilise SSL). Par exemple un utilisateur utilisant un navigateur internet pour se connecter à un site de commerce électronique sécurisé par SSL enverra des données chiffrées sans aucune manipulation nécessaire de sa part. » [CCMS 09].

« Un serveur web sécurisé par SSL possède une URL commençant par https://, où le “s” signifie bien évidemment secured (sécurisé). Il a été renommé en 2001 Transport Layer Security (TLS).Il y a très peu de différences entre SSL version 3 et TLS version 1, TLS diffère de SSL pour la génération des clés symétriques. Cette génération est plus sécurisée dans SSLv3 dans la mesure où aucune étape de l’algorithme ne repose uniquement sur MD5 pour lequel sont apparues des faiblesses en cryptanalyse. Par abus de langage, on parle de SSL pour désigner indifféremment SSL ou TLS. » [UNIVL09]

b) Fonctionnement de SSL

La sécurisation des transactions par SSL est basée sur un échange de clés entre client et serveur. La transaction sécurisée par SSL se fait selon le modèle suivant:

  • Dans un premier temps, le client se connecte au site marchand sécurisé par SSL et lui demande de s’authentifier.
  • Le serveur à réception de la requête envoie un certificat au client, contenant la clé publique du serveur, signée par une autorité de certification (CA), ainsi que le nom du crypto système le plus haut dans la liste avec lequel il est compatible.
  • Le client vérifie la validité du certificat (donc l’authenticité du marchand), puis crée une clé secrète aléatoire, chiffre cette clé à l’aide de la clé publique du serveur, puis lui envoie le résultat (la clé de session).
  • Le serveur est en mesure de déchiffrer la clé de session avec sa clé privée.

Ainsi, les deux entités sont en possession d’une clé commune dont ils sont seuls connaisseurs. Le reste des transactions peut se faire à l’aide de clé de session, garantissant l’intégrité et la confidentialité des données échangées.

c) Mise en oeuvre d’un service HTTPS
Etapes de la mise en oeuvre d'un service HTTPS

Figure09. Etapes de la mise en oeuvre d’un service HTTPS [SAMJER 10].

— Phase « Mise en production »
– 0: Génération clé publique / clé privé.
– 1: Demande auprès d’une autorité (publique) d’un certificat serveur.
– 2: Génération du certificat serveur.
– 3: Installation du certificat serveur sur le Serveur Web.

— Phase « Navigation internaute »
– 4: Ouverture connexion SSL: « clic sur URL https://www.x.dz ».
– 5: Envoi certificat du serveur vers le client.
– 6: Génération clé de session symétrique.
– 7: Envoi clé symétrique (chiffrée avec clé publique du serveur).
– 8: Echanges protégés (confidentialité, intégrité).

5.5.2. Secure Electronic Transactions (SET)

« Le SET (Secure Electronic Transaction) est un protocole destiné spécialement à sécuriser les transactions Internet de paiement par carte bancaire. Il a été développé à l’origine par Visa International et MasterCard, en 1996, avec l’aide des grandes compagnies informatiques de la planète. »

« Son champ d’application se réduit au chiffrement des seules données bancaires, contrairement à SSL qui peut chiffrer les images et le texte. Le protocole SET implique trois parties: le client, le vendeur et la banque du vendeur. Ce système SET requiert des certificats auprès des trois parties. Les certificats du client et du vendeur sont fournis par leur banque respective après quoi la transaction commerciale peut avoir lieu. Avec le SET, le numéro de carte bancaire peut ne pas être connu du vendeur, donc ne sera pas stocké dans ses fichiers et être récupéré par une personne mal intentionnée. Le SET assure en principe une transaction de non répudiation, mais cette clause peut varier d’un pays à l’autre suivant la législation en vigueur. » [TECSC 09]

5.5.3. 3D Secure

a) Définition

« 3‐D Secure est un protocole de paiement sécurisé sur Internet. Il a été développé par Visa 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. 3‐D Secure ne doit être confondu ni avec le code secret de la carte bancaire, ni avec le cryptogramme visuel (3 derniers chiffres imprimés au dos de la carte). » [ACADRU09]

b) Fonctionnement

Le concept de base de ce protocole (basé sur XML) est de lier le processus d’autorisation financière avec une authentification en ligne. Cette authentification est basée sur un modèle comportant 3 domaines (d’où le nom 3D) qui sont:
– Le commerçant (Acquirer Domain en anglais)
– La banque (Issuer Domain en anglais)
– Le système de carte bancaire (Interoperability Domain en anglais) Le protocole utilise des messages XML envoyés via des connexions SSL (qui garantit l’authentification du serveur et du client par des certificats numériques) [ACADRU09].

c) Mode d’authentification

« Selon la banque émettrice de la carte, les modalités d’authentification varient, Nous avons pris exemple sur quelques banques françaises » [ACADRU 09]:
Crédit Mutuel: Le client doit s’authentifier avec son identifiant de banque en ligne, puis indiquer un des codes inscrit sur sa “carte de clés personnelles” (une grille de 64 codes à 4 chiffres dans laquelle il faut piocher le bon code en fonction de la ligne et de la colonne demandée par le site web).

BNP Paribas: Le client doit indiquer sa date de naissance; depuis juillet 2009 un code est envoyé par SMS.

Société Générale: Le client doit indiquer sa date de naissance, depuis septembre 2009 un code est envoyé par SMS.

Groupama Banque: Le client doit indiquer son nom, le code postal de sa résidence et sa date de naissance.

Lire le mémoire complet ==> (Conception et réalisation d’une plate-forme de commerce électronique)
Mémoire de fin d’études pour l’obtention du diplôme d’Ingénieur d’Etat en Informatique
Ecole nationale supérieure d’informatique