在上篇《“三權分立”模型的概述》中我們對三權分立模型做了概述。角色模型定義了實作SoP的三個角色;協作模型指定三個角色如何協作實作雲服務認證;限制模型執行三個角色間的限制條件以及同一角色執行方之間的限制條件。
圖1描述了SoP的角色模型。CSE作為雲服務執行機構,執行符合客戶要求的雲服務;TER作為信任證據報告機構,負責檢查CSE執行的雲服務行為;SPD作為軟體屬性定義器,負責定義雲服務每個軟體元件屬性。在角色模型中,CSE的權力被TER和SPD所限制。
圖1 角色模型
CSE 可以了解為“濃縮版”雲服務提供商,它唯一的職責便是執行雲服務。使用者與CSE達成服務等級協定SLA,表明他們所購買的能夠支援其應用程式的雲服務的性能要求。CSE利用分層軟體元件來建構雲服務,是以,雲服務的屬性是所有軟體元件屬性的集合。CSE負責維護每個雲服務建構中的細節以及支援雲應用程式。此外,由TER和SPD分别執行檢查權和定義權,使用者由此來确定哪些雲服務滿足了他們的應用程式的需求,以及這些服務是否具有SLA所需的屬性。
TER實際上是第三方認證機構,利用可信計算技術對信任證據進行報告,以此來驗證雲服務的行為。需要CSE将其雲基礎設施與可信計算設施內建,并允許TER在雲中安裝“檢查人員”。“檢查人員”收集防篡改的信任證據,用來識别參與每個雲應用程式的雲服務,每個雲服務都由證明其軟體元件真實結構的數字摘要表示。是以,TER獲得由可信硬體産生的一系列摘要值,但是TER需要來自CSE和SPD的資訊才能解釋這些值。
SPD能夠定義軟體元件屬性。一般來說,SPD檢查雲服務軟體元件的實作,并根據某些評估标準,通過在雲中安裝其“檢查人員”來驗證每個元件的屬性。“檢查人員”作為轉換器,将軟體元件的實作檔案(二進制或腳本代碼)或配置檔案的加密散列值映射到屬性,但是,SPD需要從CSE和TER擷取所需資訊,才能夠确定雲服務的軟體組成和服務于目标應用程式的雲服務集。
綜上,角色模型的設計方式是,每個角色都擁有一段關鍵資訊,用來證明雲服務的可靠性,但是需要從其它角色那裡獲得關鍵資訊,否則無法獨立進行解釋,是以,在未被識别的情況下,篡改資訊的可能性被降到最低。
将SoP類比于政治哲學中的行政-立法-司法模式:SPD相當于立法機構,定義了應該做些什麼來達到某種結果;CSE是執行人員,來執行滿足協定所需的操作;TER作為司法機構,負責檢查CSE并決定已經做了什麼。
由于人們無法有效證明自身的可信賴性,是以,将TER和SPD從最初的雲服務提供商中分離出來,便可以做出公正的判斷。同時,SPD和TER從單一的可信賴第三方中将職責進一步分離出來,防止其獲得過多的權力。這種明确的權力分離在每個角色間實施有效的限制,進而有助于實作權力的平衡。