mini脫機(jī)器uid自定義加密使用說(shuō)明v1_第1頁(yè)
mini脫機(jī)器uid自定義加密使用說(shuō)明v1_第2頁(yè)
mini脫機(jī)器uid自定義加密使用說(shuō)明v1_第3頁(yè)
mini脫機(jī)器uid自定義加密使用說(shuō)明v1_第4頁(yè)
mini脫機(jī)器uid自定義加密使用說(shuō)明v1_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、MINI 脫機(jī)器UID 自定義加 密 使用說(shuō)明 ANTEK廣州市星翼電子科技修訂歷史版本日期原因V1.002018/5/10首次發(fā)布UserManual1 UID 自定義加密原理本脫機(jī)下載器的 UID 自定義加密是基于芯片內(nèi)的 UID(Unique ID,全球唯一 ID)通過特定算法進(jìn)行加密的一種方法。具體原理如下:一、用戶通過配置軟件對(duì)脫機(jī)下載器進(jìn)行相關(guān)配置后,脫機(jī)下載器在燒錄時(shí)獲取目標(biāo)芯片的 UID 及各項(xiàng)配置 通過特定算法為用戶計(jì)算一個(gè)密鑰存儲(chǔ)在目標(biāo)芯片中。二、用戶程序在上電后使用我們提供的代碼的相關(guān)函數(shù)然后傳入相同配置可以檢查密鑰的合法性;三、由于每一顆芯片的 UID 都是唯一的,因此

2、相同配置計(jì)算得到的密鑰卻不同。所以正常使用脫機(jī)下載器燒錄的芯片 在使用【與脫機(jī)下載器相同配置+自身 UID】是能夠通過 UID 合法性檢查的。四、當(dāng)別人從正常產(chǎn)品上非法復(fù)制了用戶代碼到別的芯片使用,由于別的芯片的 UID與原來(lái)的芯片不同,所以是無(wú)法程序中的密鑰合法性檢查的。所以一旦無(wú)法通過這個(gè)密鑰合法性檢查,程序便可以判定當(dāng)前產(chǎn)品為盜版,從而選擇運(yùn)行相應(yīng)針對(duì)盜版行為的代碼,比如說(shuō)讓設(shè)備死機(jī)或功能失效等等,用戶可自行發(fā)揮。2脫機(jī)下載器的 UID 自定義加密配置參數(shù)可以在配置軟件的“高級(jí)功能 - UID 自定義加密”中進(jìn)行配置,配置界面如圖 1 所示:圖 1UID 自定義加密配置界面若要配置 UI

3、D 算法加密,首先要勾選“啟用 UID 算法加密”,然后才能開始配置,各配置項(xiàng)描述如下:密鑰存儲(chǔ)起始地址(Hex):指定計(jì)算得到的密鑰的起始存儲(chǔ)地址;算法選擇:選擇用于計(jì)算密鑰的算法;密鑰字節(jié)長(zhǎng)度:指定計(jì)算與存儲(chǔ)的密鑰的長(zhǎng)度;端序模式:設(shè)置密鑰的存儲(chǔ)方式按 字(4Byte)進(jìn)行大端模式還是小端模式存儲(chǔ)1 。用戶手冊(cè)1自定義 ID(Hex):由用戶妥善保存的 ID,參與密鑰計(jì)算,其長(zhǎng)度與密鑰字節(jié)長(zhǎng)度匹配。注意:1 .舉個(gè)例子,比如一個(gè) 12 字節(jié)長(zhǎng)度的密鑰:0 x11,0 x22,0 x33,0 x44,0 x55,0 x66,0 x77,0 x88,0 x99,0 xAA,0 xBB,0 xC

4、C,當(dāng)以大端模式存儲(chǔ)時(shí),在存儲(chǔ)器中的表現(xiàn)形式為:而以小端模式存儲(chǔ)時(shí),在存儲(chǔ)器中的表現(xiàn)形式為:實(shí)際應(yīng)用中,用戶無(wú)需理會(huì),只要統(tǒng)一用戶程序中密鑰驗(yàn)證的配置與脫機(jī)下載器的UID 自定義加密配置一致便可;3 UID 自定義加密代碼介紹要在產(chǎn)品上使用 UID 自定義加密功能,用戶需在產(chǎn)品的代碼中加入對(duì)應(yīng)密鑰合法性檢查的功能,我們提供了與脫機(jī)下載器上的 UID 自定義加密功能完全匹配的代碼 UID_Encryp tion.c 與UID_Encryption.h(如圖 2 所示),用戶只需將這兩個(gè)文件加入自己的工程,然后調(diào)用 UID_Encryption.h 中的函數(shù)進(jìn)行密鑰合法性檢查便可。詳細(xì)使用步驟情況

5、第 4 節(jié)UID 自定義加密使用演示。源文件在附贈(zèng)資料中有給出。圖 2UID 自定義加密源文件點(diǎn)擊打開頭文件 UID_Encryption.h,如圖 3 所示:代碼功能描述如下:1.2.3.4.5.第 410 行: 密鑰長(zhǎng)度取值枚舉;第 1217 行:第 2028 行:第 4752 行:第 6873 行:大小端序選擇取值枚舉;算法選擇取值枚舉;UID 自定義加密密鑰驗(yàn)證函數(shù) UID_Encryption_Key_Check();UID 自定義加密密鑰計(jì)算函數(shù) UID_Encryption_Key_Caculate();用戶手冊(cè)24433221188776655CCBBAA99112233445

