云原生機(jī)密計(jì)算最佳實(shí)踐白皮書_第1頁
云原生機(jī)密計(jì)算最佳實(shí)踐白皮書_第2頁
云原生機(jī)密計(jì)算最佳實(shí)踐白皮書_第3頁
云原生機(jī)密計(jì)算最佳實(shí)踐白皮書_第4頁
云原生機(jī)密計(jì)算最佳實(shí)踐白皮書_第5頁
已閱讀5頁,還剩65頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

機(jī)密計(jì)算簡介與現(xiàn)狀I(lǐng)ntroductionAndStatusOfCon?dential

Computing04OpenAnolis

龍蜥社區(qū)OpenAnolis

Community011122云原生機(jī)密計(jì)算SIG概述Overview

Of

The

Cloud

Native

Con?dential

Computing

SIG07海光CSV:海光安全虛擬化技術(shù)Intel

SGX:

Intel安全防護(hù)擴(kuò)展Intel

TDX:

Intel安全虛擬化技術(shù)AMD

SEV:

AMD安全加密虛擬化技術(shù)ARMCCA:

Arm安全加密虛擬化技術(shù)機(jī)密計(jì)算平臺(tái)Con?dentialComputing

Platform1214161820編程框架Programming

FrameworkIntel

SGX

SDK/PSW/DCAP:

Intel

SGX軟件開發(fā)套件和平臺(tái)軟件服務(wù)232931Intel

Homomorphic

Encryption:

Intel

平臺(tái)同態(tài)加密加速框架Intel_HE_Toolkit

開發(fā)指南RATS-TLS:

跨機(jī)密計(jì)算平臺(tái)的雙向傳輸層安全協(xié)議35374346113Apache

Teaclave

Java

TEESDK:面向Java生態(tài)的機(jī)密計(jì)算編程框架Apache_Teaclave_

Java_TEE_SDK

最佳實(shí)踐運(yùn)行時(shí)底座Runtime

Foundation4747566168海光CSV機(jī)密容器基于runtime-attestation使用機(jī)密容器基于pre-attestation使用機(jī)密容器基于runtime-attestation使用簽名容器海光CSV機(jī)密虛擬機(jī)72Intel

TDX機(jī)密容器解決方案SolutionOcclum:

基于Intel

SGX的輕量級(jí)LibOS818291102107109111Intel

vSGX:Intel

SGX虛擬化Intel

SGX虛擬機(jī)最佳實(shí)踐AMD

SEV機(jī)密容器AMD

SEV機(jī)密虛擬機(jī)Inclavare

Containers:

面向機(jī)密計(jì)算場景的開源容器運(yùn)行時(shí)技術(shù)棧Enclave-CC:

進(jìn)程級(jí)機(jī)密容器114115121126133Intel

Con?dential

Computing

Zoo:

Intel機(jī)密計(jì)算開源解決方案部署TensorFlow

Serving在線推理服務(wù)部署TensorFlow橫向聯(lián)邦學(xué)習(xí)部署隱私集合求交方案PPML:

端到端隱私保護(hù)機(jī)器學(xué)習(xí)解決方案01認(rèn)識(shí)龍蜥龍蜥社區(qū)(

OpenAnolis)成立于2020

年9月,由阿里云、ARM、統(tǒng)信軟件、龍芯、飛騰、中科方德、Intel

24

家國內(nèi)外頭部企業(yè)共同成立龍蜥社區(qū)理事會(huì),到目前有超過

300

家合作伙伴參與共建,是是國內(nèi)領(lǐng)先的開源社區(qū)之一,具備較為領(lǐng)先的產(chǎn)業(yè)和技術(shù)影響力。目前,龍蜥操作系統(tǒng)下載量已超240萬,整體裝機(jī)量達(dá)300多萬,100余款企業(yè)產(chǎn)品完成與龍蜥操作系統(tǒng)的適配。同時(shí),統(tǒng)信軟件、中科方德、中國移動(dòng)云、麒麟軟件、中標(biāo)軟件、凝思軟件、浪潮信息、新支點(diǎn)、阿里云基于龍蜥開源操作系統(tǒng)推出各自商業(yè)版本及產(chǎn)品,在政務(wù)、金融、交通、通信等領(lǐng)域累計(jì)服務(wù)用戶超過30萬。龍蜥開源影響力龍蜥社區(qū)及龍蜥操作系統(tǒng)也獲得了一定的行業(yè)認(rèn)可,工信部電子標(biāo)準(zhǔn)院首批開源項(xiàng)目成熟度評(píng)估,成為唯一獲得“卓越級(jí)”認(rèn)證的開源項(xiàng)目、龍蜥社區(qū)榮登

2022科創(chuàng)中國“開源創(chuàng)新榜”、榮獲“中國開源云聯(lián)盟年度優(yōu)秀開源項(xiàng)目獎(jiǎng)”、“OSCAR

開源尖峰案例獎(jiǎng)”等

25

項(xiàng)行業(yè)獎(jiǎng)項(xiàng)。龍蜥項(xiàng)目運(yùn)作模式龍蜥社區(qū)已成立

50+

個(gè)

SIG

工作組,圍繞芯片、內(nèi)核、編譯器、安全、虛擬化及云原生等操作系統(tǒng)核心領(lǐng)域進(jìn)行技術(shù)創(chuàng)新,已發(fā)布龍蜥Anolis

OS

7、Anolis

OS

8.x

系列、Anolis

OS

23

公測版、Lifsea

OS等多個(gè)社區(qū)版本,為應(yīng)對(duì)即將停服的

CentOS,官網(wǎng)已上線「CentOS

停服專區(qū)」為用戶提供遷移方案及長期穩(wěn)定支持,致力于成為

CentOS

的更佳替代。龍蜥運(yùn)營管理“為更好地運(yùn)營和治理社區(qū),龍蜥社區(qū)定期召開月度運(yùn)營委員會(huì)會(huì)議、技術(shù)委員會(huì)會(huì)議,理事大會(huì)。關(guān)于理事大會(huì):龍蜥社區(qū)第二屆理事大會(huì)圓滿召開!理事?lián)Q屆選舉、4

位特約顧問加入關(guān)于運(yùn)營委員會(huì)會(huì)議:龍蜥社區(qū)第15次運(yùn)營委員會(huì)會(huì)議順利召開歡迎更多企業(yè)加入共建,

龍騰計(jì)劃可參看:“龍騰計(jì)劃”啟動(dòng)!邀請(qǐng)

500

家企業(yè)加入,與龍蜥社區(qū)一起擁抱無限生態(tài)。”龍蜥開放的生態(tài)為了鼓勵(lì)合作伙伴在社區(qū)探索出更多的商業(yè)合作方式,真正牽引企業(yè)在龍蜥社區(qū)的合作落地,社區(qū)推出「龍騰計(jì)劃」的升級(jí)版——「生態(tài)發(fā)展計(jì)劃」,更聚焦在產(chǎn)品和商業(yè)合作本身。關(guān)于龍蜥操作系統(tǒng)

Anolis

OS

)龍蜥操作系統(tǒng)(AnolisOS)搭載了

ANCK

版本的內(nèi)核,性能和穩(wěn)定性經(jīng)過歷年“雙

11”歷練,能為云上典型用戶場景帶來40%的綜合性能提升,故障率降低50%,兼容

CentOS

生態(tài),提供平滑的

CentOS

遷移方案,并提供全棧國密能力。最新的長期支持版本Anolis

OS

8.6

已發(fā)布,更多龍蜥自研,支持

X86_64

、RISC-V、Arm64、LoongArch

架構(gòu),完善適配

Intel、飛騰、海光、兆芯、鯤鵬、龍芯等主流芯片。下載體驗(yàn)鏈接:/download2021年12月31

日,龍蜥開源社區(qū)(OpenAnolis)上線「CentOS停服專區(qū)」,為受CentOS停服影響的用戶提供遷移方案及長期穩(wěn)定支持。此次停服,龍蜥操作系統(tǒng)(Anolis

OS)產(chǎn)品優(yōu)勢(shì)包括:打造系統(tǒng)化解決方案

AOMS、提供多款配套工具、承諾10年技術(shù)支持、兼容

CentOS

生態(tài)、具備差異化核心技術(shù)優(yōu)勢(shì)、歷經(jīng)豐富場景驗(yàn)證、沉淀用戶遷移案例實(shí)踐。反饋與共創(chuàng)OpenAnolis是一個(gè)開放包容的社區(qū),因此我們也歡迎志同道合之士參與我們的文檔修訂。對(duì)于文檔中您認(rèn)為不足之處,歡迎到我們的官方倉庫

Whitebook

Con?dentialComputing

新開issue,我們會(huì)第一時(shí)間進(jìn)行響應(yīng)。另外,若您想更新文檔,也同樣歡迎在

Whitebook

Con?dentialComputing

提PR詳情可參看:/page/partner20203機(jī)密計(jì)算簡介與現(xiàn)狀I(lǐng)ntroduction

And

