當前位置:首頁 > 單片機 > 單片機
[導讀]提出一種DSP程序保護方法,利用3DES、Geffe發(fā)生器和MD5等算法,構(gòu)造一種加密體制。

摘要:提出一種DSP程序保護方法,利用3DES、Geffe發(fā)生器和MD5等算法,構(gòu)造一種加密體制。在DSP程序運行的同時,對其進行加密處理,讓加密貫穿程序的整個運行過程,以此實現(xiàn)對DSP程序的保護。

    關(guān)鍵詞:DSP 3DES Geffe發(fā)生器 MD5

目前,DSP以其卓越的性能、獨有的特點,已經(jīng)成為通信、計算機、消費類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件。同時,隨著對知識產(chǎn)權(quán)的重視,在利用DSP進行產(chǎn)品設(shè)計時,如何保護自己的成果,防止破譯者竊取,也成為設(shè)計者工作在一個重要方面[1,2]。如果產(chǎn)品大批量生產(chǎn),那么可以利用掩膜技術(shù)等工藝將操作程序及數(shù)據(jù)寫入芯片,使它們不能被讀出,達到保護的效果。對于還沒有形成規(guī)模的產(chǎn)品,使用這樣的方法就會使成本大大增加。因此,本文提出一種方法,利用3DES、Geffe發(fā)生器和MD5等算法,構(gòu)造一種加密體制,來保護DSP程序。

1 加密原理及硬件結(jié)構(gòu)

1.1 加密原理

該體制的加密原理可分為2個層次。首先是對程序的初始保護,就是把程序?qū)懭隓SP芯片之前,對源代碼進行加密處理,然后將密文寫放入芯片。這樣芯片中就不存在明文形式的源代碼。當要運行該程序時,就從微狗中取出密鑰進行解密,再繼續(xù)運行。第2個層次就是在DSP程序運行過程中的連續(xù)保護。它的處理對象是一些重要參數(shù)或變時,通過“加鎖”,讓它們一直以密文形式存在于程序中。只有需要使用這些數(shù)據(jù)時,才從微狗內(nèi)取出密鑰進行解密。使用結(jié)束后,仍舊“加鎖”保護,使之仍然是密文形式。

1.2 硬件結(jié)構(gòu)

在這種加密體制中,需要1片微狗實現(xiàn)密鑰管理。如果原來的DSP系統(tǒng)中已經(jīng)存在帶有加密位的EPLD、CPLD或單片機,就可以利用以有資源進行設(shè)計,把它們作為微狗,完全不需要額外的硬件支持。否則,不妨用1片單片機完成微狗功能。這是由其良好的性價比決定的。

2 工作過程和密鑰管理

根據(jù)加密原理,該體制的工作過程同樣分為2個層次。首先,是初始程序保護,它以程序整體為處理對象。然后,是基于數(shù)據(jù)的連續(xù)保護。保護對象是一些重要參數(shù)事變量。它保證了加密貫穿程序運行的整個過程。在工作過程中,密鑰管理非常關(guān)鍵,可以說,該體制的安全與否就體現(xiàn)在密鑰管理上。

2.1 初始程序保護

初始程序保護使用的加密算法是3DES算法,加密結(jié)束后,銷毀密鑰,同時將密文寫入芯片。這樣芯片內(nèi)就不存在程序的明文形式,可以防止別人通過簡單的反匯編得到程序源代碼。開始運行DSP程序時,就在DSP監(jiān)控程序的控制下,從微狗內(nèi)取出相應的密鑰,解密恢復出源代碼。

微狗主要實現(xiàn)密鑰管理功能。內(nèi)部密鑰的生成機制和主程序完全相同。把主程序以密文形式寫入DSP芯片時,通過監(jiān)控程序告知微狗,微狗內(nèi)部同時生成對應密鑰K0;主程序開始運行時,再在監(jiān)控程序控制下,從微狗內(nèi)取出密鑰K0,解密,得到明文形式源代碼。

可是,由于只有1個密鑰,破譯者完全可以通過截取DSP和微狗之間的通信數(shù)據(jù),很容易地得到密鑰。一旦得到密鑰,這種保護體制也就形同虛設(shè)了。因此,我們又采取了基于數(shù)據(jù)驅(qū)動的連續(xù)保護。

