云計(jì)算中數(shù)據(jù)資源的安全加密機(jī)制

隨著通信技術(shù)和云計(jì)算技術(shù)的高速發(fā)展,人們?cè)诨ヂ?lián)網(wǎng)上的數(shù)據(jù)共享和訪問日益頻繁,數(shù)據(jù)的安全性面臨著更為嚴(yán)峻的挑戰(zhàn),安全問題已成為阻礙云計(jì)算發(fā)展的關(guān)鍵因素,也是云計(jì)算得以普及的前提。概括地說,云計(jì)算是將大量的、可規(guī)?;腎T資源作為一種服務(wù)通過因特網(wǎng)提供給多個(gè)外部用戶。在云計(jì)算這種新的服務(wù)模式下,數(shù)據(jù)提供者和數(shù)據(jù)訪問者不再是簡單的一對(duì)一關(guān)系,數(shù)據(jù)提供者將數(shù)據(jù)存放在第三方云計(jì)算服務(wù)提供商提供的數(shù)據(jù)存儲(chǔ)中心,數(shù)據(jù)訪問者通過云計(jì)算服務(wù)提供商提供的多種開發(fā)接口而訪問數(shù)據(jù)提供者發(fā)布的重要數(shù)據(jù)。然而,如云安全聯(lián)盟白皮書所指出的那樣,存儲(chǔ)在云服務(wù)端的數(shù)據(jù)很可能被非可信的云計(jì)算服務(wù)提供商或非法用戶竊取。因此,針對(duì)當(dāng)前云計(jì)算中數(shù)據(jù)資源所面臨的威脅,如何利用有效的安全加密機(jī)制來加強(qiáng)數(shù)據(jù)的安全性、防止數(shù)據(jù)泄露和加強(qiáng)隱私保護(hù)是云安全的一個(gè)關(guān)鍵問題。

一、數(shù)據(jù)加密的基本原理

1、數(shù)據(jù)加密的基本概念和一般原理

數(shù)據(jù)加密的基本過程就是對(duì)原來為明文的文件或數(shù)據(jù)按某種算法進(jìn)行處理,使其成為不可讀的一段代碼,通常稱為“密文”。其只能在輸入相應(yīng)的密鑰之后才能顯示出本來內(nèi)容,通過這樣的途徑來達(dá)到保護(hù)數(shù)據(jù)不被非法竊取、閱讀的目的。該過程的逆過程為解密,即將該編碼信息轉(zhuǎn)化為其原來數(shù)據(jù)的過程。

一個(gè)典型的數(shù)據(jù)加密模型如圖1所示:

云計(jì)算中數(shù)據(jù)資源的安全加密機(jī)制

一個(gè)安全的加密技術(shù)應(yīng)該滿足五個(gè)基本要求:一是必須提供高強(qiáng)度的安全性。二提具有高強(qiáng)度的復(fù)雜性,使得破譯的開銷超過可能獲得的利益,同時(shí)又便于理解、掌握和推廣應(yīng)用。三是安全性應(yīng)不依賴于算法的保密,其加密的安全性僅以加密密鑰的保密為基礎(chǔ)。四是必須適用于不同的用戶和不同的場合,加密解密變換必須對(duì)所有密鑰均有效。五是理想的加密算法應(yīng)該是對(duì)系統(tǒng)性能幾乎沒有負(fù)面的影響。

2、加密算法分類

從密鑰的特點(diǎn)來分類,加密算法可以分為對(duì)稱密碼算法和非對(duì)稱密碼算法。對(duì)稱密碼算法又稱為傳統(tǒng)密碼算法,其特點(diǎn)是在加密與解密過程中使用相同的密鑰,而與之相對(duì)應(yīng)的是非對(duì)稱密碼算法。顧名思義,非對(duì)稱密碼算法的加密密鑰不同于解密密鑰,加密密鑰(公鑰)公之于眾,而解密密鑰(私鑰)卻只有解密人自己知道。日常生活中,非對(duì)稱密碼算法又稱為公鑰密碼算法。

(1)對(duì)稱密碼體制

