專利名稱:一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字證書認證技術(shù),尤其是一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法及系統(tǒng)。
背景技術(shù):
隨著電子商務(wù)和互聯(lián)網(wǎng)的快速發(fā)展,USB Key作為網(wǎng)絡(luò)用戶身份識別和數(shù)據(jù)保護的“電子鑰匙”,正在被越來越多的用戶所熟悉。USB Key是一種基于USB接口的智能存儲身份認證設(shè)備,內(nèi)置有智能卡CPU、存儲器、芯片操作系統(tǒng)(Chip Operating System,COS)和安全文件系統(tǒng),用于在服務(wù)器和用戶之間進行身份認證。由于USB Key主要用于網(wǎng)絡(luò)認證,其內(nèi)部存儲有用戶的數(shù)字證書和用戶私鑰,利用其內(nèi)置的公鑰算法實現(xiàn)對用戶身份的驗證,用戶的私鑰和數(shù)字證書保存于USB Key安全存儲區(qū)域中,理論上無法從外部獲取,這就保證了用戶私鑰和數(shù)字證書的安全性。USB Key 通過 PIN (Personal Identification Number,個人識別密碼)碼來保護 USB Key的使用權(quán),PIN碼是USB Key的密碼,只有擁有的該USB Key的PIN碼,才可以進行 USB Key操作。即使被人撿到,或電腦被入侵,也無法在不知道PIN碼的情況下盜用用戶的 USB Key。假如用戶用戶的系統(tǒng)被入侵,由于用戶每次輸入的皆為完整的PIN碼,入侵者只要采用鍵盤記錄工具或者其他方式即可獲得用戶的PIN碼,這樣入侵者就能獲取用戶USB Key的使用權(quán),進行一些有損用戶利益的操作。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法,該方法可以有效地提高用戶使用硬件數(shù)字證書載體的信息安全性。本發(fā)明要解決的另一技術(shù)問題是提供一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng),該系統(tǒng)有效地保障了用戶使用硬件數(shù)字證書載體的信息安全性。為了解決上述技術(shù)問題,本發(fā)明所采用的技術(shù)方案是
一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法,該方法包括以下步驟 硬件數(shù)字證書載體接收來自客戶端的服務(wù)請求; 硬件數(shù)字證書載體向客戶端傳送包含有二進制序列的PIN碼輸入信息; 硬件數(shù)字證書載體接收來自客戶端的PIN碼數(shù)據(jù);
硬件數(shù)字證書載體將來自客戶端的PIN碼數(shù)據(jù)與內(nèi)部運算得到的動態(tài)PIN碼數(shù)據(jù)進行匹配,若匹配則激活硬件數(shù)字證書載體提供服務(wù)響應(yīng)。進一步作為優(yōu)選的實施方式,所述二進制序列是由硬件數(shù)字證書載體隨機產(chǎn)生的數(shù)據(jù),該二進制序列的位數(shù)與硬件數(shù)字證書載體原始PIN碼的位數(shù)相同。進一步作為優(yōu)選的實施方式,硬件數(shù)字證書載體接收來自客戶端的服務(wù)請求之后并在向客戶端傳送包含有二進制序列的PIN碼輸入信息之前還包括
對服務(wù)請求的指令完整性進行判斷,若服務(wù)請求的指令完整并需要提升權(quán)限,則硬件數(shù)字證書載體向客戶端傳送包含有二進制序列的PIN碼輸入信息。進一步作為優(yōu)選的實施方式,所述硬件數(shù)字證書載體隨機產(chǎn)生的二進制序列存儲在緩沖存儲模塊,該緩沖存儲模塊內(nèi)數(shù)據(jù)的存儲時間可以設(shè)置,并且在二進制序列刷新時被新生成的二進制序列覆蓋。進一步作為優(yōu)選的實施方式,所述硬件數(shù)字證書載體隨機產(chǎn)生的二進制序列的刷新次數(shù)可以設(shè)置,當(dāng)超過預(yù)定義的刷新次數(shù)后,硬件數(shù)字證書載體將進入鎖定狀態(tài)。一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng),該系統(tǒng)包括
數(shù)據(jù)接收模塊,用于接收來自客戶端的數(shù)據(jù),包括服務(wù)請求和用戶通過客戶端輸入的 PIN碼數(shù)據(jù);
安全服務(wù)模塊,用于生成包含有二進制序列的PIN碼輸入信息; 數(shù)據(jù)發(fā)送模塊,用于將包含有二進制序列的PIN碼輸入信息傳送給客戶端; 比較模塊,用于根據(jù)硬件數(shù)字證書載體的原始PIN碼和二進制序列計算得到動態(tài)PIN 碼數(shù)據(jù),并比較計算得到的動態(tài)PIN碼數(shù)據(jù)與來自客戶端的PIN碼數(shù)據(jù),若匹配則激活硬件數(shù)字證書載體提供服務(wù)響應(yīng)。進一步作為優(yōu)選的實施方式,所述二進制序列是由安全服務(wù)模塊隨機產(chǎn)生的數(shù)據(jù),該二進制序列的位數(shù)與硬件數(shù)字證書載體原始PIN碼的位數(shù)相同。進一步作為優(yōu)選的實施方式,該系統(tǒng)還包括一指令處理模塊,用于對服務(wù)請求的指令完整性進行判斷,若服務(wù)請求的指令完整并需要提升權(quán)限,則安全服務(wù)模塊生成包含有二進制序列的PIN碼輸入信息。進一步作為優(yōu)選的實施方式,該系統(tǒng)還包括一緩沖存儲模塊,用于存儲安全服務(wù)模塊隨機產(chǎn)生的二進制序列,該緩沖存儲模塊內(nèi)數(shù)據(jù)的存儲時間可以設(shè)置,并且在二進制序列刷新時被新生成的二進制序列覆蓋。進一步作為優(yōu)選的實施方式,該系統(tǒng)還包括一刷新計數(shù)模塊,用于對安全服務(wù)模塊刷新二進制序列的次數(shù)進行計數(shù),所述二進制序列的刷新次數(shù)可以設(shè)置,當(dāng)超過預(yù)定義的刷新次數(shù)后,硬件數(shù)字證書載體將進入鎖定狀態(tài)。本發(fā)明的有益效果是本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法及系統(tǒng),在用戶獲取硬件數(shù)字證書載體的使用權(quán)限進行PIN碼認證時,一改傳統(tǒng)的直接輸入全部PIN碼的做法,而是通過與動態(tài)生成的二進制序列結(jié)合,要求用戶輸入動態(tài)的PIN碼,從而使得即使系統(tǒng)被非法入侵時,入侵者也無法獲取完整的PIN碼,提高了硬件數(shù)字證書載體密碼的安全性,保障了用戶的合法利益。
下面結(jié)合附圖對本發(fā)明的具體實施方式
作進一步說明
圖1是本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法實施例一的步驟流程圖; 圖2是本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法實施例二的步驟流程圖; 圖3是本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng)實施例一的結(jié)構(gòu)方框圖; 圖4是本發(fā)明硬件數(shù)字證書載體與客戶端系統(tǒng)的數(shù)據(jù)流5圖5是本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng)實施例二的結(jié)構(gòu)方框圖; 圖6是本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng)實施例三的結(jié)構(gòu)方框圖。
具體實施例方式現(xiàn)有的硬件數(shù)字證書載體的PIN碼驗證需要用戶輸入完整的PIN碼,本發(fā)明采用輸入動態(tài)的PIN碼的方式以提高硬件數(shù)字證書載體PIN碼的安全性。參照圖1,本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法實施例一的步驟流程如下
步驟SlO 硬件數(shù)字證書載體接收來自客戶端的服務(wù)請求;
步驟S20 硬件數(shù)字證書載體向客戶端傳送包含有二進制序列的PIN碼輸入信息;
步驟S30 硬件數(shù)字證書載體接收來自客戶端的PIN碼數(shù)據(jù);
步驟S40:硬件數(shù)字證書載體將來自客戶端的PIN碼數(shù)據(jù)與內(nèi)部運算得到的動態(tài)PIN 碼數(shù)據(jù)進行匹配,若匹配則激活硬件數(shù)字證書載體提供服務(wù)響應(yīng)。下面列舉一個實際應(yīng)用的例子,硬件數(shù)字證書載體以USB Key為例,假設(shè)該USB Key 的 PIN 碼為 123321123?,F(xiàn)有技術(shù)的USB Key的PIN碼認證流程如下
A:用戶申請使用USB Key服務(wù)響應(yīng),通過客戶端向USB Key服務(wù)請求; B:USB Key接收服務(wù)請求后,向客戶端返回PIN碼認證請求,客戶端彈出PIN碼認證輸入框;
C:用戶通過客戶端輸入PIN碼123321123 ; D: USB Key為用戶提供服務(wù)響應(yīng)。在本發(fā)明中USB Key的PIN碼認證流程如下
A:用戶申請使用USB Key服務(wù)響應(yīng),通過客戶端向USB Key服務(wù)請求; B:USB Key接收服務(wù)請求后,向客戶端返回PIN碼認證請求,客戶端彈出PIN碼認證輸入框,客戶端同時顯示隨PIN碼認證請求接收的二進制序列,例如提示00ΧΧ0Χ000 (二進制序列由USB Key隨機產(chǎn)生的,理論上每次得到的二進制序列無法預(yù)知,此序列的位數(shù)與USB Key的PIN碼長度相等,0表示其對應(yīng)的PIN碼相同位置的數(shù)字需要輸入,X表示不用輸入); C:用戶通過客戶端輸入PIN碼122123 ;
D: USB Key將用戶輸入的動態(tài)PIN碼與內(nèi)部計算獲得PIN碼進行匹配,若匹配為用戶提供服務(wù)響應(yīng)。作為本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法的進一步改進,所述二進制序列是由硬件數(shù)字證書載體隨機產(chǎn)生的數(shù)據(jù),該二進制序列的位數(shù)與硬件數(shù)字證書載體原始PIN碼的位數(shù)相同。在上述實施例的基礎(chǔ)之上,參照圖2,作為本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法的進一步改進,本發(fā)明動態(tài)密碼驗證方法實施例二在步驟SlO和步驟S20之間還設(shè)有步驟S11,步驟Sll為對對服務(wù)請求的指令完整性進行判斷,若服務(wù)請求的指令完整并需要提升權(quán)限,則硬件數(shù)字證書載體向客戶端傳送包含有二進制序列的PIN碼輸入信肩、ο進一步,所述硬件數(shù)字證書載體隨機產(chǎn)生的二進制序列存儲在緩沖存儲模塊,該緩沖存儲模塊內(nèi)數(shù)據(jù)的存儲時間可以設(shè)置,并且在二進制序列刷新時被新生成的二進制序
列覆蓋。進一步,所述硬件數(shù)字證書載體隨機產(chǎn)生的二進制序列的刷新次數(shù)可以設(shè)置,當(dāng)超過預(yù)定義的刷新次數(shù)后,硬件數(shù)字證書載體將進入鎖定狀態(tài)。例如設(shè)定刷新次數(shù)為3次, 這樣用戶僅有三次輸入動態(tài)PIN碼通過認證的機會,避免了非法入侵者在獲取部分PIN碼的基礎(chǔ)上通過多次刷新進行攻擊。參照圖3,在本發(fā)明基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng)實施例一中,該系統(tǒng)包括
數(shù)據(jù)接收模塊10,用于接收來自客戶端的數(shù)據(jù),包括服務(wù)請求和用戶通過客戶端輸入的PIN碼數(shù)據(jù);
安全服務(wù)模塊20,用于生成包含有二進制序列的PIN碼輸入信息; 數(shù)據(jù)發(fā)送模塊30,用于將包含有二進制序列的PIN碼輸入信息傳送給客戶端; 比較模塊40,用于根據(jù)硬件數(shù)字證書載體的原始PIN碼和二進制序列計算得到動態(tài) PIN碼數(shù)據(jù),并比較計算得到的動態(tài)PIN碼數(shù)據(jù)與來自客戶端的PIN碼數(shù)據(jù),若匹配則激活硬件數(shù)字證書載體提供服務(wù)響應(yīng)。進一步作為優(yōu)選的實施方式,所述二進制序列是由安全服務(wù)模塊隨機產(chǎn)生的數(shù)據(jù),該二進制序列的位數(shù)與硬件數(shù)字證書載體原始PIN碼的位數(shù)相同。參照圖4,在本發(fā)明動態(tài)密碼驗證系統(tǒng)的實際工作中,數(shù)據(jù)的具體流向如下
1、用戶向應(yīng)用程序提交使用硬件數(shù)字證書載體的服務(wù)響應(yīng)的請求;
2、應(yīng)用禾呈序通過操作系統(tǒng)調(diào)用CSP (Cryptographic service provider),艮口 windows 平臺最底層加密接口,通過CSP向硬件數(shù)字證書載體的C0S(Chip Operating System,片上操作系統(tǒng))發(fā)送服務(wù)請求;
3、COS通過指令解析后,將隨機生成的二進制序列和輸入PIN碼請求打包成PIN碼輸入信息,通過CSP傳送給應(yīng)用程序;
4、應(yīng)用程序顯示PIN碼輸入框,并顯示PIN碼“輸入提示”(即0Χ00ΧΧ000此類序列,此時它的表現(xiàn)形式應(yīng)當(dāng)還只是一個二進制數(shù),如101100111);
5、用戶在客戶端根據(jù)PIN碼“輸入提示”輸入動態(tài)PIN碼,應(yīng)用程序經(jīng)CSP將用戶輸入的動態(tài)PIN碼轉(zhuǎn)交給COS。6、COS經(jīng)過對動態(tài)PIN碼的驗證,決定是否為用戶提供服務(wù)響應(yīng)。參照圖5,作為對本發(fā)明動態(tài)密碼驗證系統(tǒng)實施例一的進一步改進,在實施例二中該系統(tǒng)還包括一指令處理模塊50,用于對服務(wù)請求的指令完整性進行判斷,若服務(wù)請求的指令完整并需要提升權(quán)限,則安全服務(wù)模塊20生成包含有二進制序列的PIN碼輸入信肩、ο參照圖6,作為對本發(fā)明動態(tài)驗證系統(tǒng)實施例二的進一步改進,在實施例三中該系統(tǒng)還包括一緩沖存儲模塊60,用于存儲安全服務(wù)模塊20隨機產(chǎn)生的二進制序列,該緩沖存儲模塊60內(nèi)數(shù)據(jù)的存儲時間可以設(shè)置,并且在二進制序列刷新時被新生成的二進制序
列覆蓋。進一步,該系統(tǒng)還包括一刷新計數(shù)模塊70,用于對安全服務(wù)模塊20刷新二進制序列的次數(shù)進行計數(shù),所述二進制序列的刷新次數(shù)可以設(shè)置,當(dāng)超過預(yù)定義的刷新次數(shù)后,硬件數(shù)字證書載體將進入鎖定狀態(tài)。假定在實際應(yīng)用中,預(yù)定義二進制序列的刷新次數(shù)為三次,用戶每刷新一次二進制序列,則緩沖存儲模塊60內(nèi)的二進制序列被安全服務(wù)模塊20新生成的二進制序列覆蓋,同時刷新計數(shù)模塊70的計數(shù)器進行減1操作,當(dāng)用戶在三次內(nèi)未通過動態(tài)PIN碼驗證,則硬件數(shù)字證書載體進入鎖定模式,用戶將無法進行操作,需要將硬件數(shù)字證書載體拔出后重新插入客戶端方能使用。 以上是對本發(fā)明的較佳實施進行了具體說明,但本發(fā)明創(chuàng)造并不限于所述實施例,熟悉本領(lǐng)域的技術(shù)人員在不違背本發(fā)明精神的前提下還可以作出種種的等同變形或替換,這些等同的變形或替換均包含在本申請權(quán)利要求所限定的范圍內(nèi)。
權(quán)利要求
1.一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法,其特征在于,該方法包括以下步驟硬件數(shù)字證書載體接收來自客戶端的服務(wù)請求;硬件數(shù)字證書載體向客戶端傳送包含有二進制序列的PIN碼輸入信息;硬件數(shù)字證書載體接收來自客戶端的PIN碼數(shù)據(jù);硬件數(shù)字證書載體將來自客戶端的PIN碼數(shù)據(jù)與內(nèi)部運算得到的動態(tài)PIN碼數(shù)據(jù)進行匹配,若匹配則激活硬件數(shù)字證書載體提供服務(wù)響應(yīng)。
2.根據(jù)權(quán)利要求1所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法,其特征在于所述二進制序列是由硬件數(shù)字證書載體隨機產(chǎn)生的數(shù)據(jù),該二進制序列的位數(shù)與硬件數(shù)字證書載體原始PIN碼的位數(shù)相同。
3.根據(jù)權(quán)利要求2所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法,其特征在于硬件數(shù)字證書載體接收來自客戶端的服務(wù)請求之后并在向客戶端傳送包含有二進制序列的PIN碼輸入信息之前還包括對服務(wù)請求的指令完整性進行判斷,若服務(wù)請求的指令完整并需要提升權(quán)限,則硬件數(shù)字證書載體向客戶端傳送包含有二進制序列的PIN碼輸入信息。
4.根據(jù)權(quán)利要求3所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法,其特征在于所述硬件數(shù)字證書載體隨機產(chǎn)生的二進制序列存儲在緩沖存儲模塊,該緩沖存儲模塊內(nèi)數(shù)據(jù)的存儲時間可以設(shè)置,并且在二進制序列刷新時被新生成的二進制序列覆蓋。
5.根據(jù)權(quán)利要求4所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法,其特征在于所述硬件數(shù)字證書載體隨機產(chǎn)生的二進制序列的刷新次數(shù)可以設(shè)置,當(dāng)超過預(yù)定義的刷新次數(shù)后,硬件數(shù)字證書載體將進入鎖定狀態(tài)。
6.一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng),其特征在于,該系統(tǒng)包括數(shù)據(jù)接收模塊,用于接收來自客戶端的數(shù)據(jù),包括服務(wù)請求和用戶通過客戶端輸入的 PIN碼數(shù)據(jù);安全服務(wù)模塊,用于生成包含有二進制序列的PIN碼輸入信息; 數(shù)據(jù)發(fā)送模塊,用于將包含有二進制序列的PIN碼輸入信息傳送給客戶端; 比較模塊,用于根據(jù)硬件數(shù)字證書載體的原始PIN碼和二進制序列計算得到動態(tài)PIN 碼數(shù)據(jù),并比較計算得到的動態(tài)PIN碼數(shù)據(jù)與來自客戶端的PIN碼數(shù)據(jù),若匹配則激活硬件數(shù)字證書載體提供服務(wù)響應(yīng)。
7.根據(jù)權(quán)利要求6所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng),其特征在于所述二進制序列是由安全服務(wù)模塊隨機產(chǎn)生的數(shù)據(jù),該二進制序列的位數(shù)與硬件數(shù)字證書載體原始PIN碼的位數(shù)相同。
8.根據(jù)權(quán)利要求7所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng),其特征在于該系統(tǒng)還包括一指令處理模塊,用于對服務(wù)請求的指令完整性進行判斷,若服務(wù)請求的指令完整并需要提升權(quán)限,則安全服務(wù)模塊生成包含有二進制序列的PIN碼輸入信息。
9.根據(jù)權(quán)利要求8所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng),其特征在于還包括一緩沖存儲模塊,用于存儲安全服務(wù)模塊隨機產(chǎn)生的二進制序列,該緩沖存儲模塊內(nèi)數(shù)據(jù)的存儲時間可以設(shè)置,并且在二進制序列刷新時被新生成的二進制序列覆蓋。
10.根據(jù)權(quán)利要求9所述的一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證系統(tǒng),其特征在于還包括一刷新計數(shù)模塊,用于對安全服務(wù)模塊刷新二進制序列的次數(shù)進行計數(shù),所述二進制序列的刷新次數(shù)可以設(shè)置,當(dāng)超過預(yù)定義的刷新次數(shù)后,硬件數(shù)字證書載體將進入鎖定狀態(tài)。
全文摘要
本發(fā)明公開了一種基于硬件數(shù)字證書載體的動態(tài)密碼驗證方法及系統(tǒng),該方法包括硬件數(shù)字證書載體接收來自客戶端的服務(wù)請求;硬件數(shù)字證書載體向客戶端傳送包含有二進制序列的PIN碼輸入信息;硬件數(shù)字證書載體接收來自客戶端的PIN碼數(shù)據(jù);硬件數(shù)字證書載體將來自客戶端的PIN碼數(shù)據(jù)與內(nèi)部運算得到的動態(tài)PIN碼數(shù)據(jù)進行匹配,若匹配則激活硬件數(shù)字證書載體提供服務(wù)響應(yīng)。本發(fā)明在用戶獲取硬件數(shù)字證書載體的使用權(quán)限進行PIN碼認證時,通過與動態(tài)生成的二進制序列結(jié)合,要求用戶輸入動態(tài)的PIN碼,從而使得即使系統(tǒng)被非法入侵時,入侵者也無法獲取完整的PIN碼,提高了硬件數(shù)字證書載體密碼的安全性,保障了用戶的合法利益。
文檔編號H04L29/06GK102571810SQ20121002853
公開日2012年7月11日 申請日期2012年2月9日 優(yōu)先權(quán)日2012年2月9日
發(fā)明者巴鐘杰, 李子柳, 湯庸, 趙淦森 申請人:趙淦森