gpt4 book ai didi

encryption - 客户端加密 - 最佳实践

转载 作者:行者123 更新时间:2023-12-02 22:28:39 51 4
gpt4 key购买 nike

我不久前写了一个“密码储物柜”C# 应用程序作为加密练习。我想将数据移动到网络上,这样我就可以在任何地方访问它而不会泄露我的密码数据。我只是想通过社区运行我的想法,以确保我没有犯错误,因为我不是加密专家。

这是我的设想:

  1. 在 C# 应用程序中,所有密码数据都使用用户提供的密码加密为单个文本 block 。我在 CBC 模式下使用 Rijndael(对称加密)。密码使用硬编码值加盐。
  2. 加密数据被发送到我的数据库
  3. 我转到服务器上的网页并下载加密文本。使用客户端 javascript 我输入我的密码。 javascript 将解密所有内容(仍然是客户端)

这是我的假设:

  • 我假设所有传输都可以被拦截
  • 我假设 javascript(包含解密算法和硬编码盐)可以被拦截(因为它实际上只是在网络上)
  • 密码不能被拦截(因为它只是在客户端输入)
  • 结果是,有人窥探可能会得到除密码以外的所有信息。

那么,基于这些假设:我的数据安全吗?我意识到我的数据是否安全取决于我的密码强度......我可以做些什么来改善它吗? Rijndael 解密是否足够慢以防止暴力攻击?

我考虑过使用随机盐值,但仍然需要传输,因此,它似乎不会更安全。我倾向于不在网络上以任何形式(散列或其他方式)存储密码。

编辑:我正在考虑使用 SSL,因此我的“拦截”假设在那种情况下可能无效。

编辑 2:根据 Joachim Isaksson 的评论,我将使用 SSL 运行。请继续打破我的假设!

编辑 3:根据 Nemo 的评论,我将基于每个用户使用盐。此外,我正在使用 PBKDF2 基于密码派生 key ,因此这就是我“缓慢”抵抗暴力攻击的地方。

最佳答案

即使不以任何方式进行加密分析,如果您假设所有信息都可以被拦截(即您在没有 SSL 的情况下运行),那么您是安全的。

由于任何人都可以拦截 Javascript,因此他们也可以更改 Javascript,使浏览器在解密后将明文传递到其他地方。

此外,任何侵入网站(或网站所有者)的人都可以恶意更改 Javascript 以执行相同的操作,即使 SSL 处于打开状态也是如此。

关于encryption - 客户端加密 - 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610248/

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