>Les paiements par cartes bancaires sur Internet

Cet article s'adresse aux développeurs et aux responsables sécurité qui sont chargés de mettre en place des sites web offrant un moyen de paiement en ligne.

Les paiements en ligne

La question du paiement sécurisé sur Internet est primordiale à la fois pour l'acheteur et le vendeur. D'une part, le consommateur a besoin d'être rassuré face à l'usage de sa carte bancaire sur Internet et des techniques qu'il ne maîtrise pas forcément.

D'autre part, le marchand a besoin de solutions de paiement efficaces, rapides et fiables permettant au consommateur de réaliser, de la manière la plus fluide possible son acte d'achat. Ainsi, les internautes jugent la sécurité des achats en ligne insuffisante et 32% des français estiment que la sécurité des échanges bancaires n'est pas assurée.

La gestion des paiements sécurisés

La gestion des paiements en ligne est un point critique et constitue, ainsi, une pièce maîtresse des achats via Internet. D'un côté, la plupart des clients font confiance au logo du cadenas et de l'URL en "HTTPS" et ne se soucient pas du fait que leurs données bancaires sont courtisées par les pirates.

carte bleue sur internet
De l'autre côté, sans le savoir, des entreprises ne respectent pas les règles et les bonnes pratiques pour assurer la confidentialité des données bancaires de leurs clients. La sécurité des sites d'achats en ligne et, en particulier, la gestion des données critiques représente donc un enjeu crucial qui ne doit pas être négligé par les développeurs et les responsables sécurité.

Le développement sécurisé des applications e-commerce

Le standard PCI DSS : Payment Card Industry Data Security Standard

Le PCI DSS est le standard industriel pour le traitement sécurisé des paiements par carte de crédit sur les sites web, mais également pour les transactions par téléphone (MOTO) et les transactions avec la présence du titulaire de la carte.

visa mastercard amex

Le PCI DSS est maintenu par un consortium d'entreprises appelées "schémas de carte", dont font parties VISA, Mastercard ou encore American Express. La version actuelle de ce standard en la version 1.2.1.


Le standard définit 12 grands chantiers sécurité :


Objectifs Actions
Construire et maintenir une infrastructure sécurisée 1. Installez et maintenez un firewall pour protéger vos données.

2. N'utilisez pas les mots de passe par défaut fournis avec les équipements et les logiciels.

Protéger les données du propriétaire de la carte 3. Protégez les données stockées.

4. Toutes les transmissions contenant des données bancaires sur des réseaux publics (Internet, X25, ..) doivent impérativement être correctement chiffrées (VPN, SSL).

Maintenir un processus de gestion des vulnérabilités 5. Utilisez et maintenez vos antivirus à jour.

6. Développez et maintenez la sécurité de vos systèmes et de vos applications (appliquez les correctifs de sécurité).

Implémenter des mesures strictes en termes de contrôles d'accès 7. Restreignez l'accès aux seules données dont l'utilisateur a besoin ("business need-to-know'").

8. Chaque utilisateur doit posséder un identifiant unique.

9. Restreignez l'accès physique aux serveurs contenant des données sur les cartes bancaires des clients.

Surveiller et tester le système d'information 10. Surveillez et stockez les événements d'accès aux ressources et aux données bancaires des clients (Conservation et analyse de logs).

11. Testez régulièrement la sécurité de vos systèmes et de vos processus par des audits de sécurité.

Maintenir une politique de sécurité 12. Assurez le maintien et la communication de la politique de sécurité pour tous les collaborateurs.


Le standard PCI DSS : 200 exigences de sécurité obligatoires

La finalité du PCI DSS est, pour le marchand, d'obtenir la certification PCI DSS. Du point du vue du consommateur, cette certification est relativement transparente.
L'obtention de la certification PCI DSS requiert la mise en conformité du site web et des serveurs de back-office avec plus de 200 exigences de sécurité. La certification PCI doit être renouvelée chaque année par un audit de sécurité et l'envoi à l'acquéreur du rapport d'audit signé par l'auditeur à l'acquéreur.

Le standard PCI DSS est-il obligatoire ?

Non, la mise en conformité PCI DSS n'est pas une obligation légale. Pour les marchands, c'est leur banque d'acquisition qui va venir leur imposer la mise en conformité. Cette tendance est déjà bien amorcée dans les pays anglo-saxons et commence en France en 2009.
Le PCI DSS s'applique aux marchands et autres prestataires de services de paiements à partir du moment où ils traitent des numéros de carte (et donc même sans les stocker).

Le marchand a alors deux choix :

Choix 1 : se mettre en conformité et le prouver à sa banque. Le marchand risque de recevoir des amendes la cas échéant.
Choix 2 : ne plus traiter les cartes sur son site et rediriger ses clients vers une iframe de paiement d'un prestataire de service.

Pour les marchands de taille moyenne, nous recommandons fortement les choix 2, c'est-à-dire de ne plus traiter les cartes en interne. Pour des raisons business et techniques, les gros marchands préfèreront conserver la maitrise des paiements et devront donc se soumettre au PCI DSS (soit parce que leur banque le leur demande, soit parce que leurs partenaires le leur demande).





