我不是专家,但我有几个建议,
(“用户”被认为是男性这里)
在Windows中,当用户登录时,他将所有操纵的权利文件或文件夹属于他。
但是,如果他试图操作属于其他用户的文件或文件夹,则不允许他这样做。所以,他不能操纵其他用户的文件。
如果用户是管理员,他将拥有操纵文件的所有权限。
在你的情况下,我相信用户不是管理员。
所以,我建议给你:
创建该应用程序的用户,说鲍勃(Bob是不是谁去使用这个应用程序的用户)。
然后,您创建一个文件夹来存储您的文件,并授予所有权限只有鲍勃(和管理员)。
对于所有其他人,没有权限对文件夹执行任何操作。
您的应用程序必须由管理员安装。
当您开始时,您的应用程序会向当前用户询问Bob的密码。
如果密码正确,
使用您的应用程序允许当前用户具有完全访问文件夹权限。然后应用程序可以按照你的意愿工作
如果用户退出应用程序,
删除当前用户的所有权限,以便在退出此应用程序后,其他人无法访问该内容。
但管理员仍然可以访问此内容。
这与Linux用户管理类似。
当你得到一个shell时,你可以在完成工作时使用su username
来更改用户,并且他退出shell后,其他人就不能使用这些文件。但root用户可以在Linux中做任何事情。
但是有一个问题。
管理员可以获得完整的内容和访问权限,因为他可以修改权限。
要禁止此操作,请通过使用任何技术和使用密码进行压缩来保存文件。该密码只有使用它的用户才知道。在将文件保存到文件夹之前,请使用密码对其进行压缩。在使用该文件之前,使用密码解压缩它。
如果压缩密码与用户密码相同,则出现问题。
管理员可以重置用户密码,并打开他的帐户。
为防止出现这种情况,您可以使用以下技术:
使用zip密码作为用户密码的反向,以便如果他的密码是1234,则压缩密码是4321,或者使用用户密码的哈希值作为压缩密码。
如果zip密码是散列值,如MD5散列或SHA-1,则由于密码长度的原因,对zip文件的暴力破解将不起作用。
我不知道这是否是一个工作解决方案或者如果这可以实施或不。
但是,如果你认为这里有一些好的想法,你可以从中得到一些想法。
打算保护用户的数据还是提供静态安全(如EFS)? –
我需要只能由应用程序读取的数据。当应用程序没有运行时,即使对运行该帐户的所有者,机器的管理员等等,数据也应该是不可访问的。实际的加密密钥将被从本地机器中扣除,当它被应用程序检索时开始,并在退出时被遗忘。 –