久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> MM32/靈動微電子 >> 靈動微MM32位MCU加密方法

靈動微MM32位MCU加密方法

關鍵字:靈動微電子 MM32 加密方法 作者: 來源: 發布時間:2022-06-06  瀏覽:342
在MM32系列MCU產品中有多種加密手段保護用戶程序,在這里給大家簡單介紹幾種加密手段,至于其他更高階加密手段歡迎咨詢靈動技術人員。
我們這里程序加密的目的是防止板子中的程序被他人讀出使用,現主要介紹的加密方法有:

1、 讀保護
2、 唯一UID
3、 SWD 復用功能重映射4、 時鐘來源判斷是否自毀

1、 讀保護
所有MM32的芯片都提供對Flash的保護,防止對Flash的非法訪問——寫保護和讀保護。一旦設置了Flash的讀保護,內置的Flash存儲區就只能通過程序的正常執行才能讀出,而不能通過這兩種方式中的任何一種方式讀出:通過調試器(JTAG或SWD)和從RAM中啟動并執行的程序。所以我們需要對程序進行保護,一種比較簡單可靠的方法就是把Flash設置成讀保護。

讀保護操作方法:
FLASH_Unlock();//解鎖
FLASH_ReadOutProtection(ENABLE);//讀保護使能
FLASH_EnableWriteProtection(FLASH_Pages);  //寫保護使能
FLASH_Lock();//上鎖

解除讀保護操作方法:
FLASH_Unlock();//解鎖
FLASH_ReadOutProtection(DISABLE);//讀保護失能
FLASH_Lock();//上鎖

2、 UID加密
96 位的產品唯一身份標識所提供的參考號碼對任意一個 MM32L0系列微控制器,在任何情況下都是唯一的。用戶在任何情況下,都不能修改這個身份標識。

產品唯一的身份標識可用做如下功能:
用來作為序列號(例如 USB 字符序列號或者其他的終端應用)
用來作為密碼,在編寫閃存時,將此唯一標識與軟件加解密算法結合使用,提高代碼在閃存存儲器的安全性
用來激活帶安全機制的自舉過程

這個 96 位的產品唯一身份標識,按照用戶不同的用法,可以以字節(8 位)為單位讀取,也可以以半字(16 位)或者全字(32 位)讀取,基地址: 0x1FFF F7E8。

身份標識


身份標識

身份標識




UID加密原理:


if(芯片UID=數組)


{

執行正常的程序;

}


else


{

執行偽程序;

}


 
讀取UID樣例程序:


for(i=0;i<12;i++)


{

Sys_ID[i]=*(u8*)(0x1FFFF7E8+i);

printf(" %0.2X",Sys_ID[i]);

}


 
UID匹配判斷:


if(Sys_ID[0]==0x37 && Sys_ID[1]==0x20 && Sys_ID[2]==0x00 &&


Sys_ID[3]==0x11 && Sys_ID[4]==0x55 && Sys_ID[5]==0xAA &&


Sys_ID[6]==0xFF && Sys_ID[7]==0xFF && Sys_ID[8]==0x00 &&


Sys_ID[9]==0x32 && Sys_ID[10]==0x4D && Sys_ID[11]==0x4D)


{

printf("\r\n成功\r\n");

}


else


{

printf("\r\n失敗\r\n");

while(1);

}     


 ①為了避免破解者利用反匯編,根據芯片UID數據在二進制文件中查找對應相同數據的位置從而破解,可以將UID拆散成不同的組合,并且寫到不同且不連續的地方。更進一步,可在程序中檢測多份這樣的分散UID,以增加反匯編的難度。或者將CPU ID進行加密,Flash中存儲加密后的結果。


②將芯片的UID讀取之后,經用戶自己的復雜的加密算法對程序區的UID號加密運算后生成一個新的數組---用戶自加密ID號,寫入MM32 Flash中某一個固定地址存儲空間。


在用戶程序區多處讀程序區的UID號和用戶自加密UID號比較(經用戶自己的復雜的解密算法解密后),如不對應,則200次開機后隨機異常。


