gpt4 book ai didi

java - 如何在 CPU 能力很小的设备上通过足够的迭代生成 secret

转载 作者:行者123 更新时间:2023-12-05 04:36:39 25 4
gpt4 key购买 nike

我们的应用程序在 Raspberry Pi 上运行,并安装在客户站点的许多地方。 Pi 很便宜,但足以满足我们的需求。然而,我们有一个问题,将用户的登录密码存储在磁盘上生成一个大约 50.000 次迭代的 secret 是相当安全的,这在慢速 Pi 上花费了太多时间。当用户登录时,必须解密密码并且必须再次执行那 50.000 次迭代,这在 Pi 上需要几分钟。 Web 前端超时,用户无论如何都不会等待几分钟才能登录。

我的问题是,如果 CPU 的处理能力很小,是否有人知道如何在磁盘上以安全的方式加密和解密密码。

最佳答案

However, we have a problem that for storing the user's login password on disk generating a secret

我希望你的意思是散列(不可逆的破坏)密码

with something like 50.000 iterations to be reasonably safe
50.000 iterations have to be executed again which takes minutes on the Pi

我不确定您从哪里/如何得到 50k 的数字,但在这种情况下,了解上下文/原因很重要。如果数据库泄露,迭代的目的是作为一种减慢字典或暴力攻击选项的方法来查找密码,这些密码往往很弱(短、简单、重复使用、已知)。

如果您可以确保用户密码足够安全(长、随机),实际上您不需要任何迭代。

事实上,在 IoT 设备上,这种迭代是棘手的,因为您无法与哈希农场竞争,并且默认服务器上的可容忍延迟(100-300 毫秒)会限制低端设备上的时间。

My question is whether anyone has an idea how ... given a CPU with little processing power.

我看到两个选项

  • 使迭代次数合理。是的,它降低了暴力/字典攻击的安全边际,但您可以使用强用户密码来弥补这一水平
  • 如果密码用于对 Web 应用程序进行身份验证,您可以将身份验证委托(delegate)给第三方服务(Azure AD、AWS Cognito、IBM AppId、OAuth0、Okta 等),有很多免费或不是那么免费的服务。

关于java - 如何在 CPU 能力很小的设备上通过足够的迭代生成 secret ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70782911/

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