淺析神龍云服務(wù)器背后的加密計算技術(shù)

在2017杭州·云棲大會上,阿里云發(fā)布了全新一代的計算類服務(wù)器產(chǎn)品--神龍云服務(wù)器(X-Dragon Cloud Server)。

神龍云服務(wù)器是一種可水平彈性伸縮的高性能計算服務(wù),融合了物理機與云服務(wù)器的各自優(yōu)勢,實現(xiàn)超強、超穩(wěn)的計算能力。

通過采用自主研發(fā)的虛擬化2.0技術(shù),神龍云服務(wù)器兼有普通云服務(wù)器的彈性和物理機的高計算性能及物理級別隔離的優(yōu)勢。同時,秒級交付的特性將更好地滿足大中型企業(yè)的高性能彈性計算的需求。

神龍服務(wù)器的核心亮點之一就是加密計算。

第一部分:加密計算是什么,和它所帶來的改變

阿里云加密計算是一種高等級的數(shù)據(jù)保護技術(shù)。通過“芯片級”的可信執(zhí)行環(huán)境,可以讓數(shù)據(jù)所有者最大程度地對云上數(shù)據(jù)進行保護。

對于客戶來說,阿里云加密計算可確??蛻粼浦鳈C上只存有加密過的數(shù)據(jù),任何其他人包括云廠商都無法接觸到明文數(shù)據(jù)。客戶可以自由地選擇適合自己的加密計算方案,并在云上使用。當需要數(shù)據(jù)明文時,也可通過阿里云加密計算,在硬件層可信執(zhí)行環(huán)境中,將數(shù)據(jù)安全解密和計算。

阿里云加密計算,目前基于芯片級”可信執(zhí)行環(huán)境作為基礎(chǔ)。該技術(shù)可以提供最高強度的關(guān)鍵數(shù)據(jù)和代碼運行保護(其設(shè)計模型如下圖所示),默認可信執(zhí)行環(huán)境之外的所有計算環(huán)境,都是不可信的,所有加密信息只能在可信執(zhí)行環(huán)境中運算。其中,“不需要信任”的部分包括了系統(tǒng)硬件,系統(tǒng)固件比如BIOS系統(tǒng), 虛擬機底層管理器,操作系統(tǒng)內(nèi)核,其他高權(quán)限客戶進程,以及本進程內(nèi)除了可信執(zhí)行環(huán)境以外的所有代碼。這些不可信系統(tǒng)部分的隔離是基于高強度的芯片保護,任何屬于非信任環(huán)境的代碼都無法讀取數(shù)據(jù)可信執(zhí)行環(huán)境內(nèi)部的關(guān)鍵數(shù)據(jù)。

淺析神龍云服務(wù)器背后的加密計算技術(shù)

阿里云加密計算技術(shù)和以往的加密保護相比,有以下區(qū)別:

加密計算技術(shù)基于處理器芯片,直接提供硬件可信執(zhí)行環(huán)境,其信任根是基于處理器芯片,而不是基于底層軟件保護,比如虛擬機管理器或者操作系統(tǒng)內(nèi)核。

加密計算技術(shù)通過硬件可信執(zhí)行環(huán)境,給客戶提供足夠靈活的加密方案,由客戶自己來定義和控制,確保客戶的加解密密鑰以及算法,都在自己的控制下。

加密計算技術(shù)不需要信任除了硬件可信執(zhí)行環(huán)境以外的任何代碼的數(shù)據(jù),從而提供更高等級的安全保護。

加密計算技術(shù)最大化地復(fù)用了處理器的計算能力,這樣加密計算本身的計算處理性能充分發(fā)揮了處理器的性能。

阿里云加密計算是在硬件層面的“芯片級”數(shù)據(jù)保護方案。除了加密計算之外,阿里云也提供了全鏈路的數(shù)據(jù)加密方案確??蛻魯?shù)據(jù)安全及隱私,覆蓋物理安全,硬件安全,存儲安全,密鑰管理,傳輸加密相關(guān)的各個環(huán)節(jié)。

數(shù)據(jù)安全和隱私保護是阿里云的第一原則。目前,阿里云自身也在逐步采用加密計算技術(shù)保護內(nèi)部的敏感數(shù)據(jù),比如關(guān)鍵密鑰,敏感配置信息等,提升云平臺的安全度和強韌度。同時,阿里云也將加密計算能力輸出給客戶??蛻艨梢酝ㄟ^購買特定的神龍云服務(wù)器以獲取加密計算服務(wù),具體的神龍云服務(wù)器原型將很快在官網(wǎng)發(fā)布。

