![]() |
La gestion des paiements sécurisés sur Internet suivant le guide PCI DSS Auteur : Frédéric Charpentier, consultant sécurité Xmco Partners Couriel : fcharpentier@xmcopartners.com Date : Octobre 2006 |
Les données bancaires sur Internet
Cet article s'adresse aux développeurs et aux responsables qui risquent de mettre en place des systèmes de paiements en ligne. Cette étude est basée sur le PCI DSS, le Livre Blanc Bancaire et sur le guide OWASP consacré aux paiements en ligne.
Les paiements en ligne
Le commerce électronique est en plein essor. Les internautes utilisent de plus en plus les paiements en ligne pour toutes sortes d'achats. En mai 2005, les ventes en ligne avaient déjà augmentées de 53% par rapport à 2004.
Dans un tel contexte, la question du paiement 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 d'outils informatiques et des techniques qu'il ne maîtrise pas forcément.
|
D'autre part, le professionnel 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 HTTPS en bas de leur navigateur et ne se soucient pas du fait que leurs données bancaires
sont courtisées par les pirates. |
|
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.

Le PCI est maintenu par un consortium d'entreprises comme VISA, Mastercard ou encore American Express.
Voici les 12 grands chantiers du PCI :| 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. |
Les Meilleures Pratiques
|
D'autres mesures sont à adopter afin d'assurer la sécurité de telles applications. |
|
- Vous ne devez en aucun cas stocker les codes CCV, CCV2, PVV et le code PIN. 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 quelques sortes les mots de passe de la carte].Le stockage de ces données est strictement interdit par le PCI.
Les codes de confirmation
Après chaque transaction correctement validée, un code de confirmation est retourné. Ce code est unique pour chaque transaction et ne possède pas de valeur intrinsèque. Il est important de conserver ce code, de l'écrire dans les logs, de le conserver pour le BackOffice et de l'envoyer par courriel au client.
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. |
|
- Vous devez limiter les paiements récurrents à une période d'un an maximum et ce, particulièrement lorsque le propriétaire de la carte n'est pas physiquement présent lors des transactions (ce qui est quasiment toujours le cas avec le commerce en ligne).
- 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.
Le problème du chiffrement réside dans le fait que vous devez être capable de déchiffrer les données au moment opportun. Lors du choix de la méthode de chiffrement (3DES, RSA, AES, DEA, etc) et de stockage, gardez en mémoire le fait que le serveur web frontal n'a pas besoin et ne doit pas être capable de déchiffrer ces données.
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 https://www.pcisecuritystandards.org/pdfs/pci_dss_v1-1.pdf



