0
將最珍貴、最值錢的東西用什么鎖住,是我們不知道從哪一輩祖先那里習得的行為,當然,也許是從鎖的誕生開始。

【 圖片來源:搜狐 所有者:搜狐 】
現(xiàn)在,世面上的鎖越來越高級和復雜,但是,我們也遇到了更難保存和保密的財富——數(shù)據(jù)。
給數(shù)據(jù)上鎖可能是更難的事情:數(shù)據(jù)跟普通的物品最大的不同是,它在被人使用的過程中有可能很容易就被復制,而它的“分身”與正主可以毫無分別,只要你想。

【 圖片來源:百度百科 所有者:百度百科 】
后來,針對數(shù)據(jù)隱私的保護,讓數(shù)據(jù)在使用的過程中依然能以“上鎖”的狀態(tài)保持“隱秘”,出現(xiàn)了可信硬件和密碼學兩個流派。
硬件方面主要是可信執(zhí)行環(huán)境(TEE),而密碼學方面有同態(tài)加密、安全多方計算和零知識證明。由于很多原因,MPC、同態(tài)加密等密碼學技術(shù)手段尚未取得重大突破,而基于硬件的方案開始有了一些不錯的成果。
在可信硬件派中,有一條路徑在我國被一些大型互聯(lián)網(wǎng)企業(yè)看中,它就是英特爾開發(fā)的新處理器技術(shù) SGX 。
SGX 的思路是,在計算平臺上提供一個可信的空間,保障用戶關(guān)鍵代碼和數(shù)據(jù)的機密性和完整性。SGX 的保護方式并不是識別和隔離平臺上的所有惡意軟件,而是將合法軟件的安全操作封裝在一個 enclave中,保護其不受惡意軟件的攻擊。
“enclave”翻譯成中文就是“飛地”,是一種人文地理概念,意指在某個地理區(qū)劃境內(nèi)有一塊隸屬于他地的區(qū)域。
所以,在這個特殊的“國中之國”中,執(zhí)行 SGX 的權(quán)限非常高,特權(quán)或者非特權(quán)的軟件都無法訪問 enclave。一旦軟件和數(shù)據(jù)位于 enclave 中,即便操作系統(tǒng)管理員和 VMM(Hypervisor)也無法影響 enclave 里面的代碼和數(shù)據(jù)。
能夠“號令”enclave 的只有 CPU 和它自己。
把大象裝進一個冰箱需要三步,讓數(shù)據(jù)在小黑盒里默默地發(fā)生一切也只要三步:
1.把應(yīng)用程序分為兩部分:安全應(yīng)用程序和非安全應(yīng)用程序;
2.將合法軟件的安全操作封裝在一個 enclave 中;
3.當調(diào)用 enclave 函數(shù)時,只有 enclave 內(nèi)部的代碼才能查看其數(shù)據(jù),并始終拒絕外部訪問;當調(diào)用結(jié)束時,enclave 的數(shù)據(jù)會留在受保護的內(nèi)存中。
另外,一個 CPU 中可以存在多個“飛地”,大家互不干擾,同時進行自己秘密的操作。

