施媛波
(云南師范大學(xué)商學(xué)院 計(jì)算機(jī)科學(xué)系,云南 昆明 650106)
隨著云計(jì)算技術(shù)的進(jìn)步,文本、音頻、視頻、圖像等各種信息被存儲(chǔ)在云中,但由于存在許多攻擊者和惡意用戶,在云環(huán)境中管理多媒體文件是最受關(guān)注的挑戰(zhàn)之一[1,2]。由于數(shù)據(jù)被分發(fā)到不同的存儲(chǔ)設(shè)備,數(shù)據(jù)完整性和隱私成為云計(jì)算中主要考慮的問(wèn)題[3,4]。加密技術(shù)通常用于解決云數(shù)據(jù)安全問(wèn)題[5,6],其中有價(jià)值的信息受到保護(hù),并限制未經(jīng)授權(quán)的用戶訪問(wèn)私有數(shù)據(jù)。DNA計(jì)算在密碼學(xué)領(lǐng)域得到了廣泛的應(yīng)用[7,8],使用DNA計(jì)算進(jìn)行數(shù)據(jù)加密,可以使未經(jīng)授權(quán)的、惡意的用戶和攻擊者無(wú)法讀取數(shù)據(jù)內(nèi)容[9,10]。
針對(duì)云計(jì)算環(huán)境下多媒體文件的保護(hù)問(wèn)題,提出了一種云計(jì)算中基于DNA的多媒體安全模型,該模型的數(shù)據(jù)所有者根據(jù)用戶屬性、用戶密碼、DNA參考密鑰、互補(bǔ)規(guī)則和十進(jìn)制編碼規(guī)則隨機(jī)生成長(zhǎng)1024位密鑰,以降低密鑰生成、密鑰檢索、多媒體加密和多媒體解密的時(shí)間和成本。利用1024位DNA密鑰、數(shù)據(jù)所有者(data owner,DO)密鑰和云服務(wù)提供商(cloud service provider,CSP)公鑰來(lái)加密多媒體文件的安全性,以保護(hù)多媒體文件免受校驗(yàn)值丟失攻擊、碰撞攻擊、網(wǎng)絡(luò)釣魚(yú)攻擊、密碼猜測(cè)攻擊、偽裝攻擊等多種安全攻擊。實(shí)驗(yàn)結(jié)果表明,本文算法具有更高的效率,能夠保護(hù)多媒體文件免受多種安全攻擊。
提出的算法使用1024位的DNA密鑰對(duì)用戶的機(jī)密多媒體文件或消息進(jìn)行加密,并通過(guò)多個(gè)過(guò)程生成密鑰以提高安全性。該方案主要包括4個(gè)階段:DNA密鑰生成、基于DNA序列的多媒體加密、用戶登錄注冊(cè)、多媒體訪問(wèn)。
數(shù)據(jù)所有者(DO)執(zhí)行密鑰生成過(guò)程,并僅為授權(quán)或有效用戶生成DNA密鑰。若用戶是有效的,DO要求用戶提供密碼并獲取必要的用戶屬性。將十進(jìn)制編碼規(guī)則(表1)應(yīng)用于密碼和屬性的值,使信息具有相同的格式。十進(jìn)制編碼規(guī)則通過(guò)使用基于DNA的加密來(lái)支持隨機(jī)性從而提高多媒體文件的安全性,產(chǎn)生的DNA序列作為DNA密鑰提供給用戶或客戶。
表1 十進(jìn)制編碼規(guī)則
密鑰生成過(guò)程如下:首先為了獲得密鑰和證書(shū),用戶向DO發(fā)送一個(gè)請(qǐng)求,DO驗(yàn)證用戶的授權(quán),若用戶無(wú)效,拒絕用戶請(qǐng)求。若用戶請(qǐng)求有效,DO要求用戶提供密碼,并收集用戶的密碼和必要的屬性進(jìn)行十進(jìn)制編碼,生成的十進(jìn)制數(shù)被轉(zhuǎn)換成其相應(yīng)的8位二進(jìn)制數(shù),這些8位二進(jìn)制數(shù)被轉(zhuǎn)換成相應(yīng)的美國(guó)信息交換標(biāo)準(zhǔn)碼(American standard code for information interchange,ASCII)[11,12],見(jiàn)表2,以生成一個(gè)與每個(gè)8位二進(jìn)制數(shù)相對(duì)應(yīng)的隨機(jī)十進(jìn)制數(shù),將ASCII值再次轉(zhuǎn)換為它們的實(shí)際8位二進(jìn)制數(shù)。若二進(jìn)制數(shù)的長(zhǎng)度小于1024位,則在其右側(cè)添加額外的0以使其成為1024位,否則將從左側(cè)刪除多余的位。
表2 ASCII編碼規(guī)則
生成的1024位二進(jìn)制數(shù)分為4部分(每組256位),并將DNA堿基(A(腺嘌呤)、C(胞嘧啶)、G(鳥(niǎo)嘌呤)和T(胸腺嘧啶))分配給每個(gè)部分[13,14],見(jiàn)表3。DO從公開(kāi)可用的DNA堿基中隨機(jī)選擇一個(gè)DNA參考密鑰,并將其添加到前一步生成的DNA堿基的中間。將互補(bǔ)規(guī)則應(yīng)用于DNA序列,使其成為最終的DNA密鑰。這個(gè)過(guò)程提高了多媒體文件的安全性,以防黑客和惡意用戶的攻擊?;パa(bǔ)規(guī)則可以表示為V(C)=W, 其中C≠W。 補(bǔ)充規(guī)則如下: (CA)(AT)(GC) 表示為V(C)=A, 以此類(lèi)推。
在多媒體加密過(guò)程中使用刪除或添加位生成的二進(jìn)制數(shù),通過(guò)DO私鑰和用戶的公鑰加密后,將應(yīng)用互補(bǔ)規(guī)則所得DNA字符串(密鑰)提供給用戶。DO還會(huì)在同一個(gè)
表3 2位二進(jìn)制的DNA堿基
加密消息中發(fā)送十進(jìn)制編碼規(guī)則、ASCII編碼規(guī)則、DNA參考密鑰和互補(bǔ)規(guī)則。相應(yīng)的用戶只能利用用戶私鑰和DO公鑰對(duì)加密后的消息進(jìn)行解密。用戶可以快速恢復(fù)原始密鑰,因?yàn)槠鋼碛蠨O提供的所有憑據(jù)。
在基于DNA的多媒體加密階段,DO將明文分成1024位的塊,然后將每個(gè)1024位塊分組為4個(gè)相等的塊(每個(gè)塊256位)。將明文分為256位塊后,根據(jù)表2的8位二進(jìn)制數(shù)將其轉(zhuǎn)換為相應(yīng)的ASCII值,將這些二進(jìn)制位轉(zhuǎn)換成實(shí)數(shù)。在加密明文的256位塊和密鑰的256位塊之間執(zhí)行EXOR操作。因此,每1024位明文塊有4個(gè)EXOR操作,使用表3將將每個(gè)2位二進(jìn)制數(shù)轉(zhuǎn)換成相應(yīng)的DNA堿基。因?yàn)橛?個(gè)DNA堿基,所以最多可以有24個(gè)DNA堿基的組合,DO可以從24個(gè)組合中選擇任何一個(gè),將明文加密的二進(jìn)制形式轉(zhuǎn)換成DNA堿基。
為了提高安全性,DO在獲得的DNA堿基中間添加了DNA參考密鑰,DNA參考密鑰與密鑰生成階段使用的密鑰相同,DO使用的互補(bǔ)規(guī)則與1.1節(jié)中使用的互補(bǔ)規(guī)則相同。
最后用DO私鑰對(duì)得到的DNA序列進(jìn)行加密,再用CSP公鑰對(duì)其進(jìn)行再次加密。DO還將相應(yīng)的訪問(wèn)權(quán)限或證書(shū)與多媒體數(shù)據(jù)內(nèi)容一起加密,并將整個(gè)加密信息保存在云數(shù)據(jù)庫(kù)中。CSP無(wú)法解密加密的多媒體文件,因?yàn)槊荑€和其它憑據(jù)僅與授權(quán)用戶共享。CSP僅使用CSP的私鑰和DO公鑰對(duì)加密的多媒體文件或消息進(jìn)行解密,并將其與證書(shū)一起保存在云數(shù)據(jù)庫(kù)中。
授權(quán)用戶必須向CSP發(fā)送請(qǐng)求以在云服務(wù)器中注冊(cè),CSP收到請(qǐng)求后收集用戶的個(gè)人或機(jī)密信息(如,出生日期、家庭住址、學(xué)校名稱),并生成用戶的個(gè)人資料。然后,建立安全通信介質(zhì)(安全套接字層(secure socket layer,SSL)來(lái)傳送密鑰對(duì)、注冊(cè)應(yīng)答和重復(fù)身份,特定的注冊(cè)用戶只能從重復(fù)的身份中獲取真實(shí)身份。攻擊者或黑客無(wú)法從重復(fù)的身份中獲取實(shí)際用戶的身份,DO在云服務(wù)器中的注冊(cè)也遵循相同的過(guò)程。
授權(quán)用戶或客戶只允許在注冊(cè)階段后登錄系統(tǒng)或服務(wù)器。CSP在登錄過(guò)程之后向用戶回復(fù)確認(rèn)。在登錄過(guò)程之后,用戶向服務(wù)提供商發(fā)送訪問(wèn)多媒體文件的請(qǐng)求。CSP以加密的形式將DO公鑰發(fā)送給用戶或客戶,以從相應(yīng)的DO獲得證書(shū)或訪問(wèn)權(quán)限以及密鑰或密碼。用戶只有在得到相應(yīng)的DO公鑰后才能請(qǐng)求相應(yīng)的DO。在確認(rèn)用戶所請(qǐng)求的秘密文件的真實(shí)性后,CSP以用戶的授權(quán)證書(shū)的形式對(duì)其進(jìn)行加密。
只有授權(quán)用戶才能從云服務(wù)器訪問(wèn)多媒體文件。任何多媒體文件的訪問(wèn)都有幾個(gè)步驟:
首先用戶必須在云服務(wù)器(CSP)中注冊(cè),CSP向用戶發(fā)出確認(rèn),用戶登錄到云服務(wù)器。CSP接受有效或授權(quán)用戶的登錄請(qǐng)求,當(dāng)成功的授權(quán)過(guò)程完成時(shí),CSP向用戶發(fā)送回復(fù)或確認(rèn)。用戶以加密的形式向CSP發(fā)送請(qǐng)求,以訪問(wèn)多媒體文件,CSP從云數(shù)據(jù)庫(kù)中找到相應(yīng)的請(qǐng)求多媒體文件的DO公鑰,CSP使用CSP私鑰和用戶公鑰生成密文后,將DO公鑰提供給相應(yīng)的用戶,用戶使用用戶公鑰和CSP公鑰解密后檢索DO公鑰。然后,用戶通過(guò)使用用戶公鑰和DO公鑰向相應(yīng)的DO發(fā)起一個(gè)加密請(qǐng)求,以提供密鑰和證書(shū),DO從CSP驗(yàn)證用戶的真實(shí)性,CSP向DO發(fā)送關(guān)于用戶身份驗(yàn)證的回復(fù),DO要求用戶提供密碼。用戶向DO提供密碼,DO利用密碼和用戶屬性信息生成DNA密鑰,然后將所有憑證發(fā)送給使用DO私鑰和用戶公鑰加密的用戶。
DO將多媒體文件的密文和相應(yīng)的證書(shū)存儲(chǔ)在云服務(wù)器上,使用DO密鑰和CSP公鑰加密。CSP僅僅通過(guò)使用CSP密鑰和DO公鑰來(lái)解密信息。然后,用戶將證書(shū)提交給使用用戶密鑰和CSP公鑰加密的CSP,加密的消息由CSP解密以獲取證書(shū)。最后,CSP從服務(wù)器搜索請(qǐng)求的多媒體文件,并根據(jù)DO提供的證書(shū)驗(yàn)證用戶的證書(shū)。當(dāng)證書(shū)正確或有效時(shí),將執(zhí)行其余進(jìn)程。CSP通過(guò)使用CSP密鑰和用戶公鑰對(duì)用戶請(qǐng)求的多媒體文件進(jìn)行加密,然后將其發(fā)送給用戶。用戶獲得加密的消息并通過(guò)用戶密鑰對(duì)其進(jìn)行解密,然后使用CSP公鑰進(jìn)行解密。最后,利用DNA密鑰再次執(zhí)行解密過(guò)程。由于用戶擁有DO在加密期間使用的所有憑證,因此用戶可以獲得原始數(shù)據(jù)內(nèi)容。
為了評(píng)價(jià)算法的性能,所有實(shí)驗(yàn)均是在配置為8 GB RAM、1 TB存儲(chǔ)容量、3.40 GHz Intel Core i5 processor的Windows 10操作系統(tǒng)進(jìn)行的,使用CloudSim3.0.3構(gòu)建了一個(gè)云模擬環(huán)境。在CloudSim中使用10個(gè)數(shù)據(jù)中心來(lái)創(chuàng)建一個(gè)異構(gòu)云環(huán)境,該環(huán)境由2000個(gè)物理節(jié)點(diǎn)、1 GB/s的網(wǎng)絡(luò)帶寬和4 GB的存儲(chǔ)容量組成。數(shù)據(jù)集是從可公開(kāi)獲得的CityPulse數(shù)據(jù)集集合[15]中收集的,該數(shù)據(jù)集提供了不同類(lèi)型的數(shù)據(jù)集(污染、天氣和道路交通等),本文車(chē)輛交通數(shù)據(jù)集(大小為3 GB)用于實(shí)驗(yàn)。為了計(jì)算多媒體文件的密鑰生成時(shí)間、密鑰檢索時(shí)間和加密解密次數(shù),在不同的情況下進(jìn)行了50次實(shí)驗(yàn),得到了每個(gè)結(jié)果,取這50個(gè)結(jié)果的平均值。
表4給出了基于DNA的可逆數(shù)據(jù)隱藏方案(reversible data hiding scheme,RDHS)和基于混沌的圖像加密(chaos-based image encryption,CBIE)與本文算法的密鑰生成時(shí)間。這3種方案均是基于DNA進(jìn)行數(shù)據(jù)加密,CBIE首先利用DNA序列和logistic圖譜生成許多DNA掩模,然后利用遺傳算法尋找最佳的DNA模板,以尋找適合圖像加密的最佳DNA掩模。RDHS使用DNA異或規(guī)則來(lái)處理用戶的機(jī)密或敏感多媒體文件。RDHS中,信息被嵌入,經(jīng)過(guò)提取處理后,信息準(zhǔn)確地還原為原始的宿主信號(hào)。但是,如果攻擊者獲得二進(jìn)制編碼規(guī)則和DNA異或規(guī)則,則攻擊者可以獲得數(shù)據(jù)的原始內(nèi)容。
表4 各算法的密鑰生成時(shí)間/ms
可以看出,與CBIE和RDHS相比,本文算法可以更快速生成密鑰,這是因?yàn)橐坏┟荑€被提供給用戶,用戶就可在將來(lái)使用生成的密鑰,對(duì)于已具有密鑰的現(xiàn)有或老用戶,密鑰生成時(shí)間減少。在CBIE和RDHS方案中,所有用戶或客戶必須在每次訪問(wèn)多媒體時(shí)獲得密鑰才能進(jìn)行下一步的處理,導(dǎo)致檢索時(shí)間呈現(xiàn)線性增長(zhǎng)。
表5給出了各算法的密鑰檢索時(shí)間??梢钥闯?,所提算法可以更快檢索用戶生成的密鑰,為用戶檢索密鑰提供更好的結(jié)果。這是因?yàn)樵诒疚乃惴ㄖ?,如果老用戶或現(xiàn)有用戶已經(jīng)收集了密鑰,則不需要從Do獲取DNA密鑰,為用戶檢索密鑰提供了更好的結(jié)果。在現(xiàn)有的CBIE和RDHS中,每當(dāng)用戶想要從云數(shù)據(jù)庫(kù)中獲取任何數(shù)據(jù)時(shí),每次都需要從DO獲取密鑰并進(jìn)行檢索,其密鑰檢索時(shí)間較長(zhǎng),并且會(huì)產(chǎn)生線性增長(zhǎng)。
表6給出了各算法的加密時(shí)間??梢钥闯?,在云計(jì)算環(huán)境下,本文算法加密時(shí)間最短,具有較快的加密速度。這是因?yàn)椋疚乃惴ㄊ褂帽?、表2和DNS參考秘鑰和補(bǔ)充規(guī)則生成DNA秘鑰,一旦密鑰被提供給用戶,用戶就可以在將來(lái)使用它,對(duì)于已經(jīng)具有DNA秘鑰的現(xiàn)有或老用
表5 各算法的密鑰檢索時(shí)間/ms
戶,密鑰生成時(shí)間減少。而CBIE的迭代算法增加了多媒體文件加密的時(shí)間,RDHS使用直方圖修改技術(shù),所有用戶必須在每次訪問(wèn)多媒體時(shí)獲得密鑰才能進(jìn)行下一步的處理,增加了數(shù)據(jù)加密的時(shí)間。
表6 各算法的加密時(shí)間/ms
表7給出了各算法的多媒體解密時(shí)間??梢钥闯觯疚乃惴ň哂凶疃痰慕饷軙r(shí)間,產(chǎn)生了更好的效果。這是因?yàn)?,本文算法在DO在傳輸密鑰時(shí)向用戶提供所有憑證,用戶可以使用這些憑證輕松地解密多媒體文件或信息。多媒體解密不需要復(fù)雜的操作,需要4個(gè)EXOR操作,減少了解密時(shí)間。而CBIE和RDHS需要進(jìn)行許多復(fù)雜的操作和EXOR操作來(lái)解密多媒體文件,增加了時(shí)間。
表7 各算法的解密時(shí)間/ms
所提出的基于DNA的多媒體加密方案可以防止許多攻擊。
碰撞攻擊:在本文算法中,密鑰是根據(jù)用戶提供的密碼和用戶的屬性(如ID、地址和出生日期)生成的,兩個(gè)用戶的屬性不可能完全相同,此外,密碼是基于用戶的選擇。DO和CSP不會(huì)向其他人透露任何敏感信息,如果黑客試圖合并兩個(gè)不同用戶的兩個(gè)不同輸入的詳細(xì)信息,則黑客或惡意用戶必須擁有兩個(gè)授權(quán)用戶的所有機(jī)密詳細(xì)信息以及表1、表2、表3以及DNA參考密鑰和補(bǔ)充規(guī)則。獲取關(guān)于兩個(gè)不同用戶的所有信息幾乎是不可能的,因此,本文算法可以抵抗碰撞攻擊。
校驗(yàn)值丟失攻擊:在本文算法中,DO生成DNA密鑰并用它加密多媒體文件,加密后的多媒體文件在存儲(chǔ)到云數(shù)據(jù)庫(kù)之前使用DO密鑰和CSP公鑰再次加密。DNA私鑰只提供給使用DO私鑰和用戶公鑰加密的授權(quán)用戶,DO通過(guò)CSP驗(yàn)證用戶的真實(shí)性后生成密鑰。相應(yīng)的用戶只有在使用用戶密鑰和DO公鑰解密時(shí)才能獲得密鑰。DO不會(huì)將DNA密鑰存儲(chǔ)在任何地方,甚至不會(huì)存儲(chǔ)在云服務(wù)器上。在竊取的校驗(yàn)值攻擊中,黑客或惡意用戶不能獲得哈希密碼,提出的算法可以抵抗校驗(yàn)值丟失攻擊。
網(wǎng)絡(luò)釣魚(yú)攻擊:在本文算法中,CSP在收到用戶的注冊(cè)請(qǐng)求后,將用戶的所有詳細(xì)信息或信息集合起來(lái),CSP通過(guò)安全套接字層提供公鑰和私鑰對(duì)。CSP也遵循相同的方法來(lái)注冊(cè)DO。當(dāng)用戶發(fā)送對(duì)多媒體或數(shù)據(jù)的訪問(wèn)請(qǐng)求時(shí),服務(wù)提供商僅以密文形式向用戶提供相應(yīng)DO公鑰,DO僅在確認(rèn)用戶的真實(shí)性后提供DNA私鑰。DO和CSP都不會(huì)向授權(quán)用戶公開(kāi)自己的任何敏感或機(jī)密信息。因此,黑客或惡意用戶無(wú)法獲取授權(quán)用戶的信息,可以抵抗網(wǎng)絡(luò)釣魚(yú)攻擊。
密碼猜測(cè)攻擊:黑客或惡意用戶嘗試所有可能的密碼組合來(lái)獲得有效密碼,在該方案中DO根據(jù)密碼和用戶屬性,使用表1、表2、DNA參考密鑰和互補(bǔ)規(guī)則創(chuàng)建DNA密鑰。在多媒體加密階段,DO使用表2、表3、DNA參考密鑰和補(bǔ)充規(guī)則。由于DNA密鑰是利用用戶的秘密信息生成的,因此黑客或未經(jīng)授權(quán)的用戶難以獲取所有的秘密信息。如果一個(gè)黑客在最壞的情況下獲得了一個(gè)授權(quán)用戶的所有秘密信息,則其必須有表1、表2、DNA參考密鑰和補(bǔ)充規(guī)則來(lái)檢索密鑰。DO通過(guò)使用DO密鑰和用戶公鑰,只與加密結(jié)構(gòu)中的授權(quán)或有效用戶共享這些憑證,只有相應(yīng)的有效用戶可以使用其DO密鑰和用戶公鑰對(duì)其進(jìn)行解密,對(duì)于任何攻擊者或惡意用戶來(lái)說(shuō),猜測(cè)所有這些信息幾乎是不可能的。提出的算法可以抵抗密碼猜測(cè)攻擊。
偽裝攻擊:未經(jīng)授權(quán)的用戶使用任何虛假信息或身份進(jìn)行未經(jīng)授權(quán)的訪問(wèn),所有用戶都需要在CSP上注冊(cè),注冊(cè)成功后才能訪問(wèn)任何服務(wù)。因此,未經(jīng)授權(quán)或惡意用戶無(wú)法使用偽造的身份登錄云服務(wù)器,也無(wú)法在未登錄云服務(wù)器的情況下訪問(wèn)云服務(wù)器上的任何服務(wù)。在最壞的情況下,如果黑客登錄到云服務(wù)器并請(qǐng)求獲取任何多媒體文件,CSP將提供DO公鑰,用于從相應(yīng)的DO獲取密鑰和證書(shū)。在生成和發(fā)送DNA密鑰和證書(shū)之前,DO從CSP確認(rèn)用戶的真實(shí)性,如果黑客使用偽造的身份訪問(wèn)任何多媒體文件,則CSP端不驗(yàn)證其真實(shí)性,DO拒絕發(fā)送密鑰和證書(shū)的請(qǐng)求。因此,攻擊者或黑客無(wú)法通過(guò)使用偽造的身份從云服務(wù)器獲得任何未經(jīng)授權(quán)的訪問(wèn),提出的算法可以抵御這種攻擊。
提出了一種云計(jì)算中基于DNA密碼學(xué)的多媒體安全模型,用來(lái)解決云環(huán)境下多媒體由于通過(guò)互聯(lián)網(wǎng)傳輸而易受到黑客攻擊的問(wèn)題。數(shù)據(jù)所有者根據(jù)用戶屬性、用戶密碼、DNA參考密鑰、互補(bǔ)規(guī)則和十進(jìn)制編碼規(guī)則隨機(jī)生成長(zhǎng)1024位密鑰,使用生成的密鑰基于DNA序列來(lái)加密多媒體文件。數(shù)據(jù)所有者將加密的多媒體數(shù)據(jù)內(nèi)容存儲(chǔ)在云數(shù)據(jù)庫(kù)中,只有授權(quán)用戶才能從云服務(wù)器訪問(wèn)加密的多媒體文件。實(shí)驗(yàn)結(jié)果表明,本文算法具有更高的效率,能夠保護(hù)多媒體文件免受校驗(yàn)值丟失攻擊、碰撞攻擊、網(wǎng)絡(luò)釣魚(yú)攻擊、密碼猜測(cè)攻擊、偽裝攻擊等多種安全攻擊。未來(lái)的工作是對(duì)本文方案的安全性分析進(jìn)行數(shù)學(xué)證明,并改進(jìn)云計(jì)算環(huán)境的認(rèn)證過(guò)程。