Status

Of

Con?dential

Computing機(jī)密計(jì)算簡介與現(xiàn)狀數(shù)據(jù)安全與機(jī)密計(jì)算數(shù)據(jù)在整個(gè)生命周期有三種狀態(tài):At-Rest(靜態(tài))、In-Transit(傳輸中)和

In-Use(使用中)。At-Rest

狀態(tài)下,一般會(huì)把數(shù)據(jù)存放在硬盤、閃存或其他的存儲(chǔ)設(shè)備中。保護(hù)

At-Rest

狀態(tài)的數(shù)據(jù)有很多方法,比如對(duì)文件加密后再存放或者對(duì)存儲(chǔ)設(shè)備加密。In-Transit

是指通過公網(wǎng)或私網(wǎng)把數(shù)據(jù)從一個(gè)地方傳輸?shù)狡渌胤?,用戶可以在傳輸之前?duì)文件加密或者采用安全的傳輸協(xié)議保證數(shù)據(jù)在傳輸中的安全,比如HTTPS、SSL、TLS、FTPS

等。In-Use

是指正在使用的數(shù)據(jù)。即便數(shù)據(jù)在傳輸過程中是被加密的,但只有把數(shù)據(jù)解密后才能進(jìn)行計(jì)算和使用。也就意味著,如果數(shù)據(jù)在使用時(shí)沒有被保護(hù)的話,仍然有數(shù)據(jù)泄露和被篡改的風(fēng)險(xiǎn)。在這個(gè)世界上,我們不斷地存儲(chǔ)、使用和共享各種敏感數(shù)據(jù):從信用卡數(shù)據(jù)到病歷,從防火墻配置到地理位置數(shù)據(jù)。保護(hù)處于所有狀態(tài)中的敏感數(shù)據(jù)比以往任何時(shí)候都更為重要。如今被廣泛使用的加密技術(shù)可以用來提供數(shù)據(jù)機(jī)密性(防止未經(jīng)授權(quán)的訪問)和數(shù)據(jù)完整性(防止或檢測未經(jīng)授權(quán)的修改),但目前這些技術(shù)主要被用于保護(hù)傳輸中和靜止?fàn)顟B(tài)的數(shù)據(jù),目前對(duì)數(shù)據(jù)的第三個(gè)狀態(tài)“使用中”提供安全防護(hù)的技術(shù)仍舊屬于新的前沿領(lǐng)域。機(jī)密計(jì)算指使用基于硬件的可信執(zhí)行環(huán)境(Trusted

Execution

Environment,TEE)對(duì)使用中的數(shù)據(jù)提供保護(hù)。

通過使用機(jī)密計(jì)算,我們現(xiàn)在能夠針對(duì)“使用中”的數(shù)據(jù)提供保護(hù)。機(jī)密計(jì)算的核心功能有:保護(hù)

In-Use

數(shù)據(jù)的機(jī)密性。未經(jīng)授權(quán)的實(shí)體(主機(jī)上的應(yīng)用程序、主機(jī)操作系統(tǒng)和Hypervisor、系統(tǒng)管理員或?qū)τ布哂形锢碓L問權(quán)限的任何其他人。)無法查看在TEE中使用的數(shù)據(jù),內(nèi)存中的數(shù)據(jù)是被加密的,即便被攻擊者竊取到內(nèi)存數(shù)據(jù)也不會(huì)泄露數(shù)據(jù)。保護(hù)

In-Use數(shù)據(jù)的完整性。防止未經(jīng)授權(quán)的實(shí)體篡改正在處理中的數(shù)據(jù),度量值保證了數(shù)據(jù)和代碼的完整性,使用中有任何數(shù)據(jù)或代碼的改動(dòng)都會(huì)引起度量值的變化。可證明性。通常

TEE

可以提供其起源和當(dāng)前狀態(tài)的證據(jù)或度量值,以便讓另一方進(jìn)行驗(yàn)證,并決定是否信任

TEE

中運(yùn)行的代碼。最重要的是,此類證據(jù)是由硬件簽名,并且制造商能夠提供證明,因此驗(yàn)證證據(jù)的一方就可以在一定程度上保證證據(jù)是可靠的,而不是由惡意軟件或其他未經(jīng)授權(quán)的實(shí)體生成的。機(jī)密計(jì)算的現(xiàn)狀與困境業(yè)界內(nèi)的諸多廠商就已經(jīng)開始關(guān)注并投入到機(jī)密計(jì)算中。各大芯片廠家和云服務(wù)提供商(Cloud

ServiceProvider,簡稱

CSP)都在機(jī)密計(jì)算領(lǐng)域投入研發(fā)資源,并組建了“機(jī)密計(jì)算聯(lián)盟”。該聯(lián)盟專門針對(duì)云服務(wù)及硬件生態(tài),致力于保護(hù)計(jì)算時(shí)的數(shù)據(jù)安全。目前機(jī)密計(jì)算正處于百花齊發(fā)和百家爭鳴的階段,市場和商業(yè)化潛力非常巨大。

但機(jī)密計(jì)算在云原生場景中還有一些不足:1、用戶心智不足。用戶普遍對(duì)機(jī)密計(jì)算這項(xiàng)新技術(shù)的認(rèn)知感不足,難以將其與自己的業(yè)務(wù)直接聯(lián)系起來,導(dǎo)致需求不夠旺盛。2、技術(shù)門檻高。目前,相比傳統(tǒng)開發(fā)方式,主流的機(jī)密計(jì)算技術(shù)的編程模型給人們對(duì)機(jī)密計(jì)算技術(shù)的印象是學(xué)習(xí)和使用門檻高,用戶需要使用機(jī)密計(jì)算技術(shù)對(duì)業(yè)務(wù)進(jìn)行改造,令很多開發(fā)者望而生畏。3、應(yīng)用場景缺乏普適性。目前,機(jī)密計(jì)算主要被應(yīng)用于具有特定行業(yè)壁壘或行業(yè)特征的場景,如隱私計(jì)算和金融等。這些復(fù)雜場景讓普通用戶很難觸達(dá)機(jī)密計(jì)算技術(shù),也難以為普通用戶打造典型應(yīng)用場景。同時(shí),不0405同廠商的CPU

TEE雖各自具有自身的特點(diǎn),但都無法解決異構(gòu)計(jì)算算力不足的問題,限制了機(jī)密計(jì)算的應(yīng)用領(lǐng)域。4、信任根和信任模型問題。在信創(chuàng)、數(shù)據(jù)安全和安全合規(guī)等政策性要求對(duì)CPU

TEE的信任根存在自主可控的訴求;與此同時(shí),雖然有部分用戶愿意信任云廠商和第三方提供的解決方案,但多數(shù)用戶對(duì)云廠商和第三方不完全信任,要求將機(jī)密計(jì)算技術(shù)方案從租戶TCB中完全移除??傊壳耙延械臋C(jī)密計(jì)算技術(shù)方案存在以上困境,不能夠完全滿足用戶不同場景的安全需求。為了解決以上四個(gè)問題,云原生機(jī)密計(jì)算SIG應(yīng)運(yùn)而生,主要可概括為四點(diǎn):1、推廣機(jī)密計(jì)算技術(shù)。邀請(qǐng)參與方在龍蜥大講堂介紹和推廣機(jī)密計(jì)算技術(shù)與解決方案。與芯片廠商合作,未來可以通過龍蜥實(shí)驗(yàn)室讓外部用戶體驗(yàn)機(jī)密計(jì)算技術(shù),對(duì)機(jī)密計(jì)算有一個(gè)更深入化的了解。2、提高機(jī)密計(jì)算技術(shù)的可用性。支持多種機(jī)密計(jì)算硬件。提供多種運(yùn)行時(shí)底座和編程框架供用戶選擇。3、提升機(jī)密計(jì)算技術(shù)的泛用性為最有代表性的通用計(jì)算場景打造解決方案和案例(特性即產(chǎn)品)。積極擁抱并參與到機(jī)密計(jì)算前沿技術(shù)領(lǐng)域的探索與實(shí)踐,加速創(chuàng)新技術(shù)的落地。4、澄清誤會(huì)并增加用戶信心發(fā)布機(jī)密計(jì)算技術(shù)白皮書。與社區(qū)和業(yè)界合作,未來提供結(jié)合了軟件供應(yīng)鏈安全的遠(yuǎn)程證明服務(wù)體系。云原生機(jī)密計(jì)算SIG概述Overview

Of

The

Cloud

Native

Con?dential

Computing

