1.導(dǎo)言
物聯(lián)網(wǎng)(IoT)轉(zhuǎn)型的進(jìn)程正如火如荼,并有可能改變企業(yè)和消費(fèi)者體驗(yàn)?;ヂ?lián)網(wǎng)的這個(gè)新階段能否取得成功,,很大程度上取決于數(shù)十億各種互聯(lián)設(shè)備的信任和安全性能。企業(yè)需要依靠來自邊緣計(jì)算的數(shù)據(jù)才能做出商業(yè)決策,,而消費(fèi)者需要確保他們的互聯(lián)家居和數(shù)字生活不會(huì)被黑客攻擊,。近期的攻擊和安全研究表明,在極端情況下,,設(shè)計(jì)不佳的連接設(shè)備有可能被攻陷并導(dǎo)致互聯(lián)網(wǎng)基礎(chǔ)架構(gòu)的關(guān)鍵部件被破壞,,甚至影響到我們的安全。因此,,我們需要能夠應(yīng)對這些威脅并且適用于各種成本點(diǎn)的設(shè)備安全,。平臺(tái)安全架構(gòu)(PSA)的使命就是克服這一挑戰(zhàn)。它能夠服務(wù)于任何設(shè)計(jì)合理的 Arm 處理器,,包括低成本微控制器,。
安全并非可有可無
Arm宣布將推出平臺(tái)安全架構(gòu)(PSA)和配套的開源軟件計(jì)劃Trusted Firmware-M。該項(xiàng)目能夠提供由硬件支持的可擴(kuò)展安全性,,可應(yīng)用于成本從低到高的各類設(shè)備,。其目的是通過共享的最佳實(shí)踐方法提高整個(gè)生態(tài)系統(tǒng)的安全性。為此,,我們需要轉(zhuǎn)變安全經(jīng)濟(jì)學(xué),,降低實(shí)施強(qiáng)大安全措施的風(fēng)險(xiǎn)、成本,、低層次碎片化和復(fù)雜性,。
基于微控制器(MCU)的設(shè)備數(shù)量急速增長將導(dǎo)致:
數(shù)十億種物聯(lián)網(wǎng)設(shè)備和嵌入式連接設(shè)備設(shè)計(jì),全部基于各種 Arm 解決方案
種類繁雜的使用案例和安全健壯性要求
來自多家供應(yīng)商的系統(tǒng)組件集成:硬件,、軟件和固件
各種組件的多樣化實(shí)施
不同項(xiàng)目之間可能無法復(fù)用的集成工作
本白皮書概述了全新架構(gòu)——PSA,。這種架構(gòu)將為日益增加的基于MCU的連接設(shè)備奠定基于硬件和固件的安全基礎(chǔ)。PSA不限定CPU架構(gòu),,但以基于MCU的設(shè)備為優(yōu)先服務(wù)對象,,同時(shí)也可應(yīng)用于全面可信執(zhí)行環(huán)境(TEE)太過龐大、太過復(fù)雜的其他平臺(tái),。
運(yùn)行 Linux 等復(fù)雜操作系統(tǒng),、Arm TrustZone? 等現(xiàn)有基于硬件的安全產(chǎn)品以及可信執(zhí)行環(huán)境(TEE)的 Arm 應(yīng)用處理器(即Cortex-A系列)也同樣適用。
1.1 行業(yè)挑戰(zhàn)
行業(yè)面臨如下挑戰(zhàn):
1.在設(shè)備的整個(gè)生命周期內(nèi)實(shí)施安全可能代價(jià)不菲
2.安全設(shè)備很難實(shí)現(xiàn)規(guī)?;芾?/p>
3.行業(yè)對傳感器和執(zhí)行器接收和發(fā)送的數(shù)據(jù)缺乏信心,,因此無法全面發(fā)掘物聯(lián)網(wǎng)的經(jīng)濟(jì)效益
1.2 Arm 對更安全物聯(lián)網(wǎng)的愿景
Arm的安全愿景側(cè)重于三個(gè)主要領(lǐng)域:
1. 轉(zhuǎn)變安全經(jīng)濟(jì)學(xué)
設(shè)備的整個(gè)生命周期都應(yīng)當(dāng)提供用戶負(fù)擔(dān)得起的安全性,。
2.實(shí)現(xiàn)規(guī)模化安全性
物聯(lián)網(wǎng)的云運(yùn)營商需要相應(yīng)的設(shè)施來安全,、有效地管理海量設(shè)備,,無論何種設(shè)備類型和芯片類型。
3.整個(gè)價(jià)值鏈的安全
物聯(lián)網(wǎng)的一個(gè)主要優(yōu)點(diǎn)就在于它生成和交換的數(shù)據(jù),,以及從這些數(shù)據(jù)中分析提取的信息,。企業(yè)必須能夠判斷數(shù)據(jù)的可靠性,進(jìn)而實(shí)現(xiàn)整個(gè)生態(tài)系統(tǒng)共享的經(jīng)濟(jì)效益,。
1.3 IP支持
Arm現(xiàn)有的安全產(chǎn)品和技術(shù)能夠幫助移動(dòng)和上網(wǎng)本市場的硅芯片合作伙伴提高安全性和質(zhì)量并加快產(chǎn)品的上市速度,。Arm現(xiàn)有的安全產(chǎn)品包括:
Armv8-A等包含TrustZone的Cortex-A系列
Arm可信固件(針對Cortex-A系列),一種開源參考實(shí)施,,包括可信 啟動(dòng)和TEE加載組件
將TrustZone引入微控制器市場的Armv8-M架構(gòu)
Arm SecurCore,,防篡改處理器系列
TrustZone CryptoCell,提供平臺(tái)級安全服務(wù)的安全模塊
TrustZone CryptoIsland,,高度集成式安全子系統(tǒng),,旨在提供片上智能卡級別的安全性
Arm Mbed IoT Device Platform,提供相應(yīng)的操作系統(tǒng),、云服務(wù),、工具和開發(fā)者生態(tài)系統(tǒng),以實(shí)現(xiàn)基于標(biāo)準(zhǔn)的商業(yè)物聯(lián)網(wǎng)解決方案的規(guī)?;_發(fā)和部署,。
接下來我們將介紹平臺(tái)安全架構(gòu),為制造更安全連接設(shè)備提供方法,。
2.平臺(tái)安全架構(gòu)
2.1 目標(biāo)
平臺(tái)安全架構(gòu)(PSA)是一個(gè)由威脅模型,、安全分析以及硬件和固件規(guī)范組成的整體。它與開源參考實(shí)施共同幫助您在最低的安全層面為所有互聯(lián)設(shè)備實(shí)現(xiàn)統(tǒng)一的安全設(shè)計(jì),。PSA吸收并整合了整個(gè)行業(yè)的最佳實(shí)踐,。它的服務(wù)對象是整個(gè)物聯(lián)網(wǎng)生態(tài)系統(tǒng),從芯片設(shè)計(jì)師和設(shè)備開發(fā)者到云和網(wǎng)絡(luò)基礎(chǔ)架構(gòu)提供商以及軟件供應(yīng)商,。
PSA 提供了一種無需自行開發(fā)所有元件就能構(gòu)建安全系統(tǒng)的方法,。Arm是這個(gè)生態(tài)系統(tǒng)的領(lǐng)導(dǎo)者,其目標(biāo)是保護(hù)整個(gè)互聯(lián)世界,。
下列目標(biāo)概述了確保數(shù)十億設(shè)備安全的框架:
簡化按照安全標(biāo)準(zhǔn)評估物聯(lián)網(wǎng)設(shè)備的過程
促進(jìn)重復(fù)利用,、提高互操作性和最大程度減少API碎片,進(jìn)而降低生態(tài)系統(tǒng)合作伙伴開發(fā)軟件的成本和復(fù)雜性
利用PSA提供的原始資源實(shí)現(xiàn)設(shè)備安全模型,,進(jìn)而降低SoC設(shè)計(jì)者的成本和復(fù)雜性
為了實(shí)現(xiàn)上述目標(biāo),,下列要求必須得到滿足:
為認(rèn)證/評估基于Arm的SoC或設(shè)備建立基礎(chǔ)
定義核心安全功能
定義沙箱安全模型
為第三方軟件提供商實(shí)施的安全功能定義框架
定義基礎(chǔ)物聯(lián)網(wǎng)安全硬件平臺(tái)
為物聯(lián)網(wǎng)提供健壯的開源參考實(shí)施(類似于上網(wǎng)本和移動(dòng)市場的Arm可信固件)
2.2 構(gòu)建模塊
PSA 由三個(gè)部分組成:
1.威脅模型和安全分析,來自各種典型的物聯(lián)網(wǎng)使用案例
2.架構(gòu)的固件和硬件規(guī)范
3.固件架構(gòu)規(guī)范的開源參考實(shí)施
PSA的基礎(chǔ)是設(shè)備的威脅模型,,它們將安全要求延伸至其他各大構(gòu)件,,如圖 1所示,。威脅模型與CPU架構(gòu)無關(guān),而另外兩大構(gòu)件的作用是為統(tǒng)一的實(shí)施提供支持,。
三大構(gòu)件之間的關(guān)系如圖 1 所示,。
圖 1 – PSA 的組成
2.3 威脅模型與安全分析
設(shè)計(jì)安全系統(tǒng)時(shí),我們需要結(jié)合關(guān)鍵問題進(jìn)行風(fēng)險(xiǎn)分析并建立威脅模型,。這些關(guān)鍵問題包括:
我們要保護(hù)的資產(chǎn)
潛在的威脅
潛在攻擊的范圍和強(qiáng)度
潛在攻擊者的類型以及攻擊方式
通過這些研究可以確定安全目標(biāo),,隨后制定減輕此類威脅的安全功能要求。
Arm 對相關(guān)的物聯(lián)網(wǎng)使用案例和情境進(jìn)行了分析,。通過分析得出普遍適用的安全原則,,然后用它來指導(dǎo)架構(gòu)規(guī)范文件的制定。
Arm 使用英語語言保護(hù)范圍(PP)方法來為評估目標(biāo)(TOE)制定一系列安全功能要求(SFR),。每一個(gè)輪廓都考慮了功能描述、TOE 和必要的安全要求,。這些文件要讓并非安全專家的工程師能夠使用,。
各種PSA架構(gòu)規(guī)范描述的硬件和軟件安全構(gòu)件提供了滿足威脅模型所凸顯的安全要求所需的原語。
圖 2 顯示了高層次分析示例,。
圖 2 – 一個(gè)儀表的安全分析示例
2.4 架構(gòu)規(guī)范文件
PSA架構(gòu)規(guī)范包括一系列彼此關(guān)聯(lián)的文件,,如下所列:
1. 設(shè)備安全模型 – 基礎(chǔ)的信任模型和模式
2.可信設(shè)備初始化 – 初始安全設(shè)備編程和配置要求
3.可信基礎(chǔ)系統(tǒng)架構(gòu) [TBSA-M] – v8-M的硬件平臺(tái)要求
4.可信啟動(dòng)與固件更新
5.PSA固件框架M [PSA FF] – 受限物聯(lián)網(wǎng)平臺(tái)安全處理環(huán)境(SPE)的固件接口定義
6.PSA可信功能 – SPE內(nèi)標(biāo)準(zhǔn)可信設(shè)備的定義
2.4.1 設(shè)備安全模型
設(shè)備安全模型(DSM)定義了在生態(tài)系統(tǒng)內(nèi)設(shè)計(jì)和部署 PSA兼容可信設(shè)備的總體安全架構(gòu)。它是其他PSA規(guī)范的頂層文件,,為它們規(guī)定了通用語言,、高階魯棒性規(guī)則和模型。
DSM的基礎(chǔ)是威脅模型和安全分析針對使用案例提出的建議,。雖然DSM與使用案例無關(guān),,但其最初側(cè)重于幾個(gè)選定的物聯(lián)網(wǎng)使用案例。
DSM 包括三個(gè)主要方面:
1. 信任根和相關(guān)安全服務(wù)
2. 根秘密及其存儲(chǔ),、保護(hù)和初始化
3. 設(shè)備生命周期及其對信任根的影響
2.4.2 可信設(shè)備初始化
只有在根秘密和設(shè)備固件在安全生產(chǎn)過程的背景下初始化時(shí),,安全和信任模型才有效。
生產(chǎn)過程延伸到設(shè)備管理,,以便向服務(wù)提供商和設(shè)備所有者分配設(shè)備屬性和固件更新等,。
這是一份資料性文件,它指出并討論了對基礎(chǔ)架構(gòu)和通用框架的一般需求,,以促進(jìn)設(shè)備安全架構(gòu)中的這些過程并以及它們對信任根的依賴性,。配置實(shí)際的工廠供應(yīng)和設(shè)備管理架構(gòu)應(yīng)當(dāng)由行業(yè)利益相關(guān)方負(fù)責(zé),或者使用類似 Arm Mbed Cloud 的設(shè)備來完成,。
2.4.3 可信基礎(chǔ)系統(tǒng)架構(gòu)(TBSA)
Armv8-M的Arm可信基礎(chǔ)系統(tǒng)架構(gòu)((TBSA-M)是一系列SoC硬件要求,。它適用于基于 Armv8-M的設(shè)計(jì),有助于研發(fā)更安全的設(shè)備,。TBSA-M文件也能為計(jì)劃使用Armv7-M架構(gòu)實(shí)施安全設(shè)計(jì)的硅芯片制造商提供參考,。
TBSA-M包含圍繞Armv8-M處理單元(PE)進(jìn)行系統(tǒng)設(shè)計(jì)時(shí)適用的最佳實(shí)踐安全原則,。這些原則為設(shè)計(jì)和集成下列植根于硬件的功能特點(diǎn)提供支持:
信任根
受保護(hù)的密鑰庫
可信和不可信軟件組件的隔離
安全的固件更新機(jī)制
生命周期管理機(jī)制和安全的調(diào)試
高熵隨機(jī)數(shù)發(fā)生器;它對可靠的密碼必不可少
密碼編譯加速器,,其作用是為適當(dāng)?shù)陌踩δ鼙3謱?shí)時(shí)功能性
固件框架(PSA-FF)實(shí)現(xiàn)最好能在TBSA-M兼容設(shè)計(jì)的頂層進(jìn)行,,以便實(shí)現(xiàn)安全關(guān)鍵功能性和數(shù)據(jù)與應(yīng)用固件數(shù)據(jù)隔離的安全處理環(huán)境。這樣可以提高設(shè)備的可信度,,即便出現(xiàn)可能被利用的軟件漏洞,。
2.4.4 可信啟動(dòng)與固件更新
可信啟動(dòng)和固件更新規(guī)定了確保MCU啟動(dòng)的完整性所必須滿足的系統(tǒng)和固件技術(shù)要求。規(guī)范包括以下內(nèi)容:
經(jīng)過驗(yàn)證的啟動(dòng)過程以建立安全運(yùn)行時(shí)服務(wù)
安全的固件更新代理
固件更新的認(rèn)證和授權(quán)說明,,包含密碼證書和設(shè)備密鑰
有助于實(shí)現(xiàn)健壯性的建議和最佳實(shí)踐說明
規(guī)范的范圍與A系列客戶端設(shè)備的可信主板引導(dǎo)要求(TBBR)類似,。
2.4.5 固件框架(PSA-FF)
固件框架(FF)基于設(shè)備安全模型的要求,規(guī)定了用于在受限物聯(lián)網(wǎng)設(shè)備中隔離可信功能的標(biāo)準(zhǔn)接口和框架,??蚣芴峁?/p>
為可信和不可信固件描述隔離運(yùn)行環(huán)境(分區(qū))的架構(gòu)
描述各個(gè)分區(qū)的功能和資源的標(biāo)準(zhǔn)模型
用于向其他分區(qū)請求服務(wù)的安全 IPC 接口
描述分區(qū)如何彼此進(jìn)行互動(dòng)的模型,以及硬件和固件框架實(shí)施本身
該規(guī)范能夠?qū)崿F(xiàn)安全固件功能性的開發(fā),,可復(fù)用于符合固件框架實(shí)施的不同設(shè)備,。
圖 3 顯示了這個(gè)框架的概況。
圖 3 – PSA 固件框架概況
2.4.5.1 安全分區(qū)與隔離
平臺(tái)安全架構(gòu)固件框架(PSA-FF)定義了三個(gè)許可的固件運(yùn)行隔離層級,。這樣可以允許在高度受限的設(shè)備中減少隔離,。與此同時(shí),還能在擁有充足的資源的平臺(tái)上增加安全性和魯棒性,,并且為安全功能提供一致的固件接口,。
PSA-FF將系統(tǒng)內(nèi)的執(zhí)行劃分為兩個(gè)分區(qū)——非安全處理環(huán)境(NSPE)和安全處理環(huán)境(SPE)。NSPE包含應(yīng)用固件,、操作系統(tǒng)內(nèi)核和庫,,通常控制著大部分輸入/輸出外圍設(shè)備,。SPE包含安全固件和硬件資源,,與 NSPE固件和非安全硬件資源隔離。
PSA-FF將SPE進(jìn)一步劃分為安全分區(qū)管理器(SPM)和安全分區(qū),。安全分區(qū)為安全功能提供執(zhí)行環(huán)境,。SPM運(yùn)用隔離邏輯來分隔不同的分區(qū),由平臺(tái)硬件使用主側(cè)和/或從側(cè)過濾器執(zhí)行,。例如,,安全屬性單元(SAU)和存儲(chǔ)保護(hù)單元(MPU)可以在新的 Armv8-M平臺(tái)中使用。其他平臺(tái)可以使用其他機(jī)制來提供類似的分區(qū)隔離,。
2.4.5.2 安全I(xiàn)PC
固件框架定義了基于安全會(huì)話的IPC機(jī)制,,可以讓彼此隔離的分區(qū)中的固件進(jìn)行互動(dòng)。具體說來,IPC框架讓一個(gè)分區(qū)內(nèi)的固件可以通過標(biāo)準(zhǔn)接口向另一分區(qū)內(nèi)的固件請求服務(wù),。API要求由分區(qū)之間的框架來復(fù)制消息,,進(jìn)而消除直接共享內(nèi)存帶來的脆弱性風(fēng)險(xiǎn)。
2.4.5.3 安全功能
PSA-FF 將安全性功能顯示為一系列安全功能,。每一項(xiàng)安全功能都是安全分區(qū)中實(shí)施的一系列相關(guān)安全操作,。每一個(gè)安全分區(qū)能夠支持多項(xiàng)安全功能。
不同的芯片合作伙伴可以為標(biāo)準(zhǔn)安全功能(SF)提供他們自己的插件實(shí)現(xiàn),。固件框架通過預(yù)定義的API和調(diào)用語義將SF實(shí)施抽離,。芯片和其他合作伙伴也可以定義他們自己的安全功能實(shí)現(xiàn),以便提供針對平臺(tái)的服務(wù)或更高水平的安全服務(wù),。
有關(guān)固件框架的更多詳情見 PSA 固件框架-M [PSA-FF] 規(guī)范,。
2.4.6 可信功能
有些安全功能提供信任根服務(wù)(例如身份認(rèn)證),或者是信任根的使能(例如加密操作),;這些安全功能被稱為“可信功能”,。可信功能的標(biāo)準(zhǔn)接口將由PSA定義,,例如:
安全認(rèn)證
安全存儲(chǔ)/數(shù)據(jù)封裝
加密操作
RNG 和安全時(shí)間服務(wù)
安全的固件更新
2.5 Trusted Firmware-M(TF-M)參考實(shí)現(xiàn)
Trusted Firmware-M是一個(gè)開源計(jì)劃,,其作用是為基于M系列平臺(tái)的物聯(lián)網(wǎng)設(shè)備提供 PSA 固件規(guī)范的參考實(shí)現(xiàn)。TF-M 將公開托管在 GitHub 上,,與目前針對 Cortex-A 驅(qū)動(dòng)的移動(dòng)和翻蓋設(shè)備的 A 計(jì)劃 Arm Trusted Firmware 類似。其他生態(tài)系統(tǒng)合作伙伴可能提供其他實(shí)現(xiàn),。
TF-M將在 Armv8-M主線(Cortex M33)上處理PSA固件運(yùn)行隔離層級1,,并將為更高層級的隔離類型提供更多支持。其他內(nèi)核將在今后進(jìn)行處理,。
初始版本旨在提供:
SSE-200的受限PSA運(yùn)行隔離層級1的實(shí)施(Arm Musca-A1 測試芯片主板)
操作系統(tǒng)支持
- 初始版本主要針對Mbed操作系統(tǒng)
- RTX 被用于原型創(chuàng)建工作,,發(fā)布時(shí)將提供有限支持
啟動(dòng)加載程序,為安全和非安全鏡像提供認(rèn)證啟動(dòng)
基于cmake和GNU工具鏈的跨平臺(tái)構(gòu)建系統(tǒng)
從一開始就支持的GCC和ARMCLANG編譯器
固件更新例子
2.6 生態(tài)系統(tǒng)使能
下面是開發(fā)中的生態(tài)系統(tǒng)使能支持工具:
Arm Cortex-M原型系統(tǒng)(MPS2和MPS3)以及Arm Musca-A1測試芯片主板,,用于實(shí)現(xiàn)開發(fā)
Trusted Firmware-M:Armv8-M 平臺(tái)安全架構(gòu)的開源參考實(shí)施
Mbed操作系統(tǒng):基于MCU的物聯(lián)網(wǎng)設(shè)備的開源平臺(tái)操作系統(tǒng),,針對所有Arm Cortex-M目標(biāo)提供PSA的優(yōu)化實(shí)施
Arm KEIL開發(fā)系統(tǒng),用于安全和非安全的軟件開發(fā),、調(diào)試和驗(yàn)證
圖 4 – 工具支持
3.安全評估與兼容性
兼容性有兩根軸:
1.功能性
2.魯棒性
功能性兼容指的是硬件和固件規(guī)范得到滿足,,例如使用了正確的硬件組件并實(shí)現(xiàn)了預(yù)期的API功能。僅靠功能性兼容并不能得出滿足設(shè)備總體安全性要求的結(jié)論,,還需要魯棒性這根軸,。
Arm將為功能性硬件要求提供驗(yàn)證套件。Arm也可能為固件規(guī)范提供驗(yàn)證套件,。
威脅模型和安全分析構(gòu)成魯棒性兼容的基礎(chǔ),。Arm正積極與合作伙伴共同確定評估價(jià)值鏈安全魯棒性的最佳方法,從硅芯片制造商到管理設(shè)備的物聯(lián)網(wǎng)云公司,。
不只是Arm的物聯(lián)網(wǎng)安全性產(chǎn)品,,所有根據(jù)PSA開發(fā)的產(chǎn)品也都將受益于Arm技術(shù)的基線安全魯棒性,。
4.總結(jié)
平臺(tái)安全架構(gòu)(PSA)轉(zhuǎn)變了連接設(shè)備的安全經(jīng)濟(jì)學(xué)。
PSA將行業(yè)最佳實(shí)踐匯總成一整套架構(gòu)文件,、安全分析和要求,,并提供開源參考固件實(shí)現(xiàn)。
Arm的持續(xù)投入將在整個(gè)生態(tài)系統(tǒng)內(nèi)實(shí)現(xiàn)解決方案的持續(xù)發(fā)展,、改進(jìn)和采用,。我們將推出多種與PSA協(xié)同的硬件安全解決方案,以提供必要的安全魯棒性,。例如,,PSA將與多種Arm微控制器和系統(tǒng)IP協(xié)同工作,包括 Arm TrustZone CryptoCell,。
通過減少低級別安全碎片,,Arm旨在建立服務(wù)于所有人的安全生態(tài)系統(tǒng),包括芯片合作伙伴,、OEM,、平臺(tái)所有者、服務(wù)提供商,、消費(fèi)者和更廣大的開發(fā)者群體,。我們邀請 Arm 生態(tài)系統(tǒng)在PSA和Trusted Firmware-M的基礎(chǔ)上開展并擴(kuò)大我們的工作。
我們計(jì)劃在2017年第四季度為NDA合作伙伴提供開源計(jì)劃的有限訪問權(quán)限,。全面訪問將在2018年初開放,。