第二部分:阿里云加密計算技術(shù)原理,以及客戶如何用好它

1、加密計算基本架構(gòu)和使用實例

下面讓我們看看加密計算的基本架構(gòu)。

淺析神龍云服務(wù)器背后的加密計算技術(shù)

如上圖所示,計算環(huán)境是加密計算的技術(shù)基礎(chǔ),也是完成信息流轉(zhuǎn)的基本計算節(jié)點。

為避免客戶的數(shù)據(jù)在未經(jīng)授權(quán)的數(shù)據(jù)訪問中泄露,所有在加密計算環(huán)境外流轉(zhuǎn)的敏感數(shù)據(jù)都處于加密狀態(tài)。

也就是說,當客戶需要對自己敏感數(shù)據(jù)進行訪問和計算時,可以通過在加密計算環(huán)境中的授權(quán)代碼對數(shù)據(jù)進行恢復(fù),并進行計算。這些關(guān)鍵操作都是在被保護的環(huán)境,也就是加密計算環(huán)境中進行的。

加密計算環(huán)境的安全性是整個加密計算安全性的基石。

當客戶使用加密計算技術(shù)時,需要通過完整的數(shù)據(jù)閉環(huán),來確保對數(shù)據(jù)的保護。下面我們舉例說明,如何通過其中的一種加密計算方案,保護客戶數(shù)據(jù)安全。

第一步,客戶可以在自己可信的環(huán)境下,選取加密數(shù)據(jù)密鑰,對敏感信息明文進行加密,再上載到阿里云客戶主機上。

淺析神龍云服務(wù)器背后的加密計算技術(shù)

第二步,由客戶編寫需要運行在加密計算環(huán)境中的解密程序和運算算法,這里我們統(tǒng)稱計算算法。客戶需要對加密計算環(huán)境中的計算算法程序進行簽名,并啟動加密計算環(huán)境保護這段程序。

淺析神龍云服務(wù)器背后的加密計算技術(shù)

第三步,客戶需要對加密計算環(huán)境中的程序進行遠程驗證,確認加密計算環(huán)境的完整性。同時,通過加密計算環(huán)境公私密鑰對的公鑰,加密原始的數(shù)據(jù)密鑰,傳輸?shù)郊用苡嬎悱h(huán)境中,解密,獲得數(shù)據(jù)密鑰。這里的公私鑰可以使用加密計算環(huán)境的硬件特有密鑰對,也可以是加密計算環(huán)境中的代碼,動態(tài)生成的密鑰對。

淺析神龍云服務(wù)器背后的加密計算技術(shù)

第四步,這時,客戶在加密計算環(huán)境中的計算算法,就可以通過數(shù)據(jù)密鑰,將在本地的加密數(shù)據(jù),在加密計算環(huán)境中進行解密并計算了。到這里,客戶的明文數(shù)據(jù),除了在客戶端可信環(huán)境外,只能在客戶獨有的阿里云加密計算環(huán)境中動態(tài)出現(xiàn)。

這就意味著,客戶云主機上只存有加密過的數(shù)據(jù),任何其他人包括云廠商都無法接觸到明文數(shù)據(jù)。

淺析神龍云服務(wù)器背后的加密計算技術(shù)

2、客戶使用場景

加密計算適用于任何需要對敏感數(shù)據(jù)加以高等級保護的行業(yè)和客戶,尤其是金融、醫(yī)療、以及部署機器學習計算的客戶。

這里我們舉機器學習的例子,幫助大家了解加密計算的使用場景。

今天,通過大數(shù)據(jù)學習,很多人工智能的應(yīng)用都需要采用一個機器學習模型。這個模型往往是通過大量數(shù)據(jù)訓練所得出的。那么,當客戶將人工智能應(yīng)用開發(fā)成一個云應(yīng)用,開放給最終用戶的時候,如何保護機器學習模型是一個很現(xiàn)實問題。

如果機器學習模型被其他人掌握,模型則有可能被別人復(fù)制使用或繞過。以前,我們只能通過代碼混淆,軟件加密等中低強度的方法對這些重要的模型進行保護。

而通過采用加密計算技術(shù),客戶可以將機器學習模型加密,并通過開發(fā)特定的、使用加密計算的模型預(yù)測程序,在加密計算環(huán)境中使用機器學習模型,保證任何在加密計算環(huán)境之外的軟件、硬件都無法獲取到真實的機器學習模型數(shù)據(jù),大大加強了數(shù)據(jù)安全的強度。