【问题标题】:Remote password generation远程密码生成
【发布时间】:2012-01-07 23:41:29
【问题描述】:

我们在无法保证互联网访问的偏远地区部署了一个系统,系统的一部分需要密码,但用户可能会忘记密码并要求恢复选项。

我正在尝试创建一个允许我生成恢复密码的工具,密码需要对系统是唯一的(系统可以提供唯一的数字标识符)并且对时间敏感。

理想情况下,系统会这样工作:用户致电支持并提供他的系统标识符。支持在恢复工具中输入他的标识符并取回在该小时/天有效的密码。当用户在他的系统中输入生成的密码时,系统将允许访问。

我想远程系统必须以相同的方法生成密码,以与支持提供的密码进行比较,这可能会带来安全风险,代码需要进行一些逆向工程校对。 我正在寻找 C# 解决方案,但欢迎使用其他方法。

【问题讨论】:

  • 糟糕。我不会这样做。机器是否绑定到活动目录域?
  • @Daniel 我同意你的观点,但这超出了我的控制范围,目前实施的系统更糟糕,甚至更不安全。我不能假设远程机器上存在任何形式的身份验证,我所知道的唯一安全性是我们系统中实现的安全性。

标签: c# password-recovery


【解决方案1】:

创建一个随产品一起提供的表单,该表单创建一个特定于机器的哈希,用户通过电话将其读取给技术支持代理。然后,代理将哈希输入到只有您的支持代理可用的表单中。这种形式接受散列和盐值,并返回一个新的散列,该散列被读回给用户。然后用户输入这个新的哈希,它会显示一个重置密码表单。

在代理端创建新哈希的函数也必须在客户端实现以进行验证。我建议只需将静态盐添加到机器特定的哈希中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-04-03
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-29
    • 1970-01-01
    相关资源
    最近更新 更多