牛淑佳
(西南交通大學(xué) 四川省成都市 611756)
云計算一般被定義為在網(wǎng)絡(luò)環(huán)境下計算資源的交付和使用方式,用戶通過網(wǎng)絡(luò)按需、易擴(kuò)展的方式獲得所需服務(wù)[1]。近些年,主流云服務(wù)商接連發(fā)生的安全事件暴露了云計算應(yīng)用在安全方面存在諸多的隱患。因?yàn)樵品?wù)系統(tǒng)和傳統(tǒng)IT 系統(tǒng)類似,故傳統(tǒng)IT 系統(tǒng)中各個層次所存在的安全問題在云服務(wù)系統(tǒng)中依然存在。而作為一種新型的計算模式,云計算讓用戶將數(shù)據(jù)和應(yīng)用都遷移到了云上,同時用戶失去了對這些資源的物理控制,這可能會產(chǎn)生了一些新的安全風(fēng)險[2]。
云計算具有著蓬勃的發(fā)展?jié)摿Γ壳耙廊淮嬖谥鴩?yán)重的信任危機(jī)。面對這樣的形勢,除了管理上的約束,密碼技術(shù)作為一門歷久彌新的學(xué)科,可以為每個信息安全的發(fā)展階段都提供基本的技術(shù)保障[3]。從古典密碼學(xué)到現(xiàn)代密碼學(xué),隨著現(xiàn)代信息技術(shù)的發(fā)展和數(shù)學(xué)研究的碩果累累,密碼學(xué)的研究也開始了新的篇章。隨著量子計算機(jī)的發(fā)展,公鑰密碼的安全逐漸受到威脅,抗量子算法的量子密碼、格密碼等領(lǐng)域也逐漸成為了研究熱點(diǎn)。
云計算的發(fā)展和推廣常受限于數(shù)據(jù)的安全性和保密性,而密碼學(xué)研究的新進(jìn)程,必將為云計算的發(fā)展帶來新的保證,新的可能。
密碼技術(shù)的分類有很多種,比如按照密鑰方式劃分可分為對稱式密碼和非對稱式密碼;按照編制原理劃分,又可分為移位、代替和置換三種。從信息安全的角度來看,保證密碼安全的常見技術(shù)又可分為信息加密技術(shù)和信息認(rèn)證技術(shù),接下來將對這兩項(xiàng)技術(shù)進(jìn)行相關(guān)介紹。
2.1.1 信息加密技術(shù)
信息加密技術(shù)是利用數(shù)學(xué)或物理手段,對電子信息在傳輸過程中和存儲體內(nèi)進(jìn)行保護(hù),以防止泄漏的技術(shù)[4]。在計算機(jī)通訊中,使用密碼技術(shù)將信息隱蔽起來,再將隱蔽后的信息傳輸出去,這使得信息在傳輸過程中就算被竊取或載獲,竊取者也無法了解信息的內(nèi)容,從而保證了信息傳輸安全。
信息加密算法的種類繁多,按照發(fā)展進(jìn)程來分,經(jīng)歷了古典密碼、對稱密鑰密碼和公開密鑰密碼階段,古典密碼算法有替代加密、置換加密等[5]?,F(xiàn)在密碼算法的設(shè)計都遵循了Kerckhoff加密原則,即加密系統(tǒng)的保密性依賴于密鑰,而非依賴于對加密體制或算法的保密。根據(jù)密碼體制的不同原理,分為對稱密碼體制和非對稱密碼體制兩大類。對稱密碼體制詞如其名,加解密的密鑰是相同的,代表的加密算法有DES 和AES[26]等。非對稱加密體制和對稱加密體制正好相反,它采用的密鑰是不同的,代表算法有RSA[27]、ECC 等。
新興的加密技術(shù),比如屬性基加密,為滿足實(shí)際需求,也在不斷創(chuàng)新和拓展。田有亮等人在文獻(xiàn)[22]中提出了基于屬性加密的區(qū)塊鏈數(shù)據(jù)朔源算法,該算法通過改進(jìn)屬性加密算法實(shí)現(xiàn)交易隱私保護(hù)并兼顧信息朔源。閆璽璽等人在文獻(xiàn)[23]中提出了基于區(qū)塊鏈且支持驗(yàn)證的屬性基搜索加密方案,在可搜索加密方案中將區(qū)塊鏈的公平機(jī)制加以應(yīng)用,以此來保證云服務(wù)器與用戶之間的搜索交易公平且安全。
2.1.2 信息認(rèn)證技術(shù)
第二,清晰地認(rèn)識農(nóng)村群眾在文化教育方面的弱點(diǎn),將先進(jìn)的科學(xué)種植、科學(xué)經(jīng)營管理方式帶進(jìn)農(nóng)村,不僅讓農(nóng)民實(shí)際獲利,還要讓農(nóng)民看到其實(shí)踐的結(jié)果,逐步地破除封建迷信思想;增強(qiáng)社會主義核心價值觀教育,可以開展多種文化形式、使用多種媒介使社會主義核心價值觀深入群眾之中;加強(qiáng)中華民族傳統(tǒng)美德教育等道德教育,從而促進(jìn)農(nóng)民群眾的綜合素質(zhì)全面發(fā)展。
信息加密技術(shù)只能防止被動攻擊,而信息認(rèn)證技術(shù)可以防止主動攻擊(如偽造、篡改信息等)。
實(shí)用的信息認(rèn)證技術(shù)主要有數(shù)字簽名技術(shù)、身份鑒別技術(shù)和報文鑒別等技術(shù)。數(shù)字簽名也稱電子簽名。聯(lián)合國貿(mào)法會《電子簽名示范法》[28]對其的定義為:“在數(shù)據(jù)電文中以電子形式所含、所附或在邏輯上與數(shù)據(jù)電文有聯(lián)系的數(shù)據(jù),它可用于鑒別與數(shù)據(jù)電文相關(guān)的簽名人和表明簽名人認(rèn)可數(shù)據(jù)電文所含信息。”數(shù)字簽名技術(shù)采用信息加密技術(shù)和解密算法體制來實(shí)現(xiàn)對報文的數(shù)字簽名。數(shù)字簽名技術(shù)是保證數(shù)據(jù)可靠性,實(shí)現(xiàn)認(rèn)證的重要工具,可以有效防止相互欺騙和抵賴。身份鑒別技術(shù)是信息認(rèn)證中的重要內(nèi)容,一般涉及識別與驗(yàn)證兩個方面。身份鑒別現(xiàn)在常使用的方法是口令驗(yàn)證及利用信物的鑒別方法,例如磁卡條、智能卡等,隨著生物技術(shù)的發(fā)展,利用人類特征識別,如指紋、視網(wǎng)膜等,具有較強(qiáng)的防復(fù)制性[6]。所以關(guān)于生物信息驗(yàn)證的研究也是層出不窮的,比如楊晟杰等人在文獻(xiàn)[24]中提出了一種基于生物信息特征的認(rèn)證技術(shù),將人體的生物信息進(jìn)行采集再將其融合到數(shù)字證書中,以此來更好地完成信息認(rèn)證。報文鑒別是為了保障通信雙方的不可抵賴性和信息的完整性。報文鑒別主要是指通信雙方驗(yàn)證通信信息,保證以下目標(biāo):報文由確認(rèn)的發(fā)送方產(chǎn)生,報文內(nèi)容在傳輸過程中未曾修改,報文是按與傳送時相同的順序接收到。[6]
如今,傳統(tǒng)的密碼技術(shù)正在向云密碼服務(wù)的方向進(jìn)行轉(zhuǎn)變,“密碼+云”的融合成為了大勢所趨。在傳統(tǒng)密碼服務(wù)的云化進(jìn)程中,技術(shù)上的云化是極為緊要的,為形成多種服務(wù)資源池,需要將簽名、加密、授權(quán)等服務(wù)使用虛擬化技術(shù)進(jìn)行封裝,屏蔽安全設(shè)備之間的差異;其次是管理上的云化,需要對諸多狀態(tài)(如資源的動態(tài)調(diào)度、業(yè)務(wù)的自動配置、數(shù)據(jù)的分散存儲等)進(jìn)行監(jiān)聽并作日志審計;最后是運(yùn)行上的云化。此概念可以理解為:電子政務(wù)、電子商務(wù)等多方面的安全應(yīng)用模式,及多種模式下的不同類型的安全服務(wù)接口,通過這些應(yīng)用模式和接口能夠隨時、有效地對用戶的安全服務(wù)需求進(jìn)行響應(yīng),實(shí)現(xiàn)將密碼當(dāng)成一種服務(wù)提供給用戶的理念[7]。
對于存儲在第三方云平臺上的數(shù)據(jù)在存儲設(shè)備上以及傳輸過程中都會變得透明化,要保證數(shù)據(jù)安全,最基本的措施是使用公鑰對云中數(shù)據(jù)進(jìn)行加密,接收者使用私鑰進(jìn)行解密。
為保證公共云存儲的數(shù)據(jù)安全,如今常使用混合加密機(jī)制來應(yīng)對公共云存儲服務(wù)的安全危機(jī)?;旌霞用軝C(jī)制包括密鑰封裝機(jī)制(key data encapsulation mechanism, KEM)和數(shù)據(jù)封裝機(jī)制(data encapsulation mechanism, DEM),其中KEM 使用公鑰密碼算法來封裝用戶加密數(shù)據(jù)文件的對稱密鑰K,而DEM 則通過對稱密碼算法來加密數(shù)據(jù)量較大的數(shù)據(jù)文件,以保證加解密運(yùn)算具有高速度和低復(fù)雜性[8]。文獻(xiàn)[15]提出了基于身份的加密機(jī)制,這種機(jī)制可以讓任意兩個用戶無需交換私鑰或是公鑰就能實(shí)現(xiàn)安全通信和身份認(rèn)證。文獻(xiàn)[16]在文獻(xiàn)[15]的基礎(chǔ)上提出了基于身份的模糊加密技術(shù),該技術(shù)能夠容忍一定程度的錯誤,兼容根據(jù)用戶屬性集合決定的用戶身份來產(chǎn)生密鑰的加密方式,使屬性相同的用戶均可解密密文。
近年來,數(shù)據(jù)安全銷毀成為了云安全中的新的熱點(diǎn)問題。數(shù)據(jù)的可靠性依靠云存儲相關(guān)可靠機(jī)制得到了提高,但同時也將數(shù)據(jù)刪除暴露在了數(shù)據(jù)泄露的風(fēng)險之下:當(dāng)用戶發(fā)送刪除文件指令時,該文件可能由于技術(shù)問題未能被完全刪除或是被云存儲惡意保留,數(shù)據(jù)極有可能面臨著因數(shù)據(jù)密鑰被云存儲非法獲取而被泄露的風(fēng)險[9]。云存儲環(huán)境下數(shù)據(jù)的可信刪除就是為了保證已刪除的數(shù)據(jù)不會再被恢復(fù),避免有潛在可能的隱私泄露。如今常見數(shù)據(jù)可信刪除技術(shù)的核心基本在于“對數(shù)據(jù)進(jìn)行加密,對密鑰進(jìn)行摧毀”,可以說都是建立在密碼學(xué)的基礎(chǔ)上的。Perlman 等人在文獻(xiàn)[17]中首次提出基于可信第三方的可信刪除機(jī)制,提出利用“加密數(shù)據(jù),摧毀密鑰”的方式來實(shí)現(xiàn)電子數(shù)據(jù)的可信刪除,同時通過第三方來管理數(shù)據(jù)加密密鑰。在此基礎(chǔ)上,Tang 等人提出了FADE 系統(tǒng)[18][19],該系統(tǒng)為防止明文泄露,機(jī)制上通過對相關(guān)私鑰進(jìn)行回收來防止數(shù)據(jù)密鑰被非法恢復(fù),以此來實(shí)現(xiàn)數(shù)據(jù)的可信刪除。
3.2.1 密鑰生成
3.2.2 密鑰存儲
當(dāng)今云存儲系統(tǒng)為保障密鑰存儲安全,常采用分層密鑰管理的方式對密鑰進(jìn)行管理。分層密鑰管理的核心觀念是通過將所有密鑰進(jìn)行金字塔形排列,頂層密鑰由用戶管理,其他密鑰則以不可信的方式進(jìn)行傳遞或存放至不可信環(huán)境,上層密鑰加密下層密鑰,以此來實(shí)現(xiàn)密鑰的分層管理[9]。密鑰通常以明文形態(tài)、密文形態(tài)、分量形態(tài)來存儲。為了密鑰安全,原則上不允許密鑰以明文的形態(tài)出現(xiàn)在密鑰管理設(shè)備之外。當(dāng)密鑰過多或易破解時,我們可以將這些密鑰加密后保存。這樣即使數(shù)據(jù)被竊取,竊取者也無法還原之前的密鑰。現(xiàn)代大家常提出的,還有密鑰分存技術(shù),也就是風(fēng)險分擔(dān),這使得任何單獨(dú)的個體都無法恢復(fù)密鑰。
3.2.3 密鑰分發(fā)
密鑰分配往往時密鑰管理機(jī)制中相對薄弱的環(huán)節(jié),無論是過去的人工分配,還是現(xiàn)代通過計算機(jī)的自動分配,都存在著不同程度的風(fēng)險。常見的密鑰分發(fā)方案有集中式分配方案(利用密鑰管理中心來集中管理系統(tǒng)中的密鑰)和分布式分配方案(通信方自己協(xié)商完成會話密鑰的共享工程,不受任何其他方面的約束)兩種。為保證密鑰在傳輸過程中的安全,常采用通過安全隧道加密技術(shù)建立的安全通信信道進(jìn)行密鑰傳輸,以此來保證密鑰的機(jī)密性、完整性和可用性[10]。為了配送密鑰我們常使用事先共享密鑰,使用密鑰分配中心,使用公鑰密碼等方式。當(dāng)然還可以采用其他的方式來配送。在云存儲中,部分獲得信任的認(rèn)證機(jī)構(gòu),以通過交流用戶發(fā)出的請求密鑰信息的方式,獲得用戶的身份信息,從而發(fā)起串謀攻擊[20]。文獻(xiàn)[21]提出可以采用隱藏轉(zhuǎn)移算法,用戶發(fā)出請求獲取屬性密鑰時先由認(rèn)證機(jī)構(gòu)將所有的屬性密鑰發(fā)送給用戶,用戶自己對屬性密鑰進(jìn)行選擇,以此防范用戶信息被竊。
3.3.1 安全威脅
虛擬機(jī)本身是一種應(yīng)用程序,它的安全問題主要有虛擬機(jī)逃逸(攻擊者在已控制一個VM 的前提下,通過利用各種安全漏洞攻擊Hypervisor)、Rootkit 攻擊(Rootkit 是一種特殊的惡意軟件,它的功能是在安裝目標(biāo)上隱藏自身及指定的文件、進(jìn)程和網(wǎng)絡(luò)鏈接等信息)、DDoS 攻擊(分布式拒絕服務(wù)攻擊通過大量合法的請求占用大量網(wǎng)絡(luò)資源,以達(dá)到癱瘓網(wǎng)絡(luò)的目的)、內(nèi)網(wǎng)滲透等。即便有了擁有良好的隔離性的虛擬技術(shù),大多數(shù)應(yīng)用上依然需要依靠虛擬機(jī)來達(dá)到通信的目的。與此同時由于虛擬機(jī)之間的交互次數(shù)越來越多,新的安全威脅也逐漸暴露了出來,比如由于云計算環(huán)境中多租戶模式中用戶通信的獨(dú)立性,使得虛擬機(jī)間更容易產(chǎn)生沒有經(jīng)過授權(quán)的非法訪問以及利用虛擬間通信進(jìn)行的攻擊行為[11]。
3.3.2 防護(hù)思路
在虛擬化環(huán)境中,虛擬機(jī)并不需要真正的硬件資源,虛擬機(jī)所擁有的資源都是通過虛擬機(jī)從而虛擬產(chǎn)生的,借用虛擬化技術(shù)不僅可以保護(hù)虛擬機(jī)其范圍里被惡意代碼攻擊,還能給上層虛擬機(jī)提供密碼服務(wù)及使虛擬的密碼設(shè)備在虛擬機(jī)監(jiān)控器中得到實(shí)現(xiàn)[12]。Hypervisor 軟件的及時更新也很有必要,這可以防止攻擊者在逃逸虛擬機(jī)后利用已攻破的虛擬交換機(jī)發(fā)送惡意或異常的消息。為防止攻擊者偽造交換機(jī)的消息,我們應(yīng)該使用加密的TCP 方式,但若使用認(rèn)證的加密方式,控制器在大規(guī)模網(wǎng)絡(luò)中將面臨遭受拒絕服務(wù)攻擊的威脅。
可以從不同角度劃分防護(hù)技術(shù)路線:在確保性能的高可用性和可伸縮性為前提,搭建一個從多方面深入的安全架構(gòu)從而避免資源池遭受破壞,與此同時,在現(xiàn)實(shí)操作時應(yīng)注意虛擬化資源池外部防護(hù)要能夠覆蓋外部網(wǎng)絡(luò)訪問層、運(yùn)維管理和虛擬化層[13]。安全廠商可以使用接口開發(fā)虛擬防火墻,并使用透明模式進(jìn)行部署,同時為了使每臺虛擬機(jī)的內(nèi)外流量都會經(jīng)過虛擬防火墻并被檢測,可以通過接口將虛擬機(jī)的流量引流經(jīng)過防火墻。
身份認(rèn)證與鑒別是信息安全中的第一道防線,對信息系統(tǒng)的安全有著非同尋常的意義。雙向認(rèn)證是現(xiàn)如今主流的認(rèn)證方式。站在云服務(wù)提供商的角度,需確保合法用戶能夠正常使用,也就意味著要在保護(hù)用戶的個人信息及其隱私的條件下對用戶身份信息進(jìn)行審核,最大程度減小破壞和盜取云內(nèi)部數(shù)據(jù)的可能。當(dāng)然用戶的身份能夠被冒用,那么云服務(wù)提供商也會出現(xiàn)同樣的情況,所以雙方都應(yīng)審核[14]。一般來說,常見的身份認(rèn)證方式主要有口令認(rèn)證[29],基于證書的認(rèn)證[30],基于身份的認(rèn)證[31],還有多因素認(rèn)證[31]等其他方式。而身份認(rèn)證系統(tǒng)的設(shè)計,又應(yīng)遵循《證書認(rèn)證系統(tǒng)密碼及其相關(guān)安全技術(shù)規(guī)范》及國密局相關(guān)標(biāo)準(zhǔn),采用雙中心(證書認(rèn)證中心、密鑰管理中心)、雙證書(加密證書、簽名證書)機(jī)制。
由于云計算的特殊性,云環(huán)境下的訪問控制技術(shù)較之傳統(tǒng)的訪問控制技術(shù)更為關(guān)鍵,訪問控制機(jī)制可以避免虛擬機(jī)之間的側(cè)通道攻擊,為了保障用戶使用云存儲和計算服務(wù)的安全,各級提供商之間相互的認(rèn)證和訪問控制必不可少;如今,云計算中的身份認(rèn)證和訪問控制都已成為云安全的重要研究領(lǐng)域[11]。當(dāng)前云計算訪問控制的研究主要有如下幾個方面:基于ABE 密碼體制的云計算訪問控制(數(shù)據(jù)在存儲前加密,用戶的訪問通過對密鑰的獲取來控制)、云計算訪問控制模型(按照特定的訪問策略來描述安全系統(tǒng),建立安全模型的一種方法)、云中多租戶及虛擬化訪問控制研究(通過訪問控制機(jī)制屏蔽非法流量,隔離異常流量)[11]。王于丁等人在文獻(xiàn)[25]中通過定義多項(xiàng)指標(biāo),對RBAC、TBAC、ABAC、UCON、BLP 等常見訪問控制模型進(jìn)行定性比較和評估,能夠發(fā)現(xiàn)云計算環(huán)境下訪問控制模型的相關(guān)研究已經(jīng)取得了很多突破性的進(jìn)步,當(dāng)然也存在不少問題(例如云計算的特性因素帶來的影響等)有待解決研究。
如今隨著云計算的迅速發(fā)展,暴露了很多云計算本身所帶來的安全問題和信任危機(jī)。而密碼技術(shù)作為歷久彌新的常見技術(shù),正是解決云安全問題的重要手段。本文綜合了該領(lǐng)域的現(xiàn)有技術(shù)成果,對現(xiàn)有技術(shù)及其云化進(jìn)行了分析闡述,并對基于云計算的密碼技術(shù)的應(yīng)用進(jìn)行了一定研究,基于云計算的密碼技術(shù)的廣闊的發(fā)展前景?;谠朴嬎愕拿艽a技術(shù)的研究,不但能解決當(dāng)今出現(xiàn)的眾多安全問題,無論在云計算領(lǐng)域還是密碼學(xué)領(lǐng)域都具有非同尋常的意義。