2010-10-15 1 views
13

Мне нужно сохранить номера кредитных карт и секретные коды пользователей в базе данных в виде простого текста (очевидно, консенсус) для автоматической работы с сервера.Могу ли я сохранить секретный код кредитной карты в базе данных?

Есть ли проблемы?

Что мне нужно знать?

+10

PCI DSS запрещает хранить код CVV (предполагая, что это означает «секретный код»). – Jeff

+0

@Jeff они позволяют ему некоторые ситуации, если вы можете доказать, что это необходимо. – Incognito

+4

@user. Извините, но вы ошибаетесь. Он не может быть сохранен после авторизации. Я работал над построением платежных систем, совместимых с PCI. – PaulG

ответ

18

Большинство соглашений об обработке кредитных карт, которые я видел, не позволяют хранить код с обратной стороны карты.

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

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

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

8

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

Authorize.net (только один пример) будет хранить информацию о кредитной карте, чтобы вы могли делать бланки. Это простая система, которая работает очень хорошо и освобождает вас от любых проблем, связанных с хранением.

+1

+1. Ужасная, страшная идея хранить информацию о кредитной карте TJX пришлось выплачивать 10 миллионов долларов, потому что их база данных была взломана. –

5

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

Все договоры с торговым счетом, о которых я знаю, специально указывают, что вы НЕ должны хранить CVV. Это по соображениям безопасности.

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

Вам это не нужно, как только вы проверили его в первый раз. Определенно не храните его.

Вам не разрешено хранить номера кредитных карт в виде обычного текста.

19

PCI-DSS (Стандарт безопасности данных в области платежных карт) абсолютно запрещает сохранение данных на жестком диске на жестком диске. Кроме того, 3-значный код безопасности карты (4 цифры на Amex) не может быть сохранен после авторизации, и в идеале вы должны хранить его только в памяти, пока авторизация не будет завершена.

Статусы PCI вы можете хранить не более первые шесть и последние четыре цифры в виде обычного текста. Требования к печатным квитанциям различны, и вы можете печатать только последние четыре цифры максимум.

PCI не становится намного проще, если вы хотите попытаться зашифровать детали, прежде чем их перенести. Вы должны рассмотреть key management, key rotation, split keys.Далее вам необходимо пройти yearly onsite audits по вашей внутренней сетевой безопасности и quarterly audits вашей общедоступной сети. Чистая стоимость будет легко работать до $ тысяч.

В заключение. Даже не думай об этом!

Смежные вопросы