SIG0607云原生機(jī)密計(jì)算SIG概述隨著通信、網(wǎng)絡(luò)和計(jì)算機(jī)技術(shù)的持續(xù)演進(jìn)與廣泛應(yīng)用,數(shù)據(jù)資源的開放共享、交換流通成為推動(dòng)“萬物互聯(lián)、智慧互通”的重要趨勢(shì)。與此同時(shí),近年來數(shù)據(jù)安全事件頻發(fā)、數(shù)據(jù)安全威脅日趨嚴(yán)峻,數(shù)據(jù)的安全處理和流通受到了國內(nèi)外監(jiān)管部門的廣泛重視。如何在保障安全的前提下最大程度發(fā)揮數(shù)據(jù)的價(jià)值,是當(dāng)前面臨的重要課題。在日益嚴(yán)苛的隱私保護(hù)相關(guān)法律法規(guī)約束下,作為當(dāng)前數(shù)據(jù)處理基礎(chǔ)設(shè)施的云計(jì)算也正在經(jīng)歷一次重大的范式轉(zhuǎn)換,即從默認(rèn)以

CSP

為信任基礎(chǔ)的計(jì)算范式走向信任鏈與

CSP

解耦的新范式。我們將此范式稱為隱私保護(hù)云計(jì)算,而機(jī)密計(jì)算是實(shí)現(xiàn)隱私保護(hù)云計(jì)算的必由之路。為擁抱隱私保護(hù)云計(jì)算新范式,促進(jìn)隱私保護(hù)云計(jì)算生態(tài)發(fā)展,云原生機(jī)密計(jì)算SIG應(yīng)運(yùn)而生:愿景云原生機(jī)密計(jì)算SIG致力于通過開源社區(qū)合作共建的方式,為業(yè)界提供開源和標(biāo)準(zhǔn)化的機(jī)密計(jì)算技術(shù)以及安全架構(gòu),推動(dòng)云原生場景下機(jī)密計(jì)算技術(shù)的發(fā)展。工作組將圍繞下述核心項(xiàng)目構(gòu)建云原生機(jī)密計(jì)算開源技術(shù)棧,降低機(jī)密計(jì)算的使用門檻,簡化機(jī)密計(jì)算在云上的部署和應(yīng)用步驟,拓展使用場景及方案。云原生機(jī)密計(jì)算SIG的愿景是:

1)構(gòu)建安全、易用的機(jī)密計(jì)算技術(shù)棧2)適配各種常見機(jī)密計(jì)算硬件平臺(tái)3)打造典型機(jī)密計(jì)算產(chǎn)品和應(yīng)用案例項(xiàng)目介紹海光

CSV

機(jī)密容器CSV是海光研發(fā)的安全虛擬化技術(shù)。CSV1實(shí)現(xiàn)了虛擬機(jī)內(nèi)存加密能力,CSV2

增加了虛擬機(jī)狀態(tài)加密機(jī)制,CSV3

進(jìn)一步提供了虛擬機(jī)內(nèi)存隔離支持。CSV

機(jī)密容器能夠?yàn)橛脩籼峁┨摂M機(jī)內(nèi)存加密和虛擬機(jī)狀態(tài)加密能力,主機(jī)無法解密獲取虛擬機(jī)的加密內(nèi)存和加密狀態(tài)信息。CSV

虛擬機(jī)使用隔離的TLB、Cache等硬件資源,支持安全啟動(dòng)、代碼驗(yàn)證、遠(yuǎn)程認(rèn)證等功能。主頁:/sig/coco/doc/533508829133259244IntelCon?dentialComputing

ZooIntel

發(fā)起并開源了Con?dential

Computing

Zoo

(CCZoo),CCZoo基于

Intel

TEE(SGX,TDX)技術(shù),提供了不同場景下各種典型端到端安全解決方案的參考案例,增加用戶在機(jī)密計(jì)算方案實(shí)現(xiàn)上的開發(fā)體驗(yàn),并引導(dǎo)用戶結(jié)合參考案例快速設(shè)計(jì)自己特定的機(jī)密計(jì)算解決方案。CCZoo

目前提供了基于Libos

+

Intel

TEE

+OpenAnolis

容器的

E2E

安全解決方案參考案例,后續(xù),CCZoo計(jì)劃基于

OpenAnolis

,提供更多的機(jī)密計(jì)算參考案例,為用戶提供相應(yīng)的容器鏡像,實(shí)現(xiàn)敏捷部署。主頁:https://cczoo.readthedocs.io代碼庫:/intel/confidential-computing-zooIntelHE

ToolkitIntel

HE

Toolkit旨在為社區(qū)和行業(yè)提供一個(gè)用于實(shí)驗(yàn)、開發(fā)和部署同態(tài)加密應(yīng)用的平臺(tái)。目前

Intel

HEToolkit

包括了主流的

Leveled

HE

庫,如

SEAL、Palisade和HELib,基于使能了英特爾最新指令集加速的的Intel

HEXL

庫,在英特爾至強(qiáng)處理器平臺(tái)上為同態(tài)加密業(yè)務(wù)負(fù)載提供了卓越的性能體驗(yàn)。同時(shí),Intel

HEToolkit即將集成半同態(tài)

Paillier

加速庫

IPCL,為半同態(tài)加密應(yīng)用提供加速支持。此外,Intel

HE

Toolkit

還提供了示例內(nèi)核、示例程序和基準(zhǔn)測試

HEBench。這些示例程序演示了利用主流的同態(tài)加密庫構(gòu)建各種同態(tài)加密應(yīng)用保護(hù)用戶隱私數(shù)據(jù)的能力。HEBench

則為各類第三方同態(tài)加密應(yīng)用提供了公允的評(píng)價(jià)基準(zhǔn),促進(jìn)了同態(tài)加密領(lǐng)域的研究與創(chuàng)新。主頁:/content/www/us/en/developer/tools/homoorphic-encryption/代碼庫:Intel

HE

Toolkit:

/intel/he-toolkitIntelHEXL:

https:///intel/hexlIntelPaillierCryptosystemLibrary(IPCL):

/intel/pailliercryptolibHEBench:

/hebenchIntel

SGX

Platform

Software

and

Datacenter

Attestation

Primitives在龍蜥生態(tài)中為數(shù)據(jù)中心和云計(jì)算平臺(tái)提供

Intel

SGX

技術(shù)所需的平臺(tái)軟件服務(wù),如遠(yuǎn)程證明等。RPM包:/intel-sgx/latest/linux-latest/distro/Anolis86/代碼庫:/intel/SGXDataCenterAttestationPrimitivesIntelSGX

SDK在龍蜥生態(tài)中為開發(fā)者提供使用

Intel

SGX

技術(shù)所需的軟件開發(fā)套件,幫助開發(fā)者高效便捷地開發(fā)機(jī)密計(jì)算程序和解決方案。RPM包:/intel-sgx/latest/linux-latest/distro/Anolis86/代碼庫:/intel/linux-sgxOcclumOcclum

是一個(gè)

TEE

LibOS,是機(jī)密計(jì)算聯(lián)盟(CCC,

Con?dential

Computing

Consortium)的官方開源項(xiàng)目。目前Occlum支持Intel

SGX和HyperEnclave兩種TEE。Occlum在TEE環(huán)境中提供了一個(gè)兼容Linux的運(yùn)行環(huán)境,使得

Linux

下的應(yīng)用可以不經(jīng)修改就在

TEE

環(huán)境中運(yùn)行。Occlum

在設(shè)計(jì)時(shí)將安全性作為最重要的設(shè)計(jì)指標(biāo),在提升用戶開發(fā)效率的同時(shí)保證了應(yīng)用的安全性。Occlum

極大地降低了程序員開發(fā)

TEE

安全應(yīng)用的難度,提升了開發(fā)效率。主頁:https://occlum.io/代碼庫:/occlum/occlumIntelCCZoo

