李云亞,何欣峰
(江蘇國瑞信安科技有限公司,江蘇南京 210024)
云計算是在分布式計算(Distributed Computing)、網格計算(Grid Computing)、并行計算(Parallel Computing)等發(fā)展基礎上提出來的新型計算模型,是一種新興的共享基礎框架的方法,它對應的是一種大規(guī)模的分布式環(huán)境,其體現的核心是提供數據存儲和網絡服務。
由于云計算不同于現有的以桌面為核心的數據處理和應用服務都在本地計算機中完成的使用習慣,而是把這些都轉移到“云”中。它改變了我們獲取信息、分享內容和相互溝通的方式。于是,隨之產生的是客戶的重要數據和應用服務在“云”中的安全問題。
根據IDC在2013年發(fā)布的一項調查報告顯示,云計算服務面臨的前3大市場挑戰(zhàn)分別為安全性、穩(wěn)定性和性能表現。公司的調查結果顯示,大部分的中小型企業(yè)認為安全性和隱私問題是他們尚未使用云服務的最主要原因,從云計算市場需求的角度來看,大多數客戶很難把自己的信息完全托付給一家公司,且沒有有效的監(jiān)控手段,根本沒有辦法預測將來可能遇到的風險。現在的云計算概念及產品基本上都是由一些國際大公司推出的,大量的用戶信息都由他們管理。用戶難免會懷疑存儲的數據會不會被監(jiān)控,會不會被收集用作商業(yè)用途,會不會因為缺乏管理而泄露。由此可見安全性是客戶選擇云計算時首要考慮的因素,而云計算安全的最核心的問題是數據安全問題。
云計算的核心理念是將大量用網絡連接的計算資源統(tǒng)一管理和調度,構成一個計算資源池向用戶按需提供服務。提供資源的網絡被稱為“云”。“云”具有以下幾個顯著特點:
(1)數據在云端:不怕丟失,不必備份,可以任意點的恢復;(2)軟件在云端:不必下載自動升級;
(3)無所不在的計算:在任何時間,任意地點,任何設備登錄后就可以進行計算服務;
(4)無限強大的計算:具有無限空間,無限速度。
云的服務模型對于當前已經為人們熟知的有3種模型:IaaS(Infrastructure as a Service)、PaaS(Platform as a Service)和SaaS(Software as a Service)。
基礎設施即服務(IaaS):通過互聯網提供了數據中心、基礎架構硬件和軟件資源。IaaS可以提供服務器、操作系統(tǒng)、磁盤存儲、數據庫和/或信息資源。IaaS的核心技術是虛擬化,如Amazon 的 EC2(Amazon Elastic Compute Cloud)。
開發(fā)平臺即服務(PaaS):將一個開發(fā)平臺作為服務提供給用戶,通過PaaS這種模式,用戶能夠在一個包括SDK,文檔及測試環(huán)境等在內的開發(fā)平臺上極為方便地編寫應用和程序,且無論是在部署或運行時,用戶都不需要為服務器、操作系統(tǒng)、網絡和存儲等資源的管理操心。PaaS主要的用戶是開發(fā)人員,如Google提供的GFS,BigTable,MapReduce,Chubby,BORG等云服務均屬于PaaS模式。
軟件即服務(SaaS):提供給客戶的服務是運營商運行在云計算基礎設施上的應用程序,消費者不需要管理或控制任何云計算基礎設施,且消費者也不需要管理或控制底層的云架構,而客戶所需要做的就是關心一些有限的特別設定的應用配置。
云計算中數據的安全分析首先要區(qū)分出傳統(tǒng)數據安全和云計算環(huán)境數據安全的差異。傳統(tǒng)數據安全需要從數據采集、傳輸、使用和存儲過程中采用技術手段來保障數據的完整性、保密性及可用性。由于云計算是分布式的,且為提高資源使用的效率,用戶之間可能共用計算或存儲資源,如果用戶之間安全隔離不夠或有惡意用戶利用技術進行攻擊,將導致數據安全受到威脅,如被竊取、被篡改或被刪除。因此,保證云端數據的安全和傳統(tǒng)方式有著不同的特點,只利用傳統(tǒng)的保護方式很難保證用戶數據的安全。
從云計算定義來看,云計算的一個關鍵特征就是其服務是通過網絡來提供的。所有用戶的數據都存放在云端,并將計算結果通過網絡回傳給客戶端。如CSA在其發(fā)布的“Security Guidance for Critical Areas of Focus in Cloud Computing”中所言:“在安全控制方面,云與其它IT環(huán)境相比并沒有很大的不同;但是,在服務模型、運營模型以及用于提供服務的相關技術等方面,云可能會導致與以往不同的風險。”從這3種云服務模型的定義中,不難看出盡管用戶已經將他們的計算和存儲都托付給了云,但是在享受服務的過程中也帶來相應的安全問題,特別是在安全策略方面,更是不能寄希望于云提供商去解決所有的問題。3種云服務模型的安全防護在方法和責任上都有所不同:SaaS為云提供商提出了最高的安全要求,使得他們需要建立從頂層應用到底層硬件的整體防護體系以確保服務的安全,從而承擔了絕大部分安全責任,但是這也限制了用戶的自由發(fā)揮;相反的,IaaS給予了用戶足夠的自由度構建自己所需的計算環(huán)境進而開發(fā)或部署所需的應用,但是它也要求用戶必須自行管理計算系統(tǒng)層次架構中除底層硬件以外的所有層次,而提供商只考慮硬件層的安全問題;PaaS位于其它兩種服務模型之間,既需要服務提供商提供基本的安全防護,又需要用戶針對實際需求進行有差異的安全配置,才能構成完備的防護體系,但這也使得提供商和用戶之間的責任邊界變得模糊。
那么云計算中數據到底存在著哪些安全問題呢?
從可用性方面來講,按照Google的理念,如果云計算得以實現的話,那么未來人們在本地硬盤上幾乎不保存數據,所有的數據都在云里,一旦因技術方面的因素導致的服務中斷,那么用戶只能束手無策。
從數據的訪問控制來講,云對外部其實是不透明的。當計算服務是由一系列的服務商來提供(即計算服務可能被依次外包)時,每一家接受外包的服務商基本上是以不可見的方式為上一家服務商提供計算處理或數據存儲的服務,這樣,每家服務商使用的技術其實是不可控的,甚至有可能某家服務商會以用戶未知的方式越權訪問用戶數據。
從傳輸數據來看,云服務提供商都強調使用加密技術(如SSL)來保護用戶數據,但即使數據采用SSL技術進行加密,也僅僅是指數據在網絡上是加密傳輸的,數據在處理和存儲時的保護仍然沒有解決。尤其是在數據處理的時候,由于這時數據肯定已解密,很難解決數據保護的問題。即使采用進程隔離類的技術一定程度解決了,也很難贏得用戶的信任。
從存儲數據角度來看,依照以往的思維,我們會認為對于存儲數據進行加密是很必要的,但是其實在云中,事實并非如此。如果你使用IaaS云服務做一些簡單存儲的服務,那么無論使用的是公共云還是私有云都可以進行加密;但是如果使用PaaS或者SaaS,使用其基于云的應用,那么加密就不一定可行了,因為加密會導致索引和檢索的不便,導致上層部署機制的不可行,影響可用性。一般來說,使用基于云的應用存儲數據時會將數據與其他數據進行混合,比如Google BigTable,而且應用也會設計一些安全特征,比如數據標簽等來防止未授權的訪問,但是通過攻擊應用的弱點等方法仍然可以進行未授權訪問。另外,在云中進行的數據處理過程,數據也是同樣不能加密的。
從數據的完整性來看,傳統(tǒng)模式下的加密和完整性驗證技術無法針對密文信息進行處理,不能滿足上述需求。微軟的實驗報告中提到對一個單獨的詞的密文搜索會花費幾十秒。因此,需要在云計算環(huán)境下建立密文存儲數據完整性證明及審計機制,能夠在不下載數據的情況下對數據是否已被篡改或刪除進行檢驗,并可對遭破壞的數據進行一定程度的恢復。在云計算環(huán)境下,云計算服務商必須確保在不對其他企業(yè)的數據計算帶來風險的同時,又提供必要的信息支持,以便協(xié)助第3方機構對數據的產生進行安全性和準確性的審計,實現企業(yè)的合規(guī)性要求;另外,企業(yè)對云計算服務商的可持續(xù)性發(fā)展進行認證的過程中,如何確保云計算服務商既能提供有效的數據,又不損害其他已有客戶的利益,也是云數據安全亟待解決的問題。
從云數據安全技術來看,目前基于密碼技術保護數據安全的各項研究工作均處于起步階段,IBM的研究者提出同態(tài)加密解密數據處理機制雖然對云計算環(huán)境下的數據安全提供了新的思路,但相關實驗結果表明,即使是一個簡單的明文搜索,在使用同態(tài)加密后的運算量將增加上萬億倍。對海量機密數據文件的查詢同時不泄漏用戶的查詢內容、查詢習慣等隱私信息是云計算的一個重要能力,同時信息檢索過程中的隱私保護關鍵在于支持對密文數據的處理能力、密文存儲數據完整性證明及審計機制、對數據是否已被篡改或刪除進行檢驗、對遭破壞數據進行一定程度的恢復等方面的問題都需要依賴于云計算數據的分析、計算、查詢與審計技術等關鍵技術的進展才能確定。
通過對傳統(tǒng)安全技術,如加密機制、安全認證機制、訪問控制策略等技術的集成創(chuàng)新,為云計算安全提供一定支撐。如通過對重要數據或敏感數據的加密、雙因子身份認證、細化的訪問控制策略、網絡安全、管理安全等方面的優(yōu)化增強云計算安全性,同時也可以解決部分云計算的數據安全問題。
云計算服務可考慮公用云和私有云混合使用模式來解決數據安全,因為私有云(Private Clouds)是為某個用戶單獨使用而構建的,該用戶可以控制在此基礎設施上部署應用程序的方式。一般私有云部署在防火墻之后,而不是在某一個遙遠或未知的數據中心中,因而最能有效控制數據、安全性和服務質量。具體實現可將關鍵應用和重要數據部署在私有云中,而其它非關鍵應用和重要數據部署在公用云中,這樣既解決了關鍵應用的服務質量和重要數據的安全問題,也滿足了充分利用云計算硬件資源和軟件資源,且不影響現有IT管理的流程。
云計算的部分安全問題是需要相關的安全技術發(fā)展才能解決的,需要進一步對多層次的信息安全體系(模型)、全同態(tài)加密算法、動態(tài)服務授權協(xié)議、云數據安全保護增強模型、虛擬機安全隔離及運行安全、云計算存儲機制與病毒防護策略等方面進行研究,為云計算信息保護提供全方位的技術支持。
云計算服務提供商應該遵循相應應用的開放標準,盡量不采用私有標準。如果沒有標準可以遵循,至少要提供數據導入導出框架以及數據轉換機制,為數據遷移提供必要的保障和方便。
不同的云計算服務提供模式創(chuàng)建了不同的安全管理邊界,云計算平臺運維人員面臨安全管理邊界。安全邊界如何界定、原有的安全管理標準是否依然適用、運營商和用戶如何聯動,如何實現云服務的可用性管理、漏洞管理、補丁管理、配置管理以及事件應急響應等等問題都需建立新的安全管理模型才能規(guī)范相關各方的安全管理責任。
云計算是未來IT技術發(fā)展的趨勢,由于云安全技術推出的時間還比較短,很多關鍵技術尚需完善。對于云計算的數據安全問題,通過單一的手段是遠遠不夠的,需要有一個完備的體系,從法律、技術、監(jiān)管多層面同時進行才能保障云計算安全防護。
[1]Barman Bikram.Safe on the Cloud(A Perspective into the Security Concerns of Cloud Computing)[A].Siliconindia.2009-3,12(4).
[2]吳朱華.云計算核心技術剖析[M].北京:人民郵電出版社,2001.
[3]張為民.云計算深刻改變未來[M].北京:科學出版社,2009.
[4]王佳雋,呂智慧,吳杰,等.云計算技術發(fā)展分析及其應用探討[J].計算機工程與設計,2010(31).