Guide de sécurité de l'intégration
Assurez votre conformité PCI et sécurisez les communications client-serveur.
La norme PCI DSS est la norme de sécurité mondiale pour toutes les entités qui stockent, traitent ou transmettent des données de titulaires de cartes ou des données d’authentification sensibles. La norme PCI DSS établit un niveau de protection de base pour les consommateurs et contribue à réduire la fraude et les violations de données dans l’ensemble de l’écosystème de paiement. Toute personne impliquée dans le traitement, la transmission ou le stockage des données de cartes doit se conformer à la norme de sécurité des données du secteur des cartes de paiement (PCI DSS).
Validez votre conformité PCI
La conformité PCI est une responsabilité partagée qui s’applique à Stripe et à votre entreprise :
- Stripe est certifiée chaque année par un évaluateur de sécurité agréé PCI (QSA) indépendant en tant que prestataires de services PCI de niveau 1 répondant à toutes les normes PCI.
- En tant qu’entreprise qui accepte des paiements, vous devez le faire dans le respect des normes PCI et attester chaque année de cette conformité.
Vérifiez les exigences en matière de documentation pour votre entreprise dans votre Dashboard et consultez ce guide pour découvrir comment Stripe peut vous aider à vous conformer à la norme PCI.
Utiliser des intégrations à faible risque
Certains modèles économiques exigent la réception de numéros de comptes primaires (PAN) non jetonisés sur une page de paiement. Si votre entreprise traite des données sensibles de carte de crédit directement lorsqu’elle accepte des paiements, vous devrez peut-être respecter les + de 300 contrôles de sécurité prévus par la norme PCI DSS. Pour ce faire, vous devrez peut-être acheter, mettre en œuvre et maintenir des logiciels et du matériel de sécurité spécialisés, et faire appel à des auditeurs externes pour répondre à vos exigences en matière d’évaluation annuelle.
De nombreux modèles économiques n’ont pas besoin de se charger des données sensibles des cartes. Vous pouvez plutôt utiliser l’une de nos intégrations de paiement à faible risque pour collecter et transmettre en toute sécurité les informations de paiement directement à Stripe sans qu’elles passent par vos serveurs, ce qui réduit vos obligations PCI.
Données de carte hors de portée que vous pouvez stocker en toute sécurité
Stripe renvoie des informations de carte non sensibles en réponse à une demande de paiement. Il s’agit du type de carte, de ses quatre derniers chiffres et de sa date d’expiration. Ces données ne sont pas soumises à la conformité PCI, vous pouvez donc les stocker dans votre base de données. De plus, vous pouvez stocker toute donnée renvoyée par notre API.
Utilisez les protocoles TLS et HTTPS
TLS désigne le processus de transmission sécurisée des données entre le client (l’application ou le navigateur que votre client utilise) et votre serveur. Le protocole SSL (Secure Sockets Layer) effectuait cette fonction initialement, mais il est maintenant obsolète et n’est plus suffisamment sécurisé. Il a donc été remplacé par le protocole TLS, mais le terme SSL est encore parfois utilisé pour faire référence au protocole TLS et sa fonction de transmission sécurisée des données.
Les pages de paiement doivent utiliser une version récente (TLS 1.2 ou supérieure) puisque cela réduit de façon importante le risque que vous ou vos clients soyez victimes d’attaques d’intercepteurs. Le protocole TLS vise à :
- Chiffrez le trafic entre le client et votre serveur et vérifiez-en l’intégrité.
- Vérifiez que le client communique avec le bon serveur. En pratique, cela signifie généralement que le propriétaire du domaine et le propriétaire du serveur sont la même entité. Cela contribue à éviter les attaques d’intercepteurs. Sans cela, vous n’avez aucune garantie que vous chiffrez le trafic vers la bonne destination.
L’utilisation du protocole TLS nécessite un certificat numérique, un fichier émis par une autorité de certification (AC). L’installation de ce certificat garantit au client qu’il communique réellement avec le serveur auquel il est censé s’adresser, et non pas avec un imposteur. Procurez-vous un certificat numérique auprès d’un fournisseur de certificat réputé, tel que :
Si nécessaire, vous pouvez tester votre intégration sans utiliser le protocole HTTPS, et l’activer au moment de commencer à accepter des paiements réels. Cependant, toutes les interactions entre votre serveur et Stripe doivent utiliser HTTPS (lorsque vous utilisez nos bibliothèques).
Configurez le protocole TLS
Pour configurer le protocole TLS :
- Achetez un certificat auprès d’un fournisseur approprié.
- Configurez votre serveur pour qu’il utilise le certificat. Cette étape est complexe, alors suivez le guide d’installation du fournisseur de services que vous utilisez.
Puisque le protocole TLS est constitué d’une suite complexe d’outils cryptographiques, certains détails peuvent vous échapper. Nous vous recommandons d’utiliser le test de serveur SSL de Qualys SSL Labs pour vérifier que tout est configuré de façon sécurisée.
Considérations de sécurité
L’ajout de JavaScript depuis d’autres sites rend votre sécurité dépendante de la leur et pose un risque pour la sécurité. Si ces sites sont compromis, un attaquant pourrait parvenir à exécuter du code arbitrairement sur votre page. En pratique, de nombreux sites utilisent JavaScript pour faire fonctionner des services comme Google Analytics, même sur des pages sécurisées. Néanmoins, nous vous recommandons d’en minimiser l’ajout.
Si vous utilisez des webhooks, utilisez le protocole TLS pour le point de terminaison afin d’éviter que le trafic ne soit intercepté et que les notifications ne soient modifiées (un événement webhook ne doit jamais contenir d’informations sensibles).
Bien qu’il soit important de respecter les normes de sécurité des données, votre approche de la sécurité ne doit pas s’arrêter là. Voici quelques ressources intéressantes pour en savoir plus sur la sécurité du Web :
Politique de sécurité du contenu
Si vous avez une politique de sécurité du contenu, les obligations imposées par Checkout, les composants intégrés Connect et Stripe.js sont :
Prise en charge de l’isolation d’origine croisée
À l’heure actuelle, nous ne prenons pas en charge les sites isolés d’origine croisée.
L’isolation d’origine croisée nécessite la prise en charge de toutes les dépendances, et plusieurs dépendances clés qui activent nos offres de paiement ne prennent pas encore en charge cette fonctionnalité.