gpt4 book ai didi

c# - 在 ASP.Net 应用程序中安全地存储(加密)数据

转载 作者:行者123 更新时间:2023-11-30 17:15:50 24 4
gpt4 key购买 nike

我有一个 asp.net 应用程序,人们可以使用 Web 浏览器通过 Internet 访问该应用程序。它在网络服务器上运行,并与后端数据库对话。

一些用户希望使用该应用程序来存储一些私有(private)数据。其要求是:

1) 只有存储数据的用户才能看到它。

2) developers/dbas 不应该看到数据。

3) 如果网络服务器和数据库服务器遭到破坏,黑客一定无法解密数据。

所以,很明显我必须加密这些数据。如果我加密它,某处会有一个 key ,可能是一个 salt/IV。问题是我在哪里存储用于执行解密的数据?如果我将它存储在数据库或 Web 服务器中,那么开发人员、数据库管理员或黑客就可以访问它并解密数据。

我认为我对此的理想解决方案是将私钥放在客户端机器上,这样他们就完全负责。但是我不确定如何使用 asp.net web 应用程序来解决这个问题。

我相信我可以创建一个还存储私钥 (PFX) 的证书。客户公司可以使用组策略将证书部署到他们的域。但是 ASP.Net 应用程序可以请求 Web 浏览器将私钥发送给它以便它可以执行解密吗?在客户端解密是最好的,但除了在 javascript 中创建一些东西之外,我看不出这是怎么可能的。

欢迎任何建议。

最佳答案

将 key 存储在用户的脑海中。使用您喜欢的任何基于密码/密码的 key 派生算法。标准是PBKDF2 .算法的最佳选择将完全取决于您的安全要求和威胁模式。理想情况下,该决定和实现至少应由安全专家审查。

关于c# - 在 ASP.Net 应用程序中安全地存储(加密)数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7745385/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com