gpt4 book ai didi

security - 安全存储 API key : environment versus JSON

转载 作者:行者123 更新时间:2023-12-05 07:29:19 25 4
gpt4 key购买 nike

我知道存储敏感数据的标准方法是在环境变量中,特别是在 git 存储库之外。

有很多帖子讨论这个主题,重申这是标准做法,但我仍然不清楚将密码/ key 实际存储为环境变量与简单地存储为存储库外用户主目录中某处的 JSON 的优缺点是什么?

除非我弄错了,否则如果服务器受到威胁,环境变量和任意 JSON 文件同样会暴露给有权访问该机器的人。

当您考虑到对于持久环境变量而言, key 和 secret 可能无论如何都存储在适当的脚本(如 .profile)中时,这两种方法看起来非常相似。

最佳答案

如果您存储 API key 并且某物/某人获得了权限,例如通常必须使用这些 key 的程序的权限,那么理论上游戏就结束了。但是,实际上,您可以玩一些游戏来让对手(以及您自己)过得很艰难:

  • 在本地混淆 key ...使用密码短语在保险库中备份 key (加密),并且只在使用 char 数组而不是字符串(取决于语言 ofc)的编译程序中使用 key 。也许将这个程序传递到混淆器中,这使得逆向工程变得困难。
  • 在本地创建一个加密的 key 存储库,该存储库仅将 key 提供给它以某种方式“验证”为合法的程序。
  • 使用您主动监控的“蜂蜜” key ,以防止任何看似真正的 key 的使用,但您巧妙地将真正的 key 以混淆的方式存储在代码库中的某个地方。
  • 远程存储 key (在“更安全”的服务器中)并强制调用通过远程服务进行路由,远程服务以某种方式检查消息有效性、调用服务器的 IP、mac 地址等,并插入 key 并作为各种代理传递请求。

希望我能给出更好的答案。归根结底,安全是最大的努力。保护您的周边、您的网络和服务器,并使其难以在入侵后找到关键。这种困难可能会让您有时间在数据泄露发生之前检测到入侵。

关于security - 安全存储 API key : environment versus JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52847706/

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