新四季網

一種安全設備的解鎖方法和系統的製作方法

2023-12-08 19:44:11

一種安全設備的解鎖方法和系統的製作方法
【專利摘要】本發明公開一種安全設備的解鎖方法和系統,認證伺服器根據安全設備生成的動態口令生成解鎖碼,並通過主機將解鎖碼發送給安全設備;安全設備對接收到的解鎖碼進行校驗,並在校驗通過後執行解鎖操作,能夠有效避免解鎖碼在傳輸過程中被篡改或假冒而引起的安全風險,且不需要用戶手動輸入解鎖碼,提高了使用的方便性,同時解決了由於用戶輸入出錯而導致解鎖失敗的問題,提高了解鎖的成功率以及解鎖的安全性。此外,由於認證伺服器生成的解鎖碼與時間無關,解決了現有技術中由於安全設備和認證伺服器之間時間不同步而造成的解鎖失敗問題,進一步提高了解鎖成功率。
【專利說明】一種安全設備的解鎖方法和系統
【技術領域】
[0001]本發明涉及信息安全【技術領域】,特別涉及一種安全設備的解鎖方法和系統。
【背景技術】
[0002]安全設備是一種用於生成動態口令的設備,廣泛應用於網銀、電信運營商和電子政務等應用領域。安全設備所生成的動態口令可用於身份認證,能夠有效提高身份認證的安全性。安全設備開機後,會提示用戶輸入開機口令,如果用戶輸入開機口令的錯誤次數超過預設次數,安全設備會被鎖定,需要使用認證伺服器生成的解鎖碼進行解鎖。
[0003]現有技術中,認證伺服器通常根據系統時間生成解鎖碼,用戶將該解鎖碼輸入到安全設備中,安全設備根據用戶輸入的解鎖碼進行解鎖操作。
[0004]發明人在實現本發明的過程中,發現現有技術至少存在以下缺陷:
[0005]現有技術通過非聯機的方式對安全設備進行解鎖,需要由用戶手工輸入解鎖碼,當用戶手工輸入出錯時,也會造成解鎖失敗,導致解鎖成功率低,安全性差。

【發明內容】

[0006]本發明提供了一種安全設備的解鎖方法和系統,以解決現有技術中解鎖成功率低以及安全性差的缺陷。
[0007]本發明提供了一種安全設備的解鎖方法,應用於包括安全設備、主機和認證伺服器的系統中,所述安全設備包括智能密鑰模塊和動態令牌模塊,所述方法包括以下步驟:
[0008]S1、所述智能密鑰模塊與所述主機建立連接;
[0009]S2、所述智能密鑰模塊等待接收來自所述主機的指令;
[0010]S3、所述智能密鑰模塊對接收到的指令進行判斷,如果是驗PIN指令,則執行步驟S4 ;如果是解鎖初始化指令,則執行步驟S6 ;如果是解鎖指令,則執行步驟SlO ;
[0011]S4、所述智能密鑰模塊從所述驗PIN指令中獲取身份信息,對所述身份信息進行驗證,如果驗證通過,則執行步驟S5 ;否則,向所述主機發送錯誤信息,並返回步驟S2 ;
[0012]S5、所述智能密鑰模塊將驗PIN標識置位,並返回步驟S2 ;
[0013]S6、所述智能密鑰模塊判斷所述驗PIN標識是否置位,如果是,則執行步驟S7 ;否則,向所述主機發送錯誤信息,並返回步驟S2 ;
[0014]S7、所述智能密鑰模塊將所述解鎖初始化指令發送給所述動態令牌模塊;
[0015]S8、所述動態令牌模塊生成隨機數,根據所述隨機數和自身保存的種子密鑰生成動態口令,保存所述隨機數和所述動態口令,將初始化標識置位,並將所述隨機數和所述動態口令發送給所述智能密鑰模塊;
[0016]S9、所述智能密鑰模塊將所述隨機數、所述動態口令和所述安全設備的序列號發送給所述主機,並返回步驟S2 ;
[0017]S10、所述智能密鑰模塊將所述解鎖指令發送給所述動態令牌模塊;
[0018]S11、所述動態令牌模塊判斷所述初始化標識是否置位,如果是,則執行步驟S12 ;否則,所述動態令牌模塊向所述智能密鑰模塊發送錯誤信息,所述智能密鑰模塊向所述主機發送錯誤信息,並返回步驟S2 ;
[0019]S12、所述動態令牌模塊從所述解鎖指令中獲取解鎖碼,根據自身保存的隨機數和動態口令,對獲取到的解鎖碼進行校驗,如果校驗通過,則執行步驟S13 ;否則,所述動態令牌模塊向所述智能密鑰模塊發送錯誤信息,所述智能密鑰模塊向所述主機發送錯誤信息,並返回步驟S2;
[0020]S13、所述動態令牌模塊設置開機口令,將自身的狀態信息更新為解鎖狀態,向所述智能密鑰模塊發送解鎖成功信息;
[0021]S14、所述智能密鑰模塊向所述主機發送解鎖成功信息,並返回步驟S2 ;
[0022]其中,所述智能密鑰模塊與所述主機斷開連接之後,還包括:
[0023]所述智能密鑰模塊將所述驗PIN標識復位,所述動態令牌模塊將所述初始化標識復位。
[0024]本發明還提供了一種安全設備的解鎖系統,包括安全設備、主機和認證伺服器,所述安全設備包括智能密鑰模塊和動態令牌模塊,其中,所述智能密鑰模塊包括:
[0025]連接子模塊,用於與所述主機建立連接;
[0026]第一接收子模塊,用於接收來自所述主機的指令;接收來自所述動態令牌模塊的隨機數、動態口令、錯誤信息和解鎖成功消息;
[0027]第一判斷子模塊,用於對所述第一接收子模塊接收到的指令進行判斷;
[0028]驗證子模塊,用於在所述第一判斷子模塊判斷出接收到的指令為驗PIN指令時,從所述驗PIN指令中獲取身份信息,對所述身份信息進行驗證;
[0029]置位子模塊,用於在所述驗證子模塊對所述身份信息驗證通過時,將驗PIN標識置位;
[0030]第二判斷子模塊,用於在所述第一判斷子模塊判斷出接收到的指令為解鎖初始化指令時,判斷所述驗PIN標識是否置位;
[0031]第一發送子模塊,用於在所述第二判斷子模塊判斷所述驗PIN標識置位時,將所述解鎖初始化指令發送給所述動態令牌模塊;將所述第一接收子模塊接收到的所述隨機數、所述動態口令和所述安全設備的序列號發送給所述主機;在所述第一判斷子模塊判斷出接收到的指令為解鎖指令時,將所述解鎖指令發送給所述動態令牌模塊;在所述第一接收子模塊接收到來自所述動態令牌模塊的解鎖成功消息時,向所述主機發送解鎖成功消息;在所述驗證子模塊對所述身份信息驗證未通過時,向所述主機發送錯誤信息;在所述第二判斷子模塊判斷所述驗PIN標識未置位時,向所述主機發送錯誤信息;在所述第一接收子模塊接收到來自所述動態令牌模塊的錯誤信息時,向所述主機發送錯誤信息;
[0032]第一復位子模塊,用於在所述智能密鑰模塊與所述主機斷開連接後,將所述驗PIN標識復位;
[0033]所述動態令牌模塊包括:
[0034]第二接收子模塊,用於接收來自所述智能密鑰模塊的所述解鎖初始化指令和解鎖指令;
[0035]生成子模塊,用於在所述第二接收子模塊接收到所述解鎖初始化指令後,生成隨機數,根據所述隨機數和自身保存的種子密鑰生成動態口令,保存所述隨機數和所述動態口令,將初始化標識置位;
[0036]第三判斷子模塊,用於在所述第二接收子模塊接收到所述解鎖指令後,判斷所述初始化標識是否置位;
[0037]校驗子模塊,用於在所述第三判斷子模塊判斷出所述初始化標識置位時,從所述解鎖指令中獲取解鎖碼,根據所述動態令牌模塊保存的隨機數和動態口令,對獲取到的解鎖碼進行校驗;
[0038]設置子模塊,用於在所述校驗子模塊對所述獲取到的解鎖碼校驗通過後,開機口令,將自身的狀態信息更新為解鎖狀態,向所述智能密鑰模塊發送解鎖成功信息;
[0039]第二發送子模塊,用於將所述生成子模塊生成的所述隨機數和所述動態口令發送給所述智能密鑰模塊;在所述第三判斷子模塊判斷出所述初始化標識未置位時,向所述智能密鑰模塊發送錯誤信息;在所述校驗子模塊對所述獲取到的解鎖碼校驗未通過後,向所述智能密鑰模塊發送錯誤信息;
[0040]第二復位子模塊,用於在所述智能密鑰模塊與所述主機斷開連接後,將所述初始化標識復位。
[0041]本發明提供的技術方案中,認證伺服器根據安全設備生成的動態口令生成解鎖碼,並通過主機將解鎖碼發送給安全設備;安全設備對接收到的解鎖碼進行校驗,並在校驗通過後執行解鎖操作,能夠有效避免解鎖碼在傳輸過程中被篡改或假冒而引起的安全風險,且不需要用戶手動輸入解鎖碼,提高了使用的方便性,同時解決了由於用戶輸入出錯而導致解鎖失敗的問題,提高了解鎖的成功率以及解鎖的安全性。此外,由於認證伺服器生成的解鎖碼與時間無關,解決了現有技術中由於安全設備和認證伺服器之間時間不同步而造成的解鎖失敗問題,進一步提高了解鎖成功率。
【專利附圖】

