0

我们正在构建一个多租户 SAAS Web 应用程序。我们的租户希望可以选择接受信用卡支付我们允许他们通过我们的应用程序营销的各种产品。为了支持这一点,我们将要求租户拥有自己的 Braintree 帐户。租户通过我们的应用程序向我们提供他们的 Braintree API 密钥。然后,我们使用这些 API 密钥代表他们与他们的 Braintree 帐户进行交互(卡存储、卡验证和基本交易)。

该模型与现有 Braintree 客户WooThemesGoodsieTutorTrove等使用的模型相同。

我们需要记录租户的 API 信息(商户 ID、公共 API 密钥和私有 API 密钥)才能使这一切正常工作。

我的问题是:

  1. 我们可以简单地将这些信息存储在我们的应用程序数据库中吗?
  2. 存储此信息是否会影响我们或我们租户的 PCI/DSS 范围?
  3. 如果我们不能以原始形式存储信息,什么是合适的存储形式?

注意:我们已经就同样的问题直接联系了 Braintree,但我们认为获得其他意见也不会有什么坏处 :)。

干杯,山姆

4

2 回答 2

1

恕我直言,请注意,您将 [如果没有,应该] 拥有基于租户的加密密钥 [每个租户都可以配置自己的加密算法和密钥 => SAAS 定制],请AuthorizationId使用租户特定密钥加密然后持久化在数据库中。这些类型的敏感数据应该受到保护,并且您应该有一个说明,说明您在数据库中维护这些密钥,以便租户可以在不需要时选择退出,并在需要时手动输入密钥。这将确保安全。顺便说一句,您的应用程序使用 SSL。

请分享您对此建议的看法

于 2013-05-17T16:02:45.957 回答
1

所以布伦特里回答了这个问题:

只要您的系统符合 PCI,并且您的商家知道他们的 API 密钥存储在您的服务器上,那么您应该没问题。如何存储集成 API 密钥完全取决于您,[我们] 并没有真正提供任何最佳实践。

因此,这种情况似乎不会影响我们产品的 PCI/DSS 范围,而且我们似乎可以自由选择适当的方式来存储我们获得的私有 API 密钥(saravanan 的建议是一种可能的选择)。

于 2013-05-25T00:27:04.127 回答