當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]如今,一款新產(chǎn)品剛推出不久,市場(chǎng)上往往就會(huì)出現(xiàn)仿冒的產(chǎn)品,給先期研發(fā)的企業(yè)和個(gè)人造成知識(shí)產(chǎn)權(quán)的侵犯和經(jīng)濟(jì)利益的損害。作為工程師,在產(chǎn)品設(shè)計(jì)初期應(yīng)該盡量考慮到產(chǎn)品被抄襲的可能,選擇一款具有良好保密性的單

如今,一款新產(chǎn)品剛推出不久,市場(chǎng)上往往就會(huì)出現(xiàn)仿冒的產(chǎn)品,給先期研發(fā)的企業(yè)和個(gè)人造成知識(shí)產(chǎn)權(quán)的侵犯和經(jīng)濟(jì)利益的損害。作為工程師,在產(chǎn)品設(shè)計(jì)初期應(yīng)該盡量考慮到產(chǎn)品被抄襲的可能,選擇一款具有良好保密性的單片機(jī)并對(duì)單片機(jī)系統(tǒng)進(jìn)行加密設(shè)計(jì),防止競(jìng)爭對(duì)手的抄襲。

 

破解單片機(jī)程序的方法

 

對(duì)單片機(jī)內(nèi)的程序竊取主要有兩種方法:侵入式和非侵入式。侵入式的方法是破壞芯片的封裝,并利用半導(dǎo)體測(cè)試設(shè)備、顯微鏡和微定位器等儀器找到芯片內(nèi)保護(hù)熔絲的位置并將其擦除,使其變成未經(jīng)加密的芯片,然后用編程器將程序讀出,或者直接將探針放在芯片內(nèi)部總線上讀出存儲(chǔ)器中的程序。非侵入式的方法是利用芯片設(shè)計(jì)或芯片編程時(shí)序中的某些漏洞對(duì)芯片進(jìn)行解密,例如針對(duì)早期的AT89C系列芯片在擦除操作時(shí)序設(shè)計(jì)上的漏洞,使用自編程序在擦除加密鎖定位后停止下一步擦除片內(nèi)程序存儲(chǔ)器數(shù)據(jù)的操作,從而使加密的單片機(jī)變成沒加密似的,然后利用普通編程器就可讀出片內(nèi)的程序了。

 

可以看到,使用侵入式的解密方法需要使用昂貴的設(shè)備,并且需要花費(fèi)較長的時(shí)間,其解密成本較高;而使用非侵入式的解密方法需要的設(shè)備相對(duì)較廉價(jià),只要能找出芯片設(shè)計(jì)中的漏洞就有可能實(shí)現(xiàn)解密,但是需要解密者有深厚的專業(yè)知識(shí)。

 


圖1:NEC 78K系列單片機(jī)的保密功能。

 

NEC單片機(jī)的保密設(shè)計(jì)

 

理論上來說,單片機(jī)的程序不可能做到百分之百的保密,對(duì)單片機(jī)程序進(jìn)行加密只是為了提高破解成本。當(dāng)一個(gè)產(chǎn)品的破解成本高到和自主設(shè)計(jì)一個(gè)相同產(chǎn)品的成本相當(dāng)?shù)臅r(shí)候,便沒人會(huì)有興趣破解此產(chǎn)品。

 

產(chǎn)品設(shè)計(jì)中,為了避免增加外圍硬件從而增加產(chǎn)品成本,產(chǎn)品軟件的保密通常主要依靠所選用單片機(jī)的保密性來保證,因此選用一款保密性良好的單片機(jī)來提高抄襲者的破解成本就顯得尤為重要。NEC(日電電子)在其FLASH型的78K系列單片機(jī)中設(shè)計(jì)了充足的保護(hù)措施來保證單片機(jī)程序代碼的安全。

 

 

通常除了開發(fā)者的原因外,單片機(jī)程序目標(biāo)文件的泄露無外乎三個(gè)原因:1.量產(chǎn)時(shí)程序燒寫過程中目標(biāo)文件被竊取;2.產(chǎn)品上市后被竊密者拿到,利用侵入式或非侵入式的方法獲取單片機(jī)內(nèi)的目標(biāo)文件;3.使用BootLoader程序通過串口、CAN接口等進(jìn)行產(chǎn)品現(xiàn)場(chǎng)升級(jí)時(shí)應(yīng)用程序目標(biāo)文件被竊取。

 

 


