环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業電氣產品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數據分類:
FFC連接器

運用市面上第一款基于 Arm? Cortex?-M33 的 MCU – 第 2 部分:生命周期安全管理

發布日期:2022-04-17 點擊率:63

編者按:本系列文章分為兩部分,sed-mcu-part-1">第 1 部分探討了如何優化 NXP Semiconductors 的 LPC55S6x 通用微控制器 (MCU) 以實現高性能和低功耗。本文是第 2 部分,則說明如何優化該微控制器以實現生命周期安全管理。

對于基于微控制器的系統的開發人員而言,物聯網 (IoT)、工業自動化或個人電子設備之類快速增長的應用有著廣泛的設計要求,往往迫使開發人員在系統功能、性能或功耗方面做出妥協。面對越來越多的安全威脅,此類設計需要加強安全性,這就帶來了進一步的挑戰,開發人員可以使用的有效微控制器解決方案愈發減少。開發人員所需的微控制器不僅要能支持低功耗和高性能等常見要求,還要能支持設計生命周期所有階段(包括配置、通信、安全引導、安全固件更新等)日益提高的安全性需求。

第 1 部分介紹了 NXP 的 LPC55S6x 微控制器系列,并說明了其特性如何滿足高性能與低功耗的要求。本文是第 2 部分,討論 LPC55S6x 微控制器集成的擴展安全特性如何從配置、通信到安全引導、安全固件更新等各方面支持生命周期安全性。

如第 1 部分所述,NXP 單核 LPC55S66 和雙核 LPC55S69 微控制器將 Arm? Cortex?-M33 通用處理器內核與旨在滿足更多專業應用需求的硬件功能結合在一起。在這些功能中,用于對稱和非對稱加密的基于硬件的加速器提供了安全通信所需的基礎機制。過去認為加密加速器足以實現數據保護等基本安全特性。但如今,用戶期望獲得更全面的安全特性,這使得生命周期安全性需求更為復雜,從制造中的配置延伸到現場調試,以及安全引導和安全固件更新。

為了實現這種擴展保護,需要一套遠高于硬件級別的全面安全協議和策略。即便如此,任何安全協議的有效性都與是否存在合適的硬件機制息息相關,因為只有硬件才能既能加速執行,又能消除或減少任何互連設備中不可避免會出現的威脅面。

LPC55S6x 架構具有一系列能力,可提供這種基于硬件的生命周期安全性支持,首先是支持 Arm TrustZone? 技術,另外還提供實現切實有效的安全水平所需的多層保護。

TrustZone 支持

TrustZone 能夠將代碼執行和數據隔離到特定的安全域和非安全域,從而為安全性打下基礎。在程序執行期間,主 Cortex-M33 內核在若干不同執行狀態(與不同的代碼執行模式關聯)之間切換。所述 CPU 狀態和代碼執行模式包括:

  • 安全特權,用于執行內核級代碼或設備處理程序

  • 安全非特權,用于執行安全的用戶代碼

  • 非安全特權,用于執行典型的系統調用

  • 非安全非特權,用于執行典型的用戶應用程序

特權執行與非特權執行的區別對整體操作系統的穩健性至關重要。但就本文的目的而言,我們可以將這些執行模式統合起來,只關注安全和非安全操作之間的區別。在 TrustZone 架構中,從安全 CPU 狀態切換到非安全 CPU 狀態會觸發硬件支持的限制,讓內核訪問程序存儲器或數據。

在安全狀態下,內核可以訪問安全和非安全存儲區中的數據,但不能訪問非安全存儲區中存儲的代碼(圖 1 左)。在非安全狀態下,內核只能訪問非安全存儲區中的代碼和數據(圖 1 右)。

