【发布时间】:2014-07-25 21:54:07
【问题描述】:
我需要使用在 ASP.NET MVC 应用中刷卡的实体卡进行信用卡付款。
最简单的方法可能是进行简单的“键盘楔形”滑动(现在是 USB),以便将曲目数据作为键盘输入发送到密码类型的输入字段。
不过,我对这种方法存在一些安全问题:
- 如果他们在光标位于错误字段时刷卡,则会以明文形式显示完整的曲目数据。
- 没有端到端加密(=卡片数据以明文形式保存在内存/浏览器缓存中),并且可以被键盘嗅探器抓取。
- 必须将完整的跟踪数据发送到服务器,然后将其发送到任何支付网关。当然在这两种情况下都通过 SSL,但这会将 Web 服务器添加到攻击面。客户端直接与支付处理器交互将避免这种情况(如果可行),因此只有被屏蔽的卡#+授权号或令牌等必须转到服务器。
我对可能更好的选择有一些想法,但我不确定它们是否可行:
- 一种独立的信用卡设备,直接与支付处理器对话,并以某种方式与带有 ASP.NET 应用程序的 PC 集成。可能是一个信用卡设备,它侦听 TCP 端口,ASP.NET 应用程序可以通过该端口与其客户端进行通信。或通过 USB 连接并通过浏览器插件或类似插件进行交互。
- 一个小型 iframe 或类似的直接使用支付处理器的“支付小部件”
- 使用 USB 刷卡(尽管可嗅探)+ 一些客户端库直接与支付处理器交互。
我正在寻找一些关于实现此目标的好方法(可靠和安全)的反馈和想法(我还计划联系一些支付处理商,看看我能从他们那里找到什么)。
谢谢。
【问题讨论】:
标签: asp.net-mvc security pci-dss