(TensorFlowGramine

/

CSV//

Occlum

/

SEVCSV /

Inclavare

Containers

/

KubeTEE

Enclave

Services/

SEV /

SGX /

TDX &Apache

Teaclave

Java

TEE

SDK/

Intel

HEToolkit

/

IntelSGX

&PSW

&DCAPAnolis8+ANCK

5.10AMD

SEV(-ES)/ CSV1+2/IntelSGX2.0/Intel

TDX1.0OS0809提供

TEE

有關(guān)的

Kubernetes

基礎(chǔ)服務(wù)

(如集群規(guī)模的密鑰分發(fā)和同步服務(wù)、集群遠(yuǎn)程證明服務(wù)等),使得用戶可以方便地將集群中多臺(tái)

TEE

機(jī)器當(dāng)作一個(gè)更強(qiáng)大的

TEE

來使用。代碼庫:/SOFAEnclave/KubeTEEApacheTeaclaveJavaTEE

SDKApache

Teaclave

Java

TEESDK(JavaEnclave)是一個(gè)面向

Java

生態(tài)的機(jī)密計(jì)算編程框架,它繼承IntelSGX

SDK所定義的Host-Enclave機(jī)密計(jì)算分割編程模型。JavaEnclave提供一種十分優(yōu)雅的模式,對(duì)一個(gè)完整的Java應(yīng)用程序進(jìn)行分割與組織。它將一個(gè)Java項(xiàng)目劃分成三個(gè)子模塊,Common子模塊定義SPI服務(wù)接口,Enclave子模塊實(shí)現(xiàn)SPI接口并以Provider方式提供服務(wù),Host子模塊負(fù)責(zé)TEE環(huán)境的管理和Enclave機(jī)密服務(wù)的調(diào)用。整個(gè)機(jī)密計(jì)算應(yīng)用的開發(fā)與使用模式符合Java經(jīng)典的SPI設(shè)計(jì)模式,極大降低了Java機(jī)密計(jì)算開發(fā)門檻。此外,本框架創(chuàng)新性應(yīng)用Java靜態(tài)編譯技術(shù),將Enclave子模塊Java代碼編譯成Native形態(tài)并運(yùn)行在TEE環(huán)境,極大減小了Enclave攻擊面,杜絕了Enclave發(fā)生注入攻擊的風(fēng)險(xiǎn),實(shí)現(xiàn)了極致安全的Java機(jī)密計(jì)算運(yùn)行環(huán)境。主頁:

代碼庫:

/apache/incubator-teaclave-java-tee-sdkGramineGramine是一個(gè)輕量級(jí)的LibOS,旨在以最小的主機(jī)要求運(yùn)行單個(gè)應(yīng)用程序。Gramine

可以在一個(gè)隔離的環(huán)境中運(yùn)行應(yīng)用程序。其優(yōu)點(diǎn)是可定制,易移植,方便遷移,可以媲美虛擬機(jī)。

在架構(gòu)上

Gramine

可以在任何平臺(tái)上支持運(yùn)行未修改的Linux二進(jìn)制文件。目前,Gramine可以在Linux和Intel

SGX

enclave環(huán)境中工作。主頁:https://gramine.readthedocs.io/代碼庫:/gramineproject/gramineTDX機(jī)密容器&機(jī)密虛擬機(jī)Intel

TrustDomain

Extension

(TDX)

基于虛擬化擴(kuò)展機(jī)密計(jì)算的隔離能力,通過構(gòu)建機(jī)密虛擬機(jī),為業(yè)務(wù)負(fù)載提供了虛擬機(jī)級(jí)別的機(jī)密計(jì)算的運(yùn)行環(huán)境。通過Linux社區(qū)對(duì)TDX機(jī)密虛擬機(jī)的生態(tài)支持,

基于Linux的業(yè)務(wù)應(yīng)用可以方便的遷移到機(jī)密計(jì)算環(huán)境中。此外,Intel

TDX

Pod

級(jí)機(jī)密容器將TDX機(jī)密虛擬機(jī)技術(shù)同容器生態(tài)無縫集成,以云原生方式運(yùn)行,保護(hù)敏感工作負(fù)載和數(shù)據(jù)的機(jī)密性和完整性。在機(jī)密虛擬機(jī)內(nèi)部,默認(rèn)集成了image-rs

attestation-agent

等組件,實(shí)現(xiàn)了容器鏡像的拉取、授權(quán)、驗(yàn)簽、解密、遠(yuǎn)程證明以及秘密注入等安全特性。機(jī)密計(jì)算平臺(tái)Con?dentialComputing

Platform1011SM4CSVC86C86C86C86ASID1ASID1ASID2ASID2ASID1ASID2ASID1ASID2TLBcacheC86海光CSV:海光安全虛擬化技術(shù)項(xiàng)目位置鏈接/anolis/cloud-kernel/anolis/hygon-edk2/anolis/hygon-qemu/inclavare-containers/librats/inclavare-containers/rats-tls技術(shù)自身介紹背景容器技術(shù)的出現(xiàn),使應(yīng)用程序的打包、分發(fā)變得非常簡單易用,Kubernetes等容器編排技術(shù)的出現(xiàn),進(jìn)一步加速了容器生態(tài)的普及和發(fā)展,目前容器已經(jīng)逐漸成為云計(jì)算的主要運(yùn)行單元。但是由于傳統(tǒng)容器共享操作系統(tǒng)內(nèi)核,在隔離性和安全性上比傳統(tǒng)虛擬機(jī)差。為了解決這個(gè)問題,Kata容器應(yīng)運(yùn)而生,Kata容器運(yùn)行在輕量級(jí)虛擬機(jī)里,比起傳統(tǒng)容器提供了更好的隔離性和安全性,使Kata容器同時(shí)具有容器技術(shù)帶來的易用性和虛擬機(jī)技術(shù)帶來的安全性。隨著機(jī)密計(jì)算需求的出現(xiàn),CPU廠商紛紛推出了硬件TEE技術(shù),傳統(tǒng)虛擬機(jī)技術(shù)已無法滿足機(jī)密計(jì)算的需要,Kata容器的安全性需要進(jìn)一步增強(qiáng)以便應(yīng)用于機(jī)密計(jì)算場景。問題&挑戰(zhàn)虛擬化是云計(jì)算的底層基礎(chǔ)技術(shù),隨著云計(jì)算的發(fā)展而被廣泛應(yīng)用。由于虛擬機(jī)的全部資源被主機(jī)操作系統(tǒng)和虛擬機(jī)管理器管理和控制,虛擬化本身有較嚴(yán)重的安全缺陷,主機(jī)操作系統(tǒng)和虛擬機(jī)管理器可任意讀取和修改虛擬機(jī)資源且虛擬機(jī)無法察覺。主機(jī)操作系統(tǒng)和虛擬機(jī)管理器有權(quán)讀寫虛擬機(jī)代碼段,虛擬機(jī)內(nèi)存數(shù)據(jù),虛擬機(jī)磁盤數(shù)據(jù),并有權(quán)重映射虛擬機(jī)內(nèi)存等。攻擊者可利用主機(jī)操作系統(tǒng)和虛擬機(jī)管理器的安全缺陷獲取操作系統(tǒng)的權(quán)限后攻擊虛擬機(jī),給虛擬機(jī)最終用戶造成重大損失。解決方案CSV是海光自主研發(fā)的安全虛擬化技術(shù),采用國密算法實(shí)現(xiàn),CSV虛擬機(jī)在寫內(nèi)存數(shù)據(jù)時(shí)CPU硬件自動(dòng)加密,讀內(nèi)存數(shù)據(jù)時(shí)硬件自動(dòng)解密,每個(gè)CSV虛擬機(jī)使用不同的密鑰。海光CPU內(nèi)部使用ASID(Address

SpaceID)區(qū)分不同的CSV虛擬機(jī)和主機(jī),每個(gè)CSV虛擬機(jī)使用獨(dú)立的Cache、TLB等CPU資源,實(shí)現(xiàn)CSV虛擬機(jī)、主機(jī)之間的資源隔離。CSV虛擬機(jī)使用隔離的硬件資源,支持啟動(dòng)度量、遠(yuǎn)程認(rèn)證等功能,是安全的硬件可信執(zhí)行環(huán)境。CSV機(jī)密容器技術(shù)將安全虛擬化技術(shù)與Kata容器技術(shù)結(jié)合,實(shí)現(xiàn)容器運(yùn)行環(huán)境的度量和加密,容器中的程序可以使用遠(yuǎn)程認(rèn)證功能實(shí)現(xiàn)身份證明。CSV機(jī)密容器和普通容器的接口完全兼容,用戶可以使用Docker或者Kubernetes啟動(dòng)機(jī)密容器,實(shí)現(xiàn)對(duì)容器數(shù)據(jù)的隔離和保護(hù)。CSV技術(shù)構(gòu)建了以安全加密虛擬機(jī)為基礎(chǔ)的可信執(zhí)行環(huán)境。在安全加密虛擬機(jī)保證了虛擬機(jī)數(shù)據(jù)機(jī)密性的基礎(chǔ)上,更進(jìn)一步保證了虛擬機(jī)數(shù)據(jù)的完整性,主機(jī)操作系統(tǒng)和虛擬機(jī)管理無法通過改寫虛擬機(jī)嵌套頁表對(duì)虛擬機(jī)實(shí)施重映射攻擊。應(yīng)用場景安全加密虛擬化可以保證最終用戶數(shù)據(jù)的機(jī)密性和完整性,可用于實(shí)施機(jī)密計(jì)算,適用于云計(jì)算和隱私計(jì)算場景。1213Intel

SGX:

Intel安全防護(hù)擴(kuò)展項(xiàng)目位置鏈接/intel/linux-sgx/intel/SGXDataCenterAttestationPrimitives技術(shù)自身介紹背景機(jī)密計(jì)算是信息安全行業(yè)內(nèi)一項(xiàng)新興技術(shù),專注于幫助保護(hù)使用中的數(shù)據(jù)。機(jī)密計(jì)算旨在加密數(shù)據(jù)在內(nèi)存中進(jìn)行處理,同時(shí)降低將其暴露給系統(tǒng)其余部分的風(fēng)險(xiǎn),從而降低敏感數(shù)據(jù)暴露的可能性,同時(shí)為用戶提供更高程度的控制和透明度。在多租戶云環(huán)境中,機(jī)密計(jì)算確保敏感數(shù)據(jù)與系統(tǒng)堆棧的其他特權(quán)部分保持隔離。問題&挑戰(zhàn)傳統(tǒng)操作系統(tǒng)提供了進(jìn)程級(jí)內(nèi)存隔離,但是無法保護(hù)用戶的數(shù)據(jù)不被特權(quán)進(jìn)程獲?。?/p>

虛擬化技術(shù)基于特權(quán)軟件Hypervisor對(duì)系統(tǒng)資源進(jìn)行分配與監(jiān)控,但Hypervisor潛在的軟件漏洞有可能會(huì)威脅到整個(gè)系統(tǒng);

基于TPM(Trusted

Platform

Module)的可信架構(gòu)難以保障程序運(yùn)行時(shí)的可信執(zhí)行;TrustZone技術(shù)為程序提供了兩種隔離的執(zhí)行環(huán)境,

但需要硬件廠商的簽名驗(yàn)證才能運(yùn)行在安全執(zhí)行環(huán)境,開發(fā)門檻較高。解決方案英特爾軟件防護(hù)擴(kuò)展(Intel

Software

Guard

Extensions,SGX)是一組安全相關(guān)的指令,它被內(nèi)置于一些現(xiàn)代Intel

中央處理器(CPU)中。它們?cè)试S用戶態(tài)及內(nèi)核態(tài)代碼定義將特定內(nèi)存區(qū)域,設(shè)置為私有區(qū)域,此區(qū)域也被稱作飛地(Enclaves)。其內(nèi)容受到保護(hù),不能被本身以外的任何進(jìn)程存取,包括以更高權(quán)限級(jí)別運(yùn)行的進(jìn)程。CPU對(duì)受SGX保護(hù)的內(nèi)存進(jìn)行加密處理。受保護(hù)區(qū)域的代碼和數(shù)據(jù)的加解密操作在CPU內(nèi)部動(dòng)態(tài)完成。因此,處理器可以保護(hù)代碼不被其他代碼窺視或檢查。SGX提供了硬件指令級(jí)安全保障,保障了運(yùn)行時(shí)的可信執(zhí)行環(huán)境,

