首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安全的高可移植的方式来存储密码?

安全的高可移植的方式来存储密码?
EN

Security用户
提问于 2018-06-07 04:53:38
回答 1查看 292关注 0票数 3

我正在开发一个跨平台的Java桌面应用程序,它使用密码来派生密码密钥。我想添加一个“记住我”的功能,将这个密码密钥安全地存储在硬盘上,这样我的程序就可以在重新启动后获得它。

如果我直接存储它,任何设法访问典型用户的硬盘驱动器(没有加密)的人都可以获得密钥。如果我对其进行加密,用于加密它的密钥必须仍然存储在驱动器的某个地方,因此无法达到目的。

我见过gnome-keyring、Windows凭据管理器和Mac密钥链,但它们似乎都有自己的非Java API(或非官方的Java端口)。此外,似乎任何运行的程序,因为用户将能够读写这两个服务。

是否有一种更便携(最好是隔离的)方式在硬盘上安全地存储密码(或密码密钥)?

谢谢!

EN

回答 1

Security用户

回答已采纳

发布于 2018-06-07 05:26:17

在今天的系统中,您可以使用TPM。它可用于存储(或包装)根键,并保护应用程序创建的附加密钥。没有TPM就不能使用应用程序密钥,这对于端点设备来说是一种非常有用的身份验证方法。

阅读如何-to 这里

另一种先进的方法,很可能在将来会被大量使用,那就是使用物理上不可破坏的功能。键不是存储的(并且容易被读取),而是从芯片的SRAM存储器的独特物理属性派生出来的,并且只有在打开电源时才存在。使用基于SRAM的PUF,键保证是唯一的,因为它们利用了硅位模式固有的随机性。即使这听起来更未来主义,它今天是有用的。

PUF细节文档使用这种方法进行密钥存储。

票数 4
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/187248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档