另外,在程序區的多個地方判斷用戶自己的程序是否被修改,如被修改,則200次開機后隨機異常,將不用的用戶程序區用所謂的有效程序全部填滿。


操作方法:


#define MM32_ID_D 65535


#define MM32_ID _ADDR  0x0800 00800


volatile u32 MM32_ID_addr[3]={0x1ffff7e8 - MM32_ID_D,0x1ffff7ec + MM32_ID_D,0x1ffff7f0 - MM32_ID_D};


/********************************************************************


函數功能:讀取芯片UID


入口參數:p


返 回:無


備 注:


********************************************************************/


volatile void MM32_Read_ID(volatile u32 *p)


{

volatile u32 Addr;

Addr = MM32_ID_addr[0] + MM32_ID_D;

p[0] = *(vu32*)(Addr);


 
Addr = MM32_ID_addr[1] - MM32_ID_D;

p[1] = *(vu32*)(Addr);


Addr = MM32_ID_addr[2] + MM32_ID_D;


p[2] = *(vu32*)(Addr);


}


/********************************************************************


函數功能:加密并保存UID


入口參數:無


返 回:無


備 注:


********************************************************************/


void MM32_Encrypted_ID(void)


{

u32 MM32ID[4],dat;

MM32_Read_ID(MM32ID);

MM32ID[3] = MM32_ID_D;

dat = MM32ID[0] + MM32ID[1] - (MM32ID[2]/MM32ID[3]);

FLASH_Unlock();

FLASH_ErasePage (MM32_ID _ADDR);

FLASH_ProgramWord(MM32_ID _ADDR,dat); 

FLASH_Lock();

}


/********************************************************************


函數功能:比較加密ID,正確返回0


入口參數:


返 回:1:不正確,0:正確


備 注:


********************************************************************/


u32 MM32_CMP_Encrypted_ID(void)


{

u32 MM32ID[4],dat,dat2;

MM32_Read_ID(MM32ID);

MM32ID[3] = MM32_ID_D;

dat = MM32ID[0] + MM32ID[1] - (MM32ID[2]/MM32ID[3]);

dat2 = *(u32*)( MM32_ID _ADDR);

if(dat == dat2)


{

return 0;//相同

}


else


{

return 1;//不同

}


用戶可以自定義UID加密算法及存儲加密后的UID的地址,防止其他人獲取到該信息,用戶可以在多個區域根據比較加密函數返回值做出相對應的操作,如:程序全擦除或者開機多長時間后進入異常狀態。

3、SWD 復用功能重映射
功能重映射


MCU的程序下載方式有多種:SWD和ISP等方式,為了增加程序被讀出的難度,所以在程序中可以將SWD下載口PA13\PA14復用成其他的功能,這樣就可以防止其他人通過SWD方式讀取MCU的程序。


操作方法:


RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE);//開啟復用時鐘


GPIO_PinAFConfig(GPIOA, GPIO_PinSource13, GPIO_AF_7); //PA13復用其他功能


GPIO_PinAFConfig(GPIOA, GPIO_PinSource14, GPIO_AF_7); //PA14復用其他功能


4、時鐘來源判斷是否自毀


如果用戶在硬件電路上有使用外部晶振,在程序一啟動在配置時鐘源時就判斷外部高速時鐘就緒標注,如果外部高速時鐘就緒標志為1,就默認執行正常的應用程序,如果為0,跳轉HSI,就執行偽程序或者實現自毀功能,并且在應用程序中也可以多次判斷該位是否為1,該加密方案的前提是確保外部晶振工作正常,防止有其他人取下芯片做其他的操作。


功能重映射


以上是本次介紹的加密手段,如果MM32用戶想更多了解MM32的加密手段請聯系靈動微核心代理商-穎特新科技。


