保护需要在 Google Appengine 中的代码中使用的对称密钥的最佳方法是什么?
我们的应用程序使用 Python 2.7
编辑:我们有一些我们想要保护的数据库字段,需要在代码中访问,但没有理由将它们以纯文本形式留在数据库中。显然,我想让检索密钥变得尽可能困难(理解这绝不是不可能的)。
保护需要在 Google Appengine 中的代码中使用的对称密钥的最佳方法是什么?
我们的应用程序使用 Python 2.7
编辑:我们有一些我们想要保护的数据库字段,需要在代码中访问,但没有理由将它们以纯文本形式留在数据库中。显然,我想让检索密钥变得尽可能困难(理解这绝不是不可能的)。
如果您不信任运行代码的环境,则无法绝对保护密钥。您可以将(部分)密钥存储在受信任的位置,并且只接受来自域/IP 的密钥查询你的应用程序。但它仍然会在该 appengine 实例的内存中。
传出消息的最佳解决方案是使用公钥加密。让您的代码使用远程方的公钥,因为这些不必保密。然后只能使用遥控器的私钥对其进行解密。
如果您无法信任 appengine 的环境,则无法解密传入的公钥消息,因为这需要您的密钥可供应用程序使用。
编辑:既然你已经添加了你想要保护一些数据库字段,你有没有考虑过散列它们?