Les Meilleures Pratiques

  • Traitez les transactions immédiatement sur le site ou externalisez cette tâche auprès de votre banque ou d'un PSP (Payment Service Provider).


  • Ne stockez pas les numéros de carte de crédit. Si ces numéros doivent être stockés, vous devez absolument suivre à la lettre les recommandations du PCI DSS en les chiffrant fortement (AES-256, RSA-2048...). Nous recommandons fortement de ne pas stocker les numéros sur les cartes de crédit. Le marchand est cependant autorisé à conserver un hash du numéro de carte (de préférence SHA-256), cela lui permet de pouvoir confronter a posteriori un numéro de carte. Le marchand peut également conserver les 6 premiers et les 4 derniers chiffres du numéro de carte.


  • Ne stockez jamais les cryptogrammes visuels CVV2. Ces codes constituent des champs de validation utilisés par les systèmes bancaires pour protéger vos paiements et contrôler la validité de la carte. [Ce sont en quelque sorte les mots de passe de la carte].Le stockage de ces données est strictement interdit par le PCI DSS. Le marchand stockant ces codes d'une façon volontaire ou non s'expose à de très fortes amendes.


  • Minimisez l'environnement de traitement des cartes. En d'autres mots, utilisez un seul serveur identifié pour toutes les opérations sur les cartes et sécurisez-le de façon drastique : patchs de sécurité, mots de passe complexes et surveillance.

  • Supprimez tous les accès d'administration externes. La majorité des cas de piratage de données bancaires a été réalisée via une interface d'administration laissée accessible depuis Internet (interface http ou ligne de commande ftp/ssh/...). Interdisez donc tous ces types d'accès depuis Internet : les administrateurs doivent être physiquement dans les locaux ou alors utilisez un jeton d'authentification non-rejouable de type RSA SecurId.


  • Réalisez des tests d'intrusion par une société spécialisée.

    Gérer les paiements récurrents

    La seule raison commerciale de conserver les numéros de carte de crédit réside dans la gestion des paiements récurrents. Il ne faut pas confondre les paiements récurrents avec les paiements en plusieurs fois (ex: 4 foix sans frais) ou encore les pré-autorisations (ex: locations de voiture).

    Vous avez plusieurs responsabilités importantes au regard de ce mode paiement :

    - Vous devez vous soumettre aux réglementations commerciales. La réglementation impose que le client soit averti de façon explicite qu'il s'engage sur un paiement récurrent.

    paiement visa internet
    - Il est strictement interdit de stocker le cryptogramme visuel (les 3 ou 4 chiffres au dos de la carte, aussi appelés CVV2). Une idée répandue, mais fausse consiste à dire que ce code est indispensable à la transaction. En fonction du contrat VAD et de votre PSP ou banque, il existe des solutions permettant de faire des transactions sans ce code. Le marchand conservant ce code, même hautement chiffré, s'expose à de fortes amendes.

    - Vous devez chiffrer obligatoirement les numéros de carte de crédit si vous les conservez. Ceci est imposé par le PCI DSS. Il est également possible de faire des paiements récurrents sans conserver le numéro de carte : certains PSP proposent des solutions avec des tokens ou "alias".

    - Selon les contrats de VAD avec votre banque acquéreuse, une limite dans le temps peut être imposée. Celle-ci est généralement d'un an. Cependant, la seule limite technique est la date de fin de validité de la carte. - Enfin il est impératif d'effacer toutes les données relatives à la carte de crédit dès que la période de paiement récurrent est terminée.




    Les contrôles anti-fraudes

    Il existe de nombreux moyens de contrôler que la carte ne soit pas volée ou fraudée. La demande d'autorisation est la première des vérifications. Le marchand peut également confronter le numéro de carte au fichier des cartes volées (velocity check), créer ses propres règles d'intelligence (en fonction de l'adresse IP source, du montant, du code banque, de l'adresse de livraison, du nom..) ou de faire appel à des services externes anti-fraudes comme Fia-Net.

    Les remboursements et les virements créditeurs

    Il est possible de prendre quelques mesures simples pour réduire le risque associé à la gestion des remboursements :

    - L'argent ne peut pas être négatif. Renforcez vos logiciels pour n'accepter que des valeurs positives ou nulles afin de prévenir l'utilisation de nombres négatifs.

    - Tous les remboursements et les virements sur le compte d'un client doivent être tracées, auditées et confirmées par une autorisation manuelle.

    - Votre site ne doit en aucun cas posséder des interfaces ou des fonctions permettant de créditer un compte client ou d'y effectuer des remboursements.

    - N'envoyez pas la marchandise avant d'avoir reçu l'autorisation de votre passerelle de paiement (ou de votre banque).

    - La grande majorité des numéros de cartes de crédit possède un lien entre le code banque (BIN) et le pays d'origine de la banque émettrice de la carte. Réfléchissez à ne pas envoyer des marchandises payées avec une carte étrangère ou provenant de pays «douteux».

    - Pour les paiements de grande valeur, préférez un paiement par téléphone avec une confirmation par fax.

    Des clients vont essayer de se faire créditer leur compte trop souvent. Gardez un oeil sur les clients qui demandent des remboursements et décidez s'ils présentent un risque trop élevé ou non.

    Demandez toujours l'adresse email et le numéro de téléphone du client enregistré à la banque.

    Dernier conseil

    Faites savoir sur votre site que vous poursuivez en justice toutes les tentatives de fraudes (conformément à l'article L.323 du code pénal français) et que toutes les transactions sont enregistrées.

    Bibliographie

    Payment Card Industry (PCI) Data Security Standard v1.2.1
    Handling E-Commerce Payments
    Les entreprises françaises rattrapées par le PCI DSS







    > Vous recherchez des experts PCI-DSS ?

    + Le cabinet XMCO accompagne ses clients vers la certification Level 2 et Level 1

    + Gap Analysis, Self Assessment Questionnaire

    + Conduite de scans de vulnérabilités ASV, gestion des logs, Remediation plans, Security Policy, ...

    info@xmco.fr


    > Aller plus loin :

    + Le document PCI DSS version 1.2.1

    + AIS: Visa's compliance programme