打開鏈接即可點亮社區Star,照亮技術的前進之路。
Github 地址:https://github.com/secretflow/trustflow/
什麼是TrustFlow
TrustFlow是一種基於可信執行環境 (TEE) 的零信任計算系統。TrustFlow 的名稱來源於可信執行環境 (TEE) 和秘密流 (Secret Flow) 的融合。
TrustFlow 利用可信執行環境技術,構建安全隔離的環境,從而保護敏感數據。TrustFlow 注重數據的機密性、完整性和可用性,提供強大的數據存儲和處理能力。
TrustFlow 通過採用加密技術和利用受控受限環境,確保數據免受未經授權的訪問。它整合了一系列安全措施,例如遠程身份驗證、計算隔離、授權控制和審計機制,從而提供全面的數據保護。端到端加密的實施增強了其零信任安全特性,使加密機制得以驗證,並將數據訪問權限限制在絕對必要的最低限度。
除了強大的安全特性外,TrustFlow 還提供多種數據處理功能,包括數據預處理、傳統機器學習、深度學習、大型語言建模和數據分析。這些功能使組織能夠在保護隱私的同時,最大限度地發揮數據的價值。
TrustFlow 在涉及敏感數據安全存儲、處理或共享的場景中尤為重要,因為它能有效降低數據泄露和未經授權使用帶來的風險。其全面的安全措施和強大的數據處理能力使其成為尋求保護數據並充分發揮其潛力的組織的可靠解決方案。
TrustFlow原理
TrustFlow的核心原理如下圖所示。主要流程描述如下。
- 數據持有方(圖中以alice和bob為例)對CapsuleManager(運行在TEE中)進行遠程認證,確認CapsuleManager被正確部署在TEE環境中,且代碼未被篡改。CapsuleManager的公鑰會隨着遠程認證報告一起返回給數據持有方。
- 數據持有方生成數據加密密鑰,對數據進行加密,並且使用CapsuleManager的公鑰對加密密鑰進行加密。
- 數據持有方根據數據使用需求,生成授權策略,詳見授權策略,策略文件使用持有方的私鑰進行簽名。
- 數據持有方把加密後的數據密鑰和簽名後的授權策略文件發送給CapsuleManager。
- 數據持有方把加密後的數據發送給數據加工方(提供TEE計算資源)。
-
數據加工方啓動可信APP(運行在TEE中),可信APP從CapsuleManager請求獲取數據密鑰。CapsuleManager會進行以下驗證,驗證通過後才會把數據密鑰發送給可信APP,發送時使用可信APP的公鑰加密以確保安全。
(1) 對可信APP進行遠程認證,確認可信APP運行在TEE環境中,且代碼未被篡改。
(2) 根據數據持有方設置的策略,檢查可信APP是否在授權列表中。
(3) 根據數據持有方設置的策略,檢查計算參與方是否在授權列表中。比如圖中carol執行可信APP使用了alice和bob的數據,僅當alice和bob的策略都允許carol執行計算才會通過。
(4) 根據數據持有方的策略進行其他檢查(取決於策略的具體設置)。
- 可信APP使用私鑰解密得到數據加密密鑰,繼而解密得到明文數據,並按照預設的計算邏輯對數據進行計算。