使惡意代碼無法訪問與篡改其他程序運(yùn)行時(shí)的保護(hù)內(nèi)容。Intel從第六代CPU開始支持SGX,SGX已經(jīng)成為學(xué)術(shù)界的熱點(diǎn),各大云廠商也開始在云上部署基于SGX的應(yīng)用。應(yīng)用場景提供基礎(chǔ)機(jī)密計(jì)算能力的支撐,在Intel

SGX和TDX

DCAP之上,支撐機(jī)密計(jì)算運(yùn)行時(shí),虛擬機(jī),容器等具體的使用,最終讓用戶方便地將自己的workload運(yùn)行到一個(gè)可信的機(jī)密計(jì)算環(huán)境當(dāng)中。用戶情況用戶使用情況對(duì)于龍蜥社區(qū)的機(jī)密計(jì)算應(yīng)用,除了需要硬件上的支持,也需要軟件基礎(chǔ)架構(gòu)的支持。所有的機(jī)密計(jì)算應(yīng)用都會(huì)依賴于相應(yīng)機(jī)密計(jì)算技術(shù)底層的軟件開發(fā)包和運(yùn)行時(shí)庫。Intel為SGX和TDX

Attestation提供了基礎(chǔ)的軟件架構(gòu)支撐:主要包括SGXSDK,SGX

PSW/(TDX)

DCAP安裝包的適配,和Anolis的集成。用戶使用效果在vSGX虛擬機(jī),TDX機(jī)密虛擬機(jī),SGX

LibOS運(yùn)行時(shí)Occlum和Gramine當(dāng)中,SGX

SDK/PSW/(TDX)DCAP都提供了SGX,SGX

遠(yuǎn)程證明及TDX遠(yuǎn)程證明相關(guān)的軟件支持(如API等)。后續(xù)計(jì)劃在AnolisOS發(fā)布之前,Intel已經(jīng)在CentOS和Alinux上支持了SGXSDK/PSW/DCAP軟件包的構(gòu)建和完整的測試。在2022年第二季度之后,我們又將TDX

DCAP和SGX

DCAP合并到統(tǒng)一的代碼倉庫。軟件主要功能上準(zhǔn)備完畢,安裝包適配到Anolis

OS的過程可以分為四個(gè)主要步驟:1、完成相關(guān)安裝包(RPM)的構(gòu)建和測試2、發(fā)布到Intel軟件倉庫3、提供RPM

Build

Spec4、集成到Anolis軟件倉庫用戶證言Intel在龍蜥社區(qū)中將機(jī)密計(jì)算如SGX和TDX技術(shù)落地,服務(wù)于我們的客戶。

Intel目前提供了以SGX

SDK/P-SW/DCAP,

TDX

DCAP軟件包為代表的TEE基礎(chǔ)架構(gòu)支撐,和基于LibOS的運(yùn)行時(shí)支持Gramine。并以這些為基礎(chǔ)支持了其他LibOS運(yùn)行時(shí)如螞蟻的Occlum,以及更高層次的機(jī)密計(jì)算應(yīng)用,例如SGX虛擬化及SGX/TDX機(jī)密容器。1415Intel

TDX:

Intel安全虛擬化技術(shù)技術(shù)自身介紹背景近年來,隨著隱私保護(hù)的呼聲和關(guān)注度越來越高,越來越多的人開始關(guān)注集中化的云基礎(chǔ)設(shè)施存在泄露租戶隱私和敏感數(shù)據(jù)的風(fēng)險(xiǎn)。在此背景下,機(jī)密計(jì)算這一新的計(jì)算形態(tài)應(yīng)運(yùn)而生。機(jī)密計(jì)算是通過在基于硬件的可信執(zhí)行環(huán)境(Trusted

Execution

Environment,TEE)中執(zhí)行計(jì)算過程的全新計(jì)算模式,它能夠?qū)κ褂弥械臄?shù)據(jù)進(jìn)行保護(hù)與隔離,防止具有特權(quán)的云基礎(chǔ)設(shè)施提供方對(duì)租戶的應(yīng)用程序和數(shù)據(jù)進(jìn)行未經(jīng)授權(quán)的訪問。問題&挑戰(zhàn)越來越多的租戶業(yè)務(wù)尤其是企業(yè)負(fù)載需要利用云計(jì)算提供的彈性資源進(jìn)行海量數(shù)據(jù)處理。這類租戶要求CSP能夠提供更好的安全和隔離解決方案,尤其是在處理租戶敏感數(shù)據(jù)這一計(jì)算階段的過程中,租戶的敏感數(shù)據(jù)不能以明文形式暴露在內(nèi)存中,而租戶的安全性又不依賴于CSP。解決方案Intel

Trust

Domain

Extensions(簡稱TDX)引入了一種新的、基于硬件隔離的虛擬機(jī)工作負(fù)載形態(tài),所謂的Trust

Domain(簡稱TD)。TDX是一種典型的機(jī)密計(jì)算技術(shù),可以在在租戶不可信的云基礎(chǔ)設(shè)施上,為租戶的工作負(fù)載提供一個(gè)系統(tǒng)級(jí)(相比Intel

SGX機(jī)密計(jì)算技術(shù)提供的應(yīng)用級(jí)粒度)的安全可信的執(zhí)行環(huán)境,同時(shí)保證租戶運(yùn)行環(huán)境的機(jī)密性和完整性。為此,需要將當(dāng)前租戶的TD,與CSP控制的特權(quán)級(jí)系統(tǒng)組件(比如VMM/hypervisor)、VM以及其他租戶的TD都隔離開來,并將它們排除出當(dāng)前租戶的TCB,以確保當(dāng)前租戶的TD不受上述組件的影響。與VM相比,TD額外增加了以下能力:提供了VM內(nèi)存的機(jī)密性和完整性保護(hù)地址轉(zhuǎn)換完整性保護(hù)CPU狀態(tài)機(jī)密性和完整性保護(hù)對(duì)安全中斷和異常的分發(fā)機(jī)制遠(yuǎn)程證明TDX技術(shù)綜合了MKTME(多密鑰全加密內(nèi)存)與VMX虛擬化技術(shù),再添加新的指令集、處理器模式和強(qiáng)制實(shí)施的訪問控制等設(shè)計(jì)。Trust

DomainUnmodi?edApplicationsUnmodi?edDriversTDX-EnlightenedOSTrust

DomainUnmodi?edApplicationsUnmodi?edDriversTDX-EnlightenedOSLegacy

VMApplicationsDriversOSLegacy

VMApplicationsDriversOSTDX-AwareHost

VMMPlatform(Cores,Caches,Devices

etc.)IntelTDXModuleRunninginSEAMRoot

ModeIntelTDXHost-SideInterfaceIntelTDXGuest-Side

InterfaceIntelTDXGuest-Side

InterfaceHostVMMmanagedaccess

controlenhancedwith

MK-TMEIntelTDXmodulemanagedaccess

controlleveragingMK-TMEandSecure

EPT用戶情況目前Intel

TDX已經(jīng)在主流云平臺(tái)上提供相關(guān)實(shí)例或部署計(jì)劃:1、

