云計(jì)算關(guān)鍵技術(shù)的探討
摘要:云計(jì)算(cloud computing)中涉及了分布式處理、并行處理和網(wǎng)格計(jì)算、網(wǎng)絡(luò)存儲(chǔ)、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)。本文從云計(jì)算的體系架構(gòu)和服務(wù)角度出發(fā),對云計(jì)算中實(shí)現(xiàn)的訪問控制管理、數(shù)據(jù)管理和虛擬化功能所使用加密算法和虛擬化等關(guān)鍵技術(shù),用計(jì)算機(jī)和網(wǎng)絡(luò)知識(shí)分析了這些技術(shù)存在的問題,提出了需要改進(jìn)的方向。
關(guān)鍵詞:云計(jì)算;云計(jì)算系統(tǒng)架構(gòu);云計(jì)算服務(wù)模式;數(shù)據(jù)技術(shù);虛擬化技術(shù)
隨著數(shù)據(jù)技術(shù)和互聯(lián)網(wǎng)技術(shù)的急速發(fā)展,特別是Web2.0的發(fā)展,互聯(lián)網(wǎng)上的數(shù)據(jù)量高速增長,導(dǎo)致了互聯(lián)網(wǎng)數(shù)據(jù)處理能力的相對不足,同時(shí)用戶對數(shù)據(jù)安全技術(shù)和互聯(lián)網(wǎng)技術(shù)也有了更高層次的需求。但是互聯(lián)網(wǎng)上同樣存在著大量處于閑置狀態(tài)的計(jì)算設(shè)備和存儲(chǔ)資源,以及擁有強(qiáng)大技術(shù)力量的團(tuán)隊(duì),如果將這些閑置的資源和技術(shù)團(tuán)隊(duì)聚合起來統(tǒng)一調(diào)度,提供所需的服務(wù),則可以大大提高設(shè)備和技術(shù)的利用率,讓更多的用戶從中受益,由此云計(jì)算因運(yùn)而生了。
1 云計(jì)算
云計(jì)算(cloud computing)是一種基于Internet的計(jì)算模式,是分布式處理、并行處理和網(wǎng)格計(jì)算、網(wǎng)絡(luò)存儲(chǔ)、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展的融合產(chǎn)物。在云計(jì)算中,存儲(chǔ)和運(yùn)算將不再運(yùn)行在本地計(jì)算機(jī)或服務(wù)器中,而是運(yùn)行在分布于Internet上的大量計(jì)算機(jī)上。云計(jì)算把原來由個(gè)人計(jì)算機(jī)和私有數(shù)據(jù)中心執(zhí)行的任務(wù),轉(zhuǎn)移給分布在Internet上由全體用戶共享的大型計(jì)算中心來完成。云計(jì)算提供商提供計(jì)算機(jī)硬件、軟件等計(jì)算資源的共享以及這些資源的安裝、配置與維護(hù)等服務(wù),用戶使用終端與“云”連接,按自己的需求進(jìn)行運(yùn)算。
所謂的“云”是指分布在Intemet中的形形色色的計(jì)算中心,“云”包含了成千上萬甚至幾十萬臺(tái)計(jì)算機(jī)或服務(wù)器。用戶不需要具有一定的計(jì)算機(jī)技術(shù)和購買高性能的硬件,以及購買或開發(fā)各種功能的軟件,只是使用任何可以上網(wǎng)的設(shè)備,與“云”連接,利用“云”提供的軟件或服務(wù),直接在“云”上處理并存儲(chǔ)數(shù)據(jù)。云計(jì)算的應(yīng)用模式如圖1所示。
2 云計(jì)算體系架構(gòu)和云計(jì)算服務(wù)
云計(jì)算體系架構(gòu)可以分為3層,從下到上依次是基礎(chǔ)管理層、應(yīng)用接口層和訪問層?;A(chǔ)管理層的主要功能是實(shí)現(xiàn)了資源的共享,應(yīng)用接口層的主要功能是對外提供各種服務(wù),訪問層的主要功能是采用云計(jì)算方式實(shí)現(xiàn)的一些具體化應(yīng)用。
云計(jì)算中有3種服務(wù)模式:基礎(chǔ)設(shè)施即服務(wù)IaaS,平臺(tái)即服務(wù)PaaS和軟件即服務(wù)SaaS。云計(jì)算的體系架構(gòu)與云計(jì)算服務(wù)的關(guān)系如圖2所示。
1)基礎(chǔ)設(shè)施即服務(wù)IaaS。IaaS為用戶提供的是底層的、接近于直接操作硬件資源的服務(wù)接口,通過網(wǎng)絡(luò)以標(biāo)準(zhǔn)化服務(wù)的形式提供基本存儲(chǔ)和計(jì)算能力,使用非常自由靈活,幾乎不受邏輯上的限制。IaaS的商業(yè)示例如Joyent,其主要產(chǎn)品是按需提供高度可用的一系列虛擬化服務(wù)器等基礎(chǔ)設(shè)施。
2)平臺(tái)即服務(wù)PaaS。PaaS是為用戶提供API(應(yīng)用編程接口)的,客戶通過API使用該平臺(tái),將自己所開發(fā)和運(yùn)營的應(yīng)用托管到云平臺(tái)中,但是,這個(gè)應(yīng)用的開發(fā)和部署必須遵守該平臺(tái)特定的規(guī)則和限制,如語言、編程框架、數(shù)據(jù)存儲(chǔ)模型。PaaS的商業(yè)示例如Google的GAE,它在Google的基礎(chǔ)設(shè)施上提供應(yīng)用程序服務(wù)。
3)軟件即服務(wù)SaaS。SaaS以服務(wù)的形式提供一整套應(yīng)用軟件,該軟件的單個(gè)實(shí)例運(yùn)行于云上,通過瀏覽器把程序傳給成千上萬的用戶。 SaaS在人力資源管理程序和ERP中比較常用。
3 云計(jì)算關(guān)鍵技術(shù)問題
3.1 訪問控制管理
在云計(jì)算模式下,研究者關(guān)心的是如何通過非傳統(tǒng)訪問控制類手段,實(shí)施數(shù)據(jù)對象的訪問控制。其中得到關(guān)注最多的是基于密碼學(xué)方法實(shí)現(xiàn)訪問控制,其中包括:基于層次密鑰生成與分配策略實(shí)施訪問控制的方法;利用基于屬性的加密算法(如密鑰規(guī)則的基于屬性加密方案(KP—ABE),密文規(guī)則的基于屬性加密方案(CP-ABE)),基于代理重加密的方法:以及在用戶密鑰或密文中嵌入訪問控制樹的方法等。基于密碼類方案面臨著權(quán)限撤銷問題。這是一個(gè)基本方案,是為密鑰設(shè)置失效時(shí)間,每隔一定時(shí)間,用戶從認(rèn)證中心更新私鑰。上述方法在帶有時(shí)間或約束的授權(quán)、權(quán)限受限委托等方面仍存在有待解決的問題。
3.2 有關(guān)數(shù)據(jù)安全技術(shù)問題
3.2.1 數(shù)據(jù)傳輸技術(shù)
在網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)傳輸,需要保證數(shù)據(jù)的保密性。如果數(shù)據(jù)的傳輸采用加密算法(SSL算法),就很容易保證數(shù)據(jù)傳輸?shù)陌踩?br />
另外,利用Internet傳輸數(shù)據(jù),還應(yīng)該保證數(shù)據(jù)的完整性。如果采用非安全傳輸協(xié)議,很容易做到保證數(shù)據(jù)的完整性。目前存在的問題是,采用加密數(shù)據(jù)和使用非安全傳輸協(xié)議也可以達(dá)到保密的目的,但是,怎樣更好的解決數(shù)據(jù)的完整性問題,有待于進(jìn)一步的研究和探討。
特別要注意的是,在網(wǎng)絡(luò)上進(jìn)行數(shù)據(jù)處理時(shí),數(shù)據(jù)已經(jīng)由加密狀態(tài)變成解密狀態(tài),此時(shí)如何保證數(shù)據(jù)的保密性,這也是云計(jì)算數(shù)據(jù)安全技術(shù)需要解決的問題。
3.2.2 密文的檢索技術(shù)
數(shù)據(jù)加密后失去了許多其他特性,導(dǎo)致大多數(shù)數(shù)據(jù)分析方法失效。密文檢索有兩種典型的方法:一種是基于安全索引的方法。這種方法是為密文關(guān)鍵詞建立安全索引,檢索查詢索引的關(guān)鍵詞是否存在;另一種是基于密文掃描的方法,這種方法是對密文中每個(gè)單詞進(jìn)行比對,確認(rèn)關(guān)鍵詞是否存在,以及統(tǒng)計(jì)其出現(xiàn)的次數(shù)。由于某些場景(如發(fā)送加密郵件)需要支持非屬主用戶的檢索,Boneh等人提出支持其他用戶公開檢索的方案。
密文處理研究主要集中在同態(tài)加密算法設(shè)計(jì)上。早在二十世紀(jì)八十年代,有人提出多種加法同態(tài)或乘法同態(tài)算法,但是由于被證明安全性存在缺陷,后續(xù)工作基本處于停頓狀態(tài)。而近期,IBM研究員Gentry利用“理想格(ideal lattice)“的數(shù)學(xué)對象構(gòu)造隱私同態(tài)(privacy homomrphism)算法,或稱全同態(tài)加密,使人們可以充分地操作加密狀態(tài)的數(shù)據(jù),在理論上取得了一定突破,使相關(guān)研究重新得到研究者的關(guān)注,但目前研究的結(jié)果與實(shí)用化仍存在一定的距離。
3.2.3 數(shù)據(jù)存儲(chǔ)技術(shù)
為了滿足云計(jì)算的分布式存儲(chǔ)方式、同時(shí)保證數(shù)據(jù)可靠性和高吞吐率以及高傳輸率的需求。目前各云計(jì)算提供商采用GFS或HDFS的數(shù)據(jù)存儲(chǔ)技術(shù)。
GFS是一個(gè)管理大型分布式數(shù)據(jù)密集型計(jì)算的可擴(kuò)展的分布式文件系統(tǒng)。它使用廉價(jià)的商用硬件搭建系統(tǒng)并向大量用戶提供高性能的容錯(cuò)服務(wù)。
GFS系統(tǒng)由一個(gè)Master和大量塊服務(wù)器構(gòu)成。Master存放文件系統(tǒng)的所有元數(shù)據(jù),包括名字空間、存取控制、文件分塊信息、文件塊的位置信息等。GFS把文件切分為64MB的塊進(jìn)行存儲(chǔ)。
在GFS文件系統(tǒng)中,采用冗余存儲(chǔ)的方式來保證數(shù)據(jù)的可靠性。每份數(shù)據(jù)在系統(tǒng)中保存3個(gè)以上的備份。為了保證數(shù)據(jù)的一致性,對于數(shù)據(jù)的所有修改需要在所有的備份上進(jìn)行,并用版本號(hào)的方式來確保所有備份處于一致的狀態(tài)。
由于客戶端不通過Master讀取數(shù)據(jù),避免了Master成為系統(tǒng)瓶頸??蛻舳藦腗aster獲取目標(biāo)數(shù)據(jù)塊的位置信息后,直接和塊服務(wù)器交互進(jìn)行讀操作。
GFS將寫操作控制信號(hào)和數(shù)據(jù)流分開,即客戶端在獲取Master的寫授權(quán)后,將數(shù)據(jù)傳輸給所有的數(shù)據(jù)副本,在所有的數(shù)據(jù)副本都收到修改的數(shù)據(jù)后,客戶端才發(fā)出寫請求控制信號(hào)。在所有的數(shù)據(jù)副本更新完數(shù)據(jù)后,由主副本向客戶端發(fā)出寫操作完成控制信號(hào)。目前,如何保證數(shù)據(jù)的高吞吐率以及高傳輸率還需要進(jìn)一步的深入研究。
3.2.4 數(shù)據(jù)隔離技術(shù)
在云計(jì)算環(huán)境下,數(shù)據(jù)不再是存放在某個(gè)確定的物理節(jié)點(diǎn)上,而是由服務(wù)商動(dòng)態(tài)提供存儲(chǔ)空間,這些空間有可能是現(xiàn)實(shí)的,也可能是虛擬的;可能分布在不同國家及區(qū)域。因此,需要對磁盤上的數(shù)據(jù)或數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行加密(靜止的數(shù)據(jù)),這樣可以防止惡意的云服務(wù)提供商或惡意的鄰居“租用戶”對數(shù)據(jù)的破壞。靜止數(shù)據(jù)加密比較復(fù)雜,如果只需要簡單的存儲(chǔ)服務(wù),用戶加密數(shù)據(jù)后發(fā)送密文到云數(shù)據(jù)存儲(chǔ)商那里即可。但是對于PaaS或者SaaS應(yīng)用來說,數(shù)據(jù)的加密妨礙索引和搜索,還需要研究既適合加密義適合索引和搜索的一種算法。
3.2.5 清除數(shù)據(jù)殘留的技術(shù)
數(shù)據(jù)殘留是指數(shù)據(jù)在被以某種形式擦除后所殘留的物理表現(xiàn)。依據(jù)這些物理表現(xiàn),能夠使存儲(chǔ)介質(zhì)被擦除后的數(shù)據(jù)又被重新恢復(fù)起來。在云計(jì)算環(huán)境中,數(shù)據(jù)殘留有可能會(huì)無意間泄露敏感信息。因此云計(jì)算提供商應(yīng)向云用戶保證其價(jià)息所在的存儲(chǔ)空間被釋放或再分配給其他云用戶前得到完全清除,目前需要研究一種能夠供云用戶對自己使用的空間得到完全清除的鑒定方法。
3.3 虛擬技術(shù)
虛擬技術(shù)是實(shí)現(xiàn)云計(jì)算的關(guān)鍵核心技術(shù),正是虛擬技術(shù)才使得云計(jì)算提供商為其客戶有可能提供數(shù)據(jù)的安全性和數(shù)據(jù)的隔離。Santhan am等人提出了基于虛擬機(jī)技術(shù)實(shí)現(xiàn)的grid環(huán)境下的隔離執(zhí)行機(jī)。Raj等人提出了通過緩存層次可感知的核心分配,以及給予緩存劃分的頁染色的兩種資源管理方法實(shí)現(xiàn)性能與安全隔離。這些方法在隔離影響一個(gè)VM的緩存接口時(shí)是有效的,并整合到一個(gè)樣例云架構(gòu)的資源管理(RM)框架中。Wei等人關(guān)注了虛擬機(jī)映像文件的安全問題,每一個(gè)映像文件對應(yīng)一個(gè)客戶應(yīng)用,它們必須具有高完整性,且需要可以安全共享的機(jī)制。Wei等人所提出的映像文件管理系統(tǒng)實(shí)現(xiàn)了映像文件的訪問控制、來源追蹤、過濾和掃描等,可以檢測和修復(fù)安全性違背問題。
在虛擬技術(shù)中,云計(jì)算提供商需要為客戶提供客戶端共享和主機(jī)共享,不法之徒有可能利用其漏洞對共享設(shè)備和文件進(jìn)行破壞。當(dāng)主機(jī)受到破壞,主機(jī)所管理的客戶端服務(wù)器有可能被攻克。另外當(dāng)虛擬網(wǎng)絡(luò)受到破壞,那么客戶端也會(huì)受到損害。再者如果主機(jī)有問題,那么所有的虛擬機(jī)都會(huì)產(chǎn)生問題。所以,虛擬化技術(shù)也有一些需要解決的問題。
在云計(jì)算中,虛擬技術(shù)的應(yīng)用有兩方面:一是虛擬化軟件;另一個(gè)虛擬服務(wù)器。
3.3.1 虛擬化軟件
該軟件層直接部署于裸機(jī)之上,提供能夠創(chuàng)建、運(yùn)行和銷毀虛擬服務(wù)器的能力。實(shí)現(xiàn)虛擬化的方法有幾種,其通過不同層次的抽象來實(shí)現(xiàn)相同的結(jié)果,如操作系統(tǒng)級虛擬化、全虛擬化或半虛擬化。在IaaS云平臺(tái)中,云主機(jī)的客戶不必訪問此軟件層,由云計(jì)算提供商提供服務(wù)的。由于虛擬化軟件層是保證客戶的虛擬機(jī)在多租戶環(huán)境下相互隔離,實(shí)現(xiàn)了一臺(tái)計(jì)算機(jī)上安全地同時(shí)運(yùn)行多個(gè)操作系統(tǒng),所以必須嚴(yán)格
限制任何未經(jīng)授權(quán)的用戶訪問虛擬化軟件層。云計(jì)算提供商應(yīng)建立必要的安全控制措施,限制對于Hypervisor和其他形式的虛擬化層次的物理和邏輯訪問控制。
虛擬化層的完整性和可用性對于保證基于虛擬技術(shù)構(gòu)建的公有云的完整性和可用性是最重要,也是最關(guān)鍵的。一個(gè)有漏洞的虛擬化軟件會(huì)暴露所有的業(yè)務(wù)域給惡意的入侵者。
3.3.2 虛擬服務(wù)器
虛擬服務(wù)器位于虛擬化軟件之上。安裝虛擬服務(wù)器時(shí),為每臺(tái)虛擬服務(wù)器分配一個(gè)獨(dú)立的硬盤分區(qū),將各虛擬服務(wù)器之間從邏輯上隔離開來。在虛擬服務(wù)器系統(tǒng)安裝了基于主機(jī)的防火墻、殺毒軟件、IPS(IDS)以及日志記錄和恢復(fù)軟件,將它們相互隔離,并與其他安全防范措施一起構(gòu)成多層防范體系。虛擬服務(wù)器選擇具有TPM安全模塊㈣的物理服務(wù)器,在啟動(dòng)時(shí)檢測用戶密碼,如果發(fā)現(xiàn)密碼及用戶名的Hash序列不對,就不允許啟動(dòng)此虛擬服務(wù)器。
每臺(tái)虛擬服務(wù)器之間是通過VLAN和不同的IP網(wǎng)段的方式進(jìn)行邏輯隔離。對需要相互通信的虛擬服務(wù)器之間的網(wǎng)絡(luò)連接通過VPN的方式來進(jìn)行。
利用各虛擬機(jī)當(dāng)中的系統(tǒng)日志和防火墻日志,對虛擬服務(wù)器的運(yùn)行狀態(tài)進(jìn)行嚴(yán)密的監(jiān)控,是常用的而且是簡單易行的方法。
4 結(jié)束語
云計(jì)算是一種新興的計(jì)算模式。目前,云計(jì)算的應(yīng)用還處于初步發(fā)展階段,要使云計(jì)算能夠更好的為廣大用戶服務(wù),還需要進(jìn)一步研究訪問控制、數(shù)據(jù)安全以及虛擬化技術(shù)方案,其中主要涉及的加密算法和網(wǎng)絡(luò)虛擬化技術(shù),需要研究出既適合數(shù)據(jù)檢索、數(shù)據(jù)存儲(chǔ),又適合數(shù)據(jù)傳輸、數(shù)據(jù)隔離的加密算法。隨著數(shù)據(jù)安全技術(shù)和虛擬化技術(shù)等的成熟,將為云計(jì)算的發(fā)展提供了良好的基礎(chǔ)架構(gòu)保障。