如何安全地存储客户端应用程序机密?

时间:2021-07-06 07:01:59

标签: linux windows macos security

上下文:我有一个客户端应用程序(一个编译好的 NodeJS 应用程序,可以在 Windows、Mac、Linux 上运行),我在其中通过浏览器对用户进行身份验证,然后存储身份验证令牌( JWT,通常在几个小时内有效)在文件 ~/.myapp/auth-token 中。这是为了避免每次启动应用程序时都必须让用户登录。当应用启动时,它会检查这个文件,如果 JWT 仍然正常,它就会使用它(并刷新它),而不会提示用户再次登录。

问题:如何保护此文件,以便只有我的应用程序可以读取和写入?或者,更广泛地说,我如何存储我的应用机密(在文件或任何其他操作系统提供的机制中)并防止它们被其他应用窃取?


一般来说,客户端应用如何安全地存储机密?

例如,Chrome 会存储 Cookie、密码、信用卡和其他敏感信息。是什么阻止在我的 Windows 或 Mac 计算机上运行的另一个应用程序读取存储此数据的文件?

如果数据被加密,它的证书或密钥存储在哪里,以及如何强制只有拥有的应用程序(即 Chrome)可以访问密钥?是否有跨 Windows、Mac、Linux 的操作系统级实用程序,以某种方式对应用进行身份验证并促进每个应用的机密、密钥和证书的安全存储?

0 个答案:

没有答案
相关问题