阿里云8代ECS

提供的TDX機(jī)密計(jì)算實(shí)例已經(jīng)上線邀測。2、

Microsoft

Azure

TDX機(jī)密計(jì)算實(shí)例也計(jì)劃今年晚些時(shí)候提供服務(wù)。1617AMD

SEV:

AMD安全加密虛擬化技術(shù)項(xiàng)目位置鏈接/AMDESE/AMDSEV技術(shù)自身介紹背景機(jī)密計(jì)算指的是在Secureor

Trusted執(zhí)行環(huán)境中進(jìn)行計(jì)算操作,以防止正在做計(jì)算的敏感數(shù)據(jù)被泄露或者修改。機(jī)密計(jì)算的核心是Trusted

Execution

Environment

(TEE),TEE既可基于硬件實(shí)現(xiàn)、也可基于軟件實(shí)現(xiàn),本文主要專注于基于硬件和密碼學(xué)原理的實(shí)現(xiàn),相比于純軟件解決方案,具有較高的通用性、易用性、可靠性、較優(yōu)的性能以及更小的TCB。其缺點(diǎn)是需要引入可信方,即信任芯片廠商。此外由于CPU相關(guān)實(shí)現(xiàn)屬于TCB,側(cè)信道攻擊也成為不可忽視的攻擊向量,需要關(guān)注相關(guān)漏洞和研究進(jìn)展。問題&挑戰(zhàn)隨著越來越多的業(yè)務(wù)上云,端到端的全鏈路可信或機(jī)密正在慢慢成為公有云基礎(chǔ)設(shè)施的默認(rèn)要求而不再是一個(gè)特性,需要綜合利用加密存儲(chǔ)、安全網(wǎng)絡(luò)傳輸、機(jī)密計(jì)算等技術(shù)來實(shí)現(xiàn)對(duì)用戶敏感數(shù)據(jù)全生命周期的保護(hù)。機(jī)密計(jì)算是當(dāng)前業(yè)界正在補(bǔ)齊的環(huán)節(jié),主流的硬件平臺(tái)已經(jīng)部分提供或正在實(shí)現(xiàn)對(duì)機(jī)密計(jì)算的支持,如AMDSEV,Intel

TDX和SGX,Arm

CCA,IBM

SE和RISC-V的KeyStone等。解決方案AMDSEV技術(shù)基于AMD

EPYC

CPU,將物理機(jī)密計(jì)算能力傳導(dǎo)至虛擬機(jī)實(shí)例,在公有云上打造一個(gè)立體化可信加密環(huán)境。SEV可保證單個(gè)虛擬機(jī)實(shí)例使用獨(dú)立的硬件密鑰對(duì)內(nèi)存加密,同時(shí)提供高性能支持。密鑰由AMD平臺(tái)安全處理器

(PSP)在實(shí)例創(chuàng)建期間生成,而且僅位于處理器中,云廠商無法訪問這些密鑰。AMD

SEV提供了硬件級(jí)的內(nèi)存加密方案,

用以實(shí)現(xiàn)安全加密的虛擬化:內(nèi)存控制器中集成了AES-128硬件加速引擎:

客戶操作系統(tǒng)通過頁表選擇要加密的頁,

對(duì)終端用戶的應(yīng)用程序沒有任何改變。AMD安全內(nèi)存加密(SME):所有內(nèi)存由單一的密鑰進(jìn)行加密,

僅僅在BIOS中開啟就可以實(shí)現(xiàn)(TSME)。AMD安全加密虛擬化(SEV):

每臺(tái)虛擬機(jī)都會(huì)被分配自己的獨(dú)立加密密鑰,

宿主機(jī)和客戶虛擬機(jī)之間相互加密隔離。Con?dential

Virtual

Machine也可以稱作Secure

Virtual

Machine

(SVM),是最終實(shí)現(xiàn)機(jī)密計(jì)算的實(shí)體,本身作為一個(gè)可信域存在,SVM自身和在其中運(yùn)行的用戶程序可以不受來自SVM之外的非可信特權(quán)軟件和硬件的的攻擊,從而實(shí)現(xiàn)對(duì)用戶的機(jī)密數(shù)據(jù)和代碼的保護(hù)。因?yàn)槭钦麄€(gè)虛擬機(jī)作為一個(gè)可信域,所以對(duì)運(yùn)行于其中的用戶程序可以做到透明,無需重構(gòu)用戶程序,對(duì)最終用戶而言可以實(shí)現(xiàn)零成本可信

(Trust

Native)。用戶情況目前AMD

SEV

已經(jīng)在主流的云平臺(tái)上都已經(jīng)提供相關(guān)的實(shí)例和部署:1、阿里云G8ae實(shí)例商業(yè)化中。2、Google公有云已經(jīng)提供2代AMDSEV的機(jī)密計(jì)算實(shí)例。3、Microsoft

Azure公有云已經(jīng)提供了AMD

SEV的機(jī)密計(jì)算實(shí)例和機(jī)密計(jì)算容器方案。AMDX86

CPUAMD1819ARM

CCA:

Arm安全加密虛擬化技術(shù)項(xiàng)目位置鏈接Veracuz:

/veracruz-project/veracruzVERAISON-VERi?cAtIonofatteStatiON:

/veraison/veraison技術(shù)自身介紹問題&挑戰(zhàn)TrustZone是Arm為設(shè)備安全提供的一個(gè)安全架構(gòu),通過硬件隔離和權(quán)限分層的方式將系統(tǒng)內(nèi)分為安全世界(Secure

world)和正常世界(Normal

/

Non-Secure

world)。在安全環(huán)境中,通過底層硬件隔離,不同執(zhí)行級(jí)別,安全鑒權(quán)方式等方式,從最根本的安全機(jī)制上提供基于信任根(Root

of

Trust)的可信執(zhí)行環(huán)境TEE(Trusted

Execution

Environment),通過可信服務(wù)(TrustedServices)接口與和通用環(huán)境REE(Rich

Execution

Environment)進(jìn)行安全通信,可以保護(hù)TEE中的安全內(nèi)容不能被非安全環(huán)境的任何軟件,包括操作系統(tǒng)底層軟件等所訪問,竊取,篡改和偽造等。因此一些安全的私密數(shù)據(jù),比如一些安全密鑰,密碼,指紋以及人臉數(shù)據(jù)等都是可以放在安全世界的數(shù)據(jù)區(qū)中進(jìn)行保護(hù)。當(dāng)前,Trustzone機(jī)制已經(jīng)非常成熟穩(wěn)定,并得到大規(guī)模的應(yīng)用,并以開源的方式給業(yè)界提供實(shí)現(xiàn)參考??梢栽L問https://www.trusted?/

獲取更多信息。然而,TrustZone所提供的安全機(jī)制和TEE環(huán)境只能提供硬件級(jí)別的安全隔離。通常情況下,安全物理地址空間的內(nèi)存在系統(tǒng)引導(dǎo)時(shí)靜態(tài)分配,適用于數(shù)量有限的平臺(tái)。對(duì)于大規(guī)模云服務(wù)器的機(jī)密計(jì)算,旨在允許任何第三方開發(fā)人員保護(hù)他們的虛擬機(jī)(VM)或應(yīng)用程序,必須能夠在運(yùn)行時(shí)保護(hù)與VM或應(yīng)用程序關(guān)聯(lián)的任何內(nèi)存,而不受限制或分割。解決方案Arm

CCA引入了一種新的機(jī)密計(jì)算世界:機(jī)密領(lǐng)域(Realm)。在Arm

CCA中,硬件擴(kuò)展被稱為RealmManagement

Extension

(RME),RME

會(huì)和被稱之為機(jī)密領(lǐng)域管理監(jiān)控器(Realm

Management

Monitor,RMM),用來控制機(jī)密領(lǐng)域的專用固件,及在

Exception

level

3

中的

Monitor

代碼交互。Realm是一種Arm

CCA環(huán)境,能被Normalworld主機(jī)動(dòng)態(tài)分配。主機(jī)是指能管理應(yīng)用程序或虛擬機(jī)的監(jiān)控軟件。Realm及其所在平臺(tái)的初始化狀態(tài)都可以得到驗(yàn)證。這一過程使Realm的所有者能在向它提供任何機(jī)密前就建立信任。因此,Realm不必繼承來自控制它的Non-secure

hypervisor的信任。主機(jī)可以分配和管理資源配置,管理調(diào)度Realm虛擬機(jī)。然而,主機(jī)不可以監(jiān)控或修改Realm執(zhí)行的指令。在主機(jī)控制下,Realm可以被創(chuàng)建并被銷毀。通過主機(jī)請(qǐng)求,可以增加或移除頁面,這與hypervisor管理任何其他非機(jī)密虛擬機(jī)的操作方式類似。Arm

