樂可馨, 王亮亮
(上海電力大學(xué) 計算機科學(xué)與技術(shù)學(xué)院, 上海 200090)
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,越來越多的信息通過網(wǎng)絡(luò)傳播,數(shù)字圖像就是其中之一。數(shù)字圖像在現(xiàn)代醫(yī)療等領(lǐng)域有著很重要的應(yīng)用。數(shù)字圖像包含了大量的信息,例如:一張軍艦的照片不僅可以顯示其大小和武器配置,還可以顯示其大致位置和軍事任務(wù);自拍照不僅可以顯示主人的長相,還可以泄露其大致年齡和健康狀況。因此,圖像安全越來越受到人們的關(guān)注。在各種圖像安全技術(shù)中,圖像加密是一種將有意義的原始圖像轉(zhuǎn)化為不可識別的噪聲類密碼圖像的方法。目前,無論是在研究上還是在應(yīng)用上數(shù)字圖像處理技術(shù)都得到了很好的發(fā)展,再加上網(wǎng)絡(luò)技術(shù)的快速普及,為數(shù)字圖像加密技術(shù)的進(jìn)一步發(fā)展提供了有力的支撐[1]。由于圖像的信息量很大,處理起來很慢,所以常見的對圖像進(jìn)行的加密方案的加、解密效率并不高。
與此同時,云計算的發(fā)展日漸成熟。云計算是一種并行的分布式系統(tǒng),由虛擬化的計算資源構(gòu)成,能夠根據(jù)服務(wù)提供者和用戶事先商定好的服務(wù)協(xié)議等動態(tài)地提供服務(wù)[2]。云計算發(fā)展至今已有10多年,早期的有簡單分布式計算、處理多并發(fā)任務(wù)、合并計算結(jié)果等,目前已應(yīng)用于各個領(lǐng)域的計算,并帶動了眾多行業(yè)的技術(shù)革新。因為通過這項技術(shù),可以在很短的時間內(nèi)完成對數(shù)以萬計數(shù)據(jù)的處理,從而達(dá)到強大的網(wǎng)絡(luò)服務(wù)。同時,云計算與其他技術(shù)和理論的有機結(jié)合,也是解決理論研究和實際應(yīng)用的重要途徑[3]。然而云計算在可以提供強力計算支持的同時,其安全性也存在一定的風(fēng)險。有關(guān)云計算的安全討論一直沒有停止。
在圖像加密中,常用的是基于混沌的圖像加密算法。這是利用混沌對初始值的敏感特性,使攻擊者難以破譯圖像信息[4]。文獻(xiàn)[5]提出了一種基于Logistic映射的圖像加密算法的改進(jìn)方案,改進(jìn)了傳統(tǒng)Logistic加密算法存在的部分缺點。但Logistic映射是一維映射,一維混沌系統(tǒng)的隨機性是有限的。文獻(xiàn)[6]提出了一種基于信息熵的混沌圖像加密算法,采用的混沌系統(tǒng)為二維映射,增強了隨機性,并增加了調(diào)制操作,加強了密文圖像的安全性。但其計算量過大,對本地計算資源的要求較高。文獻(xiàn)[7]提出了一種基于簡單混沌數(shù)方法的圖像加密技術(shù),分為混淆和擴(kuò)散兩個階段,并利用了簡單混沌數(shù),使系統(tǒng)具有良好的分岔行為。但該方案使用簡單的一維混沌映射,計算量較小,算法復(fù)雜性不夠,方案安全性不足。文獻(xiàn)[8]提出了一種離散混沌異或圖像加密技術(shù),根據(jù)需要加密的數(shù)字圖像的大小,產(chǎn)生相應(yīng)的二值混沌序列,實現(xiàn)二值混沌序列與數(shù)字圖像之間的二值異或運算,對數(shù)字圖像進(jìn)行加密。然而二值混沌序列計算開銷大,導(dǎo)致該方案的計算效率較低,并且密文圖像的統(tǒng)計特性打破不夠徹底。文獻(xiàn)[9]提出了一種基于有限域運算的混沌圖像加密方法,利用混沌映射將原始圖像映射成二維矩陣,然后在有限域內(nèi)對原始圖像矩陣和先前生成的兩個矩陣進(jìn)行乘法運算。該方案置亂效果較優(yōu),安全性高,但圖像映射過程計算開銷較大,對系統(tǒng)的計算能力要求較高。
本文在上述多種方案的基礎(chǔ)上進(jìn)行了改進(jìn)。首先,采用二維混沌映射生成置亂矩陣和擴(kuò)散矩陣,使系統(tǒng)具有良好的混沌行為,采用2D-LASM映射公式來確保密文圖像的安全性和加密過程的計算效率。其次,增加調(diào)制操作,在置亂前改變圖像的灰度分布,提高方案的安全性;并且將部分加密過程置于云環(huán)境下,利用云的強大計算能力和分布式能力,提高方案的效率,并使方案支持大規(guī)模圖像處理。最后,為了避免云環(huán)境中的未知風(fēng)險,調(diào)制操作在客戶端本地完成,調(diào)制密鑰不與云端共享,將加密過程安全隔離成兩部分,云服務(wù)器無法得到原始圖像數(shù)據(jù),以規(guī)避云服務(wù)器存在的安全隱患。
混沌是20世紀(jì)以來最重要的發(fā)現(xiàn)之一,其重要性可以與相對論和量子力學(xué)相提并論[10]。混沌理論來源于美國氣象學(xué)家洛倫茲于20世紀(jì)60年代發(fā)現(xiàn)的“蝴蝶效應(yīng)”。洛倫茲在實驗過程中發(fā)現(xiàn),當(dāng)參數(shù)選擇在一定范圍時,一個大氣對流模型就變得不可預(yù)測了?;煦缦到y(tǒng)的很多特性如奇異性、復(fù)雜性導(dǎo)致人們至今尚未完全認(rèn)識混沌理論,也導(dǎo)致混沌至今沒有一個統(tǒng)一的定義。
混沌系統(tǒng)的許多性質(zhì)與密碼學(xué)中的同類系統(tǒng)相似,所以非常適合于密碼學(xué),并已廣泛應(yīng)用于圖像加密。當(dāng)混沌系統(tǒng)應(yīng)用于圖像加密時,圖像加密方案的安全性在很大程度上取決于所用混沌系統(tǒng)的性能。
文獻(xiàn)[11]提出了2D-LASM映射,其來源于一維Logistic映射和二維正弦映射的結(jié)合。Logistic映射和二維正弦映射具有相近的參數(shù)混沌范圍,都表現(xiàn)出良好的混沌性能?;煦绲膮?shù)范圍是指該混沌映射公式的結(jié)果只有當(dāng)參數(shù)在某些區(qū)間內(nèi)時才表現(xiàn)出混沌現(xiàn)象?;煦缧阅苤赣成浣Y(jié)果的不可預(yù)知性,不可預(yù)知性越強,混沌性能就越好,一般可通過李雅普諾夫指數(shù)等標(biāo)準(zhǔn)來判定。2D-LASM映射公式為
(1)
其中,μ為混沌系數(shù),只有當(dāng)混沌系數(shù)處于某一范圍內(nèi)時,混沌映射的結(jié)果才會產(chǎn)生混沌行為。2D-LASM混沌映射的混沌系數(shù)范圍為[0.37,0.38]∪[0.4,0.42]∪[0.44,0.93]∪ {1}。本方案選取混沌系數(shù)μ=0.821 6。
云計算是將互聯(lián)網(wǎng)當(dāng)作一個超級計算機。對于終端客戶端來說,他們不需要關(guān)心自己的數(shù)據(jù)存儲在什么地方,也不需要擔(dān)心自己的計算能力,其數(shù)據(jù)存儲和計算能力都由遠(yuǎn)程(即云端)提供[12]。在圖像加密這一應(yīng)用場景中,主要目的是利用云服務(wù)器高效和分布式的計算能力來快速處理大規(guī)模圖像數(shù)據(jù)集。眾所周知,與一般數(shù)據(jù)相比,圖像數(shù)據(jù)的數(shù)據(jù)量更大,處理起來更復(fù)雜,而本地計算資源的能力十分有限,尤其是在處理大量圖像時,需要將計算外包給云服務(wù)器。
從目前云計算的發(fā)展來看,用戶數(shù)據(jù)的安全、隱私信息的保護(hù)、數(shù)據(jù)的異地存儲、云計算自身的穩(wěn)定性,以及云計算監(jiān)管方面的問題,直接關(guān)系到云計算業(yè)務(wù)被用戶接受的程度,進(jìn)而成為影響云計算業(yè)務(wù)發(fā)展的最重要因素[13]。這是因為:一方面,云服務(wù)器經(jīng)常遭受各種外部惡意敵手的攻擊;另一方面,云服務(wù)器本身也存在著諸多不安全因素,例如,服務(wù)器管理員有泄密可能,服務(wù)提供商可能會主動窺探用戶隱私等。因此,在各種安全模型中,云服務(wù)器通常被視為“誠實但好奇”的敵手。
在圖像加密這一涉及大量用戶隱私的領(lǐng)域中,如何既充分利用云計算的優(yōu)勢,又避免云服務(wù)器泄露用戶隱私(明文圖像)成為一個重要問題。通常,云服務(wù)器只用來存儲密文圖像,在上傳圖像之前加密并添加訪問控制即可,但本方案需要利用云服務(wù)器的計算能力來優(yōu)化加密過程。本文提出的解決方案為在本地先進(jìn)行初步加密,再上傳至云服務(wù)器完成剩余加密步驟。其中,利用混沌映射加密的部分計算量大,放在用戶端進(jìn)行則違背引入云計算的初衷,故設(shè)計一種計算量較小的調(diào)制操作置于用戶端。這樣就可實現(xiàn)對云服務(wù)器的“取長補短”。
本方案主要分為客戶端和云服務(wù)器兩個模塊。對圖像進(jìn)行加密時,客戶端對明文圖像進(jìn)行一步調(diào)制操作,改變圖像的統(tǒng)計特性后發(fā)送給云服務(wù)器。云服務(wù)器則對調(diào)制后的圖像進(jìn)行多輪置亂和擴(kuò)散,從而完成加密并將密文圖像發(fā)送給客戶端。解密時,客戶端將密文圖像發(fā)給云服務(wù)器,云服務(wù)器將密文圖像解密至調(diào)制前一步后發(fā)給客戶端,最后由客戶端本地對圖像進(jìn)行解調(diào),得到明文圖像。圖1揭示了加密的具體流程。
圖1 加密流程示意
2.2.1 調(diào) 制
此過程在客戶端本地完成。若在對圖像進(jìn)行擴(kuò)散和置亂操作前沒有改變圖像的灰度分布,那么加密算法很容易受到攻擊,并且密文圖像的統(tǒng)計特性也會打破的不夠徹底。同時,在客戶端本地對圖像進(jìn)行調(diào)制后再發(fā)給云服務(wù)器,并將調(diào)制密鑰保留在本地,可以避免云服務(wù)器獲取原始圖像,提高了方案的安全性,保護(hù)了用戶的隱私。調(diào)制矩陣可通過式(2)計算得到。
T(i,j)=i+j+K1+m×nmod 256
(2)
i=1,2,3,…,m;j=1,2,3,…,n
式中:K1——調(diào)制密鑰,由客戶端本地生成,值為整數(shù);
m——明文圖像對應(yīng)像素值矩陣的行數(shù);
n——明文圖像對應(yīng)像素值矩陣的列數(shù)。
得到調(diào)制矩陣后將明文圖像A與調(diào)制矩陣相加得到調(diào)制后圖像W
W=A+Tmod 256
(3)
2.2.2 置 亂
在收到客戶端發(fā)來的調(diào)制后圖像W后,云服務(wù)器對W進(jìn)行置亂操作。設(shè)云端初始置亂密鑰為X和Y,其取值在0和1之間。為了加強抗攻擊能力,云服務(wù)器每次進(jìn)行加密操作前都會使用偽隨機數(shù)發(fā)生器生成兩個隨機數(shù)h和z對密鑰進(jìn)行更新,并存儲h和z供解密使用。
(4)
使用2D-LASM混沌映射公式生成置亂矩陣Q,取Q的第h行、第z列兩個一維數(shù)組U和V,并為了方便計算進(jìn)行一次取整更新
(5)
利用u′和v′兩個一維數(shù)組對圖像W進(jìn)行置亂操作,此處使用文獻(xiàn)[14]提出的循環(huán)位移法。具體過程為:數(shù)組u′有n個值對應(yīng)圖像W的矩陣的n列,每列作為一個單獨的數(shù)組向下循環(huán)平移u′[i]個單位(i為當(dāng)前列數(shù));數(shù)組v′有m個值對應(yīng)圖像W的矩陣的m行,每行作為一個單獨的數(shù)組向下循環(huán)平移v′[j]個單位(j為當(dāng)前行數(shù))。最后形成的矩陣R即為置亂后矩陣。
2.2.3 擴(kuò) 散
云服務(wù)器再對置亂后矩陣進(jìn)行擴(kuò)散操作,將每個像素點的特性擴(kuò)散到全圖。初始擴(kuò)散密鑰為x0和y0,取值在0和1之間。與置換操作一樣,每次加密前都對初始密鑰進(jìn)行更新
(6)
將x0′和y0′作為初始值通過2D-LASM混沌映射公式生成擴(kuò)散矩陣K,并通過偽隨機序列生成器生成隨機數(shù)d,擴(kuò)散過程可表示為
Ci=Ri+dCi-1+dKi
(7)
式中:Ci——密文圖像第i行;
Ri——置換后矩陣第i行;
Ki——混沌映射產(chǎn)生的擴(kuò)散矩陣第i行。
最后得到的圖像C即為密文圖像。通過擴(kuò)散,用某些行的信息去影響其他行的值,使圖像的統(tǒng)計特性更平穩(wěn)。
解密過程與加密過程相反,采用相同的密鑰和公式。
本方案可以抵抗基于算法的攻擊和基于密文圖像統(tǒng)計特性的攻擊,并且可以抵抗云端惡意敵手,規(guī)避云服務(wù)器自身的安全風(fēng)險。同時,在性能上能滿足大規(guī)模圖像數(shù)據(jù)的傳輸和加密,在存儲空間和計算效率上表現(xiàn)較優(yōu)。具體分析如下。
(1) 安全性方面,本方案中客戶端被認(rèn)為是可信的,云環(huán)境被認(rèn)為存在被攻擊風(fēng)險和一定的主動泄露數(shù)據(jù)的可能性。在被動攻擊下,云服務(wù)器在每次加密前都會通過偽隨機序列生成器產(chǎn)生隨機數(shù)動態(tài)更新密鑰,即使攻擊者獲得初始密鑰也無法進(jìn)行解密。對于隨機數(shù)泄露的情況,即使泄露某次加密使用的隨機數(shù),也只有這一張加密圖片存在被破解的風(fēng)險,其余圖片皆是安全的,故本方案的抗被動攻擊能力足夠強大。在云服務(wù)器主動泄露數(shù)據(jù)的情況下,由于在客戶端提交圖片給云服務(wù)器之前已經(jīng)通過密鑰進(jìn)行了調(diào)制操作,并且密鑰不提供給云服務(wù)器,云服務(wù)器既沒有直接的原始圖像數(shù)據(jù),也不存在通過自身存儲的數(shù)據(jù)破解密文圖像的可能性,所以這一情況下方案的安全性仍然很高。在抗統(tǒng)計攻擊方面,本方案中密文圖像的統(tǒng)計特性是安全的,因為加入了擴(kuò)散這一操作,使得圖像的灰度直方圖趨于平穩(wěn),攻擊者無法直接攻擊密文圖像進(jìn)行破解。在加密算法方面,本文使用的核心算法2D-LASM被證明具有很高的安全性,可以抵抗攻擊者基于算法的攻擊。
(2) 性能方面,本方案采用云服務(wù)器進(jìn)行大規(guī)模的加密計算。云服務(wù)器具有強大的計算能力,不僅節(jié)約了客戶端本地的存儲空間和計算資源,而且加快了對圖像進(jìn)行加密的速度,并且支持分布式工作,故可同時快速地加密大量的圖像。在加密單個圖像時,本方案提出的高效算法能保證較高的計算效率;在加密大量圖像時,本方案計算效率高的優(yōu)點更加明顯。系統(tǒng)將大量計算轉(zhuǎn)移到云端,大大減少了本地的計算資源,同時,算法要求每張圖像加密過程中需保留自身對應(yīng)的密鑰和隨機數(shù),在大規(guī)模圖像加密中,這些就是大量的數(shù)據(jù),而此部分在云端進(jìn)行,利用云服務(wù)器的大規(guī)模存儲功能,既有足夠的空間支持系統(tǒng)計算的正常進(jìn)行,又能大大節(jié)約本地的存儲空間。因此,本方案在計算規(guī)模、計算效率和存儲空間上表現(xiàn)優(yōu)異。
2D-LASM混沌映射利用Logistic映射的輸出來調(diào)整Sine映射的輸入,然后將相位平面從一維擴(kuò)展到二維,經(jīng)過各種客觀評價方法,包括軌跡法、LE法和KE法,都表明2D-LASM具有更好的遍歷性、更寬的混沌范圍,比現(xiàn)有的幾種一維(包括Logistic)和二維方法有更好的映射結(jié)果[11]。
與文獻(xiàn)[6]和文獻(xiàn)[7]等基于一維Logistic映射、二維Logistic映射、二維Sine映射以及香農(nóng)映射的方案相比,本文方案使用的算法具有不可忽略的先天優(yōu)勢,該優(yōu)勢主要體現(xiàn)在安全性上。
本文方案的性能優(yōu)勢主要依靠引入云計算。通常情況下,云服務(wù)器被用于存儲數(shù)據(jù),圖像加密方案更關(guān)注研究算法本身而不考慮實現(xiàn)時的場景,而本文方案在改進(jìn)算法的同時,結(jié)合云計算,設(shè)計了一種底層模型,利用云計算的分布式計算能力,避開其泄密風(fēng)險,使得同時加密大量圖像這一需求得到了滿足。因此,與傳統(tǒng)的只研究算法本身的方案相比,本文方案在加密大規(guī)模圖像數(shù)據(jù)時有較好的效率優(yōu)勢。
本文提出了一種新的圖像加密方案,將部分加密過程交給云服務(wù)器進(jìn)行計算,充分利用云服務(wù)器強大的計算能力和分布式能力,大大提高了加密效率,并且加密算法采用圖像加密領(lǐng)域中安全性較高的2D-LASM混沌映射算法,使加密的安全性有了保證。同時,本文方案將另一部分加密過程保留在本地并獨立保留密鑰,避免了因云環(huán)境自身的安全問題而產(chǎn)生的安全隱患。經(jīng)過安全分析和性能分析,認(rèn)為本文方案成功地結(jié)合了混沌算法的安全性和云計算的計算能力,實現(xiàn)了圖像加密的安全和效率的平衡。