【问题标题】:How do I set up one time password authentication? [closed]如何设置一次性密码验证? [关闭]
【发布时间】:2009-02-12 06:01:56
【问题描述】:

我有一个远程访问的家庭网络。但我担心安全问题。虽然我确实有强密码,但我担心有人会获取我的密码并使用它来获得访问权限。

我听说过“一次性密码”,甚至在我的大学里使用过它们。我们只需按下设备上的按钮(或在手机上运行应用程序)并获取生成的密码,该密码可以在接下来的一分钟左右使用。

  • 我怎样才能设置这样的东西?
  • 是否有易于使用和设置的系统?
  • 有人玩过这些系统之一的 SDK 吗?
  • 我可以从哪里获得入门工具包?

编辑:我正在运行一个混合的 Linux 和 Windows 网络,我隐约希望在这两个操作系统上都使用它来进行身份验证。 (不,没有域控制器,但我想我可以使用 Samba 设置一个。)

【问题讨论】:

    标签: authentication one-time-password


    【解决方案1】:

    S/Key 非常适合低成本的 OTP 实施。 但是,如果您真的对此感到担心,那么还要担心您的会话在启动后被劫持。在这种情况下,您可能会考虑使用 SSH 隧道来加密您的流量。设置访问权限后,SSH 还可以更好地通过它为其他应用程序建立隧道。最后,如果您没有携带 SSH 客户端的简单方法(或者不信任其他人的 SSH 客户端),您可以从自己的服务器上提供一些基于 Web 的 SSH 客户端——因此它在您的控制之下,但可从任何浏览器访问。

    【讨论】:

      【解决方案2】:

      在 Linux 上称为 S/Key:here

      不是按钮小玩意儿,而是您将其播种并打印出一次性密码列表以随身携带。为了使它与混合环境一起工作,你需要让它在你的 Windows 机器上工作,然后让 Linux 机器从中进行身份验证,或者(更容易)让它在 Linux 上工作,然后将它链接到 Samba,以便 Windows 可以对其进行身份验证。

      Google 是你的朋友。

      【讨论】:

      • 谷歌是我的朋友。搜索“如何设置一次性密码”这个帖子在撰写本文时排名第一:)
      【解决方案3】:

      一种方法可能如下:-

      你需要制作一个程序来生成一个密码,该密码只能在特定的时间范围内被你的家庭系统接受。

      例如。当您运行程序时,输出将在特定的持续时间内有效,并且 将被您的家庭安全系统接受,因为系统也会在匹配哈希时生成相同的输出,诀窍是在两个地方获得相同的哈希。

      我想这需要更多的头脑风暴!!!!

      【讨论】:

        【解决方案4】:

        作为 renegadeMind 帖子的附录,一种方法是在两端都有一个程序来生成随机数序列。伪随机数生成器 (PRNG) 的一个特性是,如果您使用相同的种子启动它们,它们将继续生成相同的随机数序列。因此,根据您的经验(或技术的可用性),您可以将网络设置为每 x 分钟生成一个新密码。然后,您可以随身携带一个可以在手机或其他嵌入式硬件上运行的软件,该软件可以计算 PRNG 执行顺序中的哪一步,然后为您列出当前密码。

        话虽如此,您系统的安全性将仅限于您选择的种子以及您选择的每个密钥的有效时间。

        除此之外,可能还有一个软件解决方案可以为您做到这一点。恕我直言,最好采用现有的实现,然后重新发明轮子。

        编辑:维基百科有一篇很好的文章here。关于特定 OTP 技术的部分可能是最相关的。

        祝你好运!

        wiki article on PRNG

        【讨论】:

        • 是的,这是一种方法!
        【解决方案5】:

        您需要决定的第一件事是将哪种身份验证协议作为您的标准。我推荐 Radius,尤其是对于企业中的两因素身份验证。 Radius 得到所有主要 VPN 和网络提供商以及所有主要 2FA 提供商的支持。

        然后,考虑您要保护的服务。对于 linux,这通常意味着 PAM。幸运的是,通过 pam 向 linux 添加 2FA 非常轻松:http://www.wikidsystems.com/support/wikid-support-center/how-to/pam-radius-how-to/。对于 Windows 服务,您需要通过 ISA 或 VPN 路由它们。

        您可以使用 MS radius 插件 IAS/NPS 将所有半径请求配置为通过 AD。 http://www.networkworld.com/news/2010/050710-two-factor-authentication-through-windows-server.html?source=nww_rss

        最后,在选择 2FA 解决方案时,请确保它们支持 radius。

        对于 SDK,这是每个供应商的情况。这是我们的链接:http://www.wikidsystems.com/downloads/network-clients

        hth,尼克

        【讨论】:

          猜你喜欢
          • 2016-07-18
          • 2021-12-31
          • 2014-03-08
          • 1970-01-01
          • 2020-02-06
          • 1970-01-01
          • 2019-04-28
          • 2018-02-03
          • 1970-01-01
          相关资源
          最近更新 更多