我正在 Django 上运行 Web 服务。用户注册到我的系统并向我提供第三方网络服务的登录详细信息(用户名和密码)。
我的目的是以最好、最安全的方式存储这些详细信息。
不幸的是,我的服务需要这些数据来用于查询第 3 方服务的某些离线脚本,因此我无法存储使用用户密码加密的登录名/密码(并将其用于解密它们的密钥)。
我在 stackoverflow 上读了很多文章,但其中大部分(例如:当 API 调用需要以纯文本形式发送密码时,在数据库中存储密码的最佳方式是什么? https://stackoverflow.com/questions/8036233/what-is-the-best-way-to-store-password-in-database-when-api-call-requires-sendin)不需要“离线”访问此数据。
我唯一的想法是将这些详细信息存储在一个非常安全的服务器上,该服务器只接受来自我的 django 服务器的请求,并通过 tls 进行通信。
你还有其他建议吗?
先感谢您!
首先也是最重要的,其他文章是正确的:永远不要以纯文本形式存储密码。如果您得出的结论是需要以纯文本形式存储它们,则需要重新考虑您的策略(Oauth?)。使用带盐的哈希密码的全部原因是,即使出现问题,密码也是安全的(因为没有密码,只有哈希......)。我实际上想知道您到底出于什么原因需要这些第三方用户名和密码?
如果您确实必须存储这些内容,请使用加密文件或数据库字段,并使其每次运行脚本时都需要手动输入解密密码。我假设您不会每 5 分钟运行一次该脚本,而是每周左右运行一次。除此之外,请绝对确保执行此操作的服务器没有执行任何其他操作并且没有其他本地用户,否则可能会分析内存并找到解密的密码。
总而言之,我仍然想说,你正在尝试的事情非常非常危险,你应该非常小心地进行......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)