NXP 的 LPC55S6x 微控制器示意圖(點擊放大)圖 1:通過支持 Arm TrustZone,NXP 的 LPC55S6x 微控制器確保工作在安全 (S) 狀態(左)的內核只能獲取 S 狀態程序存儲器的指令,而工作在非安全 (NS) 狀態(右)下的內核則無法訪問 S 狀態存儲器中存儲的代碼或數據。(圖片來源:NXP Semiconductors)

LPC55S6x MCU 架構在最低級別的總線訪問上執行這種控制,從而減小常見的威脅面,例如攻擊者使用緩沖區溢出讓非安全的非特權代碼獲得對“受保護”區域的后門訪問權。這里,NXP 將 Arm TrustZone 安全屬性單元 (SAU) 與其自己的實現定義屬性單元 (IDAU) 結合使用,旨在完全隔離安全內核代碼與應用程序代碼。SAU 提供安全狀態(安全或非安全)并判斷指令是否來自允許的存儲器區域。IDAU 與設備屬性單元 (DAU) 接口以提供更高的粒度,同 SAU 一道確定特定地址的安全屬性。這樣,總線請求便能以適當的安全性和特權級別進行傳送(圖 2)。

NXP 的 LPC55S6x 微控制器總線事務級別的訪問保護示意圖圖 2:NXP 的 LPC55S6x 微控制器總線事務級別的訪問保護,使用 Arm TrustZone SAU 及其自己的 IDAU 來確保系統總線請求在適當的安全性和特權級別運行。(圖片來源:NXP Semiconductors)

安全存儲和外設

TrustZone 保護機制在運行時隔離應用程序代碼和數據,對使用的數據進行尋址(經典數據安全原則之一),其中也包括靜態數據和傳輸中的數據。這些原則通常與企業級數據問題相關,但也適用于嵌入式系統中的代碼和數據。這里,若一個典型嵌入式系統使用微控制器的集成閃存存儲固件映像、代碼和數據,這可能成為明顯的攻擊途徑。LPC55S6x 器件通過名為 PRINCE 的加密/解密算法來消解這種威脅。[閱讀說明:PRINCE 不是首字母縮略詞。]

由于其速度快且資源要求極低,PRINCE 算法非常適合嵌入式系統中的安全實現。在 LPC55S6x 器件中,PRINCE 算法通過硬件實現,實時運行,可以在讀取或寫入數據時即時解密或加密數據。與其他很多加密算法不同,PRINCE 算法不需要使用 RAM 來保存原始數據或中間結果,這就又消除了一個安全漏洞。因此,開發人員可以更安全地將應用程序代碼、固件映像甚至安全密鑰存儲在微控制器的內部閃存中。

雖然加密引擎和安全閃存會鎖定數據交換和存儲,但安全嵌入式系統與傳感器和變送器的交互需要同樣程度的安全性。除了安全 DMA 功能外,LPC55S6x MCU 架構還提供了多種機制來進一步保護內核或其他總線主控器與其集成外設、存儲器或 GPIO 之間的交換(圖 3)。

NXP 的 LPC55S6x 微控制器將多層總線矩陣與 MSW 相結合的示意圖圖 3:NXP 的 LPC55S6x 微控制器將多層總線矩陣與 MSW、MPC、PPC 結合在一起,以隔離和保護該器件的不同總線主控器與其外設和存儲器之間的事務處理。(圖片來源:NXP Semiconductors)

在此保護方案中,存儲器保護校驗器 (MPC) 會限制安全性較低的應用程序對存儲器的訪問。外設保護校驗器 (PPC) 為外設提供同類訪問控制,允許開發人員為不同外設設置不同的訪問規則。由于 SAU/IDU 機制僅適用于主 Cortex-M33 內核,主安全包裝器 (MSW) 則用來為其他總線主控器提供類似的訪問保護。由于多層 AHB 矩陣在總線主控器與外設或存儲器之間創造了一條專用路徑,因此內部總線連接與該器件中可能發生的其他總線事務處理是隔離的,安全得以保證。

