Что нужно для написания PCI-совместимой сборки? - PullRequest
5 голосов
/ 07 февраля 2012

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

Мне очень не нравится этот дизайн, и я бы хотел написать автономный WPF-совместимый элемент управления / сборку WPF, который мы можем подключить вместо компонента веб-браузера. Если код нашего приложения может использовать браузер без сертификации PCI, то он может использовать нашу собственную сборку, сертифицированную PCI, без самой сертификации PCI, верно? Все новое управление / сборка, которое он будет делать, это собирать информацию о карте и безопасно отправлять ее на удаленный безопасный сервер через службу WCF. Это не будет хранить кредитную карту или обрабатывать ее на месте. Мне сказали, что для этого требуется примерно 9-месячный процесс обзора, поэтому мы выбрали браузерный подход.

Может ли кто-нибудь дать мне общее представление о том, что потребуется для этого?

  • Можно ли это написать на C # / WPF?
  • Должен ли в коде применяться специальные меры безопасности (как CAS)?
  • Нужно ли запутывать сборку?
  • И как только оно написано, что вы должны делать?

1 Ответ

2 голосов
/ 07 февраля 2012

Несмотря на то, что PCI-DSS часто перекрывается, официальное название, которое вы ищете, - это PA-DSS (Стандарты безопасности данных платежных приложений).

Одна из стратегий наилучшего способа решения вашей проблемы состоит в том, чтобы отделить элементы ввода / обработки карты в совершенно отдельное решение. Это отдельное решение в конечном итоге станет «приложением», которое проходит сертификацию PA-DSS. После сертификации вы включите его в свой более крупный проект (который не изменит соответствие PCI более крупного проекта)

Преимущество его выделения станет очевидным, если вы посмотрите на PA-DSS. Один из критериев заключается в том, что любое изменение, которое требует перекомпиляции приложения, должно было бы переаттестовать приложение. Это не то, что вы хотите делать на частой основе!

Другая стратегия, которая поможет упростить процесс, состоит в том, чтобы учесть, что «собственные» приложения (которые не распространяются на клиентов) не должны быть сертифицированы PA-DSS (хотя все же подпадают под PCI-DSS, если они обрабатывают карту данные очевидно). Поэтому использование веб-службы в вашем домене потенциально облегчит задачу. Например, вы можете разместить веб-страницу с информацией о платеже, а затем использовать стандартный веб-браузер в своем главном приложении, указывающий на страницу ввода платежа. Это потенциально позволит вам обойти сертификацию PA-DSS (хотя все равно потребуется сертификация PCI для веб-страницы, которую вы сейчас размещаете)

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

...