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

Kinetis系列MCU的保密和保護(hù)特性剖析

2017-02-22 09:02:43王玉麗
關(guān)鍵詞:機(jī)制區(qū)域

王玉麗

(蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院,江蘇 蘇州 215123)

Kinetis系列MCU的保密和保護(hù)特性剖析

王玉麗

(蘇州工業(yè)園區(qū)職業(yè)技術(shù)學(xué)院,江蘇 蘇州 215123)

為應(yīng)對安全攻擊,Kinetis系列MCU提供了保密和Flash保護(hù)特性、UID特性等很多機(jī)制,但這些機(jī)制較為復(fù)雜且必須深度掌握,才能滿足應(yīng)用的安全設(shè)計(jì)要求。針對這一問題,文章對其保密和保護(hù)特性進(jìn)行了深入研究,從工作機(jī)理、應(yīng)用場合、配置方法、注意事項(xiàng)等多方面進(jìn)行了分析和比對,為靈活應(yīng)用這些機(jī)制奠定了基礎(chǔ)。

Kinetis;MCU;Flash;UID

0 引言

在嵌入式產(chǎn)品領(lǐng)域,有效地應(yīng)對各種安全攻擊至關(guān)重要。安全攻擊主要是指:人為地試圖獲取或者破壞芯片內(nèi)容而獲取利益,例如復(fù)制軟件進(jìn)而克隆系統(tǒng)、竊取關(guān)鍵信息(如數(shù)據(jù)庫等)、惡意篡改或者重新編程制作“流氓”軟件等。

目前嵌入式應(yīng)用中Freescale公司基于ARM? Cortex?-M內(nèi)核的32位Kinetis系列MCU應(yīng)用非常廣泛,它提供了一系列應(yīng)對安全攻擊的機(jī)制,包括保密特性、Flash保護(hù)特性、芯片唯一標(biāo)識符UID特性等,由于這些機(jī)制比較復(fù)雜,設(shè)置視具體應(yīng)用而異,靈活多變,并涉及大量寄存器,加上Kinetis產(chǎn)品面世時(shí)間短,安全機(jī)制方面的中文資料稀缺(尚未有相關(guān)論文發(fā)表,只在部分書籍/網(wǎng)絡(luò)資料中有簡述),給開發(fā)者帶來了困擾。因此本文針對Kinetis的保密和保護(hù)特性進(jìn)行了研究,深入剖析了保密特性(包括工作原理、保密等級、整體擦除、后門機(jī)制、對外部接口的影響、保密設(shè)置方法等),分析了保護(hù)特性(原理、保護(hù)與解除保護(hù)策略等),綜合比對了二者的異同與關(guān)聯(lián),為基于Kinetis應(yīng)用的安全設(shè)計(jì)奠定了技術(shù)基礎(chǔ)。

1 Kinetis的保密特性

1.1 保密特性概述

Kinetis的保密特性使得它可以工作在保密Secure和非保密Unsecure兩種模式下,區(qū)別在于是否允許通過外部接口訪問芯片內(nèi)部存儲器[1]。保密模式下,不能通過外部接口(如JTAG/SWD調(diào)試接口、EzPort、FlexBus)對芯片內(nèi)部存儲器進(jìn)行任何操作(整體擦除Mass Erase指令除外)[2-3]。非保密模式則無此限制。

1.2 保密特性工作原理

Kinetis的保密特性基于Flash保密寄存器FTFL_FSEC和Flash配置區(qū)域(Flash Configuration Field,FCF)共同實(shí)現(xiàn)。FTFL_FSEC控制著所有與保密相關(guān)的位。FCF是位于0x400~0x40F地址區(qū)間的一個(gè)獨(dú)立的16 B配置區(qū)域,用來存儲保密/保護(hù)及MCU啟動的一些配置信息。FCF結(jié)構(gòu)如圖1所示。

圖1 Kinetis的Flash配置區(qū)域FCF結(jié)構(gòu)

在芯片復(fù)位完成前,位于FCF中的保密字節(jié)FSEC(地址0x40C)會被自動加載到FTFL_FSEC寄存器中,通過寄存器中的保密狀態(tài)位SEC位來設(shè)定芯片的保密狀態(tài)。這種機(jī)制會引發(fā)兩個(gè)問題:

(1)在芯片運(yùn)行過程中,即使修改了FCF中的保密字節(jié)FSEC,如果未復(fù)位則不會生效。

(2)在芯片運(yùn)行過程中,即使通過特定方式臨時(shí)解除了保密狀態(tài),如果FCF中的保密字節(jié)FSEC未修改,則芯片復(fù)位后,F(xiàn)lash依然處于保密狀態(tài)。

1.3 保密等級

