将字符串保存在没有用户可以访问的安全存储中[关闭]

Posted

技术标签:

【中文标题】将字符串保存在没有用户可以访问的安全存储中[关闭]【英文标题】:Save string in a secure store where no user has access to [closed] 【发布时间】:2019-08-06 12:34:53 【问题描述】:

我想将普通文本字符串保存到安全存储中,没有用户可以访问,因此无法更改字符串的任何文本。

是否有可能将字符串保存在一种“安全存储”中,可能会加密该字符串,该字符串目前在 Windows 下使用 CSP 容器与 RSA/AES 一起使用。但我不想将加密的字符串直接保存到文件中,因为用户应该无法更改字符串。

没有互联网或网络连接。因此,保存在服务器上不是一种选择。我需要保存在本地!

是否有可能安全地存储字符串(在 Windows 下)?

【问题讨论】:

用户(或者更确切地说是您的进程)是否需要再次读取该值?如果是这样,对您的问题的技术回答显然是“不”——根据定义,您的应用程序可以做什么,用户可以做什么,其余的只是混淆。如果您的进程永远不会再次读回该值,那么它是可行的,但只能将其交给另一个更具特权的进程。如果您只想防止幼稚的篡改,则可以选择加密签名(当然,用户仍然可以获得密钥)。 是否有可能安全地存储字符串? 问题太宽泛了...但答案是 ... 拥有管理员权限的用户权利和足够的编程技能会找到方法 【参考方案1】:

答案是否定的。任何可以物理访问机器的用户都可以更改硬盘。例如,他可以在硬盘控制器和操作系统之间安装代理,而您永远不会注意到。

更简单:如果用户对机器具有管理员访问权限,他可以更改系统上的每个文件,而无需执行任何硬件技巧。

您还应该澄清用户是否应该能够阅读或不能改变字符串。另外:您的应用程序(在用户的访问权限下运行...)应该能够读取字符串吗?

【讨论】:

以上是关于将字符串保存在没有用户可以访问的安全存储中[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

为 api 访问生成安全令牌

即使用户登录,访问也被拒绝,春季安全性

有没有办法获取安全面板数据

为什么单击保存按钮时我的vba用户表单崩溃?

加密,然后将访问令牌存储在 localStorage

Iphone 将信用卡信息保存在钥匙串中或使用密码学? [关闭]