《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 芯片UID加密方案

芯片UID加密方案

2017-10-25
來源:ZLG致遠電子

  嵌入式系統產品的加密和解密永遠是一對矛盾的統一體。為了保護產品研發人員的技術成果,研究新型加密技術是非常有必要的。這里我們聊聊使用芯片UID加密的方案。

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

  一、LPC1000系列的加密方案

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

  1、使用代碼讀保護機制,限制用戶訪問片內Flash;

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

  代碼讀保護機制是通過使能系統中的不同安全級別,以便限制訪問片內Flash,本次不做重點介紹。

  二、UID加密

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

  三、LPC1000的UID加密方案

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

1.png

  圖1  LPC1000 UID加密方案流程圖

  實現此方案需要準備的資源如下。

  硬件資源:

  lLPC1766FBD100芯片;

  lSmartPRO 5000U-PLUS編程器;

  lQFP100-NXP適配座;

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

  軟件資源:

  lSmartPRO 2008 2.0.56.exe上位機軟件;

  lProgrammer.rar編程器上位機UID加密補丁;

  lUid.rar編程器上位機UID加密算法;

  lLPC1766在Keil4下的工程模板;

  lKeil4開發環境;

  lMicrosoft Visual C++ 6.0。

  1、下位機

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

  讀取芯片UID的方法是通過調用芯片內部的IAP函數實現,如圖所示。

2.png

  圖2  讀取UID

  2、上位機

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

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

3.gif

  圖3  加密算法工程

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

  第二步,安裝SmartPRO 2008軟件,我們默認安裝在C:\Program Files路徑下;

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

  第四步,將加密算法生成的uid.dll文件復制到C:\Programd Files\SmartPRO 2008\Programmer下,SmartPRO 2008啟動后將會自動調用uid.dll;

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

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

4.gif

  圖4  用戶代碼無效提示

  第七步,開始下載,點擊“組合”即可,默認執行的是擦除、編程、校驗三個步驟的結合。

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

5.gif

  圖5  緩沖區查看密鑰

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

