在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于DSP的程序加密保護體制設計

            基于DSP的程序加密保護體制設計

            作者: 時間:2012-10-30 來源:網(wǎng)絡 收藏

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

            本文引用地址:http://www.biyoush.com/article/148304.htm

            1 原理及硬件結構

            1.1 原理

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

            1.2 硬件結構

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

            2 工作過程和密鑰管理

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

            2.1 初始程序保護

            初始程序保護使用的加密算法是3DES算法,加密結束后,銷毀密鑰,同時將密文寫入芯片。這樣芯片內(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ù)據(jù)驅動的連續(xù)保護。

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

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

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

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

            2.jpg

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

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

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

            2.3 細節(jié)處理

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

            3 相關算法及密鑰生成機制

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


            上一頁 1 2 下一頁

            評論


            相關推薦

            技術專區(qū)

            關閉