欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法

文檔序號:6378702閱讀:657來源:國知局
專利名稱:一種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法
技術(shù)領(lǐng)域
本發(fā)明涉及MCU、MPU、DSP,ARM等嵌入式編程芯片領(lǐng)域,尤其是一種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法。
背景技術(shù)
在現(xiàn)在日益信息化的社會中,計算機和網(wǎng)絡(luò)已經(jīng)全面滲透到日常生活的每一個角落。對于我們每個人,需要的已經(jīng)不再僅僅是那種放在桌上處理文檔,進(jìn)行工作管理和生產(chǎn)控制的計算機“機器”;各種各樣的新型嵌入式系統(tǒng)設(shè)備在應(yīng)用數(shù)量上已經(jīng)遠(yuǎn)遠(yuǎn)超過通用計算機,任何一個普通人可能擁有從大到小的各種使用嵌入式技術(shù)的電子產(chǎn)品,小到mp3,PDA等微型數(shù)字化產(chǎn)品,大到網(wǎng)絡(luò)家電,智能家電,車載電子設(shè)備。而在工業(yè)和服務(wù)領(lǐng)域中,使用嵌入式技術(shù)的數(shù)字機床,智能工具,工業(yè)機器人,服務(wù)機器人也將逐漸改變傳統(tǒng)的工業(yè)和服務(wù)方式。廣而化之,可以認(rèn)為凡是帶有微處理器的專用軟硬件系統(tǒng)都可以稱為嵌入式系統(tǒng)。作為系統(tǒng)核心的微處理器又包括三類微控制器(MCU)、數(shù)字信號處理器(DSP)、嵌入式微處理器(MPU)。所以有人簡單的說"嵌入式系統(tǒng)是指操作系統(tǒng)和功能軟件集成于計算機硬件系統(tǒng)之中。"還有人認(rèn)為嵌入式系統(tǒng)就是"以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)"。應(yīng)該說后者從功能應(yīng)用特征上比較好的給出了嵌入式系統(tǒng)的定義,嵌入式的概念的分析根本上應(yīng)該從應(yīng)用上加以切入。從狹義上講,我們更加強調(diào)那些使用嵌入式微處理器構(gòu)成獨立系統(tǒng),具有自己的操作系統(tǒng)并且具有某些特定功能的系統(tǒng),這里的微處理器專指32位以上的微處理器。按照這種定義,典型的嵌入式系統(tǒng)有使用x86的小型嵌入式工控主板,在各種自動化設(shè)備,數(shù)字機械產(chǎn)品中有非常廣闊的應(yīng)用空間;另外一大類是使用Intel,Motorola等專用芯片構(gòu)成的小系統(tǒng),它不僅僅在新興的消費電子和通訊儀表等方面獲得了巨大的發(fā)展應(yīng)用空間,而且甚至有趨勢取代傳統(tǒng)的工控機?,F(xiàn)在大家更加清楚的看到嵌入式技術(shù)的春天已經(jīng)來了。但是,對于嵌入式來說,代碼的安全性對企業(yè)越來越重要,如何防止他人讀取嵌入式芯片里面的代碼,保護(hù)自身程序的安全,和保護(hù)自己的利益呢,對嵌入式開發(fā)來說至關(guān)重要。現(xiàn)有的技術(shù)方案如圖I所示,硬件上通過SPI、I2C等串行芯片掛接一款滾動碼編碼芯片,軟件上在嵌入式應(yīng)用代碼上根據(jù)設(shè)計者意愿增加一段動態(tài)密碼驗證段,當(dāng)代碼運行到密碼驗證段時主控芯片會向滾動碼編碼芯片發(fā)送一個動態(tài)密鑰請求,然后主程序根據(jù)滾動碼編碼芯片反饋回來的動態(tài)密鑰進(jìn)行校驗,密鑰校驗通過則程序繼續(xù)執(zhí)行,密鑰校驗不通過則程序停止后續(xù)流程并進(jìn)行報錯提示。該方案主要是基于滾動碼的特性,通過代碼與滾動碼芯片綁定的方式進(jìn)行嵌入式代碼防抄板保護(hù)。經(jīng)滾動碼編譯芯片生成的驗證密碼每次都會有變化,傳輸時可有效防止通訊數(shù)據(jù)復(fù)制重發(fā)破解。上述技術(shù)方案的不足在于1、需外加一款滾動碼編碼芯片(如基于KEELOQ原理的
3HCS300、HCS301等),既增加器件成本,又增加電路制板面積,而且還會增加生產(chǎn)故障檢測率。2、代碼未進(jìn)行加密,剖片讀取后進(jìn)行反匯編編譯可輕易解析代碼功能。3、動態(tài)密碼校驗只是參差與代碼段,反匯編后可以通過注銷“密碼驗證”代碼段的方式進(jìn)行嵌入式代碼快速抄板破解。

