用安全計算保護關鍵業務

什麼是安全計算?

Linux 基金會旗下的安全計算聯盟對安全計算下了一個定義:

Confidential Computing protects data in use by performing computation in a hardware-based Trusted Execution Environment. Confidential Computing Consortium

在這個定義中強調了這麼幾點:

1.安全計算保護的是運算過程中的數據安全; 2.安全計算需要藉助硬件的能力。

下面就對這兩點做一個闡述: 在雲計算場景,我們可以把雲計算簡化爲三個部分:數據的傳輸,數據的運算和數據的存儲。

這個三個部分的安全解決方案的完整度是有差別的。在數據的傳輸環節,業界有很完整的安全標準和實現比如 SSL, TLS。在數據存儲環節,密碼學也提供了非常好的解決方案,我們可以將數據用恰當的方式加密以後保存,防止在存儲環節泄密。在數據的運算環節,還沒有和其他兩個環節那樣完整的解決方案。安全計算正是以解決這個問題爲目標的。

安全計算是如何實現的呢?

我們以英特爾的 SGX 技術爲例來看一下具體的技術方案。

英特爾的 SGX 技術是將 CPU 作爲運算的信任起點,在應用程序中構建安全的運算環境(飛地)。從計算機發明的那一天起,我們就假設 CPU 會按照軟件的指令正確地執行,只是沒有強調這一點。在軟件大發展的今天,各種軟件在一臺硬件上協作運行,整個生態越來越複雜,惡意軟件也出現了。爲了防止惡意軟件的破壞,CPU 爲需要保護的應用隔離出一個獨立的飛地環境。飛地外的應用既不能觀察也不能修改飛地中的代碼和數據,從而保證了飛地中的數據安全。CPU 對飛地的保護非常強,即使是擁有高特權的操作系統和虛擬化管理軟件也無法突破這種保護。事實上,不僅僅可以防軟件的攻擊,哪怕是外圍硬件提供者(比如:主板製造者,內存提供者)都無法突破這個保護。

英特爾 SGX 是目前最成熟的安全計算產品,但並不是唯一的安全計算產品。其他硬件廠商如 AMD,ARM,Nvidia 都在推出安全計算產品。所有這些產品都是軟硬件一體的解決方案,總結起來有以下這些特點:

在瞭解了安全計算的概念後,介紹一些安全計算的典型場景:

有了安全計算環境,用戶可以放心地將應用放到共有云計算環境中,計算中用到的數據和計算的結果都可以加密傳輸。這樣可以統一基礎設施的架構,避免複雜的混合雲部署方式。

雲上的數據交易和數據服務也成爲了可能。數據擁有方和算法提供方可以分別提供數據和算法至安全計算平臺完成計算而不用擔心機密泄露的問題。

安全計算也可以促成更多的數據合作。各方數據可以在一個安全的環境中做融合運算,讓數據產生更大的價值。

在邊緣計算場景中,計算節點部署在非常複雜的環境中,機器不受控。安全計算可以有效地保護用戶數據和隱私。

安全計算這麼多的應用場景,爲什麼還沒有看到大規模部署呢?這是因爲安全計算目前還有一個非常大的短板:易用性不強。具體表現爲3點:

**應用分割難:**將一個現有的應用改造爲一個安全計算應用的改造難度很大。需要做代碼分割。

**場景部署難:**安全計算是要依託於硬件的。在實際部署中需要對應用調度系統做改造。

**安全分析難:**一個應用使用了安全計算是不是就一定安全了呢?答案是不確定。這需要對整個應用做非常細緻的安全分析。

針對這些難題,螞蟻集團和阿里巴巴集團的工程師提出了獨到的解決方案。 首先是解決應用分割難的問題。

螞蟻集團開源的 Occlum 項目在飛地中開發了 LibOS 適配層,讓 Linux 下的應用可以無修改地運行在 SGX 環境中,徹底解決了應用分割的問題。Occlum 使用 Rust 語言開發,保證內存了安全性;支持多進程和加密文件系統,應用無需修改。 例如:基於螞蟻集團金融級雲原生框架 SOFABoot 開發的應用可以完全無修改的運行在 Occlum 環境中。

👇網站鏈接🔗: https://github.com/occlum/occlum/tree/master/demos/sofaboot

針對部署難的問題,阿里雲推出了 Inclavare 開源項目。

Inclavare 基於 Occlum,爲用戶提供了安全計算容器。用戶只需將關注的重點放在應用本身即可,Inclavare 會將計算調度至合適的計算節點。 針對安全分析難,螞蟻集團的 MORSE 多方安全計算引擎和 MYTF 區塊鏈計算平臺分別爲不同的計算場景提供瞭解決方案。用戶無需再承擔高昂的安全分析成本。

螞蟻集團在安全計算領域持續投入,用科技的力量來保護數據安全,保護用戶隱私,給用戶提供更安全的服務。螞蟻集團開源了 TEE 安全 LibOS Occlum。 用戶可以在 https://github.com/occlum/occlum 找到所有的實現代碼。用戶既可以審查 Occlum 的源代碼,以確保整體方案的安全性;也可以參考已有的 demo 來學習 Occlum 的使用方法,快速上手安全計算。

本週推薦閱讀

更多文章請掃碼關注“金融級分佈式架構”公衆號

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章