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

Kinetis系列MCU的保密和保護特性剖析

2017-02-22 09:02:43王玉麗
網絡安全與數據管理 2017年3期
關鍵詞:機制區域

王玉麗

(蘇州工業園區職業技術學院,江蘇 蘇州 215123)

Kinetis系列MCU的保密和保護特性剖析

王玉麗

(蘇州工業園區職業技術學院,江蘇 蘇州 215123)

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

Kinetis;MCU;Flash;UID

0 引言

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

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

1 Kinetis的保密特性

1.1 保密特性概述

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

1.2 保密特性工作原理

Kinetis的保密特性基于Flash保密寄存器FTFL_FSEC和Flash配置區域(Flash Configuration Field,FCF)共同實現。FTFL_FSEC控制著所有與保密相關的位。FCF是位于0x400~0x40F地址區間的一個獨立的16 B配置區域,用來存儲保密/保護及MCU啟動的一些配置信息。FCF結構如圖1所示。

圖1 Kinetis的Flash配置區域FCF結構

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

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

(2)在芯片運行過程中,即使通過特定方式臨時解除了保密狀態,如果FCF中的保密字節FSEC未修改,則芯片復位后,Flash依然處于保密狀態。

1.3 保密等級

FTFL_FSEC寄存器內容將影響保密程度,寄存器結構如表1所示。

表1 FTFL_FSEC寄存器結構

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

1.4 后門訪問機制原理與注意事項

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

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

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

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

(3)驗證失敗,再次驗證需要上電復位。

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

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

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

1.6 保密設置方法

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

圖2 通過FCF保密字節進行保密設置

2 Kinetis的Flash保護機制

2.1 保護概述

Kinetis提供的保護機制主要用于防止CPU對Flash的誤操作,例如燒寫bootloader、防止誤操作Flash中的配置參數等,用戶可以選定Flash區域進行保護,受保護的區域CPU擁有只讀權限。

2.2 保護原理

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

2.3 保護設置與解除

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

3 保密與保護特性對比

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

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

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

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

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

(5)寄存器與讀寫性:保密特性基于FTFL_FSEC,保護特性基于FTFL_FPROTn。FTFL_FSEC寄存器是只讀的,FPROTn寄存器是可讀可寫的,在運行過程中可以更改其內部配置,具體方法與工作模式有關。

4 結論

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

[1] 王宜懷,吳瑾,蔣銀珍.嵌入式系統原理與實踐-ARMCortex-M4Kinetis微控制器[M].北京:電子工業出版社,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的保密和保護特性剖析[J].微型機與應用,2017,36(3):26-28,32.

2016-10-11)

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

猜你喜歡
機制區域
構建“不敢腐、不能腐、不想腐”機制的思考
永久基本農田集中區域“禁廢”
今日農業(2021年9期)2021-11-26 07:41:24
分割區域
自制力是一種很好的篩選機制
文苑(2018年21期)2018-11-09 01:23:06
定向培養 還需完善安置機制
中國衛生(2016年9期)2016-11-12 13:28:08
關于四色猜想
分區域
破除舊機制要分步推進
中國衛生(2015年9期)2015-11-10 03:11:12
基于嚴重區域的多PCC點暫降頻次估計
電測與儀表(2015年5期)2015-04-09 11:30:52
注重機制的相互配合
中國衛生(2014年3期)2014-11-12 13:18:12
主站蜘蛛池模板: 欧美成人亚洲综合精品欧美激情| 有专无码视频| 欧美日韩精品一区二区在线线 | 综合社区亚洲熟妇p| 国产人人射| 欧美不卡二区| 亚洲天堂视频网| 在线a视频免费观看| 欧美亚洲欧美| 9cao视频精品| 另类欧美日韩| 久久香蕉国产线看观看式| 精品五夜婷香蕉国产线看观看| 亚洲一区二区约美女探花| 伊人欧美在线| 日韩精品少妇无码受不了| 美女内射视频WWW网站午夜| 在线观看无码av免费不卡网站| 精品一區二區久久久久久久網站| 东京热av无码电影一区二区| 欧美成人免费一区在线播放| 综合色88| 午夜毛片免费看| 久草热视频在线| 狠狠色狠狠色综合久久第一次| 在线看AV天堂| 日韩123欧美字幕| 青青草国产免费国产| 亚洲日韩AV无码一区二区三区人| 亚洲无码高清一区二区| 欧美精品二区| 欧美另类视频一区二区三区| 久久精品女人天堂aaa| 中国美女**毛片录像在线| 久久夜色精品国产嚕嚕亚洲av| 欧美日韩成人在线观看| 亚洲 欧美 偷自乱 图片 | 色婷婷啪啪| 国产综合色在线视频播放线视| 国产 在线视频无码| jizz国产视频| 国产亚洲精久久久久久久91| 精品国产91爱| 露脸真实国语乱在线观看| 国产91丝袜在线播放动漫| a毛片在线免费观看| 亚洲人成网站日本片| 999精品在线视频| 永久在线精品免费视频观看| 欧美精品成人一区二区在线观看| 全午夜免费一级毛片| 在线观看精品国产入口| 精品久久综合1区2区3区激情| 欧美第九页| 亚洲综合网在线观看| 日本不卡在线| 亚洲人成在线精品| 久久超级碰| 日本免费一区视频| 亚洲视频色图| 伊人久久精品无码麻豆精品| 精品一区二区无码av| 亚洲最猛黑人xxxx黑人猛交| 国产在线自揄拍揄视频网站| 日本色综合网| 美女裸体18禁网站| 51国产偷自视频区视频手机观看 | av色爱 天堂网| 狂欢视频在线观看不卡| 亚洲精品综合一二三区在线| a级毛片在线免费观看| 国产成人区在线观看视频| 71pao成人国产永久免费视频| 无码专区第一页| 亚洲国产精品VA在线看黑人| 在线观看的黄网| 免费看一级毛片波多结衣| 色天堂无毒不卡| 亚洲色图欧美激情| 精品少妇人妻av无码久久| 亚洲精品手机在线| 亚洲日本在线免费观看|