發(fā)明內(nèi)容
本發(fā)明的目的正是要解決上述技術(shù)存在的不足,而提供一種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法。關(guān)鍵代碼以密文方式進(jìn)行靜態(tài)存儲,實現(xiàn)代碼實時動態(tài)解密運行,解決嵌入式芯片的代碼容易被剖片讀取破譯問題。本發(fā)明解決其技術(shù)問題采用的技術(shù)方案這種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法,該方法步驟如下第一步芯片復(fù)位啟動后程序指針跳轉(zhuǎn)于靜態(tài)存儲體內(nèi)直接運行明文代碼,執(zhí)行代碼保密性要求不高的應(yīng)用操作(即不需要保密的應(yīng)用操作);第二步當(dāng)需調(diào)用與密文代碼相關(guān)的函數(shù)庫時,當(dāng)前運行的代碼會把密文代碼讀取解密于動態(tài)存儲體的代碼運行區(qū);第三步程序指針跳轉(zhuǎn)于動態(tài)存儲體的代碼運行區(qū),運行解密所得代碼函數(shù);第四步運行完解密所得代碼函數(shù)后程序指針跳轉(zhuǎn)回靜態(tài)存儲體清除動態(tài)存儲體內(nèi)代碼運行區(qū)的數(shù)據(jù),繼續(xù)代碼運行;第五步當(dāng)需再次調(diào)用與密文代碼相關(guān)的函數(shù)庫時,重復(fù)第二、三、四步驟。所述的動態(tài)存儲體分成數(shù)據(jù)區(qū)與代碼運行區(qū)兩部分,數(shù)據(jù)區(qū)用于暫存代碼運行時的中間數(shù)據(jù),代碼運行區(qū)用于暫存并運行靜態(tài)存儲器中的密文代碼解密后的代碼。所述的靜態(tài)存儲體分成明文代碼與密文代碼兩部分,明文代碼是指芯片復(fù)位啟動后能夠直接運行的代碼,密文代碼是指需由明文代碼運行后搬運解密到動態(tài)存儲體的代碼運行區(qū)方能運行的代碼。本發(fā)明有益的效果是關(guān)鍵代碼以密文的形式進(jìn)行存儲,密文與明文夾雜存儲于同一存儲器內(nèi),可有效防止代碼被靜態(tài)剖片破解。2、當(dāng)明文代碼運行到需要密文代碼時才把密文代碼解壓于RAM中運行,運行完后馬上刪除。由于密文代碼被解密于RAM中運行只占用極少的時間,再加上RAM—旦斷電數(shù)據(jù)就丟失,可以有效降低代碼破譯風(fēng)險。


