2012-01-25 9 views
1

Webプロジェクトに銀行口座データを保存する必要があります。 プロジェクトはasp.net mvc 3で、データベースはMSSQL 2008 R2です。銀行口座データを安全に保存する

しかし、どうすれば安全ですか?

私の解決策は以下のとおりです。

  1. ソリューション:TripleDESCryptoServiceProviderでデータを暗号化してデータベースに保存します。

  2. 解決方法:アカウントデータの最後の3つの数字(amazonが示すように)だけを保存して、ユーザーがシステムに保存したアカウントデータを認識できるようにします。 アカウントデータ全体を暗号化し、Webプロジェクトに権限がない別のデータベースに保存します(おそらくストアドプロシージャを使用します)。

アカウントデータが必要な場合は、月額料金を徴収してください。だから私たちはウェブプロジェクトでそれらを必要としません。しかし、ユーザは、料金を支払うために与えたアカウントデータを認識しなければならない。

どのようなソリューションが最適ですか?

編集:

ご回答いただきありがとうございます。 私は本当にサービスプロバイダを使用して、アカウントデータを保存し、アカウント受信管理のような他のものをすべて使用すると考えます。

+3

可能な場合はデータを格納しない、しかし、あなたは、銀行のデータのストレージを管理するすべての適用法を考慮することを覚えておくことであると述べてきたように。たとえば、英国では、かなり深刻な(物理的な)セキュリティ対策がなければ、カードの詳細を保存することはできません。 –

+3

この情報のQ/Aサイトに(完全に)依存しないことを強くお勧めします。これを間違ったものにすると、法的/財政的に重大な結果につながる可能あなたはあなたの国/業界の関連するPCIまたは同様の基準を確実に勉強する必要があります。 –

+1

ええ; @トムモガンは何を言った。私は自分のコメントを残しているだけで、強調しています。これが小規模企業の場合は、単一違反の費用を負担することはできません。これが大企業のためのものであれば、このようなことに慣れ親しんではいけないという言い訳はありません。 –

答えて

3

実際には、私のコメントから先導しています - あなたの最善の策はお支払いゲートウェイと話すことかもしれません。彼らの多くは、カードの詳細を保存せずに定期的な支払いを収集できるようにトークンシステムを運用しています。ユーザーは詳細を一度入力すると、支払いゲートウェイに保管され、トークンが戻されます。これを繰り返し使用して支払いを繰り返します。

この場合、カード番号の最後の4桁だけを格納することができます。これは、必要に応じてユーザーがカードを再認識するのに十分なはずです。

おそらく、セキュリティとストレージの方法に関する情報の第一歩でもあります。

+0

はい、私は絶対に同意します –

0

あなたの銀行の番号を保存した後に誰かにアクセスする必要があると思います。

ウェブアプリケーションによって保存され、別のプライベートアプリケーションで読み取られた場合は、そのサイトの結果を公開鍵で暗号化し、他のアプリケーションでプライベート解読キーのみを使用することをおすすめします。これは、dbが侵害されても、データにアクセスするために秘密鍵が必要になることを意味します。これをどこかに保管してください。

他の人が最善の解決策が全くない答え