Соответствие SQL Server 2008 + PCI? Относится к PCI, а также к симметричным клавишам!

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

В их документации просто написано «защита». Это говорит о том, что мне нужно зашифровать эти 3 столбца в моей базе данных? Я думал, что только число - это данные, которые нужно зашифровать. В любом случае, меня устраивает.

Если мне нужно зашифровать все три столбца, могу ли я использовать один сертификат и 3 симметричных ключа, или мне понадобится только по 1 из каждого, причем этот симметричный ключ будет использоваться во всех 3 столбцах? Причина, по которой я спрашиваю, находится в документации BoL по шифрованию столбца, ключ назван специально после столбца, который они шифруют.

Спасибо за помощь!


person Gromer    schedule 06.02.2010    source источник


Ответы (2)


Если вы храните PAN (номер карты), он обязательно должен быть зашифрован.

Если вы храните имя держателя карты, дату истечения срока действия, номер выпуска (и они могут быть связаны с PAN), тогда они должны быть зашифрованы, но (насколько я понимаю) это не является абсолютно необходимым. PCI-DSS только заявляет, что как минимум PAN должен быть зашифрован.

Код CV2 / AVS / CSC не может быть сохранен после авторизации, и в идеале вы должны доказать, что он вообще не хранится (например, хранится только в памяти при выполнении авторизации)

Что касается сертификатов / ключей - вы можете просто использовать один ключ для шифрования всех данных, связанных с картой. Лучше всего не использовать ключи для нескольких целей, поэтому, если у вас есть другие (не связанные с картой) данные, которые зашифрованы, используйте для этого отдельный ключ.

Самая сложная часть - это та, которую вы не упомянули подробно, - это управление ключами. Чтобы соответствовать требованиям PCI, ключ должен храниться в отдельном физическом ящике для базы данных, и вам потребуется возможность менять ключ не реже одного раза в год. SQL 2008 поддерживает это с помощью Extensible Key Management (EKM).

Все эти моменты лучше всего обсуждать с независимым QSA (квалифицированным оценщиком безопасности), которого вам в какой-то момент необходимо будет привлечь, независимо от того, чтобы соответствовать требованиям PCI. Ваш QSA сможет направить вас по таким вопросам, как этот, и, в конечном итоге, это его / ее совет, которому вы должны следовать, чтобы соответствовать требованиям.

Стоит упомянуть, что большинство людей вскоре понимают, насколько обременительным может быть соблюдение требований PCI, и стремятся минимизировать это бремя, используя сторонний платежный шлюз. Большинство платежных шлюзов позволяют выполнять авторизацию / расчет и хранить данные карты на своих (уже совместимых с PCI) серверах. Затем вам нужно сохранить только TokenId, который ссылается на эти платежные реквизиты, на случай, если вам потребуется выполнить дальнейшие платежи / возврат средств с этой карты.

В любом случае удачи!

person PaulG    schedule 10.02.2010

Из спецификации: https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml

Требование 3. Защита хранимых данных о держателях карт.

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

Я думаю, это убедительно свидетельствует о том, что вам следует

  1. не храните, если вам не нужно
  2. если нужно, сохраните запчасть, если можете
  3. если вы храните что-нибудь, зашифруйте это.
person Roland Bouman    schedule 09.02.2010