安全之安全(security2)博客目錄導讀
目錄
一、執行隔離
1、安全狀態
2、安全模型
本博客探討?RME 所需的系統能力,以保證 Arm CCA 對于 Realms 的安全性和隔離特性。
一、執行隔離
1、安全狀態
RME 系統支持以下安全狀態:
- 非安全 (Non-secure)
- 安全 (Secure)
- Realm
- Root
術語“requester 請求者”指能夠發起訪問的硬件代理。請求者可以是處理單元(PE)或非處理單元(非 PE)代理。
在 RME 系統中,任何請求者的訪問和任何 PE 執行的指令都與單一的安全狀態相關聯。
ARM架構參考手冊中定義的 Realm 管理擴展功能指定了 PE 執行上下文如何映射到安全狀態。
RME 提供基于硬件的隔離,允許執行上下文在不同的安全狀態下運行并共享系統資源,同時確保:
- 在以下安全狀態下的執行:
- Realm 安全狀態下的執行無法被與非安全安全狀態或安全安全狀態相關聯的代理觀察或修改。
- 安全安全狀態下的執行無法被與非安全安全狀態或 Realm 安全狀態相關聯的代理觀察或修改。
- Root 安全狀態下的執行無法被與任何其他安全狀態相關聯的代理觀察或修改。
- 分配給以下安全狀態的內存:
- Realm 安全狀態下的內存無法被與非安全安全狀態或安全安全狀態相關聯的代理讀取或修改。
- 安全安全狀態下的內存無法被與非安全安全狀態或 Realm 安全狀態相關聯的代理讀取或修改。
- Root 安全狀態下的內存無法被與任何其他安全狀態相關聯的代理讀取或修改。
- 分配給 Realm 安全狀態的可分配設備接口無法被與非安全安全狀態或安全安全狀態相關聯的代理讀取或修改。
- 與 Realm 安全狀態中的 VMID 相關聯的可分配設備接口只能訪問與該 VMID 相關聯的內存,或與非安全安全狀態相關聯的內存。
本規范使用術語 RME 安全保證來描述上述屬性。
RME 安全保證適用于安全生命周期狀態的系統。
2、安全模型
Arm CCA 系統安全域 (System Security Domain,SSD) 包括所有能夠影響 Arm CCA 和 RME 安全保證的硬件代理。例如,隔離硬件和受信任的子系統。
受信任子系統是具有私有資源、配置和可驗證固件的系統功能,例如受信任的系統控制處理器 (SCP)。
監控安全域 (Monitor Security Domain,MSD) 是在根安全狀態 (EL3) 下執行的可更新 PE 固件,負責強制執行 Arm CCA 和 RME 安全保證。
領域管理安全域 (Realm Management Security Domain,RMSD) 是在領域安全狀態 (EL2) 下執行的可更新 PE 固件,負責強制執行領域的 Arm CCA 安全保證。
下圖提供了安全模型的示意圖。