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