用安全計算保護關鍵業務

什麼是安全計算?

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

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

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

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

下面就對這兩點作一個闡述:
在雲計算場景,咱們能夠把雲計算簡化爲三個部分:數據的傳輸,數據的運算和數據的存儲。安全

這個三個部分的安全解決方案的完整度是有差異的。在數據的傳輸環節,業界有很完整的安全標準和實現好比 SSL, TLS。在數據存儲環節,密碼學也提供了很是好的解決方案,咱們能夠將數據用恰當的方式加密之後保存,防止在存儲環節泄密。在數據的運算環節,尚未和其餘兩個環節那樣完整的解決方案。安全計算正是以解決這個問題爲目標的。架構

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

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

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

英特爾 SGX 是目前最成熟的安全計算產品,但並非惟一的安全計算產品。其餘硬件廠商如 AMD,ARM,Nvidia 都在推出安全計算產品。全部這些產品都是軟硬件一體的解決方案,總結起來有如下這些特色:分佈式

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

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

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

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

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

安全計算這麼多的應用場景,爲何尚未看到大規模部署呢?這是由於安全計算目前還有一個很是大的短板:易用性不強。具體表現爲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 的使用方法,快速上手安全計算。

本週推薦閱讀

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

相關文章
相關標籤/搜索