gpt4 book ai didi

asp.net-mvc - 使用 ASP.NET MVC 的信用卡支付(持卡、刷卡)

转载 作者:行者123 更新时间:2023-12-04 14:34:52 35 4
gpt4 key购买 nike

我需要使用在 ASP.NET MVC 应用中刷过的实体卡进行信用卡支付。

最简单的方法可能是进行简单的“键盘楔形”滑动(现在是 USB),以便将轨道数据作为键盘输入发送到密码类型的输入字段。

不过,我对这种方法存在一些安全问题:

  • 如果他们在光标位于错误字段时刷卡,完整的轨道数据将以明文形式显示。
  • 没有端到端加密(=卡片数据以明文形式存储在内存/浏览器缓存中),并且可以被键盘嗅探器抓取。
  • 必须将完整的跟踪数据发送到服务器,从那里将数据发送到任何支付网关。当然,在这两种情况下都通过 SSL,但这会将 Web 服务器添加到攻击面。直接与客户端的支付处理器交互可以避免这种情况(如果可行),这样只有掩码的卡号 + 授权号或 token 等必须转到服务器。

我有一些可能更好的选择的想法,但我不确定它们是否可行:

  • 一种独立的信用卡设备,可直接与支付处理器对话,并通过 ASP.NET 应用程序以某种方式与 PC 集成。也许是监听 TCP 端口的信用卡设备,ASP.NET 应用程序可以通过该端口与其客户端通信。或者通过 USB 连接并通过浏览器插件或类似工具进行交互。
  • 一个小型 iframe 或类似的直接使用支付处理器的“支付小部件”
  • 使用 USB 刷卡(尽管可嗅探)+ 一些客户端库直接与支付处理器交互。

我正在寻找一些关于(可靠和安全)完成此任务的好方法的反馈和想法(我还计划联系一些支付处理商,看看我能从他们那里找到什么)。

谢谢。

最佳答案

您的担忧是有道理的,因为磁条实际上已经过时了。在美国这很常见,但在其他国家/地区,信用卡使用智能芯片,可提供增强的安全性以防止克隆磁卡。

但也有符合 PCI-DSS 标准的磁卡读卡器,它们将使用 3DES 加密数据并提供设备/主机身份验证。此设备将允许您绕过嗅探,使用 HID 模式而不是键盘模拟,从而允许与设备直接通信。

当通过读卡器刷卡时,轨道数据将使用 DUKPT(每次交易派生的唯一 key ) key 管理进行 TDEA(三重数据加密算法,又名三重 DES)加密。这种 key 管理方法使用基本派生 key 来加密 key 序列号,从而生成初始加密 key ,该 key 在部署之前注入(inject)到阅读器中。每次交易后,加密 key 都会根据 DUKPT 算法进行修改,以便每个交易都使用唯一的 key 。因此,数据将针对每笔交易使用不同的加密 key 进行加密。

我真正喜欢的其他选择是连接到智能手机音频插孔的选择。就像您肯定见过或听说过的 Square 设备一样。它们具有与 TDAE 和 DUKPT 相同的原理,但将数据调制为由 App 解调的声音。

如果您计划接受信用卡作为“Card Present”,则需要执行此安全步骤。如果您对“卡不存在”没问题,您可以捕获跟踪数据并将其发送到支付网关以供批准。支付网关不知道该卡是否真的存在,或者您是否手动输入了信息。如果您想拥有“现卡”功能,支付网关将要求您使用经 PCI 认证的设备。

关于 ASP.NET MVC,这是不可能的,这必须是客户端应用程序或软件才能进行端到端加密。

关于asp.net-mvc - 使用 ASP.NET MVC 的信用卡支付(持卡、刷卡),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24051145/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com