FTFL_FSEC寄存器內(nèi)容將影響保密程度,寄存器結(jié)構(gòu)如表1所示。

表1 FTFL_FSEC寄存器結(jié)構(gòu)

保密狀態(tài)下,根據(jù)寄存器中KEYEN、MEEN、FSLACC的不同,對應(yīng)多種保密方案,通常保密等級可分為4級:等級0,禁止KEYEN;等級1,全部啟用;等級2,禁止FSLACC;等級3,禁止FSLACC和MEEN。由于等級3禁用了整體擦除和工廠訪問功能,只能通過后門機(jī)制解密,而如果程序中沒有加入后門解密功能,會導(dǎo)致芯片代碼再也無法重新編程或修改,所以使用時(shí)務(wù)必先確認(rèn)后門功能完好再啟用保密。

1.4 后門訪問機(jī)制原理與注意事項(xiàng)

后門訪問為開發(fā)者提供了一種便利的訪問途徑,使得保密后,使用后門訪問密碼(Backdoor Cccess Key)經(jīng)驗(yàn)證后門指令(Verify Backdoor Command)驗(yàn)證成功,即可通過調(diào)試接口再次訪問Flash。其無需整體擦除Flash,常用于固件升級。

后門機(jī)制需要開發(fā)者預(yù)先將一個(gè)8 B的后門密碼燒寫到Flash配置區(qū)域FCF中的后門密碼字節(jié)處(地址0x400~0x407),并編寫好驗(yàn)證代碼。在芯片進(jìn)入保密模式后,用戶通過外部串行口將密碼輸入MCU,然后通過驗(yàn)證指令進(jìn)行驗(yàn)證,驗(yàn)證一致則MCU解密。使用后門訪問時(shí)需要注意以下事項(xiàng):

(1)在保密狀態(tài)且KEYEN使能情況下,可通過后門密碼暫時(shí)解除保密狀態(tài),后門密碼必須在FCF中配置,且不能全0或全1,否則驗(yàn)證命令會報(bào)錯(cuò)。

(2)沒有預(yù)設(shè)機(jī)制用于獲取后門密碼并運(yùn)行驗(yàn)證,需要自行編碼,接收用戶輸入的密碼來進(jìn)行驗(yàn)證。

(3)驗(yàn)證失敗,再次驗(yàn)證需要上電復(fù)位。

(4)通過后門只能暫時(shí)解除保密狀態(tài),復(fù)位后會重回保密狀態(tài),除非更改了FCF中的保密設(shè)置。

1.5 保密模式對外部接口及FlexBus的影響

保密模式下,調(diào)試接口JTAG/SWD被禁止調(diào)試,是否允許整體擦除通過MEEN位控制,除JTAG掃描和調(diào)試寄存器MDM-AP外,其他寄存器無法訪問;同樣,Ezport是否允許整體擦除指令通過MEEN位控制,除EzPort狀態(tài)寄存器外,其他寄存器無法訪問;保密模式下默認(rèn)阻塞所有外部訪問FlexBus的操作,但可通過SIM_SOPT2[FBSL]編程控制保密時(shí)允許進(jìn)行哪些操作,可以選擇只允許數(shù)據(jù)存取,或者同時(shí)允許數(shù)據(jù)和操作碼的訪問,如果都允許,則不管是否保密,F(xiàn)lexBus控制器將同樣運(yùn)作。

1.6 保密設(shè)置方法

保密模式需要通過修改FCF中的保密字節(jié)實(shí)現(xiàn),IAR環(huán)境下FCF信息存放在”/工程目錄/src/cpu/”文件夾下的vectors.c和vectors.h文件中。vectors.h文件的末尾部分存放著CONFIG_1~CONFIG_4字段(共計(jì)16 B),如下圖2所示。vectors.c中有對應(yīng)的中斷向量地址信息,修改圖2中fe信息即可完成保密模式的修改,修改完成后可通過查看生成的s19文件確認(rèn)保密字節(jié)是否修改成功。需要特別注意的是IAR6.6之后,其自帶的flashloader默認(rèn)對0x40C~0x40F段進(jìn)行了保護(hù),所以會導(dǎo)致修改失效,因此在燒寫前需要首先對flashloader進(jìn)行配置:打開Flash Loader Configuration在extra parameters部分輸入-enable_config_write,保存設(shè)置然后再燒寫即可。

圖2 通過FCF保密字節(jié)進(jìn)行保密設(shè)置

2 Kinetis的Flash保護(hù)機(jī)制

2.1 保護(hù)概述

Kinetis提供的保護(hù)機(jī)制主要用于防止CPU對Flash的誤操作,例如燒寫bootloader、防止誤操作Flash中的配置參數(shù)等,用戶可以選定Flash區(qū)域進(jìn)行保護(hù),受保護(hù)的區(qū)域CPU擁有只讀權(quán)限。

