0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

玩轉機密計算從secGear開始

openEuler ? 來源:openEuler ? 2023-01-13 15:25 ? 次閱讀

隨著網(wǎng)絡與計算業(yè)務的快速發(fā)展,數(shù)據(jù)成為數(shù)字經(jīng)濟的關鍵生產(chǎn)要素,如何高質量挖掘數(shù)據(jù)價值,構建安全、合規(guī)、可信的數(shù)據(jù)流通,成為推動數(shù)字經(jīng)濟健康發(fā)展的關鍵。此外,根據(jù)我國個人信息保護法、歐盟通用數(shù)據(jù)保護條例 GDPR 等的要求可以看出,數(shù)據(jù)隱私監(jiān)管保護的范圍在擴大,保護力度日益增強。因此,對關鍵數(shù)據(jù)和業(yè)務進行安全保護,不僅是技術挑戰(zhàn),也是滿足安全合規(guī)的必要條件。

當前保護數(shù)據(jù)的通行方案通常作用于靜態(tài)存儲或網(wǎng)絡傳輸狀態(tài)的數(shù)據(jù),難以有效保護正在被使用的數(shù)據(jù),因此,隱私計算技術應運而生。

作為隱私計算的重要分支,機密計算是一種利用硬件可信執(zhí)行環(huán)境 (Trusted Execution Environment, TEE) 保護使用中數(shù)據(jù)的技術 [1]。如下圖所示,在非安全世界(Rich Execution Environment, REE)中,基于硬件隔離出的 TEE 環(huán)境就像是一個黑盒子,可防止外部(包括操作系統(tǒng)、特權用戶、惡意程序等)對 TEE 內(nèi)使用中的應用程序和數(shù)據(jù)進行未經(jīng)授權的訪問或篡改,從而實現(xiàn)數(shù)據(jù)在第三方平臺的 “可用而不可見”,消除數(shù)據(jù)上云的安全顧慮,推動數(shù)據(jù)安全流通。

2c672aa6-9297-11ed-bfe3-dac502259ad0.png

機密計算痛點

當前業(yè)界主流處理器/芯片均實現(xiàn)了各自的機密計算技術,例如 ARM TrustZone、CCA,Intel SGX、TDX, AMD SEV 等;此外,基于 PCIe TDISP 特性,GPU、DPU 等芯片也在積極構建機密計算環(huán)境,如 Nvidia H100 GPU,Nvidia Bluefield、AMD smartNIC 系列 DPU 等。綜合來看,各種 TEE 技術的核心要素是提供硬件隔離運行環(huán)境,并依托信任根提供度量、內(nèi)存加密等安全能力。

由于各處理器架構的 TEE 設計思路、實現(xiàn)方式不同,導致各家 SDK 接口迥異、開發(fā)流程復雜,造成開發(fā)機密計算應用開發(fā)難度高、可移植性差、生態(tài)隔離。對于應用開發(fā)者來說,其開發(fā)的安全應用與體系結構強綁定,例如基于 SGX SDK 開發(fā)的應用就很難移植到 ARM TrustZone 上,因為安全 OS SDK 提供的接口和 SGX SDK 存在很大差異。

secGear 機密計算統(tǒng)一開發(fā)框架

綜上可知,業(yè)界機密計算技術種類繁多,SDK 也各不相同,接口復雜,開發(fā)困難,不同 TEE 間應用生態(tài)隔離,給機密計算應用開發(fā)者帶來了較高的開發(fā)、維護成本,影響機密計算生態(tài)的發(fā)展。openEuler secGear 機密計算統(tǒng)一開發(fā)框架,致力于兼容業(yè)界主流 TEE,屏蔽 TEE 差異,對開發(fā)者提供統(tǒng)一、簡易的開發(fā)接口,實現(xiàn)不同架構共源碼,使開發(fā)者聚焦業(yè)務,降低機密計算應用開發(fā)維護成本,打通各 TEE 應用生態(tài),助力機密計算生態(tài)建設。

secGear 從邏輯上分為三層,如下圖所示。