關于靈動微電子
靈動微電子股份有限公司(股票代碼:833448,股票簡稱:靈動微電)是國內專注于MCU產品與MCU應用方案的領先供應商,是中國工業及信息化部和上海市信息化辦公室認定的集成電路設計企業,同時也是上海市認定的高新技術企業。自2011年3月成立至今,靈動微電子已經成功完成數百余MCU產品的設計及推廣,靈動微電子目前已批量供貨的基于ARMCortex-M0及Cortex-M3 內核的MCU產品包括:針對通用高性能市場的MM32F系列,針對超低功耗及安全應用的MM32L系列,具有多種無線連接功能的MM32W系列,電機驅動及控制專用的MM32SPIN系列,以及針對超小尺寸及超高集成度的MM32P系列等,以滿足客戶及市場多領域、多層次的豐富應用場景需求。


功能重映射



功能重映射






靈動微電子立足本土,洞悉市場,貼近客戶,以為客戶提供“保姆式”的全方位支持為特色,堅持“專業、可靠、便捷、高效”的服務理念,貫徹差異最大化,成本最優化的經營策略,不斷強化自身生態價值,維護良好產品品牌。公司在銷售初期就與客戶充分接觸,為客戶提供產品整體解決方案,從產品功能定義、市場競爭力分析到算法整合、軟件驅動、應用例程等都深入參與,為客戶提供精準的市場分析和全面的應用方案,幫助客戶把握好成功的每一個重要環節。

如需要了解更多靈動微MCU產品,請聯系靈動微核心代理商-穎特新科技

編輯:ls  最后修改時間:2022-06-06

聯系方式

0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市南山區桃源街道平山社區平山一路2號南山云谷創業園二期11棟410-411

Copyright © 2014-2026 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

