Database design 存在哪些机制来确保web应用程序用户数据的隐私?

Database design 存在哪些机制来确保web应用程序用户数据的隐私?,database-design,privacy,Database Design,Privacy,存在哪些机制(如果有的话)来保护用户的隐私和web应用程序的数据?我问这个问题是因为我想自己创建一个,我想知道是否有任何方法可以保证我的用户在我的话之外的隐私,我不会查看数据库。我想大公司有复杂的程序和锁定数据的方法,但一个人或一家小公司是如何做到的呢 我计划使用谷歌应用程序引擎。我提到它的情况下,可以提供一个解决方案 为了澄清这一点,我问的较少的是我可以用来保护数据不受第三方攻击的安全措施,而更多的是我可以用来保护用户隐私不受我自己/其他服务器管理员侵犯的措施。据我所知,主要是通过使用法律服务

存在哪些机制(如果有的话)来保护用户的隐私和web应用程序的数据?我问这个问题是因为我想自己创建一个,我想知道是否有任何方法可以保证我的用户在我的话之外的隐私,我不会查看数据库。我想大公司有复杂的程序和锁定数据的方法,但一个人或一家小公司是如何做到的呢

我计划使用谷歌应用程序引擎。我提到它的情况下,可以提供一个解决方案


为了澄清这一点,我问的较少的是我可以用来保护数据不受第三方攻击的安全措施,而更多的是我可以用来保护用户隐私不受我自己/其他服务器管理员侵犯的措施。

据我所知,主要是通过使用法律服务条款,用户与服务或公司签订具有法律约束力的协议,以确定他们将和不会对其数据做什么

另一件事是,对于某些事情,如信用卡处理等,有使用标准,如有一个可以审核访问权限的系统(即,它跟踪对文件的每次访问、修改以及谁做的)。此外,敏感/机密数据通常保存在独立于公共服务器的单独服务器上,以便来自外部的数据不会直接接触服务器,而必须通过中间服务器。而且,从物理上讲,大多数服务器机房都是锁着的。许多地方都有一个小键盘,用来记录进入房间的密码

此外,请确保加密敏感/私有数据。您可以设置一个系统,在该系统中,根据用户密码的散列或其他内容(当然,如果他们更改了密码,则需要您解密并重新加密他们的数据),使用salt字符串对私有数据进行加密。这样,即使你随便看看数据库,也看不到他们的数据。现在,这只适用于数据存储的情况,因为很多时候,他们会给您提供信息,以便您可以使用它。不过,密码应该总是散列的。永远不要把它们放在明文中

商业系统上的信用卡号是用一个盐串散列的,这个盐串经常变化。字符串只是存储在同一台服务器上的某个地方(至少在我见过的系统上……其他较大的商业系统可能会更好地保护它),但对服务器的访问非常有限。需要了解信用卡信息的程序可以向该服务器进行身份验证,服务器将使用其哈希字符串对数字进行解密。

1)始终使用https发送/接收任何机密数据

2) 始终将密码存储为哈希(从不清除文本)

3) 永远不要相信你的输入,并且总是仔细地验证你的输入

4) 始终对网页进行编码以防止和

并张贴明确的“保密政策”。下面是一个例子:


    • 有两种基本工具:加密和哈希

      加密有两种方式:对称加密,即使用相同的密钥进行加密和解密

      在PKI中,您有两个密钥,使用其中一个密钥加密的内容可以使用另一个密钥解密,反之亦然

      散列将一些数据转换成或多或少唯一的数字或字符串,而没有可行的返回方法

      根据您实际想要保护的内容,您可以使用这些工具获得几乎所有您需要的内容

      示例:密码以散列形式存储。要检查密码,请再次转换密码并将其与哈希值进行比较=>应用程序提供的密码不存在

      您让应用程序为每个用户创建一个密钥,并用该密钥加密您想要保护的所有内容。现在的挑战是,用户必须对密钥保密并加以保护,而这一点用户并不擅长。此外,搜索此类加密数据的速度肯定会非常慢


      私人数据面临的最大风险可能是针对您的应用程序的黑客攻击。花点时间学习最重要的攻击以及如何应对它们。

      我可以想到四种技巧

    • 使用一些简单的函数(如rot13)加密数据。这可以防止意外读取机密数据,但仅此而已

    • 加密敏感数据。将数据和加密密钥分开—如果可以,请进行安排,以便使用密钥管理服务器的人员与使用数据管理服务器的人员不同

    • 将敏感信息的访问权限限制在需要的人。将数据分割成单独的分区,并使不同的各方可以访问不同的分区。例如,您可以将一个人的病史存储在一个数据库中,其中不存储其实际姓名,但记录由某个标识符标识,而实际姓名存储在具有相同标识符的另一个数据库中。一个人需要访问这两个数据库才能将历史记录与人联系起来。当然,这两个部分需要在某个时候结合起来,并且需要有人管理发生这种情况的系统

    • (这是通常的公司战略)通过政策和合同加强对客户信息的保护。让员工了解机密信息的价值以及不保护机密信息的后果。您可以让员工对违反公司政策的行为承担法律责任。我不是律师


    • 谢谢你的提示。我最关心的是你所遵循的隐私政策样本。我很好奇公布这样一项政策会有什么实际权力或义务。