2008-10-08 18 views
4

Je suis en train de créer une application pour un client qui lui permettra de facturer automatiquement les cartes de crédit de ses clients. Je suis curieux de savoir quelles sont meilleures pratiques pour stocker en toute sécurité et accéder aux informations de carte de crédit, et d'ailleurs, toute autre information sensible, comme les numéros de sécurité sociale, les numéros de compte et ainsi de suite.Quelles sont les meilleures pratiques pour gérer les informations sensibles?

Je suis en supposant cryptage d'un certain type sera employé, mais avant de creuser trop profond je voulais voir comment les autres gèrent ces types d'exigences.

Cela ne fait rien, mais nous concevons le logiciel en utilisant Microsoft SQL Server pour la base de données, et en utilisant C# et ASP.NET.

Répondre

5

Lire le PCI requirements. Tout sera là.

En fait, vous devez les suivre.

+0

Pouvez-vous élaborer un peu plus ... peut-être fournir des liens? – mattruma

+0

Bien sûr. :) Les sociétés de cartes de crédit unis dans un effort contre la fraude. Maintenant, tout le monde qui gère les cartes de crédit doit suivre ces exigences. Vous pouvez lire un peu à ce sujet ici: http://biztechmagazine.com/article.asp?item_id=354 – mannu

+0

http://www.pcistandard.com/requirements.html –

1

Non, je veux dire, en avez-vous vraiment besoin?

Il existe un marché fort de services de paiement tiers qui peuvent recevoir les détails pour vous et vous envoyer simplement un message lorsque le paiement a été effectué. Il existe des alternatives telles que PayPal et vous pouvez protéger les données avec MD5 ou SHA1 - en supprimant des questions telles que la chaîne de chiffres exacte.

+0

J'aimerais que ce soit si facile .. mais nous devons. – mattruma

3

1 - ne rassemblez même pas de SSN, sauf si vous en avez vraiment besoin. Et à moins que vous ne soyez une banque ou le gouvernement, il y a de fortes chances que vous ne le fassiez pas.

2 - ne pas collecter d'autres informations sensibles, sauf si vous avez vraiment besoin de

3 - utiliser les contrôles sont appropriés (machine séparée pour la base de données, firewalled, accès contrôlé, etc.) pour les choses youdo vraiment besoin garder.

1

Différentes normes PCI sont requises pour différentes applications. Si votre application collecte simplement les numéros CC et les soumet ensuite à une passerelle de paiement conforme à la norme PCI, vos exigences de conformité ne sont pas trop mauvaises - à condition de ne pas stocker le numéro de carte ou le CVV.

En termes de journalisation, vous devez "éviscérer" le numéro de carte de crédit, par ex. Conserver les 6 premiers chiffres et les 3 derniers chiffres mais masquer les chiffres intermédiaires. Ne pas enregistrer CVV du tout.

Les documents standard PCI vont dans les moindres détails, mais tout dépend des exigences de votre application quant au niveau de conformité dont vous avez besoin.

3

Utilisez des normes agressives pour sécuriser le système hôte à la fois en termes de système d'exploitation et de sécurité physique, tels que le NSA guidelines.

Placez la base de données sur un système distinct du serveur Web ou d'autres fonctions pour empêcher l'accès physique et les exploits d'escalade de droits. Programme défensivement pour éviter les attaques par injection SQL et les exploits similaires. Lors du développement, programmez d'abord en pensant à la sécurité. Revenir après et appliquer la sécurité sera difficile et sujet aux erreurs.Essayez de séparer les différentes parties de l'application ... c'est-à-dire n'utilisez pas la même visionneuse ou le même contrôleur pour un accès "public" et un accès "privé".

Faites attention et respectez toutes les lois locales concernant la manipulation de ces données ... Il y en a beaucoup.

Gardez un supply of envelopes pour avertir vos clients en cas de violation. Si vous perdez des informations pour 26 millions de clients, vous pourriez ne pas être en mesure d'acquérir suffisamment d'enveloppes pour respecter le délai légal de notification d'une violation.

0

Soyez intime avec les menaces OWASP et savez précisément comment les contrer dans votre application et votre framework. Il est difficile de croire combien de personnes embrassent des demi-solutions loufoques à l'injection SQL et aux attaques de script intersite.