2.2 基于數(shù)據(jù)驅(qū)動的連續(xù)保護

所謂基于數(shù)據(jù)驅(qū)動的連續(xù)保護,即是對程序中重要的參數(shù)或變量進行加密處理。由于這些參數(shù)或變量在程序運行時需要反復使用。故而通過對它們的保護,就可以使加密貫空程序的整個運行過程。

譬如對濾波器系數(shù)ap的保護,將其加密,即“加鎖”,同時銷毀密鑰。在求ap+1時,需要用到ap,就向監(jiān)控程序發(fā)出申請,在它的控制下,從微狗中取出對應密鑰,開銷,恢復ap,進行運算。運算結(jié)束后,再將ap和ap+1“加鎖",保存,繼續(xù)執(zhí)行DSP主程序。這樣不停地“加鎖”、“開鎖”,使得在同一時刻DSP主程序中都存在密文。

此時微狗中密鑰的生成必須和DSP主程序中的加密處理“同步”,即主程序的加密密鑰要和微狗內(nèi)生成的對應密鑰相同。這個可以由DSP監(jiān)控程序利用DSP內(nèi)部的中斷程序協(xié)調(diào)實現(xiàn)。使用密鑰Ki對某參數(shù)或變量加密結(jié)束后,通過中斷告訴監(jiān)控程序加密完成,然后鎖毀該密鑰。繼續(xù)執(zhí)行DSP程序時,若需要使用該參數(shù)或變量,就向監(jiān)控程序發(fā)出要求,在監(jiān)控程序的控制下,從微狗中取出對應密鑰Ki,解密。其具體過程如圖1所示。

其中,a、b為主程序和DSP監(jiān)控程序之間的數(shù)據(jù)交換,包括彼此呼叫與應答;c為DSP監(jiān)控程序?qū)ξ⒐返目刂?,發(fā)出某種命令;d是主程序在DSP監(jiān)控程序的控制下,從微狗內(nèi)取出相應的密鑰。

微狗將生成的密鑰依次排列,然后等待主程序取密鑰。不論是初始程序保護還是基于數(shù)據(jù)的連續(xù)保護,都只受監(jiān)控程序的控制。這樣可以保證主程序獲得正確密鑰。

加入連續(xù)保護后,破譯者要想得到源代碼,必須跟蹤程序的整個運行過程。這樣,對于破譯者而言,所花費的代價等于自己獨立寫一套程序,顯然也失去了破譯的必要。

2.3 細節(jié)處理

除了上述保護措施,還可以使用一些編程技巧,在細節(jié)上小心謹慎,寫出讓人“眼花繚亂”的程序,否則,破譯者很可能不必完全跟蹤,就能夠獲取源程序。因為目的是要迷惑別人,所以就得盡量破壞程序的可讀性。譬如打亂程序的正常順序,使其顯得雜亂無章;適時適地插入無用代碼,增強干擾;使參數(shù)變量的命名晦澀難懂,絕對不能有key、digest等諸如此類可以望文生義的名稱??傊?,要讓破譯者對獲取的內(nèi)容不知所云,以增加其還原源程序的難度。

3 相關(guān)算法及密鑰生成機制

該體制的加密算法是3DES,是個對稱算法。其安全性可以說完全體現(xiàn)在密鑰上。因此,如何產(chǎn)生一個“安全”的密鑰至為關(guān)鍵。在密鑰的生成機制中,用到了Geffe發(fā)生器和MD5算法。

3.1 相關(guān)算法[3]

(1)3DES算法

數(shù)據(jù)加密標準DES(Data Encryption Standard)產(chǎn)生于20世紀70年代。經(jīng)過20多年的使用,目前仍是一個世界內(nèi)的加密標準。這說明它的安全性相當高。它是一個分組加密算法,以64位分組對數(shù)據(jù)加密。密鑰K的長度也是64位,可以是任意數(shù)。DES算法是對稱的,加密與解密使用相同的算法與密鑰(除了密鑰的編排順序不同)。因而可以說,DES算法的保密性完全依賴于密鑰K。

