我正在开发一个需要将数据永久存储在机器上某处的程序,这样当我关闭程序时数据不会消失。 数据是我无法散列的东西,因为程序需要检索它的值。
这个数据库需要 super 安全,这样只有程序本身才能访问这个存储,而不能访问其他任何东西。
现在,SQL 对我来说似乎很不安全,如果你有权访问 SQL,你就可以访问其中包含的每个数据库,唯一的办法就是加密我插入的一些数据,但这会导致为此存储另一个 key 。
这是我需要存储的结构:
FileName | Key | GroupOwner
----------|---------------------|-----------
foo.txt | $iv44dsfggsdvav523v | adminGroup
----------|---------------------|-----------
bar.txt | %iihg9v8326h5798v93 | adminGroup
基本上,文件存储在服务器上并使用 key 加密,如果有人闯入服务器,他们应该无法读取 key 并因此解密文件,但只有程序才能做到这一点。
有什么方法可以存储只有我的程序可以读取和修改的数据?
最佳答案
关于 SO - this 有几个类似的问题是一个很好的概述(即使它适用于 Web 应用程序)。
简而言之 - 你无法解决这个问题,因为这是先有鸡还是先有蛋的问题。常见的解决方案是将 key 存储在文件系统上,并使用操作系统的安全性来确保只有授权用户才能读取它。
关于java - 从 Java 程序中存储/读取敏感数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42583178/