圖2:量產(chǎn)編程器的加密設(shè)置。

 

量產(chǎn)編程時(shí)的程序保密

 

第三方為NEC設(shè)計(jì)的量產(chǎn)編程器FL-G03可以支持對(duì)8片芯片的同時(shí)燒寫。開發(fā)工程師使用128位密鑰將原始HEX文件加密,并將該密鑰固化到編程中用于燒寫時(shí)的解密,工程師還可在編程器上設(shè)置燒寫芯片的數(shù)量限制,然后將編程器和加密過的HEX文件提供給程序燒寫人員。這樣避免了其它人員接觸原始HEX文件,且最多只能燒寫設(shè)定數(shù)量的芯片。

 

 


圖3:即使保密位被破壞也無法讀出程序。

防止侵入式和非侵入式的程序竊取


 

 

侵入式的破解方法可以將加密過的芯片變成非加密的芯片,然后用編程器讀出程序,當(dāng)然也可以用探針從芯片內(nèi)部總線讀取程序,但這樣做的成本相當(dāng)之高;非侵入式的破解方法最后一般都要通過編程器將程序讀出。NEC的78K系列單片機(jī)沒有PROGRAM READ功能,因此無法利用編程器將程序讀出。(注:用編程器給芯片編程時(shí)的校驗(yàn)功能并不是將程序讀出來進(jìn)行校驗(yàn),而是編程器將數(shù)據(jù)送給芯片,由芯片內(nèi)核獨(dú)立完成與存儲(chǔ)區(qū)數(shù)據(jù)的比較,然后將比較結(jié)果返回給編程器)。

 

 


圖4:使用加密的目標(biāo)文件進(jìn)行現(xiàn)場(chǎng)升級(jí)。 

產(chǎn)品現(xiàn)場(chǎng)升級(jí)時(shí)的程序保密

 

如果單片機(jī)程序設(shè)計(jì)者使用了BootLoader功能,則可以在產(chǎn)品售出后方便地通過串口等通訊口對(duì)單片機(jī)程序進(jìn)行升級(jí),但是這也給竊密者留下了可乘之機(jī),新版本的應(yīng)用程序目標(biāo)文件有可能被泄露。解決辦法是設(shè)計(jì)者將應(yīng)用程序的目標(biāo)文件按自定義的某種算法進(jìn)行加密,并將解密算法放在BootLoader程序中。升級(jí)的時(shí)候BootLoader程序?qū)δ繕?biāo)文件進(jìn)行解密,然后寫入目標(biāo)FLASH區(qū)。這可以避免原始的目標(biāo)文件泄露出去。

 

防止芯片程序被意外擦除或改寫

 

除了上面談到的防止程序被泄露或破解的措施外,78K系列單片機(jī)還采取了多項(xiàng)措施來保證程序不會(huì)被意外擦除或者改寫。78K系列單片機(jī)可以在編程時(shí)通過編程軟件對(duì)FLASH進(jìn)行如下安全設(shè)置:

1. 禁止全片擦除操作。

2. 禁止塊擦除操作。

3. 禁止寫操作。

4. 禁止改寫boot cluster0區(qū)。

 

這些設(shè)置可以禁止通過編程器對(duì)芯片進(jìn)行擦除和寫入操作,但是芯片內(nèi)的用戶程序仍然可以對(duì)FLASH區(qū)進(jìn)行擦除和寫入操作。一旦設(shè)置了“禁止全片擦除操作”后,芯片內(nèi)的程序?qū)⒉豢稍俦徊脸透膶懀嗽O(shè)置也無法再被取消。

 

各項(xiàng)安全設(shè)置與操作命令的關(guān)系見表1。

 


表1: 各項(xiàng)安全設(shè)置與操作命令的關(guān)系。

 

結(jié)語

 

NEC的78K系列單片機(jī)從多個(gè)方面采取措施使得單片機(jī)程序的保密性得到加強(qiáng),尤其它沒有READ命令,無法將程序數(shù)據(jù)讀出到片外的特點(diǎn)使得其破解成本大大提高,有效地保護(hù)設(shè)計(jì)者的知識(shí)產(chǎn)權(quán)。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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