CCA技術(shù)能夠從根本上解決用戶敏感應(yīng)用數(shù)據(jù)的安全計(jì)算問題。它充分利用軟硬件實(shí)現(xiàn)的信任根提供的數(shù)據(jù)和程序的物理隔離、保護(hù)、通信和認(rèn)證體系,并在傳統(tǒng)TrustZone的基礎(chǔ)上,增加了被稱為領(lǐng)域(Realm)的隔離區(qū)域,從最底層的安全機(jī)制和原理上解決用戶程序和數(shù)據(jù)的隔離需求。當(dāng)前應(yīng)用情況Realm內(nèi)運(yùn)行的代碼將管理機(jī)密數(shù)據(jù)或運(yùn)行機(jī)密算法,這些代碼需要確保正在運(yùn)行真正的Arm

CCA平臺(tái),而不是冒充者。這些代碼還需要知道自己已經(jīng)被正確地加載,沒有遭到篡改。并且,這些代碼還需要知道整個(gè)平臺(tái)或Realm并不處于可能導(dǎo)致機(jī)密泄露的調(diào)試狀態(tài)。建立這種信任的過程被稱為“證明”。ARM正在與包括機(jī)密計(jì)算聯(lián)盟成員在內(nèi)的主要行業(yè)合作伙伴合作,定義這一證明機(jī)制的屬性,確保在不同的產(chǎn)品和設(shè)備上使用常見的平臺(tái)真實(shí)性和來源方法。Arm主導(dǎo)的開源軟件Veracuz是一個(gè)框架,用于在一組相互不信任的個(gè)人之間定義和部署協(xié)作的、保護(hù)隱私的計(jì)算;VERAISON-VERi?cAtIon

of

atteStatiON構(gòu)建可用于證明驗(yàn)證服務(wù)的軟件組件。Armv9-A架構(gòu)引入了Arm

CCA的RME功能特性,采用對(duì)應(yīng)架構(gòu)的芯片也將擁有此項(xiàng)功能。此外,基于CCA的軟件支持已經(jīng)在虛擬硬件平臺(tái)上進(jìn)行開發(fā)、測試和驗(yàn)證,將在硬件設(shè)備問世的同時(shí)實(shí)現(xiàn)同步支持。更多信息,可以訪問

/armcca

獲取更多信息。ArmCon?dentialCompute

ArchitectureArm

CCA

builds

on

widely

adopted

TrustZone

programming

modelto

protect

User

Code

and

DataVM1App AppOS

KernelHypervisorTATASecureServiceTOSSPMEL0EL1EL2EL3MonitorTATASecureServiceTOSSPMEL0EL1EL2EL3MonitorSecurity

State/PA

SpaceNon-Secure

PASecure

PANon-SecureAllowBlockSecureAllowAllowSecurity

State/PA

SpaceNon-Secure

PASecure

PARealm

PARoot

PANon-SecureAllowBlockBlockBlockSecureAllowAllowBlockBlockRealmAllowBlockAllowBlockRootAllowAllowAllowAllowTrustZoneNon-securesecureRealmManagement

ExtensionRealm Non-secure secureApp AppVM1RMIV App AppM1 OS

KernelHypervisorOS

KernelRSIRMM2021Intel

SGX

SDK/PSW/DCAP:Intel

SGX軟件開發(fā)套件和平臺(tái)軟件服務(wù)Intel

SGX

Platform

Software

and

Datacenter

Attestation

Primitives

(PSW/DCAP)

在龍蜥生態(tài)中為數(shù)據(jù)中心和云計(jì)算平臺(tái)提供

Intel

SGX

技術(shù)所需的平臺(tái)軟件服務(wù),如遠(yuǎn)程證明等。Intel

SGXSDK在龍蜥生態(tài)中為開發(fā)者提供使用

Intel

SGX

技術(shù)所需的軟件開發(fā)套件,幫助開發(fā)者高效便捷地開發(fā)機(jī)密計(jì)算程序和解決方案。本文介紹如何在Anolis

OS

8.6當(dāng)中基于Intel

SGX

SDK/PSW/DCAP構(gòu)建SGX機(jī)密計(jì)算環(huán)境,并演示如何運(yùn)行示例代碼以驗(yàn)證SGX功能。背景信息Intel?

SGX以硬件安全保障信息安全,不依賴固件和軟件的安全狀態(tài),為用戶提供物理級(jí)的機(jī)密計(jì)算環(huán)境。Intel?

SGX通過新的指令集擴(kuò)展與訪問控制機(jī)制實(shí)現(xiàn)SGX程序的隔離運(yùn)行,保障關(guān)鍵代碼和數(shù)據(jù)的機(jī)密性與完整性不受惡意軟件的破壞。不同于其他安全技術(shù),Intel?

SGX的可信根僅包括硬件,避免了基于軟件的可信根可能自身存在安全漏洞的缺陷,極大地提升了系統(tǒng)安全保障。檢查SGX

使能狀態(tài)構(gòu)建SGX機(jī)密計(jì)算環(huán)境前,您可以通過cpuid檢查SGX使能狀態(tài)。1、安裝cpuid。sudo

yum

install

-y

cpuid2、檢查SGX使能狀態(tài)。cpuid

-1

-l

0x7

|

grep

SGX說明

SGX被正確使能后,運(yùn)行SGX程序還需要SGX驅(qū)動(dòng)。3、檢查SGX驅(qū)動(dòng)安裝情況。ls-l

/dev/{sgx_enclave,sgx_provision}開始構(gòu)建SGX機(jī)密計(jì)算環(huán)境為開發(fā)SGX程序,您需要在您的機(jī)器上安裝運(yùn)行時(shí)(runtime)、SDK,并配置遠(yuǎn)程證明服務(wù)。本文以Anolis

OS

8.6為例演示構(gòu)建過程,您也可以直接參考Intel官方提供的Intel?SGX軟件安裝指南安裝所需的驅(qū)動(dòng)、PSW等。1.

安裝SGX運(yùn)行時(shí)框架編程Programming

Framework2223可按需安裝更多庫:sudo

yum

install

--nogpgcheck

-y

libsgx-ae-le

libsgx-ae-pce

libsgx-ae-qe3

libsgx-ae-qve

\libsgx-aesm-ecdsa-pluginlibsgx-aesm-launch-pluginlibsgx-aesm-pce-plugin

\libsgx-aesm-quote-ex-pluginlibsgx-dcap-default-qpllibsgx-dcap-ql

\libsgx-dcap-quote-verifylibsgx-enclave-commonlibsgx-launchlibsgx-pce-logic

\libsgx-qe3-logic

libsgx-quote-ex

libsgx-ra-network

libsgx-ra-ue?

\libsgx-uae-servicelibsgx-urtssgx-ra-service

sgx-aesm-service安裝Intel?

SGX

SDK后,您可以參見Intel?

SGX

DeveloperReference開發(fā)SGX程序。說明

Intel?

SGX

SDK的默認(rèn)安裝目錄為 /opt/intel/sgxsdk/ 。3.

配置SGX遠(yuǎn)程證明服務(wù)Intel?

SGX

ECDSA遠(yuǎn)程證明服務(wù)通過遠(yuǎn)程證明來獲得遠(yuǎn)程提供商或生產(chǎn)者的信任,為SGX

SDK提供下列信息:1、SGX

certi?cates:SGX證書。mkdir-p

$HOME/sgx&&\cd$HOME/sgx&&

\wget/intel-sgx/latest/linux-latest/dis-tro/Anolis86/sgx_rpm_local_repo.tgz--no-check-certi?cate&&

\tarzxvfsgx_rpm_local_repo.tgz&&

\sudo

yum

install

-y

yum-utils

&&

\sudo

yum-con?g-manager

--add-repo

?le://$HOME/sgx/sgx_rpm_local_repo/

&&

\sudoyuminstall--nogpgcheck-ysgx-aesm-servicelibsgx-launchlibsgx-urts&&\rm-rf

sgx_rpm_local_repo.tar.gz說明

SGX

AESM(Architectural

Enclave

Service

Manager)負(fù)責(zé)管理啟動(dòng)Enclave、密鑰配置、遠(yuǎn)程認(rèn)證等服務(wù),默認(rèn)安裝路徑為/opt/intel/sgx-aesm-service。2.

安裝SGX

SDKcd$HOME/sgx&&

\exportSGX_VERSION=""&&

\wget/intel-sgx/latest/linux-latest/dis-tro/Anolis86/sgx_linux_x64_sdk_$SGX_VERSION.bin--no-check-certi?cate&&\chmod+xsgx_linux_x64_sdk_$SGX_VERSION.bin&&

\echo-e'n\n\/opt/intel\n'|./sgx_linux_x64_sdk_$SGX_VERSION.bin

&&\rm-rf

sgx_linux_x64_sdk_$SGX_VERSION.bin&&\source

/opt/intel/sgxsdk/environment2、Revocation

lists:已被撤銷的SGX證書列表。3、Trusted

computing

base

information:可信根信息。說明

Intel

Ice

Lake僅支持基于Intel

SGX

