48 votes

Meilleures pratiques pour stocker des informations bancaires dans une base de données

Résumé des réponses:
Ne pas le faire. Les implications juridiques et financières seront désastreuses. Recherchez établi de solutions tierces ou d'embaucher un expert. Ne jamais stocker des informations sensibles sur un serveur partagé. La recherche pour le plus approprié, un mécanisme de chiffrement.

Je suis buiding un site web pour un client qui a besoin de stocker ses clients, la banque d'informations (routage + numéro de compte) dans la base de données pour le dépôt direct. Voici quelques détails:

1) Le site sera d'abord sur un serveur mutualisé (c'est mon premier sujet de préoccupation).
2) je suis en utilisant PHP/MySQL.
3) j'ai l'intention sur l'utilisation de mcrypt.
4) La clé sera situé en dehors de la racine web.

S'il vous plaît laissez-moi savoir vos pensées. Si possible, merci de me fournir quelques ressources sur ACH traitement.

Merci!

EDIT: je m'attendais à cette réponse que je suis terrifiée à l'idée de les questions de sécurité là-bas aussi. J'ai exprimé mon inquiétude pour mon client et ce sera un bon support.

EDIT 2: pied de cette. N'étais pas heureux avec l'idée en premier lieu! Va enquêter sur PayPal Mass Mailer API.

61voto

Cameron Pope Points 3375

Je pense que vous pouvez résoudre ce problème sans pour autant enregistrer des informations de la banque de vous-même grâce à l'aide de quelque chose comme Paypal de Paiement de Masse de l'API. De cette façon, votre client peut payer les gens, et PayPal stocke toutes les informations de sorte que vous n'avez pas à.

Si vous voulez connaître toutes les étapes que vous devez prendre à la même distance à la possibilité de sécuriser votre client est sensible à des données financières, les google"Conformité à la norme PCI'

Si vous n'êtes pas une peur bleue de stockage de données financières en ligne, vous êtes terriblement naïf.

14voto

Kevin Points 57797

1) Le site sera d'abord sur un serveur mutualisé (c'est mon premier sujet de préoccupation). --VRAIMENT MAUVAIS. N'ayant pas absolue contrôle administratif sur le serveur, et être en mesure de garder d'autres personnes est vraiment un gros problème.

Je serais vraiment très intéressé que vous avez directement accès à la base de données depuis le serveur web frontal. C'est un gros no-no de données financières.

Même si vous avez le fort de l'algorithme de chiffrement jamais, comment empêcher quelqu'un de détournement de votre système et de l'utiliser pour déchiffrer les données pour eux. Ils n'auront pas besoin de la clé, ils vont juste besoin de votre demande pour faire le travail pour eux. C'est en supposant que vous utilisez une seule clé pour chiffrer et déchiffrer les données ou vous récupérer les données de la db pour montrer aux utilisateurs du système.

Ok, voici la chose. Si vous vous posez ces questions, vous n'avez pas les connaissances techniques pour le faire correctement. Je ne cherche pas à son dire, c'est juste un fait. Je voudrais aller travailler avec un groupe de chevronnés, ceux qui le font consciencieusement premier. Il y aura beaucoup de choses qui ne sont pas mentionnés ici, qui devront être prises en considération. il y' a beaucoup de choses à propos de la sécurité qui n'est pas écrite en soi. Choses que vous ne ramassez pas sur de la lecture d'un livre. C'est une chose très difficile à construire, parce qu'il y a de grandes récompenses à ceux qui piratent les systèmes financiers.

12voto

Andrew Barnett Points 2324

Ne le fais pas.

Toutefois, si vous devez le faire, utilisez un crypto à clé publique / privée. Stockez et utilisez uniquement la clé publique pour chiffrer les données stockées dans la base de données. Stockez la clé privée dans un emplacement sécurisé (ce qui signifie: non pas le serveur hébergé, mais une machine locale "sécurisée" avec les contrôles d'accès appropriés). Si nécessaire, téléchargez les données sur la machine locale, utilisez la clé privée pour les déchiffrer, et c'est parti.

Mais sérieusement, trouvez un moyen d'éviter de le faire si vous le pouvez.

5voto

erickson Points 127945

Pouvez-vous me dire en quoi cette application est pour que je puisse m'assurer de ne jamais l'utiliser?

La seule façon de faire cela à distance sécuritaire est d'exiger que le titulaire du compte d'entrer quelque chose à chaque fois qu'une transaction est effectuée.

Ce "quelque chose" pourrait être un mot de passe, à partir de laquelle une clé symétrique est généré pour décrypter les informations sont stockées sur le serveur. Ou il pourrait être le compte de l'information elle-même. Si c'est juste un numéro de compte, ce n'est pas beaucoup plus difficile pour l'utilisateur de saisir à chaque fois, et il est beaucoup plus sûr.

Même alors, un corrompu service d'hébergement peut facilement intercepter les informations de compte; une maladroite de services d'hébergement, peut lui permettre d'être intercepté en dépit de vos meilleurs efforts. Pour être sûr, vous avez besoin de lock-out de la machine à tout utilisateur qui n'est pas responsable d'une violation de la sécurité.

J'ai confiance à la réputation des services d'hébergement assurant la sécurité physique de votre serveur, mais je n'aurais jamais confiance en eux, avec l'accès à l'OS. Trop risqué, que ce soit par malveillance ou de négligence.

4voto

lc. Points 50297

Parlez-en à un avocat au sujet de votre passifs éventuels avant de continuer. Ayant de données bancaires personnelles stockées sur un hébergement mutualisé serveur a danger écrit sur elle. Vous n'avez aucun contrôle sur qui peut, finalement, obtenir les mains sur les données.

D'autre préoccupation est que c'est pas les données de votre client, il est de votre client, du client, les données! Vous pourriez être en mesure de conclure une entente avec votre client de vous indemniser, mais pas quand leurs clients sont impliqués. Une fois les données est compromise, ils vont tourner à droite vers vous avec les clients de la respiration vers le bas du cou à la remorque!

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X