賽孚耐ikey-1000整合到web的方案_第1頁
賽孚耐ikey-1000整合到web的方案_第2頁
賽孚耐ikey-1000整合到web的方案_第3頁
賽孚耐ikey-1000整合到web的方案_第4頁
免費預覽已結(jié)束,剩余1頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、賽孚耐iKey 1000網(wǎng)站登錄方案說明1. 使用iKey 1000進行網(wǎng)站登錄iKey 1000是全球市場占有率最高的身份認證令牌產(chǎn)品。將iKey 1000與各種應用相結(jié)合,將為用戶提供安全、可靠、簡單、方便的身份認證和登錄體驗。2. 方案的過程客戶端控件口令密鑰文件用戶名文件iKey 1000用戶數(shù)據(jù)庫服務端控件服務器1發(fā)送挑戰(zhàn)數(shù)據(jù)2返回簽名結(jié)果和用戶名首先,認證網(wǎng)頁生成一個挑戰(zhàn)數(shù)據(jù)(隨機數(shù))并傳給客戶端。客戶端控件會尋找客戶的計算機上是否有iKey 1000硬件,并試圖打開用戶名文件和用戶口令密鑰文件。當這些操作都成功后,客戶端控件會使用用戶口令密鑰文件對挑戰(zhàn)數(shù)據(jù)簽名,并將簽名結(jié)果連同用

2、戶名一起發(fā)還給認證服務器。當認證服務器收到返回數(shù)據(jù),首先會在用戶數(shù)據(jù)庫中尋找是否有相同用戶名的用戶存在,如果存在則取出對應的用戶口令,以它為密鑰,調(diào)用服務端控件的HMAC-MD5簽名算法對原始的挑戰(zhàn)數(shù)據(jù)進行簽名。最后,服務器將比較由客戶處傳回的簽名數(shù)據(jù)與服務器自己產(chǎn)生的簽名數(shù)據(jù)是否相同。如果相同則意味著用戶數(shù)據(jù)庫中存儲的用戶口令與iKey 1000硬件內(nèi)存儲的用戶口令完全相同,該用戶是合法用戶;否則無法通過認證。3. 方案的組成在新的認證方式中,開發(fā)商需要用到iKey 1000初始化工具、客戶端控件、服務端控件以及iKey 1000的客戶端安裝包。以下進行分別的說明。a) iKey 1000初

3、始化工具在方案附帶的InitTool目錄下,包含了一個VC6的工程源文件。并且在Release子目錄下包含一個編譯好的InitTool.Exe可執(zhí)行文件。這個工程可以實現(xiàn)對iKey 1000的初始化。b) iKey 1000客戶端控件iKey 1000的客戶端控件是一個經(jīng)過簽名的ActiveX形式的COM控件,它的文件名是iKeyClient.dl??蛻舳丝丶c初始化工具相對應,向網(wǎng)頁開發(fā)者提供了一組可以利用iKey 1000內(nèi)部的用戶名文件和用戶口令文件進行身份認證的函數(shù)接口。iKey 1000客戶端控件的CLSID為“2669C745-AF54-4B50-B97C-7683123FEBA2

4、”,并能夠響應iKey 1000的硬件插撥消息。下面對iKey 1000客戶端控件的所有的接口函數(shù)進行說明:l HRESULT Open()說明:打開目前系統(tǒng)中的第一個iKey 1000設備。iKey 1000不支持多個設備共存,在這種情況下,只有第一個找到的設備會被打開。JavsScript調(diào)用示例:iKeyClient.Open();注:這里的iKeyClient是網(wǎng)頁內(nèi)定義的iKey 1000客戶端控件的名稱(ID),開發(fā)中應根據(jù)實際命名進行改變。下同。l HRESULT Close()說明:關(guān)閉打開的iKey 1000設備。并不要求必須調(diào)用此函數(shù)來并閉設備。在iKey 1000客戶端控

5、件關(guān)閉時,打開的設備會自動關(guān)閉。JavsScript調(diào)用示例:iKeyClient.Close();l HRESULT VerifyPin(inBSTR strPin)說明:校驗iKey 1000的用戶PIN碼。輸入數(shù)據(jù):strPin:用戶PIN字符串JavsScript調(diào)用示例:iKeyClient.VerifyPin (PIN);l HRESULT ChangeDirByName(inBSTR strDirName)說明:改變iKey 1000文件系統(tǒng)的當前目錄。iKey 1000內(nèi)部存在著一個簡單的文件系統(tǒng),默認地,在iKey 1000剛剛插入計算機時,其當前目錄指向根目錄。使用本函數(shù)可

6、以改變當前目錄至所需的目錄。使用InitTool初始化的iKey 1000,文件存儲在“Web Office”目錄下。輸入數(shù)據(jù):strDirName:要改變的目標目錄名字符串JavsScript調(diào)用示例:iKeyClient.ChangeDirByName (NEWDIRNAME);l HRESULT GetUsername(inULONG ulFileID, out, retvalBSTR * pUsername)說明:獲取iKey 1000硬件內(nèi)的對應數(shù)據(jù)文件所存儲的用戶名字符串。使用InitTool初始化的用戶名數(shù)據(jù)文件的文件ID為2。注意,如果開發(fā)商將用戶名文件存儲在特殊的目錄下,調(diào)用

