999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

STM32微控制器程序保護方法

2016-10-14 06:44:54楊海良俞龍
電子設計工程 2016年12期
關鍵詞:嵌入式安全性程序

楊海良,俞龍

(華南農業大學電子工程學院,廣東廣州510642)

STM32微控制器程序保護方法

楊海良,俞龍

(華南農業大學電子工程學院,廣東廣州510642)

針對目前STM32系列微控制器程序加密保護方法單一,保護效果有限,相關方法介紹不多等問題,本文簡介了閃存讀寫保護、ID驗證、加密芯片和引導程序加密等4種常用的STM32微控制器程序保護方法,對比分析了方法各自的優缺點。提出采用兩種或以上保護方法的有效組合,可以取長補短,相互補充,更好地保護芯片內部的程序和數據的安全。通過在STM32開發板上的測試表明:多種程序保護方法的合理組合可以極大提升防護能力,有效的保護芯片內程序,防止閃存程序拷貝。

STM32微控制器;程序保護方法;數據安全;程序拷貝

隨著嵌入式技術的迅速發展,以STM32為代表的Cortex-M3內核芯片在通訊、工業控制、物聯網等領域的應用越來越廣泛。相關嵌入式產品的開發成本越高,破解卻變得簡單。所以程序保護也就越來越重要。針對目前STM32程序保護方法單一,保護效果有限的情況,本文簡介了閃存讀寫保護、ID驗證、加密芯片和引導程序加密等4種常用的STM32芯片程序保護方法,并分析了各種程序保護方法的優缺點。從防止產品被破解的角度看,多種程序保護方法的有機結合可以很好的實現芯片程序的保護,從而減少PCB抄板、閃存程序拷貝現象。

1 閃存讀寫保護法

STM32微控制器提供了閃存讀寫保護的功能,用來防止對閃存的非法訪問。

1.1閃存讀保護

通過設置STM32控制器內部寄存器FLASH_OBR中的RDP(Read protection option byte),使能閃存讀保護功能[1]。讀保護啟用后,閃存存儲區只能通過用戶程序代碼的正常執行才能讀出,而不能通過調試器(JTAG或SWD)或從RAM中啟動并執行的程序所讀出。解除讀保護將觸發閃存的整體擦除[2]。從而有效防止逆向工程,調試工具破解等。

以STM32L1微控制器為例,它的讀保護分為3個等級,如表1所示。

表1 讀保護分級

1.2閃存寫保護

通過設置STM32微控制器內部寄存器FLASH_OBR中WRP(Write protection option byte),使能寫保護功能。寫保護啟用后,程序對被保護頁的寫或擦除操作將不會執行,同時在狀態寄存器產生錯誤標志位。

閃存讀寫保護法通過限制外部設備的讀寫,禁止非法訪問來達到保護芯片的目的。讀保護可以防止用戶程序代碼被讀出,寫保護則可以防止惡意程序寫入中斷向量表。閃存讀寫保護從硬件底層提供了讀出和寫入的權限保護,可以提供基礎的防護能力,但單獨的讀寫保護是不足以有效防止芯片被破解的,需與軟件層面程序保護方法相結合,才能增強自身的防護能力。

2 ID驗證法

STM32微控制器擁有一個96位(12Byte)的全球唯一身份標識(CPU ID),且在任何情況下都不能被修改。通過驗證這個ID來鑒別用戶身份,增加程序安全性,實現芯片加密。

在程序開始執行前,先獲取CPU ID,將此ID經某一不可逆運算后得到的結果存放在閃存內。程序運行時,讀取當前CPU ID的值,經同一運算后得到的結果與存放在閃存內的結果進行比較,結果一致則程序繼續運行,否則終止運行。ID驗證的過程如圖1所示。

圖1 CPU ID驗證流程圖

