微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否有一个值对于一台机器是唯一的,并且只能用于在该机器上本地运行的进程?

如何解决是否有一个值对于一台机器是唯一的,并且只能用于在该机器上本地运行的进程?

我有一个客户端应用程序需要读取和写入一些加密数据。它应该是一个没有用户交互的自动调度过程。这导致了众所周知的问题,即用于加密数据的对称密钥的存储位置。我不能将它存储在不同的机器上,也不能在每次进程运行时要求用户输入密码。因此,我不得不将密钥保存在数据所在的同一台机器上,这本质上是不安全的。如果某个攻击者设法同时获取数据和密钥文件(应用程序的源代码是免费提供的),那么他们就可以解密数据。

我认为一种更安全的方法是基于某些仅对本地运行的进程可用的值生成密钥。例如,假设每台电脑都有一个其他机器无法获得的唯一编号。我将能够获取该号码并将其用作密钥。如果攻击者设法获取加密数据和源代码,他们仍然无法解密数据,因为他们的机器会有不同的数字。

显然,他们仍然可以构建一个应用程序来获取唯一编号并在我的机器上运行该应用程序以获取唯一编号,但随后他们正在远程执行软件,这已经超出了简单地获取某些文件的能力。

Windows 或 Linux 上是否存在这样的值?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。