專利名稱:一種基于令牌的網(wǎng)頁登陸系統(tǒng)以及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種基于令牌的網(wǎng)絡(luò)登錄系統(tǒng)以及方法,主要是為在Web應(yīng)用中為用戶提供強身份認證,降低因傳統(tǒng)靜態(tài)ロ令的弱抗暴力破解、網(wǎng)絡(luò)劫持等給用戶賬戶安全帶來的風(fēng)險。
背景技術(shù):
目前基于USB的強身份認證產(chǎn)品主要是基于公鑰技術(shù)(PKI),PKI公鑰基礎(chǔ)設(shè)置通過公開密鑰技術(shù)和數(shù)字證書來確保用戶信息的安全及驗證證書持有者的身份。但是,PKI在提供強身份認證的同時也因其繁瑣的實施過程和維護管理増加著用戶的經(jīng)濟成本。動態(tài)ロ令技術(shù)是強身份認證的另ー個主要技木,動態(tài)ロ令因其抗暴力破解、抗偷看及抗劫持等一系列優(yōu)點得到越來越廣泛的應(yīng)用。 目前,較為常見是的是同時使用PKI技術(shù)的基于USB的身份認證產(chǎn)品和動態(tài)ロ令雙因素(多因素)身份認證產(chǎn)品,根據(jù)這些方法和技術(shù),其具有抗偷看、抗劫持和抗暴力破解等技術(shù)優(yōu)點。但是,采取這種方法的話,在實踐之中存在著下面所述的缺點
第一,實施與維護成本很高;
第二,由于PKI的證書很少有更新,因此,其在使用超過一定時限安全性會降低,存在著較大的安全隱患;
第三,上述方法,尤其是在Web應(yīng)用中,其應(yīng)用方式和作用效果依賴于特定的網(wǎng)絡(luò)瀏覽器,并且,其應(yīng)用平臺也比較單ー;
第四,如果采取OTP令牌的話,其會因使用自帶電池使用壽命受限制,并且,由于所述OTP令牌沒有與PC連接,因此其信息交互形式単一。
發(fā)明內(nèi)容
本發(fā)明針對現(xiàn)有的技術(shù)缺點而提出,提供了一種基于令牌的網(wǎng)頁登錄系統(tǒng),所述系統(tǒng)能夠在Web應(yīng)用中為用戶提供強身份認證,降低因傳統(tǒng)靜態(tài)ロ令的弱抗暴力破解、網(wǎng)絡(luò)劫持等給用戶賬戶安全帶來的風(fēng)險。本發(fā)明解決上述技術(shù)問題所采取的技術(shù)方案如下面所描述
一種基于令牌的網(wǎng)頁認證登陸系統(tǒng),包括
WEB瀏覽器;
令牌,所述令牌用于存儲用戶的認證信息以及各種密碼信息;
WEB服務(wù)器和數(shù)據(jù)庫,并且,所述WEB服務(wù)器的根目錄設(shè)置有所述數(shù)據(jù)庫的腳本,所述WEB服務(wù)器與所述數(shù)據(jù)庫連接在一起;以及,
客戶端桌面程序,所述客戶端桌面程序讀取令牌中的用戶信息并完成用戶的認證過程,之后將用戶的訪問請求發(fā)送給WEB服務(wù)器,所述WEB服務(wù)器查詢數(shù)據(jù)庫,從而實現(xiàn)用戶的網(wǎng)頁認證登陸過程。
進ー步地,優(yōu)選的結(jié)構(gòu)是,所述WEB瀏覽器連接所述客戶端桌面程序,并且,所述客戶端應(yīng)用程序?qū)⒂脩鬒D、Web應(yīng)用主頁和挑戰(zhàn)的應(yīng)答組織成ー個Web地址,并將所述地址作為參數(shù)發(fā)送到所述WEB瀏覽器之中。進ー步地,優(yōu)選的結(jié)構(gòu)是,所述令牌內(nèi)部采取HMAC-FNV算法或者其他任意哈希算法加密處理。進ー步地,優(yōu)選的結(jié)構(gòu)是,所述客戶端桌面程序之中還設(shè)置有對服務(wù)器訪問的身份認證模塊,所述身份認證模塊在發(fā)送登錄請求的同時發(fā)送ー個對Web服務(wù)器的挑戰(zhàn)信
ο進ー步地,優(yōu)選的結(jié)構(gòu)是,所述WEB瀏覽器為任意的網(wǎng)絡(luò)瀏覽器。進ー步地,優(yōu)選的結(jié)構(gòu)是,所述數(shù)據(jù)庫為SQL數(shù)據(jù)庫。 此外,本發(fā)明還公開了ー種上述登陸系統(tǒng)的登陸方法,其具體技術(shù)方案包括以下步驟
(1)令牌向客戶端應(yīng)用程序反饋Web應(yīng)用主頁、用戶ID信息;
(2)客戶端應(yīng)用程序向Web服務(wù)器發(fā)送用戶登錄身份認證請求;
(3)Web服務(wù)器查詢數(shù)據(jù)庫,確認用戶的存在性、用戶當(dāng)前是否被激活,并將反饋結(jié)果返回給所述客戶端桌面程序;
(4)所述客戶端桌面程序?qū)⒂脩鬒D、Web應(yīng)用主頁和挑戰(zhàn)的應(yīng)答組織成ー個Web地址,客戶端應(yīng)用程序調(diào)用瀏覽器,將前面組織好的地址作為參數(shù)發(fā)送給瀏覽器;
(5)瀏覽器訪問Web服務(wù)器,將用戶ID、響應(yīng)信息發(fā)送給Web服務(wù)器;
(6)所述WEB服務(wù)器查詢數(shù)據(jù)庫獲得瀏覽器提交的用戶ID對應(yīng)的信息,更新并完成用戶身份認證過程。進ー步地,優(yōu)選的方法是,在所述令牌之中,應(yīng)用HMAC-FNV算法將令牌內(nèi)部存儲的用戶唯一的密鑰信息、令牌從客戶端應(yīng)用程序接收到的挑戰(zhàn)信息加密的結(jié)果反饋給客戶端應(yīng)用程序。本發(fā)明在采取了上述技術(shù)方案以后,由于采取了 HMAC-FNV算法(FNV改進算法)對數(shù)據(jù)進行加密,并且,在瀏覽器、Web服務(wù)器及令牌之間添加了客戶端桌面程序作為協(xié)調(diào)組件,屏蔽令牌對特定瀏覽器的依賴,具有實現(xiàn)范圍廣、能夠在Web應(yīng)用中為用戶提供強身份認證,降低因傳統(tǒng)靜態(tài)ロ令的弱抗暴力破解、網(wǎng)絡(luò)劫持等給用戶賬戶安全帶來的風(fēng)險的技術(shù)優(yōu)點,具有較好的技術(shù)效果。
下面結(jié)合附圖對本發(fā)明進行詳細的描述,以使得本發(fā)明的上述優(yōu)點更加明確。圖I是本發(fā)明基于令牌的網(wǎng)絡(luò)登陸系統(tǒng)的框架示意圖。圖2是本發(fā)明基于令牌的網(wǎng)絡(luò)登陸方法的流程圖。
具體實施例方式下面結(jié)合附圖和具體實施例來對本發(fā)明進行詳細的描述。圖I是本發(fā)明基于令牌的網(wǎng)絡(luò)登陸系統(tǒng)的框架示意圖。如圖所示,所述基于令牌的網(wǎng)頁登陸系統(tǒng),主要由下列組件構(gòu)成WEB瀏覽器;
令牌,所述令牌用于存儲用戶的認證信息以及各種密碼信息;
WEB服務(wù)器和數(shù)據(jù)庫,并且,所述WEB服務(wù)器的根目錄設(shè)置有所述數(shù)據(jù)庫的腳本,所述WEB服務(wù)器與所述數(shù)據(jù)庫連接在一起;以及,
客戶端桌面程序,所述客戶端桌面程序讀取令牌中的用戶信息并完成用戶的認證過程,之后將用戶的訪問請求發(fā)送給WEB服務(wù)器,所述WEB服務(wù)器查詢數(shù)據(jù)庫,從而實現(xiàn)用戶的網(wǎng)頁認證登陸過程。
其中,所述客戶端桌面程序起到了ー個交互界面的作用,并且,其內(nèi)部設(shè)置有多個功能単元,并且,設(shè)置在瀏覽器和WEB服務(wù)器以及令牌之間,起到了一個信息協(xié)調(diào)功能層的作用,進而屏蔽了對特定瀏覽器的依賴,具有比較好的訪問技術(shù)效果。并且,所述WEB瀏覽器連接所述客戶端桌面程序,并且,所述客戶端應(yīng)用程序?qū)⒂脩鬒D、Web應(yīng)用主頁和挑戰(zhàn)的應(yīng)答組織成ー個Web地址,并將所述地址作為參數(shù)發(fā)送到所述WEB瀏覽器之中。同吋,所述令牌內(nèi)部采取HMAC-FNV算法或者其他任意哈希算法加密處理,這樣的話,能夠獲得較好的加密效果。一般地,所述令牌中保存有每個用戶特有的一段機密信息、用戶ID、用戶PIN碼摘要、欲保護Web主頁地址,并且,在所述令牌中實現(xiàn)了用于PIN碼比對使用的MD5哈希算法(Hash)和用于產(chǎn)生認證響應(yīng)的HMAC-FNV算法(FNV改進算法)。所述的HMAC-FNV算法具體描述如下
其中,各個符號的代表含義如下
Si 加密結(jié)果影響因素 s2 加密內(nèi)容 ret中間結(jié)果 算法本體部分
FNVINIT FNV算法使用的初始化常數(shù)(0x811c9dc5)
Truncate截斷運算符 Skey用戶密鑰
schalIenge服務(wù)器的挑戰(zhàn)信息
算法定義HMAC-FNV = truncate (FNV(sl, FNV(s2, FNVINIT)))
Stepl: ret=FNV(s2, FNVINIT)
Step2: ret=FNV(sl, ret)
Step3: ret=truncate (ret)
Step4:返回結(jié)果ret
此外,在所述客戶端桌面程序之中還設(shè)置有對服務(wù)器訪問的身份認證模塊,所述身份認證模塊在發(fā)送登錄請求的同時發(fā)送ー個對Web服務(wù)器的挑戰(zhàn)信息。通過HTTP協(xié)議和USB設(shè)備實現(xiàn)挑戰(zhàn)應(yīng)答機制,為Web應(yīng)用提供強身份認證保護效果。首先,利用產(chǎn)品發(fā)行包帯的sql (數(shù)據(jù)庫操作語言)腳本在欲保護的Web服務(wù)器使用的數(shù)據(jù)庫服務(wù)上創(chuàng)建TokenLite Web Authentication System使用的數(shù)據(jù)庫;接著,將產(chǎn)品發(fā)行包中服務(wù)端腳頁拷貝至Web應(yīng)用目錄中;其次,配置服務(wù)端腳本使用的數(shù)據(jù)庫信息(數(shù)據(jù)庫名稱、數(shù)據(jù)庫服務(wù)器地址、用于連接數(shù)據(jù)庫的用戶名、登錄數(shù)據(jù)庫的密碼);接著,利用令牌初始化工具(TokenLite Init Tool)為用戶初始化令牌(初始化令牌中用戶ID、用戶密鑰、Web主頁、用戶PIN碼);接著,為用戶發(fā)放令牌和客戶端桌面應(yīng)用程序(TokenLite Daemon Tool);最后,用戶只需要通過將令牌通過USB與運行客戶端桌面應(yīng)用程序的計算鏈接輸入正確的用戶PIN碼,便可登錄到Web應(yīng)用,將令牌從計算機移除退出Web應(yīng)用。下面我們結(jié)合圖I和圖2對本發(fā)明所述的登陸方法進行詳細的描述。如圖所示,所述方法包括如下的步驟 步驟I :用戶將令牌通過USB與計算機鏈接;
步驟2 :客戶端桌面程序向用戶顯示要求用戶輸入用戶PIN的界面;
步驟3 :用戶輸入正確的用戶PIN碼;其中,被設(shè)置成如果用戶輸入錯誤的PIN碼會有錯誤提示,連續(xù)3次輸入錯誤用戶PIN碼進一歩的操作將被拒絕;
步驟4 :客戶端桌面程序?qū)⒂脩鬚IN碼反饋后發(fā)送給令牌;
步驟5 :令牌在內(nèi)部完成用戶PIN碼的驗證,向客戶端桌面程序返回用戶PIN碼驗證結(jié)果;
步驟6 :如果用戶PIN碼驗證成功,客戶端應(yīng)用程序向令牌請求Web應(yīng)用主頁、用戶ID等相關(guān)信息;
步驟7 :令牌向客戶端應(yīng)用程序反饋Web應(yīng)用主頁、用戶ID信息;
步驟8 :客戶端應(yīng)用程序向Web服務(wù)器發(fā)送用戶登錄身份認證請求;
并且,其中,我們可以在客戶端桌面程序可以添加對服務(wù)器的身份認證模塊,并且,在發(fā)送登錄請求的同時發(fā)送ー個對Web服務(wù)器的挑戰(zhàn)信息。步驟9 =Web服務(wù)器查詢數(shù)據(jù)庫,確認用戶的存在性、用戶當(dāng)前是否被激活;
步驟10:若用戶存在并且已經(jīng)處于激活狀態(tài),Web服務(wù)器產(chǎn)生一個用于本次登錄的隨
機數(shù)作為挑戰(zhàn)發(fā)送給客戶端桌面程序,將隨機數(shù)挑戰(zhàn)信息更新至數(shù)據(jù)庫;否則,發(fā)送拒絕信息給客戶端桌面程序。并且,如果客戶端桌面程序需要對Web服務(wù)器進行身份認證,則Web服務(wù)器需要利用HMAC-FNV算法對客戶提交的挑戰(zhàn)信息和用戶ID對應(yīng)的密鑰信息加密產(chǎn)生對客戶挑戰(zhàn)的應(yīng)答結(jié)果反饋給客戶端桌面程序;
步驟11 :若Web服務(wù)器返回錯誤信息,桌面應(yīng)用程序向用戶顯示此錯誤信息;
其中,需要注意的是,如果Web服務(wù)器返回隨機數(shù)作為挑戰(zhàn),桌面應(yīng)用程序?qū)⑻魬?zhàn)信息發(fā)送給令牌;
步驟12 :令牌在內(nèi)部利用HMAC-FNV算法將令牌內(nèi)部存儲的用戶唯一的密鑰信息、令牌從客戶端應(yīng)用程序接收到的挑戰(zhàn)信息加密的結(jié)果反饋給客戶端應(yīng)用程序;
步驟13 :客戶端應(yīng)用程序?qū)⒘钆品答伒募用芙Y(jié)果作為對Web服務(wù)器本次挑戰(zhàn)的應(yīng)答,將用戶ID、Web應(yīng)用主頁和挑戰(zhàn)的應(yīng)答組織成ー個Web地址.客戶端應(yīng)用程序調(diào)用瀏覽器,將前面組織好的地址作為參數(shù)發(fā)送給瀏覽器;
步驟14 :瀏覽器訪問Web服務(wù)器,將用戶ID、響應(yīng)信息發(fā)送給Web服務(wù)器;
步驟15 =Web服務(wù)器查詢數(shù)據(jù)庫獲得瀏覽器提交的用戶ID對應(yīng)的用戶唯一的密鑰、挑戰(zhàn)信息和超時標(biāo)記信息,若挑戰(zhàn)信息超時則本次認證失敗,Web服務(wù)器向客戶端應(yīng)用程序返回錯誤提示,客戶需要重新開始登錄過程;
否則Web服務(wù)器使用HMAC-FNV算法將用戶密鑰和挑戰(zhàn)信息加密,將加密結(jié)果與用戶提交的響應(yīng)信息比對,不同則Web服務(wù)器向客戶端桌面程序反饋錯誤信息;
如果兩者對應(yīng)相同的話,則更新該用戶Session,完成用戶身份認證;
步驟16 :并且,在此后,所述Web服務(wù)器更新數(shù)據(jù)庫中對應(yīng)用戶ID的挑戰(zhàn)信息字段(使挑戰(zhàn)信息不可用)。一般來說,本發(fā)明所要包括的關(guān)鍵技術(shù)要點在于以下幾種
第一,HMAC-FNV算法(FNV改進算法);
第二,在瀏覽器、Web服務(wù)器及令牌之間添加信息協(xié)調(diào)功能層(客戶端桌面程序),屏蔽令牌對特定瀏覽器的依賴;
第三,通過HTTP協(xié)議和USB設(shè)備實現(xiàn)挑戰(zhàn)應(yīng)答機制,為Web應(yīng)用提供強身份認證保護;并且,我們在進行計算響應(yīng)信息時可以選擇其他哈希算法,同樣能夠?qū)崿F(xiàn)本發(fā)明類似的技術(shù)效果。本發(fā)明在采取了上述技術(shù)方案以后,由于采取了 HMAC-FNV算法(FNV改進算法)對數(shù)據(jù)進行加密,并且,在瀏覽器、Web服務(wù)器及令牌之間添加了客戶端桌面程序作為協(xié)調(diào)組件,屏蔽令牌對特定瀏覽器的依賴,具有實現(xiàn)范圍廣、能夠在Web應(yīng)用中為用戶提供強身份認證,降低因傳統(tǒng)靜態(tài)ロ令的弱抗暴力破解、網(wǎng)絡(luò)劫持等給用戶賬戶安全帶來的風(fēng)險的技術(shù)優(yōu)點,具有較好的技術(shù)效果。需要注意的是,上述具體實施例僅僅是示例性的,在本發(fā)明的上述教導(dǎo)下,本領(lǐng)域技術(shù)人員可以在上述實施例的基礎(chǔ)上進行各種改進和變形,而這些改進或者變形落在本發(fā)明的保護范圍內(nèi)。本領(lǐng)域技術(shù)人員應(yīng)該明白,上面的具體描述只是為了解釋本發(fā)明的目的,并非用于限制本發(fā)明。本發(fā)明的保護范圍由權(quán)利要求及其等同物限定。
權(quán)利要求
1.一種基于令牌的網(wǎng)頁認證登陸系統(tǒng),包括 WEB瀏覽器; 令牌,所述令牌用于存儲用戶的認證信息以及各種密碼信息; WEB服務(wù)器和數(shù)據(jù)庫,并且,所述WEB服務(wù)器的根目錄設(shè)置有所述數(shù)據(jù)庫的腳本,所述WEB服務(wù)器與所述數(shù)據(jù)庫連接在一起;以及, 客戶端桌面程序,所述客戶端桌面程序讀取令牌中的用戶信息并完成用戶的認證過程,之后將用戶的訪問請求發(fā)送給WEB服務(wù)器,所述WEB服務(wù)器查詢數(shù)據(jù)庫,從而實現(xiàn)用戶的網(wǎng)頁認證登陸過程。
2.根據(jù)權(quán)利要求I所述的基于令牌的網(wǎng)頁認證登陸系統(tǒng),其特征在于,所述WEB瀏覽器連接所述客戶端桌面程序,并且,所述客戶端應(yīng)用程序?qū)⒂脩鬒D、Web應(yīng)用主頁和挑戰(zhàn)的應(yīng)答組織成一個Web地址,并將所述地址作為參數(shù)發(fā)送到所述WEB瀏覽器之中。
3.根據(jù)權(quán)利要求I所述的基于令牌的網(wǎng)頁認證登陸系統(tǒng),其特征在于,所述令牌內(nèi)部采取HMAC-FNV算法或者其他任意哈希算法加密處理。
4.根據(jù)權(quán)利要求I所述的基于令牌的網(wǎng)頁認證登陸系統(tǒng),其特征在于,所述客戶端桌面程序之中還設(shè)置有對服務(wù)器訪問的身份認證模塊,所述身份認證模塊在發(fā)送登錄請求的同時發(fā)送一個對Web服務(wù)器的挑戰(zhàn)信息。
5.根據(jù)權(quán)利要求I所述的基于令牌的網(wǎng)頁認證登陸系統(tǒng),其特征在于,所述WEB瀏覽器為任意的網(wǎng)絡(luò)瀏覽器。
6.根據(jù)權(quán)利要求I所述的基于令牌的網(wǎng)頁認證登陸系統(tǒng),其特征在于,所述數(shù)據(jù)庫為SQL數(shù)據(jù)庫。
7.一種基于令牌的網(wǎng)頁認證登陸方法,采取權(quán)利要求1-6任一所述的網(wǎng)頁認證登陸系統(tǒng),包括下列步驟 (1)令牌向客戶端應(yīng)用程序反饋Web應(yīng)用主頁、用戶ID信息; (2)客戶端應(yīng)用程序向Web服務(wù)器發(fā)送用戶登錄身份認證請求; (3)Web服務(wù)器查詢數(shù)據(jù)庫,確認用戶的存在性、用戶當(dāng)前是否被激活,并將反饋結(jié)果返回給所述客戶端桌面程序; (4)所述客戶端桌面程序?qū)⒂脩鬒D、Web應(yīng)用主頁和挑戰(zhàn)的應(yīng)答組織成一個Web地址,客戶端應(yīng)用程序調(diào)用瀏覽器,將前面組織好的地址作為參數(shù)發(fā)送給瀏覽器; (5)瀏覽器訪問Web服務(wù)器,將用戶ID、響應(yīng)信息發(fā)送給Web服務(wù)器; (6)所述WEB服務(wù)器查詢數(shù)據(jù)庫獲得瀏覽器提交的用戶ID對應(yīng)的信息,更新并完成用戶身份認證過程。
8.根據(jù)權(quán)利要求7所述的基于令牌的網(wǎng)頁認證登陸方法,其特征在于,在步驟(3)中,若用戶不存在或者未激活,則所述Web服務(wù)器發(fā)送拒絕信息給客戶端桌面程序。
9.根據(jù)權(quán)利要求7所述的基于令牌的網(wǎng)頁認證登陸方法,其特征在于,還包括有數(shù)據(jù)庫以及令牌初始化步驟。
10.根據(jù)權(quán)利要求7所述的基于令牌的網(wǎng)頁認證登陸方法,其特征在于,在所述令牌之中,應(yīng)用HMAC-FNV算法將令牌內(nèi)部存儲的用戶唯一的密鑰信息、令牌從客戶端應(yīng)用程序接收到的挑戰(zhàn)信息加密的結(jié)果反饋給客戶端應(yīng)用程序。
全文摘要
本發(fā)明公開了一種基于令牌的網(wǎng)頁認證登陸系統(tǒng),包括WEB瀏覽器;令牌,所述令牌用于存儲用戶的認證信息以及各種密碼信息;WEB服務(wù)器和數(shù)據(jù)庫,并且,所述WEB服務(wù)器的根目錄設(shè)置有所述數(shù)據(jù)庫的腳本,所述WEB服務(wù)器與所述數(shù)據(jù)庫連接在一起;以及,客戶端桌面程序,所述客戶端桌面程序讀取令牌中的用戶信息并完成用戶的認證過程,之后將用戶的訪問請求發(fā)送給WEB服務(wù)器,所述WEB服務(wù)器查詢數(shù)據(jù)庫,從而實現(xiàn)用戶的網(wǎng)頁認證登陸過程。本發(fā)明在采取了上述技術(shù)方案以后,能夠在Web應(yīng)用中為用戶提供強身份認證,降低因傳統(tǒng)靜態(tài)口令的弱抗暴力破解、網(wǎng)絡(luò)劫持等給用戶賬戶安全帶來的風(fēng)險的技術(shù)優(yōu)點,具有較好的技術(shù)效果。此外,還公開了一種網(wǎng)頁登陸方法。
文檔編號H04L29/06GK102833214SQ201110158918
公開日2012年12月19日 申請日期2011年6月14日 優(yōu)先權(quán)日2011年6月14日
發(fā)明者程思進 申請人:賽酷特(北京)信息技術(shù)有限公司