web-dev-qa-db-fra.com

Stocker les numéros de carte de crédit

Je ferai un site Web avec un type d'option d'adhésion pour le site Web, et je serai très probablement en utilisant Autorize.net pour effectuer les transactions, mais je dois savoir quel type de cryptage je peux utiliser pour stocker une carte de crédit numéros dans une base de données MySQL?

11
im UT

Pourquoi même le stocker dans une base de données MySQL lorsque vous pouvez utiliser API de gestionnaire d'informations client de l'Autoris.net et prenant des problèmes de conformité et de sécurité PCI immédiatement hors de vos mains et de les laisser faire tout le soulèvement de la hausse vous? CIM Vous créez des profils de paiement client en stockant les informations de carte de crédit du client à leur fin, puis chargez-le contre ce profil à une date ultérieure chaque fois que vous devez simplement vous référer à l'ID de profil de paiement au moment de la transaction.

14
John Conde

Le règlement clé que vous doit suivez est la section Standard de sécurité des données de la carte de paiement (PCI DSS) et d'intérêt spécifique ici est la section 3.4 -

Protégez les données du titulaire de la carte stockées

Render PAN Il est illisible n'importe où il est stocké (y compris sur le support numérique portable, le support de sauvegarde et les journaux) en utilisant l'une des approches suivantes:

  • Hays à sens unique basé sur une cryptographie forte (hachage doit être de toute la casserole)
  • La troncature (hachage ne peut pas être utilisée pour remplacer le segment tronqué de la casserole)
  • Les jetons d'index et les coussinets (les coussinets doivent être stockés de manière sécurisée)
  • Cryptographie forte avec les processus et procédures de gestion de clés associés

Le reste de la section 3 vaut également la peine de lire en profondeur!

12
Rory Alsop

Il est probablement (voir la note ci-dessous) répond aux exigences si vous utilisez un chiffre symétrique bien connu (tel que AES ou Blowfish/TwOfish) sur les données sensibles à l'aide d'une touche stockée quelque part de la base de données. Étant donné que le résultat n'est pas imprimable, vous pouvez être hexagonal ou base64 coder le résultat pour le stockage.

De toute évidence, tout système qui fait du cryptage et du déchiffrement automatique va être intrinsèquement moins sécurisé qu'un système manuel, car les clés devront être stockées directement sur le serveur pour le fonctionnement. Mais plus vous pouvez les séparer, mieux c'est.

Mieux encore, de nombreux fournisseurs de passerelles permettent aux mécanismes où vous ne devez pas stocker la carte du client sur votre serveur, y compris les transactions de référence CIM et PayPal de Autherize.net's CIM et PayPal pour nommer quelques exemples.

NOTE: Cela ne constitue pas un avis juridique ou de sécurité et ne doit pas être interprété comme tel. Vous devez toujours embaucher un professionnel de la sécurité locale si vous avez des questions ou des préoccupations.

2
tylerl