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