對(duì)稱密碼體制是指加密與解密密鑰相同或等價(jià),而且通信雙方必須都要獲得這把密鑰,并保持其機(jī)密性。當(dāng)給對(duì)方發(fā)信息時(shí),用自己的加密密鑰進(jìn)行加密,而在接收方收到數(shù)據(jù)后,用對(duì)方所給的密鑰進(jìn)行解密。因?yàn)榧用芙饷苊荑€相同,需要通信的雙方必須選擇和保存他們共同的密鑰,各方必須相信對(duì)方不會(huì)將密鑰泄密出去,這樣就可以實(shí)現(xiàn)數(shù)據(jù)的機(jī)密性和完整性。由于安全強(qiáng)度高,加密速度快,對(duì)稱加密技術(shù)是最常用的加密技術(shù),典型的對(duì)稱密碼算法有DES、AES、IDEA等。

DES(Data Encryption Algorithm)數(shù)據(jù)加密標(biāo)準(zhǔn),是一個(gè)對(duì)稱的分組密碼算法。加密前將明文分成固定長度的組,用同一密鑰對(duì)每一塊加密,輸出也是固定長度的密文,加密過程使用64位密鑰來對(duì)64位數(shù)據(jù)塊進(jìn)行加密,并對(duì)64位數(shù)據(jù)塊進(jìn)行16輪編碼。64位一組的明文從算法的一端輸入,64位密文從另一端輸出oDES加密數(shù)據(jù)速度快、效率高,被廣泛用于大量數(shù)據(jù)的加密。

IDEA (lntemational Data Encryption Algonithm)是國際數(shù)據(jù)加密算法,它使用128位密鑰,每次加密一個(gè)64位的數(shù)據(jù)塊。IDEA算法的安全性相對(duì)DES算法有很大的提高,其密鑰是128位,而且它比DES在軟件實(shí)現(xiàn)上快得多。

AES (Advanced Encryption Standard)即高級(jí)數(shù)據(jù)加密標(biāo)準(zhǔn),是一個(gè)迭代的對(duì)稱密鑰加密標(biāo)準(zhǔn),是基于排列和置換運(yùn)算,現(xiàn)在已經(jīng)成為新一代的數(shù)據(jù)加密標(biāo)準(zhǔn)。AES加密的分組長度都是可變的,其密鑰可以是128、192和256位密鑰,一般較常用的密鑰長度是128位,并且可以根據(jù)自己的需要選擇分組的長度和加密的輪數(shù)來保證數(shù)據(jù)的安全。AES加密與DES相比有很強(qiáng)的保密強(qiáng)度,安全級(jí)別較高,且能經(jīng)受住時(shí)間的檢驗(yàn)和攻擊。密鑰的長度及速度都高于DES,且資源的消耗較低,但是同樣為對(duì)稱密鑰;密鑰必須通過安全的途徑傳送,密鑰管理困難。

(2)非對(duì)稱密碼體制

非對(duì)稱密碼體制要求密鑰成對(duì)使用,加密和解密分別用兩個(gè)密鑰來實(shí)現(xiàn)。每個(gè)用戶都有一對(duì)選定的密鑰,一個(gè)可以公開,即公共密鑰,用于加密;另一個(gè)由用戶安全擁有,即秘密密鑰,用于解密,非法用戶根據(jù)公開的加密密鑰在計(jì)算上并不能算出解密密鑰p該技術(shù)就是針對(duì)對(duì)稱密碼體制的缺陷被提出來的。如果—個(gè)人選擇并公布了他的公鑰,另外任何人都可以用這一公鑰來加密傳送給那個(gè)人的消息a私鑰是秘密保存的,只有私鑰的所有者才能利用私鑰對(duì)密文進(jìn)行解密。非對(duì)稱密碼系統(tǒng)可提供以下功能:

1)機(jī)密性(Confidentiality):保證非授權(quán)人員不能非法獲取信息,通過數(shù)據(jù)加密來實(shí)現(xiàn)。

2)確認(rèn)(Authentication):保證對(duì)方屬于所聲稱的實(shí)體,通過數(shù)字簽名來實(shí)現(xiàn)。

3)數(shù)據(jù)完整性(Data integrity):保證信息內(nèi)容不被篡改,入侵者不可能用假消息代替合法消息,通過數(shù)字簽名來實(shí)現(xiàn)。

典型的公鑰密碼算法有RSA和ECC。RSA是當(dāng)前最著名的、應(yīng)用最廣泛的公鑰算法,安全性基于大整數(shù)素因子分解問題的困難性,它是一種分組加密算法,該算法原理簡單,易于使用ECC(Elliptic Curve Cryptosystem)即橢圓曲線密碼體制,是建立在求橢圓曲線離散對(duì)數(shù)困難基礎(chǔ)上的,它的安全性依賴于橢圓曲線離散對(duì)數(shù)問題的安全性,是目前最流行的一種公開密鑰密碼體制。ECC與RSA方法相比,它的安全性更高,只需要160位的密鑰就可以達(dá)到1024位RSA算法提供的安全等級(jí),有更好的加密強(qiáng)度,計(jì)算量小且處理速度快。

