曾凌靜
(福建船政交通職業(yè)學院信息工程系,福州350007)
云計算是一種新型的計算模式,它以多資源租用、動態(tài)虛擬化管理、服務外包為核心,迅速成為計算機技術(shù)發(fā)展的熱點。2011年1月,NIST(美國國家標準與技術(shù)研究院)公布了云計算的定義[1],如下:云計算是一種模型,基于這種模式終端用戶可以通過網(wǎng)絡(luò)按需訪問可配置的計算資源(例如網(wǎng)絡(luò)、服務器、存儲設(shè)備、應用程序和服務),這些資源可實現(xiàn)快速部署并發(fā)布,同時可以減少服務提供商的干預,并且使管理成本降到最低。
上述這些定義都體現(xiàn)了云計算具有資源虛擬化共享、廣泛的網(wǎng)絡(luò)接入能力、按需服務、自適應的服務彈性提供、多租戶等特征[2]。
一般計算環(huán)境都具有硬件層、操作系統(tǒng)層和軟件層。云計算提供的3種服務模式就對應了一般計算環(huán)境的3個層面。這3種服務模式[3]分別是基礎(chǔ)設(shè)施即服務IaaS(Infrastructure as a Service)、平臺即服務PaaS(Platform as a Service)以及軟件即服務SaaS(Software as a Service)。
1)SaaS即云應用軟件,將應用軟件進行封裝提供給用戶。SaaS一般面向終端用戶,特別是“瘦終端”。終端用戶利用Web瀏覽器,通過網(wǎng)絡(luò)就可以獲得所需的或定制的云應用服務。終端用戶不具有網(wǎng)絡(luò)、操作系統(tǒng)、存儲等底層云基礎(chǔ)設(shè)施的控制權(quán),也不能控制應用的執(zhí)行過程,只有非常有限的與應用相關(guān)的配置能力。SaaS使用戶以最小的開發(fā)和管理開銷獲得定制的應用,而服務提供者負責大部分的管理工作。典型的SaaS服務有Salesforce公司的CRM系統(tǒng),Google Docs等。軟件服務提供商為滿足用戶某種特定需求而提供其消費的軟件的計算能力。
2)PaaS是在基礎(chǔ)設(shè)施與應用之間的重要一層,PaaS將基礎(chǔ)設(shè)施資源進行整合,為用戶提供應用的開發(fā)環(huán)境、部署平臺等,方便了應用與基礎(chǔ)設(shè)施之間的交互。典型的PaaS平臺有Google的MapReduce框架,應用執(zhí)行環(huán)境Google App Engine,微軟公司的Microsoft Azure Services。
3)IaaS是將硬件設(shè)備等基礎(chǔ)設(shè)施資源封裝成服務提供給用戶使用。用戶可以在基礎(chǔ)設(shè)施之上運行任意軟件,而服務提供者只負責管理基礎(chǔ)設(shè)置。IaaS提供計算資源最常用的方式是虛擬機(Virtual Machine,VM),典型服務有 Amazon的EC2等。Iaas還能夠為用戶提供海量數(shù)據(jù)存儲和訪問服務,可以提供高速網(wǎng)絡(luò)和通信服務等。
三者之間的關(guān)系如圖1所示。
圖1 云計算服務與用戶關(guān)系模式圖
從上述介紹和圖中可以得知,SaaS是以服務供應商為主,PaaS是服務用戶和服務提供商,IaaS是以用戶為主。IaaSSaaS、PaaS、IaaS三者針對不同用戶提供的服務完全不同,三者之間相對獨立。用戶對系統(tǒng)的控制從頂層到底層以SaaS、PaaS、IaaS的順序逐漸增加[4]。服務層次越高,用戶職責越少,服務提供商的安全職責越高。另一方面,三者也存在一定的依賴關(guān)系,比如一個SaaS的產(chǎn)品和服務不僅需要用到SaaS層本身的技術(shù),而且還要依賴PaaS層所提供的開發(fā)和部署平臺,或者直接部署在IaaS層所提供的計算資源上。
2.1.1 針對系統(tǒng)可靠性的隱患
由于“云”中存儲大量的用戶業(yè)務數(shù)據(jù)、隱私信息或其他有價值的信息,因此很容易受到攻擊,這些攻擊可能來自于竊取服務或數(shù)據(jù)的惡意攻擊者、濫用資源的合法云計算用戶或者云計算運營商內(nèi)部人員,當遇到嚴重攻擊時,云計算系統(tǒng)將可能面臨崩潰的危險,無法提供高可靠性的服務[5]。
2.1.2 安全邊界不清晰
因為虛擬化技術(shù)是實現(xiàn)云計算的關(guān)鍵技術(shù),實現(xiàn)共享的數(shù)據(jù)具有無邊界性,服務器及終端用戶數(shù)量都非常龐大,數(shù)據(jù)存放分散,因此無法像傳統(tǒng)網(wǎng)絡(luò)一樣清楚地定義安全邊界和保護措施,很難為用戶提供充分的安全保障。
2.2.1 數(shù)據(jù)隱私
首先,“云”中的數(shù)據(jù)是隨機地存儲在世界各地的服務器上,用戶并不清楚自己的數(shù)據(jù)具體被存儲在什么位置;另外,當終端用戶把自己的數(shù)據(jù)交付給云計算提供商之后,數(shù)據(jù)的優(yōu)先訪問權(quán)已經(jīng)發(fā)生了變化,即云計算提供商享有了優(yōu)先訪問權(quán),因此如何保證數(shù)據(jù)的機密性變得非常重要。
2.2.2 數(shù)據(jù)隔離
在通過虛擬化技術(shù)實現(xiàn)計算和資源共享的情況下,如果惡意用戶通過不正當手段取得合法虛擬機權(quán)限,就有可能威脅到同一臺物理服務器上其他虛擬機。因此進行數(shù)據(jù)隔離是防止此類事件的必要手段,但是隔離技術(shù)的選擇及效果評估目前仍在進一步研究之中。
2.3.1 云計算提供商能否提供持久服務
在云計算系統(tǒng)中,終端用戶對提供商的依賴性更高,因此在選擇服務提供商時,應考慮這方面的風險因素,當云計算技術(shù)供應商出現(xiàn)破產(chǎn)等現(xiàn)象,導致服務中斷或不穩(wěn)定時,用戶如何應對數(shù)據(jù)存儲等問題。
2.3.2 安全管理問題
企業(yè)用戶雖然使用云計算提供商的服務或者將數(shù)據(jù)交給云計算提供商,但是涉及到網(wǎng)絡(luò)信息安全相關(guān)的事宜,企業(yè)自身仍然負有最終責任[6]。但用戶數(shù)據(jù)存儲在云端,用戶無法知道具體存儲位置,很難實施安全審計與評估,因此會帶來很多的安全管理方面的困難。
CSA提出的云計算安全技術(shù)體系[6]是基于云計算服務層次架構(gòu)的,在每個層次的服務中定義相關(guān)聯(lián)的安全技術(shù)。微軟提出的云安全體系,是以云端數(shù)據(jù)安全為導向,分別從私密性、完整性、可用性、可靠性和數(shù)據(jù)刪除5個方面闡述其采用的安全技術(shù)。Google的云安全白皮書是從人員、流程和技術(shù)3個方面保障云安全的實施。Cisco則針對云計算環(huán)境的特點提出了相應的安全策略,設(shè)計對應的安全產(chǎn)品。
以上提到的都是目前致力于云計算應用的組織和機構(gòu)采用或提出的云安全技術(shù)解決方案、云計算安全技術(shù)體系框架。從前面的分析可知,云計算的數(shù)據(jù)安全問題亟待解決,針對云計算帶來的一些新的威脅及對安全的挑戰(zhàn),急需要有新的安全防御思路與防護體系與之抗衡。
建立防護體系,必須明確防護需求,對云環(huán)境下的安全防護體系需求進行分析,云計算安全的目標是在保障云環(huán)境數(shù)據(jù)安全的前提下,為用戶提供便利的服務,新的安全模型要能適應云計算的3個服務傳遞模式。因此本文主要從云計算用戶、云端數(shù)據(jù)安全和云服務提供商這3個方面來對云計算安全進行防護,著重滿足系統(tǒng)安全性與健壯性、用戶私密性與完善性、身份認證與安全接入機制、安全管理的加強等[7]。云計算防護框架如圖2所示。
圖2 云計算防護框架圖
1)云計算用戶所需要保障的云端訪問安全,技術(shù)分別是身份認證、訪問控制和信任管理3個方面。①在云計算系統(tǒng)中,不同的安全管理域?qū)ζ渌芾砼c訪問需要進行額外的認證和授權(quán)。云計算的跨域共享資源特性對跨域的身份認證、訪問控制有了新的要求。因此系統(tǒng)應建立統(tǒng)一的身份認證和授權(quán)系統(tǒng)。可采用單點登錄(SSO)、數(shù)字證書認證、硬件信息綁定和生物特征識別等方式進行集中用戶認證;采用強制訪問控制,對不同的用戶和用戶組定義相應的用戶級別,對云計算資源的訪問進行集中授權(quán),并支持細粒度授權(quán)。②而云計算資源共享和動態(tài)可擴展的特征也帶來未知風險,需要重視針對不良用戶的惡意攻擊行為而提出的信任管理技術(shù)。建立用戶行為的信任評估與管理體系。通過對用戶行為進行實時監(jiān)控、獲取其行為證據(jù),并對該行為證據(jù)完成標準規(guī)范化,再按照一定的方法對行為確定權(quán)重,進行評估并量化,最終得到用戶信任值,完成信任評估。
2)云計算機數(shù)據(jù)安全一直是十分關(guān)鍵的問題,本文重點關(guān)注數(shù)據(jù)加密技術(shù)、數(shù)據(jù)刪除技術(shù)和數(shù)據(jù)災備技術(shù)。①采用數(shù)據(jù)加密技術(shù)來保障用戶數(shù)據(jù)的機密性。在云計算體系中,不管用戶的數(shù)據(jù)存儲在哪都要進行加密并受到保護。在數(shù)據(jù)處理過程中,用戶釆用某種加密手段(如AES算法RSA算法、或者多種算法的結(jié)合),對數(shù)據(jù)進行加密,然后上傳到云計算數(shù)據(jù)中心。云計算環(huán)境下,終端的智能化和業(yè)務多樣化將進一步發(fā)展,數(shù)據(jù)加密體系需要支持更多的應用環(huán)境。適應訪問權(quán)限的要求,隔離不同用戶的數(shù)據(jù),還要對元數(shù)據(jù)進行加密。還可以利用PKI技術(shù)實現(xiàn)用戶身份認證,進一步提高了云存儲系統(tǒng)的安全性[8]。②采用數(shù)據(jù)災備技術(shù)用來研究數(shù)據(jù)備份機制,提高云端數(shù)據(jù)的可用性。云計算數(shù)據(jù)中心災難備份與恢復應該支持文件級和系統(tǒng)級的恢復備份。通過虛擬化技術(shù),可以提供—種易執(zhí)行的系統(tǒng)級方式簡化備份和恢復。同時,虛擬化還可以提供更大程度的硬件獨立性,很容易將數(shù)據(jù)復制或備份到異地數(shù)據(jù)中心和虛擬主機里[9]。③采用數(shù)據(jù)刪除技術(shù)用來確保云端需刪除的數(shù)據(jù)被徹底刪除從而不被泄露。這里數(shù)據(jù)刪除主要包括清除與銷毀。數(shù)據(jù)屏蔽技術(shù)可以保護云計算中的敏感數(shù)據(jù),減少敏感信息泄露的風險。常見的數(shù)據(jù)屏蔽技術(shù)包括使用鍵值與實際值進行替換,符號表對應的外部查找表包含了數(shù)據(jù)的實際值。
3)云服務提供商的服務主要針對基礎(chǔ)設(shè)施,即服務IaaS、平臺即服務PaaS以及軟件即服務SaaS3者,因此確保這3個服務的可靠性十分重要。概括地說,各層面的保障機制應分別滿足下列要求:IaaS應實現(xiàn)數(shù)據(jù)存儲、資源利用的合理性和安全性;PaaS應具有完善的訪問控制機制,防止平臺被黑客利用;SaaS需要提供對企業(yè)更加透明的數(shù)據(jù)存儲和安全方案[8]。①核心服務層中的SaaS及PaaS均是以IaaS為基礎(chǔ)的,所以IaaS的安全決定著整個云平臺的安全。IaaS層安全主要針對底層硬件設(shè)備,而虛擬化技術(shù)是云計算實現(xiàn)IT資源利用率和靈活性最大化的有效手段。與IaaS相關(guān)的虛擬化技術(shù)主要包括服務器虛擬化、存儲虛擬化和網(wǎng)絡(luò)虛擬化??梢詥⒂脙?nèi)存安全強化策略、開啟內(nèi)核模塊完整性檢查功能、在安全管理上采取服務最小化原則等策略來實現(xiàn)服務器虛擬化策略;使用者通過只訪問邏輯存儲,提供磁盤鎖定功能、設(shè)備冗余功能、數(shù)據(jù)存儲的冗余保護、完善的容錯和容災機制等,來簡化對存儲容量的管理,提供容量的利用率,實現(xiàn)數(shù)據(jù)在網(wǎng)絡(luò)共享的一致性。通過保障虛擬機之間以及虛擬機與外部網(wǎng)絡(luò)的通信安全來實現(xiàn)網(wǎng)絡(luò)虛擬化安全,確保虛擬機中的數(shù)據(jù)達到相應數(shù)據(jù)隱私及安全要求。②PaaS層主要保障平臺之間協(xié)議的安全,Web服務的安全及主機間服務的安全。PaaS的核心技術(shù)是分布式處理技術(shù),主要解決云計算數(shù)據(jù)中心大規(guī)模服務器群的系統(tǒng)工作問題,包含分布式文件系統(tǒng)、分布式計算、分布式數(shù)據(jù)庫和分布式同步機制等部分。在分布式文件系統(tǒng)中順序?qū)懸鉀Q的共享用戶的同一視點問題,并發(fā)寫需要考慮插入更新導致的一致性問題;通過設(shè)置主服務器的備份,使得在主服務器故障停機時快速恢復;系統(tǒng)采取冗余存儲的方式來保證數(shù)據(jù)的可靠性;對數(shù)據(jù)的所有修改用版本號方式來保證數(shù)據(jù)的一致性;引入分布式同步技術(shù),控制進程的并發(fā)操作來解決對共享資源的并行操作所引起的數(shù)據(jù)丟失修改等數(shù)據(jù)不一致問題。③SaaS層的安全主要是應用安全,當然也包括數(shù)據(jù)安全、加密和密鑰管理、身份識別和訪問控制、安全事件管理、業(yè)務連續(xù)性等[8]。SaaS的關(guān)鍵技術(shù)有多租戶架構(gòu)和元數(shù)據(jù)開發(fā)模式。實現(xiàn)多租戶架構(gòu)的關(guān)鍵是解決數(shù)據(jù)存儲的問題,保證不同租戶之間數(shù)據(jù)和配置的隔離,以保證每個租戶數(shù)據(jù)的安全和隱私。目前,在SaaS設(shè)計中多租戶架構(gòu)在數(shù)據(jù)存儲上主要有3種解決方案,分別為獨立數(shù)據(jù)庫模式、共享數(shù)據(jù)庫單獨模式和共享數(shù)據(jù)庫共享模式。對于SaaS服務而言,SaaS底層架構(gòu)安全的關(guān)鍵在于如何解決多租戶共享情況下的數(shù)據(jù)安全存儲和訪問問題,包括多租戶下的安全隔離、數(shù)據(jù)庫安全和應用程序安全等方面的問題。
日益凸顯的云計算安全問題給云計算下的數(shù)據(jù)安全技術(shù)帶來了巨大的威脅與挑戰(zhàn)。相比較于傳統(tǒng)的安全問題,解決云計算環(huán)境下的安全問題需要結(jié)合云環(huán)境的特征。同時也需要針對云計算體系中的關(guān)鍵技術(shù)進行研究并制定應對其安全問題的技術(shù)方案和安全策略,其中主要包括IaaS中的虛擬化技術(shù),PaaS中的分布式處理技術(shù)和SaaS中的多租戶架構(gòu)等技術(shù)。同時,依靠審計和監(jiān)控技術(shù)保障各種應用的可審計性,也是保障云計算提供穩(wěn)定可靠服務的關(guān)鍵。因此,構(gòu)建云計算環(huán)境下數(shù)據(jù)安全技術(shù)體系是十分重要的,研究和建立云計算環(huán)境下的數(shù)據(jù)安全保護機制,對于推動云計算及其應用的健康發(fā)展具有理論價值和現(xiàn)實意義。
[1]Mell P,Grance T.Mp 20899-8930The NIST definition of cloud computing(draft)[S].NewYork:Commerce Security,2011.
[2]張云勇,陳清金,潘松柏,等.云計算安全關(guān)鍵技術(shù)分析[J].電信科學,2010(9):64-69.
[3]Mell P,Grance T.The NIST definition of cloud computing[R/OL].[2014-12-10].http://c src.ni st.gov/group s/SNS/cloud-computing/cloud-def-v 15.doc.
[4]李偉力.基于云計算的數(shù)字化學習平臺的設(shè)計[J].信息與電腦:理論版,2011(6):67-68.
[5]CSA.云安全聯(lián)盟發(fā)布“2013云計算9大威脅”報告[R/OL].[2014-12-10].http://security.zdnet.com.cn/security_zone/2013/0228/2146332.shtml
[6]C S A.Cloud computing architectural framework[EB/OL].[2014-12-10].Available from:Https://wiki.cloudsecurityalliance.org/guidance/index.php/Cloud_Computing_Architectural_Framework,2011.
[7]劉其武,劉太慶,李振東.云計算環(huán)境下的網(wǎng)絡(luò)安全研究與進展[C]//2011年通信與信息技術(shù)新進展——第八屆中國通信學會學術(shù)年會論文集.北京:中國通信學會學術(shù)工作委員會,2011.
[8]曹夕,許力,陳蘭香.云存儲系統(tǒng)中數(shù)裾完整性驗證協(xié)議[J].計算機應用,2012,32(1):8-12.
[9]ZHANG Xin,LAI Song-qing,LIU Nai-wen.Research on cloud computing data security model based on multidimension[C]//2012International Symposivm on Information Technology in Medicine and Education.Hokodate,Hokkaido:IEEE,2012:897-900.