当前位置: 首页 > 知识库问答 >
问题:

我们应该加密存储在aspnet\u Profile表中的数据吗

商振
2023-03-14

我们正在对我们所有的网站进行安全更新,其中涉及的两个步骤是加密传输时的数据和加密静态数据。

添加SSL证书将在传输时加密数据,我们需要加密数据库中的所有数据,这些数据被归类为用户的个人详细信息。

其中一些详细信息存储在aspnet\u profile表中。

有人能就加密存储在此表中的数据提出建议吗?作为安全更新的一部分,我们真的需要加密数据吗?

共有1个答案

艾阳羽
2023-03-14

视情况而定。您希望能够访问该用户的信息,还是该用户是唯一有权访问该数据的人?

在第一种情况下,我认为只有当数据库存储在与Web服务器分开的服务器中,或者解密密钥存储在分开的服务器中时,数据加密才有意义。为了解密数据并将其呈现给用户,您需要解密它。如果加密的数据和密钥在同一台服务器中,并且该服务器受到破坏,攻击者将能够解密所有内容,因为他们也可以访问密钥。如果您将它们分开存储,他们将需要破坏2台(或更多)服务器,这可能会更难。此外,由于加密是一项繁重的任务,您可能应该只加密敏感数据(任何您认为对您的场景敏感的数据)。密码等数据不应该加密,而是散列和加盐(网上有很多关于如何做到这一点的信息)。如果您决定加密所有内容,您还应该为每个用户提供不同的密钥,这样如果一个密钥被泄露,只有一个用户会受到影响。

如果您只想让用户看到存储的信息,那么应该知道用户无权访问它(除非您也将其存储在单独的数据库中,而不进行加密,或者使用自己的密钥进行加密)。如果您没有使用自己的密钥备份信息(或将其存储在明文中,这违背了目的),丢失密码的用户将遇到麻烦。即使您有数据的副本,恢复数据也意味着使用您的密钥对其进行解密(如果不是明文存储的话),然后使用用户设置的新密钥对其再次加密。如果数据量很大,这可能是一项艰巨的任务。最后,如果您只想让用户拥有访问权和全部责任(因此您根本无法访问它),那么您应该明确说明,最好在客户端执行加密。同样,只有敏感数据最好加密。此外,用户名和用户登录密码等信息不应加密。在这种情况下,盐渍哈希的相同原理也适用于密码。

在这两种情况下,您都应该记住,丢失密钥意味着可能会丢失所有数据!您还应该使用一些好的加密方案,如AES CFB模式。

总的来说,这是否是一个好主意实际上取决于数据的敏感性和您拥有的预算。需要定期备份,以及小心处理以免密钥丢失。还可能需要额外的服务器,如果网站获得的流量很大,您可能需要强大的服务器才能处理这项繁重的任务。

 类似资料:
  • 数据是非常小的,就像水果的列表,不会经常改变,也只有一个服务将使用这个数据和服务到其他服务,请提到您的方法的优点和缺点。

  • 我在一个在线订餐应用程序中使用Redux和React。 当用户从购物篮中删除一个商品时,我需要向服务器发出一个XHR请求,以计算购物篮的新总价。当这个XHR完成时,我更新redux存储并呈现新的价格。我使用Redux thunk来管理这个异步操作。 有一个问题是,用户连续快速地从购物篮中取出两件物品。用户删除第一项,我启动XHR以获得新价格。然后,用户单击一个按钮以删除第二个项目,并启动第二个XH

  • 我需要将一些列表类型的数据存储到MYSQL数据库中。是否可以将其存储在MYSQL中,如果可以,那么保存此数据的字段的数据类型应该是什么? 提前谢谢。

  • 我们在确保遵守刚刚生效的新GDPR方面落后了,我目前正在考虑为我们的电子商务网站加密数据库中存储的数据。我意识到加密并不是强制性的,但我认为它更不是一种有用的附加安全性。 我的问题是:在静止状态下加密整个数据库,以及使用我自己的加密存储值,有什么优点/缺点吗?这是你会做的事情,还是你会考虑这些方法中的一种就足以为个人数据提供良好的安全? 我的理论是,在使用PHP脚本存储和检索值时加密这些值,如果有

  • 问题内容: 我们可以在密钥存储区中加载多个证书和密钥吗? 是否总是需要仅加载对(即证书和密钥一起)? 如果密钥库具有多个证书和密钥,那么当Java SSL尝试建立作为服务器的连接时,将选择哪个证书和密钥? 问题答案: 尽管这取决于KeyStore类型,但是通常,您可以在单个存储中存储多个私钥和证书。 基于Java的服务器使用哪种密钥和证书组合取决于应用程序的实现方式。许多应用程序允许您使用 别名

  • 问题内容: 我们正在决定我们的开发团队在工作中表,列,过程等的命名约定。单数复数表的命名 已经确定 ,我们正在使用单数。我们正在讨论是否对每个表名使用前缀。我想阅读有关是否使用前缀以及为什么使用的建议。 它是否提供任何安全性(可能的入侵者至少至少有一个障碍)?我认为使用前缀来命名它们通常更方便,以防我们在代码中使用表名,以免将它们与变量,属性等混淆。但是,我想听听经验丰富的开发人员的意见。 问题答