2.2 保護(hù)原理

Kinetis提供了3個(gè)寄存器分別針對3種類型的存儲空間進(jìn)行保護(hù):程序Flash(PFlash)、數(shù)據(jù)Flash(DFlash)和EEPROM[1]。3種類型的Flash保護(hù)機(jī)制類似,本文以PFlash為例進(jìn)行闡述。PFlash的保護(hù)基于PFlash保護(hù)寄存器FTFL_FPROTn和FCF共同實(shí)現(xiàn)。在芯片復(fù)位完成前會把FCF中的PFlash保護(hù)字節(jié)(地址0x408~0x40B)加載到Kinetis的4個(gè)保護(hù)寄存器FTFL_FPROT0~FTFL_FPROT3中,根據(jù)位設(shè)置進(jìn)行保護(hù)。4個(gè)保護(hù)寄存器中的32個(gè)位將PFlash等分成32個(gè)區(qū)域進(jìn)行保護(hù)配置,每個(gè)位控制1/32區(qū)域?qū)懕Wo(hù),對應(yīng)位為1則不保護(hù),為0則保護(hù)。這種機(jī)制使得Flash最小可配置保護(hù)單元大小取決于芯片的Flash容量,比如容量512 KB其最小保護(hù)單元為512/32=16 KB,32 KB則為32/32=1 KB。系統(tǒng)所支持的最小保護(hù)單元為1 KB,容量小于32 KB的,以24 KB為例,32位中的后8位就被忽略掉了,其他情況依次類推。

2.3 保護(hù)設(shè)置與解除

保護(hù)與保密設(shè)置方法類似,可通過修改FCF的保護(hù)字節(jié)完成,不再贅述。Flash配置區(qū)域一旦被保護(hù),就不能通過常規(guī)Flash擦寫指令修改,只能通過EzPort執(zhí)行塊擦除指令(bulk erase)或運(yùn)用Segger J-Link的命令行工具運(yùn)行“unlock Kinetis”指令來擦除。

3 保密與保護(hù)特性對比

保密與保護(hù)雖然都是安全機(jī)制,但二者差異顯著,綜合比對如下:

(1)配置字節(jié):二者均駐留在Flash配置域FCF中,分別對應(yīng)保密和保護(hù)字節(jié)。

(2)作用范圍:保密特性針對整個(gè)芯片,對Flash本身影響很小;保護(hù)特性則只影響選定的部分/全部Flash區(qū)域,對處理器的其余部分沒有影響。

(3)目的與用途:保密旨在防止惡意者通過外部接口非法讀出Flash內(nèi)容,不影響CPU讀寫Flash。為防止芯片內(nèi)容被非法讀出后被“暴力”寫入到同類芯片運(yùn)行,Kinetis還提供了芯片唯一標(biāo)識符UID可進(jìn)行唯一性驗(yàn)證,可配合保密機(jī)制阻止非法程序運(yùn)行[4]。保護(hù)旨在防止CPU對內(nèi)部Flash意外擦除和寫入。

(4)方向性:保密針對外部接口,保護(hù)針對CPU。

(5)寄存器與讀寫性:保密特性基于FTFL_FSEC,保護(hù)特性基于FTFL_FPROTn。FTFL_FSEC寄存器是只讀的,F(xiàn)PROTn寄存器是可讀可寫的,在運(yùn)行過程中可以更改其內(nèi)部配置,具體方法與工作模式有關(guān)。

4 結(jié)論

本文深入分析了Kinetis系列MCU的保密和保護(hù)特性,闡述了保密和保護(hù)的工作原理、應(yīng)用場合、配置方法與注意事項(xiàng)等。保密特性禁用外部端口,使得軟件固件被鎖定,免受外部攻擊,保護(hù)特性可防止對特定Flash區(qū)域進(jìn)行擦除,免受內(nèi)部CPU誤操作的影響,二者結(jié)合可以應(yīng)對多種安全問題,保密和保護(hù)機(jī)制的靈活應(yīng)用可為基于Kinetis的應(yīng)用在安全設(shè)計(jì)方面提供良好的技術(shù)基礎(chǔ)。

[1] 王宜懷,吳瑾,蔣銀珍.嵌入式系統(tǒng)原理與實(shí)踐-ARMCortex-M4Kinetis微控制器[M].北京:電子工業(yè)出版社,2012.

[2] Freescale Semiconductor,Inc..K60 Sub-family reference manual Rev 6[DB/OL]. (2011-11-06)[2016-06-20].http://www.freescale.com.

