日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]嵌入式系統(tǒng)產(chǎn)品的加密和解密永遠(yuǎn)是一對矛盾的統(tǒng)一體。為了保護(hù)產(chǎn)品研發(fā)人員的技術(shù)成果,研究新型加密技術(shù)是非常有必要的。這里我們聊聊使用芯片UID加密的方案。首先需要明確

嵌入式系統(tǒng)產(chǎn)品的加密和解密永遠(yuǎn)是一對矛盾的統(tǒng)一體。為了保護(hù)產(chǎn)品研發(fā)人員的技術(shù)成果,研究新型加密技術(shù)是非常有必要的。這里我們聊聊使用芯片UID加密的方案。

首先需要明確的是,沒有一種加密是“絕對”可靠的,但是加密手段可以增加非法使用者的解密成本,借此來防止技術(shù)被“輕易”盜取。本次以LPC1000的UID加密方案為例進(jìn)行介紹。

一、LPC1000系列的加密方案

通過分析得出,基于CortexM0或CortexM3內(nèi)核的LPC1000系列MCU通過軟件加密的方法有兩種:

1、使用代碼讀保護(hù)機(jī)制,限制用戶訪問片內(nèi)Flash;

2、通過芯片UID并添加加密算法使每片MCU內(nèi)的程序具有唯一性。

代碼讀保護(hù)機(jī)制是通過使能系統(tǒng)中的不同安全級別,以便限制訪問片內(nèi)Flash,本次不做重點介紹。

二、UID加密

UID是唯一標(biāo)識符(unique identifier),在LPC1000系列微控制器的每一顆芯片都具有全球唯一的標(biāo)識符,該標(biāo)識符為128位二進(jìn)制序列。因此我們可以利用芯片UID的唯一性對程序進(jìn)行加密,使每一個產(chǎn)品中的程序也具有唯一性,即使非法使用者獲取了MCU中的程序復(fù)制到其他芯片中也是不能正常運行的,從而達(dá)到保護(hù)開發(fā)者的知識產(chǎn)權(quán)不被侵犯和盜用的目的。

三、LPC1000的UID加密方案

基本思路是使用上位機(jī)軟件通過編程器讀取芯片的UID,經(jīng)加密算法運算后生成密鑰,下載程序的同時向MCU的Flash中某個地址寫入密鑰;MCU上電后,首先讀取芯片的UID,再通過與上位機(jī)相同的加密算法運算后計算出密鑰,并與之前寫入Flash中的密鑰比較,若相同則繼續(xù)執(zhí)行用戶程序,否則跳入死循環(huán)或執(zhí)行程序開發(fā)者指定的代碼。

 

圖1 LPC1000 UID加密方案流程圖

實現(xiàn)此方案需要準(zhǔn)備的資源如下。

硬件資源:

LPC1766FBD100芯片;

SmartPRO 5000U-PLUS編程器;

QFP100-NXP適配座;

SmartCortex M3-1700開發(fā)板(測試用,非必需)。

軟件資源:

SmartPRO 2008 2.0.56.exe上位機(jī)軟件;

Programmer.rar編程器上位機(jī)UID加密補(bǔ)丁;

Uid.rar編程器上位機(jī)UID加密算法;

LPC1766在Keil4下的工程模板;

Keil4開發(fā)環(huán)境;

Microsoft Visual C++ 6.0。

1、下位機(jī)

下位機(jī)(即LPC1766芯片)上電并初始化后,首先讀取芯片的UID,解析密鑰并與Flash中的密鑰比較判斷后,再繼續(xù)執(zhí)行用戶代碼。這里我們舉例采用的加密算法是將UID的補(bǔ)碼作為密鑰,加密方法比較簡單,用戶可自行對加密算法進(jìn)行修改,寫出復(fù)雜的加密算法。

讀取芯片UID的方法是通過調(diào)用芯片內(nèi)部的IAP函數(shù)實現(xiàn),如圖所示。

 

圖2 讀取UID

2、上位機(jī)

在下位機(jī)LPC1766的程序編寫完成并生成hex或bin文件后,按照以下步驟對MCU進(jìn)行加密:

首先,在Microsoft Visual C++ 6.0下編寫加密算法,這里我們已經(jīng)編寫完成,僅需解壓uid.rar并打開其中的VC工程。用戶需要在uid.cpp中的UidAlgorithm函數(shù)中添加自定義算法,如圖。

 

圖3 加密算法工程

加密算法編寫完成后,編譯將生成一個名為uid.dll的算法文件。

第二步,安裝SmartPRO 2008軟件,我們默認(rèn)安裝在C:Program Files路徑下;

第三步,安裝SmartPRO 2800加密補(bǔ)丁,方法是將Programmer.rar解壓到C:Programd FilesSmartPRO 2008Programmer路徑下,覆蓋原來的文件;

第四步,將加密算法生成的uid.dll文件復(fù)制到C:Programd FilesSmartPRO 2008Programmer下,SmartPRO 2008啟動后將會自動調(diào)用uid.dll;

第五步,連接硬件,將LPC1766芯片放入適配座ZY503D中,連接USB通信電纜和電源;

第六步,燒寫文件,啟動SmartPRO 2008軟件,選擇芯片“LPC1766@LQFP100”,打開燒錄文件(在Keil編寫下位機(jī)程序時生成的hex或bin文件 )。此時會出現(xiàn)一個如圖4的特殊提示,這是因為Keil編譯器在編譯時沒有將Flash中前8個字單元的內(nèi)容進(jìn)行代碼有效校驗和的填充而產(chǎn)生該警告,點擊“確定”即可,編譯器在下載過程中會調(diào)用校驗算法自動添加校驗。關(guān)于代碼有效校驗和填充的相關(guān)內(nèi)容請參考LPC1766用戶手冊中“Flash編程”一章的相關(guān)內(nèi)容。

 

