• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      單片機(jī)攻擊技術(shù)和應(yīng)對加密技術(shù)分析

      2009-09-29 03:41徐止鐸
      關(guān)鍵詞:加密技術(shù)

      徐止鐸 田 霞

      摘要:隨著單片機(jī)越來越廣泛的應(yīng)用,單片機(jī)應(yīng)用系統(tǒng)的開發(fā)者必然面臨系統(tǒng)被仿制或剽竊的問題。為了使更多的單片機(jī)系統(tǒng)的原創(chuàng)者能有效地保護(hù)自己的開發(fā)成果和知識產(chǎn)權(quán),文章分別從軟件和硬件兩方面對單片機(jī)及其應(yīng)用系統(tǒng)的加密技術(shù)進(jìn)行了闡述和比較,供大家參考。

      關(guān)鍵詞:單片機(jī)系統(tǒng) 雙芯片互校驗(yàn) 加密技術(shù)

      0 引言

      隨著單片機(jī)和大規(guī)模集成電路技術(shù)的飛速發(fā)展,單片機(jī)的應(yīng)用領(lǐng)域不斷拓寬,產(chǎn)品市場不斷擴(kuò)大。人們應(yīng)用單片機(jī)及相關(guān)的外圍電子器件,研制開發(fā)了各種各樣的智能化儀器儀表和小型控制系統(tǒng)等自動化高新技術(shù)產(chǎn)品,在此類產(chǎn)品開發(fā)及推廣應(yīng)用中,碰到的一個令人頭疼的問題就是新產(chǎn)品剛一推出就被仿制和剽竊,使單片機(jī)應(yīng)用產(chǎn)品開發(fā)商常常蒙受損失,極大地挫傷了開發(fā)人員的積極性。加密問題就成為新產(chǎn)品開發(fā)中必須考慮的重要問題之— 。

      1 單片機(jī)攻擊技術(shù)

      1.1 軟件攻擊 該技術(shù)通常使用處理器通信接口并利用協(xié)議、加密算法或這些算法中的安全漏洞來進(jìn)行攻擊。軟件攻擊取得成功的一個典型事例是對早期ATMEL AT89C系列單片機(jī)的攻擊。攻擊者利用了該系列單片機(jī)擦除操作時序設(shè)計(jì)上的漏洞,使用自編程序在擦除加密鎖定位后,停止下一步擦除片內(nèi)程序存儲器數(shù)據(jù)的操作,從而使加過密的單片機(jī)變成沒加密的單片機(jī),然后利用編程器讀出片內(nèi)程序。

      1.2 電子探測攻擊 該技術(shù)通常以高時間分辨率來監(jiān)控處理器在正常操作時所有電源和接口連接的模擬特性,并通過監(jiān)控它的電磁輻射特性來實(shí)施攻擊。因?yàn)閱纹瑱C(jī)是一個活動的電子器件,它執(zhí)行不同的指令時,對應(yīng)的電源功率消耗也相應(yīng)變化。這樣通過使用特殊的電子測量儀器和數(shù)學(xué)統(tǒng)計(jì)方法分析和檢測這些變化,即可獲取單片機(jī)中的特定關(guān)鍵信息。

      1.3 過錯產(chǎn)生技術(shù) 該技術(shù)使用異常工作條件來使處理器出錯,然后提供額外的訪問來進(jìn)行攻擊。使用最廣泛的過錯產(chǎn)生攻擊手段包括電壓沖擊和時鐘沖擊。低電壓和高電壓攻擊可用來禁止保護(hù)電路工作或強(qiáng)制處理器執(zhí)行錯誤操作。時鐘瞬態(tài)跳變也許會復(fù)位保護(hù)電路而不會破壞受保護(hù)信息。電源和時鐘瞬態(tài)跳變可以在某些處理器中影響單條指令的解碼和執(zhí)行。

      1.4 探針技術(shù) 該技術(shù)是直接暴露芯片內(nèi)部連線,然后觀察,操控、干擾單片機(jī)以達(dá)到攻擊目的。為了方便起見,人們將以上四種攻擊技術(shù)分成兩類,一類是侵入型攻擊(物理攻擊),這類攻擊需要破壞封裝,然后借助半導(dǎo)體測試設(shè)備、顯微鏡和微定位器,在專門的實(shí)驗(yàn)室花上幾小時甚至幾周時間才能完成。所有的微探針技術(shù)都屬于侵入型攻擊。另外三種方法屬于非侵入型攻擊,被攻擊的單片機(jī)不會被物理損壞。在某些場合非侵入型攻擊是特別危險的,這是因?yàn)榉乔秩胄凸羲柙O(shè)備通常可以自制和升級,因此非常廉價。

      大部分非侵入型攻擊需要攻擊者具備良好的處理器知識和軟件知識。與之相反,侵入型的探針攻擊則不需要太多的初始知識,而且通??捎靡徽紫嗨频募夹g(shù)對付寬范圍的產(chǎn)品。因此,對單片機(jī)的攻擊往往從侵入型的反向工程開始,積累的經(jīng)驗(yàn)有助于開發(fā)更加廉價和快速的非侵入型攻擊技術(shù)。

      2 單片機(jī)系統(tǒng)軟件加密

      這里的軟件加密是指在不改變硬件電路及其資源的情況下只靠程序?qū)崿F(xiàn)的加密。

      2.1 數(shù)據(jù)加密 對于數(shù)據(jù),可設(shè)計(jì)密鑰,并采用數(shù)據(jù)與密鑰進(jìn)行邏輯異或等方法進(jìn)行加密。還可采用將數(shù)據(jù)進(jìn)行模糊處理方法,即摻沙子,并進(jìn)行真假數(shù)據(jù)地址的交叉混疊。但這些方法對解密高手來說都沒有太大難度。

      2.2 程序加密 單片機(jī)系統(tǒng)的監(jiān)控程序是剽竊者的主要破解目標(biāo)之一,因此也就成為保密的重點(diǎn)。可以采用單片機(jī)本身的加密位或動態(tài)加密法對程序進(jìn)行加密。

      2.2.1 單片機(jī)加密鎖定位實(shí)現(xiàn)程序加密 近年推出的大多數(shù)單片機(jī)內(nèi)部都有加密鎖定位或加密字節(jié),開發(fā)者將調(diào)試好的程序固化到單片機(jī)內(nèi)部程序存儲器的同時將其鎖定,這樣就無法使用普通的仿真器或編程器讀出其程序代碼,這就是所謂的拷貝保護(hù)和鎖定功能。但是許多單片機(jī)在此功能的設(shè)計(jì)上是有漏洞的,如,ATMEL的AT89C系列單片機(jī),拷貝者可想辦法(如自編程序)擦除其加密鎖定位,且緊接著停止擦除內(nèi)部程序存儲器的下一步操作,然后就可利用仿真器或編程器讀出程序代碼,而且這種加密方法對有些單片機(jī)而言會使得片內(nèi)程序存儲器失去重新編程功能。

      2.2.2 虛實(shí)地址實(shí)現(xiàn)程序加密 虛實(shí)地址加密是一種動態(tài)加密技術(shù),即開發(fā)者在編寫系統(tǒng)程序時,使程序表面上看到的是虛地址,而其對應(yīng)的實(shí)地址在某個不易破解的芯片中,由CPU運(yùn)行程序時動態(tài)地賦予。

      3 單片機(jī)系統(tǒng)硬件加密

      單片機(jī)產(chǎn)品的硬件加密方法有很多種,只要能使其硬件電路核心部分不能或者很難破譯,就是有效的硬件加密方法。下面將介紹幾種硬件加密的方法。

      3.1 總線燒毀法 單片機(jī)內(nèi)程序存儲器的讀寫都是通過數(shù)據(jù)總線特定的I/O口以并行或是以串行方式來傳送,如果把單片機(jī)數(shù)據(jù)總線的特定I/O口永久性地破壞,解密者即使擦除了加密位,也無法讀出片內(nèi)程序的正確代碼。開發(fā)設(shè)計(jì)人員在設(shè)計(jì)單片機(jī)硬件系統(tǒng)時只要預(yù)留出總線的其中一條不用,就可以使用總線燒毀法對單片機(jī)加密。

      這種加密方法的優(yōu)點(diǎn)是簡單可靠;缺點(diǎn)是占用了單片機(jī)資源,不能再使用總線擴(kuò)展接口芯片和存儲器。

      使用總線燒毀法需要注意:程序的大小受片內(nèi)程序存儲器容量的限制;單片機(jī)被加密后,總線被永久性破壞,片內(nèi)存儲器就不再具有重復(fù)編程的特性,只有當(dāng)確認(rèn)程序無誤后才能加密。

      3.2 總線置亂法 在單片機(jī)的應(yīng)用領(lǐng)域中,對于采用MCU +EPROM結(jié)構(gòu)的產(chǎn)品,設(shè)計(jì)時,將MCU 和EPROM之間的數(shù)據(jù)線和地址線的順序排亂,然后再將仿真器上調(diào)試好的源程序固化到EPROM 前,必須按排亂的數(shù)據(jù)線和地址線將源程序(明文)—— 轉(zhuǎn)化成EPROM中的目標(biāo)程序(密文)。這樣,剽竊者如果想要破譯EPROM 中的程序,必須同時破譯硬件路,并將其排亂的數(shù)據(jù)線和地址線恢復(fù)正常,然后根據(jù)排亂和正常狀態(tài)的對應(yīng)關(guān)系,將EPROM 芯片中讀出的數(shù)據(jù)(密文)經(jīng)反向轉(zhuǎn)換成原始程序(明文)。再考慮程序得反匯編和分析等,其工作量之大可想而知。

      3.3 RAM 替代法 隨機(jī)存儲器大都是CMOS電路,功耗很低,用電池對其進(jìn)行掉電保護(hù)數(shù)據(jù),電流僅幾微安。因此一粒鋰電池可以保護(hù)數(shù)據(jù)15年之久,利用隨機(jī)存儲器的這一特點(diǎn),我們可以采取單片微機(jī)仿真器對隨機(jī)存儲器進(jìn)行編程。先將一系列數(shù)據(jù)寫入隨機(jī)存儲器,接上電池,然后將其余的芯片插上,單片微機(jī)系統(tǒng)運(yùn)行后,CPU首先從隨機(jī)存儲器中讀出數(shù)據(jù),這些數(shù)據(jù)可以是CPU執(zhí)行程序的條件判別依據(jù),也可以是CPU將執(zhí)行的程序。如果數(shù)據(jù)正確,整個系統(tǒng)正常運(yùn)行,反之,系統(tǒng)則不能運(yùn)行。

      假若對硬件電路沒有剖析清楚,拔下了隨機(jī)存儲器或者取下電池,則隨機(jī)存儲器中的數(shù)據(jù)就會消失,在無正確的源程序的情況下,根本無法恢復(fù)原來的數(shù)據(jù)。

      3.4 用GA1 器件對外EPROM 中的軟件進(jìn)行加密 GAL是一種可電擦寫、可重復(fù)編程、并能夠加密的可編程邏輯器件。GAL器件內(nèi)部有一加密鎖定位,一旦這個位被編程,就使其存取陣列電路中止工作,從而防止再次編程或者檢驗(yàn),此加密位只能夠在整體擦除時和陣列一起擦除。由此可見,一旦GAL芯片內(nèi)的加密位被編程,整個GAL芯片內(nèi)的已編程的邏輯電路,對用戶來說是不透明的,這就起到了對硬件電路的加密作用。單片機(jī)系統(tǒng)中的芯片其內(nèi)部譯碼電路是不可以改變的,而且它本身沒有可以加密的內(nèi)部陣列。所以只能夠?qū)纹瑱C(jī)系統(tǒng)中的EPROM 的數(shù)據(jù)線或者地址線重新定義后新連結(jié),使用戶仿真時從EPROM芯片中讀出的程序代碼變成隨機(jī)數(shù),從而反匯編時使原程序面目全非,變成不可明讀的密碼程序,從而達(dá)到了對軟件加密的目的。

      應(yīng)用GAL器件對外EPROM 中的軟件進(jìn)行加密可采取變位加密法:將原機(jī)器碼中的位序進(jìn)行某種交換;邏輯運(yùn)算加密法:將原機(jī)器碼進(jìn)行邏輯運(yùn)算后獲得每一位加密的機(jī)器碼;地址總線加密法:改變地址總線,使讀出代碼的順序發(fā)生變化,從而達(dá)到加密的目的。將各種加密技術(shù)結(jié)合起來,可實(shí)現(xiàn)復(fù)雜的加密技術(shù),使得加密的軟件保密性較高,不易破譯。

      3.5 采用多單片機(jī)結(jié)構(gòu) 設(shè)計(jì)一個控制系統(tǒng)或產(chǎn)品可采用兩個或多個單片機(jī),控制系統(tǒng)是由CPU控制的,CPU 最終執(zhí)行的是機(jī)器碼語言。而這些機(jī)器碼程序又存放在外部存儲器中。我們將原源程序的機(jī)器碼,按高半字節(jié)和低半字節(jié)進(jìn)行分割,分別存放在兩片EPROM 中去。當(dāng)CPU輸出地址訪問外部程序存貯器時,選用內(nèi)置程序存儲器的單片機(jī)EP1、一般單片機(jī)EP2同時有效,分別把有效的半字節(jié)送到CPU總線上,重新組臺恢復(fù)了原指令的代碼,保證了CPU取指的正確,而盜用取出其中的一片或兩片分別進(jìn)行反匯編時,會因代碼混亂而無法進(jìn)行反匯編,這樣達(dá)到了加密的目的。

      EP1和EP2構(gòu)成性能穩(wěn)定的控制系統(tǒng)。把帶內(nèi)置程序存儲器的單片機(jī)作為主處理,另一單片機(jī)完成其他集成電路的功能。這樣在編制程序時,把程序的關(guān)鍵部分安排在EPl,其他程序安排在EP2中,或交替地存放程序。這樣就增加了程序的反匯編的難度。

      4 結(jié)束語

      對單片機(jī)應(yīng)用系統(tǒng)軟硬件而言,要做到絕對保密幾乎是不可能的,只能采取合適的加密技術(shù)盡量提高解密成本,這是加密的一個基本原則,只要能使一般剽竊者望而卻步,就是成功的加密方法。

      參考文獻(xiàn):

      [1]任克強(qiáng),劉暉.單片機(jī)系統(tǒng)硬件與軟件加密技術(shù).電子設(shè)計(jì)應(yīng)用.2003年7期.

      [2]陸利忠.單片機(jī)程序的加密和解密.電子技術(shù)(上海).1997年24卷6期.

      猜你喜歡
      加密技術(shù)
      運(yùn)用數(shù)據(jù)加密技術(shù)維護(hù)網(wǎng)絡(luò)安全的可靠性研究
      計(jì)算機(jī)網(wǎng)絡(luò)通信安全中數(shù)據(jù)加密技術(shù)的應(yīng)用研究
      信息加密技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)安全中的應(yīng)用
      日本開發(fā)新型加密技術(shù) 號稱量子計(jì)算機(jī)也難破解
      計(jì)算機(jī)網(wǎng)絡(luò)信息安全及對策分析
      試論傳真通信技術(shù)的安全策略
      基于云服務(wù)的加密式門禁系統(tǒng)設(shè)計(jì)
      虛擬專用網(wǎng)絡(luò)技術(shù)在計(jì)算機(jī)網(wǎng)絡(luò)信息安全中的應(yīng)用探討
      計(jì)算機(jī)數(shù)據(jù)加密技術(shù)的研究
      守好你的秘密
      永安市| 孟村| 芦溪县| 虎林市| 岗巴县| 三门县| 社会| 雷山县| 莱芜市| 贵南县| 嫩江县| 乌什县| 泰顺县| 措勤县| 闵行区| 江北区| 扎鲁特旗| 庆云县| 德令哈市| 宁晋县| 夏津县| 慈利县| 旬阳县| 岳西县| 本溪市| 南京市| 项城市| 龙川县| 广元市| 宁远县| 海南省| 汉中市| 泸州市| 嘉义县| 泸水县| 内江市| 驻马店市| 京山县| 青阳县| 长春市| 客服|