【问题标题】:How to securely save secret key on disk?如何安全地将密钥保存在磁盘上?
【发布时间】:2023-03-13 02:30:01
【问题描述】:

我正在构建一个连接到第 3 方应用程序以获取一些信息的应用程序,我的想法是以应用程序控制密码的方式设计它,它可以不时更改密码,散列并保留密码某处的哈希密码。这样没有人知道密码。

但我不知道应该在哪里以及如何安全地存储密钥,因此有权访问该机器的人无法恢复密码。

有没有我找不到的已知方法? 或者这不可能在同一台机器上拥有密码和密钥。

【问题讨论】:

  • 如果要散列,他们怎么知道密码?
  • 拥有散列密码 + 密钥 = 知道密码!!
  • 这样想:您正在尝试创建一个程序来存储一个无法从任何程序中检索到的值。为什么您的程序与其他程序不同才能检索它?
  • @Desaroll 我明白你的意思,我可以假设这是不可能的并停止细读这个想法吗?仅仅为一个应用程序保护磁盘的一部分是不可能的吗?我了解我无法重新散列密钥,因为它需要在某处存储新密钥。
  • 即使操作系统的用户密码也可以从具有足够权限的程序中访问。您无法检索它们,因为它们是使用单向哈希保存的(它们比较哈希密码),但您可以更改它们。

标签: security passwords string-hashing


【解决方案1】:

我不认为你绝对可以隐藏它,但你可以做的是:

窗口

  • 使用attrib 命令 (attrib +s +h filepath) 将其隐藏在选定的路径中。
  • 使用cacls 命令拒绝所有用户的访问(打开命令行并输入cacls /? 以获得更多信息)。该命令应该类似于 cacls filepath /D user。这将完全拒绝文件访问 指定的用户(不可能在其中读取或写入)。然而, 我认为你需要管理员权限才能做到这一点。您可以使用命令net user 检索用户列表。

Linux

应用相同的策略:

  • 通过在其名称前加一个点来隐藏它
  • 使用chmod 命令拒绝权限

【讨论】:

    猜你喜欢
    • 2011-12-17
    • 2011-02-21
    • 2016-01-25
    • 1970-01-01
    • 2018-08-27
    • 2014-10-18
    • 2015-07-04
    • 2015-03-17
    相关资源
    最近更新 更多