當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]單片機系統(tǒng)產(chǎn)品的加密和解密技術(shù)永遠是一個矛盾的統(tǒng)一體。

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

    關(guān)鍵詞:單片機系統(tǒng) 動態(tài)加密技術(shù) FPGA

1 概述

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

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

2 常用加密技術(shù)分析

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

2.1 總線亂置法

總線亂置法通常是將MCU和EPROM之間的數(shù)據(jù)線和地址線的順序亂置??偩€亂置法通常包括下面幾種:

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

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

(3)把(1)(2)結(jié)合起來以構(gòu)成較復(fù)雜的電路;

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

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

2.2 RAM替代法

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

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

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

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

3 常用解密方法分析

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

3.1 恢復(fù)加密位法

該方法能破解常規(guī)用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 仿真器軟件跟蹤分析法

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

3.4 芯片揭蓋分析法

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

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

4 動態(tài)加密技術(shù)原理

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

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

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

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

5 結(jié)束語

隨著單片機系統(tǒng)越來越廣泛的,其安全保密問題也越來越受到重視。密碼學(xué)為其提供了正確的理論基礎(chǔ)。同時,性能優(yōu)良的硬件是實現(xiàn)其安全保密的物質(zhì)基礎(chǔ)。二者缺一不可。加密解密長期以來就是一對矛盾,解密技術(shù)隨著科學(xué)技術(shù)的發(fā)展不斷創(chuàng)新。因此,只有對解密技術(shù)有了深刻的了解,才能做好加密工作,從在則確保產(chǎn)品的安全。

本站聲明: 本文章由作者或相關(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è)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(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 半導(dǎo)體

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(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)閉