6.gif

  圖6  開發板驗證

  經此方法向芯片下載程序后,若有產品盜版者試圖將程序讀出然后復制到其他芯片上使用,程序將停留在判斷密鑰是否匹配語句,導致程序不再向下執行,從而防止軟件程序被非法使用者盜用。


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲精品在线二区| 欧美一区二区视频在线| 亚洲性感激情| 亚洲免费av片| 亚洲国产精品小视频| 国产视频综合在线| 国产精品一区一区三区| 国产精品网红福利| 国产精品久久久久国产精品日日 | 欧美日韩高清不卡| 欧美14一18处毛片| 狼人社综合社区| 久久一日本道色综合久久| 久久成人在线| 久久精品国产2020观看福利| 欧美一级黄色录像| 久久国产精品99国产| 久久成人免费日本黄色| 久久精品综合| 开元免费观看欧美电视剧网站| 麻豆精品精华液| 浪潮色综合久久天堂| 美国十次了思思久久精品导航| 久久综合久久综合九色| 久久先锋资源| 欧美夫妇交换俱乐部在线观看| 欧美福利小视频| 欧美精品在线播放| 欧美日韩亚洲91| 国产精品欧美一区喷水| 国产视频在线观看一区| 精品动漫一区二区| 亚洲精品久久久一区二区三区| 99精品视频一区二区三区| 亚洲视频精选| 性色av一区二区三区在线观看 | 国产精品一区二区三区观看 | 亚洲黄色有码视频| 亚洲美女在线观看| 亚洲性图久久| 欧美一区久久| 久久夜色精品国产欧美乱极品 | 国产精品美女久久久久久久 | 亚洲午夜久久久| 欧美伊久线香蕉线新在线| 久久乐国产精品| 欧美另类变人与禽xxxxx| 欧美丝袜一区二区三区| 国产一区二区三区免费观看| 一区二区在线观看视频| 日韩视频二区| 久久不见久久见免费视频1| 亚洲精品免费一二三区| 亚洲视频一区二区免费在线观看| 欧美在线观看一区二区三区| 麻豆精品在线视频| 欧美视频中文字幕在线| 国产亚洲欧美一区二区三区| 亚洲精品免费一二三区| 午夜欧美不卡精品aaaaa| 亚洲九九爱视频| 欧美中文字幕在线播放| 欧美电影免费观看高清| 国产欧美日韩精品专区| 亚洲激情综合| 久久精品99国产精品| 亚洲一区免费网站| 欧美成人精品一区二区| 国产精品视频xxx| 亚洲激情另类| 欧美中在线观看| 亚洲图片在线| 麻豆成人精品| 国产精品亚洲精品| 亚洲乱码国产乱码精品精天堂| 欧美诱惑福利视频| 亚洲无亚洲人成网站77777| 久久亚洲综合网| 国产精品夜色7777狼人| 91久久国产自产拍夜夜嗨| 欧美一级视频免费在线观看| 亚洲特级片在线| 欧美福利影院| 国产一区二区三区免费在线观看 | 欧美一区二区网站| 欧美午夜精品电影| 亚洲国产高清高潮精品美女| 午夜在线播放视频欧美| 亚洲一区在线播放| 欧美精品一区二区三区四区| 狠狠色狠狠色综合日日tαg | 久久精品国产一区二区三区免费看| 亚洲无吗在线| 亚洲香蕉成视频在线观看| 亚洲色图制服丝袜| 亚洲日韩视频| 久久综合狠狠综合久久综合88| 国产精品成人国产乱一区| 亚洲高清自拍| 亚洲国产精品成人| 久久国产手机看片| 国产精品午夜久久| 中国成人黄色视屏| 亚洲先锋成人| 欧美日韩日本国产亚洲在线| 亚洲福利一区| 最新亚洲激情| 裸体一区二区三区| 黄色工厂这里只有精品| 亚欧美中日韩视频| 欧美一区二区三区免费视频| 国产精品久久久久久av福利软件| 一本色道88久久加勒比精品| 一区二区三区国产在线| 欧美精彩视频一区二区三区| 亚洲第一综合天堂另类专| 亚洲高清一区二| 蜜臀99久久精品久久久久久软件| 激情综合色综合久久| 久久精品国产亚洲精品| 老鸭窝毛片一区二区三区 | 中国成人在线视频| 亚洲欧美久久久久一区二区三区| 国产精品wwwwww| 99成人免费视频| 亚洲欧美日产图| 国产精品网红福利| 性欧美video另类hd性玩具| 久久精品人人做人人综合 | 亚洲精品极品| 欧美—级a级欧美特级ar全黄| 亚洲人成网站999久久久综合| 亚洲精选视频免费看| 欧美美女喷水视频| 日韩视频一区二区在线观看 | 欧美国产日韩一二三区| 亚洲国产精品高清久久久| 99亚洲一区二区| 国产精品vip| 欧美一区二区网站| 美脚丝袜一区二区三区在线观看| 亚洲国产成人精品女人久久久| 日韩一级精品| 国产精品嫩草久久久久| 欧美一级专区| 欧美电影电视剧在线观看| 亚洲日本中文| 亚洲欧美99| 国产在线观看精品一区二区三区| 亚洲国产影院| 欧美色视频在线| 性xx色xx综合久久久xx| 老司机免费视频久久 | 亚洲欧美日韩精品久久| 久久久久综合网| 亚洲精品国精品久久99热一| 亚洲欧美激情精品一区二区| 亚洲美女少妇无套啪啪呻吟| 正在播放亚洲| 国产日产精品一区二区三区四区的观看方式 | 亚洲精品一区在线观看| 亚洲综合电影| 国内久久视频| 一本色道久久88综合日韩精品| 国产精品视频精品视频| 久久精精品视频| 欧美日韩精品一二三区| 午夜欧美精品| 欧美剧在线观看| 欧美在线看片| 欧美日韩精品二区| 欧美精品久久一区二区| 国内成人精品2018免费看 | 日韩一级精品| 国产伦精品一区二区三区免费| 亚洲电影免费在线观看| 欧美日韩国产在线观看| 香蕉久久久久久久av网站| 欧美韩日一区二区三区| 亚洲欧美日韩另类| 欧美电影免费观看高清完整版| 亚洲自拍偷拍麻豆| 欧美激情亚洲国产| 欧美一区二区女人| 欧美日韩一区二区免费视频| 久久激情久久| 国产精品久久久久久久久搜平片 | 亚洲高清成人| 性视频1819p久久| 亚洲日本电影| 久久全国免费视频| 亚洲淫片在线视频| 欧美精品v日韩精品v国产精品| 欧美在线免费观看亚洲| 欧美日韩一区不卡| 91久久久在线| 狠狠色丁香婷综合久久| 欧美一级成年大片在线观看| 99re在线精品| 欧美freesex交免费视频|