欧美视频综合-欧美视频中文字幕-欧美视频在线观在线看-欧美视频在线观看网站-直接观看黄网站免费视频-正在播放久久

機電之家資源網
單片機首頁|單片機基礎|單片機應用|單片機開發|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發
培訓信息
贊助商
單片機系統的動態加密技術,紫微單片機
單片機系統的動態加密技術,紫微單片機
 更新時間:2009-7-23 15:58:15  點擊數:0
【字體: 字體顏色

    摘要:單片機系統產品的加密和解密技術永遠是一個矛盾的統一體。然而,為了更好的保護好自己的單片機技術成果和知識產權,加大解密成本,研究新型加密技術仍是保護成果的主要手段之一。文中在討論了傳統的單處系統加密和解密技術的基礎上,提出了一種實用而有效的動態加密技術的實現方案。

    關鍵詞:單片機系統 動態加密技術 FPGA

1 概述

    隨著單片機技術的發展和廣泛應用,許多使用單片機的高新技術產品諸如智能化儀器、儀表、小型工業控制系統等都面臨著一個令人頭痛的問題,那就是新產品剛一推出就被仿制和剽竊。這種現象會使產品開發商蒙受很大損失,同時也極大地挫傷了開發商的積極性。創新開發是一個公司競爭力的關鍵,如何保護好自己的勞動成果,除用法律手段外,在產品面市前作好加密是一個必不可少的環節。

    單片機系統一般都采用MCU+EPROM模式。通常EPROM都是透明的,而采用的MCU 一般有Intel公司的MCS51、52系列,Zilog公司的Z80、Z84系列、Motorola公司的MC68HC系列以及Microchip公司的PIC16C系列等。雖然有許多的MCU都帶有加密位,但現在已大多能破解。因此,單靠MCU本身加密位來進行加密已極不可靠的。

2 常用加密技術分析

    常用的單片機加密技術無非是硬件加密和軟件加密兩種。軟件加密不能防止別人復制,只能增加別人解剖分析的難度,但對高手而言,這不足為慮。所以,這里討論的加密主要是硬件加密。總結起來,主要是以下三大類。

2.1 總線亂置法

    總線亂置法通常是將MCU和EPROM之間的數據線和地址線的順序亂置。總線亂置法通常包括下面幾種:

    (1)將數據或地址總線的某些線位交換或求反;

    (2)將數據或地址總線中的某些線進行異或。例如,D5'=D5,D6'=D5+6等;

    (3)把(1)(2)結合起來以構成較復雜的電路;

    (4)采用EPROM時,把地址總線(或數據總線)與系統程序的存儲器地址(或數據)的對應關系按密鑰交換。例如,用一片2764芯片存儲密鑰,把地址的高8位重新按密鑰編碼,也就是說,把原程序的頁號順序打亂;

    (5)采用GAL器件,利用GAL的加密片來對硬件電路進行加密。

2.2 RAM替代法

    用電池對RAM進行掉電數據保護。即先將一系列數據寫入RAM并接上電池,然后將其余的芯片插上。這樣,當單片微機系統運行后,CPU首先從RAM讀出數據,這些數據可以是CPU執行程序的條件判別依據,也可以是CPU將要執行的程序。如果數據正確,整個系統正常運行。反之,系統不能運行。

2.3 利用MCU本身的加密位進行加密

    現在很多的MCU都帶有加密位,其中最成功的加密方法是總線燒毀法,此法在AT89C51中運行用得最成功。即把單片機數據總線的特定I/O永久性地破壞,解密者即使擦除了加密位,也無法讀出片內程序的正確代碼。此外還有破壞EA引腳的方法。

    一般來說,上述的加密方法各有優點,但都存在致命的缺點:第一種方法有兩個主要缺點:一是密鑰放在哪里才能不被破譯;二是用仿真器很容易就能把源程序截取出來。第二種方法同樣可以用仿真器把數據區調出來,另外還可以把RAM接上電池,取下來放在仿真器上讀出來。第三種方法用來加密小程序是成功的,但由于總線已被破壞,因而不能再使用總線來擴展接口芯片和存儲器。同時,片內存儲器也不再具有重復編程特性。

3 常用解密方法分析

    加密和解密長期以來就是一對矛盾。要做好加密,必須先了解現在的解密水平及手段。目前的解密手段大致可分為下面四種。

