亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種多功能智能密鑰設(shè)備及其工作方法

文檔序號:6399321閱讀:120來源:國知局
專利名稱:一種多功能智能密鑰設(shè)備及其工作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息安全領(lǐng)域,尤其涉及一種多功能智能密鑰設(shè)備及其工作方法。
背景技術(shù)
目前移動設(shè)備上的應(yīng)用軟件越來越多,尤其是醫(yī)療領(lǐng)域,一些手持檢測設(shè)備的軟件都是基于PDA(Personal Digital Assistant,個人掌上電腦)平臺開發(fā)的,但是這些軟件很容易遭到黑客破解,如果在移動設(shè)備上綁定一個智能密鑰設(shè)備將很好地解決盜版問題。由于移動設(shè)備的特殊性,不同廠家的移動設(shè)備的硬件接口都不太一樣,但是幾乎所有的移動設(shè)備都支持藍牙通信,且藍牙接口都是一致的,所以使用藍牙技術(shù)可以解決接口不一致的問題。

發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的不足,提供了一種多功能智能密鑰設(shè)備及其工作方法。本發(fā)明采用的技術(shù)方案是:一種多功能智能密鑰設(shè)備及其工作方法,包括:步驟101:智能密鑰設(shè)備上電初始化,打開中斷;步驟102:所述智能密鑰設(shè)備讀取藍牙模塊的參數(shù),并判斷是否能夠成功讀取藍牙模塊參數(shù),如果是,則將藍牙模塊切換至連接狀態(tài),執(zhí)行步驟103,否則執(zhí)行步驟103 ;步驟103:所述智能密鑰設(shè)備判斷工作電壓是否低于預(yù)設(shè)值,如果是,則提示低電壓狀態(tài),第一預(yù)設(shè)時間后關(guān)閉所述智能密鑰設(shè)備,否則執(zhí)行步驟104 ;步驟104:所述智能密鑰設(shè)備判斷是否接收到中斷信號,如果是,則進入中斷,執(zhí)行相應(yīng)操作,待操作結(jié)束后退出中斷,返回執(zhí)行步驟103,否則直接返回執(zhí)行步驟103 ;當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,執(zhí)行相應(yīng)操作,退出插USB中斷;和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,執(zhí)行相應(yīng)操作,退出USB連接中斷;和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,執(zhí)行相應(yīng)操作,退出USB斷開連接中斷;和/或當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,執(zhí)行相應(yīng)操作,退出拔USB中斷;和/或當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,執(zhí)行相應(yīng)操作,退出藍牙連接中斷;和/或當所述智能密鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,執(zhí)行相應(yīng)操作,退出藍牙斷開連接中斷;和/或當所述智能密鑰設(shè)備收到USB指令信號時,進入USB接收指令中斷,執(zhí)行步驟A至步驟B ;
和/或當所述智能密鑰設(shè)備收到藍牙指令信號時,進入藍牙接收指令中斷,執(zhí)行步驟A至步驟B:步驟A:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟B,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,退出相應(yīng)的接收指令中斷;步驟B:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,退出相應(yīng)的接收指令中斷,否則向上位機返回獲取身份合法標識失敗的響應(yīng),退出相應(yīng)的接收指令中斷。所述根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,具體包括:如果所述智能密鑰設(shè)備接收到的是執(zhí)行身份認證的指令,則所述智能密鑰設(shè)備將指令中的認證信息和設(shè)備內(nèi)部保存的認證信息進行比較,如果相同,表示認證合法,則將身份合法標識保存,并向上位機返回身份認證合法的相應(yīng),退出相應(yīng)的接收指令中斷,如果不相同,則表示認證不合法,則清除身份合法標識,并向上位機返回身份認證不合法的響應(yīng);如果所述智能密鑰設(shè)備接收到的是執(zhí)行加密操作的指令,則運用加密算法,使用指定的密鑰進行加密,然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是執(zhí)行解密操作的指令,則運用解密算法,使用指定的密鑰進行解密,然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是生成隨機數(shù)的指令,則解析所述指令得到需要的隨機數(shù)的長度,調(diào)用隨機數(shù)函數(shù)得到隨機數(shù)并保存,然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是數(shù)據(jù)讀寫操作的指令,則解析所述指令,得到需要進行讀寫操作的區(qū)域,讀取相應(yīng)區(qū)域的數(shù)據(jù)或向相應(yīng)的區(qū)域?qū)懭霐?shù)據(jù),然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是其他操作指令,則執(zhí)行相應(yīng)的操作后,將執(zhí)行結(jié)果返回給上位機。所述智能密鑰設(shè)備進行身份認證的方式是:所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的PIN碼信息與所述智能密鑰設(shè)備中保存的PIN碼信息是否匹配;和/或所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的用戶生物特征信息與所述智能密鑰設(shè)備中保存的用戶生物特征模板是否匹配。當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,退出插USB中斷,否則所述智能密鑰設(shè)備進入充電模式,退出插USB中斷;和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,MCU被喚醒,打開USB通道使能,清除身份合法標識,退出USB連接中斷;和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出USB斷開連接中斷;和/或當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出拔USB中斷,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,退出拔USB中斷;和/或當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷,否則關(guān)閉藍牙通道使能,退出藍牙連接中斷;和/或當所述智能密鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則退出藍牙斷開連接中斷,否則將休眠標識置位,關(guān)閉藍牙通道使能,清除身份合法標識,退出藍牙斷開連接中斷。當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,退出插USB中斷,否則所述智能密鑰設(shè)備進入充電模式,退出插USB中斷;和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,判斷所述智能密鑰設(shè)備是否通過藍牙與上位機連接,如果是,則關(guān)閉USB通道使能,所述智能密鑰設(shè)備進入充電模式,退出USB連接中斷,否則打開USB通道使能,所述智能密鑰設(shè)備進入充電模式,清除身份合法標識,退出USB連接中斷;和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出USB斷開連接中斷;和/或當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,判斷所述智能密鑰設(shè)備是否通過藍牙與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,退出拔USB中斷,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,清除身份合法標識,退出拔USB中斷;和/或當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,MCU被喚醒,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷,否則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷;和/或當所述智能密鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,關(guān)閉藍牙通道使能,打開USB通道使能,清除身份合法標識,退出藍牙斷開連接中斷。所述步驟104之后還包括:如果USB通道先接收到指令,則所述智能密鑰設(shè)備進入USB接收指令中斷,保存USB通道標識,關(guān)閉藍牙通道使能,執(zhí)行步驟A至步驟B,根據(jù)保存的USB通道標識,通過USB通道向上位機返回響應(yīng),退出USB接收指令中斷;如果藍牙通道先接收到指令,則所述智能密鑰設(shè)備進入藍牙接收指令中斷,保存藍牙通道標識,關(guān)閉USB通道使能,執(zhí)行步驟A至步驟B,根據(jù)保存的藍牙通道標識,通過藍牙通道向上位機返回響應(yīng),退出藍牙接收指令中斷。所述步驟104之后還包括:如果所述智能密鑰設(shè)備接收到的是切換通道指令,則進入當前接收指令中斷,t匕較所述切換通道指令中指定的通道標識與當前通道標識:如果兩者相同,則向上位機返回響應(yīng),退出當前接收指令中斷;如果兩者不相同,當所述指定的通道標識為USB通道標識時,關(guān)閉藍牙通道使能,將藍牙通道標識復(fù)位,打開USB通道使能,退出當前接收指令中斷,當所述指定的通道標識為藍牙通道標識時,關(guān)閉USB通道標識,將USB通道標識復(fù)位,打開藍牙通道使能,退出當前接收指令中斷。所述打開中斷還包括打開定時器中斷:當所述智能密鑰設(shè)備收到定時器觸發(fā)時,進入定時器中斷,計數(shù)清零,將休眠標識置位,退出定時器中斷。所述將休眠標識置位具體包括:增加分頻數(shù)值,降低總線時鐘的頻率,MCU內(nèi)核電壓等級切換至電壓范圍I的狀態(tài),失能第一串行通道接口、第二串行通道接口外設(shè),MCU休眠。步驟201:智能密鑰設(shè)備上電初始化,打開中斷;當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,保存插USB中斷標識,退出插USB中斷;和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,保存USB連接中斷標識,退出USB連接中斷;和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,保存USB斷開連接中斷標識,退出USB斷開連接中斷;當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,保存拔USB中斷標識,退出拔USB中斷;和/或當所述智能密鑰設(shè)備收到藍牙連接/斷開連接信號時,進入藍牙連接/斷開連接中斷,保存藍牙連接/斷開連接中斷標識,退出藍牙連接/斷開連接中斷;和/或當所述智能密鑰設(shè)備收到藍牙/USB接收指令中斷信號時,進入藍牙/USB接收指令中斷,保存藍牙/USB接收指令中斷標識,退出藍牙/USB接收指令中斷;步驟202:所述智能密鑰設(shè)備讀取藍牙模塊的參數(shù),并判斷是否能夠成功讀取藍牙模塊參數(shù),如果是,則將藍牙模塊切換至連接狀態(tài),執(zhí)行步驟203,否則執(zhí)行步驟203 ;步驟203:所述智能密鑰設(shè)備判斷工作電壓是否低于預(yù)設(shè)值,如果是,則提示低電壓狀態(tài),第一預(yù)設(shè)時間后關(guān)閉所述智能密鑰設(shè)備,否則執(zhí)行步驟204 ;步驟204:判斷是否存在中斷標識,如果是,則根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,否則重新執(zhí)行步驟204 ;其中,當所述智能密鑰設(shè)備中存在藍牙/USB接收指令中斷標識時,根據(jù)藍牙/USB接收指令中斷標識類型執(zhí)行步驟A至步驟B:步驟A:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟B,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,返回執(zhí)行步驟204 ;步驟B:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,返回執(zhí)行步驟204,否則向上位機返回獲取身份合法標識失敗的響應(yīng),返回執(zhí)行步驟204。所述根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,具體包括:如果所述智能密鑰設(shè)備接收到的是執(zhí)行身份認證的指令,則所述智能密鑰設(shè)備將指令中的認證信息和設(shè)備內(nèi)部保存的認證信息進行比較,如果相同,表示認證合法,則將身份合法標識保存,并向上位機返回身份認證合法的響應(yīng),退出相應(yīng)的接收指令中斷,如果不相同,則表示認證不合法,則清除身份合法標識,并向上位機返回身份認證不合法的響應(yīng);如果所述智能密鑰設(shè)備接收到的是執(zhí)行加密操作的指令,則運用加密算法,使用指定的密鑰進行加密,然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是執(zhí)行解密操作的指令,則運用解密算法,使用指定的密鑰進行解密,然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是生成隨機數(shù)的指令,則解析所述指令得到需要的隨機數(shù)的長度,調(diào)用隨機數(shù)函數(shù)得到隨機數(shù)并保存,然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是數(shù)據(jù)讀寫操作的指令,則解析所述指令,得到需要進行讀寫操作的區(qū)域,讀取相應(yīng)區(qū)域的數(shù)據(jù)或向相應(yīng)的區(qū)域?qū)懭霐?shù)據(jù),然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是其他操作指令,則執(zhí)行相應(yīng)的操作后,將執(zhí)行結(jié)果返回給上位機。所述智能密鑰設(shè)備進行身份認證的方式是:所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的PIN碼信息與所述智能密鑰設(shè)備中保存的PIN碼信息是否匹配;和/或所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的用戶生物特征信息與所述智能密鑰設(shè)備中保存的用戶生物特征信息是否匹配。所述步驟204中,根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,具體包括:如果所述智能密鑰設(shè)備中存在插USB中斷標識,則判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204如果所述智能密鑰設(shè)備中存在USB連接中斷標識,則MCU被喚醒,打開USB通道使能,清除身份合法標識,重新執(zhí)行步驟204 ;如果所述智能密鑰設(shè)備中存在USB斷開連接中斷標識,則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟204 ;如果所述智能密鑰設(shè)備中存在拔USB中斷標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,重新執(zhí)行步驟204 ;如果所述智能密鑰設(shè)備中存在藍牙連接中斷標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則清除藍牙連接中斷標識,重新執(zhí)行步驟204,否則打開藍牙通道使能,清除藍牙連接中斷標識,清除身份合法標識,重新執(zhí)行步驟204 ;如果所述智能密鑰設(shè)備中存在藍牙斷開連接中斷標識時,清除藍牙斷開連接中斷標識,重新執(zhí)行步驟204。所述步驟204中,根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,還包括:如果所述智能密鑰設(shè)備中存在插USB中斷標識,則判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204 ;
如果所述智能密鑰設(shè)備中存在USB連接中斷標識,則判斷所述智能密鑰設(shè)備是否通過藍牙與上位機連接,如果是,則關(guān)閉USB通道使能,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204,否則打開USB通道使能,所述智能密鑰設(shè)備進入充電模式,清除身份合法標識,重新執(zhí)行步驟204;如果所述智能密鑰設(shè)備中存在USB斷開連接中斷標識,則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟204 ;如果所述智能密鑰設(shè)備中存在拔USB中斷標識,則判斷所述智能密鑰設(shè)備是否通過藍牙與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,清除身份合法標識,重新執(zhí)行步驟
204;如果所述智能密鑰設(shè)備中存在藍牙連接標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則關(guān)閉USB通道使能,打開藍牙通道使能,清除藍牙連接中斷標識,清除身份合法標識,重新執(zhí)行步驟204,否則打開藍牙通道使能,清除藍牙連接中斷標識,重新執(zhí)行步驟204;如果所述智能密鑰設(shè)備中存在藍牙斷開連接中斷標識,則關(guān)閉藍牙通道使能,打開USB通道使能,清除藍牙斷開連接中斷標識,清除身份合法標識,重新執(zhí)行步驟204。當所述智能密鑰設(shè)備中存在接收指令中斷標識時:如果USB通道先接收到指令,則所述智能密鑰設(shè)備保存USB通道標識,關(guān)閉藍牙通道使能,執(zhí)行步驟A至步驟B,然后根據(jù)保存的USB通道標識,通過USB通道向上位機返回響應(yīng);如果藍牙通道先接收到指令,則所述智能密鑰設(shè)備保存藍牙通道標識,關(guān)閉USB通道使能,執(zhí)行步驟A至步驟B,然后根據(jù)保存的藍牙通道標識,通過藍牙通道向上位機返回響應(yīng)。當所述智能密鑰設(shè)備中存在接收指令中斷標識時:如果所述智能密鑰設(shè)備接收到的是切換通道指令,則比較所述切換通道指令中指定的通道標識與當前通道標識:如果兩者相同,則向上位機返回響應(yīng),重新執(zhí)行步驟204 ;如果兩者不相同,當所述指定的通道標識為USB通道標識時,關(guān)閉藍牙通道使能,將藍牙通道標識復(fù)位,打開USB通道使能,重新執(zhí)行步驟204,當所述指定的通道標識為藍牙通道標識時,關(guān)閉USB通道標識,將USB通道標識復(fù)位,打開藍牙通道使能,重新執(zhí)行步驟204。所述打開中斷還包括打開定時器中斷;當所述智能密鑰設(shè)備收到定時器觸發(fā)時,進入定時器中斷,保存定時器中斷標識,退出定時器中斷;所述根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,具體包括:當所述智能密鑰設(shè)備中存在定時器中斷標識時,將計數(shù)清零。USB接口模塊:與USB獲取模塊相連,用于通過USB接口與上位機建立連接;藍牙接口模塊:與藍牙獲取模塊相連,用于通過藍牙接口與上位機建立連接;USB獲取模塊:與USB接口模塊相連,用于獲取休眠標識,用于獲取中斷標識;與接收模塊相連,用于獲取接收到的指令的類型,用于接收上位機提供的電能; 藍牙獲取模塊:與藍牙接口模塊相連,用于獲取設(shè)備內(nèi)的藍牙模塊的參數(shù),用于獲取休眠標識,用于獲取中斷標識;判斷模塊:與接收模塊相連,用于判斷休眠標識是否置位,用于判斷休眠標識是否置位,用于判斷接收到的指令的類型,用于判斷是否存在中斷標識,用于判斷是否接收到中斷觸發(fā)信號,用于判斷接收到的是否是身份認證指令,用于判斷執(zhí)行接收到的指令是否需要進行身份認證,用于判斷是否能夠獲取到身份合法標識;接收模塊:與判斷模塊相連,用于通過USB通道或藍牙通道接收上位機發(fā)送的指令,用于接收中斷觸發(fā)信號;操作模塊:與接收模塊相連,用于根據(jù)接收到的指令進行相應(yīng)的操作,用于所述休眠標識置位時,控制所述裝置進入休眠狀態(tài),用于處理接收到的中斷觸發(fā)信號;發(fā)送模塊:與操作模塊相連,用于根據(jù)接收到的指令執(zhí)行相應(yīng)操作后將對應(yīng)生成的響應(yīng)返回給上位機。本發(fā)明取得的有益效果是:本智能密鑰設(shè)備同時具備藍牙通信和USB通信的功能,方便了不同接口設(shè)備之間的通信。