LPC55S6x MCU 架構通過其安全 GPIO 系統進一步隔離了對外部器件的安全和非安全訪問。該系統將類似的隔離,即 TrustZone 機制在安全和非安全 CPU 狀態與代碼執行模式之間創建的隔離,擴展到 GPIO 引腳。因此,只有在安全狀態下運行的主 Cortex-M33 內核才能訪問安全 GPIO 引腳,這使開發人員能夠保護來自關鍵外部器件的信號。

安全密鑰管理

本文到目前為止描述的各種保護機制為安全嵌入式系統奠定了基礎。但是,要將該系統安全地連接到網絡、智能手機或其他主機,開發人員必須能夠在初始調試和持續的事務處理期間對連接目標進行身份驗證,并且能夠維護安全加密的通信通道。反過來,作為認證協議和加密機制核心的非對稱和對稱加密算法的安全性,最終取決于這些協議和機制中使用的私鑰安全性。

LPC55S6x 微控制器利用集成的物理不可克隆功能 (PUF),為安全存儲現有密鑰并生成新密鑰提供了一種高度安全的機制。這種方法依靠 PUF 硬件的能力來創建唯一的 PUF 根密鑰,使用它來對其他用戶密鑰進行加密。PUF 根密鑰的唯一性源于其使用內部器件功能以及 SRAM 啟動數據,而 SRAM 啟動數據源自上電時 SRAM 單元的隨機 0 和 1 內容。在 PUF 登記階段,器件使用這兩個隨機數據源來創建數字指紋和相關的 1192 字節激活碼(圖 4)。

NXP LPC55S6x 微控制器的集成 PUF 示意圖圖 4:NXP LPC55S6x 微控制器的集成 PUF 使用啟動時 SRAM 的隨機狀態和其他內部功能生成數字指紋和激活碼,以用于隨后的密鑰生成和存儲操作。(圖片來源:NXP Semiconductors)

在工廠配置器件期間或以后的實際使用中,此激活碼存儲在器件受保護閃存區域中的客戶現場可編程區域 (CFPA) 中。每次微控制器上電和使用 PUF Start 命令激活 PUF 時,PUF 就會將現有激活碼與 SRAM 啟動數據組合,以重建數字指紋。

在此 PUF Start 過程之后,PUF SetKey 命令讓 PUF 對用戶密鑰進行編碼,例如工廠配置的共享主密鑰或由開發人員為其應用程序提供的私鑰。在這里,PUF 根據密鑰大小、密鑰索引和用戶密鑰本身生成相應用戶密鑰的密鑰代碼(圖 5)。

NXP 的 LPC55S6x PUF 提供 SetKey 功能的示意圖圖 5:NXP 的 LPC55S6x PUF 提供的 SetKey 功能使用其數字指紋對用戶密鑰和密鑰索引進行編碼,提供隨后用于訪問原始用戶密鑰的密鑰代碼。(圖片來源:NXP Semiconductors)

開發人員還可以使用 PUF GenerateKey 命令生成新密鑰,該命令采用與 SetKey 相同的生成過程,但使用內部生成的唯一數據取代圖 5 中顯示的 KEYIN 功能。使用密鑰索引 = 0 設置或生成的密鑰可獲得進一步的保護,如下文所述。

要使用密鑰,開發人員調用 PUF GetKey 命令以檢索原始用戶密鑰,其輸出路徑有兩條,具體輸出路徑取決于設置或生成密鑰時使用的密鑰索引值。如果密鑰索引大于零,則可通過 PUF CODEOUTPUT 寄存器獲得用戶密鑰。如果密鑰索引等于零,則用戶密鑰將直接傳遞給 AES 引擎,或傳遞給 KEYENABLE 的值所指定的 PRINCE 引擎的三個支持的閃存區域(圖 6)。盡管沒有直接參與密鑰檢索,但 PUF 的 4 位 KEYMASK 寄存器支持專為緩解旁路攻擊的內部機制。