Base Layer:機密計算 SDK 統(tǒng)一層,屏蔽 TEE 及 SDK 差異,實現(xiàn)不同架構共源碼。

Middleware Layer:通用組件層,機密計算軟件貨架,無需從頭造輪子,幫助用戶快速構建機密計算解決方案。

Server Layer:機密計算服務層,提供典型場景機密計算解決方案。

2c849028-9297-11ed-bfe3-dac502259ad0.png

secGear 遵循木蘭寬松許可證(MulanPSL-2.0 License)[2], 開發(fā)者可基于 secGear 貢獻開源中間件或解決方案,也可以基于 secGear 構建商用解決方案。目前除了社區(qū)開源的 MindSpore 縱向聯(lián)邦機密計算解決方案,也不乏基于 secGear 的客戶解決方案,如 GaussDB 全密態(tài)數(shù)據(jù)庫,BJCA 密碼模塊、openLookeng 聯(lián)邦 SQL 等。

典型應用場景

本章節(jié)介紹幾個基于 secGear 的實際業(yè)務場景解決方案,便于大家學習理解、借鑒,進而結合自身業(yè)務構建對應的機密計算解決方案。

BJCA 基于 TEE 的密碼模塊

在政策和業(yè)務的雙驅動下,密碼應用保障基礎設施一直在向虛擬化演進,隨著業(yè)務上云,密碼服務支撐也需要構建全新的密碼交付模式,實現(xiàn)密碼、云服務與業(yè)務應用的融合,因此數(shù)字認證(BJCA)推出基于 TEE 的密碼模塊,數(shù)字認證既可以利用鯤鵬 TEE 環(huán)境構建合規(guī)的密碼計算模塊,支撐密碼云服務平臺,同時也可以基于鯤鵬主機構建 “機密計算平臺”,為云計算、隱私計算、邊緣計算等各類場景提供 “高速泛在、彈性部署、靈活調(diào)度” 的密碼服務支撐?;邛H鵬處理器的內(nèi)生式密碼模塊已經(jīng)成為密碼行業(yè)變革型的創(chuàng)新方案,并作為內(nèi)生可信密碼計算新起點[3]。

2c9d3998-9297-11ed-bfe3-dac502259ad0.png

傳統(tǒng)密碼模塊中算法協(xié)議以及處理的數(shù)據(jù)是隱私數(shù)據(jù),可基于 TEE 保護。如圖所示,基于 secGear 機密計算開發(fā)框架將密碼模塊拆分成兩部分:管理服務、算法協(xié)議。

管理服務:運行在 REE 側,負責對外提供密碼服務,轉發(fā)請求到 TEE 中處理。

算法協(xié)議:運行在 TEE 側,負責用戶數(shù)據(jù)加解密等處理。

由于密碼服務可能存在高并發(fā)、大數(shù)據(jù)請求,此時 REE 與 TEE 存在頻繁交互以及大數(shù)據(jù)拷貝,會導致性能直線下降,針對類似場景可使用 secGear 零切換特性優(yōu)化,減少調(diào)用切換及數(shù)據(jù)拷貝次數(shù),實現(xiàn)性能倍增。

GaussDB 基于 TEE 的全密態(tài)數(shù)據(jù)庫

云數(shù)據(jù)庫儼然已成為數(shù)據(jù)庫業(yè)務未來重要的增長點,絕大多數(shù)的傳統(tǒng)數(shù)據(jù)庫服務廠商正在加速提供更優(yōu)質的云數(shù)據(jù)庫服務。然而云數(shù)據(jù)庫所面臨的風險相較于傳統(tǒng)數(shù)據(jù)庫更復雜多樣,無論是應用程序漏洞、系統(tǒng)配置錯誤,還是惡意管理員都可能對數(shù)據(jù)安全與隱私保護造成巨大風險。

