5

我目前正在处理一些包含大量机密信息(地址、电话号码等)的用户数据库。

将它存储在数据库中的最佳方法是什么?只是纯文本?用某种哈希加密,所以黑客不能轻易解密?

这在法律上是如何规定的?(德国的网络服务器,Netfirms 的 .com 域,我目前在荷兰)

关于密码安全性?,我知道那里有一些 md5 暴力破解器(过去在几秒钟内就为我破解了一些哈希值......)

是否有任何免费的 SSL 证书是“受信任的”,因此用户不会收到弹出窗口?,否则要为 .com 域购买便宜的证书?

很抱歉让我的问题如此两极分化,但所有的问题都或多或少都在同一个主题上。

4

4 回答 4

2

您需要获得法律建议,以汇总适用于您正在处理的数据的法律要求列表。这根本不是一个技术问题。

然后,您需要遵守法规,并最终通过适用于您的法律要求的任何系统来审查该合规性。同样,这根本不是一个技术问题。

解决法律问题的技术实现是一个小细节,你给出的问题陈述甚至无法以任何有意义的方式粗略地勾勒出来。

于 2011-03-24T13:45:42.153 回答
0

在英国,数据保护法要求您使用“适当的”安全措施。如果数据被泄露,信息专员可能会因不保护数据而对您处以最高 100 万英镑的罚款。

在德国,隐私法规比英国更严格——抱歉,我手头没有相关法规。

对于这样的敏感信息,加密似乎是正确的做法。

于 2011-03-24T13:32:50.413 回答
0

加密需要在某个时候查看(解密)的数据,以及只需要检查的哈希数据。

示例:信用卡号应加密(涉及合法性),密码应经过哈希处理。

我最近为一家当地报纸建立了一个系统,该系统存储信用卡号码,不包括最后 4 个号码。我用 php generic_encrypt 加密它们,然后用 base_64encode() 数字加密它们。缺少的 4 个号码通过电子邮件发送给处理新订户的员工。

所以回顾一下:可检索数据->加密->编码->解码->解密可匹配数据->散列->输入->散列输入->将散列输入与存储的散列进行比较。

于 2011-03-25T06:18:52.197 回答
0

首先,有免费的 SSL 证书。一个来自StartSSl,另一个来自CACert。大多数浏览器和平台都接受 StartSSL 证书。所以我推荐它。但是您不能拥有 *.domainname.com (无论如何,这并不是一个很大的权衡。)(这些不是试用证书,它们是免费的,就像在免费啤酒中一样。)

为了在数据库中保存密码,总是对它们进行哈希处理。使用适当的长盐,你的哈希值会非常强。

如果您需要加密/保护其他存储的信息,您可以使用任何加密方案,如 AES,它提供了非常强大的保护。但是由于解密密钥存储在您的服务器中,因此数据库中的数据仅与您的服务器一样安全。还要考虑在每个数据库请求之前加密和解密的开销,并决定是否值得。

于 2011-03-24T12:50:23.180 回答