通過 NXP 的 LPC55S6x PUF GetKey 命令訪問密鑰的示意圖圖 6:開發人員使用 NXP 的 LPC55S6x PUF GetKey 命令訪問密鑰。這會使用 SetKey(或 GenerateKey)操作期間生成的密鑰索引和密鑰代碼輸出原始用戶密鑰,或通過專用總線將其發送到微控制器的加密加速器。(圖片來源:NXP Semiconductors)

零索引密鑰有助于加強生命周期安全性,甚至從工廠配置階段開始便能保證安全。一旦通過 PUF SetKey 配置,無論是用于對稱加密的共享主密鑰,還是用于非對稱加密的私鑰,都永遠不會離開器件或進入系統總線。相反,密鑰通過軟件無法訪問的專用硬連線接口在內部傳輸到 AES 或 PRINCE 引擎。

PUF 密鑰管理機制和微控制器的其他安全特性共同支持其他生命周期安全性階段,包括安全引導和固件更新。針對安全引導,LPC55S6x 支持多種保護方法,包括使用經驗證的 X.509 證書對 RSA2048 簽名映像進行身份驗證,或對 PRINCE 閃存區域中存儲的映像進行解密。無論何種情況,引導程序都使用 PUF 生成的密鑰哈希值從 PUF 密鑰存儲區中安全地檢索驗證證書或解密映像所需的密鑰,這些密鑰哈希值與映像一起存儲在受保護的閃存區域中。

固件更新使用類似的機制來驗證無線更新固件映像,對其進行解密,然后準備好進行引導。

除了安全引導和固件更新的直接需求外,該器件的多個密鑰存儲插槽和密鑰生成功能還支持持續的安全生命周期要求,可以撤銷密鑰和證書。這種密鑰管理功能進而支持更高級別的安全策略,例如固件映像撤銷。

通過使用 NXP 的 LPCXpresso55S69 開發板并結合 NXP 的 MCUXpresso 集成開發環境 (IDE)、IAR 或 Keil IDE,開發人員可以快速探索 LPC55S6x 微控制器的能力。MCUXpresso Config Tools 集成在 MCUXpresso IDE 中,可幫助開發人員設置 MCU 硬件并生成初始化代碼。利用該配置工具集中的可信執行環境 (TEE) 工具,開發人員可以更輕松地配置 LPC55S6x MCU 的多級安全訪問。使用 TEE 工具的圖形界面,開發人員可以針對上文描述的四種 CPU 狀態和執行模式中的每一種,優化對存儲器、總線主控器和外設的訪問權限(圖 7)。

NXP 的 MCUXpresso Co<em></em>nfig Tools 實用工具集圖片(點擊放大)圖 7:利用 NXP 的 MCUXpresso Config Tools 實用工具集中可信執行環境工具的圖形界面,開發人員可以針對以四種 CPU 狀態和執行模式運行的代碼,設置對存儲器、總線主控器和外設的訪問權限(圖片來源:NXP Semiconductors)

針對代碼開發,NXP 還提供了許多簡單的代碼示例,這些示例演示了使用微控制器安全特性(例如安全 GPIO、PUF 密鑰管理和其他器件功能)的基本設計模式。然而,即使在開發階段,LPC55S6x MCU 也可通過單線調試 (SWD)

認證能力來幫助維持生命周期安全性。借助此功能,經授權的開發人員可以調試其安全代碼并禁用對安全資源的任何進一步 SWD 訪問,然后將開發工作交給非安全軟件開發人員。這些開發人員在完成代碼調試之后,進而可以禁用所有通過 SWD 端口的調試訪問。

總結

開發人員面臨著對低功耗、高性能設計日益增長的需求,同時還需要能夠維持從工廠配置到現場安全操作的整個生命周期的安全性。如本文所述,NXP 的 LPC55S6x 系列微控制器提供了一種有效的解決方案,它既具備通用處理能力,又有豐富的專用硬件特性來支持生命周期安全性。

