3

我是一名软件工程师,目前正在开发另一个必须符合 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 和 Secure Zone 中的所有页面和 Web 服务都将具有 HTTPS 用于所有通信通道、页面和服务。

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

4

1 回答 1

3

这里有几个问题。

1) 仅对用户名+密码使用 TLS 仍然是一个漏洞。它违反了owasp a9并且使用 firehseep 样式攻击劫持系统上的任何帐户都是微不足道的。

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

12.1指导客户使用强加密技术对所有非控制台管理访问进行加密,使用 SSH、VPN 或 SSL/TLS 等技术进行基于 Web 的管理和其他非控制台管理访问。

这将包括一个管理 http 接口。

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

3)不要忘记要求9:

9.持卡人数据绝不能存储在连接到互联网的服务器上

于 2011-03-16T16:42:31.333 回答