DCAP的遠(yuǎn)程證明方式,不支持基于IntelEPID的遠(yuǎn)程證明方式,您可能需要適配程序后才能正常使用遠(yuǎn)程證明功能。更多遠(yuǎn)程證明的信息,請(qǐng)參見attestation-service。配置QPL及PCK緩存服務(wù):1、安裝Quote

Provider

Library

(QPL)。您可以使用自己定制的

QPL

或使用

Intel

提供的默認(rèn)

QPL(libsgx-dcap-default-qpl)2、安裝

PCK緩存服務(wù)。PCK

Caching

Service的安裝配置請(qǐng)參考Intel官方PCCS文檔:SGXDataCenter-AttestationPrimitives3、確保

PCK

緩存服務(wù)由本地管理員或數(shù)據(jù)中心管理員正確設(shè)置。還要確保引用提供程序庫的配置文件(/etc/sgx_default_qcnl.conf)與真實(shí)環(huán)境一致,例如:2425PCS_URL=https://your_pcs_server:8081/sgx/certi?cation/v3/驗(yàn)證SGX功能示例一:啟動(dòng)EnclaveIntel?

SGX

SDK中提供了SGX示例代碼用于驗(yàn)證SGX功能,默認(rèn)位于/opt/intel/sgxsdk/SampleCode目錄下。本節(jié)演示其中的啟動(dòng)Enclave示例(SampleEnclave),效果為啟動(dòng)一個(gè)Enclave,以驗(yàn)證是否可以正常使用安裝的SGX

SDK。1.

安裝編譯工具及相關(guān)依賴yuminstall-y

gcc-c++2.

設(shè)置SGX

SDK相關(guān)的環(huán)境變量source

/opt/intel/sgxsdk/environment3.

編譯示例代碼SampleEnclave進(jìn)入SampleEnclave目錄cd

/opt/intel/sgxsdk/SampleCode/SampleEnclave編譯SampleEnclavemake運(yùn)行編譯出的可執(zhí)行文件./app預(yù)期的結(jié)果為:Checksum(0x0x7?d989a81e0,100)=

0x?fd4143Info:

executing

thread

synchronization,

please

wait...gitclone/intel/SGXDataCenterAttestationPrimitives-b

DCAP_1.15cd

SGXDataCenterAttestationPrimitives/SampleCode/QuoteGenerationSamplegitclone/intel/SGXDataCenterAttestationPrimitives-b

DCAP_1.15cd

SGXDataCenterAttestationPrimitives/SampleCode/QuoteVeri?cationSampleInfo:SampleEnclavesuccessfully

returned.Enter

a

character

before

exit

...2627驗(yàn)證SGX功能示例二:SGX遠(yuǎn)程證明示例Intel?

SGX

SDK中提供了SGX示例代碼用于驗(yàn)證SGX功能,默認(rèn)位于/opt/intel/sgxsdk/SampleCode目錄下。本節(jié)演示其中的SGX遠(yuǎn)程證明示例(QuoteGenerationSample、QuoteVeri?cationSample),效果為生成和驗(yàn)證Quote。該示例涉及被挑戰(zhàn)方(在SGX實(shí)例中運(yùn)行的SGX程序)和挑戰(zhàn)方(希望驗(yàn)證SGX程序是否可信的一方),其中QuoteGenerationSample為被挑戰(zhàn)方生成Quote的示例代碼,QuoteVeri?cationSample為挑戰(zhàn)方驗(yàn)證Quote的示例代碼。1.

安裝編譯工具及相關(guān)依賴yuminstall-y

git2.

設(shè)置SGX

SDK相關(guān)的環(huán)境變量source

/opt/intel/sgxsdk/environment3.

安裝SGX遠(yuǎn)程證明依賴的包yum

install

--nogpgcheck

-y

libsgx-dcap-ql-devel

libsgx-dcap-quote-verify-devel4.

編譯被挑戰(zhàn)方示例代碼QuoteGenerationSample進(jìn)入QuoteGenerationSample目錄編譯QuoteGenerationSamplemake運(yùn)行編譯出的可執(zhí)行文件生成Quote./app預(yù)期的結(jié)果為:sgx_qe_set_enclave_load_policy

is

valid

in

in-proc

mode

only

and

it

is

optional:

the

defaultenclaveload

policyispersistent:set

the

enclave

load

policy

as

persistent:succeed!Step1:Call

sgx_qe_get_target_info:succeed!Step2:Call

create_app_report:succeed!Step3:Call

sgx_qe_get_quote_size:succeed!Step4:Callsgx_qe_get_quote:succeed!cert_key_type=

0x5sgx_qe_cleanup_by_policy

is

valid

in

in-proc

mode

only.Clean

up

the

enclave

load

policy:succeed!5.

編譯挑戰(zhàn)方示例代碼QuoteVeri?cationSample進(jìn)入QuoteGenerationSample目錄編譯QuoteVeri?cationSamplemake生成簽名密鑰openssl

genrsa

-out

Enclave/Enclave_private_sample.pem

-3

3072對(duì)QuoteVeri?cationSample

Enclave進(jìn)行簽名/opt/intel/sgxsdk/bin/x64/sgx_sign

sign

-key

Enclave/Enclave_private_sample.pem

-enclaveenclave.so

-out

enclave.signed.so

-con?g

Enclave/Enclave.con?g.xml運(yùn)行編譯出的可執(zhí)行文件驗(yàn)證Quote./app預(yù)期的結(jié)果為:Info:ECDSAquotepath:

../QuoteGenerationSample/quote.datTrustedquote

veri?cation:Info:

get

target

info

successfully

returned.Info:sgx_qv_set_enclave_load_policysuccessfully

returned.Info:tee_get_quote_supplemental_data_version_and_sizesuccessfullyreturned.Info:

latest

supplemental

data

major

version:

3,

minor

version:

1,

size:

336Info:App:

tee_verify_quotesuccessfullyreturned.Info:

Ecall:

Verify

QvE

report

and

identity

successfully

returned.Info:

App:

Veri?cation

completed

successfully.Info:

Supplemental

data

Major

Version:

3Info:

Supplemental

data

Minor

Version:

1===========================================Untrustedquote

veri?cation:Info:tee_get_quote_supplemental_data_version_and_sizesuccessfullyreturned.Info:

latest

supplemental

data

major

version:

3,

minor

version:

1,

size:

336Intel

Homomorphic

Encryption:

Intel平臺(tái)同態(tài)加密加速框架項(xiàng)目位置鏈接IntelHEToolkit:

/intel/he-toolkitIntelHEXL:

/intel/hexlIntelPaillierCryptosystemLibrary(IPCL):

/intel/pailliercryptolibHEBench:

/hebench技術(shù)自身介紹背景同態(tài)加密是一種滿足同態(tài)運(yùn)算性質(zhì)的加密技術(shù),即在對(duì)密文進(jìn)行特定形式的代數(shù)運(yùn)算之后,得到的仍然是加密的結(jié)果,將其解密所得到的結(jié)果與對(duì)原始明文進(jìn)行運(yùn)算得出的結(jié)果一致。由于運(yùn)算完全在密文上進(jìn)行,同態(tài)加密可以提供極高的數(shù)據(jù)安全保證,其被廣泛地應(yīng)用于隱私保護(hù)計(jì)算、聯(lián)邦學(xué)習(xí)和區(qū)塊鏈等領(lǐng)域。問題&挑戰(zhàn)雖然同態(tài)加密技術(shù)發(fā)展了許多年,但由于其技術(shù)復(fù)雜度高,對(duì)計(jì)算、存儲(chǔ)和網(wǎng)絡(luò)帶寬資源要求高等原因,面臨著開發(fā)、使用和部署門檻高的問題。為了解決上述問題,Intel提供了一系列工具套件和加速庫,包括IntelHE

Toolkit、Intel

HE

Acceleration

Library

(Intel

HEXL)和Intel

Paillier

CryptosystemLibrary(IPCL)。另一方面,同態(tài)加密技術(shù)正在經(jīng)歷標(biāo)準(zhǔn)化的過程,盡管涌現(xiàn)出了許許多多同態(tài)加密應(yīng)用,但是缺乏一個(gè)公認(rèn)的基準(zhǔn)評(píng)價(jià)體系,針對(duì)這個(gè)問題,Intel向開源社區(qū)貢獻(xiàn)了Homomorphic

Encryption

Benchmarking

Frame-work(

HEBench)。解決方案如下圖所示,Intel提供了對(duì)于同態(tài)加密技術(shù)的全棧式支持。在半同態(tài)加密方面,Intel提供了通過ISO認(rèn)證的Paillier算法庫IPCL,它使用了IntelIPP-Crypto庫提供的AVX512IFMA指令集加速的能力,在最新的Intel

Xeon平臺(tái)上有優(yōu)異的性能表現(xiàn)。在Leveled

HE方面,依托于Intel

Xeon平臺(tái)最新的指令集加速以及FPGA的硬件加速能力,Intel

HEXL封裝了底層硬件細(xì)節(jié),向上提供了加速的密碼學(xué)運(yùn)算接

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論