云數(shù)據(jù)庫的部署網(wǎng)絡由 “私有環(huán)境”向“ 開放環(huán)境”轉變,系統(tǒng)運維管理角色被拆分為業(yè)務管理員和運維管理員。業(yè)務管理員擁有業(yè)務管理的權限,屬于企業(yè)業(yè)務方,而運維管理員屬于云服務提供商。數(shù)據(jù)庫運維管理員雖然被定義成系統(tǒng)運維管理,其實際依舊享有對數(shù)據(jù)的完全使用權限,通過運維管理權限或提權來訪問數(shù)據(jù)甚至篡改數(shù)據(jù);再者,由于開放式的環(huán)境和網(wǎng)絡邊界的模糊化,用戶數(shù)據(jù)在整個業(yè)務流程中被更充分的暴露給攻擊者,無論是傳輸、存儲、運維還是運行態(tài),都有可能遭受來自攻擊者的攻擊。因此對于云數(shù)據(jù)庫場景,如何解決第三方可信問題,如何更加可靠的保護數(shù)據(jù)安全相比傳統(tǒng)數(shù)據(jù)庫面臨著更大挑戰(zhàn),其中數(shù)據(jù)安全、隱私不泄露是整個云數(shù)據(jù)庫面臨的首要安全挑戰(zhàn)。

面對上述挑戰(zhàn),基于 TEE 的 GaussDB 全密態(tài)數(shù)據(jù)庫的設計思路是:用戶自己持有數(shù)據(jù)加解密密鑰,數(shù)據(jù)以密文形態(tài)存在于數(shù)據(jù)庫服務側的整個生命周期過程中,并在數(shù)據(jù)庫服務端 TEE 內(nèi)完成查詢運算。

2cbb51da-9297-11ed-bfe3-dac502259ad0.png

如圖所示,全密態(tài)數(shù)據(jù)庫的特點如下:

數(shù)據(jù)文件以密文形式存儲,不存儲密鑰明文信息。

DB 數(shù)據(jù)密鑰保存在客戶端。

客戶端發(fā)起查詢請求時,在服務端 REE 側執(zhí)行密態(tài) SQL 語法得到相關密文記錄,送入 TEE 中。

客戶端通過 secGear 安全通道將 DB 數(shù)據(jù)密鑰加密傳輸?shù)椒斩?TEE 中,在 TEE 中解密得到 DB 數(shù)據(jù)密鑰,用 DB 數(shù)據(jù)密鑰將密文記錄解密得到明文記錄,執(zhí)行 SQL 語句,得到查詢結果,再將 DB 數(shù)據(jù)密鑰加密后的查詢結果發(fā)送給客戶端。

其中步驟 3 在數(shù)據(jù)庫高并發(fā)請求場景下,會頻繁觸發(fā) REE-TEE 之間調(diào)用以及大量的數(shù)據(jù)傳輸,導致性能直線下降,通過 secGear 零切換特性優(yōu)化,減少調(diào)用切換及數(shù)據(jù)拷貝次數(shù),實現(xiàn)性能倍增。

openLooKeng 基于 TEE 的聯(lián)邦 SQL

openLooKeng 聯(lián)邦 SQL 是跨數(shù)據(jù)中心查詢的一種,典型場景如下,有三個數(shù)據(jù)中心:中心數(shù)據(jù)中心 A,邊緣數(shù)據(jù)中心 B 和邊緣數(shù)據(jù)中心 C。openLooKeng 集群部署在三個數(shù)據(jù)中心中,當數(shù)據(jù)中心 A 收到一次跨域查詢請求時,會下發(fā)執(zhí)行計劃到各數(shù)據(jù)中心,在邊緣數(shù)據(jù)中心 B 和 C 的 openLookeng 集群完成計算后,通過網(wǎng)絡將結果傳遞給數(shù)據(jù)中心 A 中的 openLookeng 集群完成聚合計算。在以上方案中,計算結果在不同數(shù)據(jù)中心的 openLookeng 集群之間傳遞,避免了網(wǎng)絡帶寬不足,一定程度上解決了跨域查詢問題。但是計算結果是從原始數(shù)據(jù)計算得到的,可能帶有敏感信息,導致數(shù)據(jù)出域存在一定安全和合規(guī)風險。怎么保護聚合計算過程中邊緣數(shù)據(jù)中心的計算結果,在中心數(shù)據(jù)中心實現(xiàn) “可用而不可見” 呢?這里我們一起看看與機密計算結合的解決方案。其基本思想是:數(shù)據(jù)中心 A 中,openLookeng 集群將聚合計算邏輯及算子拆分出獨立的模塊,部署到鯤鵬 TEE 環(huán)境上中;其他邊緣數(shù)據(jù)中心的計算結果通過安全通道傳輸?shù)綌?shù)據(jù)中心 A 的 TEE 中;所有數(shù)據(jù)最終在 TEE 中完成聚合計算,從而保護聚合計算過程中邊緣數(shù)據(jù)中心的計算結果不會被數(shù)據(jù)中心 A 上 REE 側特權程序或惡意程序獲取、篡改。