二、云計(jì)算環(huán)境下數(shù)據(jù)資源的加密技術(shù)分析

在云計(jì)算環(huán)境中,針對(duì)用戶數(shù)據(jù)資源所面臨的安全威脅,目前所采用的最基本、最核心的技術(shù)是數(shù)據(jù)加密技術(shù),其利用密碼學(xué)里的相關(guān)技術(shù)對(duì)信息進(jìn)行替換或者移位,實(shí)現(xiàn)信息隱藏,從而保護(hù)信息的安全。然而,隨著近年來云計(jì)算技術(shù)的高速發(fā)展,用戶在互聯(lián)網(wǎng)上的數(shù)據(jù)共享日益頻繁,傳統(tǒng)的加密體制和方法已經(jīng)不能適應(yīng)新的網(wǎng)絡(luò)環(huán)境下層出不窮的應(yīng)用需求。云計(jì)算中數(shù)據(jù)資源安全加密體制遇到了一些新的挑戰(zhàn),同時(shí)也引起了研究界的廣泛關(guān)注。

1、對(duì)稱密碼體制

數(shù)據(jù)擁有者首先與數(shù)據(jù)訪問者協(xié)商一對(duì)加密、解密密鑰,然后利用加密密鑰對(duì)數(shù)據(jù)進(jìn)行加密,數(shù)據(jù)訪問者則從數(shù)據(jù)擁有者或密鑰管理中心KCC處獲取相應(yīng)解密密鑰(對(duì)稱密碼體制中,解密密鑰=加密密鑰)。該方案存在的兩個(gè)主要問題是:第一,每一個(gè)數(shù)據(jù)訪問者均需要與數(shù)據(jù)擁有者協(xié)商一對(duì)密鑰,當(dāng)訪問用戶很多時(shí),需要協(xié)商的密鑰數(shù)量將會(huì)很龐大;第二,在不安全的網(wǎng)絡(luò)環(huán)境中,密鑰將通過什么安全通道進(jìn)行協(xié)商或分發(fā)?

2、非對(duì)稱密碼體制

基于對(duì)稱密碼體制下密鑰的協(xié)商和分發(fā)難題,非對(duì)稱密鑰體制用公鑰加密,而用私鑰來解密,從而實(shí)現(xiàn)了加密密鑰和解密密鑰的分離,但該體制存在兩個(gè)典型問題:

第一、如何確認(rèn)公鑰的正確性?目前確認(rèn)加密用公鑰的正確性一般是通過設(shè)立一個(gè)可信第三方(即證書中心CA)來對(duì)公鑰進(jìn)行認(rèn)證,在云計(jì)算環(huán)境下,用戶數(shù)量可能會(huì)非常龐大,這就對(duì)CA的安全性和管理負(fù)荷帶來了一定的挑戰(zhàn)。

第二、當(dāng)數(shù)據(jù)擁有者希望共享自己的數(shù)據(jù)時(shí),需要獲得每一個(gè)訪問用戶的公鑰來對(duì)數(shù)據(jù)進(jìn)行加密,而訪問用戶則憑借自己的私鑰對(duì)密文進(jìn)行解密。這種方式對(duì)數(shù)據(jù)擁有者的共享帶來了很大的操作負(fù)擔(dān),每增加一個(gè)授權(quán)訪問用戶,就需要去CA獲得該訪問用戶的公鑰,對(duì)共享數(shù)據(jù)加密后再進(jìn)行發(fā)布。

3、基于身份的加密體制

針對(duì)非對(duì)稱密碼體制下公鑰正確性證明需要提供一個(gè)CA中心的問題,在基于身份的加密體制下,采用用戶的身份信息作為其公鑰,從而避免了額外設(shè)立CA中心的負(fù)擔(dān)。也就是說,公鑰真實(shí)性問題和證書管理問題在基于身份加密的系統(tǒng)中就不再需要。但基于身份的加密體制仍存在的問題是,如果數(shù)據(jù)擁有者希望所共享的數(shù)據(jù)可以為多個(gè)授權(quán)用戶訪問,則同樣需要分別采用每個(gè)訪問用戶的身份信息作為公鑰來對(duì)數(shù)據(jù)進(jìn)行加密。