圖4 用戶代碼無效提示

第七步,開始下載,點擊“組合”即可,默認(rèn)執(zhí)行的是擦除、編程、校驗三個步驟的結(jié)合。

成功編程后,如果重新讀取Flash,打開緩沖區(qū),定位到0x00002000處,可以看到已經(jīng)寫入的密鑰。如圖5所示,與此前設(shè)計的加密算法和加密預(yù)期效果一致。

 

圖5 緩沖區(qū)查看密鑰

驗證方法:取下適配座中的芯片,焊接到TinyARMT17核心板上,查到SmartCortex M3-1700開發(fā)板底板上,連接P0.11到BEEP插針,如所示。開發(fā)板上電后即可聽到蜂鳴器的鳴叫。以此驗證芯片計算出的密鑰與Flash中寫入的密鑰校驗一致,芯片程序正常運行。

 

[!--empirenews.page--]

圖6 開發(fā)板驗證

經(jīng)此方法向芯片下載程序后,若有產(chǎn)品盜版者試圖將程序讀出然后復(fù)制到其他芯片上使用,程序?qū)⑼A粼谂袛嗝荑€是否匹配語句,導(dǎo)致程序不再向下執(zhí)行,從而防止軟件程序被非法使用者盜用。

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

近日,一則關(guān)于 AI 算力領(lǐng)域的消息引發(fā)行業(yè)震動!據(jù)科技網(wǎng)站 The Information 援引四位知情人士爆料,中國科技巨頭阿里巴巴與百度已正式將自研芯片應(yīng)用于 AI 大模型訓(xùn)練,打破了此前對英偉達(dá)芯片的單一依賴。

關(guān)鍵字: AI 算力 阿里 百度 芯片 AI模型

上海2025年9月5日 /美通社/ -- 由上海市經(jīng)濟(jì)和信息化委員會、上海市發(fā)展和改革委員會、上海市商務(wù)委員會、上海市教育委員會、上海市科學(xué)技術(shù)委員會指導(dǎo),東浩蘭生(集團(tuán))有限公司主辦,東浩蘭生會展集團(tuán)上海工業(yè)商務(wù)展覽有...

關(guān)鍵字: 電子 BSP 芯片 自動駕駛

9月1日消息,繼小鵬、零跑后,現(xiàn)在小米汽車也宣布了8月的交付量。

關(guān)鍵字: 小米汽車 芯片

當(dāng)?shù)貢r間 8 月 22 日,美國芯片制造商英特爾公司宣布與美國聯(lián)邦政府達(dá)成協(xié)議,后者將向英特爾普通股投資 89 億美元,以每股 20.47 美元的價格收購 4.333 億股英特爾普通股,相當(dāng)于該公司 9.9% 的股份。

關(guān)鍵字: 英特爾 半導(dǎo)體 芯片

在當(dāng)今數(shù)字化時代,人工智能(AI)和高性能計算(HPC)的迅猛發(fā)展對 GPU 芯片的性能提出了極高要求。隨著 GPU 計算密度和功耗的不斷攀升,散熱問題成為了制約其性能發(fā)揮的關(guān)鍵因素。傳統(tǒng)的風(fēng)冷方案已難以滿足日益增長的散...

關(guān)鍵字: 人工智能 高性能計算 芯片

8月20日消息,博主數(shù)碼閑聊站暗示,9月底大概率只有小米16系列會亮相,其它驍龍8 Elite 2旗艦、天璣9500旗艦新品都將排到10月份,新機(jī)大亂斗會在國慶假期之后開始。

關(guān)鍵字: 小米雷軍 芯片

8月21日消息,據(jù)媒體報道,英偉達(dá)宣布將自研基于3nm工藝的HBM內(nèi)存Base Die,預(yù)計于2027年下半年進(jìn)入小規(guī)模試產(chǎn)階段,此舉旨在彌補(bǔ)其在HBM領(lǐng)域的技術(shù)與生態(tài)短板。

關(guān)鍵字: 英偉達(dá) 黃仁勛 芯片 顯卡

繼尋求收購英特爾10%的股份之后,近日又有消息稱,特朗普政府正在考慮通過《芯片法案》資金置換股權(quán)的方式,強(qiáng)行收購美光、三星、臺積電三大芯片巨頭的股份。若此舉落地,美國政府將從“政策扶持者”蛻變?yōu)椤爸苯庸蓶|”,徹底重塑全球...

關(guān)鍵字: 芯片 半導(dǎo)體

在集成電路設(shè)計流程中,網(wǎng)表作為連接邏輯設(shè)計與物理實現(xiàn)的關(guān)鍵橋梁,其分模塊面積統(tǒng)計對于芯片性能優(yōu)化、成本控制和資源分配具有重要意義。本文將詳細(xì)介紹如何利用 Python 實現(xiàn)網(wǎng)表分模塊統(tǒng)計面積的功能,從網(wǎng)表數(shù)據(jù)解析到面積計...

關(guān)鍵字: 網(wǎng)表 芯片 分模塊

8月19日消息,封禁4個多月的H20為何突然又被允許對華銷售,這其實是美國設(shè)計好的。

關(guān)鍵字: 英偉達(dá) 黃仁勛 芯片 顯卡
關(guān)閉