2010-03-09 60 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