下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
DSP程序的加密保護(hù)體制設(shè)計(jì)2010-12-1816:02:16
來源:嵌入式公社關(guān)鍵字:DSP3DESGeff加密
目前,DSP以其卓越的性能、獨(dú)有的特點(diǎn),已經(jīng)成為通信、計(jì)算機(jī)、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件。同時(shí),隨著對知識產(chǎn)權(quán)的重視,在利用DSP進(jìn)行產(chǎn)品設(shè)計(jì)時(shí),如何保護(hù)自己的成果,防止破譯者竊取,也成為設(shè)計(jì)者工作在一個(gè)重要方面[1,2]。如果產(chǎn)品大批量生產(chǎn),那么可以利用掩膜技術(shù)等工藝將操作程序及數(shù)據(jù)寫入芯片,使它們不能被讀出,達(dá)到保護(hù)的效果。對于還沒有形成規(guī)模的產(chǎn)品,使用這樣的方法就會使成本大大增加。因此,本文提出一種方法,利用3DES、Geff發(fā)生器和MD5等算法,構(gòu)造一種加密體制,來保護(hù)DSP程序。1
加密原理及硬件結(jié)構(gòu)
1.1
加密原理
該體制的加密原理可分為2個(gè)層次。首先是對程序的初始保護(hù),就是把程序?qū)懭隓SP芯片之前,對源代碼進(jìn)行加密處理,然后將密文寫放入芯片。這樣芯片中就不存在明文形式的源代碼。當(dāng)要運(yùn)行該程序時(shí),就從微狗中取出密鑰進(jìn)行解密,再繼續(xù)運(yùn)行。第2個(gè)層次就是在DSP程序運(yùn)行過程中的連續(xù)保護(hù)。它的處理對象是一些重要參數(shù)或變時(shí),通過“加鎖”,讓它們一直以密文形式存在于程序中。只有需要使用這些數(shù)據(jù)時(shí),才從微狗內(nèi)取出密鑰進(jìn)行解密。使用結(jié)束后,仍舊“加鎖”保護(hù),使之仍然是密文形式。
1.2
硬件結(jié)構(gòu)
在這種加密體制中,需要1片微狗實(shí)現(xiàn)密鑰管理。如果原來的DSP系統(tǒng)中已經(jīng)存在帶有加密位的EPLD、CPLD或單片機(jī),就可以利用以有資源進(jìn)行設(shè)計(jì),把它們作為微狗,完全不需要額外的硬件支持。否則,不妨用1片單片機(jī)完成微狗功能。這是由其良好的性價(jià)比決定的。
2
工作過程和密鑰管理
根據(jù)加密原理,該體制的工作過程同樣分為2個(gè)層次。首先,是初始程序保護(hù),它以程序整體為處理對象。然后,是基于數(shù)據(jù)的連續(xù)保護(hù)。保護(hù)對象是一些重要參數(shù)事變量。它保證了加密貫穿程序運(yùn)行的整個(gè)過程。在工作過程中,密鑰管理非常關(guān)鍵,可以說,該體制的安全與否就體現(xiàn)在密鑰管理上。
2.1
初始程序保護(hù)
初始程序保護(hù)使用的加密算法是3DES算法,加密結(jié)束后,銷毀密鑰,同時(shí)將密文寫入芯片。這樣芯片內(nèi)就不存在程序的明文形式,可以防止別人通過簡單的反匯編得到程序源代碼。開始運(yùn)行DSP程序時(shí),就在DSP監(jiān)控程序的控制下,從微狗內(nèi)取出相應(yīng)的密鑰,解密恢復(fù)出源代碼。
微狗主要實(shí)現(xiàn)密鑰管理功能。內(nèi)部密鑰的生成機(jī)制和主程序完全相同。把主程序以密文形式寫入DSP芯片時(shí),通過監(jiān)控程序告知微狗,微狗內(nèi)部同時(shí)生成對應(yīng)密鑰K0;主程序開始運(yùn)行時(shí),再在監(jiān)控程序控制下,從微狗內(nèi)取出密鑰K0,解密,得到明文形式源代碼。
可是,由于只有1個(gè)密鑰,破譯者完全可以通過截取DSP和微狗之間的通信數(shù)據(jù),很容易地得到密鑰。一旦得到密鑰,這種保護(hù)體制也就形同虛設(shè)了。因此,我們又采取了基于數(shù)據(jù)驅(qū)動(dòng)的連續(xù)保護(hù)。
2.2
基于數(shù)據(jù)驅(qū)動(dòng)的連續(xù)保護(hù)
所謂基于數(shù)據(jù)驅(qū)動(dòng)的連續(xù)保護(hù),即是對程序中重要的參數(shù)或變量進(jìn)行加密處理。由于這些參數(shù)或變量在程序運(yùn)行時(shí)需要反復(fù)使用。故而通過對它們的保護(hù),就可以使加密貫空程序的整個(gè)運(yùn)行過程。
譬如對濾波器系數(shù)ap的保護(hù),將其加密,即“加鎖”,同時(shí)銷毀密鑰。在求ap+1時(shí),需要用到ap,就向監(jiān)控程序發(fā)出申請,在它的控制下,從微狗中取出對應(yīng)密鑰,開銷,恢復(fù)ap,進(jìn)行運(yùn)算。運(yùn)算結(jié)束后,再將ap和ap+1“加鎖",保存,繼續(xù)執(zhí)行DSP主程序。這樣不停地“加鎖”、“開鎖”,使得在同一時(shí)刻DSP主程序中都存在密文。
此時(shí)微狗中密鑰的生成必須和DSP主程序中的加密處理“同步”,即主程序的加密密鑰要和微狗內(nèi)生成的對應(yīng)密鑰相同。這個(gè)可以由DSP監(jiān)控程序利用DSP內(nèi)部的中斷程序協(xié)調(diào)實(shí)現(xiàn)。使用密鑰Ki對某參數(shù)或變量加密結(jié)束后,通過中斷告訴監(jiān)控程序加密完成,然后鎖毀該密鑰。繼續(xù)執(zhí)行DSP程序時(shí),若需要使用該參數(shù)或變量,就向監(jiān)控程序發(fā)出要求,在監(jiān)控程序的控制下,從微狗中取出對應(yīng)密鑰Ki,解密。其具體過程如圖1所示。
其中,a、b為主程序和DSP監(jiān)控程序之間的數(shù)據(jù)交換,包括彼此呼叫與應(yīng)答;c為DSP監(jiān)控程序?qū)ξ⒐返目刂?,發(fā)出某種命令;d是主程序在DSP監(jiān)控程序的控制下,從微狗內(nèi)取出相應(yīng)的密鑰。
微狗將生成的密鑰依次排列,然后等待主程序取密鑰。不論是初始程序保護(hù)還是基于數(shù)據(jù)的連續(xù)保護(hù),都只受監(jiān)控程序的控制。這樣可以保證主程序獲得正確密鑰。
加入連續(xù)保護(hù)后,破譯者要想得到源代碼,必須跟蹤程序的整個(gè)運(yùn)行過程。這樣,對于破譯者而言,所花費(fèi)的代價(jià)等于自己獨(dú)立寫一套程序,顯然也失去了破譯的必要。
2.3
細(xì)節(jié)處理
除了上述保護(hù)措施,還可以使用一些編程技巧,在細(xì)節(jié)上小心謹(jǐn)慎,寫出讓人“眼花繚亂”的程序,否則,破譯者很可能不必完全跟蹤,就能夠獲取源程序。因?yàn)槟康氖且曰髣e人,所以就得盡量破壞程序的可讀性。譬如打亂程序的正常順序,使其顯得雜亂無章;適時(shí)適地插入無用代碼,增強(qiáng)干擾;使參數(shù)變量的命名晦澀難懂,絕對不能有key、digest等諸如此類可以望文生義的名稱??傊屍谱g者對獲取的內(nèi)容不知所云,以增加其還原源程序的難度。3
相關(guān)算法及密鑰生成機(jī)制
該體制的加密算法是3DES,是個(gè)對稱算法。其安全性可以說完全體現(xiàn)在密鑰上。因此,如何產(chǎn)生一個(gè)“安全”的密鑰至為關(guān)鍵。在密鑰的生成機(jī)制中,用到了Geffe發(fā)生器和MD5算法。3.1
相關(guān)算法[3]
(1)3DES算法
數(shù)據(jù)加密標(biāo)準(zhǔn)DES(DataEncryptionStandard)產(chǎn)生于20世紀(jì)70年代。經(jīng)過20多年的使用,目前仍是一個(gè)世界內(nèi)的加密標(biāo)準(zhǔn)。這說明它的安全性相當(dāng)高。它是一個(gè)分組加密算法,以64位分組對數(shù)據(jù)加密。密鑰K的長度也是64位,可以是任意數(shù)。DES算法是對稱的,加密與解密使用相同的算法與密鑰(除了密鑰的編排順序不同)。因而可以說,DES算法的保密性完全依賴于密鑰K。
目前對DES的破譯,最有效的是窮舉功擊。之所以說DES已經(jīng)不太安全,是因?yàn)槠涿荑€短。以現(xiàn)今的運(yùn)算技術(shù)來說,計(jì)算量已經(jīng)不算很大。不過,如果增加密鑰的長度,其安全性也可以相應(yīng)地增強(qiáng)。3DES正是基于這樣的原理。加密時(shí),使用2個(gè)不同的密鑰K1和密鑰K2對1個(gè)分組進(jìn)行3次加密。也就是說,先用密鑰K1加密,然后用密鑰K2解密,最后用密鑰K1加密;解密時(shí)則先用密鑰K1解密,然后用密鑰K2加密,最后用密鑰K1解密。
計(jì)算式如下:
C=E1(D2(E1(P)))(1)P=D1(E1(D1(C)))(2)
其中,P為明文,C為密文。Ei()為加密函數(shù),Di()為解密函數(shù)。
(2)Geffe發(fā)生器
Geffe發(fā)生器是一種密鑰序列發(fā)生器,利用線性反饋移位寄存器LFSR(LinearFeedbackShiftRegister)產(chǎn)生序列密碼。LFSR的輸出就是m序列,是一個(gè)偽隨機(jī)序列。Geffe發(fā)生器使用了3個(gè)LFSR,以非線生方式組合。其中,2個(gè)LFSR作為復(fù)合器的輸入,第3個(gè)LFSR控制復(fù)合器的輸出。使用相關(guān)攻擊,Geffe發(fā)生器的破譯并不難,故而不能直接將它作為3DES算法的密鑰,因此這里對其作取摘要處理。
(3)MD5算法
MD5(MessageDigest)算法是由MIT的密碼專家,RSA算法的發(fā)明人之一RonRivest設(shè)計(jì)發(fā)明的一種認(rèn)證算法標(biāo)準(zhǔn)。MD5算法完成于1992年,它可以對任意長的報(bào)文輸入,得到1個(gè)128位的輸出。該算法可以保證2條不同的報(bào)文產(chǎn)生相同的摘要的可能性很小,并且由給定的摘要反向求其對應(yīng)的報(bào)文極端困難。因此將摘要作為密鑰既可以保證隨機(jī)性,安全性也能提高了不少。
3.2
密鑰的生成機(jī)制
無論從3DES算法本身,還是從該體制的加密原理來講,密鑰的生成機(jī)制都至關(guān)重要。因此,必須保證使用的密鑰是安全的。其安全性體現(xiàn)為兩個(gè)方面:一是密鑰本身是隨機(jī)的;一是密鑰的管理機(jī)制。
密鑰的生成過程如下:先由Geffe發(fā)生器得到一隨機(jī)序列,然后通過MD5算法取摘要,得到的128比特?cái)?shù)據(jù)就是密鑰K1和密鑰K2組合。由Geffe發(fā)生器及MD5算法原理可以看出,這樣產(chǎn)生的密鑰是隨機(jī)的。
由該體制的工作過程可以看出,密鑰的管理是安全的。這是由于在主程序內(nèi),加密結(jié)束后,隨即將密鑰銷毀,主程序內(nèi)不保留密鑰;使用密鑰時(shí),通過監(jiān)控程序從微狗內(nèi)獲取。微狗和DSP是物理分開的,保證了密鑰存放的安全。
4
結(jié)果分析
嚴(yán)格地說,這種方法并不屬于加密,只是一種保護(hù)手段——利用幾個(gè)簡單的,結(jié)合DSP和單片機(jī)的特點(diǎn),構(gòu)造一種保護(hù)體制。甚至其效果究竟如何,可以從2個(gè)方面分析。
4.1
安全性分析
既然是一種保護(hù)方法,那么安全性是最重要的指標(biāo)。由這種體制的加密原理及工作過程,可以看出安全性可以保護(hù)。3DES算法,無論從理論上還是實(shí)踐上,都是一種相當(dāng)好的加密算法。雖然利用窮舉攻擊,該算法最終可以破譯,但需要2112次窮舉,所花費(fèi)的代價(jià)實(shí)在太大,可以說得不償失。因此,只要保證密鑰的安全,可以認(rèn)為這種保護(hù)體制是完全的。而從密鑰的生成過程和管理機(jī)制來講,密鑰是安全的。
4.2
性能分析[4~6]這種保護(hù)方法的速度很快,因?yàn)?DES算法要是混亂和擴(kuò)散的組合,只使用了標(biāo)準(zhǔn)的算術(shù)和邏輯運(yùn)算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度鋼材行業(yè)投資分析與風(fēng)險(xiǎn)評估合同
- 2025版學(xué)校體育器材租賃與維護(hù)服務(wù)協(xié)議3篇
- 教育科技在心理健康領(lǐng)域的創(chuàng)新應(yīng)用
- 二零二五年度打字員與出版社合同:圖書編輯與排版服務(wù)協(xié)議2篇
- 社交媒體在小學(xué)數(shù)學(xué)教學(xué)中的作用與影響
- 教育信息化背景下的探究式學(xué)習(xí)法研究
- 2025年度能源管理創(chuàng)業(yè)合伙人共同投資協(xié)議4篇
- 二零二五年度成都離婚協(xié)議公證辦理材料審核及處理合同4篇
- 企業(yè)可持續(xù)發(fā)展與創(chuàng)新型組織架構(gòu)的關(guān)系
- 小學(xué)階段數(shù)學(xué)與信息技術(shù)課程的資源整合
- 2025-2030年中國MPV汽車市場全景調(diào)研及投資策略分析報(bào)告
- 二零二五年度數(shù)據(jù)存儲與備份外包服務(wù)協(xié)議2篇
- 2024-2025學(xué)年初中七年級上學(xué)期數(shù)學(xué)期末綜合卷(人教版)含答案
- 第五單元《習(xí)作例文:風(fēng)向袋的制作》說課稿-2024-2025學(xué)年五年級上冊語文統(tǒng)編版
- 【課件】第三課 蒙娜麗莎 課件高中美術(shù)湘美版美術(shù)鑒賞
- 新媒體研究方法教學(xué)ppt課件(完整版)
- 2020新版?zhèn)€人征信報(bào)告模板
- 東芝空調(diào)維修故障代碼匯總
- 建筑物成新率評定標(biāo)準(zhǔn)
- 工藝管道儀表流程圖(共68頁).ppt
- 五項(xiàng)管理行動(dòng)日志excel表格
評論
0/150
提交評論