我正在尝试找到在 Ubuntu Server 20.04 上存储 secret (供我的应用程序使用)的解决方案。我过去曾使用 Windows 的 DPAPI 来存储 secret ,使用访问 API 的用户帐户的保护。
apt 或 snap 上是否有提供此功能的官方软件包? Linux内核中有类似的东西吗?
我会使用文件系统 ACL,但这对我来说还不够,因为我希望在硬盘驱动器受损时文件无法使用。
最佳答案
该项目将 secret 存储在 windows/max/linux 上。
https://pypi.org/project/keyring/
具体来说:
无论您使用什么语言,它都是一个很好的引用。
要实现与 DPAPI 类似的工作流程,请生成一个 16 字节的安全随 secret 码,将其保存在钥匙串(keychain)中,并使用它来加密您的数据。
如果您有超过 1 个文件,您将希望在每个文件中放置一个 16 字节的安全随机盐,并使用您的随 secret 码对其进行 sha3 哈希(或者,更好的是 hkdf)。这将为每个文件提供 1 个 key ,而不会填满链。
关于Linux (Ubuntu) 等效于 Windows DPAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63687539/