E commerce 在SAAS应用程序数据库中存储Braintree API密钥
我们正在构建一个多租户SAAS web应用程序。我们的租户希望我们允许他们通过我们的应用程序销售各种产品,他们可以选择接受信用卡付款。为了支持这一点,我们将要求承租人拥有自己的Braintree帐户。租户通过我们的应用程序向我们提供他们的Braintree API密钥。然后,我们使用这些API密钥代表他们与Braintree帐户交互(卡存储、卡验证和基本交易) 此模型与现有Braintree客户使用的模型相同,而且还有更多 我们需要记录承租人的API信息(商户ID、公共API密钥和私有API密钥),以使这一切正常工作 我的问题是:E commerce 在SAAS应用程序数据库中存储Braintree API密钥,e-commerce,payment-gateway,multi-tenant,saas,braintree,E Commerce,Payment Gateway,Multi Tenant,Saas,Braintree,我们正在构建一个多租户SAAS web应用程序。我们的租户希望我们允许他们通过我们的应用程序销售各种产品,他们可以选择接受信用卡付款。为了支持这一点,我们将要求承租人拥有自己的Braintree帐户。租户通过我们的应用程序向我们提供他们的Braintree API密钥。然后,我们使用这些API密钥代表他们与Braintree帐户交互(卡存储、卡验证和基本交易) 此模型与现有Braintree客户使用的模型相同,而且还有更多 我们需要记录承租人的API信息(商户ID、公共API密钥和私有API密钥
SamIMHO,请注意,您将[如果没有,应该]拥有基于租户的加密密钥[每个租户可以配置自己的crytographic算法和密钥=>SAAS Cusomization],请使用租户特定的密钥加密
授权ID
,然后保存在数据库中。这些敏感数据应该得到保护,您应该有一个说明,说明您正在数据库中维护这些密钥,以便承租人可以在不需要时选择退出,并在需要时手动输入密钥。这将确保安全。顺便说一下,您的应用程序使用SSL
请分享您对该建议的想法因此Braintree回答了这个问题: 只要您的系统符合PCI,并且您的商家知道 如果他们的API密钥存储在您的服务器上,那么您应该 好的如何存储集成API密钥完全取决于您, 而且[我们]实际上没有任何最佳实践可供提供
因此,这种情况似乎不会影响我们产品的PCI/DSS范围,而且我们可以自由选择适当的方式来存储我们获得的私有API密钥(saravanan的建议是一种可能的选择)。感谢您的回答。使用SSL。提供选择退出(在我们的文档中解释)。我对你的基于租户的加密密钥建议有点困惑。WooThemes、Goodsie和Tutorrove(如上链接)似乎没有使用这种方法。这似乎有点过分了。我们还必须存储加密配置信息,因为我们需要能够按需解密以处理支付。我们现在想的是:……这样,如果没有我们的加密密钥(存储在程序集中),我们的数据库将毫无用处。在任何情况下,我们都将在实施任何东西之前看看Braintree的建议……他们可能很适合提出建议。@sammy34:嗨,Sam,谢谢分享您的见解。我遇到了一个实现,它使用了处理租户加密密钥的选项,甚至用于密码加密和验证,因此我建议使用这种方法。在这种情况下,使用该应用程序的租户将设置自己的密钥。如果租户没有,则他们将使用故障保护默认密钥。我没有听说在那件事上会有绩效处罚。供您参考。