鄧 敏,王 晶,唐建波,丁 晨,楊學(xué)習(xí),劉慧敏,劉寶舉
(中南大學(xué)地球科學(xué)與信息物理學(xué)院, 湖南 長(zhǎng)沙 410083)
高分辨率遙感影像作為一類重要的基礎(chǔ)地理信息數(shù)據(jù),具有高度敏感性,在國(guó)民經(jīng)濟(jì)和國(guó)防建設(shè)中發(fā)揮了重要作用。隨著傳感器技術(shù)和圖像處理技術(shù)的發(fā)展,高分辨率遙感影像的大規(guī)模獲取、分享和傳輸更加快捷,使用更加廣泛,隨之而來的數(shù)據(jù)安全隱患問題也日益突出[1]。針對(duì)遙感影像數(shù)據(jù)安全問題,國(guó)家從法律層面制定并頒發(fā)了一系列文件約束不法行為[2],相關(guān)學(xué)者也從版權(quán)保護(hù)、數(shù)據(jù)追責(zé)等角度開展了大量的研究工作[3-4],但涉密遙感影像數(shù)據(jù)泄露、非法竊取和傳播等問題仍然嚴(yán)峻。為此,如何從數(shù)據(jù)本身角度對(duì)遙感影像進(jìn)行加密保護(hù)至關(guān)重要,也是當(dāng)前測(cè)繪與地理信息服務(wù)領(lǐng)域的一個(gè)研究熱點(diǎn)[4]。
遙感影像數(shù)據(jù)相比于普通圖像數(shù)據(jù),具有數(shù)據(jù)量大、覆蓋范圍廣和紋理特征復(fù)雜等特點(diǎn),傳統(tǒng)圖像加密方法在應(yīng)用于遙感影像數(shù)據(jù)加密時(shí)存在計(jì)算復(fù)雜度高、數(shù)據(jù)訪問慢等問題[5]。針對(duì)遙感影像數(shù)據(jù)加密,國(guó)內(nèi)外學(xué)者提出了一些經(jīng)典方法,主要可以分為:基于壓縮的加密方法、基于置亂的加密方法、基于頻率域變換的加密方法和混合的加密方法?;趬嚎s的加密方法首先對(duì)遙感影像進(jìn)行冗余壓縮,減少數(shù)據(jù)量,進(jìn)而對(duì)壓縮后的數(shù)據(jù)進(jìn)行加密。如文獻(xiàn)[6]提出一種基于數(shù)據(jù)壓縮和混沌系統(tǒng)的遙感影像加密方法,該方法在提升網(wǎng)絡(luò)傳輸效率的同時(shí)保障了遙感影像數(shù)據(jù)的安全,但是該類方法基于采樣后數(shù)據(jù)進(jìn)行加密,可能會(huì)存在一定的信息丟失?;谥脕y的加密方法的主要思想是對(duì)遙感影像的空間位置或?qū)傩灾颠M(jìn)行置亂,破壞數(shù)據(jù)的鄰近相關(guān)性,形成無序序列。文獻(xiàn)[7—8]針對(duì)低維混沌系統(tǒng)密鑰空間小等問題,改進(jìn)一維混沌系統(tǒng)產(chǎn)生的隨機(jī)序列對(duì)遙感影像像素進(jìn)行置亂和擴(kuò)散加密。文獻(xiàn)[9]采用混沌神經(jīng)元與Tent混沌系統(tǒng)進(jìn)行遙感影像的多輪置亂和擴(kuò)散加密?;陬l率域變換的加密方法是運(yùn)用數(shù)學(xué)變換(如小波變換等)將原始影像從空間域變換到頻率域,然后對(duì)頻率域系數(shù)進(jìn)行加密后再逆變換至空間域以達(dá)到影像加密目的[4]。如文獻(xiàn)[10]通過小波包變換和自適應(yīng)分類方法分離出高分辨率遙感影像的主體信息與不同層次的紋理信息,進(jìn)而對(duì)信號(hào)分量特征進(jìn)行置亂加密,再進(jìn)行小波包逆變換實(shí)現(xiàn)遙感影像數(shù)據(jù)加密。為了進(jìn)一步提升加密算法的安全性與性能,學(xué)者們結(jié)合不同加密策略的優(yōu)勢(shì),提出了一些混合的遙感影像加密算法。如文獻(xiàn)[11]通過引入混沌系統(tǒng)改進(jìn)文獻(xiàn)[12]中基于AES的圖像分組加密方法,將影像序列和混沌系統(tǒng)產(chǎn)生的隨機(jī)序列分別分組并轉(zhuǎn)換為固定長(zhǎng)度的大整數(shù),實(shí)現(xiàn)AES的分組加密,是一種對(duì)稱遙感影像數(shù)據(jù)加密方法。文獻(xiàn)[13—15]針對(duì)遙感影像數(shù)據(jù)采用同一加密方式容易被破解、加密算法安全性不高和效率低的問題,分別提出了基于布爾交叉置亂和半張量積擴(kuò)散的加密算法、對(duì)稱加密算法和基于混沌系統(tǒng)和DNA編碼的并行遙感圖像加密算法。
綜上所述,現(xiàn)有遙感影像加密方法大多采用全局加密策略對(duì)遙感影像整個(gè)區(qū)域進(jìn)行加密,未充分考慮遙感影像紋理特征的區(qū)域差異性,即不同區(qū)域所蘊(yùn)含的敏感信息量存在顯著差異,導(dǎo)致全局加密方法很難做到“因地適宜”,在安全性和加密效率方面很難進(jìn)行兼顧。為此,本文結(jié)合遙感影像的特征,將區(qū)域多級(jí)授權(quán)思想[16]引入到遙感影像數(shù)據(jù)加密中,在保證海量遙感影像數(shù)據(jù)分區(qū)域快速加密的同時(shí),根據(jù)不同區(qū)域的內(nèi)容或紋理信息差異自適應(yīng)地選擇不同密級(jí)的加密算法進(jìn)行局部區(qū)域分級(jí)加密,以期在一定程度上兼顧遙感影像數(shù)據(jù)的安全性和加密效率。
考慮遙感影像紋理特征的區(qū)域差異性,本文提出一種基于紋理特征復(fù)雜度分級(jí)的遙感影像數(shù)據(jù)分區(qū)域多密級(jí)加密方法。方法的技術(shù)流程如圖1所示。
圖1 本文方法技術(shù)流程
遙感影像紋理特征越復(fù)雜,表明其細(xì)節(jié)信息越豐富,圖像所蘊(yùn)含的信息量越大,則在加密過程中應(yīng)給予更多保護(hù)(如圖2所示)。同時(shí),為了提升海量遙感影像數(shù)據(jù)處理的效率,先對(duì)遙感影像進(jìn)行分塊處理,再對(duì)紋理特征復(fù)雜度不同的子圖像塊進(jìn)行分級(jí)加密處理。
圖2 遙感影像數(shù)據(jù)紋理特征的區(qū)域差異性
設(shè)原始遙感影像為I,其大小為M×N,依據(jù)設(shè)定的分塊子圖像塊大小m×n,將原始遙感影像劃分為子圖像塊集合ImgSet={I1,I2,…,IS},其中S為子圖像塊的數(shù)目。進(jìn)一步,本文采用信息熵[17]度量子圖像塊的紋理特征復(fù)雜度,公式為
(1)
式中,HIt為子圖像塊It的信息熵;L為圖像灰度等級(jí);pi表示It中像素值為i的概率。對(duì)于L=256的遙感影像而言,HIt的取值范圍為[0, 8],HIt越大表征子圖像塊含有的信息量越大,圖像的紋理特征也可能相對(duì)越復(fù)雜。
進(jìn)而,根據(jù)子圖像塊信息熵進(jìn)行分級(jí)。采用等間距分類方法,將HIt∈[0, 2.67)的子圖像塊定義為簡(jiǎn)單類型,HIt∈[2.67, 5.34)的子圖像塊定義為中等類型,HIt∈[5.34, 8]的子圖像塊定義為復(fù)雜類型。
混沌系統(tǒng)由于其偽隨機(jī)性、非周期性和初值敏感性等特點(diǎn),在圖像數(shù)據(jù)加密領(lǐng)域中得到廣泛應(yīng)用[18-21]?;煦缦到y(tǒng)可分為一維混沌系統(tǒng)和多維混沌系統(tǒng),一維混沌系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、速度快,但密鑰空間相對(duì)較小;多維混沌系統(tǒng)相比于一維混沌系統(tǒng)具有更多的變量和參數(shù),其結(jié)構(gòu)復(fù)雜、計(jì)算復(fù)雜度較高,但密鑰空間大、抗攻擊性強(qiáng)[21]?;诖?本文采用一維、二維和三維混沌系統(tǒng)生成的隨機(jī)序列,分別加密簡(jiǎn)單、中等和復(fù)雜子圖像塊。本文用到的混沌系統(tǒng)如下。
(1)一維Logistic-Tent混沌系統(tǒng)(1D LTS)是將Logistic和Tent映射函數(shù)組合生成的一維新混沌系統(tǒng),表達(dá)式[19]為
(2)
式中,μ為系統(tǒng)控制參數(shù),μ∈(0, 4];xk為系統(tǒng)第k次迭代生成的隨機(jī)變量,xk∈[0, 1];mod為取模運(yùn)算。其中,μxk(1-xk)為L(zhǎng)ogistic映射函數(shù),當(dāng)3.569 945<μ≤4時(shí),系統(tǒng)進(jìn)入混沌狀態(tài)。
(2)二維Logistic-Adjusted-Sine Map(2D LASM)是將Logistic和Sine映射函數(shù)組合生成的二維新混沌系統(tǒng),表達(dá)式[20]為
(3)
式中,μ∈[0, 1];xk和yk的取值范圍均為[0, 1]。當(dāng)μ∈[0.37, 0.38]∪[0.4, 0.42]∪[0.44, 0.93]∪{1}時(shí),系統(tǒng)具有混沌行為,且當(dāng)μ∈[0.44, 0.93]時(shí),系統(tǒng)具有超混沌行為。
(3)三維Lorenz混沌系統(tǒng)是一種三維連續(xù)混沌系統(tǒng),結(jié)構(gòu)更加復(fù)雜,軌跡更加難以預(yù)測(cè),其微分方程表達(dá)式[22]為
(4)
式中,x、y、z為系統(tǒng)變量;a、b、c為控制參數(shù)。當(dāng)a=10,b≥28,c=8/3時(shí),系統(tǒng)進(jìn)入混沌狀態(tài)。
為保障遙感影像加密的安全性和密鑰的敏感性,本文將各子圖像塊It的像素值之和取余256的值(記為PSt)、遙感影像所有像素值之和取余256的值(記為PSall)以及加密口令(Password)作為參數(shù),采用基于口令的密鑰派生算法PBKDF[23]獲得派生密鑰DK,再通過DK計(jì)算It加密所采用的混沌系統(tǒng)的初始參數(shù),即根據(jù)參數(shù)取值范圍從DK中截取一定長(zhǎng)度的字節(jié)序列,將其轉(zhuǎn)化為數(shù)值類型進(jìn)行參數(shù)賦值。
進(jìn)一步,提取子圖像塊It的R、G、B分量矩陣ItR、ItG、ItB。對(duì)于各分量矩陣,首先進(jìn)行以下對(duì)應(yīng)類別的加密處理得到分量密文矩陣;然后將各分量密文矩陣合并得到密文子圖像塊It-c。為了保證混沌系統(tǒng)輸出序列的隨機(jī)性,避免瞬態(tài)效應(yīng),各混沌系統(tǒng)取迭代K(K>1000)次后的隨機(jī)數(shù)生成隨機(jī)序列對(duì)子圖像塊進(jìn)行加密。
(1)簡(jiǎn)單子圖像塊加密:以ItR為例,首先,將ItR按列轉(zhuǎn)換為一維圖像向量I′tR=[p1p2…pm×n](pi表示第i個(gè)像素的R分量的取值);然后,根據(jù)PSt、PSall和Password得到1D LTS的初始參數(shù);進(jìn)而根據(jù)式(2)生成隨機(jī)矩陣X1=[x1x2…x(m×n)];進(jìn)一步,根據(jù)式(5)對(duì)X1進(jìn)行處理得到X1′,并按照式(6)將I′tR與X1′異或得到一維向量I″tR;最后,將I″tR轉(zhuǎn)換為二維R分量密文矩陣ItR-c。公式為
X1′i= ?X1i×109」 mod 256
(5)
I″tRi=I′tRi⊕X1′i
(6)
式中,?·」表示向下取整,mod表示取模運(yùn)算,⊕表示矩陣元素異或運(yùn)算,i=1, 2, …,m×n。
(2)中等子圖像塊加密:以ItR為例,處理得到I′tR和2D LASM的初始參數(shù);然后,根據(jù)式(3)得到兩個(gè)一維隨機(jī)矩陣X2=[x1x2…x(m×n)]、Y2=[y1y2…ym×n];進(jìn)而,將Y2升序排列得到索引矩陣Y2′,并通過式(5)對(duì)X2處理得到X2′;進(jìn)一步,根據(jù)式(7)對(duì)I′tR進(jìn)行像素位置置亂和像素值異或得到一維向量I″tR;最后,將I″tR轉(zhuǎn)換為二維R分量密文矩陣ItR-c。公式為
I″tRi=I′tRY2′i⊕X2′i
(7)
(3)復(fù)雜子圖像塊加密:首先處理得到三維Lorenz的初始參數(shù),根據(jù)式(4)得到3個(gè)m×n的二維隨機(jī)數(shù)矩陣X3、Y3和Z3;然后,對(duì)矩陣X3、Y3和Z3分別按列升序排列得到索引矩陣X3′、Y3′和Z3′,采用文獻(xiàn)[24]提出的混沌魔術(shù)變換方法根據(jù)X3′、Y3′和Z3′分別置亂矩陣ItR、ItG、ItB得到I′tR、I′tG、I′tB;進(jìn)一步,根據(jù)式(8)對(duì)I′tR、I′tG、I′tB分別進(jìn)行像素值異或得到分量密文矩陣ItR-c、ItG-c、ItB-c。公式為
ItR-c(i,j)=(?X3(i,j)×109」 mod 256)⊕I′tR(i,j)
(8)
式中,i=1, 2, …,m;j=1, 2, …,n。
1.3.1 遙感影像數(shù)據(jù)加密
步驟1:讀取遙感影像I,根據(jù)2.1對(duì)遙感影像進(jìn)行分塊和分級(jí),計(jì)算PSt和PSall,并將各子圖像塊的類型和像素值信息分別記錄在信息矩陣Q和W中。
步驟2:根據(jù)Password,采用PBKDF算法生成派生密鑰DK,其中鹽值Salt根據(jù)PSt和PSall利用國(guó)密SM3哈希算法計(jì)算得到,迭代次數(shù)為1024,派生密鑰長(zhǎng)度設(shè)為256,再根據(jù)DK得到每個(gè)子圖像塊的初始參數(shù),并選擇對(duì)應(yīng)類型的加密方法進(jìn)行子圖像塊加密,得到密文子圖像塊It-c。
步驟3:根據(jù)It-c的分塊序號(hào)t按順序拼接成整個(gè)密文圖像I′,并將Q和W分別拼接至I′的最右側(cè),得到拼接后的密文圖像I″。
步驟4:為了增強(qiáng)安全性,進(jìn)一步采用Logistic映射函數(shù)產(chǎn)生的隨機(jī)矩陣X4對(duì)整體密文圖像I″進(jìn)行異或加密,得到最終的密文遙感影像Ic。其中,Logistic映射函數(shù)的初始參數(shù)根據(jù)口令Password和PBKDF生成的派生密鑰計(jì)算獲得,PBKDF算法的參數(shù)Salt=SM3(random(128)),其他參數(shù)同步驟2。
1.3.2 遙感影像數(shù)據(jù)解密
步驟1:讀取密文遙感影像Ic,利用Logistic產(chǎn)生的隨機(jī)矩陣X4對(duì)矩陣Ic異或得到I′(初始參數(shù)的計(jì)算同步驟4),分離I′的最右側(cè)兩列得到信息矩陣Q、W和新的圖像矩陣I″。
步驟2:對(duì)I″進(jìn)行分塊,根據(jù)Q和W計(jì)算每個(gè)子圖像塊的初始參數(shù)(同加密步驟2),選擇對(duì)應(yīng)類型加密方法的逆過程進(jìn)行解密得到解密子圖像塊。
步驟3:根據(jù)每個(gè)解密后子圖像塊的分塊序號(hào)按順序拼接,得到最終的解密遙感影像I。
采用不同大小的遙感影像進(jìn)行加解密試驗(yàn)分析(Password=“l(fā)asdjfoiwahfkashjfdsadfasd”),結(jié)果如圖3所示。圖2(a)—(d)分別為大小為256×256、512×512、1024×1024和2048×2048像素的原始遙感影像I1、I2、I3和I4;圖3(e)—(h)分別為對(duì)應(yīng)的密文遙感影像I1c、I2c、I3c和I4c。從密文遙感影像中可以發(fā)現(xiàn),原始遙感影像加密后是一幅完全隨機(jī)且無意義的圖像,從視覺上無法獲取任何有價(jià)值的信息,并且本文方法是一種可逆的加密方法,在知道正確用戶口令的前提下可以還原出原始遙感影像, 如圖3(q)—(t)所示。圖3(i)—(l)為原始遙感影像的直方圖;圖3(m)—(p)為密文遙感影像的直方圖。從直方圖中可以看出,原始遙感影像的直方圖具有明顯的聚集統(tǒng)計(jì)分布特征,而密文遙感影像的直方圖像素值分布呈均勻隨機(jī)分布,表明本文方法加密后的遙感影像能夠很好地隱藏原始數(shù)據(jù)信息和特征,在一定程度上可以抵御統(tǒng)計(jì)攻擊。
圖3 遙感影像加解密結(jié)果與圖像直方圖對(duì)比
為了檢驗(yàn)本文方法在加密效率方面的優(yōu)勢(shì),對(duì)目前基于混沌系統(tǒng)的遙感影像加密方法進(jìn)行了對(duì)比分析,并分別比較了采用簡(jiǎn)單的一維Logistic-Tent混沌系統(tǒng)(1D TLS)和復(fù)雜的三維Lorenz混沌系統(tǒng)(3D Lorenz)的全局加密方法。不同加密方法的運(yùn)行時(shí)間對(duì)比見表1。從表中可以發(fā)現(xiàn),相比于其他幾種加密方法,本文方法針對(duì)數(shù)據(jù)量較大的遙感影像數(shù)據(jù)具有更快的加密效率。當(dāng)數(shù)據(jù)量較小時(shí),基于簡(jiǎn)單混沌系統(tǒng)(1D TLS)的全局加密方法的效率最高;而當(dāng)數(shù)據(jù)量較大時(shí),由于本文方法采用了分塊分級(jí)加密策略,可以有效利用并行處理和分級(jí)加密的優(yōu)勢(shì),在加密效率上會(huì)比其他全局加密方法表現(xiàn)更優(yōu)。
表1 遙感影像加密時(shí)間比較 ms
密鑰空間是指加密過程中所有密鑰取值范圍之積,為了抵抗暴力攻擊,混沌加密方案的密鑰空間應(yīng)該大于2100[25]。本文密鑰主要包含如下參數(shù):①變量PSt、PSall、Password、DK;②初始參數(shù)x0、y0、z0、μ、b,K(a=10,c=8/3)。假設(shè)計(jì)算機(jī)的浮點(diǎn)數(shù)精度為10-14,則混沌系統(tǒng)初始參數(shù)最小空間為1042,而1042遠(yuǎn)大于2100,若再加上其他參數(shù)的范圍,則密鑰空間將更大,因此,本文方法的密鑰空間滿足安全要求,能夠抵抗窮舉攻擊。
差分攻擊是一種選擇明文攻擊,由于遙感影像加密算法大多是采取相同的密鑰加密,因此,首先攻擊者可對(duì)原始遙感影像進(jìn)行細(xì)微的改變獲得多幅遙感影像,通過追蹤每幅遙感影像的微小變化對(duì)密文遙感影像的影響,嘗試找到明文和密文之間的聯(lián)系,然后利用建立的聯(lián)系使得攻擊者在不需要知道密鑰的情況下就可以解密密文圖像??共罘止舻哪芰梢岳孟袼刈兓?NPCR)和統(tǒng)一平均變化強(qiáng)度(UACI)進(jìn)行評(píng)價(jià)。假設(shè)P1、P2表示兩幅具有細(xì)微差別的原始遙感影像,C1、C2分別表示P1、P2加密后的遙感影像,則NPCR表示C1、C2之間像素點(diǎn)變化的比例,UACI表示C1、C2之間像素值的平均變化率,這兩個(gè)指標(biāo)的定義為
(9)
(10)
(11)
式中,M、N分別為遙感影像的寬和高;H=M×N;g為遙感影像P1和P2中所有像素值的最大值。
根據(jù)文獻(xiàn)[26]中提出的NPCR和UACI標(biāo)準(zhǔn)檢測(cè)方法,從表2可以看出本文方法加密具有較高的防御差分攻擊的能力,很好地實(shí)現(xiàn)了對(duì)原始遙感影像數(shù)據(jù)的信息隱藏和安全保護(hù)。
表2 不同大小遙感影像的NPCR/UACI結(jié)果 (%)
針對(duì)現(xiàn)有圖像加密方法對(duì)遙感影像加密時(shí)存在的計(jì)算復(fù)雜度高、適用性弱的問題,本文提出了一種顧及紋理特征復(fù)雜度的遙感影像分區(qū)域多密級(jí)加密方法,可以根據(jù)遙感影像覆蓋區(qū)域內(nèi)的紋理特征或內(nèi)容,自適應(yīng)地選擇不同加密算法進(jìn)行加密。試驗(yàn)結(jié)果表明,本文方法具有很好的信息隱藏效果,同時(shí)具有較高的加密效率,在海量遙感影像數(shù)據(jù)加密和安全傳輸應(yīng)用領(lǐng)域具有重要的潛在應(yīng)用價(jià)值。進(jìn)一步工作將考慮引入機(jī)器學(xué)習(xí)方法對(duì)遙感影像子圖像塊進(jìn)行分級(jí)和分類,發(fā)展基于內(nèi)容或高階語義的遙感影像數(shù)據(jù)加密方法,實(shí)現(xiàn)對(duì)遙感影像更準(zhǔn)確、更安全的數(shù)據(jù)加密保護(hù)。