久久精品99久久_亚洲一区二区综合_狠狠色伊人亚洲综合成人_亚洲综合爱爱久久网
99亚洲国产精品| 国产亚洲综合视频| 18岁视频在线观看| 日日橹狠狠爱欧美超碰| 日本丰满少妇黄大片在线观看| 在线能看的av网站| 一本色道久久亚洲综合精品蜜桃 | aaaaaa亚洲| 北条麻妃视频在线| 视频在线观看免费高清| 亚洲一区二区福利视频| 欧洲精品视频在线| 久无码久无码av无码| 国产黄视频在线| 国产91色在线观看| 日韩亚洲欧美一区二区| 国产欧美日韩网站| 久久午夜夜伦鲁鲁一区二区| 捷克做爰xxxⅹ性视频| 青青视频免费在线| 免费观看成人在线视频| 三级在线视频观看| avav在线播放| 亚洲一二三区av| 伊人色在线视频| 国产中文字幕在线免费观看| 污版视频在线观看| 日本精品久久久久久久久久| caopor在线视频| 99久热在线精品视频| 国产一线二线三线在线观看| 大地资源第二页在线观看高清版| 国产免费一区二区视频| 久久久久久三级| 蜜臀精品一区二区| 一级黄色片国产| 美女日批免费视频| 一级黄色录像免费看| 日本成人在线免费视频| 男人的天堂avav| 午夜大片在线观看| 美女网站免费观看视频| 久久久久免费看黄a片app| 亚洲高清av一区二区三区| 午夜欧美福利视频| 精品99在线视频| 你真棒插曲来救救我在线观看| 色天使在线观看| 国产成人综合一区| 97超碰青青草| 欧美日韩在线中文| 日韩中字在线观看| 日韩在线视频在线| 久久亚洲国产成人精品无码区| 久国产精品视频| www.久久久久久久久久久| 国产精品wwwww| 亚洲精品高清无码视频| 97国产在线播放| 黄色av网址在线播放| 成年人午夜免费视频| 成人av在线不卡| 久久久久久久久网| 18禁裸男晨勃露j毛免费观看| 特级西西人体www高清大胆| 福利视频一二区| 国产成人强伦免费视频网站| 精品www久久久久奶水| 欧美 日韩 国产 激情| 国产成人无码av在线播放dvd| 丰满少妇被猛烈进入高清播放| 凹凸国产熟女精品视频| aⅴ在线免费观看| 亚洲免费av一区二区三区| 黄色三级视频在线| 日本不卡一区二区三区四区| 一本之道在线视频| 99在线免费视频观看| 欧美日韩第二页| 91热视频在线观看| 欧美又粗又长又爽做受| 色诱视频在线观看| 国内av免费观看| 每日在线观看av| 天天色综合天天色| www婷婷av久久久影片| 精品中文字幕av| www.桃色.com| www.久久久精品| 免费观看国产视频在线| 国产资源在线视频| 九九九九九国产| 国产精品无码免费专区午夜| 欧美黄网站在线观看| 特黄特黄一级片| 欧美日本视频在线观看| 日本精品一区在线| 日韩中文字幕三区| 中国黄色录像片| 欧美一级裸体视频| 久久久久久久久久久99| 国产又爽又黄ai换脸| 精品久久久久久久无码| 欧美中文字幕在线观看视频 | 99re8这里只有精品| 欧美日韩激情视频在线观看| 国产成人精品免费看在线播放 | 欧美一级爱爱视频| 天堂社区在线视频| 日本特黄在线观看| 中文字幕在线视频一区二区三区| 久久久久久久久久久久久久久国产 | 一级做a免费视频| 无码中文字幕色专区| 久久久国产精华液999999| 国产对白在线播放| 色呦色呦色精品| 欧美一级黄色影院| 欧美激情国产精品日韩| 波多野结衣与黑人| 午夜久久久久久久久久久| 午夜一级免费视频| 色片在线免费观看| 免费一级特黄录像| 麻豆传传媒久久久爱| 国产淫片av片久久久久久| 波多野结衣50连登视频| 六月婷婷在线视频| 鲁一鲁一鲁一鲁一澡| 男人天堂网视频| 黄色片视频在线播放| av在线无限看| 日本在线观看免费视频| 午夜视频你懂的| 九九热精品国产| 99热这里只有精品7| 人人妻人人澡人人爽欧美一区双| 粉嫩av一区二区三区天美传媒| 亚洲爆乳无码精品aaa片蜜桃| 免费高清一区二区三区| 久久黄色片视频| 无码内射中文字幕岛国片| 四季av一区二区| 亚洲性图一区二区| 9999在线观看| 欧美 日本 亚洲| 亚洲天堂av线| 日本中文字幕在线不卡| 精品一二三四五区| 日本精品久久久久中文字幕| 欧美aⅴ在线观看| 国产一级片中文字幕| 青春草国产视频| 欧美性猛交久久久乱大交小说| 手机av在线网站| 欧美精品一区二区三区三州| 超碰在线人人爱| 激情五月六月婷婷| 亚欧在线免费观看| 亚洲激情免费视频| 男人的天堂日韩| 国产 欧美 日本| 少妇黄色一级片| 精品无码一区二区三区在线| 午夜国产福利在线观看| 男女私大尺度视频| 亚洲高清在线不卡| 国产成人久久777777| 欧美日韩dvd| www.cao超碰| 91黄色小网站| 一卡二卡三卡视频| 三级网在线观看| 久久99爱视频| 日韩视频第二页| 日韩欧美不卡在线| 久久天天东北熟女毛茸茸| 亚洲视频在线a| 精品99在线视频| 人妻久久久一区二区三区| 一级做a爱视频| 中文字幕亚洲乱码| 亚洲精品怡红院| 亚洲成色www.777999| 国产精品亚洲αv天堂无码| 99在线精品免费视频| 国产玉足脚交久久欧美| 糖心vlog在线免费观看| 香蕉视频xxx| 中文字幕一区二区三区四区五区人| 亚洲77777| 日韩在线一区视频| 超碰91在线播放| 日韩最新中文字幕| 黑人巨茎大战欧美白妇| 日韩欧美一级在线| 成年人午夜视频在线观看| 国产亚洲黄色片| 免费高清在线观看免费| 欧美日韩在线免费播放|