security - TLS 足够安全吗?需要在 PA-DSS 支付应用程序中滚动哈希吗?

标签 security hash payment-gateway pci-dss pii

我是一名软件工程师,目前正在开发另一款支付应用程序(我的第三个),该应用程序必须符合 PCI PA-DSS 合规性。我正在重新检查 PA-DSS 文档,我想知道过去我是否在应用程序的安全性方面过度劳累,而我本来可以使用 TLS 和用户/通行证。因此,我的问题是,在实现 PA-DSS 安全应用程序时:

  1. 对于身份验证和通信安全来说,拥有 TLS + 用户/密码就足够了吗?

  2. PA-DSS 标准的哪些部分证明需要在 Web 方法调用之间实现消息哈希和滚动哈希? TLS 实现可靠的消息,但不会在消息之间滚动哈希和持久调用者。实现滚动哈希会产生任何影响吗(从 PA-DSS 的角度来看)?

  3. 如果支付处理应用程序存储 PII 信息并为不同的公司提供服务(意味着公司 A 和公司 B 可以在此类应用程序中拥有帐户),则没有具体要求规定 PII 信息不能存储在同一个应用程序中DB,但在过去,PA-QSA 一直坚持认为这是一个问题。问题是:这真的有必要吗?我无法想象 Authorize.NET,一家拥有数千个客户和处理商的公司有不同的数据库来存储通过每个客户公司处理的信用卡。

提前致谢!

<小时/>

更新 #1:

  • 假设 DMZ 和安全区中的所有页面和 Web 服务都将为所有通信 channel 、页面和服务采用 HTTPS。

  • 关于#3,问题不在于敏感信息存储的位置或安全性。这个问题更适合质疑在同一数据库中共享来自不同来源(例如 AT&T 和 Verizon 等客户)的敏感信息的能力。

最佳答案

这里有一些问题。

1) 仅对用户名+密码使用 TLS 仍然是一个漏洞。其违反了owasp a9使用 firehseep 风格的攻击劫持系统上的任何帐户都很简单。

我知道 PA-DSS 2.0 并未体现整个 owasp top 10,但应注意要求 12.1:

12.1 Instruct customers to encrypt all non-console administrative access with strong cryptography, using technologies such as SSH, VPN, or SSL/TLS for web-based management and other non-console administrative access.

其中将包括一个管理 http 接口(interface)。

2) PA-DSS 建议使用真正的传输层安全性,例如:VPN 和 TLS/SSL。我不认为需要滚动哈希,而且说实话这不是一个非常安全的设计。此类流量需要完整的传输层保护。

3)不要忘记要求 9:

9. Cardholder data must never be stored on a server connected to the Internet

关于security - TLS 足够安全吗?需要在 PA-DSS 支付应用程序中滚动哈希吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5327443/

相关文章:

javascript - 在 JavaScript 中存储密码和 ID 的最佳方式是什么?

javascript - 如何使用 Firefox 扩展模拟 `location` , `navigator` 和 friend 的特定页面?

amazon-web-services - 如何了解授予用户的所有 AWS IAM 权限

python - 通过 python 脚本启动开膛手约翰

java - 如何使用 bouncy caSTLe 在 Java 中创建 SHA512 摘要字符串?

paypal - Paypal IPN 总是必要的吗?

javascript 全局变量 - 保护

c - 这个哈希函数有名字吗?

php - 如何验证 PayPal 返回数据?

php - PHP 中的信用卡支付网关?