7、這個函數(shù)前必須首先調(diào)用ChangeDirByName函數(shù)改變當前目錄至文件存儲目錄。輸入數(shù)據(jù):ulFileID:存儲用戶名的數(shù)據(jù)文件的文件ID返回數(shù)據(jù):取得的用戶名字符串JavsScript調(diào)用示例:USERNAME = iKeyClient.GetUsername(2);l HRESULT Authenticate(inULONG ulFID1, inULONG ulFID2, inBSTR pDigest, out, retvalBSTR * pResult)說明:對打開的iKey 1000進行認證,即使用用戶口令密鑰文件對輸入字符串進行簽名。要注意的是,用戶口令經(jīng)過轉(zhuǎn)換后將會存儲在兩個密

8、鑰文件中,本函數(shù)必須同時輸入這兩個文件的ID。使用InitTool初始化的用戶口令密鑰文件的文件ID分別為3和4。注意,如果開發(fā)商將用戶口令文件存儲在特殊的目錄下,調(diào)用這個函數(shù)前必須首先調(diào)用ChangeDirByName函數(shù)改變當前目錄至文件存儲目錄。輸入數(shù)據(jù):ulFID1:存儲用戶口令密鑰文件第一部分的文件IDulFID2:存儲用戶口令密鑰文件第二部分的文件IDpDigest:要進行簽名的數(shù)據(jù)字符串。即從服務器端發(fā)出的挑戰(zhàn)數(shù)據(jù)返回數(shù)據(jù):產(chǎn)生的簽名結(jié)果串JavsScript調(diào)用示例:RESULT = iKeyClient.Authenticate(3, 4, CHALLENGE);l HRES

9、ULT CheckToken(out, retval VARIANT_BOOL * haveToken)說明:判斷當前系統(tǒng)中是否插有iKey 1000硬件。返回數(shù)據(jù):如果找到硬件,返回true;否則返回falseJavsScript調(diào)用示例:RESULT = iKeyClient.CheckToken();c) iKey 1000客戶端檢查控件要在客戶的計算機上操作iKey 1000硬件,需要首先安裝硬件驅(qū)動程序及基礎運行庫。因此一個網(wǎng)頁要使用iKey 1000進行身份認證之前,首先要做的應該是檢查客戶端是否安裝了驅(qū)動及基礎運行庫。進行這個檢查工作的是客戶端檢查控件。iKey 1000的客戶端

10、檢查控件同樣是一個經(jīng)過簽名的ActiveX形式的COM控件,其文件名是ikChkClient.dll??蛻舳藱z查控件的CLSID為“0C9D30AB-1840-463F-BD45-E4BB5AAD4342”。iKey 1000客戶端檢查控件只包含一個用于檢查客戶端是否存在的接口。其說明如下:l HRESULT CheckClient(out, retval VARIANT_BOOL * haveClient)說明:判斷當前系統(tǒng)是否安裝過iKey 1000硬件驅(qū)動及其它基礎運行庫。返回數(shù)據(jù):如果發(fā)現(xiàn)已經(jīng)安裝,返回true;否則返回falseJavsScript調(diào)用示例:RESULT = iKey

11、Client.CheckClient();d) iKey 1000服務端控件iKey 1000的服務端控件運行在認證服務器上,是一個COM控件,用于完成服務器端的MD5簽名運算。其文件名是iKeyMd5.dll。服務端控件的ProgID是iKeyMd5.crypt,在網(wǎng)頁上,可以這樣對它進行定義:set iKeyServer = Server.CreateObject( "iKeyMd5.crypt" )服務端控件也只有一個函數(shù),下面給出使用VB Script的調(diào)用示例:RESULT = iKeyServer.Md5HMAC(CHALLENGE, PASSWORD, &qu

12、ot;", "" )4. 方案的實施過程a) 參照演示網(wǎng)頁,修改開發(fā)商網(wǎng)站針對自己的實際情況,在自己的網(wǎng)站中添加iKey 1000認證支持。b) 安裝認證網(wǎng)站將修改后的認證網(wǎng)頁上傳至認證服務器中。關(guān)鍵地,必須注冊服務端控件。服務端控件是一個COM控件,可以在服務器上使用“regsvr32 目錄名控件名”命令完成注冊。注意:正常情況下iKeyClient.dll可以自動注冊,但當某種情況下注冊不成功的時候,可以手工注冊iKeyClient.dll和ikChkClient.dll,手工注冊方法是:點擊Strat->run,輸入 regsvr32 “文件路徑”,比

13、如:regsvr32 "E:product ASP sampleSample ComponentsiKeyClient.dll"regsvr32 "E:product ASP sampleSample ComponentsikChkClient.dll"c) 初始化用戶iKey 1000使用InitTool(可以根據(jù)需要進行修改),和現(xiàn)有的用戶數(shù)據(jù)庫,開發(fā)商可以初始化所有用于登錄的iKey 1000硬件。并將它們發(fā)送給相應的最終用戶。由于初始化工具只是一個簡單的示例,示例中固定iKey的用戶口令是“12345678”,如果口令改變,初始化會失敗。另外初始化的用戶名和口令,要和用戶名/口令數(shù)據(jù)庫中的用戶名口令相同,才能夠認證

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論