2012-01-25 2 views
1

Мне нужно сохранить данные банковского счета в веб-проекте. Проект asp.net mvc 3, а база данных - MSSQL 2008 R2.Сохранить данные банковского счета secure

Но как мне это сделать?

Мои решения:

  1. Решение: Шифрование данных с помощью TripleDESCryptoServiceProvider и сохранить их в базу данных.

  2. Решение. Сохраните только, возможно, последние 3 номера данных учетной записи (например, amazon показывает вам), чтобы пользователь узнал, какие данные учетной записи он сохранил в системе. Зашифруйте все данные учетной записи и сохраните их в другой базе данных (возможно, с помощью хранимой процедуры), в которой веб-проект не имеет прав.

Нам нужны только данные учетной записи, для сбора ежемесячных платежей. Поэтому мы не нуждаемся в них в веб-проекте. Но пользователь должен узнать, какие данные учетной записи он дал для оплаты сборов.

Каковы наилучшие решения?

EDIT:

Спасибо всем за ваши ответы. Думаю, мы действительно будем использовать поставщика услуг, который будет хранить данные учетной записи и делать все остальное, например, управление дебиторской задолженностью.

+3

Не ответ, но не забудьте рассмотреть любые действующие законы, регламентирующие хранение банковских данных, где вы находитесь. Например, в Великобритании вы не можете хранить данные о карте без каких-либо довольно серьезных (физических) мер безопасности. –

+3

Я бы * сильно * советую вам не полагаться (полностью) на сайт Q/A для этой информации. Получение этого неправильного может иметь серьезные юридические/финансовые последствия. Вы должны обязательно изучить соответствующий PCI или аналогичные стандарты своей страны/отрасли. –

+1

Да; Что сказал @TomMorgan. Я оставляю свой комментарий тоже, просто чтобы подчеркнуть это.Если это для небольшой компании, они не могут позволить себе затраты на одно нарушение. Если это для большой компании, нет никаких оправданий, чтобы не иметь кого-то знакомого, работающего над такими вещами. –

ответ

3

На самом деле, исходя из моего комментария - лучше всего, может быть, поговорить со своим платежным шлюзом. Многие из них используют систему токенов, чтобы позволить людям собирать регулярные платежи без необходимости хранить данные о карте. Пользователь вводит данные один раз, они хранятся на платежном шлюзе, вы возвращаете токен, который затем можно повторно использовать для повторного платежа.

Учитывая этот сценарий, вы можете сохранить только последние 4 цифры номера карты: этого должно быть достаточно, чтобы пользователь мог снова распознать свою карту, если это необходимо.

Они, вероятно, также являются хорошей отправной точкой для информации, касающейся методов безопасности и хранения.

+0

Да, я абсолютно согласен –

0

Я полагаю, что это сводится к тому, кому нужно получить доступ к своим банковским номерам после того, как вы их сохранили.

Если они сохранены вашим веб-приложением, а затем прочитаны другим приватным приложением, моя рекомендация заключалась бы в том, чтобы зашифровать результаты на сайте с помощью открытого ключа и иметь только закрытый ключ дешифрования в другом приложении. Это означает, что даже если ваш db взломан, им также понадобится ваш закрытый ключ для доступа к данным. Храните это в другом месте.

Как уже говорили другие лучшее решение, чтобы избежать хранения данных на всех, если это возможно