陳令羽, 宋國民, 徐 齊, 丁嘉鵬, 徐少坤
(1.信息工程大學(xué) 測繪學(xué)院,河南 鄭州 450052;2.92117部隊(duì),北京 100072;3.72946部隊(duì),山東 淄博 255000)
數(shù)字高程模型 (Digital Elevation Model,簡稱DEM)是按照一定的結(jié)構(gòu)將空間高程信息以數(shù)字的形式組織在一起的空間分布模型,是地形形狀大小和起伏特征的數(shù)字描述,包含空間分布的實(shí)地高程信息,是三維地形顯示的基礎(chǔ)地理數(shù)據(jù),具有很高的軍事和經(jīng)濟(jì)價(jià)值[1]。
計(jì)算機(jī)技術(shù)特別是網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,為傳統(tǒng)的資料信息傳播帶來了新的變化,更多的人員選擇了傳播速度更快信息量更大的網(wǎng)絡(luò)傳輸方式。DEM傳播領(lǐng)域也不例外,必將走向網(wǎng)絡(luò)傳輸?shù)碾A段。但是,盡管網(wǎng)絡(luò)傳輸給人們的生活、生產(chǎn)帶來極大便利,更應(yīng)該看到近些年來頻見報(bào)端的網(wǎng)絡(luò)失泄密事件。黑客活動(dòng)日益猖獗,失泄密事故頻繁發(fā)生,造成了巨大的經(jīng)濟(jì)損失。DEM數(shù)據(jù)表示的是實(shí)際地理空間信息,是國家空間數(shù)據(jù)基礎(chǔ)設(shè)施(NSDI)的基本內(nèi)容之一,發(fā)生DEM失泄密事件,不但會(huì)造成巨大的經(jīng)濟(jì)損失,對(duì)國家安全造成的損害更是無法估量。
信息偽裝就是把真實(shí)的信息偽裝成其他看似無關(guān)的信息。相比于信息加密,信息偽裝更具有迷惑性。通過信息偽裝,可以使得DEM數(shù)據(jù)呈現(xiàn)出與原始DEM數(shù)據(jù)結(jié)構(gòu)相同,但是內(nèi)部數(shù)據(jù)已發(fā)生巨大變化的狀態(tài)。在存儲(chǔ)或傳輸過程中,即使被敵方截獲,在短時(shí)間內(nèi)難辨真?zhèn)?,可以迷惑?duì)方,同時(shí)當(dāng)被識(shí)別出是偽裝數(shù)據(jù)后,根據(jù)已有信息仍無法將其還原。
當(dāng)前國內(nèi)外研究加密算法或信息隱藏的機(jī)構(gòu)和學(xué)者很多,國際上有專門研究密碼學(xué)的學(xué)術(shù)組織,每年都召開各種年會(huì)進(jìn)行相關(guān)討論,形成的成熟加密算法很多,數(shù)據(jù)加密標(biāo)準(zhǔn)(Data Encryption Standard,簡稱DES)就是其中一種。但是針對(duì)DEM數(shù)據(jù)加解密或信息偽裝進(jìn)行專項(xiàng)研究的相對(duì)較少。
由于DEM數(shù)據(jù)和電子地圖具有相關(guān)性,電子地圖的加解密方式對(duì)DEM數(shù)據(jù)具有一定的借鑒意義。目前國內(nèi)外相近和相關(guān)的研究主要有數(shù)字地圖安全性要求研究、數(shù)據(jù)文件加密方式、數(shù)字水印技術(shù)、基于模糊關(guān)系的DEM數(shù)據(jù)信息偽裝技術(shù)等幾個(gè)方面。利用密碼學(xué)原理進(jìn)行DEM數(shù)據(jù)信息偽裝[2-3]的研究較少。
DES的創(chuàng)立是20世紀(jì)密碼學(xué)發(fā)展的一個(gè)重要事件。這是一種對(duì)稱的分組密碼,加密和解密過程采用同一密鑰,它的安全性以密鑰的保密性為基礎(chǔ)。加密前將明文分成固定長度的組,用同一密鑰和算法對(duì)每一塊加密,輸出也是固定長度的密文[4-5]。加密過程使用64位密鑰(密鑰實(shí)際為56位的數(shù),其中8位用作奇偶校驗(yàn)位)對(duì)64位數(shù)據(jù)塊進(jìn)行加密,并對(duì)64位的數(shù)據(jù)塊進(jìn)行16輪編碼。64位一組的明文從算法的一端輸入,64位的密文從算法的另一端輸出。DES算法的加密過程可分加密處理和子密鑰生成2個(gè)部分組成[6],其流程如圖1所示。
圖1 DES算法流程
(1)初始變換。DES算法本質(zhì)上是一種代換置換網(wǎng)絡(luò),在進(jìn)行加密處理前,需要首先將64位的明文按照已有的初始換位表進(jìn)行變換。變換主要是按照既定規(guī)則打亂原始明文的順序。
(2)加密處理。將經(jīng)過初始變換后的64位明文作為初始輸入,分為左右各32位,可記為L0和R0,以此為起點(diǎn)進(jìn)行16輪加密變換。經(jīng)過n輪處理后的左右32位分別為Ln和Rn??勺鋈缦露x:
其中,Kn為第n輪輸入的子密鑰;Ln-1、Rn-1分別為第n-1輪的輸出。F函數(shù)的主要功能是將32比特的輸入再轉(zhuǎn)化為32比特的輸出。主要原理是輸入Rn-1(32比特)經(jīng)過變換矩陣E后,膨脹為48比特;將膨脹后的48比特分成每組6比特的8組;按照順序經(jīng)過各自的S盒變?yōu)?比特后再合并成32比特;最后再經(jīng)過變換矩陣P即完成整個(gè)過程。
(3)逆初始變換。在進(jìn)行完16輪加密變換之后,將最后的輸出結(jié)果合并成64位的數(shù)據(jù),再按照指定的最后換位表進(jìn)行IP-1的換位得到64位的密文,這就是DES算法加密的結(jié)果。
初始密鑰是可以表示為64位的字符串。首先通過壓縮換位表PC-1去掉每個(gè)字節(jié)的第8位,用作奇偶校驗(yàn)碼。密鑰也因此從64位減至56位,所以實(shí)際密鑰長度為56位。而最終每輪要生成48位的子密鑰。輸入的64位密鑰,首先通過壓縮換位得到56位的密鑰,每層分成2個(gè)部分:上部分28位C0和下部分28位D0。C0和D0依次進(jìn)行循環(huán)左移操作生成了C1和D1,將C1和D1合成56位,再通過壓縮換位表PC-2輸出48位的子密鑰K1,再將C1和D1進(jìn)行循環(huán)左移和PC-2壓縮換位,得到子密鑰K2,依此類推,得到16個(gè)子密鑰。其依次左移的位數(shù)見表1所列[7]。
表1 子密鑰生成過程移位
DES算法的解密過程與加密過程相同。解密要用加密的逆變換,就是把上面的最后換位表和初始換位表完全倒過來變換。同時(shí),解密時(shí)所需要用的16個(gè)子密鑰順序也與加密時(shí)相反,即以K16作為最初的子密鑰。
DES算法在進(jìn)行加密時(shí)每一次的數(shù)據(jù)塊為64比特,也就是8個(gè)字符。為了更加方便偽裝處理,在進(jìn)行DEM數(shù)據(jù)的DES加密前,可進(jìn)行預(yù)處理,將其每一次加密的數(shù)據(jù)變成8位字符表示的數(shù)據(jù)。DEM表示的是實(shí)地高程,每個(gè)數(shù)據(jù)都具有現(xiàn)實(shí)的意義。在現(xiàn)實(shí)世界中,海拔最低與最高點(diǎn)分別是馬里亞納海溝和珠穆朗瑪峰,其海拔分別為-11 304m和8 844.43m,DEM數(shù)據(jù)的大小應(yīng)該在這個(gè)范圍之內(nèi)。為了計(jì)算方便,對(duì)于每一個(gè)高程數(shù)據(jù)A,做如下處理:
其中,A0為預(yù)處理后的高程數(shù)據(jù),dA為數(shù)A整數(shù)部分的位數(shù);[]為取整符號(hào)。
通過這樣的預(yù)處理,即可將高程數(shù)據(jù)轉(zhuǎn)化為可直接用于DES加密處理的8位字符。同時(shí),由于高程數(shù)據(jù)的取值范圍所限,處理后的數(shù)據(jù)至少保留了原始數(shù)據(jù)小數(shù)點(diǎn)后2位的精度,在陸地上則至少可保留小數(shù)點(diǎn)后4位的精度,完全可以滿足精度要求。
同時(shí),由于無法根據(jù)(2)式同時(shí)反推出數(shù)A及其整數(shù)部分的位數(shù)dA,為滿足DEM數(shù)據(jù)還原的需要,在進(jìn)行偽裝處理時(shí)還應(yīng)該記錄其整數(shù)部分位數(shù)。
將預(yù)處理后的高程數(shù)據(jù)作為輸入,密鑰采用任意字符組成的8位字符,DES數(shù)據(jù)加密是按照二進(jìn)制進(jìn)行加密的。在高程數(shù)據(jù)進(jìn)行DES處理前,首先將8位字符轉(zhuǎn)化為64位比特的明文,然后按照加密變換、加密處理和子密鑰生成的流程,完成一次高程數(shù)據(jù)的DES加密過程;加密處理后形成的DES密文也是二進(jìn)制的,轉(zhuǎn)化為字符時(shí)可能會(huì)出現(xiàn)一串亂碼,因此還需要一定的變換使之成為能表示高程的數(shù)值。
任何字符都有其對(duì)應(yīng)的ASCII碼,即使是DES加密后亂碼密文,也可以在擴(kuò)展ASCII碼表中找到其對(duì)應(yīng)的數(shù)值,其范圍為-256~256。因?yàn)榧用芎竺芪淖址腁SCII碼多在-256~0之間,考慮DEM高程數(shù)據(jù)的實(shí)際特點(diǎn),特別是陸地DEM數(shù)據(jù)多為正海拔,則將所有ASCII碼加200使其取值范圍在區(qū)間[-56,456]之間。最后進(jìn)行歸一化,將其擴(kuò)展到實(shí)地高程范圍,即
其中,H表示處理后的最終高程數(shù)據(jù),DASCII表示密文字符的ASCII碼值。同時(shí),將原始DEM高程數(shù)據(jù)的整數(shù)部分位數(shù)dA轉(zhuǎn)化為ASCII碼值后也做相同處理。
因?yàn)槊芪挠?個(gè)字符組成,加上整數(shù)部分位數(shù),通過相同處理后原DEM中的1個(gè)高程數(shù)據(jù)就偽裝成9個(gè)可用于表示高程的數(shù)值。在重新組織DEM時(shí),通過改變網(wǎng)格密度可以處理這種情況,將原始網(wǎng)格處理成3×3的規(guī)格,使得有更多的節(jié)點(diǎn)存放多余的高程數(shù)據(jù)。這樣做不僅解決了數(shù)據(jù)存儲(chǔ)問題,還進(jìn)一步加強(qiáng)了DEM數(shù)據(jù)偽裝的力度。
圖2 DEM數(shù)據(jù)信息偽裝流程圖
DEM偽裝數(shù)據(jù)的還原是偽裝過程的逆運(yùn)算。在進(jìn)行數(shù)據(jù)還原時(shí),首先將DEM數(shù)據(jù)中的每一個(gè)高程數(shù)據(jù)按照(4)式轉(zhuǎn)化為ASCII碼值。
其中,H和DASCII的含義與(3)式中的含義相同,兩者互為逆運(yùn)算。
按照9個(gè)字符為一組,前8個(gè)字符組合成一個(gè)64比特的DES密文,進(jìn)行DES解密運(yùn)算,其所需密鑰和加密時(shí)完全相同。按照與DES加密相反的過程即可以得到原始的DEM預(yù)處理后的高程數(shù)據(jù)A0,同時(shí)按照(4)式處理第9個(gè)字符可以獲得整數(shù)部分位數(shù)dA。通過DES解密后的結(jié)果和原始數(shù)據(jù)的整數(shù)位數(shù)則可以得到原始高程數(shù)據(jù)A:
將所有DEM高程數(shù)據(jù)作相同處理后將得到的數(shù)據(jù)重新寫入DEM格式中去,即可得到還原后的DEM數(shù)據(jù)。
本文所提出的算法其安全性的核心在于DES算法的安全性。美國國家保密局和計(jì)算機(jī)科學(xué)技術(shù)學(xué)會(huì)曾組織專家研究了其安全性問題,討論了破譯DES密碼體制的一切可能途徑。假設(shè)用窮盡密鑰搜索法攻擊DES,DES的密鑰為56比特(64位中有8位為奇偶校驗(yàn)碼),則其密鑰空間規(guī)模為256,約為7×1016,使用每秒計(jì)算100×104個(gè)密鑰的大型計(jì)算機(jī),需要算106d才能得出正確的密鑰[8]。但是,基于任何加密算法的數(shù)據(jù)傳輸都沒有絕對(duì)的安全,在硬件高速發(fā)展,并行化計(jì)算日新月異的現(xiàn)代社會(huì),強(qiáng)大的計(jì)算處理能力可以破解任何加密數(shù)據(jù),而且加密后傳輸?shù)臄?shù)據(jù)更容易引起黑客的注意,成為黑客攻擊的焦點(diǎn),所以通過進(jìn)行數(shù)據(jù)偽裝DEM,可以在DES算法本身的安全性上增加迷惑性,加大攻擊方破解的難度。
根據(jù)文中提出的結(jié)合ASCII碼和DES算法在DEM數(shù)據(jù)信息偽裝中的應(yīng)用方法,充分考慮DEM數(shù)據(jù)組織結(jié)構(gòu)的特殊性,按照其DEM偽裝和還原的流程,在VC環(huán)境下進(jìn)行了實(shí)驗(yàn),同時(shí)實(shí)現(xiàn)了單獨(dú)的DES加密算法和DEM信息偽裝。實(shí)驗(yàn)界面如圖3所示。
圖3 DEM信息偽裝實(shí)驗(yàn)界面
在實(shí)驗(yàn)中進(jìn)行DES算法單獨(dú)加解密字符串時(shí)可以在很短的時(shí)間內(nèi)實(shí)時(shí)得到實(shí)驗(yàn)結(jié)果。利用該模塊對(duì)5組大小不同的DEM數(shù)據(jù)采用相同的密鑰(12345678)分別進(jìn)行信息偽裝和還原試驗(yàn),實(shí)驗(yàn)結(jié)果見表2所列。
選取其中大小為654kb的DEM數(shù)據(jù)對(duì)其原始數(shù)據(jù)、偽裝數(shù)據(jù)、還原后數(shù)據(jù)進(jìn)行等高線追蹤,選取相同區(qū)域進(jìn)行比較,結(jié)果如圖4所示。
表2 DEM數(shù)據(jù)信息偽裝實(shí)現(xiàn)結(jié)果
圖4 DEM數(shù)據(jù)信息偽裝算法結(jié)果等高線
由實(shí)驗(yàn)可以看出,DES算法運(yùn)用于DEM數(shù)據(jù)信息偽裝時(shí)取得了較好的效果:
(1)偽裝時(shí)能夠保持原有的數(shù)據(jù)格式,從等高線直觀顯示上可以看到偽裝后的DEM與原始DEM數(shù)據(jù)有很大的不同,完全滿足數(shù)據(jù)偽裝的要求。
(2)還原時(shí)可以準(zhǔn)確無誤地將之進(jìn)行還原,說明設(shè)計(jì)的算法穩(wěn)定有效。
(3)同時(shí)通過安全性分析可以使偽裝后的DEM數(shù)據(jù)較好地抵御外來攻擊,安全性能良好。
(4)實(shí)驗(yàn)中數(shù)據(jù)的偽裝和還原處理時(shí)間根據(jù)數(shù)據(jù)的大小不同而不同,基本上可以滿足實(shí)時(shí)性要求。
DEM數(shù)據(jù)作為一種地理空間數(shù)據(jù)表示的是實(shí)地的高程信息,具有十分重要的軍事經(jīng)濟(jì)意義。本文通過分析DES算法的特點(diǎn),研究了DES算法在DEM數(shù)據(jù)的信息偽裝技術(shù)中的應(yīng)用,結(jié)合ASCII碼值給出了一種合理的信息偽裝方法。通過實(shí)驗(yàn)分析驗(yàn)證了其可用性,結(jié)合DES本身的安全性以及信息偽裝帶來的迷惑性提高了偽裝后的DEM數(shù)據(jù)安全性能,為DEM數(shù)據(jù)的安全存儲(chǔ)傳輸提供了保障。
[1]李志林,朱 慶.數(shù)字高程模型[M].第2版.武漢:武漢大學(xué)出版社,2003:7-9.
[2]羅 永,楊岳湘.數(shù)字高程模型數(shù)據(jù)的信息偽裝和信息隱藏技術(shù)[J].軟件學(xué)報(bào),2007,18(3):116-120.
[3]閔連權(quán).矢量地圖數(shù)據(jù)的數(shù)字水印技術(shù)[J].測繪通報(bào),2007(1):13-46.
[4]杜奕智,琚 耀,吳 偉.序列密碼和分組密碼的混合加密體制研究[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2005,28(6):592-594.
[5]梅尼斯.應(yīng)用密碼學(xué)手冊[M].胡 磊,王 鵬,譯.北京:電子工業(yè)出版社,2005:225—234.
[6]李 杰,李新艷,張 靜.數(shù)據(jù)加密中的DES加密算法詳解[J].商業(yè)科技,2009(9):6-8.
[7]Stinson D R.密碼學(xué)原理與實(shí)踐 [M].第3版.馮登國,譯.北京:電子工業(yè)出版社,2009:74-78.
[8]彭 川,魏其嬌.論分組密碼中的數(shù)據(jù)加密算法DES[J].西南民族學(xué)院學(xué)報(bào):自然科學(xué)版,2002,28(3):58—62.