專利名稱:基于誤差隨機(jī)干擾的gis矢量數(shù)據(jù)偽裝與還原方法
技術(shù)領(lǐng)域:
本發(fā)明屬于地理信息安全領(lǐng)域,具體涉及一種基于誤差隨機(jī)干擾技術(shù)進(jìn)行GIS矢量數(shù)據(jù)偽裝與還原的方法。
背景技術(shù):
地理信息的安全防護(hù)涉及國(guó)家安全和社會(huì)利益,是當(dāng)前急需解決的國(guó)家和社會(huì)重大需求問(wèn)題。特別是當(dāng)今空間數(shù)據(jù)共享需求逐步擴(kuò)大,地理信息服務(wù)應(yīng)用不斷拓展的情況下,地理信息的安全問(wèn)題進(jìn)一步突出。作為國(guó)家空間數(shù)據(jù)基礎(chǔ)設(shè)施主要數(shù)據(jù)內(nèi)容的GIS矢量數(shù)據(jù),其信息安全研究更是至關(guān)重要。目前,信息偽裝已成為信息安全研究中除密碼學(xué)之外的另一重要分支。國(guó)內(nèi)外相關(guān)研究文獻(xiàn)及專利檢索結(jié)果分析表明,目前,在信息偽裝的研究方面,所研究的載體數(shù)據(jù)類型主要包括圖像、視頻、遙感影像、DEM等。但是,矢量數(shù)據(jù)由于其具有無(wú)固定存儲(chǔ)順序的數(shù)據(jù)組織、多樣的數(shù)據(jù)格式、強(qiáng)大的可視化表達(dá)手段、復(fù)雜的投影變換、繁多的空間分析應(yīng)用,以及精度高、冗余少等諸多方面的特性,使得針對(duì)矢量數(shù)據(jù)的信息偽裝研究具有一定的特殊性和較大難度。
發(fā)明內(nèi)容
本發(fā)明的目的在于基于誤差隨機(jī)干擾技術(shù),提出一種針對(duì)GIS矢量數(shù)據(jù)的偽裝與還原方法,以有效提高GIS矢量數(shù)據(jù)在數(shù)據(jù)傳輸、脫密處理中的安全性。為了實(shí)現(xiàn)上述目的,本發(fā)明所采取的技術(shù)方案主要包括以下過(guò)程
(1)偽裝過(guò)程
步驟一打開(kāi)一個(gè)Gis矢量數(shù)據(jù)圖層文件,判斷圖層類型并計(jì)算橫坐標(biāo)數(shù)據(jù)中小數(shù)點(diǎn)后的位數(shù)N,設(shè)置8位二進(jìn)制隨機(jī)信息做為密鑰Key,并存入密鑰文件; 步驟二 數(shù)據(jù)讀取及分組
(a)如果為線面類型數(shù)據(jù),則每次讀取一個(gè)要素中的所有點(diǎn)的橫坐標(biāo),計(jì)算點(diǎn)的個(gè)數(shù)m, 并按照,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;
(b)如果為點(diǎn)類型數(shù)據(jù),則讀取該文件中的所有點(diǎn)要素,計(jì)算點(diǎn)的個(gè)數(shù)m,并將相關(guān)點(diǎn)要素的橫坐標(biāo)按照£=l /8j ,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;
步驟三針對(duì)數(shù)組隊(duì)列D中的每個(gè)分組Di,進(jìn)行數(shù)據(jù)的誤差干擾處理,具體方法為
(a)取該分組Di中第一個(gè)數(shù)據(jù)Dil的小數(shù)點(diǎn)前第一位的值d;
(b)如果0<d<(N-I),則將該分組中相應(yīng)密鑰信息位為1的各數(shù)據(jù),進(jìn)行小數(shù)點(diǎn)后的第 d位與第d+Ι位數(shù)據(jù)交換;
步驟四循環(huán)步驟二至三,直至每一要素處理完畢后,保存?zhèn)窝b后的數(shù)據(jù)文件;
(2)還原過(guò)程
步驟一打開(kāi)一 GIS矢量數(shù)據(jù)圖層文件,判斷圖層類型并計(jì)算橫坐標(biāo)數(shù)據(jù)中小數(shù)點(diǎn)后的位數(shù)N,讀取密鑰文件并設(shè)置密鑰Key ; 步驟二 數(shù)據(jù)分組讀取
(a)如果為線面類型數(shù)據(jù),則每次讀取一個(gè)要素中的所有點(diǎn)坐標(biāo)數(shù)據(jù)的橫坐標(biāo),計(jì)算其個(gè)數(shù)m,并按照£ = [_m/8j,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;
(b)如果為點(diǎn)類型數(shù)據(jù),則讀取該文件中的所有點(diǎn)要素,計(jì)算點(diǎn)的個(gè)數(shù)m,并將相關(guān)點(diǎn)要素的橫坐標(biāo)按照,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;
步驟三針對(duì)每一坐標(biāo)分組Di,進(jìn)行數(shù)據(jù)的還原處理,具體方法為
(a)取該分組Di中第一個(gè)數(shù)據(jù)Dil的小數(shù)點(diǎn)前第一位的值d;
(b)如果0<d<(N-I),則將該分組中相應(yīng)密鑰信息位為1的各數(shù)據(jù),進(jìn)行小數(shù)點(diǎn)后的第 d位與第d+Ι位數(shù)據(jù)交換;
步驟四循環(huán)步驟二至三,直至每一要素處理完畢后,保存還原后的數(shù)據(jù)文件。本發(fā)明根據(jù)GIS矢量數(shù)據(jù)的數(shù)據(jù)組織特點(diǎn),基于誤差隨機(jī)干擾原理,提出了一種針對(duì)GIS矢量數(shù)據(jù)的偽裝與還原方法,可以進(jìn)行shp格式數(shù)據(jù)的偽裝與還原處理,一定程度上滿足了 GIS矢量數(shù)據(jù)的隱藏通信與安全傳輸需求。
圖1為本發(fā)明實(shí)施例選取的實(shí)驗(yàn)數(shù)據(jù)。圖2是本發(fā)明方法的數(shù)據(jù)偽裝流程圖。圖3是本發(fā)明方法的數(shù)據(jù)還原流程圖。圖4是本發(fā)明實(shí)施例中原始數(shù)據(jù)局部效果圖。圖5是本發(fā)明實(shí)施例中偽裝數(shù)據(jù)局部效果圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例做進(jìn)一步詳細(xì)說(shuō)明。本實(shí)例選擇一典型的shp面圖層數(shù)據(jù),針對(duì)數(shù)據(jù)的讀取、偽裝處理、數(shù)據(jù)還原的整個(gè)過(guò)程,進(jìn)一步詳細(xì)說(shuō)明本發(fā)明。本實(shí)施例選擇全國(guó)1 :400萬(wàn)的省界面狀圖層數(shù)據(jù)(如圖1) 作為實(shí)驗(yàn)數(shù)據(jù)。密鑰Key值為“10010101”。(1)數(shù)據(jù)偽裝處理。步驟一打開(kāi)省界圖層數(shù)據(jù)文件,數(shù)據(jù)格式為面狀數(shù)據(jù),橫坐標(biāo)小數(shù)點(diǎn)后的數(shù)據(jù)位數(shù)為14,密鑰密鑰Key值為“10010101”。步驟二 依次讀取每一要素的空間數(shù)據(jù),計(jì)算當(dāng)前處理要素中坐標(biāo)點(diǎn)的個(gè)數(shù)m并判斷進(jìn)行分組處理。所讀取第一個(gè)要素的坐標(biāo)點(diǎn)個(gè)數(shù)為923。因?yàn)閙>2n,按照£=[m/8j,分為56組。 將每組數(shù)據(jù)寫入數(shù)組d后并添加入數(shù)組隊(duì)列D中。步驟三對(duì)數(shù)組隊(duì)列D中的每一數(shù)組Di,進(jìn)行數(shù)據(jù)的誤差干擾處理。本實(shí)施例中, 第一個(gè)數(shù)組D1中第一個(gè)數(shù)據(jù)為121. 49738309820822,其小數(shù)點(diǎn)前第一位的值d為1,符合 0<d< (N-I)條件,則將該分組中相應(yīng)密鑰信息位為1的第1、4、6、8等四個(gè)數(shù)據(jù),進(jìn)行小數(shù)點(diǎn)后的第1位與第2位數(shù)據(jù)交換。
步驟四循環(huán)步驟二至三,直至每一要素處理完畢后,保存?zhèn)窝b后的數(shù)據(jù)文件。(2)數(shù)據(jù)還原處理。步驟一打開(kāi)偽裝處理后的省界圖層數(shù)據(jù)文件,數(shù)據(jù)格式為面狀數(shù)據(jù)。讀取密鑰文件,并設(shè)置密鑰密鑰Key,其值為“ 10010101”。步驟二 依次讀取每一要素的空間數(shù)據(jù),計(jì)算當(dāng)前處理要素中坐標(biāo)點(diǎn)的個(gè)數(shù)m并判斷進(jìn)行分組處理。所讀取第一個(gè)要素的坐標(biāo)點(diǎn)個(gè)數(shù)為923。因?yàn)閙>2n,按照£ =[_m/8j,分為56組。 將每組數(shù)據(jù)寫入數(shù)組d后并添加入數(shù)組隊(duì)列D中。步驟三對(duì)數(shù)組隊(duì)列D中的每一數(shù)組Di,進(jìn)行數(shù)據(jù)的誤差干擾處理。本實(shí)施例中, 第一個(gè)數(shù)組D1中第一個(gè)數(shù)據(jù)小數(shù)點(diǎn)前第一位的值d為1,符合0<d< (N-I)條件,則將該分組中相應(yīng)密鑰信息位為1的第1、4、6、8等四個(gè)數(shù)據(jù),進(jìn)行小數(shù)點(diǎn)后的第1位與第2位數(shù)據(jù)交換。步驟四循環(huán)步驟二至三,直至每一要素處理完畢后,保存還原后的數(shù)據(jù)文件。本發(fā)明實(shí)施例中僅以shp格式面圖層數(shù)據(jù)的橫坐標(biāo)進(jìn)行數(shù)據(jù)偽裝與還原處理,該方法也可以適用于使用該數(shù)據(jù)的縱坐標(biāo)進(jìn)行數(shù)據(jù)偽裝與還原處理。本發(fā)明實(shí)施例中僅以面圖層數(shù)據(jù)進(jìn)行數(shù)據(jù)偽裝與還原處理,該方法也可以適用于點(diǎn)、線類型圖層數(shù)據(jù)。本發(fā)明實(shí)施例中僅以shp格式的GIS矢量數(shù)據(jù)進(jìn)行數(shù)據(jù)偽裝與還原處理,該方法也適用于GML、E00、MIF等其它格式GIS矢量數(shù)據(jù)的數(shù)據(jù)偽裝與還原處理。(3)測(cè)試分析。由上述實(shí)施例中原始數(shù)據(jù)與偽裝處理數(shù)據(jù)的效果圖(圖4、圖5)可知數(shù)據(jù)經(jīng)偽裝處理后,雖仍為可使用GIS軟件正確打開(kāi)的shp數(shù)據(jù),但每個(gè)坐標(biāo)點(diǎn)的位置發(fā)生了較大變化,對(duì)于數(shù)據(jù)精度質(zhì)量要求較高的GIS矢量數(shù)據(jù)來(lái)說(shuō),這一處理顯著降低了數(shù)據(jù)質(zhì)量和數(shù)據(jù)使用價(jià)值,限制了非法拷貝或攔截?cái)?shù)據(jù)的正常使用,達(dá)到一定的數(shù)據(jù)保護(hù)目的。只有合法用戶獲取到密鑰文件,才能正確、無(wú)損地還原數(shù)據(jù)。綜上分析,本發(fā)明所采用的方法可以成功地應(yīng)用于GIS矢量數(shù)據(jù)的偽裝與還原處理,一定程度上滿足GIS矢量數(shù)據(jù)的隱藏通信與安全傳輸需求。
權(quán)利要求
1.基于誤差隨機(jī)干擾的Gis矢量數(shù)據(jù)偽裝與還原方法,包括以下過(guò)程(1)偽裝過(guò)程步驟一打開(kāi)一個(gè)Gis矢量數(shù)據(jù)圖層文件,判斷圖層類型并計(jì)算橫坐標(biāo)數(shù)據(jù)中小數(shù)點(diǎn)后的位數(shù)N,設(shè)置8位二進(jìn)制隨機(jī)信息做為密鑰Key,并存入密鑰文件; 步驟二 數(shù)據(jù)讀取及分組如果為線面類型數(shù)據(jù),則每次讀取一個(gè)要素中的所有點(diǎn)的橫坐標(biāo),計(jì)算點(diǎn)的個(gè)數(shù)m,并按照£=|_m/8j ,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;如果為點(diǎn)類型數(shù)據(jù),則讀取該文件中的所有點(diǎn)要素,計(jì)算點(diǎn)的個(gè)數(shù)m,并將相關(guān)點(diǎn)要素的橫坐標(biāo)按照丄=Lh^8J,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;步驟三針對(duì)數(shù)組隊(duì)列D中的每個(gè)分組Di,進(jìn)行數(shù)據(jù)的誤差干擾處理,具體方法為 取該分組Di中第一個(gè)數(shù)據(jù)Dil的小數(shù)點(diǎn)前第一位的值d ;如果0<d< (N-I),則將該分組中相應(yīng)密鑰信息位為1的各數(shù)據(jù),進(jìn)行小數(shù)點(diǎn)后的第d位與第d+Ι位數(shù)據(jù)交換;步驟四循環(huán)步驟二至三,直至每一要素處理完畢后,保存?zhèn)窝b后的數(shù)據(jù)文件;(2)還原過(guò)程步驟一打開(kāi)一 GIS矢量數(shù)據(jù)圖層文件,判斷圖層類型并計(jì)算橫坐標(biāo)數(shù)據(jù)中小數(shù)點(diǎn)后的位數(shù)N,讀取密鑰文件并設(shè)置密鑰Key ; 步驟二 數(shù)據(jù)分組讀取如果為線面類型數(shù)據(jù),則每次讀取一個(gè)要素中的所有點(diǎn)坐標(biāo)數(shù)據(jù)的橫坐標(biāo),計(jì)算其個(gè)數(shù)m,并按照£ = [m/8j,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;如果為點(diǎn)類型數(shù)據(jù),則讀取該文件中的所有點(diǎn)要素,計(jì)算點(diǎn)的個(gè)數(shù)m,并將相關(guān)點(diǎn)要素的橫坐標(biāo)按照£=L /8J ,分為L(zhǎng)組,組織到數(shù)組隊(duì)列D中;步驟三針對(duì)每一坐標(biāo)分組Di,進(jìn)行數(shù)據(jù)的還原處理,具體方法為 取該分組Di中第一個(gè)數(shù)據(jù)Dil的小數(shù)點(diǎn)前第一位的值d ;如果0<d< (N-I),則將該分組中相應(yīng)密鑰信息位為1的各數(shù)據(jù),進(jìn)行小數(shù)點(diǎn)后的第d位與第d+Ι位數(shù)據(jù)交換;步驟四循環(huán)步驟二至三,直至每一要素處理完畢后,保存還原后的數(shù)據(jù)文件。
全文摘要
本發(fā)明公開(kāi)了一種基于誤差隨機(jī)干擾的GIS矢量數(shù)據(jù)偽裝與還原方法,屬于地理信息安全領(lǐng)域。本方法的數(shù)據(jù)偽裝處理步驟主要包括(1)打開(kāi)一個(gè)GIS矢量數(shù)據(jù)圖層文件,判斷圖層類型并計(jì)算橫坐標(biāo)數(shù)據(jù)中小數(shù)點(diǎn)后的位數(shù)N,設(shè)置8位二進(jìn)制隨機(jī)信息做為密鑰Key,并存入密鑰文件;(2)數(shù)據(jù)讀取及分組;(3)針對(duì)數(shù)組隊(duì)列D中的每個(gè)分組Di,進(jìn)行數(shù)據(jù)的誤差干擾處理;(4)循環(huán)步驟(2)(3),直至每一要素處理完畢后,保存?zhèn)窝b后的數(shù)據(jù)文件。本發(fā)明的方法能有效提高GIS矢量數(shù)據(jù)在數(shù)據(jù)傳輸、脫密處理中的安全性,可應(yīng)用于GIS矢量數(shù)據(jù)的隱藏通信與安全傳輸。
文檔編號(hào)H04L9/08GK102332079SQ20111027434
公開(kāi)日2012年1月25日 申請(qǐng)日期2011年9月16日 優(yōu)先權(quán)日2011年9月16日
發(fā)明者周衛(wèi), 李安波, 閭國(guó)年 申請(qǐng)人:南京師范大學(xué)