專利名稱:一種處理器程序安全保護(hù)裝置及保護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及加密裝置領(lǐng)域,尤其涉及一種處理器程序安全保護(hù)裝置及方法。
背景技術(shù):
諸如陸、海、空敵我識(shí)別、通信導(dǎo)航、電子對(duì)抗、導(dǎo)彈跟蹤等軍用電子系統(tǒng)與商用電子設(shè)備中很多功能都是由執(zhí)行特定應(yīng)用程序的處理器實(shí)現(xiàn)的。典型地,所述處理器可以是數(shù)字信號(hào)處理器(DSP)、ARM處理器等微控制器、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、PowerPC,或者 PC等當(dāng)中采用的通用處理器。通常應(yīng)用程序放置在外部FLASH內(nèi),上電時(shí)將其加載至處理器內(nèi)部或外部RAM存儲(chǔ)器中運(yùn)行。但是,直接將程序明文存儲(chǔ)在FLASH內(nèi)導(dǎo)致任何人可以直接訪問(wèn)應(yīng)用程序,并通過(guò)反向工程竊取程序源代碼,若敵方因此解密設(shè)備的工作原理與工作參數(shù),則可以研制出與之對(duì)抗的電子裝備與戰(zhàn)術(shù)方法,如由于戰(zhàn)斗機(jī)叛逃而導(dǎo)致某一型敵我識(shí)別器失效。特別是在目前的軍工電子領(lǐng)域,綜合化趨勢(shì)使得在通用硬件平臺(tái)下,通過(guò)加載不同應(yīng)用程序可以實(shí)現(xiàn)不同功能,多個(gè)應(yīng)用程序以明文形式集中存儲(chǔ)更增加系統(tǒng)泄密風(fēng)險(xiǎn),單個(gè)硬件平臺(tái)泄漏無(wú)疑將造成該系統(tǒng)上所有功能的工作原理與工作參數(shù)泄密,所造成的損失將無(wú)法估量,因此,有必要對(duì)處理器應(yīng)用程序予以安全保護(hù)。
發(fā)明內(nèi)容
本發(fā)明的目的是針對(duì)現(xiàn)有技術(shù)中存在的處理器程序沒(méi)有進(jìn)行安全保護(hù)導(dǎo)致的系統(tǒng)安全問(wèn)題,提供一種處理器程序安全保護(hù)裝置及方法。本發(fā)明的目的通過(guò)下述技術(shù)方案來(lái)實(shí)現(xiàn)
一種處理器程序安全保護(hù)裝置,包括處理設(shè)備、密碼卡,所述處理設(shè)備和密碼卡連接; 所述處理設(shè)備包括第一處理器、第一存儲(chǔ)器、第二存儲(chǔ)器、第一接口芯片、電源模塊,第一處理器分別與第一存儲(chǔ)器、第二存儲(chǔ)器、第一接口芯片相連;處理設(shè)備和密碼卡的各芯片分別連接電源模塊;所述密碼卡包括第二處理器、第三存儲(chǔ)器、第二接口芯片、人機(jī)界面交互器, 所述第二處理器分別與第三存儲(chǔ)器、第二接口芯片、人機(jī)界面交互器相連;所述第一接口芯片與第二接口芯片通過(guò)異步串口連接,所述第一存儲(chǔ)器為非易失性存儲(chǔ)器,所述第二存儲(chǔ)器為易失性存儲(chǔ)器。優(yōu)選地,上述第一接口芯片與第二接口芯片連接的接口電平為RS422。優(yōu)選地,上述第一處理器為DSP、ARM、FPGA、PowerPC、單片機(jī)或PC處理器。優(yōu)選地,上述第一存儲(chǔ)器為FLASH、EEPROM、SD卡、CF卡、硬盤(pán)、或半導(dǎo)體存儲(chǔ)介質(zhì)。優(yōu)選地,上述第二存儲(chǔ)器為RAM或DDR。本發(fā)明還公開(kāi)了一種處理器程序安全保護(hù)方法,其具體包含以下步驟
步驟1在程序初始化保護(hù)過(guò)程中,對(duì)應(yīng)用程序明文進(jìn)行加密,并將加密后的密文保存在第一存儲(chǔ)器中,將解密密鑰和解密程序保存在第三存儲(chǔ)器中; 步驟2裝置上電后,判斷第二存儲(chǔ)器中的控制字若控制字為銷毀密碼處理,則第一處理器控制擦除第二存儲(chǔ)器和第一存儲(chǔ)器;同時(shí)第二處理器控制擦除第三存儲(chǔ)器;
若控制字為應(yīng)用程序加載,則第一處理器向密碼卡申請(qǐng)解密密鑰與解密程序,將其放置在第二存儲(chǔ)器的指定空間;
步驟3對(duì)應(yīng)用程序密文進(jìn)行解密,使用第二存儲(chǔ)器中的解密密鑰和解密程序?qū)Φ谝淮鎯?chǔ)器中的應(yīng)用程序密文進(jìn)行解密,恢復(fù)應(yīng)用程序明文,并運(yùn)行應(yīng)用程序。優(yōu)選地,上述步驟2中,完成將解密密鑰和解密程序存放在第二存儲(chǔ)器后,第一處理器向密碼卡發(fā)送擦除指令,密碼卡接收到指令后擦除第三存儲(chǔ)器的解密密鑰和解密程序。優(yōu)選地,上述方法還包括應(yīng)急銷毀密碼,在應(yīng)用程序運(yùn)行時(shí),接收第一處理器系統(tǒng)指令,若系統(tǒng)發(fā)出應(yīng)急銷毀密碼指令,則擦除第一存儲(chǔ)器、第二存儲(chǔ)器及第三存儲(chǔ)器。優(yōu)選地,上述步驟1的加密過(guò)程中,加密密鑰為IM字節(jié)長(zhǎng)度的偽隨機(jī)序列,加密算法采用明文與加密密鑰異或的方式。本發(fā)明的有益效果將處理器的應(yīng)用程序通過(guò)密碼卡進(jìn)行加密后存儲(chǔ)在第一存儲(chǔ)器1 3中,存儲(chǔ)在第一存儲(chǔ)器1 3中的應(yīng)用程序?yàn)槊芪?,因此即使得到此密文但不能得到密鑰及解密程序時(shí)也無(wú)法使用此應(yīng)用程序。本發(fā)明的裝置在不影響系統(tǒng)功能的情況下對(duì)處理器程序?qū)嵤┟艽a保護(hù)、防止應(yīng)用程序泄密,而且實(shí)現(xiàn)簡(jiǎn)單,便于系統(tǒng)改進(jìn)與升級(jí)。典型地,若電子設(shè)備丟失,如戰(zhàn)斗機(jī)墜毀、導(dǎo)彈被俘獲,對(duì)方在未獲得解密密鑰與解密程序情況下,獲得處理器應(yīng)用程序密文將無(wú)任何價(jià)值,而系統(tǒng)中第二存儲(chǔ)器12中的應(yīng)用程序明文也因?yàn)榈綦姸鵁o(wú)法恢復(fù)。因此,本發(fā)明的安全保護(hù)裝置可證明是安全有效的。同時(shí)本發(fā)明的方法還具有人工控制與遠(yuǎn)程控制銷毀密碼能力。本發(fā)明的方法在使用時(shí),解密密鑰與解密程序僅在系統(tǒng)上電時(shí)傳輸一次,保證其安全性,并將其存儲(chǔ)在SDRAM存儲(chǔ)器12中,在傳輸完畢之后,處理設(shè)備的DSP處理器11向密碼卡的DSP處理器21發(fā)送擦除指令,DSP處理器21擦除其FLASH存儲(chǔ)器22中的所有內(nèi)容。系統(tǒng)帶電復(fù)位時(shí),SDRAM存儲(chǔ)器12中的解密密鑰與解密程序數(shù)據(jù)不丟失,可重復(fù)使用。密碼卡使用完以后,其功能自動(dòng)失效,因此即使設(shè)備丟失,也不存在泄密風(fēng)險(xiǎn)。
圖1為本發(fā)明的處理器程序安全保護(hù)裝置的結(jié)構(gòu)示意圖。圖2為本發(fā)明的處理器程序安全保護(hù)方法的軟件功能模塊圖。圖3為執(zhí)行密碼程序加載的流程圖。圖4為第一處理器完整的執(zhí)行流程圖。
具體實(shí)施例方式下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明作進(jìn)一步的說(shuō)明。本發(fā)明公開(kāi)的一種處理器程序安全保護(hù)裝置,如圖1所示,包括處理設(shè)備1、密碼卡2,所述處理設(shè)備和密碼卡連接;所述處理設(shè)備1包括第一處理器11、第一存儲(chǔ)器13(如 FLASH存儲(chǔ)器)、第二存儲(chǔ)器12 (如SDRAM存儲(chǔ)器)、第一接口芯片14、電源模塊15,第一處理器11分別與第一存儲(chǔ)器1 3、第二存儲(chǔ)器12、第一接口芯片14相連;處理設(shè)備1和密碼卡2的各芯片分別連接電源模塊15,由電源模塊15提供電源;所述密碼卡2包括第二處理器21、第三存儲(chǔ)器22 (如FLASH存儲(chǔ)器)、第二接口芯片23、人機(jī)界面交互器對(duì),所述第二處理器21分別與第三存儲(chǔ)器22、第二接口芯片23、人機(jī)界面交互器M相連;所述第一接口芯片14與第二接口芯片23通過(guò)異步串口連接,通過(guò)異步串口進(jìn)行數(shù)據(jù)傳輸,所述第一存儲(chǔ)器13為非易失性存儲(chǔ)器,所述第二存儲(chǔ)器12為易失性存儲(chǔ)器,第三存儲(chǔ)器22為非易失性存儲(chǔ)器。第一存儲(chǔ)器1 3內(nèi)固化程序包括引導(dǎo)程序(明文)、管理程序(明文)、應(yīng)用程序1 至N(密文)。上述第一存儲(chǔ)器為非易失性存儲(chǔ)器,在系統(tǒng)掉電以后數(shù)據(jù)不丟失,保證系統(tǒng)的穩(wěn)定。第二存儲(chǔ)器在系統(tǒng)使用時(shí)存儲(chǔ)解密密鑰和解密程序,系統(tǒng)帶電復(fù)位時(shí),第二存儲(chǔ)器中的解密密鑰和解密程序數(shù)據(jù)不丟失,可重復(fù)使用,所上述第二存儲(chǔ)器為易失性存儲(chǔ)器,在系統(tǒng)掉電以后,數(shù)據(jù)不可以恢復(fù),保證程序安全。第三存儲(chǔ)器22內(nèi)固化程序包括系統(tǒng)程序 (明文)、解密密鑰(明文)、解密程序(明文)。將處理器的應(yīng)用程序通過(guò)密碼卡進(jìn)行加密后存儲(chǔ)在第一存儲(chǔ)器1 3中,存儲(chǔ)在第一存儲(chǔ)器1 3中的應(yīng)用程序?yàn)槊芪模虼思词沟玫酱嗣芪牡荒艿玫矫荑€及解密程序時(shí)也無(wú)法使用此應(yīng)用程序。本發(fā)明的裝置在不影響系統(tǒng)功能的情況下對(duì)處理器程序?qū)嵤┟艽a保護(hù)、防止應(yīng)用程序泄密,而且實(shí)現(xiàn)簡(jiǎn)單,便于系統(tǒng)改進(jìn)與升級(jí)。典型地,若電子設(shè)備丟失,如戰(zhàn)斗機(jī)墜毀、導(dǎo)彈被俘獲,對(duì)方在未獲得解密密鑰與解密程序情況下,獲得處理器應(yīng)用程序密文將無(wú)任何價(jià)值,而系統(tǒng)中第二存儲(chǔ)器12中的應(yīng)用程序明文也因?yàn)榈綦姸鵁o(wú)法恢復(fù)。因此,本發(fā)明的安全保護(hù)裝置可證明是安全有效的。所述第一接口芯片14與第二接口芯片23連接的接口電平為RS422。所述第一處理器11為DSP、ARM、FPGA, PowerPC、單片機(jī)或PC處理器。所述第一存儲(chǔ)器1 3為FLASH、 EEPROM、SD卡、CF卡、硬盤(pán)、或半導(dǎo)體存儲(chǔ)介質(zhì)。所述第二存儲(chǔ)器12為RAM或DDR。本發(fā)明還公開(kāi)了一處理器程序安全保護(hù)方法,其具體包含以下步驟
步驟1在程序初始化保護(hù)過(guò)程中,對(duì)應(yīng)用程序明文進(jìn)行加密,并將加密后的密文保存在第一存儲(chǔ)器中,將解密密鑰和解密程序保存在第三存儲(chǔ)器中; 步驟2裝置上電后,判斷第二存儲(chǔ)器中的控制字
若控制字為銷毀密碼處理,則第一處理器控制擦除第二存儲(chǔ)器和第一存儲(chǔ)器;同時(shí)第二處理器控制擦除第三存儲(chǔ)器;
若控制字為應(yīng)用程序加載,則第一處理器向密碼卡申請(qǐng)解密密鑰與解密程序,將其放置在第二存儲(chǔ)器的指定空間;
步驟3對(duì)應(yīng)用程序密文進(jìn)行解密,使用第二存儲(chǔ)器中的解密密鑰和解密程序?qū)Φ谝淮鎯?chǔ)器中的應(yīng)用程序密文進(jìn)行解密,恢復(fù)應(yīng)用程序明文,并運(yùn)行應(yīng)用程序。首先是對(duì)應(yīng)用程序的初始保護(hù),將應(yīng)用程序進(jìn)行加密處理,然后將應(yīng)用程序密文寫(xiě)入處理設(shè)備的第一存儲(chǔ)器FLASH存儲(chǔ)器13中,將相應(yīng)的解密程序和解密密鑰寫(xiě)入密碼卡的FLASH存儲(chǔ)器22中。這樣,處理設(shè)備的FLASH存儲(chǔ)器13中就不存在明文形式的應(yīng)用程序,當(dāng)處理設(shè)備需要運(yùn)行應(yīng)用程序時(shí),就要使用解密密鑰與解密程序恢復(fù)應(yīng)用程序明文后才能繼續(xù)運(yùn)行。優(yōu)選地,所述步驟2中,完成將解密密鑰和解密程序存放在第二存儲(chǔ)器后,第一處理器向密碼卡發(fā)送擦除指令,密碼卡接收到指令后擦除第三存儲(chǔ)器的解密密鑰和解密程序;優(yōu)選地,所述方法還包括應(yīng)急銷毀密碼,在應(yīng)用程序運(yùn)行時(shí),可接收第一處理器系統(tǒng)指令,若系統(tǒng)發(fā)出應(yīng)急銷毀密碼指令,則擦除第一存儲(chǔ)器、第二存儲(chǔ)器及第三存儲(chǔ)器。如圖2所示的處理器程序安全保護(hù)方法的軟件功能模塊圖,每個(gè)功能模塊分別執(zhí)行各自的功能,達(dá)到加密應(yīng)用程序及密碼銷毀的功能,同時(shí)因?yàn)樵趹?yīng)用程序運(yùn)行的時(shí)候可以接收系統(tǒng)指令,還可以跳轉(zhuǎn)至管理程序進(jìn)行應(yīng)銷毀密碼。如圖3所示的具體的執(zhí)行密碼程序加載的流程圖。通過(guò)多次加載技術(shù),恢復(fù)應(yīng)用程序明文,讓?xiě)?yīng)用程序安全運(yùn)行。其執(zhí)行步驟依次為執(zhí)行引導(dǎo)程序(步驟110),執(zhí)行管理程序(步驟120),執(zhí)行解密程序(步驟140),執(zhí)行應(yīng)用程序(160),應(yīng)用程序執(zhí)行時(shí),可根據(jù)系統(tǒng)指令跳轉(zhuǎn)回管理程序執(zhí)行(步驟170)。如圖4所示的第一處理器完整的執(zhí)行流程圖。處理設(shè)備上電運(yùn)行時(shí),DSP處理器 11首先將FLASH存儲(chǔ)器13中的引導(dǎo)程序搬移至處理器內(nèi)部RAM中(步驟210 ),然后跳轉(zhuǎn)至其入口地址運(yùn)行(步驟220)。引導(dǎo)程序大小為IK字節(jié),它主要目的是用于搬移更大的程序至SDRAM存儲(chǔ)器12中執(zhí)行。引導(dǎo)程序?qū)LASH存儲(chǔ)器13中的管理程序搬移至SDRAM存儲(chǔ)器12中(步驟240), 然后跳轉(zhuǎn)至管理程序入口地址運(yùn)行(步驟250)。管理程序在SDRAM存儲(chǔ)器12中的指定空間運(yùn)行,本實(shí)施例中設(shè)計(jì)為0至200K,管理程序負(fù)責(zé)密鑰與解密程序的申請(qǐng)、系統(tǒng)管理、銷毀密碼等。管理程序首先讀取SDRAM存儲(chǔ)器12中指定地址0x201的控制字(步驟270),根據(jù)控制字判斷程序執(zhí)行流程(步驟觀0)。若控制字為銷毀密碼處理,則DSP處理器11擦除 SDRAM存儲(chǔ)器12中應(yīng)用程序空間、解密密鑰空間、解密程序空間中的內(nèi)容(步驟四0),擦除 FLASH存儲(chǔ)器13中的全部?jī)?nèi)容(步驟300),控制密碼卡擦除FLASH存儲(chǔ)器22中的全部?jī)?nèi)容 (步驟)。若控制字判斷為應(yīng)用程序加載,則向密碼卡2申請(qǐng)解密密鑰(步驟310)與解密程序(步驟320),將其放置在SDRAM存儲(chǔ)器12中的指定空間,然后向密碼卡2發(fā)送擦除指令 (步驟330),密碼卡2接收到指令后擦除卡中FLASH存儲(chǔ)器22中的解密密鑰與解密程序,管理程序最后跳轉(zhuǎn)至解密程序入口地址運(yùn)行(步驟340)。密碼卡與處理設(shè)備通過(guò)異步串口芯片14與23連接,采用RS422電平進(jìn)行數(shù)據(jù)傳輸,設(shè)計(jì)速率為2. 5Mbps,解密密鑰與解密程序的傳輸時(shí)間約為3. 2秒。在解密程序過(guò)程中,首先根據(jù)系統(tǒng)指令在FLASH存儲(chǔ)器13中讀取需要執(zhí)行的應(yīng)用程序密文(步驟360),使用解密算法和解密密鑰將FLASH存儲(chǔ)器13中的應(yīng)用程序密文恢復(fù)成明文,并放置在SDRAM存儲(chǔ)器12的應(yīng)用程序空間(步驟370 ),解密程序跳轉(zhuǎn)至應(yīng)用程序入口地址運(yùn)行(步驟380)。DSP處理器運(yùn)行SDRAM存儲(chǔ)器中的應(yīng)用程序,完成系統(tǒng)所需要的功能(步驟400)。 應(yīng)用程序正常工作時(shí)通過(guò)中斷實(shí)時(shí)接收外部的控制指令,判斷是否進(jìn)行應(yīng)急銷毀密碼處理 (步驟410),若為應(yīng)急銷毀密碼,則向SDRAM存儲(chǔ)器中指定地址0x201寫(xiě)控制字(步驟420), 跳轉(zhuǎn)至SDRAM存儲(chǔ)器中管理程序的入口地址運(yùn)行(步驟430),在管理程序中銷毀存儲(chǔ)器中的所有涉密信息,因此本實(shí)施例具有人工控制與遠(yuǎn)程控制銷毀密碼能力。如圖5所示的應(yīng)用程序加密與密碼卡燒寫(xiě)的流程圖。在應(yīng)用程序初始保護(hù)過(guò)程中,PC機(jī)首先讀取處理器應(yīng)用程序明文(步驟510),然后隨機(jī)選擇一種加/解密算法(步驟 520),利用加密算法與加密密鑰加密應(yīng)用程序明文(步驟530),將加密后的應(yīng)用程序密文燒
6寫(xiě)至FLASH存儲(chǔ)器13中(步驟M0),將解密密鑰與解密程序燒寫(xiě)至密碼卡2的FLASH存儲(chǔ)器22中(步驟550)。優(yōu)選地,所述步驟1的加密過(guò)程中,加密密鑰為IM字節(jié)長(zhǎng)度的偽隨機(jī)序列,加密算法采用明文與加密密鑰異或的方式。如果加密密鑰與待加密的明文長(zhǎng)度相近,則在未獲得解密密鑰情況下要恢復(fù)明文幾乎是不可能的。因此,本實(shí)施例選取的加密算法簡(jiǎn)單有效,可達(dá)到理想的安全效果。在本實(shí)施例中,引導(dǎo)程序?yàn)镮K字節(jié),管理程序?yàn)?00K字節(jié),解密程序?yàn)闈q字節(jié), 解密密鑰為IM字節(jié),DSP主頻為IGHz,每秒可執(zhí)行8000M條指令,DSP與SDRAM的傳輸速率為40MHz,通過(guò)對(duì)程序長(zhǎng)度與時(shí)間復(fù)雜度的分析,引導(dǎo)程序、管理程序、解密程序的加載與執(zhí)行時(shí)間不超過(guò)100毫秒。因此,初始上電時(shí)整個(gè)明文恢復(fù)時(shí)間不超過(guò)3. 3秒。而在系統(tǒng)帶電復(fù)位情況下,由于不需要重新傳輸解密密鑰與解密程序,因此明文恢復(fù)時(shí)間不超過(guò)100 毫秒,對(duì)處理設(shè)備的功能毫無(wú)影響。解密密鑰與解密程序管理非常關(guān)鍵,可以說(shuō),該處理器應(yīng)用程序保護(hù)系統(tǒng)的安全與否就體現(xiàn)在密鑰管理上。因此,密碼卡2作為處理器程序安全保護(hù)系統(tǒng)中至關(guān)重要的設(shè)備,需要有效的管理與使用,以確保其安全性。處理設(shè)備1運(yùn)行前,應(yīng)首先獲得燒有相應(yīng)解密密鑰與解密程序的密碼卡2。解密密鑰與解密程序由管理部門(mén)統(tǒng)一管理,且各處理設(shè)備之間的解密密鑰與解密程序各不相同,因此需要由管理部門(mén)燒寫(xiě)指定的解密密鑰與解密程序到密碼卡2的FLASH 存儲(chǔ)器22內(nèi)。使用時(shí),解密密鑰與解密程序僅在系統(tǒng)上電時(shí)傳輸一次,將其存儲(chǔ)在SDRAM 存儲(chǔ)器12中,在傳輸完畢之后,處理設(shè)備的DSP處理器11向密碼卡的DSP處理器21發(fā)送擦除指令,DSP處理器21擦除其FLASH存儲(chǔ)器22中的所有內(nèi)容。系統(tǒng)帶電復(fù)位時(shí),SDRAM 存儲(chǔ)器12中的解密密鑰與解密程序數(shù)據(jù)不丟失,可重復(fù)使用。密碼卡使用完以后,其功能自動(dòng)失效,因此即使設(shè)備丟失,也不存在泄密風(fēng)險(xiǎn)。以上上述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種處理器程序安全保護(hù)裝置,其特征在于包括處理設(shè)備、密碼卡,所述處理設(shè)備和密碼卡連接;所述處理設(shè)備包括第一處理器、第一存儲(chǔ)器、第二存儲(chǔ)器、第一接口芯片、電源模塊,第一處理器分別與第一存儲(chǔ)器、第二存儲(chǔ)器、第一接口芯片相連;處理設(shè)備和密碼卡的各芯片分別連接電源模塊;所述密碼卡包括第二處理器、第三存儲(chǔ)器、第二接口芯片、人機(jī)界面交互器,所述第二處理器分別與第三存儲(chǔ)器、第二接口芯片、人機(jī)界面交互器相連; 所述第一接口芯片與第二接口芯片通過(guò)異步串口連接,所述第一存儲(chǔ)器為非易失性存儲(chǔ)器,所述第二存儲(chǔ)器為易失性存儲(chǔ)器。
2.如權(quán)利要求1所述的處理器程序安全保護(hù)裝置,其特征在于所述第一接口芯片與第二接口芯片連接的接口電平為RS422。
3.如權(quán)利要求2所述的處理器程序安全保護(hù)裝置,其特征在于所述第一處理器為DSP、 ARM、FPGA, PowerPC、單片機(jī)或PC處理器。
4.如權(quán)利要求3所述的處理器程序安全保護(hù)裝置,其特征在于所述第一存儲(chǔ)器為 FLASH、EEPROM、SD卡、CF卡、硬盤(pán)、或半導(dǎo)體存儲(chǔ)介質(zhì)。
5.如權(quán)利要求4所述的處理器程序安全保護(hù)裝置,其特征在于所述第二存儲(chǔ)器為RAM 或 DDR。
6.一種處理器程序安全保護(hù)方法,其具體包含以下步驟步驟1在程序初始化保護(hù)過(guò)程中,對(duì)應(yīng)用程序明文進(jìn)行加密,并將加密后的密文保存在第一存儲(chǔ)器中,將解密密鑰和解密程序保存在第三存儲(chǔ)器中;步驟2裝置上電后,判斷第二存儲(chǔ)器中的控制字若控制字為銷毀密碼處理,則第一處理器控制擦除第二存儲(chǔ)器和第一存儲(chǔ)器;同時(shí)第二處理器控制擦除第三存儲(chǔ)器;若控制字為應(yīng)用程序加載,則第一處理器向密碼卡申請(qǐng)解密密鑰與解密程序,將其放置在第二存儲(chǔ)器的指定空間;步驟3對(duì)應(yīng)用程序密文進(jìn)行解密,使用第二存儲(chǔ)器中的解密密鑰和解密程序?qū)Φ谝淮鎯?chǔ)器中的應(yīng)用程序密文進(jìn)行解密,恢復(fù)應(yīng)用程序明文,并運(yùn)行應(yīng)用程序。
7.如權(quán)利要求6所述的處理器程序安全保護(hù)方法,其特征在于所述步驟2中,完成將解密密鑰和解密程序存放在第二存儲(chǔ)器后,第一處理器向密碼卡發(fā)送擦除指令,密碼卡接收到指令后擦除第三存儲(chǔ)器的解密密鑰和解密程序。
8.如權(quán)利要求7所述的處理器程序安全保護(hù)方法,其特征在于所述方法還包括應(yīng)急銷毀密碼,在應(yīng)用程序運(yùn)行時(shí),接收第一處理器系統(tǒng)指令,若系統(tǒng)發(fā)出應(yīng)急銷毀密碼指令,則擦除第一存儲(chǔ)器、第二存儲(chǔ)器及第三存儲(chǔ)器。
9.如權(quán)利要求8所述的處理器程序安全保護(hù)方法,其特征在于所述步驟1的加密過(guò)程中,加密密鑰為IM字節(jié)長(zhǎng)度的偽隨機(jī)序列,加密算法采用明文與加密密鑰異或的方式。
全文摘要
本發(fā)明涉及加密領(lǐng)域,公開(kāi)了一種處理器程序安全保護(hù)裝置,包括處理設(shè)備、密碼卡,所述處理設(shè)備和密碼卡連接;所述處理設(shè)備包括第一處理器、第一存儲(chǔ)器、第二存儲(chǔ)器、第一接口芯片、電源模塊,第一處理器分別與第一存儲(chǔ)器、第二存儲(chǔ)器、第一接口芯片相連;處理設(shè)備和密碼卡的各芯片分別連接電源模塊;所述第一接口芯片與第二接口芯片通過(guò)異步串口連接,所述第一存儲(chǔ)器為非易失性存儲(chǔ)器,所述第二存儲(chǔ)器為易失性存儲(chǔ)器。本發(fā)明還公開(kāi)了一種處理器程序安全保護(hù)方法。通過(guò)使用本發(fā)明的裝置及方法,對(duì)方在未獲得解密密鑰與解密程序情況下,獲得處理器應(yīng)用程序密文將無(wú)任何價(jià)值。
文檔編號(hào)G06F21/00GK102324006SQ20111026110
公開(kāi)日2012年1月18日 申請(qǐng)日期2011年9月6日 優(yōu)先權(quán)日2011年9月6日
發(fā)明者何敏 申請(qǐng)人:四川九洲電器集團(tuán)有限責(zé)任公司