3.1 恢復加密位法

    該方法能破解常規用E2COMS工藝的存儲加密位芯片。它包括兩個系列:

    第一是MCU系列,例如MCS51系列(包括89C、97C、W78E/77E系列等)、Z84E系列、PIC16C/12C系列、MC68HC系列等。

    第二是PLD,如CPLD的GAL,PALCE的16V8、20V8、22V10,Altera的EPM7032、EMP7064、EMP7128,Lattice的LSP1016、LSP1024和Atmel的ATV750/2500等。

3.2 邏輯分析法

    該方法主要采用示波器、邏輯分析儀和MDU解密儀等分析工具分配一些邏輯較簡單的可編程器件的邏輯功能。

3.3 仿真器軟件跟蹤分析法

    此方法適用于破解一些未帶加密功能的單片機系統(如8031,Z80等系統),而對于有加密功能的單片機系統,則可先破解其單片機的源程序,然后進行仿真分析。

3.4 芯片揭蓋分析法

    現在市場上十萬門以下的芯片多功能通過揭蓋來進行逆向分析,但此破解法費用甚高。此法適用于破解專門的ASIC芯片。

    綜上所述,一般芯片及常規加密手段很難實現有效加密。嚴格來說,要做到絕對的加密是不可能的。選好適當的芯片,采用合適的加密技術,使仿制者面對需付高昂的解密費而卻步,那就意味著加密工作的成功。

4 動態加密技術原理

    動態加密技術的主要思路是:在程序看到的是虛地址,而虛地址對應的存儲器的實地址由CPU程序運行時通過FPGA賦予。其原理如圖1所示。

    舉例說明,若調用子程序CALL Function時,對應于同一個子程序調用,第一次調用的是真正的Function,絕對地址可能在1000H。而在第二次調用Function時,實地址可能是2000H,功能可能根本與Function不相同,這樣,只要在調用前把實地址通過軟件置進去就可以了。因此可以通過連續表面調用同一個子程序Function,而實際則是分別調用幾個不同的子程序來實現加密。至于虛地址映射到何處的實地址,可由編程者自己安排,故只需在調用前輸出實地址的對應關系即可。這種軟件與硬件相結合、虛地址與實地址相結合的加密方法使破解者即使獲得源程序也極難分析出對應關系。

    但這種動態加密技術也有漏動,如很難對付仿真器單步跟蹤分析,因此,須做進一步個性。改進的方法之一是在FPGA內設計一個計數器,并由CPU定時清零,否則一旦超過時限,FPGA將停止一切操作而使CPU無法運行,就更不用說仿真了。改進方法之二是在FPGA內做一密,并由CPU運行足夠長的時間后去訪問FPGA,以讀取密碼并比較,若出錯則由CPU破壞主內存RAM的內容,從而導致所有結果出錯。用這種方法足可以對付邏輯分析儀的跟蹤分析。

    對于數據加密,可采用與密鑰邏輯異或的方法。對于這種方法密鑰以及動態加密技術的邏輯函數都必須放在一個較難破譯的芯片上。鑒于對芯片解密技術的了解,筆者推薦使用Actel公司生產的42MX系列的FPGA來進行一次性編程,該芯片不可讀出碼點文件,市場上無法破解。同時,其資源也極為豐富,設計工具完整,且用VHDL語言極易實現各種功能。

5 結束語

    隨著單片機系統越來越廣泛的,其安全保密問題也越來越受到重視。密碼學為其提供了正確的理論基礎。同時,性能優良的硬件是實現其安全保密的物質基礎。二者缺一不可。加密解密長期以來就是一對矛盾,解密技術隨著科學技術的發展不斷創新。因此,只有對解密技術有了深刻的了解,才能做好加密工作,從在則確保產品的安全。

  • 上一篇: 單片機系統中的多任務多線程機制的實現,紫微單片機
  • 下一篇: 用89C51和8254-2實際步進式PWM輸出,紫微單片機
  • 發表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網友評論:(只顯示最新5條。)
    關于我們 | 聯系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發消息66821730(技術支持)點擊這里給我發消息66821730(廣告投放) 點擊這里給我發消息41031197(編輯) 點擊這里給我發消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業自行提供,該企業負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(濱江)機電一體化學會
    中國行業電子商務100強網站

    網站經營許可證:浙B2-20080178-1