一種usbkey設(shè)備的數(shù)字簽名方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本申請涉及電子簽名技術(shù)領(lǐng)域,尤其涉及一種USBKEY設(shè)備的數(shù)字簽名方法和系統(tǒng)。
【背景技術(shù)】
[0002]為了保證信息的安全與真實,一些文件需要當事人的簽字或蓋章,以便信息交互的雙方識別該文件的真?zhèn)?。目前,一些紙質(zhì)文件需要手寫簽名來證明其真?zhèn)危鴮τ谝噪娮游募男问奖硎竞蛡鬟f的文件,傳統(tǒng)的手寫簽名和蓋章是無法進行的,需要使用電子簽名技術(shù),當前各國普遍采取的其中一種電子簽名技術(shù)就是數(shù)字簽名技術(shù)。隨著互聯(lián)網(wǎng)和電子通信技術(shù)的發(fā)展以及USBKEY技術(shù)的產(chǎn)生和不斷優(yōu)化,用于存儲私密信息的USBKEY逐漸成為數(shù)字證書和數(shù)字簽名的一種載體。目前,在信息交互過程中,USBKEY通過連接至客戶端來完成數(shù)字簽名的整個過程。圖1示出了現(xiàn)有技術(shù)中客戶端和USBKEY之間執(zhí)行的數(shù)字簽名過程。首先,客戶端向USBKEY下發(fā)數(shù)字簽名指令,等待用戶對USBKEY的操作從而獲得應答結(jié)果,用戶可通過按下確認或取消按鈕對上述數(shù)字簽名指令進行應答,如果按下確認鍵,則USBKEY應答進行簽名后的結(jié)果,如果按下取消鍵,則USBKEY應答用戶取消簽名這一結(jié)果,如果客戶端等待超時,則發(fā)送復位指令至USBKEY,簽名失敗。然而,現(xiàn)有技術(shù)并沒有考慮USBKEY與客戶端時鐘不一致而導致出現(xiàn)的問題,例如客戶端仍然顯示有剩余時間,但USBKEY設(shè)備卻認為已經(jīng)超時,這時用戶即使按下確認或取消鍵也不會出現(xiàn)應該有的反應,用戶體驗較差。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本申請?zhí)峁┮环NUSBKEY設(shè)備的數(shù)字簽名方法和系統(tǒng),以克服現(xiàn)有技術(shù)中存在的上述問題。
[0004]根據(jù)本發(fā)明的一個方面,提出了一種USBKEY設(shè)備的數(shù)字簽名方法,所述方法包括:步驟一,客戶端將簽名指令發(fā)送至USBKEY設(shè)備;步驟二,USBKEY設(shè)備首次接收到簽名指令后,啟動屏幕顯示,并將記錄的按鍵狀態(tài)設(shè)置為空;步驟三,在剩余時間不為零且未執(zhí)行簽名或取消簽名動作的情況下:USBKEY設(shè)備持續(xù)接收用戶按鍵的觸發(fā)信號,當用戶按鍵時,將USBKEY設(shè)備中的存儲器中的按鍵狀態(tài)更新為確認鍵或取消鍵,以及在接收到簽名指令后,判斷記錄的按鍵狀態(tài),在按鍵記錄狀態(tài)為空的情況下,向客戶端發(fā)送按鍵的剩余時間,在按鍵記錄狀態(tài)為確認鍵或取消鍵的情況下,執(zhí)行簽名或取消簽名動作,并向客戶端發(fā)送簽名結(jié)果或取消簽名;步驟四,客戶端當接收到簽名結(jié)果或取消簽名時,流程結(jié)束;當收到剩余時間時,判斷是否為零,若不為零,再次發(fā)送簽名指令至USBKEY設(shè)備,若為零則流程結(jié)束。
[0005]根據(jù)本發(fā)明的一個方面,在所述步驟一之前,還包括客戶端與USBKEY設(shè)備之間的身份驗證過程,所述身份驗證過程包括:客戶端將要簽名的數(shù)據(jù)發(fā)送至USBKEY設(shè)備;USBKEY設(shè)備對接收到的要簽名的數(shù)據(jù)進行解析,如果出錯則置位標志位;客戶端發(fā)送執(zhí)行校驗用戶身份的指令至USBKEY設(shè)備;USBKEY設(shè)備對用戶身份進行校驗,如果失敗,流程結(jié)束,否則認為具有簽名使用權(quán),進行所述步驟一。
[0006]根據(jù)本發(fā)明的一個方面,在所述步驟二中,在USBKEY首次接收到簽名指令并啟動屏幕顯示后,如果所述標志位表示解析出錯,則在屏幕上顯示數(shù)據(jù)錯誤信息,并結(jié)束流程;否則在屏幕上顯示與簽名數(shù)據(jù)相關(guān)的信息以提示用戶進一步操作。
[0007]根據(jù)本發(fā)明的一個方面,所述USBKEY設(shè)備對用戶身份進行校驗,包括:USBKEY設(shè)備接收用戶輸入的密碼或采集的生物識別信息;USBKEY設(shè)備將密碼或生物識別信息發(fā)送至客戶端;客戶端通過比較預存的密碼或生物識別信息與接收到的密碼或生物識別信息,判斷用戶是否具有簽名使用權(quán)。
[0008]根據(jù)本發(fā)明的一個方面,所述USBKEY設(shè)備對用戶身份進行校驗,包括:USBKEY設(shè)備本身預先存儲密碼或生物識別信息;USBKEY設(shè)備接收用戶輸入的密碼或采集的生物識別信息;USBKEY設(shè)備將預存的密碼或生物識別信息與用戶輸入的密碼或生物識別信息進行比較,從而判斷用戶是否具有簽名使用權(quán)。
[0009]根據(jù)本發(fā)明的一個方面,在用戶按下確認鍵或取消鍵之前,所述簽名指令被作為時鐘同步指令進行操作,在用戶按下確認鍵或取消鍵之后,所述簽名指令被作為指示用戶進行簽名的指令進行操作。
[0010]本發(fā)明還提出了一種數(shù)字簽名系統(tǒng),所述系統(tǒng)包括客戶端和USBKEY設(shè)備;客戶端用于:將簽名指令發(fā)送至USBKEY設(shè)備;并在接收到USBKEY設(shè)備發(fā)送的簽名結(jié)果或取消簽名時,結(jié)束簽名流程,而當接收到剩余時間時,判斷是否為零,若不為零,再次發(fā)送簽名指令至USBKEY設(shè)備,若為零則結(jié)束簽名流程;USBKEY設(shè)備用于:首次接收到簽名指令后,啟動屏幕顯示,并將記錄的按鍵狀態(tài)設(shè)置為空;以及在剩余時間不為零且未執(zhí)行簽名或取消簽名動作的情況下:持續(xù)接收用戶按鍵的觸發(fā)信號,當用戶按鍵時,將USBKEY設(shè)備的存儲器中的按鍵狀態(tài)更新為確認鍵或取消鍵,以及在接收到簽名指令后,判斷記錄的按鍵狀態(tài),在按鍵記錄狀態(tài)為空的情況下,向客戶端發(fā)送按鍵的剩余時間,在按鍵記錄狀態(tài)為確認鍵或取消鍵的情況下,執(zhí)行簽名或取消簽名動作,并向客戶端發(fā)送簽名結(jié)果或取消簽名。
[0011]根據(jù)本發(fā)明的一個方面,所述客戶端還用于:在數(shù)字簽名之前將要簽名的數(shù)據(jù)發(fā)送至USBKEY設(shè)備;以及發(fā)送執(zhí)行校驗用戶身份的指令至USBKEY設(shè)備;所述USBKEY設(shè)備用于:對接收到的要簽名的數(shù)據(jù)進行解析,如果出錯則置位標志位;以及對用戶身份進行校驗,如果失敗,則認為用戶沒有簽名使用權(quán),否則認為具有簽名使用權(quán),可以進行數(shù)字簽名。
[0012]根據(jù)本發(fā)明的一個方面,所述USBKEY設(shè)備用于:首次接收到簽名指令并啟動屏幕顯示后,如果所述標志位表示解析出錯,則在屏幕上顯示數(shù)據(jù)錯誤信息;否則在屏幕上顯示與簽名數(shù)據(jù)相關(guān)的信息以提示用戶進一步操作。
[0013]根據(jù)本發(fā)明的一個方面,對用戶身份進行校驗,包括:USBKEY設(shè)備接收用戶輸入的密碼或采集的生物識別信息;USBKEY設(shè)備將密碼或生物識別信息發(fā)送至客戶端;客戶端通過比較預存的密碼或生物識別信息與接收到的密碼或生物識別信息,判斷用戶是否具有簽名使用權(quán)。
[0014]根據(jù)本發(fā)明的一個方面,對用戶身份進行校驗,包括:USBKEY設(shè)備本身預先存儲密碼或生物識別信息;USBKEY設(shè)備接收用戶輸入的密碼或采集的生物識別信息;USBKEY設(shè)備將預存的密碼或生物識別信息與用戶輸入的密碼或生物識別信息進行比較,從而判斷用戶是否具有簽名使用權(quán)。
[0015]由以上技術(shù)方案可見,本申請的客戶端通過循環(huán)發(fā)送簽名指令并當用戶未按下按鍵時從USBKEY獲得當前按鍵的剩余時間,而如果用戶按鍵,則通過存儲器記錄用戶按鍵的最新狀態(tài)并在接收到客戶端下次發(fā)送的簽名指令時USBKEY執(zhí)行簽名或取消簽名,循環(huán)發(fā)送的簽名指令實際具有兩個用途,從而減少了計算和存儲負荷,并在減少了時間和空間復雜度的情況下,避免了由于客戶端和USBKEY時鐘不一致導致的用戶即使點選了按鍵也無法得到應有的響應這一技術(shù)問題,提升了用戶體驗。
【附圖說明】
[0016]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其他的附圖。
[0017]圖1是現(xiàn)有技術(shù)中客戶端與USBKEY之間數(shù)字簽名的交互過程示意圖;
[0018]圖2是根據(jù)本發(fā)明一個實施例的客戶端與USBKEY之間驗證和簽名過程的整體流程圖;
[0019]圖3是根據(jù)本發(fā)明一個實施例的客戶端與USBKEY之間數(shù)字簽名過程的整體流程圖;
[0020]圖4是根據(jù)本發(fā)明一個實施例的啟動數(shù)字簽名過程后USBKEY與客戶端之間的交互流程圖;
[0021]圖5是根據(jù)本發(fā)明一個實施例的表示客戶端與USBKEY之間交互的時序圖。
【具體實施方式】
[0022]為了使本領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合多個說明書附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├绢I(lǐng)域普通技術(shù)人員所獲得的所有其他實施例,都應當屬于本申請保護的范圍。
[0023]下面結(jié)合本申請附圖進一步說明本申請的具體實現(xiàn)。
[0024]下面首先參見圖2,對客戶端與USBKEY之間驗證和簽名的整體流程進行介紹。
[0025]步驟201,客戶端將要簽名的數(shù)據(jù)發(fā)送至USBKEY設(shè)備;
[0026]步驟202,USBKEY設(shè)備對接收到的要簽名的數(shù)據(jù)進行解析,如果出錯則置位標志位;
[0027]步驟203,客戶端發(fā)送執(zhí)行校驗用戶身份的指令至USBKEY設(shè)備;
[0028]步驟204,USBKEY設(shè)備