ID驗證法通過驗證當前CPU ID來鑒別用戶身份合法性,能夠防止惡意的程序拷貝和私自更換芯片。合法用戶的芯片內部存儲了正確的結果,程序正常運行,非法用戶ID變更,導致運算結果不匹配,程序不能正常運行。ID驗證在軟件層面提供了基礎防護,但僅僅是這樣卻是不安全的,存儲的結果有被讀出的可能。若能與閃存讀保護結合使用,則可以大大提高方法安全性,既保護了運算方法,也使運算結果免遭破解。

3 加密芯片法

加密芯片與MCU相互認證,認證通過后再讀取程序運行,從而達到保護程序的目的。

以Atmel公司推出的專用加密芯片ATSHA204為例,它采用哈希算法SHA-256,具有體積小、安全性高等特點[3]。認證時主機發送一個256位的隨機摘要信息到ATSHA204芯片,芯片將摘要信息和存儲在芯片內的密鑰一起通過SHA256算法計算出一個響應,主機同時通過公鑰算法計算該摘要信息的響應,兩個響應進行對比,實現認證[4]。ATSHA204的認證過程如圖2流程圖所示。

加密芯片法將加密驗證的過程與外部硬件相結合,增強了密鑰的安全性,也使驗證過程更加安全可靠。加密芯片自身具有較強的防破解能力,它與微控制器的數據通信是加密進行的[5]。加密芯片的這些特性可有效防止PCB抄板。但如果程序被讀出,就有可能從程序中分析出認證操作的流程,從而繞過認證步驟,讀取程序并運行。所以該方法與閃存讀保護結合使用,可以防止程序被讀出,增強安全性。

圖2 ATSHA204認證流程

4 引導程序加密法

引導程序加密法采取先解密后執行的策略實現芯片加密。在應用程序運行前,先執行一段啟動引導程序,該引導程序解密應用程序固件,然后才讀取程序運行。

IAP將程序分為兩部分,一是Bootloader引導啟動程序,二是應用程序[6]。Bootloader中結合了AES解密程序[7]。產品在出廠時,先燒寫Bootloader,燒寫后置讀保護,寫完后,可以用調試器進行測試,確認閃存讀保護有效。用AES加密算法加密自己的應用程序[8]。將應用程序下載到BOOT區。引導程序加密的示意圖如圖3所示。

圖3 引導加密示意圖

引導加密法采用先解密后執行的策略,把程序代碼預先加密保護,增強了代碼安全性。只有經過正確加密的應用程序代碼才可以正常執行。引導加密法結合了讀保護與AES加密算法,提供了全方位的防護,可以有效加密芯片,使產品免遭破解。

5 結束語

文中簡單介紹了閃存讀寫保護、ID驗證、加密芯片和引導程序加密4種常用的STM32芯片程序保護方法,并分析了各種程序保護方法的優缺點。從文中可以看出,單一程序保護方法的防護是不全面的,采取多種程序保護方法的適當組合,既能發揮方法各自的優點,也能彌補方法的不足,有效提升了加密的防護能力。所以在嵌入式系統中使用多種程序保護方法的有機結合,防止破解者針對某一方法的缺點進行攻擊,很好地增強系統安全性。

[1]STMicroelectronics.STM32F10XFlash Programming manual[R].Augest,2012.

[2]ST Microelectronics.STM32F10X Reference manual[R].2009.

[3]AtmelCorporation.AtmelATSHA204AtmelCrypto Authentication Datasheet[R].2013.

[4]劉志軍,王建.基于ATSHA204的密鑰認證系統設計[J].單片機與嵌入式系統應用,2014(2):16-19.

[5]張煒軒,王菲,王玉平.基于專用加密芯片的單片機軟件加密系統設計[J].單片機與嵌入式系統應用,2013(9):56-59.

[6]唐小平,廖美英,張祥.基于STM32平臺的IAP設計實現[J].兵工自動化,2014(9):94-96.

[7]華漫.AES算法分析及其硬件實現設計[D].成都:西南交通大學,2004.