下一篇: PLC、DCS、FCS三大控

上一篇: 通過使用模擬多路復用

推薦產品

更多
主站蜘蛛池模板: 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 智慧消防-消防物联网系统云平台 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 写方案网_方案策划方案模板下载 事迹材料_个人事迹名人励志故事 | 橡胶膜片,夹布膜片,橡胶隔膜密封,泵阀设备密封膜片-衡水汉丰橡塑科技公司网站 | 沙盘模型公司_沙盘模型制作公司_建筑模型公司_工业机械模型制作厂家 | 光纤测温-荧光光纤测温系统-福州华光天锐光电科技有限公司 | 西子馋火锅鸡加盟-太原市龙城酉鼎餐饮管理有限公司 | 工业铝型材-铝合金电机壳-铝排-气动执行器-山东永恒能源集团有限公司 | 新密高铝耐火砖,轻质保温砖价格,浇注料厂家直销-郑州荣盛窑炉耐火材料有限公司 | 北京发电机出租_发电机租赁_北京发电机维修 - 河北腾伦发电机出租 | 公交驾校-北京公交驾校欢迎您! 工作心得_读书心得_学习心得_找心得体会范文就上学道文库 | 无锡装修装潢公司,口碑好的装饰装修公司-无锡索美装饰设计工程有限公司 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 上海小程序开发-上海小程序制作公司-上海网站建设-公众号开发运营-软件外包公司-咏熠科技 | 不干胶标签-不干胶贴纸-不干胶标签定制-不干胶标签印刷厂-弗雷曼纸业(苏州)有限公司 | 臭氧灭菌箱-油桶加热箱-原料桶加热融化烘箱-南京腾阳干燥设备厂 臭氧发生器_臭氧消毒机 - 【同林品牌 实力厂家】 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 粘度计,数显粘度计,指针旋转粘度计 | 磁力反应釜,高压釜,实验室反应釜,高温高压反应釜-威海自控反应釜有限公司 | 螺旋丝杆升降机-SWL蜗轮-滚珠丝杆升降机厂家-山东明泰传动机械有限公司 | 不锈钢水管-不锈钢燃气管-卫生级不锈钢管件-不锈钢食品级水管-广东双兴新材料集团有限公司 | 郑州律师咨询-郑州律师事务所_河南锦盾律师事务所 | 无菌水质袋-NASCO食品无菌袋-Whirl-Pak无菌采样袋-深圳市慧普德贸易有限公司 | 27PR跨境电商导航 | 专注外贸跨境电商 | 驾驶人在线_专业学车门户网站 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 济南网站建设_济南网站制作_济南网站设计_济南网站建设公司_富库网络旗下模易宝_模板建站 | 哈希余氯测定仪,分光光度计,ph在线监测仪,浊度测定仪,试剂-上海京灿精密机械有限公司 | 茶楼装修设计_茶馆室内设计效果图_云臻轩茶楼装饰公司 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 美侍宠物-专注宠物狗及宠物猫训练|喂养|医疗|繁育|品种|价格 | 九爱图纸|机械CAD图纸下载交流中心| 电镀标牌_电铸标牌_金属标贴_不锈钢标牌厂家_深圳市宝利丰精密科技有限公司 | 耐火砖厂家,异形耐火砖-山东瑞耐耐火材料厂 | 【中联邦】增稠剂_增稠粉_水性增稠剂_涂料增稠剂_工业增稠剂生产厂家 | KBX-220倾斜开关|KBW-220P/L跑偏开关|拉绳开关|DHJY-I隔爆打滑开关|溜槽堵塞开关|欠速开关|声光报警器-山东卓信有限公司 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | 美缝剂_美缝剂厂家_美缝剂加盟-地老板高端瓷砖美缝剂 | SMC-ASCO-CKD气缸-FESTO-MAC电磁阀-上海天筹自动化设备官网 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 |