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