【機密運算下的IT角色變化】右側是傳統的IT服務模式,系統管理人員在面對IT基礎架構時,著重的是維運,對於資料存取的保證,是基於信任、透明度、控制;左側則是機密運算所要達成的目標,為了因應資料外洩日益嚴重的態勢,系統管理人員可以從技術的角度來確保他們無法接觸到資料內容。(圖片來源/IBM)
在2018年1月,Google的Project Zero團隊揭露震驚IT界的資安漏洞,那就是目前許多處理器普遍採用的推測執行技術(speculative execution),雖然用於改善運算效能,但可能會導致嚴重的資安漏洞,也就是眾所周知的Spectre與Meltdown,而這項漏洞影響的處理器廠商,主要有英特爾、AMD、Arm,其中又以英特爾受到最大的責難壓力。這幾年以來,雖然三家廠商都在持續關注與修補,直到2020年下半,相關風波才逐漸平息,但從此之後,處理器是否具有資安漏洞、如何緩解,已成為IT界發展各式應用的重大隱憂。而這樣的漏洞危機,在2019年9月,也促使機密運算聯盟(Confidential Computing Consortium)的成立。
【機密運算下的IT角色變化】右側是傳統的IT服務模式,系統管理人員在面對IT基礎架構時,著重的是維運,對於資料存取的保證,是基於信任、透明度、控制;左側則是機密運算所要達成的目標,為了因應資料外洩日益嚴重的態勢,系統管理人員可以從技術的角度來確保他們無法接觸到資料內容。(圖片來源/IBM)
兩大處理器廠商陸續投入機密運算
在爆發上述漏洞危機前,處理器廠商已陸續發展出相關的硬體防護技術,希望實現「可信任執行環境(Trusted Execution Environment,TEE)」。
英特爾SGX
英特爾在2013年推出的軟體防護擴充指令集(Software Guard Extensions,SGX),首度應用的產品,是2015年登場的Skylake架構第6代Core桌上型電腦與筆電處理器,以及工作站與伺服器等級的處理器Xeon E3 v5系列,同年11月開始支援Windows 10作業系統。
隔年英特爾推出SGX SDK for Linux OS 1.5版,提供Linux作業系統支援,而2017年RSA資安大會期間,英特爾也發佈消息,強調SGX可以保護正在使用的資料(Data in use)。
後續推出的Xeon E系列也內建SGX──2018年11月推出Xeon E-2100系列,2019年11月初推出Xeon E-2200系列)。到了2019年2月舉行的RSA大會,英特爾展出專屬介面卡產品SGX Card。
在2021年4月發表的第三代Xeon Scalable系列,全面支援SGX,象徵該公司的機密運算技術,躋身主流伺服器平臺,可望帶動更多雲端服務業者、軟體廠商、企業的研發與建置使用。
AMD SEV
另一家處理器廠商AMD,則是在2013、2014年推出的APU處理器,增添了平臺安全處理器(Platform Security Processor,PSP),而能以此支援可信任執行環境的應用方式──PSP是基於Arm Cortex-A5核心而成,裡面提供了TrustZone進階資料防護技術。
到了2017年以後,他們推出Zen架構的PC與伺服器處理器,又增添了硬體記憶體加密技術──在處理器當中,包含了嵌入記憶體控制器的AES-128硬體加密引擎,以及專屬的安全處理器AMD Secure Processor(AMD-SP,也就是上述的PSP),而結合兩者之後,也促成了安全記憶體加密(SME),以及安全加密虛擬化(SEV)這兩大新防護技術。
以伺服器處理器為例,AMD在2017年6月發表的第一代EPYC(7001系列)開始內建SME與SEV。兩種技術有何異同?共通點在於,應用程式不需修改即可使用,而兩者的差異在於:SME用於單支金鑰的防護,在系統開機時產生金鑰,若需啟用這項防護,是從BIOS或作業系統來著手;SEV是用於多支金鑰的防護(每臺虛擬機器或每個虛擬化平臺配置單支金鑰),由AMD-SP與Hypervisor來管理金鑰,若需啟用這項防護,是從Hypervisor與虛擬機器執行的作業系統來著手。同年11月,Linux系統核心4.14版開始支援SEV。
2019年8月AMD推出第二代EPYC(7002系列),公有雲業者GCP看好SEV,而在隔年7月運用這款處理器,推出該公司首款機密VM服務N2D系列。
而由於第二代EPYC增設了安全加密虛擬化-加密狀態技術(SEV-ES),相較於SEV是針對虛擬機器的記憶體存取提供加密保護,SEV-ES則會進一步對CPU的暫存器執行加密,為此,AMD也尋求與其他IT廠商合作,希望能夠發展相關應用。結果率先支援的是VMware,在2020年9月,他們宣布伺服器虛擬化平臺vSphere的7.0 Update1版,將支援SEV-ES;2021年3月vSphere 7.0 Update2登場,VMware運用SEV-ES來提供Confidential vSphere Pod的功能,可促使虛擬機器記憶體持續處於加密狀態,以便防護從Hypervisor層發動的惡意存取行為。
2021年3月他們發表第三代EPYC(7003系列),GCP也宣布將基於這款處理器推出C2D系列執行個體服務,並比照現行的N2D系列,使其同時支援一般用途與機密運算的VM服務。
此外,第三代EPYC處理器又繼續擴充SEV技術陣容,AMD加入安全加密虛擬化-安全巢狀記憶體分頁技術(SEV-SNP),當中新增記憶體完整性防護功能,可針對從Hypervisor層建立隔離執行環境的惡意攻擊手法,提供預防機制。但截至目前為止,尚無公有雲與系統軟體針對這項新特色提供應用上的支援與合作。
而在上述x86平臺之外,IBM大型主機系統、Arm等處理器平臺,也強化機密運算相關功能,希望能以此延伸或擴大應用場景,我們會在接下來的幾篇文章單獨介紹。
【機密運算相關技術涵蓋與區分】關於各種保護「正在使用的資料(Data in use)」的技術,由多家IT廠商組成的機密運算聯盟針對產業的相關用語做了相關調查,產生了上面的關係圖。而這樣的呈現,也顯示大家看待機密運算應用的不同與共通角度。(圖片來源/機密運算聯盟)
公有雲陸續推出機密運算服務,期盼大幅提升資料安全
發展與推動機密運算技術的最主的理由,在於保護「正在使用的資料」,而擁有龐大、多樣工作負載的公有雲服務環境,毫無意外地,成為當前投入態度最為積極的應用場域。
像是微軟Azure、IBM Cloud、GCP,都陸續推出執行個體服務,他們搭配的運算平臺,大多是上述的英特爾內建SGX的Xeon處理器,以及AMD EPYC處理器,而這些都是可以支援一般用途的伺服器處理器平臺。
這意味著,其他雲端服務業者也能跟進這樣的策略,推出同類型服務,而隨著基礎系統軟體平臺的支援,這些業者若要推出機密運算執行個體服務,應該不會有太高的進入門檻。
因此,各家雲服務業者應該要思考的是,如何突顯本身技術對於支援這類應用的競爭優勢,甚至是必須發展更多元的周邊延伸應用,或以此來替旗下其他雲服務與資料處理軟體加值。以目前來看,微軟在這方面的發展,已做出不錯的示範。
而在運算平臺的多樣性而言,我們看到IBM Cloud由於身兼大型主機系統廠商,因此,他們先是發展與提供基於這種架構的機密運算保護機制,後續也與其他機密運算應用廠商合作,搭配Intel SGX來提供解決方案,在2020年11月,也展示紅帽OpenShift與AMD SEV之間的整合應用。
而此舉讓我們想到,另一家公有雲業者GCP也有類似舉動,在2020年10月,他們宣布推出Confidential GKE Nodes預覽版,顯然容器、Kubernetes會是下一個兵家必爭之地。
至於公有雲業者的龍頭AWS,作法與眾不同,在2020年10月,他們推出Nitro Enclaves的延伸應用,用戶可以此針對基於Nitro System 而成的EC2執行個體,建立隔離環境,運作上,Nitro Enclaves會從原本的EC2執行個體當中,透過額外的處理器與記憶體分割來提供隔離區。
【微軟提供3種機密運算VM,橫跨兩大處理器平臺】在今年5月舉行的Build全球開發者大會期間,微軟揭露他們可提供3種機密運算執行個體服務,當中囊括Intel SGX、AMD SEV等兩大記憶體加密技術。關於這類服務的應用定位為何這樣畫分,微軟表示,英特爾較早推出這類技術,目前功能涵蓋更為周延,而AMD則是在特色與價格有所區隔。(圖片來源/微軟)
熱門新聞
2024-11-25
2024-11-25
2024-11-25
2024-11-25
2024-11-15
2024-11-15