圖1-1是本發(fā)明實施例1提供的一種多功能智能密鑰設(shè)備及其工作方法的流程圖;圖1-2至圖1-9是圖1-1中步驟107的一種實現(xiàn)方式的細化圖;圖1-10至圖1-15是圖1-1中步驟107的另外一種實現(xiàn)方式的細化圖;圖2-1和圖2-2是本發(fā)明實施例2提供的一種多功能智能密鑰設(shè)備及其工作方法流程圖;圖3是本發(fā)明實施例3提供的一種多功能智能密鑰設(shè)備的裝置圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。實施例1本發(fā)明實施例1提供一種多功能智能密鑰設(shè)備及其工作方法,如圖1-1所示,包括:步驟101:智能密鑰設(shè)備上電初始化,步驟102:打開中斷;所述打開中斷包括:打開定時器中斷和/或插USB中斷和/或USB連接中斷和/或USB斷開連接中斷和/或拔USB中斷和/或藍牙連接中斷和/或藍牙斷開連接中斷和/或藍牙接收指令中斷和/或USB接收指令中斷;步驟103:所述智能密鑰設(shè)備讀取藍牙模塊的參數(shù),并判斷是否能夠成功讀取藍牙模塊參數(shù),如果是,則執(zhí)行步驟104,否則執(zhí)行步驟105 ;具體的,智能密鑰設(shè)備從藍牙模塊中讀取藍牙模塊的參數(shù),并根據(jù)藍牙模塊的參數(shù)的最后一個字節(jié)判斷是否成功讀取藍牙模塊的參數(shù),如果藍牙模塊的參數(shù)的最后一個字節(jié)是0x01,則表示智能密鑰設(shè)備成功讀取藍牙模塊的參數(shù),否則智能密鑰設(shè)備讀取藍牙模塊參數(shù)失??;步驟104:將藍牙模塊切換至連接狀態(tài),執(zhí)行步驟105 ;在本實施例中,將藍牙模塊狀態(tài)輸出引腳閉合;步驟105:所述智能密鑰設(shè)備判斷工作電壓是否低于預(yù)設(shè)值,如果是,則提示低電壓狀態(tài),第一預(yù)設(shè)時間后關(guān)閉所述智能密鑰設(shè)備,否則執(zhí)行步驟106 ;在本實施例中,可以通過屏幕提示低電壓狀態(tài),通過變換指示燈顏色提示低電壓狀態(tài),也可以通過蜂鳴提示低電壓狀態(tài);所述第一預(yù)設(shè)時間可以是20s ;步驟106:所述智能密鑰設(shè)備判斷是否接收到中斷觸發(fā)信號,如果是,則執(zhí)行步驟107,否則直接返回步驟105 ;步驟107:所述智能密鑰設(shè)備進入相應(yīng)觸發(fā)信號中斷,執(zhí)行相應(yīng)操作,退出相應(yīng)觸發(fā)信號中斷,返回執(zhí)行步驟105;其中,所述進入相應(yīng)觸發(fā)信號中斷,執(zhí)行相應(yīng)操作,退出相應(yīng)觸發(fā)信號中斷具體包括:如圖1-2所示,當所述智能密鑰設(shè)備收到定時器觸發(fā)時,進入定時器中斷,計數(shù)清零,將休眠標識置位,退出定時器中斷;和/或,如圖1-3所示,當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,退出插USB中斷,否則所述智能密鑰設(shè)備進入充電模式,退出插USB中斷;和/或,如圖1-4所示,當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,MCU被喚醒,打開USB通道使能,清除身份合法標識,退出USB連接中斷;和/或,如圖1-5所示,當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出USB斷開連接中斷;和/或,如圖1-6所示,當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出拔USB中斷,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,退出拔USB中斷;和/或,如圖1-7所示,當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷,否則關(guān)閉藍牙通道使能,退出藍牙連接中斷;和/或,如圖1-8所示,當所述智能密鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則退出藍牙斷開連接中斷,否則將休眠標識置位,關(guān)閉藍牙通道使能,清除身份合法標識,退出藍牙斷開連接中斷;
和/或,如圖1-9所示,當所述智能密鑰設(shè)備收到藍牙/USB指令信號時,進入藍牙/USB接收指令中斷,保存藍牙/USB通道標識,執(zhí)行步驟108至步驟120:如果收到藍牙指令信號時,將通道標識置位0,如果收到USB指令信號時,將通道標識置位I ;步驟108:所述智能密鑰設(shè)備判斷接收到的是否是執(zhí)行身份認證的指令,是,則執(zhí)行步驟109,否則執(zhí)行步驟110 ;步驟109:所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的身份認證信息與設(shè)備中保存的身份認證信息是否匹配,如果是,則表示認證合法,將身份合法標識保存,并向上位機返回身份合法的響應(yīng),退出相應(yīng)的接收指令中斷,否則表示認證不合法,清除身份合法標識,并向上位機返回認證身份不合法的響應(yīng),退出相應(yīng)的接收指令中斷;在本實施例中,判斷身份認證是否合法,優(yōu)選的是,判斷接收到的執(zhí)行身份認證的指令中包含的PIN碼信息與所述智能密鑰設(shè)備中保存的PIN碼信息是否匹配,除此之外,也可以是判斷所述執(zhí)行身份認證的指令中包含的用戶生物特征信息與所述智能密鑰設(shè)備中保存的用戶生物特征模板是否匹配;步驟110:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟111,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并向上位機返回相應(yīng)的響應(yīng),退出相應(yīng)的接收指令中斷;部分指令是不需要認證身份的,例如,部分讀數(shù)據(jù)操作指令;步驟111:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則執(zhí)行步驟112,否則向上位機返回獲取身份合法標識失敗的響應(yīng),退出相應(yīng)的接收指令中斷;步驟112:智能密鑰設(shè)備判斷接收到的指令的類型;如果接收的指令是生成隨機數(shù)指令,則執(zhí)行步驟113 ;如果接收的指令是加解密指令,則執(zhí)行步驟115 ;如果接收的指令是數(shù)據(jù)讀寫操作指令,則執(zhí)行步驟117 ;如果接收的指令是其他操作指令,則執(zhí)行步驟119 ;本實施例中,接收到的指令是由指令字和數(shù)據(jù)域組成的,其中指令的指令字是指令的前四個字節(jié),用于判斷接收到的指令的類型,從第五個字節(jié)開始是指令的數(shù)據(jù)域,指令的數(shù)據(jù)域長度是可變的,指令要做的操作是由指令的數(shù)據(jù)域決定的;如果接收的指令的指令字是00C60100,則表示接收的是生成隨機數(shù)指令;如果接收的指令的指令字是00840000,則表示接收的是加解密指令;如果指令字是00490100,則表示接收的是加密指令;如果指令字是00500100,則表示接收的是解密指令;如果接收的指令的指令字是00C10100,則表示接收的是數(shù)據(jù)讀寫操作指令;如果接收的指令的指令字是其他字節(jié),則表示接收的是其他操作指令;步驟113:智能密鑰設(shè)備執(zhí)行生成隨機數(shù)指令,生成第一結(jié)果;步驟113-1:從指令中解析得到需要生成的隨機數(shù)的長度(最長不得超過16個字節(jié));步驟113-2:調(diào)用RAMDOM (獲取隨機數(shù)函數(shù))得到隨機數(shù);步驟113-3:將RAMDOM返回的隨機數(shù)進行保存;
所述第一結(jié)果是生成的隨機數(shù)或是執(zhí)行操作失敗的錯誤響應(yīng);步驟114:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送第一結(jié)果,退出相應(yīng)的接收指令中斷,否則通過藍牙通道向上位機發(fā)送第一結(jié)果,退出藍牙接收指令中斷;步驟115:智能密鑰設(shè)備使用加解密算法執(zhí)行加解密指令,生成第二結(jié)果;優(yōu)選地,在本實施例中,所述加解密算法是RSA算法,也可使用其他算法,如3DES,AES 等;如果指令的指令字是00490100,表示接收的是加密指令,執(zhí)行完加密指令,生成相應(yīng)的響應(yīng)結(jié)果,響應(yīng)結(jié)果是錯誤或加密后的密文;如果指令的指令字是00500100,表示接收的是解密指令,執(zhí)行完解密指令,生成相應(yīng)的響應(yīng)結(jié)果,響應(yīng)結(jié)果是錯誤或解密后的明文;智能密鑰設(shè)備運用不同的加解密算法執(zhí)行時,所用的步驟是不同的,如下面算法的實現(xiàn)過程:1、運用RSA算法對數(shù)據(jù)進行加解密的過程包括:A:產(chǎn)生RSA密鑰對;其中密鑰的長度是以位來計算的,智能密鑰設(shè)備只能夠支持1024位和512位長度的密鑰;智能密鑰設(shè)備可以通過調(diào)用系統(tǒng)函數(shù)rsa_gen_key (word_pubkey, word_keyIen,word_prikey)來創(chuàng)建密鑰對;B:根據(jù)公鑰文件ID或私鑰文件ID選擇指定的密鑰對數(shù)據(jù)進行加解密;根據(jù)程序傳入的密鑰ID,選擇指定的密鑰對相關(guān)的數(shù)據(jù)進行加解密操作,并將加密或者解密后的結(jié)果返回。2、使用DES和3DES算法對數(shù)據(jù)進行加解密的過程包括:A:建立內(nèi)部數(shù)據(jù)文件;B:在內(nèi)部數(shù)據(jù)文件中寫入DES或3DES密鑰;其中,DES和3DES密鑰是根據(jù)密鑰的長度來區(qū)別的:長度為8個字節(jié)的密鑰為DES密鑰,長度為16個字節(jié)的密鑰是3DES密鑰;C:根據(jù)DES或者3DES密鑰的ID選擇指定的密鑰對數(shù)據(jù)進行加解密;其中,加密時,數(shù)據(jù)的長度必須是8的倍數(shù),因為智能密鑰設(shè)備不會自動填充,所以需要手動將數(shù)據(jù)填充成8的倍數(shù);所述第二結(jié)果是生成的加解密結(jié)果或是執(zhí)行失敗的錯誤響應(yīng);步驟116:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送第二結(jié)果,退出USB接收指令中斷,否則通過藍牙通道向上位機發(fā)送第二結(jié)果,退出藍牙接收指令中斷;步驟117:智能密鑰設(shè)備解析所述數(shù)據(jù)讀寫操作指令,得到需要進行讀寫操作的區(qū)域,讀取相應(yīng)區(qū)域的數(shù)據(jù)或向相應(yīng)區(qū)域?qū)懭霐?shù)據(jù),生成第三結(jié)果;所述第三結(jié)果是執(zhí)行數(shù)據(jù)讀寫成功的結(jié)果或失敗的響應(yīng);步驟118:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送第三結(jié)果,退出USB接收指令中斷,否則通過藍牙通道向上位機發(fā)送第三結(jié)果,退出藍牙接收指令中斷;步驟119:智能密鑰設(shè)備執(zhí)行其他的操作指令,生成相應(yīng)結(jié)果;步驟120:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送相應(yīng)的結(jié)果,退出USB接收指令中斷,否則通過藍牙通道向上位機發(fā)送相應(yīng)的結(jié)果,退出藍牙接收指令中斷;步驟107中所述進入相應(yīng)觸發(fā)信號中斷,執(zhí)行相應(yīng)操作,退出相應(yīng)觸發(fā)信號中斷具體包括可以替換為:當所述智能密鑰設(shè)備收到定時器觸發(fā)時,進入定時器中斷,計數(shù)清零,將休眠標識置位,退出定時器中斷;如圖1-10所示,當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,退出插USB中斷,否則所述智能密鑰設(shè)備進入充電模式,退出插USB中斷;和/或,如圖1-11所示,當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,判斷所述智能密鑰設(shè)備是否通過藍牙與上位機連接,如果是,則關(guān)閉USB通道使能,所述智能密鑰設(shè)備進入充電模式,退出USB連接中斷,否則打開USB通道使能,所述智能密鑰設(shè)備進入充電模式,清除身份合法標識,退出USB連接中斷;和/或,如圖1-12所示,當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出USB斷開連接中斷;和/或,如圖1-13所示,當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,判斷所述智能密鑰設(shè)備是否通過藍牙與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,退出拔USB中斷,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,清除身份合法標識,退出拔USB中斷;和/或,如圖1-14所示,當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,MCU被喚醒,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷,否則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷;和/或,如圖1-15所示,當所述智能密鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,關(guān)閉藍牙通道使能,打開USB通道使能,清除身份合法標識,退出藍牙斷開連接中斷。和/或當所述智能密鑰設(shè)備收到藍牙/USB接收指令信號時,進入藍牙/USB接收指令中斷,執(zhí)行步驟A至步驟C:步驟A:所述智能密鑰設(shè)備判斷接收到的是否是執(zhí)行身份認證的指令,是則所述智能密鑰設(shè)備將指令中的認證信息和設(shè)備內(nèi)部保存的認證信息進行比較,如果相同,則表示認證合法,將身份合法標識保存,退出相應(yīng)的接收指令中斷,如果不相同,則表示認證不合法,清除身份合法標識,并向上位機返回身份認證不合法的響應(yīng),退出相應(yīng)的接收指令中斷,否則直接執(zhí)行步驟B;步驟B:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟C,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,退出相應(yīng)的接收指令中斷;步驟C:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,退出相應(yīng)的接收指令中斷,否則向上位機返回獲取身份合法標識失敗的響應(yīng),退出相應(yīng)的接收指令中斷。所述步驟107還可以包括:如果USB通道先接收到指令,則所述智能密鑰設(shè)備進入USB接收指令中斷,保存USB通道標識,關(guān)閉藍牙通道使能,執(zhí)行步驟A至步驟C,根據(jù)保存的USB通道標識,通過USB通道向上位機返回響應(yīng),退出USB接收指令中斷;如果藍牙通道先接收到指令,則所述智能密鑰設(shè)備進入藍牙接收指令中斷,保存藍牙通道標識,關(guān)閉USB通道使能,執(zhí)行步驟A至步驟C,根據(jù)保存的藍牙通道標識,通過藍牙通道向上位機返回響應(yīng),退出藍牙接收指令中斷;所述步驟107還可以包括:如果所述智能密鑰設(shè)備接收到的是切換通道指令,則進入USB/藍牙接收指令中斷;比較所述切換通道指令中指定的通道標識與當前通道標識:如果兩者相同,則向上位機返回響應(yīng),退出USB/藍牙接收指令中斷;如果兩者不相同,當所述指定的通道標識為USB通道標識時,關(guān)閉藍牙通道使能,將藍牙通道標識復(fù)位,打開USB通道使能,退出USB/藍牙接收指令中斷,當所述指定的通道標識為藍牙通道標識時,關(guān)閉USB通道標識,將USB通道標識復(fù)位,打開藍牙通道使能,退出USB/藍牙接收指令中斷。實施例2本發(fā)明實施例2提供一種多功能智能密鑰設(shè)備及其工作方法,如圖2-1所述,包括:步驟201:智能密鑰設(shè)備上電初始化;在本實施例中,智能密鑰設(shè)備初始化時配置處理器時鐘、定時器時鐘、IO接口、串口、USB接口和藍牙接口等;步驟202:打開中斷;在本實施例中,智能密鑰設(shè)備打開拔USB中斷和/或插USB中斷和/或USB連接中斷和/或USB斷開連接中斷和/或藍牙連接中斷和/或藍牙斷開連接中斷和/或定時器中斷和/或USB接收指令中斷和/或藍牙接收指令中斷;當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,保存插USB中斷標識,退出插USB中斷;和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,保存USB連接中斷標識,退出USB連接中斷;和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,保存USB斷開連接中斷標識,退出USB斷開連接中斷;當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,保存拔USB中斷標識,退出拔USB中斷和/或當所述智能密鑰設(shè)備收到藍牙連接/斷開連接信號時,進入藍牙連接/斷開連接中斷,保存藍牙連接/斷開連接中斷標識,退出藍牙連接/斷開連接中斷;和/或當所述智能密鑰設(shè)備收到藍牙/USB接收指令中斷信號時,進入藍牙/USB接收指令中斷,保存藍牙/USB接收指令中斷標識,退出藍牙/USB接收指令中斷;步驟203:智能密鑰設(shè)備讀取藍牙模塊的參數(shù),并判斷是否能夠成功讀取藍牙模塊參數(shù),如果是,則執(zhí)行步驟204,否則執(zhí)行步驟205 ;在本實施例中,藍牙模塊的參數(shù)包括:MAC內(nèi)容,身份合法和設(shè)備名稱;具體的,智能密鑰設(shè)備從藍牙模塊中讀取藍牙模塊的參數(shù),并根據(jù)藍牙模塊的參數(shù)的最后一個字節(jié)判斷是否成功讀取藍牙模塊的參數(shù),如果藍牙模塊的參數(shù)的最后一個字節(jié)是0x01,則表示智能密鑰設(shè)備成功讀取藍牙模塊的參數(shù),否則智能密鑰設(shè)備讀取藍牙模塊參數(shù)失敗;步驟204:將藍牙模塊切換至連接狀態(tài),執(zhí)行步驟205 ;在本實施例中,將藍牙模塊狀態(tài)輸出引腳閉合則表示切換至連接狀態(tài);步驟205:所述智能密鑰設(shè)備判斷工作電壓是否低于預(yù)設(shè)值,如果是,則提示低電壓狀態(tài),第一預(yù)設(shè)時間后關(guān)閉智能密鑰設(shè)備,否則執(zhí)行步驟206 ;步驟206:判斷是否存在中斷標識,如果是,則執(zhí)行步驟207,否則重新執(zhí)行步驟
205;步驟207:判斷中斷標識的類型;如果所述智能密鑰設(shè)備中存在插USB中斷標識,則判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟206,否則所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在USB連接中斷標識,則MCU被喚醒,打開USB通道使能,清除身份合法標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在USB斷開連接中斷標識,則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在拔USB中斷標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟206,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在藍牙連接中斷標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則清除藍牙連接中斷標識,重新執(zhí)行步驟206,否則打開藍牙通道使能,清除藍牙連接中斷標識,清除身份合法標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在藍牙斷開連接中斷標識,則清除藍牙斷開連接中斷標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在定時器中斷標識,則將定時器中的計數(shù)清零,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在藍牙/USB接收指令中斷標識,則保存藍牙/USB通道標識后,執(zhí)行步驟208至步驟220,如圖2-2所示:如果收到藍牙接收指令信號,則將通道標識置為0,如果收到USB接收指令信號,則將通道標識置為I ;步驟208:所述智能密鑰設(shè)備判斷接收到的是否是執(zhí)行身份認證的指令,是,則執(zhí)行步驟209,否則執(zhí)行步驟210 ;
步驟209:所述智能密鑰設(shè)備判斷指令中包含的認證信息和設(shè)備內(nèi)部保存的認證信息是否匹配,如果是,則表示認證合法,將身份合法標識保存,并向上位機返回身份合法的響應(yīng),重新執(zhí)行步驟206,如果不匹配,則表示認證不合法,清除身份合法標識,并向上位機返回身份認證不合法的響應(yīng),重新執(zhí)行步驟206 ;在本實施例中,判斷身份認證是否合法,優(yōu)選的是,判斷接收到指令中包含的PIN碼與設(shè)備內(nèi)部保存的PIN碼是否匹配,除此之外,也可以是判斷接收到的指令中包含的用戶生物特征與設(shè)備內(nèi)部保存的用戶生物特征模板是否匹配:步驟210:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟211,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并向上位機返回相應(yīng)的響應(yīng),重新執(zhí)行步驟206 ;部分指令是不需要認證身份的,例如,部分讀數(shù)據(jù)操作指令;步驟211:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則執(zhí)行步驟212,否則向上位機返回獲取身份合法標識失敗的響應(yīng),重新執(zhí)行步驟206 ;步驟212:智能密鑰設(shè)備判斷接收到的指令的類型;如果接收的指令是生成隨機數(shù)指令,則執(zhí)行步驟213 ;如果接收的指令是加解密指令,則執(zhí)行步驟215 ;如果接收的指令是數(shù)據(jù)讀寫操作指令,則執(zhí)行步驟217 ;如果接收的指令是其他操作指令,則執(zhí)行步驟219 ;本實施例中,接收到的指令是由指令字和數(shù)據(jù)域組成的,其中指令的指令字是指令的前四個字節(jié),用于判斷接收到的指令的類型,從第五個字節(jié)開始是指令的數(shù)據(jù)域,指令的數(shù)據(jù)域長度是可變的,指令要做的操作是由指令的數(shù)據(jù)域決定的;如果接收的指令的指令字是00C60100,則表示接收的是生成隨機數(shù)指令;如果接收的指令的指令字是00840000,則表示接收的是加解密指令;接收的加解密指令中包含加密過程與解密過程,如果指令字是00490100,則表示接收的是加密指令;如果指令字是00500100,則表示接收的是解密指令;如果接收的指令的指令字是00C10100,則表示接收的是數(shù)據(jù)讀寫操作指令;如果接收的指令的指令字是其他字節(jié),則表示接收的是其他操作指令;步驟213:智能密鑰設(shè)備執(zhí)行生成隨機數(shù)指令,生成第一結(jié)果;所述第一結(jié)果是生成的隨機數(shù)或是執(zhí)行操作失敗的錯誤響應(yīng);步驟214:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送第一結(jié)果,執(zhí)行步驟206,否則通過藍牙通道向上位機發(fā)送第一結(jié)果,執(zhí)行步驟206 ;步驟215:智能密鑰設(shè)備使用加解密算法執(zhí)行加解密指令,生成第二結(jié)果;所述第二結(jié)果是生成的加解密結(jié)果或是執(zhí)行失敗的錯誤響應(yīng);步驟216:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送第二結(jié)果,執(zhí)行步驟206,否則通過藍牙通道向上位機發(fā)送第二結(jié)果,執(zhí)行步驟206 ;步驟217:智能密鑰設(shè)備解析所述數(shù)據(jù)讀寫操作指令,得到需要進行讀寫操作的區(qū)域,讀取相應(yīng)區(qū)域的數(shù)據(jù)或向相應(yīng)區(qū)域?qū)懭霐?shù)據(jù),生成第三結(jié)果;所述第三結(jié)果是執(zhí)行數(shù)據(jù)讀寫成功的結(jié)果或失敗的響應(yīng);步驟218:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送第三結(jié)果,執(zhí)行步驟206,否則通過藍牙通道向上位機發(fā)送第三結(jié)果,執(zhí)行步驟206 ;步驟219:智能密鑰設(shè)備執(zhí)行其他的操作指令,生成相應(yīng)結(jié)果;步驟220:判斷智能密鑰設(shè)備通道標識是否為1,如果是,則通過USB通道向上位機發(fā)送相應(yīng)的結(jié)果,執(zhí)行步驟206,否則通過藍牙通道向上位機發(fā)送相應(yīng)的結(jié)果,執(zhí)行步驟206 ;所述步驟207中判斷中斷標識的類型可以替換為:如果所述智能密鑰設(shè)備中存在插USB中斷標識,則判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在USB連接中斷標識,則判斷所述智能密鑰設(shè)備是否通過藍牙與上位機連接,如果是,則關(guān)閉USB通道使能,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟206,否則打開USB通道使能,所述智能密鑰設(shè)備進入充電模式,清除身份合法標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在USB斷開連接中斷標識,則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在拔USB中斷標識,則判斷所述智能密鑰設(shè)備是否通過藍牙與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,重新執(zhí)行步驟206,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,清除身份合法標識,重新執(zhí)行步驟
206;如果所述智能密鑰設(shè)備中存在藍牙連接標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則關(guān)閉USB通道使能,打開藍牙通道使能,清除藍牙連接中斷標識,清除身份合法標識,重新執(zhí)行步驟206,否則打開藍牙通道使能,清除藍牙連接中斷標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在藍牙斷開連接中斷標識,則關(guān)閉藍牙通道使能,打開USB通道使能,清除藍牙斷開連接中斷標識,清除身份合法標識,重新執(zhí)行步驟206 ;如果所述智能密鑰設(shè)備中存在USB/藍牙接收指令中斷標識,則執(zhí)行步驟A至步驟C:步驟A:所述智能密鑰設(shè)備判斷接收到的是否是執(zhí)行身份認證的指令,是則所述智能密鑰設(shè)備將指令中的認證信息和設(shè)備內(nèi)部保存的認證信息進行比較,如果相同,則表示認證合法,將身份合法標識保存,返回執(zhí)行步驟206,如果不相同,則表示認證不合法,清除身份合法標識,并向上位機返回身份認證不合法的響應(yīng),返回執(zhí)行步驟206,否則執(zhí)行步驟B;步驟B:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟C,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,返回執(zhí)行步驟206 ;步驟C:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,返回執(zhí)行步驟206,否則向上位機返回獲取身份合法標識失敗的響應(yīng),返回執(zhí)行步驟206。當所述智能密鑰設(shè)備中存在USB/藍牙接收指令中斷標識時,還可以執(zhí)行以下操作:
如果USB通道先接收到指令,則所述智能密鑰設(shè)備進入USB接收指令中斷,保存USB通道標識,關(guān)閉藍牙通道使能,執(zhí)行步驟A至步驟C,根據(jù)保存的USB通道標識,通過USB通道向上位機返回響應(yīng),返回執(zhí)行步驟206 ;如果藍牙通道先接收到指令,則所述智能密鑰設(shè)備進入藍牙接收指令中斷,保存藍牙通道標識,關(guān)閉USB通道使能,執(zhí)行步驟A至步驟C,根據(jù)保存的藍牙通道標識,通過藍牙通道向上位機返回響應(yīng),返回執(zhí)行步驟206 ;所述步驟207之后還可以包括:如果所述智能密鑰設(shè)備接收到的是切換通道指令,則進入USB/藍牙接收指令中斷,比較所述切換通道指令中指定的通道標識與當前通道標識:如果兩者相同,則向上位機返回響應(yīng),返回執(zhí)行步驟206 ;如果兩者不相同,當所述指定的通道標識為USB通道標識時,關(guān)閉藍牙通道使能,將藍牙通道標識復(fù)位,打開USB通道使能,返回執(zhí)行步驟206,當所述指定的通道標識為藍牙通道標識時,關(guān)閉USB通道標識,將USB通道標識復(fù)位,打開藍牙通道使能,返回執(zhí)行步驟206。實施例3本發(fā)明實施例3提供了一種多功能智能密鑰設(shè)備的裝置,如圖3所示,包括:所述裝置包括USB接口模塊301,藍牙接口模塊302,USB獲取模塊303,藍牙獲取模塊304,判斷模塊305,接收模塊306,操作模塊307,發(fā)送模塊308,上述各模塊的功能如下:USB接口模塊301:與USB獲取模塊303相連,用于通過USB接口與上位機建立連接;藍牙接口模塊302:與藍牙獲取模塊304相連,用于通過藍牙接口與上位機建立連接;USB獲取模塊303:與USB接口模塊301相連,用于獲取休眠標識,用于獲取中斷標識;與接收模塊306相連,用于獲取接收到的指令的類型,用于接收上位機提供的電能;藍牙獲取模塊304:與藍牙接口模塊302相連,用于獲取設(shè)備內(nèi)的藍牙模塊的參數(shù),用于獲取休眠標識,用于獲取中斷標識;判斷模塊305:與接收模塊306相連,用于判斷休眠標識是否置位,用于判斷休眠標識是否置位,用于判斷接收到的指令的類型,用于判斷是否存在中斷標識,用于判斷是否接收到中斷觸發(fā)信號,用于判斷接收到的是否是身份認證指令,用于判斷執(zhí)行接收到的指令是否需要進行身份認證,用于判斷是否能夠獲取到身份合法標識;接收模塊306:與判斷模塊305相連,用于通過USB通道或藍牙通道接收上位機發(fā)送的指令,用于接收中斷觸發(fā)信號;操作模塊307:與接收模塊306相連,用于根據(jù)接收到的指令進行相應(yīng)的操作,用于所述休眠標識置位時,控制所述裝置進入休眠狀態(tài),用于處理接收到的中斷觸發(fā)信號;發(fā)送模塊308:與操作模塊307相連,用于根據(jù)接收到的指令執(zhí)行相應(yīng)操作后將對應(yīng)生成的響應(yīng)返回給上位機。
權(quán)利要求
1.一種多功能智能密鑰設(shè)備及其工作方法,其特征在于,包括: 步驟101:智能密鑰設(shè)備上電初始化,打開中斷; 步驟102:所述智能密鑰設(shè)備讀取藍牙模塊的參數(shù),并判斷是否能夠成功讀取藍牙模塊參數(shù),如果是,則將藍牙模塊切換至連接狀態(tài),執(zhí)行步驟103,否則執(zhí)行步驟103 ; 步驟103:所述智能密鑰設(shè)備判斷工作電壓是否低于預(yù)設(shè)值,如果是,則提示低電壓狀態(tài),第一預(yù)設(shè)時間后關(guān)閉所述智能密鑰設(shè)備,否則執(zhí)行步驟104 ; 步驟104:所述智能密鑰設(shè)備判斷是否接收到中斷信號,如果是,則進入中斷,執(zhí)行相應(yīng)操作,待操作結(jié)束后退出中斷,返回執(zhí)行步驟103,否則直接返回執(zhí)行步驟103 ; 當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,執(zhí)行相應(yīng)操作,退出插USB中斷; 和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,執(zhí)行相應(yīng)操作,退出USB連接中斷; 和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,執(zhí)行相應(yīng)操作,退出USB斷開連接中斷; 和/或當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,執(zhí)行相應(yīng)操作,退出拔USB中斷; 和/或當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,執(zhí)行相應(yīng)操作,退出藍牙連接中斷; 和/或當所述智能密 鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,執(zhí)行相應(yīng)操作,退出藍牙斷開連接中斷; 和/或當所述智能密鑰設(shè)備收到USB指令信號時,進入USB接收指令中斷,執(zhí)行步驟A至步驟B ; 和/或當所述智能密鑰設(shè)備收到藍牙指令信號時,進入藍牙接收指令中斷,執(zhí)行步驟A至步驟B: 步驟A:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟B,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,退出相應(yīng)的接收指令中斷; 步驟B:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,退出相應(yīng)的接收指令中斷,否則向上位機返回獲取身份合法標識失敗的響應(yīng),退出相應(yīng)的接收指令中斷。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,具體包括: 如果所述智能密鑰設(shè)備接收到的是執(zhí)行身份認證的指令,則所述智能密鑰設(shè)備將指令中的認證信息和設(shè)備內(nèi)部保存的認證信息進行比較,如果相同,表示認證合法,則將身份合法標識保存,并向上位機返回身份認證合法的相應(yīng),退出相應(yīng)的接收指令中斷,如果不相同,則表示認證不合法,則清除身份合法標識,并向上位機返回身份認證不合法的響應(yīng);如果所述智能密鑰設(shè)備接收到的是執(zhí)行加密操作的指令,則運用加密算法,使用指定的密鑰進行加密,然后將執(zhí)行結(jié)果返回給上位機;如果所述智能密鑰設(shè)備接收到的是執(zhí)行解密操作的指令,則運用解密算法,使用指定的密鑰進行解密,然后將執(zhí)行結(jié)果返回給上位機; 如果所述智能密鑰設(shè)備接收到的是生成隨機數(shù)的指令,則解析所述指令得到需要的隨機數(shù)的長度,調(diào)用隨機數(shù)函數(shù)得到隨機數(shù)并保存,然后將執(zhí)行結(jié)果返回給上位機; 如果所述智能密鑰設(shè)備接收到的是數(shù)據(jù)讀寫操作的指令,則解析所述指令,得到需要進行讀寫操作的區(qū)域,讀取相應(yīng)區(qū)域的數(shù)據(jù)或向相應(yīng)的區(qū)域?qū)懭霐?shù)據(jù),然后將執(zhí)行結(jié)果返回給上位機; 如果所述智能密鑰設(shè)備接收到的是其他操作指令,則執(zhí)行相應(yīng)的操作后,將執(zhí)行結(jié)果返回給上位機。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于, 所述智能密鑰設(shè)備進行身份認證的方式是: 所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的PIN碼信息與所述智能密鑰設(shè)備中保存的PIN碼信息是否匹配; 和/或所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的用戶生物特征信息與所述智能密鑰設(shè)備中保存的用戶生物特征模板是否匹配。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于, 當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,退出插USB中斷,否則所述智能密鑰設(shè)備進入充電模式, 退出插USB中斷; 和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,MCU被喚醒,打開USB通道使能,清除身份合法標識,退出USB連接中斷; 和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出USB斷開連接中斷; 和/或當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出拔USB中斷,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,退出拔USB中斷; 和/或當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷,否則關(guān)閉藍牙通道使能,退出藍牙連接中斷; 和/或當所述智能密鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則退出藍牙斷開連接中斷,否則將休眠標識置位,關(guān)閉藍牙通道使能,清除身份合法標識,退出藍牙斷開連接中斷。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于, 當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,退出插USB中斷,否則所述智能密鑰設(shè)備進入充電模式,退出插USB中斷; 和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,判斷所述智能密鑰設(shè)備是否通過藍牙與上位機連接,如果是,則關(guān)閉USB通道使能,所述智能密鑰設(shè)備進入充電模式,退出USB連接中斷,否則打開USB通道使能,所述智能密鑰設(shè)備進入充電模式,清除身份合法標識,退出USB連接中斷; 和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出USB斷開連接中斷; 和/或當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,判斷所述智能密鑰設(shè)備是否通過藍牙與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,退出拔USB中斷,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,清除身份合法標識,退出拔USB中斷; 和/或當所述智能密鑰設(shè)備收到藍牙連接信號時,進入藍牙連接中斷,判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,MCU被喚醒,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷,否則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,退出藍牙連接中斷; 和/或當所述智能密鑰設(shè)備收到藍牙斷開連接信號時,進入藍牙斷開連接中斷,關(guān)閉藍牙通道使能,打開USB通道使能,清除身份合法標識,退出藍牙斷開連接中斷。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述步驟104之后還包括: 如果USB通道先接收到指令,則所述智能密鑰設(shè)備進入USB接收指令中斷,保存USB通道標識,關(guān)閉藍牙通道使能,執(zhí)行步驟A至步驟B,根據(jù)保存的USB通道標識,通過USB通道向上位機返回響應(yīng),退出USB接收指令中斷; 如果藍牙通道先接收到指令,則所述智能密鑰設(shè)備進入藍牙接收指令中斷,保存藍牙通道標識,關(guān)閉USB通道使能,執(zhí)行步驟A至步驟B,根據(jù)保存的藍牙通道標識,通過藍牙通道向上位機返回響應(yīng),退出藍牙接收指令中斷。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述步驟104之后還包括: 如果所述智能密鑰設(shè)備接收到的是切換通道指令,則進入當前接收指令中斷,比較所述切換通道指令中指定的通道標識與當前通道標識:如果兩者相同,則向上位機返回響應(yīng),退出當前接收指令中斷;如果兩者不相同,當所述指定的通道標識為USB通道標識時,關(guān)閉藍牙通道使能,將藍牙通道標識復(fù)位,打開USB通道使能,退出當前接收指令中斷,當所述指定的通道標識為藍牙通道標識時,關(guān)閉USB通道標識,將USB通道標識復(fù)位,打開藍牙通道使能,退出當前接收指令中斷。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于, 所述打開中斷還包括打開定時器中斷: 當所述智能密鑰設(shè)備收到定時器觸發(fā)時,進入定時器中斷,計數(shù)清零,將休眠標識置位,退出定時器中斷。
9.根據(jù)權(quán)利要求4或5中任一所述的方法,其特征在于, 所述將休眠標識置位具體包括:增加分頻數(shù)值,降低總線時鐘的頻率,MCU內(nèi)核電壓等級切換至電壓范圍I的狀態(tài),失能第一串行通道接口、第二串行通道接口外設(shè),MCU休眠。
10.一種多功能智 能密鑰設(shè)備及其工作方法,其特征在于,包括: 步驟201:智能密鑰設(shè)備上電初始化,打開中斷;當所述智能密鑰設(shè)備收到插USB觸發(fā)信號時,進入插USB中斷,保存插USB中斷標識,退出插USB中斷; 和/或當所述智能密鑰設(shè)備收到USB連接信號時,進入USB連接中斷,保存USB連接中斷標識,退出USB連接中斷; 和/或當所述智能密鑰設(shè)備收到USB斷開連接信號時,進入USB斷開連接中斷,保存USB斷開連接中斷標識,退出USB斷開連接中斷; 當所述智能密鑰設(shè)備收到拔USB觸發(fā)信號時,進入拔USB中斷,保存拔USB中斷標識,退出拔USB中斷; 和/或當所述智能密鑰 設(shè)備收到藍牙連接/斷開連接信號時,進入藍牙連接/斷開連接中斷,保存藍牙連接/斷開連接中斷標識,退出藍牙連接/斷開連接中斷; 和/或當所述智能密鑰設(shè)備收到藍牙/USB接收指令中斷信號時,進入藍牙/USB接收指令中斷,保存藍牙/USB接收指令中斷標識,退出藍牙/USB接收指令中斷; 步驟202:所述智能密鑰設(shè)備讀取藍牙模塊的參數(shù),并判斷是否能夠成功讀取藍牙模塊參數(shù),如果是,則將藍牙模塊切換至連接狀態(tài),執(zhí)行步驟203,否則執(zhí)行步驟203 ; 步驟203:所述智能密鑰設(shè)備判斷工作電壓是否低于預(yù)設(shè)值,如果是,則提示低電壓狀態(tài),第一預(yù)設(shè)時間后關(guān)閉所述智能密鑰設(shè)備,否則執(zhí)行步驟204 ; 步驟204:判斷是否存在中斷標識,如果是,則根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,否則重新執(zhí)行步驟204 ; 其中,當所述智能密鑰設(shè)備中存在藍牙/USB接收指令中斷標識時,根據(jù)藍牙/USB接收指令中斷標識類型執(zhí)行步驟A至步驟B: 步驟A:所述智能密鑰設(shè)備判斷執(zhí)行接收到的指令是否需要認證身份,如果是,則執(zhí)行步驟B,否則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,并將執(zhí)行結(jié)果返回給上位機,返回執(zhí)行步驟204 ; 步驟B:判斷所述智能密鑰設(shè)備是否能夠獲取到身份合法標識,如果是,則根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,返回執(zhí)行步驟204,否則向上位機返回獲取身份合法標識失敗的響應(yīng),返回執(zhí)行步驟204。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于, 所述根據(jù)接收到的指令的類型,執(zhí)行相應(yīng)操作,將執(zhí)行結(jié)果返回給上位機,具體包括:如果所述智能密鑰設(shè)備接收到的是執(zhí)行身份認證的指令,則所述智能密鑰設(shè)備將指令中的認證信息和設(shè)備內(nèi)部保存的認證信息進行比較,如果相同,表示認證合法,則將身份合法標識保存,并向上位機返回身份認證合法的響應(yīng),退出相應(yīng)的接收指令中斷,如果不相同,則表示認證不合法,則清除身份合法標識,并向上位機返回身份認證不合法的響應(yīng);如果所述智能密鑰設(shè)備接收到的是執(zhí)行加密操作的指令,則運用加密算法,使用指定的密鑰進行加密,然后將執(zhí)行結(jié)果返回給上位機; 如果所述智能密鑰設(shè)備接收到的是執(zhí)行解密操作的指令,則運用解密算法,使用指定的密鑰進行解密,然后將執(zhí)行結(jié)果返回給上位機; 如果所述智能密鑰設(shè)備接收到的是生成隨機數(shù)的指令,則解析所述指令得到需要的隨機數(shù)的長度,調(diào)用隨機數(shù)函數(shù)得到隨機數(shù)并保存,然后將執(zhí)行結(jié)果返回給上位機; 如果所述智能密鑰設(shè)備接收到的是數(shù)據(jù)讀寫操作的指令,則解析所述指令,得到需要進行讀寫操作的區(qū)域,讀取相應(yīng)區(qū)域的數(shù)據(jù)或向相應(yīng)的區(qū)域?qū)懭霐?shù)據(jù),然后將執(zhí)行結(jié)果返回給上位機; 如果所述智能密鑰設(shè)備接收到的是其他操作指令,則執(zhí)行相應(yīng)的操作后,將執(zhí)行結(jié)果返回給上位機。
12.根據(jù)權(quán)利要求11所述的方法,其特征在于, 所述智能密鑰設(shè)備進行身份認證的方式是: 所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的PIN碼信息與所述智能密鑰設(shè)備中保存的PIN碼信息是否匹配; 和/或所述智能密鑰設(shè)備判斷所述執(zhí)行身份認證的指令中包含的用戶生物特征信息與所述智能密鑰設(shè)備中保存的用戶生物特征信息是否匹配。
13.根據(jù)權(quán)利要求10所述的方法 ,其特征在于, 所述步驟204中,根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,具體包括: 如果所述智能密鑰設(shè)備中存在插USB中斷標識,則判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204 如果所述智能密鑰設(shè)備中存在USB連接中斷標識,則MCU被喚醒,打開USB通道使能,清除身份合法標識,重新執(zhí)行步驟204 ; 如果所述智能密鑰設(shè)備中存在USB斷開連接中斷標識,則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟204 ; 如果所述智能密鑰設(shè)備中存在拔USB中斷標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,重新執(zhí)行步驟204 ; 如果所述智能密鑰設(shè)備中存在藍牙連接中斷標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則清除藍牙連接中斷標識,重新執(zhí)行步驟204,否則打開藍牙通道使能,清除藍牙連接中斷標識,清除身份合法標識,重新執(zhí)行步驟204 ; 如果所述智能密鑰設(shè)備中存在藍牙斷開連接中斷標識時,清除藍牙斷開連接中斷標識,重新執(zhí)行步驟204。
14.根據(jù)權(quán)利要求10所述的方法,其特征在于, 所述步驟204中,根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,還包括: 如果所述智能密鑰設(shè)備中存在插USB中斷標識,則判斷休眠標識是否置位,如果是,則將休眠標識復(fù)位,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204 ; 如果所述智能密鑰設(shè)備中存在USB連接中斷標識,則判斷所述智能密鑰設(shè)備是否通過藍牙與上位機連接,如果是,則關(guān)閉USB通道使能,所述智能密鑰設(shè)備進入充電模式,重新執(zhí)行步驟204,否則打開USB通道使能,所述智能密鑰設(shè)備進入充電模式,清除身份合法標識,重新執(zhí)行步驟204; 如果所述智能密鑰設(shè)備中存在USB斷開連接中斷標識,則關(guān)閉USB通道使能,打開藍牙通道使能,清除身份合法標識,重新執(zhí)行步驟204 ;如果所述智能密鑰設(shè)備中存在拔USB中斷標識,則判斷所述智能密鑰設(shè)備是否通過藍牙與上位機通信,如果是,則所述智能密鑰設(shè)備退出充電模式,重新執(zhí)行步驟204,否則所述智能密鑰設(shè)備退出充電模式,關(guān)閉USB通道使能,清除身份合法標識,重新執(zhí)行步驟204 ;如果所述智能密鑰設(shè)備中存在藍牙連接標識,則判斷所述智能密鑰設(shè)備是否通過USB與上位機通信,如果是,則關(guān)閉USB通道使能,打開藍牙通道使能,清除藍牙連接中斷標識,清除身份合法標識,重新執(zhí)行步驟204,否則打開藍牙通道使能,清除藍牙連接中斷標識,重新執(zhí)行步驟204 ; 如果所述智能密鑰設(shè)備中存在藍牙斷開連接中斷標識,則關(guān)閉藍牙通道使能,打開USB通道使能,清除藍牙斷開連接中斷標識,清除身份合法標識,重新執(zhí)行步驟204。
15.根據(jù)權(quán)利要求10所述的方法,其特征在于, 當所述智能密鑰設(shè)備中存在接收指令中斷標識時:如果USB通道先接收到指令,則所述智能密鑰設(shè)備保存USB通道標識,關(guān)閉藍牙通道使能,執(zhí)行步驟A至步驟B,然后根據(jù)保存的USB通道標識,通過USB通道向上位機返回響應(yīng);如果藍牙通道先接收到指令,則所述智能密鑰設(shè)備保存藍牙通道標識,關(guān)閉USB通道使能,執(zhí)行步驟A至步驟B,然后根據(jù)保存的藍牙通道標識,通過藍牙通道向上位機返回響應(yīng)。
16.根據(jù)權(quán)利要求10所述的方法,其特征在于, 當所述智能密鑰設(shè)備中存在接收指令中斷標識時: 如果所述智能密鑰設(shè)備接收到的是切換通道指令,則比較所述切換通道指令中指定的通道標識與當前通道標識: 如果兩者相同,則向上位機返回響應(yīng),重新執(zhí)行步驟204 ; 如果兩者不相同,當所述指定的通道標識為USB通道標識時,關(guān)閉藍牙通道使能,將藍牙通道標識復(fù)位,打開USB通道使能,重新執(zhí)行步驟204,當所述指定的通道標識為藍牙通道標識時,關(guān)閉USB通道標識,將USB通道標識復(fù)位,打開藍牙通道使能,重新執(zhí)行步驟204。
17.根據(jù)權(quán)利要求10所述的方法,其特征在于, 所述打開中斷還包括打開定時器中斷; 當所述智能密鑰設(shè)備收到定時器觸發(fā)時,進入定時器中斷,保存定時器中斷標識,退出定時器中斷; 所述根據(jù)中斷標識類型執(zhí)行相應(yīng)操作,具體包括: 當所述智能密鑰設(shè)備中存在定時器中斷標識時,將計數(shù)清零。
18.—種多功能智能密鑰設(shè)備,其特征在于,包括: USB接口模塊 與USB獲取模塊相連,用于通過USB接口與上位機建立連接; 藍牙接口模塊:與藍牙獲取模塊相連,用于通過藍牙接口與上位機建立連接; USB獲取模塊:與USB接口模塊相連,用于獲取休眠標識,用于獲取中斷標識;與接收模塊相連,用于獲取接收到的指令的類型,用于接收上位機提供的電能; 藍牙獲取模塊:與藍牙接口模塊相連,用于獲取設(shè)備內(nèi)的藍牙模塊的參數(shù),用于獲取休眠標識,用于獲取中斷標識; 判斷模塊:與接收模塊相連,用于判斷休眠標識是否置位,用于判斷休眠標識是否置位,用于判斷接收到的指令的類型,用于判斷是否存在中斷標識,用于判斷是否接收到中斷觸發(fā)信號,用于判斷接收到的是否是身份認證指令,用于判斷執(zhí)行接收到的指令是否需要進行身份認證,用于判斷是否能夠獲取到身份合法標識; 接收模塊:與判斷模塊相連,用于通過USB通道或藍牙通道接收上位機發(fā)送的指令,用于接收中斷觸發(fā)信號; 操作模塊:與接收模塊相連,用于根據(jù)接收到的指令進行相應(yīng)的操作,用于所述休眠標識置位時,控制所述裝置進入休眠狀態(tài),用于處理接收到的中斷觸發(fā)信號; 發(fā)送模塊:與操作模塊相連,用于根據(jù)接收到的指令執(zhí)行相應(yīng)操作后將對應(yīng)生成的響應(yīng)返回 給上位機。
全文摘要
本發(fā)明公開了一種多功能智能密鑰設(shè)備及其工作方法,屬于信息安全領(lǐng)域,所述智能密鑰設(shè)備包括藍牙端口和USB端口,所述方法包括智能密鑰設(shè)備上電初始化,讀取藍牙模塊的參數(shù),判斷工作電壓是否低于預(yù)設(shè)值,如果是,則所述智能密鑰設(shè)備關(guān)閉,否則等待接收指令,在此過程中,如果接收到插USB觸發(fā)信號或USB連接信號或USB斷開連接信號或拔USB觸發(fā)信號或藍牙連接信號或藍牙斷開連接信號或藍牙接收指令信號或USB接收指令信號,則進入相應(yīng)中斷,執(zhí)行相應(yīng)操作,退出相應(yīng)中斷,繼續(xù)判斷工作電壓,采用本發(fā)明所述方案能夠使智能密鑰設(shè)備同時具備藍牙通信和USB通信的功能,方便了不同接口設(shè)備之間的通信。
文檔編號G06F21/34GK103207964SQ20131004965
公開日2013年7月17日 申請日期2013年3月15日 優(yōu)先權(quán)日2013年3月15日
發(fā)明者陸舟, 于華章 申請人:飛天誠信科技股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1