應用文檔
超級狗身份認證使用指南
更新時間:2018-11-16 15:12:12 點擊量:
產品簡介
工作原理
超級狗雙因素身份認證可以使網絡訪問者經過雙重認證才能獲得網絡訪問授權。授權的訪問者必須持有超級狗并且知道其口令。訪問者需要把超級狗插入 USB 接口中,并且輸入正確的口令,以證實自己的身份。如果身份認證服務器不能識別訪問者的身份,網絡訪問將被拒絕。
超級狗雙因素身份認證向用戶提供了比傳統用戶名口令方式更安全的網絡身份認證機制。
工作原理
超級狗利用內置算法采用查詢響應的方式對訪問者身份進行驗證和確認。
當身份認證服務器發給超級狗查詢值時,超級狗使用內置算法計算出匹配的響應值,并通過網絡發送給服務器。查詢值是隨機的,因此攔截超級狗與服務器的通訊數據并不能幫助破解。此方式與輸入口令驗證方式相比更安全,更難于破解, 因為口令并沒有在網絡上傳輸。
超級狗采用單向不可逆哈希算法計算響應值。超級狗內置了智能卡芯片,能夠有效地防止硬件復制或偽造。超強的硬件保護,使算法不可被非法讀取,從而保障了安全性。
不同開發商購買的超級狗內置的算法因子不同,可以有效防止其他人購買超級狗偽裝成合法用戶。
已通過的測試環境
服務器端支持 JSP、 ASP.NET 和 PHP。
客戶端支持主流瀏覽器。目前已測試的平臺如下:
客戶端支持主流瀏覽器。目前已測試的平臺如下:
Windows XP: IE8, Firefox, Google Chrome
Windows 7: IE8, IE9, IE10, Firefox, Google Chrome
Windows 8: IE10, Firefox, Google Chrome
Windows 8.1: IE11, Firefox, Google Chrome
Windows 10: IE11, Firefox, Google Chrome
用戶登錄流程
以使用 IE 瀏覽器為例,使用其它瀏覽器時略有區別。
以使用 IE 瀏覽器為例,使用其它瀏覽器時略有區別。
1. 瀏覽登錄頁面,如 http://localhost:8080/Authentication/Login.jsp 。客戶端會自動提示加載安裝 ActiveX 控件,點擊安裝,完成控件的安裝,如果已經安裝了控件則不會提示。
2. 頁面的 javascript 代碼調用控件的 SetCheckDogCallBack(“insertDog”,”removeDog”) 方法設置 js 回調函數。“insertDog”插入超級狗的響應函數,“removeDog”拔出超級狗的響應函數。
3. 頁面的 javascript 代碼調用控件的 Open (Scope, AuthorCode) 方法,打開超級狗。只有打開狗以后才可訪問后續的處理函數,使用結束后需調用 Close () 方法關閉超級狗。參數 Scope 表示在多個超級狗同時存在的情況下,可以打開特定的狗;參數AuthorCode 是從服務端的 auth_code.xml 配置文件中讀取的算法數據。
4. 頁面的 javascript 代碼調用控件的 VerifyUserPin(PIN) 方法,驗證用戶輸入的口令與超級狗中的口令是否一致。
5. 頁面的 javascript 代碼調用 getChallenge() 方法發送 httpRequest 請求,獲取服務端隨機生成的挑戰數據,服務端同時把數據記錄到 session 中。
6. 頁面的 javascript 代碼調用控件的 GetDigest (PIN) 方法,對挑戰數據進行加密處理。
7. 頁面的 javascript 代碼調用 doAuth () 方法發送 httpRequest 請求,把從ActiveX 控件中獲取的 DogID 和加密的挑戰數據發送給服務端。服務端的verifyDigest()方法對數據進行比對。
8. 對登錄的用戶進行數據庫(Access Database)的查詢匹配,如果匹配成功則可以訪問
主頁。
用戶注冊流程
以使用 IE 瀏覽器為例,使用其它瀏覽器時略有區別。
1. 瀏覽登錄頁面,如: http://localhost:8080/Authentication/Register.jsp 。客戶端會自動加載提示安裝 ActiveX 控件,點擊安裝,完成控件的安裝,如果已經安裝了控件則不會提示。
2. 頁面的 javascript 代碼調用控件的 SetCheckDogCallBack(“insertDog”,”removeDog”) 方法設置 js 回調函數。“insertDog”,插入超級狗的響應函數,“removeDog”拔出超級狗的響應函數。
3. 頁面的 javascript 代碼調用控件的 Open (Scope, AuthorCode) 方法,打開超級狗。只有打開狗以后才可訪問后續的處理函數,使用結束后需調用 Close () 方法關閉超級狗。參數 Scope 表示在多個超級狗同時存在的情況下,可以打開特定的狗;參數AuthorCode 是從服務端的 auth_code.xml 配置文件中讀取的算法數據。
4. 頁面的 javascript 代碼調用控件的 VerifyUserPin(PIN) 方法,對于新注冊的超級狗需要先驗證,輸入初始參數“12345678”。
5. 頁面的 javascript 代碼調用 getChallenge() 方法發送 httpRequest 請求,獲取服務端隨機生成的挑戰數據,服務端同時把數據記錄到 session 中。
6. 頁面的 javascript 代碼調用控件的 GetDigest (PIN) 方法,對挑戰數據進行加密處理。
7. 頁面的 javascript 代碼調用 doAuth () 方法發送 httpRequest 請求,把從ActiveX 控件中獲取的 DogID 和加密的挑戰數據發送給服務端。服務端的verifyDigest()方法對數據進行比對。
8. 對新注冊的用戶記錄用戶信息,把信息寫入數據庫(Access Database)。
9. 數據庫寫入成功后,調用 ActiveX 控件的 RegisterUser(username, PIN)方法,把注冊信息寫入到超級狗里。
用戶修改口令流程
以使用 IE 瀏覽器為例,使用其它瀏覽器時略有區別。
1. 瀏覽登錄頁面,如:http://localhost:8080/Authentication/ModifyPin.jsp 。客戶端會自動加載提示安裝 ActiveX 控件,點擊安裝,完成控件的安裝,如果已經安裝了控件則不會提示。
2. 頁面的 javascript 代碼調用控件的 SetCheckDogCallBack(“insertDog”,”removeDog”) 方法設置 js 回調函數。“insertDog”,插入超級狗的響應函數,“removeDog”拔出超級狗的響應函數。
3. 頁面的 javascript 代碼調用控件的 Open (Scope, AuthorCode) 方法,打開超級狗。只有打開狗以后才可訪問后續的處理函數,使用結束后需調用 Close () 方法關閉超級狗。參數 Scope 表示在多個超級狗同時存在的情況下,可以打開特定的狗;參數AuthorCode 是從服務端的 auth_code.xml 配置文件中讀取的算法數據。
4. 頁面的 javascript 代碼調用控件的 VerifyUserPin(PIN) 方法,驗證用戶輸入的舊口令與超級狗中的口令是否一致。