C# 编写PCI兼容程序集需要什么?

C# 编写PCI兼容程序集需要什么?,c#,wpf,security,credit-card,pci-compliance,C#,Wpf,Security,Credit Card,Pci Compliance,我有一个WPF应用程序,我们已经将信用卡处理集成到其中。我们目前正在将信用信息刷入/键入WPF web浏览器中的网页,以满足PCI合规性要求。显然这是可以的,因为web浏览器组件是PCI兼容的,我们的代码从不处理信用卡信息 我非常讨厌这种设计,并希望编写一个独立的、符合PCI的WPF控件/程序集,我们可以插入它,而不是web浏览器组件。如果我们的应用程序代码可以使用浏览器而不需要经过PCI认证,那么它就可以使用我们自己的PCI认证程序集,而不需要经过PCI认证,对吗?它要做的所有新控制/组装就是

我有一个WPF应用程序,我们已经将信用卡处理集成到其中。我们目前正在将信用信息刷入/键入WPF web浏览器中的网页,以满足PCI合规性要求。显然这是可以的,因为web浏览器组件是PCI兼容的,我们的代码从不处理信用卡信息

我非常讨厌这种设计,并希望编写一个独立的、符合PCI的WPF控件/程序集,我们可以插入它,而不是web浏览器组件。如果我们的应用程序代码可以使用浏览器而不需要经过PCI认证,那么它就可以使用我们自己的PCI认证程序集,而不需要经过PCI认证,对吗?它要做的所有新控制/组装就是收集卡信息,并通过WCF服务安全地将其发送到远程安全服务器。它不会存储信用卡或在本地对其进行任何处理。有人告诉我,这样做需要9个月的审查过程,这就是我们采用浏览器方法的原因

有人能给我一个大概的想法吗

  • 它能用C#/WPF写吗
  • 该准则是否必须实施特殊的安全措施 (比如CAS)
  • 是否必须对程序集进行模糊处理
  • 一旦写好了,你该怎么办

尽管与PCI-DSS有大量重叠,但您要寻找的正式名称是PA-DSS(支付应用程序数据安全标准)

解决问题的最佳方法之一是将卡片输入/卡片处理部分分离到一个完全独立的解决方案中。这个单独的解决方案最终将成为通过PA-DSS认证的“应用程序”。一旦获得认证,您就可以将其嵌入到更大的项目中(这不会改变更大项目的PCI合规性)

当您查看PA-DSS时,将其分离出来的优势将变得清晰。其中一个标准是,任何需要重新编译应用程序的更改都需要重新验证应用程序。这不是你想经常做的事情

另一个帮助简化过程的策略是考虑“内部的应用程序(不分配给客户))不需要PA-DSS认证(尽管在PCI DSS中明显地处理了卡数据,但仍然属于PCI DSS)。因此,在您的域中使用Web服务可能会使事情变得更容易。例如,您可以托管一个“支付条目详细信息”网页,然后在主应用程序中使用一个指向您的支付条目页面的标准webbrowser。这可能允许您绕过PA-DSS认证(尽管您现在托管的网页仍需要PCI认证)


无论你决定什么,最好的建议是,一旦你对你的设计有了合理的把握,就让QSA参与进来。QSA将就哪些方面可能导致合规性问题提供建议,最终QSA将签署您的合规性

一旦您接触到提升该级别的CC数据,PCI合规性将有多个级别。如果你将抄送信息的捕获嵌入到你的应用程序中,就没有真正的解决方法。web浏览器控件之所以能够工作,是因为CC信息从不在应用程序的内存中,而是直接发送给第三方。整个PCI合规性让我感到很痛苦,但总的来说,我很高兴我的数据至少看起来是安全的。谢谢!困难的部分是弄清楚去哪里找。