我是一名软件工程师,目前正在开发另一个必须符合 PCI PA-DSS 合规性的支付应用程序(我的第三个)。我正在重新检查 PA-DSS 文档,我想知道过去我是否在应用程序的安全性上过度劳累,而我本可以使用 TLS 和用户/密码。所以,我的问题是,在实施 PA-DSS 安全应用程序时:
对于身份验证和通信安全,拥有 TLS + 用户/通行证就足够了吗?
PA-DSS 标准的哪些部分证明需要在 Web 方法调用之间实现消息散列和滚动散列?TLS 实现可靠消息,但不实现消息之间的滚动哈希和持久调用者。实施滚动散列会有什么不同(从 PA-DSS 的角度来看)?
如果一个支付处理应用程序存储了 PII 信息并服务于不同的公司(意味着 A 公司和 B 公司可以在此类应用程序中拥有帐户),则没有具体要求说明 PII 信息不能存储在同一个 DB 中,但在过去,PA-QSA 坚持认为这是一个问题。问题是:这真的有必要吗?我不能认为 Authorize.NET 是一家拥有数千个客户和处理器的公司,它拥有不同的数据库来存储通过其每个客户公司处理的信用卡。
提前致谢!
更新#1:
假设 DMZ 和 Secure Zone 中的所有页面和 Web 服务都将具有 HTTPS 用于所有通信通道、页面和服务。
关于#3,问题不在于存储敏感信息的位置或安全性。该问题更倾向于质疑在同一数据库中共享来自不同来源(例如 AT&T 和 Verizon 等客户端)的敏感信息的能力。