圖I是現(xiàn)有技術(shù)系統(tǒng)方框示意圖;圖2是本發(fā)明的系統(tǒng)方框示意圖。
具體實施例方式下面結(jié)合附圖和實施例對本發(fā)明作進(jìn)一步說明這種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法,該方法步驟如下第一步芯片復(fù)位啟動后程序指針跳轉(zhuǎn)于靜態(tài)存儲體3內(nèi)直接運行明文代碼31,執(zhí)行代碼保密性要求不高的應(yīng)用操作;第二步當(dāng)需調(diào)用與密文代碼32相關(guān)的函數(shù)庫時,當(dāng)前運行的代碼會把密文代碼32讀取解密于動態(tài)存儲體2的代碼運行區(qū)22 ;第三步程序指針跳轉(zhuǎn)于動態(tài)存儲體2的代碼運行區(qū)22,運行解密所得代碼函數(shù);第四步運行完解密所得代碼函數(shù)后程序指針跳轉(zhuǎn)回靜態(tài)存儲體3清除動態(tài)存儲體2內(nèi)代碼運行區(qū)22的數(shù)據(jù),繼續(xù)代碼運行;第五步當(dāng)需再次調(diào)用與密文代碼相關(guān)的函數(shù)庫時,重復(fù)第二、三、四步驟。如圖2所示,芯片存儲體I :包含動態(tài)存儲體及靜態(tài)存儲體兩部分;所述的動態(tài)存儲體2分成數(shù)據(jù)區(qū)21與代碼運行區(qū)22兩部分,數(shù)據(jù)掉電丟失,如SRAM、SDRAM等;數(shù)據(jù)區(qū)21用于暫存代碼運行時的中間數(shù)據(jù),代碼運行區(qū)22用于暫存并運行靜態(tài)存儲器3中的密文代碼32解密后的代碼。所述的靜態(tài)存儲體3分成明文代碼31與密文代碼22兩部分,數(shù)據(jù)掉電不丟失,如FLASH、EEPROM等;明文代碼31是指芯片復(fù)位啟動后能夠直接運行的代碼,密文代碼32是指需由明文代碼31運行后搬運解密到動態(tài)存儲體2的代碼運行區(qū)22方能運行的代碼。功效特點I.無需額外增加硬件成本,可廣泛應(yīng)用于可在RAM中運行代碼的系統(tǒng)平臺。2.關(guān)鍵代碼以密文方式存儲,提升代碼安全性,可以有效解決外掛代碼存儲器的代碼破譯問題。 3.加解密方式可以由系統(tǒng)應(yīng)用開發(fā)者靈活設(shè)計,可以采用一些自定義非標(biāo)準(zhǔn)模式增加不確定因素,提高代碼破譯難度。4.密文代碼可以根據(jù)開發(fā)者靈活設(shè)計,根據(jù)需求分段分時駐留運行于RAM,提高時效性,降低動態(tài)運行破譯風(fēng)險。5.方案商的關(guān)鍵代碼可以以密文庫的方式進(jìn)行安全授權(quán)。術(shù)語解釋RAM:Random Access Memory 隨機存儲器SRAM: Static RAM靜態(tài)隨機存儲器SDRAM: Synchronous Dynamic RAM 動態(tài)隨機存儲器FLASH:閃存,一種不揮發(fā)性內(nèi)存EEPROM:ElectricalIy Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲器,掉電后數(shù)據(jù)不丟失SPI: Serial Peripheral Interface,串行外設(shè)接口I2C: Inter 一 Integrated Circuit,由 PHILIPS 公司開發(fā)的兩線式串行總線除上述實施例外,本發(fā)明還可以有其他實施方式。凡采用等同替換或等效變換形成的技術(shù)方案,均落在本發(fā)明要求的保護(hù)范圍。
權(quán)利要求
1.一種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法,其特征在于該方法步驟如下第一步芯片復(fù)位啟動后程序指針跳轉(zhuǎn)于靜態(tài)存儲體(3)內(nèi)直接運行明文代碼(31),執(zhí)行代碼保密性要求不高的應(yīng)用操作;第二步當(dāng)需調(diào)用與密文代碼(32)相關(guān)的函數(shù)庫時,當(dāng)前運行的代碼會把密文代碼(32)讀取解密于動態(tài)存儲體(2)的代碼運行區(qū)(22);第三步程序指針跳轉(zhuǎn)于動態(tài)存儲體(2)的代碼運行區(qū)(22),運行解密所得代碼函數(shù);第四步運行完解密所得代碼函數(shù)后程序指針跳轉(zhuǎn)回靜態(tài)存儲體(3)清除動態(tài)存儲體(2)內(nèi)代碼運行區(qū)(22)的數(shù)據(jù),繼續(xù)代碼運行;第五步當(dāng)需再次調(diào)用與密文代碼相關(guān)的函數(shù)庫時,重復(fù)第二、三、四步驟。
2.根據(jù)權(quán)利要求I所述的基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法,其特征在于所述的動態(tài)存儲體(2)分成數(shù)據(jù)區(qū)(21)與代碼運行區(qū)(22)兩部分,數(shù)據(jù)區(qū)(21)用于暫存代碼運行時的中間數(shù)據(jù),代碼運行區(qū)(22 )用于暫存并運行靜態(tài)存儲器(3 )中的密文代碼(32)解密后的代碼。
3.根據(jù)權(quán)利要求I所述的基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法,其特征在于所述的靜態(tài)存儲體(3)分成明文代碼(31)與密文代碼(22)兩部分,明文代碼(31)是指芯片復(fù)位啟動后能夠直接運行的代碼,密文代碼(32)是指需由明文代碼(31)運行后搬運解密到動態(tài)存儲體(2)的代碼運行區(qū)(22)方能運行的代碼。
全文摘要
本發(fā)明涉及一種基于靜態(tài)加密存儲動態(tài)解密運行的代碼保護(hù)方法,步驟如下第一步芯片復(fù)位啟動后程序指針跳轉(zhuǎn)于靜態(tài)存儲體內(nèi)直接運行明文代碼,執(zhí)行代碼保密性要求不高的應(yīng)用操作;第二步當(dāng)需調(diào)用與密文代碼相關(guān)的函數(shù)庫時,當(dāng)前運行的代碼會把密文代碼讀取解密于動態(tài)存儲體的代碼運行區(qū);第三步程序指針跳轉(zhuǎn)于動態(tài)存儲體的代碼運行區(qū),運行解密所得代碼函數(shù);第四步運行完解密所得代碼函數(shù)后程序指針跳轉(zhuǎn)回靜態(tài)存儲體清除動態(tài)存儲體內(nèi)代碼運行區(qū)的數(shù)據(jù),繼續(xù)代碼運行;第五步當(dāng)需再次調(diào)用與密文代碼相關(guān)的函數(shù)庫時,重復(fù)第二、三、四步驟。本發(fā)明有益的效果是關(guān)鍵代碼以密文方式進(jìn)行靜態(tài)存儲,實現(xiàn)代碼實時動態(tài)解密運行,解決嵌入式芯片的代碼容易被剖片讀取破譯問題。
文檔編號G06F21/79GK102938046SQ20121038706
公開日2013年2月20日 申請日期2012年10月11日 優(yōu)先權(quán)日2012年10月11日
發(fā)明者黃權(quán), 楊敬濤 申請人:杭州晟元芯片技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
浑源县| 托里县| 安化县| 晋城| 五峰| 蒙自县| 西平县| 安多县| 渝北区| 岑巩县| 余姚市| 安溪县| 青神县| 将乐县| 泾阳县| 团风县| 侯马市| 石景山区| 垦利县| 五原县| 易门县| 五台县| 仙居县| 富蕴县| 临西县| 磐石市| 平阳县| 皋兰县| 根河市| 丰顺县| 舞钢市| 行唐县| 苍梧县| 开原市| 芦山县| 牡丹江市| 平南县| 黑龙江省| 桂平市| 清河县| 辰溪县|