[3] Freescale Semiconductor,Inc..Using the Kinetis security and Flash protection features (AN4507)[DB/OL].(2012-01-06)[2016-06-20].http://www.freescale.com. 2012/2016.6.

[4] NXP Semiconductors.How to address the challenge of security/privacy with Kinetis? (REV 0) [DB/OL].[2016-06-10].http://www.nxp.com/.2014.

Analysis of security and protection features of Kinetis series MCUs

Wang Yuli

(Suzhou Industrial Park Institute of Vocational Technology, Suzhou 215123, China)

In order to deal with security attacks, Kinetis series MCUs provide a lot of mechanisms such as security and Flash protection features,uid features,etc. But these mechanisms are complex and must be mastered in order to meet the application requirements of safety design. To solve this problem, this paper made a deep study of security and Flash protection features, and made an analysis and comparison from the working mechanism, application situations, configuration method, attention and other aspects, laid the foundation for the flexible application of these mechanisms.

Kinetis;MCU;Flash;UID

TP3

A

10.19358/j.issn.1674- 7720.2017.03.008

王玉麗.Kinetis系列MCU的保密和保護(hù)特性剖析[J].微型機(jī)與應(yīng)用,2017,36(3):26-28,32.

2016-10-11)

王玉麗(1984-),女,工學(xué)碩士,講師,主要研究方向:嵌入式系統(tǒng)應(yīng)用。

猜你喜歡
機(jī)制區(qū)域
構(gòu)建“不敢腐、不能腐、不想腐”機(jī)制的思考
永久基本農(nóng)田集中區(qū)域“禁廢”
分割區(qū)域
自制力是一種很好的篩選機(jī)制
文苑(2018年21期)2018-11-09 01:23:06
定向培養(yǎng) 還需完善安置機(jī)制
關(guān)于四色猜想
分區(qū)域
破除舊機(jī)制要分步推進(jìn)
基于嚴(yán)重區(qū)域的多PCC點(diǎn)暫降頻次估計(jì)
電測與儀表(2015年5期)2015-04-09 11:30:52
注重機(jī)制的相互配合
主站蜘蛛池模板: 一本一道波多野结衣av黑人在线| 色偷偷一区| 亚洲伊人电影| 99久视频| 最新痴汉在线无码AV| 亚洲国产高清精品线久久| 国产成在线观看免费视频 | 国产高潮流白浆视频| 永久免费AⅤ无码网站在线观看| 亚洲精品无码专区在线观看| 天天干天天色综合网| 亚洲欧美成人网| 国产精品亚洲五月天高清| 99re经典视频在线| 免费在线成人网| 国产成人精品第一区二区| 99re这里只有国产中文精品国产精品 | 色网在线视频| 成人午夜天| 亚洲国产天堂在线观看| 日本亚洲国产一区二区三区| 蜜臀AVWWW国产天堂| 国产欧美在线视频免费| 无码在线激情片| 2048国产精品原创综合在线| 性做久久久久久久免费看| 免费人成网站在线观看欧美| 国产成在线观看免费视频| 免费AV在线播放观看18禁强制| 欧美人人干| 欧美国产在线看| 国产97区一区二区三区无码| 国产精品污污在线观看网站| 久久中文电影| 国产91全国探花系列在线播放| 五月激情婷婷综合| 亚洲乱亚洲乱妇24p| 国产精品播放| 免费一级α片在线观看| 亚洲人成高清| 亚洲成人一区二区| 呦女亚洲一区精品| 日韩第八页| 又爽又大又光又色的午夜视频| 欧美一级爱操视频| 91成人在线免费视频| 91在线精品麻豆欧美在线| 伊人丁香五月天久久综合| 国产网站免费看| 国产大片黄在线观看| 国产美女无遮挡免费视频| 国产欧美在线观看精品一区污| 国产成年女人特黄特色毛片免| 亚洲色中色| 久久精品国产在热久久2019 | 欧美日韩久久综合| 丰满人妻一区二区三区视频| 国产噜噜在线视频观看| 日本在线亚洲| 亚洲免费黄色网| 怡红院美国分院一区二区| 伊人激情综合网| 色悠久久综合| 精品无码一区二区三区在线视频| 精品亚洲国产成人AV| 久久久噜噜噜| 久久国语对白| 日韩欧美91| 国产精品任我爽爆在线播放6080| 中文无码精品A∨在线观看不卡| 99热最新在线| 免费黄色国产视频| a级毛片毛片免费观看久潮| AV天堂资源福利在线观看| 亚洲国模精品一区| 少妇精品久久久一区二区三区| 美女无遮挡免费网站| 99视频精品在线观看| 午夜视频免费试看| 欧美一级在线看| 欧美人与动牲交a欧美精品| 日韩在线视频网|