Лучшие практики, чтобы хранить информацию CreditCard в DataBase

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

Так, я - новичок, кодирующий веб-платежную систему.

Мой вопрос, что лучшие практики должны хранить информацию кредитной карты в базу данных...

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

Что Вы сделали?

46
задан Garis M Suero 27 February 2013 в 16:36
поделиться

5 ответов

НЕ ДЕЛАЙТЕ ЭТО

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

Есть много сторонних компаний, которые делают это за вас, которые уже прошли через все проблемы, чтобы убедиться, что их система безопасна, соответствует ли они местным законам и так далее. В прошлом я использовал пример из США: authorize.net . В некоторых банках также есть системы, к которым вы можете подключиться, чтобы хранить данные кредитных карт и обрабатывать платежи.

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

85
ответ дан 26 November 2019 в 20:06
поделиться

Шифровать шифровать шифровать. Не расшифровывайте, если вам это не нужно - не расшифровывайте, чтобы показать последние 4 цифры. Не расшифровывайте, чтобы сказать пользователю, какой была его карта.

На самом деле, если вы можете, даже не храните зашифрованные номера карт на одном физическом сервере с остальной информацией пользователя.

1
ответ дан 26 November 2019 в 20:06
поделиться

Для этого я рекомендую комплексный многоуровневый подход.

Во-первых, необходимо сохранить информацию о кредитной карте.

Во-вторых, данные должны храниться надежно с использованием надежной формы шифрования. Я рекомендую AES с размером ключа 256 бит. При выборе ключа убедитесь, что вы используете все пространство ключей (это ошибка новичка - просто использовать случайно сгенерированную строку буквенно-цифровых символов в качестве ключа).

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

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

В-пятых, закрепите строку подключения к своей базе данных.

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

33
ответ дан 26 November 2019 в 20:06
поделиться

В miniumum соблюдайте PA DSS (Стандарт безопасности данных платежных приложений). Более подробную информацию можно найти здесь:

https://www.pcisecuritystandards.org/security_standards/pa_dss.shtml

Также было бы разумно посмотреть на PCI DSS, который можно найти здесь:

https: //www.pcisecuritystandards.org/security_standards/pci_dss.shtml

23
ответ дан 26 November 2019 в 20:06
поделиться

Вам следует избегать хранения любой информации о кредитных картах из-за риска для вас и для клиентов при этом.

2
ответ дан 26 November 2019 в 20:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: