有什么机制可以保护用户的隐私和web应用程序的数据?我问是因为我想自己创建一个,并且想知道除了我不会查看数据库之外,是否有任何方法可以保证我的用户的隐私。我想大公司有复杂的程序和锁定数据的方法,但一个人或一个小公司如何做到这一点呢?
我计划使用Google App Engine。我提到它,以防它能提供一个解决方案。
为了澄清,我问的是我可以用来保护数据不受第三方影响的安全措施,而更多的是我可以用来保证用户隐私不受我自己/其他服务器管理员的影响的措施。
发布于 2012-04-22 14:04:38
有两个基本工具:加密和散列。
Encryptiong有两种类型:对称加密和解密使用相同的密钥。
PKI,你有两个密钥,无论你用一个密钥加密什么,你都可以用另一个密钥解密,反之亦然。
散列将一些数据转换成或多或少唯一的数字或字符串,而没有可行的返回方法。
根据您实际想要保护的内容,您可以使用这些工具来获得所需的几乎所有内容。
示例:密码以散列的形式存储。要检查密码,请再次转换它,并将其与散列进行比较,因为应用程序提供了=>‘t the password。
您让应用程序为每个用户创建一个密钥,并使用该密钥加密您想要保护自己的所有内容。现在的挑战是用户必须保持密钥的秘密和保护,这是用户不是很擅长的。此外,搜索这种加密数据肯定会非常慢。
私有数据的最大风险可能是针对您的应用程序的黑客攻击。花点时间在OWASP上了解最重要的攻击以及如何对抗它们。
发布于 2012-04-22 13:17:32
据我所知,它主要是通过使用法律服务条款,用户与服务或公司签订了具有法律约束力的协议,以设定他们将会和不会对他们的数据做什么。
另一件事是,对于某些事情,如信用卡处理等,有使用标准,例如有一个可以审计访问权限的系统(即,它跟踪对文件的每次访问、修改以及是谁做的)。此外,敏感/机密数据通常保存在与公共服务器不同的服务器上,这样来自外部的数据就不会直接接触服务器,而必须通过中间服务器。此外,从物理上讲,大多数服务器机房都是由锁和钥匙保管的。许多地方都有一个键盘,用来记录用来进入房间的密码。
此外,请确保加密敏感/私有数据。您可以设置一个系统,在该系统中,私有数据使用基于用户密码散列的salt字符串进行加密(当然,如果他们更改了密码,则需要您对其数据进行解密和重新加密)。这样,即使您随意查看数据库,也看不到他们的数据。现在,这只适用于数据存储的情况,因为很多时候他们会给你提供信息,以便你可以使用它。不过,密码应该始终是散列的。永远不要将它们放在明文中。
商业系统上的信用卡号是使用一个经常变化的盐字符串进行散列的。字符串只是存储在同一台服务器上的某个地方(至少在我的系统上,大型的商业系统可能会保护得更好),但对服务器的访问是极其有限的。需要知道信用卡信息的程序需要向该服务器进行身份验证,服务器将使用其散列字符串来解密这些数字。
发布于 2012-04-22 13:19:41
1)始终使用https发送/接收任何机密数据。
2)始终将密码存储为散列(从不是明文),
3)永远不要相信你的输入,并且总是仔细地验证你的输入
4)始终对网页进行编码,以防止cross-site scripting和SQL injection攻击。
并发布一个明确的“保密政策”。下面是一个例子:
https://stackoverflow.com/questions/10265398
复制相似问题