2cd97764-9297-11ed-bfe3-dac502259ad0.png

如圖所示,具體查詢流程如下:

用戶在數(shù)據(jù)中心 A 下發(fā)跨域查詢請求,openLooKeng 的 Coordinator 根據(jù)查詢 SQL 及數(shù)據(jù)源分布,拆解下發(fā)執(zhí)行計劃到本地工作節(jié)點以及邊緣數(shù)據(jù)中心的 coordinator,邊緣數(shù)據(jù)中心的 coordinator 再下發(fā)到本地工作節(jié)點。

各工作節(jié)點執(zhí)行計劃,得到本地計算結果。

邊緣數(shù)據(jù)中心通過 secGear 安全通道將本地計算結果加密后經(jīng)網(wǎng)絡傳到數(shù)據(jù)中心 A 的 REE 側,并中轉到 TEE 中,在 TEE 中解密計算結果。

數(shù)據(jù)中心 A 在 TEE 中對數(shù)據(jù)中心 A、B、C 的計算結果執(zhí)行聚合計算,得到最終執(zhí)行結果,并返回給用戶。

其中步驟 4,在存在大量查詢請求時,會頻繁觸發(fā) REE-TEE 調(diào)用,并且有大量數(shù)據(jù)的拷貝,導致性能直線下降。通過 secGear 零切換特性優(yōu)化,減少調(diào)用切換及數(shù)據(jù)拷貝次數(shù),實現(xiàn)性能倍增。

MindSpore 基于 TEE 的縱向聯(lián)邦特征保護

縱向聯(lián)邦學習是聯(lián)邦學習的一個重要分支,當不同的參與方擁有來自相同一批用戶但屬性不同的數(shù)據(jù)時,可以利用縱向聯(lián)邦學習進行協(xié)同訓練,方案流程如圖所示。

2cf227a0-9297-11ed-bfe3-dac502259ad0.png

擁有屬性的參與方(Follower 方)都會持有一個底層網(wǎng)絡,參與方屬性輸入底層網(wǎng)絡得到中間結果,再將中間結果發(fā)送給擁有標簽的參與方(Leader 方)。

Leader 方使用各參與方的中間結果和標簽來訓練頂層網(wǎng)絡,再將計算得到的梯度回傳給各參與方來訓練底層網(wǎng)絡。

此方案避免了 Follower 方直接上傳自己的原始數(shù)據(jù),保護原始數(shù)據(jù)不出域,一定程度上保護了隱私安全。然而,攻擊者還是有可能從上傳的中間結果反推出用戶信息,導致存在隱私泄露風險。因此我們需要對訓練時出域的中間結果和梯度提供更強的隱私保護方案,來滿足安全合規(guī)要求。

借鑒之前三個場景的安全風險及解決方案可以發(fā)現(xiàn),想要達到中間結果出域后的 “可用不可見”,正是機密計算的 “拿手好戲”?;?TEE 的縱向聯(lián)邦特征保護方案如圖所示[4]。

2d091438-9297-11ed-bfe3-dac502259ad0.png

Follower 方的中間結果通過 secGear 的安全通道加密后傳輸?shù)?Leader 方,Leader 方非安全世界接收到加密的中間結果后中轉到安全世界,在安全世界通過安全通道接口解密。

