【发布时间】:2013-08-05 07:13:44
【问题描述】:
在典型的网络场景中,网站用户会出现,使用网站,填写表格,并将数据传输到服务器存储在数据库中。现在假设我们需要确保他们的地址被加密,因为它是绝密的,只有那些可以访问网站后端的人才能看到那个地址是什么——这很容易实现,对吧?我们只需在服务器端存储一个加密密钥,该密钥将用于生成加密数据,将数据存储在数据库中,然后我们将再次使用该密钥对其进行解密。
现在假设托管公司的某个人要浏览您服务器上的文件 - 他们可以很容易地访问此加密密钥,然后使用它来解密他们想要的任何数据,因为数据库中的所有地址都已加密用同样的钥匙!
我只是试图用新的安全模型覆盖每个基础,并且在“不信任任何人”的政策中,我正在寻找阻止托管公司获取数据的方法。
那么有没有人有任何建议来阻止那些拥有服务器访问权限的人获取密钥和解密数据?密码加盐是否会有所帮助,或者他们仍然能够很容易地解密数据。
我想不出办法来解决这个问题。有没有人有任何解决这个特殊问题的建议?
【问题讨论】:
-
托管自己的服务器可以解决这个特定问题,但我猜这不是一个选择?
-
我想到了一个主意.. 你能把你的密钥存储在另一个域中吗?与数据库和代码隔离...也许是一个探索的选择:)
-
或者使用不同的托管公司——一个用于加密密钥,另一个用于数据?
-
除了,即使托管公司仍然可以访问您的代码,并且只需进入并查看您从哪里获取密钥并从其他域获取密钥,就像您的代码获取一样它
-
认为一旦数据被加密就不会被猎物发现是一种常见的误解。它不是,即使没有钥匙。所以真正的问题是:什么努力才能达到额外的安全级别?
标签: php security encryption key