【 圖片來源:嘶吼 所有者:嘶吼 】
英特爾是在 2004 年推出這項技術(shù)的。那會,英特爾內(nèi)部有一個叫做技術(shù)戰(zhàn)略長期布局的計劃,這個計劃的目的就是讓公司的技術(shù)人員大開腦洞,大家把各自的腦洞項目拿來比一比,最終的勝利者就可以當面跟 CEO 嘚瑟一下自己的成果,SGX 就是 2004 年的獲獎項目。
但是,雷鋒網(wǎng)猜想,當時英特爾內(nèi)部可能都沒想到,作為項目成果的 SGX 會在數(shù)據(jù)加密上發(fā)揮這么大的功用。畢竟,亞馬遜的一幫人在那幾年還在瘋狂捯飭 AWS。
在大家看來,傳統(tǒng)機房不就可以了嗎,還要啥自行車。也許,SGX 可能就能以處理器或者服務(wù)器的功能產(chǎn)出一下了吧。
沒人想到,有一天,一個叫“云”的東西引發(fā)的熱潮會讓 SGX 成為探索者手里的“安全指南針”。到了云上,安全的邊界變成了一個很難把控的東西,雖然數(shù)據(jù)存儲、數(shù)據(jù)傳輸時加密問題容易解,但是數(shù)據(jù)運行時加密依然很難。
這時,一個關(guān)鍵的轉(zhuǎn)折出現(xiàn)了。
2016 年,一個叫李曉寧的人和阿里云的肖力聊了聊。
李曉寧在英特爾全球安全實驗室工作了十幾年。雖然李曉寧當時并沒有直接負責 SGX 技術(shù)的應(yīng)用規(guī)劃,但是已經(jīng)在思考硬件安全和云計算的結(jié)合。
彼時,阿里云為了做安全,也是蠻拼的。他們做了節(jié)點傳輸中對通信信道的安全,也就是保證數(shù)據(jù)在傳輸中是安全的。在這個基礎(chǔ)上,他們又做了傳統(tǒng)存儲加密,所有數(shù)據(jù)在云上存儲時也是安全的。不過,對于數(shù)據(jù)運行時如何既加密,又能用,這個東西是沒有的。
是不是能從硬件入手,解決這個問題?肖力也想到了這一點。
不過,具體怎么做,國內(nèi)尚無先例。
隨后,李曉寧加入了阿里云,探索硬件安全與云的結(jié)合,并推動阿里云與英特爾在 SGX 落地上的合作。
讓 SGX 落地在云上,還有這么幾個難點:
第一,懂 SGX 這項技術(shù)的人很少。
第二,要在機型上面通過固件把功能展示出來,比如要修改 BIOS 底層固件,也就是至少要有一個合適的接口能夠把這塊“飛地”連擊起來,還要在操作系統(tǒng)里有支持 SGX 運行的軟件。
第三,所有的東西搞定后,這個東西的門檻要低,要讓用戶用得著。
阿里云當時要搞一個牛逼哄哄的神龍云服務(wù)器出來,神龍云服務(wù)器的使命是,讓 CPU 全部用于真正的計算,成功降低虛擬化損耗。如果說這是神龍云服務(wù)器傳奇故事的主線,那么李曉寧團隊所做的讓 SGX 技術(shù)以硬件形式呈現(xiàn)在神龍云服務(wù)器上,就是神龍云服務(wù)器的“安全底線”。
不過,神龍云服務(wù)器的 BIOS 由獨立的 BIOS 廠商提供, 廠商完全不知道 BIOS 里對 SGX 應(yīng)該有什么樣的操作。
第一個難點和第二個難點同時爆發(fā)了。
BIOS 廠商、英特爾這之間需要一個“連接點”,這個“連接點”要站在整個系統(tǒng)的角度梳理 SGX“落地”成硬件的各種問題,尤其要解決操作系統(tǒng)的兼容性,并進行大量用戶測試。
當時有個 bug ,BIOS 用了英特爾的工具檢查,檢查完了不通過,兼容性出現(xiàn)了問題,李曉寧和團隊對著 SGX 的標準分析中間對應(yīng)的每個寄存器操作的含義在哪里,對照相同 BIOS 版本的海外設(shè)置。然后找英特爾的人討論,確認了設(shè)置的問題,甚至用 BIOS 關(guān)鍵代碼片 debug 給對方看,改了很多遍才通過。
2017年,阿里云和英特爾聯(lián)合發(fā)布了基于 SGX 的加密計算技術(shù)后,又在 2018 年推出了神龍云服務(wù)器,在這個“落地”的商業(yè)化產(chǎn)品上,基于 SGX 的加密計算技術(shù)和神龍一起騰云。
如果服務(wù)器可以,那么,其他“容器”又有何不可?
就像人類學會了保存火種后,開始了探索利用火的征途,火幫助我們打造刀具,冶煉陶器,現(xiàn)在則用來驅(qū)動輪船、飛機、火箭……
阿里云希望還有更多的載體能與 SGX 結(jié)合,打造一條更加完整的安全鏈路。于是,他們解鎖了 FPGA 設(shè)備和智能網(wǎng)卡,通過 FPGA 加密計算技術(shù)讓今天主流的機器學習計算模型和數(shù)據(jù)相關(guān)的計算都可以運行在可信環(huán)境中,將系統(tǒng)的可信擴展到網(wǎng)絡(luò)上,通過智能網(wǎng)卡加密計算技術(shù)實現(xiàn)可信網(wǎng)絡(luò)。
而聯(lián)合英特爾發(fā)布了針對云原生 Golang 應(yīng)用保護的 Graphene Golang 開源解決方案可能算是真正降低了 SGX 的技術(shù)門檻,它要做的是讓阿里云上基于 Golang 開發(fā)的云原生應(yīng)用可以不經(jīng)修改即可通過 SGX 技術(shù)進行保護,這樣一來,更多企業(yè)可以用上加密計算的安全能力。
一項新技術(shù)的誕生和推廣,最開始時都是很不容易的。
SGX 落地到阿里云成為產(chǎn)品之前,在一項關(guān)鍵的灰度測試上選擇了兩家真正理解 SGX 的測試用戶,一家是伯克利的 Oasis Labs,這里有一位炙手可熱的安全專家 Down Song,另一家則是清華大學的網(wǎng)絡(luò)安全實驗室教授張超帶領(lǐng)的團隊。
借助兩支頂級安全研究團隊用戶的“打磨”,基于SGX 的加密計算有了更鋒利的刃。
最近,阿里云又為 SGX 加密計算的應(yīng)用做了更多的嘗試,在首屆 SGX 應(yīng)用創(chuàng)意大賽上,他們鼓勵更多的前沿科研團隊將基于 SGX 的加密技術(shù)應(yīng)用到更多的實際場景中。就像 2017 年 SGX 加密技術(shù)騰云之前吸納的頂尖安全團隊的智慧,這一次,他們想看看,SGX 還能用在什么地方。
清華大學團隊在機器學習網(wǎng)絡(luò)上發(fā)現(xiàn)了應(yīng)用點。
聯(lián)邦機器學習會將模型給到不同數(shù)據(jù)所有者進行訓練,很容易出現(xiàn)參與者不按預期執(zhí)行訓練任務(wù),通過不訓練或少訓練來騙取獎勵,造成模型污染或降低模型準確性。于是,他們利用 SGX 技術(shù)提高了聯(lián)邦機器學習網(wǎng)絡(luò)的可靠性。
長虹電子啟思實驗室將 SGX 技術(shù)應(yīng)用到智能電視用戶通過聲紋完成在線支付的場景中,保障聲紋支付的安全性。
SGX 的落地有了更多絢爛的想象,未來呢?SGX 還能做點什么?
各類研究者還在嘗試。也許,攻擊者也會同步發(fā)現(xiàn)更多芯片漏洞以及利用方法,開展新一輪攻守競賽,也許,基于 SGX 的加密、應(yīng)用及探索不會是數(shù)據(jù)加密技術(shù)的終局,還會有其他更先進的數(shù)據(jù)加密技術(shù)出現(xiàn)。
在蓬勃的技術(shù)文明進程中,總有更先進的技術(shù)誕生,但我們不能忘記的是,只有不斷探索和嘗試才是推動技術(shù)文明滾滾向前的最終動力。
火種不滅,探索永存。

【 圖片來源:百度知道 所有者:百度知道 】
想了解更多有價值的網(wǎng)絡(luò)安全內(nèi)容?歡迎關(guān)注雷鋒網(wǎng)、雷鋒網(wǎng)、雷鋒網(wǎng),重要的事情說三遍。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。