4、基于屬性的加密體制

基于用戶的身份信息唯一,但其屬性可能會(huì)有共性的特點(diǎn),Sahai和Waters在2005年歐洲密碼年會(huì)上發(fā)表了《模糊基于身份加密方案》一文,首次提出了基于屬性加密的概念。與基于身份的加密體制中采用用戶的唯一身份信息作為公鑰不同,基于屬性的加密體制采用用戶的屬性集合作為公鑰來對(duì)數(shù)據(jù)進(jìn)行加密,如果一個(gè)訪問用戶能夠解密一個(gè)密文,當(dāng)且僅當(dāng)該用戶的屬性集合和密文的屬性集合共有屬性的數(shù)量達(dá)到門限要求。在該加密體制中,引入了包含與、或、非,以及門限能力的訪問樹結(jié)構(gòu),使得密文可以被多個(gè)用戶共享。

舉一個(gè)例子說明:假設(shè)系統(tǒng)中門限為3,因此只有用戶的屬性集合中至少有3個(gè)屬性與密文屬性集合相同,用戶才能解密。設(shè)a,b,…,h表示系統(tǒng)中的屬性,若系統(tǒng)中有三個(gè)用戶分別為:A(a,b,c,d,e),B(b,c,e,f),C(a,d,g)。現(xiàn)有一個(gè)密文,其密文的屬性集合為(b,c,d,f)因?yàn)橄到y(tǒng)的門限是3,這就要求解密用戶的屬性集合至少含(b,c,d,f)中三個(gè)或三個(gè)以上的屬性。從A,B,C三個(gè)用戶的屬性集合可以看出A和B滿足條件,他們的屬性集合滿足了解密條件,能夠解密密文。而用戶C屬性集合不滿足要求,因此不能解密。

因?yàn)榛趯傩约用芊桨钢屑用芎徒饷芫哂袆?dòng)態(tài)、靈活的特性,能夠?qū)崿F(xiàn)對(duì)系統(tǒng)中用戶的解密能力和密文的保護(hù)方面的細(xì)粒度控制。近幾年來,基于屬性加密成為公鑰密碼學(xué)的研究熱點(diǎn)。

三、云計(jì)算環(huán)境下數(shù)據(jù)加密的發(fā)展趨勢

綜合對(duì)目前主流的加密方案進(jìn)行分析,對(duì)稱密碼體制在加解密速度上占有一定的優(yōu)勢,但在云計(jì)算環(huán)境下,其密鑰管理和分發(fā)的障礙更為突出。非對(duì)稱密碼體制一定程度上解決了對(duì)稱密碼體制在密鑰管理和分發(fā)的難題,但在公鑰管理和分發(fā)上需要設(shè)立一個(gè)公鑰認(rèn)證中心,在云計(jì)算環(huán)境下該認(rèn)證中心很容易成為黑客重點(diǎn)攻擊的目標(biāo),且一旦其被攻破,則用戶數(shù)據(jù)安全性不再得到保證。基于身份的加密體制可不再需要認(rèn)證中心,但其仍然存在的問題是用戶希望共享數(shù)據(jù)時(shí),需要獲取所有訪問用戶的身份信息來對(duì)數(shù)據(jù)進(jìn)行加密,其代價(jià)比較大。而基于屬性的加密體制從原理上較適合云計(jì)算環(huán)境下的針對(duì)多用戶的數(shù)據(jù)共享問題,在很多應(yīng)用場景下不再需要認(rèn)證中心來管理和分發(fā)密鑰,而且針對(duì)多訪問用戶,可以用他們的共有屬性集來設(shè)計(jì)加密方案,實(shí)現(xiàn)了對(duì)用戶解密密文的細(xì)粒度控制D然而據(jù)我們所知,到目前為止,基于屬性的加密體制在某些擴(kuò)展應(yīng)用場景中還存在一些問題,比如針對(duì)所有屬性情況下的訪問樹設(shè)計(jì)是否可行?能否在不設(shè)立認(rèn)證中心的前提下,處理新增用戶訪問的要求?如何處理在云計(jì)算環(huán)境下,基于屬性加密體制的用戶單點(diǎn)登錄問題?

小知識(shí)之云安全聯(lián)盟云安全聯(lián)盟CSA是在2009年的RSA大會(huì)上宣布成立的。自成立后,CSA迅速獲得了業(yè)界的廣泛認(rèn)可。