在Linux中存储机密

在Linux中存储机密,linux,security,Linux,Security,对不起,如果在这里有人问了这个问题并回答了这个问题,那么简单的搜索并没有给我太多的信息。请随意更正标签,并提供指向以下问题或主题讨论的链接。另外,我对Windows有些了解,Linux不太了解,所以这些问题可能显得微不足道 一些Windows应用程序使用注册表和其他一些不知名的地方将其激活数据存储在那里,试用期还剩几天,而事实上该软件已经安装在此操作系统上 Linux中有类似的地方吗 如果有的话,考虑到您不仅拥有根访问权限,而且还拥有几乎所有的源代码,并且可以随时调整内核并强制获取数据,那么数

对不起,如果在这里有人问了这个问题并回答了这个问题,那么简单的搜索并没有给我太多的信息。请随意更正标签,并提供指向以下问题或主题讨论的链接。另外,我对Windows有些了解,Linux不太了解,所以这些问题可能显得微不足道


一些Windows应用程序使用注册表和其他一些不知名的地方将其激活数据存储在那里,试用期还剩几天,而事实上该软件已经安装在此操作系统上

Linux中有类似的地方吗

如果有的话,考虑到您不仅拥有根访问权限,而且还拥有几乎所有的源代码,并且可以随时调整内核并强制获取数据,那么数据的可发现性如何


如果在Linux中无法保护此类数据,在所有其他条件相同的情况下,它会对Linux商业软件的可用性产生多大影响?

有几种存储机密数据的选项:

  • 简单加密文件(可使用gpg完成)

  • 加密容器(例如使用truecrypt、dm crypt)

  • 加密分区或磁盘(dm crypt)


不要忘记,您也应该使用加密交换。

无论您使用哪种操作系统,您都不应该通过混淆依赖安全性。这是最容易破解的东西。无论您在何处存储数据,都应该对其进行加密,并且只在尽可能短的时间内在运行时对其进行解密更好的是,如果您使用的是存储在您控制的服务器上的用户帐户,请将数据存储在该服务器上,并在身份验证/授权期间执行检查。

理论上唯一安全的解决方案是IMO获得网络连接,并将数据存储为加密字符串,只有在完全由您控制的中央服务器上才能解密。Windows也是如此。

您所说的是隐蔽性带来的安全性-不,Windows中的注册表存储数据的隐蔽性并不比Linux中任何深度隐藏的文件大多少

也就是说,Linux中的程序通常将数据存储在用户主目录中以点开头的文件中(表示这些文件的隐藏性质)。通常情况下,这些位置不是很模糊,例如Qt有一个类
QSettings
,它在Windows中使用系统注册表,但在Linux中,数据存储在
.config/CorporationName/ProgramName.conf
中。许多其他程序也以这种方式存储数据。由于您对数据的偏执,您当然可以采用任何您喜欢的加密、禁用方案—比Windows注册表更晦涩


Windows风格注册表的不可用性是否妨碍了商业软件的可用性?即使是一个小因素(但我不这么认为),这个平台还有更严重的问题(/特性),这使得编写商业和封闭软件更麻烦。(但并非不可能)

因为只需要一个人就可以破解软件,这并不重要。例如,在windows上,您可以使用Filemon/Regmon轻松发现程序存储数据的位置。如果密钥在应用程序中的某个位置,我也可以获取它,找到它并解密数据只是时间问题,对吗?@Alex,没错。这就是为什么我建议更好的方法,如果可能的话。否则你就无法在应用程序中存储密钥。如果没有最后一段,我会给你+1。顺便说一句,GNOME提供了一个类似于Windows注册表的界面(如果更容易访问的话,IMHO)。我不是GNOME用户,但很高兴了解
GConf
。你的文章最后一段有什么问题?我从对一方有利,对另一方不利的角度来看待这个问题。Linux支持开源软件,而苹果则支持商业软件,这已不是什么秘密。