例的密碼鍵盤引導(dǎo)程序固件防篡改裝置的結(jié)構(gòu)示意圖,所述防篡改裝置包括第一存儲(chǔ)器10、第二存儲(chǔ)器20、計(jì)算模塊30、解密模塊40、比較模塊50及第一執(zhí)行模塊60。
[0037]第一存儲(chǔ)器10用于存儲(chǔ)引導(dǎo)程序固件數(shù)據(jù);優(yōu)選地,還存儲(chǔ)有應(yīng)用程序固件。
[0038]第二存儲(chǔ)器20用于存儲(chǔ)加密密鑰KEYJiASH以及HASH值HASH_A。
[0039]計(jì)算模塊30用于從第一存儲(chǔ)器10中讀取引導(dǎo)程序固件數(shù)據(jù),并計(jì)算引導(dǎo)程序固件數(shù)據(jù)的HASH值HASH_B。
[0040]解密模塊40用于獲取加密密鑰KEY_HASH以及HASH值HASH_A,并進(jìn)行解密。
[0041]比較模塊50比較判斷解密后的數(shù)據(jù)和HASH_B是否相同,如果不同,則產(chǎn)生擦除指令。
[0042]第一執(zhí)行模塊60用于根據(jù)擦除指令擦除引導(dǎo)程序固件數(shù)據(jù)。
[0043]作為一種實(shí)施方式,所述防篡改裝置還包括自檢判斷模塊70、自檢模塊80、第二執(zhí)行模塊90。
[0044]自檢判斷模塊70在解密后的數(shù)據(jù)和HASH_B相同時(shí),判斷當(dāng)前是否處于自檢狀態(tài),如果是則產(chǎn)生自檢執(zhí)行指令,如果否則產(chǎn)生應(yīng)用程序固件啟動(dòng)指令。
[0045]自檢模塊80接收自檢執(zhí)行指令,根據(jù)設(shè)定時(shí)間周期性地產(chǎn)生自檢指令以進(jìn)行自檢。
[0046]第二執(zhí)行模塊90根據(jù)應(yīng)用程序固件啟動(dòng)指令啟動(dòng)應(yīng)用程序固件。
[0047]作為一種實(shí)施方式,所述防篡改裝置還包括用于進(jìn)行初始化操作的初始化模塊100,所述初始化模塊100包括下載子模塊101、計(jì)算子模塊102、加密密鑰生成子模塊103及加密子模塊104。
[0048]下載子模塊101用于下載并保存引導(dǎo)程序固件數(shù)據(jù)。
[0049]計(jì)算子模塊102用于讀取引導(dǎo)程序固件數(shù)據(jù),并計(jì)算出引導(dǎo)程序固件數(shù)據(jù)的HASH值。
[0050]加密密鑰生成子模塊103隨機(jī)生成加密密鑰KEY_HASH。所述加密密鑰生成子模塊103將通過物理過程生成的隨機(jī)數(shù)字作為加密密鑰KEY_HASH,優(yōu)選地,所述加密密鑰生成子模塊103集成于真隨機(jī)數(shù)生成器中。由于是通過物理過程而不是計(jì)算機(jī)程序來(lái)生成的隨機(jī)數(shù)字,這個(gè)物理過程在理論上是完全不可預(yù)測(cè)的,并且已經(jīng)得到了實(shí)驗(yàn)的證實(shí),進(jìn)一步增強(qiáng)了加密密鑰的隨機(jī)性和唯一性,增加了加密數(shù)據(jù)的安全性,提升密碼鍵盤的篡改難度。[0051 ] 加密子模塊104使用密鑰KEYJiASH將HASH值加密得到HASH_A,并保存加密密鑰KEYJiASH 及 HASH_A。
[0052]優(yōu)選地,所述第二存儲(chǔ)器20、計(jì)算模塊30、解密模塊40、比較模塊50、第一執(zhí)行模塊60、自檢判斷模塊70、自檢模塊80、第二執(zhí)行模塊90及初始化模塊100集成于微處理器中;第一存儲(chǔ)器10為連接于微處理器的Flash存儲(chǔ)器。
[0053]作為一種實(shí)施方式,所述防篡改裝置還包括電連接并為微處理器供電的電池200,及電連接于微處理器,用于進(jìn)行按鍵檢測(cè)的矩陣鍵盤電路300。其中,所述第二存儲(chǔ)器20為由電池200供電進(jìn)行數(shù)據(jù)保存的微處理器的一個(gè)特定的內(nèi)存區(qū)域。此區(qū)域能夠在電池200供電的情況下保存數(shù)據(jù),電池備份區(qū)域,當(dāng)密碼鍵盤收到破壞如斷開電池連接時(shí)保存數(shù)據(jù)的數(shù)據(jù)便自動(dòng)消失,有效地防止密碼鍵盤被破壞或攻擊,提高了安全性。
[0054]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種密碼鍵盤引導(dǎo)程序固件防篡改方法,其特征在于,所述防篡改方法包括: 計(jì)算步驟:讀取引導(dǎo)程序固件數(shù)據(jù),并計(jì)算引導(dǎo)程序固件數(shù)據(jù)的HASH值HASH_B ; 解密步驟:獲取加密密鑰KEYJiASH以及HASH值HASH_A,并進(jìn)行解密; 比較步驟:比較判斷解密后的數(shù)據(jù)和HASH_B是否相同,如果不同,則產(chǎn)生擦除指令;及 第一執(zhí)行步驟:根據(jù)擦除指令擦除引導(dǎo)程序固件數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的密碼鍵盤引導(dǎo)程序固件防篡改方法,其特征在于,所述比較步驟之后還包括: 自檢判斷步驟:如果解密后的數(shù)據(jù)和HASH_B相同,則判斷當(dāng)前是否處于自檢狀態(tài),如果是則產(chǎn)生自檢執(zhí)行指令,進(jìn)入自檢步驟,如果否則產(chǎn)生應(yīng)用程序固件啟動(dòng)指令,進(jìn)入第二執(zhí)行步驟; 自檢步驟:接收自檢執(zhí)行指令,根據(jù)設(shè)定時(shí)間周期性地產(chǎn)生自檢指令并從計(jì)算步驟開始運(yùn)行以進(jìn)行自檢;及 第二執(zhí)行步驟,根據(jù)應(yīng)用程序固件啟動(dòng)指令啟動(dòng)應(yīng)用程序固件。
3.根據(jù)權(quán)利要求1所述的密碼鍵盤引導(dǎo)程序固件防篡改方法,其特征在于,所述計(jì)算步驟之前還包括初始化步驟: 下載子步驟:下載并保存引導(dǎo)程序固件數(shù)據(jù); 計(jì)算子步驟:讀取引導(dǎo)程序固件數(shù)據(jù),并計(jì)算出引導(dǎo)程序固件數(shù)據(jù)的HASH值; 加密密鑰生成子步驟:隨機(jī)生成加密密鑰KEYJiASH ;及 加密子步驟:使用密鑰KEYJiASH將HASH值加密得到HASH_A,并保存加密密鑰KEY_HASH 及 HASH_A。
4.根據(jù)權(quán)利要求3所述的密碼鍵盤引導(dǎo)程序固件防篡改方法,其特征在于,所述加密子步驟中采用對(duì)稱密鑰算法進(jìn)行加密。
5.一種密碼鍵盤引導(dǎo)程序固件防篡改裝置,其特征在于,所述防篡改裝置包括: 存儲(chǔ)引導(dǎo)程序固件數(shù)據(jù)的第一存儲(chǔ)器; 存儲(chǔ)加密密鑰KEYJiASH以及HASH值HASH_A的第二存儲(chǔ)器; 讀取引導(dǎo)程序固件數(shù)據(jù),并計(jì)算引導(dǎo)程序固件數(shù)據(jù)的HASH值HASH_B的計(jì)算模塊; 獲取加密密鑰KEYJiASH以及HASH值HASH_A,并進(jìn)行解密的解密模塊; 比較判斷解密后的數(shù)據(jù)和HASH_B是否相同,如果不同,則產(chǎn)生擦除指令的比較模塊;及 根據(jù)擦除指令擦除引導(dǎo)程序固件數(shù)據(jù)的第一執(zhí)行模塊。
6.根據(jù)權(quán)利要求5所述的密碼鍵盤引導(dǎo)程序固件防篡改裝置,其特征在于,所述防篡改裝置還包括: 解密后的數(shù)據(jù)和HASH_B相同時(shí),判斷當(dāng)前是否處于自檢狀態(tài),如果是則產(chǎn)生自檢執(zhí)行指令,如果否則產(chǎn)生應(yīng)用程序固件啟動(dòng)指令的自檢判斷模塊; 接收自檢執(zhí)行指令,根據(jù)設(shè)定時(shí)間周期性地產(chǎn)生自檢指令以進(jìn)行自檢的自檢模塊;及 根據(jù)應(yīng)用程序固件啟動(dòng)指令啟動(dòng)應(yīng)用程序固件的第二執(zhí)行模塊。
7.根據(jù)權(quán)利要求6所述的密碼鍵盤引導(dǎo)程序固件防篡改裝置,其特征在于,所述防篡改裝置還包括用于進(jìn)行初始化操作的初始化模塊,所述初始化模塊包括: 下載并保存引導(dǎo)程序固件數(shù)據(jù)的下載子模塊; 讀取引導(dǎo)程序固件數(shù)據(jù),并計(jì)算出引導(dǎo)程序固件數(shù)據(jù)的HASH值的計(jì)算子模塊; 隨機(jī)生成加密密鑰KEYJiASH的加密密鑰生成子模塊;及 使用密鑰KEYJiASH將HASH值加密得到HASH_A,并保存加密密鑰KEYJiASH及HASH_A的加密子模塊。
8.根據(jù)權(quán)利要求7所述的密碼鍵盤引導(dǎo)程序固件防篡改裝置,其特征在于,所述第二存儲(chǔ)器、計(jì)算模塊、解密模塊、比較模塊、第一執(zhí)行模塊、自檢判斷模塊、自檢模塊、第二執(zhí)行模塊及初始化模塊集成于微處理器中,第一存儲(chǔ)器為連接于微處理器的Flash存儲(chǔ)器。
9.根據(jù)權(quán)利要求8所述的密碼鍵盤引導(dǎo)程序固件防篡改裝置,其特征在于,所述防篡改裝置還包括電連接并為微處理器供電的電池,及電連接于微處理器,用于進(jìn)行按鍵檢測(cè)的矩陣鍵盤電路;所述第二存儲(chǔ)器為由電池供電進(jìn)行數(shù)據(jù)保存的微處理器的內(nèi)存區(qū)域。
10.根據(jù)權(quán)利要求7所述的密碼鍵盤引導(dǎo)程序固件防篡改裝置,其特征在于,所述加密密鑰生成子模塊將通過物理過程生成的隨機(jī)數(shù)字作為加密密鑰KEY_HASH。
【專利摘要】本發(fā)明實(shí)施例提供了一種密碼鍵盤引導(dǎo)程序固件防篡改方法及裝置,所述防篡改方法包括計(jì)算步驟:讀取引導(dǎo)程序固件數(shù)據(jù),并計(jì)算引導(dǎo)程序固件數(shù)據(jù)的HASH值HASH_B;解密步驟:獲取加密密鑰KEY_HASH以及HASH值HASH_A,并進(jìn)行解密;比較步驟:比較判斷解密后的數(shù)據(jù)和HASH_B是否相同,如果不同,則產(chǎn)生擦除指令;及第一執(zhí)行步驟:根據(jù)擦除指令擦除引導(dǎo)程序固件數(shù)據(jù)。本發(fā)明實(shí)施例通過采用在密碼鍵盤固件啟動(dòng)后,將解密所得的HASH數(shù)據(jù),與計(jì)算所得HASH值進(jìn)行比較,若不相同則判斷閃存受到入侵,進(jìn)而迅速擦除引導(dǎo)程序固件數(shù)據(jù),有效防止密碼鍵盤引導(dǎo)程序固件的篡改,提升密碼鍵盤的安全性。
【IPC分類】G06F21-57
【公開號(hào)】CN104809398
【申請(qǐng)?zhí)枴緾N201510191894
【發(fā)明人】劉楊, 李傳武
【申請(qǐng)人】深圳怡化電腦股份有限公司, 深圳市怡化時(shí)代科技有限公司, 深圳市怡化金融智能研究院
【公開日】2015年7月29日
【申請(qǐng)日】2015年4月21日