目前對DES的破譯,最有效的是窮舉功擊。之所以說DES已經(jīng)不太安全,是因為其密鑰短。以現(xiàn)今的運算技術(shù)來說,計算量已經(jīng)不算很大。不過,如果增加密鑰的長度,其安全性也可以相應地增強。3DES正是基于這樣的原理。加密時,使用2個不同的密鑰K1和密鑰K2對1個分組進行3次加密。也就是說,先用密鑰K1加密,然后用密鑰K2解密,最后用密鑰K1加密;解密時則先用密鑰K1解密,然后用密鑰K2加密,最后用密鑰K1解密。

計算式如下:

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(Linear Feedback Shift Register)產(chǎn)生序列密碼。LFSR的輸出就是m序列,是一個偽隨機序列。Geffe發(fā)生器使用了3個LFSR,以非線生方式組合。其中,2個LFSR作為復合器的輸入,第3個LFSR控制復合器的輸出。使用相關(guān)攻擊,Geffe發(fā)生器的破譯并不難,故而不能直接將它作為3DES算法的密鑰,因此這里對其作取摘要處理。

(3)MD5算法

MD5(Message Digest)算法是由MIT的密碼專家,RSA算法的發(fā)明人之一Ron Rivest設(shè)計發(fā)明的一種認證算法標準。MD5算法完成于1992年,它可以對任意長的報文輸入,得到1個128位的輸出。該算法可以保證2條不同的報文產(chǎn)生相同的摘要的可能性很小,并且由給定的摘要反向求其對應的報文極端困難。因此將摘要作為密鑰既可以保證隨機性,安全性也能提高了不少。

3.2 密鑰的生成機制

無論從3DES算法本身,還是從該體制的加密原理來講,密鑰的生成機制都至關(guān)重要。因此,必須保證使用的密鑰是安全的。其安全性體現(xiàn)為兩個方面:一是密鑰本身是隨機的;一是密鑰的管理機制。

密鑰的生成過程如下:先由Geffe發(fā)生器得到一隨機序列,然后通過MD5算法取摘要,得到的128比特數(shù)據(jù)就是密鑰K1和密鑰K2組合。由Geffe發(fā)生器及MD5算法原理可以看出,這樣產(chǎn)生的密鑰是隨機的。

由該體制的工作過程可以看出,密鑰的管理是安全的。這是由于在主程序內(nèi),加密結(jié)束后,隨即將密鑰銷毀,主程序內(nèi)不保留密鑰;使用密鑰時,通過監(jiān)控程序從微狗內(nèi)獲取。微狗和DSP是物理分開的,保證了密鑰存放的安全。

4 結(jié)果分析

嚴格地說,這種方法并不屬于加密,只是一種保護手段——利用幾個簡單的,結(jié)合DSP和單片機的特點,構(gòu)造一種保護體制。甚至其效果究竟如何,可以從2個方面分析。

4.1 安全性分析

既然是一種保護方法,那么安全性是最重要的指標。由這種體制的加密原理及工作過程,可以看出安全性可以保護。3DES算法,無論從理論上還是實踐上,都是一種相當好的加密算法。雖然利用窮舉攻擊,該算法最終可以破譯,但需要2 112次窮舉,所花費的代價實在太大,可以說得不償失。因此,只要保證密鑰的安全,可以認為這種保護體制是完全的。而從密鑰的生成過程和管理機制來講,密鑰是安全的。

4.2 性能分析[4~6]

這種保護方法的速度很快,因為3DES算法要是混亂和擴散的組合,只使用了標準的算術(shù)和邏輯運算。Geffe發(fā)生器和MD5算法用到的也主要是邏輯運算,用DSP或者單片機實現(xiàn)非常方便。譬如對于TMS320VC5402來說,Geffe發(fā)生器產(chǎn)生64字的偽隨機序列需要296 544個周期,MD5處理64個字長的消息需要用3400個周期,所花費的時間分別為2 965ms和0.003ms。

因此,我們只是利用了一些簡單的算法,結(jié)合DSP和1片微狗,構(gòu)造出1個DSP程序保護體制,以小代價獲得了好的效果,還是很值得的。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