專利名稱:一種多功能智能密鑰裝置及其工作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及信息安全領(lǐng)域,特別涉及一種多功能智能密鑰裝置及其工作方法。
背景技術(shù):
隨著互聯(lián)網(wǎng)被越來越廣泛的應(yīng)用,網(wǎng)上銀行也稱在線銀行,已經(jīng)成為金融機(jī)構(gòu)整體策略中不可或缺的一部分。近年來,網(wǎng)上銀行的用戶數(shù)量劇增,并且保持著穩(wěn)定的發(fā)展勢頭,在其為廣大用戶提供便捷服務(wù)的同時,也暴露出了不容忽視的安全隱患。針對隱患各銀行紛紛采取行動,目前多渠道應(yīng)用中對用戶身份認(rèn)證普遍采用兩種方式,一種是使用動態(tài)令牌作為登陸網(wǎng)銀及完成數(shù)據(jù)傳輸?shù)拿艽a生成設(shè)備;另外一種,也是應(yīng)用比較廣泛的一種,是采用USB Key作為數(shù)字證書的載體,應(yīng)用于網(wǎng)上銀行的數(shù)據(jù)傳輸操作。動態(tài)令牌是用來生成動態(tài)口令的終端,動態(tài)口令是根據(jù)專門算法生成的一個不可預(yù)測的隨機(jī)數(shù)字組合,采用動態(tài)口令的認(rèn)證方式就是每次在用戶登錄時除了輸入常規(guī)的靜態(tài)口令外,還要輸入一個每次都會變化的動態(tài)口令;USB Key是大多數(shù)銀行采用的客戶端解決方案,使用USB Key存放代表用戶唯一身份的數(shù)字證書和用戶私鑰,用戶的私鑰是在高安全度的USB Key內(nèi)產(chǎn)生的,并且終身不可導(dǎo)出到USB Key外部。目前包括各個銀行和USB Key廠商都致力于追求一種可以覆蓋所有多渠道支付應(yīng)用范圍的,并且在易用性與安全性方面無法得到統(tǒng)一的安全設(shè)備。動態(tài)令牌使用方便,不需要連接電腦使用,但容易被他人偷窺或者被釣魚網(wǎng)站利用;USB Key在使用過程中有數(shù)字證書參與,雖然具有一定安全性,但是加密數(shù)據(jù)傳輸過程還是有可能被黑客篡改,顯露用戶隱私,存在網(wǎng)上購物支付的安全隱患。
發(fā)明內(nèi)容
鑒于現(xiàn)有技術(shù)的不足,為了提高產(chǎn)品的安全性以及實現(xiàn)多功能應(yīng)用,本發(fā)明提供了一種同時具備了 USB KEY和動態(tài)令牌功能的智能密鑰裝置及其方法。本發(fā)明采用的技術(shù)方案如下一種多功能智能密鑰裝置,包括USB接口模塊,與主機(jī)建立連接,用作數(shù)據(jù)通訊接口,用于接收或發(fā)送數(shù)據(jù);判斷模塊,用于判斷是否接收到主機(jī)下發(fā)的觸發(fā)信息報文,用于判斷觸發(fā)信息中是否有待簽名數(shù)據(jù),還用于判斷在預(yù)定時間內(nèi)是否接收到操作觸發(fā)信息,并判斷所述操作觸發(fā)信息是否為執(zhí)行的確認(rèn)信息;解析模塊,用于對所述主機(jī)下發(fā)的所述觸發(fā)信息報文進(jìn)行解析得到觸發(fā)信息,用于從所述待簽名數(shù)據(jù)中獲取關(guān)鍵信息,還用于將所述關(guān)鍵信息和待簽名數(shù)據(jù)發(fā)送給所述動態(tài)口令模塊;第二存儲模塊,用于存儲密鑰和數(shù)字證書;動態(tài)口令模塊,包括動態(tài)口令生成單元、第一存儲單元和輸出單元,其中,
動態(tài)口令生成單元用于生成動態(tài)口令;第一存儲單元用于存儲靜態(tài)因子、動態(tài)因子和所述生成的動態(tài)口令;輸出單元用于輸出所述生成的動態(tài)口令和所述解析模塊發(fā)送的關(guān)鍵信息;按鍵模塊,用于輸入操作觸發(fā)信息,與所述判斷模塊或動態(tài)口令模塊連接;獲取模塊,用于從所述動態(tài)口令生成單元中或從所述第一存儲單元中獲取動態(tài)口令;簽名模塊,用于對所述解析模塊發(fā)送的所述待簽名數(shù)據(jù)和所述獲取的動態(tài)口令進(jìn)行處理得到簽名結(jié)果;電源模塊,用于脫機(jī)時為所述動態(tài)口令模塊供電。 所述USB接口模塊在聯(lián)機(jī)時還用于從主機(jī)獲得電能為所述裝置供電。所述動態(tài)因子為時間因子或生成動態(tài)口令次數(shù)值。所述動態(tài)口令生成單元用于根據(jù)動態(tài)因子和靜態(tài)因子進(jìn)行計算生成動態(tài)口令。所述按鍵模塊還用于輸入挑戰(zhàn)值。所述動態(tài)口令生成單元用于根據(jù)動態(tài)因子、靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成動態(tài)口令。所述按鍵模塊包括取消鍵和確認(rèn)鍵。所述按鍵模塊還包括上翻頁鍵和下翻頁鍵。所述簽名模塊將所述獲取的動態(tài)口令添加在所述待簽名數(shù)據(jù)中組成簽名原文;對所述簽名原文進(jìn)行哈希計算得到哈希值并進(jìn)行填充,使用第一存儲模塊中的密鑰對所述填充后的哈希值進(jìn)行加密計算得到簽名結(jié)果。所述簽名模塊對所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,將所述哈希值與所述獲取的動態(tài)口令進(jìn)行組合,對組合結(jié)果進(jìn)行加密計算得到簽名結(jié)果。所述簽名模塊將所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,再對所述哈希值填充后進(jìn)行加密計算,將所述加密后的數(shù)據(jù)與所述獲取的動態(tài)口令組成簽名結(jié)果。所述一種多功能智能密鑰裝置還包括電流隔離通信模塊,用于脫機(jī)時阻斷流向所述USB接口模塊、解析模塊、判斷模塊、獲取模塊、第二存儲模塊和簽名模塊中的電流。所述輸出單元為顯示屏和/或語音播報器。所述顯示屏為段碼顯示屏或點陣顯示屏。所述顯示屏還用于顯示所述待簽名數(shù)據(jù),所述待簽名數(shù)據(jù)包括賬號和/或金額和/或時間和/或地點。所述輸出單元還用于輸出確認(rèn)提示信息和/或取消提示信息和/或超時提示信肩、ο一種多功能智能密鑰裝置的工作方法,包括步驟A 接收第一觸發(fā)信息;步驟B 判斷所述第一觸發(fā)信息是否是主機(jī)下發(fā)的觸發(fā)信息報文,是則執(zhí)行步驟 C,否則生成動態(tài)口令并進(jìn)行顯示;步驟C 對所述觸發(fā)信息報文進(jìn)行解析得到觸發(fā)信息,判斷所述觸發(fā)信息中是否有待簽名數(shù)據(jù);是則執(zhí)行步驟D,否則根據(jù)所述解析得到的觸發(fā)信息進(jìn)行相應(yīng)操作;步驟D 獲取所述待簽名數(shù)據(jù)中的關(guān)鍵信息并進(jìn)行顯示;
步驟E 判斷在預(yù)設(shè)時間內(nèi)是否接收到操作觸發(fā)信息,是則判斷所述操作觸發(fā)信息是否為執(zhí)行的確認(rèn)信息,是確認(rèn)信息則獲取動態(tài)口令,將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果,不是確認(rèn)信息則輸出取消提示信息;否則輸出超時提示信息。所述第一觸發(fā)信息為所述裝置內(nèi)設(shè)置的時鐘源發(fā)送的信息,所述步驟B中生成動態(tài)口令具體為將存儲的時間因子和存儲的靜態(tài)因子進(jìn)行計算得到動態(tài)口令。所述第一觸發(fā)信息為按鍵觸發(fā)信息,所述按鍵觸發(fā)信息中包括挑戰(zhàn)值,所述步驟B 中生成動態(tài)口令具體為將存儲的時間因子、存儲的靜態(tài)因子和所述挑戰(zhàn)值進(jìn)行計算得到動態(tài)口令。所述時間因子在接收到時鐘源觸發(fā)信息時按照預(yù)設(shè)規(guī)則進(jìn)行變化。所述第一觸發(fā)信息是按鍵觸發(fā)信息,所述裝置中存儲有生成動態(tài)口令的次數(shù)值, 所述步驟B中生成動態(tài)口令具體為將所述存儲的次數(shù)值和靜態(tài)因子進(jìn)行計算得到動態(tài)口令。所述第一觸發(fā)信息是按鍵觸發(fā)信息,所述按鍵觸發(fā)信息包含通過按鍵輸入的挑戰(zhàn)值,所述裝置中存儲有生成動態(tài)口令的次數(shù)值,所述步驟B中生成動態(tài)口令具體為將所述存儲的次數(shù)值、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算得到動態(tài)口令。在計算得到動態(tài)口令之前或之后,將所述存儲的動態(tài)口令生成次數(shù)值按照預(yù)設(shè)規(guī)則進(jìn)行變化,將存儲的原動態(tài)口令生成次數(shù)值替換為變化后的次數(shù)值。所述獲取動態(tài)口令為獲取當(dāng)前生成的動態(tài)口令或獲取步驟E之前生成并存儲的動態(tài)口令。所述當(dāng)前生成的動態(tài)口令為根據(jù)存儲的時間因子和存儲的靜態(tài)因子進(jìn)行計算生成的動態(tài)口令;或根據(jù)存儲的時間因子、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成的動態(tài)口令;或根據(jù)所述執(zhí)行的確認(rèn)信息將存儲的動態(tài)口令生成次數(shù)值和存儲的靜態(tài)因子進(jìn)行計算生成的動態(tài)口令;或根據(jù)所述執(zhí)行的確認(rèn)信息將存儲的動態(tài)口令生成次數(shù)值、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成的動態(tài)口令。所述獲取步驟E之前生成并存儲的動態(tài)口令具體為在步驟E之前根據(jù)按鍵觸發(fā)將存儲的動態(tài)口令生成次數(shù)值和存儲的靜態(tài)因子進(jìn)行計算生成動態(tài)口令并進(jìn)行存儲,獲取所述存儲的動態(tài)口令;或在步驟E之前,根據(jù)按鍵觸發(fā)將存儲的動態(tài)口令生成次數(shù)值、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成動態(tài)口令并進(jìn)行存儲,獲取所述存儲的動態(tài)口令。所述挑戰(zhàn)值為主機(jī)下發(fā)的挑戰(zhàn)碼或通過所述裝置的按鍵模塊輸入的數(shù)。所述將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果具體為將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)組成簽名原文;對所述簽名原文進(jìn)行哈希計算得到哈希值并進(jìn)行填充,對所述填充后的哈希值進(jìn)行加密計算得到簽名結(jié)果。 所述將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果具體為
對所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,對所述哈希值填充后與所述獲取的動態(tài)口令進(jìn)行組合;對組合結(jié)果進(jìn)行加密計算得到簽名結(jié)果。
8
所述將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果具體為對所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,再對哈希值填充后進(jìn)行加密計算, 將所述加密后的數(shù)據(jù)與所述獲取的動態(tài)口令組成簽名結(jié)果。所述組成方式為拼接或交叉組合。所述確認(rèn)提示信息、取消提示信息和超時提示信息以顯示方式輸出和/或語音播報方式輸出。所述動態(tài)口令和關(guān)鍵信息通過顯示方式輸出。所述顯示方式為字幕滾動或翻屏。所述翻屏方式具體為每隔設(shè)定時間翻一頁,或通過上翻按鍵和下翻按鍵控制翻屏。本發(fā)明的有益效果在于一種多功能智能密鑰裝置同時兼具動態(tài)令牌和USBKEY 兩類安全產(chǎn)品的功能,滿足多應(yīng)用,并且提高了安全性。
圖1是本發(fā)明實施例一提供的一種多功能智能密鑰裝置的裝置圖;圖2是本發(fā)明實施例二提供的一種多功能智能密鑰裝置的具體功能模塊框圖;圖3是本發(fā)明實施例三提供的一種多功能智能密鑰裝置的工作方法流程圖;圖4是本發(fā)明實施例四提供的另一種多功能智能密鑰裝置的工作方法流程圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖和具體實施例對本發(fā)明做進(jìn)一步地詳細(xì)說明。實施例一參見圖1,本發(fā)明實施例一提供了一種多功能智能密鑰裝置,所述智能密鑰裝置包含判斷模塊101、USB接口模塊102、解析模塊103、簽名模塊104、動態(tài)口令模塊105、第二存儲模塊106、獲取模塊107、按鍵模塊108以及電源模塊109。其中動態(tài)口令模塊105包含動態(tài)口令生成單元1051、輸出單元1052、第一存儲單元1053。上述各個模塊、單元的功能如下判斷模塊101 與USB接口模塊102相連,用于判斷是否接收到主機(jī)下發(fā)的觸發(fā)信息報文,用于判斷解析模塊103解析出的觸發(fā)信息中是否含有待簽名數(shù)據(jù),用于判斷在預(yù)定時間內(nèi)是否接收到操作觸發(fā)信息,還用于判斷操作觸發(fā)信息是否為確認(rèn)信息;USB接口模塊102 與判斷模塊101、解析模塊103相連,用作本實施例提供的智能密鑰裝置與主機(jī)之間建立連接的通道,用于作為數(shù)據(jù)通訊接口接收或發(fā)送數(shù)據(jù),在所述智能密鑰裝置聯(lián)機(jī)時,還用于從主機(jī)獲得電能為所述智能密鑰裝置供電;解析模塊103 與USB接口模塊102、簽名模塊104、動態(tài)口令模塊105相連,用于解析觸發(fā)信息報文得到觸發(fā)信息,還用于獲取觸發(fā)信息中待簽名數(shù)據(jù)的關(guān)鍵信息并將所述關(guān)鍵信息和待簽名數(shù)據(jù)發(fā)送給所述動態(tài)口令模塊105 ;簽名模塊104 與解析模塊103、第二存儲模塊106、獲取模塊107、按鍵模塊108相連,用于將待簽名數(shù)據(jù)和動態(tài)口令處理得到簽名原文并對簽名原文進(jìn)行簽名;
動態(tài)口令模塊105 與解析模塊103、獲取模塊107、電源模塊109相連;動態(tài)口令生成單元1051 與輸出單元1052、第一存儲單元1053、相連,用于獲取動態(tài)因子、靜態(tài)因子和挑戰(zhàn)值,用于對動態(tài)因子和靜態(tài)因子進(jìn)行計算或?qū)討B(tài)因子、靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算得到動態(tài)口令;所述動態(tài)因子為時間因子或生成動態(tài)口令次數(shù)值,所述挑戰(zhàn)值是主機(jī)下發(fā)的挑戰(zhàn)碼或通過裝置按鍵輸入的數(shù);輸出單元1052 與動態(tài)口令生成單元1051相連,用于輸出動態(tài)口令、關(guān)鍵信息、待簽名數(shù)據(jù)、超時提示信息、確認(rèn)提示信息、取消提示信息;具體地,所述輸出單元1052可以是顯示屏和/或語音播報器,所述顯示屏為段碼顯示屏或點陣顯示屏,所述超時提示信息、確認(rèn)提示信息以及取消提示信息以顯示方式輸出和/或語音播報方式輸出,所述動態(tài)口令和關(guān)鍵信息通過顯示方式輸出,所述顯示方式為字幕滾動或翻屏,所述翻屏方式具體為每隔設(shè)定時間翻一頁,或通過上翻按鍵和下翻按鍵控制翻屏;第一存儲單元1053 與動態(tài)口令生成單元1051相連,用于存儲動態(tài)因子和靜態(tài)因子,還用于存儲當(dāng)前生成的動態(tài)口令;具體地,所述動態(tài)因子為時間因子或生成動態(tài)口令次數(shù)值;第二存儲模塊106 與簽名模塊104相連,用于存儲數(shù)字證書和密鑰;獲取模塊107 與簽名模塊104和動態(tài)口令模塊105相連,用于從動態(tài)口令模塊 105的動態(tài)口令生成單元1051中或第一存儲單元1053中獲取動態(tài)口令,并將獲取的動態(tài)口令發(fā)送給簽名模塊104 ;按鍵模塊108 與簽名模塊104相連,用于接收挑戰(zhàn)值和/或操作觸發(fā)信息;本發(fā)明實施例提供的智能密鑰裝置脫機(jī)時可以實現(xiàn)常顯式或按鍵式動態(tài)令牌功能,當(dāng)實現(xiàn)的是按鍵式動態(tài)令牌功能,按鍵模塊108還與動態(tài)口令生成單元1051相連。具體地,操作觸發(fā)信息包括確認(rèn)信息、取消信息、生成動態(tài)口令信息,本實施例中所述按鍵模塊108包括確認(rèn)鍵、取消鍵,還包括動態(tài)口令生成鍵、數(shù)字按鍵、上翻頁鍵、下翻頁鍵,所述確認(rèn)鍵用于觸發(fā)生成確認(rèn)信息和/或用于觸發(fā)裝置生成動態(tài)口令,動態(tài)口令生成鍵用于觸發(fā)裝置生成動態(tài)口令,所述取消鍵用于觸發(fā)生成取消信息,所述上翻頁鍵、下翻頁鍵用于控制顯示屏翻屏,所述數(shù)字按鍵用于輸入挑戰(zhàn)值;電源模塊109 與動態(tài)口令模塊105相連,用于在本發(fā)明實施例提供的智能密鑰裝置脫機(jī)時為其供電。本實施例提供的一種多功能智能密鑰裝置還可以包括電流隔離通信模塊,用于脫機(jī)時阻斷流向所述智能密鑰裝置中不工作模塊的電流,所述不工作模塊包括判斷模塊 101、USB接口模塊102、解析模塊103、簽名模塊104、第二存儲模塊106以及獲取模塊107。實施例二參見圖2,本發(fā)明實施例二提供了一種多功能智能密鑰裝置,所述智能密鑰裝置包含USB模塊2001、電源保護(hù)模塊2002、USB通信保護(hù)模塊2003、第一晶體振蕩電路2004、第一芯片復(fù)位模塊2005、FLASF模塊2006、LED電路2007、電源隔離通信模塊2008、按鍵模塊 2009, Key主控芯片和動態(tài)口令模塊;動態(tài)口令模塊包含液晶模塊2015、第二晶體振蕩電路 2016、電源切換模塊2017、電池模塊2018、第二芯片復(fù)位電路2019、程序下載接口及通信接口 2020、聯(lián)機(jī)識別模塊2021和動態(tài)口令主控芯片。所述Key主控芯片包含USB通信模塊2010、第一晶體振蕩模塊2011、SPI模塊 2012、GPI0模塊2013、3. 3V輸出模塊2014以及密鑰模塊2015 ;所述動態(tài)口令主控芯片包含 LCD驅(qū)動模塊2022、第二晶體振蕩模塊2023和IO模塊20M。Key主控芯片中的USB通信模塊2010與USB通信保護(hù)模塊2003相連,USB通信保護(hù)模塊2003與USB模塊2001相連,三者用于本實施例提供的智能密鑰裝置與主機(jī)建立連接,用于作為數(shù)據(jù)通訊接口接收或發(fā)送數(shù)據(jù),還用于所述智能密鑰裝置聯(lián)機(jī)時,從主機(jī)獲得電能為智能密鑰裝置供電;第一晶體振蕩模塊2011與第一晶體振蕩電路2004相連,用于為 Key主控芯片提供時鐘頻率;SPI模塊2012與FLASH模塊2006相連,F(xiàn)LASH模塊2006用于存儲字庫和ISO文件;GPIO模塊2013與LED電路2007、電源隔離通信模塊2008、鍵盤模塊2009相連,LED電路2007用于指示Key主控芯片的工作狀態(tài),電流隔離通信模塊2008在所述智能密鑰裝置聯(lián)機(jī)時用于Key主控芯片和動態(tài)口令主控芯片之間進(jìn)行通信,在所述智能密鑰裝置脫機(jī)時用于阻斷流向Key主控芯片的電流,鍵盤模塊2009用于接收操作觸發(fā)信息;3. 3V輸出模塊2014與FLASH模塊2006、鍵盤模塊2009相連,用于為FLASH模塊2006 和鍵盤模塊2009提供3. 3V工作電壓,密鑰模塊2015用于存儲密鑰和數(shù)字證書;Key主控芯片還與第一芯片復(fù)位電路2005相連。上述Key主控芯片用于接收處理主機(jī)下發(fā)的數(shù)據(jù),生成簽名原文,并對簽名原文進(jìn)行簽名計算。動態(tài)口令主控芯片的IXD驅(qū)動模塊2022與液晶模塊2015相連,液晶模塊2015 用于顯示動態(tài)口令、關(guān)鍵信息以及提示信息;第二晶體振蕩模塊2023與第二晶體振蕩電路2016相連,用于為動態(tài)口令主控芯片提供時鐘頻率;IO模塊20M與電流隔離通信模塊 2008、程序下載接口及通信接口 2020、聯(lián)機(jī)識別模塊2021相連,聯(lián)機(jī)識別模塊2021用于判斷所述智能密鑰裝置是否與主機(jī)連接;動態(tài)口令主控芯片還與電源切換模塊2017、第二芯片復(fù)位模塊2019相連,電源切換模塊2017與電源保護(hù)模塊2002、電池模塊2018相連,用于所述智能密鑰裝置聯(lián)機(jī)時從USB接口獲得電能為所述裝置供電,脫機(jī)時由電池模塊為所述裝置供電。上述動態(tài)口令主控芯片用于根據(jù)芯片內(nèi)部存儲的動態(tài)口令生成要素生成動態(tài)口令以及用于控制液晶模塊2015顯示數(shù)據(jù)。實施例3參見圖3,本發(fā)明實施例3提供了一種多功能智能密鑰裝置的工作方法,具體步驟如下步驟301 接收第一觸發(fā)信息;具體地,所述第一觸發(fā)信息為主機(jī)下發(fā)的觸發(fā)信息報文或時鐘觸發(fā)信息,時鐘源每隔預(yù)設(shè)時間段發(fā)送時鐘觸發(fā)信息,如每隔30秒或60秒發(fā)送一個時鐘觸發(fā)信息,所述時鐘觸發(fā)信息用于觸發(fā)時間因子按照預(yù)設(shè)規(guī)則變化;步驟302 判斷第一觸發(fā)信息是否為主機(jī)下發(fā)的觸發(fā)信息報文,是則執(zhí)行步驟 305,否則執(zhí)行步驟303 ;步驟303 根據(jù)時間因子和靜態(tài)因子計算生成動態(tài)口令;步驟304 存儲并輸出當(dāng)前生成的動態(tài)口令;
步驟305 解析觸發(fā)信息報文,得出觸發(fā)信息;步驟306:判斷觸發(fā)信息中是否含有待簽名數(shù)據(jù),是則執(zhí)行步驟308,否則執(zhí)行步驟 307 ;具體地,所述待簽名數(shù)據(jù)包括賬號和/或金額和/或時間和/或地點;步驟307 根據(jù)觸發(fā)信息中的讀取指令讀取數(shù)據(jù)并將所述讀取的數(shù)據(jù)返回給主機(jī),或?qū)τ|發(fā)信息中指定的數(shù)據(jù)進(jìn)行簽名操作并將簽名結(jié)果返回給主機(jī);或根據(jù)主機(jī)下發(fā)的其他命令執(zhí)行對應(yīng)的操作;具體地,上述簽名操作的過程為用哈希算法計算需要簽名數(shù)據(jù)的哈希值,對哈希值用密鑰進(jìn)行加密,加密結(jié)果即為簽名結(jié)果;步驟308 獲取待簽名數(shù)據(jù)中的關(guān)鍵信息;具體地,所述關(guān)鍵信息可以包含賬號、金額、時間、地點等信息的全部或部分;步驟309 輸出關(guān)鍵信息和操作提示信息,等待接收操作觸發(fā)信息;具體地,操作提示信息用于提示用戶進(jìn)行下一步操作;步驟310:判斷其在預(yù)定時間內(nèi)是否接收到操作觸發(fā)信息,是則執(zhí)行步驟312,否則執(zhí)行步驟311 ;步驟311 輸出超時提示信息,并返回超時提示信息給主機(jī);步驟312 裝置判斷接收到的操作觸發(fā)信息是否為確認(rèn)信息,是則順序執(zhí)行步驟 314,否則執(zhí)行步驟313 ;步驟313 輸出取消提示信息,并返回所述取消提示信息給主機(jī);步驟314 輸出確認(rèn)提示信息;步驟315 裝置獲取動態(tài)口令,將其與待簽名數(shù)據(jù)進(jìn)行處理得到簽名原文;具體地,所述動態(tài)口令為當(dāng)前時刻所述智能密鑰裝置內(nèi)部存儲的動態(tài)口令, 所述簽名原文可以是待簽名數(shù)據(jù)和動態(tài)口令的組合,或是待簽名數(shù)據(jù),所述組合的方式為拼接或交叉組合,即將需要進(jìn)行組合的二者中的一方作為一個整體添加到另一方的任意位置上,或?qū)⒍咧械囊环竭M(jìn)行拆分,將拆分后的各個部分分別添加到另一方的任意位置上;例如待簽名數(shù)據(jù)是0000037000000362$RealTimeTransferAc t$handingCharge = 1. 00 Λ fromAcctld = 1234567890123456789 Λ fromAccName =李某某 Λ toAcctld = 0987654321098765 Λ toAccName =張某某 Λ trnAmt =0.01 Λ fromAcctAmtBig =壹分Λ個人轉(zhuǎn)賬,動態(tài)口令為111111,二者的組合可以是 1111110000037000000362$RealTimeTransferAct$handingCharge = 1. 00 Λ fromAcctld = 1234567890123456789 Λ fromAccName =李某某 Λ toAcctld =0987654321098765 Λ toAccName =張某某 Λ trnAmt = 0· 01 Λ fromAcctAmtBig = 壹分 Λ 個人轉(zhuǎn)賬,或是 0000037000000362$RealTimeTransferAct$handingCharge = 1. 00 Λ fromAcctld = 1234567890123456789 Λ fromAccName =李某某 Λ toAcctld = 0987654321098765 Λ toAccName =張某某 Λ trnAmt = 0· 01 Λ fromAcctAmtBig =壹分 Λ 個人轉(zhuǎn)賬 111111,或是 1110000037000000362$RealTimeTransferAct$handingCharge =1. 00 Λ fromAcctld = 1234567890123456789 Λ fromAccName =李某某 Λ toAcctld = 0987654321098765 Λ toAccName =張某某Λ trnAmt = 0. 01 Λ fromAcctAmtBig =壹分Λ 個人轉(zhuǎn)賬111。
12
步驟316 裝置對簽名原文進(jìn)行簽名操作,并將簽名結(jié)果返回給主機(jī)。具體地,當(dāng)簽名原文為待簽名數(shù)據(jù)和動態(tài)口令的組合時,簽名的過程為用哈希算法計算簽名原文的哈希值并按預(yù)設(shè)規(guī)則進(jìn)行填充,使用密鑰對填充后的數(shù)據(jù)進(jìn)行加密,加密結(jié)果即為簽名結(jié)果;當(dāng)簽名原文為待簽名數(shù)據(jù)時,簽名的過程有兩種,一種為用哈希算法計算簽名原文的哈希值并按預(yù)設(shè)規(guī)則進(jìn)行填充,將填充后的數(shù)據(jù)與動態(tài)口令進(jìn)行組合后再加密,加密結(jié)果即為簽名結(jié)果,另一種為用哈希算法計算待簽名數(shù)據(jù),將計算后的哈希值按預(yù)設(shè)規(guī)則進(jìn)行填充,使用密鑰對填充后的數(shù)據(jù)加密,將加密結(jié)果和動態(tài)口令的組合作為簽名結(jié)果。所述動態(tài)口令為當(dāng)前時刻裝置內(nèi)部存儲的動態(tài)口令,所述組合的方式為拼接或交叉組合。實施例四參照圖4,本發(fā)明實施例四提供的另一種多功能智能密鑰裝置的工作方法,具體步驟如下步驟401 接收第一觸發(fā)信息;具體地,所述第一觸發(fā)信息為主機(jī)下發(fā)的觸發(fā)信息報文或按鍵觸發(fā)信息;步驟402 判斷第一觸發(fā)信息是否為主機(jī)下發(fā)的觸發(fā)信息報文,是則執(zhí)行步驟 405,否則執(zhí)行步驟403 ;步驟403 根據(jù)動態(tài)因子和靜態(tài)因子計算生成第一動態(tài)口令;具體地,所述第一動態(tài)口令是裝置將動態(tài)因子和靜態(tài)因子進(jìn)行計算得出的,所述動態(tài)因子為時間因子或生成動態(tài)口令次數(shù)值;或步驟403為,根據(jù)動態(tài)因子、靜態(tài)因子和按鍵觸發(fā)信息中的挑戰(zhàn)值計算生成第一動態(tài)口令;步驟404 輸出第一動態(tài)口令;步驟405 解析觸發(fā)信息報文,得到觸發(fā)信息;步驟406 判斷觸發(fā)信息中是否含有待簽名數(shù)據(jù),是則執(zhí)行步驟408,否則執(zhí)行步驟 407 ;步驟407 根據(jù)主機(jī)下發(fā)的指令讀取數(shù)據(jù)并將所述讀取的數(shù)據(jù)返回給主機(jī),或?qū)χ鳈C(jī)下發(fā)的數(shù)據(jù)進(jìn)行簽名操作并將簽名結(jié)果返回給主機(jī),或根據(jù)主機(jī)下發(fā)的其他命令執(zhí)行對應(yīng)的操作;具體地,上述簽名操作的過程為用哈希算法計算需要簽名數(shù)據(jù)的哈希值,對哈希值用密鑰進(jìn)行加密,加密結(jié)果即為簽名結(jié)果;步驟408 獲取待簽名數(shù)據(jù)中的關(guān)鍵信息;步驟409 輸出關(guān)鍵信息和操作提示信息,等待接收操作觸發(fā)信息;具體地,所述操作觸發(fā)信息用于觸發(fā)確認(rèn)執(zhí)行操作或觸發(fā)取消執(zhí)行操作;步驟410:判斷在預(yù)定時間內(nèi)是否接收到操作觸發(fā)信息,是則執(zhí)行步驟412,否則執(zhí)行步驟411 ;步驟411 輸出超時提示信息,并返回超時提示信息給主機(jī);步驟412 判斷接收到的操作觸發(fā)信息是否為確認(rèn)信息,是則執(zhí)行步驟414,否則執(zhí)行步驟413 ;步驟413 輸出取消提示信息,并返回取消提示信息給主機(jī);
步驟414 輸出確認(rèn)提示信息;步驟415 裝置獲取第二動態(tài)口令,將其與待簽名數(shù)據(jù)進(jìn)行處理生成簽名原文;具體地,所述獲取的第二動態(tài)口令是所述裝置獲取到待簽名數(shù)據(jù)后生成并存儲的,或是裝置接收到確認(rèn)信息后生成的,所述第二動態(tài)口令是所述智能密鑰裝置對動態(tài)因子、靜態(tài)因子進(jìn)行計算得出的,或是對動態(tài)因子、靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算得出的,所述動態(tài)因子為時間因子或生成動態(tài)口令次數(shù)值,所述挑戰(zhàn)值為主機(jī)下發(fā)的挑戰(zhàn)碼或通過鍵盤輸入的數(shù);所述生成簽名原文的過程參照步驟315 ;步驟416 裝置對簽名原文簽名并將簽名結(jié)果返回給主機(jī)。具體地,該步驟中的簽名過程參照步驟316中的簽名過程;在本實施例中,如果所述動態(tài)因子為生成動態(tài)口令次數(shù)值,所述智能密鑰裝置每次根據(jù)所述生成動態(tài)口令次數(shù)值生成動態(tài)口令之后,按照預(yù)設(shè)規(guī)則更新生成動態(tài)口令次數(shù)值,并用更新后的生成動態(tài)口令次數(shù)值替換原生成動態(tài)口令次數(shù)值,或裝置每次生成動態(tài)口令之前,按照預(yù)設(shè)規(guī)則更新生成動態(tài)口令次數(shù)值,并用更新后的生成動態(tài)口令次數(shù)值替換原生成動態(tài)口令次數(shù)值,根據(jù)更新后的生成動態(tài)口令次數(shù)值生成動態(tài)口令,本實施例中所述預(yù)設(shè)規(guī)則為加1或減1。本實施例中的時間因子在接收到時鐘觸發(fā)信息后按照預(yù)設(shè)規(guī)則進(jìn)行變化。以上所述的實施例只是本發(fā)明較優(yōu)選的具體實施方式
,本領(lǐng)域的技術(shù)人員在本發(fā)明技術(shù)方案范圍內(nèi)進(jìn)行的通常變化和替換都應(yīng)包含在本發(fā)明的保護(hù)范圍內(nèi)。
1權(quán)利要求
1.一種多功能智能密鑰裝置,包括USB接口模塊,與主機(jī)建立連接,用作數(shù)據(jù)通訊接口,用于接收或發(fā)送數(shù)據(jù); 判斷模塊,用于判斷是否接收到主機(jī)下發(fā)的觸發(fā)信息報文,用于判斷觸發(fā)信息中是否有待簽名數(shù)據(jù),還用于判斷在預(yù)定時間內(nèi)是否接收到操作觸發(fā)信息,并判斷所述操作觸發(fā)信息是否為執(zhí)行的確認(rèn)信息;解析模塊,用于對所述主機(jī)下發(fā)的所述觸發(fā)信息報文進(jìn)行解析得到觸發(fā)信息,用于從所述待簽名數(shù)據(jù)中獲取關(guān)鍵信息,還用于將所述關(guān)鍵信息和待簽名數(shù)據(jù)發(fā)送給動態(tài)口令模塊;第二存儲模塊,用于存儲密鑰和數(shù)字證書;動態(tài)口令模塊,包括動態(tài)口令生成單元、第一存儲單元和輸出單元,其中, 所述動態(tài)口令生成單元用于生成動態(tài)口令;所述第一存儲單元用于存儲靜態(tài)因子、動態(tài)因子和所述生成的動態(tài)口令; 所述輸出單元用于輸出所述生成的動態(tài)口令和所述解析模塊發(fā)送的關(guān)鍵信息; 按鍵模塊,用于輸入操作觸發(fā)信息,與所述判斷模塊或動態(tài)口令模塊連接; 獲取模塊,用于從所述動態(tài)口令生成單元中或從所述第一存儲單元中獲取動態(tài)口令; 簽名模塊,用于對所述解析模塊發(fā)送的所述待簽名數(shù)據(jù)和所述獲取的動態(tài)口令進(jìn)行處理得到簽名結(jié)果;電源模塊,用于脫機(jī)時為所述動態(tài)口令模塊供電。
2.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述USB接口模塊用于在聯(lián)機(jī)時從主機(jī)獲得電能為所述裝置供電。
3.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述動態(tài)因子為時間因子或生成動態(tài)口令次數(shù)值。
4.如權(quán)利要求1或3所述的多功能智能密鑰裝置,其特征在于,所述動態(tài)口令生成單元用于根據(jù)動態(tài)因子和靜態(tài)因子進(jìn)行計算生成動態(tài)口令。
5.如權(quán)利要求1或3所述的多功能智能密鑰裝置,其特征在于,所述按鍵模塊還用于輸入挑戰(zhàn)值。
6.如權(quán)利要求5所述的多功能智能密鑰裝置,其特征在于,所述動態(tài)口令生成單元用于根據(jù)動態(tài)因子、靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成動態(tài)口令。
7.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述按鍵模塊包括取消鍵和確認(rèn)鍵。
8.如權(quán)利要求1或7所述的多功能智能密鑰裝置,其特征在于,所述按鍵模塊還包括上翻頁鍵和下翻頁鍵。
9.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述簽名模塊將所述獲取的動態(tài)口令添加在所述待簽名數(shù)據(jù)中組成簽名原文;對所述簽名原文進(jìn)行哈希計算得到哈希值并進(jìn)行填充,使用第一存儲模塊中的密鑰對所述填充后的哈希值進(jìn)行加密計算得到簽名結(jié)果。
10.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述簽名模塊對所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,將所述哈希值與所述獲取的動態(tài)口令進(jìn)行組合,對組合結(jié)果進(jìn)行加密計算得到簽名結(jié)果。
11.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述簽名模塊將所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,再對所述哈希值填充后進(jìn)行加密計算,將所述加密后的數(shù)據(jù)與所述獲取的動態(tài)口令組成簽名結(jié)果。
12.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,還包括電流隔離通信模塊,用于脫機(jī)時阻斷流向所述USB接口模塊、解析模塊、判斷模塊、獲取模塊、第二存儲模塊和簽名模塊中的電流。
13.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述輸出單元為顯示屏和 /或語音播報器。
14.如權(quán)利要求13所述的多功能智能密鑰裝置,其特征在于,所述顯示屏為段碼顯示屏或點陣顯示屏。
15.如權(quán)利要求13所述的多功能智能密鑰裝置,其特征在于,所述顯示屏還用于顯示所述待簽名數(shù)據(jù),所述待簽名數(shù)據(jù)包括賬號和/或金額和/或時間和/或地點。
16.如權(quán)利要求1所述的多功能智能密鑰裝置,其特征在于,所述輸出單元還用于輸出確認(rèn)提示信息和/或取消提示信息和/或超時提示信息。
17.—種多功能智能密鑰裝置的工作方法,其特征在于,包括步驟A 接收第一觸發(fā)信息;步驟B 判斷所述第一觸發(fā)信息是否是主機(jī)下發(fā)的觸發(fā)信息報文,是則執(zhí)行步驟C,否則生成動態(tài)口令并進(jìn)行顯示;步驟C 對所述觸發(fā)信息報文進(jìn)行解析得到觸發(fā)信息,判斷所述觸發(fā)信息中是否有待簽名數(shù)據(jù);是則執(zhí)行步驟D,否則根據(jù)所述解析得到的觸發(fā)信息進(jìn)行相應(yīng)操作;步驟D 獲取所述待簽名數(shù)據(jù)中的關(guān)鍵信息并進(jìn)行顯示;步驟E 判斷在預(yù)設(shè)時間內(nèi)是否接收到操作觸發(fā)信息,是則判斷所述操作觸發(fā)信息是否為執(zhí)行的確認(rèn)信息,是確認(rèn)信息則獲取動態(tài)口令,將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果,不是確認(rèn)信息則輸出取消提示信息;否則輸出超時提示信息。
18.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述第一觸發(fā)信息為所述裝置內(nèi)設(shè)置的時鐘源發(fā)送的信息,所述步驟B中生成動態(tài)口令具體為將存儲的時間因子和存儲的靜態(tài)因子進(jìn)行計算得到動態(tài)口令。
19.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述第一觸發(fā)信息為按鍵觸發(fā)信息,所述按鍵觸發(fā)信息中包括挑戰(zhàn)值,所述步驟B中生成動態(tài)口令具體為將存儲的時間因子、存儲的靜態(tài)因子和所述挑戰(zhàn)值進(jìn)行計算得到動態(tài)口令。
20.如權(quán)利要求18或19所述的多功能智能密鑰裝置的工作方法,其特征在于,所述時間因子在接收到時鐘源觸發(fā)信息時按照預(yù)設(shè)規(guī)則進(jìn)行變化。
21.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述第一觸發(fā)信息是按鍵觸發(fā)信息,所述裝置中存儲有生成動態(tài)口令的次數(shù)值,所述步驟B中生成動態(tài)口令具體為將所述存儲的次數(shù)值和靜態(tài)因子進(jìn)行計算得到動態(tài)口令。
22.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述第一觸發(fā)信息是按鍵觸發(fā)信息,所述按鍵觸發(fā)信息包含通過按鍵輸入的挑戰(zhàn)值,所述裝置中存儲有生成動態(tài)口令的次數(shù)值,所述步驟B中生成動態(tài)口令具體為將所述存儲的次數(shù)值、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算得到動態(tài)口令。
23.如權(quán)利要求21或22所述的多功能智能密鑰裝置的工作方法,其特征在于,在計算得到動態(tài)口令之前或之后,將所述存儲的動態(tài)口令生成次數(shù)值按照預(yù)設(shè)規(guī)則進(jìn)行變化,將存儲的原動態(tài)口令生成次數(shù)值替換為變化后的次數(shù)值。
24.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述獲取動態(tài)口令為獲取當(dāng)前生成的動態(tài)口令或獲取步驟E之前生成并存儲的動態(tài)口令。
25.如權(quán)利要求M所述的多功能智能密鑰裝置的工作方法,其特征在于,所述當(dāng)前生成的動態(tài)口令為根據(jù)存儲的時間因子和存儲的靜態(tài)因子進(jìn)行計算生成的動態(tài)口令;或根據(jù)存儲的時間因子、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成的動態(tài)口令;或根據(jù)所述執(zhí)行的確認(rèn)信息將存儲的動態(tài)口令生成次數(shù)值和存儲的靜態(tài)因子進(jìn)行計算生成的動態(tài)口令;或根據(jù)所述執(zhí)行的確認(rèn)信息將存儲的動態(tài)口令生成次數(shù)值、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成的動態(tài)口令。
26.如權(quán)利要求M所述的多功能智能密鑰裝置的工作方法,其特征在于,所述獲取步驟E之前生成并存儲的動態(tài)口令具體為在步驟E之前根據(jù)按鍵觸發(fā)將存儲的動態(tài)口令生成次數(shù)值和存儲的靜態(tài)因子進(jìn)行計算生成動態(tài)口令并進(jìn)行存儲,獲取所述存儲的動態(tài)口令;或在步驟E之前,根據(jù)按鍵觸發(fā)將存儲的動態(tài)口令生成次數(shù)值、存儲的靜態(tài)因子和挑戰(zhàn)值進(jìn)行計算生成動態(tài)口令并進(jìn)行存儲,獲取所述存儲的動態(tài)口令。
27.如權(quán)利要求25或沈所述的多功能智能密鑰裝置的工作方法,其特征在于,所述挑戰(zhàn)值為主機(jī)下發(fā)的挑戰(zhàn)碼或通過所述裝置的按鍵模塊輸入的數(shù)。
28.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果具體為將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)組成簽名原文;對所述簽名原文進(jìn)行哈希計算得到哈希值并進(jìn)行填充,對所述填充后的哈希值進(jìn)行加密計算得到簽名結(jié)果。
29.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果具體為對所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,對所述哈希值填充后與所述獲取的動態(tài)口令進(jìn)行組合;對組合結(jié)果進(jìn)行加密計算得到簽名結(jié)果。
30.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述將所述獲取的動態(tài)口令與所述待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果具體為對所述待簽名數(shù)據(jù)進(jìn)行哈希計算得到哈希值,再對哈希值填充后進(jìn)行加密計算,將所述加密后的數(shù)據(jù)與所述獲取的動態(tài)口令組成簽名結(jié)果。
31.如權(quán)利要求觀-30任意一項所述的多功能智能密鑰裝置的工作方法,其特征在于, 所述組成方式為拼接或交叉組合。
32.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述確認(rèn)提示信息、取消提示信息和超時提示信息以顯示方式輸出和/或語音播報方式輸出。
33.如權(quán)利要求17所述的多功能智能密鑰裝置的工作方法,其特征在于,所述動態(tài)口令和關(guān)鍵信息通過顯示方式輸出。
34.如權(quán)利要求32或33所述的多功能智能密鑰裝置的工作方法,其特征在于,所述顯示方式為字幕滾動或翻屏。
35.如權(quán)利要求34所述的多功能智能密鑰裝置的工作方法,其特征在于,所述翻屏方式具體為每隔設(shè)定時間翻一頁,或通過上翻按鍵和下翻按鍵控制翻屏。
全文摘要
本發(fā)明公開了一種多功能智能密鑰裝置及其工作方法,屬于信息安全領(lǐng)域。所述裝置包括USB接口模塊、判斷模塊、解析模塊、簽名模塊、動態(tài)口令模塊、輸出模塊、按鍵模塊以及電源模塊。所述工作方法包括智能密鑰裝置接收到主機(jī)下發(fā)的觸發(fā)信息報文后解析觸發(fā)信息報文得到觸發(fā)信息,判斷觸發(fā)信息中是否含有待簽名數(shù)據(jù),是則提取關(guān)鍵信息,等待接收操作觸發(fā)信息,否則根據(jù)所述觸發(fā)信息進(jìn)行相應(yīng)操作,智能密鑰裝置接收到操作觸發(fā)信息后判斷所述操作觸發(fā)信息是否為執(zhí)行的確認(rèn)信息,是則獲取動態(tài)口令,將所述動態(tài)口令和待簽名數(shù)據(jù)進(jìn)行處理得到簽名結(jié)果,否則輸出取消提示信息。
文檔編號G07F7/10GK102222390SQ20111018265
公開日2011年10月19日 申請日期2011年6月30日 優(yōu)先權(quán)日2011年6月30日
發(fā)明者于華章, 陸舟 申請人:飛天誠信科技股份有限公司