Les meilleures méthodes pour stocker les informations CreditCard dans DataBase

Dans mon pays, les paiements en ligne ne sont pas une vieille chose, la première fois que j’ai vu une application Web prenant des paiements directement sur un compte bancaire local était l’année dernière.

Donc, je suis un nouveau système de paiement Web de codage.

Ma question est, quelles sont les meilleures pratiques pour stocker les informations de carte de crédit dans la firebase database …

J’ai beaucoup d’idées: chiffrer la carte de crédit, ressortingction de sécurité de la firebase database, etc.

Qu’avez-vous fait?

NE PAS FAIRE

Il y a tout simplement beaucoup trop de risques et vous devrez généralement faire l’object d’un audit externe pour vous assurer de respecter toutes les lois et pratiques de sécurité locales pertinentes.

Il existe de nombreuses sociétés tierces qui le font pour vous et qui ont déjà eu toutes les difficultés à assurer la sécurité de leur système, à se conformer aux lois locales, etc. Un exemple aux États-Unis que j’ai utilisé par le passé est authorize.net . Certaines banques disposent également de systèmes que vous pouvez connecter pour stocker les données de carte de crédit et traiter les paiements.

Je me rends compte que le pays dans lequel vous vous trouvez n’a peut-être pas des lois aussi ssortingctes que les États-Unis, mais à mon avis, ce n’est pas une excuse pour lancer le vôtre. Lorsque vous traitez avec l’argent d’autres personnes, le risque est trop élevé pour être justifié.

Pour cela, je recommande une approche globale et à plusieurs niveaux.

Tout d’abord, stocker les informations de carte de crédit devrait être une option.

Deuxièmement, les données doivent être stockées de manière sécurisée, en utilisant un cryptage fort. Je recommande AES avec une taille de clé de 256 bits. Assurez-vous, lors du choix de votre clé, que vous utilisez l’intégralité de l’espace de clés (c’est une erreur de débutant de simplement utiliser une chaîne de symbole alphanumérique générée aléatoirement comme clé).

Troisièmement, la clé AES doit être correctement sécurisée. N’intégrez pas la valeur dans votre code. Si vous utilisez Windows, envisagez d’utiliser DPAPI.

Quasortingèmement, vous souhaiterez configurer des permissions de firebase database pour que les applications et les ordinateurs puissent avoir access au besoin de savoir.

Cinquièmement, sécurisez la chaîne de connexion à votre firebase database.

Sixièmement, assurez-vous que toute application ayant access aux données de la carte de crédit sera correctement sécurisée.

Au miniumum, suivez la norme PA DSS (Payment Appliction Data Security Standard). Plus d’informations peuvent être trouvées ici:

https://www.pcisecuritystandards.org/security_standards/pa_dss.shtml

Il serait également judicieux d’examiner la norme PCI DSS, disponible ici:

https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

Vous devez éviter de stocker des informations de carte de crédit en raison des risques encourus par vous et vos clients.

Chiffrer le chiffrement chiffrer. Ne décryptez pas si vous n’y êtes absolument pas obligé – ne décryptez pas pour afficher les 4 derniers chiffres. Ne décryptez pas pour dire à l’utilisateur quelle était sa carte.

En fait, si vous le pouvez, ne conservez même pas les numéros de carte cryptés sur le même serveur physique que le rest des informations utilisateur.

Authorize.net a une API Customer Information Manager qui vous permet de stocker les informations client dans leur système. Il en coûte 20 $ / mois. en complément de votre compte.

Je vous suggère de chiffrer les numéros de carte avec un algorithme fort (AES similaire) et une clé secrète longue.

Ensuite, gardez votre clé secrète dans un endroit sûr, similaire à un disque dur ou optique externe. Lorsque vous avez besoin de clé secrète, utilisez external hard.

Si vous utilisez un hôte partagé, vous devez stocker votre clé secrète dans un périphérique externe.

Ssortingct de votre firebase database

  1. Définir des utilisateurs ssortingcts pour votre firebase database
  2. Supprimez l’utilisateur root de votre firebase database si cela n’est pas nécessaire.