2010-03-09 65 views
3

我有一个用于远程登录某个Citrix环境的硬件令牌。 当我点击设备上的按钮时,我得到一个ID,我可以使用它登录到Citrix农场。我可以尽可能多地点击按钮,每次生成新代码时都可以工作。如何在.Net中构建登录硬件令牌的模拟

现在我想要保护我的私人网站,但不是用硬件令牌,而是用手机上的'令牌应用程序'。所以我在手机上运行一个应用程序,生成一个密钥,然后使用它在服务器上(部分)对自己进行身份验证。

但这里有一点:我不知道它是如何工作的!我怎么能一次生成1,2或100个密钥,我可以看到(在服务器上)都是有效的,但没有服务器和电话应用程序有联系(硬件令牌也是“离线”解决方案)。

你能帮我一个提示我该怎么做?

这是我到目前为止想到的:手机应用程序和服务器应用程序知道(硬编码)相同的加密密钥。手机应用程序会加密当前时间。服务器应用程序将字符串解密为当前时间,如果该时间与实际服务器时间之间的差异小于10分钟,则可以。 其他用户很难伪造一把钥匙,但是加密会给出如此恶劣的字符串以及硬件令牌给我带来不错的东西,比如'H554TU8' 而这可能不是真正的硬件令牌的工作原理,因为服务器和电话应用程序必须“知道”相同的加密密钥。

米歇尔

回答

1

此链接可能会有所帮助:One-time password

+0

现在读它... – Michel 2010-03-09 10:17:34

+0

严重的企业....比我想象的更困难。感谢链接。 – Michel 2010-03-20 23:25:47