<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    可信執行環境之AMD內存加密技術概述

    VSole2022-12-20 09:53:24

    一.  引言

    可信執行環境(Trusted Execution Environment,下稱TEE)是目前主流隱私計算技術之一,其通過軟硬件方法在中央處理器中構建一個安全的區域,保證其內部加載的程序和數據在機密性和完整性上得到保護[1]。基于硬件的TEE使用硬件支持的技術為代碼的執行和環境中數據的保護提供了更好的安全性保證。目前主流TEE方案有x86架構的Intel SGX技術、Intel TDX技術、AMD SEV技術及ARM架構的TrustZone技術等[2]。

    本文將簡單介紹包含AMD SEV所采用的內存加密技術[3],包含安全內存加密(Secure Memory Encryption, SME)和安全加密虛擬化(Secure Encrypted Virtualization, SEV)兩個部分。

    二. 安全內存加密(SME)

    簡單來說,SME主要通過一個加密引擎對進出內存的數據進行加解密來實現。AMD在其芯片中配有內存控制器,控制器內包含高性能的AES加解密引擎。如圖1所示,向內存中寫入數據時,該引擎執行加密,而在從內存中讀取數據時,該引擎執行解密。AES所使用的密鑰會在每次系統重置時隨機生成,存儲在專用的硬件寄存器中并由AMD安全處理器(AMD-SP)進行管理,不會被CPU上的任何軟件所訪問也不會暴露在CPU芯片之外。

    圖1 內存加解密示意圖

    內存頁加密的控制是由操作系統或虛擬機管理器的負責頁表管理的軟件進行控制。其使用物理地址中的第47位,也稱C-bit來標記是否加密該頁。如圖2所示,當C-bit置為1時,表示應加密該頁,則對該內存的訪問由AES引擎自動進行加密與解密。反之則不進行加解密。

    圖2 加解密控制示意圖

    對于SME的使用,可分為全內存加密與部分內存加密兩種。對于全內存加密,即設置所有內存的頁表項C-bit為1,便可實現全內存加密,此時可以防止攻擊者直接拿走內存模塊后提取其內容,同時也可以防止冷啟動、內存接口窺探等攻擊。對于部分內存加密,其可以選擇只加密部分內存區域而不是全部,可以只對敏感數據提供加密保護,相比于全內存加密而言靈活性更高,并且可以為加密與非加密的工作負載提供隔離,降低性能影響。

    此外,針對操作系統或虛擬機管理器不支持的情況,SME還支持一種特殊的更簡單的模式Transparent SME(TSME)。在此模式下,無論C-bit如何設置,所有內存都是加密的。但是在使用TSME模式時,其他內存加密特性均不可用。

    以上便是對安全內存加密技術原理的簡單介紹,下面我們將重點介紹安全加密虛擬化技術。

    三. 安全加密虛擬化(SEV)

    3.1  

    技術架構

    SEV是AMD-V技術的擴展,其支持使用一個虛擬機管理器控制并運行多臺虛擬機。SEV硬件通過ASID標記虛擬機的代碼與數據。在虛擬機的整個運行周期中,ASID在內存中保持不變,保證了虛擬機數據能被正確識別并且不會被系統中其他軟件訪問。當數據寫入或讀出內存時,則由AES加密引擎使用ASID所關聯的密鑰對數據進行加解密。如圖3所示,每個虛擬機都通過ASID僅與自己的加密密鑰相關聯,其他虛擬機或虛擬機管理器只能訪問加密后的數據,使得虛擬機之間、虛擬機與虛擬機管理器之間具有強隔離性。

    圖3 SEV架構

    3.2  

    內存加密

    與SME一樣,SEV也是通過標記C-bit來控制頁表是否被加密。但在SEV中,虛擬機可以選擇其想要私有的數據內存頁并通過標準CPU頁表完成。對于虛擬機想要保密的內存數據,使用虛擬機的密鑰進行加密;而對于與其他虛擬機或虛擬機控制器的共享內存中的共享數據,則使用虛擬機管理器的密鑰加密。此時SEV虛擬機通過共享內存進行通信,而將其他內存使用密鑰進行加密,保障其機密性。

    3.3  

    密鑰管理

    從上面的介紹中可以看出,SEV的安全性依賴于密鑰的安全性,若密鑰泄露則虛擬機中的加密數據不再安全。為保護密鑰安全,AMD-SP中運行的SEV固件提供了一個安全的密鑰管理接口來實現。虛擬機管理器使用這個接口來啟動虛擬機,并執行正常的虛擬機活動。

    為保護虛擬機的安全性,SEV固件需要保證平臺的真實性、虛擬機啟動的認證和虛擬機數據的保密性。對于平臺的認證,可通過其身份密鑰來證明。該證明由AMD和平臺所有者共同簽署。啟動認證則是向虛擬機所有者證明啟動過程時安全的,SEV固件向虛擬機所有者提供與SEV相關的虛擬機狀態的簽名,以驗證虛擬機是否處于預期狀態。詳細認證過程如圖4所示,用戶向云系統提供虛擬機鏡像,SEV固件啟動虛擬機,并返回固件、內核等的度量值。用戶驗證度量正確后,向虛擬機提供機密信息來允許虛擬機繼續啟動。

    圖4 認證過程示例

    虛擬機的機密性則是通過內存加密密鑰的機密性來保證,SEV密鑰管理接口不允許內存加密密鑰以及其他任何SEV相關狀態在未正確認證的情況下從固件中導出,可以防止虛擬機管理器獲取密鑰并竊取虛擬機中的數據。

    四. SEV應用場景

    4.1  

    云上應用場景

    隨著云計算的發展,各行各業對云的使用率不斷提高,對云的需求不斷增加。然而云基礎設施或人員并不總是可信的,多個用戶之間的共享硬件同樣可能會帶來安全問題。而使用SEV則會為云上虛擬機提供更好的安全隔離,且加密內存可以防止云服務商中的惡意分子竊取數據。

    4.2 

     安全沙盒

    SEV是圍繞安全沙盒環境的理念構建的,沙盒像虛擬機一樣擁有自己的磁盤和操作系統,在沙盒內運行的軟件不受系統上其他軟件。因此SEV可以用于創建安全的沙盒執行環境,目前比較典型的應用便是將SEV與Kata容器相結合成為機密容器。由于Kata是通過虛擬化技術實現輕量級沙盒為容器提供隔離性,將其沙盒與SEV相結合便可使容器運行在TEE中,為容器運行提供更高的安全性。

    五. 總結

    SEV代表了一種新的虛擬化安全范例,與傳統計算系統相比,不同級別上執行的代碼是隔離的,任何一方都不能訪問另一方的資源,為低權限代碼提供了安全性。加密虛擬機不僅可以讓虛擬機免受物理威脅,還可以免受其他虛擬機甚至是虛擬機管理器本身,適用于不需要完全信任主機的虛擬機管理器和管理員場景。未來我們將繼續關注相關技術的研究,我們將在下一篇介紹其他TEE方案。

    虛擬機密鑰管理
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    虛擬機管理器使用這個接口來啟動虛擬機,并執行正常的虛擬機活動。該證明由AMD和平臺所有者共同簽署。啟動認證則是向虛擬機所有者證明啟動過程時安全的,SEV固件向虛擬機所有者提供與SEV相關的虛擬機狀態的簽名,以驗證虛擬機是否處于預期狀態。因此SEV可以用于創建安全的沙盒執行環境,目前比較典型的應用便是將SEV與Kata容器相結合成為機密容器。
    隨著云計算的不斷普及,云平臺安全問題日益凸顯。云平臺資源共享、邊界消失、動態變化等特點,使得傳統基于邊界的旁路式、外掛式防御手段無法有效應對云內安全威脅。因此,通過將安全機制與云平臺融合設計,實現了對云平臺內部威脅和攻擊的可視、可控、可防,確保安全機制的不可繞過和性能開銷最小。
    作為容器的最緊密聯系者,鏡像是容器的最基礎的載體,它的安全性對容器的安全影響極大。鏡像在轉移、存儲以及使用的過程中,有可能被篡改。通過漏洞掃描發現漏洞,提前預防,達到安全控制,必要時應對鏡像進行簽名,以保障鏡像的發布安全。應對鏡像進行簽名驗簽操作,禁止未簽名的或者簽名失敗的鏡像上線。
    云計算已發展成為大數據應用、跨平臺應用的主要解決方案,而虛擬化、大規模、開放性等特征,帶來了更多安全威脅和挑戰,通過分析云計算安全防御模型架構,分別對云計算安全的技術特征、運行特征、保障模式等方面進行了研究,提出了云計算安全能力軟件定義、保障服務化、服務智能化、防御動態化等關鍵技術,支撐云安全防護靈活部署、高效保障、快速響應,提升云計算環境多樣化安全需求的響應能力,以及強對抗環境中云計算持續服務能
    沒有云加密,就沒有云計算,因為數據丟失的風險太高—磁盤錯位、低強度密碼、網絡窺探或盜竊都會導致數據丟失。
    可以認為IAM分成兩類,一個是AWS提供的IAM,這是一個完整的身份管理系統,但AWS只提供了系統,基于該系統的配置及信息維護,由客戶完全負責。AWS 提供了虛擬網絡及其之上的VPC,子網,ACL,安全組等,客戶需要準確設計配置自己的網絡,以確保正確的隔離和防護。用戶控制權限的修改通常由特權用戶或者管理員組實現。
    多種形式和生命周期的云工作負載會長期共存并共同演進,因此需要解決好對每類負載做好安全保護。云原生安全與過去邊界原生安全的差異點在于,在云應用的全生命周期階段將安全內嵌進來,而不是過去外掛式的干預措施來保障開發、分發、部署和運行時的安全。最后,需要云業務系統持續安全運行,實現云原生安全管理和響應閉環。云原生安全是內生式安全,通過云平臺與生俱來的安全特性來保障安全,驅動云平臺提供商提供更安全的云服務。
    今年召開的“2022可信云大會”上,中國信通院對云安全全景圖進行全新升級,正式發布“云安全全景圖2.0”。中國信通院云大所開源和軟件安全部副主任孔松對新版云安全全景圖進行全面解讀。
    安全性是霧計算部署實施過程中的關鍵問題。系統必須有一個共同的安全基線,確保基本的互操作性和安全保護。開放霧節點安全架構有許多連接各層并提供系統服務的函數,這些函數可以創建由受信任組件組成的安全信任鏈。RTIC僅用于檢查虛擬機。當這個問題有一個更成熟的解決方案時,霧節點應借助RTIC方法保護節點免受危害。應使用從霧節點中安裝的硬件信任根派生的安全憑證實現強認證和不可否認服務。
    在數字網絡逐步成為控制世界的大腦,成為物理世界靈魂的時代,數字網絡世界的安全就變得尤為重要。密碼技術,作為數字網絡世界最基礎最核心的安全技術,越來越成為世界各國競爭的重要資源。 本文從多個角度觀察我國密碼技術發展的現狀;研究數字網絡高速發展的新形勢對密碼技術的需求;探討密碼技術發展的方向,研究白盒、密鑰容忍安全和零信任技術背后的意義。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类