6、566778899AABBCC用戶在使用時(shí)調(diào)用 UID_Encryption_Key_Check()函數(shù)、傳入與脫機(jī)自身的 UID 地址,函數(shù)便可返回密鑰檢查結(jié)果。器同樣的配置及圖 3UID_Encryption.h 頭文件代碼用戶手冊(cè)34 UID 自定義加密使用演示此處演示如何通過 UID 自定義加密算能對(duì)目標(biāo)進(jìn)行加密。演示:正點(diǎn)原子 Mini-STM32 開發(fā)板型號(hào):STM32F103RCT6使用代碼:(附贈(zèng)資料中均有給出)1 .正點(diǎn)原子例程ANTEKMINISTM32實(shí)驗(yàn) 11TFTLCD 液晶顯示實(shí)驗(yàn);2 .用于 UID 自定義加密的源文件 UID_Encryption.c 及其頭文件

7、 UID_Encryption.h。具體應(yīng)用過程如下:一、首先打開ANTEKMINISTM32實(shí)驗(yàn) 11TFTLCD 液晶顯示實(shí)驗(yàn)工程,添加如圖 3-2所示的源文件 UID_Encryption.c 到工程中,無(wú)需修改該文件中內(nèi)容。如圖 4 所示:圖 4 將 UID 自定義加密源文件加入工程二、在程序 main.c 文件中增加以下代碼:1) 包含 UID 自定義加密函數(shù)的的頭文件 UID_Encryption.h.如圖 5 所示:圖5 包含 UID_Encryption.h2) 定義必要的參數(shù),UID 的地址,密鑰的地址,自定義 ID,如圖 6 所示:用戶手冊(cè)4圖 6 定義必要參數(shù)3)調(diào)用 U

8、ID_Encryption_Key_Check()驗(yàn)證密鑰的合法性,如圖 7 所示,詳細(xì)情況請(qǐng)打開例程,參照代碼。本例程的具體傳入?yún)?shù)如下:密鑰位置:KEY_LOCATION = 0 x08020000UID 位置:UID_LOCATION = 0 x1FFFF7E8自定義 ID:myID= 0 x01,0 x05,0 x09,0 x02,0 x06,0 x0A,0 x03,0 x07,0 x0B,0 x04,0 x08,0 x0C端序模式:LITTLE_ENDIA密鑰字節(jié)長(zhǎng)度:LENGTH_12算法選擇:ALGORITHM_2=小端序122圖 7 調(diào)用 UID_Encryption_Key_

9、check()檢查密鑰三、編譯工程,得到固件后上傳到配置軟件中。其他的配置具體流程在MINI脫機(jī)下載器用戶使用手冊(cè) V1.0中的第 2.4 章節(jié)已經(jīng)演示過,這里主要演示如何配置軟件上的 UID算法加密功能。點(diǎn)擊“高級(jí)功能 - UID 算法加密”, 將上面的各項(xiàng)配置為 與 例程中傳入給 UID_Encryption_Key_Check()的配置為完全一致(UID 地址不需要),然后點(diǎn)擊“保存”如圖 8 所示:用戶手冊(cè)5圖 8 配置脫機(jī)器 UID 自定義加密功能四、將所有功能項(xiàng)(包括基礎(chǔ)功能項(xiàng))配置完畢后,同樣的點(diǎn)擊開始編程將配置導(dǎo)入到脫機(jī)器,然后使用脫機(jī)器對(duì) Mini-STM32 開發(fā)板進(jìn)行燒錄

10、,當(dāng)燒錄完畢后開發(fā)板上的程序運(yùn)行后可以看到串口打印輸出顯示“密鑰合法”,如圖 9 所示:圖9 串口打印“密鑰合法!”五、上一步中可以看到通過脫機(jī)器使用相同配置的 UID 自定義加密算法對(duì)目標(biāo)進(jìn)行加密后,程序能夠驗(yàn)證密鑰通過正常運(yùn)行。接下來(lái)借助“STM32T-LINKST-LINKtility”Utility”與 ST-LINK 仿真器將開發(fā)板內(nèi)的固件讀出,然后使用“STM32與 ST-LINK 仿真器燒錄到另一個(gè)開發(fā)板(如果使用本脫機(jī)密功能關(guān)閉),當(dāng)燒錄完畢可以看到串口打印輸出顯示“密鑰器來(lái)燒錄,把 UID 算法加”,如圖 10 所示:圖 10 串口打印“密鑰!”由此出結(jié)論:正是由于前后兩塊開發(fā)板上的 STM32F103中的 UID 不一致,所用后一塊開發(fā)板程序上電后算出的密鑰與的密鑰不一致, 導(dǎo)致密鑰檢查無(wú)法通用戶過。因此通過這種方法就能夠讓用戶的程序只能在指定 UID 的的勞動(dòng)成果。注意:運(yùn)行,防止1 .用戶的配置不露,其中的自定義 ID 實(shí)際上相當(dāng)于一個(gè)用戶自行持有的私鑰。2 .用戶配置參數(shù)可加密,使用時(shí)再傳入給密鑰驗(yàn)證函數(shù);3 .用戶可以對(duì) UID_Encrption.c 的代碼適當(dāng)?shù)剡M(jìn)行

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論