【附圖說明】
[0042]圖1為本發明實施例中的安全設備的解鎖系統的結構示意圖;
[0043]圖2為本發明實施例中的安全設備的解鎖方法流程圖;
[0044]圖3為本發明實施例中的主機和認證伺服器的工作流程圖;
[0045]圖4為本發明實施例中的安全設備的結構示意圖;
[0046]圖5為本發明實施例中的主機的結構示意圖;
[0047]圖6為本發明實施例中的認證伺服器的結構示意圖。
【具體實施方式】
[0048]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0049]如圖1所示,本發明實施例中的安全設備的解鎖方法應用於包括安全設備、主機和認證伺服器的系統中,安全設備包括智能密鑰模塊和動態令牌模塊,安全設備與主機相連接,連接方式可以是有線連接,例如,USB連接和串口連接等;也可以是無線連接,例如,藍牙、WIFI和NFC等方式。安全設備被鎖定後,用戶可使用帳號和密碼登錄主機中的客戶端,並通過客戶端觸發解鎖操作。
[0050]如圖2所示,為本發明實施例中的一種安全設備的解鎖方法流程圖,包括以下步驟:
[0051]步驟201,智能密鑰模塊與主機建立連接。
[0052]步驟202,智能密鑰模塊等待接收來自主機的指令。
[0053]步驟203,智能密鑰模塊對接收到的指令進行判斷,如果是驗PIN指令,則執行步驟204 ;如果是狀態查詢指令,則執行步驟206 ;如果是解鎖初始化指令,則執行步驟210 ;如果是解鎖指令,則執行步驟217。
[0054]步驟204,智能密鑰模塊從驗PIN指令中獲取身份信息,對身份信息進行驗證,如果驗證通過,則執行步驟205 ;否則,向主機發送錯誤信息,並返回步驟202。
[0055]需要說明的是,智能密鑰模塊向主機發送錯誤信息後,主機和安全設備顯示解鎖失敗信息,例如 「EKEYERR_OTP_UNLOCKFAILED」。
[0056]步驟205,智能密鑰模塊將驗PIN標識置位,並返回步驟202。
[0057]步驟206,智能密鑰模塊判斷驗PIN標識是否置位,如果是,則執行步驟207 ;否則,向主機發送錯誤信息,並返回步驟202。
[0058]需要說明的是,智能密鑰模塊向主機發送錯誤信息後,主機和安全設備顯示解鎖失敗信息,例如 「EKEYERR_OTP_UNLOCKFAILED」。
[0059]步驟207,智能密鑰模塊將狀態查詢指令發送給動態令牌模塊。
[0060]步驟208,動態令牌模塊查詢自身的狀態信息,將查詢到的狀態信息發送給智能密鑰模塊。
[0061]步驟209,智能密鑰模塊將狀態信息發送給主機,並返回步驟202。
[0062]步驟210,智能密鑰模塊判斷驗PIN標識是否置位,如果是,則執行步驟211 ;否則,向主機發送錯誤信息,並返回步驟202。
[0063]需要說明的是,智能密鑰模塊向主機發送錯誤信息後,主機和安全設備顯示解鎖失敗信息,例如 「EKEYERR_OTP_UNLOCKFAILED」。
[0064]步驟211,智能密鑰模塊將解鎖初始化指令發送給動態令牌模塊。
[0065]其中,解鎖初始化指令中可以包含隨機數長度和動態口令長度。
[0066]例如,解鎖初始化指令中包含隨機數長度「4」和動態口令長度「8」。
[0067]步驟212,動態令牌模塊對初始化次數進行更新。
[0068]具體地,動態令牌模塊可以將初始化次數的取值與預設步長相加,將得到的結果作為更新後的初始化次數;也可以將初始化次數的取值減去預設步長,將得到的結果作為更新後的初始化次數。
[0069]例如,初始化次數為零,預設步長為I時,動態令牌模塊將初始化次數加1,將初始化次數更新為I。
[0070]本實施例中,初始化次數用於記錄動態令牌模塊被觸發進行初始化的次數,即,接收到解鎖初始化指令的次數。當智能密鑰模塊與主機斷開連接後,動態令牌模塊將初始化次數設置為第一預設值,例如,將初始化次數設置為零。
[0071]步驟213,動態令牌模塊判斷初始化次數是否等於預設閾值,如果是,則動態令牌模塊通過智能密鑰模塊向主機返回錯誤信息,並返回步驟202 ;否則,執行步驟214。[0072]例如,初始化次數為1,預設閾值為3時,動態令牌模塊判斷出初始化次數不等於預設閾值。
[0073]需要說明的是,智能密鑰模塊向主機發送錯誤信息後,主機和安全設備顯示解鎖失敗信息,例如 「EKEYERR_OTP_UNLOCKFAILED」。
[0074]步驟214,動態令牌模塊生成隨機數,根據隨機數和自身保存的種子密鑰生成動態口令,保存隨機數和動態口令,將初始化標識置位。
[0075]具體地,動態令牌模塊可以根據解鎖初始化指令中包含的隨機數長度,生成相應長度的隨機數,將該隨機數作為挑戰值,將上述隨機數、第二預設值以及自身保存的種子密鑰組合成第一消息,並對第一消息進行散列處理,將處理得到的散列值作為動態口令,並保存上述隨機數和動態口令,對初始化標識進行置位。
[0076]其中,隨機數和動態口令可以為可見的ASCII碼數字,初始化標識用於記錄解鎖初始化是否成功。當智能密鑰模塊斷開與主機的連接後,動態令牌模塊可以對初始化標識進行復位。初始化標識置位,表示解鎖初始化成功;初始化標識復位,表示解鎖初始化失敗。
[0077]例如,第二預設值為16進位的8位元組全O的數據,S卩,「0x0000000000000000」時,動態令牌模塊生成隨機數「 1234」,將該隨機數「 1234」作為挑戰值,將第二預設值「0x0000000000000000」作為動態因子,將隨機數「1234」、第二預設值「0x0000000000000000」和自身保存的種子密鑰組合成第一消息,並對第一消息進行散列處理,將得到的處理結果「41929019」作為動態口令進行保存,並對初始化標識進行置位。
[0078]步驟215,動態令牌模塊將隨機數和動態口令發送給智能密鑰模塊。
[0079]例如,動態令牌模塊將隨機數「 1234」和動態口令「41929019」發送給智能密鑰模塊。
[0080]步驟216,智能密鑰模塊將隨機數、動態口令和安全設備的序列號發送給主機,並返回步驟202。
[0081]例如,智能密鑰模塊將隨機數「1234」、動態口令「41929019」和安全設備的序列號「54561」發送給主機。
[0082]步驟217,智能密鑰模塊將解鎖指令發送給動態令牌模塊。
[0083]步驟218,動態令牌模塊判斷初始化標識是否置位,如果是,則執行步驟219 ;否則,動態令牌模塊向智能密鑰模塊發送錯誤信息,智能密鑰模塊向主機發送錯誤信息,並返回步驟202。
[0084]需要說明的是,智能密鑰模塊向主機發送錯誤信息後,主機和安全設備顯示解鎖失敗信息,例如 「EKEYERR_OTP_UNLOCKFAILED」。
[0085]步驟219,動態令牌模塊從解鎖指令中獲取解鎖碼,根據自身保存的隨機數和動態口令,對獲取到的解鎖碼進行校驗,如果校驗通過,則執行步驟220 ;如果校驗未通過,則動態令牌模塊向智能密鑰模塊發送錯誤信息,智能密鑰模塊向主機發送錯誤信息,並返回步驟 202。
[0086]具體地,動態令牌模塊可以對自身保存的動態口令的長度進行判斷,如果保存的動態口令的長度為預設長度,則將保存的隨機數、保存的動態口令以及保存的種子密鑰組合成第六消息,並對第六消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;
[0087]如果保存的動態口令的長度大於預設長度,則從保存的動態口令中截取長度為預設長度的數據,將保存的隨機數、截取得到的數據以及保存的種子密鑰組合成第七消息,並對第七消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;
[0088]如果保存的動態口令的長度小於預設長度,則在保存的動態口令的高位端或低位端補零,將保存的隨機數、補零得到的數據以及保存的種子密鑰組合成第八消息,並對第八消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;其中,預設長度為第二預設值的長度。
[0089]例如,動態令牌模塊保存的隨機數為「 1234 」,保存的動態口令為「 41929019 」,獲取到的解鎖碼為「95046765」,預設長度為8位元組時,動態令牌模塊對保存的動態口令「41929019」進行高位補零,得到8位元組的16進位數據「0x0000000041929019」,將補零得到的數據「0x0000000041929019」作為動態因子,將保存的隨機數「 1234」、補零得到的數據「0x0000000041929019」以及保存的種子密鑰組合成第八消息,並對第八消息進行散列處理,將處理得到的散列值「95046765」作為生成的解鎖碼,判斷出該解鎖碼與從解鎖指令中獲取到的解鎖碼相同,確定校驗通過。
[0090]需要說明的是,智能密鑰模塊向主機發送錯誤信息後,主機和安全設備顯示解鎖失敗信息,例如 「EKEYERR_OTP_UNLOCKFAILED」。
[0091]步驟220,動態令牌模塊設置開機口令,將自身的狀態信息更新為解鎖狀態,向智能密鑰模塊發送解鎖成功信息。
[0092]具體地,動態令牌模塊可以獲取並保存用戶輸入的開機口令,將自身的狀態信息更新為解鎖狀態,向智能密鑰模塊發送解鎖成功信息;也可以將開機指令設置為預設數據,將自身的狀態信息更新為解鎖狀態,向智能密鑰模塊發送解鎖成功信息;還可以通過智能密鑰模塊接收來自主機的口令設置指令,將口令設置指令中的數據設置為開機口令。
[0093]本實施例中,動態令牌模塊可以向智能密鑰模塊發送校驗通過響應,智能密鑰模塊向主機發送校驗通過響應;主機獲取用戶輸入的開機口令,將開機口令發送給智能密鑰模塊;智能密鑰模塊將開機口令發送給動態令牌模塊,動態令牌模塊保存該開機口令將自身的狀態信息更新為解鎖狀態,向智能密鑰模塊發送解鎖成功信息。
[0094]步驟221,智能密鑰模塊向主機發送解鎖成功信息,並返回步驟202。
[0095]需要說明的是,智能密鑰模塊向主機發送解鎖成功信息後,主機和安全設備顯示解鎖成功信息,例如,「EKEYERR_0TP_UNL0CKED」。
[0096]另外,在本發明的其他實施方式中,動態令牌模塊接收到解鎖初始化指令之後,還可以判斷初始化次數是否等於預設閾值,如果是,則通過智能密鑰模塊向主機返回錯誤信息;否則,對初始化次數進行更新,並執行步驟214,同樣可以實現本發明的發明目的。
[0097]此外,智能密鑰模塊將隨機數、動態口令和安全設備的序列號發送給主機之後,主機和認證伺服器的工作流程,如圖3所示,包括以下步驟:
[0098]步驟301,主機將隨機數、動態口令和安全設備的序列號發送給認證伺服器。
[0099]例如,主機將隨機數「1234」、動態口令「41929019」和安全設備的序列號「54561」發送給認證伺服器。
[0100]步驟302,認證伺服器根據序列號檢索與安全設備對應的種子密鑰,根據檢索到的種子密鑰對接收到的隨機數和接收到的動態口令進行校驗,如果校驗通過,則執行步驟305 ;如果校驗未通過,則執行步驟303。
[0101]具體地,認證伺服器可以根據安全設備的序列號,檢索與該序列號對應的種子密鑰,將接收到的隨機數作為挑戰值,將第二預設值作為動態因子,將隨機數、第二預設值以及檢索到的種子密鑰組合成第二消息,並對第二消息進行散列處理,將處理得到的散列值作為生成的動態口令,並判斷生成的動態口令與接收到的動態口令是否相同,如果相同,則確定接收到的隨機數和動態口令校驗通過;否則,確定接收到的隨機數和動態口令校驗未通過。
[0102]例如,第二預設值為16進位的8位元組全O的數據,即,「0x0000000000000000」時,
認證伺服器根據接收到的安全設備的序列號「54561」,檢索對應的種子密鑰,將接收到的隨機數「 1234」作為挑戰值,將第二預設值「0x0000000000000000」作為動態因子,將隨機數「1234」、第二預設值「0x0000000000000000」和檢索到的種子密鑰組合成第二消息,並對第二消息進行散列處理,將處理得到的散列值「41929019」作為生成的動態口令,並判斷出該動態口令與接收到的動態口令「41929019」相同,進而確定接收到的隨機數和動態口令校驗通過。
[0103]步驟303,認證伺服器向主機返回錯誤碼。
[0104]步驟304,主機向智能密鑰模塊返回錯誤碼,安全設備和主機顯示解鎖失敗信息。
[0105]步驟305,認證伺服器根據接收到的隨機數和接收到的動態口令,生成解鎖碼,並將該解鎖碼發送給主機。
[0106]具體地,認證伺服器可以對接收到的動態口令的長度進行判斷,如果接收到的動態口令的長度為預設長度,則將接收到的動態口令作為動態因子,將接收到的隨機數、動態口令以及根據安全設備的序列號檢索到的種子密鑰組合成第三消息,並對第三消息進行散列處理,將處理得到的散列值作為解鎖碼;如果接收到的動態口令的長度大於預設長度,則從該動態口令中截取長度為預設長度的數據,將截取得到的數據作為動態因子,將接收到的隨機數、截取得到的數據以及根據安全設備的序列號檢索到的種子密鑰組合成第四消息,並對第四消息進行散列處理,將處理得到的散列值作為解鎖碼;如果接收到的動態口令的長度小於預設長度,則在該動態口令的高位端或低位端補零,將補零得到的、長度為預設長度的數據作為動態因子,將接收到的隨機數、補零得到的數據以及根據安全設備的序列號檢索到的種子密鑰組合成第五消息,並對第五消息進行散列處理,將處理得到的散列值作為解鎖碼。其中,預設長度為第二預設值的長度。
[0107]例如,當認證伺服器接收到的隨機數為「1234」,動態口令為「41929019」,預設長度為8位元組時,認證伺服器對接收到的動態口令「41929019」進行高位補零,得到8位元組的16進位數據「0x0000000041929019」,將補零得到的數據「0x0000000041929019」作為動態因子,將接收到的隨機數「1234」、補零得到的數據「0x0000000041929019」以及根據安全設備的序列號檢索到的種子密鑰組合成第五消息,並對第五消息進行散列處理,將處理得到的散列值「95046765」作為解鎖碼,並將解鎖碼「95046765」發送給主機。
[0108]步驟306,主機根據解鎖碼生成解鎖指令,將解鎖指令發送給智能密鑰模塊。[0109]本發明實施例中,認證伺服器根據安全設備生成的動態口令生成解鎖碼,並通過主機將解鎖碼發送給安全設備;安全設備對接收到的解鎖碼進行校驗,並在校驗通過後執行解鎖操作,能夠有效避免解鎖碼在傳輸過程中被篡改或假冒而引起的安全風險,且不需要用戶手動輸入解鎖碼,提高了使用的方便性,同時解決了由於用戶輸入出錯而導致解鎖失敗的問題,提高了解鎖的成功率以及解鎖的安全性。此外,由於認證伺服器生成的解鎖碼與時間無關,解決了現有技術中由於安全設備和認證伺服器之間時間不同步而造成的解鎖失敗問題,進一步提高了解鎖成功率。
[0110]本發明實施例還提供了一種安全設備的解鎖系統,包括安全設備、主機和認證伺服器,如圖4所示,安全設備包括智能密鑰模塊410和動態令牌模塊450,其中,智能密鑰模塊410包括:
[0111]連接子模塊411,用於與主機建立連接;
[0112]第一接收子模塊412,用於接收來自主機的指令;接收來自動態令牌模塊450的隨機數、動態口令、錯誤信息和解鎖成功消息;
[0113]第一判斷子模塊413,用於對第一接收子模塊412接收到的指令進行判斷;
[0114]驗證子模塊414,用於在第一判斷子模塊413判斷出接收到的指令為驗PIN指令時,從驗PIN指令中獲取身份信息,對身份信息進行驗證;
[0115]置位子模塊415,用於在驗證子模塊414對身份信息驗證通過時,將驗PIN標識置位;
[0116]第二判斷子模塊416,用於在第一判斷子模塊413判斷出接收到的指令為解鎖初始化指令時,判斷驗PIN標識是否置位;
[0117]第一發送子模塊417,用於在第二判斷子模塊416判斷驗PIN標識置位時,將解鎖初始化指令發送給動態令牌模塊450 ;將第一接收子模塊412接收到的隨機數、動態口令和安全設備的序列號發送給主機;在第一判斷子模塊413判斷出接收到的指令為解鎖指令時,將解鎖指令發送給動態令牌模塊450 ;在第一接收子模塊412接收到來自動態令牌模塊450的解鎖成功消息時,向主機發送解鎖成功消息;在驗證子模塊414對身份信息驗證未通過時,向主機發送錯誤信息;在第二判斷子模塊416判斷驗PIN標識未置位時,向主機發送錯誤信息;在第一接收子模塊412接收到來自動態令牌模塊450的錯誤信息時,向主機發送錯誤信息;
[0118]第一復位子模塊418,用於在智能密鑰模塊410與主機斷開連接後,將驗PIN標識復位;
[0119]動態令牌模塊450包括:
[0120]第二接收子模塊451,用於接收來自智能密鑰模塊410的解鎖初始化指令和解鎖指令;
[0121]生成子模塊452,用於在第二接收子模塊451接收到解鎖初始化指令後,生成隨機數,根據隨機數和自身保存的種子密鑰生成動態口令,保存隨機數和動態口令,將初始化標識置位;
[0122]第三判斷子模塊453,用於在第二接收子模塊451接收到解鎖指令後,判斷初始化標識是否置位;
[0123]校驗子模塊454,用於在第三判斷子模塊453判斷出初始化標識置位時,從解鎖指令中獲取解鎖碼,根據動態令牌模塊450保存的隨機數和動態口令,對獲取到的解鎖碼進行校驗;
[0124]設置子模塊455,用於在校驗子模塊454對獲取到的解鎖碼校驗通過後,開機口令,將自身的狀態信息更新為解鎖狀態,向智能密鑰模塊410發送解鎖成功信息;
[0125]具體地,上述設置子模塊455,具體用於獲取並保存用戶輸入的開機口令;
[0126]或者,將開機指令設置為預設數據;
[0127]或者,通過智能密鑰模塊410接收來自主機的口令設置指令,將口令設置指令中的數據設置為開機口令。
[0128]第二發送子模塊456,用於將生成子模塊452生成的隨機數和動態口令發送給智能密鑰模塊410 ;在第三判斷子模塊453判斷出初始化標識未置位時,向智能密鑰模塊410發送錯誤信息;在校驗子模塊454對獲取到的解鎖碼校驗未通過後,向智能密鑰模塊410發送錯誤信息;
[0129]第二復位子模塊457,用於在智能密鑰模塊410與主機斷開連接後,將初始化標識復位。
[0130]優選地,智能密鑰模塊410中的第一接收子模塊412,還用於接收來自主機的狀態查詢指令,接收來自動態令牌模塊450的狀態信息;
[0131]相應地,智能密鑰模塊410,還包括:
[0132]第四判斷子模塊419,用於在第一接收子模塊412接收到狀態查詢指令後,判斷驗PIN標識是否置位;
[0133]第一發送子模塊417,還用於在第四判斷子模塊419判斷出驗PIN標識置位時,將狀態查詢指令發送給動態令牌模塊450 ;在第四判斷子模塊419判斷出驗PIN標識未置位時,向主機發送錯誤信息;將第一接收子模塊412接收到的狀態信息發送給主機;
[0134]動態令牌模塊450,還包括:
[0135]查詢子模塊458,用於查詢動態令牌模塊450的狀態信息;
[0136]第二發送子模塊456,還用於將查詢子模塊458查詢到的狀態信息發送給智能密鑰模塊410。
[0137]優選地,動態令牌模塊450中的設置子模塊455,還用於在智能密鑰模塊410與主機斷開連接後,將初始化次數設置為第一預設值;
[0138]相應地,動態令牌模塊450,還包括:更新子模塊459和第五判斷子模塊460 ;
[0139]其中,更新子模塊459,用於在第二接收子模塊451接收到解鎖初始化指令後,對初始化次數進行更新;第五判斷子模塊460,用於判斷初始化次數是否等於預設閾值;
[0140]相應地,第二發送子模塊456,還用於在第五判斷子模塊460判斷出初始化次數等於預設閾值時,向智能密鑰模塊410返回錯誤信息;生成子模塊452,具體用於在第五判斷子模塊460判斷出初始化次數不等於預設閾值時,生成隨機數,根據隨機數和自身保存的種子密鑰生成動態口令,保存隨機數和動態口令,將初始化標識置位。
[0141]或者,
[0142]第五判斷子模塊460,用於在第二接收子模塊451接收到解鎖初始化指令後,判斷初始化次數是否等於預設閾值;更新子模塊459,用於在第五判斷子模塊460判斷出初始化次數不等於預設閾值時,對初始化次數進行更新,並觸發生成子模塊452生成隨機數和動態口令;
[0143]相應地,第二發送子模塊456,還用於在第五判斷子模塊460判斷出初始化次數等於預設閾值時,向智能密鑰模塊410返回錯誤信息。
[0144]其中,更新子模塊459,具體用於動態令牌模塊450對初始化次數進行更新,具體為:
[0145]將初始化次數的取值與預設步長相加,將得到的結果作為更新後的初始化次數;
[0146]或者,
[0147]將初始化次數的取值減去預設步長,將得到的結果作為更新後的初始化次數。
[0148]如圖5所示,主機,包括:
[0149]第一接收模塊510,用於接收來自智能密鑰模塊410的隨機數、動態口令和安全設備的序列號;接收認證伺服器返回的解鎖碼和錯誤碼;
[0150]第一生成模塊520,用於根據第一接收模塊510接收到的解鎖碼,生成解鎖指令;
[0151]第一發送模塊530,用於將第一接收模塊510接收到的隨機數、動態口令和安全設備的序列號發送給認證伺服器;將第一生成模塊520生成的解鎖指令發送給智能密鑰模塊410 ;在第一接收模塊510接收到來自認證伺服器的錯誤碼時,向智能密鑰模塊410返回錯誤碼;
[0152]優選地,動態令牌模塊450中的第二發送子模塊456,還用於在校驗子模塊454對獲取到的解鎖碼校驗通過後,向智能密鑰模塊410發送校驗通過響應;
[0153]相應地,智能密鑰模塊410中的第一接收子模塊412,還用於接收來自動態令牌模塊450的校驗通過響應;接收來自主機的開機口令;
[0154]智能密鑰模塊410中的第一發送子模塊417,還用於在第一接收子模塊412接收到來自動態令牌模塊450的校驗通過響應後,向主機發送校驗通過響應;將第一接收子模塊412接收到的開機口令發送給動態令牌模塊450 ;
[0155]主機,還包括:
[0156]獲取模塊540,用於獲取用戶輸入的開機口令;
[0157]第一發送模塊530,還用於將獲取模塊540獲取的開機口令發送給智能密鑰模塊410。
[0158]如圖6所示,認證伺服器,包括:
[0159]第二接收模塊610,用於接收來自主機的隨機數、動態口令和安全設備的序列號;
[0160]校驗模塊620,用於根據第二接收模塊610接收到的序列號,檢索與安全設備對應的種子密鑰,根據檢索到的種子密鑰對接收到的隨機數和接收到的動態口令進行校驗;
[0161]第二生成模塊630,用於在校驗模塊620對接收到的隨機數和接收到的動態口令校驗通過時,根據接收到的隨機數和接收到的動態口令,生成解鎖碼;
[0162]具體地,第二生成模塊630,具體用於在校驗模塊620對接收到的隨機數和接收到的動態口令校驗通過時,對接收到的動態口令的長度進行判斷;
[0163]如果接收到的動態口令的長度為預設長度,則將接收到的隨機數、接收到的動態口令以及檢索到的種子密鑰組合成第三消息,並對第三消息進行散列處理,將處理得到的散列值作為解鎖碼;
[0164]如果接收到的動態口令的長度大於預設長度,則從接收到的動態口令中截取長度為預設長度的數據,將接收到的隨機數、截取得到的數據以及檢索到的種子密鑰組合成第四消息,並對第四消息進行散列處理,將處理得到的散列值作為解鎖碼;
[0165]如果接收到的動態口令的長度小於預設長度,則在接收到的動態口令的高位端或低位端補零,將接收到的隨機數、補零得到的數據以及檢索到的種子密鑰組合成第五消息,並對第五消息進行散列處理,將處理得到的散列值作為解鎖碼;
[0166]相應地,動態令牌模塊450中的校驗子模塊454,用於在第三判斷子模塊453判斷出初始化標識置位時,從解鎖指令中獲取解鎖碼,對動態令牌模塊450保存的動態口令的長度進行判斷;
[0167]如果保存的動態口令的長度為預設長度,則將保存的隨機數、保存的動態口令以及保存的種子密鑰組合成第六消息,並對第六消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;
[0168]如果保存的動態口令的長度大於預設長度,則從保存的動態口令中截取長度為預設長度的數據,將保存的隨機數、截取得到的數據以及保存的種子密鑰組合成第七消息,並對第七消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;
[0169]如果保存的動態口令的長度小於預設長度,則在保存的動態口令的高位端或低位端補零,將保存的隨機數、補零得到的數據以及保存的種子密鑰組合成第八消息,並對第八消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;其中,預設長度為第二預設值的長度。
[0170]第二發送模塊640,用於將第二生成模塊630生成的解鎖碼返回給主機;在校驗模塊620對接收到的隨機數和接收到的動態口令校驗通過時,向主機返回錯誤碼。
[0171]優選地,動態令牌模塊450中的生成子模塊452,具體用於在第二接收子模塊451接收到解鎖初始化指令後,生成隨機數,將隨機數、第二預設值以及自身保存的種子密鑰組合成第一消息,並對第一消息進行散列處理,將處理得到的散列值作為動態口令,保存隨機數和動態口令,將初始化標識置位;
[0172]相應地,校驗模塊620,具體用於根據第二接收模塊610接收到的序列號,檢索與安全設備對應的種子密鑰,將接收到的隨機數、第二預設值以及與檢索到的種子密鑰組合成第二消息,並對第二消息進行散列處理,將處理得到的散列值作為生成的動態口令,判斷生成的動態口令與接收到的動態口令是否相同,如果相同,則確定接收到的隨機數和接收到的動態口令校驗通過;否則,確定接收到的隨機數和接收到的動態口令校驗未通過。
[0173]本發明實施例中,認證伺服器根據安全設備生成的動態口令生成解鎖碼,並通過主機將解鎖碼發送給安全設備;安全設備對接收到的解鎖碼進行校驗,並在校驗通過後執行解鎖操作,能夠有效避免解鎖碼在傳輸過程中被篡改或假冒而引起的安全風險,且不需要用戶手動輸入解鎖碼,提高了使用的方便性,同時解決了由於用戶輸入出錯而導致解鎖失敗的問題,提高了解鎖的成功率以及解鎖的安全性。此外,由於認證伺服器生成的解鎖碼與時間無關,解決了現有技術中由於安全設備和認證伺服器之間時間不同步而造成的解鎖失敗問題,進一步提高了解鎖成功率。[0174]結合本文中所公開的實施例描述的方法中的步驟可以直接用硬體、處理器執行的軟體模塊,或者二者的結合來實施。軟體模塊可以置於隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬碟、可移動磁碟、CD-ROM、或【技術領域】內所公知的任意其它形式的存儲介質中。
[0175]以上所述,僅為本發明的【具體實施方式】,但本發明的保護範圍並不局限於此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術範圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護範圍之內。因此,本發明的保護範圍應所述以權利要求的保護範圍為準。
【權利要求】
1.一種安全設備的解鎖方法,其特徵在於,應用於包括安全設備、主機和認證伺服器的系統中,所述安全設備包括智能密鑰模塊和動態令牌模塊,所述方法包括以下步驟:51、所述智能密鑰模塊與所述主機建立連接;52、所述智能密鑰模塊等待接收來自所述主機的指令;53、所述智能密鑰模塊對接收到的指令進行判斷,如果是驗PIN指令,則執行步驟S4;如果是解鎖初始化指令,則執行步驟S6 ;如果是解鎖指令,則執行步驟SlO ;54、所述智能密鑰模塊從所述驗PIN指令中獲取身份信息,對所述身份信息進行驗證,如果驗證通過,則執行步驟S5 ;否則,向所述主機發送錯誤信息,並返回步驟S2 ;55、所述智能密鑰模塊將驗PIN標識置位,並返回步驟S2;56、所述智能密鑰模塊判斷所述驗PIN標識是否置位,如果是,則執行步驟S7;否則,向所述主機發送錯誤信息,並返回步驟S2 ;57、所述智能密鑰模塊將所述解鎖初始化指令發送給所述動態令牌模塊;58、所述動態令牌模塊生成隨機數,根據所述隨機數和自身保存的種子密鑰生成動態口令,保存所述隨機數和所述動態口令,將初始化標識置位,並將所述隨機數和所述動態口令發送給所述智能密鑰模塊;59、所述智能密鑰模塊將所述隨機數、所述動態口令和所述安全設備的序列號發送給所述主機,並返回步驟S2;510、所述智 能密鑰模塊將所述解鎖指令發送給所述動態令牌模塊;511、所述動態令牌模塊判斷所述初始化標識是否置位,如果是,則執行步驟S12;否則,所述動態令牌模塊向所述智能密鑰模塊發送錯誤信息,所述智能密鑰模塊向所述主機發送錯誤信息,並返回步驟S2;512、所述動態令牌模塊從所述解鎖指令中獲取解鎖碼,根據自身保存的所述隨機數和所述動態口令,對獲取到的解鎖碼進行校驗,如果校驗通過,則執行步驟S13 ;否則,所述動態令牌模塊向所述智能密鑰模塊發送錯誤信息,所述智能密鑰模塊向所述主機發送錯誤信息,並返回步驟S2 ;513、所述動態令牌模塊設置開機口令,將自身的狀態信息更新為解鎖狀態,向所述智能密鑰模塊發送解鎖成功信息;514、所述智能密鑰模塊向所述主機發送解鎖成功信息,並返回步驟S2;其中,所述智能密鑰模塊與所述主機斷開連接之後,還包括:所述智能密鑰模塊將所述驗PIN標識復位,所述動態令牌模塊將所述初始化標識復位。
2.如權利要求1所述的方法,其特徵在於,所述步驟S9之後,還包括:Al、所述主機將所述隨機數、所述動態口令和所述安全設備的序列號發送給所述認證伺服器;A2、所述認證伺服器根據所述序列號檢索與所述安全設備對應的種子密鑰,根據檢索到的種子密鑰對接收到的隨機數和接收到的動態口令進行校驗,如果校驗通過,則執行步驟A4;否則,執行步驟A3;A3、所述認證伺服器向所述主機返回錯誤碼,所述主機向所述智能密鑰模塊返回錯誤碼;A4、所述認證伺服器根據所述接收到的隨機數和所述接收到的動態口令,生成解鎖碼,並將所述解鎖碼返回給所述主機;A5、所述主機根據所述解鎖碼生成解鎖指令,將所述解鎖指令發送給所述智能密鑰模塊。
3.如權利要求1所述的方法,其特徵在於,所述智能密鑰模塊接收到狀態查詢指令之後,還包括:B1、所述智能密鑰模塊判斷所述驗PIN標識是否置位,如果是,則執行步驟B2 ;否則,向所述主機發送錯誤信息,並返回步驟S2 ;B2、所述智能密鑰模塊將所述狀態查詢指令發送給所述動態令牌模塊;B3、所述動態令牌模塊查詢自身的狀態信息,將查詢到的狀態信息發送給所述智能密鑰模塊;B4、所述智能密鑰模塊將所述狀態信息發送給所述主機,並返回步驟S2。
4.如權利要求1所述的方法,其特徵在於,還包括:所述智能密鑰模塊與所述主機斷開連接之後,還包括:所述動態令牌模塊將初始化次數設置為第一預設值;所述動態令牌模塊接收到所述解鎖初始化指令之後,還包括:所述動態令牌模塊對所述`初始化次數進行更新;所述動態令牌模塊判斷所述初始化次數是否等於預設閾值,如果是,則通過所述智能密鑰模塊向所述主機返回錯誤信息;否則,執行步驟S8。
5.如權利要求1所述的方法,其特徵在於,還包括:所述智能密鑰模塊與所述主機斷開連接之後,還包括:所述動態令牌模塊將初始化次數設置為第一預設值;所述動態令牌模塊接收到所述解鎖初始化指令之後,還包括:所述動態令牌模塊判斷所述初始化次數是否等於預設閾值,如果是,則通過所述智能密鑰模塊向所述主機返回錯誤信息;否則,對所述初始化次數進行更新,並執行步驟S8。
6.如權利要求4或5所述的方法,其特徵在於,所述動態令牌模塊對所述初始化次數進行更新,具體為:所述動態令牌模塊將所述初始化次數的取值與預設步長相加,將得到的結果作為更新後的初始化次數;或者,所述動態令牌模塊將所述初始化次數的取值減去預設步長,將得到的結果作為更新後的初始化次數。
7.如權利要求2所述的方法,其特徵在於,所述動態令牌模塊根據所述隨機數和自身保存的種子密鑰生成動態口令,具體為:所述動態令牌模塊將所述隨機數、第二預設值以及自身保存的種子密鑰組合成第一消息,並對所述第一消息進行散列處理,將處理得到的散列值作為所述動態口令;所述認證伺服器根據檢索到的種子密鑰對接收到的隨機數和接收到的動態口令進行校驗,具體為:所述認證伺服器將所述接收到的隨機數、所述第二預設值以及與所述檢索到的種子密鑰組合成第二消息,並對所述第二消息進行散列處理,將處理得到的散列值作為生成的動態口令,判斷所述生成的動態口令與所述接收到的動態口令是否相同,如果相同,則確定所述接收到的隨機數和所述接收到的動態口令校驗通過;否則,確定所述接收到的隨機數和所述接收到的動態口令校驗未通過。
8.如權利要求7所述的方法,其特徵在於,所述認證伺服器根據所述接收到的隨機數和所述接收到的動態口令,生成解鎖碼,具體包括:所述認證伺服器對所述接收到的動態口令的長度進行判斷;如果所述接收到的動態口令的長度為預設長度,則將所述接收到的隨機數、所述接收到的動態口令以及所述檢索到的種子密鑰組合成第三消息,並對所述第三消息進行散列處理,將處理得到的散列值作為所述解鎖碼;如果所述接收到的動態口令的長度大於所述預設長度,則從所述接收到的動態口令中截取長度為所述預設長度的數據,將所述接收到的隨機數、截取得到的數據以及所述檢索到的種子密鑰組合成第四消息,並對所述第四消息進行散列處理,將處理得到的散列值作為所述解鎖碼;如果所述接收到的動態口令的長度小於所述預設長度,則在所述接收到的動態口令的高位端或低位端補零,將所述接收到的隨機數、補零得到的數據以及所述檢索到的種子密鑰組合成第五消息,並對所述第五消息進行散列處理,將處理得到的散列值作為所述解鎖碼;所述動態令牌模塊根據自身保存的所述隨機數和所述動態口令,對獲取到的解鎖碼進行校驗,具體包括:所述動態令牌模塊對自身保存的所述動態口令的長度進行判斷;如果保存的所述動態口令的長度為所述預設長度,則將保存的所述隨機數、保存的所述動態口令以及保存的所述種子密鑰組合成第六消息,並對所述第六消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷所述生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;如果保存的所述動態口令的長度大於所述預設長度,則從保存的所述動態口令中截取長度為所述預設長度的數據,將保存的所述隨機數、截取得到的數據以及保存的所述種子密鑰組合成第七消息,並對所述第七消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷所述生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;如果保存的所述動態口令的長度小於所述預設長度,則在保存的所述動態口令的高位端或低位端補零,將保存的所述隨機數、補零得到的數據以及所述保存的所述種子密鑰組合成第八消息,並對所述第八消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷所述生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;其中,所 述預設長度為所述第二預設值的長度。
9.如權利要求1所述的方法,其特徵在於,所述動態令牌模塊設置開機口令,具體為:所述動態令牌模塊獲取並保存用戶輸入的開機口令;或者,所述動態令牌模塊將開機指令設置為預設數據;或者,所述動態令牌模塊通過所述智能密鑰模塊接收來自所述主機的口令設置指令,將所述口令設置指令中的數據設置為開機口令。
10.如權利要求9所述的方法,其特徵在於,所述動態令牌模塊獲取用戶輸入的開機口令,具體為:所述動態令牌模塊向所述智能密鑰模塊發送校驗通過響應;所述智能密鑰模塊向所述主機發送校驗通過響應;所述主機獲取用戶輸入的開機口令,將所述開機口令發送給所述智能密鑰模塊;所述智能密鑰模塊將所述開機口令發送給所述動態令牌模塊。
11.一種安全設備的解鎖系統,其特徵在於,包括安全設備、主機和認證伺服器,所述安全設備包括智能密鑰模塊和動態令牌模塊,其中,所述智能密鑰模塊包括:連接子模塊,用於與所述主機建立連接;第一接收子模塊,用於接收來自所述主機的指令;接收來自所述動態令牌模塊的隨機數、動態口令、錯誤信息和解鎖成功消息;第一判斷子模塊,用於對所述第一接收子模塊接收到的指令進行判斷;驗證子模塊,用於在所述第一判斷子模塊判斷出接收到的指令為驗PIN指令時,從所述驗PIN指令中獲取身份信息,對所述身份信息進行驗證;置位子模塊,用於在所述驗證子模塊對所述身份信息驗證通過時,將驗PIN標識置位;第二判斷子模塊,用於在所述第一判斷子模塊判斷出接收到的指令為解鎖初始化指令時,判斷所述驗PIN標識是否置位;第一發送子模塊,用於在所述`第二判斷子模塊判斷所述驗PIN標識置位時,將所述解鎖初始化指令發送給所述動態令牌模塊;將所述第一接收子模塊接收到的所述隨機數、所述動態口令和所述安全設備的序列號發送給所述主機;在所述第一判斷子模塊判斷出接收到的指令為解鎖指令時,將所述解鎖指令發送給所述動態令牌模塊;在所述第一接收子模塊接收到來自所述動態令牌模塊的解鎖成功消息時,向所述主機發送解鎖成功消息;在所述驗證子模塊對所述身份信息驗證未通過時,向所述主機發送錯誤信息;在所述第二判斷子模塊判斷所述驗PIN標識未置位時,向所述主機發送錯誤信息;在所述第一接收子模塊接收到來自所述動態令牌模塊的錯誤信息時,向所述主機發送錯誤信息;第一復位子模塊,用於在所述智能密鑰模塊與所述主機斷開連接後,將所述驗PIN標識復位;所述動態令牌模塊包括:第二接收子模塊,用於接收來自所述智能密鑰模塊的所述解鎖初始化指令和解鎖指令;生成子模塊,用於在所述第二接收子模塊接收到所述解鎖初始化指令後,生成隨機數,根據所述隨機數和自身保存的種子密鑰生成動態口令,保存所述隨機數和所述動態口令,將初始化標識置位;第三判斷子模塊,用於在所述第二接收子模塊接收到所述解鎖指令後,判斷所述初始化標識是否置位;校驗子模塊,用於在所述第三判斷子模塊判斷出所述初始化標識置位時,從所述解鎖指令中獲取解鎖碼,根據所述動態令牌模塊保存的隨機數和動態口令,對獲取到的解鎖碼進行校驗;設置子模塊,用於在所述校驗子模塊對所述獲取到的解鎖碼校驗通過後,開機口令,將自身的狀態信息更新為解鎖狀態,向所述智能密鑰模塊發送解鎖成功信息;第二發送子模塊,用於將所述生成子模塊生成的所述隨機數和所述動態口令發送給所述智能密鑰模塊;在所述第三判斷子模塊判斷出所述初始化標識未置位時,向所述智能密鑰模塊發送錯誤信息;在所述校驗子模塊對所述獲取到的解鎖碼校驗未通過後,向所述智能密鑰模塊發送錯誤信息;第二復位子模塊,用於在所述智能密鑰模塊與所述主機斷開連接後,將所述初始化標識復位。
12.如權利要求11所述的系統,其特徵在於,所述主機,包括:第一接收模塊,用於接收來自所述智能密鑰模塊的所述隨機數、所述動態口令和所述安全設備的序列號;接收所述認證伺服器返回的解鎖碼和錯誤碼;第一生成模塊,用於根據所述第一接收模塊接收到的所述解鎖碼,生成解鎖指令;第一發送模塊,用於將所述第一接收模塊接收到的所述隨機數、所述動態口令和所述安全設備的序列號發送給所述認證伺服器;將所述第一生成模塊生成的所述解鎖指令發送給所述智能密鑰模塊;在所述第一接收模塊接收到來自所述認證伺服器的錯誤碼時,向所述智能密鑰模塊返回錯誤碼;所述認證伺服器,包括:第二接收模塊,用於接收來自所述主機的所述隨機數、所述動態口令和所述安全設備的序列號校驗模塊,用於根據所述第二接收模塊接收到的所述序列號,檢索與所述安全設備對應的種子密鑰,根據檢索到的種子密鑰對接收到的隨機數和接收到的動態口令進行校驗;第二生成模塊,用於在所述校驗模塊對所述接收到的隨機數和所述接收到的動態口令校驗通過時,根據所 述接收到的隨機數和所述接收到的動態口令,生成解鎖碼;第二發送模塊,用於將所述第二生成模塊生成的解鎖碼返回給所述主機;在所述校驗模塊對所述接收到的隨機數和所述接收到的動態口令校驗通過時,向所述主機返回錯誤碼。
13.如權利要求11所述的系統,其特徵在於,所述第一接收子模塊,還用於接收來自所述主機的狀態查詢指令,接收來自所述動態令牌模塊的狀態信息;所述智能密鑰模塊,還包括:第四判斷子模塊,用於在所述第一接收子模塊接收到狀態查詢指令後,判斷所述驗PIN標識是否置位;所述第一發送子模塊,還用於在所述第四判斷子模塊判斷出所述驗PIN標識置位時,將所述狀態查詢指令發送給所述動態令牌模塊;在所述第四判斷子模塊判斷出所述驗PIN標識未置位時,向所述主機發送錯誤信息;將所述第一接收子模塊接收到的所述狀態信息發送給所述主機;所述動態令牌模塊,還包括:查詢子模塊,用於查詢所述動態令牌模塊的狀態信息;所述第二發送子模塊,還用於將所述查詢子模塊查詢到的狀態信息發送給所述智能密鑰模塊。
14.如權利要求11所述的系統,其特徵在於,所述設置子模塊,還用於在所述智能密鑰模塊與所述主機斷開連接後,將初始化次數設置為第一預設值;所述動態令牌模塊,還包括:更新子模塊,用於在所述第二接收子模塊接收到所述解鎖初始化指令後,對所述初始化次數進行更新;第五判斷子模塊,用於判斷所述初始化次數是否等於預設閾值;所述第二發送子模塊,還用於在所述第五判斷子模塊判斷出所述初始化次數等於預設閾值時,向所述智能密鑰模塊返回錯誤信息;所述生成子模塊,具體用於在所述第五判斷子模塊判斷出所述初始化次數不等於預設閾值時,生成隨機數,根據所述隨機數和自身保存的種子密鑰生成動態口令,保存所述隨機數和所述動態口令,將初始化標識置位。
15.如權利要求11所述的系統,其特徵在於,所述設置子模塊,還用於在所述智能密鑰模塊與所述主機斷開連接後,將初始化次數設置為第一預設值;所述動態令牌模塊,還包括:第五判斷子模塊,用於在所述第二接收子模塊接收到所述解鎖初始化指令後,判斷所述初始化次數是否等於預設閾值;更新子模塊,用於在所述第五判斷子模塊判斷出所述初始化次數不等於預設閾值時,對所述初始化次數進行更新,並觸發所述生成子模塊生成所述隨機數和所述動態口令;所述第二發送子模塊,還用於在所述第五判斷子模塊判斷出所述初始化次數等於預設閾值時,向所述智能密鑰模塊返回錯誤信息。
16.如權利要求14或15所述的系統,其特徵在於,所述更新子模塊,具體用於動態令牌模塊對所述初始化次數進行更新,具體為:將所述初始化次數的取值與預設步長相加,將得到的結果作為更新後的初始化次數;或者,將所述初始化次數的取值減去預設步長,將得到的結果作為更新後的初始化次數。
17.如權利要求12所述的系統,其特徵在於,所述生成子模塊,具體用於在所述第二接收子模塊接收到所述解鎖初始化指令後,生成隨機數,將所述隨機數、第二預設值以及自身保存的種子密鑰組合成第一消息,並對所述第一消息進行散列處理,將處理得到的散列值作為所述動態口令,保存所述隨機數和所述動態口令,將初始化標識置位;所述校驗模塊,具體用於根據所述第二接收模塊接收到的所述序列號,檢索與所述安全設備對應的種子密鑰,將所述接收到的隨機數、所述第二預設值以及與所述檢索到的種子密鑰組合成第二消息,並對所述第二消息進行散列處理,將處理得到的散列值作為生成的動態口令,判斷所述生成的動態口令與所述接收到的動態口令是否相同,如果相同,則確定所述接收到的隨機數和所述接收到的動態口令校驗通過;否則確定所述接收到的隨機數和所述接收到的動態口令校驗未通過。
18.如權利要求17所述的系統,其特徵在於,所述第二生成模塊,具體用於在所述校驗模塊對所述接收到的隨機數和所述接收到的動態口令校驗通過時,對所述接收到的動態口令的長度進行判斷;如果所述接收到的動態口令的長度為預設長度,則將所述接收到的隨機數、所述接收到的動態口令以及所述檢索到的種子密鑰組合成第三消息,並對所述第三消息進行散列處理,將處理得到的散列值作為所述解鎖碼;如果所述接收到的動態口令的長度大於所述預設長度,則從所述接收到的動態口令中截取長度為所述預設長度的數據,將所述接收到的隨機數、截取得到的數據以及所述檢索到的種子密鑰組合成第四消息,並對所述第四消息進行散列處理,將處理得到的散列值作為所述解鎖碼;如果所述接收到的動態口令的長度小於所述預設長度,則在所述接收到的動態口令的高位端或低位端補零,將所述接收到的隨機數、補零得到的數據以及所述檢索到的種子密鑰組合成第五消息,並對所述第五消息進行散列處理,將處理得到的散列值作為所述解鎖碼;所述校驗子模塊,用於在所述第三判斷子模塊判斷出所述初始化標識置位時,從所述解鎖指令中獲取解鎖碼,對所述動態令牌模塊保存的動態口令的長度進行判斷;如果所述保存的動態口令的長度為所述預設長度,則將所述保存的隨機數、所述保存的動態口令以及所述保存的種子密鑰組合成第六消息,並對所述第六消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷所述生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;如果所述保存的動態口令的長度大於所述預設長度,則從所述保存的動態口令中截取長度為所述預設長度的數據,將所述保存的隨機數、截取得到的數據以及所述保存的種子密鑰組合成第七消息,並對所述第七消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷所述生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;如果所述保存的動態口令的長度小於所述預設長度,則在所述保存的動態口令的高位端或低位端補零,將所述保存的隨機數、補零得到的數據以及所述保存的種子密鑰組合成第八消息,並對所述第八消息進行散列處理,將處理得到的散列值作為生成的解鎖碼,判斷所述生成的解鎖碼是否與獲取到的解鎖碼相同,如果相同,則確定校驗通過;否則,確定校驗未通過;其中,所述預設長度為所述第二預設值的長度。
19.如權利要求11所述的系統,其特徵在於,所述設置子模塊,具體用於獲取並保存用戶輸入的開機口令;或者,將開機指令設置為預設數據;或者,通過所述智能密鑰模塊接收來自所述主機的口令設置指令,將所述口令設置指令中的數據設置為開機口令。
20.如權利要求19所述的系統,其特徵在於,所述第二發送子模塊,還用於在所述校驗子模塊對所述獲取到的解鎖碼校驗通過後,向所述智能密鑰模塊發送校驗通過響應;所述第一接收子模塊,還用於接收來自所述動態令牌模塊的校驗通過響應;接收來自所述主機的開機口令;所述第一發送子模塊,還用於在所述第一接收子模塊接收到來自所述動態令牌模塊的校驗通過響應後,向所述主機發送校驗通過響應;將所述第一接收子模塊接收到的開機口令發送給所述動態令牌模塊;所述主機, 還包括:獲取模塊,用於獲取用戶輸入的開機口令;所述第一發送模塊,還用於將所述獲取模塊獲取的所述開機口令發送給所述智能密鑰模塊。
【文檔編號】H04L9/32GK103607281SQ201310560096
【公開日】2014年2月26日 申請日期:2013年11月12日 優先權日:2013年11月12日
【發明者】陸舟, 於華章 申請人:飛天誠信科技股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