[8]AES[EB/OL].[2012-6].http://zh.wikipedia.org/wiki/AES.

STM32 microcontroller program protection method

YANG Hai-liang,YU Long
(College of Electronic Engineering,South China Agricultural University,Guangzhou 510642,China)

This paper briefly describes four common encryption method for STM32 microcontrollers.A solution of multi-method combined was proposed to solve the existing problems ofmethod is simple,effects is limited and so on.Flash read and write protect,ID authentication,encryption chip and bootloader encryption are four currently used methods.Experimental results show that the rational combination of various methods can improve the protective effect.Also ensure the application security and data security.

STM32 microcontrollers;program protection method;data security;copies of the program

TN99

A

1674-6236(2016)12-0188-02

2015-07-06稿件編號:201507052

楊海良(1993—),男,廣東興寧人。研究方向:計算機技術的農業應用研究。

猜你喜歡
嵌入式安全性程序
兩款輸液泵的輸血安全性評估
新染料可提高電動汽車安全性
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
搭建基于Qt的嵌入式開發平臺
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
ApplePay橫空出世 安全性遭受質疑 拿什么保護你,我的蘋果支付?
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
Imagination發布可實現下一代SoC安全性的OmniShield技術
主站蜘蛛池模板: 国产波多野结衣中文在线播放| 亚洲人网站| 国产精品第| 免费观看男人免费桶女人视频| 国产午夜精品鲁丝片| 国产啪在线91| 久久永久视频| 亚洲一区精品视频在线| 国产性生交xxxxx免费| 亚洲国产日韩欧美在线| 欧美午夜网| 成人免费网站在线观看| 色综合网址| 久久99精品久久久大学生| 成人夜夜嗨| 亚洲免费黄色网| 欧洲熟妇精品视频| 伊人久久大线影院首页| 免费aa毛片| 四虎永久在线| 久久天天躁狠狠躁夜夜2020一| 青青网在线国产| 天天躁夜夜躁狠狠躁图片| 亚洲天堂精品视频| 岛国精品一区免费视频在线观看 | 欧美亚洲一区二区三区导航 | 成人精品在线观看| 91啪在线| 91小视频在线观看| 国产综合亚洲欧洲区精品无码| 中文字幕无码电影| 2021国产精品自产拍在线观看| 国产尤物jk自慰制服喷水| 高潮毛片无遮挡高清视频播放| 国产精品第三页在线看| 成人无码一区二区三区视频在线观看 | 91小视频在线| 日韩国产精品无码一区二区三区| 国产视频你懂得| 亚洲国产欧美自拍| 黄色三级网站免费| 九九九久久国产精品| 国产jizzjizz视频| 性激烈欧美三级在线播放| 亚洲美女一级毛片| 国产sm重味一区二区三区| 东京热一区二区三区无码视频| 欧美成人国产| 欧美成人综合视频| 欧美视频免费一区二区三区| 国产精品一线天| 久久精品丝袜| 成人午夜免费观看| 国产精品林美惠子在线观看| 国产精品尤物铁牛tv| 久久久受www免费人成| 国产三级视频网站| 一级看片免费视频| 国产欧美综合在线观看第七页| 亚洲一区二区三区香蕉| 日本91视频| 国产香蕉在线视频| 国产精品亚洲αv天堂无码| 欧美激情视频二区三区| 国产精品主播| 国产成人毛片| 免费国产高清精品一区在线| 日本道中文字幕久久一区| 欧美日韩高清在线| 黄色网在线免费观看| 欧美成人一级| 亚洲成人动漫在线观看| 天堂va亚洲va欧美va国产| 99精品福利视频| 一区二区三区高清视频国产女人| 99国产精品免费观看视频| 国产99免费视频| 92午夜福利影院一区二区三区| 久久精品亚洲热综合一区二区| 亚洲欧洲日本在线| 丰满人妻久久中文字幕| 影音先锋亚洲无码|