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