0

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

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

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

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

4

5 回答 5

3

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

于 2009-02-12T18:34:13.997 回答
2

在 Linux 上,它被称为 S/Key:这里

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

谷歌是你的朋友。

于 2009-02-12T06:25:03.297 回答
0

一种方法可能如下:-

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

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

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

于 2009-02-12T06:11:41.863 回答
0

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

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

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

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

不过祝你好运!

关于 PRNG 的维基文章

于 2009-02-12T06:32:52.293 回答
0

您需要决定的第一件事是将哪种身份验证协议作为您的标准。我推荐 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,尼克

于 2010-07-22T15:08:51.970 回答