Подтвердить что ты не робот

Рекомендации по хранению информации CreditCard в DataBase

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

Итак, я новичок в кодировании веб-платежной системы.

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

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

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

4b9b3361

Ответ 1

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

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

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

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

Ответ 2

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

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

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

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

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

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

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

Ответ 4

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

Ответ 5

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

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

Ответ 7

Я предлагаю вам шифровать номера карт сильным алгоритмом (аналогичным AES) и длинным секретным ключом.

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

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

Строгая база данных

  • Определение строгих пользователей для вашей базы данных
  • Удалите пользователя root вашей базы данных, если он не нужен.