在安全世界中將中間結果輸入到聯(lián)邦拆分層計算模塊,完成結果計算。

以上過程中 Follower 方的中間結果明文只存在于安全世界內(nèi)存中,對 Leader 方來說就是黑盒子,無法訪問。

展望

2023 年 openEuler secGear 將持續(xù)演進,并發(fā)布支持零切換、安全通道、遠程證明等功能的穩(wěn)定版本,可用于構建商用的端到端機密計算解決方案。同時,openEuler 也會持續(xù)構建通用的中間件或服務,也期待您的參與貢獻,共同推動機密計算應用生態(tài)的發(fā)展。secGear 將一如既往地持續(xù)關注 AMD SEV、Intel TDX、ARM CCA 等技術,為打造安全易用的機密計算統(tǒng)一開發(fā)框架而不懈努力。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:玩轉機密計算從 secGear 開始

文章出處:【微信號:openEulercommunity,微信公眾號:openEuler】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    [迅為RK3568開發(fā)板]非科班也能玩轉Android應用,體驗QT跨平臺能力

    [迅為RK3568開發(fā)板]非科班也能玩轉Android應用,體驗QT跨平臺能力
    的頭像 發(fā)表于 12-18 16:41 ?300次閱讀
    [迅為RK3568開發(fā)板]非科班也能<b class='flag-5'>玩轉</b>Android應用,體驗QT跨平臺能力

    玩轉RK3588開發(fā)板基于connector-split 功能實現(xiàn)多屏聯(lián)動

    玩轉RK3588開發(fā)板基于connector-split 功能實現(xiàn)多屏聯(lián)動
    的頭像 發(fā)表于 12-02 16:05 ?301次閱讀
    <b class='flag-5'>玩轉</b>RK3588開發(fā)板基于connector-split 功能實現(xiàn)多屏聯(lián)動

    玩轉FPGA必備的基礎知識

    FPGA已成為現(xiàn)今的技術熱點之一,無論學生還是工程師都希望跨進FPGA的大門。那么我們要玩轉FPGA必須具備哪些基礎知識呢?下面我們慢慢道來。 (一) 要了解什么是FPGA 既 然要玩轉FPGA
    的頭像 發(fā)表于 11-28 10:24 ?316次閱讀

    玩轉TI MSP430 LaunchPad

    電子發(fā)燒友網(wǎng)站提供《玩轉TI MSP430 LaunchPad.pdf》資料免費下載
    發(fā)表于 08-30 10:51 ?0次下載
    <b class='flag-5'>玩轉</b>TI MSP430 LaunchPad

    深圳特信電子 車載車庫GPS信號屏蔽器:安全出行,選擇開始

    深圳特信電子|車載車庫GPS信號屏蔽器:安全出行,選擇開始
    的頭像 發(fā)表于 08-23 09:10 ?346次閱讀

    玩轉EEPROM——全面指南

    玩轉EEPROM——全面指南 EEPROM(電可擦除可編程只讀存儲器)是一種能夠在斷電后保存數(shù)據(jù)的存儲器,廣泛應用于存儲配置參數(shù)和少量數(shù)據(jù)的場景。本文將帶您深入了解EEPROM的基礎知識、常見操作
    的頭像 發(fā)表于 07-01 09:36 ?2577次閱讀
    <b class='flag-5'>玩轉</b>EEPROM——全面指南

    特斯拉起訴前供應商:干電極電池技術商業(yè)機密泄露風波

    近日,電動汽車巨頭特斯拉與其前供應商馬修斯國際公司(Matthews International)之間爆發(fā)了一場關于商業(yè)機密泄露的訴訟戰(zhàn)。特斯拉在美國加利福尼亞州北區(qū)地方法院正式起訴馬修斯公司,指控
    的頭像 發(fā)表于 06-20 10:36 ?1752次閱讀

    高性能計算的原理與實踐:基本概念到架構解析

    。從那時起,高性能計算開始了它的發(fā)展歷程,經(jīng)歷了多個階段和變革,如馮·諾依曼結構、并行處理器、超級計算機、集群系統(tǒng)、云計算平臺等。目標:解決一些復雜的科學和工程問題
    的頭像 發(fā)表于 05-11 08:27 ?502次閱讀
    高性能<b class='flag-5'>計算</b>的原理與實踐:<b class='flag-5'>從</b>基本概念到架構解析

    天線設計攻略簡要概述 帶你玩轉PCB和WIFI

    給大家分享干貨啦!天線設計全攻略,帶你玩轉PCB和WIFI
    的頭像 發(fā)表于 05-08 14:42 ?1528次閱讀
    天線設計攻略簡要概述 帶你<b class='flag-5'>玩轉</b>PCB和WIFI

    PGX-MINI 4K 入門哪里開始

    20PIN 擴展 IO、數(shù)碼管、按鍵、led 燈等硬件資源,為用戶提供基本的開發(fā)環(huán)境。 上個月打卡應該是有這開發(fā)板了,請問入門得如里開始?
    發(fā)表于 04-14 07:02

    鯤鵬芯片引領下的通用機密計算平臺技術解析

    可信計算,是一項由可信計算組(可信計算集群)推動和開發(fā)的技術,包括5大核心技術概念:認證密鑰、安全輸入輸出、內(nèi)存加密/受保護執(zhí)行、封裝存儲、遠程證明??尚?b class='flag-5'>計算更多地
    的頭像 發(fā)表于 04-08 10:19 ?647次閱讀
    鯤鵬芯片引領下的通用<b class='flag-5'>機密</b><b class='flag-5'>計算</b>平臺技術解析

    老板角度來解讀工廠物料流轉機器人

    老板角度來解讀工廠物料流轉機器人傳統(tǒng)的AGV主要是重載/大規(guī)格且針對大型/超大型具有規(guī)范化管理能力(已使用ERP系統(tǒng))的工廠用于物料高效流轉轉。其優(yōu)勢就是多臺AGV同時使用,具有調(diào)度控制功能且物料
    的頭像 發(fā)表于 03-30 08:13 ?436次閱讀
    <b class='flag-5'>從</b>老板角度來解讀工廠物料流<b class='flag-5'>轉機</b>器人

    Arm Neoverse CSS V3 助力云計算實現(xiàn) TCO 優(yōu)化的機密計算

    Arm 基礎設施事業(yè)部高級產(chǎn)品經(jīng)理 Mohit Taneja Arm 基礎設施事業(yè)部產(chǎn)品總監(jiān) Saptarshi Mondal ? 實現(xiàn)高性能定制芯片 ? Arm Neoverse 旨在為云到邊緣
    發(fā)表于 03-26 16:37 ?370次閱讀
    Arm Neoverse CSS V3 助力云<b class='flag-5'>計算</b>實現(xiàn) TCO 優(yōu)化的<b class='flag-5'>機密</b><b class='flag-5'>計算</b>

    Arm Neoverse S3 系統(tǒng) IP 為打造機密計算和多芯粒基礎設施 SoC 夯實根基

    )、邊緣和顯示處理單元,是新一代基礎設施系統(tǒng)級芯片 (SoC) 的理想技術根基。Neoverse S3 設計實現(xiàn)了芯粒 (Chiplet) 與機密計算 (Confidential Compute) 等
    發(fā)表于 03-26 16:33 ?777次閱讀
    Arm Neoverse S3 系統(tǒng) IP 為打造<b class='flag-5'>機密</b><b class='flag-5'>計算</b>和多芯?;A設施 SoC 夯實根基

    Neoverse CSS V3助力云計算實現(xiàn)TCO優(yōu)化的機密計算

    Arm Neoverse 旨在為云到邊緣的全場景基礎設施用例提供高性能和出色能效。針對需要更高性能的工作負載和用例,Arm 推出了 Neoverse V 系列。
    的頭像 發(fā)表于 03-14 12:13 ?532次閱讀
    Neoverse CSS V3助力云<b class='flag-5'>計算</b>實現(xiàn)TCO優(yōu)化的<b class='flag-5'>機密</b><b class='flag-5'>計算</b>